This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc 2.95.2 fixincludes on IRIX, curses.h
- To: gcc-bugs at gcc dot gnu dot org
- Subject: gcc 2.95.2 fixincludes on IRIX, curses.h
- From: Ralf Fassel <ralfixx at gmx dot de>
- Date: Mon, 13 Nov 2000 11:18:41 +0100 (MET)
Hi all,
gcc 2.95.2 on IRIX 6.5.9f.
`fixincludes' fixes /usr/include/curses.h to avoid typedefs of `bool',
cf. gcc/fixinc/fixinc.irix
However, curses.h on this OS seems already ok, since the typedefs are
properly wrapped for C++:
#if !defined(__cplusplus) || !defined(_BOOL)
typedef char bool;
#endif /* _BOOL */
(The `ifdefs' are not there on IRIX 5.2 headers.)
Now the `fixincludes' fix in the gcc-specific include directory is
#ifdef __cplusplus
# define bool __curses_bool_t
#endif
which does not work because `__curses_bool_t' seems not defined at
compile time. I ran into this when trying to compile mysql-3.23.29:
gmake[2]: Entering directory
`/disk2/ralf/Software/mysql-3.23.27-beta/client'
gcc -DUNDEF_THREADS_HACK -I./../include -I../include -I./.. -I..
-I.. -O3 -DDBUG_OFF -D_BOOL -c mysql.cc
In file included from
/software/gcc/2.95.2/IRIX-6/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/include/curses.h:5,
from mysql.cc:47:
/usr/include/curses.h:108: syntax error before `,'
/usr/include/curses.h:139: syntax error before `;'
/usr/include/curses.h:281: `__curses_bool_t' was not declared in this
scope
/usr/include/curses.h:281: warning: `_meta' initialized and declared
`extern'
/usr/include/curses.h:297: type specifier omitted for parameter
/usr/include/curses.h:336: syntax error before `('
/usr/include/curses.h:384: type specifier omitted for parameter
/usr/include/curses.h:386: type specifier omitted for parameter
In file included from
/software/gcc/2.95.2/IRIX-6/lib/gcc-lib/mips-sgi-irix6.5/2.95.2/include/curses.h:5,
from mysql.cc:47:
/usr/include/curses.h:852: type specifier omitted for parameter
/usr/include/curses.h:855: type specifier omitted for parameter
/usr/include/curses.h:856: type specifier omitted for parameter
/usr/include/curses.h:857: type specifier omitted for parameter
/usr/include/curses.h:858: type specifier omitted for parameter
/usr/include/curses.h:859: type specifier omitted for parameter
/usr/include/curses.h:860: type specifier omitted for parameter
/usr/include/curses.h:1011: type specifier omitted for parameter
Avoiding the `fixed' gcc-specific include file (by renaming it so gcc
won't find it) seems to work.
I'd suggest to not fix curses.h on IRIX 6.5.9 (and later?) at least.
Regards
R'
--
Sent through GMX FreeMail - http://www.gmx.net