-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Fix issue with yoga in X64 Release builds #4628
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| <ClCompile Include="$(YogaDir)\yoga\YGStyle.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" /> | ||
| <ClCompile Include="$(YogaDir)\yoga\YGValue.cpp" /> | ||
| <ClCompile Include="$(YogaDir)\yoga\Yoga.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" /> | ||
| <ClCompile Condition="'$(Platform)' == 'x64'" Include="$(YogaDir)\yoga\Yoga.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" FloatingPointModel="Strict" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you add a comment with a link to the issue here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
Could you file an issue to undo this workaround when we get a fix from MSVC? |
| <ClCompile Include="$(YogaDir)\yoga\YGStyle.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" /> | ||
| <ClCompile Include="$(YogaDir)\yoga\YGValue.cpp" /> | ||
| <ClCompile Include="$(YogaDir)\yoga\Yoga.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" /> | ||
| <ClCompile Condition="'$(Platform)' == 'x64'" Include="$(YogaDir)\yoga\Yoga.cpp" DisableSpecificWarnings="4244;%(DisableSpecificWarnings)" FloatingPointModel="Strict" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
Yes, but we may as well have debug match the strict mode to try to minimize the differences between release and debug. |
|
Hello @acoates-ms! Because this pull request has the p.s. you can customize the way I help with merging this pull request, such as holding this pull request until a specific person approves. Simply @mention me (
|
* Fix issue with yoga layout in x64 release * Change files * Update E2E masters * code review feedback

Fixes #4122
There seems to be an issue with the v142 compiler bits which causes the code generated around CompactValue.isUndefined to not always return the correct value.
Using fp:Strict within yoga.cpp works around the issue.
An alternative would be to fork CompactValue, and add pragma's to enable strict just around that. -- Or wait for a compiler fix. We should look at disabling this change on compiler updates to see if the compiler issue has been fixed.
Microsoft Reviewers: Open in CodeFlow