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)