aboutsummaryrefslogtreecommitdiff
path: root/test/SemaTemplate/member-access-ambig.cpp
AgeCommit message (Collapse)Author
2012-08-18PR41111, PR5925, PR13210: Teach tentative parsing to annotate identifiers andRichard Smith
nested names as id-expressions, using the annot_primary_expr annotation, where possible. This removes some redundant lookups, and also allows us to typo-correct within tentative parsing, and to carry on disambiguating past an identifier which we can determine will fail lookup as both a type and as a non-type, allowing us to disambiguate more declarations (and thus offer improved error recovery for such cases). This also introduces to the parser the notion of a tentatively-declared name, which is an identifier which we *might* have seen a declaration for in a tentative parse (but only if we end up disambiguating the tokens as a declaration). This is necessary to correctly disambiguate cases where a variable is used within its own initializer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162159 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-21When performing name lookup for the previous declaration of a field,Douglas Gregor
be sure to consider all of the possible lookup results. We were assert()'ing (but behaving correctly) for unresolved values. Fixes PR11134 / <rdar://problem/10290422>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142652 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-22When we perform name lookup for a template, we may end up finding anDouglas Gregor
ambiguous name where none of the declarations found are actually templates. In this case, make sure we clear out the ambiguous-path data when recomputing the lookup result kind. Fixes PR8439. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@117112 91177308-0d34-0410-b5e6-96231b3b80d8