OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [objc-obj-c++-shared/] [objc-test-suite-next-encode-assist.h] - Blame information for rev 705

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 705 jeremybenn
#ifndef _OBJC_TEST_SUITE_NEXT_ENCODE_ASSIST_H_
2
#define _OBJC_TEST_SUITE_NEXT_ENCODE_ASSIST_H_
3
 
4
#ifdef __NEXT_RUNTIME__
5
 
6
#include "next-abi.h"
7
#ifdef NEXT_OBJC_USE_NEW_INTERFACE
8
#include <objc/runtime.h>
9
#else
10
#include <objc/objc-runtime.h>
11
 
12
/* Missing from old NeXT objc headers... */
13
#define _C_LNG_LNG  'q'
14
#define _C_ULNG_LNG 'Q'
15
#define _C_ATOM     '%'
16
#define _C_BOOL     'B'
17
 
18
#endif
19
 
20
/* The NeXT headers do not define NULL.  */
21
#ifndef NULL
22
#define NULL 0
23
#endif
24
 
25
#define _C_CONST        'r'
26
#define _C_IN           'n'
27
#define _C_INOUT        'N'
28
#define _C_OUT          'o'
29
#define _C_BYCOPY       'O'
30
#define _C_BYREF        'R'
31
#define _C_ONEWAY       'V'
32
#define _C_GCINVISIBLE  '!'
33
 
34
#define _F_CONST        0x01
35
#define _F_IN           0x01
36
#define _F_OUT          0x02
37
#define _F_INOUT        0x03
38
#define _F_BYCOPY       0x04  
39
#define _F_BYREF        0x08  
40
#define _F_ONEWAY       0x10
41
#define _F_GCINVISIBLE  0x20
42
 
43
/* The NeXT runtimes do not include these functions (at least not through
44
   any public API).  They are required for the objc/execute/bf-* and bycopy-3. */
45
 
46
struct objc_struct_layout
47
{
48
  const char *original_type;
49
  const char *type;
50
  const char *prev_type;
51
  unsigned int record_size;
52
  unsigned int record_align;
53
};
54
 
55
void objc_layout_structure_get_info (struct objc_struct_layout *,unsigned int *,
56
                                     unsigned int *, const char **);
57
void objc_layout_structure (const char *, struct objc_struct_layout *);
58
BOOL objc_layout_structure_next_member (struct objc_struct_layout *);
59
void objc_layout_finish_structure (struct objc_struct_layout *, unsigned int *,
60
                                   unsigned int *);
61
 
62
int objc_sizeof_type (const char *);
63
int objc_alignof_type (const char *);
64
int objc_aligned_size (const char *);
65
int objc_promoted_size (const char *);
66
 
67
unsigned objc_get_type_qualifiers (const char *);
68
const char *objc_skip_type_qualifiers (const char *);
69
const char *objc_skip_typespec (const char *);
70
const char *objc_skip_offset (const char *);
71
const char *objc_skip_argspec (const char *);
72
 
73
#endif /* __NEXT_RUNTIME__ */
74
#endif /* _OBJC_TEST_SUITE_NEXT_ENCODE_ASSIST_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.