Solaris2.7 bootstrap failure, cc cannot compile cpplex.c
Kaveh R. Ghazi
ghazi@caip.rutgers.edu
Mon Jul 10 07:41:00 GMT 2000
Hi Zack,
When I compile cpplex.c on solaris2.7 using cc (WorkShop
Compilers 4.2), I get:
> cc -c -DIN_GCC -DSVR4 -g -DHAVE_CONFIG_H
> -I. -I../../egcs-CVS20000710/gcc
> -I../../egcs-CVS20000710/gcc/config
> -I../../egcs-CVS20000710/gcc/../include
> ../../egcs-CVS20000710/gcc/cpplex.c
> "../../egcs-CVS20000710/gcc/cpplex.c", line 172: non-constant initializer: op "+"
> "../../egcs-CVS20000710/gcc/cpplex.c", line 172: non-constant initializer: op "+"
> "../../egcs-CVS20000710/gcc/cpplex.c", line 172: non-constant initializer: op "+"
> "../../egcs-CVS20000710/gcc/cpplex.c", line 172: non-constant initializer: op "+"
> "../../egcs-CVS20000710/gcc/cpplex.c", line 172: non-constant initializer: op "+"
> "../../egcs-CVS20000710/gcc/cpplex.c", line 172: non-constant initializer: op "+"
> [...]
If I use cc (WorkShop Compilers 5.0) I get:
> "../../egcs-CVS20000710/gcc/cpplex.c", line 202: internal compiler
> error: Wasted space
> cc: acomp failed for ../../egcs-CVS20000710/gcc/cpplex.c
I believe the cause is the macro definition of T() in cpplex.c which
is "U STRINGX(e) + 4". This appears to be done to remove the CPP_
prefix from the entries in TTYPE_TABLE. I think if you instead create
the entries in TTYPE_TABLE without CPP_ and prepend CPP_ using CONCAT2
when desired it will probably fix the problem.
Or we could just take out the "+ 4" since its just for debugging
output printing (right?)
Does either approach sound okay with you?
--Kaveh
--
Kaveh R. Ghazi Engagement Manager / Project Services
ghazi@caip.rutgers.edu Qwest Internet Solutions
More information about the Gcc-bugs
mailing list