[PATCH] D66559: [OPENMP] Update the diagnosis message for canonical loop form

Alexey Bataev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Aug 29 15:06:50 PDT 2019


ABataev added a comment.

In D66559#1651756 <https://reviews.llvm.org/D66559#1651756>, @cchen wrote:

> "parallel_for_codegen" cannot pass now since it has two test cases for "!=" and it's hard to just add "fopenmp-version=50" since it will break lots of other test cases that have different codegen for OpenMP 5.0.
>  I can remove the "!=" case from "parallel_for_codegen" and add a new file such as "omp50_parallel_for_codegen" to test it but I doubt it's the right way to do it.


Add a new RUN directive(s) for openmp 5.0 and add a definition specific for OpenMP  5.0 run. In the code use `#ifdef...endif` to check that version is OpenMP 5.0 and the test with!= must be under this guard.



================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:5440
                      BO->getSourceRange(), BO->getOperatorLoc());
-    } else if (BO->getOpcode() == BO_NE)
-        return setUB(getInitLCDecl(BO->getLHS()) == LCDecl ?
+		} else if (BO->getOpcode() == BO_NE) {
+			if (SemaRef.getLangOpts().OpenMP >= 50) {
----------------
Just make `if(OpenMP >= 50 && opcode == BO_NE)` and remove `else` branch


================
Comment at: clang/lib/Sema/SemaOpenMP.cpp:5478
+											 CE->getOperatorLoc());
+				} else {
+					SemaRef.Diag(CondLoc, diag::err_omp_loop_not_canonical_cond)
----------------
`else` branch is not required here, the control will go to the default path with diagnostics.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66559/new/

https://reviews.llvm.org/D66559





More information about the cfe-commits mailing list