]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parall...
authorJakub Jelinek <jakub@redhat.com>
Thu, 8 Dec 2011 13:37:44 +0000 (14:37 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 8 Dec 2011 13:37:44 +0000 (14:37 +0100)
Backport from mainline
2011-12-05  Jakub Jelinek  <jakub@redhat.com>

PR c/51339
* c-decl.c (c_finish_incomplete_decl, finish_decl): Call
relayout_decl instead of layout_decl.

* gcc.dg/gomp/pr51339.c: New test.

From-SVN: r182113

gcc/ChangeLog
gcc/c-decl.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/gomp/pr51339.c [new file with mode: 0644]

index daa090218f0caf9154efca0ae0bd21f9f3030d20..898e61f1a0e561f49b1e92b0920f4b5de535e76a 100644 (file)
@@ -1,6 +1,12 @@
 2011-12-08  Jakub Jelinek  <jakub@redhat.com>
 
        Backport from mainline
+       2011-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/51339
+       * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
+       relayout_decl instead of layout_decl.
+
        2011-12-05  Jakub Jelinek  <jakub@redhat.com>
                    Eric Botcazou  <ebotcazou@adacore.com>
 
index 001330cda6381e9f35d47ccec0d0472088be1247..f0becb9889cc2eb02fb526345dd6189af4f7dc31 100644 (file)
@@ -721,7 +721,7 @@ c_finish_incomplete_decl (tree decl)
 
          complete_array_type (&TREE_TYPE (decl), NULL_TREE, true);
 
-         layout_decl (decl, 0);
+         relayout_decl (decl);
        }
     }
 }
@@ -4261,7 +4261,7 @@ finish_decl (tree decl, location_t init_loc, tree init,
       if (DECL_INITIAL (decl))
        TREE_TYPE (DECL_INITIAL (decl)) = type;
 
-      layout_decl (decl, 0);
+      relayout_decl (decl);
     }
 
   if (TREE_CODE (decl) == VAR_DECL)
index c19a761e2e16447e996a0632e45ba46bc645240f..81c29861e48d9545487329035712f2a615768445 100644 (file)
@@ -1,6 +1,11 @@
 2011-12-08  Jakub Jelinek  <jakub@redhat.com>
 
        Backport from mainline
+       2011-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c/51339
+       * gcc.dg/gomp/pr51339.c: New test.
+
        2011-12-05  Jakub Jelinek  <jakub@redhat.com>
                    Eric Botcazou  <ebotcazou@adacore.com>
 
diff --git a/gcc/testsuite/gcc.dg/gomp/pr51339.c b/gcc/testsuite/gcc.dg/gomp/pr51339.c
new file mode 100644 (file)
index 0000000..198e4c1
--- /dev/null
@@ -0,0 +1,15 @@
+/* PR c/51339 */
+/* { dg-do compile } */
+/* { dg-options "-fopenmp" } */
+
+char g[] = "g";
+
+void
+foo (void)
+{
+#pragma omp parallel sections firstprivate (g) lastprivate (g)
+  {
+  #pragma omp section
+    g[0] = 'h';
+  }
+}