aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2000-02-28* Eliminate DECL_FIELD_SIZE.Richard Kenner19-153/+218
* 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-29Apply Dimitri Makarov's patch to import attribute short_call and #pragmaDmitri Makarov10-108/+405
long_calls, no_long_calls. From-SVN: r32248
2000-02-29oops - switch SIZE_TYPE to "long unsigned int" since "unsigned long" is notNick Clifton1-1/+1
permissable. From-SVN: r32245
2000-02-28* sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.J"orn Rennecke2-0/+6
From-SVN: r32244
2000-02-28* xcoffout.c (xcoffout_begin_function): Fix typo in previous change.Mark Mitchell2-1/+5
From-SVN: r32243
2000-02-28Comment typo fix.Joern Rennecke1-1/+1
From-SVN: r32242
2000-02-28tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.Zack Weinberg4-7/+27
* tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE. * cppinit.c (builtin_array): Define __WCHAR_TYPE__ only if NO_BUILTIN_WCHAR_TYPE is not defined. (CPP_WCHAR_TYPE): Delete. * cccp.c (main): Don't change wchar_type if cplusplus. (special_symbol, initialize_builtins): Honor NO_BUILTIN_WCHAR_TYPE. From-SVN: r32241
2000-02-28Set SIZE_TYPE to unsigend longNick Clifton2-0/+70
From-SVN: r32240
2000-02-28som.h (MAKE_DECL_ONE_ONLY): Define.Catherine Moore2-0/+13
* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define. (ASM_WEAKEN_LABEL): Define. From-SVN: r32239
2000-02-28search.c (protected_accessible_p): Also allow the access if the member is ↵Jason Merrill2-35/+37
public in DERIVED. * search.c (protected_accessible_p): Also allow the access if the member is public in DERIVED. Lose TYPE parm. (friend_accessible_p): Lose TYPE parm. (accessible_p): Adjust. From-SVN: r32238
2000-02-28regenJason Merrill5-1801/+1869
From-SVN: r32236
2000-02-28function.c (number_blocks): Reset next_block_index based on what debugging ↵Richard Kenner2-1/+5
format is used, not what is defined. * function.c (number_blocks): Reset next_block_index based on what debugging format is used, not what is defined. From-SVN: r32235
2000-02-28lcm.c: Minor reformatting throughout.Richard Kenner2-159/+154
* lcm.c: Minor reformatting throughout. (reg_dies, reg_becomes_live): Properly handle multiple hard regs. From-SVN: r32234
2000-02-28expr.c (store_constructor): Do not emit USE.Jan Hubicka3-12/+6
* expr.c (store_constructor): Do not emit USE. * rtl.h (stupid_life_analysis): Remove. From-SVN: r32233
2000-02-28toplev.c (rest_of_compilation): Account for time in optimize_mode_switching.Richard Kenner2-6/+9
* toplev.c (rest_of_compilation): Account for time in optimize_mode_switching. From-SVN: r32232
2000-02-28jump.c (jump_optimize_1): Don't call delete_barrier_successors if only ↵Richard Kenner2-1/+9
marking labels. * jump.c (jump_optimize_1): Don't call delete_barrier_successors if only marking labels. From-SVN: r32231
2000-02-28calls.c (expand_call): Attempt to combine stack adjustments with pending ↵Jan Hubicka2-2/+21
stack adjustments. Thu Feb 24 17:17:29 MET 2000 Jan Hubicka <jh@suse.cz> * calls.c (expand_call): Attempt to combine stack adjustments with pending stack adjustments. From-SVN: r32230
2000-02-28Fix for SH gcc.c-torture/compile/991229-3.c failure:J"orn Rennecke2-2/+11
* loop.c (reg_in_basic_block_p): Don't abort when falling through to the end of the function. From-SVN: r32229
2000-02-28emit-rtl.c (remove_unncessary_notes): Remove notes for empty blocks.Mark Mitchell13-159/+229
* emit-rtl.c (remove_unncessary_notes): Remove notes for empty blocks. * final.c (next_block_index): Remove. (max_block_depth): Likewise. (pending_blocks): Likewise. (init_final): Don't initialize them. (final_start_function): Don't set next_block_index. Set up BLOCK_NUMBER. (final_scan_insn): Use BLOCK_NUMBER, not next_block_index. * function.h (number_blocks): New function. * function.c (get_block_vector): New function. (identify_blocks): Use it. (reorder_blocks): Set NOTE_BLOCK. (number_blocks): New function. * tree.def (BLOCK): Add documentation for TREE_ASM_WRITTEN flag. * tree.h (BLOCK_NUMBER): New macro. (tree_block): Add block_num field. * dbxout.c (next_block_number): Remove. (dbxout_init): Don't set it. (dbxout_block): Only output blocks that have TREE_ASM_WRITTEN set. Use BLOCK_NUMBER, rather than next_block_num, to determine block numbers. * toplev.c (rest_of_compilation): Always call find_loop_tree_blocks. Fix indentation. * dwarf2out.c (next_block_number): Remove. (gen_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, to determine block numbers. (gen_inlined_subroutine_die): Likewise. (gen_block_die): Only output blocks that have TREE_ASM_WRITTEN set. (decls_for_scope): Don't increment next_block_number. * dwarfout.c (next_block_number): Remove. (output_lexical_block_die): Use BLOCK_NUMBER, not next_block_number, to determine block numbers. (output_inlined_subroutine_die): Likewise. (output_block): Only output blocks that have TREE_ASM_WRITTEN set. (output_decls_for_scope): Don't increment next_block_number. * sdbout.c (next_block_number): Remove. (sdbout_block): Use BLOCK_NUMBER. (sdbout_begin_block): Simplify. * xcoffout.c (next_block_number): Remove. (xcoffout_block): Use BLOCK_NUMBER, not next_block_number. (xcoffout_begin_block): Don't set next_block_number. (xcoffout_begin_function): Likewise. Use BLOCK_NUMBER, not next_block_number. From-SVN: r32228
2000-02-28Daily bump.Jeff Law2-2/+2
From-SVN: r32227
2000-02-27builtins.c (c_strlen): Use size_diffop and return ssizetype value.Richard Kenner38-638/+885
* builtins.c (c_strlen): Use size_diffop and return ssizetype value. (expand_builtin_strcpy): Pass correct type to size_binop. (expand_builtin_strcmp): Likewise. Clean up conditional structure. * c-decl.c (init_decl_processing): Don't call set_sizetype twice. (complete_array_type): Don't use size_binop for MAXINDEX. * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT. (c_sizeof_nowarn, c_size_in_bytes): Likewise. (c_alignof): Use size_one_node. (build_unary_op): Pass arg of proper type to size_binop. (really_start_incremental_init, push_init_level): Use sizetype for constructor{,_bit,_unfilled}_index. (pop_init_label, output_init_element): Likewise. (output_pending_init_elements, process_init_element): Likewise. * calls.c (compute_argument_block_size): Field VAR is ssizetype. * expr.c (store_expr): Use size_int. (store_constructor): Use proper types for size_binop args. (get_inner_reference, expand_expr, case ARRAY_REF): Likewise. (expand_expr_unaligned): Likewise. (string_contant): Return object of sizetype. * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types. (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE. (ARGS_SIZE_TREE): Pass proper types to size_binop. * fold-const.c (int_const_binop): Refine when size_int is called. (fold_convert): Likewise. (size_int_wide): Rework to take KIND as arg, only take low order bits, handle new sizetype_tab datatype, and chain entries in size_table. (size_int_type_wide): New function. (size_binop): Validate types of arguments. (ssize_binop): Deleted. (size_diffop): New function. (extract_muldiv): Only fold division into multiplication for sizetypes. * function.c (assign_parms): Use size_diffop and make sure VAR field is of ssizetype; also pass proper type to size_binop. (locate_and_pad_parm, pad_to_arg_alignment): Likewise. (round_down): Deleted from here. * store-layout.c (sizetype_tab): Now an array. (sizetype_set, early_root_list): New variables. (variable_size): Use size_one_node. (round_up): Pass proper type to size_binop. (round_down): Moved to here and corrected as above. (layout_record): Pass proper arg types to size_binop. (layout_type): Likewise. If sizetype_set is zero, record the type just laid out. (make_unsigned_type): Don't call set_sizetype; (make_signed_type): Likewise; also, call fixup_signed_type. (initialize_sizetypes): New function. (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and set name of bitsizetype to "bit_size_type". Fix up type of sizes of all types made before call. * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro. * tree.c (fix_sizetype): Deleted. (build_common_tree_nodes): Call initialize_sizetypes. (build_common_tree_nodes_2): Don't call fix_sizetype. * tree.h (TYPE_IS_SIZETYPE): New macro. (initialize_sizetype): New declaration. (enum size_type_kind): New type. (struct sizetype_tab): Deleted. (sizetype_tab): Now array; adjust sizetype macros. (size_diffop, size_int_type_wide): New functions. (size_int_wide): Change number of args and type; access macros changed. (ssize_int, sbitsize_int): New macros. * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int. (ROUND_TYPE_SIZE_UNIT): New macro. * ch/actions.c (chill_convert_for_assignment): Don't use size_binop for things that aren't sizes. (expand_varying_length_assignment): Likewise. * ch/convert.c (digest_array_tuple, convert): Likewise. * ch/typeck.c (build_chill_slice, smash_dummy_type): Likewise. (build_chill_slice_with_range): Likewise. (build_chill_slice_with_length): Likewise. (build_array_from_set): Adjust types for size_binop. * ch/expr.c (build_concat_expr, build_chill_repetition_op): Likewise. (build_chill_sizeof): Use TYPE_SIZE_UNIT. * ch/tree.c (build_string_type): Pass proper type to size_binop. * cp/class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop on things that are not sizes; ssize_binop deleted. Call size_diffop when appropriate. (dfs_build_vcall_offset_vtbl_entries): Likewise. (build_primary_vtable, build_secondary_vtable): Likewise. (dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise. Variable I is HOST_WIDE_INT. (get_vfield_offset): Pass proper types to size_binop. (size_extra_vtbl_entries, layout_virtual_bases): Likewise. (finish_struct_1): Likewise. (skip_rtti_stuff): Arg N is now pointer to signed. (layout_class_type): Use size_zero_node. * cp/cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed. * cp/cvt.c (cp_convert_to_pointer): Pass proper types to size_binop. * cp/decl.c (complete_arry_type): Pass proper types to size_binop. (xref_basetypes): BINFO_OFFSET is sizetype. * cp/error.c (dump_expr): Don't use size_binop non-sizes. * cp/expr.c (cplus_expand_constant): Pass proper types to size_binop. * cp/init.c (construct_virtual_bases): Fix type error. (build_vec_delete_1): Pass proper type to size_binop and don't fold result. * cp/lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype. * cp/rtti.c (get_base_offset): Pass proper type to size_binop. * cp/search.c (dfs_find_vbases): Fix type error. (expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed. (dfs_get_vbase_types): BINFO_OFFSET is sizetype. * cp/tree.c (debug_binfo): Variable N is signed. Use HOST_WIDE_INT_PRINT_DEC. * cp/typeck.c (comptypes): sizetype is same as equivalent integer type. (c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT, size_one_node and size_zero_node. (c_alignof): Use size_one_node. (build_component_addr): Pass proper types to size_binop. (expand_ptrmemfunc_cst): Don't use size_binop on non-sizes. * f/com.c (ffecom_arrayref_): Convert args to size_binop to proper type. (ffecom_tree_canonize_ptr_): Don't use size_binop for non-sizes. (ffecom_tree_canonize_ref_): Likewise. (type_for_mode): Handle TImode. * f/ste.c (ffeste_io_dofio_, ffeste_io_douio_): Use TYPE_SIZE_UNIT. (ffeste_io_ciclist_): Likewise. * java/expr.c (build_java_ret): Pass proper type to size_binop. From-SVN: r32225
2000-02-27p11116.CMark Mitchell1-0/+7
From-SVN: r32224
2000-02-27updateJason Merrill1-1/+6
From-SVN: r32223
2000-02-27* c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.Zack Weinberg2-1/+5
From-SVN: r32222
2000-02-27Test for proper handling of 8-bit characters in strings.Zack Weinberg1-0/+15
Reported by Per Hedbor <per@idonex.se>. From-SVN: r32221
2000-02-27gcov-io.h (__fetch_long, [...]): Mark as possibly unused.Richard Kenner2-4/+7
* gcov-io.h (__fetch_long, __store_long, __read_long, __write_long): Mark as possibly unused. From-SVN: r32220
2000-02-27cse.c (cse_insn): Delete dead code involving tablejump.Richard Kenner2-12/+5
* cse.c (cse_insn): Delete dead code involving tablejump. Pass CODE_LABEL, not LABEL_REF to gen_jump and reset INSN_CODE. From-SVN: r32219
2000-02-27* Makefile.in (libcpp.a): Start by deleting it.Richard Kenner2-2/+7
From-SVN: r32218
2000-02-27Daily bump.Jeff Law2-2/+2
From-SVN: r32216
2000-02-27cpplib.h (enum file_change_code): Added rename_file.Alexandre Oliva3-2/+10
* cpplib.h (enum file_change_code): Added rename_file. * cpplib.c (do_line): If a filename is given, set file_change to rename_file. (output_line_command): If file_change is rename_file, always output a # directive with the file name. From-SVN: r32215
2000-02-27updateJason Merrill2-3/+3
From-SVN: r32214
2000-02-27updateJason Merrill10-16/+64
From-SVN: r32213
2000-02-27Implement class scope using-declarations for functions.Jason Merrill8-201/+205
* class.c (handle_using_decl): Call add_method for used functions. Use IDENTIFIER_CLASS_VALUE to check for conflicts. (add_method): Used functions are hidden by local functions. (check_bases_and_members): Handle using-decls before finalizing CLASSTYPE_METHOD_VEC. * call.c (add_function_candidate): Add ctype parm; if non-zero, override the type of 'this' accordingly. (add_template_candidate, add_template_candidate_real): Add ctype parm. (convert_class_to_reference, build_user_type_conversion_1, build_new_function_call, build_object_call, build_new_op, build_new_method_call): Pass ctype parm. * search.c (lookup_member): Put rval_binfo, not basetype_path, in the baselink. * call.c (convert_class_to_reference, build_user_type_conversion_1, build_new_function_call, build_object_call, build_new_op, build_new_method_call, build_op_delete_call): Don't get basetype_path from a baselink. * typeck.c (build_component_ref): Likewise. * init.c (build_offset_ref): Likewise. (resolve_offset_ref): Don't call enforce_access. Call build_scoped_ref. * typeck2.c (build_scoped_ref): Simplify. Do nothing if it would cause an error or if -pedantic. * class.c (alter_access): Lose binfo parm. From-SVN: r32212
2000-02-27* cpplib.c (do_pragma): Accept #pragma without consecutive token.Alexandre Oliva2-2/+14
From-SVN: r32211
2000-02-27semantics.c (simplify_aggr_init_exprs_p): Don't walk into types.Mark Mitchell3-2/+44
* semantics.c (simplify_aggr_init_exprs_p): Don't walk into types. From-SVN: r32210
2000-02-27rtti.c (get_vmi_pseudo_type_info): Move __vmi_class_type_info ↵Alfred Minarik2-0/+12
pseudo_type_info creation into the std namespace * rtti.c (get_vmi_pseudo_type_info): Move __vmi_class_type_info pseudo_type_info creation into the std namespace From-SVN: r32209
2000-02-27cp-tree.h (DECL_NEEDED_P): Tweak to correct usage before EOF.Mark Mitchell7-7/+53
* cp-tree.h (DECL_NEEDED_P): Tweak to correct usage before EOF. (import_export_class): Remove declaration. * decl2.c (import_export_class): Make it static. * dump.c (dequeue_and_dump): Handle PREDECREMENT_EXPR, PREINCREMENT_EXPR, POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, EXPR_WITH_FILE_LOCATION. * lex.c (check_newline): Tweak filename/lineno setting. * semantics.c (begin_while_stmt): Fix typo in comment. From-SVN: r32208
2000-02-27integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE when copying ↵Mark Mitchell2-3/+11
a PARM_DECL or RESULT_DECL. * integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE when copying a PARM_DECL or RESULT_DECL. From-SVN: r32207
2000-02-27fix-header.c (recognized_function): Also fix prototypes for functions taking ↵Kaveh R. Ghazi2-1/+6
"void". * fix-header.c (recognized_function): Also fix prototypes for functions taking "void". From-SVN: r32206
2000-02-26* lang-options.h (-fmessage-length=): Add missing option.Richard Kenner2-1/+5
From-SVN: r32205
2000-02-26* Make-lang.in (CXX_SRCS): Add .h files and sort list.Richard Kenner2-12/+17
From-SVN: r32204
2000-02-26Restore missing dataRichard Kenner1-1/+5054
From-SVN: r32203
2000-02-26attrib5.C: XFAIL on Alpha since no link alias.Richard Kenner3-1/+7
* g++.old-deja/g++.ext/attrib5.C: XFAIL on Alpha since no link alias. * g++.old-deja/g++.pt/static3.C: Generalize system name for Alpha. From-SVN: r32202
2000-02-27reload1.c (do_output_reload): Check reg_reloaded_valid before looking at ↵Geoff Keating2-1/+7
reg_reloaded_contents. * reload1.c (do_output_reload): Check reg_reloaded_valid before looking at reg_reloaded_contents. From-SVN: r32201
2000-02-27Makefile.in (STMP_FIXINC): New toggle.Zack Weinberg17-269/+143
* Makefile.in (STMP_FIXINC): New toggle. (LIBGCC2_DEPS): Delete all references. (stmp-headers): Delete target. All references either deleted or changed to stmp-int-headers. (all.cross): Don't depend on stmp-headers or STMP_FIXPROTO. (LIBCPP_OBJS): Take out cppalloc.o. (cppalloc.o): Delete target. (stmp-int-hdrs): Depend on $(STMP_FIXINC). (gen-protos, fix-header): Link with libiberty.a. * build-make: Don't change FIXINCLUDES. Override STMP_FIXINC to empty. * cp/Make-lang.in: Delete refs to LIBGCC2_DEPS. * configure.in: Remove refs to strerror. * acconfig.h: Take out NEED_DECLARATION_STRERROR. * system.h: Take out strerror stanza. * cpperror.c (my_strerror): Delete function. (cpp_error_from_errno, cpp_notice_from_errno): Use xstrerror. * cppmain.c (main): Call xmalloc_set_program_name first thing. * cppalloc.c: Delete file. * gen-protos.c: Don't provide xrealloc. * fixinc/fixincl.c, fixinc/fixlib.c, fixinc/procopen.c: Use xstrerror throughout. From-SVN: r32200
2000-02-26the undefine_null bypass pattern needs to match for DOS headersBruce Korb4-9/+15
From-SVN: r32199
2000-02-26Fix copyrights.Jeff Law57-58/+107
From-SVN: r32198
2000-02-26fix copyrightsJeff Law5-5/+10
From-SVN: r32197
2000-02-26Fix copyrights.Jeff Law3-3/+6
From-SVN: r32195
2000-02-26Fix copyrightsJeff Law3-4/+6
From-SVN: r32194