Deleted Added
full compact
37c37
< struct lang_identifier
---
> struct lang_identifier GTY(())
39,41c39,45
< struct c_common_identifier ignore;
< tree global_value, local_value, label_value, implicit_decl;
< tree error_locus, limbo_value;
---
> struct c_common_identifier common_id;
> tree global_value;
> tree local_value;
> tree label_value;
> tree implicit_decl;
> tree error_locus;
> tree limbo_value;
43a48,59
> /* The resulting tree type. */
>
> union lang_tree_node
> GTY((desc ("TREE_CODE (&%h.generic) == IDENTIFIER_NODE"),
> chain_next ("(union lang_tree_node *)TREE_CHAIN (&%h.generic)")))
> {
> union tree_node GTY ((tag ("0"),
> desc ("tree_node_structure (&%h)")))
> generic;
> struct lang_identifier GTY ((tag ("1"))) identifier;
> };
>
46c62
< struct lang_decl
---
> struct lang_decl GTY(())
110c126
< struct lang_type
---
> struct lang_type GTY(())
113c129
< tree elts[1];
---
> tree GTY((length ("%h.len"))) elts[1];
153c169,170
< extern void maybe_objc_check_decl PARAMS ((tree));
---
> extern tree objc_is_id PARAMS ((tree));
> extern void objc_check_decl PARAMS ((tree));
155,157c172,173
< extern int maybe_objc_comptypes PARAMS ((tree, tree, int));
< extern tree maybe_building_objc_message_expr PARAMS ((void));
< extern int recognize_objc_keyword PARAMS ((void));
---
> extern int objc_comptypes PARAMS ((tree, tree, int));
> extern tree objc_message_selector PARAMS ((void));
163,164d178
< extern void c_set_yydebug PARAMS ((int));
< extern int yyparse_1 PARAMS ((void));
169a184,193
> extern int global_bindings_p PARAMS ((void));
> extern int kept_level_p PARAMS ((void));
> extern tree getdecls PARAMS ((void));
> extern void pushlevel PARAMS ((int));
> extern tree poplevel PARAMS ((int,int, int));
> extern void insert_block PARAMS ((tree));
> extern void set_block PARAMS ((tree));
> extern tree pushdecl PARAMS ((tree));
>
> extern void c_insert_default_attributes PARAMS ((tree));
170a195
> extern void c_dup_lang_specific_decl PARAMS ((tree));
174,175d198
< extern int c_decode_option PARAMS ((int, char **));
< extern void c_mark_varargs PARAMS ((void));
194d216
< extern int kept_level_p PARAMS ((void));
199,201c221,222
< extern void mark_c_function_context PARAMS ((struct function *));
< extern void push_c_function_context PARAMS ((struct function *));
< extern void pop_c_function_context PARAMS ((struct function *));
---
> extern void c_push_function_context PARAMS ((struct function *));
> extern void c_pop_function_context PARAMS ((struct function *));
220a242
> extern tree make_pointer_declarator PARAMS ((tree, tree));
222d243
<
229a251
> extern bool c_warn_unused_global_decl PARAMS ((tree));
235a258
> #define c_sizeof_nowarn(T) c_sizeof_or_alignof_type (T, SIZEOF_EXPR, 0)
239d261
< extern tree c_sizeof_nowarn PARAMS ((tree));
240a263,265
> extern bool c_mark_addressable PARAMS ((tree));
> extern void c_incomplete_type_error PARAMS ((tree, tree));
> extern tree c_type_promotes_to PARAMS ((tree));
246a272
> extern int c_tree_expr_nonnegative_p PARAMS ((tree));
290,366d315
< /* Nonzero means `$' can be in an identifier. */
<
< extern int dollars_in_ident;
<
< /* Nonzero means allow type mismatches in conditional expressions;
< just make their values `void'. */
<
< extern int flag_cond_mismatch;
<
< /* Nonzero means don't recognize the keyword `asm'. */
<
< extern int flag_no_asm;
<
< /* Nonzero means warn about implicit declarations. */
<
< extern int warn_implicit;
<
< /* Nonzero means warn for all old-style non-prototype function decls. */
<
< extern int warn_strict_prototypes;
<
< /* Nonzero means warn about multiple (redundant) decls for the same single
< variable or function. */
<
< extern int warn_redundant_decls;
<
< /* Nonzero means warn about extern declarations of objects not at
< file-scope level and about *all* declarations of functions (whether
< extern or static) not at file-scope level. Note that we exclude
< implicit function declarations. To get warnings about those, use
< -Wimplicit. */
<
< extern int warn_nested_externs;
<
< /* Nonzero means warn about pointer casts that can drop a type qualifier
< from the pointer target type. */
<
< extern int warn_cast_qual;
<
< /* Nonzero means warn when casting a function call to a type that does
< not match the return type (e.g. (float)sqrt() or (anything*)malloc()
< when there is no previous declaration of sqrt or malloc. */
<
< extern int warn_bad_function_cast;
<
< /* Warn about traditional constructs whose meanings changed in ANSI C. */
<
< extern int warn_traditional;
<
< /* Warn about a subscript that has type char. */
<
< extern int warn_char_subscripts;
<
< /* Warn if main is suspicious. */
<
< extern int warn_main;
<
< /* Nonzero means to allow single precision math even if we're generally
< being traditional. */
< extern int flag_allow_single_precision;
<
< /* Warn if initializer is not completely bracketed. */
<
< extern int warn_missing_braces;
<
< /* Warn about comparison of signed and unsigned values. */
<
< extern int warn_sign_compare;
<
< /* Warn about testing equality of floating point numbers. */
<
< extern int warn_float_equal;
<
< /* Warn about multicharacter constants. */
<
< extern int warn_multichar;
<
371,373d319
< /* Warn about implicit declarations. 1 = warning, 2 = error. */
< extern int mesg_implicit_function_declaration;
<
375c321
< extern void finish_incomplete_decl PARAMS ((tree));
---
> extern void c_finish_incomplete_decl PARAMS ((tree));
377,378c323,324
< extern tree static_ctors;
< extern tree static_dtors;
---
> extern GTY(()) tree static_ctors;
> extern GTY(()) tree static_dtors;