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