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.

Reply via email to