aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-07-22 08:33:37 +0000
committerJakub Jelinek <jakub@redhat.com>2011-07-22 08:33:37 +0000
commit0e001a2cbb776bfba4b3f62f781bb0dfbf7c2d57 (patch)
tree2bd70c0d114f37575687da7d0ce9ef17bc9cbcc3 /gcc/toplev.c
parent5f6345c46263cb6f57906ee0cf13ceb79b64b6c6 (diff)
PR c++/49756
* libiberty.h (stack_limit_increase): New prototype. * stack-limit.c: New file. * Makefile.in: Regenerate deps. (CFILES): Add stack-limit.c. (REQUIRED_OFILES): Add ./stack-limit.$(objext). * configure.ac (checkfuncs): Add getrlimit and setrlimit. (AC_CHECK_FUNCS): Likewise. * configure: Regenerated. * config.in: Regenerated. * gcc.c (main): Call stack_limit_increase (64MB). * toplev.c (toplev_main): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@176617 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 109325cc871..de0a58a6773 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1911,6 +1911,10 @@ do_compile (void)
int
toplev_main (int argc, char **argv)
{
+ /* Parsing and gimplification sometimes need quite large stack.
+ Increase stack size limits if possible. */
+ stack_limit_increase (64 * 1024 * 1024);
+
expandargv (&argc, &argv);
/* Initialization of GCC's environment, and diagnostics. */