This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
switch question in recog.c
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: gcc mailing list <gcc at gcc dot gnu dot org>
- Date: 07 Oct 2003 14:54:40 -0400
- Subject: switch question in recog.c
Is this really valid? Sure seems screwy to me.
in the function asm_operand_ok(), the code looks like:
<...>
case 'X':
result = 1;
case 'g':
if (general_operand (op, VOIDmode))
result = 1;
break;
default:
/* For all other letters, we first check for a register class,
otherwise it is an EXTRA_CONSTRAINT. */
if (REG_CLASS_FROM_CONSTRAINT (c, constraint) != NO_REGS)
{
case 'r':
if (GET_MODE (op) == BLKmode)
break;
if (register_operand (op, VOIDmode))
result = 1;
}
#ifdef EXTRA_CONSTRAINT_STR
if (EXTRA_CONSTRAINT_STR (op, c, constraint))
result = 1;
if (EXTRA_MEMORY_CONSTRAINT (c, constraint))
<...>
Look at where the case 'r' is.. its inside the 'default:' case. Is that
really kosher?
Andrew