@@ -697,6 +697,25 @@ static DICompileUnit::DebugEmissionKind fromRust(LLVMRustDebugEmissionKind Kind)
697697 }
698698}
699699
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+
700719enum class LLVMRustChecksumKind {
701720 None,
702721 MD5,
@@ -765,13 +784,15 @@ extern "C" LLVMMetadataRef LLVMRustDIBuilderCreateCompileUnit(
765784 const char *Flags, unsigned RuntimeVer,
766785 const char *SplitName, size_t SplitNameLen,
767786 LLVMRustDebugEmissionKind Kind,
768- uint64_t DWOId, bool SplitDebugInlining) {
787+ uint64_t DWOId, bool SplitDebugInlining,
788+ LLVMRustDebugNameTableKind TableKind) {
769789 auto *File = unwrapDI<DIFile>(FileRef);
770790
771791 return wrap (Builder->createCompileUnit (Lang, File, StringRef (Producer, ProducerLen),
772792 isOptimized, Flags, RuntimeVer,
773793 StringRef (SplitName, SplitNameLen),
774- fromRust (Kind), DWOId, SplitDebugInlining));
794+ fromRust (Kind), DWOId, SplitDebugInlining,
795+ false , fromRust (TableKind)));
775796}
776797
777798extern " C" LLVMMetadataRef LLVMRustDIBuilderCreateFile (
0 commit comments