From 5f233c0d448697f415699cffbe025e09c537dfe7 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Fri, 2 Jun 2023 16:40:45 -0700 Subject: [PATCH 1/8] new compiler flag --- .../compiler-options-listed-alphabetically.md | 3 +- .../compiler-options-listed-by-category.md | 4 +- docs/build/reference/jump-table-rdata.md | 39 +++++++++++++++++++ docs/build/toc.yml | 2 + 4 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 docs/build/reference/jump-table-rdata.md diff --git a/docs/build/reference/compiler-options-listed-alphabetically.md b/docs/build/reference/compiler-options-listed-alphabetically.md index beb6bd81e95..fbdc2a9452b 100644 --- a/docs/build/reference/compiler-options-listed-alphabetically.md +++ b/docs/build/reference/compiler-options-listed-alphabetically.md @@ -1,7 +1,7 @@ --- title: "Compiler options listed alphabetically" description: "Reference listing in alphabetical order of the Microsoft C/C++ compiler command-line options." -ms.date: 11/07/2022 +ms.date: 06/02/2023 helpviewer_keywords: ["compiler options, C++"] --- # Compiler options listed alphabetically @@ -116,6 +116,7 @@ This table contains an alphabetical list of compiler options. For a list of comp | [`/interface`](interface.md) | Treat the input file as a module interface unit. | | [`/internalPartition`](internal-partition.md) | Treat the input file as an internal partition unit. | | [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. | +| [`/jumptablerdata`](jump-table-rdata.md) | Specify whether switch case statement jump tables are placed in the `.rdata` section instead of with the code in the `.text` section | | [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. | | [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker will create a binary that can be executed in the Windows kernel. | | [`/LD`](md-mt-ld-use-run-time-library.md) | Creates a dynamic-link library. | diff --git a/docs/build/reference/compiler-options-listed-by-category.md b/docs/build/reference/compiler-options-listed-by-category.md index 7001df2cf0f..7d7b4781b5f 100644 --- a/docs/build/reference/compiler-options-listed-by-category.md +++ b/docs/build/reference/compiler-options-listed-by-category.md @@ -1,9 +1,8 @@ --- title: "Compiler Options Listed by Category" description: "Reference listing by category of the Microsoft C/C++ compiler command-line options." -ms.date: 11/07/2022 +ms.date: 06/02/2023 helpviewer_keywords: ["compiler options, C++"] -ms.assetid: c4750dcf-dba0-4229-99b6-45cdecc11729 --- # Compiler options listed by category @@ -76,6 +75,7 @@ This article contains a categorical list of compiler options. For an alphabetica | [`/GZ`](gz-enable-stack-frame-run-time-error-checking.md) | Deprecated. Enables fast checks. (Same as [`/RTC1`](rtc-run-time-error-checks.md)) | | [`/homeparams`](homeparams-copy-register-parameters-to-stack.md) | Forces parameters passed in registers to be written to their locations on the stack upon function entry. This compiler option is only for the x64 compilers (native and cross compile). | | [`/hotpatch`](hotpatch-create-hotpatchable-image.md) | Creates a hotpatchable image. | +| [`jumptablerdata`](jump-table-rdata.md) | Specify whether switch case statement jump tables are placed in the `.rdata` section instead of with the code in the `.text` section | | [`/Qfast_transcendentals`](qfast-transcendentals-force-fast-transcendentals.md) | Generates fast transcendentals. | | [`/QIfist`](qifist-suppress-ftol.md) | Deprecated. Suppresses the call of the helper function `_ftol` when a conversion from a floating-point type to an integral type is required. (x86 only) | | [`/Qimprecise_fwaits`](qimprecise-fwaits-remove-fwaits-inside-try-blocks.md) | Removes `fwait` commands inside **`try`** blocks. | diff --git a/docs/build/reference/jump-table-rdata.md b/docs/build/reference/jump-table-rdata.md new file mode 100644 index 00000000000..c7a6d891961 --- /dev/null +++ b/docs/build/reference/jump-table-rdata.md @@ -0,0 +1,39 @@ +--- +description: "Learn more about: /jumptablerdata (Specify where switch case jump tables are placed)" +title: "/jumptablerdata (Specify the location of switch case jump tables)" +ms.date: "11/04/2016" +f1_keywords: ["/jumptable"] +helpviewer_keywords: ["-jumptablerdata compiler option [C++]", "/jumptablerdata compiler option [C++]"] +--- +# /jumptablerdata (specify switch case jump table section) + +Forces writes to the program database (PDB) file—created by [/Zi](z7-zi-zi-debug-information-format.md) or [/ZI](z7-zi-zi-debug-information-format.md)—to be serialized through MSPDBSRV.EXE. + +## Syntax + +```cpp +/jumptablerdata +``` + +## Remarks + +This flag allows the jump tables generated for switch case statements to be placed in the `.rdata` section instead of the default, which is along with the code in `.text` section. This prevents the jump table from being loaded into both Icache and Dcache, potentially increasing performance. + +This flag only is relevant for x64 code. + +### To set this compiler option in the Visual Studio development environment + +1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md). + +1. Select the **Configuration Properties** > **C/C++** > **Command Line** property page. + +1. Modify the **Additional Options** property to include `/jumptablerdata` and then choose **OK**. + +### To set this compiler option programmatically + +- See . + +## See also + +[MSVC Compiler Options](compiler-options.md)\ +[MSVC Compiler Command-Line Syntax](compiler-command-line-syntax.md) diff --git a/docs/build/toc.yml b/docs/build/toc.yml index 8eaa69daeb8..1ab50e5b796 100644 --- a/docs/build/toc.yml +++ b/docs/build/toc.yml @@ -628,6 +628,8 @@ items: href: ../build/reference/j-default-char-type-is-unsigned.md - name: /JMC (Just My Code debugging) href: ../build/reference/jmc.md + - name: /jumptablerdata (Specify the section for switch case jump tables) + href: ../build/reference/jump-table-rdata.md - name: /kernel (Create kernel mode binary) href: ../build/reference/kernel-create-kernel-mode-binary.md - name: /link (Pass options to linker) From 8845f52c9c55e8eca6bc75a282d5f7bc7ffd30c6 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Fri, 2 Jun 2023 16:56:10 -0700 Subject: [PATCH 2/8] update draft --- .../compiler-options-listed-alphabetically.md | 8 ++++---- .../compiler-options-listed-by-category.md | 6 +++--- docs/build/reference/jump-table-rdata.md | 15 ++++++++------- docs/build/toc.yml | 2 +- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/docs/build/reference/compiler-options-listed-alphabetically.md b/docs/build/reference/compiler-options-listed-alphabetically.md index fbdc2a9452b..9175609165a 100644 --- a/docs/build/reference/compiler-options-listed-alphabetically.md +++ b/docs/build/reference/compiler-options-listed-alphabetically.md @@ -116,9 +116,9 @@ This table contains an alphabetical list of compiler options. For a list of comp | [`/interface`](interface.md) | Treat the input file as a module interface unit. | | [`/internalPartition`](internal-partition.md) | Treat the input file as an internal partition unit. | | [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. | -| [`/jumptablerdata`](jump-table-rdata.md) | Specify whether switch case statement jump tables are placed in the `.rdata` section instead of with the code in the `.text` section | +| [`/jumptablerdata`](jump-table-rdata.md) | Place switch case statement jump tables in the `.rdata` section. | | [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. | -| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker will create a binary that can be executed in the Windows kernel. | +| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker create a binary that can be executed in the Windows kernel. | | [`/LD`](md-mt-ld-use-run-time-library.md) | Creates a dynamic-link library. | | [`/LDd`](md-mt-ld-use-run-time-library.md) | Creates a debug dynamic-link library. | | [`/link`](link-pass-options-to-linker.md) | Passes the specified option to LINK. | @@ -240,9 +240,9 @@ This table contains an alphabetical list of compiler options. For a list of comp | [`/Zc:throwingNew[-]`](zc-throwingnew-assume-operator-new-throws.md) | Assume **`operator new`** throws on failure (off by default). | | [`/Zc:tlsGuards[-]`](zc-tlsguards.md) | Generate runtime checks for TLS variable initialization (on by default). | | [`/Zc:trigraphs`](zc-trigraphs-trigraphs-substitution.md) | Enable trigraphs (obsolete, off by default). | -| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use non-conforming template parsing behavior (conforming by default). | +| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use nonconforming template parsing behavior (conforming by default). | | [`/Zc:wchar_t[-]`](zc-wchar-t-wchar-t-is-native-type.md) | **`wchar_t`** is a native type, not a typedef (on by default). | -| [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for 0-size arrays of objects (on by default). | +| [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for zero-size arrays of objects (on by default). | | [`/Ze`](za-ze-disable-language-extensions.md) | Deprecated. Enables C89 language extensions. | | [`/Zf`](zf.md) | Improves PDB generation time in parallel builds. | | [`/ZH:[MD5|SHA1|SHA_256]`](zh.md) | Specifies MD5, SHA-1, or SHA-256 for checksums in debug info. | diff --git a/docs/build/reference/compiler-options-listed-by-category.md b/docs/build/reference/compiler-options-listed-by-category.md index 7d7b4781b5f..6b61c448b07 100644 --- a/docs/build/reference/compiler-options-listed-by-category.md +++ b/docs/build/reference/compiler-options-listed-by-category.md @@ -75,7 +75,7 @@ This article contains a categorical list of compiler options. For an alphabetica | [`/GZ`](gz-enable-stack-frame-run-time-error-checking.md) | Deprecated. Enables fast checks. (Same as [`/RTC1`](rtc-run-time-error-checks.md)) | | [`/homeparams`](homeparams-copy-register-parameters-to-stack.md) | Forces parameters passed in registers to be written to their locations on the stack upon function entry. This compiler option is only for the x64 compilers (native and cross compile). | | [`/hotpatch`](hotpatch-create-hotpatchable-image.md) | Creates a hotpatchable image. | -| [`jumptablerdata`](jump-table-rdata.md) | Specify whether switch case statement jump tables are placed in the `.rdata` section instead of with the code in the `.text` section | +| [`/jumptablerdata`](jump-table-rdata.md) | Place switch case statement jump tables in the `.rdata` section. | | [`/Qfast_transcendentals`](qfast-transcendentals-force-fast-transcendentals.md) | Generates fast transcendentals. | | [`/QIfist`](qifist-suppress-ftol.md) | Deprecated. Suppresses the call of the helper function `_ftol` when a conversion from a floating-point type to an integral type is required. (x86 only) | | [`/Qimprecise_fwaits`](qimprecise-fwaits-remove-fwaits-inside-try-blocks.md) | Removes `fwait` commands inside **`try`** blocks. | @@ -200,7 +200,7 @@ This article contains a categorical list of compiler options. For an alphabetica | [`/Zc:throwingNew[-]`](zc-throwingnew-assume-operator-new-throws.md) | Assume **`operator new`** throws on failure (off by default). | | [`/Zc:tlsGuards[-]`](zc-tlsguards.md) | Generate runtime checks for TLS variable initialization (on by default). | | [`/Zc:trigraphs`](zc-trigraphs-trigraphs-substitution.md) | Enable trigraphs (obsolete, off by default). | -| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use non-conforming template parsing behavior (conforming by default). | +| [`/Zc:twoPhase[-]`](zc-twophase.md) | Use nonconforming template parsing behavior (conforming by default). | | [`/Zc:wchar_t[-]`](zc-wchar-t-wchar-t-is-native-type.md) | **`wchar_t`** is a native type, not a typedef (on by default). | | [`/Zc:zeroSizeArrayNew[-]`](zc-zerosizearraynew.md) | Call member `new`/`delete` for 0-size arrays of objects (on by default). | | [`/Ze`](za-ze-disable-language-extensions.md) | Deprecated. Enables C89 language extensions. | @@ -247,7 +247,7 @@ This article contains a categorical list of compiler options. For an alphabetica | [`/HELP`](help-compiler-command-line-help.md) | Lists the compiler options. | | [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. | | [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. | -| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker will create a binary that can be executed in the Windows kernel. | +| [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker create a binary that can be executed in the Windows kernel. | | [`/MP`](mp-build-with-multiple-processes.md) | Builds multiple source files concurrently. | | [`/nologo`](nologo-suppress-startup-banner-c-cpp.md) | Suppresses display of sign-on banner. | | `/presetPadding` | Zero initialize padding for stack based class types. | diff --git a/docs/build/reference/jump-table-rdata.md b/docs/build/reference/jump-table-rdata.md index c7a6d891961..cd3e8d70022 100644 --- a/docs/build/reference/jump-table-rdata.md +++ b/docs/build/reference/jump-table-rdata.md @@ -1,13 +1,13 @@ --- -description: "Learn more about: /jumptablerdata (Specify where switch case jump tables are placed)" -title: "/jumptablerdata (Specify the location of switch case jump tables)" -ms.date: "11/04/2016" +description: "Learn more about: /jumptablerdata (Place switch case jump tables in .rdata)" +title: "/jumptablerdata (put switch case jump tables in `.rdata`)" +ms.date: 06/02/2023 f1_keywords: ["/jumptable"] helpviewer_keywords: ["-jumptablerdata compiler option [C++]", "/jumptablerdata compiler option [C++]"] --- -# /jumptablerdata (specify switch case jump table section) +# /jumptablerdata (put switch case jump tables in `.rdata`) -Forces writes to the program database (PDB) file—created by [/Zi](z7-zi-zi-debug-information-format.md) or [/ZI](z7-zi-zi-debug-information-format.md)—to be serialized through MSPDBSRV.EXE. +Puts the generated switch case jump tables in the `.rdata` section instead of alongside code in the `.text` section. ## Syntax @@ -17,9 +17,10 @@ Forces writes to the program database (PDB) file—created by [/Zi](z7-zi-zi-deb ## Remarks -This flag allows the jump tables generated for switch case statements to be placed in the `.rdata` section instead of the default, which is along with the code in `.text` section. This prevents the jump table from being loaded into both Icache and Dcache, potentially increasing performance. +Putting jump tables generated for switch case statements in the `.rdata` section prevents the jump table from being loaded into both Icache and Dcache, potentially increasing performance. The `.rdata` section is where const initialized data is stored. -This flag only is relevant for x64 code. +> [!IMPORTANT] +> This flag only applies to x64 code. ### To set this compiler option in the Visual Studio development environment diff --git a/docs/build/toc.yml b/docs/build/toc.yml index 1ab50e5b796..fa7463b2775 100644 --- a/docs/build/toc.yml +++ b/docs/build/toc.yml @@ -628,7 +628,7 @@ items: href: ../build/reference/j-default-char-type-is-unsigned.md - name: /JMC (Just My Code debugging) href: ../build/reference/jmc.md - - name: /jumptablerdata (Specify the section for switch case jump tables) + - name: /jumptablerdata (place switch case jump tables in .rdata) href: ../build/reference/jump-table-rdata.md - name: /kernel (Create kernel mode binary) href: ../build/reference/kernel-create-kernel-mode-binary.md From f2151e2e40fceca137e4aec694582298fa5e33a2 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Fri, 2 Jun 2023 17:04:15 -0700 Subject: [PATCH 3/8] wordsmith --- docs/build/reference/compiler-options-listed-alphabetically.md | 2 +- docs/build/reference/compiler-options-listed-by-category.md | 2 +- docs/build/toc.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/build/reference/compiler-options-listed-alphabetically.md b/docs/build/reference/compiler-options-listed-alphabetically.md index 9175609165a..e6e7bc636ee 100644 --- a/docs/build/reference/compiler-options-listed-alphabetically.md +++ b/docs/build/reference/compiler-options-listed-alphabetically.md @@ -116,7 +116,7 @@ This table contains an alphabetical list of compiler options. For a list of comp | [`/interface`](interface.md) | Treat the input file as a module interface unit. | | [`/internalPartition`](internal-partition.md) | Treat the input file as an internal partition unit. | | [`/J`](j-default-char-type-is-unsigned.md) | Changes the default **`char`** type. | -| [`/jumptablerdata`](jump-table-rdata.md) | Place switch case statement jump tables in the `.rdata` section. | +| [`/jumptablerdata`](jump-table-rdata.md) | Put switch case statement jump tables in the `.rdata` section. | | [`/JMC`](jmc.md) | Supports native C++ Just My Code debugging. | | [`/kernel`](kernel-create-kernel-mode-binary.md) | The compiler and linker create a binary that can be executed in the Windows kernel. | | [`/LD`](md-mt-ld-use-run-time-library.md) | Creates a dynamic-link library. | diff --git a/docs/build/reference/compiler-options-listed-by-category.md b/docs/build/reference/compiler-options-listed-by-category.md index 6b61c448b07..c75358e8864 100644 --- a/docs/build/reference/compiler-options-listed-by-category.md +++ b/docs/build/reference/compiler-options-listed-by-category.md @@ -75,7 +75,7 @@ This article contains a categorical list of compiler options. For an alphabetica | [`/GZ`](gz-enable-stack-frame-run-time-error-checking.md) | Deprecated. Enables fast checks. (Same as [`/RTC1`](rtc-run-time-error-checks.md)) | | [`/homeparams`](homeparams-copy-register-parameters-to-stack.md) | Forces parameters passed in registers to be written to their locations on the stack upon function entry. This compiler option is only for the x64 compilers (native and cross compile). | | [`/hotpatch`](hotpatch-create-hotpatchable-image.md) | Creates a hotpatchable image. | -| [`/jumptablerdata`](jump-table-rdata.md) | Place switch case statement jump tables in the `.rdata` section. | +| [`/jumptablerdata`](jump-table-rdata.md) | Put switch case statement jump tables in the `.rdata` section. | | [`/Qfast_transcendentals`](qfast-transcendentals-force-fast-transcendentals.md) | Generates fast transcendentals. | | [`/QIfist`](qifist-suppress-ftol.md) | Deprecated. Suppresses the call of the helper function `_ftol` when a conversion from a floating-point type to an integral type is required. (x86 only) | | [`/Qimprecise_fwaits`](qimprecise-fwaits-remove-fwaits-inside-try-blocks.md) | Removes `fwait` commands inside **`try`** blocks. | diff --git a/docs/build/toc.yml b/docs/build/toc.yml index fa7463b2775..aa0d46009d7 100644 --- a/docs/build/toc.yml +++ b/docs/build/toc.yml @@ -628,7 +628,7 @@ items: href: ../build/reference/j-default-char-type-is-unsigned.md - name: /JMC (Just My Code debugging) href: ../build/reference/jmc.md - - name: /jumptablerdata (place switch case jump tables in .rdata) + - name: /jumptablerdata (put switch case jump tables in .rdata) href: ../build/reference/jump-table-rdata.md - name: /kernel (Create kernel mode binary) href: ../build/reference/kernel-create-kernel-mode-binary.md From 6200cf5ff3d82bc9c90f5a481c028174a3182189 Mon Sep 17 00:00:00 2001 From: "learn-build-service-prod[bot]" <113403604+learn-build-service-prod[bot]@users.noreply.github.com> Date: Tue, 11 Jul 2023 01:43:45 +0800 Subject: [PATCH 4/8] Clarified which New Project should be selected (for VS 2022) (#4973) There are two options; one does not work (.NET) due to the prerequisites set in the guide. Co-authored-by: huypub <38988242+huypub@users.noreply.github.com> Co-authored-by: learn-build-service-prod[bot] <113403604+learn-build-service-prod[bot]@users.noreply.github.com> Co-authored-by: Learn Build Service GitHub App Co-authored-by: Enrico Sebastian <74126864+enricosebastian@users.noreply.github.com> Co-authored-by: Phil <138512970+PhilKang0704@users.noreply.github.com> Co-authored-by: Jak Koke --- ...iling-a-cpp-program-that-targets-the-clr-in-visual-studio.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/dotnet/walkthrough-compiling-a-cpp-program-that-targets-the-clr-in-visual-studio.md b/docs/dotnet/walkthrough-compiling-a-cpp-program-that-targets-the-clr-in-visual-studio.md index a07c0032fc1..89be33ea732 100644 --- a/docs/dotnet/walkthrough-compiling-a-cpp-program-that-targets-the-clr-in-visual-studio.md +++ b/docs/dotnet/walkthrough-compiling-a-cpp-program-that-targets-the-clr-in-visual-studio.md @@ -26,7 +26,7 @@ The following steps vary depending on which version of Visual Studio you are usi 1. In **Solution Explorer**, right-click on the top to open the **Create a New Project** dialog box. -1. At the top of the dialog, type **CLR** in the search box and then choose **CLR Empty Project** from the results list. +1. At the top of the dialog, type **CLR** in the search box and then choose **CLR Empty Project (.NET Framework)** from the results list. 1. Choose the **Create** button to create the project. From e3bc96a9ccafdc292eeb5a9acaf78ee36d2998df Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 10 Jul 2023 11:24:38 -0700 Subject: [PATCH 5/8] github 2719 --- docs/c-runtime-library/iob.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/c-runtime-library/iob.md b/docs/c-runtime-library/iob.md index 6029c1d1f82..9341f6b617d 100644 --- a/docs/c-runtime-library/iob.md +++ b/docs/c-runtime-library/iob.md @@ -1,14 +1,13 @@ --- description: "Learn more about: _iob" title: "_iob" -ms.date: "11/04/2016" +ms.date: 07/10/2023 api_name: ["_iob"] api_location: ["msvcrt.dll"] api_type: ["DLLExport"] topic_type: ["apiref"] f1_keywords: ["_iob", "_IOB_ENTRIES", "STDIO/_IOB_ENTRIES"] helpviewer_keywords: ["_iob global variable", "iob global variable"] -ms.assetid: 008ed376-8078-4bbd-bc6c-0677c63d0ff1 --- # `_iob` @@ -22,8 +21,12 @@ FILE _iob[_IOB_ENTRIES]; ## Remarks -`_IOB_ENTRIES` is defined as 3 in `stdio.h`. +Starting with Visual Studio 2015, `_IOB_ENTRIES` is defined as 3 with the introduction of the Universal CRT. +It was previously defined as 20. + +Defined in `stdio.h`. ## See also -[Global variables](./global-variables.md) +[Global variables](./global-variables.md)\ +[Introducing the Universal CRT](https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/) From fb8ff7658bcd4f6bcb9b633c34dd752112c3c978 Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 10 Jul 2023 11:56:41 -0700 Subject: [PATCH 6/8] acrolinx --- docs/build/reference/compiler-options-listed-alphabetically.md | 2 +- docs/build/reference/compiler-options-listed-by-category.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/build/reference/compiler-options-listed-alphabetically.md b/docs/build/reference/compiler-options-listed-alphabetically.md index e6e7bc636ee..ccaca410f58 100644 --- a/docs/build/reference/compiler-options-listed-alphabetically.md +++ b/docs/build/reference/compiler-options-listed-alphabetically.md @@ -47,7 +47,7 @@ This table contains an alphabetical list of compiler options. For a list of comp | [`/EHr`](eh-exception-handling-model.md) | Always generate `noexcept` runtime termination checks. | | [`/EHs`](eh-exception-handling-model.md) | Enable C++ exception handling (no SEH exceptions). | | [`/EP`](ep-preprocess-to-stdout-without-hash-line-directives.md) | Copies preprocessor output to standard output. | -| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. Error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings. | +| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings control error reporting. | | [`/execution-charset`](execution-charset-set-execution-character-set.md) | Set execution character set. | | [`/experimental:module`](experimental-module.md) | Enables experimental module support. | | [`/exportHeader`](module-exportheader.md) | Create the header units files (*`.ifc`*) specified by the input arguments. | diff --git a/docs/build/reference/compiler-options-listed-by-category.md b/docs/build/reference/compiler-options-listed-by-category.md index c75358e8864..2b37a4a5b76 100644 --- a/docs/build/reference/compiler-options-listed-by-category.md +++ b/docs/build/reference/compiler-options-listed-by-category.md @@ -238,7 +238,7 @@ This article contains a categorical list of compiler options. For an alphabetica | [`/bigobj`](bigobj-increase-number-of-sections-in-dot-obj-file.md) | Increases the number of addressable sections in an .obj file. | | [`/c`](c-compile-without-linking.md) | Compiles without linking. | | [`/cgthreads`](cgthreads-code-generation-threads.md) | Specifies number of *cl.exe* threads to use for optimization and code generation. | -| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. Error reporting is controlled by [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings. | +| [`/errorReport`](errorreport-report-internal-compiler-errors.md) | Deprecated. [Windows Error Reporting (WER)](/windows/win32/wer/windows-error-reporting) settings control error reporting. | | [`/execution-charset`](execution-charset-set-execution-character-set.md) | Set execution character set. | | `/fastfail` | Enable fast-fail mode. | | [`/FC`](fc-full-path-of-source-code-file-in-diagnostics.md) | Displays the full path of source code files passed to *cl.exe* in diagnostic text. | From 9c233d7a92d5e5b487fcae54eb28579ae98759aa Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 10 Jul 2023 12:05:36 -0700 Subject: [PATCH 7/8] explain caches --- docs/build/reference/jump-table-rdata.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build/reference/jump-table-rdata.md b/docs/build/reference/jump-table-rdata.md index cd3e8d70022..d062a1bce6c 100644 --- a/docs/build/reference/jump-table-rdata.md +++ b/docs/build/reference/jump-table-rdata.md @@ -17,7 +17,7 @@ Puts the generated switch case jump tables in the `.rdata` section instead of al ## Remarks -Putting jump tables generated for switch case statements in the `.rdata` section prevents the jump table from being loaded into both Icache and Dcache, potentially increasing performance. The `.rdata` section is where const initialized data is stored. +Putting jump tables generated for switch case statements in the `.rdata` section prevents the jump table from being loaded into both the instruction cache (iCache) and data cache (dCache), potentially increasing performance. The `.rdata` section is where const initialized data is stored. > [!IMPORTANT] > This flag only applies to x64 code. From a5a4daf2a59155bb4ca34f7db06a517574ab209b Mon Sep 17 00:00:00 2001 From: TylerMSFT Date: Mon, 10 Jul 2023 12:13:12 -0700 Subject: [PATCH 8/8] add note about when flag was added --- docs/build/reference/jump-table-rdata.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build/reference/jump-table-rdata.md b/docs/build/reference/jump-table-rdata.md index d062a1bce6c..9cb7dd4fdc6 100644 --- a/docs/build/reference/jump-table-rdata.md +++ b/docs/build/reference/jump-table-rdata.md @@ -20,7 +20,7 @@ Puts the generated switch case jump tables in the `.rdata` section instead of al Putting jump tables generated for switch case statements in the `.rdata` section prevents the jump table from being loaded into both the instruction cache (iCache) and data cache (dCache), potentially increasing performance. The `.rdata` section is where const initialized data is stored. > [!IMPORTANT] -> This flag only applies to x64 code. +> This flag only applies to x64 code. This flag was introduced in Visual Studio 17.7. ### To set this compiler option in the Visual Studio development environment