[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AIX 4.3.3 IBM C compiler patch for m4-1.4.8
From: |
Albert Chin |
Subject: |
Re: AIX 4.3.3 IBM C compiler patch for m4-1.4.8 |
Date: |
Sun, 4 Feb 2007 08:58:57 -0600 |
User-agent: |
Mutt/1.5.6i |
On Sun, Feb 04, 2007 at 07:52:08AM -0700, Eric Blake wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> According to Albert Chin on 2/4/2007 7:47 AM:
> > The IBM C compiler on AIX 4.3.3 (v6) doesn't like signed bit types:
> > gmake[1]: Entering directory `/opt/build/m4-1.4.8/src'
> > xlc -I../lib -I../lib -O2 -qro -qroconst -qmaxmem=-1 -qarch=com -c
> > m4.c
> > "m4.h", line 383.3: 1506-009 (S) Bit-field gnu_extension must be of type
> > signed int, unsigned int or int.
> > "m4.h", line 384.3: 1506-009 (S) Bit-field groks_macro_args must be of
> > type signed int, unsigned int or int.
> > "m4.h", line 385.3: 1506-009 (S) Bit-field blind_if_no_args must be of
> > type signed int, unsigned int or int.
> > gmake[1]: *** [m4.o] Error 1
> >
> > Patch attached.
>
> > - bool traced : 1;
> > + unsigned int traced : 1;
>
> Thanks for the report. However, I would tend to think that this is a bug
> in the gnulib stdbool module. Is ./configure detecting that the AIX bool
> is sufficient, or is it using the gnulib replacement? If it is getting
> the AIX bool, then the gnulib check should be enhanced to check that bool
> can be used for bitfields. If it is getting the gnulib bool, then we
> should figure out how to make the gnulib bool pick a type that will work
> for this usage pattern.
$ grep -i bool lib/config.h
/* Define to 1 if stdbool.h conforms to C99. */
/* #undef HAVE_STDBOOL_H */
/* Define to 1 if the system has the type `_Bool'. */
/* #undef HAVE__BOOL */
lib/stdbool.h is being used and _Bool is defined to 'signed char':
# define _Bool signed char
I thought about it being the culprit but it really isn't. It's simply
in using the bool type as a bit type. So, I don't see the need to
penalize stdbool.
--
albert chin (address@hidden)