@@ -822,6 +822,7 @@ static DISubprogram::DISPFlags fromRust(LLVMRustDISPFlags SPFlags) {
822822 return Result;
823823}
824824
825+ #ifdef LLVM_RUSTLLVM
825826// These values **must** match debuginfo::ShortBacktrace! They also *happen*
826827// to match LLVM, but that isn't required as we do giant sets of
827828// matching below. The value shouldn't be directly passed to LLVM.
@@ -846,6 +847,7 @@ static std::optional<ShortBacktraceAttr> shortBacktraceFromRust(LLVMRustShortBac
846847 report_fatal_error (" bad ShortBacktraceAttr." );
847848 }
848849}
850+ #endif
849851
850852enum class LLVMRustDebugEmissionKind {
851853 NoDebug,
@@ -1041,18 +1043,22 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
10411043 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
10421044 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
10431045 unsigned ScopeLine, LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags,
1044- LLVMRustShortBacktrace shortBacktrace, LLVMValueRef MaybeFn, LLVMMetadataRef TParam,
1045- LLVMMetadataRef Decl) {
1046+ #ifdef LLVM_RUSTLLVM
1047+ LLVMRustShortBacktrace shortBacktrace,
1048+ #endif
1049+ LLVMValueRef MaybeFn, LLVMMetadataRef TParam, LLVMMetadataRef Decl) {
10461050 DITemplateParameterArray TParams =
10471051 DITemplateParameterArray (unwrap<MDTuple>(TParam));
10481052 DISubprogram::DISPFlags llvmSPFlags = fromRust (SPFlags);
10491053 DINode::DIFlags llvmFlags = fromRust (Flags);
10501054 DISubprogram *Sub = Builder->createFunction (
10511055 unwrapDI<DIScope>(Scope), StringRef (Name, NameLen),
10521056 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
1053- unwrapDI<DISubroutineType>(Ty), ScopeLine, llvmFlags,
1054- llvmSPFlags, shortBacktraceFromRust (shortBacktrace), TParams,
1055- unwrapDIPtr<DISubprogram>(Decl));
1057+ unwrapDI<DISubroutineType>(Ty), ScopeLine, llvmFlags, llvmSPFlags,
1058+ #ifdef LLVM_RUSTLLVM
1059+ shortBacktraceFromRust (shortBacktrace),
1060+ #endif
1061+ TParams, unwrapDIPtr<DISubprogram>(Decl));
10561062 if (MaybeFn)
10571063 unwrap<Function>(MaybeFn)->setSubprogram (Sub);
10581064 return wrap (Sub);
@@ -1062,7 +1068,10 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod(
10621068 LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
10631069 size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
10641070 LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
1065- LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags, LLVMRustShortBacktrace shortBacktrace,
1071+ LLVMRustDIFlags Flags, LLVMRustDISPFlags SPFlags,
1072+ #ifdef LLVM_RUSTLLVM
1073+ LLVMRustShortBacktrace shortBacktrace,
1074+ #endif
10661075 LLVMMetadataRef TParam) {
10671076 DITemplateParameterArray TParams =
10681077 DITemplateParameterArray (unwrap<MDTuple>(TParam));
@@ -1073,7 +1082,11 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod(
10731082 StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
10741083 unwrapDI<DISubroutineType>(Ty), 0 , 0 ,
10751084 nullptr , // VTable params aren't used
1076- llvmFlags, llvmSPFlags, shortBacktraceFromRust (shortBacktrace), TParams);
1085+ llvmFlags, llvmSPFlags,
1086+ #ifdef LLVM_RUSTLLVM
1087+ shortBacktraceFromRust (shortBacktrace),
1088+ #endif
1089+ TParams);
10771090 return wrap (Sub);
10781091}
10791092
0 commit comments