diff options
author | Ignacio Etcheverry <neikeq@users.noreply.github.com> | 2017-10-10 16:35:39 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-10 16:35:39 +0200 |
commit | 8ac43bb1de86202566e65dc96bddccd125e073be (patch) | |
tree | 6dfe1f705659664cdcacdcdd33c150009d5ec246 | |
parent | 18d3ba0c50ac073a4588388a6bdc71cfee44ea1f (diff) | |
parent | 73e86187bc193c29f806ee00a77f2765dda27b01 (diff) |
Merge pull request #11987 from endragor/define-va-copy
Define va_copy with --std=c++03 (fixes #11979)
-rw-r--r-- | core/io/logger.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/core/io/logger.cpp b/core/io/logger.cpp index b94007d316..ad6371f1e1 100644 --- a/core/io/logger.cpp +++ b/core/io/logger.cpp @@ -33,6 +33,17 @@ #include "os/os.h" #include "print_string.h" +// va_copy was defined in the C99, but not in C++ standards before C++11. +// When you compile C++ without --std=c++<XX> option, compilers still define +// va_copy, otherwise you have to use the internal version (__va_copy). +#if !defined(va_copy) +#if defined(__GNUC__) +#define va_copy(d, s) __va_copy(d, s) +#else +#define va_copy(d, s) ((d) = (s)) +#endif +#endif + bool Logger::should_log(bool p_err) { return (!p_err || _print_error_enabled) && (p_err || _print_line_enabled); } |