From bd9ee48c161d5cb09842d04112ffd58e6a281344 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Tue, 17 Apr 2012 18:28:50 +0000 Subject: [PATCH] pr51264-4.C: New test. 2012-04-17 Tom de Vries * g++.dg/pr51264-4.C: New test. From-SVN: r186547 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/g++.dg/pr51264-4.C | 30 ++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 gcc/testsuite/g++.dg/pr51264-4.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0c42dee169d4..06e5162cf3a2 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-04-17 Tom de Vries + + * g++.dg/pr51264-4.C: New test. + 2012-04-17 Paolo Carlini PR c++/52599 diff --git a/gcc/testsuite/g++.dg/pr51264-4.C b/gcc/testsuite/g++.dg/pr51264-4.C new file mode 100644 index 000000000000..58a1b14c4095 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr51264-4.C @@ -0,0 +1,30 @@ +/* { 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); +}