* 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.
From-SVN: r24750
* 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.
From-SVN: r24749
* 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.
From-SVN: r24748
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.
From-SVN: r24746
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.
From-SVN: r24741
* 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.
From-SVN: r24740
* Makefile.in (GCOV_INSTALL_NAME): New macro.
(install-common): Use it.
(uninstall): Use it.
(uninstall): Use correct names for protoize and unprotoize.
From-SVN: r24737
* 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
* 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.
From-SVN: r24718
* 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.
From-SVN: r24716
* decl.c (grokdeclarator): Don't make 'main(){}' an error with only
-Wreturn-type.
Co-Authored-By: Manfred Hollstein <manfred@s-direktnet.de>
From-SVN: r24704
* 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.
From-SVN: r24703
* 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
From-SVN: r24701