From: Jason Merrill Date: Thu, 29 Oct 1998 21:23:53 +0000 (-0500) Subject: new X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1a7a342d99f8faaee26b0c897e48c5b2363a4ae5;p=gcc.git new From-SVN: r23435 --- diff --git a/gcc/testsuite/g++.old-deja/g++.other/loop1.C b/gcc/testsuite/g++.old-deja/g++.other/loop1.C new file mode 100644 index 00000000000..3380dd4d74d --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/loop1.C @@ -0,0 +1,30 @@ +// Test for bad loop optimization of goto fixups. +// Special g++ Options: -O2 + +typedef bool (*ftype) (); + +int c, d; +struct A { + A() { ++c; } + A(const A&) { ++c; } + ~A() { ++d; } +}; + +void f (ftype func) +{ + A a; + do { + if ((*func)()) return; + } while (true); +} + +bool test () +{ + return true; +} + +main () +{ + f (test); + return (c != d); +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/union1.C b/gcc/testsuite/g++.old-deja/g++.other/union1.C new file mode 100644 index 00000000000..6573b4d055f --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/union1.C @@ -0,0 +1,16 @@ +// Build don't link: + +class A +{ + private: + int myInt; + + public: + A& operator = (int right) {myInt = right; return *this;} +}; + +union B +{ + char f1; + A f2; // gets bogus error - non-copy assignment op is OK +};