On Mon, Mar 21, 2016 at 8:09 PM, Nico Weber <tha...@chromium.org> wrote:
> Thanks, attempting to fix. > > On Mon, Mar 21, 2016 at 7:43 PM, Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> Seems to have caused a bot failure: >> >> http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/7039 >> >> The NOTRIPLE test appears to be picking up the version of MSVC from >> that installed on the system, so this passes or fails depending on >> which version of MSVC we find. >> > > I think it's a bit simpler: If the triple is set, we try to parse the MSVC > version off it if it's a MS target. If we fail to parse it, we default to > 18 (VC2013). If the triple isn't a MS triple, we set the option to 0. I > tested this on Linux, where the default triple is a linux triple, and hence > the flag is 0 (and we don't print the space). On the Windows bot, the > default triple is some MS triple, which we fail to parse, and then we > default to the 2013 behavior. > > ...bleh, I was just running `svn commit` with a fix, but got a conflict. > Seems like somewhat reverted the change at the same time I was fixing. Will > try again some other time. > To be clear, the "bleh" here was directed at myself. It's always ok to revert changes that break stuff, and it's entirely on me that I didn't fix this earlier. So thanks for the revert! > > >> >> On Mon, Mar 21, 2016 at 12:44 PM, Nico Weber via cfe-commits >> <cfe-commits@lists.llvm.org> wrote: >> > Author: nico >> > Date: Mon Mar 21 14:44:18 2016 >> > New Revision: 263974 >> > >> > URL: http://llvm.org/viewvc/llvm-project?rev=263974&view=rev >> > Log: >> > clang-cl: With -fmsc-version=1900, use MSVS2015 diag formatting. >> > >> > Modified: >> > cfe/trunk/lib/Driver/Tools.cpp >> > cfe/trunk/lib/Frontend/TextDiagnostic.cpp >> > cfe/trunk/test/Misc/diag-format.c >> > >> > Modified: cfe/trunk/lib/Driver/Tools.cpp >> > URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=263974&r1=263973&r2=263974&view=diff >> > >> ============================================================================== >> > --- cfe/trunk/lib/Driver/Tools.cpp (original) >> > +++ cfe/trunk/lib/Driver/Tools.cpp Mon Mar 21 14:44:18 2016 >> > @@ -3257,6 +3257,7 @@ VersionTuple visualstudio::getMSVCVersio >> > if (Major || Minor || Micro) >> > return VersionTuple(Major, Minor, Micro); >> > >> > + // FIXME: Consider bumping this to 19 (MSVC2015) soon. >> > return VersionTuple(18); >> > } >> > return VersionTuple(); >> > >> > Modified: cfe/trunk/lib/Frontend/TextDiagnostic.cpp >> > URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/TextDiagnostic.cpp?rev=263974&r1=263973&r2=263974&view=diff >> > >> ============================================================================== >> > --- cfe/trunk/lib/Frontend/TextDiagnostic.cpp (original) >> > +++ cfe/trunk/lib/Frontend/TextDiagnostic.cpp Mon Mar 21 14:44:18 2016 >> > @@ -819,7 +819,15 @@ void TextDiagnostic::emitDiagnosticLoc(S >> > switch (DiagOpts->getFormat()) { >> > case DiagnosticOptions::Clang: >> > case DiagnosticOptions::Vi: OS << ':'; break; >> > - case DiagnosticOptions::MSVC: OS << ") : "; break; >> > + case DiagnosticOptions::MSVC: >> > + // MSVC2013 and before print 'file(4) : error'. MSVC2015 gets rid >> of the >> > + // space and prints 'file(4): error'. >> > + OS << ')'; >> > + if (LangOpts.MSCompatibilityVersion && >> > + !LangOpts.isCompatibleWithMSVC(LangOptions::MSVC2015)) >> > + OS << ' '; >> > + OS << ": "; >> > + break; >> > } >> > >> > if (DiagOpts->ShowSourceRanges && !Ranges.empty()) { >> > >> > Modified: cfe/trunk/test/Misc/diag-format.c >> > URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Misc/diag-format.c?rev=263974&r1=263973&r2=263974&view=diff >> > >> ============================================================================== >> > --- cfe/trunk/test/Misc/diag-format.c (original) >> > +++ cfe/trunk/test/Misc/diag-format.c Mon Mar 21 14:44:18 2016 >> > @@ -4,13 +4,15 @@ >> > // >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fmsc-version=1300 %s 2>&1 | FileCheck %s -check-prefix=MSVC2010 >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fms-compatibility-version=13.00 %s 2>&1 | FileCheck %s >> -check-prefix=MSVC2010 >> > -// RUN: %clang -fsyntax-only -fdiagnostics-format=msvc %s 2>&1 | >> FileCheck %s -check-prefix=MSVC >> > +// RUN: %clang -fsyntax-only -fdiagnostics-format=msvc %s 2>&1 | >> FileCheck %s -check-prefix=MSVCNOTRIPLE >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fmsc-version=1300 -target x86_64-pc-win32 %s 2>&1 | FileCheck %s >> -check-prefix=MSVC2010 >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fms-compatibility-version=13.00 -target x86_64-pc-win32 %s 2>&1 | >> FileCheck %s -check-prefix=MSVC2010 >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc -target >> x86_64-pc-win32 %s 2>&1 | FileCheck %s -check-prefix=MSVC >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fmsc-version=1300 -target x86_64-pc-win32 -fshow-column %s 2>&1 | >> FileCheck %s -check-prefix=MSVC2010 >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fms-compatibility-version=13.00 -target x86_64-pc-win32 -fshow-column %s >> 2>&1 | FileCheck %s -check-prefix=MSVC2010 >> > -// RUN: %clang -fsyntax-only -fdiagnostics-format=msvc -target >> x86_64-pc-win32 -fshow-column %s 2>&1 | FileCheck %s -check-prefix=MSVC >> > +// RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fmsc-version=1800 -target x86_64-pc-win32 -fshow-column %s 2>&1 | >> FileCheck %s -check-prefix=MSVC2013 >> > +// RN: %clang -fsyntax-only -fdiagnostics-format=msvc -target >> x86_64-pc-win32 -fshow-column %s 2>&1 | FileCheck %s -check-prefix=MSVC >> >> Did you mean to leave this test disabled? >> >> > +// RUN: %clang -fsyntax-only -fdiagnostics-format=msvc >> -fmsc-version=1900 -target x86_64-pc-win32 -fshow-column %s 2>&1 | >> FileCheck %s -check-prefix=MSVC2015 >> > // >> > // RUN: %clang -fsyntax-only -fdiagnostics-format=vi %s 2>&1 | >> FileCheck %s -check-prefix=VI >> > // >> > @@ -20,11 +22,9 @@ >> > // >> > // RUN: not %clang -fsyntax-only -Werror >> -fdiagnostics-format=msvc-fallback -fmsc-version=1300 %s 2>&1 | FileCheck >> %s -check-prefix=MSVC2010-FALLBACK >> > // RUN: not %clang -fsyntax-only -Werror >> -fdiagnostics-format=msvc-fallback -fms-compatibility-version=13.00 %s 2>&1 >> | FileCheck %s -check-prefix=MSVC2010-FALLBACK >> > -// RUN: not %clang -fsyntax-only -Werror >> -fdiagnostics-format=msvc-fallback %s 2>&1 | FileCheck %s >> -check-prefix=MSVC-FALLBACK >> > - >> > - >> > - >> > - >> > +// RUN: not %clang -fsyntax-only -Werror >> -fdiagnostics-format=msvc-fallback %s -fmsc-version=1800 2>&1 | FileCheck >> %s -check-prefix=MSVC2013-FALLBACK >> > +// RN: not %clang -fsyntax-only -Werror >> -fdiagnostics-format=msvc-fallback %s 2>&1 | FileCheck %s >> -check-prefix=MSVC-FALLBACK >> >> ... and this one? >> >> > +// RUN: not %clang -fsyntax-only -Werror >> -fdiagnostics-format=msvc-fallback %s -fmsc-version=1900 2>&1 | FileCheck >> %s -check-prefix=MSVC2015-FALLBACK >> > >> > >> > >> > @@ -36,10 +36,15 @@ >> > #endif bad // extension! >> > // DEFAULT: {{.*}}:36:8: warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > // MSVC2010: {{.*}}(36,7) : warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > +// MSVC2013: {{.*}}(36,8) : warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > // MSVC: {{.*}}(36,8) : warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > +// MSVCNOTRIPLE: {{.*}}(36,8): warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > +// MSVC2015: {{.*}}(36,8): warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > // VI: {{.*}} +36:8: warning: extra tokens at end of #endif directive >> [-Wextra-tokens] >> > -// MSVC_ORIG: {{.*}}(36) : warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > +// MSVC_ORIG: {{.*}}(36): warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > // NO_COLUMN: {{.*}}:36: warning: extra tokens at end of #endif >> directive [-Wextra-tokens] >> > // MSVC2010-FALLBACK: {{.*}}(36,7) : error(clang): extra tokens at end >> of #endif directive >> > +// MSVC2013-FALLBACK: {{.*}}(36,8) : error(clang): extra tokens at end >> of #endif directive >> > // MSVC-FALLBACK: {{.*}}(36,8) : error(clang): extra tokens at end of >> #endif directive >> > +// MSVC2015-FALLBACK: {{.*}}(36,8): error(clang): extra tokens at end >> of #endif directive >> > int x; >> > >> > >> > _______________________________________________ >> > cfe-commits mailing list >> > cfe-commits@lists.llvm.org >> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> _______________________________________________ >> cfe-commits mailing list >> cfe-commits@lists.llvm.org >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >> > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits