From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by sourceware.org (Postfix) with ESMTPS id AD6463930F7B for ; Fri, 21 Oct 2022 21:12:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AD6463930F7B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.95,203,1661846400"; d="scan'208";a="85039584" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 21 Oct 2022 13:11:59 -0800 IronPort-SDR: WXLdJcSKvfSdRSFoM/1maIYHt6ZvwAp6wUPDag3iQIx+uF8jXJZZe0hNofXd+p7wxU4rpL+icx Rf8zNMTf4dlsGK5WA0oLENqNmyAETsSCKAy+rpPDrN5nGK8aeNFoGojBokMMTjkBkcgfXI7uU7 ImBQUllyO7tUdA700EYRep/+DIPUnmwG2V1UrrE5WhGx7EtKhsiu63o5qTqZKBCMlwvNJZ4ujL BDENNcmTC71TsYOhoruSF+3dVKuqKU/EpEY8IIFsY4xbtVjetuqbHq2etR8Jjb6Ajzwi7+/SMG kXE= Date: Fri, 21 Oct 2022 21:11:54 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: Florian Weimer CC: Subject: Re: C2x features status In-Reply-To: <874jvx81w2.fsf@oldenburg.str.redhat.com> Message-ID: References: <874jvx81w2.fsf@oldenburg.str.redhat.com> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-07.mgc.mentorg.com (139.181.222.7) To svr-ies-mbx-10.mgc.mentorg.com (139.181.222.10) X-Spam-Status: No, score=-3110.5 required=5.0 tests=BAYES_00,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Fri, 21 Oct 2022, Florian Weimer via Gcc wrote: > Do you have a list of C2X features that are likely to impact autoconf > tests? Or planned changes in the GCC 13 and 14 default language modes > that reject constructs previous accepted as an extension? I think by far the biggest risk - for builds of old code in general, not necessarily for autoconf tests - comes from the following two changes / groups of changes: * Change of () in function declarations and definitions to mean (void), as in C++, instead of an unprototyped function. * New keywords formerly in the user namespace: alignas alignof bool constexpr false nullptr static_assert thread_local true typeof typeof_unqual. (I haven't yet implemented C2x constexpr, but hope to get to it for GCC 13. The others are all keywords now in C2x mode on GCC mainline.) Of these, by far the greatest risk is probably from bool, false and true, while typeof was enabled by default for -std=gnu* anyway in previous releases so is a lower risk. There are also many new library functions, which obviously pose a risk to programs using those identifiers for their own purposes and also including the relevant header. I hope the risk from those is lower in general. Many of those aren't yet implemented in glibc; I've been focusing on compiler rather than library features during GCC development stage 1, and also hoping to be able to wait for MPFR 4.2 to be released before implementing many of the new functions (to avoid gen-auto-libm-tests depending on an unreleased MPFR version). -- Joseph S. Myers joseph@codesourcery.com