Richard Henderson [Wed, 31 May 2000 22:29:38 +0000 (15:29 -0700)]
flow.c (propagate_block): Move initialization of mem_set_list ...
* flow.c (propagate_block): Move initialization of mem_set_list ...
(init_propagate_block_info): ... here. Also track blocks with
no successors; don't scan insns if ! PROP_SCAN_DEAD_CODE.
From-SVN: r34310
Richard Kenner [Wed, 31 May 2000 20:53:37 +0000 (16:53 -0400)]
Add documentation of TREE_ADDRESSABLE in FIELD_DECL
From-SVN: r34309
Richard Kenner [Wed, 31 May 2000 20:01:57 +0000 (16:01 -0400)]
Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
(REG_BASE_VALUE): Remove unneeded cast to unsigned.
(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
(find_base_decl): New function, from c_find_base_decl in c-common.c.
(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
(get_alias_set): Likewise.
Major rework to do more things and allow language-specific code
to just handle special-cases.
(record_alias_subset): Args are HOST_WIDE_INT.
(record_component_alias): Local vars are HOST_WIDE_INT.
Don't handle COMPLEX_EXPR.
(get_varargs_alias_set): Moved from builtins.c.
(get_frame_alias_set): New function.
* builtins.c (expand_builtin_return_address): Use frame alias set.
(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
for setjmp buffer.
(get_memory_rtx): Rework to use set_mem_attributes.
(get_varargs_alias_set): Deleted from here.
* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
(c_find_base_decl): Deleted from here.
(c_get_alias_set): Remove many cases and rework to just handle
C-specific cases.
* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
* c-decl.c (rtl.h, expr.h): Now included.
(init_decl_processing): Call record_component_aliases on array types.
(grokdeclarator): Likewise.
Set TREE_ADDRESSABLE for all fields that are not bitfields.
* c-typeck.c (common_type): Call record_component_aliases for array.
* caller-save.c (setup_save_areas): Rework register loop for unsigned.
Set all save areas to the frame alias set.
* calls.c (initialie_argument_information): Call set_mem_attributes.
(compute_argument_addresses, expand_call): Likewise.
* explow.c (set_mem_attributes): New function.
(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
LEN and OFFSET now HOST_WIDE_INT.
(clear_by_pieces): Similar changes.
(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
(clear_by_pieces_1): Likewise.
(emit_push_insn): Call set_mem_attributes.
(expand_expr, case INDIRECT_REF): Likewise.
(expand_expr, case VAR_DECL): Call change_address.
* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
tree_low_cst.
(get_varargs_alias_set, get_frame_alias_set): New decls.
(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
(new_alias_set, set_mem_attributes): Likewse.
* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
(assign_stack_temp_for_type): Likewise.
Can split slot even if alias set since can copy.
Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
(assign_temp): Use host_integerp and tree_low_cst.
(put_var_into_stack): Properly handle SAVE_EXPR.
(put_addressof_into_stack): Likewise.
(assign_parms): Call set_mem_attributes.
Delete #if 0 code.
(fix_lexical_address): Put reference to chain into frame alias set.
(expand_function_start): Call set_mem_attributes.
* integrate.c (expand_inline_function): Likewise.
* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
* regmove.c (try_apply_stack_adjustment): Likewise.
* reload.c (push_reload, make_memloc): Likewise.
* reload1.c (alter_reg): Make alias sets for spilled pseudos.
* rtl.def (MEM): Update comment.
* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
(move_by_pieces): Change length to HOST_WIDE_INT.
(record_base_value, record_alias_subset): Delete from here.
* stmt.c (expand_decl): Call set_mem_attributes.
* stor-layout.c (finish_record_layout): Call record_component_aliases.i
* toplev.c (compile_file): Call init_alias_once earlier.
* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
from here: now in alias.c.
* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
(struct tree_decl): Likewise.
(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
(output_constant_def, force_const_mem): Likewise.
* cp/Makefile.in (decl.o): Include ../expr.h.
* cp/decl.c (expr.h): Include.
(init_decl_processing): Call record_component_aliases for arrays.
(grokdeclarator): Likewise.
Set TREE_ADDRESSABLE for fields that aren't bitfields.
* cp/tree.c (build_cplus_array_type_1): Call record_component_aliases.
From-SVN: r34308
Richard Henderson [Wed, 31 May 2000 19:34:19 +0000 (12:34 -0700)]
* jump.c (jump_optimize_1): Revert 05-18 change.
From-SVN: r34307
Mark Mitchell [Wed, 31 May 2000 19:27:12 +0000 (19:27 +0000)]
invoke.texi: Remove documentation for -fguiding-decls.
* invoke.texi: Remove documentation for -fguiding-decls.
Remove guiding declaration support.
* cp/cp-tree.h (flag_dump_translation_unit): Make it const.
(flag_guiding_decls): Remove.
* call.c (build_user_type_conversion_1): Remove support for
guiding decls.
(build_new_function_call): Likewise.
(build_new_op): Likewise.
(build_new_method_call): Likewise.
* decl.c (start_function): Likewise.
* friend.c (is_friend): Likewise.
(do_friend): Likewise.
* decl2.c ((flag_dump_translation_unit): Make it const.
(flag_guiding_decls): Remove.
(unsupported_options): New variable
(compare_options): New function.
(lang_decode_option): Use them.
From-SVN: r34306
Richard Kenner [Wed, 31 May 2000 18:37:31 +0000 (18:37 +0000)]
Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
* Makefile.in (c-decl.o): Depend on rtl.h and expr.h.
* alias.c (struct alias_entry): alias_set is HOST_WIDE_INT.
(REG_BASE_VALUE): Remove unneeded cast to unsigned.
(get_alias_set_entry): ALIAS_SET arg is HOST_WIDE_INT.
(find_base_decl): New function, from c_find_base_decl in c-common.c.
(new_alias_set): Moved from tree.c; return is HOST_WIDE_INT.
(get_alias_set): Likewise.
Major rework to do more things and allow language-specific code
to just handle special-cases.
(record_alias_subset): Args are HOST_WIDE_INT.
(record_component_alias): Local vars are HOST_WIDE_INT.
Don't handle COMPLEX_EXPR.
(get_varargs_alias_set): Moved from builtins.c.
(get_frame_alias_set): New function.
* builtins.c (expand_builtin_return_address): Use frame alias set.
(expand_builtin_setjmp, expand_builtin_longjmp): Use alias set
for setjmp buffer.
(get_memory_rtx): Rework to use set_mem_attributes.
(get_varargs_alias_set): Deleted from here.
* c-common.c (c_apply_type_quals_to_decl): Alias sets now HOST_WIDE_INT.
(c_find_base_decl): Deleted from here.
(c_get_alias_set): Remove many cases and rework to just handle
C-specific cases.
* c-common.h (c_get_alias_set): Returns HOST_WIDE_INT.
* c-decl.c (rtl.h, expr.h): Now included.
(init_decl_processing): Call record_component_aliases on array types.
(grokdeclarator): Likewise.
Set TREE_ADDRESSABLE for all fields that are not bitfields.
* c-typeck.c (common_type): Call record_component_aliases for array.
* caller-save.c (setup_save_areas): Rework register loop for unsigned.
Set all save areas to the frame alias set.
* calls.c (initialie_argument_information): Call set_mem_attributes.
(compute_argument_addresses, expand_call): Likewise.
* explow.c (set_mem_attributes): New function.
(stabilize): Use MEM_COPY_ATTRIBUTES and force_reg.
* expr.c (struct move_by_pieces): Remove {to,from}_{struct,readonly}.
LEN and OFFSET now HOST_WIDE_INT.
(clear_by_pieces): Similar changes.
(move_by_pieces): LEN now HOST_WIDE_INT; don't set deleted fields.
(move_by_pieces_ninsns): Now returns unsigned HOST_WIDE_INT.
(move_by_pieces_1): Don't use deleted fields, use MEM_COPY_ATTRIBUTES.
(clear_by_pieces_1): Likewise.
(emit_push_insn): Call set_mem_attributes.
(expand_expr, case INDIRECT_REF): Likewise.
(expand_expr, case VAR_DECL): Call change_address.
* expr.h (ADD_PARM_SIZE, SUB_PARM_SIZE): Use host_integerp and
tree_low_cst.
(get_varargs_alias_set, get_frame_alias_set): New decls.
(record_base_value, record_alias_subset, lang_get_alias_set): Likewise.
(new_alias_set, set_mem_attributes): Likewse.
* function.c (struct temp_slot): ALIAS_SET is HOST_WIDE_INT.
(assign_stack_temp_for_type): Likewise.
Can split slot even if alias set since can copy.
Set MEM_ALIAS_SET and MEM_SET_IN_STRUCT_P.
(assign_temp): Use host_integerp and tree_low_cst.
(put_var_into_stack): Properly handle SAVE_EXPR.
(put_addressof_into_stack): Likewise.
(assign_parms): Call set_mem_attributes.
Delete #if 0 code.
(fix_lexical_address): Put reference to chain into frame alias set.
(expand_function_start): Call set_mem_attributes.
* integrate.c (expand_inline_function): Likewise.
* recog.c (adj_offsettable_operand): Use MEM_COPY_ATTRIBUTES.
* regmove.c (try_apply_stack_adjustment): Likewise.
* reload.c (push_reload, make_memloc): Likewise.
* reload1.c (alter_reg): Make alias sets for spilled pseudos.
* rtl.def (MEM): Update comment.
* rtl.h (MEM_ALIAS_SET): Now uses XCWINT.
(move_by_pieces): Change length to HOST_WIDE_INT.
(record_base_value, record_alias_subset): Delete from here.
* stmt.c (expand_decl): Call set_mem_attributes.
* stor-layout.c (finish_record_layout): Call record_component_aliases.i
* toplev.c (compile_file): Call init_alias_once earlier.
* tree.c (lang_get_alias_set, get_alias_set, new_alias_set): Deleted
from here: now in alias.c.
* tree.h (struct tree_type): alias_set is HOST_WIDE_INT.
(struct tree_decl): Likewise.
(get_alias_set, new_alias_set, lang_get_alias_set): Deleted from here.
* varasm.c (make_function_rtl, make_decl_rtl): Call set_mem_attributes.
(output_constant_def, force_const_mem): Likewise.
* cp/Makefile.in (decl.o): Include ../expr.h.
* cp/decl.c (expr.h): Include.
(init_decl_processing): Call record_component_aliases for arrays.
(grokdeclarator): Likewise.
Set TREE_ADDRESSABLE for fields that aren't bitfields.
* cp/tree.c (build_cplus_array_type_1): Call record_component_aliases.
From-SVN: r34305
Richard Henderson [Wed, 31 May 2000 18:10:28 +0000 (11:10 -0700)]
* configure.in: Fix typo last change.
From-SVN: r34304
Philipp Thomas [Wed, 31 May 2000 17:46:30 +0000 (17:46 +0000)]
configure.in (enable-nls): Enable if build == host, i.e.
gcc:
* configure.in (enable-nls): Enable if build == host, i.e. when
not building a canadian cross compiler.
(enable-maintainer-mode): Added for use with i18n.
* aclocal.m4 (AM_GNU_GETTEXT): Only build catalogs that are a
cross section of ALL_LINGUAS and LINGUAS.
* configure: Rebuild.
gcc/po:
* Makefile.in.in: Create compiled catalogs in objdir, not
srcdir. Create gcc.pot and cat-tbl-id.c only in maintainer
mode.
* gcc.pot: Generated and checked in.
* cat-tbl-id.c: Generated and checked in.
* stamp-cat-id: Generated and checked in.
From-SVN: r34303
Mark Mitchell [Wed, 31 May 2000 16:39:19 +0000 (16:39 +0000)]
decl.c (build_cp_library_fn): Set DECL_CONTEXT.
* decl.c (build_cp_library_fn): Set DECL_CONTEXT.
* method.c (mangle_expression): Adjust test for legal expression
operators.
* pt.c (instantiate_decl): Save and restore the local
specializations list.
From-SVN: r34302
Bruce Korb [Wed, 31 May 2000 15:03:41 +0000 (15:03 +0000)]
change invocation of check script for fixinc
From-SVN: r34301
Bruce Korb [Wed, 31 May 2000 14:44:35 +0000 (14:44 +0000)]
modified test results
From-SVN: r34300
Bruce Korb [Wed, 31 May 2000 14:29:55 +0000 (14:29 +0000)]
rework "make check" for fixincl
From-SVN: r34299
Bruce Korb [Wed, 31 May 2000 14:26:57 +0000 (14:26 +0000)]
rework "make check" for fixinc
From-SVN: r34298
Philippe De Muyter [Wed, 31 May 2000 12:37:38 +0000 (14:37 +0200)]
* except.c (clear_function_eh_region): Do not free NULL.
From-SVN: r34297
Richard Kenner [Wed, 31 May 2000 11:58:35 +0000 (11:58 +0000)]
flow.c (propagate_block): If block has no successors, stores to frame are dead if not used.
* flow.c (propagate_block): If block has no successors, stores to
frame are dead if not used.
From-SVN: r34296
Richard Kenner [Wed, 31 May 2000 11:55:53 +0000 (07:55 -0400)]
tree.h (TREE_CODE_LENGTH): New macro.
* tree.h (TREE_CODE_LENGTH): New macro.
* c-common.c (c_find_base_decl): Use it.
* expr.c (safe_from_p): Likewise.
* print-tree.c (print_node): Likewise.
* tree.c (make_node, copy_node, get_identifier): Likewie.
(first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
(build, build_nt, build_parse_node, simple_cst_equal): Likewise.
* fold-const.c (make_range): Likewise.
(fold): Likewise; also use first_rtl_op.
* c-iterate.c (collect_iterators): Use first_rtl_op.
* calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
Use IS_EXPR_CODE_CLASS.
(preexpand_calls): Likewise.
* ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
and TREE_CODE_LENGTH.
* stmt.c (warn_if_unused_value): If no operands, no unused value.
* ch/lang.c (deep_const_expr): Use first_rtl_op.
* ch/satisfy.c (satisfy): Use TREE_CODE_LENGTH.
* cp/method.c (mangle_expression): Use TREE_CODE_LENGTH.
* cp/tree.c (break_out_calls, build_min_nt): Use TREE_CODE_LENGTH.
(built_min, cp_tree_equal): Likewise.
From-SVN: r34295
Richard Kenner [Wed, 31 May 2000 11:50:44 +0000 (07:50 -0400)]
Add blank line
From-SVN: r34294
Richard Kenner [Wed, 31 May 2000 11:46:10 +0000 (07:46 -0400)]
Fix formatting of comment
From-SVN: r34293
Andrew Cagney [Wed, 31 May 2000 11:00:54 +0000 (11:00 +0000)]
Add field ``name'' to floatformat.
From-SVN: r34292
Nathan Sidwell [Wed, 31 May 2000 10:57:19 +0000 (10:57 +0000)]
stmt (expand_end_case): Reorder conversion sequence for jump table to avoid extra truncations.
* stmt (expand_end_case): Reorder conversion sequence for jump
table to avoid extra truncations.
From-SVN: r34291
Jason Merrill [Wed, 31 May 2000 08:14:29 +0000 (08:14 +0000)]
* decl.c (grok_reference_init): Pass LOOKUP_ONLYCONVERTING.
From-SVN: r34290
Jason Merrill [Wed, 31 May 2000 08:14:17 +0000 (04:14 -0400)]
new
From-SVN: r34289
Jeff Law [Wed, 31 May 2000 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r34288
Jeffrey A Law [Wed, 31 May 2000 07:33:02 +0000 (07:33 +0000)]
ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn in the block is more than just a simple conditional...
* ifcvt.c (cond_exec_process_if_block): Do nothing if the last insn
in the block is more than just a simple conditional branch.
(noce_process_if_block): Similarly.
From-SVN: r34287
Mark Mitchell [Wed, 31 May 2000 06:53:04 +0000 (06:53 +0000)]
call.c (add_template_candidate_real): Handle member template constructors for classes with virtual bases.
* call.c (add_template_candidate_real): Handle member template
constructors for classes with virtual bases.
(build_user_type_conversion_1): Use in_charge_arg_for_name.
(build_new_method_call): Use DECL_NONSTATIC_MEMBER_FUNCTION_P.
* ir.texi: Update thunk documentation.
From-SVN: r34284
Alexandre Oliva [Wed, 31 May 2000 04:27:56 +0000 (04:27 +0000)]
optabs.c (prepare_float_lib_cmp): Protect *px and *py from queue.
* optabs.c (prepare_float_lib_cmp): Protect *px and *py from
queue.
From-SVN: r34283
Michael Meissner [Wed, 31 May 2000 01:36:58 +0000 (01:36 +0000)]
Allow HIGH/LO_SUM in the prologue
From-SVN: r34281
Richard Henderson [Wed, 31 May 2000 00:44:06 +0000 (17:44 -0700)]
* combine.c (get_pos_from_mask): Test exact_log2 result as signed.
From-SVN: r34280
Tom Tromey [Tue, 30 May 2000 23:26:02 +0000 (23:26 +0000)]
name-finder.h: Include <sys/wait.h>.
* include/name-finder.h: Include <sys/wait.h>.
(_Jv_name_finder::pid): Now of type `pid_t'.
(_Jv_name_finder::~_Jv_name_finder): Call waitpid().
* java/lang/Throwable.java (CPlusPlusDemangler.close): Call
`proc.waitFor()'.
From-SVN: r34279
Jeff Law [Tue, 30 May 2000 21:07:43 +0000 (15:07 -0600)]
* Makefile.in (objalloc.o): Depend on config.h
From-SVN: r34277
Jeff Law [Tue, 30 May 2000 21:06:31 +0000 (15:06 -0600)]
* Makefile.in (objalloc.o): Depend on config.h
From-SVN: r34275
Richard Henderson [Tue, 30 May 2000 21:02:06 +0000 (14:02 -0700)]
* bb-reorder.c (emit_jump_to_block_after): Protect use of HAVE_return.
From-SVN: r34274
Bruce Korb [Tue, 30 May 2000 20:55:50 +0000 (20:55 +0000)]
restore old algorighm for char_macro_*_fix routines
From-SVN: r34273
Jeff Law [Tue, 30 May 2000 20:50:33 +0000 (14:50 -0600)]
Split the ChangeLog
From-SVN: r34272
Bruce Korb [Tue, 30 May 2000 20:24:44 +0000 (20:24 +0000)]
restore old algorighm for char_macro_*_fix routines
From-SVN: r34271
Bruce Korb [Tue, 30 May 2000 19:41:37 +0000 (19:41 +0000)]
diff of diff does not work well, so use expected test result files
From-SVN: r34270
Mark Mitchell [Tue, 30 May 2000 17:39:59 +0000 (17:39 +0000)]
* call.c (joust): Fix handling of overloaded builtin operators.
From-SVN: r34269
Richard Henderson [Tue, 30 May 2000 15:52:03 +0000 (08:52 -0700)]
alpha.md (*setne_internal): Use match_operator instead of working down from insn.
* config/alpha/alpha.md (*setne_internal): Use match_operator
instead of working down from insn.
From-SVN: r34268
Zack Weinberg [Tue, 30 May 2000 15:44:20 +0000 (15:44 +0000)]
cp-tree.h (DECL_ANTICIPATED): New macro.
* cp-tree.h (DECL_ANTICIPATED): New macro.
Document new use of DECL_LANG_FLAG_7.
* decl.c (builtin_function): Set DECL_ANTICIPATED on builtins
in the user namespace.
* lex.c (do_identifier): If the identifier's declaration has
DECL_ANTICIPATED on, it has not yet been declared. But do not
replace it with an ordinary implicit declaration.
* tinfo2.cc: Include stdlib.h.
From-SVN: r34267
Philipp Thomas [Tue, 30 May 2000 14:46:26 +0000 (14:46 +0000)]
* MAINTAINERS: Add self as i18n maintainer
From-SVN: r34266
Kaveh R. Ghazi [Tue, 30 May 2000 14:37:22 +0000 (14:37 +0000)]
* invoke.texi (-Wtraditional): Update WRT function macros.
From-SVN: r34265
Jason Merrill [Tue, 30 May 2000 08:47:25 +0000 (04:47 -0400)]
update explicit instantiation docs
From-SVN: r34264
Philippe De Muyter [Tue, 30 May 2000 07:58:30 +0000 (09:58 +0200)]
* except.c (free_exception_table): Do not free NULL.
From-SVN: r34263
Jeff Law [Tue, 30 May 2000 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r34262
Richard Henderson [Tue, 30 May 2000 06:12:37 +0000 (23:12 -0700)]
Document FUNCTION_OK_FOR_SIBCALL.
From-SVN: r34261
Zack Weinberg [Tue, 30 May 2000 02:40:48 +0000 (02:40 +0000)]
cpplib.c (do_if): Don't save and restore only_seen_white here.
* cpplib.c (do_if): Don't save and restore only_seen_white here.
* cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
and skipping here.
From-SVN: r34260
Richard Earnshaw [Mon, 29 May 2000 22:37:37 +0000 (22:37 +0000)]
flow.c (mark_used_reg): If a register is unconditionally live, remove any conditional death information.
* flow.c (mark_used_reg): If a register is unconditionally live,
remove any conditional death information.
From-SVN: r34259
Richard Henderson [Mon, 29 May 2000 22:02:42 +0000 (15:02 -0700)]
final.c (current_output_insn): New.
* final.c (current_output_insn): New.
(final_scan_insn): Set it.
* output.h: Declare it.
From-SVN: r34258
Richard Henderson [Mon, 29 May 2000 21:46:43 +0000 (14:46 -0700)]
* stor-layout.c (finalize_record_size): Fix typo.
From-SVN: r34257
Richard Henderson [Mon, 29 May 2000 21:39:55 +0000 (14:39 -0700)]
jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END if nlabel is null.
* jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
if nlabel is null.
From-SVN: r34256
Zack Weinberg [Mon, 29 May 2000 19:34:51 +0000 (19:34 +0000)]
concatstr.c, exh.c: Include stdlib.h and string.h.
* concatstr.c, exh.c: Include stdlib.h and string.h.
* delaycase.c, eqstr.c, memmove.c, printbuffer.c,
printevent.c, sendbuffer.c, waitbuffer.c: Include string.h.
From-SVN: r34255
Zack Weinberg [Mon, 29 May 2000 19:33:52 +0000 (19:33 +0000)]
hashtab.c, [...]: Include string.h if HAVE_STRING_H.
* hashtab.c, partition.c, sort.c, xmemdup.c: Include string.h
if HAVE_STRING_H.
* pexecute.c, xexit.c: Include stdlib.h if HAVE_STDLIB_H.
* objalloc.c: Include config.h. Include stdlib.h and don't
declare malloc or free if HAVE_STDLIB_H.
* strerror.c, strsignal.c: Include stdlib.h if HAVE_STDLIB_H,
else declare malloc without prototype. Include string.h if
HAVE_STRING_H, else declare memset without prototype. Don't
include stddef.h.
From-SVN: r34254
Zack Weinberg [Mon, 29 May 2000 16:19:32 +0000 (16:19 +0000)]
cpplib.h (cpp_reader): Remove if_stack.
* cpplib.h (cpp_reader): Remove if_stack. Change
potential_control_macro to a cpp_hashnode *. Add skipping flag.
* cpphash.h (struct ihash): Change control_macro to a
cpp_hashnode * and shorten name to cmacro.
Add NEVER_REINCLUDE constant.
* cppfiles.c (redundant_include_p): Drop cpp_reader argument.
Examine the cmacro node directly, no need to call cpp_defined.
(_cpp_execute_include, read_include_file): Set cmacro to
NEVER_REINCLUDE, not U"".
* cpplex.c (cpp_push_buffer): Don't set new->if_stack.
(cpp_get_token): If pfile->skipping is true, discard text and
keep scanning until we hit a directive; don't expand macros.
* cpplib.c (struct if_stack): Remove if_succeeded, add
was_skipping. Change control_macro to a cpp_hashnode * and
shorten name to cmacro. Remove typedef IF_STACK.
(parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
(conditional_skip, skip_if_group,
consider_directive_while_skipping): Delete.
(push_conditional): New.
(_cpp_handle_directive): Don't process directives other than
conditionals if we are skipping.
(do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
Update to new scheme.
(validate_else): Skip rest of line here, unconditionally.
(_cpp_unwind_if_stack): The stack is per-buffer. Force
pfile->skipping off.
(all): Remove `scare quotes' from error messages.
* gcc.dg/cpp-mi.c: Add another case, cpp-mix.h, where the
guard macro is already defined when the header is first
included.
* gcc.dg/cpp-mix.h: New file.
* gcc.dg/endif-label.c: Update patterns to match compiler.
* g++.brendan/complex1.C: Declare abort.
* g++.law/refs4.C: Remove XFAIL.
* g++.oliva/expr2.C: Declare abort and exit.
From-SVN: r34253
Mark Mitchell [Mon, 29 May 2000 15:35:06 +0000 (15:35 +0000)]
cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
* cp-tree.h (CLASSTYPE_ALIGN_UNIT): New macro.
* class.c (layout_empty_base): Use CLASSTYPE_ALIGN_UNIT, not
CLASSTYPE_ALIGN.
From-SVN: r34252
Richard Henderson [Mon, 29 May 2000 08:18:30 +0000 (01:18 -0700)]
function.c (emit_return_into_block): New line_note arg; emit it.
* function.c (emit_return_into_block): New line_note arg; emit it.
(thread_prologue_and_epilogue_insns): Attempt to locate a line note
for the close brace to accompany HAVE_return. Move all line notes
following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
From-SVN: r34251
Richard Henderson [Mon, 29 May 2000 07:52:26 +0000 (00:52 -0700)]
longlong.h [__alpha] (count_leading_zeros): New.
* longlong.h [__alpha] (count_leading_zeros): New.
(count_trailing_zeros): New.
(COUNT_LEADING_ZEROS_0): New.
* config/alpha/alpha.c (alpha_zero_comparison_operator): New.
(alpha_split_conditional_move): New.
* config/alpha/alpha-protos.h: Prototype them.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
(CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
* config/alpha/alpha.md: Update ffs cix commentary.
(*ze_and_ne): New.
(*nabssf2, *nabsdf2): New.
(*mov[qhsd]icc_internal): Use add_operand.
(if_then_else constant splitters): New.
(*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
(*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
From-SVN: r34250
Jeff Law [Mon, 29 May 2000 07:45:08 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r34249
Richard Henderson [Mon, 29 May 2000 07:40:51 +0000 (00:40 -0700)]
combine.c (force_to_mode): Convert subtraction from a constant to NEG or NOT when conditions allow.
* combine.c (force_to_mode) [MINUS]: Convert subtraction from
a constant to NEG or NOT when conditions allow.
From-SVN: r34248
Richard Henderson [Mon, 29 May 2000 07:29:13 +0000 (00:29 -0700)]
combine.c (combine_simplify_rtx): Don't create an if_then_else unless both args are general_operand.
* combine.c (combine_simplify_rtx): Don't create an if_then_else
unless both args are general_operand. Don't canonicalize plus
to ior unless it helps.
From-SVN: r34247
Richard Henderson [Mon, 29 May 2000 07:09:53 +0000 (00:09 -0700)]
toplev.c (rest_of_compilation): Set no_new_pseudos after flow1; instead track register_life_up_to_date.
* toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
instead track register_life_up_to_date. Toggle no_new_pseudos
around if_convert.
From-SVN: r34246
Bryce McKinlay [Mon, 29 May 2000 05:26:14 +0000 (05:26 +0000)]
re GNATS gcj/242 (Compiler generates call to wrong method from inner class)
2000-05-29 Bryce McKinlay <bryce@albatross.co.nz>
* libjava.lang/PR242.java: New file. PR gcj/242.
From-SVN: r34245
Geoff Keating [Mon, 29 May 2000 05:18:03 +0000 (05:18 +0000)]
rs6000.c (output_cbranch): Escape '%' characters so output_operand doesn't see them.
* config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
so output_operand doesn't see them.
From-SVN: r34244
Clinton Popetz [Sun, 28 May 2000 23:40:20 +0000 (23:40 +0000)]
lcm.c (make_preds_opaque): Fix comment.
* lcm.c (make_preds_opaque): Fix comment.
(optimize_mode_switching): Use NORMAL_MODE instead of
MODE_USES_IN_EXIT_BLOCK. Change leftover instance of
FP_MODE_NONE to no_mode. Rename MODE_AT_ENTRY to NORMAL_MODE.
Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
* tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
(MODE_USES_IN_EXIT_BLOCK): Delete.
(MODE_AT_ENTRY) Rename to NORMAL_MODE.
* sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
(MODE_AT_ENTRY): Rename to NORMAL_MODE.
(MODE_NEEDED): Don't look for USE.
(EPILOGUE_USES): Define.
From-SVN: r34243
Alexandre Oliva [Sun, 28 May 2000 23:31:55 +0000 (23:31 +0000)]
* gcc.c-torture/execute/
20000528-1.c: New test.
From-SVN: r34242
Philippe De Muyter [Sun, 28 May 2000 21:52:37 +0000 (23:52 +0200)]
* mklibgcc.in (all): Variable initialised to `libgcc'.
From-SVN: r34241
Gabriel Dos Reis [Sun, 28 May 2000 21:22:12 +0000 (21:22 +0000)]
toplev.h (skip_leading_substring): New macro.
2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
* toplev.h (skip_leading_substring): New macro.
* toplev.c (decode_f_option): Use skip_leading_substring instead
of strncmp.
(decode_W_option): Likewise.
cp/
2000-05-28 Gabriel Dos Reis <gdr@codesourcery.com>
* decl2.c (lang_decode_option): Use skip_leading_substring instead
of plain strncmp.
From-SVN: r34240
Nick Clifton [Sun, 28 May 2000 21:08:51 +0000 (21:08 +0000)]
Docuement that CONSITIONAL_REGISTER_USAGE can modify reg_names.
From-SVN: r34239
Richard Henderson [Sun, 28 May 2000 20:39:51 +0000 (13:39 -0700)]
regclass.c (record_operand_costs): Protect reg_changes_size with CLASS_CANNOT_CHANGE_SIZE.
* regclass.c (record_operand_costs): Protect reg_changes_size
with CLASS_CANNOT_CHANGE_SIZE.
From-SVN: r34238
Richard Henderson [Sun, 28 May 2000 20:01:28 +0000 (13:01 -0700)]
* loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
From-SVN: r34237
Alexandre Oliva [Sun, 28 May 2000 17:36:14 +0000 (17:36 +0000)]
Remove duplicate name and extraneous blank line
From-SVN: r34236
Alexandre Oliva [Sun, 28 May 2000 17:35:16 +0000 (17:35 +0000)]
refs4.C: Mark as XFAIL.
* g++.old-deja/g++.law/refs4.C: Mark as XFAIL.
* g++.old-deja/g++.law/temps4.C: Likewise.
From-SVN: r34235
Alexandre Oliva [Sun, 28 May 2000 14:20:27 +0000 (14:20 +0000)]
* expr2.C: New test.
From-SVN: r34234
Alexandre Oliva [Sun, 28 May 2000 13:42:47 +0000 (13:42 +0000)]
code-gen4.C: Include stdio.h and stdlib.h.
* g++.old-deja/g++.brendan/code-gen4.C: Include stdio.h and
stdlib.h. Call abort() on failure.
* g++.old-deja/g++.law/refs4.C: Likewise.
* g++.old-deja/g++.law/temps4.C: Likewise.
* g++.old-deja/g++.brendan/complex1.C: Don't assume argc is 1.
* gcc.c-torture/execute/
20000112-1.c: Include string.h.
From-SVN: r34233
Alexandre Oliva [Sun, 28 May 2000 13:24:58 +0000 (13:24 +0000)]
operators.def (<?): Duplicated, should have been...
* operators.def (<?): Duplicated, should have been...
(>?): this. Fixed.
From-SVN: r34232
Toon Moene [Sun, 28 May 2000 12:34:53 +0000 (14:34 +0200)]
bugs.texi: Note that debugging information for common block items is emitted now.
2000-05-28 Toon Moene <toon@moene.indiv.nluug.nl>
* bugs.texi: Note that debugging information for
common block items is emitted now.
* news.texi: Ditto.
From-SVN: r34231
Richard Henderson [Sun, 28 May 2000 12:31:40 +0000 (05:31 -0700)]
function.c (diddle_return_value): A pcc-style struct return returns a pointer.
* function.c (diddle_return_value): A pcc-style struct return
returns a pointer.
From-SVN: r34230
Jeff Law [Sun, 28 May 2000 07:45:07 +0000 (01:45 -0600)]
Daily bump.
From-SVN: r34229
Zack Weinberg [Sun, 28 May 2000 05:56:38 +0000 (05:56 +0000)]
cppfiles.c: Read files in, using mmap if possible, then prescan them separately.
* cppfiles.c: Read files in, using mmap if possible, then
prescan them separately.
(read_file, read_with_read): New functions.
* cpplex.c: Don't define UCHAR_MAX.
(_cpp_read_and_prescan): Rename to _cpp_prescan. Don't read
the file here.
* cppinit.c (handle_option): Automatically define __cplusplus,
__OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
the respective -lang switch.
* cpphash.h (enum node_type, struct hashnode, _cpp_lookup
prototype): Move to...
* cpplib.h: ... here. Rename struct hashnode to struct
cpp_hashnode and give it a typedef. Rename _cpp_lookup to
cpp_lookup. Add 'fe_value' slot, a union tree_node *.
From-SVN: r34228
Geoff Keating [Sun, 28 May 2000 05:51:16 +0000 (05:51 +0000)]
rs6000.md (movsi): Constify 'name'.
* config/rs6000/rs6000.md (movsi): Constify 'name'.
* regclass.c [CLASS_CANNOT_CHANGE_SIZE]
(class_can_change_size): New variable.
(reg_changes_size): New variable.
(init_reg_sets_1): Initialise class_can_change_size.
(record_operand_costs): Remove subreg_changes_size.
Don't pass it around. Instead update reg_changes_size.
(regclass): Initialise and free reg_changes_size. If a register
changes size, don't preference it to a class that contains
registers that can't change size.
(record_reg_classes): Don't look at subreg_changes_size.
From-SVN: r34227
Zack Weinberg [Sun, 28 May 2000 05:38:02 +0000 (05:38 +0000)]
Relative to g++.dg/special:
* conpr-1.C, conpr-2.C, conpr-3.C: Include stdlib.h.
Relative to g++.old-deja:
* g++.brendan/complex1.C, g++.jason/optimize2.C,
g++.mike/p9732b.C, g++.other/addrof1.C, g++.other/dyncast5.C,
g++.other/init5.C, g++.other/init7.C, g++.other/union2.C,
g++.pt/vbase1.C, g++.robertl/eb14.C, g++.robertl/eh990323-1.C,
g++.robertl/eh990323-2.C, g++.robertl/eh990323-3.C,
g++.robertl/eh990323-4.C, g++.robertl/eh990323-5.C,
g++.robertl/ice990323-2.C: Prototype exit and/or abort.
* g++.brendan/nest21.C, g++.eh/rethrow3.C, g++.jason/init3.C,
g++.law/arm15.C, g++.law/cvt2.C, g++.law/visibility17.C,
g++.mike/eh23.C, g++.mike/eh25.C, g++.mike/eh34.C,
g++.mike/eh48.C, g++.mike/eh55.C, g++.mike/p2736.C,
g++.oliva/new1.C, g++.other/align.C, g++.robertl/eb39.C,
g++.robertl/eb54.C, g++.robertl/eb63.C: Include stdlib.h
and/or string.h.
* g++.other/goto1.C: Update expectations for error messages.
From-SVN: r34226
Richard Henderson [Sun, 28 May 2000 03:24:57 +0000 (20:24 -0700)]
print-rtl.c (reg_names): Remove const.
* print-rtl.c (reg_names): Remove const.
* regclass.c (reg_names): Likewise.
* regs.h (reg_names): Likewise.
* hard-reg-set.h (reg_names): Likewise.
From-SVN: r34225
Richard Henderson [Sun, 28 May 2000 02:59:35 +0000 (19:59 -0700)]
* config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
From-SVN: r34224
Alex Samuel [Sun, 28 May 2000 02:58:19 +0000 (02:58 +0000)]
cp-tree.h (ansi_opname): Make it a macro.
2000-05-27 Alex Samuel <samuel@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (ansi_opname): Make it a macro.
(ansi_assopname): Likewise.
(struct lang_decl_flags): Add assignment_operator_p.
(struct lang_decl): Add operator_code.
(DECL_VTT_PARM): Adjust.
(DECL_OVERLOADED_OPERATOR_P): Return the operator_code for an
overloaded operator.
(SET_OVERLOADED_OPERATOR_CODE): New macro.
(DECL_ASSIGNMENT_OPERATOR_P): New macro.
(DECL_ARRAY_DELETE_OPERATOR_P): Adjust.
(opname_tab): Remove.
(assignop_tab): Likewise.
(operator_name_info_t): New type.
(operator_name_info): New variable.
(assignment_operator_name_info): Likewise.
(build_cp_library_fn): Remove declaration.
(push_cp_library_fn): Likewise.
(operator_name_string): Likewise.
(build_decl_overload): Likewise.
* call.c (print_z_candidates): Simplify.
(build_object_call): Adjust usage of ansi_opname. Use
DECL_OVERLOADED_OPERATOR_P.
(op_error): Adjust operator name lookup.
(build_conditional_expr): Adjust usage of ansi_opname.
(build_new_op): Likewise.
(build_op_delete_call): Likewise.
(build_over_call): Likewise.
(joust): Use DECL_OVERLOADED_OPERATOR_P.
* decl.c (duplicate_decls): Copy operator_code.
(init_decl_processing): Adjust parameters to push_cp_library_fn.
(builtin_function): Adjust parameters to build_library_fn_1.
(build_library_fn_1): Accept an overloaded operator code.
(build_library_fn): Pass ERROR_MARK.
(build_cp_library_fn): Accept an overloaded operator code.
(push_cp_library_fn): Likewise.
(grokfndecl): Tweak.
(grokdeclarator): Simplify code to compute names of overloaded
operators. Adjust use of ansi_opname.
(ambi_op_p): Work on tree_codes, not identifiers.
(unary_op_p): Likewise.
(grok_op_properties): Likewise.
(start_function): Use DECL_OVERLOADED_OPERATOR_P.
(lang_mark_tree): Don't try to mark the operator_code.
* decl2.c (grok_function_init): Use DECL_OVERLOADED_OPERATOR_P.
* error.c (dump_decl): Remove special handling for operator
names.
(dump_function_name): Likewise.
(dump_expr): Adjust name lookup of operators.
(op_to_string): Simplify.
(assop_to_string): Likewise.
* init.c (build_new_1): Adjust use of ansi_opname.
* lex.c (opname_tab): Remove.
(assignop_tab): Likewise.
(ansi_opname): Likewise.
(ansi_assopname): Likewise.
(operator_name_string): Likewise.
(reinit_lang_specific): Likewise.
(operator_name_info): New variable.
(assignment_operator_name_info): Likewise.
(init_operators): New function.
(init_parse): Use it.
(do_identifier): Adjust use of ansi_opname.
* method.c (mangle_expression): Don't use ansi_opname for
mangling.
(build_decl_overload_real): Use DECL_OVERLOADED_OPERATOR_P.
(build_decl_overload): Remove.
(build_typename_overload): Use OPERATOR_TYPENAME_FORMAT directly.
(do_build_assign_ref): Adjust use of ansi_opname.
(synthesize_method): Likewise.
(implicitly_declare_fn): Likewise.
* operators.def: New file.
* parse.y (operator): Adjust use of ansi_opname.
* pt.c (tsubst_decl): Use IDENTIFIER_OPNAME_P.
(set_mangled_name_for_template_decl): Don't play games with
current_namespace.
(special_function_p): Adjust use of ansi_opname.
* typeck.c (check_return_expr): Likewise.
* Make-lang.in (cc1plus): Depend on operators.def.
* Makefile.in (lex.o): Likewise.
(decl.o): Likewise.
Co-Authored-By: Mark Mitchell <mark@codesourcery.com>
From-SVN: r34223
Richard Henderson [Sun, 28 May 2000 02:25:46 +0000 (19:25 -0700)]
alpha.c (alpha_does_function_need_gp): Test TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
* config/alpha/alpha.c (alpha_does_function_need_gp): Test
TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
(alpha_expand_prologue): Emit prologue_mcount if needed.
* config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
* config/alpha/alpha.md (prologue_mcount): New.
* config/alpha/linux.h (FUNCTION_PROFILER): Remove.
(TARGET_PROFILING_NEEDS_GP): Undef before redefining.
* config/alpha/netbsd.h: Likewise.
From-SVN: r34222
Richard Henderson [Sun, 28 May 2000 02:21:54 +0000 (19:21 -0700)]
elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.
* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
change to config/elfos.h.
From-SVN: r34221
Richard Henderson [Sun, 28 May 2000 02:18:27 +0000 (19:18 -0700)]
alpha-protos.h (alpha_arg_info_reg_val): Protect with RTX_CODE.
* config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
with RTX_CODE.
(alpha_write_linkage): Protect with BUFSIZ.
(alpha_need_linkage): Update prototype.
* config/alpha/alpha.c (function_arg): Move VMS code here.
(alpha_links_base): Remove.
(alpha_links): New.
(mark_alpha_links_node, mark_alpha_links): New.
(alpha_write_one_linkage): New.
(alpha_need_linkage): Use a splay tree. Build the linkage symbol.
(alpha_write_linkage): Use splay_tree_foreach.
* config/alpha/alpha.md (call_vms): Use alpha_need_linkage
to get the linkage symbol.
(call_value_vms): Likewise.
* config/alpha/elf.h (output_file_directive): Remove decl.
(ctors_section, dtors_section): Prototype.
(sbss_section, sdata_section): Prototype.
* config/alpha/vms.h (FUNCTION_ARG): Remove.
(readonly_section, link_section, literals_section): Prototype.
(ctors_section, dtors_section): Prototype.
(vms_valid_decl_attribute_p): Remove decl.
(alpha_arg_type, alpha_arg_info_reg_val): Likewise.
From-SVN: r34220
Richard Henderson [Sun, 28 May 2000 02:17:59 +0000 (19:17 -0700)]
Makefile.in (resource.o): Depend on except.h.
* Makefile.in (resource.o): Depend on except.h.
* except.h (output_exception_table_data): Prototype.
* genconfig.c (gen_peephole2): Prototype.
* genemit.c (main): Include ggc.h.
* genoutput.c: Revert parts of last change: include errors.h
(main): Set progname.
* recog.c: Include hard-reg-set.h before recog.h.
* resource.c: Include except.h.
From-SVN: r34219
Geoff Keating [Sun, 28 May 2000 01:07:18 +0000 (01:07 +0000)]
* reload.c (get_secondary_mem): Don't widen floating-point modes.
From-SVN: r34218
Geoff Keating [Sun, 28 May 2000 01:06:11 +0000 (01:06 +0000)]
combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when substituting the REG in a (subreg:X (reg:Y...
* combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
substituting the REG in a (subreg:X (reg:Y ...)).
From-SVN: r34217
Neil Booth [Sun, 28 May 2000 01:03:16 +0000 (01:03 +0000)]
cpplex.c (_cpp_lex_line): Merge vertical space.
* cpplex.c (_cpp_lex_line): Merge vertical space. Flag
first token of a line BOL. Update EOF code for this.
Remove illegal directive check - it appears in the (not
yet committed) caller.
* cpplib.h (BOL): New flag.
From-SVN: r34216
Neil Booth [Sat, 27 May 2000 23:27:36 +0000 (23:27 +0000)]
cpplex.c (_cpp_init_toklist): No comment space to initialise.
* cpplex.c (_cpp_init_toklist): No comment space to initialise.
(_cpp_free_toklist): No comment space to free.
(expand_comment_space): Remove.
(save_comment_space): Place the comment in the current token and
not in a separate comment space.
(_cpp_lex_line): Save comments during plain code and #define
directives only.
* cpplib.h (struct _cpp_toklist): Remove comment space.
From-SVN: r34215
Neil Booth [Sat, 27 May 2000 23:19:56 +0000 (23:19 +0000)]
cppexp.c (parse_assertion): Supply extra argument to _cpp_init_toklist.
* cppexp.c (parse_assertion): Supply extra argument to
_cpp_init_toklist.
* cpplib.c (do_assert, do_unassert): Similarly.
* cpphash.h (_cpp_init_toklist) Update.
(_cpp_expand_token_space): New.
(DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
* cpplex.c (_cpp_init_toklist): New argument.
(parse_string2): New argument multiline_ok.
(spell_token): Take a const cpp_token *.
(INIT_NAME): Replace with INIT_TOKEN_NAME. Update tokens_used.
(SPELL_ macros): Replace with enum.
(expand_token_space): Replace with _cpp_expand_token_space.
Take COUNT argument.
(IS_DIRECTIVE): Update.
(_cpp_lex_line): Update token structure before parsing number.
Don't assume start at beginning of token list.
(save_comment): Use INIT_TOKEN_NAME.
From-SVN: r34214
Zack Weinberg [Sat, 27 May 2000 22:34:05 +0000 (22:34 +0000)]
configure.in (stage1_warn_cflags): Add -Wstrict-prototypes -Wmissing-prototypes.
* configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
-Wmissing-prototypes.
* configure: Regenerate.
* gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
* builtins.c, calls.c: Change all instances of gen_call_* or
gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
* calls.c (struct_value_size_rtx): Separate definition from
initialization to avoid unused variable warning.
* genflags.c (gen_macro): New function.
(gen_proto): Call it for gen_call_* and gen_sibcall_*.
(gen_nonproto): Delete.
(gen_insn): Put all insns on the same obstack.
(main): Generate prototypes for everything unconditionally.
From-SVN: r34213
Zack Weinberg [Sat, 27 May 2000 22:05:01 +0000 (22:05 +0000)]
configure.in: Add AC_CHECK_TYPE(ssize_t).
* configure.in: Add AC_CHECK_TYPE(ssize_t). Remove commented
out check for wchar_t.
* acconfig.h: Add template for ssize_t. Remove @TOP@.
* system.h: Add infrastructure for defining missing
TYPE_MAX/TYPE_MIN macros. Use it to provide fallback
definitions of UCHAR_MAX and SSIZE_MAX.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r34212
Zack Weinberg [Sat, 27 May 2000 21:37:17 +0000 (21:37 +0000)]
Makefile.in (libgcc2.ready): Rename to libgcc.ready.
* Makefile.in (libgcc2.ready): Rename to libgcc.ready.
Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
headers.
(clean): No need to delete libgcc1.a, libgcc1-asm.a,
libgcc2.a, or libgcc1.null.
From-SVN: r34211
Zack Weinberg [Sat, 27 May 2000 21:36:52 +0000 (21:36 +0000)]
* Make-lang.in (cplib2.ready): Eradicate.
From-SVN: r34210
Richard Henderson [Sat, 27 May 2000 20:34:12 +0000 (13:34 -0700)]
alpha.c (hard_fp_register_operand): Mind the mode.
* config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
(hard_int_register_operand): New.
* config/alpha/alpha-protos.h: Declare it.
* config/alpha/alpha.h (PREDICATE_CODES): Update.
* config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
as needed; use peep2_reg_dead_p instead of dead_or_set_p.
From-SVN: r34209
Richard Henderson [Sat, 27 May 2000 20:23:15 +0000 (13:23 -0700)]
Makefile.in (recog.o): Don't depend on resource.h.
* Makefile.in (recog.o): Don't depend on resource.h.
* recog.c: Don't include resource.h.
(recog_last_allowed_insn): Remove.
(recog_next_insn): Remove.
(struct peep2_insn_data): New.
(peep2_insn_data, peep2_current): New.
(peep2_next_insn): New.
(peep2_regno_dead_p, peep2_reg_dead_p): New.
(peep2_find_free_register): New.
(peephole2_optimize): Track life information by insn as we go.
* recog.h: Update declarations.
* resource.c (find_free_register, reg_dead_p): Remove.
* resource.h: Remove their declarations.
* toplev.c: Include hard-reg-set.h before recog.h.
* genconfig.c (max_insns_per_peep2): New.
(gen_peephole2): New.
(main): Call it.
* genemit.c (output_peephole2_scratches): Generate calls to
peep2_find_free_register; adjust surrounding code.
(main): Have insn-emit.c include hard-reg-set.h before recog.h.
* genrecog.c (change_state): Don't track last_insn.
(write_action): Write into *_pmatch_len before accepting.
(write_tree): Adjust peephole2_insns and subroutines to match.
* config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
From-SVN: r34208
Richard Henderson [Sat, 27 May 2000 20:10:38 +0000 (13:10 -0700)]
function.c (thread_prologue_epilogue_insns): Don't move the line note at the head of the chain.
* function.c (thread_prologue_epilogue_insns): Don't move the
line note at the head of the chain. Only force a lineno note
before the end of block 0.
From-SVN: r34207
Richard Henderson [Sat, 27 May 2000 20:03:31 +0000 (13:03 -0700)]
gensupport.c (collect_insn_data): Record the maximum number of alternatives, not the last seen.
* gensupport.c (collect_insn_data): Record the maximum number
of alternatives, not the last seen.
From-SVN: r34206