[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-01 Thread Erich Keane via Phabricator via cfe-commits
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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-01 Thread Erich Keane via Phabricator via cfe-commits
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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-04-13 Thread Erich Keane via Phabricator via cfe-commits
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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-16 Thread Erich Keane via Phabricator via cfe-commits
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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-16 Thread Eli Friedman via Phabricator via 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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-16 Thread Erich Keane via Phabricator via cfe-commits
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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-16 Thread Eli Friedman via Phabricator via 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: > efriedma wr

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-16 Thread Erich Keane via Phabricator via cfe-commits
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

[PATCH] D29401: Fix MSVC Compatibility around dependent type with missing 'typename'

2017-02-16 Thread Erich Keane via Phabricator via cfe-commits
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 __