Sfoglia il codice sorgente

Added clang analyzer config.

Branimir Karadzic 11 anni fa
parent
commit
818e51cb88
2 ha cambiato i file con 8 aggiunte e 6 eliminazioni
  1. 3 6
      include/bx/debug.h
  2. 5 0
      include/bx/platform.h

+ 3 - 6
include/bx/debug.h

@@ -27,10 +27,9 @@ extern "C" void NSLog(CFStringRef _format, ...);
 
 namespace bx
 {
-	BX_PRAGMA_DIAGNOSTIC_PUSH();
-	BX_PRAGMA_DIAGNOSTIC_IGNORED_CLANG("-Winvalid-noreturn");
-
-	inline void debugBreak() BX_NO_RETURN;
+#if BX_COMPILER_CLANG_ANALYZER
+	inline __attribute__((analyzer_noreturn)) void debugBreak();
+#endif // BX_COMPILER_CLANG_ANALYZER
 
 	inline void debugBreak()
 	{
@@ -48,8 +47,6 @@ namespace bx
 #endif // BX
 	}
 
-	BX_PRAGMA_DIAGNOSTIC_POP();
-
 	inline void debugOutput(const char* _out)
 	{
 #if BX_PLATFORM_ANDROID

+ 5 - 0
include/bx/platform.h

@@ -7,6 +7,7 @@
 #define BX_PLATFORM_H_HEADER_GUARD
 
 #define BX_COMPILER_CLANG           0
+#define BX_COMPILER_CLANG_ANALYZER  0
 #define BX_COMPILER_GCC             0
 #define BX_COMPILER_MSVC            0
 #define BX_COMPILER_MSVC_COMPATIBLE 0
@@ -41,6 +42,10 @@
 // clang defines __GNUC__ or _MSC_VER
 #	undef  BX_COMPILER_CLANG
 #	define BX_COMPILER_CLANG (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
+#	if defined(__clang_analyzer__)
+#		undef  BX_COMPILER_CLANG_ANALYZER
+#		define BX_COMPILER_CLANG_ANALYZER 1
+#	endif // defined(__clang_analyzer__)
 #	if defined(_MSC_VER)
 #		undef  BX_COMPILER_MSVC_COMPATIBLE
 #		define BX_COMPILER_MSVC_COMPATIBLE _MSC_VER