[llvm-branch-commits] [clang] [ubsan] Remove -fsanitizer=vptr from -fsanitizer=undefined (PR #121115)
Vitaly Buka via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Dec 26 13:41:44 PST 2024
https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/121115
>From 1985ea4a74dbc02c8143eff8ab2958615963d2b7 Mon Sep 17 00:00:00 2001
From: Vitaly Buka <vitalybuka at google.com>
Date: Thu, 26 Dec 2024 13:35:29 -0800
Subject: [PATCH] rebase
Created using spr 1.3.4
---
clang/docs/ReleaseNotes.rst | 2 +-
clang/docs/UndefinedBehaviorSanitizer.rst | 15 ++++++++-------
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/clang/docs/ReleaseNotes.rst b/clang/docs/ReleaseNotes.rst
index 05e5182d3429c9..a391ab14c50ffc 100644
--- a/clang/docs/ReleaseNotes.rst
+++ b/clang/docs/ReleaseNotes.rst
@@ -1248,7 +1248,7 @@ Sanitizers
by the compiler (for example,
``-fno-sanitize-merge=bool,enum,array-bounds,local-bounds``).
-- ``-fsanitize=vptr`` is not included into ``-fsanitize=undefined``.
+- ``-fsanitize=vptr`` is no longer part of ``-fsanitize=undefined``.
Python Binding Changes
----------------------
diff --git a/clang/docs/UndefinedBehaviorSanitizer.rst b/clang/docs/UndefinedBehaviorSanitizer.rst
index df7a6e3c663d82..6c82a65bc125c0 100644
--- a/clang/docs/UndefinedBehaviorSanitizer.rst
+++ b/clang/docs/UndefinedBehaviorSanitizer.rst
@@ -210,12 +210,18 @@ Available checks are:
(see ``-fsanitize=implicit-integer-conversion``).
- ``-fsanitize=vla-bound``: A variable-length array whose bound
does not evaluate to a positive value.
+ - ``-fsanitize=vptr``: Use of an object whose vptr indicates that it is of
+ the wrong dynamic type, or that its lifetime has not begun or has ended.
+ Incompatible with ``-fno-rtti``. Link must be performed by ``clang++``, not
+ ``clang``, to make sure C++-specific parts of the runtime library and C++
+ standard libraries are present. The check is not a part of the ``undefined``
+ group. Also it does not support ``-fsanitize-trap=vptr``.
You can also use the following check groups:
- ``-fsanitize=undefined``: All of the checks listed above other than
``float-divide-by-zero``, ``unsigned-integer-overflow``,
- ``implicit-conversion``, ``local-bounds`` and the ``nullability-*`` group
- of checks.
+ ``implicit-conversion``, ``local-bounds``, ``vptr`` and the
+ ``nullability-*`` group of checks.
- ``-fsanitize=undefined-trap``: Deprecated alias of
``-fsanitize=undefined``.
- ``-fsanitize=implicit-integer-truncation``: Catches lossy integral
@@ -244,11 +250,6 @@ You can also use the following check groups:
``nullability-assign``, and ``nullability-return``. While violating
nullability does not have undefined behavior, it is often unintentional,
so UBSan offers to catch it.
-- ``-fsanitize=vptr``: Use of an object whose vptr indicates that it is of
- the wrong dynamic type, or that its lifetime has not begun or has ended.
- Incompatible with ``-fno-rtti``. Link must be performed by ``clang++``, not
- ``clang``, to make sure C++-specific parts of the runtime library and C++
- standard libraries are present.
Volatile
--------
More information about the llvm-branch-commits
mailing list