http://llvm.org/bugs/show_bug.cgi?id=11856
Douglas Gregor <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #2 from Douglas Gregor <[email protected]> 2012-03-10 17:53:33 CST --- (In reply to comment #1) > clang, gcc and edg all agree that "it1->end <" starts a template-id. Is it > possible they're all wrong? EDG 4.3, at least, does not assume that "it1->end <" starts a template-id. The paragraph that matters here is [basic.lookup.classref]p1: "In a class member access expression (5.2.5), if the . or -> token is immediately followed by an identifier followed by a <, the identifier must be looked up to determine whether the < is the beginning of a template argument list (14.2) or a less-than operator. The identifier is first looked up in the class of the object expression. If the identifier is not found, it is then looked up in the context of the entire postfix-expression and shall name a class template." Since "it1" is dependent, presumably the identifier is not found so we consider what happens if we look in the context of the entire postfix-expression. Since we find a function template, we should not conclude that we have the start of a template-id. Fixed in Clang r152520. -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
