Commit e67cd9f8 by Richard Henderson Committed by Richard Henderson

varasm.c (record_constant_1): Record the CODE_LABEL when taking the address of a LABEL_REF.

        * varasm.c (record_constant_1): Record the CODE_LABEL when
        taking the address of a LABEL_REF.

From-SVN: r33517
parent ce48579b
2000-04-28 Richard Henderson <rth@cygnus.com>
* varasm.c (record_constant_1): Record the CODE_LABEL when
taking the address of a LABEL_REF.
2000-04-28 Richard Henderson <rth@cygnus.com>
Jan Hubicka <jh@suse.cz>
* calls.c (combine_pending_stack_adjustment_and_call): Return the
......
......@@ -2867,9 +2867,24 @@ record_constant_1 (exp)
/* Record the offset. */
obstack_grow (&permanent_obstack,
(char *) &value.offset, sizeof value.offset);
/* Record the symbol name. */
obstack_grow (&permanent_obstack, XSTR (value.base, 0),
strlen (XSTR (value.base, 0)) + 1);
switch (GET_CODE (value.base))
{
case SYMBOL_REF:
/* Record the symbol name. */
obstack_grow (&permanent_obstack, XSTR (value.base, 0),
strlen (XSTR (value.base, 0)) + 1);
break;
case LABEL_REF:
/* Record the address of the CODE_LABEL. It may not have
been emitted yet, so it's UID may be zero. But pointer
identity is good enough. */
obstack_grow (&permanent_obstack, &XEXP (value.base, 0),
sizeof (rtx));
break;
default:
abort ();
}
}
return;
......
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