[PATCH] D41841: [OpenMP] Fix handling of clause on wrong directive

Joel E. Denny via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Jan 8 15:45:40 PST 2018


jdenny created this revision.
jdenny added a reviewer: ABataev.

First, this patch fixes an assert failure when, for example, "omp for"
has num_teams.

Second, this patch prevents duplicate diagnostics when, for example,
"omp for" has uniform.

This patch makes the general assumption (even where it doesn't
necessarily fix an existing bug) that it is worthless to perform sema
for a clause that appears on a directive on which OpenMP does not 
permit that clause.  However, due to this assumption, this patch
suppresses some diagnostics that were expected in the test suite.  I
assert that those diagnostics were likely just distracting to the 
user.


https://reviews.llvm.org/D41841

Files:
  include/clang/Parse/Parser.h
  lib/Parse/ParseOpenMP.cpp
  test/OpenMP/distribute_simd_loop_messages.cpp
  test/OpenMP/for_misc_messages.c
  test/OpenMP/parallel_messages.cpp
  test/OpenMP/simd_loop_messages.cpp
  test/OpenMP/target_teams_distribute_simd_messages.cpp
  test/OpenMP/taskloop_loop_messages.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41841.128993.patch
Type: text/x-patch
Size: 12373 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180108/b327e219/attachment.bin>


More information about the cfe-commits mailing list