'gcc-3_3-branch'.
From-SVN: r75686
--- /dev/null
+// PR c++/13392
+// { dg-do compile }
+// { dg-options "-O0" }
+
+extern "C" void abort (void);
+struct X { ~X () throw() {} };
+bool foo (X s = X ()) { return false; }
+void bar ()
+{
+ __builtin_expect (foo () && true, 1) ? 0 : (abort (), 0);
+}
--- /dev/null
+// { dg-do run }
+// { dg-options "-O2" }
+
+#include <typeinfo>
+#include <iostream>
+
+struct A { virtual ~A () {} };
+
+struct APtr
+{
+ APtr (A* p) : p_ (p) { }
+ A& operator* () const { return *p_; }
+ A* p_;
+};
+
+int main ()
+{
+ APtr ap (new A);
+ std::type_info const* const exp = &typeid (*ap);
+ for (bool cont = true; cont; cont = false)
+ {
+ std::cout << "inner: cont " << cont << std::endl;
+ if (exp) ;
+ }
+}
+