diff --git a/XCODE_6_UPGRADES_TODO.txt b/XCODE_6_UPGRADES_TODO.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ce1803805fccb9f55c6d168ca13c7a23e99ea42b
--- /dev/null
+++ b/XCODE_6_UPGRADES_TODO.txt
@@ -0,0 +1,9 @@
+* autobuild configure with tests on (LL_TESTS:BOOL=ON) and fix errors
+
+* Get release build working (RelWithDebInfo works) - rel build linker fails on KDU error
+
+* Fix up commented out code in 'tut' package - tut/tut/tut_assert.hpp #82 & #84 (no operator << for T & Q), rebuild package and point autobuild.xml at original version
+
+* Nat to look at this please: https://bitbucket.org/callum_linden/viewer-tools-update-callum/commits/3d2fb85943d527e7db9908ff2824bc54afe916f1
+
+* Remove -Wno-sign-compare from indra/cmake/00-Common.cmake and see if it builds.  (Why did this, switched off, still catch code like U32 v; if ( v < 0 ) {  })
diff --git a/autobuild.xml b/autobuild.xml
index 78f2b645d6e9f4531171b113da6b586ea03f7892..e50ecb59b67e933d5b44018efde3220981729d52 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1590,11 +1590,11 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>ca74ac91efcf2fab89544b79426460a5</string>
+              <string>b6b3623231cc07809443245db54ec45d</string>
               <key>hash_algorithm</key>
               <string>md5</string>
               <key>url</key>
-              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/295454/arch/Darwin/installer/llphysicsextensions_source-1.0.295454-darwin-295454.tar.bz2</string>
+              <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions-source_llphysicsextensions-update/rev/295732/arch/Darwin/installer/llphysicsextensions_source-1.0.295732-darwin-295732.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin</string>
@@ -1625,7 +1625,7 @@
           </map>
         </map>
         <key>version</key>
-        <string>1.0.295454</string>
+        <string>1.0.295732</string>
       </map>
       <key>llphysicsextensions_stub</key>
       <map>
@@ -2148,9 +2148,9 @@
             <key>archive</key>
             <map>
               <key>hash</key>
-              <string>4d13804d6224156b94d9eac2538da68e</string>
+              <string>ff1ecca950d779721267ef854eb2d845</string>
               <key>url</key>
-              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/tut_3p-update-tut/rev/294542/arch/Linux/installer/tut-2008.11.30-common-294542.tar.bz2</string>
+              <string>http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/tut_3p-update-tut/rev/295661/arch/Linux/installer/tut-2008.11.30-common-295661.tar.bz2</string>
             </map>
             <key>name</key>
             <string>common</string>
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake
index 52b0f4e8b404904bcea4ccd671ee59bf5e701716..f7ca3a4e10fd2fbeb8564c0c6aab7c795ca72c17 100755
--- a/indra/cmake/00-Common.cmake
+++ b/indra/cmake/00-Common.cmake
@@ -190,22 +190,28 @@ if (DARWIN)
   add_definitions(-DLL_DARWIN=1)
   set(CMAKE_CXX_LINK_FLAGS "-Wl,-no_compact_unwind -Wl,-headerpad_max_install_names,-search_paths_first")
   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}")
-  set(DARWIN_extra_cstar_flags "-mlong-branch -g")
+  set(DARWIN_extra_cstar_flags "-g")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${DARWIN_extra_cstar_flags}")
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}  ${DARWIN_extra_cstar_flags}")
   # NOTE: it's critical that the optimization flag is put in front.
   # NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
   set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
-  if (XCODE_VERSION GREATER 4.2)
-    set(ENABLE_SIGNING TRUE)
-    set(SIGNING_IDENTITY "Developer ID Application: Linden Research, Inc.")
-  endif (XCODE_VERSION GREATER 4.2)
+  set(ENABLE_SIGNING TRUE)
+  set(SIGNING_IDENTITY "Developer ID Application: Linden Research, Inc.")
 endif (DARWIN)
 
 
 if (LINUX OR DARWIN)
+  if (CMAKE_CXX_COMPILER MATCHES ".*clang")
+    set(CMAKE_COMPILER_IS_CLANGXX 1)
+  endif (CMAKE_CXX_COMPILER MATCHES ".*clang")
+
+  if (CMAKE_COMPILER_IS_GNUCXX)
   set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs")
+  elseif (CMAKE_COMPILER_IS_CLANGXX)
+    set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs")
+  endif()
 
   if (NOT GCC_DISABLE_FATAL_WARNINGS)
     set(GCC_WARNINGS "${GCC_WARNINGS} -Werror")
diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake
index 49740d6a8131b94670f91a14b100d393a5715320..8b7f01d20b5020e9811eacc288ee4827bd9581c0 100755
--- a/indra/cmake/Havok.cmake
+++ b/indra/cmake/Havok.cmake
@@ -3,7 +3,7 @@
 if(NOT DEFINED ${CMAKE_CURRENT_LIST_FILE}_INCLUDED)
 set(${CMAKE_CURRENT_LIST_FILE}_INCLUDED "YES")
 
-use_prebuilt_binary(havok_source)
+use_prebuilt_binary(havok-source)
 
 set(Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Source)
 list(APPEND Havok_INCLUDE_DIRS ${LIBS_PREBUILT_DIR}/include/havok/Demo)
diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake
index 0aab2d66340d7bcaf9e16a3d39ceea6d35a1e3f9..d6d05af315b615fd57bd5020df86ead4971c59f4 100755
--- a/indra/cmake/JsonCpp.cmake
+++ b/indra/cmake/JsonCpp.cmake
@@ -14,7 +14,7 @@ else (USESYSTEMLIBS)
       debug json_vc100debug_libmt.lib
       optimized json_vc100_libmt)
   elseif (DARWIN)
-    set(JSONCPP_LIBRARIES libjson_linux-gcc-4.0.1_libmt.a)
+    set(JSONCPP_LIBRARIES libjson_darwin_libmt.a)
   elseif (LINUX)
     set(JSONCPP_LIBRARIES libjson_linux-gcc-4.1.3_libmt.a)
   endif (WINDOWS)
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index 963b1bd386eebca3d944a335eddd84ac3e642836..8e220162ce1d9998be871531c61bc7d30341fb56 100755
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -129,44 +129,25 @@ endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
   set(DARWIN 1)
   
-  execute_process(
-    COMMAND sh -c "xcodebuild -version | grep Xcode  | cut -d ' ' -f2 | cut -d'.' -f1-2"
-    OUTPUT_VARIABLE XCODE_VERSION )
-
-  # To support a different SDK update these Xcode settings:
-  if (XCODE_VERSION GREATER 4.5)
-    set(CMAKE_OSX_DEPLOYMENT_TARGET 10.8)
-    set(CMAKE_OSX_SYSROOT macosx10.8)
-  else (XCODE_VERSION GREATER 4.5)
-  if (XCODE_VERSION GREATER 4.2)
-    set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
-    set(CMAKE_OSX_SYSROOT macosx10.7)
-  else (XCODE_VERSION GREATER 4.2)
-    set(CMAKE_OSX_DEPLOYMENT_TARGET 10.6)
-    set(CMAKE_OSX_SYSROOT macosx10.7)
-  endif (XCODE_VERSION GREATER 4.2)
-  endif (XCODE_VERSION GREATER 4.5)
-
-  set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvmgcc42")
+  # now we only support Xcode 6.0 using 10.9 (Mavericks), minimum OS 10.7 (Lion)
+  set(XCODE_VERSION 6.0)
+  set(CMAKE_OSX_DEPLOYMENT_TARGET 10.7)
+  set(CMAKE_OSX_SYSROOT macosx10.9)
+
+  set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0")
+  set(CMAKE_XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL 3)
+  set(CMAKE_XCODE_ATTRIBUTE_GCC_STRICT_ALIASING NO)
+  set(CMAKE_XCODE_ATTRIBUTE_GCC_FAST_MATH YES)
+  set(CMAKE_XCODE_ATTRIBUTE_CLANG_X86_VECTOR_INSTRUCTIONS ssse3)
+  set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libstdc++")
   set(CMAKE_XCODE_ATTRIBUTE_DEBUG_INFORMATION_FORMAT dwarf-with-dsym)
 
-  # NOTE: To attempt an i386/PPC Universal build, add this on the configure line:
-  # -DCMAKE_OSX_ARCHITECTURES:STRING='i386;ppc'
-  # Build only for i386 by default, system default on MacOSX 10.6 is x86_64
+  # Build only for i386 by default, system default on MacOSX 10.6+ is x86_64
   if (NOT CMAKE_OSX_ARCHITECTURES)
-    set(CMAKE_OSX_ARCHITECTURES i386)
+    set(CMAKE_OSX_ARCHITECTURES "i386")
   endif (NOT CMAKE_OSX_ARCHITECTURES)
 
