summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/builtin-return-1.c8
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();
OpenPOWER on IntegriCloud