Commit be88a628 by Nathan Sidwell Committed by Nathan Sidwell

tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.

	* tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
	(usize_type, ubitsizetype): Remove.
	* stor-layout.c (set_sizetype): Don't initialize usizetype,
	ubitsizetype.
	* fold-const.c (size_diffop): TYPE can never be ubitsizetype.

From-SVN: r86422
parent 8dd16ecc
2004-08-23 Nathan Sidwell <nathan@codesourcery.com> 2004-08-23 Nathan Sidwell <nathan@codesourcery.com>
* tree.h (enum size_type_kind): Remove USIZETYPE, UBITSIZETYPE.
(usize_type, ubitsizetype): Remove.
* stor-layout.c (set_sizetype): Don't initialize usizetype,
ubitsizetype.
* fold-const.c (size_diffop): TYPE can never be ubitsizetype.
* tree.h (build_distinct_type_copy): New. * tree.h (build_distinct_type_copy): New.
(build_type_copy): ... here. Rename to ... (build_type_copy): ... here. Rename to ...
(build_variant_type_copy): ... here. (build_variant_type_copy): ... here.
......
...@@ -1728,8 +1728,7 @@ size_diffop (tree arg0, tree arg1) ...@@ -1728,8 +1728,7 @@ size_diffop (tree arg0, tree arg1)
if (!TYPE_UNSIGNED (type)) if (!TYPE_UNSIGNED (type))
return size_binop (MINUS_EXPR, arg0, arg1); return size_binop (MINUS_EXPR, arg0, arg1);
ctype = (type == bitsizetype || type == ubitsizetype ctype = type == bitsizetype ? sbitsizetype : ssizetype;
? sbitsizetype : ssizetype);
/* If either operand is not a constant, do the conversions to the signed /* If either operand is not a constant, do the conversions to the signed
type and subtract. The hardware will do the right thing with any type and subtract. The hardware will do the right thing with any
......
...@@ -1921,8 +1921,6 @@ set_sizetype (tree type) ...@@ -1921,8 +1921,6 @@ set_sizetype (tree type)
if (TYPE_UNSIGNED (type)) if (TYPE_UNSIGNED (type))
{ {
usizetype = sizetype;
ubitsizetype = bitsizetype;
ssizetype = copy_node (make_signed_type (oprecision)); ssizetype = copy_node (make_signed_type (oprecision));
sbitsizetype = copy_node (make_signed_type (precision)); sbitsizetype = copy_node (make_signed_type (precision));
} }
...@@ -1930,8 +1928,6 @@ set_sizetype (tree type) ...@@ -1930,8 +1928,6 @@ set_sizetype (tree type)
{ {
ssizetype = sizetype; ssizetype = sizetype;
sbitsizetype = bitsizetype; sbitsizetype = bitsizetype;
usizetype = copy_node (make_unsigned_type (oprecision));
ubitsizetype = copy_node (make_unsigned_type (precision));
} }
TYPE_NAME (bitsizetype) = get_identifier ("bit_size_type"); TYPE_NAME (bitsizetype) = get_identifier ("bit_size_type");
......
...@@ -3077,10 +3077,8 @@ enum size_type_kind ...@@ -3077,10 +3077,8 @@ enum size_type_kind
{ {
SIZETYPE, /* Normal representation of sizes in bytes. */ SIZETYPE, /* Normal representation of sizes in bytes. */
SSIZETYPE, /* Signed representation of sizes in bytes. */ SSIZETYPE, /* Signed representation of sizes in bytes. */
USIZETYPE, /* Unsigned representation of sizes in bytes. */
BITSIZETYPE, /* Normal representation of sizes in bits. */ BITSIZETYPE, /* Normal representation of sizes in bits. */
SBITSIZETYPE, /* Signed representation of sizes in bits. */ SBITSIZETYPE, /* Signed representation of sizes in bits. */
UBITSIZETYPE, /* Unsigned representation of sizes in bits. */
TYPE_KIND_LAST}; TYPE_KIND_LAST};
extern GTY(()) tree sizetype_tab[(int) TYPE_KIND_LAST]; extern GTY(()) tree sizetype_tab[(int) TYPE_KIND_LAST];
...@@ -3088,9 +3086,7 @@ extern GTY(()) tree sizetype_tab[(int) TYPE_KIND_LAST]; ...@@ -3088,9 +3086,7 @@ extern GTY(()) tree sizetype_tab[(int) TYPE_KIND_LAST];
#define sizetype sizetype_tab[(int) SIZETYPE] #define sizetype sizetype_tab[(int) SIZETYPE]
#define bitsizetype sizetype_tab[(int) BITSIZETYPE] #define bitsizetype sizetype_tab[(int) BITSIZETYPE]
#define ssizetype sizetype_tab[(int) SSIZETYPE] #define ssizetype sizetype_tab[(int) SSIZETYPE]
#define usizetype sizetype_tab[(int) USIZETYPE]
#define sbitsizetype sizetype_tab[(int) SBITSIZETYPE] #define sbitsizetype sizetype_tab[(int) SBITSIZETYPE]
#define ubitsizetype sizetype_tab[(int) UBITSIZETYPE]
extern tree size_binop (enum tree_code, tree, tree); extern tree size_binop (enum tree_code, tree, tree);
extern tree size_diffop (tree, tree); extern tree size_diffop (tree, tree);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment