From ea59136b095ca1a34c44b9b0941094b35644b88f Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Mon, 12 Oct 2015 18:06:06 -0500 Subject: [PATCH 1/5] remove -s (strip) flag for now as it is gcc specific, fix a couple errors clang found --- CMakeLists.txt | 2 +- engine/shared/library/sharedFoundation/src/shared/BitArray.h | 4 ++-- .../src/shared/dynamicVariable/DynamicVariable.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8c78cbb4..7e578927 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,7 @@ elseif(UNIX) find_package(Curses REQUIRED) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG -DDEBUG_LEVEL=2 -DPRODUCTION=0 -g -pipe -Wall -Wno-unknown-pragmas -Wno-reorder -O0") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDEBUG_LEVEL=0 -DPRODUCTION=1 -march=native -pipe -mtune=native -O2 -s") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DDEBUG_LEVEL=0 -DPRODUCTION=1 -march=native -pipe -mtune=native -O2 ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-write-strings -std=c++11 -D_GLIBCXX_USE_CXX11_ABI=0") add_definitions(-DLINUX -D_REENTRANT -Dlinux -D_USING_STL -D__STL_NO_BAD_ALLOC -D_GNU_SOURCE -D_XOPEN_SOURCE=500) diff --git a/engine/shared/library/sharedFoundation/src/shared/BitArray.h b/engine/shared/library/sharedFoundation/src/shared/BitArray.h index 4960eea2..70b04b41 100644 --- a/engine/shared/library/sharedFoundation/src/shared/BitArray.h +++ b/engine/shared/library/sharedFoundation/src/shared/BitArray.h @@ -63,8 +63,8 @@ public: void getAsDbTextString(std::string &result, int maxNibbleCount = 32767) const; void setFromDbTextString(const char * text); - friend void Archive::get (ReadIterator &source, BitArray &target); - friend void Archive::put (ByteStream &target, const BitArray &source); + friend void Archive::get (Archive::ReadIterator &source, BitArray &target); + friend void Archive::put (Archive::ByteStream &target, const BitArray &source); private: // *****WARNING***** *****WARNING***** *****WARNING***** *****WARNING***** diff --git a/engine/shared/library/sharedFoundation/src/shared/dynamicVariable/DynamicVariable.h b/engine/shared/library/sharedFoundation/src/shared/dynamicVariable/DynamicVariable.h index fae07703..004de6fc 100644 --- a/engine/shared/library/sharedFoundation/src/shared/dynamicVariable/DynamicVariable.h +++ b/engine/shared/library/sharedFoundation/src/shared/dynamicVariable/DynamicVariable.h @@ -161,8 +161,8 @@ private: mutable bool m_cachedValueDirty; mutable void * m_cachedValue[2]; - friend void Archive::get(ReadIterator & source, DynamicVariable & target); - friend void Archive::put(ByteStream & target, const DynamicVariable & source); + friend void Archive::get(Archive::ReadIterator & source, DynamicVariable & target); + friend void Archive::put(Archive::ByteStream & target, const DynamicVariable & source); }; //======================================================================== From 59dbdd66ddb2a4028bbdc26e6b8b3a63b187ddab Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Mon, 12 Oct 2015 18:30:49 -0500 Subject: [PATCH 2/5] more clang namespace fixes --- engine/server/library/serverGame/src/shared/city/CityInfo.h | 4 ++-- .../src/shared/gameGameServer/AiCreatureStateMessage.h | 2 +- .../src/shared/gameGameServer/AiMovementMessage.h | 2 +- .../server/library/serverUtility/src/shared/PopulationList.h | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/city/CityInfo.h b/engine/server/library/serverGame/src/shared/city/CityInfo.h index 52b041af..3fa70946 100644 --- a/engine/server/library/serverGame/src/shared/city/CityInfo.h +++ b/engine/server/library/serverGame/src/shared/city/CityInfo.h @@ -34,8 +34,8 @@ namespace Archive class CityInfo { - friend void Archive::get(ReadIterator & source, CityInfo & target); - friend void Archive::put(ByteStream & target, const CityInfo & source); + friend void Archive::get(Archive::ReadIterator & source, CityInfo & target); + friend void Archive::put(Archive::ByteStream & target, const CityInfo & source); public: CityInfo(); diff --git a/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiCreatureStateMessage.h b/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiCreatureStateMessage.h index 9addbd87..11d83177 100644 --- a/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiCreatureStateMessage.h +++ b/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiCreatureStateMessage.h @@ -30,7 +30,7 @@ class AiCreatureStateMessage : public MessageQueue::Data { CONTROLLER_MESSAGE_INTERFACE; - friend void Archive::get(ReadIterator & source, AiCreatureStateMessage & target); + friend void Archive::get(Archive::ReadIterator & source, AiCreatureStateMessage & target); public: diff --git a/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiMovementMessage.h b/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiMovementMessage.h index 7cec0cf4..7cc7d9d4 100644 --- a/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiMovementMessage.h +++ b/engine/server/library/serverNetworkMessages/src/shared/gameGameServer/AiMovementMessage.h @@ -35,7 +35,7 @@ class AiMovementMessage : public MessageQueue::Data { CONTROLLER_MESSAGE_INTERFACE; - friend void Archive::get(ReadIterator & source, AiMovementMessage & target); + friend void Archive::get(Archive::ReadIterator & source, AiMovementMessage & target); public: AiMovementMessage(); diff --git a/engine/server/library/serverUtility/src/shared/PopulationList.h b/engine/server/library/serverUtility/src/shared/PopulationList.h index 9f4a2115..7a6bccd6 100644 --- a/engine/server/library/serverUtility/src/shared/PopulationList.h +++ b/engine/server/library/serverUtility/src/shared/PopulationList.h @@ -70,8 +70,8 @@ class PopulationList PopulationMapType m_populationMap; mutable PopulationMapType m_populationCache; - friend void Archive::get(ReadIterator & source, PopulationList & target); - friend void Archive::put(ByteStream & target, const PopulationList & source); + friend void Archive::get(Archive::ReadIterator & source, PopulationList & target); + friend void Archive::put(Archive::ByteStream & target, const PopulationList & source); }; // ====================================================================== From 40c86ac058754ffa3f1f64c5f5e294be21de289a Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Mon, 12 Oct 2015 19:03:19 -0500 Subject: [PATCH 3/5] remove unused template that causes clang to die --- .../sharedFoundation/src/shared/ArrayList.h | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/engine/shared/library/sharedFoundation/src/shared/ArrayList.h b/engine/shared/library/sharedFoundation/src/shared/ArrayList.h index ab3e2dd6..e70ff196 100644 --- a/engine/shared/library/sharedFoundation/src/shared/ArrayList.h +++ b/engine/shared/library/sharedFoundation/src/shared/ArrayList.h @@ -41,8 +41,7 @@ public: void add (const T& newElement); void addIfNotExist (const T& newElement); void allocateNext (void); - int findOrAdd (const T& newElement); - + void insert (int index, const T& newElement); // remove an item from the list @@ -244,19 +243,6 @@ inline void ArrayList::addIfNotExist (const T& newElement) //------------------------------------------------------------------- -template -inline int ArrayList::findOrAdd (const T& newElement) -{ - if (existsInList (newElement, index)) - return index; - - add (newElement); - - return getNumberOfElements () - 1; -} - -//------------------------------------------------------------------- - template inline void ArrayList::insert (int index, const T& newElement) { From 42cb87d8317b2b8fdd46472d079aca66c73718cd Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Mon, 12 Oct 2015 19:42:09 -0500 Subject: [PATCH 4/5] Assuming that this change will return an empty StringId, let's cross our fingers --- .../library/serverGame/src/shared/core/NpcConversation.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/core/NpcConversation.cpp b/engine/server/library/serverGame/src/shared/core/NpcConversation.cpp index 6ec9d47e..bc457bbd 100644 --- a/engine/server/library/serverGame/src/shared/core/NpcConversation.cpp +++ b/engine/server/library/serverGame/src/shared/core/NpcConversation.cpp @@ -280,10 +280,8 @@ void NpcConversation::sendResponses() */ const NpcConversation::Response & NpcConversation::getResponse(int index) const { - const static Response dummy; - if (m_responses->empty()) - return dummy; + return m_responses->at(static_cast(0)); const int size = static_cast(m_responses->size()); if (index < 0) From fd18b5fba1e9d74e3191e3cf6b719c620d3401bb Mon Sep 17 00:00:00 2001 From: DarthArgus Date: Mon, 12 Oct 2015 19:42:37 -0500 Subject: [PATCH 5/5] more clang sanctioned namespace fixups --- .../library/serverGame/src/shared/city/CityStructureInfo.h | 4 ++-- .../library/serverGame/src/shared/object/CellPermissions.h | 4 ++-- .../server/library/serverScript/src/shared/ScriptParameters.h | 2 +- .../shared/library/sharedGame/src/shared/core/WearableEntry.h | 4 ++-- .../library/sharedGame/src/shared/quest/PlayerQuestData.h | 4 ++-- .../shared/library/sharedGame/src/shared/travel/TravelPoint.h | 4 ++-- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/engine/server/library/serverGame/src/shared/city/CityStructureInfo.h b/engine/server/library/serverGame/src/shared/city/CityStructureInfo.h index f99738da..13a090a6 100644 --- a/engine/server/library/serverGame/src/shared/city/CityStructureInfo.h +++ b/engine/server/library/serverGame/src/shared/city/CityStructureInfo.h @@ -30,8 +30,8 @@ namespace Archive class CityStructureInfo { - friend void Archive::get(ReadIterator & source, CityStructureInfo & target); - friend void Archive::put(ByteStream & target, const CityStructureInfo & source); + friend void Archive::get(Archive::ReadIterator & source, CityStructureInfo & target); + friend void Archive::put(Archive::ByteStream & target, const CityStructureInfo & source); public: bool operator== (const CityStructureInfo& rhs) const; diff --git a/engine/server/library/serverGame/src/shared/object/CellPermissions.h b/engine/server/library/serverGame/src/shared/object/CellPermissions.h index 8fcfccc3..d05703a7 100644 --- a/engine/server/library/serverGame/src/shared/object/CellPermissions.h +++ b/engine/server/library/serverGame/src/shared/object/CellPermissions.h @@ -48,8 +48,8 @@ namespace CellPermissions class PermissionObject { - friend void Archive::get( ReadIterator & source, CellPermissions::PermissionObject & target ); - friend void Archive::put( ByteStream & target, const CellPermissions::PermissionObject & source ); + friend void Archive::get( Archive::ReadIterator & source, CellPermissions::PermissionObject & target ); + friend void Archive::put( Archive::ByteStream & target, const CellPermissions::PermissionObject & source ); friend class ::BuildingObject; friend class ::CellObject; diff --git a/engine/server/library/serverScript/src/shared/ScriptParameters.h b/engine/server/library/serverScript/src/shared/ScriptParameters.h index dabb3269..98aa0870 100644 --- a/engine/server/library/serverScript/src/shared/ScriptParameters.h +++ b/engine/server/library/serverScript/src/shared/ScriptParameters.h @@ -210,7 +210,7 @@ public: const stdvector::fwd & getValueDictionaryArrayParam(int index) const; protected: - friend void Archive::get(ReadIterator & source, ScriptParams & target); + friend void Archive::get(Archive::ReadIterator & source, ScriptParams & target); private: diff --git a/engine/shared/library/sharedGame/src/shared/core/WearableEntry.h b/engine/shared/library/sharedGame/src/shared/core/WearableEntry.h index 6af2afdb..45432612 100644 --- a/engine/shared/library/sharedGame/src/shared/core/WearableEntry.h +++ b/engine/shared/library/sharedGame/src/shared/core/WearableEntry.h @@ -28,8 +28,8 @@ namespace Archive class WearableEntry { - friend void Archive::get(ReadIterator & source, WearableEntry & target); - friend void Archive::put(ByteStream & target, const WearableEntry & source); + friend void Archive::get(Archive::ReadIterator & source, WearableEntry & target); + friend void Archive::put(Archive::ByteStream & target, const WearableEntry & source); public: WearableEntry(const std::string&, int, const NetworkId&, int); diff --git a/engine/shared/library/sharedGame/src/shared/quest/PlayerQuestData.h b/engine/shared/library/sharedGame/src/shared/quest/PlayerQuestData.h index 6cd7e769..6a564e68 100644 --- a/engine/shared/library/sharedGame/src/shared/quest/PlayerQuestData.h +++ b/engine/shared/library/sharedGame/src/shared/quest/PlayerQuestData.h @@ -74,8 +74,8 @@ class PlayerQuestData uint32 m_relativeAgeIndex; // This is not meant to be persisted bool m_hasReceivedReward; - friend void Archive::get(ReadIterator & source, PlayerQuestData & target); - friend void Archive::put(ByteStream & target, const PlayerQuestData & source); + friend void Archive::get(Archive::ReadIterator & source, PlayerQuestData & target); + friend void Archive::put(Archive::ByteStream & target, const PlayerQuestData & source); }; // ====================================================================== diff --git a/engine/shared/library/sharedGame/src/shared/travel/TravelPoint.h b/engine/shared/library/sharedGame/src/shared/travel/TravelPoint.h index e90538dc..31d8180e 100644 --- a/engine/shared/library/sharedGame/src/shared/travel/TravelPoint.h +++ b/engine/shared/library/sharedGame/src/shared/travel/TravelPoint.h @@ -31,8 +31,8 @@ namespace Archive class TravelPoint { - friend void Archive::get(ReadIterator& source, TravelPoint& target); - friend void Archive::put(ByteStream& target, const TravelPoint& source); + friend void Archive::get(Archive::ReadIterator& source, TravelPoint& target); + friend void Archive::put(Archive::ByteStream& target, const TravelPoint& source); public: