autoconf-patches
[Top][All Lists]
Advanced

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

Re: AC_C_BIGENDIAN answers "universal" on powerpc-aix


From: Peter O'Gorman
Subject: Re: AC_C_BIGENDIAN answers "universal" on powerpc-aix
Date: Fri, 15 Aug 2008 10:09:43 -0500
User-agent: Mutt/1.5.17 (2007-11-01)

On Fri, Aug 15, 2008 at 06:14:12AM -0600, Eric Blake wrote:
> > 
> > No, it is correct as is. The compiler, for one invocation will go over
> > the sources multiple times, once for each -arch setting.
> 
> Yes, I understand that part.  But my point was that autoheader templates
> that look like:
> 
> #undef WORDS_BIGENDIAN
> 
> are transformed to:
> 
> #define WORDS_BIGENDIAN 1
> 
> by config.status when creating config.h, and that we just added
> documentation in the manual stating that the use of:
> 
> #define anything
> 
> in the autoheader template gives undefined behavior when processed through
> config.status.  Seeing as how the non-apple line follows the template
> standard of using #undef for the AC_SUBST key, I'm arguing that the
> apple-specific line should do so, likewise.


Having a #define in an AH_VERBATIM/AH_TOP/AH_BOTTOM block gives
undefined behavior? I'm not sure that there are many
AH_VERBATIM/AH_TOP/AH_BOTTOM blocks without a #define, certainly very
few that I have written :(

Anyway, allowing config.status to substitute for the universal build
case will give correct results only when building on a ppc-darwin
machine, and will give:

# if defined __BIG_ENDIAN__
/* #undef WORDS_BIGENDIAN */  
# endif

when building on an x86-darwin machine. That is, of course, wrong.

Peter
-- 
Peter O'Gorman
address@hidden




reply via email to

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