[clang] [Clang][CodeGen] Emit “trap reasons” on UBSan traps (PR #145967)

Paul Kirth via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 11 09:38:20 PDT 2025


================
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -triple arm64-apple-macosx14.0.0 -O0 -debug-info-kind=standalone -dwarf-version=5 \
+// RUN: -fsanitize=float-cast-overflow -fsanitize-trap=float-cast-overflow -emit-llvm %s -o - | FileCheck %s
+
+int f(float x) { 
+  return (int)x; 
+}
+
+// CHECK: call void @llvm.ubsantrap(i8 5) {{.*}}!dbg [[LOC:![0-9]+]]
+// CHECK: [[LOC]] = !DILocation(line: 0, scope: [[MSG:![0-9]+]], {{.+}})
+// CHECK: distinct !DISubprogram(name: "__clang_trap_msg$Undefined Behavior Sanitizer$Floating-point to integer conversion overflowed"
----------------
ilovepi wrote:

It's not all that important, but it keeps the GitHub UI happy, and is pretty trivial to do, so usually we try to keep it that way.

https://github.com/llvm/llvm-project/pull/145967


More information about the cfe-commits mailing list