3 Commits

Author SHA1 Message Date
Arseniy Zaostrovnykh
e4bb68b871
[analyzer] Model constructor initializer for an array member (#107537)
Bind the array member to the compound region associated with the
initializer list, e.g.:

    class C {
      int arr[2];
      C() : arr{1, 2} {}
    };
    C c;

This change enables correct values in `c.arr[0]` and `c.arr[1]`

CPP-5647
2024-09-06 15:55:16 +02:00
Donát Nagy
9ad92c4769
[analyzer][NFC] Minor cleanup in two test files. (#100570)
This commit contains two unrelated trivial changes:

(1) Three unused variables are removed from `ctor.mm`.
(2) A FIXME block is removed from `ctor-array.cpp` because it described
    an issue that was resolved since then.
2024-07-25 15:56:17 +02:00
isuckatcs
b032e3ff61 [analyzer] Evaluate construction of non-POD type arrays
Introducing the support for evaluating the constructor
of every element in an array. The idea is to record the
index of the current array member being constructed and
create a loop during the analysis. We looping over the
same CXXConstructExpr as many times as many elements
the array has.

Differential Revision: https://reviews.llvm.org/D127973
2022-07-14 23:30:21 +02:00