Given file `ptest.cpp': class A {int i;}; class B : public A {B() {A::i=0;}};
I get (with quotes replaced with ASCII and some bijective directory simplification) $ g++ -v ptest.cpp Reading specs from /opt/local/gcc402/bin/../lib/gcc/i686-pc-linux-gnu/4.0.2/specs Target: i686-pc-linux-gnu Configured with: /opt/build/gcc-4.0.2/configure --with-included-gettext --enable-libgcj --enable-__cxa_atexit --with-gmp=/usr/packages/libgmp41 --with-mpfr=/usr/packages/libmpfr22 --with-gmp-ldflags=-Wl,-rpath,/usr/packages/libgmp41/lib --with-mpfr-ldflags=-Wl,-rpath,/usr/packages/libmpfr22/lib --enable-languages=ada,c,c++,f95,java --datadir=/usr/packages/gcc402/share --with-gnu-as --with-as=/usr/packages/gcc402/i686-pc-linux-gnu/bin/as --with-gnu-ld --with-ld=/usr/packages/gcc402/i686-pc-linux-gnu/bin/ld --with-local-prefix=/usr/packages/gcc402 --with-gxx-include-dir=/usr/packages/gcc402/include/c++ --prefix=/usr/packages/gcc402 Thread model: posix gcc version 4.0.2 (TWW) /opt/local/gcc402/bin/../libexec/gcc/i686-pc-linux-gnu/4.0.2/cc1plus -quiet -v -iprefix /opt/local/gcc402/bin/../lib/gcc/i686-pc-linux-gnu/4.0.2/ -D_GNU_SOURCE ptest.cpp -quiet -dumpbase ptest.cpp -mtune=pentiumpro -auxbase ptest -version -o /tmp/cccHYSJN.s ignoring nonexistent directory "/opt/local/gcc402/bin/../lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/include" ignoring duplicate directory "/usr/packages/gcc402/lib/gcc/i686-pc-linux-gnu/4.0.2/include" ignoring nonexistent directory "/usr/packages/gcc402/lib/gcc/i686-pc-linux-gnu/4.0.2/../../../../i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /opt/local/gcc402/bin/../lib/gcc/i686-pc-linux-gnu/4.0.2/include /usr/packages/gcc402/include/c++ /usr/packages/gcc402/include/c++/i686-pc-linux-gnu /usr/packages/gcc402/include/c++/backward /usr/packages/gcc402/include /usr/include End of search list. GNU C++ version 4.0.2 (TWW) (i686-pc-linux-gnu) compiled by GNU C version 4.0.2 (TWW). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128115 ptest.cpp: In constructor `B::B()': ptest.cpp:1: error: `int A::i' is private ptest.cpp:2: error: within this context ptest.cpp:1: error: `int A::i' is private ptest.cpp:2: error: within this context The error is quite accurate, but it's given twice! The error is only printed once if "A::" is omitted from the file. -- Summary: "`x' is private" error duplicated when scope specified Product: gcc Version: 4.0.2 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: herring at lanl dot gov GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29048