interpret.cc (run): Correctly access libffi return values of integral smaller-than-int type...

* interpret.cc (run): Correctly access libffi return values of
	integral smaller-than-int type; these are implicitly promoted.

From-SVN: r84645
This commit is contained in:
Ulrich Weigand 2004-07-13 21:06:33 +00:00 committed by Ulrich Weigand
parent 6187fd28ad
commit 5549179ffb
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2004-07-13 Ulrich Weigand <uweigand@de.ibm.com>
* interpret.cc (run): Correctly access libffi return values of
integral smaller-than-int type; these are implicitly promoted.
2004-07-13 Bryce McKinlay <mckinlay@redhat.com>
PR libgcj/7587

View File

@ -1207,15 +1207,15 @@ _Jv_InterpMethod::run (void *retp, ffi_raw *args)
switch (rtype)
{
case FFI_TYPE_SINT8:
PUSHI (rvalue.byte_value);
PUSHI ((jbyte)(rvalue.int_value & 0xff));
break;
case FFI_TYPE_SINT16:
PUSHI (rvalue.short_value);
PUSHI ((jshort)(rvalue.int_value & 0xffff));
break;
case FFI_TYPE_UINT16:
PUSHI (rvalue.char_value);
PUSHI (rvalue.int_value & 0xffff);
break;
case FFI_TYPE_FLOAT: