20010122-1.c: Don't assume alloca() is enough to avoid inlining.
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 5 Oct 2001 04:20:06 +0000 (04:20 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 5 Oct 2001 04:20:06 +0000 (04:20 +0000)
* gcc.c-torture/execute/20010122-1.c: Don't assume alloca() is
enough to avoid inlining.

From-SVN: r46024

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20010122-1.c

index 0335486a15640bf9a273dada5deb37da12dc895f..f925c951ffde4e1ab99e0f84126624c4210e20e2 100644 (file)
@@ -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.
index 3bc53f604fd5534dddf9c242c5d61ef803b41392..ba72397945dcb1d64ab61383dbd7c3759fcf6544 100644 (file)
@@ -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;