From: Nathan Froyd Date: Fri, 6 Jul 2007 20:43:05 +0000 (+0000) Subject: multi-ix.c (CHUNK): Be more conservative about the chunk size when STACK_SIZE is... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2fdf2ff4259795ce3b44121e099baca82662efd2;p=gcc.git multi-ix.c (CHUNK): Be more conservative about the chunk size when STACK_SIZE is defined. * gcc.c-torture/execute/multi-ix.c (CHUNK): Be more conservative about the chunk size when STACK_SIZE is defined. From-SVN: r126425 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2e0437d994b..0789496dc4a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-07-06 Nathan Froyd + + * gcc.c-torture/execute/multi-ix.c (CHUNK): Be more conservative + about the chunk size when STACK_SIZE is defined. + 2007-07-06 Josh Conner PR middle-end/32602 diff --git a/gcc/testsuite/gcc.c-torture/execute/multi-ix.c b/gcc/testsuite/gcc.c-torture/execute/multi-ix.c index d61a3136706..fdfa567795a 100644 --- a/gcc/testsuite/gcc.c-torture/execute/multi-ix.c +++ b/gcc/testsuite/gcc.c-torture/execute/multi-ix.c @@ -12,7 +12,17 @@ #include #ifdef STACK_SIZE -#define CHUNK ((STACK_SIZE-100)/40/sizeof(int)) +/* We need to be careful that we don't blow our stack. Function f, in the + worst case, needs to fit on the stack: + + * 40 int[CHUNK] arrays; + * ~40 ints; + * ~40 pointers for stdarg passing. + + Subtract the last two off STACK_SIZE and figure out what the maximum + chunk size can be. We make the last bit conservative to account for + register saves and other processor-dependent saving. */ +#define CHUNK ((STACK_SIZE-40*sizeof(int)-256*sizeof(void *))/40/sizeof(int)) #else #define CHUNK 500 #endif