summary refs log tree commit diff
path: root/tests/codegen-llvm/debug-column.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codegen-llvm/debug-column.rs')
-rw-r--r--tests/codegen-llvm/debug-column.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/codegen-llvm/debug-column.rs b/tests/codegen-llvm/debug-column.rs
new file mode 100644
index 00000000000..2aa0a8a864c
--- /dev/null
+++ b/tests/codegen-llvm/debug-column.rs
@@ -0,0 +1,25 @@
+// Verify that debuginfo column numbers are 1-based byte offsets.
+//
+//@ ignore-msvc
+//@ compile-flags: -C debuginfo=2
+
+#[rustfmt::skip]
+fn main() {
+    unsafe {
+        // Column numbers are 1-based. Regression test for #65437.
+        // CHECK: call void @giraffe(){{( #[0-9]+)?}}, !dbg [[A:!.*]]
+        giraffe();
+
+        // Column numbers use byte offests. Regression test for #67360
+        // CHECK: call void @turtle(){{( #[0-9]+)?}}, !dbg [[B:!.*]]
+/* ż */ turtle();
+
+        // CHECK: [[A]] = !DILocation(line: 11, column: 9,
+        // CHECK: [[B]] = !DILocation(line: 15, column: 10,
+    }
+}
+
+extern "C" {
+    fn giraffe();
+    fn turtle();
+}