Commit Graph

26715 Commits

Author SHA1 Message Date
Dmitri Makarov c27ba9120a Apply Dimitri Makarov's patch to import attribute short_call and #pragma
long_calls, no_long_calls.

From-SVN: r32248
2000-02-29 01:42:52 +00:00
Nick Clifton 8aacf01600 oops - switch SIZE_TYPE to "long unsigned int" since "unsigned long" is not
permissable.

From-SVN: r32245
2000-02-29 00:34:46 +00:00
J"orn Rennecke 86f49b0265 * sh.h (DWARF_LINE_MIN_INSTR_LENGTH): Define.
From-SVN: r32244
2000-02-28 22:15:23 +00:00
Mark Mitchell 26a13c2bb8 * xcoffout.c (xcoffout_begin_function): Fix typo in previous change.
From-SVN: r32243
2000-02-28 21:46:44 +00:00
Joern Rennecke 475f26dde6 Comment typo fix.
From-SVN: r32242
2000-02-28 21:42:55 +00:00
Zack Weinberg 0209c3409d tm.texi: Document new target switch, NO_BUILTIN_WCHAR_TYPE.
* 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-28 21:09:54 +00:00
Nick Clifton 7cb4ce1205 Set SIZE_TYPE to unsigend long
From-SVN: r32240
2000-02-28 20:29:46 +00:00
Catherine Moore 90b3726613 som.h (MAKE_DECL_ONE_ONLY): Define.
* config/pa/som.h (MAKE_DECL_ONE_ONLY): Define.
        (ASM_WEAKEN_LABEL): Define.

From-SVN: r32239
2000-02-28 15:27:43 -05:00
Jason Merrill d7cca31ee7 search.c (protected_accessible_p): Also allow the access if the member is 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-28 11:55:40 -05:00
Jason Eckhardt 0ca5aade14 Obvious, micro-change: "Vladimir Markarov" -> "Vladimir Makarov".
From-SVN: r32237
2000-02-28 15:09:59 +00:00
Jason Merrill b6a6823ed0 regen
From-SVN: r32236
2000-02-28 09:46:46 -05:00
Richard Kenner b0e3a65853 function.c (number_blocks): Reset next_block_index based on what debugging 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-28 07:41:36 -05:00
Richard Kenner f4e72d6e00 lcm.c: Minor reformatting throughout.
* lcm.c: Minor reformatting throughout.
	(reg_dies, reg_becomes_live): Properly handle multiple hard regs.

From-SVN: r32234
2000-02-28 07:21:24 -05:00
Jan Hubicka 98c3b85006 expr.c (store_constructor): Do not emit USE.
* expr.c (store_constructor): Do not emit USE.
	* rtl.h (stupid_life_analysis): Remove.

From-SVN: r32233
2000-02-28 12:08:41 +00:00
Richard Kenner 9772621610 toplev.c (rest_of_compilation): Account for time in optimize_mode_switching.
* toplev.c (rest_of_compilation): Account for time in
	optimize_mode_switching.

From-SVN: r32232
2000-02-28 07:06:00 -05:00
Richard Kenner e4884e958b jump.c (jump_optimize_1): Don't call delete_barrier_successors if only marking labels.
* jump.c (jump_optimize_1): Don't call delete_barrier_successors
	if only marking labels.

From-SVN: r32231
2000-02-28 07:01:08 -05:00
Jan Hubicka 4e217aed3d calls.c (expand_call): Attempt to combine stack adjustments with pending 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-28 11:55:43 +00:00
J"orn Rennecke 035a6890e9 Fix for SH gcc.c-torture/compile/991229-3.c failure:
* loop.c (reg_in_basic_block_p): Don't abort when falling through
	to the end of the function.

From-SVN: r32229
2000-02-28 11:38:10 +00:00
Mark Mitchell 18c038b9ca emit-rtl.c (remove_unncessary_notes): Remove notes for empty blocks.
* 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-28 09:51:42 +00:00
Jeff Law 8181bf427b Daily bump.
From-SVN: r32227
2000-02-28 01:45:06 -07:00
Tom Tromey a51c1a1a0a noclass.c: New file.
* libjava.jni/noclass.c: New file.
	* libjava.jni/noclass.out: New file.
	* libjava.jni/noclass.java: New file.

From-SVN: r32226
2000-02-27 21:42:40 +00:00
Richard Kenner fed3cef0db builtins.c (c_strlen): Use size_diffop and return ssizetype value.
* 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-27 16:39:40 -05:00
Mark Mitchell 43931371e2 p11116.C
From-SVN: r32224
2000-02-27 21:30:14 +00:00
Jason Merrill 9fe94fd397 update
From-SVN: r32223
2000-02-27 16:19:35 -05:00
Zack Weinberg 69f217566d * c-lex.c (putback_buffer): Make 'buffer' an unsigned char *.
From-SVN: r32222
2000-02-27 20:59:54 +00:00
Zack Weinberg 6b27a7c45b Test for proper handling of 8-bit characters in strings.
Reported by Per Hedbor <per@idonex.se>.

