bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #16476] Inconsistent function macros - again


From: Jerker Bäck
Subject: [bug #16476] Inconsistent function macros - again
Date: Mon, 1 May 2006 12:50:35 +0000
User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1)

URL:
  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16476>

                 Summary: Inconsistent function macros - again
                 Project: make
            Submitted by: jerker_back
            Submitted on: Monday 05/01/06 at 12:50
                Severity: 3 - Normal
              Item Group: Bug
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
       Component Version: 3.81
        Operating System: Any
           Fixed Release: None

    _______________________________________________________

Details:

I'm slightly reluctant to mention this again, since you stated that a major
change is planned to the next release. Meanwhile, I encountered the following
inconsistencies when defining the function prototype macros (WINDOWS32 visavi
HAVE_ANSI_COMPILER):

fnmatch.h(26) :
#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined
WINDOWS32

should be:
#if defined __cplusplus || (defined __STDC__ && __STDC__) || defined
HAVE_ANSI_COMPILER

fnmatch.h(40) : the same
glob.h(26) : the same
hash.h(25) : the same

make.h(43) : #if defined (__cplusplus) || defined (__STDC__)

should be:
#if defined (__cplusplus) || defined (__STDC__) || defined
HAVE_ANSI_COMPILER

I assume that WINDOWS32 is for MS compiler support - not for WIN32 specific
code. I also see that changes have been made in the CVS source, at least in
make.h - so take this for what it is. 

If I may suggest:
Remove the WINDOWS32 conditional all together - it is not needed.
For WIN32 specific parts there are already 2 constants defined:
_WIN32 - internal constant defined for WIN32 binaries
WIN32 - defined in the Windows SDK for the WIN32 API
Both is defined and needed when compiling a WIN32 GNU make

Note:
__STDC__ is reserved for strict posix compliance (or strict ANSI C as they
state) in the MS compiler. It is somewhat safe (at least possible) to
manually define it when compiling for Interix, but not when using the MS C
runtime library.







    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=16476>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]