From: Alexandre Oliva Date: Fri, 5 Oct 2001 04:20:06 +0000 (+0000) Subject: 20010122-1.c: Don't assume alloca() is enough to avoid inlining. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8d5463d486fe257414a840e204531a8e4405a9a6;p=gcc.git 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 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0335486a156..f925c951ffd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2001-10-05 Alexandre Oliva + + * gcc.c-torture/execute/20010122-1.c: Don't assume alloca() is + enough to avoid inlining. + 2001-10-04 Peter Schmid * 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 3bc53f604fd..ba72397945d 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;