r263974 - clang-cl: With -fmsc-version=1900, use MSVS2015 diag formatting.
Richard Smith via cfe-commits
cfe-commits at lists.llvm.org
Mon Mar 21 16:43:32 PDT 2016
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.
On Mon, Mar 21, 2016 at 12:44 PM, Nico Weber via cfe-commits
<cfe-commits at 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 at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list