Deleted Added
full compact
35a36,37
> #include "langhooks.h"
> #include "target.h"
37c39
< static int c_tree_printer PARAMS ((output_buffer *));
---
> static bool c_tree_printer PARAMS ((output_buffer *, text_info *));
43c45
< static varray_type deferred_fns;
---
> static GTY(()) varray_type deferred_fns;
93c95
< case BUILT_IN_VARARGS_START:
---
> case BUILT_IN_VA_START:
122c124
< instantiations, which causes unexpected behaviour. */
---
> instantiations, which causes unexpected behavior. */
170,174c172,173
< if (!DECL_DECLARED_INLINE_P (fn) && flag_pic && TREE_PUBLIC (fn))
< {
< DECL_UNINLINABLE (fn) = 1;
< return 1;
< }
---
> if (!DECL_DECLARED_INLINE_P (fn) && !(*targetm.binds_local_p) (fn))
> goto cannot_inline;
177,180c176
< {
< DECL_UNINLINABLE (fn) = 1;
< return 1;
< }
---
> goto cannot_inline;
190,193c186
< {
< DECL_UNINLINABLE (fn) = 1;
< return 1;
< }
---
> goto cannot_inline;
201,204c194
< {
< DECL_UNINLINABLE (fn) = 1;
< return 1;
< }
---
> goto cannot_inline;
226,230c216,218
< if (walk_tree (&DECL_SAVED_TREE (fn), inline_forbidden_p, fn, NULL))
< {
< DECL_UNINLINABLE (fn) = 1;
< return 1;
< }
---
> if (walk_tree_without_duplicates
> (&DECL_SAVED_TREE (fn), inline_forbidden_p, fn))
> goto cannot_inline;
232a221,224
>
> cannot_inline:
> DECL_UNINLINABLE (fn) = 1;
> return 1;
234a227,240
> /* Called from check_global_declarations. */
>
> bool
> c_warn_unused_global_decl (decl)
> tree decl;
> {
> if (TREE_CODE (decl) == FUNCTION_DECL && DECL_DECLARED_INLINE_P (decl))
> return false;
> if (DECL_IN_SYSTEM_HEADER (decl))
> return false;
>
> return true;
> }
>
242a249,250
> if (filename == NULL)
> return NULL;
244,249d251
< add_c_tree_codes ();
<
< save_lang_status = &push_c_function_context;
< restore_lang_status = &pop_c_function_context;
< mark_lang_status = &mark_c_function_context;
< lang_expand_expr = c_expand_expr;
269d270
< ggc_add_tree_varray_root (&deferred_fns, 1);
307c308
< VARRAY_FREE (deferred_fns);
---
> deferred_fns = 0;
406,407c407,408
< static int
< c_tree_printer (buffer)
---
> static bool
> c_tree_printer (buffer, text)
408a410
> text_info *text;
410c412
< tree t = va_arg (output_buffer_format_args (buffer), tree);
---
> tree t = va_arg (*text->args_ptr, tree);
412c414
< switch (*output_buffer_text_cursor (buffer))
---
> switch (*text->format_spec)
419c421
< ? (*decl_printable_name) (t, 2)
---
> ? (*lang_hooks.decl_printable_name) (t, 2)
423c425
< return 1;
---
> return true;
426c428
< return 0;
---
> return false;
428a431,432
>
> #include "gt-c-objc-common.h"