Fix ARM ICE for register var asm ("pc") (PR target/60606).
PR target/60606 PR target/61330 * varasm.c (make_decl_rtl): Clear DECL_ASSEMBLER_NAME and DECL_HARD_REGISTER and return for invalid register specifications. * cfgexpand.c (expand_one_var): If expand_one_hard_reg_var clears DECL_HARD_REGISTER, call expand_one_error_var. * config/arm/arm.c (arm_hard_regno_mode_ok): Do not allow CC_REGNUM with non-MODE_CC modes. (arm_regno_class): Return NO_REGS for PC_REGNUM. testsuite: * gcc.dg/torture/pr60606-1.c, gcc.target/arm/pr60606-2.c, gcc.target/arm/pr60606-3.c, gcc.target/arm/pr60606-4.c: New tests. From-SVN: r214526
Showing
gcc/testsuite/gcc.dg/torture/pr60606-1.c
0 → 100644
gcc/testsuite/gcc.target/arm/pr60606-2.c
0 → 100644
gcc/testsuite/gcc.target/arm/pr60606-3.c
0 → 100644
gcc/testsuite/gcc.target/arm/pr60606-4.c
0 → 100644
Please
register
or
sign in
to comment