Previously, information about ConstructionContextLayer was not propagated thru causing the expression like:
Var c = (createVar());
To produce unrelated temporary for the createVar() result and conjure new symbol for value of c in C++17 mode.
Details
Diff Detail
Unit Tests
Event Timeline
This looks great!
clang/test/Analysis/NewDelete-checker-test.cpp | ||
---|---|---|
44–55 | This mail adds some insight into the usage of c++-allocator-inlining: https://lists.llvm.org/pipermail/cfe-dev/2020-February/064754.html About the code in MallocChecker that handles this flag (NewDelete is a part of this as well):
As a response, D75432 removed all code that handed c++-allocator-inlinging=false. So these RUN lines can be removed I think. | |
57–60 | This last RUN seems to be the same as the first. |
clang/test/Analysis/NewDelete-checker-test.cpp | ||
---|---|---|
57–60 | This checker enables NewDeleteLeaks, while first enables NewDelete. From what I have checked, this two seem to have different behavior. |
Removed duplicated runs that were only differing by specifying c++-allocator-inlinging=true, which is the default value.
clang/test/Analysis/NewDelete-checker-test.cpp | ||
---|---|---|
44–55 | I have removed new runs with the c++-allocator-inlinging=true, and checked other files that have duplicated runs, and removed them. |
clang/test/Analysis/NewDelete-checker-test.cpp | ||
---|---|---|
57–60 | Oh, silly me. you're right. :) |
I do not have commit rights. If there are no additional changes needed, would it be possible to you to commit the changes on my behalf?
I wanted to wait for a couple of days to see if anyone else has something to say.
I'm gonna commit your change on your behalf on Monday if it's good for you.
This mail adds some insight into the usage of c++-allocator-inlining:
https://lists.llvm.org/pipermail/cfe-dev/2020-February/064754.html
About the code in MallocChecker that handles this flag (NewDelete is a part of this as well):
As a response, D75432 removed all code that handed c++-allocator-inlinging=false. So these RUN lines can be removed I think.