-Ofast
is dangerous, it lets the compiler mess up float calculations, probably changing gameplay-Ofast
is dangerous, it lets the compiler mess up float calculations, probably changing gameplay -Ofast
on gcc apparently additionally enables -ffast-math
, -fallow-store-data-races
, -fno-protect-parens
and disables -fsemantic-interposition
-fallow-store-data-races
does precisely from the docsAllow the compiler to perform optimizations that may introduce new data races
on stores, without proving that the variable cannot be concurrently accessed
by other threads. Does not affect optimization of local data. It is safe to
use this option if it is known that global data will not be accessed by
multiple threads.
Examples of optimizations enabled by -fallow-store-data-races include
hoisting or if-conversions that may cause a value that was already in memory
to be re-written with that same value. Such re-writing is safe in a single
threaded context but may be unsafe in a multi-threaded context. Note that on
some processors, if-conversions may be required in order to enable
vectorization.
Total coverage: 63%
(at the end of the output)DDNet "play demos/my.demo"
command line it doesn't play the demo when the client finishes loading and instead the following error is shown in the console:
[demo_player]: playing passed demo file 'play demos/my.demo' failed: error opening demo file
If you type the same command play demos/my.demo
into the console it plays the demo.
Would be nice if the play
command also works on the initial start for integration/fuzz testing.