aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-03-11 23:27:39 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2019-03-11 23:27:39 +0100
commita7b9de8b70a53cc6beb7d4cfee449a4cfc2dee20 (patch)
treee7a9460b3293f68fc9c29fb51fb1b7fbc69ba5be /gcc/fortran/trans-openmp.c
parent4f150726cf236755158c3d895a31b4216336fae7 (diff)
downloadgcc-a7b9de8b70a53cc6beb7d4cfee449a4cfc2dee20.zip
gcc-a7b9de8b70a53cc6beb7d4cfee449a4cfc2dee20.tar.gz
gcc-a7b9de8b70a53cc6beb7d4cfee449a4cfc2dee20.tar.bz2
re PR fortran/89651 (OpenMP private array uninitialized warning with -O flag)
PR fortran/89651 * trans-openmp.c (gfc_omp_clause_default_ctor): Set TREE_NO_WARNING on decl if adding COND_EXPR for allocatable. (gfc_omp_clause_copy_ctor): Set TREE_NO_WARNING on dest. * gfortran.dg/gomp/pr89651.f90: New test. From-SVN: r269598
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
-rw-r--r--gcc/fortran/trans-openmp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index 1fdb70e..0eb5956 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -558,6 +558,9 @@ gfc_omp_clause_default_ctor (tree clause, tree decl, tree outer)
build3_loc (input_location, COND_EXPR,
void_type_node, cond, then_b,
else_b));
+ /* Avoid -W*uninitialized warnings. */
+ if (DECL_P (decl))
+ TREE_NO_WARNING (decl) = 1;
}
else
gfc_add_expr_to_block (&block, then_b);
@@ -664,6 +667,9 @@ gfc_omp_clause_copy_ctor (tree clause, tree dest, tree src)
gfc_add_expr_to_block (&block,
build3_loc (input_location, COND_EXPR,
void_type_node, cond, then_b, else_b));
+ /* Avoid -W*uninitialized warnings. */
+ if (DECL_P (dest))
+ TREE_NO_WARNING (dest) = 1;
return gfc_finish_block (&block);
}