Skip to content

Commit e2f2b9b

Browse files
authored
Fix GCC -Wpedantic and -Wunused-but-set-variable warnings (#347)
1 parent 15896c8 commit e2f2b9b

3 files changed

Lines changed: 27 additions & 0 deletions

File tree

‎Inc/DirectXMath.h‎

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,15 @@ namespace DirectX
617617
// Fix-up for (2nd+) XMMATRIX parameters to pass by reference
618618
typedef const XMMATRIX& CXMMATRIX;
619619

620+
#ifdef __clang__
621+
#pragma clang diagnostic push
622+
#pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
623+
#pragma clang diagnostic ignored "-Wnested-anon-types"
624+
#elif defined(__GNUC__)
625+
#pragma GCC diagnostic push
626+
#pragma GCC diagnostic ignored "-Wpedantic"
627+
#endif
628+
620629
#ifdef _XM_NO_INTRINSICS_
621630
struct XMMATRIX
622631
#else
@@ -713,6 +722,12 @@ namespace DirectX
713722
friend XMMATRIX XM_CALLCONV operator*(float S, FXMMATRIX M) noexcept;
714723
};
715724

725+
#ifdef __clang__
726+
#pragma clang diagnostic pop
727+
#elif defined(__GNUC__)
728+
#pragma GCC diagnostic pop
729+
#endif
730+
716731
//------------------------------------------------------------------------------
717732
// 2D Vector; 32 bit floating point components
718733
struct XMFLOAT2
@@ -1031,6 +1046,9 @@ namespace DirectX
10311046
#pragma clang diagnostic ignored "-Wnested-anon-types"
10321047
#pragma clang diagnostic ignored "-Wunknown-warning-option"
10331048
#pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
1049+
#elif defined(__GNUC__)
1050+
#pragma GCC diagnostic push
1051+
#pragma GCC diagnostic ignored "-Wpedantic"
10341052
#endif
10351053

10361054
//------------------------------------------------------------------------------
@@ -1412,6 +1430,8 @@ namespace DirectX
14121430

14131431
#ifdef __clang__
14141432
#pragma clang diagnostic pop
1433+
#elif defined(__GNUC__)
1434+
#pragma GCC diagnostic pop
14151435
#endif
14161436
#ifdef _PREFAST_
14171437
#pragma prefast(pop)

‎Inc/DirectXMathMatrix.inl‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,6 +1137,8 @@ _Use_decl_annotations_ inline bool
11371137
fAbsZ = fabsf(XMVectorGetZ(ppvBasis[a][0]));
11381138

11391139
XM3RANKDECOMPOSE(aa, bb, cc, fAbsX, fAbsY, fAbsZ)
1140+
(void)aa;
1141+
(void)bb;
11401142

11411143
ppvBasis[b][0] = XMVector3Cross(ppvBasis[a][0], pvCanonicalBasis[cc][0]);
11421144
}

‎Inc/DirectXPackedVector.h‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ namespace DirectX
2929
#pragma clang diagnostic push
3030
#pragma clang diagnostic ignored "-Wgnu-anonymous-struct"
3131
#pragma clang diagnostic ignored "-Wnested-anon-types"
32+
#elif defined(__GNUC__)
33+
#pragma GCC diagnostic push
34+
#pragma GCC diagnostic ignored "-Wpedantic"
3235
#endif
3336

3437
//------------------------------------------------------------------------------
@@ -1400,6 +1403,8 @@ namespace DirectX
14001403

14011404
#ifdef __clang__
14021405
#pragma clang diagnostic pop
1406+
#elif defined(__GNUC__)
1407+
#pragma GCC diagnostic pop
14031408
#endif
14041409
#ifdef _MSC_VER
14051410
#pragma warning(pop)

0 commit comments

Comments
 (0)