Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
36be30f1
Commit
36be30f1
authored
Apr 13, 1993
by
Kresten Krab Thorup
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
includes changed to double quote style
From-SVN: r4113
parent
ba2e2786
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
113 additions
and
30 deletions
+113
-30
gcc/objc/Object.h
+1
-1
gcc/objc/Protocol.h
+1
-1
gcc/objc/archive.c
+0
-1
gcc/objc/hash.c
+2
-2
gcc/objc/misc.c
+2
-5
gcc/objc/objc-api.h
+97
-2
gcc/objc/objc.h
+0
-3
gcc/objc/runtime.h
+8
-13
gcc/objc/selector.c
+1
-1
gcc/objc/sendmsg.c
+1
-1
No files found.
gcc/objc/Object.h
View file @
36be30f1
...
...
@@ -26,7 +26,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef __object_INCLUDE_GNU
#define __object_INCLUDE_GNU
#include
<objc/objc.h>
#include
"objc/objc.h"
/*
* All classes are derived from Object. As such,
...
...
gcc/objc/Protocol.h
View file @
36be30f1
...
...
@@ -26,7 +26,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef __Protocol_INCLUDE_GNU
#define __Protocol_INCLUDE_GNU
#include
<objc/Object.h>
#include
"objc/Object.h"
@interface
Protocol
:
Object
{
...
...
gcc/objc/archive.c
View file @
36be30f1
...
...
@@ -30,7 +30,6 @@ You should have received a copy of the GNU General Public License along with
*/
#include "runtime.h"
#include <objc/objc-archive.h>
#define __objc_fatal(format, args...) \
{ fprintf(stderr, "archining: "); \
...
...
gcc/objc/hash.c
View file @
36be30f1
...
...
@@ -25,8 +25,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "assert.h"
#include
<objc/hash.h>
#include
<objc/objc.h>
#include
"objc/hash.h"
#include
"objc/objc.h"
#include "runtime.h"
/* for DEBUG_PRINTF */
...
...
gcc/objc/misc.c
View file @
36be30f1
...
...
@@ -26,9 +26,6 @@ You should have received a copy of the GNU General Public License along with
#include "runtime.h"
void
*
malloc
(
size_t
);
void
*
realloc
(
void
*
,
size_t
);
void
objc_error
(
id
object
,
const
char
*
fmt
,
va_list
);
void
(
*
_objc_error
)(
id
,
const
char
*
,
va_list
)
=
objc_error
;
...
...
@@ -53,7 +50,7 @@ objc_fatal(const char* msg)
void
*
__objc_xmalloc
(
size_t
size
)
{
void
*
res
=
malloc
(
size
);
void
*
res
=
(
void
*
)
malloc
(
size
);
if
(
!
res
)
objc_fatal
(
"Virtual memory exhausted
\n
"
);
return
res
;
...
...
@@ -62,7 +59,7 @@ __objc_xmalloc(size_t size)
void
*
__objc_xrealloc
(
void
*
mem
,
size_t
size
)
{
void
*
res
=
realloc
(
mem
,
size
);
void
*
res
=
(
void
*
)
realloc
(
mem
,
size
);
if
(
!
res
)
objc_fatal
(
"Virtual memory exhausted
\n
"
);
return
res
;
...
...
gcc/objc/objc-api.h
View file @
36be30f1
...
...
@@ -26,8 +26,9 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#ifndef __objc_api_INCLUDE_GNU
#define __objc_api_INCLUDE_GNU
#include <stdlib.h>
#include <objc/objc.h>
#include "objc/objc.h"
#include "objc/hash.h"
static
const
ARGSIZE
=
96
;
/* for `method_get_argsize()' */
...
...
@@ -234,5 +235,99 @@ object_is_meta_class(id object)
return
CLS_ISMETA
((
Class_t
)
object
);
}
/* Archiving stuff */
typedef
int
(
*
objc_typed_read_func
)(
void
*
,
char
*
,
int
);
typedef
int
(
*
objc_typed_write_func
)(
void
*
,
const
char
*
,
int
);
typedef
int
(
*
objc_typed_flush_func
)(
void
*
);
typedef
int
(
*
objc_typed_eof_func
)(
void
*
);
#define OBJC_READONLY 0x01
#define OBJC_WRITEONLY 0x02
#define OBJC_MANAGED_STREAM 0x01
#define OBJC_FILE_STREAM 0x02
#define OBJC_MEMORY_STREAM 0x04
#define OBJC_TYPED_STREAM_VERSION 0x01
struct
objc_typed_stream
{
void
*
physical
;
cache_ptr
object_table
;
/* read/written objects */
cache_ptr
stream_table
;
/* other read/written but shared things.. */
cache_ptr
class_table
;
/* class version mapping */
cache_ptr
object_refs
;
/* forward references */
int
mode
;
/* OBJC_READONLY or OBJC_WRITEONLY */
int
type
;
/* MANAGED, FILE, MEMORY etc bit string */
int
version
;
/* version used when writing */
int
writing_root_p
;
objc_typed_read_func
read
;
objc_typed_write_func
write
;
objc_typed_eof_func
eof
;
objc_typed_flush_func
flush
;
};
/* opcode masks */
#define _B_VALUE 0x1fU
#define _B_CODE 0xe0U
#define _B_SIGN 0x10U
#define _B_NUMBER 0x0fU
/* standard opcodes */
#define _B_INVALID 0x00U
#define _B_SINT 0x20U
#define _B_NINT 0x40U
#define _B_SSTR 0x60U
#define _B_NSTR 0x80U
#define _B_RCOMM 0xa0U
#define _B_UCOMM 0xc0U
#define _B_EXT 0xe0U
/* eXtension opcodes */
#define _BX_OBJECT 0x00U
#define _BX_CLASS 0x01U
#define _BX_SEL 0x02U
#define _BX_OBJREF 0x03U
#define _BX_OBJROOT 0x04U
#define _BX_EXT 0x1fU
/*
** Read and write objects as specified by TYPE. All the `last'
** arguments are pointers to the objects to read/write.
*/
int
objc_write_type
(
TypedStream
*
stream
,
const
char
*
type
,
const
void
*
data
);
int
objc_read_type
(
TypedStream
*
stream
,
const
char
*
type
,
void
*
data
);
int
objc_write_types
(
TypedStream
*
stream
,
const
char
*
type
,
...);
int
objc_read_types
(
TypedStream
*
stream
,
const
char
*
type
,
...);
int
objc_write_object_reference
(
TypedStream
*
stream
,
id
object
);
int
objc_write_root_object
(
TypedStream
*
stream
,
id
object
);
/*
** Convenience funtions
*/
int
objc_write_array
(
TypedStream
*
stream
,
const
char
*
type
,
int
count
,
const
void
*
data
);
int
objc_read_array
(
TypedStream
*
stream
,
const
char
*
type
,
int
count
,
void
*
data
);
int
objc_write_object
(
TypedStream
*
stream
,
id
object
);
/*
** Open a typed stream for reading or writing. MODE may be either of
** OBJC_READONLY or OBJC_WRITEONLY.
*/
TypedStream
*
objc_open_typed_stream
(
FILE
*
physical
,
int
mode
);
TypedStream
*
objc_open_typed_stream_for_file
(
const
char
*
file_name
,
int
mode
);
void
objc_close_typed_stream
(
TypedStream
*
stream
);
BOOL
objc_end_of_typed_stream
(
TypedStream
*
stream
);
void
objc_flush_typed_stream
(
TypedStream
*
stream
);
#endif
/* not __objc_api_INCLUDE_GNU */
gcc/objc/objc.h
View file @
36be30f1
...
...
@@ -42,7 +42,6 @@ extern const char* __objc_hash_lookup_id;
#endif
#include <stddef.h>
#include <stdarg.h>
#include <stdio.h>
...
...
@@ -415,8 +414,6 @@ typedef struct objc_category {
*/
typedef
struct
objc_typed_stream
TypedStream
;
#include <objc/objc-archive.h>
/*
** Structure used when a message is send to a class's super class. The
...
...
gcc/objc/runtime.h
View file @
36be30f1
...
...
@@ -27,17 +27,17 @@ You should have received a copy of the GNU General Public License along with
#ifndef __objc_runtime_INCLUDE_GNU
#define __objc_runtime_INCLUDE_GNU
#include <objc/objc.h>
/* core data types */
#include <objc/objc-api.h>
/* runtime api functions */
#include "gstdarg.h"
/* for varargs and va_list's */
#include "gstddef.h"
/* so noone else will get system versions */
#include "assert.h"
#include
<objc/hash.h>
/* hash structur
es */
#include
<objc/list.h>
/* linear list
s */
#include
"objc/objc.h"
/* core data typ
es */
#include
"objc/objc-api.h"
/* runtime api function
s */
#include <stdio.h>
/* argh! I hate this */
#include <stdarg.h>
/* for varargs and va_list's */
#include <stdlib.h>
#include "objc/hash.h"
/* hash structures */
#include "objc/list.h"
/* linear lists */
#include <
assert.h>
#include <
stdio.h>
/* argh! I hate this */
extern
void
__objc_add_class_to_hash
(
Class_t
);
/* (objc-class.c) */
extern
void
__objc_init_selector_tables
();
/* (objc-sel.c) */
...
...
@@ -62,11 +62,6 @@ extern int __objc_selector_max_index;
BOOL
__objc_responds_to
(
id
object
,
SEL
sel
);
/* for internal use only! */
/* standard functions */
int
bcopy
(
void
*
,
void
*
,
size_t
);
int
vprintf
(
const
char
*
,
va_list
);
#endif
/* not __objc_runtime_INCLUDE_GNU */
gcc/objc/selector.c
View file @
36be30f1
...
...
@@ -25,7 +25,7 @@ You should have received a copy of the GNU General Public License along with
covered by the GNU General Public License. */
#include "runtime.h"
#include
<objc/sarray.h>
#include
"objc/sarray.h"
/* Initial selector hash table size. Value doesnt matter much */
#define SELECTOR_HASH_SIZE 128
...
...
gcc/objc/sendmsg.c
View file @
36be30f1
...
...
@@ -35,7 +35,7 @@ const char* __objc_hash_lookup_id = "Method lookup uses hash caching";
#endif
#ifdef OBJC_HASH_LOOKUP
#include
<objc/cache.h>
#include
"objc/cache.h"
#endif
#ifdef OBJC_SPARSE_LOOKUP
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment