(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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38783
138bc75d-0d04-0410-961f-
82ee72b054a4
+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
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;
}
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}}, \
+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.
--- /dev/null
+unsigned long x[4];
+
+void foo(void)
+{
+ ((void (*)())(x+2))();
+}