From patchwork Wed Aug 26 22:40:24 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 511080 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 56910140157 for ; Thu, 27 Aug 2015 08:40:39 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=iCqdb1Lx; dkim-atps=neutral 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:subject:from:reply-to:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; q=dns; s=default; b=Xr4TzP9IdqxN8g4egnGRAXS3pORmq oA6dA3dgFkiaiq46LIkuewlOfPiUPrK0xOmrD5D5P2y7TGZbKBF4TCHKnrCudBCp +oJtKL2xsdCsC+HGpuyLqSbYWjwNv12HULi/tntSTZIwAJ3/g3pVJAhjDDlPglZ4 dUWXWQV1g+r/NE= 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:subject:from:reply-to:to:cc:date :in-reply-to:references:content-type:content-transfer-encoding :mime-version; s=default; bh=k0asBJVZhwpjuKmfGdrgIupgFZY=; b=iCq db1Lx6xQk+4R6Y+ILQQ1uxE49DAy+upgfew4u4NDxdIiQmWiQJNN++kNX2x8+xaR SUUqkYAMf61A09r2Ex9MEr3c9OVg5jEovqYYuqgfdnkGz8l3uPZoHRFg4Do/XnGe fQtKLiCq+zp9RyIKu0IOdikCler4FaUWFlX1cy7Y= Received: (qmail 68008 invoked by alias); 26 Aug 2015 22:40:32 -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 67995 invoked by uid 89); 26 Aug 2015 22:40:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, RP_MATCHES_RCVD, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mailapp01.imgtec.com Message-ID: <1440628824.14154.16.camel@ubuntu-sellcey> Subject: Re: Don't use -Wno-uninitialized in math/ From: Steve Ellcey Reply-To: To: Joseph Myers CC: Chris Metcalf , Date: Wed, 26 Aug 2015 15:40:24 -0700 In-Reply-To: References: <1440173079.23512.36.camel@ubuntu-sellcey> <55DE1A17.5060706@ezchip.com> <1440627171.14154.13.camel@ubuntu-sellcey> MIME-Version: 1.0 On Wed, 2015-08-26 at 22:15 +0000, Joseph Myers wrote: > On Wed, 26 Aug 2015, Steve Ellcey wrote: > > > I tried moving the diag/ignore to just after the include of > > libc-internal.h and I got errors about __GNUC_PREREQ not being defined. > > If I put the diag/ignore's after the include of math.h (and > > libc-internal.h) then things seemed to work. Any idea why I need to > > include math.h to get __GNUC_PREREQ defined? > > Public headers include . Internal headers don't necessarily > do so. > I am testing this patch on MIPS and it looks good so far (still building different ABI's). OK to check it in if everything looks good on MIPS? I left the DIAG_POP macros in even though they aren't really needed. Steve Ellcey sellcey@imgtec.com 2015-08-26 Steve Ellcey * soft-fp/fmasf4.c: Add include of features.h. Move DIAG_PUSH_NEEDS_COMMENT, DIAG_IGNORE_NEEDS_COMMENT to front of file, move DIAG_POP_NEEDS_COMMENT to end of file. * soft-fp/fmadf4.c: Ditto. * soft-fp/fmatf4.c: Ditto. diff --git a/soft-fp/fmadf4.c b/soft-fp/fmadf4.c index da6749d..89dae52 100644 --- a/soft-fp/fmadf4.c +++ b/soft-fp/fmadf4.c @@ -26,6 +26,13 @@ . */ #include +#include +DIAG_PUSH_NEEDS_COMMENT; +#if __GNUC_PREREQ (4, 7) +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized"); +#else +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized"); +#endif #include #include "soft-fp.h" #include "double.h" @@ -49,18 +56,13 @@ __fma (double a, double b, double c) compiler does not see that it is set in all cases where it is used, resulting in warnings that it may be used uninitialized. */ - DIAG_PUSH_NEEDS_COMMENT; -#if __GNUC_PREREQ (4, 7) - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized"); -#else - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized"); -#endif FP_PACK_D (r, R); - DIAG_POP_NEEDS_COMMENT; FP_HANDLE_EXCEPTIONS; return r; } +DIAG_POP_NEEDS_COMMENT; + #ifndef __fma weak_alias (__fma, fma) #endif diff --git a/soft-fp/fmasf4.c b/soft-fp/fmasf4.c index b770a07..fcd913a 100644 --- a/soft-fp/fmasf4.c +++ b/soft-fp/fmasf4.c @@ -26,6 +26,13 @@ . */ #include +#include +DIAG_PUSH_NEEDS_COMMENT; +#if __GNUC_PREREQ (4, 7) +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized"); +#else +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized"); +#endif #include #include "soft-fp.h" #include "single.h" @@ -49,18 +56,13 @@ __fmaf (float a, float b, float c) compiler does not see that it is set in all cases where it is used, resulting in warnings that it may be used uninitialized. */ - DIAG_PUSH_NEEDS_COMMENT; -#if __GNUC_PREREQ (4, 7) - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized"); -#else - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized"); -#endif FP_PACK_S (r, R); - DIAG_POP_NEEDS_COMMENT; FP_HANDLE_EXCEPTIONS; return r; } +DIAG_POP_NEEDS_COMMENT; + #ifndef __fmaf weak_alias (__fmaf, fmaf) #endif diff --git a/soft-fp/fmatf4.c b/soft-fp/fmatf4.c index 880961c..16df6d1 100644 --- a/soft-fp/fmatf4.c +++ b/soft-fp/fmatf4.c @@ -26,6 +26,13 @@ . */ #include +#include +DIAG_PUSH_NEEDS_COMMENT; +#if __GNUC_PREREQ (4, 7) +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized"); +#else +DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized"); +#endif #include #include "soft-fp.h" #include "quad.h" @@ -49,16 +56,11 @@ __fmal (long double a, long double b, long double c) compiler does not see that it is set in all cases where it is used, resulting in warnings that it may be used uninitialized. */ - DIAG_PUSH_NEEDS_COMMENT; -#if __GNUC_PREREQ (4, 7) - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wmaybe-uninitialized"); -#else - DIAG_IGNORE_NEEDS_COMMENT (4.9, "-Wuninitialized"); -#endif FP_PACK_Q (r, R); - DIAG_POP_NEEDS_COMMENT; FP_HANDLE_EXCEPTIONS; return r; } +DIAG_POP_NEEDS_COMMENT; + weak_alias (__fmal, fmal)