Preserve, clarify, and extend debug information
`-Cdebuginfo=1` was never line tables only and can't be due to backwards compatibility issues. This was clarified and an option for line tables only was added. Additionally an option for line info directives only was added, which is well needed for some targets. The debug info options should now behave the same as clang's debug info options.
This commit is contained in:
parent
eb3e9c1f45
commit
0504a33383
13 changed files with 126 additions and 54 deletions
28
tests/codegen/debug-line-tables-only.rs
Normal file
28
tests/codegen/debug-line-tables-only.rs
Normal file
|
@ -0,0 +1,28 @@
|
|||
// Verify that the only debuginfo generated are the line tables.
|
||||
//
|
||||
// ignore-windows
|
||||
// compile-flags: -C debuginfo=line-tables-only
|
||||
|
||||
#[repr(C)]
|
||||
struct StructType {
|
||||
a: i64,
|
||||
b: i32
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
fn creator() -> *mut StructType;
|
||||
fn save(p: *const StructType);
|
||||
}
|
||||
|
||||
fn main() {
|
||||
unsafe {
|
||||
let value: &mut StructType = &mut* creator();
|
||||
value.a = 7;
|
||||
save(value as *const StructType)
|
||||
}
|
||||
}
|
||||
|
||||
// CHECK: !DICompileUnit
|
||||
// CHECK: emissionKind: LineTablesOnly
|
||||
// CHECK: !DILocation
|
||||
// CHECK-NOT: !DIBasicType
|
Loading…
Add table
Add a link
Reference in a new issue