Hi! In an if (code == OMP_FOR || code == OMP_SECTIONS) guarded block c will be always initialized, yet clang warns anyway.
Changed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk. 2019-01-31 Jakub Jelinek <ja...@redhat.com> PR middle-end/89137 * omp-low.c (lower_omp_task_reductions): Drop redundant test to avoid bogus clang warning. --- gcc/omp-low.c.jj 2019-01-16 09:35:05.657305002 +0100 +++ gcc/omp-low.c 2019-01-31 11:57:08.992987893 +0100 @@ -7132,7 +7132,7 @@ lower_omp_task_reductions (omp_context * lab3 = create_artificial_label (UNKNOWN_LOCATION); if (code == OMP_FOR) c = gimple_omp_for_clauses (ctx->stmt); - else if (code == OMP_SECTIONS) + else /* if (code == OMP_SECTIONS) */ c = gimple_omp_sections_clauses (ctx->stmt); c = OMP_CLAUSE_DECL (omp_find_clause (c, OMP_CLAUSE__REDUCTEMP_)); cancellable = c; Jakub