This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

3.0 20010305 (prerelease) gen-num-limits.cc compile failure on alpha-dec-osf4.0e


libstdc++-v3/src/gen-num-limits.cc fails to compile on alpha-dec-osf4.0e
because the vendor /usr/include/standards.h defaults their `__' `PARAMS'
equivalent define to prototypes off for gcc, unless __STDC__ is nonzero.
See below. Another one for fixincludes?

Reading specs from /user/rand/rdb/src/gcc-20010305.obj/gcc/specs
Configured with: ../gcc-20010305/configure
gcc version 3.0 20010305 (prerelease)
 /user/rand/rdb/src/gcc-20010305.obj/gcc/cpp0 -lang-c++ -D_GNU_SOURCE -D__GNUG__=3 -D__EXCEPTIONS -D__GXX_ABI_VERSION=100 -v -I. -I/user/rand/rdb/src/gcc-20010305.obj/alpha-dec-osf4.0e/libstdc++-v3/include -iprefix /user/rand/rdb/src/gcc-20010305.obj/gcc/../lib/gcc-lib/alpha-dec-osf4.0e/3.0/ -isystem /user/rand/rdb/src/gcc-20010305.obj/gcc/include -isystem /usr/local/alpha-dec-osf4.0e/bin/include -isystem /usr/local/alpha-dec-osf4.0e/lib/include -D__GNUC__=3 -D__GNUC_MINOR__=0 -D__GNUC_PATCHLEVEL__=0 -Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD -D_SYSTYPE_BSD -D__unix__ -D__osf__ -D_LONGLONG -D__SYSTYPE_BSD__ -D_SYSTYPE_BSD -D__unix -D__SYSTYPE_BSD -Asystem=unix -Asystem=xpg4 -D__STDC_HOSTED__=1 -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus -Acpu=alpha -Amachine=alpha -D__alpha -D__alpha__ -D__alpha_ev4__ -Acpu=ev4 -DHAVE_CONFIG_H -isystem /usr/local/alpha-dec-osf4.0e/include ../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc gen-num-limits.ii
ignoring nonexistent directory "/usr/local/alpha-dec-osf4.0e/bin/include"
ignoring nonexistent directory "/usr/local/alpha-dec-osf4.0e/lib/include"
GNU CPP version 3.0 20010305 (prerelease) (cpplib)
ignoring nonexistent directory "/user/rand/rdb/src/gcc-20010305.obj/include/g++-v3"
ignoring nonexistent directory "/user/rand/rdb/src/gcc-20010305.obj/include/g++-v3/alpha-dec-osf4.0e"
ignoring nonexistent directory "/user/rand/rdb/src/gcc-20010305.obj/lib/gcc-lib/alpha-dec-osf4.0e/3.0/include"
ignoring nonexistent directory "/user/rand/rdb/src/gcc-20010305.obj/alpha-dec-osf4.0e/include"
ignoring nonexistent directory "/usr/local/include/g++-v3"
ignoring nonexistent directory "/usr/local/include/g++-v3/alpha-dec-osf4.0e"
ignoring nonexistent directory "/usr/local/lib/gcc-lib/alpha-dec-osf4.0e/3.0/include"
ignoring duplicate directory "/usr/local/alpha-dec-osf4.0e/include"
#include "..." search starts here:
#include <...> search starts here:
 .
 /user/rand/rdb/src/gcc-20010305.obj/alpha-dec-osf4.0e/libstdc++-v3/include
 /user/rand/rdb/src/gcc-20010305.obj/gcc/include
 /usr/local/alpha-dec-osf4.0e/include
 /usr/local/include
 /usr/include
End of search list.
 /user/rand/rdb/src/gcc-20010305.obj/gcc/cc1plus -fpreprocessed gen-num-limits.ii -quiet -dumpbase gen-num-limits.cc -version -o gen-num-limits.s
GNU CPP version 3.0 20010305 (prerelease) (cpplib)
GNU C++ version 3.0 20010305 (prerelease) (alpha-dec-osf4.0e)
	compiled by GNU C version 3.0 20010305 (prerelease).
