mirror of
				https://github.com/Drezil/imgui.git
				synced 2025-10-31 13:11:05 +01:00 
			
		
		
		
	Fixed Clang zealous cast-call warning (on par with GCC) which decided to warn against explicit C-style casts now.
This commit is contained in:
		
							
								
								
									
										13
									
								
								imgui.cpp
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								imgui.cpp
									
									
									
									
									
								
							| @@ -687,14 +687,15 @@ | ||||
| #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 "-Wcast-qual"              // warning : cast from 'const xxxx *' to 'xxxx *' drops const qualifier | ||||
| #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 | ||||
| #pragma GCC diagnostic ignored "-Wformat"                   // warning: format '%p' expects argument of type 'void*', but argument 6 has type 'ImGuiWindow*' | ||||
| #pragma GCC diagnostic ignored "-Wdouble-promotion"         // warning: implicit conversion from 'float' to 'double' when passing argument to function | ||||
| #pragma GCC diagnostic ignored "-Wconversion"               // warning: conversion to 'xxxx' from 'xxxx' may alter its value | ||||
| #pragma GCC diagnostic ignored "-Wcast-qual"                // warning: cast from type 'xxxx' to type 'xxxx' casts away qualifiers | ||||
| #pragma GCC diagnostic ignored "-Wcast-qual"                // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers | ||||
| #pragma GCC diagnostic ignored "-Wformat-nonliteral"        // warning: format not a string literal, format string not checked | ||||
| #pragma GCC diagnostic ignored "-Wstrict-overflow"          // warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false | ||||
| #endif | ||||
| @@ -1025,11 +1026,11 @@ char* ImStrdup(const char *str) | ||||
|     return (char*)memcpy(buf, (const void*)str, len); | ||||
| } | ||||
|  | ||||
| char* ImStrchrRange(const char* str, const char* str_end, char c) | ||||
| const char* ImStrchrRange(const char* str, const char* str_end, char c) | ||||
| { | ||||
|     for ( ; str < str_end; str++) | ||||
|         if (*str == c)  | ||||
|             return (char*)str;  | ||||
|             return str;  | ||||
|     return NULL; | ||||
| } | ||||
|  | ||||
| @@ -3762,7 +3763,7 @@ static void LoadIniSettingsFromMemory(const char* buf_readonly) | ||||
|             line_end[-1] = 0; | ||||
|             const char* name_end = line_end - 1;  | ||||
|             const char* type_start = line + 1; | ||||
|             char* type_end = ImStrchrRange(type_start, name_end, ']'); | ||||
|             char* type_end = (char*)ImStrchrRange(type_start, name_end, ']'); | ||||
|             const char* name_start = type_end ? ImStrchrRange(type_end + 1, name_end, '[') : NULL; | ||||
|             if (!type_end || !name_start) | ||||
|             { | ||||
| @@ -9424,7 +9425,7 @@ struct ImGuiPlotArrayGetterData | ||||
| static float Plot_ArrayGetter(void* data, int idx) | ||||
| { | ||||
|     ImGuiPlotArrayGetterData* plot_data = (ImGuiPlotArrayGetterData*)data; | ||||
|     const float v = *(float*)(void*)((unsigned char*)plot_data->Values + (size_t)idx * plot_data->Stride); | ||||
|     const float v = *(const float*)(const void*)((const unsigned char*)plot_data->Values + (size_t)idx * plot_data->Stride); | ||||
|     return v; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -41,6 +41,7 @@ | ||||
| #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 "-Wcast-qual"              // warning : cast from 'const xxxx *' to 'xxx *' drops const qualifier // | ||||
| #if __has_warning("-Wcomma") | ||||
| #pragma clang diagnostic ignored "-Wcomma"                  // warning : possible misuse of comma operator here             // | ||||
| #endif | ||||
| @@ -54,7 +55,7 @@ | ||||
| #pragma GCC diagnostic ignored "-Wunused-function"          // warning: 'xxxx' defined but not used | ||||
| #pragma GCC diagnostic ignored "-Wdouble-promotion"         // warning: implicit conversion from 'float' to 'double' when passing argument to function | ||||
| #pragma GCC diagnostic ignored "-Wconversion"               // warning: conversion to 'xxxx' from 'xxxx' may alter its value | ||||
| #pragma GCC diagnostic ignored "-Wcast-qual"                // warning: cast from type 'xxxx' to type 'xxxx' casts away qualifiers | ||||
| #pragma GCC diagnostic ignored "-Wcast-qual"                // warning: cast from type 'const xxxx *' to type 'xxxx *' casts away qualifiers | ||||
| #endif | ||||
|  | ||||
| //------------------------------------------------------------------------- | ||||
|   | ||||
| @@ -113,7 +113,7 @@ IMGUI_API int           ImStricmp(const char* str1, const char* str2); | ||||
| IMGUI_API int           ImStrnicmp(const char* str1, const char* str2, size_t count); | ||||
| IMGUI_API void          ImStrncpy(char* dst, const char* src, size_t count); | ||||
| IMGUI_API char*         ImStrdup(const char* str); | ||||
| IMGUI_API char*         ImStrchrRange(const char* str_begin, const char* str_end, char c); | ||||
| IMGUI_API const char*   ImStrchrRange(const char* str_begin, const char* str_end, char c); | ||||
| IMGUI_API int           ImStrlenW(const ImWchar* str); | ||||
| IMGUI_API const ImWchar*ImStrbolW(const ImWchar* buf_mid_line, const ImWchar* buf_begin); // Find beginning-of-line | ||||
| IMGUI_API const char*   ImStristr(const char* haystack, const char* haystack_end, const char* needle, const char* needle_end); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user