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. http://llvm-reviews.chandlerc.com/D356 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
