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.