https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97202

            Bug ID: 97202
           Summary: GCC reports an error: expected unqualified-id before
                    ‘short’
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tangyixuan at mail dot dlut.edu.cn
  Target Milestone: ---

Hi, GCC 11 rejects the following code when the class 'A' is instantiated.  When
I fed it into GCC 1O, it is accepted. Also, clang accepts it. I guess maybe it
is valid.

$ cat s.cpp

template <class T> class A { 
  public:
    A(short,short a=0) {}
    A<T>(short b) {}
};

$ g++ -c s.cpp
s.cpp:4:10: error: expected unqualified-id before ‘short’
    4 |     A<T>(short b) {}
      |          ^~~~~
s.cpp:4:10: error: expected ‘)’ before ‘short’
    4 |     A<T>(short b) {}
      |         ~^~~~~
      |          )


$ g++ -v
Using built-in specs.
COLLECT_GCC=/usr/local/gcc-20200920/bin/g++
COLLECT_LTO_WRAPPER=/usr/local/gcc-20200920/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-11-20200920/configure --prefix=/usr/local/gcc-20200920
--enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 11.0.0 20200920 (experimental) (GCC)

Reply via email to