diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.law/dtors2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/dtors2.C | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.law/dtors2.C b/gcc/testsuite/g++.old-deja/g++.law/dtors2.C deleted file mode 100644 index ebf96123996..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.law/dtors2.C +++ /dev/null @@ -1,40 +0,0 @@ -// GROUPS passed destructors -#include <stdio.h> - -int destruct = 0; - -class bla { - -public: - - inline bla(char * jim) { ; }; - - inline ~bla() { destruct++; if (destruct == 2) printf ("PASS\n");}; -}; - -class ulk { - -public: - - inline ulk() {}; - inline ~ulk() {}; - - void funk(const bla & bob) { ;}; - // ^ interestingly, the code compiles right if - // this & is deleted (and therefore the parameter - // passed as value) -}; - -int main() { - - ulk dumm; - - dumm.funk(bla("laberababa")); // this compiles correctly - - dumm.funk((bla)"laberababa"); // this produces incorrect code - - // the temporary instance of - // the class "bla" is constructed - // but never destructed... - - -} |