Mark Mitchell [Wed, 20 Jan 1999 13:11:59 +0000 (13:11 +0000)]
error.c (dump_function_decl): Don't print the argument types for a function when the verbosity level is negative.
* error.c (dump_function_decl): Don't print the argument types for
a function when the verbosity level is negative.
* call.c (build_over_call): Check format attributes at call-time.
* pt.c (tsubst_copy): Fix comment.
(unify): Don't allow unification with variable-sized arrays.
* semantics.c (finish_stmt_expr): When processing a template make
the BIND_EXPR long-lived.
Jeff Law [Wed, 20 Jan 1999 02:09:52 +0000 (19:09 -0700)]
loop.c (NUM_STORES): Delete.
* loop.c (NUM_STORES): Delete.
(loop_store_mems): Turn into an EXPR_LIST of MEMs.
(prescan_loop): Properly initialize loop_mems_idx.
(note_addr_stored): Simplify using list structure instead of
fixed sized array.
(invariant_p, check_dbra_loop, load_mems): Similarly.
* genoutput.c (name_for_index): New function.
(scan_operands, validate_insn_alternatives): Use it.
* genrecog.c (insn_name_ptr_size): New variable.
(make_insn_sequence): Fill in insn_name_ptr.
(merge_trees): Use it.
Andrew MacLeod [Tue, 19 Jan 1999 09:39:37 +0000 (09:39 +0000)]
optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all calls within a libcall block to indicate no...
* optabs.c (emit_libcall_block): Add a REG_EH_REGION reg note to all
calls within a libcall block to indicate no throws are possible.
* flow.c (find_basic_blocks, find_basic_blocks_1): Don't look for
libcall blocks. Don't add edges to exception handlers if we see
a REG_EH_REGION note with a value of 0.
(make_edges): Override active_eh_region vector if the call has a note
indicating the call does not throw.
Jason Merrill [Mon, 18 Jan 1999 14:07:32 +0000 (09:07 -0500)]
typeck.c (build_component_ref): Wrap an OVERLOAD around a unique non-static member function.
* typeck.c (build_component_ref): Wrap an OVERLOAD around a unique
non-static member function.
* class.c (instantiate_type): Only diagnose illegal address of member
function if complaining.
* decl.c (lookup_name_real): Remove duplicate code.
Jason Merrill [Mon, 18 Jan 1999 13:32:57 +0000 (08:32 -0500)]
tree.c (copy_template_template_parm): Use permanent_obstack.
* tree.c (copy_template_template_parm): Use permanent_obstack.
* pt.c (unify): Remove restrictions on deduction of argument
of template template parameters.
* rtti.c (build_dynamic_cast_1): Resolve OFFSET_REF exprs.
* class.c (resolve_address_of_overloaded_function): Show list of
all candidates, when none of them match.
Jason Merrill [Mon, 18 Jan 1999 12:49:20 +0000 (07:49 -0500)]
typeck.c (comp_ptr_ttypes_reinterpret): Per ANSI, tighten up definition of 'casting away const' in reinterpret_cast<>.
* typeck.c (comp_ptr_ttypes_reinterpret): Per ANSI, tighten up
definition of 'casting away const' in reinterpret_cast<>.
* cvt.c: Add include for decl.h, remove extern for
static_aggregates which is now provided by decl.h.
* Makefile.in (cvt.o): Add dependency for decl.h and missing
dependencies for convert.h and flags.h.
* decl2.c (do_dtors): Set current location to that of the
decl, for sensible diagnostics and debugging.
(check_classfn): Issue `incomplete type' error, if
class is not defined.
* cp-tree.h: Add prototype for bound_pmf_p.
Vladimir Makarov [Mon, 18 Jan 1999 09:37:00 +0000 (09:37 +0000)]
[multiple changes]
1999-01-18 Vladimir N. Makarov <vmakarov@cygnus.com>
* invoke.texi (-mcpu=740, -mcpu=750): New options.
(-m(no-)multiple, -m(no-)string): Describe cases for PPC740 &
PPC750.
1999-01-18 Michael Meissner <meissner@cygnus.com>
* rs6000.h ({ASM,CPP}_CPU_SPEC): Add support for all machines
supported with -mcpu=xxx.
(processor_type): Add PROCESSOR_PPC750.
(ADJUST_PRIORITY): Call rs6000_adjust_priority.
(RTX_COSTS): Supply costs for 750 multiply/divide operations.
(rs6000_adjust_priority): Add declaration.
* rs6000.c (rs6000_override_options): -mcpu={750,740} now sets the
processor type as 750, not 603. Allow -mmultiple and -mstring on
little endian 750 systems.
(rs6000_adjust_priority): Stub for now.
(get_issue_rate): The PowerPC 750 can issue 2 instructions/cycle.
* rs6000.md (function/cpu attributes): Add initial ppc750 support.
* sysv4.h (STRICT_ALIGNMENT): Don't force strict alignment if
little endian.
(CC1_SPEC): Pass -mstrict-align if little endian, and not
overridden.
(CC1_ENDIAN_{LITTLE,BIG,DEFAULT}_SPEC): Endian specific configs.
(SUBTARGET_EXTRA_SPECS): Add cc1 endian specs.
* {sysv4,eabi}le.h (CC1_ENDIAN_DEFAULT_SPEC): Override, default is
little endian.
* t-ppcgas (MULTILIB_*): Delete obsolete Solaris multilibs.
Andrew Haley [Mon, 18 Jan 1999 06:29:26 +0000 (06:29 +0000)]
parse.y (patch_binop): Do a type conversion from signed to unsigned and then back to signed when...
1999-01-18 Andrew Haley <aph@cygnus.com>
* parse.y (patch_binop): Do a type conversion from signed to
unsigned and then back to signed when a ">>>" is found.
Kaveh R. Ghazi [Mon, 18 Jan 1999 06:17:31 +0000 (06:17 +0000)]
Warning fixes:
* loop.c (insert_bct): Hide the definition of variables
`increment_direction', `compare_direction', `add_iteration' and
`loop_var_mode'.
* recog.c (mode_dependent_address_p): Mark parameter `addr' with
ATTRIBUTE_UNUSED. Mark label `win' with ATTRIBUTE_UNUSED_LABEL.
(mode_independent_operand): Mark label `lose' with
ATTRIBUTE_UNUSED_LABEL.
* regclass.c (n_occurrences): Remove prototype and definition.
* reload.c (find_reloads_address_1): Mark variable `tem' with
ATTRIBUTE_UNUSED.
* reload1.c (reload): Cast the first two arguments of `bcopy' to PTR.
* sbitmap.c (sbitmap_copy): Likewise.
* scan-decls.c (scan_decls): Hide label `handle_comma'.
* toplev.c (output_lang_identify): Mark prototype with
ATTRIBUTE_UNUSED.
* tree.c (make_node): Cast the first argument of `bzero' to PTR.
(make_tree_vec): Likewise.
(build1): Likewise.
* varasm.c (assemble_static_space): Mark variable `tem' with
ATTRIBUTE_UNUSED.
Nathan Sidwell [Mon, 18 Jan 1999 03:32:53 +0000 (03:32 +0000)]
Makefile.in (GCOV_INSTALL_NAME): New macro.
* Makefile.in (GCOV_INSTALL_NAME): New macro.
(install-common): Use it.
(uninstall): Use it.
(uninstall): Use correct names for protoize and unprotoize.
Christian Bruel [Mon, 18 Jan 1999 03:01:26 +0000 (20:01 -0700)]
flow.c (last_mem_set): Delete variable.
* flow.c (last_mem_set): Delete variable. References removed.
(mem_set_list): New variable.
(life_analysis): Initialize and finalize alias analysis.
(propagate_block); Initialize mem_set_list. Clear for CALL_INSNs.
(insn_dead_p): For a store to memory, search the entire mem_set_list
for a match.
(mark_set_1): Kill entries on the mem_set_list for aliased writes or
changes to their addresses. Add new entries to the mem_set_list for
memory writes writes.
(mark_used_regs): Kill entries on the mem_set_list which may be
referenced by a load operation.
Co-Authored-By: Jeffrey A Law <law@cygnus.com>
From-SVN: r24734
Jeff Law [Sun, 17 Jan 1999 18:26:42 +0000 (11:26 -0700)]
regmove.c (optimize_reg_copy_1): Undo Aug 18 change.
* regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update
REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change
where a register is live.
Jeff Law [Sun, 17 Jan 1999 18:04:07 +0000 (11:04 -0700)]
reg-stack.c (subst_stack_regs_pat): Abort if the destination of a FP conditional move is not on the FP register stack.
* reg-stack.c (subst_stack_regs_pat): Abort if the destination
of a FP conditional move is not on the FP register stack.
Forgot to check it in last night/this morning. One should not hack at 4am.
Kaveh R. Ghazi [Sat, 16 Jan 1999 16:43:26 +0000 (16:43 +0000)]
c-decl.c (duplicate_decls): If `warn_traditional'...
* c-decl.c (duplicate_decls): If `warn_traditional', warn when
a non-static function declaration follows a static one.
* invoke.texi (-Wtraditional): Document the extra check now done
by this flag.
* cp-tree.h (struct lang_type): Added has_mutable flag.
(CLASSTYPE_HAS_MUTABLE): New macro to access it.
(TYPE_HAS_MUTABLE_P): New macro to read it.
(cp_has_mutable_p): Prototype for new function.
* class.c (finish_struct_1): Set has_mutable from members.
* decl.c (cp_finish_decl): Clear decl's TREE_READONLY flag, if
it contains a mutable.
* typeck.c (cp_has_mutable_p): New function.
Fixes g++.other/mutable1.C
Per Bothner [Sat, 16 Jan 1999 10:00:31 +0000 (02:00 -0800)]
expr.c (process_jvm_instruction): Coerce to correct Throwable sub-type the result of the call that gets the...
* expr.c (process_jvm_instruction): Coerce to correct Throwable
sub-type the result of the call that gets the exception value.
* parse.y (java_complete_expand_methods): If flags_syntax_only,
don't call finish_class.
* parse.y (java_check_regular_methods): If METHOD_PRIVATE,
clear found before continuing.
* verify.c (verify_jvm_instructions): On an array load, allow
and handle top of stack to be TYPE_NULL.
Per Bothner [Sat, 16 Jan 1999 10:00:29 +0000 (02:00 -0800)]
expr.c (process_jvm_instruction): Coerce to correct Throwable sub-type the result of the call that gets the...
d
* expr.c (process_jvm_instruction): Coerce to correct Throwable
sub-type the result of the call that gets the exception value.
* parse.y (java_complete_expand_methods): If flags_syntax_only,
don't call finish_class.
* parse.y (java_check_regular_methods): If METHOD_PRIVATE,
clear found before continuing.
* verify.c (verify_jvm_instructions): On an array load, allow
and handle top of stack to be TYPE_NULL.
Per Bothner [Sat, 16 Jan 1999 10:00:27 +0000 (02:00 -0800)]
expr.c (process_jvm_instruction): Coerce to correct Throwable sub-type the result of the call that gets the...
�
* expr.c (process_jvm_instruction): Coerce to correct Throwable
sub-type the result of the call that gets the exception value.
* parse.y (java_complete_expand_methods): If flags_syntax_only,
don't call finish_class.
* parse.y (java_check_regular_methods): If METHOD_PRIVATE,
clear found before continuing.
* verify.c (verify_jvm_instructions): On an array load, allow
and handle top of stack to be TYPE_NULL.
* expr.c (queued_subexp_p): Make public.
* expr.h (queued_subexp_p): Declare it.
* recog.c (asm_operand_ok): New function.
(check_asm_operands): Use it. After reload, use constrain_operands
instead.
* recog.h (asm_operand_ok): Declare it.
* stmt.c (expand_asm_operands): Use it to try harder to make
asms initially satisfy their constraints.