[patch] Eliminate signed sizetypes (3/3)

Eric Botcazou ebotcazou@adacore.com
Sun Apr 18 12:21:00 GMT 2010


This finally eliminates signed sizetypes, in the sense that front-ends must 
now pass an unsigned type to set_sizetype.  The middle-end then derives a 
proper signed variant of this unsigned sizetype.  This also fixes incorrect 
uses of size_type_node in lieu of sizetype (and one the other way around).

Tested on x86_64-suse-linux, OK for the mainline?


2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>

	* fold-const.c (fold_comparison): Use ssizetype.
	* gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
	* ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
	* tree-loop-distribution.c (build_size_arg_loc): Likewise.
	* tree-object-size.c (compute_object_sizes): Use size_type_node.

	* tree.h (initialize_sizetypes): Remove parameter.
	(build_common_tree_nodes): Remove second parameter.
	* stor-layout.c (initialize_sizetypes): Remove parameter.
	Always create an unsigned type.
	(set_sizetype): Assert that the passed type is unsigned and simplify.
	* tree.c (build_common_tree_nodes): Remove second parameter.
	Adjust call to initialize_sizetypes.
	* c-decl.c (c_init_decl_processing): Remove second argument in call to
	build_common_tree_nodes.
cp/
	* decl.c (cxx_init_decl_processing): Remove second argument in call to
	build_common_tree_nodes.

java/
	* decl.c (java_init_decl_processing): Remove argument in call to
	initialize_sizetypes

fortran/
	* f95-lang.c (gfc_init_decl_processing): Remove second argument in call
	to build_common_tree_nodes.

ada/
	* gcc-interface/misc.c (gnat_init): Remove second argument in call to
	build_common_tree_nodes.

lto/
	* lto-lang.c (lto_init): Remove second argument in call to
	build_common_tree_nodes.


-- 
Eric Botcazou
-------------- next part --------------
A non-text attachment was scrubbed...
Name: p.diff
Type: text/x-diff
Size: 13559 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20100418/d05dd835/attachment.bin>


More information about the Gcc-patches mailing list