]> granicus.if.org Git - clang/commit
Driver: bifurcate extended and basic MSC versioning
authorSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 16 Jul 2014 03:13:50 +0000 (03:13 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Wed, 16 Jul 2014 03:13:50 +0000 (03:13 +0000)
commitc07418530928215c641596875b2996ac386c18e7
treebd484cde2b0747493187e4d8635a01c11b711cdc
parent8aec443979d143c55dac61e273a879c496fdae96
Driver: bifurcate extended and basic MSC versioning

This restores the original behaviour of -fmsc-version. The older option
remains as a mechanism for specifying the basic version information. A
secondary option, -fms-compatibility-version permits the user to specify an
extended version to the driver.

The new version takes the value as a dot-separated value rather than the
major * 100 + minor format that -fmsc-version format. This makes it easier to
specify the value as well as a more flexible manner for specifying the value.

Specifying both values is considered an error.

The older parameter is left solely as a driver option, which is normalised into
the newer parameter. This allows us to retain a single code path in the
compiler itself whilst preserving the semantics of the old parameter as well as
avoid having to determine which of two formats are being used by the invocation.

The test changes are due to the fact that the compiler no longer supports the
old option, and is a direct conversion to the new option.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213119 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
include/clang/Basic/LangOptions.def
include/clang/Driver/Options.td
lib/Basic/Targets.cpp
lib/Driver/Tools.cpp
lib/Frontend/CompilerInvocation.cpp
lib/Frontend/TextDiagnostic.cpp
test/Driver/msc-version.c
test/Headers/c11.c
test/Headers/ms-intrin.cpp
test/Headers/ms-null-ms-header-vs-stddef.cpp
test/Misc/diag-format.c
test/Preprocessor/predefined-macros.c