The usuall fallthru and sprintf stuff. These required a bit more thought, but nothing terribly taxing.
Installing on the trunk. jeff
commit 7227c03164300c5f5188a1261b3c57f0b7072394 Author: law <law@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Wed Oct 26 16:33:22 2016 +0000 * config/arc/arc.c (acr_print_operand): Adjust fallthru comment. (check_if_valid_sleep_operand): Add missing fallthru comment. (arc_register_move_cost): Increase buffer size. * config/arc/arc.md (cbranch4si_scratch): Add missing fallthru comment. * config/arc/predicates.md (move_str_operand): Avoid fallthru. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241585 138bc75d-0d04-0410-961f-82ee72b054a4 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce2693b..1aa397e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2016-10-26 Jeff Law <l...@redhat.com> + * config/arc/arc.c (acr_print_operand): Adjust fallthru comment. + (check_if_valid_sleep_operand): Add missing fallthru comment. + (arc_register_move_cost): Increase buffer size. + * config/arc/arc.md (cbranch4si_scratch): Add missing fallthru + comment. + * config/arc/predicates.md (move_str_operand): Avoid fallthru. + * config/cr16/cr16.c (cr16_print_operand): Add missing fallthru comment. Add gcc_unreachable for path that should never happen. diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index 21bba0c..0e7b63d 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -3459,7 +3459,8 @@ arc_print_operand (FILE *file, rtx x, int code) fprintf (file, "0x%08lx", l); break; } - /* Fall through. Let output_addr_const deal with it. */ + /* FALLTHRU */ + /* Let output_addr_const deal with it. */ default : if (flag_pic || (GET_CODE (x) == CONST @@ -6197,6 +6198,7 @@ check_if_valid_sleep_operand (rtx *operands, int opno) case CONST_INT : if( UNSIGNED_INT6 (INTVAL (operands[opno]))) return true; + /* FALLTHRU */ default: fatal_error (input_location, "operand for sleep instruction must be an unsigned 6 bit compile-time constant"); @@ -7284,7 +7286,7 @@ arc_register_move_cost (machine_mode, int arc_output_addsi (rtx *operands, bool cond_p, bool output_p) { - char format[32]; + char format[35]; int match = operands_match_p (operands[0], operands[1]); int match2 = operands_match_p (operands[0], operands[2]); diff --git a/gcc/config/arc/arc.md b/gcc/config/arc/arc.md index 3c531d9..e127d5b 100644 --- a/gcc/config/arc/arc.md +++ b/gcc/config/arc/arc.md @@ -4891,6 +4891,7 @@ case 4: return \"br%d0%* %1, %B2, %^%l3\"; case 8: if (!brcc_nolimm_operator (operands[0], VOIDmode)) return \"br%d0%* %1, %B2, %^%l3\"; + /* FALLTHRU */ case 6: case 10: case 12:return \"cmp%? %1, %B2\\n\\tb%d0%* %^%l3%&;br%d0 out of range\"; default: fprintf (stderr, \"unexpected length %d\\n\", get_attr_length (insn)); fflush (stderr); gcc_unreachable (); diff --git a/gcc/config/arc/predicates.md b/gcc/config/arc/predicates.md index f85f931..cb75dbc 100644 --- a/gcc/config/arc/predicates.md +++ b/gcc/config/arc/predicates.md @@ -266,6 +266,7 @@ case SYMBOL_REF : if (SYMBOL_REF_TLS_MODEL (op)) return 0; + return 1; case LABEL_REF : return 1; case CONST :