From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vs1-xe2b.google.com (mail-vs1-xe2b.google.com [IPv6:2607:f8b0:4864:20::e2b]) by sourceware.org (Postfix) with ESMTPS id 5AF6F3858D39 for ; Mon, 1 Aug 2022 13:38:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 5AF6F3858D39 Received: by mail-vs1-xe2b.google.com with SMTP id c3so11243439vsc.6 for ; Mon, 01 Aug 2022 06:38:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:references:from:organization:in-reply-to :content-transfer-encoding; bh=fGwOMxJGLvZh9cpUUHSWxQmS14M7FRgoY+GnLztUW0o=; b=Qlv4SiIYDkl0dw522mKa8ZW2pP5zcnJtJqkdltuJoVmWD0lmaw6mZ5tCTUUS/luthu +omuVXPYQPnQlX69jtkHa6cd7wxIKJDKX7sNnnRctKNRJLIlCS2L4eFSj2TomGVkCIHu 5Z1P6K8ES10TIsPeiIKjd/dl87JDZHmpir0NJ+XOXcvY6iUtJz8g/wc7qPOlCNzuBzvH 3fKlZZvyMAt5QcKkay3uXcBT3/bwr4x8w3qFJOgGAlct5NVwtyb44zBitLwuejhakW8d dUBGznXuO8g3StxT0MKIt0h+CbDdkHXvGyrxiJhvXgJT3Gpd/rzQPn2rZ/WAAyZB4TaL e0Sw== X-Gm-Message-State: ACgBeo3yQJhjNhvB7GlMEQRcgyoiMz8i3uyN0RxpGtYnS7O1ME3BvsX/ Dc1cA5VwkHIYajQvL7CIgnjdDTDTSPMP6w== X-Google-Smtp-Source: AA6agR7u6yHZ4Xr4V4t6yDDMoO69O7LQcHKdWFA5Cq7BSP9ldcfYn52uQ1vwocVo7wLLko2f2peVHQ== X-Received: by 2002:a05:6102:5c4:b0:36c:29c0:412f with SMTP id v4-20020a05610205c400b0036c29c0412fmr4952291vsf.32.1659361110454; Mon, 01 Aug 2022 06:38:30 -0700 (PDT) Received: from ?IPV6:2804:431:c7cb:1e34:d541:f280:24d8:b04c? ([2804:431:c7cb:1e34:d541:f280:24d8:b04c]) by smtp.gmail.com with ESMTPSA id q202-20020a1f2ad3000000b003769e87c9e9sm5888002vkq.22.2022.08.01.06.38.28 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 01 Aug 2022 06:38:29 -0700 (PDT) Message-ID: <8ad1265f-04e3-3e1f-a7b4-7927b47d1e36@linaro.org> Date: Mon, 1 Aug 2022 10:38:27 -0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.0.3 Subject: Re: [PATCH] stdlib: Suppress gcc diagnostic that char8_t is a keyword in C++20 in uchar.h. Content-Language: en-US To: Tom Honermann , Florian Weimer , Tom Honermann via Libc-alpha References: <20220724051143.1893401-1-tom@honermann.net> <87fsipsgpn.fsf@oldenburg.str.redhat.com> <8a30983b-a69b-c8a2-df4d-04690e22bf21@linaro.org> From: Adhemerval Zanella Netto Organization: Linaro In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Aug 2022 13:38:37 -0000 On 29/07/22 15:22, Tom Honermann wrote: > On 7/25/22 8:34 AM, Adhemerval Zanella Netto via Libc-alpha wrote: >> >> On 25/07/22 06:07, Florian Weimer wrote: >>> * Tom Honermann via Libc-alpha: >>> >>>> gcc 13 issues the following diagnostic for the uchar.h header when the >>>> -Wc++20-compat option is enabled in C++ modes that do not enable char8_t >>>> as a builtin type (C++17 and earlier by default; subject to _GNU_SOURCE >>>> and the gcc -f[no-]char8_t option). >>>>    warning: identifier ‘char8_t’ is a keyword in C++20 [-Wc++20-compat] >>>> This change modifies the uchar.h header to suppress the diagnostic through >>>> the use of '#pragma GCC diagnostic' directives for gcc 10 and later (the >>>> -Wc++20-compat option was added in gcc version 10).  Unfortunately, a bug >>>> in gcc currently prevents those directives from having the intended effect >>>> as reported at https://gcc.gnu.org/PR106423.  A patch for that issue has >>>> been submitted and is available in the email thread archive linked below. >>>>    https://gcc.gnu.org/pipermail/gcc-patches/2022-July/598736.html >>>> --- >>>>   wcsmbs/uchar.h | 8 ++++++++ >>>>   1 file changed, 8 insertions(+) >>>> >>>> diff --git a/wcsmbs/uchar.h b/wcsmbs/uchar.h >>>> index c37e8619a0..5f7139f279 100644 >>>> --- a/wcsmbs/uchar.h >>>> +++ b/wcsmbs/uchar.h >>>> @@ -34,8 +34,16 @@ >>>>   /* Declare the C2x char8_t typedef in C2x modes, but only if the C++ >>>>     __cpp_char8_t feature test macro is not defined.  */ >>>>   #if __GLIBC_USE (ISOC2X) && !defined __cpp_char8_t >>>> +#if __GNUC_PREREQ (10, 0) && defined __cplusplus >>>> +/* Suppress the diagnostic regarding char8_t being a keyword in C++20.  */ >>>> +# pragma GCC diagnostic push >>>> +# pragma GCC diagnostic ignored "-Wc++20-compat" >>>> +#endif >>>>   /* Define the 8-bit character type.  */ >>>>   typedef unsigned char char8_t; >>>> +#if __GNUC_PREREQ (10, 0) && defined __cplusplus >>>> +# pragma GCC diagnostic pop >>>> +#endif >>>>   #endif >>> Patch looks okay to me.  The warning was introduced in GCC 10. >>> >>> This needs RM approval at this point, I think. >>> >>> Thanks, >>> Florian >>> >> This is ok for 2.36, thanks. > Thanks. Please commit on my behalf; I don't have commit access. > > Tom. > Ack, done.