diff gcc/testsuite/g++.dg/debug/pr53466.C @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/g++.dg/debug/pr53466.C	Fri Oct 27 22:46:09 2017 +0900
@@ -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);
+}