From: Jakub Jelinek Date: Thu, 8 Dec 2011 13:37:44 +0000 (+0100) Subject: backport: re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parall... X-Git-Tag: releases/gcc-4.6.3~287 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f3290f3e81aec25ed1e59f6a2196dd03fe88345;p=thirdparty%2Fgcc.git backport: re PR c/51339 (ICE: in convert_move, at expr.c:326 with -fopenmp and parallel for) Backport from mainline 2011-12-05 Jakub Jelinek 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index daa090218f0c..898e61f1a0e5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,12 @@ 2011-12-08 Jakub Jelinek Backport from mainline + 2011-12-05 Jakub Jelinek + + PR c/51339 + * c-decl.c (c_finish_incomplete_decl, finish_decl): Call + relayout_decl instead of layout_decl. + 2011-12-05 Jakub Jelinek Eric Botcazou diff --git a/gcc/c-decl.c b/gcc/c-decl.c index 001330cda638..f0becb9889cc 100644 --- a/gcc/c-decl.c +++ b/gcc/c-decl.c @@ -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) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c19a761e2e16..81c29861e48d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2011-12-08 Jakub Jelinek Backport from mainline + 2011-12-05 Jakub Jelinek + + PR c/51339 + * gcc.dg/gomp/pr51339.c: New test. + 2011-12-05 Jakub Jelinek Eric Botcazou diff --git a/gcc/testsuite/gcc.dg/gomp/pr51339.c b/gcc/testsuite/gcc.dg/gomp/pr51339.c new file mode 100644 index 000000000000..198e4c13e03b --- /dev/null +++ b/gcc/testsuite/gcc.dg/gomp/pr51339.c @@ -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'; + } +}