mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-11-03 22:51:06 +01:00 
			
		
		
		
	Added checks for "zero-as-null-pointer-constant" warnings for older Clang (#2299, followup to #2277)
This commit is contained in:
		@@ -957,7 +957,9 @@ CODE
 | 
			
		||||
#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'
 | 
			
		||||
#if __has_warning("-Wzero-as-null-pointer-constant")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant              // some standard header variations use #define NULL 0
 | 
			
		||||
#endif
 | 
			
		||||
#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
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								imgui.h
									
									
									
									
									
								
							@@ -77,7 +77,9 @@ Index of this file:
 | 
			
		||||
#if defined(__clang__)
 | 
			
		||||
#pragma clang diagnostic push
 | 
			
		||||
#pragma clang diagnostic ignored "-Wold-style-cast"
 | 
			
		||||
#if __has_warning("-Wzero-as-null-pointer-constant")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
 | 
			
		||||
#endif
 | 
			
		||||
#elif defined(__GNUC__) && __GNUC__ >= 8
 | 
			
		||||
#pragma GCC diagnostic push
 | 
			
		||||
#pragma GCC diagnostic ignored "-Wclass-memaccess"
 | 
			
		||||
 
 | 
			
		||||
@@ -70,7 +70,9 @@ 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.
 | 
			
		||||
#if __has_warning("-Wzero-as-null-pointer-constant")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant                  // some standard header variations use #define NULL 0
 | 
			
		||||
#endif
 | 
			
		||||
#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
 | 
			
		||||
 
 | 
			
		||||
@@ -57,7 +57,9 @@ 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             //
 | 
			
		||||
#if __has_warning("-Wzero-as-null-pointer-constant")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant              // some standard header variations use #define NULL 0
 | 
			
		||||
#endif
 | 
			
		||||
#if __has_warning("-Wcomma")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wcomma"                  // warning : possible misuse of comma operator here             //
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -46,7 +46,9 @@ Index of this file:
 | 
			
		||||
#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"
 | 
			
		||||
#if __has_warning("-Wzero-as-null-pointer-constant")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
 | 
			
		||||
#endif
 | 
			
		||||
#if __has_warning("-Wdouble-promotion")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wdouble-promotion"
 | 
			
		||||
#endif
 | 
			
		||||
 
 | 
			
		||||
@@ -56,7 +56,9 @@ Index of this file:
 | 
			
		||||
#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             //
 | 
			
		||||
#if __has_warning("-Wzero-as-null-pointer-constant")
 | 
			
		||||
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"  // warning : zero as null pointer constant              // some standard header variations use #define NULL 0
 | 
			
		||||
#endif
 | 
			
		||||
#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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user