Merge pull request #2136 from aws-lumberyard-dev/hultonha_LY-69118_lambda_crash

Update MSVC to use new lambda processing
This commit is contained in:
hultonha
2021-07-16 12:55:29 +01:00
committed by GitHub
3 changed files with 4 additions and 2 deletions
+1 -1
View File
@@ -127,7 +127,7 @@ namespace AZ
#define AZ_TraceFmtCompileTimeCheck(expression, isVaArgs, baseMsg, msg, msgVargs) \
{ \
using namespace AZ::TraceInternal; \
const auto& rTraceFmtCompileTimeCheckExpressionHelper = (expression); /* This is needed for edge cases for expressions containing lambdas, that were unsupported before C++20 */ \
[[maybe_unused]] const auto& rTraceFmtCompileTimeCheckExpressionHelper = (expression); /* This is needed for edge cases for expressions containing lambdas, that were unsupported before C++20 */ \
constexpr ExpressionValidResult isValidTraceFmtResult = ExpressionIsValid<decltype(rTraceFmtCompileTimeCheckExpressionHelper)>::value; \
/* Assert different message depending whether it's const char array or if we have extra arguments */ \
static_assert(!(isVaArgs) ? isValidTraceFmtResult != ExpressionValidResult::Invalid_ConstCharArray : true, baseMsg " " msg); \
@@ -493,7 +493,8 @@ namespace AZ::SceneGenerationComponents
// Copy node attributes
AZStd::apply([](const auto&&... nodePairView) {
((AZStd::for_each(begin(nodePairView), end(nodePairView), [](const auto& nodePair) {
auto& [originalNode, optimizedNode] = nodePair;
auto& originalNode = nodePair.first;
auto& optimizedNode = nodePair.second;
optimizedNode->CloneAttributesFrom(&originalNode.get());
})), ...);
}, std::tuple {
@@ -77,6 +77,7 @@ ly_append_configurations_options(
/Zc:forScope # Force Conformance in for Loop Scope
/diagnostics:caret # Compiler diagnostic options: includes the column where the issue was found and places a caret (^) under the location in the line of code where the issue was detected.
/Zc:__cplusplus
/Zc:lambda # Use the new lambda processor (See https://developercommunity.visualstudio.com/t/A-lambda-that-binds-the-this-pointer-w/1467873 for more details)
/favor:AMD64 # Create Code optimized for 64 bit
/bigobj # Increase number of sections in obj files. Profiling has shown no meaningful impact in memory nore build times
COMPILATION_DEBUG