diff options
| author | Josh Stone <jistone@redhat.com> | 2019-01-22 13:01:14 -0800 |
|---|---|---|
| committer | Josh Stone <jistone@redhat.com> | 2019-01-25 15:39:54 -0800 |
| commit | cff075009032d11cff3a625663cf460e71e81609 (patch) | |
| tree | fb848d992fd4db22b2e04ac5f8e898f5d07d6ef9 /src/librustc_codegen_llvm/llvm | |
| parent | 75d0bceb0aaa399a9c8de2913dd78cc6df295222 (diff) | |
| download | rust-cff075009032d11cff3a625663cf460e71e81609.tar.gz rust-cff075009032d11cff3a625663cf460e71e81609.zip | |
Set the DICompileUnit emissionKind
Diffstat (limited to 'src/librustc_codegen_llvm/llvm')
| -rw-r--r-- | src/librustc_codegen_llvm/llvm/ffi.rs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/librustc_codegen_llvm/llvm/ffi.rs b/src/librustc_codegen_llvm/llvm/ffi.rs index 853c1ff0047..199c1220a2c 100644 --- a/src/librustc_codegen_llvm/llvm/ffi.rs +++ b/src/librustc_codegen_llvm/llvm/ffi.rs @@ -2,7 +2,7 @@ use super::debuginfo::{ DIBuilder, DIDescriptor, DIFile, DILexicalBlock, DISubprogram, DIType, DIBasicType, DIDerivedType, DICompositeType, DIScope, DIVariable, DIGlobalVariableExpression, DIArray, DISubrange, DITemplateTypeParameter, DIEnumerator, - DINameSpace, DIFlags, DISPFlags, + DINameSpace, DIFlags, DISPFlags, DebugEmissionKind, }; use libc::{c_uint, c_int, size_t, c_char}; @@ -605,6 +605,26 @@ pub mod debuginfo { const SPFlagOptimized = (1 << 4); } } + + /// LLVMRustDebugEmissionKind + #[derive(Copy, Clone)] + #[repr(C)] + pub enum DebugEmissionKind { + NoDebug, + FullDebug, + LineTablesOnly, + } + + impl DebugEmissionKind { + pub fn from_generic(kind: rustc::session::config::DebugInfo) -> Self { + use rustc::session::config::DebugInfo; + match kind { + DebugInfo::None => DebugEmissionKind::NoDebug, + DebugInfo::Limited => DebugEmissionKind::LineTablesOnly, + DebugInfo::Full => DebugEmissionKind::FullDebug, + } + } + } } extern { pub type ModuleBuffer; } @@ -1381,7 +1401,8 @@ extern "C" { isOptimized: bool, Flags: *const c_char, RuntimeVer: c_uint, - SplitName: *const c_char) + SplitName: *const c_char, + kind: DebugEmissionKind) -> &'a DIDescriptor; pub fn LLVMRustDIBuilderCreateFile(Builder: &DIBuilder<'a>, |
