From: Jakub Jelinek Date: Wed, 28 Aug 2013 10:08:59 +0000 (+0200) Subject: re PR middle-end/58257 (Bogus warning with OpenMP collapsed loops) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4b128ece0612c29aa25db29f6151d4c53eeb1713;p=gcc.git re PR middle-end/58257 (Bogus warning with OpenMP collapsed loops) PR middle-end/58257 * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag. * c-c++-common/gomp/pr58257.c: New test. From-SVN: r202049 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 846878e5f32..746adff0e2e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-08-28 Jakub Jelinek + + PR middle-end/58257 + * omp-low.c (copy_var_decl): Copy over TREE_NO_WARNING flag. + 2013-08-28 Jan Hubicka * builtins.def (free): Declare leaf. diff --git a/gcc/omp-low.c b/gcc/omp-low.c index d24270f97a8..6da219e6869 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -850,6 +850,7 @@ copy_var_decl (tree var, tree name, tree type) DECL_ARTIFICIAL (copy) = DECL_ARTIFICIAL (var); DECL_IGNORED_P (copy) = DECL_IGNORED_P (var); DECL_CONTEXT (copy) = DECL_CONTEXT (var); + TREE_NO_WARNING (copy) = TREE_NO_WARNING (var); TREE_USED (copy) = 1; DECL_SEEN_IN_BIND_EXPR_P (copy) = 1; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index bca55c647d0..4e2daaf6098 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-08-28 Jakub Jelinek + + PR middle-end/58257 + * c-c++-common/gomp/pr58257.c: New test. + 2013-08-28 Richard Biener PR tree-optimization/56933 diff --git a/gcc/testsuite/c-c++-common/gomp/pr58257.c b/gcc/testsuite/c-c++-common/gomp/pr58257.c new file mode 100644 index 00000000000..8f8d24a998a --- /dev/null +++ b/gcc/testsuite/c-c++-common/gomp/pr58257.c @@ -0,0 +1,15 @@ +/* PR middle-end/58257 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -fopenmp -Wall" } */ + +int +foo (int n) +{ + int a[10][10]; + int x, y; +#pragma omp parallel for collapse(2) /* { dg-bogus "may be used uninitialized in this function" } */ + for (x = 0; x < n; x++) /* { dg-bogus "may be used uninitialized in this function" } */ + for (y = 0; y < n; y++) + a[x][y] = x + y * y; + return a[0][0]; +}