]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/cp/init.cc
Core 234 - allow const objects with no initializer or user-provided default...
authorJason Merrill <jason@redhat.com>
Fri, 23 Sep 2011 21:30:48 +0000 (17:30 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Fri, 23 Sep 2011 21:30:48 +0000 (17:30 -0400)
commit6132bdd72ebbcea9621519330d07ccb9a8c29f9d
tree27fb16e2fc64479b18cb550986fc37b17d95f5ee
parentd303ec8e17aa1730e29e5f0666ac82ea131990df
Core 234 - allow const objects with no initializer or user-provided default...

Core 234 - allow const objects with no initializer or
user-provided default constructor if the defaulted constructor
initializes all the subobjects.
PR c++/20039
PR c++/42844
* class.c (default_init_uninitialized_part): New.
* cp-tree.h: Declare it.
* decl.c (check_for_uninitialized_const_var): Use it.
* init.c (perform_member_init): Likewise.
(build_new_1): Likewise.
* method.c (walk_field_subobs): Likewise.

From-SVN: r179130
13 files changed:
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/init.c
gcc/cp/method.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/constexpr-object1.C
gcc/testsuite/g++.dg/cpp0x/defaulted2.C
gcc/testsuite/g++.dg/cpp0x/pr42844-2.C
gcc/testsuite/g++.dg/init/const8.C [new file with mode: 0644]
gcc/testsuite/g++.dg/init/pr20039.C
gcc/testsuite/g++.dg/init/pr42844.C