https://github.com/spaits updated https://github.com/llvm/llvm-project/pull/76501
From c1884cc4d17c446491777baa43e3996aae22ad0d Mon Sep 17 00:00:00 2001 From: Gabor Spaits <gaborspai...@gmail.com> Date: Thu, 28 Dec 2023 14:17:55 +0100 Subject: [PATCH 1/2] [analyzer] Add documentation for std::variant checker --- clang/docs/analyzer/checkers.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/clang/docs/analyzer/checkers.rst b/clang/docs/analyzer/checkers.rst index 81d40395067c9a..272e1965335ed3 100644 --- a/clang/docs/analyzer/checkers.rst +++ b/clang/docs/analyzer/checkers.rst @@ -2097,6 +2097,21 @@ This checker is a part of ``core.StackAddressEscape``, but is temporarily disabl .. _alpha-core-TestAfterDivZero: +alpha.core.StdVariant (C++) +""""""""""""""""""""""""""" +Check if a value of active type is retrieved from an ``std::variant`` instance with ``std::get``. +In case of bad variant type access(the accessed type differs from the active type) +a warning is emitted. Currently this checker does not take exception handling into account. + +.. code-block:: cpp + + void test() { + std::variant <int, char> v = 25; + char c = stg::get<char>(v); // warn + } + +.. _alpha-core-StdVariant: + alpha.core.TestAfterDivZero (C) """"""""""""""""""""""""""""""" Check for division by variable that is later compared against 0. From 240c34c0f9e11b5059cc57b44fd776584d2e768a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Spaits?= <48805437+spa...@users.noreply.github.com> Date: Thu, 28 Dec 2023 16:41:07 +0100 Subject: [PATCH 2/2] Update clang/docs/analyzer/checkers.rst Co-authored-by: DonatNagyE <donat.n...@ericsson.com> --- clang/docs/analyzer/checkers.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/docs/analyzer/checkers.rst b/clang/docs/analyzer/checkers.rst index 272e1965335ed3..7f5572c8c9c10c 100644 --- a/clang/docs/analyzer/checkers.rst +++ b/clang/docs/analyzer/checkers.rst @@ -2100,7 +2100,7 @@ This checker is a part of ``core.StackAddressEscape``, but is temporarily disabl alpha.core.StdVariant (C++) """"""""""""""""""""""""""" Check if a value of active type is retrieved from an ``std::variant`` instance with ``std::get``. -In case of bad variant type access(the accessed type differs from the active type) +In case of bad variant type access (the accessed type differs from the active type) a warning is emitted. Currently this checker does not take exception handling into account. .. code-block:: cpp _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits