C2x features status
Marek Polacek
polacek@redhat.com
Fri Oct 21 19:14:54 GMT 2022
On Fri, Oct 21, 2022 at 08:31:09PM +0200, Florian Weimer via Gcc wrote:
> * Joseph Myers:
>
> > I'm working on adding various C2x features to the C front end (and
> > elsewhere in GCC as applicable).
> >
> > I suspect I won't get all the C2x features done for GCC 13. If anyone
> > else is interested in adding C2x features, I'd encourage looking at some
> > of the following, which I may well not get to for GCC 13 (and posting here
> > to avoid duplication of effort if working on such a feature):
> >
> > * Bit-precise integer types (_BitInt) (see bug 102989) (integrated version
> > based on N2763, plus literal suffixes from N2775 and bit-fields from
> > N2969). Would require working with back-end maintainers and upstream ABI
> > groups, where available, to get ABIs defined for as many architectures as
> > possible, as well as some default ABI choice in GCC for architectures that
> > haven't defined the ABI for these types.
> >
> > * [[unsequenced]] and [[reproducible]] attributes for function types. See
> > N2956. These are supposed to be similar to const and pure attributes, at
> > least in the absence of pointer and array function parameters (but note
> > they never affect type compatibility).
> >
> > * Tag compatibility (N3037, alternative wording). Martin Uecker might
> > have patches for a draft version of this?
> >
> > * Preprocessor #embed (N3017) (see bug 105863).
>
> 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?
At least this one:
commit 0a91bdaf177409a2a5e7895bce4f0e7091b4b3ca
Author: Joseph Myers <joseph@codesourcery.com>
Date: Wed Sep 7 13:56:25 2022 +0000
c: New C2x keywords
which says:
As with the removal of unprototyped functions, this change has a high
risk of breaking some old code and people doing GNU/Linux distribution
builds may wish to see how much is broken in a build with a -std=gnu2x
default.
> I'm asking because I'm working on the implicit function declaration
> problem once more, and other things could be piggybacked on the tool
> support over time. See the parallel “C89isms in the test suite” thread.
>
> I wonder if anything went into the default C2X language mode already
> that could be similarly disruptive as the removal of implicit ints? In
> that case, I should probably backport that change into my GCC test
> version. (To avoid chasing ghosts, it's based off GCC 12, I've decided
> to decouple it from our planned switch to GCC 13.)
>
> Thanks,
> Florian
>
Marek
More information about the Gcc
mailing list