We're no longer issuing Wstrict-overflow warnings, even with the
-Wstrict-overflow flag being used.
Remove the tests that are still testing for it. They're either compile
tests that are testing cases where a warning shouldn't be issued or
XFAIL tests.
gcc/testsuite/ChangeLog:
* gcc.dg/Wstrict-overflow-10.c: Removed.
* gcc.dg/Wstrict-overflow-11.c: Removed.
* gcc.dg/Wstrict-overflow-12.c: Removed.
* gcc.dg/Wstrict-overflow-13.c: Removed.
* gcc.dg/Wstrict-overflow-14.c: Removed.
* gcc.dg/Wstrict-overflow-15.c: Removed.
* gcc.dg/Wstrict-overflow-16.c: Removed.
* gcc.dg/Wstrict-overflow-17.c: Removed.
* gcc.dg/Wstrict-overflow-18.c: Removed.
* gcc.dg/Wstrict-overflow-19.c: Removed.
* gcc.dg/Wstrict-overflow-2.c: Removed.
* gcc.dg/Wstrict-overflow-20.c: Removed.
* gcc.dg/Wstrict-overflow-21.c: Removed.
* gcc.dg/Wstrict-overflow-23.c: Removed.
* gcc.dg/Wstrict-overflow-26.c: Removed.
* gcc.dg/Wstrict-overflow-27.c: Removed.
* gcc.dg/Wstrict-overflow-4.c: Removed.
* gcc.dg/Wstrict-overflow-6.c: Removed.
* gcc.dg/Wstrict-overflow-7.c: Removed.
* gcc.dg/Wstrict-overflow-8.c: Removed.
---
gcc/testsuite/gcc.dg/Wstrict-overflow-10.c | 10 -------
gcc/testsuite/gcc.dg/Wstrict-overflow-11.c | 19 -------------
gcc/testsuite/gcc.dg/Wstrict-overflow-12.c | 16 -----------
gcc/testsuite/gcc.dg/Wstrict-overflow-13.c | 18 -------------
gcc/testsuite/gcc.dg/Wstrict-overflow-14.c | 15 -----------
gcc/testsuite/gcc.dg/Wstrict-overflow-15.c | 15 -----------
gcc/testsuite/gcc.dg/Wstrict-overflow-16.c | 11 --------
gcc/testsuite/gcc.dg/Wstrict-overflow-17.c | 20 --------------
gcc/testsuite/gcc.dg/Wstrict-overflow-18.c | 23 ----------------
gcc/testsuite/gcc.dg/Wstrict-overflow-19.c | 15 -----------
gcc/testsuite/gcc.dg/Wstrict-overflow-2.c | 13 ---------
gcc/testsuite/gcc.dg/Wstrict-overflow-20.c | 15 -----------
gcc/testsuite/gcc.dg/Wstrict-overflow-21.c | 12 ---------
gcc/testsuite/gcc.dg/Wstrict-overflow-23.c | 31 ----------------------
gcc/testsuite/gcc.dg/Wstrict-overflow-26.c | 16 -----------
gcc/testsuite/gcc.dg/Wstrict-overflow-27.c | 28 -------------------
gcc/testsuite/gcc.dg/Wstrict-overflow-4.c | 13 ---------
gcc/testsuite/gcc.dg/Wstrict-overflow-6.c | 13 ---------
gcc/testsuite/gcc.dg/Wstrict-overflow-7.c | 10 -------
gcc/testsuite/gcc.dg/Wstrict-overflow-8.c | 10 -------
20 files changed, 323 deletions(-)
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-10.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-11.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-12.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-13.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-14.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-15.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-16.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-17.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-18.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-19.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-2.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-20.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-21.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-26.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-4.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-6.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-7.c
delete mode 100644 gcc/testsuite/gcc.dg/Wstrict-overflow-8.c
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-10.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-10.c
deleted file mode 100644
index d2c259728cb..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-10.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=1" } */
-
-/* Source: Ian Lance Taylor. */
-
-int
-foo (int i)
-{
- return __builtin_abs (i) >= 0;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-11.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-11.c
deleted file mode 100644
index 3caf1cb6f09..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-11.c
+++ /dev/null
@@ -1,19 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=1" } */
-
-/* Based on strict-overflow-5.c. */
-
-/* We can only unroll when using strict overflow semantics. But we
- don't issue a warning for relying on undefined overflow in
- loops. */
-
-int foo (int i)
-{
- int index;
- int r=0;
-
- for (index = i; index <= i+4; index+=2)
- r++;
-
- return r;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-12.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-12.c
deleted file mode 100644
index 2837ce3a44e..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-12.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=2" } */
-
-/* Source: Ian Lance Taylor. Dual of no-strict-overflow-6.c. */
-
-/* VRP test. This turns into an infinite loop when using strict
- overflow semantics. */
-
-int
-foo ()
-{
- int i, bits;
- for (i = 1, bits = 1; i > 0; i += i) /* { dg-warning "assuming signed
overflow does not occur" "correct warning" { xfail *-*-* } } */
- ++bits;
- return bits;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-13.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-13.c
deleted file mode 100644
index 8691cd82fe4..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-13.c
+++ /dev/null
@@ -1,18 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=2" } */
-
-/* Source: Ian Lance Taylor. Dual of no-strict-overflow-6.c. */
-
-/* VRP test. This turns into an infinite loop (depending on what
- bigtime_test does), but at least we warn about it. */
-
-extern int bigtime_test (int);
-int
-foo ()
-{
- int j;
- for (j = 1; 0 < j; j *= 2) /* { dg-warning "assuming signed overflow does
not occur" "correct warning" { xfail *-*-* } } */
- if (! bigtime_test (j))
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-14.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-14.c
deleted file mode 100644
index dda07ea733b..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-14.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=4" } */
-
-/* Source: Ian Lance Taylor. */
-
-int
-foo (int j)
-{
- int i;
- int sum = 0;
-
- for (i = 1; i < j; i += i)
- sum += i / 16; /* { dg-warning "assuming signed overflow does not occur"
"" { xfail *-*-* } } */
- return sum;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-15.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-15.c
deleted file mode 100644
index c9e275c0bd6..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-15.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=4" } */
-
-/* Source: Ian Lance Taylor. */
-
-int
-foo (int j)
-{
- int i;
- int sum = 0;
-
- for (i = 1; i < j; i += i)
- sum += __builtin_abs (i); /* { dg-warning "assuming signed overflow does
not occur" "" { xfail *-*-* } } */
- return sum;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-16.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-16.c
deleted file mode 100644
index e8c31cf5046..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-16.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow" } */
-
-/* From PR 31522. */
-
-int f (int x) {
- int y;
- if (x <= 4) y = 1;
- else y = x / 4;
- return y <= 0;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-17.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-17.c
deleted file mode 100644
index 5625bc2a7f3..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-17.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow" } */
-
-/* This erroneously gave an overflow warning. */
-
-extern void bar (char);
-void
-foo (char *s)
-{
- int len, i;
-
- for (len = 1; len < 5000; ++len)
- {
- for (i = 0; i < len; ++i)
- {
- if (s[i] != '\0')
- bar (s[i]);
- }
- }
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-18.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-18.c
deleted file mode 100644
index 8c8ddcf2b26..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-18.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow" } */
-
-/* Warn about an overflow when folding i > 0, p->a - p->b can be larger
- than INT_MAX and thus i can wrap. */
-
-struct c { unsigned int a; unsigned int b; };
-extern void bar (struct c *);
-int
-foo (struct c *p)
-{
- int i;
- int sum = 0;
-
- for (i = 0; i < p->a - p->b; ++i)
- {
- /* See PR80511 for the XFAIL. */
- if (i > 0) /* { dg-warning "signed overflow" "" { xfail *-*-* } } */
- sum += 2;
- bar (p);
- }
- return sum;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-19.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-19.c
deleted file mode 100644
index daf98b0ce63..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-19.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow" } */
-
-/* Don't warn about an overflow when threading jumps. We used to get
- a warning from comparing bounds generated by VRP. */
-
-int
-bar(int a, int b, int n)
-{
- if (b > a)
- n = a - b;
- if (a >= b)
- n = 1;
- return n;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-2.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-2.c
deleted file mode 100644
index 2112571cabe..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-2.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=2" } */
-
-/* Source: Ian Lance Taylor. Based on strict-overflow-1.c. */
-
-/* We can only simplify the conditional when using strict overflow
- semantics. */
-
-int
-foo (int i)
-{
- return i - 5 < 10;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-20.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-20.c
deleted file mode 100644
index 260d20c9c9c..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-20.c
+++ /dev/null
@@ -1,15 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-std=gnu17 -fstrict-overflow -O2 -Wstrict-overflow" } */
-
-/* Don't warn about an overflow in a copied loop header. We used to
- get a warning in value numbering. This is PR 33565. */
-
-void do_something ();
-
-void f (int m, int n)
-{
- int j;
-
- for (j = m; j < m + 10 && j < n; j ++)
- do_something (j);
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-21.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-21.c
deleted file mode 100644
index 82a61d966f3..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-21.c
+++ /dev/null
@@ -1,12 +0,0 @@
-/* PR 32102: -Wall stomps on -Wstrict-overflow */
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=2 -Wall" } */
-int
-foo ()
-{
- int i, bits;
- for (i = 1, bits = 1; i > 0; i += i) /* { dg-warning "assuming signed
overflow does not occur" "correct warning" { xfail *-*-* } } */
- ++bits;
- return bits;
-}
-
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
deleted file mode 100644
index 16014bb15c5..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-23.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wstrict-overflow" } */
-
-unsigned int
-do_scrolling (unsigned int window_size, unsigned int writecost)
-{
- unsigned int i = window_size;
-
- int terminal_window_p = 0;
- unsigned int queue = 0;
-
- for (i = window_size; i; i--)
- {
- if (writecost < i)
- ++queue;
- else if (writecost & 1)
- terminal_window_p = 1;
- }
-
- if (queue > 0)
- {
- if (!terminal_window_p)
- {
- terminal_window_p = 1;
- }
- }
-
- if (terminal_window_p)
- return 100;
- return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-26.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-26.c
deleted file mode 100644
index ef805b56d25..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-26.c
+++ /dev/null
@@ -1,16 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wstrict-overflow" } */
-
-int
-f (int i, int j)
-{
- unsigned int c = 0;
- if (i < j)
- {
- unsigned int n = j - i;
- unsigned int i;
- for (i = 0; i < n; i++) /* { dg-bogus "signed overflow" } */
- c++;
- }
- return c;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
deleted file mode 100644
index 95d101ad02e..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-27.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O3 -Wstrict-overflow=2 -Werror" } */
-
-typedef __SIZE_TYPE__ size_t;
-extern char *strtok_r (char *__restrict __s, const char *__restrict __delim,
- char **__restrict __save_ptr)
- __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__nonnull__ (2,
3)));
-extern const unsigned short int **__ctype_b_loc (void)
- __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__const__));
-extern int *DEBUGLEVEL_CLASS;
-size_t debug_num_classes = 0;
-void debug_parse_param(char *param);
-void
-debug_parse_levels(const char *params_str, size_t str_len)
-{
- char str[str_len+1];
- char *tok, *saveptr;
- size_t i;
- tok = strtok_r(str, " \t,\n\r", &saveptr);
- if (((*__ctype_b_loc ())[(int) ((tok[0]))]))
- tok = strtok_r(((void *)0), " \t,\n\r", &saveptr);
- else
- DEBUGLEVEL_CLASS[0] = 0;
- for (i = 0 +1; i < debug_num_classes; i++)
- DEBUGLEVEL_CLASS[i] = DEBUGLEVEL_CLASS[0];
- while (tok != ((void *)0) )
- debug_parse_param(tok);
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-4.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-4.c
deleted file mode 100644
index e880bef45ff..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-4.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=3" } */
-
-/* Source: Ian Lance Taylor. Based on strict-overflow-2.c. */
-
-/* We can only simplify the division when using strict overflow
- semantics. */
-
-int
-foo (int i)
-{
- return (i * 100) / 10;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-6.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-6.c
deleted file mode 100644
index c3a160c6002..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-6.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow=2" } */
-
-/* Source: Ian Lance Taylor. Based on strict-overflow-3.c. */
-
-/* We can only simplify the conditional when using strict overflow
- semantics. */
-
-int
-foo (int i, int j)
-{
- return i + 100 < j + 1000;
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-7.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-7.c
deleted file mode 100644
index 401cbc3c987..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-7.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wstrict-overflow" } */
-
-/* Source: Ian Lance Taylor. */
-
-int
-foo (int i)
-{
- return i + 10 > i; /* { dg-warning "assuming signed overflow does not occur"
"correct warning" { xfail *-*-* } } */
-}
diff --git a/gcc/testsuite/gcc.dg/Wstrict-overflow-8.c
b/gcc/testsuite/gcc.dg/Wstrict-overflow-8.c
deleted file mode 100644
index 566729fe308..00000000000
--- a/gcc/testsuite/gcc.dg/Wstrict-overflow-8.c
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-fstrict-overflow -O2 -Wall -Wno-strict-overflow" } */
-
-/* Source: Ian Lance Taylor. */
-
-int
-foo (int i)
-{
- return i + 10 > i;
-}
--
2.43.0