[PATCH] D30135: [OpenMP] Generate better diagnostics for cancel and cancellation point
Jonas Hahnfeld via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Feb 20 04:02:31 PST 2017
Hahnfeld added inline comments.
================
Comment at: lib/Sema/SemaOpenMP.cpp:1968-1973
+ if (CancelRegion != OMPD_parallel && CancelRegion != OMPD_for &&
+ CancelRegion != OMPD_sections && CancelRegion != OMPD_taskgroup) {
+ SemaRef.Diag(StartLoc, diag::err_omp_wrong_cancel_region)
+ << getOpenMPDirectiveName(CancelRegion);
+ return true;
+ }
----------------
ABataev wrote:
> Hahnfeld wrote:
> > ABataev wrote:
> > > It is better to convert this to return `false` and make error message and `return true` statement unconditional
> > I wanted to keep the style in `CheckNestingOfRegions`: That way it's easier to add more checks later on if needed like additional restrictions on `CancelRegion`
> I just meant that it's better to make it look like this:
> ```
> if (CancelRegion == OMPD_parallel || CancelRegion == OMPD_for ||
> CancelRegion == OMPD_sections || CancelRegion == OMPD_taskgroup)
> return false;
>
> SemaRef.Diag(StartLoc, diag::err_omp_wrong_cancel_region)
> << getOpenMPDirectiveName(CancelRegion);
> return true;
> ```
I understood what you want it to look like. However, that style makes it impossible to add additional diagnostics to this function
https://reviews.llvm.org/D30135
More information about the cfe-commits
mailing list