* typeck2.c (build_x_arrow): Don't crash when an aggregate type
has no overloaded operator ->.
* call.c (build_field_call): Don't crash when presented with a
field that is actually a nested type.
* decl.c (pushtag): Deal with friend class injection in local
classes.
* call.c (build_object_call): Don't crash if OBJ is a
pointer-to-member-function.
From-SVN: r18647
�
* config-ml.in: After building symlink tree call make distclean
if a Makefile got linked into ${ml_dir}/${ml_libdir}; this happens
to be the case for libiberty.
* Makefile.in (clean, distclean): Add 'info' explicitly.
From-SVN: r18645
�
* config-ml.in: After building symlink tree call make distclean
if a Makefile got linked into ${ml_dir}/${ml_libdir}; this happens
to be the case for libiberty.
* Makefile.in (clean, distclean): Add 'info' explicitly.
From-SVN: r18644
�
* config-ml.in: After building symlink tree call make distclean
if a Makefile got linked into ${ml_dir}/${ml_libdir}; this happens
to be the case for libiberty.
* Makefile.in (clean, distclean): Add 'info' explicitly.
From-SVN: r18643
P
* config-ml.in: After building symlink tree call make distclean
if a Makefile got linked into ${ml_dir}/${ml_libdir}; this happens
to be the case for libiberty.
* Makefile.in (clean, distclean): Add 'info' explicitly.
From-SVN: r18642
* class.c (pushclass): Only use the mi_matrix stuff #ifdef MI_MATRIX.
* search.c: Likewise.
* lex.c (do_pending_defargs): Only call
maybe_{begin,end}_member_template_processing for FUNCTION_DECLs.
* parse.y (initdcl0_innards): Move maybeasm back into initdcl0 et al.
From-SVN: r18637
* except.c (insn_eh_region, maximum_uid): New static variables.
(set_insn_eh_region): New static function to set region numbers.
(free_insn_eh_region): New function to free EH region table.
(init_insn_eh_region): New function to initialize EH region table.
(in_same_eh_region): New function used to determine if two rtl
instructions are in the same exception region or not.
From-SVN: r18624
* except.h (in_same_eh_region): New prototype.
(free_insn_eh_region, init_insn_eh_region): New prototypes.
* except.c (insn_eh_region, maximum_uid): New static variables.
(set_insn_eh_region): New static function to set region numbers.
(free_insn_eh_region): New function to free EH region table.
(init_insn_eh_region): New function to initialize EH region table.
(in_same_eh_region): New function used to determine if two rtl
instructions are in the same exception region or not.
* final.c (final): Initialize the table indicating which instructions
belong in which exception region.
* genpeep.c (main): Add "except.h" to include file list in generated
file insn-peep.c.
* config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4
peepholes involving calls and unconditional branches.
From-SVN: r18622
Change MEMORY_MOVE_COST defs and uses to be able to take register class into
account. Change mips def to actually do so, others to just ignore extra args.
Doc changes too.
From-SVN: r18621
* pt.c (tsubst_copy): Deal with BIND_EXPR in a way that more
closely mimics the behavior in parse.y.
(tsubst_expr): Return the resuting BLOCK when making a tsubst'ing
into a compound statement.
From-SVN: r18618
* config/m68k/m68k.c: Include <stdlib.h> for atoi. Include
"recog.h" for offsettable_memref_p.
(legitimize_pic_address): Remove unused variable `offset'.
(notice_update_cc): Change return type to void. Add default label
to switch.
(standard_68881_constant_p): Remove unused variable mode.
(print_operand): Define local variable i only if SUPPORT_SUN_FPA.
(const_int_cost): Explicitly declare as returning int.
(output_dbcc_and_branch): Change return type to void.
* config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c,
config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX
(...). Use GEN_INT instead of gen_rtx_CONST_INT.
From-SVN: r18617
* cp-tree.h (TEMPLATE_PARMS_FOR_INLINE): New macro.
* pt.c (inline_needs_template_parms): New fn.
(original_template): New fn.
(push_inline_template_parms_recursive): New fn.
(maybe_begin_member_template_processing): Use them.
(maybe_end_member_template_processing): Likewise.
(is_member_or_friend_template): Rename to is_member_template.
Member functions of local classes are never member templates.
* lex.c (do_identifier): Handle TEMPLATE_DECL that was
added in the class scope to catch redefinition error.
* pt.c (reduce_template_parm_level): Also copy
the DECL_TEMPLATE_PARMS field.
From-SVN: r18595
d
* cp-tree.h (struct lang_decl_flags): Add needs_final_overrider.
(DECL_NEEDS_FINAL_OVERRIDER_P): New macro.
* class.c (override_one_vtable): Set DECL_NEEDS_FINAL_OVERRIDER_P.
* decl.c (duplicate_decls): Propagate it.
* typeck2.c (abstract_virtuals_error): Use two loops to emit
abstract virtual functions and virtual functions which need a
final overrider separately.
From-SVN: r18588
a
* cp-tree.h (struct lang_decl_flags): Add needs_final_overrider.
(DECL_NEEDS_FINAL_OVERRIDER_P): New macro.
* class.c (override_one_vtable): Set DECL_NEEDS_FINAL_OVERRIDER_P.
* decl.c (duplicate_decls): Propagate it.
* typeck2.c (abstract_virtuals_error): Use two loops to emit
abstract virtual functions and virtual functions which need a
final overrider separately.
From-SVN: r18587
�
* cp-tree.h (struct lang_decl_flags): Add needs_final_overrider.
(DECL_NEEDS_FINAL_OVERRIDER_P): New macro.
* class.c (override_one_vtable): Set DECL_NEEDS_FINAL_OVERRIDER_P.
* decl.c (duplicate_decls): Propagate it.
* typeck2.c (abstract_virtuals_error): Use two loops to emit
abstract virtual functions and virtual functions which need a
final overrider separately.
From-SVN: r18586
* i386.c (ix86_logical_operator): New function.
(split_di): Ensure that when a MEM is split, the resulting MEMs have
SImode.
* i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split
to implement them.
From-SVN: r18514
* tm.texi (DEFAULT_RTX_COSTS): Document new macro.
* arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
* cse.c (rtx_cost): Provide a default case in an enumeration
switch, and call DEFAULT_RTX_COSTS if it's defined.
Co-Authored-By: Nick Clifton <nickc@cygnus.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r18513
* basic-block.h (compute_preds_succs): Change return type in
prototype to void.
* flow.c (compute_preds_succs): Likewise in function definition.
* regmove.c (find_matches): Cast char used as array index to unsigned char
to supress warning.
From-SVN: r18508
d
* basic-block.h (compute_preds_succs): Change return type in
prototype to void.
* flow.c (compute_preds_succs): Likewise in function definition.
* regmove.c (find_matches): Cast char used as array index to unsigned char
to supress warning.
From-SVN: r18507
a
* basic-block.h (compute_preds_succs): Change return type in
prototype to void.
* flow.c (compute_preds_succs): Likewise in function definition.
* regmove.c (find_matches): Cast char used as array index to unsigned char
to supress warning.
From-SVN: r18506
�
* basic-block.h (compute_preds_succs): Change return type in
prototype to void.
* flow.c (compute_preds_succs): Likewise in function definition.
* regmove.c (find_matches): Cast char used as array index to unsigned char
to supress warning.
From-SVN: r18505
In gcc/:
* i386.h (RTX_COSTS): Insert braces around nested if.
(ADDITIONAL_REGISTER_NAMES): Insert braces around structured
elements.
* gcc.c (default_compilers): Properly put brackets around array elements in
initializer.
* getopt.c (_getopt_internal): Add explicit braces around nested if;
reformatted.
* reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's.
(record_reg_life_pat): Add explicit parens around && and || in expression.
(stack_reg_life_analysis): Add parens around assignment used as expression.
(convert_regs): Likewise.
In gcc/cp/:
* lang-specs.h: Properly put brackets around array elements in initializer.
* typeck.c (build_binary_op_nodefault): Correctly place parens around
&& and || in expression.
In gcc/f/:
* lang-specs.h: Properly put brackets around array elements in initializer.
From-SVN: r18503