mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
e05de0a910
commit
d423df4823
|
@ -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>
|
2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
|
* 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);
|
signal (SIGCHLD, SIG_DFL);
|
||||||
#endif
|
#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. */
|
/* Allocate the argument vector. */
|
||||||
alloc_args ();
|
alloc_args ();
|
||||||
|
|
||||||
|
|
|
@ -1911,6 +1911,10 @@ do_compile (void)
|
||||||
int
|
int
|
||||||
toplev_main (int argc, char **argv)
|
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);
|
expandargv (&argc, &argv);
|
||||||
|
|
||||||
/* Initialization of GCC's environment, and diagnostics. */
|
/* Initialization of GCC's environment, and diagnostics. */
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2011-07-22 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR c++/49756
|
||||||
|
* libiberty.h (stack_limit_increase): New prototype.
|
||||||
|
|
||||||
2011-07-13 Sriraman Tallam <tmsriram@google.com>
|
2011-07-13 Sriraman Tallam <tmsriram@google.com>
|
||||||
|
|
||||||
* plugin-api.h
|
* plugin-api.h
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* Function declarations for libiberty.
|
/* Function declarations for libiberty.
|
||||||
|
|
||||||
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||||
2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
|
||||||
|
|
||||||
Note - certain prototypes declared in this header file are for
|
Note - certain prototypes declared in this header file are for
|
||||||
functions whoes implementation copyright does not belong to the
|
functions whoes implementation copyright does not belong to the
|
||||||
|
@ -637,6 +637,9 @@ extern int strverscmp (const char *, const char *);
|
||||||
/* Set the title of a process */
|
/* Set the title of a process */
|
||||||
extern void setproctitle (const char *name, ...);
|
extern void setproctitle (const char *name, ...);
|
||||||
|
|
||||||
|
/* Increase stack limit if possible. */
|
||||||
|
extern void stack_limit_increase (unsigned long);
|
||||||
|
|
||||||
#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
|
#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
|
||||||
|
|
||||||
/* Drastically simplified alloca configurator. If we're using GCC,
|
/* Drastically simplified alloca configurator. If we're using GCC,
|
||||||
|
|
|
@ -1,3 +1,15 @@
|
||||||
|
2011-07-22 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR c++/49756
|
||||||
|
* 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.
|
||||||
|
|
||||||
2011-07-04 Jason Merrill <jason@redhat.com>
|
2011-07-04 Jason Merrill <jason@redhat.com>
|
||||||
|
|
||||||
* cp-demangle.c (d_expression): Handle 'this'.
|
* cp-demangle.c (d_expression): Handle 'this'.
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# Originally written by K. Richard Pixley <rich@cygnus.com>.
|
# Originally written by K. Richard Pixley <rich@cygnus.com>.
|
||||||
#
|
#
|
||||||
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||||
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||||
# Free Software Foundation
|
# Free Software Foundation
|
||||||
#
|
#
|
||||||
# This file is part of the libiberty library.
|
# This file is part of the libiberty library.
|
||||||
|
@ -148,10 +148,10 @@ CFILES = alloca.c argv.c asprintf.c atexit.c \
|
||||||
simple-object.c simple-object-coff.c simple-object-elf.c \
|
simple-object.c simple-object-coff.c simple-object-elf.c \
|
||||||
simple-object-mach-o.c \
|
simple-object-mach-o.c \
|
||||||
snprintf.c sort.c \
|
snprintf.c sort.c \
|
||||||
spaces.c splay-tree.c stpcpy.c stpncpy.c strcasecmp.c \
|
spaces.c splay-tree.c stack-limit.c stpcpy.c stpncpy.c \
|
||||||
strchr.c strdup.c strerror.c strncasecmp.c strncmp.c \
|
strcasecmp.c strchr.c strdup.c strerror.c strncasecmp.c \
|
||||||
strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \
|
strncmp.c strrchr.c strsignal.c strstr.c strtod.c strtol.c \
|
||||||
strndup.c strverscmp.c \
|
strtoul.c strndup.c strverscmp.c \
|
||||||
tmpnam.c \
|
tmpnam.c \
|
||||||
unlink-if-ordinary.c \
|
unlink-if-ordinary.c \
|
||||||
vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \
|
vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \
|
||||||
|
@ -183,7 +183,8 @@ REQUIRED_OFILES = \
|
||||||
./simple-object.$(objext) ./simple-object-coff.$(objext) \
|
./simple-object.$(objext) ./simple-object-coff.$(objext) \
|
||||||
./simple-object-elf.$(objext) ./simple-object-mach-o.$(objext) \
|
./simple-object-elf.$(objext) ./simple-object-mach-o.$(objext) \
|
||||||
./sort.$(objext) ./spaces.$(objext) \
|
./sort.$(objext) ./spaces.$(objext) \
|
||||||
./splay-tree.$(objext) ./strerror.$(objext) \
|
./splay-tree.$(objext) ./stack-limit.$(objext) \
|
||||||
|
./strerror.$(objext) \
|
||||||
./strsignal.$(objext) ./unlink-if-ordinary.$(objext) \
|
./strsignal.$(objext) ./unlink-if-ordinary.$(objext) \
|
||||||
./xatexit.$(objext) ./xexit.$(objext) ./xmalloc.$(objext) \
|
./xatexit.$(objext) ./xexit.$(objext) ./xmalloc.$(objext) \
|
||||||
./xmemdup.$(objext) ./xstrdup.$(objext) ./xstrerror.$(objext) \
|
./xmemdup.$(objext) ./xstrdup.$(objext) ./xstrerror.$(objext) \
|
||||||
|
@ -1033,6 +1034,12 @@ $(CONFIGURED_OFILES): stamp-picdir
|
||||||
else true; fi
|
else true; fi
|
||||||
$(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
|
$(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
|
||||||
|
|
||||||
|
./stack-limit.$(objext): $(srcdir)/stack-limit.c config.h
|
||||||
|
if [ x"$(PICFLAG)" != x ]; then \
|
||||||
|
$(COMPILE.c) $(PICFLAG) $(srcdir)/stack-limit.c -o pic/$@; \
|
||||||
|
else true; fi
|
||||||
|
$(COMPILE.c) $(srcdir)/stack-limit.c $(OUTPUT_OPTION)
|
||||||
|
|
||||||
./stpcpy.$(objext): $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
|
./stpcpy.$(objext): $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
|
||||||
if [ x"$(PICFLAG)" != x ]; then \
|
if [ x"$(PICFLAG)" != x ]; then \
|
||||||
$(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; \
|
$(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; \
|
||||||
|
|
|
@ -109,6 +109,9 @@
|
||||||
/* Define to 1 if you have the `getpagesize' function. */
|
/* Define to 1 if you have the `getpagesize' function. */
|
||||||
#undef HAVE_GETPAGESIZE
|
#undef HAVE_GETPAGESIZE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getrlimit' function. */
|
||||||
|
#undef HAVE_GETRLIMIT
|
||||||
|
|
||||||
/* Define to 1 if you have the `getrusage' function. */
|
/* Define to 1 if you have the `getrusage' function. */
|
||||||
#undef HAVE_GETRUSAGE
|
#undef HAVE_GETRUSAGE
|
||||||
|
|
||||||
|
@ -205,6 +208,9 @@
|
||||||
/* Define to 1 if you have the `setproctitle' function. */
|
/* Define to 1 if you have the `setproctitle' function. */
|
||||||
#undef HAVE_SETPROCTITLE
|
#undef HAVE_SETPROCTITLE
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `setrlimit' function. */
|
||||||
|
#undef HAVE_SETRLIMIT
|
||||||
|
|
||||||
/* Define to 1 if you have the `sigsetmask' function. */
|
/* Define to 1 if you have the `sigsetmask' function. */
|
||||||
#undef HAVE_SIGSETMASK
|
#undef HAVE_SIGSETMASK
|
||||||
|
|
||||||
|
|
|
@ -5293,10 +5293,10 @@ funcs="$funcs setproctitle"
|
||||||
|
|
||||||
vars="sys_errlist sys_nerr sys_siglist"
|
vars="sys_errlist sys_nerr sys_siglist"
|
||||||
|
|
||||||
checkfuncs="__fsetlocking canonicalize_file_name dup3 getrusage getsysinfo \
|
checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \
|
||||||
gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic realpath \
|
getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \
|
||||||
sbrk spawnve spawnvpe strerror strsignal sysconf sysctl sysmp table \
|
realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \
|
||||||
times wait3 wait4"
|
sysmp table times wait3 wait4"
|
||||||
|
|
||||||
# These are neither executed nor required, but they help keep
|
# These are neither executed nor required, but they help keep
|
||||||
# autoheader happy without adding a bunch of text to acconfig.h.
|
# autoheader happy without adding a bunch of text to acconfig.h.
|
||||||
|
@ -5306,13 +5306,13 @@ if test "x" = "y"; then
|
||||||
calloc canonicalize_file_name clock \
|
calloc canonicalize_file_name clock \
|
||||||
dup3 \
|
dup3 \
|
||||||
ffs __fsetlocking \
|
ffs __fsetlocking \
|
||||||
getcwd getpagesize getrusage getsysinfo gettimeofday \
|
getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
|
||||||
index insque \
|
index insque \
|
||||||
memchr memcmp memcpy memmem memmove memset mkstemps \
|
memchr memcmp memcpy memmem memmove memset mkstemps \
|
||||||
on_exit \
|
on_exit \
|
||||||
psignal pstat_getdynamic pstat_getstatic putenv \
|
psignal pstat_getdynamic pstat_getstatic putenv \
|
||||||
random realpath rename rindex \
|
random realpath rename rindex \
|
||||||
sbrk setenv setproctitle sigsetmask snprintf spawnve spawnvpe \
|
sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
|
||||||
stpcpy stpncpy strcasecmp strchr strdup \
|
stpcpy stpncpy strcasecmp strchr strdup \
|
||||||
strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \
|
strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \
|
||||||
strtoul strverscmp sysconf sysctl sysmp \
|
strtoul strverscmp sysconf sysctl sysmp \
|
||||||
|
|
|
@ -358,10 +358,10 @@ funcs="$funcs setproctitle"
|
||||||
|
|
||||||
vars="sys_errlist sys_nerr sys_siglist"
|
vars="sys_errlist sys_nerr sys_siglist"
|
||||||
|
|
||||||
checkfuncs="__fsetlocking canonicalize_file_name dup3 getrusage getsysinfo \
|
checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \
|
||||||
gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic realpath \
|
getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \
|
||||||
sbrk spawnve spawnvpe strerror strsignal sysconf sysctl sysmp table \
|
realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \
|
||||||
times wait3 wait4"
|
sysmp table times wait3 wait4"
|
||||||
|
|
||||||
# These are neither executed nor required, but they help keep
|
# These are neither executed nor required, but they help keep
|
||||||
# autoheader happy without adding a bunch of text to acconfig.h.
|
# autoheader happy without adding a bunch of text to acconfig.h.
|
||||||
|
@ -371,13 +371,13 @@ if test "x" = "y"; then
|
||||||
calloc canonicalize_file_name clock \
|
calloc canonicalize_file_name clock \
|
||||||
dup3 \
|
dup3 \
|
||||||
ffs __fsetlocking \
|
ffs __fsetlocking \
|
||||||
getcwd getpagesize getrusage getsysinfo gettimeofday \
|
getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
|
||||||
index insque \
|
index insque \
|
||||||
memchr memcmp memcpy memmem memmove memset mkstemps \
|
memchr memcmp memcpy memmem memmove memset mkstemps \
|
||||||
on_exit \
|
on_exit \
|
||||||
psignal pstat_getdynamic pstat_getstatic putenv \
|
psignal pstat_getdynamic pstat_getstatic putenv \
|
||||||
random realpath rename rindex \
|
random realpath rename rindex \
|
||||||
sbrk setenv setproctitle sigsetmask snprintf spawnve spawnvpe \
|
sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
|
||||||
stpcpy stpncpy strcasecmp strchr strdup \
|
stpcpy stpncpy strcasecmp strchr strdup \
|
||||||
strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \
|
strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \
|
||||||
strtoul strverscmp sysconf sysctl sysmp \
|
strtoul strverscmp sysconf sysctl sysmp \
|
||||||
|
|
Loading…
Reference in New Issue