#9686 closed defect (wontfix)
Two lines in one particular method crash compiler (msvc14 , Release configuration)
Reported by: | Gufino2 | Owned by: | csnover |
---|---|---|---|
Priority: | normal | Component: | Port: Win32 |
Version: | Keywords: | ||
Cc: | Game: |
Description
I cloned the repo (master, 8e303c77052bdd691d67855c0103e23b69ade3bb ), compiled the create_project solution with visual studio 2015, generated the scummvm solution using create_project.bat (option "a", all engines), then I tried to build scummvm solution in both Debug and Release configurations.
Debug builds fine, but if I try to build Release, in the final steps the linker tries to generate code (it uses LTCG for better optimization) but it crashes with a C1063: compiler limit: compiler stack overflow error.
I managed to find out the "culprit": it's the method "GroupMan::groupGetDamageCreatureOutcome" in file group.cpp in engines/dm
In depth, the compiler crash is caused by the following two lines of said method. If you try and comment out those line, Release builds fine:
groupDirections = getGroupValueUpdatedWithCreatureValue(groupDirections, curCreatureIndex, getCreatureValue(groupDirections, nextCreatureIndex));
groupCells = getGroupValueUpdatedWithCreatureValue(groupCells, curCreatureIndex, getCreatureValue(groupCells, nextCreatureIndex));
Last time I tried to clone the repo and build sources was about two months ago, and that old version did not have this problem.
Change History (2)
comment:1 by , 7 years ago
Keywords: | compiler crash msvc14 removed |
---|---|
Owner: | set to |
Resolution: | → wontfix |
Status: | new → closed |
comment:2 by , 6 years ago
Component: | --Unset-- → Port: Win32 |
---|
Thanks for your report! Since this is a compiler error for an unreleased engine, it will not affect current releases, so I am going to close this ticket for the moment in the interest of trying to keep the list of bugs in the bug tracker manageable. In the meantime, if this problem still occurs in the latest VS2017, please make sure to report it to Microsoft so they can fix the compiler.