aboutsummaryrefslogtreecommitdiff
path: root/gcc/objc
AgeCommit message (Collapse)AuthorFilesLines
2000-03-17* Clean up usages of TREE_INT_CST_LOW.Richard Kenner3-29/+19
* c-parse.in (RESTORE_WARN_FLAGS): Use tree_low_cst. * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: Regenerated. * c-tree.h (min_precision): Move declaration to here. * c-typeck.c (build_binary_op): Use host_integerp and tree_low_cst. (build_unary_op, add_pending_init): Use bit_position. (pending_init_member, process_init_element): Likewise. (really_start_incremental_init, push_init_level, pop_init_level): Don't make copies of nodes or modify them in place, use consistent types when tracking positions, and use tree routines computations. (set_init_index, output_init_element): Likewise. (output_pending_init_elements, process_init_element): Likewise. * dbxout.c (dbxout_type_fields): Use bit_position, host_integerp, tree_low_cst and int_bit_position; also minor cleanup. (dbxout_type_method_1, dbxout_range_type, dbxout_type): Likewise. (print_cst_octal): Precision is unsigned. (dbxout_symbol): Ensure DECL_INITIAL is in-range and use tree_low_cst. * dwarf2out.c (ceiling): Input and output are unsigned HOST_WIDE_INT. (simple_type_align_in_bits): Result is unsigned int. Use tree_int_low_cst and host_integerp. (simple_type_size_in_bits): Result is unsigned HOST_WIDE_INT. (field_byte_offset): Result is HOST_WIDE_INT. Change types of internal variables so alignments are unsigned int, offsets are HOST_WIDE_INT and sizes are unsigned HOST_WIDE_INT. Use host_integerp, tree_low_cst, and int_bit_position. (add_bit_offset_attribute): Likewise. (add_data_member_location_attribute): Use tree_cst_low. (add_bound_info): Use host_integerp, integer_zerop, and integer_onep. (add_bit_size_attribute): Use tree_low_cst. (add_pure_or_virtual_attribute, gen_enumeration_type_die): Likewise. * dwarfout.c: Similar changes to dwarf2out.c. * expr.c (expand_expr, case ARRAY_REF): Remove redundant code. * genoutput.c (n_occurences): Return -1 for null string. (strip_whitespace): Accept null string and make into function. (scan_operands): Reflect above changes. * sdbout.c (plain_type_1): Use host_integerp and tree_low_cst. (sdbout_field_types, sdbout_one_type): Likewise; also use bit_position. * ssa.c (rename_registers): Add missing cast of arg to bzero. * tree.c (int_size_in_bytes): Check for too big to represent. (bit_position, int_bit_position, host_integerp, tree_low_cst): New fns. * tree.h (host_integerp, tree_low_cst, bit_position, int_bit_position): New declarations. (min_precision): Delete from here. * varasm.c (decode_addr_const): Use host_integerp, bit_position, and int_bit_position. * objc/objc-act.c (encode_method_prototype): Sizes are HOST_WIDE_INT. (encode_method_def): Likewise. (build_ivar_list_initializer): Use int_bit_position. (generate_shared_structures): Convert size. (encode_type, encode_complete_bitfield): Use integer_zerop. (encode_bitfield): Use tree_low_cst and int_bit_position. * ch/typeck.c (min_precision): New function. (build_chill_slice): Use host_integerp and tree_low_cst. (expand_constant_to_buffer): Likewise and also int_bit_position. LO is unsigned HOST_WIDE_INT (build_chill_array_ref_1): Make `i' be HOST_WIDE_INT; use tree_low_cst. (extract_constant_from_buffer): Sizes are now HOST_WIDE_INT. Use host_integerp and tree_low_cst. (build_chill_bin_type): Use host_integerp and tree_low_cst. (layout_chill_range_type): Use tree_int_cst_sgn, compare_tree_int, tree_low_cst, and min_precision. (apply_chill_array_layout): Cleanups for types of variables and use tree_int_cst_sgn, compare_tree_int, and tree_low_cst. (apply_chill_field_layout): Likewise. * cp/class.c (build_vbase_path): Use integer_zerop. (build_vtable_entry): Use tree_low_cst. (get_vfield_offset): Use bit_position. (dfs_modify_vtables): New variable vindex_val; `i' is HOST_WIDE_INT. Use tree_low_cst. (check_bitfield_decl): Set DECL_SIZE using convert. (build_base_field): Set DECL_SIZE and DECL_SIZE_UNIT using size_binop. (layout_virtual_bases): DSIZE is unsigned HOST_WIDE_INT. Use tree_low_cst. (finish_struct_1): Use bit_position. (dump_class_hierarchy): Use tree_low_cst. * cp/cp-tree.h (min_precision): Add declaration. * cp/decl.c (xref_tag, xref_basetypes): Use tree_low_cst. * cp/error.c (dump_type_suffix): Use host_integerp and tree_low_cst. (dump_expr): Use integer_zerop, host_integerp, and tree_low_cst. * cp/expr.c (cplus_expand_constant): Use bit_position. * cp/init.c (build_vec_init): Use host_integerp and tree_low_cst. * cp/rtti.c (get_base_offset): Use bit_position. * cp/typeck.c (build_binary_op): Use integer_zerop, compare_tree_int, host_integerp, and tree_low_cst. (pointer_int_sum): Use integer_zerop. (build_component_addr): Use bit_position. * java/class.c (make_field_value): Properly handle sizes. (get_dispatch_vector): Use tree_low_cst and host_integerp. (layout_class_method): Count using trees. * java/decl.c (push_promoted_type): Set TYPE_{MIN,MAX}_VALUE with copy_node. * java/expr.c (java_array_data_offset): Use int_bit_position. (build_newarray, build_anewarray): Use host_integerp and tree_low_cst. (build_invokevirtual): Use tree_low_cst and do computations with trees. From-SVN: r32607
2000-03-14c-parse.y, [...]: Regenerate.Greg McGary2-1656/+1668
* c-parse.y, c-parse.c, c-parse.h: Regenerate. * objc/objc-parse.y, objc/objc-parse.c: Regenerate. From-SVN: r32541
2000-03-07rtl.h (rtunion_def): Constify member `rtstr'.Kaveh R. Ghazi1-3/+3
* rtl.h (rtunion_def): Constify member `rtstr'. (emit_line_note_after, emit_line_note, emit_line_note_force, emit_note, decode_asm_operands): Constify. * cse.c (canon_hash): Likewise. * dbxout.c (dbxout_block): Likewise. * diagnostic.c (file_and_line_for_asm, v_error_for_asm, v_warning_for_asm): Likewise. * dwarfout.c (function_start_label): Likewise. * emit-rtl.c (emit_line_note_after, emit_line_note, emit_note, emit_line_note_force): Likewise. * final.c (last_filename, asm_insn_count, final_scan_insn, output_source_line): Likewise. * function.h (struct emit_status): Likewise. * gcse.c (hash_expr_1): Likewise. * genattr.c (gen_attr, main): Likewise. * genattrtab.c (struct function_unit, current_alternative_string, write_attr_valueq, n_comma_elts, next_comma_elt, attr_eq, attr_numeral, check_attr_test, check_attr_value, convert_set_attr_alternative, convert_set_attr, compute_alternative_mask, simplify_by_exploding, gen_attr, gen_unit): Likewise. * genflags.c (gen_insn): Likewise. * gengenrtl.c (type_from_format): Likewise. * genopinit.c (gen_insn): Likewise. * genoutput.c (n_occurrences, process_template, process_template): Likewise. * ggc-page.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): Likewise. * ggc-simple.c (ggc_set_mark, ggc_mark_if_gcable, ggc_get_size): Likewise. * ggc.h (ggc_mark_string, ggc_mark, ggc_mark_if_gcable, ggc_set_mark, ggc_get_size): Likewise. * objc/objc-act.c (build_module_descriptor, finish_objc): Likewise. * optabs.c (init_one_libfunc): Likewise. * output.h (assemble_start_function): Likewise. * recog.c (decode_asm_operands): Likewise. * toplev.c (rest_of_compilation): Likewise. * tree.h (emit_line_note_after, emit_line_note, emit_line_note_force): Likewise. * varasm.c (asm_output_bss, asm_output_aligned_bss, asm_emit_uninitialised, assemble_start_function, assemble_variable, const_hash, compare_constant_1, find_pool_constant, mark_constant_pool, assemble_alias): Likewise. * xcoffout.h (DBX_FINISH_SYMBOL): Likewise. * alpha/alpha.md (call_vms, call_value_vms): Likewise. * arm/aof.h (ASM_OUTPUT_ASCII): Likewise. * arm/aout.h (ASM_OUTPUT_ASCII): Likewise. * arm/arm-protos.h (output_ascii_pseudo_op, arm_dllexport_name_p, arm_dllimport_name_p): Likewise. * arm/arm.c (arm_encode_call_attribute, output_ascii_pseudo_op): Likewise. * arm/arm.h (ASM_OUTPUT_MI_THUNK): Likewise. * arm/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * arm/pe.c (arm_dllexport_name_p, arm_dllimport_name_p, arm_mark_dllexport, arm_mark_dllimport, arm_pe_encode_section_info): Likewise. * arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS, ASM_FINISH_DECLARE_OBJECT): Likewise. * arm/thumb.c (thumb_function_prologue): Likewise. * arm/thumb.h (ASM_OUTPUT_ASCII): Likewise. * avr/avr.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * clipper/clix.h (ASM_OUTPUT_ASCII): Likewise. * fx80/fx80.h (ASM_OUTPUT_ASCII): Likewise. * i386/cygwin.h (ASM_OUTPUT_SECTION_NAME): Likewise. * i386/freebsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * i386/i386-interix.h (ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise. * i386/i386-protos.h (asm_output_function_prefix): Likewise. * i386/i386.c (asm_output_function_prefix): Likewise. * i386/i386elf.h (ASM_OUTPUT_ASCII): Likewise. * i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * i386/ptx4-i.h (ASM_OUTPUT_ASCII): Likewise. * i386/sco5.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII, ASM_OUTPUT_SECTION_NAME): Likewise. * i386/sysv4.h (ASM_OUTPUT_ASCII): Likewise. * i860/paragon.h (ASM_OUTPUT_ASCII): Likewise. * i860/sysv3.h (ASM_OUTPUT_ASCII): Likewise. * m32r/m32r.c (m32r_encode_section_info): Likewise. * mcore-elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mcore/mcore.c (mcore_encode_section_info): Likewise. * mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mips/iris6.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * mips/mips.h (ASM_OUTPUT_IDENT): Likewise. * mips/mips.md (movdi, movsi): Likewise. * mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * netbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * openbsd.h (ASM_FINISH_DECLARE_OBJECT): Likewise. * ptx4.h (ASM_FINISH_DECLARE_OBJECT, ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Likewise. * rs6000/rs6000.c (rs6000_allocate_stack_space, output_epilog, output_mi_thunk, output_toc): Likewise. * rs6000/rs6000.md (movsi): Likewise. * rs6000/sysv4.h (ASM_OUTPUT_INT, ASM_OUTPUT_SECTION_NAME): Likewise. * tahoe/harris.h (ASM_OUTPUT_ASCII): Likewise. * v850/v850.c (print_operand, print_operand_address, v850_encode_data_area): Likewise. ch: * grant.c (globalize_decl): Constify a char*. cp: * decl2.c (finish_objects): Constify a char*. * method.c (emit_thunk): Likewise. From-SVN: r32388
2000-02-28* Eliminate DECL_FIELD_SIZE.Richard Kenner1-21/+7
* builtins.c (built_in_class_names, built_in_names): New variables. * c-decl.c (finish_struct): Set specified size in DECL_SIZE. * expr.c (expand_expr, case COMPONENT_REF): Get field size from DECL_SIZE, not DECL_FIELD_SIZE. * print-tree.c (print_node): Remove code that prints extra blank lines in some cases. Properly handle inline and builtin function cases. * stor-layout.c (layout_decl): Get specified size from DEC_SIZE. * tree.h (built_in_class_named, built_in_names): New declarations. (union tree_decl): Rename internal unions to u1 and u2 and change some of their components. Add new field built_in_class. (DECL_ALIGN, DECL_INCOMING_RTL, DECL_SAVED_INSNS, DECL_FRAME_SIZE): Reflect above changes. (DECL_FUNCTION_CODE, DECL_BUILT_IN_CLASS): Likewise. (DECL_SET_FUNCTION_CODE, DECL_FIELD_SIZE): Deleted. * objc/objc-act.c (objc_copy_list): Use DECL_SIZE, not DECL_FIELD_SIZE. (encode_field_decl): Likewise; also remove obsolete test for bitfield. * ch/ch-tree.h (DECL_ACTION_NESTING_LEVEL): Use new tree union name. * ch/decl.c (finish_struct): Don't clear DECL_FIELD_SIZE. * ch/typeck.c (make_chill_struct_type): Likewise. (apply_decl_field_layout): General cleanup. Set DECL_SIZE instead of DECL_FIELD_SIZE. * cp/class.c (build_vtbl_or_vbase_field, check_methods): Don't clear DECL_FIELD_SIZE. (check_bitfield_decl, check_field_decls): Set DECL_SIZE, not DECL_FIELD_SIZE. * cp/rtti.c (expand_class_desc): Likewise. * cp/cp-tree.h (DECL_INIT_PRIORITY): Use underlying union name. (THUNK_VCALL_OFFSET): Likewise. (THUNK_DELTA): Reflect changes in ../tree.h. * java/java-tree.h (LABEL_PC): Relect name changes in ../tree.h. (DECL_BIT_INDEX): Use underlying representation. * java/parse.h (DECL_INHERITED_SOURCE_LINE): Likewise. From-SVN: r32249
2000-02-28regenJason Merrill2-510/+510
From-SVN: r32236
2000-02-26Fix copyrightsJeff Law2-2/+4
From-SVN: r32182
2000-02-24tree.h (TREE_SET_PERMANENT): New macro.Zack Weinberg1-7/+0
* tree.h (TREE_SET_PERMANENT): New macro. Document conditions under which TREE_PERMANENT will be set. * tree.c (make_node, copy_node, make_tree_vec, tree_cons, build1): Use TREE_SET_PERMANENT. * print-tree.c (print_node): Don't report value of TREE_PERMANENT if ggc_p is true. * c-common.c (c_get_alias_set): Don't use TREE_PERMANENT to decide whether to give a type a new alias set. * objc/objc-act.c (build_objc_string_object): Never copy the string. * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER irrespective of value of 'obstack'. * f/com.c (ffecom_type_permanent_copy_): Delete unused function. (finish_decl): Don't change TREE_PERMANENT (DECL_INITIAL (decl)). From-SVN: r32128
2000-02-16lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to default spec.Richard Henderson1-4/+6
* objc/lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to default spec. From-SVN: r32030
2000-01-30c-parse.in: Apply Ulrich's changes from c-parse.y.Zack Weinberg2-4/+4
* c-parse.in: Apply Ulrich's changes from c-parse.y. * c-parse.y, objc/objc-parse.y, c-parse.c, objc/objc-parse.c: Regenerate. From-SVN: r31698
2000-01-25c-common.c, [...]: Remove all references to obstack functions obsoleted by GC...Zack Weinberg3-807/+604
* c-common.c, c-decl.c, c-lang.c, c-lex.c, c-parse.in, c-pragma.c, c-typeck.c, objc/objc-act.c: Remove all references to obstack functions obsoleted by GC, such as push_obstacks_nochange, end_temporary_allocation, savealloc, saveable_tree_cons, etc. and code which existed only to decide whether or not to call them. Remove now-unused NESTED argument from start_function; all callers changed. Do not change behavior based on ggc_p. The use of the ixp_obstack in c-iterate.c and the util_obstack in objc/objc-act.c remain; these are not obsoleted by garbage collection. * c-tree.h: Update prototype for start_function. * c-parse.y, c-parse.c, objc/objc-parse.c, objc/objc-parse.y: Rebuild. From-SVN: r31611
2000-01-18c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST.Martin v. Löwis2-18/+21
* c-parse.in (SAVE_WARN_FLAGS): Create an INTEGER_CST. (RESTORE_WARN_FLAGS): Unpack it. Change semantic type of extension to ttype. * c-common.c (split_specs_attrs): Expect an INTEGER_CST. * c-parse.y, c-parse.c, objc/objc-parse.y, objc/objc-parse.c: Regenerate. From-SVN: r31478
2000-01-12c-common.c: PROTO -> PARAMS.Kaveh R. Ghazi4-165/+165
* c-common.c: PROTO -> PARAMS. * c-common.h: Likewise. * c-decl.c: Likewise. * c-iterate.c: Likewise. * c-lang.c: Likewise. * c-lex.c: Likewise. * c-lex.h: Likewise. * c-parse.in: Likewise. * c-pragma.c: Likewise. * c-pragma.h: Likewise. * c-tree.h: Likewise. * c-typeck.c: Likewise. * objc/objc-act.c: Likewise. * objc/objc-act.h: Likewise. From-SVN: r31362
1999-12-18objc-parse.c: Regenerate.Zack Weinberg1-111/+179
1999-12-18 10:42 -0800 Zack Weinberg <zack@wolery.cumb.org> * objc/objc-parse.c: Regenerate. This file must be rebuilt after any change to c-parse.in, even if objc-parse.y didn't change. Oops. From-SVN: r31014
1999-12-10c-parse.in (string): With -Wtraditional, warn if ANSI string concatenation ↵Kaveh R. Ghazi2-405/+407
is utilized. * c-parse.in (string): With -Wtraditional, warn if ANSI string concatenation is utilized. * invoke.texi (-Wtraditional): Document it. From-SVN: r30863
1999-10-26c-parse.in (cast_expr): Constify.Kaveh R. Ghazi2-2/+2
* c-parse.in (cast_expr): Constify. * cccp.c (special_symbol): Likewise. * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise. * dwarf2out.c (base_type_die): Likewise. * global.c (allocno_compare): Likewise. * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise. * regclass.c (fix_register): Likewise. * rtl.h (fix_register): Likewise. * stupid.c (stupid_reg_compare): Likewise. * toplev.c (decode_f_option): Likewise. * tree.c (build_complex_type): Likewise. From-SVN: r30196
1999-10-15c-parse.in (component_decl): Support anonymous struct/union.Alastair J. Houghton2-1272/+1294
* c-parse.in (component_decl): Support anonymous struct/union. (%expect): Update. * c-parse.y: Regenerate. * c-parse.c: Likewise. * objc/objc-parse.y: Likewise. * objc/objc-parse.c: Likewise. * c-decl.c (finish_struct): Don't sort the fields. (field_decl_cmp): Delete unused function. Co-Authored-By: Mumit Khan <khan@xraylith.wisc.edu> From-SVN: r30016
1999-09-24Allow to distinguish between three classes of builtin functionsBernd Schmidt1-4/+4
From-SVN: r29653
1999-09-22c-parse.in: save and restore warn_pointer_arith on __extension__ along with ↵Jim Kingdon2-518/+540
pedantic. * c-parse.in: save and restore warn_pointer_arith on __extension__ along with pedantic. (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added. Set the type of extension to itype rather than $<itype>1 kludge. * extend.texi (Alternate Keywords): Adjust documentation. * c-parse.c, c-parse.y, objc-parse.c, objc-parse.y: Rebuilt. From-SVN: r29588
1999-09-15Remove second arg from assign_parmsBernd Schmidt1-1/+1
From-SVN: r29431
1999-09-14* objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.Marc Espie1-1/+1
From-SVN: r29398
1999-09-07Commit parts that were missing in Mark's last commitBernd Schmidt2-509/+531
From-SVN: r29164
1999-09-06Merge in gcc2-ss-010999Jeff Law2-685/+614
From-SVN: r29150
1999-09-07c-aux-info.c (concat): Don't define.Kaveh R. Ghazi1-4/+2
* c-aux-info.c (concat): Don't define. * cccp.c (my_strerror): Likewise. All callers changed to use xstrerror instead. (do_include): Call xstrdup, not xmalloc/strcpy. (grow_outbuf): Don't check if xrealloc returns NULL, it can't. (xmalloc, xrealloc, xcalloc, xstrdup): Don't define. * collect2.c (my_strsignal): Likewise. All callers changed to use strsignal instead. (locatelib): Call xstrdup, not xmalloc/strcpy. * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc. * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy. * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc. * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy. * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero. * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/... * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not malloc/realloc. (find_all_handler_type_matches): Likewise. Don't check return value. (get_new_handler, init_insn_eh_region, process_nestinfo): Call xmalloc, not malloc. (init_eh_nesting_info): Likewise. Call xcalloc, not xmalloc/bzero. * gcc.c (xstrerror, xmalloc, xrealloc): Don't define. (init_spec): Call xcalloc, not xmalloc/bzero. (set_spec): Call xstrdup, not save_string. (record_temp_file): Call xstrdup, not xmalloc/strcpy. (find_a_file): Call xstrdup, not xmalloc/strcpy. (process_command): Call xstrdup, not save_string. (main): Call xcalloc, not xmalloc/bzero. * gcov.c (xmalloc): Don't define. (create_program_flow_graph): Call xcalloc, not xmalloc/bzero. (scan_for_source_files): Call xstrdup, not xmalloc/strcpy. (output_data): Call xcalloc, not xmalloc/bzero. * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero. * mips-tdump.c (xmalloc): Don't define. (print_symbol): Call xmalloc, not malloc. (read_tfile): Call xcalloc, not calloc. * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc): Don't define. All callers of xfree/my_strsignal changed to use free/strsignal instead. (allocate_cluster): Call xcalloc, not calloc. * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/... Fix memory leak, free allocated memory. * prefix.c (translate_name): Call xstrdup, not save_string. (update_path): Likewise. * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy. * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2): Don't define. Callers of xfree/savestring2 changed to use free/concat instead. * reload1.c (reload): Call xcalloc, not xmalloc/bzero. (init_elim_table): Likewise. * resource.c (init_resource_info): Likewise. * stupid.c (stupid_life_analysis): Likewise. * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define. (open_dump_file): Call concat, not xmalloc/strcpy/... (clean_dump_file): Likewise. (compile_file): Call xstrdup, not xmalloc/strcpy. From-SVN: r29148
1999-09-06Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.Bernd Schmidt1-1/+1
* Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o. (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o, $(out_object_file)): Depend on ggc.h. * c-common.c: Include "ggc.h". (combine_strings): If doing GC, use ggc_alloc_string. * c-decl.c: Include "ggc.h". (ggc_p): Define with value 0. (mark_binding_level): New function. (init_decl_processing): Add GC roots. (mark_c_function_context): New function. (lang_mark_false_label_stack): New function. (lang_mark_tree): New function. (lang_cleanup_tree): New function. * c-lang.c: Include "ggc.h". (lang_init): Call c_parse_init. * c-lex.c: Include "ggc.h". (check_linenum): If doing GC, don't copy filenames to permanent obstack. * c-parse.in: Include "ggc.h". (c_parse_init): New function. * c-tree.h (c_parse_init, mark_c_function_context): Declare. * objc/Make-lang.in (objc-parse.o): Depend on ggc.h. * except.c (mark_eh_state): Mark more state. * function.c (mark_function_state): Likewise. * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version. (ggc_alloc_string) [GGC_DUMP]: Fix typo. * toplev.c (mark_file_stack): New function. (compile_file): If doing GC, use ggc_alloc_string on input filename. (main): Add root for input_file_stack. * i386.c: Include "ggc.h". (ix86_mark_machine_status): New function. (override_options): Set mark_machine_status. From-SVN: r29143
1999-09-05c-decl.c (struct language_function): Renamed from struct c_function.Bernd Schmidt2-324/+336
* c-decl.c (struct language_function): Renamed from struct c_function. Delete elt NEXT. (c_function_chain): Delete. (push_c_function_context): New arg F. Don't warn about nested functions here. Fill LANGUAGE elt of F. Delete code to update c_function_chain. Don't call push_function_context. (pop_c_function_context): New arg F. Restore from there instead of from c_function_chain. Don't call pop_function_context. Clear out LANGUAGE field of F when done. * c-lang.c: Include "function.h" (lang_init): Initialize save_lang_status and restore_lang_status. * c-parse.in (nested_function, nested_function_notype): Warn about nested functions. Call push_function_context/pop_function_context instead of the _c_ variants. * c-tree.h (push_c_function_context, pop_c_function_context): Update prototype. * Makefile.in (c-lang.o): Update dependencies. * emit-rtl.c (init_emit): Use xmalloc to allocate regno_reg_rtx, regno_pointer_flag, regno_pointer_align. (gen_reg_rtx): Use xrealloc to enlarge them. (free_emit_status): New function. * function.c (mark_machine_status, mark_lang_status): New variables. (assign_stack_local_1): Renamed from assign_outer_stack_local. Merge in some bits from assign_stack_local. All callers changed to use new name. (assign_stack_local): Just call assign_stack_local_1. (free_after_compilation): New function. (put_reg_into_stack): Simplify to always call assign_stack_local_1. (trampoline_address): Likewise. (assign_parms): Use xcalloc/xrealloc to allocate parm_reg_stack_loc. (prepare_function_start): Explicitly clear some more variables. * function.h (struct function): New elt can_garbage_collect. (mark_machine_status, mark_lang_status): Declare variables. (free_after_compilation, free_emit_status, free_varasm_status, init_varasm_status): Declare functions. * toplev.c (rest_of_compilation): Call free_after_compilation when done with the current function. * varasm.c (free_varasm_status): New function. From-SVN: r29117
1999-09-03objc-act.c (objc_tree_code_type, [...]): Constify.Kaveh R. Ghazi1-83/+87
* objc/objc-act.c (objc_tree_code_type, objc_tree_code_length, objc_tree_code_name, synth_id_with_class_suffix, warn_with_method, error_with_ivar, gen_declarator, create_builtin_decl, my_build_string, generate_descriptor_table, generate_ivars_list, generate_dispatch_table, check_protocols, TAG_GETCLASS, TAG_GETMETACLASS, TAG_MSGSEND, TAG_MSGSENDSUPER, TAG_EXECCLASS, dump_base_name, lang_decode_option, build_encode_expr, start_class, finish_class, encode_pointer, really_start_method, gen_declaration, dump_interface, handle_class_ref, handle_impent): Constify. (objc_demangle, objc_printable_name, generate_struct_by_value_array): Add static prototypes. (build_objc_string_decl, build_selector_reference_decl, encode_bitfield, build_class_reference_decl): Remove unused parameter, all callers changed. (maybe_objc_method_name): Mark with ATTRIBUTE_UNUSED. (objc_printable_name): Likewise. Change second parameter to type int. (init_objc): Use memcpy, not bcopy, to avoid casts. From-SVN: r29077
1999-09-02c-parse.in (compstmt_primary_start): New, broken out of first part of ↵Richard Henderson2-1986/+2105
compstmt handling in primary. * c-parse.in (compstmt_primary_start): New, broken out of first part of compstmt handling in primary. (primary): Use it. Add an error clause. (compstmt_nostart): Renamed from compstmt; remove all initial invocations of compstmt_start. (compstmt): New. From-SVN: r29059
1999-08-31c-parse.in (language_string): Constify.Kaveh R. Ghazi2-2/+2
* c-parse.in (language_string): Constify. * dwarf2out.c (language_string): Remove declaration. * dwarfout.c (language_string): Likewise. * toplev.c (language_string, init_parse, finish_parse): Likewise. * tree.h (language_string, init_parse, finish_parse): Declare. * i386/sun386.h (language_string): Remove declaration. * mips.h (language_string): Likewise. * nextstep.h (language_string): Likewise. * nextstep21.h (language_string): Likewise. * rs6000.c (language_string): Likewise. In ch: * parse.c (language_string): Constify. In cp: * parse.y (language_string): Constify. In f: * com.c (language_string): Constify. In java: * lang.c (language_string): Constify. From-SVN: r29000
1999-08-29tree.c (tree_code_name): Constify a char*.Kaveh R. Ghazi1-4/+1
* tree.c (tree_code_name): Constify a char*. * tree.h (tree_code_name, decl_printable_name): Likewise. * function.h (struct function): Likewise. * toplev.c (decl_name, decl_printable_name): Likewise. * vax/vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Likewise. * objc/objc-act.c (decl_printable_name): Remove redundant prototype. (init_objc): Remove function pointer cast. From-SVN: r28966
1999-08-09tree.h (lang_identify): Constify a char*.Kaveh R. Ghazi1-1/+1
* tree.h (lang_identify): Constify a char*. (print_error_function): Add extern prototype. Constify a char*. * c-lang.c (lang_identify): Constify a char*. * objc/objc-act.c (lang_identify): Constify a char*. From-SVN: r28631
1999-08-04regenJason Merrill1-1742/+1690
From-SVN: r28509
1999-08-04* c-parse.in: Add END_OF_LINE token.Jason Merrill1-0/+3
From-SVN: r28508
1999-07-25Rebuild.Richard Henderson2-2168/+2260
From-SVN: r28244
1999-07-20c-common.h: New file.Bernd Schmidt2-10/+12
* c-common.h: New file. * c-common.c (permanent_obstack): Delete unused declaration. (c_global_trees): New array. (c_common_nodes_and_builtins): New function; split off common code from init_decl_processing in both c-decl.c and cp/decl.c. * c-tree.h: Delete lots of declarations of tree nodes; replaced by c_global_trees and accessor macros defined in c-common.h. Include c-common.h. * c-decl.c: Delete definitions for tree nodes that were replaced by c_global_trees. (init_decl_processing): Build void_list_node. Call c_common_nodes_and_builtins; delete code to generate the common builtins here. * objc/objc-act.c (build_module_descriptor): Rename variable void_list_node to avoid clash with c-common.h. * cp/cp-tree.h: Delete lots of declarations of tree nodes; replaced by c_global_trees and accessor macros defined in c-common.h. (cp_tree_index): New enumeration. (cp_global_trees): Declare new array. Add accessor macros for it, and delete declarations of tree nodes replaced by it. (builtin_function): Delete macro, add declaration for new function. Include c-common.h. * cp/decl.c: Delete definitions for tree nodes that were replaced by cp_global_trees and c_global_trees. (init_decl_processing): Call c_common_nodes_and_builtins; delete code to generate the common builtins here. (builtin_function): New function. * cp/decl2.c (abort_fndecl): Delete declaration. * cp/except.c (expand_builtin_return_address): Delete declaration. (builtin_return_address_fndecl): Delete variable. (const_ptr_type_node): Delete declaration. * cp/lex.c (cons_up_default_function): Delete declaration of void_list_node. * cp/parse.y (void_list_node): Delete declaration. * cp/rtti.c (type_info_type_node, tinfo_fn_id, tinfo_fn_type): Delete variables. (const_string_type_node): Delete declaration. * cp/search.c (abort_fndecl): Delete declaration. * Makefile.in: Update dependencies. * objc/Make-lang.in: Likewise. * cp/Makefile.in: Likewise. From-SVN: r28188
1999-05-17cppspec.c: Insert -no-gcc into command line unless -gcc was given by user.Zack Weinberg1-3/+3
* cppspec.c: Insert -no-gcc into command line unless -gcc was given by user. * gcc.c (default_compilers): Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc was not given. * objc/lang-specs.h: Likewise. * cpp.texi: Document -x and -std options; explain that -lang is no longer supported. Minor related corrections. From-SVN: r26990
1999-05-10cppspec.c: Treat two non-option arguments as input and output file.Zack Weinberg1-2/+2
1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * cppspec.c: Treat two non-option arguments as input and output file. Three or more non-option args is an error. Clean up. * gcc.c (default_compilers): Pass -$ to the preprocessor. * objc/lang-specs.h: Likewise. From-SVN: r26872
1999-05-05gcc.c (default_compilers): Fix brace nesting bug.Zack Weinberg1-1/+1
1999-05-05 09:58 -0400 Zack Weinberg <zack@rabi.columbia.edu> * gcc.c (default_compilers): Fix brace nesting bug. * objc/lang-specs.h: Use %i, not %g.mi, for the input file when processing an .mi file. From-SVN: r26775
1999-04-26c-parse.in (absdcl1): Allow attributes in explicit typespecs.Mumit Khan2-1389/+1412
* c-parse.in (absdcl1): Allow attributes in explicit typespecs. (%expect): Update. * c-parse.y: Regenerate. * c-parse.c: Likewise. * objc/objc-parse.c: Likewise. * objc/objc-parse.y: Likewise. Co-Authored-By: Donn Terry <donn@interix.com> From-SVN: r26663
1999-04-26Update.Richard Henderson2-427/+447
From-SVN: r26649
1999-04-20Make-lang.in (objc-parse.c): Put BISON parameters in correct order.Nathan Sidwell1-1/+1
* objc/Make-lang.in (objc-parse.c): Put BISON parameters in correct order. From-SVN: r26569
1999-04-14graph.c (node_data): Return void.Zack Weinberg1-2/+19
1999-04-14 23:26 -0400 Zack Weinberg <zack@rabi.columbia.edu> * graph.c (node_data): Return void. Ignore result of print_rtl_single. Change caller to match. * integrate.c (subst_constants): Initialize op0_mode to an invalid mode, and abort before use if it's still invalid. (Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.) * objc/objc-act.c (get_objc_string_decl, build_selector_translation_table, generate_protocol_list, synth_id_with_class_suffix, build_keyword_selector, build_selector_expr, gen_declarator): Abort when the tree structure is corrupted. From-SVN: r26463
1999-04-06cppinit.c (install_predefs): Delete function.Zack Weinberg1-3/+3
1999-04-06 12:51 -0400 Zack Weinberg <zack@rabi.columbia.edu> * cppinit.c (install_predefs): Delete function. (cpp_start_read): Don't call install_predefs. (cpp_handle_option): Remove case 'u' and all refs to opts->inhibit_predefs. (print_help): Don't mention -undef. (initialize_builtins): Define __HAVE_BUILTIN_SETJMP__, to match cccp. * cpplib.h (struct cpp_options): Remove inhibit_predefs member. * cccp.c (predefs): Delete variable. (main): Remove case 'u' in argument parse loop, 'inhibit_predefs' variable, and the code block that would process CPP_PREDEFINES. (initialize_builtins): Don't define __OBJC__, the driver will do that. * gcc.c (default_compilers): Remove -undef from all specs that invoke a C preprocessor. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. From-SVN: r26212
1999-03-18Makefile.in (INTL_TARGETS): new macroAlexandre Oliva1-0/+1
* Makefile.in (INTL_TARGETS): new macro ($(INTL_TARGETS)): depend on generated sources; drop dependencies on cp/parse.c and objc/objc-parse.c ($(srcdir)/cp/parse.c): move to cp/Make-lang.in * objc/Make-lang.in ($(INTL_TARGETS)): depend on objc/objc-parse.c From-SVN: r25851
1999-02-25gcc.c (default_compilers): Define __FAST_MATH__ when appropriate.Richard Henderson1-0/+3
* gcc.c (default_compilers): Define __FAST_MATH__ when appropriate. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. From-SVN: r25445
1999-02-22Reverted to the old behavior of encoding the types.Ovidiu Predescu1-40/+42
From-SVN: r25368
1999-02-18bitmap.c (bitmap_print): Qualify a char* with the `const' keyword.Kaveh R. Ghazi1-1/+1
* bitmap.c (bitmap_print): Qualify a char* with the `const' keyword. * bitmap.h (bitmap_print): Likewise. * c-decl.c (builtin_function, grokdeclarator, grokfield): Likewise. * c-lang.c (build_objc_string): Likewise. * c-lex.c (yyerror, extend_token_buffer): Likewise. Don't include limits.h or ctype.h. Remove unused variable `p'. * c-lex.h (yyerror): Qualify a char* with the `const' keyword. * c-pragma.c (handle_pragma_token): Likewise. * c-pragma.h (handle_pragma_token): Likewise. * c-tree.h (build_objc_string, builtin_function, grokfield, build_indirect_ref, lvalue_or_else, readonly_warning, error_init, pedwarn_init): Likewise. * c-typeck.c (convert_for_assignment, warn_for_assignment, push_string, warning_init, incomplete_type_error, build_indirect_ref, lvalue_or_else, readonly_warning, build_c_cast, spelling, push_member_name, print_spelling, error_init, pedwarn_init, start_init): Likewise. * objc/objc-act.c (build_objc_string): Likewise. * print-tree.c (print_node_brief, print_node): Likewise. * tree.h (lvalue_or_else, print_node, print_node_brief): Likewise. From-SVN: r25296
1999-02-16Applied Richard Frith-Macdonald's patch to objc/objc-act.c for encoding the ↵Ovidiu Predescu1-42/+40
type. From-SVN: r25249
1999-01-31flags.h: Declare flag_no_ident.Zack Weinberg1-4/+4
/ 1999-01-31 17:52 -0500 Zack Weinberg <zack@midnite.ec.rhno.columbia.edu> * flags.h: Declare flag_no_ident. * toplev.c: Define flag_no_ident. Process -f(no-)ident here. * c-decl.c: Don't define flag_no_ident. Don't process -f(no-)ident switches here. * ch/decl.c: Likewise. * cp/decl2.c: Likewise. * c-tree.h: Don't declare flag_no_ident. * ch/ch-tree.h: Likewise. * cp/cp-tree.h: Likewise. * config/elfos.h (ASM_FILE_END): Output final .ident directive only if !flag_no_ident. * config/ptx4.h: Likewise. * config/svr4.h: Likewise. * config/alpha/elf.h: Likewise. * config/arm/linux-elf.h: Likewise. * config/i386/sco5.h: Likewise. * config/i860/fx2800.h: Likewise. * config/mips/gnu.h: Likewise. * config/i386/osfrose.h: Likewise. * gcc.c (C specs): Map -Qn to -fno-ident. * ch/lang-specs.h: Likewise. * cp/lang-specs.h: Likewise. * f/lang-specs.h: Likewise. * objc/lang-specs.h: Likewise. * java/lang-specs.h: Likewise. From-SVN: r24947
1999-01-26Merge in gcc2 snapshot 19980929. See gcc/ChangeLog and gcc/FSFChangeLog forJeffrey A Law1-5/+4
details. From-SVN: r24879
1999-01-11Update FSF address in copyright header.Jeff Law1-1/+2
From-SVN: r24614