diff -r c085df84186a -r efd23ef1a46d indra/cmake/00-Common.cmake --- a/indra/cmake/00-Common.cmake Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/cmake/00-Common.cmake Sat Apr 13 16:21:54 2013 -0500 @@ -139,6 +139,10 @@ endif (${CXX_VERSION_NUMBER} GREATER 429) # End of hacks. + if(${CXX_VERSION_NUMBER} GREATER 470) + add_definitions(-std=c++11) + set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") + endif (${CXX_VERSION_NUMBER} GREATER 470) add_definitions( -DLL_LINUX=1 diff -r c085df84186a -r efd23ef1a46d indra/cmake/Copy3rdPartyLibs.cmake --- a/indra/cmake/Copy3rdPartyLibs.cmake Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/cmake/Copy3rdPartyLibs.cmake Sat Apr 13 16:21:54 2013 -0500 @@ -267,12 +267,12 @@ libexpat.so libexpat.so.1 libGLOD.so - libgmock_main.so - libgmock.so.0 +# libgmock_main.so +# libgmock.so.0 libgmodule-2.0.so libgobject-2.0.so - libgtest_main.so - libgtest.so.0 +# libgtest_main.so +# libgtest.so.0 libhunspell-1.3.so.0.0.0 libminizip.so libopenal.so diff -r c085df84186a -r efd23ef1a46d indra/cmake/LLAddBuildTest.cmake --- a/indra/cmake/LLAddBuildTest.cmake Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/cmake/LLAddBuildTest.cmake Sat Apr 13 16:21:54 2013 -0500 @@ -1,6 +1,10 @@ # -*- cmake -*- include(LLTestCommand) -include(GoogleMock) + +# Google Mock/Test is not used +#include(GoogleMock) +# + include(Tut) MACRO(LL_ADD_PROJECT_UNIT_TESTS project sources) @@ -16,8 +20,9 @@ # # WARNING: do NOT modify this code without working with poppy - # there is another branch that will conflict heavily with any changes here. -INCLUDE(GoogleMock) - +# Google Mock/Test is not used +#INCLUDE(GoogleMock) +# IF(LL_TEST_VERBOSE) MESSAGE("LL_ADD_PROJECT_UNIT_TESTS UNITTEST_PROJECT_${project} sources: ${sources}") diff -r c085df84186a -r efd23ef1a46d indra/linux_updater/linux_updater.cpp --- a/indra/linux_updater/linux_updater.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/linux_updater/linux_updater.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -829,7 +829,10 @@ // initialize gthreads and gtk+ if (!g_thread_supported()) { +#if ( !defined(GLIB_MAJOR_VERSION) && !defined(GLIB_MINOR_VERSION) ) || ( GLIB_MAJOR_VERSION < 2 ) || ( GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 32 ) g_thread_init(NULL); +#endif + gdk_threads_init(); } @@ -841,7 +844,11 @@ //llinfos << "SAMPLE TRANSLATION IS: " << LLTrans::getString("LoginInProgress") << llendl; // create download thread +#if ( !defined(GLIB_MAJOR_VERSION) && !defined(GLIB_MINOR_VERSION) ) || ( GLIB_MAJOR_VERSION < 2 ) || ( GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 32 ) g_thread_create(GThreadFunc(worker_thread_cb), app_state, FALSE, NULL); +#else + g_thread_new( "download", GThreadFunc(worker_thread_cb), app_state ); +#endif gdk_threads_enter(); gtk_main(); diff -r c085df84186a -r efd23ef1a46d indra/llappearance/lltexturemanagerbridge.h --- a/indra/llappearance/lltexturemanagerbridge.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llappearance/lltexturemanagerbridge.h Sat Apr 13 16:21:54 2013 -0500 @@ -35,6 +35,7 @@ class LLTextureManagerBridge { public: + virtual ~LLTextureManagerBridge(){ } virtual LLPointer getLocalTexture(BOOL usemipmaps = TRUE, BOOL generate_gl_tex = TRUE) = 0; virtual LLPointer 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 -r c085df84186a -r efd23ef1a46d indra/llappearance/llwearabletype.h --- a/indra/llappearance/llwearabletype.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llappearance/llwearabletype.h Sat Apr 13 16:21:54 2013 -0500 @@ -35,6 +35,11 @@ class LLTranslationBridge { public: + // virtual dtor or dtors or derived class might not be properly called + virtual ~LLTranslationBridge() + { } + // + virtual std::string getString(const std::string &xml_desc) = 0; }; diff -r c085df84186a -r efd23ef1a46d indra/llcommon/lldarray.h --- a/indra/llcommon/lldarray.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llcommon/lldarray.h Sat Apr 13 16:21:54 2013 -0500 @@ -152,7 +152,7 @@ template inline void LLDynamicArray::operator+=(const LLDynamicArray &other) { - insert(this->end(), other.begin(), other.end()); + this->insert(this->end(), other.begin(), other.end()); } //-------------------------------------------------------- diff -r c085df84186a -r efd23ef1a46d indra/llcommon/lleventcoro.h --- a/indra/llcommon/lleventcoro.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llcommon/lleventcoro.h Sat Apr 13 16:21:54 2013 -0500 @@ -102,6 +102,10 @@ namespace LLEventDetail { + /// Implementation for listenerNameForCoro() + LL_COMMON_API std::string listenerNameForCoroImpl(const void* self_id); + + /** * waitForEventOn() permits a coroutine to temporarily listen on an * LLEventPump any number of times. We don't really want to have to ask @@ -129,9 +133,6 @@ return listenerNameForCoroImpl(self.get_id()); } - /// Implementation for listenerNameForCoro() - LL_COMMON_API std::string listenerNameForCoroImpl(const void* self_id); - /** * Implement behavior described for postAndWait()'s @a replyPumpNamePath * parameter: diff -r c085df84186a -r efd23ef1a46d indra/llcommon/llinitparam.h --- a/indra/llcommon/llinitparam.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llcommon/llinitparam.h Sat Apr 13 16:21:54 2013 -0500 @@ -399,7 +399,7 @@ { if (getValueFromName(name, param_value_t::getValue())) { - setValueName(name); + this->setValueName(name); } } @@ -1065,7 +1065,7 @@ void set(const value_t& val, bool flag_as_provided = true) { named_value_t::clearValueName(); - setValue(val); + this->setValue(val); setProvided(flag_as_provided); } @@ -1221,7 +1221,7 @@ // assign block contents to this param-that-is-a-block void set(const value_t& val, bool flag_as_provided = true) { - setValue(val); + this->setValue(val); named_value_t::clearValueName(); // force revalidation of block // next call to isProvided() will update provision status based on validity @@ -1937,7 +1937,7 @@ Optional& operator =(const value_t& val) { - set(val); + super_t::set(val); return *this; } @@ -1967,7 +1967,7 @@ Mandatory& operator =(const value_t& val) { - set(val); + super_t::set(val); return *this; } @@ -2003,7 +2003,7 @@ Multiple& operator =(const container_t& val) { - set(val); + super_t::set(val); return *this; } diff -r c085df84186a -r efd23ef1a46d indra/llcommon/llrefcount.h --- a/indra/llcommon/llrefcount.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llcommon/llrefcount.h Sat Apr 13 16:21:54 2013 -0500 @@ -91,8 +91,8 @@ * intrusive pointer support * this allows you to use boost::intrusive_ptr with any LLRefCount-derived type */ -namespace boost -{ +//namespace boost +//{ inline void intrusive_ptr_add_ref(LLRefCount* p) { p->ref(); @@ -102,7 +102,7 @@ { p->unref(); } -}; +//}; #endif diff -r c085df84186a -r efd23ef1a46d indra/llcorehttp/CMakeLists.txt --- a/indra/llcorehttp/CMakeLists.txt Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llcorehttp/CMakeLists.txt Sat Apr 13 16:21:54 2013 -0500 @@ -3,7 +3,11 @@ project(llcorehttp) include(00-Common) -include(GoogleMock) + +# Google Mock/Test is not used +#include(GoogleMock) +# + include(CURL) include(CARes) include(OpenSSL) diff -r c085df84186a -r efd23ef1a46d indra/llmath/lloctree.h --- a/indra/llmath/lloctree.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llmath/lloctree.h Sat Apr 13 16:21:54 2013 -0500 @@ -440,8 +440,8 @@ mDataEnd = &mData[0]; } - notifyRemoval(data); - checkAlive(); + this->notifyRemoval(data); + this->checkAlive(); } bool remove(T* data) @@ -615,7 +615,7 @@ mChildMap[mChild[i]->getOctant()] = i; } - checkAlive(); + this->checkAlive(); } void checkAlive() @@ -706,7 +706,7 @@ //(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 @@ -750,10 +750,10 @@ return false; } - if (this->getSize()[0] > data->getBinRadius() && isInside(data->getPositionGroup())) + if (this->getSize()[0] > data->getBinRadius() && this->isInside(data->getPositionGroup())) { //we got it, just act like a branch - oct_node* node = getNodeAt(data); + oct_node* node = this->getNodeAt(data); if (node == this) { LLOctreeNode::insert(data); @@ -766,7 +766,7 @@ 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() && this->isInside(data->getPositionGroup()))) { LLVector4a center, size; center = this->getCenter(); @@ -781,7 +781,7 @@ } else { - while (!(this->getSize()[0] > data->getBinRadius() && isInside(data->getPositionGroup()))) + while (!(this->getSize()[0] > data->getBinRadius() && this->isInside(data->getPositionGroup()))) { //the data is outside the root node, we need to grow LLVector4a center(this->getCenter()); @@ -807,7 +807,7 @@ //clear our children and add the root copy this->clearChildren(); - addChild(newnode); + this->addChild(newnode); } //insert the data diff -r c085df84186a -r efd23ef1a46d indra/llmessage/CMakeLists.txt --- a/indra/llmessage/CMakeLists.txt Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llmessage/CMakeLists.txt Sat Apr 13 16:21:54 2013 -0500 @@ -3,7 +3,11 @@ project(llmessage) include(00-Common) -include(GoogleMock) + +# Google Mock/Test is not used +#include(GoogleMock) +# + include(LLAddBuildTest) include(LLCommon) include(LLMath) diff -r c085df84186a -r efd23ef1a46d indra/llmessage/lliopipe.h --- a/indra/llmessage/lliopipe.h Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llmessage/lliopipe.h Sat Apr 13 16:21:54 2013 -0500 @@ -55,11 +55,8 @@ /** * intrusive pointer support */ -namespace boost -{ void intrusive_ptr_add_ref(LLIOPipe* p); void intrusive_ptr_release(LLIOPipe* p); -}; /** * @class LLIOPipe @@ -250,25 +247,22 @@ 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) +{ + if(p && 0 == --p->mReferenceCount) { - ++p->mReferenceCount; + delete p; } - inline void intrusive_ptr_release(LLIOPipe* p) - { - if(p && 0 == --p->mReferenceCount) - { - delete p; - } - } -}; +} #if 0 diff -r c085df84186a -r efd23ef1a46d indra/llmessage/llregionpresenceverifier.cpp --- a/indra/llmessage/llregionpresenceverifier.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llmessage/llregionpresenceverifier.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -32,21 +32,18 @@ #include "net.h" #include "message.h" -namespace boost +void intrusive_ptr_add_ref(LLRegionPresenceVerifier::Response* p) { - void intrusive_ptr_add_ref(LLRegionPresenceVerifier::Response* p) + ++p->mReferenceCount; +} + +void intrusive_ptr_release(LLRegionPresenceVerifier::Response* p) +{ + if(p && 0 == --p->mReferenceCount) { - ++p->mReferenceCount; + delete p; } - - void intrusive_ptr_release(LLRegionPresenceVerifier::Response* p) - { - if(p && 0 == --p->mReferenceCount) - { - delete p; - } - } -}; +} LLRegionPresenceVerifier::Response::~Response() { diff -r c085df84186a -r efd23ef1a46d indra/llui/llview.cpp --- a/indra/llui/llview.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/llui/llview.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -834,7 +834,7 @@ LLView* LLView::childFromPoint(S32 x, S32 y, bool recur) { if (!getVisible()) - return false; + return 0; BOOST_FOREACH(LLView* viewp, mChildList) { diff -r c085df84186a -r efd23ef1a46d indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp --- a/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/media_plugins/gstreamer010/media_plugin_gstreamer010.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -75,9 +75,11 @@ bool stop(); bool play(double rate); bool getTimePos(double &sec_out); - +#if (LL_LINUX && GCC_VERSION >= 40700) + static constexpr double MIN_LOOP_SEC = 1.0F; +#else static const double MIN_LOOP_SEC = 1.0F; - +#endif bool mIsLooping; enum ECommand { diff -r c085df84186a -r efd23ef1a46d indra/newview/llcommunicationchannel.cpp --- a/indra/newview/llcommunicationchannel.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/newview/llcommunicationchannel.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -31,7 +31,7 @@ #include #include - +#include #include "llagent.h" #include "lldate.h" #include "llnotifications.h" @@ -108,6 +108,6 @@ || (notificationType == "notifytoast") && !pNotificationPtr->isCancelled()) { - mHistory.insert(std::make_pair(pNotificationPtr->getDate(), pNotificationPtr)); + mHistory.insert(std::make_pair(pNotificationPtr->getDate(), pNotificationPtr)); } } diff -r c085df84186a -r efd23ef1a46d indra/newview/llfloaterpathfindingobjects.cpp --- a/indra/newview/llfloaterpathfindingobjects.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/newview/llfloaterpathfindingobjects.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -407,7 +407,7 @@ if (pObjectPtr->hasOwner() && !pObjectPtr->hasOwnerName()) { - mMissingNameObjectsScrollListItems.insert(std::make_pair(pObjectPtr->getUUID().asString(), scrollListItem)); + mMissingNameObjectsScrollListItems.insert(std::make_pair(pObjectPtr->getUUID().asString(), scrollListItem)); pObjectPtr->registerOwnerNameListener(boost::bind(&LLFloaterPathfindingObjects::handleObjectNameResponse, this, _1)); } } diff -r c085df84186a -r efd23ef1a46d indra/newview/llsurfacepatch.cpp --- a/indra/newview/llsurfacepatch.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/newview/llsurfacepatch.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -231,8 +231,8 @@ const F32 xyScaleInv = (1.f / xyScale)*(0.2222222222f); F32 vec[3] = { - fmod((F32)(mOriginGlobal.mdV[0] + x)*xyScaleInv, 256.f), - fmod((F32)(mOriginGlobal.mdV[1] + y)*xyScaleInv, 256.f), + (F32)fmod((F32)(mOriginGlobal.mdV[0] + x)*xyScaleInv, 256.f), + (F32)fmod((F32)(mOriginGlobal.mdV[1] + y)*xyScaleInv, 256.f), 0.f }; F32 rand_val = llclamp(noise2(vec)* 0.75f + 0.5f, 0.f, 1.f); diff -r c085df84186a -r efd23ef1a46d indra/newview/llworld.cpp --- a/indra/newview/llworld.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/newview/llworld.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -70,6 +70,7 @@ // // Constants // + const S32 MAX_NUMBER_OF_CLOUDS = 750; const S32 WORLD_PATCH_SIZE = 16; @@ -871,10 +872,10 @@ center_y = min_y + (wy >> 1); S32 add_boundary[4] = { - 512 - (max_x - region_x), - 512 - (max_y - region_y), - 512 - (region_x - min_x), - 512 - (region_y - min_y) }; + 512 - (S32)(max_x - region_x), + 512 - (S32)(max_y - region_y), + 512 - (S32)(region_x - min_x), + 512 - (S32)(region_y - min_y) }; S32 dir; for (dir = 0; dir < 8; dir++) diff -r c085df84186a -r efd23ef1a46d indra/test/CMakeLists.txt --- a/indra/test/CMakeLists.txt Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/test/CMakeLists.txt Sat Apr 13 16:21:54 2013 -0500 @@ -14,7 +14,9 @@ include(Tut) include(LLAddBuildTest) -include(GoogleMock) +# Google Mock/Test is not used +#include(GoogleMock) +# include_directories( ${LLCOMMON_INCLUDE_DIRS} diff -r c085df84186a -r efd23ef1a46d indra/test/test.cpp --- a/indra/test/test.cpp Fri Apr 12 12:42:03 2013 -0400 +++ b/indra/test/test.cpp Sat Apr 13 16:21:54 2013 -0500 @@ -51,11 +51,16 @@ # include "ctype_workaround.h" #endif +// Google Mock/Test is not used an either Windows/Mac/Linux +#if 0 + #ifndef LL_WINDOWS #include #include #endif +#endif +// #if LL_MSVC #pragma warning (push) #pragma warning (disable : 4702) // warning C4702: unreachable code @@ -486,9 +491,17 @@ { // The following line must be executed to initialize Google Mock // (and Google Test) before running the tests. + +// Google Mock/Test is not used an either Windows/Mac/Linux +#if 0 + #ifndef LL_WINDOWS ::testing::InitGoogleMock(&argc, argv); #endif + +#endif +// + // LOGTEST overrides default, but can be overridden by --debug or LOGFAIL. const char* LOGTEST = getenv("LOGTEST"); if (LOGTEST)