-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Add the remaining diagnostics to device_global implementation #5810
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] Add the remaining diagnostics to device_global implementation #5810
Conversation
@schittir could you please update the PR description with a list of all required diagnostics for device_global. Please mention which of these have already been implemented in the previous patch and which ones are covered in this patch. If any are yet to be implemented, please include that as well. |
@schittir can you update the PR description ASAP. It will help with review and I can start looking into diagnostics already implemented in this PR. |
@elizabethandrews You should see the description updated now. Sorry I mistakenly thought that I already did that. Also I didn't think that it was holding you from reviewing it. Please take a look and let me know if anything else needs to be clarified. Thank you! |
1. getType() from Field directly instead of casting to ValueDecl 2. Diagnose if device_global is declared in private scope of a struct
Remove commented out case that is not needed
IIUC, you haven't implemented support for shadowed device_global variables right? |
0377ef9
Failing test is unrelated and was disabled separately. |
This PR is a follow up to PR #5597 to implement the diagnostics not covered in #5597
As it stands currently, this PR includes implementation for cases described in this documentation and their templated versions - https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/proposed/sycl_ext_oneapi_device_global.asciidoc#restrictions-on-creating-device-global-objects except the shadow variable/namespace case. Specifically, it covers cases where device_global is declared as a private member inside a struct and within methods inside struct, their template versions/instantiation and device_global array.