diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-07-22 10:33:37 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-07-22 10:33:37 +0200 |
commit | d423df48237b2533a1781d177caf8419e1262d5b (patch) | |
tree | 2bd70c0d114f37575687da7d0ce9ef17bc9cbcc3 /gcc | |
parent | e05de0a910810a34fce108d85f0574a6be53b6e7 (diff) | |
download | gcc-d423df48237b2533a1781d177caf8419e1262d5b.zip gcc-d423df48237b2533a1781d177caf8419e1262d5b.tar.gz gcc-d423df48237b2533a1781d177caf8419e1262d5b.tar.bz2 |
re PR c++/49756 (g++ ICE)
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.
From-SVN: r176617
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gcc.c | 4 | ||||
-rw-r--r-- | gcc/toplev.c | 4 |
3 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5ac6697..d27b255 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-07-22 Jakub Jelinek <jakub@redhat.com> + + PR c++/49756 + * gcc.c (main): Call stack_limit_increase (64MB). + * toplev.c (toplev_main): Likewise. + 2011-07-21 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg @@ -6156,6 +6156,10 @@ main (int argc, char **argv) signal (SIGCHLD, SIG_DFL); #endif + /* Parsing and gimplification sometimes need quite large stack. + Increase stack size limits if possible. */ + stack_limit_increase (64 * 1024 * 1024); + /* Allocate the argument vector. */ alloc_args (); diff --git a/gcc/toplev.c b/gcc/toplev.c index 109325c..de0a58a 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. */ |