]> granicus.if.org Git - clang/commit
[analyzer] Enable c++-allocator-inlining by default.
authorArtem Dergachev <artem.dergachev@gmail.com>
Wed, 24 Jan 2018 20:59:40 +0000 (20:59 +0000)
committerArtem Dergachev <artem.dergachev@gmail.com>
Wed, 24 Jan 2018 20:59:40 +0000 (20:59 +0000)
commitd203f0ac27b618bcec806b68fec380ca73e2b916
treecb948510f0b8c7dbb443892abf256e6b33372b7a
parent0ecda274ef03a5908e5ea9d7dedbe1c564486de6
[analyzer] Enable c++-allocator-inlining by default.

This allows the analyzer to analyze ("inline") custom operator new() calls and,
even more importantly, inline constructors of objects that were allocated
by any operator new() - not necessarily a custom one.

All changes in the tests in the current commit are intended improvements,
even if they didn't carry any explicit FIXME flag.

It is possible to restore the old behavior via

  -analyzer-config c++-allocator-inlining=false

(this flag is supported by scan-build as well, and it can be into a clang
--analyze invocation via -Xclang .. -Xclang ..). There is no intention to
remove the old behavior for now.

Differential Revision: https://reviews.llvm.org/D42219
rdar://problem/12180598

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@323373 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
test/Analysis/NewDelete-custom.cpp
test/Analysis/ctor.mm
test/Analysis/new.cpp
test/Analysis/virtualcall.cpp