[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
Showing
- lib/StaticAnalyzer/Core/ExprEngineCXX.cpp 7 additions, 4 deletionslib/StaticAnalyzer/Core/ExprEngineCXX.cpp
- test/Analysis/NewDelete-path-notes.cpp 37 additions, 101 deletionstest/Analysis/NewDelete-path-notes.cpp
- test/Analysis/new-with-exceptions.cpp 7 additions, 25 deletionstest/Analysis/new-with-exceptions.cpp
Loading
Please register or sign in to comment