[clang] [Clang] [CodeGen] UBSan Trap Reasons (PR #145967)
Anthony Tran via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 3 23:07:41 PDT 2025
anthonyhatran wrote:
Commit #3 (338505e) Update:
Apologies for taking a bit on the commit, took a while to fix test cases. I'll list how the 5 test cases were fixed below:
1. {`clang/test/CodeGen/ubsan-trap-debugloc.c`}: Hand written, so I adjusted the unmerged trap checks to expect a synthetic `line: 0` trap-message location.
2. {`clang/test/CodeGen/bounds-checking-debuginfo.c, clang/test/CodeGen/cfi-icall-generalize-debuginfo.c, clang/test/CodeGen/cfi-icall-normalize2-debuginfo.c`}: Noticed that these were auto generated to match emitted IR. Since our feature made changes to emitted IR, I just reran utils/update_cc_test_checks.py to regenerate them.
3. {`clang/test/CodeGen/cfi-check-fail-debuginfo.c`}: This tried to wrap an already-synthetic location a second time causing a crash, so I added a guard in `EmitTrapCheck`: if the current `DILocation` is synthetic, we skip rewrapping it.
As for other changes, I re-added the `TrapMessage` is empty check, reworded `SanitizerHandler::DynamicTypeCacheMiss`'s string and updated the test cases to reflect the actual strings. Also added a comment for `BoundsSafety`
https://github.com/llvm/llvm-project/pull/145967
More information about the cfe-commits
mailing list