diff options
author | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-16 18:45:56 +0000 |
---|---|---|
committer | pinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-07-16 18:45:56 +0000 |
commit | 860251bec40a1182f2cec4c8039a6120c165271f (patch) | |
tree | 39a0963ec716fc0d03212b9d1c71114101da5421 /gcc/c-tree.h | |
parent | 1b5e83e3125575a01fe598726438f4861f2ba7d4 (diff) | |
download | gcc-860251bec40a1182f2cec4c8039a6120c165271f.tar.gz |
2003-07-16 Andrew Pinski <pinskia@physics.uc.edu>
ChangeLog:
PR c/10962
* ggc.h: Add header guards.
* c-decl.c (finish_struct): Sort fields if
number greater than 15 and there are no
anonymous structs/unions.
* c-common.h: Include ggc.h.
(sorted_fields_type): New struct.
(field_decl_cmp): New prototype.
(resort_sorted_fields): New prototype.
(DECL_DECLARES_TYPE_NON_TEMPLATE_P): New macro.
* c-tree.h: (lang_type): Use pointer to sorted_fields_type
as s, removing other fields.
* c-typeck.c (lookup_field): Use s in lang_type.
These were mostly moved from cp/class.c:
* c-common.c (field_decl_cmp): New static function.
(field_decl_cmp): New function.
(resort_sorted_fields): New function.
cp/ChangeLog:
* class.c (field_decl_cmp): Remove.
(resort_field_decl_cmp): Remove.
(resort_sorted_fields): Remove.
(add_fields_to_vec): Rename to ...
(add_fields_to_record_type): this.
(finish_struct_1): Change to be using
sorted_fields_type's fields.
* cp-tree.h (lang_decl): In lang_decl_u3
change sorted_fields to be a pointer to
sorted_fields_type.
(resort_sorted_fields): Remove prototype.
* search.c (lookup_field_1): Change to be using
sorted_fields_type's fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@69470 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-tree.h')
-rw-r--r-- | gcc/c-tree.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/c-tree.h b/gcc/c-tree.h index adfea88924b..50e161e5e46 100644 --- a/gcc/c-tree.h +++ b/gcc/c-tree.h @@ -109,8 +109,7 @@ struct lang_decl GTY(()) /* In a RECORD_TYPE, a sorted array of the fields of the type. */ struct lang_type GTY(()) { - int len; - tree GTY((length ("%h.len"))) elts[1]; + struct sorted_fields_type * GTY ((reorder ("resort_sorted_fields"))) s; }; /* Record whether a type or decl was written with nonconstant size. |