public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/114857] New: Pointer attributes and qualifiers are parsed in wrong order
@ 2024-04-25 22:37 luigighiron at gmail dot com
0 siblings, 0 replies; only message in thread
From: luigighiron at gmail dot com @ 2024-04-25 22:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114857
Bug ID: 114857
Summary: Pointer attributes and qualifiers are parsed in wrong
order
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: luigighiron at gmail dot com
Target Milestone: ---
GCC accepts the following declaration:
int*const[[]]p=0;
And rejects the following declaration:
int*[[]]const p=0;
It seems that GCC expects the attributes of a pointer declarator to come after
the qualifiers. The standard specifies in the grammar that the attributes
should come before qualifiers and not after:
> ptr-operator:
> * attribute-specifier-seq opt cv-qualifier-seq opt
> & attribute-specifier-seq opt
> && attribute-specifier-seq opt
> nested-name-specifier * attribute-specifier-seq opt cv-qualifier-seq opt
Section 9.3.1 "General" [dcl.decl.general] Paragraph 5 ISO/IEC 14882:2020
The first declaration should be rejected and the second declaration should be
accepted. Clang and MSVC get this correct (though not EDG I think so Visual
Studio will show errors in the correct declarations and not in the incorrect
declarations), and GCC gets this correct with pointer to members but not with
normal pointers.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-25 22:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-25 22:37 [Bug c++/114857] New: Pointer attributes and qualifiers are parsed in wrong order luigighiron at gmail dot com
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).