summaryrefslogtreecommitdiff
path: root/src/common/cbasetypes.h
diff options
context:
space:
mode:
authorHaruna <haru@dotalux.com>2013-12-16 19:25:58 -0800
committerHaruna <haru@dotalux.com>2013-12-16 19:25:58 -0800
commit8b84026c292fed6f6218278c870c4f8839fbd40a (patch)
tree4b62aa52844a1916db1f18faba8b9cf29ff30810 /src/common/cbasetypes.h
parent9e223137eba56dcd41bececf4360f321c9117247 (diff)
parent3917562fc493c031bb20181b5d9ae6ab15ce9b76 (diff)
downloadhercules-8b84026c292fed6f6218278c870c4f8839fbd40a.tar.gz
hercules-8b84026c292fed6f6218278c870c4f8839fbd40a.tar.bz2
hercules-8b84026c292fed6f6218278c870c4f8839fbd40a.tar.xz
hercules-8b84026c292fed6f6218278c870c4f8839fbd40a.zip
Merge pull request #237 from HerculesWS/warnings
This adds an Xcode project file (for those who develop on OS X) and fixes several - potential or real - issues we detected thanks to its more strict warnings settings. It also updates the unix build script with similar warning settings.
Diffstat (limited to 'src/common/cbasetypes.h')
-rw-r--r--src/common/cbasetypes.h26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/common/cbasetypes.h b/src/common/cbasetypes.h
index 6de2ace01..120f4f861 100644
--- a/src/common/cbasetypes.h
+++ b/src/common/cbasetypes.h
@@ -255,6 +255,13 @@ typedef uintptr_t uintptr;
#define ra_align(n) __attribute__(( aligned(n) ))
#endif
+// Directives for the (clang) static analyzer
+#ifdef __clang__
+#define analyzer_noreturn __attribute__((analyzer_noreturn))
+#else
+#define analyzer_noreturn
+#endif
+
/////////////////////////////
// for those still not building c++
@@ -353,23 +360,6 @@ typedef char bool;
#endif
//////////////////////////////////////////////////////////////////////////
-// Assert
-
-#if ! defined(Assert)
-#if defined(RELEASE)
-#define Assert(EX)
-#else
-// extern "C" {
-#include <assert.h>
-// }
-#if !defined(DEFCPP) && defined(WIN32) && !defined(MINGW)
-#include <crtdbg.h>
-#endif
-#define Assert(EX) assert(EX)
-#endif
-#endif /* ! defined(Assert) */
-
-//////////////////////////////////////////////////////////////////////////
// Has to be unsigned to avoid problems in some systems
// Problems arise when these functions expect an argument in the range [0,256[ and are fed a signed char.
#include <ctype.h>
@@ -405,7 +395,7 @@ typedef char bool;
//////////////////////////////////////////////////////////////////////////
-// Use the preprocessor to 'stringify' stuff (concert to a string).
+// Use the preprocessor to 'stringify' stuff (convert to a string).
// example:
// #define TESTE blabla
// QUOTE(TESTE) -> "TESTE"