This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
3.1 C++ problems on IRIX 6.5
- From: Patrick Hartling <patrick at 137 dot org>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 20 May 2002 14:28:52 -0500
- Subject: 3.1 C++ problems on IRIX 6.5
- Reply-to: patrick at 137 dot org
I just built GCC 3.1 on IRIX 6.5 using the configuration options given on
the build status page, but I cannot compile my C++ code using g++.
Basically, /usr/include/ctype.h is using preprocessor macros for things
like isspace() and isalpha(), and that causes the errors shown in the
attached file.
I have searched the mailing lists and the PRs, but I cannot find anyone
else having this problem. Is there something I've done wrong in
configuring/building GCC, or is there some option I can pass on the
command line that will make things work? The closest I have come is to
define _LINT on the command line, but I am not convinced yet that that is
the right solution. My code compiles without problems using GCC 3.0.1
and 3.0.4, and I was hoping I would have similar success with 3.1.
Thanks in advance,
Patrick
--
Patrick L. Hartling | Research Assistant, VRAC
patrick@137.org | 2624 Howe Hall -- (515)294-4916
http://www.137.org/patrick/ | http://www.vrac.iastate.edu/
In file included from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ios:48,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ostream:45,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/iostream:45,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/vprConfig.h:80,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Port/Port.cpp:42:
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:61:34: macro "isspace" passed 2 arguments, but takes just 1
In file included from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ios:48,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ostream:45,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/iostream:45,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/vprConfig.h:80,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Port/Port.cpp:42:
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:61: `
isspace' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:61: template
declaration of `bool std::isspace'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:61: `
template<class _CharT> bool std::isspace' redeclared as different kind of
symbol
/usr/include/ctype.h:73: previous declaration of `int isspace(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:65:34: macro "isprint" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:65: `
isprint' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:65: template
declaration of `bool std::isprint'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:65: `
template<class _CharT> bool std::isprint' redeclared as different kind of
symbol
/usr/include/ctype.h:71: previous declaration of `int isprint(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:69:34: macro "iscntrl" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:69: `
iscntrl' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:69: template
declaration of `bool std::iscntrl'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:69: `
template<class _CharT> bool std::iscntrl' redeclared as different kind of
symbol
/usr/include/ctype.h:67: previous declaration of `int iscntrl(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:73:34: macro "isupper" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:73: `
isupper' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:73: template
declaration of `bool std::isupper'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:73: `
template<class _CharT> bool std::isupper' redeclared as different kind of
symbol
/usr/include/ctype.h:75: previous declaration of `int isupper(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:77:34: macro "islower" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:77: `
islower' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:77: template
declaration of `bool std::islower'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:77: `
template<class _CharT> bool std::islower' redeclared as different kind of
symbol
/usr/include/ctype.h:70: previous declaration of `int islower(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:81:34: macro "isalpha" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:81: `
isalpha' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:81: template
declaration of `bool std::isalpha'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:81: `
template<class _CharT> bool std::isalpha' redeclared as different kind of
symbol
/usr/include/ctype.h:66: previous declaration of `int isalpha(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:85:34: macro "isdigit" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:85: `
isdigit' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:85: template
declaration of `bool std::isdigit'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:85: `
template<class _CharT> bool std::isdigit' redeclared as different kind of
symbol
/usr/include/ctype.h:68: previous declaration of `int isdigit(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:89:34: macro "ispunct" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:89: `
ispunct' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:89: template
declaration of `bool std::ispunct'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:89: `
template<class _CharT> bool std::ispunct' redeclared as different kind of
symbol
/usr/include/ctype.h:72: previous declaration of `int ispunct(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:93:35: macro "isxdigit" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:93: `
isxdigit' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:93: template
declaration of `bool std::isxdigit'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:93: `
template<class _CharT> bool std::isxdigit' redeclared as different kind of
symbol
/usr/include/ctype.h:76: previous declaration of `int isxdigit(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:97:34: macro "isalnum" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:97: `
isalnum' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:97: template
declaration of `bool std::isalnum'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:97: `
template<class _CharT> bool std::isalnum' redeclared as different kind of
symbol
/usr/include/ctype.h:65: previous declaration of `int isalnum(int)'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:101:34: macro "isgraph" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:101: `
isgraph' declared as an `inline' variable
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:101: template
declaration of `bool std::isgraph'
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/localefwd.h:101: `
template<class _CharT> bool std::isgraph' redeclared as different kind of
symbol
/usr/include/ctype.h:69: previous declaration of `int isgraph(int)'
In file included from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/basic_ios.h:41,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ios:51,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ostream:45,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/iostream:45,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/vprConfig.h:80,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Port/Port.cpp:42:
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1750:44: macro "isspace" passed 2 arguments, but takes just 1
In file included from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/basic_ios.h:41,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ios:51,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/ostream:45,
from /home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/iostream:45,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/vprConfig.h:80,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Port/Port.cpp:42:
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1751: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1755:44: macro "isprint" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1756: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1760:44: macro "iscntrl" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1761: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1765:44: macro "isupper" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1766: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1769:56: macro "islower" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1770: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1774:44: macro "isalpha" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1775: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1779:44: macro "isdigit" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1780: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1784:44: macro "ispunct" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1785: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1789:45: macro "isxdigit" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1790: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1794:44: macro "isalnum" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1795: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1799:44: macro "isgraph" passed 2 arguments, but takes just 1
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1800: syntax
error before `{' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1804: parse
error before `&' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h: In
function `_CharT toupper(...)':
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1805: parse
error before `>' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h: At
global scope:
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1809: parse
error before `&' token
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h: In
function `_CharT tolower(...)':
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/locale_facets.h:1810: parse
error before `>' token
In file included from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/Util/Debug.h:55,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/md/POSIX/IO/SelectorImplBSD.h:53,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Selector.h:54,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/BlockIO.h:55,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Port/Port.h:49,
from /home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/IO/Port/Port.cpp:43:
/home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/Util/GUID.h: At
global scope:
/home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/Util/GUID.h:259: `
hash' is not a template
/home9/users/patrick/src/Juggler/main/juggler/modules/vapor/vpr/Util/GUID.h:261: can't
make `operator()' into a method -- not in a class
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/stl_threads.h: In instantiation of `__gthread_mutex_t std::_Swap_lock_struct<0>::_S_swap_lock':
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/stl_threads.h:122: instantiated from here
/home/users/patrick/irix-gcc3.1/lib/gcc-lib/mips-sgi-irix6.5/3.1/include/g++/bits/stl_threads.h:115: warning: aggregate
has a partly bracketed initializer