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

Reply via email to