diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2a54aff..8246787 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-01-22 Richard Biener <rguenther@suse.de> + + PR libstdc++/64535 + * g++.old-deja/g++.eh/badalloc1.C: Adjust. + 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org> PR rtl-optimization/64682 diff --git a/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C b/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C index 5cde10e..f4f443b 100644 --- a/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C +++ b/gcc/testsuite/g++.old-deja/g++.eh/badalloc1.C @@ -12,21 +12,24 @@ typedef __SIZE_TYPE__ size_t; extern "C" void abort(); extern "C" void *memcpy(void *, const void *, size_t); +// libstdc++ requires a large initialization time allocation for the +// emergency EH allocation pool. Add that to the arena size. + // Assume that STACK_SIZE defined implies a system that does not have a // large data space either, and additionally that we're not linking against // a shared libstdc++ (which requires quite a bit more initialization space). #ifdef STACK_SIZE -const int arena_size = 256; +const int arena_size = 256 + 8 * 128; #else #if defined(__FreeBSD__) || defined(__sun__) || defined(__hpux__) // FreeBSD, Solaris and HP-UX require even more space at initialization time. // FreeBSD 5 now requires over 131072 bytes. -const int arena_size = 262144; +const int arena_size = 262144 + 72 * 1024; #else // Because pointers make up the bulk of our exception-initialization // allocations, we scale by the pointer size from the original // 32-bit-systems-based estimate. -const int arena_size = 32768 * ((sizeof (void *) + 3)/4); +const int arena_size = 32768 * ((sizeof (void *) + 3)/4) + 72 * 1024; #endif #endif |