Commit bc4721b8 by Nathan Sidwell Committed by Nathan Sidwell

c-tree.h (grokfield): Remove unused filename and line parameters.

	* c-tree.h (grokfield): Remove unused filename and line parameters.
	* c-decl.c (grokfield): Remove unused filename and line	parameters.
	* c-parse.in (component_decl): Adjust field grokking rules, adjust
	grokfield calls.
	(component_declarator): Likewise.
	(component_notype_declarator): Likewise.
	* objc/objc-act.c (build_module_descriptor): Adjust grokfield
	calls.
	(build_protocol_template, build_method_prototype_list_template,
	build_method_prototype_template, build_category_template,
	build_selector_template, build_class_template,
	build_super_template, build_ivar_template,
	build_ivar_list_template, build_method_list_template,
	build_method_template, add_instance_variable): Likewise.

From-SVN: r68560
parent 215f9e28
2003-06-27 Nathan Sidwell <nathan@codesourcery.com>
* c-tree.h (grokfield): Remove unused filename and line parameters.
* c-decl.c (grokfield): Remove unused filename and line parameters.
* c-parse.in (component_decl): Adjust field grokking rules, adjust
grokfield calls.
(component_declarator): Likewise.
(component_notype_declarator): Likewise.
* objc/objc-act.c (build_module_descriptor): Adjust grokfield
calls.
(build_protocol_template, build_method_prototype_list_template,
build_method_prototype_template, build_category_template,
build_selector_template, build_class_template,
build_super_template, build_ivar_template,
build_ivar_list_template, build_method_list_template,
build_method_template, add_instance_variable): Likewise.
2003-06-27 Kazu Hirata <kazu@cs.umass.edu> 2003-06-27 Kazu Hirata <kazu@cs.umass.edu>
* stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and * stmt.c (do_jump_if_equal): Return 0 earlier if OP1 and
......
...@@ -4811,8 +4811,7 @@ start_struct (enum tree_code code, tree name) ...@@ -4811,8 +4811,7 @@ start_struct (enum tree_code code, tree name)
are ultimately passed to `build_struct' to make the RECORD_TYPE node. */ are ultimately passed to `build_struct' to make the RECORD_TYPE node. */
tree tree
grokfield (const char *filename ATTRIBUTE_UNUSED, int line ATTRIBUTE_UNUSED, grokfield (tree declarator, tree declspecs, tree width)
tree declarator, tree declspecs, tree width)
{ {
tree value; tree value;
......
...@@ -1862,7 +1862,7 @@ component_decl: ...@@ -1862,7 +1862,7 @@ component_decl:
declspecs_nosc_ts setspecs components declspecs_nosc_ts setspecs components
{ $$ = $3; { $$ = $3;
POP_DECLSPEC_STACK; } POP_DECLSPEC_STACK; }
| declspecs_nosc_ts setspecs save_filename save_lineno | declspecs_nosc_ts setspecs
{ {
/* Support for unnamed structs or unions as members of /* Support for unnamed structs or unions as members of
structs or unions (which is [a] useful and [b] supports structs or unions (which is [a] useful and [b] supports
...@@ -1870,7 +1870,7 @@ component_decl: ...@@ -1870,7 +1870,7 @@ component_decl:
if (pedantic) if (pedantic)
pedwarn ("ISO C doesn't support unnamed structs/unions"); pedwarn ("ISO C doesn't support unnamed structs/unions");
$$ = grokfield($3, $4, NULL, current_declspecs, NULL_TREE); $$ = grokfield(NULL, current_declspecs, NULL_TREE);
POP_DECLSPEC_STACK; } POP_DECLSPEC_STACK; }
| declspecs_nosc_nots setspecs components_notype | declspecs_nosc_nots setspecs components_notype
{ $$ = $3; { $$ = $3;
...@@ -1900,29 +1900,33 @@ components_notype: ...@@ -1900,29 +1900,33 @@ components_notype:
; ;
component_declarator: component_declarator:
save_filename save_lineno declarator maybe_attribute declarator maybe_attribute
{ $$ = grokfield ($1, $2, $3, current_declspecs, NULL_TREE); { $$ = grokfield ($1, current_declspecs, NULL_TREE);
decl_attributes (&$$, chainon ($4, all_prefix_attributes), 0); } decl_attributes (&$$,
| save_filename save_lineno chainon ($2, all_prefix_attributes), 0); }
declarator ':' expr_no_commas maybe_attribute | declarator ':' expr_no_commas maybe_attribute
{ $$ = grokfield ($1, $2, $3, current_declspecs, $5); { $$ = grokfield ($1, current_declspecs, $3);
decl_attributes (&$$, chainon ($6, all_prefix_attributes), 0); } decl_attributes (&$$,
| save_filename save_lineno ':' expr_no_commas maybe_attribute chainon ($4, all_prefix_attributes), 0); }
{ $$ = grokfield ($1, $2, NULL_TREE, current_declspecs, $4); | ':' expr_no_commas maybe_attribute
decl_attributes (&$$, chainon ($5, all_prefix_attributes), 0); } { $$ = grokfield (NULL_TREE, current_declspecs, $2);
decl_attributes (&$$,
chainon ($3, all_prefix_attributes), 0); }
; ;
component_notype_declarator: component_notype_declarator:
save_filename save_lineno notype_declarator maybe_attribute notype_declarator maybe_attribute
{ $$ = grokfield ($1, $2, $3, current_declspecs, NULL_TREE); { $$ = grokfield ($1, current_declspecs, NULL_TREE);
decl_attributes (&$$, chainon ($4, all_prefix_attributes), 0); } decl_attributes (&$$,
| save_filename save_lineno chainon ($2, all_prefix_attributes), 0); }
notype_declarator ':' expr_no_commas maybe_attribute | notype_declarator ':' expr_no_commas maybe_attribute
{ $$ = grokfield ($1, $2, $3, current_declspecs, $5); { $$ = grokfield ($1, current_declspecs, $3);
decl_attributes (&$$, chainon ($6, all_prefix_attributes), 0); } decl_attributes (&$$,
| save_filename save_lineno ':' expr_no_commas maybe_attribute chainon ($4, all_prefix_attributes), 0); }
{ $$ = grokfield ($1, $2, NULL_TREE, current_declspecs, $4); | ':' expr_no_commas maybe_attribute
decl_attributes (&$$, chainon ($5, all_prefix_attributes), 0); } { $$ = grokfield (NULL_TREE, current_declspecs, $2);
decl_attributes (&$$,
chainon ($3, all_prefix_attributes), 0); }
; ;
/* We chain the enumerators in reverse order. /* We chain the enumerators in reverse order.
......
...@@ -195,7 +195,7 @@ extern tree finish_enum (tree, tree, tree); ...@@ -195,7 +195,7 @@ extern tree finish_enum (tree, tree, tree);
extern void finish_function (int, int); extern void finish_function (int, int);
extern tree finish_struct (tree, tree, tree); extern tree finish_struct (tree, tree, tree);
extern tree get_parm_info (int); extern tree get_parm_info (int);
extern tree grokfield (const char *, int, tree, tree, tree); extern tree grokfield (tree, tree, tree);
extern tree groktypename (tree); extern tree groktypename (tree);
extern tree groktypename_in_parm_context (tree); extern tree groktypename_in_parm_context (tree);
extern tree implicitly_declare (tree); extern tree implicitly_declare (tree);
......
...@@ -1697,24 +1697,21 @@ build_module_descriptor () ...@@ -1697,24 +1697,21 @@ build_module_descriptor ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]);
field_decl = get_identifier ("version"); field_decl = get_identifier ("version");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* long size; */ /* long size; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]);
field_decl = get_identifier ("size"); field_decl = get_identifier ("size");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* char *name; */ /* char *name; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("name")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("name"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_symtab *symtab; */ /* struct objc_symtab *symtab; */
...@@ -1722,8 +1719,7 @@ build_module_descriptor () ...@@ -1722,8 +1719,7 @@ build_module_descriptor ()
decl_specs = get_identifier (UTAG_SYMTAB); decl_specs = get_identifier (UTAG_SYMTAB);
decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs)); decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("symtab")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("symtab"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_module_template, field_decl_chain, NULL_TREE); finish_struct (objc_module_template, field_decl_chain, NULL_TREE);
...@@ -2565,8 +2561,7 @@ build_protocol_template () ...@@ -2565,8 +2561,7 @@ build_protocol_template ()
decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE,
get_identifier (UTAG_CLASS))); get_identifier (UTAG_CLASS)));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("isa")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("isa"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* char *protocol_name; */ /* char *protocol_name; */
...@@ -2574,8 +2569,7 @@ build_protocol_template () ...@@ -2574,8 +2569,7 @@ build_protocol_template ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_name")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_name"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_protocol **protocol_list; */ /* struct objc_protocol **protocol_list; */
...@@ -2584,8 +2578,7 @@ build_protocol_template () ...@@ -2584,8 +2578,7 @@ build_protocol_template ()
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_list")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_list"));
field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl); field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl);
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_method_list *instance_methods; */ /* struct objc_method_list *instance_methods; */
...@@ -2596,8 +2589,7 @@ build_protocol_template () ...@@ -2596,8 +2589,7 @@ build_protocol_template ()
get_identifier (UTAG_METHOD_PROTOTYPE_LIST))); get_identifier (UTAG_METHOD_PROTOTYPE_LIST)));
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("instance_methods")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("instance_methods"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_method_list *class_methods; */ /* struct objc_method_list *class_methods; */
...@@ -2608,8 +2600,7 @@ build_protocol_template () ...@@ -2608,8 +2600,7 @@ build_protocol_template ()
get_identifier (UTAG_METHOD_PROTOTYPE_LIST))); get_identifier (UTAG_METHOD_PROTOTYPE_LIST)));
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class_methods")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class_methods"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
return finish_struct (template, field_decl_chain, NULL_TREE); return finish_struct (template, field_decl_chain, NULL_TREE);
...@@ -2672,8 +2663,7 @@ build_method_prototype_list_template (list_type, size) ...@@ -2672,8 +2663,7 @@ build_method_prototype_list_template (list_type, size)
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]);
field_decl = get_identifier ("method_count"); field_decl = get_identifier ("method_count");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* struct objc_method method_list[]; */ /* struct objc_method method_list[]; */
...@@ -2681,8 +2671,7 @@ build_method_prototype_list_template (list_type, size) ...@@ -2681,8 +2671,7 @@ build_method_prototype_list_template (list_type, size)
decl_specs = build_tree_list (NULL_TREE, list_type); decl_specs = build_tree_list (NULL_TREE, list_type);
field_decl = build_nt (ARRAY_REF, get_identifier ("method_list"), field_decl = build_nt (ARRAY_REF, get_identifier ("method_list"),
build_int_2 (size, 0)); build_int_2 (size, 0));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_ivar_list_record, field_decl_chain, NULL_TREE); finish_struct (objc_ivar_list_record, field_decl_chain, NULL_TREE);
...@@ -2703,15 +2692,13 @@ build_method_prototype_template () ...@@ -2703,15 +2692,13 @@ build_method_prototype_template ()
decl_specs = tree_cons (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs = tree_cons (NULL_TREE, xref_tag (RECORD_TYPE,
get_identifier (TAG_SELECTOR)), NULL_TREE); get_identifier (TAG_SELECTOR)), NULL_TREE);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("_cmd")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("_cmd"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], NULL_TREE); decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], NULL_TREE);
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("method_types")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("method_types"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (proto_record, field_decl_chain, NULL_TREE); finish_struct (proto_record, field_decl_chain, NULL_TREE);
...@@ -3250,16 +3237,14 @@ build_category_template () ...@@ -3250,16 +3237,14 @@ build_category_template ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("category_name")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("category_name"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* char *class_name; */ /* char *class_name; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class_name")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class_name"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_method_list *instance_methods; */ /* struct objc_method_list *instance_methods; */
...@@ -3269,8 +3254,7 @@ build_category_template () ...@@ -3269,8 +3254,7 @@ build_category_template ()
get_identifier (UTAG_METHOD_LIST))); get_identifier (UTAG_METHOD_LIST)));
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("instance_methods")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("instance_methods"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_method_list *class_methods; */ /* struct objc_method_list *class_methods; */
...@@ -3280,8 +3264,7 @@ build_category_template () ...@@ -3280,8 +3264,7 @@ build_category_template ()
get_identifier (UTAG_METHOD_LIST))); get_identifier (UTAG_METHOD_LIST)));
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class_methods")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class_methods"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_protocol **protocol_list; */ /* struct objc_protocol **protocol_list; */
...@@ -3292,8 +3275,7 @@ build_category_template () ...@@ -3292,8 +3275,7 @@ build_category_template ()
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_list")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_list"));
field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl); field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl);
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_category_template, field_decl_chain, NULL_TREE); finish_struct (objc_category_template, field_decl_chain, NULL_TREE);
...@@ -3317,16 +3299,14 @@ build_selector_template () ...@@ -3317,16 +3299,14 @@ build_selector_template ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_VOID]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_VOID]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sel_id")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sel_id"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* char *sel_type; */ /* char *sel_type; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sel_type")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sel_type"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_selector_template, field_decl_chain, NULL_TREE); finish_struct (objc_selector_template, field_decl_chain, NULL_TREE);
...@@ -3364,8 +3344,7 @@ build_class_template () ...@@ -3364,8 +3344,7 @@ build_class_template ()
decl_specs = build_tree_list (NULL_TREE, objc_class_template); decl_specs = build_tree_list (NULL_TREE, objc_class_template);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("isa")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("isa"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* struct objc_class *super_class; */ /* struct objc_class *super_class; */
...@@ -3373,40 +3352,35 @@ build_class_template () ...@@ -3373,40 +3352,35 @@ build_class_template ()
decl_specs = build_tree_list (NULL_TREE, objc_class_template); decl_specs = build_tree_list (NULL_TREE, objc_class_template);
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("super_class")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("super_class"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* char *name; */ /* char *name; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("name")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("name"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* long version; */ /* long version; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]);
field_decl = get_identifier ("version"); field_decl = get_identifier ("version");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* long info; */ /* long info; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]);
field_decl = get_identifier ("info"); field_decl = get_identifier ("info");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* long instance_size; */ /* long instance_size; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_LONG]);
field_decl = get_identifier ("instance_size"); field_decl = get_identifier ("instance_size");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_ivar_list *ivars; */ /* struct objc_ivar_list *ivars; */
...@@ -3415,8 +3389,7 @@ build_class_template () ...@@ -3415,8 +3389,7 @@ build_class_template ()
xref_tag (RECORD_TYPE, xref_tag (RECORD_TYPE,
get_identifier (UTAG_IVAR_LIST))); get_identifier (UTAG_IVAR_LIST)));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("ivars")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("ivars"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_method_list *methods; */ /* struct objc_method_list *methods; */
...@@ -3425,8 +3398,7 @@ build_class_template () ...@@ -3425,8 +3398,7 @@ build_class_template ()
xref_tag (RECORD_TYPE, xref_tag (RECORD_TYPE,
get_identifier (UTAG_METHOD_LIST))); get_identifier (UTAG_METHOD_LIST)));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("methods")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("methods"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
if (flag_next_runtime) if (flag_next_runtime)
...@@ -3437,8 +3409,7 @@ build_class_template () ...@@ -3437,8 +3409,7 @@ build_class_template ()
xref_tag (RECORD_TYPE, xref_tag (RECORD_TYPE,
get_identifier ("objc_cache"))); get_identifier ("objc_cache")));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("cache")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("cache"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
} }
else else
...@@ -3449,8 +3420,7 @@ build_class_template () ...@@ -3449,8 +3420,7 @@ build_class_template ()
xref_tag (RECORD_TYPE, xref_tag (RECORD_TYPE,
get_identifier ("sarray"))); get_identifier ("sarray")));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("dtable")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("dtable"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_class *subclass_list; */ /* struct objc_class *subclass_list; */
...@@ -3458,8 +3428,7 @@ build_class_template () ...@@ -3458,8 +3428,7 @@ build_class_template ()
decl_specs = build_tree_list (NULL_TREE, objc_class_template); decl_specs = build_tree_list (NULL_TREE, objc_class_template);
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("subclass_list")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("subclass_list"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_class *sibling_class; */ /* struct objc_class *sibling_class; */
...@@ -3467,8 +3436,7 @@ build_class_template () ...@@ -3467,8 +3436,7 @@ build_class_template ()
decl_specs = build_tree_list (NULL_TREE, objc_class_template); decl_specs = build_tree_list (NULL_TREE, objc_class_template);
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sibling_class")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sibling_class"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
} }
...@@ -3481,24 +3449,21 @@ build_class_template () ...@@ -3481,24 +3449,21 @@ build_class_template ()
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_list")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("protocol_list"));
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, field_decl); = build1 (INDIRECT_REF, NULL_TREE, field_decl);
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* void *sel_id; */ /* void *sel_id; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_VOID]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_VOID]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sel_id")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("sel_id"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* void *gc_object_type; */ /* void *gc_object_type; */
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_VOID]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_VOID]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("gc_object_type")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("gc_object_type"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_class_template, field_decl_chain, NULL_TREE); finish_struct (objc_class_template, field_decl_chain, NULL_TREE);
...@@ -3619,8 +3584,7 @@ build_super_template () ...@@ -3619,8 +3584,7 @@ build_super_template ()
decl_specs = build_tree_list (NULL_TREE, objc_object_reference); decl_specs = build_tree_list (NULL_TREE, objc_object_reference);
field_decl = get_identifier ("self"); field_decl = get_identifier ("self");
field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl); field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl);
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* struct objc_class *class; */ /* struct objc_class *class; */
...@@ -3629,8 +3593,7 @@ build_super_template () ...@@ -3629,8 +3593,7 @@ build_super_template ()
decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs)); decl_specs = build_tree_list (NULL_TREE, xref_tag (RECORD_TYPE, decl_specs));
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("class"));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (record, field_decl_chain, NULL_TREE); finish_struct (record, field_decl_chain, NULL_TREE);
...@@ -3663,8 +3626,7 @@ build_ivar_template () ...@@ -3663,8 +3626,7 @@ build_ivar_template ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("ivar_name")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("ivar_name"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* char *ivar_type; */ /* char *ivar_type; */
...@@ -3672,8 +3634,7 @@ build_ivar_template () ...@@ -3672,8 +3634,7 @@ build_ivar_template ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_CHAR]);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("ivar_type")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("ivar_type"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* int ivar_offset; */ /* int ivar_offset; */
...@@ -3681,8 +3642,7 @@ build_ivar_template () ...@@ -3681,8 +3642,7 @@ build_ivar_template ()
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]);
field_decl = get_identifier ("ivar_offset"); field_decl = get_identifier ("ivar_offset");
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_ivar_record, field_decl_chain, NULL_TREE); finish_struct (objc_ivar_record, field_decl_chain, NULL_TREE);
...@@ -3710,8 +3670,7 @@ build_ivar_list_template (list_type, size) ...@@ -3710,8 +3670,7 @@ build_ivar_list_template (list_type, size)
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]);
field_decl = get_identifier ("ivar_count"); field_decl = get_identifier ("ivar_count");
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* struct objc_ivar ivar_list[]; */ /* struct objc_ivar ivar_list[]; */
...@@ -3720,8 +3679,7 @@ build_ivar_list_template (list_type, size) ...@@ -3720,8 +3679,7 @@ build_ivar_list_template (list_type, size)
field_decl = build_nt (ARRAY_REF, get_identifier ("ivar_list"), field_decl = build_nt (ARRAY_REF, get_identifier ("ivar_list"),
build_int_2 (size, 0)); build_int_2 (size, 0));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_ivar_list_record, field_decl_chain, NULL_TREE); finish_struct (objc_ivar_list_record, field_decl_chain, NULL_TREE);
...@@ -3754,8 +3712,7 @@ build_method_list_template (list_type, size) ...@@ -3754,8 +3712,7 @@ build_method_list_template (list_type, size)
get_identifier (UTAG_METHOD_PROTOTYPE_LIST))); get_identifier (UTAG_METHOD_PROTOTYPE_LIST)));
field_decl field_decl
= build1 (INDIRECT_REF, NULL_TREE, get_identifier ("method_next")); = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("method_next"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
/* int method_count; */ /* int method_count; */
...@@ -3763,8 +3720,7 @@ build_method_list_template (list_type, size) ...@@ -3763,8 +3720,7 @@ build_method_list_template (list_type, size)
decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]); decl_specs = build_tree_list (NULL_TREE, ridpointers[(int) RID_INT]);
field_decl = get_identifier ("method_count"); field_decl = get_identifier ("method_count");
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* struct objc_method method_list[]; */ /* struct objc_method method_list[]; */
...@@ -3773,8 +3729,7 @@ build_method_list_template (list_type, size) ...@@ -3773,8 +3729,7 @@ build_method_list_template (list_type, size)
field_decl = build_nt (ARRAY_REF, get_identifier ("method_list"), field_decl = build_nt (ARRAY_REF, get_identifier ("method_list"),
build_int_2 (size, 0)); build_int_2 (size, 0));
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
field_decl, decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (objc_ivar_list_record, field_decl_chain, NULL_TREE); finish_struct (objc_ivar_list_record, field_decl_chain, NULL_TREE);
...@@ -3978,23 +3933,20 @@ build_method_template () ...@@ -3978,23 +3933,20 @@ build_method_template ()
NULL_TREE); NULL_TREE);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("_cmd")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("_cmd"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
field_decl_chain = field_decl; field_decl_chain = field_decl;
decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], NULL_TREE); decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_CHAR], NULL_TREE);
field_decl = build1 (INDIRECT_REF, NULL_TREE, field_decl = build1 (INDIRECT_REF, NULL_TREE,
get_identifier ("method_types")); get_identifier ("method_types"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
/* void *_imp; */ /* void *_imp; */
decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_VOID], NULL_TREE); decl_specs = tree_cons (NULL_TREE, ridpointers[(int) RID_VOID], NULL_TREE);
field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("_imp")); field_decl = build1 (INDIRECT_REF, NULL_TREE, get_identifier ("_imp"));
field_decl = grokfield (input_filename, input_line, field_decl, field_decl = grokfield (field_decl, decl_specs, NULL_TREE);
decl_specs, NULL_TREE);
chainon (field_decl_chain, field_decl); chainon (field_decl_chain, field_decl);
finish_struct (_SLT_record, field_decl_chain, NULL_TREE); finish_struct (_SLT_record, field_decl_chain, NULL_TREE);
...@@ -5823,8 +5775,7 @@ add_instance_variable (class, public, declarator, declspecs, width) ...@@ -5823,8 +5775,7 @@ add_instance_variable (class, public, declarator, declspecs, width)
else else
CLASS_RAW_IVARS (class) = raw_decl; CLASS_RAW_IVARS (class) = raw_decl;
field_decl = grokfield (input_filename, input_line, field_decl = grokfield (declarator, declspecs, width);
declarator, declspecs, width);
/* Overload the public attribute, it is not used for FIELD_DECLs. */ /* Overload the public attribute, it is not used for FIELD_DECLs. */
switch (public) switch (public)
......
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