erichkeane created this revision.
As we know, MSVC is pretty relaxed when it comes to 'typename'. Clang so far
does a pretty darn good job of permitting the behavior, however there was 1
missed case that compiles in MSVC (as of 2015), but not in clang. I've updated
the test for similar ones t
erichkeane added a comment.
Some quick line-comments here.
Comment at: lib/Parse/ParseStmt.cpp:186
// found.
-if (Next.isNot(tok::coloncolon)) {
+if (Next.isNot(tok::coloncolon) && (!getLangOpts().MSVCCompat ||
+Next.isNot(tok::less))) {
Cl
erichkeane abandoned this revision.
erichkeane added a comment.
I don't really see a good solution for this, and haven't tried in a while, so
I'll see if I can prep another version of this in the future.
https://reviews.llvm.org/D29401
___
cfe-comm
erichkeane added a comment.
Thoughts?
https://reviews.llvm.org/D29401
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
efriedma added inline comments.
Comment at: lib/Parse/ParseStmt.cpp:186
// found.
-if (Next.isNot(tok::coloncolon)) {
+if (Next.isNot(tok::coloncolon) && (!getLangOpts().MSVCCompat ||
+Next.isNot(tok::less))) {
erichkeane wrote:
> Clang-tidy
erichkeane added inline comments.
Comment at: lib/Parse/ParseStmt.cpp:186
// found.
-if (Next.isNot(tok::coloncolon)) {
+if (Next.isNot(tok::coloncolon) && (!getLangOpts().MSVCCompat ||
+Next.isNot(tok::less))) {
efriedma wrote:
> erichkeane
efriedma added inline comments.
Comment at: lib/Parse/ParseStmt.cpp:186
// found.
-if (Next.isNot(tok::coloncolon)) {
+if (Next.isNot(tok::coloncolon) && (!getLangOpts().MSVCCompat ||
+Next.isNot(tok::less))) {
erichkeane wrote:
> efriedma wr
erichkeane added inline comments.
Comment at: lib/Parse/ParseStmt.cpp:186
// found.
-if (Next.isNot(tok::coloncolon)) {
+if (Next.isNot(tok::coloncolon) && (!getLangOpts().MSVCCompat ||
+Next.isNot(tok::less))) {
efriedma wrote:
> erichkeane
erichkeane added a comment.
Well hmm... changing this from MSVC to always caused a ton of regressions. I
no longer think that this is a proper patch as it sits. Additionally, it
doesn't fix the A::TYPE *var3 condition.
https://reviews.llvm.org/D29401
__