From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4261 invoked by alias); 14 Mar 2003 22:16: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 4188 invoked by uid 71); 14 Mar 2003 22:16:01 -0000 Resent-Date: 14 Mar 2003 22:16:01 -0000 Resent-Message-ID: <20030314221601.4186.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, p.van-hoof@qub.ac.uk Received: (qmail 23939 invoked from network); 14 Mar 2003 22:13:39 -0000 Received: from unknown (HELO mta06-svc.ntlworld.com) (62.253.162.46) by sources.redhat.com with SMTP; 14 Mar 2003 22:13:39 -0000 Received: from scooby.star.fleet ([80.6.77.177]) by mta06-svc.ntlworld.com (InterMail vM.4.01.03.37 201-229-121-137-20020806) with ESMTP id <20030314200139.ODQM20605.mta06-svc.ntlworld.com@scooby.star.fleet>; Fri, 14 Mar 2003 20:01:39 +0000 Received: (from pvh@localhost) by scooby.star.fleet (8.12.2+Sun/8.12.2/Submit) id h2EK1S3v025754; Fri, 14 Mar 2003 20:01:28 GMT Message-Id: <200303142001.h2EK1S3v025754@scooby.star.fleet> Date: Fri, 14 Mar 2003 22:16:00 -0000 From: p.van-hoof@qub.ac.uk To: gcc-gnats@gcc.gnu.org Cc: p.van-hoof@qub.ac.uk X-Send-Pr-Version: 3.113 Subject: optimization/10087: optimizer produces wrong code when indexing malloc'ed 2D array X-SW-Source: 2003-03/txt/msg00900.txt.bz2 List-Id: >Number: 10087 >Category: optimization >Synopsis: optimizer produces wrong code when indexing malloc'ed 2D array >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Fri Mar 14 22:16:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Peter van Hoof >Release: 3.3 20030310 (prerelease) >Organization: Queen's University of Belfast >Environment: System: SunOS scooby 5.9 Generic_112233-04 sun4u sparc SUNW,Sun-Blade-100 Architecture: sun4 host: sparc-sun-solaris2.9 build: sparc-sun-solaris2.9 target: sparc-sun-solaris2.9 configured with: /scratch/temp/ss/gcc-20030310/configure --prefix=/opt/local/gcc330 >Description: In the attached code a two-dimensional array of structs is malloc'ed, then the first field of that struct is initialized to 1 for all array members. Finally the minimum value of all these fields is determined by looping over the array again. This should of course return 1, but the actual result is 1.039778e-312. This code runs OK with gcc 3.2.2 >How-To-Repeat: scooby> gcc -v -save-temps -O2 bug.c Reading specs from /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/specs Configured with: /scratch/temp/ss/gcc-20030310/configure --prefix=/opt/local/gcc330 Thread model: posix gcc version 3.3 20030310 (prerelease) /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/cc1 -E -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=0 -Dsparc -D__sparc__ -D__sparc -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc bug.c -O2 bug.i ignoring nonexistent directory "/opt/local/gcc330/sparc-sun-solaris2.9/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /opt/local/gcc330/include /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/include /usr/include End of search list. /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/cc1 -fpreprocessed bug.i -quiet -dumpbase bug.c -auxbase bug -O2 -version -o bug.s GNU C version 3.3 20030310 (prerelease) (sparc-sun-solaris2.9) compiled by GNU C version 3.3 20030310 (prerelease). GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 /usr/ccs/bin/as -V -Qy -s -o bug.o bug.s /usr/ccs/bin/as: Sun WorkShop 6 update 2 Compiler Common 6.2 Solaris_9_CBE 2001/04/02 /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/collect2 -V -Y P,/usr/ccs/lib:/usr/lib -Qy /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/crt1.o /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/crti.o /usr/ccs/lib/values-Xa.o /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/crtbegin.o -L/opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3 -L/usr/ccs/bin -L/usr/ccs/lib -L/opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/../../.. bug.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh -lc /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/crtend.o /opt/local/gcc330/lib/gcc-lib/sparc-sun-solaris2.9/3.3/crtn.o ld: Software Generation Utilities - Solaris Link Editors: 5.9-1.373 scooby> a.out result 1.039778e-312 This is the input: begin 644 bug.i.bz2 M0EIH.3%!6293649DV94 !G__@'PT! 1;?___#K____I@$M]X!<[A]L ^ M][V/>7W-A]S(/K[N]/'H>>S?4@UNWRT<@I].[>F^>X*^\&]#=[@X2*$TBGZ1 MB:GJ/ CTI^J/4/*9#90#)D!ZC:C0"4T("$TT$IY4\T*-,$T&:0:#0Q &F$$@ MJ*>5-/*>4-'J - T #0 )-)$1!-4QH91M3U/:B&C0 8@T!B8@R81*$F4 M>J?J-0S*/4: T- 9 T!H:-&@")(@( FC0 E,U-&@T- -- #$0=5D02) 0 M\??V*\?/ZP#W]<,)\+9Y:@0A]G;[T"VA ]I(LA368%$6",!?_\8<&I1*K!08 MJ15B*(%9605!)[D2GIM1188-+[O1.#FU4,G3DR(,15RE$04MHI;96HI;185" M@KU2F6Y9*"P#=JHHH4M*BBR"B@J@H5MI1D%D*4I;:%M462MJ6"-0HB(@);0M M*E15**L8 JBE'\W0O5%,54D4ZN5.U#K$O M!@Q$W$ZF+4I-K3:SO*9XK%L/2<6F56KM>MZ27M2*3)."\34>8K,VYE W%QC**+>W'@U@*9+F%4N-UFAEIOC9_' MFP#?-I;"C!5$84I1CMB<;=Z::AAM*K"J'-?E'6:O#@X4]4GT?!)#\$@>M2$H ML 0#]L&^56+[58J@L5&2) E%0*HFA 6(F^03['&W\6Q33W-G+=@D7D%/DX;* M]#KLC&!*B-%FY9;'#(@A*\1GH$-"!*KRY3O:U%:/N\Y*(+_G2]CYDV-?6K>O:HH<=G1E/ D>C,O> M9AYI]CL9)ONZW6F$U#N2=#'WB"R/G5.C]-QK^VQCXSY?G_;OLASZEN MA((=]'F$";7P_=\^CA6'+ 6*0K6%85E8B?^&S0BDD9 M",CIC6M_(!.\!( G8+P7J)^4!A']5U0F!A<-P'IQIY>3J53S>BF'JHJ\UJ\4 M)I21Y!Z%8B%,/ Z=,@F9HJU(BM'"4[+#3PF'#Q-IPXJ;=NMR@77AV=C\9?1\ M07A;ZB]2U5/8KE/TXX8@)M?D 3> GD@:*P(P1(*02Z[T= $X )9L'D E+F E ME#F)%0+!"$DDB$B4P4N@A';PUW:G"Y8N D:^M/GO15Y>!4!Z'"EK:K&W';NX M:N;7HMIS*RC6*G(<62M;DODR(;WELH1*(;+C2AD+P9B=(=FRL.O3 M007 W@)PU 2^0"0UC(?/U4KW 2+I'*'.("[M-OB^OC3G626;+E;LUDU#MT' M::\[X-*0J",$#OM;22U72LNEV?T>X+W3S]?A0\0_1X@DRB(+H?)EF.$N;\WX M\(.SG2QTP8P\Q*4G59E[WI4\N4/CXX!KS+CBRG!JEDY;SJKA!QMRF='] MC'45D<-5;NW90J\4:$=;/%=9KD]6Q]X]/):;;+6BS^) 0EQ$.N$Z$)(38WR) MA393;L-;QL6<0&AI*O:8((@(Q3*$B6?;URR^E[9);K7;H:\LSLPV%R,=#V'[ MHP]!QK)GJF ?FD[$@72U^[(;7]Y[G_![1M#;:($(206(49.4 Q 7Z +^L0#S M_/6"W<8!S)JKMP_##RFG6:RC.M84Y_7R*NSV64&N5!2NW A]T$:&AM"; ;0[ MZV.&%SV<],P6IRYE'9_L-)A*P]W4?-MAQ8ECZO/Y)T$)"91RDJ5K5(9(2,ZM MO8#<9N34SE DEM$\QUJ<]7FJ8"/:%]I,Y>"G*;35)A(2!DF2&2Y;QDPS&^NA MG@C'7ISQVH:35QC*52\G?-DMCDDLXFFV99:L0W=TU$'LS#7EHL[2B89R41 I M2;6:&*]*M @+4O,LI9[O[EK&9J:%Y1,$]]RDP^JIH_*G/>7>U]U6?EBU9 MKGU%C4- UF;C=BH]M>1W$D* M+G76"&-CFX"UW&.(==_TK4*$&B7X3;5C?H&@:/$ HHV(&8"08T,RH:RN[@PP MN&O$HI:-Y,@$PMB8Y@$MJW<0NO S9\"J)X?KQ$0\(B(H%R1OFU/( 8[^K*%X M,/39+IC+IQ25TWW[X?;;IRG]8?]BN6&^(+EF$WB QY )24 F!C(1WR)LP 3: M>MK6'S $\G=Z^D#X(J"P!8*")%&,)/(:WV'MAH"XKD$\]N2 O;XFN[*]7.F M/%X<3::+"1$6"B$0%BJSNX\(23F!QR]S[!ZY V"(1&33 *#!OK-*P+0//O6" M%V$Y4 $2BS:+46H2% 8&5MN=MP@>=8[ M[-IYI8,GLTKDD\+G(-DGG0U D.$RBCJ@+1GW5GSL7K&57OI0FR)\C&1C()"% M:VM6G-1=G=$*XALW(XI"."%D4L*KA<)]%V TW#V%6">376!L0:/0 X/#OS* MHX,R;B]''6E-=NZ*(X9UTSW[\]$,3*L$ M2GF:&GL">@G7O*0,["1?4%%JTF!698U2.!5 M )70L*6V%BI40>0 G TSO-T36Y+5:Q#5#-JV(M0#-<*EDJ4>V@ ?P $V5F^"C7G2'3N-#B%3Z+9\L<,=<+X8@&OU?(WC0#(R$B0B/Q:Y&09!DJ!XB"*1 M13ODK->H,Q$6"]!JJJ3Q[X:/9@:VO;Y2 ;]1/ K(!--"V)%:1X"Z!B9%(?-W M"-/K'V_Q3[A[^&_X>F GI%4D%(>;+[G'JK%45!$5F&18L>G)V.Q+'*7"WA@&1WM;DU@"2*(>ELI.DH[$ 1 M25O;NNSEC[.G)9XH"S.UB*2.,:-J*=Y@-[L 611Q@L&C+=G;.&,RP>!,T4P! M7) Q1!D!3:D(,BL&+2*X)2F1JT;M<2XB0B(Q&(JPFM;.\W!9!E*%'>Y) Z&: MX#;QWV^8$.W,!.&SAM VZ-E>QFU &B )+->PWN2,)8K6,!$,N!4HXB]IR8Z) M\7F!%X1P&G*/),.73CH6AP";DVT=P"5A[ME8*KU&](!H5>9S*Z/9J'(?\ &/ MC8T.)?QFX5-F64E+15A+:**18KW:,.PT=47&>; S$A0:N[RXHT8&""G.E$1( MRZ1 0UHB)2:7D[@" 8H2$V#3JS VIQVGEE./?]6>ZMG*F654+ )I+;$$1MG+ MPK(#>";(6%6]QMP4U_[D9&,)>5OIJ-2HR5$3JH!Y@)BEM?;V6::=H9$),W/4 M\N.^QIW]YTXS7:5IH^%!K:&OP]5PP#WF/*&00L4484+:DFVWF6H-44J@MOI? ML1)'MM8N;PXDX[,]LY8@NSY0$Y )T>LA D)D9:((57G7(U@BQ3(#"AEIMB:( MC($@DCAGPWJ@[T&C/!$W$'HT7+!:-2P8&(;.^NP!,,;;% .EX8!RJ(V&TL+T M"&%0B-%$,@W4A$@>VT=,FL;+$B"L1@FD:M= 6JTMBXQ&54ML8*0P270&J4,) MJ$C R,=%%*C*4-,-[J3?I/+EWQP<5;90I144%$55%4$0Z9Q%%CP!#8%5 58* MH"NY ]**58RLEH#(AA 722)@0"YX=Y<#;G5F0SI"'3-$FIQ@,TK?*;(DG$(8 M"YB*\7K??^$1'9J:[0@)2%E!U/%U>TOH?+V?'UYYYGKV^IW@-ZI)'$](8$/$ MEI;$[NXN. 2D.A2IOYT:A4GZ;8HB'YTV@;&+-"XF8$TAL26P(Y"XX)8C27/RV;*ZP7'X*&/'!T/-W2$9-P'7:T6>R0B?,554:G ML8.?#(F!SAT)*"CM\Y:U$D2Z$37,T[=;J:GPYXX*^Y%486C"BQ;,0$S1 AO ;9A)-=L60(+&=YYAF8*06!]HNY(IPH2",R;,J end >Fix: Using a lower level of optimization works around the bug. >Release-Note: >Audit-Trail: >Unformatted: