This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
libg++-2_8_2-980731 failed make check on egcs-19980824 on rs
- To: <egcs at cygnus dot com>
- Subject: libg++-2_8_2-980731 failed make check on egcs-19980824 on rs
- From: rodneybrown at pmsc dot com
- Date: Wed, 02 Sep 98 14:34:48 -0500
libg++-2_8_2-980731 failed to complete the make check using
egcs-19980824 on rs6000-ibm-aix4.2.0.0
The make check failed in libg++/etc/lf with
egcs-19980824.obj/gcc/include/curses.h:130: \
abstract declarator used as declaration
when this was fixed the link failed with
collect2: Library libtermcap not found
Does libg++ assume GNU termcap?
The failure in curses.h is caused by a 'typedef int bool;' which isn't
guarded by __cplusplus as the successive 'typedef char bool;' and which
is used in the intervening function prototypes. Kludging around this gave the
link failure with termcap.
Should the curses.h problem be fixed by fixincludes?
(Warnings from the make) -- NB CC-Mail has wrapped stuff
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -DHAVE_ALLOCA=1 -DSTDC_HEADERS=1 -DHAVE_STRING_H=1
-I../../../egcs-19980824/librx ../../../egcs-19980824/librx/rx.c
./../../egcs-19980824/librx/rx.c: In function `re_search_2_fetch_char':
./../../egcs-19980824/librx/rx.c:6410: warning: comparison of distinct pointer
types lacks a cast
./../../egcs-19980824/librx/rx.c:6419: warning: comparison of distinct pointer
types lacks a cast
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -fno-implicit-templates -nostdinc++ -I. -I../../libio
-I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src
./../../../egcs-19980824/libg++/src/ACG.cc
./../../../egcs-19980824/libg++/src/ACG.cc:113: warning: ANSI C++ forbids
declaration `randomStateTable' with no type
./../../../egcs-19980824/libg++/src/ACG.cc:175: warning: decimal integer
constant is so large that it is unsigned
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -fno-implicit-templates -nostdinc++ -I. -I../../libio
-I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src
./../../../egcs-19980824/libg++/src/Fix16.cc
./../../../egcs-19980824/libg++/src/Fix16.cc: In method `_G_int32_t
Fix32::assign(double)':
./../../../egcs-19980824/libg++/src/Fix16.cc:54: warning: integer overflow in
expression
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc
-B/rand/rdb/src/egcs-19980824.obj/gcc/ -c -g -O2 -fno-implicit-templates
-nostdinc++ -I. -I../../libio -I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src
./../../../egcs-19980824/libg++/src/hash.cc -o pic/hash.o
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -fno-implicit-templates -nostdinc++ -I. -I../../libio
-I../../../../egcs-19980824/libg++/src
-I../../../../egcs-19980824/libg++/src/../../libio
-I../../../../egcs-19980824/libg++/src/../../libstdc++
-I../../../../egcs-19980824/libg++/src/../src
./../../../egcs-19980824/libg++/src/hash.cc
./../../../egcs-19980824/libg++/src/hash.cc: In function `unsigned int
multiplicativehash(int)':
./../../../egcs-19980824/libg++/src/hash.cc:44: warning: decimal integer
constant is so large that it is unsigned
..
cd tests; make check ...
make[3]: Entering directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/tests'
..
cd lf; make check ...
make[5]: Entering directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc/lf'
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
-c -g -O2 -nostdinc++ -I. -I../../../libio
-I../../../../../egcs-19980824/libg++/etc/lf
-I../../../../../egcs-19980824/libg++/etc/lf/../../../libio
-I../../../../../egcs-19980824/libg++/etc/lf/../../../libstdc++
-I../../../../../egcs-19980824/libg++/etc/lf/../../src
./../../../../egcs-19980824/libg++/etc/lf/lf.cc
In file included from ../../../../../egcs-19980824/libg++/etc/lf/screen.h:6,
from ../../../../../egcs-19980824/libg++/etc/lf/lf.cc:4:
/rand/rdb/src/egcs-19980824.obj/gcc/include/curses.h:130: abstract declarator
used as declaration
make[5]: *** [lf.o] Error 1
..
make[5]: Target `check' not remade because of errors.
make[5]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc/lf'
make[4]: *** [subdir_do] Error 1
make[4]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[3]: *** [check] Error 2
make[3]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[2]: *** [subdir_do] Error 1
make[2]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make[1]: *** [check] Error 2
make[1]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make: *** [check-target-libg++] Error 2
.. After hacking gcc/include/curses.h
/rand/rdb/src/egcs-19980824.obj/gcc/xgcc -B/rand/rdb/src/egcs-19980824.obj/gcc/
lf.o entry.o screen.o option.o directory.o sort.o Dirent.o -o lf -L./../../
-L./../../../libstdc++ -lg++ -lstdc++ -ltermcap
collect2: Library libtermcap not found
make[5]: *** [lf] Error 1
make[5]: Target `check' not remade because of errors.
make[5]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc/lf'
make[4]: *** [subdir_do] Error 1
make[4]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[3]: *** [check] Error 2
make[3]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++/etc'
make[2]: *** [subdir_do] Error 1
make[2]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make[1]: *** [check] Error 2
make[1]: Leaving directory
`/rand/rdb/src/egcs-19980824.obj/rs6000-ibm-aix4.2.0.0/libg++'
make: *** [check-target-libg++] Error 2
Kludge to get further
--- curses.h.orig Wed Sep 2 14:10:19 1998
+++ curses.h Wed Sep 2 14:10:19 1998
@@ -127,7 +127,7 @@
#endif /* SYSV */
#endif /* __SGTTY_ */
-typedef int bool;
+typedef int _bool;
#include <term.h>
@@ -178,7 +178,7 @@
short _begy, _begx; /* (0,0) screen coordinates */
char _flags;
short _yoffset; /* actual begy is _begy+_yoffset */
- bool _clear, /* clearok() info */
+ _bool _clear, /* clearok() info */
_leave, /* leaveok() info */
_immed, /* window in immediate mode */
_sync; /* auto syncup of parent */
@@ -379,7 +379,7 @@
curs_set(int), delay_output(int), delwin(WINDOW *),
doupdate(void), draino(int), endwin(void),
baudrate(void),
- keypad(WINDOW *, bool),
+ keypad(WINDOW *, _bool),
mvcur(int, int, int, int);
extern int mvprintw(int, int, char *, ...), mvscanw(int, int, char *, ...),
@@ -425,7 +425,7 @@
.. further function declarations using bool also changed
Note that
#ifndef __cplusplus
typedef char bool ; /* bool type required by X/open */
#endif
occurs after the function declarations using bool