comicfans44 created this revision. comicfans44 added a project: clang. msvc allow such code construction in vs2010 / vs2017 , needs someone check this behavior in VS2012/VS2013/VS2015
Repository: rL LLVM https://reviews.llvm.org/D38502 Files: clang/lib/Sema/SemaDeclCXX.cpp Index: clang/lib/Sema/SemaDeclCXX.cpp =================================================================== --- clang/lib/Sema/SemaDeclCXX.cpp +++ clang/lib/Sema/SemaDeclCXX.cpp @@ -8978,11 +8978,14 @@ return nullptr; // Warn about access declarations. + // MSVC allow access decl without using if (UsingLoc.isInvalid()) { Diag(Name.getLocStart(), - getLangOpts().CPlusPlus11 ? diag::err_access_decl - : diag::warn_access_decl_deprecated) - << FixItHint::CreateInsertion(SS.getRange().getBegin(), "using "); + getLangOpts().MSVCCompat + ? diag::warn_access_decl_deprecated + : (getLangOpts().CPlusPlus11 ? diag::err_access_decl + : diag::warn_access_decl_deprecated)) + << FixItHint::CreateInsertion(SS.getRange().getBegin(), "using "); } if (EllipsisLoc.isInvalid()) {
Index: clang/lib/Sema/SemaDeclCXX.cpp =================================================================== --- clang/lib/Sema/SemaDeclCXX.cpp +++ clang/lib/Sema/SemaDeclCXX.cpp @@ -8978,11 +8978,14 @@ return nullptr; // Warn about access declarations. + // MSVC allow access decl without using if (UsingLoc.isInvalid()) { Diag(Name.getLocStart(), - getLangOpts().CPlusPlus11 ? diag::err_access_decl - : diag::warn_access_decl_deprecated) - << FixItHint::CreateInsertion(SS.getRange().getBegin(), "using "); + getLangOpts().MSVCCompat + ? diag::warn_access_decl_deprecated + : (getLangOpts().CPlusPlus11 ? diag::err_access_decl + : diag::warn_access_decl_deprecated)) + << FixItHint::CreateInsertion(SS.getRange().getBegin(), "using "); } if (EllipsisLoc.isInvalid()) {
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits