This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
3.0 20010305 (prerelease) gen-num-limits.cc compile failure on alpha-dec-osf4.0e
- To: gcc-bugs at gcc dot gnu dot org
- Subject: 3.0 20010305 (prerelease) gen-num-limits.cc compile failure on alpha-dec-osf4.0e
- From: RDBrown at mira dot net
- Date: Thu, 8 Mar 2001 12:02:12 +1100 (EST)
- Reply-To: RDBrown at mira dot net,RodneyBrown at mynd dot com
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