Browse Source

Compiler warning fixes (#311)

Jorrit Rouwe 2 years ago
parent
commit
fbe5798748

+ 4 - 4
Jolt/Core/StaticArray.h

@@ -38,7 +38,7 @@ public:
 	/// Destruct all elements
 						~StaticArray()
 	{
-		if (!is_trivially_destructible<T>())
+		if constexpr (!is_trivially_destructible<T>())
 			for (T *e = reinterpret_cast<T *>(mElements), *end = e + mSize; e < end; ++e)
 				e->~T();
 	}
@@ -46,7 +46,7 @@ public:
 	/// Destruct all elements and set length to zero
 	void				clear()
 	{
-		if (!is_trivially_destructible<T>())
+		if constexpr (!is_trivially_destructible<T>())
 			for (T *e = reinterpret_cast<T *>(mElements), *end = e + mSize; e < end; ++e)
 				e->~T();
 		mSize = 0;
@@ -96,10 +96,10 @@ public:
 	void				resize(size_type inNewSize)
 	{
 		JPH_ASSERT(inNewSize <= N);
-		if (!is_trivially_constructible<T>() && mSize < inNewSize)
+		if constexpr (!is_trivially_constructible<T>())
 			for (T *element = reinterpret_cast<T *>(mElements) + mSize, *element_end = reinterpret_cast<T *>(mElements) + inNewSize; element < element_end; ++element)
 				::new (element) T;
-		else if (!is_trivially_destructible<T>() && mSize > inNewSize)
+		if constexpr (!is_trivially_destructible<T>())
 			for (T *element = reinterpret_cast<T *>(mElements) + inNewSize, *element_end = reinterpret_cast<T *>(mElements) + mSize; element < element_end; ++element)
 				element->~T();
 		mSize = inNewSize;

+ 3 - 5
Jolt/Physics/Constraints/ConstraintPart/AxisConstraintPart.h

@@ -83,17 +83,15 @@ public:
 			r1_plus_u_x_axis = inR1PlusU.Cross(inWorldSpaceAxis);
 			r1_plus_u_x_axis.StoreFloat3(&mR1PlusUxAxis);
 		}
-		else
-			JPH_IF_DEBUG(Vec3::sNaN().StoreFloat3(&mR1PlusUxAxis));
+			JPH_IF_DEBUG(else Vec3::sNaN().StoreFloat3(&mR1PlusUxAxis);)
 
 		Vec3 r2_x_axis;
 		if constexpr (Type2 != EMotionType::Static)
 		{
 			r2_x_axis = inR2.Cross(inWorldSpaceAxis);
 			r2_x_axis.StoreFloat3(&mR2xAxis);
-		}
-		else
-			JPH_IF_DEBUG(Vec3::sNaN().StoreFloat3(&mR2xAxis));
+		}		
+			JPH_IF_DEBUG(else Vec3::sNaN().StoreFloat3(&mR2xAxis);)
 
 		// Calculate inverse effective mass: K = J M^-1 J^T
 		float inv_effective_mass;