The following code gives compilation error: class NonCopyable { NonCopyable( const NonCopyable & ); NonCopyable & operator=( const NonCopyable & ); public: NonCopyable() { ; } };
void test( const NonCopyable & ) { ; } int main() { test( NonCopyable() ); } pcatd12:tmp> g++ -v test.cxx Reading specs from /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/lib/gcc/i686-pc-linux-gnu/3.4.4/specs Configured with: ../gcc-3.4.4/configure --prefix=/afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344 --enable-shared Thread model: posix gcc version 3.4.4 /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/libexec/gcc/i686-pc-linux-gnu/3.4.4/cc1plus -quiet -v -D_GNU_SOURCE test.cxx -quiet -dumpbase test.cxx -mtune=pentiumpro -auxbase test -version -o /tmp/kolos/cc9ywMuC.s ignoring nonexistent directory "/afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../include/c++/3.4.4 /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../include/c++/3.4.4/i686-pc-linux-gnu /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/lib/gcc/i686-pc-linux-gnu/3.4.4/../../../../include/c++/3.4.4/backward /usr/local/include /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/include /afs/cern.ch/sw/lcg/contrib/gcc/3.4.4/slc3_ia32_gcc344/lib/gcc/i686-pc-linux-gnu/3.4.4/include /usr/include End of search list. GNU C++ version 3.4.4 (i686-pc-linux-gnu) compiled by GNU C version 3.2.3 20030502 (Red Hat Linux 3.2.3-52). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128090 test.cxx: In function `int main()': test.cxx:3: error: `NonCopyable::NonCopyable(const NonCopyable&)' is private test.cxx:15: error: within this context -- Summary: GCC complains about private copy constructor, which must not be used at that point Product: gcc Version: 3.4.4 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: Serguei dot Kolos at cern dot ch GCC host triplet: Linux 2.4.21-37.EL.cernsmp http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25325