1. 16 Dec, 2005 1 commit
    • re PR objc/25360 (Complex types are not encoded) · 06b11455
      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
      Andrew Pinski committed
  2. 12 Dec, 2005 1 commit
  3. 07 Dec, 2005 2 commits
    • sourcebuild.texi (all.build, [...]): Remove. · bd97af06
      gcc/
      	* doc/sourcebuild.texi (all.build, install-normal): Remove.
      	* configure.ac: Remove all.build and install-normal from target_list
      	* configure: Regenerate.
      	* Makefile.in (install): Don't depend on install-normal.
      gcc/java/
      	* Make-lang.in (java.all.build, java.install-normal): Remove.
      gcc/objc/
      	* Make-lang.in (objc.all.build, objc.install-normal): Remove.
      gcc/objcp/
      	* Make-lang.in (obj-c++.all.build, obj-c++.install-normal): Remove.
      gcc/cp/
      	* Make-lang.in (c++.all.build, c++.install-normal): Remove.
      gcc/ada/
      	* Make-lang.in (ada.install-normal): Remove.
      gcc/fortran/
      	* Make-lang.in (fortran.all.build, fortran.install-normal): Remove.
      gcc/treelang/
      	* Make-lang.in (treelang.all.build, treelang.install-normal): Remove.
      
      From-SVN: r108158
      Rafael Ávila de Espíndola committed
    • gty.texi: Remove instructions for adding a dependency on s-gtype. · 2f4d2d18
      gcc/
      	* doc/gty.texi: Remove instructions for adding a dependency on s-gtype.
      	* Makefile.in: Add code to compute some dependencies on s-gtype
      	automatically.  Remove the declaration of those dependencies.
      gcc/java/
      	* Make-lang.in: Remove all dependencies on s-gtype, except for
      	gt-java-parse.h.
      gcc/objc/
      	* Make-lang.in: Remove all dependencies on s-gtype.
      gcc/objcp/
      	* Make-lang.in: Remove all dependencies on s-gtype.
      gcc/cp/
      	* Make-lang.in: Remove all dependencies on s-gtype.
      gcc/ada/
      	* Make-lang.in: Remove all dependencies on s-gtype.
      gcc/fortran/
      	* Make-lang.in: Remove all dependencies on s-gtype, except for
      	gt-fortran-trans.h.
      gcc/treelang/
      	* Make-lang.in: Remove all dependencies on s-gtype.
      
      From-SVN: r108155
      Alan Modra committed
  4. 03 Dec, 2005 1 commit
  5. 02 Dec, 2005 1 commit
  6. 21 Oct, 2005 1 commit
    • Index: objc/ChangeLog · e9bf587a
      2005-10-20  Geoffrey Keating  <geoffk@apple.com>
      
      	* objc-act.c (synth_module_prologue): Clear TREE_NOTHROW
      	on objc_msgSend and like builtin functions.
      
      Index: testsuite/ChangeLog
      2005-10-20  Geoffrey Keating  <geoffk@apple.com>
      
      	* obj-c++.dg/except-1.mm: New.
      
      From-SVN: r105704
      Geoffrey Keating committed
  7. 17 Oct, 2005 1 commit
  8. 01 Sep, 2005 1 commit
  9. 31 Aug, 2005 1 commit
  10. 09 Aug, 2005 1 commit
  11. 20 Jul, 2005 1 commit
    • Make CONSTRUCTOR use VEC to store initializers. · 4038c495
      	* c-common.c (complete_array_type): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* c-pretty-print.c (pp_c_initializer_list): Use pp_c_constructor_elts.
      	(pp_c_constructor_elts): New function.
      	* c-pretty-print.h (pp_c_constructor_elts): Declare.
      	* c-typeck.c (build_function_call, build_c_cast, digest_init,
      	struct constructor_stack, struct initializer_stack,
      	constructor_elements, push_init_level, pop_init_level,
      	add_pending_init, find_init_member, output_init_element): Update to
      	cope with VEC in CONSTRUCTOR_ELTS.
      	* coverage.c (build_fn_info_value, build_ctr_info_value,
      	build_gcov_info): Likewise.
      	* expr.c (categorize_ctor_elements_1, store_constructor,
      	expand_expr_real_1): Likewise.
      	* fold-const.c (fold_ternary): Likewise.
      	* gimplify.c (gimplify_init_ctor_preeval, zero_sized_field_decl,
      	gimplify_init_constructor, gimplify_expr): Likewise.
      	* tree-dump.c (dequeue_and_dump): Likewise.
      	* tree-inline.c (copy_tree_r): Add code to duplicate a CONSTRUCTOR
      	node.
      	* tree-pretty-print.c (dump_generic_node): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* tree-sra.c (generate_element_init_1): Likewise.
      	* tree-ssa-ccp.c (fold_const_aggregate_ref): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-vect-generic.c (expand_vector_piecewise): Likewise.
      	* tree-vect-transform.c (vect_get_vec_def_for_operand):
      	(get_initial_def_for_reduction): Likewise.
      	* tree-vn.c (set_value_handle, get_value_handle): CONSTURCTOR uses
      	value handle in annotations.
      	* tree.c (tree_node_kind, tree_code_size, make_node_stat,
      	tree_node_structure): Add support for constr_kind.
      	(build_vector_from_ctor, build_constructor_single,
      	build_constructor_from_list): New functions.
      	(build_constructor): Update to take a VEC instead of a TREE_LIST.
      	(simple_cst_equal, iterative_hash_expr, initializer_zerop, walk_tree):
      	Update to cope with VEC in CONSTRUCTOR_ELTS.
      	* tree.def (CONSTRUCTOR): Make it a tcc_exceptional node.
      	* tree.h (FOR_EACH_CONSTRUCTOR_VALUE, FOR_EACH_CONSTRUCTOR_ELT,
      	CONSTRUCTOR_APPEND_ELT): New macros.
      	(struct constructor_elt, struct	tree_constructor): New data types.
      	(union tree_node): Add tree_constructor field.
      	* treestruct.def: Define TS_CONSTRUCTOR.
      	* varasm.c (const_hash_1, compare_constant, copy_constant,
      	compute_reloc_for_constant, output_addressed_constants,
      	initializer_constant_valid_p, output_constant,
      	array_size_for_constructor, output_constructor): Update to cope with
      	VEC in CONSTRUCTOR_ELTS.
      	* vec.h (VEC_empty, VEC_copy): New macros.
      
      ada/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* decl.c (gnat_to_gnu_entity): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* trans.c (extract_values): Likewise.
      	* utils.c (convert, remove_conversions): Likewise.
      	* utils2.c (contains_save_expr_p, build_binary_op, build_unary_op,
      	gnat_build_constructor): Likewise.
      
      cp/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* call.c (convert_default_arg): Update call to digest_init.
      	* class.c (dump_class_hierarchy, dump_array): Update to cope with
      	VEC in CONSTRUCTOR_ELTS.
      	* cp-tree.h (EMPTY_CONSTRUCTOR_P): Likewise.
      	(finish_compound_literal, digest_init): Update declaration.
      	* decl.c (struct reshape_iter): New data type.
      	(reshape_init_array): Rename to...
      	(reshape_init_array_1): Update to cope with VEC in CONSTRUCTOR_ELTS.
      	(reshape_init): Rewrite from scratch. Split parts into...
      	(reshape_init_array, reshape_init_vector, reshape_init_class,
      	reshape_init_r): New functions.
      	(check_initializer): Update call to reshape_init. Remove obsolete
      	code.
      	(initialize_artificial_var, cp_complete_array_type): Update to cope
      	with VEC in CONSTRUCTOR_ELTS.
      	* decl2.c (grokfield): Update calls to digest_init.
      	(mark_vtable_entries): Update to cope with VEC in CONSTRUCTOR_ELTS.
      	* error.c (dump_expr_init_vec): New function.
      	(dump_expr): Use dump_expr_init_vec.
      	* init.c (build_zero_init, build_vec_init): Update to cope with VEC
      	in CONSTRUCTOR_ELTS.
      	(expand_default_init): Update call to digest_init.
      	* parser.c  (cp_parser_postfix_expression): Use a VEC for the
      	initializers.
      	(cp_parser_initializer_list): Build a VEC of initializers.
      	* pt.c (tsubst_copy, tsubst_copy_and_build): Update to cope with VEC
      	in CONSTRUCTOR_ELTS.
      	* rtti.c (tinfo_base_init, generic_initializer, ptr_initializer,
      	ptm_initializer, class_initializer, get_pseudo_ti_init): Use
      	build_constructor_from_list instead of build_constructor.
      	* semantics.c (finish_compound_literal): Update call to digest_init.
      	* tree.c (stabilize_init): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* typeck.c (build_ptrmemfunc1): Likewise.
      	* typeck2.c: (cxx_incomplete_type_error, split_nonconstant_init_1):
      	Likewise.
      	(store_init_value): Use build_constructor_from_list and update call
      	to digest_init.
      	(digest_init): Rewrite.
      	(process_init_constructor): Rewrite from scratch. Split into...
      	(process_init_constructor_array, picflag_from_initializer,
      	process_init_constructor_record, process_init_constructor_union):
      	New functions.
      	(PICFLAG_ERRONEOUS, PICFLAG_NOT_ALL_CONSTANT, PICFLAG_NOT_ALL_SIMPLE):
      	New macros.
      	(build_functional_cast): Use build_constructor_from_list instead of
      	build_constructor.
      
      fortran/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* trans-array.c (gfc_build_null_descriptor,
      	gfc_trans_array_constructor_value, gfc_conv_array_initializer):
      	Update to cope with VEC in CONSTRUCTOR_ELTS.
      	* trans-common.c (create_common): Likewise.
      	* trans-expr.c (gfc_conv_structure): Likewise.
      	* trans-stmt.c (gfc_trans_character_select): Use
      	build_constructor_from_list instead of build_constructor.
      
      java/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* check-init.c (check_init): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* class.c (make_field_value, make_method_value, get_dispatch_table,
      	make_class_data, emit_symbol_table, emit_catch_table,
      	emit_assertion_table): Use build_constructor_from_list instead of
      	build_constructor.
      	* constants.c (build_constants_constructor): Likewise.
      	* java-gimplify.c (java_gimplify_new_array_init): Update to cope with
      	VEC in CONSTRUCTOR_ELTS.
      	* java-tree.h (START_RECORD_CONSTRUCTOR, PUSH_SUPER_VALUE,
      	PUSH_FIELD_VALUE, FINISH_RECORD_CONSTRUCTOR): Create a VEC instead
      	of a TREE_LIST.
      	* jcf-write.c (generate_bytecode_insns): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	* parse.y (build_new_array_init): Use build_constructor_from_list
      	instead of build_constructor.
      	(patch_new_array_init): Update to cope with VEC in
      	CONSTRUCTOR_ELTS.
      	(array_constructor_check_entry): Likewise.
      
      objc/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* objc-act.c (objc_build_constructor): Use build_constructor_from_list
      	instead of build_constructor.
      
      testsuite/
      	Make CONSTRUCTOR use VEC to store initializers.
      	* g++.dg/ext/complit3.C: Check for specific error messages.
      	* g++.dg/init/brace2.C: Update error message.
      	* g++.dg/warn/Wbraces2.C: Likewise.
      
      From-SVN: r102182
      Giovanni Bajo committed
  12. 08 Jul, 2005 2 commits
    • Makefile.in (TREE_H): Add treestruct.def. · 820cc88f
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Makefile.in (TREE_H): Add treestruct.def.
      	(c-decl.o): Add pointer-set.h
      	* c-decl.c (diagnose_mismatched_decls): Don't attempt to look at
      	visibility on regular DECL's.
      	(merge_decls): Fix the copying of decl nodes of various types for
      	the new structures.  Don't update RTL, section name, weak status,
      	etc, on DECL's without RTL.
      	(grokdeclarator): DECL_ARG_TYPE_AS_WRITTEN is gone.
      	Don't check volatile on non-variable types.
      	(store_parm_decls_oldstyle): Use pointer_set instead of DECL_WEAK
      	to check whether we have seen arguments.
      	* c-objc-common.c (c_tree_printer): Reverse order of tests so that
      	flag is checked before field (flag is common, field is not).
      	* dwarf2out.c (decl_ultimate_origin):  Only DECL's with
      	TS_DECL_COMMON could have an origin.
      	(add_location_or_const_value_attribute): Don't check section name
      	on non-var/function decls.
      	(dwarf2out_var_location): Reverse order of tests.
      	* emit-rtl.c (set_reg_attrs_for_parm): DECL_CHECK is dead, replace
      	with DECL_WRTL_CHECK.
      	* expmed.c (make_tree): rtl is now in decl_with_rtl.
      	* fold-const.c (fold_binary): Don't check weakness on
      	non-var/function decls.
      	(tree_expr_nonzero_p): Ditto.
      	(fold_checksum_tree): Use tree_decl_extra as sizeof
      	buffer.
      	* ggc-page.c (extra_order_size_table): Add sizes for
      	tree_decl_non_common, tree_parm_decl,  tree_var_decl, and
      	tree_field_decl.
      	* gimplify.c (gimplify_bind_expr): Only set
      	DECL_SEEN_IN_BIND_EXPR_P on VAR_DECL.
      	* integrate.c (copy_decl_for_inlining): Don't set RTL on decl's
      	without RTL.
      	* langhooks-def.h (LANG_HOOK_INIT_TS): New.
      	* langhooks.h (init_ts). New langhook.
      	* passes.c (rest_of_decl_compilation): Reverse order of tests.
      	* print-tree.c (print_node): Update to only print fields that
      	exist in the structures the passed decl has.
      	* toplev.c (wrapup_global_declarations): Don't reset
      	DECL_DEFER_OUTPUT on DECL's that don't contain it.
      	* tree-browser.c (browse_tree): DECL_ARG_TYPE_AS_WRITTEN removed.
      	* tree-inline.c (remap_decl): Ditto.
      	* tree-outof-ssa.c (create_temp): Reverse order of tests.
      	* tree-pretty-print.c (print_declaration): Don't print
      	DECL_REGISTER on things that don't contain it.
      	* tree-vrp.c (expr_computes_nonzero): Don't check weakness on
      	non-var/function decls.
      	* tree.c (tree_contains_struct): New structure.
      	(init_priority_for_decl): New hashtable.
      	(tree_int_map): New structure.
      	(tree_int_map_eq): New function.
      	(tree_int_map_marked_p): Ditto.
      	(tree_int_map_hash): Ditto.
      	(tree_map): Move to tree.h.
      	(tree_map_eq): Externalize.
      	(tree_map_hash): Ditto.
      	(tree_map_marked_p): Ditto.
      	(init_ttree): Set up tree_contains_struct and call langhook.
      	(decl_assembler_name): Use DECL_NON_COMMON_CHECK..
      	(tree_code_size): Update for new structures.
      	(tree_node_structure): Update for new structures.
      	(make_node_stat): Don't try to set DECL_IN_SYSTEM_HEADER on decls
      	without the field.
      	(copy_node_stat):  Copy init priority.
      	(build_decl_stat): Ditto for visibility.
      	(ts_enum_names): New.
      	(tree_contains_struct_check_failed): New function.
      	(decl_init_priority_lookup): Ditto.
      	(decl_init_priority_insert): Ditto.
      	* treestruct.def: New file.
      	* tree.h (CODE_CONTAINS_STRUCT): New macro.
      	(CONTAINS_STRUCT_CHECK): Ditto.
      	(tree_contains_struct_check_failed): New prototype.
      	(DECL_CHECK): Removed.
      	(DECL_MINIMAL_CHECK): New.
      	(DECL_COMMON_CHECK): Ditto.
      	(DECL_WRTL_CHECK): Ditto.
      	(DECL_NON_COMMON_CHECK): Ditto.
      	(DECL_WITH_VIS_CHECK): Ditto.
      	(VAR_OR_FUNCTION_DECL_P): Ditto
      	(struct tree_decl_minimal): New structure.
      	(struct tree_decl_common): Ditto.
      	(struct tree_decl_with_rtl): Ditto.
      	(struct tree_decl_with_vis): Ditto.
      	(struct tree_decl_non_common): Ditto.
      	(struct tree_field_decl): Ditto.
      	(struct tree_parm_decl): Ditto.
      	(struct tree_var_decl): Ditto.
      	(struct tree_function_decl): Ditto.
      	(struct tree_const_decl): Ditto.
      	(struct tree_result_decl): Ditto.
      	(union tree_node): Add new structures.
      	* var-tracking.c (track_expr_p): Reverse order of tests.
      
      	* doc/c-tree.texi: Add documentation on DECL node internal structure.
      
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* utils.c (create_param_decl): DECL_ARG_TYPE_AS_WRITTEN is
      	removed.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* Make-lang.in: Add gt-cp-lang.h.
      	(cp-lang.o): Ditto.
      	* class.c (create_vtable_ptr): Stop setting DECL_ASSEMBLER_NAME on
      	the field.
      	* config-lang.in: Add cp-lang.c to gtfiles.
      	* cp-lang.c: Include hashtab.h.
      	(cp_init_ts): New function.
      	(LANG_HOOK_INIT_TS): Use macro.
      	(decl_shadowed_for_var_lookup): New function.
      	(decl_shadowed_for_var_insert): Ditto.
      	* cp-tree.h (THUNK_FUNCTION_CHECK): Use decl_common.
      	(NON_THUNK_FUNCTION_CHECK): Ditto.
      	(DECL_NAMESPACE_ASSOCIATIONS): Use decl_non_common.
      	(DECL_INIT_PRIORITY): Ditto.
      	(DECL_HAS_SHADOWED_FOR_VAR_P): Ditto.
      	(DECL_SHADOWED_FOR_VAR): Use hashtable.
      	(SET_DECL_SHADOWED_FOR_VAR): Ditto.
      	* decl.c (duplicate_decls): Update for new/updated structures.
      	(poplevel): Use SET_DECL_SHADOWED_FOR_VAR.
      	* decl2.c (start_static_initialization_or_destruction): Deal with
      	priority.
      	* pt.c (tsubst_decl): Check TS_DECL_WRTL before doing
      	SET_DECL_RTL.
      	* tree.c (handle_init_priority_attribute): Handle priority.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* objc-act.c (objc_push_parm): DECL_ARG_TYPE_AS_WRITTEN is
      	removed.
      	* objc-act.h (KEYWORD_ARG_NAME): Use decl_non_common.
      	(KEYWORD_KEY_NAME): Use decl_minimal.
      	(METHOD_SEL_NAME): Ditto..
      	(METHOD_SEL_ARGS): Use decl_non_common.
      	(METHOD_ADD_ARGS): Ditto.
      	(METHOD_ADD_ARGS_ELLIPSIS_P): Use decl_common.
      	(METHOD_DEFINITION): Ditto.
      	(METHOD_ENCODING): Ditto.
      	* objc-lang.c: (objc_init_ts): New function.
      
      2005-07-08  Daniel Berlin  <dberlin@dberlin.org>
      
      	* trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
      	is removed.
      
      From-SVN: r101799
      Daniel Berlin committed
    • objc-act.c (objc_build_struct): Pass in an actual @interface instead of its name... · a0e71127
      [gcc/objc/ChangeLog]
      2005-07-07  Ziemowit Laski  <zlaski@apple.com>
      
              * objc-act.c (objc_build_struct): Pass in an actual @interface
              instead of its name, and annotate the struct created (and all
              existing variants thereof) with the @interface.
              (objc_compare_types): Treat forward-declared ObjC classes
              as stand-alone (root) classes for purposes of type comparisons.
              (build_private_template): Move some code to objc_build_struct().
      
      [gcc/testsuite/ChangeLog]
      2005-07-07  Ziemowit Laski  <zlaski@apple.com>
      
              * obj-c++.dg/proto-lossage-6.mm: New.
              * objc.dg/proto-lossage-6.m: New.
      
      From-SVN: r101750
      Ziemowit Laski committed
  13. 07 Jul, 2005 1 commit
  14. 03 Jul, 2005 1 commit
  15. 02 Jul, 2005 2 commits
    • c.opt, [...]: Remove "." from end of help texts. · c85ce869
      	* c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
      	config/rs6000/rs6000.opt, params.def: Remove "." from end of help
      	texts.
      	* config/avr/avr.c: Do not use '`' as left quote.
      	* config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
      	Remove "." from end of diagnostics.  Make diagnostics start with
      	lowercase letter.
      
      cp:
      	* name-lookup.c, parser.c: Use %q, %< and %> to quote in
      	diagnostics.
      
      fortran:
      	* lang.opt: Remove "." from end of help texts.
      
      objc:
      	* objc-act.c: Use %q to quote in diagnostics.
      
      From-SVN: r101533
      Joseph Myers committed
    • toplev.c (default_tree_printer): Handle setting location with '+' flag. · dee15844
      2005-07-02  Zack Weinberg  <zack@codesourcery.com>
                  Joseph S. Myers  <joseph@codesourcery.com>
      
      	* toplev.c (default_tree_printer): Handle setting location with
      	'+' flag.
      	* c-objc.common.c (c_tree_printer): Likewise.
      	* c-format.c (gcc_diag_flag_specs): Add '+'.
      	(gcc_cdiag_char_table): Allow '+' flag for tree formats.
      	(format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
      	formats.
      	* c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
      	config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
      	config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
      	config/v850/v850.c, function.c, stor-layout.c, toplev.c,
      	tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
      	instead of %J or %H.  Use 'q' flag for quoting.  Avoid '.' at end
      	of diagnostics.  Use %q+D not %s for a decl.  Do not pass excess
      	format arguments where %J is used without %D.
      
      cp:
      	* error.c (location_of): Add comment.
      	(locate_error, cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
      	* cp-tree.h (cp_error_at, cp_warning_at, cp_pedwarn_at): Remove.
      	* call.c, class.c, decl.c, decl2.c, friend.c, init.c,
      	name-lookup.c, parser.c, pt.c, search.c, semantics.c, typeck.c,
      	typeck2.c: Use '+' flag instead of %J, cp_error_at, cp_warning_at
      	or cp_pedwarn_at.  Mark up some diagnostic strings with N_.
      
      java:
      	* class.c, decl.c, expr.c: Use '+' flag instead of %J.  Use 'q'
      	flag for quoting.
      
      objc:
      	* objc-act.c: Use '+' flag instead of %J.  Use 'q' flag for
      	quoting.
      
      testsuite:
      	* gcc.dg/format/gcc_diag-1.c: Update.
      
      From-SVN: r101532
      Joseph Myers committed
  16. 01 Jul, 2005 1 commit
    • objc-act.c (objc_build_volatilized_type): New function. · e6b05534
      [gcc/objc/ChangeLog]
      2005-06-30  Ziemowit Laski  <zlaski@apple.com>
      
             * objc-act.c (objc_build_volatilized_type): New function.
             (objc_volatilize_decl): Call objc_build_volatilized_type()
             instead of build_qualified_type().
      
      [gcc/testsuite/ChangeLog]
      2005-06-30  Ziemowit Laski  <zlaski@apple.com>
      
             * obj-c++.dg/try-catch-11.mm: New.
             * objc.dg/try-catch-10.m: New.
      
      From-SVN: r101493
      Ziemowit Laski committed
  17. 30 Jun, 2005 1 commit
    • pretty-print.h (PP_NL_ARGMAX): New. · 39ce81c9
      gcc:
      	* pretty-print.h (PP_NL_ARGMAX): New.
      	(text_info): Add locus.
      	(struct chunk_info): New.
      	(output_buffer): Add formatted_obstack, chunk_obstack, and
      	cur_chunk_array. Change obstack to a pointer.
      	(pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New.
      	(struct pretty_print_info): Replace ideal_maximum_length and
      	prefixing_rule with wrapping.
      	(pp_line_cutoff, pp_prefixing_rule): Update to match.
      	Update prototypes and wrapper macros throughout.
      	* pretty-print.c (pp_formatted_text_data, pp_append_r)
      	(pp_base_clear_output_area, pp_construct, pp_base_formatted_text)
      	(pp_base_last_position_in_text, pp_base_newline, pp_base_character):
      	Update for changes to pp structure.
      	(pp_base_prepare_to_format, pp_base_format_text): Delete.
      	(pp_base_format, pp_base_output_formatted_text): New functions.
      	(pp_base_format_verbatim): Use pp_set_verbatim_wrapping.
      	(pp_verbatim): Clear text.locus.
      	(pp_printf): Likewise.  Use pp_format and pp_output_formatted_text.
      	* c-objc-common.c (c_tree_printer): Update function signature.
      	* diagnostic.c (diagnostic_initialize): Update for changes to
      	pp structure.
      	(diagnostic_report_diagnostic): Call pp_format and then
      	pp_output_formatted_text.
      	(verbatim): Clear text.locus.
      	* diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff):
      	Update for changes to pp structure.
      
      	* c-lang.c: No need to include c-pretty-print.h.
      	* Makefile.in: Remove bogus line containing only a tab.
      	(c-lang.o): Update dependencies.
      	* toplev.c (announce_function): Don't use verbatim.
      	(default_tree_printer): Update signature.
      
      	* objc/objc-lang.c: No need to include c-pretty-print.h.
      	* objc/Make-lang.in: Update dependencies.
      
      gcc/cp:
      	* cp-lang.c: No need to include cxx-pretty-print.h.
      	* error.c (cp_printer): Update signature.  No need to process
      	flags.
      	(print_instantiation_partial_context): Output last newline
      	with pp_base_newline.
      	* Make-lang.in: Update dependencies.
      
      gcc/objcp:
      	* objcp-lang.c: No need to include cxx-pretty-print.h.
      	* Make-lang.in: Update dependencies.
      
      Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
      
      From-SVN: r101481
      Zack Weinberg committed
  18. 29 Jun, 2005 1 commit
    • darwin.c (machopic_select_section): constant ObjC string objects now always have… · c64de75f
      darwin.c (machopic_select_section): constant ObjC string objects now always have type "__builtin_ObjCString".
      
      [gcc/ChangeLog]
      2005-06-29  Ziemowit Laski  <zlaski@apple.com>
      
              * config/darwin.c (machopic_select_section): constant ObjC string
              objects now always have type "__builtin_ObjCString".
      
      [gcc/objc/ChangeLog]
      2005-06-29  Ziemowit Laski  <zlaski@apple.com>
      
              * objc-act.c (objc_build_internal_const_str_type): New function.
              (check_string_class_template): Use objc_get_class_ivars() instead
              of TYPE_FIELDS() to retrieve ivar list.
              (AT_LEAST_AS_LARGE_AS): Check the size of each field's type rather
              than the field itself.
              (objc_build_string_object): Synthesize a "__builtin_ObjCString"
              type and use it to lay out compile-time string objects.
              * objc-act.h (OCTI_INTERNAL_CNST_STR_TYPE, internal_const_str_type):
              New.
      
      [gcc/testsuite/ChangeLog]
      2005-06-29  Ziemowit Laski  <zlaski@apple.com>
      
              * obj-c++.dg/const-str-1[0-1].mm: New.
              * objc.dg/const-str-1[0-1].m: New.
      
      From-SVN: r101437
      Ziemowit Laski committed
  19. 28 Jun, 2005 2 commits
    • Makefile.in: Set and use UNWIND_H. · 617a1b71
      2005-06-28  Paul Brook  <paul@codesourcery.com>
      
      gcc/
      	* Makefile.in: Set and use UNWIND_H.  Install as unwind.h.
      	* c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
      	* except.c (add_ehspec_entry): Generate arm eabi filter lists.
      	(assign_filter_values): Ditto.
      	(output_ttype): New function.
      	(output_function_exception_table): Use output_ttype.  Generate arm
      	eabi filter lists.
      	(default_init_unwind_resume_libfunc): New function.
      	* except.h (default_init_unwind_resume_libfunc): Add prototype.
      	* optabs.c (init_optabs): Don't set unwind_resume_libfunc.
      	* opts.c (decode_options): Use targetm.unwind_tables_default.
      	* target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
      	(TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
      	* target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
      	and arm_eabi_unwinder.
      	* unwind-c.c: Support Arm EABI unwinder.
      	* unwind.h: Rename ...
      	* unwind-generic.h: ... To this.
      	* doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
      	(TARGET_UNWID_TABLES_DEFAULT): Document.
      
      	* config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
      	* config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
      	(TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
      	Define.
      	(thumb_pushpop, thumb_output_function_prologue): Output unwinding
      	directives.
      	(arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
      	* config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
      	!TARGET_UNWIND_INFO.
      	(ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
      	* config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
      	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
      	ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
      	* config/arm/lib1funcs.asm: Include libunwind.S.
      	* config/arm/libgcc-bpabi.ver: Add unwinding routines.
      	* config/arm/libunwind.S: New file.
      	* config/arm/pr-support.c: New file.
      	* config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
      	(UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
      	* config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
      	* config/arm/unwind-arm.c: New file.
      	* config/arm/unwind-arm.h: New file.
      	* config/i386/t-netware (USER_H): Remove unwind.h.
      	* config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
      
      gcc/cp/
      	* Make-lang.in (cp/except.o): Depend on $(TARGET_H)
      	* except.c: Include target.h.
      	(init_exception_processing): Initialize unwind_resume_libfunc.
      	* doc/tm.texi: Document TARGET_ASM_TTYPE
      gcc/ada/
      	* misc.c (gnat_init_gcc_eh): Call default_init_unwind_resume_libfunc.
      gcc/java/
      	* decl.c (java_init_decl_processing): Call
      	default_init_unwind_resume_libfunc.
      gcc/objc/
      	* objc-act.c (objc_init_exceptions): Call
      	default_init_unwind_resume_libfunc.
      libstdc++/
      	* acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Check for
      	__cxa_end_cleanup.
      	* libsupc++/Makefile.am (sources): Add eh_call.c and eh_arm.c.
      	* libsupc++/eh_arm.cc: New file.
      	* libsupc++/eh_call.cc: New file.
      	* libsupc++/eh_catch.cc (__cxa_get_exception_ptr): Use
      	__gxx_caught_object.
      	(__cxa_begin_catch): Ditto. Use __is_gxx_exception_class. Call
      	_Unwind_Complete when using the ARM EABI.
      	(__cxa_end_catch): Use __is_gxx_exception_class.
      	* libsupc++/eh_personality.cc: Define NO_SIZE_OF_ENCODED_VALUE when
      	using the ARM EABI.
      	(save_caught_exception, restore_caught_exception): New functions.
      	(_throw_typet): New typedef.
      	(get_ttype_entry, get_adjusted_ptr, check_exception_spec): Add ARM
      	EABI implementations.
      	(PERSONALITY_FUNCTION): Use new functions.  Addd support for ARM EABI
      	unwinding libary.
      	(__cxa_unexpected): Disable when using the ARM EABI.
      	* libsupc++/eh_throw.cc (__cxa_throw): Use __GXX_INIT_EXCEPTION_CLASS.
      	(__cxa_rethrow): Use __is_gxx_exception_class.  Call
      	_Unwind_RaiseException when using the ARM EABI.
      	* libsupc++/unwind-cxx.h (struct __cxa_exception): Add fields for ARM
      	EABI semantics.
      	(struct __cxa_eh_globals): Ditto.
      	(__cxa_call_terminate): Add prototype.
      	(__cxa_type_match, __cxa_begin_cleanup, __cxa_end_cleanup): Add
      	prototypes.
      	(__get_exception_header_from_obj, __get_exception_header_from_ue):
      	Move earlier in file.
      	(__is_gxx_exception_class, __GXX_INIT_EXCEPTION_CLASS,
      	__gxx_caught_object): New functions.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* Makefile.in: Regenerate.
      	* include/Makefile.in: Regenerate.
      	* libmath/Makefile.in: Regenerate.
      	* libsupc++/Makefile.in: Regenerate.
      	* po/Makefile.in: Regenerate.
      	* src/Makefie.in: Regenerate.
      	* testsuite/makefile.in: Regenerate.
      
      From-SVN: r101385
      Paul Brook committed
    • objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO portion of… · 2aba33dd
      objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO portion of TYPE_LANG_SPECIFIC info for all variants of...
      
      [gcc/objc/ChangeLog]
      2005-06-27  Ziemowit Laski  <zlaski@apple.com>
      
              * objc-act.c (objc_build_struct): Save the TYPE_OBJC_INFO
              portion of TYPE_LANG_SPECIFIC info for all variants of
              a class before calling finish_struct(), and restore
              same TYPE_OBJC_INFO afterwards.
      
      [gcc/testsuite/ChangeLog]
      2005-06-27  Ziemowit Laski  <zlaski@apple.com>
      
              * obj-c++.dg/proto-lossage-5.mm: New.
              * objc.dg/proto-lossage-5.m: New.
      
      From-SVN: r101368
      Ziemowit Laski committed
  20. 25 Jun, 2005 1 commit
  21. 15 Jun, 2005 1 commit
    • c-tree.h (default_function_array_conversion): Declare. · 46bdb9cf
      	* c-tree.h (default_function_array_conversion): Declare.
      	* c-typeck.c (default_function_array_conversion): Export.  Correct
      	comment.
      	(default_conversion): Do not call
      	default_function_array_conversion.  Do not allow FUNCTION_TYPE.
      	(build_function_call): Call default_function_array_conversion on
      	the function.
      	(convert_arguments): Do not call it on the function arguments.
      	(build_unary_op): Do not allow ARRAY_TYPE or FUNCTION_TYPE for
      	TRUTH_NOT_EXPR.  Call default_function_array_conversion for taking
      	address of ARRAY_REF.
      	(build_compound_expr): Do not call
      	default_function_array_conversion.
      	(build_c_cast): Do not call default_function_array_conversion.
      	(convert_for_assignment): Do not call default_conversion.
      	(digest_init): Call default_function_array_conversion to convert
      	string constants and compound literals to pointers, but not
      	otherwise.
      	(output_init_element): Likewise.
      	(build_asm_expr): Do not call default_function_array_conversion.
      	(c_process_expr_stmt): Likewise.
      	(c_objc_common_truthvalue_conversion): Likewise.  Do not allow
      	FUNCTION_TYPE.
      	* c-parser.c (c_parser_expression_conv): New.
      	(c_parser_asm_operands, c_parser_expr_list): Add convert_p
      	argument.  All callers changed.  Call
      	default_function_array_conversion if convert_p.
      	(c_parser_initializer, c_parser_initval): Call
      	default_function_array_conversion except for string constants and
      	compound literals.
      	(c_parser_initelt): Call default_function_array_conversion for
      	ObjC expression received.
      	(c_parser_statement_after_labels): Call c_parser_expression_conv
      	for return and expression statements.
      	(c_parser_paren_condition, c_parser_for_statement,
      	c_parser_conditional_expression): Call c_parser_expression_conv.
      	(c_parser_expr_no_commas, c_parser_conditional_expression,
      	c_parser_binary_expression, c_parser_cast_expression,
      	c_parser_unary_expression): Call
      	default_function_array_conversion.
      
      objc:
      	* objc-act.c (my_build_string_pointer): New.
      	(objc_get_class_reference, get_super_receiver): Call
      	my_build_string_pointer instead of my_build_string when building
      	function arguments.
      
      testsuite:
      	* gcc.dg/noncompile/20040203-3.c: Update expected message.
      
      From-SVN: r100984
      Joseph Myers committed
  22. 25 May, 2005 1 commit
  23. 24 May, 2005 1 commit
    • objc-act.c (objc_build_struct): New function. · d11dd684
              * objc-act.c (objc_build_struct): New function.
              (objc_derived_from_p): Likewise.
              (objc_build_component_ref): Likewise.
              (objc_copy_binfo): Likewise.
              (objc_xref_basetypes): Likewise.
              (objc_lookup_protocol): Likewise.
              (objc_compare_protocols): Likewise.
              (objc_volatilize_decl): Likewise.
              (encode_aggregate_fields): Likewise.
              (volatilized_hash): Likewise.
              (volatilized_eq): Likewise.
              (objc_compare_types): Likewise.
              (objc_type_quals_match): Likewise.
              (DERIVED_FROM_P): New ObjC macro, corresponding to C++ macro
              of same name.
              (get_class_ivars): Add second parameter indicating if entire
              hierarchy is desired.
              (struct volatilized_type): New type.
              (volatilized_htab): New hash table.
              (objc_types_compatible_p, objc_comptypes): Remove functions.
              (synth_module_prologue): Do not initialize 'unused_list'.
              (objc_get_class_reference): Fix ObjC++ impedance mismatches.
              (objc_declare_alias): Implement as a typedef.
              (objc_substitute_decl, objc_gimplify_expr): Reformat.
              (objc_get_class_ivars): Adjust call to get_class_ivars().
              (next_sjlj_build_enter_and_setjmp, synth_forward_declarations,
              build_ivar_reference, get_super_receiver): Call
              objc_build_component_ref() instead of build_component_ref().
              (objc_begin_catch_clause): Use DERIVED_FROM_P() instead of
              objc_comptypes().
              (build_private_template): Call objc_build_struct() instead of
              start_struct() and finish_struct().
              (hash_init): Initialize volatilized_htab.
              (objc_is_public): Adjust calls to objc_get_ivars(); adjust
              ObjC++ impedance mismatches.
              (encode_aggregate_within): Streamline by calling
              encode_aggregate_fields().
              * objc-act.h (objc_types_compatible_p): Remove prototype.
              (OCTI_UNUSED_LIST, unused_list): Remove slot.
              * objc-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.
      
      From-SVN: r100123
      Ziemowit Laski committed
  24. 20 May, 2005 1 commit
  25. 18 May, 2005 2 commits
    • dummy-checksum.c: New. · 3fd30b88
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* dummy-checksum.c: New.
      	* genchecksum.c: New.
      	* c.opt (print_pch_checksum): New flag.
      	* c-pch.c (struct c_pch_validity): Make much shorter.
      	(no_checksum): New.
      	(host_machine): Remove.
      	(target_machine): Remove.
      	(get_ident): Change PCH version number.
      	(pch_init): When -fverbose-asm, print out the compiler fingerprint.
      	Don't put triplets or version string in PCH validity data.
      	Do put the compiler checksum in the validity data.
      	(c_common_valid_pch): Don't check triplets or version string.  Do
      	check checksum.
      	(c_common_print_pch_checksum): New.
      	* c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum.
      	Print fingerprint with -v.
      	* c-common.h (c_common_print_pch_checksum): New.
      	(executable_checksum): New.
      	* Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c.
      	(cc1-dummy): New rule.
      	(cc1-checksum.c): New rule.
      	(cc1-checksum.o): New rule.
      	(cc1): Add checksum support.
      	(build/genchecksum): New.
      	(build/genchecksum.o): New.
      	(dummy-checksum.o): New.
      	(genobjnames): Add genchecksum.o.
      	(mostlyclean): Remove *-checksum.c.
      	(gnucompare): Add libgcc to list of directories checked.
      	Make comparison problems in libgcc/ and with checksum files only
      	be warnings.
      	* doc/invoke.texi (Precompiled Headers): Remove caution.
      	Document that it must be the exact same binary.  Add a few
      	known-safe flags to the list.
      
      In cp/:
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* Make-lang.in (cc1plus-dummy): New.
      	(cc1plus-checksum.c): New.
      	(cc1plus-checksum.o): New.
      	(cc1plus): Add cc1plus-checksum.o.
      
      In objc/:
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* Make-lang.in (cc1obj-dummy): New.
      	(cc1obj-checksum.c): New.
      	(cc1obj-checksum.o): New.
      	(cc1obj): Add cc1obj-checksum.o.
      
      In objcp/:
      2005-05-18  Geoffrey Keating  <geoffk@apple.com>
      
      	* Make-lang.in (cc1objplus-dummy): New.
      	(cc1objplus-checksum.c): New.
      	(cc1objplus-checksum.o): New.
      	(cc1objplus): Add cc1objplus-checksum.o.
      
      From-SVN: r99928
      Geoffrey Keating committed
    • re PR objc/21641 (cris-axis-elf, cris-axis-linux-gnu, mmix-knuth-mmixware,… · 55cb0169
      re PR objc/21641 (cris-axis-elf, cris-axis-linux-gnu, mmix-knuth-mmixware, x86_64-unknown-linux-gnu broken libobjc/Object.m)
      
              PR objc/21641
              * objc-act.c (struct interface_tuple): Mark it up for GC.
              (interface_htab): It is really a struct interface_tuple.
      
      From-SVN: r99922
      Mike Stump committed
  26. 17 May, 2005 1 commit
    • Yet more Objective-C++... · 38b9c8c3
              * objc-act.c (objc_finish_try_stmt): Add return value.
              (objc_build_synchronized): Likewise.
      
              * objc-act.c (objc_is_gcable_type): Add.
              (objc_substitute_decl): Add.
              (objc_build_ivar_assignment): Add.
              (objc_build_global_assignment): Add.
              (objc_build_strong_cast_assignment): Add.
              (objc_is_ivar_reference_p): Add.
              (objc_is_global_reference_p): Add.
              (objc_generate_write_barrier): Add.
              (objc_rewrite_function_call): Add.
              (objc_gimplify_expr): Add Objective-C++ support.
              * objc-act.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Likewise.
              (SIZEOF_OBJC_TYPE_LANG_SPECIFIC): Add.
              (INIT_TYPE_OBJC_INFO): Add Objective-C++ support.
              (DUP_TYPE_OBJC_INFO): Likewise.
              (struct imp_entry): Add field has_cxx_cdtors.
              (struct imp_entry *imp_list): Add OCTI_UMSG_FAST_DECL,
              OCTI_METH_LIST_TEMPL, OCTI_METH_PROTO_LIST_TEMPL,
              OCTI_IVAR_LIST_TEMPL, OCTI_ASSIGN_IVAR_DECL,
              OCTI_ASSIGN_IVAR_FAST_DECL, OCTI_ASSIGN_GLOBAL_DECL,
              OCTI_ASSIGN_STRONGCAST_DECL.
              (umsg_fast_decl): Add.
              (objc_assign_ivar_decl): Add.
              (objc_assign_ivar_fast_decl): Add.
              (objc_assign_global_decl): Add.
              (objc_assign_strong_cast_decl): Add.
              (objc_method_list_ptr): Add.
              (objc_method_proto_list_ptr): Add.
              (objc_ivar_list_ptr): Add.
      
              * objc-act.c (should_call_super_dealloc): Add.
              (OBJC_VERSION): Bump to 6.
              (objc_is_gcable_type): Add.
              (objc_substitute_decl): Add.
              (objc_build_ivar_assignment): Add.
              (objc_build_global_assignment): Add.
              (objc_build_strong_cast_assignment): Add.
              (objc_is_gcable_p): Add.
              (objc_is_ivar_reference_p): Add.
              (objc_is_global_reference_p): Add.
              (generate_shared_structures): Add flags parameter.
              (objc_generate_cxx_ctor_or_dtor): Add.
              (objc_generate_cxx_cdtors): Add.
              (add_class): Add name parameter.
              (objc_types_share_size_and_alignment): Add.
              (comp_proto_with_proto): Add strict parameter.
              (CLS_HAS_CXX_STRUCTORS): Add.
              (TAG_ASSIGNIVAR): Add.
              (TAG_ASSIGNGLOBAL): Add.
              (TAG_ASSIGNSTRONGCAST): Add.
              (TAG_MSGSEND_FAST): Add.
              (TAG_ASSIGNIVAR_FAST): Add.
              (TAG_CXX_CONSTRUCT): Add.
              (TAG_CXX_DESTRUCT): Add.
              (OBJC_LOOKUP_CLASS): Add.
              (OBJC_LOOKUP_NO_SUPER): Add.
              (objc_finish_file): Add pch support.
              (objc_finish_implementation): Add Objective-C++ support.
              (synth_module_prologue): Likewise.
              (synth_module_prologue): Add fast dispatching.
              (objc_get_class_reference): Add Objective-C++ support.
              (objc_generate_write_barrier): Likewise.
              (next_sjlj_build_enter_and_setjmp): Likewise.
              (objc_begin_try_stmt): Likewise.
              (build_next_objc_exception_stuff): Add fast ivar support.
              (build_private_template): Mark the record as used so debug
              information is generated.
              (build_protocol_template): Add Objective-C++ support.
              (objc_method_parm_type) Likewise.
              (objc_generate_cxx_ctor_or_dtor): Likewise.
              (objc_generate_cxx_cdtors): Likewise.
              (build_protocol_initializer): Likewise.
              (build_category_template): Likewise.
              (build_class_template): Likewise.
              (build_method_list_template): Likewise.
              (build_category_initializer): Likewise.
              (build_shared_structure_initializer): Likewise.
              (objc_finish_message_expr): Likewise.
              (build_objc_method_call): Add fast dispatch support.
              (lookup_method_static): Add support to end search at superclasses.
              (add_method_to_hash_list): Add strict parameter to
              comp_proto_with_proto.
              (objc_add_method): Likewise.
              (objc_add_method): Also set the interface_value.
              (add_instance_variable): Add Objective-C++ support.
              (objc_is_public): Likewise.
              (start_class): Likewise.
              (continue_class): Likewise.
              (encode_aggregate_within): Likewise.
              (start_method_def): Likewise.
              (objc_start_function): Clear current_function_returns_value
              and current_function_returns_null.
              (really_start_method): Add Objective-C++ support.
              (objc_finish_method_definition): Add warning for missing
              [super dealloc].
              (finish_objc): Add Objective-C++ support.
              (generate_objc_image_info): Likewise.
              (objc_lookup_ivar): Likewise.
              * objc-act.h (TYPE_HAS_OBJC_INFO): Likewise.
              (INIT_TYPE_OBJC_INFO): Likewise.
              (DUP_TYPE_OBJC_INFO): Likewise.
      
      From-SVN: r99857
      Ziemowit Laski committed
  27. 23 Apr, 2005 1 commit
    • diagnostic.c (warning): Accept parameter to classify warning option. · d4ee4d25
      * diagnostic.c (warning): Accept parameter to classify warning option.
      (warning0): New, for when a pointer to an error() like function is needed.
      * errors.c (warning): Likewise.
      * errors.h (warning, warning0): Adjust prototypes.
      * toplev.h (warning, warning0): Likewise.
      
      * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
      c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
      c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
      fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
      genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
      reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
      tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
      tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
      
      * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
      config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
      config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
      config/darwin.c, config/darwin.h, config/h8300/h8300.c,
      config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
      config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
      config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
      config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
      config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
      config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
      config/rs6000/aix52.h, config/rs6000/darwin.h,
      config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
      config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
      config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
      config/stormy16/stormy16.c, config/v850/v850-c.c,
      config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
      callers.
      
      * ada/misc.c: Adjust warning() callers.
      
      * cp/call.c, cp/class.c, cp/cvt.c, cp/decl.c, cp/decl2.c,
      cp/except.c, cp/friend.c, cp/init.c, cp/lex.c, cp/mangle.c,
      cp/method.c, cp/name-lookup.c, cp/parser.c, cp/repo.c, cp/rtti.c,
      cp/tree.c, cp/typeck.c, cp/typeck2.c: Adjust warning() callers.
      
      * fortran/trans-decl.c: Adjust warning() callers.
      
      * java/class.c, java/decl.c, java/expr.c, java/jcf-io.c,
      java/jcf-parse.c, java/jv-scan.c, java/parse.y: Adjust warning()
      callers.
      
      * objc/objc-act.c: Adjust warning() callers.
      
      * treelang/parse.y: Adjust warning() callers.
      
      From-SVN: r98633
      DJ Delorie committed
  28. 21 Apr, 2005 1 commit
    • c-common.h (objc_build_method_signature): Update prototype. · dbb74365
      	* c-common.h (objc_build_method_signature): Update prototype.
      	* stub-objc.c (objc_build_method_signature): Update the stub
      	implementation to accept and ignore additional parameter.
      	* c-parser.c (c_parser_objc_method_decl): Reorgnize to pass
      	the value of ellipsis to objc_build_method_signature instead
      	of setting TREE_OVERFLOW on the parms TREE_LIST node.
      
      	* objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
      	this field of an objc method decl.
      	* objc-act.c (build_method_decl): Take an additional "ellipsis"
      	argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
      	(objc_build_method_signature): Accept additional "ellipsis"
      	argument and pass it to build_method_decl.
      	(get_arg_type_list, start_method_def, gen_method_decl): Use
      	the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
      	TREE_OVERFLOW field of a TREE_LIST node.
      
      From-SVN: r98528
      Roger Sayle committed
  29. 20 Apr, 2005 1 commit
    • re PR c/12913 (Jumps into variable length array scope not rejected) · 187230a7
      	PR c/12913
      	* c-tree.h (struct c_label_list): Update comment.
      	(struct c_label_context): Rename to struct c_label_context_se.
      	(label_context_stack): Rename to label_context_stack_se.
      	(C_DECL_UNJUMPABLE_VM, C_DECL_UNDEFINABLE_VM, struct
      	c_label_context_vm, label_context_stack_vm, c_begin_vm_scope,
      	c_end_vm_scope): New.
      	(C_DECL_DECLARED_BUILTIN, C_DECL_USED): Use FUNCTION_DECL_CHECK.
      	* c-decl.c (pop_scope): Call c_end_vm_scope.
      	(pushdecl): Call c_begin_vm_scope for variably modified
      	declarations.
      	(define_label): Check for jumping into scope of identifier with
      	variably modified type.  Push label on stack for those defined at
      	current context of identifiers with variably modified type.
      	(start_function): Create stack level for context of identifiers
      	with variably modified type.
      	(finish_function): Pop stack level for context of identifiers with
      	variably modified type.
      	* c-typeck.c (label_context_stack): Rename to
      	label_context_stack_se.
      	(label_context_stack_vm, c_begin_vm_scope, c_end_vm_scope): New.
      	(c_finish_goto_label): Check for jumping into scope of identifier
      	with variably modified type.  Push label on stack for those jumped
      	to from current context of identifiers with variably modified
      	type.
      	(struct c_switch): Add blocked_vm.
      	(c_start_case): Initialize blocked_vm.
      	(do_case): Check blocked_vm.
      	(c_finish_case): Add comment.
      	(c_begin_stmt_expr, c_finish_stmt_expr): Update for renamed
      	variable label_context_stack.
      
      objc:
      	* objc-act.c (objc_start_function): Create stack level for context
      	of identifiers with variably modified type.
      
      testsuite:
      	* gcc.dg/c99-vla-jump-1.c, gcc.dg/c99-vla-jump-2.c,
      	gcc.dg/c99-vla-jump-3.c, gcc.dg/c99-vla-jump-4.c,
      	gcc.dg/c99-vla-jump-5.c: New tests.
      
      From-SVN: r98464
      Joseph Myers committed
  30. 13 Apr, 2005 1 commit
    • Make-lang.in (objc-lang.o): Depend on tree-gimple.h. · 43f479d6
      2005-04-13  Dale Johannesen  <dalej@apple.com>
      
              * objc/Make-lang.in (objc-lang.o):  Depend on tree-gimple.h.
              (objc-act.o):  Ditto.
              * objc/objc-act.c (objc_gimplify_expr):  New.
              (objc_get_callee_fndecl):  New.
              * objc/objc-act.h:  Include tree-gimple.h.  Declare new functions.
              * objc/objc-lang.c (LANG_HOOKS_GIMPLIFY_EXPR):  Define.
              (LANG_HOOKS_GET_CALLEE_FNDECL):  Define.
      
      From-SVN: r98105
      Dale Johannesen committed
  31. 30 Mar, 2005 1 commit
    • re PR c++/772 (Statement expressions issues) · 16ef3acc
      	PR c/772
      	PR c/17913
      	* c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
      	C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
      	c_label_context, label_context_stack): New.
      	* c-decl.c (define_label): Check for jumps into statement
      	expressions.  Add label to list of defined labels.
      	(start_function): Push context on label_context_stack.
      	(finish_function): Pop context from label_context_stack.
      	* c-typeck.c (label_context_stack): New.
      	(c_finish_goto_label): Check for jumps into statement
      	expressions.  Add label to list of jumped to labels.
      	(struct c_switch): Add blocked_stmt_expr.
      	(c_start_case): Initialize it.
      	(do_case): Check it.
      	(c_finish_case): Verify !blocked_stmt_expr.
      	(c_begin_stmt_expr):  Push context on label_context_stack.
      	Increment blocked_stmt_expr.  Mark labels jumped to from outside
      	as undefinable.
      	(c_finish_stmt_expr): December blocked_stmt_expr.  Mark labels
      	defined in the statement expression and no longer jumpable to.
      	Mark labels jumped to from just outside the statement expression
      	as again definable.  Pop context from label_context_stack.
      	* doc/extend.texi (Statement Exprs): Update.
      
      objc:
      	* objc-act.c (objc_start_function): Push context on
      	label_context_stack.
      
      testsuite:
      	* gcc.dg/stmt-expr-label-1.c, gcc.dg/stmt-expr-label-2.c,
      	gcc.dg/stmt-expr-label-3.c : New tests.
      	* gcc.c-torture/execute/medce-2.c: Remove.
      
      From-SVN: r97273
      Joseph Myers committed
  32. 23 Mar, 2005 1 commit
    • c-common.c (c_common_truthvalue_conversion): Adjust comment. · 85498824
      	* c-common.c (c_common_truthvalue_conversion): Adjust comment.
      	Call c_common_truthvalue_conversion rather than
      	lang_hooks.truthvalue_conversion.
      	* c-convert.c (convert): Call c_objc_common_truthvalue_conversion.
      	* c-objc-common.c (c_objc_common_truthvalue_conversion): Move to
      	c-typeck.c.
      	* c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to
      	c_common_truthvalue_conversion.
      	* c-parser.c (c_parser_paren_condition, c_parser_for_statement,
      	c_parser_conditional_expression, c_parser_binary_expression): Call
      	c_objc_common_truthvalue_conversion.
      	* c-typeck.c (build_unary_op): Call
      	c_objc_common_truthvalue_conversion.
      	(build_conditional_expr): Do not call
      	lang_hooks.truthvalue_conversion.
      	(build_binary_op): Call c_common_truthvalue_conversion.
      	(c_objc_common_truthvalue_conversion): Moved from
      	c-objc-common.c.  Call default_function_array_conversion instead
      	of default_conversion.
      
      objc:
      	* objc-act.c (next_sjlj_build_enter_and_setjmp,
      	next_sjlj_build_catch_list, next_sjlj_build_try_catch_finally):
      	Call c_common_truthvalue_conversion.
      
      From-SVN: r96917
      Joseph Myers committed
  33. 25 Feb, 2005 1 commit
    • c-parser.c: New file. · 27bf414c
      	* c-parser.c: New file.
      	* c-parse.in: Remove.
      	* Makefile.in (c-parse.o-warn, c-parse.o, c-parse.c, c-parse.y):
      	Remove.
      	(c-parser.o): Add dependencies.
      	(C_AND_OBJC_OBJC, C_OBJS, gcc.srcextra, GTFILES, distclean,
      	maintainer-clean, TAGS): Update.
      	* c-config-lang.in (gtfiles): Update.
      	* gengtype-lex.l: Don't handle "@@".
      	* stub-objc.c (objc_get_class_ivars, objc_build_throw_stmt,
      	objc_build_synchronized, objc_begin_try_stmt,
      	objc_begin_catch_clause, objc_finish_catch_clause,
      	objc_build_finally_clause, objc_finish_try_stmt): New.
      	* c-tree.h (struct c_declspecs): Add declspecs_seen_p and
      	type_seen_p.
      	(c_parse_init): Update comment.
      	* c-decl.c (c_init_decl_processing): Update comment.
      	(build_null_declspecs, declspecs_add_qual, declspecs_add_type,
      	declspecs_add_scspec, declspecs_add_attrs): Initialize and update
      	new c_declspecs members.
      
      objc:
      	* Make-lang.in (objc/objc-parse.o-warn, objc/objc-parse.o,
      	objc/objc-parse.c, objc/objc-parse.y): Remove
      	(OBJC_OBJS, objc.srcextra, objc.tags, objc.mostlyclean,
      	objc.distclean, objc.maintainer-clean): Update for new parser.
      	* config-lang.in (gtfiles): Update for new parser.
      
      testsuite:
      	* gcc.dg/cpp/separate-1.c, gcc.dg/noncompile/971104-1.c,
      	gcc.dg/noncompile/990416-1.c: Adjust expected messages for new
      	parser.
      
      From-SVN: r95558
      Joseph Myers committed
  34. 29 Jan, 2005 1 commit
  35. 28 Jan, 2005 1 commit