From patchwork Fri Jun 1 16:50:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 27598 Received: (qmail 95294 invoked by alias); 1 Jun 2018 16:51:03 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 89373 invoked by uid 89); 1 Jun 2018 16:50:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.3 required=5.0 tests=AWL, BAYES_00, FREEMAIL_FROM, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_PASS, UPPERCASE_50_75 autolearn=ham version=3.3.2 spammy=silence, DIAGNOSTIC_POP, diagnostic_pop X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-oi0-f68.google.com Received: from mail-oi0-f68.google.com (HELO mail-oi0-f68.google.com) (209.85.218.68) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 01 Jun 2018 16:50:10 +0000 Received: by mail-oi0-f68.google.com with SMTP id l22-v6so15309257oib.4; Fri, 01 Jun 2018 09:50:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=e1Xs4OLc7NCtTN02XXNZsOAG11UGFfrnguRoRzAOS7E=; b=mVWYMRTCP1vu3pWHJ5I/3uEb0Ge02QzoB0kC+4FLJdzkWqWlPzvu7ckzt2M7h+r7KC 9MOuAarrjiAfFSGix+qKR1uHD6nDKhESRPq6F7fXyLvBQvsXtf2WxTNb6kFiExvU0hE+ sj3WBioMc1xqDqLacTWsdrIqBke+hWDvMs2L7ObJe1nRDgWbfbly9mlum3IakR87rrzu ED1P0QYqe9HPdDRpPbfcBqwc7vj8uZlg4y7r28fRKVvbZ723Jr9R8TmWBa2cbxG1PumU cD8yRSwoTLsB+FHtxnZ4byk+iiphV602DqrwW0d0M8kF8xoEgWn47+Cj6hcfOqoGq11w OH7w== X-Gm-Message-State: APt69E2PiC6FkHCnrbeEMHFTYkzCO7W+PFwK8fWqfHFNDi7TZgY7qwtv ja5nSZ7aeCzrOSolvcBcuLw0tIXS9Or6+/lZBlk= X-Google-Smtp-Source: ADUXVKI0KbVUnw2vgIIp3WgRCq/4mEX5EVq7wdIgBp9cuAbvhhu22uxWl/qxh/KTkMYt1CJf9kM97fuM8BzjMFljf1Q= X-Received: by 2002:aca:b888:: with SMTP id i130-v6mr6929511oif.279.1527871809162; Fri, 01 Jun 2018 09:50:09 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a4a:7019:0:0:0:0:0 with HTTP; Fri, 1 Jun 2018 09:50:08 -0700 (PDT) In-Reply-To: <20180601101949.GA7660@bubble.grove.modra.org> References: <20180521121557.16535-1-hjl.tools@gmail.com> <20180521121557.16535-2-hjl.tools@gmail.com> <20180601101949.GA7660@bubble.grove.modra.org> From: "H.J. Lu" Date: Fri, 1 Jun 2018 09:50:08 -0700 Message-ID: Subject: Re: [PATCH 2/3] Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION To: Alan Modra Cc: Nick Clifton , Binutils , GDB X-IsSubscribed: yes On Fri, Jun 1, 2018 at 3:19 AM, Alan Modra wrote: > On Fri, Jun 01, 2018 at 08:57:20AM +0100, Nick Clifton wrote: >> Hi H.J. >> >> > +# if __GNUC__ >= 8 >> > +# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \ >> > + DIAGNOSTIC_IGNORE ("-Wstringop-truncation") >> > +# endif >> > +#endif >> >> Presumably the Wstringop-truncation bug will be fixed in gcc 8.1 >> so shouldn't the test check the revision number as well ? > > Yes, it has already been fixed. > The bug is in GCC 8.1 and will be fixed in GCC 8.2. Here is the updated patch with +# if __GNUC__ == 8 && __GNUC_MINOR__ < 2 +# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \ + DIAGNOSTIC_IGNORE ("-Wstringop-truncation") +# endif OK for master? From bb1d3ddd78abf25b30e11cf25e4b2ec7b6ef0688 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 21 May 2018 05:06:39 -0700 Subject: [PATCH 1/2] Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION Add DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION for GCC 8.1 to silence -Wstringop-truncation warning: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85643 * diagnostics.h (DIAGNOSTIC_STRINGIFY_1): New. (DIAGNOSTIC_STRINGIFY): Likewise. (DIAGNOSTIC_IGNORE): Replace STRINGIFY with DIAGNOSTIC_STRINGIFY. (DIAGNOSTIC_IGNORE_SELF_MOVE): Define empty if not defined. (DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER): Likewise. (DIAGNOSTIC_IGNORE_UNUSED_FUNCTION): Likewise. (DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES): Likewise. (DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION): New. --- include/diagnostics.h | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/include/diagnostics.h b/include/diagnostics.h index 0725664177..f7412d4a38 100644 --- a/include/diagnostics.h +++ b/include/diagnostics.h @@ -19,8 +19,13 @@ #ifdef __GNUC__ # define DIAGNOSTIC_PUSH _Pragma ("GCC diagnostic push") # define DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop") + +/* Stringification. */ +# define DIAGNOSTIC_STRINGIFY_1(x) #x +# define DIAGNOSTIC_STRINGIFY(x) DIAGNOSTIC_STRINGIFY_1 (x) + # define DIAGNOSTIC_IGNORE(option) \ - _Pragma (STRINGIFY (GCC diagnostic ignored option)) + _Pragma (DIAGNOSTIC_STRINGIFY (GCC diagnostic ignored option)) #else # define DIAGNOSTIC_PUSH # define DIAGNOSTIC_POP @@ -37,24 +42,36 @@ # if __has_warning ("-Wenum-compare-switch") # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES \ DIAGNOSTIC_IGNORE ("-Wenum-compare-switch") -# else -# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES # endif #elif defined (__GNUC__) /* GCC */ -# define DIAGNOSTIC_IGNORE_SELF_MOVE -# define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION \ DIAGNOSTIC_IGNORE ("-Wunused-function") -# define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES -#else /* Other compilers */ +# if __GNUC__ == 8 && __GNUC_MINOR__ < 2 +# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION \ + DIAGNOSTIC_IGNORE ("-Wstringop-truncation") +# endif +#endif +#ifndef DIAGNOSTIC_IGNORE_SELF_MOVE # define DIAGNOSTIC_IGNORE_SELF_MOVE +#endif + +#ifndef DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER # define DIAGNOSTIC_IGNORE_DEPRECATED_REGISTER +#endif + +#ifndef DIAGNOSTIC_IGNORE_UNUSED_FUNCTION # define DIAGNOSTIC_IGNORE_UNUSED_FUNCTION +#endif + +#ifndef DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES # define DIAGNOSTIC_IGNORE_SWITCH_DIFFERENT_ENUM_TYPES +#endif +#ifndef DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION +# define DIAGNOSTIC_IGNORE_STRINGOP_TRUNCATION #endif #endif /* DIAGNOSTICS_H */ -- 2.17.0