[all-commits] [llvm/llvm-project] 76ec5a: [clang] Polymorphic Cleanup type is moved despite ...
Oliver Hunt via All-commits
all-commits at lists.llvm.org
Wed Sep 3 00:18:43 PDT 2025
Branch: refs/heads/users/ojhunt/clang-arm64e-moved-polymorphic-objects-fix
Home: https://github.com/llvm/llvm-project
Commit: 76ec5a58f3e63b192f490d691ee236800f14ee16
https://github.com/llvm/llvm-project/commit/76ec5a58f3e63b192f490d691ee236800f14ee16
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-09-03 (Wed, 03 Sep 2025)
Changed paths:
M clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CodeGen/EHScopeStack.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[clang] Polymorphic Cleanup type is moved despite not being true POD types
Clang has a number of Cleanup types used in exception handling, these
are presumed to be POD types that can be memmoved as needed, however
this is not correct by default on platforms with pointer authentication
that make vtable pointers address discriminated.
This PR mitigates this problem by introducing a LLVM_MOVABLE_POLYMORPHIC_TYPE
macro that can be used to annotate polymorphic types that are required to
be movable, to override the use of address discrimination of the vtable pointer.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list