The change to C++-17 broke PA bootstrap as pa.c uses the "register" keyword. This patch drops the keyword and should hopefully restore bootstrapping. It'll take a day or so to verify.
Committed to the trunk, Jeff
commit a580aca1b6dad32e621d4c8c8ceaab6d0c52f6c1 Author: Jeff Law <l...@redhat.com> Date: Tue Jun 30 23:03:33 2020 -0600 Fix bootstrap failure on PA gcc/ * config/pa/pa.c (pa_emit_move_sequence): Drop register keyword. (pa_output_ascii): Likewise. diff --git a/gcc/config/pa/pa.c b/gcc/config/pa/pa.c index 711234e597a..07d32877154 100644 --- a/gcc/config/pa/pa.c +++ b/gcc/config/pa/pa.c @@ -1631,9 +1631,9 @@ pa_cannot_force_const_mem (machine_mode mode ATTRIBUTE_UNUSED, rtx x) int pa_emit_move_sequence (rtx *operands, machine_mode mode, rtx scratch_reg) { - register rtx operand0 = operands[0]; - register rtx operand1 = operands[1]; - register rtx tem; + rtx operand0 = operands[0]; + rtx operand1 = operands[1]; + rtx tem; /* We can only handle indexed addresses in the destination operand of floating point stores. Thus, we need to break out indexed @@ -3381,7 +3381,7 @@ pa_output_ascii (FILE *file, const char *p, int size) int io = 0; for (io = 0, co = 0; io < MIN (4, size - i); io++) { - register unsigned int c = (unsigned char) p[i + io]; + unsigned int c = (unsigned char) p[i + io]; if (c == '\"' || c == '\\') partial_output[co++] = '\\';