public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/17902] New: [4.0] ICE from tree_verify_flow_info
@ 2004-10-08 21:54 gcc-bugzilla at gcc dot gnu dot org
  2004-10-08 22:08 ` [Bug middle-end/17902] [4.0 Regression] " pinskia at gcc dot gnu dot org
                   ` (13 more replies)
  0 siblings, 14 replies; 15+ messages in thread
From: gcc-bugzilla at gcc dot gnu dot org @ 2004-10-08 21:54 UTC (permalink / raw)
  To: gcc-bugs



g++ crashes compiling the code below, when i use 
 -O3 -mtune=pentiumpro:

$ /usr/local/gcc/libexec/gcc/i686-pc-linux-gnu/4.0.0/cc1plus -quiet  x.cc -quiet  -mtune=pentiumpro  -O3
x.cc: In function `void fill_ntuples()':
x.cc:16: internal compiler error: tree check: expected class 'declaration', have 'statement' (label_expr) in tree_verify_flow_info, at /tree-cfg.c:3504
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
$


At this point, all my attempts to simplify the example further make the
crash go away.

Environment:
System: Linux karma 2.6.8.1 #20 Mon Sep 13 23:48:47 EDT 2004 i686 i686 i386 GNU/Linux
Architecture: i686

	<machine, os, target, libraries (multiple lines)>
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: /home/sss/gcc/gcc/configure --prefix=/usr/local/gcc --enable-threads=posix --enable-long-long --enable-languages=c,c++,f95

How-To-Repeat:

Compile the code below with  -O3 -mtune=pentiumpro.

------------------------------------------------
extern int foo();

bool a;
bool b;
bool f() { return a || b; }

struct A { ~A(){} };

struct vector
{
  ~vector() { if (f()) foo();}
  A _M_impl;
};

 
void fill_ntuples()
{      
  vector smt_states;

  int nbar4=0;
  bool log3 = false;
  for (int j=0;j<foo();j++){
    int jdeter = foo();
    if (0!=j&&jdeter==1) foo();
    
    if (jdeter==1&&0!=j)
    {
      if (foo()==4){
        nbar4++;
      }
    }
    if (foo()==3) log3=true;
  }
       
  int jjhi=foo();
  for (int jj=0;jj<jjhi;jj++)
  {
    if (
        (jj==0)||
        (jj==1&&log3&&nbar4>=3)
        )
    {
      vector substates;
    }
  }
}
------------------------------------------------
------- Additional Comments From snyder at fnal dot gov  2004-10-08 21:54 -------
Fix:
	<how to correct or work around the problem, if known (multiple lines)>

-- 
           Summary: [4.0] ICE from tree_verify_flow_info
           Product: gcc
           Version: 0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: snyder at fnal dot gov
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17902


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2004-10-08 23:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-08 21:54 [Bug middle-end/17902] New: [4.0] ICE from tree_verify_flow_info gcc-bugzilla at gcc dot gnu dot org
2004-10-08 22:08 ` [Bug middle-end/17902] [4.0 Regression] " pinskia at gcc dot gnu dot org
2004-10-08 22:10 ` pinskia at gcc dot gnu dot org
2004-10-08 22:10 ` [Bug tree-optimization/17902] " pinskia at gcc dot gnu dot org
2004-10-08 22:11 ` pinskia at gcc dot gnu dot org
2004-10-08 22:24 ` pinskia at gcc dot gnu dot org
2004-10-08 22:38 ` rakdver at gcc dot gnu dot org
2004-10-08 22:39 ` pinskia at gcc dot gnu dot org
2004-10-08 22:41 ` pinskia at gcc dot gnu dot org
2004-10-08 22:52 ` reichelt at gcc dot gnu dot org
2004-10-08 23:03 ` pinskia at gcc dot gnu dot org
2004-10-08 23:10 ` pinskia at gcc dot gnu dot org
2004-10-08 23:24 ` pinskia at gcc dot gnu dot org
2004-10-08 23:26 ` cvs-commit at gcc dot gnu dot org
2004-10-08 23:30 ` cvs-commit at gcc dot gnu dot org

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