summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Bindings/CMakeLists.txt7
-rw-r--r--src/Bindings/DeprecatedBindings.cpp2
-rw-r--r--src/Bindings/LuaFunctions.h2
-rw-r--r--src/Bindings/LuaState.cpp8
-rw-r--r--src/Bindings/ManualBindings.cpp8
-rw-r--r--src/Entities/Entity.cpp2
-rw-r--r--src/FurnaceRecipe.cpp2
-rw-r--r--src/OSSupport/NetworkLookup.h2
-rw-r--r--src/Root.cpp2
-rw-r--r--src/main.cpp10
10 files changed, 38 insertions, 7 deletions
diff --git a/src/Bindings/CMakeLists.txt b/src/Bindings/CMakeLists.txt
index 0cfb7add9..45bd573d5 100644
--- a/src/Bindings/CMakeLists.txt
+++ b/src/Bindings/CMakeLists.txt
@@ -167,8 +167,11 @@ set_source_files_properties(${BINDING_OUTPUTS} PROPERTIES GENERATED TRUE)
set_source_files_properties(${CMAKE_SOURCE_DIR}/src/Bindings/Bindings.cpp PROPERTIES COMPILE_FLAGS -Wno-error)
-if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
- set_source_files_properties(Bindings.cpp PROPERTIES COMPILE_FLAGS ${COMPILE_FLAGS} "-Wno-old-style-cast -Wno-missing-prototypes")
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ if(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5) # Workaround for VERSION_GREATER_EQUAL, which is only supported on CMake 3.7+
+ set(ADDITIONAL_FLAGS "-Wno-zero-as-null-pointer-constant")
+ endif()
+ set_source_files_properties(Bindings.cpp PROPERTIES COMPILE_FLAGS "-Wno-old-style-cast -Wno-missing-prototypes ${ADDITIONAL_FLAGS}")
endif()
if(NOT MSVC)
diff --git a/src/Bindings/DeprecatedBindings.cpp b/src/Bindings/DeprecatedBindings.cpp
index 3ae1fd990..031b69356 100644
--- a/src/Bindings/DeprecatedBindings.cpp
+++ b/src/Bindings/DeprecatedBindings.cpp
@@ -270,7 +270,7 @@ static int tolua_AllToLua_StringToMobType00(lua_State* tolua_S)
else
#endif
{
- const AString a_MobString = tolua_tocppstring(LuaState, 1, 0);
+ const AString a_MobString = tolua_tocppstring(LuaState, 1, nullptr);
eMonsterType MobType = cMonster::StringToMobType(a_MobString);
tolua_pushnumber(LuaState, static_cast<lua_Number>(MobType));
tolua_pushcppstring(LuaState, a_MobString);
diff --git a/src/Bindings/LuaFunctions.h b/src/Bindings/LuaFunctions.h
index b17d7d497..d32322384 100644
--- a/src/Bindings/LuaFunctions.h
+++ b/src/Bindings/LuaFunctions.h
@@ -6,7 +6,7 @@
inline unsigned int GetTime()
{
// NB: For caveats, please see https://stackoverflow.com/a/14505248
- return static_cast<unsigned int>(std::chrono::seconds(time(0)).count());
+ return static_cast<unsigned int>(std::chrono::seconds(time(nullptr)).count());
}
// tolua_end
diff --git a/src/Bindings/LuaState.cpp b/src/Bindings/LuaState.cpp
index 82dbfb780..ab3a38618 100644
--- a/src/Bindings/LuaState.cpp
+++ b/src/Bindings/LuaState.cpp
@@ -26,6 +26,14 @@ extern "C"
+// Hotpatching the Macro to prevent a Clang Warning (0 for pointer used)
+#undef lua_tostring
+#define lua_tostring(L, i) lua_tolstring(L, (i), nullptr)
+
+
+
+
+
// fwd: "SQLite/lsqlite3.c"
extern "C"
{
diff --git a/src/Bindings/ManualBindings.cpp b/src/Bindings/ManualBindings.cpp
index becaa872a..7dd724d44 100644
--- a/src/Bindings/ManualBindings.cpp
+++ b/src/Bindings/ManualBindings.cpp
@@ -43,6 +43,14 @@
+// Hotpatching the Macro to prevent a Clang Warning (0 for pointer used)
+#undef lua_tostring
+#define lua_tostring(L, i) lua_tolstring(L, (i), nullptr)
+
+
+
+
+
////////////////////////////////////////////////////////////////////////////////
// LuaCommandHandler:
diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp
index 11405d2fd..4245f607d 100644
--- a/src/Entities/Entity.cpp
+++ b/src/Entities/Entity.cpp
@@ -243,6 +243,7 @@ void cEntity::Destroy(bool a_ShouldBroadcast)
this->GetUniqueID(), this->GetClass(),
ParentChunkCoords.m_ChunkX, ParentChunkCoords.m_ChunkZ
);
+ UNUSED(ParentChunkCoords); // Non Debug mode only
// Make sure that RemoveEntity returned a valid smart pointer
// Also, not storing the returned pointer means automatic destruction
@@ -1599,6 +1600,7 @@ bool cEntity::DoMoveToWorld(cWorld * a_World, bool a_ShouldSendRespawn, Vector3d
a_OldWorld.GetName().c_str(), a_World->GetName().c_str(),
OldChunkCoords.m_ChunkX, OldChunkCoords.m_ChunkZ
);
+ UNUSED(OldChunkCoords); // Non Debug mode only
a_World->AddEntity(a_OldWorld.RemoveEntity(*this));
cRoot::Get()->GetPluginManager()->CallHookEntityChangedWorld(*this, a_OldWorld);
});
diff --git a/src/FurnaceRecipe.cpp b/src/FurnaceRecipe.cpp
index d7e69b181..4e7f13e6a 100644
--- a/src/FurnaceRecipe.cpp
+++ b/src/FurnaceRecipe.cpp
@@ -272,7 +272,7 @@ void cFurnaceRecipe::ClearRecipes(void)
const cFurnaceRecipe::cRecipe * cFurnaceRecipe::GetRecipeFrom(const cItem & a_Ingredient) const
{
- const cRecipe * BestRecipe = 0;
+ const cRecipe * BestRecipe = nullptr;
for (RecipeList::const_iterator itr = m_pState->Recipes.begin(); itr != m_pState->Recipes.end(); ++itr)
{
const cRecipe & Recipe = *itr;
diff --git a/src/OSSupport/NetworkLookup.h b/src/OSSupport/NetworkLookup.h
index e09062f4d..0522622fa 100644
--- a/src/OSSupport/NetworkLookup.h
+++ b/src/OSSupport/NetworkLookup.h
@@ -20,7 +20,7 @@ class cNetworkLookup :
public:
cNetworkLookup();
- ~cNetworkLookup();
+ ~cNetworkLookup() override;
/** Schedule a lookup task for execution. */
void ScheduleLookup(std::function<void()> a_Lookup);
diff --git a/src/Root.cpp b/src/Root.cpp
index cdc25b2a0..64ac44514 100644
--- a/src/Root.cpp
+++ b/src/Root.cpp
@@ -72,7 +72,7 @@ cRoot::cRoot(void) :
cRoot::~cRoot()
{
- s_Root = 0;
+ s_Root = nullptr;
}
diff --git a/src/main.cpp b/src/main.cpp
index e3d4542dd..5e6872a9a 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -72,6 +72,12 @@ bool cRoot::m_RunAsService = false;
#ifndef _DEBUG
+// Because SIG_DFL or SIG_IGN could be NULL instead of nullptr, we need to disable the Clang warning here
+#if __clang_major__ >= 5
+ #pragma clang diagnostic push
+ #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
+#endif
+
static void NonCtrlHandler(int a_Signal)
{
LOGD("Terminate event raised from std::signal");
@@ -115,6 +121,10 @@ static void NonCtrlHandler(int a_Signal)
default: break;
}
}
+
+#if __clang_major__ >= 5
+ #pragma clang diagnostic pop
+#endif
#endif // _DEBUG