diff options
author | Nathan Sidwell <nathan@codesourcery.com> | 2006-11-08 17:31:11 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@codesourcery.com> | 2006-11-08 17:31:11 +0000 |
commit | dbe287f54e69959859d1a5697aeab8cda328f749 (patch) | |
tree | 4f7c05cf77fb6c67a0b4a225941a8f178eedefb4 /gcc/testsuite | |
parent | 1ccc976ae378941ec25231c6bcefa793f7f41ee2 (diff) |
* config/m68k/m68kelf.h (STATIC_CHAIN_REGNUM): Define.
(M68K_STATIC_CHAIN_REG_NAME): New.
* config/m68k/m68k.h (M68K_STATIC_CHAIN_REG_NAME): New.
(INITIALIZE_TRAMPOLINE): Use STATIC_CHAIN_REGNUM.
(__transfer_from_trampoline): Use M68K_STATIC_CHAIN_REG_NAME.
* config/m68k/m68k.c (m68k_init_pic): New, broken out of ...
(m68k_output_function_prologue): ... here. Use it.
(m68k_output_mi_thunk): Initialize scratch PIC register if
needed. Use STATIC_CHAIN_REGNUM & M68K_STATIC_CHAIN_REG_NAME.
gcc/testsuite/
* gcc.c-torture/execute/nestfunc-7.c: New.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/csl/sourcerygxx-4_1@118592 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/nestfunc-7.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/nestfunc-7.c b/gcc/testsuite/gcc.c-torture/execute/nestfunc-7.c new file mode 100644 index 00000000000..04b0cb8dedd --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/nestfunc-7.c @@ -0,0 +1,44 @@ +struct A +{ + int one; + int two; + int three; + int four; + int five; + int six; +}; + +static int test (void) +{ + int base; + + struct A Foo (void) + { + struct A a; + + a.one = base + 1; + a.two = base + 2; + a.three = base + 3; + a.four = base + 4; + a.five = base + 5; + a.six = base + 6; + + return a; + } + + base = 10; + struct A a = Foo (); + + return (a.one == 11 + && a.two == 12 + && a.three == 13 + && a.four == 14 + && a.five == 15 + && a.six == 16); +} + +int main (void) +{ + return !test (); +} + |