From: Yaxun Liu Date: Sat, 8 Jul 2017 19:13:41 +0000 (+0000) Subject: Fix build failure with gcc about mixing enum and non-enum X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c0ed38db22c34bc8dfed1cf46ae5713f12aff673;p=clang Fix build failure with gcc about mixing enum and non-enum git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307483 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/CodeGen/CodeGenModule.cpp b/lib/CodeGen/CodeGenModule.cpp index 3a30ddc667..4b15b8ac4c 100644 --- a/lib/CodeGen/CodeGenModule.cpp +++ b/lib/CodeGen/CodeGenModule.cpp @@ -2432,7 +2432,8 @@ CodeGenModule::GetOrCreateLLVMGlobal(StringRef MangledName, auto ExpectedAS = D ? D->getType().getAddressSpace() - : (LangOpts.OpenCL ? LangAS::opencl_global : LangAS::Default); + : static_cast(LangOpts.OpenCL ? LangAS::opencl_global + : LangAS::Default); assert(getContext().getTargetAddressSpace(ExpectedAS) == Ty->getPointerAddressSpace()); if (AddrSpace != ExpectedAS) @@ -2574,7 +2575,8 @@ CharUnits CodeGenModule::GetTargetTypeStoreSize(llvm::Type *Ty) const { unsigned CodeGenModule::GetGlobalVarAddressSpace(const VarDecl *D) { unsigned AddrSpace; if (LangOpts.OpenCL) { - AddrSpace = D ? D->getType().getAddressSpace() : LangAS::opencl_global; + AddrSpace = D ? D->getType().getAddressSpace() + : static_cast(LangAS::opencl_global); assert(AddrSpace == LangAS::opencl_global || AddrSpace == LangAS::opencl_constant || AddrSpace == LangAS::opencl_local || diff --git a/lib/CodeGen/TargetInfo.cpp b/lib/CodeGen/TargetInfo.cpp index faec994cf7..eeebd60a2d 100644 --- a/lib/CodeGen/TargetInfo.cpp +++ b/lib/CodeGen/TargetInfo.cpp @@ -421,7 +421,8 @@ unsigned TargetCodeGenInfo::getGlobalVarAddressSpace(CodeGenModule &CGM, assert(!CGM.getLangOpts().OpenCL && !(CGM.getLangOpts().CUDA && CGM.getLangOpts().CUDAIsDevice) && "Address space agnostic languages only"); - return D ? D->getType().getAddressSpace() : LangAS::Default; + return D ? D->getType().getAddressSpace() + : static_cast(LangAS::Default); } llvm::Value *TargetCodeGenInfo::performAddrSpaceCast(