@@ -822,6 +822,7 @@ static DISubprogram::DISPFlags fromRust(LLVMRustDISPFlags SPFlags) {
822
822
return Result;
823
823
}
824
824
825
+ #ifdef LLVM_RUSTLLVM
825
826
// These values **must** match debuginfo::ShortBacktrace! They also *happen*
826
827
// to match LLVM, but that isn't required as we do giant sets of
827
828
// matching below. The value shouldn't be directly passed to LLVM.
@@ -846,6 +847,7 @@ static std::optional<ShortBacktraceAttr> shortBacktraceFromRust(LLVMRustShortBac
846
847
report_fatal_error (" bad ShortBacktraceAttr." );
847
848
}
848
849
}
850
+ #endif
849
851
850
852
enum class LLVMRustDebugEmissionKind {
851
853
NoDebug,
@@ -1041,18 +1043,22 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateFunction(
1041
1043
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
1042
1044
LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
1043
1045
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) {
1046
1050
DITemplateParameterArray TParams =
1047
1051
DITemplateParameterArray (unwrap<MDTuple>(TParam));
1048
1052
DISubprogram::DISPFlags llvmSPFlags = fromRust (SPFlags);
1049
1053
DINode::DIFlags llvmFlags = fromRust (Flags);
1050
1054
DISubprogram *Sub = Builder->createFunction (
1051
1055
unwrapDI<DIScope>(Scope), StringRef (Name, NameLen),
1052
1056
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));
1056
1062
if (MaybeFn)
1057
1063
unwrap<Function>(MaybeFn)->setSubprogram (Sub);
1058
1064
return wrap (Sub);
@@ -1062,7 +1068,10 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod(
1062
1068
LLVMRustDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
1063
1069
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
1064
1070
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
1066
1075
LLVMMetadataRef TParam) {
1067
1076
DITemplateParameterArray TParams =
1068
1077
DITemplateParameterArray (unwrap<MDTuple>(TParam));
@@ -1073,7 +1082,11 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateMethod(
1073
1082
StringRef (LinkageName, LinkageNameLen), unwrapDI<DIFile>(File), LineNo,
1074
1083
unwrapDI<DISubroutineType>(Ty), 0 , 0 ,
1075
1084
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);
1077
1090
return wrap (Sub);
1078
1091
}
1079
1092
0 commit comments