With gcc trunk, boostrap fails in stage3 with:
if /bin/sh ../libtool --mode=compile /Volumes/HD/ltmp/ssen/gcc-build/./gcc/xgcc
-B/Volumes/HD/ltmp/ssen/gcc-build/./gcc/
-B/usr/local/i386-apple-darwin8.4.2/bin/
-B/usr/local/i386-apple-darwin8.4.2/lib/ -isystem
/usr/local/i386-apple-darwin8.4.2/include -isystem
/usr/local/i386-apple-darwin8.4.2/sys-include -DPACKAGE_NAME=\"libgcc-math\"
-DPACKAGE_TARNAME=\"libgcc-math\" -DPACKAGE_VERSION=\"1.0\"
-DPACKAGE_STRING=\"libgcc-math\ 1.0\" -DPACKAGE_BUGREPORT=\"\"
-DPACKAGE=\"libgcc-math\" -DVERSION=\"1.0\" -DHAVE_HIDDEN_VISIBILITY=1  -I.
-I../../../../gcc/libgcc-math/i386   
-I../../../../gcc/libgcc-math/i386/../include -include
../../../../gcc/libgcc-math/i386/sse2.h -Wall -O2 -g -msse2 -msseregparm
-mfpmath=sse -march=pentium3 -fno-math-errno -fno-trapping-math
-ffinite-math-only -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES
-O2 -g -O2   -MT libsse2_la-s_isinf.lo -MD -MP -MF
".deps/libsse2_la-s_isinf.Tpo" -c -o libsse2_la-s_isinf.lo `test -f
'../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c' || echo
'../../../../gcc/libgcc-math/i386/'`../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c;
\
then mv -f ".deps/libsse2_la-s_isinf.Tpo" ".deps/libsse2_la-s_isinf.Plo"; else
rm -f ".deps/libsse2_la-s_isinf.Tpo"; exit 1; fi
/Volumes/HD/ltmp/ssen/gcc-build/./gcc/xgcc
-B/Volumes/HD/ltmp/ssen/gcc-build/./gcc/
-B/usr/local/i386-apple-darwin8.4.2/bin/
-B/usr/local/i386-apple-darwin8.4.2/lib/ -isystem
/usr/local/i386-apple-darwin8.4.2/include -isystem
/usr/local/i386-apple-darwin8.4.2/sys-include -DPACKAGE_NAME=\"libgcc-math\"
-DPACKAGE_TARNAME=\"libgcc-math\" -DPACKAGE_VERSION=\"1.0\"
"-DPACKAGE_STRING=\"libgcc-math 1.0\"" -DPACKAGE_BUGREPORT=\"\"
-DPACKAGE=\"libgcc-math\" -DVERSION=\"1.0\" -DHAVE_HIDDEN_VISIBILITY=1 -I.
-I../../../../gcc/libgcc-math/i386
-I../../../../gcc/libgcc-math/i386/../include -include
../../../../gcc/libgcc-math/i386/sse2.h -Wall -O2 -g -msse2 -msseregparm
-mfpmath=sse -march=pentium3 -fno-math-errno -fno-trapping-math
-ffinite-math-only -fno-rounding-math -fno-signaling-nans -D__NO_MATH_INLINES
-O2 -g -O2 -MT libsse2_la-s_isinf.lo -MD -MP -MF .deps/libsse2_la-s_isinf.Tpo
-c ../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c  -fno-common -DPIC -o
.libs/libsse2_la-s_isinf.o
../../../../gcc/libgcc-math/i386/../dbl-64/s_isinf.c:21: error: conflicting
types for '__isinf'
/usr/include/architecture/i386/math.h:171: error: previous declaration of
'__isinf' was here
make[3]: *** [libsse2_la-s_isinf.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-target-libgcc-math] Error 2
make: *** [all] Error 2


The system <math.h> eventually includes <architecture/i386/math.h>, which has:
#define isinf(x)        \
        (       sizeof (x) == sizeof(float )    ?       __isinff(x)     \
        :       sizeof (x) == sizeof(double)    ?       __isinfd(x)     \
                                                                               
:       __isinf (x))
...

extern int __isinff     (float      );
extern int __isinfd     (double     );
extern int __isinf      (long double);

libgcc-math's s_isinf.c, on the other hand, has:
int
__isinf (double x)
{
...


-- 
           Summary: libgcc-math declaration of __isinf conflicts with system
                    header, fails bootstrap
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: ssen at opendarwin dot org
 GCC build triplet: i386-apple-darwin8.4.1
  GCC host triplet: i386-apple-darwin8.4.1
GCC target triplet: i386-apple-darwin8.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26055

Reply via email to