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

Lee Killough <leekillough at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |leekillough at gmail dot com

--- Comment #5 from Lee Killough <leekillough at gmail dot com> ---
It seems to have been introduced in 12.1; here is another test:

template<class T>
bool f(T x)
{
    return x.a<0 || x.a>(1);
}

struct S { int a; };
template bool f(S);

> test.cpp: In function ‘bool f(T)’:
> test.cpp:4:14: warning: expected ‘template’ keyword before dependent template 
> > name [-Wmissing-template-keyword]
>     4 |     return x.a<0 || x.a>(1);
>       |              ^
>       |              template

For warnings it is parsed as x.template a<( 0 || x.a )>(1) instead of (x.a<0)
|| (x.a>(1)) and the missing template keyword warning is printed. For actual
compilation, it is parsed correctly.

Reply via email to