diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index eb72b21e35c3d..5f9ad6c75f6da 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -3889,13 +3889,13 @@ LangAS CodeGenModule::GetGlobalVarAddressSpace(const VarDecl *D) { } if (LangOpts.SYCLIsDevice) { + if (!D) + return LangAS::opencl_global; auto *Scope = D->getAttr(); - if (Scope && Scope->isWorkGroup()) return LangAS::opencl_local; - if (!D || D->getType().getAddressSpace() == LangAS::Default) { + if (D->getType().getAddressSpace() == LangAS::Default) return LangAS::opencl_global; - } } if (LangOpts.CUDA && LangOpts.CUDAIsDevice) {