[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