re PR bootstrap/53466 (Bootstrap failure)
authorRichard Guenther <rguenther@suse.de>
Thu, 24 May 2012 12:36:40 +0000 (12:36 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 24 May 2012 12:36:40 +0000 (12:36 +0000)
2012-05-24  Richard Guenther  <rguenther@suse.de>

PR bootstrap/53466
* g++.dg/debug/pr53466.C: New testcase.

From-SVN: r187830

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/debug/pr53466.C [new file with mode: 0644]

index 3ee4008b5d88b5c301e8ba1f6735ca50b7b4d644..06fc8dbe31f948b610a8f70255abad8670a018f5 100644 (file)
@@ -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 (file)
index 0000000..ecd88bc
--- /dev/null
@@ -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);
+}