aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/pure-1.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/pure-1.c')
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/pure-1.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/pure-1.c b/gcc/testsuite/gcc.c-torture/execute/pure-1.c
index 96435c1..a516ed9 100644
--- a/gcc/testsuite/gcc.c-torture/execute/pure-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/pure-1.c
@@ -17,20 +17,13 @@ extern int func0 (int) __attribute__ ((__pure__));
extern int func1 (int) __attribute__ ((__const__));
/* GCC should automatically detect attributes for these functions.
- Don't allow -O3 to inline them. */
-#define ANI __attribute__ ((__noinline__))
-
-/* ??? If we mark these static, then -O3 will defer them to the end of
- compilation, and we won't have detected anything about them at the
- point main is compiled. Leaving them public works until someone runs
- the testsuite with -fpic, or has an OS for which targetm.binds_local_p
- returns false for some reason. */
-int ANI func2 (int a) { return i + a; } /* pure */
-int ANI func3 (int a) { return a * 3; } /* const */
-int ANI func4 (int a) { return func0(a) + a; } /* pure */
-int ANI func5 (int a) { return a + func1(a); } /* const */
-int ANI func6 (int a) { return func2(a) + a; } /* pure */
-int ANI func7 (int a) { return a + func3(a); } /* const */
+ At -O3 They'll be inlined, but that's ok. */
+static int func2 (int a) { return i + a; } /* pure */
+static int func3 (int a) { return a * 3; } /* const */
+static int func4 (int a) { return func0(a) + a; } /* pure */
+static int func5 (int a) { return a + func1(a); } /* const */
+static int func6 (int a) { return func2(a) + a; } /* pure */
+static int func7 (int a) { return a + func3(a); } /* const */
int main ()
{