Skip to content

Commit

Permalink
Disable warnings by default
Browse files Browse the repository at this point in the history
  • Loading branch information
christophe-lunarg committed Jan 10, 2024
1 parent ec79055 commit 9836a30
Show file tree
Hide file tree
Showing 21 changed files with 334 additions and 91 deletions.
6 changes: 3 additions & 3 deletions glm/detail/setup.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -877,10 +877,10 @@ namespace detail
///////////////////////////////////////////////////////////////////////////////////
// Silent warnings

#ifdef GLM_FORCE_SILENT_WARNINGS
# define GLM_SILENT_WARNINGS GLM_ENABLE
#else
#ifdef GLM_FORCE_WARNINGS
# define GLM_SILENT_WARNINGS GLM_DISABLE
#else
# define GLM_SILENT_WARNINGS GLM_ENABLE
#endif

///////////////////////////////////////////////////////////////////////////////////
Expand Down
40 changes: 20 additions & 20 deletions glm/detail/type_quat.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,6 @@

namespace glm
{
template<typename T, qualifier Q>
struct qua
{
// -- Implementation detail --

typedef qua<T, Q> type;
typedef T value_type;

// -- Data --

# if GLM_SILENT_WARNINGS == GLM_ENABLE
# if GLM_COMPILER & GLM_COMPILER_GCC
# pragma GCC diagnostic push
Expand All @@ -39,6 +29,16 @@ namespace glm
# endif
# endif

template<typename T, qualifier Q>
struct qua
{
// -- Implementation detail --

typedef qua<T, Q> type;
typedef T value_type;

// -- Data --

# if GLM_LANG & GLM_LANG_CXXMS_FLAG
union
{
Expand All @@ -56,16 +56,6 @@ namespace glm
# else
T x, y, z, w;
# endif
# endif

# if GLM_SILENT_WARNINGS == GLM_ENABLE
# if GLM_COMPILER & GLM_COMPILER_CLANG
# pragma clang diagnostic pop
# elif GLM_COMPILER & GLM_COMPILER_GCC
# pragma GCC diagnostic pop
# elif GLM_COMPILER & GLM_COMPILER_VC
# pragma warning(pop)
# endif
# endif

// -- Component accesses --
Expand Down Expand Up @@ -139,6 +129,16 @@ namespace glm
GLM_FUNC_DECL GLM_CONSTEXPR qua<T, Q>& operator/=(U s);
};

# if GLM_SILENT_WARNINGS == GLM_ENABLE
# if GLM_COMPILER & GLM_COMPILER_CLANG
# pragma clang diagnostic pop
# elif GLM_COMPILER & GLM_COMPILER_GCC
# pragma GCC diagnostic pop
# elif GLM_COMPILER & GLM_COMPILER_VC
# pragma warning(pop)
# endif
# endif

// -- Unary bit operators --

template<typename T, qualifier Q>
Expand Down
10 changes: 8 additions & 2 deletions glm/ext/scalar_ulp.inl
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,13 @@
#include <cmath>
#include <cfloat>

#if(GLM_COMPILER & GLM_COMPILER_VC)
#if GLM_COMPILER & GLM_COMPILER_VC
# pragma warning(push)
# pragma warning(disable : 4127)
#elif GLM_COMPILER & GLM_COMPILER_CLANG
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wsign-conversion"
# pragma clang diagnostic ignored "-Wpadded"
#endif

typedef union
Expand Down Expand Up @@ -182,8 +186,10 @@ namespace detail
}//namespace detail
}//namespace glm

#if(GLM_COMPILER & GLM_COMPILER_VC)
#if GLM_COMPILER & GLM_COMPILER_VC
# pragma warning(pop)
#elif GLM_COMPILER & GLM_COMPILER_CLANG
# pragma clang diagnostic pop
#endif

namespace glm
Expand Down
13 changes: 13 additions & 0 deletions glm/gtc/packing.inl
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,13 @@ namespace detail
// return ((floatTo11bit(x) & ((1 << 11) - 1)) << 0) | ((floatTo11bit(y) & ((1 << 11) - 1)) << 11) | ((floatTo10bit(z) & ((1 << 10) - 1)) << 22);
// }

#if GLM_SILENT_WARNINGS == GLM_ENABLE
# if defined(__clang__)
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wpadded"
# endif
#endif

union u3u3u2
{
struct Data
Expand Down Expand Up @@ -235,6 +242,12 @@ namespace detail
uint16 pack;
};

#if GLM_SILENT_WARNINGS == GLM_ENABLE
# if defined(__clang__)
# pragma clang diagnostic pop
# endif
#endif

union u10u10u10u2
{
struct Data
Expand Down
9 changes: 9 additions & 0 deletions test/bug/bug_ms_vec_static.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,20 @@ struct vec2
x(0), y(0)
{}

#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
#endif

union
{
struct { float x, y; };
struct { _swizzle xx; };
};

#if defined(_MSC_VER)
# pragma warning(pop)
#endif
};
#endif

Expand Down
23 changes: 23 additions & 0 deletions test/core/core_force_compiler_unknown.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,32 @@
# define GLM_FORCE_COMPILER_UNKNOWN
#endif

#if defined(__clang__)
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
# pragma clang diagnostic ignored "-Wnested-anon-types"
# pragma clang diagnostic ignored "-Wsign-conversion"
# pragma clang diagnostic ignored "-Wpadded"
# pragma clang diagnostic ignored "-Wc++11-long-long"
#elif defined(__GNUC__)
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored "-Wpedantic"
#elif defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
#endif

#include <glm/glm.hpp>
#include <glm/ext.hpp>

#if defined(__clang__)
# pragma clang diagnostic pop
#elif defined(__GNUC__)
# pragma GCC diagnostic pop
#elif defined(_MSC_VER)
# pragma warning(pop)
#endif

int main()
{
int Error = 0;
Expand Down
9 changes: 9 additions & 0 deletions test/core/core_func_integer_bit_count.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,11 @@ void error(int x, int y)
std::printf("Error for x = %08x, got %08x\n", x, y);
}

#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4389) // nonstandard extension used : nameless struct/union
#endif

int main()
{
# ifdef NDEBUG
Expand Down Expand Up @@ -289,3 +294,7 @@ int main()

# endif//NDEBUG
}

#if defined(_MSC_VER)
# pragma warning(pop)
#endif
10 changes: 10 additions & 0 deletions test/core/core_func_integer_find_lsb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,11 @@ void error(int x, int y) {
std::printf("Error for x = %08x, got %d\n", x, y);
}

#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4389) // nonstandard extension used : nameless struct/union
#endif

int main()
{
# ifdef NDEBUG
Expand Down Expand Up @@ -429,3 +434,8 @@ int main()

# endif//NDEBUG
}

#if defined(_MSC_VER)
# pragma warning(pop)
#endif

10 changes: 10 additions & 0 deletions test/core/core_func_integer_find_msb.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,11 @@ void error(int x, int y)
std::printf("Error for x = %08x, got %d\n", x, y);
}

