8150079: MSVC prior to VS 2013 doesn't know the 'va_copy' macro

Reviewed-by: dholmes
This commit is contained in:
Volker Simonis 2016-02-17 22:17:49 -05:00
parent 1153ecb06f
commit a5c5a3b609
2 changed files with 2 additions and 6 deletions

View File

@ -930,13 +930,7 @@ class JNI_ArgumentPusherVaArg : public JNI_ArgumentPusher {
_arguments->push_oop(Handle((oop *)l, false)); }
inline void set_ap(va_list rap) {
#ifdef va_copy
va_copy(_ap, rap);
#elif defined (__va_copy)
__va_copy(_ap, rap);
#else
_ap = rap;
#endif
}
public:

View File

@ -174,6 +174,8 @@ const jlong max_jlong = CONST64(0x7fffffffffffffff);
#if _MSC_VER < 1800
// Visual Studio 2013 introduced strtoull(); before, one has to use _strtoui64() instead.
#define strtoull _strtoui64
// Visual Studio prior to 2013 had no va_copy, but could safely copy va_list by assignement
#define va_copy(dest, src) dest = src
// Fixes some wrong warnings about 'this' : used in base member initializer list
#pragma warning( disable : 4355 )
#endif