-
Notifications
You must be signed in to change notification settings - Fork 752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SYCL] Implement thread-local storage restriction, move vardecl checks #1281
Conversation
The SYCL spec was recently clarified to prohibit thread local storage, so this commit ensures an error is always emitted in these cases. Additionally, the DeclRefExpr to a VarDecl were switched to delayed diagnostics. Signed-off-by: Erich Keane <erich.keane@intel.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks
@@ -0,0 +1,49 @@ | |||
// RUN: %clang_cc1 -fsycl-is-device -verify -fsyntax-only -std=c++17 %s |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is c++17 needed here?
Out of curiosity, do you have a pointer to this ? |
OK, this is the oldest reference I can find in the SYCL-Docs public repository: KhronosGroup/SYCL-Docs@f714c21 . |
Yep, thats the reference I've implemented this based on. |
Also fixes up the issues found by the bots, including the lacking signed-off-by. Signed-off-by: Erich Keane <erich.keane@intel.com>
2519573
to
bcbc2f1
Compare
Sorry about the force-push, the build bot failed me for a signed-off-by on my followup patch, so I had to update the commit message. Did everything there and mentioned by @Fznamznon |
…e_api_test * origin/sycl: [SYCL] Implement thread-local storage restriction (intel#1281) [Driver][SYCL][FPGA] Adjust the output location for the project report (intel#1278)
…st_commit * otcshare/sycl: (469 commits) [SYCL] Implement thread-local storage restriction (intel#1281) [Driver][SYCL][FPGA] Adjust the output location for the project report (intel#1278) [SYCL][NFC] Fix static code analysis concerns (intel#1283) [SYCL] Fix the test/basic_tests/buffer/subbuffer.cpp (intel#1277) [SYCL][CUDA] Implement the program kernel names query (intel#1248) [SYCL] Honor the LLVM_LIBDIR_SUFFIX variable at installation time (intel#1261) [SYCL][UX] Diagnostic for undefined device functions (intel#1026) [SYCL] Reverse reqd_work_group_size attribute (intel#1234) [SYCL] Rename project to oneAPI DPC++ Compiler (intel#1249) [SYCL][XPTI] Instrumentation of SYCL runtime with XPTI (intel#1129) [SYCL] Add buffer dimensions restriction (intel#1147) [SYCL][NFC] Update copyright header in handler files (intel#1271) [SYCL][NFC] Format the code with clang-format [SYCL][Test] Fix SYCL library location path for LIT tests (intel#1228) [SYCL][NFC] Fix doxygen warnings (intel#1270) [SYCL][CUDA] Add the CUDA backend to the deploy-sycl-toolchain target (intel#1268) [SYCL][NFC] Fix a misleading comment regarding the SYCL flow (intel#1266) Change capability for SpecId decoration README.md: Mention retrieving llvm archive signatures travis: Restore macOS builds ...
The SYCL spec was recently clarified to prohibit thread local storage,
so this commit ensures an error is always emitted in these cases.
Additionally, the DeclRefExpr to a VarDecl were switched to delayed
diagnostics.
Signed-off-by: Erich Keane erich.keane@intel.com