@@ -697,6 +697,25 @@ static DICompileUnit::DebugEmissionKind fromRust(LLVMRustDebugEmissionKind Kind)
697
697
}
698
698
}
699
699
700
+ enum class LLVMRustDebugNameTableKind {
701
+ Default,
702
+ GNU,
703
+ None,
704
+ };
705
+
706
+ static DICompileUnit::DebugNameTableKind fromRust (LLVMRustDebugNameTableKind Kind) {
707
+ switch (Kind) {
708
+ case LLVMRustDebugNameTableKind::Default:
709
+ return DICompileUnit::DebugNameTableKind::Default;
710
+ case LLVMRustDebugNameTableKind::GNU:
711
+ return DICompileUnit::DebugNameTableKind::GNU;
712
+ case LLVMRustDebugNameTableKind::None:
713
+ return DICompileUnit::DebugNameTableKind::None;
714
+ default :
715
+ report_fatal_error (" bad DebugNameTableKind." );
716
+ }
717
+ }
718
+
700
719
enum class LLVMRustChecksumKind {
701
720
None,
702
721
MD5,
@@ -765,13 +784,15 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateCompileUnit(
765
784
const char *Flags, unsigned RuntimeVer,
766
785
const char *SplitName, size_t SplitNameLen,
767
786
LLVMRustDebugEmissionKind Kind,
768
- uint64_t DWOId, bool SplitDebugInlining) {
787
+ uint64_t DWOId, bool SplitDebugInlining,
788
+ LLVMRustDebugNameTableKind TableKind) {
769
789
auto *File = unwrapDI<DIFile>(FileRef);
770
790
771
791
return wrap (Builder->createCompileUnit (Lang, File, StringRef (Producer, ProducerLen),
772
792
isOptimized, Flags, RuntimeVer,
773
793
StringRef (SplitName, SplitNameLen),
774
- fromRust (Kind), DWOId, SplitDebugInlining));
794
+ fromRust (Kind), DWOId, SplitDebugInlining,
795
+ false , fromRust (TableKind)));
775
796
}
776
797
777
798
extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateFile (
0 commit comments