================ @@ -809,25 +809,130 @@ Code Completion Static Analyzer --------------- -- The Clang Static Analyzer now handles parenthesized initialization. - (#GH148875) -- ``__datasizeof`` (C++) and ``_Countof`` (C) no longer cause a failed assertion - when given an operand of VLA type. (#GH151711) -New features -^^^^^^^^^^^^ +New checkers or options +^^^^^^^^^^^^^^^^^^^^^^^ + +- Introduced the ``alpha.core.StoreToImmutable`` checker to catch writes to + immutable memory. See the `documentation + <https://clang.llvm.org/docs/analyzer/checkers.html#alpha-core-storetoimmutable-c-c>`__. + (#GH150417) +- Introduced the ``core.NullPointerArithm`` checker to catch arithmetic on + null pointers. See the `documentation + <https://clang.llvm.org/docs/analyzer/checkers.html#core-nullpointerarithm-c-c>`__. + (#GH157129) +- The ``core.CallAndMessage`` checker gained a new checker option called + ``ArgPointeeInitializednessComplete``, enabling suppression of diagnostics + of this checker in case at least some parts of the object was initialized. + By default it's disabled. (#GH164600) Crash and bug fixes ^^^^^^^^^^^^^^^^^^^ + - Fixed a crash in the static analyzer that when the expression in an - ``[[assume(expr)]]`` attribute was enclosed in parentheses. (#GH151529) + ``[[assume(expr)]]`` attribute was enclosed in parentheses. (#GH151529) +- Fixed an assertion failure of ``[[assume(expr)]]`` when the expression + couldn't be folded into a constant by the engine. (#GH151854) +- ``__datasizeof`` (C++) and ``_Countof`` (C) no longer cause a failed assertion + when given an operand of VLA type. (#GH151711) +- Sometimes the ``unix.Malloc`` checker asserted when constructing a report under + rare circumstances. (#GH149754) +- The ``core.StackAddressEscape`` checker was crashing if a lambda or + Objective-C block expression captured itself. (#GH169208) +- Fixed an assertion in the ``alpha.unix.cstring`` checker package when + non-default address-spaces were used in ``memcpy``. (#GH153498) +- The engine sometimes crashed when modeling a parenthesis initializer-list + expression. (#GH147686) +- `crosscheck-with-z3 <https://clang.llvm.org/docs/analyzer/user-docs/Options.html#crosscheck-with-z3>`__ + config option sometimes crashed. (#GH168034) +- The ``alpha.core.StdVariant`` checker sometimes crashed when floating-point + values were involved. (#GH167341) ---------------- steakhal wrote:
Unknown values are not actionable for the end users, who are expected to read this document. One major source of unknown svals is floating-point values (this is what we also use for the related tests). Although unknown svals may appear for other reasons, they are rare enough. From what I could see, type aliases have not much to do with the crashes. https://github.com/llvm/llvm-project/pull/174450 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
