aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2012-05-24 11:44:48 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2012-05-24 09:44:48 +0000
commit07250f0e288ccfc04002c013a2cbc74c05d13592 (patch)
tree1304b7028d8d01c6f5272f44c33289a472a88e49 /gcc/tree.h
parent0f4fb41f6db3fb0e1279cabc3d5b0b2c4c159c48 (diff)
downloadgcc-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.h35
1 files changed, 4 insertions, 31 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 6dda337..5f2204b 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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,