From 8d5463d486fe257414a840e204531a8e4405a9a6 Mon Sep 17 00:00:00 2001
From: Alexandre Oliva <aoliva@redhat.com>
Date: Fri, 5 Oct 2001 04:20:06 +0000
Subject: [PATCH] 20010122-1.c: Don't assume alloca() is enough to avoid
 inlining.

* gcc.c-torture/execute/20010122-1.c: Don't assume alloca() is
enough to avoid inlining.

From-SVN: r46024
---
 gcc/testsuite/ChangeLog                       |  5 +++++
 .../gcc.c-torture/execute/20010122-1.c        | 19 +++++++++----------
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0335486a1564..f925c951ffde 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-05  Alexandre Oliva  <aoliva@redhat.com>
+
+	* gcc.c-torture/execute/20010122-1.c: Don't assume alloca() is
+	enough to avoid inlining.
+
 2001-10-04  Peter Schmid  <schmid@snake.iap.physik.tu-darmstadt.de>
 
 	* lib/g77.exp: set libg2c_dir correctly.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010122-1.c b/gcc/testsuite/gcc.c-torture/execute/20010122-1.c
index 3bc53f604fd5..ba72397945dc 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20010122-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20010122-1.c
@@ -78,15 +78,14 @@ void *test6a (char * p)
 
 void *(*func1[6])(void) = { test1, test2, test3, test4, test5, test6 };
 
-char * call_func1 (int i)
+char * call_func1_ (int i)
 {
-  char * save = (char*) alloca (4);
-
   save_ret1[i] = func1[i] ();
-
-  return save;
 }
 
+/* We dont' want call_func1_ to be inlined, so call it through a
+   pointer.  */
+void (*call_func1)(int) = call_func1_;
 
 static void *ret_addr;
 void *save_ret2[6];
@@ -164,16 +163,16 @@ char * dummy (void)
 
 void (*func2[6])(void) = { test7, test8, test9, test10, test11, test12 };
 
-char * call_func2 (int i)
+void call_func2_ (int i)
 {
-  char * save = (char*) alloca (4);
-
   func2[i] ();
   save_ret2[i] = ret_addr;
-
-  return save;
 }
 
+/* We dont' want call_func2_ to be inlined, so call it through a
+   pointer.  */
+void (*call_func2)(int) = call_func2_;
+
 int main (void)
 {
   int i;
-- 
GitLab