public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/9516: [2003-02-01] Internal error when using a big array
@ 2003-04-04 17:56 Christian Ehrhardt
0 siblings, 0 replies; 3+ messages in thread
From: Christian Ehrhardt @ 2003-04-04 17:56 UTC (permalink / raw)
To: nobody; +Cc: gcc-prs
The following reply was made to PR c/9516; it has been noted by GNATS.
From: "Christian Ehrhardt" <ehrhardt@mathematik.uni-ulm.de>
To: gcc-gnats@gcc.gnu.org, p.allix@ifrance.com, gcc-bugs@gcc.gnu.org,
nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org
Cc:
Subject: Re: c/9516: [2003-02-01] Internal error when using a big array
Date: Fri, 4 Apr 2003 19:48:41 +0200
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9516
Hi,
this PR is about a segfault when initializing an array like this:
unsigned char tab[] = { 1,2,3,4,<several million initializer element> };
The reason is a stack overflow because the initializer elements are
in a TREE_LIST and this list is passed to expr.c:safe_from_p which
does an infinite recursion in this piece of code:
case 'x':
if (TREE_CODE (exp) == TREE_LIST)
return ((TREE_VALUE (exp) == 0
|| safe_from_p (x, TREE_VALUE (exp), 0))
&& (TREE_CHAIN (exp) == 0
|| safe_from_p (x, TREE_CHAIN (exp), 0)));
I guess that rewriting this as:
case 'x':
if (TREE_CODE (exp) == TREE_LIST)
{
tree tmp;
for (tmp = exp; tmp; tmp = TREE_CHAIN(tmp))
{
if (TREE_VALUE(exp) != 0 && !safe_from_p (x, TREE_VALUE (tmp), 0))
return 0;
}
return 1;
}
should fix this PR. I'll bootstrap and regtest.
regards Christian
--
THAT'S ALL FOLKS!
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: c/9516: [2003-02-01] Internal error when using a big array
@ 2003-04-09 4:48 rth
0 siblings, 0 replies; 3+ messages in thread
From: rth @ 2003-04-09 4:48 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, p.allix
Synopsis: [2003-02-01] Internal error when using a big array
State-Changed-From-To: analyzed->closed
State-Changed-By: rth
State-Changed-When: Wed Apr 9 04:48:50 2003
State-Changed-Why:
http://gcc.gnu.org/ml/gcc-patches/2003-04/msg00501.html
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9516
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: c/9516: [2003-02-01] Internal error when using a big array
@ 2003-02-01 22:14 bangerth
0 siblings, 0 replies; 3+ messages in thread
From: bangerth @ 2003-02-01 22:14 UTC (permalink / raw)
To: gcc-bugs, gcc-prs, nobody, p.allix
Old Synopsis: Internal error when using a big array
New Synopsis: [2003-02-01] Internal error when using a big array
State-Changed-From-To: open->analyzed
State-Changed-By: bangerth
State-Changed-When: Sat Feb 1 22:14:42 2003
State-Changed-Why:
Ugh, really large array...
I still get the error with a snapshot from yesterday.
W.
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9516
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-04-09 4:48 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-04-04 17:56 c/9516: [2003-02-01] Internal error when using a big array Christian Ehrhardt
-- strict thread matches above, loose matches on Subject: below --
2003-04-09 4:48 rth
2003-02-01 22:14 bangerth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).