@@ -2,7 +2,7 @@ use super::debuginfo::{
22 DIBuilder , DIDescriptor , DIFile , DILexicalBlock , DISubprogram , DIType ,
33 DIBasicType , DIDerivedType , DICompositeType , DIScope , DIVariable ,
44 DIGlobalVariableExpression , DIArray , DISubrange , DITemplateTypeParameter , DIEnumerator ,
5- DINameSpace , DIFlags , DISPFlags ,
5+ DINameSpace , DIFlags , DISPFlags , DebugEmissionKind ,
66} ;
77
88use libc:: { c_uint, c_int, size_t, c_char} ;
@@ -605,6 +605,26 @@ pub mod debuginfo {
605605 const SPFlagOptimized = ( 1 << 4 ) ;
606606 }
607607 }
608+
609+ /// LLVMRustDebugEmissionKind
610+ #[ derive( Copy , Clone ) ]
611+ #[ repr( C ) ]
612+ pub enum DebugEmissionKind {
613+ NoDebug ,
614+ FullDebug ,
615+ LineTablesOnly ,
616+ }
617+
618+ impl DebugEmissionKind {
619+ pub fn from_generic ( kind : rustc:: session:: config:: DebugInfo ) -> Self {
620+ use rustc:: session:: config:: DebugInfo ;
621+ match kind {
622+ DebugInfo :: None => DebugEmissionKind :: NoDebug ,
623+ DebugInfo :: Limited => DebugEmissionKind :: LineTablesOnly ,
624+ DebugInfo :: Full => DebugEmissionKind :: FullDebug ,
625+ }
626+ }
627+ }
608628}
609629
610630extern { pub type ModuleBuffer ; }
@@ -1381,7 +1401,8 @@ extern "C" {
13811401 isOptimized : bool ,
13821402 Flags : * const c_char ,
13831403 RuntimeVer : c_uint ,
1384- SplitName : * const c_char )
1404+ SplitName : * const c_char ,
1405+ kind : DebugEmissionKind )
13851406 -> & ' a DIDescriptor ;
13861407
13871408 pub fn LLVMRustDIBuilderCreateFile ( Builder : & DIBuilder < ' a > ,
0 commit comments