i386.c (constant_call_address_operand): Accept (const (plus (symbol_ref) (const_int))).
* config/i386/i386.c (constant_call_address_operand): Accept (const (plus (symbol_ref) (const_int))). * config/i386/i386.h (PREDICATE_CODES): Add CONST for constant_call_address_operand. * gcc.c-torture/compile/20010107-1.c: New test. From-SVN: r38783
This commit is contained in:
parent
a8b462be08
commit
eaf19aba9d
@ -1,3 +1,10 @@
|
||||
2001-01-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/i386/i386.c (constant_call_address_operand): Accept
|
||||
(const (plus (symbol_ref) (const_int))).
|
||||
* config/i386/i386.h (PREDICATE_CODES): Add CONST for
|
||||
constant_call_address_operand.
|
||||
|
||||
2001-01-08 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||||
|
||||
* libgcc2.h (W_TYPE_SIZE): Fix case where MIN_UNITS_PER_WORD == 1
|
||||
|
@ -1109,6 +1109,10 @@ constant_call_address_operand (op, mode)
|
||||
rtx op;
|
||||
enum machine_mode mode ATTRIBUTE_UNUSED;
|
||||
{
|
||||
if (GET_CODE (op) == CONST
|
||||
&& GET_CODE (XEXP (op, 0)) == PLUS
|
||||
&& GET_CODE (XEXP (XEXP (op, 0), 1)) == CONST_INT)
|
||||
op = XEXP (XEXP (op, 0), 0);
|
||||
return GET_CODE (op) == SYMBOL_REF;
|
||||
}
|
||||
|
||||
|
@ -2830,7 +2830,7 @@ do { long l; \
|
||||
LABEL_REF, SUBREG, REG, MEM}}, \
|
||||
{"pic_symbolic_operand", {CONST}}, \
|
||||
{"call_insn_operand", {REG, SUBREG, MEM, SYMBOL_REF}}, \
|
||||
{"constant_call_address_operand", {SYMBOL_REF}}, \
|
||||
{"constant_call_address_operand", {SYMBOL_REF, CONST}}, \
|
||||
{"const0_operand", {CONST_INT, CONST_DOUBLE}}, \
|
||||
{"const1_operand", {CONST_INT}}, \
|
||||
{"const248_operand", {CONST_INT}}, \
|
||||
|
@ -1,3 +1,7 @@
|
||||
2001-01-07 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* gcc.c-torture/compile/20010107-1.c: New test.
|
||||
|
||||
2001-01-07 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||
|
||||
* gcc.c-torture/execute/builtin-noret-1.c: New test.
|
||||
|
6
gcc/testsuite/gcc.c-torture/compile/20010107-1.c
Normal file
6
gcc/testsuite/gcc.c-torture/compile/20010107-1.c
Normal file
@ -0,0 +1,6 @@
|
||||
unsigned long x[4];
|
||||
|
||||
void foo(void)
|
||||
{
|
||||
((void (*)())(x+2))();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user