[Scummvm-tracker] [ScummVM] #9686: Two lines in one particular method crash compiler (msvc14 , Release configuration)
Gufino2
trac at scummvm.org
Sat Jan 7 23:00:02 CET 2017
#9686: Two lines in one particular method crash compiler (msvc14 , Release
configuration)
----------------------------------+-----------------------
Reporter: Gufino2 | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: --Unset--
Keywords: compiler crash msvc14 | Game:
----------------------------------+-----------------------
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.
--
Ticket URL: <https://bugs.scummvm.org/ticket/9686>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list