From patchwork Wed Dec 10 23:07:04 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adhemerval Zanella X-Patchwork-Id: 419897 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 087521400B7 for ; Thu, 11 Dec 2014 10:07:20 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; q=dns; s=default; b=aSL+foX5hLyHzkqRCVqQ6+Nt3X2auFJ15qV8Si4Q5vI WN6Mlfpb2f/4lBNRK0PW2v9ozL2Mft6wJ10F2IWYSpdNV37SQ6V6rMkrcFoFpRK2 saddDU5g2CahTlGNx0pPX2nGGf+TXC5oDFRfBYq0HQiJld4Dr/zWoSM40llNqkGA = DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:date:from:mime-version:to:subject :references:in-reply-to:content-type:content-transfer-encoding; s=default; bh=AxWKQuhhwZ2X+dxuozsms02tjGI=; b=k271ZNyiwNeSFOfnJ cAc485pWbVQWkWd2e0Iyz4JJHnHQmz715wNfKuZ8Hxt3u3BJoGPONIR2d9CmV1sh f11l8YU1zPKQ7eO/RChyU+qhbmI4StuSFEiOdfFF7kaWGkov8n1JzpCzEfMeDN20 DOCo1kFN+fYCtAFHclU7taEhCc= Received: (qmail 8823 invoked by alias); 10 Dec 2014 23:07:14 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 8812 invoked by uid 89); 10 Dec 2014 23:07:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL, BAYES_00, T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: e24smtp03.br.ibm.com Message-ID: <5488D218.7050607@linux.vnet.ibm.com> Date: Wed, 10 Dec 2014 21:07:04 -0200 From: Adhemerval Zanella User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 MIME-Version: 1.0 To: libc-alpha@sourceware.org Subject: Re: [PATCH] powerpc: Fix lgammal_r overflow warnings References: <5488959C.3010203@linux.vnet.ibm.com> <548898E1.2010208@linux.vnet.ibm.com> In-Reply-To: X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14121023-0025-0000-0000-0000028B8CF0 On 10-12-2014 19:17, Joseph Myers wrote: > On Wed, 10 Dec 2014, Adhemerval Zanella wrote: > >> +static const long double huge = HUGE_VALL; > No, HUGE_VALL is not correct; that's infinity, which would lose the > overflow exceptions and rounding-mode-dependent results. (And the > ChangeLog entry should name the variable whose initializer is being > changed.) > Indeed I overlooked it, below corrected patch: --- * sysdeps/ieee754/ldbl-128/e_lgammal_r.c: Remove overflow warnings for constants definition. (huge): Change value to LDBL_MAX. -- diff --git a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c index 1961355..2124d62 100644 --- a/sysdeps/ieee754/ldbl-128/e_lgammal_r.c +++ b/sysdeps/ieee754/ldbl-128/e_lgammal_r.c @@ -70,12 +70,20 @@ #include #include +#include +#include +/* BZ#16347: ldbl-128ibm uses this file as is, however the MAXLGM + definition overflows for IBM long double. This directive prevents the + overflow warnings until IBM long double version is not fixed. */ static const long double PIL = 3.1415926535897932384626433832795028841972E0L; +DIAG_PUSH_NEEDS_COMMENT; +DIAG_IGNORE_NEEDS_COMMENT (4.6, "-Woverflow"); static const long double MAXLGM = 1.0485738685148938358098967157129705071571E4928L; +DIAG_POP_NEEDS_COMMENT; static const long double one = 1.0L; static const long double zero = 0.0L; -static const long double huge = 1.0e4000L; +static const long double huge = LDBL_MAX; /* log gamma(x) = ( x - 0.5 ) * log(x) - x + LS2PI + 1/x P(1/x^2) 1/x <= 0.0741 (x >= 13.495...)