https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104319
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|better error message for |better error message for |parsing error when >= ends |parsing error when >= or >> |a template variable. |ends a template variable. --- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to qingzhe huang from comment #2) > A slightly different case with operator ">=" after template-id causing > identical error message is: https://www.godbolt.org/z/7ajvfM4rb > > #include <utility> > > template<typename T> > constexpr std::size_t zero=0; > > template<typename T> > constexpr bool Bool=zero<T>>=0; Right in this case >> is the token. these cases just need to be special cased really in the parser itself which is what clang does.