This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
alpha-dec-osf5.0 fixinclude problem
- To: <gcc-bugs at gcc dot gnu dot org>
- Subject: alpha-dec-osf5.0 fixinclude problem
- From: Greg Freemyer <freemyer at NorcrossGroup dot com>
- Date: Tue, 27 Feb 2001 13:10:51 -0500
- Organization: The Norcross Group
I am trying to 'make bootstrap' the 3.0 branch on a Tru64 5.0a machine.
It works fine as far as building GCC, but it fails when it is trying to compile
one of the libstdc++v3 files.
I am pretty sure the problem is with one of the header files processed by
fixinclude.
I get the following output from a make
-----------------
/usr/local/src/gcc.devel/gcc/objdir-gcc/gcc/g++
-B/usr/local/src/gcc.devel/gcc/objdir-gcc/gcc/ -nostdinc++
-L/usr/local/src/gcc.devel/gcc/objdir-gcc/alpha-dec-osf5.0/libstdc++-v3/src
-L/usr/local/src/gcc.devel/gcc/objdir-gcc/alpha-dec-osf5.0/libstdc++-v3/src/.li
bs -B/usr/local/alpha-dec-osf5.0/bin/ -B/usr/local/alpha-dec-osf5.0/lib/
-isystem /usr/local/alpha-dec-osf5.0/include -I../../../../libstdc++-v3/../gcc
-I../../../../libstdc++-v3/../include -I../../../../libstdc++-v3/include
-I../../../../libstdc++-v3/include/std -I../../../../libstdc++-v3/include/c_std
-I../include -I../../../../libstdc++-v3/libsupc++ -g -O2 -mieee
-fno-implicit-templates -Wall -Wno-format -W -Wwrite-strings -Winline
-fdiagnostics-show-location=once -g -c
./../../../libstdc++-v3/libsupc++/pure.cc -DPIC -o pure.o
/usr/local/src/gcc.devel/gcc/objdir-gcc/gcc/include/stdio.h: In function `void
__cxa_pure_virtual()':
/usr/local/src/gcc.devel/gcc/objdir-gcc/gcc/include/stdio.h:245: too many
arguments to function `int fputs()'
../../../../libstdc++-v3/libsupc++/pure.cc:53: at this point in file
make[3]: *** [pure.lo] Error 1
------------------
line 245 of stdio.h is: extern int fputs __((const char *, FILE *));
line 53 of pure.cc is: writestr ("pure virtual method called\n");
and the pertinent lines of output from compiling the above with -E is:
# 242 "/usr/local/src/gcc.devel/gcc/objdir-gcc/gcc/include/stdio.h" 3
extern int fgetc ();
extern char *fgets ();
extern int fputc ();
extern int fputs ();
extern char *gets ();
extern int puts ();
extern int ungetc ();
extern int fseek ();
.
.
.
# 69 "/usr/local/src/gcc.devel/gcc/objdir-gcc/gcc/include/sys/types.h" 3
extern "C" {
extern "C" {
extern void __terminate(void) __attribute__ ((__noreturn__));
void
__cxa_pure_virtual (void)
{
fputs("pure virtual method called\n", (&_iob[2]));
__terminate ();
}
}
/ * EOF (End Of File) */
/* - Added by me, but I want to be clear that there is nothing beyond the
above, including no more ' }'s */
-----------------
I admit to being a little rusty on my C++, so I'm not clear as to what the
problem is, but note that the 'extern "C" {' occurs twice, but is only
terminated once.
Could that somehow be the culprit, and if so, is the problem likely in the
fixed types.h file?
Let me know if there are any files you would like to see in total.
Thanks
Greg Freemyer