Commit 452c159e by Ulrich Weigand Committed by Ulrich Weigand

dbxout.c (dbxout_symbol_location): Do not output references to optimized-out constant pool symbols.

	* dbxout.c (dbxout_symbol_location): Do not output references
	to optimized-out constant pool symbols.

From-SVN: r79258
parent f69535d2
2004-03-10 Ulrich Weigand <uweigand@de.ibm.com>
* dbxout.c (dbxout_symbol_location): Do not output references
to optimized-out constant pool symbols.
2004-03-10 Andreas Schwab <schwab@suse.de>
* config/ia64/ia64.md (divsi3, udivsi3): Remove unused variable
......
......@@ -2503,11 +2503,27 @@ dbxout_symbol_location (tree decl, tree type, const char *suffix, rtx home)
if (GET_CODE (current_sym_addr) == SYMBOL_REF
&& CONSTANT_POOL_ADDRESS_P (current_sym_addr))
{
rtx tmp = get_pool_constant (current_sym_addr);
bool marked;
rtx tmp = get_pool_constant_mark (current_sym_addr, &marked);
if (GET_CODE (tmp) == SYMBOL_REF
|| GET_CODE (tmp) == LABEL_REF)
current_sym_addr = tmp;
if (GET_CODE (tmp) == SYMBOL_REF)
{
current_sym_addr = tmp;
if (CONSTANT_POOL_ADDRESS_P (current_sym_addr))
get_pool_constant_mark (current_sym_addr, &marked);
else
marked = true;
}
else if (GET_CODE (tmp) == LABEL_REF)
{
current_sym_addr = tmp;
marked = true;
}
/* If all references to the constant pool were optimized
out, we just ignore the symbol. */
if (!marked)
return 0;
}
/* Ultrix `as' seems to need this. */
......
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