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).