aboutsummaryrefslogtreecommitdiff
path: root/libobjc/encoding.c
AgeCommit message (Collapse)AuthorFilesLines
2009-04-09Licensing changes to GPLv3 resp. GPLv3 with GCC Runtime Exception.Jakub Jelinek1-11/+9
From-SVN: r145841
2008-05-25Delete get_inner_array_type. Use strip_array_types instead.Alan Modra1-4/+2
From-SVN: r135858
2006-11-01In gcc/: PR 23067Geoffrey Keating1-0/+4
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
2005-12-16re PR objc/25360 (Complex types are not encoded)Andrew Pinski1-0/+129
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-11re PR libobjc/25354 (There should be an automated testsuite for ↵Andrew Pinski1-7/+19
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-10re PR libobjc/25347 (objc_alignof_type gets the wrong alignment for unions ↵Andrew Pinski1-43/+16
(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-10re PR libobjc/25346 (objc_sizeof_type does not handle _Bool at all)Andrew Pinski1-0/+9
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-08-17All files: Update FSF address.Kelley Cook1-2/+2
2005-08-17 Kelley Cook <kcook@gcc.gnu.org> * All files: Update FSF address. From-SVN: r103197
2005-06-07archive.c, [...]: Include hash.h.David Ayers1-2/+2
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
2004-09-16encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro.Andrew Pinski1-0/+5
2004-09-16 Andrew Pinski <apinski@apple.com> * encoding.c (ALTIVEC_VECTOR_MODE): Define a bogus macro. From-SVN: r87591
2004-06-28cp-demangle.h: Declare cplus_demangle_operators...Zack Weinberg1-2/+5
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-21* encoding.c (BITS_PER_UNIT): Define if a definition is not provided.Nick Clifton1-1/+4
From-SVN: r83438
2004-05-25[multiple changes]Andrew Pinski1-3/+1
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-01-17re PR target/10781 (wrong class size and alignment with static class member)Andrew Pinski1-0/+11
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
2003-05-23Makefile.in, [...]: Replace "GNU CC" with "GCC".Nathanael Nerode1-4/+4
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
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-0/+4
From-SVN: r60174
2002-07-02encoding.h: Fix formatting.Rodney Brown1-97/+118
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-06-21Object.m (forward, [...]): Fix unused parameter warnings.Kaveh R. Ghazi1-13/+4
* 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-15Object.m: Fix signed/unsigned warning.Kaveh R. Ghazi1-12/+12
* 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-09encoding.c (objc_layout_structure_next_member): Remove unused variable.Andreas Jaeger1-32/+32
* encoding.c (objc_layout_structure_next_member): Remove unused variable. From-SVN: r54406
2002-04-23encoding.c (MAX, [...]): #undef before defining.David O'Brien1-0/+3
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
2001-11-14encoding.c: Add target_flags.Aldy Hernandez1-0/+5
2001-11-14 Aldy Hernandez <aldyh@redhat.com> * encoding.c: Add target_flags. From-SVN: r47021
2001-11-08objc-api.h (_C_VECTOR): New.Aldy Hernandez1-0/+2
2001-11-07 Aldy Hernandez <aldyh@redhat.com> * objc-api.h (_C_VECTOR): New. * encoding.c (VECTOR_TYPE): New. From-SVN: r46849
2001-03-21* encoding.c (REAL_TYPE): Define.John Wehle1-0/+2
From-SVN: r40687
2001-03-19* encoding.c (TYPE_MODE): Define.David Edelsohn1-3/+4
From-SVN: r40633
2001-01-11encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that determines the ↵Richard Earnshaw1-2/+5
value dynamically. * encoding.c (STRUCTURE_SIZE_BOUNDARY): Redefine in a way that determines the value dynamically. From-SVN: r38906
2000-09-07Move statement-tree facilities from C++ to C front-end.Mark Mitchell1-1/+1
* 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-04-12encoding.c (objc_layout_structure_next_member): Do the whole procedure even ↵Jakub Jelinek1-10/+0
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-12objc-act.c: Include ggc.h.Jakub Jelinek1-1/+1
* 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
1998-10-16Minor changes in the documentation. Correctly define get_inner_array_type.Ovidiu Predescu1-1/+1
From-SVN: r23144
1998-10-08encoding.c (objc_skip_type_qualifiers): Handle _C_BYREF.Richard Frith-Macdonald1-0/+2
* 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-09-21encoding.c (TREE_TYPE, ARRAY_TYPE): Define.Ovidiu Predescu1-0/+4
* encoding.c (TREE_TYPE, ARRAY_TYPE): Define. (get_inner_array_type): Define. From-SVN: r22536
1998-09-211998-09-21 Ben Elliston <bje@cygnus.com>Ben Elliston1-0/+912
* New directory. Moved files from ../gcc/objc. From-SVN: r22514