From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30036 invoked by alias); 25 Apr 2002 01:36:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 30001 invoked by uid 71); 25 Apr 2002 01:36:00 -0000 Resent-Date: 25 Apr 2002 01:36:00 -0000 Resent-Message-ID: <20020425013600.30000.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, dan@math.uiuc.edu Received:(qmail 17158 invoked from network); 25 Apr 2002 01:28:01 -0000 Received: from unknown (HELO ex1.ncsa.uiuc.edu) (141.142.2.9) by 209.249.29.67 with SMTP; 25 Apr 2002 01:28:01 -0000 Received: from mx1.ncsa.uiuc.edu (mx1.ncsa.uiuc.edu [141.142.2.8]) by ex1.ncsa.uiuc.edu (8.11.6/8.11.6) with ESMTP id g3P1Rl116020 for ; Wed, 24 Apr 2002 20:27:47 -0500 (CDT) Received: from hn02.ncsa.uiuc.edu (hn02.ncsa.uiuc.edu [141.142.40.14]) by mx1.ncsa.uiuc.edu (8.11.6/8.11.6) with ESMTP id g3P1RlT15835 for ; Wed, 24 Apr 2002 20:27:47 -0500 (CDT) Received: (from drg@localhost) by hn02.ncsa.uiuc.edu (8.9.3/8.9.3) id UAA30878; Wed, 24 Apr 2002 20:27:47 -0500 Message-Id:<200204250127.UAA30878@hn02.ncsa.uiuc.edu> Date: Wed, 24 Apr 2002 18:36:00 -0000 From: "Daniel R. Grayson" Reply-To: dan@math.uiuc.edu To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: optimization/6443: internal compiler error, at flow.c:6458 X-SW-Source: 2002-04/txt/msg01300.txt.bz2 List-Id: >Number: 6443 >Category: optimization >Synopsis: internal compiler error, at flow.c:6458 >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Apr 24 18:36:00 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Daniel R. Grayson >Release: 3.0.4 >Organization: University of Illinois >Environment: System: Linux hn02 2.2.19smpx #2 SMP Wed Apr 25 20:33:05 PDT 2001 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.0.4/./configure --prefix=/u/ac/drg/local --enable-shared --enable-threads=posix --enable-languages=c++,f77,java >Description: gcc -O3 -c bug.c bug.c: In function `actors_circ_': bug.c:276: Internal compiler error in print_rtl_and_abort, at flow.c:6458 >How-To-Repeat: Run gcc -O3 -c bug.c where bug.c is the following file. struct exception { int type; char *name; double arg1; double arg2; double retval; }; extern double pow (double __x, double __y) { register long double __value = 0; long long int __p = (long long int) __y; if (__y == (double) __p) { if (__p == 0) return 1.0; if (__p < 0) __p = -__p; } return __value; } typedef void * object_; typedef struct S153_ * arith_Integer; typedef struct S177_ * arith_Rational; typedef struct S224_ * tokens_SymbolHashTable; typedef struct S226_ * tokens_Dictionary; typedef struct S227_ * tokens_Scope; typedef struct S252_ * TokenFile; typedef struct S255_ * tokens_Real; typedef struct S259_ * Sequence; typedef struct S260_ * tokens_Frame; typedef struct S261_ * tokens_FunctionClosure; typedef struct S262_ * tokens_SymbolClosure; typedef struct SC269_ Expr; typedef struct SC290_ Code; typedef struct S296_ * HashTable; struct SC269_ {unsigned short type_; object_ ptr_;}; struct SC290_ {unsigned short type_; object_ ptr_;}; struct S177_ {arith_Integer numerator;arith_Integer denominator;}; struct S255_ {double v;}; extern Expr ab; extern arith_Rational re; extern arith_Integer arith_circ_circ_(arith_Integer,arith_Integer); extern arith_Integer arith_or_(arith_Integer,arith_Integer); extern arith_Integer arith_amp_(arith_Integer,arith_Integer); extern double arith_circ__1(double,arith_Integer); extern arith_Integer arith_circ_(arith_Integer,arith_Integer); extern char arith_greater_equal__1(arith_Integer,int); extern char arith_equal_equal_equal__1(arith_Integer,int); extern arith_Integer arith_minus_(arith_Integer); extern arith_Integer arith_plus_(arith_Integer,arith_Integer); extern unsigned short arith_pct_(arith_Integer,unsigned short); extern int arith_toInt(arith_Integer); extern arith_Integer arith_toInteger(int); extern tokens_SymbolClosure binding_PowerS; Expr actors_circ_(Expr lhs_10,Expr rhs_12){ arith_Integer x_19; arith_Integer y_40; tokens_Real y_41; arith_Rational x_20; arith_Integer y_42; tokens_Real x_21; tokens_Real y_43; arith_Integer y_44; Expr tmp__212; Expr tmp__217; Expr tmp__219; arith_Integer tmp__220; Expr tmp__221; Expr tmp__222; arith_Integer tmp__223; Expr tmp__224; tokens_Real tmp__225; Expr tmp__226; arith_Rational tmp__227; Expr tmp__228; Expr tmp__229; tokens_Real tmp__230; Expr tmp__231; tokens_Real tmp__232 = 0; Expr tmp__233; Expr tmp__234; Expr tmp__235; switch (lhs_10.type_) { case 6:; tmp__212 = lhs_10; goto L749_; case 13:; x_19 = ((arith_Integer)lhs_10.ptr_); switch (rhs_12.type_) { case 13:; y_40 = ((arith_Integer)rhs_12.ptr_); if (arith_greater_equal__1(y_40, 0)) goto L787_; if (arith_equal_equal_equal__1(x_19, 1)) goto L788_; if (arith_equal_equal_equal__1(x_19, (- 1))) goto L789_; goto L790_; L789_:; if ((((int)arith_pct_(y_40, ((unsigned short)2))) == 0)) goto L791_; ; goto L792_; L791_:; tmp__220 = arith_toInteger(1); tmp__219 = ((Expr){13,((object_)tmp__220)}); ; L792_:; tmp__217 = tmp__219; ; L790_:; tmp__221 = tmp__217; ; goto L793_; L788_:; tmp__221 = ((Expr){13,((object_)x_19)}); ; L793_:; tmp__222 = tmp__221; ; goto L794_; L787_:; tmp__223 = arith_circ_(x_19, y_40); tmp__222 = ((Expr){13,((object_)tmp__223)}); ; L794_:; tmp__224 = tmp__222; ; goto L768_; case 1:; y_41 = ((tokens_Real)rhs_12.ptr_); ; tmp__225 = 0; tmp__225->v = pow(((double)arith_toInt(x_19)), y_41->v); tmp__224 = ((Expr){1,((object_)tmp__225)}); ; goto L768_; case 6:; tmp__224 = rhs_12; ; goto L768_; case 2:; case 3:; case 4:; case 5:; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 14:; case 15:; case 16:; case 17:; case 18:; tmp__226 = ab; tmp__224 = tmp__226; ; goto L768_; L768_:; } tmp__212 = tmp__224; ; goto L749_; case 12:; x_20 = ((arith_Rational)lhs_10.ptr_); ; switch (rhs_12.type_) { case 13:; y_42 = ((arith_Integer)rhs_12.ptr_); ; tmp__227 = re; tmp__228 = ((Expr){12,((object_)tmp__227)}); ; goto L795_; case 6:; tmp__228 = rhs_12; ; goto L795_; case 1:; case 2:; case 3:; case 4:; case 5:; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 14:; case 15:; case 16:; case 17:; case 18:; tmp__229 = ab; tmp__228 = tmp__229; ; goto L795_; L795_:; } tmp__212 = tmp__228; ; goto L749_; case 1:; x_21 = ((tokens_Real)lhs_10.ptr_); switch (rhs_12.type_) { case 1:; y_43 = ((tokens_Real)rhs_12.ptr_); ; tmp__230 = 0; tmp__230->v = pow(x_21->v, y_43->v); tmp__231 = ((Expr){1,((object_)tmp__230)}); ; goto L814_; case 13:; y_44 = ((arith_Integer)rhs_12.ptr_); ; tmp__232->v = arith_circ__1(x_21->v, y_44); tmp__231 = ((Expr){1,((object_)tmp__232)}); ; goto L814_; case 6:; ; goto L814_; case 2:; case 3:; case 4:; case 5:; case 7:; case 8:; case 9:; case 10:; case 11:; case 12:; case 14:; case 15:; case 16:; case 17:; case 18:; tmp__233 = ab; tmp__231 = tmp__233; ; goto L814_; L814_:; } tmp__212 = tmp__231; ; goto L749_; case 2:; case 3:; case 4:; case 5:; case 7:; case 8:; case 9:; case 10:; case 11:; case 14:; case 15:; case 16:; case 17:; case 18:; tmp__234 = ab; ; goto L749_; L749_:; } tmp__235 = tmp__212; return tmp__235; } >Fix: >Release-Note: >Audit-Trail: >Unformatted: