From b255a03659c00eef213ffbeab6ce371f56e089e7 Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Wed, 5 Mar 2003 23:19:33 +0100 Subject: Makefile.in (calls.o, [...]): Depend on cgraph.h * Makefile.in (calls.o, toplev.o alias.o): Depend on cgraph.h * alias.c: Include cgraph.h (mark_constant_function): Use cgraph_rtl_info. * calls.c: Include cgraph.h (flags_from_decl_or_type): Use cgraph_rtl_info to find pure and const calls. (expand_call): Use cgraph_rtl_info to set preferred stack boundary. * cgraph.c (cgraph_rtl_info): New function. * cgraph.h (cgraph_rtl_info): Declare (cgraph_rtl_info): Likewise. * function.h (struct function): Add recursive_call_emit. * toplev.c: Include cgraph.h. (rest_of_compilation): Set preferred_incoming_stack_boundary. * gcc.dg/i386-local2.c: New. From-SVN: r63868 --- gcc/testsuite/gcc.dg/i386-local2.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/i386-local2.c (limited to 'gcc/testsuite/gcc.dg/i386-local2.c') diff --git a/gcc/testsuite/gcc.dg/i386-local2.c b/gcc/testsuite/gcc.dg/i386-local2.c new file mode 100644 index 0000000..89ef87e --- /dev/null +++ b/gcc/testsuite/gcc.dg/i386-local2.c @@ -0,0 +1,23 @@ +/* { dg-do compile { target i?86-*-* x86_64-*-* } } */ +/* { dg-options "-O2 -funit-at-a-time -fomit-frame-pointer" } */ +/* { dg-final { scan-assembler-not "sub.*[re]sp" } } */ + +static __attribute__ ((noinline)) q (); +int a; + +/* This function should not require any stack manipulation + for preferred stack bounday. */ +void +e () +{ + if (a) + { + e (); + a--; + } + q (); +} + +static __attribute__ ((noinline)) q () +{ +} -- cgit v1.1