Current diagnostic says "expected expression" or "reference to non-static member function must be called". This should fix PR13566 and PR18995
Details
Details
Diff Detail
Diff Detail
Event Timeline
| lib/Parse/ParseTemplate.cpp | ||
|---|---|---|
| 1233–1240 | This looks wrong: it will parse anything that could be a template argument list as a template argument list. In ambiguous cases, we must parse as a < operator.  | |
| test/SemaTemplate/dependent-template-recover.cpp | ||
| 14–15 | I think you will incorrectly treat (*t).f2<0>(0); ... as a dependent template name. Instead, it's required to be parsed as ((*t.f2) < 0) > 0;  | |
| 35 | This diagnostic is incorrect.  | |
This looks wrong: it will parse anything that could be a template argument list as a template argument list. In ambiguous cases, we must parse as a < operator.