Commit 84eeda0c by Nathan Sidwell Committed by Nathan Sidwell

cp-tree.h (struct lang_decl): Shrink by reordering fields and turning…

cp-tree.h (struct lang_decl): Shrink by reordering fields and turning operator_code and fixed_offset into...

	* cp-tree.h (struct lang_decl): Shrink by reordering fields and
	turning operator_code and fixed_offset into bitfields.

From-SVN: r88337
parent 0aa36026
2004-09-30 Nathan Sidwell <nathan@codesourcery.com>
* cp-tree.h (struct lang_decl): Shrink by reordering fields and
turning operator_code and fixed_offset into bitfields.
2004-09-29 Joseph S. Myers <jsm@polyomino.org.uk> 2004-09-29 Joseph S. Myers <jsm@polyomino.org.uk>
* decl.c (duplicate_decls): Merge TREE_DEPRECATED. * decl.c (duplicate_decls): Merge TREE_DEPRECATED.
......
...@@ -1530,6 +1530,21 @@ struct lang_decl GTY(()) ...@@ -1530,6 +1530,21 @@ struct lang_decl GTY(())
{ {
struct full_lang_decl struct full_lang_decl
{ {
/* In an overloaded operator, this is the value of
DECL_OVERLOADED_OPERATOR_P. */
ENUM_BITFIELD (tree_code) operator_code : 8;
unsigned u3sel : 1;
unsigned pending_inline_p : 1;
unsigned spare : 3;
/* In a FUNCTION_DECL for which THUNK_P holds this is the
THUNK_FIXED_OFFSET. The largest object that can be
thunked is thus 262144, which is what is required [limits].
We have to store a signed value as for regular thunks this
is <= 0, and for covariant thunks it is >= 0. */
signed fixed_offset : 19;
/* For a non-thunk function decl, this is a tree list of /* For a non-thunk function decl, this is a tree list of
friendly classes. For a thunk function decl, it is the friendly classes. For a thunk function decl, it is the
thunked to function decl. */ thunked to function decl. */
...@@ -1546,17 +1561,6 @@ struct lang_decl GTY(()) ...@@ -1546,17 +1561,6 @@ struct lang_decl GTY(())
/* In a FUNCTION_DECL, this is DECL_CLONED_FUNCTION. */ /* In a FUNCTION_DECL, this is DECL_CLONED_FUNCTION. */
tree cloned_function; tree cloned_function;
/* In a FUNCTION_DECL for which THUNK_P holds, this is
THUNK_FIXED_OFFSET. */
HOST_WIDE_INT fixed_offset;
/* In an overloaded operator, this is the value of
DECL_OVERLOADED_OPERATOR_P. */
enum tree_code operator_code;
unsigned u3sel : 1;
unsigned pending_inline_p : 1;
union lang_decl_u3 union lang_decl_u3
{ {
struct sorted_fields_type * GTY ((tag ("0"), reorder ("resort_sorted_fields"))) struct sorted_fields_type * GTY ((tag ("0"), reorder ("resort_sorted_fields")))
......
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