[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #9 from jason at gcc dot gnu dot org 2008-02-04 03:29 --- Subject: Bug 33916 Author: jason Date: Mon Feb 4 03:28:53 2008 New Revision: 132088 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=132088 Log: PR c++/33916 * cp/init.c (build_value_init_1): New function. (build_value_init): New function. * cp/typeck2.c (build_functional_cast): Call it. * cp/cp-gimplify.c (cp_gimplify_init_expr): Handle its output. * cp/cp-tree.h (TYPE_HAS_USER_CONSTRUCTOR): Rename from TYPE_HAS_CONSTRUCTOR. * cp/class.c (finish_struct_bits, maybe_warn_about_overly_private_class, add_implicitly_declared_members): Adjust. (check_field_decls): Adjust. Remove warnings about reference/const in class without constructor. (check_bases_and_members): Adjust. Give those warnings here instead. * cp/decl.c (fixup_anonymous_aggr): Adjust. (check_initializer): Adjust, clarify logic slightly. (grok_special_member_properties): Adjust, only set if user-provided. * cp/rtti.c (create_tinfo_types): Don't set. * cp/cvt.c (ocp_convert): Remove exception for vtable_entry_type et al. Use same_type_ignoring_top_level_qualifiers_p. * cp/pt.c (check_explicit_specialization): Adjust. (instantiate_class_template): Adjust. * print-tree.c (print_node) [CONSTRUCTOR]: Print elements. Added: trunk/gcc/testsuite/g++.dg/init/value1.C trunk/gcc/testsuite/g++.dg/warn/Wextra-1.C trunk/gcc/testsuite/g++.dg/warn/Wextra-2.C Modified: trunk/gcc/ChangeLog trunk/gcc/cp/ChangeLog trunk/gcc/cp/class.c trunk/gcc/cp/cp-gimplify.c trunk/gcc/cp/cp-tree.h trunk/gcc/cp/cvt.c trunk/gcc/cp/decl.c trunk/gcc/cp/init.c trunk/gcc/cp/pt.c trunk/gcc/cp/rtti.c trunk/gcc/cp/typeck2.c trunk/gcc/print-tree.c trunk/gcc/testsuite/g++.dg/init/ctor8.C -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #8 from jsm28 at gcc dot gnu dot org 2008-02-01 16:55 --- 4.2.3 is being released now, changing milestones of open bugs to 4.2.4. -- jsm28 at gcc dot gnu dot org changed: What|Removed |Added Target Milestone|4.2.3 |4.2.4 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #7 from rguenth at gcc dot gnu dot org 2008-01-25 15:46 --- Jason, can you coordinate with Mark and help with the remaining P1 C++ regressions? -- rguenth at gcc dot gnu dot org changed: What|Removed |Added CC||jason at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #6 from steven at gcc dot gnu dot org 2008-01-22 21:01 --- There is some discussion about this bug in the following thread on gcc-patches: http://gcc.gnu.org/ml/gcc-patches/2008-01/msg00326.html -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #5 from crowl at google dot com 2008-01-07 18:58 --- Subject: Re: [4.2/4.3 Regression] Default constructor fails to initialize array members Value initialization was in C++98 TC1 (2003) as a result of core issue 178. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #4 from mmitchel at gcc dot gnu dot org 2008-01-07 18:13 --- I still agree that we should fix this -- but it is worth noting that value-initialization did not exist in C++98. I believe that the current G++ behavior conforms to the original C++98 specification. Does anyone know if this change was in C++98 TC1? Or not until C++0x? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added AssignedTo|unassigned at gcc dot gnu |mmitchel at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2007-12-10 18:15:07 |2008-01-02 23:32:42 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
-- mmitchel at gcc dot gnu dot org changed: What|Removed |Added Priority|P3 |P1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot ||org Target Milestone|--- |4.2.3 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916
[Bug c++/33916] [4.2/4.3 Regression] Default constructor fails to initialize array members
--- Comment #3 from janis at gcc dot gnu dot org 2007-12-11 00:03 --- A regression hunt on powerpc-linux identified this patch: http://gcc.gnu.org/viewcvs?view=rev&rev=117834 r117834 | mmitchel | 2006-10-17 22:35:29 + (Tue, 17 Oct 2006) -- janis at gcc dot gnu dot org changed: What|Removed |Added CC||mmitchel at gcc dot gnu dot ||org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916