gen_exp had code to handle the 'L' operand format. But this format
is specifically for location_ts, which are only used in RTX_INSNs.
Those should never occur in this context, where the input is always
an md file rather than an __RTL function. Any hard-coded raw
location value would be meaningless anyway.
It seemed safer to turn this into an error rather than a gcc_unreachable.
gcc/
* genemit.cc (generator::gen_exp): Raise an error if we see
an 'L' operand.
---
gcc/genemit.cc | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gcc/genemit.cc b/gcc/genemit.cc
index a7e49a24506..3636a555aad 100644
--- a/gcc/genemit.cc
+++ b/gcc/genemit.cc
@@ -270,7 +270,8 @@ generator::gen_exp (rtx x)
break;
case 'L':
- fprintf (file, "%llu", (unsigned long long) XLOC (x, i));
+ fatal_at (info.loc, "'%s' rtxes are not supported in this context",
+ GET_RTX_NAME (code));
break;
case 'r':
--
2.43.0