mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Added a bunch of diagnostic ignore to cope with Clang -Weverything being absurd. Also fixed two legit warnings. (#2277)
This commit is contained in:
		| @@ -955,7 +955,11 @@ CODE | ||||
| #pragma clang diagnostic ignored "-Wglobal-constructors"    // warning : declaration requires a global destructor           // similar to above, not sure what the exact difference it. | ||||
| #pragma clang diagnostic ignored "-Wsign-conversion"        // warning : implicit conversion changes signedness             // | ||||
| #pragma clang diagnostic ignored "-Wformat-pedantic"        // warning : format specifies type 'void *' but the argument has type 'xxxx *' // unreasonable, would lead to casting every %p arg to void*. probably enabled by -pedantic. | ||||
| #pragma clang diagnostic ignored "-Wint-to-void-pointer-cast" // warning : cast to 'void *' from smaller integer type 'int' | ||||
| #pragma clang diagnostic ignored "-Wint-to-void-pointer-cast"       // warning : cast to 'void *' from smaller integer type 'int' | ||||
| #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant              // some standard header variations use #define NULL 0 | ||||
| #if __has_warning("-Wdouble-promotion") | ||||
| #pragma clang diagnostic ignored "-Wdouble-promotion"       // warning: implicit conversion from 'float' to 'double' when passing argument to function  // using printf() is a misery with this as C++ va_arg ellipsis changes float to double. | ||||
| #endif | ||||
| #elif defined(__GNUC__) | ||||
| #pragma GCC diagnostic ignored "-Wunused-function"          // warning: 'xxxx' defined but not used | ||||
| #pragma GCC diagnostic ignored "-Wint-to-pointer-cast"      // warning: cast to pointer from integer of different size | ||||
|   | ||||
							
								
								
									
										3
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								imgui.h
									
									
									
									
									
								
							| @@ -77,6 +77,7 @@ Index of this file: | ||||
| #if defined(__clang__) | ||||
| #pragma clang diagnostic push | ||||
| #pragma clang diagnostic ignored "-Wold-style-cast" | ||||
| #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" | ||||
| #elif defined(__GNUC__) && __GNUC__ >= 8 | ||||
| #pragma GCC diagnostic push | ||||
| #pragma GCC diagnostic ignored "-Wclass-memaccess" | ||||
| @@ -447,7 +448,7 @@ namespace ImGui | ||||
|     IMGUI_API bool          InputInt2(const char* label, int v[2], ImGuiInputTextFlags flags = 0); | ||||
|     IMGUI_API bool          InputInt3(const char* label, int v[3], ImGuiInputTextFlags flags = 0); | ||||
|     IMGUI_API bool          InputInt4(const char* label, int v[4], ImGuiInputTextFlags flags = 0); | ||||
|     IMGUI_API bool          InputDouble(const char* label, double* v, double step = 0.0f, double step_fast = 0.0f, const char* format = "%.6f", ImGuiInputTextFlags flags = 0); | ||||
|     IMGUI_API bool          InputDouble(const char* label, double* v, double step = 0.0, double step_fast = 0.0, const char* format = "%.6f", ImGuiInputTextFlags flags = 0); | ||||
|     IMGUI_API bool          InputScalar(const char* label, ImGuiDataType data_type, void* v, const void* step = NULL, const void* step_fast = NULL, const char* format = NULL, ImGuiInputTextFlags flags = 0); | ||||
|     IMGUI_API bool          InputScalarN(const char* label, ImGuiDataType data_type, void* v, int components, const void* step = NULL, const void* step_fast = NULL, const char* format = NULL, ImGuiInputTextFlags flags = 0); | ||||
|  | ||||
|   | ||||
| @@ -70,6 +70,10 @@ Index of this file: | ||||
| #pragma clang diagnostic ignored "-Wint-to-void-pointer-cast"   // warning : cast to 'void *' from smaller integer type 'int' | ||||
| #pragma clang diagnostic ignored "-Wformat-security"            // warning : warning: format string is not a string literal | ||||
| #pragma clang diagnostic ignored "-Wexit-time-destructors"      // warning : declaration requires an exit-time destructor       // exit-time destruction order is undefined. if MemFree() leads to users code that has been disabled before exit it might cause problems. ImGui coding style welcomes static/globals. | ||||
| #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant                  // some standard header variations use #define NULL 0 | ||||
| #if __has_warning("-Wdouble-promotion") | ||||
| #pragma clang diagnostic ignored "-Wdouble-promotion"           // warning: implicit conversion from 'float' to 'double' when passing argument to function  // using printf() is a misery with this as C++ va_arg ellipsis changes float to double. | ||||
| #endif | ||||
| #if __has_warning("-Wreserved-id-macro") | ||||
| #pragma clang diagnostic ignored "-Wreserved-id-macro"          // warning : macro name is a reserved identifier                // | ||||
| #endif | ||||
|   | ||||
| @@ -57,6 +57,7 @@ Index of this file: | ||||
| #pragma clang diagnostic ignored "-Wfloat-equal"            // warning : comparing floating point with == or != is unsafe   // storing and comparing against same constants ok. | ||||
| #pragma clang diagnostic ignored "-Wglobal-constructors"    // warning : declaration requires a global destructor           // similar to above, not sure what the exact difference it. | ||||
| #pragma clang diagnostic ignored "-Wsign-conversion"        // warning : implicit conversion changes signedness             // | ||||
| #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant              // some standard header variations use #define NULL 0 | ||||
| #if __has_warning("-Wcomma") | ||||
| #pragma clang diagnostic ignored "-Wcomma"                  // warning : possible misuse of comma operator here             // | ||||
| #endif | ||||
| @@ -64,7 +65,7 @@ Index of this file: | ||||
| #pragma clang diagnostic ignored "-Wreserved-id-macro"      // warning : macro name is a reserved identifier                // | ||||
| #endif | ||||
| #if __has_warning("-Wdouble-promotion") | ||||
| #pragma clang diagnostic ignored "-Wdouble-promotion"       // warning: implicit conversion from 'float' to 'double' when passing argument to function | ||||
| #pragma clang diagnostic ignored "-Wdouble-promotion"       // warning: implicit conversion from 'float' to 'double' when passing argument to function  // using printf() is a misery with this as C++ va_arg ellipsis changes float to double. | ||||
| #endif | ||||
| #elif defined(__GNUC__) | ||||
| #pragma GCC diagnostic ignored "-Wunused-function"          // warning: 'xxxx' defined but not used | ||||
|   | ||||
| @@ -43,9 +43,13 @@ Index of this file: | ||||
|  | ||||
| #ifdef __clang__ | ||||
| #pragma clang diagnostic push | ||||
| #pragma clang diagnostic ignored "-Wunused-function"        // for stb_textedit.h | ||||
| #pragma clang diagnostic ignored "-Wmissing-prototypes"     // for stb_textedit.h | ||||
| #pragma clang diagnostic ignored "-Wunused-function"                // for stb_textedit.h | ||||
| #pragma clang diagnostic ignored "-Wmissing-prototypes"             // for stb_textedit.h | ||||
| #pragma clang diagnostic ignored "-Wold-style-cast" | ||||
| #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant" | ||||
| #if __has_warning("-Wdouble-promotion") | ||||
| #pragma clang diagnostic ignored "-Wdouble-promotion" | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| //----------------------------------------------------------------------------- | ||||
|   | ||||
| @@ -52,8 +52,14 @@ Index of this file: | ||||
|  | ||||
| // Clang/GCC warnings with -Weverything | ||||
| #ifdef __clang__ | ||||
| #pragma clang diagnostic ignored "-Wold-style-cast"         // warning : use of old-style cast                              // yes, they are more terse. | ||||
| #pragma clang diagnostic ignored "-Wfloat-equal"            // warning : comparing floating point with == or != is unsafe   // storing and comparing against same constants (typically 0.0f) is ok. | ||||
| #pragma clang diagnostic ignored "-Wformat-nonliteral"      // warning : format string is not a string literal              // passing non-literal to vsnformat(). yes, user passing incorrect format strings can crash the code. | ||||
| #pragma clang diagnostic ignored "-Wsign-conversion"        // warning : implicit conversion changes signedness             // | ||||
| #pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant              // some standard header variations use #define NULL 0 | ||||
| #if __has_warning("-Wdouble-promotion") | ||||
| #pragma clang diagnostic ignored "-Wdouble-promotion"       // warning: implicit conversion from 'float' to 'double' when passing argument to function  // using printf() is a misery with this as C++ va_arg ellipsis changes float to double. | ||||
| #endif | ||||
| #elif defined(__GNUC__) | ||||
| #pragma GCC diagnostic ignored "-Wformat-nonliteral"        // warning: format not a string literal, format string not checked | ||||
| #if __GNUC__ >= 8 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user