#if defined(_MSC_VER)
# pragma warning(push)
# pragma warning(disable: 4389) // nonstandard extension used : nameless struct/union
#endif

int main()
{
# ifdef NDEBUG
Expand Down Expand Up @@ -447,3 +452,8 @@ int main()

# endif//NDEBUG
}

#if defined(_MSC_VER)
# pragma warning(pop)
#endif

32 changes: 20 additions & 12 deletions test/core/core_type_cast.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,33 +11,41 @@ struct my_vec2
float x, y;
};

int test_vec2_cast()
static int test_vec2_cast()
{
int Error(0);

glm::vec2 A(1.0f, 2.0f);
glm::lowp_vec2 B(A);
glm::mediump_vec2 C(A);
glm::highp_vec2 D(A);

glm::vec2 E = static_cast<glm::vec2>(A);
glm::lowp_vec2 F = static_cast<glm::lowp_vec2>(A);
glm::mediump_vec2 G = static_cast<glm::mediump_vec2>(A);
glm::highp_vec2 H = static_cast<glm::highp_vec2>(A);

my_vec2 I;
glm::vec2 J = static_cast<glm::vec2>(I);
glm::vec2 K(7.8f);

int Error(0);

Error += glm::all(glm::equal(A, E, glm::epsilon<float>())) ? 0 : 1;
Error += glm::all(glm::equal(B, F, glm::epsilon<float>())) ? 0 : 1;
Error += glm::all(glm::equal(C, G, glm::epsilon<float>())) ? 0 : 1;
Error += glm::all(glm::equal(D, H, glm::epsilon<float>())) ? 0 : 1;


my_vec2 I;
I.x = 1.0f;
I.y = 2.0f;
glm::vec2 J0 = static_cast<glm::vec2>(I);
glm::vec2 J1(1.0f, 2.0f);

Error += glm::all(glm::equal(J1, J0, glm::epsilon<float>())) ? 0 : 1;

glm::vec2 K(7.8f);
glm::vec2 L(7.8f, 7.8f);
Error += glm::all(glm::equal(K, L, glm::epsilon<float>())) ? 0 : 1;

return Error;
}

int test_vec3_cast()
static int test_vec3_cast()
{
glm::vec3 A(1.0f, 2.0f, 3.0f);
glm::lowp_vec3 B(A);
Expand All @@ -59,7 +67,7 @@ int test_vec3_cast()
return Error;
}

int test_vec4_cast()
static int test_vec4_cast()
{
glm::vec4 A(1.0f, 2.0f, 3.0f, 4.0f);
glm::lowp_vec4 B(A);
Expand All @@ -81,7 +89,7 @@ int test_vec4_cast()
return Error;
}

int test_std_copy()
static int test_std_copy()
{
int Error = 0;

Expand Down
Loading

0 comments on commit 9836a30

Please sign in to comment.