summary refs log tree commit diff
path: root/tests/codegen-llvm/debug-limited.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/debug-limited.rs')
-rw-r--r--tests/codegen-llvm/debug-limited.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/codegen-llvm/debug-limited.rs b/tests/codegen-llvm/debug-limited.rs
new file mode 100644
index 00000000000..89a4ef0ca90
--- /dev/null
+++ b/tests/codegen-llvm/debug-limited.rs
@@ -0,0 +1,27 @@
+// Verify that the limited debuginfo option emits llvm's FullDebugInfo, but no type info.
+//
+//@ compile-flags: -C debuginfo=limited
+
+#[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: FullDebug
+// CHECK: !DILocation
+// CHECK-NOT: !DIBasicType