egcs/gcc/cp ChangeLog class.c cp-tree.h cvt.c ...
aoliva@gcc.gnu.org
aoliva@gcc.gnu.org
Tue May 14 10:20:00 GMT 2002
CVSROOT: /cvs/gcc
Module name: egcs
Changes by: aoliva@gcc.gnu.org 2002-05-14 10:20:49
Modified files:
gcc/cp : ChangeLog class.c cp-tree.h cvt.c decl.c init.c
tree.c typeck2.c
Log message:
* cp-tree.h (struct lang_type): Added non_zero_init.
(CLASS_NON_ZERO_INIT_P): New macro.
(zero_init_p, force_store_init_value, build_forced_zero_init): Declare.
* class.c (check_field_decls): Test non_zero_init.
* cvt.c (convert_to_pointer_force): Use cp_convert_to_pointer for
zero-to-NULL conversions.
* decl.c (obscure_complex_init): Don't reset DECL_INITIAL of a
type that needs zero-initialization without zeros.
(check_initializer_decl): Compute zero-initializer for types
that require a non-trivial one.
* init.c (build_forced_zero_init): New function.
(build_default_init): Use it.
* tree.c (zero_init_p): New function.
* typeck2.c (force_store_init_value): New function.
(process_init_constructor): Create non-trivial zero-initializers
for array members and class fields.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.2816&r2=1.2817
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.448&r2=1.449
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.713&r2=1.714
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/cvt.c.diff?cvsroot=gcc&r1=1.117&r2=1.118
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/decl.c.diff?cvsroot=gcc&r1=1.907&r2=1.908
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/init.c.diff?cvsroot=gcc&r1=1.277&r2=1.278
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/tree.c.diff?cvsroot=gcc&r1=1.282&r2=1.283
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/egcs/gcc/cp/typeck2.c.diff?cvsroot=gcc&r1=1.119&r2=1.120
More information about the Gcc-cvs
mailing list