From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io1-xd41.google.com (mail-io1-xd41.google.com [IPv6:2607:f8b0:4864:20::d41]) by sourceware.org (Postfix) with ESMTPS id 8040F3861893; Mon, 24 Aug 2020 11:26:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8040F3861893 Received: by mail-io1-xd41.google.com with SMTP id t187so6801327iod.7; Mon, 24 Aug 2020 04:26:40 -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:from:date:message-id:subject:to; bh=0MBg0aNUNylBO4jRM7f2BZ3UkpaW8+eVblaUKbCdUKs=; b=bx5H0q9kR9PvKZ8Pd4RH0Ckzq7ZTnKNiqEP9dD1iuhnUf/k0vGxy5XVgPJSoiR/pWo 1Z76GUx5qm4f9N09BOg55PAqHQl1XFFIBgMDnzXOFPQim++i2LWhopjWrk/d+hLWti6/ ZgN0ju+C1rRHbMXnnbwPBBBN00WsMdE3ZDC6NWMgedeSO2L8JiIQ4UyNsTKXxZVe1oXZ 4y5/J/l9xKXBJ8smSPBCdVh7pgTwcArOx6DWazzS1oskpJjaMFNzsLjjdvQuhPrrqass r2BJkPDR1JTGs4Hwhc4xO6y97l7HB+oDOSF9FZVcppA80WuHGDVAQWFrZqWUYOpThX7G KYFA== X-Gm-Message-State: AOAM533dQbGcPh9jtVMqH2pE6UUA8mDyNuz+v17zBZRgi9aAC11sBQPP h4nceKza6cn6WW/kjt9l8Nx7u6FtmEqTkMaSTNt2HCXn X-Google-Smtp-Source: ABdhPJwsIqCyGHj5Gt2Nq2hr0UDB6Nculdqqj8vLSK4UNNMg9dzA+ox9rCl618A1PKhpJmK/wuQn4U8m7lfp/RQWjlQ= X-Received: by 2002:a6b:e806:: with SMTP id f6mr1450588ioh.98.1598268399809; Mon, 24 Aug 2020 04:26:39 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Krystian_Ku=C5=BAniarek?= Date: Mon, 24 Aug 2020 13:26:28 +0200 Message-ID: Subject: [PATCH] libstdc++: mark variables as possibly unused To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org X-Spam-Status: No, score=-9.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 24 Aug 2020 11:26:42 -0000 Hi, First of all, sorry, I must have sent it as quoted-printable so spaces and tabs are preserved. A description of the problem/bug and how your patch addresses it: I've got a small patch for -Wunused-variable and -Wunused-parameter in system headers. These are needed either for: 1) __glibcxx_assert() that quickly goes away during an early compilation step leaving the warning 2) code that conditionally is removed by preprocessor leaving the warning Testcases: N/A, it's only a warning. ChangeLog: Sorry, contrib/mklog.py didn't quite work for me. For some reason after instruction in line 129: "diff = PatchSet(data)" my "diff" variable is always empty. Bootstrapping and testing: Tested that manually by recompling GCC, unfolding all headers with `#include ` and compiling what's been included by it. The patch itself: diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h index 015acef83c4..1fbb2d78d28 100644 --- a/libstdc++-v3/include/bits/atomic_base.h +++ b/libstdc++-v3/include/bits/atomic_base.h @@ -231,7 +231,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE void clear(memory_order __m = memory_order_seq_cst) noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_consume); __glibcxx_assert(__b != memory_order_acquire); __glibcxx_assert(__b != memory_order_acq_rel); @@ -242,7 +243,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE void clear(memory_order __m = memory_order_seq_cst) volatile noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_consume); __glibcxx_assert(__b != memory_order_acquire); __glibcxx_assert(__b != memory_order_acq_rel); @@ -416,7 +418,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE void store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_acquire); __glibcxx_assert(__b != memory_order_acq_rel); __glibcxx_assert(__b != memory_order_consume); @@ -428,7 +431,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION store(__int_type __i, memory_order __m = memory_order_seq_cst) volatile noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_acquire); __glibcxx_assert(__b != memory_order_acq_rel); __glibcxx_assert(__b != memory_order_consume); @@ -439,7 +443,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE __int_type load(memory_order __m = memory_order_seq_cst) const noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_release); __glibcxx_assert(__b != memory_order_acq_rel); @@ -449,7 +454,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE __int_type load(memory_order __m = memory_order_seq_cst) const volatile noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_release); __glibcxx_assert(__b != memory_order_acq_rel); @@ -475,8 +481,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION compare_exchange_weak(__int_type& __i1, __int_type __i2, memory_order __m1, memory_order __m2) noexcept { - memory_order __b2 = __m2 & __memory_order_mask; - memory_order __b1 = __m1 & __memory_order_mask; + memory_order __b2 __attribute__ ((__unused__)) = + __m2 & __memory_order_mask; + memory_order __b1 __attribute__ ((__unused__)) = + __m1 & __memory_order_mask; __glibcxx_assert(__b2 != memory_order_release); __glibcxx_assert(__b2 != memory_order_acq_rel); __glibcxx_assert(__b2 <= __b1); @@ -490,8 +498,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION memory_order __m1, memory_order __m2) volatile noexcept { - memory_order __b2 = __m2 & __memory_order_mask; - memory_order __b1 = __m1 & __memory_order_mask; + memory_order __b2 __attribute__ ((__unused__)) = + __m2 & __memory_order_mask; + memory_order __b1 __attribute__ ((__unused__)) = + __m1 & __memory_order_mask; __glibcxx_assert(__b2 != memory_order_release); __glibcxx_assert(__b2 != memory_order_acq_rel); __glibcxx_assert(__b2 <= __b1); @@ -520,8 +530,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION compare_exchange_strong(__int_type& __i1, __int_type __i2, memory_order __m1, memory_order __m2) noexcept { - memory_order __b2 = __m2 & __memory_order_mask; - memory_order __b1 = __m1 & __memory_order_mask; + memory_order __b2 __attribute__ ((__unused__)) = + __m2 & __memory_order_mask; + memory_order __b1 __attribute__ ((__unused__)) = + __m1 & __memory_order_mask; __glibcxx_assert(__b2 != memory_order_release); __glibcxx_assert(__b2 != memory_order_acq_rel); __glibcxx_assert(__b2 <= __b1); @@ -535,8 +547,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION memory_order __m1, memory_order __m2) volatile noexcept { - memory_order __b2 = __m2 & __memory_order_mask; - memory_order __b1 = __m1 & __memory_order_mask; + memory_order __b2 __attribute__ ((__unused__)) = + __m2 & __memory_order_mask; + memory_order __b1 __attribute__ ((__unused__)) = + __m1 & __memory_order_mask; __glibcxx_assert(__b2 != memory_order_release); __glibcxx_assert(__b2 != memory_order_acq_rel); @@ -736,7 +750,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION store(__pointer_type __p, memory_order __m = memory_order_seq_cst) noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_acquire); __glibcxx_assert(__b != memory_order_acq_rel); @@ -749,7 +764,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION store(__pointer_type __p, memory_order __m = memory_order_seq_cst) volatile noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_acquire); __glibcxx_assert(__b != memory_order_acq_rel); __glibcxx_assert(__b != memory_order_consume); @@ -760,7 +776,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE __pointer_type load(memory_order __m = memory_order_seq_cst) const noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_release); __glibcxx_assert(__b != memory_order_acq_rel); @@ -770,7 +787,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION _GLIBCXX_ALWAYS_INLINE __pointer_type load(memory_order __m = memory_order_seq_cst) const volatile noexcept { - memory_order __b = __m & __memory_order_mask; + memory_order __b __attribute__ ((__unused__)) = + __m & __memory_order_mask; __glibcxx_assert(__b != memory_order_release); __glibcxx_assert(__b != memory_order_acq_rel); @@ -797,8 +815,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION memory_order __m1, memory_order __m2) noexcept { - memory_order __b2 = __m2 & __memory_order_mask; - memory_order __b1 = __m1 & __memory_order_mask; + memory_order __b2 __attribute__ ((__unused__)) = + __m2 & __memory_order_mask; + memory_order __b1 __attribute__ ((__unused__)) = + __m1 & __memory_order_mask; __glibcxx_assert(__b2 != memory_order_release); __glibcxx_assert(__b2 != memory_order_acq_rel); __glibcxx_assert(__b2 <= __b1); @@ -812,8 +832,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION memory_order __m1, memory_order __m2) volatile noexcept { - memory_order __b2 = __m2 & __memory_order_mask; - memory_order __b1 = __m1 & __memory_order_mask; + memory_order __b2 __attribute__ ((__unused__)) = + __m2 & __memory_order_mask; + memory_order __b1 __attribute__ ((__unused__)) = + __m1 & __memory_order_mask; __glibcxx_assert(__b2 != memory_order_release); __glibcxx_assert(__b2 != memory_order_acq_rel); diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h index 131718b8b2f..2e21a98409f 100644 --- a/libstdc++-v3/include/ext/new_allocator.h +++ b/libstdc++-v3/include/ext/new_allocator.h @@ -117,7 +117,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // __p is not permitted to be a null pointer. void - deallocate(_Tp* __p, size_type __t) + deallocate(_Tp* __p, size_type __t __attribute__ ((__unused__))) { #if __cpp_aligned_new if (alignof(_Tp) > __STDCPP_DEFAULT_NEW_ALIGNMENT__) Best regards, Krystian