Commit f7fb2880 by Richard Guenther Committed by Richard Biener

re PR lto/50601 (New LTO failures)

2011-12-06  Richard Guenther  <rguenther@suse.de>

	PR middle-end/50601
	* varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
	quirk adjustjment ...
	* passes.c (rest_of_decl_compilation): ... here.

From-SVN: r182048
parent 52f26be4
2011-12-06 Richard Guenther <rguenther@suse.de>
PR middle-end/50601
* varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
quirk adjustjment ...
* passes.c (rest_of_decl_compilation): ... here.
2011-12-06 Richard Guenther <rguenther@suse.de>
PR middle-end/51436
* gimple-fold.c (gimplify_and_update_call_from_tree): Guard
vdef check for the fact we do not have virtual operands when
......@@ -156,6 +156,11 @@ rest_of_decl_compilation (tree decl,
{
alias = TREE_VALUE (TREE_VALUE (alias));
alias = get_identifier (TREE_STRING_POINTER (alias));
/* A quirk of the initial implementation of aliases required that the
user add "extern" to all of them. Which is silly, but now
historical. Do note that the symbol is in fact locally defined. */
if (!lookup_attribute ("weakref", DECL_ATTRIBUTES (decl)))
DECL_EXTERNAL (decl) = 0;
assemble_alias (decl, alias);
}
}
......
......@@ -5794,14 +5794,11 @@ void
assemble_alias (tree decl, tree target)
{
tree target_decl;
bool is_weakref = false;
if (lookup_attribute ("weakref", DECL_ATTRIBUTES (decl)))
{
tree alias = DECL_ASSEMBLER_NAME (decl);
is_weakref = true;
ultimate_transparent_alias_target (&target);
if (alias == target)
......@@ -5839,12 +5836,6 @@ assemble_alias (tree decl, tree target)
}
TREE_USED (decl) = 1;
/* A quirk of the initial implementation of aliases required that the user
add "extern" to all of them. Which is silly, but now historical. Do
note that the symbol is in fact locally defined. */
if (! is_weakref)
DECL_EXTERNAL (decl) = 0;
/* Allow aliases to aliases. */
if (TREE_CODE (decl) == FUNCTION_DECL)
cgraph_get_create_node (decl)->alias = true;
......
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