From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20124 invoked by alias); 8 Nov 2011 18:56:57 -0000 Received: (qmail 20099 invoked by uid 22791); 8 Nov 2011 18:56:55 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,TW_IB X-Spam-Check-By: sourceware.org Received: from troutmask.apl.washington.edu (HELO troutmask.apl.washington.edu) (128.95.76.21) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 08 Nov 2011 18:56:42 +0000 Received: from troutmask.apl.washington.edu (localhost.apl.washington.edu [127.0.0.1]) by troutmask.apl.washington.edu (8.14.5/8.14.5) with ESMTP id pA8IuEhi058634; Tue, 8 Nov 2011 10:56:14 -0800 (PST) (envelope-from sgk@troutmask.apl.washington.edu) Received: (from sgk@localhost) by troutmask.apl.washington.edu (8.14.5/8.14.5/Submit) id pA8IuEsf058633; Tue, 8 Nov 2011 10:56:14 -0800 (PST) (envelope-from sgk) Date: Tue, 08 Nov 2011 19:20:00 -0000 From: Steve Kargl To: Dominique Dhumieres Cc: fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org, ebotcazou@adacore.com, ro@cebitec.uni-bielefeld.de Subject: Re: [Patch, Fortran, committed] Add libquadmath testcase gfortran.dg/quad_2.f90 Message-ID: <20111108185614.GA56199@troutmask.apl.washington.edu> References: <20111108183540.88B793BE18@mailhost.lps.ens.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20111108183540.88B793BE18@mailhost.lps.ens.fr> User-Agent: Mutt/1.4.2.3i Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-11/txt/msg01231.txt.bz2 On Tue, Nov 08, 2011 at 07:35:40PM +0100, Dominique Dhumieres wrote: > I have a few questions: > > (1) Is sqrtl the only missing Fortran intrinsic? > (2) Is there a list of missing intrinsics and platforms? This is definitely platform dependent. For amd64-*freebsd, troutmask:sgk[210] gmake check-gfortran RUNTESTFLAGS=dg.exp=large\* FAIL: gfortran.dg/large_real_kind_2.F90 -O0 (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -O1 (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -O2 (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -fomit-frame-pointer (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -fomit-frame-pointer -funroll-loops (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -O3 -g (test for excess errors) FAIL: gfortran.dg/large_real_kind_2.F90 -Os (test for excess errors) FAIL: gfortran.dg/large_real_kind_3.F90 -O0 (test for excess errors) Looking at the first failure one finds in gfortran.log large_real_kind_2.F90:(.text+0x1cf): undefined reference to `coshl' large_real_kind_2.F90:(.text+0x254): undefined reference to `sinhl' large_real_kind_2.F90:(.text+0x2d9): undefined reference to `tanhl' large_real_kind_2.F90:(.text+0x4ed): undefined reference to `acoshl' large_real_kind_2.F90:(.text+0x572): undefined reference to `asinhl' large_real_kind_2.F90:(.text+0x5f7): undefined reference to `atanhl' large_real_kind_2.F90:(.text+0x926): undefined reference to `ccosl' large_real_kind_2.F90:(.text+0xc5f): undefined reference to `csinl' large_real_kind_2.F90:(.text+0xf98): undefined reference to `cexpl' large_real_kind_2.F90:(.text+0x1a26): undefined reference to `cpowl' large_real_kind_2.F90:(.text+0x1eb5): undefined reference to `cpowl' large_real_kind_2.F90:(.text+0x2344): undefined reference to `cpowl' large_real_kind_2.F90:(.text+0x27c9): undefined reference to `cpowl' large_real_kind_2.F90:(.text+0x2c58): undefined reference to `cpowl' and large_real_kind_3.F90:(.text+0x34): undefined reference to `erfl' large_real_kind_3.F90:(.text+0xad): undefined reference to `erfcl' In you actually look in large*_[23].F90, you'll see that I XFAIL'd these a long time ago. Also, there are even stranger results on some platforms such as AIX. > (3) Does it make any sense to support REAL(10) if sqrtl > is missing? Sure. Does every program that uses real(10) call sqrtl? -- Steve