[PATCH] OpenMP threadprivate directive
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