git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@8414 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2000-12-22 21:46:47 +00:00
parent 0816a0eed5
commit 0fac86242e
3 changed files with 15 additions and 15 deletions

View file

@ -1,3 +1,7 @@
2000-12-22 Adam Fedor <fedor@gnu.org>
* Source/GSFFCallInvocation.m: Remove powerpc specific defs
2000-12-21 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSDistantObject.m: Modified DO_FORWARD_INVOCATION() macro

View file

@ -20,12 +20,6 @@
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
*/
#ifdef __powerpc__
#define __rs6000__
#define _AIX
#endif
#include <Foundation/NSException.h>
#include <Foundation/NSCoder.h>
#include <Foundation/NSDistantObject.h>
@ -160,37 +154,37 @@ static void gs_free_callback(void)
/* This is implemented as a function so it can be used by other
routines (like the DO forwarding)
*/
void
GSFFCallInvokeWithTargetAndImp(NSInvocation *_inv, id anObject, IMP imp)
{
int i;
av_alist alist;
NSInvocation_t *inv = _inv;
void *retval = inv->_retval;
/* Do an av call starting with the return type */
#undef CASE_TYPE
#define CASE_TYPE(_T, _V, _F) \
case _T: \
_F(alist, imp, inv->_retval); \
_F(alist, imp, retval); \
break;
switch (*inv->_info[0].type)
{
case _C_ID:
av_start_ptr(alist, imp, id, inv->_retval);
av_start_ptr(alist, imp, id, retval);
break;
case _C_CLASS:
av_start_ptr(alist, imp, Class, inv->_retval);
av_start_ptr(alist, imp, Class, retval);
break;
case _C_SEL:
av_start_ptr(alist, imp, SEL, inv->_retval);
av_start_ptr(alist, imp, SEL, retval);
break;
case _C_PTR:
av_start_ptr(alist, imp, void *, inv->_retval);
av_start_ptr(alist, imp, void *, retval);
break;
case _C_CHARPTR:
av_start_ptr(alist, imp, char *, inv->_retval);
av_start_ptr(alist, imp, char *, retval);
break;
CASE_TYPE(_C_CHR, char, av_start_char)
@ -211,7 +205,7 @@ GSFFCallInvokeWithTargetAndImp(NSInvocation *_inv, id anObject, IMP imp)
int split = 0;
if (inv->_info[0].size > sizeof(long) && inv->_info[0].size <= 2*sizeof(long))
split = gs_splittable(inv->_info[0].type);
_av_start_struct(alist, imp, inv->_info[0].size, split, inv->_retval);
_av_start_struct(alist, imp, inv->_info[0].size, split, retval);
break;
}
case _C_VOID:

View file

@ -80,7 +80,7 @@ int con_data (id prx)
printf(" ...ok\n");
else
printf(" *** ERROR ***\n");
printf(" (should get error returning ptr)\n");
printf(" error is ok (due to incorrect encoding by gcc)\n");
#define TEST_CALL(test, send, got, sendp, var, varr, val, msg1, msg2) \
printf(test); \
@ -122,9 +122,11 @@ int con_data (id prx)
TEST_CALL("UChar:\n", " sending %d", " got %d", " sending ptr to %d",
uc, ucr, 23, sendUChar:, getUChar:)
printf(" error is ok (due to incorrect encoding by gcc)\n");
TEST_CALL("Char:\n", " sending %d", " got %d", " sending ptr to %d",
c, cr, 23, sendChar:, getChar:)
printf(" error is ok (due to incorrect encoding by gcc)\n");
TEST_CALL("Short:\n", " sending %hd", " got %hd", " sending ptr to %hd",
s, sr, 23, sendShort:, getShort:)