diff --git a/indra/llcommon/is_approx_equal_fraction.h b/indra/llcommon/is_approx_equal_fraction.h
index 7989a32e91bc4e24f517e7c422229e7c97f6b831..e62715dbee5e8bb42876a438752019b292d8262c 100644
--- a/indra/llcommon/is_approx_equal_fraction.h
+++ b/indra/llcommon/is_approx_equal_fraction.h
@@ -32,6 +32,7 @@
 #define LL_IS_APPROX_EQUAL_FRACTION_H
 
 #include <cmath>
+#include <cstdint>
 
 /**
  * Originally llmath.h contained two complete implementations of
diff --git a/indra/llcommon/llcommonprecompiled.h b/indra/llcommon/llcommonprecompiled.h
index c29e40c651be0aa74c50e667a15ce1aba7b3f8ae..974588d98f18840a19d1d4d53d501dc81c33662a 100644
--- a/indra/llcommon/llcommonprecompiled.h
+++ b/indra/llcommon/llcommonprecompiled.h
@@ -36,7 +36,9 @@
 #include <algorithm>
 #include <atomic>
 #include <array>
-#include <charconv>
+#ifdef LL_WINDOWS
+#include <charconv> // MSVC is the only impl with complete charconv support currently
+#endif
 #include <condition_variable>
 #include <deque>
 #include <functional>
diff --git a/indra/llcommon/llstring.h b/indra/llcommon/llstring.h
index 162117a80eabec4e8311ceb80dd67bb33798badf..0c698e940e60d1eb6e7efe40da4d9b9a412980ea 100644
--- a/indra/llcommon/llstring.h
+++ b/indra/llcommon/llstring.h
@@ -55,7 +55,10 @@
 #endif
 
 #include <cstring>
+
+#if LL_WINDOWS
 #include <charconv>
+#endif
 
 const char LL_UNKNOWN_CHAR = '?';
 class LLSD;
diff --git a/indra/llcommon/llthread.cpp b/indra/llcommon/llthread.cpp
index 4a2c3e50e9dd2837f0c496e488c85154f9d2e910..937b8d0e91234b6a0355bf92891cbdd492fbd7b6 100644
--- a/indra/llcommon/llthread.cpp
+++ b/indra/llcommon/llthread.cpp
@@ -146,7 +146,7 @@ void LLThread::threadRun()
 
 LLThread::LLThread(std::string name, apr_pool_t *poolp) :
     mPaused(false), 
-    mNativeHandle(nullptr),
+    mNativeHandle(),
     mName(std::move(name)),
     mRunCondition(std::make_unique<LLCondition>()),
     mDataLock(std::make_unique<LLMutex>()),
diff --git a/indra/llimage/llimageworker.cpp b/indra/llimage/llimageworker.cpp
index 38cf691640a7575ca092b45aaede1e4416887553..301ea5ea8eecc0bbc6e6370449b0e4fe936b2129 100644
--- a/indra/llimage/llimageworker.cpp
+++ b/indra/llimage/llimageworker.cpp
@@ -134,7 +134,7 @@ bool LLImageDecodeThread::ImageRequest::processRequest()
 			{
 				return true; // done (failed)
 			}
-			if (!(mFormattedImage->getWidth() * mFormattedImage->getHeight() * mFormattedImage->getComponents()))
+			if ((mFormattedImage->getWidth() * mFormattedImage->getHeight() * mFormattedImage->getComponents()) <= 0)
 			{
 				return true; // done (failed)
 			}
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index fde06763515761153ce479ff3cc1718ecfdf5557..2756227829d7793157b96f58313fc748cdb9688d 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -1960,9 +1960,8 @@ LLVector3d LLAgentCamera::calcCameraPositionTargetGlobal(BOOL *hit_limit)
 		bool fCamAvDistClamped, fCamAvDistLocked = false; float nCamAvDistLimitMin, nCamAvDistLimitMax;
 		if ((fCamAvDistClamped = RlvActions::getCameraAvatarDistanceLimits(nCamAvDistLimitMin, nCamAvDistLimitMax)))
 			fCamAvDistLocked = nCamAvDistLimitMin == nCamAvDistLimitMax;
-		bool fCamOriginDistClamped, fCamOriginDistLocked = false; float nCamOriginDistLimitMin, nCamOriginDistLimitMax;
-		if ((fCamOriginDistClamped = RlvActions::getCameraOriginDistanceLimits(nCamOriginDistLimitMin, nCamOriginDistLimitMax)))
-			fCamOriginDistLocked = nCamOriginDistLimitMin == nCamOriginDistLimitMax;
+		bool fCamOriginDistClamped = false; float nCamOriginDistLimitMin, nCamOriginDistLimitMax;
+		fCamOriginDistClamped = RlvActions::getCameraOriginDistanceLimits(nCamOriginDistLimitMin, nCamOriginDistLimitMax);
 
 		// Check focus distance limits
 		if ( (fCamOriginDistClamped) && (!fCamAvDistLocked) )
@@ -2038,7 +2037,7 @@ bool LLAgentCamera::clampCameraPosition(LLVector3d& posCamGlobal, const LLVector
 		m_fRlvMinDist = true;
 	}
 
-	if (!isnan(nDistMult))
+	if (!llisnan(nDistMult))
 	{
 		posCamGlobal = posCamRefGlobal + nDistMult * offsetCamera;
 		m_posRlvRefGlobal = posCamRefGlobal;
diff --git a/indra/newview/lloutfitgallery.cpp b/indra/newview/lloutfitgallery.cpp
index af8d978fcc881541da79c4679e1c82de75f0c2c3..6d10a40dfea18ca8833dcc9aa7e1007b5b7a196e 100644
--- a/indra/newview/lloutfitgallery.cpp
+++ b/indra/newview/lloutfitgallery.cpp
@@ -594,7 +594,9 @@ void LLOutfitGallery::onOutfitRightClick(LLUICtrl* ctrl, S32 x, S32 y, const LLU
 void LLOutfitGallery::onChangeOutfitSelection(LLWearableItemsList* list, const LLUUID& category_id)
 {
     if (mSelectedOutfitUUID == category_id)
+    {
         return;
+    }
 
 	auto outfit_iter = mOutfitMap.find(mSelectedOutfitUUID);
 	if (outfit_iter != mOutfitMap.end())
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 69139aa977df923aafd3968a4ce37d61c7e9fc35..b6bedc3559d5d3fd4986a6bcba8c211e2bcce34f 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -376,7 +376,11 @@ void LLPanelObject::getState( )
 	if ( (rlv_handler_t::isEnabled()) && ((gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) || (gRlvHandler.hasBehaviour(RLV_BHVR_SITTP))) )
 	{
 		if ( (isAgentAvatarValid()) && (gAgentAvatarp->isSitting()) && (gAgentAvatarp->getRoot() == objectp->getRootEdit()) )
-			enable_move = enable_scale = enable_rotate = FALSE;
+		{
+			enable_move = FALSE;
+			enable_scale = FALSE;
+			enable_rotate = FALSE;
+		}
 	}
 // [/RLVa:KB]
 
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 7d7caa4a8a8ecf7cc626b7af5fb6c9e7b0a34589..577568d2203228aa489be620295800833df422c0 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -126,7 +126,9 @@ LLStatusBar::LLStatusBar(const LLRect& rect)
 LLStatusBar::~LLStatusBar()
 {
     if (mCurrencyChangedSlot.connected())
+	{
         mCurrencyChangedSlot.disconnect();
+	}
 
 	delete mBalanceTimer;
 	mBalanceTimer = nullptr;
diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h
index 7d3f2f6c35238291176982f1e9ae8f9c0e40d756..0151985611e007998766f3edfd7c391347a368b0 100644
--- a/indra/newview/llviewerprecompiledheaders.h
+++ b/indra/newview/llviewerprecompiledheaders.h
@@ -39,7 +39,9 @@
 
 #include <algorithm>
 #include <atomic>
+#if LL_WINDOWS
 #include <charconv>
+#endif
 #include <condition_variable>
 #include <deque>
 #include <functional>