Skip to content

Commit 21793b0

Browse files
author
Michael Blome
committed
fixed up what's new content organization and links
1 parent 6e752b9 commit 21793b0

2 files changed

Lines changed: 16 additions & 19 deletions

File tree

docs/top/cpp-conformance-improvements-2017.md

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,6 @@ translation.priority.ht:
3434
## New language features
3535
ith support for generalized constexpr and NSDMI for aggregates, the compiler is complete for features added in the C++14 Standard. Note that the compiler still lacks a few features from the C++11 and C++98 Standards.
3636

37-
### New compiler switches
38-
New compiler switches enable you to opt-in to specific versions of the ISO C++ programming language in a project. The switches available in Visual Studio 2017 are /std:c++14 and /std:c++latest. For more information, see [Standards version switches in the compiler](https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler). Most of the new draft standard features are guarded by the /std:c++latest switch. In addtion, these new compiler switches have been added:
39-
40-
-**/permissive-** : vcppdocs/build/reference/permissive-standards-conformance.md
41-
Enable all strict standards conformance compiler options and disable all Microsoft-specific compiler extensions. (off by default but will be on by default at some point in the future.)
42-
43-
-**/diagnostics** : vcppdocs/build/reference/diagnostics-compiler-diagnostic-options.md
44-
Enable display of the line number, the line number and column, or the line number and column and a caret under the line of code where the diagnostic error or warning was found.
45-
46-
-**/debug:fastlink** : vcppdocs/build/reference/debug-generate-debug-info.md
47-
Enable faster incremental link by not copying all debug information into the PDB file. The PDB file instead points to the debug information for the object and library files used to create the executable.
48-
The new /permissive- switch introduces the concept of a “less permissive mode" in the compiler. It is
49-
50-
[!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC allows using /sdl with /await. We removed /rtc limitation with Coroutines.
51-
5237
### C++11:
5338
**Expression SFINAE (via more libraries) support in more libraries**
5439
The Visual C++ compiler is now capable continues to improve its support for expression SFINAE, which is required for template argument deduction and substitution where decltype and constexpr expressions may appear as template parameters. For more information, see [Expression SFINAE improvements in VS 2015 Update 3](https://blogs.msdn.microsoft.com/vcblog/2016/06/07/expression-sfinae-improvements-in-vs-2015-update-3).
@@ -74,8 +59,6 @@ Range-based for loops no longer require that begin() and end() return objects of
7459

7560
For the complete list of conformance improvements up through Visual Studio 2015, Update 3, see [Visual C++ What's New 2003 through 2015](https://msdn.microsoft.com/en-us/library/mt723604.aspx).
7661

77-
78-
7962
## Bug fixes
8063
### Copy-list-initialization
8164
Visual Studio 2017 correctly raises compiler errors related to object creation using initializer lists that were not caught in Visual Studio 2015 and could lead to crashes or undefined runtime behavior. In copy-list-initialization, the compiler is required to consider an explicit constructor for overload resolution, but must raise an error if that overload is actually chosen.

docs/top/what-s-new-for-visual-cpp-in-visual-studio.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,32 @@ The compiler and tools version number in [!INCLUDE[vs_dev15_md](../misc/includes
3838

3939
## C++ Compiler
4040

41+
### C++ conformance improvements
4142
In this release, we've updated the C++ compiler and standard library with enhanced support for C++11 and C++14 features, as well as preliminary support for certain features expected to be in the C++17 standard. In addition, several new compiler switches have been added. For detailed information, see [C++ Conformance Improvements in Visual Studio 2017](cpp-conformance-improvements-2017.md).
4243

44+
### New compiler switches
45+
46+
New compiler switches enable you to opt-in to specific versions of the ISO C++ programming language in a project. The switches available in Visual Studio 2017 are /std:c++14 and /std:c++latest. For more information, see [Standards version switches in the compiler](https://blogs.msdn.microsoft.com/vcblog/2016/06/07/standards-version-switches-in-the-compiler). Most of the new draft standard features are guarded by the /std:c++latest switch. In addtion, these new compiler switches have been added:
47+
48+
-[/permissive-](vcppdocs/build/reference/permissive-standards-conformance.md): Enable all strict standards conformance compiler options and disable all Microsoft-specific compiler extensions. (off by default but will be on by default at some point in the future.)
49+
50+
-[/diagnostics](vcppdocs/build/reference/diagnostics-compiler-diagnostic-options.md):
51+
Enable display of the line number, the line number and column, or the line number and column and a caret under the line of code where the diagnostic error or warning was found.
52+
53+
-[/debug:fastlink](vcppdocs/build/reference/debug-generate-debug-info.md):
54+
Enable up to 30% faster incremental link times (vs. Visual Studio 2015) by not copying all debug information into the PDB file. The PDB file instead points to the debug information for the object and library files used to create the executable. See [Faster C++ build cycle in VS “15” with /Debug:fastlink](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/) and [Recommendations to speed C++ builds in Visual Studio](https://blogs.msdn.microsoft.com/vcblog/2016/10/26/recommendations-to-speed-c-builds-in-visual-studio/).
55+
56+
[!INCLUDE[vs_dev15_md](../misc/includes/vs_dev15_md.md)] RC allows using /sdl with /await. We removed /rtc limitation with Coroutines.
57+
58+
### Codegen, security, diagnostics and versioning
4359
This release brings several improvements in optimization, code generation, toolset versioning and diagnostics. Some notable improvements include:
4460

4561
- Improved code generation of loops: Support for automatic vectorization of division of constant integers, better identification of memset patterns.
4662
- Improved code security: Improved emission of buffer overrun compiler diagnostics, and /guard:cf now guards switch statements that generate jump tables.
4763
- Versioning: The value of the built-in preprocessor macro _MSC_VER is now being monotonically updated at every Visual C++ toolset update. For more information, see [Visual C++ Compiler Version](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/visual-c-compiler-version/).
4864
- New toolset layout: The compiler and related build tools have a new location and directory structure on your development machine. The new layout enables side-by-side installations of multiple versions of the compiler. For more information, see [Compiler Tools Layout in Visual Studio “15”](https://blogs.msdn.microsoft.com/vcblog/2016/10/07/compiler-tools-layout-in-visual-studio-15/).
49-
- The /debug:fastlink option has been improved to provide 30% faster link times on large components than in VS 2015. See [Faster C++ build cycle in VS “15” with /Debug:fastlink](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/faster-c-build-cycle-in-vs-15-with-debugfastlink/) and [Recommendations to speed C++ builds in Visual Studio](https://blogs.msdn.microsoft.com/vcblog/2016/10/26/recommendations-to-speed-c-builds-in-visual-studio/).
5065
- Improved diagnostics: The output window now shows the column where an error occurs. For more information, see [C++ compiler diagnostics improvements in VS “15” Preview 5](https://blogs.msdn.microsoft.com/vcblog/2016/10/05/c-compiler-diagnostics-improvements-in-vs-15-rc/).
5166

52-
5367
## C++ Libraries
5468

5569
### Standard Library improvements:

0 commit comments

Comments
 (0)