From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4832 invoked by alias); 20 Apr 2008 20:13:14 -0000 Received: (qmail 4683 invoked by uid 48); 20 Apr 2008 20:12:31 -0000 Date: Sun, 20 Apr 2008 20:13:00 -0000 Subject: [Bug fortran/35993] New: wrong answer for PRODUCT with scalar mask X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dick dot hendrickson at gmail dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-04/txt/msg01416.txt.bz2 The PRODUCT intrinsic gives the wrong answer when the mask argument is a scalar expression which evaluates to FALSE. It's OK with an array expression that evaluates to all FALSE. Dick Hendrickson program try ga3019 ! fails on Windows XP ! gcc version 4.4.0 20080312 (experimental) [trunk revision 133139] call ga3019( 1, 2, 3, 4) end program SUBROUTINE GA3019(nf1,nf2,nf3,nf4) INTEGER IDA(NF2,NF3) INTEGER IDA1(NF2,NF4,NF3) ida1 = 3 ida = -3 IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, NF1 .LT. 0) !fails print '(6I3)', ida ida = -3 IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, .false. ) !fails print '(6I3)', ida ida = -3 IDA(NF1:NF2,NF1:NF3) = PRODUCT(IDA1,NF2, ida1 .eq. 137 ) !works print '(6I3)', ida END SUBROUTINE C:\gfortran:gfortran ga3019.f C:\gfortran:a 1 1 1 -3 -3 -3 1 1 1 -3 -3 -3 1 1 1 1 1 1 -- Summary: wrong answer for PRODUCT with scalar mask Product: gcc Version: 4.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dick dot hendrickson at gmail dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35993