X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.bugs%2F900514_03.C;fp=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.bugs%2F900514_03.C;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=7c4089a1bbf8953dc5a729897453c43740b680e0;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C b/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C deleted file mode 100644 index 7c4089a1..00000000 --- a/gcc/testsuite/g++.old-deja/g++.bugs/900514_03.C +++ /dev/null @@ -1,112 +0,0 @@ -// g++ 1.37.1 bug 900514_03 - -// g++ fails to flag ERRORs on the following erroneous code. - -// In Section 12.3.2 it says "Defining conversion by both a constructor and -// a conversion function can lead to ambiguities." However in the case below, -// the explicit cast syntax disambiguates the constructor as one which -// invokes the type conversion operator rather than the conversion. - -// cfront 2.0 passes this test. - -// keywords: user-defined type conversion operator, constructor - -struct t_0_st_0; - -struct t_0_st_1 { // ERROR - - int member; - - t_0_st_1 (t_0_st_0&);// ERROR - - t_0_st_1 (); -}; - -struct t_0_st_0 { - int member; - - operator t_0_st_1 ();// ERROR - -}; - -t_0_st_0 t_0_st_0_obj0; - -void t_0_assignment () -{ - t_0_st_1 t_0_st_1_obj0; - t_0_st_1 t_0_st_1_obj1; - t_0_st_1 t_0_st_1_obj2; - - t_0_st_1_obj0 = t_0_st_0_obj0; // ERROR - caught - t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0); -} - -void t_0_local_init () -{ - t_0_st_1 t_0_st_1_obj0 = t_0_st_0_obj0; // ERROR - - t_0_st_1 t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0); -} - -struct t_1_st_0; - -struct t_1_st_1 { - int member; - - t_1_st_1 (t_1_st_0&); // ERROR - - t_1_st_1 (); - void operator= (t_1_st_1&); // ERROR - -}; - -struct t_1_st_0 { - int member; - - operator t_1_st_1 (); // ERROR - -}; - -t_1_st_0 t_1_st_0_obj0; - -void t_1_assignment () -{ - t_1_st_1 t_1_st_1_obj0; - t_1_st_1 t_1_st_1_obj1; - t_1_st_1 t_1_st_1_obj2; - - t_1_st_1_obj0 = t_1_st_0_obj0; // ERROR - - t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0); // ERROR - -} - -void t_1_local_init () -{ - t_1_st_1 t_1_st_1_obj0 = t_1_st_0_obj0; // ERROR - - t_1_st_1 t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0); -} - -struct t_2_st_0; - -struct t_2_st_1 { // ERROR - candidate - int member; - - t_2_st_1 (t_2_st_0); // ERROR - candidate - t_2_st_1 (); -}; - -struct t_2_st_0 { - int member; - - operator t_2_st_1 (); // ERROR - candidate -}; - -t_2_st_0 t_2_st_0_obj0; - -void t_2_assignment () -{ - t_2_st_1 t_2_st_1_obj0; - t_2_st_1 t_2_st_1_obj1; - t_2_st_1 t_2_st_1_obj2; - - t_2_st_1_obj0 = t_2_st_0_obj0; // ERROR - caught - t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0); -} - -void t_2_local_init () -{ - t_2_st_1 t_2_st_1_obj0 = t_2_st_0_obj0; // ERROR - - t_2_st_1 t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0); -}