-  if (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
-    set(ARCH universal)
-  else (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
-    if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
-      set(ARCH ppc)
-    else (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
-      set(ARCH i386)
-    endif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc")
-  endif (CMAKE_OSX_ARCHITECTURES MATCHES "i386" AND CMAKE_OSX_ARCHITECTURES MATCHES "ppc")
-
+  set(ARCH ${CMAKE_OSX_ARCHITECTURES})
   set(LL_ARCH ${ARCH}_darwin)
   set(LL_ARCH_DIR universal-darwin)
   set(WORD_SIZE 32)
@@ -177,10 +158,8 @@ set(GRID agni CACHE STRING "Target Grid")
 
 set(VIEWER_CHANNEL "Second Life Test" CACHE STRING "Viewer Channel Name")
 
-if (XCODE_VERSION GREATER 4.2)
-  set(ENABLE_SIGNING OFF CACHE BOOL "Enable signing the viewer")
-  set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")
-endif (XCODE_VERSION GREATER 4.2)
+set(ENABLE_SIGNING OFF CACHE BOOL "Enable signing the viewer")
+set(SIGNING_IDENTITY "" CACHE STRING "Specifies the signing identity to use, if necessary.")
 
 set(VERSION_BUILD "0" CACHE STRING "Revision number passed in from the outside")
 set(USESYSTEMLIBS OFF CACHE BOOL "Use libraries from your system rather than Linden-supplied prebuilt libraries.")
diff --git a/indra/llappearance/lltexturemanagerbridge.h b/indra/llappearance/lltexturemanagerbridge.h
index 4b814b522dd49ff23dff72fc6da4ab36f7c26e75..101704b16273751c95bca64a766f6ab2b757c596 100644
--- a/indra/llappearance/lltexturemanagerbridge.h
+++ b/indra/llappearance/lltexturemanagerbridge.h
@@ -35,6 +35,8 @@
 class LLTextureManagerBridge
 {
 public:
+    virtual ~LLTextureManagerBridge() {}
+
 	virtual LLPointer<LLGLTexture> getLocalTexture(BOOL usemipmaps = TRUE, BOOL generate_gl_tex = TRUE) = 0;
 	virtual LLPointer<LLGLTexture> getLocalTexture(const U32 width, const U32 height, const U8 components, BOOL usemipmaps, BOOL generate_gl_tex = TRUE) = 0;
 	virtual LLGLTexture* getFetchedTexture(const LLUUID &image_id) = 0;
diff --git a/indra/llappearance/llwearable.h b/indra/llappearance/llwearable.h
index 406fc7e88349c386a13781dedb3dbd84f7eae87f..630eb1e3a5fe71fe802266c6fd8485e4961b8f7a 100755
--- a/indra/llappearance/llwearable.h
+++ b/indra/llappearance/llwearable.h
@@ -113,6 +113,9 @@ class LLWearable
 	// Update the baked texture hash.
 	virtual void		addToBakedTextureHash(LLMD5& hash) const = 0;
 
+	typedef std::map<S32, LLVisualParam *>    visual_param_index_map_t;
+	visual_param_index_map_t mVisualParamIndexMap;
+
 protected:
 	typedef std::map<S32, LLLocalTextureObject*> te_map_t;
 	void				syncImages(te_map_t &src, te_map_t &dst);
@@ -132,9 +135,6 @@ class LLWearable
 	typedef std::map<S32, F32> param_map_t;
 	param_map_t mSavedVisualParamMap; // last saved version of visual params
 
-	typedef std::map<S32, LLVisualParam *>    visual_param_index_map_t;
-	visual_param_index_map_t mVisualParamIndexMap;
-
 	te_map_t mTEMap;				// maps TE to LocalTextureObject
 	te_map_t mSavedTEMap;			// last saved version of TEMap
 };
diff --git a/indra/llappearance/llwearabledata.cpp b/indra/llappearance/llwearabledata.cpp
index cf1ee435a890f22db7adaaf822be92bf1594f6a0..5dfb201fc4e4e4094d0d7ee13f937c42559b372e 100755
--- a/indra/llappearance/llwearabledata.cpp
+++ b/indra/llappearance/llwearabledata.cpp
@@ -173,8 +173,9 @@ bool LLWearableData::swapWearables(const LLWearableType::EType type, U32 index_a
 	}
 
 	wearableentry_vec_t& wearable_vec = wearable_iter->second;
-	if (0 > index_a || index_a >= wearable_vec.size()) return false;
-	if (0 > index_b || index_b >= wearable_vec.size()) return false;
+	// removed 0 > index_a and index_b comparisions - can never be true
+	if (index_a >= wearable_vec.size()) return false;
+	if (index_b >= wearable_vec.size()) return false;
 
 	LLWearable* wearable = wearable_vec[index_a];
 	wearable_vec[index_a] = wearable_vec[index_b];
diff --git a/indra/llappearance/llwearabletype.h b/indra/llappearance/llwearabletype.h
index e51e6731d38880e82896fd9b4d8c3da4f3650e37..7c9594644dbe0bfd78a2496dd2f22bb61a9dc8db 100644
--- a/indra/llappearance/llwearabletype.h
+++ b/indra/llappearance/llwearabletype.h
@@ -35,6 +35,9 @@
 class LLTranslationBridge
 {
 public:
+	// clang needs this to be happy
+	virtual ~LLTranslationBridge() {}
+
 	virtual std::string getString(const std::string &xml_desc) = 0;
 };
 
diff --git a/indra/llaudio/llaudiodecodemgr.cpp b/indra/llaudio/llaudiodecodemgr.cpp
index 20a7afc748edca6b14535ae4a48559d1a93b31e0..77e57b14f5d05d0979ff965cd95456422dfb4780 100755
--- a/indra/llaudio/llaudiodecodemgr.cpp
+++ b/indra/llaudio/llaudiodecodemgr.cpp
@@ -247,8 +247,7 @@ BOOL LLVorbisDecodeState::initDecode()
 		LL_WARNS("AudioEngine") << "Illegal sample count: " << sample_count << LL_ENDL;
 	}
 	
-	if( size_guess > LLVORBIS_CLIP_REJECT_SIZE ||
-	    size_guess < 0)
+	if( size_guess > LLVORBIS_CLIP_REJECT_SIZE )
 	{
 		abort_decode = true;
 		LL_WARNS("AudioEngine") << "Illegal sample size: " << size_guess << LL_ENDL;
@@ -697,11 +696,3 @@ BOOL LLAudioDecodeMgr::addDecodeRequest(const LLUUID &uuid)
 	LL_DEBUGS("AudioEngine") << "addDecodeRequest for " << uuid << " no file available" << LL_ENDL;
 	return FALSE;
 }
-
-#if LL_DARWIN || LL_LINUX
-// HACK: to fool the compiler into not emitting unused warnings.
-namespace {
-	const ov_callbacks callback_array[4] = {OV_CALLBACKS_DEFAULT, OV_CALLBACKS_NOCLOSE, OV_CALLBACKS_STREAMONLY, 
-		OV_CALLBACKS_STREAMONLY_NOCLOSE};
-}
-#endif
diff --git a/indra/llcharacter/lleditingmotion.cpp b/indra/llcharacter/lleditingmotion.cpp
index 36341065ae16e48bd1f709638e2af894a248947a..f4a37a139aa147e00fee9ee9e8ac64c492cd35b2 100755
--- a/indra/llcharacter/lleditingmotion.cpp
+++ b/indra/llcharacter/lleditingmotion.cpp
@@ -39,8 +39,6 @@
 //-----------------------------------------------------------------------------
 const LLQuaternion EDIT_MOTION_WRIST_ROTATION(F_PI_BY_TWO * 0.7f, LLVector3(1.0f, 0.0f, 0.0f));
 const F32 TARGET_LAG_HALF_LIFE	= 0.1f;		// half-life of IK targeting
-const F32 TORSO_LAG_HALF_LIFE = 0.2f;
-const F32 MAX_TIME_DELTA = 2.f; //max two seconds a frame for calculating interpolation
 
 S32 LLEditingMotion::sHandPose = LLHandMotion::HAND_POSE_RELAXED_R;
 S32 LLEditingMotion::sHandPosePriority = 3;
diff --git a/indra/llcharacter/llheadrotmotion.cpp b/indra/llcharacter/llheadrotmotion.cpp
index d045bca22e3defe46e05333d85e103c3a0226587..812c4201af465815b3e3442c59f0bc7982aaf9f6 100755
--- a/indra/llcharacter/llheadrotmotion.cpp
+++ b/indra/llcharacter/llheadrotmotion.cpp
@@ -43,11 +43,8 @@ const F32 TORSO_LAG	= 0.35f;	// torso rotation factor
 const F32 NECK_LAG = 0.5f;		// neck rotation factor
 const F32 HEAD_LOOKAT_LAG_HALF_LIFE	= 0.15f;		// half-life of lookat targeting for head
 const F32 TORSO_LOOKAT_LAG_HALF_LIFE	= 0.27f;		// half-life of lookat targeting for torso
-const F32 EYE_LOOKAT_LAG_HALF_LIFE = 0.06f;		// half-life of lookat targeting for eye
 const F32 HEAD_ROTATION_CONSTRAINT = F_PI_BY_TWO * 0.8f;	// limit angle for head rotation
-
 const F32 MIN_HEAD_LOOKAT_DISTANCE = 0.3f;	// minimum distance from head before we turn to look at it
-const F32 MAX_TIME_DELTA = 2.f; //max two seconds a frame for calculating interpolation
 const F32 EYE_JITTER_MIN_TIME = 0.3f; // min amount of time between eye "jitter" motions
 const F32 EYE_JITTER_MAX_TIME = 2.5f; // max amount of time between eye "jitter" motions
 const F32 EYE_JITTER_MAX_YAW = 0.08f; // max yaw of eye jitter motion
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp
index 22aa4f1d2fe25c32e8c242cd7e4cfc4bedb35644..18844e9e515a7604fac36597abe1887d0c6b23ea 100755
--- a/indra/llcharacter/llkeyframemotion.cpp
+++ b/indra/llcharacter/llkeyframemotion.cpp
@@ -902,7 +902,7 @@ void LLKeyframeMotion::deactivateConstraint(JointConstraint *constraintp)
 		constraintp->mSourceVolume->mUpdateXform = FALSE;
 	}
 
-	if (!constraintp->mSharedData->mConstraintTargetType == CONSTRAINT_TARGET_TYPE_GROUND)
+	if (constraintp->mSharedData->mConstraintTargetType != CONSTRAINT_TARGET_TYPE_GROUND)
 	{
 		if (constraintp->mTargetVolume)
 		{
diff --git a/indra/llcharacter/llkeyframewalkmotion.cpp b/indra/llcharacter/llkeyframewalkmotion.cpp
index 7c1fcacf8ab7d935a49e9766f48a5ff155bd1532..f180702385c6113d64cea9b2967f3d9b35caffe1 100755
--- a/indra/llcharacter/llkeyframewalkmotion.cpp
+++ b/indra/llcharacter/llkeyframewalkmotion.cpp
@@ -45,10 +45,7 @@ const F32 TIME_EPSILON = 0.001f;				// minumum frame time
 const F32 MAX_TIME_DELTA = 2.f;					// max two seconds a frame for calculating interpolation
 F32 SPEED_ADJUST_MAX_SEC = 2.f;					// maximum adjustment to walk animation playback speed for a second
 F32 ANIM_SPEED_MAX = 1.5f;						// absolute upper limit on animation speed
-const F32 DRIFT_COMP_MAX_TOTAL = 0.1f;			// maximum drift compensation overall, in any direction 
-const F32 DRIFT_COMP_MAX_SPEED = 4.f;			// speed at which drift compensation total maxes out
 const F32 MAX_ROLL = 0.6f;
-const F32 PELVIS_COMPENSATION_WIEGHT = 0.7f; 	// proportion of foot drift that is compensated by moving the avatar directly
 const F32 SPEED_ADJUST_TIME_CONSTANT = 0.1f; 	// time constant for speed adjustment interpolation
 
 //-----------------------------------------------------------------------------
diff --git a/indra/llcharacter/lltargetingmotion.cpp b/indra/llcharacter/lltargetingmotion.cpp
index 007834b17820f72ca8149692d8e8142429ba9417..69681e41970d5d18adbb8234fea78978e4f155cc 100755
--- a/indra/llcharacter/lltargetingmotion.cpp
+++ b/indra/llcharacter/lltargetingmotion.cpp
@@ -38,9 +38,6 @@
 // Constants
 //-----------------------------------------------------------------------------
 const F32 TORSO_TARGET_HALF_LIFE = 0.25f;
-const F32 MAX_TIME_DELTA = 2.f; //max two seconds a frame for calculating interpolation
-const F32 TARGET_PLANE_THRESHOLD_DOT = 0.6f;
-const F32 TORSO_ROT_FRACTION = 0.5f;
 
 //-----------------------------------------------------------------------------
 // LLTargetingMotion()
diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp
index 259187c52f60ea38dfa8adf4d3af22d2ea023c71..aabc195ba8e5e6d461625b0a186477b02250c0f2 100755
--- a/indra/llcommon/llfile.cpp
+++ b/indra/llcommon/llfile.cpp
@@ -807,7 +807,7 @@ std::streamsize llstdio_filebuf::xsgetn(char_type* __s, std::streamsize __n)
 	return __ret;
 }
 
-std::streamsize llstdio_filebuf::xsputn(char_type* __s, std::streamsize __n)
+std::streamsize llstdio_filebuf::xsputn(const char_type* __s, std::streamsize __n)
 {
 	// Optimization in the always_noconv() case, to be generalized in the
 	// future: when __n is sufficiently large we write directly instead of
diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h
index f56b22bf9affda2539ef7d23f962b969610aeeeb..0612071d67408114ad397829df201219ac764cd0 100755
--- a/indra/llcommon/llfile.h
+++ b/indra/llcommon/llfile.h
@@ -188,7 +188,7 @@ class LL_COMMON_API llstdio_filebuf : public _Myfb
 	/*virtual*/ int sync();
 
 	std::streamsize xsgetn(char_type*, std::streamsize);
-	std::streamsize xsputn(char_type*, std::streamsize);
+	std::streamsize xsputn(const char_type*, std::streamsize);
 #endif
 };
 
diff --git a/indra/llcommon/llframetimer.cpp b/indra/llcommon/llframetimer.cpp
index 1af2cb8afd5615ac8a816914616d31473bdab113..1e9920746b0191efc8ef41346bfdccdd0266ac7f 100755
--- a/indra/llcommon/llframetimer.cpp
+++ b/indra/llcommon/llframetimer.cpp
@@ -37,7 +37,6 @@ U64 LLFrameTimer::sTotalTime = 0;
 F64 LLFrameTimer::sTotalSeconds = 0.0;
 S32 LLFrameTimer::sFrameCount = 0;
 U64 LLFrameTimer::sFrameDeltaTime = 0;
-const F64 USEC_PER_SECOND = 1000000.0;
 const F64 USEC_TO_SEC_F64 = 0.000001;
 
 // static
diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h
index 7aa87fcd0e70dc6442bcbd85f6dfefc866c5f88f..be3552cb4616b09a2e680cb86c65b9927f32743e 100755
--- a/indra/llcommon/llinitparam.h
+++ b/indra/llcommon/llinitparam.h
@@ -1123,7 +1123,7 @@ namespace LLInitParam
 		void set(const value_t& val, bool flag_as_provided = true)
 		{
 			named_value_t::clearValueName();
-			setValue(val);
+			named_value_t::setValue(val);
 			setProvided(flag_as_provided);
 		}
 
@@ -1287,7 +1287,7 @@ namespace LLInitParam
 		// assign block contents to this param-that-is-a-block
 		void set(const value_t& val, bool flag_as_provided = true)
 		{
-			setValue(val);
+			named_value_t::setValue(val);
 			named_value_t::clearValueName();
 			setProvided(flag_as_provided);
 		}
@@ -2054,7 +2054,7 @@ namespace LLInitParam
 
 			Optional& operator =(const value_t& val)
 			{
-				set(val);
+				super_t::set(val);
 				return *this;
 			}
 
@@ -2084,7 +2084,7 @@ namespace LLInitParam
 
 			Mandatory& operator =(const value_t& val)
 			{
-				set(val);
+				super_t::set(val);
 				return *this;
 			}
 
@@ -2120,7 +2120,7 @@ namespace LLInitParam
 
 			Multiple& operator =(const container_t& val)
 			{
-				set(val);
+				super_t::set(val);
 				return *this;
 			}
 
diff --git a/indra/llcommon/llpredicate.h b/indra/llcommon/llpredicate.h
index a0e970a79975ba1bc768d9984aca1ccd50de14b8..e6c56a5711b84bcb79bf09b8729532f0fc989e9e 100644
--- a/indra/llcommon/llpredicate.h
+++ b/indra/llcommon/llpredicate.h
@@ -139,9 +139,9 @@ namespace LLPredicate
 		Rule()
 		{}
 
-		void require(ENUM e)
+		void require(ENUM e, bool match)
 		{
-			mRule.set(e, require);
+			mRule.set(e, match);
 		}
 
 		void allow(ENUM e)
diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp
index 69043dc1736cecdf18d4127f73df6aea3963df66..1ee3c7edb054d20c7b0ad06e71be217c8f1fc678 100755
--- a/indra/llcommon/llprocessor.cpp
+++ b/indra/llcommon/llprocessor.cpp
@@ -204,21 +204,6 @@ namespace
    		return "Unknown";
 	}
 
-	std::string compute_CPUFamilyName(const char* cpu_vendor, int composed_family) 
-	{
-		const char* intel_string = "GenuineIntel";
-		const char* amd_string = "AuthenticAMD";
-		if(!strncmp(cpu_vendor, intel_string, strlen(intel_string)))
-		{
-			return intel_CPUFamilyName(composed_family);
-		}
-		else if(!strncmp(cpu_vendor, amd_string, strlen(amd_string)))
-		{
-			return amd_CPUFamilyName(composed_family);
-		}
-		return "Unknown";
-	}
-
 	std::string compute_CPUFamilyName(const char* cpu_vendor, int family, int ext_family) 
 	{
 		const char* intel_string = "GenuineIntel";
diff --git a/indra/llcommon/llrefcount.h b/indra/llcommon/llrefcount.h
index 72011d04a0b350e107a5fd223ddb1a8752405041..3836a9b5fbe85555ec8afde55fa0b3755d0d82c8 100755
--- a/indra/llcommon/llrefcount.h
+++ b/indra/llcommon/llrefcount.h
@@ -151,29 +151,25 @@ class LL_COMMON_API LLThreadSafeRefCount
  * intrusive pointer support for LLThreadSafeRefCount
  * this allows you to use boost::intrusive_ptr with any LLThreadSafeRefCount-derived type
  */
-namespace boost
-{
-	inline void intrusive_ptr_add_ref(LLThreadSafeRefCount* p) 
-	{
-		p->ref();
-	}
-
-	inline void intrusive_ptr_release(LLThreadSafeRefCount* p) 
-	{
-		p->unref(); 
-	}
 
-	inline void intrusive_ptr_add_ref(LLRefCount* p) 
-	{
-		p->ref();
-	}
+inline void intrusive_ptr_add_ref(LLThreadSafeRefCount* p) 
+{
+	p->ref();
+}
 
-	inline void intrusive_ptr_release(LLRefCount* p) 
-	{
-		p->unref(); 
-	}
-};
+inline void intrusive_ptr_release(LLThreadSafeRefCount* p) 
+{
+	p->unref(); 
+}
 
+inline void intrusive_ptr_add_ref(LLRefCount* p) 
+{
+	p->ref();
+}
 
+inline void intrusive_ptr_release(LLRefCount* p) 
+{
+	p->unref(); 
+}
 
 #endif
diff --git a/indra/llcommon/llsdparam.h b/indra/llcommon/llsdparam.h
index 1542f95e6845f032fe61178fba074aa9280a7b07..09f1bdf1e3fa4b8fcac8cae5b296796ac7df3ef0 100755
--- a/indra/llcommon/llsdparam.h
+++ b/indra/llcommon/llsdparam.h
@@ -106,7 +106,6 @@ typedef LLInitParam::Parser parser_t;
 	Parser::name_stack_t	mNameStack;
 	const LLSD*				mCurReadSD;
 	LLSD*					mWriteRootSD;
-	LLSD*					mCurWriteSD;
 };
 
 
diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp
index 562fd26658e6e30346ef026e8c916222a8c8acd4..6ad4a971494b8e38e6a7e84342418ffbbc1317ba 100755
--- a/indra/llcommon/llsdutil.cpp
+++ b/indra/llcommon/llsdutil.cpp
@@ -572,7 +572,7 @@ std::string llsd_matches(const LLSD& prototype, const LLSD& data, const std::str
     return match_types(prototype.type(), TypeVector(), data.type(), pfx);
 }
 
-bool llsd_equals(const LLSD& lhs, const LLSD& rhs, unsigned bits)
+bool llsd_equals(const LLSD& lhs, const LLSD& rhs, int bits)
 {
     // We're comparing strict equality of LLSD representation rather than
     // performing any conversions. So if the types aren't equal, the LLSD
diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h
index d0b536c39af64bf68379b7748ece61c6a6cfc164..99cb79aa54c553733964832adaf450e5e8cf6bfe 100755
--- a/indra/llcommon/llsdutil.h
+++ b/indra/llcommon/llsdutil.h
@@ -126,7 +126,7 @@ LL_COMMON_API std::string llsd_matches(const LLSD& prototype, const LLSD& data,
 /// Deep equality. If you want to compare LLSD::Real values for approximate
 /// equality rather than bitwise equality, pass @a bits as for
 /// is_approx_equal_fraction().
-LL_COMMON_API bool llsd_equals(const LLSD& lhs, const LLSD& rhs, unsigned bits=-1);
+LL_COMMON_API bool llsd_equals(const LLSD& lhs, const LLSD& rhs, int bits=-1);
 
 // Simple function to copy data out of input & output iterators if
 // there is no need for casting.
diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp
index 06e118aa44f51d6fcb2a02d21295e6319e2c27a5..c9db73eb99faea8953ab5455711532d1f2ad1755 100755
--- a/indra/llcommon/llsys.cpp
+++ b/indra/llcommon/llsys.cpp
@@ -99,8 +99,6 @@ const char MEMINFO_FILE[] = "/proc/meminfo";
 extern int errno;
 #endif
 
-
-static const S32 CPUINFO_BUFFER_SIZE = 16383;
 LLCPUInfo gSysCPU;
 
 // Don't log memory info any more often than this. It also serves as our
@@ -672,8 +670,6 @@ const std::string& LLOSInfo::getOSVersionString() const
 	return mOSVersionString;
 }
 
-const S32 STATUS_SIZE = 8192;
-
 //static
 U32 LLOSInfo::getProcessVirtualSizeKB()
 {
diff --git a/indra/llcommon/lltimer.cpp b/indra/llcommon/lltimer.cpp
index ab105a82e6c371d323c0a6b6a440b51ce02f1f8f..76e892212a75721639951178f96d971c5fc888f8 100755
--- a/indra/llcommon/lltimer.cpp
+++ b/indra/llcommon/lltimer.cpp
@@ -39,14 +39,10 @@
 #	error "architecture not supported"
 #endif
 
-
 //
 // Locally used constants
 //
-const F64 SEC_TO_MICROSEC = 1000000.f;
 const U64 SEC_TO_MICROSEC_U64 = 1000000;
-const F64 USEC_TO_SEC_F64 = 0.000001;
-
 
 //---------------------------------------------------------------------------
 // Globals and statics
diff --git a/indra/llcommon/llunittype.h b/indra/llcommon/llunittype.h
index 0e05ecd683f7d7d5b78a485073c83f64e212a097..ac8504ca61586a0513ede9994bd8e6b434bf9bdf 100644
--- a/indra/llcommon/llunittype.h
+++ b/indra/llcommon/llunittype.h
@@ -87,6 +87,40 @@ struct LLUnit
 	:	mValue(value)
 	{}
 
+
+	LL_FORCE_INLINE static self_t convert(self_t v) 
+	{ 
+		return v;
+	}
+
+	template<typename FROM_STORAGE_TYPE>
+	LL_FORCE_INLINE static self_t convert(LLUnit<FROM_STORAGE_TYPE, UNITS> v) 
+	{
+		self_t result;
+		result.mValue = (STORAGE_TYPE)v.value();
+		return result;
+	}
+
+	template<typename FROM_UNITS>
+	LL_FORCE_INLINE static self_t convert(LLUnit<STORAGE_TYPE, FROM_UNITS> v) 
+	{
+		self_t result;
+		STORAGE_TYPE divisor = ll_convert_units(v, result);
+		result.mValue /= divisor;
+		return result;
+	}
+
+	template<typename FROM_STORAGE_TYPE, typename FROM_UNITS>
+	LL_FORCE_INLINE static self_t convert(LLUnit<FROM_STORAGE_TYPE, FROM_UNITS> v) 
+	{ 
+		typedef typename LLResultTypePromote<FROM_STORAGE_TYPE, STORAGE_TYPE>::type_t result_storage_t;
+		LLUnit<result_storage_t, UNITS> result;
+		result_storage_t divisor = ll_convert_units(v, result);
+		result.value(result.value() / divisor);
+		return self_t(result.value());
+	}
+
+
 	// unit initialization and conversion
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE LLUnit(LLUnit<OTHER_STORAGE_TYPE, OTHER_UNITS> other)
@@ -183,38 +217,6 @@ struct LLUnit
 		return mValue >= convert(other).value();
 	}
 
-	LL_FORCE_INLINE static self_t convert(self_t v) 
-	{ 
-		return v;
-	}
-
-	template<typename FROM_STORAGE_TYPE>
-	LL_FORCE_INLINE static self_t convert(LLUnit<FROM_STORAGE_TYPE, UNITS> v) 
-	{
-		self_t result;
-		result.mValue = (STORAGE_TYPE)v.value();
-		return result;
-	}
-
-	template<typename FROM_UNITS>
-	LL_FORCE_INLINE static self_t convert(LLUnit<STORAGE_TYPE, FROM_UNITS> v) 
-	{
-		self_t result;
-		STORAGE_TYPE divisor = ll_convert_units(v, result);
-		result.mValue /= divisor;
-		return result;
-	}
-
-	template<typename FROM_STORAGE_TYPE, typename FROM_UNITS>
-	LL_FORCE_INLINE static self_t convert(LLUnit<FROM_STORAGE_TYPE, FROM_UNITS> v) 
-	{ 
-		typedef typename LLResultTypePromote<FROM_STORAGE_TYPE, STORAGE_TYPE>::type_t result_storage_t;
-		LLUnit<result_storage_t, UNITS> result;
-		result_storage_t divisor = ll_convert_units(v, result);
-		result.value(result.value() / divisor);
-		return self_t(result.value());
-	}
-
 protected:
 	storage_t mValue;
 };
@@ -269,7 +271,7 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE void operator += (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other)
 	{
-        base_t::mValue += convert(other).value();
+        base_t::mValue += base_t::convert(other).value();
 	}
 
 	using base_t::operator -=;
@@ -283,19 +285,19 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE void operator -= (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other)
 	{
-        base_t::mValue -= convert(other).value();
+        base_t::mValue -= base_t::convert(other).value();
 	}
 
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator == (LLUnit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue == convert(other).value();
+		return base_t::mValue == base_t::convert(other).value();
 	}
 
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator == (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue == convert(other).value();
+		return base_t::mValue == base_t::convert(other).value();
 	}
 
 	template<typename STORAGE_T>
@@ -313,7 +315,7 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator != (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue != convert(other).value();
+		return base_t::mValue != base_t::convert(other).value();
 	}
 
 	template<typename STORAGE_T>
@@ -325,13 +327,13 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator < (LLUnit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue < convert(other).value();
+		return base_t::mValue < base_t::convert(other).value();
 	}
 
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator < (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue < convert(other).value();
+		return base_t::mValue < base_t::convert(other).value();
 	}
 
 	template<typename STORAGE_T>
@@ -343,13 +345,13 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator <= (LLUnit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue <= convert(other).value();
+		return base_t::mValue <= base_t::convert(other).value();
 	}
 
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator <= (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue <= convert(other).value();
+		return base_t::mValue <= base_t::convert(other).value();
 	}
 
 	template<typename STORAGE_T>
@@ -361,13 +363,13 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator > (LLUnit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue > convert(other).value();
+		return base_t::mValue > base_t::convert(other).value();
 	}
 
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator > (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue > convert(other).value();
+		return base_t::mValue > base_t::convert(other).value();
 	}
 
 	template<typename STORAGE_T>
@@ -379,13 +381,13 @@ struct LLUnitImplicit : public LLUnit<STORAGE_TYPE, UNITS>
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator >= (LLUnit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue >= convert(other).value();
+		return base_t::mValue >= base_t::convert(other).value();
 	}
 
 	template<typename OTHER_STORAGE_TYPE, typename OTHER_UNITS>
 	LL_FORCE_INLINE bool operator >= (LLUnitImplicit<OTHER_STORAGE_TYPE, OTHER_UNITS> other) const
 	{
-		return base_t::mValue >= convert(other).value();
+		return base_t::mValue >= base_t::convert(other).value();
 	}
 
 	template<typename STORAGE_T>
diff --git a/indra/llcorehttp/_httpoprequest.cpp b/indra/llcorehttp/_httpoprequest.cpp
index 43dd069bc6784d4028105b0fde051be677ddfdfa..21fe1a613a14aac4cf4d6b5faf4fb1c8433334e8 100755
--- a/indra/llcorehttp/_httpoprequest.cpp
+++ b/indra/llcorehttp/_httpoprequest.cpp
@@ -91,7 +91,6 @@ char * os_strltrim(char * str);
 void os_strlower(char * str);
 
 // Error testing and reporting for libcurl status codes
-void check_curl_easy_code(CURLcode code);
 void check_curl_easy_code(CURLcode code, int curl_setopt_option);
 
 } // end anonymous namespace
@@ -568,9 +567,18 @@ HttpStatus HttpOpRequest::prepareRequest(HttpService * service)
 					(mReqLength ? fmt1 : fmt2),
 					(unsigned long) mReqOffset, (unsigned long) (mReqOffset + mReqLength - 1));
 #else
-		snprintf(range_line, sizeof(range_line),
-				 (mReqLength ? fmt1 : fmt2),
-				 (unsigned long) mReqOffset, (unsigned long) (mReqOffset + mReqLength - 1));
+		if ( mReqLength )
+		{
+			snprintf(range_line, sizeof(range_line),
+					 fmt1,
+					 (unsigned long) mReqOffset, (unsigned long) (mReqOffset + mReqLength - 1));
+		}
+		else
+		{
+			snprintf(range_line, sizeof(range_line),
+					 fmt2,
+					 (unsigned long) mReqOffset);
+		}
 #endif // LL_WINDOWS
 		range_line[sizeof(range_line) - 1] = '\0';
 		mCurlHeaders = curl_slist_append(mCurlHeaders, range_line);
@@ -1100,18 +1108,4 @@ void check_curl_easy_code(CURLcode code, int curl_setopt_option)
 	}
 }
 
-
-void check_curl_easy_code(CURLcode code)
-{
-	if (CURLE_OK != code)
-	{
-		// Comment from old llcurl code which may no longer apply:
-		//
-		// linux appears to throw a curl error once per session for a bad initialization
-		// at a pretty random time (when enabling cookies).
-		LL_WARNS("CoreHttp") << "libcurl error detected:  " << curl_easy_strerror(code)
-							 << LL_ENDL;
-	}
-}
-
 }  // end anonymous namespace
diff --git a/indra/llcorehttp/bufferstream.cpp b/indra/llcorehttp/bufferstream.cpp
index 6553900eef524dd58ecdc5e890ba3039f34e909e..678bf5ea9f580e91ec312665c8921edf9bd59caf 100755
--- a/indra/llcorehttp/bufferstream.cpp
+++ b/indra/llcorehttp/bufferstream.cpp
@@ -257,8 +257,6 @@ std::streampos BufferArrayStreamBuf::seekoff(std::streamoff off,
 			return ret;
 		}
 
-		if (pos < 0)
-			return ret;
 		if (pos > mBufferArray->size())
 		{
 			pos = mBufferArray->size();
diff --git a/indra/llkdu/llimagej2ckdu.h b/indra/llkdu/llimagej2ckdu.h
index fb1f6535bac58b87d27f6ccfb3fe70caabc5df44..762476ce699f5ec0181f1a6a2d711156edf31ae9 100755
--- a/indra/llkdu/llimagej2ckdu.h
+++ b/indra/llkdu/llimagej2ckdu.h
@@ -36,7 +36,17 @@
 #include "kdu_elementary.h"
 #include "kdu_messaging.h"
 #include "kdu_params.h"
+
+// don't *really* want to rebuild KDU so turn off specific warnings for this header
+#if LL_DARWIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-private-field"
+#include "kdu_compressed.h"
+#pragma clang diagnostic pop
+#elif
 #include "kdu_compressed.h"
+#endif
+
 #include "kdu_sample_processing.h"
 
 class LLKDUDecodeState;
diff --git a/indra/llkdu/llkdumem.h b/indra/llkdu/llkdumem.h
index dbdf88b2d92b36825ae56775244b1f484e053a4c..a0d304868e9d989768b3bc514b531b987e0b8dfc 100755
--- a/indra/llkdu/llkdumem.h
+++ b/indra/llkdu/llkdumem.h
@@ -29,7 +29,17 @@
 
 // Support classes for reading and writing from memory buffers in KDU
 #define KDU_NO_THREADS
+// don't *really* want to rebuild KDU so turn off specific warnings for this header
+#if LL_DARWIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wself-assign-field"
+#pragma clang diagnostic ignored "-Wunused-private-field"
 #include "kdu_image.h"
+#pragma clang diagnostic pop
+#elif
+#include "kdu_image.h"
+#endif
+
 #include "kdu_elementary.h"
 #include "kdu_messaging.h"
 #include "kdu_params.h"
diff --git a/indra/llmath/llline.cpp b/indra/llmath/llline.cpp
index f26231840b0ce5a2415101ae6c5b079aea4a2a31..cfee315b55c3a4936fa747c4608faddcf3a01f51 100755
--- a/indra/llmath/llline.cpp
+++ b/indra/llmath/llline.cpp
@@ -30,7 +30,6 @@
 #include "llline.h"
 #include "llrand.h"
 
-const F32 SOME_SMALL_NUMBER = 1.0e-5f;
 const F32 SOME_VERY_SMALL_NUMBER = 1.0e-8f;
 
 LLLine::LLLine()
diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h
index 7b5240c651352dff056ef6d0e6a2389238585db7..7fa1661bc2683cc803e54e861e694fee5f2d113c 100755
--- a/indra/llmath/lloctree.h
+++ b/indra/llmath/lloctree.h
@@ -322,8 +322,8 @@ class LLOctreeNode : public LLTreeNode<T>
 		//is it here?
 		if (isInside(data->getPositionGroup()))
 		{
-			if (((getElementCount() < gOctreeMaxCapacity || getSize()[0] <= gOctreeMinSize) && contains(data->getBinRadius()) ||
-				(data->getBinRadius() > getSize()[0] &&	parent && parent->getElementCount() >= gOctreeMaxCapacity))) 
+			if (((getElementCount() < gOctreeMaxCapacity || ((getSize()[0] <= gOctreeMinSize) && contains(data->getBinRadius()))) ||
+				((data->getBinRadius() > getSize()[0] && parent && parent->getElementCount() >= gOctreeMaxCapacity)))) 
 			{ //it belongs here
 				mData.push_back(NULL);
 				mData[mElementCount] = data;
@@ -445,7 +445,7 @@ class LLOctreeNode : public LLTreeNode<T>
 			mDataEnd = &mData[0];
 		}
 
-		notifyRemoval(data);
+		BaseType::notifyRemoval(data);
 		checkAlive();
 	}
 
@@ -711,7 +711,7 @@ class LLOctreeRoot : public LLOctreeNode<T>
 			//(don't notify listeners of addition)
 			for (U32 i = 0; i < child->getChildCount(); i++)
 			{
-				addChild(child->getChild(i), TRUE);
+				this->addChild(child->getChild(i), TRUE);
 			}
 
 			//destroy child
@@ -755,10 +755,10 @@ class LLOctreeRoot : public LLOctreeNode<T>
 			return false;
 		}
 
