From f45b809bd7f0b9afb4d530ec0acb2d06eaafe41b Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 12:39:09 -0700 Subject: Update to build on Xcode 6.0: reorder code and additional scoing in template classes to make clang happy --- indra/llcommon/llunittype.h | 92 +++++++++++++++++++++++---------------------- 1 file changed, 47 insertions(+), 45 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llunittype.h b/indra/llcommon/llunittype.h index 0e05ecd683..ac8504ca61 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 + LL_FORCE_INLINE static self_t convert(LLUnit v) + { + self_t result; + result.mValue = (STORAGE_TYPE)v.value(); + return result; + } + + template + LL_FORCE_INLINE static self_t convert(LLUnit v) + { + self_t result; + STORAGE_TYPE divisor = ll_convert_units(v, result); + result.mValue /= divisor; + return result; + } + + template + LL_FORCE_INLINE static self_t convert(LLUnit v) + { + typedef typename LLResultTypePromote::type_t result_storage_t; + LLUnit 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 LL_FORCE_INLINE LLUnit(LLUnit 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 - LL_FORCE_INLINE static self_t convert(LLUnit v) - { - self_t result; - result.mValue = (STORAGE_TYPE)v.value(); - return result; - } - - template - LL_FORCE_INLINE static self_t convert(LLUnit v) - { - self_t result; - STORAGE_TYPE divisor = ll_convert_units(v, result); - result.mValue /= divisor; - return result; - } - - template - LL_FORCE_INLINE static self_t convert(LLUnit v) - { - typedef typename LLResultTypePromote::type_t result_storage_t; - LLUnit 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 template LL_FORCE_INLINE void operator += (LLUnitImplicit 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 template LL_FORCE_INLINE void operator -= (LLUnitImplicit other) { - base_t::mValue -= convert(other).value(); + base_t::mValue -= base_t::convert(other).value(); } template LL_FORCE_INLINE bool operator == (LLUnit other) const { - return base_t::mValue == convert(other).value(); + return base_t::mValue == base_t::convert(other).value(); } template LL_FORCE_INLINE bool operator == (LLUnitImplicit other) const { - return base_t::mValue == convert(other).value(); + return base_t::mValue == base_t::convert(other).value(); } template @@ -313,7 +315,7 @@ struct LLUnitImplicit : public LLUnit template LL_FORCE_INLINE bool operator != (LLUnitImplicit other) const { - return base_t::mValue != convert(other).value(); + return base_t::mValue != base_t::convert(other).value(); } template @@ -325,13 +327,13 @@ struct LLUnitImplicit : public LLUnit template LL_FORCE_INLINE bool operator < (LLUnit other) const { - return base_t::mValue < convert(other).value(); + return base_t::mValue < base_t::convert(other).value(); } template LL_FORCE_INLINE bool operator < (LLUnitImplicit other) const { - return base_t::mValue < convert(other).value(); + return base_t::mValue < base_t::convert(other).value(); } template @@ -343,13 +345,13 @@ struct LLUnitImplicit : public LLUnit template LL_FORCE_INLINE bool operator <= (LLUnit other) const { - return base_t::mValue <= convert(other).value(); + return base_t::mValue <= base_t::convert(other).value(); } template LL_FORCE_INLINE bool operator <= (LLUnitImplicit other) const { - return base_t::mValue <= convert(other).value(); + return base_t::mValue <= base_t::convert(other).value(); } template @@ -361,13 +363,13 @@ struct LLUnitImplicit : public LLUnit template LL_FORCE_INLINE bool operator > (LLUnit other) const { - return base_t::mValue > convert(other).value(); + return base_t::mValue > base_t::convert(other).value(); } template LL_FORCE_INLINE bool operator > (LLUnitImplicit other) const { - return base_t::mValue > convert(other).value(); + return base_t::mValue > base_t::convert(other).value(); } template @@ -379,13 +381,13 @@ struct LLUnitImplicit : public LLUnit template LL_FORCE_INLINE bool operator >= (LLUnit other) const { - return base_t::mValue >= convert(other).value(); + return base_t::mValue >= base_t::convert(other).value(); } template LL_FORCE_INLINE bool operator >= (LLUnitImplicit other) const { - return base_t::mValue >= convert(other).value(); + return base_t::mValue >= base_t::convert(other).value(); } template -- cgit v1.2.3 From aca7976b8770aa7464bdba717d508372732f0e39 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:05:04 -0700 Subject: Update to build on Xcode 6.0: turn BACK ON warnings as errors for overloaded virtuals [-Woverloaded-virtual] and fix up first (of many) files --- indra/llcommon/llfile.cpp | 2 +- indra/llcommon/llfile.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp index 259187c52f..aabc195ba8 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 f56b22bf9a..0612071d67 100755 --- a/indra/llcommon/llfile.h +++ b/indra/llcommon/llfile.h @@ -188,7 +188,7 @@ protected: /*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 }; -- cgit v1.2.3 From 4785da9b9f786d761828f711cfda401974cd9238 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:27:48 -0700 Subject: Update to build on Xcode 6.0: TEMP fix to remove broken code (clang) until it's true purpose becomes clear --- indra/llcommon/llpredicate.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llpredicate.h b/indra/llcommon/llpredicate.h index a0e970a799..91d96e64f5 100644 --- a/indra/llcommon/llpredicate.h +++ b/indra/llcommon/llpredicate.h @@ -141,7 +141,8 @@ namespace LLPredicate void require(ENUM e) { - mRule.set(e, require); + // TEMP XCODE6FIX checkin while i figure out what the heck this is supposed to mean + // mRule.set(e, require); } void allow(ENUM e) -- cgit v1.2.3 From 791858f517dcb7df1f056323439966ee685410c4 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:36:05 -0700 Subject: Update to build on Xcode 6.0: remove unused variable [-Wunused-const-variable] --- indra/llcommon/llframetimer.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llframetimer.cpp b/indra/llcommon/llframetimer.cpp index 1af2cb8afd..1e9920746b 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 -- cgit v1.2.3 From 41712d35fbc0517854f21a4ccf54fafeda336aa3 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:40:15 -0700 Subject: Update to build on Xcode 6.0: additional scoping required for clang --- indra/llcommon/llinitparam.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h index 7aa87fcd0e..be3552cb46 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; } -- cgit v1.2.3 From b826dbcb84f7c047dca5684d36ee1f6f94b7be88 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:48:03 -0700 Subject: Update to build on Xcode 6.0: remove unused member variable that makes clang sad --- indra/llcommon/llsdparam.h | 1 - 1 file changed, 1 deletion(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llsdparam.h b/indra/llcommon/llsdparam.h index 1542f95e68..09f1bdf1e3 100755 --- a/indra/llcommon/llsdparam.h +++ b/indra/llcommon/llsdparam.h @@ -106,7 +106,6 @@ private: Parser::name_stack_t mNameStack; const LLSD* mCurReadSD; LLSD* mWriteRootSD; - LLSD* mCurWriteSD; }; -- cgit v1.2.3 From b2d84b5fc68e947e59b96289a357bd2f515c896c Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 13:50:06 -0700 Subject: Update to build on Xcode 6.0: remove unused function that makes clang sad --- indra/llcommon/llprocessor.cpp | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llprocessor.cpp b/indra/llcommon/llprocessor.cpp index 69043dc173..1ee3c7edb0 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"; -- cgit v1.2.3 From 5c5821b7583bf55889bb13147376919553727a01 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 14:01:08 -0700 Subject: Update to build on Xcode 6.0: clang warned about comparison of unsigned int to >=0 - correct ifx here is to retype the variable as signed --- indra/llcommon/llsdutil.cpp | 2 +- indra/llcommon/llsdutil.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index 562fd26658..6ad4a97149 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 d0b536c39a..99cb79aa54 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. -- cgit v1.2.3 From 8db1250b73b89727b60ba852bb65cf09ff824993 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 14:08:58 -0700 Subject: Update to build on Xcode 6.0: collection of similar const var not used warnings/errors [-Wunused-const-variable] --- indra/llcommon/llsys.cpp | 4 ---- indra/llcommon/lltimer.cpp | 4 ---- 2 files changed, 8 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 06e118aa44..c9db73eb99 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 ab105a82e6..76e892212a 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 -- cgit v1.2.3 From b23afb709d194d5000963de55c2eb8d19031b0f7 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 20:24:02 -0700 Subject: Update to build on Xcode 6.0: fix Boost intrusive_ptr scoping issue --- indra/llcommon/llrefcount.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llrefcount.h b/indra/llcommon/llrefcount.h index 72011d04a0..52b6f8eaa9 100755 --- a/indra/llcommon/llrefcount.h +++ b/indra/llcommon/llrefcount.h @@ -151,8 +151,8 @@ private: * intrusive pointer support for LLThreadSafeRefCount * this allows you to use boost::intrusive_ptr with any LLThreadSafeRefCount-derived type */ -namespace boost -{ +// namespace boost +// { inline void intrusive_ptr_add_ref(LLThreadSafeRefCount* p) { p->ref(); @@ -172,7 +172,7 @@ namespace boost { p->unref(); } -}; +//}; -- cgit v1.2.3 From 3d35d2f78da8a12336df3f12374d91614db2f035 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Fri, 17 Oct 2014 20:24:58 -0700 Subject: Update to build on Xcode 6.0: fix Boost intrusive_ptr scoping issue (part 2 - tidy up) --- indra/llcommon/llrefcount.h | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llrefcount.h b/indra/llcommon/llrefcount.h index 52b6f8eaa9..3836a9b5fb 100755 --- a/indra/llcommon/llrefcount.h +++ b/indra/llcommon/llrefcount.h @@ -151,29 +151,25 @@ private: * 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 -- cgit v1.2.3 From cad1df584be0ed62e4ae0393b84e57f192009da5 Mon Sep 17 00:00:00 2001 From: callum_linden Date: Mon, 20 Oct 2014 15:20:10 -0700 Subject: Update to build on Xcode 6.0: fix typo in functions params --- indra/llcommon/llpredicate.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/llcommon') diff --git a/indra/llcommon/llpredicate.h b/indra/llcommon/llpredicate.h index 91d96e64f5..e6c56a5711 100644 --- a/indra/llcommon/llpredicate.h +++ b/indra/llcommon/llpredicate.h @@ -139,10 +139,9 @@ namespace LLPredicate Rule() {} - void require(ENUM e) + void require(ENUM e, bool match) { - // TEMP XCODE6FIX checkin while i figure out what the heck this is supposed to mean - // mRule.set(e, require); + mRule.set(e, match); } void allow(ENUM e) -- cgit v1.2.3