From 2187f2a2613385f22499ea19f0122b73513ac193 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Mon, 8 Aug 2016 21:46:36 +0200 Subject: re PR middle-end/72781 (-Wuninitialized false positives in OpenMP code) PR middle-end/72781 * omp-low.c (lower_lastprivate_clauses): Set TREE_NO_WARNING on the private vars for lastprivate and for linear iterator. * gcc.dg/gomp/pr72781.c: New test. From-SVN: r239249 --- gcc/omp-low.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gcc/omp-low.c') diff --git a/gcc/omp-low.c b/gcc/omp-low.c index c75452c..678c36e 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -5455,7 +5455,15 @@ lower_lastprivate_clauses (tree clauses, tree predicate, gimple_seq *stmt_list, new_var = lookup_decl (var, ctx->outer); } else - new_var = lookup_decl (var, ctx); + { + new_var = lookup_decl (var, ctx); + /* Avoid uninitialized warnings for lastprivate and + for linear iterators. */ + if (predicate + && (OMP_CLAUSE_CODE (c) == OMP_CLAUSE_LASTPRIVATE + || OMP_CLAUSE_LINEAR_NO_COPYIN (c))) + TREE_NO_WARNING (new_var) = 1; + } if (simduid && DECL_HAS_VALUE_EXPR_P (new_var)) { -- cgit v1.1