summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/docs/ReleaseNotes.rst
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2016-04-13 11:35:47 +0000
committerAlexander Kornienko <alexfh@google.com>2016-04-13 11:35:47 +0000
commit855d97e30caedfa0dea3adf8928f71b16dd8a907 (patch)
tree675cf9ce2fd58594116ad39ec522b37920e95942 /clang-tools-extra/docs/ReleaseNotes.rst
parent4191b90c7560c500cb67defbb10c9ab3bc0563c7 (diff)
downloadbcm5719-llvm-855d97e30caedfa0dea3adf8928f71b16dd8a907.tar.gz
bcm5719-llvm-855d97e30caedfa0dea3adf8928f71b16dd8a907.zip
Complete support for C++ Core Guidelines Type.6: Always initialize a member variable.
Summary: Added the remaining features needed to satisfy C++ Core Guideline Type.6: Always initialize a member variable to cppcoreguidelines-pro-type-member-init. The check now flags all default-constructed uses of record types without user-provided default constructors that would leave their memory in an undefined state. The check suggests value initializing them instead. Reviewers: flx, alexfh, aaron.ballman Subscribers: klimek, aaron.ballman, LegalizeAdulthood, cfe-commits Patch by Michael Miller! Differential Revision: http://reviews.llvm.org/D18584 llvm-svn: 266191
Diffstat (limited to 'clang-tools-extra/docs/ReleaseNotes.rst')
-rw-r--r--clang-tools-extra/docs/ReleaseNotes.rst16
1 files changed, 16 insertions, 0 deletions
diff --git a/clang-tools-extra/docs/ReleaseNotes.rst b/clang-tools-extra/docs/ReleaseNotes.rst
index b4c79199b81..bbf893c5cb6 100644
--- a/clang-tools-extra/docs/ReleaseNotes.rst
+++ b/clang-tools-extra/docs/ReleaseNotes.rst
@@ -276,6 +276,22 @@ The 3.8 release didn't include release notes for :program:`clang-tidy`. In the
* `readability-uniqueptr-delete-release
<http://llvm.org/releases/3.8.0/tools/clang/tools/extra/docs/clang-tidy/checks/readability-uniqueptr-delete-release.html>`_
+- Updated ``cppcoreguidelines-pro-member-type-member-init`` check
+
+ This check now conforms to C++ Core Guidelines rule Type.6: Always Initialize
+ a Member Variable. The check examines every record type where construction
+ might result in an undefined memory state. These record types needing
+ initialization have at least one default-initialized built-in, pointer,
+ array or record type matching these criteria or a default-initialized
+ direct base class of this kind.
+
+ The check has two complementary aspects:
+ 1. Ensure every constructor for a record type needing initialization
+ value-initializes all members and direct bases via a combination of
+ in-class initializers and the member initializer list.
+ 2. Value-initialize every non-member instance of a record type needing
+ initialization that lacks a user-provided default constructor, e.g.
+ a POD.
Improvements to modularize
--------------------------
OpenPOWER on IntegriCloud