[PATCH] OpenMP threadprivate directive

Doug Gregor dgregor at apple.com
Wed Mar 20 16:36:51 PDT 2013

  Fairly minor comments here. The typo-correction logic is the only thing I'd like to look at again; otherwise, this LGTM.

Comment at: include/clang/Basic/DiagnosticSemaKinds.td:6137
@@ +6136,3 @@
+  "'#pragma omp %0' must appear in the scope of the %1 variable declaration">;
+def err_omp_var_const_addr : Error<
+  "arguments of '#pragma omp %0' cannot be %1 constants">;
err_omp_var_const_addr is no longer used. It should be deleted.

Comment at: lib/Sema/SemaOpenMP.cpp:65
@@ +64,3 @@
+      VarDeclFilterCCC Validator(*this);
+      TypoCorrection Corrected = CorrectTypo(*I, LookupOrdinaryName, CurScope,
+                                             0, Validator);
Clang typically doesn't try to provide typo correction when what you've typed actually does name a declaration but is of the wrong kind. I'd rather see the "did you mean?" form of err_omp_expected_var_arg_suggest used as the diagnostic when DiagnoseEmptyLookup() does the correction, and just have "%0 does not refer to <something that can be threadprivate>) with a note pointing at the declaration that was found by lookup.


More information about the cfe-commits mailing list