Explorar o código

Speculative va_copy() fix for old versions of GCC/Clang. (cannot repro) (#1085)

omar %!s(int64=7) %!d(string=hai) anos
pai
achega
80db2383d8
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      imgui.cpp

+ 4 - 0
imgui.cpp

@@ -1931,8 +1931,12 @@ bool ImGuiTextFilter::PassFilter(const char* text, const char* text_end) const
 // On some platform vsnprintf() takes va_list by reference and modifies it.
 // va_copy is the 'correct' way to copy a va_list but Visual Studio prior to 2013 doesn't have it.
 #ifndef va_copy
+#if defined(__GNUC__) || defined(__clang__)
+#define va_copy(dest, src) __builtin_va_copy(dest, src)
+#else
 #define va_copy(dest, src) (dest = src)
 #endif
+#endif
 
 // Helper: Text buffer for logging/accumulating text
 void ImGuiTextBuffer::appendfv(const char* fmt, va_list args)