* decl.c (duplicate_decls): Always merge the old and new patterns
for templates, regardless of whether or not the new one has
DECL_INITIAL. Don't throw away specializations. Merge
DECL_SAVED_TREE.
* pt.c (tsubst_decl): Use the right pattern when calculating the
complete args for a new template instance.
(do_decl_instantiation): Fix typo in comment.
(regenerate_decl_from_template): Deal with tricky friend template
case.
(instantiate_decl): Likewise.
From-SVN: r21876
* rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit.
(output_toc): Use single TOC slot or llong minimal-toc for DFmode
and DImode 64-bit. Use llong for minimal-toc SFmode and
SYMBOL_REF / LABEL_REF 64-bit.
(output_function_profiler): Use llong for profiler label and ld to
load 64-bit label address.
From-SVN: r21864
* typeck.c (build_binary_op_nodefault): Warn on use of NULL in
arithmetic.
* except.c (build_throw): Warn when NULL is thrown, even with
-ansi. Use ansi_null_node, rather than integer_zero_node, in the
thrown expression.
From-SVN: r21863
From Nick Clifton
* execute/ieee/930529-1.c (main): Check to see if __thumb__ is
defined, and test for ARM style doubles if so.
* execute/comp-goto-1.c (main): Make main() return an int.
From-SVN: r21860
From Nick Clifton
* execute/ieee/930529-1.c (main): Check to see if __thumb__ is
defined, and test for ARM style doubles if so.
* execute/comp-goto-1.c (main): Make main() return an int.
From-SVN: r21859
* cp-tree.h (ansi_null_node): New variable.
* decl.c (ansi_null_node): New variable.
(init_decl_processing): Initialize its type.
* lex.c (init_parse): Initialize its value. Use ansi_null_node
for null_node in non-ANSI mode.
* typeck.c (build_binary_op_nodefault): Use ansi_null_node in
place of null_node to avoid spurious errors.
From-SVN: r21858
x
* cplus-dem.c (work_stuff): Add dllimported.
(demangled_prefix): Mark symbols imported from PE DLL.
(internal_cplus_demangled): Handle.
From-SVN: r21852
* tm.texi (Caller Saves): Say that DEFAULT_CALLER_SAVES has no
effect when -O2 and higher.
* invoke.texi (Optimize Options): Likewise for -fcaller-saves.
From-SVN: r21848
* regclass.c: Changed register set documentation to be consistent
with GCC behaviour.
* final.c (final_start_function) Removed redundant test for
call_fixed_regs.
From-SVN: r21847
* rtl.h (rtx_function): New type.
(for_each_rtx): New function.
* rtlanal.c (for_each_rtx): Define it.
* recog.c (change_t): New type.
(change_objects, change_old_codes, change_locs, change_olds):
Replace with ...
(changes): New variable.
(validate_change): Dynamically allocate room for more changes, if
necessary. Uses changes array instead of change_objects, etc.
(apply_change_group): Use changes array instead of
change_objects, etc.
* loop.c (loop_mem_info): New type.
(loop_mems): New variable.
(loop_mems_idx): Likewise.
(looop_mems_allocated): Likewise.
(scan_loop): Remove nregs parameter.
(next_insn_in_loop): New function.
(load_mems_and_recount_loop_regs_set): Likewise.
(load_mems): Likewise.
(insert_loop_mem): Likewise.
(replace_loop_mem): Likewise.
(replace_label): Likewise.
(INSN_IN_RANGE_P): New macro.
(loop_optimize): Don't pass max_reg_num() to scan_loop.
(scan_loop): Remove nregs parameter, compute it after any new
registers are created by load_mems. Use INSN_IN_RANGE_P and
next_insn_in_loop rather than expanding them inline. Call
load_mems to load memory into pseudos, if appropriate.
(prescan_loop): Figure out whether or not there are jumps from the
loop to targets other than the label immediately following the
loop. Call insert_loop_mem to notice all the MEMs used in the
loop, if it could be safe to pull MEMs into REGs for the duration
of the loop.
(strength_reduce): Use next_insn_in_loop. Tweak comments.
From-SVN: r21845
* config/sparc/sparc.c (finalize_pic): Check for the correct
nonlocal_goto_receiver UNSPEC number.
* config/sparc/sparc.md (nonlocal_goto_receiver): Add comment
making note of this dependency existing in sparc.c
From-SVN: r21842
* expr.c (emit_block_move): Do not call memcpy as a libcall
instead build up a CALL_EXPR and call it like any other
function.
(clear_storage): Similarly for memset.
From-SVN: r21831
* config/sparc/sparc.c (ultra_find_type): Add empty semicolon
statement after end of loop label.
From me...
* config/sparc/sparc.c (ultra_types_avail): New variable.
(ultra_build_types_avail): New function to record mask of insn
types in ready list at this cycle.
(ultrasparc_sched_reorder): Call it.
(ultra_find_type): Use it to quicken the search. Also simplif
dependency check, don't use rtx_equal_p because we know exactly
what we are looking for.
From-SVN: r21817
* cp-tree.h (enter_scope_of): New function.
* parse.y (complex_direct_notype_declarator): Use it.
* semantics.c (enter_scope_of): New function.
From-SVN: r21812