Speculative va_copy() fix for old versions of GCC/Clang. (cannot repro) (#1085)
diff --git a/imgui.cpp b/imgui.cpp
index 426d196..9b998bd 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -1931,8 +1931,12 @@
 // 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)