[PATCH] D102270: [CUDA][HIP] Fix device template variables
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 12 14:14:17 PDT 2021
yaxunl closed this revision.
yaxunl marked an inline comment as done.
yaxunl added inline comments.
================
Comment at: clang/lib/Sema/SemaExpr.cpp:17145
};
- if (Var && Var->hasGlobalStorage() && !IsEmittedOnDeviceSide(Var)) {
- SemaRef.targetDiag(Loc, diag::err_ref_bad_target)
- << /*host*/ 2 << /*variable*/ 1 << Var << Target;
+ if (Var && Var->hasGlobalStorage()) {
+ if (!IsEmittedOnDeviceSide(Var)) {
----------------
tra wrote:
> Revisiting my comment from https://reviews.llvm.org/D102237#inline-967732
>
> I think this can be combined with the `if (SemaRef.LangOpts.CUDA)` above.
>
> Unless I'm missing something obvious, what we have now is
> ```
> if (SemaRef.LangOpts.CUDA) {
> <vars>
> if (Var && Var->hasGlobalStorage()) {
>
> }
> }
> ```
>
> You've mentioned that they can't be combined because of an `else`, but there's no else in the `if (Var && Var->hasGlobalStorage()) ` as far as I can see, and `<vars>` could be moved inside it.
>
You are right. I missed `if (Var && Var->hasGlobalStorage())`. The patch has been committed. Will make the change by a commit directly. Thanks.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102270/new/
https://reviews.llvm.org/D102270
More information about the cfe-commits
mailing list