The ICE in PR analyzer/111099 seems to have been fixed on trunk by
r16-6063-g0b786d961d4426. Add a regression test for it.
Successfully regrtested on x86_64-pc-linux-gnu.
Pushed to trunk as r16-7469-g5406e3529a24cb.
gcc/testsuite/ChangeLog:
PR analyzer/111099
* gcc.dg/analyzer/torture/ice-pr111099.c: New test.
Signed-off-by: David Malcolm <[email protected]>
---
.../gcc.dg/analyzer/torture/ice-pr111099.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
create mode 100644 gcc/testsuite/gcc.dg/analyzer/torture/ice-pr111099.c
diff --git a/gcc/testsuite/gcc.dg/analyzer/torture/ice-pr111099.c
b/gcc/testsuite/gcc.dg/analyzer/torture/ice-pr111099.c
new file mode 100644
index 0000000000000..89e07e53a9d39
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/analyzer/torture/ice-pr111099.c
@@ -0,0 +1,17 @@
+int
+get_count_bits_in_reg(int bit_start, int bit_count, int i_reg)
+{
+ int ret_count = 0;
+ int num_reg = 0;
+ int last_used_bit = (bit_start + bit_count - 1);
+ for (int num_bit = bit_start; num_bit <= last_used_bit; ++num_bit) {
+ ++ret_count;
+ if ((((num_bit + 1) % 32) == 0) || (num_bit == last_used_bit)) {
+ if (i_reg == num_reg++) {
+ return ret_count;
+ }
+ ret_count = 0;
+ }
+ }
+ return 0;
+}
--
2.26.3