]> granicus.if.org Git - clang/commit
[analyzer] Assume new returns non-null even under -fno-exceptions
authorPavel Labath <labath@google.com>
Wed, 28 Aug 2013 08:04:08 +0000 (08:04 +0000)
committerPavel Labath <labath@google.com>
Wed, 28 Aug 2013 08:04:08 +0000 (08:04 +0000)
commitf18bfd44c4fe4ab28c44eecb7aeed618bcf8f627
tree182541153e2bf8793b8d392f0d8a49a0512fa471
parentf439dcb4ecb444df538c42b3284c093886fc7ab1
[analyzer] Assume new returns non-null even under -fno-exceptions

Summary:
-fno-exceptions does not implicitly attach a nothrow specifier to every operator
new. Even in this mode, non-nothrow new must not return a null pointer. Failure
to allocate memory can be signalled by other means, or just by killing the
program. This behaviour is consistent with the compiler - even with
-fno-exceptions, the generated code never tests for null (and would segfault if
the opeator actually happened to return null).

Reviewers: jordan_rose

CC: cfe-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1528

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189452 91177308-0d34-0410-b5e6-96231b3b80d8
lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
test/Analysis/NewDelete-path-notes.cpp
test/Analysis/new-with-exceptions.cpp