Commit 42a9ba1d by Uros Bizjak

alpha.c (alpha_legitimate_constant_p): Reject CONST constants referencing TLS symbols.

	* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
	constants referencing TLS symbols.

From-SVN: r150372
parent 9f774cb0
2009-08-03 Uros Bizjak <ubizjak@gmail.com>
* config/alpha/alpha.c (alpha_legitimate_constant_p): Reject CONST
constants referencing TLS symbols.
2009-08-03 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
* config/sh/linux-atomic.asm (ATOMIC_COMPARE_AND_SWAP): Rename
......@@ -29,8 +34,7 @@
2009-08-03 Andreas Krebbel <krebbel1@de.ibm.com>
* explow.c (promote_mode): Mark TYPE and PUNSIGNEDP as
possibly unused.
* explow.c (promote_mode): Mark TYPE and PUNSIGNEDP as possibly unused.
2009-08-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
......
......@@ -2062,11 +2062,22 @@ alpha_legitimate_constant_p (rtx x)
switch (GET_CODE (x))
{
case CONST:
case LABEL_REF:
case HIGH:
return true;
case CONST:
if (GET_CODE (XEXP (x, 0)) == PLUS
&& GET_CODE (XEXP (XEXP (x, 0), 1)) == CONST_INT)
x = XEXP (XEXP (x, 0), 0);
else
return true;
if (GET_CODE (x) != SYMBOL_REF)
return true;
/* FALLTHRU */
case SYMBOL_REF:
/* TLS symbols are never valid. */
return SYMBOL_REF_TLS_MODEL (x) == 0;
......
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