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).