diff options
author | Jan Hubicka <jh@suse.cz> | 2012-05-24 11:44:48 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2012-05-24 09:44:48 +0000 |
commit | 07250f0e288ccfc04002c013a2cbc74c05d13592 (patch) | |
tree | 1304b7028d8d01c6f5272f44c33289a472a88e49 /gcc/tree.h | |
parent | 0f4fb41f6db3fb0e1279cabc3d5b0b2c4c159c48 (diff) | |
download | gcc-07250f0e288ccfc04002c013a2cbc74c05d13592.zip gcc-07250f0e288ccfc04002c013a2cbc74c05d13592.tar.gz gcc-07250f0e288ccfc04002c013a2cbc74c05d13592.tar.bz2 |
tree.h (alias_diag_flags): Remove.
* tree.h (alias_diag_flags): Remove.
(alias_pair): Remove emitted_diags.
(finish_aliases_1, finish_aliases_2, remove_unreachable_alias_pairs,
symbol_alias_set_t, symbol_alias_set_destroy,
symbol_alias_set_contains, propagate_aliases_backward): Remove.
* toplev.c (compile_file): Do not call finish_aliases_2
* cgraphunit.c (cgraph_process_new_functions): Do not call finish_aliases_1.
(handle_alias_pairs): Output diagnostics about aliases to externals.
(assemble_thunks_and_aliases): Use do_assemble_alias.
(output_weakrefs): Likewise.
(finalize_compilation_unit): Do not call finish_aliases_1.
* ipa.c (symtab_remove_unreachable_nodes): De not call remove_unreachable_alias_pairs.
* varasm.c (do_assemble_alias): Export.
(symbol_alias_set_create, symbol_alias_set_destroy, symbol_alias_set_contains,
symbol_alias_set_insert, propagate_aliases_forward, propagate_aliases_backward,
propagate_aliases_backward, trivially_visible_alias, trivially_defined_alias,
remove_unreachable_alias_pairs, finish_aliases_1, finish_aliases_2,
assemble_alias): Remove.
* output.h (do_assemble_alias): Declare.
* varpool.c (varpool_remove_unreferenced_decls): Do not call finish_aliases_1.
From-SVN: r187823
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 35 |
1 files changed, 4 insertions, 31 deletions
@@ -239,25 +239,14 @@ extern const unsigned char tree_code_length[]; extern const char *const tree_code_name[]; -/* We have to be able to tell cgraph about the needed-ness of the target - of an alias. This requires that the decl have been defined. Aliases - that precede their definition have to be queued for later processing. */ - -/* The deferred processing proceeds in several passes. We memorize the - diagnostics emitted for a pair to prevent repeating messages when the - queue gets re-scanned after possible updates. */ - -typedef enum { - ALIAS_DIAG_NONE = 0x0, - ALIAS_DIAG_TO_UNDEF = 0x1, - ALIAS_DIAG_TO_EXTERN = 0x2 -} alias_diag_flags; - +/* When procesing aliases on symtab level, we need the declaration of target. + For this reason we need to queue aliases and process them after all declarations + has been produced. */ + typedef struct GTY(()) alias_pair { tree decl; tree target; - int emitted_diags; /* alias_diags already emitted for this pair. */ } alias_pair; /* Define gc'd vector type. */ @@ -5691,24 +5680,8 @@ extern void mark_decl_referenced (tree); extern void notice_global_symbol (tree); extern void set_user_assembler_name (tree, const char *); extern void process_pending_assemble_externals (void); -extern void finish_aliases_1 (void); -extern void finish_aliases_2 (void); -extern void remove_unreachable_alias_pairs (void); extern bool decl_replaceable_p (tree); extern bool decl_binds_to_current_def_p (tree); - -/* Derived type for use by compute_visible_aliases and callers. A symbol - alias set is a pointer set into which we enter IDENTIFIER_NODES bearing - the canonicalised assembler-level symbol names corresponding to decls - and their aliases. */ -typedef struct pointer_set_t symbol_alias_set_t; - -extern void symbol_alias_set_destroy (symbol_alias_set_t *); -extern int symbol_alias_set_contains (const symbol_alias_set_t *, tree); -extern symbol_alias_set_t * propagate_aliases_backward (bool (*) - (tree, tree, void *), - void *); - /* In stmt.c */ extern void expand_computed_goto (tree); extern bool parse_output_constraint (const char **, int, int, int, |