/* { dg-do compile } */ /* { dg-options "-O0 -Werror -Wreturn-type" } */ /* Test-case from http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25973#c4. */ struct Block { public: Block (); ~Block (); }; bool func (bool bar) { Block block; bool foo = false; if (!foo || bar) do { return true; } while (0); else do { return false; } while (0); }