/usr/include/setjmp.h: In function `void signal_handler(int)':
/usr/include/setjmp.h:172: too many arguments to function `void siglongjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:131: at this point in
   file
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc: In function `void
   traps() [with T = unsigned char]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:187: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:187: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
/user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h:191: too many arguments
   to function `int printf()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:187: at this point in
   file
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc: In function `void
   traps() [with T = short unsigned int]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:188: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:188: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
/user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h:191: too many arguments
   to function `int printf()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:188: at this point in
   file
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc: In function `void
   traps() [with T = unsigned int]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:189: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:189: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
/user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h:191: too many arguments
   to function `int printf()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:189: at this point in
   file
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc: In function `void
   traps() [with T = long unsigned int]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:190: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:190: no matching
   function for call to `signal_adapter(void (*(&)())(), int, void (&)(int))'
/user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h:191: too many arguments
   to function `int printf()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:190: at this point in
   file
/usr/include/setjmp.h: In function `bool trapping(const Operation&) [with
   Operation = division_by_zero<unsigned char>]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:187:	instantiated from here
/usr/include/setjmp.h:171: too many arguments to function `int sigsetjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:137: at this point in
   file
/usr/include/setjmp.h: In function `bool trapping(const Operation&) [with
   Operation = division_by_zero<short unsigned int>]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:188:	instantiated from here
/usr/include/setjmp.h:171: too many arguments to function `int sigsetjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:137: at this point in
   file
/usr/include/setjmp.h: In function `bool trapping(const Operation&) [with
   Operation = division_by_zero<unsigned int>]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:189:	instantiated from here
/usr/include/setjmp.h:171: too many arguments to function `int sigsetjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:137: at this point in
   file
/usr/include/setjmp.h: In function `bool trapping(const Operation&) [with
   Operation = division_by_zero<long unsigned int>]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:190:	instantiated from here
/usr/include/setjmp.h:171: too many arguments to function `int sigsetjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:137: at this point in
   file
/user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h: In constructor
   `type_trait<T>::type_trait() [with T = bool]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:755:	instantiated from here
/user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h:191: too many arguments
   to function `int printf()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:713: at this point in
   file

...

/usr/include/setjmp.h:171: too many arguments to function `int sigsetjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:137: at this point in
   file
/usr/include/setjmp.h: In function `bool trapping(const Operation&) [with
   Operation = overflow<long double>]':
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:173:	instantiated from `void traps() [with T = long double]'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:746:	instantiated from `type_trait<T>::type_trait() [with T = long double]'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:780:	instantiated from here
/usr/include/setjmp.h:171: too many arguments to function `int sigsetjmp()'
../../../gcc-20010305/libstdc++-v3/src/gen-num-limits.cc:137: at this point in
   file
sh-2.03$
sh-2.03$ sed -ne '171p' /usr/include/setjmp.h
extern int	sigsetjmp __((sigjmp_buf, int));
sh-2.03$ sed -ne '191p' /user/rand/rdb/src/gcc-20010305.obj/gcc/include/stdio.h
extern int	printf __((const char *, ...));
sh-2.03$ fgrep sigsetjmpp*.ii
extern int sigsetjmp ();
    if (sigsetjmp(env, 1) == 0) op();
sh-2.03$ fgrep printf /dev/null *.ii
gen-num-limits.ii:extern int fprintf ();
gen-num-limits.ii:extern int printf ();
gen-num-limits.ii:extern int sprintf ();
gen-num-limits.ii:extern int vfprintf ();
gen-num-limits.ii:extern int vprintf ();
gen-num-limits.ii:extern int vsprintf ();
gen-num-limits.ii:    printf("%s%s = %s;\n", tab2, "static const bool traps", p);
...

sh-2.03$ grep -A30 '\<GNU\>' /dev/null /usr/include/standards.h
/usr/include/standards.h: * GNU and MIPS C compilers define __STDC__ differently.
/usr/include/standards.h- *	MIPS: -std0 = undefined, -std = 0, -std1 = 1
/usr/include/standards.h: *	GNU:  -traditional = undefined, otherwise = 1
/usr/include/standards.h- */
/usr/include/standards.h-#ifdef __GNUC__
/usr/include/standards.h-
/usr/include/standards.h-#if !__STDC__
/usr/include/standards.h-#ifndef _NO_PROTO
/usr/include/standards.h-#define _NO_PROTO
/usr/include/standards.h-#endif
/usr/include/standards.h-#ifndef _NONSTD_TYPES
/usr/include/standards.h-#define _NONSTD_TYPES
/usr/include/standards.h-#endif
/usr/include/standards.h-#endif


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]