From f9383e01402ba428aa7b26b6ec7019db08ea86d6 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 4 Jun 2021 09:09:52 -0400 Subject: VS: Re-order v141 and v142 CL flag table entries to match xml files better --- Templates/MSBuild/FlagTables/v141_CL.json | 28 ++++++++++++++-------------- Templates/MSBuild/FlagTables/v142_CL.json | 28 ++++++++++++++-------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index 01fafe4..d4701f3 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -589,6 +589,20 @@ "flags": [] }, { + "name": "SupportJustMyCode", + "switch": "JMC-", + "comment": "", + "value": "false", + "flags": [] + }, + { + "name": "SupportJustMyCode", + "switch": "JMC", + "comment": "", + "value": "true", + "flags": [] + }, + { "name": "CompileAsWinRT", "switch": "ZW", "comment": "Consume Windows Runtime Extension", @@ -1250,19 +1264,5 @@ "comment": "C++14 (GNU Dialect)", "value": "gnu++1y", "flags": [] - }, - { - "name": "SupportJustMyCode", - "switch": "JMC-", - "comment": "", - "value": "false", - "flags": [] - }, - { - "name": "SupportJustMyCode", - "switch": "JMC", - "comment": "", - "value": "true", - "flags": [] } ] diff --git a/Templates/MSBuild/FlagTables/v142_CL.json b/Templates/MSBuild/FlagTables/v142_CL.json index 3305e56..68dcb13 100644 --- a/Templates/MSBuild/FlagTables/v142_CL.json +++ b/Templates/MSBuild/FlagTables/v142_CL.json @@ -434,6 +434,20 @@ "flags": [] }, { + "name": "ConformanceMode", + "switch": "permissive-", + "comment": "Conformance mode enabled", + "value": "true", + "flags": [] + }, + { + "name": "ConformanceMode", + "switch": "permissive", + "comment": "Conformance mode disabled", + "value": "false", + "flags": [] + }, + { "name": "LanguageStandard", "switch": "std:c++14", "comment": "ISO C++14 Standard", @@ -880,20 +894,6 @@ "flags": [] }, { - "name": "ConformanceMode", - "switch": "permissive-", - "comment": "Conformance mode enabled", - "value": "true", - "flags": [] - }, - { - "name": "ConformanceMode", - "switch": "permissive", - "comment": "Conformance mode disabled", - "value": "false", - "flags": [] - }, - { "name": "TreatWChar_tAsBuiltInType", "switch": "Zc:wchar_t-", "comment": "Treat WChar_t As Built in Type", -- cgit v0.12 From 25e33a282b13ac94817f51d2bc7a1870965ba4ee Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 4 Jun 2021 09:23:34 -0400 Subject: VS: Update v141 CL flag table for VS 15.9 Run the command python3 Source/cmConvertMSBuildXMLToJSON.py -t v141 \ 'c:/.../Common7/IDE/VC/VCTargets/1033/cl.xml' To generate `v141_CL.json` locally. Manually move new and updated settings over to `Templates/MSBuild/FlagTables/v141_CL.json`. --- Templates/MSBuild/FlagTables/v141_CL.json | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/Templates/MSBuild/FlagTables/v141_CL.json b/Templates/MSBuild/FlagTables/v141_CL.json index d4701f3..5b18e32 100644 --- a/Templates/MSBuild/FlagTables/v141_CL.json +++ b/Templates/MSBuild/FlagTables/v141_CL.json @@ -421,8 +421,29 @@ }, { "name": "SpectreMitigation", + "switch": "Qspectre-load-cf", + "comment": "All Control Flow Loads", + "value": "SpectreLoadCF", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre-load", + "comment": "All Loads", + "value": "SpectreLoad", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre-", + "comment": "Disabled", + "value": "false", + "flags": [] + }, + { + "name": "SpectreMitigation", "switch": "Qspectre", - "comment": "Spectre mitigations", + "comment": "Enabled", "value": "Spectre", "flags": [] }, @@ -826,7 +847,7 @@ { "name": "ConformanceMode", "switch": "permissive-", - "comment": "Conformance mode enabled", + "comment": "Conformance mode", "value": "true", "flags": [] }, -- cgit v0.12 From 887e9df0c7f5898905c670888a44e9a8a8ca82f7 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 4 Jun 2021 08:44:27 -0400 Subject: VS: Update v142 CL flag table for VS 16.10 Run the command python3 Source/cmConvertMSBuildXMLToJSON.py -t v142 \ 'c:/.../MSBuild/Microsoft/VC/v160/1033/cl.xml' To generate `v142_CL.json` locally. Manually move new and updated settings over to `Templates/MSBuild/FlagTables/v142_CL.json`. Revise the `/sourceDependencies[:directives]` table entries to properly distinguish the two options (because one is a prefix of the other), and to populate both `Generate*Dependencies` and `*DependenciesFile`. --- Templates/MSBuild/FlagTables/v142_CL.json | 224 +++++++++++++++++++++++++++++- 1 file changed, 219 insertions(+), 5 deletions(-) diff --git a/Templates/MSBuild/FlagTables/v142_CL.json b/Templates/MSBuild/FlagTables/v142_CL.json index 68dcb13..650ff6c 100644 --- a/Templates/MSBuild/FlagTables/v142_CL.json +++ b/Templates/MSBuild/FlagTables/v142_CL.json @@ -386,6 +386,13 @@ }, { "name": "EnableEnhancedInstructionSet", + "switch": "arch:AVX512", + "comment": "Advanced Vector Extensions 512", + "value": "AdvancedVectorExtensions512", + "flags": [] + }, + { + "name": "EnableEnhancedInstructionSet", "switch": "arch:IA32", "comment": "No Enhanced Instructions", "value": "NoExtensions", @@ -421,29 +428,43 @@ }, { "name": "SpectreMitigation", + "switch": "Qspectre-load-cf", + "comment": "All Control Flow Loads", + "value": "SpectreLoadCF", + "flags": [] + }, + { + "name": "SpectreMitigation", + "switch": "Qspectre-load", + "comment": "All Loads", + "value": "SpectreLoad", + "flags": [] + }, + { + "name": "SpectreMitigation", "switch": "Qspectre-", - "comment": "Spectre mitigations disabled", + "comment": "Disabled", "value": "false", "flags": [] }, { "name": "SpectreMitigation", "switch": "Qspectre", - "comment": "Spectre mitigations enabled", + "comment": "Enabled", "value": "Spectre", "flags": [] }, { "name": "ConformanceMode", "switch": "permissive-", - "comment": "Conformance mode enabled", + "comment": "Yes", "value": "true", "flags": [] }, { "name": "ConformanceMode", "switch": "permissive", - "comment": "Conformance mode disabled", + "comment": "No", "value": "false", "flags": [] }, @@ -631,6 +652,27 @@ "flags": [] }, { + "name": "CompileAs", + "switch": "interface", + "comment": "Compile as C++ Module Code", + "value": "CompileAsCppModule", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "internalPartition", + "comment": "Compile as C++ Module Internal Partition", + "value": "CompileAsCppModuleInternalPartition", + "flags": [] + }, + { + "name": "CompileAs", + "switch": "exportHeader", + "comment": "Compile as C++ Header Unit", + "value": "CompileAsHeaderUnit", + "flags": [] + }, + { "name": "ErrorReporting", "switch": "errorReport:none", "comment": "Do Not Send Report", @@ -733,6 +775,13 @@ ] }, { + "name": "ForceSynchronousPDBWrites", + "switch": "FS", + "comment": "Force Synchronous PDB Writes", + "value": "true", + "flags": [] + }, + { "name": "IntrinsicFunctions", "switch": "Oi", "comment": "Enable Intrinsic Functions", @@ -803,6 +852,20 @@ "flags": [] }, { + "name": "UseStandardPreprocessor", + "switch": "Zc:preprocessor-", + "comment": "Use Standard Conforming Preprocessor", + "value": "false", + "flags": [] + }, + { + "name": "UseStandardPreprocessor", + "switch": "Zc:preprocessor", + "comment": "Use Standard Conforming Preprocessor", + "value": "true", + "flags": [] + }, + { "name": "StringPooling", "switch": "GF-", "comment": "Enable String Pooling", @@ -887,6 +950,41 @@ "flags": [] }, { + "name": "IntelJCCErratum", + "switch": "QIntel-jcc-erratum", + "comment": "Enable Intel JCC Erratum Mitigation", + "value": "true", + "flags": [] + }, + { + "name": "GuardEHContMetadata", + "switch": "guard:ehcont-", + "comment": "Enable EH Continuation Metadata", + "value": "false", + "flags": [] + }, + { + "name": "GuardEHContMetadata", + "switch": "guard:ehcont", + "comment": "Enable EH Continuation Metadata", + "value": "true", + "flags": [] + }, + { + "name": "GuardSignedReturns", + "switch": "guard:signret-", + "comment": "Enable Signed Returns", + "value": "false", + "flags": [] + }, + { + "name": "GuardSignedReturns", + "switch": "guard:signret", + "comment": "Enable Signed Returns", + "value": "true", + "flags": [] + }, + { "name": "DisableLanguageExtensions", "switch": "Za", "comment": "Disable Language Extensions", @@ -980,7 +1078,7 @@ { "name": "EnableModules", "switch": "experimental:module", - "comment": "Enable C++ Modules (experimental)", + "comment": "Enable Experimental C++ Standard Library Modules", "value": "true", "flags": [] }, @@ -999,6 +1097,15 @@ "flags": [] }, { + "name": "GenerateModuleDependencies", + "switch": "sourceDependencies:directives", + "comment": "Generate Module Dependenices File", + "value": "true", + "flags": [ + "Continue" + ] + }, + { "name": "GenerateXMLDocumentationFiles", "switch": "doc", "comment": "Generate XML Documentation Files", @@ -1010,6 +1117,15 @@ ] }, { + "name": "GenerateSourceDependencies", + "switch": "sourceDependencies", + "comment": "Generate Source Dependencies File", + "value": "true", + "flags": [ + "Continue" + ] + }, + { "name": "BrowseInformation", "switch": "FR", "comment": "Enable Browse Information", @@ -1021,6 +1137,27 @@ ] }, { + "name": "TreatAngleIncludeAsExternal", + "switch": "external:anglebrackets", + "comment": "Treat Files Included with Angle Brackets as External", + "value": "true", + "flags": [] + }, + { + "name": "ExternalTemplatesDiagnostics", + "switch": "external:templates-", + "comment": "Template Diagnostics in External Headers", + "value": "true", + "flags": [] + }, + { + "name": "DisableAnalyzeExternal", + "switch": "analyze:external-", + "comment": "Disable Code Analysis for External Headers", + "value": "true", + "flags": [] + }, + { "name": "ShowIncludes", "switch": "showIncludes", "comment": "Show Includes", @@ -1076,6 +1213,36 @@ ] }, { + "name": "AdditionalBMIDirectories", + "switch": "ifcSearchDir", + "comment": "Additional BMI Directories", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalModuleDependencies", + "switch": "reference", + "comment": "Additional Module Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "AdditionalHeaderUnitDependencies", + "switch": "headerUnit", + "comment": "Additional Header Unit Dependencies", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { "name": "PreprocessorDefinitions", "switch": "D", "comment": "Preprocessor Definitions", @@ -1096,6 +1263,26 @@ ] }, { + "name": "StdIfcDirectory", + "switch": "stdIfcDir", + "comment": "", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { + "name": "ExternalDirectoriesEnv", + "switch": "external:env:", + "comment": "External Directories Environment Variables", + "value": "", + "flags": [ + "UserValue", + "SemicolonAppendable" + ] + }, + { "name": "DisableSpecificWarnings", "switch": "wd", "comment": "Disable Specific Warnings", @@ -1211,6 +1398,24 @@ ] }, { + "name": "ModuleOutputFile", + "switch": "ifcOutput", + "comment": "Module Output File Name", + "value": "", + "flags": [ + "UserValue" + ] + }, + { + "name": "ModuleDependenciesFile", + "switch": "sourceDependencies:directives", + "comment": "Module Dependencies File Name", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { "name": "ObjectFileName", "switch": "Fo", "comment": "Object File Name", @@ -1239,6 +1444,15 @@ ] }, { + "name": "SourceDependenciesFile", + "switch": "sourceDependencies", + "comment": "Source Dependencies File Name", + "value": "", + "flags": [ + "UserFollowing" + ] + }, + { "name": "BrowseInformationFile", "switch": "FR", "comment": "Browse Information File", -- cgit v0.12