-		if (this->getSize()[0] > data->getBinRadius() && isInside(data->getPositionGroup()))
+		if (this->getSize()[0] > data->getBinRadius() && oct_node::isInside(data->getPositionGroup()))
 		{
 			//we got it, just act like a branch
-			oct_node* node = getNodeAt(data);
+			oct_node* node = oct_node::getNodeAt(data);
 			if (node == this)
 			{
 				LLOctreeNode<T>::insert(data);
@@ -771,7 +771,7 @@ class LLOctreeRoot : public LLOctreeNode<T>
 		else if (this->getChildCount() == 0)
 		{
 			//first object being added, just wrap it up
-			while (!(this->getSize()[0] > data->getBinRadius() && isInside(data->getPositionGroup())))
+			while (!(this->getSize()[0] > data->getBinRadius() && oct_node::isInside(data->getPositionGroup())))
 			{
 				LLVector4a center, size;
 				center = this->getCenter();
@@ -786,7 +786,7 @@ class LLOctreeRoot : public LLOctreeNode<T>
 		}
 		else
 		{
-			while (!(this->getSize()[0] > data->getBinRadius() && isInside(data->getPositionGroup())))
+			while (!(this->getSize()[0] > data->getBinRadius() && oct_node::isInside(data->getPositionGroup())))
 			{
 				//the data is outside the root node, we need to grow
 				LLVector4a center(this->getCenter());
@@ -814,7 +814,7 @@ class LLOctreeRoot : public LLOctreeNode<T>
 
 				//clear our children and add the root copy
 				this->clearChildren();
-				addChild(newnode);
+				this->addChild(newnode);
 			}
 
 			//insert the data
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index d9a68cb577a33c8b75247b0d3d9c261034cd0da5..49cd9703925498512d5268c9349da610241c334a 100755
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -56,8 +56,6 @@
 #define DEBUG_SILHOUETTE_NORMALS 0 // TomY: Use this to display normals using the silhouette
 #define DEBUG_SILHOUETTE_EDGE_MAP 0 // DaveP: Use this to display edge map using the silhouette
 
-const F32 CUT_MIN = 0.f;
-const F32 CUT_MAX = 1.f;
 const F32 MIN_CUT_DELTA = 0.02f;
 
 const F32 HOLLOW_MIN = 0.f;
@@ -2076,7 +2074,7 @@ LLVolume::LLVolume(const LLVolumeParams &params, const F32 detail, const BOOL ge
 
 	generate();
 	
-	if (mParams.getSculptID().isNull() && mParams.getSculptType() == LL_SCULPT_TYPE_NONE || mParams.getSculptType() == LL_SCULPT_TYPE_MESH)
+	if ((mParams.getSculptID().isNull() && mParams.getSculptType() == LL_SCULPT_TYPE_NONE) || mParams.getSculptType() == LL_SCULPT_TYPE_MESH)
 	{
 		createVolumeFaces();
 	}
@@ -4027,7 +4025,6 @@ LLVertexIndexPair::LLVertexIndexPair(const LLVector3 &vertex, const S32 index)
 }
 
 const F32 VERTEX_SLOP = 0.00001f;
-const F32 VERTEX_SLOP_SQRD = VERTEX_SLOP * VERTEX_SLOP;
 
 struct lessVertex
 {
@@ -4914,9 +4911,7 @@ F64 find_vertex_score(LLVCacheVertexData& data)
 {
 	F64 score = -1.0;
 
-	if (data.mActiveTriangles >= 0)
-	{ 
-		score = 0.0;
+	score = 0.0;
 
 	S32 cache_idx = data.mCacheTag;
 
@@ -4938,9 +4933,8 @@ F64 find_vertex_score(LLVCacheVertexData& data)
 	}
 
 	//bonus points for having low valence
-		F64 valence_boost = pow((F64)data.mActiveTriangles, -FindVertexScore_ValenceBoostPower);
+	F64 valence_boost = pow((F64)data.mActiveTriangles, -FindVertexScore_ValenceBoostPower);
 	score += FindVertexScore_ValenceBoostScale * valence_boost;
-	}
 
 	return score;
 }
diff --git a/indra/llmessage/llcachename.cpp b/indra/llmessage/llcachename.cpp
index 4dd8d0465647513d4790cb17c738191906f176b1..daf3e0b4dede469b218ed9fc8de7dda7bc135eee 100755
--- a/indra/llmessage/llcachename.cpp
+++ b/indra/llmessage/llcachename.cpp
@@ -51,9 +51,6 @@ static const std::string NAME("name");
 // We won't re-request a name during this time
 const U32 PENDING_TIMEOUT_SECS = 5 * 60;
 
-// File version number
-const S32 CN_FILE_VERSION = 2;
-
 // Globals
 LLCacheName* gCacheName = NULL;
 std::map<std::string, std::string> LLCacheName::sCacheName;
diff --git a/indra/llmessage/llcircuit.cpp b/indra/llmessage/llcircuit.cpp
index 5aaada63b152308c971801329318ed60b06d6764..3eb0e0d057c886c0e89ea188b86af05e8d7cfe62 100755
--- a/indra/llmessage/llcircuit.cpp
+++ b/indra/llmessage/llcircuit.cpp
@@ -688,7 +688,7 @@ void LLCircuitData::checkPacketInID(TPACKETID id, BOOL receive_resent)
 
 	// now, check to see if we've got a gap
     U32 gap = 0;
-	if ((mPacketsInID == id))
+	if (mPacketsInID == id)
 	{
 		// nope! bump and wrap the counter, then return
 		mPacketsInID++;
diff --git a/indra/llmessage/llhttpassetstorage.cpp b/indra/llmessage/llhttpassetstorage.cpp
index a30140e8f36c4916ef9dcc759576d08bd79ae1c7..e20215444505f772e3c08b7dfa5cbfb18e514ddd 100755
--- a/indra/llmessage/llhttpassetstorage.cpp
+++ b/indra/llmessage/llhttpassetstorage.cpp
@@ -47,8 +47,7 @@
 const	char* const	LOCAL_ASSET_URL_FORMAT		= "http://%s:12041/asset";
 
 const U32 MAX_RUNNING_REQUESTS = 1;
-const F32 MAX_PROCESSING_TIME = 0.005f;
-const S32 CURL_XFER_BUFFER_SIZE = 65536;
+
 // Try for 30 minutes for now.
 const F32 GET_URL_TO_FILE_TIMEOUT = 1800.0f;
 
diff --git a/indra/llmessage/lliopipe.h b/indra/llmessage/lliopipe.h
index 9a0a427efd0b9654f2ed66c7daea9acc0264bfd9..7fd4cee8ba97e194574b86a4c61e15876e645a71 100755
--- a/indra/llmessage/lliopipe.h
+++ b/indra/llmessage/lliopipe.h
@@ -56,11 +56,8 @@ void pump_debug(const char *file, S32 line);
 /**
  * intrusive pointer support
  */
-namespace boost
-{
-	void intrusive_ptr_add_ref(LLIOPipe* p);
-	void intrusive_ptr_release(LLIOPipe* p);
-};
+void intrusive_ptr_add_ref(LLIOPipe* p);
+void intrusive_ptr_release(LLIOPipe* p);
 
 /** 
  * @class LLIOPipe
@@ -251,68 +248,21 @@ class LLIOPipe
 		LLPumpIO* pump) = 0;
 
 private:
-	friend void boost::intrusive_ptr_add_ref(LLIOPipe* p);
-	friend void boost::intrusive_ptr_release(LLIOPipe* p);
+	friend void intrusive_ptr_add_ref(LLIOPipe* p);
+	friend void intrusive_ptr_release(LLIOPipe* p);
 	U32 mReferenceCount;
 };
 
-namespace boost
+inline void intrusive_ptr_add_ref(LLIOPipe* p)
 {
-	inline void intrusive_ptr_add_ref(LLIOPipe* p)
-	{
-		++p->mReferenceCount;
-	}
-	inline void intrusive_ptr_release(LLIOPipe* p)
+	++p->mReferenceCount;
+}
+inline void intrusive_ptr_release(LLIOPipe* p)
+{
+	if(p && 0 == --p->mReferenceCount)
 	{
-		if(p && 0 == --p->mReferenceCount)
-		{
-			delete p;
-		}
+		delete p;
 	}
-};
-
-
-#if 0
-/** 
- * @class LLIOBoiler
- * @brief This class helps construct new LLIOPipe specializations
- * @see LLIOPipe
- *
- * THOROUGH_DESCRIPTION
- */
-class LLIOBoiler : public LLIOPipe
-{
-public:
-	LLIOBoiler();
-	virtual ~LLIOBoiler();
-
-protected:
-	/* @name LLIOPipe virtual implementations
-	 */
-	//@{
-	/** 
-	 * @brief Process the data in buffer
-	 */
-	virtual EStatus process_impl(
-		const LLChannelDescriptors& channels,
-		buffer_ptr_t& buffer,
-		bool& eos,
-		LLSD& context,
-		LLPumpIO* pump);
-	//@}
-};
-
-// virtual
-LLIOPipe::EStatus process_impl(
-	const LLChannelDescriptors& channels,
-	buffer_ptr_t& buffer,
-	bool& eos,
-	LLSD& context,
-	LLPumpIO* pump)
-{
-	return STATUS_NOT_IMPLEMENTED;
 }
 
-#endif // #if 0 - use this block as a boilerplate
-
 #endif // LL_LLIOPIPE_H
diff --git a/indra/llmessage/llpartdata.cpp b/indra/llmessage/llpartdata.cpp
index 41a0310ce05c804cae840e4aeb7adcd557929d1d..53aa35c0f9ffb316015e372554ced6c3ee98143f 100755
--- a/indra/llmessage/llpartdata.cpp
+++ b/indra/llmessage/llpartdata.cpp
@@ -49,11 +49,6 @@ const S32 PS_MAX_DATA_BLOCK_SIZE = PS_SYS_DATA_BLOCK_SIZE+
 
 const S32 PS_LEGACY_DATA_BLOCK_SIZE = PS_SYS_DATA_BLOCK_SIZE + PS_LEGACY_PART_DATA_BLOCK_SIZE;
 
-
-const U32 PART_DATA_MASK = LLPartData::LL_PART_DATA_GLOW | LLPartData::LL_PART_DATA_BLEND;
-
-
-
 const F32 MAX_PART_SCALE = 4.f;
 
 bool LLPartData::hasGlow() const
diff --git a/indra/llmessage/llxfermanager.cpp b/indra/llmessage/llxfermanager.cpp
index b518dd1b72ebb41dda59152056b91b5f6425d137..0ab67b8dda13743744dc438f8e2116d465ddaca8 100755
--- a/indra/llmessage/llxfermanager.cpp
+++ b/indra/llmessage/llxfermanager.cpp
@@ -261,7 +261,7 @@ U32 LLXferManager::numActiveListEntries(LLXfer *list_head)
 
 	while (list_head)
 	{
-		if ((list_head->mStatus == e_LL_XFER_IN_PROGRESS)) 
+		if (list_head->mStatus == e_LL_XFER_IN_PROGRESS) 
 		{
 			num_entries++;
 		}
diff --git a/indra/llplugin/slplugin/slplugin-objc.h b/indra/llplugin/slplugin/slplugin-objc.h
index f2c2b3239c839931b817aff035171b800a0f1976..af0ebe1af2ac46d9c0d88287911407cfc4211fb2 100755
--- a/indra/llplugin/slplugin/slplugin-objc.h
+++ b/indra/llplugin/slplugin/slplugin-objc.h
@@ -29,7 +29,9 @@
  */
 
 //Protos for ObjectiveC classes (cannot import cocoa here due to BOOL conflict)
+#ifndef __OBJC__
 class NSWindow;
+#endif // __OBJC__
 
 /* Defined in slplugin-objc.mm: */
 
diff --git a/indra/llprimitive/llprimitive.cpp b/indra/llprimitive/llprimitive.cpp
index a505ea04a743f3e844a3782a08a881b29f32ff9a..3bbc5d55715280b77afb90702d2f5f0b2c07935a 100755
--- a/indra/llprimitive/llprimitive.cpp
+++ b/indra/llprimitive/llprimitive.cpp
@@ -107,8 +107,6 @@ const F32 FLEXIBLE_OBJECT_DEFAULT_LENGTH = 1.0f;
 const BOOL FLEXIBLE_OBJECT_DEFAULT_USING_COLLISION_SPHERE = FALSE;
 const BOOL FLEXIBLE_OBJECT_DEFAULT_RENDERING_COLLISION_SPHERE = FALSE;
 
-const S32 MAX_FACE_BITS = 9;
-
 const char *SCULPT_DEFAULT_TEXTURE = "be293869-d0d9-0a69-5989-ad27f1946fd4"; // old inverted texture: "7595d345-a24c-e7ef-f0bd-78793792133e";
 
 // Texture rotations are sent over the wire as a S16.  This is used to scale the actual float
@@ -993,8 +991,6 @@ BOOL LLPrimitive::setMaterial(U8 material)
 	}
 }
 
-const F32 LL_MAX_SCALE_S = 100.0f;
-const F32 LL_MAX_SCALE_T = 100.0f;
 S32 LLPrimitive::packTEField(U8 *cur_ptr, U8 *data_ptr, U8 data_size, U8 last_face_index, EMsgVariableType type) const
 {
 	S32 face_index;
diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp
index 25b1c533c1f93ff38ef5123c935a3affc7eb591b..254008fbcf9786ed743788d813117dd6e95dac4c 100755
--- a/indra/llrender/llfontfreetype.cpp
+++ b/indra/llrender/llfontfreetype.cpp
@@ -103,7 +103,6 @@ LLFontGlyphInfo::LLFontGlyphInfo(U32 index)
 LLFontFreetype::LLFontFreetype()
 :	LLTrace::MemTrackable<LLFontFreetype>("LLFontFreetype"),
 	mFontBitmapCachep(new LLFontBitmapCache),
-	mValid(FALSE),
 	mAscender(0.f),
 	mDescender(0.f),
 	mLineHeight(0.f),
diff --git a/indra/llrender/llfontfreetype.h b/indra/llrender/llfontfreetype.h
index 2963fbd43d827ffba0dd20e3f77f022c34802c10..a5ece42b88531c525c461134366fcc8c52ae935d 100755
--- a/indra/llrender/llfontfreetype.h
+++ b/indra/llrender/llfontfreetype.h
@@ -162,8 +162,6 @@ class LLFontFreetype : public LLRefCount, public LLTrace::MemTrackable<LLFontFre
 	BOOL mIsFallback;
 	font_vector_t mFallbackFonts; // A list of fallback fonts to look for glyphs in (for Unicode chars)
 
-	BOOL mValid;
-
 	typedef boost::unordered_map<llwchar, LLFontGlyphInfo*> char_glyph_info_map_t;
 	mutable char_glyph_info_map_t mCharGlyphInfoMap; // Information about glyph location in bitmap
 
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp
index 1d181b476afe1c18a8dc7f31f74a1c1e047e962a..bedec4bd6fd347ce5b2de3c0a19f62a043aefb7f 100755
--- a/indra/llrender/llfontgl.cpp
+++ b/indra/llrender/llfontgl.cpp
@@ -61,12 +61,6 @@ LLCoordGL LLFontGL::sCurOrigin;
 F32 LLFontGL::sCurDepth;
 std::vector<std::pair<LLCoordGL, F32> > LLFontGL::sOriginStack;
 
-const F32 EXT_X_BEARING = 1.f;
-const F32 EXT_Y_BEARING = 0.f;
-const F32 EXT_KERNING = 1.f;
-const F32 PIXEL_BORDER_THRESHOLD = 0.0001f;
-const F32 PIXEL_CORRECTION_DISTANCE = 0.01f;
-
 const F32 PAD_UVY = 0.5f; // half of vertical padding between glyphs in the glyph texture
 const F32 DROP_SHADOW_SOFT_STRENGTH = 0.3f;
 
diff --git a/indra/llrender/llpostprocess.cpp b/indra/llrender/llpostprocess.cpp
index a95bb7027b2ff387b8ef12d5ee8300a1e46c57be..b6ea5aa7f12a4f61e066d3e2ccdd1948b036f888 100755
--- a/indra/llrender/llpostprocess.cpp
+++ b/indra/llrender/llpostprocess.cpp
@@ -49,17 +49,8 @@ static LLStaticHashedString sBlurWidth("blurWidth");
 
 LLPostProcess * gPostProcess = NULL;
 
-
 static const unsigned int NOISE_SIZE = 512;
 
-/// CALCULATING LUMINANCE (Using NTSC lum weights)
-/// http://en.wikipedia.org/wiki/Luma_%28video%29
-static const float LUMINANCE_R = 0.299f;
-static const float LUMINANCE_G = 0.587f;
-static const float LUMINANCE_B = 0.114f;
-
-static const char * const XML_FILENAME = "postprocesseffects.xml";
-
 LLPostProcess::LLPostProcess(void) : 
 					initialized(false),  
 					mAllEffects(LLSD::emptyMap()),
diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp
index b787794b957038e4ed12fcb195763bd775831b29..3067d9d1ba87122f1c4b6b2d15a6e7921fb3893e 100755
--- a/indra/llui/llaccordionctrl.cpp
+++ b/indra/llui/llaccordionctrl.cpp
@@ -36,25 +36,17 @@
 
 #include "boost/bind.hpp"
 
-static const S32 DRAGGER_BAR_MARGIN = 4;
-static const S32 DRAGGER_BAR_HEIGHT = 5;
 static const S32 BORDER_MARGIN = 2;
 static const S32 PARENT_BORDER_MARGIN = 5;
-
-static const S32 panel_delta = DRAGGER_BAR_MARGIN;  // Distanse between two panels 
-
-static const S32 HORIZONTAL_MULTIPLE = 8;
 static const S32 VERTICAL_MULTIPLE = 16;
 static const F32 MIN_AUTO_SCROLL_RATE = 120.f;
 static const F32 MAX_AUTO_SCROLL_RATE = 500.f;
 static const F32 AUTO_SCROLL_RATE_ACCEL = 120.f;
 
-
 // LLAccordionCtrl =================================================================|
 
 static LLDefaultChildRegistry::Register<LLAccordionCtrl>	t2("accordion");
 
-
 LLAccordionCtrl::LLAccordionCtrl(const Params& params):LLPanel(params)
  , mFitParent(params.fit_parent)
  , mAutoScrolling( false )
diff --git a/indra/llui/llcheckboxctrl.cpp b/indra/llui/llcheckboxctrl.cpp
index 5525520d78cc527e7b147cbba2211c5551799760..eee6339caf7b8f1e50b82f68901143e8f9043923 100755
--- a/indra/llui/llcheckboxctrl.cpp
+++ b/indra/llui/llcheckboxctrl.cpp
@@ -41,8 +41,6 @@
 #include "lltextbox.h"
 #include "llkeyboard.h"
 
-const U32 MAX_STRING_LENGTH = 10;
-
 static LLDefaultChildRegistry::Register<LLCheckBoxCtrl> r("check_box");
 
 // Compiler optimization, generate extern template
diff --git a/indra/llui/llconsole.cpp b/indra/llui/llconsole.cpp
index fdfaf284decc1698d9ac7cd9ac132168af88b608..26ae31cac660fbe4c0c1ef4909f2392bf00181a7 100755
--- a/indra/llui/llconsole.cpp
+++ b/indra/llui/llconsole.cpp
@@ -52,7 +52,6 @@ extern void AddNewDebugConsoleToLCD(const LLWString &newLine);
 LLConsole* gConsole = NULL;  // Created and destroyed in LLViewerWindow.
 
 const F32 FADE_DURATION = 2.f;
-const S32 MIN_CONSOLE_WIDTH = 200;
  
 static LLDefaultChildRegistry::Register<LLConsole> r("console");
 
diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp
index 7c6559eddb4cd97775a42d1b9c0b181ffa3e2740..48bf5bb80ff3a6e14130d1a7967c6cfcd7da0fc6 100755
--- a/indra/llui/lldraghandle.cpp
+++ b/indra/llui/lldraghandle.cpp
@@ -46,7 +46,6 @@ const S32 LEADING_PAD = 5;
 const S32 TITLE_HPAD = 8;
 const S32 BORDER_PAD = 1;
 const S32 LEFT_PAD = BORDER_PAD + TITLE_HPAD + LEADING_PAD;
-const S32 RIGHT_PAD = BORDER_PAD + 32; // HACK: space for close btn and minimize btn
 
 S32 LLDragHandle::sSnapMargin = 5;
 
diff --git a/indra/llui/llfolderview.cpp b/indra/llui/llfolderview.cpp
index 474b545f00c3c25a83fff71aed6f05683386d590..e20d6734f150cca3831c013f3f78757557fb71ad 100755
--- a/indra/llui/llfolderview.cpp
+++ b/indra/llui/llfolderview.cpp
@@ -53,7 +53,6 @@
 /// Local function declarations, constants, enums, and typedefs
 ///----------------------------------------------------------------------------
 
-const S32 RENAME_WIDTH_PAD = 4;
 const S32 RENAME_HEIGHT_PAD = 1;
 const S32 AUTO_OPEN_STACK_DEPTH = 16;
 
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 604dc92789be66ee8df1fc851998f28d35cb45a3..8ef2b4ef5b116f0ae0fa43352ac1aebbc6cf1e9f 100755
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -100,17 +100,10 @@ const std::string LLMenuGL::ARROW_DOWN("vvvvvvv");
 
 const F32 MAX_MOUSE_SLOPE_SUB_MENU = 0.9f;
 
-const S32 PIE_GESTURE_ACTIVATE_DISTANCE = 10;
-
 BOOL LLMenuGL::sKeyboardMode = FALSE;
 
 LLHandle<LLView> LLMenuHolderGL::sItemLastSelectedHandle;
 LLFrameTimer LLMenuHolderGL::sItemActivationTimer;
-//LLColor4 LLMenuGL::sBackgroundColor( 0.8f, 0.8f, 0.0f, 1.0f );
-
-const S32 PIE_CENTER_SIZE = 20;		// pixels, radius of center hole
-const F32 PIE_SCALE_FACTOR = 1.7f; // scale factor for pie menu when mouse is initially down
-const F32 PIE_SHRINK_TIME = 0.2f; // time of transition between unbounded and bounded display of pie menu
 
 const F32 ACTIVATE_HIGHLIGHT_TIME = 0.3f;
 
diff --git a/indra/llui/llrngwriter.cpp b/indra/llui/llrngwriter.cpp
index cd9fe3610ef361fb53ae2359b2d79b30e7a5b037..523bc7c6677b956cf1e6cc1b120de1cfed36f97d 100755
--- a/indra/llui/llrngwriter.cpp
+++ b/indra/llui/llrngwriter.cpp
@@ -28,7 +28,16 @@
 
 #include "llrngwriter.h"
 #include "lluicolor.h"
+
+#if LL_DARWIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdelete-incomplete"
+#include "lluictrlfactory.h"
+#pragma clang diagnostic pop
+#elif
 #include "lluictrlfactory.h"
+#endif
+
 #include "boost/bind.hpp"
 
 static 	LLInitParam::Parser::parser_read_func_map_t sReadFuncs;
diff --git a/indra/llui/llscrollcontainer.cpp b/indra/llui/llscrollcontainer.cpp
index 8c506d76bba5bfea41f8d7b13509e5f21d0c7537..898e13a2c5d8eb6da88ebf09b91e85944842c42a 100755
--- a/indra/llui/llscrollcontainer.cpp
+++ b/indra/llui/llscrollcontainer.cpp
@@ -48,7 +48,6 @@
 /// Local function declarations, constants, enums, and typedefs
 ///----------------------------------------------------------------------------
 
-static const S32 HORIZONTAL_MULTIPLE = 8;
 static const S32 VERTICAL_MULTIPLE = 16;
 static const F32 AUTO_SCROLL_RATE_ACCEL = 120.f;
 
diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp
index 5f72ee3ac637e99133e37d0399a41027cc95bf9e..cf8be579080ff46af44cc10b7fd0c149569e73e7 100755
--- a/indra/llui/llscrolllistctrl.cpp
+++ b/indra/llui/llscrolllistctrl.cpp
@@ -2095,9 +2095,6 @@ BOOL LLScrollListCtrl::handleKeyHere(KEY key,MASK mask )
 	// not called from parent means we have keyboard focus or a child does
 	if (mCanSelect) 
 	{
-		// Ignore capslock
-		mask = mask;
-
 		if (mask == MASK_NONE)
 		{
 			switch(key)
diff --git a/indra/llui/llsliderctrl.cpp b/indra/llui/llsliderctrl.cpp
index 62c5ecb8f125a15d5d3776aae0dcecdcbf0ebfd7..127c97ecde1037c6f22aa952353d6c48cc022399 100755
--- a/indra/llui/llsliderctrl.cpp
+++ b/indra/llui/llsliderctrl.cpp
@@ -43,8 +43,6 @@
 #include "llresmgr.h"
 #include "lluictrlfactory.h"
 
-const U32 MAX_STRING_LENGTH = 10;
-
 static LLDefaultChildRegistry::Register<LLSliderCtrl> r("slider");
 
 LLSliderCtrl::LLSliderCtrl(const LLSliderCtrl::Params& p)
diff --git a/indra/llui/llstatbar.h b/indra/llui/llstatbar.h
index 89d7ff24ed97008af6952a8665b0138b76c18f3b..1ff4c67fc5100b82a157b7e4b5e50e00d9753fb8 100755
--- a/indra/llui/llstatbar.h
+++ b/indra/llui/llstatbar.h
@@ -80,7 +80,6 @@ class LLStatBar : public LLView
 				 mFloatingTargetMaxBar,
 				 mCurMaxBar,
 				 mCurMinBar,
-				 mLabelSpacing,
 				 mTickSpacing;
 	S32          mDecimalDigits,
 				 mNumHistoryFrames,
diff --git a/indra/llui/lltextvalidate.cpp b/indra/llui/lltextvalidate.cpp
index 234e600ccd993ad59b6afb3e20bcf2c3995891b6..324ceb7fbab88a9fd84fba6a18b740ecd63e8920 100755
--- a/indra/llui/lltextvalidate.cpp
+++ b/indra/llui/lltextvalidate.cpp
@@ -336,7 +336,7 @@ namespace LLTextValidate
 		S32 len = str.length();
 		while(len--)
 		{
-			if (str[len] < 0x20 && str[len] != 0xA || str[len] > 0x7f)
+			if ((str[len] < 0x20 && str[len] != 0xA) || str[len] > 0x7f)
 			{
 				rv = FALSE;
 				break;
diff --git a/indra/llui/lltimectrl.cpp b/indra/llui/lltimectrl.cpp
index 9ea1e8815e72b7f2911516f43a8036339c2a9579..271947db7a1d36c445223ae594609f49d1ddc408 100755
--- a/indra/llui/lltimectrl.cpp
+++ b/indra/llui/lltimectrl.cpp
@@ -381,7 +381,7 @@ bool LLTimeCtrl::isHoursStringValid(const std::string& str)
 bool LLTimeCtrl::isMinutesStringValid(const std::string& str)
 {
 	U32 minutes;
-	if (!LLStringUtil::convertToU32(str, minutes) || (minutes <= MINUTES_MAX) && str.length() < 3)
+	if (!LLStringUtil::convertToU32(str, minutes) || ((minutes <= MINUTES_MAX) && str.length() < 3))
 		return true;
 
 	return false;
@@ -415,7 +415,8 @@ U32 LLTimeCtrl::parseHours(const std::string& str)
 U32 LLTimeCtrl::parseMinutes(const std::string& str)
 {
 	U32 minutes;
-	if (LLStringUtil::convertToU32(str, minutes) && (minutes >= MINUTES_MIN) && (minutes <= MINUTES_MAX))
+	// not sure of this fix - clang doesnt like compare minutes U32 to >= MINUTES_MIN (0) but MINUTES_MIN can change
+	if (LLStringUtil::convertToU32(str, minutes) && ((S32)minutes >= MINUTES_MIN) && ((S32)minutes <= MINUTES_MAX))
 	{
 		return minutes;
 	}
diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h
index a5796c8af2931fd395d6971dbe903550fc0e1695..17af45cc0c56aa51538887b37c0e9b4a9534c662 100755
--- a/indra/llui/lluictrlfactory.h
+++ b/indra/llui/lluictrlfactory.h
@@ -183,7 +183,15 @@ class LLUICtrlFactory : public LLSingleton<LLUICtrlFactory>
 				if (!widget) 
 				{
 					LL_WARNS() << "Widget in " << filename << " was of type " << typeid(view).name() << " instead of expected type " << typeid(T).name() << LL_ENDL;
+
+#if LL_DARWIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdelete-incomplete"
+					delete view;
+#pragma clang diagnostic pop
+#elif
 					delete view;
+#endif
 					view = NULL;
 				}
 			}
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 77c8878f4b4c3036315a75d0e695be2d621dbd77..bdab4331e91f28734c5e87a42971793c0770fe74 100755
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -2164,10 +2164,6 @@ LLControlVariable *LLView::findControl(const std::string& name)
 	return control_group.getControl(name);	
 }
 
-const S32 FLOATER_H_MARGIN = 15;
-const S32 MIN_WIDGET_HEIGHT = 10;
-const S32 VPAD = 4;
-
 void LLView::initFromParams(const LLView::Params& params)
 {
 	LLRect required_rect = getRequiredRect();
diff --git a/indra/llui/llxuiparser.cpp b/indra/llui/llxuiparser.cpp
index 37d88cb9f921d47f9874f9b40196dfe83581454d..f6a44338a4930b1a2a41b96208a26f000d7933a9 100755
--- a/indra/llui/llxuiparser.cpp
+++ b/indra/llui/llxuiparser.cpp
@@ -58,8 +58,6 @@ static 	LLInitParam::Parser::parser_inspect_func_map_t sSimpleXUIInspectFuncs;
 
 const char* NO_VALUE_MARKER = "no_value";
 
-const S32 LINE_NUMBER_HERE = 0;
-
 struct MaxOccursValues : public LLInitParam::TypeValuesHelper<U32, MaxOccursValues>
 {
 	static void declareValues()
diff --git a/indra/llvfs/lldiriterator.cpp b/indra/llvfs/lldiriterator.cpp
index a9d96c980728954a892b22630ec890c5e9bc5119..76296ff877d4fa7e462cac628376211902d5f73c 100755
--- a/indra/llvfs/lldiriterator.cpp
+++ b/indra/llvfs/lldiriterator.cpp
@@ -127,7 +127,8 @@ bool LLDirIterator::Impl::next(std::string &fname)
 		{
 			boost::smatch match;
 			std::string name = mIter->path().filename().string();
-			if (found = boost::regex_match(name, match, mFilterExp))
+			found = boost::regex_match(name, match, mFilterExp);
+			if (found)
 			{
 				fname = name;
 			}
diff --git a/indra/llvfs/llvfs_objc.h b/indra/llvfs/llvfs_objc.h
index 90101eb2e95d64cd3d57fd589254b492b4adfeaf..56cdbebfc56257cf878c3326d59d64fad7e17cbc 100755
--- a/indra/llvfs/llvfs_objc.h
+++ b/indra/llvfs/llvfs_objc.h
@@ -40,4 +40,4 @@ std::string* getSystemResourceFolder();
 std::string* getSystemExecutableFolder();
 
 
-#endif LL_LLVFS_OBJC_H
+#endif // LL_LLVFS_OBJC_H
diff --git a/indra/llvfs/llvfs_objc.mm b/indra/llvfs/llvfs_objc.mm
index 47b0e73978fb71631766357a629e9b0588fbbcc0..282ea41339236eaac7b9f2a173a343f9e9857b18 100755
--- a/indra/llvfs/llvfs_objc.mm
+++ b/indra/llvfs/llvfs_objc.mm
@@ -48,7 +48,7 @@ std::string* findSystemDirectory(NSSearchPathDirectory searchPathDirectory,
 {
     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
     
-    std::string *result;
+    std::string *result = nil;
     NSString *path = nil;
     
     // Search for the path
diff --git a/indra/llwindow/llopenglview-objc.mm b/indra/llwindow/llopenglview-objc.mm
index f7031341eb283d186940946346486fe435563600..141eab792a074daa70e9cb8b13bc86d9bfd81e9c 100644
--- a/indra/llwindow/llopenglview-objc.mm
+++ b/indra/llwindow/llopenglview-objc.mm
@@ -104,20 +104,20 @@ attributedStringInfo getSegments(NSAttributedString *str)
 - (unsigned long)getVramSize
 {
     CGLRendererInfoObj info = 0;
-	GLint vram_bytes = 0;
+	GLint vram_megabytes = 0;
     int num_renderers = 0;
     CGLError the_err = CGLQueryRendererInfo (CGDisplayIDToOpenGLDisplayMask(kCGDirectMainDisplay), &info, &num_renderers);
     if(0 == the_err)
     {
-        CGLDescribeRenderer (info, 0, kCGLRPTextureMemory, &vram_bytes);
+        CGLDescribeRenderer (info, 0, kCGLRPTextureMemoryMegabytes, &vram_megabytes);
         CGLDestroyRendererInfo (info);
     }
     else
     {
-        vram_bytes = (256 << 20);
+        vram_megabytes = 256;
     }
     
-	return (unsigned long)vram_bytes / 1048576; // We need this in megabytes.
+	return (unsigned long)vram_megabytes; // return value is in megabytes.
 }
 
 - (void)viewDidMoveToWindow
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 18d515201566fb0d3d6a9cc97e97323a5e526450..7972b6601227de8c06e119c351a430c7816d36a4 100755
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -44,15 +44,9 @@
 
 extern BOOL gDebugWindowProc;
 
-// culled from winuser.h
-//const S32	WHEEL_DELTA = 120;     /* Value for rolling one detent */
-// On the Mac, the scroll wheel reports a delta of 1 for each detent.
-// There's also acceleration for faster scrolling, based on a slider in the system preferences.
-const S32	WHEEL_DELTA = 1;     /* Value for rolling one detent */
 const S32	BITS_PER_PIXEL = 32;
 const S32	MAX_NUM_RESOLUTIONS = 32;
 
-
 //
 // LLWindowMacOSX
 //
diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp
index cb99496ef170791b4fa1d12bedaa86de6f91a28b..455df13e48d9d2c002062dd5e3998189380e2257 100755
--- a/indra/llxml/llxmlnode.cpp
+++ b/indra/llxml/llxmlnode.cpp
@@ -43,8 +43,6 @@
 #include "lluuid.h"
 #include "lldir.h"
 
-const S32 MAX_COLUMN_WIDTH = 80;
-
 // static
 BOOL LLXMLNode::sStripEscapedStrings = TRUE;
 BOOL LLXMLNode::sStripWhitespaceValues = FALSE;
diff --git a/indra/lscript/lscript_execute/lscript_readlso.cpp b/indra/lscript/lscript_execute/lscript_readlso.cpp
index 7ec56c2409fd73031b440b647f585a38008bdaf8..abcb28e998a3df1b0ed361cf3a5e68a389ac3407 100755
--- a/indra/lscript/lscript_execute/lscript_readlso.cpp
+++ b/indra/lscript/lscript_execute/lscript_readlso.cpp
@@ -114,7 +114,7 @@ void LLScriptLSOParse::printRegisters(LLFILE *fp)
 		else if (gMajorVersion == LSL2_MAJOR_VERSION_TWO)
 		{
 			U64 data = get_register_u64(mRawData, (LSCRIPTRegisters)i);
-			fprintf(fp, "%s: 0x%X%X\n", gLSCRIPTRegisterNames[i], (U32)(data>>32), (U32)(data && 0xFFFFFFFF));
+			fprintf(fp, "%s: 0x%X%X\n", gLSCRIPTRegisterNames[i], (U32)(data>>32), (U32)(data & 0xFFFFFFFF));
 		}
 	}
 	fprintf(fp, "=============================\n\n");
diff --git a/indra/media_plugins/example/media_plugin_example.cpp b/indra/media_plugins/example/media_plugin_example.cpp
index da7de0179908f03a9041e6f6106dee1783356d5f..66c00cd58cd0e534eae65819b4cb4149e21de475 100755
--- a/indra/media_plugins/example/media_plugin_example.cpp
+++ b/indra/media_plugins/example/media_plugin_example.cpp
@@ -363,10 +363,10 @@ void MediaPluginExample::update( F64 milliseconds )
         };
 
         if ( mXpos[ n ] + mXInc[ n ] < 0 || mXpos[ n ] + mXInc[ n ] >= mWidth - mBlockSize[ n ] )
-            mXInc[ n ] =- mXInc[ n ];
+            mXInc[ n ]= -mXInc[ n ];
 
         if ( mYpos[ n ] + mYInc[ n ] < 0 || mYpos[ n ] + mYInc[ n ] >= mHeight - mBlockSize[ n ] )
-            mYInc[ n ] =- mYInc[ n ];
+            mYInc[ n ]= -mYInc[ n ];
 
         mXpos[ n ] += mXInc[ n ];
         mYpos[ n ] += mYInc[ n ];
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index e5a90e8a281fa7a23fdda56d8af9ef60f60f36a2..cd01ea18683559f06d7ed5a6e4af846085cdf5a1 100755
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -408,10 +408,8 @@ LLAgent::LLAgent() :
 	mCurrentFidget(0),
 	mFirstLogin(FALSE),
 	mOutfitChosen(FALSE),
-	
-	mVoiceConnected(false),
 
-	mAppearanceSerialNum(0),
+	mVoiceConnected(false),
 
 	mMouselookModeInSignal(NULL),
 	mMouselookModeOutSignal(NULL)
@@ -2260,8 +2258,6 @@ void LLAgent::heardChat(const LLUUID& id)
 	mChatTimer.reset();
 }
 
-const F32 SIT_POINT_EXTENTS = 0.2f;
-
 LLSD ll_sdmap_from_vector3(const LLVector3& vec)
 {
     LLSD ret;
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index a2e9cedd8841cf4ba11f0d8759859e30923fa905..56bd1428ce373a7972b26f77e1499d8a7eb20403 100755
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -787,8 +787,7 @@ class LLAgent : public LLOldEvents::LLObservable
 	
 private:
 	BOOL			mShowAvatar; 		// Should we render the avatar?
-	U32				mAppearanceSerialNum;
-	
+
 	//--------------------------------------------------------------------
 	// Rendering state bitmap helpers
 	//--------------------------------------------------------------------
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 2356a8468848a0297f582227600b66c65531f415..291dffa210982473004c9a4d03969f8c1b2ef6b4 100755
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -885,7 +885,6 @@ void LLAgentCamera::cameraZoomIn(const F32 fraction)
 	}
 
 
-	LLVector3d	camera_offset(mCameraFocusOffsetTarget);
 	LLVector3d	camera_offset_unit(mCameraFocusOffsetTarget);
 	F32 min_zoom = LAND_MIN_ZOOM;
 	F32 current_distance = (F32)camera_offset_unit.normalize();
@@ -957,7 +956,6 @@ void LLAgentCamera::cameraOrbitIn(const F32 meters)
 	}
 	else
 	{
-		LLVector3d	camera_offset(mCameraFocusOffsetTarget);
 		LLVector3d	camera_offset_unit(mCameraFocusOffsetTarget);
 		F32 current_distance = (F32)camera_offset_unit.normalize();
 		F32 new_distance = current_distance - meters;
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp
index 29534a4382a8c8f378545bf4208d4509dea38e22..b3b8a40d39aaae3827d25dc40de99ba2c53a61c4 100755
--- a/indra/newview/llappearancemgr.cpp
+++ b/indra/newview/llappearancemgr.cpp
@@ -3752,7 +3752,7 @@ bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_b
 
 	//to cause appearance of the agent to be updated
 	bool result = false;
-	if (result = gAgentWearables.moveWearable(item, closer_to_body))
+	if ((result = gAgentWearables.moveWearable(item, closer_to_body)))
 	{
 		gAgentAvatarp->wearableUpdated(item->getWearableType());
 	}
diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp
index c792eb88131e7404b24e915158c134554640d36c..56154a2de38686e982c01fb7b3f23e30a9aa8c2b 100755
--- a/indra/newview/llappviewermacosx.cpp
+++ b/indra/newview/llappviewermacosx.cpp
@@ -63,16 +63,7 @@ namespace
 	int gArgC;
 	char** gArgV;
 	LLAppViewerMacOSX* gViewerAppPtr;
-#ifdef LL_CARBON_CRASH_HANDLER
-	OSErr AEQuitHandler(const AppleEvent *messagein, AppleEvent *reply, long refIn)
-	{
-		OSErr result = noErr;
-		
-		LLAppViewer::instance()->userQuit();
-		
-		return(result);
-	}
-#endif
+
     void (*gOldTerminateHandler)() = NULL;
 }
 
diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp
index a98ff64d0a452b2580aa883012e7a2df45a03d0c..e5c2d212fe21815c6661d1981b80177b1e63476d 100755
--- a/indra/newview/llassetuploadresponders.cpp
+++ b/indra/newview/llassetuploadresponders.cpp
@@ -63,9 +63,6 @@
 #include "llsdutil.h"
 #include "llvfs.h"
 
-// When uploading multiple files, don't display any of them when uploading more than this number.
-static const S32 FILE_COUNT_DISPLAY_THRESHOLD = 5;
-
 void dialog_refresh_all();
 
 void on_new_single_inventory_upload_complete(
diff --git a/indra/newview/llblocklist.cpp b/indra/newview/llblocklist.cpp
index 1c68fabf8b9bbd41fac76ff8fd2d6cbbbb6328b4..272a68bdf7dacfb9d32df8ffeef35b30d29996f8 100755
--- a/indra/newview/llblocklist.cpp
+++ b/indra/newview/llblocklist.cpp
@@ -40,7 +40,6 @@ static const LLBlockListNameTypeComparator	NAME_TYPE_COMPARATOR;
 
 LLBlockList::LLBlockList(const Params& p)
 :	LLFlatListViewEx(p),
- 	mSelectedItem(NULL),
  	mDirty(true),
 	mShouldAddAll(true),
 	mActionType(NONE),
diff --git a/indra/newview/llblocklist.h b/indra/newview/llblocklist.h
index bac79f869e3c068d4fc084e4cbb373a9f534a5b3..0f7fa41c3206efd93356a7db8d79ede41d9bd6cd 100755
--- a/indra/newview/llblocklist.h
+++ b/indra/newview/llblocklist.h
@@ -83,7 +83,6 @@ class LLBlockList: public LLFlatListViewEx, public LLMuteListObserver
 
 	LLHandle<LLToggleableMenu>	mContextMenu;
 
-	LLBlockedListItem*			mSelectedItem;
 	std::string 				mNameFilter;
 	bool 						mDirty;
 	bool						mShouldAddAll;
diff --git a/indra/newview/llchicletbar.cpp b/indra/newview/llchicletbar.cpp
index 28e367fbe1a964632c3df1d0632ff54ec65fee78..d8b04f7004f43d777fc5550454025e22cb68efdc 100755
--- a/indra/newview/llchicletbar.cpp
+++ b/indra/newview/llchicletbar.cpp
@@ -35,16 +35,6 @@
 namespace
 {
 	const std::string& PANEL_CHICLET_NAME	= "chiclet_list_panel";
-
-	S32 get_curr_width(LLUICtrl* ctrl)
-	{
-		S32 cur_width = 0;
-		if ( ctrl && ctrl->getVisible() )
-		{
-			cur_width = ctrl->getRect().getWidth();
-		}
-		return cur_width;
-	}
 }
 
 LLChicletBar::LLChicletBar(const LLSD&)
diff --git a/indra/newview/llcommunicationchannel.cpp b/indra/newview/llcommunicationchannel.cpp
index 0821510645492a4f5fcbd4cc6b1091d4f86c372f..627c9eb5c0024ad4888079ad8154d5c9a54bda8d 100755
--- a/indra/newview/llcommunicationchannel.cpp
+++ b/indra/newview/llcommunicationchannel.cpp
@@ -103,9 +103,9 @@ void LLCommunicationChannel::onDelete(LLNotificationPtr p)
 void LLCommunicationChannel::onFilterFail(LLNotificationPtr pNotificationPtr)
 {
 	std::string notificationType = pNotificationPtr->getType();
-	if ((notificationType == "groupnotify")
+	if (((notificationType == "groupnotify")
 		|| (notificationType == "offer")
-		|| (notificationType == "notifytoast")
+		|| (notificationType == "notifytoast"))
         && !pNotificationPtr->isCancelled())
 	{
 		mHistory.insert(std::make_pair<LLDate, LLNotificationPtr>(pNotificationPtr->getDate(), pNotificationPtr));
diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h
index 56e1a267098c3dbc07e01b6a7ea32eddbfb314bb..deff94ea1630ccd74837069dc45ca9c59680b8c6 100644
--- a/indra/newview/llconversationmodel.h
+++ b/indra/newview/llconversationmodel.h
@@ -213,7 +213,6 @@ class LLConversationItemParticipant : public LLConversationItem
 	void onAvatarNameCache(const LLAvatarName& av_name);	// callback used by fetchAvatarName
 	void updateName(const LLAvatarName& av_name);
 
-	bool mIsMuted;		         // default is false
 	bool mIsModerator;	         // default is false
 	bool mDisplayModeratorLabel; // default is false
 	std::string mDisplayName;
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index c56006d9a3672fa7c3a6305b1a21eb4230ad8afa..7c96c71e213cc15121b62f444edfb9c869f3af22 100755
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -54,7 +54,6 @@
 const F32 MIN_INTERPOLATE_DISTANCE_SQUARED = 0.001f * 0.001f;
 const F32 MAX_INTERPOLATE_DISTANCE_SQUARED = 10.f * 10.f;
 const F32 OBJECT_DAMPING_TIME_CONSTANT = 0.06f;
-const F32 MIN_SHADOW_CASTER_RADIUS = 2.0f;
 
 static LLTrace::BlockTimerStatHandle FTM_CULL_REBOUND("Cull Rebound");
 
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 90e6dfe351e6fd97a194d071ff6d0ea9176a944b..393bd70382593fca226f72311720bb29c4ee42d5 100755
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -71,8 +71,6 @@ extern BOOL gUseGLPick;
 
 F32 CLOTHING_GRAVITY_EFFECT = 0.7f;
 F32 CLOTHING_ACCEL_FORCE_FACTOR = 0.2f;
-const S32 NUM_TEST_AVATARS = 30;
-const S32 MIN_PIXEL_AREA_2_PASS_SKINNING = 500000000;
 
 // Format for gAGPVertices
 // vertex format for bumpmapping:
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index 76c37439abd691d2658bb19a4fa6ccf142c15f2c..b618bdff2cfbe06cc4d48048e22ba77bfe504ccb 100755
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -361,7 +361,6 @@ BOOL LLFastTimerView::handleScrollWheel(S32 x, S32 y, S32 clicks)
 
 static BlockTimerStatHandle FTM_RENDER_TIMER("Timers");
 static const S32 MARGIN = 10;
-static const S32 LEGEND_WIDTH = 220;
 
 static std::vector<LLColor4> sTimerColors;
 
diff --git a/indra/newview/llfilepicker.h b/indra/newview/llfilepicker.h
index 0e0cec39439ee916b598281ff82947b9f57afa46..b6e67375cd1b8db4c970269053fdd62ee4e28b6a 100755
--- a/indra/newview/llfilepicker.h
+++ b/indra/newview/llfilepicker.h
@@ -164,11 +164,9 @@ class LLFilePicker
 #if LL_DARWIN
     S32 mPickOptions;
 	std::vector<std::string> mFileVector;
-	UInt32 mFileIndex;
 	
 	bool doNavChooseDialog(ELoadFilter filter);
 	bool doNavSaveDialog(ESaveFilter filter, const std::string& filename);
-	//static Boolean navOpenFilterProc(AEDesc *theItem, void *info, void *callBackUD, NavFilterModes filterMode);
     std::vector<std::string>* navOpenFilterProc(ELoadFilter filter);
 #endif
 
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 060c091737e99d576bb3ccd69178d50ab6d95fc5..8d4868d0d342d1e36a96a666adfd8870e196167b 100755
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -65,9 +65,6 @@
 
 // NOTE: This is duplicated in lldatamoney.cpp ...
 const F32 GROUP_LAND_BONUS_FACTOR = 1.1f;
-const F64 CURRENCY_ESTIMATE_FREQUENCY = 0.5;
-	// how long of a pause in typing a currency buy amount before an
-	// estimate is fetched from the server
 
 class LLFloaterBuyLandUI
 :	public LLFloater
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index d0939b3eee5f7ddcecc353ad5d3b7caf2ca2f625..6a82b8c74c546b26631188eaf4243015bda36fc5 100755
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -47,9 +47,7 @@ static LLDefaultChildRegistry::Register<LLPanelCameraItem> r("panel_camera_item"
 const F32 NUDGE_TIME = 0.25f;		// in seconds
 const F32 ORBIT_NUDGE_RATE = 0.05f; // fraction of normal speed
 
-// Constants
-const F32 CAMERA_BUTTON_DELAY = 0.0f;
-
+// constants
 #define ORBIT "cam_rotate_stick"
 #define PAN "cam_track_stick"
 #define ZOOM "zoom"
diff --git a/indra/newview/llfloaterfacebook.cpp b/indra/newview/llfloaterfacebook.cpp
index 6888e076aab65f686049f82425c94aef6939b7f6..3a2047cfef4dbaf88f6f55ec20b23c7cb63c86c0 100644
--- a/indra/newview/llfloaterfacebook.cpp
+++ b/indra/newview/llfloaterfacebook.cpp
@@ -59,7 +59,6 @@ static LLPanelInjector<LLFacebookPhotoPanel> t_panel_photo("llfacebookphotopanel
 static LLPanelInjector<LLFacebookCheckinPanel> t_panel_checkin("llfacebookcheckinpanel");
 static LLPanelInjector<LLFacebookFriendsPanel> t_panel_friends("llfacebookfriendspanel");
 
-const S32 MAX_POSTCARD_DATASIZE = 1024 * 1024; // one megabyte
 const std::string DEFAULT_CHECKIN_LOCATION_URL = "http://maps.secondlife.com/";
 const std::string DEFAULT_CHECKIN_ICON_URL = "http://map.secondlife.com.s3.amazonaws.com/map_placeholder.png";
 const std::string DEFAULT_CHECKIN_QUERY_PARAMETERS = "?sourceid=slshare_checkin&utm_source=facebook&utm_medium=checkin&utm_campaign=slshare";
diff --git a/indra/newview/llfloaterflickr.cpp b/indra/newview/llfloaterflickr.cpp
index 36afab86b79b7b12bd18f450949aa57d1f50d60b..51352e083a046aa65ac8715ad6c9ffa6493a4f04 100644
--- a/indra/newview/llfloaterflickr.cpp
+++ b/indra/newview/llfloaterflickr.cpp
@@ -55,7 +55,6 @@
 static LLPanelInjector<LLFlickrPhotoPanel> t_panel_photo("llflickrphotopanel");
 static LLPanelInjector<LLFlickrAccountPanel> t_panel_account("llflickraccountpanel");
 
-const S32 MAX_POSTCARD_DATASIZE = 1024 * 1024; // one megabyte
 const std::string DEFAULT_PHOTO_QUERY_PARAMETERS = "?sourceid=slshare_photo&utm_source=flickr&utm_medium=photo&utm_campaign=slshare";
 const std::string DEFAULT_TAG_TEXT = "secondlife ";
 const std::string FLICKR_MACHINE_TAGS_NAMESPACE = "secondlife";
diff --git a/indra/newview/llfloatergodtools.cpp b/indra/newview/llfloatergodtools.cpp
index 6966ca5639bf8822c0fc8a2399b0e3e2168deb2b..37774fbc5c76a95200675cf6e873a99ed1b7fedb 100755
--- a/indra/newview/llfloatergodtools.cpp
+++ b/indra/newview/llfloatergodtools.cpp
@@ -401,14 +401,9 @@ void LLFloaterGodTools::sendGodUpdateRegionInfo()
 
 // Floats because spinners only support floats. JC
 const F32 BILLABLE_FACTOR_DEFAULT = 1;
-const F32 BILLABLE_FACTOR_MIN = 0.0f;
-const F32 BILLABLE_FACTOR_MAX = 4.f;
 
 // floats because spinners only understand floats. JC
 const F32 PRICE_PER_METER_DEFAULT = 1.f;
-const F32 PRICE_PER_METER_MIN = 0.f;
-const F32 PRICE_PER_METER_MAX = 100.f;
-
 
 LLPanelRegionTools::LLPanelRegionTools()
 : 	LLPanel()
@@ -833,9 +828,6 @@ void LLPanelRegionTools::onSelectRegion()
 //      ^                                ^        ^
 //      LEFT                             R2       RIGHT
 
-const F32 HOURS_TO_RADIANS = (2.f*F_PI)/24.f;
-
-
 LLPanelGridTools::LLPanelGridTools() :
 	LLPanel()
 {
diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp
index 9def253ba5567ab5bb77502b589a94c66cd89083..fc7fcf3ab9b3328574a6847787d8bab4f059af04 100755
--- a/indra/newview/llfloaterimsession.cpp
+++ b/indra/newview/llfloaterimsession.cpp
@@ -396,7 +396,7 @@ bool LLFloaterIMSession::canAddSelectedToChat(const uuid_vec_t& uuids)
 {
 	if (!mSession
 		|| mDialog == IM_SESSION_GROUP_START
-		|| mDialog == IM_SESSION_INVITE && gAgent.isInGroup(mSessionID))
+		|| (mDialog == IM_SESSION_INVITE && gAgent.isInGroup(mSessionID)))
 	{
 		return false;
 	}
@@ -779,7 +779,7 @@ bool LLFloaterIMSession::toggle(const LLUUID& session_id)
 			floater->setVisible(false);
 			return false;
 		}
-		else if(floater && (!floater->isDocked() || floater->getVisible() && !floater->hasFocus()))
+		else if(floater && ((!floater->isDocked() || floater->getVisible()) && !floater->hasFocus()))
 		{
 			floater->setVisible(TRUE);
 			floater->setFocus(TRUE);
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index 473e2938bee8873d20ea6caeeb9f8613769d1842..bf5210206f287d7cd6048d3fe2e30d09b1091ec6 100755
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -52,10 +52,7 @@
 // The minor cardinal direction labels are hidden if their height is more
 // than this proportion of the map.
 const F32 MAP_MINOR_DIR_THRESHOLD = 0.07f;
-const S32 MAP_PADDING_LEFT = 0;
-const S32 MAP_PADDING_TOP = 2;
-const S32 MAP_PADDING_RIGHT = 2;
-const S32 MAP_PADDING_BOTTOM = 0;
+
 //
 // Member functions
 //
diff --git a/indra/newview/llfloatermediasettings.cpp b/indra/newview/llfloatermediasettings.cpp
index 4f2a6ec1b7058da7107d94c9400e6c771228e4ec..4fd5c0587afd6f8f70ddaa7af1c2f9756e03a795 100755
--- a/indra/newview/llfloatermediasettings.cpp
+++ b/indra/newview/llfloatermediasettings.cpp
@@ -47,7 +47,6 @@ LLFloaterMediaSettings::LLFloaterMediaSettings(const LLSD& key)
 	mPanelMediaSettingsGeneral(NULL),
 	mPanelMediaSettingsSecurity(NULL),
 	mPanelMediaSettingsPermissions(NULL),
-	mWaitingToClose( false ),
 	mIdenticalHasMediaInfo( true ),
 	mMultipleMedia(false),
 	mMultipleValidMedia(false)
diff --git a/indra/newview/llfloatermediasettings.h b/indra/newview/llfloatermediasettings.h
index 1d25530986d09f7f0ffe182d23cc82c0c0a1a64d..f93512eb3a6014e3d619c99f1c011f6e5ee043a3 100755
--- a/indra/newview/llfloatermediasettings.h
+++ b/indra/newview/llfloatermediasettings.h
@@ -83,7 +83,6 @@ class LLFloaterMediaSettings :
 	bool haveValuesChanged() const;
 	
 	LLSD mInitialValues;
-	bool mWaitingToClose;
 };
 
 #endif  // LL_LLFLOATERMEDIASETTINGS_H
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index b17ce97a2e694099532670b4042a22e3e596d2ba..ab702c3645d7417a48e7721540b2a25b5ceb8602 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -121,12 +121,6 @@ S32 LLFloaterModelPreview::sUploadAmount = 10;
 LLFloaterModelPreview* LLFloaterModelPreview::sInstance = NULL;
 std::list<LLModelLoader*> LLModelLoader::sActiveLoaderList;
 
-const S32 PREVIEW_BORDER_WIDTH = 2;
-const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
-const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
-const S32 PREF_BUTTON_HEIGHT = 16 + 7 + 16;
-const S32 PREVIEW_TEXTURE_HEIGHT = 300;
-
 // "Retain%" decomp parameter has values from 0.0 to 1.0 by 0.01
 // But according to the UI spec for upload model floater, this parameter
 // should be represented by Retain spinner with values from 1 to 100 by 1.
diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp
index ee7f413a59a5c60261c3b241538a0d3c28d611f5..0cca715fe25d94ebd2673c37f010d838ffb80df5 100755
--- a/indra/newview/llfloaternamedesc.cpp
+++ b/indra/newview/llfloaternamedesc.cpp
@@ -52,14 +52,9 @@
 #include "llinventorytype.h"
 
 const S32 PREVIEW_LINE_HEIGHT = 19;
-const S32 PREVIEW_CLOSE_BOX_SIZE = 16;
 const S32 PREVIEW_BORDER_WIDTH = 2;
 const S32 PREVIEW_RESIZE_HANDLE_SIZE = S32(RESIZE_HANDLE_WIDTH * OO_SQRT2) + PREVIEW_BORDER_WIDTH;
-const S32 PREVIEW_VPAD = 2;
 const S32 PREVIEW_HPAD = PREVIEW_RESIZE_HANDLE_SIZE;
-const S32 PREVIEW_HEADER_SIZE = 3 * PREVIEW_LINE_HEIGHT + PREVIEW_VPAD;
-const S32 PREF_BUTTON_WIDTH = 64;
-const S32 PREF_BUTTON_HEIGHT = 16;
 
 //-----------------------------------------------------------------------------
 // LLFloaterNameDesc()
diff --git a/indra/newview/llfloaterpay.cpp b/indra/newview/llfloaterpay.cpp
index f0c010b545a3cc37b41fd027cea26aa0b138fb05..099a8828a4484fde36ecdc998ade1e9a68b4a6c6 100755
--- a/indra/newview/llfloaterpay.cpp
+++ b/indra/newview/llfloaterpay.cpp
@@ -117,7 +117,6 @@ class LLFloaterPay : public LLFloater
 
 
 S32 LLFloaterPay::sLastAmount = 0;
-const S32 MAX_AMOUNT_LENGTH = 10;
 const S32 FASTPAY_BUTTON_WIDTH = 80;
 
 LLFloaterPay::LLFloaterPay(const LLSD& key)
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index d3773767d08e97c2b445da8a37251547e2d5ac0d..15968614179835a8cc525cb2807f6636922f7803 100755
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -109,13 +109,9 @@
 #include "lllogininstance.h"        // to check if logged in yet
 #include "llsdserialize.h"
 
-const F32 MAX_USER_FAR_CLIP = 512.f;
-const F32 MIN_USER_FAR_CLIP = 64.f;
 const F32 BANDWIDTH_UPDATER_TIMEOUT = 0.5f;
 char const* const VISIBILITY_DEFAULT = "default";
 char const* const VISIBILITY_HIDDEN = "hidden";
-char const* const VISIBILITY_VISIBLE = "visible";
-char const* const VISIBILITY_INVISIBLE = "invisible";
 
 //control value for middle mouse as talk2push button
 const static std::string MIDDLE_MOUSE_CV = "MiddleMouse";
diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp
index a3b9713e3ea382c3967e3c097b826a49f5ceb056..ae330211dbd640d51806a894cd3fd1435d4ce83e 100755
--- a/indra/newview/llfloaterreporter.cpp
+++ b/indra/newview/llfloaterreporter.cpp
@@ -82,8 +82,6 @@
 
 #include "lltrans.h"
 
-const U32 INCLUDE_SCREENSHOT  = 0x01 << 0;
-
 //-----------------------------------------------------------------------------
 // Globals
 //-----------------------------------------------------------------------------
diff --git a/indra/newview/llfloaterscriptlimits.h b/indra/newview/llfloaterscriptlimits.h
index a5cb1b6184a571b4ad00f73ccf7b3a757c11ae3a..5ba0185d329e2e132c54fefabf1edb85305f160e 100755
--- a/indra/newview/llfloaterscriptlimits.h
+++ b/indra/newview/llfloaterscriptlimits.h
@@ -170,21 +170,17 @@ class LLPanelScriptLimitsRegionMemory : public LLPanelScriptLimitsInfo, LLRemote
 	LLSD mContent;
 	LLUUID mParcelId;
 	bool mGotParcelMemoryUsed;
-	bool mGotParcelMemoryUsedDetails;
 	bool mGotParcelMemoryMax;
 	S32 mParcelMemoryMax;
 	S32 mParcelMemoryUsed;
-	S32 mParcelMemoryUsedDetails;
-	
+
 	bool mGotParcelURLsUsed;
-	bool mGotParcelURLsUsedDetails;
 	bool mGotParcelURLsMax;
 	S32 mParcelURLsMax;
 	S32 mParcelURLsUsed;
-	S32 mParcelURLsUsedDetails;
-	
+
 	std::vector<LLSD> mObjectListItems;
-		
+
 protected:
 
 // LLRemoteParcelInfoObserver interface:
@@ -208,17 +204,11 @@ class LLPanelScriptLimitsAttachment : public LLPanelScriptLimitsInfo
 	LLPanelScriptLimitsAttachment()
 		:	LLPanelScriptLimitsInfo(),
 		mGotAttachmentMemoryUsed(false),
-		mGotAttachmentMemoryUsedDetails(false),
-		mGotAttachmentMemoryMax(false),
 		mAttachmentMemoryMax(0),
 		mAttachmentMemoryUsed(0),
-		mAttachmentMemoryUsedDetails(0),
 		mGotAttachmentURLsUsed(false),
-		mGotAttachmentURLsUsedDetails(false),
-		mGotAttachmentURLsMax(false),
 		mAttachmentURLsMax(0),
-		mAttachmentURLsUsed(0),
-		mAttachmentURLsUsedDetails(0)
+		mAttachmentURLsUsed(0)
 		{};
 
 	~LLPanelScriptLimitsAttachment()
@@ -237,18 +227,12 @@ class LLPanelScriptLimitsAttachment : public LLPanelScriptLimitsInfo
 private:
 
 	bool mGotAttachmentMemoryUsed;
-	bool mGotAttachmentMemoryUsedDetails;
-	bool mGotAttachmentMemoryMax;
 	S32 mAttachmentMemoryMax;
 	S32 mAttachmentMemoryUsed;
-	S32 mAttachmentMemoryUsedDetails;
-	
+
 	bool mGotAttachmentURLsUsed;
-	bool mGotAttachmentURLsUsedDetails;
-	bool mGotAttachmentURLsMax;
 	S32 mAttachmentURLsMax;
 	S32 mAttachmentURLsUsed;
-	S32 mAttachmentURLsUsedDetails;
 
 protected:
 	
diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp
index 0613ffc94d803f35e31e9d5a017c75d126cbe855..c1c21c593e5b0071f61098150cb535e053c04c48 100755
--- a/indra/newview/llfloatertos.cpp
+++ b/indra/newview/llfloatertos.cpp
@@ -50,7 +50,6 @@
 LLFloaterTOS::LLFloaterTOS(const LLSD& data)
 :	LLModalDialog( data["message"].asString() ),
 	mMessage(data["message"].asString()),
-	mWebBrowserWindowId( 0 ),
 	mLoadingScreenLoaded(false),
 	mSiteAlive(false),
 	mRealNavigateBegun(false),
diff --git a/indra/newview/llfloatertos.h b/indra/newview/llfloatertos.h
index 8921d114899bc0dd91199d2677a4759ac32bd365..47126d06a64859be60c6fdef68c9b60e00493b4b 100755
--- a/indra/newview/llfloatertos.h
+++ b/indra/newview/llfloatertos.h
@@ -62,7 +62,6 @@ class LLFloaterTOS :
 private:
 
 	std::string		mMessage;
-	int				mWebBrowserWindowId;
 	bool			mLoadingScreenLoaded;
 	bool			mSiteAlive;
 	bool			mRealNavigateBegun;
diff --git a/indra/newview/llfloatertwitter.cpp b/indra/newview/llfloatertwitter.cpp
index 868d623d5730e3b84b6f418202d67c5a91f7c4d4..c48b1a3325320c8e62e16f5188701e3152794e6e 100644
--- a/indra/newview/llfloatertwitter.cpp
+++ b/indra/newview/llfloatertwitter.cpp
@@ -54,7 +54,6 @@
 static LLPanelInjector<LLTwitterPhotoPanel> t_panel_photo("lltwitterphotopanel");
 static LLPanelInjector<LLTwitterAccountPanel> t_panel_account("lltwitteraccountpanel");
 
-const S32 MAX_POSTCARD_DATASIZE = 1024 * 1024; // one megabyte
 const std::string DEFAULT_PHOTO_LOCATION_URL = "http://maps.secondlife.com/";
 const std::string DEFAULT_PHOTO_QUERY_PARAMETERS = "?sourceid=slshare_photo&utm_source=twitter&utm_medium=photo&utm_campaign=slshare";
 const std::string DEFAULT_STATUS_TEXT = " #SecondLife";
diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp
index bfc36a6bfbd8dd90d726a00e732a6583e7dbcb20..76ad2146f19e8f20d0f8221858388f5399e309a6 100755
--- a/indra/newview/llfloateruipreview.cpp
+++ b/indra/newview/llfloateruipreview.cpp
@@ -180,7 +180,6 @@ class LLFloaterUIPreview : public LLFloater
 	LLButton*					mToggleOverlapButton;				// button to togle overlap panel/highlighting
 	LLComboBox*					mLanguageSelection;					// combo box for primary language selection
 	LLComboBox*					mLanguageSelection_2;				// combo box for secondary language selection
-	LLScrollContainer*			mOverlapScrollView;					// overlapping elements scroll container
 	S32							mLastDisplayedX, mLastDisplayedY;	// stored position of last floater so the new one opens up in the same place
 	std::string 				mDelim;								// the OS-specific delimiter character (/ or \) (*TODO: this shouldn't be needed, right?)
 
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index b1b7a87ae8612965ca4b9685574c3cc983d7fbb0..ef238cefe3e17b0a1cfbab79a3b1d32eff183eb6 100755
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -50,6 +50,8 @@ S32 LLGroupListItem::sIconWidth = 0;
 class LLGroupComparator : public LLFlatListView::ItemComparator
 {
 public:
+	LLGroupComparator() {};
+
 	/** Returns true if item1 < item2, false otherwise */
 	/*virtual*/ bool compare(const LLPanel* item1, const LLPanel* item2) const
 	{
diff --git a/indra/newview/llhudeffecttrail.cpp b/indra/newview/llhudeffecttrail.cpp
index 877121903474e392dd5e4f44cb870a79b5460089..fc6efdb840f03cf03a621bd188f60054fa610f79 100755
--- a/indra/newview/llhudeffecttrail.cpp
+++ b/indra/newview/llhudeffecttrail.cpp
@@ -42,13 +42,6 @@
 #include "llvoavatar.h"
 #include "llworld.h"
 
-
-const F32 PARTICLE_SPACING = 0.01f;
-const F32 MAX_SIZE = 0.025f;
-const F32 START_POS_MAG = 1.f;
-const F32 END_POS_MAG = 1.2f;
-
-
 LLHUDEffectSpiral::LLHUDEffectSpiral(const U8 type) : LLHUDEffect(type), mbInit(FALSE)
 {
 	mKillTime = 10.f;
diff --git a/indra/newview/llhudnametag.cpp b/indra/newview/llhudnametag.cpp
index 31d832e5244f6cbcb918621ebf593f8d930ba6c4..73711196e656ea6226c998b953068c48e8effc2c 100755
--- a/indra/newview/llhudnametag.cpp
+++ b/indra/newview/llhudnametag.cpp
@@ -52,17 +52,12 @@
 
 
 const F32 SPRING_STRENGTH = 0.7f;
-const F32 RESTORATION_SPRING_TIME_CONSTANT = 0.1f;
 const F32 HORIZONTAL_PADDING = 16.f;
 const F32 VERTICAL_PADDING = 12.f;
 const F32 LINE_PADDING = 3.f;			// aka "leading"
 const F32 BUFFER_SIZE = 2.f;
-const F32 MIN_EDGE_OVERLAP = 3.f;
 const F32 HUD_TEXT_MAX_WIDTH = 190.f;
-const F32 HUD_TEXT_MAX_WIDTH_NO_BUBBLE = 1000.f;
-const F32 RESIZE_TIME = 0.f;
 const S32 NUM_OVERLAP_ITERATIONS = 10;
-const F32 NEIGHBOR_FORCE_FRACTION = 1.f;
 const F32 POSITION_DAMPING_TC = 0.2f;
 const F32 MAX_STABLE_CAMERA_VELOCITY = 0.1f;
 const F32 LOD_0_SCREEN_COVERAGE = 0.15f;
diff --git a/indra/newview/llhudtext.cpp b/indra/newview/llhudtext.cpp
index f648d7baae16627a061a03d55912469cccf20ee9..2c204170f2d2e3c84ccc78214e06d044b0e3ed3f 100755
--- a/indra/newview/llhudtext.cpp
+++ b/indra/newview/llhudtext.cpp
@@ -48,23 +48,11 @@
 #include "pipeline.h"
 #include <boost/tokenizer.hpp>
 
-
-const F32 SPRING_STRENGTH = 0.7f;
-const F32 RESTORATION_SPRING_TIME_CONSTANT = 0.1f;
 const F32 HORIZONTAL_PADDING = 15.f;
 const F32 VERTICAL_PADDING = 12.f;
 const F32 BUFFER_SIZE = 2.f;
-const F32 MIN_EDGE_OVERLAP = 3.f;
 const F32 HUD_TEXT_MAX_WIDTH = 190.f;
 const F32 HUD_TEXT_MAX_WIDTH_NO_BUBBLE = 1000.f;
-const F32 RESIZE_TIME = 0.f;
-const S32 NUM_OVERLAP_ITERATIONS = 10;
-const F32 NEIGHBOR_FORCE_FRACTION = 1.f;
-const F32 POSITION_DAMPING_TC = 0.2f;
-const F32 MAX_STABLE_CAMERA_VELOCITY = 0.1f;
-//const F32 LOD_0_SCREEN_COVERAGE = 0.15f;
-//const F32 LOD_1_SCREEN_COVERAGE = 0.30f;
-//const F32 LOD_2_SCREEN_COVERAGE = 0.40f;
 
 std::set<LLPointer<LLHUDText> > LLHUDText::sTextObjects;
 std::vector<LLPointer<LLHUDText> > LLHUDText::sVisibleTextObjects;
diff --git a/indra/newview/llhudview.cpp b/indra/newview/llhudview.cpp
index 9a63e9935756b3e27873b134844df4b101e2df6b..cead4dbce674627751ff713124b1202b9da3c34f 100755
--- a/indra/newview/llhudview.cpp
+++ b/indra/newview/llhudview.cpp
@@ -44,10 +44,6 @@
 
 LLHUDView *gHUDView = NULL;
 
-const S32 HUD_ARROW_SIZE = 32;
-
-
-
 LLHUDView::LLHUDView(const LLRect& r)
 {
 	buildFromFile( "panel_hud.xml");
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index 833fbbadbb060181b1c73711c71200819a582788..2b27ff1862279ed63d723a6602436609f9c755c9 100755
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -199,6 +199,7 @@ class LLInvFVBridge : public LLFolderViewModelItemInventory
 class LLInventoryFolderViewModelBuilder
 {
 public:
+ 	LLInventoryFolderViewModelBuilder() {}
  	virtual ~LLInventoryFolderViewModelBuilder() {}
 	virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
 										LLAssetType::EType actual_asset_type,
@@ -653,6 +654,7 @@ class LLRecentItemsFolderBridge : public LLFolderBridge
 class LLRecentInventoryBridgeBuilder : public LLInventoryFolderViewModelBuilder
 {
 public:
+	LLRecentInventoryBridgeBuilder() {}
 	// Overrides FolderBridge for Recent Inventory Panel.
 	// It use base functionality for bridges other than FolderBridge.
 	virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
diff --git a/indra/newview/llinventoryfilter.cpp b/indra/newview/llinventoryfilter.cpp
index f211acedf0bdf996f1598060d3bf51b6cbf5ad4d..9f06c4d6019daab97045147f80d60f31504e5e95 100755
--- a/indra/newview/llinventoryfilter.cpp
+++ b/indra/newview/llinventoryfilter.cpp
@@ -550,7 +550,7 @@ void LLInventoryFilter::setFilterSubString(const std::string& string)
 		if (mFilterOps.mFilterTypes == FILTERTYPE_UUID)
 		{
 			mFilterOps.mFilterTypes &= ~FILTERTYPE_UUID;
-			mFilterOps.mFilterUUID == LLUUID::null;
+			mFilterOps.mFilterUUID = LLUUID::null;
 			setModified(FILTER_RESTART);
 		}
 
@@ -663,13 +663,13 @@ void LLInventoryFilter::setHoursAgo(U32 hours)
 		BOOL more_restrictive;
 		if (FILTERDATEDIRECTION_NEWER == mFilterOps.mDateSearchDirection)
 		{
-			less_restrictive = (are_date_limits_valid && ((is_increasing && mFilterOps.mHoursAgo)) || !hours);
-			more_restrictive = (are_date_limits_valid && (!is_increasing && hours) || is_increasing_from_zero);
+			less_restrictive = ((are_date_limits_valid && ((is_increasing && mFilterOps.mHoursAgo))) || !hours);
+			more_restrictive = ((are_date_limits_valid && (!is_increasing && hours)) || is_increasing_from_zero);
 		}
 		else
 		{
-			less_restrictive = (are_date_limits_valid && ((is_decreasing && mFilterOps.mHoursAgo)) || !hours);
-			more_restrictive = (are_date_limits_valid && (!is_decreasing && hours) || is_increasing_from_zero);
+			less_restrictive = ((are_date_limits_valid && ((is_decreasing && mFilterOps.mHoursAgo))) || !hours);
+			more_restrictive = ((are_date_limits_valid && (!is_decreasing && hours)) || is_increasing_from_zero);
 		}
 
 		mFilterOps.mHoursAgo = hours;
diff --git a/indra/newview/llinventorymodelbackgroundfetch.cpp b/indra/newview/llinventorymodelbackgroundfetch.cpp
index 2de37b0790262d571839ff2b9cd25e1e86cece94..9e56860c2b958b8cc18093e7c45fa819ac8737f6 100755
--- a/indra/newview/llinventorymodelbackgroundfetch.cpp
+++ b/indra/newview/llinventorymodelbackgroundfetch.cpp
@@ -38,7 +38,6 @@
 #include "llviewerregion.h"
 #include "llviewerwindow.h"
 
-const F32 MAX_TIME_FOR_SINGLE_FETCH = 10.f;
 const S32 MAX_FETCH_RETRIES = 10;
 
 LLInventoryModelBackgroundFetch::LLInventoryModelBackgroundFetch() :
diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp
index 897ee8429a75eb1c9205d3bcdfd3d5da349de966..2c2e66e08f3b217640cc832bfe083f42621a2fa7 100755
--- a/indra/newview/lllocalbitmaps.cpp
+++ b/indra/newview/lllocalbitmaps.cpp
@@ -74,7 +74,6 @@ bool                        LLLocalBitmapMgr::sNeedsRebake;
 static const F32 LL_LOCAL_TIMER_HEARTBEAT   = 3.0;
 static const BOOL LL_LOCAL_USE_MIPMAPS      = true;
 static const S32 LL_LOCAL_DISCARD_LEVEL     = 0;
-static const U32 LL_LOCAL_TEXLAYER_FOR_IDX  = 0;
 static const bool LL_LOCAL_SLAM_FOR_DEBUG   = true;
 static const bool LL_LOCAL_REPLACE_ON_DEL   = true;
 static const S32 LL_LOCAL_UPDATE_RETRIES    = 5;
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index df59283bc406877863c7660f71a00a66d8574328..03ef11d8e56b3dbbaf32d62aa72b99783bf0a88b 100755
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -85,8 +85,7 @@ namespace {
 		class ReadyToInstall; 
 		class StartingUpdaterService;
 		class WaitingForDownload;
-		
-		LLLoginInstance & mLoginInstance;
+
 		boost::scoped_ptr<State> mState;
 		LLUpdaterService & mUpdaterService;
 		
@@ -145,7 +144,7 @@ namespace {
 		virtual void exit(void);
 		
 	private:
-		MandatoryUpdateMachine & mMachine;
+		//MandatoryUpdateMachine & mMachine;
 	};
 	
 	
@@ -193,7 +192,6 @@ std::string construct_start_string();
 
 
 MandatoryUpdateMachine::MandatoryUpdateMachine(LLLoginInstance & loginInstance, LLUpdaterService & updaterService):
-	mLoginInstance(loginInstance),
 	mUpdaterService(updaterService)
 {
 	; // No op.
@@ -349,8 +347,8 @@ void MandatoryUpdateMachine::Error::onButtonClicked(const LLSD &, const LLSD &)
 //-----------------------------------------------------------------------------
 
 
-MandatoryUpdateMachine::ReadyToInstall::ReadyToInstall(MandatoryUpdateMachine & machine):
-	mMachine(machine)
+MandatoryUpdateMachine::ReadyToInstall::ReadyToInstall(MandatoryUpdateMachine & machine) //:
+	//mMachine(machine)
 {
 	; // No op.
 }
diff --git a/indra/newview/llmanipscale.cpp b/indra/newview/llmanipscale.cpp
index 2810941d83ce7a076ee2fc65d7a1f4476d83a2d0..84bec74a169e5be2620e8520917f0a11100bd2be 100755
--- a/indra/newview/llmanipscale.cpp
+++ b/indra/newview/llmanipscale.cpp
@@ -229,8 +229,6 @@ void LLManipScale::render()
 		const F32 BOX_HANDLE_BASE_SIZE		= 50.0f;   // box size in pixels = BOX_HANDLE_BASE_SIZE * BOX_HANDLE_BASE_FACTOR
 		const F32 BOX_HANDLE_BASE_FACTOR	= 0.2f;
 
-		LLVector3 center_agent = gAgent.getPosAgentFromGlobal(LLSelectMgr::getInstance()->getSelectionCenterGlobal());
-
 		if (mObjectSelection->getSelectType() == SELECT_TYPE_HUD)
 		{
 			for (S32 i = 0; i < NUM_MANIPULATORS; i++)
diff --git a/indra/newview/llmaniptranslate.cpp b/indra/newview/llmaniptranslate.cpp
index d22672bc16753c2265612b6e046286326e0b8855..cd41183601cd5a38e90b915bf412f0fd2359d27d 100755
--- a/indra/newview/llmaniptranslate.cpp
+++ b/indra/newview/llmaniptranslate.cpp
@@ -65,7 +65,6 @@
 
 const S32 NUM_AXES = 3;
 const S32 MOUSE_DRAG_SLOP = 2;       // pixels
-const F32 HANDLE_HIDE_ANGLE = 0.15f; // radians
 const F32 SELECTED_ARROW_SCALE = 1.3f;
 const F32 MANIPULATOR_HOTSPOT_START = 0.2f;
 const F32 MANIPULATOR_HOTSPOT_END = 1.2f;
diff --git a/indra/newview/llmediadataclient.cpp b/indra/newview/llmediadataclient.cpp
index 691be13610e4b5e7908a53d71546631ab0968159..2fb9e60b29e957d6615e48c38518c5707222094b 100755
--- a/indra/newview/llmediadataclient.cpp
+++ b/indra/newview/llmediadataclient.cpp
@@ -92,7 +92,7 @@ std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::request_queue
 std::ostream& operator<<(std::ostream &s, const LLMediaDataClient::Request &q);
 
 template <typename T>
-static typename T::iterator find_matching_request(T &c, const LLMediaDataClient::Request *request, LLMediaDataClient::Request::Type match_type)
+typename T::iterator find_matching_request(T &c, const LLMediaDataClient::Request *request, LLMediaDataClient::Request::Type match_type)
 {
 	for(typename T::iterator iter = c.begin(); iter != c.end(); ++iter)
 	{
@@ -106,7 +106,7 @@ static typename T::iterator find_matching_request(T &c, const LLMediaDataClient:
 }
 
 template <typename T>
-static typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type)
+typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type)
 {
 	for(typename T::iterator iter = c.begin(); iter != c.end(); ++iter)
 	{
@@ -123,7 +123,7 @@ static typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMedi
 // to other elements in the container (such as std::vector).
 // If the implementation is changed to use a container with this property, this will need to be revisited.
 template <typename T>
-static void remove_matching_requests(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type)
+void remove_matching_requests(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type)
 {
 	for(typename T::iterator iter = c.begin(); iter != c.end();)
 	{
@@ -171,10 +171,10 @@ bool LLMediaDataClient::isEmpty() const
 
 bool LLMediaDataClient::isInQueue(const LLMediaDataClientObject::ptr_t &object)
 {
-	if(find_matching_request(mQueue, object->getID()) != mQueue.end())
+	if(find_matching_request(mQueue, object->getID(), LLMediaDataClient::Request::ANY) != mQueue.end())
 		return true;
 	
-	if(find_matching_request(mUnQueuedRequests, object->getID()) != mUnQueuedRequests.end())
+	if(find_matching_request(mUnQueuedRequests, object->getID(), LLMediaDataClient::Request::ANY) != mUnQueuedRequests.end())
 		return true;
 	
 	return false;
@@ -183,8 +183,8 @@ bool LLMediaDataClient::isInQueue(const LLMediaDataClientObject::ptr_t &object)
 void LLMediaDataClient::removeFromQueue(const LLMediaDataClientObject::ptr_t &object)
 {
 	LL_DEBUGS("LLMediaDataClient") << "removing requests matching ID " << object->getID() << LL_ENDL;
-	remove_matching_requests(mQueue, object->getID());
-	remove_matching_requests(mUnQueuedRequests, object->getID());
+	remove_matching_requests(mQueue, object->getID(), LLMediaDataClient::Request::ANY);
+	remove_matching_requests(mUnQueuedRequests, object->getID(), LLMediaDataClient::Request::ANY);
 }
 
 void LLMediaDataClient::startQueueTimer() 
@@ -785,7 +785,7 @@ bool LLObjectMediaDataClient::isInQueue(const LLMediaDataClientObject::ptr_t &ob
 	if(LLMediaDataClient::isInQueue(object))
 		return true;
 
-	if(find_matching_request(mRoundRobinQueue, object->getID()) != mRoundRobinQueue.end())
+	if(find_matching_request(mRoundRobinQueue, object->getID(), LLMediaDataClient::Request::ANY) != mRoundRobinQueue.end())
 		return true;
 	
 	return false;
@@ -796,7 +796,7 @@ void LLObjectMediaDataClient::removeFromQueue(const LLMediaDataClientObject::ptr
 	// First, call parent impl.
 	LLMediaDataClient::removeFromQueue(object);
 	
-	remove_matching_requests(mRoundRobinQueue, object->getID());
+	remove_matching_requests(mRoundRobinQueue, object->getID(), LLMediaDataClient::Request::ANY);
 }
 
 bool LLObjectMediaDataClient::processQueueTimer()
@@ -952,7 +952,7 @@ void LLObjectMediaNavigateClient::enqueue(Request *request)
 	}
 	
 	// If there's already a matching request in the queue, remove it.
-	request_queue_t::iterator iter = find_matching_request(mQueue, request);
+	request_queue_t::iterator iter = find_matching_request(mQueue, request, LLMediaDataClient::Request::ANY);
 	if(iter != mQueue.end())
 	{
 		LL_DEBUGS("LLMediaDataClient") << "removing matching queued request " << (**iter) << LL_ENDL;
@@ -960,7 +960,7 @@ void LLObjectMediaNavigateClient::enqueue(Request *request)
 	}
 	else
 	{
-		request_set_t::iterator set_iter = find_matching_request(mUnQueuedRequests, request);
+		request_set_t::iterator set_iter = find_matching_request(mUnQueuedRequests, request, LLMediaDataClient::Request::ANY);
 		if(set_iter != mUnQueuedRequests.end())
 		{
 			LL_DEBUGS("LLMediaDataClient") << "removing matching unqueued request " << (**set_iter) << LL_ENDL;
diff --git a/indra/newview/llmediadataclient.h b/indra/newview/llmediadataclient.h
index 231b883c32c6f9d157839a2911622a2604eda2a2..80dd5198124c9f126d72d44412ed5dbcea67cb2b 100755
--- a/indra/newview/llmediadataclient.h
+++ b/indra/newview/llmediadataclient.h
@@ -281,10 +281,9 @@ class LLMediaDataClient : public LLRefCount
 		
 	bool mQueueTimerIsRunning;
 
-	template <typename T> friend typename T::iterator find_matching_request(T &c, const LLMediaDataClient::Request *request, LLMediaDataClient::Request::Type match_type = LLMediaDataClient::Request::ANY);
-	template <typename T> friend typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type = LLMediaDataClient::Request::ANY);
-	template <typename T> friend void remove_matching_requests(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type = LLMediaDataClient::Request::ANY);
-
+	template <typename T> friend typename T::iterator find_matching_request(T &c, const LLMediaDataClient::Request *request, LLMediaDataClient::Request::Type match_type);
+	template <typename T> friend typename T::iterator find_matching_request(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type);
+	template <typename T> friend void remove_matching_requests(T &c, const LLUUID &id, LLMediaDataClient::Request::Type match_type);
 };
 
 // MediaDataClient specific for the ObjectMedia cap
diff --git a/indra/newview/llmorphview.cpp b/indra/newview/llmorphview.cpp
index 252d1b78ea013e96402ee87f4cd704acddb104b4..ff86400a56bb49ea93c30e043f17c0badbaff843 100755
--- a/indra/newview/llmorphview.cpp
+++ b/indra/newview/llmorphview.cpp
@@ -47,17 +47,8 @@
 
 LLMorphView *gMorphView = NULL;
 
-
-const F32 EDIT_AVATAR_ORBIT_SPEED = 0.1f;
-const F32 EDIT_AVATAR_MAX_CAMERA_PITCH = 0.5f;
-
-const F32 CAMERA_MOVE_TIME = 0.5f;
 const F32 MORPH_NEAR_CLIP = 0.1f;
 
-const F32 CAMERA_DIST_MIN  = 0.4f;
-const F32 CAMERA_DIST_MAX  = 4.0f;
-const F32 CAMERA_DIST_STEP = 1.5f;
-
 //-----------------------------------------------------------------------------
 // LLMorphView()
 //-----------------------------------------------------------------------------
diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp
index 1685a18e26277de3994fa762a53386770745d61e..5abc9dbbe222fd9b92fc8d67c3b00dddec8390bc 100755
--- a/indra/newview/llnetmap.cpp
+++ b/indra/newview/llnetmap.cpp
@@ -67,7 +67,6 @@ const F32 LLNetMap::MAP_SCALE_MIN = 32;
 const F32 LLNetMap::MAP_SCALE_MID = 1024;
 const F32 LLNetMap::MAP_SCALE_MAX = 4096;
 
-const F32 MAP_SCALE_INCREMENT = 16;
 const F32 MAP_SCALE_ZOOM_FACTOR = 1.04f; // Zoom in factor per click of scroll wheel (4%)
 const F32 MIN_DOT_RADIUS = 3.5f;
 const F32 DOT_SCALE = 0.75f;
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index e3be1312e45bafdc19db4b7d7eff04493a998cdd..de2d315480d66f1cd8845a4b09c68de20e2812b5 100755
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -77,8 +77,6 @@ const S32 MATMEDIA_MEDIA = 1;		// Media
 const S32 MATTYPE_DIFFUSE = 0;		// Diffuse material texture
 const S32 MATTYPE_NORMAL = 1;		// Normal map
 const S32 MATTYPE_SPECULAR = 2;		// Specular map
-const S32 ALPHAMODE_NONE = 0;		// No alpha mask applied
-const S32 ALPHAMODE_BLEND = 1;		// Alpha blending mode
 const S32 ALPHAMODE_MASK = 2;		// Alpha masking mode
 const S32 BUMPY_TEXTURE = 18;		// use supplied normal map
 const S32 SHINY_TEXTURE = 4;		// use supplied specular map
diff --git a/indra/newview/llpanellandaudio.h b/indra/newview/llpanellandaudio.h
index 32a45100f4c41e79a03b19cdbc0fe93491ccb9a2..7e4fce80e412e38a86585abad2513e44742dde25 100755
--- a/indra/newview/llpanellandaudio.h
+++ b/indra/newview/llpanellandaudio.h
@@ -51,7 +51,6 @@ class LLPanelLandAudio
 	LLCheckBoxCtrl* mCheckEstateDisabledVoice;
 	LLCheckBoxCtrl* mCheckParcelVoiceLocal;	
 	LLLineEditor*	mMusicURLEdit;
-	LLCheckBoxCtrl* mMusicUrlCheck;
 	LLCheckBoxCtrl* mCheckAVSoundAny;
 	LLCheckBoxCtrl* mCheckAVSoundGroup;
 
diff --git a/indra/newview/llpanellandmedia.h b/indra/newview/llpanellandmedia.h
index 0e6292a25efac92132f81cb20628e316f2ecdf9d..63cfa01470f495676aa1afe5ed2999ba2cca32b2 100755
--- a/indra/newview/llpanellandmedia.h
+++ b/indra/newview/llpanellandmedia.h
@@ -59,12 +59,10 @@ class LLPanelLandMedia
 	LLButton*		mSetURLButton;
 	LLSpinCtrl*		mMediaHeightCtrl;
 	LLSpinCtrl*		mMediaWidthCtrl;
-	LLTextBox*		mMediaResetCtrlLabel;
 	LLTextBox*		mMediaSizeCtrlLabel;
 	LLTextureCtrl*	mMediaTextureCtrl;
 	LLCheckBoxCtrl*	mMediaAutoScaleCheck;
 	LLCheckBoxCtrl*	mMediaLoopCheck;
-	LLCheckBoxCtrl* mMediaUrlCheck;
 	LLHandle<LLFloater>	mURLEntryFloater;
 
 
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index bbc3b85bf082f4caef3f9b6ed1e3afe8bdd11c29..dd61929f35cc20c136d798e7fceb737bb4d5d0f6 100755
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -75,9 +75,6 @@
 
 #include "llsdserialize.h"
 
-const S32 BLACK_BORDER_HEIGHT = 160;
-const S32 MAX_PASSWORD = 16;
-
 LLPanelLogin *LLPanelLogin::sInstance = NULL;
 BOOL LLPanelLogin::sCapslockDidNotification = FALSE;
 
diff --git a/indra/newview/llpanelpeople.h b/indra/newview/llpanelpeople.h
index 55eaf74f74cb195d5a4a0cbd625502d9ccd6e19b..c1d7a134fa025c2135eb9289747fb1cdbee2db34 100755
--- a/indra/newview/llpanelpeople.h
+++ b/indra/newview/llpanelpeople.h
@@ -149,7 +149,6 @@ class LLPanelPeople
 	Updater*				mFriendListUpdater;
 	Updater*				mNearbyListUpdater;
 	Updater*				mRecentListUpdater;
-	Updater*				mFacebookListUpdater;
 	Updater*				mButtonsUpdater;
     LLHandle< LLFloater >	mPicker;
 };
diff --git a/indra/newview/llpanelplaces.cpp b/indra/newview/llpanelplaces.cpp
index 2be96b9b78c59e2150cb73b731359079ec4adcb5..4bcd932d4b0cf3fefd149d3ff192295dd8913795 100755
--- a/indra/newview/llpanelplaces.cpp
+++ b/indra/newview/llpanelplaces.cpp
@@ -75,7 +75,6 @@
 #include "llviewerwindow.h"
 
 // Constants
-static const S32 LANDMARK_FOLDERS_MENU_WIDTH = 250;
 static const F32 PLACE_INFO_UPDATE_INTERVAL = 3.0;
 static const std::string AGENT_INFO_TYPE			= "agent";
 static const std::string CREATE_LANDMARK_INFO_TYPE	= "create_landmark";
diff --git a/indra/newview/llplacesinventorybridge.h b/indra/newview/llplacesinventorybridge.h
index 07d18d03c57042fa492467ffab97be3cdd6916f6..108991210fc2ce398d30a312035750813880cabb 100755
--- a/indra/newview/llplacesinventorybridge.h
+++ b/indra/newview/llplacesinventorybridge.h
@@ -85,6 +85,8 @@ class LLPlacesFolderBridge : public LLFolderBridge
 class LLPlacesInventoryBridgeBuilder : public LLInventoryFolderViewModelBuilder
 {
 public:
+	LLPlacesInventoryBridgeBuilder() {}
+
 	/*virtual*/ LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
 											LLAssetType::EType actual_asset_type,
 											LLInventoryType::EType inv_type,
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index 8eea5ea73e39efa67ffb9e1ca09747428a775577..45447b742b27efbfd459c687578acae76c45a86e 100755
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -106,9 +106,6 @@ const std::string DEFAULT_SCRIPT_NAME = "New Script"; // *TODO:Translate?
 const std::string DEFAULT_SCRIPT_DESC = "(No Description)"; // *TODO:Translate?
 
 // Description and header information
-
-const S32 MAX_EXPORT_SIZE = 1000;
-
 const S32 MAX_HISTORY_COUNT = 10;
 const F32 LIVE_HELP_REFRESH_TIME = 1.f;
 
diff --git a/indra/newview/llscripteditor.cpp b/indra/newview/llscripteditor.cpp
index 81920562a7cd4662384e9b5692a48f615597a02b..cd3a4dfd11a712d8094c3abfa485732b644b6948 100644
--- a/indra/newview/llscripteditor.cpp
+++ b/indra/newview/llscripteditor.cpp
@@ -32,7 +32,6 @@
 #include "lllocalcliprect.h"
 
 const S32	UI_TEXTEDITOR_LINE_NUMBER_MARGIN = 32;
-const S32	UI_TEXTEDITOR_LINE_NUMBER_DIGITS = 4;
 
 static LLDefaultChildRegistry::Register<LLScriptEditor> r("script_editor");
 
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index eb3a4c37d99d7f43a4af2fa421f76d19b34a92da..9e0bd9b6ed4085d670d83073b99d2f6ee42611c2 100755
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -99,14 +99,11 @@ LLViewerObject* getSelectedParentObject(LLViewerObject *object) ;
 // Consts
 //
 
-const S32 NUM_SELECTION_UNDO_ENTRIES = 200;
 const F32 SILHOUETTE_UPDATE_THRESHOLD_SQUARED = 0.02f;
-const S32 MAX_ACTION_QUEUE_SIZE = 20;
 const S32 MAX_SILS_PER_FRAME = 50;
 const S32 MAX_OBJECTS_PER_PACKET = 254;
 // For linked sets
 const S32 MAX_CHILDREN_PER_TASK = 255;
-const S32 MAX_CHILDREN_PER_PHYSICAL_TASK = 32;
 
 //
 // Globals
@@ -1941,7 +1938,7 @@ void LLSelectMgr::selectionSetMedia(U8 media_type, const LLSD &media_data)
 					llassert(mMediaData.isMap());
 					const LLTextureEntry *texture_entry = object->getTE(te);
 					if (!mMediaData.isMap() ||
-						(NULL != texture_entry) && !texture_entry->hasMedia() && !mMediaData.has(LLMediaEntry::HOME_URL_KEY))
+						((NULL != texture_entry) && !texture_entry->hasMedia() && !mMediaData.has(LLMediaEntry::HOME_URL_KEY)))
 					{
 						// skip adding/updating media
 					}
diff --git a/indra/newview/llsidepanelappearance.h b/indra/newview/llsidepanelappearance.h
index cde05a8d9b326558ab9fc9b9f52a3225e0720450..440fce07bbc281fdc70802b1efa582278d69a9f8 100755
--- a/indra/newview/llsidepanelappearance.h
+++ b/indra/newview/llsidepanelappearance.h
@@ -90,9 +90,6 @@ class LLSidepanelAppearance : public LLPanel
 	LLTextBox*					mCurrentLookName;
 	LLTextBox*					mOutfitStatus;
 
-	// Used to make sure the user's inventory is in memory.
-	LLCurrentlyWornFetchObserver* mFetchWorn;
-
 	// Search string for filtering landmarks and teleport
 	// history locations
 	std::string					mFilterSubString;
diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp
index 4970eec636844fe33797ad6f851601ab2a6e2315..0e23e2ad10ae20294f8617b293494f3dcc2119cc 100755
--- a/indra/newview/llsidepanelinventory.cpp
+++ b/indra/newview/llsidepanelinventory.cpp
@@ -70,10 +70,7 @@ static LLPanelInjector<LLSidepanelInventory> t_inventory("sidepanel_inventory");
 
 static const char * const INBOX_BUTTON_NAME = "inbox_btn";
 static const char * const INBOX_LAYOUT_PANEL_NAME = "inbox_layout_panel";
-static const char * const MAIN_INVENTORY_LAYOUT_PANEL_NAME = "main_inventory_layout_panel";
-
 static const char * const INVENTORY_LAYOUT_STACK_NAME = "inventory_layout_stack";
-
 static const char * const MARKETPLACE_INBOX_PANEL = "marketplace_inbox";
 
 //
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index eedb829b48c424dfcf77ed022a865de04d49cf8d..2d4b23d89222fc2de7f5c430b4081ff1aaf323c6 100755
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -94,16 +94,11 @@ extern S32 MENU_BAR_HEIGHT;
 
 
 // TODO: these values ought to be in the XML too
-const S32 MENU_PARCEL_SPACING = 1;	// Distance from right of menu item to parcel information
 const S32 SIM_STAT_WIDTH = 8;
-const F32 SIM_WARN_FRACTION = 0.75f;
-const F32 SIM_FULL_FRACTION = 0.98f;
 const LLColor4 SIM_OK_COLOR(0.f, 1.f, 0.f, 1.f);
 const LLColor4 SIM_WARN_COLOR(1.f, 1.f, 0.f, 1.f);
 const LLColor4 SIM_FULL_COLOR(1.f, 0.f, 0.f, 1.f);
 const F32 ICON_TIMER_EXPIRY		= 3.f; // How long the balance and health icons should flash after a change.
-const F32 ICON_FLASH_FREQUENCY	= 2.f;
-const S32 TEXT_HEIGHT = 18;
 
 static void onClickVolume(void*);
 
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index c12753acb0963054690216f7f3fedfd50a35db49..eebed63ef2591ec95d26464b1b712097b4c67bae 100755
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -72,12 +72,6 @@
 #include "llfloaterreg.h"
 #include "lllocalbitmaps.h"
 
-static const S32 HPAD = 4;
-static const S32 VPAD = 4;
-static const S32 LINE = 16;
-static const S32 FOOTER_HEIGHT = 100;
-static const S32 BORDER_PAD = HPAD;
-static const S32 TEXTURE_INVENTORY_PADDING = 30;
 static const F32 CONTEXT_CONE_IN_ALPHA = 0.0f;
 static const F32 CONTEXT_CONE_OUT_ALPHA = 1.f;
 static const F32 CONTEXT_FADE_TIME = 0.08f;
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index d9a874be499b78a161d10a6036ff40d53ea06767..085391a666df4e994976dea54d0c1971d84a5e40 100755
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -338,7 +338,7 @@ class LLTextureFetchWorker : public LLWorkerClass, public LLCore::HttpHandler
 
 		// Threads:  Ttf
 		DecodeResponder(LLTextureFetch* fetcher, const LLUUID& id, LLTextureFetchWorker* worker)
-			: mFetcher(fetcher), mID(id), mWorker(worker)
+			: mFetcher(fetcher), mID(id)
 		{
 		}
 
@@ -354,7 +354,6 @@ class LLTextureFetchWorker : public LLWorkerClass, public LLCore::HttpHandler
 	private:
 		LLTextureFetch* mFetcher;
 		LLUUID mID;
-		LLTextureFetchWorker* mWorker; // debug only (may get deleted from under us, use mFetcher/mID)
 	};
 
 	struct Compare
diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp
index c82894a5cc9d07c31043b9cfeb0832b09dd68604..0a9453534b18310bb08d28884eea7369ada3e156 100755
--- a/indra/newview/lltoastalertpanel.cpp
+++ b/indra/newview/lltoastalertpanel.cpp
@@ -48,7 +48,6 @@
 
 const S32 MAX_ALLOWED_MSG_WIDTH = 400;
 const F32 DEFAULT_BUTTON_DELAY = 0.5f;
-const S32 MSG_PAD = 8;
 
 /*static*/ LLControlGroup* LLToastAlertPanel::sSettings = NULL;
 /*static*/ LLToastAlertPanel::URLLoader* LLToastAlertPanel::sURLLoader;
diff --git a/indra/newview/lltoastgroupnotifypanel.h b/indra/newview/lltoastgroupnotifypanel.h
index 431fd32da257b230e77da2503297a5537912f64b..269c23798c3a543e802a14a28ed0bd98361a84e5 100755
--- a/indra/newview/lltoastgroupnotifypanel.h
+++ b/indra/newview/lltoastgroupnotifypanel.h
@@ -60,8 +60,6 @@ class LLToastGroupNotifyPanel
 
 	static const S32 DEFAULT_MESSAGE_MAX_LINE_COUNT;
 
-	LLButton* mSaveInventoryBtn;
-
 	LLUUID mGroupID;
 	LLOfferInfo* mInventoryOffer;
 };
diff --git a/indra/newview/lltoolbrush.cpp b/indra/newview/lltoolbrush.cpp
index e3eb8ba7afcf59916c44629a13c2719810fbe60d..0a0bfaf58bbe7e27d94a1096a2d86e1b7216bb11 100755
--- a/indra/newview/lltoolbrush.cpp
+++ b/indra/newview/lltoolbrush.cpp
@@ -65,8 +65,7 @@ const std::string REGION_BLOCKS_TERRAFORM_MSG = "This region does not allow terr
 
 const S32 LAND_BRUSH_SIZE_COUNT = 3;
 const F32 LAND_BRUSH_SIZE[LAND_BRUSH_SIZE_COUNT] = {1.0f, 2.0f, 4.0f};
-const S32 LAND_STEPS = 3;
-const F32 LAND_METERS_PER_SECOND = 1.0f;
+
 enum
 {
 	E_LAND_LEVEL	= 0,
diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp
index 4bda9072d0a78f57e84fc9845172bcf541be49ba..5a63f6e28646daf155d111cfa18e2f93957d9272 100755
--- a/indra/newview/lltoolcomp.cpp
+++ b/indra/newview/lltoolcomp.cpp
@@ -52,14 +52,8 @@
 #include "llfloatertools.h"
 #include "llviewercontrol.h"
 
-const S32 BUTTON_HEIGHT = 16;
-const S32 BUTTON_WIDTH_SMALL = 32;
-const S32 BUTTON_WIDTH_BIG = 48;
-const S32 HPAD = 4;
-
 extern LLControlGroup gSavedSettings;
 
-
 // we use this in various places instead of NULL
 static LLPointer<LLTool> sNullTool(new LLTool(std::string("null"), NULL)); 
 
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index 575e5c5c52522443f2856ee1dd03aaaf0890fade..75620be69a149b96fdf6b472d3ffd931490eb948 100755
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -947,8 +947,7 @@ void LLToolDragAndDrop::pick(const LLPickInfo& pick_info)
 				const S32 item_index = mCurItemIndex;
 				const EDragAndDropType dad_type = mCargoTypes[item_index];
 				// Call the right implementation function
-				(U32)callMemberFunction(*this,
-										LLDragAndDropDictionary::instance().get(dad_type, target))
+				callMemberFunction(*this, LLDragAndDropDictionary::instance().get(dad_type, target))
 					(hit_obj, hit_face, pick_info.mKeyMask, TRUE);
 			}
 		}
diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp
index 58073d11863308e0e2993ee0c8e17c6214ecda4f..7de91c7757f2abd00a8e62aa70097791d2490f98 100755
--- a/indra/newview/lltoolfocus.cpp
+++ b/indra/newview/lltoolfocus.cpp
@@ -61,7 +61,6 @@ BOOL gCameraBtnOrbit = FALSE;
 BOOL gCameraBtnPan = FALSE;
 
 const S32 SLOP_RANGE = 4;
-const F32 FOCUS_OFFSET_FACTOR = 1.f;
 
 //
 // Camera - shared functionality
diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp
index 6a8fad0134e9378de68ecda48e1c59d3ae85ccf3..5cc7d7bed30d50df1be9c7c67a8fc84044c512de 100755
--- a/indra/newview/llversioninfo.cpp
+++ b/indra/newview/llversioninfo.cpp
@@ -38,8 +38,6 @@
  #error "Channel or Version information is undefined"
 #endif
 
-const char * const LL_CHANNEL = LL_VIEWER_CHANNEL;
-
 //
 // Set the version numbers in indra/VIEWER_VERSION
 //
diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp
index b0f4802e209656df8b77bda6a3d1f7ce5502adec..b6c27b0abc0ae32b8f74e253ef35e97f6c29beed 100755
--- a/indra/newview/llviewerkeyboard.cpp
+++ b/indra/newview/llviewerkeyboard.cpp
@@ -53,7 +53,6 @@ const F32 FLY_FRAMES = 4;
 const F32 NUDGE_TIME = 0.25f;  // in seconds
 const S32 NUDGE_FRAMES = 2;
 const F32 ORBIT_NUDGE_RATE = 0.05f;  // fraction of normal speed
-const F32 YAW_NUDGE_RATE = 0.05f;  // fraction of normal speed
 
 struct LLKeyboardActionRegistry 
 :	public LLRegistrySingleton<std::string, boost::function<void (EKeystate keystate)>, LLKeyboardActionRegistry>
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 44eb4361f178b9897baab65367c53a10c7c06598..762f75edd431a54765157649b90b0504fab7ada6 100755
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -128,10 +128,7 @@ extern void on_new_message(const LLSD& msg);
 //
 // Constants
 //
-const F32 BIRD_AUDIBLE_RADIUS = 32.0f;
-const F32 SIT_DISTANCE_FROM_TARGET = 0.25f;
 const F32 CAMERA_POSITION_THRESHOLD_SQUARED = 0.001f * 0.001f;
-static const F32 LOGOUT_REPLY_TIME = 3.f;	// Wait this long after LogoutReply before quitting.
 
 // Determine how quickly residents' scripts can issue question dialogs
 // Allow bursts of up to 5 dialogs in 10 seconds. 10*2=20 seconds recovery if throttle kicks in
@@ -2411,7 +2408,7 @@ void process_improved_im(LLMessageSystem *msg, void **user_data)
 	BOOL is_do_not_disturb = gAgent.isDoNotDisturb();
 	BOOL is_muted = LLMuteList::getInstance()->isMuted(from_id, name, LLMute::flagTextChat)
 		// object IMs contain sender object id in session_id (STORM-1209)
-		|| dialog == IM_FROM_TASK && LLMuteList::getInstance()->isMuted(session_id);
+		|| (dialog == IM_FROM_TASK && LLMuteList::getInstance()->isMuted(session_id));
 	BOOL is_owned_by_me = FALSE;
 	BOOL is_friend = (LLAvatarTracker::instance().getBuddyInfo(from_id) == NULL) ? false : true;
 	BOOL accept_im_from_only_friend = gSavedSettings.getBOOL("VoiceCallsFriendsOnly");
@@ -5116,7 +5113,7 @@ void process_avatar_sit_response(LLMessageSystem *mesgsys, void **user_data)
 	if (object)
 	{
 		LLVector3 sit_spot = object->getPositionAgent() + (sitPosition * object->getRotation());
-		if (!use_autopilot || isAgentAvatarValid() && gAgentAvatarp->isSitting() && gAgentAvatarp->getRoot() == object->getRoot())
+		if (!use_autopilot || (isAgentAvatarValid() && gAgentAvatarp->isSitting() && gAgentAvatarp->getRoot() == object->getRoot()))
 		{
 			//we're already sitting on this object, so don't autopilot
 		}
@@ -7117,8 +7114,6 @@ void process_user_info_reply(LLMessageSystem* msg, void**)
 //---------------------------------------------------------------------------
 
 const S32 SCRIPT_DIALOG_MAX_BUTTONS = 12;
-const S32 SCRIPT_DIALOG_BUTTON_STR_SIZE = 24;
-const S32 SCRIPT_DIALOG_MAX_MESSAGE_SIZE = 512;
 const char* SCRIPT_DIALOG_HEADER = "Script Dialog:\n";
 
 bool callback_script_dialog(const LLSD& notification, const LLSD& response)
diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp
index 76418ad6a629fbb9e10800535d9a7efe627648f7..8b55f40baa9bc88ea046911e6a8ab17413c6f278 100755
--- a/indra/newview/llviewerpartsim.cpp
+++ b/indra/newview/llviewerpartsim.cpp
@@ -42,8 +42,6 @@
 #include "llvovolume.h"
 
 const F32 PART_SIM_BOX_SIDE = 16.f;
-const F32 PART_SIM_BOX_OFFSET = 0.5f*PART_SIM_BOX_SIDE;
-const F32 PART_SIM_BOX_RAD = 0.5f*F_SQRT3*PART_SIM_BOX_SIDE;
 
 //static
 S32 LLViewerPartSim::sMaxParticleCount = 0;
@@ -311,7 +309,6 @@ void LLViewerPartGroup::updateParticles(const F32 lastdt)
 
 		if (part->mFlags & LLPartData::LL_PART_WIND_MASK)
 		{
-			LLVector3 tempVel(part->mVelocity);
 			part->mVelocity *= 1.f - 0.1f*dt;
 			part->mVelocity += 0.1f*dt*regionp->mWind.getVelocity(regionp->getPosRegionFromAgent(part->mPosAgent));
 		}
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index 11cbf3fc243cb26c42b6374fcc5d627609864370..c0c985590360904140a291b01d338d0f7261b4d0 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -87,8 +87,6 @@
 // out the two lists of capabilities for analysis.
 //#define DEBUG_CAPS_GRANTS
 
-const F32 WATER_TEXTURE_SCALE = 8.f;			//  Number of times to repeat the water texture across a region
-const S16 MAX_MAP_DIST = 10;
 // The server only keeps our pending agent info for 60 seconds.
 // We want to allow for seed cap retry, but its not useful after that 60 seconds.
 // Give it 3 chances, each at 18 seconds to give ourselves a few seconds to connect anyways if we give up.
@@ -1924,7 +1922,6 @@ class CoarseLocationUpdate : public LLHTTPNode
 			}
 			else if( i != you_index)
 			{
-				U32 loc = x << 16 | y << 8 | z; loc = loc;
 				U32 pos = 0x0;
 				pos |= x;
 				pos <<= 8;
diff --git a/indra/newview/llviewertexlayer.cpp b/indra/newview/llviewertexlayer.cpp
index 65ba3fb6e5017fe80b221d228ee3f770457b92cd..66e5742911e85d03128fa23328f2b638d5dc94c0 100755
--- a/indra/newview/llviewertexlayer.cpp
+++ b/indra/newview/llviewertexlayer.cpp
@@ -39,9 +39,6 @@
 #include "pipeline.h"
 #include "llviewercontrol.h"
 
-static const S32 BAKE_UPLOAD_ATTEMPTS = 7;
-static const F32 BAKE_UPLOAD_RETRY_DELAY = 2.f; // actual delay grows by power of 2 each attempt
-
 // runway consolidate
 extern std::string self_av_string();
 
diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp
index 0c4f55d704240a7a6c7817f1b951e83cbc06cda7..85ae64aefff472159955432a8da77997a3c4cda0 100755
--- a/indra/newview/llviewertexteditor.cpp
+++ b/indra/newview/llviewertexteditor.cpp
@@ -169,8 +169,7 @@ class LLEmbeddedItemSegment : public LLTextSegment
 		mImage(image),
 		mLabel(utf8str_to_wstring(inv_item->getName())),
 		mItem(inv_item),
-		mEditor(editor),
-		mHasMouseHover(false)
+		mEditor(editor)
 	{
 
 		mStyle = new LLStyle(LLStyle::Params().font(LLFontGL::getFontSansSerif()));
@@ -262,8 +261,6 @@ class LLEmbeddedItemSegment : public LLTextSegment
 	std::string		mToolTip;
 	LLPointer<LLInventoryItem> mItem;
 	LLTextEditor&	mEditor;
-	bool			mHasMouseHover;
-
 };
 
 
diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp
index 4e2eef39d67d8c20a45b3e165826715e0228c083..023457c0c8da99445a389ad547e73ae90977e449 100755
--- a/indra/newview/llviewertexture.cpp
+++ b/indra/newview/llviewertexture.cpp
@@ -452,7 +452,6 @@ void LLViewerTexture::initClass()
 // tuning params
 const F32 discard_bias_delta = .25f;
 const F32 discard_delta_time = 0.5f;
-const S32 min_non_tex_system_mem = (128<<20); // 128 MB
 // non-const (used externally
 F32 texmem_lower_bound_scale = 0.85f;
 F32 texmem_middle_bound_scale = 0.925f;
diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index b98726900f8cc345bd24731b2cc51028c04cd54f..8c27ddc63ce837cebfe8b8179b924ec1d856dde3 100755
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -1258,9 +1258,6 @@ LLPointer<LLImageJ2C> LLViewerTextureList::convertToUploadFile(LLPointer<LLImage
 	return compressedImage;
 }
 
-const S32 MIN_VIDEO_RAM = 32;
-const S32 MAX_VIDEO_RAM = 512; // 512MB max for performance reasons.
-
 // Returns min setting for TextureMemory (in MB)
 S32Megabytes LLViewerTextureList::getMinVideoRamSetting()
 {
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 22b979aa098070af06ba914c8ffca4aaa93b2186..9ba0c9a4b2f813972c4d6994447dc4fe7323ba0d 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -134,10 +134,6 @@ const LLUUID ANIM_AGENT_PHYSICS_MOTION = LLUUID("7360e029-3cb8-ebc4-863e-212df44
 //-----------------------------------------------------------------------------
 // Constants
 //-----------------------------------------------------------------------------
-
-const S32 MIN_PIXEL_AREA_FOR_COMPOSITE = 1024;
-const F32 SHADOW_OFFSET_AMT = 0.03f;
-
 const F32 DELTA_TIME_MIN = 0.01f;	// we clamp measured deltaTime to this
 const F32 DELTA_TIME_MAX = 0.2f;	// range to insure stability of computations.
 
@@ -145,22 +141,15 @@ const F32 PELVIS_LAG_FLYING		= 0.22f;// pelvis follow half life while flying
 const F32 PELVIS_LAG_WALKING	= 0.4f;	// ...while walking
 const F32 PELVIS_LAG_MOUSELOOK = 0.15f;
 const F32 MOUSELOOK_PELVIS_FOLLOW_FACTOR = 0.5f;
-const F32 PELVIS_LAG_WHEN_FOLLOW_CAM_IS_ON = 0.0001f; // not zero! - something gets divided by this!
 const F32 TORSO_NOISE_AMOUNT = 1.0f;	// Amount of deviation from up-axis, in degrees
 const F32 TORSO_NOISE_SPEED = 0.2f;	// Time scale factor on torso noise.
 
 const F32 BREATHE_ROT_MOTION_STRENGTH = 0.05f;
-const F32 BREATHE_SCALE_MOTION_STRENGTH = 0.005f;
-
-const F32 MIN_SHADOW_HEIGHT = 0.f;
-const F32 MAX_SHADOW_HEIGHT = 0.3f;
 
 const S32 MIN_REQUIRED_PIXEL_AREA_BODY_NOISE = 10000;
 const S32 MIN_REQUIRED_PIXEL_AREA_BREATHE = 10000;
 const S32 MIN_REQUIRED_PIXEL_AREA_PELVIS_FIX = 40;
 
-const S32 TEX_IMAGE_SIZE_SELF = 512;
-const S32 TEX_IMAGE_AREA_SELF = TEX_IMAGE_SIZE_SELF * TEX_IMAGE_SIZE_SELF;
 const S32 TEX_IMAGE_SIZE_OTHER = 512 / 4;  // The size of local textures for other (!isSelf()) avatars
 
 const F32 HEAD_MOVEMENT_AVG_TIME = 0.9f;
@@ -4156,8 +4145,8 @@ U32 LLVOAvatar::renderTransparent(BOOL first_pass)
 		}
 		// Can't test for baked hair being defined, since that won't always be the case (not all viewers send baked hair)
 		// TODO: 1.25 will be able to switch this logic back to calling isTextureVisible();
-		if ( getImage(TEX_HAIR_BAKED, 0) && 
-		     getImage(TEX_HAIR_BAKED, 0)->getID() != IMG_INVISIBLE || LLDrawPoolAlpha::sShowDebugAlpha)		
+		if ( ( getImage(TEX_HAIR_BAKED, 0) && 
+		     getImage(TEX_HAIR_BAKED, 0)->getID() != IMG_INVISIBLE ) || LLDrawPoolAlpha::sShowDebugAlpha)		
 		{
 			LLViewerJoint* hair_mesh = getViewerJoint(MESH_ID_HAIR);
 			if (hair_mesh)
diff --git a/indra/newview/llvograss.cpp b/indra/newview/llvograss.cpp
index b79a48012a83dc21fbc93dc280d193608e8043d7..8d8f33b60170f32d596751f49d55c0c9583a3816 100755
--- a/indra/newview/llvograss.cpp
+++ b/indra/newview/llvograss.cpp
@@ -51,7 +51,6 @@
 
 const S32 GRASS_MAX_BLADES =	32;
 const F32 GRASS_BLADE_BASE =	0.25f;			//  Width of grass at base
-const F32 GRASS_BLADE_TOP =		0.25f;			//  Width of grass at top
 const F32 GRASS_BLADE_HEIGHT =	0.5f;			// meters
 const F32 GRASS_DISTRIBUTION_SD = 0.15f;		// empirically defined
 
diff --git a/indra/newview/llvoicevisualizer.cpp b/indra/newview/llvoicevisualizer.cpp
index 23a8a61b8526cc2e537a581d8a5980bf3ab35e5d..cb83cf8fdf3e4b25c678c8562d772f663420be08 100755
--- a/indra/newview/llvoicevisualizer.cpp
+++ b/indra/newview/llvoicevisualizer.cpp
@@ -70,7 +70,6 @@ const F32 DEFAULT_MAXIMUM_GESTICULATION_AMPLITUDE	= 1.0f;
 //--------------------------------------------------------------------------------------
 // other constants
 //--------------------------------------------------------------------------------------
-const F32 ONE_HALF = 1.0f; // to clarify intent and reduce magic numbers in the code. 
 const LLVector3 WORLD_UPWARD_DIRECTION = LLVector3( 0.0f, 0.0f, 1.0f ); // Z is up in SL
 
 //------------------------------------------------------------------
diff --git a/indra/newview/llvopartgroup.cpp b/indra/newview/llvopartgroup.cpp
index c1593fa5fcfa9f3ce401689d22ea0403506e9467..a9a1393e54ef1af43d3dbc48eec08974c2ea3ea4 100755
--- a/indra/newview/llvopartgroup.cpp
+++ b/indra/newview/llvopartgroup.cpp
@@ -44,8 +44,6 @@
 #include "pipeline.h"
 #include "llspatialpartition.h"
 
-const F32 MAX_PART_LIFETIME = 120.f;
-
 extern U64MicrosecondsImplicit gFrameTime;
 
 LLPointer<LLVertexBuffer> LLVOPartGroup::sVB = NULL;
diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp
index 07c2f0d44d0c7cd8e2d9719794bf5e54ca343e6b..4dab213fa0e8d16837edc650343a2e000d953ba6 100755
--- a/indra/newview/llvosky.cpp
+++ b/indra/newview/llvosky.cpp
@@ -62,8 +62,6 @@ static const S32 NUM_TILES = NUM_TILES_X * NUM_TILES_Y;
 static const F32 SUN_DISK_RADIUS	= 0.5f;
 static const F32 MOON_DISK_RADIUS	= SUN_DISK_RADIUS * 0.9f;
 static const F32 SUN_INTENSITY = 1e5;
-static const F32 SUN_DISK_INTENSITY = 24.f;
-
 
 // Texture coordinates:
 static const LLVector2 TEX00 = LLVector2(0.f, 0.f);
@@ -619,21 +617,6 @@ static inline LLColor3 colorMix(LLColor3 const & left, LLColor3 const & right, F
 	return (left + ((right - left) * amount));
 }
 
-static inline F32 texture2D(LLPointer<LLImageRaw> const & tex, LLVector2 const & uv)
-{
-	U16 w = tex->getWidth();
-	U16 h = tex->getHeight();
-
-	U16 r = U16(uv[0] * w) % w;
-	U16 c = U16(uv[1] * h) % h;
-
-	U8 const * imageBuffer = tex->getData();
-
-	U8 sample = imageBuffer[r * w + c];
-
-	return sample / 255.f;
-}
-
 static inline LLColor3 smear(F32 val)
 {
 	return LLColor3(val, val, val);
diff --git a/indra/newview/llvotree.cpp b/indra/newview/llvotree.cpp
index 66c0ace79d731f16be341f288238ff1f52b777d3..367fa21b91462ff1eb4ea4f86de1df42cd559e43 100755
--- a/indra/newview/llvotree.cpp
+++ b/indra/newview/llvotree.cpp
@@ -396,9 +396,6 @@ void LLVOTree::idleUpdate(LLAgent &agent, const F64 &time)
 	mTrunkLOD = trunk_LOD;
 }
 
-const F32 TREE_BLEND_MIN = 1.f;
-const F32 TREE_BLEND_RANGE = 1.f;
-
 void LLVOTree::render(LLAgent &agent)
 {
 }
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index a83e2e020ea012958e2f52ecb281bfc6794a3d8e..2d0992cea24ff886c1dd11b19939a4f431d21f5b 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -78,10 +78,8 @@
 #include "llvocache.h"
 #include "llmaterialmgr.h"
 
-const S32 MIN_QUIET_FRAMES_COALESCE = 30;
 const F32 FORCE_SIMPLE_RENDER_AREA = 512.f;
 const F32 FORCE_CULL_AREA = 8.f;
-const F32 MAX_LOD_DISTANCE = 24.f;
 U32 JOINT_COUNT_REQUIRED_FOR_FULLRIG = 20;
 
 BOOL gAnimateTextures = TRUE;
diff --git a/indra/newview/llvowater.cpp b/indra/newview/llvowater.cpp
index e3419af10d2b2273a59ef90e1cb71303ca0f5af9..9ce16a167417003b47d1f06fabb5561f98f6eeb5 100755
--- a/indra/newview/llvowater.cpp
+++ b/indra/newview/llvowater.cpp
@@ -43,9 +43,6 @@
 #include "pipeline.h"
 #include "llspatialpartition.h"
 
-const BOOL gUseRoam = FALSE;
-
-
 ///////////////////////////////////
 
 template<class T> inline T LERP(T a, T b, F32 factor)
@@ -53,12 +50,6 @@ template<class T> inline T LERP(T a, T b, F32 factor)
 	return a + (b - a) * factor;
 }
 
-const U32 N_RES_HALF	= (N_RES >> 1);
-
-const U32 WIDTH			= (N_RES * WAVE_STEP); //128.f //64		// width of wave tile, in meters
-const F32 WAVE_STEP_INV	= (1. / WAVE_STEP);
-
-
 LLVOWater::LLVOWater(const LLUUID &id, 
 					 const LLPCode pcode, 
 					 LLViewerRegion *regionp) :
diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h
index 58a00c5be02742927f70f52b5d01ffebb04dbe7d..c731a7d6cf2cea53e81648c09ed7a99036f153f3 100755
--- a/indra/newview/llwearableitemslist.h
+++ b/indra/newview/llwearableitemslist.h
@@ -382,6 +382,10 @@ class LLWearableItemCreationDateComparator : public LLWearableItemNameComparator
 {
 	LOG_CLASS(LLWearableItemCreationDateComparator);
 
+public:
+	// clang demands a default ctor here 
+	LLWearableItemCreationDateComparator() {}
+
 protected:
 	/*virtual*/ bool doCompare(const LLPanelInventoryListItemBase* item1, const LLPanelInventoryListItemBase* item2) const;
 };
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp
index b4e8114a5f5385a508dfd9a9ec77909305ce0410..f95bbe241a2c1114086872426011992c0fd8908a 100755
--- a/indra/newview/llworld.cpp
+++ b/indra/newview/llworld.cpp
@@ -70,7 +70,6 @@ U32			gAgentPauseSerialNum = 0;
 //
 // Constants
 //
-const S32 MAX_NUMBER_OF_CLOUDS	= 750;
 const S32 WORLD_PATCH_SIZE = 16;
 
 extern LLColor4U MAX_WATER_COLOR;
diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp
index 7cb53a070639ede77c74395f7447f65afc5111b8..2ebefbdb112d40683b7c8a2cf3ef38c6cf377e2b 100755
--- a/indra/newview/llworldmapview.cpp
+++ b/indra/newview/llworldmapview.cpp
@@ -67,7 +67,6 @@ const F32 OCEAN_GREEN = (F32)(0x47)/255.f;
 const F32 OCEAN_BLUE  = (F32)(0x5F)/255.f;
 
 const F32 GODLY_TELEPORT_HEIGHT = 200.f;
-const S32 SCROLL_HINT_WIDTH = 65;
 const F32 BIG_DOT_RADIUS = 5.f;
 BOOL LLWorldMapView::sHandledLastClick = FALSE;
 
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 3dfe1e5992fcb3f1bf417fc57dd02cdf2f9358ab..03712c1065e31c3ed57b6f0682681020e970d690 100755
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -207,15 +207,9 @@ F32 LLPipeline::CameraDoFResScale;
 F32 LLPipeline::RenderAutoHideSurfaceAreaLimit;
 LLTrace::EventStatHandle<S64> LLPipeline::sStatBatchSize("renderbatchsize");
 
-const F32 BACKLIGHT_DAY_MAGNITUDE_AVATAR = 0.2f;
-const F32 BACKLIGHT_NIGHT_MAGNITUDE_AVATAR = 0.1f;
 const F32 BACKLIGHT_DAY_MAGNITUDE_OBJECT = 0.1f;
 const F32 BACKLIGHT_NIGHT_MAGNITUDE_OBJECT = 0.08f;
-const S32 MAX_OFFSCREEN_GEOMETRY_CHANGES_PER_FRAME = 10;
-const U32 REFLECTION_MAP_RES = 128;
 const U32 DEFERRED_VB_MASK = LLVertexBuffer::MAP_VERTEX | LLVertexBuffer::MAP_TEXCOORD0 | LLVertexBuffer::MAP_TEXCOORD1;
-// Max number of occluders to search for. JC
-const S32 MAX_OCCLUDER_COUNT = 2;
 
 extern S32 gBoxFrame;
 //extern BOOL gHideSelectedObjects;
@@ -410,16 +404,6 @@ static LLPipelineListener sPipelineListener;
 
 static LLCullResult* sCull = NULL;
 
-static const U32 gl_cube_face[] = 
-{
-	GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB,
-	GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB,
-	GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB,
-	GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB,
-	GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB,
-	GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB,
-};
-
 void validate_framebuffer_object();
 
 
diff --git a/indra/test/llbuffer_tut.cpp b/indra/test/llbuffer_tut.cpp
index a25fdebb7fb379f4f4f66b817e844577d59740ba..9b8aae6a7374b3bc265d979ffab938bc14f3c624 100755
--- a/indra/test/llbuffer_tut.cpp
+++ b/indra/test/llbuffer_tut.cpp
@@ -27,6 +27,7 @@
  */
 
 #include <tut/tut.hpp>
+
 #include "linden_common.h"
 #include "lltut.h"
 #include "llbuffer.h"
diff --git a/indra/test/llpermissions_tut.cpp b/indra/test/llpermissions_tut.cpp
index 8d8d47a667d1740b587573ceca027f35c89195cf..fa4b085fd3a17a760b0bdcf01cc19203d95e3480 100755
--- a/indra/test/llpermissions_tut.cpp
+++ b/indra/test/llpermissions_tut.cpp
@@ -28,7 +28,9 @@
  
 #include <tut/tut.hpp>
 #include "linden_common.h"
+
 #include "lltut.h"
+
 #include "message.h"
 #include "llpermissions.h"
 
diff --git a/indra/test/lltut.h b/indra/test/lltut.h
index 243e869be7f6c3a89eeb4a7c7d14e9c61864a6b4..5428be3719806d4dcaf20a3f8377df3832ef0460 100755
--- a/indra/test/lltut.h
+++ b/indra/test/lltut.h
@@ -31,7 +31,12 @@
 
 #include "is_approx_equal_fraction.h" // instead of llmath.h
 
+// turn off warnings about unused functions from clang for tut package
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-function"
 #include <tut/tut.hpp>
+#pragma clang diagnostic pop
+
 #include <cstring>
 
 class LLDate;