summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSylvestre Ledru <sylvestre@debian.org>2013-12-16 10:43:55 +0000
committerSylvestre Ledru <sylvestre@debian.org>2013-12-16 10:43:55 +0000
commit309dd0952bd2035517b7e85c271db43ffb8ee2f3 (patch)
tree099221b981a39a1544b152c59ab101c37a2d4776
parent03e463e293f5ecf62cb8c807d00edb9fbb1f99d7 (diff)
downloadclang-309dd0952bd2035517b7e85c271db43ffb8ee2f3.tar.gz
clang-309dd0952bd2035517b7e85c271db43ffb8ee2f3.tar.bz2
clang-309dd0952bd2035517b7e85c271db43ffb8ee2f3.tar.xz
Rewrite the static analyzer changes description for the 3.4 release.
After chatting with Anna Zaks, she believes that my code samples were more bugs in the previous releases of the static analyzer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@197377 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/ReleaseNotes.rst44
1 files changed, 2 insertions, 42 deletions
diff --git a/docs/ReleaseNotes.rst b/docs/ReleaseNotes.rst
index d6b128f732..a10deb6a62 100644
--- a/docs/ReleaseNotes.rst
+++ b/docs/ReleaseNotes.rst
@@ -188,48 +188,8 @@ libclang
Static Analyzer
---------------
-The static analyzer (which contains additional code checking beyond compiler
-warnings) has improved significantly in both in the core analysis engine and
-also in the kinds of issues it can find.
-
-For example, the static analyzer now manages the following cases:
-
-- Missing return after function pointer null check.
-
-.. code-block:: c
-
- void foo(void (*f)(void)) {
- if (f)
- return;
- f();
- }
-
-- Detect when ``delete`` is used on an uninitialized variable.
-
-.. code-block:: c++
-
- void foo() {
- int *x;
- delete[] x;
- }
-
-- Handle destructors for the argument to C++ ``delete``.
-
-.. code-block:: c++
-
- class DerefClass{
- public:
- int *x;
- DerefClass() {}
- ~DerefClass() {*x = 1;}
- };
-
- void testDoubleDeleteClassInstance() {
- DerefClass *foo = new DerefClass();
- delete foo;
- delete foo;
- }
-
+The static analyzer has been greatly improved. This impacts the overall analyzer quality and reduces a number of false positives.
+In particular, this release provides enhanced C++ support, reasoning about initializer lists, zeroing constructors, noreturn destructors and modeling of destructor calls on calls to delete.
Clang Format
------------