]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree...
authorTom de Vries <tom@codesourcery.com>
Wed, 26 Oct 2011 09:33:56 +0000 (09:33 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 26 Oct 2011 09:33:56 +0000 (09:33 +0000)
2011-10-26  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/50763
* gcc.dg/pr50763-2.c: New test.

From-SVN: r180519

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr50763-2.c [new file with mode: 0644]

index dbe2481c572a547ad22356f7f87857f99a493121..2c9026e075a483967a935194654db6f2ea1a2fb2 100644 (file)
@@ -1,3 +1,8 @@
+2011-10-26  Tom de Vries  <tom@codesourcery.com>
+
+       PR tree-optimization/50763
+       * gcc.dg/pr50763-2.c: New test.
+
 2011-10-25  Joseph Myers  <joseph@codesourcery.com>
 
        * gcc.dg/format/ms_c90-printf-1.c, gcc.dg/format/ms_c90-scanf-1.c:
diff --git a/gcc/testsuite/gcc.dg/pr50763-2.c b/gcc/testsuite/gcc.dg/pr50763-2.c
new file mode 100644 (file)
index 0000000..a9d12e8
--- /dev/null
@@ -0,0 +1,46 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+typedef union tree_node *tree;
+
+struct tree_base
+{
+  int code;
+};
+
+struct tree_typed
+{
+  struct tree_base base;
+  tree type;
+};
+
+struct tree_common
+{
+  struct tree_typed typed;
+};
+
+struct tree_type_common
+{
+  tree main_variant;
+};
+
+union tree_node
+{
+  struct tree_base base;
+  struct tree_typed typed;
+  struct tree_type_common type_common;
+};
+
+int std_canonical_va_list_type (tree type)
+{
+  if (type->base.code)
+    type = type->typed.type;
+  else
+    if (type->typed.type->base.code)
+      type = type->typed.type;
+
+  if (type->type_common.main_variant)
+    return 1;
+
+  return 0;
+}