https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118204
Bug ID: 118204
Summary: Clang is dropping -fsanitize=vptr from default
-fsanitize=undefined
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: sanitizer
Assignee: unassigned at gcc dot gnu.org
Reporter: sjames at gcc dot gnu.org
CC: dodji at gcc dot gnu.org, dvyukov at gcc dot gnu.org,
jakub at gcc dot gnu.org, kcc at gcc dot gnu.org
Target Milestone: ---
I'm filing this in case we want/need to change behaviour to follow Clang, but
not saying we do need to.
Clang is changing -fsanitize=undefined to no longer imply -fsanitize=vptr in
https://github.com/llvm/llvm-project/pull/121115.
The rationale there is:
"""
This makes undefined more consistent.
vptr check adds additional constraints:
rtti is no, or compilation error
c++abi, or linking error
trap is off, or silently disabled
So it's not obvious if -fsanitizer=undefined will have it on.
"""
Do we want to do this? I suspect not, because I think that the situation with
some checks not being enabled by the meta/larger options is already confusing,
and this makes it worse.