All in-tree users of "final" now pass in an rtx_insn * for the first param.
gcc/ * output.h (final): Strengthen param 1 from rtx to rtx_insn *. * final.c (final): Likewise. Rename param back from "uncast_first" to "first" and eliminate the checked cast from rtx to rtx_insn *. --- gcc/final.c | 3 +-- gcc/output.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/final.c b/gcc/final.c index 0ef0bbb..6937d0d 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1958,9 +1958,8 @@ dump_basic_block_info (FILE *file, rtx_insn *insn, basic_block *start_to_bb, For description of args, see `final_start_function', above. */ void -final (rtx uncast_first, FILE *file, int optimize_p) +final (rtx_insn *first, FILE *file, int optimize_p) { - rtx_insn *first = as_a_nullable <rtx_insn *> (uncast_first); rtx_insn *insn, *next; int seen = 0; diff --git a/gcc/output.h b/gcc/output.h index 05e7666..b4c8c47 100644 --- a/gcc/output.h +++ b/gcc/output.h @@ -65,7 +65,7 @@ extern void final_start_function (rtx, FILE *, int); extern void final_end_function (void); /* Output assembler code for some insns: all or part of a function. */ -extern void final (rtx, FILE *, int); +extern void final (rtx_insn *, FILE *, int); /* The final scan for one insn, INSN. Args are same as in `final', except that INSN is the insn being scanned. Value returned is the next insn to -- 1.8.5.3