This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/47902] New: Bootstrap failure: libiberty/regex.c: error: two or more data types in declaration specifiers
- From: "skunk at iskunk dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 26 Feb 2011 08:54:48 +0000
- Subject: [Bug bootstrap/47902] New: Bootstrap failure: libiberty/regex.c: error: two or more data types in declaration specifiers
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47902
Summary: Bootstrap failure: libiberty/regex.c: error: two or
more data types in declaration specifiers
Product: gcc
Version: 4.5.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: skunk@iskunk.org
Host: powerpc-ibm-aix4.3.2.0
Target: powerpc-ibm-aix4.3.2.0
Build: powerpc-ibm-aix4.3.2.0
Bootstrapping on this AIX system bombs out with
/tmp/gcc-4.5.2-build/./prev-gcc/xgcc -B/tmp/gcc-4.5.2-build/./prev-gcc/
-B/opt/tg/powerpc-ibm-aix4.3.2.0/bin/ -B/opt/tg/powerpc-ibm-aix4.3.2.0/bin/
-B/opt/tg/powerpc-ibm-aix4.3.2.0/lib/ -isystem
/opt/tg/powerpc-ibm-aix4.3.2.0/include -isystem
/opt/tg/powerpc-ibm-aix4.3.2.0/sys-include -c -DHAVE_CONFIG_H -g -O2 -I.
-I/home/src/gcc-4.5.2/libiberty/../include -W -Wall -Wwrite-strings
-Wc++-compat -Wstrict-prototypes -pedantic
/home/src/gcc-4.5.2/libiberty/regex.c -o regex.o
In file included from
/tmp/gcc-4.5.2-build/./prev-gcc/include-fixed/sys/wait.h:49:0,
from
/tmp/gcc-4.5.2-build/./prev-gcc/include-fixed/stdlib.h:233,
from /home/src/gcc-4.5.2/libiberty/regex.c:128:
/tmp/gcc-4.5.2-build/./prev-gcc/include-fixed/sys/types.h:212:23: error: two or
more data types in declaration specifiers
make[3]: *** [regex.o] Error 1
make[3]: Leaving directory `/tmp/gcc-4.5.2-build/libiberty'
make[2]: *** [all-stage2-libiberty] Error 2
make[2]: Leaving directory `/tmp/gcc-4.5.2-build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/tmp/gcc-4.5.2-build'
make: *** [bootstrap-lean] Error 2
The cited portion of include-fixed/sys/types.h looks like this:
--------8<--------
typedef uint_t uid_t; /* user ID */
typedef uint_t gid_t; /* group ID */
typedef __ptr32 mid_t; /* module ID */
typedef int32long64_t pid_t; /* process ID */ <--- LINE 212
typedef int32long64_t tid_t; /* thread ID */
typedef char slab_t[12]; /* security label */
typedef long mtyp_t; /* ipc message type */
-------->8--------
If I change up the compiler invocation from -c to -E, that same portion looks
like this:
--------8<--------
typedef uint_t uid_t;
typedef uint_t gid_t;
typedef __ptr32 mid_t;
typedef int32long64_t int; <--- HMMM
typedef int32long64_t tid_t;
typedef char slab_t[12];
typedef long mtyp_t;
-------->8--------
Interestingly enough...
> grep pid_t /tmp/gcc-4.5.2-build/libiberty/config.h
#define pid_t int
If I stick in an "#undef pid_t" right before the offending line, regex.c
compiles successfully.