+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.
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];
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;