2.95.2 namespace bug persists
Raymond Nijssen
rxtn@gte.net
Mon Jan 3 23:00:00 GMT 2000
Dear gcc maintainers,
The following bug that crept in sometime after 2.8.1 has existed in all
2.95 versions so far:
41[linux1:]~/src/test> cat namescope.cxx
class A {
public:
class B;
class C;
};
class A::B {
};
class A::C {
class D;
};
class A::C::D {
public:
B* foo(); // gcc-2.95.* fails to see that A::B is
declared in this context
};
42[linux1:]~/src/test> /usr/local/gcc-2.95.2/bin/g++ -v namescope.cxx
Reading specs from
/usr/local/gcc-2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/usr/local/gcc-2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/cpp
-lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus
-D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__ -D__unix__ -D__i386__
-D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS
-Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -Di686
-Dpentiumpro -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__
namescope.cxx /tmp/cc84JpBr.ii
GNU CPP version 2.95.2 19991024 (release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/gcc-2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../include/g++-3
/usr/local/include
/usr/local/gcc-2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/../../../../i686-pc-linux-gnu/include
/usr/local/gcc-2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/include
/usr/include
End of search list.
The following default directories have been omitted from the search
path:
End of omitted list.
/usr/local/gcc-2.95.2/lib/gcc-lib/i686-pc-linux-gnu/2.95.2/cc1plus
/tmp/cc84JpBr.ii -quiet -dumpbase namescope.cc -version -o
/tmp/ccwNSPZI.s
GNU C++ version 2.95.2 19991024 (release) (i686-pc-linux-gnu) compiled
by GNU C version 2.95.2 19991024 (release).
namescope.cxx:16: syntax error before `*'
43[linux1:]~/src/test>
-Raymond
More information about the Gcc-bugs
mailing list