Alan Modra
dd25a747c9
Delete get_inner_array_type. Use strip_array_types instead.
...
From-SVN: r135858
2008-05-25 13:28:15 +09:30
Geoffrey Keating
58182de357
In gcc/: PR 23067
...
In gcc/:
PR 23067
* c-decl.c (start_struct): Don't create self-containing
structures.
* config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
New.
* config/rs6000/rs6000-protos.h
(darwin_rs6000_special_round_type_align): New.
* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
(ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
In gcc/testsuite/:
PR 23067
* gcc.target/powerpc/darwin-abi-3.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-6.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-7.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-8.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-9.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-10.c: Remove XFAIL.
* gcc.target/powerpc/darwin-abi-11.c: Remove XFAIL.
In libobjc/:
* encoding.c (darwin_rs6000_special_round_type_align): New.
In libffi/:
* src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
(ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
Darwin.
* testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
* testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
From-SVN: r118365
2006-11-01 05:28:41 +00:00
Andrew Pinski
06b1145579
re PR objc/25360 (Complex types are not encoded)
...
2005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/25360
* objc/objc-act.c (encode_type): Encode Complex types as 'j' followed
by the inner type.
2005-12-14 Andrew Pinski <pinskia@physics.uc.edu>
PR objc/25360
* objc/objc-api.c (_C_COMPLEX): New define.
* encoding.c (objc_sizeof_type): Handle _C_Complex.
(objc_alignof_type): Likewise.
(objc_skip_typespec): Likewise.
From-SVN: r108675
2005-12-16 12:19:37 -08:00
Andrew Pinski
761c0d29cb
re PR libobjc/25354 (There should be an automated testsuite for objc_sizeof_type and objc_alignof_type)
...
2005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/25354
* objc.dg/gnu-encoding: New directory.
* objc.dg/gnu-encoding/compat-common.h: New file.
* objc.dg/gnu-encoding/struct-layout-1.h: New file.
* objc.dg/gnu-encoding/struct-layout-1_test.h: New file.
* objc.dg/gnu-encoding/vector-defs.h: New file.
* objc.dg/gnu-encoding/gnu-encoding.exp: New file.
* objc.dg/gnu-encoding/generate-random.c: New file.
* objc.dg/gnu-encoding/generate-random_r.c: New file.
* objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c: New file.
* objc.dg/gnu-encoding/generate-random.h: New file.
2005-12-12 Andrew Pinski <pinskia@physics.uc.edu>
* encoding.c (TYPE_FIELDS): Fix to skip over just _C_STRUCT_B and the name.
(get_inner_array_type): Fix to skip over _C_ARY_B and size.
(rs6000_special_round_type_align): Update for the ABI fix.
(objc_layout_finish_structure): Correct the encoding which is passed to
ROUND_TYPE_ALIGN.
From-SVN: r108398
2005-12-11 21:47:52 -08:00
Andrew Pinski
4540a3ade1
re PR libobjc/25347 (objc_alignof_type gets the wrong alignment for unions (objc_sizeof_type is wrong also too))
...
2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/25347
* encoding.c (objc_sizeof_type): Don't handle _C_UNION_B special
but use the struct layout functions.
(objc_alignof_type): Likewise.
(objc_layout_structure): Handle _C_UNION_B also.
(objc_layout_structure_next_member): Likewise.
(objc_layout_finish_structure): Likewise.
2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/25347
* objc.dg/encode-8.m: New test.
From-SVN: r108379
2005-12-10 22:59:12 -08:00
Andrew Pinski
153b4898d2
re PR libobjc/25346 (objc_sizeof_type does not handle _Bool at all)
...
2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/25346
* objc/objc-api.h (_C_BOOL): New define.
* encoding.c (objc_sizeof_type): Handle _C_BOOL.
(objc_alignof_type): Likewise.
(objc_skip_typespec): Likewise.
2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/25346
* objc.dg/encode-7.m: New test.
From-SVN: r108378
2005-12-10 22:28:35 -08:00
Kelley Cook
f9d09c4359
All files: Update FSF address.
...
2005-08-17 Kelley Cook <kcook@gcc.gnu.org>
* All files: Update FSF address.
From-SVN: r103197
2005-08-17 03:21:42 +00:00
David Ayers
348a344520
archive.c, [...]: Include hash.h.
...
2005-06-07 David Ayers <d.ayers@inode.at>
* archive.c, init.c, selector.c: Include hash.h.
* archive.c, class.c, encoding.c, gc.c, hash.c, hash_compat.c,
init.c, misc.c, nil_method.c, objects.c, sarray.c, selector.c,
sendmsg.c, thr-dce.c, thr-decosf1.c, thr-irix.c, thr-mach.c,
thr-objc.c, thr-os2.c, thr-posix.c, thr-pthreads.c, thr-rtems.c,
thr-single.c, thr-solaris.c, thr-vxworks.c, thr-win32.c, thr.c:
Include Objective-C headers with quotes and objc/ directory
prefix.
From-SVN: r100723
2005-06-07 21:04:19 +00:00
Andrew Pinski
45f1796923
encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
...
2004-09-16 Andrew Pinski <apinski@apple.com>
* encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.
From-SVN: r87591
2004-09-16 01:35:01 -07:00
Zack Weinberg
0cf614012f
cp-demangle.h: Declare cplus_demangle_operators...
...
libiberty:
* cp-demangle.h: Declare cplus_demangle_operators,
cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
cplus_demangle_type as static if IN_GLIBCPP_V3.
libobjc:
* encoding.c: Rename target_flags with a #define to avoid
conflict with a prior declaration.
From-SVN: r83800
2004-06-28 17:52:45 +00:00
Nick Clifton
e7ebc32a80
* encoding.c (BITS_PER_UNIT): Define if a definition is not provided.
...
From-SVN: r83438
2004-06-21 16:39:21 +00:00
Andrew Pinski
435317e25c
[multiple changes]
...
2004-05-25 Andrew Pinski <pinskia@physics.uc.edu>
Merge from the libobjc-branch
2004-02-09 Andrew Pinski <pinskia@physics.uc.edu>
* Makefile.in (OBJC_H): Change objc-deps.h to objc-decls.h.
2004-02-03 Andrew Pinski <pinskia@physics.uc.edu>
* Makefile.in (OBJC_H): Add objc-deps.h.
2004-01-27 Nicola Pero <n.pero@mi.flashnet.it>
* Protocol.m ([-conformsTo:]): If the argument is nil, return NO.
([-hash], [-isEqual:]): New methods.
2004-01-27 Richard Frith-Macdonald <rfm@gnu.org>
* sarray.c (sarray_free): Add a better comment.
2004-01-27 Adam Fedor <fedor@gnu.org>
* hash.c (hash_add): Cast cachep to int.
* selector.c (__sel_register_typed_name): Cast
soffset_decode to int.
2004-01-27 Alexander Malmberg <alexander@malmberg.org>
* selector.c: Rename register_selectors_from_list to
__objc_register_selectors_from_list. Update caller.
(__objc_register_selectors_from_list): Lock __objc_runtime_mutex
while registering selectors. Use __sel_register_typed_name instead
of sel_register_typed_name. Check for NULL method_name:s.
(pool_alloc_selector): New function.
(__sel_register_typed_name): Use pool_alloc_selector to allocate
selector structures.
* sendmsg.c (class_add_method_list): Use
__objc_register_selectors_from_list.
* objc/runtime.h: Add __objc_register_selectors_from_list.
2004-01-25 Adam Fedor <fedor@gnu.org>
Nicola Pero <n.pero@mi.flashnet.it>
Andrew Pinski <pinskia@physics.uc.edu>
* objc/objc-decls.h: New file.
* objc/objc-api.h (_objc_lookup_class): Mark as export.
(_objc_load_callback): Likewise.
(_objc_object_alloc): Likewise.
(_objc_object_copy): Likewise.
(_objc_object_dispose): Likewise.
2004-01-25 Andrew Pinski <pinskia@physics.uc.edu>
* archive.c: s/__inline__/inline
* sendmsg.c: Likewise.
* encoding.c: Remove FIXME about the warning
about unused variable.
* sendmsg.c: Add a FIXME comment saying that
this should be using libffi.
* Makefile.in (LIBTOOL): Use @LIBTOOL@ now as it works.
From-SVN: r82253
2004-05-25 12:10:54 -07:00
Andrew Pinski
95727fb877
re PR target/10781 (wrong class size and alignment with static class member)
...
2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
PR target/10781
* config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
Prototype.
* config/rs6000/rs6000.c (rs6000_special_round_type_align):
New function.
* config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
PR target/10781
* encoding.c (rs6000_special_round_type_align): Define.
From-SVN: r76043
2004-01-17 11:48:50 -08:00
Nathanael Nerode
6c82ad2561
Makefile.in, [...]: Replace "GNU CC" with "GCC".
...
2003-05-23 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.in, NXConstStr.m, Object.m, Protocol.m, archive.c,
class.c, encoding.c, gc.c, objc/NXConstStr.h, objc/Object.h,
objc/Protocol.h, objc/encoding.h, objc/hash.h, objc/objc-api.h,
objc/objc-list.h, objc/objc.h, ocjc/runtime.h, objc/sarray.h,
objc/thr.h, objc/typedstream.h: Replace "GNU CC" with "GCC".
From-SVN: r67131
2003-05-23 20:04:58 +00:00
Zack Weinberg
4977bab6ed
Merge basic-improvements-branch to trunk
...
From-SVN: r60174
2002-12-16 18:23:00 +00:00
Rodney Brown
40165636b5
encoding.h: Fix formatting.
...
2002-07-02 Rodney Brown <rbrown64@csc.com.au>
* objc/encoding.h: Fix formatting.
* objc/hash.h: Likewise.
* objc/objc-api.h: Likewise.
* objc/runtime.h: Likewise.
* objc/thr.h: Likewise.
* archive.c: Likewise.
* class.c: Likewise.
* encoding.c: Likewise.
* gc.c: Likewise.
* hash.c: Likewise.
* init.c: Likewise.
* misc.c: Likewise.
* nil_method.c: Likewise.
* objects.c: Likewise.
* sarray.c: Likewise.
* selector.c: Likewise.
* sendmsg.c: Likewise.
* thr-mach.c: Likewise.
* thr.c: Likewise.
From-SVN: r55190
2002-07-02 19:43:03 +00:00
Kaveh R. Ghazi
b62cc13a20
Object.m (forward, [...]): Fix unused parameter warnings.
...
* Object.m (forward, read, write): Fix unused parameter warnings.
* encoding.c: Include <stdlib.h>.
(target_flags): Mark with attribute unused.
(atoi): Delete.
* runtime.h (__objc_selector_max_index): Change to unsigned int.
(__objc_generate_gc_type_description): Prototype.
* selector.c (__objc_selector_max_index): Change to unsigned int.
From-SVN: r54884
2002-06-21 14:36:37 +00:00
Kaveh R. Ghazi
8f8c44cb4f
Object.m: Fix signed/unsigned warning.
...
* Object.m: Fix signed/unsigned warning.
* Protocol.m: Likewise.
* archive.c: Always include stdlib.h.
(objc_read_short, objc_read_unsigned_short, objc_read_int,
objc_read_long, __objc_read_nbyte_uint, __objc_read_nbyte_ulong):
Fix signed/unsigned warning.
(objc_write_type, objc_read_type, objc_write_types,
objc_read_types): Ensure ctype 8-bit safety.
(__objc_no_write, __objc_no_read): Mark unused parameters.
* class.c (class_table_setup): Specify void arg.
* encoding.c (atoi, objc_sizeof_type, objc_alignof_type,
objc_skip_typespec, objc_skip_offset,
objc_layout_structure_next_member): Ensure ctype 8-bit safety.
(objc_layout_structure_next_member): Ensure variables are
initialized.
* gc.c (__objc_generate_gc_type_description,
class_ivar_set_gcinvisible): Mark unused parameters.
* init.c (__objc_send_load, __objc_destroy_class_tree_node): Mark
unused parameters.
(__objc_init_protocols) Fix signed/unsigned warning.
* nil_method.c (nil_method): Mark unused parameters.
* thr.h (objc_thread_callback): Specify void arg.
* sarray.c (sarray_new, sarray_realloc, sarray_free): Fix
signed/unsigned warning.
(sarray_free): Fix formatting.
* selector.c (sel_types_match): Ensure ctype 8-bit safety.
* sendmsg.c (__objc_init_install_dtable) Mark unused parameters.
From-SVN: r54649
2002-06-15 17:50:14 +00:00
Andreas Jaeger
42bac11688
encoding.c (objc_layout_structure_next_member): Remove unused variable.
...
* encoding.c (objc_layout_structure_next_member): Remove unused
variable.
From-SVN: r54406
2002-06-09 18:46:01 +02:00
David O'Brien
d0d091ae08
encoding.c (MAX, [...]): #undef before defining.
...
2002-04-19 David O'Brien <obrien@FreeBSD.org>
* encoding.c (MAX, MIN, ROUNDING): #undef before defining.
Approved by: David S. Miller <davem@redhat.com>
Message-Id: <20020419.184825.67430590.davem@redhat.com>
From-SVN: r52648
2002-04-23 02:04:20 +00:00
Aldy Hernandez
d5114db12a
encoding.c: Add target_flags.
...
2001-11-14 Aldy Hernandez <aldyh@redhat.com>
* encoding.c: Add target_flags.
From-SVN: r47021
2001-11-14 21:11:43 +00:00
Aldy Hernandez
f4fdaedae3
objc-api.h (_C_VECTOR): New.
...
2001-11-07 Aldy Hernandez <aldyh@redhat.com>
* objc-api.h (_C_VECTOR): New.
* encoding.c (VECTOR_TYPE): New.
From-SVN: r46849
2001-11-08 18:51:27 +00:00
John Wehle
49073def1b
* encoding.c (REAL_TYPE): Define.
...
From-SVN: r40687
2001-03-21 09:46:20 +00:00
David Edelsohn
120d59bfb9
* encoding.c (TYPE_MODE): Define.
...
From-SVN: r40633
2001-03-19 16:05:03 -05:00
Richard Earnshaw
919ee051d3
encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that determines the value dynamically.
...
* encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that
determines the value dynamically.
From-SVN: r38906
2001-01-11 14:01:45 +00:00
Mark Mitchell
ae499ccea4
Move statement-tree facilities from C++ to C front-end.
...
* c-common.h (c_tree_index): Add CTI_VOID_ZERO.
(void_zero_node): New macro.
(struct stmt_tree_s): New type.
(stmt_tree): New typedef.
(struct language_function): New type.
(last_tree): New macro.
(last_expr_type): Likewise.
(walk_tree_fn): New typedef.
(current_stmt_tree): New function.
(begin_stmt_tree): Likewise.
(add_stmt): Likewise.
(finish_stmt_tree): Likewise.
(statement_code_p): Likewise.
(lang_statement_code_p): New variable.
(walk_stmt_tree): New function.
(STMT_IS_FULL_EXPR_P): New macro.
* c-common.c (lang_statement_code_p): New variable.
(c_common_nodes_and_builtins): Initialize void_zero_node.
(statement_code_p): New function.
(walk_stmt_tree): Likewise.
* c-decl.c (language_function): Rename to ...
(c_language_function): ... this. Include language_function.
(push_c_function_context): Adjust accordingly.
(pop_c_function_context): Likewise.
(mark_c_function_context): Likewise.
(current_stmt_tree): Define.
* c-semantics.c (begin_stmt_tree): New function.
(add_stmt): Likewise.
(prune_unused_decls): Likewise.
(finish_stmt_tree): Likewise.
Move statement-tree facilities from C++ to C front-end.
* cp-tree.h (cp_tree_index): Remove CPTI_VOID_ZERO.
(void_zero_node): Remove.
(stmt_tree): Likewise.
(scope_chain): Adjust.
(language_function): Rename to cp_language_function.
(cp_function_chain): Adjust.
(current_stmt_tree): Remove.
(last_tree): Likewise.
(last_expr_type): Likewise.
(struct lang_decl): Adjust.
(STMT_IS_FULL_EXPR_P): Remove.
(add_tree): Remove.
(begin_stmt_tree): Likewise.
(finish_stmt_tree): Likewise.
(walk_tree_fn): Likewise.
(walk_stmt_tree): Likewise.
* class.c (finish_struct): Replace use of add_tree with add_stmt.
* decl.c (mark_stmt_tree): Adjust type.
(init_decl_processing): Don't build void_zero_node.
(initialize_local_var): Adjust usage of current_stmt_tree.
(finish_enum): Use add_stmt, not add_tree.
(save_function_data): Adjust use of language_function.
(finish_constructor_body): Use add_stmt, not add_tree.
(finish_destructor_body): Likewise.
(push_cp_function_context): Adjust use of language_function.
(pop_cp_function_context): Likewise.
(mark_lang_function): Likewise.
(mark_cp_function_context): Likewise.
* init.c (build_aggr_init): Adjust use of current_stmt_tree.
(build_vec_init): Likewise.
* semantics.c (SET_LAST_STMT): Remove.
(RECHAIN_STMTS): Don't use it.
(stmts_are_full_exprs_p): Adjust use of current_stmt_tree.
(current_stmt_tree): Define.
(add_tree): Remove.
(finish_goto_stmt): Use add_stmt, not add_tree.
(finish_expr_stmt): Likewise.
(begin_if_stmt): Likewise.
(finish_then_clause): Likewise.
(begin_while_stmt): Likewise.
(begin_do_stmt): Likewise.
(finish_return_stmt): Likewise.
(begin_for_stmt): Likewise.
(finish_break_stmt): Likewise.
(finish_continue_stmt): Likewise.
(begin_switch_stmt): Likewise.
(finish_case_label): Likewise.
(begin_try_block): Likewise.
(begin_function_try_block): Likewise.
(begin_handler): Likewise.
(begin_catch_block): Likewise.
(begin_compound_stmt): Likewise.
(begin_asm_stmt): Likewise.
(finish_asm_stmt): Likewise.
(finish_label_stmt): Likewise.
(add_decl_stmt): Likewise.
(finish_subobject): Likewise.
(finish_decl_cleanup): Likewise.
(finish_named_return_value): Likewise.
(setup_vtbl_ptr): Likewise.
(add_scope_stmt): Likewise.
(finish_stmt_expr): Likewise.
(prune_unused_decls): Remove.
(begin_stmt_tree): Likewise.
(finish_stmt_tree): Likewise.
(prep_stmt): Adjust use of current_stmt_tree.
(lang_expand_stmt): Likewise.
* tree.c (statement_code_p): Remove.
(cp_statement_code_p): New function.
(walk_stmt_tree): Remove.
(init_tree): Set lang_statement_code_p.
From-SVN: r36221
2000-09-07 01:36:11 +00:00
Jakub Jelinek
35f1099824
encoding.c (objc_layout_structure_next_member): Do the whole procedure even for the first member, so that we get correct alignment.
...
* encoding.c (objc_layout_structure_next_member): Do the whole
procedure even for the first member, so that we get correct
alignment.
From-SVN: r33110
2000-04-12 17:55:54 +02:00
Jakub Jelinek
bcdb110625
objc-act.c: Include ggc.h.
...
* 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.
From-SVN: r33092
2000-04-12 09:22:32 +02:00
Ovidiu Predescu
befb6d14df
Minor changes in the documentation. Correctly define get_inner_array_type.
...
From-SVN: r23144
1998-10-16 22:19:22 +00:00
Richard Frith-Macdonald
1df287f8fb
encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
...
* encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.
(objc_get_type_qualifiers): Similarly.
* objc/encoding.h (_C_BYREF): Define.
(_F_BYREF): Define.
From-SVN: r22917
1998-10-08 05:23:35 -06:00
Ovidiu Predescu
2e5f02a3e3
encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
...
* encoding.c (TREE_TYPE, ARRAY_TYPE): Define.
(get_inner_array_type): Define.
From-SVN: r22536
1998-09-21 16:28:51 -06:00
Ben Elliston
88e17b57eb
1998-09-21 Ben Elliston <bje@cygnus.com>
...
* New directory. Moved files from ../gcc/objc.
From-SVN: r22514
1998-09-21 11:22:07 +10:00