diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-04-12 07:22:32 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-04-12 07:22:32 +0000 |
commit | 3c2f1b0683ab9720add6e39c6c851d393b8d1d49 (patch) | |
tree | 684ed6f94cfd06b71d423351cb97d7090ec8117c /libobjc | |
parent | e9d99b036256d4468677d21138b81ead585a3bfe (diff) | |
download | gcc-3c2f1b0683ab9720add6e39c6c851d393b8d1d49.tar.gz |
* objc/objc-act.c: Include ggc.h.
(objc_tree_index, objc_global_trees): Convert most of the
static tree variables into a static array with previous names
as defines.
(objc_ellipsis_node): New variable.
(lang_init): Call objc_act_parse_init and c_parse_init.
Create objc_ellipsis_node.
(build_selector_translation_table): Use objc_ellipsis_node instead
of (tree)1.
(hack_method_prototype): Likewise.
(get_arg_type_list): Likewise.
(start_method_def): Likewise.
(continue_method_def): Likewise.
(gen_method_decl): Likewise.
(ggc_mark_imp_list): New function.
(ggc_mark_hash_table): New function.
(objc_act_parse_init): New function.
* objc/objc-act.h (objc_ellipsis_node): Add extern variable.
* c-parse.in (c_parse_init): For objc add roots of objc specific
local tree variables.
* objc/objc-parse.y: Rebuilt.
* objc/objc-parse.c: Rebuilt.
(opt_parm_list): Use objc_ellipsis_node instead of (tree)1.
* Object.m (strlen): Provide prototype on all 64bit platforms,
not only alpha.
* sarray.c (memcpy): Likewise.
* encoding.c (objc_layout_finish_structure): Don't use
ROUND_TYPE_ALIGN on sparc.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@33092 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r-- | libobjc/ChangeLog | 8 | ||||
-rw-r--r-- | libobjc/Object.m | 2 | ||||
-rw-r--r-- | libobjc/encoding.c | 2 | ||||
-rw-r--r-- | libobjc/sarray.c | 2 |
4 files changed, 11 insertions, 3 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index d09f4108ad5..abab0b9b409 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,11 @@ +2000-04-12 Jakub Jelinek <jakub@redhat.com> + + * Object.m (strlen): Provide prototype on all 64bit platforms, + not only alpha. + * sarray.c (memcpy): Likewise. + * encoding.c (objc_layout_finish_structure): Don't use + ROUND_TYPE_ALIGN on sparc. + 2000-03-29 Zack Weinberg <zack@wolery.cumb.org> * objc/Protocol.h, objc/objc-list.h: Change #endif labels to diff --git a/libobjc/Object.m b/libobjc/Object.m index 64b52f48368..59851c14fb1 100644 --- a/libobjc/Object.m +++ b/libobjc/Object.m @@ -320,7 +320,7 @@ extern int errno; object_get_class_name(self), sel_get_name(aSel)]; } -#ifdef __alpha__ +#if defined(__alpha__) || (defined(__sparc__) && (defined(__sparcv9) || defined(__arch64__))) || (defined(__ia64__) && defined(__LP64__)) extern size_t strlen(const char*); #endif diff --git a/libobjc/encoding.c b/libobjc/encoding.c index 4749ba026e9..dde009cea38 100644 --- a/libobjc/encoding.c +++ b/libobjc/encoding.c @@ -878,7 +878,7 @@ void objc_layout_finish_structure (struct objc_struct_layout *layout, in the record type. Round it up to a multiple of the record's alignment. */ -#ifdef ROUND_TYPE_ALIGN +#if defined(ROUND_TYPE_ALIGN) && !defined(__sparc__) layout->record_align = ROUND_TYPE_ALIGN (layout->original_type, 1, layout->record_align); diff --git a/libobjc/sarray.c b/libobjc/sarray.c index f5ace10bf09..a71432ea59f 100644 --- a/libobjc/sarray.c +++ b/libobjc/sarray.c @@ -44,7 +44,7 @@ const char* __objc_sparse2_id = "2 level sparse indices"; const char* __objc_sparse3_id = "3 level sparse indices"; #endif -#ifdef __alpha__ +#if defined(__alpha__) || (defined(__sparc__) && (defined(__sparcv9) || defined(__arch64__))) || (defined(__ia64__) && defined(__LP64__)) const void *memcpy (void*, const void*, size_t); #endif |