aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2018-10-22 16:03:22 +0200
committerSegher Boessenkool <segher@gcc.gnu.org>2018-10-22 16:03:22 +0200
commitb333d8b6d0deca1126f1e206f6ba2678deec437a (patch)
tree9bf964550a7a591fffa7bc5652222d9402ec8e75 /gcc
parente86087eeb8b9cab8caf7f223b602383a3216c810 (diff)
downloadgcc-b333d8b6d0deca1126f1e206f6ba2678deec437a.zip
gcc-b333d8b6d0deca1126f1e206f6ba2678deec437a.tar.gz
gcc-b333d8b6d0deca1126f1e206f6ba2678deec437a.tar.bz2
rs6000: Handle print_operand_address for unexpected RTL (PR87598)
As the PR shows, the user can force this to be called on at least some RTL that is not a valid address. Most targets treat this as if the user knows best; let's do the same. PR target/87598 * config/rs6000/rs6000.c (print_operand_address): For unexpected RTL call output_addr_const and hope for the best. From-SVN: r265392
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 96f1875..d799af2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-10-22 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/87598
+ * config/rs6000/rs6000.c (print_operand_address): For unexpected RTL
+ call output_addr_const and hope for the best.
+
2018-10-22 Richard Biener <rguenther@suse.de>
* gimple-ssa-evrp-analyze.c
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 85b05f6..75e30ce 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -21273,7 +21273,7 @@ print_operand_address (FILE *file, rtx x)
fprintf (file, "(%s)", reg_names[REGNO (XVECEXP (tocrel_base_oac, 0, 1))]);
}
else
- gcc_unreachable ();
+ output_addr_const (file, x);
}
/* Implement TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA. */