X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.brendan%2Fcopy6.C;fp=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.brendan%2Fcopy6.C;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=8869cb8437454f4b19d479f9b568861fc7b79a7b;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy6.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy6.C deleted file mode 100644 index 8869cb84..00000000 --- a/gcc/testsuite/g++.old-deja/g++.brendan/copy6.C +++ /dev/null @@ -1,55 +0,0 @@ -// GROUPS passed copy-ctors -/* -g++ 2.3.3 will prefer using type conversions over the -implicitly generated copy constructor. This is wrong. -If you explicitly define a copy constructor, it will -use it. However, the implicit copy constructor MUST be -called whenever an explicit one would have been called -also. See below: g++ converts from and back into -unsigned, instead of using the implicit copy constructor: -here is the version: -Reading specs from /usr/lib/gcc-lib/i386-linux/2.3.3/specs -gcc version 2.3.3 - /usr/lib/gcc-lib/i386-linux/2.3.3/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -Dunix -Di386 -Dlinux -D__unix__ -D__i386__ -D__linux__ -D__unix -D__i386 -D__linux bug2.cc /usr/tmp/cca02008.i -GNU CPP version 2.3.3 (80386, BSD syntax) - /usr/lib/gcc-lib/i386-linux/2.3.3/cc1plus /usr/tmp/cca02008.i -quiet -dumpbase bug2.cc -version -o /usr/tmp/cca02008.s -GNU C++ version 2.3.3 (80386, BSD syntax) compiled by GNU C version 2.3.3. - as -o /usr/tmp/cca020081.o /usr/tmp/cca02008.s - ld /usr/lib/crt0.o -nojump -L/usr/lib/gcc-lib/i386-linux/2.3.3 /usr/tmp/cca020081.o -lg++ -lgcc -lc -lgcc - -Ok, and here is the output: -test k: constructing from scratch -test l=k: type conversion into unsigned -constructing from unsigned - -*/ - -extern "C" int printf (const char *, ...); -extern "C" void exit (int); - -int count = 0; - -void die () { printf ("FAIL\n"); exit (1); } - -struct test { - test() { if (count != 0) die (); } - - test(unsigned) { - die (); - } - operator unsigned() { - die (); - return 0; - } -}; - -int -main() { - test k; - test l=k; - - printf ("PASS\n"); - - return 0; -} -