Browse Source

Fix several compilation warnings.

legacy
Sam Hocevar 7 years ago
parent
commit
c826bbd6f0
3 changed files with 16 additions and 15 deletions
  1. +4
    -4
      src/lol/sys/threadtypes.h
  2. +3
    -3
      src/lol/sys/timer.h
  3. +9
    -8
      src/math/real.cpp

+ 4
- 4
src/lol/sys/threadtypes.h View File

@@ -97,7 +97,7 @@ protected:
class BaseThreadManager : public Entity class BaseThreadManager : public Entity
{ {
public: public:
char const *GetName() { return "<BaseThreadManager>"; }
std::string GetName() const { return "<BaseThreadManager>"; }
BaseThreadManager(int thread_max); BaseThreadManager(int thread_max);
BaseThreadManager(int thread_max, int thread_min); BaseThreadManager(int thread_max, int thread_min);
virtual ~BaseThreadManager(); virtual ~BaseThreadManager();
@@ -163,7 +163,7 @@ private:
class DefaultThreadManager : public BaseThreadManager class DefaultThreadManager : public BaseThreadManager
{ {
public: public:
char const *GetName() { return "<DefaultThreadManager>"; }
std::string GetName() const { return "<DefaultThreadManager>"; }
DefaultThreadManager(int thread_max) DefaultThreadManager(int thread_max)
: BaseThreadManager(thread_max, thread_max) : BaseThreadManager(thread_max, thread_max)
{ } { }
@@ -222,7 +222,7 @@ public:
} }
}; };
public: public:
char const *GetName() { return "<FileUpdateTester>"; }
std::string GetName() const { return "<FileUpdateTester>"; }
FileUpdateTester(uint32_t frame_skip = 4) FileUpdateTester(uint32_t frame_skip = 4)
: BaseThreadManager(1) : BaseThreadManager(1)
{ m_frame_skip = frame_skip; } { m_frame_skip = frame_skip; }
@@ -252,7 +252,7 @@ typedef FileUpdateTester::Status FileUpdateStatus;
class AsyncImageLoader : public BaseThreadManager class AsyncImageLoader : public BaseThreadManager
{ {
public: public:
char const *GetName() { return "<AsyncImageLoader>"; }
std::string GetName() const { return "<AsyncImageLoader>"; }
AsyncImageLoader(int thread_max) AsyncImageLoader(int thread_max)
: BaseThreadManager(thread_max, 0) : BaseThreadManager(thread_max, 0)
{ {


+ 3
- 3
src/lol/sys/timer.h View File

@@ -1,7 +1,7 @@
// //
// Lol Engine // Lol Engine
// //
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net>
// Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net>
// © 2016 Guillaume Bittoun <guillaume.bittoun@gmail.com> // © 2016 Guillaume Bittoun <guillaume.bittoun@gmail.com>
// //
// Lol Engine is free software. It comes without any warranty, to // Lol Engine is free software. It comes without any warranty, to
@@ -45,11 +45,11 @@ public:
private: private:
std::chrono::steady_clock::time_point m_tp; std::chrono::steady_clock::time_point m_tp;


float get_seconds(bool reset)
float get_seconds(bool do_reset)
{ {
auto tp = std::chrono::steady_clock::now(), tp0 = m_tp; auto tp = std::chrono::steady_clock::now(), tp0 = m_tp;


if (reset)
if (do_reset)
m_tp = tp; m_tp = tp;


return std::chrono::duration_cast<std::chrono::duration<float>>(tp - tp0).count(); return std::chrono::duration_cast<std::chrono::duration<float>>(tp - tp0).count();


+ 9
- 8
src/math/real.cpp View File

@@ -1,7 +1,7 @@
// //
// Lol Engine // Lol Engine
// //
// Copyright © 2010—2017 Sam Hocevar <sam@hocevar.net>
// Copyright © 2010—2018 Sam Hocevar <sam@hocevar.net>
// //
// Lol Engine is free software. It comes without any warranty, to // Lol Engine is free software. It comes without any warranty, to
// the extent permitted by applicable law. You can redistribute it // the extent permitted by applicable law. You can redistribute it
@@ -22,7 +22,11 @@ namespace lol


/* /*
* First handle explicit specialisation of our templates. * First handle explicit specialisation of our templates.
*
*/

template<> int real::DEFAULT_BIGIT_COUNT = 16;

/*
* Initialisation order is not important because everything is * Initialisation order is not important because everything is
* done on demand, but here is the dependency list anyway: * done on demand, but here is the dependency list anyway:
* - fast_log() requires R_1 * - fast_log() requires R_1
@@ -89,9 +93,6 @@ LOL_CONSTANT_GETTER(R_SQRT1_2, R_SQRT2() / 2);
* Now carry on with the rest of the Real class. * Now carry on with the rest of the Real class.
*/ */


template<>
int real::DEFAULT_BIGIT_COUNT = 16;

template<> real::Real() template<> real::Real()
: m_exponent(0), : m_exponent(0),
m_sign(false), m_sign(false),
@@ -116,7 +117,7 @@ template<> real::Real(uint64_t i)
if (i) if (i)
{ {
/* Only works with 32-bit bigits for now */ /* Only works with 32-bit bigits for now */
static_assert(sizeof(bigit_t) == 4);
static_assert(sizeof(bigit_t) == 4, "bigit_t must be 32-bit");


int delta = 1; int delta = 1;
while ((i >> 63) == 0) while ((i >> 63) == 0)
@@ -155,7 +156,7 @@ template<> real::Real(double d)
break; break;
default: default:
/* Only works with 32-bit bigits for now */ /* Only works with 32-bit bigits for now */
static_assert(sizeof(bigit_t) == 4);
static_assert(sizeof(bigit_t) == 4, "bigit_t must be 32-bit");
m_exponent = exponent - ((1 << 10) - 1); m_exponent = exponent - ((1 << 10) - 1);
m_mantissa.resize(DEFAULT_BIGIT_COUNT); m_mantissa.resize(DEFAULT_BIGIT_COUNT);
m_mantissa[0] = (bigit_t)(u.x >> 20); m_mantissa[0] = (bigit_t)(u.x >> 20);
@@ -271,7 +272,7 @@ template<> real::Real(char const *str)
finished = true; finished = true;
break; break;
} }
LOL_ATTR_FALLTHROUGH /* FIXME: why doesn’t this seem to work? */
LOL_ATTR_FALLTHROUGH;
case 'a': case 'b': case 'c': case 'd': case 'f': case 'a': case 'b': case 'c': case 'd': case 'f':
case 'A': case 'B': case 'C': case 'D': case 'F': case 'A': case 'B': case 'C': case 'D': case 'F':
case '0': case '1': case '2': case '3': case '4': case '0': case '1': case '2': case '3': case '4':


Loading…
Cancel
Save