This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
C++ (2.95.X) STRANGE BEHAVIOUR
- To: gcc at gcc dot gnu dot org
- Subject: C++ (2.95.X) STRANGE BEHAVIOUR
- From: sysadm <sysadm_99 at yahoo dot com>
- Date: Sat, 13 Nov 1999 11:47:50 -0800 (PST)
I 've installed in several machines (different OS's)
gcc-2.95.1. Trying to compile some pretty standard
things in C++ like KDE-1.1.2 or Netscape's Mozilla M11
I get warnings that gcc-2.7.x, 2.8.x may not output.
Up to that point all are fine.
The problem is that after these warnings the "make"
command will STOP! as it was a real error. Have I
missed something? Do I need some extra -fX options so
that C++ (2.95.1) will continue to compile after
these warnings ??? (see below)
The above it doesnt happens with gcc 2.8.1 or 2.7.2.X
Can it be that we have a new release of GCC that will
not compile major chunks of free software???
EG:
C++ (c++ -2.95.1) ERRORS
=======================================================
KDE-1.1.2 - LIBS
/bin/sh ../libtool --silent --mode=compile g++
-DHAVE_CONFIG_H -I. -I. -I..
-I/usr/kde//include -O2 -c fakes.cpp
fakes.cpp: In function `void usleep(unsigned int)':
fakes.cpp:71: implicit declaration of function `int
select(...)'
make[2]: *** [fakes.lo] Error 1
=======================================================
This is just a warning with GNU gcc-2.8.1.
The program however builds fine and works fine!
Here compilation STOPS.
=======================================================
MOZILLA (M11 - NEWEST TEST RELEASE)
Module "xpcom" (but almost all the others also)
In file:
nsFileSpecUnix.cpp: In function `static void
nsFileSpecHelpers::Canonify(nsSimpleCharString &,
int)':
nsFileSpecUnix.cpp:92: warning: choosing
`nsSimpleCharString::operator char *()' over
`nsSimpleCharString::operator const char *() const'
nsFileSpecUnix.cpp:92: warning: for conversion from
`nsSimpleCharString' to `const char *'
nsFileSpecUnix.cpp:92: warning: because conversion
sequence for the argument is better
nsFileSpecUnix.cpp:105: warning: choosing
`nsSimpleCharString::operator char *()' over
`nsSimpleCharString::operator const char *() const'
nsFileSpecUnix.cpp:105: warning: for conversion from
`nsSimpleCharString' to `const char *'
nsFileSpecUnix.cpp:105: warning: because conversion
sequence for the argument is better
nsFileSpecUnix.cpp: In method `nsresult
nsFileSpec::ResolveSymlink(PRBool &)':
nsFileSpecUnix.cpp:208: warning: choosing
`nsSimpleCharString::operator char *()' over
`nsSimpleCharString::operator const char *() const'
nsFileSpecUnix.cpp:208: warning: for conversion from
`nsSimpleCharString' to `const char *'
nsFileSpecUnix.cpp:208: warning: because conversion
sequence for the argument is better
make[2]: *** [nsFileSpec.o] Error 1
=======================================================
I looked this code and I don't know why it finds it
so bad that has to STOP and produce an error.
Netscape lists as development tool "egcs" 1.0.3 and
on.
Can gcc-2.95.1 (c++) be so different from egcs?
So that egce will compile M11 but 2.95.X will NOT?
I am about to revert to gcc-2.8.1 .
Any suggestions from the C++ gurus will be greatly
appreciated.
Regards,
Alex
=====
__________________________________________________
Do You Yahoo!?
Bid and sell for free at http://auctions.yahoo.com