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)