Add definitions for NeXT_RUNTIME

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@9784 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2001-05-04 21:14:06 +00:00
parent 7cf10b6c49
commit d924131545
7 changed files with 34 additions and 2 deletions

View file

@ -1,3 +1,11 @@
2001-05-04 Adam Fedor <fedor@gnu.org>
* Headers/gnustep/base/objc-gnu2next.h: Add arglist_h def. Add
encoding functions defs.
* Source/mframe.m: Include stdio and ctype.
* Source/mframe/mframe.foot (mframe_arg_addr): Use marg_getRef if
NeXT_RUNTIME.
2001-05-04 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSDate.m: GSTimeNow() remove volatile typespec and move

View file

@ -31,7 +31,11 @@
#include <objc/objc-class.h>
#include <stddef.h>
#define arglist_t marg_list
typedef union {
char *arg_ptr;
char arg_regs[sizeof (char*)];
} *arglist_t; /* argument frame */
//#define arglist_t marg_list
#define retval_t void*
#define TypedStream void*
@ -119,6 +123,18 @@ extern void *(*_objc_realloc)(void *, size_t);
extern void *(*_objc_calloc)(size_t, size_t);
extern void (*_objc_free)(void *);
/* encoding functions */
extern int objc_sizeof_type(const char* type);
extern int objc_alignof_type(const char* type);
extern int objc_aligned_size (const char* type);
extern int objc_promoted_size (const char* type);
extern const char *objc_skip_type_qualifiers (const char* type);
extern const char *objc_skip_typespec (const char* type);
extern const char *objc_skip_argspec (const char* type);
extern unsigned objc_get_type_qualifiers (const char* type);
extern BOOL sel_types_match (const char* t1, const char* t2);
#endif /* NeXT_RUNTIME */
#endif /* __objc_gnu2next_h_GNUSTEP_BASE_INCLUDE */

View file

@ -34,7 +34,9 @@
#include <Foundation/NSObjCRuntime.h>
#include <Foundation/NSData.h>
#include <Foundation/NSException.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
/* Deal with strrchr: */
#if STDC_HEADERS || HAVE_STRING_H

View file

@ -668,6 +668,7 @@ esac
case "$target_os" in
freebsd*) target_os=freebsd;;
openbsd*) target_os=openbsd;;
darwin*) target_os=darwin;;
esac

View file

@ -40,6 +40,7 @@ esac
case "$target_os" in
freebsd*) target_os=freebsd;;
openbsd*) target_os=openbsd;;
darwin*) target_os=darwin;;
esac

View file

@ -9,6 +9,9 @@ mframe_arg_addr(arglist_t argf, NSArgumentInfo *info)
offset += sizeof(int) - info->size;
}
#endif
#if NeXT_RUNTIME
return marg_getRef(argf, offset, void);
#else
if (info->isReg)
{
return(argf->arg_regs + offset);
@ -17,6 +20,7 @@ mframe_arg_addr(arglist_t argf, NSArgumentInfo *info)
{
return(argf->arg_ptr + offset);
}
#endif
}
inline static void

View file

@ -259,7 +259,7 @@ objc_promoted_size (const char* type)
occuring in method prototype encodings.
*/
inline const char*
const char*
objc_skip_type_qualifiers (const char* type)
{
while (*type == _C_CONST