r214051 - Fix default argument comma disambiguation bug following the 'template' keyword.
Richard Smith
richard-llvm at metafoo.co.uk
Sat Jul 26 22:38:12 PDT 2014
Author: rsmith
Date: Sun Jul 27 00:38:12 2014
New Revision: 214051
URL: http://llvm.org/viewvc/llvm-project?rev=214051&view=rev
Log:
Fix default argument comma disambiguation bug following the 'template' keyword.
Modified:
cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp
cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp
Modified: cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp?rev=214051&r1=214050&r2=214051&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp (original)
+++ cfe/trunk/lib/Parse/ParseCXXInlineMethods.cpp Sun Jul 27 00:38:12 2014
@@ -1014,6 +1014,7 @@ bool Parser::ConsumeAndStoreInitializer(
Toks.push_back(Tok);
ConsumeToken();
if (Tok.is(tok::less)) {
+ ++AngleCount;
++KnownTemplateCount;
Toks.push_back(Tok);
ConsumeToken();
Modified: cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp?rev=214051&r1=214050&r2=214051&view=diff
==============================================================================
--- cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp (original)
+++ cfe/trunk/test/Parser/cxx-ambig-init-templ.cpp Sun Jul 27 00:38:12 2014
@@ -169,3 +169,9 @@ namespace ElaboratedTypeSpecifiers {
enum E {};
};
}
+
+namespace PR20459 {
+ template <typename EncTraits> struct A {
+ void foo(int = EncTraits::template TypeEnc<int, int>::val); // ok
+ };
+}
More information about the cfe-commits
mailing list