From 3c3e084237992b68d317cdf8944da55c07c92f30 Mon Sep 17 00:00:00 2001 From: Sebastian Neubauer Date: Wed, 15 Nov 2023 15:40:39 +0100 Subject: [PATCH] Add new argument to createStaticMemberType Makes llpc compatible with the change in https://github.com/llvm/llvm-project/pull/72234 --- llpc/translator/lib/SPIRV/SPIRVToLLVMDbgTran.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/llpc/translator/lib/SPIRV/SPIRVToLLVMDbgTran.cpp b/llpc/translator/lib/SPIRV/SPIRVToLLVMDbgTran.cpp index e6d4713528..6f4789e1f0 100644 --- a/llpc/translator/lib/SPIRV/SPIRVToLLVMDbgTran.cpp +++ b/llpc/translator/lib/SPIRV/SPIRVToLLVMDbgTran.cpp @@ -371,7 +371,12 @@ DINode *SPIRVToLLVMDbgTran::transTypeMember(const SPIRVExtInst *DebugInst) { SPIRVValue *ConstVal = BM->get(Ops[ValueIdx]); assert(isConstantOpCode(ConstVal->getOpCode()) && "Static member must be a constant"); llvm::Value *Val = SPIRVReader->transValue(ConstVal, nullptr, nullptr); - return Builder.createStaticMemberType(Scope, Name, File, LineNo, BaseType, Flags, cast(Val)); + return Builder.createStaticMemberType(Scope, Name, File, LineNo, BaseType, Flags, cast(Val) +#if !defined(LLVM_MAIN_REVISION) || LLVM_MAIN_REVISION >= 480812 + // New version of the code (also handles unknown version, which we treat as latest) + , llvm::dwarf::DW_TAG_member +#endif + ); } uint64_t Size = getConstant(Ops[SizeIdx]); uint64_t Alignment = 0;