Godlike / Pegasus

Game physics engine (can fly)
MIT License
5 stars 2 forks source link

Fix build issues on g++ and clang++ #118

Closed MrDmitry closed 6 years ago

MrDmitry commented 6 years ago

When compiling on Linux using g++ (tested on g++-5, g++-6, g++-7) or clang++ (tested on clang++-5.0 and clang++-6.0) I got the following errors:

/home/dmitry/stuff/github/godlike/Pegasus/Pegasus/sources/Collision.cpp:82:13: error: use of undeclared identifier
      'isnan'
    assert(!isnan(result.points.aWorldSpace.x) && !isnan(result.points.bWorldSpace.x));
            ^
/home/dmitry/stuff/github/godlike/Pegasus/Pegasus/sources/Collision.cpp:82:52: error: use of undeclared identifier
      'isnan'
    assert(!isnan(result.points.aWorldSpace.x) && !isnan(result.points.bWorldSpace.x));
                                                   ^
/home/dmitry/stuff/github/godlike/Pegasus/Pegasus/sources/Collision.cpp:338:32: error: use of undeclared identifier
      'isnan'
        lagrangianMultiplier = isnan(lagrangianMultiplier) ? 0 : lagrangianMultiplier;
                               ^
/home/dmitry/stuff/github/godlike/Pegasus/Pegasus/sources/Collision.cpp:365:32: error: use of undeclared identifier
      'isnan'
        lagrangianMultiplier = isnan(lagrangianMultiplier) ? 0 : lagrangianMultiplier;

Not sure why they are not detected on CI, I could not find an obvious answer.

Also this:

In file included from /home/dmitry/stuff/github/godlike/Pegasus/demo/imgui/imgui_draw.cpp:107:0:
/home/dmitry/stuff/github/godlike/Pegasus/third_party/imgui/stb_truetype.h: In function ‘stbtt_int32 stbtt__GetGlyphGPOSInfoAdvance(const stbtt_fontinfo*, int, int)’:
/home/dmitry/stuff/github/godlike/Pegasus/third_party/imgui/stb_truetype.h:2454:42: error: unused variable ‘pairSetCount’ [-Werror=unused-variable]
                             stbtt_uint16 pairSetCount = ttUSHORT(table + 8);

The variable is used later in the code in