aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2012-05-24 12:36:40 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-05-24 12:36:40 +0000
commit8a791ae2310dcfa61f2dcf4cc3e8c4f0f4d2f91c (patch)
tree9370b9a0335eab580689041ca761b7605cab3e8a
parent0faa05629e036ed79335e55c1473458c642278a8 (diff)
downloadgcc-8a791ae2310dcfa61f2dcf4cc3e8c4f0f4d2f91c.zip
gcc-8a791ae2310dcfa61f2dcf4cc3e8c4f0f4d2f91c.tar.gz
gcc-8a791ae2310dcfa61f2dcf4cc3e8c4f0f4d2f91c.tar.bz2
re PR bootstrap/53466 (Bootstrap failure)
2012-05-24 Richard Guenther <rguenther@suse.de> PR bootstrap/53466 * g++.dg/debug/pr53466.C: New testcase. From-SVN: r187830
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/debug/pr53466.C39
2 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3ee4008..06fc8db 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-24 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/53466
+ * g++.dg/debug/pr53466.C: New testcase.
+
2012-05-24 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/53465
diff --git a/gcc/testsuite/g++.dg/debug/pr53466.C b/gcc/testsuite/g++.dg/debug/pr53466.C
new file mode 100644
index 0000000..ecd88bc
--- /dev/null
+++ b/gcc/testsuite/g++.dg/debug/pr53466.C
@@ -0,0 +1,39 @@
+// { dg-do compile }
+// { dg-options "-foptimize-sibling-calls -fcompare-debug" }
+
+typedef union gimple_statement_d *gimple;
+typedef gimple gimple_seq_node;
+typedef struct {
+ gimple_seq_node ptr;
+ void *seq;
+ void *bb;
+} gimple_stmt_iterator;
+struct gimple_statement_base {
+ gimple next;
+};
+union gimple_statement_d {
+ struct gimple_statement_base gsbase;
+};
+static inline gimple_stmt_iterator gsi_start_1 (gimple stmt)
+{
+ gimple_stmt_iterator i;
+ i.ptr = stmt;
+ return i;
+}
+bool gimple_may_fallthru (gimple);
+static bool gimple_try_catch_may_fallthru (gimple stmt)
+{
+ gimple_stmt_iterator i = gsi_start_1 (stmt);
+ for (; i.ptr; i.ptr = i.ptr->gsbase.next)
+ {
+ if (gimple_may_fallthru (i.ptr))
+ return true;
+ }
+}
+bool gimple_stmt_may_fallthru (gimple stmt, bool x)
+{
+ if (x)
+ return gimple_may_fallthru (stmt);
+ else
+ return gimple_try_catch_may_fallthru (stmt);
+}