summaryrefslogtreecommitdiff
path: root/libjava/java/lang/reflect/natVMProxy.cc
diff options
context:
space:
mode:
authorKai Tietz <ktietz@redhat.com>2012-02-01 11:46:36 +0100
committerKai Tietz <ktietz@gcc.gnu.org>2012-02-01 11:46:36 +0100
commit76a3962fe967dfde16d1b16460149d42680651b0 (patch)
tree97d7fe8daa62f82f0826e2248f98c24d3f5d02a4 /libjava/java/lang/reflect/natVMProxy.cc
parent337c6e076cb4b9a2ad374859ca2248067d64e514 (diff)
downloadgcc-76a3962fe967dfde16d1b16460149d42680651b0.tar.gz
re PR libgcj/51500 (106 unexpected libjava testsuite failures with mingw32)
PR target/51500 * interpret.cc (_Jv_init_cif): Handle thiscall convention for 32-bit Windows. * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Likewise. * java/lang/reflect/natVMProxy.cc (invoke_t): Add thiscall-attribute for 32-bit Windows. From-SVN: r183794
Diffstat (limited to 'libjava/java/lang/reflect/natVMProxy.cc')
-rw-r--r--libjava/java/lang/reflect/natVMProxy.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/libjava/java/lang/reflect/natVMProxy.cc b/libjava/java/lang/reflect/natVMProxy.cc
index 4c3fd74f91c..e46263d858c 100644
--- a/libjava/java/lang/reflect/natVMProxy.cc
+++ b/libjava/java/lang/reflect/natVMProxy.cc
@@ -79,7 +79,11 @@ typedef void (*closure_fun) (ffi_cif*, void*, void**, void*);
static void *ncode (int method_index, jclass klass, _Jv_Method *self, closure_fun fun);
static void run_proxy (ffi_cif*, void*, void**, void*);
-typedef jobject invoke_t (jobject, Proxy *, Method *, JArray< jobject > *);
+typedef jobject
+#if defined (X86_WIN32) && !defined (__CYGWIN__)
+ __attribute__ ((thiscall))
+#endif
+ invoke_t (jobject, Proxy *, Method *, JArray< jobject > *);
// True if pc points to a proxy frame.