From: Joseph Myers <joseph@codesourcery.com>
To: Florian Weimer <fweimer@redhat.com>
Cc: <gcc@gcc.gnu.org>
Subject: Re: C2x features status
Date: Fri, 21 Oct 2022 21:11:54 +0000 [thread overview]
Message-ID: <alpine.DEB.2.22.394.2210212102170.150427@digraph.polyomino.org.uk> (raw)
In-Reply-To: <874jvx81w2.fsf@oldenburg.str.redhat.com>
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 <math.h> functions (to avoid
gen-auto-libm-tests depending on an unreleased MPFR version).
--
Joseph S. Myers
joseph@codesourcery.com
next prev parent reply other threads:[~2022-10-21 21:12 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-20 17:30 Joseph Myers
2022-10-21 18:31 ` Florian Weimer
2022-10-21 19:14 ` Marek Polacek
2022-10-21 19:29 ` Arsen Arsenović
2022-10-21 19:55 ` Florian Weimer
2022-10-21 20:26 ` Arsen Arsenović
2022-10-21 21:11 ` Joseph Myers [this message]
2022-10-21 22:13 ` Florian Weimer
2022-10-21 22:19 ` Joseph Myers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.22.394.2210212102170.150427@digraph.polyomino.org.uk \
--to=joseph@codesourcery.com \
--cc=fweimer@redhat.com \
--cc=gcc@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).