Author: svenvh Date: Tue Apr 24 07:47:29 2018 New Revision: 330721 URL: http://llvm.org/viewvc/llvm-project?rev=330721&view=rev Log: [OpenCL] Fix diagnostic of thread_local
Commit 08c258670c ("[OpenCL] Generic address space has been added in OpenCL v2.0.", 2014-11-26) did not mark the thread_local keyword as a storage class specifier, whereas it did mark _Thread_local as such. According to the C++14 spec s7.1.1, thread_local is a storage class specifier, so mark it as such. I will add a test for this in a follow-up commit that adds keyword restrictions to the OpenCL C++ language mode. Modified: cfe/trunk/lib/Parse/ParseDecl.cpp Modified: cfe/trunk/lib/Parse/ParseDecl.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseDecl.cpp?rev=330721&r1=330720&r2=330721&view=diff ============================================================================== --- cfe/trunk/lib/Parse/ParseDecl.cpp (original) +++ cfe/trunk/lib/Parse/ParseDecl.cpp Tue Apr 24 07:47:29 2018 @@ -3454,6 +3454,7 @@ void Parser::ParseDeclarationSpecifiers( case tok::kw_thread_local: isInvalid = DS.SetStorageClassSpecThread(DeclSpec::TSCS_thread_local, Loc, PrevSpec, DiagID); + isStorageClass = true; break; case tok::kw__Thread_local: isInvalid = DS.SetStorageClassSpecThread(DeclSpec::TSCS__Thread_local, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits