[all-commits] [llvm/llvm-project] 8138d8: [analyzer] Update the undefined assignment checker...

David Tarditi via All-commits all-commits at lists.llvm.org
Wed Feb 26 04:57:55 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8138d85f630726d2ddbf4a7950683c7db3853eb8
      https://github.com/llvm/llvm-project/commit/8138d85f630726d2ddbf4a7950683c7db3853eb8
  Author: David Tarditi <d_tarditi at apple.com>
  Date:   2025-02-26 (Wed, 26 Feb 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
    M clang/test/Analysis/Inputs/expected-plists/edges-new.mm.plist
    M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
    M clang/test/Analysis/a_flaky_crash.cpp
    M clang/test/Analysis/analysis-after-multiple-dtors.cpp
    M clang/test/Analysis/array-init-loop.cpp
    M clang/test/Analysis/array-punned-region.c
    M clang/test/Analysis/builtin_overflow_notes.c
    M clang/test/Analysis/call-invalidation.cpp
    M clang/test/Analysis/ctor-array.cpp
    M clang/test/Analysis/ctor.mm
    M clang/test/Analysis/diagnostics/no-store-func-path-notes.m
    M clang/test/Analysis/fread.c
    M clang/test/Analysis/implicit-ctor-undef-value.cpp
    M clang/test/Analysis/initialization.c
    M clang/test/Analysis/initialization.cpp
    M clang/test/Analysis/kmalloc-linux.c
    M clang/test/Analysis/malloc-annotations.c
    M clang/test/Analysis/malloc.c
    M clang/test/Analysis/misc-ps.c
    M clang/test/Analysis/operator-calls.cpp
    M clang/test/Analysis/stack-addr-ps.cpp
    M clang/test/Analysis/undef-buffers.c
    M clang/test/Analysis/uninit-const.c
    M clang/test/Analysis/uninit-const.cpp
    M clang/test/Analysis/uninit-structured-binding-array.cpp
    M clang/test/Analysis/uninit-structured-binding-struct.cpp
    M clang/test/Analysis/uninit-structured-binding-tuple.cpp
    M clang/test/Analysis/uninit-vals.m
    M clang/test/Analysis/zero-size-non-pod-array.cpp

  Log Message:
  -----------
  [analyzer] Update the undefined assignment checker diagnostics to not use the term 'garbage' (#126596)

A clang user pointed out that messages for the static analyzer undefined
assignment checker use the term ‘garbage’, which might have a negative
connotation to some users. This change updates the messages to use the
term ‘uninitialized’. This is the usual reason why a value is undefined
in the static analyzer and describes the logical error that a programmer
should take action to fix.

Out-of-bounds reads can also produce undefined values in the static
analyzer. The right long-term design is to have to the array bounds
checker cover out-of-bounds reads, so we do not cover that case in the
updated messages. The recent improvements to the array bounds checker
make it a candidate to add to the core set of checkers.

rdar://133418644



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list