From-SVN: r32221
2000-02-27 17:17:01 +00:00
Richard Kenner 6e38f244c4 gcov-io.h (__fetch_long, [...]): Mark as possibly unused.
* gcov-io.h (__fetch_long, __store_long, __read_long, __write_long):
	Mark as possibly unused.

From-SVN: r32220
2000-02-27 09:24:13 -05:00
Richard Kenner 4e37e57d14 cse.c (cse_insn): Delete dead code involving tablejump.
* 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 09:06:15 -05:00
Richard Kenner b8d12d7997 * Makefile.in (libcpp.a): Start by deleting it.
From-SVN: r32218
2000-02-27 07:37:56 -05:00
Bryce McKinlay 91da35dbf2 File.java (File(String, String)): For dirPath, treat an empty String the same as `null'.
2000-02-27  Bryce McKinlay  <bryce@albatross.co.nz>

       * java/io/File.java (File(String, String)): For dirPath, treat an
       empty String the same as `null'.

From-SVN: r32217
2000-02-27 10:43:47 +00:00
Jeff Law 5d112ff366 Daily bump.
From-SVN: r32216
2000-02-27 01:45:07 -07:00
Alexandre Oliva 656ac11039 cpplib.h (enum file_change_code): Added rename_file.
* 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-27 07:57:29 +00:00
Jason Merrill 6aede56787 update
From-SVN: r32214
2000-02-27 02:00:35 -05:00
Jason Merrill 1ab83276ed update
From-SVN: r32213
2000-02-27 01:54:06 -05:00
Jason Merrill aa52c1ffad Implement class scope using-declarations for functions.
* 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 01:54:04 -05:00
Alexandre Oliva 0172e2bc87 * cpplib.c (do_pragma): Accept #pragma without consecutive token.
From-SVN: r32211
2000-02-27 06:24:27 +00:00
Mark Mitchell 22e92ac3b6 semantics.c (simplify_aggr_init_exprs_p): Don't walk into types.
* semantics.c (simplify_aggr_init_exprs_p): Don't walk into
	types.

From-SVN: r32210
2000-02-27 05:30:00 +00:00
Alfred Minarik 4278955754 rtti.c (get_vmi_pseudo_type_info): Move __vmi_class_type_info 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-27 02:52:55 +00:00
Mark Mitchell 27d26ee7a7 cp-tree.h (DECL_NEEDED_P): Tweak to correct usage before EOF.
* 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-27 02:46:57 +00:00
Mark Mitchell a8f8d1cce5 integrate.c (copy_decl_for_inlining): Preserve TREE_ADDRESSABLE when copying 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-27 02:43:43 +00:00
Kaveh R. Ghazi ad3ffa443a fix-header.c (recognized_function): Also fix prototypes for functions taking "void".
* fix-header.c (recognized_function): Also fix prototypes for
	functions taking "void".

From-SVN: r32206
2000-02-27 02:25:05 +00:00
Richard Kenner 363e6541e3 * lang-options.h (-fmessage-length=): Add missing option.
From-SVN: r32205
2000-02-26 19:57:13 -05:00
Richard Kenner ca888935f5 * Make-lang.in (CXX_SRCS): Add .h files and sort list.
From-SVN: r32204
2000-02-26 19:52:00 -05:00
Richard Kenner 1c303a1117 Restore missing data
From-SVN: r32203
2000-02-26 19:50:08 -05:00
Richard Kenner eeafa66d58 attrib5.C: XFAIL on Alpha since no link alias.
* 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-26 19:37:58 -05:00
Geoff Keating 60ef417d84 reload1.c (do_output_reload): Check reg_reloaded_valid before looking at reg_reloaded_contents.
* reload1.c (do_output_reload): Check reg_reloaded_valid before
looking at reg_reloaded_contents.

From-SVN: r32201
2000-02-27 00:23:28 +00:00
Zack Weinberg f95e46b994 Makefile.in (STMP_FIXINC): New toggle.
* 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-27 00:10:15 +00:00
Bruce Korb 42a2c30e1b the undefine_null bypass pattern needs to match for DOS headers
From-SVN: r32199
2000-02-26 23:16:59 +00:00
Jeff Law 4592bdcbb8 Fix copyrights.
From-SVN: r32198
2000-02-26 14:44:42 -07:00
Jeff Law 214be03f82 fix copyrights
From-SVN: r32197
2000-02-26 14:35:46 -07:00