diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/builtin-return-1.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 51d65e75896..9f011b00809 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-06-01 Kazu Hirata <kazu@codesourcery.com> + + * gcc.dg/builtin-return-1.c (g): New. + (main): Allocate at least 64 bytes on the stack. + 2007-05-31 Mark Mitchell <mark@codesourcery.com> * g++.dg/init/cleanup3.C: New test. diff --git a/gcc/testsuite/gcc.dg/builtin-return-1.c b/gcc/testsuite/gcc.dg/builtin-return-1.c index d22891589dd..75c9acdf72a 100644 --- a/gcc/testsuite/gcc.dg/builtin-return-1.c +++ b/gcc/testsuite/gcc.dg/builtin-return-1.c @@ -17,8 +17,16 @@ int bar(int n) __builtin_return(__builtin_apply((void (*)(void))foo, __builtin_apply_args(), 64)); } +char *g; + int main(void) { + /* Allocate 64 bytes on the stack to make sure that __builtin_apply + can read at least 64 bytes above the return address. */ + char dummy[64]; + + g = dummy; + if (bar(1) != 2) abort(); |