Index: recog.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/recog.c,v retrieving revision 1.187 diff -p -r1.187 recog.c *** recog.c 30 Oct 2003 01:40:48 -0000 1.187 --- recog.c 23 Nov 2003 16:07:26 -0000 *************** preprocess_constraints (void) *** 2093,2099 **** { int i; ! memset (recog_op_alt, 0, sizeof recog_op_alt); for (i = 0; i < recog_data.n_operands; i++) { int j; --- 2093,2102 ---- { int i; ! for (i = 0; i < recog_data.n_operands; i++) ! memset (recog_op_alt[i], 0, (recog_data.n_alternatives ! * sizeof (struct operand_alternative))); ! for (i = 0; i < recog_data.n_operands; i++) { int j; Index: config/arm/arm.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/arm/arm.c,v retrieving revision 1.308 diff -p -r1.308 arm.c *** config/arm/arm.c 20 Nov 2003 11:44:19 -0000 1.308 --- config/arm/arm.c 23 Nov 2003 16:07:27 -0000 *************** note_invalid_constants (rtx insn, HOST_W *** 6908,6913 **** --- 6908,6916 ---- if (!constrain_operands (1)) fatal_insn_not_found (insn); + if (recog_data.n_alternatives == 0) + return false; + /* Fill in recog_op_alt with information about the constraints of this insn. */ preprocess_constraints ();