[PATCH] D151209: [Verifier] Check catchpad for MSVC_CXX Personality
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 23 09:00:04 PDT 2023
rnk accepted this revision.
rnk added a subscriber: akhuang.
rnk added a comment.
This revision is now accepted and ready to land.
lgtm, thanks!
This will, for example, prevent a pass like ASan from moving the catch object into the dynamic stack allocation. And, it looks like we have that exact bug:
https://gcc.godbolt.org/z/3aveP3rbj
See the IR, which uses a catch object based on the dynamic alloca:
store i64 %11, ptr %asan_local_stack_base, align 8
%12 = add i64 %11, 32
%13 = inttoptr i64 %12 to ptr
...
catch: ; preds = %catch.dispatch
%24 = catchpad within %23 [ptr @"??_R0H at 8", i32 0, ptr %13], !dbg !19
So, this will break builds using ASan and WinEH, but they are already known to be incompatible. + at akhuang
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D151209/new/
https://reviews.llvm.org/D151209
More information about the llvm-commits
mailing list