aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/gcc/testsuite/gcc.dg/pure-2.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/gcc.dg/pure-2.c')
-rw-r--r--gcc-4.8.1/gcc/testsuite/gcc.dg/pure-2.c57
1 files changed, 0 insertions, 57 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/gcc.dg/pure-2.c b/gcc-4.8.1/gcc/testsuite/gcc.dg/pure-2.c
deleted file mode 100644
index 8c2ba56cd..000000000
--- a/gcc-4.8.1/gcc/testsuite/gcc.dg/pure-2.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -Wsuggest-attribute=pure" } */
-
-extern int extern_const(int a) __attribute__ ((pure));
-extern int v;
-
-/* Trivial. */
-int
-foo1(int a) /* { dg-bogus "normally" "detect pure candidate" } */
-{ /* { dg-warning "pure" "detect pure candidate" { target *-*-* } "9" } */
- return v;
-}
-
-/* Loops known to be normally and extern const calls should be safe. */
-int __attribute__ ((noinline))
-foo2(int n) /* { dg-bogus "normally" "detect pure candidate" } */
-{ /* { dg-warning "pure" "detect pure candidate" { target *-*-* } "16" } */
- int ret = 0;
- int i;
- for (i=0; i<n; i++)
- ret+=extern_const (i);
- return ret;
-}
-
-/* No warning here; we can work it by ourselves. */
-static int __attribute__ ((noinline))
-foo2b(int n)
-{
- int ret = 0;
- int i;
- for (i=0; i<n; i++)
- ret+=extern_const (i);
- return ret;
-}
-
-/* Unbounded loops are not safe. */
-static int __attribute__ ((noinline))
-foo3(unsigned int n) /* { dg-warning "pure\[^\n\]* normally" "detect pure candidate" } */
-{
- int ret = 0;
- unsigned int i;
- for (i=0; extern_const (i+n); n++)
- ret+=extern_const (i);
- return ret;
-}
-
-int
-foo4(int n) /* { dg-warning "pure\[^\n\]* normally" "detect pure candidate" } */
-{
- return foo3(n) + foo2b(n);
-}
-
-int
-foo5(int n) /* { dg-bogus "normally" "detect pure candidate" } */
-{ /* { dg-warning "pure" "detect pure candidate" { target *-*-* } "54" } */
- return foo2(n);
-}