This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
A way to create object of abstract class (egcs-1.0.[23]).
- To: Egcs Bugs <egcs-bugs at cygnus dot com>
- Subject: A way to create object of abstract class (egcs-1.0.[23]).
- From: Sergei Organov <osv at javad dot ru>
- Date: Thu, 03 Sep 1998 11:18:58 +0400
- Organization: Javad Positioning
Hello;
egcs-1.0.2 (and 1.0.3a) silently compiles the
following wrong code.
It's interesting to know if it is fixed in latest
version.
Also, could somebody provide patch against 1.0.3a
or give a hint where to look for error in the code?
osv@osv$ cat abstract1.cc
class A {
public:
virtual void foo() const = 0;
};
A a[1]; // Should generate error
osv@osv$ ~/local/bin/g++ -v -c -W -Wall abstract1.cc
Reading specs from
/home/osv/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.27/specs
gcc version egcs-2.90.27 980315 (egcs-1.0.2 release)
/home/osv/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.27/cpp
-lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus
-D__GNUC_MINOR__=90 -Di386 -D__ELF__ -Dunix -Dlinux -D__i386__ -D__ELF__
-D__unix__ -D__linux__ -D__i386 -D__unix -D__linux -Asystem(posix)
-D__EXCEPTIONS -W -Wall -Di386 -Di586 -Asystem(unix) -Acpu(i386)
-Amachine(i386) -D__i386__ -D__i586__ -Asystem(unix) -Acpu(i386)
-Amachine(i386) abstract1.cc /tmp/cca20833.ii
GNU CPP version egcs-2.90.27 980315 (egcs-1.0.2 release) (i386
Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/home/osv/local/include/g++
/usr/local/include
/home/osv/local/i586-pc-linux-gnulibc1/include
/home/osv/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.27/include
/usr/include
End of search list.
/home/osv/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.90.27/cc1plus
/tmp/cca20833.ii -quiet -dumpbase abstract1.cc -W -Wall -version -o
/tmp/cca20833.s
GNU C++ version egcs-2.90.27 980315 (egcs-1.0.2 release)
(i586-pc-linux-gnulibc1) compiled by GNU C version egcs-2.90.27 980315
(egcs-1.0.2 release).
/home/osv/local/i586-pc-linux-gnulibc1/bin/as -V -Qy -o abstract1.o
/tmp/cca20833.s
GNU assembler version 971211 (i586-pc-linux-gnulibc1), using BFD version
971211
osv@osv$
Regards,
Sergei.