aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenth@gcc.gnu.org>2012-01-09 10:11:38 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2012-01-09 10:11:38 +0000
commita7f45047440d019d5cbd20629af5c2d526a33b4f (patch)
treebadc3ff1c829e6f5d75752864401299ffd4d755e
parentbf4db96c93ce31bbad0984724f9ab2d6695ca9ee (diff)
downloadgcc-a7f45047440d019d5cbd20629af5c2d526a33b4f.zip
gcc-a7f45047440d019d5cbd20629af5c2d526a33b4f.tar.gz
gcc-a7f45047440d019d5cbd20629af5c2d526a33b4f.tar.bz2
2012-01-09 Richard Guenther <rguenther@suse.de>
Rotate changelogs. From-SVN: r183007
-rw-r--r--gcc/ChangeLog40038
-rw-r--r--gcc/ChangeLog-201140041
-rw-r--r--gcc/ada/ChangeLog18450
-rw-r--r--gcc/ada/ChangeLog-201118453
-rw-r--r--gcc/cp/ChangeLog5030
-rw-r--r--gcc/cp/ChangeLog-20115033
-rw-r--r--gcc/fortran/ChangeLog4087
-rw-r--r--gcc/fortran/ChangeLog-20114090
-rw-r--r--gcc/testsuite/ChangeLog15867
-rw-r--r--gcc/testsuite/ChangeLog-201115870
-rw-r--r--libgfortran/ChangeLog1482
-rw-r--r--libgfortran/ChangeLog-20111485
-rw-r--r--libjava/ChangeLog243
-rw-r--r--libjava/ChangeLog-2011246
14 files changed, 85225 insertions, 85190 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4cce735..22fb1bd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -500,40044 +500,8 @@
* tree-ssa-propagate.c (substitute_and_fold): Don't optimize away
calls with side-effects.
* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
-
-2011-12-31 Alexandre Oliva <aoliva@redhat.com>
-
- * cselib.h (cselib_add_permanent_equiv): Declare.
- (canonical_cselib_val): New.
- * cselib.c (new_elt_loc_list): Rework to support value
- equivalences. Adjust all callers.
- (preserve_only_constants): Retain value equivalences.
- (references_value_p): Retain preserved values.
- (rtx_equal_for_cselib_1): Handle value equivalences.
- (cselib_invalidate_regno): Use canonical value.
- (cselib_add_permanent_equiv): New.
- * alias.c (find_base_term): Reset locs lists while recursing.
- * var-tracking.c (val_bind): New. Don't add equivalences
- present in cselib table, compared with code moved from...
- (val_store): ... here.
- (val_resolve): Use val_bind.
- (VAL_EXPR_HAS_REVERSE): Drop.
- (add_uses): Do not create MOps for addresses. Do not mark
- non-REG non-MEM expressions as requiring resolution.
- (reverse_op): Record reverse as a cselib equivalence.
- (add_stores): Use it. Do not create MOps for addresses.
- Do not require resolution for non-REG non-MEM expressions.
- Simplify support for reverse operations.
- (compute_bb_dataflow): Drop reverse support.
- (emit_notes_in_bb): Likewise.
- (create_entry_value): Rename to...
- (record_entry_value): ... this. Use cselib equivalences.
- (vt_add_function_parameter): Adjust.
-
-2011-12-30 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
- in setting options via target #pragma or attribute.
-
-2011-12-30 Anatoly Sokolov <aesok@post.ru>
-
- * config/bfin/bfin.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/bfin/bfin-protos.h (bfin_register_move_cost,
- bfin_memory_move_cost): Remove.
- * config/bfin/bfin.c (bfin_register_move_cost,
- bfin_memory_move_cost): Make static. Change arguments type from
- enum reg_class to reg_class_t and from int to bool.
- (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
-
-2011-12-30 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (total_lines, total_executed): New global vars.
- (generate_results): Call executed_summary.
- (executed_summary): New function, broken out of ...
- (function_summary): ... here. Call it.
- * coverage.c (coverage_finish): Also check for local_tick == -1.
- * gcov-dump (tag_function): Correct labelling typo.
-
-2011-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/51623
- * config/rs6000/rs6000.c (rs6000_assemble_integer): Delete check
- for an initialized pointer being in a text section with
- -mrelocatable, since it should never happen.
-
-2011-12-29 Michael Eager <eager@eagercon.com>
-
- * config/microblaze/microblaze.md: Add expander for simple_return,
- return, add return_internal and simple_return_internal insns.
-
-2011-12-29 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
- * config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
- expression.
-
-2011-12-28 Ian Lance Taylor <iant@google.com>
-
- * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Go for Go.
-
-2011-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/51623
- * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
- unlikely_text_section_p. Instead check for being in a code section.
-
-2011-12-28 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/51684
- * tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of original
- statement in case of a pattern.
- (vect_schedule_slp): Likewise.
-
-2011-12-27 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/51667
- * ree.c (insn_merge_code): Delete.
- (is_insn_merge_attempted): Likewise.
- (get_insn_status): Likewise.
- (set_insn_status): Likewise.
- (struct ext_cand): Add CODE and MODE fields.
- (combine_set_extend): Rename to...
- (combine_set_extension): ...this. Use above fields and tidy up.
- (transform_ifelse): Likewise.
- (get_defs): Return the chain of definitions.
- (is_this_a_cmove): Merge into...
- (is_cond_copy_insn): ...this. Return bool.
- (make_defs_and_copies_lists): Adjust calls to get_defs and simplify.
- (merge_def_and_ext): Adjust call to combine_set_extend.
- (combine_reaching_defs): Remove calls to {g|s}et_insn_status.
- (struct extend_info): Rename to...
- (struct re_info): ...this. Add DEF_MAP field.
- (add_ext_candidate): Merge into...
- (add_removable_extension): ...this. Adjust calls to get_defs. Ensure
- reaching definitions are associated with only one kind of extension.
- (find_removable_extensions): Create and destroy the definition map.
- (find_and_remove_re): Return void. Change 'long' variables to 'int'.
- Do not deal with is_insn_merge_attempted.
-
-2011-12-25 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48641
- * tree-ssa-threadupdate.c (redirect_edges): Watch for overflow.
-
-2011-12-26 Oleg Endo <oleg.endo@t-online.de>
-
- * config/sh/sync.md: Add soft atomics ABI description.
- (fetchop_name): Use 'or' instead of 'ior'.
- (fetchop_insn): Remove.
- (atomic_compare_and_swap<mode>_soft):
- Don't insert aligning nop after the write-back instruction. Fix
- multi-line asm output formatting style.
- (atomic_fetch_<fetchop_name><mode>_soft): Likewise.
- (atomic_fetch_nand<mode>_soft): Likewise.
- (atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
- (atomic_nand_fetch<mode>_soft): Likewise.
-
-2011-12-23 Richard Henderson <rth@redhat.com>
-
- * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
- * cfgexpand.c (expand_debug_expr): Don't handle them.
- * expr.c (expand_expr_real_2): Likewise.
- * fold-const.c (fold_binary_loc): Likewise.
- * gimple-pretty-print.c (dump_binary_rhs): Likewise.
- * tree-cfg.c (verify_gimple_assign_binary): Likewise.
- * tree-inline.c (estimate_operator_cost): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * tree-vect-generic.c (expand_vector_operations_1): Likewise.
- * optabs.c (optab_for_tree_code): Likewise.
- (can_vec_perm_for_code_p): Remove.
- (expand_binop): Don't try it.
- (init_optabs): Don't init vec_extract_even/odd_optab.
- * genopinit.c (optabs): Likewise.
- * optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
- (vec_extract_even_optab, vec_extract_odd_optab): Remove.
- * tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
- (vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
- GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
- asserting vect_strided_store_supported.
- (vect_strided_load_supported): Use can_vec_perm_p.
- (vect_permute_load_chain): Use VEC_PERM_EXPR.
-
- * doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
- (VEC_EXTRACT_ODD_EXPR): Remove.
- * doc/md.texi (vec_extract_even, vec_extract_odd): Remove.
-
-2011-12-23 Anatoly Sokolov <aesok@post.ru>
-
- * config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/score/score-protos.h (score_register_move_cost): Remove.
- * config/score/score.c (TARGET_REGISTER_MOVE_COST): Define.
- (score_register_move_cost): Make static. Change arguments type from
- enum reg_class to reg_class_t.
-
-2011-12-23 Jakub Jelinek <jakub@redhat.com>
- Richard Henderson <rth@redhat.com>
-
- * tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
- * gimple-pretty-print.c (dump_binary_rhs): Don't handle
- VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
- * expr.c (expand_expr_real_2): Likewise.
- * tree-cfg.c (verify_gimple_assign_binary): Likewise.
- * cfgexpand.c (expand_debug_expr): Likewise.
- * tree-inline.c (estimate_operator_cost): Likewise.
- * tree-pretty-print.c (dump_generic_node): Likewise.
- * tree-vect-generic.c (expand_vector_operations_1): Likewise.
- * fold-const.c (fold_binary_loc): Likewise.
- * doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
- VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
- * optabs.c (optab_for_tree_code): Don't handle
- VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
- (expand_binop, init_optabs): Remove vec_interleave_high_optab
- and vec_interleave_low_optab.
- * genopinit.c (optabs): Likewise.
- * optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
- (vec_interleave_high_optab, vec_interleave_low_optab): Remove.
- * doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
- documentation.
- * tree-vect-stmts.c (gen_perm_mask): Renamed to...
- (vect_gen_perm_mask): ... this. No longer static.
- (perm_mask_for_reverse, vectorizable_load): Adjust callers.
- * tree-vectorizer.h (vect_gen_perm_mask): New prototype.
- * tree-vect-data-refs.c (vect_strided_store_supported): Don't try
- VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
- can_vec_perm_for_code_p.
- (vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
- masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
- * config/i386/i386.c (expand_vec_perm_interleave2): If
- expand_vec_perm_interleave3 would handle it, return false.
- (expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.
-
-2011-12-23 Richard Henderson <rth@redhat.com>
-
- * config/mips/loongson.md (UNSPEC_LOONGSON_PINSR_0,
- UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2,
- UNSPEC_LOONGSON_PINSR_3): Replace with...
- (UNSPEC_LOONGSON_PINSRH): ... this.
- (UNSPEC_LOONGSON_VINIT): New.
- (UNSPEC_LOONGSON_DSLL, UNSPEC_LOONGSON_DSRL): New.
- (VWB): New mode iterator.
- (V_inner): New mode attribute.
- (loongson_vec_init1_<VHB>): New.
- (*vec_concatv2si): New.
- (and<VWHB>3, ior<VWHB>3, xor<VWHB>3, one_cmpl<VWHB>2): New.
- (*loongson_nor): New.
- (loongson_pextrh): Un-macro-ify.
- (loongson_pmaddhw): Likewise.
- (smaxv4hi3, umaxv8qi3, sminv4hi3, uminv8qi3): Likewise.
- (loongson_pinsrh_0): Represent with vec_select+vec_concat.
- (loongson_pinsrh_1, loongson_pinsrh_2, loongson_pinsrh_3): Likewise.
- (*vec_setv4hi, vec_setv4hi): New.
- (sdot_prodv4hi): New.
- (smax<VWB>3, smin<VWB>3): New.
- (reduc_uplus_v8qi): New.
- (loongson_pshufh): Remove destination matching input.
- (ashl<VWH>3, ashr<VWH>3, lshr<VWH>3): Fix type attribute.
- (vec_interleave_high<VWHB>, vec_interleave_low<VWHB>): Remove.
- (loongson_punpckhbh, loongson_punpckhhw, loongson_punpckhhw_qi,
- loongson_punpckhwd, loongson_punpckhwd_qi, loongson_punpckhwd_hi,
- loongson_punpcklbh, loongson_punpcklhw, loongson_punpcklhw_qi,
- loongson_punpcklwd, loongson_punpcklwd_qi, loongson_punpcklwd_hi,
- vec_perm_const<VWHB>, vec_unpacks_lo_<VHB>, vec_unpacks_hi_<VHB>,
- vec_unpacku_lo_<VHB>, vec_unpacku_hi_<VHB>, vec_shl_<VWHBDI>,
- vec_shr_<VWHBDI>, reduc_uplus_<VWH>, reduc_splus_<VWHB>,
- reduc_smax_<VWHB>, reduc_smin_<VWHB>, reduc_umax_<VWHB>,
- reduc_umin_<VB>): New.
- * config/mips/mips-ps-3d.md (vec_perm_const_ps): New.
- (mips_pul_ps, mips_puu_ps, mips_pll_ps, mips_plu_ps): Expand in
- terms of vec_perm_const_ps.
- (vec_perm_constv2sf): New.
- (vec_initv2sf): Use mips_expand_vector_init.
- (vec_concatv2sf): Rename from vec_initv2sf_internal.
- (vec_setv2sf): Use vec_perm_const_ps.
- (reduc_splus_v2sf, reduc_smin_v2sf, reduc_smax_v2sf): New.
- * config/mips/loongson.h (pshufh_u, pshufh_s): Don't pass dest to
- the builtin.
- * config/mips/mips-modes.def (V16QI, V8HI, V4SI, V4SF): New modes.
- * config/mips/mips-protos.h: Update.
- * config/mips/mips.c (mips_get_arg_info): Match V2SFmode, not all
- MODE_VECTOR_FLOAT.
- (mips_return_mode_in_fpr_p): Likewise.
- (mips_cannot_change_mode_class): Allow 8-byte integral mode changes.
- (CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw,
- CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh,
- CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): Remove.
- (mips_builtins): Remove first operand for loongson pshufh builtins.
- (MAX_VECT_LEN, struct expand_vec_perm_d): New.
- (mips_expand_vselect, mips_expand_vselect_vconcat,
- mips_expand_vpc_loongson_even_odd, mips_expand_vpc_loongson_pshufh,
- mips_expand_vpc_loongson_bcast, mips_expand_vec_perm_const_1,
- mips_expand_vec_perm_const, mips_vectorize_vec_perm_const_ok,
- mips_expand_vec_unpack, mips_constant_elt_p, mips_expand_vi_broadcast,
- mips_expand_vi_constant, mips_expand_vi_loongson_one_pinsrh,
- mips_expand_vi_general, mips_expand_vec_reduc, mips_expand_vec_minmax,
- TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
- (mips_expand_vector_init): Rewrite.
- * config/mips/predicates.md (const_2_or_3_operand): New.
- (const_0_to_3_operand): New.
-
-2011-12-23 Dmitry Plotnikov <dplotnikov@ispras.ru>
-
- * config/arm/neon.md (float<mode><V_cvtto>2): New.
- (floatuns<mode><V_cvtto>2): New.
- (fix_trunc<mode><V_cvtto>2): New.
- (fix_truncuns<mode><V_cvtto>2): New.
- * config/arm/iterators.md (V_cvtto): New iterator.
-
-2011-12-23 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/50396
- * simplify-rtx.c (simplify_binary_operation_1): Properly
- guard code that only works for integers.
-
-2011-12-23 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-crtlmap.map (log10): Fix typo.
-
-2011-12-23 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.
-
-2011-12-22 Bin Cheng <bin.cheng@arm.com>
- Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/43491
- * tree-ssa-pre.c (eliminate): Don't replace global register
- variable when it is the RHS of a single assign.
-
-2011-12-22 Joey Ye <joey.ye@arm.com>
-
- * toplev.c (process_options): Fix typo.
-
-2011-12-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/51252
- * config/pa/pa.c (pa_som_tm_clone_table_section): New function.
- (som_tm_clone_table_section): Declare.
- (pa_file_start_space): Create $TM_CLONE_TABLE$ subspace.
- (pa_som_asm_init_sections): Init som_tm_clone_table_section.
- * config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
-
-2011-12-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
- * doc/tm.texi: Regenerate.
- * target.def (prepare_pch_save): New hook.
- * c-family/c-pch.c (c_common_write_pch): Call it.
- * config/mips/mips.c (was_mips16_pch_p): Delete.
- (mips_set_mips16_mode): Don't refer to was_mips16_pch_p.
- (mips_prepare_pch_save): New function.
- (TARGET_PREPARE_PCH_SAVE): Define.
-
-2011-12-22 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51212
- * opts.c (finish_options): Call sorry on -fgnu-tm and
- -fnon-call-exceptions combination.
-
-2011-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/invoke.texi (C++ Dialect Options): Add missing options and
- move -Wzero-as-null-pointer-constant to ...
- (Warning Options): ... here.
-
-2011-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR target/47643
- * doc/invoke.texi (i386 and x86-64 Options): Fix description of
- -mtune without -march.
-
-2011-12-21 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/51643
- * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
- change.
-
-2011-12-22 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/ia64.c (ia64_promote_function_mode): Remove.
- (TARGET_PROMOTE_FUNCTION_MODE): Remove.
- (ia64_function_value): Call promote_function_mode instead of
- ia64_promote_function_mode.
- * config/ia64/vms.h (PROMOTE_MODE): Define.
- (TARGET_PROMOTE_FUNCTION_MODE): Define.
-
-2011-12-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/27468
- * common/config/alpha/alpha-common.c (alpha_option_optimization_table):
- Enable flag_ree at -O2 or higher.
-
-2011-12-22 Richard Guenther <rguenther@suse.de>
-
- PR lto/51650
- * lto.c (uniquify_nodes): Register TYPE_DECLs with the
- debuginfo machinery.
-
-2011-12-22 Bernd Schmidt <bernds@codesourcery.com>
-
- * tree-pass.h (pass_reload): Declare.
- * ira.c (overall_cost_before, saved_flag_ira_share_spill_slots):
- New global variables, moved out of ira.
- (do_reload): New static function, split off from the second half
- of ...
- (ira): ... here.
- (gate_ira): Remove.
- (pass_ira): Use TV_IRA, set gate to NULL, and set flags to
- TODO_dump_func.
- (rest_of_handle_reload): New static function.
- (pass_reload): New.
-
-2011-12-22 Uros Bizjak <ubizjak@gmail.com>
-
- * common/config/i386/i386-common.c (ix86_option_optimization_table):
- Move OPT_free processing from ...
- * config/i386/i386.c (ix86_option_override_internal): ... here.
-
-2011-12-21 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/51643
- * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
- weak function on bare-metal EABI targets.
-
-2011-12-21 Jonathan Wakely <jwakely.gcc@gmail.com>
- Jim Avera <james_avera@yahoo.com>
-
- * doc/extend.texi (__builtin_expect): Improve example.
-
-2011-12-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Enable flag_ree
- also for 32bit targets.
-
-2011-12-21 Richard Henderson <rth@redhat.com>
-
- PR target/51552
- * dwarf2cfi.c (dwarf2out_frame_debug): Move any_cfis_emitted code...
- (scan_trace): ... here.
-
-2011-12-21 Jason Merrill <jason@redhat.com>
-
- * doc/standards.texi (C++ language): Update for C++11.
-
-2011-12-21 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize
- *op0 and *op1 to NULL_TREE first to avoid warnings.
- * calls.c (initialize_argument_information): Initialize base to avoid
- warnings.
-
- PR middle-end/51644
- PR middle-end/51647
- * tree-eh.c (decide_copy_try_finally): At -O0, return true
- even when ndests is not 1, if there are only gimple_clobber_p
- (or debug) stmts in the finally sequence.
- * tree-inline.c (estimate_num_insns): Return 0 for gimple_clobber_p
- stmts.
-
-2011-12-21 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51472
- * trans-mem.c (tm_log_add): Use create_tmp_var_reg.
-
-2011-12-21 Martin Jambor <mjambor@suse.cz>
-
- * tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
- (rewrite_update_enter_block): Likewise.
- (dump_update_ssa): Likewise.
- (update_ssa): Likewise but also dump a newline at the beginning.
-
-2011-12-21 Enkovich Ilya <ilya.enkovich@intel.com>
-
- PR target/50038
- * implicit-zee.c: Delete.
- * ree.c: New file.
- * Makefile.in: Replace implicit-zee.c with ree.c.
- * config/i386/i386.c (ix86_option_override_internal): Rename
- flag_zee to flag_ree.
- * common.opt (fzee): Ignored.
- (free): New.
- * passes.c (init_optimization_passes): Replace pass_implicit_zee
- with pass_ree.
- * tree-pass.h (pass_implicit_zee): Delete.
- (pass_ree): New.
- * timevar.def (TV_ZEE): Delete.
- (TV_REE): New.
- * doc/invoke.texi: Add -free description.
-
-2011-12-21 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms-protos.h (vms_function_section): New prototype.
- * config/vms/vms.c (vms_function_section): New function.
- * config/vms/vms.h (TARGET_ASM_FUNCTION_SECTION): Define.
-
-2011-12-21 Richard Guenther <rguenther@suse.de>
-
- PR lto/41159
- * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
- mode of the pseudo as destination mode. Only assert that
- is equal to the promoted mode of the decl if it is a REG.
-
-2011-12-21 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.
-
-2011-12-20 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (MAX_VECT_LEN): New.
- (struct expand_vec_perm_d): New.
- (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
- (ia64_unpack_assemble): Use ia64_expand_vec_perm_const_1.
- (expand_vselect, expand_vselect_vconcat): New.
- (expand_vec_perm_identity, expand_vec_perm_shrp): New.
- (expand_vec_perm_1, expand_vec_perm_broadcast): New.
- (expand_vec_perm_interleave_2, expand_vec_perm_v4hi_5): New.
- (ia64_expand_vec_perm_const_1, ia64_expand_vec_perm_const): New.
- (ia64_vectorize_vec_perm_const_ok): New.
- (ia64_expand_vec_setv2sf, ia64_expand_vec_perm_even_odd): New.
- * config/ia64/ia64-protos.h: Update.
- * config/ia64/vect.md (VEC): New mode iterator.
- (vecint): New mode attribute.
- (vec_interleave_lowv8qi, vec_interleave_highv8qi): Privatize with '*'.
- (vec_interleave_lowv4hi, vec_interleave_highv4hi): Likewise.
- (vec_interleave_lowv2si, vec_interleave_highv2si): Likewise.
- (vec_interleave_lowv2sf, vec_interleave_highv2sf): Likewise.
- (mix1_even, mix1_odd, mux1_alt): Likewise.
- (mux1_brcst_qi): Remove '*' from name.
- (vec_extract_evenv8qi, vec_extract_oddv8qi): Remove.
- (vec_extract_evenv4hi, vec_extract_oddv4hi): Remove.
- (vec_extract_evenv2si, vec_extract_oddv2si): Remove.
- (vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
- (vec_extract_evenodd_helper): Remove.
- (vec_setv2sf): Use ia64_expand_vec_setv2sf.
- (vec_pack_trunc_v4hi): Use ia64_expand_vec_perm_even_odd.
- (vec_pack_trunc_v2si): Likewise.
- (vec_perm_const<VEC>): New.
-
-2011-12-20 Richard Henderson <rth@redhat.com>
-
- * tree-vect-generic.c (expand_vector_operations_1): Correct tests
- for vector types -- use the type not the mode. Fix optab selection
- for vector shifts by a scalar. Handle over-large integer modes
- like BLKmode.
-
-2011-12-20 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.md (*arm_xorsi3): Match iorsi3 and perform
- post-reload splitting.
-
- * config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
- * config/arm/arm.c (arm_select_cc_mode): Use it.
-
-2011-12-20 Richard Sandiford <rdsandiford@googlemail.com>
-
- * tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict
- handling of signedness differences to integer types. Only build
- a new optype if type1 isn't correct.
-
-2011-12-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/49865
- * ira-costs.c (find_costs_and_classes): Prefer registers even
- if the memory cost is the same.
-
-2011-12-20 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (diagnose_mismatched_decls, grokdeclarator, grokfield)
- (finish_struct): Refer to C11 in comments. Use flag_isoc11.
- * c-parser.c (c_parser_static_assert_declaration)
- (c_parser_static_assert_declaration_no_semi, c_parser_declspecs)
- (c_parser_alignas_specifier, c_parser_alignof_expression): Refer
- to C11 in comments. Use flag_isoc11.
- * c-typeck.c (comptypes_check_different_types): Refer to C11 in
- comment.
- * doc/cpp.texi (Overview): Refer to -std=c11 instead of -std=c1x.
- * doc/cppopts.texi (-std=c11, -std=gnu11): Document in preference
- to -std=c1x and -std=gnu1x.
- * doc/extend.texi (Inline, Alternate Keywords, Other Builtins)
- (__builtin_complex, Unnamed Fields): Refer to -std=c11 and C11
- instead of -std=c1x and C1X.
- * doc/invoke.texi (-std=c11, -std=iso9899:2011): Document in
- preference to -std=c1x.
- (-std=gnu11): Document in preference to -std=gnu1x.
- * doc/standards.texi: Document C11 instead of C1X. Document C11
- as actual standard. Document headers required from freestanding
- C11 implementations.
- * ginclude/float.h, ginclude/stddef.h: Test __STDC_VERSION__ >=
- 201112L for C11. Update comments to refer to C11.
-
-2011-12-20 Andreas Schwab <schwab@linux-m68k.org>
-
- * configure: Regenerate.
-
-2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
-
- PR middle-end/51200
- * expr.c (store_field): Avoid a direct store if the mode is larger
- than the size of the bit field.
- * stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
- treat non-volatile bit fields like volatile ones.
- * toplev.c (process_options): Disallow combination of
- -fstrict-volatile-bitfields and ABI versions less than 2.
- * config/arm/arm.c (arm_option_override): Don't enable
- flag_strict_volatile_bitfields if the ABI version is less than 2.
- * config/h8300/h8300.c (h8300_option_override): Likewise.
- * config/rx/rx.c (rx_option_override): Likewise.
- * config/m32c/m32c.c (m32c_option_override): Likewise.
- * config/sh/sh.c (sh_option_override): Likewise.
-
-2011-12-20 Richard Guenther <rguenther@suse.de>
-
- PR lto/46796
- * dwarf2out.c (modified_type_die): When the type variant
- chain is corrupt use the types name, if available, instead
- of __unknown__.
-
-2011-12-20 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/alpha.c (alpha_start_function): Adjust condition to
- create VMS trampoline entry point.
-
-2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/42839
- * fwprop.c (forward_propagate_subreg): Skip the SIGN/ZERO_EXTEND
- optimization if the source register is already extended.
-
-2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * lower-subreg.c (can_decompose_p): Check every word of a hard
- register.
-
-2011-12-19 Sandra Loosemore <sandra@codesourcery.com>
- Tom de Vries <tom@codesourcery.com>
-
- PR rtl-opt/50380
- * cse.c (find_comparison_args): Detect fixed point and
- bail early.
-
-2011-12-19 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51411
- * trans-mem.c (ipa_tm_create_version): Unset DECL_WEAK.
-
-2011-12-19 Quentin Neill <quentin.neill@amd.com>
-
- PR target/48743
- * config/i386/driver-i386.c (host_detect_local_cpu): Also check
- family to distinguish PROCESSOR_ATHLON.
-
-2011-12-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/51573
- * streamer-hooks.h (struct streamer_hooks): Add second
- ref_p parameter to write_tree.
- (stream_write_tree): Adjust.
- (stream_write_tree_shallow_non_ref): New define.
- * lto-streamer.h (lto_output_tree): Adjust.
- * lto-streamer-out.c (lto_output_tree): Likewise.
- * tree-streamer-out.c (streamer_write_chain): Only
- force the immediate tree to be streamed as non-reference.
-
-2011-12-19 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/51583
- * tree-sra.c (load_assign_lhs_subreplacements): Call
- force_gimple_operand_gsi when necessary also in case of no
- corresponding replacement on the RHS.
-
-2011-12-19 Jakub Jelinek <jakub@redhat.com>
-
- * gimple.h (gimplify_seq_add_stmt): Rename to...
- (gimple_seq_add_stmt_without_update): ... this.
- * gimplify.c (gimplify_seq_add_stmt): Rename to...
- (gimple_seq_add_stmt_without_update): ... this.
- (gimplify_seq_add_stmt): New inline wrapper for it.
- * tree-vect-patterns.c (append_pattern_def_seq): Use
- gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.
-
- PR tree-optimization/51596
- * tree-cfg.c (replace_uses_by): Call gimple_purge_dead_eh_edges
- when needed.
-
- PR middle-end/51590
- PR tree-optimization/51606
- * tree-vect-patterns.c (append_pattern_def_seq, new_pattern_def_seq):
- New inline functions.
- (vect_recog_over_widening_pattern,
- vect_recog_vector_vector_shift_pattern,
- vect_recog_sdivmod_pow2_pattern, vect_recog_mixed_size_cond_pattern,
- adjust_bool_pattern_cast, vect_recog_bool_pattern): Use them.
-
-2011-12-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/51572
- * tree.c (free_lang_data_in_type): Do not unlink TYPE_DECL
- from TYPE_FIELDS.
- (find_decls_types_r): Walk TYPE_DECLs in TYPE_FIELDS.
- * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Do
- not stream TREE_CHAIN.
- (write_ts_type_non_common_tree_pointers): Stream TYPE_FIELDS
- using streamer_write_chain.
- * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
- Do not stream TREE_CHAIN.
- (lto_input_ts_type_non_common_tree_pointers): Stream TYPE_FIELDS
- using streamer_read_chain.
- * gimple-streamer-in.c (input_gimple_stmt): Skip non-FIELD_DECLs.
- * gimple.c (gimple_canonical_types_compatible_p): Properly
- handle trailing non-FIELD_DECLs in TYPE_FIELDS.
-
-2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
-
- * configure: Regenerate.
-
-2011-12-19 Bernd Schmidt <bernds@codesourcery.com>
-
- * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx[3] for
- partial integer modes.
-
-2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
-
- PR target/51532
- * config/m68k/m68k.h (FL_CAS, TARGET_CAS): Define.
- * config/m68k/m68k.c (FL_FOR_isa_20): Add FL_CAS.
- * config/m68k/sync.md: Use TARGET_CAS instead of (TARGET_68020 ||
- TARGET_68040).
-
-2011-12-18 Anatoly Sokolov <aesok@post.ru>
-
- * config/ia64/ia64.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- LEGITIMATE_ADDRESS_REG, LEGITIMATE_ADDRESS_DISP,
- GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/ia64/ia64.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
- (ia64_reg_ok_for_base_p, ia64_legitimate_address_reg,
- ia64_legitimate_address_disp, ia64_legitimate_address_p): New
- functions.
-
-2011-12-17 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51491
- * tree-ssa-ccp.c (insert_clobber_before_stack_restore)
- (gsi_prev_dom_bb_nondebug, insert_clobbers_for_var): New function.
- (ccp_fold_stmt): Use insert_clobbers_for_var after a successful
- fold_builtin_alloca_with_align.
- (ccp_visit_stmt): Calculate and free dominator info.
-
-2011-12-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
- (frame_blockage): New expander.
- (frame_blockage<P:mode>): New instruction.
- * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
- instructions establishing the frame isn't atomic, emit frame blockage.
-
-2011-12-16 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/vms.h (USE_TM_CLONE_REGISTRY): Define.
-
-2011-12-16 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/alpha.c (alpha_use_linkage): Follow transparent alias.
- (alpha_write_one_linkage): Use assemble_name to emit linkage name.
-
-2011-12-16 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/t-vms (vms.o, vms-c.o): Force output filename.
-
-2011-12-16 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms.c (VMS_CRTL_GLOBAL): Define.
- (vms_patch_builtins): Handle.
- * config/vms/vms-crtlmap.map: Add an entry for environ.
-
-2011-12-16 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51557
- * sel-sched-ir.c (create_copy_of_insn_rtx): Copy all notes
- other than REG_EQUAL, REG_EQUIV and REG_LABEL_OPERAND.
-
- PR tree-optimization/51576
- * tree-cfg.c (replace_uses_by): Call maybe_clean_or_replace_eh_stmt
- even if fold_stmt didn't change anything.
-
-2011-12-16 Richard Guenther <rguenther@suse.de>
-
- PR lto/51572
- * dwarf2out.c (gen_type_die_with_usage): Use the context of
- the TYPE_DECL as well if it is file-scope.
-
-2011-12-15 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78.md (return): Rename to rl78_return.
- * config/rl78/rl78.c (rl78_expand_epilogue): Use new name.
- (rl78_expand_eh_epilogue): Use new name.
- (rl78_calculate_death_notes): Likewise.
-
-2011-12-15 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt
- field, add pattern_def_seq.
- (STMT_VINFO_PATTERN_DEF_STMT): Remove.
- (STMT_VINFO_PATTERN_DEF_SEQ): Define.
- (NUM_PATTERNS): Bump to 10.
- * tree-vect-loop.c (vect_determine_vectorization_factor,
- vect_transform_loop): Adjust for pattern def changing from a single
- gimple stmt to gimple_seq.
- * tree-vect-stmts.c (vect_analyze_stmt, new_stmt_vec_info,
- free_stmt_vec_info): Likewise.
- * tree-vect-patterns.c (vect_recog_over_widening_pattern,
- vect_recog_vector_vector_shift_pattern,
- vect_recog_mixed_size_cond_pattern, adjust_bool_pattern_cast,
- adjust_bool_pattern, vect_mark_pattern_stmts): Likewise.
- (vect_recog_sdivmod_pow2_pattern): New function.
- (vect_vect_recog_func_ptrs): Add it.
-
- * config/i386/sse.md (vcond<V_256:mode><VI_256:mode>,
- vcond<V_128:mode><VI124_128:mode>, vcond<VI8F_128:mode>v2di):
- Use general_operand instead of nonimmediate_operand for
- operand 5 and no predicate for operands 1 and 2.
- * config/i386/i386.c (ix86_expand_int_vcond): Optimize
- x < 0 ? -1 : 0 and x < 0 ? 1 : 0 into vector arithmetic
- resp. logical shift.
-
-2011-12-15 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (print_operand): Remove.
- (print_operand_address): Remove.
- * config/avr/avr.h (PRINT_OPERAND): Remove.
- (PRINT_OPERAND_ADDRESS): Remove.
- (PRINT_OPERAND_PUNCT_VALID_P): Remove.
- * config/avr/avr.c (TARGET_PRINT_OPERAND): New hook define.
- (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
- (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
- (print_operand_address): Rename to...
- (avr_print_operand_address): ...this and make static.
- (print_operand): Rename to...
- (avr_print_operand): ...this and make static.
- (avr_print_operand_punct_valid_p): New static function.
-
-2011-12-15 Andreas Tobler <andreast@fgznet.ch>
-
- * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
-
-2011-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR c/51360
- * c-parser.c (c_parser_omp_clause_num_threads,
- c_parser_omp_clause_schedule): Call mark_exp_read.
-
-2011-12-15 Romain Geissler <romain.geissler@gmail.com>
-
- * builtins.def (BUILT_IN_STPNCPY_CHK): New definition.
- * builtins.c (expand_builtin, fold_builtin_4, maybe_emit_chk_warning):
- Add BUILT_IN_STPNCPY_CHK case.
- * gimple-fold.c (gimple_fold_builtin): Likewise.
- * tree-object-size.c (pass_through_call): Likewise.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
- call_may_clobber_ref_p_1): Likewise.
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
- find_func_clobbers): Likewise.
- * tree.h (fold_builtin_strncpy_chk): Rename to fold_builtin_stxncpy_chk
- * builtins.c (fold_builtin_strncpy_chk): Likewise.
- Rewrite stpncpy_chk calls to strncpy_chk calls if returned value is
- ignored.
-
-2011-12-15 Richard Guenther <rguenther@suse.de>
-
- PR lto/51567
- * gimple.c (compare_type_names_p): Also compare the TREE_CODE.
- (iterative_hash_name): Also hash the TREE_CODE.
- (gimple_types_compatible_p_1): For types with a TYPE_DECL
- name and a type DECL_CONTEXT recurse to that type.
- (iterative_hash_gimple_type): Likewise.
-
-2011-12-15 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Move update of
- VRSave mask to save_world() when that is in use.
-
-2011-12-15 Richard Guenther <rguenther@suse.de>
-
- * lto-wrapper.c (run_gcc): In non-parallel mode remove
- ltrans inputs immediately after processing them. In parallel
- mode truncate the ltrans inputs in the make rule that processes
- them if temporary files are not to be preserved.
-
-2011-12-15 Anatoly Sokolov <aesok@post.ru>
-
- * config/arm/arm.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/arm/arm.c (arm_memory_move_cost, arm_register_move_cost):
- New functions.
- (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
-
-2011-12-15 Richard Guenther <rguenther@suse.de>
-
- PR lto/51564
- * tree.h (REGISTER_DEFS_IN_THIS_STMT, NECESSARY,
- STMT_IN_SSA_EDGE_WORKLIST): Remove no longer existing flag
- uses documentation.
- (TREE_ASM_WRITTEN): Update documentation to mention its use
- on TYPE_DECLs from debug info generation.
- * tree-streamer-out.c (pack_ts_base_value_fields): Stream
- TREE_ASM_WRITTEN as always zero for TYPE_DECLs, similar to
- all other types.
-
-2011-12-15 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/51050
- * config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp.
- (avr_prologue_setup_frame): Ditto.
-
-2011-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51517
- * tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
- !DECL_IGNORED_P instead of !DECL_ARTIFICIAL.
-
-2012-12-15 Richard Guenther <rguenther@suse.de>
-
- Revert
- PR lto/48437
- * lto-streamer-out.c (tree_is_indexable): Exclude block-local
- extern declarations.
-
- PR lto/48508
- PR lto/48437
- * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
- VAR_DECLs and FUNCTION_DECLs locally.
-
-2011-12-14 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.md (*addsi3_compare0_scratch): Set predicable.
- (*compare_negsi_si, *compare_addsi2_op0): Likewise.
- (*compare_addsi2_op1, *zeroextractsi_compare0_scratch): Likewise.
- (*compareqi_eq0, *arm_cmpsi_insn, *arm_cmpsi_negshiftsi_si): Likewise.
-
-2011-12-14 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for
- propagating all kinds of constants.
-
-2011-12-14 Richard Guenther <rguenther@suse.de>
-
- PR lto/51497
- * lto-streamer-in.c (lto_read_body): Fixup local types
- TYPE_CANONICAL and variant chain.
-
-2011-12-14 Richard Guenther <rguenther@suse.de>
-
- * tree.c (free_lang_data_in_type): Do not clear fields
- dependent on debuginfo level setting.
- (find_decls_types_r): Use TYPE_STUB_DECL rathern than TREE_CHAIN.
- * tree.h (TYPE_STUB_DECL): Properly check that we access a type.
-
-2011-12-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50931
- * config/avr/avr.md (mulpsi3): New expander.
- (*umulqihipsi3, *umulhiqipsi3): New insns.
- (*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
- (mulsqipsi3, *mulpsi3): New insn-and-splits.
- (ashlpsi3): Turn to expander. Move insn code to...
- (*ashlpsi3): ...this new insn.
-
-2011-12-14 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (replace_uses_by): Only mark blocks altered
- that will make a difference. Only recompute ADDR_EXPR
- invariantness if it could possibly have changed. Do so
- before folding the statement.
-
-2011-12-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
- * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
- * lto-streamer-in.c (lto_read_body): Likewise.
- (lto_input_toplevel_asms): Likewise.
- * lto-section-in.c (lto_create_simple_input_block): Likewise.
- * ipa-inline-analysis.c (inline_read_section): Likewise.
- * ipa-prop.c (ipa_prop_read_section): Likewise.
-
- * df.h (DF_NOTE): Fix typo in comment.
-
-2011-12-13 Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and
- DECL_LANG_SPECIFIC.
-
-2011-12-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * regmove.c (fixup_match_2): Only access call_used_regs with hard regs.
-
-2011-12-13 Andrew Pinski <apinski@cavium.com>
- Adam Nemet <anemet@caviumnetworks.com>
-
- * config/mips/mips-cpus.def: Add Octeon2.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.md (define_attr "cpu"): Add Octeon2.
- * config/mips/driver-native.c (host_detect_local_cpu): Support Octeon2.
- * config/mips/octeon.md (octeon_arith): Add Octeon2.
- (octeon_condmove): Likewise.
- (octeon_load): Rename to ..
- (octeon_load_o1): this.
- (octeon_load_o2): New reserve.
- (octeon_cop_o2): New reserve.
- (octeon_store): Match Octeon2 also.
- (octeon_brj): Rename to ..
- (octeon_brj_o1): this.
- (octeon_brj_o2): New reserve.
- (octeon_imul3): Rename to ...
- (octeon_imul3_o1): this.
- (octeon_imul3_o2): New reserve.
- (octeon_imul): Rename to ...
- (octeon_imul_o1): this.
- (octeon_imul_o2): New reserve.
- (octeon_mfhilo): Rename to ...
- (octeon_mfhilo_o1): This.
- (octeon_mfhilo_o2): New reserve.
- (octeon_imadd): Rename to ...
- (octeon_imadd_o1): this.
- (octeon_imadd_o2): New reserve.
- (octeon_idiv): Rename to ..
- (octeon_idiv_o1): This.
- (octeon_idiv_o2_si): New reserve.
- (octeon_idiv_o2_di): Likewise.
- (octeon_unknown): Match Octeon2 also.
- * config/mips/mips.c (mips_rtx_cost_data): Add Octeon2 cost data.
- (mips_issue_rate): Octeon2 can issue 2 at a time.
- * config/mips/mips.h (TARGET_OCTEON): Match Octeon2 also.
- (TARGET_OCTEON2): New define.
- (TUNE_OCTEON): Match Octeon2 also.
-
-2011-12-13 Richard Henderson <rth@redhat.com>
-
- * config/sparc/tso.h: New file.
- * config.gcc (sparc-*-linux*, sparc*-*-solaris2*): Use it.
- * config/sparc/sparc.c (sparc_option_override): Honor
- SUBTARGET_DEFAULT_MEMORY_MODEL.
- * config/sparc/sparc.h (SUBTARGET_DEFAULT_MEMORY_MODEL): New.
-
-2011-12-13 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/51443
- * trans-mem.c (struct diagnose_tm): Remove saw_unsafe.
- (diagnose_tm_1): Same.
- (ipa_tm_execute): Do not test tm_may_enter_irr before we set it.
- (ipa_tm_scan_irr_function): Return gracefully when no
- DECL_STRUCT_FUNCTION.
- (ipa_tm_scan_irr_block): Believe the user on TM attributes.
-
-2011-12-13 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/50628
- * tree-sra.c (propagate_subaccesses_across_link): Do not propagate
- sub-accesses of scalar accesses.
-
-2011-12-13 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/51362
- * ipa-cp.c (estimate_local_effects): When estimated size of a
- specialized clone is zero, bump it to one.
-
-2011-12-13 Richard Guenther <rguenther@suse.de>
-
- PR lto/48354
- * tree.c (find_decls_types_r): Also walk DECL_ORIGINAL_TYPE.
- * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
- Stream DECL_ORIGINAL_TYPE.
- * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers):
- Likewise.
-
-2011-12-13 Jakub Jelinek <jakub@redhat.com>
-
- Revert
- 2011-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51481
- * gimple-fold.c (gimple_fold_call): Call
- maybe_clean_or_replace_eh_stmt. Avoid optimization if stmt has EH
- edges, but gimple_fold_builtin result can't throw.
-
-2011-12-13 Jakub Jelinek <jakub@redhat.com>
- Michael Matz <matz@suse.de>
-
- PR tree-optimization/51117
- * tree-eh.c (sink_clobbers): New function.
- (execute_lower_eh_dispatch): Call it for BBs ending with
- internally throwing RESX.
- * cfgexpand.c (add_scope_conflicts_1): Add all conflicts only
- at the first real instruction.
-
-2011-12-13 Tristan Gingold <gingold@adacore.com>
-
- * final.c (final_scan_insn): Guard the call to begin_epilogue
- debug hook.
-
-2011-12-13 Tristan Gingold <gingold@adacore.com>
-
- * vmsdbgout.c (vmsdbgout_write_source_line): New function.
- (vmsdbgout_end_prologue): Call vmsdbgout_write_source_line.
- (vmsdbgout_begin_epilogue): Likewise.
- (vmsdbgout_end_epilogue): Likewise.
- (vmsdbgout_source_line): Move code to vmsdbgout_write_source_line.
-
-2011-12-13 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51481
- * tree-cfg.c (replace_uses_by): Pass proper arguments to
- maybe_clean_or_replace_eh_stmt.
-
-2011-12-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51519
- * ipa-inline.c (edge_badness): Use edge growth in non-guessed
- branch probability case as well.
-
-2011-12-13 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (mark_loop_unsched): Free bbs.
-
-2011-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51495
- * function.c (thread_prologue_and_epilogue_insns): Don't add
- to bb_tail basic blocks that have EDGE_COMPLEX predecessor edges
- from basic blocks not needing prologue.
-
- PR tree-optimization/51481
- * gimple-fold.c (gimple_fold_call): Call
- maybe_clean_or_replace_eh_stmt. Avoid optimization if stmt has EH
- edges, but gimple_fold_builtin result can't throw.
-
-2011-12-12 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/21617
- * ira-color.c (bucket_allocno_compare_func): Don't compare
- allocno classes. Compare number of hard registers needed.
-
-2011-12-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/50569
- * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
- in the expression of MODEL instead of just the last one.
-
-2011-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51510
- * calls.c (internal_arg_pointer_based_exp_scan): Don't use
- VEC_safe_grow_cleared if idx is smaller than VEC_length.
-
-2011-12-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR middle-end/50873
- * optabs.c (maybe_legitimize_operand_same_code): Use copy_to_mode_reg
- instead of force_reg. Do nothing if the address is already a
- non-virtual pseudo register.
-
-2011-12-12 Torvald Riegel <triegel@redhat.com>
-
- * gimplify.c (voidify_wrapper_expr): Add default handling for
- outermost wrapper.
-
-2011-12-12 Torvald Riegel <triegel@redhat.com>
-
- * tree-ssa-tail-merge.c (gimple_equal_p): Don't treat transaction
- commits as equal.
-
-2011-12-12 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin-sections.def (zobj_const_data_section): Fix over-
- length section name.
-
-2011-12-11 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_expand_interleave): Use
- BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.
-
-2011-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51485
- * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
- DRs in call stmts.
-
-2011-12-11 Patrick Marlier <patrick.marlier@gmail.com>
-
- * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.
-
-2011-12-10 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
- vec_select + vec_concat.
- (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
- altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
- (vec_perm_constv16qi): New.
- (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
- vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
- vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
- * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
- vec_select + vec_concat.
- (paired_merge10, paired_merge01, paired_merge11): Likewise.
- (vec_perm_constv2sf): New.
- (vec_interleave_highv2sf, vec_interleave_lowv2sf,
- vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
- * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
- vec_select + vec_concat.
- (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
- (vec_perm_constv2si): New.
- * config/rs6000/vector.md (vec_interleave_highv4sf,
- vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
- vec_interleave_low<VEC_64>): Remove.
- * config/rs6000/vsx.md (VS_double): New mode attribute.
- (UNSPEC_VSX_XXPERMDI): Remove.
- (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
- (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
- (vsx_xxpermdi_<VSX_L>): Change to expander.
- (vec_perm_const<VSX_D>): New.
- (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
- * config/rs6000/predicates.md (const_0_to_1_operand): New.
- (const_2_to_3_operand): New.
- * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
- (altivec_expand_vec_perm_const): New.
- (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
- (rs6000_vectorize_vec_perm_const_ok): New.
- (rs6000_do_expand_vec_perm): New.
- (rs6000_expand_extract_even, rs6000_expand_interleave): New.
- * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
- * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
- * config/rs6000/rs6000-protos.h: Update.
-
-2011-12-10 Richard Henderson <rth@redhat.com>
-
- * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
- CONST_INT to expand_vec_perm as the selector.
- * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.
-
-2011-12-10 Richard Henderson <rth@redhat.com>
-
- * genmodes.c (struct mode_data): Remove wider_2x member.
- (blank_mode): Adjust initializer.
- (calc_wider_mode): Use XALLOCAVEC.
- (emit_move_wider): Select double-width same-element vectors for
- 2xwider vectors.
- * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
- * config/i386/i386.c (doublesize_vector_mode): Remove.
- (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.
-
-2011-12-10 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
- (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
- (USE_STORE_POST_DECREMENT): Likewise.
-
- * config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
- broken out of ..
- (INCOMING_RETURN_ADDR_RTX) .. this. Use EPIPHANY_RETURN_REGNO.
- (DWARF_FRAME_RETURN_COLUMN): New macro.
-
- * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
- * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
- Split "timer" value into "timer0" and "timer1".
- Handle page_miss, message and wand. Don't handle static_flag.
- Adjust warning text.
- (epiphany_start_function): New function.
- (epiphany_compute_function_type): Split "timer" value into "timer0"
- and "timer1". Handle page_miss, message and wand.
- Don't handle static_flag.
- (epiphany_expand_epilogue): Don't use frame_insn for status / iret
- restore.
- * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
- (enum epiphany_function_type):
- Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
- and EPIPHANY_FUNCTION_TIMER1.
- Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
- Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
- Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
-
-2011-12-10 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51449
- * coverage.c (coverage_end_function): Always process the coverage
- variables.
-
-2011-12-09 Aldy Hernandez <aldyh@redhat.com>
-
- PR/51291
- * tree.c (build_common_builtin_nodes): Do not use TM_PURE
- attribute unless language has support for TM.
- * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
- the absence of TM builtins.
-
-2011-12-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
- Also check the TYPE_MODE to recognize useless pointer conversions.
-
-2011-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51117
- * tree-eh.c (optimize_clobbers): Don't remove just one
- clobber, but all consecutive clobbers before RESX.
- Use gimple_clobber_p predicate.
-
-2011-12-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (altivec_expand_builtin): Call
- expand_call to return a valid funciton instead of return
- cosnt0_rtx/NULL_RTX if there was an error with the builtin.
- (altivec_expand_ld_builtin): Ditto.
- (rs6000_inner_target_options): If VSX is selected as a target
- attribute or pragma, enable ALTIVEC also.
- (rs6000_pragma_target_parse): Call rs6000_option_override_internal
- to do all of the standard processing when switching options,
- including redefining appropriate macros.
-
- PR rtl-optimization/51469
- * varasm.c (default_binds_local_p_1): If the symbol is a gnu
- indirect function, mark the symbol as non-local.
-
-2011-12-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/51479
- * Makefile.in (errors.o): Restored.
-
-2011-12-09 Richard Guenther <rguenther@suse.de>
-
- PR lto/48042
- * tree.c (free_lang_data_in_decl): Remove freeing conditional
- on debuginfo level.
-
-2011-12-09 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR middle-end/40154
- * emit-rtl.c (set_dst_reg_note): New function.
- * rtl.h (set_dst_reg_note): Declare.
- * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
- (emit_libcall_block, expand_fix): Likewise.
- * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
- * expmed.c (expand_mult_const, expand_divmod): Likewise.
- * reload1.c (gen_reload): Likewise.
-
- * dse.c (get_stored_val, get_call_args): Use gen_int_mode.
- * expmed.c (expand_divmod): Likewise.
- * combine.c (simplify_if_then_else): Likewise.
-
-2011-12-09 Kai Tietz <ktietz@redhat.com>
-
- * ira-color.c (print_hard_regs_subforest): Use
- HOST_WIDEST_INT_PRINT_DEC instead of %lld.
- (allocno_hard_regs): Change type of cost member to HOST_WIDEST_INT.
- (add_allocno_hard_regs): Change type of argument cost
- to HOST_WIDEST_INT.
- * ira-conflict.c (build_conflict_bit_table): Replace use
- of long-long by HOST_WIDEST_INT.
-
-2011-12-09 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/51425
- * config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
- zero_extract:QIHI instead of zero_extract:HI.
-
-2011-12-09 Jakub Jelinek <jakub@redhat.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR tree-optimization/51117
- * tree-eh.c (optimize_clobbers): New function.
- (execute_lower_eh_dispatch): Call it.
-
-2011-12-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51482
- * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
- Make sure to only create REAL_TYPE and INTEGER_TYPE component vectors.
-
-2011-12-09 Kai Tietz <ktietz@redhat.com>
-
- * implicit-zee.c (num_realized): Change type to long.
- (num_ze_opportunities): Likewise.
-
-2011-12-08 Andrew Pinski <apinski@cavium.com>
-
- * config/mips/mips-cpus.def (octeon+): New CPU.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.h (MIPS_CPP_SET_PROCESSOR): Emit '+' as 'P'.
-
-2011-12-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR middle-end/39976
- * tree-ssa-dom.c (enum expr_kind): Add EXPR_PHI.
- (struct hashable_expr): Add struct phi field.
- (initialize_hash_element): Handle phis; change to use XCNEWVEC.
- (hashable_expr_equal_p): Handle phis.
- (iterative_hash_hashable_expr): Likewise.
- (print_expr_hash_elt): Likewise.
- (free_expr_hash_elt): Likewise.
- (dom_opt_enter_block): Create equivalences from redundant phis.
- (eliminate_redundant_computations): Handle redundant phis.
- (lookup_avail_expr): Handle phis.
-
-2011-12-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51466
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
- TREE_SIDE_EFFECTS.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-operands.c (add_stmt_operand): Do not mark stmts
- volatile when processing operands of an ADDR_EXPR.
- (get_indirect_ref_operands): Likewise.
- (get_tmr_operands): Likewise.
- (get_expr_operands): Likewise.
-
-2011-12-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR target/50395
- * config/s390/s390.c (s390_mainpool_finish): Emit the jump over
- the literal pool as jump insn.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49772
- * tree-inline.c (optimize_inline_calls): Remove bail out on errors.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/50747
- * lto-streamer-out.c (produce_symtab): Remove asserts.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/49945
- * lto-streamer-out.c (tree_is_indexable): Localize variably
- modified types and their FIELD_DECLs.
-
-2011-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/51315
- * tree.h (get_object_or_type_alignment): Declare.
- * expr.c (get_object_or_type_alignment): Move to...
- * builtins.c (get_object_or_type_alignment): ...here. Add assertion.
- * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
- (tree_non_aligned_mem_p): ...this. Add ALIGN parameter. Look into
- MEM_REFs and use get_object_or_type_alignment for them.
- (build_accesses_from_assign): Adjust for above change.
- (access_precludes_ipa_sra_p): Likewise.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/48437
- * lto-streamer-out.c (tree_is_indexable): Exclude block-local
- extern declarations.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/45416
- * expr.c (do_store_flag): Rewrite code that looks for BIT_AND_EXPR for
- SSA-expand.
-
-2011-12-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50823
- * ipa-inline.c (edge_badness): Do not account for the number of
- remaining calls.
-
-2011-12-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50744
- * ipa-cp.c (good_cloning_opportunity_p): Assert size_cost is positive,
- compute evaluation in HOST_WIDEST_INT.
- (safe_add): New function
- (propagate_effects): Use safe_add to accumulate effects.
-
-2011-12-06 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * config/rs6000/rtems.h: Switch to using global_options_set
- in SUBSUBTARGET_OVERRIDE_OPTIONS.
-
-2011-12-06 David S. Miller <davem@davemloft.net>
-
- * config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.
-
-2011-12-06 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_file_start): Fix missing ,
-
-2011-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51354
- * config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note
- unconditionally.
-
-2011-12-06 Georg-Johann Lay <avr@gjlay.de>
-
- Forward-port from gcc-4_6-branch r181936 2011-12-02.
- * config/avr/avr-mcus.def (avr_mcu_types): ATtiny4313 and
- AT86RF401 have a 16-bit SP (their manual is bogus).
-
-2011-12-06 Georg-Johann Lay <avr@gjlay.de>
-
- Forward-port from gcc-4_6-branch r181936 2011-12-02.
-
- PR target/51002
- * config/avr/avr.md (movhi_sp_r): Set insn condition to
- !AVR_HAVE_8BIT_SP.
- * config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in
- %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
- (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
-
-2011-12-06 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/51409
- PR target/49868
- * config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1,
- ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4,
- ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum.
- (avr_addrspace_t): New typedef.
- (avr_addrspace): New declaration.
- * config/avr/avr-c.c (avr_toupper): New static function.
- (avr_register_target_pragmas, avr_cpu_cpp_builtins): Use
- avr_addrspace to get address space information.
- * config/avr/avr.c (avr_addrspace): New variable.
- (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes,
- avr_asm_named_section, avr_section_type_flags,
- avr_asm_select_section, avr_addr_space_address_mode,
- avr_addr_space_convert, avr_emit_movmemhi): Use it.
- (avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode.
- (avr_pgm_segment): Remove.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50601
- * varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
- quirk adjustjment ...
- * passes.c (rest_of_decl_compilation): ... here.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51436
- * gimple-fold.c (gimplify_and_update_call_from_tree): Guard vdef check
- for the fact we do not have virtual operands when not optimizing.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51245
- * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
- New function.
- (vn_reference_lookup_3): Use it. Properly valueize all refs we create.
-
-2011-12-06 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
- rs6000_current_abi.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51363
- * gimple.c (gimple_rhs_has_side_effects): Remove.
- * gimple.h (gimple_rhs_has_side_effects): Likewise.
- * tree-ssa-dom.c (optimize_stmt): Simplify conditional.
-
-2011-12-06 Alan Modra <amodra@gmail.com>
-
- PR target/50906
- * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
- Do not mark r11 setup as frame-related. Pass correct offset to
- rs6000_emit_savres_rtx. Correct out-of-line rs6000_frame_related
- arguments. Correct sp_offset. Remove "offset" fudge from
- in-line rs6000_frame_related call. Rename misleading variable.
- Fix comments and whitespace. Tidy some expressions.
- (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
- to r11 in out-of-line case. Correct sp_offset. Pass correct
- offset to rs6000_emit_savres_rtx. Rename misleading variable.
- Fix comments and whitespace. Tidy some expressions.
- (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
- adjustment when !saving_GPRs_inline. Correct register mode
- used in address calcs.
- (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
- !restoring_GPRs_inline.
-
-2011-12-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/vfp.md (*combine_vcvt_f64_<FCVTI32typename>): Fix
- formatting character for vmov.f64 case.
-
-2011-12-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51396
- * tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize
- if MUL_RESULT has zero uses.
-
- PR debug/51410
- * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
- for debug info if scope is file_scope.
-
- PR c/51339
- * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
- relayout_decl instead of layout_decl.
-
-2011-12-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK
- if there is in epilogue.
-
-2011-12-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target
- to emit_library_call_value.
- (expand_atomic_compare_and_swap): Likewise.
-
-2011-12-05 Vladimir Makarov <vmakarov@redhat.com>
-
- PR other/50775
- * ira-int.h (struct ira_object): Remove add_data.
- (OBJECT_ADD_DATA): Remove.
-
- * ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA
- initialization.
-
- * ira-color.c (object_hard_regs_t, object_hard_regs): Rename to
- allocno_hard_regs_t, allocno_hard_regs.
- (object_hard_regs_node_t, object_hard_regs_node): Rename to
- allocno_hard_regs_node_t and allocno_hard_regs_node.
- (struct allocno_color_data): Add new member last_process. Move
- profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start
- from object_color_data.
- (object_color_data_t, object_color_data, OBJECT_COLOR_DATA): Remove.
- (curr_allocno_process): New static variable.
- (object_hard_regs_eq, object_hard_regs_htab): Rename to
- allocno_hard_regs_eq and allocno_hard_regs_htab.
- (init_object_hard_regs, finish_object_hard_regs): Rename to
- init_allocno_hard_regs and finish_allocno_hard_regs.
- (object_hard_regs_compare, object_hard_regs_node_t): Rename to
- allocno_hard_regs_compare and allocno_hard_regs_node_t.
- (create_new_object_hard_regs_node): Rename to
- create_new_allocno_hard_regs_node.
- (add_new_object_hard_regs_node_to_forest): Rename to
- add_new_allocno_hard_regs_node_to_forest.
- (add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
- Rename to add_allocno_hard_regs_to_forest and
- collect_allocno_hard_regs_cover.
- (setup_object_hard_regs_nodes_parent): Rename to
- setup_allocno_hard_regs_nodes_parent.
- (remove_unused_object_hard_regs_nodes): Rename to
- remove_unused_allocno_hard_regs_nodes.
- (enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num):
- Rename to enumerate_allocno_hard_regs_nodes and
- allocno_hard_regs_nodes_num.
- (object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to
- allocno_hard_regs_nodes and allocno_hard_regs_subnode_t.
- (object_hard_regs_subnode, object_hard_regs_subnodes): Rename to
- allocno_hard_regs_subnode and allocno_hard_regs_subnodes.
- (object_hard_regs_subnode_index): Rename to
- allocno_hard_regs_subnode_index.
- (setup_object_hard_regs_subnode_index): Rename to
- setup_allocno_hard_regs_subnode_index.
- (get_object_hard_regs_subnodes_num): Rename to
- get_allocno_hard_regs_subnodes_num.
- (form_object_hard_regs_nodes_forest): Rename to
- form_allocno_hard_regs_nodes_forest.
- (finish_object_hard_regs_nodes_tree): Rename to
- form_allocno_hard_regs_nodes_forest
- (finish_object_hard_regs_nodes_forest): Rename to
- finish_allocno_hard_regs_nodes_forest.
- (setup_left_conflict_sizes_p): Use allocno data instead of object ones.
- Process conflict allocnos once.
- (update_left_conflict_sizes_p): Use allocno data instead of object
- ones. Change prototype signature.
- (empty_profitable_hard_regs): Use allocno data instead of object ones.
- (setup_profitable_hard_regs): Ditto.
- (get_conflict_profitable_regs): Rename to
- get_conflict_and_start_profitable_regs. Use allocno data for
- profitable regs calculation.
- (check_hard_reg_p): Change prototype signature. Check profitable
- regs for allocno not the objects.
- (assign_hard_reg): Process conflict allocnos only once for
- updating conflict costs.
- (setup_allocno_available_regs_num): Use allocno data instead of
- object ones. Modify debug output.
- (color_pass): Remove initialization and finalization of object
- color data.
-
-2011-12-05 Kazu Hirata <kazu@codesourcery.com>
-
- PR target/51408
- * config/arm/arm.md (*minmax_arithsi): Always require the else
- clause in the MINUS case.
-
-2011-12-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50904
- * tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
- (MEM_ANALYZABLE): New.
- (memory_references): Remove clobbered_vops and vop_ref_map
- members, add all_refs_stored_in_loop member.
- (memref_free): Adjust.
- (mem_ref_alloc): Likewise.
- (gather_mem_refs_stmt): Do not record clobbers, instead
- record refs for unanalyzable stmts.
- (gather_mem_refs_in_loops): Do not propagate clobbers.
- (struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
- record_vop_access, get_vop_accesses, get_vop_stores,
- add_vop_ref_mapping): Remove.
- (create_vop_ref_mapping_loop): Adjust to simply record all stores.
- (analyze_memory_references): Adjust.
- (refs_independent_p): Check for not analyzable refs.
- (can_sm_ref_p): Likewise.
- (ref_indep_loop_p_1): Simplify.
- (tree_ssa_lim_finalize): Adjust.
-
- * tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
- rather than magic constants. Assign zero cost to PAREN_EXPR
- and SSA_NAME copies. Assign cost proportional to the vector
- size for vector constructors.
-
-2011-12-05 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
- * tree-ssa-alias.c (ao_ref_init): Initialize it.
- (ao_ref_init_from_ptr_and_size): Likewise.
- (refs_may_alias_p_1): Two volatile accesses conflict.
- (ref_maybe_used_by_call_p_1): Likewise.
- (call_may_clobber_ref_p_1): Likewise.
- * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize
- volatile_p field.
-
-2011-12-05 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA
- names. Remove SSA operand checking, call verify_ssa_operands.
- * tree-ssa-operands.h (verify_ssa_operands): Declare.
- * tree-ssa-operands.c (verify_ssa_operands): New function.
-
-2011-12-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
- * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
- * config/arm/constraints.md ("Dt"): New constraint.
- * config/arm/predicates.md
- (const_double_vcvt_power_of_two_reciprocal): New.
- * config/arm/vfp.md (FCVTI32typename): New.
- (FCVT): New iterator.
- (*combine_vcvt_f32_<FCVTI32typename>): New.
- (*combine_vcvt_f64_<FCVTI32typename>): New.
-
-2011-12-05 Richard Guenther <rguenther@suse.de>
-
- * cgraph.c (cgraph_create_edge_1): Initialize
- call_stmt_cannot_inline_p from the stmt if possible.
- (cgraph_make_edge_direct): Likewise.
- * gimple-streamer-in.c (input_gimple_stmt): Do not
- call gimple_call_set_cannot_inline.
- * gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift values.
- (gimple_call_set_cannot_inline): Remove.
- (gimple_call_cannot_inline_p): Likewise.
- * ipa-inline-analysis.c (initialize_inline_failed): Look
- at the edge call_stmt_cannot_inline_p flag.
- * ipa-inline.c (can_inline_edge_p): Likewise.
- (early_inliner): Only update the edge flag.
- * ipa-prop.c (update_indirect_edges_after_inlining): Likewise.
- (ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline.
- * cgraphunit.c (assemble_thunk): Likewise.
- * gimple-fold.c (gimple_fold_call): Likewise.
-
- * tree.h (CALL_CANNOT_INLINE_P): Remove.
- * tree-mudflap.c (mf_xform_statements): Do not modify alloca calls.
- * builtins.c (expand_builtin_alloca): With -fmudflap do not expand
- alloca calls inline.
- * cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P.
- * gimple.c (gimple_build_call_from_tree): Do not read
- CALL_CANNOT_INLINE_P.
- * gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P.
-
-2011-12-05 Jakub Jelinek <jakub@redhat.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/51323
- PR middle-end/50074
- * calls.c (internal_arg_pointer_exp_state): New variable.
- (internal_arg_pointer_based_exp_1,
- internal_arg_pointer_exp_scan): New functions.
- (internal_arg_pointer_based_exp): New function.
- (mem_overlaps_already_clobbered_arg_p): Use it.
- (expand_call): Free internal_arg_pointer_exp_state.cache vector
- and clear internal_arg_pointer_exp_state.scan_start.
-
-2011-12-04 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
- * config/sh/sync.md: New file.
- * config/sh/sh.md: Include sync.md.
- * config/sh/sh.opt (msoft-atomic): New option.
- * doc/invoke.texi (SH Options): Document it.
-
-2011-12-04 Nathan Sidwell <nathan@acm.org>
-
- * gcov-io.h (struct gcov_info): Replace trailing array with
- pointer to array.
- * profile.c (branch_prob): Only call renamed
- coverage_begin_function once.
- * coverage.h (coverage_begin_output): Rename to ...
- (coverage_begin_function): ... here.
- * coverage.c (struct function_list): Rename to ...
- (struct coverage_data): ... this. Update all uses.
- (gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New globals.
- (bbg_file_opened, bbg_function_announced): Remove.
- (get_coverage_counts): Adjust message.
- (coverage_begin_ouput): Rename to ...
- (coverage_begin_function): ... here. Move file opening to
- coverage_init. Adjust for being called only once.
- (coverage_end_function): Remove bbg file and inhibit further
- output here on error.
- (build_info_type): Adjust for change to pointer to array.
- (build_info): Receive array of function pointers and adjust.
- (create_coverage): Break into ...
- (coverage_obj_init, coverage_obj_fn, coverage_obj_finish):
- ... these, and adjust.
- (coverage_init): Open the notes file here. Tidy.
- (coverage_finish): Call coverage_obj_init etc.
-
-2011-12-04 Ira Rosen <ira.rosen@linaro.org>
-
- PR middle-end/51285
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Create exit
- phi nodes for outer loop in case of double reduction.
-
-2011-12-04 Jérémie Detrey <Jeremie.Detrey@loria.fr>
-
- PR target/51393
- * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
- parameter as long long.
-
-2011-12-04 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/51351
- * optabs.c (init_sync_libfuncs): Use "or" rather than "ior"
- in the external names.
-
-2011-12-03 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Pass -no_pie for
- non-PIC code when targeting 10.7 or later.
-
-2011-12-03 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
- Darwin >= 10.
- (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
- (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
-
-2011-12-03 Jakub Jelinek <jakub@redhat.com>
-
- * fold-const.c (fold_unary_loc): Fold VEC_UNPACK_LO_EXPR,
- VEC_UNPACK_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and
- VEC_UNPACK_FLOAT_HI_EXPR with VECTOR_CST argument.
- (fold_binary_loc): Fold VEC_PACK_TRUNC_EXPR,
- VEC_PACK_FIX_TRUNC_EXPR, VEC_WIDEN_MULT_LO_EXPR
- and VEC_WIDEN_MULT_HI_EXPR with VECTOR_CST arguments.
-
- PR debug/50317
- * tree-ssa.c (target_for_debug_bind): Also allow is_gimple_reg_type
- vars that aren't referenced.
- (tree-ssa-live.c (remove_unused_locals): Don't clear TREE_ADDRESSABLE
- of unreferenced local vars.
- * cfgexpand.c (expand_debug_expr): For DEBUG_IMPLICIT_PTR allow also
- TREE_ADDRESSABLE vars that satisfy target_for_debug_bind.
-
-2011-12-03 Anatoly Sokolov <aesok@post.ru>
-
- * config/arm/arm.h (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove.
- * config/arm/arm-protos.h (aapcs_libcall_value): Remove.
- * config/arm/arm.c (TARGET_FUNCTION_VALUE_REGNO_P): Define.
- (arm_libcall_value_1, arm_function_value_regno_p): New function.
- (arm_function_value, arm_libcall_value): Use arm_libcall_value_1.
- (aapcs_libcall_value): Make static.
- (arm_libcall_value): Add static qualifier.
-
-2011-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51387
- * config/i386/sse.md (mul<mode>3 with VI1_AVX2 iterator): For
- V32QImode use { 0,2,..,14,32,34,..,46,16,18,..,30,48,50,..,62 }
- permutation instead of extract even permutation.
-
-2011-12-02 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (struct arc_info): Add is_throw field.
- (struct (block_info): Add exceptional field, reduce flags size to
- account for it.
- (struct function_info): Add has_catch field.
- (struct line_info): Add unexceptional field.
- (process_file): Call find_exception_blocks if necessary.
- (read_graph_file): Adjust. Note if an exceptional edge is seen.
- (find_exception_blocks): New.
- (add_line_counts): Set line's unexceptional flag if not exceptional.
- (output_branch_count): Note exceptional arcs, lines and blocks.
- * gcov-dump.c (tag_arcs): Decode arc flags.
- * doc/gcov.texi: Document '=====' lines.
-
-2011-12-02 Anatoly Sokolov <aesok@post.ru>
-
- * config/ia64/ia64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
- PRINT_OPERAND_PUNCT_VALID_P): Remove macros.
- * config/ia64/ia64-protos.h (ia64_print_operand,
- ia64_print_operand_address): Remove.
- * config/ia64/ia64.c (TARGET_PRINT_OPERAND,
- TARGET_PRINT_OPERAND_ADDRESS, TARGET_PRINT_OPERAND_PUNCT_VALID_P):
- Define.
- (ia64_print_operand_punct_valid_p): New function.
- (ia64_print_operand, ia64_print_operand_address): Make static.
-
-2011-12-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/51390
- * config/rs6000/rs6000.c (def_builtin): Use the correct field to
- figure out the function's attributes.
- (struct builtin_description): Mark mask field as const since we no
- longer need to modify it for SPE and PAIRED builtins.
-
-2011-12-02 Joseph Myers <joseph@codesourcery.com>
-
- Revert:
-
- 2008-09-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR rtl-opt/37451
- * loop-doloop.c (doloop_modify): New argument zero_extend_p and
- zero extend count after the correction to it is done.
- (doloop_optimize): Update call to doloop_modify, don't zero extend
- count before call.
-
- 2008-11-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
-
- PR rtl-opt/37782
- * loop-doloop.c (doloop_modify): Add from_mode argument that says what
- mode count is in.
- (doloop_optimize): Update call to doloop_modify.
-
-2011-12-02 Richard Guenther <rguenther@suse.de>
-
- PR lto/47259
- * ipa.c (varpool_externally_visible_p): Register variables
- are always externally visible.
-
-2011-12-02 Sameera Deshpande <sameera.deshpande@arm.com>
-
- * gimple-pretty-print.c (dump_gimple_call): Dereference fn only if
- non-NULL.
-
-2011-12-02 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50622
- * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
- if both lacc and racc are grp_partial_lhs.
-
-2011-12-01 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/50814.
- * config/sh/sh.c (expand_ashiftrt): Handle TARGET_SH2A same as
- TARGET_SH3.
- (shl_sext_kind): Likewise.
- * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Likewise.
- * config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a): Remove.
- (ashlsi3_std): Handle TARGET_SH2A same as TARGET_SH3.
- (ashlsi3): Likewise.
- (ashrsi3_d): Likewise.
- (lshrsi3_d): Likewise.
- (lshrsi3): Likewise.
-
-2011-12-01 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/51346
- * ipa-inline.c (can_inline_edge_p): If the edge E has a statement,
- use the statement's inline indicator instead of E's.
- Remove consistency check.
-
-2011-12-01 Diego Novillo <dnovillo@google.com>
-
- PR bootstrap/51346
- Revert
-
- 2011-11-29 Diego Novillo <dnovillo@google.com>
-
- * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
- Update field call_stmt_cannot_inline_p from call
- graph edge, if needed.
- * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
-
-2011-12-01 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51113
- * coverage.c (build_var): Keep coverage variables static.
-
-2011-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51356
- * tree-vect-patterns.c (vect_recog_bool_pattern): Give up if
- vectype doesn't have VECTOR_MODE_P.
-
- PR debug/50317
- * tree-ssa-dce.c (remove_dead_stmt): Add a debug stmt when removing
- as unnecessary a store to a variable with gimple reg type.
- * tree-ssa-live.c (remove_unused_locals): Clear TREE_ADDRESSABLE bit
- on local unreferenced variables.
- * cfgexpand.c (expand_gimple_basic_block): Don't emit DEBUG_INSNs
- for !target_for_debug_bind variables.
-
-2011-12-01 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR middle-end/51273
- * cgraph.h (cgraph_call_node_duplication_hooks): Declare.
- * cgraph.c (cgraph_call_node_duplication_hooks): Make global.
- * cgraphunit.c (cgraph_copy_node_for_versioning): Call it.
-
-2011-12-01 Andrew Pinski <apinski@cavium.com>
-
- PR lto/51198
- * tree.c (free_lang_data_in_decl): Clear FIELD_DECL's
- DECL_INITIAL also.
-
-2011-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51246
- * tree-predcom.c (replace_ref_with): Handle also clobber on the rhs.
-
- PR rtl-optimization/51014
- * loop-unroll.c (apply_opt_in_copies): Ignore label DEBUG_INSNs
- both from bb and orig_bb.
-
-2011-12-01 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR tree-optimization/50802
- * tree-vrp.c (simplify_conversion_using_ranges): Rewrite test
- considering what happens to ranges during sign changes and/or
- intermediate narrowing conversions.
-
-2011-11-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/50283
- * config/pa/pa.md (in_branch_delay): Disallow frame related insns.
- (in_nullified_branch_delay): Likewise.
- (in_call_delay): Likewise.
-
-2011-11-30 Richard Henderson <rth@redhat.com>
-
- * predict.c (expr_expected_value_1): Assume compare-and-swap builtin
- boolean return is true.
-
-2011-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51044
- * dse.c (emit_inc_dec_insn_before): Ensure new_insn is an instruction
- rather than just insn body.
-
- PR target/50725
- * function.c (thread_prologue_and_epilogue_insns): If
- stack_realign_drap, add drap_reg to SET_UP_BY_PROLOGUE
- regset.
-
- PR middle-end/51089
- * tree-eh.c (cleanup_empty_eh_merge_phis): Add check to
- avoid creating duplicate edges here.
- (cleanup_empty_eh_unsplit): And remove it in the caller.
-
-2011-11-30 Andrew Pinski <apinski@cavium.com>
-
- PR c/51321
- * c-parser.c (c_parser_postfix_expression): Check groktypename results
- before looking at the main variant.
-
-2011-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48721
- * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
- reg_pending_barrier to TRUE_BARRIER.
-
- PR rtl-optimization/48721
- * sched-ebb.c (begin_move_insn): Insert empty unreachable
- block after BARRIER if insn is followed by it.
-
-2011-11-30 Richard Henderson <rth@redhat.com>
-
- * config/sparc/sparc-opts.h (enum sparc_memory_model_type): New.
- * config/sparc/sparc.opt (mmemory-model=): New option.
- * doc/invoke.texi (Sparc Options): Document it.
- * config/sparc/sparc.c (sparc_option_override): Provide default
- for sparc_memory_model.
- (sparc_emit_membar_for_model): Omit barrier combinations that are
- implied by the memory model.
-
-2011-11-30 Richard Henderson <rth@redhat.com>
-
- * config/sparc/sync.md (I124MODE): New mode iterator.
- (memory_barrier): Remove.
- (atomic_exchangesi): New.
- (swapsi): Rename from *swapsi.
- (atomic_test_and_set<I124MODE>): New.
- (ldstubqi): Rename from *ldstubqi, merge with expander.
- (ldstub<I24MODE>): Rename from *ldstub<I24MODE>, merge with expander.
- (sync_lock_test_and_setsi): Remove.
- (sync_lock_test_and_set<I12MODE>): Remove.
-
-2011-11-30 Richard Henderson <rth@redhat.com>
-
- * config/sparc/constraints.md ("w"): New.
- * config/sparc/predicates.md (mem_noofs_operand): New.
- * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Make static.
- Generate the boolean result of the atomic_compare_exchange.
- (sparc_expand_compare_and_swap): New.
- * config/sparc/sync.md (atomic_compare_and_swap<I>): New.
- (atomic_compare_and_swap<I48MODE>_1): Rename from
- *sync_compare_and_swap<I48MODE>, use mem_noofs_operand.
- (*atomic_compare_and_swapdi_v8plus): Rename from
- *sync_compare_and_swapdi_v8plus, use mem_noofs_operand.
- (sync_compare_and_swap<I12MODE>): Remove.
- (sync_compare_and_swap<I48MODE>): Remove.
-
-2011-11-30 Richard Henderson <rth@redhat.com>
-
- * config/sparc/predicates.md (register_or_v9_zero_operand): New.
- * config/sparc/sparc.md (UNSPEC_ATOMIC): New.
- * config/sparc/sync.md (atomic_load<I>): New.
- (atomic_loaddi_1, atomic_store<I>, atomic_storedi_1): New.
-
-2011-11-30 Richard Henderson <rth@redhat.com>
-
- * config/sparc/predicates.md (zero_or_v7_operand): New.
- * config/sparc/sparc.c (sparc_emit_membar_for_model): New.
- * config/sparc/sparc-protos.h: Update.
- * config/sparc/sync.md (mem_thread_fence): New.
- (memory_barrier): Use sparc_emit_membar_for_model.
- (membar, *membar_empty, *membar_storestore, *membar_storeload): New.
- (*membar_v8): Accept and ignore the membar mask.
- (*membar): Accept and print the membar mask.
-
-2011-11-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/arm.c (arm_issue_rate): Cortex-A15 can triple issue.
- * config/arm/arm.md (mul64): New attribute.
- (generic_sched): Cortex-A15 is not scheduled generically.
- (cortex-a15.md): Include.
- * config/arm/cortex-a15.md: New machine description.
- * config/arm/t-arm (MD_INCLUDES): Add cortex-a15.md.
-
-2011-11-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/t-arm (MD_INCLUDES): Ensure all md files are listed.
-
-2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
-
- * doc/tm.texi.in (NEXT_OBJC_RUNTIME): Update macro description.
- * doc/tm.texi: Regenerate.
- * flags.h (flag_next_runtime): Remove references.
- * toplev.c: Likewise.
- * defaults.h (NEXT_OBJC_RUNTIME): Provide default.
- * gccspec.c (lang_specific_driver): Adjust use of NEXT_OBJC_RUNTIME.
- * config/darwin.c (darwin_override_options): Provide default
- Objective-C abi settings and target conflict checks.
- * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Remove unused
- code. Adjust indenting.
-
-2011-11-29 Joseph Myers <joseph@codesourcery.com>
-
- * config/sh/sh.h (enum reg_class, REG_CLASS_NAMES)
- (REG_CLASS_CONTENTS): Add NON_SP_REGS.
- (REGCLASS_HAS_GENERAL_REG): Handle NON_SP_REGS.
- * config/sh/constraints.md (u): New constraint.
-
-2011-11-29 Oleg Endo <oleg.endo@t-online.de>
-
- PR target/51337
- * config/sh/sh.c (sh_secondary_reload): Add case when FPUL
- register is being loaded from a pseudo in memory.
-
-2011-11-29 DJ Delorie <dj@redhat.com>
-
- * config.gcc (rl78-*-elf): New case.
- * doc/extend.texi: Add RL78 documentation.
- * doc/invoke.texi: Likewise.
- * doc/md.texi: Likewise.
- * doc/contrib.texi: Add RL78.
- * doc/install.texi: Add rl78-*-elf.
- * config/rl78: New directory for the Renesas RL78.
-
-2011-11-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51247
- * tree-vrp.c (extract_range_from_assert): For signed 1-bit precision
- types instead of adding 1 subtract -1 and instead of subtracting 1
- add -1 to avoid overflows.
-
-2011-11-29 Andrew MacLeod <amacleod@redhat.com>
-
- PR target/50123
- * optabs.c (maybe_optimize_fetch_op): New. Look for more optimal
- instructions for a FECTH_OP or OP_FECTH sequence.
- (expand_atomic_fetch_op): Call maybe_optimize_fetch_op.
-
-2011-11-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
- (movdi_via_fpu): Remove.
- (loaddi_via_fpu): New insn pattern.
- (storedi_via_fpu): Ditto.
- (atomic_loaddi_fpu): Use loaddi_via_fpu and storedi_via_fpu.
- (atomic_storedi_fpu): Ditto.
- * reg-stack.c (get_true_reg): Handle UNSPEC_LDA.
- (subst_stack_regs_pat): Handle UNSPEC_STA.
-
-2011-11-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not
- allocate scratch memory for alternative 0.
-
-2011-11-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtins.def: Completely rewrite builtin
- handling to centralize more of the builtins in this file. Change
- some builtin enumerations to be more consistant. Use a new mask
- to hold the current builtins, including SPE and PAIRED builtins
- which no longer are set via target_flags masks. Add
- -mdebug=builtin debug support. For power machines, define all
- Altivec and VSX buitins when the compiler starts, but don't allow
- the use of a builtin unless the appropriate switch is used, or
- #pragma GCC target is used to change the options. If the user
- uses #pragma GCC target, update the appropriate hardware macros.
- * common/config/rs6000/rs6000-common.c (rs6000_handle_option): Ditto.
- * config/rs6000/rs6000.opt (rs6000_builtin_mask): Ditto.
- * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): Ditto.
- (rs6000_define_or_undefine_macro): Ditto.
- (rs6000_target_modify_macros): Ditto.
- (rs6000_cpu_cpp_builtins): Ditto.
- (altivec_overloaded_builtins): Ditto.
- (altivec_build_resolved_builtin): Ditto.
- * config/rs6000/rs6000.c (rs6000_target_modify_macros_ptr): Ditto.
- (rs6000_builtin_info): Ditto.
- (def_builtin): Ditto.
- (enable_mask_for_builtins): Ditto.
- (DEBUG_FMT_X): Ditto.
- (rs6000_debug_reg_global): Ditto.
- (rs6000_builtin_mask_calculate): Ditto.
- (rs6000_option_override_internal): Ditto.
- (rs6000_builtin_conversion): Ditto.
- (rs6000_builtin_vectorized_function): Ditto.
- (bdesc_3arg): Ditto.
- (bdesc_dst): Ditto.
- (bdesc_2arg): Ditto.
- (builtin_description_predicates): Ditto.
- (bdesc_altivec_preds): Ditto.
- (bdesc_spe_predicates): Ditto.
- (bdesc_spe_evsel): Ditto.
- (bdesc_paired_preds): Ditto.
- (bdesc_abs): Ditto.
- (bdesc_1arg): Ditto.
- (rs6000_overloaded_builtin_p): Ditto.
- (rs6000_expand_unop_builtin): Ditto.
- (bdesc_2arg_spe): Ditto.
- (spe_expand_builtin): Ditto.
- (rs6000_invalid_builtin): Ditto.
- (rs6000_expand_builtin): Ditto.
- (rs6000_init_builtins): Ditto.
- (spe_init_builtins): Ditto.
- (paired_init_builtins): Ditto.
- (altivec_init_builtins): Ditto.
- (builtin_function_type): Ditto.
- (rs6000_common_init_builtins): Ditto.
- (rs6000_builtin_reciprocal): Ditto.
- (rs6000_builtin_mask_names): Ditto.
- (rs6000_pragma_target_parse): Ditto.
- (rs6000_function_specific_print): Ditto.
- * config/rs6000/rs6000.h (MASK_DEBUG_BUILTIN): Ditto.
- (MASK_DEBUG_ALL): Ditto.
- (TARGET_DEBUG_BUILTIN): Ditto.
- (TARGET_EXTRA_BUILTINS): Ditto.
- (REGISTER_TARGET_PRAGMAS): Ditto.
- (enum rs6000_btc): Ditto.
- (RS6000_BTC_*): Ditto.
- (RS6000_BTM_*): Ditto.
- (enum rs6000_builtins): Ditto.
- * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_p): Ditto.
- (rs6000_target_modify_macros): Ditto.
- (rs6000_target_modify_macros_ptr): Ditto.
-
- * config/rs6000/vector.md (unsfloat<VEC_int><mode>2): Use the
- standard name for converting vector unsigned values to floating
- point. Delete the TARGET_VECTORIZE_BUILTIN_CONVERSION hook, which
- is handled by machine independent code.
- * config/rs6000/rs6000.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Ditto.
- (rs6000_builtin_conversion): Ditto.
-
-2011-11-29 Dodji Seketeli <dodji@redhat.com>
-
- * tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
- (maybe_unwind_expanded_macro_loc): Adjust.
-
-2011-11-29 David Edelsohn <dje.gcc@gmail.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- * trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl
- if DECL_ONE_ONLY.
- (ipa_tm_create_version): Same.
-
-2011-11-29 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (recompute_todo_spec): Simplify and correct the
- code checking for a clobber of a condition register when deciding
- whether to predicate.
-
-2011-11-29 Diego Novillo <dnovillo@google.com>
-
- * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
- Update field call_stmt_cannot_inline_p from call graph edge, if needed.
- * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
-
-2011-11-29 Sameera Deshpande <sameera.deshpande@arm.com>
-
- * config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE.
- (movdf_soft_insn): Likewise.
- * config/arm/fpa.md (thumb2_movdf_fpa): Likewise.
- * config/arm/neon.md (neon_mov<mode>): Likewise.
- * config/arm/vfp.md (movdi_vfp): Likewise.
- (movdi_vfp_cortexa8): Likewise.
- (movdf_vfp): Likewise.
-
-2011-11-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/50074
- * expr.c (expand_expr_addr_expr_1): Don't call force_operand for
- EXPAND_SUM modifier.
-
-2011-11-29 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/51301
- * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check that
- the last statement doesn't convert to a bigger type than the original
- type of the computation.
-
-2011-11-28 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
- Handle overlap between retval and oldval. Always compute boolval
- from CR0 EQ value.
-
-2011-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/50317
- * tree-ssa.c (execute_update_addresses_taken): Remove
- var ={v} {CLOBBER} stmts instead of rewriting them into
- var_N ={v} {CLOBBER}.
-
- PR middle-end/50907
- * function.c (convert_jumps_to_returns): When redirecting an edge
- succ to EXIT_BLOCK_PTR, clear EDGE_CROSSING flag.
-
- PR tree-optimization/50078
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
- TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.
-
- PR tree-optimization/50682
- * tree-eh.c (maybe_remove_unreachable_handlers): New function.
- * tree-flow.h (maybe_remove_unreachable_handlers): New prototype.
- * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it.
-
-2011-11-28 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/extend.texi (AVR Built-in Functions): Add documentation for
- __builtin_avr_map8 and __builtin_avr_map16.
-
- * config/avr/avr.md: Document new %t and %T asm output codes.
- (define_c_enum "unspec"): Add UNSPEC_MAP_BITS.
- (adjust_len): Add map_bits.
- (map_bitsqi, map_bitshi): New insns.
- * config/avr/avr-protos.h (avr_out_map_bits): New.
- * config/avr/avr-protos.c (print_operand): Implement %t and %T.
- (adjust_insn_length): Handle ADJUST_LEN_MAP_BITS.
- (avr_double_int_push_digit): New function.
- (avr_map, avr_revert_map, avr_swap_map, avr_id_map): New functions.
- (avr_sig_map, avr_map_hamming_byte): New functions.
- (avr_out_swap_bits, avr_out_revert_bits, avr_move_bits,
- avr_out_map_bits): New functions.
- (enum avr_builtin_id): Add AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
- (avr_init_builtins): Populate __builtin_avr_map8, __builtin_avr_map16.
- (bdesc_2arg): Add __builtin_avr_map8, __builtin_avr_map16 ...
- (avr_expand_builtin): ...and expand them.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
- __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
-
-2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/51278
- * config/mips/mips.c (mips_rtx_costs): Handle baddu.
-
-2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.
-
-2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips-protos.h (mips_emit_binary): Declare.
- * config/mips/mips.c (mips_emit_binary): Make global.
- (mips_set_mips16_mode): Turn off -mfix-r4000 in MIPS16 mode.
- (mips_conditional_register_usage): Don't treat LO and HI as
- register operands in MIPS16 mode.
- (mips_mulsidi3_gen_fn): Use {u,}mulsidi3_{32,64}bit_mips16
- for MIPS16 code.
- * config/mips/predicates.md (muldiv_target_operand): New predicate.
- (move_operand): Allow hilo_operand.
- * config/mips/mips.md (mul<mode>3): Explicitly specify LO as the
- target of MIPS16 multiplies, then move it into the target register.
- (mul<mode>3_internal, *macc2, *msac2): Use muldiv_target_operand.
- (<u>mulsidi3_32bit_mips16): New expander.
- (<u>mulsidi3_32bit): Use muldiv_target_operand.
- (<u>mulsidi3_32bit_r4000): Disable for ISA_HAS_DSP.
- (<u>mulsidi3_64bit): Require !TARGET_MIPS16. Split into
- <u>mulsidi3_64bit_split.
- (<u>mulsidi3_64bit_mips16): New expander.
- (<u>mulsidi3_64bit_split): Likewise, using expansions from
- two previous define_splits.
- (<u>mulsidi3_64bit_hilo, *muls<u>_di, <u>msubsidi4): Use
- muldiv_target_operand.
- (<su>mulsi3_highpart): Use <su>mulsi3_highpart_split for MIPS16 code.
- (<su>mulsi3_highpart_internal): Require !TARGET_MIPS16.
- Split into <su>mulsi3_highpart_split.
- (<su>mulsi3_highpart_split): New expander.
- (<su>muldi3_highpart): Turn into a define_expand.
- Use <su>muldi3_highpart_split for MIPS16 code.
- (<su>muldi3_highpart_internal): Renamed from <su>muldi3_highpart.
- Require !TARGET_MIPS16. Split into <su>muldi3_highpart_split.
- (<su>muldi3_highpart_split): New expander.
- (<u>mulditi3): Explicitly specify LO as the target of MIPS16
- multiplies, then move it into the target register.
- (<u>mulditi3_internal, <u>maddsidi4): Use muldiv_target_operand.
- (divmod<mode>4, udivmod<mode>4): Turn into define_expands.
- Use <u>divmod<mode>4_split for MIPS16 code, then explicitly
- move LO into operand 0.
- (divmod<mode>4_internal, udivmod<mode>4_internal): Renamed
- from <u>divmod<mode>4. Use muldiv_target_operand.
- Require !TARGET_MIPS16. Split into <u>divmod<mode>4_split.
- (<u>divmod<mode>4_split): New expander.
- (<u>divmod<GPR:mode>4_hilo_<HILO:mode>): Use muldiv_target_operand.
- (mfhi<GPR:mode>_<HILO:mode>): Use hilo_operand.
-
-2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set
- and x_operand_reg_set.
- (accessible_reg_set, operand_reg_set): New macros.
- * reginfo.c (init_reg_sets): Initialize accessible_reg_set and
- operand_reg_set.
- (saved_accessible_reg_set, saved_operand_reg_set): New variables.
- (save_register_info): Save them.
- (restore_register_info): Restore them.
- (init_reg_sets_1): Limit operand_reg_set to accessible_reg_set.
- Remove NO_REGS registers from operand_reg_set. Treat members
- of operand_reg_set as fixed.
- * recog.c (general_operand): Check operand_reg_set rather than NO_REGS.
- (register_operand, nonmemory_operand): Likewise.
- * varasm.c (make_decl_rtl): Always use DECL_MODE as the mode of
- register variables. Check accessible_reg_set and operand_reg_set.
- * config/mips/mips.c (mips_conditional_register_usage): Remove
- inaccessible register from accessible_reg_set, rather than just
- making them fixed.
-
-2011-11-27 Gerald Pfeifer <gerald@pfeifer.com>
-
- * config/pa/pa-linux.h (TARGET_GAS): Remove comment.
-
-2011-11-26 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs
- for Linux.
-
-2011-11-26 Richard Henderson <rth@redhat.com>
-
- * optabs.c (expand_atomic_fetch_op): Always return result.
-
- * optabs.c (init_sync_libfuncs_1): Include max in iteration.
-
- * omp-low.c (expand_omp_atomic): Assume anything aligned to
- BIGGEST_ALIGNMENT is aligned.
-
-2011-11-26 Richard Henderson <rth@redhat.com>
-
- * config/m68k/m68k.md (UNSPECV_CAS_1, UNSPECV_CAS_2): New.
- (UNSPECV_TAS_1, UNSPECV_TAS_2): New.
- (I): New mode iterator.
- (xz): New mode attribute.
- * config/m68k/sync.md: New file.
-
- * config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
- * config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
-
-2011-11-26 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51297
- * gcov.c (main): Allocate initial names and sources arrays.
- (find_source): Don't check for null name or source arrays here.
-
-2011-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49912
- * cfgrtl.c (rtl_verify_flow_info_1): Ignore also EDGE_PRESERVE bit
- when counting n_branch.
-
-2011-11-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.
-
-2011-11-26 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR middle-end/50074
- * calls.c (mem_overlaps_already_clobbered_arg_p):
- Return false if no outgoing arguments have been stored so far.
-
-2011-11-25 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.
-
-2011-11-24 Andrew MacLeod <amacleod@redhat.com>
-
- PR other/51011
- * tree.h (is_builtin_name): No longer external.
- * builtins.c (is_builtin_name): Make static.
- * varasm.c (incorporeal_function_p): __sync and __atomic external calls
- are not incorporeal and may need asm label processing.
-
-2011-11-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50566
- * config/avr/avr-protos.h (avr_log_t): Add field .builtin.
- * config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
- Don't bypass TARGET_ALL_DEBUG. Print self-info with ?.
- (avr_log_vadump): Support %D and %X to print double_int.
- (avr_double_int_pop_digit): New static function.
- (avr_dump_double_int_hex): New static function.
-
-2011-11-24 Enkovich Ilya <ilya.enkovich@intel.com>
-
- PR target/51287
- * config/i386/i386.c (distance_non_agu_define_in_bb): Fix insn
- attr check.
-
-2011-11-24 Andrew MacLeod <amacleod@redhat.com>
-
- * optab.c (maybe_emit_atomic_exchange): New. Try to emit an
- atomic_exchange pattern.
- (maybe_emit_sync_lock_test_and_set): New. Try to emit an exchange
- using __sync_lock_test_and_set.
- (maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
- exchange using a compare_and_swap loop.
- (expand_sync_lock_test_and_set): New. Expand sync_lock_test_and_set.
- (expand_atomic_test_and_set): New. Expand test_and_set operation.
- (expand_atomic_exchange): Use new maybe_emit_* functions.
- (expand_atomic_store): Use new maybe_emit_* functions.
- * builtins.c (expand_builtin_sync_lock_test_and_set): Call
- expand_sync_lock_test_and_set routine.
- (expand_builtin_atomic_exchange): Remove parameter from call.
- (expand_builtin_atomic_clear): Use atomic_clear pattern if present.
- (expand_builtin_atomic_test_and_set): Add target and simply call
- expand_atomic_test_and_set.
- (expand_builtin): Add target to expand_builtin_atomic_test_and_set.
- * expr.h (expand_atomic_exchange): Add parameter.
- (expand_sync_lock_test_and_set): New prototype.
- (expand_atomic_test_and_set, expand_atomic_clear): New prototypes.
-
-2011-11-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/51134
- * config/i386/i386.h (processor_costs): Revert revision 181357.
- * config/i386/i386.c (cost models): Likewise.
- (core_cost): Likewise.
- (promote_duplicated_reg): Likewise.
- (promote_duplicated_reg_to_size): Likewise.
- (processor_target): Likewise.
- (expand_set_or_movmem_via_loop_with_iter): Likewise.
- (expand_set_or_movmem_via_loop): Likewise.
- (emit_strset): Likewise.
- (expand_movmem_epilogue): Likewise.
- (expand_setmem_epilogue): Likewise.
- (expand_movmem_prologue): Likewise.
- (expand_setmem_prologue): Likewise.
- (expand_constant_movmem_prologue): Likewise.
- (expand_constant_setmem_prologue): Likewise.
- (decide_alg): Likewise.
- (decide_alignment): Likewise.
- (ix86_expand_movmem): Likewise.
- (ix86_expand_setmem): Likewise.
- (ix86_slow_unaligned_access): Likewise.
- * config/i386/i386.md (strset): Likewise.
- * config/i386/sse.md (vec_dupv4si): Likewise.
- (vec_dupv2di): Likewise.
-
-2011-11-24 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*rotlhi2.15): Set length to 4.
-
-2011-11-24 Razya Ladelsky <razya@il.ibm.com>
-
- * tree-data-ref.c (initialize_data_dependence_relation): Update
- comment for the self dependence case.
- (compute_self_dependence): Remove.
- * tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to
- compute_self_dependenc.
-
-2011-11-24 Alan Modra <amodra@gmail.com>
-
- * c-decl.c (warn_if_shadowing): Don't warn if shadowed
- identifier is from system header.
-
-2011-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51261
- * config/i386/i386.c (decide_alg): Initialize *dynamic_check
- even if !optimize.
-
-2011-11-23 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48455
- * doc/invoke.texi (-fira-region): Document default values.
-
- * flags-types.h (enum ira_region): Add new value
- IRA_REGION_AUTODETECT.
-
- * common.opt (fira-region): Set up initial value to
- IRA_REGION_AUTODETECT.
-
- * toplev.c (process_options): Set up flag_ira_region depending on
- -O options.
-
- * ira.c (ira.c): Remove optimize guard for ira_build.
-
-2011-11-23 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR rtl-optimization/50496
- * jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX
- only after epilogue is created. Add comments.
-
-2011-11-22 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter.
- Generate the barrier required for the memory model.
- (rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL.
- * config/ia64/ia64-protos.h: Update.
- * config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New.
- (UNSPEC_CMPXCHG_REL): New.
- * config/ia64/sync.md (mem_thread_fence): New.
- (atomic_load<IMODE>, atomic_store<IMODE>): New.
- (atomic_compare_and_swap<IMODE>): New.
- (cmpxchg_acq_<I124MODE>, cmpxchg_acq_di): New.
- (atomic_exchange<IMODE>): New.
- (xchg_acq_<IMODE>): Rename from sync_lock_test_and_set<IMODE>.
- (atomic_<FETCHOP><IMODE>, atomic_nand<IMODE>): New.
- (atomic_fetch_<FETCHOP><IMODE>, atomic_fetch_nand<IMODE>): New.
- (atomic_<FETCHOP>_fetch<IMODE>, atomic_nand_fetch<IMODE>): New.
- (fetchadd_rel_<I48MODE>): New.
- (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): Remove.
- (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): Remove.
- (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): Remove.
- (sync_compare_and_swap<IMODE>): Remove.
- (sync_lock_release<IMODE>): Remove.
-
- * config/ia64/ia64.md: Use define_c_enum for UNSPEC_*
- and UNSPECV_* constants.
-
-2011-11-22 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/50764
- * sched-deps.c (sched_analyze_insn): Make sure frame-related insns are
- not moved past preceding jump.
-
-2011-11-22 Jeff Law <law@redhat.com>
-
- * doc/contrib.texi: Add entry for David Binderman.
-
-2011-11-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * postreload.c (reload_combine): Mark reg_state as invalid at
- volatile insns if there has been a use already.
-
-2011-11-21 Aldy Hernandez <aldyh@redhat.com>
-
- * opts.c (finish_options): Do not fail for -fgnu-tm.
- * gimple-streamer-out.c (output_gimple_stmt): Handle
- GIMPLE_TRANSACTION.
- * gimple-streamer-in.c (input_gimple_stmt): Same.
- * lto-cgraph.c (input_overwrite_node): Read tm_clone bit.
- (lto_output_node): Write tm_clone bit.
-
-2011-11-22 Ian Lance Taylor <iant@google.com>
-
- * doc/install.texi (Configuration): Correct doc of
- --enable-build-poststage1-with-cxx: it is not experimental.
-
-2011-11-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51074
- * fold-const.c (fold_binary_loc): Fix up VEC_INTERLEAVE_*_EXPR
- handling for BYTES_BIG_ENDIAN.
- * optabs.c (can_vec_perm_for_code_p): Likewise.
-
-2011-11-22 Michael Matz <matz@suse.de>
-
- PR other/51125
- * trans-mem.c (expand_block_tm): Ignore clobbers.
-
-2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin.h (ENDFILE_SPEC): New.
- (DARWIN_CRT1_SPEC): Add crttms.o.
- (STARTFILE_SPEC): Likewise for dynamic libs and bundles.
- * config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.
-
-2011-11-22 Michael Matz <matz@suse.de>
-
- PR c++/51264
- * tree.c (iterative_hash_expr): Remove break after return.
-
-2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
-
- * target.def (tm_clone_table_section): New hook.
- * doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
- * doc/tm.texi: Regenerate.
- * varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section.
- * output.h (default_clone_table_section): New prototype.
- * config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New.
- * config/darwin-protos.h (darwin_tm_clone_table_section): New prototype.
- * config/darwin.c (darwin_tm_clone_table_section): New.
-
-2011-11-21 Torvald Riegel <triegel@redhat.com>
-
- * trans-mem.c (diagnose_tm_1): Print an expression instead of a
- declaration in error messages for indirect calls.
-
-2011-11-21 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (sparc_regmode_natural_size): New function
- implementing REGMODE_NATURAL_SIZE taking into consideration vector
- modes.
- (sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P.
- * config/sparc/sparc-protos.h (sparc_regmode_natural_size,
- sparc_modes_tieable_p): Declare.
- * gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE,
- MODES_TIEABLE_P): Use new helper functions.
-
- Revert
- 2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR middle-end/50325
- * expmed.c (store_bit_field_1): Use extract_bit_field on big
- endian targets if the source cannot be exactly covered by word
- mode chunks.
-
-2011-11-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/50827
- * var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP
- macro instead of XEXP.
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (output_reload_in_const): Loading a byte with 0
- must not affect cc0.
- * config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any
- register does not change cc0. Same for any constant to ld-register.
-
-2011-11-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
- UNSPEC_PFRCPIT1, UNSPEC_PFRCPIT2, UNSPEC_PFRSQRT, UNSPEC_PFRSQIT1>:
- Move from config/i386/i386.md
- (unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
- * config/i386/sse.md (unspec) <UNSPEC_MOVNT,UNSPEC_MOVU, UNSPEC_LDDQU,
- UNSPEC_PSHUFB, UNSPEC_PSIGN, UNSPEC_PALIGNR, UNSPEC_EXTRQI,
- UNSPEC_EXTRQ, UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
- UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
- UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_PCMPESTR, UNSPEC_PCMPISTR,
- UNSPEC_FMADDSUB, UNSPEC_XOP_UNSIGNED_CMP, UNSPEC_XOP_TRUEFALSE,
- UNSPEC_XOP_PERMUTE, UNSPEC_FRCZ, UNSPEC_AESENC, UNSPEC_AESENCLAST,
- UNSPEC_AESDEC, UNSPEC_AESDECLAST, UNSPEC_AESIMC,
- UNSPEC_AESKEYGENASSIST, UNSPEC_PCLMUL, UNSPEC_PCMP, UNSPEC_VPERMIL,
- UNSPEC_VPERMIL2, UNSPEC_VPERMIL2F128, UNSPEC_CAST, UNSPEC_VTESTP,
- UNSPEC_VCVTPH2PS, UNSPEC_VCVTPS2PH, UNSPEC_VPERMSI, UNSPEC_VPERMDF,
- UNSPEC_VPERMSF, UNSPEC_VPERMTI, UNSPEC_GATHER, UNSPEC_VSIBADDR>: Ditto.
- (unspecv) <UNSPECV_LDMXCSR, UNSPECV_STMXCSR, UNSPECV_CLFLUSH,
- UNSPECV_MONITOR, UNSPECV_MWAIT, UNSPECV_VZEROALL, UNSPECV_VZEROUPPER>:
- Ditto.
- * config/i386/sync.md (unspec) <UNSPEC_LFENCE, UNSPEC_SFENCE,
- UNSPEC_MFENCE, UNSPEC_MOVA>: Ditto.
- (unspecv) <UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2, UNSPECV_CMPXCHG_3,
- UNSPECV_CMPXCHG_4, UNSPECV_XCHG, UNSPECV_LOCK>: Ditto.
- (sse2_lfence): Move from config/i386/sse.md.
- (*sse2_lfence): Ditto.
- (sse_sfence): Ditto.
- (*sse_sfence): Ditto.
- (sse2_mfence): Ditto.
- (mfence_sse2): Ditto. Rename from *sse2_mfence. Enable also
- for TARGET_64BIT.
- (mem_thread_fence): Use mfence_sse2.
-
-2011-11-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (struct base_arch_s): Add field sfr_offset.
- * config/avr/avr-devices.c: Ditto. And initialize it.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in define
- __AVR_SFR_OFFSET__.
- * config/avr/avr-protos.h (out_movqi_r_mr, out_movqi_mr_r): Remove.
- (out_movhi_r_mr, out_movhi_mr_r): Remove.
- (out_movsi_r_mr, out_movsi_mr_r): Remove.
- * config/avr/avr.md (*cbi, *sbi): Use %i instead of %m-0x20.
- (*insv.io, *insv.not.io): Ditto.
- * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r): Make static.
- (print_operand): Implement "%i" to print address as I/O address.
- (output_movqi): Clean up call of out_movqi_mr_r.
- (output_movhi): Clean up call of out_movhi_mr_r.
- (avr_file_start): Use avr_current_arch->sfr_offset instead of
- magic -0x20. Use TMP_REGNO, ZERO_REGNO instead of 0, 1.
- (avr_out_sbxx_branch): Use %i instead of %m-0x20.
- (out_movqi_r_mr, out_movqi_mr_r): Ditto. And make static.
- (out_movhi_r_mr, out_movhi_mr_r): Ditto. And use avr_asm_len.
- (out_shift_with_cnt): Clean up code: Use avr_asm_len.
- (output_movsisf): Use output_reload_insisf for all CONSTANT_P sources.
- (avr_out_movpsi): USE avr_out_reload_inpsi for all CONSTANT_P sources.
- Clean up call of avr_out_store_psi.
- (output_reload_in_const): Don't cut symbols longer than 2 bytes.
- (output_reload_insisf): Filter CONST_INT_P or CONST_DOUBLE_P to
- try if setting pre-cleared register is advantageous.
- (avr_out_plus_1): Use gen_int_mode instead of GEN_INT.
-
-2011-11-20 Joey Ye <joey.ye@arm.com>
-
- * expr.c (expand_expr_real_1): Correctly handle strict volatile
- bitfield loads smaller than mode size.
-
-2011-11-20 Richard Henderson <rth@redhat.com>
-
- * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.
-
-2011-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/51235
- * config/i386/i386.c (ix86_expand_vcond): Generate TARGET_XOP
- patterns for supported mode only.
-
- PR target/51236
- * config/i386/i386.c (ix86_expand_builtin)
- <IX86_BUILTIN_GATHERALTSIV4DI>: Use CODE_FOR_avx2_gathersiv4di.
-
-2011-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (UNSPEC_MOVNTI): Remove.
- (UNSPEC_MOVNTQ): New unspec.
- * config/i386/mmx.md (sse_movntq): Rename from sse_movntdi.
- Use UNSPEC_MOVNTQ instead of UNSPEC_MOVNT.
- * config/i386/sse.md (sse2_movnti<mode>): Use UNSPEC_MOVNT instead of
- UNSPEC_MOVNTI.
- (STORENT_MODE): Add DI and V4DI modes.
-
-2011-11-20 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51113
- * coverage.c (build_var): Propagate visibility for public
- decls. Use make_decl_one_only for PIC correctness.
-
- testsuite/
- * gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage
- * gcc.misc-tests/gcov-16.c: New.
- * gcc.misc-tests/gcov-17.c: New.
- * g++.dg/gcov/gcov-8.C: New.
- * g++.dg/gcov/gcov-9.C: New.
- * g++.dg/gcov/gcov-10.C: New.
-
-2011-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/51187
- * reorg.c (relax_delay_slots): Do not consider a jump useless if there
- is a barrier between the jump and its target label.
-
-2011-11-19 Patrick Marlier <patrick.marlier@gmail.com>
-
- PR middle-end/51211
- * tracer.c (ignore_bb_p): Don't copy GIMPLE_TRANSACTION.
-
-2011-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * expmed.c (store_bit_field_1): Revert bogus formatting change.
-
-2011-11-19 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/50493
- * config/arm/arm.c (neon_disambiguate_copy): Correctly handle partial
- overlap of src and dest operands.
-
-2011-11-19 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin.h (ASM_DEBUG_SPEC): New.
- * config/darwin9.h (ASM_DEBUG_SPEC): New.
-
-2011-11-18 Jan Hubicka <jh@suse.cz>
-
- * config/i386/i386.c (atom_cost): Disable SSE loop until alignment
- issues are fixed.
-
-2011-11-18 Anatoly Sokolov <aesok@post.ru>
-
- * config/cris/cris.c (cris_function_value_regno_p): Make static.
- (TARGET_FUNCTION_VALUE_REGNO_P): Define.
- * config/cris/cris.h (FUNCTION_VALUE_REGNO_P): Remove.
- * config/cris/cris-protos.h (cris_function_value_regno_p): Remove.
-
-2011-11-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/33944
- * doc/extend.texi: Document __builtin_ia32_movnti64.
-
- * config/i386/emmintrin.h (_mm_stream_si64): New.
-
- * config/i386/i386-builtin-types.def: Add VOID_FTYPE_PLONGLONG_LONGLONG.
-
- * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTI64.
- (bdesc_special_args): Update __builtin_ia32_movnti. Add
- __builtin_ia32_movnti64.
- (ix86_expand_special_args_builtin): Handle
- VOID_FTYPE_PLONGLONG_LONGLONG.
-
- * config/i386/i386.md (UNSPEC_MOVNTI): New.
-
- * config/i386/sse.md (sse2_movntsi): Renamed to ...
- (sse2_movnti<mode>): This.
-
-2011-11-18 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- * config/avr/avr.h (base_arch_s): Add field n_segments.
- (ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
- ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
- (AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
- (INIT_EXPANDERS): New define.
- * config/avr/avr-protos.h (avr_mem_pgmx_p): New.
- (avr_init_expanders): New.
- (avr_emit_movmemhi, avr_out_movmem): New.
- (avr_xload_libgcc_p): New.
- * config/avr/avr-c.c (avr_register_target_pragmas): Register
- address spaces __pgm1, __pgm2, __pgm3, __pgm4 __pgm5, __pgmx.
- (avr_cpu_cpp_builtins): Add built-in defines __PGM1,
- __PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
- * config/avr/avr-devices.c (avr_arch_types): Set field n_segments.
-
- * config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
- 3 bits instead of just 1.
- (xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
- (progmem_section): Change from section to array of sections.
- (progmem_section_prefix): New static variable.
- (avr_file_start): Print set for __RAMPZ__
- (avr_option_override): Move initialization of RTXes from here...
- (avr_init_expanders): ...to this new function.
- (avr_pgm_segment): New static function.
- (avr_decl_pgm_p): Handle error_mark_node.
- (avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
- (avr_out_xload, avr_find_unused_d_reg): New static functions.
- (expand_prologue, expand_epilogue): Use rampz_rtx.
- (print_operand): Hande CONST_STRING.
- (avr_xload_libgcc_p): New static function.
- (avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
- (avr_progmem_p): Return 2 for 24-bit flash address space.
- (avr_out_sbxx_branch): Clean-up code from ASn macros.
- (out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
- address and print symbolically.
- (avr_asm_named_section, avr_section_type_flags,
- avr_encode_section_info, avr_asm_select_section,
- avr_addr_space_address_mode, avr_addr_space_pointer_mode,
- avr_addr_space_legitimate_address_p, avr_addr_space_convert,
- avr_addr_space_legitimize_address): Handle new address spaces.
- (avr_output_progmem_section_asm_op): New static function.
- (avr_asm_init_sections): Initialize progmem_section[].
- (adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
- (avr_const_address_lo16): New static function.
- (avr_assemble_integer): Use it to handle 3-byte integers.
- (avr_emit_movmemhi, avr_out_movmem): New functions.
-
- * config/avr/predicates.md (nox_general_operand): Handle new
- address spaces.
- * config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
- (adjust_len): Add xload, movmem.
- (SP_ADDR): New define_constants.
- (isa): Add "lpm", "lpmx", "elpm", "elpmx".
- (enabled): Handle them.
- (load<mode>_libgcc): New expander.
- (*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
- (xload8_A, xload<mode>_A): New insn-and-splits.
- (xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
- (mov<mode>): Handle new address spaces.
- (movmemhi): Rewrite using avr_emit_movmemhi.
- (MOVMEM_r_d): New mode attribute.
- (movmem_<mode>, movmem_qi_elpm): New insns.
- (setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
- C-code. Use label instead of hard-coded instrunction lengths.
-
-2011-11-18 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50605
- * gimple.c (is_gimple_ip_invariant_address): Also handle MEM_REFs
- of IPA invariant decls.
-
-2011-11-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * tree-outof-ssa.c (insert_back_edge_copies): Add call to
- mark_dfs_back_edges.
-
-2011-11-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/49992
- * configure.ac: Remove ranlib special-casing for Darwin.
- * configure: Regenerate.
-
-2011-11-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR tree-optimization/51118
- * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
- before using TREE_TYPE accessor on expr.
-
-2011-11-17 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/51134
- * i386.c (atom_cost): Fix 32bit memset description.
- (expand_set_or_movmem_via_loop_with_iter): Output proper bounds check
- for epilogue loops.
- (expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing
- byte loop.
- (decide_alg): sse_loop is not useable wthen SSE2 is disabled;
- when not optimizing always use rep movsb or lincall; do not produce
- word sized loops when optimizing memset for size (to avoid need
- for large constants).
- (ix86_expand_movmem): Get into sync with ix86_expand_setmem;
- choose unroll factors better; always do 128bit moves when producing
- SSE loops; do not produce loopy epilogue when size is too small.
- (promote_duplicated_reg_to_size): Do not look into desired alignments
- when doing vector expansion.
- (ix86_expand_setmem): Track better when promoted value is available;
- choose unroll factors more sanely. Output loopy epilogue only
- when needed.
-
-2011-11-17 Steve Ellcey <sje@cup.hp.com>
-
- PR middle-end/51144
- * output.h (fprint_w): Remove.
- * final.c (fprint_w): Remove.
- (output_addr_const): Change fprint_w back to fprintf.
-
-2011-11-17 Andrew Pinski <apinski@cavium.com>
-
- * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.
-
-2011-11-17 Andrew MacLeod <amacleod@redhat.com>
-
- * builtins.c (expand_builtin): Remove 4th parameter representing
- weak/strong mode when __atomic_compare_exchange becomes a library call.
-
-2011-11-17 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
- new pseudo for target after convert_modes.
- (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.
-
-2011-11-17 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
- new pseudo for target after convert_modes.
- (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.
-
-2011-11-17 Richard Henderson <rth@redhat.com>
-
- * builtins.c (expand_builtin_mem_thread_fence): Remove.
- (expand_builtin_mem_signal_fence): Remove.
- (expand_builtin_atomic_thread_fence): Use expand_mem_thread_fence.
- (expand_builtin_sync_synchronize): Likewise.
- (expand_builtin_atomic_signal_fence): Use expand_mem_signal_fence.
- * optabs.c (expand_asm_memory_barrier): Split out from
- expand_builtin_mem_signal_fence.
- (expand_mem_thread_fence): New, a combination of code from
- expand_builtin_mem_thread_fence and expand_builtin_sync_synchronize.
- (expand_mem_signal_fence): Moved and renamed from
- expand_builtin_mem_signal_fence.
- (expand_atomic_exchange): Use expand_mem_thread_fence.
- (expand_atomic_load, expand_atomic_store): Likewise.
- * expr.h, optabs.h: Update decls.
-
-2011-11-17 Bin Cheng <bin.cheng@arm.com>
-
- PR rtl-optimization/50663
- * cprop.c (implicit_set_indexes): New global variable.
- (insert_set_in_table): Add additional parameter and record implicit
- set information.
- (hash_scan_set): Add additional parameter and pass it to above.
- (hash_scan_insn): Pass false to hash_scan_set.
- (compute_hash_table_work): Pass true to hash_scan_set.
- (compute_cprop_data): Add implicit set to AVIN of block which the
- implicit set is recorded for.
- (one_cprop_pass): Handle implicit_set_indexes array.
-
-2011-11-17 Michael Matz <matz@suse.de>
-
- PR middle-end/50644
- PR middle-end/50741
- * tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of
- current function.
- (remove_unused_locals): Ditto.
-
-2011-11-16 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (alpha_split_compare_and_swap_12): Copy
- ALIAS_SET_MEMORY_BARRIER when creating a new memory.
- (alpha_split_atomic_exchange_12): Likewise.
- * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Likewise.
-
-2011-11-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
-
-2011-11-16 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
- Default to minimum alignment if decl is NULL.
-
-2011-11-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
- sequence for AVX.
- (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
-
-2011-11-16 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * doc/invoke.texi: Document AMD bdver1 and btver1.
-
-2011-11-16 Richard Earnshaw <rearnsha@arm.com>
- Bernd Schmidt <bernds@coudesourcery.com>
- Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- PR target/49641
- * config/arm/arm.c (store_multiple_sequence): Avoid cases where
- the base reg is stored iff compiling for Thumb1.
-
-2011-11-16 Razya Ladelsky <razya@il.ibm.com>
-
- PR tree-optimization/49960
- * tree-data-ref.c (initialize_data_dependence_relation): Add
- initializations.
- Remove call to compute_self_dependence.
- (compute_affine_dependence): Remove the !DDR_SELF_REFERENCE condition.
- (compute_self_dependence): Remove old code. Add call to
- compute_affine_dependence.
- (compute_all_dependences): Remove call to compute_self_dependence.
- Add call to compute_affine_dependence.
-
-2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR middle-end/50325
- * expmed.c (store_bit_field_1): Use extract_bit_field on big
- endian targets if the source cannot be exactly covered by word
- mode chunks.
-
-2011-11-15 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
- ELF_STRING_LIMIT.
-
-2011-11-15 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (alpha_pre_atomic_barrier): New.
- (alpha_post_atomic_barrier): New.
- (alpha_split_atomic_op): New memmodel argument; honor it.
- (alpha_split_compare_and_swap): Take array of operands. Honor
- memmodel; always set bool output
- (alpha_expand_compare_and_swap_12): Similarly.
- (alpha_split_compare_and_swap_12): Similarly.
- (alpha_split_atomic_exchange): Similarly. Rename from
- alpha_split_lock_test_and_set.
- (alpha_expand_atomic_exchange_12): Similarly. Rename from
- alpha_expand_lock_test_and_set_12.
- (alpha_split_atomic_exchange_12): Similarly. Rename from
- alpha_split_lock_test_and_set_12.
- * config/alpha/alpha-protos.h: Update.
- * config/alpha/alpha.md (UNSPECV_CMPXCHG): New.
- * config/alpha/constraints.md ("w"): New.
- * config/alpha/predicates.md (mem_noofs_operand): New.
- * config/alpha/sync.md (atomic_compare_and_swap<mode>): Rename from
- sync_compare_and_swap<mode>; add the new parameters.
- (atomic_exchange<mode>): Update from sync_test_and_set<mode>.
- (atomic_fetch_<op><mode>): Update from sync_old_<op><mode>.
- (atomic_<op>_fetch<mode>): Update from sync_new_<op><mode>.
- (atomic_<op><mode>): Update from sync_<op><mode>.
-
-2011-11-16 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
-
-2011-11-16 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/51051
- PR bootstrap/51086
- * function.c (thread_prologue_and_epilogue_insns): Guard
- emitting return with single_succ_p test.
-
-2011-11-15 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
- get mode from CMP_OP1 if CMP_OP0 is VOIDmode.
-
-2011-11-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
- (vec_pack_sfix_trunc_v2df): Ditto.
- (vec_pack_sfix_v2df): Ditto.
- (vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and
- avx_vec_concatv8si patterns.
- (vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and
- avx_vec_concatv8si patterns.
-
-2011-11-15 Torvald Riegel <triegel@redhat.com>
-
- * c-parser.c (c_parser_transaction_expression): Require parentheses
- when parsing transaction expressions.
-
-2011-11-15 Tristan Gingold <gingold@adacore.com>
-
- * incpath.c (get_added_cpp_dirs): New function.
- * incpath.h (get_added_cpp_dirs): Declare.
- * config/vms/vms-c.c (vms_c_register_includes): New function.
- (vms_std_modules): New variable.
- * config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define.
- (vms_c_register_includes): Declare.
-
-2011-11-15 Tristan Gingold <gingold@adacore.com>
-
- * c-family/c-pragma.h (pragma_extern_prefix): Declare.
- * c-family/c-pragma.c (pragma_extern_prefix): Make it public.
- * config/vms/vms-c.c (saved_extern_prefix): New variable.
- (vms_pragma_extern_prefix): New function.
- (vms_c_register_pragma): Register vms_pragma_extern_prefix.
-
-2011-11-15 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49868
- * config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
- (REGISTER_TARGET_PRAGMAS): New define.
- * config/avr/avr-protos.h (avr_mem_pgm_p): New.
- (avr_load_libgcc_p): New.
- (avr_register_target_pragmas): New.
- (asm_output_external_libcall): Remove.
- (avr_log_t): Add field "progmem". Order alphabetically.
- * config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
- * config/avr/avr-c.c (langhooks.h): New include.
- (avr_register_target_pragmas): New function. Register address
- space __pgm.
- (avr_cpu_cpp_builtins): Add built-in define __PGM.
-
- * config/avr/avr.c: Include "c-family/c-common.h".
- (TARGET_LEGITIMATE_ADDRESS_P): Remove define.
- (TARGET_LEGITIMIZE_ADDRESS): Remove define.
- (TARGET_ADDR_SPACE_SUBSET_P): Define to...
- (avr_addr_space_subset_p): ...this new static function.
- (TARGET_ADDR_SPACE_CONVERT): Define to...
- (avr_addr_space_convert): ...this new static function.
- (TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
- (avr_addr_space_address_mode): ...this new static function.
- (TARGET_ADDR_SPACE_POINTER_MODE): Define to...
- (avr_addr_space_pointer_mode): ...this new static function.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
- (avr_addr_space_legitimate_address_p): ...this new static function.
- (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
- (avr_addr_space_legitimize_address): ...this new static function.
- (avr_mode_code_base_reg_class): Handle address spaces.
- (avr_regno_mode_code_ok_for_base_p): Ditto.
- (lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
- (avr_option_override): Initialize them.
- (output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
- variables.
- (avr_pgm_segment): New static function.
- (avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
- (avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
- (output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
- avr_out_lpm to handle loads from progmem.
- (avr_load_libgcc_p): New static function.
- (avr_progmem_p): Test if decl is in flash.
- (avr_pgm_pointer_const_p): New static function.
- (avr_nonconst_pointer_addrspace): New static function.
- (avr_pgm_check_var_decl): New static function.
- (avr_insert_attributes): Use it. Change error message to report
- cause (progmem or address space) when code wants to write to flash.
- (avr_section_type_flags): Unset section flag SECTION_BSS for
- data in progmem.
-
- * config/avr/predicates.md (nop_general_operand): New predicate.
- (nox_general_operand): New predicate.
- * config/avr/avr.md (LPM_REGNO): New define_constant.
- (load<mode>_libgcc): New expander.
- (*load.<mode>.libgcc): New insn.
- (mov<mode>): Handle loads from non-generic AS.
- (movmemhi): Ditto. Propagate address space information to newly
- created MEM.
- (movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
- to nox_general_operand.
- (ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to
- nop_general_operand.
- (ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
- (lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
- (split-lpmx): New split.
- (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
- *lshrhi3_const, *lshrsi3_const): Indent, unquote C.
-
-2011-11-15 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * ipa-cp.c (ipa_value_from_jfunc): Make global.
- (ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
- (get_indirect_edge_target): Rename, make global.
- (devirtualization_time_bonus, estimate_local_effects,)
- (ipcp_discover_new_direct_edges): Update.
- * ipa-inline-analysis.c (evaluate_conditions_for_edge):
- Generalize to also handle types. Rename to ...
- (evaluate_properties_for_edge): Use instead of
- evaluate_conditions_for_edge.
- (estimate_edge_devirt_benefit): New function.
- (estimate_calls_size_and_time): Use it.
- (estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
- (inline_merge_summary): Update.
- (do_estimate_edge_time, do_estimate_edge_growth): Update. Calculate
- parameter information at the call site and pass it on to subroutines.
- * tree-inline.c (estimate_num_insns): Distinguish between direct and
- indirect calls.
- (init_inline_once): Set size and time costs or indirect calls.
- * tree-inline.h (eni_weights): Add indirect_call_cost.
-
-2011-11-15 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51005
- * tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to
- mark_basic_block_deleted.
- (update_worklist): Inline purge_bbs.
- (purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry)
- (delete_block_update_dominator_info): Remove.
- (replace_block_by): Remove update_vops parameter. Partially evaluate
- for update_vops == false.
- (apply_clusters): Remove update_vops parameter. Remove update_vops
- argument in replace_block_by call.
- (update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test.
- (tail_merge_optimize): Remove update_vops argument to apply_clusters.
- Remove call to purge_bbs. Add calls to calculate_dominance_info and
- free_dominance_info. Add MAY_HAVE_DEBUG_STMTS before calling
- update_debug_stmts. Mark vop var for renaming, if necessary.
-
-2011-11-15 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/51051
- * cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the
- move would cause fallthrough into the exit block.
-
-2011-11-14 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c (emit_load_locked): Assert the mode is
- handled.
- (emit_store_conditional): Likewise.
- (rs6000_pre_atomic_barrier, rs6000_post_atomic_barrier): New.
- (rs6000_adjust_atomic_subword): New.
- (rs6000_mask_atomic_subword, rs6000_finish_atomic_subword): New.
- (rs6000_expand_atomic_op): Rename from rs6000_emit_sync; rewrite
- for pre-reload expansion.
- (rs6000_split_compare_and_swap, rs6000_split_compare_and_swapqhi,
- rs6000_expand_compare_and_swapqhi): Merge into ...
- (rs6000_expand_atomic_compare_and_swap): ... here. New function.
- rs6000_split_lock_test_and_set; expand immediately. Handle
- QImode and HImode.
- * config/rs6000/rs6000.md (UNSPEC_LWSYNC): Move and rename
- from UNSPECV_LWSYNC.
- * config/rs6000/sync.md (fetchopsi_constr, fetchopdi_constr): Remove.
- (mem_thread_fence): New.
- (hwsync): Rename from memory_barrier.
- (*hwsync): Rename from *sync_internal.
- (lwsync, *lwsync): Mirror hwsync implementation.
- (isync): Don't reference memory.
- (loadsync): New.
- (atomic_load<INT>, atomic_store<INT>): New.
- (ATOMIC): New mode iterator.
- (load_locked<ATOMIC>): Rename from load_locked_<GPR>.
- (store_conditional<ATOMIC>): Rename from store_conditional_<GPR>.
- (sync_compare_and_swap<GPR>): Remove.
- (sync_compare_and_swaphi, sync_compare_and_swapqi): Remove.
- (sync_compare_and_swapqhi_internal): Remove.
- (sync_lock_test_and_set<GPR>): Remove.
- (sync_<FETCHOP><INT1>): Remove.
- (*sync_<FETCHOP>si_internal, *sync_<FETCHOP>di_internal): Remove.
- (sync_nand<INT1>, *sync_nand<GPR>_internal): Remove.
- (sync_old_<FETCHOP><GPR>): Remove.
- (*sync_old_<FETCHOP>si_internal): Remove.
- (*sync_old_<FETCHOP>di_internal): Remove.
- (sync_old_nand<INT1>): Remove.
- (*sync_old_nand<GPR>_internal): Remove.
- (sync_new_<FETCHOP><GPR>): Remove.
- (*sync_new_<FETCHOP>si_internal): Remove.
- (*sync_new_<FETCHOP>di_internal): Remove.
- (sync_new_nand<INT1>): Remove.
- (*sync_new_nand<GPR>_internal): Remove.
- (*atomic_andsi, *atomic_anddi): Remove.
- (*sync_addshort_internal, *sync_subshort_internal): Remove.
- (*sync_andsi_internal, *sync_boolsi_internal): Remove.
- (*sync_boolcshort_internal): Remove.
- (sync_lock_release<INT1>): Remove.
- (atomic_compare_and_swap<INT1>): New.
- (atomic_exchange<INT1>): New.
- (atomic_<FETCHOP><INT1>, atomic_nand<INT1>): New.
- (atomic_fetch_<FETCHOP><INT1>, atomic_fetch_nand<INT1>): New.
- (atomic_<FETCHOP>_fetch<INT1>, atomic_nand_fetch<INT1>): New.
-
-2011-11-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (round<mode>2): Use register_operand for
- operand 1 predicate.
- (round<mode>2_sfix): Ditto.
- (round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2.
-
-2011-11-14 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (canonicalize_name): Protect use of S_ISLNK.
-
-2011-11-14 Jan Hubicka <jh@suse.cz>
-
- PR target/51126
- * config/i386/i386.c (core cost model): Correct pasto.
-
-2011-11-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (round<mode>2_sfix): New expander.
- (round<mode>2_vec_pack_sfix): Ditto.
- (<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
- (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
- * config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
- V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
- V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
- * config/i386/i386.c (ix86_builtins): Add
- IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
- IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
- (bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
- __builtin_ia32_roundpd_az_vec_pack_sfix{,256},
- __builtin_ia32_{floorps,ceilps}_sfix{,256}and
- __builtin_ia32_roundps_az_sfix{,256} descriptions.
- (ix86_expand_sse_round_vec_pack_sfix): New.
- (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
- V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
- V8SI_FTYPE_V4DF_V4DF_ROUND types. Check last argument of
- CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
- CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
- (ix86_builtin_vectorized_function): Handle
- BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
- BUILT_IN_{I,L,LL}ROUND{,F}
-
-2011-11-14 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/50598
- * cgraph.h (varpool_externally_visible_p): Declare.
- (varpool_add_new_variable): Declare.
- * tree-emultls.c (get_emutls_init_templ_addr,
- new_emutls_decl): Use varpool_add_new_variable.
- * ipa.c (varpool_externally_visible_p): Export.
- * varpool.c (varpool_add_new_variable): New function.
-
-2011-11-14 Michael Zolotukhin <michael.v.zolotukhin@gmail.com>
- Jan Hubicka <jh@suse.cz>
-
- * config/i386/i386.h (processor_costs): Add second dimension to
- stringop_algs array.
- * config/i386/i386.c (cost models): Initialize second dimension of
- stringop_algs arrays.
- (core_cost): New costs based on generic64 costs with updated stringop
- values.
- (promote_duplicated_reg): Add support for vector modes, add
- declaration.
- (promote_duplicated_reg_to_size): Likewise.
- (processor_target): Set core costs for core variants.
- (expand_set_or_movmem_via_loop_with_iter): New function.
- (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
- different loops, produced by this function.
- (emit_strset): New function.
- (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
- use SSE-moves where possible.
- (expand_setmem_epilogue): Likewise.
- (expand_movmem_prologue): Likewise for prologue.
- (expand_setmem_prologue): Likewise.
- (expand_constant_movmem_prologue): Likewise.
- (expand_constant_setmem_prologue): Likewise.
- (decide_alg): Add new argument align_unknown. Fix algorithm of
- strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
- (decide_alignment): Update desired alignment according to chosen move
- mode.
- (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
- (ix86_expand_setmem): Likewise.
- (ix86_slow_unaligned_access): Implementation of new hook
- slow_unaligned_access.
- * config/i386/i386.md (strset): Enable half-SSE moves.
- * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
- (vec_dupv2di): Add expand for vec_dupv2di.
-
-2011-11-14 Dimitrios Apostolou <jimis@gmx.net>
-
- PR bootstrap/51094
- PR middle-end/51116
- * config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
- * varasm.c (default_elf_internal_label): Remove.
-
-2011-11-14 Kai Tietz <ktietz@redhat.com>
-
- * gcov.c (generate_results): Add missing semicolon and correct indent.
-
-2011-11-14 Ira Rosen <ira.rosen@linaro.org>
-
- PR bootstrap/51112
- * tree-vect-stmts.c (vectorizable_condition): Initialize comp_vectype.
-
-2011-11-14 Mingjie Xing <mingjie.xing@gmail.com>
-
- * doc/invoke.texi (Wunused-result): Change @pxref{Variable Attributes}
- to @pxref{Function Attributes}.
-
-2011-11-13 Oleg Endo <oleg.endo@t-online.de>
-
- PR target/50694
- * config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
- New macros.
- (DRIVER_SELF_SPECS): Use new macros to filter out unsupported options
- taking the default configuration into account.
-
-2011-11-13 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/install.texi (Specific): Fix anchor for
- x86_64-*-solaris2.1[0-9]*.
-
-2011-11-13 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (source_prefix, source_length): New globals.
- (flag_relative_only): Likewise.
- (print_usage, options, process_args): Update.
- (generate_results): Use coverage.name, check
- flag_relative_only. Adjust messages.
- (find_source): Check source_prefix.
- (output_lines): Use coverage.name, adjust messages.
- * doc/gcov.texi (Invoking Gcov): Document new options.
-
-2011-11-12 Jason Merrill <jason@redhat.com>
-
- PR c++/51060
- * gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
- (gimplify_modify_expr): Don't try to simplify it.
-
-2011-11-12 Dimitrios Apostolou <jimis@gmx.net>
-
- PR bootstrap/51094
- * config/elfos.h (STRING_ASM_OP): Define.
- * varasm.c (default_elf_asm_output_limited_string): Use it.
-
- PR bootstrap/51094
- * gcc/configure.ac: Check for stpcpy declaration.
- * system.h: Declare it if not.
- * config.in, configure: Regenerate.
-
-2011-11-12 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
- nonimmediate_operand for the destination.
- (fixuns_trunc<SFDF>si2_stfiwx): Likewise.
-
- * builtins.c (expand_builtin_compare_and_swap): If target is const0,
- don't pass the target to expand_atomic_compare_and_swap.
- (expand_builtin_atomic_compare_exchange): Likewise.
-
- * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
- * config/sh/sh.c (sh_init_sync_libfuncs): New.
-
- * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
- * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
- * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.
-
-2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/45233
- * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
- Only expand a symbol ref. into an access when the entity is defined
- in the TU.
-
-2011-11-12 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/50822
- * cgraphunit.c (output_weakrefs): Output really only weakrefs.
-
-2011-11-12 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (struct name_map): New.
- (names, n_names, a_names): New global vars.
- (print_usage): Adjust usage.
- (generate_results): Canonicalize main file name.
- (release_structures): Adjust.
- (name_search, name_sort): New callbacks.
- (find_source): Look for and create a canonical name.
- (canonicalize_name): New.
- (make_gcov_file_name): Reimplement and fix mangling.
- (mangle_name): New.
- * doc/gcov.texi: Update documentation about path preservation.
-
-2011-11-11 David S. Miller <davem@davemloft.net>
-
- * config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
- * config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
-
-2011-11-11 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
- New prototype.
- * config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New
- function.
- (ix86_expand_epilogue): Use it.
- * config/i386/i386.md (return, simple_return): Call it in the
- expanders.
-
- PR tree-optimization/51091
- * tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
- rhs also in the va_list_simple_ptr case.
-
- PR tree-optimization/51058
- * tree-vect-slp.c (vect_remove_slp_scalar_calls): New function.
- (vect_schedule_slp): Call it.
- * tree-vect-stmts.c (vectorizable_call): If slp_node != NULL,
- don't replace scalar calls with setting of their lhs to zero here.
-
- PR tree-optimization/51074
- * fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions.
- (fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR,
- VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and
- VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands.
- (fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or
- CONSTRUCTOR operands.
- * tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary
- expressions.
- * tree-vect-generic.c (lower_vec_perm): Mask sel_int elements
- to 0 .. 2 * elements - 1.
-
-2011-11-11 Richard Henderson <rth@redhat.com>
-
- * gimple-pretty-print.c (dump_gimple_omp_atomic_load): Dump needed.
- (dump_gimple_omp_atomic_store): Likewise.
- * optabs.c (can_atomic_exchange_p): New.
- * optabs.h (can_atomic_exchange_p): Declare.
- * omp-low.c (expand_omp_atomic_load): Implement.
- (expand_omp_atomic_store): Likewise.
- (expand_omp_atomic): Update for new arguments to load/store.
-
-2011-11-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * cprop.c: Adjust outdated comments throughout.
- (hash_scan_set): Rename PAT parameter into SET.
- (cprop_pavloc): Rename into...
- (cprop_avloc): ...this.
- (cprop_absaltered): Rename into...
- (cprop_kill): ...this.
- (alloc_cprop_mem): Adjust for above renaming.
- (free_cprop_mem): Likewise.
- (compute_cprop_data): Likewise.
- (compute_local_properties): Rename TRANSP parameter into KILL and
- adjust throughout. Rework comments.
- (try_replace_reg): Fix long line.
- (cprop_jump): Likewise.
- (constprop_register): Fix prototype and take INSN last.
- (cprop_insn): Adjust calls to above function. Fix long lines.
- (bypass_block): Likewise.
- (one_cprop_pass): Likewise.
-
-2011-11-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
- (ELF_STRING_LIMIT): Rename from STRING_LIMIT.
-
-2011-11-11 Jason Merrill <jason@redhat.com>
-
- * varasm.c (default_elf_asm_output_limited_string): #ifdef
- ELF_ASCII_ESCAPES.
- (default_elf_asm_output_ascii): Likewise.
-
-2011-11-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50762
- * config/i386/constraints.md (j): New address constraint.
- * config/i386/predicates.md (lea_address_operand): Redefine as
- special predicate.
- * config/i386/i386.md (*lea_3_zext): Use "j" constraint for operand 1.
- (*lea_4_zext): Ditto.
-
-2011-11-11 David S. Miller <davem@davemloft.net>
-
- Revert
- 2011-11-05 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
- (zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
- (*zero_extend_v8qi_<P:mode>_insn,
- *zero_extend_v4hi_<P:mode>_insn): New insns.
- * config/sparc/sparc.c (vector_init_move_words,
- vector_init_prepare_elts, sparc_expand_vector_init_vis2,
- sparc_expand_vector_init_vis1): New functions.
- (vector_init_bshuffle): Rewrite to handle more cases and make use
- of locs[] array prepared by vector_init_prepare_elts.
- (vector_init_fpmerge, vector_init_faligndata): Delete.
- (sparc_expand_vector_init): Rewrite using new infrastructure.
-
-2011-11-11 Jakub Jelinek <jakub@redhat.com>
-
- * opts-common.c (generate_canonical_option): Free opt_text
- it it has been allocated here and not stored anywhere.
-
- * tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
- vector.
- (vect_create_new_slp_node): Don't allocate node before checking stmt
- type.
- (vect_free_oprnd_info): Remove FREE_DEF_STMTS argument, always
- free def_stmts vectors and additionally free oprnd_info.
- (vect_build_slp_tree): Adjust callers. Call it even if
- stop_recursion. If vect_create_new_slp_node or
- vect_build_slp_tree fails, properly handle freeing memory.
- If it succeeded, clear def_stmts in oprnd_info.
-
-2011-11-11 Dimitrios Apostolou <jimis@gmx.net>
-
- * defaults.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Expand on
- multiple lines for readability.
- * output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul): Declare.
- (ASM_OUTPUT_LABELREF): Call fputs instead of asm_fprintf.
- * dwarf2asm.c (dw2_assemble_integer, dw2_asm_output_data,
- dw2_asm_data_uleb128, dw2_asm_delta_uleb128,
- dw2_asm_delta_sleb128): Convert fprintf calls to the new functions.
- * dwarf2out.c (dwarf2out_source_line): Call fprint_ul instead of
- fprintf.
- * final.c (fprint_whex, fprint_w, fprint_ul, sprint_ul): New functions
- serving as fast replacements for fprintf integer to string conversions.
- (sprint_ul_rev): Internal helper for the above.
- (output_addr_const) <CONST_INT>: Don't use fprintf.
- * varasm.c: Fix some whitespace inconsistencies.
- (default_elf_asm_output_limited_string): New.
- (default_elf_asm_output_ascii): Likewise.
- (default_elf_internal_label): Likewise.
- * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Use sprint_ul and
- stpcpy instead of sprintf.
- (TARGET_ASM_INTERNAL_LABEL): Define as default_elf_internal_label.
- (ELF_ASCII_ESCAPES, ELF_STRING_LIMIT): Rename from old ESCAPES and
- STRING_LIMIT macros.
- (ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Call functions that
- provide the same functionality.
- * config/i386/i386.c (print_reg): Call fprint_ul instead of fprintf.
-
-2011-11-10 Andrew MacLeod <amacleod@redhat.com>
-
- * doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.
-
-2011-11-10 Andrew MacLeod <amacleod@redhat.com>
-
- PR middle-end/51038
- * builtins.c (expand_builtin_atomic_clear): New. Expand atomic_clear.
- (expand_builtin_atomic_test_and_set): New. Expand atomic test_and_set.
- (expand_builtin): Add cases for test_and_set and clear.
- * sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
- (BUILT_IN_ATOMIC_CLEAR): New.
-
-2011-11-10 Roberto Agostino Vitillo <ravitillo@lbl.gov>
-
- PR debug/50983
- * dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
- value in the current line table.
-
-2011-11-10 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (struct function_info): Make src an index, not a pointer.
- (struct source_info): Remove index and next source fields.
- (fn_end): New static var.
- (sources_index): Remove.
- (sources): Now a pointer to an array, not a list.
- (n_sources, a_sources): New.
- (process_file): Adjust for changes to read_graph_file. Insert
- functions into source lists and check line numbers here.
- (generate_results): Only allocate lines for sources with
- contents. Adjust for source array.
- (release_structures): Likewise.
- (find_source): Return source index, adjust for source array.
- (read_graph_file): Return function list. Don't insert into source
- lists here.
- (read_count_file): Take list of functions.
- (solve_flow_graph): Reverse the arc lists here.
- (add_line_counts): Adjust for source array.
-
-2011-11-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51077
- * tree-object-size.c (addr_object_size): Check TREE_CODE of
- MEM_REF's operand rather than code of the MEM_REF itself.
-
-2011-11-10 Andrew MacLeod <amacleod@redhat.com>
-
- PR rtl-optimization/51040
- * optabs.c (expand_atomic_fetch_op): Patchup code for NAND should
- be AND followed by NOT.
- * builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
- should be AND followed by NOT.
-
-2011-11-10 Jakub Jelinek <jakub@redhat.com>
-
- * vec.h (VEC_BASE): If base is at offset 0 in the structure,
- use &(P)->base even if P is NULL.
-
- PR rtl-optimization/51023
- * combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
- val_signbit_known_clear_p for signed comparison narrowing
- optimization. Don't check for non-VOIDmode, use
- HWI_COMPUTABLE_MODE_P macro.
- <case ZERO_EXTEND>: Don't check for non-VOIDmode.
- Optimize even when const_op is equal to GET_MODE_MASK (mode),
- don't optimize if const_op is negative.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51042
- * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
- self-referential expressions. Refactor code to avoid duplication.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51070
- * tree-loop-distribution.c (generate_builtin): Do not replace
- the loop with a builtin if the partition contains statements which
- results are used outside of the loop.
- (pass_loop_distribution): Verify and collect.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51030
- * tree-ssa-phiopt.c (jump_function_from_stmt): New function.
- (value_replacement): Use it to handle trivial non-empty
- intermediate blocks.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51071
- * gimple.c (gimple_has_side_effects): Remove checking code
- that doesn't belong here.
-
-2011-11-10 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/51058
- * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.
-
-2011-11-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51000
- * tree-vect-patterns.c (vect_recog_bool_pattern): If adding
- a pattern stmt for a bool store, adjust DR_STMT too.
- Don't handle bool conversions to single bit precision lhs.
- * tree-vect-stmts.c (vect_remove_stores): If next is a pattern
- stmt, remove its related stmt and free its stmt_vinfo.
- (free_stmt_vec_info): Free also pattern stmt's vinfo and
- pattern def stmt's vinfo.
- * tree-vect-loop.c (destroy_loop_vec_info): Don't try to
- free pattern stmt's vinfo here.
- (vect_transform_loop): When calling vect_remove_stores,
- do gsi_next first and don't call gsi_remove. If not strided
- store, free stmt vinfo for gsi_stmt (si) rather than stmt.
-
-2011-11-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50911
- * config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
- V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
- to V4SFmode.
-
- * function.h (requires_stack_frame_p): New prototype.
- * function.c (requires_stack_frame_p): No longer static.
- * config/i386/i386.c (ix86_finalize_stack_realign_flags): If
- stack_realign_fp was just a conservative guess for a function
- which doesn't use sp/fp/argp at all, clear frame_pointer_needed
- and stack realignment.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR preprocessor/51061
- * incpath.c (merge_include_chains): Make sure to not pass null
- pointers to free_path.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/invoke.texi ([Option Summary, C++ Language Options]):
- Add -Wzero-as-null-pointer-constant.
-
-2011-11-07 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * config/arm/arm-cores.def: Add -mcpu=cortex-a7.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Likewise.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
- * doc/invoke.texi: Document -mcpu=cortex-a7.
-
-2011-11-09 Richard Guenther <rguenther@suse.de>
-
- Revert
- 2011-11-09 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (verify_gimple_call): Verify that
- gimple_call_cannot_inline_p is returning a conservative
- correct result according to gimple_check_call_matching_types.
-
-2011-11-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51039
- * tree-cfg.c (verify_gimple_call): Verify that
- gimple_call_cannot_inline_p is returning a conservative
- correct result according to gimple_check_call_matching_types.
- * ipa-inline-analysis.c (estimate_function_body_sizes): Remove
- code dealing with un-inlinablility.
- * gimple-streamer-in.c (input_gimple_stmt): Update the
- non-inlinable flag.
-
-2011-11-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51039
- * tree-inline.c (setup_one_parameter): Always perform a
- valid gimple type change.
- (declare_return_variable): Likewise.
-
-2011-11-09 Jakub Jelinek <jakub@redhat.com>
-
- * config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
- vconduv4sfv4si): New patterns.
- * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
- different dest_mode from comparison mode.
-
-2011-11-09 Richard Guenther <rguenther@suse.de>
-
- * gimple-fold.c (canonicalize_constructor_val): Mark
- address-taken variables addressable.
-
-2011-11-09 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/51015
- * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
- vectype to be set for pattern def stmts.
-
-2011-11-09 Alan Modra <amodra@gmail.com>
-
- * function.c (bb_active_p): Delete.
- (dup_block_and_redirect, active_insn_between): New functions.
- (convert_jumps_to_returns, emit_return_for_exit): New functions,
- split out from..
- (thread_prologue_and_epilogue_insns): ..here. Delete
- shadowing variables. Don't do prologue register clobber tests
- when shrink wrapping already failed. Delete all last_bb_active
- code. Instead compute tail block candidates for duplicating
- exit path. Remove these from antic set. Duplicate tails when
- reached from both blocks needing a prologue/epilogue and
- blocks not needing such.
- * ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
- HAVE_simple_return.
- * bb-reorder.c (get_uncond_jump_length): Make global.
- * bb-reorder.h (get_uncond_jump_length): Declare.
- * cfgrtl.c (rtl_create_basic_block): Comment typo fix.
- (rtl_split_edge): Likewise. Warning fix.
- (rtl_duplicate_bb): New function.
- (rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
- * Makefile.in (function.o): Update dependencies.
-
-2011-11-08 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
- Georg-Johann Lay <avr@gjlay.de>
-
- * doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
- argument.
- (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
- * doc/tm.texi: Regenerate.
-
- * config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address
- space argument.
- (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
- * config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise.
- (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
- * config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space
- argument.
- (REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto.
- * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
- (avr_regno_mode_code_ok_for_base_p): Ditto.
- * config/avr/avr.c (avr_mode_code_base_reg_class): Ditto.
- (avr_regno_mode_code_ok_for_base_p): Ditto.
- (avr_reg_ok_for_addr_p): Pass AS down to
- avr_regno_mode_code_ok_for_base_p.
-
- * addresses.h (base_reg_class): Add address space argument.
- Pass to MODE_CODE_BASE_REG_CLASS.
- (ok_for_base_p_1): Add address space argument. Pass to
- REGNO_MODE_CODE_OK_FOR_BASE_P.
- (regno_ok_for_base_p): Add address space argument. Pass to
- ok_for_base_p_1.
-
- * regrename.c (scan_rtx_address): Add address space argument.
- Pass address space to regno_ok_for_base_p and base_reg_class.
- Update recursive calls.
- (scan_rtx): Pass address space to scan_rtx_address.
- (build_def_use): Likewise.
- * regcprop.c (replace_oldest_value_addr): Add address space
- argument. Pass to regno_ok_for_base_p and base_reg_class.
- Update recursive calls.
- (replace_oldest_value_mem): Pass address space to
- replace_oldest_value_addr.
- (copyprop_hardreg_forward_1): Likewise.
-
- * reload.c (find_reloads_address_1): Add address space argument.
- Pass address space to base_reg_class and regno_ok_for_base_p.
- Update recursive calls.
- (find_reloads_address): Pass address space to base_reg_class,
- regno_ok_for_base_p, and find_reloads_address_1.
- (find_reloads): Pass address space to base_reg_class.
- (find_reloads_subreg_address): Likewise.
-
- * ira-costs.c (record_reg_classes): Update calls to base_reg_class.
- (ok_for_base_p_nonstrict): Add address space argument. Pass to
- ok_for_base_p_1.
- (record_address_regs): Add address space argument. Pass to
- base_reg_class and ok_for_base_p_nonstrict. Update recursive calls.
- (record_operand_costs): Pass address space to record_address_regs.
- (scan_one_insn): Likewise.
-
- * caller-save.c (init_caller_save): Update call to base_reg_class.
- * ira-conflicts.c (ira_build_conflicts): Likewise.
- * reload1.c (maybe_fix_stack_asms): Likewise.
-
-2011-11-08 Michael Matz <matz@suse.de>
-
- * gengtype.c (write_field_root): Avoid out-of-scope access of newv.
-
- * tree-stdarg.c (execute_optimize_stdarg): Accept clobbers.
-
- * tree.h (TREE_CLOBBER_P): New macro.
- * gimple.h (gimple_clobber_p): New inline function.
- * gimplify.c (gimplify_bind_expr): Add clobbers for all variables
- that go out of scope and live in memory.
- * tree-ssa-operands.c (get_expr_operands): Transfer volatility also
- for constructors.
- * cfgexpand.c (decl_to_stack_part): New static variable.
- (add_stack_var): Allocate it, and remember mapping.
- (fini_vars_expansion): Deallocate it.
- (stack_var_conflict_p): Add early outs.
- (visit_op, visit_conflict, add_scope_conflicts_1,
- add_scope_conflicts): New static functions.
- (expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy.
- (expand_used_vars): Add scope conflicts.
- (expand_gimple_stmt_1): Expand clobbers to nothing.
- (expand_debug_expr): Ditto.
-
- * tree-pretty-print.c (dump_generic_node): Dump clobbers nicely.
- * tree-ssa-live.c (remove_unused_locals): Remove clobbers that
- refer to otherwise unused locals.
- * tree-sra.c (build_accesses_from_assign): Ignore clobbers.
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of
- SSA names aren't necessary.
- (propagate_necessity): Accept and ignore constructors on the rhs, tidy.
- * gimple.c (walk_gimple_op): Accept constructors like mem_rhs.
- * tree-ssa-structalias.c (find_func_aliases): Clobbers don't store
- any known value.
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they
- don't zero-initialize something.
- * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore
- clobber RHS, we don't want PHI nodes with those.
-
-2011-11-08 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX
- if not TARGET_PREFER_AVX128 return 32-byte integer vectors.
-
-2011-11-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51012
- * ipa-prop.c (update_indirect_edges_after_inlining): Fixup
- non-inlinable state.
- * cgraph.c (cgraph_make_edge_direct): Likewise.
-
-2011-11-08 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/47698
- * ifcvt.c (noce_operand_ok): Move around comment.
-
-2011-11-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/50999
- * lto-opts.c (append_to_collect_gcc_options): Split out from...
- (lto_write_options): ... here. Prepend frontend specific flags.
-
-2011-11-08 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask
- 0x12 and 0x20 as vinsert[fi]128 instead of vperm2[fi]128.
-
- * tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.
- Handle vectorization of SLP calls.
- (vect_analyze_stmt): Adjust caller, add call to it for SLP too.
- (vect_transform_stmt): Adjust vectorizable_call caller, remove
- assertion.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): For calls start
- with op_idx 3.
- (vect_build_slp_tree): Allow CALL_EXPR.
-
-2011-11-08 Richard Guenther <rguenther@suse.de>
-
- * gimple-fold.c (canonicalize_constructor_val): Make sure
- we have referenced vars setup before adding to them.
-
-2011-11-07 Richard Henderson <rth@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
- Andrew MacLeod <amacleod@redhat.com>
- Torvald Riegel <triegel@redhat.com>
-
- Merged from transactional-memory.
-
- * gtm-builtins.def: New file.
- * trans-mem.c: New file.
- * trans-mem.h: New file.
-
- * opts.c (finish_options): Error out when using -flto and -fgnu-tm.
-
- * config/i386/i386.c: Define TARGET_VECTORIZE* transactional variants.
- (ix86_handle_tm_regparm_attribute, struct bdesc_tm,
- ix86_builtin_tm_load, ix86_builtin_tm_store,
- ix86_init_tm_builtins): New.
- (ix86_init_builtins): Initialize TM builtins.
- (struct ix86_attribute_table): Add "*tm regparm".
- * config/i386/i386-builtin-types.def (PV2SI): Define.
- (PCV2SI): Define.
- Define V2SI_FTYPE_PCV2SI.
- Define V4SF_FTYPE_PCV4SF.
- Define V8SF_FTYPE_PCV8SF.
- Define VOID_PV2SI_V2SI.
-
- * doc/invoke.texi (C Dialect Options): Document -fgnu-tm and
- tm-max-aggregate-size.
- * doc/tm.texi.in: Add TARGET_VECTORIZE_BUILTIN_TM_LOAD and
- TARGET_VECTORIZE_BUILTIN_TM_STORE hooks.
- * doc/tm.texi: Regenerate.
-
- * attribs.c (apply_tm_attr): New.
- (init_attributes): Allow '*' prefix for overrides.
- (register_attribute): Likewise.
- * builtin-attrs.def (ATTR_TM_TMPURE, ATTR_TM_REGPARM): New.
- (ATTR_TM_NOTHROW_LIST, ATTR_TM_TMPURE_NOTHROW_LIST,
- ATTR_TM_PURE_TMPURE_NOTHROW_LIST, ATTR_TM_NORETURN_NOTHROW_LIST,
- ATTR_TM_CONST_NOTHROW_LIST, ATTR_TMPURE_MALLOC_NOTHROW_LIST,
- ATTR_TMPURE_NOTHROW_LIST): New.
- * builtin-types.def (BT_FN_I[1248]_VPTR, BT_FN_FLOAT_VPTR,
- BT_FN_DOUBLE_VPTR, BT_FN_LDOUBLE_VPTR, BT_FN_VOID_VPTR_I[1248],
- BT_FN_VOID_VPTR_FLOAT, BT_FN_VOID_VPTR_DOUBLE,
- BT_FN_VOID_VPTR_LDOUBLE, BT_FN_VOID_VPTR_SIZE): New.
- * builtins.def: Include gtm-builtins.def. Add comments regarding
- transactional memory synchronization.
- (DEF_TM_BUILTIN): New.
- * c-parser.c (struct c_parser): Add in_transaction.
- (c_parser_transaction, c_parser_transaction_expression,
- c_parser_transaction_cancel, c_parser_transaction_attributes): New.
- (c_parser_attribute_any_word): Split out from c_parser_attributes.
- (c_parser_statement_after_labels): Handle RID_TRANSACTION*.
- (c_parser_unary_expression): Same.
- * c-tree.h (c_finish_transaction): Declare.
- * c-typeck.c (c_finish_transaction): New.
- (build_function_call_vec): Call tm_malloc_replacement.
- * calls.c (is_tm_builtin): New.
- (flags_from_decl_or_type): Add ECF_TM_BUILTIN and ECF_TM_PURE.
- * cfgbuild.c (make_edges): Add edges for REG_TM notes.
- * cfgexpand.c (expand_call_stmt): Call
- mark_transaction_restart_calls.
- (gimple_expand_cfg): Free the tm_restart map.
- (mark_transaction_restart_calls): New.
- * cfgrtl.c (purge_dead_edges): Look for REG_TM notes.
- * cgraph.c (dump_cgraph_node): Handle tm_clone.
- * cgraph.h (struct cgraph_node): Add tm_clone field.
- (decl_is_tm_clone): New.
- (struct cgraph_local_info): Add tm_may_enter_irr.
- (cgraph_copy_node_for_versioning): Declare.
- * cgraphunit.c (cgraph_copy_node_for_versioning): Export;
- copy analyzed from old version.
- * combine.c (distribute_notes): Handle REG_TM notes.
- * common.opt: Add -fgnu-tm.
- * crtstuff.c (__TMC_LIST__, __TMC_END__): New.
- (__do_global_dtors_aux): Deregister clone table.
- (frame_dummy): Register clone table.
- * emit-rtl.c (try_split): Handle REG_TM. Early return if no function
- body.
- * gimple-low.c (lower_stmt): Handle GIMPLE_EH_ELSE and
- GIMPLE_TRANSACTION.
- (gimple_stmt_may_fallthru): Handle GIMPLE_EH_ELSE.
- * gimple-pretty-print.c: Include trans-mem.h.
- (dump_gimple_fmt): Add %x.
- (dump_gimple_call): Dump arguments for calls to _ITM_beginTransaction.
- (dump_gimple_eh_else, dump_gimple_transaction): New.
- (dump_gimple_stmt): Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
- * gimple.c (gimple_build_eh_else, gimple_build_transaction): New.
- (walk_gimple_seq): Honor removed_stmt. Document usage of removed_stmt
- field.
- (walk_gimple_op): Handle GIMPLE_TRANSACTION.
- (walk_gimple_stmt): Initialize and honor removed_stmt.
- Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
- (gimple_copy): Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
- * gimple.def (GIMPLE_TRANSACTION, GIMPLE_EH_ELSE): New.
- * gimple.h (struct gimple_statement_eh_else,
- gimple_statement_transaction, GTMA_*): New.
- (gimple_statement_d): Add gimple_statement_eh_else and
- gimple_transaction.
- (gimple_build_eh_else, gimple_build_transaction,
- gimple_fold_call, diagnose_tm_safe_errors): Declare.
- (get_call_expr_in): Remove prototype.
- (gimple_has_substatements): Add GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
- (gimple_eh_else_n_body, gimple_eh_else_e_body,
- gimple_eh_else_set_n_body, gimple_eh_else_set_e_body,
- gimple_transaction_body, gimple_transaction_label,
- gimple_transaction_label_ptr, gimple_transaction_subcode,
- gimple_transaction_set_body, gimple_transaction_set_label,
- gimple_transaction_set_subcode): New.
- (struct walk_stmt_info): Use BOOL_BITFIELD; add removed_stmt.
- * gimplify.c (create_tmp_var_name): Use clean_symbol_name.
- (voidify_wrapper_expr): Handle TRANSACTION_EXPR.
- (gimplify_transaction): New.
- (gimplify_expr): Handle TRANSACTION_EXPR.
- * gsstruct.def (GSS_EH_ELSE, GSS_TRANSACTION): New.
- * ipa-inline.c (can_inline_edge_p): Do not inline TM safe calling
- TM pure functions.
- * Makefile.in: Add trans-mem.o and dependencies.
- (BUILTINS_DEF): Add gtm-builtins.def.
- (gimple-pretty-print.o): Depend on TRANS_MEM_H.
- (GTFILES): Add trans-mem.c.
- * omp-low.c (WALK_SUBSTMTS): Add GIMPLE_TRANSACTION.
- * output.h (record_tm_clone_pair, finish_tm_clone_pairs,
- get_tm_clone_pair): Declare.
- * params.def (PARAM_TM_MAX_AGGREGATE_SIZE): New.
- * passes.c (init_optimization_passes): Place transactional memory
- passes.
- * print-tree.c (print_node): Dump tm-clone.
- * recog.c (peep2_attempt): Handle REG_TM.
- * reg-notes.def (TM): New.
- * rtlanal.c (alloc_reg_note): Handle REG_TM.
- * target.def (builtin_tm_load, builtin_tm_store): New.
- * targhooks.c (default_builtin_tm_load_store): New.
- * targhooks.h (default_builtin_tm_load_store): Declare.
- * timevar.def (TV_TRANS_MEM): New.
- * toplev.c (compile_file): Call finish_tm_clone_pairs.
- * tree-cfg.c (make_edges): Handle GIMPLE_TRANSACTION.
- (cleanup_dead_labels): Handle GIMPLE_TRANSACTION. Avoid unnecessary
- writes into the statements to update labels.
- (is_ctrl_altering_stmt): Add TM ending statements. Handle
- GIMPLE_TRANSACTION.
- (verify_gimple_transaction): New.
- (verify_gimple_stmt): Handle GIMPLE_TRANSACTION.
- (verify_gimple_in_seq_2): Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
- (gimple_redirect_edge_and_branch): Handle TM_TRANSACTION.
- (dump_function_to_file): Display [tm-clone] if applicable.
- * tree-eh.c (struct_ptr_eq): Make inline and move to tree.h.
- (struct_ptr_hash): Same.
- (collect_finally_tree): Handle GIMPLE_EH_ELSE.
- (replace_goto_queue_1): Likewise.
- (get_eh_else): New.
- (honor_protect_cleanup_actions): Handle GIMPLE_EH_ELSE.
- (lower_try_finally_nofallthru): Likewise.
- (lower_try_finally_onedest): Likewise.
- (lower_try_finally_copy): Likewise.
- (lower_try_finally_switch): Likewise.
- (lower_try_finally): Likewise.
- (decide_copy_try_finally): Likewise.
- (lower_eh_constructs_2): Likewise.
- (refactor_eh_r): Likewise.
- * tree-flow.h (struct gimple_df): Add tm_restart field.
- Define tm_restart_node.
- * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_TRANSACTION.
- (estimate_num_insns): Likewise.
- (init_inline_once): Init tm_cost.
- * tree-inline.h (struct eni_weights_d): Add tm_cost.
- * tree-pass.h (pass_diagnose_tm_blocks, pass_lower_tm, pass_tm_init,
- pass_tm_mark, pass_tm_memopt, pass_tm_edges, pass_ipa_tm): Declare.
- * tree-pretty-print.c (dump_generic_node): Handle TRANSACTION_EXPR.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
- BUILT_IN_TM_MEMSET, BUILT_IN_TM_MEMCPY, BUILT_IN_TM_MEMMOVE.
- Add support for TM vector loads. Add support for TM logging builtins.
- (call_may_clobber_ref_p_1): Add support for vector stores.
- * tree-ssa-structalias.c (find_func_aliases): Add support for TM
- vector stores and loads. Handle BUILT_IN_TM_MEMSET,
- BUILT_IN_TM_MEMCPY, BUILT_IN_TM_MEMMOVE.
- * tree.c (strip_invariant_refs): Moved from gimple.c to here.
- (local_define_builtin): Handle ECF_TM_PURE.
- (build_common_builtin_nodes): Set __builtin_eh_pointer to ECF_TM_PURE.
- * tree.def (TRANSACTION_EXPR): New.
- * tree.h (strip_invariant_refs): Moved from gimple.h to here.
- (TRANSACTION_EXPR_BODY, TRANSACTION_EXPR_CHECK,
- TRANSACTION_EXPR_OUTER, TRANSACTION_EXPR_RELAXED,
- BUILTIN_TM_LOAD_STORE_P, BUILTIN_TM_LOAD_P, BUILTIN_TM_STORE_P,
- CASE_BUILT_IN_TM_LOAD, CASE_BUILT_IN_TM_STORE): New.
- (ECF_TM_PURE, ECF_TM_BUILTIN): New.
- (struct tree_function_decl): Add tm_clone_flag.
- (struct_ptr_eq, struct_ptr_hash): New.
- (apply_tm_attr): Declare.
- (is_tm_safe_or_pure): New.
- (build_tm_abort_call, is_tm_safe, is_tm_pure,
- is_tm_may_cancel_outer, is_tm_ending_fndecl, record_tm_replacement,
- tm_malloc_replacement): Declare.
- * varasm.c (tm_clone_hash): New.
- (record_tm_clone_pair, finish_tm_clone_pairs, get_tm_clone_pair,
- dump_tm_clone_to_vec, dump_tm_clone_pairs, tm_alias_pair_cmp): New.
- (struct tm_alias_pair): New. Declare VEC types for object.
-
-2011-11-07 Richard Henderson <rth@redhat.com>
-
- * optabs.h (OTI_sync_compare_and_swap, OTI_sync_lock_test_and_set,
- OTI_sync_old_add, OTI_sync_old_sub, OTI_sync_old_ior,
- OTI_sync_old_and, OTI_sync_old_xor, OTI_sync_old_nand,
- OTI_sync_new_add, OTI_sync_new_sub, OTI_sync_new_ior,
- OTI_sync_new_and, OTI_sync_new_xor, OTI_sync_new_nand): Move and
- rename from the direct_optab_index enum.
- (sync_compare_and_swap_optab, sync_lock_test_and_set_optab,
- sync_old_add_optab, sync_old_sub_optab, sync_old_ior_optab,
- sync_old_and_optab, sync_old_xor_optab, sync_old_nand_optab,
- sync_new_add_optab, sync_new_sub_optab, sync_new_ior_optab,
- sync_new_and_optab, sync_new_xor_optab, sync_new_nand_optab): Read
- from the optab_table, not the direct_optab_table.
- (init_sync_libfuncs): Declare.
- (can_compare_and_swap_p): Update parameters.
- * optabs.c (init_sync_libfuncs_1, init_sync_libfuncs): New.
- (can_compare_and_swap_p): Add allow_libcall parameter; if true,
- test for the legacy compare-and-swap libcall.
- (expand_atomic_exchange): Use the legacy test-and-set libcall.
- (expand_atomic_compare_and_swap): Use the legacy CAS libcall.
- (struct atomic_op_functions): Update for optab type changes.
- (maybe_emit_op): Likewise.
- (expand_atomic_fetch_op): Use the legacy fetch-op libcalls.
- * builtins.c (fold_builtin_atomic_always_lock_free): Update call
- to can_compare_and_swap_p.
- * omp-low.c (expand_omp_atomic_fetch_op): Likewise.
- (expand_omp_atomic_pipeline): Likewise.
- * genopinit.c (optabs): Make sync_old_*_optab, sync_new_*_optab,
- sync_compare_and_swap_optab, sync_lock_test_and_set_optab regular
- optabs.
- * doc/md.texi (sync_compare_and_swap): Update docs for libcalls.
-
-2011-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386-bultin-types.def (V8SI_FTYPE_V4DF_V4DF): Add.
- * config/i386/i386.c (enum ix86_builtins): Add
- IX86_BUILTIN_VEC_PACK_SFIX256.
- (bdesc_args): Add __builtin_ia32_vec_pack_sfix256.
- (ix86_expand_args_builtin): Handle V8SI_FTYPE_V4DF_V4DF.
- (ix86_builtin_vectorized_function): Also vectorize lrint using
- 256-bit vectors for -mavx.
-
-2011-11-07 Anatoly Sokolov <aesok@post.ru>
-
- * config/cris/constraints.md: New file.
- * config/cris/cris.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN,
- CRIS_CONST_OK_FOR_LETTER_P, CONST_OK_FOR_CONSTRAINT_P,
- CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_MEMORY_CONSTRAINT,
- EXTRA_CONSTRAINT, EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R,
- EXTRA_CONSTRAINT_T, EXTRA_CONSTRAINT_S, EXTRA_CONSTRAINT_U): Remove.
- * config/cris/cris.c: Incule "tm-constrs.h".
- (cris_print_operand): Use satisfies_constraint_O.
- (cris_normal_notice_update_cc, cris_rtx_costs): Use
- satisfies_constraint_I.
- (cris_address_cost): Use satisfies_constraint_L.
- * config/cris/cris.md: Include "constraints.md".
- (*mov_side<mode>, *mov_sidesisf, *mov_side<mode>_mem,
- *mov_sidesisf_mem, *clear_side<mode>, *ext_sideqihi,
- *ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>,
- *extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side,
- *extop<mode>si_swap_side): Use satisfies_constraint_N and
- satisfies_constraint_J.
- (moversideqi movemsideqi mover2side peephole2): Use
- satisfies_constraint_N and satisfies_constraint_J.
- (andu peephole2): Use satisfies_constraint_I and
- satisfies_constraint_O.
-
-2011-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_builtin_vectorized_function): Handle
- BUILT_IN_IRINT, BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF.
-
-2011-11-07 Andrew MacLeod <amacleod@redhat.com>
-
- * optabs.c (get_atomic_op_for_code): Fill in optab table at runtime so
- SWITCHABLE_TARGET can change the values during compilation.
- (expand_atomic_fetch_op): Handle parameter change ripples for
- get_atomic_op_for_code call.
-
-2011-11-07 Andrew MacLeod <amacleod@redhat.com>
-
- * doc/extend.texi: Docuemnt behaviour change for __atomic_exchange and
- __atomic_store.
- * optabs.c (expand_atomic_exchange): Expand to __sync_lock_test_and_set
- only when originated from that builtin.
- (expand_atomic_store): Expand to __sync_lock_release when originated
- from that builtin.
- * builtins.c (expand_builtin_sync_lock_test_and_set): Add flag that
- expand_atomic_exchange call originated from here.
- (expand_builtin_sync_lock_release): Add flag that expand_atomic_store
- call originated from here.
- (expand_builtin_atomic_exchange): Add origination flag.
- (expand_builtin_atomic_store): Add origination flag.
- * expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean
- parameters to indicate implementation fall back options.
-
-2011-11-07 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (output_reload_in_const): Can handle CONSTANT_P
- now, not only CONST_INT and CONST_DOUBLE.
- (output_movqi): Use output_reload_in_const.
- (output_reload_inhi): Ditto.
- (output_reload_insisf): Move assertion to output_reload_in_const.
- (avr_out_reload_inpsi): Ditto.
-
-2011-11-07 Nathan Sidwell <nathan@acm.org>
-
- * gcov.c (object_summary): Replace with ...
- (object_runs): ... this.
- (process_file): Remove functions with no data.
- (generate_results): Ignore files with no lines.
- (release_function): New helper, broken out of ...
- (release_structures): ... here. Use it.
- (read_count_file): Adjust for new data file format.
- (output_lines): Use object_runs.
- * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
- (struct gcov_ctr_info): Move definition.
- (struct gcov_fn_info): Add key field, use gcov_ctr_info for
- trailing array.
- (struct gcov_info): Add merge function array, remove mask and
- counts. Trailing array is array of pointers to function info.
- * coverage.c (struct function_list): Replace counter numbers with
- counter arrays. Add fndecl field. GTYify.
- (counts_entry): Remove chain workspace.
- (functions_head): GTYify.
- (prg_n_ctrs): Remove.
- (fn_v_ctrs): New.
- (tree_ctr_tables): Remove.
- (read_counts_file): Cope with blank entries and expect program
- summaries before functions. Don't warn on missing entries.
- (coverage_counter_alloc): Allocate individual function arrays.
- (tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
- for individual function arrays.
- (coverage_end_function): GTYify function list object. Finalize
- function's counter arrays.
- (build_var): New. Create a counter-related variable with
- appropriate linkage.
- (build_fn_info_type): Adjust for new runtime structure.
- (build_fn_info_value): Rename to ...
- (build_fn_info): ... here. Build new format data.
- (build_ctr_info_type, build_ctr_info_value): Remove.
- (build_info_type): New. Build new format data structure.
- (build_info): Adjust for new format data.
- (create_coverage): Likewise.
- * gcov-dump.c (tag_function): Recognize placeholders.
-
-2011-11-07 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/constraints.md (Cm2): New constraint for int -2.
- * config/avr/avr.md (addqi3): Use it. New alternatives for +/-2.
- (*negqihi2): New insn.
-
-2011-11-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * dwarf2cfi.c (dwarf2out_frame_debug_expr): Check
- HARD_FRAME_POINTER_REGNUM instead of hard_frame_pointer_rtx in Rule 18.
-
-2011-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_expand_builtin): If gather mask
- argument is known to have all high bits set, pass pc_rtx as
- second argument to the expander instead of op0.
- * config/i386/sse.md (*avx2_gathersi<mode>_2,
- *avx2_gatherdi<mode>_2): New patterns.
- * config/i386/avx2intrin.h (_mm256_i32gather_pd,
- _mm256_i64gather_pd, _mm256_i32gather_ps): Set mask using
- _mm256_cmp_pd with zero vector arguments and _CMP_EQ_OQ instead of
- _mm256_set1_pd.
-
- PR tree-optimization/50789
- * tree-vect-stmts.c (process_use): Add force argument, avoid
- exist_non_indexing_operands_for_use_p check if true.
- (vect_mark_stmts_to_be_vectorized): Adjust callers. Handle
- STMT_VINFO_GATHER_P.
- (gen_perm_mask): New function.
- (perm_mask_for_reverse): Use it.
- (reverse_vec_element): Rename to...
- (permute_vec_elements): ... this. Add Y and MASK_VEC arguments,
- generalize for any permutations.
- (vectorizable_load): Adjust caller. Handle STMT_VINFO_GATHER_P.
- * target.def (TARGET_VECTORIZE_BUILTIN_GATHER): New hook.
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_GATHER): Document it.
- * doc/tm.texi: Regenerate.
- * tree-data-ref.c (initialize_data_dependence_relation,
- compute_self_dependence): No longer static.
- * tree-data-ref.h (initialize_data_dependence_relation,
- compute_self_dependence): New prototypes.
- * tree-vect-data-refs.c (vect_check_gather): New function.
- (vect_analyze_data_refs): Detect possible gather load data refs.
- * tree-vectorizer.h (struct _stmt_vec_info): Add gather_p field.
- (STMT_VINFO_GATHER_P): Define.
- (vect_check_gather): New prototype.
- * config/i386/i386-builtin-types.def: Add types for alternate
- gather builtins.
- * config/i386/sse.md (AVXMODE48P_DI): Remove.
- (VEC_GATHER_MODE): Rename mode_attr to...
- (VEC_GATHER_IDXSI): ... this.
- (VEC_GATHER_IDXDI, VEC_GATHER_SRCDI): New mode_attrs.
- (avx2_gathersi<mode>, *avx2_gathersi<mode>): Use <VEC_GATHER_IDXSI>
- instead of <VEC_GATHER_MODE>.
- (avx2_gatherdi<mode>): Use <VEC_GATHER_IDXDI> instead of
- <AVXMODE48P_DI> and <VEC_GATHER_SRCDI> instead of VEC_GATHER_MODE
- on src and mask operands.
- (*avx2_gatherdi<mode>): Likewise. Use VEC_GATHER_MODE iterator
- instead of AVXMODE48P_DI.
- (avx2_gatherdi<mode>256, *avx2_gatherdi<mode>256): Removed.
- * config/i386/i386.c (enum ix86_builtins): Add
- IX86_BUILTIN_GATHERALTSIV4DF, IX86_BUILTIN_GATHERALTDIV8SF,
- IX86_BUILTIN_GATHERALTSIV4DI and IX86_BUILTIN_GATHERALTDIV8SI.
- (ix86_init_mmx_sse_builtins): Create those builtins.
- (ix86_expand_builtin): Handle those builtins and adjust expansions
- of other gather builtins.
- (ix86_vectorize_builtin_gather): New function.
- (TARGET_VECTORIZE_BUILTIN_GATHER): Define.
-
-2011-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/f16cintrin.h: Remove extra _X86INTRIN_H_INCLUDED check.
-
-2011-11-07 Tristan Gingold <gingold@adacore.com>
-
- * config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs.
- * config/vms/t-vms: Add vms-c.o rule.
- * config/vms/vms-c.c: New file.
- * config/vms/vms-protos.h (vms_c_register_pragma): New prototype.
- * config/vms/vms.h (REGISTER_TARGET_PRAGMAS): Define.
-
-2011-11-07 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/vms.h (TARGET_OBJECT_SUFFIX,
- TARGET_EXECUTABLE_SUFFIX, TARGET_OS_CPP_BUILTINS,
- TARGET_ABI_OPEN_VMS, LONG_TYPE_SIZE, ADA_LONG_TYPE_SIZE,
- POINTER_SIZE, POINTERS_EXTEND_UNSIGNED): Move to config/vms/vms.h
- (SUBTARGET_OS_CPP_BUILTINS): Define.
- (TARGET_DEFAULT): Tune according to POINTER_SIZE.
- (MASK_RETURN_ADDR): Define in 64 bit mode.
- * config/ia64/vms.h: Likewise.
- * config/vms/vms.h: New file.
- * config/vms/vms64.h: New file.
- * config/alpha/vms64.h: Removed.
- * config/ia64/vms64.h: Removed.
- * config.gcc (alpha64-dec-*vms*, alpha*-dec-*vms*, ia64-hp-*vms*):
- Adjust for above change.
-
-2011-11-07 Enkovich Ilya <ilya.enkovich@intel.com>
-
- PR target/50962
- * config/i386/i386-protos.h (ix86_use_lea_for_mov): New.
- * config/i386/i386.c (ix86_use_lea_for_mov): Likewise.
- * config/i386/i386.md (movsi_internal): Emit lea if profitable.
- (movdi_internal_rex64): Likewise.
-
-2011-11-07 Sergey Ostanevich <sergos.gnu@gmail.com>
-
- PR rtl-optimization/47698
- * ifcvt.c (noce_operand_ok): Return false for mems with side effects.
-
-2011-11-07 Tristan Gingold <gingold@adacore.com>
-
- * common/config/alpha/alpha-common.c (alpha_option_init_struct):
- New function.
- (TARGET_OPTION_INIT_STRUCT): Define.
- * config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET)
- (TARGET_MAX_ANCHOR_OFFSET)
- (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine.
-
-2011-11-06 Quentin Neill <quentin.neill@amd.com>
-
- Fix r180999, update ChangeLog
- * config.gcc: Add f16cintrin.h.
- * config/i386/f16cintrin.h: Add missing endif.
-
-2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config.gcc (arm*-*-rtemseabi*): New target.
- * config/arm/rtems-eabi.h: New.
- * config/arm/t-rtems-eabi: New.
-
-2011-11-06 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): Delete.
- (zero_extend_v8qi_vis, zero_extend_v4hi_vis,
- *zero_extend_v8qi_<P:mode>_insn,
- *zero_extend_v4hi_<P:mode>_insn): Express using vec_merge
- and vec_duplicate instead of using an UNSPEC.
-
-2011-11-07 Alan Modra <amodra@gmail.com>
-
- PR target/30282
- * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
- blockage for ABI_V4.
-
-2011-11-06 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent
- libgcj version bump.
- * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
-
-2011-11-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcse.c: Adjust outdated comments throughout.
- (struct mem_conflict_info): New structure.
- (mems_conflict_for_gcse_p): Use it to communicate with caller.
- (load_killed_in_block_p): Pass it to note_stores.
- (hash_expr): Remove superfluous line break.
- (hash_scan_set): Rename PAT parameter into SET.
- (hash_scan_insn): Reorder cases.
- (canon_list_insert): Fix long line.
- (edge_list): Delete.
- (prune_expressions): Rename E local variable into EXPR.
- (compute_pre_data): Return struct edge_list * object.
- (pre_expr_reaches_here_p_work): Fix formatting.
- (process_insert_insn): Move around comment.
- (pre_edge_insert): Fix long line.
- (pre_insert_copies): Likewise.
- (gcse_emit_move_after): Swap SRC and DEST parameters.
- (pre_delete): Adjust call to gcse_emit_move_after.
- (pre_gcse): Take struct edge_list * parameter. Fix long line.
- (one_pre_gcse_pass): Use flag_gcse_lm condition for all routines.
- Use a local list of edges.
- (hoist_code): Fix long line. Adjust call to gcse_emit_move_after.
- (pre_ldst_expr_hash): Fix long line.
- (free_ldst_mems): Rename into...
- (free_ld_motion_mems): ...this.
- (first_ls_expr): Delete.
- (next_ls_expr): Likewise.
- (print_ldst_list): Do not use above two functions.
- (simple_mem): Adjust interface.
- (compute_ld_motion_mems): Fix formatting.
- (update_ld_motion_stores): Reuse local variable.
-
-2011-11-06 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (shadow_tag_warned, grokdeclarator): Handle _Alignas
- specifiers.
- (build_null_declspecs): Initialize align_log and alignas_p fields.
- (declspecs_add_alignas): New.
- * c-parser.c (c_token_starts_declspecs): Handle RID_ALIGNAS.
- (c_parser_declspecs): Handle _Alignas specifiers.
- (c_parser_alignas_specifier): New.
- (c_parser_alignof_expression): Diagnose alignof use for non-C1X.
- Diagnose _Alignof (expression).
- * c-tree.h (struct c_declspecs): Add align_log and alignas_p fields.
- (declspecs_add_alignas): Declare.
- * ginclude/stddef.h (max_align_t): Define for C1X and C++11.
- * ginclude/stdalign.h: New.
- * Makefile.in (USER_H): Add stdalign.h.
-
-2011-11-06 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * regset.h (fixed_reg_set_regset): Declare.
- * dse.c: Include regset.h .
- (struct insn_info): Add member fixed_regs_live.
- (note_add_store_info): New typedef.
- (note_add_store): New function.
- (emit_inc_dec_insn_before): Expect arg to be of type insn_info_t.
- Use gen_add3_insn / gen_move_insn.
- Check new insn for unwanted clobbers before emitting it.
- (check_for_inc_dec): Rename to...
- (check_for_inc_dec_1:) ... this. Return bool. Take insn_info
- parameter. Changed all callers in file.
- (check_for_inc_dec, copy_fixed_regs): New functions.
- (scan_insn): Set fixed_regs_live field of insn_info.
- * rtl.h (check_for_inc_dec): Update prototype.
- * postreload.c (reload_cse_simplify): Take new signature of
- check_ind_dec into account.
- * reginfo.c (fixed_reg_set_regset): New variable.
- (init_reg_sets_1): Initialize it.
-
-2011-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove
- any user labels.
-
-2011-11-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
- Remove dependence of declaration and target define on definition of
- HPUX_LONG_DOUBLE_LIBRARY. Update implementation.
-
-2011-11-06 Andrew Macleod <amacleod@redhat.com>
- Richard Henderson <rth@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- Merged from cxx-mem-model.
-
- * cppbuiltin.c (define__GNUC__): Define __ATOMIC memory models
- * coretypes.h (enum memmodel): New. enumerated memory model type.
- * Makefile.in (cppbuiltin.o) Add missing dependency on $(TREE_H)
- * genopinit,c (optabs): Add atomic direct optab handlers.
- * sync-builtins.def (BUILT_IN_ATOMIC_*): New builtins.
- * builtin-types.def (BT_CONST_VOLATILE_PTR,
- BT_FN_I{1,2,4,8,16}_CONST_VPTR_INT, BT_FN_VOID_VPTR_INT,
- BT_FN_BOOL_VPTR_INT, BT_FN_BOOL_SIZE_CONST_VPTR,
- BT_FN_I{1,2,4,8,16}_VPTR_I{1,2,4,8,16}_INT,
- BT_FN_VOID_VPTR_I{1,2,4,8,16}_INT, BT_FN_VOID_SIZE_VPTR_PTR_INT,
- BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
- BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT): New builtin types.
- * expr.h (expand_atomic_*): Add prototypes.
- (expand_{bool,val}_compare_and_swap): Remove prototypes.
- * c-typeck.c (build_function_call_vec): Don't reprocess __atomic
- parameters.
- * common.opt (Winvalid-memory-model): New warning flag.
- (finline-atomics): New. Flag to disable atomic inlining.
- * params.h (ALLOW_LOAD_DATA_RACES): New.
- (ALLOW_PACKED_LOAD_DATA_RACES): New.
- (ALLOW_PACKED_STORE_DATA_RACES): New.
- * params.def (PARAM_ALLOW_LOAD_DATA_RACES): New.
- (PARAM_ALLOW_PACKED_LOAD_DATA_RACES): New.
- (PARAM_ALLOW_PACKED_STORE_DATA_RACES): New.
- * builtins.c (is_builtin_name): Handle __atomic.
- (get_memmodel): New. Extract memory model.
- (expand_expr_force_mode): New. Factor out common code for ensuring an
- integer argument is in the proper mode.
- (expand_builtin_sync_operation): Remove ignore param. Always call
- expand_atomic_fetch_op instead of the old expanders.
- (expand_builtin_compare_and_swap,
- expand_builtin_sync_lock_test_and_set): Use expand_expr_force_mode,
- call atomic expanders instead of sync expanders.
- (expand_builtin_sync_lock_release): Call atomic_store expander.
- (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
- expand_builtin_atomic_store, expand_builtin_atomic_fetch_op): New.
- (expand_builtin_atomic_exchange): New.
- (fold_builtin_atomic_always_lock_free,
- expand_builtin_atomic_always_lock_free,
- fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
- New.
- (expand_builtin_mem_thread_fence, expand_builtin_atomic_thread_fence,
- expand_builtin_atomic_signal_fence): New.
- (expand_builtin_mem_signal_fence): New.
- (expand_builtin): Add cases for BUILT_IN_ATOMIC_*.
- (fold_builtin_2): Add cases for BUILT_IN_ATOMIC_{IS,ALWAYS}_LOCK_FREE.
- * optabs.h (DOI_atomic_*): Define new atomics.
- (atomic_*_optab): Define.
- (can_compare_and_swap_p, expand_atomic_compare_and_swap): New
- prototypes.
- * optabs.c (expand_sync_operation, expand_sync_fetch_operation): Remove.
- (expand_sync_lock_test_and_set): Remove.
- (expand_atomic_load, expand_atomic_store): New.
- (expand_atomic_exchange): New.
- (expand_atomic_compare_and_swap): New. Implements
- atomic_compare_exchange via compare and swap.
- (struct atomic_op_functions): Opcode table struct for fetch ops.
- (get_atomic_op_for_code): New. Return an opcode table entry.
- (maybe_emit_op): New. Try to emit a fetch op.
- (expand_atomic_fetch_op): New.
- (expand_val_compare_and_swap_1): Remove.
- (expand_val_compare_and_swap, expand_bool_compare_and_swap): Remove.
- (expand_atomic_compare_and_swap): Rename from
- expand_atomic_compare_exchange. Rewrite to return both success and
- oldval return values; expand via both atomic and sync optabs.
- (can_compare_and_swap_p): New.
- (expand_compare_and_swap_loop): Use expand_atomic_compare_and_swap.
- (maybe_gen_insn): Handle 7 and 8 operands.
- * omp-low.c (expand_omp_atomic_fetch_op): Don't test individual
- fetch_op optabs, only test can_compare_and_swap_p. Use __atomic
- builtins instead of __sync builtins.
- (expand_omp_atomic_pipeline): Use can_compare_and_swap_p.
- * doc/extend.texi: Document __atomic built-in functions.
- * doc/invoke.texi: Document data race parameters.
- * doc/md.texi: Document atomic patterns.
- * config/i386/i386.md (UNSPEC_MOVA): New.
- (UNSPECV_CMPXCHG): Split into ...
- (UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2,
- UNSPECV_CMPXCHG_3, UNSPECV_CMPXCHG_4): New.
- * config/i386/sync.md (ATOMIC): New mode iterator.
- (atomic_load<ATOMIC>, atomic_store<ATOMIC>): New.
- (atomic_loaddi_fpu, atomic_storedi_fpu, movdi_via_fpu): New.
- (mem_thread_fence): Rename from memory_barrier.
- Handle the added memory model parameter.
- (mfence_nosse): Rename from memory_barrier_nosse.
- (sync_compare_and_swap<CASMODE>): Split into ...
- (atomic_compare_and_swap<SWI124>): this and ...
- (atomic_compare_and_swap<CASMODE>): this. Handle the new parameters.
- (atomic_compare_and_swap_single<SWI>): Rename from
- sync_compare_and_swap<SWI>; rewrite to use split unspecs.
- (atomic_compare_and_swap_double<DCASMODE>): Rename from
- sync_double_compare_and_swap<DCASMODE>; rewrite to use split unspecs.
- (*atomic_compare_and_swap_doubledi_pic): Rename from
- sync_double_compare_and_swapdi_pic; rewrite to use split unspecs.
- (atomic_fetch_add<SWI>): Rename from sync_old_add<SWI>; add memory
- model parameter.
- (*atomic_fetch_add_cmp<SWI>): Similarly.
- (atomic_add<SWI>, atomic<any_logic><SWI>): Similarly.
- (atomic_sub<SWI>): Similarly. Use x86_maybe_negate_const_int.
- (sync_lock_test_and_set<SWI>): Merge with ...
- (atomic_exchange<SWI>): ... this.
-
-2011-11-6 Richard Guenther <rguenther@suse.de>
-
- * ipa-prop.c (ipa_modify_call_arguments): Re-compute inlinable flag.
-
-2011-11-06 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vectorizer.h (vectorizable_condition): Add argument.
- * tree-vect-loop.c (vectorizable_reduction): Fail for condition
- in SLP. Update calls to vectorizable_condition.
- * tree-vect-stmts.c (vect_is_simple_cond): Add basic block info to
- the arguments. Pass it to vect_is_simple_use_1.
- (vectorizable_condition): Add slp_node to the arguments. Support
- vectorization of basic blocks. Fail for reduction in SLP. Update
- calls to vect_is_simple_cond and vect_is_simple_use. Support SLP:
- call vect_get_slp_defs to get vector operands.
- (vect_analyze_stmt): Update calls to vectorizable_condition.
- (vect_transform_stmt): Likewise.
- * tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR.
- (vect_get_and_check_slp_defs): Handle COND_EXPR. Allow pattern
- def stmts.
- (vect_build_slp_tree): Handle COND_EXPR.
- (vect_analyze_slp_instance): Push pattern statements to root node.
- (vect_get_constant_vectors): Fix comments. Handle COND_EXPR.
-
-2011-11-05 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
- (zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
- (*zero_extend_v8qi_<P:mode>_insn,
- *zero_extend_v4hi_<P:mode>_insn): New insns.
- * config/sparc/sparc.c (vector_init_move_words,
- vector_init_prepare_elts, sparc_expand_vector_init_vis2,
- sparc_expand_vector_init_vis1): New functions.
- (vector_init_bshuffle): Rewrite to handle more cases and make use
- of locs[] array prepared by vector_init_prepare_elts.
- (vector_init_fpmerge, vector_init_faligndata): Delete.
- (sparc_expand_vector_init): Rewrite using new infrastructure.
-
-2011-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config.gcc (epiphany-*-*): New architecture.
- (epiphany-*-elf): New configuration.
- * config/epiphany, common/config/epiphany : New directories.
- * doc/extend.texi (disinterrupt attribute): Add Epiphany.
- (interrupt attribute): Add Epiphany.
- (long_call, short_call attribute): Add Epiphany.
- * doc/invoke.texi (Options): Add Epiphany options.
- * doc/md.texi (Machine Constraints): Add Epiphany constraints.
- * doc/install.texi (Options specification):
- Add --with-stack-offset=@var{num} description.
- (host/target specific issues): Add epiphany-*-elf.
- * doc/contrib.texi (Contributors): Mention Epiphany port.
-
-2011-11-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50693
- * tree-cfg.c (gimple_can_merge_blocks_p): Allow merging with
- non-forced user labels.
- (gimple_merge_blocks): Turn non-forced user labels into
- debug bind stmt with the label as first operand and reset value.
- (gimple_duplicate_bb): Don't duplicate label debug stmts.
- * dwarf2out.c (gen_label_die): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
- * final.c (final_scan_insn): Likewise.
- (rest_of_clean_state): Don't dump NOTE_INSN_DELETED_DEBUG_LABEL.
- * var-tracking.c (debug_label_num): New variable.
- (delete_debug_insns): Don't delete DEBUG_INSNs for LABEL_DECLs,
- instead turn them into NOTE_INSN_DELETED_DEBUG_LABEL notes.
- * cfglayout.c (skip_insns_after_block, duplicate_insn_chain): Handle
- NOTE_INSN_DELETED_DEBUG_LABEL.
- (duplicate_insn_chain): Don't duplicate LABEL_DECL DEBUG_INSNs.
- * insn-notes.def (DELETED_DEBUG_LABEL): New note kind.
- * print-rtl.c (print_rtx): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
- * gengtype.c (adjust_field_rtx_def): Likewise.
- * config/i386/i386.c (ix86_output_function_epilogue): For MachO
- clear CODE_LABEL_NUMBER of NOTE_INSN_DELETED_DEBUG_LABEL
- if their are at the end of function and nop hasn't been emitted.
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Likewise.
-
-2011-11-05 Georg-Johann Lay <avr@gjlay.de>
-
- PR rtl-optimization/50448
- * cprop.c (try_replace_reg): Also try to replace uses of FROM that
- appear in SET_DEST.
-
-2011-11-05 Peter Dufault <dufault@hda.com>,
- Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
- Extend rs6000_spe handling.
-
-2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
- Remove -mcpu=601 multilib.
- Remove -Dmpc8260 multilib.
- * config/rs6000/rtems.h: Allow --float-gprs=... to override grps
- on E500 targets.
-
-2011-11-05 Quentin Neill <quentin.neill@amd.com>
-
- Piledriver f16cintrin.h fix.
- * config/i386/f16cintrin.h: Contents moved from immintrin.h.
- * config/i386/immintrin.h: Include f16cintrin.h.
- * config.gcc (i[34567]86-*-*, x86_64-*-*): Add f16cintrin.h.
-
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR c++/50608
- * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
- to fold_offsetof.
- * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
-
-2011-11-04 Alan Modra <amodra@gmail.com>
-
- * reload1.c (gen_reload): Don't use REGNO on SUBREGs.
- * print-rtl.c (print_rtx): Don't segfault on negative regno.
-
-2011-11-04 David S. Miller <davem@davemloft.net>
-
- PR target/49965
- * config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
- fact that sparc_emit_float_lib_cmp modifies the comparison in
- operands[1].
-
-2011-11-04 Ralf Corsépius <ralf.corsepius@rtems.org>
-
- * config/lm32/t-rtems: New.
- * config.gcc (lm32-*-rtems*): Add t-rtems.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/50979
- * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
-
-2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
-
- PR rtl-optimization/38644
- * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
- for epilogue having stack adjustment.
-
-2011-11-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50931
- * config/avr/avr-modes.def: New file defining PSImode.
- * config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
- __UINT24_MAX__): New built-in defines.
- * config/avr/avr.md (adjust_len): Add tstpsi, mov24, reload_in24,
- ashlpsi, ashrpsi, lshrpsi.
- (QISI, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
- (MOVMODE): New mode iterator.
- (movpsi): New expander.
- (movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
- (*reload_inpsi, *movpsi): New insns.
- (*reload_inpsi): New RTL peephole.
- (addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
- *addpsi3_sign_extend.hi): New insns.
- (subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
- *subpsi3_sign_extend.hi): New insns.
- (divmodpsi4, udivmodpsi4): New define insn-and-split.
- (*divmodpsi4_call, *udivmodpsi4_call): New insns.
- (andpsi3, iorpsi3, xorpsi3): New insns.
- (*rotlpsi2.1, *rotlpsi2.23): New insns.
- (*rotw<mode>): Insn condition only allow even-sized modes.
- (*rotb<mode>): Insn condition allows odd-sized modes.
- (ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
- (negpsi2, one_cmplpsi2): New insns.
- (extendqipsi2, extendhipsi2, extendpsisi2): New insns.
- (zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
- insn-and-splits.
- (*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
- (cbranchpsi4): New expander.
- * config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
- * config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
- avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
- avr_out_reload_inpsi): New prototypes.
-
- * config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
- (avr_scalar_mode_supported_p): ...this new static function.
- (avr_asm_len): Always return "".
- (avr_out_load_psi, avr_out_store_psi): New static functions.
- (avr_out_movpsi, avr_out_reload_inpsi): New functions.
- (avr_out_tstpsi): New function.
- (avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
- (avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
- (avr_simplify_comparison_p): Ditto.
- (adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
- ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
- ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
- (avr_rtx_costs_1): Report PSI costs.
- (avr_libcall_value): Handle odd-sized parameters.
- (avr_init_builtin_int24): New static function to define built-in
- 24-bit types __int24 and __uint24.
- (avr_init_builtins): Use it.
-
-2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
-
- PR target/50989
- * config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
- support for VFP floating point model.
-
-2011-11-04 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.
-
-2011-11-04 Ira Rosen <ira.rosen@linaro.org>
-
- Unrevert:
- 2011-10-24 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50730
- * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block
- analysis if encountered unsupported data-ref.
-
-2011-11-04 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
- function.
- * config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
- New prototype.
- * config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
- For floatunsv8siv8sf2 require TARGET_AVX2.
-
- * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
- XORP argument. Subtract 0x1p31 instead of 0x1p32. Use normal
- signalling comparison instead of non-signalling. Store into
- *XORP pseudo holding 0x80000000 integers if 0x1p31 has been
- subtracted and 0 otherwise.
- * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
- Adjust prototype.
- * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
- already for TARGET_SSE2. Xor in vector initialized by
- ix86_expand_adjust_ufix_to_sfix_si at the end.
- (vec_pack_ufix_trunc_<mode>): Likewise.
-
- * tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
- not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
- WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
- vectorizable_type_demotion and vectorizable_type_promotion did.
- Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
- is {,un}signed {char,short}.
- (vect_create_vectorized_demotion_stmts): Fix comment typo. For
- recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
- Push vec_dest back to the vec_dsts vector at the end.
- (vect_create_vectorized_promotion_stmts): Don't recurse, do just
- one step. Removed multi_step_cvt, vec_dsts, slp_node and
- prev_stmt_info arguments, add vec_dest argument. Push always
- into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
- with vec_tmp at the end after freeing old *vec_oprnd0 vector.
- (vectorizable_type_demotion, vectorizable_type_promotion): Removed.
- (vect_analyze_stmt): Don't call vectorizable_type_demotion and
- vectorizable_type_promotion. Call vectorizable_conversion even
- for SLP bb vectorization.
- (vect_transform_stmt): Call vectorizable_conversion instead of
- vectorizable_type_demotion and vectorizable_type_promotion.
- (supportable_widening_operation): Clear *multi_step_cvt first,
- simplify c1/c2 computation, free *interm_types vector on failure.
- (supportable_narrowing_operation): Clear *multi_step_cvt first,
- free *interm_types vector on failure, handle multi-step
- FIX_TRUNC_EXPR.
-
-2011-11-04 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
- argument. Conditionally generate crash debug info. Adjust
- for alpha_funcs_tree removal.
- (machine_function): Add links field.
- (alpha_start_function): Conditionally generate crash debug info.
- (alpha_end_function): Adjust call to alpha_write_linkage.
- (alpha_funcs): Remove.
- (links_kind): Remove.
- (alpha_links): Remove num, target and lkind field. Add func field.
- (alpha_links_tree): Remove.
- (alpha_funcs_tree): Remove.
- (alpha_need_linkage): Remove.
- (alpha_use_linkage): Change prototype. Adjust.
- (alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
- Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
- * config/alpha/alpha-protos.h (alpha_use_linkage): Update.
- (alpha_need_linkage): Remove.
- * config/alpha/alpha.md: Update calls to alpha_use_linkage.
- Adjust calls to alpha_need_linkage.
-
-2011-11-03 Uros Bizjak <ubizjak@gmail.com>
-
- * sched-vis.c (print_value): Handle STRICT_LOW_PART.
-
-2011-11-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
- rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
- btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
-
-2011-11-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/50978
- * config/arm/t-bpabi: New file.
- * config.gcc (arm*-*-linux*): Add arm/t-bpabi to tmake_file for
- arm*-*-linux-*eabi.
- (arm*-*-uclinux*): Add arm/t-bpabi to tmake_file for
- arm*-*-uclinux*eabi.
- (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi to tmake_file
- for arm*-*-eabi*.
-
-2011-11-03 Michael Matz <matz@suse.de>
-
- PR bootstrap/50857
- * configure.ac: Check for -fno-exceptions -fno-rtti.
- * configure: Regenerate.
- * Makefile.in (NOEXCEPTION_FLAGS): New flag.
- (ALL_CXXFLAGS): Use it.
-
-2011-11-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md: Use {} for multi-line preparation statements.
-
-2011-11-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (movtf_insn_sp32_no_fpu): Consolidate into...
- (movtf_insn_sp32): ...this.
- (movtf_insn_sp64_no_fpu): Consolidate into...
- (movtf_insn_sp64): ...this.
- (movtf_insn_sp64_hq): Do not test TARGET_FPU.
- * config/sparc/sparc.c (sparc_legitimate_address_p): Likewise.
-
-2011-11-03 Tristan Gingold <gingold@adacore.com>
-
- * config/vms/vms.c (vms_patch_builtins): Fix typo.
-
-2011-11-03 Richard Guenther <rguenther@suse.de>
-
- PR lto/44965
- * lto-opts.c: Re-implement.
- * lto-streamer.h (lto_register_user_option): Remove.
- (lto_read_file_options): Likewise.
- (lto_reissue_options): Likewise.
- (lto_clear_user_options): Likewise.
- (lto_clear_file_options): Likewise.
- * opts-global.c (post_handling_callback): Remove.
- (set_default_handlers): Do not set post_handling_callback.
- (decode_options): Remove LTO specific code.
- * lto-wrapper.c (merge_and_complain): New function.
- (run_gcc): Read all input file options and
- prepend a merged set before the linker driver options.
- * gcc.c (driver_post_handling_callback): Remove.
- (set_option_handlers): Do not set post_handling_callback.
- * opts-common.c (handle_option): Do not call post_handling_callback.
- * opts.h (struct cl_option_handlers): Remove post_handling_callback.
-
-2011-11-03 Richard Guenther <rguenther@suse.de>
-
- * collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION.
-
-2011-11-03 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (type_change_info): New fields offset, object,
- known_current_type and multiple_types_encountered.
- (extr_type_from_vtbl_ptr_store): New function.
- (check_stmt_for_type_change): Use it, set multiple_types_encountered if
- the result is different from the previous one.
- (detect_type_change): Renamed to detect_type_change_1. New parameter
- comp_type. Set up new fields in tci, build known type jump
- functions if the new type can be identified.
- (detect_type_change): New function.
- * tree.h (DECL_CONTEXT): Comment new use.
-
-2011-11-03 Richard Guenther <rguenther@suse.de>
-
- PR lto/48217
- * lto-wrapper.c (get_options_from_collect_gcc_options): Properly
- decode an encoded literal '.
-
-2011-11-03 Tristan Gingold <gingold@adacore.com>
-
- * collect2.c (main): Add support of -f (response file) on AIX.
-
-2011-11-03 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50912
- * tree-vectorizer.h (slp_void_p): New.
- (struct _slp_tree): Replace left and right with children. Update
- documentation.
- (struct _slp_oprnd_info): New.
- (vect_get_vec_defs): Declare.
- (vect_get_slp_defs): Update arguments.
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Call
- vect_get_vec_defs instead of vect_get_slp_defs.
- (vectorizable_reduction): Likewise.
- * tree-vect-stmts.c (vect_get_vec_defs): Remove static, add argument.
- Update call to vect_get_slp_defs.
- (vectorizable_conversion): Update call to vect_get_vec_defs.
- (vectorizable_assignment, vectorizable_shift,
- vectorizable_operation): Likewise.
- (vectorizable_type_demotion): Call vect_get_vec_defs instead of
- vect_get_slp_defs.
- (vectorizable_type_promotion, vectorizable_store): Likewise.
- (vect_analyze_stmt): Fix typo.
- * tree-vect-slp.c (vect_free_slp_tree): Update SLP tree traversal.
- (vect_print_slp_tree, vect_mark_slp_stmts,
- vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
- vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
- vect_schedule_slp_instance): Likewise.
- (vect_create_new_slp_node): New.
- (vect_create_oprnd_info, vect_free_oprnd_info): Likewise.
- (vect_get_and_check_slp_defs): Pass information about defs using
- oprnds_info, allow any number of operands.
- (vect_build_slp_tree): Likewise. Update calls to
- vect_get_and_check_slp_defs. Fix comments.
- (vect_analyze_slp_instance): Move node creation to
- vect_create_new_slp_node.
- (vect_get_slp_defs): Allow any number of operands.
-
-2011-11-02 Peter Bergner <bergner@vnet.ibm.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- * config/rs6000/rs6000.c (USE_HIDDEN_LINKONCE): New define.
- (get_ppc476_thunk_name): Use it.
- (rs6000_code_end): Likewise.
- (macho_branch_islands): Fix typo.
-
-2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/50810
- * configure.ac: Add -Wno-narrowing to warning options.
- * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
-
-2011-11-02 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/50945
- * config/sparc/sparc.md (movsf_insn): Reindent constraints.
- (movdf_insn_sp32): Likewise. Remove redundant G constraint.
- (movdf_insn_sp64): Likewise.
- (DFmode splitter): Do not test TARGET_FPU.
- (movtf_insn_sp32): Reindent constraints.
- (movtf_insn_sp32_no_fpu): Likewise.
- (movtf_insn_sp64): Likewise.
- (movtf_insn_sp64_hq): Likewise.
- (movtf_insn_sp64_no_fpu): Likewise.
-
-2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50956
- * builtins.c (fold_builtin_memchr): Fix cast.
-
-2011-11-02 Teresa Johnson <tejohnson@google.com>
-
- * config/i386/predicates.md (promotable_binary_operator): Add minus
- to the list of promotable operators.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gthr-single.h, gthr.h: Move to ../libgcc.
- * gthr-aix.h: Move to ../libgcc/config/rs6000.
- * gthr-dce.h: Move to ../libgcc/config/pa.
- * gthr-lynx.h: Move to ../libgcc/config.
- * gthr-mipssde.h: Move to ../libgcc/config/mips.
- * gthr-posix.h: Move to ../libgcc/config.
- * gthr-rtems.h: Likewise.
- * gthr-tpf.h: Move to ../libgcc/config/s390.
- * gthr-vxworks.h: Move to ../libgcc/config.
- * gthr-win32.h: Move to ../libgcc/config/i386.
- * configure.ac (gthread_flags): Remove
- (gthr-default.h): Don't create.
- (thread_file): Don't substitute.
- * configure: Regenerate.
- * Makefile.in (GCC_THREAD_FILE): Remove.
- (GTHREAD_FLAGS): Remove.
- (libgcc.mvars): Remove GTHREAD_FLAGS.
- * config/t-vxworks (EXTRA_HEADERS): Remove.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Paolo Bonzini <bonzini@gnu.org>
-
- * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
- * configure: Regenerate.
- * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
- (TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list).
- (libgcc_tm.h, cs-libgcc_tm.h): Remove.
- (clean): Remove libgcc_tm.h
- * mkconfig.sh: Don't include libgcc_tm.h in tm.h.
- * config.gcc (libgcc_tm_file): Remove.
- (arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi.
- (arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi.
- (arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file.
- (avr-*-rtems*): Likewise.
- (avr-*-*): Likewise.
- (frv-*-elf): Likewise.
- (frv-*-*linux*): Likewise.
- (h8300-*-rtems*): Likewise.
- (h8300-*-elf*): Likewise.
- (i[34567]86-*-darwin*): Likewise.
- (x86_64-*-darwin*): Likewise.
- (rx-*-elf*): Likewise.
- (tic6x-*-elf): Likewise.
- (tic6x-*-uclinux): Likewise.
- (i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
- (LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
- (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
- (INCLUDES_FOR_TARGET): Remove.
- (LIBGCC2_CFLAGS): Don't export.
- (LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
- Remove.
- (libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
- (libgcc.mvars): Likewise.
- Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
- LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
- TARGET_LIBGCC2_CFLAGS.
- Emit GTHREAD_FLAGS.
- * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
- * config/darwin-64.c: Move to ../libgcc/config.
- * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
- config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
- config/udivmodsi4.c: Move to ../libgcc/config.
- * config/gthr-posix.c: Move to ../libgcc/config/alpha.
- * config/memcmp.c, config/memcpy.c, config/memmove.c,
- config/memset.c: Move to ../libgcc/config.
- * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/t-freebsd: Remove.
- * config/t-freebsd-thread: Move to ../libgcc/config.
- * config/t-libgcc-pic: Move to ../libgcc/config.
- * config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/t-linux: Remove.
- * config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
- Remove.
- * config/t-openbsd-thread: Move to ../libgcc/config.
- * config/t-rtems (LIBGCC2_INCLUDES): Remove.
- * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/t-svr4: Remove.
- * config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
- (LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
- * config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
- * config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
- * config/alpha/t-alpha, config/alpha/t-ieee: Remove.
- * config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC): Remove.
- * config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
- * config/arm/bpabi.c, config/arm/unaligned-funcs.c,
- config/arm/fp16.c, config/arm/linux-atomic.c,
- config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
- * config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
- (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/arm/t-bpabi, config/arm/t-linux: Remove.
- * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
- (LIB2FUNCS_STATIC_EXTRA): Remove.
- * config/arm/t-netbsd: Remove.
- * config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
- (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
- * config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
- (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
- (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/bfin/t-bfin-linux: Likewise.
- * config/bfin/t-bfin-uclinux: Likewise.
- * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
- config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
- config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
- config/c6x/ltf.c: Move to ../libgcc/config/c6x.
- * config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA): Remove.
- * config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/cris/arit.c: Move to ../libgcc/config/cris.
- * config/cris/cris_abi_symbol.c: Remove.
- * config/cris/cris.h: Remove obsolete comment.
- * config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
- * config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
- ($(LIB2FUNCS_EXTRA)): Remove.
- * config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
- (LIBGCC): Remove.
- * config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/fr30/t-fr30: Remove.
- * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
- config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
- config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
- to ../libgcc/config/frv.
- * config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
- (cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
- (ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
- * config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
- config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
- config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
- * config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
- (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
- * config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
- * config/i386/t-cygwin: Remove.
- * config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
- (LIB2FUNCS_EXCLUDE): Remove.
- * config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
- (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
- * config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/i386/t-mingw-w32: Likewise.
- * config/i386/t-mingw-w64: Likewise.
- * config/i386/t-openbsd: Likewise.
- * config/i386/t-nto: Remove.
- * config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
- * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
- (quadlib.c): Remove.
- * config/ia64/t-ia64: Remove comment.
- * config/iq2000/lib2extra-funcs.c: Move to
- ../libgcc/config/iq2000/lib2funcs.c.
- * config/iq2000/t-iq2000: Remove.
- * config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
- * config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
- * config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
- * config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
- (INSTALL_LIBGCC): Remove.
- * config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
- * config/m68k/t-floatlib: Remove.
- * config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
- Fix typo.
- (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
- * config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
- * config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
- * config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
- (INSTALL_LIBGCC): Remove.
- * config/mips/t-isa3264: Likewise.
- * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
- * config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
- (INSTALL_LIBGCC): Remove.
- * config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
- (INSTALL_LIBGCC): Remove.
- * config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
- (LIB2FUNCS_STATIC_EXTRA): Remove.
- * config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
- * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/pa/fptr.c, config/pa/linux-atomic.c: Move to
- ../libgcc/config/pa.
- * config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
- * config/pa/quadlib.c: Move to ../libgcc/config/pa.
- * config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/pa/t-linux, config/pa/t-linux64: Remove.
- * config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
- config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
- * config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
- Remove.
- * config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
- * config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
- (TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
- * config/rs6000/crtresfpr.asm: Move to
- ../libgcc/config/rs6000/crtresfpr.S.
- * config/rs6000/crtresgpr.asm: Move to
- ../libgcc/config/rs6000/crtresgpr.S.
- * config/rs6000/crtresxfpr.asm: Move to
- ../libgcc/config/rs6000/crtresxfpr.S.
- * config/rs6000/crtresxgpr.asm: Move to
- ../libgcc/config/rs6000/crtresxgpr.S.
- * config/rs6000/crtsavfpr.asm: Move to
- ../libgcc/config/rs6000/crtsavfpr.S.
- * config/rs6000/crtsavgpr.asm: Move to
- ../libgcc/config/rs6000/crtsavgpr.S.
- * config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
- * config/rs6000/darwin-fpsave.asm: Move to
- ../libgcc/config/rs6000/darwin-fpsave.S.
- * config/rs6000/darwin-gpsave.asm: Move to
- ../libgcc/config/rs6000/darwin-gpsave.S.
- * config/rs6000/darwin-tramp.asm: Move to
- ../libgcc/config/rs6000/darwin-tramp.S.
- * config/rs6000/darwin-vecsave.asm: Move to
- ../libgcc/config/rs6000/darwin-vecsave.S.
- * config/rs6000/darwin-world.asm: Move to
- ../libgcc/config/rs6000/darwin-world.S.
- * config/rs6000/e500crtres32gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtres32gpr.S.
- * config/rs6000/e500crtres64gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtres64gpr.S.
- * config/rs6000/e500crtres64gprctr.asm: Move to
- ../libgcc/config/rs6000/e500crtres64gprctr.S.
- * config/rs6000/e500crtrest32gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtrest32gpr.S.
- * config/rs6000/e500crtrest64gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtrest64gpr.S.
- * config/rs6000/e500crtresx32gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtresx32gpr.S.
- * config/rs6000/e500crtresx64gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtresx64gpr.S.
- * config/rs6000/e500crtsav32gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtsav32gpr.S.
- * config/rs6000/e500crtsav64gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtsav64gpr.S.
- * config/rs6000/e500crtsav64gprctr.asm: Move to
- ../libgcc/config/rs6000/e500crtsav64gprctr.S.
- * config/rs6000/e500crtsavg32gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtsavg32gpr.S.
- * config/rs6000/e500crtsavg64gpr.asm: Move to
- ../libgcc/config/rs6000/e500crtsavg64gpr.S.
- * config/rs6000/e500crtsavg64gprctr.asm: Move to
- ../libgcc/config/rs6000/e500crtsavg64gprctr.S.
- * config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
- * config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
- (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/rs6000/t-aix52: Likewise.
- * config/rs6000/t-darwin: Remove.
- * config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
- (LIB2FUNCS_EXTRA): Remove.
- * config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
- (INSTALL_LIBGCC): Remove.
- * config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
- (LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
- (crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
- (INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
- ($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext))
- ($(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
- * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
- (LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
- * config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/rs6000/t-vxworks: Remove comment.
- * config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
- * config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/sh/linux-atomic.asm: Move to
- ../libgcc/config/sh/linux-atomic.S.
- * config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
- * config/sh/t-netbsd: Remove.
- * config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
- Remove.
- * config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
- * config/sparc/t-leon: Likewise.
- * config/sparc/t-leon3: Likewise.
- * config/sparc/t-linux64: Likewise.
- * config/sparc/t-netbsd64: Fix typo.
- Remove comment.
- * config/spu/divmodti4.c, config/spu/divv2df3.c,
- config/spu/float_disf.c, config/spu/float_unsdidf.c,
- config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
- config/spu/mfc_multi_tag_release.c,
- config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
- config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
- config/spu/multi3.c: Move to ../libgcc/config/spu.
- * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
- (LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
- (INSTALL_LIBGCC): Remove.
- * config/stormy16/stormy16-lib2.c: Move to
- ../libgcc/config/stormy16/lib2.c.
- * config/stormy16/stormy16-lib2-ashlsi3.c: Move to
- ../libgcc/config/stormy16/ashlsi3.c.
- * config/stormy16/stormy16-lib2-ashrsi3.c: Move to
- ../libgcc/config/stormy16/ashrsi3.c.
- * config/stormy16/stormy16-lib2-clzhi2.c: Move to
- ../libgcc/config/stormy16/clzhi2.c.
- * config/stormy16/stormy16-lib2-cmpsi2.c: Move to
- ../libgcc/config/stormy16/cmpsi2.c.
- * config/stormy16/stormy16-lib2-ctzhi2.c: Move to
- ../libgcc/config/stormy16/ctzhi2.c.
- * config/stormy16/stormy16-lib2-divsi3.c: Move to
- ../libgcc/config/stormy16/divsi3.c.
- * config/stormy16/stormy16-lib2-ffshi2.c: Move to
- ../libgcc/config/stormy16/ffshi2.c.
- * config/stormy16/stormy16-lib2-lshrsi3.c: Move to
- ../libgcc/config/stormy16/lshrsi3.c.
- * config/stormy16/stormy16-lib2-modsi3.c: Move to
- ../libgcc/config/stormy16/modsi3.c.
- * config/stormy16/stormy16-lib2-parityhi2.c: Move to
- ../libgcc/config/stormy16/parityhi2.c.
- * config/stormy16/stormy16-lib2-popcounthi2.c: Move to
- ../libgcc/config/stormy16/popcounthi2.c.
- * config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
- ../libgcc/config/stormy16/ucmpsi2.c.
- * config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
- ../libgcc/config/stormy16/udivmodsi4.c.
- * config/stormy16/stormy16-lib2-udivsi3.c: Move to
- ../libgcc/config/stormy16/udivsi3.c.
- * config/stormy16/stormy16-lib2-umodsi3.c: Move to
- ../libgcc/config/stormy16/umodsi3.c.
- * config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
- * config/v850/t-v850 (INSTALL_LIBGCC): Remove.
- * config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
- * config/xtensa/t-elf: Remove.
- * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
- * config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
- from tmake_file.
- (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
- *-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
- (*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
- (*-*-openbsd*): Likewise.
- Remove t-openbsd-thread for posix threads.
- (alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee from tmake_file.
- (alpha*-*-freebsd*): Likewise.
- (alpha*-*-netbsd*): Likewise.
- (alpha*-*-openbsd*): Likewise.
- (alpha64-dec-*vms*): Likewise.
- (alpha*-dec-*vms*): Likewise.
- (arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
- (arm*-*-linux*): Remove t-linux from tmake_file.
- Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
- (arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
- arm*-*-uclinux*eabi.
- (arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
- tmake_file for arm*-*-eabi*.
- (fr30-*-elf): Remove tmake_file.
- (hppa*64*-*-linux*): Remove tmake_file.
- (hppa*-*-linux*): Likewise.
- (hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
- tmake_file.
- (hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
- (hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
- tmake_file.
- (i[34567]86-*-elf*): Remove tmake_file.
- (x86_64-*-elf*): Likewise.
- (i[34567]86-*-nto-qnx*): Likewise.
- (i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
- (i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
- from tmake_file if using win32 threads.
- (iq2000*-*-elf*): Remove tmake-file.
- (microblaze*-linux*): Likewise.
- (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
- (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
- (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
- (sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
- sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
- (xtensa*-*-elf*): Remove tmake_file.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (LIB1ASMSRC): Don't export.
- (libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
- * config/arm/arm.c: Update lib1funcs.asm filename.
- * config/arm/linux-eabi.h: Likewise.
- * config/arm/bpabi-v6m.S, config/arm/bpabi.S,
- config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to
- ../libgcc/config/arm.
- * config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S.
- * config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/arm/t-arm-elf (LIB1ASMFUNCS): Remove.
- * config/arm/t-bpabi: Likewise.
- * config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove.
- * config/arm/t-strongarm-elf: Likewise.
- * config/arm/t-symbian: Likewise.
- * config/arm/t-vxworks: Likewise.
- * config/arm/t-wince-pe: Likewise.
- * config/avr/libgcc.S: Move to ../libgcc/config/avr.
- * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/bfin/lib1funcs.asm: Move to ../libgcc/config/bfin/lib1funcs.S.
- * config/bfin/t-bfin: Remove.
- * config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/bfin/t-bfin-linux: Likewise.
- * config/bfin/t-bfin-uclinux: Likewise.
- * config/c6x/lib1funcs.asm: Move to ../libgcc/config/c6x/lib1funcs.S.
- * config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/fr30/lib1funcs.asm: Move to ../libgcc/config/fr30/lib1funcs.S.
- * config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/frv/lib1funcs.asm: Move to ../libgcc/config/frv/lib1funcs.S.
- * config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/h8300/fixunssfsi.c: Update lib1funcs.asm filename.
- * config/h8300/lib1funcs.asm: Move to
- ../libgcc/config/h8300/lib1funcs.S.
- * config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S.
- * config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/i386/t-interix: Likewise.
- * config/ia64/lib1funcs.asm: Move to ../libgcc/config/ia64/lib1funcs.S.
- * config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove.
- * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove.
- * config/m32c/m32c.c: Update m32c-lib1.S filename.
- * config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S.
- * config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove.
- * config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S.
- * config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file.
- * config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S.
- * config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S.
- * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/mips/mips16.S: Move to ../libgcc/config/mips.
- * config/mips/t-libgcc-mips16: Remove.
- * config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove.
- * config/pa/milli64.S: Move to ../libgcc/config/pa.
- * config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
- * config/pa/t-linux64: Likewise.
- * config/picochip/libgccExtras/fake_libgcc.asm: Move to
- ../libgcc/config/picochip/lib1funcs.S.
- * config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
- * config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S.
- * config/sh/lib1funcs.h: Move to ../libgcc/config/sh.
- * config/sh/sh.h: Update lib1funcs.asm filename.
- * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove.
- * config/sh/t-netbsd: Likewise.
- * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE):
- Remove.
- * config/sh/t-sh64 (LIB1ASMFUNCS): Remove.
- * config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S.
- * config/sparc/lb1spl.asm: Remove.
- * config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config/sparc/t-leon: Likewise.
- * config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove.
- * config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S.
- * config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove
- * config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S.
- * config/vax/t-linux: Remove.
- * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to
- ../libgcc/config/xtensa.
- * config/xtensa/lib1funcs.asm: Move to
- ../libgcc/config/xtensa/lib1funcs.S.
- * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
- * config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file.
- (bfin*-*): Likewise.
- (mips64*-*-linux*, mipsisa64*-*-linux*): Remove
- mips/t-libgcc-mips16 from tmake_file.
- (mips*-*-linux*): Likewise.
- (mips*-sde-elf*): Likewise.
- (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
- (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
- (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise.
- (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
- (mips-*-elf*, mipsel-*-elf*): Likewise.
- (mips64-*-elf*, mips64el-*-elf*): Likewise.
- (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
- (mips*-*-rtems*): Likewise.
- (mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
- (vax-*-linux*): Remove vax/t-linux from tmake_file.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (extra_parts): Remove.
- (*-*-freebsd*): Remove extra_parts.
- (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
- *-*-gnu*, *-*-kopensolaris*-gnu): Likewise.
- (*-*-netbsd*): Remove t-libc-ok, t-netbsd from tmake_file.
- Remove extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
- *-*-netbsdelf[2-9]*.
- (*-*-openbsd*): Remove t-libc-ok from tmake_file.
- (alpha*-*-linux*): Remove extra_parts.
- (alpha*-*-freebsd*): Likewise.
- (bfin*-linux-uclibc*): Likewise.
- (fr30-*-elf): Likewise.
- (moxie-*-elf): Likewise.
- (moxie-*-uclinux*): Likewise.
- (h8300-*-rtems*): Remove h8300/t-elf from tmake_file.
- (h8300-*-elf*): Likewise.
- (hppa*64*-*-hpux11*): Remove extra_parts.
- (i[34567]86-*-elf*): Remove i386/t-i386elf, i386/t-crtstuff from
- tmake_file.
- (x86_64-*-elf*): Likewise.
- (i[34567]86-*-freebsd*): Remove tmake_file.
- (x86_64-*-freebsd*): Likewise.
- (x86_64-*-netbsd*): Likewise.
- (i[34567]86-*-openbsd2.*, i[34567]86-*openbsd3.[0123]): Remove
- t-libc-ok from tmake_file.
- (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
- i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
- i[34567]86-*-kopensolaris*-gnu): Remove i386/t-crtstuff from
- tmake_file.
- Remove extra_parts.
- (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
- Remove i386/t-crtstuff from tmake_file.
- (i[34567]86-*-lynxos*): Likewise.
- Remove extra_parts.
- (ia64*-*-elf*): Remove extra_parts.
- (ia64*-*-freebsd*): Likewise.
- (ia64*-*-linux*): Likewise.
- (ia64-hp-*vms*): Remove ia64/t-vms from tmake_file.
- (m32r-*-elf*): Remove extra_parts.
- (m32rle-*-elf*): Likewise.
- (m32r-*-rtems*): Likewise.
- (m68k-*-elf*, fido-*-elf*): Likewise.
- (m68k*-*-openbsd*): Remove t-libc-ok from tmake_file.
- (m68k-*-rtems*): Remove extra_parts.
- (mep-*-*): Likewise.
- (microblaze*-linux*): Likewise.
- (mips64*-*-linux*, mipsisa64*-*-linux*): Likewise.
- (mips*-*-linux*): Likewise.
- (powerpc-*-lynxos*): Likewise.
- (s390x-ibm-tpf*): Likewise.
- (score-*-elf): Likewise.
- Remove tmake_file.
- (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*, sh[2346lbe]*-*-linux*,
- sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*, sh5l*-*-netbsd*,
- sh64-*-netbsd*, sh64l*-*-netbsd*): Remove sh/t-elf from tmake_file.
- Remove sh/t-superh from tmake_file for sh*-superh-elf.
- Remove sh/t-linux64 from tmake_file for sh64*-*-linux*.
- (sh-*-rtems*): Remove sh/t-elf from tmake_file.
- (sh-wrs-vxworks): Likewise.
- (sparc-*-linux*): Remove extra_parts.
- (sparc64-*-linux*): Likewise.
- (sparc64-*-freebsd*, ultrasparc-*-freebsd*): Likewise.
- (xstormy16-*-elf): Likewise.
- (xtensa*-*-linux*): Remove xtensa/t-linux from tmake_file.
- (am33_2.0-*-linux*): Remove extra_parts.
- * configure.ac (extra_parts): Don't substitute.
- * configure: Regenerate.
- * crtstuff.c: Move to ../libgcc.
- * Makefile.in (CRTSTUFF_CFLAGS): Remove.
- (EXTRA_PARTS): Remove.
- (CRTSTUFF_T_CFLAGS): Remove.
- (MOSTLYCLEANFILES): Remove $(EXTRA_PARTS).
- (GCC_EXTRA_PARTS): Remove.
- (libgcc.mvars): Remove GCC_EXTRA_PARTS, CRTSTUFF_CFLAGS,
- CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S.
- Emit GCC_CFLAGS, INHIBIT_LIBC_CFLAGS.
- ($(T)crtbegin.o, $(T)crtend.o, $(T)crtbeginS.o, $(T)crtendS.o)
- ($(T)crtbeginT.o): Remove.
- * config/alpha/t-vms (EXTRA_PARTS): Remove.
- ($(T)vms-dwarf2.o, $(T)vms-dwarf2eh.o): Remove.
- * config/alpha/vms-dwarf2.asm: Move to
- ../libgcc/config/alpha/vms-dwarf2.S.
- * config/alpha/vms-dwarf2eh.asm: Move to
- ../libgcc/config/alpha/vms-dwarf2eh.S.
- * config/arm/crti.asm: Move to ../libgcc/config/arm/crti.S.
- * config/arm/crtn.asm: Move to ../libgcc/config/arm/crtn.S.
- * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- * config/arm/t-linux: Remove comment.
- * config/arm/t-linux-eabi (EXTRA_MULTILIB_PARTS): Remove.
- * config/arm/t-strongarm-elf (EXTRA_MULTILIB_PARTS): Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- * config/arm/t-symbian (EXTRA_MULTILIB_PARTS): Remove.
- * config/bfin/crti.s: Move to ../libgcc/config/bfin/crti.S.
- * config/bfin/crtn.s: Move to ../libgcc/config/bfin/crtn.S.
- * config/bfin/crtlibid.s: Move to ../libgcc/config/bfin/crtlibid.S.
- * config/bfin/t-bfin (EXTRA_PARTS): Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- * config/bfin/t-bfin-elf (CRTSTUFF_T_CFLAGS): Remove.
- ($(T)crti.o, $(T)crtn.o, $(T)crtlibid.o): Remove
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/bfin/t-bfin-linux (CRTSTUFF_T_CFLAGS,
- EXTRA_MULTILIB_PARTS): Remove.
- * config/bfin/t-bfin-uclinux (CRTSTUFF_T_CFLAGS): Remove.
- ($(T)crtlibid.o): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/c6x/crti.s: Move to ../libgcc/config/c6x/crti.S.
- * config/c6x/crtn.s: Move to ../libgcc/config/c6x/crtn.S.
- * config/c6x/t-c6x-elf ($(T)crti.o, $(T)crtn.o): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
- * config/c6x/t-c6x-uclinux (CRTSTUFF_T_CFLAGS,
- CRTSTUFF_T_CFLAGS_S): Remove.
- * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Remove.
- * config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/fr30/crti.asm: Move to ../libgcc/config/fr30/crti.S.
- * config/fr30/crtn.asm: Move to ../libgcc/config/fr30/crtn.S.
- * config/fr30/t-fr30 ($(T)crti.o, $(T)crtn.o): Remove.
- * config/frv/frvbegin.c, config/frv/frvend.c: Move to
- ../libgcc/config/frv.
- * config/frv/t-frv (EXTRA_MULTILIB_PARTS): Remove.
- (FRVSTUFF_CFLAGS, $(T)frvbegin$(objext), $(T)frvend$(objext)): Remove.
- * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove.
- (CRTSTUFF_T_CFLAGS): Remove.
- * config/h8300/crti.asm: Move to ../libgcc/config/h8300/crti.S.
- * config/h8300/crtn.asm: Move to ../libgcc/config/h8300/crtn.S.
- * config/h8300/t-elf: Remove.
- * config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
- Move to ../libgcc/config/i386.
- * config/i386/t-crtstuff: Remove.
- * config/i386/t-i386elf: Remove.
- * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
- * config/i386/t-nto (CRTSTUFF_T_CFLAGS, EXTRA_PARTS): Remove.
- * config/ia64/crtbegin.asm: Move to ../libgcc/config/ia64/crtbegin.S.
- * config/ia64/crtend.asm: Move to ../libgcc/config/ia64/crtend.S.
- * config/ia64/crti.asm: Move to ../libgcc/config/ia64/crti.S.
- * config/ia64/crtn.asm: Move to ../libgcc/config/ia64/crtn.S.
- * config/ia64/t-vms: Remove.
- * config/ia64/vms-crtinit.asm: Move to
- ../libgcc/config/ia64/vms-crtinit.S.
- * config/m32c/t-m32c (EXTRA_MULTILIB_PARTS): Remove.
- * config/m32r/initfini.c: Move to ../libgcc/config/m32r.
- * config/m32r/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/m32r/t-m32r (CRTSTUFF_T_CFLAGS): Remove.
- ($(T)crtinit.o, $(T)crtfini.o): Remove.
- (m32rx, m32r2): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/m68k/crti.s: Move to ../libgcc/config/m68k/crti.S.
- * config/m68k/crtn.s: Move to ../libgcc/config/m68k/crtn.S.
- * config/m68k/t-crtstuff: Remove.
- * config/m68k/t-linux (EXTRA_MULTILIB_PARTS): Remove.
- * config/m68k/t-m68kelf: Remove.
- * config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Remove.
- * config/mcore/crti.asm: Move to ../libgcc/config/mcore/crti.S.
- * config/mcore/crtn.asm: Move to ../libgcc/config/mcore/crtn.S.
- * config/mcore/t-mcore ($(T)crti.o, $(T)crtn.o): Remove.
- (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
- * config/mep/t-mep (CRTSTUFF_CFLAGS): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/microblaze/crti.s: Move to ../libgcc/config/microblaze/crti.S.
- * config/microblaze/crtn.s: Move to ../libgcc/config/microblaze/crtn.S.
- * config/microblaze/t-microblaze (EXTRA_MULTILIB_PARTS,
- EXTRA_PARTS): Remove.
- ($(T)crti$(objext), $(T)crtn$(objext)): Remove.
- * config/mips/crti.asm: Move to ../libgcc/config/mips/crti.S.
- * config/mips/crtn.asm: Move to ../libgcc/config/mips/crtn.S.
- * config/mips/t-elf (CRTSTUFF_T_CFLAGS): Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/mips/t-isa3264: Likewise.
- * config/mips/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
- * config/mips/t-r3900 (EXTRA_MULTILIB_PARTS): Remove.
- (CRTSTUFF_T_CFLAGS): Remove.
- * config/mips/t-sde (CRTSTUFF_T_CFLAGS): Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/mips/t-sr71k (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS):
- Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- * config/mips/t-st (EXTRA_MULTILIB_PARTS): Remove.
- * config/mips/t-vr (CRTSTUFF_T_CFLAGS): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- ($(T)crti.o, $(T)crtn.o): Remove.
- * config/mmix/crti.asm: Move to ../libgcc/config/crti.S.
- * config/mmix/crtn.asm: Move to ../libgcc/config/crtn.S.
- * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Remove.
- * config/moxie/crti.asm, config/moxie/crtn.asm: Remove.
- * config/pa/stublib.c: Move to libgcc/config/pa.
- * config/pa/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/pa/t-linux64 (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS, stublib.c): Remove.
- (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
- (pthread_mutex_unlock-stub.o, pthread_once-stub.o)
- ($(T)libgcc_stub.a): Remove.
- * config/pa/t-pa64 (LIBGCCSTUB_OBJS, stublib.c): Remove.
- (rfi-stub.o, dfi-stub.o, cxaf-stub.o, jvrc-stub.o)
- (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
- (pthread_mutex_unlock-stub.o, pthread_once-stub.o)
- ($(T)libgcc_stub.a): Remove.
- * config/rs6000/eabi-cn.asm: Move to
- ../../../libgcc/config/rs6000/eabi-cn.S.
- * config/rs6000/eabi-ci.asm: Move to
- ../../../libgcc/config/rs6000/eabi-ci.S.
- * config/rs6000/sol-ci.asm: Move to
- ../../../libgcc/config/rs6000/sol-ci.S.
- * config/rs6000/sol-cn.asm: Move to
- ../../../libgcc/config/rs6000/sol-cn.S.
- * config/rs6000/t-lynx (EXTRA_MULTILIB_PARTS): Remove.
- (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
- * config/rs6000/t-netbsd (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
- Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Remove.
- (ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
- ($(T)ecrti$(objext), $(T)ecrtn$(objext), $(T)ncrti$(objext),
- ($(T)ncrtn$(objext)): Remove.
- (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
- * config/rs6000/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
- * config/rx/t-rx (EXTRA_MULTILIB_PARTS): Remove.
- * config/score/crti.asm: Move to ../libgcc/config/score/crti.S.
- * config/score/crtn.asm: Move to ../libgcc/config/score/crtn.S.
- * config/score/t-score-elf: Remove.
- * config/sh/crt1.asm: Move to ../libgcc/config/sh/crt1.S.
- * config/sh/crti.asm: Move to ../libgcc/config/sh/crti.S.
- * config/sh/crtn.asm: Move to ../libgcc/config/sh/crtn.S.
- * config/sh/lib1funcs-4-300.asm: Move to
- ../../../libgcc/config/sh/lib1funcs-4-300.S.
- * config/sh/lib1funcs-Os-4-200.asm: Move to
- ../libgcc/config/sh/lib1funcs-Os-4-200.S.
- * config/sh/t-elf: Remove.
- * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Remove.
- * config/sh/t-linux64: Remove.
- * config/sh/t-netbsd (EXTRA_MULTILIB_PARTS): Remove.
- * config/sh/t-sh ($(T)crt1.o, $(T)crti.o, $(T)crtn.o): Remove.
- (IC_EXTRA_PARTS, OPT_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
- ($(T)ic_invalidate_array_4-100.o)
- ($(T)libic_invalidate_array_4-100.a)
- ($(T)ic_invalidate_array_4-200.o)
- ($(T)libic_invalidate_array_4-200.a, $(T)ic_invalidate_array_4a.o)
- ($(T)libic_invalidate_array_4a.a, $(T)sdivsi3_i4i-Os-4-200.o)
- ($(T)udivsi3_i4i-Os-4-200.o, $(T)unwind-dw2-Os-4-200.o)
- ($(T)libgcc-Os-4-200.a, $(T)div_table-4-300.o)
- ($(T)libgcc-4-300.a): Remove.
- * config/sh/t-superh: Remove.
- * config/sh/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
- * config/sparc/t-linux64 (CRTSTUFF_T_CFLAGS): Remove.
- * config/spu/cache.S: Move to ../libgcc/config/spu.
- * config/spu/cachemgr.c: Move to ../libgcc/config/spu.
- * config/spu/t-spu-elf (CRTSTUFF_T_CFLAGS): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- ($(T)cachemgr.o, $(T)cachemgr_nonatomic.o, $(T)libgcc_%.a): Remove.
- ($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache32k.o)
- ($(T)cache64k.o, $(T)cache128k.o): Remove.
- * config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/t-libc-ok: Remove.
- * config/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/t-lynx (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/t-netbsd: Remove.
- * config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Remove.
- * config/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
- * config/vms/t-vms (VMS_EXTRA_PARTS): Remove.
- ($(T)vcrt0.o, $(T)pcrt0.o): Remove.
- * config/vms/vms-ucrt0.c: Move to ../libgcc/config/vms.
- * config/xtensa/crti.asm: Move to ../libgcc/config/xtensa/crti.S.
- * config/xtensa/crtn.asm: Move to ../libgcc/config/xtensa/crtn.S.
- * config/xtensa/t-elf (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
- (EXTRA_MULTILIB_PARTS): Remove.
- * config/xtensa/t-linux: Remove.
- * config/xtensa/t-xtensa ($(T)crti.o, $(T)crtn.o): Remove.
-
-2011-11-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_CVTTPD2DQ256]: Use
- CODE_FOR_fix_truncv4dfv4si2, not CODE_FOR_fix_truncv4sfv4si2.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR translation/45116
- * Makefile.in (slibdir): Remove, don't export.
- (SHLIB_NM_FLAGS): Remove.
- (libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL,
- SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS,
- SHLIB_MAPFILES, SHLIB_NM_FLAGS.
- (DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK.
- (gcc.o): Pass SHLIB instead of SHLIB_LINK.
- (gccspec.o): Likewise.
- (installdirs): Don't create $(DESTDIR)$(slibdir).
- * configure.ac (slibdir): Remove.
- * configure: Regenerate.
- * libgcc-libsystem.ver: Move to ../libgcc/config.
- * mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc.
- * config/libgcc-glibc.ver: Move to ../libgcc/config.
- * config/t-libunwind (SHLIB_LC): Remove.
- * config/t-linux (SHLIB_MAPFILES): Remove.
- * config/t-slibgcc-dummy: Rename to config/t-slibgcc.
- * config/t-slibgcc-elf-ver: Remove.
- * config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to
- ../libgcc/config.
- * config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move
- to ../libgcc/config/alpha.
- * config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
- SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC,
- SHLIB_SYMVECX2, SHLIB_LINK): Remove.
- * config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm.
- * config/arm/t-bpabi (SHLIB_MAPFILES): Remove.
- * config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME,
- SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove.
- * config/arm/t-symbian (SHLIB_LC): Remove.
- * config/bfin/libgcc-bfin.ver: Move to
- ../libgcc/config/bfin/libgcc-glibc.ver.
- * config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove.
- * config/c6x/libgcc-c6xeabi.ver: Move to
- ../libgcc/config/c6x/libgcc-eabi.ver.
- * config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove.
- * config/cris/libgcc.ver: Move to
- ../libgcc/config/cris/libgcc-glibc.ver.
- * config/cris/t-linux (SHLIB_MAPFILES): Remove.
- * config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv.
- * config/frv/t-linux (SHLIB_MAPFILES): Remove.
- * config/i386/darwin-libgcc.10.4.ver: Move to
- ../libgcc/config/i386/libgcc-darwin.10.4.ver.
- * config/i386/darwin-libgcc.10.5.ver: Move to
- ../libgcc/config/i386/libgcc-darwin.10.5.ver.
- * config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386.
- * config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION,
- SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL)
- SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK,
- SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES): Remove.
- * config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION,
- SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove.
- * config/i386/t-dlldir, config/i386/t-dlldir-x: Move to
- ../libgcc/config/i386.
- * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to
- ../libgcc/config/i386.
- * config/i386/t-linux: Move to ../libgcc/config/i386.
- * config/i386/t-mingw-pthread: Move to ../libgcc/config/i386.
- * config/i386/t-mingw-w32 (SHLIB_LC): Remove.
- * config/i386/t-mingw-w64: Likewise.
- * config/i386/t-mingw32: Remove.
- * config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move
- to ../libgcc/config/ia64.
- * config/ia64/t-glibc: Remove.
- * config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove.
- * config/ia64/t-ia64 (SHLIB_MAPFILES): Remove.
- * config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
- SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove.
- * config/ia64/vms_symvec_libgcc_s.opt: Remove.
- * config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r.
- * config/m32r/t-linux (SHLIB_MAPFILES): Remove.
- * config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k.
- * config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove.
- * config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux.
- * config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver:
- Move to ../libgcc/config/pa.
- * config/rs6000/darwin-libgcc.10.4.ver: Move to
- ../libgcc/config/rs6000/libgcc-darwin.10.4.ver.
- * config/rs6000/darwin-libgcc.10.5.ver: Move to
- ../libgcc/config/rs6000/libgcc-darwin.10.5.ver.
- * config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL,
- SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove.
- * config/rs6000/t-aix52: Likewise.
- * config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to
- ../libgcc/config/sh.
- * config/sparc/libgcc-sparc-glibc.ver: Move to
- ../libgcc/config/sparc/libgcc-glibc.ver.
- * config/sparc/t-linux: Move to ../libgcc/config/sparc.
- * config/xtensa/t-linux (SHLIB_MAPFILES): Remove.
- * config/xtensa/libgcc-xtensa.ver: Move to
- ../libgcc/config/xtensa/libgcc-glibc.ver.
- * config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with
- t-slibgcc in tmake_file.
- Remove t-slibgcc-nolc-override for *-*-freebsd[34],
- *-*-freebsd[34].* with pthreads.
- (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu,
- *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace
- t-slibgcc-elf-ver with t-slibgcc in tmake_file.
- (*-*-netbsd*): Likewise.
- (*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file.
- (*-*-*vms*): Add t-slibgcc to tmake_file.
- (alpha*-*-linux*): Remove alpha/t-linux from tmake_file.
- (alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in
- tmake_file.
- (arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
- arm*-*-linux-*eabi.
- (bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
- tmake_file.
- (crisv32-*-linux*, cris-*-linux*): Likewise.
- (hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
- pa/t-slibgcc-dwarf-ver from tmake_file.
- (hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in
- tmake_file.
- Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file.
- (hppa*64*-*-hpux11*): Likewise.
- (hppa[12]*-*-hpux11*): Likewise.
- (i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in
- tmake_file.
- (x86_64-*-darwin*): Likewise.
- (i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file.
- Add t-slibgcc to tmake_file.
- (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
- Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*,
- i[34567]86-w64-*.
- Remove i386/t-mingw-pthread from tmake_file.
- (ia64*-*-linux*): Remove ia64/t-glibc from tmake_file.
- (ia64*-*-hpux*): Add t-slibgcc to tmake_file.
- (ia64-hp-*vms*): Likewise.
- (m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in
- tmake_file.
- (m32rle-*-linux*): Likewise.
- (m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file.
- (microblaze*-linux*): Remove t-slibgcc-elf-ver,
- t-slibgcc-nolc-override from tmake_file.
- (mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in
- tmake_file.
- (powerpc-*-darwin*): Likewise.
- (powerpc64-*-darwin*): Likewise.
- (powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file.
- (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
- (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
- t-slibgcc to tmake_file.
- (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
- (rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise.
- (rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise.
- (rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise.
- (sparc-*-linux*): Remove sparc/t-linux from tmake_file.
- (sparc64-*-linux*): Likewise.
- (tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in
- tmake_file.
- (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu,
- x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux
- from tmake_file.
-
-2011-11-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50902
- * tree-vect-stmts.c (vectorizable_load): Properly convert
- an invariant initializer element.
-
-2010-11-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50890
- * gimple.h (gimple_fold_call): Remove.
- * gimple-fold.c (fold_stmt_1): Move all call related code to ...
- (gimple_fold_call): ... here. Make static. Update the
- cannot-inline flag on direct calls.
- * ipa-inline.c (early_inliner): Copy the cannot-inline flag
- from the statements to the edges.
-
-2011-11-01 Ian Lance Taylor <iant@google.com>
-
- * godump.c (struct macro_hash_value): Define.
- (macro_hash_hashval): New static function.
- (macro_hash_eq, macro_hash_del): New static functions.
- (go_define): Use macro_hash_value to store values in macro_hash.
- Replace an old value on a redefinition. Don't print anything to
- go_dump_file.
- (go_undef): Delete the entry from the hash table.
- (go_output_typedef): For an enum, use macro_hash_value, and don't
- print anything to go_dump_file.
- (go_print_macro): New static function.
- (go_finish): Traverse macro_hash with go_print_macro.
- (dump_go_spec_init): Update macro_hash creation for macro_hash_value.
-
-2011-11-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_code_end): Declare ATTRIBUTE_UNUSED.
-
-2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44277
- * doc/invoke.texi: Document -Wzero-as-null-pointer-constant.
-
-2011-11-01 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
-
-2011-11-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (splitters for int-float conversion): Use
- SUBREG_REG on SUBREGs in splitter constraints.
-
-2011-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New
- prototype.
- * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New
- function.
- * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Use it.
- (ssepackfltmode): New mode attr.
- (vec_pack_ufix_trunc_<mode>): New expander.
-
-2011-11-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50940
- * config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter):
- Compare <ssevecmode>mode to V4SFmode, not V4SImode.
-
-2011-11-01 Peter Bergner <bergner@vnet.ibm.com>
-
- * config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant.
- * config/rs6000/476.h: New file.
- * config/rs6000/476.opt: Likewise.
- * config/rs6000/rs6000.h (TARGET_LINK_STACK): New define.
- (SET_TARGET_LINK_STACK): Likewise.
- (TARGET_ASM_CODE_END): Define.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable
- TARGET_LINK_STACK for -mtune=476 and -mtune=476fp.
- (rs6000_legitimize_tls_address): Emit the link stack preserving GOT
- code if TARGET_LINK_STACK.
- (rs6000_emit_load_toc_table): Likewise.
- (output_function_profiler): Likewise
- (macho_branch_islands): Likewise
- (machopic_output_stub): Likewise
- (get_ppc476_thunk_name): New function.
- (rs6000_code_end): Likewise.
- * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
- Convert to a define_expand.
- (load_toc_v4_PIC_1_normal): New define_insn.
- (load_toc_v4_PIC_1_476): Likewise.
- (load_toc_v4_PIC_1b_normal): Likewise.
- (load_toc_v4_PIC_1b_476): Likewise.
-
-2011-11-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50910
- * config/avr/avr.opt (-mbranch-cost=): New option.
- * config/avr/avr.h (BRANCH_COST): Define to avr_branch_cost.
- * config/avr/avr.c (avr_rtx_costs_1): Adjust [U]DIV/[U]MOD costs.
- * config/avr/avr.md (*addqi3.lt0, *addhi3.lt0, *addsi3.lt0): New insns.
- (*addhi3_zero_extend1): Remove % in constraint of operand 1.
- (*addhi3.sign_extend1, *subhi3.sign_extend2): New insns.
-
-2011-11-01 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50908
- * tree-ssa-tail-merge.c (update_vuses): Now that edges are removed
- before update_vuses, test for 1 predecessor rather than two.
- (delete_block_update_dominator_info): New function, part of it factored
- out of ...
- (replace_block_by): Use delete_block_update_dominator_info. Call
- update_vuses after deleting bb1 and updating dominator info, instead of
- before.
-
-2011-11-01 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (vector_init_faligndata): New function.
- (sparc_expand_vector_init): Use it for V4HImode on VIS1.
-
- * config/sparc/sparc.c (sparc_expand_vcond): New function.
- * config/sparc/sparc-protos.h (sparc_expand_vcond): Declare it.
- * config/sparc/sparc.md (vcond<mode><mode>): New VIS3 expander.
- (vconduv8qiv8qi): Likewise.
-
-2011-11-01 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/50869
- * cselib.c (cfa_base_preserved_regno): Initialize.
- (cselib_expand_value_rtx_1): Don't expand it.
- * var-tracking.c (vt_expand_var_loc_chain): Initialize depth.
- Check it's only zero if result is NULL.
-
-2011-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
- expander.
-
- * config/i386/sse.md (sseintvecmode): Remove duplicate modes.
- (sseintvecmodelower): New mode iterator.
- (floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
- (float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
- (floatunsv4siv4sf2): Macroize into...
- (floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.
-
-2011-10-31 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (cmask patterns): Allow zero operand.
-
- * dwarf2out.c (cached_next_real_insn): New.
- (dwarf2out_end_epilogue): Set it to NULL_RTX.
- (dwarf2out_var_location): Remove cached_next_real_insn local static.
-
-2011-10-31 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256.
- (floatv4siv4sf2): Rename from sse2_cvtdq2ps.
- (floatunsv4siv4sf2): Rename from sse2_cvtudq2ps.
- (fix_truncv8sfv8si2): Rename from avx_cvttps2dq256.
- (fix_truncv4sfv4si2): Rename from sse2_cvttps2dq.
- (floatv4siv4df2): Rename from avx_cvtdq2pd256.
- (fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256.
- (vec_unpacku_float_hi_v8si): Update for insn pattern name changes.
- * config/i386/i386.md (splitters for int-float conversion): Likewise.
- * config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise.
- (bdesc_args): Likewise.
- (enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove.
- (ix86_vectorize_builtin_conversion): Remove.
- (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
-
-2011-10-31 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (mark_modified): Moved up in the file.
- (is_parm_modified_before_call): Renamed to
- is_parm_modified_before_stmt, moved up in the file.
- (load_from_unmodified_param): New function.
- (compute_complex_assign_jump_func): Also attempt to create pass
- through jump functions for values loaded from (addressable)
- parameters.
-
-2011-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def
- in a loop and has different type from op0, cast it to op0's type
- before the loop first. For slp give up. Don't crash if op1_vectype
- is NULL.
-
-2011-10-31 Paul Brook <paul@codesourcery.com>
-
- * cgraphunit.c: Don't mark clones as static constructors.
-
-2011-10-31 David Edelsohn <dje.gcc@gmail.com>
-
- * gcc-ar: Do not include stdio.h.
-
-2011-10-31 Diego Novillo <dnovillo@google.com>
-
- * tree-streamer-out.c (pack_ts_base_value_fields): Emit
- TYPE_ADDR_SPACE.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Read
- TYPE_ADDR_SPACE.
-
-2011-10-30 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (vector_init_bshuffle): New function.
- (vector_init_fpmerge): New function.
- (sparc_expand_vector_init): Use them to improve non-const cases.
-
- * dwarf2out.c (dwarf2out_var_location): When processing several
- consecutive location notes, cache the result of next_real_insn().
-
-2011-10-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from
- avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
- (vec_dupv4sf): Remove expander.
- (vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx.
- (vec_dupv2df): Remove expander.
- (vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3.
- (*vec_concatv2df): Merge *vec_concatv2df_sse3.
- (*vec_dupv4si): Merge *vec_dupv4si_avx.
- (*vec_dupv2di): Merge *vec_dupv2di_sse3.
-
-2011-10-30 Dmitry Plotnikov <dplotnikov@ispras.ru>
-
- * tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
- * optabs.c (supportable_convert_operation): New function.
- * optabs.h (supportable_convert_operation): New prototype.
- * tree-vect-stmts.c (vectorizable_conversion): Change condition and
- behavior for NONE modifier case.
- * tree.h (VECTOR_INTEGER_TYPE_P): New macro.
-
-2011-10-30 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
- * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
- function.
- (vect_vect_recog_func_ptrs): Add it.
-
-2011-10-30 David S. Miller <davem@davemloft.net>
-
- * reorg.c (label_before_next_insn): New function.
- (relax_delay_slots): Use it instead of prev_label.
- * rtl.h (prev_label): Delete declaration.
- * emit-rtl.c (prev_label): Remove.
-
-2011-10-30 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (generate_prolog_epilog): Mark prolog and epilog
- as BB_DISABLE_SCHEDULE.
- (mark_loop_unsched): New function.
- (sms_schedule): Call it.
-
-2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/50617
- * config/pa/protos.h (attr_length_save_restore_dltp): Delete.
- (cmpib_comparison_operator): Likewise.
- (following_cal, output_and, output_ior, output_move_double,
- output_fp_move_double, output_block_move, output_block_clear,
- output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra,
- output_movb, output_parallel_movb, output_parallel_addb, output_call,
- output_indirect_call, output_millicode_call, output_mul_insn,
- output_div_insn, output_mod_insn, singlemove_string,
- output_arg_descriptor, output_global_address, print_operand,
- legitimize_pic_address, hppa_encode_label, symbolic_expression_p,
- fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence,
- emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay,
- hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call,
- attr_length_indirect_call, return_addr_rtx, function_arg_padding,
- insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p,
- output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move,
- hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p,
- compute_zdepdi_operands, output_64bit_and, output_64bit_ior,
- reloc_needed, magic_milli, shadd_constant_p): Consistently prefix
- exported functions and variables with "pa_".
- * config/pa/predicates.md: Likewise.
- * config/pa/pa64-hpux.h: likewise.
- * config/pa/som.h: Likewise.
- * config/pa/elf.h: Likewise.
- * config/pa/pa64-linux.h: Likewise.
- * config/pa/pa.md: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pa/pa-linux.h: Likewise.
- * config/pa/pa.h: Likewise.
- * config/pa/constraints.md: Likewise.
-
-2011-10-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
- Update all uses.
- (xop_shl<mode>3): Rename from xop_lshl<mode>3. Update all uses.
- * config/i386/i386.c: Update all uses.
-
-2011-10-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (lshlv16qi3): Remove expander.
- (lshrv16qi3): New expander.
- (<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
- using any_shiftrt code iterator. Cleanup.
- (ashlv16qi3): Cleanup.
- (ashrv2di3): Ditto.
-
-2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/50691
- * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol
- references.
- (pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
- and TLS_MODEL_LOCAL_DYNAMIC symbol references.
-
-2011-10-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50887
- * config/avr/avr.opt (-maccumulate-args): New option.
- * config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to
- avr_starting_frame_offset.
- (ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args.
- * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove.
- (UNSPECV_WRITE_SP_IRQ_OFF): Remove.
- (UNSPECV_WRITE_SP): New constant.
- (*addhi3_sp_R): Rewrite to...
- (*addhi3_sp): ...this new insn.
- (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to...
- (movhi_sp_r): ...this new insn.
- * config/avr/avr-protos.h (avr_accumulate_outgoing_args): New.
- (avr_starting_frame_offset): New.
- * config/avr/avr.c (avr_accumulate_outgoing_args): New function.
- (avr_starting_frame_offset): New function.
- (avr_outgoing_args_size): New static function.
- (avr_initial_elimination_offset): Use it.
- (avr_simple_epilogue): Use it.
- (avr_asm_function_end_prologue): Use it.
- (expand_epilogue): Use it.
- (expand_prologue): Use it. Break out code to...
- (avr_prologue_setup_frame): ...this new static function.
- (avr_can_eliminate): Allow eliminating to frame pointer if there
- is one.
- (avr_frame_pointer_required_p): Use frame pointer if target has a
- nonlocal label.
- * config/avr/constraints.md (R): Remove.
- (Csp): New constraint.
- * config/avr/predicates.md (avr_sp_immediate_operand): Use it.
-
-2011-10-29 Andi Kleen <ak@linux.intel.com>
-
- * gcc-ar.c (target_machine): Add.
-
-2011-10-29 Anatoly Sokolov <aesok@post.ru>
-
- * config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
- cris_constant_index_p, cris_base_p, cris_index_p,
- cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p,
- cris_legitimate_address_p): New functions.
- (TARGET_LEGITIMATE_ADDRESS_P): Define.
- (cris_pic_symbol_type, cris_valid_pic_const): Change arguments type
- from rtx to const_rtx.
- (cris_print_operand_address, cris_address_cost,
- cris_side_effect_mode_ok): Use
- cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
- cris_biap_index_p and cris_bdap_index_p.
- * config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P,
- BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
- REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
- (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use
- cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
- cris_biap_index_p and cris_bdap_index_p.
- * config/cris/cris.md (moversideqi movemsideqi peephole2): Use
- cris_base_p.
- * config/cris/cris-protos.h (cris_constant_index_p, cris_base_p,
- cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New
- prototype.
- (cris_pic_symbol_type, cris_valid_pic_const): Update prototype.
-
-2011-10-21 Andi Kleen <ak@linux.intel.com>
-
- * ggc-page (PAGE_ALIGN): Add.
- (alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read):
- Replace ROUND_UP with PAGE_ALIGN.
-
-2011-10-20 Andi Kleen <ak@linux.intel.com>
-
- * ggc-page (alloc_anon): Add check argument.
- (alloc_page): Add fallback to 1 page allocation.
- Adjust alloc_anon calls to new argument.
-
-2011-10-18 Andi Kleen <ak@linux.intel.com>
-
- * ggc-page (release_pages): First free large continuous
- chunks in the madvise path.
-
-2011-10-18 Andi Kleen <ak@linux.intel.com>
-
- * ggc-page.c (alloc_pages): Always round up entry_size.
-
-2011-10-19 Andi Kleen <ak@linux.intel.com>
-
- * Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib.
- (native): Add gcc-ar, gcc-nm, gcc-ranlib.
- (AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o,
- gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add.
- (install): Depend on install-gcc-ar.
- (install-gcc-ar): Add.
- (uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib.
- * gcc-ar.c: Add new file.
-
-2011-10-28 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
- * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use vecdouble
- type for V2DF.
- (VStype_div): Use vector types for V2DF/V4SF.
- (VStype_sqrt): Use *sqrt types.
- (VS_spdp_type): Change type to vecdouble.
- (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws,
- vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds,
- vsx_xvcvspuxds): Likewise.
- (*vsx_fms<mode>4): Set type via <VStype_mul>.
- (*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type via
- <VStype_simple>.
- * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe.
- (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt,
- power7-dsqrt): Correct insn latency.
- (power7-vecsimple): Add veccmp type and correct dispatch/VSU values.
- (power7-veccmp): Delete.
- (power7-vecfloat): Correct latency/dispatch/VSU values.
- (define_bypass "power7-vecfloat"): Correct latency and types.
- (power7-veccomplex, power7-vecperm): Correct dispatch/VSU values.
- (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New.
-
-2011-10-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (shift_insn): Rename code attribute from
- shiftrt_insn. Also handle ashift RTX.
- (shift): Rename code attribute from shiftrt. Also handle ashift RTX.
- (vshift): New code attribute.
- (<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
- (any_lshift): Move and rename code iterator from ...
- * config/i386/sse.md (lshift): ... here.
- (lshift_insn): Remove code attribute.
- (lshift): Remove code attribute.
- (vlshr<mode>3): Use lshiftrt RTX.
- (vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX.
- (vashl<mode>3, ashlv16qi3): Use ashift RTX.
- (avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>. Use
- any_lshift code iterator. Update asm template.
- (<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3
- usign any_lshift code iterator.
- * config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from
- mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator.
- * config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.
-
-2011-10-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49313
- * config/avr/avr.md (parityhi2): Expand allowing pseudos.
- (*parityhi2): New pre-reload insn-and-split to map 16-bit parity
- to the libgcc insn.
- (*parityqihi2): Same for 8-bit parity.
-
-2011-10-28 Julian Brown <julian@codesourcery.com>
-
- PR rtl-optimization/47918
- * reload1.c (set_initial_label_offsets): Use initial offsets
- for labels on the nonlocal_goto_handler_labels chain.
-
-2011-10-28 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
- Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
- (LIB2FUNCS_EXTRA): Add darwin-gpsave.asm.
- (TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
- config/t-darwin.
- * config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
- (GP_SAVE_INLINE): Likewise.
- (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
- RESTORE_FP_SUFFIX): Set to empty strings.
- * config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
- (debug_stack_info): Print savres_strategy.
- (rs6000_savres_routine_name): Implement for Darwin.
- (rs6000_make_savres_rtx): Adjust used register for Darwin.
- (rs6000_emit_prologue): Implement out-of-line saves for Darwin.
- (rs6000_output_function_prologue): Don't emit .extern for Mach-O.
- (rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
- * config/rs6000/darwin-gpsave.asm: New file.
-
-2011-10-28 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (VI4SD_AVX2): Removed.
- (VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
- (vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
- Add another expander using VI48_128 iterator for
- TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
- for TARGET_AVX2.
- (vlshr<mode>3): Likewise. Change register_operand predicate to
- nonimmediate_operand on last operand in the VI12_128 expander.
- (vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
- (vashrv4si3, vashrv8si3): New expanders.
- (avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
- avx2_<lshift>vv2di): Removed.
- (avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
- (avx2_<lshift>v<mode>): Macroize using VI48_AVX2
- iterator. Simplify pattern.
-
-2010-10-28 Richard Guenther <rguenther@suse.de>
-
- PR driver/50876
- * lto-wrapper.c (get_options_from_collect_gcc_options):
- Properly count arguments.
- (run_gcc): Use an obstack to collect argv, properly separate
- switches and their arguments.
-
-2011-10-28 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
- vector mode from vectype's mode.
-
-2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR rtl-optimization/49720
- * simplify-rtx.c (simplify_relational_operation_1): Detect
- infinite recursion condition in "(eq/ne (plus x cst1) cst2)
- simplifies to (eq/ne x (cst2 - cst1))" case.
-
-2011-10-27 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (snedi_special): Only match when not VIS3.
- (*snedi_zero): Likewise.
- (*snedi_zero_trunc): Likewise.
- (snedi_special_vis3): New expander.
- (*snedi_zero_vis3): New insn.
- (*snedi_zero_trunc_vis3): Likewise.
- (*sltu_insn_vis3): Likewise.
- (*sltu_insn_vis3_trunc): Likewise.
- (addxc): Likewise.
- (*addxc_trunc_sp64_vis3): Likewise.
- * config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
- gen_snedi_special_vis3 expander, and try GTU/LTU addx based
- sequences on DImode values.
-
- * config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
- constraint.
-
- * regcprop.c (copyprop_hardreg_forward_1): Reject the
- transformation when we narrow the mode on big endian.
-
-2011-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
- vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
- (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.
-
- * config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
- overrides for -masm=intel memory.
- * config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
- sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
- sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
- sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
- (sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
- sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
- (sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.
-
-2011-10-27 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
- to parm_ainfo.
- (ipa_compute_jump_functions_for_edge): Likewise.
- (ipa_compute_jump_functions): Likewise.
- (ipa_analyze_indirect_call_uses): Likewise.
- (ipa_analyze_call_uses): Likewise.
- (ipa_analyze_params_uses): Likewise.
- (ipa_analyze_node): Likewise.
-
-2011-10-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50875
- * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
- constraints. Change alternative 1 to "x,m,1".
-
-2011-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (build/gencheck.o): Depend on tree.def and
- c-family/c-common.def.
-
- * tree-ssa-strlen.c: Include expr.h.
- (get_stridx): Don't use c_strlen, instead use string_constant
- and compute string length from it.
- * Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H).
-
-2011-10-27 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/46603
- PR bootstrap/50879
- * reload.c (push_reload): In the out case, restore previous behavior
- for subregs that don't have word mode.
-
-2011-10-27 Ian Lance Taylor <iant@google.com>
-
- * cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
- CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is not.
- (cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is
- defined.
-
-2011-10-27 Richard Henderson <rth@redhat.com>
-
- * optabs.c (expand_vec_perm): Use the correct mode for scaling the
- selector. Save the qimode constant selector for later use by the
- qimode vec_perm pattern.
-
-2011-10-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
- to unit_req_factor to the right enum type.
- (get_unit_operand_masks, reshuffle_units, try_rename_operands,
- hwloop_optimize): Remove unused variables.
-
-2010-10-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50731
- * tree-vect-generic.c (do_binop): Handle scalar operands.
-
-2011-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/37191
- * config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
- from different units in a single alternative.
-
-2011-10-26 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
- if we're comparing DImode and comparison is other than EQ or NE.
-
- * config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until
- LEU/LTU/GEU/GTU is attempted.
- * config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn
- and split.
- (*neg_seqsi_sign_extend): Likewise.
- (*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
- *neg_sgeu_extend_sp64): New insns.
-
- * config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
- * config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
- (*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
- (*mov<I:mode>_cc_reg_sp64): Likewise.
- (*movsf_cc_v9): Likewise.
- (*movsf_cc_reg_sp64): Likewise.
- (*movdf_cc_v9): Likewise.
- (*movdf_cc_reg_sp64): Likewise.
- (*movtf_cc_hq_v9): Likewise.
- (*movtf_cc_reg_hq_sp64): Likewise.
- (*movtf_cc_v9): Likewise.
- (*movtf_cc_reg_sp64): Likewise.
- * config/sparc/sparc.c (sparc_expand_conditional_move): New function.
- (sparc_print_operand): Delete 'c' and 'd' handling, no longer used.
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * reload.c (reload_inner_reg_of_subreg): Change type of return value
- and type of OUTPUT parameter to bool and adjust. Document MODE and
- OUTPUT parameters. Use HARD_REGISTER_P. Reorder final condition
- and improve associated comment.
- (push_reload): Clarify and update comments about reloading of subregs.
- Adjust calls to reload_inner_reg_of_subreg. Compute the class upfront
- for the reloading of subregs in the out case as well.
-
-2011-10-26 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/50826
- * var-tracking.c (rtx_debug_expr_p): New.
- (use_type): Don't use debug exprs to track non-VTA variables.
-
-2011-10-26 Jeff Law <law@redhat.com>
-
- * doc/invoke.texi (sink-frequency-threshold): Document.
- * tree-ssa-sink.c: Include params.h.
- (select_best_block): New function.
- (statement_sink_location): Use it.
- * params.def (SINK_FREQUENCY_THRESHOLD): New PARAM.
-
-2011-10-26 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/48108
- * config/darwin.c (top level): Amend comments concerning LTO output.
- (lto_section_num): New variable. (darwin_lto_section_e): New GTY.
- (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
- (LTO_NAMES_SECTION): Rename.
- (darwin_asm_named_section): Record LTO section counts and switches
- in a vec of darwin_lto_section_e.
- (darwin_file_start): Remove unused code.
- (darwin_file_end): Put an LTO section termination label. Handle
- output of the wrapped LTO sections, index and names table.
-
-2011-10-26 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
- declaration.
- (rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp.
- (rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx. Use
- simple_return in pattern, emit instruction, and set jump_label.
- (rs6000_emit_prologue): Update for rs6000_emit_savres_rtx. Use
- simple_return rather than return.
- (emit_cfa_restores): New function.
- (rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap.
- Add missing cfa_restores for SAVE_WORLD. Add missing LR cfa_restore
- when using out-of-line gpr restore. Add missing LR and FP regs
- cfa_restores for out-of-line fpr restore. Consolidate code setting
- up cfa_restores. Formatting. Use LR_REGNO define.
- (rs6000_output_mi_thunk): Use simple_return rather than return.
- * config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise.
- (return_internal*): Likewise.
- (any_return, return_pred, return_str): New iterators.
- (return, conditional return insns): Provide both return and
- simple_return variants.
- * config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define.
- (REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13.
- Move r11 and r0 later to suit shrink-wrapping.
-
-2011-10-26 Richard Guenther <rguenther@suse.de>
-
- * lto-wrapper.c (run_gcc): Properly init/free obstack.
-
-2011-10-26 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.md (UNSPEC_VSIBADDR): New.
- * config/i386/predicates.md (vsib_address_operand,
- vsib_mem_operator): New predicates.
- * config/i386/i386.c (ix86_print_operand_address): Handle
- UNSPEC_VSIBADDR addresses.
- * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>,
- avx2_gatherdi<mode>256): Adjust expanders to use MEM with
- UNSPEC_VSIBADDR address.
- (*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256):
- Adjust insns to use MEM with UNSPEC_VSIBADDR address.
-
-2011-10-26 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
- phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.
-
-2011-10-26 Richard Guenther <rguenther@suse.de>
-
- PR lto/41844
- * Makefile.in (lto-wrapper): Depend on and link against opts-common.o.
- (lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H).
- * lto-wrapper.c (get_options_from_collect_gcc_options): New function.
- (run_gcc): Use it. Filter out language specific options.
-
-2011-10-26 Andreas Tobler <andreast@fgznet.ch>
-
- * config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the
- 32-bit target does.
-
-2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR driver/46617
- * gcc.c (main): Fix fatal_error string for translation.
-
-2011-10-25 Ian Lance Taylor <iant@google.com>
-
- * tree-eh.c (do_return_redirection): Remove return_value_p
- parameter. Change all callers.
- (lower_try_finally_nofallthru): Remove local return_val.
- (lower_try_finally_onedest): Likewise.
- (lower_try_finally_copy): Likewise.
- (lower_try_finally_switch): Likewise.
-
-2011-10-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and
- remove "&& !TARGET_64BIT"
- (*mmx_maskmovq_rex): Removed.
-
-2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/46603
- * reload.c (push_reload): In the out case, reload the subreg as well
- as the reg if it has word mode.
-
-2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily
- suppress debug info for the parent type.
-
-2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (ia64_profile_hook): Fix thinko.
-
-2011-10-25 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove.
- (vec_extract_even<mode>, vec_extract_odd<mode>): Remove.
-
- * config/rs6000/altivec.md (vec_extract_evenv8hi,
- vec_extract_evenv16qi, vec_extract_oddv4si,
- vec_extract_oddv4sf): Remove.
-
- * config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf,
- vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si,
- vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
- vec_interleave_highv4sf, vec_interleave_lowv4sf,
- vec_interleave_highv4si, vec_interleave_lowv4si,
- vec_interleave_highv8hi, vec_interleave_lowv8hi,
- vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove.
-
- * expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop.
- [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise.
- [VEC_INTERLEAVE_LOW_EXPR]: Likewise.
- * optabs.c (expand_binop): Implement vec_interleave_high_optab,
- vec_interleave_low_optab, vec_extract_even_optab,
- vec_extract_odd_optab with expand_vec_perm.
- (can_vec_perm_for_code_p): New.
- * optabs.h: Update.
- * tree-vect-data-refs.c (vect_strided_store_supported): Allow for
- fallback via can_vec_perm_for_code_p.
- (vect_strided_load_supported): Likewise.
- * tree-vect-generic.c (expand_vector_operations_1): Never lower
- VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR,
- VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR.
-
- * target.def (vec_perm_const_ok): Change parameters to mode and
- array of indicies.
- * doc/tm.texi: Rebuild.
- * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
- parameters to mode and array of indicies.
- * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here.
- * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p.
- Change parameters to mode and array of indicies.
- (expand_vec_perm_1): Rename from expand_vec_perm_expr_1.
- (expand_vec_perm): Rename from expand_vec_perm_expr. Change
- parameters to mode and rtx inputs. Try lowering to QImode
- vec_perm_const before trying fully variable permutation.
- * optabs.h: Update decls.
- * tree-vect-generic.c (lower_vec_perm): Extract array of indices from
- VECTOR_CST to pass to can_vec_perm_p.
- * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type
- from int pointer to unsigned char pointer.
- (vect_transform_slp_perm_load): Update for change to can_vec_perm_p.
- * tree-vect-stmts.c (perm_mask_for_reverse): Likewise.
-
- * tree.def (VEC_EXTRACT_EVEN_EXPR): Fix typo in text name.
- (VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR,
- VEC_INTERLEAVE_LOW_EXPR): Likewise.
-
-2011-10-25 Mike Stump <mikestump@comcast.net>
-
- * reload.c (regno_clobbered_p): Fix typo.
-
-2011-10-25 Dodji Seketeli <dodji@redhat.com>
-
- * input.c (expand_location): Rewrite using linemap_resolve_location
- and linemap_expand_location. Add a comment.
-
-2011-10-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50596
- * tree-vect-stmts.c (vect_mark_relevant): Only use
- FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME.
- (vectorizable_store): If is_pattern_stmt_p look through
- VIEW_CONVERT_EXPR on lhs.
- * tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern):
- Use unsigned type instead of signed.
- (vect_recog_bool_pattern): Optimize also stores into bool memory in
- addition to casts from bool to integral types.
- (vect_mark_pattern_stmts): If pattern_stmt already has vinfo
- created, don't create it again.
-
-2011-10-25 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/i386.c (ix86_frame_pointer_required): Require
- frame-pointer, if setjmp is used for 32-bit ms-abi.
-
-2011-10-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * builtins.c (set_builtin_user_assembler_name): Remove extra
- newline added in October 11th, 2011 change.
-
-2011-10-24 David S. Miller <davem@davemloft.net>
-
- * config/sparc/little-endian.opt: Delete.
- * config.gcc: Remove references to config/sparc/little-endian.opt
- * doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
- * config/sparc/linux64.h: Delete references to -mlittle-endian.
- * config/sparc/netbsd-elf.h: Likewise.
- * config/sparc/openbsd64.h: Likewise.
- * config/sparc/sparc.h: Likewise.
- * config/sparc/sp64-elf.h: Likewise and delete overrides for
- BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
- * config/sparc/sparc.c (dump_target_flag_bits): Remove reference
- to MASK_LITTLE_ENDIAN.
- * config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.
-
- * config/sparc/sparc.md: Only use F, G, and C constraints in FP insns.
- Only use D, Y, and Z constraints in vector insns.
-
- * config/sparc/sparc.md (cpu_feature, enabled): New attributes.
- (*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
- called *movsi_insn.
- (*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate
- into *movdi_insn_sp32.
- (*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into
- one pattern called *movdi_insn_sp64.
- (*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu):
- Consolidate into one pattern called *movsf_insn.
- (*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3,
- *movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate
- into *movdf_insn_sp32.
- (*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3,
- *movdf_insn_sp64_no_fpu): Consolidate into one pattern called
- *movdf_insn_sp64.
- (*zero_extendsidi2_insn_sp64_novis3,
- *zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern
- called *zero_extendsidi2_insn_sp64.
- (*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3):
- Consolidate into one pattern named *sign_extendsidi2_insn.
- (*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3):
- Consolidate into one pattern named *mov<VM32:mode>_insn.
- (*mov<VM64:mode>_insn_sp64_novis3,
- *mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern
- named *mov<VM64:mode>_insn_sp64.
- (*mov<VM64:mode>_insn_sp32_novis3,
- *mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern
- named *mov<VM64:mode>_insn_sp32.
-
-2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
- (zero_length_string): Change assertion to accept strinfo without
- length but with stmt instead.
- Set the endptr pointer also if starting a new chain.
- (adjust_related_strinfos): Ignore strinfos marked for delayed
- length computation.
- (handle_builtin_strcpy): Mark earlier strinfo elements also for
- delayed length computation.
-
-2011-10-24 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50820
- Port from 4.6 branch r180379
- * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
- handling and indirect jump/calls on devices > 128k.
-
-2011-10-24 Anatoly Sokolov <aesok@post.ru>
- Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49824
- * doc/extend.texi (Declaring Attributes of Functions):
- Document OS_main and OS_task attributes.
- (Specifying Attributes of Variables): Move up
- subsection "AVR Variable Attributes" as of alphabetical order.
-
-2011-10-24 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants
- to vector element type.
- (vectorizable_assignment): Bail out for non-mode-precision operations.
- (vectorizable_shift): Likewise.
- (vectorizable_operation): Likewise.
- (vectorizable_type_demotion): Likewise.
- (vectorizable_type_promotion): Likewise.
- (vectorizable_store): Handle non-mode-precision stores.
- (vectorizable_load): Handle non-mode-precision loads.
- (get_vectype_for_scalar_type_and_size): Return a vector type
- for non-mode-precision integers.
- * tree-vect-loop.c (vectorizable_reduction): Bail out for
- non-mode-precision reductions.
-
-2011-10-24 Julian Brown <julian@codesourcery.com>
-
- * config/m68k/m68k.c (notice_update_cc): Tighten condition for
- setting CC_REVERSED for FP comparisons.
-
-2011-10-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50838
- * tree-data-ref.c (dr_analyze_indices): Properly canonicalize
- a MEM_REF base if we change it.
-
-2011-10-24 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/50836
- * rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".
-
- PR rtl-optimization/50833
- * function.c (thread_prologue_and_epilogue_insns): Expect the
- return insn optimization only if optimize.
-
-2011-10-24 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c: Break long lines.
- Define target hooks on the fly if applicable.
- (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
- overridden later.
- (targetm): Move definition to end of file.
- (avr_can_eliminate): Make static on the fly.
- (avr_frame_pointer_required_p): Ditto.
- (avr_hard_regno_scratch_ok): Ditto.
- (avr_builtin_setjmp_frame_value): Make static on the fly.
- Indent according to coding rules.
- (avr_case_values_threshold): Ditto.
- (avr_attribute_table): Move down.
-
-2011-10-24 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50730
- * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block
- analysis if encountered unsupported data-ref.
-
-2011-10-23 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
- cpu adjustment.
- * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
- append -mcpu=v9 when -mv8plus is given.
-
- * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
- between float and non-float regs when VIS3.
- * config/sparc/sparc.c (eligible_for_restore_insn): We can't
- use a restore when the source is a float register.
- (sparc_split_regreg_legitimate): When VIS3 allow moves between
- float and integer regs.
- (sparc_register_move_cost): Adjust to account for VIS3 moves.
- (sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
- integer reg to a class containing EXTRA_FP_REGS, constrain to FP_REGS.
- (sparc_secondary_reload): On 32-bit with VIS3 when moving between
- float and integer regs we sometimes need a FP_REGS class
- intermediate move to satisfy the reload. When this happens
- specify an extra cost of 2.
- (*movsi_insn): Rename to have "_novis3" suffix and add !VIS3 guard.
- (*movdi_insn_sp32_v9): Likewise.
- (*movdi_insn_sp64): Likewise.
- (*movsf_insn): Likewise.
- (*movdf_insn_sp32_v9): Likewise.
- (*movdf_insn_sp64): Likewise.
- (*zero_extendsidi2_insn_sp64): Likewise.
- (*sign_extendsidi2_insn): Likewise.
- (*movsi_insn_vis3): New insn.
- (*movdi_insn_sp32_v9_vis3): New insn.
- (*movdi_insn_sp64_vis3): New insn.
- (*movsf_insn_vis3): New insn.
- (*movdf_insn_sp32_v9_vis3): New insn.
- (*movdf_insn_sp64_vis3): New insn.
- (*zero_extendsidi2_insn_sp64_vis3): New insn.
- (*sign_extendsidi2_insn_vis3): New insn.
- (TFmode reg/reg split): Make sure both REG operands are float.
- (*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
- easy constant to integer reg alternatives.
- (*mov<VM64:mode>_insn_sp64): Likewise.
- (*mov<VM64:mode>_insn_sp32_novis3): Likewise.
- (*mov<VM32:mode>_insn_vis3): New insn.
- (*mov<VM64:mode>_insn_sp64_vis3): New insn.
- (*mov<VM64:mode>_insn_sp32_vis3): New insn.
- (VM64 reg<-->reg split): New splitter for 32-bit.
-
- * config/sparc/sparc.c (sparc_split_regreg_legitimate): New function.
- * config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
- Declare it.
- * config/sparc/sparc.md (DImode reg/reg split): Use it.
- (DFmode reg/reg split): Likewise.
-
- * config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
- generating fzero and fone instructions.
- (DImode const_int --> reg splitter): Only trigger for integer regs.
-
- * config/sparc/predicates.md (input_operand): Disallow vector
- constants other than 0 and -1.
- * config/sparc/sparc.c (sparc_preferred_reload_class): Return
- NO_REGS for vector constants other than 0 and -1.
-
- * config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
- SPARC_INT_REG_P): Define.
- (HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
- (REGNO_OK_FOR_INDEX_P): Likewise.
- * config/sparc/sparc.c (gen_df_reg): Likewise.
- (eligible_for_return_delay): Likewise.
- (eligible_for_sibcall_delay): Likewise.
- (sparc_legitimate_address_p): Likewise.
- (emit_save_or_restore_regs): Likewise.
- (registers_ok_for_ldd_peep): Likewise.
- * config/spac/sparc.md (DI mode splitters): Likewise.
- (SF mode const splitters): Likewise.
- (DF mode splitters): Likewise.
- (32-bit DI mode logical op splitters): Likewise.
-
-2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50841
- Revert:
- 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
-
-2011-10-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
- (VI248_256): Remove mode iterator.
- * config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
- instead of gen_avx2_lshlv4di3.
- (bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
- CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.
-
-2011-10-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
- (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
- (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
- pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
- *avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
- iterator. Use sseintprefix mode attribute.
- (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
- (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
- pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
- *avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
- iterator. Use sseintprefix mode attribute.
- (*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
- attributes.
- (*avx2_gatherdi<mode>): Ditto.
- (*avx2_gatherdi<mode>256): Ditto.
- (VI48_AVX2): Remove mode iterator.
- (gthrlastfp): Remove mode attribute.
-
-2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
-
-2011-10-23 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored
- out of ...
- (same_succ_flush_bbs): Use same_succ_flush_bb.
- (purge_bbs): Remove argument. Remove calls to same_succ_flush_bbs,
- release_last_vdef and delete_basic_block.
- (unlink_virtual_phi): New function.
- (update_vuses): Add and use vuse1_phi_args argument. Set var to
- SSA_NAME_VAR of vuse1 or vuse2, and use var. Handle case that
- def_stmt2 is NULL. Use phi result as phi arg in case vuse1 or vuse2
- is NULL_TREE. Replace uses of vuse1 if vuse2 is NULL_TREE. Fix code
- to limit replacement of uses. Propagate phi argument for phis with a
- single argument.
- (replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
- Set vuse1_phi_args if vuse1 is a phi defined in bb1. Add
- vuse1_phi_args as argument to call to update_vuses. Call
- release_last_vdef, same_succ_flush_bb, delete_basic_block. Update
- CDI_DOMINATORS info.
- (tail_merge_optimize): Remove argument in call to purge_bbs. Remove
- call to free_dominance_info. Only call calculate_dominance_info once.
-
-2011-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
-
- PR tree-optimization/44683
- * tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
- we can be sure that there are no signed zeros involved.
-
-2011-10-23 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (estimate_badness): Scale up and handle overflows.
-
-2011-10-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50788
- * config/i386/sse.md (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>):
- Remove (match_dup 0).
- (*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
- (*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
- (*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
- (*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
- (*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
- (*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.
-
-2011-10-23 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50819
- * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
- the last argument.
- * tree-vect-loop.c (vect_analyze_loop_2): Update call to
- vect_analyze_data_ref_dependences.
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Remove
- the last argument. Check load-after-store dependence for unknown
- dependencies in basic blocks.
- (vect_analyze_data_ref_dependences): Update call to
- vect_analyze_data_ref_dependences.
- * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix typo.
- * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies): Remove.
- (vect_slp_analyze_bb_1): Update call to
- vect_analyze_data_ref_dependences. Don't call
- vect_bb_vectorizable_with_dependencies.
-
-2011-10-22 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
- SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
- * config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
- (sparc_secondary_reload): New function.
-
- * config/sparc/sparc.h (sparc_costs): Remove extern decl.
- (struct processor_costs): Move from here..
- * config/sparc/sparc.c (struct processor_costs): To here.
- (sparc_costs): Mark static.
-
- * config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
- * config/sparc/sparc-protos.h (short_branch, reg_unused_after):
- Get rid of declarations.
-
-2011-10-21 Paul Brook <paul@codesourcery.com>
-
- * config/c6x/c6x.c (c6x_asm_emit_except_personality,
- c6x_asm_init_sections): New functions.
- (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): Define.
-
-2011-10-21 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50813
- * config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
- V4DImode and V8SImode for !TARGET_AVX2.
-
-2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/50825
- * sched-deps.c (add_dependence): If not doing predication, promote
- REG_DEP_CONTROL to REG_DEP_ANTI.
-
-2011-10-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
- instead of X to avr_legitimize_reload_address.
- * config/avr/avr-protos.h (avr_legitimize_reload_address): Change
- first argument's type from rtx to rtx*.
- * config/avr/avr.c (avr_legitimize_reload_address): Ditto.
- Pass PX to push_reload instead of &X. Change log messages for
- better distinction.
-
-2011-10-21 Roland Stigge <stigge@antcom.de>
-
- PR translation/47064
- * params.def: Fix typo "compilatoin" -> "compilation".
-
-2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/50740
- * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
- if max_level allows that.
-
-2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
-
- * reg-notes.def (DEP_CONTROL): New.
- * sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
- not doing speculation.
- * rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
- record_hard_reg_uses_1, record_hard_reg_uses): New functions.
- * function.c (record_hard_reg_sets, record_hard_reg_uses,
- record_hard_reg_uses_1): Remove; move to rtlanal.c.
- * lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
- * haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
- (MUST_RECOMPUTE_SPEC_P): New macro.
- (real_insn_for_shadow): New function.
- (cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
- toggle_cancelled_flags): New static functions.
- (schedule_insn): Relax an assert to only check for empty hard back
- dependencies. Skip cancelled dependencies. Call
- check_clobbered_conditions.
- (copy_insn_list): Remove function, renamed moved to lists.c.
- (save_backtrack_point): Use new spelling copy_INSN_LIST.
- (unschedule_insns_until): Ensure TODO_SPEC is reset properly.
- (restore_last_backtrack_point): Likewise. Call toggle_cancelled_flags.
- (estimate_insn_tick): Ignore cancelled dependencies.
- (haifa_speculate_insn): Move declaration.
- (try_ready): Move code into recompute_todo_spec and call it. Tweak
- some asserts. Ensure predicated patterns are restored if necessary.
- Dump DEP_CONTROL flag.
- (haifa_change_pattern): Merge with sched_change_pattern.
- (sched_change_pattern): Remove function.
- * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove. All
- uses changed to simply not test NON_FLUSH_JUMP_P.
- (ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
- REG_DEP_CONTROL.
- (dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
- (reg_pending_control_uses, control_dependency_cache): New static
- variables.
- (sched_get_reverse_condition_uncached): New function.
- (sd_find_dep_between): Remove pointless assert. Look in
- control_dependency_cache.
- (ask_dependency_caches, set_dependency_caches, sd_delete_dep,
- extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
- and control_dependency_cache.
- (sd_unresolve_dep): Use dep_spec_p.
- (add_dependence): Now a wrapper around add_dependence_1, handling
- REG_DEP_CONTROL specially.
- (flush_pending_lists): Clear pending_jump_insns.
- (sched_analyze_1): Handle pending_jump_insns like a memory flush.
- (sched_analyze_2): Unconditionally add to pending memory flushes,
- keep previous behaviour but apply it to pending_jump_insns instead.
- (sched_analyze_insn): Defer adding jump reg dependencies using
- reg_pending_control_uses; add them to the control_uses list. Handle
- pending_jump_insns and control_uses when adding dependence lists.
- (deps_analyze_insn): Update INSN_COND_DEPS.
- (deps_analyze_insn): Add jumps to pending_jump_insns rather than
- last_pending_memory_flush.
- (init_deps): Initialize pending_jump_insns.
- (free_deps): Free control_uses.
- (remove_from_deps): Remove from pending_jump_insns.
- (init_deps_global): Allocate reg_pending_control_uses).
- (finish_deps_global): Free it.
- (add_dependence_1): Renamed from add_dependence. Handle
- REG_DEP_CONTROL.
- * rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
- (copy_INSN_LIST, concat_INSN_LIST): Declare.
- * sched-int.h (struct deps_reg): Add control_uses.
- (struct deps_desc): Add pending_jump_insns.
- (struct _haifa_deps_insn_data): Add cond_deps.
- (struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
- (INSN_COND_DEPS, PREDICATED_PAT): New macros.
- (BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
- (DEP_CONTROL): New macro.
- (DEP_TYPES): Include it.
- (HARD_DEP): Adjust definition.
- (DEP_CANCELLED): New macro.
- (enum SCHED_FLAGS): Add DO_PREDICATION.
- (sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
- * sched-rgn.c (concat_INSN_LIST): Remove function.
- (deps_join): Handle pending_jump_insns.
- (free_pending_lists): Likewise.
- * config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
- schedule.
-
-2011-10-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50820
- * config/avr/libgcc.S (__EIND__): New define to 0x3C.
- (__tablejump__): Consistently use EIND for indirect jump/call.
- (__tablejump_elpm__): Ditto.
-
-2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.md (attr "op_pattern"): New.
- (load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
- * config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
- Likewise.
- * config/c6x/c6x-mult.md: Regenerate.
- * config/c6x/c6x.c: Include "regrename.h".
- (unit_req_table): New typedef.
- (unit_reqs): Use it for the declaration.
- (unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
- get_unit_operand_masks, try_rename_operands, reshuffle_units): New
- static functions.
- (count_unit_reqs): New arg reqs. All callers changed. Use
- get_unit_reqs, and don't merge here.
- (res_mii): New arg reqs. All callers changed. Rewrite to use a loop
- using unit_req_factor.
- (hwloop_optimize): Call reshuffle_units. Call merge_unit_reqs after
- count_unit_reqs.
- (c6x_reorg): Add reg notes problem, and call df_analyze.
- * Makefile.in ($(out_object_file)): Depend on regrename.h.
-
-2011-10-21 Kai Tietz <ktietz@redhat.com>
-
- * fold-const.c (simple_operand_p_2): Handle integral
- casts from boolean-operands.
-
-2011-10-21 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (dump_cgraph_node): Dump alias flag.
- * cgraphunit.c (handle_alias_pairs): Handle weakrefs with
- no destination.
- (get_alias_symbol): New function.
- (output_weakrefs): Output also weakrefs with no destinatoin.
- (lto_output_node): Output weakref alias flag when at function boundary.
-
-2011-10-21 Andrew Stubbs <ams@codesourcery.com>
-
- PR target/50809
- * config/arm/driver-arm.c (vendors): Make static.
-
-2011-10-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
- (ix86_emit_swsqrtsf): Force a into register.
-
-2011-10-20 Mike Stump <mikestump@comcast.net>
-
- * regcprop.c (copyprop_hardreg_forward_1): Update recog_data
- after validate_change wipes it out.
-
-2011-10-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
- before using the shufb instruction.
-
-2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/50766
- * config/i386/i386.md (bmi_bextr_<mode>): Update register/
- memory operand order.
- (bmi2_bzhi_<mode>3): Ditto.
- (bmi2_pdep_<mode>3): Ditto.
- (bmi2_pext_<mode>3): Ditto.
-
-2011-10-20 Richard Henderson <rth@redhat.com>
-
- * target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
- * optabs.c (can_vec_perm_expr_p): Update to match.
- (expand_vec_perm_expr): Likewise.
- * config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
- from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
- * doc/tm.texi.in: Likewise.
-
-2011-10-20 Sergey Ostanevich <sergos.gnu@gmail.com>
-
- PR target/50572
- * config/i386/i386.c (processor_target_table): Change Atom
- align_loops_max_skip to 15.
-
-2011-10-20 Richard Henderson <rth@redhat.com>
-
- * target.def (builtin_vec_perm): Remove.
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
-
- * config/i386/i386.c (ix86_expand_vec_perm_builtin): Remove.
- (IX86_BUILTIN_VEC_PERM_*): Remove.
- (bdesc_args): Remove vec_perm builtins
- (ix86_expand_builtin): Likewise.
- (ix86_expand_vec_perm_const_1): Rename from
- ix86_expand_vec_perm_builtin_1.
- (extract_vec_perm_cst): Merge into...
- (ix86_vectorize_vec_perm_const_ok): ... here. Rename from
- ix86_vectorize_builtin_vec_perm_ok.
- (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
-
- * config/rs6000/rs6000.c (rs6000_builtin_vec_perm): Remove.
- (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
-
- * config/spu/spu.c (spu_builtin_vec_perm): Remove.
- (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
-
-2011-10-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47989
- * config/i386/i386.h (RECIP_MASK_DEFAULT): New define.
- * config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT.
- * doc/invoke.texi (ix86 Options, -mrecip): Document that GCC
- implements vectorized single float division and vectorized sqrtf(x)
- with reciprocal sequence with additional Newton-Raphson step with
- -ffast-math.
-
-2011-10-20 Dodji Seketeli <dodji@redhat.com>
-
- * ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
- ggc_alloced_size_order_for_request into ggc_round_alloc_size like
- it was done in ggc-page.c.
-
- PR other/50659
- * doc/cppopts.texi: Use @smallexample/@end smallexample in
- documentation for -fdebug-cpp instead of @quotation/@end quotation
- that is not supported by contrib/texi2pod.pl.
-
-2011-10-19 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (inline_small_functions): Always update all calles after
- inlining.
-
-2011-10-19 Jan Hubicka <jh@suse.cz>
-
- PR bootstrap/50709
- * ipa-inline.c (inline_small_functions): Fix checking code to not make
- effect on fibheap stability.
-
-2011-10-20 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
-
-2011-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/50106
- * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
- reg size from 1-3.
-
-2011-10-20 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
- and rotates to the set of expensive operations.
-
-2011-10-19 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (sparc_expand_move): Use can_create_pseudo_p.
- (sparc_emit_set_const32): Likewise.
- (sparc_emit_set_const64_longway): Likewise.
- (sparc_emit_set_const64): Likewise.
- (sparc_legitimize_pic_address): Likewise.
- (memory_ok_for_ldd): Likewise.
-
-2011-10-20 Dehao Chen <dehao@google.com>
-
- * profile.c (compute_branch_probabilities): Compute and dump the
- overlap between the static estimation and the instrumentation profile.
- (OVERLAP_BASE): New macro.
- (compute_frequency_overlap): New function
-
-2011-10-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use
- d->op1 instead of d->op0 for the second vpshufb.
- (expand_vec_perm_even_odd_1): For V8SImode fix vpshufd immediates.
- (ix86_expand_vec_perm_const): If mask indicates two operands are
- needed, but both are the same and expanding them as d.op0 == d.op1
- failed, retry with d.op0 != d.op1.
- (ix86_expand_vec_perm_builtin): Likewise. Handle sorry printing
- also for d.nelt == 32.
-
- PR middle-end/50754
- * cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
- VEC_PERM_EXPR.
-
-2011-10-19 Bernd Schmidt <bernds@codesourcery.com>
-
- * regrename.h: New file.
- * regrename.c: Include it. Also include "emit-rtl.h".
- (struct du_head, struct du_chain, du_head_p DEF_VEC and
- DEF_VEC_ALLOC_P): Move to regrename.h.
- (do_replace): Remove declaration.
- (insn_rr): New variable.
- (cur_operand): New static variable.
- (regrename_chain_from_id): Renamed from chain_from_id and no longer
- static. All callers changed.
- (record_operand_use): New static function.
- (scan_rtx_reg): Use it.
- (find_best_rename_reg): New function, broken out of rename_chains.
- (rename_chains): Use it. Don't update chain regno and nregs here, ...
- (regrename_do_replace): ... do it here instead. Renamed from
- do_replace, and no longer static. All callers changed.
- (regrename_analyze): No longer static. New arg bb_mask.
- All callers changed. If bb_mask is nonzero, use it to limit the
- number of basic blocks we analyze. If we failed to analyze a block,
- clear insn operand data.
- (record_out_operands): New arg insn_info. Update cur_operand if it is
- nonnull.
- (build_def_use): If insn_rr is nonnull, pass an insn_info to
- record_out_operands, and update cur_operand here as well.
- (regrename_init, regrename_finish): New functions.
- (regrename_optimize): Use them.
- * Makefile.in (regrename.o): Adjust dependencies.
-
-2011-10-19 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50769
- * tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2
- unconditionally. Handle case that phi_vuse2 is not an SSA_NAME. Add
- dummy argument .MEM to phi when increasing number of arguments of phi by
- redirecting edges to the block with phi.
-
-2011-10-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/50777
- * configure.ac: Save and restore CXXFLAGS around
- gcc_AC_CHECK_DECLS uses.
- Check for madvise() declaration with g++ if --enable-build-with-cxx.
- * configure: Regenerate.
- * config.in: Regenerate.
- * ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE.
-
-2011-10-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/49310
- * var-tracking.c (loc_exp_dep, onepart_aux): New structs.
- (variable_part): Replace offset with union.
- (enum onepart_enum, onepart_enum_t): New.
- (variable_def): Drop cur_loc_changed, add onepart.
- (value_chain_def, const_value_chain): Remove.
- (VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking.
- (VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros.
- (VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise.
- (value_chain_pool, value_chains): Remove.
- (dropped_values): New.
- (struct parm_reg): Only if HAVE_window_save.
- (vt_stack_adjustments): Don't record register arguments.
- (dv_as_rtx): New.
- (dv_onepart_p): Return a onepart_enum_t.
- (onepart_pool): New.
- (dv_pool): Remove.
- (dv_from_rtx): New.
- (variable_htab_free): Release onepart aux data. Reset flags.
- (value_chain_htab_hash, value_chain_htab_eq): Remove.
- (unshare_variable): Use onepart field. Propagate onepart aux
- data or offset. Drop cur_loc_changed.
- (val_store): Cope with NULL insn. Rephrase dump output. Check
- for unsuitable locs. Add FIXME on using cselib locs.
- (val_reset): Remove FIXME of unfounded concerns.
- (val_resolve): Check for unsuitable locs. Add FIXME on using
- cselib locs.
- (variable_union): Use onepart field, adjust access to offset.
- (NO_LOC_P): New.
- (VALUE_CHANGED, DECL_CHANGED): Update doc.
- (set_dv_changed): Clear NO_LOC_P when changed.
- (find_loc_in_1pdv): Use onepart field.
- (intersect_loc_chains): Likewise.
- (unsuitable_loc): New.
- (loc_cmp): Keep ENTRY_VALUEs at the end of the loc list.
- (add_value_chain, add_value_chains): Remove.
- (add_cselib_value_chains, remove_value_chain): Likewise.
- (remove_value_chains, remove_cselib_value_chains): Likewise.
- (canonicalize_loc_order_check): Use onepart. Drop cur_loc_changed.
- (canonicalize_values_star, canonicalize_vars_star): Use onepart.
- (variable_merge_over_cur): Likewise. Adjust access to offset.
- Drop cur_loc_changed.
- (variable_merge_over_src): Use onepart field.
- (remove_duplicate_values): Likewise.
- (variable_post_merge_new_vals): Likewise.
- (find_mem_expr_in_1pdv): Likewise.
- (dataflow_set_preserve_mem_locs): Likewise. Drop cur_loc_changed
- and value chains.
- (dataflow_set_remove_mem_locs): Likewise. Use VAR_LOC_FROM.
- (variable_different_p): Use onepart field. Move onepart test out
- of the loop.
- (argument_reg_set): Drop.
- (add_uses, add_stores): Preserve but do not record in dynamic
- tables equivalences for ENTRY_VALUEs and CFA_based addresses.
- Avoid unsuitable address expressions.
- (EXPR_DEPTH): Unlimit.
- (EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH.
- (prepare_call_arguments): Use DECL_RTL_IF_SET.
- (dump_var): Adjust access to offset.
- (variable_from_dropped, recover_dropped_1paux): New.
- (variable_was_changed): Drop cur_loc_changed. Use onepart.
- Preserve onepart aux in empty_var. Recover empty_var and onepart
- aux from dropped_values.
- (find_variable_location_part): Special-case onepart. Adjust
- access to offset.
- (set_slot_part): Use onepart. Drop cur_loc_changed. Adjust
- access to offset. Initialize onepaux. Drop value chains.
- (delete_slot_part): Drop value chains. Use VAR_LOC_FROM.
- (VEC (variable, heap), VEC (rtx, stack)): Define.
- (expand_loc_callback_data): Drop dummy, cur_loc_changed,
- ignore_cur_loc. Add expanding, pending, depth.
- (loc_exp_dep_alloc, loc_exp_dep_clear): New.
- (loc_exp_dep_insert, loc_exp_dep_set): New.
- (notify_dependents_of_resolved_value): New.
- (update_depth, vt_expand_var_loc_chain): New.
- (vt_expand_loc_callback): Revamped.
- (resolve_expansions_pending_recursion): New.
- (INIT_ELCD, FINI_ELCD): New.
- (vt_expand_loc): Use the new macros above. Drop ignore_cur_loc
- parameter, adjust all callers.
- (vt_expand_loc_dummy): Drop.
- (vt_expand_1pvar): New.
- (emit_note_insn_var_location): Operate on non-debug decls only.
- Revamp multi-part cur_loc recomputation and one-part expansion.
- Drop cur_loc_changed. Adjust access to offset.
- (VEC (variable, heap)): Drop.
- (changed_variables_stack, changed_values_stack): Drop.
- (check_changed_vars_0, check_changed_vars_1): Remove.
- (check_changed_vars_2, check_changed_vars_3): Remove.
- (values_to_stack, remove_value_from_changed_variables): New.
- (notify_dependents_of_changed_value, process_changed_values): New.
- (emit_notes_for_changes): Revamp onepart updates.
- (emit_notes_for_differences_1): Use onepart. Drop cur_loc_changed
- and value chains. Propagate onepaux. Recover empty_var and onepaux
- from dropped_values.
- (emit_notes_for_differences_2): Drop value chains.
- (emit_notes_in_bb): Adjust.
- (vt_emit_notes): Drop value chains, changed_variables_stack.
- Initialize and release dropped_values.
- (create_entry_value): Revamp.
- (vt_add_function_parameter): Use new interface.
- (note_register_arguments): Remove.
- (vt_initialize): Drop value chains and register arguments.
- (vt_finalize): Drop value chains. Release windowed_parm_regs only
- if HAVE_window_save.
- * rtl.h: Document various pass-local uses of RTL flags.
- * tree.h (DECL_RTL_KNOWN_SET): New.
- * doc/invoke.texi (param max-vartrack-expr-depth): Update
- description and default.
-
-2011-10-19 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50447
- * config/avr/avr.md (cc): New alternative out_plus_noclobber.
- (adjust_len): Ditto.
- (addhi3): Don't pipe through short; use gen_int_mode instead.
- Prior to reload, expand to gen_addhi3_clobber.
- (*addhi3): Use avr_out_plus_noclobber if applicable, use
- out_plus_noclobber in cc and adjust_len attribute.
- (addhi3_clobber): 2 new RTL peepholes.
- (addhi3_clobber): New insn.
- * config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype.
- * config/avr/avr.c (avr_out_plus_noclobber): New function.
- (notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER.
- (avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0.
- Set cc0 to set_zn for adiw on 16-bit values.
- (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER.
- (expand_epilogue): No need to add 0 to frame_pointer_rtx.
-
-2011-10-19 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50780
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Verify
- the condition is properly gimple before using it.
- * tree-eh (stmt_could_throw_1_p): Properly extract the
- operation type from comparisons.
-
-2011-10-19 Roland Stigge <stigge@antcom.de>
-
- PR translation/48638
- * plugin.c (add_new_plugin): Fix typo in fatal_error message.
-
-2011-10-19 Roland Stigge <stigge@antcom.de>
-
- PR translation/49517
- * config/rx/rx.c (rx_print_operand): Fix typo in warning message.
-
-2011-10-19 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50768
- * gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.
-
-2011-10-19 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/50340
- * sel-sched-ir.c (update_target_availability): LHS register
- availability is not known if the unavailable LHS of the other
- expression is a different register.
-
-2011-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR target/50310
- * config/spu/spu.c (spu_emit_vector_compare): Support unordered
- floating-point comparisons.
-
-2011-10-19 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (handle_alias_pairs): Also handle wekref with
- destination declared.
- (output_weakrefs): New function.
- * varpool.c (varpool_create_variable_alias): Handle external aliases.
-
-2011-10-19 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
- second argument instead of mode.
-
-2011-10-18 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_expand_vec_perm): In merge_two use
- mode SUBREG of operands[0] as target.
- (valid_perm_using_mode_p): Don't ignore higher bits of d->perm.
- (expand_vec_pshufb): For V8SImode vmode emit avx2_permvarv8si.
- (expand_vec_perm_1): Handle identity and some broadcast
- permutations.
- (expand_vec_perm_interleave2): Handle also 32-byte modes, using
- vperm2[fi]128 or vpunpck[lh]* followed by single insn permutation.
- For d->testing_p return true earlier to avoid creating more GC
- garbage.
- (expand_vec_perm_vpermq_perm_1): New function.
- (expand_vec_perm_vpshufb2_vpermq): For d->testing_p return true
- earlier to avoid creating more GC garbage. Fix handling of
- V16HImode. Avoid some SUBREGs in SET_DEST.
- (expand_vec_perm_broadcast_1): Return false for 32-byte integer
- vector modes.
- (expand_vec_perm_vpshufb4_vpermq2): New function.
- (ix86_expand_vec_perm_builtin_1): Call expand_vec_perm_vpermq_perm_1
- and expand_vec_perm_vpshufb4_vpermq2.
-
-2011-10-18 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/driver-arm.c (host_detect_local_cpu): Close the file
- before exiting.
-
-2011-10-18 Andrew Stubbs <ams@codesourcery.com>
-
- PR tree-optimization/50717
- * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type'
- parameter. Calculate 'type' from stmt.
- (convert_mult_to_widen): Update call the is_widening_mult_p.
- (convert_plusminus_to_widen): Likewise.
-
-2011-10-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (struct machine_function): New data structure.
- (spu_init_machine_status): New function.
- (spu_option_override): Install it.
- (get_pic_reg): Set and use cfun->machine->pic_reg.
- (spu_split_immediate): Do not set crtl->uses_pic_offset_table.
- (need_to_save_reg): Use cfun->machine->pic_reg instead of
- checking crtl->uses_pic_offset_table.
- (spu_expand_prologue): Likewise.
-
-2011-10-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50735
- * function.c (gimplify_parameters): Use create_tmp_var instead of
- create_tmp_reg. If parm is not TREE_ADDRESSABLE and type is complex
- or vector type, set DECL_GIMPLE_REG_P.
-
-2011-10-18 Andrew Stubbs <ams@codesourcery.com>
-
- * config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
- * config/arm/arm.opt: Add 'native' processor_type and
- arm_arch enum values.
- * config/arm/arm.h (host_detect_local_cpu): New prototype.
- (EXTRA_SPEC_FUNCTIONS): New define.
- (MCPU_MTUNE_NATIVE_SPECS): New define.
- (DRIVER_SELF_SPECS): New define.
- * config/arm/driver-arm.c: New file.
- * config/arm/x-arm: New file.
- * doc/invoke.texi (ARM Options): Document -mcpu=native,
- -mtune=native and -march=native.
-
-2011-10-18 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/50205
- * sel-sched.c (count_occurrences_1): Simplify on the assumption that
- p->x is a register. Forbid substitution when the same register is
- found in a different mode.
- (count_occurrences_equiv): Assert that 'what' is a register.
-
-2011-10-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50767
- * tree-ssa-pre.c (create_expression_by_pieces): Update the
- folded statement.
-
-2011-10-18 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.c (arm_block_move_unaligned_straight)
- (arm_adjust_block_mem, arm_block_move_unaligned_loop)
- (arm_movmemqi_unaligned): New.
- (arm_gen_movmemqi): Support unaligned block copies.
-
-2011-10-18 Ira Rosen <ira.rosen@linaro.org>
-
- * doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
- vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
- * tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
- VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
- (op_code_prio): Likewise.
- (op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
- * optabs.c (optab_for_tree_code): Handle
- VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
- (init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
- * optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
- * genopinit.c (optabs): Initialize the new optabs.
- * expr.c (expand_expr_real_2): Handle
- VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
- * gimple-pretty-print.c (dump_binary_rhs): Likewise.
- * tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
- * tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
- VEC_WIDEN_LSHIFT_LO_EXPR): New.
- * cfgexpand.c (expand_debug_expr): Handle new tree codes.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
- vect_recog_widen_shift_pattern.
- (vect_handle_widen_mult_by_const): Rename...
- (vect_handle_widen_op_by_const): ...to this. Handle shifts.
- Add a new argument, update documentation.
- (vect_recog_widen_mult_pattern): Assume that only second
- operand can be constant. Update call to
- vect_handle_widen_op_by_const.
- (vect_recog_over_widening_pattern): Fix typo.
- (vect_recog_widen_shift_pattern): New.
- * tree-vect-stmts.c (vectorizable_type_promotion): Handle
- widening shifts.
- (supportable_widening_operation): Likewise.
- * tree-inline.c (estimate_operator_cost): Handle new tree codes.
- * tree-vect-generic.c (expand_vector_operations_1): Likewise.
- * tree-cfg.c (verify_gimple_assign_binary): Likewise.
- * config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
- (vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
- vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
- Likewise.
- * config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
- New.
- * config/arm/iterators.md (V_innermode): New.
- * tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
- for widening shift.
-
-2011-10-18 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.h (struct pt_solution): Remove
- vars_contains_restrict member.
- (pt_solutions_same_restrict_base): Remove.
- (pt_solution_set): Adjust.
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
- vars_contains_restrict handling.
- (dump_points_to_solution): Likewise.
- (ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
- * tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
- field.
- (new_var_info): Do not initialize it.
- (ipa_escaped_pt): Adjust.
- (make_constraint_from_restrict): Make the tag global.
- (make_constraint_from_global_restrict): New function.
- (make_constraint_from_heapvar): Remove.
- (create_variable_info_for): Do not make restrict vars point
- to NONLOCAL.
- (intra_create_variable_infos): Likewise.
- (find_what_var_points_to): Remove vars_contains_restrict handling.
- (pt_solution_set): Adjust.
- (pt_solution_ior_into): Likewise.
- (pt_solutions_same_restrict_base): Remove.
- (compute_points_to_sets): Do not test is_restrict_var.
- * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
- * gimple-pretty-print.c (pp_points_to_solution): Likewise.
-
-2011-10-18 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50672
- * tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
- factored out of ...
- (mark_virtual_phi_result_for_renaming): Use
- mark_virtual_operand_for_renaming.
- * tree-flow.h (mark_virtual_operand_for_renaming): Declare.
- * tree-ssa-tail-merge.c (release_last_vdef): New function.
- (purge_bbs): Add update_vops parameter. Call release_last_vdef for each
- deleted basic block.
- (tail_merge_optimize): Add argument to call to purge_bbs.
-
-2011-10-18 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50716
- * expr.c (get_object_or_type_alignment): New function.
- (expand_assignment): Use it.
- (expand_expr_real_1): Likewise.
-
-2011-10-18 Dodji Seketeli <dodji@redhat.com>
-
- PR bootstrap/50760
- * input.c (dump_line_table_statistics): Use long, not size_t.
-
-2011-10-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (in_call_delay): Fix formatting issues.
-
-2011-10-17 Simon Baldwin <simonb@google.com>
- Ian Lance Taylor <iant@google.com>
-
- * configure.ac: Add --with-native-system-header-dir. Set and
- substitute NATIVE_SYSTEM_HEADER_DIR. Use native_system_header
- when setting target_header_dir.
- * config.gcc: Always set native_system_header_dir.
- (*-*-gnu*): Set native_system_header_dir. Don't use t-gnu.
- (i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir. Don't
- use i386/t-djgpp.
- (i[34567]86-*-mingw* | x86_64-*-mingw*): Set
- native_system_header_dir.
- (spu-*-elf*): Set native_system_header_dir.
- * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
- @NATIVE_SYSTEM_HEADER_DIR@.
- (PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
- * cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
- (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
- STANDARD_INCLUDE_COMPONENT.
- (cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR. Rename
- STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
- * system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
- STANDARD_INCLUDE_COMPONENT.
- * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
- * config/i386/t-mingw-w32: Likewise.
- * config/i386/t-mingw-w64: Likewise.
- * config/spu/t-spu-elf: Likewise.
- * config/i386/t-djgpp: Remove.
- * config/t-gnu: Remove.
- * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
- (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
- STANDARD_INCLUDE_COMPONENT.
- * config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
- * config/spu/spu-elf.h: Likewise.
- * config/vms/xm-vms.h: Likewise.
- * config/gnu.h: Likewise.
- * config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
- and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
- NATIVE_SYSTME_HEADER_COMPONENT.
- * doc/install.texi (Configuration): Document
- --with-native-system-header-dir. Mention it in the documentation
- for --with-sysroot and --with-build-sysroot.
- * doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
- STANDARD_INCLUDE_DIR. Rename STANDARD_INCLUDE_COMPONENT to
- NATIVE_SYSTEM_HEADER_COMPONENT. Rename uses of
- STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
- * doc/fragments.texi (Target Fragment): Don't document
- NATIVE_SYSTEM_HEADER_DIR.
- * configure, doc/tm.texi: Rebuild.
-
-2011-10-17 Richard Henderson <rth@redhat.com>
-
- * config/sparc/sparc.md: Use register_or_zero_operand where rJ
- is the constraint.
-
- * config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
- patterns.
- * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
- * config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
-
-2011-10-17 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc-modes.def: Add single entry vector modes for
- DImode and SImode.
- * config/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
- mode iterators.
- (mov<V32:mode>): Revert back to plain SFmode pattern.
- (*movsf_insn): Likewise.
- (mov<V64:mode>): Revert back to plain DFmode pattern.
- (*movdf_insn_sp32): Likewise.
- (*movdf_insn_sp32_v9): Likewise.
- (*movdf_insn_sp64): Likewise.
- (V64 mode splitters) Likewise.
- (addsi3): Remove VIS alternatives.
- (subsi3): Likewise.
- (and<V64I:mode>3): Revert to DImode only pattern.
- (and<V64I:mode>3_sp32): Likewise.
- (*and<V64I:mode>3_sp64): Likewise.
- (and<V32I:mode>3): Likewise.
- (*and_not_<V64I:mode>_sp32): Likewise.
- (*and_not_<V64I:mode>_sp64): Likewise.
- (*and_not_<V32I:mode>): Likewise.
- (ior<V64I:mode>3): Likewise.
- (*ior<V64I:mode>3_sp32): Likewise.
- (*ior<V64I:mode>3_sp64): Likewise.
- (ior<V32I:mode>3): Likewise.
- (*or_not_<V64I:mode>_sp32): Likewise.
- (*or_not_<V64I:mode>_sp64): Likewise.
- (*or_not_<V32I:mode>): Likewise.
- (xor<V64I:mode>3): Likewise.
- (*xor<V64I:mode>3_sp32): Likewise.
- (*xor<V64I:mode>3_sp64): Likewise.
- (xor<V32I:mode>3): Likewise.
- (V64I mode splitters): Likewise.
- (*xor_not_<V64I:mode>_sp32): Likewise.
- (*xor_not_<V64I:mode>_sp64): Likewise.
- (*xor_not_<V32I:mode>): Likewise.
- (one_cmpl<V64I:mode>2): Likewise.
- (*one_cmpl<V64I:mode>2_sp32): Likewise.
- (*one_cmpl<V64I:mode>2_sp64): Likewise.
- (one_cmpl<V32I:mode>2): Likewise.
- (VM32, VM64, VMALL): New mode iterators.
- (vbits, vconstr, vfptype): New mode attributes.
- (mov<VMALL:mode>): New expander.
- (*mov<VM32:mode>_insn): New insn.
- (*mov<VM64:mode>_insn_sp64): New insn.
- (*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
- specifically for the register to memory case.
- (vec_init<mode>): New expander.
- (VADDSUB): New mode iterator.
- (<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
- with...
- (<plusminus_insn><mode>3): New consolidated pattern.
- (VL): New mode iterator for logical operations.
- (vlsuf): New more attribute.
- (vlop): New code iterator.
- (vlinsn, vlninsn): New code attributes.
- (<code><mode>3): New insn to non-negated vector logical ops.
- (*not_<code><mode>3): Likewise for negated variants.
- (*nand<mode>_vis): New insn.
- (vlnotop): New code iterator.
- (*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
- (one_cmpl<mode>2): New insn.
- (faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
- (bshuffle<VM64:mode>_vis): Likewise.
- (v<vis3_shift_patname><mode>3): Use GCM mode iterator.
- (fp<plusminus_insn>64_vis): Use V1DI mode.
- (VASS mode iterator): Use V1SI not SI mode.
- * config/sparc/sparc.c (sparc_vis_init_builtins): Account for
- single-entry vector mode changes.
- (sparc_expand_builtin): Likewise.
- (sparc_expand_vector_init): New function.
- * config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.
-
-2011-10-17 Kai Tietz <ktietz@redhat.com>
-
- * fold-const.c (simple_operand_p_2): New function.
- (fold_truthop): Rename to
- (fold_truth_andor_1): function name.
- Additionally remove branching creation for logical and/or.
- (fold_truth_andor): Handle branching creation for logical and/or here.
-
-2011-10-17 Andi Kleen <ak@linux.intel.com>
-
- * ggc-page.c (USING_MADVISE): Adjust ifdef to check for USING_MMAP.
-
-2011-10-17 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (ASSEMBLER_DIALECT): Remove.
- * config/avr/avr.md (mcu_have_movw, mcu_mega): Remove attributes.
- (adjust_len): Add alternative "call".
- (isa, enabled): New insn attributes.
- (length): Use match_test with AVR_HAVE_JMP_CALL instead of
- mcu_mega attribute.
- (*sbrx_branch<mode>): Ditto.
- (*sbrx_and_branch<mode>): Ditto.
- (*sbix_branch): Ditto.
- (*sbix_branch_bit7): Ditto.
- (*sbix_branch_tmp): Ditto.
- (*sbix_branch_tmp_bit7): Ditto.
- (jump): Ditto.
- (negsi2): Use attribute "isa" instead of assembler dialect.
- (extendhisi2): Ditto.
- (call_insn, call_value_insn): Set adjust_len attribute.
- (indirect_jump): Indent to coding rules.
- (call_prologue_saves): Use isa attribute instead of mcu_mega.
- (epilogue_restores): Ditto. Fix setting of SP as described in the
- RTX pattern.
- (*indirect_jump): Fusion of *jcindirect_jump, *njcindirect_jump
- and *indirect_jump_avr6.
- (*tablejump): Fusion of *tablejump_rjmp and *tablejump_lib.
- (*jcindirect_jump, *njcindirect_jump, *indirect_jump_avr6): Remove.
- (*tablejump_rjmp, *tablejump_lib): Remove.
- * config/avr/avr.c (adjust_insn_length): Handle ADJUST_LEN_CALL.
-
-2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50757
- * doc/invoke.texi ([Wnonnull]): Update.
-
-2011-10-17 Richard Henderson <rth@redhat.com>
-
- PR 50746
- * optabs.c (expand_vec_perm_expr): Fix indexing error.
-
-2011-10-17 Sergio Durigan Junior <sergiodj@redhat.com>
-
- * configure.ac: Display `yes' if the SystemTap header has been found.
- * configure: Regenerate.
-
-2011-10-08 Andi Kleen <ak@linux.intel.com>
-
- PR other/50636
- * config.in, configure: Regenerate.
- * configure.ac (madvise): Add to AC_CHECK_FUNCS.
- * ggc-page.c (USING_MADVISE): Add.
- (page_entry): Add discarded field.
- (alloc_page): Check for discarded pages.
- (release_pages): Add USING_MADVISE branch.
-
-2011-10-17 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50729
- * tree-vrp.c (extract_range_from_unary_expr_1): Remove redundant test.
- (simplify_conversion_using_ranges): Properly test the
- intermediate result.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * ggc.h (ggc_round_alloc_size): Declare new public entry point.
- * ggc-none.c (ggc_round_alloc_size): New public stub function.
- * ggc-page.c (ggc_alloced_size_order_for_request): New static
- function. Factorized from ggc_internal_alloc_stat.
- (ggc_round_alloc_size): New public function. Uses
- ggc_alloced_size_order_for_request.
- (ggc_internal_alloc_stat): Use ggc_alloced_size_order_for_request.
- * ggc-zone.c (ggc_round_alloc_size): New public function extracted
- from ggc_internal_alloc_zone_stat.
- (ggc_internal_alloc_zone_stat): Use ggc_round_alloc_size.
- * toplev.c (general_init): Initialize
- line_table->alloced_size_for_request.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * input.c (ONE_K, ONE_M, SCALE, STAT_LABEL, FORMAT_AMOUNT): New macros.
- (num_expanded_macros_counter, num_macro_tokens_counter): Declare
- new counters.
- (dump_line_table_statistics): Define new function.
- * input.h (dump_line_table_statistics): Declare new function.
- * toplev.c (dump_memory_report): Call dump_line_table_statistics.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * doc/cppopts.texi: Document -fdebug-cpp.
- * doc/invoke.texi: Add -fdebug-cpp to the list of preprocessor options.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * gcc/diagnostic.h (diagnostic_report_current_module): Add a
- location parameter.
- * diagnostic.c (diagnostic_report_current_module): Add a location
- parameter to the function definition. Use it instead of
- input_location. Resolve the virtual location rather than just
- looking up its map and risking to touch a resulting macro map.
- (default_diagnostic_starter): Pass the relevant diagnostic
- location to diagnostic_report_current_module.
- * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): New.
- (virt_loc_aware_diagnostic_finalizer): Likewise.
- (diagnostic_report_current_function): Pass the
- relevant location to diagnostic_report_current_module.
- * tree-diagnostic.h (virt_loc_aware_diagnostic_finalizer): Declare
- new function.
- * toplev.c (general_init): By default, use the new
- virt_loc_aware_diagnostic_finalizer as diagnostic finalizer.
- * Makefile.in: Add vec.h dependency to tree-diagnostic.c.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * doc/cppopts.texi (-ftrack-macro-expansion): Document new option.
- * doc/invoke.texi (-ftrack-macro-expansion): Add this to the list of
- preprocessor related options.
-
-2011-10-15 Tom Tromey <tromey@redhat>
- Dodji Seketeli <dodji@redhat.com>
-
- * input.h (struct expanded_location): Move to libcpp/line-map.h.
- (LOCATION_COLUMN): New accessor
- (in_system_header_at): Use linemap_location_in_system_header_p.
- * diagnostic.c (diagnostic_report_current_module): Adjust to avoid
- touching the internals of struct line_map. Use the public API instead.
- (diagnostic_report_diagnostic): Don't use relational operator '<'
- on virtual locations. Use linemap_location_before_p instead.
- * input.c (expand_location): Adjust to expand to the tokens'
- spelling location when macro location tracking is on.
-
-
-2011-10-08 Andi Kleen <ak@linux.intel.com>
-
- * ggc-page.c (GGC_QUIRE_SIZE): Increase to 512
-
-2011-10-13 Andi Kleen <ak@linux.intel.com>
-
- * toplev.c (compile_file): Rename __gnu_slim_lto to __gnu_lto_slim.
-
-2011-10-16 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50727
- * tree-vect-patterns.c (vect_operation_fits_smaller_type): Add
- DEF_STMT to the list of statements to be replaced by the
- pattern statements.
-
-2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/50615
- * combine.c (distribute_notes) <REG_ARGS_SIZE>: Skip if I3 is a no-op.
-
-2011-10-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50596
- * tree-vectorizer.h (NUM_PATTERNS): Increase to 7.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
- vect_recog_bool_pattern.
- (check_bool_pattern, adjust_bool_pattern_cast,
- adjust_bool_pattern, vect_recog_bool_pattern): New functions.
-
-2011-10-16 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-stmts.c (vectorizable_load): For SLP without permutation
- treat the first load of the node as the first element in its
- interleaving chain.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap the operands if
- necessary and possible.
- (vect_build_slp_tree): Add new argument. Allow load groups of any size
- in basic blocks. Keep all the loads for further permutation check.
- Use the new argument to determine if there is a permutation. Update
- the recursive calls.
- (vect_supported_load_permutation_p): Allow subchains of interleaving
- chains in basic block vectorization.
- (vect_analyze_slp_instance): Update the call to vect_build_slp_tree.
- Check load permutation based on the new parameter.
- (vect_schedule_slp_instance): Don't start from the first element in
- interleaving chain unless the loads are permuted.
-
-2011-10-15 Jan Hubicka <jh@suse.cz>
-
- PR target/48668
- PR target/50689
- * cgraphunit.c (cgraph_expand_function): Expand thunks and alises
- after function body.
-
-2011-10-15 Richard Henderson <rth@redhat.com>
-
- * tree-vect-slp.c: Include langhooks.h.
- (vect_create_mask_and_perm): Emit VEC_PERM_EXPR, not a builtin.
- (vect_transform_slp_perm_load): Use can_vec_perm_expr_p. Simplify
- mask creation for VEC_PERM_EXPR.
- * tree-vect-stmts.c (perm_mask_for_reverse): Return the mask,
- not the builtin.
- (reverse_vec_elements): Emit VEC_PERM_EXPR not a builtin.
- * Makefile.in (tree-vect-slp.o): Update dependency.
- * optabs.c (can_vec_perm_expr_p): Allow NULL as unknown constant.
-
-2011-10-15 Alan Modra <amodra@gmail.com>
-
- PR bootstrap/50738
- * ifcvt.c (dead_or_predicable): Revert accidental commit with
- HAVE_simple_return test.
-
-2011-10-15 Alan Modra <amodra@gmail.com>
-
- * ifcvt.c (dead_or_predicable): Disable if-conversion when
- doing so is likely to kill a shrink-wrapping opportunity.
-
- PR rtl-optimization/49941
- * jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps.
-
- * rtl.h (set_return_jump_label): Declare.
- * function.c (set_return_jump_label): New function, extracted..
- (thread_prologue_and_epilogue_insns): ..from here. Use it in
- another instance to set return jump_label.
- * cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label.
- * reorg.c (find_end_label): Likewise.
-
-2011-10-14 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sol2.h: Protect -m{cpu,tune}=native handling
- with a more complete cpp test.
- * config/sparc/linux64.h: Likewise.
- * config/sparc/linux.h: Likewise.
- * config/sparc/sparc.opt (sparc_debug): New target variable.
- (mdebug): New target option.
- * config/sparc/sparc.h (MASK_DEBUG_OPTIONS, MASK_DEBUG_ALL,
- TARGET_DEBUG_OPTIONS): New defines.
- * config/sparc/sparc.c (debug_target_flag_bits,
- debug_target_flags): New functions.
- (sparc_option_override): Add name strings back to cpu_table[].
- Parse -mdebug string. When TARGET_DEBUG_OPTIONS is true, print
- out the target flags before and after override processing as well
- as the selected cpu. If MASK_V8PLUS, make sure that the selected
- cpu is at least v9.
-
-2011-10-15 Oleg Endo <oleg.endo@t-online.de>
-
- PR target/49263
- * config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro.
- * config/sh/sh.c (sh_rtx_costs): Add test instruction case.
- * config/sh/sh.md (tstsi_t): Name existing insn. Make inner
- and instruction commutative.
- (tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not,
- tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor,
- tstsi_t_zero_extract_subreg_xor_little,
- tstsi_t_zero_extract_subreg_xor_big): New insns.
- (*movsicc_t_false, *movsicc_t_true): Replace space with tab in
- asm output.
- (*andsi_compact): Reorder alternatives so that K08 is considered first.
-
-2011-10-14 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/50354
- * config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default
- processor is at least V9 and TARGET_64BIT_DEFAULT is defined.
-
-2011-10-14 Gerald Pfeifer <gerald@pfeifer.com>
-
- * invoke.texi (AVR Options): Avoid \leq{}.
-
-2011-10-14 Kai Tietz <ktietz@redhat.com>
-
- * gimplify.c (gimplify_expr): Take care that for bitwise-binary
- transformation the operands have compatible types.
-
-2011-10-14 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (vec_widen_smult_hi_v8hi,
- vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
- vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
- mode iterator and any_extend code iterator.
- (vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New expanders.
- (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
- also for TARGET_SSE4_1 using pmuldq insn.
- (sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
- (sse2_sse4_1): New code attr.
- (udot_prodv4si): Macroize using any_extend code iterator.
- (<s>dot_prodv8si): New expander.
-
-2011-10-14 Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
-
- * config/i386/i386.c (atom_cost): Changed cost for loading
- QImode using movzbl.
-
-2011-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my
- change on October 11th, 2011.
-
-2011-10-14 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (vec_interleave_high<mode>,
- vec_interleave_low<mode>): Add AVX2 expanders for VI_256 modes.
- * config/i386/i386.c (expand_vec_perm_interleave3): New function.
- (ix86_expand_vec_perm_builtin_1): Call it.
-
-2011-10-14 Georg-Johann Lay <avr@gjlay.de>
-
- Fix thinko from r179765
- * config/avr/avr.c (avr_option_override): Don't override
- flag_omit_frame_pointer if not actually needed.
-
-2011-10-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/46278
- * doc/invoke.texi (AVR Options): Document -mstrict-X.
-
- * config/avr/avr.opt (-mstrict-X): New option.
- (avr_strict_X): New variable reflecting -mstrict-X.
- * config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
- outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
- (avr_legitimate_address_p): Pass outer_code to
- avr_reg_ok_for_addr_p and use that function in case PLUS.
- (avr_mode_code_base_reg_class): Depend on avr_strict_X.
- (avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
- (avr_option_override): Disable -fcaller-saves if -mstrict-X is on.
-
-2011-10-14 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
- of VI_128.
-
- * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 iterator.
- (ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
- Use <sseinsnmode> instead of TI in mode attr.
-
-2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
-
- * config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
- * config/arm/linux-atomic.c: Change comment to point to 64bit version.
- (SYNC_LOCK_RELEASE): Instantiate 64bit version.
- * config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.
-
-2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
-
- * config/arm/arm.c (arm_output_ldrex): Support ldrexd.
- (arm_output_strex): Support strexd.
- (arm_output_it): New helper to output it in Thumb2 mode only.
- (arm_output_sync_loop): Support DI mode. Change comment to
- not support const_int.
- (arm_expand_sync): Support DI mode.
- * config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
- and LDREXD.
- * config/arm/iterators.md (NARROW): move from sync.md.
- (QHSD): New iterator for all current ARM integer modes.
- (SIDI): New iterator for SI and DI modes only.
- * config/arm/sync.md (sync_predtab): New mode_attr.
- (sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
- (sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
- (sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
- (sync_nandsi): Fold into sync_nand<mode>.
- (sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
- (sync_new_nandsi): Fold into sync_new_nand<mode>.
- (sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
- (sync_old_nandsi): Fold into sync_old_nand<mode>.
- (sync_compare_and_swap<mode>): Support SI & DI.
- (sync_lock_test_and_set<mode>): Likewise.
- (sync_<sync_optab><mode>): Likewise.
- (sync_nand<mode>): Likewise.
- (sync_new_<sync_optab><mode>): Likewise.
- (sync_new_nand<mode>): Likewise.
- (sync_old_<sync_optab><mode>): Likewise.
- (sync_old_nand<mode>): Likewise.
- (arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
- (arm_sync_lock_test_and_setsi): Likewise.
- (arm_sync_new_<sync_optab>si): Likewise.
- (arm_sync_new_nandsi): Likewise.
- (arm_sync_old_<sync_optab>si): Likewise.
- (arm_sync_old_nandsi): Likewise.
- (arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
- (arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
- (arm_sync_new_<sync_optab><mode> NARROW): Likewise.
- (arm_sync_new_nand<mode> NARROW): Likewise.
- (arm_sync_old_<sync_optab><mode> NARROW): Likewise.
- (arm_sync_old_nand<mode> NARROW): Likewise.
-
-2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
-
- PR target/48126
- * config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
-
-2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
-
- * config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
-
-2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/invoke.texi ([Wformat-zero-length]): Tidy.
-
-2011-10-14 Jakub Jelinek <jakub@redhat.com>
-
- * gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also
- on COND_EXPR/VEC_COND_EXPR comparison operands if they are ADDR_EXPRs.
-
-2011-10-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50723
- * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
-
-2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * gengtype.c (files_rules): Added rules for objc/objc-map.h and
- objc/objc-map.c.
-
-2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/17212
- * doc/invoke.texi ([Wformat-zero-length]): Update.
-
-2011-10-14 Iain Sandoe <iains@gcc.gnu.org>
-
- PR bootstrap/50699
- * config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
- build for powerpc targets. (darwin_patch_builtins): Only build for
- powerpc targets.
-
-2011-10-14 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
- (avx_cvtdq2pd256_2): ... this.
- (sseunpackfltmode): New mode attr.
- (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
- vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
- using VI2_AVX2 iterator.
- (vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New expanders.
-
-2011-10-13 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (plusminus): New code iterator.
- (plusminus_insn): New code attr.
- (addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
- using plusminus and plusminus_insn.
- (fpadd64_vis, fpsub64_vis): Likewise.
-
-2011-10-13 Richard Henderson <rth@redhat.com>
-
- * doc/md.texi (vec_perm): Document fallback to byte permutation.
- * genopinit.c (optabs): Add vec_perm_const.
- * optabs.c (can_vec_perm_expr_p): Rename from expand_vec_perm_expr_p.
- Reject non-vector modes. Allow fallback to byte permutation.
- (expand_vec_perm_expr_1): Split out from ...
- (expand_vec_perm_expr): ... here. Allow fallback to byte permutation.
- * optabs.h (DOI_vec_perm_const, vec_perm_const_optab): New.
- * tree-vect-generic.c (lower_vec_perm): Update for name change.
-
-2011-10-13 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/altivec.md (vec_permv16qi): New pattern.
-
- * config/rs6000/spu.md (vec_permv16qi): New pattern.
-
- * config/i386/i386.c (ix86_expand_vec_perm_const): New.
- * config/i386/i386-protos.h: Update.
- * config/i386/sse.md (VEC_PERM_CONST): New mode iterator.
- (vec_perm_const<VEC_PERM_CONST>): New expander.
-
- * optabs.c (expand_vector_broadcast): New.
- (expand_binop): Expand scalar shifts of vectors to vector shifts
- of vectors, if the former isn't supported.
- * tree-vect-generic.c (expand_vector_operations_1): Don't do that
- here; always simplify to scalar shift of vector if possible.
-
- * config/rs6000/rs6000.c (rs6000_expand_vector_init): Fix mode
- test for vector splat.
-
-2011-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode to V.
-
-2011-10-13 Jakub Jelinek <jakub@redhat.com>
- Richard Guenther <rguenther@suse.de>
-
- * tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector
- or complex vars even if their DECL_UID is in not_reg_needs bitmap.
-
-2011-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (reduc_umin_v8hi): New pattern.
- * config/i386/i386.c (ix86_build_const_vector): Handle
- also V32QI, V16QI, V16HI and V8HI modes.
- (emit_reduc_half): New function.
- (ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
- Use emit_reduc_half helper function.
-
-2011-10-13 Lawrence Crowl <crowl@google.com>
- Diego Novillo <dnovillo@google.com>
-
- * lto-streamer-in.c (input_struct_function_base): Factor out of ...
- (input_function): ... here.
- * lto-streamer-out.c (output_struct_function_base): Factor out of ...
- (output_function): ... here.
-
-2011-10-13 Gabriel Charette <gchare@google.com>
- Diego Novillo <dnovillo@google.com>
-
- * streamer-hooks.h (struct streamer_hooks): Add hooks
- input_location and output_location.
- * lto-streamer-in.c (lto_input_location): Use
- streamer_hooks.input_location, if set.
- * lto-streamer-out.c (lto_output_location): Use
- streamer_hooks.output_location, if set.
-
-2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/invoke.texi (SPARC options): Document -mfix-at697f.
- * config/sparc/sparc.opt (mfix-at697f): New option.
- * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
- (sparc_reorg): New function.
-
-2011-10-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50712
- * ipa-split.c (split_function): Always re-gimplify parameters
- when they are not gimple vals before passing them. Properly
- check for type compatibility.
-
-2011-10-13 Tom de Vries <tom@codesourcery.com>
-
- * function.c (gimplify_parameters): Set number of arguments of call to
- BUILT_IN_ALLOCA_WITH_ALIGN to 2.
-
-2011-10-13 Tom de Vries <tom@codesourcery.com>
-
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P
- for static const strings.
- * varasm.c (build_constant_desc): Generate the memory location of the
- constant using gen_const_mem.
-
-2011-10-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50698
- * tree-data-ref.c (split_constant_offset_1): Also process
- offsets of &MEM.
-
-2011-10-12 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_FPMERGE): Delete.
- (UNSPEC_MUL16AU, UNSPEC_MUL8, UNSPEC_MUL8SU, UNSPEC_MULDSU): New
- unspecs.
- (fpmerge_vis): Remove inaccurate comment, represent using vec_select
- of a vec_concat.
- (vec_interleave_lowv8qi, vec_interleave_highv8qi): New insns.
- (fmul8x16_vis, fmul8x16au_vis, fmul8sux16_vis, fmuld8sux16_vis):
- Reimplement as unspecs and remove inaccurate comments.
- (vis3_shift_patname): New code attr.
- (<vis3_shift_insn><vbits>_vis): Rename to
- "v<vis3_shift_patname><mode>3".
- (vis3_addsub_ss_patname): New code attr.
- (<vis3_addsub_ss_insn><vbits>_vis): Rename to
- "<vis3_addsub_ss_patname><mode>3".
- * config/sparc/sparc.c (sparc_vis_init_builtins): Update to
- accommodate pattern name changes.
-
- * config/sparc/sparc.h: Do not force TARGET_VIS3 and TARGET_FMAF
- to zero when assembler lacks support for such instructions.
- * config/sparc/sparc.c (sparc_option_override): Clear MASK_VIS3
- and MASK_FMAF in defaults when assembler lacks necessary support.
-
-2011-10-12 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (vec_unpacks_lo_<mode>,
- vec_unpacks_hi_<mode>, vec_unpacku_lo_<mode>,
- vec_unpacku_hi_<mode>): Change VI124_128 mode to VI124_AVX2.
- * config/i386/i386.c (ix86_expand_sse_unpack): Handle
- V32QImode, V16HImode and V8SImode for TARGET_AVX2.
-
- * config/i386/sse.md (vec_avx2): New mode_attr.
- (mulv16qi3): Macroize to cover also mulv32qi3 for TARGET_AVX2 into ...
- (mul<mode>3): ... this.
-
- * config/i386/i386.md (UNSPEC_VPERMDI): Remove.
- * config/i386/i386.c (ix86_expand_vec_perm): Handle
- V16QImode and V32QImode for TARGET_AVX2.
- (MAX_VECT_LEN): Increase to 32.
- (expand_vec_perm_blend): Add support for 32-byte integer
- vectors with TARGET_AVX2.
- (valid_perm_using_mode_p): New function.
- (expand_vec_perm_pshufb): Add support for 32-byte integer
- vectors with TARGET_AVX2.
- (expand_vec_perm_vpshufb2_vpermq): New function.
- (expand_vec_perm_vpshufb2_vpermq_even_odd): New function.
- (expand_vec_perm_even_odd_1): Handle 32-byte integer vectors
- with TARGET_AVX2.
- (ix86_expand_vec_perm_builtin_1): Try expand_vec_perm_vpshufb2_vpermq
- and expand_vec_perm_vpshufb2_vpermq_even_odd.
- * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Add for TARGET_AVX2
- 32-byte integer vector modes.
- (vec_pack_trunc_<mode>): Use VI248_AVX2 instead of VI248_128.
- (avx2_interleave_highv32qi, avx2_interleave_lowv32qi): Remove pasto.
- (avx2_pshufdv3, avx2_pshuflwv3, avx2_pshufhwv3): Generate
- 4 new operands.
- (avx2_pshufd_1, avx2_pshuflw_1, avx2_pshufhw_1): Don't use
- match_dup, instead add 4 new operands and require they have
- right cross-lane values.
- (avx2_permv4di): Change into define_expand.
- (avx2_permv4di_1): New instruction.
- (avx2_permv2ti): Use nonimmediate_operand instead of register_operand
- for "xm" constrained operand.
- (VEC_PERM_AVX2): Add V32QI and V16QI for TARGET_AVX2.
-
- * config/i386/sse.md (avx2_gathersi<mode>,
- avx2_gatherdi<mode>, avx2_gatherdi<mode>256): Add clobber of
- match_scratch, change memory_operand to register_operand,
- add (mem:BLK (scratch)) use.
- (*avx2_gathersi<mode>, *avx2_gatherdi<mode>,
- *avx2_gatherdi<mode>256): Add clobber of match_scratch,
- add earlyclobber to the output operand and match_scratch,
- add (mem:BLK (scratch)) use, change the other mem to match_operand.
- Use %p6 instead of %c6 in the pattern.
- * config/i386/i386.c (ix86_expand_builtin): Adjust for
- operand 2 being a Pmode register_operand instead of memory_operand.
-
-2011-10-12 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/i386.md (simple_return): Disable if TARGET_SEH is active.
-
-2011-10-12 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
-
-2011-10-12 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.c (maybe_skip_until): Cache also at the point
- of the first store we visit in a basic-block.
- (get_continuation_for_phi): Search for a candidate VUSE that
- might dominates all others. Do pairwise disambiguation against
- that candidate.
-
-2011-10-12 Paul Koning <pkoning@gcc.gnu.org>
-
- PR tree-optimization/50189
- * tree-vrp.c (extract_range_from_assert): Use the type of
- the variable, not the limit.
-
-2011-10-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50700
- * tree-object-size.c (addr_object_size): Simplify and treat
- MEM_REF bases consistently.
-
-2011-10-12 Bernd Schmidt <bernds@codesourcery.com>
-
- * function.c (prepare_shrink_wrap, bb_active_p): New function.
- (thread_prologue_and_epilogue_insns): Use bb_active_p. Call
- prepare_shrink_wrap, then recompute bb_active_p for the last block.
-
-2011-10-12 Joseph Myers <joseph@codesourcery.com>
-
- PR c/50565
- * convert.c (convert_to_integer): Do not narrow operands of
- pointer subtraction.
-
-2011-10-12 Nick Clifton <nickc@redhat.com>
-
- * config/arm/arm.h (EMIT_EABI_ATTRIBUTE): New macro. Used to
- emit a .eabi_attribute assembler directive, possibly with a
- comment attached.
- * config/arm/arm.c (arm_file_start): Use the new macro.
- * config/arm/arm-c.c (arm_output_c_attributes): Likewise.
-
-2011-10-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49939
- * config/avr/avr.md (*movqi): Rename to movqi_insn.
- (*call_insn): Rename to call_insn.
- (*call_value_insn): Rename to call_value_insn.
- * config/avr/avr.c (avr_2word_insn_p): New static function.
- (jump_over_one_insn_p): Use it.
-
-2011-10-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR middle-end/48660
- * expr.h (copy_blkmode_to_reg): Declare.
- * expr.c (copy_blkmode_to_reg): New function.
- (expand_assignment): Don't expand register RESULT_DECLs before
- the lhs. Use copy_blkmode_to_reg to copy BLKmode values into a
- RESULT_DECL register.
- (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
- * stmt.c (expand_return): Move BLKmode-to-register code into
- copy_blkmode_to_reg.
-
-2011-10-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/49965
- * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
- (mov<F:mode>cc): Likewise.
-
-2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * tree-ssa-address.c (copy_ref_info): Remove copy of TREE_THIS_NOTRAP.
-
-2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * tree.h (built_in_decls): Delete old interface with two parallel
- arrays to hold standard builtin declarations, and replace it with
- a function based interface that can support creating builtins on
- the fly in the future. Change all uses, and poison the old
- names. Make sure 0 is not a legitimate builtin index.
- (implicit_built_in_decls): Ditto.
- (built_in_info): Ditto.
- (BUILTIN_VALID_P): Ditto.
- (builtin_decl_explicit): Ditto.
- (builtin_decl_implicit): Ditto.
- (set_builtin_decl): Ditto.
- (set_builtin_decl_implicit_p): Ditto.
- (builtin_decl_explicit_p): Ditto.
- (builtin_decl_implicit_p): Ditto.
- * tree-complex.c (expand_complex_libcall): Ditto.
- * tree-loop-distribution.c (generate_memset_zero): Ditto.
- * tree-ssa-strlen.c (get_string_length): Ditto.
- (handle_builtin_strcpy): Ditto.
- (handle_builtin_strcat): Ditto.
- * tree.c (iterative_hash_expr): Ditto.
- (local_define_builtin): Ditto.
- (build_common_builtin_nodes): Ditto.
- * builtins.c (built_in_decls): Ditto.
- (implicit_built_in_decls): Ditto.
- (built_in_info): Ditto
- (expand_builtin_classify_type): Ditto.
- (mathfn_built_in_1): Ditto.
- (expand_builtin_cexpi): Ditto.
- (expand_builtin_mempcpy_args): Ditto.
- (expand_builtin_stpcpy): Ditto.
- (gimplify_va_arg_expr): Ditto.
- (expand_builtin_sync_operation): Ditto.
- (build_builtin_expect_predicate): Ditto.
- (fold_builtin_memory_op): Ditto.
- (fold_builtin_strcpy): Ditto.
- (fold_builtin_stpcpy): Ditto.
- (fold_builtin_strncpy): Ditto.
- (fold_builtin_interclass_mathfn): Ditto.
- (fold_builtin_classify): Ditto.
- (fold_builtin_2): Ditto.
- (fold_builtin_strstr): Ditto.
- (fold_builtin_strrchr): Ditto.
- (fold_builtin_strpbrk): Ditto.
- (fold_builtin_strcat): Ditto.
- (fold_builtin_strncat): Ditto.
- (fold_builtin_strcspn): Ditto.
- (fold_builtin_fputs): Ditto.
- (fold_builtin_sprintf): Ditto.
- (fold_builtin_snprintf): Ditto.
- (expand_builtin_memory_chk): Ditto.
- (fold_builtin_memory_chk): Ditto.
- (fold_builtin_stxcpy_chk): Ditto.
- (fold_builtin_strncpy_chk): Ditto.
- (fold_builtin_strcat_chk): Ditto.
- (fold_builtin_strncat_chk): Ditto.
- (fold_builtin_sprintf_chk_1): Ditto.
- (fold_builtin_snprintf_chk_1): Ditto.
- (fold_builtin_printf): Ditto.
- (fold_builtin_fprintf): Ditto.
- (fold_call_stmt): Ditto.
- (set_builtin_user_assembler_name): Ditto.
- * tree-emutls.c (emutls_common_1): Ditto.
- * omp-low.c (scan_omp): Ditto.
- (lower_rec_input_clauses): Ditto.
- (lower_reduction_clauses): Ditto.
- (expand_parallel_call): Ditto.
- (expand_task_call): Ditto.
- (maybe_catch_exception): Ditto.
- (optimize_omp_library_calls): Ditto.
- (expand_omp_for_generic): Ditto.
- (expand_omp_for_static_nochunk): Ditto.
- (expand_omp_for_static_chunk): Ditto.
- (expand_omp_sections): Ditto.
- (expand_omp_atomic_fetch_op): Ditto.
- (expand_omp_atomic_pipeline): Ditto.
- (expand_omp_atomic_mutex): Ditto.
- (lower_omp_single_simple): Ditto.
- (lower_omp_single_copy): Ditto.
- (lower_omp_master): Ditto.
- (lower_omp_ordered): Ditto.
- (lower_omp_critical): Ditto.
- * tree-ssa-ccp.c (optimize_stdarg_builtin): Ditto.
- * builtins.c (DEF_BUILTIN_STUB): Ditto.
- (BUILT_IN_NONE): Ditto.
- * tree-ssa-math-opts.c (execute_optimize_bswap): Ditto.
- * gimple-low.c (lower_function_body): Ditto.
- (lower_builtin_setjmp): Ditto.
- * c-decl.c (merge_decls): Ditto.
- * tree-eh.c (lower_resx): Ditto.
- (lower_resx): Ditto.
- (lower_eh_dispatch): Ditto.
- * function (gimplify_parameters): Ditto.
- * c-typeck.c (build_function_call_vec): Ditto.
- * gimplify.c (build_stack_save_restore): Ditto.
- (gimplify_vla_decl): Ditto.
- (gimplify_modify_expr_to_memcpy): Ditto.
- (gimplify_modify_expr_to_memset): Ditto.
- (gimplify_variable_sized_compare): Ditto.
- (gimplify_function_tree): Ditto.
- * calls.c (emit_call_1): Ditto.
- * tree-ssa-forprop.c (simplify_builtin_call): Ditto.
- * tree-nested.c (convert_nl_goto_reference): Ditto.
- (convert_tramp_reference_op): Ditto.
- (finalize_nesting_tree_1): Ditto.
- * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
- (tree_ssa_prefetch_arrays): Ditto.
- * tree-streamer-in.c (streamer_get_builtin_tree): Ditto.
- * system.h (built_in_decls): Ditto.
- (implicit_built_in_decls): Ditto.
- * tree-vect-generic.c (expand_vector_operations_1): Ditto.
- * config/sparc/sparc.c (sparc_gimplify_va_arg): Ditto.
- * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
- (ix86_veclibabi_svml): Ditto.
- (ix86_veclibabi_acml): Ditto.
- * config/vms/vms.c (vms_patch_builtins): Ditto.
- * config/ia64/ia64.c (ia64_init_builtins): Ditto.
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Ditto.
- (rs6000_builtin_vectorized_libmass): Ditto.
- (rs6000_init_builtins): Ditto.
- * config/darwin.c (darwin_override_options): Ditto.
- (darwin_patch_builtin): Ditto.
- (darwin_rename_builtins): Ditto.
- * config/pa/pa.c (pa_init_builtins): Ditto.
-
-2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * tree.h (copy_ref_info): Expose existing function.
- * tree-ssa-loop-ivopts.c (copy_ref_info): Move function to...
- * tree-ssa-address.c (copy_ref_info): ...here, and remove static token.
-
-2011-10-11 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (avr_mode_code_base_reg_class): New
- prototype.
- (avr_regno_mode_code_ok_for_base_p): New prototype.
- * config/avr/avr.h (BASE_REG_CLASS): Remove.
- (REGNO_OK_FOR_BASE_P): Remove.
- (REG_OK_FOR_BASE_NOSTRICT_P): Remove.
- (REG_OK_FOR_BASE_STRICT_P): Remove.
- (MODE_CODE_BASE_REG_CLASS): New define.
- (REGNO_MODE_CODE_OK_FOR_BASE_P): New define.
- * config/avr/avr.c (avr_mode_code_base_reg_class): New function.
- (avr_regno_mode_code_ok_for_base_p): New function.
- (avr_reg_ok_for_addr_p): New static function.
- (avr_legitimate_address_p): Use it. Beautify.
-
-2011-10-11 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50447
- * config/avr/avr.md (cc): Add out_plus attribute alternative.
- (addsi3): Use it. Adapt avr_out_plus to new prototype. Use
- avr_out_plus for all CONST_INT addends.
- * config/avr/avr-protos.h (avr_out_plus): Change prototype.
- * config/avr/avr.c (notice_update_cc): Call avr_out_plus on
- CC_OUT_PLUS.
- (avr_out_plus_1): Change prototype and report effect on cc0.
- (avr_out_plus): Ditto.
- (adjust_insn_length): Adapt call to avr_out_plus to new prototype.
-
-2011-10-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_special_args_builtin): Remove
- the extra break.
-
-2011-10-11 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * doc/invoke.texi: Document new warning.
- * common.opt (Wvector-operation-performance): Define new warning.
- * tree-vect-generic.c (expand_vector_piecewise): Warn about expanded
- vector operation.
- (exapnd_vector_parallel): Warn about expanded vector operation.
- (lower_vec_shuffle): Warn about expanded vector operation.
- * c-typeck.c (c_build_vec_perm_expr): Store correct location
- when creating VEC_PERM_EXPR.
-
-2011-10-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50204
- * tree-ssa-alias.c (get_continuation_for_phi_1): Split out
- two argument handling from ...
- (get_continuation_for_phi): ... here. Handle arbitrary number
- of PHI args.
-
-2011-10-11 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c: Fix comment typo. Mention the possibility
- of using scheduling windows of II+1 cycles.
-
-2011-10-11 Tristan Gingold <gingold@adacore.com>
-
- * doc/invoke.texi (C Dialect Options): Document
- -fallow-parameterless-variadic-functions.
- * c-parser.c (c_parser_parms_list_declarator): Handle it.
-
-2011-10-10 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_option_override): Set flag_omit_frame_pointer
- to 0 if frame pointer is needed for unwinding.
-
-2011-10-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR bootstrap/50665
- * optabs.h (DOI_vec_perm): Rename from OTI_vec_perm. Move from enum
- optab_index to enum direct_optab_index.
- (vec_perm_optab): Update.
-
-2011-10-10 Anatoly Sokolov <aesok@post.ru>
-
- * config/cris/cris.c (cris_preferred_reload_class): New function.
- (TARGET_PREFERRED_RELOAD_CLASS): Define.
- * config/cris/cris.h (PREFERRED_RELOAD_CLASS): Remove.
-
-2011-10-10 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*tablejump_rjmp): Change insn condition to
- !AVR_HAVE_JMP_CALL.
- (*tablejump_lib): Change insn condition to AVR_HAVE_JMP_CALL.
- (*tablejump_enh, *tablejump): Remove insns.
- * config/avr/libgcc.S (__tablejump__): Use RET instead of EIND +
- EIJMP for indirect jump. Use LPM Z+ where available.
-
-2011-10-10 Richard Henderson <rth@redhat.com>
-
- * doc/md.texi (vec_perm_const): Fix typo in cindex.
-
-2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
- Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
-
- * config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo.
-
-2011-10-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50389
- * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
- mark symbols for renaming. Append the VUSE to all statements
- that possibly can have one.
-
-2011-10-10 Richard Guenther <rguenther@suse.de>
-
- * ipa-split.c (pass_split_functions): Add verification TODOs.
- (pass_feedback_split_functions): Likewise.
-
-2011-10-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50195
- * fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
- only when optimizing.
-
-2011-10-10 Nick Clifton <nickc@redhat.com>
-
- PR middle-end/49801
- * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
- df_get_live_out instead of accessing the bitmaps directly.
- (execute_compare_elim_after_reload): Remove calls to df_set_flags,
- df_live_add_problem and df_analyze.
-
-2011-10-10 Michael Matz <matz@suse.de>
-
- PR middle-end/50638
- * tree-emutls.c (gen_emutls_addr): Call add_referenced_var.
-
-2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
- (SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
- (node_sched_params): Remove first_reg_move and nreg_moves.
- (ps_num_consecutive_stages, extend_node_sched_params): New functions.
- (update_node_sched_params): Move up file.
- (print_node_sched_params): Print the stage. Don't dump info related
- to first_reg_move and nreg_moves.
- (set_columns_for_row): New function.
- (set_columns_for_ps): Move up file and use set_columns_for_row.
- (schedule_reg_move): New function.
- (schedule_reg_moves): Call extend_node_sched_params and
- schedule_reg_move. Extend size of uses bitmap. Initialize
- num_consecutive_stages. Return false if a move could not be
- scheduled.
- (apply_reg_moves): Don't emit moves here.
- (permute_partial_schedule): Handle register moves.
- (duplicate_insns_of_cycles): Remove for_prolog. Emit moves according
- to the same stage-count test as ddg nodes.
- (generate_prolog_epilog): Update calls accordingly.
- (sms_schedule): Allow move-scheduling to add a new first stage.
-
-2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c (ps_insn): Adjust comment.
- (ps_reg_move_info): New structure.
- (partial_schedule): Add reg_moves field.
- (SCHED_PARAMS): Use node_sched_param_vec instead of node_sched_params.
- (node_sched_params): Turn first_reg_move into an identifier.
- (ps_reg_move): New function.
- (ps_rtl_insn): Cope with register moves.
- (ps_first_note): Adjust comment and assert that the instruction
- isn't a register move.
- (node_sched_params): Replace with...
- (node_sched_param_vec): ...this vector.
- (set_node_sched_params): Adjust accordingly.
- (print_node_sched_params): Take a partial schedule instead of a ddg.
- Use ps_rtl_insn and ps_reg_move.
- (generate_reg_moves): Rename to...
- (schedule_reg_moves): ...this. Remove rescan parameter. Record each
- move in the partial schedule, but don't emit it here. Don't perform
- register substitutions here either.
- (apply_reg_moves): New function.
- (duplicate_insns_of_cycles): Use register indices directly,
- rather than finding instructions using PREV_INSN. Use ps_reg_move.
- (sms_schedule): Call schedule_reg_moves before committing to
- a partial schedule. Try the next ii if the schedule fails.
- Use apply_reg_moves instead of generate_reg_moves. Adjust
- call to print_node_sched_params. Free node_sched_param_vec
- instead of node_sched_params.
- (create_partial_schedule): Initialize reg_moves.
- (free_partial_schedule): Free reg_moves.
-
-2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c (ps_insn): Replace node field with an identifier.
- (SCHED_ASAP): Replace with..
- (NODE_ASAP): ...this macro.
- (SCHED_PARAMS): New macro.
- (SCHED_TIME, SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES, SCHED_ROW)
- (SCHED_STAGE, SCHED_COLUMN): Redefine using SCHED_PARAMS.
- (node_sched_params): Remove asap.
- (ps_rtl_insn, ps_first_note): New functions.
- (set_node_sched_params): Use XCNEWVEC. Don't copy across the
- asap values.
- (print_node_sched_params): Use SCHED_PARAMS and NODE_ASAP.
- (generate_reg_moves): Pass ids to the SCHED_* macros.
- (update_node_sched_params): Take a ps insn identifier rather than
- a node as parameter. Use ps_rtl_insn.
- (set_columns_for_ps): Update for above field and SCHED_* macro changes.
- (permute_partial_schedule): Use ps_rtl_insn and ps_first_note.
- (optimize_sc): Update for above field and SCHED_* macro changes.
- Update calls to try_scheduling_node_in_cycle and
- update_node_sched_params.
- (duplicate_insns_of_cycles): Adjust for above field and SCHED_*
- macro changes. Use ps_rtl_insn and ps_first_note.
- (sms_schedule): Pass ids to the SCHED_* macros.
- (get_sched_window): Adjust for above field and SCHED_* macro changes.
- Use NODE_ASAP instead of SCHED_ASAP.
- (try_scheduling_node_in_cycle): Remove node parameter. Update
- call to ps_add_node_check_conflicts. Pass ids to the SCHED_* macros.
- (sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
- (ps_insert_empty_row): Adjust for above field changes.
- (compute_split_row): Use ids rather than nodes.
- (verify_partial_schedule): Adjust for above field changes.
- (print_partial_schedule): Use ps_rtl_insn.
- (create_ps_insn): Take an id rather than a node.
- (ps_insn_find_column): Adjust for above field changes.
- Use ps_rtl_insn.
- (ps_insn_advance_column): Adjust for above field changes.
- (add_node_to_ps): Remove node parameter. Update call to
- create_ps_insn.
- (ps_has_conflicts): Use ps_rtl_insn.
- (ps_add_node_check_conflicts): Replace node parameter than an id.
-
-2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c (undo_replace_buff_elem): Delete.
- (generate_reg_moves): Don't build and return an undo list.
- (free_undo_replace_buff): Delete.
- (sms_schedule): Adjust call to generate_reg_moves.
- Don't call free_undo_replace_buff.
-
-2011-10-10 Matthias Klose <doko@ubuntu.com>
-
- * common/config/m32c: Remove empty directory.
-
-2011-10-10 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
-
-2011-10-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50652
- * config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
- atmega164a to 0x100.
-
-2011-10-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
- the replacement if the conversion to the LHS type is not useless.
-
-2011-10-09 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50635
- * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add
- DEF_STMT to the list of statements to be replaced by the
- pattern statements.
- (vect_handle_widen_mult_by_const): Don't check TYPE_OUT.
-
-2011-10-09 Anatoly Sokolov <aesok@post.ru>
-
- * system.h: Commit forgotten hunk in previous patch.
- (OUTPUT_ADDR_CONST_EXTRA): Poison.
-
-2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR libobjc/50428
- * doc/objc.texi (Garbage Collection): Updated example to protect
- +initialize against execution in subclasses.
-
-2011-10-07 Richard Henderson <rth@redhat.com>
-
- * doc/extend.texi (__builtin_shuffle): Improve the description to
- include the modulus of the selector. Mention OpenCL.
- * doc/md.texi (vec_perm, vec_perm_const): Document named patterns.
-
- * tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
- * genopinit.c (optabs): Rename vshuffle to vec_perm.
- * c-typeck.c (c_build_vec_perm_expr): Rename from
- c_build_vec_shuffle_expr. Update for name changes.
- * optabs.c (expand_vec_perm_expr_p): Rename from
- expand_vec_shuffle_expr_p.
- (expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
- * optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
- (vec_perm_optab): Rename from vshuffle_optab.
- * expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
- c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
- tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.
-
- * config/i386/i386.c (ix86_expand_vec_perm): Rename from
- ix86_expand_vshuffle.
- * config/i386/i386-protos.h: Update.
- * config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
- (vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.
-
-2011-10-07 Richard Henderson <rth@redhat.com>
-
- * config/i386/predicates.md (avx2_pblendw_operand): New.
- * config/i386/sse.md (sse4_1_pblendw): Un-macroize.
- (avx2_pblendw, *avx2_pblendw): New expander and insn.
-
-2011-10-07 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (bdesc_args): Update code for
- __builtin_ia32_palignr256. Change type of __builtin_ia32_pslldqi256,
- and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
- (ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
- * config/i386/sse.md (mode iterator V16): Add V2TI.
- (mode iterator SSESCALARMODE): Use V2TI not V4DI.
- (mode attr ssse3_avx2): Add V2TI.
- (avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.
-
-2011-10-07 David S. Miller <davem@davemloft.net>
-
- PR 50655
- * configure.ac: Add .register directives to VIS3 test.
- * configure: Regenerate.
-
-2011-10-07 Richard Henderson <rth@redhat.com>
-
- * config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
-
-2011-10-07 Richard Henderson <rth@redhat.com>
-
- PR 49752
- * fold-const.c (fold_checksum_tree): Remove out-of-date assert.
-
-2011-10-07 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/predicates.md (shift_amount_operand): Remove constant
- range check.
- (shift_operator): Check range of constants for all shift operators.
-
-2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion.
- Load GOT pointer for non-pic builds.
- (s390_load_got): Replace pic_offset_table_rtx with hardcoded r12.
- (s390_emit_call): Likewise.
-
-2011-10-07 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/50527
- * tree.c (build_common_builtin_nodes): Add local_define_builtin for
- BUILT_IN_ALLOCA_WITH_ALIGN. Mark that BUILT_IN_ALLOCA_WITH_ALIGN can
- throw.
- * builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
- arglist. Set align for BUILT_IN_ALLOCA_WITH_ALIGN.
- (expand_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
- (is_inexpensive_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
- * tree-ssa-ccp.c (evaluate_stmt): Set align for
- BUILT_IN_ALLOCA_WITH_ALIGN.
- (fold_builtin_alloca_for_var): Rename to ...
- (fold_builtin_alloca_with_align): Set DECL_ALIGN from 2nd
- BUILT_IN_ALLOCA_WITH_ALIGN argument.
- (ccp_fold_stmt): Try folding BUILT_IN_ALLOCA_WITH_ALIGN using
- fold_builtin_alloca_with_align.
- (optimize_stack_restore): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
- * builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
- DEF_BUILTIN_STUB.
- * ipa-pure-const.c (special_builtin_state): Handle
- BUILT_IN_ALLOCA_WITH_ALIGN.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
- (call_may_clobber_ref_p_1): Same.
- * function.c (gimplify_parameters): Lower vla to
- BUILT_IN_ALLOCA_WITH_ALIGN.
- * gimplify.c (gimplify_vla_decl): Same.
- * cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
- * tree-mudflap.c (mf_xform_statements): Same.
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
- (mark_all_reaching_defs_necessary_1, propagate_necessity): Same.
- * varasm.c (incorporeal_function_p): Same.
- * tree-object-size.c (alloc_object_size): Same.
- * gimple.c (gimple_build_call_from_tree): Same.
-
-2011-10-07 Bernd Schmidt <bernds@codesourcery.com>
-
- * function.c (frame_required_for_rtx): Remove function.
- (requires_stack_frame_p): New arg set_up_by_prologue. All callers
- changed. Compute a set of mentioned registers and compare against
- the new arg rather than calling frame_required_for_rtx.
- (thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue
- reg set. Convert the unconverted_simple_returns mechanism to store
- jump insns rather than their basic blocks. Also check the
- orig_entry_edge destination for new blocks.
-
-2011-10-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50650
- * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't
- call vect_is_simple_cond here, instead fail if cond_expr isn't
- COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL
- for cond_expr's first operand.
- * tree-vect-stmts.c (vect_is_simple_cond): Static again.
- * tree-vectorizer.h (vect_is_simple_cond): Remove prototype.
-
-2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md (DWH, dwh): New mode macros.
- ("umulsidi3"): Extend to support "umulditi3" as well.
-
-2011-10-07 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/50603
- * config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of
- integer PLUS RTX to a register to improve address combine.
-
-2011-10-06 Richard Henderson <rth@redhat.com>
-
- * combine-stack-adjust.c (maybe_move_args_size_note): Add after
- parameter; use it to decide whether to merge two notes.
- (combine_stack_adjustments_for_block): Use maybe_move_args_size_note
- for the deallocation case as well.
-
-2011-10-06 Anatoly Sokolov <aesok@post.ru>
-
- * system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
- * doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
- * doc/tm.texi: Regenerate.
- * target.def (output_addr_const_extra): Use
- hook_bool_FILEptr_rtx_false.
- * targhooks.c (default_asm_output_addr_const_extra): Remove.
- * targhooks.h (default_asm_output_addr_const_extra): Remove.
- * hooks.c (hook_bool_FILEptr_rtx_false): New functions.
- * hooks.h (hook_bool_FILEptr_rtx_false): Declare.
-
-2011-10-06 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
- (popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
- SI mode 64-bit code gen case explicitly zero-extend and truncate.
- (*popcount<mode>_sp64): Split up into...
- (*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
- SImode case use truncate.
- (*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
- subtract so the compiler can optimize it.
- (SIDI): Remove unused mode iterator.
-
-2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
-
- * function.c (thread_prologue_and_epilogue_insns): Emit split prologue
- on the orig_entry_edge. Don't account for it in prologue_clobbered.
-
-2011-10-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50596
- * tree-vectorizer.h (vect_is_simple_cond): New prototype.
- (NUM_PATTERNS): Change to 6.
- * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New
- function.
- (vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern.
- (vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt
- if it already has one, and don't set STMT_VINFO_VECTYPE in it
- if it is already set.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle
- COND_EXPR in pattern stmts.
- (vect_is_simple_cond): No longer static.
-
-2001-10-06 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (ix86_expand_vshuffle): Add AVX2 support.
- * config/i386/sse.md (sseshuffint): Remove.
- (sseintvecmode): Support V16HI, V8HI, V32QI, V16QI.
- (VSHUFFLE_AVX2): New mode iterator.
- (vshuffle<mode>): Use it.
- (avx_vec_concat<V_256>): Rename from *vec_concat<V_256>_avx.
-
- * config/i386/i386.c (ix86_expand_sse_movcc): Use correct mode
- for vector_all_ones_operand.
- (ix86_expand_int_vcond): Distinguish between comparison mode
- and data mode. Allow them to differ.
- (ix86_expand_vshuffle): Don't force data mode to match maskmode.
-
-2001-10-06 Richard Henderson <rth@redhat.com>
-
- * optabs.c (expand_vec_shuffle_expr): Use the proper mode for the
- mask operand. Tidy the code.
-
-2011-10-06 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-patterns.c (vect_pattern_recog_1): Use
- vect_recog_func_ptr typedef for the first argument.
- (vect_pattern_recog): Rename vect_recog_func_ptr variable
- to vect_recog_func, use vect_recog_func_ptr typedef for it.
-
- PR tree-optimization/49279
- * tree-ssa-structalias.c (find_func_aliases): Don't handle
- CAST_RESTRICT.
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow
- restrict propagation.
- * tree-ssa.c (useless_type_conversion_p): Don't return false
- if TYPE_RESTRICT differs.
-
-2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
-
- * function.c (thread_prologue_and_epilogue_insns): Build a vector
- of unconverted simple return blocks rather than trying to
- recompute them later based on bb_flags bitmap tests.
-
-2011-10-06 Michael Matz <matz@suse.de>
-
- * tree-flow.h (get_var_ann): Don't declare.
- * tree-flow-inline.h (get_var_ann): Remove.
- (set_is_used): Use var_ann, not get_var_ann.
- * tree-dfa.c (add_referenced_var): Inline body of get_var_ann.
- * tree-profile.c (gimple_gen_edge_profiler): Call
- find_referenced_var_in.
- (gimple_gen_interval_profiler): Ditto.
- (gimple_gen_pow2_profiler): Ditto.
- (gimple_gen_one_value_profiler): Ditto.
- (gimple_gen_average_profiler): Ditto.
- (gimple_gen_ior_profiler): Ditto.
- (gimple_gen_ic_profiler): Ditto plus call add_referenced_var.
- (gimple_gen_ic_func_profiler): Call add_referenced_var.
- * tree-mudflap.c (execute_mudflap_function_ops): Call
- add_referenced_var.
-
-2011-10-06 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
- don't set SSA_NAME_DEF_STMT that has been already set by
- gimple_build_assign_with_ops.
- (vect_recog_pow_pattern, vect_recog_widen_sum_pattern,
- vect_operation_fits_smaller_type, vect_recog_over_widening_pattern):
- Likewise.
-
- * tree.h (avoid_folding_inline_builtin): New prototype.
- * builtins.c (avoid_folding_inline_builtin): No longer static.
- * gimple-fold.c (gimple_fold_builtin): Give up if
- avoid_folding_inline_builtin returns true.
-
-2011-10-06 Richard Guenther <rguenther@suse.de>
-
- * tree-vect-generic.c (vector_element): Look at previous
- generated results.
-
-2011-10-06 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/39950
- * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
- __powerpc__, __PPC__, __unix__.
-
-2011-10-06 Michael Matz <matz@suse.de>
-
- * i386/i386.opt (recip_mask, recip_mask_explicit,
- x_recip_mask_explicit): New variables and cl_target member.
- (mrecip=): New option.
- * i386/i386.h (RECIP_MASK_DIV, RECIP_MASK_SQRT, RECIP_MASK_VEC_DIV,
- RECIP_MASK_VEC_SQRT, RECIP_MASK_ALL, RECIP_MASK_NONE): New bitmasks.
- (TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_VEC_DIV,
- TARGET_RECIP_VEC_SQRT): New tests.
- * i386/i386.md (divsf3): Check TARGET_RECIP_DIV.
- (sqrt<mode>2): Check TARGET_RECIP_SQRT.
- * i386/sse.md (div<mode>3): Check TARGET_RECIP_VEC_DIV.
- (sqrt<mode>2): Check TARGET_RECIP_VEC_SQRT.
- * i386/i386.c (ix86_option_override_internal): Set recip_mask
- for -mrecip and -mrecip=options.
- (ix86_function_specific_save): Save recip_mask_explicit.
- (ix86_function_specific_restore): Restore recip_mask_explicit.
-
- * doc/invoke.texi (ix86 Options): Document the new option.
-
-2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/49049
- * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
-
-2011-10-06 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR target/50305
- * config/arm/arm.c (arm_legitimize_reload_address): Recognize
- output of a previous pass through legitimize_reload_address.
- Do not attempt to optimize addresses if the base register is
- equivalent to a constant.
-
-2011-10-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * function.c (thread_prologue_and_epilogue_insns): Mark
- last_bb_active as possibly unused. It is unused for targets which
- do neither have "return" nor "simple_return" expanders.
-
-2011-10-06 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_ternary_loc): Also fold non-constant
- vector CONSTRUCTORs. Make more efficient.
- * tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
- (cprop_into_stmt): Don't propagate into virtual operands.
- (optimize_stmt): Really dump original statement.
-
-2011-10-06 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (smin3): Revert previous delta.
-
-2011-10-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/38884
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial
- reads from aggregate SSA names.
-
-2011-10-05 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
- argument, truncate it at the beginning instead of allocating there
- and freeing at the end.
- (vect_pattern_recog): Allocate stmts_to_replace here and free at end,
- pass its address to vect_pattern_recog_1.
-
-2011-10-05 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.opt (POPC): New option.
- * doc/invoke.texi: Document it.
- * config/sparc/sparc.c (sparc_option_override): Enable MASK_POPC by
- default on Niagara-2 and later.
- * config/sparc/sparc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
- * config/sparc/sparc.md (SIDI): New mode iterator.
- (ffsdi2): Delete commented out pattern and comments.
- (popcount<mode>2, clz<mode>2): New expanders.
- (*popcount<mode>_sp64, popcountsi_v8plus, popcountdi_v8plus,
- *clzdi_sp64, clzdi_v8plus, *clzsi_sp64, clzsi_v8plus): New insns.
-
-2011-10-06 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- PR middle-end/50607
- * c-tree.h (c_expr_t): New typedef for struct c_expr.
- (C_EXPR_APPEND): New macro.
- * c-parser.c (c_parser_get_builtin_args): Preserve
- original_tree_code of c_expr structure.
- (c_parser_postfix_expression): Adjust to the new function.
-
-2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
-
- * function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
- if profiling after the prologue.
-
-2011-10-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50613
- * tree-ssa-strlen.c (find_equal_ptrs): If CASE_CONVERT
- operand is ADDR_EXPR, fallthru into ADDR_EXPR handling,
- and if it is neither that not SSA_NAME, give up.
-
-2011-10-05 Richard Henderson <rth@redhat.com>
-
- * tree-vect-generic.c (vector_element): Never fail. Use
- build_zero_cst. Tidy up type references.
- (lower_vec_shuffle): Never fail. Mask shuffle indicies. Reduce
- code duplication. Do update_stmt here ...
- (expand_vector_operations_1): ... not here.
-
- * config/i386/i386.c (ix86_expand_vshuffle): Never fail. Handle
- TARGET_XOP. Fix pshufb constant vector creation. Reduce code
- duplication. Handle V2DI without SSE4.1.
- * config/i386/i386-protos.h (ix86_expand_vshuffle): Update decl.
- * config/i386/i386.md (vshuffle<V_128>): Remove assert for ok.
-
-2011-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (distance_non_agu_define): Simplify calculation
- of "found". Simplify return value calculation.
- (distance_agu_use): Ditto.
-
-2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/50621
- * config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only
- if the function was not shrink-wrapped.
- (ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached
- to an insn.
- * function.c (thread_prologue_and_epilogue_insns): Make sure the
- shrink_wrapped flag is set even if there is no dump file.
-
-2011-10-05 DJ Delorie <dj@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.opt (mpid): Define.
- * config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid
- (MULTILIB_DIRNAMES): Add pid.
- * config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val)
- (rx_num_interrupt_regs): New variable.
- (rx_gp_base_regnum): New function. Returns the number of the
- small data area register.
- (rx_pid_base_regnum): New function. Returns the number of the pid
- base register.
- (rx_decl_for_addr): New function. Returns the symbolic part of a MEM.
- (rx_pid_data_operand): New function. Returns whether an object is
- in the position independent data area.
- (rx_legitimize_address): New function. Puts undecided PID
- objects in the PID data area.
- (rx_is_legitimate_address): Add support for PID operands.
- (rx_print_operand_address): Likewise.
- (rx_print_operand): Likewise.
- (rx_maybe_pidify_operand): New function. Determine if an operand
- is suitable for PID addressing.
- (rx_gen_move_template): Add PID support.
- (rx_conditional_register_usage): Likewise.
- (rx_option_override): Initialise rx_num_interrupt_regs.
- (rx_is_legitimate_constant): Add support for PID constants.
- (TARGET_LEGITIMIZE_ADDRESS): Define.
- * config/rx/constraints.md (Rpid): Define.
- (Rpda): Define.
- * config/rx/rx.md (UNSPEC_PID_ADDR): Define.
- (tablejump): Add PID support.
- (mov<>): Likewise.
- (mov<>_internal): Likewise.
- (addsi3): Convert to an expander. Add PID support.
- (pid_addr): New pattern.
- * config/rx/rx.h (CPP_SPEC): Define.
- (ASM_SPEC): Pass -mpid and -mint-register on to assembler.
- (CASE_VECTOR_PC_RELATIVE): Define.
- (JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode.
- * config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype.
- * doc/invoke.texi (RX Options): Document -mpid command line option.
-
-2011-10-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/38885
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads
- from constants.
-
-2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
-
- * doc/invoke.texi (-fshrink-wrap): Document.
- * opts.c (default_options_table): Add it.
- * common.opt (fshrink-wrap): Add.
- * function.c (emit_return_into_block): Remove useless declaration.
- (record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
- requires_stack_frame_p, gen_return_pattern): New static functions.
- (emit_return_into_block): New arg simple_p. All callers changed.
- Use gen_return_pattern.
- (thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
- * config/i386/i386.md (return): Expand into a simple_return.
- (simple_return): New expander):
- (simple_return_internal, simple_return_internal_long,
- simple_return_pop_internal_long, simple_return_indirect_internal):
- Renamed from return_internal, return_internal_long,
- return_pop_internal_long and return_indirect_internal; changed to use
- simple_return.
- * config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
- simple returns.
- (ix86_pad_returns): Likewise.
- * function.h (struct rtl_data): Add member shrink_wrapped.
- * cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
- are not jumps or sibcalls can't be compared.
-
-2011-10-05 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of
- vector type.
- (simplify_unary_expression): Handle BIT_FIELD_REFs.
- (try_to_simplify): Handle BIT_FIELD_REFs.
-
-2011-10-05 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
- * config/avr/avr.c (avr_out_addto_sp): New function.
- (adjust_insn_length): Handle ADJUST_LEN_ADDTO_SP.
- * config/avr/avr.md (adjust_len): Add "addto_sp".
- (*movhi_sp): Remove insn.
- (*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): Merge to *addhi3_sp_R.
-
-2011-10-05 Richard Guenther <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops
- with an embedded expression valueize and fold that as well.
- * tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name
- results from gimple_fold_stmt_to_constant_1.
-
-2011-10-05 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (tablejump): Add missing label.
- (adddi3_internal): Mark operand 0 as early-clobbered.
- (smaxsi3): Revert previous delta.
- (adc_internal): Fix whitespace in generated asm.
- (adc_flags): Likewise.
-
-2011-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * expmed.c (expand_mult_highpart_optab): Replace optab_handler
- with the new widening_optab_handler.
-
-2011-10-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50609
- * gimple-fold.c (fold_array_ctor_reference): Also handle
- vector typed constructors.
- (fold_ctor_reference): Dispatch to fold_array_ctor_reference
- for vector typed constructors.
-
-2011-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_emit_binop): New static function.
- (ix86_split_lea_for_addr): Use ix86_emit_binop to emit add and shl
- instructions.
- (x86_output_mi_thunk): Use ix86_emit_binop to emit add instructions.
-
-2011-10-04 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_FHADD, UNSPEC_FHSUB,
- UNSPEC_XMUL): New unspecs.
- (muldi3_v8plus): Use output_v8plus_mult.
- (*naddsf3, *nadddf3, *nmulsf3, *nmuldf3, *nmuldf3_extend):
- New VIS 3.0 combiner patterns.
- (fhaddsf_vis, fhadddf_vis, fhsubsf_vis, fhsubdf_vis,
- fnhaddsf_vis, fnhaddf_vis, umulxhi_vis, *umulxhi_sp64,
- umulxhi_v8plus, xmulx_vis, *xmulx_sp64, xmulx_v8plus,
- xmulxhi_vis, *xmulxhi_sp64, xmulxhi_v8plus): New VIS 3.0
- builtins patterns.
- * config/sparc/sparc.c (sparc_vis_init_builtins): Emit new builtins.
- (output_v8plus_mult): New function.
- * config/sparc/sparc-protos.h: Declare it.
- * config/sparc/visintrin.h (__vis_fhadds, __vis_fhaddd,
- __vis_fhsubs, __vis_fhsubd, __vis_fnhadds, __vis_fnhaddd,
- __vis_umulxhi, __vis_xmulx, __vis_xmulxhi): New intrinsics.
- * doc/extend.texi: Document new builtins.
-
-2011-10-04 Richard Henderson <rth@redhat.com>
-
- * c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
- Avoid save_expr unless two_arguments.
-
-2011-10-04 Ozkan Sezer <sezeroz@gmail.com>
-
- * config/i386/mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT.
- * config/i386/mingw32.h (CPP_SPEC): Likewise.
-
-2011-10-04 David S. Miller <davem@davemloft.net>
-
- * config/sparc/driver-sparc.c (cpu_names): Fix string for supersparc
- under Linux.
-
-2011-10-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50604
- * builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy,
- fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure
- last argument to memcpy has size_type_node type instead of ssizetype.
- * tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node
- instead of TREE_TYPE (len) as type for newlen.
-
- PR tree-optimization/50522
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test
- TYPE_RESTRICT.
- (ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base
- unconditionally.
-
- * fold-const.c (fold_unary_loc): Don't optimize
- POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by
- casting the inner pointer if it isn't TYPE_RESTRICT.
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through
- casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer.
-
-2011-10-04 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use i386/t-crtstuff.
-
-2011-10-04 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
- * lto-streamer-in.c (lto_input_toplevel_asms): Stream in order.
- * lto-streamer-out.c (lto_output_toplevel_asms): Stream out order.
- * lto-cgraph.c (order_base): New static var.
- (lto_output_node): Stream in order.
- (lto_output_varpool_node): Stream out order.
- (input_node): Stream in order.
- (input_varpool_node): Stream out order.
- (input_cgraph_1): Initialize order base; update call of
- lto_input_toplevel_asms.
-
-2011-10-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50566
- * config/avr/avr-protos.h (avr_legitimize_reload_address): New
- prototype.
- * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Copy worker code
- from here...
- * config/avr/avr.c (avr_legitimize_reload_address) ...to this new
- function. Log if avr_log.legitimize_reload_address.
-
-2011-10-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.
-
-2011-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
- variables. Fix second operand of DR. Swap inputs for sdiv_qrnnd.
-
-2011-10-03 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make
- GSR_REG an input operand to UNSPEC instead of a parallel USE.
- (faligndata<V64I:mode>_vis): Likewise and use DI mode.
- (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis):
- Reference GSR_REG in DI mode, simplify convoluted expressions by using
- zero_extract.
- (bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode.
-
-2011-10-03 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * tree-eh.c (remove_unreachable_handlers): Obvious cleanup.
-
-2011-10-03 Jakub Jelinek <jakub@redhat.com>
- Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_output_typedef): Support printing enum values that
- don't fit in a signed HOST_WIDE_INT.
-
-2011-10-03 Anatoly Sokolov <aesok@post.ru>
-
- * config/cris/cris.c (cris_output_addr_const_extra): Make static.
- (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
- * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
- * config/cris/cris-protos.h (cris_output_addr_const_extra): Remove.
-
-2011-10-03 Anatoly Sokolov <aesok@post.ru>
-
- * config/m68k/m68k.c (m68k_output_addr_const_extra): Make static.
- (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
- * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
- * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove.
-
-2011-10-03 Steve Ellcey <sje@cup.hp.com>
-
- PR target/49967
- * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
- (gcc_cv_ld_static_option): Ditto.
- (gcc_cv_ld_dynamic_option): Ditto.
- * configure: Regenerate.
-
-2011-10-03 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di'
- and 'si' patterns which describe the GSR changes explicitly in the
- RTL using zero_extract.
- (bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec.
-
- * config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap
- GSR_REG in a USE, since it's now a true arg to the UNSPEC.
-
-2011-10-03 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * optabs.c (expand_vec_shuffle_expr_p): New function. Checks
- if given expression can be expanded by the target.
- (expand_vec_shuffle_expr): New function. Expand VEC_SHUFFLE_EXPR
- using target vector instructions.
- * optabs.h: New optab vshuffle.
- (expand_vec_shuffle_expr_p): New prototype.
- (expand_vec_shuffle_expr): New prototype.
- (vshuffle_optab): New optab.
- * genopinit.c: Adjust to support vecshuffle.
- * c-tree.h (c_build_vec_shuffle_expr): New prototype.
- * expr.c (expand_expr_real_2): Adjust.
- * c-typeck.c: (c_build_vec_shuffle_expr): Build a VEC_SHUFFLE_EXPR
- recognizing the cases of two and three arguments.
- (convert_arguments) (build_binary_op)
- (scalar_to_vector) (build_array_ref): Spurious whitespace.
- * gimplify.c (gimplify_exp): Adjusted to support VEC_SHUFFLE_EXPR.
- * tree.def: New tree code VEC_SHUFFLE_EXPR.
- * tree-inline.c (estimate_operator_cost): Recognize VEC_SHUFFLE_EXPR.
- * tree-vect-generic.c (vector_element): New function. Returns an
- element of the vector at the given position.
- (lower_vec_shuffle): Checks if VEC_SHUFLLE_EXPR is supported
- by the backend or expand an expression piecewise.
- (expand_vector_operations_1): Adjusted.
- (gate_expand_vector_operations_noop): New gate function.
- * Makefile.in (tree-vect-generic.o): New include.
- * gimple.c (get_gimple_rhs_num_ops): Adjust.
- * tree-cfg.c (verify_gimple_assign_trenary): Verify VEC_SHUFFLE_EXPR.
- * passes.c: Move veclower down.
- * tree-pretty-print.c (dump_generic_node): Recognize
- VEC_SHUFFLE_EXPR as valid expression.
- * c-parser.c (c_parser_get_builtin_args): Helper function for the
- builtins with variable number of arguments.
- (c_parser_postfix_expression): Use a new helper function for
- RID_CHOOSE_EXPR, RID_BUILTIN_COMPLEX and RID_BUILTIN_SHUFFLE.
- * tree-ssa-operands: Adjust.
- * c-family/c-common.c: New __builtin_shuffle keyword.
- * c-family/c-common.h: New __builtin_shuffle keyword.
- * gcc/doc/extend.texi: Adjust.
-
- * gcc/config/i386/sse.md: (sseshuffint) New mode_attr. Correspondence
- between the vector and the type of the mask when shuffling.
- (vecshuffle<mode>): New expansion.
- * gcc/config/i386/i386-protos.h (ix86_expand_vshuffle): New prototype.
- * gcc/config/i386/i386.c (ix86_expand_vshuffle): New function.
- (ix86_vectorize_builtin_vec_perm_ok): Adjust.
-
-2011-10-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50587
- * tree-ssa-reassoc.c (init_range_entry): Stop iterating when
- arg0 is not a SSA_NAME.
-
-2011-10-03 Richard Sandiford <rdsandiford@googlemail.com>
-
- * ipa-inline-analysis.c (MAX_TIME): Update comment.
-
-2011-10-02 Richard Henderson <rth@redhat.com>
- David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove
- conditional insn type setting, we always emit a shift.
- (*ashlsi3_extend, *lshrsi3_extend0): New patterns.
- (*lshrsi3_extend): Rename to *lshrsi3_extend1.
- * config/sparc/predicates.md (const_one_operand): Delete.
-
-2011-10-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * invoke.texi (SPARC Options): Refer to GNU/Linux.
-
-2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_frame_barrier): New function.
- (mips_expand_prologue): Call it after allocating stack space.
- (mips_deallocate_stack): New function.
- (mips_expand_epilogue): Call mips_frame_barrier and
- mips_deallocate_stack.
-
-2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/49696
- * config/mips/sync.md (sync_<optab>_12): Allow zero operands.
- (sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
- (sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise.
-
-2011-10-02 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
-
- * cgraphunit.c (ipa_passes): Remove unrechable nodes.
- * lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
- * ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
- functions are reachable when address is taken.
- * tree-sra.c (modify_function): Free dominance info.
-
-2011-10-02 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (inline_summary_alloc): Bounds check.
-
- * ipa-inline-analysis.c (reset_inline_edge_summary): New function.
- (reset_inline_summary): New function.
- (compute_inline_parameters, inline_node_removal_hook,
- inline_edge_removal_hook): Use it.
- (inline_free_summary): Reset holders correctly.
- (inline_generate_summary): Free summary before computing it.
-
-2011-10-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR preprocessor/36819
- * incpath.c (merge_include_chains): Call free_path on
- heads[QUOTE] and tails[QUOTE].
-
-2011-10-02 Jan Hubicka <jh@suse.cz>
-
- PR lto/47247
- * lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
- when resolution is already availbale from plugin.
- (lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
- * cgraph.c (ld_plugin_symbol_resolution): Add
- prevailing_def_ironly_exp.
- * lto-cgraph.c (LDPR_NUM_KNOWN): Update.
- * ipa.c (varpool_externally_visible_p): IRONLY variables are never
- externally visible.
- * varasm.c (resolution_to_local_definition_p): Add
- LDPR_PREVAILING_DEF_IRONLY_EXP.
- (resolution_local_p): Likewise.
-
-2011-10-01 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.opt (VIS3): New option.
- * doc/invoke.texi: Document it.
- * config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is
- not capable of such instructions.
- * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
- to 0x300 when TARGET_VIS3.
- * config/sparc/sparc-modes.def: Create 16-byte vector modes.
- * config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32,
- UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs.
- (V64N8, VASS): New mode iterators.
- (vis3_shift, vis3_addsub_ss): New code iterators.
- (vbits, vconstr): New mode attributes.
- (vis3_shift_insn, vis3_addsub_ss_insn): New code attributes.
- (cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis,
- fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis,
- fmean16_vis, fpadd64_vis, fpsub64_vis,
- <vis3_addsub_ss_insn><vbits>_vis, fucmp<code>8<P:mode>_vis): New
- VIS 3.0 instruction patterns.
- * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by
- default when targetting capable cpus. TARGET_VIS3 implies
- TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is disabled.
- (sparc_vis_init_builtins): Emit new VIS 3.0 builtins.
- (sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result
- is ignored.
- * config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16,
- __vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16,
- __vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32,
- __vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16,
- __vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s,
- __vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s,
- __vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8,
- __vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces.
- * doc/extend.texi: Document new VIS 3.0 builtins.
-
-2011-10-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * ira-color.c (assign_hard_reg): Fix typo.
-
-2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/extend.texi: Add missing ','.
-
-2011-09-30 Bernd Schmidt <bernds@codesourcery.com>
-
- * common/config/c6x/c6x-common.c (c6x_option_optimization_table):
- Enable -fmodulo-sched at -O2 and above.
- * config/c6x/c6x.md (doloop_end): New expander.
- (mvilc, sploop, spkernel, loop_end): New patterns.
- (loop_end with memory destination splitter): New.
- * config/c6x/c6x.c: Include "hw-doloop.h".
- (enum unitreqs): New.
- (unit_req_table): New typedef.
- (unit_reqs): New static variable.
- (unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
- res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
- hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
- hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
- (struct c6x_sched_context): New member last_scheduled_iter0.
- (init_sched_state): Initialize it.
- (c6x_variable_issue): Update it.
- (sploop_max_uid_iter0): New static variable.
- (c6x_sched_reorder_1): Be careful about issuing sploop.
- (c6x_reorg): Call c6x_hwlooops before the final schedule.
-
-2011-09-30 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50566
- * config/avr/avr-protos.h (avr_log_t): New field address_cost.
- * config/avr/avr.c (avr_address_cost): Use it.
- * config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
- (avr_log_vadump): Unknown %-codes finish printing.
-
-2011-09-30 Jakub Jelinek <jakub@redhat.com>
-
- PR inline-asm/50571
- * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
- input constraints allow mem and not reg, pass true instead of
- false as second argument to maybe_fold_reference.
-
- PR tree-optimization/46309
- * fold-const.c (make_range, merge_ranges): Remove prototypes.
- (make_range_step): New function.
- (make_range): Use it.
- * tree.h (make_range_step): New prototypes.
- * Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
- * tree-ssa-reassoc.c: Include diagnostic-core.h.
- (struct range_entry): New type.
- (init_range_entry, range_entry_cmp, update_range_test,
- optimize_range_tests): New functions.
- (reassociate_bb): Call optimize_range_tests.
-
-2011-09-30 Jakub Jelinek <jakub@redhat.com>
- Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
- BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
- * tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise. Fix
- handling of BUILT_IN_STRNCAT and BUILT_IN_STRNCAT_CHK.
- (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
- BUILT_IN_STRNCAT, BUILT_IN_STRCAT_CHK and BUILT_IN_STRNCAT_CHK.
-
-2011-09-30 Jan Beulich <jbeulich@suse.com>
-
- * lto-cgraph.c (output_cgraph): Remove processing of
- 'cgraph_asm_nodes', call lto_output_toplevel_asms() instead.
- (input_cgraph_1): Remove loop calling cgraph_add_asm_node(), call
- lto_input_toplevel_asms() instead.
- * lto-section-in.c (lto_section_name): Add "asm" entry.
- * lto-streamer-in.c (lto_input_toplevel_asms): New.
- * lto-streamer-out.c (lto_output_toplevel_asms): New.
- * lto-streamer.h (LTO_minor_version): Bump.
- (enum lto_section_type): Add LTO_section_asm.
- (struct lto_asm_header): New.
- (lto_input_toplevel_asms, lto_output_toplevel_asms): Declare.
- * tree-streamer.h (streamer_write_string_cst): Declare.
- * tree-streamer-out.c (write_string_cst): Rename to
- streamer_write_string_cst and make global. Handle incoming string
- being NULL.
- (streamer_write_tree_header): Adjust call to renamed function.
-
-2011-09-30 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
- modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left,
- modulo_last_stage): New static variables.
- (set_modulo_params, discard_delay_pairs_above): New functions.
- (struct delay_pair): New member stages.
- (htab_i2_traverse, htab_i1_traverse): New static functions.
- (record_delay_slot_pair): New arg stages. All callers changed.
- Record it.
- (pair_delay): Take stages into account.
- (add_delay_dependencies): Don't do so for stage pairs.
- (struct sched_block_state): New member modulo_epilogue.
- (save_backtrack_point): Don't set SHADOW_P for stage pairs.
- (unschedule_insns_until): Decrease modulo_insns_scheduled.
- Set HARD_DEP without using or.
- (resolve_dependencies): New static function.
- (prune_ready_list): New arg modulo_epilogue_p. All callers changed.
- If it is true, allow only insns with INSN_EXACT_TICK set.
- (schedule_block): Return bool, always true for normal scheduling,
- true or false depending on modulo scheduling success otherwise.
- Add bookkeeping for modulo scheduling, and call resolve_dependencies
- on everything left over after a modulo schedule.
- (haifa_sched_init): Remove check_cfg call. Clear modulo_ii.
- * sched-int.h (schedule_block, record_delay_slot_pair): Adjust
- declarations.
- (set_modulo_params, discard_delay_pairs_above): Declare.
- * params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New.
- * doc/invoke.texi (--param): Document it.
-
- * sched-ebb.c (schedule_ebb): No longer static. Remove declaration.
- New arg modulo_scheduling. All callers changed. Move note handling
- code here from schedule_ebbs.
- (schedule_ebbs_finish, schedule_ebbs_init): New functions, broken
- out of schedule_ebbs.
- (schedule_ebbs): Call them. Remove note handling code moved to
- schedule_ebb.
- * sched-int.h (schedule_ebb, schedule_ebbs_init,
- schedule_ebbs_finish): Declare.
-
-2011-09-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50574
- * tree-cfg.c (verify_gimple_comparison): Compare component
- mode sizes for vector comparisons.
-
-2011-09-30 Revital Eres <revital.eres@linaro.org>
-
- * ddg.c (autoinc_var_is_used_p): New function.
- (create_ddg_dep_from_intra_loop_link,
- add_cross_iteration_register_deps): Call it.
- * ddg.h (autoinc_var_is_used_p): Declare.
- * modulo-sched.c (generate_reg_moves): Call autoinc_var_is_used_p.
- (sms_schedule): Handle instructions with REG_INC.
-
-2011-09-30 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (generate_reg_moves): Skip instructions that
- do not set a register and verify no regmoves are created for
- !single_set instructions.
-
-2011-09-30 Bernd Schmidt <bernds@codesourcery.com>
-
- * hw-doloop.c (scan_loop): Compute register usage only for non-debug
- insns.
-
-2011-09-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/50099
- * config/arm/iterators.md (qhs_zextenddi_cstr): New.
- (qhs_zextenddi_op): New.
- * config/arm/arm.md ("zero_extend<mode>di2"): Use them.
- * config/arm/predicates.md ("arm_extendqisi_mem_op"):
- Distinguish between ARM and Thumb2 states.
-
-2011-09-30 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.opt (VIS2): New option.
- * doc/invoke.texi: Document it.
- * config/sparc/sparc.md (UNSPEC_EDGE8N, UNSPEC_EDGE8LN,
- UNSPEC_EDGE16N, UNSPEC_EDGE16LN, UNSPEC_EDGE32N,
- UNSPEC_EDGE32LN, UNSPEC_BSHUFFLE): New unspecs.
- (define_attr type): New insn type 'edgen'.
- (bmask<P:mode>_vis, bshuffle<V64I:mode>_vis, edge8n<P:mode>_vis,
- edge8ln<P:mode>_vis, edge16n<P:mode>_vis, edge16ln<P:mode>_vis,
- edge32n<P:mode>_vis, edge32ln<P:mode>_vis): New insn VIS 2.0
- patterns.
- * niagara.md: Handle edgen.
- * niagara2.md: Likewise.
- * ultra1_2.md: Likewise.
- * ultra3.md: Likewise.
- * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
- to 0x200 when TARGET_VIS2.
- * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS2 by
- default when targetting capable cpus. TARGET_VIS2 implies
- TARGET_VIS, clear and it when TARGET_FPU is disabled.
- (sparc_vis_init_builtins): Emit new VIS 2.0 builtins.
- (sparc_expand_builtin): Fix predicate indexing when builtin returns
- void.
- (sparc_fold_builtin): Do not eliminate bmask when result is ignored.
- * config/sparc/visintrin.h (__vis_bmask, __vis_bshuffledi,
- __vis_bshufflev2si, __vis_bshufflev4hi, __vis_bshufflev8qi,
- __vis_edge8n, __vis_edge8ln, __vis_edge16n, __vis_edge16ln,
- __vis_edge32n, __vis_edge32ln): New VIS 2.0 interfaces.
- * doc/extend.texi: Document new VIS 2.0 builtins.
-
-2011-09-29 Nick Clifton <nickc@redhat.com>
- Bernd Schmidt <bernds@codesourcery.com>
-
- * config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header file.
- * config/frv/frvend.c: Likewise.
- * config/frv/frv.c (frv_function_prologue): Move misplaced
- CALL_ARG_LOCATION notes back to their proper locations.
-
-2011-09-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50566
- * config/avr/avr-log.c (avr_log_vadump): Use %b to print bool.
- * config/avr/avr.c (avr_rtx_costs_1): New static function, renamed
- from avr_rtx_costs.
- (avr_legitimate_address_p): Use avr_edump to print log information
- filtered by avr_log.
- (extra_constraint_Q): Ditto.
- (avr_legitimize_address): Ditto.
- (avr_rtx_costs): Ditto. Rewrite as wrapper for avr_rtx_costs_1.
- (final_prescan_insn): Use avr_log.rtx_costs as filter.
-
-2011-09-29 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/arm-protos.h (arm_modes_tieable_p): Declare.
- * config/arm/arm.h (MODES_TIEABLE_P): Use it.
- * config/arm/arm.c (arm_modes_tieable_p): New function. Allow
- NEON vector and structure modes to be tied.
-
-2011-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * graphite-scop-detection.c (make_close_phi_nodes_unique): New
- forward declaration.
- (remove_duplicate_close_phi): Detect and repair creation of
- duplicate close-phis for a containing loop.
-
-2011-09-27 Andi Kleen <ak@linux.intel.com>
-
- * gcc.c (get_local_tick). Rename to get_random_number. Read from
- /dev/urandom. Add getpid call.
- (compare_debug_dump_opt_spec_function): Drop getpid call.
-
-2011-09-26 Andi Kleen <ak@linux.intel.com>
-
- * toplev.c (init_local_tick): Try reading random seed
- from /dev/urandom.
-
-2011-09-26 Andi Kleen <ak@linux.intel.com>
-
- * hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add.
- * lto-streamer.c (lto_get_section_name): Remove crc32_string.
- Handle numerical random seed.
- * lto-streamer.h (lto_file_decl_data): Change id to
- unsigned HOST_WIDE_INT.
- * toplev.c (random_seed): Add.
- (init_random_seed): Change for numerical random seed.
- (get_random_seed): Return as HOST_WIDE_INT.
- (set_random_seed): Crc32 existing string.
- * toplev.h (get_random_seed): Change to numercal return.
- * tree.c (get_file_function_name): Remove CRC. Handle
- numerical random seed.
-
-2011-09-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50566
- * config.gcc (extra_objs): Add avr-log.o for $target in:
- avr-*-rtems*, avr-*-*.
- * config/avr/t-avr (avr-log.o): New rule to compile...
- * config/avr/avr-log.c: ...this new file.
- * config/avr/avr.opt (mlog=): New option.
- * config/avr/avr-protos.h (avr_edump, avr_fdump): New macros.
- (avr_log_set_caller_e, avr_log_set_caller_f): New prototypes.
- (avr_log_set_avr_log): New prototype.
- (avr_log_t): New typedef.
- (avr_log): New declaration.
- * config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log.
-
-2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * expr.c (do_store_flag): Expand vector comparison by
- building an appropriate VEC_COND_EXPR.
- * c-typeck.c (build_binary_op): Typecheck vector comparisons.
- (c_objc_common_truthvalue_conversion): Adjust.
- * tree-vect-generic.c (do_compare): Helper function.
- (expand_vector_comparison): Check if hardware supports
- vector comparison of the given type or expand vector piecewise.
- (expand_vector_operation): Treat comparison as binary
- operation of vector type.
- (expand_vector_operations_1): Adjust.
-
-2011-09-29 Richard Guenther <rguenther@suse.de>
-
- * tree.c (build_opaque_vector_type): Make opaque vectors
- variant types of the corresponding non-opaque type. Make
- sure to share opaque vector types properly.
-
-2011-09-29 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16,
- UNSPEC_ARRAY32): New unspec.
- (define_attr type): New type 'array'.
- (array{8,16,32}<P:mode>_vis): New patterns.
- * config/sparc/ultra1_2.md: Add reservations for 'array'.
- * config/sparc/ultra3.md: Likewise.
- * config/sparc/niagara.md: Likewise.
- * config/sparc/niagara2.md: Likewise.
- * config/sparc/sparc.c (sparc_vis_init_builtins): Build new
- array builtins.
- * config/sparc/visintrin.h (__vis_array8, __vis_array16,
- __vis_array32): New.
- * doc/extend.texi: Document new VIS builtins.
-
- * config/sparc/sparc.md (gcond_name): Delete unnecessary code attr.
- (VIS pixel-compare insn): Just use <gcond:name>.
-
- * config/sparc/sparc.md (VIS pixel-compare insn): There is only one
- code iterator used, so just use <code>. There are two mode iterators
- so explicitly use <GCM:gcm_name>.
-
-2011-09-29 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for
- Darwin >= 9.
-
-2011-09-28 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE,
- UNSPEC_FCMPGT, UNSPEC_FCMPEQ): Delete and reduce to...
- (UNSPEC_FCMP): New unspec.
- (gcond): New code iterator.
- (gcond_name): New code attr.
- (GCM): New mode iterator.
- (gcm_name): New mode attr.
- (fcmp{le,ne,gt,eq}{16,32}_vis): Reimplement using iterators.
-
-2011-09-28 Oleg Endo <oleg.endo@t-online.de>
-
- PR target/49486
- * config/sh/sh.md (negdi2): Move expansion into split to
- allow more combination options. Add T_REG clobber.
- (abssi2): New expander.
- (*negdi2, *abssi2, *negabssi2): New insns.
- (cneg): Change from insn to insn_and_split. Rename to
- negsi_cond. Add alternative for non-SH4.
-
-2011-09-28 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/neon.md (neon_move_lo_quad_<mode>): Delete.
- (neon_move_hi_quad_<mode>): Likewise.
- (move_hi_quad_<mode>, move_lo_quad_<mode>): Use subreg moves.
-
-2011-09-28 Nick Clifton <nickc@redhat.com>
-
- * config/rx/predicates.md (rx_minmax_operand): New predicate.
- Accepts immediates and a restricted subset of MEMs.
- * config/rx/rx.md (int_modes): New iterator.
- (smaxsi3, sminsi3): Delete and replace with...
- (smax<int_mode>3, smin<int_mode>3): New patterns.
- (umax<>3_u, umax<>3_ur, umax<>3, umin<>3): New patterns.
-
-2011-09-28 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50460
- * fold-const.c (try_move_mult_to_index): Handle &a.array the
- same as &a.array[0].
-
-2011-09-28 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac: Add test for new section attribute
- specifier "e" via define HAVE_GAS_SECTION_EXCLUDE.
- * config.in: Regenerated.
- * configure: Regenerated.
- * config/i386/winnt.c (i386_pe_asm_named_section): Emit
- new section flag "e" for excluded sections, if supported.
- Otherwise we mark section withc SECTION_EXCLUDE flag as never-load.
-
-2011-09-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-27 Sriraman Tallam <tmsriram@google.com>
-
- * output.h (SECTION_EXCLUDE): New macro.
- * varasm.c (default_elf_asm_named_section): Check for SECTION_EXCLUDE.
-
-2011-09-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * fwprop.c (forward_propagate_and_simplify): After checking
- reg/subreg combinations, check whether the modes are the same.
-
-2011-09-27 Bernd Schmidt <bernds@codesourcery.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_add_cfa_restore): New function.
- (mips16e_save_restore_reg): Use it.
- (mips_restore_reg): Likewise. Split double FPRs for
- REG_CFA_RESTORE notes.
-
-2011-09-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/50386
- PR middle-end/50326
- * tree-sra.c (build_ref_for_model): Use the type of the field as
- the type of the COMPONENT_REF.
-
-2011-09-27 Jeff Law <law@redhat.com>
-
- * ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument. Scale
- non-jumping insns by REG_BR_PROB_BASE and the maximum cost by SCALE.
- (find_if_case_1): Use the probability of the THEN clause when
- determining if speculation is profitable.
- (find_if_case_2): Similarly for the ELSE clause.
-
-2011-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * common.opt: Add -foptimize-strlen option.
- * Makefile.in (OBJS): Add tree-ssa-strlen.o.
- (tree-sssa-strlen.o): Add dependencies.
- * opts.c (default_options_table): Enable -foptimize-strlen
- by default at -O2 if not -Os.
- * passes.c (init_optimization_passes): Add pass_strlen
- after pass_object_sizes.
- * timevar.def (TV_TREE_STRLEN): New timevar.
- * params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
- * tree-pass.h (pass_strlen): Declare.
- * tree-ssa-strlen.c: New file.
- * c-decl.c (merge_decls): If compatible stpcpy prototype
- is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
-
-2011-09-27 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/43864
- * tree-ssa-tail-merge.c: New file.
- (struct same_succ_def): Define.
- (same_succ, const_same_succ): New typedef.
- (struct bb_cluster_def): Define.
- (bb_cluster, const_bb_cluster): New typedef.
- (struct aux_bb_info): Define.
- (BB_SIZE, BB_SAME_SUCC, BB_CLUSTER, BB_VOP_AT_EXIT): Define.
- (gvn_uses_equal): New function.
- (same_succ_print, same_succ_print_traverse, update_dep_bb)
- (stmt_update_dep_bb, local_def, same_succ_hash)
- (inverse_flags, same_succ_equal, same_succ_alloc, same_succ_delete)
- (same_succ_reset): New function.
- (same_succ_htab, same_succ_edge_flags)
- (deleted_bbs, deleted_bb_preds): New var.
- (debug_same_succ): New function.
- (worklist): New var.
- (print_worklist, add_to_worklist, find_same_succ_bb, find_same_succ)
- (init_worklist, delete_worklist, delete_basic_block_same_succ)
- (same_succ_flush_bbs, purge_bbs, update_worklist): New function.
- (print_cluster, debug_cluster, update_rep_bb)
- (add_bb_to_cluster, new_cluster, delete_cluster): New function.
- (all_clusters): New var.
- (alloc_cluster_vectors, reset_cluster_vectors, delete_cluster_vectors)
- (merge_clusters, set_cluster): New function.
- (gimple_equal_p, gsi_advance_bw_nondebug_nonlocal, find_duplicate)
- (same_phi_alternatives_1, same_phi_alternatives, bb_has_non_vop_phi)
- (deps_ok_for_redirect_from_bb_to_bb, deps_ok_for_redirect)
- (find_clusters_1, find_clusters): New function.
- (update_vuses, vop_phi, vop_at_entry, replace_block_by): New function.
- (update_bbs): New var.
- (apply_clusters): New function.
- (update_debug_stmt, update_debug_stmts): New function.
- (tail_merge_optimize): New function.
- tree-pass.h (tail_merge_optimize): Declare.
- * tree-ssa-pre.c (execute_pre): Use tail_merge_optimize.
- * Makefile.in (OBJS-common): Add tree-ssa-tail-merge.o.
- (tree-ssa-tail-merge.o): New rule.
- * opts.c (default_options_table): Set OPT_ftree_tail_merge by
- default at OPT_LEVELS_2_PLUS.
- * tree-ssa-sccvn.c (vn_valueize): Move to ...
- * tree-ssa-sccvn.h (vn_valueize): Here.
- * timevar.def (TV_TREE_TAIL_MERGE): New timevar.
- * common.opt (ftree-tail-merge): New switch.
- * params.def (PARAM_MAX_TAIL_MERGE_COMPARISONS)
- (PARAM_MAX_TAIL_MERGE_ITERATIONS): New parameter.
- * doc/invoke.texi (Optimization Options, -O2): Add -ftree-tail-merge.
- (-ftree-tail-merge, max-tail-merge-comparisons)
- (max-tail-merge-iterations): New item.
-
-2011-09-27 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (MAX_TIME): Reduce to avoid overflows.
-
-2011-09-27 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle
- parameters passed by reference; handle loads from non-SSA scalars
- and update comments.
-
-2011-09-27 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/50249
- * reload1.c (reload_reg_reaches_end_p): Accept a reloadnum argument
- instead of opnum and type. All callers changed. Remove useless
- declaration.
- Search forward for other reloads of the same type for the same operand
- using the same register; if any are found, return false.
- (reload_regs_reach_end_p): Same argument changes; all callers changed.
-
-2011-09-27 Andi Kleen <ak@linux.intel.com>
- Jan Hubicka <jh@suse.cz>
-
- * doc/invoke.texi (ffat-lto-objects): Document.
- * toplev.c (compile_file): Do not output assembly when doing slim lto;
- Output __gnu_slim_lto when doing slim lto.
- * cgraphunit.c (ipa_passes): Do only analysis when producing slim lto.
- (cgraph_optimize): Return early when doing slim lto.
- * opts.c (finish_options): Complain about lack of linker plugin
- when doing slim lto.
- * common.opt (ffat-lto-objects): New.
-
-2011-09-27 Richard Sandiford <richard.sandiford@linaro.org>
-
- * ipa-inline-analysis.c (predicate_probability): Avoid comparison
- between signed and unsigned.
-
-2011-09-27 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic block
- vectorization.
- (vectorizable_type_promotion): Likewise.
- (vect_analyze_stmt): Call vectorizable_type_demotion and
- vectorizable_type_promotion for basic blocks.
- (supportable_widening_operation): Don't assume loop vectorization.
- * tree-vect-slp.c (vect_build_slp_tree): Allow multiple types for
- basic blocks. Update vectorization factor for basic block
- vectorization.
- (vect_analyze_slp_instance): Allow multiple types for basic block
- vectorization. Recheck unrolling factor after construction of SLP
- instance.
-
-2011-09-27 Richard Guenther <rguenther@suse.de>
-
- * tree-object-size.c (compute_object_sizes): Fix dumping of
- folded statement.
-
-2011-09-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50363
- * tree-ssa-pre.c (create_expression_by_pieces): Handle
- pointer conversions in POINTER_PLUS_EXPRs properly.
-
-2011-09-27 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/neon.md (neon_vget_highv16qi, neon_vget_highv8hi)
- (neon_vget_highv4si, neon_vget_highv4sf, neon_vget_highv2di)
- (neon_vget_lowv16qi, neon_vget_lowv8hi, neon_vget_lowv4si)
- (neon_vget_lowv4sf, neon_vget_lowv2di): Turn into define_expands
- that produce subreg moves. Define using VQX iterators.
-
-2011-09-27 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (ashrqi3): Split alternative "n"
- into its remaining parts C03, C04, C05, C06, C07 and describe
- impact in CC by attribute "cc" appropriately.
- * config/avr/avr.c (notice_update_cc): Clean-up: Don't patch CC0
- by digging RTX.
-
-2011-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
- from 3 x MAX_MACHINE_MODE.
- (CONSTM1_RTX): Define.
- * emit-rtl.c (const_tiny_rtx): Change into array of
- 4 x MAX_MACHINE_MODE from 3 x MAX_MACHINE_MODE.
- (gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are
- CONSTM1_RTX.
- (init_emit_once): Initialize CONSTM1_RTX for MODE_INT and
- MODE_VECTOR_INT modes.
- * simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>:
- Optimize if one operand is CONSTM1_RTX.
- * config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x
- into mask | x.
-
-2011-09-26 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (edge{8,16,32}{,l}): Return Pmode.
- (fcmp{le,ne,gt,eq}{16,32}): Likewise.
- * config/sparc/visintrin.h: Update edge and pixel-compare
- intrinsics to return 'long' instead of 'int'.
- * doc/extend.texi: Update documentation to match.
- * config/sparc/sparc.c (eligible_for_return_delay): When leaf or
- flat, allow any instruction. Otherwise, when V9 allow parallels
- which consist only of sets to registers outside of %o0 to %o5.
- (sparc_vis_init_builtins): Update VIS builtin types for edge
- and pixel-compare.
-
- * config/sparc/sparc.c (sparc_conditional_register_usage): When VIS
- is enabled, mark %gsr as global.
- * config/sparc/sparc.md (UNSPEC_WRGSR): Delete.
- (wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus): Don't wrap in an unspec.
-
- * config/sparc/sparc-c.c: New file implementing sparc_target_macros,
- which will now define __VIS and __VIS__ when -mvis is enabled.
- * config/sparc/t-sparc: Likewise.
- * config.gcc: Add sparc-c.o to c_target_objs and cxx_target_objs,
- and add t-sparc to tmake_file for all sparc targets.
- * config/sparc/sparc-protos.h (sparc_target_macros): Declare.
- * config/sparc/sparc.h (TARGE_CPU_CPP_BUILTINS): Call it.
-
- * config/sparc/sparc.c (sparc_vis_init_builtins): Add explicit
- builtins for VIS vector addition and subtraction.
- * config/sparc/visintrin.h (__vis_fpadd16, __vis_fpadd16s,
- __vis_fpadd32, __vis_fpadd32s, __vis_fpsub16, __vis_fpsub16s,
- __vis_fpsub32, __vis_fpsub32s): New.
- * doc/extend.texi: Document new VIS intrinsics.
-
-2011-09-26 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (peephole casesi+2): Use -1 instead of 65536.
- * config/avr/avr.c (avr_out_compare): Print shorter sequence for
- EQ/NE comparisons against +/-1 in the case of unused-after,
- non-ld-regs target.
-
-2011-09-26 Jakub Jelinek <jakub@redhat.com>
-
- * gimple-fold.c (gimplify_and_update_call_from_tree): Set
- gctx.into_ssa after push_gimplify_context.
-
- * gimple.c (gimple_build_call_valist): New function.
- * gimple.h (gimple_build_call_valist): New prototype.
- * tree-ssa-propagate.c (finish_update_gimple_call): New function.
- (update_gimple_call): Likewise.
- (update_call_from_tree): Use finish_update_gimple_call.
- * tree-ssa-propagate.h (update_gimple_call): New prototype.
-
-2011-09-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50472
- * gimple-fold.c (fold_const_aggregate_ref_1): Do not fold
- volatile references.
-
-2011-09-26 Bingfeng Mei <bmei@broadcom.com>
-
- * doc/tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.
- * target.def: (addr_space_subset_p): Likewise.
-
-2011-09-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-alias.h (pt_solution_singleton_p): Declare.
- * tree-ssa-structalias.c (pt_solution_singleton_p): New function.
- * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Set points-to solution
- of new var.
-
-2011-09-26 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50465
- * config/avr/avr-protos.h (output_reload_insisf): Don't pass insn.
- * config/avr/avr.md (*reload_insi, *reload_insf): Change call to
- output_reload_insisf.
- (adjust_len): Set default to "no".
- Remove alternative "yes". Add alternatives: "mov8", "mov16",
- "mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi",
- "lshrhi", "ashlsi, "ashrsi", "lshrsi".
- (*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3,
- *ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3,
- *ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const,
- *lshrsi3_const): Set attribute "adjust_len".
- * config/avr/avr.c (output_reload_insisf): Remove parameter "insn".
- (output_movsisf): Don't pass insn to output_reload_insisf.
- (adjust_insn_length): Handle new alternatives to adjust_len.
- Remove handling of ADJUST_LEN_YES. Clean-up code.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of
- may_trap_p to detect loads that may trap of fault.
-
-2011-09-26 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (output_reload_inhi): Change prototype.
- * config/avr/avr.md (adjust_len): Add "reload_in16" alternative.
- (*reload_inhi): Use it. Adapt call to output_reload_inhi to new
- prototype.
- (*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L".
- * config/avr/avr.c: Rename output_reload_insisf_1 to
- output_reload_in_const.
- (avr_popcount_each_byte): Handle SFmode, too.
- (output_reload_in_const): Change so it can handle HI loads, too.
- Use avr_popcount_each_byte to work out if scratch register must be
- created on the fly.
- (output_reload_inhi): Rewrite using output_reload_in_const and...
- (output_movhi): ...use it to print constants' loads.
- (adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code.
-
-2011-09-25 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md (C, P, Z): New constraints for
- const_doube, const_int, and const_vector "all ones" values.
- Make unused constraint letters comment match reality.
- * config/sparc/predicates.md (const_all_ones_operand,
- register_or_zero_or_all_ones_operand): New predicates.
- * config/sparc/sparc.c (sparc_expand_move): Allow all ones
- as well as zero constants when VIS.
- (sparc_legitimate_constant_p): Likewise.
- * config/sparc/sparc.md (movsi_insn): Add fones alternative.
- (movsf_insn): Likewise
- (movdi_insn_sp64): Add fone alternative.
- (movdf_insn_sp32_v9): Likewise.
- (movdf_insn_sp64): Likewise.
-
- * configure.ac: Add feature check to make sure the assembler
- supports the FMAF, HPC, and VIS 3.0 instructions found on
- Niagara-3 and later cpus.
- * configure: Rebuild.
- * config.in: Likewise.
- * config/sparc/sparc.opt: New option '-mfmaf'.
- * config/sparc/sparc.md: Add float fused multiply-add patterns.
- * config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro.
- (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed.
- * config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC,
- ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise.
- * config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on
- by default for Niagara-3 and later. Turn it off if TARGET_FPU is
- disabled.
- (sparc_rtx_costs): Handle 'FMA'.
- * doc/invoke.texi: Document -mfmaf.
-
-2011-09-25 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Treat
- TYPE_RESTRICT REFERENCE_TYPE parameters like restricted
- DECL_BY_REFERENCE parameters.
-
-2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore
- if there is no outgoing edge.
-
- * tree-scalar-evolution.c (simple_iv): Accept all kinds of pointer and
- integral types.
-
-2011-09-25 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part
- of vect_analyze_bb here.
- (vect_analyze_bb): Loop over vector sizes calling vect_analyze_bb_1.
-
-2011-09-25 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-data-ref.c (dr_analyze_innermost): Add new argument.
- Allow not simple iv if analyzing basic block.
- (create_data_ref): Update call to dr_analyze_innermost.
- (stmt_with_adjacent_zero_store_dr_p, ref_base_address): Likewise.
- * tree-loop-distribution.c (generate_memset_zero): Likewise.
- * tree-predcom.c (find_looparound_phi): Likewise.
- * tree-data-ref.h (dr_analyze_innermost): Add new argument.
-
-2011-09-24 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.h (FIRST_PSEUDO_REGISTER): Bump to 103.
- (SPARC_GSR_REG): Define.
- (FIXED_REGISTERS): Mark GSR as fixed.
- (CALL_USED_REGISTERS): Mark GSR as call used.
- (HARD_REGNO_NREGS): GSR is always 1 register.
- (REG_CLASS_CONTENTS): Add GSR to ALL_REGS.
- (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Add GSR to the end.
- (REGISTER_NAMES): Add "%gsr".
- * config/sparc/sparc.md (UNSPEC_ALIGNADDR, UNSPEC_ALIGNADDRL): Delete.
- (UNSPEC_WRGSR): New unspec.
- (GSR_REG): New constant.
- (type): Add new insn type 'gsr'.
- (fpack16_vis, fpackfix_vis, fpack32_vis,
- faligndata<V64I:MODE>_vis)): Add use of GSR_REG.
- (wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus, rdgsr_vis, *rdgsr_sp64,
- rdgsr_v8plus): New expanders and insns.
- (alignaddr<P:mode>_vis, alignaddrl<P:mode>_vis): Reimplement
- using patterns which show that this is a plus in addition to a
- modification of GSR_REG, instead of an unspec.
- * config/sparc/ultra1_2.md: Handle 'gsr'.
- * config/sparc/ultra3.md: Likewise.
- * config/sparc/niagara.md: Likewise.
- * config/sparc/niagara2.md: Likewise.
- * config/sparc/sparc.c (leaf_reg_remap, sparc_leaf_regs): Fill out
- end of table.
- (sparc_option_override): Make -mvis imply -mv8plus.
- (hard_32bit_mode_classes, hard_64bit_mode_classes): Add entries
- for %gsr.
- (sparc_vis_init_builtins): Build __builtin_vis_write_gsr and
- __builtin_vis_read_gsr.
- (sparc_expand_buildin): Handle builtins that take one argument and
- return void.
- (sparc_fold_builtin): Never fold writes to %gsr.
- * config/sparc/visintrin.h (__vis_write_gsr, __vis_read_gsr): New.
- * doc/extend.texi: Document new VIS intrinsics.
-
-2011-09-23 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (inline_call): Add comment.
- * ipa-inline.h (inline_param_summary): New structure and vector.
- (struct inline_edge_summary): Add param field.
- * ipa-inline-analysis.c (CHANGED): New constant.
- (add_clause): Handle CHANGED and NOT_CONSTANT.
- (predicate_probability): New function.
- (dump_condition): Dump CHANGED predicate.
- (evaluate_conditions_for_known_args): Handle ERROR_MARK as marker
- of unknown function wide invariant.
- (evaluate_conditions_for_edge): Handle change probabilities.
- (inline_edge_duplication_hook): Copy param summaries.
- (inline_edge_removal_hook): Free param summaries.
- (dump_inline_edge_summary): Fix dumping of indirect edges and callee
- sizes; dump param summaries.
- (will_be_nonconstant_predicate): Use CHANGED predicate.
- (record_modified_bb_info): New structure.
- (record_modified): New function.
- (param_change_prob): New function.
- (estimate_function_body_sizes): Compute param summaries.
- (estimate_edge_size_and_time): Add probability argument.
- (estimate_node_size_and_time): Add inline_param_summary argument;
- handle predicate probabilities.
- (remap_predicate): Fix formating.
- (remap_edge_change_prob): New function.
- (remap_edge_summaries): Rename from ...; use remap_edge_change_prob.
- (remap_edge_predicates): ... this one.
- (inline_merge_summary): Remap edge summaries; handle predicate
- probabilities; remove param summaries after we are done.
- (do_estimate_edge_time): Update.
- (do_estimate_edge_growth): Update.
- (read_inline_edge_summary): Read param info.
- (inline_read_summary): Fix formating.
- (write_inline_edge_summary): Write param summaries.
-
-2011-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_print_operand): Handle %~.
- (ix86_print_operand_punct_valid_p): Return true also for '~'.
- * config/i386/sse.md (i128): New mode_attr.
- (vec_extract_hi_<mode>, vec_extract_hi_<mode>,
- avx_vbroadcastf128_<mode>, *avx_vperm2f128<mode>_full,
- *avx_vperm2f128<mode>_nozero, vec_set_lo_<mode>,
- vec_set_hi_<mode>, *vec_concat<mode>_avx): Use <i128> in the
- patterns, use "<sseinsnmode>" for "mode" attribute.
- (vec_extract_hi_v16hi, vec_extract_hi_v32qi, vec_set_lo_v16hi,
- vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Use
- %~128 in the patterns, use "OI" for "mode" attribute.
-
-2011-09-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50447
- * config/avr/avr.md (adjust_len): Add alternatives "tsthi",
- "tstsi", "compare".
- (*cmpqi_sign_extend): Use s8_operand.
- (*cmphi, *cmpsi): Rewrite using avr_out_compare.
- * config/avr/avr-protos.h (compare_diff_p, compare_eq_p): Remove
- prototypes.
- (out_tsthi, out_tstsi): Remove prototypes.
- (avr_out_tsthi, avr_out_tstsi): New prototypes.
- * config/avr/avr.c (out_tsthi, out_tstsi): Remove functions.
- (avr_asm_len): Negative length now sets *plen to -length.
- (compare_sign_p): Return bool instead of int.
- (compare_diff_p, compare_eq_p): Ditto and make static.
- (avr_out_tsthi): New function.
- (avr_out_tstsi): New function.
- (avr_out_compare): New function.
- (adjust_insn_length): Handle ADJUST_LEN_TSTHI, ADJUST_LEN_TSTSI,
- ADJUST_LEN_COMPARE.
-
-2011-09-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50447
- * config/avr/avr.md: (adjust_len): Add alternative "out_plus".
- (addsi3): Rewrite using QI scratch register. Adjust text
- peepholes using plus:SI.
- (*addsi3_zero_extend.hi): New insn.
- (*subsi3_zero_extend.hi): New insn.
- (*subhi3_zero_extend1): Set attribute "cc" to "set_czn".
- (*subsi3_zero_extend): Ditto.
- (subsi3): Change predicate #2 to register_operand.
- * config/avr/avr-protos.h (avr_out_plus): New prototype.
- (avr_out_plus_1): New static function.
- (avr_out_plus): New function.
- (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS.
-
-2011-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): For
- GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX.
-
-2011-09-23 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_define): Treat a single character in single quotes,
- or a string, as an operand.
-
-2011-09-23 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (jump_func_type): Updated comments.
- (ipa_known_type_data): New type.
- (ipa_jump_func): Use it to describe known type jump functions.
- * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Updated to
- reflect the new known type jump function contents.
- (compute_known_type_jump_func): Likewise.
- (combine_known_type_and_ancestor_jfs): Likewise.
- (try_make_edge_direct_virtual_call): Likewise.
- (ipa_write_jump_function): Likewise.
- (ipa_read_jump_function): Likewise.
- * ipa-cp.c (ipa_value_from_known_type_jfunc): New function.
- (ipa_value_from_jfunc): Use ipa_value_from_known_type_jfunc.
- (propagate_accross_jump_function): Likewise.
-
-2011-09-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50446
- * config/avr/avr.md (rotlqi3): Support all offsets 0..7.
- (rotlqi3_4): Turn insn into expander.
- (*rotlqi3): New insn.
- (rotlhi3, rotlsi3): Support rotate left/right by 1.
- (*rotlhi2.1, *rotlhi2.15): New insns.
- (*rotlsi2.1, *rotlsi2.31): New insns.
- * config/avr/constraints.md (C03, C05, C06, C07): New constraints.
-
-2011-09-23 Bin Cheng <bin.cheng@arm.com>
-
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-m arch and processors.
-
-2011-09-22 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * ipa-prop.c (ipa_print_node_jump_functions): Fix typos.
-
-2011-09-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * reload.c (find_reloads): Set operand_mode to Pmode for address
- operands consisting of just a CONST_INT.
-
-2011-09-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50482
- * config/i386/i386.c (ix86_expand_sse_movcc): When generating
- blendv, force op_true to register if it doesn't satisfy
- nonimmediate_operand predicate.
-
-2011-09-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR middle-end/50113
- PR middle-end/50061
- * calls.c (emit_library_call_value_1): Use BLOCK_REG_PADDING to
- get the locate.where_pad value for register-only arguments.
- * config/arm/arm.c (arm_pad_arg_upward): Remove HFmode handling.
- (arm_pad_reg_upward): Handle null types.
-
-2011-09-22 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c: Fix overly long lines.
-
-2011-09-22 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (inline_call): Always update jump functions
- after inlining.
- * ipa-inline.c (ipa_inline): Likewise; do not call
- ipa_create_all_structures_for_iinln.
- (ipa_inline): Always free jump functions.
- * ipa-inline-analysis.c (evaluate_conditions_for_edge): Remove hack.
- (remap_edge_predicates): Fix pasto.
- (inline_merge_summary): Remove nlined edge predicate; remove hack.
- (inline_analyze_function): Always initialize jump functions.
- (inline_generate_summary): Likewise.
- (inline_write_summary): Always write jump functions when ipa-cp
- is not doing that.
- (inline_read_summary): Always read jump functions when ipa-cp
- is not doing that.
- * ipa-prop.c (iinlining_processed_edges): Remove.
- (update_indirect_edges_after_inlining): Do not use
- iinlining_processed_edges; instead set param_index to -1.
- (propagate_info_to_inlined_callees): Only try to indirect inlining
- when asked to do so; update jump functions of indirect calls, too;
- remove jump functions of the inlined edge.
- (ipa_edge_duplication_hook): Do not copy iinlining_processed_edges.
- (ipa_create_all_structures_for_iinln): Remove.
- (ipa_free_all_structures_after_iinln): Do not free
- iinlining_processed_edges.
- * ipa-prop.h (ipa_create_all_structures_for_iinln): Remove.
-
-2011-09-22 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/predicates.md (expandable_comparison_operator): New
- predicate, extracted from...
- (arm_comparison_operator): ...here.
- * config/arm/arm.md (cbranchsi4, cbranchsf4, cbranchdf4, cbranchdi4)
- (cstoresi4, cstoresf4, cstoredf4, cstoredi4, movsicc, movsfcc)
- (movdfcc): Use expandable_comparison_operator.
-
-2011-09-22 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50447
- PR target/50465
- * config/avr/avr-protos.h (avr_out_bitop): New prototype.
- (avr_popcount_each_byte): New prototype.
- * config/avr/avr.c (avr_popcount): New static function.
- (avr_popcount_each_byte): New function.
- (avr_out_bitop): New function.
- (adjust_insn_length): ADJUST_LEN_OUT_BITOP dispatches to
- avr_out_bitop. Cleanup code.
- * config/avr/constraints.md (Ca2, Co2, Cx2): New constraints.
- (Ca4, Co4, Cx4): New constraints.
- * config/avr/avr.md (adjust_len): Add "out_bitop" insn attribute
- alternative.
- (andhi3, iorhi3, xorhi3): Rewrite insns using avr_out_bitop.
- (andsi3, iorsi3, xorsi3): Ditto.
- (*iorhi3_clobber, *iorsi3_clobber): Remove insns.
-
-2011-09-22 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50451
- * tree-vect-slp.c (vect_get_constant_vectors): Don't fail for
- constant operands in reduction.
- (vect_get_slp_defs): Don't create vector operand for NULL scalar
- operand.
-
-2011-09-22 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (sparc_vis_init_builtins): Do not mark
- fpack16, fpack32, fpackfix as const.
-
- * config/sparc/sparc.md (G[0-7]_REG, O[0-7]_REG, L[0-7]_REG,
- I[0-7]_REG, F[0-62]_REG, FCC[0-3]_REG, CC_REG, SFP_REG): New
- constants. Use them everywhere.
-
-2011-09-22 Oleg Endo <oleg.endo@t-online.de>
-
- * config/sh/sh.c (andcosts): Renamed to and_xor_ior_costs.
- Added AND special case. Adapted comments.
- (sh_rtx_costs): Added XOR and IOR case.
-
-2011-09-21 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analsis.c (compute_inline_parameters): Set
- cfun and current_function_decl.
-
-2011-09-21 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Allow
- handled components in parameter of builtin_constant_p.
- (will_be_nonconstant_predicate): Allow loads of non-SSA parameters.
-
-2011-09-21 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (relative_time_benefit): Fix wrong bracketting.
- * ipa-inline.h (estimate_edge_time): Fix pasto.
- * ipa-inline-analysis.c (do_estiamte_edge_time): Remove capping.
-
-2011-09-21 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_expand_sse_movcc): Use
- blendvps, blendvpd and pblendvb if possible.
-
-2011-09-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50464
- * config/i386/sse.md (xop_pcmov_<mode><avxsizesuffix>): Change
- operand 1 predicate to register_operand and operand 2 predicate
- to nonimmediate_operand.
- * config/i386/i386.c (ix86_expand_sse_movcc): When generating
- xop_pcmov, force op_true to register. Also, force op_false to
- register if it doesn't satisfy nonimmediate_operand predicate.
-
-2011-09-21 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/bmi2intrin.h (_mulx_u64): New.
- (_mulx_u32): Ditto.
-
-2011-09-21 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/50433
- * ipa-inline-analysis.c (eliminated_by_inlining_prob):
- Use get_base_address.
-
-2011-09-21 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (<code><mode>3 smaxmin:VI124_128 expander): Use
- nonimmediate_operand instead of register_operand predicate for operands
- 1 and 2, force them into registers if expanding them as comparison.
- (<code><mode>3 umaxmin:VI124_128 expander): Similarly. For UMAX
- V8HImode force into register just operand 1.
-
-2011-09-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/45099
- * config/avr/avr.c (avr_function_arg_advance): Change error to
- warning if a fixed register is needed as function argument.
-
-2011-09-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50449
- PR target/50465
- * config/avr/avr.md (adjust_len): New insn attribute.
- (*reload_insi, *reload_insf): Use it.
- (*movsi, *movsf): Use new interface of output_movsisf.
- * config/avr/avr-protos.h (output_movsisf): Change prototype.
- * config/avr/avr.c (output_movsisf): Ditto.
- (adjust_insn_length): Use insn attribute "adjust_len" to adjust
- lengths of insns *reload_insi, *reload_insf.
- (output_reload_insisf_1): New static function.
- (output_reload_insisf): Use it.
-
-2011-09-21 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.c (def_builtin): Change from macro into function.
- (def_builtin_const): New.
- (sparc_vis_init_builtins): Use def_builtin_const for all VIS builtins
- other than alignaddr and falignaddr.
-
- * config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE, UNSPEC_FCMPGT,
- UNSPEC_FCMPEQ): New unspec codes.
- (fcmple16_vis, fcmple32_vis, fcmpne16_vis, fcmpne32_vis, fcmpgt16_vis,
- fcmpgt32_vis, fcmpeq16_vis, fcmpeq32_vis): New patterns.
- * config/sparc/sparc.c (sparc_vis_init_builtins): Create builtins for
- new pixel compare VIS patterns.
- * config/sparc/visintrin.h (__vis_fcmple16, __vis_fcmple32,
- __vis_fcmpne16, __vis_fcmpne32, __vis_fcmpgt16, __vis_fcmpgt32,
- __vis_fcmpeq16, __vis_fcmpeq32): New.
- * doc/extend.texi: Document new pixel compare VIS intrinsics.
-
-2011-09-21 Tom de Vries <tom@codesourcery.com>
-
- * final.c (final): Handle if JUMP_LABEL is not LABEL_P.
-
-2011-09-20 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_ALIGNADDRL): New unspec.
- (aligneddrl<P:mode>_vis): New pattern.
- (edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
- edge32l_vis): Adjust to take Pmode arguments, and return SImode.
- * config/sparc/sparc.c (sparc_vis_init_builtins): Handle new
- alignaddrl insn, and adjust edge operations for updated types.
- * config/sparc/visintrin.h: Likewise.
- * doc/extend.texi: Make typing in VIS documentation match reality.
-
-2011-09-20 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm-arches.def: Add armv6s-m.
- * config/arm/arm-tables.opt: Regenerate.
-
-2011-09-20 Wei Guozhi <carrot@google.com>
-
- PR rtl-optimization/49452
- * postreload.c (reload_combine): Invalidate use information when across
- volatile insn.
-
-2011-09-19 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * haifa-sched.c (has_edge_p, prev_non_location_insn, check_cfg):
- Remove maintenance overhead.
- (haifa_sched_init, sched_finish): Update.
-
-2011-09-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/mmx.md (*mov<mode>_internal_rex64): Use if_then_else RTX
- to calculate unit, prefix_rep and prefix_data16 attributes.
- (*mov<mode>_internal): Ditto for unit attribute.
- (*movv2sf_internal_rex64): Ditto for unit and prefix_rep attributes.
- (*movv2sf_internal): Ditto.
- * config/i386/sse.md (VI1248_256): Remove mode iterator.
- (avx2_eq<mode>3): Use VI_256 instead of VI1248_256.
- (*avx2_eq<mode>3): Ditto.
- (avx2_gt<mode>3): Ditto.
-
-2011-09-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (maxmin): New code iterator.
- * config/i386/sse.md (<maxmin:code><mode>3): Macroize expander
- from <umaxmin:code><mode>3 and <smaxmin:code><mode>3 using maxmin
- code iterator.
- (*avx2_<maxmin:code><mode>3): Macroize isn from
- *avx2_<umaxmin:code><mode>3 and *avx2_<smaxmin:code><mode>3 using
- maxmin code iterator.
- (<smaxmin:code><VI124_128:mode>3): Merge with <smaxmin:code>v8hi3.
- (<umaxmin:code><VI124_128:mode>3): Merge with umaxv4si3 and
- <umaxmin:code>v16qi3.
-
-2011-09-19 Alan Modra <amodra@gmail.com>
- Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/50341
- * config/rs6000/rs6000.md (call_indirect_aix<ptrsize>): Do not
- split the load of the indirect function's TOC from the call to
- prevent the compiler from moving the load of the new TOC above
- code that references the current function's TOC.
- (call_indirect_aix<ptrsize>_internal): Ditto.
- (call_indirect_aix<ptrsize>_nor11): Ditto.
- (call_indirect_aix<ptrsize>_internal2): Ditto.
- (call_value_indirect_aix<ptrsize>): Ditto.
- (call_value_indirect_aix<ptrsize>_internal): Ditto.
- (call_value_indirect_aix<ptrsize>_nor11): Ditto.
- (call_value_indirect_aix<ptrsize>_internal2): Ditto.
-
-2011-09-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (*sse4_1_extractps): Change into
- define_insn_and_split, add =x 0 n and =x x n alternatives
- and split them after reload.
-
-2011-09-19 Alexandre Oliva <aoliva@redhat.com>
-
- * tree.h (TREE_NOT_CHECK4): Rename from bogus NON_TREE_CHECK4.
-
-2011-09-19 Alexandre Oliva <aoliva@redhat.com>
-
- * emit-rtl.c (copy_insn_1): Do not copy DEBUG_EXPRs.
-
-2011-09-19 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50413
- * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
- a basic block if one of its data-refs can't be analyzed.
-
-2011-09-19 Paul Brook <paul@codesourcery.com>
-
- * config/arm/predicates.md (shift_amount_operand): Check constant
- shift count is in range.
- (const_shift_operand): Remove.
-
-2011-09-18 Eric Botcazou <ebotcazou@adacore.com>
- Iain Sandoe <developer@sandoe-acoustics.co.uk>
-
- PR target/50091
- * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
- * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
-
-2011-09-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/bmiintrin.h: Remove tmp.
- * config/i386/tbmintrin.h: Likewise.
-
-2011-09-18 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50414
- * tree-vect-slp.c (vect_get_constant_vectors): Handle MAX_EXPR and
- MIN_EXPR.
-
-2011-09-18 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50412
- * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
- acceses that require epilogue loop if vectorizing outer loop.
-
-2011-09-17 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc.md (UNSPEC_EDGE8, UNSPEC_EDGE8L,
- UNSPEC_EDGE16, UNSPEC_EDGE16L, UNSPEC_EDGE32, UNSPEC_EDGE32L):
- New unspecs.
- (define_attr type): New type 'edge'.
- (edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
- edge32l_vis): New patterns.
- * config/sparc/ultra1_2.md: Add insn reservation for 'edge'.
- * config/sparc/ultra3.md: Likewise.
- * config/sparc/niagara.md: Likewise.
- * config/sparc/niagara2.md: Likewise.
- * config/sparc/sparc.d (sparc_vis_init_builtins): Generate
- builtins for VIS edge instructions.
- * config/sparc/visintrin.h (__vis_edge8, __vis_edge8l)
- (__vis_edge16, __vis_edge16l, __vis_edge32, __vis_edge32l): New
- intrinsics.
- (__v8qi, __v4qi): Make unsigned.
- (__vis_faligndatadi, ___vis_faligndatav2si, __vis_faligndatav4hi,
- __vis_faligndatav8qi, __vis_fmul8x16au, __vis_fmul8x16al,
- __vis_fpack32): Fix types.
- * doc/extend.texi: Document new 'edge' VIS intrinsics.
-
- * gcc/config/sparc/sparc.c (niagara2_costs): Adjust integer
- divide costs.
- (niagara3_costs): New.
- (sparc_option_override): Use it.
- * gcc/config/sparc/niagara2.md: Adjust with more accurate
- Niagara-3 reservations.
-
-2011-09-17 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (VIMAX_AVX2): Change V4DI to V2TI.
- (sse2_avx, sseinsnmode): Add V2TI.
- (REDUC_SMINMAX_MODE): New mode iterator.
- (reduc_smax_v4sf, reduc_smin_v4sf, reduc_smax_v8sf,
- reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df): Remove.
- (reduc_<code>_<mode>): New smaxmin and umaxmin expanders.
- (sse2_lshrv1ti3): Rename to...
- (<sse2_avx2>_lshr<mode>3): ... this. Use VIMAX_AVX2 mode
- iterator. Move before umaxmin expanders.
- * config/i386/i386.h (VALID_AVX256_REG_MODE,
- SSE_REG_MODE_P): Accept V2TImode.
- * config/i386/i386.c (ix86_expand_reduc): Handle V32QImode,
- V16HImode, V8SImode and V4DImode.
-
- * config/i386/i386.c (ix86_build_const_vector): Handle V8SImode
- and V4DImode.
- (ix86_build_signbit_mask): Likewise.
- (ix86_expand_int_vcond): Likewise. Handle V16HImode and V32QImode.
- (bdesc_args): Use CODE_FOR_{s,u}m{ax,in}v{32q,16h,8s}i3
- instead of CODE_FOR_avx2_{s,u}m{ax,in}v{32q,16h,8s}i3.
- * config/i386/sse.md (avx2_<code><mode>3 umaxmin expand): Rename to...
- (<code><mode>3) ... this.
- (avx2_<code><mode>3 smaxmin expand): Rename to...
- (<code><mode>3) ... this.
- (smax<mode>3, smin<mode>3): Macroize using smaxmin code iterator.
- (smaxv2di3, sminv2di3): Macroize using smaxmin code iterator and
- VI8_AVX2 mode iterator.
- (umaxv2di3, uminv2di3): Macroize using umaxmin code iterator and
- VI8_AVX2 mode iterator.
- (vcond<V_256:mode><VI_256:mode>, vcondu<V_256:mode><VI_256:mode>):
- New expanders.
-
-2011-09-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/ia64/itanium2.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-16 David S. Miller <davem@davemloft.net>
-
- * config/sparc/visintrin.h: New file.
- * config.gcc: Add it to extra_headers on sparc.
-
-2011-09-16 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (ix86_expand_reduc_v4sf): Rename to ...
- (ix86_expand_reduc): ... this. Handle also V8SFmode and V4DFmode.
- * config/i386/sse.md (reduc_splus_v4sf, reduc_smax_v4sf,
- reduc_smin_v4sf): Adjust callers.
- (reduc_smax_v8sf, reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df):
- New expanders.
-
- * config/i386/sse.md (vec_extract_hi_<mode>,
- vec_extract_hi_v16hi, vec_extract_hi_v32qi): Use
- vextracti128 instead of vextractf128 for -mavx2 and
- integer vectors. For V4DFmode fix up mode attribute.
- (VEC_EXTRACT_MODE): For TARGET_AVX add 32-byte vectors.
- (vec_set_lo_<mode>, vec_set_hi_<mode>): For VI8F_256 modes use V4DF
- instead of V8SF mode attribute.
- (avx2_extracti128): Change into define_expand.
- * config/i386/i386.c (ix86_expand_vector_extract): Handle
- 32-byte vector modes if TARGET_AVX.
-
-2011-09-16 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: (umulqihi3, mulqihi3): Write as one pattern.
- (umulqi3_highpart, smulqi3_highpart): Ditto.
- (*maddqihi4.const, *umaddqihi4.uconst): Ditto.
- (*msubqihi4.const, *umsubqihi4.uconst): Ditto.
- (*muluqihi3.uconst, *mulsqihi3.sconst): Ditto.
-
-2011-09-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50358
- * config/avr/avr.md (*ashiftqihi2.signx.1): New insn.
- (*maddqi4, *maddqi4.const): New insns.
- (*msubqi4, *msubqi4.const): New insns.
- * config/avr/avr.c (avr_rtx_costs): Record costs of above in cases
- PLUS:QI and MINUS:QI. Increase costs of multiply-add/-sub for
- HImode by 1 in the case of multiplying with a CONST_INT.
- Record cost of *ashiftqihi2.signx.1 in case ASHIFT:QI.
-
-2011-09-15 Jan Hubicka <jh@suse.cz>
-
- PR lto/50430
- * gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on
- error_mark_node in the DECL_INITIAL of vtable.
-
-2011-09-15 Diego Novillo <dnovillo@google.com>
-
- * Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from
- @SYSROOT_CFLAGS_FOR_TARGET@.
- * configure.ac (SYSROOT_CFLAGS_FOR_TARGET): Set from build-sysroot.
- * configure: Regenerate.
- (site.exp): Add definition of TEST_ALWAYS_FLAGS.
- Remove setting of GCC_UNDER_TEST.
-
-2011-09-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (output_fp_compare): Return %v prefixed
- instruction mnemonics for TARGET_AVX.
-
- * config/i386/i386.md (*movdf_internal_rex64): use cond RTX in
- "type" attribute calculation.
- (*movdf_internal): Ditto.
- (*movsf_internal): Ditto.
-
-2011-09-15 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): New builtin macro.
-
-2011-09-15 Jason Merrill <jason@redhat.com>
-
- PR c++/50361
- * expr.c (count_type_elements): Handle NULLPTR_TYPE.
-
-2011-09-15 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (add_condition): Add conditions parameter;
- simplify obviously true clauses.
- (and_predicates, or_predicates): Add conditions parameter.
- (inline_duplication_hoook): Update.
- (mark_modified): New function.
- (unmodified_parm): New function.
- (eliminated_by_inlining_prob, (set_cond_stmt_execution_predicate,
- set_switch_stmt_execution_predicate, will_be_nonconstant_predicate):
- Use unmodified_parm.
- (estimate_function_body_sizes): Update.
- (remap_predicate): Update.
-
-2011-09-15 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Allow
- read-after-read dependencies in basic block SLP.
-
-2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/sparc/sparc.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/sh/sh.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/s390/s390.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/rs6000/rs6000.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
- * config/rs6000/constraints.md: Likewise.
-
-2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/microblaze/microblaze.md: Use match_test rather than
- eq/ne symbol_ref throughout file.
-
-2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/bfin/bfin.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-14 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/50251
- * explow.c (emit_stack_restore): Set crtl->need_drap if
- stack_restore is emitted.
-
-2011-09-14 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.c (arm_override_options): Add unaligned_access
- support.
- (arm_file_start): Emit attribute for unaligned access as appropriate.
- * config/arm/arm.md (UNSPEC_UNALIGNED_LOAD)
- (UNSPEC_UNALIGNED_STORE): Add constants for unspecs.
- (insv, extzv): Add unaligned-access support.
- (extv): Change to expander. Likewise.
- (extzv_t1, extv_regsi): Add helpers.
- (unaligned_loadsi, unaligned_loadhis, unaligned_loadhiu)
- (unaligned_storesi, unaligned_storehi): New.
- (*extv_reg): New (previous extv implementation).
- * config/arm/arm.opt (munaligned_access): Add option.
- * config/arm/constraints.md (Uw): New constraint.
- * expmed.c (store_bit_field_1): Adjust bitfield numbering according
- to size of access, not size of unit, when BITS_BIG_ENDIAN !=
- BYTES_BIG_ENDIAN. Don't use bitfield accesses for
- volatile accesses when -fstrict-volatile-bitfields is in effect.
- (extract_bit_field_1): Likewise.
-
-2011-09-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- * simplify-rtx.c (simplify_subreg): Check that the inner mode is
- a scalar integer before applying integer-only optimisations to
- inner arithmetic.
-
-2011-09-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/mips/mips.c (mips_expand_epilogue): Generate a
- simple_return only if the return address is in r31.
-
-2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * cfgcleanup.c (try_head_merge_bb): If get_condition returns
- NULL for a jump that is a cc0 insn, pick the previous insn for
- move_before.
-
-2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/v850/v850.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/pa/pa.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mn10300/mn10300.md: Use match_test rather than eq/ne
- symbol_ref throughout file.
-
-2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/m68k/m68k.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/h8300/h8300.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/arm/arm.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
- * config/arm/neon.md: Likewise.
- * config/arm/vfp.md: Likewise.
- * config/arm/thumb2.md: Likewise.
- * config/arm/cortex-m4.md: Likewise.
-
-2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
-
- * config/arm/neon.md (neon_vabd<mode>_2, neon_vabd<mode>_3): New
- define_insn patterns for combine.
-
-2011-09-13 Giuseppe Scrivano <gscrivano@gnu.org>
-
- * reorg.c: Always define make_return_insns.
-
-2011-09-13 Jan Hubicka <jh@suse.cz>
-
- PR other/49533
- * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.
-
-2011-09-13 Jan Hubicka <jh@suse.cz>
-
- PR other/49533
- * ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
-
-2011-09-13 Paul Brook <paul@codesourcery.com>
-
- * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- (ARM_TARGET2_DWARF_FORMAT): Provide default definition.
- * config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
- * config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
- * config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
- * config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
- * config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
- * config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
- enabling unwind tables.
- (c6x_debug_unwind_info): New function.
- (TARGET_ARM_EABI_UNWINDER): Define.
- (TARGET_DEBUG_UNWIND_INFO): Define.
- * config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
- (TARGET_EXTRA_CFI_SECTION): Remove.
- * config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
- * ginclude/unwind-arm-common.h: New file.
-
-2011-09-13 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50358
- * config/avr/predicates.md (const_1_to_6_operand): New predicate.
- * config/avr/avr.md: (extend_s): New code attribute.
- (mul_r_d): New code attribute.
- (*maddqihi4, *umaddqihi4): New insns.
- (*msubqihi4, *umsubqihi4): New insns.
- (*usmaddqihi4, *sumaddqihi4): New insns.
- (*usmsubqihi4, *susubdqihi4): New insns.
- (*umaddqihi4.uconst, *maddqihi4.sconst): New insn-and-splits.
- (*umsubqihi4.uconst, *msubqihi4.sconst): New insn-and-splits.
- (*umsubqihi4.uconst.ashift): New insn-and-split.
- (*msubqihi4.sconst.ashift): New insn-and-split.
- (*sumaddqihi4.uconst): New insn-and-split.
- (*sumsubqihi4.uconst): New insn-and-split.
- * config/avr/avr.c (avr_rtx_costs): Report costs of above in case
- PLUS:HI and MINUS:HI.
-
-2011-09-13 Revital Eres <revital.eres@linaro.org>
-
- modulo-sched.c (remove_node_from_ps): Return void instead of bool.
- (optimize_sc): Adjust call to remove_node_from_ps.
- (sms_schedule): Add print info.
-
-2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * rtl.c (copy_rtx): Do not handle frame_related, jump or call
- flags specially.
-
-2011-09-12 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/50010
- * dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between
- NOTE_INSN_CFI notes, with the exception of
- NOTE_INSN_SWITCH_TEXT_SECTIONS.
-
-2011-09-12 Bernd Schmidt <bernds@codesourcery.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_epilogue): New structure.
- (mips16e_save_restore_reg): Queue REG_CFA_RESTORE notes when
- restoring registers.
- (mips_epilogue_emit_cfa_restores): New function.
- (mips_epilogue_set_cfa): Likewise.
- (mips_restore_reg): Queue REG_CFA_RESTORE notes. When restoring
- the current CFA register from the stack, redefine the CFA in terms
- of the stack pointer.
- (mips_expand_epilogue): Set up mips_epilogue. Attach CFA information
- to the epilogue instructions.
-
-2011-09-12 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips16e_save_restore_reg): Add a reg_parm_p
- argument.
- (mips16e_build_save_restore): Update accordingly.
-
-2011-09-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/50212
- * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
- Skip also lps with NULL landing_pad or non-LABEL_P landing_pad.
-
- PR debug/50299
- * calls.c (load_register_parameters): Use use_reg_mode instead
- of use_reg when adding a single register CALL_INSN_FUNCTION_USAGE
- entry.
- (expand_call): Set EXPR_LIST mode to TYPE_MODE of the argument
- for stack CALL_INSN_FUNCTION_USAGE uses.
- * expr.h (use_reg_mode): New prototype.
- (use_reg): Changed into inline around use_reg_mode.
- * expr.c (use_reg): Renamed to...
- (use_reg_mode): ... this. Added MODE argument, set EXPR_LIST
- mode to that mode instead of VOIDmode.
- * var-tracking.c (prepare_call_arguments): Don't track parameters
- whose EXPR_LIST mode is VOIDmode, BLKmode or X mode isn't convertible
- to it using lowpart_subreg. Convert VALUE and REG/MEM to the
- EXPR_LIST mode.
-
-2011-09-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/43746
- * config/avr/avr.c (AVR_SECTION_PROGMEM): New Define.
- (progmem_section): New Variable.
- (avr_asm_init_sections): Initialize it.
- (TARGET_ASM_SELECT_SECTION): Define to...
- (avr_asm_select_section): ... this new Function.
- (avr_replace_prefix): New Function.
- (avr_asm_function_rodata_section): Use it.
- (avr_insert_attributes): Don't add section attribute for PROGMEM.
- (avr_section_type_flags): Use avr_progmem_p instead of section
- name to detect if object is in PROGMEM.
- (avr_asm_named_section): Set section name prefix for objects in
- PROGMEM.
-
-2011-09-12 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/50352
- * config/arm/arm.md (*push_fp_multi): Add % before %( and %) in the
- sprintf format string.
-
-2011-09-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50343
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check
- that the reduction is over an SSA name before checking its definition.
-
-2011-09-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/cris/cris.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
-
-2011-09-11 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.md: Use match_test rather than eq/ne symbol_ref
- throughout file.
- * config/mips/sb1.md: Likewise.
- * config/mips/predicates.md: Replace (match_test "!...")
- with (not (match_test "..."))
- * config/mips/constraints.md: Likewise.
-
-2011-09-09 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm-cores.def (generic-armv7-a): New architecture.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/arm.c (arm_file_start): Output .arch directive when
- user passes -mcpu=generic-*.
- (arm_issue_rate): Add genericv7a support.
- * config/arm/arm.h (EXTRA_SPECS): Add asm_cpu_spec.
- (ASM_CPU_SPEC): New define.
- * config/arm/elf.h (ASM_SPEC): Use %(asm_cpu_spec).
- * config/arm/semi.h (ASM_SPEC): Likewise.
- * doc/invoke.texi (ARM Options): Document -mcpu=generic-*
- and -mtune=generic-*.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50328
- * tree-vect-loop.c (vect_is_simple_reduction_1): Allow one
- constant or default-def operand.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-pre.c (create_expression_by_pieces): Fold the
- last statement.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- * gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator
- instead of a statement.
- * gimple-fold.c (fold_stmt_inplace): Likewise.
- * sese.c (graphite_copy_stmts_from_block): Adjust.
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
- * tree-ssa-forwprop.c (forward_propagate_into_comparison): Use
- fold_stmt.
- (forward_propagate_addr_into_variable_array_index): Likewise.
- (forward_propagate_addr_expr_1): adjust.
- (associate_plusminus): Likewise.
- (ssa_forward_propagate_and_combine): Likewise.
- * tree-ssa-mathopts.c (replace_reciprocal): Adjust.
- (execute_cse_reciprocals): Likewise.
- * tree-ssa.c (insert_debug_temp_for_var_def): Adjust.
-
-2011-09-09 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_split_and_operand_count):
- Return a positive value to indicate that the bits at the
- bottom of the register should be cleared.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-operands.c (swap_tree_operands): Always adjust
- existing operand positions.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50333
- * tree-data-ref.c (split_constant_offset): Do not try to handle
- ternary ops.
-
-2011-09-08 Andrew Stubbs <ams@codesourcery.com>
-
- PR tree-optimization/50318
- * tree-ssa-math-opts.c (convert_plusminus_to_widen): Correct
- typo in use of mult_rhs1 and mult_rhs2.
-
-2011-09-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (standard_sse_constant_p): Handle AVX2 modes.
- (standard_sse_constant_opcode) <case 2>: Change vpcmpeqd template.
-
-2011-09-08 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/arm/arm.md (push_multi): Emit predicates.
- (push_fp_multi): Likewise.
- * config/arm/arm.c (vfp_output_fstmd): Likewise.
-
-2011-09-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/33255 - Support -Wunused-local-typedefs warning
- * c-decl.c (lookup_name): Use the new maybe_record_typedef_use.
- (pushdecl): Use the new record_locally_defined_typedef.
- (store_parm_decls): Allocate cfun->language.
- (finish_function): Use the new maybe_warn_unused_local_typedefs,
- and free cfun->language.
- (c_push_function_context): Allocate cfun->language here only if needed.
- (c_pop_function_context): Likewise, mark cfun->language
- for collection only when it should be done.
- * c-common.c (handle_used_attribute): Don't ignore TYPE_DECL nodes.
- * c-typeck.c (c_expr_sizeof_type, c_cast_expr): Use the new
- maybe_record_local_typedef_use.
- * doc/invoke.texi: Update documentation for
- -Wunused-local-typedefs.
-
-2011-09-08 Enkovich Ilya <ilya.enkovich@intel.com>
-
- * config/i386/i386-protos.h (ix86_lea_outperforms): New.
- (ix86_avoid_lea_for_add): Likewise.
- (ix86_avoid_lea_for_addr): Likewise.
- (ix86_split_lea_for_addr): Likewise.
-
- * config/i386/i386.c (LEA_MAX_STALL): New.
- (increase_distance): Likewise.
- (insn_defines_reg): Likewise.
- (insn_uses_reg_mem): Likewise.
- (distance_non_agu_define_in_bb): Likewise.
- (distance_agu_use_in_bb): Likewise.
- (ix86_lea_outperforms): Likewise.
- (ix86_ok_to_clobber_flags): Likewise.
- (ix86_avoid_lea_for_add): Likewise.
- (ix86_avoid_lea_for_addr): Likewise.
- (ix86_split_lea_for_addr): Likewise.
- (distance_non_agu_define): Search in pred BBs added.
- (distance_agu_use): Search in succ BBs added.
- (IX86_LEA_PRIORITY): Value changed from 2 to 0.
- (LEA_SEARCH_THRESHOLD): Now depends on LEA_MAX_STALL.
- (ix86_lea_for_add_ok): Use ix86_lea_outperforms to make decision.
-
- * config/i386/i386.md: Split added to transform non destructive
- add into move and add.
- (lea_1): transformed into insn_and_split to avoid AGU stalls.
- (lea<mode>_2): Likewise.
-
-2011-09-08 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50287
- * ipa-split.c (split_function): Do not create SSA names for
- non-gimple-registers.
-
-2011-09-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/19831
- * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Also
- skip builtins with vdefs that do not really store something.
- (propagate_necessity): For calls to free that we can associate
- with an allocation function do not mark the freed pointer
- definition necessary.
- (eliminate_unnecessary_stmts): Remove a call to free if
- the associated call to an allocation function is not necessary.
-
-2011-09-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/19831
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark
- allocation functions as necessary.
-
-2011-09-08 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin-driver.c (darwin_find_version_from_kernel): New routine
- cut from ...
- (darwin_default_min_version): Amended to provide defaults
- for the cross directory case.
- (darwin_driver_init): call darwin_default_min_version unconditionally.
- * config/darwin.h (DEF_MIN_OSX_VERSION): New.
- * config/darwin9.h: Likewise.
- * config/darwin10.h: Likewise.
- * config/rs6000/darwin7.h: Likewise.
-
-2011-09-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50310
- * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
- code early if TARGET_AVX.
- (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
-
-2011-09-07 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/sse.md (sseinsnmode): Remove 32-byte integer vector
- duplicates.
-
- PR target/50310
- * config/i386/sse.md (*andnot<mode>3, *<code><mode>3): Fix up
- "mode" attribute computation.
-
-2011-09-07 Bernd Schmidt <bernds@codesourcery.com>
-
- * regrename.c (struct du_head): Make nregs signed.
- (closed_chains): Remove.
- (create_new_chain): Return the new chain.
- (chain_from_id): New static function.
- (dump_def_use_chain): Change argument to be an int, indicating
- the first ID to print. All callers changed.
- (merge_overlapping_regs): Use chain_from_id. Assert that
- chains don't conflict with themselves.
- (rename_chains): Take no argument. Iterate over id_to_chain
- rather to find chains to rename. Clear tick before the main loop.
- (struct incoming_reg_info): New struct.
- (struct bb_rename_info): New struct.
- (init_rename_info, set_incoming_from_chain, merge_chains): New
- static functions.
- (regrename_analyze): New static function, broken out of
- regrename_optimize. Record and make use of open chain information
- at basic block boundaries, and merge chains where possible.
- (scan_rtx_reg): Make this_nregs signed. Don't update
- closed_chains.
- (build_def_use): Return a bool to indicate success. All callers
- changed. Don't initialize global data here.
- (regrename_optimize): Move most code out of here into
- regrename_analyze.
- * regs.h (add_range_to_hard_reg_set, remove_range_from_hard_reg_set,
- range_overlaps_hard_reg_set_p, range_in_hard_reg_set_p): New
- static inline functions.
- * vec.h (FOR_EACH_VEC_ELT_FROM): New macro.
-
- * bb-reorder.c (insert_section_boundary_note): Don't check
- optimize_function_for_speed_p.
- (gate_handle_partition_blocks): Do it here instead.
- (gate_handle_reorder_blocks): Move preliminary checks here ...
- (rest_of_handle_reorder_blocks): ... from here.
-
-2011-09-07 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/50301
- * ipa-cp.c (find_more_values_for_callers_subset): Check jump
- function index bounds.
- (perhaps_add_new_callers): Likewise.
-
-2011-09-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/49911
- * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
- enumerations to the corresponding plain integer type.
-
-2011-09-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50319
- * tree-if-conv.c (set_bb_predicate): Assert we only set
- canonical predicates.
- (add_to_predicate_list): Simplify. Allow TRUTH_NOT_EXPR
- around canonical predicates.
- (predicate_bbs): Do not re-gimplify already canonical
- predicates. Properly unshare them though.
- (find_phi_replacement_condition): Simplify.
-
-2011-09-07 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/49030
- * config/arm/arm-protos.h (maybe_get_arm_condition_code): Declare.
- * config/arm/arm.c (maybe_get_arm_condition_code): New function,
- reusing the old code from get_arm_condition_code. Return ARM_NV
- for invalid comparison codes.
- (get_arm_condition_code): Redefine in terms of
- maybe_get_arm_condition_code.
- * config/arm/predicates.md (arm_comparison_operator): Use
- maybe_get_arm_condition_code.
-
-2011-09-07 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
- Canonicalize negated predicates by swapping edges.
- (forward_propagate_into_cond): Likewise.
-
-2011-09-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50213
- * tree-flow.h (simple_iv_increment_p): Declare.
- * tree-ssa-dom.c (simple_iv_increment_p): Export. Also handle
- POINTER_PLUS_EXPR.
- * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Do
- not propagate simple IV counter increments.
-
-2011-09-07 Eric Botcazou <ebotcazou@adacore.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- * config/rs6000/rs6000.c (compute_save_world_info): Test
- cfun->has_nonlocal_label to determine if the out-of-line save
- world call may be used.
-
-2011-09-07 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Set the jump
- label on the parallel part of the insn.
-
-2011-09-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/50191
- * dwarf2out.c (mem_loc_descriptor) <case MEM>: Try
- avoid_constant_pool_reference first instead of last.
-
-2011-09-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * doc/configfiles.texi (Configuration Files): Update documentation
- about tm_p.h and remove FIXME comment.
-
-2011-09-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_function_value_regno_p): Use AX_REG.
- (function_value_32): Do not check TARGET_MMX, TARGET_SSE or TARGET_AVX.
-
-2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin10.h Remove duplicate LIB_SPEC.
-
-2011-09-06 Enkovich Ilya <ilya.enkovich@intel.com>
-
- PR middle-end/44382
- * target.def (reassociation_width): New hook.
-
- * doc/tm.texi.in (reassociation_width): Likewise.
-
- * doc/tm.texi (reassociation_width): Likewise.
-
- * doc/invoke.texi (tree-reassoc-width): New param documented.
-
- * hooks.h (hook_int_uint_mode_1): New default hook.
-
- * hooks.c (hook_int_uint_mode_1): Likewise.
-
- * config/i386/i386.h (ix86_tune_indices): Add
- X86_TUNE_REASSOC_INT_TO_PARALLEL and X86_TUNE_REASSOC_FP_TO_PARALLEL.
-
- (TARGET_REASSOC_INT_TO_PARALLEL): New.
- (TARGET_REASSOC_FP_TO_PARALLEL): Likewise.
-
- * config/i386/i386.c (initial_ix86_tune_features): Add
- X86_TUNE_REASSOC_INT_TO_PARALLEL and X86_TUNE_REASSOC_FP_TO_PARALLEL.
-
- (ix86_reassociation_width): New function.
-
- * params.def (PARAM_TREE_REASSOC_WIDTH): New param added.
-
- * tree-ssa-reassoc.c (get_required_cycles): New function.
- (get_reassociation_width): Likewise.
- (swap_ops_for_binary_stmt): Likewise.
- (rewrite_expr_tree_parallel): Likewise.
-
- (rewrite_expr_tree): Refactored. Part of code moved into
- swap_ops_for_binary_stmt.
-
- (reassociate_bb): Now checks reassociation width to be used and
- call rewrite_expr_tree_parallel instead of rewrite_expr_tree if needed.
-
-2011-09-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47025
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): BUILT_IN_VA_END
- uses nothing.
- (call_may_clobber_ref_p_1): BUILT_IN_VA_END is a barrier like
- BUILT_IN_FREE.
- (stmt_kills_ref_p_1): BUILT_IN_VA_END kills what its argument
- definitely points to.
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
- BUILT_IN_VA_START doesn't let its va_list argument escape.
- * tree-ssa-dce.c (propagate_necessity): BUILT_IN_VA_END does
- not make any previous stores necessary.
-
-2011-09-06 Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline.h (struct inline_summary): Move versionable flag...
- * cgraph.h (struct cgraph_local_info): ...here
- * ipa-cp.c (determine_versionability): Use the new versionable flag.
- (determine_versionability): Likewise.
- (ipcp_versionable_function_p): Likewise.
- (ipcp_generate_summary): Likewise.
- * ipa-inline-analysis.c (dump_inline_summary): Do not dump the
- versionable flag.
- (compute_inline_parameters): Do not clear the versionable flag.
- (inline_read_section): Do not stream the versionable flag.
- (inline_write_summary): Likewise.
- * lto-cgraph.c (lto_output_node): Stream the versionable flag.
- (input_overwrite_node): Likewise.
-
-2011-09-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48149
- * tree-ssa-sccvn.c (vn_get_expr_for): Simplify. Fix tuplification bug.
- (vn_valueize): Move earlier.
- (valueize_expr): Use vn_valueize.
- (simplify_binary_expression): Simplify, also combine COMPLEX_EXPR
- operands.
- (simplify_unary_expression): Simplify.
-
-2011-09-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48317
- * tree-ssa-sccvn.h (struct vn_nary_op_s): Make op a true
- trailing array.
- (sizeof_vn_nary_op): New inline function.
- (vn_nary_op_lookup_pieces): Adjust.
- (vn_nary_op_insert_pieces): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_eq): Also compare the length.
- (init_vn_nary_op_from_pieces): Adjust signature. Deal with
- any number of operands.
- (vn_nary_length_from_stmt): New function.
- (init_vn_nary_op_from_stmt): Adjust for CONSTRUCTOR handling.
- (vn_nary_op_lookup_pieces): Adjust signature and allocate properly
- sized temporary.
- (vn_nary_op_lookup): Likewise.
- (vn_nary_op_lookup_stmt): Likewise.
- (vn_nary_op_insert_into): Likewise.
- (vn_nary_op_insert_stmt): Likewise.
- (visit_use): Handle CONSTRUCTOR as nary.
- * tree-ssa-pre.c (phi_translate_1): Adjust.
- (create_expression_by_pieces): Likewise.
- (compute_avail): Likewise.
-
-2011-09-06 Ira Rosen <ira.rosen@linaro.org>
-
- * config/arm/arm.c (arm_preferred_simd_mode): Check
- TARGET_NEON_VECTORIZE_DOUBLE instead of
- TARGET_NEON_VECTORIZE_QUAD.
- (arm_autovectorize_vector_sizes): Likewise.
- * config/arm/arm.opt (mvectorize-with-neon-quad): Make inverse
- mask of mvectorize-with-neon-double. Add RejectNegative.
- (mvectorize-with-neon-double): New.
-
-2011-09-06 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (visit_use): CSE stmt pieces and simplify matching.
-
-2011-09-06 Tom de Vries <tom@codesourcery.com>
-
- * recog.c (asm_labels_ok): New function.
- (check_asm_operands): Use asm_labels_ok.
-
-2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/49606
- * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): Check Pmode.
- (PMODE_INSN): New macro.
- * config/mips/mips.c (gen_load_const_gp): Use PMODE_INSN.
- (mips_got_load, mips_expand_synci_loop): Likewise.
- (mips_save_gp_to_cprestore_slot): Handle SImode and DImode
- cprestore patterns.
- (mips_emit_loadgp): Use PMODE_INSN. Handle SImode and DImode
- copygp_mips16 patterns.
- (mips_expand_prologue): Handle SImode and DImode potential_cprestore
- and use_cprestore patterns.
- (mips_override_options): Check for incompatible -mabi and -mlong
- combinations.
- * config/mips/mips.md (unspec_got<mode>): Rename to...
- (unspec_got_<mode>): ...this.
- (copygp_mips16): Use the Pmode iterator.
- (potential_cprestore, cprestore, use_cprestore): Likewise.
- (clear_cache, indirect_jump): Use PMODE_INSN.
- (indirect_jump<mode>): Rename to...
- (indirect_jump_<mode>): ...this.
- (tablejump): Use PMODE_INSN.
- (tablejump<mode>): Rename to...
- (tablejump_<mode>): ...this.
- (exception_receiver): Handle restore_gp_si and restore_gp_di.
- (restore_gp): Use the Pmode iterator.
- * config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Use
- PMODE_INSN.
-
-2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
- Fix the type of the BIT_AND_EXPR.
-
-2011-09-05 David S. Miller <davem@davemloft.net>
-
- * config.host: Add driver-sparc.o and sparc/x-sparc on
- native sparc*-*-linux* builds.
- * config/sparc/driver-sparc.c: Correct Linux strings.
- * config/sparc/linux.h: Add DRIVER_SELF_SPECS.
- * config/sparc/linux64.h: Likewise.
- * doc/invoke.texi: Document that Linux also supports
- -mcpu=native and -mtune=native on sparc.
-
- * config/sparc/sparc-opts.h (PROCESSOR_NIAGARA3,
- PROCESSOR_NIAGARA4): New.
- * config/sparc/sparc.opt: Handle new processor types.
- * config/sparc/sparc.md: Add to "cpu" attribute.
- * config/sparc/sparc.h (TARGET_CPU_niagara3,
- TARGET_CPU_niagara4): New, treat as niagara2.
- * config/sparc/linux64.h: Handle niagara3 and niagara4 like niagara2.
- * config/sparc/sol2.h: Likewise.
- * config/sparc/niagara2.md: Schedule niagara3 like niagara2.
- * config/sparc/sparc.c (sparc_option_override): Add
- niagara3 and niagara4 handling.
- (sparc32_initialize_trampoline): Likewise.
- (sparc64_initialize_trampoline): Likewise.
- (sparc_use_sched_lookahead): Likewise.
- (sparc_issue_rate): Likewise.
- (sparc_register_move_cost): Likewise.
- * config/sparc/driver-sparc.c (cpu_names): Use niagara3
- and niagara4 as appropriate.
- * doc/invoke.texi: Document new processor types.
- * config.gcc: Recognize niagara3 and niagara4 in --with-cpu
- and --with-tune options.
-
- * config/sparc/sol2-64.h: Move ...
- * config/sparc/default-64.h: ... to here. Update comment.
- * config.gcc: Update Solaris sparc to use default-64.h, also
- prefix this header into the list on sparc64-*-linux.
- * config/sparc/linux64.h (TARGET_DEFAULT): Only override if
- TARGET_64BIT_DEFAULT is defined. Remove commented out reference
- to MASK_HARD_QUAD.
-
-2011-09-05 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50289
- * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
- that contain global register variable.
-
-2011-09-05 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.
-
-2011-09-05 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (layout_type): Use size_binop for array size
- calculations.
-
-2011-09-05 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (progmem_section): Remove Declaration.
- * config/avr/avr.c (progmem_section): Make static and rename to
- progmem_swtable_section.
- (avr_output_addr_vec_elt): No need to switch sections.
- (avr_asm_init_sections): Use output_section_asm_op as section
- callback for progmem_swtable_section.
- (avr_output_progmem_section_asm_op): Remove Function.
- (TARGET_ASM_FUNCTION_RODATA_SECTION): New Define.
- (avr_asm_function_rodata_section): New static Function.
- * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Output
- alignment 2**1 for jump tables.
-
-2011-09-04 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
- parameter is SSA name.
-
-2011-09-04 Richard Guenther <rguenther@suse.de>
-
- Revert
- 2011-08-31 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
- special-casing.
-
-2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
-
- PR debug/49901
- * config/darwin.h (DEBUG_MACRO_SECTION): New macro.
-
-2011-09-04 Jakub Jelinek <jakub@redhat.com>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50208
- * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add an
- argument. Check that def_stmt is inside the loop.
- (vect_recog_widen_mult_pattern): Update calls to
- vect_handle_widen_mult_by_cons.
- (vect_operation_fits_smaller_type): Check that def_stmt is
- inside the loop.
-
-2011-09-04 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vectorizer.c (vect_print_dump_info): Print line
- number when dumping to a file.
- (vectorize_loops): Add new messages to dump file.
-
-2011-09-03 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (ipa_jump_func_t): New typedef.
- (struct ipa_edge_args): Removed field argument_count, field
- jump_functions turned into a vector.
- (ipa_set_cs_argument_count): Removed.
- (ipa_get_cs_argument_count): Updated to work on vectors.
- (ipa_get_ith_jump_func): Likewise.
- * ipa-prop.c (ipa_count_arguments): Removed.
- (compute_scalar_jump_functions): Use ipa_get_ith_jump_func to access
- jump functions. Update caller.
- (compute_pass_through_member_ptrs): Likewise.
- (compute_cst_member_ptr_arguments): Likewise.
- (ipa_compute_jump_functions_for_edge): Get number of arguments from
- the statement, allocate vector.
- (ipa_compute_jump_functions): Do not call ipa_count_arguments.
- (duplicate_ipa_jump_func_array): Removed.
- (ipa_edge_duplication_hook): Use VEC_copy, do not copy argument count.
- (ipa_read_node_info): Allocate vector.
-
-2011-09-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR middle-end/50232
- * config/pa/pa.md (return): Define "return" insn pattern.
- (epilogue): Use it when no epilogue is needed.
- * config/pa/pa.c (pa_can_use_return_insn): New function.
- * config/pa/pa-protos.h (pa_can_use_return_insn): Declare.
-
-2011-09-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgexpand.c (add_stack_var): Assert that the alignment is not zero.
- * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Revert latest change.
- Force at least BITS_PER_UNIT alignment on the new variable.
-
-2011-09-02 Gary Funck <gary@intrepid.com>
-
- * opts.c (print_specific_help): Fix off-by-one compare in
- assertion check.
- * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
- CL_TARGET, CL_COMMON, CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED):
- Increase by +5 to allow for more languages.
- * optc-gen.awk: Generate #if that ensures that the number of
- languages is within the implementation-defined limit.
-
-2011-09-02 Michael Matz <matz@suse.de>
-
- PR middle-end/50260
- * ipa-split.c (split_function): Call add_referenced_var.
-
- * tree-ssa-phiopt.c (cond_store_replacement): Don't call get_var_ann.
- (cond_if_else_store_replacement_1): Ditto.
- * tree-ssa-pre.c (get_representative_for): Ditto.
- (create_expression_by_pieces): Ditto.
- (insert_into_preds_of_block): Ditto.
- * tree-sra.c (create_access_replacement): Ditto.
- (get_replaced_param_substitute): Ditto.
-
-2011-09-02 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.md (collapse-ndfa, no-comb-vect): New
- automata_options.
- (d1, l1, s1, m1, d2, l2, s2, m2): Changed to define_query_cpu_unit.
- (l1w, s1w, l2w, s2w): Define in the main automaton.
- (fps1, fpl1, adddps1, adddpl1, fps2, fpl2, adddps2, adddpl2): New
- units.
- * config/c6x/c6x.c (c6x_sched_insn_info): Add unit_mask member.
- (c6x_unit_names): Add the new units.
- (c6x_unit_codes): New static array.
- (UNIT_QID_D1, UNIT_QID_L1, UNIT_QID_S1, UNIT_QID_M1, UNIT_QID_FPS1,
- UNIT_QID_FPL1, UNIT_QID_ADDDPS1, UNIT_QID_ADDDPL1,
- UNIT_QID_SIDE_OFFSET): New macros.
- (RESERVATION_S2): Adjust value.
- (c6x_option_override): Compute c6x_unit_codes.
- (assign_reservations): Take the unit_mask of the last instruction
- into account. Detect floating point reservations by looking for
- the new units. Don't assign reservations if the field is already
- nonzero.
- (struct c6x_sched_context): Add member prev_cycle_state_ctx.
- (init_sched_state): Initialize it.
- (c6x_clear_sched_context): Free it.
- (insn_set_clock): Clear reservation.
- (prev_cycle_state): New static variable.
- (c6x_init_sched_context): Save it.
- (c6x_sched_init): Allocate space for it and clear it.
- (c6x_sched_dfa_pre_cycle_insn): New static function.
- (c6x_dfa_new_cycle): Save state at the start of a new cycle.
- (c6x_variable_issue): Only record units in the unit_mask that
- were not set at the start of the cycle.
- (c6x_variable_issue): Compute and store the unit_mask from the
- current state.
- (reorg_split_calls): Ensure the new information remains correct.
- (TARGET_SCHED_DFA_NEW_CYCLE, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
- TARGET_SCHED_DFA_PRE_CYCLE_INSN): Define.
- * config/c6x/c6x.h (CPU_UNITS_QUERY): Define.
- * config/c6x/c6x-sched.md.in (fp4_ls_N__CROSS_, adddp_ls_N__CROSS_):
- Add special reservations.
- * config/c6x/c6x-sched.md: Regenerate.
-
-2011-09-02 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (ipa_node_params): Removed fields
- called_with_var_arguments and node_versionable.
- (ipa_set_called_with_variable_arg): Removed.
- (ipa_is_called_with_var_arguments): Likewise.
- * ipa-cp.c (ipa_get_lattice): Fixed index check in an assert.
- (determine_versionability): Do not check for type attributes and va
- builtins. Record versionability into inline summary.
- (initialize_node_lattices): Do not check
- ipa_is_called_with_var_arguments.
- (propagate_constants_accross_call): Likewise, ignore arguments we do
- not have PARM_DECLs for, set variable flag for parameters that were
- not passed a value.
- (create_specialized_node): Dump info that we cannot change signature.
- * ipa-prop.c (ipa_compute_jump_functions): Do not care about variable
- number of arguments.
- (ipa_make_edge_direct_to_target): Likewise.
- (ipa_update_after_lto_read): Likewise.
- (ipa_node_duplication_hook): Do not copy called_with_var_arguments flag.
- * tree-inline.c (copy_arguments_for_versioning): Copy PARM_DECLs if
- they were remapped.
-
-2011-09-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/27460
- PR middle-end/29269
- * doc/md.texi (vcond): Document.
- * genopinit.c (optabs): Turn vcond{,u}_optab into a conversion
- optab with two modes.
- * optabs.h (enum convert_optab_index): Add COI_vcond, COI_vcondu.
- (enum direct_optab_index): Remove DOI_vcond, DOI_vcondu.
- (vcond_optab): Adjust.
- (vcondu_optab): Likewise.
- (expand_vec_cond_expr_p): Adjust prototype.
- * optabs.c (get_vcond_icode): Adjust.
- (expand_vec_cond_expr_p): Likewise.
- (expand_vec_cond_expr): Likewise.
- * tree-vect-stmts.c (vect_is_simple_cond): Return the comparison
- vector type.
- (vectorizable_condition): Allow differing types for comparison
- and result.
- * config/i386/i386.c (ix86_expand_sse_cmp): Use proper mode
- for the comparison.
- * config/i386/sse.md (vcond<mode>): Split to
- vcond<V_256:mode><VF_256:mode>, vcond<V_128:mode><VF_128:mode>,
- vcond<V_128:mode><VI124_128:mode> and
- vcondu<V_128:mode><VI124_128:mode>.
- (vcondv2di): Change to vcond<VI8F_128:mode>v2di.
- (vconduv2di): Likewise.
- * config/arm/neon.md (vcond<mode>): Change to vcond*<mode><mode>.
- (vcondu<mode>): Likewise.
- * config/ia64/vect.md (vcond<mode>): Likewise.
- (vcondu<mode>): Likewise.
- (vcondv2sf): Likewise.
- * config/mips/mips-ps-3d.md (vcondv2sf): Likewise.
- * config/rs6000/paired.md (vcondv2sf): Likewise.
- * config/rs6000/vector.md (vcond<mode>): Likewise.
- (vcondu<mode>): Likewise.
- * config/spu/spu.md (vcond<mode>): Likewise.
- (vcondu<mode>): Likewise.
-
-2011-09-02 Richard Guenther <rguenther@suse.de>
-
- * pretty-print.h (pp_unsigned_wide_integer): New.
- * tree-pretty-print.c (dump_generic_node): Print unsigned
- host-wide-int fitting INTEGER_CSTs with pp_unsigned_wide_integer.
-
-2011-09-02 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/49987
- * config/rs6000/rs6000.c (paired_expand_vector_init): Check for
- valid CONST_VECTOR operands.
- (rs6000_expand_vector_init): Likewise.
-
-2011-09-02 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta.
- * gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten to use
- BINFO_VTABLE. Parameter delta removed, all callers updated.
- * tree.c (free_lang_data_in_binfo): Clear BINFO_VIRTUALs instead
- BINFO_VTABLE.
- * cgraph.c (cgraph_make_edge_direct): Removed parameter delta, updated
- all calls.
- * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Removed
- handling of thunk_delta.
- * ipa-cp.c (get_indirect_edge_target): Removed parameter delta.
- (devirtualization_time_bonus): Do not handle thunk deltas.
- (ipcp_discover_new_direct_edges): Likewise.
- * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
- (try_make_edge_direct_simple_call): Likewise.
- (try_make_edge_direct_virtual_call): Likewise.
- * lto-cgraph.c (output_cgraph_opt_summary_p): Likewise. Mark
- parameter set as unused.
- (output_edge_opt_summary): Likewise. Mark both parameters as unused.
- * lto-cgraph.c (output_cgraph_opt_summary_p): Likewise. Mark
- parameter set as unused.
- (output_edge_opt_summary): Likewise. Mark both parameters as unused.
- (input_edge_opt_summary): Likewise.
- * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not stream
- BINFO_VIRTUALS at all.
- * lto-streamer-in.c (lto_input_ts_binfo_tree_pointers): Likewise.
-
-2011-09-02 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not fold alloca (0).
- (ccp_fold_stmt): Continue replacing args when folding alloca fails.
-
-2011-08-31 Richard Guenther <rguenther@suse.de>
-
- * expr.c (expand_expr_real_2): Move COND_EXPR and VEC_COND_EXPR
- handling here, from ...
- (expand_expr_real_1): ... here.
- * gimple-pretty-print.c (dump_ternary_rhs): Handle COND_EXPR
- and VEC_COND_EXPR.
- * gimple.c (gimple_rhs_class_table): Make COND_EXPR and VEC_COND_EXPR
- a GIMPLE_TERNARY_RHS.
- * tree-cfg.c (verify_gimple_assign_ternary): Handle COND_EXPR
- and VEC_COND_EXPR here ...
- (verify_gimple_assign_single): ... not here.
- * gimple-fold.c (fold_gimple_assign): Move COND_EXPR folding.
- * tree-object-size.c (cond_expr_object_size): Adjust.
- (collect_object_sizes_for): Likewise.
- * tree-scalar-evolution.c (interpret_expr): Don't handle ternary RHSs.
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Fix and simplify.
- (ssa_forward_propagate_and_combine): Adjust.
- * tree-ssa-loop-im.c (move_computations_stmt): Build the COND_EXPR
- as ternary.
- * tree-ssa-threadedge.c (fold_assignment_stmt): Adjust.
- * tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
- * tree-vect-stmt.c (vectorizable_condition): Likewise.
- * tree-vrp.c (extract_range_from_cond_expr): Likewise.
- (extract_range_from_assignment): Likewise.
-
-2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/i386/i386.md: Use (match_test ...) for attribute tests.
- * config/i386/mmx.md: Likewise.
- * config/i386/sse.md: Likewise.
- * config/i386/predicates.md (call_insn_operand): Use
- (not (match_test "...")) instead of (match_test "!...")
- * config/i386/constraints.md (w): Likewise.
-
-2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/md.texi: Describe the use of match_tests in attribute tests.
- * rtl.def (MATCH_TEST): Update commentary.
- * genattrtab.c (attr_copy_rtx, check_attr_test, clear_struct_flag)
- (write_test_expr, walk_attr_value): Handle MATCH_TEST.
-
-2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
-
- * genattrtab.c (attr_rtx_1): Hash SYMBOL_REFs.
- (attr_string): Use copy_md_ptr_loc.
-
-2011-08-31 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/49886
- * ipa-inline-analysis.c (compute_inline_parameters): Set
- can_change_signature of noes with typde attributes.
- * ipa-split.c (split_function): Do not skip any arguments if
- can_change_signature is set.
-
-2011-08-31 Martin Jambor <mjambor@suse.cz>
-
- * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Alias
- check removed.
-
-2011-08-31 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
- special-casing.
-
-2011-08-31 Marc Glisse <marc.glisse@inria.fr>
-
- * doc/generic.texi (Types for C++): CP_TYPE_QUALS -> cp_type_quals.
-
-2011-08-31 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/43513
- * Makefile.in (tree-ssa-ccp.o): Add $(PARAMS_H) to rule.
- * tree-ssa-ccp.c (params.h): Include.
- (fold_builtin_alloca_for_var): New function.
- (ccp_fold_stmt): Use fold_builtin_alloca_for_var.
-
-2011-08-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_valid_target_attribute_inner_p):
- Handle FMA option.
-
-2011-08-30 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (optimal_immediate_sequence_1): Make b1, b2,
- b3 and b4 unsigned.
-
-2011-08-30 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (arm_gen_constant): Set can_negate correctly
- when code is SET.
-
-2011-08-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48571
- * gimple.h (maybe_fold_offset_to_address): Remove.
- (maybe_fold_offset_to_reference): Likewise.
- (maybe_fold_stmt_addition): Likewise.
- (may_propagate_address_into_dereference): Likewise.
- * tree-inline.c (remap_gimple_op_r): Do not reconstruct
- array references.
- * gimple-fold.c (canonicalize_constructor_val): Likewise.
- Canonicalize invariant POINTER_PLUS_EXPRs to invariant MEM_REF
- addresses instead.
- (may_propagate_address_into_dereference): Remove.
- (maybe_fold_offset_to_array_ref): Likewise.
- (maybe_fold_offset_to_reference): Likewise.
- (maybe_fold_offset_to_address): Likewise.
- (maybe_fold_stmt_addition): Likewise.
- (fold_gimple_assign): Do not reconstruct array references but
- instead canonicalize invariant POINTER_PLUS_EXPRs to invariant
- MEM_REF addresses.
- (gimple_fold_stmt_to_constant_1): Likewise.
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
- * gimplify.c (gimplify_conversion): Likewise.
- (gimplify_expr): Likewise.
-
-2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
-
- * config/i386/fmaintrin.h: New.
- * config.gcc: Add fmaintrin.h.
- * config/i386/i386.c
- (enum ix86_builtins) <IX86_BUILTIN_VFMADDSS3>: New.
- <IX86_BUILTIN_VFMADDSD3>: Likewise.
- * config/i386/sse.md (fmai_vmfmadd_<mode>): New.
- (*fmai_fmadd_<mode>): Likewise.
- (*fmai_fmsub_<mode>): Likewise.
- (*fmai_fnmadd_<mode>): Likewise.
- (*fmai_fnmsub_<mode>): Likewise.
- * config/i386/immintrin.h: Add fmaintrin.h.
-
-2011-08-30 Bernd Schmidt <bernds@codesourcery.com>
-
- * genautomata.c (NO_COMB_OPTION): New macro.
- (no_comb_flag): New static variable.
- (gen_automata_option): Handle NO_COMB_OPTION.
- (comb_vect_p): False if no_comb_flag.
- (add_vect): Move computation of min/max values. Return early if
- no_comb_flag.
- * doc/md.texi (automata_option): Document no-comb-vect.
-
- * config/i386/i386.c (get_pc_thunk_name): Change prefix to
- "__x86.get_pc_thunk".
-
- * bb-reorder.c (insert_section_boundary_note): Only do it if
- we reordered the blocks; i.e. not if !optimize_function_for_speed_p.
-
-2011-08-30 Christian Bruel <christian.bruel@st.com>
-
- * coverage.c (coverage_init): Check flag_branch_probabilities instead of
- flag_profile_use.
-
-2011-08-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (-msave-toc-indirect): Change default
- to off. Document switch.
- * doc/invoke.texi (-msave-toc-indirect): Ditto.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
-
- * gthr-posix.h (__gthread_active_p): Do not use preprocessor
- conditionals and comments inside macro arguments.
-
-2011-08-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
- Richard Guenther <rguenther@suse.de>
-
- * tree.h (constant_boolean_node): Adjust prototype.
- * fold-const.c (fold_convert_loc): Move aggregate conversion
- leeway down.
- (constant_boolean_node): Make value parameter boolean, add
- vector type handling.
- (fold_unary_loc): Use constant_boolean_node.
- (fold_binary_loc): Preserve types properly when folding
- COMPLEX_EXPR <__real x, __imag x>.
- * gimplify.c (gimplify_expr): Handle vector comparison.
- * tree.def (EQ_EXPR, ...): Document behavior on vector typed
- comparison.
- * tree-cfg.c (verify_gimple_comparison): Verify vector typed
- comparisons.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48722
- * emit-rtl.c (unshare_all_rtl_again): For CALL_INSNs,
- reset_used_flags also in CALL_INSN_FUNCTION_USAGE.
- (verify_rtl_sharing): Likewise and verify_rtx_sharing
- in there too.
- (unshare_all_rtl_in_chain): For CALL_INSNs
- copy_rtx_if_shared also CALL_INSN_FUNCTION_USAGE.
-
-2011-08-29 Richard Guenther <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location
- on the built ADDR_EXPR.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/50215
- * var-tracking.c (create_entry_value): Call cselib_lookup_from_insn
- before adding ENTRY_VALUE to val->locs.
-
-2011-08-28 Mikael Pettersson <mikpe@it.uu.se>
-
- PR bootstrap/50218
- * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
- comp.
-
-2011-08-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * doc/rtl.texi (simple_return): Document.
- (parallel, PATTERN): Here too.
- * doc/md.texi (return): Mention it's allowed to expand to simple_return
- in some cases.
- (simple_return): Document standard pattern.
- * gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
- * final.c (final_scan_insn): Use ANY_RETURN_P on body.
- * reorg.c (function_return_label, function_simple_return_label):
- New static variables, replacing...
- (end_of_function_label): ... this.
- (simplejump_or_return_p): New static function.
- (optimize_skip, steal_delay_list_from_fallthrough,
- fill_slots_from_thread): Use it.
- (relax_delay_slots): Likewise. Use ANY_RETURN_P on body.
- (rare_destination, follow_jumps): Use ANY_RETURN_P on body.
- (find_end_label): Take a new arg which is one of the two return
- rtxs. Depending on which, set either function_return_label or
- function_simple_return_label. All callers changed.
- (make_return_insns): Make both kinds.
- (dbr_schedule): Adjust for two kinds of end labels.
- * function.c (emit_return_into_block): Set JUMP_LABEL properly.
- * genemit.c (gen_exp): Handle SIMPLE_RETURN.
- (gen_expand, gen_split): Use ANY_RETURN_P.
- * df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
- * rtl.def (SIMPLE_RETURN): New code.
- * ifcvt.c (find_if_case_1): Be more careful about
- redirecting jumps to the EXIT_BLOCK.
- * jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
- returnjump_p_1): Handle SIMPLE_RETURNs.
- * print-rtl.c (print_rtx): Likewise.
- * rtl.c (copy_rtx): Likewise.
- * bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
- * combine.c (simplify_set): Likewise.
- * resource.c (find_dead_or_set_registers, mark_set_resources):
- Likewise.
- * emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
- copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
- (init_emit_regs): Initialize simple_return_rtx.
- * cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
- force_nonfallthru_and_redirect.
- * rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
- (GR_SIMPLE_RETURN): New enum value.
- (simple_return_rtx): New macro.
- * basic-block.h (force_nonfallthru_and_redirect): Adjust
- declaration.
- * cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
- argument. All callers changed. Be careful about what kinds of
- returnjumps to generate.
- * config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
- ix86_pad_short_function): Likewise.
- * config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
- of return.
- * config/mips/mips.md (any_return): New code_iterator.
- (optab): Add cases for return and simple_return.
- (return): Expand to a simple_return.
- (simple_return): New pattern.
- (*<optab>, *<optab>_internal for any_return): New patterns.
- (return_internal): Remove.
- * config/mips/mips.c (mips_expand_epilogue): Make the last insn
- a simple_return_internal.
-
-2011-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*absneg<mode>2): Fix split condition.
- (vec_extract_lo_<mode>): Prevent both operands in memory.
- (vec_extract_lo_v16hi): Ditto.
- (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
-
-2011-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note.
- (*sse2_mulv4si3): Ditto.
- (mulv2di3): Ditto.
- * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
- notes to REG_EQUAL.
-
-2011-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50202
- * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
- when all outputs are unused.
- (sse4_2_pcmpistr): Ditto.
-
-2011-08-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (round<mode>2): New expander.
- * config/i386/i386.c (enum ix86_builtins): Add
- IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
- (struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
- descriptions.
- (ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.
- (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
-
-2011-08-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/50083
- * convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
- only when TARGET_C99_FUNCTIONS.
- <BUILT_IN_NEARBYINT{,F,L}>: Ditto.
- <BUILT_IN_RINT{,F,L}>: Ditto.
-
-2011-08-26 Michael Matz <matz@suse.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR lto/50165
- * lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
- don't call strlen twice, use memcpy.
-
-2011-08-26 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/bmi2intrin.h: Allow in <immintrin.h>.
- * config/i386/bmiintrin.h: Likewise.
- * config/i386/lzcntintrin.h: Likewise.
-
- * config/i386/immintrin.h: Include <lzcntintrin.h>,
- <bmiintrin.h> and <bmi2intrin.h>.
-
-2011-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/50166
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
- * configure: Regenerate.
-
-2011-08-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c/50179
- * c-typeck.c (c_process_expr_stmt): Skip over nops and
- call mark_exp_read even if exprv is ADDR_EXPR.
-
-2011-08-26 Richard Sandiford <richard.sandiford@linaro.org>
-
- * df-problems.c (df_note_bb_compute): Pass uses rather than defs
- to df_set_dead_notes_for_mw.
-
-2011-08-26 Richard Guenther <rguenther@suse.de>
-
- * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
-
-2011-08-26 Zdenek Dvorak <ook@ucw.cz>
- Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
- (struct ivopts_data): Add loop_single_exit_p field.
- (niter_for_exit): Change parameter desc_p into return value. Return
- desc if desc->may_be_zero. Free desc if unused.
- (niter_for_single_dom_exit): Change return type.
- (find_induction_variables): Handle changed return type of
- niter_for_single_dom_exit. Dump may_be_zero.
- (add_candidate_1): Keep original base and step type for IP_ORIGINAL.
- (set_use_iv_cost): Add and handle comp parameter.
- (determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
- comp argument to set_use_iv_cost.
- (strip_wrap_conserving_type_conversions, expr_equal_p)
- (difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
- (may_eliminate_iv): Add comp parameter. Handle new return type of
- niter_for_exit. Use loop_single_exit_p. Use iv_elimination_compare_lt.
- (determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
- and may_eliminate_iv.
- (rewrite_use_compare): Move call to iv_elimination_compare to ...
- (may_eliminate_iv): Here.
- (tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.
-
-2011-08-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-pretty-print (dump_generic_node): Test for NULL_TREE before
- accessing TREE_TYPE.
-
-2011-08-26 Jiangning Liu <jiangning.liu@arm.com>
-
- * config/arm/arm.md (*ior_scc_scc): Enable for Thumb2 as well.
- (*ior_scc_scc_cmp): Likewise
- (*and_scc_scc): Likewise.
- (*and_scc_scc_cmp): Likewise.
- (*and_scc_scc_nodom): Likewise.
- (*cmp_ite0, *cmp_ite1, *cmp_and, *cmp_ior): Handle Thumb2.
-
-2011-08-26 Jakub Jelinek <jakub@redhat.com>
-
- * rtlanal.c (nonzero_bits1): Handle CLRSB.
-
-2011-08-26 Richard Guenther <rguenther@suse.de>
-
- * expr.c (string_constant): Handle &MEM_REF.
-
-2011-08-26 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (struct four_ints): New type.
- (count_insns_for_constant): Delete function.
- (find_best_start): Delete function.
- (optimal_immediate_sequence): New function.
- (optimal_immediate_sequence_1): New function.
- (arm_gen_constant): Move constant splitting code to
- optimal_immediate_sequence.
- Rewrite constant negation/invertion code.
-
-2011-08-26 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm-protos.h (const_ok_for_op): Add prototype.
- * config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
- Remove prototype. Remove static function type.
- * config/arm/arm.md (*arm_addsi3): Add addw/subw support.
- Add arch attribute.
- * config/arm/constraints.md (Pj, PJ): New constraints.
-
-2011-08-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/cortex-a9.md ("cortex_a9_mult_long"): New.
- ("cortex_a9_multiply_long"): New and use above. Handle all
- long multiply cases.
- ("cortex_a9_multiply"): Handle smmul and smmulr.
- ("cortex_a9_mac"): Handle smmla.
-
-2011-08-25 Richard Henderson <rth@redhat.com>
-
- PR 50132
- PR 49864
- * cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
- non-constant stack adjutment.
- * expr.c (find_args_size_adjust): Break out from ...
- (fixup_args_size_notes): ... here.
- * rtl.h (find_args_size_adjust): Declare.
-
-2011-08-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (isa): Add sse2, sse2_noavx, sse3,
- sse4 and sse4_noavx.
- (enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
- (*pushdf_rex64): Change Y2 register constraint to x.
- (*movdf_internal_rex64): Ditto.
- (*zero_extendsidi2_rex64): Ditto.
- (*movdi_internal): Change Y2 register constraint to x
- and update "isa" attribute.
- (*pushdf): Ditto.
- (*movdf internal): Ditto.
- (zero_extendsidi2_1): Ditto.
- (*truncdfdf_mixed): Ditto.
- (*truncxfdf2_mixed): Ditto.
- * config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2
- register constraint to x.
- (*movv2sf_internal_rex64): Ditto.
- (*mov<mode>_internal): Change Y2 register constraint to x
- and add "isa" attribute.
- (*movv2sf_internal): Ditto.
- (*vec_extractv2si_1): Ditto.
- * config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register
- constraints to x and update "isa" attribute.
- (*vec_interleave_highv2df): Change Y3 registerconstraint
- to x and update "isa" attribute.
- (*vec_interleave_lowv2df): Ditto.
- (*vec_concatv2df): Change Y2 register constraint to x and
- update "isa" attribute.
- (sse2_loadld): Ditto.
- (*vec_extractv2di_1): Ditto.
- (*vec_dupv4si): Ditto.
- (*vec_dupv2di): Ditto.
- (*vec_concatv4si): Ditto.
- (vec_concatv2di): Ditto.
- * config/i386/constraints.md (Y2): Remove.
- (Y3): Ditto.
- (Y4): Ditto.
-
-2011-08-25 Bernd Schmidt <bernds@codesourcery.com>
-
- * regrename.c (scan_rtx_reg, scan_rtx_address, build_def_use,
- dump_def_use_chain): Don't declare.
- (mark_conflict, create_new_chain): Move before users.
- (regrename_optimize): Move to near end of file.
-
-2011-08-25 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr-protos.h (byte_immediate_operand): Remove Prototype.
- (secondary_input_reload_class): Remove Prototype.
- * config/avr/avr.c (byte_immediate_operand): Remove Function.
- * config/avr/avr.md (setmemhi): Use u8_operand.
- (strlenhi): Use const0_rtx for comparison.
- * config/avr/avr.h (avr_reg_order): Remove Declaration.
-
-2011-08-25 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (reg_class_tab): Make local to
- avr_regno_reg_class. Return smallest register class available.
-
-2011-08-25 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (STR_PREFIX_P): New Define.
- (avr_asm_declare_function_name): Use it.
- (avr_asm_named_section): Use it.
- (avr_section_type_flags): Use it.
-
-2011-08-25 Bernd Schmidt <bernds@codesourcery.com>
-
- * doc/md.texi (automata_option): Document collapse-ndfa.
- * genautomata.c (COLLAPSE_OPTION): New macro.
- (collapse_flag): New static variable.
- (struct description): New member normal_decls_num.
- (struct automaton): New members advance_ainsn and collapse_ainsn.
- (gen_automata_option): Check for COLLAPSE_OPTION.
- (collapse_ndfa_insn_decl): New static variable.
- (add_collapse_ndfa_insn_decl, special_decl_p): New functions.
- (find_arc): If insn is the collapse-ndfa insn, accept any arc we find.
- (transform_insn_regexps): Call add_collapse_ndfa_insn_decl if
- necessary. Use normal_decls_num rather than decls_num, remove
- test for special decls.
- (create_alt_states, form_ainsn_with_same_reservs): Use special_decl_p.
- (make_automaton); Likewise. Use the new advance_cycle_insn member
- of struct automaton.
- (create_composed_state): Disallow advance-cycle arcs if collapse_flag
- is set.
- (NDFA_to_DFA): Don't create composed states for the collapse-ndfa
- transition. Create the necessary transitions for it.
- (create_ainsns): Return void. Take an automaton_t argument, and
- update its ainsn_list, advance_ainsn and collapse_ainsn members. All
- callers changed.
- (COLLAPSE_NDFA_VALUE_NAME): New macro.
- (output_tables): Output code to define it.
- (output_internal_insn_code_evaluation): Output code to accept
- const0_rtx as collapse-ndfa transition.
- (output_default_latencies, output_print_reservation_func,
- output_print_description): Reorganize loops to use normal_decls_num
- as loop bound; remove special case for advance_cycle_insn_decl.
- (initiate_automaton_gen): Handle COLLAPSE_OPTION.
- (check_automata_insn_issues): Check for collapse_ainsn.
- (expand_automate): Allocate sufficient space. Initialize
- normal_decls_num.
-
-2011-08-25 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: Fix indentation from r177991.
-
-2011-08-25 Bernd Schmidt <bernds@codesourcery.com>
-
- * regrename.c (struct du_head): Remove member terminated.
- (create_new_chain): Don't initialize it.
- (scan_rtx_reg): Don't set or test it, test the open_chains_set
- bitmap instead.
- (tick, this_tick): New global variables, moved out of
- regrename_optimize.
- (current_id, open_chains, closed_chains, open_chains_set,
- live_in_chains, live_hard_regs): Reorder declarations.
- (dump_def_use_chain): Move function earlier in the file.
- (rename_chains): New static function, broken out of
- regrename_optimize.
- (regrename_optimize): Use it. Remove #if 0'ed code.
-
-2011-08-25 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * varasm.c: (default_binds_local_p_1): Commentary typo fix.
-
-2011-08-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/50172
- * config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if needed.
-
-2011-08-24 Richard Guenther <rguenther@suse.de>
-
- * tree-data-ref.c (dr_analyze_indices): Avoid unsharing the
- ref in the basic-block case. Move stripping array-refs
- to the place we create an access-function for it. Remove
- bogus stripping down a MEM_REF to its base.
-
-2011-08-24 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_comparison): Fold &a < &a + 4 even
- with -fno-strict-overflow.
-
-2011-08-24 Richard Guenther <rguenther@suse.de>
-
- * tree-vectorizer.c (vect_print_dump_info): Avoid the
- file and location clutter when dumping to dump files.
-
-2011-08-24 Simon Baldwin <simonb@google.com>
-
- * gengtype-state.c (write_state): Remove timestamped header line.
-
-2011-08-24 Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in (CFLAGS-collect2.o, CFLAGS-c-family/c-opts.o)
- (CFLAGS-c-family/c-pch.o, CFLAGS-prefix.o, CFLAGS-version.o)
- (CFLAGS-lto-compress.o, CFLAGS-toplev.o, CFLAGS-intl.o)
- (CFLAGS-cppbuiltin.o, CFLAGS-cppdefault.o): New.
- (collect2.o, c-family/c-cppbuiltin.o, c-family/c-opts.o)
- (c-family/c-pch.o, prefix.o, version.o, lto-compress.o, toplev.o)
- (intl.o, cppbuiltin.o, cppdefault.o): Remove explicit compilation
- rules.
- (lto-wrapper$(exeext)): Use $(LINKER) not $(COMPILER).
-
-2011-08-24 Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in (ALL_CXXFLAGS): Include $(CFLAGS-$@).
-
-2011-08-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50067
- * tree-data-ref.c (dr_analyze_indices): Do not add an access
- function for a MEM_REF base that has no evolution in the loop
- nest or that is not analyzable.
-
-2011-08-23 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira.c (ira_init_register_move_cost): Check small subclasses
- through ira_reg_class_max_nregs and ira_available_class_regs.
-
-2011-08-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraints.md (Yp): New register constraint.
- * config/i386/i386.md (*addhi_1): Merge with *addhi_1_lea using
- Yp register constraint.
- (*addqi_1): Merge with *addqi_1_lea using Yp register constraint.
- (*ashlhi3_1): Merge with *ashlhi3_1_lea using Yp register constraint.
- (*ashlqi3_1): Merge with *ashlqi3_1_lea using Yp register constraint.
-
-2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (<s>mul<mode>3_highpart): Update.
-
-2011-08-23 Mark Heffernan <meheff@google.com>
-
- PR middle-end/38509
- * common.opt (Wfree-nonheap-object): New option.
- * doc/invoke.texi (Warning options): Document -Wfree-nonheap-object.
- * builtins.c (maybe_emit_free_warning): Add OPT_Wfree_nonheap_object
- to warning.
- (expand_builtin): Make warning conditional.
-
-2011-08-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (type): Add imulx, ishiftx and rotatex.
- (length_immediate): Handle imulx, ishiftx and rotatex.
- (imm_disp): Ditto.
- (isa): Add bmi2.
- (enabled): Handle bmi2.
- (*mul<mode><dwi>3): Split from *<u>mul<mode><dwi>3.
- (*umul<mode><dwi>3): Ditto. Add imulx BMI2 alternative.
- (*bmi2_umulditi3_1): New insn pattern.
- (*bmi2_umulsidi3_1): Ditto.
- (*umul<mode><dwi>3 splitter): New splitter to avoid flags dependency.
- (*bmi2_ashl<mode>3_1): New insn pattern.
- (*ashl<mode>3_1): Add ishiftx BMI2 alternative.
- (*ashl<mode>3_1 splitter): New splitter to avoid flags dependency.
- (*bmi2_ashlsi3_1_zext): New insn pattern.
- (*ashlsi3_1_zext): Add ishiftx BMI2 alternative.
- (*ashlsi3_1_zext splitter): New splitter to avoid flags dependency.
- (*bmi2_<shiftrt_insn><mode>3_1): New insn pattern.
- (*<shiftrt_insn><mode>3_1): Add ishiftx BMI2 alternative.
- (*<shiftrt_insn><mode>3_1 splitter): New splitter to avoid
- flags dependency.
- (*bmi2_<shiftrt_insn>si3_1_zext): New insn pattern.
- (*<shiftrt_insn>si3_1_zext): Add ishiftx BMI2 alternative.
- (*<shiftrt_insn>si3_1_zext splitter): New splitter to avoid
- flags dependency.
- (*bmi2_rorx<mode>3_1): New insn pattern.
- (*<rotate_insn><mode>3_1): Add rotatex BMI2 alternative.
- (*rotate<mode>3_1 splitter): New splitter to avoid flags dependency.
- (*rotatert<mode>3_1 splitter): Ditto.
- (*bmi2_rorxsi3_1_zext): New insn pattern.
- (*<rotate_insn>si3_1_zext): Add rotatex BMI2 alternative.
- (*rotatesi3_1_zext splitter): New splitter to avoid flags dependency.
- (*rotatertsi3_1_zext splitter): Ditto.
-
-2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_BMI2_SET): New.
- (OPTION_MASK_ISA_BMI2_UNSET): Likewise.
- (ix86_handle_option): Handle OPT_mbmi2 case.
- * config.gcc (i[34567]86-*-*): Add bmi2intrin.h.
- (x86_64-*-*): Likewise.
- * config/i386/bmi2intrin.h: New file.
- * config/i386/cpuid.h (bit_BMI2): New.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- BMI2 feature.
- * config/i386/i386-c.c (ix86_target_macros_internal):
- Conditionally define __BMI2__.
- * config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2.
- Handle BMI2 option.
- (ix86_valid_target_attribute_inner_p): Handle BMI2 option.
- (print_reg): New code.
- (ix86_print_operand): Likewise.
- (ix86_builtins): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64,
- IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32,
- IX86_BUILTIN_PEXT64.
- (bdesc_args): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64,
- IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32,
- IX86_BUILTIN_PEXT64.
- * config/i386/i386.h (TARGET_BMI2): New.
- * config/i386/i386.md (UNSPEC_PDEP): New.
- (UNSPEC_PEXT): Likewise.
- (*bmi2_bzhi_<mode>3): Likewise.
- (*bmi2_pdep_<mode>3): Likewise.
- (*bmi2_pext_<mode>3): Likewise.
- * config/i386/i386.opt (mbmi2): New.
- * config/i386/x86intrin.h: Include bmi2intrin.h when __BMI2__
- is defined.
- * doc/extend.texi: Document BMI2 built-in functions.
- * doc/invoke.texi: Document -mbmi2.
-
-2011-08-23 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/50161
- * simplify-rtx.c (simplify_const_unary_operation): If
- op is CONST_INT, don't look at op_mode, but use instead mode.
- * optabs.c (add_equal_note): For FFS, CLZ, CTZ,
- CLRSB, POPCOUNT, PARITY and BSWAP use operand mode for
- operation and TRUNCATE/ZERO_EXTEND if needed.
- * doc/rtl.texi (ffs, clrsb, clz, ctz, popcount, parity, bswap):
- Document that operand mode must be same as operation mode,
- or VOIDmode.
- * config/avr/avr.md (paritysi2, *parityqihi2.libgcc,
- *paritysihi2.libgcc, popcountsi2, *popcountsi2.libgcc,
- *popcountqihi2.libgcc, clzsi2, *clzsihi2.libgcc, ctzsi2,
- *ctzsihi2.libgcc, ffssi2, *ffssihi2.libgcc): For unary ops
- use the mode of operand for the operation and add truncate
- or zero_extend around if needed.
- * config/c6x/c6x.md (ctzdi2): Likewise.
- * config/bfin/bfin.md (clrsbsi2, signbitssi2): Likewise.
-
-2011-08-12 Michael Matz <matz@suse.de>
-
- * cfgexpand.c (expand_one_register_var): Use get_pointer_alignment.
- (gimple_expand_cfg): Merge alignment info for coalesced pointer
- SSA names.
-
-2011-08-23 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (tree-data-ref.o): Add tree-affine.h dependency.
- * tree-affine.h (aff_comb_cannot_overlap_p): Declare.
- * tree-affine.c (aff_comb_cannot_overlap_p): New function, moved
- from ...
- * tree-ssa-loop-im.c (cannot_overlap_p): ... here.
- (mem_refs_may_alias_p): Adjust.
- * tree-data-ref.h (dr_may_alias_p): Adjust.
- * tree-data-ref.c: Include tree-affine.h.
- (dr_analyze_indices): Do nothing for the non-loop case.
- (dr_may_alias_p): Distinguish loop and non-loop case. Disambiguate
- more cases in the non-loop case.
- * graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): Adjust
- calls to dr_may_alias_p.
- (write_alias_graph_to_ascii_ecc): Likewise.
- (write_alias_graph_to_ascii_dot): Likewise.
- (build_alias_set_optimal_p): Likewise.
-
-2011-08-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50162
- * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
-
-2011-08-23 Richard Guenther <rguenther@suse.de>
-
- * tree-data-ref.c (dr_analyze_indices): Add comments, handle
- REALPART_EXPR and IMAGPART_EXPR similar to ARRAY_REFs.
- (create_data_ref): Also dump access functions for the created data-ref.
-
-2011-08-22 Uros Bizjak <ubizjak@gmail.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/50155
- * config/i386/sse.md (VI_AVX2): New.
- (<plusminus_insn><mode>3): Use VI_AVX2 mode iterator.
- (*<plusminus_insn><mode>3): Ditto.
- (<sse2_avx2>_andnot<mode>3): Ditto.
- (*andnot<mode>3): Fix order of cond operands.
- Add asserts for correct TARGET_xxx.
- (*<any_logic:code><mode>3): Ditto.
-
-2011-08-22 Anatoly Sokolov <aesok@post.ru>
-
- * config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro.
- * config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove.
- * config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change
- regclass argument type to reg_class_t. Change 'max' and 'v' vars
- and return types to unsigned char. Use reg_class_contents instead
- of class_contents.
- (TARGET_CLASS_MAX_NREGS): Define.
-
-2011-08-22 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.md (indirect_jump_shadow): Tweak representation
- to make computed_jump_p return true.
-
-2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (GCC_PICFLAG_FOR_TARGET): Call it.
- (PICFLAG_FOR_TARGET): Substitute.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
-
-2011-08-22 Dodji Seketeli <dodji@redhat.com>
-
- * c-family/c-pch.c (c_common_read_pch): Re-set line table right
- after reading in the pch.
-
-2011-08-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Error if __ELF__ isn't defined.
- * configure: Regenerated.
-
-2011-08-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50133
- * tree-vect-stmts.c (vect_finish_stmt_generation): Copy location
- from stmt instead of some statement around gsi.
-
- PR middle-end/50141
- * expr.c (get_bit_range): Only use DECL_THREAD_LOCAL_P if
- innerdecl is a VAR_DECL.
-
-2011-08-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/avx2intrin.h: New file.
- * config/i386/i386-builtin-types.def (PCINT, PCINT64, PV4SI,
- PV8SI, V32QI_FTYPE_V32QI, V32QI_FTYPE_V16QI, V16HI_FTYPE_V16HI,
- V16HI_FTYPE_V8HI, V8SI_FTYPE_V8SI, V16HI_FTYPE_V16QI,
- V8SI_FTYPE_V16QI, V4DI_FTYPE_V16QI, V8SI_FTYPE_V8HI,
- V4DI_FTYPE_V8HI, V4DI_FTYPE_V4SI, V4DI_FTYPE_PV4DI,
- V4DI_FTYPE_V2DI, V2DI_FTYPE_PCV2DI_V2DI, V4SI_FTYPE_PCV4SI_V4SI,
- V32QI_FTYPE_V16HI_V16HI, V16HI_FTYPE_V8SI_V8SI,
- V32QI_FTYPE_V32QI_V32QI, V16HI_FTYPE_V32QI_V32QI,
- V16HI_FTYPE_V16HI_V8HI, V16HI_FTYPE_V16HI_V16HI,
- V16HI_FTYPE_V16HI_INT, V16HI_FTYPE_V16HI_SI,
- V16HI_FTYPE_V16HI_V16HI_INT, V32QI_FTYPE_V32QI_V32QI_INT,
- V8SI_FTYPE_V8SI_V4SI, V8SI_FTYPE_V8SI_V8SI,
- V8SI_FTYPE_V16HI_V16HI, V8SI_FTYPE_V8SI_INT, V8SI_FTYPE_V8SI_SI,
- V8SI_FTYPE_PCV8SI_V8SI, V4DI_FTYPE_V4DI_V4DI,
- V4DI_FTYPE_V8SI_V8SI, V4DI_FTYPE_V4DI_V2DI,
- V4DI_FTYPE_PCV4DI_V4DI, V4DI_FTYPE_V4DI_INT,
- V2DI_FTYPE_V4DI_INT, V4DI_FTYPE_V4DI_V4DI_INT,
- V4DI_FTYPE_V4DI_V2DI_INT, VOID_FTYPE_PV2DI_V2DI_V2DI,
- VOID_FTYPE_PV4DI_V4DI_V4DI, VOID_FTYPE_PV4SI_V4SI_V4SI,
- VOID_FTYPE_PV8SI_V8SI_V8SI,
- V2DF_FTYPE_V2DF_PCDOUBLE_V4SI_V2DF_INT,
- V4DF_FTYPE_V4DF_PCDOUBLE_V4SI_V4DF_INT,
- V2DF_FTYPE_V2DF_PCDOUBLE_V2DI_V2DF_INT,
- V4DF_FTYPE_V4DF_PCDOUBLE_V4DI_V4DF_INT,
- V4SF_FTYPE_V4SF_PCFLOAT_V4SI_V4SF_INT,
- V8SF_FTYPE_V8SF_PCFLOAT_V8SI_V8SF_INT,
- V4SF_FTYPE_V4SF_PCFLOAT_V2DI_V4SF_INT,
- V4SF_FTYPE_V4SF_PCFLOAT_V4DI_V4SF_INT,
- V2DI_FTYPE_V2DI_PCINT64_V4SI_V2DI_INT,
- V4DI_FTYPE_V4DI_PCINT64_V4SI_V4DI_INT,
- V2DI_FTYPE_V2DI_PCINT64_V2DI_V2DI_INT,
- V4DI_FTYPE_V4DI_PCINT64_V4DI_V4DI_INT,
- V4SI_FTYPE_V4SI_PCINT_V4SI_V4SI_INT,
- V8SI_FTYPE_V8SI_PCINT_V8SI_V8SI_INT,
- V4SI_FTYPE_V4SI_PCINT_V2DI_V4SI_INT,
- V4SI_FTYPE_V4SI_PCINT_V4DI_V4SI_INT,
- V16HI_FTYPE_V16HI_SI_COUNT, V16HI_FTYPE_V16HI_V8HI_COUNT,
- V8SI_FTYPE_V8SI_SI_COUNT, V8SI_FTYPE_V8SI_V4SI_COUNT,
- V4DI_FTYPE_V4DI_INT_COUNT, V4DI_FTYPE_V4DI_V2DI_COUNT,
- V4DI_FTYPE_V4DI_INT_CONVERT,
- V4DI_FTYPE_V4DI_V4DI_INT_CONVERT): New.
- * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MPSADBW256,
- IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256,
- IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256,
- IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256,
- IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256,
- IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256,
- IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256,
- IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256,
- IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256,
- IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I,
- IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256,
- IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256,
- IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256,
- IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256,
- IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256,
- IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256,
- IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256,
- IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256,
- IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256,
- IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256,
- IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256,
- IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256,
- IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256,
- IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256,
- IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256,
- IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256,
- IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256,
- IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256,
- IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256,
- IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256,
- IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256,
- IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256,
- IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256,
- IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256,
- IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256,
- IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256,
- IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256,
- IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256,
- IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256,
- IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256,
- IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256,
- IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256,
- IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256,
- IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256,
- IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256,
- IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256,
- IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256,
- IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256,
- IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256,
- IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256,
- IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256,
- IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256,
- IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256,
- IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256,
- IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256,
- IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256,
- IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256,
- IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256,
- IX86_BUILTIN_MOVNTDQA256, IX86_BUILTIN_VBROADCASTSS_PS,
- IX86_BUILTIN_VBROADCASTSS_PS256,
- IX86_BUILTIN_VBROADCASTSD_PD256,
- IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256,
- IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256,
- IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256,
- IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128,
- IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128,
- IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256,
- IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256,
- IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256,
- IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256,
- IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ,
- IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256,
- IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ,
- IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256,
- IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI,
- IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI,
- IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI,
- IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI,
- IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI,
- IX86_BUILTIN_GATHERSIV2DF, IX86_BUILTIN_GATHERSIV4DF,
- IX86_BUILTIN_GATHERDIV2DF, IX86_BUILTIN_GATHERDIV4DF,
- IX86_BUILTIN_GATHERSIV4SF, IX86_BUILTIN_GATHERSIV8SF,
- IX86_BUILTIN_GATHERDIV4SF, IX86_BUILTIN_GATHERDIV8SF,
- IX86_BUILTIN_GATHERSIV2DI, IX86_BUILTIN_GATHERSIV4DI,
- IX86_BUILTIN_GATHERDIV2DI, IX86_BUILTIN_GATHERDIV4DI,
- IX86_BUILTIN_GATHERSIV4SI, IX86_BUILTIN_GATHERSIV8SI,
- IX86_BUILTIN_GATHERDIV4SI, IX86_BUILTIN_GATHERDIV8SI.
- (bdesc_special_args): Add IX86_BUILTIN_MOVNTDQA256,
- IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ,
- IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256,
- IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ,
- IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256.
- (bdesc_args): Add IX86_BUILTIN_MPSADBW256,
- IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256,
- IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256,
- IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256,
- IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256,
- IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256,
- IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256,
- IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256,
- IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256,
- IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I,
- IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256,
- IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256,
- IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256,
- IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256,
- IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256,
- IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256,
- IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256,
- IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256,
- IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256,
- IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256,
- IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256,
- IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256,
- IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256,
- IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256,
- IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256,
- IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256,
- IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256,
- IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256,
- IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256,
- IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256,
- IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256,
- IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256,
- IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256,
- IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256,
- IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256,
- IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256,
- IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256,
- IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256,
- IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256,
- IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256,
- IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256,
- IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256,
- IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256,
- IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256,
- IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256,
- IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256,
- IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256,
- IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256,
- IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256,
- IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256,
- IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256,
- IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256,
- IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256,
- IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256,
- IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256,
- IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256,
- IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256,
- IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256,
- IX86_BUILTIN_VBROADCASTSS_PS, IX86_BUILTIN_VBROADCASTSS_PS256,
- IX86_BUILTIN_VBROADCASTSD_PD256,
- IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256,
- IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256,
- IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256,
- IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128,
- IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128,
- IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256,
- IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256,
- IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256,
- IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256,
- IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI,
- IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI,
- IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI,
- IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI,
- IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI.
- (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_GATHERSIV2DF,
- IX86_BUILTIN_GATHERSIV4DF, IX86_BUILTIN_GATHERDIV2DF,
- IX86_BUILTIN_GATHERDIV4DF, IX86_BUILTIN_GATHERSIV4SF,
- IX86_BUILTIN_GATHERSIV8SF, IX86_BUILTIN_GATHERDIV4SF,
- IX86_BUILTIN_GATHERDIV8SF, IX86_BUILTIN_GATHERSIV2DI,
- IX86_BUILTIN_GATHERSIV4DI, IX86_BUILTIN_GATHERDIV2DI,
- IX86_BUILTIN_GATHERDIV4DI, IX86_BUILTIN_GATHERSIV4SI,
- IX86_BUILTIN_GATHERSIV8SI, IX86_BUILTIN_GATHERDIV4SI,
- IX86_BUILTIN_GATHERDIV8SI.
- (ix86_preferred_simd_mode): Support AVX2 modes.
- (ix86_expand_args_builtin): Support AVX2 builtins.
- (ix86_expand_special_args_builtin): Likewise.
- (ix86_expand_builtin): Likewise.
- * config/i386/i386.md (UNSPEC_VPERMSI): New.
- (UNSPEC_VPERMDF): Likewise.
- (UNSPEC_VPERMSF): Likewise.
- (UNSPEC_VPERMDI): Likewise.
- (UNSPEC_VPERMTI): Likewise.
- (UNSPEC_GATHER): Likewise.
- (ssemodesuffix): Extend.
- * config/i386/immintrin.h: Include avx2intrin.h when __AVX2__
- is defined.
- * config/i386/predicates.md (const1248_operand): New.
- * config/i386/sse.md (VI1_AVX2): New mode iterator.
- (VI2_AVX2): Likewise.
- (VI4_AVX2): Likewise.
- (VI8_AVX2): Likewise.
- (VIMAX_AVX2): Likewise.
- (SSESCALARMODE): Likewise.
- (VI12_AVX2): Likewise.
- (VI24_AVX2): Likewise.
- (VI124_AVX2): Likewise.
- (VI248_AVX2): Likewise.
- (VI48_AVX2): Likewise.
- (VI4SD_AVX2): Likewise.
- (V48_AVX2): Likewise.
- (AVX256MODE2P): Likewise.
- (AVXMODE48P_DI): Likewise.
- (sse2_avx2): New mode attribute.
- (ssse3_avx2): Likewise.
- (sse4_1_avx2): Likewise.
- (avx_avx2): Likewise.
- (ssebytemode): Likewise.
- (AVXTOSSEMODE): Likewise.
- (AVXMODE48P_DI): Likewise.
- (gthrfirstp): Likewise.
- (gthrlastp): Likewise.
- (lshift): New code_iterator
- (lshift): New code attribute.
- (lshift): Likewise.
- (ssescalarmodesuffix): Update.
- (sseunpackmode): Likewise.
- (ssepackmode): Likewise.
- (avx2_vec_dupv4sf): New insn pattern.
- (avx2_vec_dupv8sf): Likewise.
- (avx2_interleave_highv4di): Likewise.
- (avx2_interleave_lowv4di): Likewise.
- (avx2_umulv4siv4di3): Likewise
- (*avx2_umulv4siv4di3): Likewise
- (avx2_pmaddwd): Likewise.
- (*avx2_pmaddwd): Likewise.
- (avx2_lshrqv4di3): Likewise.
- (avx2_lshlqv4di3): Likewise.
- (avx2_lshl<mode>3): Likewise.
- (avx2_<umaxmin:code><mode>3): Likewise.
- (*avx2_<umaxmin:code><mode>3): Likewise.
- (avx2_<smaxmin:code><mode>3): Likewise.
- (*avx2_<smaxmin:code><mode>3): Likewise.
- (avx2_eq<mode>3): Likewise.
- (*avx2_eq<mode>3): Likewise.
- (avx2_gt<mode>3): Likewise.
- (avx2_interleave_highv32qi): New.
- (avx2_interleave_lowv32qi): Likewise.
- (avx2_interleave_highv16hi): Likewise.
- (avx2_interleave_lowv16hi): Likewise.
- (avx2_interleave_highv8si): Likewise.
- (avx2_interleave_lowv8si): Likewise.
- (avx2_pshufd): Likewise.
- (avx2_pshufd_1): Likewise.
- (avx2_pshuflwv3): Likewise.
- (avx2_pshuflw_1): Likewise.
- (avx2_pshufhwv3): Likewise.
- (avx2_pshufhw_1): Likewise.
- (avx2_uavgv32qi3): Likewise.
- (*avx2_uavgv32qi3): Likewise.
- (avx2_uavgv16hi3): Likewise.
- (*avx2_uavgv16hi3): Likewise.
- (avx2_pmovmskb): Likewise.
- (avx2_phaddwv16hi3): Likewise.
- (avx2_phadddv8si3): Likewise.
- (avx2_phaddswv16hi3): Likewise.
- (avx2_phsubwv16hi3): Likewise.
- (avx2_phsubdv8si3): Likewise.
- (avx2_phsubswv16hi3): Likewise.
- (avx2_pmaddubsw256): Likewise.
- (avx2_umulhrswv16hi3): Likewise.
- (*avx2_umulhrswv16hi3): Likewise.
- (avx2_packusdw): Likewise.
- (avx2_pblendd<mode>): Likewise.
- (avx2_<code>v16qiv16hi2): Likewise.
- (avx2_<code>v8qiv8si2): Likewise.
- (avx2_<code>v8hiv8si2): Likewise.
- (avx2_<code>v4qiv4di2): Likewise.
- (avx2_<code>v4hiv4di2): Likewise.
- (avx2_<code>v4siv4di2): Likewise.
- (avx2_pbroadcast<mode>): Likewise.
- (avx2_permvarv8si): Likewise.
- (avx2_permv4df): Likewise.
- (avx2_permvarv8sf): Likewise.
- (avx2_permv4di): Likewise.
- (avx2_permv2ti): Likewise.
- (avx2_vec_dupv4df): Likewise.
- (avx2_vbroadcasti128_<mode>): Likewise.
- (avx2_vec_set_lo_v4di): Likewise.
- (avx2_vec_set_hi_v4di): Likewise.
- (*avx2_maskmov<avx2modesuffix><avxmodesuffix>): Likewise.
- (avx2_extracti128): Likewise.
- (avx2_inserti128): Likewise.
- (avx2_ashrvv8si): Likewise.
- (avx2_ashrvv4si): Likewise.
- (avx2_<lshift>vv8si): Likewise.
- (avx2_<lshift>v<mode>): Likewise.
- (avx2_<lshift>vv2di): Likewise.
- (avx2_gathersi<mode>): Likewise.
- (*avx2_gathersi<mode>): Likewise.
- (avx2_gatherdi<mode>): Likewise.
- (*avx2_gatherdi<mode>): Likewise.
- (avx2_gatherdi<mode>256): Likewise.
- (*avx2_gatherdi<mode>256): Likewise.
- (<plusminus_insn><mode>3): Use VI mode iterator.
- (*<plusminus_insn><mode>3): Use VI mode iterator.
- (<sse2_avx2>_<plusminus_insn><mode>3): Rename from
- sse2_<plusminus_insn><mode>3. Use VI12_AVX2 mode iterator.
- (*<sse2_avx2>_<plusminus_insn><mode>3): Rename from
- *sse2_<plusminus_insn><mode>3. Use VI12_AVX2 mode iterator.
- (mul<mode>3): Rename from mulv8hi3. Use VI2_AVX2 mode iterator.
- (*mul<mode>3): Rename from *mulv8hi3. Use VI2_AVX2 mode iterator.
- (<s>mul<mode>3_highpart): Rename from <s>mulv8hi3_highpart.
- Use VI2_AVX2 mode iterator.
- (*<s>mul<mode>3_highpart): Rename from *<s>mulv8hi3_highpart.
- Use VI2_AVX2 mode iterator.
- (mul<mode>3): Rename from mulv4si3. Use VI4_AVX2 mode iterator.
- (*mul<mode>3): Rename from *mulv4si3. Use VI4_AVX2 mode iterator.
- (*<sse4_1_avx2>_mulv2siv2di3): Rename from *sse4_1_mulv4si3.
- Use VI4_AVX2 mode iterator.
- (ashr<mode>3): Use VI24_AVX2 mode iterator.
- (lshr<mode>3): Use VI248_AVX2 mode iterator.
- (<sse2_avx2>_ashl<mode>3): Rename from sse2_ashlv1ti3.
- Use VIMAX_AVX2 mode iterator.
- (<sse2_avx2>_andnot<mode>3): Rename from sse2_andnot<mode>3.
- Use VI mode iterator.
- (*andnot<mode>3): Update for AVX2.
- (*<any_logic:code><mode>3): Likewise.
- (<sse2_avx2>_packsswb): Rename from sse2_packsswb.
- Use VI1_AVX mode iterator.
- (<sse2_avx2>_packssdw): Rename from sse2_packssdw.
- Use VI2_AVX mode iterator.
- (<sse2_avx2>_packuswb): Rename from sse2_packsswb.
- Use VI1_AVX mode iterator.
- (<sse2_avx2>_psadbw): Rename from sse2_psadbw.
- Use VI8_AVX2 mode iterator.
- (<ssse3_avx2>_pshufb<mode>3): Rename from ssse3_pshufbv16qi3.
- Use VI1_AVX2 mode iterator.
- (<ssse3_avx2>_psign<mode>3): Rename from ssse3_psign<mode>3.
- Use VI124_AVX2 mode iterator.
- (<ssse3_avx2>_palignr<mode>): Rename from ssse3_palignrti.
- Use SSESCALARMODE mode iterator.
- (abs<mode>2): Use VI124_AVX2 mode iterator.
- (<sse4_1_avx2>_movntdqa): Rename from sse4_1_movntdqa.
- Use VI8_AVX2 mode iterator.
- (<sse4_1_avx2>_mpsadbw): Rename from sse4_1_mpsadbw.
- Use VI1_AVX2 mode iterator.
- (<sse4_1_avx2>_pblendvb): Rename from sse4_1_pblendvb.
- Use VI1_AVX2 mode iterator.
- (<sse4_1_avx2>_pblendw): Rename from sse4_1_pblendvb.
- Use VI2_AVX2 mode iterator.
- (<avx_avx2>_maskload<avx2modesuffix><avxmodesuffix>): Rename from
- avx_maskload<ssemodesuffix><avxsizesuffix>. Use V48_AVX2 mode iterator.
- (<avx_avx2>_maskstore<avx2modesuffix><avxmodesuffix>): Rename from
- avx_maskstore<ssemodesuffix><avxsizesuffix>.
- Use V48_AVX2 mode iterator.
- * doc/extend.texi: Document AVX2 built-in functions.
- * doc/invoke.texi: Document -mavx2.
-
-2011-08-22 Matthias Klose <doko@debian.org>
-
- Revert:
- 2011-07-11 Arthur Loiret <aloiret@debian.org>
- Matthias Klose <doko@debian.org>
- * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
- tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
- convention.
- * config.gcc (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
-
-2011-08-22 Mikael Pettersson <mikpe@it.uu.se>
-
- PR bootstrap/50146
- * ira-color.c (assign_hard_reg): Move saved_nregs declaration
- to #ifndef HONOR_REG_ALLOC_ORDER block.
-
-2011-08-21 Richard Henderson <rth@redhat.com>
-
- * rtl.h (INSN_ANNULLED_BRANCH_P): Only allow JUMP_INSN.
- * dwarf2cfi.c (scan_trace): Test JUMP_P before INSN_ANNULLED_BRANCH_P.
- * resource.c (next_insn_no_annul): Likewise.
- (mark_set_resources): Likewise.
- * reorg.c (delete_from_delay_slot): Likewise.
- (dbr_schedule, redundant_insn, try_merge_delay_insns): Likewise.
- (get_branch_condition): Test pc_rtx and LABEL_REF before dereferencing.
-
-2011-08-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (any_div): Remove.
- (sgnprefix): Update for removal.
- (u): Ditto.
-
-2011-08-20 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class
- for ira_reg_class_max_nregs. Increase pressure by 1.
- (mark_pseudo_regno_subword_dead): Use allocno class
- for ira_reg_class_max_nregs.
-
-2011-08-20 Richard Henderson <rth@redhat.com>
-
- * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
- config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
- config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
- config/c6x/ltf.c: Adjust include path for soft-fp.
-
-2011-08-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR other/46770
- * config.gcc (tm_file): Add initfini-array.h if
- .init_arrary/.fini_array are supported.
-
- * crtstuff.c: Don't generate .ctors nor .dtors sections if
- USE_INITFINI_ARRAY is defined.
-
- * output.h (default_elf_init_array_asm_out_constructor): New.
- (default_elf_fini_array_asm_out_destructor): Likewise.
- * varasm.c (elf_init_array_section): Likewise.
- (elf_fini_array_section): Likewise.
- (get_elf_initfini_array_priority_section): Likewise.
- (default_elf_init_array_asm_out_constructor): Likewise.
- (default_elf_fini_array_asm_out_destructor): Likewise.
-
- * config/initfini-array.h: New.
-
-2011-08-20 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_class_max_nregs): Check that the mode is
- OK for ST_REGS and FP_REGS before taking those classes into account.
-
-2011-08-20 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_reorg_process_insns): Check for jumps
- before checking for annulled branches.
-
-2011-08-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_binary_operator_ok): Use
- satisfies_constraint_L.
-
-2011-08-20 Uros Bizjak <ubizjak@gmail.com>
- Michael Matz <matz@suse.de>
-
- * config/i386/i386.c (ix86_expand_round_sse4): Expand as
- trunc (a + copysign (nextafter (0.5, 0.0), a)).
-
-2011-08-20 Anatoly Sokolov <aesok@post.ru>
-
- * doc/tm.texi.in (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
- * doc/tm.texi: Regenerate.
- * targhooks.c (default_preferred_output_reload_class): Don't use
- PREFERRED_OUTPUT_RELOAD_CLASS macro.
- * system.h (PREFERRED_OUTPUT_RELOAD_CLASS): Poison.
-
-2011-08-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48739
- * tree-ssa.c: Include cfgloop.h.
- (execute_update_addresses_taken): When updating ssa, if in loop closed
- SSA form, call rewrite_into_loop_closed_ssa instead of update_ssa.
- * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
-
-2011-08-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/49936
- * ira.c (ira_init_register_move_cost): Ignore too small subclasses
- for calculation of max register move costs.
-
-2011-08-19 Joseph Myers <joseph@codesourcery.com>
-
- * c-parser.c (c_parser_postfix_expression): Convert operands of
- __builtin_complex to their semantic types.
-
-2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/49721
- * explow.c (convert_memory_address_addr_space): Also permute the
- conversion and addition of constant for zero-extend.
-
-2011-08-19 Joseph Myers <joseph@codesourcery.com>
-
- * c-parser.c (c_parser_postfix_expression): Handle RID_BUILTIN_COMPLEX.
- * doc/extend.texi (__builtin_complex): Document.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (is_widening_mult_rhs_p): Handle constants
- beyond conversions.
- (convert_mult_to_widen): Convert constant inputs to the right type.
- (convert_plusminus_to_widen): Don't automatically reject inputs that
- are not an SSA_NAME.
- Convert constant inputs to the right type.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (convert_plusminus_to_widen): Convert add_rhs
- to the correct type.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (convert_mult_to_widen): Better handle
- unsigned inputs of different modes.
- (convert_plusminus_to_widen): Likewise.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (is_widening_mult_rhs_p): Add new argument
- 'type'.
- Use 'type' from caller, not inferred from 'rhs'.
- Don't reject non-conversion statements. Do return lhs in this case.
- (is_widening_mult_p): Add new argument 'type'.
- Use 'type' from caller, not inferred from 'stmt'.
- Pass type to is_widening_mult_rhs_p.
- (convert_mult_to_widen): Pass type to is_widening_mult_p.
- (convert_plusminus_to_widen): Likewise.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (is_widening_mult_p): Remove FIXME.
- Ensure the the larger type is the first operand.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (convert_mult_to_widen): Convert
- unsupported unsigned multiplies to signed.
- (convert_plusminus_to_widen): Likewise.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-math-opts.c (convert_plusminus_to_widen): Permit a single
- conversion statement separating multiply-and-accumulate.
-
-2011-08-19 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50067
- * tree-data-ref.c (dr_analyze_indices): Simplify, strip MEM_REF
- offset only if we accounted for it.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.md (maddhidi4): Remove '*' from name.
- * expr.c (expand_expr_real_2): Use find_widening_optab_handler.
- * optabs.c (find_widening_optab_handler_and_mode): New function.
- (expand_widen_pattern_expr): Use find_widening_optab_handler.
- (expand_binop_directly): Likewise.
- (expand_binop): Likewise.
- * optabs.h (find_widening_optab_handler): New macro define.
- (find_widening_optab_handler_and_mode): New prototype.
- * tree-cfg.c (verify_gimple_assign_binary): Adjust WIDEN_MULT_EXPR
- type precision rules.
- (verify_gimple_assign_ternary): Likewise for WIDEN_MULT_PLUS_EXPR.
- * tree-ssa-math-opts.c (build_and_insert_cast): New function.
- (is_widening_mult_rhs_p): Allow widening by more than one mode.
- Explicitly disallow mis-matched input types.
- (convert_mult_to_widen): Use find_widening_optab_handler, and cast
- input types to fit the new handler.
- (convert_plusminus_to_widen): Likewise.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * expr.c (expand_expr_real_2): Use widening_optab_handler.
- * genopinit.c (optabs): Use set_widening_optab_handler for $N.
- (gen_insn): $N now means $a must be wider than $b, not consecutive.
- * optabs.c (widened_mode): New function.
- (expand_widen_pattern_expr): Use widening_optab_handler.
- (expand_binop_directly): Likewise.
- (expand_binop): Likewise.
- * optabs.h (widening_optab_handlers): New struct.
- (optab_d): New member, 'widening'.
- (widening_optab_handler): New function.
- (set_widening_optab_handler): New function.
- * tree-ssa-math-opts.c (convert_mult_to_widen): Use
- widening_optab_handler.
- (convert_plusminus_to_widen): Likewise.
-
-2011-08-19 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (grokdeclarator): Diagnose _Noreturn for non-C1X if
- pedantic.
- * c-parser.c (c_parser_declspecs): Include _Noreturn in syntax comment.
- * ginclude/stdnoreturn.h (noreturn): Don't define for C++.
-
-2011-08-19 Joseph Myers <joseph@codesourcery.com>
-
- * opth-gen.awk: Do not declare target save/restore structures and
- functions if IN_RTS defined.
-
-2011-08-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- PR target/49437
- * config/arm/arm.c (arm_output_epilogue): Properly handle epilogue
- when stack was realigned in interrupt handler prologue.
-
-2011-08-18 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (shadow_tag_warned): Check for _Noreturn.
- (quals_from_declspecs): Assert _Noreturn not present.
- (grokdeclarator): Handle _Noreturn.
- (build_null_declspecs): Initialize noreturn_p.
- (declspecs_add_scspec): Handle RID_NORETURN.
- * c-parser.c (c_token_starts_declspecs, c_parser_declspecs)
- (c_parser_attributes): Handle RID_NORETURN.
- * c-tree.h (struct c_declspecs): Add noreturn_p.
- * ginclude/stdnoreturn.h: New.
- * Makefile.in (USER_H): Add stdnoreturn.h.
-
-2011-08-18 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
- (OPTION_MASK_ISA_AVX_UNSET): Update.
- (OPTION_MASK_ISA_AVX2_UNSET): New.
- (ix86_handle_option): Handle OPT_mavx2 case.
- * config/i386/cpuid.h (bit_AVX2): New.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- AVX2 feature.
- * config/i386/i386-c.c (ix86_target_macros_internal):
- Conditionally define __AVX2__.
- * config/i386/i386.c (ix86_option_override_internal): Define PTA_AVX2.
- Define "core-avx2" processor alias. Handle avx2 option.
- (ix86_valid_target_attribute_inner_p): Handle avx2 option.
- * config/i386/i386.h (TARGET_AVX2): New.
- * config/i386/i386.opt (mavx2): New.
- * doc/invoke.texi: Document -mavx2.
-
-2011-08-18 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/49890
- * ira-costs.c (setup_regno_cost_classes_by_aclass): Don't exclude
- subclasses of class which is superset of a pressure class.
-
-2011-08-18 H.J. Lu <hongjiu.lu@intel.com>
- Igor Zamyatin <igor.zamyatin@intel.com>
-
- * config/i386/i386-c.c (ix86_target_macros_internal): Replace int
- with HOST_WIDE_INT for isa_flag.
- (ix86_pragma_target_parse): Replace int with HOST_WIDE_INT for
- isa variables.
-
- * config/i386/i386.c (ix86_target_string): Replace int with
- HOST_WIDE_INT for isa. Use HOST_WIDE_INT_PRINT to print isa.
- (ix86_target_opts): Replace int with HOST_WIDE_INT on mask.
- (pta_flags): Removed.
- (PTA_XXX): Redefined as (HOST_WIDE_INT_1 << X).
- (pta): Use HOST_WIDE_INT on flags.
- (builtin_isa): Use HOST_WIDE_INT on isa.
- (ix86_add_new_builtins): Likewise.
- (def_builtin): Use HOST_WIDE_INT on mask.
- (def_builtin_const): Likewise.
- (builtin_description): Likewise.
-
- * config/i386/i386.opt (ix86_isa_flags): Replace int with
- HOST_WIDE_INT.
- (ix86_isa_flags_explicit): Likewise.
- (x_ix86_isa_flags_explicit): Likewise.
-
-2011-08-17 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/50107
- * ira-int.h (ira_hard_reg_not_in_set_p): Remove.
- (ira_hard_reg_in_set_p): New.
-
- * ira-color.c (calculate_saved_nregs): New.
- (assign_hard_reg): Use it. Set up allocated_hard_reg_p for all
- hard regs.
- (allocno_reload_assign, fast_allocation): Use
- ira_hard_reg_set_intersection_p instead of
- ira_hard_reg_not_in_set_p.
-
- * ira.c (setup_reg_renumber): Use
- ira_hard_reg_set_intersection_p instead of
- ira_hard_reg_not_in_set_p.
- (setup_allocno_assignment_flags, calculate_allocation_cost): Use
- ira_hard_reg_in_set_p instead of ira_hard_reg_not_in_set_p.
-
- * ira-costs.c (ira_tune_allocno_costs): Use
- ira_hard_reg_set_intersection_p instead of
- ira_hard_reg_not_in_set_p.
-
-2011-08-18 H.J. Lu <hongjiu.lu@intel.com>
- Igor Zamyatin <igor.zamyatin@intel.com>
-
- * hwint.h (HOST_WIDE_INT_1): New.
-
- * opt-functions.awk (switch_bit_fields): Initialize the
- host_wide_int field.
- (host_wide_int_var_name): New.
- (var_type_struct): Check and return HOST_WIDE_INT.
-
- * opt-read.awk: Handle HOST_WIDE_INT for "Variable".
-
- * optc-save-gen.awk: Support HOST_WIDE_INT on var_target_other.
-
- * opth-gen.awk: Use HOST_WIDE_INT_1 on HOST_WIDE_INT. Properly
- check masks for HOST_WIDE_INT.
-
- * opts-common.c (set_option): Support HOST_WIDE_INT flag_var.
- (option_enabled): Likewise.
- (get_option_state): Likewise.
-
- * opts.h (cl_option): Add cl_host_wide_int. Change var_value
- to HOST_WIDE_INT.
-
-2011-08-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Marc Glisse <marc.glisse@normalesup.org>
-
- PR libstdc++-v3/1773
- * target.def (decl_mangling_context): New C++ hook.
- * doc/tm.texi: Regenerate.
- * config/sol2-cxx.c, config/sol2-stubs.c: New files.
- * config/sol2-protos.h: Group by source file.
- (solaris_cxx_decl_mangling_context): Declare.
- * config/sol2.h (TARGET_CXX_DECL_MANGLING_CONTEXT): Define.
- * config/t-sol2 (sol2-cxx.o, sol2-stubs.o): New targets.
- Use $<.
- * config.gcc (*-*-solaris2*): Add sol2-cxx.o to cxx_target_objs.
- Add sol2-stubs.o to extra_objs.
-
-2011-08-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50009
- * stor-layout.c (update_alignment_for_field): Don't ICE on
- packed flexible array members if ms_bitfield_layout_p.
-
- PR target/50092
- * config/i386/i386.c (assign_386_stack_local): Call validize_mem
- on the result before returning it.
-
- PR debug/50017
- * tree-vect-stmts.c (vect_finish_stmt_generation): If gsi_stmt (*gsi)
- is a debug stmt, use location of the first non-debug stmt after it.
-
-2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
- (arm_size_rtx_costs): Likewise.
-
-2011-08-18 Richard Guenther <rguenther@suse.de>
-
- * tree.h (tree_int_cst_msb): Remove.
- * tree.c (tree_int_cst_msb): Likewise.
- (tree_int_cst_sign_bit): Move from ...
- * tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): ... here.
-
-2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
- * doc/tm.texi: Regenerate.
- * target.def (rtx_costs): Add an opno parameter.
- * hooks.h (hook_bool_rtx_int_int_intp_bool_false): Replace with...
- (hook_bool_rtx_int_int_int_intp_bool_false): ...this.
- * hooks.c (hook_bool_rtx_int_int_intp_bool_false): Replace with...
- (hook_bool_rtx_int_int_int_intp_bool_false): ...this.
- * cse.c (COST_IN): Add an opno parameter.
- (notreg_cost): Likewise. Update call to rtx_cost.
- (COST, fold_rtx): Update accordingly.
- * dojump.c (prefer_and_bit_test): Update call to rtx_cost.
- * expmed.c (emit_store_flag): Likewise.
- * optabs.c (avoid_expensive_constant): Add an opno parameter.
- Update call to rtx_cost.
- (expand_binop_directly, expand_binop): Likewise.
- (expand_twoval_binop, prepare_cmp_insn): Likewise.
- * rtl.h (rtx_cost, get_full_rtx_cost): Add opno parameters.
- (set_src_cost, get_full_set_src_cost): Update accordingly.
- * rtlanal.c (rtx_cost): Add an opno parameter. Update call
- to target hook.
- (get_full_rtx_cost): Add an opno paramter. Update calls to rtx_cost.
- (default_adress_cost): Update calls to rtx_cost.
-
- * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs)
- (arm_slowmul_rtx_costs): Adjust calls to rtx_cost.
- (arm_rtx_costs): Add an opno parameter.
- * config/alpha/alpha.c (alpha_rtx_costs): Add an opno parameter and
- adjust any recursive rtx-cost calls.
- * config/avr/avr.c (avr_operand_rtx_cost, avr_rtx_costs): Likewise.
- * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
- * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
- * config/cris/cris.c (cris_rtx_costs): Likewise.
- * config/frv/frv.c (frv_rtx_costs): Likewise.
- * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
- * config/i386/i386.c (ix86_rtx_costs): Likewise.
- * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
- * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
- * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
- * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
- * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
- * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
- * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
- * config/mep/mep.c (mep_rtx_cost): Likewise.
- * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
- * config/mips/mips.c (mips_binary_cost): Update call to rtx_cost.
- (mips_zero_extend_cost): Add an opno parameter.
- * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
- * config/mn10300/mn10300.c (mn10300_address_cost): Update call
- to rtx_cost.
- (mn10300_rtx_costs): Add an opno parameter and adjust any recursive
- rtx-cost calls.
- * config/pa/pa.c (hppa_rtx_costs): Likewise.
- * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
- * config/picochip/picochip.c (picochip_rtx_costs): Likewise.
- * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
- (rs6000_debug_rtx_costs): Likewise.
- * config/s390/s390.c (s390_rtx_costs): Likewise.
- * config/score/score-protos.h (score_rtx_costs): Likewise.
- * config/score/score.c (score_rtx_costs): Likewise.
- * config/sh/sh.c (andcosts): Update call to rtx_cost.
- (sh_rtx_costs): Add an opno parameter.
- * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
- * config/spu/spu.c (spu_rtx_costs): Likewise.
- * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
- * config/v850/v850.c (v850_rtx_costs): Likewise.
- * config/vax/vax.c (vax_rtx_costs): Likewise.
- * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
-
-2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
-
- * rtl.h (set_src_cost, get_full_set_src_cost): New functions.
- * auto-inc-dec.c (attempt_change): Use set_src_cost instead of
- rtx_cost.
- * calls.c (precompute_register_parameters): Likewise.
- * combine.c (expand_compound_operation, make_extraction): Likewise.
- (force_to_mode, distribute_and_simplify_rtx): Likewise.
- * dse.c (find_shift_sequence): Likewise.
- * expmed.c (init_expmed, expand_mult, expand_smod_pow2): Likewise.
- * expr.c (compress_float_constant): Likewise.
- * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
- * gcse.c (want_to_gcse_p): Likewise.
- * ifcvt.c (noce_try_sign_mask): Likewise.
- * loop-doloop.c (doloop_optimize): Likewise.
- * loop-invariant.c (create_new_invariant): Likewise.
- * optabs.c (avoid_expensive_constant): Likewise.
- * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands)
- (try_replace_in_use, reload_cse_move2add): Likewise.
- * reload1.c (calculate_elim_costs_all_insns): Likewise.
- (note_reg_elim_costly): Likewise.
- * rtlanal.c (insn_rtx_cost): Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- * stmt.c (lshift_cheap_p): Likewise.
- * tree-ssa-loop-ivopts.c (seq_cost, computation_cost): Likewise.
- * config/avr/avr.c (final_prescan_insn): Likewise.
- * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
- * config/mips/mips.c (mips_binary_cost, mips_rtx_costs): Likewise.
-
-2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
-
- * rtl.h (set_rtx_cost, get_full_set_rtx_cost): New functions.
- * auto-inc-dec.c (attempt_change): Use set_rtx_cost.
- * cfgloopanal.c (seq_cost): Likewise.
- * loop-invariant.c (create_new_invariant): Likewise.
- * postreload.c (move2add_use_add2_insn, move2add_use_add3_insn)
- (reload_cse_move2add): Use get_full_set_rtx_cost.
-
-2011-08-18 Richard Guenther <rguenther@suse.de>
-
- * expr.c (get_inner_reference): Fix typo in last change.
-
-2011-08-18 Paolo Carlini <paolo.carlini@oracle.com>
- Joseph Myers <joseph@codesourcery.com>
-
- PR tree-optimization/49963
- * hwint.c (absu_hwi): Define.
- * hwint.h (absu_hwi): Declare.
- * fold-const.c (fold_plusminus_mult_expr): Use absu_hwi instead
- of abs_hwi.
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
- * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.
-
-2011-08-18 Richard Guenther <rguenther@suse.de>
-
- * expr.c (get_inner_reference): Sign-extend the constant
- twos-complement offset before doing arbitrary precision
- arithmetic on it.
- * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
- (get_constraint_for_1): Pass the offset of a MEM_REF unchanged
- to get_constraint_for_ptr_offset.
-
-2011-08-17 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/50068
- * config/sh/sh.c (sh_output_mi_thunk): Don't call dbr_schedule.
-
-2011-08-17 Richard Guenther <rguenther@suse.de>
-
- * tree.h (convert_to_ptrofftype_loc): New function.
- (convert_to_ptrofftype): Define.
- * builtins.c (expand_builtin_bzero): Use size_type_node.
- (fold_builtin_bzero): Likewise.
- (std_gimplify_va_arg_expr): Build the BIT_AND_EXPR on the pointer.
- * c-typeck.c (build_unary_op): Use convert_to_ptrofftype_loc.
- * cgraphunit.c (thunk_adjust): Use fold_build_pointer_plus_loc.
- (cgraph_redirect_edge_call_stmt_to_callee): Use size_int.
- * expr.c (expand_expr_addr_expr_1): Use fold_build_pointer_plus.
- * fold-const.c (build_range_check): Negate using the original type.
- (fold_unary_loc): Use fold_build_pointer_plus_loc.
- * gimple-fold.c (gimple_adjust_this_by_delta): Use
- convert_to_ptrofftype.
- * gimplify.c (gimplify_self_mod_expr): Likewise.
- * graphite-clast-to-gimple.c (clast_to_gcc_expression): Likewise.
- (graphite_create_new_loop_guard): Likewise.
- * graphite-sese-to-poly.c (my_long_long): Remove.
- (scop_ivs_can_be_represented): Adjust.
- * tree-cfg.c (verify_gimple_assign_unary): Use ptrofftype_p.
- * tree-chrec.c (chrec_fold_plus_1): Use fold_build_pointer_plus.
- * tree-loop-distribution.c (build_size_arg_loc): Use
- size_type_node.
- (generate_memset_zero): Simplify.
- * tree-mudflap.c: Use fold_convert, not convert.
- * tree-predcom.c (suitable_reference_p): Expand DR_OFFSET in
- its own type.
- (determine_offset): Likewise for DR_STEP.
- (valid_initializer_p): Likewise.
- * tree-profile.c (prepare_instrumented_value): Convert the pointer
- to an integer type of same size.
- * tree-scalar-evolution.c (interpret_rhs_expr): Do not refer
- to sizetype without need.
- * tree-ssa-address.c (tree_mem_ref_addr): Likewise.
- * tree-ssa-loop-ivopts.c (find_bivs): Use convert_to_ptrofftype.
- * tree-ssa-loop-manip.c (create_iv): Likewise.
- (determine_exit_conditions): Adjust comment.
- * tree-ssa-pre.c (create_expression_by_pieces): Use
- convert_to_ptrofftype.
- * tree-ssa-structalias.c (get_constraint_for_1): Likewise.
- * varasm.c (array_size_for_constructor): Compute using double_ints.
-
-2011-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_emit_branch_or_set): Avoid reverse tests
- when generating an integer result where possible. Short-cut
- comparison against 0 also for QImode.
-
-2011-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.h (LEGITIMIZE_RELOAD_ADDRESS): New macro.
- * config/spu/spu-protos.h (spu_legitimize_reload_address): Add
- prototype.
- * config/spu/spu.c (spu_legitimize_reload_address): New function.
- (spu_legitimate_address_p): Do not check displacement if the base
- is an eliminable stack register.
-
-2011-08-16 Anatoly Sokolov <aesok@post.ru>
-
- * config/m32c/m32c.h (PREFERRED_RELOAD_CLASS,
- PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
- * config/m32c/m32c-protos.h (m32c_preferred_reload_class,
- m32c_preferred_output_reload_class): Remove.
- * config/m32c/m32c.c (m32c_preferred_reload_class): Make static.
- Change rclass argument and return types to reg_class_t. Use
- reg_class_subset_p instead of class_sizes.
- (m32c_preferred_output_reload_class): Make static. Change rclass
- argument and return types to reg_class_t.
- (TARGET_PREFERRED_RELOAD_CLASS,
- TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
-
-2011-08-16 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/mingw32.h (GOMP_SELF_SPEC): Add -pthread option.
-
-2011-08-16 Richard GUenther <rguenther@suse.de>
-
- PR tree-optimization/50082
- * tree-ssa-forwprop.c (combine_cond_expr_cond): Handle overflow
- warnings here, instead of ...
- (ssa_forward_propagate_and_combine): ... here.
- (forward_propagate_into_comparison_1): Adjust.
- (forward_propagate_into_comparison): Likewise.
- (forward_propagate_into_gimple_cond): Likewise.
- (forward_propagate_into_cond): Likewise.
-
-2011-08-16 Andreas Schwab <schwab@redhat.com>
-
- * ggc.h (ggc_alloc_rtvec_sized): Use ggc_alloc_zone_rtvec_def
- instead of ggc_alloc_zone_vec_rtvec_def.
-
-2011-08-16 Richard Guenther <rguenther@suse.de>
-
- * tree.h (ptrofftype_p): New helper function.
- * tree-cfg.c (verify_expr): Use ptrofftype_p for POINTER_PLUS_EXPR
- offset verification.
- (verify_gimple_assign_binary): Likewise.
- * tree.c (build2_stat): Likewise.
- * tree-chrec.c (chrec_fold_plus_poly_poly): Likewise.
- (reset_evolution_in_loop): Likewise.
- * tree-chrec.h (build_polynomial_chrec): Likewise.
-
-2011-08-16 Liang Wang <lwang1@marvell.com>
-
- * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
- ggc_alloc_zone_vec_rtvec_def.
-
-2011-08-16 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (extract_range_from_multiplicative_op_1): New
- helper factored out from ...
- (extract_range_from_binary_expr_1): ... here. Re-structure
- to not glob handling too different tree codes.
-
-2011-08-15 Richard Henderson <rth@redhat.com>
-
- PR middle-end/50006
- * explow.c (allocate_dynamic_stack_space): Move suppress_reg_args_size
- setting out to include allocate_stack named pattern as well.
- * builtins.c (expand_builtin_apply): Add ARG_SIZE 0 note.
- * stmt.c (expand_stack_restore): Likewise.
-
-2011-08-15 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50082
- * fold-const.c (maybe_canonicalize_comparison_1): Properly
- convert the modified operand to the other operand type.
- (fold_comparison): Call maybe_canonicalize_comparison_1 with
- useless conversions stripped from comparison operands.
-
-2011-08-15 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (value_range_nonnegative_p): Fix anti-range case.
- (extract_range_from_unary_expr_1): Restructure.
-
-2011-08-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50058
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Relax aggregate
- copy matching.
-
-2011-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/50022
- * config/arm/arm.c (output_move_double): Add 2 parameters
- to count the number of insns emitted and whether to emit or not.
- Use the flag to decide when to emit and count number of instructions
- that will be emitted.
- Handle case where output_move_double might be called for calculating
- lengths with an invalid constant.
- (arm_count_output_move_double_insns): Define.
- * config/arm/arm-protos.h (arm_count_output_move_double_insns): Declare.
- (output_move_double): Adjust prototype.
- * config/arm/vfp.md ("*movdi_vfp"): Adjust call to
- output_move_double.
- ("*movdi_vfp_cortexa8"): Likewise and add attribute
- for ce_count.
- * config/arm/arm.md ("*arm_movdi"): Adjust call to output_move_double.
- ("*movdf_soft_insn"): Likewise.
- * config/arm/cirrus.md ("*cirrus_arm_movdi"): Likewise.
- ("*cirrus_thumb2_movdi"): Likewise.
- ("*thumb2_cirrus_movdf_hard_insn"): Likewise.
- ("*cirrus_movdf_hard_insn"): Likewise.
- * config/arm/neon.md (*neon_mov<mode> VD): Likewise.
- * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Likewise.
- ("mov<mode>_internal VMMX"): Likewise.
- * config/arm/fpa.md (*movdf_fpa, *thumb2_movdf_fpa): Likewise.
-
-2011-08-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_round_sse4): New function.
- * config/i386/i386-protos.h (ix86_expand_round_sse4): New prototype.
- * config/i386/i386.md (round<mode>2): Use ix86_expand_round_sse4
- for TARGET_ROUND.
-
- (rint<mode>2): Simplify TARGET_ROUND check.
- (floor<mode>2): Ditto.
- (ceil<mode>2): Ditto.
- (btrunc<mode>2): Ditto.
-
-2011-08-14 Anatoly Sokolov <aesok@post.ru>
-
- * config/mmix/mmix.c (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Redefine
- as mmix_preferred_output_reload_class.
-
-2011-08-14 Georg-Johann Lay <avr@gjlay.de>
-
- * PR target/49903
- * config/avr/avr.md (UNSPEC_IDENTITY): New c_enum.
- (branch_unspec): New insn.
- (branch): Beauty farm.
- * config/avr/avr.c (compare_condition): Use JUMP_P. Test SET_SRC
- to be IF_THEN_ELSE.
- (avr_compare_pattern, avr_reorg_remove_redundant_compare):
- New static functions.
- (avr_reorg): Use them. Use next_real_insn instead of NEXT_INSN.
- Use CONST_INT_P. Beauty.
-
-2011-08-12 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/49994
- * sched-init.h (struct deps_desc): Add sched_before_next_jump.
- * sched-deps.c (init_deps): Clear it.
- (deps_analyze_insn): Consume it.
- (sched_analyze_insn): Fill it.
-
-2011-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/48328
- * config/arm/arm.h (CASE_VECTOR_SHORTEN_MODE): Fix distance
- for tbh instructions.
-
-2011-08-12 Diego Novillo <dnovillo@google.com>
-
- * data-streamer.h (streamer_write_zero): Rename from output_zero.
- (streamer_write_uhwi): Rename from lto_output_uleb128.
- (streamer_write_hwi): Rename from output_sleb128.
- (streamer_write_string): Rename from lto_output_string.
- (streamer_string_index): Rename from lto_string_index.
- (streamer_write_string_with_length): Rename from
- lto_output_string_with_length.
- (streamer_write_uhwi_stream): Rename from lto_output_uleb128_stream.
- (streamer_write_hwi_stream): Rename from lto_output_sleb128_stream.
- (streamer_read_string): Rename from lto_input_string.
- (streamer_read_indexed_string): Rename from input_string_internal.
- (streamer_read_uhwi): Rename from lto_input_uleb128.
- (streamer_read_hwi): Rename from lto_input_sleb128.
- (streamer_write_hwi_in_range): Rename from lto_output_int_in_range.
- (streamer_read_hwi_in_range): Rename from lto_input_int_in_range.
- (streamer_write_enum): Rename from lto_output_enum.
- (streamer_read_enum): Rename from lto_input_enum.
- (streamer_write_record_start): Rename from output_record_start.
- (streamer_read_record_start): Rename from input_record_start.
- (streamer_write_bitpack): Rename from lto_output_bitpack.
- (streamer_read_bitpack): Rename from lto_input_bitpack.
- (streamer_write_char_stream): Rename from lto_output_1_stream.
- (streamer_read_uchar): Rename from lto_input_1_unsigned.
- * tree-streamer.h (streamer_cache_d): Rename from lto_streamer_cache_d.
- (streamer_handle_as_builtin_p): Rename from lto_stream_as_builtin_p.
- (streamer_read_string_cst): Rename from input_string_cst.
- (streamer_read_chain): Rename from lto_input_chain.
- (streamer_alloc_tree): Rename from lto_materialize_tree.
- (streamer_read_tree_body): Rename from lto_input_tree_pointers.
- (streamer_get_pickled_tree): Rename from lto_get_pickled_tree.
- (streamer_get_builtin_tree): Rename from lto_get_builtin_tree.
- (streamer_read_integer_cst): Rename from lto_input_integer_cst.
- (streamer_read_tree_bitfields): Rename from tree_read_bitfields.
- (streamer_write_chain): Rename from lto_output_chain.
- (streamer_write_tree_header): Rename from lto_output_tree_header.
- (streamer_pack_tree_bitfields): Rename from pack_value_fields.
- (streamer_write_tree_body): Rename from lto_output_tree_pointers.
- (streamer_write_integer_cst): Rename from lto_output_integer_cst.
- (streamer_write_builtin): Rename from lto_output_builtin_tree.
- (streamer_check_handled_ts_structures): Rename from
- check_handled_ts_structures.
- (streamer_tree_cache_insert): Rename from lto_streamer_cache_insert.
- (streamer_tree_cache_insert_at): Rename from
- lto_streamer_cache_insert_at.
- (streamer_tree_cache_append): Rename from lto_streamer_cache_append.
- (streamer_tree_cache_lookup): Rename from lto_streamer_cache_lookup.
- (streamer_tree_cache_get): Rename from lto_streamer_cache_get.
- (streamer_tree_cache_create): Rename from lto_streamer_cache_create.
- (streamer_tree_cache_delete): Rename from lto_streamer_cache_delete.
- * tree-streamer-out.c (write_string_cst): Rename from output_string_cst.
- (write_identifier): Rename from output_identifier.
- (write_ts_common_tree_pointers): Rename from
- lto_output_ts_common_tree_pointers.
- (write_ts_vector_tree_pointers): Rename from
- lto_output_ts_vector_tree_pointers.
- (write_ts_complex_tree_pointers): Rename from
- lto_output_ts_complex_tree_pointers.
- (write_ts_decl_minimal_tree_pointers): Rename from
- lto_output_ts_decl_minimal_tree_pointers.
- (write_ts_decl_common_tree_pointers): Rename from
- lto_output_ts_decl_common_tree_pointers.
- (write_ts_decl_non_common_tree_pointers): Rename from
- lto_output_ts_decl_non_common_tree_pointers.
- (write_ts_decl_with_vis_tree_pointers): Rename from
- lto_output_ts_decl_with_vis_tree_pointers.
- (write_ts_field_decl_tree_pointers): Rename from
- lto_output_ts_field_decl_tree_pointers.
- (write_ts_function_decl_tree_pointers): Rename from
- lto_output_ts_function_decl_tree_pointers.
- (write_ts_type_common_tree_pointers): Rename from
- lto_output_ts_type_common_tree_pointers.
- (write_ts_type_non_common_tree_pointers): Rename from
- lto_output_ts_type_non_common_tree_pointers.
- (write_ts_list_tree_pointers): Rename from
- lto_output_ts_list_tree_pointers.
- (write_ts_vec_tree_pointers): Rename from
- lto_output_ts_vec_tree_pointers.
- (write_ts_exp_tree_pointers): Rename from
- lto_output_ts_exp_tree_pointers.
- (write_ts_block_tree_pointers): Rename from
- lto_output_ts_block_tree_pointers.
- (write_ts_binfo_tree_pointers): Rename from
- lto_output_ts_binfo_tree_pointers.
- (write_ts_constructor_tree_pointers): Rename from
- lto_output_ts_constructor_tree_pointers.
- (write_ts_target_option): Rename from lto_output_ts_target_option.
- (write_ts_translation_unit_decl_tree_pointers): Rename from
- lto_output_ts_translation_unit_decl_tree_pointers.
- * tree-streamer.c (streamer_tree_cache_add_to_node_array):
- Rename from lto_streamer_cache_add_to_node_array.
- (streamer_tree_cache_insert_1): Rename from lto_streamer_cache_insert_1.
- (record_common_node): Rename from lto_record_common_node.
-
- * streamer-hooks.h (bitpack_d, lto_streamer_cache_d): Remove forward
- declarations.
- * data-streamer-in.c (lto_input_widest_uint_uleb128): Remove unused
- function.
- * data-streamer-out.c (lto_output_widest_uint_uleb128_stream): Remove
- unused function.
- * Makefile.in (lto-section-out.o): Add dependency on DATA_STREAMER_H.
- (ipa-reference.o): Likewise.
- * lto-section-out.c: Include data-streamer.h.
- * ipa-reference.c: Include data-streamer.h.
-
-2011-08-12 Nick Clifton <nickc@redhat.com>
-
- * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern.
- * doc/md.texi (cmpstrn): Note that the comparison stops if both
- fetched bytes are zero.
- (cmpstr): Likewise.
- (cmpmem): Note that the comparison does not stop if both of the
- fetched bytes are zero.
-
-2011-08-12 Uros Bizjak <ubizjak@gmail.com>
-
- * builtins.def (BUILT_IN_ICEIL{,F,L}, BUILT_IN_IFLOOR{,F,L}
- BUILT_IN_IRINT{,F,L}, BUILT_IN_IROUND{,F,L}: New builtin definitions.
- * convert.c (convert_to_integer): Convert to BUILT_IN_ICEIL,
- BUILT_IN_IFLOOR, BUILT_IN_IRINT or BUILT_INT_IROUND when converting
- to integer_type_node.
- * fold-const.c (tree_call_nonnegative_warnv_p): Handle BUILT_IN_ICEIL,
- BUILT_IN_IFLOOR, BUILT_IN_IRINT and BUILT_INT_IROUND.
- * builtins.c (expand_builtin_in): Ditto.
- (mathfn_built_in_1): Ditto.
- (expand_builtin_int_roundingfn): Handle BUILT_IN_ICEIL and
- BUILT_IN_IFLOOR.
- (expand_builtin_int_roundingfn_2): Handle BUILT_IN_IRINT and
- BUILT_IN_IROUND.
- (fold_fixed_mathfn): Canonicalize BUILT_IN_ICEIL, BUILTIN_IN_IFLOOR
- BUILT_IN_IRINT and BUILT_IN_IROUND to BUILT_IN_LCEIL,
- BUILTIN_IN_LFLOOR, BUILT_IN_LRINT and BUILT_IN_LROUND on ILP32 targets.
-
-2011-08-12 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (extract_range_from_unary_expr_1): Implement -X as 0 - X.
-
-2011-08-12 Romain Geissler <romain.geissler@gmail.com>
-
- * Makefile.in (PLUGIN_HEADERS): Add C_TREE_H.
-
-2011-08-12 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/arm/arm.c (get_label_padding): New function.
- (create_fix_barrier, arm_reorg): Use it.
-
-2011-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49781
- * config/i386/i386.md (*lea_5_zext): New.
- (*lea_6_zext): Ditto.
- * config/i386/predicates.md (const_32bit_mask): New predicate.
- (lea_address_operand): Reject AND.
- * config/i386/i386.c (ix86_decompose_address): Allow Dimode AND with
- const_32bit_mask immediate.
- (ix86_print_operand_address): Handle AND.
- (memory_address_length): Ditto.
-
-2011-08-11 Romain Geissler <romain.geissler@gmail.com>
- Brian Hackett <bhackett1024@gmail.com>
-
- * plugin.def: Add event for finish_decl.
- * plugin.c (register_callback, invoke_plugin_callbacks): Same.
- * c-decl.c (finish_decl): Invoke callbacks on above event.
- * doc/plugins.texi: Document above event.
-
-2011-08-11 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid redundant
- lookups, make looking through aggregate copies stronger.
-
-2011-08-11 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/50018
- * expr.c (fixup_args_size_notes): Accept and ignore normal calls.
-
-2011-08-11 Richard Guenther <rguenther@suse.de>
-
- * lto-cgraph.c (input_node): Use DECL_BUILT_IN.
- * tree-vrp.c (stmt_interesting_for_vrp): Likewise.
- (vrp_visit_stmt): Likewise.
-
-2011-08-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50040
- * gimplify.c (gimplify_modify_expr_complex_part): Mark the
- load of the other piece with TREE_NO_WARNING.
- * tree-flow.h (warn_uninit): Adjust prototype.
- * tree-ssa.c (warn_uninit): Take uninitialized SSA name,
- the base variable and the expression that is used separately.
- Properly query all TREE_NO_WARNING flags.
- (struct walk_data): Remove.
- (warn_uninitialized_var): Likewise.
- (warn_uninitialized_vars): Do not walk gimple pieces but simply
- look at all SSA uses of the statement. Handle unused memory
- separately.
- * tree-ssa-uninit.c (warn_uninitialized_phi): Adjust.
-
-2011-08-11 Kazuhiro Inaoka <kazuhiro.inaoka.ud@renesas.com>
-
- * config/rx/rx.md (movsicc): Allow register to register transfers.
- (*movsicc): Likewise.
- (*stcc): Restrict this pattern to EQ and NE compares.
- (*stcc_reg): New pattern. Works for any comparison but only for
- register transfers.
-
-2011-08-11 Diego Novillo <dnovillo@google.com>
-
- * tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers):
- Call stream_write_tree instead of output_record_start.
- (lto_output_ts_binfo_tree_pointers): Likewise.
-
- * streamer-hooks.h (stream_write_tree): Move from tree-streamer.h.
- Convert it to a macro.
- (stream_read_tree): Likewise.
-
- * lto-streamer.h (lto_stream_as_builtin_p): Move ...
- * tree-streamer.h (lto_stream_as_builtin_p): ... here.
-
- * lto-streamer-in.c (lto_read_tree): Call lto_streamer_cache_append
- and tree_read_bitfields.
- * lto-streamer-out.c (lto_is_streamable): Move from lto-streamer.c
- (lto_write_tree): Call it.
- * lto-streamer.c (lto_is_streamable): Move to lto-streamer-out.c
- * streamer-hooks.h (struct streamer_hooks): Remove fields
- name, is_streamable and alloc_tree. Update all users.
- * tree-streamer-in.c (tree_read_bitfields): Factor out of ...
- (lto_materialize_tree): ... here.
- Handle CALL_EXPR codes.
- Remove call to lto_streamer_cache_append.
- * tree-streamer-out.c (lto_output_tree_header): Handle CALL_EXPR nodes.
- * tree-streamer.h (tree_read_bitfields): Declare.
-
- * Makefile.in (TREE_STREAMER_H): Add STREAMER_HOOKS_H.
- (gimple-streamer-in.o): Add dependency on TREE_STREAMER_H.
- * tree-streamer.h (stream_read_tree): New. Replace all calls
- to lto_input_tree with it.
- (stream_write_tree): New. Replace all calls to lto_output_tree,
- lto_output_tree_ref and lto_output_tree_or_ref with it.
- * lto-streamer-in.c (lto_read_tree): Inline code from
- lto_streamer_read_tree.
- (lto_input_tree): Move from tree-streamer-in.c.
- * lto-streamer-out.c (lto_output_tree_ref): Make static.
- Remove handling of NULL values for EXPR.
- Do not handle EXPRs that are not indexable.
- (lto_write_tree): Move from tree-streamer-out.c.
- Inline lto_streamer_write_tree.
- (lto_output_tree): Move from tree-streamer-out.c.
- If REF_P is true and EXPR is indexable, call lto_output_tree_ref.
- * lto-streamer.c (lto_record_common_node): Move to tree-streamer.c.
- (lto_preload_common_nodes): Likewise.
- Remove assertions and adjustments for nodes
- main_identifier_node, ptrdiff_type_node and fileptr_type_node.
- (lto_streamer_hooks_init): Set streamer_hooks.write_tree to
- lto_output_tree and streamer_hooks.read_tree to lto_input_tree.
- * lto-streamer.h (lto_input_tree): Declare.
- (lto_output_tree_ref): Remove.
- * streamer-hooks.h (struct streamer_hooks): Remove fields
- preload_common_nodes, indexable_with_decls_p,
- pack_value_fields, unpack_value_fields and output_tree_header.
- Update all users.
- * tree-streamer-in.c (lto_materialize_tree): Make extern.
- (lto_input_tree_pointers): Likewise.
- (lto_read_tree): Move to lto-streamer-in.c.
- (lto_input_integer_cst): Make extern.
- (lto_get_pickled_tree): Likewise.
- (lto_get_builtin_tree): Likewise.
- (lto_input_tree): Move to lto-streamer-in.c.
- * tree-streamer-out.c (pack_value_fields): Make extern.
- (lto_output_tree_or_ref): Remove. Replace all callers with
- calls to stream_write_tree.
- (lto_output_builtin_tree): Make extern.
- (lto_streamer_write_tree): Inline into lto_write_tree.
- (lto_output_tree_pointers): Make extern.
- (lto_output_tree_header): Likewise.
- (lto_output_integer_cst): Likewise.
- (lto_write_tree): Move to lto-streamer-out.c.
- (lto_output_tree): Likewise.
- * tree-streamer.c (lto_record_common_node): Move from lto-streamer.c
- (preload_common_nodes): Likewise.
- (lto_streamer_cache_create): Call it.
- * tree-streamer.h: Include streamer-hooks.h.
- (stream_write_tree): New.
- (stream_read_tree): New.
- (lto_input_tree): Remove.
- (lto_materialize_tree): Declare.
- (lto_input_tree_pointers): Declare.
- (lto_get_pickled_tree): Declare.
- (lto_get_builtin_tree): Declare.
- (lto_input_integer_cst): Declare.
- (lto_output_tree_header): Declare.
- (pack_value_fields): Declare.
- (lto_output_tree_pointers): Declare.
- (lto_output_integer_cst): Declare.
- (lto_output_builtin_tree): Declare.
-
-2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
-
- * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
- only if producer writes to the register given by regno.
-
-2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
- Alexander Monakov <amonakov@ispras.ru>
-
- * sched-deps.c (sched_get_condition_with_rev): Rename to ...
- (sched_get_condition_with_rev_uncached): ... this. Factor out
- condition caching logic into ...
- (sched_get_condition_with_rev): ... this. Reimplement. Do not
- attempt to use cache for instructions with zero luid.
- (sched_analyze_insn): Use INSN_CACHED_COND instead of INSN_COND.
- * sched-int.h (INSN_COND): Rename to INSN_CACHED_COND.
-
-2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
-
- * sel-sched-ir.c (get_seqno_of_a_pred): Rename to
- get_seqno_for_a_jump. Update the caller.
- (get_seqno_by_succs): New. Use it ...
- (get_seqno_for_a_jump): ... here to find a seqno if looking at
- predecessors was not sufficient.
- (get_seqno_by_preds): Include head in iteration range, exclude insn.
-
-2011-08-11 Dmitry Melnik <dm@ispras.ru>
-
- * sel-sched-ir.c (invalidate_av_set): Remove the assert.
-
-2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
-
- * sel-sched-ir.h (register_unavailable_p): Declare.
- * sel-sched-ir.c (register_unavailable_p): New. Use it...
- (set_unavailable_target_for_expr): ... here to properly test
- availability of a register.
- (speculate_expr): Ditto.
- * sel-sched.c (substitute_reg_in_expr): Ditto.
- (av_set_could_be_blocked_by_bookkeeping_p): Ditto.
-
-2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
-
- * sel-sched.c (verify_target_availability): Fix usage of
- hard_regno_nregs.
-
-2011-08-11 Dmitry Melnik <dm@ispras.ru>
-
- * sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of
- recognized by cannot_copy_insn_p hook and volatile instructions.
-
-2011-08-11 Dmitry Melnik <dm@ispras.ru>
-
- * sel-sched-ir.c (merge_expr_data): Take maximum spec.
-
-2011-08-11 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/md.texi (define_bypass): Say that the instruction names can
- be filename-style globs.
- * Makefile.in (FNMATCH_H): Define.
- (build/genattrtab.o, build/genautomata.o): Depend on $(FNMATCH_H).
- * genattrtab.c: Include fnmatch.h.
- (bypass_list): Change field name from "insn" to "pattern".
- (gen_bypass_1): Update accordingly.
- (process_bypasses): Use fnmatch to check for matches between
- insn reservations and define_bypasses.
- * genautomata.c: Include fnmatch.h.
- (bypass_decl): Rename in_insn_name and out_insn_name to in_pattern
- and out_pattern respectively.
- (gen_bypass, insert_bypass): Update accordingly.
- (for_each_matching_insn, process_bypass_2, process_bypass_1)
- (process_bypass): New functions.
- (process_decls): Use process_bypass. Update after field name changes.
-
-2011-08-11 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49687
- * config/avr/avr.md (smulqi3_highpart): New insn.
- (umulqi3_highpart): New insn.
- (*subqi3.ashiftrt7): New insn.
- (smulhi3_highpart): New expander.
- (umulhi3_highpart): Nex expander.
- (*smulhi3_highpart_call): New insn.
- (*umulhi3_highpart_call): New insn.
- (extend_u): New code attribute.
- (extend_prefix): Rename code attribute to extend_su.
- * config/avr/avr.c (avr_rtx_costs): Report costs of highpart of
- widening QI/HI multiply.
-
-2011-08-11 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50039
- * tree-vect-patterns.c (vect_operation_fits_smaller_type): Check
- that DEF_STMT has a stmt_vec_info.
-
-2011-08-10 Richard Guenther <rguenther@suse.de>
-
- * tree.h (can_trust_pointer_alignment): Remove.
- * builtins.c (can_trust_pointer_alignment): Remove.
-
-2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
-
- * c-typeck.c (scalar_to_vector): New function. Try scalar to
- vector conversion.
- (stv_conv): New enum for scalar_to_vector return type.
- (build_binary_op): Adjust.
- * doc/extend.texi: Description of scalar to vector expansion.
-
-2011-08-10 Richard Guenther <rguenther@suse.de>
-
- * tree.h (get_pointer_alignment): Remove max-align argument.
- (get_object_alignment): Likewise.
- * builtins.c (get_object_alignment_1): Adjust.
- (get_object_alignment): Remove max-align argument.
- (get_pointer_alignment): Likewise.
- (expand_builtin_strlen): Adjust.
- (expand_builtin_memcpy): Likewise.
- (expand_builtin_mempcpy_args): Likewise.
- (expand_builtin_strncpy): Likewise.
- (expand_builtin_memset_args): Likewise.
- (expand_builtin_memcmp): Likewise.
- (expand_builtin_strcmp): Likewise.
- (expand_builtin_strncmp): Likewise.
- (get_builtin_sync_mem): Likewise.
- (fold_builtin_memset): Likewise.
- (fold_builtin_memory_op): Likewise.
- (expand_builtin_memory_chk): Likewise.
- * emit-rtl.c (get_mem_align_offset): Likewise.
- (set_mem_attributes_minus_bitpos): Likewise.
- * expr.c (expand_assignment): Likewise.
- (expand_expr_real_1): Likewise.
- * tree-sra.c (tree_non_mode_aligned_mem_p): Likewise.
- * tree-ssa-forwprop.c (simplify_builtin_call): Likewise.
- * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Likewise.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
- * value-prof.c (gimple_stringops_transform): Likewise.
-
-2011-08-10 Paulo J. Matos <paulo.matos@csr.com>
-
- * doc/tm.texi.in (CLASS_MAX_NREGS): Fix typo.
- * doc/tm.texi: Regenerate.
-
-2011-08-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/29560
- * config/avr/avr.md (*ashlhiqi3): New insn-and-split.
- (*ashl<extend_prefix>qihiqi3): New insn-and-splits.
- (*ashl<extend_prefix>qihiqi3.mem): New insn-and-splits.
- Add peephole2 to map ashlhi3 to ashlqi3 if high part of
- shift target is unused.
-
-2011-08-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49937
- * tree-ssa-ccp.c (get_value_from_alignment): Re-implement
- using get_object_alignment_1.
-
-2011-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_emit_i387_round): New function.
- * config/i386/i386-protos.h (ix86_emit_i387_round): Declare.
- * config/i386/i386.md (round<mode>2): Use X87MODEF mode iterator.
- Use ix86_emit_i387_round to expand round function for i387 math.
- (lround<X87MODEF:mode><SWI248x:mode>2): Use X87MODEF mode iterator.
- Use ix86_emit_i387_round to expand {l,ll}round function for i387 math.
-
-2011-08-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sync.c: Move to ../libgcc.
- * Makefile.in (libgcc.mvars): Remove LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS.
- * config/mips/t-libgcc-mips16 (LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS):
- Remove.
-
-2011-08-09 Anatoly Sokolov <aesok@post.ru>
-
- * config/mmix/mmix.h (REGISTER_MOVE_COST): Remove macro.
- * config/mmix/mmix-protos.h (mmix_register_move_cost): Remove.
- * config/mmix/mmix.c (mmix_register_move_cost): Make static.
- Change 'from' and 'to' arguments type to reg_class_t.
- (TARGET_REGISTER_MOVE_COST): Define.
-
-2011-08-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/50026
- Revert:
- PR rtl-optimization/49990
- * ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
- ignore classes which can not change mode.
- (find_costs_and_classes): Ditto.
-
-2011-08-09 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (zero_nonzero_bits_from_vr): Also return precise
- information for ranges with only negative values.
- (extract_range_from_binary_expr_1): Adjust BIT_IOR_EXPR and
- BIT_AND_EXPR handling to handle ranges with negative values.
-
-2011-08-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c: Remove traling spaces.
- * config/i386/sse.md: Likewise.
- (*fma_fmadd_<mode>): Fix insn alternative 1 mnemonic.
- (*fma_fmsub_<mode>): Likewise.
- (*fma_fnmadd_<mode>): Likewise.
- (*fma_fnmsub_<mode>): Likewise.
-
-2011-08-09 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md: Disable extender peepholes at -O3.
-
-2011-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49781
- * config/i386/i386.md (reload_noff_load): New.
- (reload_noff_store): Ditto.
- * config/i386/i386.c (ix86_secondary_reload): Use
- CODE_FOR_reload_noff_load and CODE_FOR_reload_noff_store to handle
- double-word moves from/to non-offsetable addresses instead of
- generating XMM temporary.
-
-2011-08-09 Anatoly Sokolov <aesok@post.ru>
-
- * config/mmix/mmix.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
-
-2011-08-09 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50014
- * tree-vect-loop.c (vectorizable_reduction): Get def type before
- calling vect_get_vec_def_for_stmt_copy ().
-
-2011-08-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/49990
- * ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
- ignore classes which can not change mode.
- (find_costs_and_classes): Ditto.
-
-2011-08-08 Richard Henderson <rth@redhat.com>
-
- PR middle-end/49990
- * config/i386/i386.c (ix86_expand_prologue): Call
- for SEH target gen_prologue_use instead of gen_blockage
- at prologue's end.
-
-2011-08-08 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/49923
- * tree-sra.c (access_precludes_ipa_sra_p): Also check access
- memory alignment.
-
-2011-08-08 Diego Novillo <dnovillo@google.com>
-
- * Makefile.in (LTO_STREAMER_H): Add DIAGNOSTIC_H.
- (DATA_STREAMER_H): New.
- (GIMPLE_STREAMER_H): New.
- (TREE_STREAMER_H): New.
- (STREAMER_HOOKS_H): New.
- (OBJS): Add data-streamer.o, data-streamer-in.o, data-streamer-out.o,
- gimple-streamer-in.o, gimple-streamer-out.o, streamer-hooks.o,
- tree-streamer.o, tree-streamer-in.o and tree-streamer-out.o.
- (data-streamer.o): New.
- (data-streamer-in.o): New.
- (data-streamer-out.o): New.
- (gimple-streamer-in.o): New.
- (gimple-streamer-out.o): New.
- (streamer-hooks.o): New.
- (tree-streamer.o): New.
- (tree-streamer-in.o): New.
- (tree-streamer-out.o): New.
- (lto-cgraph.o): Add dependency on DATA_STREAMER_H and TREE_STREAMER_H.
- (lto-streamer-in.o): Add dependency on DATA_STREAMER_H,
- GIMPLE_STREAMER_H and TREE_STREAMER_H.
- (lto-streamer-out.o): Add dependency on DATA_STREAMER_H,
- GIMPLE_STREAMER_H and TREE_STREAMER_H.
- (lto-streamer.o): Add dependency on STREAMER_HOOKS_H.
- (ipa-prop.o): Add dependency on DATA_STREAMER_H and TREE_STREAMER_H.
- (ipa-inline-analysis.o): Likewise.
- (ipa-pure-const.o): Likewise.
- * data-streamer-in.c: New.
- * data-streamer-out.c: New.
- * data-streamer.c: New.
- * data-streamer.h: New.
- * gimple-streamer-in.c: New.
- * gimple-streamer-out.c: New.
- * gimple-streamer.h: New.
- * ipa-inline-analysis.c: Include data-streamer.h.
- * ipa-prop.c: Include data-streamer.h.
- * ipa-pure-const.c: Include data-streamer.h.
- * lto-cgraph.c: Include data-streamer.h.
- * lto-section-in.c (lto_input_uleb128): Move to data-streamer-in.c.
- (lto_input_widest_uint_uleb128): Likewise.
- (lto_input_sleb128): Likewise.
- (bp_unpack_var_len_unsigned): Likewise.
- (bp_unpack_var_len_int): Likewise.
- * lto-section-out.c (lto_output_uleb128_stream): Move to
- data-streamer-out.c.
- (lto_output_widest_uint_uleb128_stream): Likewise.
- (lto_output_sleb128_stream): Likewise.
- (bp_pack_var_len_unsigned): Likewise.
- (bp_pack_var_len_int): Likewise.
- * lto-streamer-in.c: Include data-streamer.h and gimple-streamer.h.
- (struct string_slot): Remove. Update all users.
- (lto_tag_check_set): Make extern.
- (lto_tag_check_range): Move to lto-streamer.h.
- (lto_tag_check): Likewise.
- (hash_string_slot_node): Remove. Update all users.
- (eq_string_slot_node): Remove. Update all users.
- (string_for_index): Move to data-streamer-in.c
- (input_string_internal): Likewise.
- (input_string_cst): Move to tree-streamer-in.c.
- (input_identifier): Likewise.
- (lto_input_string): Move to data-streamer-in.c
- (input_record_start): Move to data-streamer.h
- (canon_file_name): Use new definition of struct string_slot
- from data-streamer.h. Set S_SLOT.LEN.
- (lto_input_location): Make extern.
- (lto_input_chain): Move to tree-streamer-in.c.
- (lto_init_eh): Make extern.
- (input_phi): Move to gimple-streamer-in.c.
- (input_gimple_stmt): Likewise.
- (input_bb): Likewise.
- (unpack_ts_base_value_fields): Move to tree-streamer-in.c.
- (unpack_ts_real_cst_value_fields): Likewise.
- (unpack_ts_fixed_cst_value_fields): Likewise.
- (unpack_ts_decl_common_value_fields): Likewise.
- (unpack_ts_decl_wrtl_value_fields): Likewise.
- (unpack_ts_decl_with_vis_value_fields): Likewise.
- (unpack_ts_function_decl_value_fields): Likewise.
- (unpack_ts_type_common_value_fields): Likewise.
- (unpack_ts_block_value_fields): Likewise.
- (unpack_ts_translation_unit_decl_value_fields): Likewise.
- (unpack_value_fields): Likewise.
- (lto_materialize_tree): Likewise.
- (lto_input_ts_common_tree_pointers): Likewise.
- (lto_input_ts_vector_tree_pointers): Likewise.
- (lto_input_ts_complex_tree_pointers): Likewise.
- (lto_input_ts_decl_minimal_tree_pointers): Likewise.
- (lto_input_ts_decl_common_tree_pointers): Likewise.
- (lto_input_ts_decl_non_common_tree_pointers): Likewise.
- (lto_input_ts_decl_with_vis_tree_pointers): Likewise.
- (lto_input_ts_field_decl_tree_pointers): Likewise.
- (lto_input_ts_function_decl_tree_pointers): Likewise.
- (lto_input_ts_type_common_tree_pointers): Likewise.
- (lto_input_ts_type_non_common_tree_pointers): Likewise.
- (lto_input_ts_list_tree_pointers): Likewise.
- (lto_input_ts_vec_tree_pointers): Likewise.
- (lto_input_ts_exp_tree_pointers): Likewise.
- (lto_input_ts_block_tree_pointers): Likewise.
- (lto_input_ts_binfo_tree_pointers): Likewise.
- (lto_input_ts_constructor_tree_pointers): Likewise.
- (lto_input_ts_target_option): Likewise.
- (lto_input_ts_translation_unit_decl_tree_pointers): Likewise.
- (lto_input_tree_pointers): Likewise.
- (lto_get_pickled_tree): Likewise.
- (lto_get_builtin_tree): Likewise.
- (lto_read_tree): Likewise.
- (lto_input_integer_cst): Likewise.
- (lto_input_tree): Likewise.
- * lto-streamer-out.c: Include data-streamer.h,
- gimple-streamer.h and streamer-hooks.h.
- (struct string_slot): Move to data-streamer.h.
- (hash_string_slot_node): Likewise.
- (eq_string_slot_node): Likewise.
- (lto_string_index): Move to data-streamer-out.c.
- (lto_output_string_with_length): Likewise.
- (lto_output_string): Likewise.
- (output_string_cst): Move to tree-streamer-out.c.
- (output_identifier): Likewise.
- (output_zero): Move to data-streamer-out.c
- (output_uleb128): Likewise.
- (output_sleb128): Likewise.
- (output_record_start): Move to data-streamer.h
- (pack_ts_base_value_fields): Move to tree-streamer-out.c.
- (pack_ts_real_cst_value_fields): Likewise.
- (pack_ts_fixed_cst_value_fields): Likewise.
- (pack_ts_decl_common_value_fields): Likewise.
- (pack_ts_decl_wrtl_value_fields): Likewise.
- (pack_ts_decl_with_vis_value_fields): Likewise.
- (pack_ts_function_decl_value_fields): Likewise.
- (pack_ts_type_common_value_fields): Likewise.
- (pack_ts_block_value_fields): Likewise.
- (pack_ts_translation_unit_decl_value_fields): Likewise.
- (pack_value_fields): Likewise.
- (lto_output_chain): Likewise.
- (lto_output_ts_common_tree_pointers): Likewise.
- (lto_output_ts_vector_tree_pointers): Likewise.
- (lto_output_ts_complex_tree_pointers): Likewise.
- (lto_output_ts_decl_minimal_tree_pointers): Likewise.
- (lto_output_ts_decl_common_tree_pointers): Likewise.
- (lto_output_ts_decl_non_common_tree_pointers): Likewise.
- (lto_output_ts_decl_with_vis_tree_pointers): Likewise.
- (lto_output_ts_field_decl_tree_pointers): Likewise.
- (lto_output_ts_function_decl_tree_pointers): Likewise.
- (lto_output_ts_type_common_tree_pointers): Likewise.
- (lto_output_ts_type_non_common_tree_pointers): Likewise.
- (lto_output_ts_list_tree_pointers): Likewise.
- (lto_output_ts_vec_tree_pointers): Likewise.
- (lto_output_ts_exp_tree_pointers): Likewise.
- (lto_output_ts_block_tree_pointers): Likewise.
- (lto_output_ts_binfo_tree_pointers): Likewise.
- (lto_output_ts_constructor_tree_pointers): Likewise.
- (lto_output_ts_target_option): Likewise.
- (lto_output_ts_translation_unit_decl_tree_pointers): Likewise.
- (lto_output_tree_pointers): Likewise.
- (lto_output_tree_header): Likewise.
- (lto_output_builtin_tree): Likewise.
- (lto_write_tree): Likewise.
- (lto_output_integer_cst): Likewise.
- (lto_output_tree): Likewise.
- (output_phi): Move to gimple-streamer-out.c.
- (output_gimple_stmt): Likewise.
- (output_bb): Likewise.
- * lto-streamer.c: Include tree-streamer.h and streamer-hooks.h.
- (streamer_hooks): Move to streamer-hooks.c.
- (check_handled_ts_structures): Move to tree-streamer.c
- (lto_streamer_cache_add_to_node_array): Likewise.
- (lto_streamer_cache_insert_1): Likewise.
- (lto_streamer_cache_insert): Likewise.
- (lto_streamer_cache_insert_at): Likewise.
- (lto_streamer_cache_append): Likewise.
- (lto_streamer_cache_lookup): Likewise.
- (lto_streamer_cache_get): Likewise.
- (lto_record_common_node): Likewise.
- (lto_preload_common_nodes): Likewise.
- (lto_streamer_cache_create): Likewise.
- (lto_streamer_cache_delete): Likewise.
- (streamer_hooks_init): Move to streamer-hooks.c.
- * lto-streamer.h: Include diagnostic.h
- (struct output_block, struct lto_input_block,
- struct data_in, struct bitpack_d): Remove forward declarations.
- (struct bitpack_d): Move to data-streamer.h.
- (struct lto_streamer_cache_d): Move to tree-streamer.h.
- (struct streamer_hooks): Move to streamer-hooks.h.
- (bp_pack_var_len_unsigned): Move to data-streamer.h.
- (bp_pack_var_len_int): Likewise.
- (bp_unpack_var_len_unsigned): Likewise.
- (bp_unpack_var_len_int): Likewise.
- (lto_input_location): Declare.
- (lto_tag_check_set): Declare.
- (lto_init_eh): Declare.
- (lto_output_tree_ref): Declare.
- (lto_output_location): Declare.
- (bitpack_create): Move to data-streamer.h.
- (bp_pack_value): Likewise.
- (lto_output_bitpack): Likewise.
- (lto_input_bitpack): Likewise.
- (bp_unpack_value): Likewise.
- (lto_output_1_stream): Likewise.
- (lto_input_1_unsigned): Likewise.
- (lto_output_int_in_range): Likewise.
- (lto_input_int_in_range): Likewise.
- (bp_pack_int_in_range): Likewise.
- (bp_unpack_int_in_range): Likewise.
- (lto_output_enum): Likewise.
- (lto_input_enum): Likewise.
- (bp_pack_enum): Likewise.
- (bp_unpack_enum): Likewise.
- * streamer-hooks.c: New.
- * streamer-hooks.h: New.
- * tree-streamer-in.c: New.
- * tree-streamer-out.c: New.
- * tree-streamer.c: New.
- * tree-streamer.h: New.
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gthr-posix95.h: Remove.
- * gthr.h [_PTHREADS95]: Remove.
- * configure.ac (enable_threads): Remove posix95.
- * configure: Regenerate.
- * doc/install.texi (Configuration, --enable-threads): Remove posix95.
-
-2011-08-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49781
- * config/i386/i386.c (ix86_decompose_address): Allow zero-extended
- SImode addresses.
- (ix86_print_operand_address): Handle zero-extended addresses.
- (memory_address_length): Add length of addr32 prefix for
- zero-extended addresses.
- (ix86_secondary_reload): Handle moves to/from double-word general
- registers from/to zero-extended addresses.
- * config/i386/predicates.md (lea_address_operand): Reject
- zero-extended operands.
-
-2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR other/48007
- * config.gcc (libgcc_tm_file): Add i386/value-unwind.h for Linux/x86.
-
- * system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
- (ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
-
- * unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
- (_Unwind_Context_Reg_Val): Likewise.
- (_Unwind_Get_Unwind_Word): Likewise.
- (_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
- (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
- (_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
- for EXTENDED_CONTEXT_BIT.
- (__frame_state_for): Likewise.
- (uw_init_context_1): Likewise.
- (_Unwind_GetGR): Updated.
- (_Unwind_SetGR): Likewise.
- (_Unwind_GetGRPtr): Likewise.
- (_Unwind_SetGRPtr): Likewise.
- (_Unwind_SetGRValue): Likewise.
- (_Unwind_GRByValue): Likewise.
- (uw_install_context_1): Likewise.
-
- * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
- ASSUME_EXTENDED_UNWIND_CONTEXT.
- * doc/tm.texi: Regenerated.
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (gengtype$(exeext)): Add $(LDFLAGS).
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/invoke.texi (DEC Alpha Options, -mcpu): native support isn't
- Linux/GNU-specific.
- (DEC Alpha Options, -mtune): Likewise.
- (MIPS Options, -march): native is supported on IRIX.
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sparc/driver-sparc.c: New file.
- * config/sparc/x-sparc: New file.
- * config.host: Use driver-sparc.o, sparc/x-sparc on sparc*-*-solaris2*.
- * config/sparc/sparc.opt (native): New value for enum processor_type.
- * config/sparc/sparc-opts.h (PROCESSOR_NATIVE): Declare.
- * config/sparc/sparc.c (sparc_option_override): Abort if
- PROCESSOR_NATIVE gets here.
- * config/sparc/sol2.h [__sparc__] (host_detect_local_cpu): Declare.
- (EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS,
- DRIVER_SELF_SPECS): Define.
- * doc/invoke.texi (SPARC Options, -mcpu): Document native.
- (SPARC Options, -mtune): Likewise.
- * configure.ac (EXTRA_GCC_LIBS): Check for libkstat.
- Substitute result.
- * configure: Regenerate.
- * Makefile.in (EXTRA_GCC_LIBS): Set.
- (xgcc$(exeext)): Add $(EXTRA_GCC_LIBS).
- (cpp$(exeext)): Likewise.
-
-2011-08-08 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (extract_range_from_unary_expr_1): New function,
- split out from ...
- (extract_range_from_unary_expr): ... here. Handle BIT_NOT_EXPR
- by composition.
-
-2011-08-08 Mikael Pettersson <mikpe@it.uu.se>
-
- PR tree-optimization/50005
- * ipa-inline-analysis (remap_predicate): Add cast to
- silence signed/unsigned comparison warning.
-
-2011-08-08 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c (get_sched_window): Use a table for the debug output.
- Print the current ii.
- (sms_schedule_by_order): Reduce whitespace in dump line.
-
-2011-08-08 Richard Sandiford <richard.sandiford@linaro.org>
-
- * modulo-sched.c (get_sched_window): Use just one loop for predecessors
- and one loop for successors. Fix upper bound of memory range.
-
-2011-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50001
- * config/alpha/alpha.c (alpha_instantiate_decls): New function.
- (TARGET_INSTANTIATE_DECLS): New define.
-
-2011-08-06 Paolo Bonzini <bonzini@gnu.org>
- Mikael Morin <mikael.morin@sfr.fr>
-
- * Makefile.in (INCLUDES_FOR_TARGET): New.
- (LIBGCC2_CFLAGS): Use it.
- (CRTSTUFF_CFLAGS): Use it instead of INCLUDES.
-
-2011-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_compute_frame_layout): Simplify
- frame->save_regs_using_mov calculation.
-
-2011-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ssemodesuffix): Remove V8SI mode.
- * config/i386/sse.md (castmode): New mode attribute.
- (avx_<castmode><avxsizesuffix>_<castmode>): Rename from
- avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>.
-
-2011-08-05 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49494
- * ipa-inline-analysis.c (remap_predicate): Add bounds check.
-
-2011-08-05 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49500
- * tree-emultls.c (new_emutls_decl):Add alias_of parameter;
- handle aliases.
- (create_emultls_var):New function.
- (ipa_lower_emutls): Handle aliases correctly.
-
-2011-08-05 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49735
- * ipa-inline.c (recursive_inlining): Look through aliases.
-
-2011-08-05 Jason Merrill <jason@redhat.com>
-
- * config/i386/i386.c (setup_incoming_varargs_ms_64): Move
- declarations to beginning of function.
-
-2011-08-05 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/49900
- * sched-ebb.c (add_deps_for_risky_insns): Also add dependencies to
- ensure basic blocks stay in the same order.
-
-2011-08-05 Aldy Hernandez <aldyh@redhat.com>
-
- * config/s390/s390.c (s390_expand_cs_hqi): Add new arguments to
- store_bit_field.
- (s390_expand_atomic): Same.
-
-2011-08-05 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/49977
- * dwarf2cfi.c (scan_insn_after): Split out of ...
- (scan_trace): ... here. Correctly place notes wrt sequences.
-
-2011-08-05 Kaz Kojima <kkojima@gcc.gnu.org>
- Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/49982
- * expr.c (fixup_args_size_notes): Look through no-op moves.
-
-2011-08-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*push<mode>2): Use "o" constraint instead
- of "m" for operand 0. Add type and mode attribute.
- (*pushxf_nointeger"): Use "<" constraint for operand 0.
- (*pushdf_rex64): New pattern, split out of *pushdf. Use "m"
- constraint instead of "o" for opreand 1.
- (*pushdf): Disable for TARGET_64BIT. Correct mode attribute.
- (*movdi_internal_rex64): Use "!o" constraint instead of "!m" for
- operand 0, alternative 4.
- (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
-
-2011-08-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (lea_address_operand): Rename from
- no_seg_address_operand.
- * config/i386/i386.md (*lea_1): Update operand 1 predicate for rename.
- (*lea_1_zext): Ditto.
- (*lea_2): Ditto.
- (*lea_2_zext): Ditto.
-
-2011-08-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand_address): Handle SUBREGs of
- parts.base and parts.index.
- * config/i386/predicates.md (aligned_operand): Ditto.
- (cmpxchg8b_pic_memory_operand): Ditto.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/soft-fp: Move to ../libgcc.
- * Makefile.in (SFP_MACHINE): Remove.
- (libgcc-support): Remove $(SFP_MACHINE) dependency.
- * config/arm/sfp-machine.h: Move to ../libgcc/config/arm.
- * config/arm/t-arm-softfp: Move to
- ../libgcc/config/arm/t-softfp.
- * config/c6x/sfp-machine.h: Move to ../libgcc/config/c6x.
- * config/c6x/t-c6x-softfp: Remove.
- * config/i386/sfp-machine.h: Move to ../libgcc/config/i386.
- * config/i386/t-fprules-softfp: Move to
- ../libgcc/config/t-softfp-tf.
- * config/ia64/sfp-machine.h: Move to ../libgcc/config/ia64.
- * config/ia64/t-fprules-softfp: Remove.
- * config/lm32/sfp-machine.h: Move to ../libgcc/config/lm32.
- * config/lm32/t-fprules-softfp: Remove.
- * config/moxie/sfp-machine.h: Remove.
- * config/moxie/t-moxie-softfp: Remove.
- * config/rs6000/darwin-ldouble-format: Move to
- ../libgcc/config/rs6000/ibm-ldouble-format.
- * config/rs6000/darwin-ldouble.c: Move to
- ../libgcc/config/rs6000/ibm-ldouble.c
- * config/rs6000/libgcc-ppc-glibc.ver: Move to ../libgcc/config/rs6000.
- * config/rs6000/libgcc-ppc64.ver: Likewise.
- * config/rs6000/sfp-machine.h: Likewise.
- * config/rs6000/t-aix43 (SHLIB_MAPFILES): Remove
- $(srcdir)/config/rs6000/libgcc-ppc64.ver.
- (LIB2FUNCS_EXTRA): Remove.
- (TARGET_LIBGCC2_CFLAGS): Remove.
- * config/rs6000/t-aix52: Likewise
- * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
- $(srcdir)/config/rs6000/darwin-ldouble.c.
- (SHLIB_MAPFILES): Remove.
- * config/rs6000/t-darwin64 (LIB2FUNCS_EXTRA): Remove
- $(srcdir)/config/rs6000/darwin-ldouble.c.
- * config/rs6000/t-fprules-softfp: Move to
- ../libgcc/config/t-softfp-sfdf.
- * config/rs6000/t-freebsd: Move to ../libgcc/config/rs6000.
- * config/rs6000/t-linux64 (softfp_wrap_start, softfp_wrap_end): Remove.
- * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Remove
- $(srcdir)/config/rs6000/darwin-ldouble.c.
- * config/score/sfp-machine.h: Move to ../libgcc/config/score.
- * config/score/t-score-softfp: Remove.
- * config.gcc (arm*-*-linux*): Remove arm/t-arm-softfp,
- soft-fp/t-softfp from tmake_file.
- (arm*-*-uclinux*): Likewise.
- (arm*-*-ecos-elf): Likewise.
- (arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
- (arm*-*-rtems*): Likewise.
- (arm*-*-elf): Likewise.
- (moxie-*-elf): Remove moxie/t-moxie-softfp, soft-fp/t-softfp from
- tmake_file.
- (moxie-*-uclinux*): Likewise.
- (moxie-*-rtems*): Likewise.
- (lm32-*-elf*): Remove lm32/t-fprules-softfp, soft-fp/t-softfp from
- tmake_file.
- (lm32-*-rtems*): Likewise.
- (lm32-*-uclinux*): Likewise.
- (powerpc-*-freebsd*): Remove rs6000/t-freebsd,
- rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
- (powerpc-*-linux*, powerpc64-*-linux*): Remove
- rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
- (score-*-elf): Remove score/t-score-softfp, soft-fp/t-softfp from
- tmake_file.
- (tic6x-*-elf): Remove c6x/t-c6x-softfp, soft-fp/t-softfp from
- tmake_file.
- (tic6x-*-uclinux): Likewise.
- (i[34567]86-*-darwin*, x86_64-*-darwin*): Remove i386/t-fprules-softfp,
- soft-fp/t-softfp from tmake_file.
- (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
- (x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Likewise.
- (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Likewise.
- (i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
- (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Likewise.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
- (libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT) dependencies.
- (libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
- TPBIT, TPBIT_FUNCS.
- * config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
- * config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
- Remove.
- * config/arm/t-vxworks: Likewise.
- * config/arm/t-wince-pe: Likewise.
- * config/avr/t-avr (fp-bit.c, FPBIT): Remove.
- * config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/bfin/t-bfin-elf: Likewise.
- * config/bfin/t-bfin-linux: Likewise.
- * config/bfin/t-bfin-uclinux: Likewise.
- * config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
- Remove.
- * config/fr30/t-fr30: Likewise.
- * config/frv/t-frv: Likewise.
- * config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
- * config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/m32c/t-m32c: Likewise.
- * config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
- * config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/mcore/t-mcore: Likewise.
- * config/mep/t-mep: Likewise.
- * config/microblaze/t-microblaze: Likewise.
- * config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
- * config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
- * config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/mn10300/t-linux: Remove.
- * config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/pdp11/t-pdp11: Likewise.
- * config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
- * config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
- * config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
- * config/rs6000/t-aix52: Likewise.
- * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
- $(srcdir)/config/rs6000/ppc64-fp.c.
- * config/rs6000/t-fprules-fpbit: Remove.
- * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
- * config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/sh/t-netbsd (FPBIT, DPBIT): Remove.
- * config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/sparc/t-elf: Likewise.
- * config/sparc/t-leon: Likewise.
- * config/sparc/t-leon3: Likewise.
- * config/spu/t-spu-elf: Likewise.
- (DPBIT_FUNCS): Remove.
- * config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
- * config/v850/t-v850: Likewise.
- * config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
- (avr-*-*): Likewise.
- (h8300-*-rtems*): Set libgcc_tm_file.
- (h8300-*-elf*): Likewise.
- (powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
- tmake_file.
- (powerpc-*-eabisim*): Likewise.
- (powerpc-*-elf*): Likewise.
- (powerpc-*-eabialtivec*): Likewise.
- (powerpc-xilinx-eabi*): Likewise.
- (powerpc-*-eabi*): Likewise.
- (powerpc-*-rtems*): Likewise.
- (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
- (powerpcle-*-elf*): Likewise.
- (powerpcle-*-eabisim*): Likewise.
- (powerpcle-*-eabi*): Likewise.
- (rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
- (am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
- * doc/fragments.texi (Target Fragment, Floating Point Emulation):
- Remove.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (UNWIND_H): Remove.
- (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
- ../libgcc/Makefile.in.
- (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
- (LIBUNWINDDEP): Remove.
- (libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
- (libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
- LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
- (stmp-int-hdrs): Remove $(UNWIND_H) dependency.
- Don't copy $(UNWIND_H).
- * config.gcc (ia64*-*-linux*): Remove with_system_libunwind handling.
- * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
- * aclocal.m4: Regenerate.
- * configure: Regenerate.
- * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
- unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
- unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
- unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
- * unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
- * config/arm/libunwind.S, config/arm/pr-support.c,
- config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
- ../libgcc/config/arm.
- * config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
- * config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
- * config/frv/t-frv ($(T)frvbegin$(objext)): Use
- $(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
- ($(T)frvend$(objext)): Likewise.
- * config/ia64/t-glibc (LIB2ADDEH): Remove.
- * config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
- * config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
- config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
- ../libgcc/config/ia64.
- * config/ia64/t-hpux (LIB2ADDEH): Remove.
- * config/ia64/t-ia64 (LIB2ADDEH): Remove.
- * config/ia64/t-vms (LIB2ADDEH): Remove.
- * config/ia64/vms.h (UNW_IVMS_MODE,
- MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
- * config/picochip/t-picochip (LIB2ADDEH): Remove.
- * config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
- * config/rs6000/t-darwin (LIB2ADDEH): Remove.
- * config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
- * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
- $(srcdir)/../libgcc to refer to unwinder sources.
- * config/spu/t-spu-elf (LIB2ADDEH): Remove.
- * config/t-darwin (LIB2ADDEH): Remove.
- * config/t-freebsd (LIB2ADDEH): Remove.
- * config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
- * config/t-libunwind-elf: Move to ../libgcc/config.
- * config/t-linux (LIB2ADDEH): Remove.
- * config/t-sol2 (LIB2ADDEH): Remove.
- * config/xtensa/t-xtensa (LIB2ADDEH): Remove.
- * system.h (MD_FROB_UPDATE_CONTEXT): Poison.
-
-2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (processor_alias_table): Add core-avx-i.
-
- * doc/invoke.texi: Document core-avx-i.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * tsystem.h (CONST_CAST2, CONST_CAST): Define.
-
-2011-08-05 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Use the
- result of multiple results reduction when extracting the final
- value using scalar code.
-
-2011-08-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49984
- * tree-vrp.c (extract_range_from_binary_expr_1): Handle BIT_XOR_EXPR.
-
-2011-08-05 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always
- return true for constant integer ranges.
- (extract_range_from_binary_expr_1): Simplify BIT_AND_EXPR and
- BIT_IOR_EXPR handling.
-
-2011-08-04 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/i386.c (setup_incoming_varargs_ms_64): Set
- ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero.
-
-2011-08-04 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vectorizer.h (struct _stmt_vec_info): Add new field for
- pattern def statement, and its access macro.
- (NUM_PATTERNS): Set to 5.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
- pattern def statement.
- (vect_transform_loop): Likewise.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add new
- function vect_recog_over_widening_pattern ().
- (vect_operation_fits_smaller_type): New function.
- (vect_recog_over_widening_pattern, vect_mark_pattern_stmts):
- Likewise.
- (vect_pattern_recog_1): Move the code that marks pattern
- statements to vect_mark_pattern_stmts (), and call it. Update
- documentation.
- * tree-vect-stmts.c (vect_supportable_shift): New function.
- (vect_analyze_stmt): Handle pattern def statement.
- (new_stmt_vec_info): Initialize pattern def statement.
-
-2011-08-04 Richard Henderson <rth@redhat.com>
-
- PR target/49964
- * config/i386/i386.c (ix86_expand_call): Don't create nested
- PARALLELs for TARGET_VZEROUPPER.
- (ix86_split_call_vzeroupper): Fix extraction of the original call.
- * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't
- recognize nested PARALLELs.
- (*call_pop_vzeroupper, *sibcall_pop_vzeroupper,
- *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper,
- *sibcall_value_pop_vzeroupper): Likewise.
-
-2011-08-04 Richard Henderson <rth@redhat.com>
-
- PR middle-end/49968
- * calls.c (expand_call): Use fixup_args_size_notes for
- emit_stack_restore.
- * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets
- in non-standard modes.
-
-2011-08-04 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c (self_spec): New variable.
- (static_specs): Add self_spec.
- (main): Call do_self_spec on "self_spec" specs after reading
- user specs files. Move compare_debug handling right after that.
-
-2011-08-04 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (vrp_expr_computes_nonnegative): Remove.
- (value_range_nonnegative_p): New function.
- (ssa_name_nonnegative_p): Use it.
- (value_range_constant_singleton): New function.
- (op_with_constant_singleton_value_range): Use it.
- (extract_range_from_binary_expr_1): New function, split out from ...
- (extract_range_from_binary_expr): ... this. Remove fallback
- constant folding done here.
-
-2011-08-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49806
- * tree-vrp.c (op_with_boolean_value_range_p): New function.
- (simplify_truth_ops_using_ranges): Simplify. Allow inserting
- a new statement for a final conversion to bool.
-
-2011-08-04 Romain Geissler <romain.geissler@gmail.com>
-
- * gengtype-state.c: Include "bconfig.h" if
- GENERATOR_FILE is defined, "config.h" otherwise.
- * gengtype.c: Likewise.
- * gengtype-lex.l: Likewise.
- * gengtype-parse.c: Likewise.
- * Makefile.in (gengtype-lex.o-warn): New variable.
- (plugin_resourcesdir): Likewise.
- (plugin_bindir): Likewise.
- (plugin_includedir): Use $(plugin_resourcesdir) as prefix base.
- (MOSTLYCLEANFILES): Add gengtype$(exeext).
- (native): Depend on gengtype$(exeext) is $enable_plugin
- is set to "yes".
- (gtype.state): Depend on s-gtype. Use temporary file.
- (gengtype-lex.o): New rule.
- (gengtype-parse.o): Likewise.
- (gengtype-state.o): Likewise.
- (gengtype$(exeext)): Likewise.
- (install-gengtype): Likewise.
- (gengtype.o): Likewise.
- (build/gengtype.o): Depend on version.h.
- (build/gengtype-state): Depend on double-int.h, version.h,
- $(HASHTAB_H), $(OBSTACK_H), $(XREGEX_H) and build/errors.o.
- (install-plugin): Depend on install-gengtype.
-
-2011-08-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49905
- * tree.h (init_attributes): New prototype.
- * attribs.c (init_attributes): No longer static.
-
-2011-08-04 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.c (arm_set_fixed_optab_libfunc): Constify
- maybe_suffix.
-
-2011-08-03 David Li <davidxl@google.com>
-
- * tree-optimize.c (execute_fixup_cfg): Fix up entry
- outgoing edge counts after inlining.
-
-2011-08-03 David Li <davidxl@google.com>
-
- * profile.c (compute_branch_probabilities): Compute
- function frequency after profile annotation.
-
-2011-08-04 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_epilogue): Simplify
- use_backchain_to_restore_sp initialisation.
- (rs6000_legitimate_offset_address_p): Simplify offset test.
-
-2011-08-03 Richard Henderson <rth@redhat.com>
-
- * config/spu/spu.md: Use define_c_enum instead of define_constants.
- (UNSPECV_BLOCKAGE, UNSPECV_LNOP, UNSPECV_SYNC): Rename from UNSPEC_*.
- (UNSPECV_NOP): New.
-
-2011-08-03 Richard Henderson <rth@redhat.com>
-
- PR target/34888
- * config/avr/avr.md: New splitter for REG_ARGS_SIZE 0.
-
-2011-08-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49948
- * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
-
-2011-08-03 Anatoly Sokolov <aesok@post.ru>
-
- * config/m32c/m32c.c (class_sizes): Remove.
- (reduce_class): Change arguments and return type to reg_class_t.
- Change type cc var to HARD_REG_SET. Change type best var to
- reg_class_t. Change type best_size var to unsigned int. Remove
- initialization class_sizes var. Use reg_class_size array instead
- of class_sizes. Use reg_class_contents array instead
- of class_contents.
-
-2011-08-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/49958
- * fold-const.c (fold_binary_loc): Only associate
- (+ (+ (* a b) c) (* d e)) as (+ (+ (* a b) (* d e)) c) if
- overflow wraps.
-
-2011-08-03 Alan Modra <amodra@gmail.com>
-
- PR rtl-optimization/49941
- * jump.c (mark_jump_label): Comment.
- (mark_jump_label_1): Set JUMP_LABEL for return jumps.
- * emit-rtl.c (copy_rtx_if_shared_1, copy_insn_1): Leave RETURN shared.
- (mark_used_flags): Don't mark RETURN.
-
-2011-08-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49938
- * tree-scalar-evolution.c (interpret_loop_phi): Gracefully
- deal with a POLYNOMIAL_CHREC.
-
-2011-08-03 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (calculate_stage_count,
- calculate_must_precede_follow, get_sched_window,
- try_scheduling_node_in_cycle, remove_node_from_ps): Add
- declaration.
- (update_node_sched_params, set_must_precede_follow, optimize_sc):
- New functions.
- (reset_sched_times): Call update_node_sched_params.
- (sms_schedule): Call optimize_sc.
- (get_sched_window): Change function arguments.
- (sms_schedule_by_order): Update call to get_sched_window.
- Call set_must_precede_follow.
- (calculate_stage_count): Add function argument.
-
-2011-08-02 Richard Henderson <rth@redhat.com>
-
- PR target/49864
- PR target/49879
- * reg-notes.def (REG_ARGS_SIZE): New.
- * calls.c (emit_call_1): Emit REG_ARGS_SIZE for call_pop.
- (expand_call): Add REG_ARGS_SIZE to emit_stack_restore.
- * cfgcleanup.c (old_insns_match_p): Don't allow cross-jumping to
- different stack levels.
- * combine-stack-adj.c (adjust_frame_related_expr): Remove.
- (maybe_move_args_size_note): New.
- (combine_stack_adjustments_for_block): Use it.
- * combine.c (distribute_notes): Place REG_ARGS_SIZE.
- * dwarf2cfi.c (dw_cfi_row_struct): Remove args_size member.
- (dw_trace_info): Add beg_true_args_size, end_true_args_size,
- beg_delay_args_size, end_delay_args_size, eh_head, args_size_undefined.
- (cur_cfa): New.
- (queued_args_size): Remove.
- (add_cfi_args_size): Assert size is non-negative.
- (stack_adjust_offset, dwarf2out_args_size): Remove.
- (dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust): Remove.
- (notice_args_size, notice_eh_throw): New.
- (dwarf2out_frame_debug_def_cfa): Use cur_cfa.
- (dwarf2out_frame_debug_adjust_cfa): Likewise.
- (dwarf2out_frame_debug_cfa_offset): Likewise.
- (dwarf2out_frame_debug_expr): Likewise. Don't stack_adjust_offset.
- (dwarf2out_frame_debug): Don't handle non-frame-related-p insns.
- (change_cfi_row): Don't emit args_size.
- (maybe_record_trace_start_abnormal): Split out from ...
- (maybe_record_trace_start): Here. Set args_size_undefined.
- (create_trace_edges): Update to match.
- (scan_trace): Handle REG_ARGS_SIZE.
- (connect_traces): Connect args_size between EH insns.
- * emit-rtl.c (try_split): Handle REG_ARGS_SIZE.
- * explow.c (suppress_reg_args_size): New.
- (adjust_stack_1): Split out from ...
- (adjust_stack): ... here.
- (anti_adjust_stack): Use it.
- (allocate_dynamic_stack_space): Suppress REG_ARGS_SIZE.
- * expr.c (mem_autoinc_base): New.
- (fixup_args_size_notes): New.
- (emit_single_push_insn_1): Rename from emit_single_push_insn.
- (emit_single_push_insn): New. Generate REG_ARGS_SIZE.
- * recog.c (peep2_attempt): Handle REG_ARGS_SIZE.
- * reload1.c (reload_as_needed): Likewise.
- * rtl.h (fixup_args_size_notes): Declare.
-
-2011-08-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR bootstrap/49914
- * fold-const.c (fold_plusminus_mult_expr): Use abs_hwi instead
- of abs.
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
- * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.
-
-2011-08-02 Richard Henderson <rth@redhat.com>
-
- * config/h8300/h8300.c (push, pop): Return the insn.
- (h8300_swap_into_er6): Generate correct unwind info.
- (h8300_swap_out_of_er6): Likewise.
- * dwarf2cfi.c (def_cfa_1): Clear cfa_cfi if we no longer have a
- complex cfa expression.
- (dwarf2out_frame_debug_def_cfa): Allow (plus (mem) (const_int)) too.
-
-2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
-
-2011-08-02 Richard Henderson <rth@redhat.com>
-
- PR target/49878
- * config/h8300/h8300.c (h8300_move_ok): New.
- * config/h8300/h8300-protos.h: Declare it.
- * config/h8300/h8300.md (P): New mode iterator.
- (*movqi_h8300, *movqi_h8300hs, movqi): Use h8300_move_ok.
- (*movqi_h8sx, *movhi_h8300, *movhi_h8300hs, movhi): Likewise.
- (movsi, *movsi_h8300, *movsi_h8300hs): Likewise.
- (*pushqi1_h8300): Rename from pushqi1_h8300; use PRE_MODIFY.
- (*pushqi1_h8300hs_<P>): Macroize from pushqi1_h8300hs_advanced
- and pushqi1_h8300hs_normal; use PRE_MODIFY and
- register_no_sp_elim_operand.
- (*pushhi1_h8300hs_<P>): Similarly.
- (pushqi1, pushhi1, pushhi1_h8300): Remove.
- * config/h8300/predicates.md (register_no_sp_elim_operand): New.
-
-2011-08-02 Richard Henderson <rth@redhat.com>
-
- PR target/49881
- * config/avr/avr.md (push<MPUSH>1): Don't constrain the operand.
-
-2011-08-02 Jakub Jelinek <jakub@redhat.com>
-
- * c-parser.c (enum c_parser_prec): New enum, moved from within
- c_parser_binary_expression.
- (c_parser_binary_expression): Add PREC argument. Stop parsing
- if operator has lower or equal precedence than PREC.
- (c_parser_conditional_expression, c_parser_omp_for_loop): Adjust
- callers.
- (c_parser_omp_atomic): Handle parsing OpenMP 3.1 atomics.
- Adjust c_finish_omp_atomic caller.
- (c_parser_omp_taskyield): New function.
- (c_parser_pragma): Handle PRAGMA_OMP_TASKYIELD.
- (c_parser_omp_clause_name): Handle final and mergeable clauses.
- (c_parser_omp_clause_final, c_parser_omp_clause_mergeable): New
- functions.
- (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FINAL
- and PRAGMA_OMP_CLAUSE_MERGEABLE.
- (OMP_TASK_CLAUSE_MASK): Allow final and mergeable clauses.
- (c_parser_omp_clause_reduction): Handle min and max.
- * c-typeck.c (c_finish_omp_clauses): Don't complain about
- const qualified predetermined vars in firstprivate clause.
- andle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
- Handle MIN_EXPR and MAX_EXPR.
- * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_FINAL
- and OMP_CLAUSE_MERGEABLE.
- (dump_generic_node): Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD
- and OMP_ATOMIC_CAPTURE_NEW.
- * tree.c (omp_clause_num_ops): Add OMP_CLAUSE_FINAL and
- OMP_CLAUSE_MERGEABLE.
- (omp_clause_code_name): Likewise.
- (walk_tree_1): Handle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
- * tree.h (enum omp_clause_code): Add OMP_CLAUSE_FINAL
- and OMP_CLAUSE_MERGEABLE.
- (OMP_CLAUSE_FINAL_EXPR): Define.
- * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_FINAL and
- OMP_CLAUSE_MERGEABLE.
- (expand_task_call): Likewise.
- (expand_omp_atomic_load, expand_omp_atomic_store): New functions.
- (expand_omp_atomic_fetch_op): Handle cases where old or new
- value is needed afterwards.
- (expand_omp_atomic): Call expand_omp_atomic_load resp.
- expand_omp_atomic_store.
- * gimplify.c (gimplify_omp_atomic, gimplify_expr): Handle
- OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and OMP_ATOMIC_CAPTURE_NEW.
- (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
- OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
- * tree-nested.c (convert_nonlocal_omp_clauses,
- convert_local_omp_clauses): Likewise.
- * tree.def (OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD,
- OMP_ATOMIC_CAPTURE_NEW): New.
- * gimple.h (GF_OMP_ATOMIC_NEED_VALUE): New.
- (gimple_omp_atomic_need_value_p, gimple_omp_atomic_set_need_value):
- New inlines.
- * omp-builtins.def (BUILT_IN_GOMP_TASKYIELD): New builtin.
- * doc/generic.texi: Mention OMP_CLAUSE_COLLAPSE,
- OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
-
-2011-08-02 Kai Tietz <ktietz@redhat.com>
-
- * gimple.c (canonicalize_cond_expr_cond): Handle cast from
- boolean-type.
- (ssa_forward_propagate_and_combine): Interprete result of
- forward_propagate_comparison.
- * gcc/gimple-fold.c (fold_gimple_assign): Add canonicalization for
- boolean-typed operands for comparisons.
-
-2011-08-02 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/libgcc.S: Gather related function in the
- same input section.
- (__mulqihi3, __mulqihi3, __divmodqi4, __divmodhi4, __udivmodsi4,
- __divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external
- references.
- (__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4,
- __udivmodsi4, __divmodsi4, __prologue_saves__,
- __epilogue_restores__, _exit, __tablejump2__, __tablejump__,
- __do_copy_data, __do_clear_bss, __do_global_ctors,
- __do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF.
-
-2011-08-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47766
- * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
- (stack_protect_test): The pattern compares ptr_mode value.
-
-2011-08-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
- note for save_LR_around_toc_setup sequence.
-
-2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/lzcntintrin.h (__lzcnt64): Replace long with long long.
-
-2011-08-01 Sebastian Pop <sebastian.pop@amd.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
- * hwint.c: Include diagnostic-core.h.
- (abs_hwi): New.
- (gcd): Moved here...
- (pos_mul_hwi): New.
- (mul_hwi): New.
- (least_common_multiple): Moved here...
- * hwint.h (gcd): ... from here.
- (least_common_multiple): ... from here.
- (HOST_WIDE_INT_MIN): New.
- (HOST_WIDE_INT_MAX): New.
- (abs_hwi): Declared.
- (gcd): Declared.
- (pos_mul_hwi): Declared.
- (mul_hwi): Declared.
- (least_common_multiple): Declared.
- * omega.c (check_pos_mul): Removed.
- (check_mul): Removed.
- (omega_solve_geq): Use pos_mul_hwi instead of check_pos_mul and
- mul_hwi instead of check_mul.
-
-2011-08-01 Richard Henderson <rth@redhat.com>
-
- PR target/49881
- * config/avr/avr.h (PUSH_ROUNDING): New.
- * config/avr/avr.md (pushqi1): Rename from *pushqi.
- (*pushhi, *pushsi, *pushsf): Remove.
- (MPUSH): New mode iterator.
- (push<MPUSH>1): New expander.
-
-2011-08-01 Anatoly Sokolov <aesok@post.ru>
-
- * config/mmix/mmix.h (PREFERRED_RELOAD_CLASS,
- PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
- * config/mmix/mmix-protos.h (mmix_preferred_reload_class,
- mmix_preferred_output_reload_class): Remove.
- * config/mmix/mmix.c (mmix_preferred_reload_class,
- mmix_preferred_output_reload_class): Make static. Change rclass
- argument and return type to reg_class_t.
- (TARGET_PREFERRED_RELOAD_CLASS,
- TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
-
-2011-08-01 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER
- handling.
-
-2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47766
- * config/i386/i386.md (PTR): New.
- (stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
- (stack_protect_test): Likewise.
- (stack_protect_set_<mode>): Replace ":P" with ":PTR".
- (stack_tls_protect_set_<mode>): Likewise.
- (stack_tls_protect_test_<mode>): Likewise.
-
-2011-08-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49927
- * config/i386/i386.c (ix86_address_subreg_operand): New.
- (ix86_decompose_address): Use ix86_address_subreg_operand.
- (ix86_legitimate_address_p): Do not assert that subregs satisfy
- register_no_elim_operand in DImode.
-
-2011-08-01 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49926
- * tree-vect-loop.c (vect_is_slp_reduction): Check that a statement
- in a chain doesn't have uses both inside and outside the loop.
-
-2011-08-01 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (mcu_type_s): Add errata_skip field.
- * config/avr/avr-devices.c (avr_mcu_types): Use it.
- * config/avr/avr-mcus.def (AVR_MCU): Use it.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin
- define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__.
- * config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit):
- Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__
- to detect if XJMP must not be skipped.
-
-2011-08-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p):
- Delete.
- * config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
- (rs6000_emit_prologue): Don't prematurely return when
- TARGET_SINGLE_PIC_BASE. Don't emit eh_frame info in
- save_toc_in_prologue case.
- (rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
- calls_alloca.
-
-2011-08-01 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-devices.c: Delete SVN property svn:executable.
- * config/avr/predicates.md: Ditto.
- * config/avr/driver-avr.c: Ditto.
- * config/avr/genopt.sh: Set SVN property svn:executable to *.
-
-2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * calls.c (emit_library_call_value_1): Declare size only if
- BLOCK_REG_PADDING is defined.
-
-2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/49547
- * config.gcc (i[34567]86-*-*): Replace abmintrin.h with lzcntintrin.h.
- (x86_64-*-*): Likewise.
- * config/i386/i386.opt (mlzcnt): New.
- * config/i386/abmintrin.h: File removed.
- (__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
- * config/i386/lzcntintrin.h: ... here. New file.
- (__lzcnt): Rename to ...
- (__lzcnt32): ... this.
- * config/i386/bmiintrin.h (head): Update copyright year.
- (__lzcnt_u16): Removed.
- (__lzcnt_u32): Likewise.
- (__lzcnt_u64): Likewise.
- * config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
- is defined, remove abmintrin.h.
- * config/i386/cpuid.h (bit_LZCNT): New.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- LZCNT feature.
- * config/i386/i386-c.c (ix86_target_macros_internal): Define
- __LZCNT__ if needed.
- * config/i386/i386.c (ix86_target_string): New option -mlzcnt.
- (ix86_option_override_internal): Handle LZCNT option.
- (ix86_valid_target_attribute_inner_p): Likewise.
- (struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update.
- * config/i386/i386.h (TARGET_LZCNT): New.
- (CLZ_DEFINED_VALUE_AT_ZERO): Update.
- * config/i386/i386.md (clz<mode>2): Update insn constraint.
- (clz<mode>2_lzcnt): Likewise.
- * doc/invoke.texi: Mention -mlzcnt option.
- * doc/extend.texi: Likewise.
-
-2011-08-01 Julian Brown <julian@codesourcery.com>
-
- * configure.ac (fixed-point): Add ARM support.
- * configure: Regenerate.
- * config/arm/arm.c (arm_fixed_mode_set): New struct.
- (arm_set_fixed_optab_libfunc): New.
- (arm_set_fixed_conv_libfunc): New.
- (arm_init_libfuncs): Initialise fixed-point helper libfuncs with
- ARM-specific names.
- (aapcs_libcall_value): Return sub-word-size fixed-point libcall
- return values in SImode.
- (arm_return_in_msb): Return fixed-point types in the msb.
- (arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
- upwards.
- (arm_scalar_mode_supported_p): Support fixed-point modes.
- (arm_vector_mode_supported_p): Support vector fixed-point modes.
- * config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
- (LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
- (SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
- (LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
- * config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
- New mode iterators.
- (qaddsub_suf): New mode attribute.
- * config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
- vector modes.
- * config/arm/predicates.md (sat_shift_operator): New predicate.
- * config/arm/arm-fixed.md: New.
- * config/arm/arm.md: Include arm-fixed.md.
- * config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
-
-2011-08-01 Julian Brown <julian@codesourcery.com>
-
- * calls.c (emit_library_call_value_1): Support padding for libcall
- arguments and return values.
- * config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
- downwards in big-endian mode.
-
-2011-08-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR debug/49887
- * config/sol2.c (solaris_code_end): Rename to solaris_file_end.
- * config/sol2-protos.h: Likewise.
- * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call
- solaris_code_end.
- * config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine.
- * config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call
- solaris_file_end.
- * config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove.
-
-2011-08-01 Julian Brown <julian@codesourcery.com>
-
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
-
-2011-08-01 Julian Brown <julian@codesourcery.com>
-
- * final.c (output_addr_const): Print fixed-point constants as
- decimal not hex.
-
-2011-08-01 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (initialize_sizetypes): Properly sign-extend
- bitsiztype TYPE_MAX_VALUE.
-
-2011-08-01 Julian Brown <julian@codesourcery.com>
-
- * optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point
- comparison helpers.
-
-2011-07-31 Richard Henderson <rth@redhat.com>
-
- * config/h8300/crti.asm: Add flags to .section directive.
- * config/h8300/crtn.asm: Likewise.
-
-2011-07-31 Richard Henderson <rth@redhat.com>
-
- * stor-layout.c (initialize_sizetypes): Handle unsigned short.
- * tree.c (build_common_tree_nodes): Likewise.
-
-2011-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49880
- * config/sh/sh.md (udivsi3_i1): Enable for TARGET_DIVIDE_CALL_DIV1.
- (divsi3_i1): Likewise.
-
-2011-07-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/49749
- * tree-ssa-reassoc.c (get_rank): New forward declaration.
- (PHI_LOOP_BIAS): New macro.
- (phi_rank): New function.
- (loop_carried_phi): Likewise.
- (propagate_rank): Likewise.
- (get_rank): Add calls to phi_rank and propagate_rank.
-
-2011-07-31 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/x86-64.h (SIZE_TYPE): Check TARGET_LP64 instead
- of TARGET_64BIT.
- (PTRDIFF_TYPE): Likewise.
-
-2011-07-31 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49920
- * config/i386/i386.md (strset): Do not expand strset_singleop
- when %eax or $edi are fixed.
- (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
- (*strsetsi_1): Ditto.
- (*strsethi_1): Ditto.
- (*strsetqi_1): Ditto.
- (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
- (*rep_stossi): Ditto.
- (*rep_stosqi): Ditto.
- (*strlenqi_1): Ditto.
- (cmpstrnsi): Also fail when %ecx is fixed.
- (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
- (*cmpstrnqi_1): Ditto.
- (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
- (*strmovsi_1): Ditto.
- (*strmovhi_1): Ditto.
- (*strmovqi_1): Ditto.
- (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
- (*rep_movsi): Ditto.
- (*rep_movqi): Ditto.
-
-2011-07-31 Mikael Pettersson <mikpe@it.uu.se>
-
- PR target/47908
- * config/m68k/m68k.c (m68k_override_options_after_change): New function.
- Disable instruction scheduling for non-ColdFire targets.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
-
-2011-07-31 Revital Eres <revital.eres@linaro.org>
-
- * ddg.c (create_ddg_dep_from_intra_loop_link): Remove the creation
- of anti-dep edge from a branch.
- (add_cross_iteration_register_deps): Create anti-dep edge from
- a branch.
-
-2011-07-31 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c: Change comment.
- (reset_sched_times): Fix print message.
- (print_partial_schedule): Add print info.
-
-2011-07-31 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/43513
- * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of
- get_object_alignment and TYPE_ALIGN.
-
-2011-07-30 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/43513
- * tree-ssa-dce.c (ref_may_be_aliased): Add assert.
- (propagate_necessity): Handle WITH_SIZE_EXPR call arg.
-
-2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/driver-native.c [__sgi__]: Include <invent.h>,
- <sys/sbd.h>.
- (cpu_types): New array.
- (cputype): New function.
- (host_detect_local_cpu): Only define buf, f if !__sgi__.
- Use scaninvent instead of /proc/cpuinfo if __sgi__.
- * config.host: Also use driver-native.o, mips/x-native on
- mips-sgi-irix*.
- * config/mips/iris6.h [__mips__] (host_detect_local_cpu): Declare.
- (EXTRA_SPEC_FUNCTIONS, MARCH_MTUNE_NATIVE_SPECS): Define.
- (DRIVER_SELF_SPECS): Add MARCH_MTUNE_NATIVE_SPECS.
-
-2011-07-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49897
- PR middle-end/49898
- * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
- in nested parallel and outer is a gimple_reg, mark it as addressable
- and set its bit in task_shared_vars bitmap too.
-
-2011-07-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (tp_or_register_operand): Remove predicate.
-
-2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/driver-alpha.c (IMPLVER_EV4_FAMILY,
- IMPLVER_EV5_FAMILY, IMPLVER_EV6_FAMILY, IMPLVER_EV7_FAMILY): Define.
- (AMASK_BWX, AMASK_FIX, AMASK_CIX, AMASK_MVI, AMASK_PRECISE,
- AMASK_LOCKPFTCHOK): Define.
- (host_detect_local_cpu): Remove buf, f, cpu_names.
- Define cpu_types, implver, amask.
- Use __builtin_alpha_implver, __builtin_alpha_amask to determine
- native CPU.
- * config.host: Also use driver-alpha.o, alpha/x-alpha on
- alpha*-dec-osf*.
- * config/alpha/osf5.h [__alpha__ || __alpha]
- (host_detect_local_cpu): Declare.
- (EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS)
- (DRIVER_SELF_SPECS): Define.
-
-2011-07-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47715
- * config/i386/i386.md (*load_tp_x32): New.
- (*load_tp_x32_zext): Ditto.
- (*add_tp_x32): Ditto.
- (*add_tp_x32_zext): Ditto.
- (*load_tp_<mode>): Disable for TARGET_X32 targets.
- (*add_tp_<mode>): Ditto.
- * config/i386/i386.c (get_thread_pointer): Load thread pointer in
- ptr_mode and convert to Pmode if needed.
-
-2011-07-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49687
- * config/avr/avr.md (mulsi3, *mulsi3, mulu<mode>si3,
- muls<mode>si3, mulohisi3, mulhisi3, umulhisi3, usmulhisi3,
- *<any_extend:extend_prefix><any_extend2:extend_prefix>mul<QIHI:mode><QIHI2:mode>si3):
- Add X to register footprint: Clobber r26/r27.
-
-2011-07-29 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (fold_builtin_signbit): Build the comparison
- with a proper type.
-
-2011-07-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49893
- * tree-predcom.c (suitable_reference_p): Volatile references
- are not suitable.
-
-2011-07-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49313
- * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
- (__ctzsi2): Result for 0 may be undefined.
- (__ctzhi2): Result for 0 may be undefined.
- (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
- (__popcountsi2): Ditto. And don't clobber r26.
- (__popcountdi2): Ditto. And don't clobber r27.
- * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
- (parityhi2): New expand.
- (paritysi2): New expand.
- (popcounthi2): New expand.
- (popcountsi2): New expand.
- (clzhi2): New expand.
- (clzsi2): New expand.
- (ctzhi2): New expand.
- (ctzsi2): New expand.
- (ffshi2): New expand.
- (ffssi2): New expand.
- (copysignsf3): New insn.
- (bswapsi2): New expand.
- (*parityhi2.libgcc): New insn.
- (*parityqihi2.libgcc): New insn.
- (*paritysihi2.libgcc): New insn.
- (*popcounthi2.libgcc): New insn.
- (*popcountsi2.libgcc): New insn.
- (*popcountqi2.libgcc): New insn.
- (*popcountqihi2.libgcc): New insn-and-split.
- (*clzhi2.libgcc): New insn.
- (*clzsihi2.libgcc): New insn.
- (*ctzhi2.libgcc): New insn.
- (*ctzsihi2.libgcc): New insn.
- (*ffshi2.libgcc): New insn.
- (*ffssihi2.libgcc): New insn.
- (*bswapsi2.libgcc): New insn.
-
-2011-07-29 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (get_value_range): Only set parameter default
- definitions to varying, leave others at undefined.
- (extract_range_from_binary_expr): Fix undefined handling.
- (vrp_visit_phi_node): Handle merged undefined state.
-
-2011-07-29 Wei Guozhi <carrot@google.com>
-
- PR rtl-optimization/49799
- * combine.c (make_compound_operation): Check if the bit field is valid
- before change it to bit field extraction.
-
-2011-07-29 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/49891
- * cfgrtl.c (force_nonfallthru_and_redirect): Set JUMP_LABEL for
- newly created returnjumps.
-
-2011-07-28 DJ Delorie <dj@redhat.com>
-
- * expr.c (expand_expr_addr_expr_1): Detect a user request for a
- local frame in a naked function, and produce a suitable error for
- that specific case.
-
- * config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
- registers to be reloaded in HI classes when the target is HI.
-
-2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with
- bound_one, bound_two.
-
-2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/48648
- * graphite-clast-to-gimple.c (clast_get_body_of_loop): Handle
- CLAST assignments.
- (translate_clast): Same.
- (translate_clast_assignment): New.
-
-2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/49876
- * sese.c (rename_uses): Do not return false on gloog_error: set
- the new_expr to integer_zero_node and continue code generation.
- (graphite_copy_stmts_from_block): Remove early exit on gloog_error.
-
-2011-07-28 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49846
- * var-tracking.c (prepare_call_arguments): For non-MODE_INT stack
- arguments also check if they aren't initialized with a MODE_INT
- mode of the same size.
-
-2011-07-28 Aldy Hernandez <aldyh@redhat.com>
-
- * expr.c (get_bit_range): Handle *MEM_REF's.
-
-2011-07-28 Bernd Schmidt <bernds@codesourcery.com>
-
- * rtlanal.c (tablejump_p): False for returns.
- * reorg.c (first_active_target_insn): New static function.
- (find_end_label): Set JUMP_LABEL for a new returnjump.
- (optimize_skip, get_jump_flags, rare_destination,
- mostly_true_jump, get_branch_condition,
- steal_delay_list_from_target, own_thread_p,
- fill_simple_delay_slots, follow_jumps, fill_slots_from_thread,
- fill_eager_delay_slots, relax_delay_slots, make_return_insns,
- dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs.
- * jump.c (delete_related_insns): Likewise.
- (jump_to_label_p): New function.
- (redirect_target): New static function.
- (redirect_exp_1): Use it. Adjust to handle ret_rtx in JUMP_LABELS.
- (redirect_jump_1): Assert that the new label is nonnull.
- (redirect_jump): Likewise.
- (redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels.
- * ifcvt.c (find_if_case_1): Take care when redirecting jumps to the
- exit block.
- (dead_or_predicable): Change NEW_DEST arg to DEST_EDGE. All callers
- changed. Ensure that the right label is passed to redirect_jump.
- * function.c (emit_return_into_block,
- thread_prologue_and_epilogue_insns): Ensure new returnjumps have
- ret_rtx in their JUMP_LABEL.
- * print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL.
- * emit-rtl.c (skip_consecutive_labels): Allow the caller to
- pass ret_rtx as label.
- * cfglayout.c (fixup_reorder_chain): Use
- force_nonfallthru_and_redirect rather than force_nonfallthru.
- (duplicate_insn_chain): Copy JUMP_LABELs for returns.
- * rtl.h (ANY_RETURN_P): New macro.
- (jump_to_label_p): Declare.
- * resource.c (find_dead_or_set_registers): Handle ret_rtx in
- JUMP_LABELs.
- (mark_target_live_regs): Likewise.
- * basic-block.h (force_nonfallthru_and_redirect): Declare.
- * cfgrtl.c (force_nonfallthru_and_redirect): No longer static.
- * config/alpha/alpha.c (alpha_tablejump_addr_vec,
- alpha_tablejump_best_label): Remove functions.
- * config/alpha/alpha-protos.c (alpha_tablejump_addr_vec,
- alpha_tablejump_best_label): Remove declarations.
- * config/sh/sh.c (barrier_align, split_branches): Adjust for
- ret_rtx in JUMP_LABELs.
- * config/arm/arm.c (is_jump_table): Likewise.
-
-2011-07-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (pic_32bit_opreand): Do not define as
- special predicate. Remove explicit mode checks.
-
-2011-07-28 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize
- DW_AT_data_member_location containing just DW_OP_plus_uconst.
-
- PR debug/49871
- * dwarf2out.c (size_of_die, value_format, output_die): Use
- DW_FORM_udata instead of DW_FORM_data[48] for
- dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
-
-2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (*tls_global_dynamic_64): Update
- length attribute.
-
-2011-07-28 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47715
- * config/i386/i386.md (*tls_global_dynamic_64): Remove mode from
- tls_symbolic_operand check. Update code sequence for TARGET_X32.
- (tls_global_dynamic_64): Remove mode from tls_symbolic_operand check.
- (tls_dynamic_gnu2_64): Ditto.
- (*tls_dynamic_gnu2_lea_64): Ditto.
- (*tls_dynamic_gnu2_call_64): Ditto.
- (*tls_dynamic_gnu2_combine_64): Ditto.
-
-2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc: Set need_64bit_hwint to yes for x86 targets.
-
-2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47364
- * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
-
-2011-07-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
- before the core constraints. Adjust attributes.
- ("*thumb2_movdf_vfp"): Likewise.
-
-2011-07-28 Kai Tietz <ktietz@redhat.com>
-
- * tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.
- (simplify_truth_ops_using_ranges): Likewise.
- (build_assert_expr_for): Likewise.
- (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case
- and handle BIT_NOT_EXPR for truth-operation.
-
-2011-07-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49313
- Undo r176835 from trunk
- 2011-07-27 Georg-Johann Lay
-
-2011-07-28 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49687
- * config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit.
- Add _muluhisi3, _mulshisi3, _usmulhisi3.
- * config/avr/libgcc.S (__mulsi3): Rewrite.
- (__mulhisi3): Rewrite.
- (__umulhisi3): Rewrite.
- (__usmulhisi3): New.
- (__muluhisi3): New.
- (__mulshisi3): New.
- (__mulohisi3): New.
- (__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to
- declare.
- * config/avr/predicates.md (pseudo_register_operand): Rewrite.
- (pseudo_register_or_const_int_operand): New.
- (combine_pseudo_register_operand): New.
- (u16_operand): New.
- (s16_operand): New.
- (o16_operand): New.
- * config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI.
- * config/avr/avr.md (QIHI, QIHI2): New mode iterators.
- (any_extend, any_extend2): New code iterators.
- (extend_prefix): New code attribute.
- (mulsi3): Rewrite. Turn insn to expander.
- (mulhisi3): Ditto.
- (umulhisi3): Ditto.
- (usmulhisi3): New expander.
- (*mulsi3): New insn-and-split.
- (mulu<mode>si3): New insn-and-split.
- (muls<mode>si3): New insn-and-split.
- (mulohisi3): New insn-and-split.
- (*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3,
- *usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3,
- *sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3,
- *ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New
- insn-and-split.
- (*mulsi3_call): Rewrite.
- (*mulhisi3_call): Rewrite.
- (*umulhisi3_call): Rewrite.
- (*usmulhisi3_call): New insn.
- (*muluhisi3_call): New insn.
- (*mulshisi3_call): New insn.
- (*mulohisi3_call): New insn.
- (extendqihi2): Use combine_pseudo_register_operand as predicate
- for operand 1.
- (extendqisi2): Ditto.
- (zero_extendqihi2): Ditto.
- (zero_extendqisi2): Ditto.
- (zero_extendhisi2): Ditto.
- (extendhisi2): Ditto. Don't early-clobber operand 0.
-
-2011-07-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.
-
-2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/49471
- * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
- iv only when the largest type is unsigned. Do not call
- lang_hooks.types.type_for_size.
-
-2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/45450
- * graphite-poly.c (apply_poly_transforms): Disable legality check
- after an openscop read.
-
-2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47691
- * graphite-clast-to-gimple.c (translate_clast_user): Update use of
- copy_bb_and_scalar_dependences.
- * sese.c (rename_uses): Do not call gcc_assert. Set gloog_error.
- (graphite_copy_stmts_from_block): Update call to rename_uses.
- (copy_bb_and_scalar_dependences): Update call to
- graphite_copy_stmts_from_block.
- * sese.h (copy_bb_and_scalar_dependences): Update declaration.
-
-2011-07-27 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49313
- * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
- (__ctzsi2): Result for 0 may be undefined.
- (__ctzhi2): Result for 0 may be undefined.
- (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
- (__popcountsi2): Ditto. And don't clobber r26.
- (__popcountdi2): Ditto. And don't clobber r27.
- * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
- (parityhi2): New expand.
- (paritysi2): New expand.
- (popcounthi2): New expand.
- (popcountsi2): New expand.
- (clzhi2): New expand.
- (clzsi2): New expand.
- (ctzhi2): New expand.
- (ctzsi2): New expand.
- (ffshi2): New expand.
- (ffssi2): New expand.
- (copysignsf3): New insn.
- (bswapsi2): New expand.
- (*parityhi2.libgcc): New insn.
- (*parityqihi2.libgcc): New insn.
- (*paritysihi2.libgcc): New insn.
- (*popcounthi2.libgcc): New insn.
- (*popcountsi2.libgcc): New insn.
- (*popcountqi2.libgcc): New insn.
- (*popcountqihi2.libgcc): New insn-and-split.
- (*clzhi2.libgcc): New insn.
- (*clzsihi2.libgcc): New insn.
- (*ctzhi2.libgcc): New insn.
- (*ctzsihi2.libgcc): New insn.
- (*ffshi2.libgcc): New insn.
- (*ffssihi2.libgcc): New insn.
- (*bswapsi2.libgcc): New insn.
-
-2011-07-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_move): Do not explicitly check
- the mode of symbolic_opreand RTXes.
-
-2011-07-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (x86_64_movabs_operand): Return false
- for pic_32bit_operand RTXes.
- * config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
- in DImode.
-
-2011-07-27 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Allow -mabi
- for 32-bit, too.
- (ix86_handle_abi_attribute): Allow function attributes
- ms_abi/sysv_abi in 32-bit mode, too.
- * doc/extend.texi: Adjust attribute documentation.
-
- * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
- expression handling.
- (and_var_with_comparison_1): Likewise.
-
-2011-07-27 Aldy Hernandez <aldyh@redhat.com>
-
- * params.h (ALLOW_STORE_DATA_RACES): New.
- * params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
- * Makefile.in (expr.o): Depend on PARAMS_H.
- * machmode.h (get_best_mode): Add argument.
- * fold-const.c (optimize_bit_field_compare): Add argument to
- get_best_mode.
- (fold_truthop): Same.
- * ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
- * expr.c (emit_group_store): Same.
- (copy_blkmode_from_reg): Same.
- (write_complex_part): Same.
- (optimize_bitfield_assignment_op): Add argument.
- Add argument to get_best_mode.
- (get_bit_range): New.
- (expand_assignment): Calculate maxbits and pass it down accordingly.
- (store_field): New argument.
- (expand_expr_real_2): New argument to store_field. Include params.h.
- * expr.h (store_bit_field): New argument.
- * stor-layout.c (get_best_mode): Restrict mode expansion by taking
- into account maxbits.
- * calls.c (store_unaligned_arguments_into_pseudos): New argument
- to store_bit_field.
- * expmed.c (store_bit_field_1): New argument. Use it.
- (store_bit_field): Same.
- (store_fixed_bit_field): Same.
- (store_split_bit_field): Same.
- (extract_bit_field_1): Pass new argument to get_best_mode.
- (extract_bit_field): Same.
- * stmt.c (store_bit_field): Pass new argument to store_bit_field.
- * doc/invoke.texi: Document parameter allow-store-data-races.
-
-2011-07-27 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (gen_producer_string): Ignore also -fverbose-asm option.
-
-2011-07-27 Kai Tietz <ktietz@redhat.com>
-
- * tree-vrp.c (extract_range_from_binary_expr): Remove
- TRUTH-binary cases and add new bitwise-cases.
- (extract_range_from_assignment): Likewise.
- (register_edge_assert_for_1): Likeiwise.
- (register_edge_assert_for): Likewise.
- (simplify_truth_ops_using_ranges): Likewise.
- (simplify_stmt_using_ranges): Likewise.
-
-2011-07-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47372
- * config/i386/i386.c (ix86_delegitimize_address): Call
- simplify_gen_subreg for PIC with mode of x only if modes of
- x and orig_x are different.
-
-2011-07-26 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
- to GC allocated copy of the string.
- (dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
- before .debug_line, not after it.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47046
- * tree-chrec.h (evolution_function_is_affine_p): Recursively call
- evolution_function_is_affine_p on CHREC_RIGHT.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- * tree-data-ref.c (max_stmt_executions_tree): Do not call
- lang_hooks.types.type_for_size.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47653
- * graphite-scop-detection.c (graphite_can_represent_loop): Discard
- loops using wrapping semantics.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/48805
- * tree-scalar-evolution.c (instantiate_scev_r): Return
- chrec_dont_know for ADDR_EXPR.
-
-2011-07-26 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47369
- PR target/49853
- * config/i386/i386.c (ix86_expand_move): Call convert_to_mode
- if legitimize_tls_address returned operand in wrong mode. Allow
- SImode and DImode symbolic operand for PIC. Call convert_to_mode
- if legitimize_pic_address returned operand in wrong mode.
-
-2011-07-26 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
- return false for invariants.
-
-2011-07-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (add->lea splitter): Implement using SWI
- mode iterator. Change operand 2 predicate to <nonmemory_operand>.
- (add->lea zext splitter): Change operand 2 predicate to
- x86_64_nonmemory_operand.
-
-2011-07-26 Richard Guenther <rguenther@suse.de>
-
- * predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
- frequency makes everything hot.
-
-2011-07-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49840
- * tree-vrp.c (range_fits_type_p): Properly handle full
- double-int precision.
-
-2011-07-26 Martin Jambor <mjambor@suse.cz>
-
- PR bootstrap/49786
- * ipa-cp.c (update_profiling_info): Avoid overflow when updating
- counts.
- (update_specialized_profile): Likewise.
-
-2011-07-26 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47381
- PR target/49832
- PR target/49833
- * config/i386/i386.md (i): Change SImode attribute to "e".
- (g): Change SImode attribute to "rme".
- (di): Change SImode attribute to "nF".
- (general_operand): Change SImode attribute to x86_64_general_operand.
- (general_szext_operand): Change SImode attribute to
- x86_64_szext_general_operand.
- (immediate_operand): Change SImode attribute to
- x86_64_immediate_operand.
- (nonmemory_operand): Change SImode attribute to
- x86_64_nonmemory_operand.
- (*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
- (*movsi_internal): Ditto. Use "e" constraint in alternative 2.
- (*lea_1): Use SWI48 mode iterator.
- (*lea_1_zext): New insn pattern.
- (testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
- (*bt<mode>): Ditto.
- (*add<mode>1): Use x86_64_general_operand predicate for operand 2.
- Update operand constraints.
- (addsi_1_zext): Ditto.
- (*add<mode>2): Ditto.
- (*addsi_3_zext): Ditto.
- (*subsi_1_zext): Ditto.
- (*subsi_2_zext): Ditto.
- (*subsi_3_zext): Ditto.
- (*addsi3_carry_zext): Ditto.
- (*<plusminus_insn>si3_zext_cc_overflow): Ditto.
- (*mulsi3_1_zext): Ditto.
- (*andsi_1): Ditto.
- (*andsi_1_zext): Ditto.
- (*andsi_2_zext): Ditto.
- (*<any_or:code>si_1_zext): Ditto.
- (*<any_or:code>si_2_zext): Ditto.
- (*test<mode>_1): Use <general_operand> predicate for operand 1.
- (*and<mode>_2): Ditto.
- (mov<mode>cc): Use <general_operand> predicate for operands 1 and 2.
- (add->lea splitter): Check operand modes in insn constraint. Extend
- operands less than SImode wide to SImode.
- (add->lea zext splitter): Do not extend input operands to DImode.
- (*lea_general_1): Handle only QImode and HImode operands.
- (*lea_general_2): Ditto.
- (*lea_general_3): Ditto.
- (*lea_general_1_zext): Remove.
- (*lea_general_2_zext): Ditto.
- (*lea_general_3_zext): Ditto.
- (*lea_general_4): Check operand modes in insn constraint. Extend
- operands less than SImode wide to SImode.
- (ashift->lea splitter): Ditto.
- * config/i386/i386.c (ix86_print_operand_address): Print address
- registers with 'q' modifier on 64bit targets.
- * config/i386/predicates.md (pic_32bit_opreand): Define as special
- predicate. Reject non-SI and non-DI modes.
-
-2011-07-25 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/49671
- * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
- TREE_THIS_NOTRAP into the inner most MEM_REF.
- Always copy TREE_THIS_VOLATILE.
- * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
- arguments are not volatile references.
-
-2011-07-25 Richard Henderson <rth@redhat.com>
-
- * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
- * final.c (final_scan_insn): Don't test for it.
- (rest_of_clean_state): Likewise.
-
-2011-07-25 Richard Henderson <rth@redhat.com>
-
- PR debug/49841
- * config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
- (emit_frame_save): Likewise.
- (rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
- insn onto a dummy blockage insn after the join label.
-
-2011-07-25 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (dw_trace_info): Add ID member.
- (get_trace_index): Remove. Change users to use ID member.
- (before_next_cfi_note): New.
- (connect_traces): Remove unreachable traces before the main loop.
- Look across one trace and generate remember/restore_state if needed.
-
-2011-07-25 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (dump_cfi_row, debug_cfi_row): New.
-
-2011-07-25 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * genattr.c (write_upcase, gen_attr <enum definition writing>):
- Move to ...
- * genattr-common.c ... here.
- (main): Call gen_attr.
- * optc-gen.awk: Make generated program include insn-attr-common.h .
- * Makefile.in (oprions.o): Depend on insn-attr-common.h
-
-2011-07-25 Anatoly Sokolov <aesok@post.ru>
-
- * config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
- PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
- * config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
- m32c_print_operand, m32c_print_operand_address): Remove.
- * config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
- Change return type to bool. Change argument type to bool.
- (m32c_print_operand, m32c_print_operand_address): Make static.
- (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
- TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
-
-2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/sourcebuild.texi (Effective-Target Keywords, Environment
- attributes): Document mmap.
-
-2011-07-25 Anatoly Sokolov <aesok@post.ru>
-
- * config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
- PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
- * config/mmix/mmix-protos.h (mmix_print_operand_punct_valid_p,
- mmix_print_operand, mmix_print_operand_address): Remove.
- * config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
- Change return type to bool. Change argument type to bool.
- (mmix_print_operand, mmix_print_operand_address): Make static.
- (mmix_intval, mmix_output_condition): Change 'x' argument type
- to const_rtx.
- (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
- TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
-
-2011-07-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/39386
- * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
- shift counter for x << x and x >> x shifts.
-
-2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/47124
- * config.gcc: Reject *-*-solaris2 configuration.
-
-2011-07-25 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/49809
- * tree-ssa-phiopt.c (cond_if_else_store_replacement): Use
- gimple_get_lhs instead of gimple_assign_lhs.
-
-2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * system.h [__cplusplus]: Wrap C function declarations in extern "C".
-
-2011-07-25 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49822
- * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
- more. Make sure to preserve stmts with side-effects. Properly
- handle virtual defs, follow a longer def chain.
-
-2011-07-22 Romain Geissler <romain.geissler@gmail.com>
-
- PR plugins/45348
- PR plugins/48425
- PR plugins/46577
- * Makefile.in: Do not flatten c-family directory when installing
- plugin headers.
-
-2011-07-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
- original nodes if we are dealing with virtual clones.
-
-2011-07-25 Bernd Schmidt <bernds@codesourcery.com>
-
- * common/config/c6x/c6x-common.c: New file.
-
-2011-07-25 Roman Zhuykov <zhroma@ispras.ru>
-
- * tree-flow.h (tree_ssa_loop_version): Remove unused declaration.
-
-2011-07-25 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49715
- * tree-vrp.c: Include expr.h and optabs.h.
- (range_fits_type_): New function.
- (simplify_float_conversion_using_ranges): Likewise.
- (simplify_stmt_using_ranges): Call it.
- * Makefile.in (tree-vrp.o): Add $(EXPR_H) and $(OPTABS_H) dependencies.
- * optabs.c (can_float_p): Export.
- * optabs.h (can_float_p): Declare.
-
-2011-07-25 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (num_vr_values, values_propagated): New global vars.
- (get_value_range): For out-of-range SSA names or names created
- after propagation return a read-only varying range.
- (dump_all_value_ranges): Adjust.
- (vrp_initialize): Likewise.
- (vrp_finalize): Likewise.
-
-2011-07-24 Richard Henderson <rth@redhat.com>
-
- PR debug/49831
- * dwarf2cfi.c (connect_traces): Allow unvisited traces. Skip
- them entirely.
-
-2011-07-24 Richard Henderson <rth@redhat.com>
-
- PR debug/49825
- * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier.
- (dwarf2out_notice_stack_adjust): Use args_size from call_insn.
-
-2011-07-24 Richard Henderson <rth@redhat.com>
-
- PR debug/49827
- * dwarf2cfi.c (create_trace_edges): Handle sequences properly.
-
-2011-07-24 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
- Zero args_size for abnormal edges. Adjust all callers.
-
-2011-07-24 Richard Henderson <rth@redhat.com>
-
- PR debug/49825
- * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size.
-
-2011-07-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/49835
- * collect2.c (demangle_flag): Removed.
-
-2011-07-24 Sandra Loosemore <sandra@codesourcery.com>
-
- * configure.ac (demangler_in_ld): Default to yes.
- * configure: Regenerated.
- * collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
- mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
- --no-demangle options straight through to ld. When
- HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
- way that has the intended effect on Windows.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c: Include basic-block.h.
- (dw_label_info): Remove.
- (trace_work_list, trace_index): New.
- (remember_row, emit_cfa_remember): Remove.
- (dw_trace_info_hash, dw_trace_info_eq): New.
- (get_trace_index, get_trace_info): New.
- (save_point_p): New.
- (free_cfi_row): Remove.
- (add_cfi): Do not emit DW_CFA_remember_state.
- (cfa_row_equal_p): New.
- (barrier_args_size): Remove.
- (compute_barrier_args_size_1, compute_barrier_args_size): Remove.
- (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size.
- (maybe_record_trace_start, create_trace_edges, scan_trace): New.
- (dwarf2out_cfi_begin_epilogue): Remove.
- (dwarf2out_frame_debug_restore_state): Remove.
- (connect_traces, create_pseudo_cfg): New.
- (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces.
- * Makefile.in (dwarf2cfi.o): Update.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (dw_trace_info): New.
- (dw_label_info): New.
- (cie_return_save): New.
- (cur_trace): New.
- (queued_args_size): Rename from args_size. Update all users.
- (cfa_store, cfa_temp, regs_saved_in_regs): Remove.
- (def_cfa_1): Use cur_trace instead of cfa_*.
- (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise.
- (clobbers_queued_reg_save, reg_saved_in): Likewise.
- (dwarf2out_frame_debug_expr): Likewise.
- (create_cie_data): Split out from ...
- (execute_dwarf2_frame): ... here. Initialize cur_trace.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc.
- Update all users to match.
- (execute_dwarf2_frame): Free reg_saved_in_data.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (queued_reg_save): Reorder for packing. Don't GTY.
- (queued_reg_saves): Don't GTY. Change to a VEC.
- (queue_reg_save): Update to match.
- (dwarf2out_flush_queued_reg_saves): Likewise.
- (clobbers_queued_reg_save): Likewise.
- (reg_saved_in): Likewise.
- (execute_dwarf2_frame): Free queued_reg_saves.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (dw_cfi_row_ref): Remove. Update all users.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (add_cfi_args_size): Split out from...
- (dwarf2out_args_size): ... here.
- (add_cfi_restore): Split out from ...
- (dwarf2out_frame_debug_cfa_restore): ... here.
- (def_cfa_0): Split out from ...
- (def_cfa_1): ... here.
- (cfi_oprnd_equal_p, cfi_equal_p): New.
- (change_cfi_row): New.
- (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
- (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
- (output_cfis): Remove.
- * dwarf2out.c (output_fde): Simplify output_cfi loop.
- (dwarf2out_switch_text_section): Don't call output_cfis.
- (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
- * dwarf2out.h: Update decls.
- (enum dw_val_class): Add dw_val_class_none.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (update_row_reg_save): New.
- (dwarf2out_frame_debug_cfa_expression): Use it.
- (dwarf2out_frame_debug_cfa_restore): Likewise.
- (reg_save): Likewise. Do not emit DW_CFA_same_value.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn. Update all users.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New.
- (cie_cfi_row): New.
- (new_cfi_row, copy_cfi_row, free_cfi_row): New.
- (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove.
- (cur_row, remember_row): New.
- (def_cfa_1): Use cur_row instead of the old_* variables.
- (dwarf2out_frame_debug_restore_state): Similarly.
- (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise.
- (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa.
- (dwarf2out_frame_debug_adjust_cfa): Likewise.
- (dwarf2out_frame_debug_cfa_offset): Likewise.
- (dwarf2out_frame_debug_expr): Likewise.
- (execute_dwarf2_frame): Set up cur_row.
- * dwarf2out.h (struct cfa_loc): Mark for GTY.
-
-2011-07-23 Richard Henderson <rth@redhat.com>
-
- * basic-block.h (EDGE_PRESERVE): New.
- (EDGE_ALL_FLAGS, EDGE_COMPLEX): Include it.
- * bb-reorder.c: Include except.h.
- (fix_up_crossing_landing_pad): New.
- (find_rarely_executed_basic_blocks_and_crossing_edges): Place
- landing pads in the right partition. Duplicate as necessary.
- (partition_hot_cold_basic_blocks): Fix up DF info after
- duplicating landing pads.
- * cfg.c (dump_edge_info): Add crossing and preserve to bitnames.
- * cfgrtl.c (rtl_verify_flow_info_1): Validate that EDGE_CROSSING
- is set properly. Validate that EH edges are not CROSSING.
- * except.c (expand_dw2_landing_pad_for_region): Split out from ...
- (dw2_build_landing_pads): ... here.
- (convert_to_eh_region_ranges): Remove code to fixup crossing
- landing pads.
- * except.h (expand_dw2_landing_pad_for_region): Declare.
- * tree-cfg.c (gimple_can_merge_blocks_p): Don't merge PRESERVE edges.
-
-2011-07-23 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/49816
- * arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure.
-
-2011-07-22 Jason Merrill <jason@redhat.com>
-
- * doc/invoke.texi (C++ Dialect Options): Document -Wno-narrowing.
-
-2011-07-22 Richard Henderson <rth@redhat.com>
-
- * bb-reorder.c (gate_handle_partition_blocks): Honor optimize.
-
-2011-07-22 Richard Henderson <rth@redhat.com>
-
- * jump.c (maybe_propagate_label_ref): Split out of...
- (mark_all_labels): ... here. Do not attempt label_ref
- propagation while in cfglayout mode.
-
-2011-07-22 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (struct macinfo_struct): Change code to unsigned char.
- (DEBUG_MACRO_SECTION, DEBUG_MACRO_SECTION_LABEL): Define.
- (dwarf_attr_name): Handle DW_AT_GNU_macros.
- (dwarf2out_define): If the vector is empty and
- lineno is 0, emit a dummy entry first.
- (dwarf2out_undef): Likewise. Remove redundant semicolon.
- (htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op,
- optimize_macinfo_range): New functions.
- (output_macinfo): Use them. If !dwarf_strict and .debug_str is
- mergeable, optimize longer strings using
- DW_MACRO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP,
- optimize longer sequences of define/undef ops from headers
- using DW_MACRO_GNU_transparent_include. For !dwarf_strict
- emit a section headers.
- (dwarf2out_init): For !dwarf_strict set debug_macinfo_section
- and macinfo_section_label to DEBUG_MACRO_SECTION
- resp. DEBUG_MACRO_SECTION_LABEL.
- (dwarf2out_finish): For !dwarf_strict emit DW_AT_GNU_macros
- instead of DW_AT_macro_info.
-
- PR other/32998
- * common.opt (grecord-gcc-switches, gno-record-gcc-switches): New
- options.
- * dwarf2out.c: Include opts.h.
- (dchar_p): New typedef. Define heap VEC for it.
- (producer_string): New variable.
- (gen_producer_string): New function.
- (gen_compile_unit_die): Use it.
- (dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer if needed.
- * Makefile.in (dwarf2out.o): Depend on $(OPTS_H).
- * doc/invoke.texi: Document -grecord-gcc-switches and
- -gno-record-gcc-switches, add a -grecord-gcc-switches reference
- to -frecord-gcc-switches description.
-
-2011-07-22 Jason Merrill <jason@redhat.com>
-
- PR c++/30112
- * c-decl.c (c_linkage_bindings): Define.
-
-2011-07-22 Eric Botcazou <ebotcazou@adacore.com>
-
- PR debug/49815
- * var-tracking.c (vt_finalize): Always free windowed_parm_regs.
-
-2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Disallow
- MS ABI in x32 mode.
- (ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi
- only for TARGET_LP64.
- (ix86_handle_abi_attribute): Check TARGET_LP64 instead of TARGET_64BIT.
-
-2011-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_strip_dollar): Rewrite to
- avoid warnings when GCC is built with a C++ compiler.
-
-2011-07-22 Martin Jambor <mjambor@suse.cz>
-
- PR lto/49796
- * cgraphunit.c (verify_edge_corresponds_to_fndecl): Return false
- if decl node is in another partition, call cgraph_get_node only once.
-
-2011-07-22 Uros Bizjak <ubizjak@gmail.com>
-
- * config.gcc (x86_64-*-linux*): Set
- default_gnu_indirect_function to yes.
-
-2011-07-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/45819
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
- preserve volatile and notrap flags.
-
-2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR bootstrap/49794
- * configure.ac: Test AM_ICONV with CXX.
- * configure: Regenerate.
- * config/sol2-c.c (solaris_format_types): Use EXPORTED_CONST.
-
-2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/49797
- * graphite-clast-to-gimple.c (CLOOG_LANGUAGE_C): Provide if missing.
- (set_cloog_options): Use it.
-
-2011-07-22 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49756
- * gcc.c (main): Call stack_limit_increase (64MB).
- * toplev.c (toplev_main): Likewise.
-
-2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
- instead of force_reg.
-
-2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_move): Convert to Pmode if
- needed and use force_reg after convert.
- (ix86_expand_call): Likewise.
- (ix86_expand_special_args_builtin): Likewise.
- (ix86_expand_builtin): Likewise.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47654
- PR middle-end/49649
- * graphite-clast-to-gimple.c (type_for_clast_term): Pass v1 and v2
- in parameter. Initialize v1 and v2 based on the values returned
- by clast_name_to_lb_ub.
- (type_for_clast_red): Pass v1 and v2 in parameter, and set their
- values.
- (type_for_clast_bin): Same.
- (type_for_clast_expr): Same.
- (type_for_clast_eq): Update calls to type_for_clast_expr.
- (type_for_clast_for): Same.
- (build_iv_mapping): Same.
- * graphite-ppl.h (value_min): New.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (type_for_interval): Generate signed
- types whenever possible.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (struct clast_name_index): Add lb
- and ub fields.
- (new_clast_name_index): Add lb and ub parameters.
- (free_clast_name_index): New.
- (clast_name_to_lb_ub): New.
- (save_clast_name_index): Add lb and ub parameters.
- (compute_bounds_for_param): New.
- (type_for_level): Removed.
- (type_for_clast_for): Removed level parameter. Do not call
- type_for_level.
- (graphite_create_new_loop): Store the lb and ub for the clast_name
- of the iterator of the loop that has been generated.
- (graphite_create_new_loop_guard): Remove parameter level.
- (create_params_index): Store the lb and ub of each parameter.
- (gloog): Use free_clast_name_index. Pass to create_params_index
- the current scop.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (max_signed_precision_type): Removed.
- (max_precision_type): Inline max_signed_precision_type.
- (type_for_clast_red): Use max_precision_type.
- (type_for_clast_bin): Same.
- (type_for_clast_for): Same.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (gcc_type_for_interval): Renamed
- type_for_interval.
- (gcc_type_for_value): Renamed type_for_value.
- (gcc_type_for_clast_term): Renamed type_for_clast_term.
- (gcc_type_for_clast_expr): Renamed type_for_clast_expr.
- (gcc_type_for_clast_red): Renamed type_for_clast_red.
- (gcc_type_for_clast_bin): Renamed type_for_clast_bin.
- (gcc_type_for_clast_eq): Renamed type_for_clast_eq.
- (graphite_translate_clast_equation): Update calls.
- (compute_type_for_level): Renamed type_for_level.
- (gcc_type_for_iv_of_clast_loop): Renamed type_for_clast_for.
- (build_iv_mapping): Update calls.
- (graphite_create_new_loop_guard): Same.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (clast_get_body_of_loop): Add fixme
- comment.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (struct ivs_params): New.
- (clast_name_to_gcc): Use ivs_params to pass around parameters.
- (clast_to_gcc_expression): Same.
- (clast_to_gcc_expression_red): Same.
- (gcc_type_for_clast_term): Same.
- (gcc_type_for_clast_expr): Same.
- (gcc_type_for_clast_red): Same.
- (gcc_type_for_clast_bin): Same.
- (gcc_type_for_clast_eq): Same.
- (graphite_translate_clast_equation): Same.
- (graphite_create_guard_cond_expr): Same.
- (graphite_create_new_guard): Same.
- (graphite_create_new_loop): Same.
- (build_iv_mapping): Same.
- (translate_clast_user): Same.
- (graphite_create_new_loop_guard): Same.
- (translate_clast): Same.
- (translate_clast_for_loop): Same.
- (translate_clast_for): Same.
- (translate_clast_guard): Same.
- (initialize_cloog_names): Fix typo.
- (gloog): Initialize an ivs_params struct, pass it to translate_clast.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (struct clast_name_index): Add level.
- (new_clast_name_index): Add level parameter.
- (clast_name_to_level): New.
- (save_clast_name_index): Add level parameter.
- (newivs_to_depth_to_newiv): Removed.
- (clast_name_to_gcc): Inlined newivs_to_depth_to_newiv.
- (graphite_create_new_loop): Add level parameter. Pass level to
- save_clast_name_index.
- (translate_clast_for_loop): Pass level to graphite_create_new_loop.
- (create_params_index): Pass level to save_clast_name_index.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (graphite_create_new_loop): Do not
- recompute type, lb, and ub. Get them from...
- (graphite_create_new_loop_guard): ...here. Pass in parameter
- pointers to type, lb, and ub.
- (translate_clast_for_loop): Update function calls.
- (translate_clast_for): Same.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (compute_bounds_for_level): Call
- psct_dynamic_dim.
- (translate_clast_for_loop): Pass loop level to dependency_in_loop_p.
- (gcc_type_for_iv_of_clast_loop): Update use of level.
- (gloog): Start counting nesting level from 0.
- * graphite-clast-to-gimple.h (get_scattering_level): Removed.
- * graphite-dependences.c (graphite_carried_dependence_level_k): Call
- psct_dynamic_dim on level.
-
-2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_legitimize_address): Convert to
- Pmode if needed.
-
-2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (function_value_64): Always return pointers
- in Pmode.
- (ix86_promote_function_mode): New.
- (TARGET_PROMOTE_FUNCTION_MODE): Likewise.
-
-2011-07-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/49749
- * tree-ssa-reassoc.c (get_rank): Fix operand scan conditions and
- remove no-longer-used maxrank variable.
-
-2011-07-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (final_prescan_insn): Fix printing of rtx_costs.
-
-2011-07-21 Jason Merrill <jason@redhat.com>
-
- * system.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New.
- * recog.h (struct insn_data_d): Check it instead of
- HAVE_DESIGNATED_INITIALIZERS.
- * genoutput.c (output_insn_data): Likewise.
-
-2011-07-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49770
- * tree-ssa-sccvn.c (valueize_refs_1): Return whether we
- valueized any operand. Renamed from ...
- (valueize_refs): ... this. New wrapper around valueize_refs_1.
- (valueize_shared_reference_ops_from_ref): Return whether we
- valueized any operand.
- (vn_reference_lookup): Only when we valueized any operand
- use the valueized reference for alias analysis. Do not preserve
- the original reference tree in this case.
-
-2011-07-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Reject all but
- register operands and subregs of DImode hard registers in index.
-
-2011-07-21 Kai Tietz <ktietz@redhat.com>
-
- * fold-const.c (fold_unary_loc): Preserve indirect
- comparison cast to none-boolean type.
- * tree-ssa.c (useless_type_conversion_p): Preserve cast
- from/to boolean-type.
- * gimplify.c (gimple_boolify): Handle boolification of comparisons.
- (gimplify_expr): Boolifiy non aggregate-typed comparisons.
- * tree-cfg.c (verify_gimple_comparison): Check result
- type of comparison expression.
- * tree-ssa-forwprop.c (forward_propagate_comparison): Adjust test
- of condition result and disallow type-cast sinking into comparison.
-
-2011-07-21 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (combine_conversions): Return whether
- we have to run cfg-cleanup. Properly remove dead stmts.
- (ssa_forward_propagate_and_combine): Adjust.
-
-2011-07-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.
-
-2011-07-21 Kai Tietz <ktietz@redhat.com>
-
- * tree-ssa-propagate.c (substitute_and_fold): Use
- do_dce flag to deside, if BB's statements are scanned
- in last to first, or first to last order.
-
-2011-07-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0.
-
-2011-07-20 H.J. Lu <hongjiu.lu@intel.com>
- Uros Bizjak <ubizjak@gmail.com>
- Richard Henderson <rth@redhat.com>
-
- * config/i386/constraints.md (w): New.
-
- * config/i386/i386.c (ix86_output_addr_vec_elt): Check
- TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD.
-
- * config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64
- instead of TARGET_64BIT.
-
- * config/i386/i386.md (indirect_jump): Replace
- nonimmediate_operand with indirect_branch_operand.
- (*indirect_jump): Likewise. Replace constraint "m" with "w".
- (tablejump): Replace nonimmediate_operand with indirect_branch_operand.
- Convert operand 0 to Pmode for x32 if not PIC.
- (*tablejump_1): Replace nonimmediate_operand with
- indirect_branch_operand. Replace constraint "m" with "w".
- (*call_vzeroupper): Replace constraint "m" with "w".
- (*call): Likewise.
- (*call_rex64_ms_sysv_vzeroupper): Likewise.
- (*call_rex64_ms_sysv): Likewise.
- (*call_value_vzeroupper): Likewise.
- (*call_value): Likewise.
- (*call_value_rex64_ms_sysv_vzeroupper): Likewise.
- (*call_value_rex64_ms_sysv): Likewise.
- (set_got_offset_rex64): Check TARGET_LP64 instead of TARGET_64BIT.
-
- * config/i386/predicates.md (indirect_branch_operand): New.
- (call_insn_operand): Support x32.
-
-2011-07-20 Michael Eager <eager@eagercon.com>
-
- * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Default to 12.
-
-2011-07-20 Richard Henderson <rth@redhat.com>
-
- * cfg.c (dump_bb_info): Dump basic_block->flags.
- * cfgrtl.c (print_rtl_with_bb): Use dump_bb_info.
-
-2011-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_decompose_address): Allow only subregs
- of DImode hard registers in index.
- (ix86_legitimate_address_p): Allow subregs of base and index to span
- more than a word. Assert that subregs of base and index satisfy
- register_no_elim_operand predicates. Reject addresses where
- base and index have different modes.
-
-2011-07-20 Robert Millan <rmh@gnu.org>
-
- * config.gcc (mips*-*-linux*): Remove redundant tm_file entry.
-
-2011-07-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * bb-reorder.c (fix_crossing_conditional_branches): Fix crash by
- removing now-unnecessary assignment.
-
-2011-07-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting
- memory address space to the type's address space.
-
-2011-07-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/36467
- PR target/49687
- * config/avr/avr.md (mulhi3): Use register_or_s9_operand for operand2
- and expand appropriately if there is a CONST_INT in operand2.
- (usmulqihi3): New insn.
- (*sumulqihi3): New insn.
- (*osmulqihi3): New insn.
- (*oumulqihi3): New insn.
- (*muluqihi3.uconst): New insn_and_split.
- (*muluqihi3.sconst): New insn_and_split.
- (*mulsqihi3.sconst): New insn_and_split.
- (*mulsqihi3.uconst): New insn_and_split.
- (*mulsqihi3.oconst): New insn_and_split.
- (*ashifthi3.signx.const): New insn_and_split.
- (*ashifthi3.signx.const7): New insn_and_split.
- (*ashifthi3.zerox.const): New insn_and_split.
- (mulsqihi3): New insn.
- (muluqihi3): New insn.
- (muloqihi3): New insn.
- * config/avr/predicates.md (const_2_to_7_operand): New.
- (const_2_to_6_operand): New.
- (u8_operand): New.
- (s8_operand): New.
- (o8_operand): New.
- (s9_operand): New.
- (register_or_s9_operand): New.
-
-2011-07-20 Kai Tietz <ktietz@redhat.com>
-
- * builtins.c (fold_builtin_expect): See through the cast
- from truthvalue_type_node to long.
-
-2011-07-20 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (vsx_fma*): Use 4 argument fma instructions
- where we can use them from the standard and altivec instruction
- sets, instead of always using the 3 operand VSX forms that require
- the destination to overlap one of the inputs.
- (vsx_fms*): Ditto.
- (vsx_fnma*): Ditto.
- (vsx_fnms*): Ditto.
-
- * config/rs6000/rs6000.md (fmadf4_fpr): Set fp_type fp_maddsub_d
- for DF types.
- (fmsdf4_fpr): Ditto.
- (nfmadf4_fpr): Ditto.
- (nfmsdf4_fpr): Ditto.
-
-2011-07-20 Sandra Loosemore <sandra@codesourcery.com>
-
- * genrecog.c (make_insn_sequence): Correct position numbering
- when filtering out match_scratch and match_dup.
-
-2011-07-20 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
- against already removed statements.
- (forward_propagate_into_comparison): Remove dead defining stmts.
- (forward_propagate_into_gimple_cond): Likewise.
- (forward_propagate_into_cond): Simplify.
- (ssa_forward_propagate_and_combine): Handle changed cfg from
- forward_propagate_into_comparison.
- * tree-ssa-phiopt.c (conditional_replacement): Use proper
- locations for newly built statements.
-
-2011-07-20 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_rtx_costs): Set cost of SYMBOL_REF to 0.
-
-2011-07-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_class_max_nregs): Fix return type.
- * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
-
-2011-07-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/18908
- * tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
- * tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
- ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X.
-
-2011-07-20 Vladimir Makarov <vmakarov@redhat.com>
-
- * config/frv/frv.c (frv_register_move_cost): Define explicitly
- costs for subclasses of GR_REGS.
-
-2011-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49780
- * config/i386/predicates.md (no_seg_addres_operand): No more special.
- * config/i386/i386.c (ix86_decompose_address): Allow only subregs
- of DImode hard registers in base.
- (ix86_legitimate_address_p): Allow SImode and DImode base and index
- registers.
-
-2011-07-20 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.
- (unify_nodes): Deal with that.
- (solve_graph): Likewise.
-
-2011-07-20 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/arm/arm.c (arm_canonicalize_comparison): Add case to
- canonicalize left operand from ZERO_EXTEND to AND.
-
-2011-07-20 Anatoly Sokolov <aesok@post.ru>
-
- * target.def (class_max_nregs): New hook.
- * doc/tm.texi.in (TARGET_CLASS_MAX_NREGS): Document.
- * doc/tm.texi: Regenerate.
- * targhooks.c (default_class_max_nregs): New function.
- * targhooks.h (default_class_max_nregs): Declare.
- * ira.h (target_ira): Change type x_ira_reg_class_max_nregs and
- x_ira_reg_class_min_nregs arrays to unsigned char.
- * ira.c (setup_reg_class_nregs): Use TARGET_CLASS_MAX_NREGS target
- hook instead of CLASS_MAX_NREGS macro.
- * reginfo.c (restore_register_info): Ditto.
- * ira-conflicts.c (process_regs_for_copy): Use
- ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
- Change type rclass and aclass vars to reg_class_t.
- * ira-costs.c (record_reg_classes): Use ira_reg_class_max_nregs
- array instead of CLASS_MAX_NREGS macro. Change type rclass var to
- reg_class_t.
- * reload.c (combine_reloads, find_reloads, find_reloads_address_1):
- Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
-
- * config/i386/i386.h (CLASS_MAX_NREGS): Remove.
- * config/i386/i386.c (ix86_class_max_nregs): New function.
- (ix86_register_move_cost): Use TARGET_CLASS_MAX_NREGS target hook
- instead of CLASS_MAX_NREGS macro.
- (TARGET_CLASS_MAX_NREGS): Define.
- * config/avr/avr.h (CLASS_MAX_NREGS): Remove.
- * config/avr/avr-protos.h (class_max_nregs): Remove declaration.
- * config/avr/avr.c (class_max_nregs): Remove function.
- * config/alpha/alpha.h (CLASS_MAX_NREGS): Remove.
- * config/spu/spu.h (CLASS_MAX_NREGS): Remove.
- * config/mep/mep.h (CLASS_MAX_NREGS): Remove.
- * config/m32r/m32r.h (CLASS_MAX_NREGS): Remove.
- * config/microblaze/microblaze.h (CLASS_MAX_NREGS): Remove.
- * config/xtensa/xtensa.h (CLASS_MAX_NREGS): Remove.
- * config/stormy16/stormy16.h (CLASS_MAX_NREGS): Remove.
- * config/lm32/lm32.h (CLASS_MAX_NREGS): Remove.
- * config/moxie/moxie.h (CLASS_MAX_NREGS): Remove.
- * config/iq2000/iq2000.h (CLASS_MAX_NREGS): Remove.
- * config/mn10300/mn10300.h (CLASS_MAX_NREGS): Remove.
- * config/score/score.h (CLASS_MAX_NREGS): Remove.
- * config/vax/vax.h (CLASS_MAX_NREGS): Remove.
- * config/h8300/h8300.h (CLASS_MAX_NREGS): Remove.
- * config/v850/v850.h (CLASS_MAX_NREGS): Remove.
-
-2011-07-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * cif-code.def (OVERWRITABLE): Fix typo and move around.
- (TARGET_OPTIMIZATION_MISMATCH): Delete.
- (EH_PERSONALITY): Fix typo.
- (NON_CALL_EXCEPTIONS): Fix message.
- (OPTIMIZATION_MISMATCH): Adjust message.
- * ipa-inline.c (can_inline_edge_p): Use CIF_OPTIMIZATION_MISMATCH.
-
-2011-07-19 Ian Lance Taylor <iant@google.com>
-
- * doc/install.texi (Configuration): Document
- --enable-build-poststage1-with-cxx.
-
-2011-07-19 Robert Millan <rmh@gnu.org>
-
- * config/mips/gnu-user.h: Copy from linux.h. Update comments.
- (GLIBC_DYNAMIC_LINKER): Remove.
-
- * config/mips/gnu-user64.h: Copy from linux64.h. Update comments.
- (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
- (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
- (BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove.
- (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32,
- GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32.
-
- * config/mips/linux.h: Remove everything except for ...
- (GLIBC_DYNAMIC_LINKER): ... this macro.
-
- * config/mips/linux64.h: Remove everything except for ...
- (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
- (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
- (BIONIC_DYNAMIC_LINKERN32): ... these macros.
- (GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64)
- (GNU_USER_LINK_EMULATIONN32): New macros.
-
- * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* | mips-*-linux*):
- Use the new headers.
-
-2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.
- Add offset_known_p and size_known_p fields.
- (MEM_OFFSET_KNOWN_P): Update accordingly.
- (MEM_OFFSET, MEM_SIZE_KNOWN_P, MEM_SIZE): Likewise.
- * emit-rtl.c (mem_attrs_htab_hash): Update after mem_attrs changes.
- (mem_attrs_eq_p, set_mem_attributes_minus_bitpos, set_mem_offset)
- (clear_mem_offset, set_mem_size, clear_mem_size, change_address)
- (adjust_address_1, widen_memory_access, set_mem_attrs_for_spill)
- (init_emit_regs): Likewise.
-
-2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/rtl.texi (MEM_OFFSET_KNOWN_P): Document.
- (MEM_OFFSET): Change from returning an rtx to returning a
- HOST_WIDE_INT.
- * rtl.h (MEM_OFFSET_KNOWN_P): New macro.
- (MEM_OFFSET): Return a HOST_WIDE_INT rather than an rtx.
- * emit-rtl.h (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
- (clear_mem_offset): Declare.
- * alias.c (ao_ref_from_mem): Adjust uses of MEM_OFFSET, using
- MEM_OFFSET_KNOWN_P to test whether the offset is known, and
- MEM_OFFSET to get a HOST_WIDE_INT offset.
- (nonoverlapping_memrefs_p): Likewise. Adjust calls to...
- (adjust_offset_for_component_ref): Take a bool "known_p"
- parameter and a HOST_WIDE_INT "offset" parameter.
- * builtins.c (get_memory_rtx): As for ao_ref_from_mem.
- Adjust calls to set_mem_offset, passing a HOST_WIDE_INT rather
- than an rtx. Use clear_mem_offset to clear the offset.
- * cfgcleanup.c (merge_memattrs): Likewise.
- * dwarf2out.c (tls_mem_loc_descriptor): Likewise.
- * function.c (assign_parm_find_stack_rtl): Likewise.
- (assign_parm_setup_stack): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * reload.c (find_reloads_subreg_address): Likewise.
- * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
- * var-tracking.c (INT_MEM_OFFSET): Likewise.
- * emit-rtl.c (set_reg_attrs_from_value): Likewise.
- (get_mem_align_offset): Likewise.
- (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
- (clear_mem_offset): New function.
- * config/mips/mips.c (r10k_safe_mem_expr_p): Take a HOST_WIDE_INT
- offset rather than an rtx. Assume both the expressio and offset
- are available.
- (r10k_needs_protection_p_1): Update accordingly, checking the
- expression and offset availability here instead.
-
-2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * doc/rtl.texi (MEM_SIZE_KNOWN_P): Document.
- (MEM_SIZE): Change from returning an rtx to returning a HOST_WIDE_INT.
- * rtl.h (MEM_SIZE_KNOWN_P): New macro.
- (MEM_SIZE): Return a HOST_WIDE_INT rather than an rtx.
- * emit-rtl.h (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
- (clear_mem_size): Declare.
- * emit-rtl.c (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
- (clear_mem_size): New function.
- * alias.c (ao_ref_from_mem): Adjust uses of MEM_SIZE, using
- MEM_SIZE_KNOWN_P to test whether the size is known, and MEM_SIZE
- to get a HOST_WIDE_INT size. Adjust calls to set_mem_size,
- passing a HOST_WIDE_INT rather than an rtx. Use clear_mem_size
- to clear the size.
- (nonoverlapping_memrefs_p): Likewise.
- * builtins.c (get_memory_rtx, expand_builtin_memcmp): Likewise.
- (expand_builtin_init_trampoline): Likewise.
- * calls.c (compute_argument_addresses): Likewise.
- * cfgcleanup.c (merge_memattrs): Likewise.
- * dce.c (find_call_stack_args): Likewise.
- * dse.c (record_store, scan_insn): Likewise.
- * dwarf2out.c (dw_sra_loc_expr): Likewise.
- * expr.c (emit_block_move_hints): Likewise.
- * function.c (assign_parm_find_stack_rtl): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * reload.c (find_reloads_subreg_address): Likewise.
- * rtlanal.c (may_trap_p_1): Likewise.
- * var-tracking.c (track_expr_p): Likewise.
- * varasm.c (assemble_trampoline_template): Likewise.
- * config/arm/arm.c (arm_print_operand): Likewise.
- * config/h8300/h8300.c (h8sx_emit_movmd): Likewise.
- * config/i386/i386.c (expand_movmem_via_rep_mov): Likewise.
- (expand_setmem_via_rep_stos, expand_constant_movmem_prologue)
- (expand_constant_setmem_prologue): Likewise.
- * config/mips/mips.c (mips_get_unaligned_mem): Likewise.
- * config/rs6000/rs6000.c (expand_block_move): Likewise.
- (adjacent_mem_locations): Likewise.
- * config/s390/s390.c (s390_expand_setmem): Likewise.
- (s390_expand_insv): Likewise.
- * config/s390/s390.md (*extzv<mode>, *extv<mode>): Likewise.
- (*extendqi<mode>2_short_displ): Likewise.
- * config/sh/sh.c (expand_block_move): Likewise.
- * config/sh/sh.md (extv, extzv): Likewise.
-
-2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * emit-rtl.c (mem_attrs_eq_p): New function, split out from...
- (mem_attrs_htab_eq): ...here.
- (find_mem_attrs): Replace with...
- (set_mem_attrs): ...this function. Take a mem_attrs structure
- rather than individual fields.
- (set_mem_attributes_minus_bitpos, set_mem_alias_set)
- (set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
- (set_mem_size, change_address, adjust_address_1, offset_address)
- (widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
- Update accordingly.
-
-2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * rtl.h (MEM_ALIAS_SET, MEM_EXPR, MEM_OFFSET, MEM_ADDR_SPACE)
- (MEM_SIZE, MEM_ALIGN): Redefine in terms of get_mem_attrs.
- Provide a dummy definition of MEM_ADDR_SPACE for generators.
- (target_rtl): Add x_mode_mem_attrs.
- (mode_mem_attrs): New macro.
- (get_mem_attrs): New function.
- * emit-rtl.c (get_mem_attrs): Rename to...
- (find_mem_attrs): ...this.
- (set_mem_attributes_minus_bitpos, set_mem_alias_set)
- (set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
- (set_mem_size, change_address, adjust_address_1, offset_address)
- (widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
- Update accordingly.
- (init_emit_regs): Initialize mode_mem_attrs.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (lookup_logical_inverted_value): Remove
- TRUTH_*_EXPR handling.
- * tree-ssa-operands.c (get_expr_operands): Likewise.
- * tree-ssa-pre.c (fully_constant_expression): Likewise.
- * tree-ssa-uninit.c (use_pred_not_overlap_with_undef_path_pre):
- Likewise.
- (is_and_or_or): Likewise.
- (is_norm_cond_subset_of): Likewise.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * tree.h (fold_build_pointer_plus_loc): New helper function.
- (fold_build_pointer_plus_hwi_loc): Likewise.
- (fold_build_pointer_plus): Define.
- (fold_build_pointer_plus_hwi): Likewise.
- * builtins.c (std_gimplify_va_arg_expr): Use fold_build_pointer_plus.
- (fold_builtin_memory_op): Likewise.
- (fold_builtin_stpcpy): Likewise.
- (fold_builtin_memchr): Likewise.
- (fold_builtin_strstr): Likewise.
- (fold_builtin_strchr): Likewise.
- (fold_builtin_strrchr): Likewise.
- (fold_builtin_strpbrk): Likewise.
- (fold_builtin_strcat): Likewise.
- (expand_builtin_memory_chk): Likewise.
- (fold_builtin_memory_chk): Likewise.
- * c-typeck.c (build_unary_op): Likewise.
- * cgraphunit.c (thunk_adjust): Likewise.
- * fold-const.c (build_range_check): Likewise.
- (fold_binary_loc): Likewise.
- * omp-low.c (extract_omp_for_data): Likewise.
- (expand_omp_for_generic): Likewise.
- (expand_omp_for_static_nochunk): Likewise.
- (expand_omp_for_static_chunk): Likewise.
- * tree-affine.c (add_elt_to_tree): Likewise.
- * tree-data-ref.c (split_constant_offset_1): Likewise.
- * tree-loop-distribution.c (generate_memset_zero): Likewise.
- * tree-mudflap.c (mf_xform_derefs_1): Likewise.
- * tree-predcom.c (ref_at_iteration): Likewise.
- * tree-ssa-address.c (tree_mem_ref_addr): Likewise.
- (add_to_parts): Likewise.
- (create_mem_ref): Likewise.
- * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
- * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Likewise.
- (number_of_iterations_le): Likewise.
- * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
- * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
- (vect_create_addr_base_for_vector_ref): Likewise.
- * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Likewise.
- (vect_create_cond_for_alias_checks): Likewise.
- * tree-vrp.c (extract_range_from_assert): Likewise.
- * config/alpha/alpha.c (alpha_va_start): Likewise.
- (alpha_gimplify_va_arg_1): Likewise.
- * config/i386/i386.c (ix86_va_start): Likewise.
- (ix86_gimplify_va_arg): Likewise.
- * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
- * config/mep/mep.c (mep_expand_va_start): Likewise.
- (mep_gimplify_va_arg_expr): Likewise.
- * config/mips/mips.c (mips_va_start): Likewise.
- (mips_gimplify_va_arg_expr): Likewise.
- * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
- * config/rs6000/rs6000.c (rs6000_va_start): Likewise.
- (rs6000_gimplify_va_arg): Likewise.
- * config/s390/s390.c (s390_va_start): Likewise.
- (s390_gimplify_va_arg): Likewise.
- * config/sh/sh.c (sh_va_start): Likewise.
- (sh_gimplify_va_arg_expr): Likewise.
- * config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
- * config/spu/spu.c (spu_va_start): Likewise.
- (spu_gimplify_va_arg_expr): Likewise.
- * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
- Likewise.
- (xstormy16_gimplify_va_arg_expr): Likewise.
- * config/xtensa/xtensa.c (xtensa_va_start): Likewise.
- (xtensa_gimplify_va_arg_expr): Likewise.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * expr.c (expand_expr_real_2): Remove TRUTH_*_EXPR handling.
- (expand_expr_real_1): Remove TRUTH_*IF_EXPR and STATEMENT_LIST
- handling.
-
- PR middle-end/18908
- * expr.c (expand_expr_real_2): Do not unnecessarily truncate the
- result of BIT_*_EXPR to bitfield precision.
-
-2011-07-19 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/49742
- * tree-data-ref.c (get_references_in_stmt): Treat the lhs of a call
- as a potential write.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (tree-ssa-forwprop.o): Depend on gimple-pretty-print.h.
- * tree-ssa-forwprop.c: Include gimple-pretty-print.h.
- (forward_propagate_comparison): Simplify, remove obsolete code.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as
- BIT_XOR_EXPR, same as the RTL expander does.
- * tree-cfg.c (verify_expr): Disallow TRUTH_NOT_EXPR in the gimple IL.
- (verify_gimple_assign_unary): Likewise.
- * tree-ssa-propagate.c (valid_gimple_rhs_p): Disallow TRUTH_*_EXPR.
- * tree-ssa-forwprop.c (forward_propagate_comparison): Handle
- BIT_NOT_EXPR and BIT_XOR_EXPR instead of TRUTH_NOT_EXPR.
-
-2011-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49768
- * gimple-fold.c (fold_nonarray_ctor_reference): Return NULL
- if offset is smaller than bitoffset, but offset+size is bigger
- than bitoffset.
-
-2011-07-19 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49771
- * tree-vect-loop-manip.c (vect_vfa_segment_size): In case of
- zero step, set segment length to the size of the data-ref's type.
-
-2011-07-18 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h: Include alloc-pool.h, all sorts of updates to general
- comments.
- (ipcp_values_pool): Declare.
- (ipcp_sources_pool): Likewise.
- (ipcp_lattice): Changed to forward declaration.
- (ipa_param_descriptor): Removed fields ipcp_lattice, types and
- cannot_devirtualize.
- (ipa_node_params): New fields descriptors, lattices, known_vals,
- clone_for_all_contexts and node dead, removed fields params and
- count_scale.
- (ipa_set_param_count): Removed.
- (ipa_get_param_count): Made to work with descriptors vector.
- (ipa_get_param): Updated.
- (ipa_param_cannot_devirtualize_p): Removed.
- (ipa_param_types_vec_empty): Likewise.
- (ipa_set_param_used): New function.
- (ipa_get_param_used): Updated to use descriptors vector.
- (ipa_func_list): Removed.
- (ipa_init_func_list): Removed declaration.
- (ipa_push_func_to_list_1): Likewise.
- (ipa_pop_func_from_list): Likewise.
- (ipa_push_func_to_list): Removed.
- (ipa_lattice_from_jfunc): Remove declaration.
- (ipa_get_jf_pass_through_result): Declare.
- (ipa_get_jf_ancestor_result): Likewise.
- (ipa_value_from_jfunc): Likewise.
- (ipa_get_lattice): Update.
- (ipa_lat_is_single_const): New function.
- * ipa-prop.c (ipa_push_func_to_list_1): Removed.
- (ipa_init_func_list): Likewise.
- (ipa_pop_func_from_list): Likewise.
- (ipa_get_param_decl_index): Fix coding style.
- (count_formal_params): Removed.
- (count_formal_params_1): Renamed to count_formal_params.
- (ipa_populate_param_decls): Update to use descriptors vector.
- (ipa_initialize_node_params): Likewise.
- (visit_ref_for_mod_analysis): Use ipa_set_param_used.
- (ipa_analyze_params_uses): Likewise.
- (ipa_free_node_params_substructures): Likewise and free also lattices
- and known values.
- (duplicate_array): Removed.
- (ipa_edge_duplication_hook): Add the new edge to the list of edge
- clones.
- (ipa_node_duplication_hook): Update to use new lattices.
- (ipa_free_all_structures_after_ipa_cp): Free alloc pools.
- (ipa_free_all_structures_after_iinln): Likewise.
- (ipa_write_node_info): Update to use new lattices.
- (ipa_read_node_info): Likewise.
- (ipa_get_jf_pass_through_result): New function.
- (ipa_get_jf_ancestor_result): Likewise.
- (ipa_value_from_jfunc): Likewise.
- (ipa_cst_from_jfunc): Reimplemented using ipa_value_from_jfunc.
- * ipa-cp.c: Reimplemented.
- * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): Removed.
- (PARAM_IPA_CP_VALUE_LIST_SIZE): New parameter.
- (PARAM_IPA_CP_EVAL_THRESHOLD): Likewise.
- * Makefile.in (IPA_PROP_H): Added alloc-pool.h to dependencies.
- * doc/invoke.texi (devirt-type-list-size): Removed description.
- (ipa-cp-value-list-size): Added description.
-
-2011-07-18 Richard Henderson <rth@redhat.com>
-
- * bb-reorder.c (fix_crossing_conditional_branches): Emit all insns
- before calling create_basic_block.
-
-2011-07-18 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49675
- * tree.c (build_common_builtin_nodes): Register
- __builtin_return_address, __cyg_profile_func_enter
- and __cyg_profile_func_exit.
-
-2011-07-18 Richard Henderson <rth@redhat.com>
-
- * bb-reorder.c (emit_barrier_after_bb): Split out of ...
- (add_labels_and_missing_jumps): ... here.
- (fix_up_fall_thru_edges, fix_crossing_conditional_branches): Use it.
-
-2011-07-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47744
- * config/i386/i386.c (ix86_decompose_address): Allow only subregs
- of DImode hard registers in PLUS address chains.
-
-2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/49769
- * config.gcc (alpha*-*-linux*): Add crtfastmath.o to extra_parts.
- (alpha*-*-freebsd*): Likewise.
- (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
- i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
- i[34567]86-*-kopensolaris*-gnu): Add crtprec32.o, crtprec64.o,
- crtprec80.o, crtfastmath.o to extra_parts for all targets.
- (ia64*-*-elf*): Remove extra_parts.
- (sparc-*-linux*): Add crtfastmath.o to extra_parts.
- (sparc64-*-linux*): Likewise.
- (sparc64-*-freebsd*): Likewise.
-
- Revert:
- * config.gcc (ia64*-*-freebsd*): Remove crtfastmath.o from extra_parts.
- (ia64*-*-linux*): Likewise.
- (mips64*-*-linux*): Likewise.
- (mips*-*-linux*): Likewise.
-
-2011-07-18 David Edelsohn <dje.gcc@gmail.com>
-
- * doc/install.texi (Specific, *-ibm-aix*): AIX assembler bug.
-
-2011-07-18 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (gimplify_expr): Use input_location, not saved_location
- when building new trees.
-
-2011-07-18 Richard Guenther <rguenther@suse.de>
-
- * expr.c (expand_expr_real_2): Properly truncate the BIT_NOT_EXPR
- expansion result to bitfield precision if required.
-
-2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (i[3456x]86-*-netware*): Remove.
-
- * gthr-nks.h: Remove.
- * configure.ac (enable_threads): Remove nks.
- * configure: Regenerate.
-
- * config/i386/i386.c (ix86_encode_section_info): Remove netware
- reference.
- * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
- <netware.h> reference.
-
- * config/i386/netware-libgcc.c,
- gcc/config/i386/netware-libgcc.def,
- gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
- gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
- gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
- gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove
-
- * doc/extend.texi (Function Attributes,
- callee_pop_aggregate_return): Remove i?86-netware reference.
- * doc/install.texi (Configuration, --enable-threads): Remove nks.
-
-2011-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/49746
- Revert:
- 2010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
- patterns.
-
-2011-07-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/49732
- * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
-
-2011-07-16 Matthias Klose <doko@ubuntu.com>
-
- * doc/install.texi: Document --enable-static-libjava.
-
-2011-07-15 Richard Henderson <rth@redhat.com>
-
- * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
- Replace all three arguments by returning a VEC of edges.
- (add_labels_and_missing_jumps): Accept a VEC of edges, not bare
- pointers and counts.
- (fix_edges_for_rarely_executed_code): Merge ...
- (rest_of_handle_partition_blocks): ... into...
- (partition_hot_cold_basic_blocks): ... here. Return todo items if
- any work was performed.
- (pass_partition_blocks): Clear todo_flags_finish.
-
-2011-07-15 Paolo Carlini <paolo.carlini@oracle.com>
- Jakub Jelinek <jakub@redhat.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/49745
- * gthr-posix.h: Do not include <unistd.h> unconditionally; use
- _GTHREADS_USE_MUTEX_TIMEDLOCK instead of _POSIX_TIMEOUTS.
-
-2011-07-15 Jason Merrill <jason@redhat.com>
-
- PR testsuite/49741
- * Makefile.in ($(lang_checks_parallelized)): Allow --extra_opts
- rather than --tool_opts.
-
-2011-07-15 Basile Starynkevitch <basile@starynkevitch.net>
-
- * doc/plugins.texi (Building GCC plugins): gengtype needs its
- corresponding gtype.state.
-
-2011-07-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/49723
- * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
-
-2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/48220
- * doc/md.texi (Standard Names): Document window_save.
- * cfgexpand.c (expand_debug_parm_decl): New function extracted from
- expand_debug_expr and expand_debug_source_expr. If the target has
- a window_save instruction, adjust the ENTRY_VALUE_EXP.
- (expand_debug_expr) <SSA_NAME>: Call expand_debug_parm_decl if the
- SSA_NAME_VAR is a parameter.
- (expand_debug_source_expr) <PARM_DECL>: Call expand_debug_parm_decl.
- * var-tracking.c (parm_reg_t): New type and associated vector type.
- (windowed_parm_regs): New variable.
- (adjust_insn): If the target has a window_save instruction and this
- is the instruction, make its effect on parameter registers explicit.
- (next_non_note_insn_var_location): New function.
- (emit_notes_in_bb): Use it instead of NEXT_INSN throughout.
- (vt_add_function_parameter): If the target has a window_save insn,
- adjust the incoming RTL and record that in windowed_parm_regs.
- (vt_finalize): Free windowed_parm_regs.
-
-2011-07-15 Bernd Schmidt <bernds@codesourcery.com>
-
- * doc/invoke.texi (C6X Options): New section.
- * doc/md.texi (TI C6X family): New section.
- * config.gcc: Handle tic6x, in particular tic6x-*-elf and
- tic6x-*-uclinux.
- * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
- count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
- Provide C6X definitions.
- * config/c6x/c6x.md: New file.
- * config/c6x/constraints.md: New file.
- * config/c6x/predicates.md: New file.
- * config/c6x/c6x-sched.md.in: New file.
- * config/c6x/c6x-sched.md: New file.
- * config/c6x/gensched.sh: New file.
- * config/c6x/c6x-mult.md.in: New file.
- * config/c6x/genmult.sh: New file.
- * config/c6x/c6x-mult.md: New file.
- * config/c6x/sync.md: New file.
- * config/c6x/c6x-protos.h: New file.
- * config/c6x/sfp-machine.h: New file.
- * config/c6x/c6x.c: New file.
- * config/c6x/c6x.h: New file.
- * config/c6x/crti.s: New file.
- * config/c6x/crtn.s: New file.
- * config/c6x/lib1funcs.asm: New file.
- * config/c6x/c6x-modes.def: New file.
- * config/c6x/genopt.sh: New file.
- * config/c6x/c6x.opt: New file.
- * config/c6x/c6x-tables.opt: New file.
- * config/c6x/c6x-opts.h: New file.
- * config/c6x/c6x-isas.def: New file.
- * config/c6x/elf.h: New file.
- * config/c6x/elf-common.h: New file.
- * config/c6x/uclinux-elf.h: New file.
- * config/c6x/t-c6x: New file.
- * config/c6x/t-c6x-elf: New file.
- * config/c6x/t-c6x-uclinux: New file.
- * config/c6x/t-c6x-softfp: New file.
- * config/c6x/gtd.c: New file.
- * config/c6x/gtf.c: New file.
- * config/c6x/ltd.c: New file.
- * config/c6x/ltf.c: New file.
- * config/c6x/ged.c: New file.
- * config/c6x/gef.c: New file.
- * config/c6x/led.c: New file.
- * config/c6x/lef.c: New file.
- * config/c6x/eqd.c: New file.
- * config/c6x/eqf.c: New file.
- * config/c6x/libgcc-c6xeabi.ver: New file.
-
- Revert
- 2003-07-10 Eric Botcazou <ebotcazou@libertysurf.fr>
- PR rtl-optimization/11320
- * sched-int.h (struct deps) [reg_conditional_sets]: New field.
- (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
- * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
- current_sched_info->compute_jump_reg_dependencies. Record which
- registers are used and which registers are set by the jump.
- Clear deps->reg_conditional_sets after a barrier.
- Set deps->reg_conditional_sets if the insn is a COND_EXEC.
- Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
- (init_deps): Initialize reg_conditional_sets.
- (free_deps): Clear reg_conditional_sets.
- * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
- Mark registers live on entry of the fallthrough block and conditionally
- set as set by the jump. Mark registers live on entry of non-fallthrough
- blocks as used by the jump.
- * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
- Mark new parameters as unused.
-
-2011-07-14 Andrew Pinski <pinskia@gmail.com>
-
- PR tree-opt/49309
- * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
- Use fold_build2_loc instead of build2.
- Use the correct type for the new tree.
-
-2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/11320
- * config/ia64/ia64.md (load_symptr_low): Show a MEM.
- * config/ia64/ia64.c (ia64_expand_load_address): Generate it.
-
-2011-07-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49487
- * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
- of REG.
- (*rotw<mode>): Use const_int_operand for operand2.
- Use match_scatch for operand3.
- (*rotb<mode>): Ditto
- * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
-
-2011-07-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49651
- * tree-ssa-structalias.c (get_constraint_for_1): Properly
- handle dereferences with subvariables.
-
-2011-07-14 Richard Guenther <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Remove operand swapping.
- (fold_stmt_1): Do it here directly on gimple and as a first thing.
-
-2011-07-14 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Convert the !bool_var result,
- not bool_var when folding bool_var != 1 or bool_var == 0.
-
-2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (schedule_insns): Remove outdated comment.
- (schedule_block): When computing a known value for TODO_SPEC,
- just set it rather than using logical operations.
- (try_ready): Likewise. Use a local variable rather than a
- pointer to TODO_SPEC. Reorder an if statement to move the
- easy case to the then block.
- * sched-deps.c (dep_spec_p): New static function.
- (update_dep): Use it to decide whether to call
- change_spec_dep_to_hard.
- (get_back_and_forw_lists): Use it.
- (sd_resolve_dep): Likewise.
- (init_dep): If !USE_DEPS_LIST, use zero to initialize status.
- (haifa_note_mem_dep): Likewise.
- (check_dep): Likewise.
- (sd_add_dep): Also clear SPECULATIVE bits if not DO_SPECULATION.
- (sched_free_deps): Free in two passes.
-
-2011-07-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR middle-end/49736
- * expr.c (all_zeros_p): Undo bogus part of last change.
-
-2011-07-14 Matthias Klose <doko@ubuntu.com>
-
- * doc/extend.texi (optimize attribute): Fix typo.
-
-2011-07-14 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (gimplify_expr): Only do required conversions.
-
-2011-07-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/43746
- * config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove,
- i.e. use default_elf_select_section.
- (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove.
- (READONLY_DATA_SECTION_ASM_OP): Remove.
- (TARGET_ASM_NAMED_SECTION): Move from here...
- * config/avr/avr.c: ...to here.
- (avr_asm_init_sections): Set unnamed callback of readonly_data_section.
- (avr_asm_named_section): Make static.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/49739
- * config.gcc (extra_parts): Add crtprec32.o crtprec64.o crtprec80.o
- and crtfastmath.o for Linux/x86.
-
-2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c: Include "hashtab.h"
- (sched_no_dce): New global variable.
- (INSN_EXACT_TICK, INSN_TICK_ESTIMATE, FEEDS_BACKTRACK_INSN,
- SHADOW_P): New macros.
- (last_clock_var, cycle_issued_insns): Move declarations.
- (must_backtrack): New static variable.
- (struct delay_pair): New structure.
- (delay_htab, delay_htab_i2): New static variables.
- (delay_hash_i1, delay_hash_i2, delay_i1_eq, delay_i2_eq,
- record_delay_slot_pair, pair_delay, add_delay_dependencies): New
- functions.
- (dep_cost_1): If delay pairs exist, try to look up the insns and
- use the correct pair delay if we find them.
- (rank-for_schedule): Tweak priority for insns that must be scheduled
- soon to avoid backtracking.
- (queue_insn): Detect conditions which force backtracking.
- (ready_add): Likewise.
- (struct sched_block_state): Add member shadows_only_p.
- (struct haifa_save_data): New structure.
- (backtrack_queue): New static variable.
- (mark_backtrack_feeds, copy_insn_list, save_backtrack_point,
- unschedule_insns_until, restore_last_backtrack_point,
- free_topmost_backtrack_point, free_backtrack_queue,
- estimate_insn_tick, estimate_shadow_tick): New functions.
- (prune_ready_list): New arg shadows_only_p. All callers changed.
- If true, remove everything that isn't SHADOW_P. Look up delay
- pairs and estimate ticks to avoid scheduling the first insn too early.
- (verify_shadows): New function.
- (schedule_block): Add machinery to enable backtracking.
- (sched_init): Take sched_no_dce into account when setting
- DF_LR_RUN_DCE.
- (free_delay_pairs): New function.
- (init_h_i_d): Initialize INSN_EXACT_TICK.
- * Makefile.in (haifa-sched.o): Add $(HASHTAB_H).
- * sched-deps.c (sd_unresolve_dep): New function.
- * sched-int. (struct haifa_sched_info): New fields save_state
- and restore_state.
- (struct _haifa_insn_data): New fields exact_tick, tick_estimate,
- feeds_backtrack_insn and shadow_p.
- (DO_BACKTRACKING): New value in enum SCHED_FLAGS.
- (sched_no_dce): Declare variable.
- (record_delay_slot_pair, free_delay_pairs, add_delay_dependencies,
- sd_unresolve_dep): Declare functions.
- * modulo-sched.c (sms_sched_info): Clear the two new fields.
- * sched-rgn.c (rgn_const_sched_info): Likewise.
- * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
- * sched-ebb.c (save_ebb_state, restore_ebb_state): New functions.
- (ebb_sched_info): Add them for the two new fields.
- (add_deps_for_risky_insns): Call add_delay_dependencies.
-
-2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (-mpointers-to-nested-functions):
- Rename -mr11.
- * config/rs6000/rs6000.c (rs6000_trampoline_init): Ditto.
- (rs6000_call_indirect_aix): Ditto.
- * config/rs6000/rs6000.md (call_indirect_aix<ptrsize>): Ditto.
- (call_indirect_aix<ptrsize>_internal): Ditto.
- (call_indirect_aix<ptrsize>_nor11): Ditto.
- (call_indirect_aix<ptrsize>_internal2): Ditto.
- (call_value_indirect_aix<ptrsize>): Ditto.
- (call_value_indirect_aix<ptrsize>_internal): Ditto.
- (call_value_indirect_aix<ptrsize>_nor11): Ditto.
- (call_value_indirect_aix<ptrsize>_internal2): Ditto.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Ditto.
-
-2011-07-13 Jason Merrill <jason@redhat.com>
-
- * Makefile.in ($(lang_checks_parallelized)): Allow --tool_opts.
-
-2011-07-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_init_libfuncs): Install __clrsbdi2.
- * config/spu/spu.md ("clrsb<mode>2"): New expander.
-
-2011-07-13 Thomas Schwinge <thomas@schwinge.name>
-
- * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Use AS_ECHO instead of echo.
- * configure: Regenerate.
-
-2011-07-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
- (asm_file_start): Remove.
- (spu_machine_dependent_reorg): Call compute_bb_for_insn and
- free_bb_for_insn around code that modifies insns before
- restarting df analysis.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/49541
- * config/sol2.h (LIB_SPEC): Simplify. Move LIB_THREAD_LDFLAGS_SPEC ...
- (LINK_SPEC): ... here.
-
-2011-07-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (struct sched_block_state): New.
- (schedule_block): Move some local variables into such a structure.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/crtprec.c: Move to ../libgcc/config/i386.
- * config/i386/t-crtpc: Remove.
- * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
- * config.gcc (i[34567]86-*-darwin*): Remove i386/t-crtpc from
- tmake_file.
- (x86_64-*-darwin*): Likewise.
- (i[34567]86-*-linux*): Likewise.
- (x86_64-*-linux*): Likewise.
-
- * config/i386/sol2.h (ENDFILE_SPEC): Redefine.
- Handle -mpc32, -mpc64, -mpc80.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha.
- * config/alpha/t-crtfm: Remove.
- * config/i386/crtfastmath.c: Move to ../libgcc/config/i386.
- * config/i386/t-crtfm: Remove.
- * config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64.
- * config/mips/crtfastmath.c: Move to ../libgcc/config/mips.
- * config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc.
- * config/sparc/t-crtfm: Remove.
-
- * config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file.
- (alpha*-*-freebsd*): Likewise.
- (i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file.
- (x86_64-*-darwin*): Likewise.
- (i[34567]86-*-linux*): Likewise.
- (x86_64-*-linux*): Likewise.
- (x86_64-*-mingw*): Likewise.
- (ia64*-*-elf*): Remove crtfastmath.o from extra_parts.
- (ia64*-*-freebsd*): Likewise.
- (ia64*-*-linux*): Likewise.
- (mips64*-*-linux*): Likewise.
- (mips*-*-linux*): Likewise.
- (sparc-*-linux*): Remove sparc/t-crtfm from tmake_file.
- (sparc64-*-linux*): Likewise.
- (sparc64-*-freebsd*): Likewise.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/darwin-crt2.c: Move to ../libgcc/config/rs6000.
- * config/darwin-crt3.c: Move to ../libgcc/config.
- * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
- ($(T)crt3$(objext)): Remove.
- * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove.
- ($(T)crt2$(objext)): Remove.
- * config.gcc (powerpc-*-darwin*): Remove extra_parts.
- (powerpc64-*-darwin*): Likewise.
-
-2011-07-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (x86_output_mi_thunk): Support ptr_mode != Pmode.
-
- * config/i386/i386.md (*addsi_1_zext): Renamed to ...
- (addsi_1_zext): This.
-
-2011-07-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * doc/tm.texi.in (TARGET_ASM_MERGEABLE_RODATA_PREFIX): Add hook.
- * doc/tm.texi: Regenerate.
- * target.def (mergeable_rodata_prefix): New defhookpod.
- * varasm.c (mergeable_string_section, mergeable_constant_section):
- Use it. Allocate name with alloca.
-
-2011-07-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi (x86): Remove -mfused-madd and add -mfma.
-
-2011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten
- overlap check.
-
-2011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree.h (categorize_ctor_elements): Remove comment. Fix long line.
- (count_type_elements): Delete.
- (complete_ctor_at_level_p): Declare.
- * expr.c (flexible_array_member_p): New function, split out from...
- (count_type_elements): ...here. Make static. Replace allow_flexarr
- parameter with for_ctor_p. When for_ctor_p is true, return the
- number of elements that should appear in the top-level constructor,
- otherwise return an estimate of the number of scalars.
- (categorize_ctor_elements): Replace p_must_clear with p_complete.
- (categorize_ctor_elements_1): Likewise. Use complete_ctor_at_level_p.
- (complete_ctor_at_level_p): New function, borrowing union logic
- from old categorize_ctor_elements_1.
- (mostly_zeros_p): Return true if the constructor is not complete.
- (all_zeros_p): Update call to categorize_ctor_elements.
- * gimplify.c (gimplify_init_constructor): Update call to
- categorize_ctor_elements. Don't call count_type_elements.
- Unconditionally prevent clearing for variable-sized types,
- otherwise rely on categorize_ctor_elements to detect
- incomplete initializers.
-
-2011-07-13 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (simplify_conversion_using_ranges): Make sure
- the final type is integral.
-
-2011-07-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * sched-int.h (struct _dep): Add member cost.
- (DEP_COST, UNKNOWN_DEP_COST): New macros.
- * sched-deps.c (init_dep_1): Initialize DEP_COST.
- * haifa-sched.c (dep_cost_1): Use and set DEP_COST.
- (sched_change_pattern): Reset it for dependent insns.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
- ($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove.
- * config/i386/netware-crt0.c: Move to ../libgcc/config/i386.
- * config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove.
- (CRT0_S, MCRT0_S): Remove.
- ($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def):
- Remove.
- (s-crt0): Remove.
- * config.gcc (i[3456x]86-*-netware*): Remove extra_parts.
-
-2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * cse.c (insert_with_costs): Put semi-colon after empty loop body
- on the next line.
- * emit-rtl.c (push_to_sequence): Likewise.
- * haifa-sched.c (max_issue): Likewise.
- * matrix-reorg.c (add_allocation_site): Likewise.
- * postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
- * reload.c (alternative_allows_const_pool_ref): Likewise.
- * sched-rgn.c (rgn_add_block): Likewise.
- (rgn_fix_recovery_cfg): Likewise.
- * tree.c (attribute_list_contained): Likewise.
-
-2011-07-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Tidy processor feature bitmasks.
- (m_P4_NOCONA): New.
-
-2011-07-12 Andrew Pinski <pinskia@gmail.com>
-
- PR rtl-opt/49474
- * cprop.c (find_implicit_sets): Correct the condition.
-
-2011-07-12 Richard Henderson <rth@redhat.com>
-
- PR target/49713
- * dwarf2out.h (dwarf_frame_regnum): Remove.
- * dwarf2out.c (based_loc_descr): Revert last change. Initialize regno
- earlier from DWARF_FRAME_REGNUM. Never use dbx_reg_number.
- * dwarf2cfi.c (dw_stack_pointer_regnum, dw_frame_pointer_regnum): New.
- (execute_dwarf2_frame): Initialize them.
- (DW_STACK_POINTER_REGNUM, DW_FRAME_POINTER_REGNUM): Remove; replace
- users of the macros with the variables.
- (expand_builtin_dwarf_sp_column): Revert last change.
- (expand_builtin_init_dwarf_reg_sizes): Likewise. Compute the
- result of DWARF_FRAME_REGNUM into a local variable.
-
-2011-07-12 Richard Henderson <rth@redhat.com>
-
- PR target/49714
- * config/i386/i386.c (x86_output_mi_thunk): Use
- machopic_indirect_call_target instead of machopic_indirection_name
- directly.
-
-2011-07-12 Laurent GUERBY <laurent@guerby.net>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * prefix.h: Wrap up in extern "C" block.
-
-2011-07-12 Harsha Jagasia <harsha.jagasia@amd.com>
-
- AMD bdver2 Enablement
- * config.gcc (i[34567]86-*-linux* | ...): Add bdver2.
- (case ${target}): Add bdver2.
- * config/i386/driver-i386.c (host_detect_local_cpu): Let
- -march=native recognize bdver2 processors.
- * config/i386/i386-c.c (ix86_target_macros_internal): Add
- bdver2 def_and_undef
- * config/i386/i386.c (struct processor_costs bdver2_cost): New
- bdver2 cost table.
- (m_BDVER2): New definition.
- (m_AMD_MULTIPLE): Includes m_BDVER2.
- (initial_ix86_tune_features): Add bdver2 tuning.
- (processor_target_table): Add bdver2 entry.
- (static const char *const cpu_names): Add bdver2 entry.
- (ix86_option_override_internal): Add bdver2 instruction sets.
- (ix86_issue_rate): Add bdver2.
- (ix86_adjust_cost): Add bdver2.
- (has_dispatch): Add bdver2.
- * config/i386/i386.h (TARGET_BDVER2): New definition.
- (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver2.
- (enum processor_type): Add PROCESSOR_BDVER2.
- * config/i386/i386.md (define_attr "cpu"): Add bdver2.
- * config/i386/i386.opt ( mdispatch-scheduler): Add bdver2 to
- description.
-
-2011-07-12 Richard Henderson <rth@redhat.com>
-
- PR target/49714
- * config/i386/i386.c (x86_output_mi_thunk): Fix mode for
- destination address in memory on some paths.
-
-2011-07-12 Bernd Schmidt <bernds@codesourcery.com>
-
- * doc/tm.texi.in (FUNCTION_ARG_PADDING): Mention
- TARGET_FUNCTION_ARG_ROUND_BOUNDARY.
- (TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Add hook.
- * function.c (locate_and_pad_parm): Take it into account.
- * target.def (function_arg_round_boundary): New hook.
- * targhooks.c (default_function_arg_round_boundary): New function.
- * targhooks.h (default_function_arg_round_boundary): Declare.
- * doc/tm.texi: Regenerate.
-
-2011-07-12 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-copyrename.c (rename_ssa_copies): Zero statistics.
- Do not perform no-op changes.
-
-2011-07-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/predicates.md (neon_struct_operand): Make a normal
- predicate.
- (neon_struct_or_register_operand): New predicate.
- * config/arm/neon.md (movmisalign<mode>): Replace predicates
- with neon_struct_or_register_operand.
- (*movmisalign<mode>_neon_store, *movmisalign<mode>_neon_load): Use
- neon_struct_operand instead of memory_operand.
-
-2011-07-12 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.h (cgraph_get_node_or_alias): Removed declaration.
- * cgraph.c (cgraph_get_node_or_alias): Removed.
- (change_decl_assembler_name): Changed all calls to
- cgraph_get_node_or_alias to a call to cgraph_get_node.
- (cgraph_make_decl_local): Likewise.
- * lto-symtab.c (lto_symtab_resolve_symbols): Likewise.
- * varasm.c (default_binds_local_p_1): Likewise.
- (decl_binds_to_current_def_p): Likewise.
-
-2011-07-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49712
- * tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle TARGET_MEM_REF.
-
-2011-07-11 Bernd Schmidt <bernds@codesourcery.com>
-
- * genautomata.c (add_arc): Return void. All callers changed.
- (make_automaton): Remove dead code.
-
-2011-07-11 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (DW_STACK_POINTER_REGNUM): New.
- (DW_FRAME_POINTER_REGNUM): New.
- (expand_builtin_init_dwarf_reg_sizes): Use unsigned for rnum.
- (def_cfa_1): Do not convert reg to DWARF_FRAME_REGNUM here.
- (dwf_regno): New.
- (dwarf2out_flush_queued_reg_saves, dwarf2out_frame_debug_def_cfa,
- dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_register,
- dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_expr):
- Use it.
- * dwarf2out.c (based_loc_descr): Use dwarf_frame_regnum.
- * dwarf2out.h (dwarf_frame_regnum): New.
- (struct cfa_loc): Document the domain of the reg member.
-
-2011-07-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_trampoline_init): Switch arms of if expr.
- Use offset everywhere. Always assert that offset <= TRAMPOLINE_SIZE.
-
-2011-07-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49676
- * dwarf2out.c (int_shift_loc_descriptor): New function.
- (int_loc_descriptor): If shorter, emit i as
- (i >> shift), shift, DW_OP_shl for suitable shift value.
- Similarly, try to optimize large negative values using
- DW_OP_neg of a positive value if shorter.
- (size_of_int_shift_loc_descriptor): New function.
- (size_of_int_loc_descriptor): Adjust to match int_loc_descriptor
- changes.
- (mem_loc_descriptor) <case CONST_INT>: Emit zero-extended constants
- that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor +
- DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former
- is shorter.
- (resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large
- addend as added DW_OP_plus if it is shorter.
-
-2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define.
- (DTORS_SECTION_ASM_OP): Define.
-
-2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc.
- * config/t-dfprules: Move to ../libgcc/config.
- * config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
- i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
- i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file.
- (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
- Likewise.
- (i[34567]86-*-cygwin*): Likewise.
- (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
- (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
- * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove.
- (libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS,
- D64PBIT_FUNCS, D128PBIT_FUNCS.
-
-2011-07-11 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (simplify_conversion_using_ranges): Manually
- translate the source value-range through the conversion chain.
-
-2011-07-11 Richard Sandiford <richard.sandiford@linaro.org>
-
- * expr.c (expand_expr_real_1): Use expand_insn for movmisalign.
-
-2011-07-11 Arthur Loiret <aloiret@debian.org>
-
- * config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build
- a bi-arch compiler defaulting to 31-bit. In this case:
- (tmake_file): Add s390/t-linux64.
- * doc/install.texi: Add s390-linux to the list of targets supporting
- --enable-targets=all.
-
-2011-07-11 Arthur Loiret <aloiret@debian.org>
- Matthias Klose <doko@debian.org>
-
- * config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
- a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
- (tm_file): Add mips/linux64.h.
- (tmake_file): Add mips/t-linux64.
- (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
- * config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
- instead of hardcoded mabi=n32.
- * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
- tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
- convention.
-
-2011-07-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * passes.c (init_optimization_passes): Add invariant motion pass
- after induction variable optimization.
-
-2011-07-11 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/39633
- * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
- offsets 1..5 set cc0 in a usable way.
-
-2011-07-11 Romain Geissler <romain.geissler@gmail.com>
-
- * tree.h (call_expr_arg): Remove.
- (call_expr_argp): Likewise.
-
-2011-07-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (save_register_window_1): Rename to...
- (window_save): ...this.
- * config/sparc/sparc.c (emit_save_register_window): Rename to...
- (emit_window_save): ...this.
- (sparc_expand_prologue): Adjust to above renaming.
-
-2011-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_trampoline_init): Use movl instead
- of movabs for x32.
-
-2011-07-10 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.c (x86_output_mi_thunk): Generate rtl and
- run final, instead of emitting text directly.
-
-2011-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Turn on
- OPTION_MASK_ISA_64BIT for TARGET_X32. Only allow small and
- small PIC models for TARGET_X32.
-
-2011-07-10 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/49684
- * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Don't include
- $(LIBGCC2_CFLAGS).
-
- PR bootstrap/49680
- * config/cris/cris.c (cris_asm_output_case_end): Robustify against
- stray notes and debug insns by using prev_nonnote_nondebug_insn
- instead of PREV_INSN.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * defaults.h (DWARF2_ADDR_SIZE, DWARF_OFFSET_SIZE,
- DWARF_TYPE_SIGNATURE_SIZE): Move from ...
- * dwarf2out.c: ... here.
- (output_all_cfis): Remove.
- (dwarf2out_switch_text_section): Use output_cfis directly.
- (size_of_locs): Export.
- (output_loc_sequence, output_loc_sequence_raw): Export.
- (div_data_align, need_data_align_sf_opcode, dwarf_cfi_name, output_cfi,
- output_cfi_directive, dwarf2out_emit_cfi, output_cfis, output_cfa_loc,
- output_cfa_loc_raw): Move to ...
- * dwarfcfi.c: ... here.
- * dwarf2out.h: Update decls.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * defaults.h (DWARF_CIE_DATA_ALIGNMENT, DWARF_FRAME_RETURN_COLUMN,
- DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Move from ...
- * dwarf2cfi.c: ... here.
- (PTR_SIZE, DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE): Remove.
- (DWARF_ROUND, DWARF_CIE_ID): Remove.
- * dwarf2out.c (INCOMING_RETURN_ADDR_RTX): Remove.
- (DWARF2_FRAME_REG_OUT, DWARF_CIE_DATA_ALIGNMENT): Remove.
- (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): Remove.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (cie_return_save): New.
- (queue_reg_save): Use compare_reg_or_pc.
- (dwarf2out_flush_queued_reg_saves): Handle pc_rtx as return column.
- (dwarf2out_frame_debug_expr): Likewise.
- (dwarf2out_frame_debug_cfa_register): Record saved reg for pc too.
- (initial_return_save): Likewise.
- (execute_dwarf2_frame): Save and restore initial return save from
- the cie to the fde.
- * config/mips/mips.c (mips_frame_set): Remove special case for
- DWARF_FRAME_RETURN_COLUMN.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (lookup_cfa): Remove.
- (execute_dwarf2_frame): Assert queues are empty on entry.
- Setup initial cfa directly, not via lookup_cfa.
- Don't clear args_size state here.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (add_cfi_vec): New.
- (add_cfi): Rename from add_fde_cfi. Add the element to add_cfi_vec.
- (def_cfa_1, reg_save): Remove for_cie argument. Update all callers.
- (execute_dwarf2_frame): Set add_cfi_vec.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * defaults.h (ASM_COMMENT_START): Move here...
- * dwarf2asm.c: ... from here.
- * dwarf2out.c, final.c, vmsdbgout.c: Remove duplicates.
- * toplev.c: Remove ifndef tests of ASM_COMMENT_START.
- * varasm.c: Likewise.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- PR debug/49686
- * dwarf2cfi.c (dwarf2out_frame_debug): Don't set cfi_insn here...
- (create_cfi_notes): ... do it here instead.
-
-2011-07-09 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49676
- * dwarf2out.c (size_of_int_loc_descriptor): New function.
- (address_of_int_loc_descriptor): Use it.
- (scompare_loc_descriptor): Optimize EQ/NE comparison with constant.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * config/pdp11/pdp11.md (define_c_enum "unspecv"): New.
- (prologue, epilogue): New.
- (return, *rts): New.
- (blockage, setd, seti): New.
- * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
- (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
- (pdp11_saved_regno): New.
- (pdp11_expand_prologue): Rename from pdp11_output_function_prologue;
- generate rtl instead of text.
- (pdp11_expand_epilogue): Similarly from pdp11_output_function_epilogue.
- (pdp11_sp_frame_offset): Export. Use pdp11_saved_regno.
- * config/pdp11/pdp11-protos.h: Update.
-
-2011-07-09 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
- try to insert an rtl prologue here.
- (rs6000_output_function_epilogue): Similarly.
- * config/rs6000/rs6000.md (prologue): Emit a barrier to
- satisfy !TARGET_SCHED_PROLOG.
- (epilogue, sibcall_epilogue): Likewise.
-
-2011-07-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Move around.
- (FP_REG_P): Delete.
- (IN_OR_GLOBAL_P): Likewise.
-
-2011-07-08 Jason Merrill <jason@redhat.com>
-
- PR c++/45437
- * gimplify.c (goa_stabilize_expr): Handle RHS preevaluation in
- compound assignment.
-
- * cgraph.c (cgraph_add_to_same_comdat_group): New.
- * cgraph.h: Declare it.
- * ipa.c (function_and_variable_visibility): Make sure thunks
- have the right visibility.
-
-2011-07-08 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/49680
- * dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after
- any tablejump vector.
-
- PR bootstrap/49680
- * dwarf2cfi.c (create_cfi_notes): Flush queued saves at the
- end of the prologue.
-
-2011-07-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49621
- * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
- CONST0_RTX (dest_mode) instead of const0_rtx as second operand of NE.
- * config/rs6000/vector.md (vector_select_<mode>,
- vector_select_<mode>_uns): Change second operand of NE to
- CONST0_RTX (<MODE>mode) instead of const0_rtx.
- * config/rs6000/altivec.md (*altivec_vsel<mode>,
- *altivec_vsel<mode>_uns): Expect second operand of NE to be
- zero_constant of the corresponding vector mode.
- * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
- Likewise.
-
-2011-07-08 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (build_alias_set_powerset): Remove
- continue from loop, add one more assert.
-
-2011-07-08 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/46779
- * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
- In particular, allow 8-bit values in r28 and r29.
- (avr_hard_regno_scratch_ok): Disallow any register that might be
- part of the frame pointer.
- (avr_hard_regno_rename_ok): Same.
- (avr_legitimate_address_p): Don't allow SUBREGs.
-
-2011-07-08 Julian Brown <julian@codesourcery.com>
-
- * config/arm/neon.md (vec_shr_<mode>, vec_shl_<mode>): Disable in
- big-endian mode.
- (reduc_splus_<mode>, reduc_uplus_<mode>, reduc_smin_<mode>)
- (reduc_smax_<mode>, reduc_umin_<mode>, reduc_umax_<mode>)
- (neon_vec_unpack<US>_lo_<mode>, neon_vec_unpack<US>_hi_<mode>)
- (vec_unpack<US>_hi_<mode>, vec_unpack<US>_lo_<mode>)
- (neon_vec_<US>mult_lo_<mode>, vec_widen_<US>mult_lo_<mode>)
- (neon_vec_<US>mult_hi_<mode>, vec_widen_<US>mult_hi_<mode>)
- (vec_pack_trunc_<mode>, neon_vec_pack_trunc_<mode>): Disable for Q
- registers in big-endian mode.
-
-2011-07-08 Bernd Schmidt <bernds@codesourcery.com>
-
- * genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined
- in terms of another.
- (write_attr_value): Write a cast if necessary.
-
- * defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default.
- * doc/tm.texi.in (WORDS_BIG_ENDIAN): Mention REG_WORDS_BIG_ENDIAN.
- (REG_WORDS_BIG_ENDIAN): Document.
- * doc/tm.texi: Regenerate.
- * reload.c (operands_match_p): Take it into account.
- (reload_adjust_reg_for_mode): Likewise.
- * rtlanal.c (subreg_get_info): Likewise.
-
-2011-07-08 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index
- folding.
-
-2011-07-08 Kai Tietz <ktietz@redhat.com>
-
- * fold-const.c (fold_truth_andor): Factored out truth_andor
- label from fold_binary as function.
- (fold_binary_loc): Replace truth_andor lable
- by function fold_truth_andor.
-
-2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR middle-end/49519
- * calls.c (mem_overlaps_already_clobbered_arg_p): Additional
- check if address is stored in register. If so - give up.
- (check_sibcall_argument_overlap_1): Do not perform check of
- overlapping when it is call to address.
-
-2011-07-08 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (output_reload_insisf): Use 'REG_Z+1' instead
- of magic '31'.
-
-2011-07-08 Bernd Schmidt <bernds@codesourcery.com>
-
- * optabs.c (expand_binop): Use GET_MODE_PRECISION instead of
- GET_MODE_BITSIZE where appropriate.
- (widen_leading, expand_parity, expand_ctz, expand_ffs,
- expand_unop, expand_abs_nojump, expand_one_cmpl_abs_nojump,
- expand_float, expand_fix): Likewise.
- * expr.c (convert_move, convert_modes, expand_expr_real_2,
- expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
- * stor-layout.c (get_mode_bounds): Likewise.
- * cfgexpand.c (convert_debug_memory_address, expand_debug_expr):
- Likewise.
- * convert.c (convert_to_integer): Likewise.
- * expmed.c (expand_shift_1): Likewise.
-
- * rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against
- a bitsize.
-
- * optabs.c (expand_binop): Tighten conditions for doubleword
- expansions.
- (widen_bswap): Assert that mode bitsize and precision are the same.
- * stor-layout.c (get_best_mode): Skip modes that have lower
- precision than bitsize.
- * recog.c (simplify_while_replacing): Assert that bitsize and
- precision are the same.
-
-2011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (LIBGCOV): Remove.
- (libgcc.mvars): Remove LIBGCOV.
- * libgov.c: Move to ../libgcc.
-
-2011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc.
-
-2011-07-08 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (analyze_all_variable_accesses): Dump that a struture
- is too big for total scalarization.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef.
- (DBX_DEBUGGING_INFO): Undef.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (output_cfi_directive): Export. Add FILE parameter.
- Handle some opcodes specially for debugging.
- * print-rtl.c: Include dwarf2out.h
- (print_rtx): Handle NOTE_INSN_CFI.
- * Makefile.in (print-rtl.o): Update.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * tree-pass.h (pass_dwarf2_frame): Declare.
- * passes.c (init_optimization_passes): Add it.
- * dwarf2cfi.c (dwarf2out_frame_debug): Make static.
- (create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue;
- make static, do not call add_cfis_to_fde.
- (dwarf2out_frame_debug_init, dwarf2cfi_function_init,
- dwarf2out_frame_init): Merge into...
- (execute_dwarf2_frame): ... here. New function.
- (dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change
- saved_do_cfi_asm to a tri-state variable.
- (gate_dwarf2_frame, pass_dwarf2_frame): New.
- * dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde
- if it has yet to be done. Don't call dwarf2cfi_function_init.
- * dwarf2out.h, debug.h: Update decls.
- * final.c (final_start_function): Don't call
- dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue.
- * lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init.
- * toplev.c (lang_dependent_init): Likewise.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use,
- FDE_TABLE_INCREMENT): Replace with...
- (fde_vec): ... this, a new vector.
- (current_fde): Remove. Replace all users with cfun->fde.
- (output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec.
- (size_of_aranges, dwarf2out_finish): Likewise.
- (dwarf2out_alloc_current_fde): Break out from ...
- (dwarf2out_begin_prologue): ... here.
- (dwarf2out_frame_init): Remove.
- * dwarf2cfi.c: Update all users of current_fde.
- (dwarf2out_frame_init): Rename from dwarf2cfi_frame_init.
- * dwarf2out.h: Update decls.
- (dw_fde_node): Add fde_index member.
- * function.h (struct function): Add fde member.
-
-2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
- Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (add_cfi): Remove.
- (dwarf2out_cfi_label): Remove force argument. Only generate the
- label name.
- (add_fde_cfi): Simplify the different code paths.
- (add_cie_cfi): New.
- (old_cfa, old_cfa_remember): New.
- (def_cfa_1, reg_save): Remove label, add for_cie parameter.
- (last_reg_save_label): Remove.
- (dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save,
- dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
- dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
- dwarf2out_frame_debug_cfa_expression,
- dwarf2out_frame_debug_cfa_restore,
- dwarf2out_frame_debug_cfa_window_save,
- dwarf2out_frame_debug_expr): Remove label parameter.
- (cfi_label_required_p, add_cfis_to_fde): New.
- (dwarf2out_frame_debug_after_prologue): New.
- (dwarf2cfi_frame_init): Initialize old_cfa.
- (dwarf2out_frame_debug_restore_state): Likewise.
- * dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm.
- (dwarf2out_switch_text_section): Don't clear dw_fde_current_label here.
- * final.c (final_start_function): Call
- dwarf2out_frame_debug_after_prologue.
-
-2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
- Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c (cfi_insn): New.
- (dwarf2out_cfi_label): Don't emit cfi label here.
- (add_fde_cfi): Create a NOTE_INSN_CFI.
- (dwarf2out_frame_debug): Setup cfi_insn.
- (dwarf2out_frame_debug_init): Loop over insns creating CFI notes.
- (dwarf2out_cfi_begin_epilogue): Make static.
- (dwarf2out_frame_debug_restore_state): Make static.
- * dwarf2out.c (output_cfi_directive): Make static.
- (dwarf2out_emit_cfi): New.
- * dwarf2out.h: Update.
- * final.c (final): Remove CFI notes.
- (final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue,
- dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug.
- Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL.
- * insn-notes.def (NOTE_INSN_CFI): New.
- (NOTE_INSN_CFI_LABEL): New.
- * rtl.h (union rtunion_def): Add rt_cfi member.
- (XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * dwarf2cfi.c: New file.
- * Makefile.in (OBJS): Add it.
- (GTFILES): Add dwarf2cfi.c and dwarf2out.h.
- * gengtype.c (open_base_files): Include dwarf2out.h.
- * coretypes.h (enum var_init_status): Move from ...
- * rtl.h: ... here.
- * dwarf2out.c (saved_do_cfi_asm, dwarf2out_do_frame,
- dwarf2out_do_cfi_asm, cie_cfi_vec, dwarf2out_cfi_label_num,
- expand_builtin_dwarf_sp_column, init_return_column_size,
- expand_builtin_init_dwarf_reg_sizes, new_cfi, add_cfi,
- dwarf2out_cfi_label, emit_cfa_remember, any_cfis_emitted, add_fde_cfi,
- lookup_cfa_1, lookup_cfa, cfa, cfa_store, cfa_remember, args_size,
- old_args_size, cfa_equal_p, def_cfa_1, reg_save, initial_return_save,
- stack_adjust_offset, barrier_args_size, compute_barrier_args_size_1,
- compute_barrier_args_size, dwarf2out_args_size,
- dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust,
- queued_reg_saves, reg_saved_in_data, regs_saved_in_regs,
- compare_reg_or_pc, record_reg_saved_in_reg, last_reg_save_label,
- queue_reg_save, dwarf2out_flush_queued_reg_saves,
- clobbers_queued_reg_save, reg_saved_in, cfa_temp,
- dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
- dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
- dwarf2out_frame_debug_cfa_expression,
- dwarf2out_frame_debug_cfa_restore,
- dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr,
- dwarf2out_frame_debug, dwarf2out_frame_debug_init,
- dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state,
- get_cfa_from_loc_descr): Move to dwarf2cfi.c.
- (dw_cfi_ref, dw_fde_ref, dw_cfi_oprnd_ref, enum dw_cfi_oprnd_type,
- dw_cfi_oprnd, dw_cfi_node, cfi_vec, dw_cfa_location, dw_fde_node,
- dw_val_ref, dw_die_ref, const_dw_die_ref, dw_loc_descr_ref,
- dw_loc_list_ref, enum dw_val_class, dw_vec_const, dw_val_node,
- dw_loc_descr_node): Move to dwarf2out.h.
- (current_fde, output_cfi_directive, build_cfa_loc, get_address_mode,
- mem_loc_descriptor): Export.
- (build_cfa_aligned_loc): Export. Take CFA as a parameter.
- (dwarf2out_frame_init): Extract CIE generation code to
- dwarf2cfi_frame_init.
-
-2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/49660
- * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
- MASK_V8PLUS, remove commented out flag and reorder.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c/49644
- * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
- one non-complex and one complex argument, call c_save_expr on both
- operands.
-
-2011-07-07 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/49495
- * cgraphunit.c (verify_edge_corresponds_to_fndecl): New function.
- (verify_cgraph_node): Some functinality moved to
- verify_edge_corresponds_to_fndecl, call it.
-
-2011-07-07 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (*local*): Remove.
- * doc/install-old.texi: Don't mention local configurations.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49522
- * df-problems.c (dead_debug_reset): Remove dead_debug_uses
- referencing debug insns that have been reset.
- (dead_debug_insert_before): Don't assert reg is non-NULL,
- instead return immediately if it is NULL.
-
-2011-07-07 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa: Remove.
-
-2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
-
- * hw-doloop.c: New file.
- * hw-doloop.h: New file.
- * Makefile.in (OBJS): Add hw-doloop.o.
- (hw-doloop.o): New rule.
- ($(obj_out_file)): Add hw-doloop.h dependency.
- * config/bfin/bfin.c: Include "hw-doloop.h".
- (loop_info, DEF_VEC_P for loop_info, loop_info_d): Remove.
- (bfin_dump_loops, bfin_bb_in_loop, bfin_scan_loop): Remove.
- (hwloop_optimize): Renamed from bfin_optimize_loop. Argument
- type changed to hwloop_info. Return bool, true if the loop was
- successfully optimized. Remove code that was moved to
- hw-doloop.c, and adjust other parts.
- (hwloop_fail): New static function, containing parts that used
- to be in bfin_optimize_loop.
- (bfin_discover_loop, bfin_discover_loops, free_loops,
- bfin_reorder_loops): Remove.
- (hwloop_pattern_reg): New static function.
- (bfin_doloop_hooks): New variable.
- (bfin_reorg_loops): Remove most code, call reorg_loops.
- * config/bfin/bfin.md (doloop_end splitter): Also enable if
- loop counter is a memory_operand.
-
-2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc: Support --with-multilib-list for x86 Linux targets.
-
- * configure.ac: Mention x86-64 for --with-multilib-list.
- * configure: Regenerated.
-
- * config/i386/gnu-user64.h (SPEC_64): Support x32.
- (SPEC_32): Likewise.
- (ASM_SPEC): Likewise.
- (LINK_SPEC): Likewise.
- (TARGET_THREAD_SSP_OFFSET): Likewise.
- (TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise.
- (SPEC_X32): New.
-
- * config/i386/i386.h (TARGET_X32): New.
- (TARGET_LP64): New.
- (LONG_TYPE_SIZE): Likewise.
- (POINTER_SIZE): Likewise.
- (POINTERS_EXTEND_UNSIGNED): Likewise.
- (OPT_ARCH64): Support x32.
- (OPT_ARCH32): Likewise.
-
- * config/i386/i386.opt (mx32): New.
-
- * config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New.
- (GLIBC_DYNAMIC_LINKERX32): Likewise.
- * config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise.
- (GLIBC_DYNAMIC_LINKERX32): Likewise.
-
- * config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New.
- (BIONIC_DYNAMIC_LINKERX32): Likewise.
- (GNU_USER_DYNAMIC_LINKERX32): Likewise.
-
- * config/i386/t-linux64: Support TM_MULTILIB_CONFIG.
-
- * doc/install.texi: Document --with-multilib-list for Linux/x86-64.
-
- * doc/invoke.texi: Document -mx32.
-
-2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/invoke.texi (mwords-little-endian): Deprecate.
- * config/arm/arm.opt (mwords-little-endian): Likewise.
- * config/arm/arm.c (arm_option_override): Warn about the deprecation
- of -mwords-little-endian.
-
-2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
-
- * reload1.c (choose_reload_regs): Use mode sizes to check whether
- an old reload register completely defines the required value.
-
-2011-07-07 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_unary_loc): Do not strip sign-changes
- for NEGATE_EXPR.
-
-2011-07-07 Richard Guenther <rguenther@suse.de>
-
- * tree-vrp.c (simplify_conversion_using_ranges): New function.
- (simplify_stmt_using_ranges): Call it.
-
-2011-07-07 Kai Tietz <ktietz@redhat.com>
-
- * tree-ssa-forwprop.c (truth_valued_ssa_name): New function.
- (lookup_logical_inverted_value): Likewise.
- (simplify_bitwise_binary_1): Likewise.
- (simplify_bitwise_binary): Use simplify_bitwise_binary_1.
-
-2011-07-07 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c (%[Spec]): Don't document.
- (struct spec_list): Update comment.
- (do_spec_1): Don't handle %[Spec].
- * doc/invoke.texi (%[@var{name}]): Remove documentation of spec.
-
-2011-07-07 Joseph Myers <joseph@codesourcery.com>
-
- * common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't
- default based on TARGET_ASM_NAMED_SECTION.
- * common/common-target.def (have_named_sections): Default to true.
- * common/config/default-common.c: Don't include tm.h.
- * common/config/picochip/picochip-common.c
- (TARGET_HAVE_NAMED_SECTIONS): Don't define.
- * common/config/m32c/m32c-common.c: Remove.
- * config.gcc (m32c*-*-*): Set target_has_targetm_common=no.
- * config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
- * config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
- * config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
- * config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
- * config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
- * config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49640
- * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF operands
- and last COMPONENT_REF operand call gimplify_expr on it if non-NULL.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libmudflap/49550
- * gcc.c (MFWRAP_SPEC): Also wrap mmap64.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/39150
- * configure.ac (gcc_cv_as_hidden): Also accept
- x86_64-*-solaris2.1[0-9]*.
- (gcc_cv_as_cfi_directive): Likewise.
- (gcc_cv_as_comdat_group_group): Likewise.
- (set_have_as_tls): Likewise.
- * configure: Regenerate.
- * config.gcc (i[34567]86-*-solaris2*): Also handle
- x86_64-*-solaris2.1[0-9]*.
- * config.host (i[34567]86-*-solaris2*): Likewise.
- * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
- * config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
- [USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
- (TARGET_LD_EMULATION): Use it.
- * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
- (SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
- * config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
- (ASM_CPU64_DEFAULT_SPEC): Define.
- (ASM_CPU_SPEC): Use %(asm_cpu_default).
- (ASM_SPEC): Redefine.
- (DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
- * config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
- * doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*): Document.
- (Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
- configuration.
- (Specific, x86_64-*-solaris2.1[0-9]*): Document.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sol2.h (ASM_SPEC): Split into ...
- (ASM_SPEC_BASE, ASM_PIC_SPEC): ... this.
- * config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE.
- * config/i386/sol2-bi.h (ASM_CPU_SPEC): Redefine.
- (ASM_SPEC): Use ASM_SPEC_BASE.
- * config/sparc/sol2.h (ASM_SPEC): Redefine.
-
-2011-07-07 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*reload_insi): Change predicate #1 to
- const_int_operand. Ditto for peep2 producing this insn.
- Add argument to output_reload_insisf call.
- (*movsi,*movsf): Add argument to output_movsisf call.
- (*reload_insf): New insn and new peep2 to produce it.
- * config/avr/avr-protos.h (output_movsisf): Change prototype.
- (output_reload_insisf): Change prototype.
- * config/avr/avr.c (avr_asm_len): New function.
- (output_reload_insisf): Rewrite.
- (output_movsisf): Change prototype. output_reload_insisf for
- all CONST_INT and CONST_DOUBLE. ALlow moving 0.0f to memory.
- (adjust_insn_length): Add argument to output_movsisf and
- output_reload_insisf call.
-
-2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
-
- * emit-rtl.c (paradoxical_subreg_p): New function.
- * rtl.h (paradoxical_subreg_p): Declare.
- * combine.c (set_nonzero_bits_and_sign_copies, get_last_value,
- apply_distributive_law, simplify_comparison, simplify_set): Use it.
- * cse.c (record_jump_cond, cse_insn): Likewise.
- * expr.c (force_operand): Likewise.
- * rtlanal.c (num_sign_bit_copies1): Likewise.
- * reload1.c (eliminate_regs_1, strip_paradoxical_subreg): Likewise.
- * reload.c (push_secondary_reload, find_reloads_toplev): Likewise.
- (push_reload): Use precision to check for paradoxical subregs.
- * expmed.c (extract_bit_field_1): Likewise.
-
- * machmode.h (HWI_COMPUTABLE_MODE_P): New macro.
- * combine.c (set_nonzero_bits_and_sign_copies): Use it.
- (find_split-point, combine_simplify_rtx, simplify_if_then_else,
- simplify_set, simplify_logical, expand_compound_operation,
- make_extraction, force_to_mode, if_then_else_cond, extended_count,
- try_widen_shift_mode, simplify_shift_const_1, simplify_comparison,
- record_value_for_reg): Likewise.
- * expmed.c (expand_widening_mult, expand_mult_highpart): Likewise.
- * simplify-rtx. c (simplify_unary_operation_1,
- simplify_binary_operation_1, simplify_const_relational_operation):
- Likewise.
-
- * explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION
- instead of GET_MODE_BITSIZE where appropriate.
- * rtlanal.c (subreg_lsb_1, subreg_get_info, nonzero_bits1,
- num_sign_bit_copies1, canonicalize_condition, low_bitmask_len,
- init_num_sign_bit_copies_in_rep): Likewise.
- * cse.c (fold_rtx, cse_insn): Likewise.
- * loop-doloop.c (doloop_modify, doloop_optimize): Likewise.
- * simplify-rtx.c (simplify_unary_operation_1,
- simplify_const_unary_operation, simplify_binary_operation_1,
- simplify_const_binary_operation, simplify_ternary_operation,
- simplify_const_relational_operation, simplify_subreg): Likewise.
- * combine.c (try_combine, find_split_point, combine_simplify_rtx,
- simplify_if_then_else, simplify_set, expand_compound_operation,
- expand_field_assignment, make_extraction, if_then_else_cond,
- make_compound_operation, force_to_mode, make_field_assignment,
- reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine,
- extended_count, try_widen_shift_mode, simplify_shift_const_1,
- simplify_comparison, record_promoted_value, simplify_compare_const,
- record_dead_and_set_regs_1): Likewise.
-
- Revert:
- * simplify-rtx.c (simplify_const_binary_operation): Use the
- shift_truncation_mask hook instead of performing modulo by width.
- Compare against mode precision, not bitsize.
- * combine.c (combine_simplify_rtx, simplify_shift_const_1):
- Use shift_truncation_mask instead of constructing the value manually.
-
-2011-07-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): New
- declaration.
- (rs6000_save_toc_in_prologue_p): Ditto.
-
- * config/rs6000/rs6000.opt (-mr11): New switch to disable loading
- up the static chain (r11) during indirect function calls.
- (-msave-toc-indirect): New undocumented debug switch.
-
- * config/rs6000/rs6000.c (struct machine_function): Add
- save_toc_in_prologue field to note whether the prologue needs to
- save the TOC value in the reserved stack location.
- (rs6000_emit_prologue): Use TOC_REGNUM instead of 2. If we need
- to save the TOC in the prologue, do so.
- (rs6000_trampoline_init): Don't allow creating AIX style
- trampolines if -mno-r11 is in effect.
- (rs6000_call_indirect_aix): New function to create AIX style
- indirect calls, adding support for -mno-r11 to suppress loading
- the static chain, and saving the TOC in the prologue instead of
- the call body.
- (rs6000_save_toc_in_prologue_p): Return true if we are saving the
- TOC in the prologue.
-
- * config/rs6000/rs6000.md (STACK_POINTER_REGNUM): Add more fixed
- register numbers.
- (TOC_REGNUM): Ditto.
- (STATIC_CHAIN_REGNUM): Ditto.
- (ARG_POINTER_REGNUM): Ditto.
- (SFP_REGNO): Delete, unused.
- (TOC_SAVE_OFFSET_32BIT): Add constants for AIX TOC save and
- function descriptor offsets.
- (TOC_SAVE_OFFSET_64BIT): Ditto.
- (AIX_FUNC_DESC_TOC_32BIT): Ditto.
- (AIX_FUNC_DESC_TOC_64BIT): Ditto.
- (AIX_FUNC_DESC_SC_32BIT): Ditto.
- (AIX_FUNC_DESC_SC_64BIT): Ditto.
- (ptrload): New mode attribute for the appropriate load of a pointer.
- (call_indirect_aix32): Delete, rewrite AIX indirect function calls.
- (call_indirect_aix64): Ditto.
- (call_value_indirect_aix32): Ditto.
- (call_value_indirect_aix64): Ditto.
- (call_indirect_nonlocal_aix32_internal): Ditto.
- (call_indirect_nonlocal_aix32): Ditto.
- (call_indirect_nonlocal_aix64_internal): Ditto.
- (call_indirect_nonlocal_aix64): Ditto.
- (call): Rewrite AIX indirect function calls. Add support for
- eliminating the static chain, and for moving the save of the TOC
- to the function prologue.
- (call_value): Ditto.
- (call_indirect_aix<ptrsize>): Ditto.
- (call_indirect_aix<ptrsize>_internal): Ditto.
- (call_indirect_aix<ptrsize>_internal2): Ditto.
- (call_indirect_aix<ptrsize>_nor11): Ditto.
- (call_value_indirect_aix<ptrsize>): Ditto.
- (call_value_indirect_aix<ptrsize>_internal): Ditto.
- (call_value_indirect_aix<ptrsize>_internal2): Ditto.
- (call_value_indirect_aix<ptrsize>_nor11): Ditto.
- (call_nonlocal_aix32): Relocate in the rs6000.md file.
- (call_nonlocal_aix64): Ditto.
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mr11 and
- -mno-r11 documentation.
-
-2011-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR other/49658
- * doc/extend.texi (Compound Literals): Fix typo.
-
-2011-07-06 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
-
-2011-07-06 Basile Starynkevitch <basile@starynkevitch.net>
-
- * configure.ac (plugin-version.h): Generate
- GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
- GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
- macros.
-
- * configure: Regenerate.
-
- * doc/plugins.texi (Building GCC plugins): Mention
- GCCPLUGIN_VERSION ... constant macros in plugin-version.h.
-
-2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
-
- * machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
- * combine.c (make_extraction, gen_lowpart_or_truncate,
- apply_distributive_law, simplify_comparison,
- reg_truncated_to_mode, record_truncated_value): Use it.
- * cse.c (notreg_cost): Likewise.
- * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
- * expr.c (convert_move, convert_modes): Likewise.
- * optabs.c (expand_binop, expand_unop): Likewise.
- * postreload.c (move2add_last_label): Likewise.
- * regmove.c (optimize_reg_copy_3): Likewise.
- * rtlhooks.c (gen_lowpart_general): Likewise.
- * simplify-rtx.c (simplify_unary_operation_1): Likewise.
-
-2011-07-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.
-
-2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
-
- * cse.c (find_comparison_args): Use val_mode_signbit_set_p.
- * simplify-rtx.c (mode_signbit_p): Use GET_MODE_PRECISION.
- (val_mode_signbit_p, val_mode_signbit_set_p): New functions.
- (simplify_const_unary_operation, simplify_binary_operation_1,
- simplify_const_binary_operation, simplify_const_relational_operation):
- Use them. Use GET_MODE_MASK for masking and sign-extensions.
- * combine.c (set_nonzero_bits_and_sign_copies, simplify_set,
- combine_simplify_rtx, force_to_mode, reg_nonzero_bits_for_combine,
- simplify_shift_const_1, simplify_comparison): Likewise.
- * expr.c (convert_modes): Likewise.
- * rtlanal.c (nonzero_bits1, canonicalize_condition): Likewise.
- * expmed.c (emit_cstore, emit_store_flag_1, emit_store_flag): Likewise.
- * rtl.h (val_mode_signbit_p, val_mode_signbit_set_p): Declare.
-
- * simplify-rtx.c (simplify_ternary_operation): Remove dead code.
-
-2011-07-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49645
- * c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global
- register variables.
- * tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences
- in type qualification here ...
- (copy_reference_ops_from_ref): ... not here.
- (vn_reference_lookup_3): ... or here.
- (copy_reference_ops_from_ref): Record decl bases as MEM[&decl].
- (vn_reference_lookup): Do the lookup with a valueized ao-ref.
-
-2011-07-06 Ian Lance Taylor <iant@google.com>
-
- * doc/install.texi (Configuration): It's
- --enable-gnu-indirect-function, not --enable-indirect-function.
-
-2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
-
- * simplify-rtx.c (simplify_const_binary_operation): Use the
- shift_truncation_mask hook instead of performing modulo by width.
- Compare against mode precision, not bitsize.
- * combine.c (combine_simplify_rtx, simplify_shift_const_1):
- Use shift_truncation_mask instead of constructing the value manually.
-
-2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47383
- * tree-ssa-address.c (addr_for_mem_ref): Use pointer_mode for
- address computation and convert to address_mode if needed.
-
-2011-07-06 Richard Guenther <rguenther@suse.de>
-
- * tree.c (build_common_tree_nodes_2): Merge with
- build_common_tree_nodes.
- * tree.h (build_common_tree_nodes): Adjust prototype.
- (build_common_tree_nodes_2): Remove.
- * doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
- * doc/tm.texi (lang_hooks.builtin_function): Regenerate.
-
-2011-07-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49618
- * tree-eh.c (tree_could_trap_p) <case CALL_EXPR>: For DECL_WEAK
- t recurse on the decl.
- <case FUNCTION_DECL, case VAR_DECL>: For DECL_WEAK decls
- return true if expr isn't known to be defined in current
- TU or some other LTO partition.
-
-2011-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * params.def (PARAM_CASE_VALUES_THRESHOLD): New parameter to
- override CASE_VALUES_THRESHOLD.
-
- * stmt.c (toplevel): Include params.h.
- (case_values_threshold): Use the --param case-values-threshold
- value if non-zero, otherwise use machine dependent value.
- (expand_case): Use case_values_threshold.
-
- * Makefile.in (stmt.o): Add $(PARAMS_H) dependency.
-
- * doc/invoke.texi (--param case-values-threshold): Document.
-
-2011-07-05 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (dwarf2out_cfi_label): Make static.
- (dwarf2out_flush_queued_reg_saves): Make static.
- (dwarf2out_reg_save): Remove.
- (dwarf2out_return_save): Remove.
- (dwarf2out_return_reg): Remove.
- (dwarf2out_reg_save_reg): Remove.
- (dwarf2out_def_cfa): Merge into ...
- (dwarf2out_frame_init): ... here.
- * dwarf2out.h, tree.h: Remove declarations as necessary.
-
-2011-07-05 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): Remove.
- (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
- (ia64_expand_epilogue): Emit an empty FRAME_RELATED_EXPR for
- the alloc insn.
-
- * config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
- (IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
- (process_epilogue): Don't call dwarf2out_def_cfa.
-
- * config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
- indicate the return address save.
- (process_cfa_register): Likewise.
-
- * config/ia64/ia64.c (ia64_dwarf2out_def_steady_cfa): Remove.
- (process_cfa_adjust_cfa, ia64_asm_unwind_emit): Don't call it.
-
- * config/ia64/ia64.c (ia64_expand_prologue): Emit REG_CFA_REGISTER
- for ar.pfs save at alloc insn.
-
-2011-07-05 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.c (arm_dwarf_handle_frame_unspec): Remove.
- (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
- (arm_expand_prologue): Use REG_CFA_REGISTER to mark the
- stack pointer save.
- (arm_unwind_emit_set): Don't recognize UNSPEC_STACK_ALIGN.
- (arm_unwind_emit): Walk REG_NOTES for unwinding notes. Emit
- proper unwind info for a REG_CFA_REGISTER save of stack pointer.
- * config/arm/arm.md (UNSPEC_STACK_ALIGN): Remove.
-
-2011-07-05 Richard Henderson <rth@redhat.com>
-
- * config/vax/vax.md (define_c_enum unspecv): New. Define the
- VUNSPEC_* constants here instead of via define_constants.
- (VUNSPEC_PEM): New constant.
- (procedure_entry_mask): New insn.
- (prologue): New expander.
- * config/vax/vax.c (vax_add_reg_cfa_offset): New.
- (vax_expand_prologue): Rename from vax_output_function_prologue;
- emit rtl instead of text.
- (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
- (print_operand): Add 'x' prefix.
-
-2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47715
- * calls.c (precompute_register_parameters): Promote the function
- argument before checking non-legitimate constant.
-
-2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/47654
- * graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool.
- (lst_do_strip_mine_loop): Return an int.
- (lst_do_strip_mine): Same.
- (scop_do_strip_mine): Same.
- (scop_do_block): Loop blocking should strip-mine at least two loops.
- * graphite-interchange.c (lst_interchange_select_outer): Return an int.
- (scop_do_interchange): Same.
- * graphite-poly.h (scop_do_interchange): Update declaration.
- (scop_do_strip_mine): Same.
-
-2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (precision_for_value): Removed.
- (precision_for_interval): Removed.
- (gcc_type_for_interval): Use mpz_sizeinbase.
-
-2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-ppl.h (value_max): Correct computation of max.
-
-2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-clast-to-gimple.c (clast_name_to_index): Add missing space.
-
-2011-07-05 Richard Guenther <rguenther@suse.de>
-
- * c-decl.c (c_init_decl_processing): Defer building common
- tree nodes to c_common_nodes_and_builtins.
-
-2011-07-05 Razya Ladelsky <razya@il.ibm.com>
-
- PR tree-optimization/49580
- * tree-cfg.c (gimple_duplicate_sese_tail): Remove handling of
- the loop's number of iterations.
- * tree-parloops.c (transform_to_exit_first_loop): Add the
- handling of the loop's number of iterations before the call
- to gimple_duplicate_sese_tail.
- Insert the stmt caclculating the new rhs of the loop's
- condition stmt to the preheader instead of iters_bb.
-
-2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/47449
- * fwprop.c (forward_propagate_subreg): Don't propagate hard
- register nor zero/sign extended hard register.
-
-2011-07-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49518
- PR tree-optimization/49628
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
- irrelevant and invariant data-references.
- (vect_analyze_data_ref_access): For invariant loads clear the
- group association.
-
-2011-07-04 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49619
- * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
- pass VOIDmode as op0_mode to recursive call, and return temp even
- when different from tor, just if it is not IOR of the original
- PLUS arguments.
-
- PR rtl-optimization/49472
- * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
- negating MULT, negate the second operand instead of first.
- (simplify_binary_operation_1) <case MULT>: If one operand is
- a NEG and the other is MULT, don't attempt to optimize by negation
- of the MULT operand if it only moves the NEG operation around.
-
- PR debug/49602
- * tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
- get_current_def return value if it can't be trusted to be
- the current value of the variable in the current bb.
-
-2011-07-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49600
- * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
- general register to memory for !TARGET_INTER_UNIT_MOVES.
-
-2011-07-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/44643
- * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
- instead of TREE_READONLY.
-
-2011-07-04 Georg-Johann Lay <avr@gjlay.de>
-
- * doc/extend.texi (AVR Built-in Functions): Update documentation
- of __builtin_avr_fmul*.
- * config/avr/avr.c (avr_init_builtins): Don't depend on AVR_HAVE_MUL.
- * config/avr/avr-c.c (avr_cpu_cpp_builtins): Ditto.
- * config/avr/avr.md (fmul): Rename to fmul_insn.
- (fmuls): Rename to fmuls_insn.
- (fmulsu): Rename to fmulsu_insn.
- (fmul,fmuls,fmulsu): New expander.
- (*fmul.call,*fmuls.call,*fmulsu.call): New Insn.
- * config/avr/t-avr (LIB1ASMFUNCS): Add _fmul, _fmuls, _fmulsu.
- * config/avr/libgcc.S (__fmul): New function.
- (__fmuls): New function.
- (__fmulsu,__fmulsu_exit): New function.
-
-2011-07-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49615
- * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
- basic-block index check.
-
-2011-07-04 Georg-Johann Lay <avr@gjlay.de>
-
- * longlong.h (count_leading_zeros, count_trailing_zeros,
- COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
- resp. 64.
-
-2011-07-03 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49610
- * tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has
- a basic block.
-
-2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Nicolas Setton <setton@adacore.com>
-
- * tree.h (TYPE_ARTIFICIAL): New flag.
- * dwarf2out.c (modified_type_die): Add a DW_AT_artificial attribute to
- the DIE of the type if it is artificial.
- (gen_array_type_die): Likewise.
- (gen_enumeration_type_die): Likewise.
- (gen_struct_or_union_type_die): Likewise.
- * lto-streamer-in.c (unpack_ts_base_value_fields): Use TYPE_ARTIFICIAL.
- * lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
-
-2011-07-01 Jakub Jelinek <jakub@redhat.com>
-
- * tree-object-size.c (pass_through_call): Handle
- BUILT_IN_ASSUME_ALIGNED.
-
-2011-07-01 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (tree_non_mode_aligned_mem_p): Also ignore MEM_REFs.
-
-2011-07-01 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/48016
- * explow.c (update_nonlocal_goto_save_area): Use proper mode
- for stack save area.
- * function.c (expand_function_start): Likewise.
-
-2011-07-01 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/49596
- * cgraph.h (varpool_all_refs_explicit_p): Not analyzed nodes
- may have unknown refs.
-
-2011-07-01 Kai Tietz <ktietz@redhat.com>
-
- * tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
-
-2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
- * doc/install.texi (Specific, alpha*-dec-osf5.1): Document it.
- (Specific, mips-sgi-irix6): Likewise.
-
-2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libmudflap/49549
- * doc/sourcebuild.texi (Effective-Target Keywords): Document gld.
-
-2011-07-01 Jakub Jelinek <jakub@redhat.com>
-
- * tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
- [idx]= and [idx1 ... idx2]= before initializers if needed for
- array initializers.
-
-2011-07-01 Chen Liqin <liqin.gcc@gmail.com>
-
- * config.gcc (score-*-elf): Remove score7.o.
- * config/score/t-score-elf: Likewise.
- * config/score/score.c: Merge score7 to score.c and
- remove forwarding functions.
- * config/score/score7.c: Deleted.
- * config/score/score7.h: Deleted.
-
-2011-07-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49603
- * tree-vect-stmts.c (vectorizable_load): Remove unnecessary assert.
-
-2011-06-30 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (struct access): Rename total_scalarization to
- grp_total_scalarization
- (completely_scalarize_var): New function.
- (sort_and_splice_var_accesses): Set total_scalarization in the
- representative access.
- (analyze_access_subtree): Propagate total scalarization accross the
- tree, no holes in totally scalarized trees, simplify coverage
- computation.
- (analyze_all_variable_accesses): Call completely_scalarize_var instead
- of completely_scalarize_record.
-
-2011-06-30 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386.h (X86_TUNE_DEEP_BRANCH_PREDICTION): Remove.
- (TARGET_DEEP_BRANCH_PREDICTION): Remove.
- * config/i386/i386.c: Don't include dwarf2out.h.
- (initial_ix86_tune_features): Remove X86_TUNE_DEEP_BRANCH_PREDICTION.
- (output_set_got): Don't test TARGET_DEEP_BRANCH_PREDICTION, delete
- all code dead thereafter. Don't do dwarf2out_flush_queued_reg_saves.
- (ix86_expand_prologue): Set REG_CFA_FLUSH_QUEUE on set_got insn.
- (machopic_output_stub): Don't test TARGET_DEEP_BRANCH_PREDICTION.
-
-2011-06-30 Richard Henderson <rth@redhat.com>
-
- * reg-notes.def (REG_CFA_FLUSH_QUEUE): New.
- * dwarf2out.c (dwarf2out_frame_debug): Handle it.
- * final.c (final_scan_insn): Look for it, and invoke
- dwarf2out_frame_debug before the insn if found.
-
-2011-06-30 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (dwarf2out_frame_debug_cfa_offset): Allow PC_RTX
- as a source, and interpret that as DWARF_FRAME_RETURN_COLUMN.
-
-2011-06-30 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (struct reg_saved_in_data): Provide a typedef.
- Define a vector of this type.
- (regs_saved_in_regs): Use a VEC.
- (num_regs_saved_in_regs): Remove.
- (compare_reg_or_pc): New.
- (record_reg_saved_in_reg): Split out from...
- (dwarf2out_flush_queued_reg_saves): ... here.
- (clobbers_queued_reg_save): Update for VEC.
- (reg_saved_in): Likewise.
- (dwarf2out_frame_debug_init): Likewise.
- (dwarf2out_reg_save_reg): Use record_reg_saved_in_reg.
- (dwarf2out_frame_debug_cfa_register): Likewise.
-
-2011-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/49572
- * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
- type of the RHS instead of that of the LHS for the expression type.
-
-2011-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro
- unconditionally.
-
-2011-06-30 Richard Guenther <rguenther@suse.de>
-
- * opts.c (finish_options): Do not disable IPA-PTA during ltrans.
- * tree-ssa-structalias.c (create_variable_info_for): Do not
- add initial constraints for non-var-decls. Properly handle
- globals in other ltrans partitions.
- (intra_create_variable_infos): Manually create constraints for
- the fake no-alias parameter.
- (ipa_pta_execute): Dump the cgraph, handle ltrans partitions properly
- and assert there are no clones.
-
-2011-06-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46787
- * tree-data-ref.c (dr_address_invariant_p): Remove.
- (find_data_references_in_stmt): Invariant accesses are ok now.
- * tree-vect-stmts.c (vectorizable_load): Handle invariant loads.
- * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
- invariant loads.
-
-2011-06-30 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/49094
- * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
- (build_accesses_from_assign): Use it.
-
-2011-06-30 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
- handling of BUILT_IN_ASSUME_ALIGNED.
-
- PR debug/49364
- * dwarf2out.c (output_abbrev_section): Don't return early
- if abbrev_die_table_in_use is 1.
- (dwarf2out_finish): Instead don't call output_abbrev_section
- nor emit abbrev_section_label in that case.
-
-2011-06-30 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling
- for the V850E.
-
-2011-06-30 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
- handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.
-
-2011-06-30 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
- both pattern and original statements if necessary.
- (vect_transform_loop): Likewise.
- * tree-vect-patterns.c (vect_pattern_recog): Update documentation.
- * tree-vect-stmts.c (vect_mark_relevant): Add new argument.
- Mark the pattern statement only if the original statement doesn't
- have its own uses.
- (process_use): Call vect_mark_relevant with additional parameter.
- (vect_mark_stmts_to_be_vectorized): Likewise.
- (vect_get_vec_def_for_operand): Use vectorized pattern statement.
- (vect_analyze_stmt): Handle both pattern and original statements
- if necessary.
- (vect_transform_stmt): Don't store vectorized pattern statement
- in the original statement.
- (vect_is_simple_use_1): Use related pattern statement only if the
- original statement is irrelevant.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
-
-2011-06-29 Changpeng Fang <changpeng.fang@amd.com>
-
- * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
- option.
- * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
- entry.
- (TARGET_AVX128_OPTIMAL): New definition.
- * config/i386/i386.c (initial_ix86_tune_features): Initialize
- X86_TUNE_AVX128_OPTIMAL entry.
- (ix86_option_override_internal): Enable the generation
- of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
- (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
- (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
-
-2011-06-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/49539
- * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
- names by means of stmt_references_abnormal_ssa_name.
- (associate_plusminus): Call can_propagate_from before propagating
- from definition statements.
- (ssa_forward_propagate_and_combine): Remove superfluous newline.
-
-2011-06-29 Richard Guenther <rguenther@suse.de>
-
- * doc/invoke.texi: Document -scev dump modifier.
- * tree-pass.h (TDF_SCEV): New dump flag.
- * tree-dump.c (dump_option_value_in): Add scev.
- * tree-chrec.c: Replace all TDF_DETAILS checks with TDF_SCEV.
- * tree-scalar-evolution.c: Likewise.
-
-2011-06-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
- (cxa_type_match): Correct declaration.
- (__gnu_unwind_pr_common): Reconstruct additional indirection
- when __cxa_type_match returns succeeded_with_ptr_to_base.
-
-2011-06-29 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR rtl-optimization/49114
- * reload.c (struct replacement): Remove SUBREG_LOC member.
- (push_reload): Do not set it.
- (push_replacement): Likewise.
- (subst_reload): Remove dead code.
- (copy_replacements): Remove assertion.
- (copy_replacements_1): Do not handle SUBREG_LOC.
- (move_replacements): Likewise.
- (find_replacement): Remove dead code. Use reload_adjust_reg_for_mode.
- Detect subregs via recursive descent instead of via SUBREG_LOC.
-
-2011-06-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_encode_section_info): Dispatch to
- default_encode_section_info.
-
-2011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/49545
- * builtins.c (get_object_alignment_1): Update function comment.
- Do not use DECL_ALIGN for functions, but test
- TARGET_PTRMEMFUNC_VBIT_LOCATION instead.
- * fold-const.c (get_pointer_modulus_and_residue): Don't check
- for functions here.
- * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
-
-2011-06-29 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49567
- * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up for
- non-MODE_INT modes instead of asserting the mode has MODE_INT class.
-
-2011-06-29 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/34734
- * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
- about uninitialized data attributed 'progmem' from here...
- (avr_encode_section_info): ...to this new function.
- (TARGET_ENCODE_SECTION_INFO): New define.
- (avr_section_type_flags): For data in ".progmem.data", remove
- section flag SECTION_WRITE.
-
-2011-06-29 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3,
- _xmulhisi3_exit.
- * config/avr/libgcc.S (_xmulhisi3_exit): New Function.
- (__mulhisi3): Optimize if have MUL*. Use XJMP instead of rjmp.
- (__umulhisi3): Ditto.
- * config/avr/avr.md (mulhisi3): New insn expender.
- (umulhisi3): New insn expender.
- (*mulhisi3_call): New insn.
- (*umulhisi3_call): New insn.
-
-2011-06-28 Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in (LIBGCC2_CFLAGS): Remove -D__GCC_FLOAT_NOT_NEEDED.
-
-2011-06-28 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.c (thumb_pop): Rename from thumb_pushpop. Delete
- all code and arguments that handled pushes. Update all callers.
-
-2011-06-28 Richard Henderson <rth@redhat.com>
-
- * config/arm/arm.c (arm_output_function_prologue): Don't call
- thumb1_output_function_prologue.
- (arm_expand_prologue): Avoid dead store.
- (number_of_first_bit_set): Use ctz_hwi.
- (thumb1_emit_multi_reg_push): New.
- (thumb1_expand_prologue): Merge thumb1_output_function_prologue
- to emit the entire prologue as rtl.
- (thumb1_output_interwork): Split out from
- thumb1_output_function_prologue.
- (thumb1_output_function_prologue): Remove.
- (arm_attr_length_push_multi): Handle thumb1.
- * config/arm/arm.md (VUNSPEC_THUMB1_INTERWORK): New.
- (prologue_thumb1_interwork): New.
- (*push_multi): Allow thumb1; use push_mult_memory_operand.
- * config/arm/predicates.md (push_mult_memory_operand): New.
-
-2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sync.md (*stbar): Delete.
- (*membar_v8): New insn to implement UNSPEC_MEMBAR in SPARC-V8.
-
-2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
-
-2011-06-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
- (TARGET_64BIT_DEFAULT): Define.
- * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
- of tm_file.
- * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
-
-2011-06-28 Joseph Myers <joseph@codesourcery.com>
-
- * common.opt (in_lto_p): New Variable entry.
- * flags.h (in_lto_p): Move to common.opt.
- * gcc.c: Include params.h.
- (set_option_handlers): Also use common_handle_option and
- target_handle_option.
- (main): Call global_init_params, finish_params and init_options_struct.
- * opts.c (debug_type_names): Move from toplev.c.
- (print_filtered_help): Access quiet_flag through opts pointer.
- (common_handle_option): Return early in the driver for some options.
- Access in_lto_p, dwarf_version and warn_maybe_uninitialized through
- opts pointer.
- * toplev.c (in_lto_p): Move to common.opt.
- (debug_type_names): Move to opts.c.
- * Makefile.in (OBJS): Remove opts.o.
- (OBJS-libcommon-target): Add opts.o.
- (gcc.o): Update dependencies.
-
-2011-06-28 Kai Tietz <ktietz@redhat.com>
-
- * tree-ssa-forwprop.c (simplify_bitwise_binary): Improve type sinking.
-
-2011-06-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/vfp.md ("*divsf3_vfp"): Replace '+' constraint modifier
- with '=' constraint modifier.
- (*divdf3_vfp): Likewise.
- ("*mulsf3_vfp"): Likewise.
- ("*muldf3_vfp"): Likewise.
- ("*mulsf3negsf_vfp"): Likewise.
- ("*muldf3negdf_vfp"): Likewise.
-
-2011-06-28 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.h (LINK_SPEC): Do not use linker
- relaxation when performing an incremental link.
-
-2011-06-28 Kai Tietz <ktietz@redhat.com>
-
- * tree-ssa-math-opts.c (execute_optimize_bswap): Search
- within BB from last to first.
-
-2011-06-28 Joseph Myers <joseph@codesourcery.com>
-
- * genattr-common.c: New. Based on genattr.c.
- * Makefile.in (INSN_ATTR_H): Include insn-attr-common.h.
- (MOSTLYCLEANFILES): Add insn-attr-common.h.
- (opts.o): Update dependencies.
- (.PRECIOUS): Add insn-attr-common.h.
- (simple_rtl_generated_h): Add insn-attr-common.h.
- (build/genattr-common.o): New.
- (genprogrtl): Add attr-common.
- * genattr.c (main): Include insn-attr-common.h. Don't generate
- definitions of DELAY_SLOTS or INSN_SCHEDULING.
- * opts.c: Include insn-attr-common.h instead of rtl.h and insn-attr.h.
-
-2011-06-28 Georg-Johann Lay <avr@gjlay.de>
-
- * config.gcc (tm_file): Add elfos.h and avr/elf.h for
- avr-*-* and avr-*-rtems* targets.
-
- * config/avr/elf.h: New file.
- (ASM_OUTPUT_BEFORE_CASE_LABEL): Define.
- (TARGET_ASM_SELECT_SECTION): Define.
- (INIT_SECTION_ASM_OP): Undefine.
- (FINI_SECTION_ASM_OP): Undefine.
- (READONLY_DATA_SECTION_ASM_OP): Undefine.
- (PCC_BITFIELD_TYPE_MATTERS): Undefine.
- (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Undefine.
- * config/avr/avr.h:
- (PREFERRED_DEBUGGING_TYPE): Move to elf.h.
- (TARGET_ASM_NAMED_SECTION): Move to elf.h.
- (MAX_OFILE_ALIGNMENT): Move to elf.h.
- (STRING_LIMIT): Move to elf.h.
- (ASM_DECLARE_FUNCTION_NAME): Move to elf.h.
- (ASM_DECLARE_OBJECT_NAME): Remove.
- (ESCAPES): Remove.
- (ASM_OUTPUT_SKIP): Remove.
- (DWARF2_DEBUGGING_INFO): Remove.
- (OBJECT_FORMAT_ELF): Remove.
- (USER_LABEL_PREFIX): Remove.
- (ASM_OUTPUT_EXTERNAL): Remove.
- (ASM_OUTPUT_ASCII): Remove.
- (TYPE_ASM_OP): Remove.
- (SIZE_ASM_OP): Remove.
- (WEAK_ASM_OP): Remove.
- (STRING_ASM_OP): Remove.
- (SET_ASM_OP): Remove.
- (ASM_WEAKEN_LABEL): Remove.
- (TYPE_OPERAND_FMT): Remove.
- (ASM_DECLARE_FUNCTION_SIZE): Remove.
- (ASM_FINISH_DECLARE_OBJECT): Remove.
- (NO_DOLLAR_IN_LABEL): Remove.
- (ASM_GENERATE_INTERNAL_LABEL): Remove.
- (ASM_OUTPUT_CASE_LABEL): Remove.
- * config/avr/avr.c (avr_asm_output_aligned_decl_common): Use
- ASM_OUTPUT_ALIGNED_LOCAL, ASM_OUTPUT_ALIGNED_COMMON.
- (gas_output_ascii): Remove.
- (gas_output_limited_string): Remove.
- (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
- * config/avr/avr-protos.h
- (gas_output_ascii): Remove prototye.
- (gas_output_limited_string): Remove prototype.
-
-2011-06-27 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/48637
- * arm.c (arm_print_operand): Allow sym+offset. Don't abort on invalid
- asm operands.
-
-2011-06-27 Jan Hubicka <jh@suse.cz>
-
- * ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of
- node instead of references in node.
-
-2011-06-27 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (vms_patch_builtins): Provide dummy definition.
- * config/ia64/ia64.c (ia64_init_builtins): Call vms_patch_builtins
- inside ifdef.
-
-2011-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * c-decl.c (union lang_tree_node): Use it in chain_next expression.
-
- * builtin-types.def (BT_FN_PTR_CONST_PTR_SIZE_VAR): New.
- * builtins.def (BUILT_IN_ASSUME_ALIGNED): New builtin.
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
- find_func_clobbers): Handle BUILT_IN_ASSUME_ALIGNED.
- * tree-ssa-ccp.c (bit_value_assume_aligned): New function.
- (evaluate_stmt, execute_fold_all_builtins): Handle
- BUILT_IN_ASSUME_ALIGNED.
- * tree-ssa-dce.c (propagate_necessity): Likewise.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
- call_may_clobber_ref_p_1): Likewise.
- * builtins.c (is_simple_builtin, expand_builtin): Likewise.
- (expand_builtin_assume_aligned): New function.
- * doc/extend.texi (__builtin_assume_aligned): Document.
-
- PR debug/49544
- * cselib.c (promote_debug_loc): If cselib_preserve_constants
- and l has two DEBUG_INSN owned locs instead of just one, adjust
- the second location's setting_insn too.
-
-2011-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libmudflap/38738
- * config/sol2.h [!USE_GLD] (MFLIB_SPEC): Define.
-
-2011-06-27 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.md (clzsi2): Use XOR after BSCH to convert
- bit position of highest bit set into a count of the high zero bits.
-
-2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (TYPE_DECL_IS_STUB): Extend mechanism to all types.
-
-2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/48492
- * dwarf2out.c (dwarf2out_finish): Do not attach a DIE on the limbo list
- to a NULL parent.
-
-2011-06-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49394
- * passes.c (execute_one_pass): Restore current_pass after
- applying IPA transforms.
-
-2011-06-27 Kai Tietz <ktietz@redhat.com>
-
- * tree-ssa-math-opts.c (do_shift_rotate): Zero bits
- out of type precision after operation.
- (find_bswap): Take for limit value the integer auto-promotion
- into account.
-
-2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
- forward scan as well.
-
-2011-06-27 Tristan Gingold <gingold@adacore.com>
-
- PR target/44241
- * config/vms/vms-protos.h: New file.
- * config/vms/vms-crtlmap.map: New file.
- * config/vms/vms.c: New file.
- * config/vms/make-crtlmap.awk: New file.
- * config/vms/vms-crtl.h: File removed.
- * config/vms/vms-crtl-64.h: File removed.
- * config/vms/t-vms (vms-crtlmap.h, vms.o): New targets.
- * config/alpha/vms64.h: Do not include vms-crtl-64.h
- * config/alpha/alpha.c (alpha_init_builtins): Remove code to
- clear some builtins on VMS. Calls vms_patch_builtins.
- (avms_asm_output_external): Remove.
- * config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Remove.
- (struct crtl_name_spec): Remove
- (DO_CTRL_NAMES): Remove.
- * config/ia64/vms.h (struct crtl_name_spec): Remove
- (DO_CTRL_NAMES): Remove.
- * config/ia64/ia64.c (alpha_init_builtins): Remove code to
- clear some builtins on VMS. Calls vms_patch_builtins.
- (ia64_asm_output_external): Remove DO_CRTL_NAME.
- * config/ia64/vms64.h: Do not include vms-crtl-64.h
- * config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles, tm_p_file.
-
-2011-06-27 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/alpha.c (alpha_end_function): Always generate .end
- directive on VMS.
-
-2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_frame_pointer_required): Return true if
- the function receives nonlocal gotos.
-
-2011-06-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49536
- * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
- For non-scalar inner types use a scalar type according to
- the scalar inner mode.
-
-2011-06-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49365
- * params.def (min-insn-to-prefetch-ratio): Reduce from 10 to 9.
-
-2011-06-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49169
- * fold-const.c (get_pointer_modulus_and_residue): Don't rely on
- the alignment of function decls.
-
-2011-06-26 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/47997
- * config/darwin.c (darwin_mergeable_string_section): Place string
- constants in '.cstring' rather than '.const' when CF/NSStrings are
- active.
-
-2011-06-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (save_local_or_in_reg_p): Adjust comment.
- (emit_save_register_window): Likewise.
- (sparc_expand_prologue): Use SIZE_INT_RTX and SIZE_RTX variables.
- (sparc_flat_expand_prologue): Add comment. Always emit blockage.
- Swap back %o7/%i7 in register naming.
-
-2011-06-25 Iain Sandoe <iains@gcc.gnu.org>
-
- PR driver/49371
- * config/darwin.c (darwin_override_options): Improve warning when
- mdynamic-no-pic is given together with fPIC/fpic, also warn when it
- is given with fpie/fPIE.
- * config/darwin.h (PIE_SPEC): New, (LINK_SPEC): Use PIE_SPEC.
- * config/darwin9.h (PIE_SPEC): New.
-
-2011-06-25 Basile Starynkevitch <basile@starynkevitch.net>
-
- * timevar.c (timevar_print): Increase width for display of timevar
- name.
-
-2011-06-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/46400
- * c-decl.c (union lang_tree_node): Use TYPE_NEXT_VARIANT
- instead of TYPE_CHAIN for chain_next for types.
-
-2011-06-24 Richard Henderson <rth@redhat.com>
-
- * config/sparc/sparc.md (create_flat_frame_1<P:mode>): Remove.
- (create_flat_frame_2<P:mode>, create_flat_frame_3<P:mode>): Remove.
- * config/sparc/sparc.c (gen_create_flat_frame_1): Remove.
- (gen_create_flat_frame_2, gen_create_flat_frame_3): Remove.
- (sparc_flat_expand_prologue): Emit individual instructions
- instead of one of the above.
-
-2011-06-24 Easwaran Raman <eraman@google.com>
-
- PR rtl-optimization/49429
- PR target/49454
- * expr.c (emit_block_move_hints): Mark MEM_EXPR(x) and
- MEM_EXPR(y) addressable if emit_block_move_via_libcall is
- used to copy y into x.
- * calls.c (initialize_argument_information): Mark
- an argument addressable if it is passed by invisible reference.
- (emit_library_call_value_1): Mark MEM_EXPR (val) addressable
- if it is passed by reference.
-
-2011-06-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/49504
- * rtlanal.c (nonzero_bits1): Properly handle addition or
- subtraction of a pointer in Pmode if pointers extend unsigned.
- (num_sign_bit_copies1): Likewise.
-
-2011-06-24 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimizations/49516
- * tree-sra.c (sra_modify_assign): Choose the safe path for
- aggregate copies if we also did scalar replacements.
-
-2011-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/49335
- * config/arm/predicates.md (add_operator): New.
- * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage in Thumb2.
-
-2011-06-24 Andi Kleen <ak@linux.intel.com>
-
- * tree-sra.c (type_internals_preclude_sra_p): Add msg
- parameter. Split up ifs and report reason in *msg.
- (reject): Add.
- (find_var_candiate): Add msg variable.
- Split up ifs and report reason to reject.
- (find_param_candidates): Add msg variable.
- Pass msg to type_internals_preclude_sra_p.
-
-2011-06-23 Jeff Law <law@redhat.com>
-
- PR middle-end/48770
- * reload.h (reload): Change to return a bool.
- * ira.c (ira): If requested by reload, run a fast DCE pass after
- reload has completed. Fix comment typo.
- * reload1.c (need_dce): New file scoped static.
- (reload): Set reload_completed here. Return whether or not a DCE
- pass after reload is needed.
- (delete_dead_insn): Set need_dce as needed.
-
- PR middle-end/49465
- * tree-ssa-threadupate.c (fix_duplicate_block_edges): Fix condition
- to detect threading through joiner block. If there was already
- an edge to the new target, then do not change the PHI nodes.
-
-2011-06-23 Jakub Jelinek <jakub@redhat.com>
-
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
- get_pointer_alignment to see if base isn't sufficiently aligned.
-
-2011-06-23 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/49373
- * tree-pass.h (all_late_ipa_passes): Declare.
- * cgraphunit.c (init_lowered_empty_function): Fix properties.
- (cgraph_optimize): Execute late passes; remove unreachable funcions
- after materialization.
- * ipa-inline.c (gate_ipa_inline): Enable only when optimizing or
- LTOing.
- * passes.c (all_late_ipa_passes): Declare.
- (dump_passes, register_pass): Handle late ipa passes.
- (init_optimization_passes): Move ipa_pta to late passes; schedule
- fixup_cfg at beggining of all_passes.
- (apply_ipa_transforms): New function.
- (execute_one_pass): When doing simple ipa pass, apply all transforms.
-
-2011-06-23 Joseph Myers <joseph@codesourcery.com>
-
- * params.c: Include common/common-target.h. Don't include tm.h.
- (lang_independent_params): Move from toplev.c.
- (global_init_params): New.
- * params.h (global_init_params): Declare.
- * target.def (default_params): Move to common-target.def.
- * toplev.c (lang_independent_options): Remove.
- (lang_independent_params): Move to params.c.
- (general_init): Use global_init_params.
- * common/common-target.def (option_default_params): Move from
- target.def.
- * common/config/ia64/ia64-common.c: Include params.h.
- (ia64_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
- from ia64.c.
- * common/config/rs6000/rs6000-common.c: Include params.h.
- (rs6000_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
- from rs6000.c.
- * common/config/sh/sh-common.c: Include params.h.
- (sh_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
- from sh.c.
- * common/config/spu/spu-common.c: Include params.h.
- (spu_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
- from spu.c.
- * config/ia64/ia64.c (ia64_option_default_params,
- TARGET_OPTION_DEFAULT_PARAMS): Move to ia64-common.c.
- * config/rs6000/rs6000.c (rs6000_option_default_params,
- TARGET_OPTION_DEFAULT_PARAMS): Move to rs6000-common.c.
- * config/sh/sh.c (sh_option_default_params,
- TARGET_OPTION_DEFAULT_PARAMS): Move to sh-common.c.
- * config/spu/spu.c (spu_option_default_params,
- TARGET_OPTION_DEFAULT_PARAMS): Move to spu-common.c.
- * Makefile.in (OBJS): Remove params.o.
- (OBJS-libcommon-target): Add params.o.
- (params.o, $(common_out_object_file)): Update dependencies.
- * doc/tm.texi: Regenerate.
-
-2011-06-23 Alan Modra <amodra@gmail.com>
-
- PR bootstrap/49383
- * config/rs6000/rs6000.c (call_ABI_of_interest): Adjust cgraph
- invocation for 2011-06-09 changes.
-
-2011-06-22 Jakub Jelinek <jakub@redhat.com>
-
- PR libgomp/49490
- * omp-low.c (expand_omp_for_static_nochunk): Only
- use n ceil/ nthreads size for the first n % nthreads threads in the
- team instead of all threads except for the last few ones which
- get less work or none at all.
-
- PR debug/49496
- * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
- uses.
-
-2011-06-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49493
- * tree-ssa-structalias.c (get_constraint_for_ssa_var):
- Refer to the alias target of variables.
- (associate_varinfo_to_alias_1): Remove.
- (ipa_pta_execute): Do not associate aliases with anything.
- * cgraph.h (varpool_alias_aliased_node): Fix cut&paste errors.
- (cgraph_function_node): Likewise.
- (cgraph_function_or_thunk_node): Likewise.
- (varpool_variable_node): Likewise.
-
-2011-06-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.
- * config.gcc (arm*-*-linux*): Default to gnu tls.
- (arm*-*-*): Add --with-tls option.
- (all_defaults): Add 'tls'.
-
-2011-06-22 Richard Henderson <rth@redhat.com>
-
- * reg-notes.def (REG_CFA_WINDOW_SAVE): New.
- * dwarf2out.c (dwarf2out_frame_debug): Handle it.
- (dwarf2out_frame_debug_cfa_window_save): Rename from
- dwarf2out_window_save; make static.
- * tree.h (dwarf2out_window_save): Don't declare.
-
- * config/sparc/sparc.c (sparc_dwarf_handle_frame_unspec): Remove.
- (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
- (emit_save_register_window): Rename from gen_save_register_window;
- emit the insn and add REG_CFA_* notes.
- (sparc_expand_prologue): Update to match.
- * config/sparc/sparc.md (save_register_window_1): Simplify from
- save_register_window<P:mode>.
-
-2011-06-22 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49497
- * config/i386/i386.md (*lea_general_2): Always allow SImode.
- (*lea_general_2_zext): Likewise.
- (imul to lea peepholes): Use const359_operand and check
- TARGET_PARTIAL_REG_STALL.
-
- * config/i386/predicates.md (const359_operand): New.
-
-2011-06-22 Michael Matz <matz@suse.de>
-
- * cgraphunit.c (assemble_thunk): Use correct return type.
-
-2011-06-22 Dmitry Plotnikov <dplotnikov@ispras.ru>
- Dmitry Melnik <dm@ispras.ru>
-
- * config/arm/arm.c (neon_immediate_valid_for_shift): New function.
- (neon_output_shift_immediate): Ditto.
- * config/arm/arm-protos.h (neon_immediate_valid_for_shift): New
- prototype.
- (neon_output_shift_immediate): Ditto.
- * config/arm/neon.md (vashl<mode>3): Modified constraint.
- (vashr<mode>3_imm): New insn pattern.
- (vlshr<mode>3_imm): Ditto.
- (vashr<mode>3): Modified constraint.
- (vlshr<mode>3): Ditto.
- * config/arm/predicates.md (imm_for_neon_lshift_operand): New
- predicate.
- (imm_for_neon_rshift_operand): Ditto.
- (imm_lshift_or_reg_neon): Ditto.
- (imm_rshift_or_reg_neon): Ditto.
-
- * optabs.c (init_optabs): Init optab codes for vashl, vashr, vlshr.
-
-2011-06-22 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
- builtin calls even if likelyvalue is not CONSTANT.
- Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC.
- Return get_value_for_expr of first operand
- for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
- BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like
- their non-checking counterparts.
- (call_may_clobber_ref_p_1): Likewise.
- (stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK
- like their non-checking counterparts.
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
- Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK
- like their non-checking counterparts.
- (find_func_clobbers): Likewise.
- * tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK
- like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC.
-
- * dwarf2out.c (size_of_loc_descr, output_loc_operands,
- mark_base_types, hash_loc_operands, compare_loc_operands): Allow
- DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead
- of base type reference as argument.
- (resolve_addr_in_expr): Likewise. Fix keep computation.
- (convert_descriptor_to_signed): Renamed to...
- (convert_descriptor_to_mode): ... this. For wider types convert to
- unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to untyped.
- (typed_binop): New function.
- (scompare_loc_descriptor, ucompare_loc_descriptor,
- minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
- default to unsigned type instead of signed.
-
- PR debug/47858
- * gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND.
- (gimple_build_debug_source_bind_stat): New prototype.
- (gimple_build_debug_source_bind): Define.
- (gimple_debug_source_bind_p, gimple_debug_source_bind_get_var,
- gimple_debug_source_bind_get_value,
- gimple_debug_source_bind_get_value_ptr,
- gimple_debug_source_bind_set_var,
- gimple_debug_source_bind_set_value): New inlines.
- * gimple.c (gimple_build_debug_source_bind_stat): New function.
- * gimple-pretty-print.c (dump_gimple_debug): Handle
- GIMPLE_DEBUG_SOURCE_BIND.
- * sese.c (rename_uses): Handle gimple_debug_source_bind_p.
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
- * tree-parloops.c (eliminate_local_variables,
- separate_decls_in_region): Likewise.
- (separate_decls_in_region_debug): Renamed from
- separate_decls_in_region_debug_bind. Handle
- gimple_debug_source_bind_p.
- * tree.h (decl_debug_args_lookup, decl_debug_args_insert): New
- prototypes.
- (DECL_HAS_DEBUG_ARGS_P): Define.
- (struct tree_function_decl): Add has_debug_args_flag field.
- * tree.c (debug_args_for_decl): New variable.
- (decl_debug_args_lookup, decl_debug_args_insert): New functions.
- * tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts.
- (rewrite_debug_stmt_uses): New function.
- (rewrite_stmt): Use it to rewrite debug stmt uses.
- * rtl.def (DEBUG_PARAMETER_REF): New.
- * rtl.h (DEBUG_PARAMETER_REF_DECL): Define.
- * cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle
- DEBUG_PARAMETER_REF.
- * rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of
- SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind
- debug stmts in the first bb.
- * tree-inline.c (remap_ssa_name): If remapping default def
- of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in
- a source bind debug stmt.
- (remap_gimple_stmt): Handle gimple_debug_source_bind_p.
- (maybe_move_debug_stmts_to_successors): Likewise.
- (copy_debug_stmt): Likewise. Avoid shadowing a variable.
- (tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy
- debug args vector from old_decl to new_decl.
- * ipa-prop.c (ipa_modify_call_arguments): For optimized away
- or modified parameters, add debug bind stmts before call
- setting DEBUG_EXPR_DECL which is remembered in debug args vector.
- * cfgexpand.c (expand_call_stmt): Call expand_debug_expr
- on DECL_DEBUG_EXPRs from debug args vector.
- (expand_debug_source_expr): New function.
- (expand_debug_locations): Use it for source bind insns.
- (expand_gimple_basic_block): Handle gimple_debug_source_bind_p.
- * var-tracking.c (prepare_call_arguments): Add debug args
- to call_arguments if any.
- * dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr,
- output_loc_operands, output_loc_operands_raw, resolve_addr_in_expr,
- compare_loc_operands): Handle DW_OP_GNU_parameter_ref.
- (get_ref_die_offset, parameter_ref_descriptor): New functions.
- (mem_loc_descriptor): Handle DEBUG_PARAMETER_REF.
- (gen_subprogram_die): Handle parameters identified by
- DEBUG_PARAMETER_REF.
-
-2011-06-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * doc/invoke.texi (ARM Options): Document -mtls-dialect option.
- * doc/install.texi (Configuration): Document --with-tls.
- * config/arm/arm.c (enum tls_reloc): Add TLS_DESCSEQ.
- (arm_call_tls_get_addr): Clean up. Assert not tls descriptor.
- (arm_tls_descseq_addr): New.
- (legitimize_tls_address): Add tlsdesc support.
- (arm_cannot_copy_insn_p): Check for tlscall.
- (arm_emit_tls_decoration): Likewise.
- * config/arm/arm.h (TARGET_GNU2_TLS): New.
- (OPTION_DEFAULT_SPECS): Add with-tls support.
- * config/arm/arm.md (R1_REGNUM): Define.
- (tlscall): New.
- * config/arm/arm.opt (tls_type): New enumeration type and values.
- (mtls-dialect): New switch.
- * config/arm/arm-opts.h (enum tls_type): New.
-
-2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * attribs.c (register_attribute): Added assert to check that all
- attribute specs are registered with a name that is not empty and
- does not start with '_'.
- (decl_attributes): Avoid the lookup of the "naked" attribute spec
- if the function has no attributes.
- * tree.c (is_attribute_with_length_p): Removed.
- (is_attribute_p): Removed.
- (private_is_attribute_p): New.
- (private_lookup_attribute): New.
- (lookup_attribute): Removed.
- (lookup_ident_attribute): New.
- (remove_attribute): Require the first argument to be in the form
- 'text', not '__text__'. Updated asserts.
- (merge_attributes): Use lookup_ident_attributes instead of
- lookup_attribute.
- (merge_dllimport_decl_attributes): Use remove_attribute.
- (attribute_list_contained): Likewise.
- (attribute_list_equal): Immediately return 1 if the arguments are
- identical pointers.
- * tree.h (is_attribute_p): Made inline. Return a 'bool', not an
- 'int'. Require the first argument to be in the form 'text', not
- '__text__'. Require the second argument to be an identifier.
- (lookup_attribute): Made inline. Require the first argument to be
- in the form 'text', not '__text__'.
- (private_is_attribute_p, private_lookup_attribute): New.
- Updated comments.
-
-2011-06-21 Andrew MacLeod <amacleod@redhat.com>
-
- * builtins.c: Add sync_ or SYNC__ to builtin names.
- * sync-builtins.def: Add sync_ or SYNC__ to builtin names.
- * omp-low.c: Add sync_ or SYNC__ to builtin names.
-
-2011-06-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/33049
- * config/avr/avr.md (extzv): New expander.
- (*extzv): New insn.
- (*extzv.qihi1, *extzv.qihi2): New insn-and-split.
- * config/avr/constraints.md (C04): New constraint.
- * doc/md.texi (Machine Constraints): Document it.
-
-2011-06-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49489
- * builtins.c (expand_builtin_unop): Call expand_unop with 0 as
- unsignedp argument instead of 1 for clrsb_optab.
- (fold_builtin_bitop): Fix masking for width > HOST_BITS_PER_WIDE_INT
- and < 2 * HOST_BITS_PER_WIDE_INT. Optimize BUILT_IN_CLRSB*.
- (fold_builtin_1): Call fold_builtin_binop for BUILT_IN_CLRSB*.
- * optabs.c (widen_leading): Call widen_operand and expand_unop
- with 0 as unsignedp argument instead of 1 for clrsb_optab.
- (expand_unop): Subtract difference of mode sizes also for clrsb_optab.
-
-2011-06-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md (*jcindirect_jump): Fix build warning.
-
-2011-06-21 Bernd Schmidt <bernds@codesourcery.com>
-
- * gensupport.c (add_define_attr): New static function.
- (is_predicable): Allow multi-alternative lists for the "predicable"
- attribute.
- (modify_attr_enabled_ce, alter_attrs_for_insn): New static functions.
- (process_one_cond_exec): Call alter_attrs_for_insn.
- * doc/md.texi (Defining Attributes): Mention some standard names.
- (Conditional Execution): Update documentation for "predicable".
-
- * doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
- __builtin_clrsbll): Document.
- * doc/rtl.texi (clrsb): New entry.
- * optabs.c (widen_leading): Renamed from widen_clz. New argument
- UNOPTAB. All callers changed. Use UNOPTAB instead of clz_optab.
- (expand_unop): Handle clrsb_optab.
- (init_optabs): Initialize it.
- * optabs.h (enum optab_index): New entry OTI_clrsb.
- (clrsb_optab): Define.
- * genopinit.c (optabs): Add an entry for it.
- * builtins.c (expand_builtin): Handle clrsb builtin functions.
- * builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
- BUILT_IN_CLRSBLL): New.
- * rtl.def (CLRSB): New code.
- * dwarf2out.c (mem_loc_descriptor): Handle it.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise.
- Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
- and popcount.
- * libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
- * libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
- (__ctzDI2): Move declaration.
- * config/bfin/bfin.md (clrsbsi2): New expander.
- (signbitssi2): Use the CLRSB rtx.
- (clrsbhi2): Renamed from signbitshi2. Use the CLRSB rtx.
- * config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
-
-2011-06-21 Richard Guenther <rguenther@suse.de>
-
- * ipa-inline-transform.c (inline_transform): Fix previous change.
-
-2011-06-21 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49478
- * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
- with constant operand.
-
-2011-06-21 Richard Guenther <rguenther@suse.de>
-
- * ipa-inline-transform.c (inline_transform): Fix typo.
-
-2011-06-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49483
- * tree-vect-stmts.c (vectorizable_assignment): Also handle
- VIEW_CONVERT_EXPR conversions.
-
-2011-06-21 Joseph Myers <joseph@codesourcery.com>
-
- * config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
- * config/avr/avr-tables.opt: New file (generated).
- * config.gcc (avr-*-*): Use avr/avr-tables.opt.
- * config/avr/avr-devices.c (avr_mcu_types): Move contents to
- avr-mcus.def.
- * config/avr/avr.c (avr_help, TARGET_HELP): Remove.
- (avr_option_override): Don't process -mmcu= argument here. Set
- avr_current_device using avr_mcu_index.
- (avr_file_start): Use avr_current_device->name instead of avr_mcu_name.
- * config/avr/avr.opt (mmcu=): Use Enum.
- * config/avr/t-avr (avr-devices.o): Update dependencies.
- ($(srcdir)/config/avr/avr-tables.opt): New.
- * target.def (help): Remove.
- * doc/tm.texi.in (TARGET_HELP): Remove.
- * doc/tm.texi: Regenerate.
- * opts.c: Don't include target.h.
- (common_handle_option): Don't call targetm.help.
- * system.h (TARGET_HELP): Poison.
- * Makefile.in (opts.o): Update dependencies.
-
-2011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/usegld.h: New file.
- * config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
- (CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
- (LIB_SPEC): Likewise. Search /lib.
- (LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
- (RDYNAMIC_SPEC): Handle GNU ld.
- [HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC):
- Define.
- (SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
- (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
- [!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
- (STACK_CHECK_STATIC_BUILTIN): Define.
- * config/sol2.opt (compat-bsd): Remove.
- * config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
- * config/sol2-bi.h: New file.
- * config/sol2-gld.h: Remove.
- * config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
- (NO_DBX_BNSYM_ENSYM): Remove.
- (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
- (STACK_CHECK_STATIC_BUILTIN): Remove.
- Test USE_GLD instead of TARGET_GNU_LD.
- * config/i386/sol2-10.h: Rename to ...
- * config/i386/sol2-bi.h .. this.
- (SUBTARGET_EXTRA_SPECS): Redefine.
- (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
- (MULTILIB_DEFAULTS): Remove.
- (DEFAULT_ARCH32_P): Define.
- (LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
- (ARCH64_SUBDIR): Define.
- Test USE_GLD instead of TARGET_GNU_LD.
- (I386_EMULATION): Rename to ...
- (ARCH32_EMULATION): ... this.
- (X86_64_EMULATION): Rename to ...
- (ARCH64_EMULATION): ... this.
- (TARGET_LD_EMULATION): Remove.
- (LINK_ARCH_SPEC): Remove.
- * config/i386/sol2-gas.h: Remove.
- * config/i386/t-sol2-10: Rename to ...
- * config/i386/t-sol2-64: ... this.
- * config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
- (AS_SPARC64_FLAG): Define.
- (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
- (CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
- depending on TARGET_CPU_DEFAULT.
- (CPP_CPU_SPEC): Redefine.
- (ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
- (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
- (CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
- (ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
- ASM_ARCH_DEFAULT_SPEC): Redefine.
- (SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
- LINK_ARCH_DEFAULT_SPEC.
- [USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
- [USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
- (ARCH64_SUBDIR): Define.
- (LINK_ARCH64_SPEC): Redefine.
- (CC1_SPEC): Redefine.
- (OPTION_DEFAULT_SPECS): Redefine.
- (MULTILIB_DEFAULTS): Define.
- (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
- [USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
- [USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
- (NO_DBX_BNSYM_ENSYM): Remove.
- (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
- (ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
- (TARGET_ASM_NAMED_SECTION): Likewise.
- (STACK_CHECK_STATIC_BUILTIN): Remove.
- * config/sparc/sol2-bi.h: Remove.
- * config/sparc/sol2-gas-bi.h: Remove.
- * config/sparc/sol2-gas.h: Remove.
- * config/sparc/sol2-gld-bi.h: Remove.
- * config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
- common parts ...
- (*-*-solaris2*): ... here.
-
-2011-06-21 Christian Bruel <christian.bruel@st.com>
-
- PR other/43564
- * ipa-inline.c (can_inline_edge_p): Check
- !DECL_DISREGARD_INLINE_LIMITS.
-
-2011-06-21 Christian Bruel <christian.bruel@st.com>
-
- PR middle-end/49139
- * cgraphunit.c (process_function_and_variable_attributes): warn when
- always_inline functions that are not inline.
- * ipa-inline-transform.c (inline_transform): Always call
- optimize_inline.
- * tree-inline.c (tree_inlinable_function_p): Use error instead
- of sorry.
- (expand_call_inline): Likewise.
-
-2011-06-21 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (dg_target_exps): Set.
- (check_gcc_parallelize): Parallelize gcc testing into 10 jobs
- instead of 7, try to divide it more evenly.
-
-2011-06-20 Changpeng Fang <changpeng.fang@amd.com>
-
- PR target/49089
- * config/i386/i386.c (avx256_split_unaligned_load): New definition.
- (avx256_split_unaligned_store): New definition.
- (ix86_option_override_internal): Enable avx256 unaligned load/store
- splitting only when avx256_split_unaligned_load/store is set.
-
-2011-06-20 Bernd Schmidt <bernds@codesourcery.com>
-
- * regrename.c (scan_rtx_reg): Handle the case where we write to an
- open chain in a smaller mode without failing the entire block.
-
-2011-06-21 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
- CONST high part large-toc address.
- (rs6000_tls_referenced_p): Make static.
- * config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.
-
-2011-06-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/49385
- * config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
- one of the operands is a register.
-
-2011-06-20 Kai Tietz <ktietz@redhat.com>
-
- * fold-const.c (fold_binary_loc): Add missing folding for truth-not
- operations in combination with binary and.
-
-2011-06-20 Bernd Schmidt <bernds@codesourcery.com>
-
- * regrename.c (do_replace): Don't update notes.
-
-2011-06-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
- of toc-relative address in CONST.
- (rs6000_delegitimize_address): Recognize changed address.
- (rs6000_legitimize_reload_address): Likewise.
- (rs6000_emit_move): Don't force these constants to memory.
- * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
- toc-relative address in CONST.
- (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
- (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
-
-2011-06-18 H.J. Lu <hongjiu.lu@intel.com>
-
- * longlong.h (count_leading_zeros): Use long long builtin for x86-64.
- (count_trailing_zeros): Likewise.
-
-2011-06-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR other/49325
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
- .init_array can be used with .ctors on targets.
- * configure: Regenerated.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-sra.c (type_internals_preclude_sra_p) <ARRAY_TYPE>: Return true
- if the element type is volatile.
-
-2011-06-18 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_varpool_replace_node): Remove code handling
- extra name aliases.
- (lto_symtab_resolve_can_prevail_p): Likewise.
- (lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
- * cgraphbuild.c (record_reference): Remove extra body alias code.
- (mark_load): Likewise.
- (mark_store): Likewise.
- * cgraph.h (varpool_node): Remove extra_name filed;
- add alias_of and extraname_alias.
- (varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
- (varpool_alias_aliased_node): New inline function.
- (varpool_variable_node): New function.
- * cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
- * ipa-ref.c (ipa_record_reference): Allow aliases on variables.
- * lto-cgraph.c (lto_output_varpool_node): Update streaming.
- (input_varpool_node): Likewise.
- * lto-streamer-out.c (produce_symtab): Remove extra name aliases.
- (varpool_externally_visible_p): Remove extra body alias code.
- (function_and_variable_visibility): Likewise.
- * tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
- (ipa_pta_execute): Use it.
- * varpool.c (varpool_remove_node): Remove extra name alias code.
- (varpool_mark_needed_node): Likewise.
- (varpool_analyze_pending_decls): Analyze aliases.
- (assemble_aliases): New functoin.
- (varpool_assemble_decl): Use it.
- (varpool_create_variable_alias): New function.
- (varpool_extra_name_alias): Rewrite.
- (varpool_for_node_and_aliases): New function.
-
-2011-06-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49411
- * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
- last_arg_constant and last argument doesn't match its predicate,
- for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
- if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
- (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
- spelling of error message.
- * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
- vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
- const_0_to_255_operand instead of const_int_operand.
-
- Revert:
- 2011-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (blendbits): Remove mode attribute.
- (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
- instead of const_0_to_<blendbits>_operand for operand 3 predicate.
- Check integer value of operand 3 in insn constraint.
-
-2011-06-17 Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/48542
- * reload.c (find_equiv_reg): Stop looking when finding a
- setjmp-type call.
- * reload1.c (reload_as_needed): Invalidate all reload
- registers when crossing a setjmp-type call.
-
-2011-06-16 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (struct redirection_data): New field
- intermediate_edge.
- (THREAD_TARGET2): Define.
- (redirection_data_eq): Also check that the intermediate edge is equal.
- (lookup_redirection_data): Drop useless argument. Extract the
- outgoing_edge and intermediate edge from E. Callers updated.
- (copy_phi_args, update_destination_phis): New functions.
- (fix_duplicate_block_edges): Likewise.
- (create_edge_and_update_destination_phis): Duplicate all the edges
- hung off e->aux. Use copy_phi_args.
- (create_duplicates): Use fix_duplicate_block_edges.
- (fixup_template_block): Likewise.
- (redirect_edges): If necessary, redirect the joiner block's incoming
- edge to the duplicate of the joiner block.
- (thread_block): Don't muck up loops when threading through a joiner
- block.
- (thread_through_loop_header): Handle threading through a joiner block.
- (mark_threaded_blocks, register_jump_thread): Likewise.
- * tree-flow.h (register_jump_thread): Add new argument. Callers
- updated.
- * tree-ssa-threadedge.c (phi_args_equal_on_edges): New function.
- (thread_across_edge): Handle threading through a joiner block.
-
-2011-06-16 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/49343
- * tree-sra.c (build_ref_for_model): Use component_ref_field_offset to
- calculate offset, provide 2nd operand for the new COMPONENT_REF.
-
-2011-06-16 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin-protos.h (machopic_select_rtx_section): Move to
- inside RTX_CODE ifdef.
-
-2011-06-16 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith):
- Disallow NULL pointer for pointer arithmetic.
-
-2011-06-16 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/49398
- Revert.
- 2011-06-10 Wei Guozhi <carrot@google.com>
-
- PR target/45335
- * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
- stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
- (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
- related peephole2.
- (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
- related peephole2.
- * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
- (arm_legitimate_ldrd_p): New prototype.
- (arm_output_ldrd): New prototype.
- * config/arm/arm.c (arm_check_ldrd_operands): New function.
- (arm_legitimate_ldrd_p): New function.
- (arm_output_ldrd): New function.
-
-2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR middle-end/46500
- * doc/tm.texi.in: Update Copyright date.
- * doc/tm.texi: Regenerate.
- * targhooks.c (default_setup_incoming_varargs): Replace
- CUMULATIVE_ARGS* argument type with cumulative_args_t.
- (default_pretend_outgoing_varargs_named): Likewise.
- (hook_pass_by_reference_must_pass_in_stack): Likewise.
- (hook_callee_copies_named): Likewise.
- (default_function_arg_advance): Likewise.
- (default_function_arg): Likewise.
- (default_function_incoming_arg): Likewise.
- (hook_bool_CUMULATIVE_ARGS_false): Likewise.
- (hook_bool_CUMULATIVE_ARGS_true): Likewise.
- (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
- (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
- (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
- * targhooks.h (default_setup_incoming_varargs): Likewise.
- (default_pretend_outgoing_varargs_named): Likewise.
- (hook_pass_by_reference_must_pass_in_stack): Likewise.
- (hook_callee_copies_named): Likewise.
- (default_function_arg_advance): Likewise.
- (default_function_arg): Likewise.
- (default_function_incoming_arg): Likewise.
- (hook_bool_CUMULATIVE_ARGS_false): Likewise.
- (hook_bool_CUMULATIVE_ARGS_true): Likewise.
- (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
- (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
- (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
- * target.def (pass_by_reference): Likewise.
- (setup_incoming_varargs, strict_argument_naming): Likewise.
- (pretend_outgoing_varargs_named, callee_copies): Likewise.
- (arg_partial_bytes, function_arg_advance, function_arg): Likewise.
- (function_incoming_arg): Likewise.
- * target.h: Don't include "tm.h" .
- (cumulative_args_t): New typedef.
- [GCC_TM_H] (get_cumulative_args): New static inline function.
- [GCC_TM_H] (pack_cumulative_args): Likewise.
- * config/alpha/alpha.c (alpha_function_arg): Replace CUMULATIVE_ARGS*
- argument type with cumulative_args_t.
- (alpha_function_arg_advance, alpha_arg_partial_bytes): Likewise.
- (alpha_pass_by_reference, alpha_setup_incoming_varargs): Likewise.
- * config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
- (frv_arg_partial_bytes, frv_function_arg): Likewise.
- (frv_function_incoming_arg, frv_function_arg_advance): Likewise.
- (frv_function_arg_1): Likewise.
- * config/s390/s390.c (s390_pass_by_reference): Likewise.
- (s390_function_arg_advance, s390_function_arg): Likewise.
- * config/m32c/m32c.c (m32c_function_arg): Likewise.
- (m32c_pass_by_reference, m32c_function_arg_advance): Likewise.
- (m32c_strict_argument_naming): Likewise.
- * config/spu/spu.c (spu_pass_by_reference, spu_function_arg): Likewise.
- (spu_function_arg_advance): Likewise.
- (spu_setup_incoming_varargs): Likewise. Make static.
- * config/spu/spu-protos.h (spu_setup_incoming_varargs):
- Remove prototype.
- * config/sparc/sparc.c (sparc_strict_argument_naming): Replace
- CUMULATIVE_ARGS* argument type with cumulative_args_t.
- (sparc_pass_by_reference, sparc_function_arg_advance): Likewise.
- (sparc_function_arg, sparc_function_incoming_arg): Likewise.
- (sparc_arg_partial_bytes, sparc_function_arg_1): Likewise.
- * config/mep/mep.c (mep_setup_incoming_varargs): Likewise.
- (mep_pass_by_reference, mep_function_arg): Likewise.
- (mep_function_arg_advance): Likewise.
- * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
- (m32r_pass_by_reference, m32r_arg_partial_bytes): Likewise.
- (m32r_function_arg, m32r_function_arg_advance): Likewise.
- * config/rx/rx.c (rx_function_arg, rx_function_arg_advance): Likewise.
- * config/i386/i386.c (ix86_function_arg_advance): Likewise.
- (ix86_function_arg, ix86_pass_by_reference): Likewise.
- (ix86_setup_incoming_varargs): Likewise.
- * config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
- (sh_strict_argument_naming): Likewise.
- (sh_pretend_outgoing_varargs_named, sh_pass_by_reference): Likewise.
- (sh_callee_copies, sh_arg_partial_bytes): Likewise.
- (sh_function_arg_advance, sh_function_arg): Likewise.
- * config/pdp11/pdp11.c (pdp11_function_arg): Likewise.
- (pdp11_function_arg_advance): Likewise.
- * config/microblaze/microblaze.c (microblaze_function_arg_advance):
- Likewise.
- (microblaze_function_arg, function_arg_partial_bytes): Likewise.
- * config/avr/avr.c (avr_function_arg): Likewise.
- (avr_function_arg_advance): Likewise.
- * config/xtensa/xtensa.c (xtensa_function_arg_advance): Likewise.
- (xtensa_function_arg, xtensa_function_incoming_arg): Likewise.
- (xtensa_function_arg_1): Likewise.
- * config/stormy16/stormy16.c (xstormy16_function_arg_advance):
- Likewise.
- (xstormy16_function_arg): Likewise.
- * config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
- (fr30_arg_partial_bytes, fr30_function_arg): Likewise.
- (fr30_function_arg_advance): Likewise.
- * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
- (lm32_function_arg, lm32_function_arg_advance): Likewise.
- * config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
- (moxie_function_arg, moxie_function_arg_advance): Likewise.
- (moxie_pass_by_reference, moxie_arg_partial_bytes): Likewise.
- * config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
- (cris_pass_by_reference, cris_arg_partial_bytes): Likewise.
- (cris_function_arg, cris_function_incoming_arg): Likewise.
- (cris_function_arg_advance, cris_function_arg_1): Likewise.
- * config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
- (iq2000_pass_by_reference, iq2000_arg_partial_bytes): Likewise.
- (iq2000_function_arg, iq2000_function_arg_advance): Likewise.
- * config/mn10300/mn10300.c (mn10300_pass_by_reference): Likewise.
- (mn10300_function_arg, mn10300_function_arg_advance): Likewise.
- (mn10300_arg_partial_bytes): Likewise.
- * config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
- (ia64_arg_partial_bytes, ia64_function_arg): Likewise.
- (ia64_function_incoming_arg, ia64_function_arg_advance): Likewise.
- (ia64_function_arg_1): Likewise.
- * config/m68k/m68k.c (m68k_function_arg_advance): Likewise.
- (m68k_function_arg): Likewise.
- * config/rs6000/rs6000.c (rs6000_function_arg_advance): Likewise.
- (rs6000_function_arg, setup_incoming_varargs): Likewise.
- (rs6000_pass_by_reference, rs6000_arg_partial_bytes): Likewise.
- * config/picochip/picochip.c (picochip_arg_partial_bytes): Likewise.
- (picochip_function_arg, picochip_incoming_function_arg): Likewise.
- (picochip_arg_advance): Likewise.
- * config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
- (mcore_arg_partial_bytes, mcore_function_arg): Likewise.
- (mcore_function_arg_advance): Likewise.
- * config/score/score.c (score_pass_by_reference): Likewise.
- (score_function_arg_advance): Likewise.
- (score_arg_partial_bytes): Likewise. Make static.
- * config/score/score-protos.h (score_arg_partial_bytes): Don't declare.
- * config/arm/arm.c (arm_arg_partial_bytes): Replace
- CUMULATIVE_ARGS* argument type with cumulative_args_t.
- (arm_function_arg, arm_function_arg_advance): Likewise.
- (arm_setup_incoming_varargs, arm_pass_by_reference): Likewise.
- * config/pa/pa.c (pa_pass_by_reference): Likewise.
- (pa_arg_partial_bytes, pa_function_arg_advance): Likewise.
- (pa_function_arg): Likewise.
- * config/mips/mips.c (mips_strict_argument_naming): Likewise.
- (mips_function_arg, mips_function_arg_advance): Likewise.
- (mips_arg_partial_bytes, mips_pass_by_reference): Likewise.
- (mips_callee_copies, mips_setup_incoming_varargs): Likewise.
- * config/vax/vax.c (vax_function_arg): Likewise.
- (vax_function_arg_advance): Likewise.
- * config/h8300/h8300.c (h8300_function_arg): Likewise.
- (h8300_function_arg_advance): Likewise.
- * config/v850/v850.c (v850_pass_by_reference): Likewise.
- (v850_strict_argument_naming, v850_function_arg): Likewise.
- (v850_arg_partial_bytes, v850_function_arg_advance): Likewise.
- (v850_setup_incoming_varargs): Likewise.
- * config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
- (mmix_function_arg_advance, mmix_function_incoming_arg): Likewise.
- (mmix_function_arg, mmix_pass_by_reference): Likewise.
- (mmix_function_arg_1): Replace const CUMULATIVE_ARGS* argument type
- with const void *.
- * config/bfin/bfin.c (setup_incoming_varargs): Replace
- CUMULATIVE_ARGS* argument type with cumulative_args_t.
- (bfin_function_arg_advance, bfin_function_arg): Likewise.
- (bfin_arg_partial_bytes, bfin_pass_by_reference): Likewise.
- * calls.c (emit_call_1): Change type of args_so_far to
- cumulative_args_t. Changed all callers.
- (initialize_argument_information): Likewise.
- (expand_call, emit_library_call_value_1): Use pack_cumulative_args.
- * dse.c (get_call_args): Likewise.
- * expr.c (block_move_libcall_safe_for_call_parm): Likewise.
- * function.c (pass_by_reference, reference_callee_copied): Likewise.
- (struct assign_parm_data_all): Rename args_so_far to args_so_far_v.
- New member args_so_far_v. Changed all users.
- * var-tracking.c (prepare_call_arguments): Use pack_cumulative_args.
- * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
- * config/mips/mips.c (mips_output_args_xfer): Likewise.
- * config/s390/s390.c (s390_call_saved_register_used): Likewise.
- * config/sh/sh.c (sh_output_mi_thunk): Likewise.
- * config/microblaze/microblaze.c (microblaze_expand_prologue):
- Likewise.
- * config/m32r/m32r.c (m32r_return_in_memory): Adjust for changed
- m32r_pass_by_reference.
-
-2011-06-16 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vectorizer.h (vect_recog_func_ptr): Change the first
- argument to be a VEC of statements.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Remove the
- assert that pattern statements have to have their vector type set.
- * tree-vect-patterns.c (vect_recog_widen_sum_pattern):
- Change the first argument to be a VEC of statements. Update
- documentation.
- (vect_recog_dot_prod_pattern, vect_recog_pow_pattern): Likewise.
- (vect_handle_widen_mult_by_const): New function.
- (vect_recog_widen_mult_pattern): Change the first argument to be a
- VEC of statements. Update documentation. Check that the constant is
- INTEGER_CST. Support multiplication by a constant that fits an
- intermediate type - call vect_handle_widen_mult_by_const.
- (vect_pattern_recog_1): Update vect_recog_func_ptr and its
- call. Handle additional pattern statements if necessary.
-
-2011-06-16 Nick Clifton <nickc@redhat.com>
-
- PR target/49427
- * config.gcc: Set cpu_type to v850 for any V850 architecture.
- (v850*-*-*): Delete explicit setting of tm_p_file, tmake_file,
- md_file, extra_modes, out_file and extra_options are these are all
- deduced from cpu_type.
-
-2011-06-16 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
- truncation mask to 63.
-
-2011-06-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49313
- PR target/29524
- * longlong.h: Add AVR support:
- (count_leading_zeros): New macro.
- (count_trailing_zeros): New macro.
- (COUNT_LEADING_ZEROS_0): New macro.
- * config/avr/t-avr (LIB1ASMFUNCS): Add _ffssi2, _ffshi2, _loop_ffsqi2,
- _ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2, _paritydi2, _paritysi2,
- _parityhi2, _popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
- _bswapsi2, _bswapdi2, _ashldi3, _ashrdi3, _lshrdi3.
- (LIB2FUNCS_EXCLUDE): Add _clz.
- * config/avr/libgcc.S (XCALL): Move up in file.
- (XJMP): New C Macro.
- (DEFUN): New asm macro.
- (ENDF): New asm macro.
- (__ffssi2): New function.
- (__ffshi2): New function.
- (__loop_ffsqi2): New function.
- (__ctzsi2): New function.
- (__ctzhi2): New function.
- (__clzdi2): New function.
- (__clzsi2): New function.
- (__clzhi2): New function.
- (__paritydi2): New function.
- (__paritysi2): New function.
- (__parityhi2): New function.
- (__parityqi2): New function.
- (__popcounthi2): New function.
- (__popcountsi2): New function.
- (__popcountdi2): New function.
- (__popcountqi2): New function.
- (__bswapsi2): New function.
- (__bswapdi2): New function.
- (__ashldi3): New function.
- (__ashrdi3): New function.
- (__lshrdi3): New function.
- Fix suspicous lines.
-
-2011-06-16 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (canonicalize_cond_expr_cond): (bool)x is not
- the same as x != 0.
- * fold-const.c (fold_binary_loc): Do not fold X & 1 != 0
- to (bool) X & 1.
- * ipa-prop.c (ipa_analyze_indirect_call_uses): Also allow
- equality compares against zero for the lower bit.
-
-2011-06-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49419
- * tree-vrp.c (execute_vrp): Call init_range_assertions
- before estimate_numbers_of_iterations, call
- free_number_of_iterations_estimates before calling
- remove_range_assertions.
-
-2011-06-16 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (struct ps_insn): Remove row_rest_count field.
- (struct partial_schedule): Add rows_length field.
- (verify_partial_schedule): Check rows_length.
- (ps_insert_empty_row): Handle rows_length.
- (create_partial_schedule): Likewise.
- (free_partial_schedule): Likewise.
- (reset_partial_schedule): Likewise.
- (create_ps_insn): Remove rest_count argument.
- (remove_node_from_ps): Update rows_length.
- (add_node_to_ps): Update rows_length and call create_ps_insn
- without passing row_rest_count.
- (rotate_partial_schedule): Update rows_length.
-
-2011-06-16 Revital Eres <revital.eres@linaro.org>
-
- * ddg.c (add_intra_loop_mem_dep): New function.
- (build_intra_loop_deps): Call it.
-
-2011-06-13 Jeff Law <law@redhat.com>
-
- * df-problems.c (df_lr_local_compute): Manually CSE
- PIC_OFFSET_TABLE_REGNUM.
- * df-scan.c (df_get_regular_block_artificial_uses): Likewise.
- (df_get_entry_block_def_set, df_get_exit_block_use_set): Likewise.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (handle_alias_pairs): New function.
- (cgraph_finalize_compilation_unit): Use it.
- * ipa.c (cgraph_externally_visible_p): Remove hack marking asm names
- as externally visible.
-
-2011-06-15 Richard Guenther <rguenther@suse.de>
-
- * expr.c (expand_expr_real_2): Reduce all integral types to
- bitfield precision.
- (expand_expr_real_1): Likewise.
-
-2011-06-15 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/48613
- * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
- ipa_node_params_vector is NULL.
-
-2011-06-15 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49382
- * dwarf2out.c (dw_loc_list_node): Add force field.
- (add_var_loc_to_decl): For PARM_DECL, attempt to keep the incoming
- location in the list, even if it is modified before first real insn.
- (output_loc_list): Emit empty ranges with force flag set.
- (dw_loc_list): If first range of a PARM_DECL is empty, set force flag.
-
-2011-06-15 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/49349
- * sel-sched.c (find_place_for_bookkeeping): Add new parameter
- (fence_to_rewind). Use it to notice when bookkeeping will be placed
- above a fence. Update comments.
- (generate_bookkeeping_insn): Rewind fence when bookkeeping code is
- placed just above it. Do not allow NULL place_to_insert.
-
-2011-06-15 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): Remove.
- (slpeel_tree_peel_loop_to_edge): Don't call
- remove_dead_stmts_from_loop.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
- remove irrelevant pattern statements. For irrelevant statements
- check if it is the last statement of a detected pattern, use
- corresponding pattern statement instead.
- (destroy_loop_vec_info): No need to remove pattern statements,
- only free stmt_vec_info.
- (vect_transform_loop): For irrelevant statements check if it is
- the last statement of a detected pattern, use corresponding
- pattern statement instead.
- * tree-vect-patterns.c (vect_pattern_recog_1): Don't insert
- pattern statements. Set basic block for the new statement.
- (vect_pattern_recog): Update documentation.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Scan
- operands of pattern statements.
- (vectorizable_call): Fix printing. In case of a pattern statement
- use the lhs of the original statement when creating a dummy
- statement to replace the original call.
- (vect_analyze_stmt): For irrelevant statements check if it is
- the last statement of a detected pattern, use corresponding
- pattern statement instead.
- * tree-vect-slp.c (vect_schedule_slp_instance): For pattern
- statements use gsi of the original statement.
-
-2011-06-14 Joseph Myers <joseph@codesourcery.com>
-
- * target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to
- common/common-target-def.h.
- * target.def (default_target_flags, handle_option,
- supports_split_stack, optimization_table, init_struct,
- except_unwind_info, unwind_tables_default, have_named_sections):
- Move to common/common-target.def.
- * target.h (enum opt_levels, struct default_options): Move to
- common/common-target.h.
- * targhooks.c (default_except_unwind_info,
- dwarf2_except_unwind_info, sjlj_except_unwind_info,
- default_target_handle_option, empty_optimization_table): Move to
- common/common-targhooks.c.
- * targhooks.h (default_except_unwind_info,
- dwarf2_except_unwind_info, sjlj_except_unwind_info,
- default_target_handle_option, empty_optimization_table): Move to
- common/common-targhooks.h.
- * common/common-target-def.h: Include common/common-targhooks.h.
- (TARGET_HAVE_NAMED_SECTIONS): Define if TARGET_ASM_NAMED_SECTION
- defined.
- * common/common-target.def (handle_option, option_init_struct,
- option_optimization_table, default_target_flags,
- except_unwind_info, supports_split_stack, unwind_tables_default,
- have_named_sections): Move from target.def.
- (HOOK_PREFIX): Undefine at end of file.
- * common/common-target.h: Include input.h.
- (enum opt_levels, struct default_options): Move from target.h.
- * common/common-targhooks.c, common/common-targhooks.h: New.
- * config.gcc (target_has_targetm_common): Default to yes.
- (moxie*): Set target_has_targetm_common=no.
- (hppa*-*-*): Don't set target_has_targetm_common=yes.
- * doc/tm.texi: Regenerate.
- * Makefile.in (COMMON_TARGET_H): Add $(INPUT_H).
- (C_TARGET_DEF_H): Add common/common-targhooks.h.
- (GCC_OBJS): Remove vec.o.
- (OBJS): Remove hooks.o and vec.o.
- (OBJS-libcommon-target): Add vec.o, hooks.o and
- common/common-targhooks.o.
- (c-family/c-common.o, c-family/c-cppbuiltin.o, lto-opts.o, tree.o,
- tree-tailcall.o, opts.o, toplev.o, varasm.o, function.o, except.o,
- expr.o, explow.o, dbxout.o, dwarf2out.o, cfgrtl.o, haifa-sched.o,
- cfglayout.o, $(out_object_file), $(common_out_object_file)):
- Update dependencies.
- (common/common-targhooks.o): New.
- * common/config/default-common.c: Include tm.h. Add FIXME comment.
- * common/config/pa/pa-common.c: Include more headers. Take
- copyright dates from pa.c.
- (pa_option_optimization_table, pa_handle_option,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_HANDLE_OPTION): Move from pa.c.
- * common/config/alpha/alpha-common.c,
- common/config/arm/arm-common.c, common/config/avr/avr-common.c,
- common/config/bfin/bfin-common.c,
- common/config/cris/cris-common.c,
- common/config/fr30/fr30-common.c, common/config/frv/frv-common.c,
- common/config/h8300/h8300-common.c,
- common/config/i386/i386-common.c,
- common/config/ia64/ia64-common.c,
- common/config/iq2000/iq2000-common.c,
- common/config/lm32/lm32-common.c,
- common/config/m32c/m32c-common.c,
- common/config/m32r/m32r-common.c,
- common/config/m68k/m68k-common.c,
- common/config/mcore/mcore-common.c,
- common/config/mep/mep-common.c,
- common/config/microblaze/microblaze-common.c,
- common/config/mips/mips-common.c,
- common/config/mmix/mmix-common.c,
- common/config/mn10300/mn10300-common.c,
- common/config/pdp11/pdp11-common.c,
- common/config/picochip/picochip-common.c,
- common/config/rs6000/rs6000-common.c,
- common/config/rx/rx-common.c, common/config/s390/s390-common.c,
- common/config/score/score-common.c, common/config/sh/sh-common.c,
- common/config/sparc/sparc-common.c,
- common/config/spu/spu-common.c, common/config/v850/v850-common.c,
- common/config/vax/vax-common.c,
- common/config/xstormy16/xstormy16-common.c,
- common/config/xtensa/xtensa-common.c: New.
- * config/alpha/alpha.c: Include common/common-target.h.
- (alpha_option_optimization_table, alpha_handle_option,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE): Move to alpha-common.c.
- * config/arm/arm-protos.h (arm_except_unwind_info): Declare.
- * config/arm/arm.c (arm_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_EXCEPT_UNWIND_INFO, arm_except_unwind_info): Move to
- arm-common.c.
- * config/avr/avr.c (avr_option_optimization_table,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
- to avr-common.c.
- * config/bfin/bfin.c (struct bfin_cpu): Move to bfin.h.
- (bfin_cpus, bfin_handle_option, TARGET_HANDLE_OPTION,
- TARGET_DEFAULT_TARGET_FLAGS): Move to bfin-common.c.
- * config/bfin/bfin.h struct bfin_cpu): Move from bfin.c.
- * config/cris/cris.c (cris_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE, cris_handle_option): Move to
- cris-common.c.
- * config/fr30/fr30.c (fr30_option_optimization_table,
- TARGET_EXCEPT_UNWIND_INFO, TARGET_OPTION_OPTIMIZATION_TABLE): Move
- to fr30-common.c.
- * config/frv/frv.c (frv_option_optimization_table,
- MASK_DEFAULT_ALLOC_CC, TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_OPTION_OPTIMIZATION_TABLE): Move to frv-common.c.
- * config/h8300/h8300.c (h8300_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_EXCEPT_UNWIND_INFO): Move to h8300-common.c.
- * config/i386/i386-protos.h (ix86_handle_option): Declare.
- * config/i386/i386.c: Include common/common-target.h.
- (OPTION_MASK_ISA_MMX_SET, OPTION_MASK_ISA_3DNOW_SET,
- OPTION_MASK_ISA_SSE_SET, OPTION_MASK_ISA_SSE2_SET,
- OPTION_MASK_ISA_SSE3_SET, OPTION_MASK_ISA_SSSE3_SET,
- OPTION_MASK_ISA_SSE4_1_SET, OPTION_MASK_ISA_SSE4_2_SET,
- OPTION_MASK_ISA_AVX_SET, OPTION_MASK_ISA_FMA_SET,
- OPTION_MASK_ISA_SSE4_SET, OPTION_MASK_ISA_SSE4A_SET,
- OPTION_MASK_ISA_FMA4_SET, OPTION_MASK_ISA_XOP_SET,
- OPTION_MASK_ISA_LWP_SET, OPTION_MASK_ISA_AES_SET,
- OPTION_MASK_ISA_PCLMUL_SET, OPTION_MASK_ISA_ABM_SET,
- OPTION_MASK_ISA_BMI_SET, OPTION_MASK_ISA_TBM_SET,
- OPTION_MASK_ISA_POPCNT_SET, OPTION_MASK_ISA_CX16_SET,
- OPTION_MASK_ISA_SAHF_SET, OPTION_MASK_ISA_MOVBE_SET,
- OPTION_MASK_ISA_CRC32_SET, OPTION_MASK_ISA_FSGSBASE_SET,
- OPTION_MASK_ISA_RDRND_SET, OPTION_MASK_ISA_F16C_SET,
- OPTION_MASK_ISA_MMX_UNSET, OPTION_MASK_ISA_3DNOW_UNSET,
- OPTION_MASK_ISA_3DNOW_A_UNSET, OPTION_MASK_ISA_SSE_UNSET,
- OPTION_MASK_ISA_SSE2_UNSET, OPTION_MASK_ISA_SSE3_UNSET,
- OPTION_MASK_ISA_SSSE3_UNSET, OPTION_MASK_ISA_SSE4_1_UNSET,
- OPTION_MASK_ISA_SSE4_2_UNSET, OPTION_MASK_ISA_AVX_UNSET,
- OPTION_MASK_ISA_FMA_UNSET, OPTION_MASK_ISA_SSE4_UNSET,
- OPTION_MASK_ISA_SSE4A_UNSET, OPTION_MASK_ISA_FMA4_UNSET,
- OPTION_MASK_ISA_XOP_UNSET, OPTION_MASK_ISA_LWP_UNSET,
- OPTION_MASK_ISA_AES_UNSET, OPTION_MASK_ISA_PCLMUL_UNSET,
- OPTION_MASK_ISA_ABM_UNSET, OPTION_MASK_ISA_BMI_UNSET,
- OPTION_MASK_ISA_TBM_UNSET, OPTION_MASK_ISA_POPCNT_UNSET,
- OPTION_MASK_ISA_CX16_UNSET, OPTION_MASK_ISA_SAHF_UNSET,
- OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_CRC32_UNSET,
- OPTION_MASK_ISA_FSGSBASE_UNSET, OPTION_MASK_ISA_RDRND_UNSET,
- OPTION_MASK_ISA_F16C_UNSET, ix86_handle_option,
- ix86_option_optimization_table, ix86_option_init_struct,
- ix86_supports_split_stack, TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_OPTION_INIT_STRUCT, TARGET_SUPPORTS_SPLIT_STACK): Move to
- i386-common.c.
- * config/i386/t-i386 (i386.o): Update dependencies.
- * config/ia64/ia64-protos.h (ia64_except_unwind_info): Declare.
- * config/ia64/ia64.c (ia64_option_optimization_table,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- ia64_handle_option): Move to ia64-common.c.
- * config/iq2000/iq2000.c (iq2000_option_optimization_table,
- TARGET_OPTION_OPTIMIZATION_TABLE): Move to iq2000-common.c.
- * config/lm32/lm32.c (lm32_option_optimization_table,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
- to lm32-common.c.
- * config/m32c/m32c.c (TARGET_HAVE_NAMED_SECTIONS): Move to
- m32c-common.c.
- * config/m32r/m32r.c (m32r_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
- m32r_handle_option): Move to m32r-common.c.
- (m32r_memory_move_cost): Remove comment referring to
- TARGET_HANDLE_OPTION.
- * config/m68k/m68k.c (TARGET_HANDLE_OPTION, m68k_handle_option):
- Move to m68k-common.c.
- * config/mcore/mcore.c (mcore_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_EXCEPT_UNWIND_INFO): Move to mcore-common.c.
- * config/mep/mep.c (mep_option_optimization_table,
- mep_handle_option, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS):
- Move to mep-common.c.
- * config/microblaze/microblaze.c
- (microblaze_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_EXCEPT_UNWIND_INFO): Move to microblaze-common.c.
- * config/mips/mips.c (mips_handle_option,
- mips_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Move to
- mips-common.c.
- * config/mmix/mmix.c (mmix_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
- Move to mmix-common.c.
- * config/mn10300/mn10300.c (mn10300_option_optimization_table,
- mn10300_handle_option, TARGET_EXCEPT_UNWIND_INFO,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE): Move to mn10300-common.c.
- * config/pa/pa.c: Include common/common-target.h.
- (pa_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- pa_handle_option): Move to pa-common.c.
- (pa_option_override): Use targetm_common.except_unwind_info.
- (pa_asm_output_mi_thunk, pa_function_section): Use
- targetm_common.have_named_sections.
- * config/pdp11/pdp11.c (pdp11_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
- pdp11_handle_option, pdp11_option_init_struct): Move to
- pdp11-common.c.
- * config/picochip/picochip.c (picochip_option_optimization_table,
- TARGET_HAVE_NAMED_SECTIONS, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_EXCEPT_UNWIND_INFO): Move to picochip-common.c.
- * config/rs6000/rs6000.c: Include common/common-target.h.
- (rs6000_option_optimization_table, TARGET_HANDLE_OPTION,
- TARGET_OPTION_INIT_STRUCT, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_DEFAULT_TARGET_FLAGS, rs6000_option_init_struct,
- rs6000_handle_option): Move to rs6000-common.c.
- * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
- * config/rx/rx.c (rx_handle_option, rx_option_optimization_table,
- TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_EXCEPT_UNWIND_INFO): Move to rx-common.c.
- * config/s390/s390.c (processor_flags_table,
- s390_option_optimization_table, s390_option_init_struct,
- s390_handle_option, TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
- TARGET_OPTION_INIT_STRUCT): Move to s390-common.c.
- * config/s390/s390.h (processor_flags_table): Declare.
- * config/score/score.c (score_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- TARGET_OPTION_OPTIMIZATION_TABLE, MASK_ALL_CPU_BITS,
- score_handle_option): Move to score-common.c.
- * config/sh/sh.c (sh_option_optimization_table,
- TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
- sh_handle_option, sh_option_init_struct): Move to sh-common.c.
- * config/sparc/sparc.c: Include common/common-target.h.
- (sparc_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_OPTION_OPTIMIZATION_TABLE): Move to sparc-common.c.
- * config/spu/spu.c (TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_OPTION_INIT_STRUCT, TARGET_EXCEPT_UNWIND_INFO,
- spu_option_init_struct): Move to spu-common.c.
- * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
- TARGET_OPTION_OPTIMIZATION_TABLE): Move to xstormy16-common.c.
- * config/v850/v850.c (small_memory_physical_max,
- v850_handle_memory_optionn v850_handle_option,
- v850_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
- TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to
- v850-common.c.
- * config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Move to vax-common.c.
- * config/xtensa/xtensa.c (xtensa_option_optimization_table,
- TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
- Move to xtensa-common.c.
- * cfglayout.c: Include common/common-target.h.
- (fixup_reorder_chain): Use targetm_common.have_named_sections.
- * cfgrtl.c: Include common/common-target.h.
- (force_nonfallthru_and_redirect, commit_one_edge_insertion): Use
- targetm_common.have_named_sections.
- * dbxout.c: Include common/common-target.h.
- (dbxout_function_end): Use targetm_common.have_named_sections.
- * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Use
- targetm_common.except_unwind_info.
- * dwarf2out.c: Include common/common-target.h.
- (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
- dwarf2out_begin_prologue, dwarf2out_frame_init,
- dwarf2out_frame_finish, dwarf2out_assembly_start): Use
- targetm_common.except_unwind_info.
- * except.c: Include common/common-target.h.
- (init_eh, finish_eh_generation,
- output_one_function_exception_table): Use
- targetm_common.except_unwind_info.
- (switch_to_exception_section): Use targetm_common.have_named_sections.
- * explow.c: Include common/common-target.h.
- * expr.c: Include common/common-target.h.
- (build_personality_function): Use targetm_common.except_unwind_info.
- * function.c: Include common/common-target.h.
- (expand_function_end): Use targetm_common.except_unwind_info.
- * haifa-sched.c: Include common/common-target.h.
- (sched_create_recovery_edges): Use targetm_common.have_named_sections.
- * lto-opts.c: Include common/common-target.h instead of target.h.
- (lto_reissue_options): Use targetm_common.handle_option.
- * opts.c: Include common/common-target.h.
- (target_handle_option): Use targetm_common.handle_option.
- (init_options_struct): Update comment referring to
- targetm.target_option.optimization. Use
- targetm_common.default_target_flags,
- targetm_common.unwind_tables_default and
- targetm_common.option_init_struct.
- (default_options_optimization): Use
- targetm_common.option_optimization_table.
- (finish_options): Use targetm_common.except_unwind_info,
- targetm_common.unwind_tables_default,
- targetm_common.have_named_sections and
- targetm_common.supports_split_stack.
- * toplev.c: Include common/common-target.h.
- (process_options): Use targetm_common.have_named_sections.
- * tree-tailcall.c: Include common/common-target.h.
- (suitable_for_tail_call_opt_p): Use targetm_common.except_unwind_info.
- * tree.c: Include common/common-target.h.
- (build_common_builtin_nodes): Use targetm_common.except_unwind_info.
- * varasm.c: Include common/common-target.h.
- (resolve_unique_section, hot_function_section,
- default_function_section): Use targetm_common.have_named_sections.
-
-2011-06-14 Easwaran Raman <eraman@google.com>
-
- PR rtl-optimization/44194
- * dse.c: Include tree-flow.h
- (insn_info): Add new field non_frame_wild_read.
- (group_info): Add new fields escaped_n and escaped_p.
- (kill_on_calls): New variable.
- (get_group_info): Initialize gi->escaped_n and gi->escaped_p.
- (dse_step0): Initialize kill_on_calls.
- (can_escape): New function.
- (set_usage_bits): Add additional parameter; record information
- about escaped locations.
- (record_store): Pass EXPR corresponding to MEM to set_usage_bits.
- (dse_step2_nospill): Set kill_on_calls based on
- group->escaped_n and group->escaped_n.
- (add_wild_read): Refactor into...
- (reset_active_stores): ... New function, and
- (free_read_records): ... New function.
- (add_non_frame_wild_read): New function.
- (scan_insn): Call add_non_frame_wild_read on non-const calls.
- (scan_reads_nospill): Handle instructions with non_frame_wild_read.
- (dse_step5_nospill): Call scan_reads_nospill for instructions
- marked as non_frame_wild_read.
- (dse_step7): Free escaped_n, escaped_p and kill_on_calls bitmaps.
-
-2011-06-14 Joseph Myers <joseph@codesourcery.com>
-
- * common/common-target-def.h, common/common-target.def,
- common/common-target.h, common/config/default-common.c,
- common/config/pa/pa-common.c: New files.
- * Makefile.in (common_out_file, common_out_object_file,
- COMMON_TARGET_H, COMMON_TARGET_DEF_H): New.
- (OBJS-libcommon-target): Include $(common_out_object_file).
- (prefix.o): Update dependencies.
- ($(common_out_object_file), common/common-target-hooks-def.h,
- s-common-target-hooks-def-h): New.
- (s-tm-texi): Also check timestamp on common-target.def.
- (build/genhooks.o): Update dependencies.
- * config.gcc (common_out_file, target_has_targetm_common): Define.
- * config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with
- TARGET_ALWAYS_STRIP_DOTDOT.
- * configure.ac (common_out_object_file): Define.
- (common_out_file, common_out_object_file): Substitute.
- (common): Create directory.
- * configure: Regenerate.
- * doc/tm.texi.in (targetm_common): Document.
- (TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry.
- * doc/tm.texi: Regenerate.
- * genhooks.c (hook_array): Also include common/common-target.def.
- * prefix.c (tm.h): Don't include.
- (common/common-target.h): Include.
- (ALWAYS_STRIP_DOTDOT): Don't define.
- (update_path): Use targetm_common.always_strip_dotdot instead of
- ALWAYS_STRIP_DOTDOT.
- * system.h (ALWAYS_STRIP_DOTDOT): Poison.
-
-2011-06-14 David Li <davidxl@google.com>
-
- * passes.c (execute_function_todo): Remove TODO_dump_func.
- (execute_one_pass): Remove TODO_dump_func.
- (execute_function_dump): New function.
- * tree-vrp.c: Remove TODO_dump_func.
- * regrename.c: Remove TODO_dump_func.
- * fwprop.c: Remove TODO_dump_func.
- * tree-into-ssa.c: Remove TODO_dump_func.
- * tree-complex.c: Remove TODO_dump_func.
- * tracer.c: Remove TODO_dump_func.
- * tree-loop-distribution.c: Remove TODO_dump_func.
- * postreload-gcse.c: Remove TODO_dump_func.
- * postreload.c: Remove TODO_dump_func.
- * tree-ssa-loop-ch.c: Remove TODO_dump_func.
- * tree-tailcall.c: Remove TODO_dump_func.
- * ipa-cp.c: Remove TODO_dump_func.
- * final.c: Remove TODO_dump_func.
- * tree-emutls.c: Remove TODO_dump_func.
- * omp-low.c: Remove TODO_dump_func.
- * tree-ssa-dse.c: Remove TODO_dump_func.
- * tree-ssa-uncprop.c: Remove TODO_dump_func.
- * auto-inc-dec.c: Remove TODO_dump_func.
- * reorg.c: Remove TODO_dump_func.
- * tree-ssa-copyrename.c: Remove TODO_dump_func.
- * tree-ssa-ccp.c: Remove TODO_dump_func.
- * compare-elim.c: Remove TODO_dump_func.
- * mode-switching.c: Remove TODO_dump_func.
- * modulo-sched.c: Remove TODO_dump_func.
- * tree-call-cdce.c: Remove TODO_dump_func.
- * cse.c: Remove TODO_dump_func.
- * web.c: Remove TODO_dump_func.
- * tree-stdarg.c: Remove TODO_dump_func.
- * lto-streamer-out.c: Remove TODO_dump_func.
- * tree-ssa-math-opts.c: Remove TODO_dump_func.
- * tree-ssa-dom.c: Remove TODO_dump_func.
- * tree-nrv.c: Remove TODO_dump_func.
- * loop-init.c: Remove TODO_dump_func.
- * gimple-low.c: Remove TODO_dump_func.
- * ipa-inline.c: Remove TODO_dump_func.
- * tree-ssa-sink.c: Remove TODO_dump_func.
- * jump.c: Remove TODO_dump_func.
- * ifcvt.c: Remove TODO_dump_func.
- * tree-ssa-loop.c: Remove TODO_dump_func.
- * recog.c: Remove TODO_dump_func.
- * dse.c: Remove TODO_dump_func.
- * tree-ssa-ifcombine.c: Remove TODO_dump_func.
- * matrix-reorg.c: Remove TODO_dump_func.
- * tree-eh.c: Remove TODO_dump_func.
- * regmove.c: Remove TODO_dump_func.
- * function.c: Remove TODO_dump_func.
- * tree-vectorizer.c: Remove TODO_dump_func.
- * ipa-split.c: Remove TODO_dump_func.
- * gcse.c: Remove TODO_dump_func.
- * tree-if-conv.c: Remove TODO_dump_func.
- * init-regs.c: Remove TODO_dump_func.
- * tree-ssa-phiopt.c: Remove TODO_dump_func.
- * implicit-zee.c: Remove TODO_dump_func.
- * lower-subreg.c: Remove TODO_dump_func.
- * bt-load.c: Remove TODO_dump_func.
- * tree-dfa.c: Remove TODO_dump_func.
- * except.c: Remove TODO_dump_func.
- * emit-rtl.c: Remove TODO_dump_func.
- * store-motion.c: Remove TODO_dump_func.
- * cfgexpand.c: Remove TODO_dump_func.
- * tree-cfgcleanup.c: Remove TODO_dump_func.
- * cfgcleanup.c: Remove TODO_dump_func.
- * tree-ssa-pre.c: Remove TODO_dump_func.
- * tree-sra.c: Remove TODO_dump_func.
- * tree-mudflap.c: Remove TODO_dump_func.
- * tree-ssa-copy.c: Remove TODO_dump_func.
- * cfglayout.c: Remove TODO_dump_func.
- * tree-ssa-forwprop.c: Remove TODO_dump_func.
- * tree-ssa-dce.c: Remove TODO_dump_func.
- * ira.c: Remove TODO_dump_func.
- * tree-ssa.c: Remove TODO_dump_func.
- * integrate.c: Remove TODO_dump_func.
- * tree-optimize.c: Remove TODO_dump_func.
- * tree-ssa-phiprop.c: Remove TODO_dump_func.
- * tree-object-size.c: Remove TODO_dump_func.
- * combine.c: Remove TODO_dump_func.
- * bb-reorder.c: Remove TODO_dump_func.
- * cprop.c: Remove TODO_dump_func.
- * var-tracking.c: Remove TODO_dump_func.
- * tree-profile.c: Remove TODO_dump_func.
- * tree-vect-generic.c: Remove TODO_dump_func.
- * reg-stack.c: Remove TODO_dump_func.
- * sched-rgn.c: Remove TODO_dump_func.
- * tree-ssa-structalias.c: Remove TODO_dump_func.
- * tree-switch-conversion.c: Remove TODO_dump_func.
- * tree-cfg.c: Remove TODO_dump_func.
- * tree-ssa-reassoc.c: Remove TODO_dump_func.
- * combine-stack-adj.c: Remove TODO_dump_func.
- * dce.c: Remove TODO_dump_func.
- * tree-ssanames.c: Remove TODO_dump_func.
- * regcprop.c: Remove TODO_dump_func.
-
-2011-06-14 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47364
- * builtins.c (expand_builtin_strlen): Expand strlen to Pmode
- and properly handle result not in Pmode.
-
-2011-06-14 Robert Millan <rmh@gnu.org>
-
- * config/i386/kfreebsd-gnu.h: Resync with `config/i386/linux.h'.
- * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER): Resync with
- `config/linux.h'.
-
- * config/i386/kfreebsd-gnu64.h: New file.
- * config.gcc (x86_64-*-kfreebsd*-gnu): Replace `i386/kfreebsd-gnu.h'
- with `i386/kfreebsd-gnu64.h'.
-
- * config/i386/linux64.h (GNU_USER_LINK_EMULATION32)
- (GNU_USER_LINK_EMULATION64): New macros.
- * config/i386/gnu-user64.h (LINK_SPEC): Rely on
- `GNU_USER_LINK_EMULATION32' and `GNU_USER_LINK_EMULATION64' instead
- of hardcoding `elf_i386' and `elf_x86_64'.
-
-2011-06-14 Nick Clifton <nickc@redhat.com>
-
- PR target/49403
- * config/v850/v850.c (v850_memory_move_cost): Add reg_class_t parameter.
-
- PR target/49402
- * config.gcc(v850*-*-*): Avoid duplication of v850.opt.
-
-2011-06-14 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49103
- * tree.h (DECL_NONSHAREABLE): Define.
- (struct tree_decl_common): Change decl_common_unused to
- decl_nonshareable_flag.
- * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
- Ignore vars with DECL_NONSHAREABLE bit set.
- * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
- on stores to automatic aggregate vars.
-
- PR rtl-optimization/49390
- Revert:
- 2010-06-29 Bernd Schmidt <bernds@codesourcery.com>
-
- * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
- MEM_ALIAS_SET.
-
-2011-06-14 Zdenek Dvorak <ook@ucw.cz>
- Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * cfgloop.h (nb_iterations_upper_bound, nb_iterations_estimate):
- Document changed semantics.
- (max_stmt_executions, max_stmt_executions_int): Declare.
- * tree-data-ref.c (estimated_loop_iterations)
- (estimated_loop_iterations_int): Move functions...
- * tree-ssa-loop-niter.c (estimated_loop_iterations)
- (estimated_loop_iterations_int): here.
- (record_estimate): Change nb_iterations_upper_bound and
- nb_iterations_estimate semantics.
- (max_stmt_executions, max_stmt_executions_int): New function.
- * tree-data-ref.c (estimated_loop_iterations_tree): Rename to ...
- (max_stmt_executions_tree): this.
- (analyze_miv_subscript): Use max_stmt_executions_tree instead of
- estimated_loop_iterations_tree.
- tree-ssa-loop-ivopts.c (avg_loop_niter): Use
- max_stmt_executions_int instead of estimated_loop_iterations_int.
- * predict.c (predict_loops): Idem.
- * tree-parloops.c (parallelize_loops): Idem.
- * tree-data-ref.c (analyze_siv_subscript_cst_affine)
- (compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine)
- (init_omega_for_ddr_1): Idem.
- * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse)
- (loop_prefetch_arrays): Idem
- * graphite-sese-to-poly.c (build_loop_iteration_domains): Use
- max_stmt_executions instead of estimated_loop_iterations.
- * tree-data-ref.c (estimated_loop_iterations_tree): Idem.
- * tree-vrp.c (adjust_range_with_scev): Use estimated_loop_iterations
- instead of nb_iterations_upper_bound.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * ipa.c (cgraph_address_taken_from_non_vtable_p): Check the ref type.
-
-2011-06-14 Richard Henderson <rth@redhat.com>
-
- PR debug/48459
- * dwarf2out.c (frame_pointer_fb_offset_valid): New.
- (based_loc_descr): Assert it's true.
- (compute_frame_pointer_to_fb_displacement): Set it, rather than
- aborting immediately.
-
-2011-06-14 Sanjin Liu <scliu@faraday-tech.com>
- Mingfeng Wu <mingfeng@faraday-tech.com>
-
- * doc/invoke.texi: Re-add missing -mcpu docs for Faraday cores.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * ipa-cp.c (ipcp_iterate_stage): Revert accidental commit.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_make_decl_local): Handle DECL_ONE_ONLY
- similarly to DECL_COMDAT.
- * cgraphunit.c (cgraph_analyze_function): Likewise.
- * ipa.c (function_and_variable_visibility): Likewise.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output
- BINFO_VIRTUALS when streaming for ltrans unit.
-
-2011-06-13 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic.
- (movdi_internal64): Same.
-
-2011-06-13 Edmar Wienskoski <edmar@freescale.com>
-
- PR target/44618
- * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern with
- a set of similar patterns, where the MATCH_OPERAND for the function
- argument is replaced with individual references to hardware registers.
- (save_fpregs_<mode>): Ditto
- (restore_gpregs_<mode>): Ditto
- (return_and_restore_gpregs_<mode>): Ditto
- (return_and_restore_fpregs_<mode>): Ditto
- (return_and_restore_fpregs_aix_<mode>): Ditto
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * ipa-utils.c (postorder_stack): New structure.
- (ipa_reverse_postorder): Handle aliases.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (reset_edge_caches): Walk aliases.
- (update_caller_keys): Do not test inlinability of aliases.
- * ipa-inline-analysis.c (do_estimate_edge_time): Look through alias.
- (do_estimate_growth): Fix typo.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (+can_remove_node_now_p_1): Break out from...
- (can_remove_node_now_p): ... here; handle same comdat groups.
- (clone_inlined_nodes): Update use of can_remove_node_now_p add TODO.
- (inline_call): Update use of can_remove_node_now_p.
-
-2011-06-13 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
-
- * config/h8300/h8300.md (bsetqi_msx, bclrqi_msx, bnotqi_msx): Added
- condition to disallow non-identical memory locations.
- (*andqi3_2, andqi3_1, iorqi3_1, xorqi3_1): Reorder insn to give
- preference to bit manipulation instructions.
-
-2011-06-13 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_for_node_thunks_and_aliases,
- cgraph_for_node_and_aliases): Fix thinko in recursive walking.
- (nonremovable_p): New function.
- (cgraph_can_remove_if_no_direct_calls_p): New function.
- (used_from_object_file_p): New functoin.
- (cgraph_will_be_removed_from_program_if_no_direct_calls): Look for
- references from aliases.
- * cgraph.h (cgraph_can_remove_if_no_direct_calls_p): Bring offline.
- * ipa-inline.c (check_caller_edge): New function.
- (want_inline_function_called_once_p): Use it; accept aliases called
- once, too.
- * ipa-inline-analysis.c (do_estimate_growth): Remove FIXME.
-
-2011-06-13 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/48454
- * config/arm/neon.md (vec_pack_trunc): Set the lengths
- correctly for the case with Quad vectors.
-
-2011-06-13 Jakub Jelinek <jakub@redhat.com>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49352
- * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at
- all, make sure loop_use_stmt after the loop is a def stmt of a used
- SSA_NAME that is the only one defined inside of the loop. Don't
- check for COND_EXPR and GIMPLE_BINARY_RHS.
- (vect_is_simple_reduction_1): Call vect_is_slp_reduction only if
- check_reduction is true.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49373
- * ipa.c (cgraph_externally_visible_p): Check resolution info.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48836
- * ipa-inline-transform.c: Include tree-pass.h
- (inline_transform): Set TODO_update_ssa_only_virtuals.
- * Makefile.in (ipa-inline-transform.o): Add tree-pass.h.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49378
- * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p): Rule out
- aliases and thunks.
-
-2011-06-12 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent):
- Take number of iterations to peel into account for equally frequent
- misalignment values.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer-out.c (produce_symtab): Stream out the newly
- represented aliases.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- * ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting
- varying args.
- (ipa_update_after_lto_read): Likewise.
- (ipa_write_node_info): Do not sream call_with_var_arguments.
- (ipa_read_node_info): Likewise.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code.
- (lto_symtab_resolve_can_prevail_p): Likewise.
- (lto_symtab_merge_cgraph_nodes): Update merging of aliases.
- * cgraph.c (same_body_aliases_done): New global var.
- (cgraph_same_body_alias_1): Rename to ...
- (cgraph_create_function_alias): ... this one; reorg to new
- representation.
- (cgraph_same_body_alias): Use cgraph_create_function_alias;
- record references when asked to.
- (cgraph_add_thunk): Fix formating.
- (cgraph_get_node): Kill same body alias code.
- (cgraph_node_for_asm): Likewise.
- (cgraph_remove_same_body_alias): Remove.
- (cgraph_remove_node): Kill same body alias code.
- (cgraph_mark_address_taken_node): Mark also the aliased function
- as having address taken.
- (dump_cgraph_node): Dump same body aliases.
- (cgraph_for_node_thunks_and_aliases): Update for new alias
- representation.
- (cgraph_for_node_and_aliases): Likewise.
- * cgraph.h (same_body): Kll pointer.
- (same_body_alias): Update comment.
- (same_body_aliases_done): Declare.
- (cgraph_remove_same_body_alias): Remove declaration.
- (cgraph_create_function_alias): Declare.
- (cgraph_process_same_body_aliases): Declare.
- (cgraph_function_with_gimple_body_p): Check for alias.
- (cgraph_can_remove_if_no_direct_calls_p): Look for aliases.
- (cgraph_alias_aliased_node): New function.
- (cgraph_function_node): Update for new aliases.
- (cgraph_function_or_thunk_node): Likewise.
- * ipa-inline-transform.c (can_remove_node_now_p): Look for aliases.
- (inline_call): Remove dead aliases.
- * cgraphunit.c (cgraph_decide_is_function_needed): Disable assembler
- name hack for same body aliases.
- (clone_of_p): Look through aliases.
- (verify_cgraph_node): Verify aliases.
- (cgraph_analyze_function): Analyze aliases; fixup C++ bugs.
- (cgraph_process_same_body_aliases): New function.
- (process_function_and_variable_attributes): Disable weakref warning on
- alias.
- (cgraph_analyze_functions): Handle aliases.
- (cgraph_mark_functions_to_output): Handle aliases same way as thunks.
- (assemble_thunks): Rename to ...
- (assemble_thunks_and_aliases): ... this one; handle aliases, too.
- (cgraph_expand_function): Remove alias output code.
- (cgraph_output_in_order): Skip aliases.
- (cgraph_preserve_function_body_p): Aliases don't need preserving.
- * ipa-ref.c (ipa_ref_use_name): Add alias reference.
- (ipa_record_reference): Do not assert on alias references.
- (ipa_ref_has_aliases_p): New function.
- * ipa-ref.h (enum ipa_ref_use): Add IPA_REF_ALIAS.
- (ipa_ref_has_aliases_p): Declare.
- * lto-cgraph.c (lto_output_node): Handle aliases.
- (input_node): Likewise.
- * lto-streamer-out.c (lto_output): Skip aliases.
- (produce_symtab): Kill same_body_alias code.
- * ipa-utils.c (ipa_reverse_postorder): Add FIXME.
- (ipa_reverse_postorder): Use cgraph_only_called_directly_or_aliased_p.
- * ipa-inline.c (update_caller_keys): Walk aliases.
- (inline_small_functions): Fix thinko in previous patch.
- * ipa.c (cgraph_externally_visible_p): Do not walk aliases.
- (function_and_variable_visibility): Do not walk same body aliases.
- * tree-ssa-structalias.c (associate_varinfo_to_alias): New function.
- (ipa_pta_execute): Use it.
-
-2011-06-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
- (*vec_dupv2df): Rename from vec_dupv2df.
- (vec_dupv2df): New expander.
-
-2011-06-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P.
-
-2011-06-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md: Use default value in "isa" attribute.
- * config/i386/sse.md: Ditto.
- * config/i386/mmx.md: Ditto.
-
-2011-06-10 Wei Guozhi <carrot@google.com>
-
- PR target/45335
- * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
- stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
- (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
- related peephole2.
- (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
- related peephole2.
- * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
- (arm_legitimate_ldrd_p): New prototype.
- (arm_output_ldrd): New prototype.
- * config/arm/arm.c (arm_check_ldrd_operands): New function.
- (arm_legitimate_ldrd_p): New function.
- (arm_output_ldrd): New function.
-
-2011-06-10 David Li <davidxl@google.com>
-
- * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
- * passes.c (passr_eq): New function.
- (create_pass_tab): New function.
- (pass_traverse): New function.
- (dump_one_pass): New function.
- (dump_pass_list): New function.
- (dump_passes): New function.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_set_nothrow_flag_1): Update cgraph after
- setting the nothrow flag.
- * ipa-reference.c (propagate): Skip aliases.
- * ipa-pure-const.c (propagate_pure_const): Skip aliases.
- (propagate_nothrow): Skip aliases; do not update cgraph.
- (local_pure_const): Do not update cgraph.
- * tree-profile.c (tree_profiling): Do fixup_cfg.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa.c (cgraph_non_local_node_p_1): Break out from ...;
- (cgraph_local_node_p): ... here; handle aliases.
- (has_addr_references_p): Break out from ...;
- (cgraph_remove_unreachable_nodes) ... here.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * opts.c (default_options): Enlist OPT_finline_functions_called_once.
- * common.opt (flag_inline_functions_called_once): Do not
- initialize to 1.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-cp.c (ipcp_versionable_function_p): Thunks are not versionable.
- (ipcp_initialize_node_lattices): Do not deal with aliases;
- Do not try to propagate through thunks.
- (ipcp_change_tops_to_bottom): Do not deal with aliases.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-prop.c (ipa_write_node_info): Stream jump functions
- for indirect calls.
- (ipa_read_node_info): Likewise.
-
-2011-06-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR lto/49302
- * tree-ssa-math-opts.c (powi_as_mults): Minor cleanup.
- (build_and_insert_call): Likewise.
- (build_and_insert_ref): New.
- (gimple_expand_builtin_pow): Minor cleanup.
- (gimple_expand_builtin_cabs): New.
- (execute_cse_sincos): Add case for BUILT_IN_CABS.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-cp.c (ipcp_versionable_function_p): Aliases are not versionable.
- (ipcp_cloning_candidate_p): Aliases are not clonning candidates.
- (ipcp_initialize_node_lattices): We don't propagate through an aliases.
- (ipcp_propagate_stage): Skip aliases when propagating.
- (ipcp_need_redirect_p): Skip aliases.
- (ipcp_insert_stage): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY and
- collect_callers_of_node.
- * ipa-prop.c (ipa_init_func_list): Do not analyze datastructures
- for aliases.
- (ipa_compute_jump_functions): Look through aliases.
-
-2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it.
-
-2011-06-10 Hans-Peter Nilsson <hp@axis.com>
-
- * ira-costs.c: Remove #ifdefs on dead FORBIDDEN_INC_DEC_CLASSES.
- Adjust comments.
- * system.h (FORBIDDEN_INC_DEC_CLASSES): Poison.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-cp.c (ipcp_process_devirtualization_opportunities):
- Update call of gimple_get_virt_method_for_binfo.
- * gimple-fold.c (gimple_get_virt_method_for_binfo): Remove
- refuse_thunks parameter.
- (gimple_fold_call): Update.
- * ipa-prop.c (try_make_edge_direct_virtual_call): Update.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
- (not_all_callers_have_enough_arguments_p): ... this one; turn into
- worker for cgraph_for_node_and_aliases.
- (convert_callers_for_node): Break out from ...
- (convert_callers): ... here.
- (modify_function): Use collect_callers_of_node.
- (ipa_early_sra): Use cgraph_for_node_and_aliases.
-
-2011-06-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49361
- * fold-const.c (fold_binary_loc): Only fold x * x to pow (x, 2.0)
- when not already in gimple form.
-
-2011-06-10 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/49344
- * tree-ssa-math-opts.c (convert_mult_to_fma): Use
- FOR_EACH_PHI_OR_STMT_USE.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (can_remove_node_now_p): Move out of...
- (clone_inlined_nodes): ... here.
- (inline_call): Use cgraph_function_or_thunk_node; redirect edge
- to real destination prior inlining.
- * ipa-inline.c (caller_growth_limits, can_inline_edge_p,
- can_early_inline_edge_p, want_early_inline_function_p,
- want_early_inline_function_p, want_inline_small_function_p,
- want_inline_self_recursive_call_p, want_inline_function_called_once_p,
- edge_badness, update_all_callee_keys, lookup_recursive_calls,
- add_new_edges_to_heap, inline_small_functions, flatten_function,
- inline_always_inline_functions, early_inline_small_functions): Use
- cgraph_function_or_thunk_node.
- * ipa-inline-analysis.c (evaluate_conditions_for_edge,
- dump_inline_edge_summary, estimate_function_body_sizes): Likewise.
- (do_estimate_edge_growth_1): Break out from ...
- (do_estimate_growth) ... here; walk aliases.
- (inline_generate_summary): Skip aliases.
-
-2011-06-10 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Scan stmts
- forward when combining, visit inserted stmts when a stmt was changed.
-
-2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- * tree.h (error_operand_p): Add.
- * dbxout.c (dbxout_type_fields): Use the latter.
- * c-decl.c (add_stmt): Likewise.
- * gimplify.c (omp_add_variable, omp_notice_variable,
- gimplify_scan_omp_clauses): Likewise.
-
-2011-06-10 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c (avr_function_arg_advance): Fix thinko about
- when a value is actually passed in regs.
-
-2011-06-10 Eric Botcazou <ebotcazou@adacore.com>
- Laurent Rougé <laurent.rouge@menta.fr>
-
- * doc/invoke.texi (SPARC options): Add -mflat.
- * config/sparc/sparc.opt: Likewise.
- * config/sparc/sparc-protos.h (sparc_expand_epilogue): Add parameter.
- (sparc_flat_expand_prologue): Declare.
- (sparc_flat_expand_epilogue): Likewise.
- * config/sparc/sparc.h (CPP_CPU_SPEC): Do not handle -msoft-float.
- (CPP_ENDIAN_SPEC): Replace with...
- (CPP_OTHER_SPEC): ...this. Also handle -mflat and -msoft-float.
- (CPP_SPEC): Adjust to above change.
- (EXTRA_SPECS): Likewise.
- (SPARC_INCOMING_INT_ARG_FIRST): Add TARGET_FLAT handling.
- (INCOMING_REGNO): Likewise.
- (OUTGOING_REGNO): Likewise.
- (LOCAL_REGNO): Likewise.
- (SETUP_FRAME_ADDRESSES): Likewise.
- (FIXED_REGISTERS): Set 0 for %fp.
- (CALL_USED_REGISTERS): Likewise.
- (INITIAL_ELIMINATION_OFFSET): Pass current_function_is_leaf.
- (EXIT_IGNORE_STACK): Define to 1 unconditionally.
- (RETURN_ADDR_REGNUM): Define.
- (RETURN_ADDR_RTX): Use it.
- (INCOMING_RETURN_ADDR_REGNUM): Define.
- (INCOMING_RETURN_ADDR_RTX): Use it.
- (DWARF_FRAME_RETURN_COLUMN): Likewise.
- (EH_RETURN_REGNUM): Define.
- (EH_RETURN_STACKADJ_RTX): Use it.
- (EH_RETURN_HANDLER_RTX): Delete.
- (EPILOGUE_USES): Use them and add TARGET_FLAT handling.
- * config/sparc/sparc.c (apparent_fsize, actual_fsize, num_gfregs):
- Delete.
- (struct machine_function): Add frame_size, apparent_frame_size,
- frame_base_reg, frame_base_offset, n_global_fp_regs and
- save_local_in_regs_p fields.
- (sparc_frame_size, sparc_apparent_frame_size, sparc_frame_base_reg,
- sparc_frame_base_offset, sparc_n_global_fp_regs,
- sparc_save_local_in_regs_p): New macros.
- (sparc_option_override): Error out if -fcall-saved-REG is specified
- for Out registers.
- (eligible_for_restore_insn): Fix formatting.
- (eligible_for_return_delay): Likewise. Add TARGET_FLAT handling.
- (eligible_for_sibcall_delay): Likewise.
- (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Add MODE parameter.
- (sparc_legitimate_address_p): Adjust to above change.
- (save_global_or_fp_reg_p): New predicate.
- (return_addr_reg_needed_p): Likewise.
- (save_local_or_in_reg_p): Likewise.
- (sparc_compute_frame_size): Use them. Add TARGET_FLAT handling.
- (SORR_SAVE, SORR_RESTORE): Delete.
- (sorr_pred_t): New typedef.
- (sorr_act_t): New enum.
- (save_or_restore_regs): Rename to...
- (emit_save_or_restore_regs): ...this. Change type of LOW and HIGH
- parameters, remove ACTION parameter, add LEAF_FUNCTION_P, SAVE_P,
- ACTION_TRUE and ACTION_FALSE parameters. Implement more general
- mechanism. Add CFI information for double-word saves in 32-bit mode.
- (emit_adjust_base_to_offset): New function extracted from...
- (emit_save_or_restore_regs): ...this. Rename the rest to...
- (emit_save_or_restore_regs_global_fp_regs): ...this.
- (emit_save_or_restore_regs_local_in_regs): New function.
- (gen_create_flat_frame_[123]): New functions.
- (sparc_expand_prologue): Use SIZE local variable. Adjust.
- (sparc_flat_expand_prologue): New function.
- (sparc_asm_function_prologue): Add TARGET_FLAT handling.
- (sparc_expand_epilogue): Use SIZE local variable. Adjust.
- (sparc_flat_expand_epilogue): New function.
- (sparc_can_use_return_insn_p): Add TARGET_FLAT handling.
- (output_return): Likewise.
- (output_sibcall): Likewise.
- (sparc_output_mi_thunk): Likewise.
- (sparc_frame_pointer_required): Likewise.
- (sparc_conditional_register_usage): If TARGET_FLAT, disable the leaf
- function optimization.
- * config/sparc/sparc.md (flat): New attribute.
- (prologue): Add TARGET_FLAT handling.
- (save_register_window): Disable if TARGET_FLAT.
- (create_flat_frame_[123]): New patterns.
- (epilogue): Add TARGET_FLAT handling.
- (sibcall_epilogue): Likewise.
- (eh_return): New expander.
- (eh_return_internal): New insn and splitter.
- (return_internal): Add TARGET_FLAT handling.
- (untyped_return): Remove bogus test and use RETURN_ADDR_REGNUM.
- (save_stack_nonlocal): Use RETURN_ADDR_REGNUM.
- (nonlocal_goto): Add TARGET_FLAT handling.
- * config/sparc/t-elf: Add -mflat multilib.
- * config/sparc/t-leon: Likewise.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * ipa-utils.c (searchc): Use cgraph_function_or_thunk_node.
- * ipa-pure-const.c (analyze_function): Aliases don't need analysis.
- (self_recursive_p): Use cgraph_function_node.
- (propagate_pure_const): Likewise.
- (propagate_nothrow): Likewise.
- * ipa-reference.c (ipa_reference_get_not_read_global): Use
- cgraph_function_node.
- (propagate_bits): Likewise.
- (propagate): Likewise.
-
-2011-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
- Richard Earnshaw <rearnsha@arm.com>
-
- * config/arm/arm.c (const_ok_for_op): Check to see if mvn can be used.
- * config/arm/vfp.md (*arm_movdi_vfp): Delete.
- (*thumb2_movdi_vfp): Delete.
- (*arm_movdi_vfp_cortexa8): Delete.
- (*movdi_vfp): Consolidate from *arm_movdi_vfp and *thumb2_movdi_vfp.
- (*movdi_vfp_cortexa8): Likewise.
-
-2011-06-10 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (initialize_sizetypes): Give names to all
- sizetype kinds.
-
-2011-06-10 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49318
- * tree-vect-loop.c (vect_determine_vectorization_factor): Remove
- irrelevant pattern statements.
-
-2011-06-10 Hans-Peter Nilsson <hp@axis.com>
-
- * system.h (SETJMP_VIA_SAVE_AREA): Poison.
-
- PR bootstrap/49354
- * ira-costs.c (setup_regno_cost_classes_by_mode): Add missing cast
- to last assignment.
-
-2011-06-09 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline;
- do not recompute reachable flag.
- (cgraph_finalize_function, cgraph_analyze_functions): Set
- redefined_extern_inline here.
-
-2011-06-09 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ...
- (cgraph_only_called_directly_p): ... this one; bring offline.
- (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
- varpool_used_from_object_file_p): Drop names from the declaratoin.
- (cgraph_for_node_thunks_and_aliases, cgraph_for_node_and_aliases,
- collect_callers_of_node): New.
- (cgraph_function_node, cgraph_function_or_thunk_node): New functions.
- (cgraph_edge_recursive_p): Use cgraph_function_node.
- * cgraph.c (cgraph_add_thunk): Check that thunk is not already alias.
- (cgraph_node_cannot_be_local_p_1): Break out from ...
- (cgraph_node_can_be_local_p): ... here; walk aliases.
- (cgraph_for_node_thunks_and_aliases): New function.
- (cgraph_for_node_and_aliases): New function.
- (cgraph_make_node_local_1): Break out from ...
- (cgraph_make_node_local) ... here; use
- cgraph_for_node_thunks_and_aliases.
- (cgraph_set_nothrow_flag_1): Break out from ...
- (cgraph_set_nothrow_flag) ... here;
- use cgraph_for_node_thunks_and_aliases.
- (cgraph_set_const_flag_1): Break out from ...
- (cgraph_set_const_flag) ... here;
- use cgraph_for_node_thunks_and_aliases.
- (cgraph_set_pure_flag_1): Break out from ...
- (cgraph_set_pure_flag) ... here;
- use cgraph_for_node_thunks_and_aliases.
- (cgraph_propagate_frequency_1): Break out from ...
- (cgraph_propagate_frequency) ... here; use
- cgraph_for_node_thunks_and_aliases.
- (cgraph_used_from_object_file_p): Do not care about aliases.
- (cgraph_not_only_called_directly_p_1, cgraph_only_called_directly_p):
- New functions.
- (collect_callers_of_node_1, collect_callers_of_node): New functions.
-
-2011-06-10 Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/49154
- * config/cris/cris.h (FIXED_REGISTERS): Include CRIS_CC0_REGNUM.
- (enum reg_class): Add SRP_REGS and MOF_SRP_REGS.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
- (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Adjust to fit.
- * config/cris/cris.h (cris_register_move_cost): Remove
- !TARGET_V32 code. Tweak comments.
-
-2011-06-09 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (record_eh_tables): Mark personality function as having
- address taken.
-
-2011-06-10 Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/49154
- * ira-costs.c (setup_regno_cost_classes_by_mode): If there already
- is a matching slot in the hashtable, assign it to classes_ptr.
-
- PR rtl-optimization/49154
- * doc/tm.texi.in (Register Classes): Document rule for the narrowest
- register classes.
- * doc/tm.texi: Regenerate.
-
-2011-06-09 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49307
- * config/sh/sh.md (UNSPEC_CHKADD): New.
- (chk_guard_add): New define_insn_and_split.
- (symGOT_load): Use chk_guard_add instead of blockage.
-
-2011-06-09 Kai Tietz <ktietz@redhat.com>
-
- * libgcc2.c (L_trampoline): Include windows.h for mingw targets.
-
-2011-06-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
-
-2011-06-09 Wei Guozhi <carrot@google.com>
-
- PR target/46975
- * config/arm/arm.md (*addsi3_carryin_compare0_<optab>): New pattern.
- (peephole2 for conditional move): Generate 16 bit instructions.
-
-2011-06-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movdi_internal_rex64): Merge
- alternatives 6 and 8.
-
-2011-06-09 David Li <davidxl@google.com>
-
- * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
- * passes.c (passr_eq): New function.
- (create_pass_tab): New function.
- (pass_traverse): New function.
- (dump_one_pass): New function.
- (dump_pass_list): New function.
- (dump_passes): New function.
-
-2011-06-09 David Li <davidxl@google.com>
-
- * tree-complex.c (tree_lower_complex): Gate cleanup.
- * tree-stdarg.c (check_all_va_list_escapes): Ditto.
- (execute_optimize_stdarg): Ditto.
- * tree-eh.c (execute_lower_eh_dispatch): Ditto.
- (execute_cleanup_eh_1): Ditto.
- (execute_cleanup_eh): Ditto.
- * gcse.c (gate_rtl_pre): Ditto.
- (execute_rtl_pre): Ditto.
- * except.c (finish_eh_generation): Ditto.
- (convert_to_eh_region_ranges): Ditto.
- * cprop.c (one_cprop_pass): Ditto.
-
-2011-06-09 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/48673
- * config/ia64/ia64.c (ia64_reorg): Clear BB_DISABLE_SCHEDULE flag
- in all basic blocks.
-
-2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
- (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- [IN_LIBGCC2]: Don't include <windows.h>.
- * config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
- * config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
- (HAVE_ENABLE_EXECUTE_STACK): Define.
- * config/alpha/alpha.c (alpha_trampoline_init): Test
- HAVE_ENABLE_EXECUTE_STACK.
- * config/i386/i386.c (ix86_trampoline_init): Likewise.
- * config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
- (sparc64_initialize_trampoline): Likewise.
- * libgcc2.c [L_enable_execute_stack]: Remove.
- * system.h (ENABLE_EXECUTE_STACK): Poison.
- * doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
- * doc/tm.texi: Regenerate.
- * Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.
-
-2011-06-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49308
- * dce.c (reset_unmarked_insns_debug_uses): Avoid shadowing insn
- variable. After resetting and rescanning insn continue with previous
- statement.
-
-2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_as_hidden): Enable on *-*-darwin*.
- (gcc_cv_ld_hidden): Likewise.
- * configure: Regenerate.
- * config/i386/i386.c (USE_HIDDEN_LINKONCE): Remove TARGET_MACHO.
- (ix86_stack_protect_fail): Mark unused.
- (TARGET_STACK_PROTECT_FAIL) [TARGET_MACHO]: Don't redefine.
- * config/rs6000/rs6000.c (rs6000_assemble_visibility)
- [TARGET_MACHO]: Don't define.
- (TARGET_ASM_ASSEMBLE_VISIBILITY): Likewise.
- (TARGET_STACK_PROTECT_FAIL): Likewise.
- (rs6000_stack_protect_fail): Mark unused.
- * dwarf2asm.c (dw2_output_indirect_constant_1): Mark decl hidden if
- USE_LINKONCE_INDIRECT. Don't emit .hidden expicitly.
-
-2011-06-08 Andi Kleen <ak@linux.intel.com>
-
- * varasm.c (get_section): Print location of other conflict
- for section conflicts.
-
-2011-06-08 Andi Kleen <ak@linux.intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu):
- Add model 0x2d Intel CPU.
-
-2011-06-08 Andi Kleen <ak@linux.intel.com>
-
- * reginfo.c (global_regs_decl): Add.
- (globalize_reg): Add decl parameter. Compute location. Pass location
- to warnings and add inform. Store decl in global_regs_decl.
- * rtl.h (globalize_reg): Update prototype.
- * varasm.c (make_decl_rtl): Pass decl to globalize_reg().
-
-2011-06-09 Mingjie Xing <mingjie.xing@gmail.com>
-
- * treestruct.def (TS_TYPE_DECL): Fix the printable name typo.
-
-2011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49305
- * config/sh/predicates.md (general_movsrc_operand): Check
- mode for memory with indexed address for QI and HImode.
- (general_movdst_operand): Likewise.
-
-2011-06-09 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * doc/objc.texi (Traditional GNU Objective-C runtime API): Updated.
-
-2011-06-08 Alexandre Oliva <aoliva@redhat.com>
-
- * tree-flow-inline.h (op_iter_init): Reject GIMPLE_PHI stmts.
- (num_ssa_operands): Likewise.
- (op_iter_init_phiuse): Forward-declare.
- (delink_stmt_imm_use): Iterate with FOR_EACH_PHI_OR_STMT_USE.
-
-2011-06-08 Nick Clifton <nickc@redhat.com>
-
- * doc/invoke.texi (ARM Options): Update description of
- -mthumb-interwork.
-
-2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Support
- unknown Intel family 0x6 CPUs.
-
-2011-06-08 Martin Jambor <mjambor@suse.cz>
-
- * tree-sra.c (mark_rw_status): Removed.
- (analyze_access_subtree): New parameter parent instead of
- mark_read and mark_write, propagate from that.
-
-2011-06-08 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
- for double-precision helper functions in hard-float mode if only
- single-precision arithmetic is supported in hardware.
-
-2011-06-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/49303
- * sel-sched.c (move_op): Use correct type for 'res'. Verify that
- code_motion_path_driver returned 0 or 1.
- (sel_region_finish): Clear h_d_i_d.
-
-2011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (prepare_move_operands): Set pic register
- appropriately for global and local dynamic tls models even
- if flag_pic is unset.
-
-2011-06-07 Jason Merrill <jason@redhat.com>
-
- * pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
-
-2011-06-07 Xinliang David Li <davidxl@google.com>
- * passes.c (enable_disable_pass): Handle assembler name.
- (is_pass_explicitly_enabled_or_disabled): Ditto.
-
-2011-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/48497
- * doc/sourcebuild.texi (Directives, dg-additional-options): Document.
-
-2011-06-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Change FIXME
- to use gimple_val_nonnegative_real_p.
- * gimple-fold.c (gimple_val_nonnegative_real_p): New function.
- * gimple.h (gimple_val_nonnegative_real_p): New declaration.
-
-2011-06-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (*movsf_internal): Optimize AVX check.
-
-2011-06-07 Sergey Grechanik <mouseentity@ispras.ru>
-
- * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS for
- constant vectors.
-
-2011-06-07 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (initialize_sizetypes): Initialize all
- sizetypes based on target definitions.
- (set_sizetype): Remove.
- * tree.c (build_common_tree_nodes): Do not call set_sizetype.
- * tree.h (set_sizetype): Remove.
-
-2011-06-07 Nick Clifton <nickc@redhat.com>
-
- * config.gcc: Unify V850 architecture options and add support for
- newer V850 architectures.
- * config/v850/t-v850e: Delete.
-
-2011-06-07 Richard Guenther <rguenther@suse.de>
-
- * tree.c (build_common_tree_nodes): Also initialize size_type_node.
- Call set_sizetype from here.
-
-2011-06-07 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.md (*maddhidi4tb, *maddhidi4tt): New define_insns.
- (*maddhisi4tb, *maddhisi4tt): New define_insns.
-
-2011-06-07 Bernd Schmidt <bernds@codesourcery.com>
- Andrew Stubbs <ams@codesourcery.com>
-
- * simplify-rtx.c (simplify_unary_operation_1): Canonicalize widening
- multiplies.
- * doc/md.texi (Canonicalization of Instructions): Document widening
- multiply canonicalization.
-
-2011-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/49299
- * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
-
-2011-06-07 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vectorizer.h (vect_recog_func_ptr): Make last argument to be
- a pointer.
- * tree-vect-patterns.c (vect_recog_widen_sum_pattern,
- vect_recog_widen_mult_pattern, vect_recog_dot_prod_pattern,
- vect_recog_pow_pattern): Likewise.
- (vect_pattern_recog_1): Remove declaration.
- (widened_name_p): Remove declaration. Add new argument to specify
- whether to check that both types are either signed or unsigned.
- (vect_recog_widen_mult_pattern): Update documentation. Handle
- unsigned patterns and multiplication by constants.
- (vect_pattern_recog_1): Update vect_recog_func references. Use
- statement information from the statement returned from pattern
- detection functions.
- (vect_pattern_recog): Update vect_recog_func reference.
- * tree-vect-stmts.c (vectorizable_type_promotion): For widening
- multiplication by a constant use the type of the other operand.
-
-2011-06-06 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/49145
- * combine.c (make_compound_operation): Handle ZERO_EXTEND specially.
-
-2011-06-06 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49262
- * dwarf2out.c (native_encode_initializer): Decrement count in each
- iteration.
-
- PR debug/49294
- * dwarf2out.c (mem_loc_descriptor) <do_shift>: Give up for
- non-MODE_INT modes.
-
- PR c++/49264
- * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
- if stmt folded into nothing.
- * tree-inline.c (fold_marked_statements): If a builtin at the end of
- a bb folded into nothing, just update cgraph edges and move to next bb.
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
- to be NULL. Don't compute count and frequency if new_call is NULL.
-
-2011-06-04 Diego Novillo <dnovillo@google.com>
-
- * Makefile.in (lto-compress.o): Add dependency on LTO_STREAMER_H.
- (cgraph.o): Likewise.
- (cgraphunit.o): Likewise.
- * cgraphunit.c: Include lto-streamer.h
- (cgraph_finalize_compilation_unit): Call lto_streamer_hooks_init
- if LTO is enabled.
- * lto-streamer-in.c (unpack_value_fields): Call
- streamer_hooks.unpack_value_fields if set.
- (lto_materialize_tree): For unhandled nodes, first try to
- call lto_streamer_hooks.alloc_tree, if it exists.
- (lto_input_ts_decl_common_tree_pointers): Move reading of
- DECL_INITIAL to lto_streamer_read_tree.
- (lto_read_tree): Call lto_streamer_hooks.read_tree if set.
- (lto_streamer_read_tree): New.
- (lto_reader_init): Rename from lto_init_reader.
- Move initialization code to lto/lto.c.
- * lto-streamer-out.c (pack_value_fields): Call
- streamer_hooks.pack_value_fields if set.
- (lto_output_tree_ref): For tree nodes that are not normally indexable,
- call streamer_hooks.indexable_with_decls_p before giving up.
- (lto_output_ts_decl_common_tree_pointers): Move handling
- for FUNCTION_DECL and TRANSLATION_UNIT_DECL to lto_streamer_write_tree.
- (lto_output_tree_header): Call streamer_hooks.is_streamable instead of
- lto_is_streamable. Call lto_streamer_hooks.output_tree_header if set.
- (lto_write_tree): Call lto_streamer_hooks.write_tree if set.
- (lto_streamer_write_tree): New.
- (lto_output): Call lto_streamer_init directly.
- (lto_writer_init): Remove.
- * lto-streamer.c (streamer_hooks): New.
- (lto_streamer_cache_create): Call streamer_hooks.preload_common_nodes
- instead of lto_preload_common_nodes.
- (lto_is_streamable): Move from lto-streamer.h
- (lto_streamer_hooks_init): New.
- (streamer_hooks): New.
- (streamer_hooks_init): New.
- * lto-streamer.h (struct output_block): Forward declare.
- (struct lto_input_block): Likewise.
- (struct data_in): Likewise.
- (struct bitpack_d): Likewise.
- (struct streamer_hooks): Declare.
- (streamer_hooks): Declare.
- (lto_streamer_hooks_init): Declare.
- (lto_streamer_write_tree): Declare.
- (lto_streamer_read_tree): Declare.
- (streamer_hooks_init): Declare.
- (lto_is_streamable): Move to lto-streamer.c
-
-2011-06-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * longlong.h (smul_ppmm): The resulting register pair contains the
- higher order word first.
-
-2011-06-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * builtins.c (powi_table): Remove.
- (powi_lookup_cost): Remove.
- (powi_cost): Remove.
- (expand_powi_1): Remove.
- (expand_powi): Remove.
- (expand_builtin_pow_root): Remove.
- (expand_builtin_pow): Remove.
- (expand_builtin_powi): Eliminate handling of constant exponent.
- (expand_builtin): Use expand_builtin_mathfn_2 for BUILT_IN_POW.
-
-2011-06-06 Alexandre Oliva <aoliva@redhat.com>
-
- * cprop.c (local_cprop_pass): Don't set changed for debug insns.
-
-2011-06-06 Alexandre Oliva <aoliva@redhat.com>
-
- * dce.c (reset_unmarked_insns_debug_uses): New.
- (delete_unmarked_insns): Skip debug insns.
- (prescan_insns_for_dce): Likewise.
- (rest_of_handle_ud_dce): Reset debug uses of removed sets.
- * reg-stack.c (subst_stack_regs_in_debug_insn): Signal when no
- active reg can be found.
- (subst_all_stack_regs_in_debug_insn): New. Reset debug insn then.
- (convert_regs_1): Use it.
-
-2011-06-06 Alexandre Oliva <aoliva@redhat.com>
-
- * tree-pretty-print.c (dump_function_header): Add flags.
- Don't dump decl_uid with nouid.
- * tree-pretty-print.h (dump_function_header): Adjust.
- * final.c (rest_of_clean_state): Pass dump_flags on, with nouid.
- * passes.c (pass_init_dump_file): Pass dump_flags on.
- * tree-cfg.c (gimple_dump_cfg): Pass flags on.
-
-2011-06-06 Alexandre Oliva <aoliva@redhat.com>
-
- PR bootstrap/49270
- * ipa-inline-analysis.c (read_predicate): Initialize all clauses.
-
-2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
-
- PR tree-optimization/49243
- * calls.c (setjmp_call_p): Also check if fndecl has the
- returns_twice attribute.
-
-2011-06-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
- -ffast-math etc.
-
-2011-06-06 Richard Henderson <rth@redhat.com>
- Georg-Johann Lay <avr@gjlay.de>
-
- PR target/42210
- * config/avr/predicates.md (const1_operand, const_0_to_7_operand):
- New predicates.
- * config/avr/avr.md ("insv"): New insn expander.
- ("*movbitqi.1-6.a", "*movbitqi.1-6.b", "*movbitqi.0", "*insv.io",
- "*insv.not.io", "*insv.reg"): New insns.
-
-2011-06-06 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR target/49285
- * config/mmix/mmix.md ("truncdfsf2", "extendsfdf2"): Correct predicate
- to nonimmediate_operand from memory_operand for the operand that is to
- be forced to memory by the expander. Lose the constraints.
-
-2011-06-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (output_return): Fix thinko in the output of an
- EH return when delayed branches are disabled.
-
-2011-06-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>:
- Remove MODE_TI handling. Remove SSE1 handling in attribute "mode"
- calculation.
- (*movdf_internal_rex64) <case 6,7,8>: Remove MODE_TI handling.
- Simplify MODE_V1DF and MODE_V2SF handling.
- (*movsf_internal): Remove x constraint from alternative 7 of operand 1.
- Simplify MODE_SF handling.
-
-2011-06-04 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/48893
- PR tree-optimization/49091
- PR tree-optimization/49179
- * ipa-inline-analysis.c (evaluate_conditions_for_known_args):
- Bounds check.
-
-2011-06-04 Jan Hubicka <jh@suse.cz>
-
- PR lto/48954
- * lto-cgraph.c (output_node_opt_summary): Handle NULL skip args
- bitmaps.
-
-2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/invoke.texi: Document -Wdelete-non-virtual-dtor.
-
-2011-06-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49281
- * config/i386/i386.md (*lea_general_4): Require INTVAL (operands[3])
- to be strictly smaller than 1 << shiftcount.
-
-2011-06-04 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/48929
- * ipa-inline-analysis.c (remap_edge_predicates): Fix handling
- of empty predicate.
-
-2011-06-04 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/48333
- * calls.c (emit_call_1): Prefer the __builtin declaration of
- builtin functions.
-
-2011-06-03 Diego Novillo <dnovillo@google.com>
-
- * lto-streamer-in.c (unpack_value_fields): Remove unneeded asserts.
- (lto_input_tree_pointers): Likewise.
- * lto-streamer-out.c (pack_value_fields): Likewise.
- (lto_output_tree_pointers): Likewise.
- * lto-streamer.h (lto_is_streamable): Add check for OMP_CLAUSE
- and OPTIMIZATION_NODE.
-
-2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
- * config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
- * config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
- * config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
- * config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
- * config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
- * config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
- * config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
- * config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
- * config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
- * config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
- * config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
- * config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
- * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
- * config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
- * config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
- * config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
- * config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
- * config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
- * config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
- * config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
- * config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
- * config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
- * config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
- * config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
- * config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
- * config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
- * config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
- * config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
- * config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
- * config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
- * config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
- * config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
- * config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
- * config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
- * config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
- * system.h (MD_UNWIND_SUPPORT): Poison.
- * doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
- * doc/tm.texi: Regenerate.
- * unwind-dw2.c: Include md-unwind-support.h instead of
- MD_UNWIND_SUPPORT.
- * config/ia64/unwind-ia64.c: Likewise.
- * config/xtensa/unwind-dw2-xtensa.c: Likewise.
-
-2011-06-03 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * varpool.c (varpool_extra_name_alias): Return NULL, not false.
-
-2011-06-03 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
- (sigill_hdlr): Correct insn, insn size.
- (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
-
-2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6
- t-slibgcc-dummy.
- * config/mips/irix-crti.asm: Move to ../libgcc/config/mips/irix-crti.S.
- * config/mips/irix-crtn.asm: Move to ../libgcc/config/mips/irix-crtn.S.
- * config/mips/t-iris: Remove.
- * config/mips/t-irix6: New file.
- * config/mips/t-slibgcc-irix: Move to ../libgcc/config/mips.
-
-2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (LIB2ADDEHDEP): Remove.
- * config/arm/t-bpabi (LIB2ADDEHDEP): Remove.
- * config/arm/t-symbian (LIB2ADDEHDEP): Remove.
- * config/picochip/t-picochip (LIB2ADDEHDEP): Remove.
- * config/t-darwin (LIB2ADDEHDEP): Remove.
- * config/t-freebsd (LIB2ADDEHDEP): Remove.
- * config/t-linux (LIB2ADDEHDEP): Remove.
-
-2011-06-03 Diego Novillo <dnovillo@google.com>
-
- * lto-streamer-in.c (get_resolution): Move to lto/lto.c.
- (lto_register_var_decl_in_symtab): Likewise.
- (lto_register_function_decl_in_symtab): Likewise.
- (lto_read_tree): Move VAR_DECL and FUNCTION_DECL registration
- logic to uniquify_nodes.
-
-2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/t-osf5: Remove.
- * config/alpha/t-osf-pthread: Remove.
- * config.gcc (alpha*-dec-osf5.1*): Set tmake_file to t-slibgcc-dummy.
- * mkmap-flat.awk: Handle osf_export for Tru64 UNIX linker -input file.
-
-2011-06-03 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm-cores.def (strongarm, strongarm110, strongarm1100)
- (strongarm1110): Use strongarm tuning.
- * config/arm/arm-protos.h (tune_params): Add max_insns_skipped field.
- * config/arm/arm.c (arm_strongarm_tune): New.
- (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
- (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a5_tune)
- (arm_cortex_a9_tune, arm_fa726te_tune): Add max_insns_skipped field
- setting, using previous defaults or 1 for Cortex-A5.
- (arm_option_override): Set max_insns_skipped from current tuning.
-
-2011-06-03 Nathan Sidwell <nathan@codesourcery.com>
-
- * doc/install.texi (Options specification): Document --with-specs.
-
-2011-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/neon.md (orndi3_neon): Actually split it.
-
-2011-06-02 Alexandre Oliva <aoliva@redhat.com>
-
- * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Bump default to 10.
- * var-tracking.c (reverse_op): Limite recurse depth to 5.
-
-2011-06-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47590
- * target.def (delay_sched2, delay_vartrack): New.
- * doc/tm.texi.in: Update.
- * doc/tm.texi: Rebuild.
- * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
- * var-tracking.c (gate_handle_var_tracking): Likewise.
- * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
- (bfin_flag_var_tracking): Drop.
- (output_file_start): Don't save and override flag_var_tracking.
- (bfin_option_override): Ditto flag_schedule_insns_after_reload.
- (bfin_reorg): Test original variables.
- (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
- * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
- (ia64_flag_var_tracking): Drop.
- (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
- (ia64_file_start): Don't save and override flag_var_tracking.
- (ia64_override_options_after_change): Ditto
- flag_schedule_insns_after_reload.
- (ia64_reorg): Test original variables.
- * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
- (picochip_flag_var_tracking): Drop.
- (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
- (picochip_option_override): Don't save and override
- flag_schedule_insns_after_reload.
- (picochip_asm_file_start): Ditto flag_var_tracking.
- (picochip_reorg): Test original variables.
- * config/spu/spu.c (spu_flag_var_tracking): Drop.
- (TARGET_DELAY_VARTRACK): Define.
- (spu_var_tracking): New.
- (spu_machine_dependent_reorg): Call it.
- (asm_file_start): Don't save and override flag_var_tracking.
-
-2011-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49163
- * config/sh/predicates.md (general_movsrc_operand): Return 0
- for memory and memory subreg of which address is an invalid
- indexed address for QI and HImode.
- (general_movdst_operand): Likewise.
-
-2011-06-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * cse.c (cse_find_path): Refine change to exclude EDGE_ABNORMAL_CALL
- edges only, when there is a non-local label in the function.
- * postreload-gcse.c (bb_has_well_behaved_predecessors): Likewise.
-
-2011-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraints.md (Y3): New register constraint.
- * config/i386/sse.md (*vec_interleave_highv2df): Merge with
- *sse3_interleave_highv2df and *sse2_interleave_highv2df.
- (*vec_interleave_lowv2df): Merge with *sse3_interleave_lowv2df and
- *sse2_interleave_lowv2df.
-
-2011-06-02 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
- * config/arm/arm.c (arm_cortex_a5_branch_cost): New.
- (arm_cortex_a5_tune): New.
-
-2011-06-02 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm-protos.h (tune_params): Add branch_cost hook.
- * config/arm/arm.c (arm_default_branch_cost): New.
- (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
- (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a9_tune)
- (arm_fa726_tune): Set branch_cost field using
- arm_default_branch_cost.
- * config/arm/arm.h (BRANCH_COST): Use branch_cost hook from
- current_tune structure.
- * dojump.c (tm_p.h): Include file.
-
-2011-06-02 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm-cores.def (arm1156t2-s, arm1156t2f-s): Use v6t2
- tuning.
- (cortex-a5, cortex-a8, cortex-a15, cortex-r4, cortex-r4f, cortex-m4)
- (cortex-m3, cortex-m1, cortex-m0): Use cortex tuning.
- * config/arm/arm-protos.h (tune_params): Add prefer_constant_pool
- field.
- * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
- (arm_xscale_tune, arm_9e_tune, arm_cortex_a9_tune)
- (arm_fa726te_tune): Add prefer_constant_pool setting.
- (arm_v6t2_tune, arm_cortex_tune): New.
- * config/arm/arm.h (TARGET_USE_MOVT): Make dependent on
- prefer_constant_pool setting.
-
-2011-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (standard_sse_constant_p) <case 1>: Simplify
- switch statement.
- * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>: Ditto.
- (*movdf_internal) <case 6,7,8>: Ditto.
-
- * config/i386/constraints.md (Y4): New register constraint.
- * config/i386/sse.md (vec_set<mode>_0): Merge with
- *vec_set<mode>_0_sse4_1 and *vec_set<mode>_0_sse2.
- (*vec_extractv2di_1): Merge from *vec_extractv2di_1_sse2 and
- *vec_extractv2di_1_sse.
- (*vec_concatv2di_rex64): Merge from *vec_concatv2di_rex64_sse4_1
- and *vec_concatv2di_rex64_sse.
-
-2011-06-02 Stuart Henderson <shenders@gcc.gnu.org>
-
- PR target/48807
- * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Check return value
- of cgraph_local_info for null before attempting to use it.
-
-2011-06-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * function.h (struct stack_usage): Remove dynamic_alloc_count field.
- (current_function_dynamic_alloc_count): Delete.
- * builtins.c (expand_builtin_setjmp_setup): Do not set calls_setjmp.
- (expand_builtin_nonlocal_goto): Remove obsolete comment.
- (expand_builtin_update_setjmp_buf): Remove dead code.
- * cse.c (cse_find_path): Do not follow a single abnormal incoming edge.
- * explow.c (allocate_dynamic_stack_space): Remove SETJMP_VIA_SAVE_AREA
- support.
- * function.c (instantiate_virtual_regs): Likewise.
- * postreload-gcse.c (bb_has_well_behaved_predecessors): Return false
- for a block with a single abnormal incoming edge.
- * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Define.
- (SETJMP_VIA_SAVE_AREA): Delete.
- * config/sparc/sparc-protos.h (load_got_register): Declare.
- * config/sparc/sparc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
- (load_got_register): Make global.
- (sparc_frame_pointer_required): Add 'static'.
- (sparc_can_eliminate): Likewise. Call sparc_frame_pointer_required.
- (sparc_builtin_setjmp_frame_value): New function.
- * config/sparc/sparc.md (UNSPECV_SETJMP): Remove.
- (save_stack_nonlocal): New expander.
- (restore_stack_nonlocal): Likewise.
- (nonlocal_goto): Remove modes, adjust predicates and reimplement.
- (nonlocal_goto_internal): New insn.
- (goto_handler_and_restore): Delete.
- (builtin_setjmp_setup): Likewise.
- (do_builtin_setjmp_setup): Likewise.
- (setjmp): Likewise.
- (builtin_setjmp_receiver): New expander.
-
-2011-06-01 David Li <davidxl@google.com>
-
- PR middle-end/49261
- * tree-pretty-print.c (dump_function_header): Format cleanup.
-
-2011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49238
- * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
- needed when original operands are used for msw_skip comparison.
-
-2011-06-01 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49250
- * var-tracking.c (add_uses, add_stores): Don't call
- cselib_subst_to_values on ENTRY_VALUE.
-
-2011-06-01 Diego Novillo <dnovillo@google.com>
-
- * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
- output_record_start with LTO_null instead of output_zero.
- (lto_output_ts_binfo_tree_pointers): Likewise.
- (lto_output_tree): Likewise.
- (output_eh_try_list): Likewise.
- (output_eh_region): Likewise.
- (output_eh_lp): Likewise.
- (output_eh_regions): Likewise.
- (output_bb): Likewise.
- (output_function): Likewise.
- (output_unreferenced_globals): Likewise.
- * lto-streamer.h (enum LTO_tags): Reserve MAX_TREE_CODES
- instead of NUM_TREE_CODES.
- (lto_tag_is_tree_code_p): Check max value against MAX_TREE_CODES.
- (lto_output_int_in_range): Change << to >> when shifting VAL.
-
-2011-06-01 Diego Novillo <dnovillo@google.com>
-
- * lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers):
- Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
-
-2011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/45074
- * optabs.h (valid_multiword_target_p): Declare.
- * expmed.c (extract_bit_field_1): Check valid_multiword_target_p when
- doing multi-word operations.
- * optabs.c (expand_binop): Likewise.
- (expand_doubleword_bswap): Likewise.
- (expand_absneg_bit): Likewise.
- (expand_unop): Likewise.
- (expand_copysign_bit): Likewise.
- (multiword_target_p): New function.
-
-2011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/48830
- PR rtl-optimization/48808
- PR rtl-optimization/48792
- * reload.c (push_reload): Check contains_reg_of_mode.
- * reload1.c (strip_paradoxical_subreg): New function.
- (gen_reload_chain_without_interm_reg_p): Use it to handle
- paradoxical subregs.
- (emit_output_reload_insns, gen_reload): Likewise.
-
-2011-06-01 David Li <davidxl@google.com>
-
- * predict.c : Change pass name
- * ipa.c: Ditto.
- * dce.c: Ditto.
- * tree-profile.c: Ditto.
- * except.c: Ditto.
-
-2011-06-01 David Li <davidxl@google.com>
-
- * tree-pretty-print.c (dump_function_header): New function.
- * final.c (rest_of_clean_state): Use header dumper.
- * tree-cfg.c (gimple_dump_cfg): Use header dumper.
- * passes.c (pass_init_dump_file): Use header dumper.
-
-2011-06-01 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
- ucompare_loc_descriptor, minmax_loc_descriptor, clz_loc_descriptor,
- popcount_loc_descriptor, bswap_loc_descriptor, rotate_loc_descriptor):
- New functions.
- (mem_loc_descriptor): Use them.
-
- * var-tracking.c (create_entry_value): New function.
- (vt_add_function_parameter): Use it.
-
-2011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
- Include <signal.h>, <ucontext.h>.
- (sigill_caught): Define.
- (sigill_hdlr): New function.
- (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
- insns can be executed.
- * config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
- * config/sparc/sol2.h (ENDFILE_SPEC): Remove.
-
-2011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/t-slibgcc-darwin: Move to ...
- * config/t-slibgcc-dummy: ... this. Clarify comments.
- * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
- powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
- (i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
- (i[34567]86-*-rtems*): Remove extra_parts. Use i386/t-rtems.
- Remove i386/t-crtstuff from tmake_file.
- (i[34567]86-*-solaris2*): Remove t-svr4,
- t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
- t-slibgcc-dummy.
- (sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
- (sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
- sparc/t-crtfm from tmake_file.
- (sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
- t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
- Remove extra_parts.
- * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
- * config/i386/t-nwld (SHLIB_LINK): Remove.
- * config/i386/t-rtems-i386: Rename to ...
- * config/i386/t-rtems: ... this.
- ($(T)crti.o, $(T)crtn.o): Remove.
- (FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
- (dp-bit.c, fp-bit.c, xp-bit.c): Remove.
- (EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
- * config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
- EXTRA_MULTILIB_PARTS): Remove.
- * config/sparc/t-sol2-64: Likewise.
- * config/sparc/t-sol2: Remove.
- * config/sparc/t-crtin: Remove.
- * config/sparc/gmon-sol2.c: Move to ../libgcc/config.
- * config/i386/gmon-sol2.c: Remove.
- * config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
- * config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
- * config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
- * config/i386/sol2-gc1.asm: Remove.
- * config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
- * config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
- * config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
- * config/t-slibgcc-sld: Remove.
-
-2011-06-01 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (mem_loc_descriptor) <do_ucompare>: Call
- base_type_for_mode with op_mode instead of mode.
-
-2011-06-01 Paul Brook <paul@cpodesourcery.com>
-
- * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to
- Cortex-A15.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm.c (FL_DIV): Rename...
- (FL_THUMB_DIV): ... to this.
- (FL_ARM_DIV): Define.
- (FL_FOR_ARCH7R, FL_FOR_ARCH7M): Use FL_THUMB_DIV.
- (arm_arch_hwdiv): Remove.
- (arm_arch_thumb_hwdiv, arm_arch_arm_hwdiv): New variables.
- (arm_issue_rate): Add cortexr5.
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set
- __ARM_ARCH_EXT_IDIV__.
- (TARGET_IDIV): Define.
- (arm_arch_hwdiv): Remove.
- (arm_arch_arm_hwdiv, arm_arch_thumb_hwdiv): New prototypes.
- * config/arm/arm.md (tune_cortexr4): Add cortexr5.
- (divsi3, udivsi3): New patterns.
- * config/arm/thumb2.md (divsi3, udivsi3): Remove.
- * doc/invoke.texi: Document ARM -mcpu=cortex-r5
-
-2011-06-01 Martin Jambor <mjambor@suse.cz>
-
- * ipa-utils.c (ipa_dfs_info): New field scc_no.
- * ipa-utils.c (searchc): Set scc_no.
-
-2011-06-01 Martin Jambor <mjambor@suse.cz>
-
- * ipa-utils.c (searchc_env): New field allow_overwritable.
- (searchc): do not ignore edges to overwritable nodes if indicated
- by env->allow_overwritable.
- (ipa_reduced_postorder): Set env.allow_overwritable.
-
-2011-06-01 Richard Guenther <rguenther@suse.de>
-
- * tree.c (free_lang_data): Do not reset boolean_type_node nor
- char_type_node.
- * lto-streamer.c (lto_record_common_node): Take node pointer,
- do not register types.
- (lto_preload_common_nodes): Explicitly skip preloading nodes
- that differ between frontends.
-
-2011-05-31 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
- NON_FLOAT_REGS.
-
-2011-05-31 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
- parameter value for dump. Dump cost on outermost call only.
- (rs6000_memory_move_cost): Dump cost on outermost call only.
-
-2011-05-31 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
- DW_OP_GNU_convert ops.
-
- * cselib.c (promote_debug_loc): Allow l->next non-NULL for
- cselib_preserve_constants.
- (cselib_lookup_1): If cselib_preserve_constants,
- a new VALUE is being created for REG and there is a VALUE for the
- same register in wider mode, add another loc with lowpart SUBREG of
- the wider VALUE.
- (cselib_subst_to_values): Handle ENTRY_VALUE.
- * var-tracking.c (replace_expr_with_values): Return NULL for
- ENTRY_VALUE too.
- * dwarf2out.c (convert_descriptor_to_signed): New function.
- (mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
- instead of two shifts.
- (mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
- the right mode if needed.
- (mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
- (mem_loc_descriptor) <case UNSIGNED_FIX>: Use
- convert_descriptor_to_signed.
- (mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
- BSWAP, ROTATE, ROTATERT>: Handle these rtls.
-
- PR target/48688
- * config/i386/i386.md (*lea_general_4): New define_insn_and_split.
-
-2011-05-31 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
- of X87MODEI12 and SWI48x instead of SSEMODEI24.
- (SWI248x): New mode iterator, rename from X87MODEI.
- (X87MODEI): Remove mode iterator.
- (X87MODEI12): Ditto.
- (SSEMODEI24): Ditto.
-
-2011-05-31 Alexandre Oliva <aoliva@redhat.com>
-
- * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
- * doc/invoke.texi: Document max-vartrack-expr-depth.
- * var-tracking.c (EXPR_DEPTH): New.
- (reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.
-
-2011-05-31 Alexandre Oliva <aoliva@redhat.com>
-
- * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
- * config/i386/sse.md: Add n to negated FMA pattern names.
-
-2011-05-31 Alexandre Oliva <aoliva@redhat.com>
-
- * gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
-
-2011-05-31 Alexandre Oliva <aoliva@redhat.com>
-
- * gengtype-state.c (read_state_params_structs): Initialize previous.
-
-2011-05-31 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
- (FP push_operand splitters): Merge {TF,XF,DF}mode splitters.
-
-2011-05-31 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movtf_internal): Avoid allocating general
- registers. Penalize F*r->o alternative to prevent partial memory
- stalls. Slightly penalize *roF->*r alternative. Generate SSE
- CONST_DOUBLE immediates when optimizing function for size. Do not move
- CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
- (*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
- (*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
- (*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
- alternatives.
- (*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.
-
- (fp_register_operand splitters): Use fp_register_operand
- constraint. Do not use FP_REG_P in insn condition.
- (any_fp_register_operand splitters): Use any_fp_register_operand
- constraint. Do not use ANY_FP_REG_P in insn condition.
-
-2011-05-31 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_inline_failed_t): Give enum a name
- * lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
- (LTO_cgraph_tags): Add LTO_cgraph_last_tag.
- (lto_output_edge): Use output_enum and var_len_unsigned.
- (lto_output_varpool_node): Likewise.
- (input_overwrite_node): Do not take resolution parameter;
- extract it from a bitpack.
- (input_node): Do not read resolution; use input_enum and
- var_len_unsigned.
- (input_varpool_node): Likewise.
- (input_edge): Likewise.
- (input_cgraph_1): Likewise.
-
-2011-05-31 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_register_canonical_type): Do not register
- any types via gimple_register_type.
-
-2011-05-31 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
- of thunks.
-
-2011-05-31 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49235
- * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
- (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
-
-2011-05-31 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49093
- * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
- data references.
-
-2011-05-31 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/49047
- * dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
- for concrete functions containing the code of cloned functions.
-
-2011-05-31 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
- to ...
- (forward_propagate_into_comparison_1): ... this.
- (forward_propagate_comparison): Rename to ...
- (forward_propagate_into_comparison): ... this. Split out
- real forward propagation code to ...
- (forward_propagate_comparison): ... this.
- (forward_propagate_into_gimple_cond): Remove looping.
- (forward_propagate_into_cond): Likewise.
- (simplify_not_neg_expr): Return whether we have done something.
- (simplify_gimple_switch): Likewise.
- (tree_ssa_forward_propagate_single_use_vars): Rename to ...
- (ssa_forward_propagate_and_combine): ... this. Re-structure
- to do a forward forward-propagation walk on BBs and a backward
- stmt combining walk on BBs. Consistently re-scan changed statements.
- (pass_forwprop): Adjust.
-
-2011-05-30 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_format_type): Correct length of name added to
- obstack for anonymous field.
-
-2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49186
- * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
- part of the second operand is 0.
-
-2011-05-30 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
- to prevent partial memory stalls. Do not move CONST_DOUBLEs directly
- to memory for !TARGET_MEMORY_MISMATCH_STALL.
- (*movdf_internal_rex64): Do not penalize F->r alternative.
- (*movdf_internal): Penalize FYd*r->o alternative to prevent partial
- memory stalls. Generate SSE and x87 CONST_DOUBLE immediates only
- when optimizing function for size. Do not move CONST_DOUBLEs
- directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
- (FP move splitters): Merge {TF,XF,DF}mode splitters. Do not handle
- SUBREGs. Do not check for MEM_P operands in the insn condition,
- check for ANY_FP_REGNO_P instead.
- * config/i386/constraints.md (Yd): Enable GENERAL_REGS for
- TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
- function for speed.
- * config/i386/i386.c (ix86_option_override_internal): Do not
- set TARGET_INTEGER_DFMODE_MOVES here.
-
-2011-05-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49168
- * config/i386/i386.md (*movtf_internal): Handle misaligned load/store.
-
-2011-05-30 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (modified_type_die, gen_reference_type_die): Use
- DW_TAG_rvalue_reference_type even for
- -gdwarf-4 -fno-debug-types-section.
-
-2011-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
- (build_and_insert_binop): New.
- (gimple_expand_builtin_pow): Reorder args for
- build_and_insert_call; use build_and_insert_binop; add more
- optimizations for fractional exponents.
-
-2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
-
- PR bootstrap/49190
-
- Revert:
- 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct tree_identifier): Inherit from tree_typed, not
- tree_common.
- (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
- * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
- TS_BASE instead of TS_COMMON.
- * varasm.c (assemble_name): Remove assert.
-
-2011-05-30 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config.gcc: Keep obselete list sorted.
-
-2011-05-30 Jakub Jelinek <jakub@redhat.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
- crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
- there is a DRAP register and arg_pointer_rtx is the CFA pointer.
- (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
- (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.
-
-2011-05-30 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_types_compatible_p_1): Compare record
- and union type members properly.
-
-2011-05-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49210
- * ipa-split.c (split_function): Care for the case where the call
- result is not trivially convertible to the result holding variable.
-
-2011-05-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49218
- * tree-vrp.c (adjust_range_with_scev): Properly check whether
- overflow occured.
-
-2011-05-30 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (forward_propagate_into_comparison):
- New function split out from ...
- (forward_propagate_into_gimple_cond): ... here. Adjust.
- (forward_propagate_into_cond): Likewise.
- (forward_propagate_comparison): Also propagate into
- comparisons on assignment RHS. Change return value to
- behave similar to forward_propagate_into_cond.
- (tree_ssa_forward_propagate_single_use_vars): Handle
- strict-overflow warnings properly for forward_propagate_comparison.
-
-2011-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
- from plugin linker.
- * configure: Regenerate.
-
-2011-05-30 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49199
- * tree-vect-loop.c (vect_is_slp_reduction): Check that the
- non-reduction operands are either defined in the loop or by induction.
-
-2011-05-29 Xinliang David Li <davidxl@google.com>
-
- * opts-global.c (handle_common_deferred_options): Handle new options.
- * passes.c (register_one_dump_file): Call register_pass_name.
- (execute_one_pass): Check explicit enable/disable flag.
- (passr_hash): New function.
- (passr_eq): Ditto.
- (register_pass_name): Ditto.
- (get_pass_by_name): Ditto.
- (pass_hash): Ditto.
- (pass_eq): Ditto.
- (enable_pass): Ditto.
- (disable_pass): Ditto.
- (is_pass_explicitly_enabled_or_disabled): Ditto.
-
-2011-05-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movoi_internal_avx): Use
- standard_sse_constant_opcode for alternative 0.
- (*movti_internal_sse): Ditto.
- (*movti_internal_rex64): Use standard_sse_constant_opcode for
- alternative 2.
- (*movdi_internal_rex64): Use standard_sse_constant_opcode for
- sselog1 type moves.
- (*movsi_internal): Ditto.
- (*movdi_internal): Ditto. Add ssecvt type moves.
-
-2011-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/48830
- * rtlanal.c (simplify_subreg_regno): Adjust comment.
-
-2011-05-29 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49095
- * config/i386/predicates.md (plusminuslogic_operator): New predicate.
- * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.
-
-2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/43995
- * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
- recurse_p argument. Only follow register copies if it is set,
- and prevent mips_find_pic_call_symbol from recursing.
- (mips_find_pic_call_symbol): Add a recurse_p argument.
- Pass it to mips_pic_call_symbol_from_set.
- (mips_annotate_pic_calls): Update accordingly.
-
-2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
-
- * emit-rtl.c (try_split): Use a loop to search for
- NOTE_INSN_CALL_ARG_LOCATIONs.
-
-2011-05-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49217
- * ipa-pure-const.c (propagate_pure_const): Fix typos.
-
-2011-05-28 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer-out.c (hash_string_slot_node): Hash string based on its
- length.
- (string_slot_free): Remove
- (create_output_block): Initialize obstack.
- (destroy_output_block): Free obstack.
- (lto_string_index): Add PERSISTENT parameter; do not duplicate
- the string unless it needs to be added into the hash.
- (lto_output_string_with_length): Add persistent attribute;
- handle NULL strings.
- (lto_output_string): Add PERSISTENT parameter.
- (output_string_cst, output_identifier): Simplify.
- (lto_output_location_bitpack): Update.
- (lto_output_builtin_tree): Update.
- * lto-streamer.h (struct output_block): Add obstack.
- (lto_output_string, lto_output_string_with_length): Remove
- declarations; functions are static now.
-
-2011-05-28 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
- pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
- pack_ts_function_decl_value_fields, lto_output_builtin_tree,
- output_cfg, output_gimple_stmt): Use enum and variable length i/o.
- * lto-streamer-in.c (input_cfg, input_gimple_stmt,
- unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
- unpack_ts_decl_with_vis_value_fields,
- unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
- lto_get_builtin_tree): Use enum and variable length i/o.
- * basic-block.h (profile_status_d): Add PROFILE_LAST.
- * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
- New functions.
- (bp_pack_enum, bp_unpack_enum): New macros.
-
-2011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- * genrecog.c: Remove redundant forward declarations.
-
-2011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config.gcc: Deprecate mips*-*-openbsd*.
-
-2011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR bootstrap/49195
- * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
- for match_op_dup.
-
-2011-05-27 Andrew Pinski <pinskia@gmail.com>
-
- PR middle-end/48981
- * gengtype.c (vec_prefix_type): New function.
- (note_def_vec): Use vec_prefix_type and change the length
- attribute to be based on the prefix.
- * vec.c: Include coretypes.h before vec.h.
- (struct vec_prefix): Remove.
- (vec_gc_p_reserve): Change the offsetof to sizeof.
- (vec_gc_p_reserve_exact): Likewise.
- (vec_heap_p_reserve): Likewise.
- (vec_heap_p_reserve_exact): Likewise.
- (vec_stack_o_reserve_1): Copy from +1 instead of from vec.
- (vec_stack_p_reserve): Change the offsetof to sizeof.
- (vec_stack_p_reserve_exact): Likewise.
- * vec.h (struct vec_prefix): New struct definition.
- (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
- (VEC_T_GTY(T,B)): Likewise.
- (DEF_VEC_FUNC_P(T)): Use prefix field.
- (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
- (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
-
-2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
- (powi_as_mults): Add gimple_set_location.
- (build_and_insert_call): New.
- (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
- 0.5, 0.25, 0.75, 1./3., or 1./6.
-
-2011-05-27 Alexander Monakov <amonakov@ispras.ru>
-
- * doc/contrib.texi: Update copyright years.
- (Contributors): Add Zdenek Sojka.
-
-2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
-
- * c-decl.c (c_push_function_context): Copy the current statement
- list stack.
- (add_stmt): Check building_stmt_list_p and push_stmt if necessary.
- (finish_struct): Call building_stmt_list_p instead of checking
- cur_stmt_list.
- * c-parser.c (c_parser_postfix_expression): Likewise.
- * c-typeck.c (c_end_compound_stmt): Likewise.
- * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
- * tree-iterator.c (stmt_list_cache): Change to a VEC.
- (alloc_stmt_list): Adjust for stmt_list_cache's new type.
- (free_stmt_list): Likewise.
- * tree.h (struct tree_statement_list): Include typed_tree instead
- of tree_common.
- * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
- as TS_TYPED instead of TS_COMMON.
-
-2011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Uros Bizjak <ubizjak@gmail.com>
-
- * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
- (HAVE_AS_IX86_TLSGDPTL): Define.
- (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
- (HAVE_AS_IX86_TLSLDMPLT): Define.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
- * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
- TARGET_SUN_TLS, use @tlsgdplt or @plt.
- (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
- (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
- @tlsldmplt or @plt.
- (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
-
-2011-05-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * sched-int.h (struct _haifa_deps_insn_data): New members cond
- and reverse_cond.
- (INSN_COND, INSN_REVERSE_COND): New macros.
- * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
- once.
- (sched_get_condition_with_rev): Cache the results, and look them up
- if possible.
- (sched_analyze_insn): Destroy INSN_COND of previous insns if they
- are clobbered by the current insn.
- * target.def (exposed_pipline): New sched data hook.
- * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
- * doc/tm.texi: Regenerate.
-
-2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/49170
- * tree-ssa-math-opts.c (execute_cse_sincos): Add checks for
- sincos or cexp.
-
-2011-05-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/49189
- * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
- of comparisons.
-
-2011-05-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (sched_scan_info): Remove.
- (schedule_block): Call sched_extend_luids rather than sched_init_luids
- with NULL args.
- (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
- Remove functions.
- (sched_scan): Remove.
- (sched_extend_luids): Renamed from luids_extend_insn and no longer
- static. All callers changed.
- (sched_init_insn_luid): Renamed from luids_init_insn and no longer
- static. All callers changed.
- (sched_init_luids): Remove all arguments except the first. All
- callers changed. Don't use sched_scan.
- (haifa_init_h_i_d): Likewise.
- (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
- manually rather than using sched_init_luids. Likewise with
- extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
- * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
- rather than sched_init_luids with NULL args.
- * sel-sched-ir.c (new_insns): Remove variable.
- (sched_scan): New static function, previously in haifa-sched.c. Remove
- all arguments but the first two; all callers changed.
- (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
- rather than sched_init_luids.
- (sel_init_bbs): Remove second argument. All callers changed.
- (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
- with NULL arguments.
- (create_insn_rtx_from_pattern): Likewise.
- * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
- * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
- (sched_init_insn_luid, sched_extend_luids): Declare.
- (sched_scan_info_def, sched_scan_info, sched_scan): Remove
- declarations.
-
-2011-05-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/49177
- * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
- A CMP B ? (T) true : (T) false for non-integral types T again.
-
-2011-05-27 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
- so 0 means NULL string.
- (lto_output_string_with_length): ... here.
- (lto_output_string, output_string_cst, output_identifier): Update
- handling of NULL strings.
- (lto_output_location_bitpack): New function.
- (lto_output_location): Use it.
- (lto_output_tree_ref): Use output_record_start.
- (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
- len values.
- * lto-streamer-in.c (string_for_index): Break out from ...; offset
- values by 1.
- (input_string_internal): ... here;
- (input_string_cst, input_identifier, lto_input_string): Update handling
- of NULL strings.
- (lto_input_location_bitpack): New function
- (lto_input_location): Use it.
- (unpack_ts_type_common_value_fields): Pack align & alias in var len
- values.
- * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
- bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
- (bp_pack_value): Sanity check the value range.
- * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
- New functions.
- * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
- New functions.
-
-2011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com>
-
- * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
- call_arg_location instructions down the floor.
-
-2011-05-26 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/49154
- * ira.c (setup_pressure_classes): Process class without sublcasses
- as a candidate for pressure classes.
-
-2011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/48575
- * genrecog.c (position_type): New enum.
- (position): New structure.
- (decision): Use position structure instead of a string.
- (root_pos, peep2_insn_pos_list): New variables.
- (next_position, compare_positions): New functions.
- (new_decision): Use position structures instead of strings.
- (maybe_both_true): Likewise.
- (change_state): Likewise.
- (write_tree): Likewise.
- (make_insn_sequence): Likewise.
-
-2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
- TS_BASE instead of TS_COMMON.
- (find_decls_types_r): Check for TS_TYPED structure before looking at
- TREE_TYPE.
- * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
- Add chain field.
- (BLOCK_CHAIN): Use new chain field.
-
-2011-05-26 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
- moves expensive on Power7 also.
-
-2011-05-26 Richard Guenther <rguenther@suse.de>
-
- * fold-const.c (fold_unary_loc): Remove bogus code.
-
-2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct tree_identifier): Inherit from tree_typed, not
- tree_common.
- (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
- * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
- TS_BASE instead of TS_COMMON.
- * varasm.c (assemble_name): Remove assert.
-
-2011-05-26 Bernd Schmidt <bernds@codesourcery.com>
-
- * Makefile.in (srcdirify): Change order so that libgcc_objdir is
- substituted first.
- * libgcc-std.ver: Delete file.
-
-2011-05-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48702
- * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
- only when we know the base address is within bounds.
- * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
- assume the base address of TARGET_MEM_REFs is in bounds.
-
-2011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/49099
- * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
- declaration in TARGET_SOLARIS.
-
-2011-05-26 Hariharan Sandanagobalane <hariharan@picochip.com>
-
- * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
- The instruction is then expanded explicitly.
- (supported_compare): Callable instruction.
- (compare): Likewise.
-
-2011-05-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49165
- * gimplify.c (shortcut_cond_r): Don't special case
- COND_EXPRs if they have void type on one of their arms.
-
-2011-05-26 Bernd Schmidt <bernds@codesourcery.com>
-
- * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
- to reduce duplication, and to achieve a slightly more logical order
- of operations.
-
-2011-05-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49161
- * tree-vrp.c (struct case_info): New type.
- (compare_case_labels): Sort case_info structs instead of
- trees, and not primarily by CASE_LABEL uids but by
- label_for_block indexes.
- (find_switch_asserts): Put case labels into struct case_info
- array instead of TREE_VEC, adjust sorting, compare label_for_block
- values instead of CASE_LABELs.
-
-2011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
- ("orndi3_neon"): Likewise.
- ("bic<mode>3_neon"): Likewise.
-
-2011-05-26 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49038
- * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
- Ensure at least one epilogue iteration if required by data
- accesses with gaps.
- * tree-vectorizer.h (struct _loop_vec_info): Add new field
- to mark loops that require peeling for gaps.
- * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
- (vect_get_known_peeling_cost): Take peeling for gaps into
- account.
- (vect_transform_loop): Generate epilogue if required by data
- access with gaps.
- * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
- loop as requiring an epilogue if there are gaps in the end of
- the strided group.
-
-2011-05-25 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_format_type): Output the first field with a usable
- Go type, if any.
-
-2011-05-25 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_format_type): Check for invalid type names, pointer
- target types, and struct field types.
-
-2011-05-25 Jason Merrill <jason@redhat.com>
-
- * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
-
-2011-05-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
-
-2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.md (*movqi_extv_1)): Put back
- "register_operand" check in "type" calculation.
- (*movqi_extzv_2): Likewise.
-
-2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
-
-2011-05-25 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/49160
- * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
- __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
- __divxc3, __divtc3): Wrap definitions in #ifndef.
-
-2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49142
- * config/i386/i386.md (*movqi_extv_1_rex64): Remove
- "register_operand" check and replace q_regs_operand with
- QIreg_operand in "type" calculation.
- (*movqi_extv_1): Likewise.
- (*movqi_extzv_2_rex64): Likewise.
- (*movqi_extzv_2): Likewise.
-
- * config/i386/predicates.md (QIreg_operand): New.
-
-2011-05-25 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
- type-based offset disambiguation, streamline MEM_REF and
- TARGET_MEM_REF handling.
-
-2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
- (bdesc_special_args): Add pause intrinsic.
-
- * config/i386/i386.md (UNSPEC_PAUSE): New.
- (pause): Likewise.
- (*pause): Likewise.
- * config/i386/ia32intrin.h (__pause): Likewise.
-
- * doc/extend.texi (X86 Built-in Functions): Add documentation for
- pause intrinsic.
-
-2011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
- (execute_cse_sincos): Add switch case for BUILT_IN_POW.
-
-2011-05-25 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct tree_exp): Inherit from struct tree_typed.
- * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
- instead of TS_COMMON.
-
-2011-05-25 Bernd Schmidt <bernds@codesourcery.com>
-
- * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
- LIBGCC2_GNU_PREFIX is defined.
- (__N): New macro.
- (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
- __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
- __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
- __clz_tab): Define using __N.
- (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
- COMPAT_SIMODE_TRAPPING_ARITHMETIC.
- * target.def (libfunc_gnu_prefix): New hook.
- * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
- (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
- * doc/tm.texi: Regenerate.
- * system.h (LIBGCC2_GNU_PREFIX): Poison.
- * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
- account.
- (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
- (init_optabs): Likewise for the bswap libfuncs.
- * tree.c (build_common_builtin_nodes): Likewise for complex multiply
- and divide.
- * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
- * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
- * libgcc-std.ver: Remove.
- * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
- * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
- libgcc-std.ver.
- * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
- * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
- * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
- * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
- * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
- * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
- * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
- * config/fixed-bit.h (FIXED_OP): Define differently depending on
- LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
- (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
-
-2011-05-25 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer-out.c (output_record_start): Use lto_output_enum
- (lto_output_tree): Use output_record_start.
- * lto-streamer-in.c (input_record_start): Use lto_input_enum
- (lto_get_pickled_tree): Use input_record_start.
- * lto-section-in.c (lto_section_overrun): Turn into fatal error.
- (lto_value_range_error): New function.
- * lto-streamer.h (lto_value_range_error): Declare.
- (lto_output_int_in_range, lto_input_int_in_range): New functions.
- (lto_output_enum, lto_input_enum): New macros.
-
-2011-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * common.opt (flag_stack_usage_info): New variable.
- (-Wstack-usage): New option.
- * doc/invoke.texi (Warning options): Document -Wstack-usage.
- * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
- <OPT_fstack_usage>: Likewise.
- * toplev.c (output_stack_usage): Handle -Wstack-usage.
- * calls.c (expand_call): Test flag_stack_usage_info variable instead
- of flag_stack_usage.
- (emit_library_call_value_1): Likewise.
- * explow.c (allocate_dynamic_stack_space): Likewise.
- * function.c (instantiate_virtual_regs ): Likewise.
- (prepare_function_start): Likewise.
- (rest_of_handle_thread_prologue_and_epilogue): Likewise.
- * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
- * config/arm/arm.c (arm_expand_prologue): Likewise.
- (thumb1_expand_prologue): Likewise.
- * config/avr/avr.c (expand_prologue): Likewise.
- * config/i386/i386.c (ix86_expand_prologue): Likewise.
- * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
- * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
- * config/mips/mips.c (mips_expand_prologue): Likewise.
- * config/pa/pa.c (hppa_expand_prologue): Likewise.
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
- * config/s390/s390.c (s390_emit_prologue): Likewise.
- * config/sh/sh.c (sh_expand_prologue): Likewise.
- * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
- * config/spu/spu.c (spu_expand_prologue): Likewise.
-
-2011-05-25 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
- (gimple_canonical_types_compatible_p): Likewise.
-
-2011-05-25 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49062
- * ipa.c (function_and_variable_visibility): Only add to same
- comdat group list if DECL_ONE_ONLY.
-
-2011-05-25 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/49014
- * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
-
-2011-05-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49128
- * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
-
-2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48757
- * ira-build.c (loop_with_eh_edge_p): Rename to
- loop_with_complex_edge_p, check edges on complexity, make function
- conditional.
- (mark_loops_for_removal): Make call of loop_with_complex_edge_p
- conditional.
-
-2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_option_override): If not set by the user,
- force flag_ira_share_save_slots to 0.
-
-2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * var-tracking.c (compute_cfa_pointer): Adjust head comment.
- (vt_initialize): Set PROLOGUE_BB unconditionally.
- Add block comment about CFA_BASE_RTX machinery.
- Reset FP_CFA_OFFSET to -1 on all invalid paths.
- Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
-
-2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/48187
- * c-parser.c (c_parser_objc_class_instance_variables): More robust
- parsing of syntax error in ObjC instance variable lists. In
- particular, avoid an infinite loop if there is a stray ']'.
- Updated error message.
-
-2011-05-24 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_define): Don't accept a string immediately after
- another operand.
-
-2011-05-24 Ian Lance Taylor <iant@google.com>
-
- * godump.c (struct godump_container): Add invalid_hash field.
- (go_format_type): Return false if type is found in invalid_hash.
- (go_output_typedef): Add invalid type to invalid_hash.
- (go_finish): Create and delete invalid_hash.
-
-2011-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * tree-ssa-math-opts.c (powi_table): New.
- (powi_lookup_cost): New.
- (powi_cost): New.
- (powi_as_mults_1): New.
- (powi_as_mults): New.
- (gimple_expand_builtin_powi): New.
- (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
- (gate_cse_sincos): Remove sincos/cexp restriction.
-
-2011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/3746
- * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
- mips-tdump native.
- * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
- * mips-tdump.c: Likewise.
-
-2011-05-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49128
- * config/i386/driver-i386.c (host_detect_local_cpu): Always
- add -mno-XXX. Handle FMA.
-
-2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48633
- * ira-build.c (loop_with_eh_edge_p): New function.
- (mark_loops_for_removal): Use it.
-
-2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48971
- * ira.c (setup_pressure_classes): Don't check register move cost
- for classes with one registers. Don't add pressure class if there
- is a pressure class with the same available hard registers.
- Check contains_reg_of_mode. Fix a typo in collecting
- temp_hard_regset. Ignore hard registers not belonging to a class.
-
-2011-05-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49133
- * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
-
-2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR gcov-profile/48845
- * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
-
-2011-05-24 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (compare_type_names_p): Remove for_completion_p arg.
- (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
- (gimple_types_compatible_p_1): Adjust.
- (iterative_hash_canonical_type): Do not bother about complete vs.
- incomplete types.
- (gimple_canonical_types_compatible_p): Likewise.
-
-2011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
-
-2011-05-24 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/49078
- * gimple.c (gimple_register_canonical_type): Revert
- previous change.
- * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
- does not for a tree for the case where it matters. Cache
- pointer-type alias-sets.
-
-2011-05-24 Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
- (OBJS): Remove options.o, opts-common.o and prefix.o.
- (OBJS-libcommon-target): New.
- (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
- (BACKEND): Include libcommon-target.a.
- (MOSTLYCLEANFILES): Include libcommon-target.a.
- (libcommon-target.a): New.
- (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
- prefix.o.
-
-2011-05-23 Joseph Myers <joseph@codesourcery.com>
-
- * optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
- parts of output shared with the driver.
- * optc-gen.awk: Don't generate parts of output not shared with the
- driver.
- * opth-gen.awk: Remove GCC_DRIVER conditionals.
- * doc/options.texi (SourcerInclude): Mention options-save.c.
- * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
- (OBJS): Add options-save.o.
- (options-save.c, options-save.o): New.
- (options.o): Update dependencies.
- (gcc-options.o): Remove.
- (mostlyclean): Remove options-save.c.
-
-2011-05-23 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49032
- * dbxout.c: Include cgraph.h.
- (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
- and without value expr, return NULL if no varpool node exists for
- it or if it is not needed.
- * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
-
- PR c/49120
- * c-decl.c (start_decl): Convert expr to void_type_node.
-
-2011-05-23 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/48826
- * emit-rtl.c (try_split): When splitting a call that is followed
- by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
-
-2011-05-23 Jakub Jelinek <jakub@redhat.com>
-
- * cfgexpand.c (expand_debug_expr): For unused non-addressable
- parameters passed in memory prefer using DECL_INCOMING_RTL over
- the pseudos it will be copied into.
-
-2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47315
- * config/i386/i386.c (ix86_option_override_internal): Save the
- initial options after checking vzeroupper.
-
-2011-05-23 David Li <davidxl@google.com>
-
- PR tree-optimization/48988
- * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
- Initialize has_valid_pred for each pred chain.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_types_compatible_p_1): Always compare type names.
- (iterative_hash_gimple_type): Always hash type names.
-
-2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
-
- * c-typeck.c (build_function_call_vec): Tweak call to
- check_function_arguments.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49115
- * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
- is not necessarily carried out, do not claim it kills the ref.
- * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/15419
- * builtins.c (fold_builtin_memory_op): Be less restrictive about
- what pointer types we accept for folding.
-
-2011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gthr-gnat.c: Remove.
- * gthr-gnat.h: Remove.
- * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
- * config/t-freebsd (LIB2ADDEH): Likewise.
- * config/t-linux (LIB2ADDEH): Likewise.
- * config/t-sol2 (LIB2ADDEH): Likewise.
- * config/ia64/t-vms (LIB2ADDEH): Likewise.
- * configure.ac (target_thread_file): Remove gnat handling.
- * configure: Regenerate.
- * doc/install.texi (Configuration, --enable-threads): Remove gnat.
-
-2011-05-23 Tristan Gingold <gingold@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcov.c (create_file_names): If no object directory is specified,
- keep the directory of the file.
-
-2011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
- * configure: Regenerate.
-
-2011-05-23 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48973
- * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
- failed and the comparison has a single bit signed type, use
- constm1_rtx instead of const1_rtx for true value.
- (do_store_flag): If ops->type is single bit signed type, disable
- signel bit test optimization and pass -1 instead of 1 as last
- parameter to emit_store_flag_force.
-
-2011-05-23 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
- function.
- (infer_loop_bounds_from_undefined): Use new function.
-
-2011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
- (ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
- -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
- and -O0 otherwise.
- (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
-
-2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
- (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
- returns true.
-
-2011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
-
-2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_delegitimize_address): Handle
- UNSPEC_MOVE_PIC pattern.
-
-2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
- (sparc-*-rtems*): Likewise.
- (sparc64-*-elf*): Likewise.
- (sparc64-*-rtems*): Likewise.
- (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
- * config/sparc/t-crtin: New file.
- * config/sparc/t-sol2 (crti.o): Delete rule.
- (crtn.o): Likewise.
- * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
- * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
- * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
- (ENDFILE_SPEC): Add crtn.o.
-
-2011-05-22 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/48689
- * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
- CODE_CONTAINS_STRUCT (TS_COMMON).
-
-2011-05-22 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49029
- * expmed.c (extract_fixed_bit_field): Test whether target can be used
- only after deciding which mode to use.
-
-2011-05-22 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
- for call to get_shiftadd_cost.
-
-2011-05-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49104
- * config/i386/cpuid.h (bit_MMXEXT): New define.
-
-2011-05-22 Nick Clifton <nickc@redhat.com>
-
- * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
- initialisation of non-existant args[2] element. Use args[] array
- not arg[] array to pass arguments to build_function_type_list.
-
-2011-05-22 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49087
- * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
-
-2011-05-21 Jason Merrill <jason@redhat.com>
-
- PR c++/49092
- * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
- static storage duration.
-
-2011-05-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
- frame pointer.
-
-2011-05-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (eligible_for_return_delay): Do not return
- false if there are call-saved registers here...
- (sparc_can_use_return_insn_p): ...but here instead.
- (save_or_restore_regs): Fix thinko.
- (sparc_expand_prologue): Use current_function_is_leaf.
- (sparc_frame_pointer_required): Likewise.
-
-2011-05-21 Nick Clifton <nickc@redhat.com>
-
- PR target/49098
- * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
-
-2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * gengtype.c (walk_type): Implemented "atomic" GTY option.
- * doc/gty.texi (GTY Options): Document "atomic" GTY option.
-
-2011-05-21 Joseph Myers <joseph@codesourcery.com>
-
- * opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
- * optc-gen.awk: Move common code to opt-read.awk.
- * opth-gen.awk: Likewise.
- * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
-
-2011-05-20 Nathan Froyd <froydnj@codesourcery.com>
-
- * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
-
-2011-05-20 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-ivopts.c: Include expmed.h.
- (get_shiftadd_cost): New function.
- (force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
-
-2011-05-20 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/49086
- * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
- for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
-
-2011-05-20 Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in: Update comment referring to $(OBJS-common).
-
-2011-05-20 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_output_typedef): Put enum constants in the macro
- hash table to avoid duplicate Go const definitions.
-
-2011-05-20 Joseph Myers <joseph@codesourcery.com>
-
- * Makefile.in (LIBDEPS): Add libcommon.a.
- (LIBS): Likewise.
- (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
- (OBJS-common): Remove diagnostic.o, input.o, intl.o,
- pretty-print.o and version.o.
- (OBJS-libcommon): New.
- (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
- (BACKEND): Add libcommon.a.
- (MOSTLYCLEANFILES): Likewise.
- (libcommon.a): New.
- (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
- (cpp$(exeext)): Likewise.
- (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
- pretty-print.o and input.o.
- (lto-wrapper$(exeext)): Don't explicitly use intl.o.
- (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
- (errors.o): Remove.
- (mips-tfile): Don't explicitly use version.o.
- (mips-tdump): Likewise.
- (gcov.o): Depend on $(DIAGNOSTIC_H).
- (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
- (GCOV_OBJS): Remove intl.o, version.o and errors.o.
- (GCOV_DUMP_OBJS): Remove version.o and errors.o.
- * gcov-dump.c: Include intl.h and diagnostic.h.
- (main): Initialize diagnostics.
- * gcov.c: Include diagnostic.h.
- (fnotice): Remove.
- (main): Initialize diagnostics.
- * lto-wrapper.c: Include diagnostic.h.
- (main): Initialize diagnostics.
-
-2011-05-20 Michael Matz <matz@suse.de>
-
- * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
-
-2011-05-20 Michael Matz <matz@suse.de>
- Richard Guenther <rguenther@suse.de>
-
- * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
- use lto_streamer_cache_append directly instead of returning a VEC.
- (preload_common_node): Remove.
- (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
- track seen nodes.
- (lto_streamer_cache_create): Call lto_preload_common_nodes.
-
-2011-05-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49079
- * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
- MEM_REFs correctly for the trailing array access detection.
- Special case constants the same way as decls for overall size
- constraining.
-
-2011-05-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
- argument expansion.
-
-2011-05-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49073
- * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
- PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
- * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
-
-2011-05-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48849
- * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
- of pointer types the same way the middle-end does.
-
-2011-05-20 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
- or pointer-to chains. Delay all fixup to uniquify_nodes.
-
-2011-05-19 Quentin Neill <quentin.neill@amd.com>
-
- * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
- (fma4_fmaddsub): Likewise
-
-2011-05-19 Jan Hubicka <jh@suse.cz>
-
- * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
- (GIMPLE_TYPE_PAIR_SIZE): New macro.
- (type_pair_cache): New static var.
- (lookup_type_pair): Use fixed sized custom hash; make inline.
- (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
- calls of lookup_type_pair.
- (print_gimple_types_stats): Remove cache stats.
- (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
- and gtc_ob.
-
-2011-05-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
- when TARGET_RDRND is active.
- (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
- Generate dummy SImode target register when target is NULL.
-
-2011-05-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/arm-fpus.def: New.
- * config/arm/genopt.sh: Generate Enum and EnumValue entries from
- arm-fpus.def.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
- (arm_option_override): Don't decode FPU name to string here.
- * config/arm/arm.opt (mfpu=): Use Enum.
- * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
- Update dependencies.
-
-2011-05-19 Joseph Myers <joseph@codesourcery.com>
-
- * collect2.c: Include diagnostic.h.
- (fatal_perror, fatal, error, fancy_abort): Remove.
- (main): Set progname. Call xmalloc_set_program_name and
- diagnostic_initialize.
- (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
- scan_libraries, resolve_lib_name): Call fatal_error instead of
- fatal and fatal_perror.
- * collect2.h (error, fatal, fatal_perror): Don't declare.
- * tlink.c: Include diagnostic-core.h.
- (recompile_files): Call fatal_error instead of fatal_perror.
- * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
- pretty-print.o and input.o.
- (collect2.o, tlink.o): Update dependencies.
-
-2011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
-
-2011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/40483
- * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
- COMDAT group syntax, both SPARC and x86 variants.
- (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
- * configure: Regenerate.
- * config/sol2.h (TARGET_SOLARIS): Define.
- (PUSHSECTION_FORMAT): Remove.
- (SECTION_NAME_FORMAT): Define.
- * config/sol2.c: Include hashtab.h.
- (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
- expansion, using SECTION_NAME_FORMAT.
- (solaris_comdat_htab): New variable.
- (struct comdat_entry): Define.
- (comdat_hash): New function.
- (comdat_eq): New function.
- (solaris_elf_asm_comdat_section): New function.
- (solaris_define_comdat_signature): New function.
- (solaris_code_end): New function.
- * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
- (solaris_code_end): Declare.
- * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
- * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
- solaris_code_end.
- (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
- Remove ATTRIBUTE_UNUSED.
- [!USE_GAS]: Call solaris_elf_asm_comdat_section for
- SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
- * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
- * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
- * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
- * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
- (PUSHSECTION_FORMAT): Remove.
- (SECTION_NAME_FORMAT): Redefine.
-
-2011-05-19 Kai Tietz <ktietz@redhat.com>
-
- * tree-cfg.c (verify_gimple_assign_binary): Barf on
- TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
- (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
-
-2011-05-19 Anatoly Sokolov <aesok@post.ru>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
-
-2011-05-19 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48985
- * tree-object-size.c (addr_object_size): If the pointed-to
- variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
-
-2011-05-19 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_types_compatible_p_1): Compare names of
- the types themselves.
- (iterative_hash_gimple_type): And hash them that way.
- (gimple_register_type_1): If we register a main variant properly
- initialize the leader to ourselves.
-
-2011-05-19 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
- get_loop_invariant_expr_id.
- (get_loop_invariant_expr_id): Use get_expr_id.
- (parm_decl_cost): New function.
- (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
- Improve bound cost estimation. Use different inv_expr_id for elim and
- express cases.
-
-2011-05-19 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
- cost_base.cost == 0.
-
-2011-05-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49002
- * config/i386/sse.md
- (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>): Properly handle
- load cast.
-
-2011-05-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49039
- * tree-vrp.c (extract_range_from_binary_expr): For
- MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
- return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
-
-2011-05-18 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
-
-2011-05-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
- (*tls_global_dynamic_64): Ditto.
- (*tls_local_dynamic_base_32_gnu): Ditto.
- (*tls_local_dynamic_base_64): Ditto.
- (tls_initial_exec_64_sun): Ditto.
-
-2011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
-
- * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
- * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
- bf592-none.
- * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
- * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
- * config/bfin/bfin.c (bfin_cpus): Add bf592.
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
- __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
- * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
- * config/bfin/elf.h (LIB_SPEC): Add bf592.
-
-2011-05-18 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
- arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
- * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
- target_thread_pointer, arm_structure_size_boundary, struct
- float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
- struct abi_name, arm_all_abis): Remove.
- (arm_option_override) Don't process most enumerated option values here.
- Don't process target_fpe_name here. Work with integer not string for
- structure size boundary; use separate diagnostics for each case.
- * config/arm/arm.h (enum float_abi_type, enum
- arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
- to arm-opts.h.
- (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
- arm_structure_size_boundary): Remove.
- * config/arm/arm.opt (mabi=): Use Enum and Init.
- (arm_abi_type): New Enum and EnumValue entries.
- (mfloat-abi=): Use Enum and Init.
- (float_abi_type): New Enum and EnumValue entries.
- (mfp=, mfpe=): Replace by separate Alias entries for each argument.
- (mfp16-format=): Use Enum and Init.
- (arm_fp16_format_type): New Enum and EnumValue entries.
- (mstructure-size-boundary=): Use UInteger and Init.
- (mtp=): Use Enum and Init.
- (arm_tp_type): New Enum and EnumValue entries.
-
-2011-05-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49018
- * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
- * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
- gimple_has_side_effects.
-
-2011-05-18 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_register_type_1): New function, split out from ...
- (gimple_register_type): ... here. Avoid infinite recursion.
-
-2011-05-18 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/41881
- * tree-vectorizer.h (struct _loop_vec_info): Add new field
- reduction_chains along with a macro for its access.
- * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
- (destroy_loop_vec_info): Free reduction chains.
- (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
- (vect_is_slp_reduction): New function.
- (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
- (vect_create_epilog_for_reduction): Support SLP reduction chains.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
- definition types for reduction chains.
- (vect_supported_load_permutation_p): Don't allow permutations for
- reduction chains.
- (vect_analyze_slp_instance): Support reduction chains.
- (vect_analyze_slp): Try to build SLP instance from reduction chains.
- (vect_get_constant_vectors): Handle reduction chains.
- (vect_schedule_slp_instance): Mark the first statement of the
- reduction chain as reduction.
-
-2011-05-18 Ira Rosen <ira.rosen@linaro.org>
-
- * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
- names for group elements access.
- * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
- reduction chains as well. Remove data reference and interleaving
- related words from the fields names.
- * tree-vect-loop.c (vect_transform_loop): Use new names for group
- elements access.
- * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
- vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
- vect_update_interleaving_chain, vect_same_range_drs,
- vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
- vect_verify_datarefs_alignment, vector_alignment_reachable_p,
- vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
- vect_analyze_group_access, vect_analyze_data_ref_access,
- vect_create_data_ref_ptr, vect_transform_strided_load,
- vect_record_strided_load_vectors): Likewise.
- * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
- vect_model_load_cost, vectorizable_store, vectorizable_load,
- vect_remove_stores, new_stmt_vec_info): Likewise.
- * tree-vect-slp.c (vect_build_slp_tree,
- vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
-
-2011-05-18 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48989
- * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
- operand verification.
- (verify_gimple_assign_binary): Likewise.
- * tree-ssa.c (useless_type_conversion_p): Preserve conversions
- to non-1-precision BOOLEAN_TYPEs.
-
-2011-05-18 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
-
-2011-05-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49000
- * tree-ssa.c (execute_update_addresses_taken): Call
- maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
- be rewritten and decl has been marked for renaming, reset
- the debug stmt.
-
-2011-05-17 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
- enum_opts_set when testing if attributes have set -mfpmath=.
-
-2011-05-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_handle_option): Remove unused variable.
-
-2011-05-17 Uros Bizjak <ubizjak@gmail.com>
-
- * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
- info->entry with 0
- * tree-inline.c (maybe_inline_call_in_expr): Initialize
- id.transform_lang_insert_block with NULL.
-
-2011-05-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
- (output_fp_compare): Change args 3 and 4 to bool.
- (ix86_expand_call): Change arg 6 to bool.
- (ix86_attr_length_immediate_default): Change arg 2 to bool.
- (ix86_attr_length_vex_default): Change arg 3 to bool.
- * config/i386/i386.md: Update all uses.
- * config/i386/i386.c: Ditto.
- (ix86_flags_dependent): Change return type to bool.
-
-2011-05-17 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (type_hash_pair_compare): Fix comparison.
-
-2011-05-17 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (iterative_hash_gimple_type): Simplify singleton
- case some more, fix final hash value of the non-singleton case.
-
-2011-05-17 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/49013
- Revert
- 2011-05-16 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_types_compatible_p_1): Use names of the
- type itself, not its main variant.
- (iterative_hash_gimple_type): Likewise.
-
-2011-05-17 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_register_canonical_type): Use the main-variant
- leader for computing the canonical type.
-
-2011-05-17 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (rx_memory_move_cost): Include cost of register
- moves.
-
- * config/rx/rx.md: Add peephole to remove redundant extensions
- after loads.
- (bitset_in_memory): Use rx_restricted_mem_operand.
- (bitinvert_in_memory): Likewise.
- (bitclr_in_memory): Likewise.
-
-2011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
- Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md: Add peepholes to match a register move followed
- by a comparison of the moved register. Replace these with an
- addition of zero that does both actions in one instruction.
-
-2011-05-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48986
- * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
- predicate to allow CONST_INT.
- (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
-
-2011-05-16 Joseph Myers <joseph@codesourcery.com>
-
- * opts-common.c (opt_enum_arg_to_value): New.
- * opts.h (opt_enum_arg_to_value): Declare.
- * config/i386/i386.opt (fpmath): Remove.
- (mfpmath=): Use Enum, Init and Save.
- (fpmath_unit): New Enum and EnumValue entries.
- * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
- name for function fpmath state.
- * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
- * config/i386/i386.c: Include diagnostic.h.
- (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
- (ix86_target_string): Take enum fpmath_unit value instead of string.
- (ix86_debug_options): Update call to ix86_target_string.
- (ix86_option_override_internal): Don't process fpmath strings here.
- (x86_function_specific_save, ix86_function_specific_restore):
- Don't handle fpmath state specially.
- (ix86_function_specific_print): Pass fpmath state to
- ix86_target_string instead of printing in this function.
- (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
- Handle enum attributes.
- (IX86_ATTR_ENUM, ix86_opt_enum): New.
- (ix86_valid_target_attribute_tree): Update option_strings
- handling. Handle fpmath as enum option.
- (ix86_can_inline_p): Update field names for function fpmath state.
- (ix86_expand_builtin): Update call to ix86_target_string.
- * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
- (ix86_fpmath): Remove.
- * config/i386/t-i386 (i386.o): Update dependencies.
-
-2011-05-16 Joseph Myers <joseph@codesourcery.com>
-
- PR preprocessor/48677
- * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
- from decoded_options[0], not from itself.
-
-2011-05-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraints.md (z): New constraint.
- * config/i386/i386.c (c): New mode attribute.
- (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
- *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
- constraint for operand 0.
- (*call_vzeroupper): Ditto.
- (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
- (*call_rex64_ms_sysv_vzeroupper): Ditto.
- (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
- Use "lzm" constraint for operand 0.
- (*call_pop_vzeroupper): Ditto.
- (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
- *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
- constraint for operand 0.
- (*sibcall_vzeroupper): Ditto.
- (*sibcall_rex64_ms_sysv): Ditto.
- (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
- (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
- *sibcall_pop_1. Use "Uz" constraint for operand 0.
- (*sibcall_pop_vzeroupper): Ditto.
- (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
- *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
- mode iterator. Use "<c>zm" constraint for operand 1.
- (*call_value_vzeroupper): Ditto.
- (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
- for operand 1.
- (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
- (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
- *call_value_pop_1. Use "lzm" constraint for operand 1.
- (*call_value_pop_vzeroupper): Ditto.
- (*sibcall_value): Merge insn pattern from *sibcall_value_0,
- *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
- mode iterator. Use "Uz" constraint for operand 1.
- (*sibcall_value_vzeroupper): Ditto.
- (*sibcall_value_rex64_ms_sysv): Ditto.
- (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
- (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
- constraint for operand 1.
- (*sibcall_value_pop_vzeroupper): Ditto.
- (*tls_global_dynamic_64): Use constant_call_address_operand predicate
- and "z" constraint for operand 2.
- (*tls_global_dynamic_32_gnu): Ditto.
- (*tls_local_dynamic_base_32_gnu): Ditto.
- (*tls_local_dynamic_base_64): Ditto.
- (*tls_local_dynamic_32_once): Ditto.
- * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
- Update all callers.
- * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
-
-2011-05-16 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_types_compatible_p_1): Use names of the
- type itself, not its main variant.
- (iterative_hash_gimple_type): Likewise.
-
-2011-05-16 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
- always visit pointer target and function result and argument types.
-
-2011-05-16 Jason Merrill <jason@redhat.com>
-
- PR c++/48999
- * tree-inline.c (copy_statement_list): Put back recursion.
-
-2011-05-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/27663
- PR target/41076
- * config/avr/predicates.md (const_8_16_24_operand): New predicate.
- * config/avr/avr.md ("*ior<mode>qi.byte0",
- "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
-
-2011-05-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/45099
- * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
- register is needed for a function argument.
-
-2011-05-16 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (struct type_hash_pair): New type.
- (type_hash_pair_compare): New function.
- (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
-
-2011-05-16 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
-
-2011-05-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (floating point move splitters): Fix
- usage of standard_80387_constant_p.
- * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
-
-2011-05-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movdf_internal): Simplify insn condition.
-
-2011-05-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
- (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
- (tree_ssa_lim_finalize): Likewise.
-
-2011-05-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/constraint.md (Yd, Yx): New register constraints.
- * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
- Yd conditional register constraint.
- (*movtf_internal): Use standard_sse_constant_opcode.
- (*movxf_internal): Merge with *movxf_internal_nointeger. Use
- Yx conditional register constraint.
- (*movdf_internal): Merge with *movdf_internal_nointeger. Use
- Yd conditional register constraint. Use standard_sse_constant_p to
- check for valid SSE constants and call standard_sse_constant_opcode to
- output SSE insn.
- (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
- constants and call standard_sse_constant_opcode to output SSE insn.
- * config/i386/i386.c (ix86_option_ovverride_internal): Set
- TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
- optimize_size is set.
- (standard_sse_constant_opcode): Output conditional AVX insn templates.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
-
-2011-05-13 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (ipa_cst_from_jfunc): New function.
- * ipa-prop.h (ipa_cst_from_jfunc): Declare.
- * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
- (evaluate_conditions_for_ipcp_clone): Removed.
- (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
- * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
- * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
-
-2011-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
- * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
- lieu of MAY_HAVE_DEBUG_STMTS.
- * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
- debug statements if !MAY_HAVE_DEBUG_STMTS.
-
-2011-05-13 Martin Thuresson <martint@google.com>
-
- PR gcov-profile/47793
- * libgcov.c (gcov_exit): Support relative profile paths.
- * doc/invoke.texi (-fprofile-dir): Update for above change.
-
-2011-05-13 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_canonical_types_compatible_p): Do not use
- type-pair caching, do not compare hashes.
-
-2011-05-13 Nathan Froyd <froydnj@codesourcery.com>
-
- PR middle-end/48965
- * tree-cfg.c (edge_to_cases_cleanup): Return true.
- (verify_expr) [CASE_LABEL_EXPR]: Add checking.
-
-2011-05-13 Kai Tietz <ktietz@redhat.com>
-
- * gimplify.c (gimplify_expr): Make sure operand is boolified.
- * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
- compatible type for TRUTH_NOT_EXPR.
-
-2011-05-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_save_reg): Change return type to bool.
- (ix86_hard_regno_mode_ok): Change return value to bool. Use
- can_create_pseudo_p ().
-
-2011-05-13 Richard Guenther <rguenther@suse.de>
-
- PR lto/48978
- * gimple.c (iterative_hash_gimple_type): Revert change in
- pointer target and function result and argument hashing.
-
-2011-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
- (*movxf_internal_nointeger): Ditto.
- (*movdf_internal_rex64): Ditto.
- (*movdf_internal): Ditto.
- (*movdf_internal_nointeger): Ditto.
- (*movsf_internal): Ditto.
- (sincos splitters): Use can_create_pseudo ().
-
-2011-05-13 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386-opts.h: New.
- * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
- ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
- ix86_section_threshold): Remove.
- (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
- OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
- OPT_mbranch_cost_.
- (ix86_option_override_internal): Don't decode strings for options
- other than -march=, -mtune= and -mfpmath=. Don't allow for
- __attribute__ uses in remaining diagnostics for options with
- string arguments. Don't check for integer arguments being negative.
- * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
- enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
- (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
- ix86_branch_cost, ix86_section_threshold): Remove.
- * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
- HeaderInclude.
- (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
- but not Var.
- (masm=): Use Enum and Init.
- (asm_dialect): New Enum and EnumValue entries.
- (mbranch-cost=): Use UInteger.
- (mlarge-data-threshold=): Use UInteger and Init.
- (mcmodel=): Use Enum and Init.
- (cmodel): New Enum and EnumValue entries.
- (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
- (mpreferred-stack-boundary=, mincoming-stack-boundary=,
- mregparm=): Use UInteger.
- (mstringop-strategy=): Use Enum and Init.
- (stringop_alg): New Enum and EnumValue entries.
- (mtls-dialect=): Use Enum and Init.
- (tls_dialect): New Enum and EnumValue entries.
- (mabi=): Use Enum and Init.
- (calling_abi): New Enum and EnumValue entries.
- (mveclibabi=): Use Enum and Init.
- (ix86_veclibabi): New Enum and EnumValue entries.
-
-2011-05-13 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
- * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
-
-2011-05-13 Kai Tietz <ktietz@redhat.com>
-
- PR middle-end/48984
- * gimplify.c (gimplify_expr): Check for boolean_type_node instead
- for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
- (gimple_boolify): Check for cast for boolean_type_node instead for
- BOOLEAN_TYPE.
-
-2011-05-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48172
- * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
- multiplying by number of iterations for equal step.
- (vect_create_cond_for_alias_checks): Likewise.
-
-2011-05-13 Andreas Schwab <schwab@redhat.com>
-
- * configure.ac: Use AS_HELP_STRING throughout.
- * configure: Regenerate.
-
-2011-05-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
- (ix86_emit_restore_regs_using_mov): Likewise.
- (ix86_emit_restore_sse_regs_using_mov): Likewise.
-
-2011-05-12 Anatoly Sokolov <aesok@post.ru>
-
- * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
- SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
- (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
- * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
- RTX_OK_FOR_OLO10_P): ...here.
- (sparc_mode_dependent_address_p): Use symbolic_operand instead of
- SYMBOLIC_CONST.
-
-2011-05-12 Kai Tietz <ktietz@redhat.com>
-
- * gimplify.c (gimple_boolify): Re-boolify expression
- arguments even if expression type is of kind BOOLEAN_TYPE.
- (gimplify_boolean_expr): Removed.
- (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
- and XOR. Additional take care that we keep expression's type.
- * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
- of TRUTH_AND|OR|XOR_EXPR.
-
-2011-05-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48975
- * tree-if-conv.c (combine_blocks): Call free_bb_predicate
- on all bbs here and free and clear ifc_bbs at the end.
-
-2011-05-12 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
- NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
- until after simple checks.
- (gimple_types_compatible_p): Likewise.
- (iterative_hash_gimple_type): Always hash pointer targets
- and function return and argument types.
- (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
- hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
- (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
- handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
- completely in the simple compare section.
- (gimple_register_canonical_type): Query the cache again after
- registering.
-
-2011-05-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48172
- * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
- the number of iterations from the segment size calculation.
- (vect_create_cond_for_alias_checks): Adjust.
-
-2011-05-12 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48967
- * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
- if validate_subreg fails.
-
-2011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
-
- * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
- accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
- early.
-
-2011-05-12 DJ Delorie <dj@redhat.com>
-
- * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
- (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
- created builtin into rx_builtins array.
- (rx_builtin_decl): New function.
- (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
-
-2011-05-12 DJ Delorie <dj@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
- * config/rx/rx.c (CC_FLAG_FP): Fix comment.
- (rx_is_legitimate_address): Add pre-decrement and post-increment
- addressing in HImode and QImode. Fix test for out of range
- REG+INT addressing.
- (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
- (rx_align_for_label): Test label before extracting its usage count.
- (rx_adjust_insn_lengths): Fix selection of insn codes.
- (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
-
-2011-05-11 Jason Merrill <jason@redhat.com>
-
- * tree.c (type_hash_canon): Use struct tree_type_non_common.
-
-2011-05-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
- reindent the subsequent block.
-
-2011-05-11 Satoru Takabayashi <satorux@google.com>
- Paul Pluzhnikov <ppluzhnikov@google.com>
-
- * doc/install.texi (Configuration): Document --with-linker-hash-style.
- * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
- * config.in: Add LINKER_HASH_STYLE.
- * configure.ac: Add --with-linker-hash-style.
- * configure: Regenerate.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48964
- * gimple.c (iterative_hash_canonical_type): Fix typo.
-
-2011-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (legitimize_tls_address)
- <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
- expanders directly for TARGET_GNU2_TLS. Determine pic and
- __tls_get_addr symbol reference here. Update call to
- gen_tls_global_dynamic_{32,64} for added arguments.
- <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
- expanders directly for TARGET_GNU2_TLS. Determine
- __tls_get_addr symbol reference here. Update call to
- gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
- unique UNSPEC REG_EQUIV to libcall block.
- (ix86_tls_get_addr): Declare static.
- * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
- * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
- Do not determine pic and __tls_get_addr symbol reference here. Do not
- call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
- (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
- (tls_global_dynamic_64): Add operand 2. Do not determine
- __tls_get_addr symbol reference here. Do not call
- gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
- (tls_local_dynamic_base64): Ditto for operand 1.
-
-2011-05-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * function.c (expand_function_start): Initialize stack_check_probe_note
- only if the generic stack checking mechanism is used.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/15256
- * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
- (A & B) | C, combine (A op CST1) op CST2.
- (tree_ssa_forward_propagate_single_use_vars): Only bother to
- visit assigns that have uses.
-
-2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
- * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
- (unpack_ts_type_common_value_fields): ...this. Update comment.
- (unpack_value_fields): Adjust for renaming.
- (lto_input_ts_type_tree_pointers): Split into...
- (lto_input_ts_type_common_tree_pointer): ...this and...
- (lto_input_ts_type_non_common_tree_pointers): ...this.
- (lto_input_tree_pointers): Adjust for above split.
- * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
- (pack_ts_type_common_value_fields): ...this. Update comment.
- (lto_output_ts_type_tree_pointers): Split into...
- (lto_output_ts_type_common_tree_pointers): ...this and...
- (lto_output_ts_type_non_common_tree_pointers): ...this.
- (lto_output_tree_pointers): Adjust for above split.
- * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
- TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
- * stor-layout.c (vector_type_mode): Adjust location of mode field.
- * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
- Define.
- (struct tree_type): Split into...
- (struct tree_type_common: ...this and...
- (struct tree_type_with_lang_specific): ...this and...
- (struct tree_type_non_common): ...this. Adjust accessor macros
- accordingly.
- (TYPE_VALUES_RAW): Define.
- (union tree_node): Update for above changes.
- * tree.c (tree_node_structure_for_code) [tcc_type]: Return
- TS_TYPE_NON_COMMON.
- (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
- Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
- (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
- * treestructu.def (TS_TYPE): Remove.
- (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
- Define.
-
-2011-05-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48159
- * tree-ssa.c (reset_debug_uses): New function.
- * tree-flow.h (reset_debug_uses): New prototype.
- * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
- * tree-loop-distribution.c (generate_loops_for_partition): Call
- reset_debug_uses on the stmts that will be removed. Keep around
- all debug stmts, don't count them as bits in partition bitmap.
- (generate_builtin): Don't count debug stmts or labels as bits in
- partition bitmap.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_type_hash_1): Merge with ...
- (gimple_type_hash): ... this.
- (gtc_visit): Remove mode parameter and simplify accordingly.
- (gimple_types_compatible_p_1): Likewise.
- (gimple_types_compatible_p): Likewise.
- (iterative_hash_gimple_type): Likewise.
- (visit): Likewise.
- (gimple_type_eq): Adjust.
-
-2011-05-11 Revital Eres <revital.eres@linaro.org>
-
- * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
- enters the branch create an anti edge in the opposite direction
- to prevent the creation of reg-moves.
- * modulo-sched.c: Adjust comment to reflect the fact we are
- scheduling closing branch.
- (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
- (stage_count): New field in struct partial_schedule.
- (calculate_stage_count): New function.
- (normalize_sched_times): Rename to reset_sched_times and handle
- incrementing the sched time of the nodes by a constant value
- passed as parameter.
- (duplicate_insns_of_cycles): Skip closing branch.
- (sms_schedule_by_order): Schedule closing branch.
- (ps_insn_find_column): Handle closing branch.
- (sms_schedule): Call reset_sched_times and adjust the code to
- support scheduling of the closing branch.
- (ps_insert_empty_row): Update calls to normalize_sched_times
- and rotate_partial_schedule functions.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48953
- * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
-
-2011-05-11 Joseph Myers <joseph@codesourcery.com>
-
- * opts.c (finish_options): Move warning settings from process_options.
- * toplev.c (process_options): Move warning settings to finish_options.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/18041
- * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
- (simplify_bitwise_binary): ... this. Handle operand conversions
- by applying them to the result instead.
- (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_canonical_types_compatible_p): Split out
- from gimple_types_compatible_p and friends. Do not recurse
- to pointed-to types.
- (gimple_canonical_type_eq): Use it.
- (iterative_hash_canonical_type): Split out from
- iterative_hash_gimple_type and friends. Do not recurse
- to pointed-to types.
- (gimple_canonical_type_hash): Use it, allocate the hash here.
-
-2011-05-11 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
- recognizing doloop.
-
-2011-05-11 Revital Eres <revital.eres@linaro.org>
-
- * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
- instead of PREV_INSN.
-
-2011-05-11 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (sms_schedule): Support new form of doloop pattern
- * loop-doloop.c (doloop_condition_get): Likewise.
- * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
- (doloop_end): New.
- * config/arm/arm.md (*addsi3_compare0): Remove "*".
-
-2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.def (CASE_LABEL_EXPR): Add an operand.
- * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
-
-2011-05-10 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (c_override_global_bindings_to_false): Remove.
- (global_bindings_p): Don't check
- c_override_global_bindings_to_false.
- * c-tree.h (c_override_global_bindings_to_false): Remove.
- * c-typeck.c (composite_type): Don't set
- c_override_global_bindings_to_false.
-
-2011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48857, 48495
- * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
- (VSX_MODE): Ditto.
- (VSX_MOVE_MODE): Ditto.
- (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
- VSX vector types. Add V2DImode.
- (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
- ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
- (MODES_TIEABLE_P): Ditto.
-
- * config/rs6000/rs6000.c (rs6000_emit_move): Use
- ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
- VSX_VECTOR_MODE.
- (init_cumulative_args): Ditto.
- (rs6000_function_arg_boundary): Ditto.
- (rs6000_function_arg_advance_1): Ditto.
- (rs6000_function_arg): Ditto.
- (rs6000_function_ok_for_sibcall): Ditto.
- (emit_frame_save): Ditto.
- (rs6000_function_value): Ditto.
- (rs6000_libcall_value): Ditto.
-
-2011-05-10 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
- i386/darwin-lib.h to $libgcc_tm_file.
- * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
-
-2011-05-10 Joseph Myers <joseph@codesourcery.com>
-
- * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
-
-2011-05-10 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
- * config/rs6000/rs6000-tables.opt: New file (generated).
- * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
- rs6000/rs6000-tables.opt to extra_options.
- * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
- * config/rs6000/rs6000.c (rs6000_select): Remove.
- (processor_target_table): Move contents to rs6000-cpus.def.
- (darwin_rs6000_override_options): Check
- global_options_set.x_rs6000_cpu_index instead of
- rs6000_select[1].string.
- (rs6000_option_override_internal): Likewise.
- (rs6000_handle_option): Don't assert that global structures are in
- use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
- (rs6000_default_cpu): New variable.
- (rs6000_file_start): Set it instead of local default_cpu. Check
- rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
- global_options_set.x_rs6000_tune_index instead of rs6000_select.
- (rs6000_darwin_file_start): Check rs6000_default_cpu and
- global_options_set.x_rs6000_cpu_index instead of rs6000_select.
- * config/rs6000/rs6000.h (struct rs6000_cpu_select,
- rs6000_select): Remove.
- * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
- Remove.
- (mcpu=, mtune=): Use Var, Init, Enum and Save.
- * config/rs6000/t-rs6000
- ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
- * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
- global_options_set.x_rs6000_cpu_index instead of
- rs6000_select[1].string.
- * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
- global_options_set.x_rs6000_cpu_index instead of
- rs6000_select[1].string.
-
-2011-05-10 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (libgcc_tm_file): Define instead of including files
- from ../../libgcc/config/ in tm_file.
- * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
- * configure: Regenerate.
- * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
- libgcc_tm.h, cs-libgcc_tm.h): New.
- (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
- (clean): Remove libgcc_tm.h.
- * config/arm/symbian.h (RENAME_LIBRARY): Remove.
- * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
- * system.h (DECLARE_LIBRARY_RENAMES): Poison.
-
-2011-05-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/48896
- * config/avr/avr.c (avr_ret_register): Return unsigned int
- instead of int.
- (avr_function_value): Mark fn_decl_or_type as unused, don't pass
- it to avr_libcall_value.
- avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
- expand_expr.
- (avr_expand_binop_builtin): Ditto.
- (avr_expand_unop_builtin): Ditto.
-
-2011-05-10 DJ Delorie <dj@redhat.com>
-
- * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
- (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
- * config/rx/rx.c (rx_align_for_label): Add label and
- uses_threshold parameters. Do not align when the label is not
- used enough.
- * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
-
-2011-05-10 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-forwprop.c (combine_conversions): Pattern-match
- a series of conversions and apply foldings similar to what
- fold-const does.
- (tree_ssa_forward_propagate_single_use_vars): Call it.
-
-2011-05-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48611
- PR tree-optimization/48794
- * tree-eh.c (remove_unreachable_handlers): Don't remove regions
- referenced from RESX or EH_DISPATCH arguments.
-
- PR debug/48928
- * dfp.c (decimal_to_decnumber): Handle conversion from
- dconst{1,2,m1,half}.
-
-2011-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
- for !flag_prefer_avx128.
- (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
-
-2011-05-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (fold_range_test): Pass LOC to build_range_check.
- (fold_ternary_loc): Use expr_location_or.
-
-2011-05-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR debug/48853
- * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
- POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
- Pmode and mem_mode is not VOIDmode.
-
-2011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
- TYPE_QUAL_RESTRICT): Convert to enum.
-
-2011-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
- (const_pow2_1_to_8_operand): Ditto.
- (const_pow2_1_to_128_operand): Ditto.
- (const_pow2_1_to_32768_operand): Ditto.
- * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
- const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
- in insn constraint to check integer value of operand 3.
- * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
-
- (PINSR_MODE): New mode iterator.
- (sse2p4_1): New mode attribute.
- (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
- sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
- iterator. Use const_int_operand instead of
- const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
- exact_log2 in insn constraint to check integer value of operand 3.
-
-2011-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (blendbits): Remove mode attribute.
- (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
- instead of const_0_to_<blendbits>_operand for operand 3 predicate.
- Check integer value of operand 3 in insn constraint.
-
-2011-05-09 Richard Guenther <rguenther@suse.de>
-
- * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
- for diagnostics.
- (lto_symtab_merge): Likewise. Do not register types here.
- (lto_symtab_merge_decls_2): Likewise.
- (lto_symtab_merge_decls_1): Likewise.
- * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
- * gimple.c (enum gtc_mode): Declare.
- (gimple_types_compatible_p): Make static.
-
-2011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
- temporary register to match Pmode.
-
-2011-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
- and *vec_concatv4si_1_avx.
-
-2011-05-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/48927
- * ira-conflicts.c (commutative_constraint_p): Use
- recog_data.alternative_enabled_p to disable alternatives where
- "enabled" attribute is false.
- (get_dup_num): Ditto.
- * ira-lives.c (single_reg_class): Ditto.
- (ira_implicitly_set_insn_hard_regs): Ditto.
-
-2011-05-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
- (dataflow_set_preserve_mem_locs): Likewise.
-
-2011-05-09 Philipp Thomas <pth@suse.de>
-
- * config/mep/mep.c (mep_validate_vliw): Syntax description
- should not be translated.
-
-2011-05-09 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
- * config/mips/mips-tables.opt: New file (generated).
- * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
- * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
- MIPS_ARCH_OPTION_NATIVE): Define.
- * config/mips/mips.c (mips_cpu_info_table): Move contents to
- mips-cpus.def.
- (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
- mips_parse_cpu): Remove.
- (mips_cpu_info_from_opt, mips_default_arch): New.
- (mips_handle_option): Don't assert that global structures are in
- use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
- (mips_option_override): Use new variables and functions to set
- state of these options. Use strcmp to check for individual CPU names.
- * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
- definition.
- * config/mips/mips.opt (march=): Use ToLower and Enum.
- (mips): Use ToLower, Enum and Var.
- (mtune=): Use ToLower and Enum.
- * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
-
-2011-05-08 Jan Hubicka <jh@suse.cz>
-
- * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
- Arrange type pairs to be UID ordered.
- (gimple_lookup_type_leader): Make inline.
-
-2011-05-09 Nick Clifton <nickc@redhat.com>
-
- PR target/48899
- * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
- PROCESSOR_DEFAULT.
-
- PR target/48897
- * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
- variable 's'.
-
-2011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
-
- * combine.c (simplify_comparison): Abstract out parts into...
- (simplify_compare_const): ... new function.
- (try_combine): Generalize parallel arithmetic/compare combining
- to call simplify_compare_const() and CANONICALIZE_COMPARE().
-
-2011-05-08 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
- (cgraph_create_virtual_clone): Call hooks once virtual clone
- is finished.
- * cgraph.h (cgraph_clone_node): Update prototype.
- * ipa-cp.c (ipcp_estimate_growth): Use
- estimate_ipcp_clone_size_and_time.
- * ipa-inline-transform.c (clone_inlined_nodes): Update.
- * lto-cgraph.c (input_node): Update.
- * ipa-inline.c (recursive_inlining): Update.
- * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
- (evaluate_conditions_for_known_args): Break out from ...
- (evaluate_conditions_for_edge): ... here.
- (evaluate_conditions_for_ipcp_clone): New function.
- (inline_node_duplication_hook): Update clone summary based
- on parameter map.
- (estimate_callee_size_and_time): Rename to ...
- (estimate_node_size_and_time): take NODE instead of EDGE;
- take POSSIBLE_TRUTHS as argument.
- (estimate_callee_size_and_time): Update.
- (estimate_ipcp_clone_size_and_time): New function.
- (do_estimate_edge_time): Update.
-
-2011-05-08 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48908
- PR middle-end/48905
- * expmed.c (expand_shift_1): Compute adjusted constant shift
- amount manually.
-
-2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
-
-2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
-
-2011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
-
-2011-05-07 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (inline_call): Account when program size
- decreases.
- * ipa-inline.c (relative_time_benefit): New function.
- (edge_badness): Reorganize to be power 2 based; fix thinko when
- computing badness for negative growth; update comments to match
- reality; better dumps.
-
-2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
- type to bool and adjust comment.
- * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
- (fold_mathfn_compare): Remove calls to global_bindings_p.
- (fold_inf_compare): Likewise.
- * stor-layout.c (variable_size): Adjust call to global_bindings_p.
- * c-tree.h (global_bindings_p): Adjust prototype.
- * c-decl.c (global_bindings_p): Return bool and simplify.
-
-2011-05-07 Zdenek Dvorak <ook@ucw.cz>
-
- PR tree-optimization/48837
- * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
- when accumulator transformation is performed.
-
-2011-05-06 Jan Hubicka <jh@suse.cz>
-
- * i386.h (ix86_tune_indices): Add
- X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
- (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
- * i386.c (initial_ix86_tune_features): Add
- X86_SOFTARE_PREFETCHING_BENEFICIAL.
- (software_prefetching_beneficial_p): Remove predicate.
- (ix86_option_override_internal): Use new macro.
-
-2011-05-06 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
-
-2011-05-06 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_add_thunk): Create real function node instead
- of alias node; finalize it and mark needed/reachale; arrange visibility
- to be right and add it into the corresponding same comdat group list.
- (dump_cgraph_node): Dump thunks.
- * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
- cgraph_function_with_gimple_body_p,
- cgraph_first_function_with_gimple_body,
- cgraph_next_function_with_gimple_body): New functions.
- (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
- New macros.
- * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
- (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
- * cgraphunit.c (cgraph_finalize_function): Only look into possible
- devirtualization when optimizing.
- (verify_cgraph_node): Verify thunks.
- (cgraph_analyze_function): Analyze thunks.
- (cgraph_mark_functions_to_output): Output thunks only in combination
- with function they are assigned to.
- (assemble_thunk): Turn thunk into non-thunk; don't try to turn
- alias into normal node.
- (assemble_thunks): New functoin.
- (cgraph_expand_function): Use it.
- * lto-cgraph.c (lto_output_node): Stream thunks.
- (input_overwrite_node): Stream in thunks.
- * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
- * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
- * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
- * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
- (inline_analyze_function): Do not care about thunk jump functions.
- (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
- * ipa-prop.c (ipa_prop_write_jump_functions): Use
- cgraph_function_with_gimple_body_p.
- * passes.c (do_per_function_toporder): Use
- cgraph_function_with_gimple_body_p.
- (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
- (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
- (function_called_by_processed_nodes_p): Likewise.
-
-2011-05-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
- rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
- entries.
- (mabi=): Replace with separate entries for mabi=altivec,
- mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
- mabi=ieeelongdouble and mabi=ibmlongdouble.
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
- check for -mabi=spe without SPE ABI support here.
- (rs6000_handle_option): Replace OPT_mabi_ handling with
- OPT_mabi_altivec and OPT_mabi_spe handling.
-
-2011-05-06 Cary Coutant <ccoutant@google.com>
-
- * dwarf2out.c (contains_subprogram_definition): New function.
- (should_move_die_to_comdat): Call it.
-
-2011-05-06 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
- remove_ctrl_stmt_and_useless_edges.
- (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
- (fixup_template_block, thread_single_edge): Likewise.
- (mark_threaded_blocks): Use THREAD_TARGET.
-
-2011-05-06 Alan Modra <amodra@gmail.com>
-
- PR target/48900
- * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
- const0_rtx as the arg to the dummy __tls_get_addr libcall.
-
-2011-05-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
- constraint modifier to "r".
-
-2011-05-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
- fall through for OPT_mcmodel_.
-
-2011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_asm_trampoline_template): Comment
- instruction sizes.
- (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
-
-2011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/47930
- * config/arm/arm.opt (marm): Document it.
- (mthumb): Reject negative variant.
-
-2011-05-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48898
- * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
- Fix typo in "ccvt" variable name.
-
-2011-05-06 Tristan Gingold <gingold@adacore.com>
-
- PR target/48895
- * config/vms/vms-ar.c (main): Remove cwd variable.
-
-2011-05-06 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48902
- * var-tracking.c (prepare_call_arguments): Move else before #endif.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * except.c (sjlj_emit_dispatch_table): Call build_case_label.
- * gimplify.c (gimplify_switch_expr): Likewise.
- * omp-low.c (expand_omp_sections): Likewise.
- * tree-eh.c (lower_try_finally_switch): Likewise.
- (lower_eh_dispatch): Likewise.
- * tree.h (build_case_label): Declare.
- * tree.c (build_case_label): Define.
-
-2011-05-05 Jason Merrill <jason@redhat.com>
-
- PR c++/40975
- * tree-inline.c (copy_tree_r): Use copy_statement_list.
- (copy_statement_list): Don't recurse.
- * stor-layout.c (copy_self_referential_tree_r): Don't allow
- STATEMENT_LIST.
-
-2011-05-05 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
- through from -mfpu= handling.
- * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
-
-2011-05-05 Bernd Schmidt <bernds@codesourcery.com>
-
- * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
- POST_MODIFY.
-
-2011-05-05 Steve Ellcey <sje@cup.hp.com>
-
- * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
- for 11.31.
- (hppa[12]*-*-hpux11*): Ditto.
- (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
- * config/ia64/hpux-unix2003.h: New.
- * config/pa/pa-hpux1131.opt: New.
- * config/pa/pa-hpux1131.h: New.
- * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
- * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
- * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
-
-2011-05-05 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48853
- * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
- instead of mode as 3rd argument to recursive call.
- (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
- emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
- VOIDmode.
- (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
- don't give up if mode is Pmode and mem_mode is not VOIDmode.
- (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
- use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
-
-2011-05-05 Julian Brown <julian@codesourcery.com>
-
- * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
- parenthesis in D-register case.
-
-2011-05-05 Joseph Myers <joseph@codesourcery.com>
-
- * opt-functions.awk (var_type_struct): Handle Enum options.
- * optc-gen.awk: Don't check range of variables of character type.
- * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
- rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
- rs6000_sdata_name, rs6000_explicit_options): Remove.
- (rs6000_option_override_internal): Check for -malign-power here.
- Use global_options_set instead of rs6000_explicit_options.
- (rs6000_parse_fpu_option): Remove.
- (rs6000_handle_option): Access variables via opts and opts_set
- pointers. Use error_at and warning_at. Add fall-through
- comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
- OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
- OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
- OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
- here. Don't use rs6000_parse_fpu_option.
- * config/rs6000/rs6000.h (fpu_type): Remove declaration.
- * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
- rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
- (mrecip=): Use Var.
- (mspe): Use Var and Save.
- (mtraceback=): Use Enum and Var.
- (rs6000_traceback_type): New Enum and EnumValue entries.
- (mfloat-gprs=): Use Enum, Var and Save.
- (rs6000_float_gprs): New Enum and EnumValue entries.
- (mlong-double-): use Var and Save.
- (msched-costly-dep=, minsert-sched-nops=): Use Var.
- (malign-): Use Enum and Var.
- (rs6000_alignment_flags): New Enum and EnumValue entries.
- (mfpu=): Use Enum.
- (fpu_type_t): New Enum and EnumValue entries.
- * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
- definition.
- * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
- (rs6000_cmodel): New Enum and EnumValue entries.
- * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
- global_options_set instead of rs6000_explicit_options.
- * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
- (mtls-size=): Use Enum and Var.
- (rs6000_tls_size): New Enum and EnumValue entries.
-
-2011-05-05 Michael Matz <matz@suse.de>
-
- * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
- * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
- * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
- * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
- * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
- * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
- * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
- * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
- * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
- * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
- * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
- * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
- * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
- * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
- * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
- * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
-
-2011-05-05 Richard Guenther <rguenther@suse.de>
-
- * expmed.c (expand_variable_shift): Rename to ...
- (expand_shift_1): ... this. Take an expanded shift amount.
- For rotates recurse directly not building trees for the shift amount.
- (expand_variable_shift): Wrap around expand_shift_1.
- (expand_shift): Adjust.
-
-2011-05-05 Jakub Jelinek <jakub@redhat.com>
-
- * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.h (get_pending_sizes): Remove prototype.
- (put_pending_size): Likewise.
- (put_pending_sizes): Likewise.
- * stor-layout.c (pending_sizes): Delete.
- (get_pending_sizes): Likewise.
- (put_pending_size): Likewise.
- (put_pending_sizes): Likewise.
- (variable_size): Do not call put_pending_size and tidy up.
- * function.h (struct function): Remove dont_save_pending_sizes_p.
- * lto-streamer-in.c (input_function): Do not stream it.
- * lto-streamer-out.c (output_function): Likewise.
- * tree-inline.c (initialize_cfun): Do not copy it.
- * c-decl.c (store_parm_decls): Do not set it.
- * omp-low.c (create_task_copyfn): Likewise.
- * tree-optimize.c (tree_rest_of_compilation): Likewise.
-
-2011-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
- conditions.
- (*movdf_internal): Ditto.
- (*movdf_internal_nointeger): Ditto.
- (*movsf_internal): Ditto.
-
-2011-05-05 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (finish_decl): Don't call get_pending_sizes.
- (grokparm): Add parameter expr. Pass it to grokdeclarator.
- (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
- (c_variable_size): Remove.
- (grokdeclarator): Use save_expr instead of c_variable_size. Don't
- call put_pending_sizes.
- (get_parm_info): Add parameter expr. Use it to set
- arg_info->pending_sizes.
- (store_parm_decls): Use arg_info->pending_sizes instead or calling
- get_pending_sizes.
- * c-parser.c (c_parser_parms_declarator): Update call to
- c_parser_parms_list_declarator.
- (c_parser_parms_list_declarator): Take parameter expr. Update
- call to push_parm_decl. Update recursive call. Don't call
- get_pending_sizes. Update calls to get_parm_info.
- (c_parser_objc_method_definition): Update calls to
- c_parser_objc_method_decl and objc_start_method_definition.
- (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
- (c_parser_objc_method_decl): Add parameter expr. Update call to
- grokparm.
- (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
- * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
- (get_parm_info, grokparm, push_parm_decl): Update prototypes.
-
-2011-05-05 Michael Hope <michael.hope@linaro.org>
-
- PR pch/45979
- * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
- __ARM_EABI__ hosts.
-
-2011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
- (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
- (spu_output_mi_thunk): New function.
-
-2011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
- targetm.asm_out.print_operand.
- * config/sol2.c: Include target.h.
-
-2011-05-04 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (reset_edge_caches): New function.
- (update_caller_keys): Add check_inlinablity_for; do not
- reset edge caches; remove now unnecesary loop.
- (update_callee_keys): Add comments; reset node_growth_cache of callee.
- (update_all_callee_keys): Likewise.
- (inline_small_functions): Sanity check cache; update code
- recomputing it.
-
-2011-05-04 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/47612
- * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
- as the last insn of the sequence to be moved.
-
-2011-05-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48864
- * doc/invoke.texi (Ofast): Document that it
- enables Fortran's -fno-protect-parens.
-
-2011-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
-
-2011-05-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (variable_size): Do not issue errors.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * coverage.c (tree_coverage_counter_ref): Use integer_type_node
- for array-ref indices.
- (tree_coverage_counter_addr): Likewise.
- (build_fn_info_type): Use size_int for index types.
- (build_gcov_info): Likewise.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
- to build_int_cst.
- * c-typeck.c (really_start_incremental_init): Use bitsize_int
- for constructor indices.
- (push_init_level): Likewise.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * explow.c (promote_mode): Move variable declarations before code.
-
-2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (build_function_type_array): Declare.
- (build_varargs_function_type_array): Declare.
- (build_function_type_vec, build_varargs_function_type_vec): Define.
- * tree.c (build_function_type_array_1): New function.
- (build_function_type_array): New function.
- (build_varargs_function_type_array): New function.
-
-2011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
- before setting STMT_VINFO_TYPE.
-
-2011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
- instead of spu_pass_by_reference.
-
-2011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * calls.c (emit_library_call_value_1): Invoke
- promote_function_mode hook on libcall arguments.
- * explow.c (promote_function_mode, promote_mode): Handle TYPE
- argument being NULL.
- * targhooks.c (default_promote_function_mode): Lisewise.
- * config/s390/s390.c (s390_promote_function_mode): Likewise.
- * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
-
- * doc/tm.texi: Document that TYPE argument might be NULL.
-
-2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
-
- * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
-
-2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Bernd Schmidt
- * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
-
-2011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
- (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
- Move ...
- * mips-tfile.c: ... here.
- Don't include coretypes.h, tm.h, filenames.h.
- (saber_stop): Remove definition and all calls.
- [__SABER__]: Remove.
- (__LINE__): Remove default.
- (Size_t, Ptrdiff_t): Remove definitions.
- Replace by size_t, ptrdiff_t.
- [!MIPS_DEBUGGING_INFO]: Remove.
- (SHASH_SIZE, THASH_SIZE): Remove defaults.
- (progname): Add const.
- (STATIC): Remove.
- Replace all uses by static.
- (ALIGN_SYMTABLE_OFFSET): Remove default.
- * mips-tdump.c: Don't include coretypes.h, tm.h.
- Remove !MIPS_IS_STAB guard.
- * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
- $(TM_H), filenames.h dependencies.
- (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
-
-2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Jie Zhang
- *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
- (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
-
-2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Bernd Schmidt
- * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
- account and save/restore RETS.
- (PROFILE_BEFORE_PROLOGUE): Define.
- (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
- the push insn to use predecrement.
-
-2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Jie Zhang
- * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
-
-2011-05-04 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c: Include cfgloop.h.
- (DUMP): New macro.
- (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
- Lcc or a FLcc insn into the instruction stream.
- (mn10300_block_contains_call): New function. Returns true if the
- given basic block contains a CALL insn.
- (mn10300_loop_contains_call_insn): New function. Returns true if
- the given loop contains a CALL insn.
- (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
- to use the SETLB and Lcc or FLcc insns.
- (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
- (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
- * config/mn10300/mn10300.opt (msetlb): New option. Used to
- disable the SETLB optimization.
- * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
- __SETLB__ or __NO_SETLB__.
- * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
- (movsf_internal): Handle MDR register.
- (cmpsi): Make visible.
- (setlb): New pattern.
- (Lcc): New pattern.
- (FLcc): New pattern.
-
-2011-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48860
- * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
- for reg<->xmm moves.
- * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
- (vec_concatv2di_rex64_sse): Ditto.
- (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
- (*vec_extractv2di_1_rex64): Ditto.
-
- Revert:
- 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
- reg<->xmm moves.
- (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * tree.h (int_const_binop): Remove notrunc argument.
- * fold-const.c (int_const_binop): Remove notrunc argument. Always
- create integer constants that are properly truncated.
- (extract_muldiv_1): Expand one notrunc int_const_binop caller.
- (const_binop): Remove zero notrunc argument to int_const_binop.
- (size_binop_loc): Likewise.
- (fold_div_compare): Likewise.
- (maybe_canonicalize_comparison_1): Likewise.
- (fold_comparison): Likewise.
- (fold_binary_loc): Likewise.
- (multiple_of_p): Likewise.
- * expr.c (store_constructor): Likewise.
- * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
- (maybe_fold_stmt_addition): Likewise.
- * ipa-prop.c (ipa_modify_call_arguments): Likewise.
- * stor-layout.c (layout_type): Likewise.
- * tree-data-ref.c (tree_fold_divides_p): Likewise.
- * tree-sra.c (build_ref_for_offset): Likewise.
- (build_user_friendly_ref_for_offset): Likewise.
- * tree-ssa-address.c (maybe_fold_tmr): Likewise.
- * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
- * tree-ssa-loop-niter.c (inverse): Likewise.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
- * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
- * tree-switch-conversion.c (check_range): Likewise.
- (build_constructors): Likewise.
- * tree-vect-generic.c (expand_vector_piecewise): Likewise.
- * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
- (extract_range_from_assert): Likewise.
- (vrp_int_const_binop): Likewise.
- (extract_range_from_binary_expr): Likewise.
- (extract_range_from_unary_expr): Likewise.
- (check_array_ref): Likewise.
- (find_case_label_range): Likewise.
- (simplify_div_or_mod_using_ranges): Likewise.
- * tree-cfg.c (group_case_labels_stmt): Use double-ints for
- comparing case labels for merging.
-
-2011-05-03 Mark Wielaard <mjw@redhat.com>
-
- * dwarf2out.c (debug_str_hash_forced): Removed.
- (gen_label_for_indirect_string): Removed.
- (get_debug_string_label): Removed.
- (AT_string_form): Generate label directly.
- (output_indirect_string): Test indirect_string_node for
- DW_FORM_strp instead of checking label and refcount.
- (prune_indirect_string): Removed.
- (prune_unused_types): Don't check debug_str_hash_forced or
- call prune_indirect_string.
-
-2011-05-04 Alexandre Oliva <aoliva@redhat.com>
-
- PR other/48093
- * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
-
-2011-05-04 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47994
- PR debug/47919
- * combine.c (try_combine): Skip debug insns at m_split tests.
-
-2011-04-26 Mark Wielaard <mjw@redhat.com>
-
- PR42288
- * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
- when info_section_emitted.
-
-2011-05-03 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/mips-opts.h: New.
- * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
- to mips-opts.h.
- (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
- (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
- or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
- via opts pointer.
- * config/mips/mips.h (enum mips_code_readable_setting): Move to
- mips-opts.h.
- (mips_abi, mips_code_readable): Don't declare.
- * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
- (mabi=): Use Enum and Var.
- (mips_abi): New Enum and EnumValue entries.
- (mcode-readable=): Use Enum and Var.
- (mips_code_readable_setting): New Enum and EnumValue entries.
- (mr10k-cache-barrier=): Use Enum and Var.
- (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
-
-2011-05-03 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
- replace hash by pointer map.
- (cgraph_node_set_element_def, cgraph_node_set_element,
- const_cgraph_node_set_element, varpool_node_set_element_def,
- varpool_node_set_element, const_varpool_node_set_element): Remove.
- (free_cgraph_node_set, free_varpool_node_set): New function.
- (cgraph_node_set_size, varpool_node_set_size): Use vector size.
- * tree-emutls.c: Free varpool node set.
- * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
- cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
- debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
- varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
- dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
- Move here from ipa.c; implement using pointer_map
- * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
- cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
- debug_cgraph_node_set, varpool_node_set_new,
- varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
- dump_varpool_node_set, debug_varpool_node_set):
- Move to ipa-uitls.c.
- * passes.c (ipa_write_summaries): Update.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Mike Frysinger:
- * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
- bf542/bf544/bf547/bf548/bf549.
-
-2011-05-03 Uros Bizjak <ubizjak@gmail.com>
-
- * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Bernd Schmidt:
- * config/bfin/bfin.md (MOVCC): New mode_macro.
- (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
- movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
- comments from generated assembly.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Bernd Schmidt
- * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
- * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
- * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
- * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
- * config/bfin/lib1funcs.asm (___muldi3): New function.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/stormy16/stormy16 (xstormy16_init_builtins): Call
- build_function_type_list instead of build_function_type.
- Rearrange initialization of `args' to do so.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/i386/i386.c (ix86_code_end): Call build_function_type_list
- instead of build_function_type.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/rs6000/rs6000.c (spe_init_builtins): Call
- build_function_type_list instead of build_function_type.
- (paired_init_builtins, altivec_init_builtins): Likewise.
- (builtin_function_type): Likewise.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/sh/sh.c (sh_media_init_builtins): Call
- build_function_type_list instead of build_function_type.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/sparc/sparc.c (sparc_file_end): Call
- build_function_type_list instead of build_function_type.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/alpha/alpha.c (alpha_init_builtins): Call
- build_function_type_list instead of build_function_type.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/xtensa/xtensa.c (xtensa_init_builtins): Call
- build_function_type_list instead of build_function_type.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/iq2000/i2000.c (iq2000_init_builtins): Call
- build_function_type_list instead of build_function_type.
- Delete `endlink' variable.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/avr/avr.c (avr_init_builtins): Call
- build_function_type_list instead of build_function_type.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/picochip/picochip.c (picochip_init_builtins): Call
- build_function_type_list instead of build_function_type.
- Delete `endlink' variable.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/bfin/bfin.c (bfin_init_builtins): Call
- build_function_type_list instead of build_function_type.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Bernd Schmidt
- * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
- that's not CONST_INT. Seemingly redundant check is due to PR39768.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Jie Zhang:
- * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
- libbffastfp overrides libgcc when -mfast-fp.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- Originally from Bernd Schmidt
- * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
- * config/bfin/bfin.c (override_options): Test it and error if
- TARGET_FDPIC.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- Originally From Bernd Schmidt
- * config/bfin/bfin.c (override_options): Disable -fstack-limit for
- FD-PIC.
-
-2011-05-03 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (THREAD_TARGET): define.
- (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
- (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
- than accessing AUX field directly. Free the AUX field before
- clearing it.
- (thread_block, thread_through_loop_header): Likewise.
- (thread_single_edge, mark_threaded_blocks): Likewise.
- (redirect_edges): Delay clearing the AUX field. Free the AUX field.
- (register_jump_thread): Do not attempt to thread to a NULL edge.
-
-2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
-
- * function.c (init_function_start): Call decide_function_section.
- * varasm.c (decide_function_section): New function.
- (assemble_start_function): When not using
- flag_reorder_blocks_and_partition, don't compute in_cold_section_p
- or first_function_block_is_cold.
- * rtl.h (decide_function_section): Declare.
-
-2011-05-03 Uros Bizjak <ubizjak@gmail.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/48774
- * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
- only succeed if req_mode is the same as set_mode.
-
-2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
-
- * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
- * genemit.c (gen_exp): Handle RETURN.
- * emit-rtl.c (verify_rtx_sharing): Likewise.
- (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
- * rtl.c (copy_rtx): RETURN is shared.
- * rtl.h (enum global_rtl_index): Add GR_RETURN.
- (ret_rtx): New.
- * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
- * config/s390/s390.c (s390_emit_epilogue): Likewise.
- * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
- * config/cris/cris.c (cris_expand_return): Likewise.
- * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
- * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
- rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
- * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
- * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
- Likewise.
- * config/v850/v850.c (expand_epilogue): Likewise.
- * config/bfin/bfin.c (bfin_expand_call): Likewise.
- * config/arm/arm.md (epilogue): Likewise.
- * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
- * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
- variable to ret_reg.
-
-2011-05-03 Richard Guenther <rguenther@suse.de>
-
- PR lto/48846
- * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
- Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
- * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
-
-2011-05-03 Richard Guenther <rguenther@suse.de>
-
- * c-decl.c (grokdeclarator): Instead of looking at
- TREE_OVERFLOW check if the constant fits in the index type.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
- (vec_store_lanes<mode><mode>): Likewise.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
- * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
- convert_optab_index values.
- (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
- * genopinit.c (optabs): Initialize the new optabs.
- * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
- * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
- (expand_STORE_LANES): New functions.
- * tree.h (build_array_type_nelts): Declare.
- * tree.c (build_array_type_nelts): New function.
- * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
- (vect_model_load_cost): Likewise.
- (vect_store_lanes_supported, vect_load_lanes_supported)
- (vect_record_strided_load_vectors): Declare.
- * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
- (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
- (vect_transform_strided_load): Split out statement recording into...
- (vect_record_strided_load_vectors): ...this new function.
- * tree-vect-stmts.c (create_vector_array, read_vector_array)
- (write_vector_array, create_array_ref): New functions.
- (vect_model_store_cost): Add store_lanes_p argument.
- (vect_model_load_cost): Add load_lanes_p argument.
- (vectorizable_store): Try to use store-lanes functions for
- interleaved stores.
- (vectorizable_load): Likewise load-lanes and loads.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
- to vect_model_store_cost.
- (vect_build_slp_tree): Likewise vect_model_load_cost.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * hooks.h (hook_bool_mode_uhwi_false): Declare.
- * hooks.c (hook_bool_mode_uhwi_false): New function.
- * target.def (array_mode_supported_p): New hook.
- * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
- * doc/tm.texi: Regenerate.
- * stor-layout.c (mode_for_array): New function.
- (layout_type): Use it.
- * config/arm/arm.c (arm_array_mode_supported_p): New function.
- (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
-
-2011-05-03 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/48723
- * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
- for -fstack-check if the size to allocate is negative.
-
-2011-05-02 Lawrence Crowl <crowl@google.com>
-
- * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
- (timevar_cond_start): New for starting a timer only when it is not
- already running.
- (timevar_cond_stop): New for stopping a timer when it was not already
- running.
-
- * timevar.c (timevar_stop): Enable start/stop timers to start again.
- (timevar_cond_start): New as above.
- (timevar_cond_stop): New as above.
-
- * timevar.def: Add start/stop timers for compiler phases,
- TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
- TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
- and TV_PHASE_FINALIZE.
- Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
- Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
- TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
- Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
- Make unused TV_OVERLOAD into a start/stop timer.
-
- Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
- Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
- to indicate that they are start/stop timers.
-
- * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
- Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
- Move initialization to do_compile.
- (do_compile): Add initialization from above.
- Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
-
- * c-decl.c (c_write_global_declarations): Add start/stop of
- TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
-
- * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
- or TV_PARSE_INLINE, as appropriate.
- (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
- (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
-
-2011-05-02 Jason Merrill <jason@redhat.com>
-
- PR c++/40975
- * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
-
-2011-05-02 Simon Martin <simartin@users.sourceforge.net>
-
- PR c/35445
- * c-decl.c (finish_decl): Only create a composite if the types are
- compatible.
-
-2011-05-02 Joseph Myers <joseph@codesourcery.com>
-
- * config/fr30/fr30-protos.h (Mmode): Don't define.
- * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
- definition where used.
- * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
- define. Expand definitions where used.
- * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
- Expand definitions where used.
- * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
- rx_function_arg, rx_function_arg_advance,
- rx_function_arg_boundary): Expand definitions of those macros.
- * config/v850/v850-protos.h (Mmode): Don't define. Expand
- definition where used.
-
-2011-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
- reg<->xmm moves.
- (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
- (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
- with *movv2sf_internal_rex64_avx.
- (*movv2sf_internal): Merge with *movv2sf_internal_avx.
- * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
- Use %v prefix in insn mnemonic to handle TARGET_AVX.
- (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
- "vex" in "prefix" attribute calculation.
- (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
-
-2011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
-
- PR target/47951
- * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
- inputs match the output.
-
-2011-05-02 Andreas Schwab <schwab@linux-m68k.org>
-
- PR target/47955
- * config/m68k/m68k.c (m68k_expand_prologue): Set
- current_function_static_stack_size.
-
-2011-05-02 Jan Hubicka <jh@suse.cz>
-
- * lto-streamer.c (lto_streamer_cache_insert_1,
- lto_streamer_cache_lookup, lto_streamer_cache_create,
- lto_streamer_cache_delete): Use pointer map instead of hashtable.
- * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
-
-2011-05-02 Joseph Myers <joseph@codesourcery.com>
-
- * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
- config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
- config/m68k/t-opts: New files.
- * config/m68k/m68k-tables.opt: New file (generated).
- * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
- extra_options and m68k/t-opts to tmake_file.
- * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
- (all_isas): Initialize using m68k-isas.def.
- (all_microarchs): Initialize using m68k-microarchs.def.
- (m68k_find_selection): Remove.
- (m68k_handle_option): Don't assert that global structures are in
- use. Use error_at. Access variables via opts pointer. Don't
- handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
- directly for -m68020-40 and -m68020-60.
- (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
- m68k_tune_entry here.
- * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
- to m68k-opts.h.
- (m68k_library_id_string): Remove declaration.
- * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
- (m68k_library_id_string): New Variable.
- (march=, mcpu=, mtune=): Use Enum and Var.
-
-2011-05-02 Richard Guenther <rguenther@suse.de>
-
- * varasm.c (output_constructor_regular_field): Compute zero-based
- index with double-ints. Make sure to ICE instead of producing
- wrong code.
- * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
- in asserts. Properly use a signed type.
-
-2011-05-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (V): New mode iterator.
- (V_128): Rename from SSEMODE. Make V2DF mode conditional on
- TARGET_SSE2.
- (V_256): Rename from AVX256MODE.
- (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
- condition to all users.
- (VF1): Ditto.
- (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
- condition to all users.
- (VF_128): Make V4SF mode unconditional.
- (VF_256): Rename from AVX256MODEF2P.
- (VI4F_128): Rename from SSEMODE4S.
- (VI8F_128): Rename from SSEMODE2D.
- (VI4F_256): Rename from AVX256MODE8P.
- (VI8F_256): Rename from AVX256MODE4P.
- (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
- (ssescalarmodesuffix): Remove SF and DF modes.
- (SSEMODE124): Remove.
- (SSEMODE1248): Ditto.
- (SSEMODEF2P): Ditto.
- (AVXMODEF2P): Ditto.
- (AVXMODEFDP): Ditto.
- (AVXMODEFSP): Ditto.
- (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
- unconditional.
- (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
- unconditional.
- (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
- xop_pcmov_<mode>256. Use V mode iterator.
-
- Adjust RTX patterns globally for renamed mode attributes.
-
-2011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * haifa-sched.c (sched_emit_insn): Emit insn before first
- non-scheduled insn. Inform back-end about new insn. Add
- new insn to scheduled_insns list.
-
-2011-05-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48822
- * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
- (process_scc): Indicate which iteration we start.
-
-2011-05-02 Jan Hubicka <jh@suse.cz>
-
- * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
- (lto_section_overrun): New.
- * lto-section-out.c (append_block): Rename to ...
- (lto_append_block): ... this one; export.
- (lto_output_1_stream): Move lto lto-streamer.h
- (lto_output_data_stream): Update.
- * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
- (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
- functions.
-
-2011-05-02 Richard Guenther <rguenther@suse.de>
-
- * tree.c (tree_code_counts): New global array.
- (record_node_allocation_statistics): Count individual tree codes.
- (dump_tree_statistics): Dump individual code stats.
-
-2011-05-01 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (caller_growth_limits): Fix thinko when
- looking for largest stack frame.
- * ipa-inline.h (dump_inline_summary): Declare.
- * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
- on stack usage.
- (dump_inline_summary): Export.
- (debug_inline_summary): Declare as DEBUG_FUNCTION.
-
-2011-05-01 Anatoly Sokolov <aesok@post.ru>
-
- * reginfo.c (memory_move_cost): Change rclass argument type form
- 'enum reg_class' to reg_class_t.
- * reload.h (memory_move_cost): Update prototype.
- * postreload.c reload_cse_simplify_set): Change type dclass var to
- reg_class_t.
- * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
- Update prototype.
- (ira_allocate_and_set_costs): Change aclass argument type form
- 'enum reg_class' to reg_class_t.
- * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
- Change aclass argument type to reg_class_t.
- (update_conflict_hard_reg_costs): Change type aclass and pref vars
- to reg_class_t.
- * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
- memory_move_cost call.
-
- * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
- 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
- Change type tmp var to reg_class_t.
-
-2011-04-30 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (can_inline_edge_p): Disregard limits when
- inlining into function with flatten attribute.
- (want_inline_small_function_p): Be more realistic about inlining
- cold calls where callee size grows.
-
-2011-04-30 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
- flags.
-
-2011-04-30 Anatoly Sokolov <aesok@post.ru>
-
- * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
- PRINT_OPERAND_PUNCT_VALID_P): Remove.
- * config/sparc/sparc-protos.h (print_operand): Remove declaration.
- * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
- TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
- (print_operand): Rename to...
- (sparc_print_operand): ...this. Make static. Adjust
- sparc_print_operand function call.
- (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
- functions.
-
-2011-04-30 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48752
- * ipa-inline.c (early_inliner): Disable when doing late
- addition of function.
-
-2011-04-30 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (get_address_mode): New inline.
- (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
- if not dwarf_strict emit
- DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
- desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
- UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
- FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
- (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
- dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
- mem_loc_descriptor callers.
- (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
- output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
- Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
- DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
- (base_types): New variable.
- (get_base_type_offset, calc_base_type_die_sizes,
- base_type_for_mode, mark_base_types, base_type_cmp,
- move_marked_base_types): New functions.
- (calc_die_sizes): Assert that die_offset is 0 or equal to
- next_die_offset.
- (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
- others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
- callers. If not dwarf_strict, call mem_loc_descriptor even for
- non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
- (gen_subprogram_die): Don't give up on call site parameters
- with non-integral or large integral modes. Adjust
- mem_loc_descriptor callers.
- (prune_unused_types): Call prune_unused_types_mark on base_types
- vector entries.
- (resolve_addr): Call mark_base_types.
- (dwarf2out_finish): Call move_marked_base_types.
-
- PR tree-optimization/48809
- * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
- type.
- (gen_inbound_check): Don't compute index_expr - range_min in utype
- again, instead reuse SSA_NAME initialized in build_arrays.
- Remove two useless gsi_for_stmt calls.
-
-2011-04-29 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
-
-2011-04-29 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.h (cgraph_postorder): Remove declaration.
- * ipa-utils.h (ipa_free_postorder_info): Declare.
- (ipa_reverse_postorder): Likewise.
- * cgraphunit.c: Include ipa-utils.h.
- (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
- * ipa-inline.c: Include ipa-utils.h.
- (ipa_inline): Update call to ipa_reverse_postorder.
- * ipa-pure-const.c (propagate_pure_const): Update call to
- ipa_reduced_postorder and ipa_print_order. Call
- ipa_free_postorder_info to clean up.
- (propagate_nothrow): Likewise.
- * ipa-reference.c (propagate): Removed a useless call to
- ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
- and ipa_print_order. Call ipa_free_postorder_info to clean up.
- * ipa.c: Include ipa-utils.h.
- (ipa_profile): Update call to ipa_reverse_postorder.
- (cgraph_postorder): Moved to...
- * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
- (ipa_utils_print_order): Renamed to ipa_print_order.
- (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
- comments.
- (ipa_free_postorder_info): New function.
- * passes.c: Include ipa-utils.h.
- (do_per_function_toporder): Update call to ipa_reverse_postorder.
- (ipa_write_summaries): Likewise.
- * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
- (cgraphunit.o): Likewise.
- (ipa.o): Likewise.
- (ipa-inline.o): Likewise.
-
-2011-04-29 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.h (clause_t): Turn into unsigned int.
- * ipa-inline-analysis.c (add_clause): Do more simplification.
- (and_predicates): Shortcut more cases.
- (predicates_equal_p): Move forward; check that clauses are properly
- ordered.
- (or_predicates): Shortcut more cases.
- (edge_execution_predicate): Rewrite as...
- (set_cond_stmt_execution_predicate): ... this function; handle
- __builtin_constant_p.
- (set_switch_stmt_execution_predicate): New .
- (compute_bb_predicates): New.
- (will_be_nonconstant_predicate): Update TODO.
- (estimate_function_body_sizes): Use compute_bb_predicates
- and free them later, always try to estimate if stmt is constant.
- (estimate_time_after_inlining, estimate_size_after_inlining):
- Gracefully handle optimized out edges.
- (read_predicate): Fix off by one error.
-
-2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * Makefile.in (ENABLE_MAINTAINER_RULES): New.
-
-2011-04-27 Xinliang David Li <davidxl@google.com>
-
- * tree-profile.c (init_ic_make_global_vars): Set
- tls attribute on ic vars.
- * coverage.c (coverage_end_function): Initialize
- function_list with zero.
-
-2011-04-29 Richard Guenther <rguenther@suse.de>
-
- * builtins.c (fold_builtin_classify_type): Use integer_type_node
- for the type of the result.
- (fold_builtin_isascii): Likewise.
- (fold_builtin_toascii): Use integer_type_node where appropriate.
- (fold_builtin_logb): Likewise.
- (fold_builtin_frexp): Likewise.
- (fold_builtin_strstr): Likewise.
- (fold_builtin_strpbrk): Likewise.
- (fold_builtin_fputs): Likewise.
- (fold_builtin_sprintf): Likewise.
- (fold_builtin_snprintf): Likewise.
- (fold_builtin_printf): Likewise.
- (do_mpfr_remquo): Use a proper type for the assigned constant.
- (do_mpfr_lgamma_r): Likewise.
- * dwarf2out.c (resolve_one_addr): Use size_int.
- * except.c (init_eh): Likewise.
- (assign_filter_values): Use integer_type_node for filter values.
- (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
- indices.
- * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
- for EH region numbers.
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
- for the shift amount.
-
-2011-04-29 Richard Guenther <rguenther@suse.de>
-
- * expr.h (expand_shift): Rename to ...
- (expand_variable_shift): ... this.
- (expand_shift): Take a constant shift amount.
- * expmed.c (expand_shift): Rename to ...
- (expand_variable_shift): ... this.
- (expand_shift): New wrapper around expand_variable_shift.
- * expr.c (convert_move, emit_group_load_1, emit_group_store,
- optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
- expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
- * expmed.c (store_fixed_bit_field, extract_bit_field_1,
- extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
- expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
- extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
- emit_store_flag_1, emit_store_flag): Likewise.
- * builtins.c (expand_builtin_signbit): Likewise.
- * calls.c (load_register_parameters): Likewise.
- * function.c (assign_parm_setup_block): Likewise.
- * lower-subreg.c (resolve_shift_zext): Likewise.
- * optabs.c (widen_bswap, expand_abs_nojump,
- expand_one_cmpl_abs_nojump, expand_float): Likewise.
- * spu/spu.c (spu_expand_extv): Likewise.
- * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
-
-2011-04-29 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
- for the remapped region number.
- * predict.c (build_predict_expr): Use integer_type_node for the
- predict kind.
- * fold-const.c (fold_binary_loc): Use integer_type_node for
- the shift amount. Use a proper type for the PLUS_EXPR operand.
-
-2011-04-29 Michael Matz <matz@suse.de>
-
- * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
- other trees that just builtins.
- (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
-
-2011-04-29 Richard Guenther <rguenther@suse.de>
-
- * tree-nested.c (get_trampoline_type): Use size_int.
- (get_nl_goto_field): Likewise.
- * tree-eh.c (lower_try_finally_switch): Use integer_type_node
- for all indexes.
- (lower_eh_constructs_2): Likewise.
- (lower_resx): Likewise.
- (lower_eh_dispatch): Likewise.
- * tree-mudflap.c (mf_build_string): Use size_int.
- (mudflap_register_call): Use integer_type_node for the flag.
- (mudflap_enqueue_constant): Use size_int.
- * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
- instead of rebuilding it.
-
-2011-04-29 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
- Handle OBJ_TYPE_REF.
- (find_func_aliases_for_call): Use it more consistently.
-
-2011-04-29 Alexandre Oliva <aoliva@redhat.com>
-
- * haifa-sched.c (last_nondebug_scheduled_insn): New.
- (rank_for_schedule): Use it.
- (schedule_block): Set it.
-
-2011-04-28 David Li <davidxl@google.com>
-
- * tree.c (crc32_string): Use crc32_byte.
- (crc32_byte): New function.
- * tree.h (crc32_byte): New function.
- * gcov.c (read_graph_file): Handle new cfg_cksum.
- (read_count_file): Ditto.
- * profile.c (instrument_values): Ditto.
- (get_exec_counts): Ditto.
- (read_profile_edge_counts): Ditto.
- (compute_branch_probabilities): Ditto.
- (compute_value_histograms): Ditto.
- (branch_prob): Ditto.
- (end_branch_prob): Ditto.
- * coverage.c (read_counts_file): Ditto.
- (get_coverage_counts): Ditto.
- (tree_coverage_counter_addr): Ditto.
- (coverage_checksum_string): Ditto.
- (coverage_begin_output): Ditto.
- (coverage_end_function): Ditto.
- (build_fn_info_type): Ditto.
- (build_fn_info_value): Ditto.
- * libgcov.c (gcov_exit): Ditto.
- * gcov-dump.c (tag_function): Ditto.
- (compute_checksum): Remove.
-
-2011-04-29 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
- unspec plus offset. Tidy macho code.
-
-2011-04-29 Martin Jambor <mjambor@suse.cz>
-
- * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
- node instead of a decl. Update all callers.
- * cgraph.h: Update declaration.
-
-2011-04-28 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/48765
- * tree-vectorizer.h (vect_make_slp_decision): Return bool.
- * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
- to indicate if loop aware SLP is being used. Scan the statements
- and update the vectorization factor according to the type of
- vectorization before statement analysis.
- (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
- pass it to vect_analyze_loop_operations.
- (vectorizable_reduction): Set number of copies to 1 in case of pure
- SLP statement.
- * tree-vect-stmts.c (vectorizable_conversion,
- vectorizable_assignment, vectorizable_shift,
- vectorizable_operation, vectorizable_type_demotion,
- vectorizable_type_promotion, vectorizable_store, vectorizable_load):
- Likewise.
- (vectorizable_condition): Move the check that it is not SLP
- vectorization before the number of copies check.
- * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
- to vectorize the loop using SLP.
-
-2011-04-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48597
- * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
- inline asm.
-
-2011-04-28 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
- *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
- (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
- i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
- x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
- linux*.h headers.
- * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
- * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
- * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
- * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
- * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
- * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
- REG_NAME.
- * config/i386/linux.h (REG_NAME): Don't define.
- * config/i386/linux64.h (REG_NAME): Don't define.
- * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
- Undefine before defining.
-
-2011-04-28 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
- nonconstant_names array.
- (estimate_function_body_sizes): Build nonconstant_names array; handle
- BUILT_IN_CONSTANT_P.
-
-2011-04-28 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/48804
- Revert
- 2011-04-28 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (solve_constraints): Build succ graph
- as late as possible.
-
-2011-04-28 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (dump_constraint): Don't end the line.
- (debug_constraint): Do it here.
- (dump_constraints): And here.
- (rewrite_constraints): And here.
- (dump_constraint_edge): Remove.
- (dump_constraint_graph): Rewrite to produce DOT output.
- (solve_constraints): Build succ graph as late as possible.
- Dump constraint graphs before and after solving.
-
-2011-04-28 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
- New function split out from ...
- (find_func_aliases): ... here. Call it.
- (find_func_aliases_for_call): Likewise.
-
-2011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * internal-fn.h (internal_fn_name_array): Declare.
- (internal_fn_flags_array): Likewise.
-
-2011-04-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
- ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
- Move from sse.md.
- (ssemodefsuffix): Remove.
- (ssevecmodesuffix): New mode attribute.
- (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
- *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
- *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
- *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
- *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
- *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
- *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
- ssemodesuffix mode attribute.
- (float splitters): Use ssevecmodesuffix mode attribute.
- * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
- (sseinsmode): Rename from avxvecmode.
- (avxsizesuffix): Rename from avxmodesuffix.
- (sseintvecmode): Rename from avxpermvecmode.
- (ssedoublevecmode): Rename from ssedoublesizemode.
- (ssehalfvecmode): Rename from avxhalfvecmode.
- (ssescalarmode): Rename from avxscalarmode.
- (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
- templates for ssemodesuffix mode attribute.
- (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
- mode attribute.
-
- Adjust RTX patterns globally for renamed mode attributes.
-
-2011-04-27 Jan Hubcika <jh@suse.cz>
-
- * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
- * ipa-inline-analysis.c: Include alloc-pool.h.
- (edge_predicate_pool): New.
- (trye_predicate_p): New function
- (false_predicate_p): New function.
- (add_clause): Sanity check that false clauses are "optimized";
- never add clauses to predicate that is already known to be false.
- (and_predicate): Use flase_predicate_p.
- (evaulate_predicate): Rename to ...
- (evaluate_predicate): ... this one; update all callers; assert
- that false is not listed among possible truths.
- (dump_predicate): Use true_predicate_p.
- (account_size_time): Use false_predicate_p.
- (evaulate_conditions_for_edge): Rename to ...
- (evaluate_conditions_for_edge) ... this one.
- (edge_set_predicate): New function.
- (inline_edge_duplication_hook): Duplicate edge predicates.
- (inline_edge_removal_hook): Free edge predicates.
- (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
- (dump_inline_summary): Update.
- (estimate_function_body_sizes): Set edge predicates.
- (estimate_calls_size_and_time): Handle predicates.
- (estimate_callee_size_and_time): Update.
- (remap_predicate): Add toplev_predicate; update comment.
- (remap_edge_predicates): New function.
- (inline_merge_summary): Compute toplev predicate; update.
- (read_predicate): New function.
- (read_inline_edge_summary): Use it.
- (inline_read_section): Likewise.
- (write_predicate): New function.
- (write_inline_edge_summary): Use it.
- (inline_write_summary): Likewise.
- (inline_free_summary): Free alloc pool and edge summary vec.
-
-2011-04-27 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (changed_count): Remove.
- (changed): Use a bitmap.
- (unify_nodes): Adjust.
- (do_sd_constraint): Likewise.
- (do_ds_constraint): Likewise.
- (do_complex_constraint): Likewise.
- (solve_graph): Likewise.
-
-2011-04-27 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
-
-2011-04-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
- (avx_vperm2f128_*_operand): Ditto.
- * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
- Use avx_vpermilp_parallel in insn condition.
- (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
- Use avx_vperm2f128_parallel in insn condition.
-
-2011-04-27 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (tree-ssa-structalias.o): Remove
- gt-tree-ssa-structalias.h dependency.
- (GTFILES): Remove tree-ssa-structalias.c.
- * tree.c (allocate_decl_uid): New function.
- (make_node_stat): Use it.
- (copy_node_stat): Likewise.
- * tree.h (allocate_decl_uid): Declare.
- * tree-ssa-alias.h (delete_alias_heapvars): Remove.
- * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
- * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
- * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
- * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
- (struct heapvar_map): Likewise.
- (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
- heapvar_insert): Likewise.
- (make_heapvar_for): Rename to ...
- (make_heapvar): ... this. Simplify.
- (fake_var_decl_obstack): New global var.
- (build_fake_var_decl): New function.
- (make_constraint_from_heapvar): Adjust.
- (handle_lhs_call): Likewise.
- (create_function_info_for): Likewise.
- (intra_create_variable_infos): Likewise.
- (init_alias_vars): Allocate fake_var_decl_obstack.
- (init_alias_heapvars, delete_alias_heapvars): Remove.
- (compute_points_to_sets): Do not call init_alias_heapvars.
- (ipa_pta_execute): Likewise.
- (delete_points_to_sets): Free fake_var_decl_obstack.
-
-2011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/divmovti4.c (union qword_UTItype): New data type.
- (si_from_UTItype, si_to_UTItype): New functions.
- (__udivmodti4): Use them to implement type-punning.
- * config/spu/multi3.c (union qword_TItype): New data type.
- (si_from_TItype, si_to_TItype): New functions.
- (__multi3): Use them to implement type-punning.
-
-2011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
-
-2011-04-27 Jan Hubicka <jh@suse.cz>
-
- * ipa-prop.c (function_insertion_hook_holder): New holder.
- (ipa_add_new_function): New function.
- (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
- Register/deregister holder.
-
-2011-04-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48772
- * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
-
-2011-04-27 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
- TARGET_MEM_REF handling.
-
-2011-04-27 Nick Clifton <nickc@redhat.com>
-
- * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
- ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
- (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
- (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
- (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
- (EVEN_REGS): New macro. Alias for QUAD_REGS.
- * config/frv/frv.c (frv_secondary_reload_class): Remove use of
- duplicate register classes.
- (frv_class_likely_spilled_p): Likewise.
- (frv_register_move_cost): Likewise.
-
- * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
- end of the regno_reg_class array.
-
-2011-04-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48742
- * c-typeck.c (build_binary_op): Don't wrap arguments if
- int_operands is true.
-
-2011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/48767
- * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
- targetm.calls.must_pass_in_stack for void type.
-
-2011-04-26 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c (build_cgraph_edges): Update call
- of cgraph_create_edge and cgraph_create_indirect_edge.
- * cgraph.c (cgraph_create_edge_including_clones,
- cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
- cgraph_update_edges_for_call_stmt_node): Do not take nest
- argument; do not initialize call_stmt_size/time.
- (dump_cgraph_node): Do not dump nest.
- (cgraph_clone_edge): Do not take loop_nest argument;
- do not propagate it; do not clone call_stmt_size/time.
- (cgraph_clone_node): Likewise.
- (cgraph_create_virtual_clone): Update.
- * cgraph.h (struct cgraph_edge): Remove
- call_stmt_size/call_stmt_time/loop_nest.
- (cgraph_create_edge, cgraph_create_indirect_edge,
- cgraph_create_edge_including_clones, cgraph_clone_node): Update
- prototype.
- * tree-emutls.c (gen_emutls_addr): Update.
- * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
- loop_nest; handle indirect calls, too.
- (clone_inlined_nodes): Do not care about updating inline summaries.
- * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
- * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
- stream call_stmt_size/call_stmt_time/loop_nest.
- * ipa-inline.c (edge_badness): Update.
- (ipa_inline): dump summaries after inlining.
- * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
- New.
- (inline_edge_summary): New function.
- * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
- (inline_edge_removal_hook): Handle edge summaries.
- (inline_edge_duplication_hook): New hook.
- (inline_summary_alloc): Alloc hooks.
- (initialize_growth_caches): Do not register removal hooks.
- (free_growth_caches); Do not free removal hook.
- (dump_inline_edge_summary): New function.
- (dump_inline_summary): Use it.
- (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
- (inline_update_callee_summaries): New function.
- (inline_merge_summary): Use it.
- (do_estimate_edge_time, do_estimate_edge_growth): Update.
- (read_inline_edge_summary): New function.
- (inline_read_section): Use it.
- (write_inline_edge_summary): New function.
- (inline_write_summary): Use it.
- (inline_free_summary): Free edge new holders.
- * tree-inline.c (copy_bb): Update.
-
-2011-04-26 Jason Merrill <jason@redhat.com>
-
- * tree-eh.c (lower_try_finally_switch): Create the label along with
- the CASE_LABEL_EXPR.
-
-2011-04-26 David S. Miller <davem@davemloft.net>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
- * configure: Regenerate.
-
-2011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48258
- * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
- reduction.
- (VEC_reduc): New code iterator and splitters for vector reduction.
- (VEC_reduc_name): Ditto.
- (VEC_reduc_rtx): Ditto.
- (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
- (reduc_<VEC_reduc_name>_v4sf): Ditto.
-
- * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
- support for extracting SF on VSX.
-
- * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
- generating xscvspdp.
- (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
- (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
- double add, minimum, maximum vector reduction.
- (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
- (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
- optimize double vector reduction.
- (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
-
-2011-04-26 Joseph Myers <joseph@codesourcery.com>
-
- * config/fr30/fr30.h (inhibit_libc): Don't define.
- * config/m32r/m32r-protos.h: Correct comment.
- * config/v850/v850.h (GHS_default_section_names,
- GHS_current_section_names): Use tree, not union tree_node *.
-
-2011-04-26 Xinliang David Li <davidxl@google.com>
-
- * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
- * c-family/c-opts.c (c_common_handle_option): Set
- warn_maybe_uninitialized.
- * opts.c (common_handle_option): Ditto.
- * common.opt: New option.
- * tree-ssa.c (warn_uninit): Add one more parameter.
- (warn_uninitialized_var): Pass warning code.
- * tree-flow.h: Interface change.
-
-2011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
- (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
- (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
-
-2011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
- * config/mips/mips.opt (mmips-tfile): Remove.
-
- * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
- mips-tdump reference to ...
- (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
- * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
- reference by Tru64 UNIX.
-
-2011-04-26 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48768
- * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
- is error_mark_node, set value to NULL.
-
- PR tree-optimization/48734
- * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
- if return value from maybe_fold_*_comparsions isn't something
- the code is prepared to handle.
-
-2011-04-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (ext_QIreg_operand): Remove extra
- mode check.
- (ext_QIreg_nomode_operands): Remove.
- * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
- (*andsi_1): Ditto.
- (*andhi_1): Ditto.
-
-2011-04-26 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
-
-2011-04-26 Richard Guenther <rguenther@suse.de>
-
- * c-typeck.c (build_unary_op): Do not expand array-refs via
- pointer arithmetic. Only adjust qualifiers for function types.
-
-2011-04-26 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48694
- * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
- * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
- compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
- with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
-
-2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/extend.texi: Document __underlying_type.
-
-2011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/titan.md (automata_option "progress"): Remove.
-
-2011-04-25 Jeff Law <law@redhat.com>
-
- * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
-
-2011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- * system.h (ENUM_BITFIELD): Remove.
-
-2011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
- for STORE_FLAG_VALUE==-1 case.
-
-2011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/43804
- * config/m68k/constraints.md (T): Allow PIC operands that satisfy
- LEGITIMATE_PIC_OPERAND_P.
-
-2011-04-24 Jan Hubicka <jh@suse.cz>
-
- * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
- WPA hack.
- * ipa-prop.h (ipa_get_param, ipa_is_param_used,
- ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
- ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
- * ipa-inline-analysis.c (add_clause): Fix clause ordering.
- (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
- Sanity check predicate length.
- (remap_predicate): Likewise; sanity check jump functions.
- (inline_read_section, inline_write_summary): Sanity check
- predicate length.
-
-2011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR other/48748
- * doc/extend.texi (Type Traits): Document __is_standard_layout,
- __is_literal_type, and __is_trivial; update throughout about
- possibly cv-qualified void types.
-
-2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
- testsuite and make it version agnostic.
-
-2011-04-22 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
-
-2011-04-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48685
- * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
- to VOID_TYPE even around MODIFY_EXPR.
-
-2011-04-22 Mike Stump <mikestump@comcast.net>
-
- * gensupport.c (read_md_rtx): Fix typo in comment.
- * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
- comment.
-
-2011-04-22 Jan Hubicka <jh@suse.cz>
-
- * gengtype.c (open_base_files): Add ipa-inline.h include.
- * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
- ipa-prop.c; update all uses.
- * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
- * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
- merge summary of inlined function into former caller.
- * ipa-inline.c (max_benefit): Remove.
- (edge_badness): Compensate for removal of benefits.
- (update_caller_keys): Use
- reset_node_growth_cache/reset_edge_growth_cache.
- (update_callee_keys): Likewise.
- (update_all_callee_keys): Likewise.
- (inline_small_functions): Do not collect max_benefit; do not reset
- estimated_growth; call free_growth_caches and initialize_growth_caches.
- * ipa-inline.h (struct condition, type clause_t, struct predicate,
- struct size_time_entry): New structures.
- (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
- (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
- and estimated_growth.
- (edge_growth_cache_entry): New structure.
- (node_growth_cache, edge_growth_cache): New global vars.
- (estimate_growth): Turn into inline.
- (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
- initialize_growth_caches, free_growth_caches): Declare.
- (estimate_edge_growth): Rewrite.
- (estimate_edge_time): Implement as inline cache lookup.
- (reset_node_growth_cache, reset_edge_growth_cache): New inline
- functions.
- (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
- (NUM_CONDITIONS): New constant.
- (predicate_conditions): New enum.
- (IS_NOT_CONSTANT): New constant.
- (edge_removal_hook_holder): New var.
- (node_growth_cache, edge_growth_cache): New global vars.
- (true_predicate, single_cond_predicate, false_predicate,
- not_inlined_predicate, add_condition, add_clause, and_predicates,
- or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
- dump_clause, dump_predicate, account_size_time,
- evaulate_conditions_for_edge): New functions.
- (inline_summary_alloc): Move to heap.
- (inline_node_removal_hook): Clear condition and entry vectors.
- (inline_edge_removal_hook): New function.
- (initialize_growth_caches, free_growth_caches): New function.
- (dump_inline_summary): Update.
- (edge_execution_predicate): New function.
- (will_be_nonconstant_predicate): New function.
- (estimate_function_body_sizes): Compute BB and constantness predicates.
- (compute_inline_parameters): Do not clear estimated_growth.
- (estimate_edge_size_and_time): New function.
- (estimate_calls_size_and_time): New function.
- (estimate_callee_size_and_time): New function.
- (remap_predicate): New function.
- (inline_merge_summary): New function.
- (do_estimate_edge_time): New function based on...
- (estimate_edge_time): ... this one.
- (do_estimate_edge_growth): New function.
- (do_estimate_growth): New function based on....
- (estimate_growth): ... this one.
- (inline_analyze_function): Analyze after deciding on jump functions.
- (inline_read_section): New function.
- (inline_read_summary): Use it.
- (inline_write_summary): Write all the new data.
- * ipa-prop.c (ipa_get_param_decl_index): Export.
- (ipa_lattice_from_jfunc): Move here from ipa-cp.c
- * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
- Declare.
- (ipa_get_lattice): Move here from ipa-cp.c
- * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
- * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
- * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
- cgraph_edge_inlinable_p): Remove.
- * cgraphunit.c: Include ipainline.h
- (cgraph_process_new_functions): Update call of
- compute_inline_parameters.
-
-2011-04-22 Richard Guenther <rguenther@suse.de>
-
- * tree.c (build_int_cst): Properly create canonicalized integer
- constants.
- (build_int_cst_type): Remove scary comments.
-
-2011-04-22 Xinliang David Li <davidxl@google.com>
-
- * toplev.c (process_options): Enable -Werror=coverage-mismatch
- by default when -Wno-error is not specified.
- * opts-global.c (decode_options): Remove call to
- control_warning_options.
-
-2011-04-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48717
- * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
- ~A + A optimizations use build_int_cst_type instead of build_int_cst.
-
-2011-04-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
- definition where used.
-
-2011-04-22 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48716
- * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
- TREE_STATIC variables declared inside of some OpenMP construct.
-
-2011-04-22 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/48585
- * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
-
-2011-04-22 Alexander Monakov <amonakov@ispras.ru>
-
- PR c/36750
- * c-typeck.c (pop_init_level): Do not warn about initializing
- with ` = {0}'.
-
-2011-04-22 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
- when returning call_cookie.
- (rs6000_function_ok_for_sibcall): Allow sibcalls via function
- pointers, to functions with no more vector args than the current
- function, and some non-local calls for ABI_V4.
- * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
- sibcall_nonlocal_aix64): Combine to ..
- (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
- (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
- (sibcall_value_nonlocal_aix<mode>): ..likewise.
- (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
- (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
- operand.
- * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
- sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
- sibcall_value_symbolic_64): Delete.
-
-2011-04-21 Xinliang David Li <davidxl@google.com>
-
- * cgraph.h: Remove pid.
- * cgraph.c: Remove pid.
- * value-prof.c (init_node_map): New function.
- (del_node_map): New function.
- (find_func_by_funcdef_no): New function.
- (gimple_ic_transform): Call new function.
- * cgraphunit.c (cgraph_finalize_function): Remove pid.
- * function.c (get_last_funcdef_no): New function.
- * function.h (get_last_funcdef_no): New function.
- * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
- to libgcov function.
- (tree-profiling): Call node map init and delete function.
-
-2011-04-21 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_format_type): Use exported Go name for anonymous
- field name.
-
-2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
- Call builtin_function_type_list instead of builtin_function_type.
- (UNARY, BINARY, TRINARY, QUAD): Likewise.
-
-2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
- build_function_type_list instead of build_function_type.
- Delete variable `endlink'.
-
-2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/s390/s390.c (s390_init_builtins): Call
- build_function_type_list instead of build_function_type.
-
-2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/ia64/ia64.c (ia64_init_builtins): Call
- build_function_type_list instead of builtin_function_type.
-
-2011-04-21 Easwaran Raman <eraman@google.com>
-
- * cfgexpand.c (stack_var): Remove OFFSET...
- (add_stack_var): ...and its reference here...
- (expand_stack_vars): ...and here.
- (stack_var_cmp): Sort by descending order of size.
- (partition_stack_vars): Change heuristic.
- (union_stack_vars): Fix to reflect changes in partition_stack_vars.
- (dump_stack_var_partition): Add newline after each partition.
-
-2011-04-21 Dimitrios Apostolou <jimis@gmx.net>
- Jeff Law <law@redhat.com>
-
- * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
- * gengtype.c (matching_file_name_substitute): Likewise.
-
-2011-04-21 Richard Guenther <rguenther@suse.de>
-
- PR lto/48703
- * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
-
-2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
-
-2011-04-21 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
- file name.
-
-2011-04-21 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
- MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
- Use DECL_P, not SSA_VAR_P.
- (ptr_derefs_may_alias_p): Likewise.
- (ptr_deref_may_alias_ref_p_1): Likewise.
- (decl_refs_may_alias_p): Likewise.
- (refs_may_alias_p_1): Likewise.
- (ref_maybe_used_by_call_p_1): Likewise.
- (call_may_clobber_ref_p_1): Likewise.
- (indirect_ref_may_alias_decl_p): Assume indirect refrences
- are either MEM_REF or TARGET_MEM_REF.
- (indirect_refs_may_alias_p): Likewise.
- * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
- for MEM_EXPR of indirect calls.
-
-2011-04-21 Tristan Gingold <gingold@adacore.com>
-
- * vmsdbgout.c (write_srccorr): Compute file length from the string.
- (dst_file_info_struct): Remove flen field.
- (lookup_filename): Remove code that set flen field.
-
-2011-04-21 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/ia64.c (ia64_start_function): Add a guard.
-
-2011-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48708
- * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
- vec_extract and vec_concat for non-SSE4_1 targets.
-
-2011-04-21 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
- return statements.
-
-2011-04-21 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/cygming.h (union tree_node, TREE): Don't define or
- undefine.
- (FILE): Don't undefine.
-
-2011-04-21 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/alpha.c (struct machine_function): Use rtx, not
- struct rtx_def *.
- * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
- struct rtx_def *.
- * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
- * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
- * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
- rtx_def *.
- * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
- definitions where used.
- * config/microblaze/microblaze.h (struct microblaze_args): Use
- rtx, not struct rtx_def *.
- * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
- rtx_def *.
- * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
- * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
- * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
- not struct rtx_def *.
- * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
- struct rtx_def *.
- * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
- rtx_def *.
- * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
-
-2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
- operand_equal_p to compare DR_BASE_ADDRESSes.
- (vect_check_interleaving): Likewise.
-
-2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/46329
- * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
- for all Neon struct constants.
-
-2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * target.def (legitimate_constant_p): New hook.
- * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
- (TARGET_LEGITIMATE_CONSTANT_P): ...this.
- * doc/tm.texi: Regenerate.
- * hooks.h (hook_bool_mode_rtx_true): Declare.
- * hooks.c (hook_bool_mode_rtx_true): Define.
- * system.h (LEGITIMATE_CONSTANT_P): Poison.
- * calls.c (precompute_register_parameters): Replace uses of
- LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
- (emit_library_call_value_1): Likewise.
- * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
- (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
- * ira-costs.c (scan_one_insn): Likewise.
- * recog.c (general_operand, immediate_operand): Likewise.
- * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
- * reload1.c (init_eliminable_invariants): Likewise.
-
- * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
- mode argument.
- * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
- argument.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
- * config/alpha/predicates.md (input_operand): Update call to
- alpha_legitimate_constant_p.
-
- * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
- * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
- (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
- * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
- (arm_legitimate_constant_p): New functions.
- (arm_cannot_force_const_mem): Make static.
-
- * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
- * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
- instead of bfin_legitimate_constant_p.
- (bfin_legitimate_constant_p): Make static. Add a mode argument.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
-
- * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
- * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (frv_legitimate_constant_p): Make static. Add a mode argument.
-
- * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
- * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
-
- * config/i386/i386-protos.h (legitimate_constant_p): Delete.
- * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/i386/i386.c (legitimate_constant_p): Rename to...
- (ix86_legitimate_constant_p): ...this. Make static. Add a mode
- argument.
- (ix86_cannot_force_const_mem): Update accordingly.
- (ix86_legitimate_address_p): Likewise.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
- * config/i386/i386.md: Update commentary.
-
- * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
- * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (ia64_legitimate_constant_p): Make static. Add a mode argument.
-
- * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
- * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (lm32_legitimate_constant_p): Make static. Add a mode argument.
-
- * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
- * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
-
- * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (m32r_legitimate_constant_p): New function.
-
- * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
- * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
- LEGITIMATE_CONSTANT_P.
- (LEGITIMATE_CONSTANT_P): Delete.
- * config/m68k/m68k.c (m68k_expand_prologue): Call
- m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
- (m68k_legitimate_constant_p): New function.
- * config/m68k/m68k.md: Update comments.
-
- * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (mcore_legitimate_constant_p): New function.
-
- * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
- * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/mep/mep.c (mep_legitimate_constant_p): Make static.
- Add a mode argument.
- (mep_legitimate_address): Update accordingly.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
-
- * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
- Delete.
- * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
- static. Check OP's mode for VOIDmode.
- (microblaze_legitimate_constant_p): New function.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
-
- * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/mips/mips.c (mips_legitimate_constant_p): New function.
- (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
- * config/mips/predicates.md: Update comments.
-
- * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
- * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (mmix_legitimate_constant_p): Make static, return a bool, and take
- a mode argument.
- (mmix_print_operand_address): Update accordingly.
-
- * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
- Delete.
- * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
- static. Add a mode argument.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
-
- * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (pa_legitimate_constant_p): New function.
-
- * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (pdp11_legitimate_constant_p): New function.
-
- * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (rs6000_legitimate_constant_p): New function.
-
- * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
- (rx_legitimate_constant_p): ...this.
- * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
- (rx_legitimate_constant_p): ...this.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
- * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
-
- * config/s390/s390-protos.h (legitimate_constant_p): Delete.
- * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/s390/s390.c (legitimate_constant_p): Rename to...
- (s390_legitimate_constant_p): ...this. Make static, return a bool,
- and add a mode argument.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
-
- * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (sh_legitimate_constant_p): New function.
-
- * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
- * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (legitimate_constant_p): Rename to...
- (sparc_legitimate_constant_p): ...this. Make static. Add a mode
- argument.
- (constant_address_p): Update accordingly.
-
- * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
- argument and return a bool.
- * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (spu_legitimate_constant_p): Add a mode argument and return a bool.
- (spu_rtx_costs): Update accordingly.
- * config/spu/predicates.md (vec_imm_operand): Likewise.
-
- * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
-
- * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/v850/v850.c (v850_legitimate_constant_p): New function.
- (TARGET_LEGITIMATE_CONSTANT_P): Define.
-
- * config/vax/vax-protos.h (legitimate_constant_p): Delete.
- * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
- * config/vax/vax.c (legitimate_constant_p): Likewise.
-
- * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
- * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
- (xtensa_legitimate_constant_p): New function.
-
-2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * target.def (cannot_force_const_mem): Add a mode argument.
- * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
- * doc/tm.texi: Regenerate.
- * hooks.h (hook_bool_mode_rtx_false): Declare.
- * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
- (hook_bool_mode_const_rtx_true): Likewise.
- (hook_bool_mode_rtx_false): New function.
- * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
- to be non-VOID. Update call to cannot_force_const_mem.
- (find_reloads): Update accordingly.
- * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
- * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
- argument.
- * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
- * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
- * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
- * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
- * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
- * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
- * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
- * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
- (m68k_cannot_force_const_mem): ...this new function.
- * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
- argument.
- (mips_const_insns, mips_legitimize_const_move): Update calls.
- (mips_secondary_reload_class): Likewise.
- * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
- (pa_cannot_force_const_mem): ...this new function.
- * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
- (rs6000_cannot_force_const_mem): ...this new function.
- * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
- argument.
- * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
- * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
- to...
- (xtensa_cannot_force_const_mem): ...this new function.
-
-2011-04-20 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/mips/mips.c (mips16_build_function_stub): Call
- build_function_type_list instead of build_function_type.
- (mips16_build_call_stub): Likewise.
-
-2011-04-20 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
- instead of build_function_type.
-
-2011-04-20 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
- instead of build_function_type.
-
-2011-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48678
- * config/i386/i386.md (insv): Change operand 0 constraint to
- "register_operand". Change operand 1 and 2 constraint to
- "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
- * config/i386/sse.md (sse4_1_pinsrb): Export.
- (sse2_pinsrw): Ditto.
- (sse4_1_pinsrd): Ditto.
- (sse4_1_pinsrq): Ditto.
- * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
- * config/i386/i386.c (ix86_expand_pinsr): New.
-
-2011-04-20 Easwaran Raman <eraman@google.com>
-
- * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
- containing union type only with -fstrict-aliasing.
-
-2011-04-20 Jim Meyering <meyering@redhat.com>
-
- Remove useless if-before-free tests.
- * calls.c (expand_call, save_area): Likewise.
- * cfgcleanup.c (try_forward_edges): Likewise.
- * collect2.c (collect_execute): Likewise.
- * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
- * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
- * coverage.c (coverage_checksum_string): Likewise.
- * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
- * cselib.c (cselib_init): Likewise.
- * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
- (df_set_clean_cfg): Likewise.
- * function.c (free_after_compilation): Likewise.
- * gcc.c (do_spec_1, main): Likewise.
- * gcov.c (create_file_names): Likewise.
- * gensupport.c (identify_predicable_attribute): Likewise.
- * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
- * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
- * haifa-sched.c (haifa_finish_h_i_d): Likewise.
- * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
- * ipa-pure-const.c (local_pure_const): Likewise.
- * ipa-reference.c (propagate): Likewise.
- * ira-costs.c (free_ira_costs): Likewise.
- * ira.c (free_register_move_costs, build_insn_chain): Likewise.
- * matrix-reorg.c (mat_free): Likewise.
- * prefix.c (get_key_value): Likewise.
- * profile.c (compute_value_histograms): Likewise.
- * reload1.c (free_reg_equiv): Likewise.
- * sched-deps.c (free_deps): Likewise.
- * sel-sched-ir.c (fence_clear): Likewise.
- * sese.c (set_rename, if_region_set_false_region): Likewise.
- * tree-data-ref.c (free_rdg): Likewise.
- * tree-eh.c (lower_try_finally): Likewise.
- * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
- * tree-ssa-live.c (delete_var_map): Likewise.
- * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
- * tree-ssa-pre.c (phi_trans_add): Likewise.
-
-2011-04-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48611
- * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
- beyond ERT_MUST_NOT_THROW region.
-
-2011-04-20 Catherine Moore <clm@codesourcery.com>
-
- * config/mips/mips.opt (mfix-24k): New.
- * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
- * config/mips/mips.md (length): Increase by 4 for stores if
- fixing 24K errata.
- * config/mips/mips.c (mips_reorg_process_insns): Do not allow
- all noreorder if fixing 24K errata.
- * doc/invoke.texi: Document mfix-24k.
-
-2011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/arm/arm.c (arm_legitimize_reload_address): For NEON
- quad-word modes, reduce to 9-bit index range when above 1016 limit.
-
-2011-04-20 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (arm_gen_constant): Move movw support ....
- (const_ok_for_op): ... to here.
-
-2011-04-20 Kai Tietz <ktietz@redhat.com>
-
- * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
- and (X && !Y) | (!X && Y) optimization to (X ^ Y).
-
-2011-04-20 Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
-
-2011-04-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47892
- * tree-if-conv.c (if_convertible_stmt_p): Const builtins
- are if-convertible.
-
-2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
-
-2011-04-20 Tristan Gingold <gingold@adacore.com>
-
- * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
-
-2011-04-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/18145
-
- * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
- (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
- (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
- (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
-
- * config/avr/avr-protos.h (avr_asm_output_aligned_common):
- New prototype.
-
- * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
- (avr_asm_named_section, avr_asm_output_aligned_common,
- avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
- New functions to update...
- (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
- (avr_asm_init_sections): Overwrite section callbacks for
- data_section, bss_section.
- (avr_file_start): Move output of __do_copy_data, __do_clear_bss
- from here to...
- (avr_file_end): ...here.
-
-2011-04-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48695
- * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
- objects and types here. Adjust for their offset before comparing.
-
-2011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vectorizable_store): Only chain one related
- statement per copy.
-
-2011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
-
- * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
- (GIMPLE_H): Include $(INTERNAL_FN_H).
- (OBJS-common): Add internal-fn.o.
- (internal-fn.o): New rule.
- * internal-fn.def: New file.
- * internal-fn.h: Likewise.
- * internal-fn.c: Likewise.
- * gimple.h: Include internal-fn.h.
- (GF_CALL_INTERNAL): New gf_mask.
- (gimple_statement_call): Put fntype into a union with a new
- internal_fn field.
- (gimple_build_call_internal): Declare.
- (gimple_build_call_internal_vec): Likewise.
- (gimple_call_same_target_p): Likewise.
- (gimple_call_internal_p): New function.
- (gimple_call_internal_fn): Likewise.
- (gimple_call_fntype): Return null for internal calls.
- (gimple_call_set_fntype): Assert that the function is not internal.
- (gimple_call_set_fn): Likewise.
- (gimple_call_set_fndecl): Likewise.
- (gimple_call_set_internal_fn): New function.
- (gimple_call_addr_fndecl): Handle null functions.
- (gimple_call_return_type): Likewise null types.
- * gimple.c (gimple_build_call_internal_1): New function.
- (gimple_build_call_internal): Likewise.
- (gimple_build_call_internal_vec): Likewise.
- (gimple_call_same_target_p): Likewise.
- (gimple_call_flags): Handle calls to internal functions.
- (gimple_call_fnspec): New function.
- (gimple_call_arg_flags, gimple_call_return_flags): Use it.
- (gimple_has_side_effects): Handle null functions.
- (gimple_rhs_has_side_effects): Likewise.
- (gimple_call_copy_skip_args): Handle calls to internal functions.
- * cfgexpand.c (expand_call_stmt): Likewise.
- * expr.c (expand_expr_real_1): Assert that the call isn't internal.
- * gimple-fold.c (gimple_fold_call): Handle null functions.
- (gimple_fold_stmt_to_constant_1): Don't fold
- calls to internal functions.
- * gimple-low.c (gimple_check_call_args): Handle calls to internal
- functions.
- * gimple-pretty-print.c (dump_gimple_call): Likewise.
- * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
- * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
- (do_warn_unused_result): Likewise.
- * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
- * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
- * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
- the target of a call.
- (initialize_hash_element): Update accordingly.
- (hashable_expr_equal_p): Use gimple_call_same_target_p.
- (iterative_hash_hashable_expr): Handle calls to internal functions.
- (print_expr_hash_elt): Likewise.
- * tree-ssa-pre.c (can_value_number_call): Likewise.
- (eliminate): Handle null functions.
- * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
- * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
- (find_func_aliases): Likewise.
- * value-prof.c (gimple_ic_transform): Likewise.
- (gimple_indirect_call_to_profile): Likewise.
- * lto-streamer-in.c (input_gimple_stmt): Likewise.
- * lto-streamer-out.c (output_gimple_stmt): Likewise.
-
-2011-04-19 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline-transform.c (save_inline_function_body): Add comments.
- * ipa-inline.c (inline_small_functions): Compute summaries first,
- populate heap later.
-
-2011-04-19 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (save_inline_function_body): Remove.
- * ipa-inline-transform.c: New file, broke out of...
- * ipa-inline.c: ... this one; Update toplevel comment.
- (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
- make global.
- (update_noncloned_frequencies): Move to ipa-inline-transform.c
- (cgraph_mark_inline_edge): Rename to inline_call; move to
- ipa-inline-transform.c.
- (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
- move to ipa-inline-transform.c
- (recursive_inlining, inline_small_functions, flatten_function,
- ipa_inline, inline_always_inline_functions,
- early_inline_small_functions): Update.
- (inline_transform): Move to ipa-inline-transform.c.
- * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
- Declare.
- * Makefile.in (ipa-inline-transform.o): New file.
- * cgraphunit.c (save_inline_function_body): Move to
- ipa-inline-transform.c
-
-2011-04-19 DJ Delorie <dj@redhat.com>
-
- * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
- registers if we already know there aren't any.
- (m32c_emit_epilogue): Don't emit a barrier here.
- (m32c_emit_eh_epilogue): Likewise.
- * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
- operands at expand time.
- * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
- int" wchar type.
- (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
- duplicates. Provide aliases instead.
- * config/m32c/prologue.md (eh_return): Emit a barrier here.
- (eh_epilogue): Add a "(return)" here as a hint to other parts of
- the compiler.
-
-2011-04-19 Anatoly Sokolov <aesok@post.ru>
-
- * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
- * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
- (general_or_i64_p, sparc_register_move_cost): New function.
-
-2011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Configuration, --enable-threads): Remove mach.
- Add lynx, mipssde. Sort table.
-
-2011-04-19 Xinliang David Li <davidxl@google.com>
-
- * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
- not negative.
-
-2011-04-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48678
- * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
- is a SUBREG with non-MODE_INT mode inside of it.
-
-2011-04-19 Martin Jambor <mjambor@suse.cz>
-
- * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
- also according to actual contants.
- * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
- (gimple_fold_call): Use it.
- * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
-
-2011-04-19 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
- non-pointer assignments.
-
-2011-04-19 Martin Jambor <mjambor@suse.cz>
-
- * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
- account anc_offset and otr_type from the indirect edge info.
- * ipa-prop.c (get_ancestor_addr_info): New function.
- (compute_complex_ancestor_jump_func): Assignment analysis moved to
- get_ancestor_addr_info, call it.
- (ipa_note_param_call): Do not initialize information about polymorphic
- calls, return the indirect call graph edge. Remove the last
- parameter, adjust all callers.
- (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
- parameters. Initialize polymorphic information in the indirect edge.
-
-2011-04-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/48148
- * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
- the types if they have different enumeration identifiers.
-
-2011-04-19 Jan Hubicka <jh@suse.cz>
-
- * cgraph.h (cgraph_optimize_for_size_p): Declare.
- * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
- * predict.c (cgraph_optimize_for_size_p): Break out from ...
- (optimize_function_for_size_p) ... here.
-
-2011-04-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/48207
- * tree.c (free_lang_data): Do not reset the decl-assembler-name
- langhook.
-
-2011-04-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
- if DECL_NO_INLINE_WARNING_P is set on the function.
-
-2011-04-19 Bernd Schmidt <bernds@codesourcery.com>
-
- PR fortran/47976
- * reload1.c (inc_for_reload): Return void. All callers changed.
- (emit_input_reload_insns): Don't try to delete previous output
- reloads to a register, or record spill_reg_store for autoincs.
-
-2011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
-
- * gengtype.h: Updated copyright year.
- (struct input_file_st): Add inpisplugin field.
- (type_fileloc): New function.
- * gengtype.c
- (write_typed_struct_alloc_def): Add gcc_assert.
- (write_typed_alloc_defns): Ditto. Don't output for plugin files.
- (write_typed_alloc_defns): Don't output for plugin files.
- (input_file_by_name): Clear inpisplugin field.
- (main): Set inpisplugin field for plugin files.
-
-2011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * gengtype-state.c (string_eq): New.
- (read_state): Use string_eq instead of strcmp when creating the
- state_ident_tab.
-
-2011-04-19 Wei Guozhi <carrot@google.com>
-
- PR target/47855
- * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
- * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
- linkage.
- * config/arm/constraints.md (Uu): New constraint.
- * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
-
-2011-04-19 Tristan Gingold <gingold@adacore.com>
-
- * config.gcc (-*-*-*vms): Added.
- (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
- definitions moved.
- * config/vms/vms-ld.c: New file.
- * config/vms/vms-ar.c: New file.
- * config/vms/t-vmsnative: New file.
-
-2011-04-18 Xinliang David Li <davidxl@google.com>
-
- * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
-
-2011-04-18 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48661
- * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
- if TREE_TYPE (v) is non-NULL.
-
- * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
- gimple_get_virt_mehtod_for_binfo.
- * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
- * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
- callers.
- * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
-
-2011-04-18 Michael Matz <matz@suse.de>
- Steve Ellcey <sje@cup.hp.com>
-
- * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
- use its mode as source mode if it isn't VOIDmode.
-
-2011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
-
- * doc/passes.texi: Fill crossref nodes.
-
-2011-04-18 Jim Meyering <meyering@redhat.com>
-
- Fix doubled-word typos in comments and strings
- * config/alpha/vms-unwind.h: s/for for/for/
- * config/arm/unwind-arm.h: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/sh/constraints.md: s/in in/in/
- * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
-
-2011-04-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
- (AVX_FLOAT_MODE_P): Ditto.
- (AVX128_VEC_FLOAT_MODE_P): Ditto.
- (AVX256_VEC_FLOAT_MODE_P): Ditto.
- (AVX_VEC_FLOAT_MODE_P): Ditto.
- * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
- (UNSPEC_MASKSTORE): Ditto.
- * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
- Merge from <sse>_movmsk<ssemodesuffix> and
- avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
- (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
- iterator.
- (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
- (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
- (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
-
-2011-04-18 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
-
- * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
- (want_inline_function_called_once_p): Break out the logic from
- ipa_inline.
- (edge_badness): Ensure that profile is not misupdated.
- (lookup_recursive_calls): Prioritize by call frequencies.
- (inline_small_functions): Move program size estimates here;
- actually process whole queue even when unit growth has been
- met. (to properly compute inline_failed reasons and for the
- case unit size decrease.) Revisit comments on recursive inlining.
- (ipa_inline): Remove unit summary code; first inline hot calls
- of functions called once, cold calls next.
- (order, nnodes): Remove unused variables.
- * Makefile.in (ipa-inline.o): No longer depent on ggc files.
- (GTFILES): Remove ipa-inline.c
- * sel-sched.c (fill_insns): Silence uninitialized var warning.
-
-2011-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
-
-2011-04-18 Jie Zhang <jie@codesourcery.com>
- Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (neon_builtin_type_bits): Remove.
- (typedef enum neon_builtin_mode): New.
- (T_MAX): Don't define.
- (typedef enum neon_builtin_datum): Remove bits, codes[],
- num_vars and base_fcode. Add mode, code and fcode.
- (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
- VAR10): Change accordingly.
- (neon_builtin_data[]): Change accordingly
- (arm_init_neon_builtins): Change accordingly.
- (neon_builtin_compare): Remove.
- (locate_neon_builtin_icode): Remove.
- (arm_expand_neon_builtin): Change accordingly.
-
- * arm.h (enum arm_builtins): Move to ...
- * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
-
- * arm.c (arm_builtin_decl): Declare.
- (TARGET_BUILTIN_DECL): Define.
- (enum arm_builtins): Correct ARM_BUILTIN_MAX.
- (arm_builtin_decls[]): New.
- (arm_init_neon_builtins): Store builtin declarations in
- arm_builtin_decls[].
- (arm_init_tls_builtins): Likewise.
- (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
- (arm_builtin_decl): New.
-
-2011-04-18 Richard Guenther <rguenther@suse.de>
-
- * tree.c (upper_bound_in_type): Build properly canonicalized
- INTEGER_CSTs.
- (lower_bound_in_type): Likewise.
-
-2011-04-18 Richard Guenther <rguenther@suse.de>
-
- * gimple.h (gimple_call_addr_fndecl): New function.
- (gimple_call_fndecl): Use it.
- * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
- for direct calls.
- * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
- * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
-
-2011-04-18 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48650
- * tree.c (build_string): STRING_CST is now derived from tree_typed.
-
-2011-04-18 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/48492
- * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
- DECL_IN_CONSTANT_POOL without RTL.
-
-2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR target/48252
- * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
- to match neon_vzip/vuzp/vtrn_internal.
- * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
- outputs explicitly dependent on both inputs.
- (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
-
-2011-04-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48616
- * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
- whether the shift is by scalar or vector based on whether all SLP
- scalar stmts have the same rhs.
-
-2011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
- memory operands.
-
-2011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/43700
- * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
- registers.
-
-2011-04-17 Jan Hubicka <jh@suse.cz>
-
- * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
- * cgrpahunit.c (cgraph_finalize_function): Do not set
- finalized_by_frontend.
- * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
- finalized_by_frontend.
-
-2011-04-17 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_clone_node): Do not handle vtable_method
- * cgraph.h (struct cgraph_local_info): Drop vtable_method.
- * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
- * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
- method.
- * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
- gimple-fold.c
- * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
-
-2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/48538
- * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
- is non-null before accessing it.
- (input_cgraph): Remove trailing spaces.
-
-2011-04-17 Revital Eres <revital.eres@linaro.org>
-
- * params.def (sms-min-sc): New param flag.
- * modulo-sched.c (sms_schedule): Use it.
- * doc/invoke.texi (sms-min-sc): Document it.
-
-2011-04-17 Jan Hubicka <jh@suse.cz>
-
- * lto-symtab.c (lto_cgraph_replace_node): When call statement is
- present, also set gimple_call_set_cannot_inline.
- * ipa-inline.c: Update toplevel comment.
- (MAX_TIME): Remove.
- (cgraph_clone_inlined_nodes): Fix linebreaks.
- (cgraph_check_inline_limits): Restructure to ...
- (caller_growth_limits): ... this one; be more tolerant
- on growth in nested inline chains; add explanatory comment;
- fix stack accounting thinko introduced by previous patch.
- (cgraph_default_inline_p): Remove.
- (report_inline_failed_reason): New function.
- (can_inline_edge_p): New function.
- (can_early_inline_edge_p): New function.
- (leaf_node_p): Move upwards in file.
- (want_early_inline_function_p): New function.
- (want_inline_small_function_p): New function.
- (want_inline_self_recursive_call_p): New function.
- (cgraph_edge_badness): Rename to ...
- (edge_badness) ... this one; fix linebreaks.
- (update_edge_key): Update call of edge_baddness; add
- detailed dump about queue updates.
- (update_caller_keys): Use can_inline_edge_p and
- want_inline_small_function_p.
- (cgraph_decide_recursive_inlining): Rename to...
- (recursive_inlining): Use can_inline_edge_p and
- want_inline_self_recursive_call_p; simplify and remove no longer
- valid FIXME.
- (cgraph_set_inline_failed): Remove.
- (add_new_edges_to_heap): Use can_inline_edge_p and
- want_inline_small_function_p.
- (cgraph_decide_inlining_of_small_functions): Rename to ...
- (inline_small_functions): ... this one; cleanup; use
- can/want predicates; cleanup debug ouput; work edges till fibheap
- is exhausted and do not stop once unit growth is reached; remove
- later loop processing remaining edges.
- (cgraph_flatten): Rename to ...
- (flatten_function): ... this one; use can_inline_edge_p
- and can_early_inline_edge_p predicates.
- (cgraph_decide_inlining): Rename to ...
- (ipa_inline): ... this one; remove unreachable nodes before
- inlining functions called once; simplify the pass.
- (cgraph_perform_always_inlining): Rename to ...
- (inline_always_inline_functions): ... this one; use
- DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
- (cgraph_decide_inlining_incrementally): Rename to ...
- (early_inline_small_functions): ... this one; simplify
- using new predicates; cleanup; make dumps prettier.
- (cgraph_early_inlining): Rename to ...
- (early_inliner): newer inline regular functions into always-inlines;
- fix updating of call stmt summaries.
- (pass_early_inline): Update for new names.
- (inline_transform): Fix formating.
- (gate_cgraph_decide_inlining): Rename to ...
- (pass_ipa_inline): ... this one.
- * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
- * ipa-inline-analysis.c (dump_inline_summary): Update.
- (compute_inline_parameters): Do not compute disregard_inline_limits;
- look for mismatching arguments.
- (estimate_growth): Fix handlig of non-trivial self recursion.
- (inline_read_summary): Do not read info->disregard_inline_limits.
- (inline_write_summary): Do not write info->disregard_inline_limits.
- * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
- and move all checks into can_inline_edge_p predicate; re-enable code
- comparing optimization levels.
- (expand_call_inline): Do not test inline_forbidden_into_p.
- * Makefile.in (ipa-inline.o): Update arguments.
-
-2011-04-17 Revital Eres <revital.eres@linaro.org>
-
- * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
-
-2011-04-17 Revital Eres <revital.eres@linaro.org>
-
- * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
-
-2011-04-17 Michael Matz <matz@suse.de>
-
- PR tree-optimization/48622
- PR lto/48645
- * ipa-inline-analysis.c (inline_read_summary): Read size/time
- in same order as they're written.
-
-2011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/predicates.md: Reorganize and simplify predicates.
- Eliminate duplicate code checks.
- (arith_operand): Rename to arith14_operand
- (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
- * config/pa/pa.md: Use renamed operands.
- * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
- (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
- arith11_operand, adddi3_operand, indexed_memory_operand,
- symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
- arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
- borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
- move_dest_operand, move_src_operand, prefetch_cc_operand,
- prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
- uint32_operand, reg_before_reload_operand, reg_or_0_operand,
- reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
- div_operand, int5_operand, movb_comparison_operator,
- ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
- arith_double_operand, ireg_operand, lhs_lshift_operand,
- pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
- integer_store_memory_operand): Likewise.
- * config/pa/pa.c (adddi3_operand): Move to predicates.md.
- (integer_store_memory_operand, read_only_operand,
- function_label_operand, borx_reg_operand,
- non_hard_reg_operand): Likewise.
- (eq_neq_comparison_operator): Delete unused operator.
- (legitimize_pic_address): Use VOIDmode for mode argument in calls to
- function_label_operand.
- (emit_move_sequence): Likewise.
-
-2011-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (sseunpackmode): New mode attribute.
- (ssepackmode): Ditto.
- (vec_pack_trunc_<mode>): Macroize expander from
- vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
- (vec_unpacks_lo_<mode>): Macroize expander from
- vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
- (vec_unpacks_hi_<mode>): Macroize expander from
- vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
- (vec_unpacku_lo_<mode>): Macroize expander from
- vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
- (vec_unpacku_hi_<mode>): Macroize expander from
- vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
- * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
- ix86_expand_sse4_unpack.
- * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
-
-2011-04-16 Jan Hubicka <jh@suse.cz>
-
- * cgraphbuild.c: Include ipa-inline.h.
- (reset_inline_failed): Use initialize_inline_failed.
- * cgraph.c: Include ipa-inline.h.
- (cgraph_create_node_1): Do not initialize estimated_growth.
- (initialize_inline_failed): More to ipa-inline-analysis.c
- (dump_cgraph_node): Do not dump inline flags.
- * cgraph.h (cgraph_local_info): Remove inlineable, versionable
- and disregard_inline_limits flags.
- (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
- time, size, estimated_growth.
- * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
- Update.
- * cgraphunit.c (cgraph_decide_is_function_needed): Use
- DECL_DISREGARD_INLINE_LIMITS.
- (cgraph_analyze_function): Do not initialize
- node->local.disregard_inline_limits.
- * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
- inlinable, versionable and disregard_inline_limits.
- * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
- cgraph_check_inline_limits, cgraph_default_inline_p,
- cgraph_edge_badness, update_caller_keys, update_callee_keys,
- add_new_edges_to_heap): Update.
- (cgraph_decide_inlining_of_small_function): Update; set
- CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
- (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
- cgraph_decide_inlining_incrementally): Update.
- * ipa-inline.h (inline_summary): Add inlinable, versionable,
- disregard_inline_limits, estimated_stack_size, stack_frame_offset,
- time, size and estimated_growth parameters.
- (estimate_edge_growth): Update.
- (initialize_inline_failed): Declare.
- * ipa-split.c: Include ipa-inline.h
- (execute_split_functions): Update.
- * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
- (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
- (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
- * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
- estimated_growth to INT_MIN.
- (inline_node_duplication_hook): Likewise.
- (dump_inline_summary): Dump new fields.
- (compute_inline_parameters): Update.
- (estimate_edge_time, estimate_time_after_inlining,
- estimate_size_after_inlining, estimate_growth, inline_read_summary,
- inline_write_summary):
- (initialize_inline_failed): Move here from cgraph.c.
- * tree-sra.c: Include ipa-inline.h.
- (ipa_sra_preliminary_function_checks): Update.
- * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
- ipa-inline.h.
-
-2011-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (V16): New mode iterator.
- (VI1, VI8): Ditto.
- (AVXMODEQI, AVXMODEDI): Remove.
- (sse2, sse3): New mode attribute.
- (mov<mode>): Use V16 mode iterator.
- (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
- (push<mode>1): Use V16 mode iterator.
- (movmisalign<mode>): Ditto.
- (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
- <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
- (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
- *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
- (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
- avx_movdqu<avxmodesuffix>.
- (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
- *avx_movdqu<avxmodesuffix>.
- (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
- avx_lddqu<avxmodesuffix>.
- (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
- (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
- avx_movnt<AVXMODEDI:mode>.
- * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
- renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
-
-2011-04-16 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/48629
- * haifa-sched.c (prune_ready_list, schedule_block): Use
- sched_pressure_p rather than flag_sched_pressure.
-
-2011-04-15 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (call_ABI_of_interest): Call
- cgraph_get_node instead of cgraph_get_create_node.
-
-2011-04-15 Jakub Jelinek <jakub@redhat.com>
-
- * cfgexpand.c (expand_debug_expr): Use
- simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
-
-2011-04-15 Michael Matz <matz@suse.de>
-
- * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
- * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
- * function.c (gimplify_parameters): Ditto.
- * gimplify.c (gimplify_vla_decl): Ditto.
-
- * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
- (gimple_call_set_alloca_for_var): New inline function.
- (gimple_call_alloca_for_var_p): Ditto.
- * gimple.c (gimple_build_call_from_tree): Remember
- CALL_ALLOCA_FOR_VAR_P state.
- * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
-
- * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
- calls if they were for VLA objects.
-
-2011-04-15 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
- of ADR_EXPRs.
-
-2011-04-15 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/48601
- * tree-emutls.c (lower_emutls_function_body): Call
- cgraph_get_create_node instead of cgraph_get_node. Do not assert the
- result is non-NULL.
-
-2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-decl.c (detect_field_duplicates): Call
- objc_detect_field_duplicates instead of objc_get_interface_ivars.
-
-2011-04-15 Nathan Froyd <froydnj@codesourcery.com>
-
- * gimple.h (gimple_asm_clobbers_memory_p): Declare.
- * gimple.c (gimple_asm_clobbers_memory_p): Define.
- * ipa-pure-const.c (check_stmt): Call it.
- * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
-
-2011-04-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48290
- * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
- Properly decide inhibiting propagation based on the valueized
- operand. Do loop-closed SSA form preserving here ...
- (init_copy_prop): ... not here.
-
-2011-04-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/48612
- * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
- (*ieee_smax<mode>3): Likewise.
-
-2011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
- Replace match_operand with match_dup for the third operand in
- these expanders.
-
-2011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * combine.c (subst, combine_simlify_rtx): Add new argument, use it
- to track processing of conditionals. Update all callers.
- (try_combine, simplify_if_then_else): Update.
-
-2011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
- -fsched-pressure.
-
-2011-04-15 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
- instead of match_operand for operand 3.
-
-2011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
-
- * recog.h (insn_operand_data): Add an "allows_mem" field.
- * genoutput.c (output_operand_data): Initialize it.
- * optabs.c (maybe_legitimize_operand_same_code): New function.
- (maybe_legitimize_operand): Use it when matching the original
- op->value.
-
-2011-04-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c: Fix issues in comments throughout.
- (voidify_wrapper_expr): Fix long line.
- (build_stack_save_restore): Likewise.
- (gimplify_loop_expr): Likewise.
- (gimplify_compound_lval): Likewise.
- (gimplify_init_ctor_eval): Likewise.
- (gimplify_modify_expr_rhs): Likewise.
- (omp_notice_threadprivate_variable): Likewise.
-
-2011-04-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgexpand.c (expand_call_stmt): Convert the function type to the
- original one if this is not a builtin function.
-
-2011-04-14 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48605
- * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
- offset it as needed based on top 2 bits in operands[3], change
- MEM mode to SFmode and mask those 2 bits away from operands[3].
-
-2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-parser.c (c_parser_objc_protocol_definition): Updated for
- change from objc_declare_protocols() to objc_declare_protocol().
-
-2011-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (sse4_1): New mode attribute.
- (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
- avx_blend<ssemodesuffix><avxmodesuffix> and
- sse4_1_blend<ssemodesuffix> using VF mode iterator.
- (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
- avx_blendv<ssemodesuffix><avxmodesuffix> and
- sse4_1_blendv<ssemodesuffix> using VF mode iterator.
- (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
- avx_dp<ssemodesuffix><avxmodesuffix> and
- sse4_1_dp<ssemodesuffix> using VF mode iterator.
- (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
- (sse4_1_packusdw): Merge with *avx_packusdw.
- (sse4_1_pblendvb): Merge with *avx_pblendvb.
- (sse4_1_pblendw): Merge with *avx_pblendw.
- (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
- (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
- avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
- VF mode iterator.
- (sse4_1_round<ssescalarmodesuffix>): Merge with
- *avx_round<ssescalarmodesuffix>.
- (aesenc): Merge with *avx_aesenc.
- (aesenclast): Merge with *avx_aesenclast.
- (aesdec): Merge with *avx_aesdec.
- (aesdeclast): Merge with *avx_aesdeclast.
- (pclmulqdq): Merge with *pclmulqdq.
- * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
- New predicate.
- (nonimm_not_xmm0_operand_maybe_avx): Ditto.
-
-2011-04-14 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/48608
- * cfgexpand.c (get_decl_align_unit): Renamed to ...
- (align_local_variable): This. Update DECL_ALIGN.
- (add_stack_var): Updated.
- (expand_one_stack_var): Likewise.
-
-2011-04-14 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
- Remove.
- (dse_initialize_block_local_data, dse_leave_block,
- record_voperand_set, get_stmt_uid): Likewise.
- (dse_possible_dead_store_p): Allow any kind of killing stmt.
- (dse_optimize_stmt): Remove voperand set handling code.
- Simplify and improve to handle any kind of killing stmt.
- (dse_record_phi): Remove.
- (dse_enter_block): Simplify.
- (tree_ssa_dse): Likewise.
- * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
-
-2011-04-14 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
- * cgraph.h (struct inline_summary): Move to ipa-inline.h
- (cgraph_local_info): Remove inline_summary.
- * ipa-cp.c: Include ipa-inline.h.
- (ipcp_cloning_candidate_p, ipcp_estimate_growth,
- ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
- accesor.
- * lto-cgraph.c (lto_output_node): Do not stream inline summary.
- (input_overwrite_node): Do not set inline summary.
- (input_node): Do not stream inline summary.
- * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
- (cgraph_decide_inlining_incrementally): Do not try to estimate overall
- growth; we do not have inline parameters computed for that anyway.
- (cgraph_early_inlining): After inlining compute call_stmt_sizes.
- * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
- (inline_summary_t): New type and VECtor.
- (debug_inline_summary, dump_inline_summaries): Declare.
- (inline_summary): Use VOCtor.
- (estimate_edge_growth): Kill hack computing call stmt size directly.
- * lto-section-in.c (lto_section_name): Add inline section.
- * ipa-inline-analysis.c: Include lto-streamer.h
- (node_removal_hook_holder, node_duplication_hook_holder): New holders
- (inline_node_removal_hook, inline_node_duplication_hook): New functions.
- (inline_summary_vec): Define.
- (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
- dump_inline_summaries): New functions.
- (estimate_function_body_sizes): Properly compute size/time of outgoing
- calls.
- (compute_inline_parameters): Alloc inline_summary; do not compute
- size/time of incomming calls.
- (estimate_edge_time): Avoid missing time summary hack.
- (inline_read_summary): Read inline summary info.
- (inline_write_summary): Write inline summary info.
- (inline_free_summary): Free all hooks and inline summary vector.
- * lto-streamer.h: Add LTO_section_inline_summary section.
- * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
- * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
-
-2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vectorizer.h (vect_strided_store_supported): Add a
- HOST_WIDE_INT argument.
- (vect_strided_load_supported): Likewise.
- (vect_permute_store_chain): Return void.
- (vect_transform_strided_load): Likewise.
- (vect_permute_load_chain): Delete.
- * tree-vect-data-refs.c (vect_strided_store_supported): Take a
- count argument. Check that the count is a power of two.
- (vect_strided_load_supported): Likewise.
- (vect_permute_store_chain): Return void. Update after above changes.
- Assert that the access is supported.
- (vect_permute_load_chain): Likewise.
- (vect_transform_strided_load): Return void.
- * tree-vect-stmts.c (vectorizable_store): Update calls after
- above interface changes.
- (vectorizable_load): Likewise.
- (vect_analyze_stmt): Don't check for strided powers of two here.
-
-2011-04-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48590
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
- BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
- (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
- BUILT_IN_STACK_SAVE.
- * tree-ssa-dce.c (propagate_necessity): Handle
- BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
-
-2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-parser.c (c_parser_objc_class_declaration): Updated call to
- objc_declare_class.
-
-2011-04-14 Richard Guenther <rguenther@suse.de>
-
- * tree.h (get_object_alignment_1): Declare.
- * builtins.c (get_object_alignment_1): Split out worker from ...
- (get_object_alignment): ... here.
- * fold-const.c (get_pointer_modulus_and_residue): Use
- get_object_alignment_1.
-
-2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
- type parameter.
- * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
- parameter. Generalise code to handle arrays as well as vectors.
- (vect_setup_realignment): Update accordingly.
- * tree-vect-stmts.c (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
-
-2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
- within the per-copy loop.
-
-2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- * tree-vect-stmts.c (vectorizable_load): Print the number of copies
- in the dump file.
-
-2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- * doc/options.texi (Negative): Explicitly mention that the
- Negative chain must be circular.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * function.h (block_chainon): Declare.
- * function.c (block_chainon): Define.
-
-2011-04-14 Anatoly Sokolov <aesok@post.ru>
- Eric Weddington <eric.weddington@atmel.com>
- Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
- New Includes
- (avr_init_builtins, avr_expand_builtin,
- avr_expand_delay_cycles, avr_expand_unop_builtin,
- avr_expand_binop_builtin ): New functions.
- (avr_builtin_id): New enum
- (struct avr_builtin_description): New struct
- (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
- (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
-
- * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
- UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
- UNSPECV_DELAY_CYCLES): new enumeration values
- (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
- ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
- ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
- ("*rotlqi3_4"): rename insn to "rotlqi3_4"
- ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
- "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
- "fmulsu"): New insns
-
- * config/avr/avr-c.c: fix line endings
- (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
- __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
- __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
- __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
- __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
-
- * doc/extend.texi (AVR Built-in Functions): New node
- (Target Builtins): Add documentation of AVR
- built-in functions.
-
-2011-04-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/44643
- * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
- alone. Error if non-const data has attribute progmem.
-
-2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct tree_constructor): Include tree_typed instead of
- tree_common.
- * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
- TS_TYPED instead of TS_COMMON.
-
-2011-04-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
- (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
- (sse2_psadbw): Merge with *avx_psadbw.
- (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
- (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
- (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
- (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
- (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
- (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
- (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
- (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
- (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
- (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
- (ssse3_palignrti): Merge with *avx_palignrti.
-
-2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
- * tree-ssanames.c (fini_ssanames): VEC_free it.
- (make_ssa_name_fn): Update for VECness of free_ssanames.
- (release_ssa_name, release_dead_ssa_names): Likewise.
- * tree.h (struct tree_ssa_name): Include tree_typed instead of
- tree_common.
- * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
- TS_TYPED instead of TS_COMMON.
-
-2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
-
- * postreload-gcse.c (gcse_after_reload_main): Add calls to
- statistics_counter_event.
- * tree-ssa-copyrename.c (stats): Define.
- (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
- statistics_counter_event.
- * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
- (bswap_stats, widen_mul_stats): Define.
- (insert_reciprocals): Increment rdivs_inserted.
- (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
- rfuncs_inserted. Add calls to statistics_counter_event.
- (execute_cse_sincos_1): Increment inserted.
- (execute_cse_sincos): Zeroize sincos_stats. Add call to
- statistics_counter_event.
- (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
- of bswap_stats. Add calls to statistics_counter_event.
- (convert_mult_to_widen): Increment widen_mults_inserted.
- (convert_plusminus_to_widen): Increment maccs_inserted.
- (convert_mult_to_fma): Increment fmas_inserted.
- (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
- calls to statistics_counter_event.
-
-2011-04-13 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48455
- * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
- `temp_costs->mem_cost'.
-
-2011-04-13 Jan Hubicka <jh@suse.cz>
-
- * ipa-inline.h: New file.
- * ipa-inline-analysis.c: New file. Broken out of ...
- * ipa-inline.c: ... this file; update toplevel comment;
- include ipa-inline.h
- (inline_summary): Move to ipa-inline.h
- (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
- ipa-inline-analysis.c.
- (cgraph_estimate_time_after_inlining): Rename to
- estiamte_time_after_inlining; move to ipa-inline-analysis.c
- (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
- to estimate_edge_growth.
- (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
- rename to estimate_size_after_inlining.
- (cgraph_mark_inline_edge): Update for new naming convention.
- (cgraph_check_inline_limits): Likewise.
- (cgraph_edge_badness): Likewise.
- (cgraph_decide_recursive_inlining): Likewise.
- (cgraph_decide_inlining_of_small_functions): Likewise.
- (cgraph_decide_inlining_incrementally): Likewise.
- (cgraph_estimate_growth): Rename to estimate_growth; move to
- ipa-inline-analysis.c.
- (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
- (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
- (compute_inline_parameters): Likewise.
- (compute_inline_parameters_for_current): Likewise.
- (pass_inline_parameters): Likewise.
- (inline_indirect_intraprocedural_analysis): Likewise.
- (analyze_function): Rename to inline_analyze_function; likewise.
- (add_new_function): Move to ipa-inline-analysis.c.
- (inline_generate_summary): Likewise.
- (inline_read_summary): Likewise.
- (inline_write_summary): Likewise.
- * Makefile.in (ipa-inline-analysis.c): New file.
-
-2011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
- * configure: Regenerate.
-
-2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
- instead of tree_common.
- (struct tree_fixed_cst, struct tree_string, struct tree_complex):
- Likewise.
- * tree.c (initialize_tree_contains_struct): Mark such nodes as being
- TS_TYPED rather than TS_COMMON.
- * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
-
-2011-04-01 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/45263
- * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
- r20 around calls of __tablejump_elpm__
-
-2011-04-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48591
- * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
- NULL.
- (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
-
-2011-04-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
- (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
- (cfi_vec): New typedef.
- (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
- dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
- (cie_cfi_vec): New static variable.
- (cie_cfi_head): Delete.
- (add_cfi): Accept a cfi_vec * as first argument. All callers and
- declaration changed. Use vector rather than list operations.
- (new_cfi): Don't initialize the dw_cfi_next field.
- (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
- rather than list operations.
- (lookup_cfa): Use vector rather than list operations.
- (output_cfis): New argument upto. Accept a cfi_vec rather than
- a dw_cfi_ref list head as argument. All callers changed.
- Iterate over the vector using upto as a maximum index.
- (output_all_cfis): New static function.
- (output_fde): Use vector rather than list operations. Use the
- new upto argument for output_cfis rather than manipulating a
- list.
- (dwarf2out_begin_prologue): Change initializations to match
- new struct members.
- (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
- from the vector length rather than searching for the end of a list.
- Use output_all_cfis.
- (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
-
-2011-04-13 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (movmemsi): Do not use this pattern when
- volatile pointers are involved.
-
-2011-04-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (pinsrbits): Remove.
- (sse2_packsswb): Merge with *avx_packsswb.
- (sse2_packssdw): Merge with *avx_packssdw.
- (sse2_packuswb): Merge with *avx_packuswb.
- (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
- (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
- (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
- (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
- (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
- (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
- (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
- (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
- (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
- (*sse4_1_pinsrq): Merge with *avx_pinsrq.
- (sse2_loadld): Merge with *avx_loadld.
- (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
- (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
- (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
- (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
- (vec_concatv2di): Merge with *vec_concatv2di_avx.
-
-2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
-
- * c-decl.c (union lang_tree_node): Check for TS_COMMON before
- calling TREE_CHAIN.
- * print-tree.c (print_node): Likewise.
- * tree-inline.c (copy_tree_r): Likewise.
- * c-lang.c (LANG_HOOKS_INIT_TS): Define.
- * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
- instead of TS_COMMON.
- * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
- * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
- (copy_node_stat): Zero TREE_CHAIN only if necessary.
- (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
- (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
- ...and these...
- (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
- * tree.h: ...here.
- (TREE_CHAIN): Check for a TS_COMMON structure.
- (TREE_TYPE): Check for a TS_TYPED structure.
-
-2011-04-12 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (call_ABI_of_interest): Call
- cgraph_get_create_node instead of cgraph_node.
-
-2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-parser.c (c_parser_initelt): Updated call to
- objc_build_message_expr.
- (c_parser_postfix_expression): Likewise.
-
-2011-04-12 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
- MASK_MS_BITFIELD_LAYOUT bit.
-
-2011-04-12 Jakub Jelinek <jakub@redhat.com>
-
- * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
- assert it is always true.
- (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
- moves.
-
-2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-parser.c (c_lex_one_token): Rewritten conditional used when
- compiling Objective-C to be more efficient.
-
-2011-04-12 Axel Freyn <axel-freyn@gmx.de>
-
- * opts-common.c (decode_cmdline_options_to_array): Remove variable
- argv_copied.
-
-2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * recog.h, genoutput.c, optabs.c: Revert last patch.
-
-2011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/48090
- * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
-
-2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * recog.h (insn_operand_data): Add an "allows_mem" field.
- * genoutput.c (output_operand_data): Initialize it.
- * optabs.c (maybe_legitimize_operand_same_code): New function.
- (maybe_legitimize_operand): Use it when matching the original
- op->value.
-
-2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * genpreds.c (process_define_predicate): Move most processing
- to gensupport.c. Continue to validate the expression.
- * genrecog.c (did_you_mean_codes, compute_predicate_codes)
- (process_define_predicate): Move processing to gensupport.c.
- (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
- * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
- (compute_predicate_codes): Moved from genrecog.c. Add lineno
- argument.
- (valid_predicate_name_p): New function, split out from old
- genpreds.c:process_define_predicate.
- (process_define_predicate): New function, combining code from
- old genpreds.c and genrecog.c functions.
- (process_rtx): Call it for DEFINE_PREDICATE and
- DEFINE_SPECIAL_PREDICATE.
-
-2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
- size of a '%A' memory reference.
- (T_DREG, T_QREG): New neon_builtin_type_bits.
- (arm_init_neon_builtins): Assert that the load and store operands
- are neon_struct_operands.
- (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
- (NEON_ARG_MEMORY): New builtin_arg.
- (neon_dereference_pointer): New function.
- (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
- Handle NEON_ARG_MEMORY.
- (arm_expand_neon_builtin): Update after above interface changes.
- Use NEON_ARG_MEMORY for loads and stores.
- * config/arm/predicates.md (neon_struct_operand): New predicate.
- * config/arm/iterators.md (V_two_elem): Tweak formatting.
- (V_three_elem): Use BLKmode for accesses that have no associated mode.
- (V_four_elem): Tweak formatting.
- * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
- (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
- (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
- (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
- (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
- (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
- (neon_vst4<mode>): Replace pointer operand with a memory operand.
- Use %A in the output template.
- (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
- (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
- (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
- the width of the memory access. Remove post-increment.
- * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
-
-2011-04-12 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.c (expand_prologue): Do not use the CALLT
- instruction for interrupt handlers if the target is the basic V850
- architecture.
- (expand_epilogue): Likewise.
-
-2011-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48549
- * combine.c (propagate_for_debug): Also stop after BB_END of
- this_basic_block. Process LAST and just stop processing after it.
- (combine_instructions): If last_combined_insn has been deleted,
- set last_combined_insn to its PREV_INSN.
-
-2011-04-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46076
- * gimple.h (struct gimple_statement_call): Add fntype field.
- (gimple_call_fntype): Adjust.
- (gimple_call_set_fntype): New function.
- * gimple.c (gimple_build_call_1): Set the call function type.
- * gimplify.c (gimplify_call_expr): Preserve the function
- type the frontend used for the call.
- (gimplify_modify_expr): Likewise.
- * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
- function type.
- * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
- function type.
- * tree-ssa.c (useless_type_conversion_p): Function pointer
- conversions are useless.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.h (cgraph_node): Remove function declaration.
- (cgraph_create_node): Declare.
- (cgraph_get_create_node): Likewise.
- * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
- Updated all callers.
- (cgraph_node): Renamed to cgraph_create_node, assert that a node for
- the decl does not already exist. Call cgraph_get_create_node instead
- of cgraph_node.
- (cgraph_get_create_node): New function.
- (cgraph_same_body_alias): Update comment.
- (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
- assert it does not return NULL.
- (cgraph_update_edges_for_call_stmt): Likewise.
- (cgraph_clone_edge): Likewise.
- (cgraph_create_virtual_clone): Likewise.
- (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
- instead of cgraph_node.
- (cgraph_add_new_function): Call cgraph_create_node or
- cgraph_get_create_node instead of cgraph_node.
- * cgraphbuild.c (record_reference): Call cgraph_get_create_node
- instead of cgraph_node.
- (record_eh_tables): Likewise.
- (mark_address): Likewise.
- (mark_load): Likewise.
- (build_cgraph_edges): Call cgraph_get_create_node instead
- of cgraph_node.
- (rebuild_cgraph_edges): Likewise.
- * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
- instead of cgraph_node.
- (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
- cgraph_node.
- * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
- cgraph_create_node instead of cgraph_node.
- * c-decl.c (finish_function): Call cgraph_get_create_node instead
- of cgraph_node.
- * lto-cgraph.c (input_node): Likewise.
- * lto-streamer-in.c (input_function): Likewise.
- * varasm.c (mark_decl_referenced): Likewise.
- (assemble_alias): Likewise.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * tree-inline.c (tree_function_versioning): Call cgraph_get_node
- instead of cgraph_node and assert it does not return NULL.
- * lto-streamer-in.c (lto_read_body): Likewise.
- * omp-low.c (new_omp_context): Likewise.
- (create_task_copyfn): Likewise.
- * tree-emutls.c (lower_emutls_function_body): Likewise.
- * matrix-reorg.c (transform_allocation_sites): Likewise.
-
-2011-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48552
- * c-typeck.c (build_asm_expr): Error out on attempts to use
- void type outputs or inputs for constraints that allow reg or
- don't allow memory.
-
-2011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
- Richard Earnshaw <rearnsha@arm.com>
-
- PR target/48250
- * config/arm/arm.c (arm_legitimize_reload_address): Update cases
- to use sign-magnitude offsets. Reject unsupported unaligned
- cases. Add detailed description in comments.
- * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
- condition from TARGET_32BIT to TARGET_ARM.
-
-2011-04-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct typed_tree): New.
- (struct tree_common): Include it instead of tree_base.
- (TREE_TYPE): Update for new location of type field.
- (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
- (DECL_USER_ALIGN, DECL_PACKED): Likewise.
- (union tree_node): Add typed field.
- * treestruct.def (TS_TYPED): New.
- * lto-streamer.c (check_handled_ts_structures): Handle it.
- * tree.c (MARK_TS_TYPED): New macro.
- (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
-
-2011-04-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
- (force_nonfallthru): Do not alter the loop nest if no basic block
- was created.
-
-2011-04-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (VI): New mode iterator.
- (SSEMODEI): Remove.
- (AVX256MODEI): Ditto.
- (AVXMODEF4P): Ditto.
- (avxvecpsmode): Ditto.
- (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
- (sse2_andnot<mode>3): New expander.
- (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
- *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
- (<any_logic:code><mode>3): Use VI mode iterator.
- (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
- and *avx_<any_logic:code><mode>3. Use VI mode iterator.
- (*andnottf3): Handle AVX three-operand constraints.
- (*<any_logic:code>tf3): Handle AVX three-operand constraints.
-
-2011-04-11 Joseph Myers <joseph@codesourcery.com>
- Robert Millan <rmh@gnu.org>
-
- * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
- * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
- GNU_USER_DYNAMIC_LINKER64): Define.
- (REG_NAME): Don't undefine.
- (MD_UNWIND_SUPPORT): Undefine.
- * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
- (REG_NAME): Don't undefine.
- (MD_UNWIND_SUPPORT): Undefine.
- * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
-
-2011-04-11 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
- (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
-
-2011-04-11 Xinliang David Li <davidxl@google.com>
-
- * value-profile.c (check_ic_target): New function.
- (gimple_ic_transform): Sanity check indirect call target.
- * gimple-low.c (gimple_check_call_args): Interface change.
- (gimple_check_call_matching_types): New function.
- * tree-inline.c (tree_can_inline_p): Call new function.
-
-2011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
-
- * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
- tree-pretty-print.h & realmpfr.h.
-
-2011-04-11 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/48464
- * ira.c (setup_pressure_classes): Fix typo in loop condition.
- (setup_allocno_and_important_classes): Ditto.
-
-2011-04-11 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
- GNU_USER_DYNAMIC_LINKER.
- * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
- LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
- (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
- LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
- (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
- * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
- GNU_USER_DYNAMIC_LINKER64): Remove.
- * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
- to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
- (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
- (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
- * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
- GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
- GNU_USER_DYNAMIC_LINKERN32.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
- GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
- GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
- GNU_USER_DYNAMIC_LINKER32.
- * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
- * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
- GNU_USER_DYNAMIC_LINKER32.
- (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
- * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
- GNU_USER_DYNAMIC_LINKER.
- * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
- GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
- GNU_USER_DYNAMIC_LINKER64.
- * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
- GNU_USER_DYNAMIC_LINKER.
- * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
- GNU_USER_DYNAMIC_LINKER32.
- (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
- GNU_USER_DYNAMIC_LINKER64.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
- GNU_USER_DYNAMIC_LINKER64.
- * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
- LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
- (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
-
-2011-04-11 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/gnu-user.h: Copy from linux.h. Update comments.
- (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
- (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
- GNU_USER_DYNAMIC_LINKER.
- (MD_UNWIND_SUPPORT, REG_NAME): Remove.
- * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
- (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
- (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
- GNU_USER_DYNAMIC_LINKER64.
- (MD_UNWIND_SUPPORT, REG_NAME): Remove.
- * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
- GNU_USER_LINK_EMULATION.
- * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
- DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
- ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
- MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
- PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
- CPP_SPEC, CC1_SPEC): Remove.
- (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
- (GNU_USER_DYNAMIC_LINKER): Define.
- (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
- ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
- ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
- LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
- TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
- STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
- TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
- * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
- CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
- TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
- LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
- LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
- (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
- (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
- TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
- TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
- * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
- GNU_USER_DYNAMIC_LINKER.
- * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
- GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
- * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
- GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
- * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
- GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
- * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
- i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
- i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
- x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
-
-2011-04-11 Kai Tietz <ktietz@redhat.com>
-
- PR target/9601
- PR target/11772
- * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
- * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
- comment.
- (ix86_is_msabi_thiscall): Removed.
- (ix86_is_type_thiscall): Likewise.
- (ix86_get_callcvt): New function.
- (ix86_comp_type_attributes): Simplify check.
- (ix86_function_regparm): Use ix86_get_callcvt for calling
- convention attribute checks.
- (ix86_return_pops_args): Likewise.
- (ix86_static_chain): Likewise.
- (x86_this_parameter): Likewise.
- (x86_output_mi_thunk): Likewise.
- (ix86_function_type_abi): Optimize check for types without attributes.
- * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
- IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
- IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
- by flag-values.
- (IX86_BASE_CALLCVT): Helper macro.
- * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
- Use ix86_get_callcvt for calling convention attribute checks and avoid
- symbol-decoration for stdcall in TARGET_RTD case.
- * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
- Likewise.
- (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
- for declaration.
-
-2011-04-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (VI_128): New mode iterator.
- (VI12_128): Rename from SSEMODE12.
- (VI14_128): Rename from SSEMODE14.
- (VI124_128): New mode iterator.
- (VI24_128): Rename from SSEMODE248.
- (VI248_128): Rename from SSEMODE248.
- (SSEMODE124C8): Remove.
- (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
- (*sse2_<plusminus_insn><mode>3): Merge with
- *avx_<plusminus_insn><mode>3.
- (*mulv8hi3): Merge with *avx_mulv8hi3.
- (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
- (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
- (*sse2_pmaddwd): Merge with *avx_pmaddwd.
- (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
- (ashr<mode>3): Merge with *avx_ashr<mode>3.
- (lshr<mode>3): Merge with *avx_lshr<mode>3.
- (ashl<mode>3): Merge with *avx_ashl<mode>3.
- (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
- (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
- (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
- (*<smaxmin:code>v8hi3): Ditto.
- (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
- (*<smaxmin:code>v16qi3): Ditto.
- (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
- (*sse2_eq<mode>3): Ditto.
- (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
- (*sse2_gt<mode>3): Ditto.
- (vcondv2di): Split out of vcond<mode>.
- (vconduv2di): Split out of vcondu<mode>.
-
-2011-04-11 Richard Guenther <rguenther@suse.de>
-
- * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
- before calling tree_low_cst.
-
-2011-04-11 Richard Guenther <rguenther@suse.de>
-
- * stor-layout.c (layout_type): Compute all array index size operations
- in the original type.
- (initialize_sizetypes): Add comment.
- (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
-
-2011-04-11 Joseph Myers <joseph@codesourcery.com>
-
- * common.opt (Tbss=, Tdata=, Ttext=): New options.
-
-2011-04-11 Martin Jambor <mjambor@suse.cz>
-
- * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
- of cgraph_node, handle NULL return value.
- (cgraph_global_info): Likewise.
- (cgraph_rtl_info): Likewise.
- * tree-inline.c (estimate_num_insns): Likewise.
- * gimplify.c (unshare_body): Likewise.
- (unvisit_body): Likewise.
- (gimplify_body): Likewise.
- * predict.c (optimize_function_for_size_p): Likewise.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
- (call_may_clobber_ref_p_1): Likewise.
- * varasm.c (function_section_1): Likewise.
- (assemble_start_function): Likewise.
-
-2011-04-11 Martin Jambor <mjambor@suse.cz>
-
- * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
- of cgraph_node.
- * final.c (rest_of_clean_state): Likewise.
- * gimple-iterator.c (update_call_edge_frequencies): Likewise.
- * passes.c (pass_init_dump_file): Likewise.
- (execute_all_ipa_transforms): Likewise.
- (function_called_by_processed_nodes_p): Likewise.
- * predict.c (maybe_hot_frequency_p): Likewise.
- (probably_never_executed_bb_p): Likewise.
- (compute_function_frequency): Likewise.
- * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
- (unnest_nesting_tree_1): Likewise.
- (lower_nested_functions): Likewise.
- * tree-optimize.c (execute_fixup_cfg): Likewise.
- (tree_rest_of_compilation): Likewise.
- * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
- * tree-sra.c (ipa_early_sra): Likewise.
- * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
- * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
- * ipa.c (record_cdtor_fn): Likewise.
- * ipa-inline.c (cgraph_early_inlining): Likewise.
- (compute_inline_parameters_for_current): Likewise.
- * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
- * ipa-pure-const.c (local_pure_const): Likewise.
- * ipa-split.c (split_function): Likewise.
- (execute_split_functions): Likewise.
- * cgraphbuild.c (build_cgraph_edges): Likewise.
- (rebuild_cgraph_edges): Likewise.
- (cgraph_rebuild_references): Likewise.
- (remove_cgraph_callee_edges): Likewise.
- * cgraphunit.c (cgraph_mark_if_needed): Likewise.
- (verify_cgraph_node): Likewise.
- (cgraph_analyze_functions): Likewise.
- (cgraph_preserve_function_body_p): Likewise.
- (save_inline_function_body): Likewise.
- (save_inline_function_body): Likewise.
- * tree-inline.c (copy_bb): Likewise.
- (optimize_inline_calls): Likewise.
-
-2011-04-11 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/48195
- * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
- ipa_check_create_edge_args.
- (ipcp_generate_summary): Do not call ipa_check_create_node_params and
- ipa_check_create_edge_args.
- * ipa-inline.c (inline_generate_summary): Do not call
- ipa_check_create_node_params and ipa_check_create_edge_args.
- * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
- ipa_check_create_edge_args.
-
-2011-04-09 Anatoly Sokolov <aesok@post.ru>
-
- * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
- instead of loop.
- * sel-sched.c (mark_unavailable_hard_regs): Likewise.
- * function.c (record_hard_reg_sets): Likewise.
- * ira.c (compute_regs_asm_clobbered): Likewise.
- * sched-deps.c (sched_analyze_1): Likewise.
- * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
-
-2011-04-09 Xinliang David Li <davidxl@google.com>
-
- PR tree-optimization/PR48484
- * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
- has_valid_pred lazily
-
-2011-04-09 Duncan Sands <baldrick@free.fr>
-
- * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
-
-2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * combine.c (combine_validate_cost): Adjust comments. Set registered
- cost of I0 to zero at the end, if any.
-
-2011-04-08 Xinliang David Li <davidxl@google.com>
-
- * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
- to insane profile data.
-
-2011-04-08 Xinliang David Li <davidxl@google.com>
-
- * ipa-cp.c (ipcp_update_profiling): Correct
- negative scale factor due to insane profile data.
-
-2011-04-08 Xinliang David Li <davidxl@google.com>
-
- * final.c (dump_basic_block_info): New function.
- (final): Dump basic block.
- (final_scan_insn): Remove old dump.
-
-2011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR target/47829
- * config.gcc (i386-*-freebsd): Disable unwind table generation for
- crtbegin/crtend.
-
-2011-04-08 Michael Matz <matz@suse.de>
-
- PR middle-end/48389
- * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
- functions.
- (rebuild_jump_labels): Call rebuild_jump_labels_1.
- * rtl.h (rebuild_jump_labels_chain): Declare.
- * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
- insns inserted on edges.
-
-2011-04-08 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
- * config/arm/arm-arches.def: New.
- * config/arm/arm-opts.h: New.
- * config/arm/genopt.sh: New.
- * config/arm/arm-tables.opt: New (generated).
- * config/arm/arm.c (arm_handle_option, arm_target_help,
- TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
- (all_architectures): Get most table contents from arm-arches.def.
- (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
- arm_selected_tune here.
- * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
- * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
- (march=, mcpu=, mtune=): Use Enum and Var.
- * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
- (arm.o): Update dependencies.
-
-2011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
-
- * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
- of header_file.
- (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
- (write_typed_alloc_defns): Likewise.
- (main): Calls write_typed_alloc_defns with output_header.
-
-2011-04-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR inline-asm/48435
- * ira-color.c (setup_profitable_hard_regs): Add comments.
- Don't take prohibited hard regs into account.
- (setup_conflict_profitable_regs): Rename to
- get_conflict_profitable_regs.
- (check_hard_reg_p): Check prohibited hard regs.
-
-2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
- * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
- * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
-
-2011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/48366
- * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
- move from floating point to shift amount register.
- (emit_move_sequence): Remove secondary reload support for floating
- point to shift amount amount register copies.
- (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
- amount register copies.
- * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
- register, return false if mode isn't a scalar integer mode.
- * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
-
-2011-04-08 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_call_flags): Remove kludge.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- * sel-sched.c (sel_region_init): Move call to
- sel_setup_region_sched_flags after setup_current_loop_nest.
-
-2011-04-08 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48272
- * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
- init_insn_reg_pressure_info. Adjust a caller.
- * sched-int.h (init_insn_reg_pressure_info): Declare.
- * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
- when sched-pressure is enabled.
-
-2011-04-08 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_set_modified): Do not queue calls to
- MODIFIED_NORETURN_CALLS here ...
- * tree-ssa-operands.c (update_stmt_operands): ... but here.
-
-2011-04-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/48467
- * toplev.c (lang_dependent_init): Do not open asm_out_file
- in WPA mode, nor perform debug machinery initialization.
- (finalize): Do not unlink asm_out_file in WPA mode.
-
-2011-04-08 Richard Guenther <rguenther@suse.de>
-
- * gimple.h (gimple_call_fntype): New function.
- (gimple_call_return_type): Use it.
- * expr.c (expand_expr_real_1): Use gimple_call_fntype.
- * gimple-low.c (gimple_check_call_args): Likewise.
- * gimple.c (gimple_call_flags): Likewise.
- (gimple_call_arg_flags): Likewise.
- (gimple_call_return_flags): Likewise.
- * tree-cfg.c (verify_gimple_call): Likewise.
- (do_warn_unused_result): Likewise.
- * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
- * value-prof.c (gimple_ic_transform): Fix fndecl check.
-
-2011-04-08 Dmitry Melnik <dm@ispras.ru>
-
- PR rtl-optimization/48235
- * sel-sched.c (code_motion_process_successors): Recompute the last
- insn in basic block if control flow changed.
- (code_motion_path_driver): Ditto. Recompute the first insn as well.
- Update condition for ilist_remove.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/48302
- * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
- * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
- it to record added preheader blocks.
- * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
- on to sel_add_loop_preheaders.
- (sel_region_init): Move call to setup_current_loop_nest after
- sel_init_bbs.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/48273
- * cfgloop.h (loop_has_exit_edges): New helper.
- * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
- non-clonable.
- * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
- that have no exit edges.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/48442
- * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
- all callers. Adjust assert.
-
-2011-04-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48377
- * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
- is_packed to true even for types with smaller TYPE_ALIGN than
- TYPE_SIZE.
-
-2011-04-08 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/48513
- * doc/tm.texi: Re-generate.
-
-2011-04-08 Wei Guozhi <carrot@google.com>
-
- PR target/47855
- * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
- * config/arm/arm.c (arm_attr_length_push_multi): New function.
- * config/arm/arm.md (*push_multi): Change the length computation to
- call a C function.
-
-2011-04-08 Anatoly Sokolov <aesok@post.ru>
-
- * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
- (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
- * doc/tm.texi: Regenerate.
- * system.h (ASM_OUTPUT_BSS): Poison.
- * varasm.c (asm_output_bss): Remove function.
- (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
-
- * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
- * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
- * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
- * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Likewise.
- * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Likewise.
- * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
- Likewise.
- * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
-
-2011-04-07 Joseph Myers <joseph@codesourcery.com>
-
- * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
- EnumValue lines.
-
-2011-04-07 Joseph Myers <joseph@codesourcery.com>
-
- * config/m68k/m68k.c (m68k_handle_option): Don't handle
- OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
- OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
- OPT_mcpu32.
- * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
- handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
- -m68030, -m68040, -m68060, -mcpu32 and -m68332.
- * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
- m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
- * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
- (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
- (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
- options. Don't map other m68k options manually. Don't handle
- old-style options as canonical.
- (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
- * doc/install.texi (m68k-*-*): Document binutils version requirement.
-
-2011-04-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * basic-block.h (force_nonfallthru): Move to...
- * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
- (force_nonfallthru): ...here.
- * cfghooks.c (force_nonfallthru): New function.
- * cfgrtl.c (force_nonfallthru): Rename into...
- (rtl_force_nonfallthru): ...this.
- (commit_one_edge_insertion): Do not set AUX field.
- (commit_edge_insertions): Do not discover new basic blocks.
- (rtl_cfg_hooks): Add rtl_force_nonfallthru.
- (cfg_layout_rtl_cfg_hooks): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Remove bogus
- ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
- * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
-
-2011-04-07 Anatoly Sokolov <aesok@post.ru>
-
- * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
- Remove macros.
-
-2011-04-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md: Update copyright year.
- (avxcvtvecmode): Remove.
- (sse_movhlps): Merge with *avx_movhlps.
- (sse_movlhps): Merge with *avx_movlhps.
- (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
- (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
- (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
- (sse_loadhps): Merge with *avx_loadhps.
- (sse_storelps): Merge with *avx_storelps.
- (sse_loadlps): Merge with *avx_loadlps.
- (sse_movss): Merge with *avx_movss.
- (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
- (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
- (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
- (*vec_set<mode>_0_sse2): Split multi-unit alternative.
- (vec_set<mode>_0): Ditto.
- (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
- (sse4_1_insertps): Merge with *avx_insertps.
- (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
- (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
- (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
- (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
- (sse2_storehpd): Merge with *avx_storehpd.
- (sse2_loadhpd): Merge with *avx_loadhpd.
- (sse2_loadlpd): Merge with *avx_loadlpd.
- (sse2_movsd): Merge with *avx_movsd.
- (*vec_concatv2df): Merge with *vec_concatv2df.
-
-2011-04-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48343
- * combine.c (combine_instructions): Add last_combined_insn,
- update it if insn is after it, pass it to all try_combine calls.
- (try_combine): Add last_combined_insn parameter, pass it instead of
- i3 to propagate_for_debug.
-
-2011-04-07 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.md (movqi_internal): Add alternatives
- to handle MDR <-> data register transfers.
- (movhi_internal): Likewise.
-
-2011-04-07 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
- previous stack info.
-
-2011-04-07 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
- flow_find_cross_jump. Swap variables to implement backward replacement.
- (try_crossjump_bb): Add argument to try_crossjump_to_edge.
-
-2011-04-07 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * cfgcleanup.c (walk_to_nondebug_insn): New function.
- (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
- and bb2.
- (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
- src1 or src2. Redirect edges to the last basic block. Update
- frequency and count on multiple basic blocks in case of fallthru.
-
-2011-04-07 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
- function.
- (old_insns_match_p): Change return type. Replace return false/true
- with return dir_none/dir_both. Use can_replace_by.
- (flow_find_cross_jump): Add dir_p parameter. Init replacement
- direction from dir_p. Register replacement direction in dir, last_dir
- and afterlast_dir. Handle new return type of old_insns_match_p using
- merge_dir. Return replacement direction in dir_p.
- (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
- return type of old_insns_match_p.
- (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
- * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
- flow_find_cross_jump.
- * basic-block.h (enum replace_direction): New type.
- (flow_find_cross_jump): Add parameter to declaration.
-
-2011-04-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
- (AVXMODEDCVTPS2DQ): Ditto.
- (VEC_FLOAT_MODE): Ditto.
- (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
- iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
- (<any_logic:code><mode>3): Use VF mode iterator.
- (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
- Use VF mode iterator.
- (copysign<mode>3): Use VF mode iterator.
- (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
- TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
- (*<any_logic:code><MODEF:mode>3): Merge with
- *avx_<any_logic:code><MODEF:mode>3.
- (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
- (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
- (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
- (avx_cvtdq2ps<avxmodesuffix>): Remove.
- (sse2_cvtdq2ps): Use %v modifier.
- (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
- (avx_cvtps2dq<avxmodesuffix>): Remove.
- (sse2_cvtps2dq): Use %v modifier.
- (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
- (avx_cvttps2dq<avxmodesuffix>): Remove.
- (sse2_cvttps2dq): Use %v modifier.
- (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
- (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
- (sse2_cvtsd2siq): Fix insn template.
- (sse2_cvtsd2siq_2): Ditto.
- (sse2_cvttsd2siq): Ditto.
- (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
- (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
-
-2011-04-06 Joseph Myers <joseph@codesourcery.com>
-
- * gcov-io.c: Use GCC Runtime Library Exception.
-
-2011-04-06 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48466
- * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
- as base_reg whatever register reg has been eliminated to, instead
- of hardcoding STACK_POINTER_REGNUM.
-
-2011-04-06 Joseph Myers <joseph@codesourcery.com>
-
- * doc/tm.texi.in: Document C target hooks as separate from general
- target hooks.
- * doc/tm.texi: Regenerate.
- * genhooks.c (struct hook_desc): Add docname field.
- (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
- docname field.
- (hook_array): Include c-target.def.
- (emit_documentation): Use docname field in output.
- (emit_init_macros): Take docname argument. Only emit definitions
- for hooks matching docname.
- (main): Expect additional arguments in all cases. Pass argument
- to emit_init_macros.
- * target.def: Move initial macro definitions and comments to
- target-hooks-macros.h.
- (gcc_targetcm): Move to c-family/c-target.def.
- * target.h (targetcm): Move declaration to c-family/c-target.h.
- * targhooks.c (default_handle_c_option): Move to
- c-family/c-opts.c.
- * targhooks.h (default_handle_c_option): Move declaration to
- c-family/c-common.h.
- * target-hooks-macros.h: New file.
- * config.gcc (target_has_targetcm): Define and use to add to
- c_target_objs and cxx_target_objs.
- * config/default-c.c: New file.
- * config/darwin-c.c: Include c-target.h and c-target-def.h instead
- of target.h and target-def.h.
- (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
- (darwin_objc_construct_string, darwin_cfstring_ref_p,
- darwin_check_cfstring_format_arg): Make static.
- (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
- TARGET_STRING_OBJECT_REF_TYPE_P,
- TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
- * config/darwin-protos.h (darwin_objc_construct_string,
- darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
- declare.
- * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
- TARGET_STRING_OBJECT_REF_TYPE_P,
- TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
- * config/t-darwin (darwin-c.o): Update dependencies.
- * system.h (TARGET_HAS_TARGETCM): Poison.
- * Makefile.in (TARGET_H): Update.
- (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
- (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
- (default-c.o): New target.
- (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
- (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
- (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
- c-target.def.
- (build/genhooks.o): Update dependencies.
-
-2011-04-06 Richard Guenther <rguenther@suse.de>
-
- * ipa-inline.c (enum inlining_mode): Remove.
- (cgraph_flatten): Use some other token.
- (cgraph_edge_early_inlinable_p): New function, split out from ...
- (cgraph_perform_always_inlining): New function, split out from ...
- (cgraph_decide_inlining_incrementally): ... here.
- (cgraph_mark_inline_edge): Adjust.
- (cgraph_early_inlining): Re-structure.
- (pass_early_inline): Require SSA form.
-
-2011-04-06 Andrew Stubbs <ams@codesourcery.com>
- Julian Brown <julian@codesourcery.com>
- Mark Shinwell <shinwell@codesourcery.com>
-
- * config/arm/arm.h (arm_class_likely_spilled_p): Check against
- LO_REGS only for Thumb-1.
- (MODE_BASE_REG_CLASS): Restrict base registers to those which can
- be used in short instructions when optimising for size on Thumb-2.
-
-2011-04-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-low.c (lower_gimple_return): When not optimizing, force labels
- associated with user returns to be preserved.
-
-2011-04-06 Tristan Gingold <gingold@adacore.com>
-
- * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
- symbol_queue_size, DBXOUT_DECR_NESTING,
- (DBXOUT_DECR_NESTING_AND_RETURN): Also define
- if XCOFF_DEBUGGING_INFO.
-
-2011-04-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (attribute isa): New.
- (attribute enabled): New.
- (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
- (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
- (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
- (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
- (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
- (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
- (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
- (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
-
- * config/i386/sse.md (VF): New mode iterator.
- (VF1): Ditto.
- (VF2): Ditto.
- (VF_128): Ditto.
- (SSEMODEF4): Remove.
- (attribute sse): Handle V8SF and V4DF modes.
- (<absneg:code><mode>2): Use VF mode iterator.
- (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
- mode iterator.
- (<plusminus_insn><mode>3): Use VF mode iterator.
- (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
- Use VF mode iterator.
- (<sse>_vm<plusminus_insn><mode>3): Merge with
- *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
- (mul<mode>3): Use VF mode iterator.
- (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
- (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
- mode iterator.
- (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
- (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
- (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
- (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
- mode iterator.
- (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
- Use VF1 mode iterator.
- (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
- (sqrt<VF2:mode>2): New expander.
- (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
- (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
- and sqrtv2df2. Use VF mode iterator.
- (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
- mode iterator.
- (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
- (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
- Use VF1 mode iterator.
- (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
- (<smaxmin:code><mode>3): Use VF mode iterator.
- (*<smaxmin:code><mode>3_finite): Merge with
- *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
- (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
- (<sse>_vm<smaxmin:code><mode>2): Merge with
- *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
- (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
- mode iterator.
- (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
- mode iterator.
- (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
- (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
- (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
- (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
- (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
- VF mode iterator.
- (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
- Use VF_128 mode iterator.
- (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
- mode iterator.
- (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
- VF_128 mode iterator.
- (vcond<mode>): Use VF mode iterator.
- * config/i386/predicates.md (sse_comparison_operator): Merge with
- avx_comparison_float_operator. Do not declare as special_predicate.
- * config/i386/i386.c (struct builtin_description): Update for renamed
- compare patterns.
- (ix86_expand_args_builtin): Ditto.
- (ix86_expand_sse_compare_mask): Ditto.
-
-2011-04-06 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (estimate_num_insns): For calls simply account
- for all passed arguments and a used return value.
-
-2011-04-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47663
- * cgraph.h (struct cgraph_edge): Add call_stmt_size and
- call_stmt_time fields.
- (cgraph_edge_inlinable_p): Declare.
- (cgraph_edge_recursive_p): New inline function.
- * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
- (cgraph_clone_edge): Copy it.
- * ipa-inline.c (cgraph_estimate_edge_time): New function.
- Account for call stmt time.
- (cgraph_estimate_time_after_inlining): Take edge argument.
- (cgraph_estimate_edge_growth): Account call stmt size.
- (cgraph_estimate_size_after_inlining): Take edge argument.
- (cgraph_mark_inline_edge): Adjust.
- (cgraph_check_inline_limits): Likewise.
- (cgraph_recursive_inlining_p): Remove.
- (cgraph_edge_badness): Use cgraph_edge_recursive_p.
- (cgraph_decide_recursive_inlining): Take edge argument and
- adjust.
- (cgraph_decide_inlining_of_small_functions): Do not avoid
- diags for recursive inlining here.
- (cgraph_flatten): Adjust.
- (cgraph_decide_inlining_incrementally): Likewise.
- (estimate_function_body_sizes): Remove call cost handling.
- (compute_inline_parameters): Initialize caller edge call costs.
- (cgraph_estimate_edge_growth): New function.
- (cgraph_estimate_growth): Use it.
- (cgraph_edge_badness): Likewise.
- (cgraph_check_inline_limits): Take an edge argument.
- (cgraph_decide_inlining_of_small_functions): Adjust.
- (cgraph_decide_inlining): Likewise.
- * tree-inline.c (estimate_num_insns): Only account for call
- return value if it is used.
- (expand_call_inline): Avoid diagnostics on recursive inline
- functions here.
- * lto-cgraph.c (lto_output_edge): Output edge call costs.
- (input_edge): Input edge call costs.
-
-2011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
-
-2011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/invoke.texi (Spec Files): Fix typo.
-
-2011-04-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * profile.c (branch_prob): Move declaration of local variable. Remove
- obsolete ??? comment. Expand the location explicitly instead of using
- the LOCATION_FILE and LOCATION_LINE macros.
-
-2011-04-06 Wei Guozhi <carrot@google.com>
-
- PR target/47855
- * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
- (arm_cond_branch): Likewise.
- (arm_cond_branch_reversed): Likewise.
- (arm_jump): Likewise.
- (push_multi): Likewise.
- * config/arm/constraints.md (Py): New constraint.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- PR bootstrap/48471
- * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
- Move these...
- (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
- (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
- #ifdef DBX_DEBUGGING_INFO.
-
-2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/48403
- * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
- if old and new states differ.
-
-2011-04-05 Joseph Myers <joseph@codesourcery.com>
-
- * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
- OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
- * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
- handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
- * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
- mcfv4e): Use Alias.
- * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
- ColdFire options to -mcpu= options.
-
-2011-04-05 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
- check if BB is a successor of LOOP->header and return
- NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
-
-2011-04-05 Steven Bosscher <steven@gcc.gnu.org>
-
- * cprop.c (struct reg_use): Remove.
- (reg_use_table): Make an array of RTX.
- (find_used_regs, constprop_register, local_cprop_pass,
- bypass_block): Simplify users of reg_use_table.
- (cprop_insn): Likewise. Iterate if copy propagation succeeded
- on one of the uses found by find_used_regs.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- PR bootstrap/48469
- * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
- declaration.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
- as an rtx.
- (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
-
-2011-04-05 Steven Bosscher <steven@gcc.gnu.org>
-
- PR middle-end/48441
- * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * combine.c: Include obstack.h.
- (struct insn_link): Define.
- (uid_log_links): Adjust type.
- (FOR_EACH_LOG_LINK): New macro.
- (insn_link_obstack): Declare.
- (alloc_insn_link): Define.
- (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
- type of link variables.
- (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
- (try_combine, record_promoted_values, distribute_notes): Likewise.
- (distribute_links): Likewise. Tweak prototype.
- (clear_log_links): Delete.
- (adjust_for_new_dest): Call alloc_insn_link.
- * Makefile.in (combine.o): Depend on $(OBSTACK_H).
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcse.c (modify_mem_list): Convert to an array of VECs.
- (canon_modify_mem_list, compute_transp): Tweak formatting.
- (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
- (load_killed_in_block_p): Likewise.
- (record_last_mem_set_info): Likewise.
- (clear_modify_mem_tables): Likewise.
-
-2011-04-05 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/48461
- * function.c (emit_use_return_register_into_block): Only define if
- HAVE_return.
-
-2011-04-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
-
-2011-04-05 Joseph Myers <joseph@codesourcery.com>
-
- * config/rx/rx-opts.h: New.
- * config/rx/rx.c (rx_cpu_type): Remove.
- (rx_handle_option): Don't assert that global structures are in
- use. Access variables via opts pointer. Defer most handling of
- OPT_mint_register_. Use error_at.
- (rx_option_override): Handle deferred OPT_mint_register_ here.
- * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
- * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
- (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
- (rx_cpu_types): New Enum and EnumValue entries.
- (mint-register=): Use Defer and use Var accordingly.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
- (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
- * final.c (debug_flush_symbol_queue, debug_queue_symbol):
- Move these...
- (debug_free_queue, debug_nesting, symbol_queue_index):
- ...and these...
- * dbxout.c: ...to here. Make static.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcse.c (modify_pair): Define. Define a VEC of it.
- (canon_modify_mem_list): Convert to an array of VECs.
- (free_insn_expr_list_list): Delete.
- (clear_modify_mem_tables): Call VEC_free instead.
- (record_last_mem_set_info): Don't modify canon_modify_mem_list.
- (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
- (canon_list_insert, compute_transp): Likewise.
-
-2011-04-05 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
- for size.
-
-2011-04-05 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * function.c (emit_use_return_register_into_block): New function.
- (thread_prologue_and_epilogue_insns): Use
- emit_use_return_register_into_block.
-
-2011-04-05 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
- insn.
-
-2011-04-05 Tom de Vries <tom@codesourcery.com>
-
- * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
-
-2011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * config/arm/arm.md (define_constants for unspec): Replace with
- define_c_enum.
- (define_constants for unspecv): Replace with define_c_enum.
- * config/arm/neon.md (define_constants for unspec): Replace with
- define_c_enum.
-
-2011-04-04 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/48400
- * dwarf2out.c (output_line_info): Always emit line info from
- at least one section.
- (dwarf2out_init): Create text_section_line_info here ...
- (set_cur_line_info_table): ... not here.
-
-2011-04-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/48380
- * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
- not called.
-
- * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
-
-2011-04-04 Steven Bosscher <steven@gcc.gnu.org>
-
- * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
- (expr_equiv_p): Remove.
- (insert_set_in_table): Look at <dest, src> pair instead of expr.
- (hash_scan_set): Update call to insert_set_in_table.
- (dump_hash_table): Dump <dest, src> pair.
- (lookup_set): Simplify. Lookup <dest, src> pair.
- (compute_transp): Remove, fold heavily simplified code into...
- (compute_local_properties): ...here. Expect COMP and TRANSP
- unconditionally.
- (find_avail_set): Take set directly from struct expr.
- (find_bypass-set): Likewise.
- (bypass_block): Likewise.
- (cprop_insn): Likewise. Remove redundant INSN_P test.
-
- * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
- checks on form of COND from find_implicit_sets to here.
- (find_implicit_sets): Cleanup control flow. Split critical edges
- if it exposes implicit sets. Allocate/resize implicit_sets as
- necessary.
- (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
- changed something. Run df_analyze after find_implicit_sets if any
- edges were split. Do not allocate implicit_sets here.
-
- * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
- (gcse_obstack): Renamed to cprop_obstack.
- (GNEW, GNEWVEC, GNEWVAR): Remove.
- (gmalloc): Remove.
- (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
- (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
- (gcse_alloc): Likewise, and rename to cprop_alloc.
- (alloc_gcse_men, free_gcse_mem): Remove.
- (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
- (compute_hash_table_work): Allocate and free reg_set_bitmap here.
- (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
-
- * cprop.c (oprs_not_set_p): Remove.
- (mark_set, mark_clobber): Remove.
- (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
- (reg_not_set_p): New function.
- (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
- (cprop_insn): Likewise.
- (cprop_jump): Use FOR_EACH_EDGE.
-
-2011-04-04 Bernd Schmidt <bernds@codesourcery.com>
-
- PR bootstrap/48403
- * haifa-sched.c (nonscheduled_insns_begin): New static variable.
- (rank_for_schedule): Use scheduled_insns vector instead of
- last_scheduled_insn.
- (ok_for_early_queue_removal): Likewise.
- (queue_to_ready): Search forward in nonscheduled_insns_begin if
- we have a dbg_cnt.
- (choose_ready): Likewise.
- (commit_schedule): Use VEC_iterate.
- (schedule_block): Initialize nonscheduled_insns_begin. If we have
- a dbg_cnt, use it and ensure the first insn is in the ready list.
- (haifa_sched_init): Allocate scheduled_insns.
- (sched_extend_ready_list): Don't allocate it; reserve space.
- (haifa_sched_finish): Free it.
-
-2011-04-04 Joseph Myers <joseph@codesourcery.com>
-
- * optc-gen.awk: Always remove type from Variable entry before
- recording in var_seen.
-
-2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
- * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
- call to tidy_fallthru_edges.
-
-2011-04-04 Joseph Myers <joseph@codesourcery.com>
-
- * doc/options.texi (ToLower): Document.
- * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
- * opts-common.c (decode_cmdline_option): Handle cl_tolower.
- * opts.h (cl_option): Add cl_tolower field.
- * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
- arguments with lowercase strings.
- * config/rx/rx.opt (mcpu=): Add ToLower.
- * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
- argument.
-
-2011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
-
-2011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/vax/vax.c: Include reload.h.
-
-2011-04-04 Anatoly Sokolov <aesok@post.ru>
-
- * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
- * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
- (sparc_preferred_reload_class): New function.
-
-2011-04-04 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48401
- * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
- Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
-
-2011-04-03 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
- * tree.c (initialize_tree_contains_struct): Adjust accordingly.
-
-2011-04-03 Anatoly Sokolov <aesok@post.ru>
-
- * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
- (ASM_OUTPUT_ALIGNED_BSS): Define.
-
-2011-04-03 Michael Matz <matz@suse.de>
-
- * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
- and next_slot members.
- (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
- lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
- (lto_streamer_cache_append): Declare.
- * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
- unsigned index, remove offset parameter, ensure that we append
- or update existing entries.
- (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
- parameter, update next_slot for append.
- (lto_streamer_cache_insert): Use unsigned index, remove offset_p
- parameter.
- (lto_streamer_cache_insert_at): Likewise.
- (lto_streamer_cache_append): New function.
- (lto_streamer_cache_lookup): Use unsigned index.
- (lto_streamer_cache_get): Likewise.
- (lto_record_common_node): Don't test tree_node_can_be_shared.
- (preload_common_node): Adjust call to lto_streamer_cache_insert.
- (lto_streamer_cache_delete): Don't free offsets member.
- * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
- (lto_output_string_with_length): Use lto_output_data_stream.
- (lto_output_tree_header): Remove ix parameter, don't write it.
- (lto_output_builtin_tree): Likewise.
- (lto_write_tree): Adjust callers to above, don't track and write
- offset, write unsigned index.
- (output_unreferenced_globals): Don't emit all global vars.
- (write_global_references): Use unsigned indices.
- (lto_output_decl_state_refs): Likewise.
- (write_symbol): Likewise.
- * lto-streamer-in.c (lto_input_chain): Move earlier.
- (input_function): Use unsigned index.
- (input_alias_pairs): Don't read and then ignore all global vars.
- (lto_materialize_tree): Remove ix_p parameter, don't read index,
- don't pass it back, use lto_streamer_cache_append.
- (lto_register_var_decl_in_symtab): Use unsigned index.
- (lto_register_function_decl_in_symtab): Likewise.
- (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
- index.
- (lto_get_builtin_tree): Don't read index, use
- lto_streamer_cache_append.
- (lto_read_tree): Adjust call to lto_materialize_tree.
-
- * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
- don't use function calls in arguments to MIN.
-
- * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
- twice.
-
- * gimple.c (gimple_type_leader_entry): Mark deletable.
-
-2011-04-03 Alan Modra <amodra@gmail.com>
-
- * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
-
-2011-04-03 Michael Matz <matz@suse.de>
-
- * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
- an integer.
- * tree.h (tree_decl_non_common.vindex): Adjust comment.
-
-2011-04-03 Michael Matz <matz@suse.de>
-
- * cgraphbuild.c (record_reference): Canonicalize constructor values.
- * gimple-fold.c (canonicalize_constructor_val): Accept being called
- without function context.
- * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
- current_function_decl and cfun.
-
-2011-04-03 Michael Matz <matz@suse.de>
-
- * tree.c (decl_init_priority_insert): Don't create entry for
- default priority.
- (decl_fini_priority_insert): Ditto.
- (fields_compatible_p, find_compatible_field): Remove.
- * tree.h (fields_compatible_p, find_compatible_field): Remove.
- * gimple.c (gimple_compare_field_offset): Adjust block comment.
-
-2011-04-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * combine.c (try_combine): Remove useless local variable.
-
-2011-04-03 Richard Guenther <rguenther@suse.de>
- Ira Rosen <ira.rosen@linaro.org>
-
- * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
- non-variable offsets and compare the remaining bases of the two
- accesses instead of looking for exact same data-ref.
-
-2011-04-02 Kai Tietz <ktietz@redhat.com>
-
- PR target/48416
- * i386.c (ix86_function_arg_boundary): Fix printf formatter.
-
- * i386.c (ix86_is_msabi_thiscall): New helper function.
- (ix86_is_type_thiscall): New helper function.
- (ix86_comp_type_attributes): Handle thiscall for method-functions
- special.
- (init_cumulative_args): Likewise.
- (find_drap_reg): Likewise.
- (ix86_static_chain): Likewise.
- (x86_this_parameter): Likewise.
- (x86_output_mi_thunk): Likewise.
-
-2011-04-01 Olivier Hainque <hainque@adacore.com>
- Nicolas Setton <setton@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
- (add_gnat_descriptive_type_attribute): New function.
- (gen_array_type_die): Call it.
- (gen_enumeration_type_die): Likewise.
- (gen_struct_or_union_type_die): Likewise.
- (modified_type_die): Likewise.
- * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
- * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
- (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
-
-2011-04-01 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/48148
- * dwarf2out.c (resolve_addr): Don't call force_decl_die
- if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
-
- Revert:
- 2011-03-17 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/48148
- * lto-cgraph.c (input_overwrite_node): Clear the abstract
- origin for decls in other ltrans units.
- (input_varpool_node): Likewise.
-
-2011-04-01 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48335
- * expr.c (expand_assignment): Handle all possibilities
- if TO_RTX is CONCAT.
- * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
- (store_split_bit_field): If SUBREG_REG (op0) or
- op0 itself has smaller mode than word, return it
- for offset 0 and const0_rtx for out-of-bounds stores.
- If word is const0_rtx, skip it.
-
-2011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
-
- * config/h8300/h8300.c (print_operand_address): Rename to...
- (h8300_print_operand_address): ...this. Make static. Adjust comments.
- Call h8300_print_operand and h8300_print_operand_address instead of
- print_operand and print_operand_address. Declare.
- (print_operand): Renake to...
- (h8300_print_operand): ...this. Make static. Adjust comments.
- Call h8300_print_operand instead of print_operand. Declare.
- (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
- (h8300_register_move_cost): Likewise.
- (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
- TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
- * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
- PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
- * config/h8300/h8300-protos.h (print_operand): Delete.
- (print_operand_address): Delete.
-
-2011-04-01 Richard Henderson <rth@redhat.com>
-
- PR 48400
- * dwarf2out.c (dwarf2out_source_line): Disable discriminators
- in strict mode before dwarf4. Re-order tests to early out
- before switching sections.
-
-2011-04-01 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/h8300/constraints.md: New file.
- * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
- satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
- (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
- * config/h8300/predicates.md (bit_operand): Likewise.
- (incdec_operand): Use satisfies_constraint_M and
- satisfies_constraint_O. Don't use C code block.
- * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
- * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
- (compute_mov_length): Use satisfies_constraint_G.
- (fix_bit_operand): Use satisfies_constraint_U.
- * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
- (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
- (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
- (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
- (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
- (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
- (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
- (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
- (EXTRA_MEMORY_CONSTRAINT): Delete.
-
-2011-04-01 Andrew Pinski <pinskia@gmail.com>
- Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48262
- * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
- operands, as per the specifications.
-
- * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
- (vec_extract_evenv4sf): Ditto.
- (vec_extract_evenv8hi): Ditto.
- (vec_extract_evenv16qi): Ditto.
- (vec_extract_oddv4si): Ditto.
-
-2011-03-31 Mark Wielaard <mjw@redhat.com>
-
- * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
- high_pc attribute if the CU has no associated code. Only output
- DW_AT_entry_pc for CU if not generating strict dwarf and
- dwarf_version < 4.
-
-2011-04-01 Bernd Schmidt <bernds@codesourcery.com>
-
- * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
- * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
- out of ...
- (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
- * final.c (final_start_function): Call the new function rather
- than using a NULL argument for dwarf2out_frame_debug.
-
- * ifcvt.c (cond_exec_process_insns): Disallow converting a block
- that contains the prologue.
-
- * haifa-sched.c (queue_insn): New arg REASON. All callers
- changed. Print it in debugging output.
-
- * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
-
- * sched-ebb.c (begin_schedule_ready): Remove second argument.
- Split most of the code into...
- (begin_move_insn): ... here. New function.
- (ebb_sched_info): Add a pointer to it.
- * haifa-sched.c (scheduled_insns): New static variable.
- (sched_extend_ready_list): Allocate it.
- (schedule_block): Use it to record the order of scheduled insns.
- Perform RTL changes to move insns only after all scheduling
- decisions have been made.
- * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
- begin_move_insn field.
- * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
- * sched-int.h (struct haifa_sched_info): Remove second argument
- from begin_schedule_ready hook. Add new member begin_move_insn.
- * sched-rgn.c (begin_schedule_ready): Remove second argument.
- (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
-
- * haifa-sched.c (prune_ready_list): New function, broken out of
- schedule_block.
- (schedule_block): Use it.
-
-2011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
-
-2011-04-01 Kai Tietz <ktietz@redhat.com>
-
- * config.gcc (*-*-mingw*): Allow as option the
- posix threading model.
- * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
- New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
- definition.
- (CPP_SPEC): Add pthread/no-pthread handling.
- (LIB_SPEC): Likewise.
- * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
- (LIB_SPEC): Likewise.
- * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
- flag to pass -pthread option for shared libgcc build.
- (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
- for shared libgcc build.
- * config/i386/t-mingw-pthread: New file.
- * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
- New define to enable use of library pthread by default.
- * config/i386/mingw.opt (pthread): New driver option.
- (no-pthread): New driver option.
- * config/i386/cygming.opt: Make sure trailing empty line is retained.
- * config/i386/mingw-w64.opt: Likewise.
-
-2011-04-01 Gary Funck <gary@intrepid.com>
-
- * c-decl.c (grokdeclarator): Fix formatting.
-
-2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
-
- * expr.c (emit_block_move_via_movmem): Use n_generator_args
- instead of n_operands.
- (set_storage_via_setmem): Likewise.
- * optabs.c (maybe_gen_insn): Likewise.
- * config/arm/arm.c (arm_init_neon_builtins): Likewise.
- * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
- (mips_expand_builtin_direct): Likewise.
- * config/spu/spu.c (expand_builtin_args): Likewise.
-
-2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
-
- * recog.h (insn_data_d): Add n_generator_args.
- * genoutput.c (data): Likewise.
- (output_insn_data): Print it.
- (max_opno, num_dups): Delete.
- (scan_operands): Just fill in "d->operand[...]".
- (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
-
-2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gensupport.h (pattern_stats): New structure.
- * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
- * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
- (max_operand_1, max_operand_vec): Delete.
- (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
-
-2011-03-31 Nathan Froyd <froydnj@codesourcery.com>
-
- * emit-rtl.c (emit_pattern_after_setloc): New function.
- (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
- (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
- (emit_pattern_after): New function.
- (emit_insn_after, emit_jump_insn_after): Call it.
- (emit_call_insn_after, emit_debug_insn_after): Likewise.
- (emit_pattern_before_setloc): New function.
- (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
- (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
- Likewise.
- (emit_pattern_before): New function.
- (emit_insn_before, emit_jump_insn_before): Call it.
- (emit_call_insn_before, emit_debug_insn_before): Likewise.
-
-2011-03-31 Richard Henderson <rth@redhat.com>
-
- * dwarf2out.c (dw_separate_line_info_ref): Remove.
- (dw_separate_line_info_entry): Remove.
- (enum dw_line_info_opcode): New.
- (dw_line_info_entry): Use it.
- (dw_line_info_table, dw_line_info_table_p): New.
- (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
- (line_info_table, line_info_label_num): Remove.
- (line_info_table_in_use): Remove.
- (separate_line_info_table): Remove.
- (separate_line_info_table_allocated): Remove.
- (separate_line_info_table_in_use): Remove.
- (LINE_INFO_TABLE_INCREMENT): Remove.
- (line_info_label_num): New.
- (cur_line_info_table): New.
- (text_section_line_info, cold_text_section_line_info): New.
- (separate_line_info): New.
- (SEPARATE_LINE_CODE_LABEL): Remove.
- (print_dwarf_line_table): Remove.
- (debug_dwarf): Don't dump it.
- (output_one_line_info_table): New.
- (output_line_info): Use it.
- (new_line_info_table): New.
- (set_cur_line_info_table): New.
- (dwarf2out_switch_text_section): Use it.
- (dwarf2out_begin_function): Likewise.
- (push_dw_line_info_entry): New.
- (dwarf2out_source_line): Rewrite for new line info tables.
- (dwarf2out_init): Remove dead initailizations.
-
-2011-03-31 Joseph Myers <joseph@codesourcery.com>
-
- * opts.h (cl_option): Add comments to fields. Add bit-fields for
- various flags.
- (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
- CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
- CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
- CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
- (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
- * opt-functions.awk (flag_init, switch_bit_fields): New.
- (switch_flags): Don't handle flags moved to bit-fields. Don't
- generate CL_MISSING_OK or CL_SAVE.
- * optc-gen.awk: Update to generate bit-field output as well as
- flags field.
- * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
- bit-field instead of CL_REJECT_DRIVER flag.
- * opts-common.c (generate_canonical_option,
- decode_cmdline_option): Use bit-fields instead of CL_* flags.
- * opts.c (maybe_default_option): Use cl_reject_negative bit-field
- instead of CL_REJECT_NEGATIVE flag.
- * toplev.c (print_switch_values): Use cl_report bit-field instead
- of CL_REPORT flag.
-
-2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
- a zero minimum index only if it is redundant.
-
-2011-03-31 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48381
- * ira-color.c (assign_hard_reg): Use hard reg set intersection
- instead of ira_class_hard_reg_index for calculating conflicting
- hard registers.
-
-2011-03-31 Steven Bosscher <steven@gcc.gnu.org>
-
- * cprop.c: Clean up hash table building.
- (reg_avail_info): Remove.
- (oprs_available_p): Remove.
- (record_last_reg_set_info): Remove.
- (record_last_set_info): Remove.
- (reg_available_p): New function.
- (gcse_constant_p): Do not treat unfolded conditions as constants.
- (make_set_regs_unavailable): New function.
- (hash_scan_set): Simplify with new reg_available_p.
- (compute_hash_table_work): Traverse insns stream only once.
- Do not compute reg_avail_info. Traverse insns in reverse order.
- Record implicit sets after recording explicit sets from the block.
-
-2011-03-31 Michael Matz <matz@suse.de>
-
- * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
-
-2011-03-31 Anatoly Sokolov <aesok@post.ru>
-
- * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
- * config/h8300/h8300-protos.h (h8300_get_index): Remove.
- * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
- (h8300_mode_dependent_address_p): New function.
- (h8300_get_index): Make static.
-
-2011-03-31 Jeff Law <law@redhat.com>
-
- * reload1.c (elimination_effects): Fix typo in recent change.
-
- * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
- typo potentially leading to null pointer dereference.
-
- * caller-save.c (new_saved_hard_reg): Eliminate return value.
- (setup_save_areas): Corresponding changes to avoid useless
- assignments.
-
- * jump.c (reversed_comparison_code_parts): Avoid successive return
- statements when REVERSE_CONDITION is defined.
-
- * expr.c (expand_assignment): Avoid useless assignments.
- (expand_expr_real_1): Likewise.
- (expand_expr_real_2): Avoid useless statements.
-
- * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
-
- * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
-
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
- statements.
-
- * stmt.c (expand_expr_stmt): Avoid useless assignment.
-
-2011-03-31 Joseph Myers <joseph@codesourcery.com>
-
- PR target/47109
- * doc/tm.texi.in (TARGET_VERSION): Remove.
- * doc/tm.texi: Regenerate.
- * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
- * collect2.c (main): Don't use TARGET_VERSION.
- * mips-tdump.c (main): Don't use TARGET_VERSION.
- * mips-tfile.c (main): Don't use TARGET_VERSION.
- * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
- * config/rs6000/vxworksae.h: Remove.
- * config/alpha/alpha.h (TARGET_VERSION): Remove.
- * config/alpha/freebsd.h (TARGET_VERSION): Remove.
- * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
- * config/alpha/netbsd.h (TARGET_VERSION): Remove.
- * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
- * config/arm/arm.h (TARGET_VERSION): Remove.
- * config/arm/coff.h (TARGET_VERSION): Remove.
- * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
- * config/arm/elf.h (TARGET_VERSION): Remove.
- * config/arm/freebsd.h (TARGET_VERSION): Remove.
- * config/arm/linux-elf.h (TARGET_VERSION): Remove.
- * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
- * config/arm/pe.h (TARGET_VERSION): Remove.
- * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
- * config/arm/semi.h (TARGET_VERSION): Remove.
- * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
- * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
- * config/arm/vxworks.h (TARGET_VERSION): Remove.
- * config/avr/avr.h (TARGET_VERSION): Remove.
- * config/bfin/bfin.h (TARGET_VERSION): Remove.
- * config/fr30/fr30.h (TARGET_VERSION): Remove.
- * config/frv/frv.h (TARGET_VERSION): Remove.
- * config/h8300/h8300.h (TARGET_VERSION): Remove.
- * config/i386/cygwin.h (TARGET_VERSION): Remove.
- * config/i386/darwin.h (TARGET_VERSION): Remove.
- * config/i386/darwin64.h (TARGET_VERSION): Remove.
- * config/i386/djgpp.h (TARGET_VERSION): Remove.
- * config/i386/freebsd.h (TARGET_VERSION): Remove.
- * config/i386/freebsd64.h (TARGET_VERSION): Remove.
- * config/i386/gnu.h (TARGET_VERSION): Remove.
- * config/i386/i386-interix.h (TARGET_VERSION): Remove.
- * config/i386/i386elf.h (TARGET_VERSION): Remove.
- * config/i386/linux.h (TARGET_VERSION): Remove.
- * config/i386/linux64.h (TARGET_VERSION): Remove.
- * config/i386/lynx.h (TARGET_VERSION): Remove.
- * config/i386/mingw32.h (TARGET_VERSION): Remove.
- * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
- * config/i386/netbsd64.h (TARGET_VERSION): Remove.
- * config/i386/netware.h (TARGET_VERSION): Remove.
- * config/i386/nto.h (TARGET_VERSION): Remove.
- * config/i386/openbsd.h (TARGET_VERSION): Remove.
- * config/i386/vxworks.h (TARGET_VERSION): Remove.
- * config/ia64/elf.h (TARGET_VERSION): Remove.
- * config/ia64/freebsd.h (TARGET_VERSION): Remove.
- * config/ia64/hpux.h (TARGET_VERSION): Remove.
- * config/ia64/linux.h (TARGET_VERSION): Remove.
- * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
- * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
- TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
- * config/lm32/lm32.h (TARGET_VERSION): Remove.
- * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
- * config/m32c/m32c.h (TARGET_VERSION): Remove.
- * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
- * config/m32r/m32r.h (TARGET_VERSION): Remove.
- * config/m68k/linux.h (TARGET_VERSION): Remove.
- * config/m68k/m68k.h (TARGET_VERSION): Remove.
- * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
- * config/m68k/uclinux.h (TARGET_VERSION): Remove.
- * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
- * config/mep/mep.h (TARGET_VERSION): Remove.
- * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
- MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
- * config/mips/iris6.h (MACHINE_TYPE): Remove.
- * config/mips/linux.h (TARGET_VERSION): Remove.
- * config/mips/netbsd.h (MACHINE_TYPE): Remove.
- * config/mips/vxworks.h (TARGET_VERSION): Remove.
- * config/mmix/mmix.h (TARGET_VERSION): Remove.
- * config/mn10300/linux.h (TARGET_VERSION): Remove.
- * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
- * config/pa/pa.h (TARGET_VERSION): Remove.
- * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
- * config/picochip/picochip.h (TARGET_VERSION): Remove.
- * config/rs6000/aix.h (TARGET_VERSION): Remove.
- * config/rs6000/darwin.h (TARGET_VERSION): Remove.
- * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
- * config/rs6000/eabi.h (TARGET_VERSION): Remove.
- * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
- * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
- * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
- * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
- * config/rs6000/linux.h (TARGET_VERSION): Remove.
- * config/rs6000/linux64.h (TARGET_VERSION): Remove.
- * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
- * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
- * config/rs6000/lynx.h (TARGET_VERSION): Remove.
- * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
- * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
- * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
- * config/s390/linux.h (TARGET_VERSION): Remove.
- * config/s390/s390.h (TARGET_VERSION): Remove.
- * config/s390/tpf.h (TARGET_VERSION): Remove.
- * config/score/score.h (TARGET_VERSION): Remove.
- * config/sh/linux.h (TARGET_VERSION): Remove.
- * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
- TARGET_VERSION_CPU, TARGET_VERSION): Remove.
- * config/sh/sh.h (TARGET_VERSION): Remove.
- * config/sh/sh64.h (TARGET_VERSION): Remove.
- * config/sh/superh.h (TARGET_VERSION): Remove.
- * config/sh/vxworks.h (TARGET_VERSION): Remove.
- * config/sparc/freebsd.h (TARGET_VERSION): Remove.
- * config/sparc/linux.h (TARGET_VERSION): Remove.
- * config/sparc/linux64.h (TARGET_VERSION): Remove.
- * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
- TARGET_NAME32, TARGET_NAME): Remove.
- * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
- * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
- * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
- * config/sparc/sysv4.h (TARGET_VERSION): Remove.
- * config/sparc/vxworks.h (TARGET_VERSION): Remove.
- * config/spu/spu.h (TARGET_VERSION): Remove.
- * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
- * config/v850/v850.h (TARGET_VERSION): Remove.
- * config/vax/linux.h (TARGET_VERSION): Remove.
- * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
- * config/xtensa/elf.h (TARGET_VERSION): Remove.
- * config/xtensa/linux.h (TARGET_VERSION): Remove.
-
-2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/48142
- * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
- frame-related from frame-unrelated adjustments to the stack pointer.
-
-2011-03-31 Jakub Jelinek <jakub@redhat.com>
-
- * common.opt (fdebug-types-section): Move earlier.
- * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
-
-2011-03-31 Andreas Tobler <andreast@fgznet.ch>
-
- * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
- var.
-
-2011-03-30 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.h (CASE_CHAIN): Define.
- * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
- (gimple_redirect_edge_and_branch): Likewise.
-
-2011-03-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/48367
- * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
- calculation.
-
-2011-03-30 Jeff Law <law@redhat.com>
-
- * PR bootstrap/48371
- * reload1.c (reload): Fix botch in last change.
-
- * reload.h (struct reload): Fix typo introduced in last change.
-
-2011-03-30 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/arm.opt (mhard-float, msoft-float): Mark
- Undocumented. Remove help text.
- * doc/invoke.texi (ARM Options): Don't document -msoft-float and
- -mhard-float.
-
-2011-03-30 Joseph Myers <joseph@codesourcery.com>
-
- * doc/options.texi (NegativeAlias): Document.
- (Alias): Mention NegativeAlias.
- * opt-functions.awk: Handle NegativeAlias.
- * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
- * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
- * opts.h (CL_NEGATIVE_ALIAS): Define.
- * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
- (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
- OPT_mspe_.
- * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
- Alias entries.
- * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
- mno-spe and mno-isel instead of mspe=no and -misel=no.
-
-2011-03-29 Mark Wielaard <mjw@redhat.com>
-
- * common.opt (fdebug-types-section): New flag.
- * doc/invoke.texi: Document new -fno-debug-types-section flag.
- * dwarf2out.c (use_debug_types): New define.
- (struct die_struct): Mark die_id with GTY desc use_debug_types.
- (print_die): Guard output of type unit signatures using
- use_debug_types.
- (build_abbrev_table): Replace assert of dwarf_version >= 4
- with assert on use_debug_types.
- (size_of_die): Likewise.
- (unmark_dies): Likewise.
- (value_format): Decide AT_ref_external form on use_debug_types.
- (output_die): Replace dwarf_version version check guard with
- use_debug_types where appropriate.
- (modified_type_die): Likewise.
- (gen_reference_type_die): Likewise.
- (dwarf2out_start_source_file): Likewise.
- (dwarf2out_end_source_file): Likewise.
- (prune_unused_types_walk_attribs): Likewise.
- (dwarf2out_finish): Likewise.
-
-2011-03-30 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
-
-2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/48332
- * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
- mode of input operand N and modeN to its actual mode.
-
-2011-03-30 Jeff Law <law@redhat.com>
-
- * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
- define accessor macro.
- (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
- (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
- (reg_equiv_init): Likewise.
- (reg_equivs_size): New variable.
- (reg_equiv_init_size): Remove.
- (allocate_initial_values): Move prototype to here from....
- * integrate.h (allocate_initial_values): Remove prototype.
- * integrate.c: Include reload.h.
- (allocate_initial_values): Corresponding changes.
- * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
- (fix_reg_equiv_init, no_equiv): Corresponding changes.
- (update_equiv_regs): Corresponding changes.
- (ira): Corresponding changes.
- * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
- (push_secondary_reload): Corresponding changes.
- (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
- (make_memloc, find_reloads_address): Corresponding changes.
- (subst_reg_equivs, subst_indexed_address): Corresponding changes.
- (find_reloads_address_1): Corresponding changes.
- (find_reloads_subreg_address, subst_reloads): Corresponding changes.
- (refers_to_regno_for_reload_p): Corresponding changes.
- (reg_overlap_mentioned_for_reload_p): Corresponding changes.
- (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
- * reload1.c: Include ggc.h.
- (grow_reg_equivs): New function.
- (replace_pseudos_in, reload): Corresponding changes.
- (calculate_needs_all_insns, alter_regs): Corresponding changes.
- (eliminate_regs_1, elimination_effects): Corresponding changes.
- (emit_input_reload_insns, emit_output_reload_insns): Likewise.
- (delete_output_reload): Likewise.
- * caller-save.c (mark_referenced_regs): Corresponding changes.
- * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
- * frv/predicates.md (frv_load_operand): Corresponding changes.
- * microblaze/microblaze.c (double_memory_operand): Corresponding
- changes.
- * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
- * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
- * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
- * m68k/m68k.c (emit_move_sequence): Corresponding changes.
- * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
- changes.
- * pa/pa.c (emit_move_sequence): Corresponding changes.
- * vax/vax.c (nonindexed_address_p): Corresponding changes.
-
-2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/47551
- * config/arm/arm.c (coproc_secondary_reload_class): Handle
- structure modes. Don't check neon_vector_mem_operand for
- vector or structure modes.
-
-2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/43590
- * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
- operand 1 and reshuffle the operands to match.
- (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
-
-2011-03-30 Christian Schüler <cschueler@gmx.de>
-
- PR driver/48208
- * config/c.opt (F): Added 'Driver' to -F option.
-
- PR driver/48260
- * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
- handler function.
- * config/darwin.opt: Added '-arch' option.
-
-2011-03-30 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md: Add peepholes and patterns to combine
- extending loads and simple arithmetic instructions.
- * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
- * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
- * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
- modes to use pre-decrement and post-increment addressing.
- (rx_is_restricted_memory_address): Add range checking of REG+INT
- addresses.
- (rx_print_operand): Add support for %Q. Fix handling of %Q.
- (rx_memory_move_cost): Adjust cost of stores.
- (rx_adjust_insn_length): New function.
-
-2011-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48305
- * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
- arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
- matching arg00/arg01 types.
-
-2011-03-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfglayout.c (insn_locators_alloc): Initialize curr_location and
- last_location to UNKNOWN_LOCATION.
-
-2011-03-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/48349
- * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
- FLOAT_SSE_REGS.
-
-2011-03-30 Joseph Myers <joseph@codesourcery.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/48337
- * config/sparc/sparc.opt (sparc_cpu_and_features): Add
- Init(PROCESSOR_V7).
- (sparc_cpu): Likewise.
- * config/sparc/sparc.c (sparc_option_override): Replace 0 by
- PROCESSOR_V7.
-
-2011-03-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/48336
- PR middle-end/48342
- PR rtl-optimization/48345
- * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
- hard regs for given mode from profitable regs when doing secondary
- allocation.
-
-2011-03-29 Jeff Law <law@redhat.com>
-
- PR bootstrap/48327
- * tree-ssa-threadupdate.c (struct redirection_data): Remove
- do_not_duplicate field.
- (lookup_redirection_data): Corresponding changes.
- (create_duplicates): Always create a template block.
- (redirect_edges): Remove code which reused the original block
- when it was going to become unreachable code.
- (thread_block): Don't set do_not_duplicate field.
-
-2011-03-29 Joseph Myers <joseph@codesourcery.com>
-
- * lto-opts.c (register_user_option_p, lto_register_user_option):
- Make type argument unsigned.
- * lto-streamer.h (lto_register_user_option): Make type argument
- unsigned.
- * opth-gen.awk: Make CL_* macros unsigned.
- * opts-common.c (find_opt): Make lang_mask argument unsigned.
- * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
- CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
- CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
- CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
- CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
- (find_opt): Make lang_mask argument unsigned.
-
-2011-03-29 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48331
- PR rtl-optimization/48334
- * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
- for any used algorithm.
-
-2011-03-29 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-conflicts.c (build_object_conflicts): Add unused attribute
- to parent_max.
-
-2011-03-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
- (alpha_option_override): Don't set alpha_sr_alias_set.
- (emit_frame_store_1): Use gen_frame_mem rather than calling
- set_mem_alias_set.
- (alpha_expand_epilogue): Ditto.
-
-2011-03-29 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/48290
- * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
- vectorization, check that relevant phis in the basic block after
- the inner loop are really inner loop's exit phis.
-
-2011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR debug/48190
- * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
- (cached_dw_loc_list_def): New structure.
- (cached_dw_loc_list): New typedef.
- (cached_dw_loc_list_table): New variable.
- (cached_dw_loc_list_table_hash): New function.
- (cached_dw_loc_list_table_eq): Likewise.
- (add_location_or_const_value_attribute): Take a bool cache_p.
- Cache the list when the parameter is true.
- (gen_formal_parameter_die): Update caller.
- (gen_variable_die): Likewise.
- (dwarf2out_finish): Likewise.
- (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
- while generating debug info for the decl.
- (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
- (dwarf2out_init): Initialize cached_dw_loc_list_table.
- (resolve_addr): Cache the result of resolving a chain of
- location lists.
-
-2011-03-28 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-color.c (update_left_conflict_sizes_p): Don't assume that
- conflict object hard regset nodes have intersecting hard reg sets.
-
- * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
- after regstat_init_n_sets_and_refs.
-
- * ira.c: Add more comments at the top.
- (setup_stack_reg_pressure_class, setup_pressure_classes):
- Add comments how we compute the register pressure classes.
- (setup_allocno_and_important_classes): Add more comments.
- (setup_class_translate_array, reorder_important_classes)
- (setup_reg_class_relations): Add comments.
-
- * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
- start of the file.
-
- * ira-color.c: Add 2011 to the Copyright line.
- (assign_hard_reg): Add more comments.
- (improve_allocation): Ditto.
-
- * ira-costs.c: Add 2011 to the Copyright line.
- (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
- comments.
- (setup_regno_cost_classes_by_mode): Ditto.
-
- Initial patches from ira-improv branch:
-
- 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-build.c (ira_create_object): Remove initialization of
- OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
- (ira_create_allocno): Remove initialization of
- ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
- ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
- ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
- ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
- ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
- Initialize ALLOCNO_ADD_DATA.
- (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
- and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
- ALLOCNO_REG.
- (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
- ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
-
- * ira.c (ira_reallocate): Remove.
- (setup_pressure_classes): Call
- ira_init_register_move_cost_if_necessary. Use
- ira_register_move_cost instead of ira_get_register_move_cost.
- (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
- (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
-
- * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
- ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
- ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
- ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
- instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
- OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
- Fix formatting.
- (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
- (struct object_hard_regs, struct object_hard_regs_node): Ditto.
- (struct allocno_color_data): New.
- (allocno_color_data_t): New typedef.
- (allocno_color_data): New definition.
- (ALLOCNO_COLOR_DATA): New macro.
- (struct object_color_data): New.
- (object_color_data_t): New typedef.
- (object_color_data): New definition.
- (OBJECT_COLOR_DATA): New macro.
- (update_copy_costs, calculate_allocno_spill_cost): Call
- ira_init_register_move_cost_if_necessary. Use
- ira_register_move_cost instead of ira_get_register_move_cost.
- (move_spill_restore, update_curr_costs): Ditto.
- (allocno_spill_priority): Make it inline.
- (color_pass): Allocate and free allocno_color_dat and object_color_data.
- (struct coalesce_data, coalesce_data_t): New.
- (allocno_coalesce_data): New definition.
- (ALLOCNO_COALESCE_DATA): New macro.
- (merge_allocnos, coalesced_allocno_conflict_p): Use
- ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
- ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
- (coalesce_allocnos): Ditto.
- (setup_coalesced_allocno_costs_and_nums): Ditto.
- (collect_spilled_coalesced_allocnos): Ditto.
- (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
- (setup_slot_coalesced_allocno_live_ranges): Ditto.
- (coalesce_spill_slots): Ditto.
- (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
- free allocno_coalesce_data.
-
- * ira-conflicts.c: Fix formatting.
- (process_regs_for_copy): Call
- ira_init_register_move_cost_if_necessary. Use
- ira_register_move_cost instead of ira_get_register_move_cost.
- (build_object_conflicts): Optimize.
-
- * ira-costs.c (record_reg_classes): Optimize. Call
- ira_init_register_move_cost_if_necessary. Use
- ira_register_move_cost, ira_may_move_in_cost, and
- ira_may_move_out_cost instead of ira_get_register_move_cost and
- ira_get_may_move_cost.
- (record_address_regs): Ditto.
- (scan_one_insn): Optimize.
- (find_costs_and_classes): Optimize.
- (process_bb_node_for_hard_reg_moves): Call
- ira_init_register_move_cost_if_necessary. Use
- ira_register_move_cost instead of ira_get_register_move_cost.
-
- * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
- ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
- ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
- (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
- definitions.
- (ira_initiate_emit_data, ira_finish_emit_data)
- (create_new_allocno): New functions.
- (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
- (emit_move_list): Call ira_init_register_move_cost_if_necessary.
- Use ira_register_move_cost instead of ira_get_register_move_cost.
-
- * ira-int.h: Fix some comments.
- (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
- (struct object_hard_regs, struct object_hard_regs_node): Ditto.
- (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
- hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
- add_data.
- (struct ira_allocno): Make mode and aclass a bitfield. Move other
- bitfield after mode. Make hard_regno a short int. Make
- hard_regno short. Remove first_coalesced_allocno and
- next_coalesced_allocno. Move mem_optimized_dest_p,
- somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
- into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
- available_regs_num, next_bucket_allocno, prev_bucket_allocno,
- temp, colorable_p. Add new member add_data.
- (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
- (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
- (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
- (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
- (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
- (ALLOCNO_ADD_DATA): New macro.
- (ira_emit_data_t): New typedef.
- (struct ira_emit_data): New. Move mem_optimized_dest_p,
- somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
- from struct ira_allocno.
- (ALLOCNO_EMIT_DATA): New macro.
- (ira_allocno_emit_data, allocno_emit_reg): New.
- (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
- (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
- (OBJECT_ADD_DATA): New macro.
- (ira_reallocate): Remove.
- (ira_initiate_emit_data, ira_finish_emit_data): New.
- (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
- (ira_init_register_move_cost_if_necessary): New.
- (ira_object_conflict_iter_next): Merge into
- ira_object_conflict_iter_cond.
- (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
-
- * ira-live.c (process_single_reg_class_operands): Call
- ira_init_register_move_cost_if_necessary. Use
- ira_register_move_cost instead of ira_get_register_move_cost.
-
- 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-int.h (struct target_ira_int): Remove x_cost_classes.
-
- * ira-costs.c: Fix formatting.
- (cost_classes, cost_classes_num): Remove.
- (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
- (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
- (cost_classes_del, cost_classes_htab): New.
- (cost_classes_aclass_cache, cost_classes_mode_cache): New.
- (initiate_regno_cost_classes, setup_cost_classes): New.
- (setup_regno_cost_classes_by_aclass): New.
- (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
- (record_reg_classes): Use regno_cost_classes instead of
- cost_classes. Move checking opposite operand up.
- (record_address_regs): Use regno_cost_classes
- instead of cost_classes.
- (scan_one_insn): Ditto. Use always general register.
- (print_allocno_costs): Use regno_cost_classes instead of
- cost_classes.
- (print_pseudo_costs): Ditto. Use Reg_N_REFS.
- (find_costs_and_classes): Set up cost classes for each registers.
- Use also their mode for this. Use regno_cost_classes instead of
- cost_classes.
- (setup_allocno_class_and_costs): Use regno_cost_classes instead of
- cost_classes.
- (free_ira_costs, ira_init_costs): Don't use cost_classes.
- (ira_costs, ira_set_pseudo_classes): Call
- initiate_regno_cost_classes and finish_regno_cost_classes.
-
- 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
-
- * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
-
- * target.def (ira_cover_classes): Remove.
-
- * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
-
- * doc/tm.texi.in: Ditto.
-
- * ira-conflicts.c: Remove mentioning cover classes from the file.
- Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
- ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
-
- * targhooks.c (default_ira_cover_classes): Remove.
-
- * targhooks.h (default_ira_cover_classes): Ditto.
-
- * haifa-sched.c: Remove mentioning cover classes from the file.
- Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
- ira_pressure_classes and ira_pressure_classes_num instead of
- ira_reg_class_cover_size and ira_reg_class_cover. Use
- sched_regno_pressure_class instead of sched_regno_cover_class.
- (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
- ira_reg_class_max_nregs instead of ira_reg_class_nregs.
-
- * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
- classes from the file.
- (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
- (struct object_hard_regs, struct object_hard_regs_node): New.
- (struct ira_object): New members profitable_hard_regs,
- hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
- (struct ira_allocno): Rename cover_class to aclass. Rename
- cover_class_cost and updated_cover_class_cost to class_cost and
- updated_class_cost. Remove splay_removed_p and
- left_conflict_size. Add new members colorable_p.
- (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
- (ALLOCNO_COLORABLE_P): New macro.
- (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
- (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
- Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
- (OBJECT_...): Rename parameter C to O.
- (OBJECT_PROFITABLE_HARD_REGS): New macro.
- (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
- (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
- (struct target_ira_int): New members x_ira_max_memory_move_cost,
- x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
- x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
- x_ira_reg_pressure_class_p, x_ira_important_class_nums,
- x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
- x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
- x_ira_reg_class_subunion.
- (ira_max_memory_move_cost, ira_max_register_move_cost)
- (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
- (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
- (ira_important_class_nums, ira_reg_class_superunion): New macros.
- (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
- (ira_reg_class_union): Rename to ira_reg_class_subunion.
- (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
- (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
- (ira_tune_allocno_costs_and_cover_classes): Rename to
- ira_tune_allocno_costs.
- (ira_debug_hard_regs_forest): New.
- (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
- (ira_object_conflict_iter_next): Fix comments.
- (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
- (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
- cover_class to aclass.
- (ira_allocate_and_accumulate_costs): Ditto.
- (ira_allocate_and_set_or_copy_costs): Ditto.
-
- * opts.c (decode_options): Remove ira_cover_class check.
-
- * ira-color.c: Remove mentioning cover classes from the file. Use
- ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
- instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
- ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
- (splay-tree.h): Remove include.
- (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
- before copy_freq_compare_func.
- (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
- (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
- New definitions.
- (hard_regs_roots, hard_regs_node_vec): Ditto.
- (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
- (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
- (finish_object_hard_regs, object_hard_regs_compare): Ditto.
- (create_new_object_hard_regs_node): Ditto.
- (add_new_object_hard_regs_node_to_forest): Ditto.
- (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
- (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
- Ditto.
- (print_hard_reg_set, print_hard_regs_subforest): Ditto.
- (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
- (remove_unused_object_hard_regs_nodes): Ditto.
- (enumerate_object_hard_regs_nodes): Ditto.
- (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
- (object_hard_regs_subnode_t): Ditto.
- (struct object_hard_regs_subnode): Ditto.
- (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
- (setup_object_hard_regs_subnode_index): Ditto.
- (get_object_hard_regs_subnodes_num): Ditto.
- (form_object_hard_regs_nodes_forest): Ditto.
- (finish_object_hard_regs_nodes_tree): Ditto.
- (finish_object_hard_regs_nodes_forest): Ditto.
- (allocnos_have_intersected_live_ranges_p): Rename to
- allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
- (pseudos_have_intersected_live_ranges_p): Rename to
- conflict_by_live_ranges_p. Move before copy_freq_compare_func.
- (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
- (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
- (update_copy_costs): Remove assert. Skip cost update if the hard
- reg does not belong the class.
- (assign_hard_reg): Process only profitable hard regs.
- (uncolorable_allocnos_num): Make it scalar.
- (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
- and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
- and ira_reg_class_max_nregs.
- (bucket_allocno_compare_func): Check frequency first.
- (sort_bucket): Add compare function as a parameter.
- (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
- (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
- (push_allocno_to_stack): Rewrite for checking new allocno
- colorability.
- (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
- (push_only_colorable): Pass new parameter to sort_bucket.
- (push_allocno_to_spill): Remove.
- (allocno_spill_priority_compare): Make it inline and rewrite.
- (splay_tree_allocate, splay_tree_free): Remove.
- (allocno_spill_sort_compare): New function.
- (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
- build and use splay tree. Choose first allocno in uncolorable
- allocno bucket to spill. Remove setting spill cost.
- (all_conflicting_hard_regs): Remove.
- (setup_allocno_available_regs_num): Check only profitable hard
- regs. Print info about hard regs nodes.
- (setup_allocno_left_conflicts_size): Remove.
- (put_allocno_into_bucket): Don't call
- setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
- (improve_allocation): New.
- (color_allocnos): Call setup_profitable_hard_regs,
- form_object_hard_regs_nodes_forest, improve_allocation,
- finish_object_hard_regs_nodes_forest. Setup spill cost.
- (print_loop_title): Use pressure classes.
- (color_allocnso): Ditto.
- (do_coloring): Remove allocation and freeing splay_tree_node_pool
- and allocnos_for_spilling.
- (ira_sort_regnos_for_alter_reg): Don't setup members
- {first,next}_coalesced_allocno.
- (color): Remove allocating and freeing removed_splay_allocno_vec.
- (fast_allocation): Use ira_prohibited_class_mode_regs instead of
- prohibited_class_mode_regs.
-
- * ira-lives.c: Remove mentioning cover classes from the file. Fix
- formatting.
- (update_allocno_pressure_excess_length): Use pressure classes.
- (inc_register_pressure, dec_register_pressure): Check for pressure
- class.
- (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
- pressure class. Use ira_reg_class_nregs instead of
- ira_reg_class_max_nregs.
- (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
- (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
- (single_reg_class): Use ira_reg_class_nregs instead of
- ira_reg_class_max_nregs.
- (process_bb_node_lives): Use pressure classes.
-
- * ira-emit.c: Remove mentioning cover classes from the file. Use
- ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
- (change_loop): Use pressure classes.
- (modify_move_list): Call ira_set_allocno_class instead of
- ira_set_allocno_cover_class.
-
- * ira-build.c: Remove mentioning cover classes from the file. Use
- ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
- ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
- ALLOCNO_UPDATED_CLASS_COST instead of
- ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
- (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
- (ira_create_allocno): Remove initialization of
- ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
- ALLOCNO_COLORABLE_P.
- (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
- Update conflict regs for the objects.
- (create_cap_allocno): Remove assert. Don't propagate
- ALLOCNO_AVAILABLE_REGS_NUM.
- (ira_free_allocno_costs): New function.
- (finish_allocno): Change a part of code into call of
- ira_free_allocno_costs.
- (low_pressure_loop_node_p): Use pressure classes.
- (object_range_compare_func): Don't compare classes.
- (setup_min_max_conflict_allocno_ids): Ditto.
-
- * loop-invariant.c: Remove mentioning cover classes from the file.
- Use ira_pressure_classes and ira_pressure_classes_num instead of
- ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
- (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
- Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
- Use reg_allocno_class instead of reg_cover_class.
- (get_inv_cost): Use instead ira_stack_reg_pressure_class of
- STACK_REG_COVER_CLASS.
- (get_regno_cover_class): Rename to get_regno_pressure_class.
- (move_loop_invariants): Initialize and finalize regstat.
-
- * ira.c: Remove mentioning cover classes from the file. Add
- comments about coloring without cover classes. Use ALLOCNO_CLASS
- instead of ALLOCNO_COVER_CLASS. Fix formatting.
- (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
- setup_class_subset_and_memory_move_costs.
- (setup_stack_reg_pressure_class, setup_pressure_classes): New.
- (setup_cover_and_important_classes): Rename to
- setup_allocno_and_important_classes.
- (setup_class_translate_array): New.
- (setup_class_translate): Call it for allocno and pressure classes.
- (cover_class_order): Rename to allocno_class_order.
- (comp_reg_classes_func): Use ira_allocno_class_translate instead
- of ira_class_translate.
- (reorder_important_classes): Set up ira_important_class_nums.
- (setup_reg_class_relations): Set up ira_reg_class_superunion.
- (print_class_cover): Rename to print_classes. Add parameter.
- (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
- Print pressure classes too.
- (find_reg_class_closure): Rename to find_reg_classes. Don't call
- setup_reg_subclasses.
- (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
- (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
- (setup_prohibited_class_mode_regs): Use
- ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
- (clarify_prohibited_class_mode_regs): New function.
- (ira_init_register_move_cost): Set up ira_max_register_move_cost,
- ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
- (ira_init_once): Initialize them.
- (free_register_move_costs): Process them.
- (ira_init): Move calls of find_reg_classes and
- setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
- Call clarify_prohibited_class_mode_regs.
- (ira_no_alloc_reg): Remove.
- (too_high_register_pressure_p): Use pressure classes.
-
- * sched-deps.c: Remove mentioning cover classes from the file.
- Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
- ira_pressure_classes and ira_pressure_classes_num instead of
- ira_reg_class_cover_size and ira_reg_class_cover.
- (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
- sched_regno_pressure_class instead of sched_regno_cover_class.
- (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
- ira_reg_class_max_nregs instead of ira_reg_class_nregs.
-
- * ira.h: Add 2010 to Copyright.
- (ira_no_alloc_reg): Remove external.
- (struct target_ira): Rename x_ira_hard_regno_cover_class,
- x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
- x_ira_class_translate to x_ira_hard_regno_allocno_class,
- x_ira_allocno_classes_num, x_ira_allocno_classes, and
- x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
- x_ira_pressure_classes, x_ira_pressure_class_translate, and
- x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
- x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
- x_ira_no_alloc_regs.
- (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
- (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
- ira_allocno_classes_num and ira_allocno_classes.
- (ira_class_translate): Rename to ira_allocno_class_translate.
- (ira_pressure_classes_num, ira_pressure_classes): New definitions.
- (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
- (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
- (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
- (ira_no_alloc_regs): New.
-
- * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
- classes from the file. Use ALLOCNO_CLASS instead of
- ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
- ALLOCNO_COVER_CLASS_COST.
- (regno_cover_class): Rename to regno_aclass.
- (record_reg_classes): Use ira_reg_class_subunion instead of
- ira_reg_class_union.
- (record_address_regs): Check overflow.
- (scan_one_insn): Ditto.
- (print_allocno_costs): Print total mem cost fore regional allocation.
- (print_pseudo_costs): Use REG_N_REFS.
- (find_costs_and_classes): Use classes intersected with them on the
- 1st pass. Check overflow. Use ira_reg_class_subunion instead of
- ira_reg_class_union. Use ira_allocno_class_translate and
- regno_aclass instead of ira_class_translate and regno_cover_class.
- Modify code for finding regno_aclass. Setup preferred classes for
- the next pass.
- (setup_allocno_cover_class_and_costs): Rename to
- setup_allocno_class_and_costs. Use regno_aclass instead of
- regno_cover_class. Use ira_set_allocno_class instead of
- ira_set_allocno_cover_class.
- (init_costs, finish_costs): Use regno_aclass instead of
- regno_cover_class.
- (ira_costs): Use setup_allocno_class_and_costs instead of
- setup_allocno_cover_class_and_costs.
- (ira_tune_allocno_costs_and_cover_classes): Rename to
- ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
- by processing objects. Use ira_reg_class_max_nregs instead of
- ira_reg_class_nregs.
-
- * rtl.h (reg_cover_class): Rename to reg_allocno_class.
-
- * sched-int.h: Remove mentioning cover classes from the file.
- (sched_regno_cover_class): Rename to sched_regno_pressure_class.
-
- * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
- classes from the file.
- (struct reg_pref): Rename coverclass into allocnoclass.
- (reg_cover_class): Rename to reg_allocno_class.
-
- * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
-
- * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
-
- * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
-
- * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
-
- * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
-
- * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
-
- * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
-
- * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
-
- * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
-
- * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
-
- * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
- (i386_ira_cover_classes): Ditto.
-
- * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
-
- * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
-
- * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
-
- * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
-
- * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
-
- * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
-
- * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
- (mips_ira_cover_classes): Ditto.
-
- * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
-
- * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
-
- * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
-
- * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
-
- * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
-
- * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
- (IRA_COVER_CLASSES_VSX): Ditto.
-
- * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
- (rs6000_ira_cover_classes): Ditto.
-
- * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
-
- * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
-
- * config/score/score.h (IRA_COVER_CLASSES): Ditto.
-
- * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
-
- * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
-
- * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
-
- * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
-
- * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
-
- * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
-
- * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
-
-2011-03-29 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48253
- * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
- dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
- dw_fde_unlikely_section_end_label, cold_in_std_section,
- dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
- Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
- fields.
- (output_fde): Use dw_fde_second_{begin,end} if second is
- true, otherwise dw_fde_{begin,end}.
- (output_call_frame_info): Test dw_fde_second_begin != NULL
- instead of dw_fde_switched_sections.
- (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
- fields, initialize new fields. Initialize in_std_section
- unconditionally from the first partition.
- (dwarf2out_end_epilogue): Don't override dw_fde_end when
- dw_fde_second_begin is non-NULL.
- (dwarf2out_switch_text_section): Stop initializing removed
- dw_fde_struct fields, initialize new fields, initialize
- also dw_fde_end here. Set dw_fde_switch_cfi even when
- dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
- (struct var_loc_list_def): Add last_before_switch field.
- (arange_table, arange_table_allocated, arange_table_in_use,
- ARANGE_TABLE_INCREMENT, add_arange): Removed.
- (size_of_aranges): Count !in_std_section and !second_in_std_section
- hunks in fdes, instead of looking at arange_table_in_use.
- (output_aranges): Add aranges_length argument, don't call
- size_of_aranges here. Instead of using aranges_table*
- emit ranges for fdes when !in_std_section resp.
- !second_in_std_section.
- (dw_loc_list): Break ranges crossing section switch.
- (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
- use dw_fde_second_end instead of dw_fde_end as end of last range.
- (gen_subprogram_die): Don't call add_arange. Use
- dw_fde_{begin,end} for first partition and if switched
- section dw_fde_second_{begin,end} for the second.
- (var_location_switch_text_section_1,
- var_location_switch_text_section): New functions.
- (dwarf2out_begin_function): Initialize cold_text_section even
- when function_section () isn't text_section.
- (prune_unused_types): Don't walk arange_table.
- (dwarf2out_finish): Don't needlessly test
- flag_reorder_blocks_and_partition when testing cold_text_section_used.
- If info_section_emitted, call size_of_aranges and if it indicates
- non-empty .debug_aranges, call output_aranges with the computed
- size. Stop using removed dw_fde_struct fields, use
- dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
- for second.
-
- PR debug/48203
- * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
- create ENTRY_VALUE if incoming or address of incoming's MEM
- is a hard REG.
- * dwarf2out.c (mem_loc_descriptor): Don't emit
- DW_OP_GNU_entry_value of DW_OP_fbreg.
- * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
- on ENTRY_VALUE is able to find the canonical parameter VALUE.
- * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
- rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
- ENTRY_VALUE_EXPs.
- (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
- is a REG_P or MEM_P with REG_P address, compute hash directly
- instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
- (preserve_only_constants): Don't clear VALUES forwaring
- ENTRY_VALUE to some other VALUE.
-
-2011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
-
- * builtins.c (expand_builtin_memset_args): Use gen_int_mode
- instead of GEN_INT.
-
-2011-03-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * cfgexpand.c (expand_gimple_cond): Always set the source location and
- block before expanding the statement.
- (expand_gimple_stmt_1): Likewise. Set them here...
- (expand_gimple_stmt): ...and not here. Tidy.
- * cfglayout.c (curr_insn_locator): Return 0 if the current location is
- unknown.
-
-2011-03-28 Steven Bosscher <steven@gcc.gnu.org>
-
- * Makefile.in: New rule for cprop.o.
- * gcse.c: Move constant/copy propagation to cprop.c.
- (compute_local_properties): Only handle expression tables.
- (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
- (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
- (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
- next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
- mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
- compute_cprop_data, find_used_regs, try_replace_reg,
- find_avail_set, cprop_jump, constprop_register, cprop_insn,
- local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
- fis_get_condition, implicit_set_cond_p, find_implicit_sets,
- find_bypass_set, reg_killed_on_edge, bypass_block,
- bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
- execute_rtl_cprop, pass_rtl_cprop): Move to...
- * cprop.c: ...here. New file, constant/copy propagation for RTL
- moved from gcse.c to here with minor cleanups in duplicated code.
-
-2011-03-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (flag_opts): Fix a typo in
- -mavx256-split-unaligned-store.
-
-2011-03-28 Anatoly Sokolov <aesok@post.ru>
-
- * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
- LIBCALL_VALUE): Remove macros.
- * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
- TARGET_FUNCTION_VALUE_REGNO_P): Define.
- (h8300_function_value, h8300_libcall_value,
- h8300_function_value_regno_p): New functions.
-
-2011-03-28 Anatoly Sokolov <aesok@post.ru>
-
- * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
-
-2011-03-28 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (redirect_edges): Call
- create_edge_and_update_destination_phis as needed.
- (create_edge_and_update_destination_phis): Accept new BB argument.
- All callers updated.
- (thread_block): Do not update the profile when threading around
- intermediate blocks.
- (thread_single_edge): Likewise.
- (determine_bb_domination_status): If BB is not a successor of the
- loop header, return NONDOMINATING.
- (register_jump_thread): Note when we register a jump thread around
- an intermediate block.
- * tree-ssa-threadedge.c (thread_around_empty_block): New function.
- (thread_across_edge): Use it.
-
-2011-03-28 Tristan Gingold <gingold@adacore.com>
-
- * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
- when for_return is 2.
-
-2011-03-28 Jeff Law <law@redhat.com>
-
- * var-tracking.c (canonicalize_values_mark): Delete unused
- lhs assignment.
- (canonicalize_values_star, set_variable_part): Likewise.
- (clobber_variable_part, delete_variable_part): Likewise.
-
-2011-03-28 Steven Bosscher <steven@gcc.gnu.org>
-
- * gcse.c (free_gcse_mem): Free reg_set_bitmap.
-
-2011-03-28 Martin Jambor <mjambor@suse.cz>
-
- * tree-inline.c (expand_call_inline): Do not check that destination
- node is analyzed.
- (optimize_inline_calls): Assert that destination node is analyzed.
- * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
- not call tree_lowering_passes.
- * cgraph.h (cgraph_analyze_function): Declare.
- * cgraphunit.c (cgraph_analyze_function): Make public.
-
-2011-03-28 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/sparc-opts.h: New.
- * config/sparc/sparc.c (sparc_handle_option, sparc_select,
- sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
- (sparc_option_override): Store processor_type enumeration rather
- than string in cpu_default. Remove name and enumeration from
- cpu_table. Directly default -mcpu then default -mtune from -mcpu
- without using sparc_select. Use target_flags_explicit instead of
- fpu_option_set.
- * config/sparc/sparc.h (enum processor_type): Move to
- sparc-opts.h.
- (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
- * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
- HeaderInclude entry.
- (mcpu=, mtune=): Use Var and Enum.
- (sparc_processor_type): New Enum and EnumValue entries.
-
-2011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/48245
- * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
-
-2011-03-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
- * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
- Insert new statements at it in lieu of STMT.
- (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
- * tree-vect-stmts.c (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
-
-2011-03-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
- (divtf3): Ditto.
- (multf3): Ditto.
- (subtf3): Ditto.
-
-2011-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
- unaligned 256bit load/store.
- (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
- (*avx_movdqu<avxmodesuffix>): Likewise.
-
-2011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/48288
- * config/pa/predicates.md (reg_or_ior_operand): New predicate.
- * config/pa/pa.md (iordi3): Use new predicate in expander.
- (iorsi3): Likewise.
-
-2011-03-27 Anatoly Sokolov <aesok@post.ru>
-
- * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
- FUNCTION_VALUE_REGNO_P): Remove macros.
- * config/mips/mips-protos.h (mips_function_value): Remove.
- * config/mips/mips.c (mips_function_value): Rename to...
- (mips_function_value_1): ... this. Make static. Handle receiving
- the function type in 'fn_decl_or_type' argument.
- (mips_function_value, mips_libcall_value,
- mips_function_value_regno_p): New function.
- (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
- TARGET_FUNCTION_VALUE_REGNO_P): Define.
-
-2011-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
- and -mavx256-split-unaligned-store.
- (ix86_option_override_internal): Split 32-byte AVX unaligned
- load/store by default.
- (ix86_avx256_split_vector_move_misalign): New.
- (ix86_expand_vector_move_misalign): Use it.
-
- * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
- -mavx256-split-unaligned-store.
-
- * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
- 256bit load/store. Generate unaligned store on misaligned memory
- operand.
- (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
- 256bit load/store.
- (*avx_movdqu<avxmodesuffix>): Likewise.
-
- * doc/invoke.texi: Document -mavx256-split-unaligned-load and
- -mavx256-split-unaligned-store.
-
-2011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/38598
- * config/mips/mips.md (extendsidi2): Add an "l" alternative.
- Update commentary.
-
-2011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
- opno arguments with an expand_operand. Use create_input_operand.
- (mips_prepare_builtin_target): Delete.
- (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
- functions.
- (mips_expand_builtin_direct): Use create_output_operand and
- mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
- (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
- (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
-
-2011-03-27 Ira Rosen <ira.rosen@linaro.org>
-
- * config/arm/arm.c (arm_autovectorize_vector_sizes): New
- function.
- (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * basic-block.h (fixup_abnormal_edges): Adjust prototype.
- * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
- basic blocks and call commit_edge_insertions directly.
- (fixup_abnormal_edges): Move from here to...
- * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
- on the edges and return whether some have actually been inserted.
- * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
- compensation code.
-
-2011-03-26 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48144
- * sel-sched-ir.c (merge_history_vect): Factor out from ...
- (merge_expr_data): ... here.
- (av_set_intersect): Rename to av_set_code_motion_filter.
- Update all callers. Call merge_history_vect when an expression
- is found in both sets.
- * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
-
-2011-03-26 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/predicates.md (word_offset_memref_op): Handle
- cmodel medium addresses.
- * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
- 64-bit gpr loads and stores.
- (rs6000_secondary_reload_ppc64): New function.
- * config/rs6000/rs6000-protos.h: Declare it.
- * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
-
-2011-03-26 Alan Modra <amodra@gmail.com>
-
- PR target/47487
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
- GNU Go in traceback table.
-
-2011-03-25 Richard Henderson <rth@redhat.com>
-
- * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
- if there are exactly 6 operands.
- (set_storage_via_setmem): Similarly.
-
-2011-03-25 Kai Tietz <ktietz@redhat.com>
-
- * collect2.c (write_c_file_stat): Handle backslash
- as right-hand directory separator.
- (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
- checking just for slash.
- * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
- instead of checking for trailing slash.
- * gcc.c (record_temp_file): Use filename_cmp instead
- of strcmp.
- (do_spec_1): Likewise.
- (replace_outfile_spec_function): Likewise.
- (is_directory): Use filename_ncmp instead of strncmp.
- (print_multilib_info): Likewise.
- * gcov.c (find_source): Use filename_cmp instead
- instead of strcmp.
- (make_gcov_file_name): Fix order of slash/backslash
- checks.
- * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
- (add_standard_paths): Likewise.
- * mips-tfile.c (saber_stop): Handle backslash.
- * prefix.c (update_path): Use filename_ncmp instead of
- strncmp.
- * profile.c (output_location): Use filename_cmp instead
- of strcmp.
- * read-md.c (handle_toplevel_file): Handle backslash.
- * tlink.c (frob_extension): Likewise.
- * tree-cfg.c (same_line_p): Use filename_cmp instead of
- strcmp.
- * tree-dump.c (dequeue_and_dump): Handle backslash.
- * tree.c (get_file_function_name): Likewise.
- * gengtype.c (read_input_list): Likewise.
- (get_file_realbasename): Likewise.
- (get_output_file_with_visibility): Use filename_cmp
- instead of strcmp.
-
-2011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
- case to VFPv1.
-
-2011-03-25 Nathan Froyd <froydnj@codesourcery.com>
-
- * fold-const.c (expr_location_or): New function.
- (fold_truth_not_expr): Call it.
-
-2011-03-25 Jeff Law <law@redhat.com>
-
- * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
- va_end.
- * c-family/c-common.c (def_fn_type): Likewise.
- * emit-rtl.c (gen_rtvec): Likewise.
- * lto/lto-lang.c (def_fn_type): Likewise.
-
-2011-03-25 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
- also generate copies.
- (fini_copy_prop): Handle constant values properly.
-
-2011-03-25 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
- mode size instead of bitsize with DWARF2_ADDR_SIZE.
- (hash_loc_operands, compare_loc_operands): Handle
- DW_OP_GNU_entry_value.
-
-2011-03-25 Kai Tietz <ktietz@redhat.com>
-
- * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
- (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
- * config/i386/i386.c (ix86_conditional_register_usage): Adjust
- comment and use macro TARGET_64BIT_MS_ABI instead.
- (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
- and change default behavior for 32-bit MS_ABI.
- (ix86_reg_parm_stack_space): Check additionally for bit-ness.
- (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
- 32-bit, too.
- (ix86_cfun_abi): Likewise.
- (ix86_maybe_switch_abi): Adjust comment.
- (init_cumulative_args): Check for bit-ness in MS_ABI case.
- (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
- instead of checking for SYSV_ABI.
- (ix86_nsaved_sseregs): Likewise.
- (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
- to 16 bytes.
- (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
- * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
- (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
- (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
- * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
-
-2011-03-25 Richard Guenther <rguenther@suse.de>
-
- * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
- (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
- (verify_gimple): Remove.
- * tree-cfg.c (verify_gimple_call): Merge verification
- from verify_stmts.
- (verify_gimple_phi): Merge verification from verify_stmts.
- (verify_gimple_label): New function.
- (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
- (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
- (verify_stmt): Merge into verify_gimple_in_cfg and callees.
- (verify_stmts): Rename to verify_gimple_in_cfg.
- (verify_gimple_in_cfg): New function.
- * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
- * tree-ssa.c (verify_ssa): Likewise.
- * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
-
-2011-03-25 Richard Guenther <rguenther@suse.de>
-
- * passes.c (init_optimization_passes): Add FRE pass after
- early SRA.
-
-2011-03-25 Bernd Schmidt <bernds@codesourcery.com>
- Andrew Stubbs <ams@codesourcery.com>
-
- * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
- for Cortex-A8.
- (arm_movdi_vfp_cortexa8): New pattern.
- * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
- iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
- instructions when tuning for Cortex-A8. Set attribute "arch".
- * config/arm/arm.md: Move include arm-tune.md up a bit.
- (define_attr "arch"): Add "onlya8" and "nota8" values.
- (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
-
-2011-03-25 Nathan Froyd <froydnj@codesourcery.com>
-
- PR bootstrap/48282
- Revert:
- 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
-
- * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
- FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
- (pass_instantiate_virtual_regs): Require PROP_cfglayout.
- * passes.c (init_optimization_passes): Move
- pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
-
-2011-03-25 Kai Tietz <ktietz@redhat.com>
-
- * c-typeck.c (comptypes_internal): Replace target
- hook call of comp_type_attributes by version in tree.c file.
- * gimple.c (gimple_types_compatible_p_1): Likewise.
- * tree-ssa.c (useless_type_conversion_p): Likewise.
- * tree.c (build_type_attribute_qual_variant): Likewise.
- (attribute_value_equal): New static helper function.
- (comp_type_attributes): New function.
- (merge_attributes): Use attribute_value_equal for comparison.
- (attribute_list_contained): Likewise.
- * tree.h (comp_type_attributes): New prototype.
-
-2011-03-25 Richard Guenther <rguenther@suse.de>
-
- * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
- of complex types at -O0.
- (verify_gimple_assign_binary): Likewise.
- (verify_gimple_assign_ternary): Likewise.
-
-2011-03-24 Mark Wielaard <mjw@redhat.com>
-
- * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
- (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
-
-2011-03-24 Mark Wielaard <mjw@redhat.com>
-
- PR debug/48041
- * dwarf2out.c (output_abbrev_section): Only write table when
- abbrev_die_table_in_use > 1.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
- (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
- (alpha_expand_unaligned_load_words): Use extql.
- (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
- (emit_insxl): Handle all modes for consistency.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
- (alpha_expand_unaligned_load): Likewise.
- (alpha_expand_unaligned_store): Likewise.
- (alpha_expand_unaligned_load_words): Likewise.
- (alpha_expand_unaligned_store_words): Likewise.
- (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
- (alpha_split_lock_test_and_set_12): Likewise.
- (print_operand, alpha_fold_builtin_extxx): Likewise.
- (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
- * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
- (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
- (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
- (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
- (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
- (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
- (unaligned_storeqi_be, unaligned_storehi_be): Remove.
- (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
- (extwl, extll, extql): Similarly.
- (inswh, inslh, insqh): Similarly.
- (mskbl, mskwl, mskll, mskql): Similarly.
- (mskwh, msklh, mskqh): Similarly.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.md (attribute isa): Add er, ner.
- (attribute enabled): Handle them.
- (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.md (attribute isa): Add vms.
- (attribute enabled): Handle it.
- (*movsf): Merge *movsf_{nofix,fix,nofp}.
- (*movdf): Merge *movdf_{nofix,fix,nofp}.
- (*movtf): Rename from *movtf_internal for consistency.
- (*movsi): Merge with *movsi_nt_vms.
- (*movhi): Merge *movhi_nobwx, *movhi_bwx.
- (*movqi): Merge *movqi_nobwx, *movqi_bwx.
- (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
- * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
- (extendqisi2, extendhisi2): Likewise.
- (extendqidi2): Simplify BWX/non-BWX expansions.
- (extendhidi2): Similarly.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.md (attribute isa): New.
- (attribute enabled): New.
- (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
- (zero_extendqisi2, zero_extendqidi2): Similarly.
- (zero_extendhisi2, zero_extendhidi2): Similarly.
- * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
-
-2011-02-24 Richard Henderson <rth@redhat.com>
-
- * config/alpha/predicates.md (input_operand): Revert last change;
- update comment to mention 32-bit VMS rather than Windows.
-
-2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
-
- * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
- FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
- (pass_instantiate_virtual_regs): Require PROP_cfglayout.
- * passes.c (init_optimization_passes): Move
- pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
-
-2011-03-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
- correctly.
-
-2011-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48204
- * simplify-rtx.c (simplify_const_unary_operation): Call
- real_convert when changing mode class with FLOAT_EXTEND.
-
-2011-03-24 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
- (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
- * config/rx/rx.c (rx_option_override): Set align_jumps,
- align_loops and align_labels if not set by the user.
- (rx_align_for_label): New function.
- (rx_max_skip_for_label): New function.
- (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
- (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
- (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
- (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
- * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
-
-2011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/48263
- * optabs.c (expand_binop_directly): Reinstate convert_modes code
- and original commutative_p handling. Use maybe_gen_insn.
-
-2011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * reload.c (find_reloads_subreg_address): Add address_reloaded
- parameter and return true there if the full address has been
- reloaded.
- (find_reloads_toplev): Pass address_reloaded flag.
- (find_reloads_address_1): Don't use address_reloaded parameter.
-
-2011-03-24 Jeff Law <law@redhat.com>
-
- * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
- unused variable "ann".
- (remove_unused_locals): Likewise.
-
- * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
- statement.
-
- * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
- after it is freed.
-
-2011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
- for invalid symbolic addresses.
- (s390_secondary_reload): Don't use s390_check_symref_alignment for
- larl operands.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
- the argument in calls to fold_truth_not_expr.
-
-2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.c (record_node_allocation_statistics): New function.
- (make_node_stat, copy_node_stat, build_string): Call it.
- (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
- (build1_stat, build_omp_clause): Likewise.
-
-2011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
-
- * builtins.c (expand_movstr): Fix endp == 1 adjustment after
- last commit.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48271
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
- blocks that still exist.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48270
- * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
- not free datarefs before ddrs.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-sra.c (build_ref_for_offset): Strip useless type conversions
- from the address built for a reference with variable offset.
-
-2011-03-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48237
- * config/i386/i386.md (*movdf_internal_rex64): Do not split
- alternatives that can be handled with movq or movabsq insn.
- (*movdf_internal): Disable for !TARGET_64BIT.
- (*movdf_internal_nointeger): Ditto.
- * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
-
-2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
-
- * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
- (FUNCTION_ARG_ADVANCE): Likewise.
- * tm.texi.in: Change references to them to hook references.
- * tm.texi: Regenerate.
- * targhooks.c (default_function_arg): Eliminate check for target macro.
- (default_function_incoming_arg): Likewise.
- (default_function_arg_advance): Likewise.
- * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
- (function_arg_advance): Likewise.
- * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48269
- * tree-object-size.c (addr_object_size): Do not double-account
- for MEM_REF offsets.
-
-2011-03-24 Diego Novillo <dnovillo@google.com>
-
- * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
- * lto-streamer-in.c (input_string_internal): Add clarifying comments.
- (lto_input_data_block): Move from lto-opts.c. Make extern.
- Update all users.
- (lto_input_string): Rename from input_string. Make extern.
- Update all users.
- * lto-streamer-out.c (lto_output_string_with_length): Rename from
- output_string_with_length.
- Output 0 to indicate a non-NULL string. Update all callers to
- not emit 0.
- (lto_output_string): Rename from output_string. Make extern.
- Update all users.
- (lto_output_decl_state_streams): Make extern.
- (lto_output_decl_state_refs): Make extern.
- * lto-streamer.h (lto_input_string): Declare.
- (lto_input_data_block): Declare.
- (lto_output_string): Declare.
- (lto_output_string_with_length): Declare.
- (lto_output_decl_state_streams): Declare.
- (lto_output_decl_state_refs): Declare.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46562
- * tree.c (build_invariant_address): New function.
- * tree.h (build_invariant_address): Declare.
- * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
- a renamed function moved ...
- * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
- Take valueization callback parameter.
- * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
- * gimple-fold.h: New file.
- * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
- (ccp_fold, fold_const_aggregate_ref,
- fold_ctor_reference, fold_nonarray_ctor_reference,
- fold_array_ctor_reference, fold_string_cst_ctor_reference,
- get_base_constructor): Move ...
- * gimple-fold.c: ... here.
- (gimple_fold_stmt_to_constant_1): New function
- split out from ccp_fold. Take a valueization callback parameter.
- Valueize all operands.
- (gimple_fold_stmt_to_constant): New wrapper function.
- (fold_const_aggregate_ref_1): New function split out from
- fold_const_aggregate_ref. Take a valueization callback parameter.
- (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
- * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
- invariant POINTER_PLUS_EXPRs to invariant form.
- (vn_valueize): New function.
- (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
- * tree-vrp.c (vrp_valueize): New function.
- (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
- to fold statements to constants.
- * tree-ssa-pre.c (eliminate): Properly guard propagation of
- function declarations.
- * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
- tree-ssa-ccp.o): Add gimple-fold.h dependencies.
-
-2011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
-
- * config/h8300/predicates.md (jump_address_operand): Fix register
- mode check.
-
-2011-03-24 Ira Rosen <ira.rosen@linaro.org>
-
- * doc/invoke.texi (max-stores-to-sink): Document.
- * params.h (MAX_STORES_TO_SINK): Define.
- * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
- if either vectorization or if-conversion is disabled.
- * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
- tree-vect-data-refs.c vect_equal_offsets.
- (dr_equal_offsets_p): New function.
- (find_data_references_in_bb): Remove static.
- * tree-data-ref.h (find_data_references_in_bb): Declare.
- (dr_equal_offsets_p): Likewise.
- * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
- (vect_drs_dependent_in_basic_block): Update calls to
- vect_equal_offsets.
- (vect_check_interleaving): Likewise.
- * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
- (cond_if_else_store_replacement): Rename to...
- (cond_if_else_store_replacement_1): ... this. Change arguments and
- documentation.
- (cond_if_else_store_replacement): New function.
- * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
- * params.def (PARAM_MAX_STORES_TO_SINK): Define.
-
-2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR target/46934
- * config/arm/arm.md (casesi): Use the gen_int_mode() function
- to subtract lower bound instead of GEN_INT().
-
-2011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR other/48179
- PR other/48221
- PR other/48234
- * doc/extend.texi (Alignment): Move section to match order in TOC.
- * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
- (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
-
-2011-03-23 Jeff Law <law@redhat.com>
-
- * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
- before removing the edge.
-
- * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
- it may have been freed by redirect_branch_edge or
- redirect_edge_succ_nodup.
-
-2011-03-23 Richard Guenther <rguenther@suse.de>
-
- * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
- (check_va_list_escapes): Likewise.
- (check_all_va_list_escapes): Likewise.
-
-2011-03-23 Richard Guenther <rguenther@suse.de>
-
- * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
- (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
- (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
- (alias.o): Likewise.
- (ipa-type-escape.o): Remove.
- (ipa-struct-reorg.o): Likewise.
- (GTFILES): Remove ipa-struct-reorg.c.
- * alias.c: Do not include ipa-type-escape.h.
- * tree-ssa-alias.c: Likewise.
- * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
- * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
- * passes.c (init_optimization_passes): Remove ipa-struct-reorg
- and ipa-type-escape passes.
- * tree-pass.h (pass_ipa_type_escape): Remove.
- (pass_ipa_struct_reorg): Likewise.
- * ipa-struct-reorg.h: Remove.
- * ipa-struct-reorg.c: Likewise.
- * ipa-type-escape.h: Likewise.
- * ipa-type-escape.c: Likewise.
- * doc/invoke.texi (-fipa-struct-reorg): Remove.
- (--param struct-reorg-cold-struct-ratio): Likewise.
- * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
- * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
- * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
-
-2011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/2084.md: Enable all insn reservations also for z9_ec
- cpu attribute value.
- * config/s390/s390-opts.h (enum s390_arch_option): Remove.
- (enum processor_type): Add PROCESSOR_2094_Z9_EC.
- * config/s390/s390.c (processor_flags_table): New constant array.
- (s390_handle_arch_option): Remove.
- (s390_handle_option): Remove s390_handle_arch_option invocations
- and OPT_mwarn_framesize_ handling.
- (s390_option_override): Remove s390_handle_arch_option invocation.
- (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
- warnings.
- * config/s390/s390.md (cpu attribute): Add z9_ec value.
- * config/s390/s390.opt (s390_tune, s390_arch)
- (march=): Replace s390_arch_option enum and values with
- processor_type. Set variable name to s390_arch. Set
- initialization value.
- (mtune=): Replace s390_arch_option with processor_type. Set
- variable name to s390_tune. Set initialization value.
-
-2011-03-23 Julian Brown <julian@codesourcery.com>
-
- * expr.c (expand_expr_real_1): Only use BLKmode for volatile
- accesses which are not naturally aligned.
-
-2011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/47553
- * config/arm/predicates.md (neon_lane_number): Accept 0..15.
-
-2011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
-
- * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
- parameter from "int" to "enum insn_code".
- (expand_operand_type): New enum.
- (expand_operand): New structure.
- (create_expand_operand): New function.
- (create_fixed_operand, create_output_operand): Likewise
- (create_input_operand, create_convert_operand_to): Likewise.
- (create_convert_operand_from, create_address_operand): Likewise.
- (create_integer_operand): Likewise.
- (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
- (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
- (expand_insn, expand_jump_insn): Likewise.
- * builtins.c (expand_builtin_prefetch): Use the new interfaces.
- (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
- (expand_movstr, expand_builtin___clear_cache): Likewise.
- (expand_builtin_lock_release): Likewise.
- * explow.c (allocate_dynamic_stack_space): Likewise.
- (probe_stack_range): Likewise. Allow check_stack to FAIL,
- and use the default handling in that case.
- * expmed.c (check_predicate_volatile_ok): Delete.
- (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
- (emit_cstore): Likewise.
- * expr.c (emit_block_move_via_movmem): Likewise.
- (set_storage_via_setmem, expand_assignment): Likewise.
- (emit_storent_insn, try_casesi): Likewise.
- (emit_single_push_insn): Likewise. Allow the expansion to fail.
- * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
- (expand_vec_shift_expr, expand_binop_directly): Likewise.
- (expand_twoval_unop, expand_twoval_binop): Likewise.
- (expand_unop_direct, emit_indirect_jump): Likewise.
- (emit_conditional_move, vector_compare_rtx): Likewise.
- (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
- (expand_sync_operation, expand_sync_fetch_operation): Likewise.
- (expand_sync_lock_test_and_set): Likewise.
- (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
- (emit_unop_insn): Likewise.
- (expand_copysign_absneg): Change icode to an insn_code.
- (create_convert_operand_from_type): New function.
- (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
- (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
- (expand_insn, expand_jump_insn): Likewise.
- * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
- than const_int_operand for operand 2.
-
-2011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
- if possible.
-
-2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
-
- * emit-rtl.c (emit_pattern_before_noloc): New function.
- (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
- (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
- (emit_pattern_after_noloc): New function.
- (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
- (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
-
-2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
-
- * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
- (__ffsDI2): Likewise.
-
-2011-03-22 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
- of !TARGET_ABI_OPEN_VMS.
- (alpha_trampoline_init, alpha_start_function): Likewise.
- (alpha_expand_epilogue, alpha_file_start): Likewise.
- * config/alpha/alpha.md (divsi3, modsi3): Likewise.
- (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
- (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
- (*divmodsi_internal, *divmoddi_internal_er): Likewise.
- (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/s390/s390-opts.h: New.
- * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
- s390_arch_flags, s390_warn_framesize, s390_stack_size,
- s390_stack_guard): Remove.
- (s390_handle_arch_option): Return void. Take enum
- s390_arch_option value instead of string and searching array.
- (s390_handle_option): Don't assert that global structures are in
- use. Access variables via opts pointer. Use error_at. Don't use
- sscanf for -mstack-guard= or -mstack-size=. Update call to
- s390_handle_arch_option.
- (s390_option_override): Update call to s390_handle_arch_option.
- (s390_emit_prologue): Use %d format for s390_stack_size in
- diagnostic. Use %wd for HOST_WIDE_INT.
- * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
- (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
- * config/s390/s390.opt (config/s390/s390-opts.h): New
- HeaderInclude entry.
- (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
- s390_arch_flags, s390_warn_framesize): New Variable entries.
- (s390_arch_option): New Enum and EnumValue entries.
- (march=): Use Enum instead of Var.
- (mstack-guard=, mstack-size=): Use UInteger and Var.
- (mtune=): Use Enum.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/score/score.c (score_handle_option): Don't assert that
- global structures are in use. Access target_flags via opts
- pointer. Use value of -march= option to determine target_flags
- settings.
- * config/score/score.opt (march=): Use Enum.
- (score_arch): New Enum and EnumValue entries.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/mep/mep.c (option_mtiny_specified): Remove.
- (mep_option_override): Move register handling for -mivc2 from
- mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
- instead of option_mtiny_specified.
- (mep_handle_option): Access target_flags via opts pointer. Don't
- assert that global structures are in use. Defer part of -mivc2
- handling and move it to mep_option_override.
- * config/mep/mep.opt (IVC2): New Mask entry.
- (mivc2): Use Var and Defer instead of Mask.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/v850/v850-opts.h: New.
- * config/v850/v850.c (small_memory): Replace with
- small_memory_physical_max array. Make that array static const.
- (v850_handle_memory_option): Take integer value of argument. Take
- gcc_options pointer, option text and location. Return void.
- Update for changes to small memory structures.
- (v850_handle_option): Access target_flags via opts pointer. Don't
- assert that global structures are in use. Update calls to
- v850_handle_memory_option.
- (v850_encode_data_area): Update references to small memory settings.
- * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
- (enum small_memory_type): Move to v850-opts.h.
- * config/v850/v850.opt (config/v850/v850-opts.h): New
- HeaderInclude entry.
- (small_memory_max): New Variable entry.
- (msda): Replace by pair of options msda= and msda-. Use UInteger.
- (mtda, mzda): Likewise.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/sh/sh.c (sh_handle_option): Access target_flags via opts
- pointer. Don't assert that global structures are in use.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
- via opts pointer. Don't assert that global structures are in use.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
- (munix=93): Use Var.
- * config/pa/pa-hpux1010.opt (munix=95): Use Var.
- * config/pa/pa-hpux1111.opt (munix=98): Use Var.
- * config/pa/pa-opts.h: New.
- * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
- (pa_handle_option): Don't assert that global structures are in
- use. Access target_flags via opts pointer. Don't handle
- OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
- OPT_munix_98 here.
- (pa_option_override): Handle deferred OPT_mfixed_range_.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/mn10300/mn10300-opts.h: New.
- * config/mn10300/mn10300.c (mn10300_processor,
- mn10300_tune_string): Remove.
- (mn10300_handle_option): Don't assert that global structures are
- in use. Access mn10300_processor via opts pointer. Don't handle
- OPT_mtune_ here.
- * config/mn10300/mn10300.h (enum processor_type): Move to
- mn10300-opts.h.
- (mn10300_processor): Remove.
- * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
- HeaderInclude entry.
- (mn10300_processor): New Variable entry.
- (mtune=): Use Var.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/microblaze/microblaze.c: Don't include opts.h.
- (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
- * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
- (mno-clearbss): Use Var and Warn.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/m32r/m32r-opts.h: New.
- * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
- (m32r_handle_option): Don't assert that global structures are in
- use. Access target_flags and m32r_cache_flush_func via opts
- pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
- OPT_mno_flush_trap here.
- * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
- include of m32r-opts.h.
- * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
- HeaderInclude entry.
- (m32r_model_selected, m32r_sdata_selected): New Variable entries.
- (mmodel=): Use Enum and Var.
- (m32r_model): New Enum and EnumValue entries.
- (mno-flush-trap): Use Var.
- (msdata=): Use Enum and Var.
- (m32r_sdata): New Enum and EnumValue entries.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/m32c/m32c.c: Don't include opts.h.
- (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
- m32c_handle_option): Remove.
- (m32c_option_override): Check global_options_set.x_target_memregs
- instead of target_memregs_set.
- * config/m32c/m32c.h (target_memregs): Remove.
- * config/m32c/m32c.opt (memregs=): Use UInteger with integer
- variable.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/iq2000/iq2000-opts.h: New.
- * config/iq2000/iq2000.c: Don't include opts.h.
- (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
- * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
- * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
- HeaderInclude entry.
- (iq2000_tune): New Variable entry.
- (march=): Add comment. Use Enum.
- (iq2000_arch): New Enum and EnumValue entries.
- (mcpu=): Use Enum and Var.
- (iq2000_tune): New Enum and EnumValue entries.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/ia64/ia64-opts.h: New.
- * config/ia64/ia64.c (ia64_tune): Remove.
- (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
- here. Use error_at.
- (ia64_option_override): Handle deferred OPT_mfixed_range_.
- * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
- * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
- HeaderInclude entry.
- (ia64_tune): New Variable entry.
- (mfixed-range=): Use Defer and Var.
- (mtune=): Use Enum and Var.
- (ia64_tune): New Enum and EnumValue entries.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/frv/frv-opts.h: New.
- * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
- frv-opts.h.
- (frv_cpu_type): Remove.
- * config/frv/frv.c: Don't include opts.h.
- (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
- * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
- (frv_cpu_type): New Variable entry.
- (frv_cpu): New Enum and EnumValue entries.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/cris/cris.c (cris_handle_option): Access target_flags via
- opts pointer. Don't assert that global structures are in use.
- Don't call CRIS_SUBTARGET_HANDLE_OPTION.
- * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/bfin/bfin-opts.h: New.
- * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
- bfin_si_revision, bfin_workarounds): Remove.
- (bfin_cpus): Make static const.
- (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
- not bfin_lib_id_given.
- (bfin_handle_option): Don't set bfin_lib_id_given. Access
- bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
- pointer. Use error_at. Don't assert that global structures are in use.
- * config/bfin/bfin.h: Include bfin-opts.h.
- (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
- (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
- * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
- (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
- entries.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
- * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
- or -msoft-float here.
- * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
- -msoft-float and -mhard-float.
- (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
- * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
- msoft-float.
- * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
- -msoft-float.
- (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
- * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
- not mhard-float.
- (LIBGCC_SPEC): Don't handle -msoft-float.
- * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
- -mhard-float.
- * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
- msoft-float.
- * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
- -mfloat-abi=*, not -msoft-float and -mhard-float.
- * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
- -msoft-float.
- * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
- Use mfloat-abi=hard and mfloat-abi=soft in comments, not
- mhard-float and msoft-float.
- * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
- mfloat-abi=soft in comments, not mhard-float and msoft-float.
- * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
- mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
- mhard-float.
- * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
- mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
- msoft-float.
- * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
- not mhard-float.
- * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
- not msoft-float.
-
-2011-03-22 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (alpha_expand_prologue): Don't test
- TARGET_ABI_WINDOWS_NT.
- (alpha_output_function_end_prologue): Likewise.
- * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
- (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
- (trap, *movsi_nt_vms): Likewise.
- (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
- (*tablejump_osf_nt_internal): Remove.
- * config/alpha/predicates.md (input_operand): Only test Pmode.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/alpha.c (alpha_handle_option): Access target_flags
- via opts pointer. Use error_at. Don't assert that global
- structures are in use.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
- (ix86_handle_option): Access ix86_isa_flags and
- ix86_isa_flags_explicit via opts pointer. Don't assert that
- global structures are in use.
- (ix86_function_specific_save, ix86_function_specific_restore):
- Update ix86_isa_flags_explicit field name.
- * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
- (ix86_isa_flags_explicit): Rename TargetSave entry to
- x_ix86_isa_flags_explicit.
-
-2011-03-22 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
- (alpha_option_override, direct_return): Likewise.
- (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
- (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
- (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
- (alpha_start_function, alpha_output_function_end_prologue): Likewise.
- (alpha_expand_epilogue, alpha_end_function): Likewise.
- (alpha_init_libfuncs): Likewise.
- (struct machine_function): Remove unicosmk members.
- (print_operand) ['t']: Remove.
- (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
- unicosmk_output_module_name, unicosmk_output_common,
- current_section_align, unicosmk_output_text_section_asm_op,
- unicosmk_output_data_section_asm_op, unicosmk_init_sections,
- unicosmk_section_type_flags, unicosmk_unique_section,
- unicosmk_asm_named_section, unicosmk_insert_attributes,
- unicosmk_output_align, unicosmk_defer_case_vector,
- unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
- SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
- unicosmk_output_ssib, unicosmk_add_call_info_word,
- unicosmk_extern_head, unicosmk_output_default_externs,
- unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
- unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
- unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
- * config/alpha/alpha-protos.h: Update.
- * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
- * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
- (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
- (mulsi3): Don't test TARGET_ABI_UNICOSMK.
- (*mulsi_se, mulvsi3): Likewise.
- (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
- (*divmodsi_internal, call, call_value, realign): Likewise.
- (moddi3, umoddi3): Likewise; remove duplicate expander.
- (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
- (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
- (*movdi_nofix): Remove r/U alternative.
- (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
- * config/alpha/constraints.md ("U"): Remove.
- * config/alpha/predicates.md (call_operand"): Don't test
- TARGET_ABI_UNICOSMK.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * target.def (handle_option): Take gcc_options and
- cl_decoded_option pointers and location_t.
- * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
- * doc/tm.texi: Regenerate.
- * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
- * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
- * lto-opts.c (lto_reissue_options): Generate option structure for
- targetm.handle_option call.
- * opts.c (target_handle_option): Update call to
- targetm.handle_option. Remove assertions about values now passed
- down to hook.
- * targhooks.c (default_target_handle_option): New.
- * targhooks.h (default_target_handle_option): Declare.
- * config/alpha/alpha.c: Include opts.h.
- (alpha_handle_option): Update to new hook interface.
- * config/arm/arm.c: Include opts.h.
- (arm_handle_option): Update to new hook interface.
- * config/arm/t-arm (arm.o): Update dependencies.
- * config/bfin/bfin.c: Include opts.h.
- (bfin_handle_option): Update to new hook interface.
- * config/cris/cris.c: Include opts.h.
- (cris_handle_option): Update to new hook interface.
- * config/frv/frv.c: Include opts.h.
- (frv_handle_option): Update to new hook interface.
- * config/i386/i386.c: Include opts.h.
- (ix86_handle_option): Update to new hook interface.
- (ix86_valid_target_attribute_inner_p): Generate option structure
- for call to ix86_handle_option.
- * config/i386/t-i386 (i386.o): Update dependencies.
- * config/ia64/ia64.c: Include opts.h.
- (ia64_handle_option): Update to new hook interface.
- * config/ia64/t-ia64 (ia64.o): Update dependencies.
- * config/iq2000/iq2000.c: Include opts.h.
- (iq2000_handle_option): Update to new hook interface.
- * config/m32c/m32c.c: Include opts.h.
- (m32c_handle_option): Update to new hook interface.
- * config/m32r/m32r.c: Include opts.h.
- (m32r_handle_option): Update to new hook interface.
- * config/m68k/m68k.c: Include opts.h.
- (m68k_handle_option): Update to new hook interface.
- * config/mep/mep.c: Include opts.h.
- (mep_handle_option): Update to new hook interface.
- * config/microblaze/microblaze.c: Include opts.h.
- (microblaze_handle_option): Update to new hook interface.
- * config/mips/mips.c: Include opts.h.
- (mips_handle_option): Update to new hook interface.
- * config/mn10300/mn10300.c: Include opts.h.
- (mn10300_handle_option): Update to new hook interface.
- * config/pa/pa.c: Include opts.h.
- (pa_handle_option): Update to new hook interface.
- * config/pdp11/pdp11.c: Include opts.h.
- (pdp11_handle_option): Update to new hook interface.
- * config/rs6000/rs6000.c: Include opts.h.
- (rs6000_handle_option): Update to new hook interface.
- * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
- * config/rx/rx.c: Include opts.h.
- (rx_handle_option): Update to new hook interface.
- * config/s390/s390.c: Include opts.h.
- (s390_handle_option): Update to new hook interface.
- * config/score/score.c: Include opts.h.
- (score_handle_option): Update to new hook interface.
- * config/sh/sh.c: Include opts.h.
- (sh_handle_option): Update to new hook interface.
- * config/sparc/sparc.c: Include opts.h.
- (sparc_handle_option): Update to new hook interface.
- * config/v850/v850.c: Include opts.h.
- (v850_handle_option): Update to new hook interface.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c (driver_unknown_option_callback): Only permit and save
- unknown -Wno- options.
- (driver_wrong_lang_callback): Save options directly instead of via
- driver_unknown_option_callback.
-
-2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * combine.c (simplify_set): Try harder to find the best CC mode when
- simplifying a nested COMPARE on the RHS.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/gnu.h: Remove.
- * config/arc: Remove directory.
- * config/arm/netbsd.h: Remove.
- * config/arm/t-pe: Remove.
- * config/crx: Remove directory.
- * config/i386/netbsd.h: Remove.
- * config/m68hc11: Remove directory.
- * config/m68k/uclinux-oldabi.h: Remove.
- * config/mcore/mcore-pe.h: Remove.
- * config/mcore/t-mcore-pe: Remove.
- * config/netbsd-aout.h: Remove.
- * config/rs6000/gnu.h: Remove.
- * config/sh/sh-symbian.h: Remove.
- * config/sh/symbian-base.c: Remove.
- * config/sh/symbian-c.c: Remove.
- * config/sh/symbian-cxx.c: Remove.
- * config/sh/symbian-post.h: Remove.
- * config/sh/symbian-pre.h: Remove.
- * config/sh/t-symbian: Remove.
- * config/svr3.h: Remove.
- * config/vax/netbsd.h: Remove.
- * config.build: Don't handle i[34567]86-*-pe.
- * config.gcc: Remove handling of deprecations for most deprecated
- targets.
- (m68k-*-uclinuxoldabi*): Add to second deprecated list.
- (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
- i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
- m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
- powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
- sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
- Remove cases.
- * config.host: Don't handle i[34567]86-*-pe.
- * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
- (ASM_SPEC32): Don't handle -mcall-gnu.
- * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
- -mcall-gnu.
- (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
- STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
- (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
- LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
- (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
- * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
- conditional on SYMBIAN.
- * configure.ac: Don't handle powerpc*-*-gnu*.
- * configure: Regenerate.
- * doc/extend.texi (interrupt attribute): Don't mention CRX.
- * doc/install-old.texi (m6811, m6812): Don't mention.
- * doc/install.texi (arc-*-elf*): Don't document multilib option.
- (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
- (m68k-uclinuxoldabi): Don't mention.
- * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
- Remove.
- (-mcall-gnu): Remove.
- * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
- families): Remove constraint documentation.
-
-2011-03-22 Marius Strobl <marius@FreeBSD.org>
-
- * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
- (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
- (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
-
-2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48226
- * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
- vector when peeking at the next token for vector, don't expand the
- keywords.
-
-2011-03-21 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr-protos.h (expand_epilogue): Change prototype
- * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
- * config/avr/avr.c (init_cumulative_args)
- (avr_function_arg_advance): Use it.
- * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
- sibcall epilogues.
- (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
- (avr_function_ok_for_sibcall): ...this new function.
- (avr_lookup_function_attribute1): New static Function.
- (avr_naked_function_p, interrupt_function_p)
- (signal_function_p, avr_OS_task_function_p)
- (avr_OS_main_function_p): Use it.
- * config/avr/avr.md ("sibcall", "sibcall_value")
- ("sibcall_epilogue"): New expander.
- ("*call_insn", "*call_value_insn"): New insn.
- ("call_insn", "call_value_insn"): Remove
- ("call", "call_value", "epilogue"): Change expander to handle
- sibling calls.
-
-2011-03-21 Nick Clifton <nickc@redhat.com>
-
- * doc/invoke.texi (Overall Options): Move closing brace to end of
- options list.
- (Optimization Options): Add missing @gol.
- (Directory Options): Likewise.
- (i386 and x86-64 Options): Likewise.
- (RS6000 and PowerPC Options): Likewise.
- (i386 and x86-64 Windows Options): Likewise.
- (V850 Options): Add text missing from descriptions.
-
-2011-03-22 Richard Henderson <rth@redhat.com>
-
- * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
- (avr_incoming_return_addr_rtx): New.
- (emit_push_byte): New.
- (expand_prologue): Use it. Remove incorrect dwarf annotation for
- SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
- annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
- (emit_pop_byte): New.
- (expand_epilogue): Use it. Pop frame pointer by bytes.
- * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
- (INCOMING_RETURN_ADDR_RTX): New.
- (INCOMING_FRAME_SP_OFFSET): New.
- (ARG_POINTER_CFA_OFFSET): New.
- * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
- (*pushhi, *pushsi, *pushsf, popqi): Likewise.
- (pophi): Remove.
-
- * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
-
-2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
-
- * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
- (FUNCTION_ARG_ADVANCE): Likewise.
- * tm.texi.in: Change references to them to hook references.
- * tm.texi: Regenerate.
- * targhooks.c (default_function_arg): Eliminate check for target
- macro.
- (default_function_incoming_arg): Likewise.
- (default_function_arg_advance): Likewise.
- * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
- (function_arg_advance): Likewise.
- * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
-
-2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
-
- * tree.c (build_call_1): New function.
- (build_call_valist, build_call_array_loc, build_call_vec): Call it.
-
-2011-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48228
- * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
- for single-arg PHIs.
-
-2011-03-22 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48143
- * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
- (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
- sse2_cvtps2pd): Likewise.
-
-2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * recog.c (canonicalize_change_group): Use validate_unshare_change.
-
-2011-03-22 Richard Guenther <rguenther@suse.de>
-
- * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
- a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
- * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
- and REALIGN_LOAD_EXPR.
- (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
- DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
- * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
- DOT_PROD_EXPR case ...
- (expand_expr_real_2): ... here.
- * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
- and REALIGN_LOAD_EXPR.
- * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
- * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
- (vect_create_epilog_for_reduction): Likewise.
- (vectorizable_reduction): Likewise.
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
- * tree-vect-stmts.c (vectorizable_load): Likewise.
-
-2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
-
-2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_delegitimize_address): Fix offset
- handling for PLTOFF/GOTOFF.
-
-2011-03-22 Nick Clifton <nickc@redhat.com>
-
- * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
- trailing backslash from the end of the macro definition.
-
-2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
- and PLT unspecs.
-
-2011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * expr.h (prepare_operand): Move to...
- * optabs.h (prepare_operand): ...here and change the insn code
- parameter from "int" to "enum insn_code".
- (insn_operand_matches): Declare.
- * expr.c (init_expr_target): Use insn_operand_matches.
- (compress_float_constant): Likewise.
- * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
- * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
- (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
- (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
- Likewise.
- (gen_cond_trap): Likewise.
- (prepare_operand): Likewise. Change icode to an insn_code.
- (insn_operand_matches): New function.
- * reload.c (find_reloads_address_1): Use insn_operand_matches.
- * reload1.c (gen_reload): Likewise.
- * targhooks.c (default_secondary_reload): Likewise.
-
-2011-03-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (unspec): New define_c_enum.
- (unspecv): Ditto.
-
-2011-03-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR debug/48214
- * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
- between a call and its CALL_ARG_LOCATION note.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
-
-2011-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR c/42544
- PR c/48197
- * c-common.c (shorten_compare): If primopN is first sign-extended
- to opN and then zero-extended to result type, set primopN to opN.
-
-2011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
-
- * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
- for barrier handlers.
-
-2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
- UNSPEC constants to be in the unspec enumeration, and redefine
- all UNSPECV constants to be in the unspecv enumeration, so that
- dumps print which unspec/unspec_volatile this is.
- * config/rs6000/vector.md (UNSPEC_*): Ditto.
- * config/rs6000/paired.md (UNSPEC_*): Ditto.
- * config/rs6000/vsx.md (UNSPEC_*): Ditto.
- * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
- * config/rs6000/dfp.md (UNSPEC_*): Ditto.
-
- * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
- UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
- UNSPECV_LWSYNC, since these are used as unspec_volatile.
- * config/rs6000/sync.md (isync, lwsync): Ditto.
-
-2011-03-21 Richard Guenther <rguenther@suse.de>
-
- * params.def (lto-min-partition): Fix typo.
-
-2011-03-21 Richard Guenther <rguenther@suse.de>
-
- PR c/47939
- * c-decl.c (grokdeclarator): Drop to the main variant only
- for array types. Drop flag_gen_aux_info check.
-
-2011-03-21 Richard Guenther <rguenther@suse.de>
-
- PR translation/47911
- * params.def (lto-partitions): Fix typo.
- (lto-min-partition): Fix wording.
-
-2011-03-21 Andreas Tobler <andreast@fgznet.ch>
-
- * config/rs6000/t-freebsd: Remove duplication from file.
-
-2011-03-21 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47661
- * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
-
-2011-03-21 Richard Guenther <rguenther@suse.de>
-
- PR lto/48210
- * params.def (lto-partitions): Require at least 1 partition.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gthr-solaris.h: Remove.
- * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
- * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
- (LIB_SPEC): Likewise.
- * config/sol2.opt (threads): Remove.
- * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
- (sparc*-*-solaris2*): Likewise.
- * configure.ac (enable_threads): Enable solaris support.
- * configure: Regenerate.
- * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
- * doc/install.texi (Configuration, --enable-threads=lib): Remove
- solaris.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config.gcc: Obsolete *-*-solaris2.8*.
- * doc/install.texi (Specific, *-*-solaris2*): Document it.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/48135
- * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
- reference. Solaris 8 perl works.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/48135
- * doc/install.texi (Prerequisites): Move jar etc. up.
- Explain support library version requirements.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/48135
- * doc/install.texi (Prerequisites): Move Perl to build
- requirements. Always necessary on Solaris 2 with Sun ld.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
- binutils 2.21.
- (Specific, i?86-*-solaris2.[89]): Likewise.
- (Specific, i?86-*-solaris2.10): Likewise.
- (Specific, mips-sgi-irix6): Likewise.
- (Specific, *-*-solaris2*): Remove Sun Studio download URL.
- Update for binutils 2.21.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_lto_plugin): Fix typo.
- Allow -fuse-linker-plugin for non-default plugin linker.
- * configure: Regenerate.
-
-2011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR bootstrap/48167
- * gengtype.c (files_rules): Added rule for cp/parser.h.
-
-2011-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48213
- * config/s390/s390.c (s390_delegitimize_address): Don't call
- lowpart_subreg if orig_x has BLKmode.
-
-2011-03-21 Kai Tietz <ktietz@redhat.com>
-
- PR target/12171
- * doc/plugins.texi: Adjust documentation for plugin register_callback.
- * tree.h (attribute_spec): Add new member affects_type_identity.
- * attribs.c (empty_attribute_table): Adjust attribute_spec
- initializers.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/crx/crx.c: Likewise.
- * config/darwin.h: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/cygming.h: Likewise.
- * config/i386/i386.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68hc11/m68hc11.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sol2.h: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/v850/v850.c: Likewise.
-
-2011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
-
- * simplify-rtx.c (simplify_binary_operation_1): Handle
- (xor (and A B) C) case when B and C are both constants.
-
-2011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
-
- * tree-dfa.c (add_referenced_var): Fix typo in comment.
-
-2011-03-20 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/48168
- * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
-
-2011-03-20 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48156
- * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
- assume df and df_lr are not NULL.
-
-2011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR debug/48023
- * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
- between a call and its CALL_ARG_LOCATION note.
-
-2011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR debug/48178
- * config/sh/sh.c (find_barrier): Don't emit a constant pool
- between a call and its corresponding CALL_ARG_LOCATION note.
-
-2011-03-19 Anatoly Sokolov <aesok@post.ru>
-
- * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
- instead of loop. Use HARD_REGISTER_NUM_P predicate.
- * haifa-sched.c (setup_ref_regs): Ditto.
- * caller-save.c (add_used_regs_1): Ditto.
- * dse.c (look_for_hardregs): Ditto.
- * df-problems.c (df_simulate_one_insn_forwards): Ditto.
- * sched-rgn.c (check_live_1): Ditto.
-
-2011-03-18 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (diagnose_mismatched_decls): Give an error for
- redefining a typedef with variably modified type.
-
-2011-03-18 Joseph Myers <joseph@codesourcery.com>
-
- * c-decl.c (grokfield): Don't allow typedefs for structures or
- unions with no tag by default.
- * doc/extend.texi (Unnamed Fields): Update.
-
-2011-03-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
- Rewrite using indirect functions.
- (lwp_slwpcb): Ditto.
- * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
- (avx_vinsertf128<mode>): Ditto.
-
-2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
- unspecs.
-
-2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
- splitting between a call and its corresponding CALL_ARG_LOCATION note.
-
-2011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- PR rtl-optimization/48170
- * gcse.c (hoist_code): Remove bogus asserts.
-
-2011-03-18 Georg-Johann Lay <avr@gjlay.de>
-
- * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
- computation for prologue/epilogue.
-
-2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.in (check-consistency): Remove.
-
-2011-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48176
- * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
- arange_table_in_use is 0, but either text_section_used or
- cold_text_section_used is true. Don't call it if
- !info_section_emitted.
-
-2011-03-18 Anatoly Sokolov <aesok@post.ru>
-
- * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
- FUNCTION_VALUE_REGNO_P): Remove.
- * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
- Remove.
- * config/avr/avr.c (avr_ret_register): Make static inline.
- (avr_function_value_regno_p): New function.
- (avr_libcall_value): Make static. Add 'func' argument.
- (avr_function_value): Make static. Rename 'func' argument to
- 'fn_decl_or_type', forward it to avr_libcall_value. Call
- avr_ret_register function instead of RET_REGISTER macro.
- (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
-
-2011-03-18 Jason Merrill <jason@redhat.com>
-
- PR c++/23372
- * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
-
-2011-03-18 Richard Guenther <rguenther@suse.de>
-
- * doc/install.texi (--enable-gold): Remove.
- (--with-plugin-ld): Document.
- * doc/invoke.texi (-fuse-linker-plugin): Clarify.
-
-2011-03-18 Andrew Pinski <pinskia@gmail.com>
-
- PR middle-end/47790
- * expr.c (optimize_bitfield_assignment_op): Revamp to work
- again after expansion changes.
-
-2011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
-
- * combine.c (try_combine): Do simplification only call of
- subst() on i2 even when i1 is present. Update comments.
-
-2011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
- and UNSPEC_PCREL_SYMOFF.
-
-2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md: Use define_c_enum for the unspec constant
- definitions.
-
-2011-03-18 Richard Henderson <rth@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/48161
- * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
- instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
-
-2011-03-17 Anatoly Sokolov <aesok@post.ru>
-
- * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
- * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
- * config/v850/v850.c (v850_output_addr_const_extra): Make static.
- Change return type to bool.
- (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
-
-2011-03-17 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48163
- * var-tracking.c (prepare_call_arguments): If CALL target
- is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
- pc instead of looking it up using cselib_lookup and use
- Pmode for it if x has VOIDmode.
- * dwarf2out.c (gen_subprogram_die): If also both first and
- second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
-
- PR debug/48163
- * function.c (assign_parms): For data.passed_pointer parms
- use MEM of data.entry_parm instead of data.entry_parm itself
- as DECL_INCOMING_RTL.
- * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
- also when passed and declared mode is the same, DECL_RTL
- is a MEM with pseudo as address and DECL_INCOMING_RTL is
- a MEM too.
-
-2011-03-16 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/37273
- * ira-costs.c (scan_one_insn): Detect constants living in memory and
- handle them like argument loads from stack slots. Do not double
- count memory for memory constants and argument loads from stack slots.
-
-2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR debug/48160
- * var-tracking.c (prepare_call_arguments): Check SUBREG.
-
-2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/48171
- * config/i386/i386.opt: Add Save to -mavx and -mfma.
-
-2011-03-17 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/48153
- * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
- if dwarf_strict.
- (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
- Clear call_arg_locations and call_arg_loc_last always.
-
- PR middle-end/48152
- * var-tracking.c (prepare_call_arguments): If argument needs to be
- passed by reference, adjust argtype and mode.
-
-2011-03-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48134
- * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
- a value make sure to fold the statement.
-
-2011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR target/43872
- * config/arm/arm.c (arm_get_frame_offsets): Adjust early
- return condition with !cfun->calls_alloca.
-
-2011-03-17 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/48148
- * lto-cgraph.c (input_overwrite_node): Clear the abstract
- origin for decls in other ltrans units.
- (input_varpool_node): Likewise.
-
-2011-03-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48165
- * tree-object-size.c (compute_object_offset): Properly return
- the offset operand of MEM_REFs as sizetype.
-
-2011-03-17 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48141
- * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
- * dse.c: Include params.h.
- (active_local_stores_len): New variable.
- (add_wild_read, dse_step1): Clear it when setting active_local_stores
- to NULL.
- (record_store, check_mem_read_rtx): Decrease it when removing
- from the chain.
- (scan_insn): Likewise. Increase it when adding to chain, if it
- reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
- set active_local_stores to NULL before the addition.
- * Makefile.in (dse.o): Depend on $(PARAMS_H).
-
- PR rtl-optimization/48141
- * dse.c (record_store): If no positions are needed in an insn
- that cannot be deleted, at least unchain it from active_local_stores.
-
-2011-03-16 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/47510
- * dwarf2out.c (strip_naming_typedef): Factorize out of ...
- (lookup_type_die_strip_naming_typedef): ... here.
- (get_context_die): Use it.
- (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
- the anonymous struct named by the naming typedef.
-
-2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/48154
- * config/i386/i386.c (ix86_builtin_vectorized_function): Check
- TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
-
-2011-03-16 Jeff Law <law@redhat.com>
-
- * tree-vrp.c (identify_jump_threads): Slightly simplify type
- check for operands of conditional. Allow type to be a pointer.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48149
- * fold-const.c (fold_binary_loc): Fold
- COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/26134
- * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
- complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
- (non_rewritable_mem_ref_base): Handle complex type component
- accesses, constrain offsets for vector and complex extracts
- more properly.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48146
- * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
- operands avoiding the need for renaming.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- * gimple-fold.c (maybe_fold_reference): Open-code relevant
- constant folding. Move MEM_REF canonicalization first.
- Rely on fold_const_aggregate_ref for initializer folding.
- * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
-
-2011-03-16 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48136
- * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
- arg0/arg1 or their arguments are always fold converted to matching
- types.
-
- * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
- to nargs.
-
-2011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR lto/46944
- * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
- Handle in-tree gold.
- (ld_vers): Extract binutils version for gold.
- (gcc_cv_ld_hidden): Handle gold here.
- (gcc_cv_lto_plugin): Determine level of linker plugin support.
- * configure: Regenerate.
- * config.in: Regenerate.
- * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
- -fuse-linker-plugin otherwise.
- (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
- (LINK_COMMAND_SPEC): Use it.
- (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
-
-2011-03-16 Jakub Jelinek <jakub@redhat.com>
-
- * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
- * calls.c: Remove debug.h include.
- (emit_call_1): Don't call virtual_call_token debug hook.
- * dwarf2out.c (debug_dcall_section, debug_vcall_section,
- dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
- vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
- size_of_dcall_table, output_dcall_table, size_of_vcall_table,
- output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
- vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
- dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
- dwarf2out_virtual_call): Remove.
- (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
- copy_call_info and virtual_call hooks.
- (dwarf2out_init): Don't initialize vcall_insn_table,
- debug_dcall_section and debug_vcall_section.
- (prune_unused_types): Don't mark nodes from dcall_table.
- (dwarf2out_finish): Don't output dcall or vcall tables.
- * final.c (final_scan_insn): Don't call direct_call or
- virtual_call debug hooks.
- * debug.h (struct gcc_debug_hooks): Remove direct_call,
- virtual_call_token, copy_call_info and virtual_call hooks.
- (debug_nothing_uid): Remove prototype.
- * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
- copy_call_info and virtual_call hooks.
- * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
- * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
- * debug.c (do_nothing_debug_hooks): Likewise.
- (debug_nothing_uid): Remove.
- * doc/invoke.texi (-fenable-icf-debug): Remove.
- * common.opt (-fenable-icf-debug): Likewise.
-
- * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
- * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
- call's MEM. Handle functions returning aggregate through a hidden
- first pointer. For virtual calls add clobbered pc to call arguments
- chain.
- * dwarf2out.c (gen_subprogram_die): Emit
- DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
- can't be emitted.
-
- PR debug/45882
- * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
- * rtl.h (ENTRY_VALUE_EXP): Define.
- * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
- * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * gengtype.c (adjust_field_rtx_def): Likewise.
- * var-tracking.c (vt_add_function_parameter): Adjust
- gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
- * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
- * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
- partition is a default definition of a PARM_DECL, use ENTRY_VALUE
- of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
-
- * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
- Call var_location debug hook even on CALL_INSNs.
- (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
- * rtl.def (ENTRY_VALUE): New.
- * dwarf2out.c: Include cfglayout.h.
- (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
- output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
- (struct call_arg_loc_node): New type.
- (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
- tail_call_site_count): New variables.
- (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
- DW_TAG_GNU_call_site_parameter.
- (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
- DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
- DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
- DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
- and DW_AT_GNU_all_source_call_sites.
- (mem_loc_descriptor): Handle ENTRY_VALUE.
- (add_src_coords_attributes): Don't add enything if
- DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
- (dwarf2out_abstract_function): Save and clear call_arg_location,
- call_site_count and tail_call_site_count around dwarf2out_decl call.
- (gen_call_site_die): New function.
- (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
- (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
- (dwarf2out_function_decl): Clear call_arg_locations,
- call_arg_loc_last, set call_site_count and tail_call_site_count
- to -1 and free block_map.
- (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
- CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
- followed by any real instructions.
- (dwarf2out_begin_function): Set call_site_count and
- tail_call_site_count to 0.
- (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
- is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
- attempt to force a DIE for it and worst case remove the attribute.
- (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
- check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
- the decl itself.
- * var-tracking.c: Include tm_p.h.
- (vt_stack_adjustments): For calls call note_register_arguments.
- (argument_reg_set): New variable.
- (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
- ensure the VALUE is resolved.
- (call_arguments): New variable.
- (prepare_call_arguments): New function.
- (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
- (struct expand_loc_callback_data): Add ignore_cur_loc field.
- (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
- always use the best expression.
- (vt_expand_loc): Add ignore_cur_loc argument.
- (vt_expand_loc_dummy): Clear ignore_cur_loc field.
- (emit_note_insn_var_location): Adjust vt_expand_loc callers.
- (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
- note for all calls.
- (vt_add_function_parameter): Use cselib_lookup_from_insn.
- If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
- argument. Don't call cselib_preserve_only_values and
- cselib_reset_table.
- (note_register_arguments): New function.
- (vt_initialize): Compute argument_reg_set. Call
- vt_add_function_parameters before processing basic blocks instead of
- afterwards. For calls call prepare_call_arguments before calling
- cselib_process_insn.
- * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
- * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
- (var-tracking.o): Depend on $(TM_P_H).
- * cfglayout.h (insn_scope): New prototype.
- * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
- * cfglayout.c (insn_scope): No longer static.
- * insn-notes.def (CALL_ARG_LOCATION): New.
- * calls.c (expand_call, emit_library_call_value_1): Put USEs for
- MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
- * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
- nothing for DECL_EXTERNAL BLOCK_VARS.
-
-2011-03-16 Alan Modra <amodra@gmail.com>
-
- PR target/45844
- * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
- create invalid offset address for vsx splat insn.
- * config/rs6000/predicates.md (splat_input_operand): New.
- * config/rs6000/vsx.md (vsx_splat_*): Use it.
-
-2011-03-15 Xinliang David Li <davidxl@google.com>
-
- PR c/47837
- * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
- (normalize_preds): New function.
- (is_use_properly_guarded): Normalize def predicates.
-
-2011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/46788
- * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
- in the output template.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47650
- * tree-pretty-print.c (dump_function_declaration): Properly
- dump unprototyped and varargs function types.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/13954
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
- and friends.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48037
- * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
- selects into BIT_FIELD_REFs.
- (non_rewritable_mem_ref_base): Check if a MEM_REF is a
- vector select.
-
-2011-03-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48129
- * builtins.c (fold_builtin_snprintf): Convert to type of
- built_in_decls[BUILT_IN_SNPRINTF] retval instead of
- implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/41490
- * tree-ssa-dce.c (propagate_necessity): Handle returns without
- value but with VUSE.
- * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
- return statements.
- * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
- * tree-tailcall.c (find_tail_calls): Ignore returns.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48031
- * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
- or variable-indexed array accesses when in gimple form.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
-
-2011-03-15 Alan Modra <amodra@gmail.com>
-
- PR target/48032
- * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
- presume symbol_refs without a symbol_ref_decl are suitably
- aligned, nor other trees we may see here. Handle anchor symbols.
- (legitimate_constant_pool_address_p): Comment. Add mode param.
- Check cmodel=medium addresses. Adjust all calls.
- (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
- creating cmodel=medium optimized access to locals.
- * config/rs6000/constraints.md (R): Pass QImode to
- legitimate_constant_pool_address_p.
- * config/rs6000/predicates.md (input_operand): Pass mode to
- legitimate_constant_pool_address_p.
- * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
- Update prototype.
-
-2011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48053
- * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
- 64-bit constants being loaded into registers other than GPRs such
- as loading 0 into a VSX register.
-
-2011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
-
-2011-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47917
- * builtins.c (fold_builtin_snprintf): New function.
- (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
- (fold_builtin_4): Likewise.
-
- PR middle-end/38878
- * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
- STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
- and C - X == X also strip nops from +/-/p+ operand.
- When optimizing -X == C, fold C to arg0's type.
-
- PR debug/47946
- * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
- emit it as add_AT_int instead of add_AT_unsigned.
-
-2011-03-14 Tom Tromey <tromey@redhat.com>
-
- * unwind-dw2.c: Include sys/sdt.h if it exists.
- (_Unwind_DebugHook): Use STAP_PROBE2.
- * config.in, configure: Rebuild.
- * configure.ac: Check for sys/sdt.h.
-
-2011-03-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ROUND_FLOOR): New constant.
- (ROUND_CEIL): Ditto.
- (ROUND_TRUNC): Ditto.
- (ROUND_MXCSR): Ditto.
- (ROUND_NO_EXC): Ditto.
- (rint<mode>2): Use new defines instead of numerical constants.
- (floor<mode>2): Ditto.
- (ceil<mode>2): Ditto.
- (btrunc<mode>2): Ditto.
- * config/i386/i386-builtin-types.def: Define ROUND function type
- aliases.
- * config/i386/i386.c (enum ix86_builtins): Add
- IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
- (struct builtin_description): Add
- __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
- (ix86_expand_sse_round): New static function.
- (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
- function types.
- (ix86_builtin_vectorized_function): Handle
- BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
-
-2011-03-14 Tom Tromey <tromey@redhat.com>
-
- * c-parser.c (c_parser_asm_string_literal): Clear
- warn_overlength_strings.
-
-2011-03-14 Tom Tromey <tromey@redhat.com>
-
- * c-parser.c (disable_extension_diagnostics): Save
- warn_overlength_strings.
- (restore_extension_diagnostics): Restore warn_overlength_strings.
-
-2011-03-14 Jakub Jelinek <jakub@redhat.com>
-
- * BASE-VER: Change to 4.7.0.
-
-2011-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48098
- * tree.c (build_vector_from_val): Adjust assert to requirements
- and reality.
-
-2011-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/48102
- * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
-
-2011-03-14 Andreas Tobler <andreast@fgznet.ch>
-
- * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
- terms of target_flags_explicit. Adjust copyright year.
-
- * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
- * config/rs6000/t-freebsd: New file. Add override for
- LIB2FUNCS_EXTRA.
-
-2011-03-13 Chris Demetriou <cgd@google.com>
-
- * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
- (-fno-diagnostics-show-option): this, to reflect current default.
- (-Werror=): Update text about -fno-diagnostics-show-option.
-
-2011-03-12 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/48053
- * config/rs6000/predicates.md (easy_vector_constant_add_self,
- easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
- * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
- mode is not V2DImode or V2DFmode.
- (vspltis_constant): Do not handle V2DImode and V2DFmode.
- (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
- * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
- registers to 0.
- (movdi_internal64): Likewise.
-
-2011-03-12 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/47127
- * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
- parameter.
- (set_cloog_options): Same.
- (scop_to_clast): Same.
- (print_clast_stmt): Do not call cloog_state_malloc and
- cloog_state_free.
- (print_generated_program): Same.
- (gloog): Same.
- * graphite-clast-to-gimple.h (cloog_state): Declared.
- (scop_to_clast): Adjust declaration.
- * graphite.c (cloog_state): Defined here.
- (graphite_initialize): Call cloog_state_malloc.
- (graphite_finalize): Call cloog_state_free.
-
-2011-03-11 Jason Merrill <jason@redhat.com>
-
- * attribs.c (lookup_attribute_spec): Take const_tree.
- * tree.h: Adjust.
-
-2011-03-11 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/sparc.c (sparc_option_override): Use
- PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
-
-2011-03-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48067
- * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
- multiplication result will be only used once on the target
- stmt.
-
-2011-03-11 Richard Guenther <rguenther@suse.de>
-
- * doc/invoke.texi (max-inline-insns-single): Adjust default value.
-
-2011-03-11 Richard Guenther <rguenther@suse.de>
-
- PR lto/48073
- * tree.c (find_decls_types_r): Do not walk types only reachable
- from IDENTIFIER_NODEs.
-
-2011-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48044
- * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
- all vnode->force_output nodes as needed.
-
-2011-03-11 Jason Merrill <jason@redhat.com>
-
- PR c++/48069
- * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
- COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
-
-2011-03-11 Martin Jambor <mjambor@suse.cz>
-
- * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
- cgraph_node.
-
-2011-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48063
- * ipa-inline.c (cgraph_decide_inlining): Don't try to
- inline functions called once if !tree_can_inline_p (node->callers).
-
-2011-03-11 Chen Liqin <liqin.gcc@gmail.com>
-
- * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
- extra_objs.
- * config/score/score3.c: Delete.
- * config/score/score3.h: Delete.
- * config/score/mul-div.S: Delete.
- * config/score/sfp-machine.h: Add new file.
- * config/score/constraints.md: Add new file.
- * config/score/t-score-softfp: Add new file.
- * config/score/t-score-elf: Remove score3.o, do not generate multilib.
- * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
- (score7_extra_constraint): Delete.
- (score7_option_override): Remove unused code.
- * config/score/score.c: Remove score3 and score5 define and code.
- * config/score/score.h: Remove score3 and score5 define and code.
- * config/score/score.md: Remove score3 template and unusual insn.
- * config/score/score.opt: Remove score3 and score5 options.
-
-2011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
- when _HPUX_SOURCE is defined.
- (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
-
-2011-03-10 Jason Merrill <jason@redhat.com>
-
- PR c++/48029
- * stor-layout.c (layout_type): Don't set structural equality
- on arrays of incomplete type.
- * tree.c (type_hash_eq): Handle comparing them properly.
-
-2011-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48043
- * config/s390/s390.c (s390_delegitimize_address): Make sure the
- result mode matches original rtl mode.
-
-2011-03-10 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
- (andsi3, andsi3_flags): Fix timings for three operand alternative.
-
-2011-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/47866
- * expr.c (store_field): If MEM_SCALAR_P (target), don't use
- MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
- if target wasn't scalar.
- * function.c (assign_stack_temp_for_type): Assert that neither
- MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
- MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
- macro.
- * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
-
-2011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390-protos.h (s390_label_align): New prototype.
- * config/s390/s390.c (s390_label_align): New function.
- * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
-
-2011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47755
- * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
- V2DI/V2DF constants. Only all 0's or all 1's are easy.
- (output_vec_const_move): Ditto.
-
-2011-03-08 Anatoly Sokolov <aesok@post.ru>
-
- * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
- * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
- * config/mips/mips.c (mips_preferred_reload_class): Make static.
- Change 'rclass' argument and result type to reg_class_t.
- (TARGET_PREFERRED_RELOAD_CLASS): Define.
-
-2011-03-08 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
- (TARGET_MEMORY_MOVE_COST): Define.
- (avr_register_move_cost, avr_memory_move_cost): New Functions.
-
-2011-03-08 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47881
- * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
- removed anything.
-
- PR tree-optimization/48022
- * fold-const.c (fold_comparison): Don't call fold_overflow_warning
- for EQ/NE_EXPR.
-
-2011-03-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47991
- * var-tracking.c (find_use_val): Return NULL for
- cui->sets && cui->store_p BLKmode MEMs.
-
-2011-03-07 Anatoly Sokolov <aesok@post.ru>
-
- * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
- Remove.
- * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
- xstormy16_print_operand_address): Remove.
- * config/stormy16/stormy16.c (xstormy16_print_operand,
- xstormy16_print_operand_address): Make static.
- (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
-
-2011-03-07 Pat Haugen <pthaugen@us.ibm.com>
-
- PR target/47862
- * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
- * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
- before definition.
-
-2011-03-07 Zdenek Dvorak <ook@ucw.cz>
-
- PR bootstrap/48000
- * cfgloopmanip.c (fix_bb_placements): Return immediately
- if FROM is BASE_LOOP's header.
-
-2011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
-
- * gimplify.c (gimplify_function_tree): Fix building calls
- to __builtin_return_address.
-
-2011-03-07 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
- * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
- * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
- * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
- return_mode args.
- * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
- (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
- (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
- (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
- * config/rs6000/rs6000.c
- (rs6000_elf_end_indicate_exec_stack): Rename to..
- (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
- for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
- (rs6000_file_start): ..here.
- (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
- file scope variables.
- (call_ABI_of_interest): New function.
- (init_cumulative_args): Set above vars when function return value
- is a float, vector, or small struct.
- (rs6000_function_arg_advance_1): Likewise for function args.
- (rs6000_va_start): Set rs6000_passes_float if variable arg function
- references float args.
-
-2011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
-
- * doc/cfg.texi: Remove "See" before @ref.
- * doc/invoke.texi: Likewise.
-
-2011-03-05 Jason Merrill <jason@redhat.com>
-
- * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
-
-2011-03-05 Anthony Green <green@moxielogic.com>
-
- * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
-
-2011-03-05 Zdenek Dvorak <ook@ucw.cz>
-
- PR rtl-optimization/47899
- * cfgloopmanip.c (fix_bb_placements): Fix first argument
- to flow_loop_nested_p when moving the loop upward.
-
-2011-03-05 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/47719
- * arm.md (movhi_insn_arch4): Accept any immediate constant.
-
-2011-03-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47967
- * ipa-cp.c (build_const_val): Return NULL instead of creating
- VIEW_CONVERT_EXPR for mismatching sizes.
- (ipcp_create_replace_map): Return NULL if build_const_val failed.
- (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
- give up on versioning.
-
-2011-03-05 Alan Modra <amodra@gmail.com>
-
- PR target/47986
- * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
- full cmodel medium/large lo_sum + high addresses.
-
-2011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_decompose_address): Reject non-literal
- pool references in UNSPEC_LTREL_OFFSET.
-
-2011-03-04 Jan Hubicka <jh@suse.cz>
-
- PR lto/47497
- * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
- (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
- * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
- Add node pointers.
- * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
- cgraph_add_thunk): Add node pointers.
- * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
- associated to right node.
- (input_node): Update use of cgraph_same_body_alias
- and cgraph_add_thunk.
-
-2011-03-04 Changpeng Fang <changpeng.fang@amd.com>
-
- * config/i386/i386.opt (mprefer-avx128): New flag.
- * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
- modes when the flag -mprefer-avx128 is on.
-
-2011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
-
- * dwarf2out.c (compare_loc_operands): Fix address handling.
-
-2011-03-04 Alan Modra <amodra@gmail.com>
-
- * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
-
-2011-03-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47968
- * expmed.c (extract_bit_field_1): Prefer vector modes that
- vec_extract patterns can handle.
-
-2011-03-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47975
- * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
-
-2011-03-04 Richard Henderson <rth@redhat.com>
-
- * explow.c (emit_stack_save): Remove 'after' parameter.
- (emit_stack_restore): Likewise.
- * expr.h: Update to match.
- * builtins.c, calls.c, stmt.c: Likewise.
- * config/alpha/alpha.md, config/avr/avr.md: Likewise.
- * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
- * function.c (expand_function_end): Insert the emit_stack_save
- sequence before parm_birth_insn instead of after.
-
-2011-03-03 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
- (ssse3_pmaddubsw128): Ditto.
- (ssse3_pmaddubsw): Ditto.
-
-2011-03-03 Steve Ellcey <sje@cup.hp.com>
-
- * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
-
-2011-03-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c/47963
- * gimplify.c (omp_add_variable): Only call omp_notice_variable
- on TYPE_SIZE_UNIT if it is a DECL.
-
- PR debug/47283
- * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
- first operand is not is_gimple_mem_ref_addr, try to fold it.
- If the operand still isn't is_gimple_mem_ref_addr, clear
- MEM_EXPR on op0.
-
-2011-03-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47283
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
- match comment.
- (refs_may_alias_p_1): For release branches return true if
- we are confused by our input.
-
-2011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_function_value): Rename to ...
- (s390_function_and_libcall_value): ... this.
- (s390_function_value): New function.
- (s390_libcall_value): New function.
- (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
- * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
- target macro definitions.
- * config/s390/s390-protos.h (s390_function_value): Remove prototype.
-
-2011-03-02 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/freebsd64.h (CC1_SPEC): Define.
- * config/i386/linux64.h (CC1_SPEC): Define.
- * config/i386/x86-64.h (CC1_SPEC): Don't define.
-
-2011-03-02 Anatoly Sokolov <aesok@post.ru>
-
- * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
- Remove.
- * config/stormy16/stormy16.c: Include reload.h.
- (xstormy16_memory_move_cost): New function.
- (TARGET_MEMORY_MOVE_COST): Define.
-
-2011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/47925
- * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
- with side effects. Remove the more-specific check for volatile asms.
-
-2011-03-02 Alan Modra <amodra@gmail.com>
-
- PR target/47935
- * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
- toc relative addresses for valid offsets.
-
-2011-03-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47890
- * tree-vect-loop.c (get_initial_def_for_induction): Set
- related stmt properly.
-
-2011-03-01 Richard Guenther <rguenther@suse.de>
-
- PR lto/47924
- * lto-streamer.c (lto_record_common_node): Also register
- the canonical type.
-
-2011-03-01 Richard Guenther <rguenther@suse.de>
-
- PR lto/46911
- * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
- Do not stream DECL_ABSTRACT_ORIGIN.
- (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
- BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
- * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
- Do not stream DECL_ABSTRACT_ORIGIN.
- (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
- BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
-
-2011-02-28 Anatoly Sokolov <aesok@post.ru>
-
- * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
- FUNCTION_VALUE_REGNO_P): Remove.
- * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
- * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
- Add 'outgoing' argument.
- (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
- function.
- (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
- TARGET_FUNCTION_VALUE_REGNO_P): Define.
-
-2011-02-28 Kai Tietz <kai.tietz@onevision.com>
-
- PR debug/28047
- * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
- (lookup_filename): Likewise.
- * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
-
-2011-02-28 Bernd Schmidt <bernds@codesourcery.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47893
- * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
- (assign_stack_local_1): Change last argument type to int.
- * function.c (assign_stack_local_1): Replace reduce_alignment_ok
- argument with kind. If bit ASLK_RECORD_PAD is not set in it,
- don't record padding space into frame_space_list nor use those areas.
- (assign_stack_local): Adjust caller.
- (assign_stack_temp_for_type): Call assign_stack_local_1 instead
- of assign_stack_local, pass 0 as last argument.
- * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
- callers.
-
-2011-02-28 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47283
- * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
- Use target address_mode and pointer_mode hooks instead of hardcoded
- Pmode and ptr_mode. Handle some simple cases of extending if
- POINTERS_EXTEND_UNSIGNED < 0.
- (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
- Call convert_debug_memory_address.
- (expand_debug_expr) <case ADDR_EXPR>: Pass as to
- convert_debug_memory_address.
-
- PR middle-end/46790
- * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
- * configure: Regenerated.
- * config.in: Regenerated.
- * varasm.c (default_function_section): Return NULL
- if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
-
-2011-02-28 Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
- the description to match the printed values.
-
-2011-02-28 Richard Guenther <rguenther@suse.de>
-
- * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
- of the copied scope tree.
-
-2011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/extend.texi (Function Attributes): Avoid deeply (and
- wrongly) nested tables.
-
-2011-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47903
- * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
- MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
- r isn't op0 nor op1.
-
-2011-02-23 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/avr.md: Remove magic comment for emacs.
-
-2011-02-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/45261
- * config/avr/avr.c (avr_option_override): Use error on bad options.
- (avr_help): New function.
- (TARGET_HELP): Define.
-
-2011-02-22 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/42240
- * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
- (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
-
-2011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
- (ARM Options): Ditto.
- (i386 and x86-64 Options): Ditto.
- (RX Options): Ditto.
- (SPARC Options): Ditto.
-
-2011-02-26 Tijl Coosemans <tijl@coosemans.org>
-
- * config.gcc (i386-*-freebsd*): Make i486 the default arch on
- FreeBSD 6 and later. Generally use cpu generic.
-
-2011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/cpp.texi: Update copyright years.
-
-2011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
-
- PR target/46898
- * config/lm32/lm32.md (ashrsi3): Added needed variable.
-
-2011-02-25 Jon Beniston <jon@beniston.com>
-
- PR target/46898
- * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
- * config/lm32/lm32.md (ashlsi3): Remove unused variable.
- * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
- (lm32_block_move_inline): Add type cast to remove warning.
- (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
- (gen_int_relational): Move declarations to start of function.
-
-2011-02-25 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/45470
- * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
- can throw internally only.
- * tree-vect-stmts.c (vectorizable_call): Likewise.
-
-2011-02-24 Anatoly Sokolov <aesok@post.ru>
-
- * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
- PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
- * config/stormy16/stormy16-protos.h
- (xstormy16_preferred_reload_class): Remove.
- * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
- static. Change 'rclass' argument and return type to reg_class_t.
- (TARGET_PREFERRED_RELOAD_CLASS,
- TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
-
-2011-02-24 Richard Guenther <rguenther@suse.de>
-
- * lto-streamer-in.c (input_bb): Do not find referenced vars
- in debug statements.
-
-2011-02-23 Jason Merrill <jason@redhat.com>
-
- * common.opt (fabi-version): Document v5 and v6.
-
-2011-02-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47849
- * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
-
-2011-02-23 Jie Zhang <jie@codesourcery.com>
-
- * opts-common.c (decode_cmdline_option): Print empty string
- argument as "" in decoded->orig_option_with_args_text.
- * gcc.c (execute): Print empty string argument as ""
- in the verbose output.
- (do_spec_1): Keep empty string argument.
-
-2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
-
- * config.gcc: Declare score-* and crx-* obsolete.
-
-2011-02-23 Jie Zhang <jie@codesourcery.com>
-
- PR rtl-optimization/47763
- * web.c (web_main): Ignore naked clobber when replacing register.
-
-2011-02-22 Anatoly Sokolov <aesok@post.ru>
-
- * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
- Remove.
-
-2011-02-22 Sebastian Pop <sebastian.pop@amd.com>
-
- PR doc/47848
- * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
-
-2011-02-22 Mike Stump <mikestump@comcast.net>
-
- * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
- assembler.
- * configure: Regenerate.
-
-2011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR rtl-optimization/46002
- * ira-color.c (update_copy_costs): Change class intersection
- test to reg_class_contents[] test of 'hard_regno'.
-
-2011-02-21 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
- than Driver option.
- * config/hpux11.opt (mt): Likewise.
- * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
- * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
- * config/vax/elf.opt (mno-asm-pic): Likewise.
- * config/vms/vms.opt (map, mvms-return-codes): Likewise.
-
-2011-02-21 Mike Stump <mikestump@comcast.net>
-
- PR target/47822
- * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
- tree so we can get save the type.
- * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
- for CFString instead of trying to use past the end of the builtins.
- * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
- * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
- * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
- * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
- Rename to darwin_builtin_cfstring.
- (darwin_init_cfstring_builtins): Return the built type.
-
-2011-02-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/47840
- * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
- (_mm256_insert_epi64): Use _mm_insert_epi64.
-
-2011-02-21 Anatoly Sokolov <aesok@post.ru>
-
- * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
- * config/stormy16/stormy16-protos.h
- (xstormy16_mode_dependent_address_p): Remove.
- * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
- Make static. Change return type to bool. Change argument type to
- const_rtx. Remove dead code.
- (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
-
-2011-02-21 Richard Guenther <rguenther@suse.de>
-
- PR lto/47820
- * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
- Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
- (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
- TUs context.
- * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
- Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
-
-2011-02-20 Richard Guenther <rguenther@suse.de>
-
- PR lto/47822
- * tree.c (free_lang_data_in_decl): Clean builtins from
- the TU decl BLOCK_VARS.
-
-2011-02-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47620
- PR debug/47630
- * haifa-sched.c (fix_tick_ready): Skip tick computation
- for debug insns.
-
-2011-02-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/47647
- * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
- Remove lazy BLOCK_VARS streaming.
- (lto_input_ts_block_tree_pointers): Likewise.
- * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
-
-2011-02-19 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
-
-2011-02-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/biarch32.h, config/i386/mach.h,
- config/rs6000/aix.opt, config/sh/superh64.h: Remove.
-
-2011-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47800
- * config/i386/i386.md (peephole2 for shift and plus): Use
- operands[1] original mode in the first insn.
-
-2011-02-18 Mike Stump <mikestump@comcast.net>
-
- * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
-
-2011-02-18 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/47788
- * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
- to zero when the function is not inlinable at all.
-
-2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
- * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
- pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
- * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
- * config/pa/t-pa64: Likewise.
- * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
-
-2011-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR driver/47787
- * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
-
-2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR target/47792
- * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
-
-2011-02-18 Anatoly Sokolov <aesok@post.ru>
-
- * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
- LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
- GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
- (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
- m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
- m32r_load_postinc_p, m32r_store_preinc_predec_p,
- m32r_legitimate_address_p): New functions.
- * config/m32r/constraints.md (constraint "S"): Don't use
- STORE_PREINC_PREDEC_P.
- (constraint "U"): Don't use LOAD_POSTINC_P.
-
-2011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR rtl-optimization/46178
- * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
- compute ira_hard_regno_cover_class[].
-
-2011-02-18 Richard Guenther <rguenther@suse.de>
-
- PR lto/47798
- * lto-streamer.h (lto_global_var_decls): Declare.
- * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
- statics for global var processing.
-
-2011-02-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47737
- * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
- edge dominance check.
-
-2011-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47780
- * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
- avoid invalid rtx sharing.
-
-2011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/cpp.texi (Obsolete Features): Add background on the
- origin of assertions.
-
-2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
- objc_abi == 2.
- * config/darwin.c (output_objc_section_asm_op): Added support for
- ABI v1 and v2.
- (is_objc_metadata): New.
- (darwin_objc2_section): New.
- (darwin_objc1_section): New.
- (machopic_select_section): Added support for ABI v1 and v2.
- (darwin_emit_objc_zeroed): New.
- (darwin_output_aligned_bss): Detect objc metadata and treat it
- appropriately.
- (darwin_asm_output_aligned_decl_common): Same.
- (darwin_asm_output_aligned_decl_local): Same.
- * config/darwin-sections.def: Updated for ABI v1 and v2.
- * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
- compiling Objective-C code for the NeXT runtime, default to using
- ABI version 0 for 32-bit, and version 2 for 64-bit.
-
-2011-02-17 Joseph Myers <joseph@codesourcery.com>
-
- * common.opt (optimize_fast): New Variable.
- * opts.c (default_options_optimization): Use opts->x_optimize_fast
- instead of local variable ofast.
-
-2011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * doc/invoke.texi (fobjc-abi-version): Documented.
- (fobjc-nilcheck): Documented.
- (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
- version.
-
-2011-02-17 Joseph Myers <joseph@codesourcery.com>
-
- PR driver/47390
- * common.opt (export-dynamic): New Driver option.
- * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
-
-2011-02-17 Joseph Myers <joseph@codesourcery.com>
-
- * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
-
-2011-02-17 Alexandre Oliva <aoliva@redhat.com>
- Jan Hubicka <jh@suse.cz>
-
- PR debug/47106
- PR debug/47402
- * cfgexpand.c (account_used_vars_for_block): Remove.
- (estimated_stack_frame_size): Use referenced vars.
- * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
- that were referenced in the original function. Test src_fn
- rather than cfun. Drop redundant get_var_ann.
- (setup_one_parameter): Drop redundant get_var_ann.
- (declare_return_variable): Likewise.
- (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
- (copy_arguments_for_versioning): Drop redundant get_var_ann.
- * ipa-inline.c (compute_inline_parameters): Do not compute
- disregard_inline_limits here.
- (compute_inlinable_for_current, pass_inlinable): New.
- (pass_inline_parameters): Require PROP_referenced_vars.
- * cgraphunit.c (cgraph_process_new_functions): Don't run
- compute_inline_parameters explicitly unless function is in SSA form.
- (cgraph_analyze_function): Set .disregard_inline_limits.
- * tree-sra.c (convert_callers): Compute inliner parameters
- only for functions already in SSA form.
-
-2011-02-17 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
- -mlittle-endian-data.
-
-2011-02-17 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
- -mno-fpu, not -fpu and -no-fpu.
- * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
- * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
-
-2011-02-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/43653
- * config/i386/i386.c (ix86_secondary_reload): Handle SSE
- input reload with PLUS RTX.
-
-2011-02-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
- of InverseVar(MDMX).
-
-2011-02-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
- --m4-340.
-
-2011-02-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/mn10300/mn10300.opt (mno-crt0): New.
-
-2011-02-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/m68k/uclinux.opt (static-libc): New Driver option.
-
-2011-02-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
-
-2011-02-16 Joseph Myers <joseph@codesourcery.com>
-
- * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
- %{muser-extend-enabled}.
-
-2011-02-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47738
- * tree-ssa-loop.c (run_tree_predictive_commoning): Return
- the TODO from tree_predictive_commoning.
-
-2011-02-15 Jeff Law <law@redhat.com>
-
- Revert
- 2011-01-25 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/37273
- * ira-costs.c (scan_one_insn): Detect constants living in memory and
- handle them like argument loads from stack slots. Do not double
- count memory for memory constants and argument loads from stack slots.
-
-2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47755
- * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
- mode for vector constants. Remove code that checks for TImode.
-
-2011-02-15 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47106
- PR debug/47402
- * cgraph.h (compute_inline_parameters): Return void.
- * ipa-inline.c (compute_inline_parameters): Adjust.
-
-2011-02-15 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47106
- PR debug/47402
- * tree-inline.h (estimated_stack_frame_size): Take cgraph node
- rather than decl.
- * cfgexpand.c (estimated_stack_frame_size): Likewise.
- * ipa-inline.c (compute_inline_parameters): Adjust.
-
-2011-02-15 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47106
- PR debug/47402
- * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
- Adjust all users. Pass FN to...
- * tree-flow-inline.h (first_referenced_var): ... this. Add
- fn argument.
- * ipa-struct-reorg.c: Adjust.
- * tree-dfa.c: Adjust.
- * tree-into-ssa.c: Adjust.
- * tree-sra.c: Adjust.
- * tree-ssa-alias.c: Adjust.
- * tree-ssa-live.c: Adjust.
- * tree-ssa.c: Adjust.
- * tree-ssanames.c: Adjust.
- * tree-tailcall.c: Adjust.
-
-2011-02-15 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47106
- PR debug/47402
- * tree-flow.h (referenced_var_lookup): Add fn parameter.
- Adjust all callers.
- * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
- * tree-flow-inline.h: Adjust.
- * gimple-pretty-print.c: Adjust.
- * tree-into-ssa.c: Adjust.
- * tree-ssa.c: Adjust.
- * cfgexpand.c: Adjust.
-
-2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- * config/iq2000/constraints.md: New file.
- * config/iq2000/iq2000.md: Include it.
- (define_insn ""): Delete.
- (movsi_internal2, movhi_internal2, movqi_internal2): Delete
- unsupported constraint letters from patterns.
- (call_value, call_value_internal1): Likewise.
- (call_value_multiple_internal1): Likewise.
-
-2011-02-15 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c: Include tm-constrs.h.
- (struct liw_data): New data structure describing an LIW candidate
- instruction.
- (extract_bundle): Use struct liw_data. Allow small integer
- operands for some instructions.
- (check_liw_constraints): Use struct liw_data. Remove swapped
- parameter. Add comments describing the checks. Fix bug when
- assigning the source of liw1 to the source of liw2.
- (liw_candidate): Delete. Code moved into extract_bundle.
- (mn10300_bundle_liw): Use struct liw_data. Check constraints
- before swapping.
- * config/mn10300/predicates.md (liw_operand): New predicate.
- Allows registers and small integer constants.
- * config/mn10300/constraints.md (O): New constraint. Accetps
- integers in the range -8 to +7 inclusive.
- * config/mn10300/mn10300.md (movesi_internal): Add an alternative
- for moving a small integer into a register. Give this alternative
- LIW attributes.
- (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
- (ashlsi3): Likewise, plus give LIW attributes to the alternatives
- using the J,K,L and M constraints,
- (liw): Remove SI mode on second operands to allow for HI and QI
- mode values.
- (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
- instruction.
-
-2011-02-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47743
- * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
- for a non-type-compatible VN lookup bail out.
-
-2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/fr30/constraints.md: New file.
- * config/fr30/fr30.md: Include it.
- * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
-
-2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/frv/constraints.md: New file.
- * config/frv/predicates.md: Include it.
- * config/frv/frv.c (reg_class_from_letter): Delete.
- (frv_option_override): Don't initialize it.
- * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
- (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
- (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
- (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
- (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
- (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
- (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
- (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
- (REG_CLASS_FROM_CONSTRAINT): Delete.
-
-2011-02-15 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47581
- * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
- if frame size is 0 in a leaf function.
-
-2011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR pch/14940
- * config/alpha/host-osf.c: New file.
- * config/alpha/x-osf: New file.
- * config.host (alpha*-dec-osf*): Use it.
-
-2011-02-14 Anatoly Sokolov <aesok@post.ru>
-
- * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
- * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
- * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
- (rx_mode_dependent_address_p): ...this. Make static. Change argument
- type to const_rtx.
- (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
-
-2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/stormy16/constraints.md: New file.
- * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
- Use satisfies_constraint_Q and satisfies_constraint_R.
- * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
- Delete.
- (xstormy16_legitiamte_address_p): Declare.
- * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
- Un-staticize.
- (xstormy16_extra_constraint_p): Delete.
-
-2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/46494
- * loop-unroll.c (split_edge_and_insert): Adjust comment.
- * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
- (pass_rtl_loop_done): Add TODO_verify_flow.
- * fwprop.c (pass_rtl_fwprop): Likewise.
- * modulo-sched.c (pass_sms): Likewise.
- * tree-ssa-dom.c (pass_dominator): Likewise.
- * tree-ssa-loop-ch.c (pass_ch): Likewise.
- * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
- (pass_tree_loop_done): Likewise.
- * tree-ssa-pre.c (execute_pre): Likewise.
- * tree-ssa-reassoc.c (pass_reassoc): Likewise.
- * tree-ssa-sink.c (pass_sink_code): Likewise.
- * tree-vrp.c (pass_vrp): Likewise.
-
-2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/v850/constraints.md: New file.
- * config/v850/v850.md: Include it.
- * config/v850/predicates.md (reg_or_0_operand): Use
- satisfies_constraint_G.
- (special_symbolref_operand): Use satisfies_constraint_K.
- * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
- (GO_IF_LEGITIMATE_ADDRESS): Likewise.
- (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
- (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
- (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
- (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
- (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
-
-2011-02-14 Anatoly Sokolov <aesok@post.ru>
-
- PR target/47696
- * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
- description.
-
-2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * config/mcore/constraints.md: New file.
- * config/mcore/mcore.md: Include it.
- * config/mcore/mcore.c (reg_class_from_letter): Delete.
- * config/mcore/mcore.h (reg_class_from_letter): Delete.
- (REG_CLASS_FROM_LETTER): Delete.
- (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
- insn_const_int_ok_for_constraint.
- (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
- (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
- (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
- (EXTRA_CONSTRAINT): Delete.
-
-2011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR ada/41929
- * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
- (IS_SIGHANDLER): Define.
- (sparc64_is_sighandler): New function, split off from
- sparc64_fallback_frame_state.
- (sparc_is_sighandler): New function, split off from
- sparc_fallback_frame_state.
- (sparc64_fallback_frame_state): Merge with ...
- (sparc_fallback_frame_state): ... this into ...
- (MD_FALLBACK_FRAME_STATE_FOR): ... this.
- Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
- Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
- stack instead of hardcoded offsets.
-
-2011-02-14 Andriy Gapon <avg@freebsd.org>
-
- PR target/45808
- * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
-
-2011-02-12 Joseph Myers <joseph@codesourcery.com>
-
- PR driver/45731
- * gcc.c (asm_options): Correct spec matching --target-help.
-
-2011-02-12 Martin Jambor <mjambor@suse.cz>
-
- * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
- to gimple call error.
-
-2011-02-12 Mike Stump <mikestump@comcast.net>
-
- * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
- comments in backslash regions.
-
-2011-02-12 Mike Stump <mikestump@comcast.net>
- Jakub Jelinek <jakub@redhat.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/47324
- * dwarf2out.c (output_cfa_loc): When required, apply the
- DWARF2_FRAME_REG_OUT macro to adjust register numbers.
- (output_loc_sequence): Likewise.
- (output_loc_operands_raw): Likewise.
- (output_loc_sequence_raw): Likewise.
- (output_cfa_loc): Likewise.
- (output_loc_list): Suppress register number adjustment when
- calling output_loc_sequence()
- (output_die): Likewise.
-
-2011-02-12 Anatoly Sokolov <aesok@post.ru>
-
- * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
- Remove macros.
- * config/xtensa/xtensa.c (xtensa_register_move_cost,
- xtensa_memory_move_cost): New functions.
- (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
-
-2011-02-12 Alexandre Oliva <aoliva@redhat.com>
-
- PR lto/47225
- * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
- in the current directory.
- * configure: Rebuilt.
-
-2011-02-12 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin.c (darwin_override_options): Add a hunk missed
- from the commit of r168571. Trim comment line lengths and
- correct indents of the preceding block.
-
-2011-02-12 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc.c (driver_handle_option): Concatenate the argument to -F with
- the switch.
-
-2011-02-11 Joseph Myers <joseph@codesourcery.com>
-
- * common.opt (nostartfiles): New Driver option.
-
-2011-02-11 Xinliang David Li <davidxl@google.com>
-
- PR tree-optimization/47707
- * tree-chrec.c (convert_affine_scev): Keep type precision.
-
-2011-02-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/47420
- * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
-
-2011-02-11 Pat Haugen <pthaugen@us.ibm.com>
-
- PR rtl-optimization/47614
- * rtl.h (check_for_inc_dec): Declare.
- * dse.c (check_for_inc_dec): Externalize...
- * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
- (reload_cse_simplify_operands): Don't simplify opnds with side effects.
-
-2011-02-11 Joseph Myers <joseph@codesourcery.com>
-
- PR driver/47678
- * gcc.c (main): Do not compile inputs if there were errors in
- option handling.
- * opts-common.c (read_cmdline_option): Check for wrong language
- after other error checks.
-
-2011-02-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * cgraph.c: Fix comment typos.
- * cgraph.h: Likewise.
- * cgraphunit.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
-
-2011-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47684
- * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
-
-2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/47400
- * doc/sourcebuild.texi (Require Support): Document
- dg-require-ascii-locale.
-
-2011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
-
- * doc/lto.texi (Write summary): Fix missing parentheses.
-
-2011-02-10 DJ Delorie <dj@redhat.com>
-
- * config/m32c/m32c.c (m32c_option_override): Disable
- -fcombine-stack-adjustments until flag value tracking and compare
- optimization can be rewritten.
-
-2011-02-10 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
- PROCESSOR_POWER7.
- (PROCESSOR_DEFAULT64): Likewise.
-
-2011-02-10 Richard Henderson <rth@redhat.com>
-
- * config/rx/predicates.md (rx_zs_comparison_operator): Revert
- change from 2011-02-03.
- * config/rx/rx.c (flags_from_code): Likewise.
- (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
- is valid, n/pz otherwise.
- (rx_select_cc_mode): Return CCmode if Y is not zero.
-
-2011-02-10 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
-
-2011-02-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47677
- * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
-
-2011-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47665
- * combine.c (make_compound_operation): Only change shifts into
- multiplication for SCALAR_INT_MODE_P.
-
-2011-02-10 Jie Zhang <jie@codesourcery.com>
-
- PR testsuite/47622
- Revert
- 2011-02-05 Jie Zhang <jie@codesourcery.com>
- PR debug/42631
- * web.c (entry_register): Don't clobber the number of the
- first uninitialized reference in used[].
-
-2011-02-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47664
- * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
- all edges again.
-
-2011-02-09 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/46481
- PR target/47032
- * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
- PROCESSOR_POWER7.
- (PROCESSOR_DEFAULT64): Same.
- (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
-
-2011-02-09 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/45505
- * tree-sra.c (struct access): New flags grp_scalar_read and
- grp_scalar_write. Changed description of assignment read and write
- flags.
- (dump_access): Dump new flags, reorder all of them.
- (sort_and_splice_var_accesses): Set the new flag accordingly, use them
- to detect multiple scalar reads.
- (analyze_access_subtree): Use the new scalar read write flags instead
- of the old flags. Adjusted comments.
-
-2011-02-08 DJ Delorie <dj@redhat.com>
-
- PR target/47548
- * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
- patterns.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config/m68k/uclinux.opt: New.
- * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config/cris/elf.opt (sim): New Driver option.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config/xtensa/elf.opt: New.
- * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config/vax/elf.opt: New.
- * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/aix64.opt (posix, pthread): New Driver options.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config/gnu-user.opt: New.
- * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
- *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
- *-*-uclinux*): Use gnu-user.opt.
-
-2011-02-08 Thomas Schwinge <thomas@schwinge.name>
-
- * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
- * config/i386/gnu.h (CPP_SPEC): Likewise.
-
-2011-02-08 Ian Lance Taylor <iant@google.com>
-
- * common.opt (fcx-limited-range): Add SetByCombined flag.
- (ffinite-math-only, fmath-errno, frounding-math): Likewise.
- (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
- (fassociative-math, freciprocal-math): Likewise.
- (funsafe-math-optimizations): Likewise.
- * opth-gen.awk: Handle SetByCombined.
- * optc-gen.awk: Likewise.
- * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
- (set_unsafe_math_optimizations_flags): Likewise.
- * doc/options.texi (Option properties): Document SetByCombined.
-
-2011-02-08 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
- i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
- m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
- m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
- sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
-
-2011-02-08 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46834
- PR tree-optimization/46994
- PR tree-optimization/46995
- * graphite-sese-to-poly.c (used_outside_reduction): New.
- (detect_commutative_reduction): Call used_outside_reduction.
- (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
- translate_scalar_reduction_to_array only when at least one
- loop-phi/close-phi tuple has been detected.
-
-2011-02-08 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47639
- * tree-vect-generic.c (expand_vector_operations_1): Update
- stmts here ...
- (expand_vector_operations): ... not here. Cleanup EH info
- and the CFG if required.
-
-2011-02-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47641
- * tree-ssa.c (execute_update_addresses_taken): For asm outputs
- require type compatibility.
-
-2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gimple-low.c (lower_function_body): Don't remove the location of
- the return statement here.
- (lower_gimple_return): Do it here instead but only if the return
- statement is actually used twice.
-
-2011-02-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47632
- * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
- unused up_to_stmt parameter, return whether cfg-cleanup is
- necessary, remove EH info properly.
- (forward_propagate_into_gimple_cond): Adjust caller.
- (forward_propagate_into_cond): Likewise.
- (forward_propagate_comparison): Likewise.
- (tree_ssa_forward_propagate_single_use_vars): Make
- forward_propagate_comparison case similar to the two others.
-
-2011-02-08 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.opt (mliw): New command line option.
- * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
- (liw_bundling): New automaton.
- (liw): New attribute.
- (liw_op): New attribute.
- (liw_op1, liw_op2, liw_both, liw_either): New reservations.
- (movsi_internal): Add LIW attributes.
- (andsi3): Likewise.
- (iorsi3): Likewise.
- (xorsi3): Likewise.
- (addsi3): Separate register and immediate alternatives.
- Add LIW attributes.
- (subsi3): Likewise.
- (cmpsi): Likewise.
- (aslsi3): Likewise.
- (lshrsi3): Likewise.
- (ashrsi3): Likewise.
- (liw): New pattern.
- * config/mn10300/mn10300.c (liw_op_names): New
- (mn10300_print_operand): Handle 'W' operand descriptor.
- (extract_bundle): New function.
- (check_liw_constraints): New function.
- (liw_candidate): New function.
- (mn10300_bundle_liw): New function.
- (mn10300_reorg): New function.
- (TARGET_MACHINE_DEPENDENT_REORG): Define.
- (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
- * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
- __LIW__ or __NO_LIW__.
- * doc/invoke.texi: Describe the -mliw command line option.
-
-2011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
- * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
- pthread_mutex_unlock): Remove.
- * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
- * config/pa/t-pa64: Likewise.
- * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
- shared libc if not linking against libpthread.
- * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
-
-2011-02-07 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/47558
- * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
- on 10.6 and later to ensure that we always use the unwinder from
- the system. Only add -no_compact_unwind when tarteting darwin
- 10.6 or later.
-
-2011-02-07 Steve Ellcey <sje@cup.hp.com>
-
- PR target/46997
- * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
- (vec_interleave_lowv2sf): Ditto.
- (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
- (vec_extract_oddv2sf): Ditto.
-
-2011-02-07 Mike Stump <mikestump@comcast.net>
-
- PR target/42333
- Add __ieee_divdc3 entry point.
- * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
- entry point.
- (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
- * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
- * config/darwin.c (darwin_rename_builtins): Add.
- * config/darwin-protos.h (darwin_rename_builtins): Add.
-
-2011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47636
- * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
- for the condition.
-
-2011-02-07 Mike Stump <mikestump@comcast.net>
-
- * config/darwin.opt (mmacosx-version-min): Update default OS version.
-
-2011-02-07 Denis Chertykov <chertykov@gmail.com>
-
- PR target/47534
- * config/avr/libgcc.S (exit): Move .endfunc
-
-2011-02-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47615
- * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
- * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
- (run_scc_vn): Initialize it.
- (visit_reference_op_load): Use it.
- * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
-
-2011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_init_libfuncs): Install SImode and
- DImode trapping arithmetic libfuncs.
-
-2011-02-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47621
- * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
- two duplicates ...
- (execute_update_addresses_taken): ... here. Make it more
- conservative in what we accept.
-
-2011-02-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/freebsd.h (ASM_SPEC): Define.
- * config/sparc/vxworks.h (ASM_SPEC): Define.
-
-2011-02-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
-
-2011-02-06 Steven Bosscher <steven@gcc.gnu.org>
-
- * doc/invoke.texi: Remove reference to compiler internals from
- user documentation.
-
- * reg-notes.def: Remove REG_VALUE_PROFILE.
- * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
-
-2011-02-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47610
- * varasm.c (default_section_type_flags): If decl is NULL,
- and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
-
-2011-02-05 Jie Zhang <jie@codesourcery.com>
-
- PR debug/42631
- * web.c (entry_register): Don't clobber the number of the
- first uninitialized reference in used[].
-
-2011-02-04 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46194
- * tree-data-ref.c (analyze_miv_subscript): Remove comment.
- (build_classic_dist_vector_1): Do not represent classic distance
- vectors when the access functions are variating in different loops.
-
-2011-02-04 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/iris6.opt: New.
- * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
-
-2011-02-04 Richard Henderson <rth@redhat.com>
- Steve Ellcey <sje@cup.hp.com>
-
- PR target/46997
- * config/ia64/predicates.md (mux1_brcst_element): New.
- * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
- * config/ia64/ia64.c (ia64_unpack_assemble): New.
- (ia64_unpack_sign): New.
- (ia64_expand_unpack): Rewrite using new routines.
- (ia64_expand_widen_sum): Ditto.
- (ia64_expand_dot_prod_v8qi): Ditto.
- * config/ia64/vect.md (mulv8qi3): Rewrite to use new
- routines, add endian check.
- (pmpy2_even): Rename from pmpy2_r, add endian check.
- (pmpy2_odd): Rename from pmpy2_l, add endian check.
- (vec_widen_smult_lo_v4hi): Rewrite using new routines.
- (vec_widen_smult_hi_v4hi): Ditto.
- (vec_widen_umult_lo_v4hi): Ditto.
- (vec_widen_umult_hi_v4hi): Ditto.
- (mulv2si3): Change endian checks.
- (sdot_prodv4hi): Rewrite with new calls.
- (udot_prodv4hi): New.
- (vec_pack_ssat_v4hi): Add endian check.
- (vec_pack_usat_v4hi): Ditto.
- (vec_pack_ssat_v2si): Ditto.
- (max1_even): Rename from max1_r, add endian check.
- (max1_odd): Rename from max1_l, add endian check.
- (*mux1_rev): Format change.
- (*mux1_mix): Ditto.
- (*mux1_shuf): Ditto.
- (*mux1_alt): Ditto.
- (*mux1_brcst_v8qi): Use new predicate.
- (vec_extract_evenv8qi): Remove endian check.
- (vec_extract_oddv8qi): Ditto.
- (vec_interleave_lowv4hi): Format change.
- (vec_interleave_highv4hi): Ditto.
- (mix2_even): Rename from mix2_r, add endian check.
- (mix2_odd): Rename from mux2_l, add endian check.
- (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
- (vec_extract_evenodd_helper): Format change.
- (vec_extract_evenv4hi): Remove endian check.
- (vec_extract_oddv4hi): Remove endian check.
- (vec_interleave_lowv2si): Format change.
- (vec_interleave_highv2si): Format change.
- (vec_initv2si): Remove endian check.
- (vecinit_v2si): Add endian check.
- (reduc_splus_v2sf): Add endian check.
- (reduc_smax_v2sf): Ditto.
- (reduc_smin_v2sf): Ditto.
- (vec_initv2sf): Remove endian check.
- (fpack): Add endian check.
- (fswap): Add endian check.
- (vec_interleave_highv2sf): Add endian check.
- (vec_interleave_lowv2sf): Add endian check.
- (fmix_lr): Add endian check.
- (vec_setv2sf): Format change.
- (*vec_extractv2sf_0_be): Use shift to extract operand.
- (*vec_extractv2sf_1_be): New.
- (vec_pack_trunc_v4hi): Add endian check.
- (vec_pack_trunc_v2si): Format change.
-
-2011-02-04 Jakub Jelinek <jakub@redhat.com>
-
- PR inline-asm/23200
- * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
- do bb, locus and block comparison and disallow loads if it is not set.
- (stmt_is_replaceable_p): New function.
- (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
- callers.
- * expr.c (expand_expr_real_1) <case SSA_NAME>: If
- get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
- SSA_NAME_DEF_STMT.
- * tree-flow.h (stmt_is_replaceable_p): New prototype.
-
-2011-02-04 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/xilinx.opt: New.
- * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
-
-2011-02-04 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
-
-2011-02-03 Anatoly Sokolov <aesok@post.ru>
-
- * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
- PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
- * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
- secondary_reload_info, xtensa_secondary_reload): Remove.
- * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
- TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
- (xtensa_preferred_reload_class): Make static. Change return and
- 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
- Use CONST_DOUBLE_P predicate.
- (xtensa_preferred_output_reload_class): New function.
- (xtensa_secondary_reload): Make static.
-
-2011-02-03 Joseph Myers <joseph@codesourcery.com>
-
- * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
- Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
- Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
-
-2011-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/31490
- * output.h (SECTION_RELRO): Define.
- (SECTION_MACH_DEP): Adjust.
- (get_variable_section): New prototype.
- * varpool.c (varpool_finalize_named_section_flags): New function.
- (varpool_assemble_pending_decls): Call it.
- * cgraph.h (varpool_finalize_named_section_flags): New prototype.
- * cgraphunit.c (cgraph_output_in_order): Call
- varpool_finalize_named_section_flags.
- * varasm.c (get_section): Allow section flags conflicts between
- relro and read-only sections if the section hasn't been declared yet.
- Set SECTION_OVERRIDE after diagnosing section type conflict.
- (get_variable_section): No longer static.
- (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
- readonly sections that need relocations.
- (decl_readonly_section_1): New function.
- (decl_readonly_section): Use it.
-
- Revert:
- 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
- Steve Ellcey <sje@cup.hp.com>
-
- PR middle-end/31490
- * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
- if section attribute used.
-
-2011-02-03 Jakub Jelinek <jakub@redhat.com>
-
- * config/darwin.h (SECTION_NO_ANCHOR): Remove.
- * config/darwin.c (SECTION_NO_ANCHOR): Define.
- (darwin_init_sections): Remove assertion.
-
-2011-02-03 Nick Clifton <nickc@redhat.com>
-
- * config/rx/predicates.md (rx_zs_comparison_operator): Remove
- lt and ge.
- * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
- * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
- instead of "n" and "pz".
- (flags_from_code): LT and GE tests need CC_FLAG_O as well as
- CC_FLAG_S.
-
-2011-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47312
- * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
- fma, expand FMA_EXPR as fma{,f,l} call.
-
- PR lto/47274
- * lto-streamer-out.c (write_symbol): When writing kind and visibility,
- copy them into a unsigned char variable and pass address of it to
- lto_output_data_stream.
-
- PR target/47564
- * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
- around backend_init_target and lang_dependent_init_target calls.
- * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
- (verify_cgraph_node): Don't call set_cfun here. Use
- cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
- Set error_found for incorrectly represented calls to thunks.
-
-2011-02-03 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/43092
- PR rtl-optimization/43494
- * rtl.h (for_each_inc_dec_fn): New type.
- (for_each_inc_dec): Declare.
- * rtlanal.c (struct for_each_inc_dec_ops): New type.
- (for_each_inc_dec_find_inc_dec): New fn.
- (for_each_inc_dec_find_mem): New fn.
- (for_each_inc_dec): New fn.
- * dse.c (struct insn_size): Remove.
- (replace_inc_dec, replace_inc_dec_mem): Remove.
- (emit_inc_dec_insn_before): New fn.
- (check_for_inc_dec): Use it, along with for_each_inc_dec.
- (canon_address): Pass mem modes to cselib_lookup.
- * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
- (cselib_lookup_from_insn): Likewise.
- (cselib_subst_to_values): Likewise.
- * cselib.c (find_slot_memmode): New var.
- (cselib_find_slot): New fn. Use it instead of
- htab_find_slot_with_hash everywhere.
- (entry_and_rtx_equal_p): Use find_slot_memmode.
- (autoinc_split): New fn.
- (rtx_equal_for_cselib_p): Rename and implement in terms of...
- (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
- Deal with autoinc. Special-case recursion into MEMs.
- (cselib_hash_rtx): Likewise.
- (cselib_lookup_mem): Infer pmode from address mode. Distinguish
- address and MEM modes.
- (cselib_subst_to_values): Add memmode, pass it on.
- Deal with autoinc.
- (cselib_lookup): Add memmode argument, pass it on.
- (cselib_lookup_from_insn): Add memmode.
- (cselib_invalidate_rtx): Discard obsolete push_operand handling.
- (struct cselib_record_autoinc_data): New.
- (cselib_record_autoinc_cb): New fn.
- (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
- mode to cselib_lookup. Reset autoinced REGs here instead of...
- (cselib_process_insn): ... here.
- * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
- to cselib_lookup.
- (add_uses): Likewise, also to cselib_subst_to_values.
- (add_stores): Likewise.
- * sched-deps.c (add_insn_mem_dependence): Pass mode to
- cselib_subst_to_values.
- (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
- * gcse.c (do_local_cprop): Adjusted.
- * postreload.c (reload_cse_simplify_set): Adjusted.
- (reload_cse_simplify_operands): Adjusted.
- * sel-sched-dump (debug_mem_addr_value): Pass mode.
-
-2011-02-03 Alexandre Oliva <aoliva@redhat.com>
-
- PR tree-optimization/45122
- * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
- unsafe assumptions when there's more than one loop exit.
-
-2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47272
- * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
- Document using vector double with the load/store builtins, and
- that the load/store builtins always use Altivec instructions.
-
- * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
- to use altivec memory instructions, even on VSX.
- (vector_altivec_store_<mode>): Ditto.
-
- * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
- function.
-
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- V2DF, V2DI support to load/store overloaded builtins.
-
- * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
- altivec load/store builtins for V2DF/V2DI types.
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
- set avoid indexed addresses on power6 if -maltivec.
- (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
- vector_altivec_load/vector_altivec_store builtins.
- (altivec_expand_st_builtin): Ditto.
- (altivec_expand_builtin): Add VSX memory builtins.
- (rs6000_init_builtins): Add V2DI types to internal types.
- (altivec_init_builtins): Add support for V2DF/V2DI altivec
- load/store builtins.
- (rs6000_address_for_altivec): Insure memory address is appropriate
- for Altivec.
-
- * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
- vec_vsx_ld and vec_vsx_st.
- (vsx_store_<mode>): Ditto.
-
- * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
- variables to hold long long types for VSX vector memory builtins.
- (RS6000_BTI_unsigned_long_long): Ditto.
- (long_long_integer_type_internal_node): Ditti.
- (long_long_unsigned_type_internal_node): Ditti.
-
- * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
- (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
- (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
-
- * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
- short cuts.
- (vec_vsx_st): Ditto.
-
-2011-02-02 Joseph Myers <joseph@codesourcery.com>
-
- * config/pa/pa-hpux10.opt: New.
- * config/hpux11.opt (pthread): New Driver option.
- * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
- * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
-
-2011-02-02 Joseph Myers <joseph@codesourcery.com>
-
- * config/ia64/vms.opt: New.
- * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
-
-2011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47580
- * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
- gpc_reg_operand instead of vsx_register_operand to match rs6000.md
- generator functions.
- (vsx_floatuns<VSi><mode>2): Ditto.
- (vsx_fix_trunc<mode><VSi>2): Ditto.
- (vsx_fixuns_trunc<mode><VSi>2): Ditto.
-
-2011-02-02 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/djgpp.opt (posix): New Driver option.
-
-2011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
- Move to the unsupported targets list.
-
-2011-02-02 Peter Bergner <bergner@vnet.ibm.com>
-
- PR rtl-optimization/47525
- * df-scan.c: Update copyright years.
- (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
- and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
-
-2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/sysv4.h (TARGET_VERSION): Remove.
- (SUBTARGET_RETURN_IN_MEMORY): Remove.
- (ASM_OUTPUT_ASCII): Remove.
- * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
-
-2011-02-02 Jeff Law <law@redhat.com>
-
- PR middle-end/47543
- * reload.c (find_reloads_address): Handle reg+d address where both
- components are invalid by reloading the entire address.
-
-2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
- Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/40979
- PR bootstrap/47044
- * passes.c (init_optimization_passes): After LIM call copy_prop
- and DCE to clean up.
- * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
-
-2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/47576
- PR tree-optimization/47555
- * doc/invoke.texi (scev-max-expr-complexity): Documented.
- * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
- (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
- * tree-scalar-evolution.c (follow_ssa_edge): Use
- PARAM_SCEV_MAX_EXPR_COMPLEXITY.
-
-2011-02-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47566
- * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
-
-2011-02-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47106
- PR debug/47402
- * tree-inline.c (declare_return_variable): Remove unused caller
- variable.
-
- PR debug/47106
- PR debug/47402
- * tree-flow-inline.h (clear_is_used, is_used_p): New.
- * cfgexpand.c (account_used_vars_for_block): Use them.
- * tree-nrv.c (tree_nrv): Likewise.
- * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
- (dump_scope_block): Likewise.
- (remove_unused_locals): Likewise.
-
- PR debug/47106
- PR debug/47402
- * tree-inline.c (declare_return_variable): Add result decl to
- local decls only once.
- * gimple-low.c (record_vars_into): Mark newly-created variables
- as referenced.
-
-2011-02-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47498
- PR debug/47501
- PR debug/45136
- PR debug/45130
- * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
- debug insns.
- (no_real_insns_p, schedule_block, set_priorities): Drop special
- treatment of boundary debug insns.
- * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
- * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
- * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
- (BOUNDARY_DEBUG_INSN_P): Likewise.
- (SCHEDULE_DEBUG_INSN_P): Likewise.
- * sched-rgn.c (init_ready_list): Drop special treatment of
- boundary debug insns.
- * final.c (rest_of_clean_state): Clear notes' BB.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/openbsd.opt (assert=): New Driver option.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/nto.opt: New.
- * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/netware.opt: New.
- * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/interix.opt (posix): New Driver option.
-
-2011-02-01 DJ Delorie <dj@redhat.com>
-
- * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
-
- * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
- class for A0/A1.
-
-2011-02-01 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/47561
- * toplev.c (process_options): Print the Graphite flags. Add
- flag_loop_flatten to the list of options requiring Graphite.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/cygming.opt (posix): New Driver option.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/vxworks.opt: New.
- * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
-
-2011-02-01 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/elf.opt: New.
- * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
- alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
-
-2011-02-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47559
- * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
- store-motion on references that can throw.
-
-2011-02-01 Bernd Schmidt <bernds@codesourcery.com>
-
- * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
- * tree-pass.h (TDF_CSELIB): New macro.
- * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
- cselib_lookup): Check for it rather than for TDF_DETAILS.
-
-2011-02-01 H.J. Lu <hongjiu.lu@intel.com>
-
- PR driver/47547
- * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
- is HOST_BIT_BUCKET.
-
- * opts.c (finish_options): Don't add x_aux_base_name if it is
- HOST_BIT_BUCKET.
-
-2011-02-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47555
- Revert
- 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
-
- * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
-
-2011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
-
- PR gcc/46692
- * config/lm32/t-lm32: Add multilib for all CPU options.
-
-2011-02-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47541
- * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
- sure to have a field at offset zero.
-
-2011-01-31 Joseph Myers <joseph@codesourcery.com>
-
- * config/arc/arc.opt (EB, EL): New Driver options.
-
-2011-01-31 Joseph Myers <joseph@codesourcery.com>
-
- * config/alpha/osf5.opt: New.
- * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
-
-2011-01-31 Joseph Myers <joseph@codesourcery.com>
-
- * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
-
-2011-01-31 Sebastian Pop <sebastian.pop@amd.com>
-
- * common.opt (ftree-loop-linear): Use Alias to make it an alias of
- -floop-interchange.
- * invoke.texi (-ftree-loop-linear): Make it clear that this flag
- is an alias of -floop-interchange and that it requires the
- Graphite infrastructure.
- * tree-ssa-loop.c (gate_graphite_transforms): Do not set
- flag_loop_interchange based on the value of flag_tree_loop_linear.
-
-2011-01-31 Jakub Jelinek <jakub@redhat.com>
- Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47538
- * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
- type instead of r1type, except for comparisons. For right
- shifts and comparisons punt if there are mismatches in
- sizetype vs. non-sizetype types.
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * doc/sourcebuild.texi (Effective-Target Keywords): Document
- avx_runtime.
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
- version number.
- * configure: Regenerate.
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_static_option): Define.
- (gcc_cv_ld_dynamic_option): Define.
- (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
- instead.
- (HAVE_LD_STATIC_DYNAMIC): Update message.
- (LD_STATIC_OPTION): Define.
- (LD_DYNAMIC_OPTION): Define.
- * configure: Regenerate.
- * config.in: Regenerate.
- * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
- HAVE_LD_STATIC_DYNAMIC]: Use them.
-
-2011-01-31 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
- registers inside interrupt handlers if the handler is not a leaf
- function.
-
-2011-01-31 Nick Clifton <nickc@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
- reg_renumber returning an INVALID_REGNUM.
-
-2011-01-31 Alexandre Oliva <aoliva@redhat.com>
-
- PR libgcj/44341
- * doc/install.texi: Document host options discarded when cross
- configuring target libraries.
-
-2011-01-31 Alexandre Oliva <aoliva@redhat.com>
-
- Reverted:
- 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
- PR debug/45136
- PR debug/45130
- * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
- debug insns.
- (no_real_insns_p, schedule_block, set_priorities): Drop special
- treatment of boundary debug insns.
- * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
- * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
- * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
- (BOUNDARY_DEBUG_INSN_P): Likewise.
- (SCHEDULE_DEBUG_INSN_P): Likewise.
- * sched-rgn.c (init_ready_list): Drop special treatment of
- boundary debug insns.
- * final.c (rest_of_clean-state): Clear notes' BB.
-
-2011-01-31 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (print_operand): Rearrange addends in
- toc relative expressions as we do in print_operand_address.
-
-2011-01-30 Kazu Hirata <kazu@codesourcery.com>
-
- * doc/extend.texi: Follow spelling conventions.
- * doc/invoke.texi: Fix a typo.
-
-2011-01-30 Joseph Myers <joseph@codesourcery.com>
-
- * config/hpux11.opt: New.
- * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
- ia64*-*-hpux*): Use hpux11.opt.
-
-2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
-
- * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
- to tmake_file.
-
-2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (hppa-hp-hpux10): Remove references to HP
- support sites.
-
-2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Binaries): Remove outdated reference for
- Motorola 68HC11/68HC12 downloads.
-
-2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
- Drepper's paper.
-
-2011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR bootstrap/47147
- * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
- used by NetBSD.
-
-2011-01-28 Ahmad Sharif <asharif@google.com>
-
- * value-prof.c (check_counter): Corrected error message.
-
-2011-01-29 Jie Zhang <jie@codesourcery.com>
-
- * config/arm/arm.c (arm_legitimize_reload_address): New.
- * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
- arm_legitimize_reload_address.
- * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
-
-2011-01-28 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_define): Ignore macros whose definitions include
- two adjacent operands.
-
-2011-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/42894
- * varasm.c (force_const_mem): Store copy of x in desc->constant
- instead of x itself.
- * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
- itself into REG_EQUAL note.
-
-2011-01-28 Joseph Myers <joseph@codesourcery.com>
-
- * config/freebsd.opt (posix, rdynamic): New Driver options.
-
-2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
- -Bstatic/-Bdynamic.
- * configure: Regenerate.
-
-2011-01-27 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
- * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
-
-2011-01-27 Anatoly Sokolov <aesok@post.ru>
-
- * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
- * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
- * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
- (s390_preferred_reload_class): Make static. Change return and
- 'rclass' argument type to reg_class_t.
-
-2011-01-27 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/46949
- * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
- (process_function_and_variable_attributes): Check defined weakrefs.
-
-2011-01-27 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/47228
- * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
- build_ref_for_offset.
-
-2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu-elf.h (ASM_SPEC): Remove.
-
-2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
-
- PR rtl-optimization/46856
- * postreload.c (reload_combine_recognize_const_pattern): Do not
- separate cc0 setter and user on cc0 targets.
-
-2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR c/43082
- * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
- passed a VOID_TYPE expression, immediately emit an error and
- return error_mark_node.
-
-2011-01-26 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/47464
- * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
- rather than may_trap_p as needed.
-
-2011-01-26 DJ Delorie <dj@redhat.com>
-
- PR rtl-optimization/46878
- * combine.c (insn_a_feeds_b): Check for the implicit cc0
- setter/user dependency as well.
-
-2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/44469
- * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
- after removing trivially dead basic blocks.
-
-2011-01-26 Joseph Myers <joseph@codesourcery.com>
-
- * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
- * config/frv/frv.h (LINK_SPEC): Likewise.
- * config/i386/netware.h (LINK_SPEC): Likewise.
- * config/m68k/linux.h (ASM_SPEC): Likewise.
- * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
- * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
- * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
- * config/sparc/linux.h (ASM_SPEC): Likewise.
- * config/sparc/linux64.h (ASM_SPEC): Likewise.
- * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
-
-2011-01-26 Joseph Myers <joseph@codesourcery.com>
-
- * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
- * config/frv/frv.h (ASM_SPEC): Likewise.
- * config/m68k/linux.h (ASM_SPEC): Likewise.
- * config/pa/pa-linux.h (ASM_SPEC): Likewise.
- * config/rs6000/linux64.h (ASM_SPEC): Likewise.
- * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
- * config/sparc/linux.h (ASM_SPEC): Likewise.
- * config/sparc/linux64.h (ASM_SPEC): Likewise.
- * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
-
-2011-01-26 Joseph Myers <joseph@codesourcery.com>
-
- * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
- * config/frv/frv.h (LINK_SPEC): Likewise.
- * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
-
-2011-01-26 Joseph Myers <joseph@codesourcery.com>
-
- * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
- * config/frv/frv.h (ASM_SPEC): Likewise.
- * config/i386/sol2-10.h (ASM_SPEC): Likewise.
- * config/m68k/linux.h (ASM_SPEC): Likewise.
- * config/pa/pa-linux.h (ASM_SPEC): Likewise.
- * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
- * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
- * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
- * config/sparc/linux.h (ASM_SPEC): Likewise.
- * config/sparc/linux64.h (ASM_SPEC): Likewise.
- * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
- * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
-
-2011-01-26 Steve Ellcey <sje@cup.hp.com>
-
- PR target/46997
- * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
- (*mux2): Ditto.
- (vec_extract_evenodd_help): Ditto.
- (vec_extract_evenv4hi): Ditto.
- (vec_extract_oddv4hi): Ditto.
- (vec_interleave_lowv2si): Ditto.
- (vec_interleave_highv2si): Ditto.
- (vec_extract_evenv2si): Ditto.
- (vec_extract_oddv2si: Ditto.
- (vec_pack_trunc_v2si): Ditto.
-
-2011-01-22 Jan Hubicka <jh@suse.cz>
-
- PR target/47237
- * cgraph.h (cgraph_local_info): New field can_change_signature.
- * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
- signature can change.
- (ipcp_estimate_growth): Call sequence simplify only if calle signature
- can change.
- (ipcp_insert_stage): Only compute args_to_skip if signature can change.
- (cgraph_function_versioning): We can not change signature of functions
- that don't allow that.
- * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
- (lto_input_node): Likewise.
- * ipa-inline.c (compute_inline_parameters): Compute
- local.can_change_signature.
- * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
- * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
- functions that can not change signature.
- * i386.c (ix86_function_regparm, ix86_function_sseregparm,
- init_cumulative_args): Do not use local calling conventions
- for functions that can not change signature.
-
-2011-01-22 Jan Hubicka <jh@suse.cz>
-
- * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
-
-2011-01-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47190
- * cgraphunit.c (process_common_attributes): New function.
- (process_function_and_variable_attributes): Use it.
-
-2011-01-26 Richard Guenther <rguenther@suse.de>
-
- PR lto/47423
- * cgraphbuild.c (record_eh_tables): Record reference to personality
- function.
-
-2011-01-26 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/45454
- * sel-sched.c (moveup_expr): Don't let debug insns prevent
- non-debug insns from moving up.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR target/40125
- * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
- t-dlldir{,-x} fragment for build and add it to tmake_file.
- (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
- * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
- * config/i386/t-dlldir: New file.
- (SHLIB_DLLDIR): Define.
- * config/i386/t-dlldir-x: New file.
- (SHLIB_DLLDIR): Define.
- * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
- (SHLIB_INSTALL): Use it.
-
-2011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR target/47246
- * config/arm/arm.c (thumb2_legitimate_index_p): Change the
- lower bound of the allowed Thumb-2 coprocessor load/store
- index range to -256. Add explaining comment.
-
-2011-01-25 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_define): Improve lexing of macro expansion to only
- accept expressions which match Go spec.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR c++/43601
- * tree.c (handle_dll_attribute): Handle it.
- * doc/extend.texi (@item dllexport): Mention it.
- * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
-
-2011-01-25 Ian Lance Taylor <iant@google.com>
-
- PR tree-optimization/26854
- * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
- (decl_jump_unsafe): Move higher in file, with no other change.
- (bind): Set has_jump_unsafe_decl if appropriate.
- (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
- (check_earlier_gotos): Likewise.
- (c_check_switch_jump_warnings): Likewise.
-
-2011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * doc/invoke.texi (Warning Options): Add missing hyphen.
- (-fprofile-dir): Minor grammatical fixes.
- (-fbranch-probabilities): Likewise.
-
-2011-01-25 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/45136
- PR debug/45130
- * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
- debug insns.
- (no_real_insns_p, schedule_block, set_priorities): Drop special
- treatment of boundary debug insns.
- * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
- * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
- * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
- (BOUNDARY_DEBUG_INSN_P): Likewise.
- (SCHEDULE_DEBUG_INSN_P): Likewise.
- * sched-rgn.c (init_ready_list): Drop special treatment of
- boundary debug insns.
- * final.c (rest_of_clean-state): Clear notes' BB.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * Makefile.in (LAMBDA_H): Removed.
- (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
- (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
- lambda-trans.o, and tree-loop-linear.o.
- (lto-symtab.o): Remove dependence on LAMBDA_H.
- (tree-loop-linear.o): Remove rule.
- (lambda-mat.o): Same.
- (lambda-trans.o): Same.
- (lambda-code.o): Same.
- (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
- (tree-vect-slp.o): Same.
- * hwint.h (gcd): Moved here.
- (least_common_multiple): Same.
- * lambda-code.c: Removed.
- * lambda-mat.c: Removed.
- * lambda-trans.c: Removed.
- * lambda.h: Removed.
- * tree-loop-linear.c: Removed.
- * lto-symtab.c: Do not include lambda.h.
- * omega.c (gcd): Removed.
- * passes.c (init_optimization_passes): Remove pass_linear_transform.
- * tree-data-ref.c (print_lambda_vector): Moved here.
- (lambda_vector_copy): Same.
- (lambda_matrix_copy): Same.
- (lambda_matrix_id): Same.
- (lambda_vector_first_nz): Same.
- (lambda_matrix_row_add): Same.
- (lambda_matrix_row_exchange): Same.
- (lambda_vector_mult_const): Same.
- (lambda_vector_negate): Same.
- (lambda_matrix_row_negate): Same.
- (lambda_vector_equal): Same.
- (lambda_matrix_right_hermite): Same.
- * tree-data-ref.h: Do not include lambda.h.
- (lambda_vector): Moved here.
- (lambda_matrix): Same.
- (dependence_level): Same.
- (lambda_transform_legal_p): Removed declaration.
- (lambda_collect_parameters): Same.
- (lambda_compute_access_matrices): Same.
- (lambda_vector_gcd): Same.
- (lambda_vector_new): Same.
- (lambda_vector_clear): Same.
- (lambda_vector_lexico_pos): Same.
- (lambda_vector_zerop): Same.
- (lambda_matrix_new): Same.
- * tree-flow.h (least_common_multiple): Removed declaration.
- * tree-parloops.c (lambda_trans_matrix): Moved here.
- (LTM_MATRIX): Same.
- (LTM_ROWSIZE): Same.
- (LTM_COLSIZE): Same.
- (LTM_DENOMINATOR): Same.
- (lambda_trans_matrix_new): Same.
- (lambda_matrix_vector_mult): Same.
- (lambda_transform_legal_p): Same.
- * tree-pass.h (pass_linear_transform): Removed declaration.
- * tree-ssa-loop.c (tree_linear_transform): Removed.
- (gate_tree_linear_transform): Removed.
- (pass_linear_transform): Removed.
- (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
- flag_loop_interchange.
-
-2011-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47265
- PR tree-optimization/47443
- * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
- if name still has some uses.
-
-2011-01-25 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/47382
- * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
- (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
-
-2011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
- sjlj_except_unwind_info.
-
-2011-01-25 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47426
- * tree-ssa-structalias.c (ipa_pta_execute): Make externally
- visible functions results escape.
-
-2011-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/45701
- * config/arm/arm.c (any_sibcall_uses_r3): New function.
- (arm_get_frame_offsets): Use it.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47271
- * tree-if-conv.c (bb_postdominates_preds): New.
- (if_convertible_bb_p): Call bb_postdominates_preds.
- (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
- (predicate_scalar_phi): Call bb_postdominates_preds.
-
-2011-01-25 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
- * config/rx/rx.c (rx_function_value): Likewise.
- (rx_promote_function_mode): Likewise.
- (gen_safe_add): Place an outsized immediate value inside an UNSPEC
- in order to make it legitimate.
- * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
- make sure that the first operand is the same as the result register.
- (addsi3_unspec): Delete.
- (subdi3): Do not accept immediate operands.
- (subdi3_internal): Likewise.
-
-2011-01-25 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/37273
- * ira-costs.c (scan_one_insn): Detect constants living in memory and
- handle them like argument loads from stack slots. Do not double
- count memory for memory constants and argument loads from stack slots.
-
-2011-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47427
- PR tree-optimization/47428
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
- coalesce if the new root var would be TREE_READONLY.
-
-2011-01-25 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47414
- * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
- correct type for TBAA.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
- (close_phi_written_to_memory): Call for_each_index with
- dr_indices_valid_in_loop.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
- when it is initialized.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
- call to graphite_find_data_references_in_stmt.
- * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
- (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
- call to graphite_find_data_references_in_stmt.
- (analyze_drs_in_stmts): Same.
- * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
- in which the scalar analysis of indices is performed.
- (create_data_ref): Same. Update call to dr_analyze_indices.
- (find_data_references_in_stmt): Update call to create_data_ref.
- (graphite_find_data_references_in_stmt): Same.
- * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
- declaration.
- (create_data_ref): Same.
- * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
- call to create_data_ref.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c (build_poly_scop): Move
- rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
- VAR_DECL, PARM_DECL, and RESULT_DECL.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (reduction_dr_1): Allow several reductions
- in a reduction PBB.
- * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
- that have already been marked as PBB_IS_REDUCTION.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-scop-detection.c (same_close_phi_node): New.
- (remove_duplicate_close_phi): New.
- (make_close_phi_nodes_unique): New.
- (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
- * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
- of both data references to be the same.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (build_lexicographical_constraint): Remove
- the gdim parameter.
- (build_lexicographical_constraint): Adjust call to
- ppl_powerset_is_empty.
- (dependence_polyhedron): Same.
- (graphite_legal_transform_dr): Same.
- (graphite_carried_dependence_level_k): Same.
- * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
- parameter.
- * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-sese-to-poly.c
- (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
- (close_phi_written_to_memory): New.
- (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
- and unshare_expr.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * doc/install.texi: Update the expected version number of PPL to 0.11.
- * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
- #if PPL_VERSION_MINOR < 11.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c: Include graphite-cloog-util.h.
- (new_poly_ddr): Inlined into dependence_polyhedron.
- (free_poly_ddr): Moved close by new_poly_ddr.
- (dependence_polyhedron_1): Renamed dependence_polyhedron.
- Early return NULL when ppl_powerset_is_empty returns true.
- (dependence_polyhedron): Renamed new_poly_ddr. Call only once
- poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
- (graphite_legal_transform_dr): Call new_poly_ddr.
- (graphite_carried_dependence_level_k): Same.
- (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
- (dot_transformed_deps_stmt_1): Removed.
- (dot_deps_stmt_1): Call dot_deps_stmt_2.
- (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
- (dot_deps_1): Call dot_deps_2.
- * Makefile.in (graphite-dependences.o): Add missing dependence on
- graphite-cloog-util.h.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
- (build_lexicographical_constraint): Same.
- (dependence_polyhedron_1): Same.
- (graphite_legal_transform_dr): Same.
- (graphite_carried_dependence_level_k): Same.
- * graphite-ppl.c (ppl_powerset_is_empty): New.
- * graphite-ppl.h (ppl_powerset_is_empty): Declared.
- * tree-data-ref.c (dump_data_reference): Print the basic block index.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
- the "a followed by b" relation and document it.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (build_lexicographical_constraint): Stop the
- iteration when the bag of constraints is empty.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
- nest and two loop depths as parameters.
- (lst_try_interchange_loops): Call lst_interchange_profitable_p after
- lst_perfect_nestify.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-dependences.c (print_pddr): Call
- ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * graphite-ppl.c (debug_gmp_value): New.
- * graphite-ppl.h (debug_gmp_value): Declared.
-
-2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
-
- * doc/install.texi: Document availability of cloog-0.16.
-
-2011-01-25 Vladimir Kargov <kargov@gmail.com>
-
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
- invalid postdominance info.
-
-2011-01-24 Jan Hubicka <jh@suse.cz>
-
- PR c/21659
- * doc/extend.texi (weak pragma): Drop claim that it must
- appear before definition.
- * varasm.c (merge_weak, declare_weak): Only sanity check
- that DECL is not output at a time it is declared weak.
-
-2011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * machmode.def: Fixed comments.
-
-2011-01-24 Kai Tietz <kai.tietz@onevision.com>
-
- * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
-
-2011-01-24 Paul Koning <ni1d@arrl.net>
-
- * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
- WORDS_BIG_ENDIAN.
-
-2011-01-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/46519
- * config/i386/i386.c: Include sbitmap.h and fibheap.h.
- (block_info): Add scanned and prev.
- (move_or_delete_vzeroupper_2): Return if the basic block
- has been scanned and the upper 128bit state is unchanged
- from the last scan.
- (move_or_delete_vzeroupper_1): Return true if the exit
- state is changed.
- (move_or_delete_vzeroupper): Visit basic blocks using the
- work-list based algorithm based on vt_find_locations in
- var-tracking.c.
-
- * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
-
-2011-01-24 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
- * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
- -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
- then define __v850e1__.
- * doc/invoke.texi: Document -mv850es.
-
-2011-01-24 Richard Henderson <rth@redhat.com>
-
- * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
- compound unordered comparisons.
- * config/rx/rx.c (rx_split_fp_compare): Remove.
- * config/rx/rx-protos.h: Update.
- * config/rx/rx.md (gcc_conds, rx_conds): Remove.
- (cbranchsf4): Don't call rx_split_fp_compare.
- (*cbranchsf4): Use rx_split_cbranch.
- (*cmpsf): Don't accept "i" constraint.
- (*conditional_branch): Only valid after reload.
- (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
-
-2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47385
- * config/rs6000/altivec.md (vector constant splitters): Add
- support for creating vector single precision constants if -mvsx is
- used and we would create the constant using Altivec primitives.
-
-2011-01-23 Bernd Schmidt <bernds@codesourcery.com>
- Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/47166
- * reload1.c (emit_reload_insns): Disable the spill_reg_store
- mechanism for PRE_MODIFY and POST_MODIFY.
- (inc_for_reload): For PRE_MODIFY, return the insn that sets the
- reloadreg.
-
-2011-01-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
-
-2011-01-22 Jan Hubicka <jh@suse.cz>
-
- PR lto/47333
- * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
-
-2011-01-22 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/43884
- PR lto/44334
- * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
- * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
-
-2011-01-22 Anatoly Sokolov <aesok@post.ru>
-
- * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/s390/s390.c (s390_register_move_cost,
- s390_memory_move_cost): New.
- (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
-
-2011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR middle-end/47401
- * except.c (sjlj_assign_call_site_values): Move setting the
- crtl->uses_eh_lsda flag to ...
- (sjlj_mark_call_sites): ... here.
- (sjlj_emit_function_enter): Support NULL dispatch label.
- (sjlj_build_landing_pads): In a function with no landing pads
- that still has must-not-throw regions, generate code to register
- a personality function with empty LSDA.
-
-2011-01-21 Richard Henderson <rth@redhat.com>
-
- * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
-
- * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
-
- * compare-elim.c: New file.
- * Makefile.in (OBJS-common): Add it.
- (compare-elim.o): New.
- * common.opt (fcompare-elim): New.
- * opts.c (default_options_table): Add OPT_fcompare_elim.
- * tree-pass.h (pass_compare_elim_after_reload): New.
- * passes.c (init_optimization_passes): Add it.
- * recog.h: Protect against re-inclusion.
- * target.def (TARGET_FLAGS_REGNUM): New POD hook.
- * doc/invoke.texi (-fcompare-elim): Document it.
- * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
- * doc/tm.texi: Rebuild.
-
-2011-01-22 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (cstoresf4): Pass comparison operator to
- rx_split_fp_compare.
-
-2011-01-22 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.md (UNSPEC_CONST): New.
- (deallocate_and_return): Wrap the amount popped off the stack in
- an UNSPEC_CONST in order to stop it being rejected by
- -mmax-constant-size.
- (pop_and_return): Add a "(return)" rtx.
- (call): Drop the immediate operand.
- (call_internal): Likewise.
- (call_value): Likewise.
- (call_value_internal): Likewise.
- (sibcall_internal): Likewise.
- (sibcall_value_internal): Likewise.
- (sibcall): Likewise. Generate an explicit call using
- sibcall_internal.
- (sibcall_value): Likewise.
- (mov<>): FAIL if a constant operand is not legitimate.
- (addsi3_unpsec): New pattern.
-
- * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
- (ok_for_max_constant): New function.
- (gen_safe_add): New function.
- (rx_expand_prologue): Use gen_safe_add.
- (rx_expand_epilogue): Likewise.
- (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
- UNSPEC CONSTs.
-
-2011-01-21 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47053
- * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
- (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
- statements are deleted.
- (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
- is nonempty, then purge dead edges and cleanup the CFG.
-
-2011-01-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47402
- Temporarily revert:
- 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
- PR debug/47106
- * tree-dfa.c (create_var_ann): Mark variable as used.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/45566
- * except.c (convert_to_eh_region_ranges): Emit queued no-region
- notes from other section in hot/cold partitioning even if
- last_action is -3. Increment call_site_base.
-
- PR rtl-optimization/47366
- * fwprop.c (forward_propagate_into): Return bool. If
- any changes are made, -fnon-call-exceptions is used and
- REG_EH_REGION note is present, call purge_dead_edges
- and return true if it purged anything.
- (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
- any EH edges were purged.
-
-2011-01-21 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/41619
- * caller-save.c (setup_save_areas): Break out code to determine
- which hard regs are live across calls by examining the reload chains
- so that it is always used.
- Eliminate code which checked REG_N_CALLS_CROSSED.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47355
- * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
- NOP has non-debug uses beyond PHIs in new_bb.
-
-2011-01-21 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47106
- * cfgexpand.c (account_used_vars_for_block): Only account vars
- that are annotated as used.
- (estimated_stack_frame_size): Don't set TREE_USED.
- * tree-dfa.c (create_var_ann): Mark variable as used.
-
-2011-01-21 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47395
- * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
-
-2011-01-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47365
- * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
- (vn_reference_lookup_pieces): Adjust.
- (vn_reference_lookup): Likewise.
- * tree-ssa-sccvn.c (vn_walk_kind): New static global.
- (vn_reference_lookup_3): Only look through kills if in
- VN_WALKREWRITE mode.
- (vn_reference_lookup_pieces): Adjust.
- (vn_reference_lookup): Likewise.
- (visit_reference_op_load): Likewise.
- (visit_reference_op_store): Likewise.
- * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
- (compute_avail): Likewise.
- (eliminate): Likewise.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
- DECL_IGNORED_P non-reg vars if they are used.
-
- PR tree-optimization/47391
- * varpool.c (const_value_known_p): Return false if
- decl is volatile.
-
-2011-01-21 Kai Tietz <kai.tietz@onevision.com>
-
- PR bootstrap/47215
- * config/i386/i386.c (ix86_local_alignment): Handle
- case for va_list_type_node is nil.
- (ix86_canonical_va_list_type): Likewise.
-
-2011-01-21 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
- builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
-
-2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.md (define_attr type): Rename f_load
- and f_store to f_fpa_load and f_fpa_store. Update.
- (write_conflict): Deal with rename fallout.
- (*push_fp_multi): Likewise.
- * config/arm/fpa.md (f_load): Use f_fpa_load.
- (f_store): Use f_fpa_store.
- (*movsf_fpa): Likewise.
- (*movdf_fpa): Likewise.
- (*movxf_fpa): Likewise.
- (*thumb2_movsf_fpa): Likewise.
- (*thumb2_movdf_fpa): Likewise.
- (*thumb2_movxf_fpa): Likewise.
- * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
- f_loadd and f_stored.
- (*thumb2_movdi_vfp): Likewise.
- (*thumb2_movsf_vfp): Fix attribute to f_loads.
- (*thumb2_movsi_vfp): Likewise.
- * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
- Use f_loads instead of f_load.
- * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
-
-2011-01-20 Anatoly Sokolov <aesok@post.ru>
-
- * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
- * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
- * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
- (xtensa_mode_dependent_address_p): New function.
- (constantpool_address_p): Make static. Change return type to bool.
- Change argument type to const_rtx. Use CONST_INT_P predicate.
-
-2011-01-20 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/46583
- * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
-
-2011-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47283
- * cfgexpand.c (expand_debug_expr): Instead of generating
- (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
- etc. handling.
-
-2011-01-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47370
- * tree-inline.c (remap_gimple_op_r): Recurse manually for
- the pointer operand of MEM_REFs.
-
-2011-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/46130
- * ipa-split.c (consider_split): If return_bb contains non-virtual
- PHIs other than for retval or if split_function would not adjust it,
- refuse to split.
-
-2011-01-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47167
- * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
- Revert previous change, only avoid enumeral type changes.
-
-2011-01-19 Mike Stump <mikestump@comcast.net>
-
- * doc/tm.texi.in (BRANCH_COST): Englishify.
- * doc/tm.texi (BRANCH_COST): Likewise.
-
-2011-01-19 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47291
- * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
- (gen_scheduled_generic_parms_dies): New functions.
- (gen_struct_or_union_type_die): Schedule template parameters DIEs
- generation for the end of CU compilation.
- (dwarf2out_finish): Generate template parameters DIEs here.
-
-2011-01-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/46240
- * tree-into-ssa.c (maybe_register_def): Do not attempt to add
- debug bind stmt on merge edges.
-
-2011-01-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47079
- PR debug/46724
- * function.c (instantiate_expr): Instantiate incoming rtl of
- implicit arguments, and recurse on VALUE_EXPRs.
- (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
- * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
-
-2011-01-19 Alexandre Oliva <aoliva@redhat.com>
-
- * c-parser.c (c_parser_for_statement): Initialize
- collection_expression.
-
-2011-01-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
-
-2011-01-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
- (LINK_SHLIB_SPEC): Don't use %(link_path).
- (SUBTARGET_EXTRA_SPECS): Remove link_path.
-
-2011-01-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
- (NO_SHARED_LIB_SUPPORT): Remove.
- (LINK_SHLIB_SPEC): Remove one conditional definition.
-
-2011-01-19 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
- %{call_shared}.
- * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
- * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
- * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
- %{call_shared} and conditionals on these options not being passed.
- * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
- %{call_shared}.
-
-2011-01-19 Jakub Jelinek <jakub@redhat.com>
-
- * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
- simplify.
-
- * ipa-split.c: Spelling fixes.
-
-2011-01-19 Richard Henderson <rth@redhat.com>
-
- * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
- (*mulsi3): Likewise.
-
- * longlong.h [__mn10300__] (count_leading_zeros): New.
- [__mn10300__] (umul_ppmm, smul_ppmm): New.
- [__mn10300__] (add_ssaaaa, subddmmss): New.
- [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
- [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
-
-2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
-
-2011-01-19 Richard Henderson <rth@redhat.com>
-
- * config/mn10300/mn10300.md (addsi3_flags): New.
- (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
- (subsi3_flags, subc_internal, subdi3): New.
- (subdi3_internal, *subdi3_degenerate): New.
- * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
-
- * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
- (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
- (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
- * config/mn10300/mn10300-protos.h: Update.
- * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
- (return_ret): Likewise. Rename from return_internal_regs.
- (return_internal): Remove.
-
- * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
- (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
- (mn10300_legitimate_constant_p): Likewise.
- (mn10300_can_use_return_insn): Use mn10300_initial_offset.
- (mn10300_frame_size): New.
- (mn10300_expand_prologue): Use it.
- (mn10300_expand_epilogue): Likewise.
- (mn10300_initial_offset): Likewise.
- * config/mn10300/mn10300-protos.h: Update.
- * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
- * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
- (prologue, epilogue, return_internal): Tidy output code.
- (mn10300_store_multiple_operation, return): Likewise.
- (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
- (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
- (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
- (load_pic, am33_load_pic): New.
- (mn10300_load_pic0, mn10300_load_pic1): New.
-
- * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
- * config/mn10300/mn10300.c (CC_FLAG_Z): New.
- (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
- (cc_flags_for_mode, cc_flags_for_code): New.
- (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
- overflow flag is not valid. Validate that the flags we need
- for the comparison are valid.
- (mn10300_output_cmp): Remove.
- (mn10300_output_add): New.
- (mn10300_select_cc_mode): Use cc_flags_for_code.
- (mn10300_split_cbranch): New.
- (mn10300_match_ccmode): New.
- (mn10300_split_and_operand_count): New.
- * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
- to the function.
- * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
- (addsi3): ... here. Use mn10300_output_add.
- (*addsi3_flags): New.
- (*am33_subsi3, *mn10300_subsi3): Merge...
- (subsi3): ... here. Use attribute isa.
- (*subsi3_flags): New.
- (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
- when possible.
- (*am33_andsi3, *mn10300_andsi3): Merge...
- (andsi3): ... here.
- (*andsi3_flags): New.
- (andsi3 splitters): New.
- (*am33_iorsi3, *mn10300_iorsi3): Merge...
- (iorsi3): ... here.
- (*iorsi3_flags): New.
- (*am33_xorsi3, *mn10300_xorsi3): Merge...
- (xorsi3): ... here.
- (*xorsi3_flags): New.
- (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
- (one_cmplsi2): ... here.
- (*one_cmplsi2_flags): New.
- (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
- instead of "dax" in constraints. Use mn10300_split_cbranch.
- (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
- use matching constraints to eliminate a self-comparison.
- (*integer_conditional_branch): Rename from integer_conditional_branch.
- Use int_mode_flags to match CC_REG.
- (*cbranchsi4_btst, *btstsi): New.
- (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
- mn10300_split_cbranch.
- (*am33_cmpsf): Rename from am33_cmpsf.
- (*float_conditional_branch): Rename from float_conditional_branch.
- (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
- (zero_extendqisi2): ... here.
- (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
- (zero_extendhisi2): ... here.
- (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
- (extendqisi2): ... here.
- (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
- (extendhisi2): ... here.
- (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
- (ashlsi3): ... here.
- (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
- (lshrsi3): ... here.
- (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
- (ashrsi3): ... here.
- (consecutive add peephole): Remove.
- * config/mn10300/predicates.md (label_ref_operand): New.
- (int_mode_flags): New.
- (CCZN_comparison_operator): New.
-
- * config/mn10300/mn10300.md (UNSPEC_EXT): New.
- (throughput_42_latency_43): New reservation.
- (mulsidi3, umulsidi3): New expanders.
- (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
- the MDR register to allocation; separately allocate the low and
- high parts of the DImode result.
- (umulsidi3_internal): Similarly.
- (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
- (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
- (udivsi3, umodsi3): Remove.
- (udivmodsi4, divmodsi4): New expanders.
- (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
- (*divmodsi4): Simiarly.
- (ext_internal): New.
-
- * config/mn10300/constraints.md ("z"): New constraint.
- * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
- (FIXED_REGISTERS): Don't fix MDR.
- (CALL_USED_REGSITERS): Reformat nicely.
- (REG_ALLOC_ORDER): Add MDR.
- (enum regclass): Add MDR_REGS.
- (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
- (IRA_COVER_CLASSES): Add MDR_REGS.
- (REGNO_REG_CLASS): Handle MDR_REG.
- * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
- (mn10300_register_move_cost): Likewise.
- * config/mn10300/mn10300.md (MDR_REG): New.
- (*movsi_internal): Handle moves to/from MDR_REGS.
-
- * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
- POST_MODIFY.
- (mn10300_secondary_reload): Tidy combination reload classes.
- (mn10300_legitimate_address_p): Allow post-modify and reg+reg
- addresses for AM33. Allow symbolic offsets for reg+imm.
- (mn10300_regno_in_class_p): New.
- (mn10300_legitimize_reload_address): New.
- * config/mn10300/mn10300.h (enum reg_class): Remove
- DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
- SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
- SP_OR_GENERAL_REGS.
- (REG_CLASS_NAMES): Update to match.
- (REG_CLASS_CONTENTS): Likewise.
- (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
- (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
- (REGNO_IN_RANGE_P): Remove.
- (REGNO_DATA_P): Use mn10300_regno_in_class_p.
- (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
- (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
- (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
- (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
- (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
- (REGNO_GENERAL_P): New.
- (HAVE_POST_MODIFY_DISP): New.
- (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
- (LEGITIMIZE_RELOAD_ADDRESS): New.
- * config/mn10300/mn10300-protos.h: Update.
-
- * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
- DATA_REGS for AM33 stack-pointer destination.
- (mn10300_preferred_output_reload_class): Likewise.
- (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
- into a form appropriate for ...
- (TARGET_SECONDARY_RELOAD): New.
- * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
- * config/mn10300/mn10300-protos.h: Update.
- * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
- reload_insi; use the "A" constraint for the scratch; handle AM33
- moves of sp to non-address registers.
-
- * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
- (*movqi_internal): ... here.
- (*am33_movhi, *mn10300_movhi): Merge into...
- (*movhi_internal): ... here.
- (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
- as the source/destination of moves from/to SP.
- (movsf): Only allow for AM33-2.
- (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
- any integer constant constraint. Only allow for AM33-2. Tidy
- all of the alternative outputs.
- (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
- (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
- for MN103.
- (udivsi3, umodsi3): New patterns for MN103 only.
-
-2011-01-19 Joern Rennecke <amylaar@spamcop.net>
-
- * doc/tm.texi.in: Spell out that a lack of register class unions
- can lead to ICEs.
- * doc/tm.texi: Regenerate.
-
-2011-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/47337
- * dce.c (check_argument_store): New function.
- (find_call_stack_args): Ignore debug insns. Use check_argument_store.
-
- PR tree-optimization/47290
- * tree-eh.c (infinite_empty_loop_p): New function.
- (cleanup_empty_eh): Use it.
-
-2011-01-18 Steve Ellcey <sje@cup.hp.com>
-
- PR target/46997
- * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
- (a64_expand_widen_sum): Ditto.
- * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
- (vec_extract_evenodd_help): Ditto.
- (vec_extract_evenv4hi): Ditto.
- (vec_extract_oddv4hi): Ditto.
- (vec_extract_evenv2si): Ditto.
- (vec_extract_oddv2si): Ditto.
- (vec_extract_evenv2sf): Ditto.
- (vec_extract_oddv2sf): Ditto.
- (vec_pack_trunc_v4hi: Ditto.
- (vec_pack_trunc_v2si): Ditto.
- (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
- (vec_interleave_highv8qi): Ditto.
- (mix1_r): Ditto.
- (vec_extract_oddv8qi): Ditto.
- (vec_interleave_lowv4hi): Ditto.
- (vec_interleave_highv4hi): Ditto.
- (vec_interleave_lowv2si): Ditto.
- (vec_interleave_highv2si): Ditto.
-
-2011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * doc/extend.texi: Mention __float128 support on hppa HP-UX.
- * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
- * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
- (pa_c_mode_for_suffix): New.
- (TARGET_EXPAND_BUILTIN): Define.
- (TARGET_C_MODE_FOR_SUFFIX): Define.
- (pa_builtins): Define.
- (pa_init_builtins): Register __float128 type and init new support
- builtins.
- * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
- * config/pa/quadlib.c (_U_Qfcopysign): New.
-
-2011-01-18 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/46894
- * explow.c (allocate_dynamic_stack_space): Do not assume more than
- BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
- are defined.
-
-2011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR tree-optimization/47179
- * config/spu/spu.c (spu_ref_may_alias_errno): New function.
- (TARGET_REF_MAY_ALIAS_ERRNO): Define.
-
-2011-01-18 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/47216
- * emit-rtl.c: Include tree-flow.h.
- (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
- of replicating it with different semantics.
- * Makefile.in (emit-rtl.o): Adjust.
-
-2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
- (cortex_a9_dp): Handle neon types correctly.
-
-2011-01-18 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/47299
- * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
- subtarget. Use normal multiplication if both operands are constants.
- * expmed.c (expand_widening_mult): Don't try to optimize constant
- multiplication if op0 has VOIDmode. Convert op1 constant to mode
- before using it.
-
-2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/lto.texi (LTO): Ensure two spaces after period. Fix
- spacing after 'e.g.', typos, comma, hyphenation.
-
-2011-01-17 Richard Henderson <rth@redhat.com>
-
- * config/rx/predicates.md (rx_constshift_operand): Use match_test.
- (rx_restricted_mem_operand): New.
- (rx_shift_operand): Use register_operand.
- (rx_source_operand, rx_compare_operand): Likewise.
- * config/rx/rx.md (addsi3_flags): New expander.
- (adddi3): Rewrite as expander.
- (adc_internal, *adc_flags, adddi3_internal): New patterns.
- (subsi3_flags): New expander.
- (subdi3): Rewrite as expander.
- (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
-
- * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
- (rx_init_builtins): Remove sat builtin.
- (rx_expand_builtin): Likewise.
- * config/rx/rx.md (ssaddsi3): New.
- (*sat): Rename from sat. Represent the CC_REG input.
-
- * config/rx/predicates.md (rshift_operator): New.
- * config/rx/rx.c (rx_expand_insv): Remove.
- * config/rx/rx-protos.h: Update.
- * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
- operand to the canonical position.
- (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
- (*bitclr, *bitclr_in_memory): Similarly.
- (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
- (insv): Retain the zero_extract in the expansion.
-
- * config/rx/rx.md (bswapsi2): Use = not + for output reload.
- (bswaphi2, bitinvert, revw): Likewise.
-
- * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
- (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
- * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
- (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
- (bitset, bitset_in_memory): Likewise.
- (bitinvert, bitinvert_in_memory): Likewise.
- (bitclr, bitclr_in_memory): Likewise.
- (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
- (rx_strend, rx_cmpstrn): Likewise.
- (rx_setmem): Likewise. Make the source BLKmode to match the dest.
- (bitop peep2 patterns): Remove.
-
- * config/rx/rx.c (rx_match_ccmode): New.
- * config/rx/rx-protos.h: Update.
- * config/rx/rx.md (abssi2): Clobber, don't set flags.
- (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
- (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
- (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
- (fix_truncsfsi2, floatsisf2): Likewise.
- (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
- (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
- (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
- (*subsi3_flags, *xorsi3_flags): New.
-
- * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
-
- * config/rx/rx.c (rx_print_operand): Remove workaround for
- unsplit comparison operations.
-
- * config/rx/rx.md (movsicc): Split after reload.
- (*movsicc): Merge *movsieq and *movsine via match_operator.
- (*stcc): New pattern.
-
- * config/rx/rx.c (rx_float_compare_mode): Remove.
- * config/rx/rx.h (rx_float_compare_mode): Remove.
- * config/rx/rx.md (cstoresi4): Split after reload.
- (*sccc): New pattern.
-
- * config/rx/predicates.md (label_ref_operand): New.
- (rx_z_comparison_operator): New.
- (rx_zs_comparison_operator): New.
- (rx_fp_comparison_operator): New.
- * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
- Validate that the flags are set properly for the comparison.
- (rx_gen_cond_branch_template): Remove.
- (rx_cc_modes_compatible): Remove.
- (mode_from_flags): New.
- (flags_from_code): Rename from flags_needed_for_conditional.
- (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
- (rx_select_cc_mode): Likewise.
- (rx_split_fp_compare): New.
- (rx_split_cbranch): New.
- * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
- (*cbranchsi4): Use match_operator and rx_split_cbranch.
- (*cbranchsf4): Similarly.
- (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
- match_operator and rx_split_cbranch.
- (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
- tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
- (*cmpsi): Rename from cmpsi.
- (*tstsi): Rename from tstsi.
- (*cmpsf): Rename from cmpsf; use CC_Fmode.
- (*conditional_branch): Rename from conditional_branch.
- (*reveresed_conditional_branch): Remove.
- (b<code>): Remove expander.
- * config/rx/rx-protos.h: Update.
-
- * config/rx/rx.c (rx_compare_redundant): Remove.
- * config/rx/rx.md (cmpsi): Don't use it.
- * config/rx/rx-protos.h: Update.
-
- * config/rx/rx-modes.def (CC_F): New mode.
- * config/rx/rx.c (rx_select_cc_mode): New.
- * config/rx/rx.h (SELECT_CC_MODE): Use it.
- * config/rx/rx-protos.h: Update.
-
-2011-01-17 Richard Henderson <rth@redhat.com>
-
- * except.c (dump_eh_tree): Fix stray ; after for statement.
-
-2011-01-17 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47313
- * tree-inline.c (tree_function_versioning): Move DECL_RESULT
- handling before copying the body. Properly deal with
- by-reference result in SSA form.
-
-2011-01-17 Ian Lance Taylor <iant@google.com>
-
- PR target/47219
- * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
- (struct_value_alias_set): Don't define.
- (sparc_option_override): Don't set sparc_sr_alias_set and
- struct_value_alias_set.
- (save_or_restore_regs): Use gen_frame_mem rather than calling
- set_mem_alias_set.
- (sparc_struct_value_rtx): Likewise.
-
-2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47318
- * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
- (_mm_maskstore_pd): Likewise.
- (_mm_maskload_ps): Likewise.
- (_mm_maskstore_ps): Likewise.
- (_mm256_maskload_pd): Change mask to __m256i.
- (_mm256_maskstore_pd): Likewise.
- (_mm256_maskload_ps): Likewise.
- (_mm256_maskstore_ps): Likewise.
-
- * config/i386/i386-builtin-types.def: Updated.
- (ix86_expand_special_args_builtin): Likewise.
-
- * config/i386/i386.c (bdesc_special_args): Update
- __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
- __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
- __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
- __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
-
- * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
- Use <avxpermvecmode> on mask register.
- (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
-
-2011-01-17 Olivier Hainque <hainque@adacore.com>
- Michael Haubenwallner <michael.haubenwallner@salomon.at>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/46655
- * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
- if <= USHRT_MAX in 32-bit mode.
-
-2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/install.texi (Configuration, Specific): Wrap long
- lines in examples. Allow line wrapping in long options
- and URLs where beneficial for PDF output.
-
-2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
-
- * config/mips/mips.c (mips_classify_symbol): Don't return
- SYMBOL_PC_RELATIVE for nonlocal labels.
-
-2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
-
-2011-01-15 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/47276
- * ipa.c (function_and_variable_visibility): Do not try to mark alias
- declarations as needed.
-
-2011-01-15 Martin Jambor <mjambor@suse.cz>
-
- * common.opt (fdevirtualize): New flag.
- * doc/invoke.texi (Option Summary): Document it.
- * opts.c (default_options_table): Add devirtualize flag.
- * ipa-prop.c (detect_type_change): Return immediately if
- devirtualize flag is not set.
- (detect_type_change_ssa): Likewise.
- (compute_known_type_jump_func): Likewise.
- (ipa_analyze_virtual_call_uses): Likewise.
-
-2011-01-14 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/45934
- PR tree-optimization/46302
- * ipa-prop.c (type_change_info): New type.
- (stmt_may_be_vtbl_ptr_store): New function.
- (check_stmt_for_type_change): Likewise.
- (detect_type_change): Likewise.
- (detect_type_change_ssa): Likewise.
- (compute_complex_assign_jump_func): Check for dynamic type change.
- (compute_complex_ancestor_jump_func): Likewise.
- (compute_known_type_jump_func): Likewise.
- (compute_scalar_jump_functions): Likewise.
- (ipa_analyze_virtual_call_uses): Likewise.
- (ipa_analyze_node): Push and pop cfun, set current_function_decl.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
- * config/i386/i386.opt (msse5): New Alias.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
- * config/sparc/linux64.h (CC1_SPEC): Likewise.
- * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
- * config/sparc/sparc.h (CC1_SPEC): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
- -mcpu options.
- * config/sparc/linux64.h (CC1_SPEC): Likewise.
- * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
- * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
- * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
- Likewise.
- * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
-
-2011-01-14 Mike Stump <mikestump@comcast.net>
-
- * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
- * config/fr30/fr30.md: Likweise
- (movsi_push): Likewise.
- (movsi_pop): Likewise.
- (enter_func): Likewise.
- * config/moxie/moxie.md (movsi_push): Likewise.
- (movsi_pop): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
- %{no_archive} %{exact_version}.
- * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
- * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
- %{no_archive} %{exact_version}.
- * config/mips/openbsd.h (LINK_SPEC): Likewise.
- * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
- * config/mips/vxworks.h: Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
- ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
- -nodefaultlib.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
- for mcpu not cpu.
- * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
- CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
- not cpu.
- (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
- Don't handle -shlib.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
- (CC1_SPEC): Don't handle -profile.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
- * config/mips/mips.h (CC1_SPEC): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
- * config/mips/mips.h (CC1_SPEC): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
- * config/m32r/linux.h (LINK_SPEC): Likewise.
- * config/mips/linux.h (LINK_SPEC): Likewise.
- * config/mips/linux64.h (LINK_SPEC): Likewise.
- * config/sparc/linux.h (LINK_SPEC): Likewise.
- * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
- LINK_SPEC): Likewise.
- * config/xtensa/linux.h (LINK_SPEC): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
- %{version:-v}.
- * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
- * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
-
-2011-01-14 Joseph Myers <joseph@codesourcery.com>
-
- * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
-
-2011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
- supports -Bstatic/-Bdynamic.
- * configure: Regenerate.
-
-2011-01-14 Jan Hubicka <jh@suse.cz>
- Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/46037
- * config/darwin.c (darwin_override_options): Honor flag_gtoggle
- when checking debug_info_level. Test write_symbols instead of
- debug_hooks->var_location when setting flag_var_tracking_uninit.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47179
- * target.def (ref_may_alias_errno): New target hook.
- * targhooks.h (default_ref_may_alias_errno): Declare.
- * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
- (default_ref_may_alias_errno): New function.
- * target.h (struct ao_ref_s): Declare.
- * tree-ssa-alias.c: Include target.h.
- (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
- * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
- (targhooks.o): Likewise.
- * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
- * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47280
- * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
- return CFG changes.
- (tree_ssa_forward_propagate_single_use_vars): Deal with
- CFG changes from associate_plusminus.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47281
- Revert
- 2011-01-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46076
- * tree-ssa.c (useless_type_conversion_p): Conversions from
- unprototyped to empty argument list function types are useless.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47286
- * tree-ssa-structalias.c (new_var_info): Register variables are global.
-
-2011-01-14 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/46823
- * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
-
-2011-01-13 Anatoly Sokolov <aesok@post.ru>
-
- * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
- LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
- * config/xtensa/xtensa.c (xtensa_libcall_value,
- xtensa_function_value_regno_p): New functions.
- (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
-
-2011-01-13 Kai Tietz <kai.tietz@onevision.com>
-
- PR c++/47213
- * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
- PE specific hook.
- * config/i386/i386-protos.h (i386_pe_assemble_visibility):
- New function prototype.
- * config/i386/winnt.c (i386_pe_assemble_visibility):
- Warn only if attribute was specified by user.
-
-2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47251
- * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
- floating point.
- (floatunsdidf2_fcfidu): Ditto.
-
-2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (print_operand_address): Replace 'error' with
- 'output_operand_lossage'.
- (print_operand): Likewise.
-
-2011-01-13 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/39077
- * doc/invoke.texi (max-gcse-insertion-ratio): Document.
- * params.h (MAX_GCSE_INSERTION_RATIO): Define.
- * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
- * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
- * gcse.c (prune_insertions_deletions): New function.
- (compute_pre_data): Use it.
-
-2011-01-13 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/PR46973
- * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
- static function.
- (prune_unused_types_mark): Use it.
-
-2011-01-13 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/45352
- * sel-sched.c: Update copyright years.
- (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
- in the advancing loop when we have issued issue_rate insns.
-
-2011-01-12 Richard Henderson <rth@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
- (TARGET_MD_ASM_CLOBBERS): New.
-
- * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
- (TARGET_DELEGITIMIZE_ADDRESS): New.
-
- * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
- (clzsi2, *bsch): New patterns.
-
- * config/mn10300/mn10300.md (INT): New mode iterator.
- (*mov<INT>_clr): New pattern, and peep2 to generate it.
-
- * config/mn10300/mn10300.c (mn10300_option_override): Force enable
- flag_split_wide_types.
-
- * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
- (mn10300_trampoline_init): Rewrite without a template, an immediate
- load and a direct branch.
- * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
-
-2011-01-12 Anatoly Sokolov <aesok@post.ru>
-
- * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
- * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
- * config/s390/s390.c (s390_output_addr_const_extra): Make static.
- (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
-
-2011-01-12 Kai Tietz <kai.tietz@onevision.com>
-
- PR debug/47209
- * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
- of type.
-
-2011-01-12 Jan Hubicka <jh@suse.cz>
-
- PR driver/47244
- * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
- (PLUGIN_COND_CLOSE): New macro.
- (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
-
-2011-01-12 Richard Guenther <rguenther@suse.de>
-
- PR lto/47259
- * lto-streamer-out.c (output_gimple_stmt): Do not wrap
- register variables in a MEM_REF.
-
-2011-01-12 Joseph Myers <joseph@codesourcery.com>
-
- * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
- crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
- hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
- i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
- i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
- x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
- ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
- m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
- mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
- s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
- sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
- am33_2.0-*-linux*): Use gnu-user.h before linux.h.
- * config/gnu-user.h: New. Copied from linux.h.
- (LINUX_TARGET_STARTFILE_SPEC): Rename to
- GNU_USER_TARGET_STARTFILE_SPEC.
- (LINUX_TARGET_ENDFILE_SPEC): Rename to
- GNU_USER_TARGET_ENDFILE_SPEC.
- (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
- (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
- (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
- LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
- CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
- UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
- BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
- BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
- LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
- TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
- * config/arm/linux-eabi.h (CC1_SPEC): Use
- GNU_USER_TARGET_CC1_SPEC.
- (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
- (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
- (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
- * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
- LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
- LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
- CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
- LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
-
-2011-01-12 Richard Guenther <rguenther@suse.de>
-
- PR other/46946
- * doc/invoke.texi (ffast-math): Document it is turned on
- with -Ofast.
-
-2011-01-12 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/47233
- * opts.c (common_handle_option): Disable ipa-reference with profile
- feedback.
-
-2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-parser.c (c_parser_objc_at_property_declaration): Improved
- error message.
-
-2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * c-parser.c (c_lex_one_token): Updated and reindented some
- comments. No changes in code.
-
-2011-01-11 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_output_var): Don't output the variable if there is
- already a type with the same name.
-
-2011-01-11 Ian Lance Taylor <iant@google.com>
-
- * godump.c (go_format_type): Don't generate float80.
-
-2011-01-11 Richard Henderson <rth@redhat.com>
-
- * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
- declaration. Rewrite for both speed and size.
- (mn10300_address_cost_1): Remove.
- (mn10300_register_move_cost): New.
- (mn10300_memory_move_cost): New.
- (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
- ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
- extensions, shifts, BSWAP, CLZ.
- (mn10300_wide_const_load_uses_clr): Remove.
- (TARGET_REGISTER_MOVE_COST): New.
- (TARGET_MEMORY_MOVE_COST): New.
- * config/mn10300/mn10300-protos.h: Update.
- * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
-
- * config/mn10300/constraints.md ("R", "T"): Remove constraints.
- * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
- * config/mn10300/mn10300-protos.h: Update.
- * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
- (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
- (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
- (*test_int_bitfield, *test_byte_bitfield): Remove.
- (*bit_test, *subreg_bit_test): Remove.
- * config/mn10300/predicates.md (const_8bit_operand): Remove.
-
- * config/mn10300/constraints.md ("c"): Rename from "A".
- ("A", "D"): New constraint letters.
- * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
- (fmssf4, fnmasf4, fnmssf4): Likewise.
-
- * config/mn10300/mn10300.md (isa): New attribute.
- (enabled): New attribute.
-
- * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
- (abssf2, negsf2): Define only for hardware fp.
- (sqrtsf2): Reformat.
- (addsf3, subsf3, mulsf3): Merge expander and insn.
-
- * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
- (DEBUGGER_AUTO_OFFSET): Remove.
- (DEBUGGER_ARG_OFFSET): Remove.
-
- * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
- Emit register stores with the same offsets as the hardware.
- (mn10300_store_multiple_operation): Don't check that the register
- save offsets are monotonic.
- * config/mn10300/mn10300-protos.h: Update.
-
- * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
-
- * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
- in terms of the value on the stack, not the MDR register.
-
-2011-01-11 Jan Hubicka <jh@suse.cz>
-
- PR lto/45721
- PR lto/45375
- * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
- (symbol_alias_set_destroy, symbol_alias_set_contains,
- propagate_aliases_backward): Declare.
- * lto-streamer-out.c (struct sets): New sturcture.
- (trivally_defined_alias): New function.
- (output_alias_pair_p): Rewrite.
- (output_unreferenced_globals): Fix output of alias pairs.
- (produce_symtab): Likewise.
- * ipa.c (function_and_variable_visibility): Set weak alias destination
- as needed in lto.
- * varasm.c (symbol_alias_set_t): Remove.
- (symbol_alias_set_destroy): Export.
- (propagate_aliases_forward, propagate_aliases_backward): New functions
- based on ...
- (compute_visible_aliases): ... this one; remove.
- (trivially_visible_alias): New
- (trivially_defined_alias): New.
- (remove_unreachable_alias_pairs): Rewrite.
- (finish_aliases_1): Reorganize code checking if alias is defined.
- * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
- in LTO mode.
-
-2011-01-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46076
- * tree-ssa.c (useless_type_conversion_p): Conversions from
- unprototyped to empty argument list function types are useless.
-
-2011-01-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/45235
- * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
- volatile MEMs as MEM_READONLY_P.
-
-2011-01-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47239
- * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
-
-2011-01-11 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47086
- * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
- IVs from statements that might throw.
-
-2011-01-10 Jan Hubicka <jh@suse.cz>
-
- PR lto/45375
- * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
-
-2011-01-10 Jan Hubicka <jh@suse.cz>
-
- PR lto/45375
- * profile.c (read_profile_edge_counts): Ignore profile inconistency
- when correcting profile.
-
-2011-01-10 Jan Hubicka <jh@suse.cz>
-
- PR lto/46083
- * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
- DECL_FINI_PRIORITY.
- * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
- Restore DECL_FINI_PRIORITY.
-
-2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/gimple.texi: Fix quoting of multi-word return values in
- @deftypefn statements. Ensure presence of return value. Wrap
- overlong @deftypefn lines.
- (is_gimple_operand, is_gimple_min_invariant_address): Remove
- descriptions of removed functions.
- * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
- of multi-word return value in @deftypefn statement.
-
-2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
- (Conditional Expressions, Logical Operators)
- (Statement and operand traversals): Do not indent smallexample
- code. Fix duplicate function argument in example.
-
-2011-01-10 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47141
- * ipa-split.c (split_function): Handle case where we are
- returning a value and the return block has a virtual operand phi.
-
-2011-01-10 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/47234
- * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
- (pass_feedback_split_functions): Declare.
- * passes.c (init_optimization_passes): Add ipa-split as subpass of
- tree-profile.
- * ipa-split.c (gate_split_functions): Update comments; disable
- split-functions for profile_arc_flag and branch_probabilities.
- (gate_feedback_split_functions): New function.
- (execute_feedback_split_functions): New function.
- (pass_feedback_split_functions): New global var.
-
-2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR lto/46760
- * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
- calling gimple_call_set_cannot_inline.
-
-2011-01-10 Iain Sandoe <iains@gcc.gnu.org>
-
- * config/darwin-sections.def: Remove unused section.
-
-2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR c++/47218
- * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
-
-2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47232
- * c-parser.c (c_parser_declaration_or_fndef): Improved
- error message.
-
-2011-01-09 Kai Tietz <kai.tietz@onevision.com>
-
- * config/i386/winnt.c (i386_pe_start_function): Make sure
- to switch back to function's section.
-
-2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
-
- PR gcc/46902
- PR testsuite/46912
- * plugin.c: Move include of dlfcn.h from here...
- * system.h: ... to here.
-
-2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * doc/cpp.texi (C++ Named Operators): Fix markup for header
- file name.
- * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
- two extra empty pages in PDF output.
-
-2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47078
- * c-parser.c (c_parser_objc_type_name): If the type is unknown,
- for error recovery purposes behave as if it was not specified so
- that the default type is usd.
-
-2011-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optmization/46469
- * ipa.c (function_and_variable_visibility): Clear needed flags on
- nodes with external decls; handle weakrefs merging correctly.
-
-2011-01-07 Joseph Myers <joseph@codesourcery.com>
-
- * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
- not false.
-
-2011-01-07 Jan Hubicka <jh@suse.cz>
-
- * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
- and no longer claim that gold is required for linker plugin.
- * configure: Regenerate.
- * gcc.c (PLUGIN_COND): New macro.
- (LINK_COMMAND_SPEC): Use it.
- (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
- * config.in (HAVE_LTO_PLUGIN): New.
- * configure.ac (--with-lto-plugin): New parameter; autodetect
- HAVE_LTO_PLUGIN.
-
-2011-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/46367
- * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
- when we can update original.
- (cgraph_mark_inline_edge): Sanity check.
- * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
-
-2011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.h (ASM_COMMENT_START): Define.
-
-2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR driver/42445
- * gcc.c (%>S): New.
- (SWITCH_KEEP_FOR_GCC): Likewise.
- (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
- (do_spec_1): Handle "%>".
-
- * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
-
-2011-01-07 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47201
- * config/i386/i386.c (ix86_delegitimize_address): If
- simplify_gen_subreg fails, return orig_x.
-
- PR bootstrap/47187
- * value-prof.c (gimple_stringop_fixed_value): Handle
- lhs of the call properly.
-
-2011-01-07 Jan Hubicka <jh@suse.cz>
-
- PR lto/45375
- * lto-opt.c (lto_reissue_options): Set flag_shlib.
-
-2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
-
- * target.def (function_switched_text_sections): New hook.
- * doc/tm.texi: Regenerated.
- * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
- * final.c (default_function_switched_text_sections): New.
- (final_scan_insn): Call function_switched_text_sections when a
- mid-function section change occurs.
- * output.h (default_function_switched_text_sections): Declare.
- * config/darwin-protos.h (darwin_function_switched_text_sections):
- Likewise.
- * config/darwin.c (darwin_function_switched_text_sections): New.
- * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
-
-2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
-
- * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
- DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
- the secondary code fragment when outputting for DWARF == 2.
-
-2011-01-07 Anatoly Sokolov <aesok@post.ru>
-
- * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
- * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
- Remove.
- * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
- (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
-
-2011-01-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR debug/46704
- * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
- when it is not empty.
-
-2011-01-06 Changpeng Fang <changpeng.fang@amd.com>
-
- Bobcat Enablement
- * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
- (case ${target}): Add btver1.
- * config/i386/driver-i386.c (host_detect_local_cpu): Let
- -march=native recognize btver1 processors.
- * config/i386/i386-c.c (ix86_target_macros_internal): Add
- btver1 def_and_undef
- * config/i386/i386.c (struct processor_costs btver1_cost): New
- btver1 cost table.
- (m_BTVER1): New definition.
- (m_AMD_MULTIPLE): Includes m_BTVER1.
- (initial_ix86_tune_features): Add btver1 tune.
- (processor_target_table): Add btver1 entry.
- (static const char *const cpu_names): Add btver1 entry.
- (software_prefetching_beneficial_p): Add btver1.
- (ix86_option_override_internal): Add btver1 instruction sets.
- (ix86_issue_rate): Add btver1.
- (ix86_adjust_cost): Add btver1.
- * config/i386/i386.h (TARGET_BTVER1): New definition.
- (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
- (enum processor_type): Add PROCESSOR_BTVER1.
- * config/i386/i386.md (define_attr "cpu"): Add btver1.
-
-2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/43309
- * config/i386/i386.c (legitimize_tls_address)
- <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
- * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
- (tls_initial_exec_64_sun): New pattern.
-
-2011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (Overall Options): Improve wording and markup
- of the description of -wrapper.
-
-2011-01-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
- rdynamic, threads): New Driver options.
-
-2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/38118
- * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
- if coming from .tdata.
- * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
-
-2011-01-06 Jan Hubicka <jh@suse.cz>
-
- PR lto/47188
- * collect2.c (main): Do not enable LTOmode when plugin is active.
-
-2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR other/45915
- * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
- --version output if supported.
- * configure: Regenerate.
-
-2011-01-06 Joseph Myers <joseph@codesourcery.com>
-
- * config/linux-android.opt (tno-android-cc, tno-android-ld): New
- Driver options.
-
-2011-01-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c/47150
- * c-convert.c (convert): When converting a complex expression
- other than COMPLEX_EXPR to a different complex type, ensure
- c_save_expr is called instead of save_expr, unless in_late_binary_op.
- * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
- when converting COMPLEX_TYPE.
-
-2011-01-06 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/47139
- * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
- only the last reduction value is used outside the loop. Update
- documentation.
-
-2011-01-05 Joseph Myers <joseph@codesourcery.com>
-
- * config/rtems.opt: New.
- * config.gcc (*-*-rtems*): Use rtems.opt.
-
-2011-01-05 Changpeng Fang <changpeng.fang@amd.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Bulldozer
- processors do not support 3DNow instructions.
-
-2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_option_override): Set parameter
- PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
-
-2011-01-05 Jan Hubicka <jh@suse.cz>
-
- * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
- at the command line.
-
-2011-01-05 Martin Jambor <mjambor@suse.cz>
-
- PR lto/47162
- * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
- deltas on streamed outgoing edges.
- (output_node_opt_summary): Output info for outgoing edges only when
- the node is in new parameter set.
- (output_cgraph_opt_summary): New parameter set, passed to the two
- aforementioned functions. Update its forward declaration and its
- callee too.
-
-2011-01-05 Tom Tromey <tromey@redhat.com>
-
- * c-parser.c (c_parser_omp_atomic): Pass location of assignment
- operator to c_finish_omp_atomic.
- * c-typeck.c (lvalue_or_else): Add 'loc' argument.
- (build_unary_op): Update.
- (build_modify_expr): Update.
- (build_asm_expr): Update.
-
-2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
- newly inserted insns.
- (pad_bb): Likewise.
- (spu_emit_branch_hint): Likewise.
- (insert_hbrp_for_ilb_runout): Likewise.
- (spu_machine_dependent_reorg): Call df_finish_pass after
- schedule_insns returns.
-
-2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
-
-2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/47005
- * tree-sra.c (struct access): Add 'non_addressable' bit.
- (create_access): Set it for a DECL_NONADDRESSABLE_P field.
- (decide_one_param_reduction): Return 0 if the parameter is passed by
- reference and one of the accesses in the group is non_addressable.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/47056
- * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
- (mark_load): Likewise. Handle FUNCTION_DECL specially.
- (mark_store): Likewise. Pass STMT to ipa_record_reference.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
- initializer. Skip view conversions from aggregate types.
-
-2011-01-04 Kai Tietz <kai.tietz@onevision.com>
-
- PR bootstrap/47055
- * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
-
-2011-01-04 Philipp Thomas <pth@suse.de>
-
- * config/microblaze/microbalse.opt (mxl-float-convert): Fix
- obvious typo.
-
-2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * function.c (thread_prologue_and_epilogue_insns): Do not crash
- on empty epilogue sequences.
-
-2011-01-04 Joseph Myers <joseph@codesourcery.com>
-
- * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
- non-static): New Driver options.
-
-2011-01-04 Jie Zhang <jie@codesourcery.com>
-
- PR driver/47137
- * gcc.c (default_compilers[]): Set combinable field to 0
- for all assembly languages.
-
-2011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
-
- * config/mips/loongson3a.md: New file.
- * config/mips/mips.md: Include loongson3a.md.
- * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
- TUNE_LOONGSON_3A.
-
-2011-01-03 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/47017
- * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
- instead of convert_memory_address_addr_space on the base expression.
-
-2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_option_override): Update error text
- for bad -march= / -mtune= values.
-
-2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
- if branch-hint optimization will be performed.
-
-2011-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47148
- * ipa-split.c (split_function): Convert arguments to
- DECL_ARG_TYPE if possible.
-
- PR tree-optimization/47155
- * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
- when computing uns.
-
- PR rtl-optimization/47157
- * combine.c (try_combine): If undobuf.other_insn becomes
- (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
- and set *new_direct_jump_p too.
-
-2011-01-03 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/47021
- * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
-
-2011-01-03 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c (process_command): Update copyright notice dates.
- * gcov.c (print_version): Likewise.
- * gcov-dump.c (print_version): Likewise.
- * mips-tfile.c (main): Likewise.
- * mips-tdump.c (main): Likewise.
-
-2011-01-03 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/46801
- * tree-sra.c (type_internals_preclude_sra_p): Check whether
- aggregate fields start at byte boundary instead of the bit-field flag.
-
-2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR driver/47137
- * gcc.c (main): Revert revision 168407.
-
-2011-01-03 Martin Jambor <mjambor@suse.cz>
-
- * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
-
-2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * tree-vect-generic.c (expand_vector_operations_1): When using vector/
- vector optab to expand vector/scalar shift, update gimple to vector.
-
-2011-01-03 Martin Jambor <mjambor@suse.cz>
-
- * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
- a thunk.
-
-2011-01-03 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/46984
- * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
- HOST_WIDE_INT.
- (cgraph_create_indirect_edge): Fixed line length.
- (cgraph_indirect_call_info): Declare.
- (cgraph_make_edge_direct) Update declaration.
- * cgraph.c (cgraph_allocate_init_indirect_info): New function.
- (cgraph_create_indirect_edge): Use it.
- (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
- callees.
- * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
- the new thunk_delta representation.
- * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
- HOST_WIDE_INT.
- (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
- (ipa_read_indirect_edge_info): Likewise.
- * lto-cgraph.c (output_edge_opt_summary): New function.
- (output_node_opt_summary): Call it on all outgoing edges.
- (input_edge_opt_summary): New function.
- (input_node_opt_summary): Call it on all outgoing edges.
-
-2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
-
- PR driver/47137
- * gcc.c (main): Don't check have_o when settting combine_inputs.
-
-2011-01-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * regrename.c: Add general comment describing the pass.
- (struct du_head): Remove 'length' field.
- (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
- (regrename_optimize): Do not sort chains. Rework comments, add others.
- Force renaming to the preferred class (if any) in the first pass and do
- not consider registers that belong to it in the second pass.
- (create_new_chain): Do not set 'length' field.
- (scan_rtx_reg): Likewise.
-
-2011-01-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47140
- * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
- TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
- to bit_value_binop.
-
- PR rtl-optimization/47028
- * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
- parm_birth_insn instead of at the beginning of first bb.
-
-2011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
-
- * doc/generic.texi: Remove duplicated "@subsubsection Statements".
- Remove the word "see" before "@pxref".
- * doc/rtl.texi: Remove the word "see" before "@pxref".
-
-2011-01-01 Jan Hubicka <jh@suse.cz>
-
- * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
- memory.
-
-2011-01-01 Kai Tietz <kai.tietz@onevision.com>
-
- PR target/38662
- * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ChangeLog-2011 b/gcc/ChangeLog-2011
new file mode 100644
index 0000000..534ba13
--- /dev/null
+++ b/gcc/ChangeLog-2011
@@ -0,0 +1,40041 @@
+2011-12-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * cselib.h (cselib_add_permanent_equiv): Declare.
+ (canonical_cselib_val): New.
+ * cselib.c (new_elt_loc_list): Rework to support value
+ equivalences. Adjust all callers.
+ (preserve_only_constants): Retain value equivalences.
+ (references_value_p): Retain preserved values.
+ (rtx_equal_for_cselib_1): Handle value equivalences.
+ (cselib_invalidate_regno): Use canonical value.
+ (cselib_add_permanent_equiv): New.
+ * alias.c (find_base_term): Reset locs lists while recursing.
+ * var-tracking.c (val_bind): New. Don't add equivalences
+ present in cselib table, compared with code moved from...
+ (val_store): ... here.
+ (val_resolve): Use val_bind.
+ (VAL_EXPR_HAS_REVERSE): Drop.
+ (add_uses): Do not create MOps for addresses. Do not mark
+ non-REG non-MEM expressions as requiring resolution.
+ (reverse_op): Record reverse as a cselib equivalence.
+ (add_stores): Use it. Do not create MOps for addresses.
+ Do not require resolution for non-REG non-MEM expressions.
+ Simplify support for reverse operations.
+ (compute_bb_dataflow): Drop reverse support.
+ (emit_notes_in_bb): Likewise.
+ (create_entry_value): Rename to...
+ (record_entry_value): ... this. Use cselib equivalences.
+ (vt_add_function_parameter): Adjust.
+
+2011-12-30 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_inner_target_options): Fix thinko
+ in setting options via target #pragma or attribute.
+
+2011-12-30 Anatoly Sokolov <aesok@post.ru>
+
+ * config/bfin/bfin.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/bfin/bfin-protos.h (bfin_register_move_cost,
+ bfin_memory_move_cost): Remove.
+ * config/bfin/bfin.c (bfin_register_move_cost,
+ bfin_memory_move_cost): Make static. Change arguments type from
+ enum reg_class to reg_class_t and from int to bool.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+
+2011-12-30 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (total_lines, total_executed): New global vars.
+ (generate_results): Call executed_summary.
+ (executed_summary): New function, broken out of ...
+ (function_summary): ... here. Call it.
+ * coverage.c (coverage_finish): Also check for local_tick == -1.
+ * gcov-dump (tag_function): Correct labelling typo.
+
+2011-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/51623
+ * config/rs6000/rs6000.c (rs6000_assemble_integer): Delete check
+ for an initialized pointer being in a text section with
+ -mrelocatable, since it should never happen.
+
+2011-12-29 Michael Eager <eager@eagercon.com>
+
+ * config/microblaze/microblaze.md: Add expander for simple_return,
+ return, add return_internal and simple_return_internal insns.
+
+2011-12-29 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/sh.h (BRANCH_COST): Use sh_branch_cost variable.
+ * config/sh/sh.c (sh_option_override): Simplify sh_branch_cost
+ expression.
+
+2011-12-28 Ian Lance Taylor <iant@google.com>
+
+ * dwarf2out.c (gen_compile_unit_die): Use DW_LANG_Go for Go.
+
+2011-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/51623
+ * config/rs6000/rs6000.c (rs6000_assemble_integer): Don't call
+ unlikely_text_section_p. Instead check for being in a code section.
+
+2011-12-28 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/51684
+ * tree-vect-slp.c (vect_schedule_slp_instance): Get gsi of original
+ statement in case of a pattern.
+ (vect_schedule_slp): Likewise.
+
+2011-12-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/51667
+ * ree.c (insn_merge_code): Delete.
+ (is_insn_merge_attempted): Likewise.
+ (get_insn_status): Likewise.
+ (set_insn_status): Likewise.
+ (struct ext_cand): Add CODE and MODE fields.
+ (combine_set_extend): Rename to...
+ (combine_set_extension): ...this. Use above fields and tidy up.
+ (transform_ifelse): Likewise.
+ (get_defs): Return the chain of definitions.
+ (is_this_a_cmove): Merge into...
+ (is_cond_copy_insn): ...this. Return bool.
+ (make_defs_and_copies_lists): Adjust calls to get_defs and simplify.
+ (merge_def_and_ext): Adjust call to combine_set_extend.
+ (combine_reaching_defs): Remove calls to {g|s}et_insn_status.
+ (struct extend_info): Rename to...
+ (struct re_info): ...this. Add DEF_MAP field.
+ (add_ext_candidate): Merge into...
+ (add_removable_extension): ...this. Adjust calls to get_defs. Ensure
+ reaching definitions are associated with only one kind of extension.
+ (find_removable_extensions): Create and destroy the definition map.
+ (find_and_remove_re): Return void. Change 'long' variables to 'int'.
+ Do not deal with is_insn_merge_attempted.
+
+2011-12-25 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48641
+ * tree-ssa-threadupdate.c (redirect_edges): Watch for overflow.
+
+2011-12-26 Oleg Endo <oleg.endo@t-online.de>
+
+ * config/sh/sync.md: Add soft atomics ABI description.
+ (fetchop_name): Use 'or' instead of 'ior'.
+ (fetchop_insn): Remove.
+ (atomic_compare_and_swap<mode>_soft):
+ Don't insert aligning nop after the write-back instruction. Fix
+ multi-line asm output formatting style.
+ (atomic_fetch_<fetchop_name><mode>_soft): Likewise.
+ (atomic_fetch_nand<mode>_soft): Likewise.
+ (atomic_<fetchop_name>_fetch<mode>_soft): Likewise.
+ (atomic_nand_fetch<mode>_soft): Likewise.
+
+2011-12-23 Richard Henderson <rth@redhat.com>
+
+ * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR): Remove.
+ * cfgexpand.c (expand_debug_expr): Don't handle them.
+ * expr.c (expand_expr_real_2): Likewise.
+ * fold-const.c (fold_binary_loc): Likewise.
+ * gimple-pretty-print.c (dump_binary_rhs): Likewise.
+ * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+ * tree-inline.c (estimate_operator_cost): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+ (can_vec_perm_for_code_p): Remove.
+ (expand_binop): Don't try it.
+ (init_optabs): Don't init vec_extract_even/odd_optab.
+ * genopinit.c (optabs): Likewise.
+ * optabs.h (OTI_vec_extract_even, OTI_vec_extract_odd): Remove.
+ (vec_extract_even_optab, vec_extract_odd_optab): Remove.
+ * tree-vect-data-refs.c (vect_strided_store_supported): Tidy code.
+ (vect_permute_store_chain): Use TYPE_VECTOR_SUBPARTS instead of
+ GET_MODE_NUNITS; check vect_gen_perm_mask return value instead of
+ asserting vect_strided_store_supported.
+ (vect_strided_load_supported): Use can_vec_perm_p.
+ (vect_permute_load_chain): Use VEC_PERM_EXPR.
+
+ * doc/generic.texi (VEC_EXTRACT_EVEN_EXPR): Remove.
+ (VEC_EXTRACT_ODD_EXPR): Remove.
+ * doc/md.texi (vec_extract_even, vec_extract_odd): Remove.
+
+2011-12-23 Anatoly Sokolov <aesok@post.ru>
+
+ * config/score/score.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/score/score-protos.h (score_register_move_cost): Remove.
+ * config/score/score.c (TARGET_REGISTER_MOVE_COST): Define.
+ (score_register_move_cost): Make static. Change arguments type from
+ enum reg_class to reg_class_t.
+
+2011-12-23 Jakub Jelinek <jakub@redhat.com>
+ Richard Henderson <rth@redhat.com>
+
+ * tree.def (VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): Remove.
+ * gimple-pretty-print.c (dump_binary_rhs): Don't handle
+ VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
+ * expr.c (expand_expr_real_2): Likewise.
+ * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+ * cfgexpand.c (expand_debug_expr): Likewise.
+ * tree-inline.c (estimate_operator_cost): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+ * fold-const.c (fold_binary_loc): Likewise.
+ * doc/generic.texi (VEC_INTERLEAVE_HIGH_EXPR,
+ VEC_INTERLEAVE_LOW_EXPR): Remove documentation.
+ * optabs.c (optab_for_tree_code): Don't handle
+ VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
+ (expand_binop, init_optabs): Remove vec_interleave_high_optab
+ and vec_interleave_low_optab.
+ * genopinit.c (optabs): Likewise.
+ * optabs.h (OTI_vec_interleave_high, OTI_vec_interleave_low): Remove.
+ (vec_interleave_high_optab, vec_interleave_low_optab): Remove.
+ * doc/md.texi (vec_interleave_high, vec_interleave_low): Remove
+ documentation.
+ * tree-vect-stmts.c (gen_perm_mask): Renamed to...
+ (vect_gen_perm_mask): ... this. No longer static.
+ (perm_mask_for_reverse, vectorizable_load): Adjust callers.
+ * tree-vectorizer.h (vect_gen_perm_mask): New prototype.
+ * tree-vect-data-refs.c (vect_strided_store_supported): Don't try
+ VEC_INTERLEAVE_*_EXPR, use can_vec_perm_p instead of
+ can_vec_perm_for_code_p.
+ (vect_permute_store_chain): Generate VEC_PERM_EXPR with interleaving
+ masks instead of VEC_INTERLEAVE_HIGH_EXPR and VEC_INTERLEAVE_LOW_EXPR.
+ * config/i386/i386.c (expand_vec_perm_interleave2): If
+ expand_vec_perm_interleave3 would handle it, return false.
+ (expand_vec_perm_broadcast_1): Don't use vec_interleave_*_optab.
+
+2011-12-23 Richard Henderson <rth@redhat.com>
+
+ * config/mips/loongson.md (UNSPEC_LOONGSON_PINSR_0,
+ UNSPEC_LOONGSON_PINSR_1, UNSPEC_LOONGSON_PINSR_2,
+ UNSPEC_LOONGSON_PINSR_3): Replace with...
+ (UNSPEC_LOONGSON_PINSRH): ... this.
+ (UNSPEC_LOONGSON_VINIT): New.
+ (UNSPEC_LOONGSON_DSLL, UNSPEC_LOONGSON_DSRL): New.
+ (VWB): New mode iterator.
+ (V_inner): New mode attribute.
+ (loongson_vec_init1_<VHB>): New.
+ (*vec_concatv2si): New.
+ (and<VWHB>3, ior<VWHB>3, xor<VWHB>3, one_cmpl<VWHB>2): New.
+ (*loongson_nor): New.
+ (loongson_pextrh): Un-macro-ify.
+ (loongson_pmaddhw): Likewise.
+ (smaxv4hi3, umaxv8qi3, sminv4hi3, uminv8qi3): Likewise.
+ (loongson_pinsrh_0): Represent with vec_select+vec_concat.
+ (loongson_pinsrh_1, loongson_pinsrh_2, loongson_pinsrh_3): Likewise.
+ (*vec_setv4hi, vec_setv4hi): New.
+ (sdot_prodv4hi): New.
+ (smax<VWB>3, smin<VWB>3): New.
+ (reduc_uplus_v8qi): New.
+ (loongson_pshufh): Remove destination matching input.
+ (ashl<VWH>3, ashr<VWH>3, lshr<VWH>3): Fix type attribute.
+ (vec_interleave_high<VWHB>, vec_interleave_low<VWHB>): Remove.
+ (loongson_punpckhbh, loongson_punpckhhw, loongson_punpckhhw_qi,
+ loongson_punpckhwd, loongson_punpckhwd_qi, loongson_punpckhwd_hi,
+ loongson_punpcklbh, loongson_punpcklhw, loongson_punpcklhw_qi,
+ loongson_punpcklwd, loongson_punpcklwd_qi, loongson_punpcklwd_hi,
+ vec_perm_const<VWHB>, vec_unpacks_lo_<VHB>, vec_unpacks_hi_<VHB>,
+ vec_unpacku_lo_<VHB>, vec_unpacku_hi_<VHB>, vec_shl_<VWHBDI>,
+ vec_shr_<VWHBDI>, reduc_uplus_<VWH>, reduc_splus_<VWHB>,
+ reduc_smax_<VWHB>, reduc_smin_<VWHB>, reduc_umax_<VWHB>,
+ reduc_umin_<VB>): New.
+ * config/mips/mips-ps-3d.md (vec_perm_const_ps): New.
+ (mips_pul_ps, mips_puu_ps, mips_pll_ps, mips_plu_ps): Expand in
+ terms of vec_perm_const_ps.
+ (vec_perm_constv2sf): New.
+ (vec_initv2sf): Use mips_expand_vector_init.
+ (vec_concatv2sf): Rename from vec_initv2sf_internal.
+ (vec_setv2sf): Use vec_perm_const_ps.
+ (reduc_splus_v2sf, reduc_smin_v2sf, reduc_smax_v2sf): New.
+ * config/mips/loongson.h (pshufh_u, pshufh_s): Don't pass dest to
+ the builtin.
+ * config/mips/mips-modes.def (V16QI, V8HI, V4SI, V4SF): New modes.
+ * config/mips/mips-protos.h: Update.
+ * config/mips/mips.c (mips_get_arg_info): Match V2SFmode, not all
+ MODE_VECTOR_FLOAT.
+ (mips_return_mode_in_fpr_p): Likewise.
+ (mips_cannot_change_mode_class): Allow 8-byte integral mode changes.
+ (CODE_FOR_loongson_punpckhbh, CODE_FOR_loongson_punpckhhw,
+ CODE_FOR_loongson_punpckhwd, CODE_FOR_loongson_punpcklbh,
+ CODE_FOR_loongson_punpcklhw, CODE_FOR_loongson_punpcklwd): Remove.
+ (mips_builtins): Remove first operand for loongson pshufh builtins.
+ (MAX_VECT_LEN, struct expand_vec_perm_d): New.
+ (mips_expand_vselect, mips_expand_vselect_vconcat,
+ mips_expand_vpc_loongson_even_odd, mips_expand_vpc_loongson_pshufh,
+ mips_expand_vpc_loongson_bcast, mips_expand_vec_perm_const_1,
+ mips_expand_vec_perm_const, mips_vectorize_vec_perm_const_ok,
+ mips_expand_vec_unpack, mips_constant_elt_p, mips_expand_vi_broadcast,
+ mips_expand_vi_constant, mips_expand_vi_loongson_one_pinsrh,
+ mips_expand_vi_general, mips_expand_vec_reduc, mips_expand_vec_minmax,
+ TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
+ (mips_expand_vector_init): Rewrite.
+ * config/mips/predicates.md (const_2_or_3_operand): New.
+ (const_0_to_3_operand): New.
+
+2011-12-23 Dmitry Plotnikov <dplotnikov@ispras.ru>
+
+ * config/arm/neon.md (float<mode><V_cvtto>2): New.
+ (floatuns<mode><V_cvtto>2): New.
+ (fix_trunc<mode><V_cvtto>2): New.
+ (fix_truncuns<mode><V_cvtto>2): New.
+ * config/arm/iterators.md (V_cvtto): New iterator.
+
+2011-12-23 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/50396
+ * simplify-rtx.c (simplify_binary_operation_1): Properly
+ guard code that only works for integers.
+
+2011-12-23 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-crtlmap.map (log10): Fix typo.
+
+2011-12-23 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.
+
+2011-12-22 Bin Cheng <bin.cheng@arm.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/43491
+ * tree-ssa-pre.c (eliminate): Don't replace global register
+ variable when it is the RHS of a single assign.
+
+2011-12-22 Joey Ye <joey.ye@arm.com>
+
+ * toplev.c (process_options): Fix typo.
+
+2011-12-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/51252
+ * config/pa/pa.c (pa_som_tm_clone_table_section): New function.
+ (som_tm_clone_table_section): Declare.
+ (pa_file_start_space): Create $TM_CLONE_TABLE$ subspace.
+ (pa_som_asm_init_sections): Init som_tm_clone_table_section.
+ * config/pa/som.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
+
+2011-12-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
+ * doc/tm.texi: Regenerate.
+ * target.def (prepare_pch_save): New hook.
+ * c-family/c-pch.c (c_common_write_pch): Call it.
+ * config/mips/mips.c (was_mips16_pch_p): Delete.
+ (mips_set_mips16_mode): Don't refer to was_mips16_pch_p.
+ (mips_prepare_pch_save): New function.
+ (TARGET_PREPARE_PCH_SAVE): Define.
+
+2011-12-22 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51212
+ * opts.c (finish_options): Call sorry on -fgnu-tm and
+ -fnon-call-exceptions combination.
+
+2011-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Add missing options and
+ move -Wzero-as-null-pointer-constant to ...
+ (Warning Options): ... here.
+
+2011-12-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR target/47643
+ * doc/invoke.texi (i386 and x86-64 Options): Fix description of
+ -mtune without -march.
+
+2011-12-21 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/51643
+ * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
+ change.
+
+2011-12-22 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/ia64.c (ia64_promote_function_mode): Remove.
+ (TARGET_PROMOTE_FUNCTION_MODE): Remove.
+ (ia64_function_value): Call promote_function_mode instead of
+ ia64_promote_function_mode.
+ * config/ia64/vms.h (PROMOTE_MODE): Define.
+ (TARGET_PROMOTE_FUNCTION_MODE): Define.
+
+2011-12-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/27468
+ * common/config/alpha/alpha-common.c (alpha_option_optimization_table):
+ Enable flag_ree at -O2 or higher.
+
+2011-12-22 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51650
+ * lto.c (uniquify_nodes): Register TYPE_DECLs with the
+ debuginfo machinery.
+
+2011-12-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * tree-pass.h (pass_reload): Declare.
+ * ira.c (overall_cost_before, saved_flag_ira_share_spill_slots):
+ New global variables, moved out of ira.
+ (do_reload): New static function, split off from the second half
+ of ...
+ (ira): ... here.
+ (gate_ira): Remove.
+ (pass_ira): Use TV_IRA, set gate to NULL, and set flags to
+ TODO_dump_func.
+ (rest_of_handle_reload): New static function.
+ (pass_reload): New.
+
+2011-12-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * common/config/i386/i386-common.c (ix86_option_optimization_table):
+ Move OPT_free processing from ...
+ * config/i386/i386.c (ix86_option_override_internal): ... here.
+
+2011-12-21 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/51643
+ * arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
+ weak function on bare-metal EABI targets.
+
+2011-12-21 Jonathan Wakely <jwakely.gcc@gmail.com>
+ Jim Avera <james_avera@yahoo.com>
+
+ * doc/extend.texi (__builtin_expect): Improve example.
+
+2011-12-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Enable flag_ree
+ also for 32bit targets.
+
+2011-12-21 Richard Henderson <rth@redhat.com>
+
+ PR target/51552
+ * dwarf2cfi.c (dwarf2out_frame_debug): Move any_cfis_emitted code...
+ (scan_trace): ... here.
+
+2011-12-21 Jason Merrill <jason@redhat.com>
+
+ * doc/standards.texi (C++ language): Update for C++11.
+
+2011-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize
+ *op0 and *op1 to NULL_TREE first to avoid warnings.
+ * calls.c (initialize_argument_information): Initialize base to avoid
+ warnings.
+
+ PR middle-end/51644
+ PR middle-end/51647
+ * tree-eh.c (decide_copy_try_finally): At -O0, return true
+ even when ndests is not 1, if there are only gimple_clobber_p
+ (or debug) stmts in the finally sequence.
+ * tree-inline.c (estimate_num_insns): Return 0 for gimple_clobber_p
+ stmts.
+
+2011-12-21 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51472
+ * trans-mem.c (tm_log_add): Use create_tmp_var_reg.
+
+2011-12-21 Martin Jambor <mjambor@suse.cz>
+
+ * tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
+ (rewrite_update_enter_block): Likewise.
+ (dump_update_ssa): Likewise.
+ (update_ssa): Likewise but also dump a newline at the beginning.
+
+2011-12-21 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ PR target/50038
+ * implicit-zee.c: Delete.
+ * ree.c: New file.
+ * Makefile.in: Replace implicit-zee.c with ree.c.
+ * config/i386/i386.c (ix86_option_override_internal): Rename
+ flag_zee to flag_ree.
+ * common.opt (fzee): Ignored.
+ (free): New.
+ * passes.c (init_optimization_passes): Replace pass_implicit_zee
+ with pass_ree.
+ * tree-pass.h (pass_implicit_zee): Delete.
+ (pass_ree): New.
+ * timevar.def (TV_ZEE): Delete.
+ (TV_REE): New.
+ * doc/invoke.texi: Add -free description.
+
+2011-12-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms-protos.h (vms_function_section): New prototype.
+ * config/vms/vms.c (vms_function_section): New function.
+ * config/vms/vms.h (TARGET_ASM_FUNCTION_SECTION): Define.
+
+2011-12-21 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41159
+ * tree-outof-ssa.c (insert_value_copy_on_edge): Use the
+ mode of the pseudo as destination mode. Only assert that
+ is equal to the promoted mode of the decl if it is a REG.
+
+2011-12-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.
+
+2011-12-20 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (MAX_VECT_LEN): New.
+ (struct expand_vec_perm_d): New.
+ (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
+ (ia64_unpack_assemble): Use ia64_expand_vec_perm_const_1.
+ (expand_vselect, expand_vselect_vconcat): New.
+ (expand_vec_perm_identity, expand_vec_perm_shrp): New.
+ (expand_vec_perm_1, expand_vec_perm_broadcast): New.
+ (expand_vec_perm_interleave_2, expand_vec_perm_v4hi_5): New.
+ (ia64_expand_vec_perm_const_1, ia64_expand_vec_perm_const): New.
+ (ia64_vectorize_vec_perm_const_ok): New.
+ (ia64_expand_vec_setv2sf, ia64_expand_vec_perm_even_odd): New.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/vect.md (VEC): New mode iterator.
+ (vecint): New mode attribute.
+ (vec_interleave_lowv8qi, vec_interleave_highv8qi): Privatize with '*'.
+ (vec_interleave_lowv4hi, vec_interleave_highv4hi): Likewise.
+ (vec_interleave_lowv2si, vec_interleave_highv2si): Likewise.
+ (vec_interleave_lowv2sf, vec_interleave_highv2sf): Likewise.
+ (mix1_even, mix1_odd, mux1_alt): Likewise.
+ (mux1_brcst_qi): Remove '*' from name.
+ (vec_extract_evenv8qi, vec_extract_oddv8qi): Remove.
+ (vec_extract_evenv4hi, vec_extract_oddv4hi): Remove.
+ (vec_extract_evenv2si, vec_extract_oddv2si): Remove.
+ (vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
+ (vec_extract_evenodd_helper): Remove.
+ (vec_setv2sf): Use ia64_expand_vec_setv2sf.
+ (vec_pack_trunc_v4hi): Use ia64_expand_vec_perm_even_odd.
+ (vec_pack_trunc_v2si): Likewise.
+ (vec_perm_const<VEC>): New.
+
+2011-12-20 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-generic.c (expand_vector_operations_1): Correct tests
+ for vector types -- use the type not the mode. Fix optab selection
+ for vector shifts by a scalar. Handle over-large integer modes
+ like BLKmode.
+
+2011-12-20 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.md (*arm_xorsi3): Match iorsi3 and perform
+ post-reload splitting.
+
+ * config/arm/arm.md (*arm_cmpdi_unsigned): Enable for thumb2.
+ * config/arm/arm.c (arm_select_cc_mode): Use it.
+
+2011-12-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Restrict
+ handling of signedness differences to integer types. Only build
+ a new optype if type1 isn't correct.
+
+2011-12-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/49865
+ * ira-costs.c (find_costs_and_classes): Prefer registers even
+ if the memory cost is the same.
+
+2011-12-20 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (diagnose_mismatched_decls, grokdeclarator, grokfield)
+ (finish_struct): Refer to C11 in comments. Use flag_isoc11.
+ * c-parser.c (c_parser_static_assert_declaration)
+ (c_parser_static_assert_declaration_no_semi, c_parser_declspecs)
+ (c_parser_alignas_specifier, c_parser_alignof_expression): Refer
+ to C11 in comments. Use flag_isoc11.
+ * c-typeck.c (comptypes_check_different_types): Refer to C11 in
+ comment.
+ * doc/cpp.texi (Overview): Refer to -std=c11 instead of -std=c1x.
+ * doc/cppopts.texi (-std=c11, -std=gnu11): Document in preference
+ to -std=c1x and -std=gnu1x.
+ * doc/extend.texi (Inline, Alternate Keywords, Other Builtins)
+ (__builtin_complex, Unnamed Fields): Refer to -std=c11 and C11
+ instead of -std=c1x and C1X.
+ * doc/invoke.texi (-std=c11, -std=iso9899:2011): Document in
+ preference to -std=c1x.
+ (-std=gnu11): Document in preference to -std=gnu1x.
+ * doc/standards.texi: Document C11 instead of C1X. Document C11
+ as actual standard. Document headers required from freestanding
+ C11 implementations.
+ * ginclude/float.h, ginclude/stddef.h: Test __STDC_VERSION__ >=
+ 201112L for C11. Update comments to refer to C11.
+
+2011-12-20 Andreas Schwab <schwab@linux-m68k.org>
+
+ * configure: Regenerate.
+
+2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/51200
+ * expr.c (store_field): Avoid a direct store if the mode is larger
+ than the size of the bit field.
+ * stor-layout.c (layout_decl): If flag_strict_volatile_bitfields,
+ treat non-volatile bit fields like volatile ones.
+ * toplev.c (process_options): Disallow combination of
+ -fstrict-volatile-bitfields and ABI versions less than 2.
+ * config/arm/arm.c (arm_option_override): Don't enable
+ flag_strict_volatile_bitfields if the ABI version is less than 2.
+ * config/h8300/h8300.c (h8300_option_override): Likewise.
+ * config/rx/rx.c (rx_option_override): Likewise.
+ * config/m32c/m32c.c (m32c_option_override): Likewise.
+ * config/sh/sh.c (sh_option_override): Likewise.
+
+2011-12-20 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46796
+ * dwarf2out.c (modified_type_die): When the type variant
+ chain is corrupt use the types name, if available, instead
+ of __unknown__.
+
+2011-12-20 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.c (alpha_start_function): Adjust condition to
+ create VMS trampoline entry point.
+
+2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/42839
+ * fwprop.c (forward_propagate_subreg): Skip the SIGN/ZERO_EXTEND
+ optimization if the source register is already extended.
+
+2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * lower-subreg.c (can_decompose_p): Check every word of a hard
+ register.
+
+2011-12-19 Sandra Loosemore <sandra@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-opt/50380
+ * cse.c (find_comparison_args): Detect fixed point and
+ bail early.
+
+2011-12-19 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51411
+ * trans-mem.c (ipa_tm_create_version): Unset DECL_WEAK.
+
+2011-12-19 Quentin Neill <quentin.neill@amd.com>
+
+ PR target/48743
+ * config/i386/driver-i386.c (host_detect_local_cpu): Also check
+ family to distinguish PROCESSOR_ATHLON.
+
+2011-12-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51573
+ * streamer-hooks.h (struct streamer_hooks): Add second
+ ref_p parameter to write_tree.
+ (stream_write_tree): Adjust.
+ (stream_write_tree_shallow_non_ref): New define.
+ * lto-streamer.h (lto_output_tree): Adjust.
+ * lto-streamer-out.c (lto_output_tree): Likewise.
+ * tree-streamer-out.c (streamer_write_chain): Only
+ force the immediate tree to be streamed as non-reference.
+
+2011-12-19 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/51583
+ * tree-sra.c (load_assign_lhs_subreplacements): Call
+ force_gimple_operand_gsi when necessary also in case of no
+ corresponding replacement on the RHS.
+
+2011-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ * gimple.h (gimplify_seq_add_stmt): Rename to...
+ (gimple_seq_add_stmt_without_update): ... this.
+ * gimplify.c (gimplify_seq_add_stmt): Rename to...
+ (gimple_seq_add_stmt_without_update): ... this.
+ (gimplify_seq_add_stmt): New inline wrapper for it.
+ * tree-vect-patterns.c (append_pattern_def_seq): Use
+ gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.
+
+ PR tree-optimization/51596
+ * tree-cfg.c (replace_uses_by): Call gimple_purge_dead_eh_edges
+ when needed.
+
+ PR middle-end/51590
+ PR tree-optimization/51606
+ * tree-vect-patterns.c (append_pattern_def_seq, new_pattern_def_seq):
+ New inline functions.
+ (vect_recog_over_widening_pattern,
+ vect_recog_vector_vector_shift_pattern,
+ vect_recog_sdivmod_pow2_pattern, vect_recog_mixed_size_cond_pattern,
+ adjust_bool_pattern_cast, vect_recog_bool_pattern): Use them.
+
+2011-12-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51572
+ * tree.c (free_lang_data_in_type): Do not unlink TYPE_DECL
+ from TYPE_FIELDS.
+ (find_decls_types_r): Walk TYPE_DECLs in TYPE_FIELDS.
+ * tree-streamer-out.c (write_ts_field_decl_tree_pointers): Do
+ not stream TREE_CHAIN.
+ (write_ts_type_non_common_tree_pointers): Stream TYPE_FIELDS
+ using streamer_write_chain.
+ * tree-streamer-in.c (lto_input_ts_field_decl_tree_pointers):
+ Do not stream TREE_CHAIN.
+ (lto_input_ts_type_non_common_tree_pointers): Stream TYPE_FIELDS
+ using streamer_read_chain.
+ * gimple-streamer-in.c (input_gimple_stmt): Skip non-FIELD_DECLs.
+ * gimple.c (gimple_canonical_types_compatible_p): Properly
+ handle trailing non-FIELD_DECLs in TYPE_FIELDS.
+
+2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ * configure: Regenerate.
+
+2011-12-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ * emit-rtl.c (init_emit_once): Initialize const_tiny_rtx[3] for
+ partial integer modes.
+
+2011-12-19 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/51532
+ * config/m68k/m68k.h (FL_CAS, TARGET_CAS): Define.
+ * config/m68k/m68k.c (FL_FOR_isa_20): Add FL_CAS.
+ * config/m68k/sync.md: Use TARGET_CAS instead of (TARGET_68020 ||
+ TARGET_68040).
+
+2011-12-18 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+ LEGITIMATE_ADDRESS_REG, LEGITIMATE_ADDRESS_DISP,
+ GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+ * config/ia64/ia64.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
+ (ia64_reg_ok_for_base_p, ia64_legitimate_address_reg,
+ ia64_legitimate_address_disp, ia64_legitimate_address_p): New
+ functions.
+
+2011-12-17 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51491
+ * tree-ssa-ccp.c (insert_clobber_before_stack_restore)
+ (gsi_prev_dom_bb_nondebug, insert_clobbers_for_var): New function.
+ (ccp_fold_stmt): Use insert_clobbers_for_var after a successful
+ fold_builtin_alloca_with_align.
+ (ccp_visit_stmt): Calculate and free dominator info.
+
+2011-12-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (UNSPEC_FRAME_BLOCKAGE): New constant.
+ (frame_blockage): New expander.
+ (frame_blockage<P:mode>): New instruction.
+ * config/sparc/sparc.c (sparc_expand_prologue): When the sequence of
+ instructions establishing the frame isn't atomic, emit frame blockage.
+
+2011-12-16 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/vms.h (USE_TM_CLONE_REGISTRY): Define.
+
+2011-12-16 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.c (alpha_use_linkage): Follow transparent alias.
+ (alpha_write_one_linkage): Use assemble_name to emit linkage name.
+
+2011-12-16 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/t-vms (vms.o, vms-c.o): Force output filename.
+
+2011-12-16 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms.c (VMS_CRTL_GLOBAL): Define.
+ (vms_patch_builtins): Handle.
+ * config/vms/vms-crtlmap.map: Add an entry for environ.
+
+2011-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51557
+ * sel-sched-ir.c (create_copy_of_insn_rtx): Copy all notes
+ other than REG_EQUAL, REG_EQUIV and REG_LABEL_OPERAND.
+
+ PR tree-optimization/51576
+ * tree-cfg.c (replace_uses_by): Call maybe_clean_or_replace_eh_stmt
+ even if fold_stmt didn't change anything.
+
+2011-12-16 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51572
+ * dwarf2out.c (gen_type_die_with_usage): Use the context of
+ the TYPE_DECL as well if it is file-scope.
+
+2011-12-15 DJ Delorie <dj@redhat.com>
+
+ * config/rl78/rl78.md (return): Rename to rl78_return.
+ * config/rl78/rl78.c (rl78_expand_epilogue): Use new name.
+ (rl78_expand_eh_epilogue): Use new name.
+ (rl78_calculate_death_notes): Likewise.
+
+2011-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Remove pattern_def_stmt
+ field, add pattern_def_seq.
+ (STMT_VINFO_PATTERN_DEF_STMT): Remove.
+ (STMT_VINFO_PATTERN_DEF_SEQ): Define.
+ (NUM_PATTERNS): Bump to 10.
+ * tree-vect-loop.c (vect_determine_vectorization_factor,
+ vect_transform_loop): Adjust for pattern def changing from a single
+ gimple stmt to gimple_seq.
+ * tree-vect-stmts.c (vect_analyze_stmt, new_stmt_vec_info,
+ free_stmt_vec_info): Likewise.
+ * tree-vect-patterns.c (vect_recog_over_widening_pattern,
+ vect_recog_vector_vector_shift_pattern,
+ vect_recog_mixed_size_cond_pattern, adjust_bool_pattern_cast,
+ adjust_bool_pattern, vect_mark_pattern_stmts): Likewise.
+ (vect_recog_sdivmod_pow2_pattern): New function.
+ (vect_vect_recog_func_ptrs): Add it.
+
+ * config/i386/sse.md (vcond<V_256:mode><VI_256:mode>,
+ vcond<V_128:mode><VI124_128:mode>, vcond<VI8F_128:mode>v2di):
+ Use general_operand instead of nonimmediate_operand for
+ operand 5 and no predicate for operands 1 and 2.
+ * config/i386/i386.c (ix86_expand_int_vcond): Optimize
+ x < 0 ? -1 : 0 and x < 0 ? 1 : 0 into vector arithmetic
+ resp. logical shift.
+
+2011-12-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (print_operand): Remove.
+ (print_operand_address): Remove.
+ * config/avr/avr.h (PRINT_OPERAND): Remove.
+ (PRINT_OPERAND_ADDRESS): Remove.
+ (PRINT_OPERAND_PUNCT_VALID_P): Remove.
+ * config/avr/avr.c (TARGET_PRINT_OPERAND): New hook define.
+ (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
+ (print_operand_address): Rename to...
+ (avr_print_operand_address): ...this and make static.
+ (print_operand): Rename to...
+ (avr_print_operand): ...this and make static.
+ (avr_print_operand_punct_valid_p): New static function.
+
+2011-12-15 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/i386/freebsd.h (TARGET_ASM_FILE_END): Define.
+
+2011-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/51360
+ * c-parser.c (c_parser_omp_clause_num_threads,
+ c_parser_omp_clause_schedule): Call mark_exp_read.
+
+2011-12-15 Romain Geissler <romain.geissler@gmail.com>
+
+ * builtins.def (BUILT_IN_STPNCPY_CHK): New definition.
+ * builtins.c (expand_builtin, fold_builtin_4, maybe_emit_chk_warning):
+ Add BUILT_IN_STPNCPY_CHK case.
+ * gimple-fold.c (gimple_fold_builtin): Likewise.
+ * tree-object-size.c (pass_through_call): Likewise.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+ call_may_clobber_ref_p_1): Likewise.
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
+ find_func_clobbers): Likewise.
+ * tree.h (fold_builtin_strncpy_chk): Rename to fold_builtin_stxncpy_chk
+ * builtins.c (fold_builtin_strncpy_chk): Likewise.
+ Rewrite stpncpy_chk calls to strncpy_chk calls if returned value is
+ ignored.
+
+2011-12-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51567
+ * gimple.c (compare_type_names_p): Also compare the TREE_CODE.
+ (iterative_hash_name): Also hash the TREE_CODE.
+ (gimple_types_compatible_p_1): For types with a TYPE_DECL
+ name and a type DECL_CONTEXT recurse to that type.
+ (iterative_hash_gimple_type): Likewise.
+
+2011-12-15 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Move update of
+ VRSave mask to save_world() when that is in use.
+
+2011-12-15 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (run_gcc): In non-parallel mode remove
+ ltrans inputs immediately after processing them. In parallel
+ mode truncate the ltrans inputs in the make rule that processes
+ them if temporary files are not to be preserved.
+
+2011-12-15 Anatoly Sokolov <aesok@post.ru>
+
+ * config/arm/arm.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/arm/arm.c (arm_memory_move_cost, arm_register_move_cost):
+ New functions.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+
+2011-12-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51564
+ * tree.h (REGISTER_DEFS_IN_THIS_STMT, NECESSARY,
+ STMT_IN_SSA_EDGE_WORKLIST): Remove no longer existing flag
+ uses documentation.
+ (TREE_ASM_WRITTEN): Update documentation to mention its use
+ on TYPE_DECLs from debug info generation.
+ * tree-streamer-out.c (pack_ts_base_value_fields): Stream
+ TREE_ASM_WRITTEN as always zero for TYPE_DECLs, similar to
+ all other types.
+
+2011-12-15 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51050
+ * config/avr/avr.c (expand_epilogue): Don't build SUBREG of fp.
+ (avr_prologue_setup_frame): Ditto.
+
+2011-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51517
+ * tree-ssa-coalesce.c (coalesce_ssa_name): For !optimize, test
+ !DECL_IGNORED_P instead of !DECL_ARTIFICIAL.
+
+2012-12-15 Richard Guenther <rguenther@suse.de>
+
+ Revert
+ PR lto/48437
+ * lto-streamer-out.c (tree_is_indexable): Exclude block-local
+ extern declarations.
+
+ PR lto/48508
+ PR lto/48437
+ * tree-streamer-out.c (streamer_write_chain): Stream DECL_EXTERNAL
+ VAR_DECLs and FUNCTION_DECLs locally.
+
+2011-12-14 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.md (*addsi3_compare0_scratch): Set predicable.
+ (*compare_negsi_si, *compare_addsi2_op0): Likewise.
+ (*compare_addsi2_op1, *zeroextractsi_compare0_scratch): Likewise.
+ (*compareqi_eq0, *arm_cmpsi_insn, *arm_cmpsi_negshiftsi_si): Likewise.
+
+2011-12-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (replace_uses_by): Fixup TREE_CONSTANT for
+ propagating all kinds of constants.
+
+2011-12-14 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51497
+ * lto-streamer-in.c (lto_read_body): Fixup local types
+ TYPE_CANONICAL and variant chain.
+
+2011-12-14 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (free_lang_data_in_type): Do not clear fields
+ dependent on debuginfo level setting.
+ (find_decls_types_r): Use TYPE_STUB_DECL rathern than TREE_CHAIN.
+ * tree.h (TYPE_STUB_DECL): Properly check that we access a type.
+
+2011-12-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50931
+ * config/avr/avr.md (mulpsi3): New expander.
+ (*umulqihipsi3, *umulhiqipsi3): New insns.
+ (*mulsqipsi3.libgcc, *mulpsi3.libgcc): New insns.
+ (mulsqipsi3, *mulpsi3): New insn-and-splits.
+ (ashlpsi3): Turn to expander. Move insn code to...
+ (*ashlpsi3): ...this new insn.
+
+2011-12-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (replace_uses_by): Only mark blocks altered
+ that will make a difference. Only recompute ADDR_EXPR
+ invariantness if it could possibly have changed. Do so
+ before folding the statement.
+
+2011-12-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * lto-streamer-out.c (write_symbol): Use proper 64-bit host type.
+ * lto-cgraph.c (input_cgraph_opt_section): Use 'int' for offsets.
+ * lto-streamer-in.c (lto_read_body): Likewise.
+ (lto_input_toplevel_asms): Likewise.
+ * lto-section-in.c (lto_create_simple_input_block): Likewise.
+ * ipa-inline-analysis.c (inline_read_section): Likewise.
+ * ipa-prop.c (ipa_prop_read_section): Likewise.
+
+ * df.h (DF_NOTE): Fix typo in comment.
+
+2011-12-13 Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c (ipa_tm_create_version_alias): Set DECL_CONTEXT and
+ DECL_LANG_SPECIFIC.
+
+2011-12-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * regmove.c (fixup_match_2): Only access call_used_regs with hard regs.
+
+2011-12-13 Andrew Pinski <apinski@cavium.com>
+ Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips-cpus.def: Add Octeon2.
+ * config/mips/mips-tables.opt: Regenerate.
+ * config/mips/mips.md (define_attr "cpu"): Add Octeon2.
+ * config/mips/driver-native.c (host_detect_local_cpu): Support Octeon2.
+ * config/mips/octeon.md (octeon_arith): Add Octeon2.
+ (octeon_condmove): Likewise.
+ (octeon_load): Rename to ..
+ (octeon_load_o1): this.
+ (octeon_load_o2): New reserve.
+ (octeon_cop_o2): New reserve.
+ (octeon_store): Match Octeon2 also.
+ (octeon_brj): Rename to ..
+ (octeon_brj_o1): this.
+ (octeon_brj_o2): New reserve.
+ (octeon_imul3): Rename to ...
+ (octeon_imul3_o1): this.
+ (octeon_imul3_o2): New reserve.
+ (octeon_imul): Rename to ...
+ (octeon_imul_o1): this.
+ (octeon_imul_o2): New reserve.
+ (octeon_mfhilo): Rename to ...
+ (octeon_mfhilo_o1): This.
+ (octeon_mfhilo_o2): New reserve.
+ (octeon_imadd): Rename to ...
+ (octeon_imadd_o1): this.
+ (octeon_imadd_o2): New reserve.
+ (octeon_idiv): Rename to ..
+ (octeon_idiv_o1): This.
+ (octeon_idiv_o2_si): New reserve.
+ (octeon_idiv_o2_di): Likewise.
+ (octeon_unknown): Match Octeon2 also.
+ * config/mips/mips.c (mips_rtx_cost_data): Add Octeon2 cost data.
+ (mips_issue_rate): Octeon2 can issue 2 at a time.
+ * config/mips/mips.h (TARGET_OCTEON): Match Octeon2 also.
+ (TARGET_OCTEON2): New define.
+ (TUNE_OCTEON): Match Octeon2 also.
+
+2011-12-13 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/tso.h: New file.
+ * config.gcc (sparc-*-linux*, sparc*-*-solaris2*): Use it.
+ * config/sparc/sparc.c (sparc_option_override): Honor
+ SUBTARGET_DEFAULT_MEMORY_MODEL.
+ * config/sparc/sparc.h (SUBTARGET_DEFAULT_MEMORY_MODEL): New.
+
+2011-12-13 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/51443
+ * trans-mem.c (struct diagnose_tm): Remove saw_unsafe.
+ (diagnose_tm_1): Same.
+ (ipa_tm_execute): Do not test tm_may_enter_irr before we set it.
+ (ipa_tm_scan_irr_function): Return gracefully when no
+ DECL_STRUCT_FUNCTION.
+ (ipa_tm_scan_irr_block): Believe the user on TM attributes.
+
+2011-12-13 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/50628
+ * tree-sra.c (propagate_subaccesses_across_link): Do not propagate
+ sub-accesses of scalar accesses.
+
+2011-12-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/51362
+ * ipa-cp.c (estimate_local_effects): When estimated size of a
+ specialized clone is zero, bump it to one.
+
+2011-12-13 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48354
+ * tree.c (find_decls_types_r): Also walk DECL_ORIGINAL_TYPE.
+ * tree-streamer-in.c (lto_input_ts_decl_non_common_tree_pointers):
+ Stream DECL_ORIGINAL_TYPE.
+ * tree-streamer-out.c (write_ts_decl_non_common_tree_pointers):
+ Likewise.
+
+2011-12-13 Jakub Jelinek <jakub@redhat.com>
+
+ Revert
+ 2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51481
+ * gimple-fold.c (gimple_fold_call): Call
+ maybe_clean_or_replace_eh_stmt. Avoid optimization if stmt has EH
+ edges, but gimple_fold_builtin result can't throw.
+
+2011-12-13 Jakub Jelinek <jakub@redhat.com>
+ Michael Matz <matz@suse.de>
+
+ PR tree-optimization/51117
+ * tree-eh.c (sink_clobbers): New function.
+ (execute_lower_eh_dispatch): Call it for BBs ending with
+ internally throwing RESX.
+ * cfgexpand.c (add_scope_conflicts_1): Add all conflicts only
+ at the first real instruction.
+
+2011-12-13 Tristan Gingold <gingold@adacore.com>
+
+ * final.c (final_scan_insn): Guard the call to begin_epilogue
+ debug hook.
+
+2011-12-13 Tristan Gingold <gingold@adacore.com>
+
+ * vmsdbgout.c (vmsdbgout_write_source_line): New function.
+ (vmsdbgout_end_prologue): Call vmsdbgout_write_source_line.
+ (vmsdbgout_begin_epilogue): Likewise.
+ (vmsdbgout_end_epilogue): Likewise.
+ (vmsdbgout_source_line): Move code to vmsdbgout_write_source_line.
+
+2011-12-13 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51481
+ * tree-cfg.c (replace_uses_by): Pass proper arguments to
+ maybe_clean_or_replace_eh_stmt.
+
+2011-12-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51519
+ * ipa-inline.c (edge_badness): Use edge growth in non-guessed
+ branch probability case as well.
+
+2011-12-13 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (mark_loop_unsched): Free bbs.
+
+2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51495
+ * function.c (thread_prologue_and_epilogue_insns): Don't add
+ to bb_tail basic blocks that have EDGE_COMPLEX predecessor edges
+ from basic blocks not needing prologue.
+
+ PR tree-optimization/51481
+ * gimple-fold.c (gimple_fold_call): Call
+ maybe_clean_or_replace_eh_stmt. Avoid optimization if stmt has EH
+ edges, but gimple_fold_builtin result can't throw.
+
+2011-12-12 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/21617
+ * ira-color.c (bucket_allocno_compare_func): Don't compare
+ allocno classes. Compare number of hard registers needed.
+
+2011-12-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/50569
+ * tree-sra.c (build_ref_for_model): Replicate a chain of COMPONENT_REFs
+ in the expression of MODEL instead of just the last one.
+
+2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51510
+ * calls.c (internal_arg_pointer_based_exp_scan): Don't use
+ VEC_safe_grow_cleared if idx is smaller than VEC_length.
+
+2011-12-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR middle-end/50873
+ * optabs.c (maybe_legitimize_operand_same_code): Use copy_to_mode_reg
+ instead of force_reg. Do nothing if the address is already a
+ non-virtual pseudo register.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
+ * gimplify.c (voidify_wrapper_expr): Add default handling for
+ outermost wrapper.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
+ * tree-ssa-tail-merge.c (gimple_equal_p): Don't treat transaction
+ commits as equal.
+
+2011-12-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin-sections.def (zobj_const_data_section): Fix over-
+ length section name.
+
+2011-12-11 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_expand_interleave): Use
+ BYTES_BIG_ENDIAN, not TARGET_BIG_ENDIAN.
+
+2011-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51485
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Give up on
+ DRs in call stmts.
+
+2011-12-11 Patrick Marlier <patrick.marlier@gmail.com>
+
+ * trans-mem.c (ipa_tm_transform_calls_redirect): Do not remove edge.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/altivec.md (altivec_vmrghb): Rewrite pattern as
+ vec_select + vec_concat.
+ (altivec_vmrghh, altivec_vmrghw, altivec_vmrghsf, altivec_vmrglb,
+ altivec_vmrglh, altivec_vmrglw, altivec_vmrglsf): Likewise.
+ (vec_perm_constv16qi): New.
+ (vec_extract_evenv4si, vec_extract_evenv4sf, vpkuhum_nomode,
+ vpkuwum_nomode, vec_extract_oddv8hi, vec_extract_oddv16qi,
+ vec_interleave_high<VI>, vec_interleave_low<VI>): Remove.
+ * config/rs6000/paired.md (paired_merge00): Rewrite pattern as
+ vec_select + vec_concat.
+ (paired_merge10, paired_merge01, paired_merge11): Likewise.
+ (vec_perm_constv2sf): New.
+ (vec_interleave_highv2sf, vec_interleave_lowv2sf,
+ vec_extract_evenv2sf, vec_extract_oddv2sf): Remove.
+ * config/rs6000/spe.md (spe_evmergehi): Rewrite pattern as
+ vec_select + vec_concat.
+ (spe_evmergehilo, spe_evmergelo, spe_evmergelohi): New.
+ (vec_perm_constv2si): New.
+ * config/rs6000/vector.md (vec_interleave_highv4sf,
+ vec_interleave_lowv4sf, vec_interleave_high<VEC_64>,
+ vec_interleave_low<VEC_64>): Remove.
+ * config/rs6000/vsx.md (VS_double): New mode attribute.
+ (UNSPEC_VSX_XXPERMDI): Remove.
+ (vsx_xxpermdi_<VSX_L>_1): Rewrite pattern as vec_select + vec_concat.
+ (vsx_xxmrghw_<VSX_W>, vsx_xxmrglw_<VSX_W>): Likewise.
+ (vsx_xxpermdi_<VSX_L>): Change to expander.
+ (vec_perm_const<VSX_D>): New.
+ (vsx_mergel_<VSX_D>, vsx_mergeh_<VSX_D>): New.
+ * config/rs6000/predicates.md (const_0_to_1_operand): New.
+ (const_2_to_3_operand): New.
+ * config/rs6000/rs6000.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): New.
+ (altivec_expand_vec_perm_const): New.
+ (rs6000_expand_vec_perm_const_1, rs6000_expand_vec_perm_const): New.
+ (rs6000_vectorize_vec_perm_const_ok): New.
+ (rs6000_do_expand_vec_perm): New.
+ (rs6000_expand_extract_even, rs6000_expand_interleave): New.
+ * config/rs6000/rs6000-builtin.def (VEC_MERGE*): Update rtx codes.
+ * config/rs6000/rs6000-modes.def: Add double-wide vector modes.
+ * config/rs6000/rs6000-protos.h: Update.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Avoid passing a
+ CONST_INT to expand_vec_perm as the selector.
+ * optabs.c (expand_vec_perm): Assert the selector is of a proper mode.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * genmodes.c (struct mode_data): Remove wider_2x member.
+ (blank_mode): Adjust initializer.
+ (calc_wider_mode): Use XALLOCAVEC.
+ (emit_move_wider): Select double-width same-element vectors for
+ 2xwider vectors.
+ * machmode.h (GET_MODE_2XWIDER_MODE): Update documentation.
+ * config/i386/i386.c (doublesize_vector_mode): Remove.
+ (expand_vselect_vconcat): Use GET_MODE_2XWIDER_MODE instead.
+
+2011-12-10 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.h (USE_LOAD_POST_INCREMENT): Define.
+ (USE_LOAD_POST_DECREMENT, USE_STORE_POST_INCREMENT): Likewise.
+ (USE_STORE_POST_DECREMENT): Likewise.
+
+ * config/epiphany/epiphany.h (EPIPHANY_RETURN_REGNO): New macro,
+ broken out of ..
+ (INCOMING_RETURN_ADDR_RTX) .. this. Use EPIPHANY_RETURN_REGNO.
+ (DWARF_FRAME_RETURN_COLUMN): New macro.
+
+ * config/epiphany/epiphany-protos.h (epiphany_start_function): Declare.
+ * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
+ Split "timer" value into "timer0" and "timer1".
+ Handle page_miss, message and wand. Don't handle static_flag.
+ Adjust warning text.
+ (epiphany_start_function): New function.
+ (epiphany_compute_function_type): Split "timer" value into "timer0"
+ and "timer1". Handle page_miss, message and wand.
+ Don't handle static_flag.
+ (epiphany_expand_epilogue): Don't use frame_insn for status / iret
+ restore.
+ * config/epiphany/epiphany.h: ASM_DECLARE_FUNCTION_NAME: Define.
+ (enum epiphany_function_type):
+ Split EPIPHANY_FUNCTION_TIMER value into EPIPHANY_FUNCTION_TIMER0
+ and EPIPHANY_FUNCTION_TIMER1.
+ Remove EPIPHANY_FUNCTION_ILINK1 and EPIPHANY_FUNCTION_ILINK2 values.
+ Add EPIPHANY_FUNCTION_PAGE_MISS and EPIPHANY_FUNCTION_MESSAGE values.
+ Rename EPIPHANY_FUNCTION_STATIC_FLAG to EPIPHANY_FUNCTION_WAND.
+
+2011-12-10 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51449
+ * coverage.c (coverage_end_function): Always process the coverage
+ variables.
+
+2011-12-09 Aldy Hernandez <aldyh@redhat.com>
+
+ PR/51291
+ * tree.c (build_common_builtin_nodes): Do not use TM_PURE
+ attribute unless language has support for TM.
+ * config/i386/i386.c (ix86_init_tm_builtins): Exit gracefully in
+ the absence of TM builtins.
+
+2011-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1) <GIMPLE_UNARY_RHS>:
+ Also check the TYPE_MODE to recognize useless pointer conversions.
+
+2011-12-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51117
+ * tree-eh.c (optimize_clobbers): Don't remove just one
+ clobber, but all consecutive clobbers before RESX.
+ Use gimple_clobber_p predicate.
+
+2011-12-09 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (altivec_expand_builtin): Call
+ expand_call to return a valid funciton instead of return
+ cosnt0_rtx/NULL_RTX if there was an error with the builtin.
+ (altivec_expand_ld_builtin): Ditto.
+ (rs6000_inner_target_options): If VSX is selected as a target
+ attribute or pragma, enable ALTIVEC also.
+ (rs6000_pragma_target_parse): Call rs6000_option_override_internal
+ to do all of the standard processing when switching options,
+ including redefining appropriate macros.
+
+ PR rtl-optimization/51469
+ * varasm.c (default_binds_local_p_1): If the symbol is a gnu
+ indirect function, mark the symbol as non-local.
+
+2011-12-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/51479
+ * Makefile.in (errors.o): Restored.
+
+2011-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48042
+ * tree.c (free_lang_data_in_decl): Remove freeing conditional
+ on debuginfo level.
+
+2011-12-09 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR middle-end/40154
+ * emit-rtl.c (set_dst_reg_note): New function.
+ * rtl.h (set_dst_reg_note): Declare.
+ * optabs.c (expand_binop, expand_absneg_bit): Use set_dst_reg_note.
+ (emit_libcall_block, expand_fix): Likewise.
+ * function.c (assign_parm_setup_reg, expand_function_start): Likewise.
+ * expmed.c (expand_mult_const, expand_divmod): Likewise.
+ * reload1.c (gen_reload): Likewise.
+
+ * dse.c (get_stored_val, get_call_args): Use gen_int_mode.
+ * expmed.c (expand_divmod): Likewise.
+ * combine.c (simplify_if_then_else): Likewise.
+
+2011-12-09 Kai Tietz <ktietz@redhat.com>
+
+ * ira-color.c (print_hard_regs_subforest): Use
+ HOST_WIDEST_INT_PRINT_DEC instead of %lld.
+ (allocno_hard_regs): Change type of cost member to HOST_WIDEST_INT.
+ (add_allocno_hard_regs): Change type of argument cost
+ to HOST_WIDEST_INT.
+ * ira-conflict.c (build_conflict_bit_table): Replace use
+ of long-long by HOST_WIDEST_INT.
+
+2011-12-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51425
+ * config/avr/avr.md (config/avr/avr.md, *sbix_branch_tmp): Use
+ zero_extract:QIHI instead of zero_extract:HI.
+
+2011-12-09 Jakub Jelinek <jakub@redhat.com>
+ Andrew Pinski <apinski@cavium.com>
+
+ PR tree-optimization/51117
+ * tree-eh.c (optimize_clobbers): New function.
+ (execute_lower_eh_dispatch): Call it.
+
+2011-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51482
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+ Make sure to only create REAL_TYPE and INTEGER_TYPE component vectors.
+
+2011-12-09 Kai Tietz <ktietz@redhat.com>
+
+ * implicit-zee.c (num_realized): Change type to long.
+ (num_ze_opportunities): Likewise.
+
+2011-12-08 Andrew Pinski <apinski@cavium.com>
+
+ * config/mips/mips-cpus.def (octeon+): New CPU.
+ * config/mips/mips-tables.opt: Regenerate.
+ * config/mips/mips.h (MIPS_CPP_SET_PROCESSOR): Emit '+' as 'P'.
+
+2011-12-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR middle-end/39976
+ * tree-ssa-dom.c (enum expr_kind): Add EXPR_PHI.
+ (struct hashable_expr): Add struct phi field.
+ (initialize_hash_element): Handle phis; change to use XCNEWVEC.
+ (hashable_expr_equal_p): Handle phis.
+ (iterative_hash_hashable_expr): Likewise.
+ (print_expr_hash_elt): Likewise.
+ (free_expr_hash_elt): Likewise.
+ (dom_opt_enter_block): Create equivalences from redundant phis.
+ (eliminate_redundant_computations): Handle redundant phis.
+ (lookup_avail_expr): Handle phis.
+
+2011-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51466
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Also copy
+ TREE_SIDE_EFFECTS.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-operands.c (add_stmt_operand): Do not mark stmts
+ volatile when processing operands of an ADDR_EXPR.
+ (get_indirect_ref_operands): Likewise.
+ (get_tmr_operands): Likewise.
+ (get_expr_operands): Likewise.
+
+2011-12-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/50395
+ * config/s390/s390.c (s390_mainpool_finish): Emit the jump over
+ the literal pool as jump insn.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49772
+ * tree-inline.c (optimize_inline_calls): Remove bail out on errors.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50747
+ * lto-streamer-out.c (produce_symtab): Remove asserts.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/49945
+ * lto-streamer-out.c (tree_is_indexable): Localize variably
+ modified types and their FIELD_DECLs.
+
+2011-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/51315
+ * tree.h (get_object_or_type_alignment): Declare.
+ * expr.c (get_object_or_type_alignment): Move to...
+ * builtins.c (get_object_or_type_alignment): ...here. Add assertion.
+ * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to...
+ (tree_non_aligned_mem_p): ...this. Add ALIGN parameter. Look into
+ MEM_REFs and use get_object_or_type_alignment for them.
+ (build_accesses_from_assign): Adjust for above change.
+ (access_precludes_ipa_sra_p): Likewise.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48437
+ * lto-streamer-out.c (tree_is_indexable): Exclude block-local
+ extern declarations.
+
+2011-12-07 Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/45416
+ * expr.c (do_store_flag): Rewrite code that looks for BIT_AND_EXPR for
+ SSA-expand.
+
+2011-12-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50823
+ * ipa-inline.c (edge_badness): Do not account for the number of
+ remaining calls.
+
+2011-12-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50744
+ * ipa-cp.c (good_cloning_opportunity_p): Assert size_cost is positive,
+ compute evaluation in HOST_WIDEST_INT.
+ (safe_add): New function
+ (propagate_effects): Use safe_add to accumulate effects.
+
+2011-12-06 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config/rs6000/rtems.h: Switch to using global_options_set
+ in SUBSUBTARGET_OVERRIDE_OPTIONS.
+
+2011-12-06 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection.
+
+2011-12-06 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_file_start): Fix missing ,
+
+2011-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51354
+ * config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note
+ unconditionally.
+
+2011-12-06 Georg-Johann Lay <avr@gjlay.de>
+
+ Forward-port from gcc-4_6-branch r181936 2011-12-02.
+ * config/avr/avr-mcus.def (avr_mcu_types): ATtiny4313 and
+ AT86RF401 have a 16-bit SP (their manual is bogus).
+
+2011-12-06 Georg-Johann Lay <avr@gjlay.de>
+
+ Forward-port from gcc-4_6-branch r181936 2011-12-02.
+
+ PR target/51002
+ * config/avr/avr.md (movhi_sp_r): Set insn condition to
+ !AVR_HAVE_8BIT_SP.
+ * config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in
+ %B0,__SP_H__" if AVR_HAVE_8BIT_SP.
+ (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP.
+
+2011-12-06 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/51409
+ PR target/49868
+ * config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1,
+ ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4,
+ ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum.
+ (avr_addrspace_t): New typedef.
+ (avr_addrspace): New declaration.
+ * config/avr/avr-c.c (avr_toupper): New static function.
+ (avr_register_target_pragmas, avr_cpu_cpp_builtins): Use
+ avr_addrspace to get address space information.
+ * config/avr/avr.c (avr_addrspace): New variable.
+ (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes,
+ avr_asm_named_section, avr_section_type_flags,
+ avr_asm_select_section, avr_addr_space_address_mode,
+ avr_addr_space_convert, avr_emit_movmemhi): Use it.
+ (avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode.
+ (avr_pgm_segment): Remove.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50601
+ * varasm.c (assemble_alias): Move DECL_EXTERNAL implementation
+ quirk adjustjment ...
+ * passes.c (rest_of_decl_compilation): ... here.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51436
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Guard vdef check
+ for the fact we do not have virtual operands when not optimizing.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51245
+ * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces):
+ New function.
+ (vn_reference_lookup_3): Use it. Properly valueize all refs we create.
+
+2011-12-06 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize
+ rs6000_current_abi.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51363
+ * gimple.c (gimple_rhs_has_side_effects): Remove.
+ * gimple.h (gimple_rhs_has_side_effects): Likewise.
+ * tree-ssa-dom.c (optimize_stmt): Simplify conditional.
+
+2011-12-06 Alan Modra <amodra@gmail.com>
+
+ PR target/50906
+ * config/rs6000/rs6000.c (rs6000_emit_prologue <TARGET_SPE_ABI>):
+ Do not mark r11 setup as frame-related. Pass correct offset to
+ rs6000_emit_savres_rtx. Correct out-of-line rs6000_frame_related
+ arguments. Correct sp_offset. Remove "offset" fudge from
+ in-line rs6000_frame_related call. Rename misleading variable.
+ Fix comments and whitespace. Tidy some expressions.
+ (rs6000_emit_epilogue <TARGET_SPE_ABI>): Always set frame_reg_rtx
+ to r11 in out-of-line case. Correct sp_offset. Pass correct
+ offset to rs6000_emit_savres_rtx. Rename misleading variable.
+ Fix comments and whitespace. Tidy some expressions.
+ (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Add sp_offset
+ adjustment when !saving_GPRs_inline. Correct register mode
+ used in address calcs.
+ (rs6000_emit_epilogue <non-TARGET_SPE_ABI>): Similarly when
+ !restoring_GPRs_inline.
+
+2011-12-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/vfp.md (*combine_vcvt_f64_<FCVTI32typename>): Fix
+ formatting character for vmov.f64 case.
+
+2011-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51396
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize
+ if MUL_RESULT has zero uses.
+
+ PR debug/51410
+ * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls
+ for debug info if scope is file_scope.
+
+ PR c/51339
+ * c-decl.c (c_finish_incomplete_decl, finish_decl): Call
+ relayout_decl instead of layout_decl.
+
+2011-12-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK
+ if there is in epilogue.
+
+2011-12-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target
+ to emit_library_call_value.
+ (expand_atomic_compare_and_swap): Likewise.
+
+2011-12-05 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR other/50775
+ * ira-int.h (struct ira_object): Remove add_data.
+ (OBJECT_ADD_DATA): Remove.
+
+ * ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA
+ initialization.
+
+ * ira-color.c (object_hard_regs_t, object_hard_regs): Rename to
+ allocno_hard_regs_t, allocno_hard_regs.
+ (object_hard_regs_node_t, object_hard_regs_node): Rename to
+ allocno_hard_regs_node_t and allocno_hard_regs_node.
+ (struct allocno_color_data): Add new member last_process. Move
+ profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start
+ from object_color_data.
+ (object_color_data_t, object_color_data, OBJECT_COLOR_DATA): Remove.
+ (curr_allocno_process): New static variable.
+ (object_hard_regs_eq, object_hard_regs_htab): Rename to
+ allocno_hard_regs_eq and allocno_hard_regs_htab.
+ (init_object_hard_regs, finish_object_hard_regs): Rename to
+ init_allocno_hard_regs and finish_allocno_hard_regs.
+ (object_hard_regs_compare, object_hard_regs_node_t): Rename to
+ allocno_hard_regs_compare and allocno_hard_regs_node_t.
+ (create_new_object_hard_regs_node): Rename to
+ create_new_allocno_hard_regs_node.
+ (add_new_object_hard_regs_node_to_forest): Rename to
+ add_new_allocno_hard_regs_node_to_forest.
+ (add_object_hard_regs_to_forest, collect_object_hard_regs_cover):
+ Rename to add_allocno_hard_regs_to_forest and
+ collect_allocno_hard_regs_cover.
+ (setup_object_hard_regs_nodes_parent): Rename to
+ setup_allocno_hard_regs_nodes_parent.
+ (remove_unused_object_hard_regs_nodes): Rename to
+ remove_unused_allocno_hard_regs_nodes.
+ (enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num):
+ Rename to enumerate_allocno_hard_regs_nodes and
+ allocno_hard_regs_nodes_num.
+ (object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to
+ allocno_hard_regs_nodes and allocno_hard_regs_subnode_t.
+ (object_hard_regs_subnode, object_hard_regs_subnodes): Rename to
+ allocno_hard_regs_subnode and allocno_hard_regs_subnodes.
+ (object_hard_regs_subnode_index): Rename to
+ allocno_hard_regs_subnode_index.
+ (setup_object_hard_regs_subnode_index): Rename to
+ setup_allocno_hard_regs_subnode_index.
+ (get_object_hard_regs_subnodes_num): Rename to
+ get_allocno_hard_regs_subnodes_num.
+ (form_object_hard_regs_nodes_forest): Rename to
+ form_allocno_hard_regs_nodes_forest.
+ (finish_object_hard_regs_nodes_tree): Rename to
+ form_allocno_hard_regs_nodes_forest
+ (finish_object_hard_regs_nodes_forest): Rename to
+ finish_allocno_hard_regs_nodes_forest.
+ (setup_left_conflict_sizes_p): Use allocno data instead of object ones.
+ Process conflict allocnos once.
+ (update_left_conflict_sizes_p): Use allocno data instead of object
+ ones. Change prototype signature.
+ (empty_profitable_hard_regs): Use allocno data instead of object ones.
+ (setup_profitable_hard_regs): Ditto.
+ (get_conflict_profitable_regs): Rename to
+ get_conflict_and_start_profitable_regs. Use allocno data for
+ profitable regs calculation.
+ (check_hard_reg_p): Change prototype signature. Check profitable
+ regs for allocno not the objects.
+ (assign_hard_reg): Process conflict allocnos only once for
+ updating conflict costs.
+ (setup_allocno_available_regs_num): Use allocno data instead of
+ object ones. Modify debug output.
+ (color_pass): Remove initialization and finalization of object
+ color data.
+
+2011-12-05 Kazu Hirata <kazu@codesourcery.com>
+
+ PR target/51408
+ * config/arm/arm.md (*minmax_arithsi): Always require the else
+ clause in the MINUS case.
+
+2011-12-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50904
+ * tree-ssa-loop-im.c (struct mem_ref): Remove vops member.
+ (MEM_ANALYZABLE): New.
+ (memory_references): Remove clobbered_vops and vop_ref_map
+ members, add all_refs_stored_in_loop member.
+ (memref_free): Adjust.
+ (mem_ref_alloc): Likewise.
+ (gather_mem_refs_stmt): Do not record clobbers, instead
+ record refs for unanalyzable stmts.
+ (gather_mem_refs_in_loops): Do not propagate clobbers.
+ (struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free,
+ record_vop_access, get_vop_accesses, get_vop_stores,
+ add_vop_ref_mapping): Remove.
+ (create_vop_ref_mapping_loop): Adjust to simply record all stores.
+ (analyze_memory_references): Adjust.
+ (refs_independent_p): Check for not analyzable refs.
+ (can_sm_ref_p): Likewise.
+ (ref_indep_loop_p_1): Simplify.
+ (tree_ssa_lim_finalize): Adjust.
+
+ * tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE
+ rather than magic constants. Assign zero cost to PAREN_EXPR
+ and SSA_NAME copies. Assign cost proportional to the vector
+ size for vector constructors.
+
+2011-12-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field.
+ * tree-ssa-alias.c (ao_ref_init): Initialize it.
+ (ao_ref_init_from_ptr_and_size): Likewise.
+ (refs_may_alias_p_1): Two volatile accesses conflict.
+ (ref_maybe_used_by_call_p_1): Likewise.
+ (call_may_clobber_ref_p_1): Likewise.
+ * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize
+ volatile_p field.
+
+2011-12-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA
+ names. Remove SSA operand checking, call verify_ssa_operands.
+ * tree-ssa-operands.h (verify_ssa_operands): Declare.
+ * tree-ssa-operands.c (verify_ssa_operands): New function.
+
+2011-12-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define.
+ * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare.
+ * config/arm/constraints.md ("Dt"): New constraint.
+ * config/arm/predicates.md
+ (const_double_vcvt_power_of_two_reciprocal): New.
+ * config/arm/vfp.md (FCVTI32typename): New.
+ (FCVT): New iterator.
+ (*combine_vcvt_f32_<FCVTI32typename>): New.
+ (*combine_vcvt_f64_<FCVTI32typename>): New.
+
+2011-12-05 Richard Guenther <rguenther@suse.de>
+
+ * cgraph.c (cgraph_create_edge_1): Initialize
+ call_stmt_cannot_inline_p from the stmt if possible.
+ (cgraph_make_edge_direct): Likewise.
+ * gimple-streamer-in.c (input_gimple_stmt): Do not
+ call gimple_call_set_cannot_inline.
+ * gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift values.
+ (gimple_call_set_cannot_inline): Remove.
+ (gimple_call_cannot_inline_p): Likewise.
+ * ipa-inline-analysis.c (initialize_inline_failed): Look
+ at the edge call_stmt_cannot_inline_p flag.
+ * ipa-inline.c (can_inline_edge_p): Likewise.
+ (early_inliner): Only update the edge flag.
+ * ipa-prop.c (update_indirect_edges_after_inlining): Likewise.
+ (ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline.
+ * cgraphunit.c (assemble_thunk): Likewise.
+ * gimple-fold.c (gimple_fold_call): Likewise.
+
+ * tree.h (CALL_CANNOT_INLINE_P): Remove.
+ * tree-mudflap.c (mf_xform_statements): Do not modify alloca calls.
+ * builtins.c (expand_builtin_alloca): With -fmudflap do not expand
+ alloca calls inline.
+ * cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P.
+ * gimple.c (gimple_build_call_from_tree): Do not read
+ CALL_CANNOT_INLINE_P.
+ * gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P.
+
+2011-12-05 Jakub Jelinek <jakub@redhat.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/51323
+ PR middle-end/50074
+ * calls.c (internal_arg_pointer_exp_state): New variable.
+ (internal_arg_pointer_based_exp_1,
+ internal_arg_pointer_exp_scan): New functions.
+ (internal_arg_pointer_based_exp): New function.
+ (mem_overlaps_already_clobbered_arg_p): Use it.
+ (expand_call): Free internal_arg_pointer_exp_state.cache vector
+ and clear internal_arg_pointer_exp_state.scan_start.
+
+2011-12-04 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC.
+ * config/sh/sync.md: New file.
+ * config/sh/sh.md: Include sync.md.
+ * config/sh/sh.opt (msoft-atomic): New option.
+ * doc/invoke.texi (SH Options): Document it.
+
+2011-12-04 Nathan Sidwell <nathan@acm.org>
+
+ * gcov-io.h (struct gcov_info): Replace trailing array with
+ pointer to array.
+ * profile.c (branch_prob): Only call renamed
+ coverage_begin_function once.
+ * coverage.h (coverage_begin_output): Rename to ...
+ (coverage_begin_function): ... here.
+ * coverage.c (struct function_list): Rename to ...
+ (struct coverage_data): ... this. Update all uses.
+ (gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New globals.
+ (bbg_file_opened, bbg_function_announced): Remove.
+ (get_coverage_counts): Adjust message.
+ (coverage_begin_ouput): Rename to ...
+ (coverage_begin_function): ... here. Move file opening to
+ coverage_init. Adjust for being called only once.
+ (coverage_end_function): Remove bbg file and inhibit further
+ output here on error.
+ (build_info_type): Adjust for change to pointer to array.
+ (build_info): Receive array of function pointers and adjust.
+ (create_coverage): Break into ...
+ (coverage_obj_init, coverage_obj_fn, coverage_obj_finish):
+ ... these, and adjust.
+ (coverage_init): Open the notes file here. Tidy.
+ (coverage_finish): Call coverage_obj_init etc.
+
+2011-12-04 Ira Rosen <ira.rosen@linaro.org>
+
+ PR middle-end/51285
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Create exit
+ phi nodes for outer loop in case of double reduction.
+
+2011-12-04 Jérémie Detrey <Jeremie.Detrey@loria.fr>
+
+ PR target/51393
+ * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second
+ parameter as long long.
+
+2011-12-04 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/51351
+ * optabs.c (init_sync_libfuncs): Use "or" rather than "ior"
+ in the external names.
+
+2011-12-03 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Pass -no_pie for
+ non-PIC code when targeting 10.7 or later.
+
+2011-12-03 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when
+ Darwin >= 10.
+ (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10.
+ (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10.
+
+2011-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * fold-const.c (fold_unary_loc): Fold VEC_UNPACK_LO_EXPR,
+ VEC_UNPACK_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and
+ VEC_UNPACK_FLOAT_HI_EXPR with VECTOR_CST argument.
+ (fold_binary_loc): Fold VEC_PACK_TRUNC_EXPR,
+ VEC_PACK_FIX_TRUNC_EXPR, VEC_WIDEN_MULT_LO_EXPR
+ and VEC_WIDEN_MULT_HI_EXPR with VECTOR_CST arguments.
+
+ PR debug/50317
+ * tree-ssa.c (target_for_debug_bind): Also allow is_gimple_reg_type
+ vars that aren't referenced.
+ (tree-ssa-live.c (remove_unused_locals): Don't clear TREE_ADDRESSABLE
+ of unreferenced local vars.
+ * cfgexpand.c (expand_debug_expr): For DEBUG_IMPLICIT_PTR allow also
+ TREE_ADDRESSABLE vars that satisfy target_for_debug_bind.
+
+2011-12-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/arm/arm.h (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove.
+ * config/arm/arm-protos.h (aapcs_libcall_value): Remove.
+ * config/arm/arm.c (TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (arm_libcall_value_1, arm_function_value_regno_p): New function.
+ (arm_function_value, arm_libcall_value): Use arm_libcall_value_1.
+ (aapcs_libcall_value): Make static.
+ (arm_libcall_value): Add static qualifier.
+
+2011-12-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51387
+ * config/i386/sse.md (mul<mode>3 with VI1_AVX2 iterator): For
+ V32QImode use { 0,2,..,14,32,34,..,46,16,18,..,30,48,50,..,62 }
+ permutation instead of extract even permutation.
+
+2011-12-02 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (struct arc_info): Add is_throw field.
+ (struct (block_info): Add exceptional field, reduce flags size to
+ account for it.
+ (struct function_info): Add has_catch field.
+ (struct line_info): Add unexceptional field.
+ (process_file): Call find_exception_blocks if necessary.
+ (read_graph_file): Adjust. Note if an exceptional edge is seen.
+ (find_exception_blocks): New.
+ (add_line_counts): Set line's unexceptional flag if not exceptional.
+ (output_branch_count): Note exceptional arcs, lines and blocks.
+ * gcov-dump.c (tag_arcs): Decode arc flags.
+ * doc/gcov.texi: Document '=====' lines.
+
+2011-12-02 Anatoly Sokolov <aesok@post.ru>
+
+ * config/ia64/ia64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
+ PRINT_OPERAND_PUNCT_VALID_P): Remove macros.
+ * config/ia64/ia64-protos.h (ia64_print_operand,
+ ia64_print_operand_address): Remove.
+ * config/ia64/ia64.c (TARGET_PRINT_OPERAND,
+ TARGET_PRINT_OPERAND_ADDRESS, TARGET_PRINT_OPERAND_PUNCT_VALID_P):
+ Define.
+ (ia64_print_operand_punct_valid_p): New function.
+ (ia64_print_operand, ia64_print_operand_address): Make static.
+
+2011-12-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/51390
+ * config/rs6000/rs6000.c (def_builtin): Use the correct field to
+ figure out the function's attributes.
+ (struct builtin_description): Mark mask field as const since we no
+ longer need to modify it for SPE and PAIRED builtins.
+
+2011-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ Revert:
+
+ 2008-09-18 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR rtl-opt/37451
+ * loop-doloop.c (doloop_modify): New argument zero_extend_p and
+ zero extend count after the correction to it is done.
+ (doloop_optimize): Update call to doloop_modify, don't zero extend
+ count before call.
+
+ 2008-11-03 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR rtl-opt/37782
+ * loop-doloop.c (doloop_modify): Add from_mode argument that says what
+ mode count is in.
+ (doloop_optimize): Update call to doloop_modify.
+
+2011-12-02 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47259
+ * ipa.c (varpool_externally_visible_p): Register variables
+ are always externally visible.
+
+2011-12-02 Sameera Deshpande <sameera.deshpande@arm.com>
+
+ * gimple-pretty-print.c (dump_gimple_call): Dereference fn only if
+ non-NULL.
+
+2011-12-02 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50622
+ * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand
+ if both lacc and racc are grp_partial_lhs.
+
+2011-12-01 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/50814.
+ * config/sh/sh.c (expand_ashiftrt): Handle TARGET_SH2A same as
+ TARGET_SH3.
+ (shl_sext_kind): Likewise.
+ * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Likewise.
+ * config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a): Remove.
+ (ashlsi3_std): Handle TARGET_SH2A same as TARGET_SH3.
+ (ashlsi3): Likewise.
+ (ashrsi3_d): Likewise.
+ (lshrsi3_d): Likewise.
+ (lshrsi3): Likewise.
+
+2011-12-01 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/51346
+ * ipa-inline.c (can_inline_edge_p): If the edge E has a statement,
+ use the statement's inline indicator instead of E's.
+ Remove consistency check.
+
+2011-12-01 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/51346
+ Revert
+
+ 2011-11-29 Diego Novillo <dnovillo@google.com>
+
+ * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
+ Update field call_stmt_cannot_inline_p from call
+ graph edge, if needed.
+ * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
+
+2011-12-01 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51113
+ * coverage.c (build_var): Keep coverage variables static.
+
+2011-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51356
+ * tree-vect-patterns.c (vect_recog_bool_pattern): Give up if
+ vectype doesn't have VECTOR_MODE_P.
+
+ PR debug/50317
+ * tree-ssa-dce.c (remove_dead_stmt): Add a debug stmt when removing
+ as unnecessary a store to a variable with gimple reg type.
+ * tree-ssa-live.c (remove_unused_locals): Clear TREE_ADDRESSABLE bit
+ on local unreferenced variables.
+ * cfgexpand.c (expand_gimple_basic_block): Don't emit DEBUG_INSNs
+ for !target_for_debug_bind variables.
+
+2011-12-01 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/51273
+ * cgraph.h (cgraph_call_node_duplication_hooks): Declare.
+ * cgraph.c (cgraph_call_node_duplication_hooks): Make global.
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Call it.
+
+2011-12-01 Andrew Pinski <apinski@cavium.com>
+
+ PR lto/51198
+ * tree.c (free_lang_data_in_decl): Clear FIELD_DECL's
+ DECL_INITIAL also.
+
+2011-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51246
+ * tree-predcom.c (replace_ref_with): Handle also clobber on the rhs.
+
+ PR rtl-optimization/51014
+ * loop-unroll.c (apply_opt_in_copies): Ignore label DEBUG_INSNs
+ both from bb and orig_bb.
+
+2011-12-01 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR tree-optimization/50802
+ * tree-vrp.c (simplify_conversion_using_ranges): Rewrite test
+ considering what happens to ranges during sign changes and/or
+ intermediate narrowing conversions.
+
+2011-11-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/50283
+ * config/pa/pa.md (in_branch_delay): Disallow frame related insns.
+ (in_nullified_branch_delay): Likewise.
+ (in_call_delay): Likewise.
+
+2011-11-30 Richard Henderson <rth@redhat.com>
+
+ * predict.c (expr_expected_value_1): Assume compare-and-swap builtin
+ boolean return is true.
+
+2011-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51044
+ * dse.c (emit_inc_dec_insn_before): Ensure new_insn is an instruction
+ rather than just insn body.
+
+ PR target/50725
+ * function.c (thread_prologue_and_epilogue_insns): If
+ stack_realign_drap, add drap_reg to SET_UP_BY_PROLOGUE
+ regset.
+
+ PR middle-end/51089
+ * tree-eh.c (cleanup_empty_eh_merge_phis): Add check to
+ avoid creating duplicate edges here.
+ (cleanup_empty_eh_unsplit): And remove it in the caller.
+
+2011-11-30 Andrew Pinski <apinski@cavium.com>
+
+ PR c/51321
+ * c-parser.c (c_parser_postfix_expression): Check groktypename results
+ before looking at the main variant.
+
+2011-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48721
+ * sched-deps.c (sched_analyze_insn): For SIBLING_CALL_P set
+ reg_pending_barrier to TRUE_BARRIER.
+
+ PR rtl-optimization/48721
+ * sched-ebb.c (begin_move_insn): Insert empty unreachable
+ block after BARRIER if insn is followed by it.
+
+2011-11-30 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc-opts.h (enum sparc_memory_model_type): New.
+ * config/sparc/sparc.opt (mmemory-model=): New option.
+ * doc/invoke.texi (Sparc Options): Document it.
+ * config/sparc/sparc.c (sparc_option_override): Provide default
+ for sparc_memory_model.
+ (sparc_emit_membar_for_model): Omit barrier combinations that are
+ implied by the memory model.
+
+2011-11-30 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sync.md (I124MODE): New mode iterator.
+ (memory_barrier): Remove.
+ (atomic_exchangesi): New.
+ (swapsi): Rename from *swapsi.
+ (atomic_test_and_set<I124MODE>): New.
+ (ldstubqi): Rename from *ldstubqi, merge with expander.
+ (ldstub<I24MODE>): Rename from *ldstub<I24MODE>, merge with expander.
+ (sync_lock_test_and_setsi): Remove.
+ (sync_lock_test_and_set<I12MODE>): Remove.
+
+2011-11-30 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/constraints.md ("w"): New.
+ * config/sparc/predicates.md (mem_noofs_operand): New.
+ * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): Make static.
+ Generate the boolean result of the atomic_compare_exchange.
+ (sparc_expand_compare_and_swap): New.
+ * config/sparc/sync.md (atomic_compare_and_swap<I>): New.
+ (atomic_compare_and_swap<I48MODE>_1): Rename from
+ *sync_compare_and_swap<I48MODE>, use mem_noofs_operand.
+ (*atomic_compare_and_swapdi_v8plus): Rename from
+ *sync_compare_and_swapdi_v8plus, use mem_noofs_operand.
+ (sync_compare_and_swap<I12MODE>): Remove.
+ (sync_compare_and_swap<I48MODE>): Remove.
+
+2011-11-30 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/predicates.md (register_or_v9_zero_operand): New.
+ * config/sparc/sparc.md (UNSPEC_ATOMIC): New.
+ * config/sparc/sync.md (atomic_load<I>): New.
+ (atomic_loaddi_1, atomic_store<I>, atomic_storedi_1): New.
+
+2011-11-30 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/predicates.md (zero_or_v7_operand): New.
+ * config/sparc/sparc.c (sparc_emit_membar_for_model): New.
+ * config/sparc/sparc-protos.h: Update.
+ * config/sparc/sync.md (mem_thread_fence): New.
+ (memory_barrier): Use sparc_emit_membar_for_model.
+ (membar, *membar_empty, *membar_storestore, *membar_storeload): New.
+ (*membar_v8): Accept and ignore the membar mask.
+ (*membar): Accept and print the membar mask.
+
+2011-11-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/arm.c (arm_issue_rate): Cortex-A15 can triple issue.
+ * config/arm/arm.md (mul64): New attribute.
+ (generic_sched): Cortex-A15 is not scheduled generically.
+ (cortex-a15.md): Include.
+ * config/arm/cortex-a15.md: New machine description.
+ * config/arm/t-arm (MD_INCLUDES): Add cortex-a15.md.
+
+2011-11-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/t-arm (MD_INCLUDES): Ensure all md files are listed.
+
+2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
+
+ * doc/tm.texi.in (NEXT_OBJC_RUNTIME): Update macro description.
+ * doc/tm.texi: Regenerate.
+ * flags.h (flag_next_runtime): Remove references.
+ * toplev.c: Likewise.
+ * defaults.h (NEXT_OBJC_RUNTIME): Provide default.
+ * gccspec.c (lang_specific_driver): Adjust use of NEXT_OBJC_RUNTIME.
+ * config/darwin.c (darwin_override_options): Provide default
+ Objective-C abi settings and target conflict checks.
+ * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Remove unused
+ code. Adjust indenting.
+
+2011-11-29 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sh/sh.h (enum reg_class, REG_CLASS_NAMES)
+ (REG_CLASS_CONTENTS): Add NON_SP_REGS.
+ (REGCLASS_HAS_GENERAL_REG): Handle NON_SP_REGS.
+ * config/sh/constraints.md (u): New constraint.
+
+2011-11-29 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/51337
+ * config/sh/sh.c (sh_secondary_reload): Add case when FPUL
+ register is being loaded from a pseudo in memory.
+
+2011-11-29 DJ Delorie <dj@redhat.com>
+
+ * config.gcc (rl78-*-elf): New case.
+ * doc/extend.texi: Add RL78 documentation.
+ * doc/invoke.texi: Likewise.
+ * doc/md.texi: Likewise.
+ * doc/contrib.texi: Add RL78.
+ * doc/install.texi: Add rl78-*-elf.
+ * config/rl78: New directory for the Renesas RL78.
+
+2011-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51247
+ * tree-vrp.c (extract_range_from_assert): For signed 1-bit precision
+ types instead of adding 1 subtract -1 and instead of subtracting 1
+ add -1 to avoid overflows.
+
+2011-11-29 Andrew MacLeod <amacleod@redhat.com>
+
+ PR target/50123
+ * optabs.c (maybe_optimize_fetch_op): New. Look for more optimal
+ instructions for a FECTH_OP or OP_FECTH sequence.
+ (expand_atomic_fetch_op): Call maybe_optimize_fetch_op.
+
+2011-11-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (UNSPEC_LDA, UNSPEC_STA): New unspecs.
+ (movdi_via_fpu): Remove.
+ (loaddi_via_fpu): New insn pattern.
+ (storedi_via_fpu): Ditto.
+ (atomic_loaddi_fpu): Use loaddi_via_fpu and storedi_via_fpu.
+ (atomic_storedi_fpu): Ditto.
+ * reg-stack.c (get_true_reg): Handle UNSPEC_LDA.
+ (subst_stack_regs_pat): Handle UNSPEC_STA.
+
+2011-11-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*floathi<mode>2_i387_with_temp): Do not
+ allocate scratch memory for alternative 0.
+
+2011-11-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-builtins.def: Completely rewrite builtin
+ handling to centralize more of the builtins in this file. Change
+ some builtin enumerations to be more consistant. Use a new mask
+ to hold the current builtins, including SPE and PAIRED builtins
+ which no longer are set via target_flags masks. Add
+ -mdebug=builtin debug support. For power machines, define all
+ Altivec and VSX buitins when the compiler starts, but don't allow
+ the use of a builtin unless the appropriate switch is used, or
+ #pragma GCC target is used to change the options. If the user
+ uses #pragma GCC target, update the appropriate hardware macros.
+ * common/config/rs6000/rs6000-common.c (rs6000_handle_option): Ditto.
+ * config/rs6000/rs6000.opt (rs6000_builtin_mask): Ditto.
+ * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): Ditto.
+ (rs6000_define_or_undefine_macro): Ditto.
+ (rs6000_target_modify_macros): Ditto.
+ (rs6000_cpu_cpp_builtins): Ditto.
+ (altivec_overloaded_builtins): Ditto.
+ (altivec_build_resolved_builtin): Ditto.
+ * config/rs6000/rs6000.c (rs6000_target_modify_macros_ptr): Ditto.
+ (rs6000_builtin_info): Ditto.
+ (def_builtin): Ditto.
+ (enable_mask_for_builtins): Ditto.
+ (DEBUG_FMT_X): Ditto.
+ (rs6000_debug_reg_global): Ditto.
+ (rs6000_builtin_mask_calculate): Ditto.
+ (rs6000_option_override_internal): Ditto.
+ (rs6000_builtin_conversion): Ditto.
+ (rs6000_builtin_vectorized_function): Ditto.
+ (bdesc_3arg): Ditto.
+ (bdesc_dst): Ditto.
+ (bdesc_2arg): Ditto.
+ (builtin_description_predicates): Ditto.
+ (bdesc_altivec_preds): Ditto.
+ (bdesc_spe_predicates): Ditto.
+ (bdesc_spe_evsel): Ditto.
+ (bdesc_paired_preds): Ditto.
+ (bdesc_abs): Ditto.
+ (bdesc_1arg): Ditto.
+ (rs6000_overloaded_builtin_p): Ditto.
+ (rs6000_expand_unop_builtin): Ditto.
+ (bdesc_2arg_spe): Ditto.
+ (spe_expand_builtin): Ditto.
+ (rs6000_invalid_builtin): Ditto.
+ (rs6000_expand_builtin): Ditto.
+ (rs6000_init_builtins): Ditto.
+ (spe_init_builtins): Ditto.
+ (paired_init_builtins): Ditto.
+ (altivec_init_builtins): Ditto.
+ (builtin_function_type): Ditto.
+ (rs6000_common_init_builtins): Ditto.
+ (rs6000_builtin_reciprocal): Ditto.
+ (rs6000_builtin_mask_names): Ditto.
+ (rs6000_pragma_target_parse): Ditto.
+ (rs6000_function_specific_print): Ditto.
+ * config/rs6000/rs6000.h (MASK_DEBUG_BUILTIN): Ditto.
+ (MASK_DEBUG_ALL): Ditto.
+ (TARGET_DEBUG_BUILTIN): Ditto.
+ (TARGET_EXTRA_BUILTINS): Ditto.
+ (REGISTER_TARGET_PRAGMAS): Ditto.
+ (enum rs6000_btc): Ditto.
+ (RS6000_BTC_*): Ditto.
+ (RS6000_BTM_*): Ditto.
+ (enum rs6000_builtins): Ditto.
+ * config/rs6000/rs6000-protos.h (rs6000_overloaded_builtin_p): Ditto.
+ (rs6000_target_modify_macros): Ditto.
+ (rs6000_target_modify_macros_ptr): Ditto.
+
+ * config/rs6000/vector.md (unsfloat<VEC_int><mode>2): Use the
+ standard name for converting vector unsigned values to floating
+ point. Delete the TARGET_VECTORIZE_BUILTIN_CONVERSION hook, which
+ is handled by machine independent code.
+ * config/rs6000/rs6000.c (TARGET_VECTORIZE_BUILTIN_CONVERSION): Ditto.
+ (rs6000_builtin_conversion): Ditto.
+
+2011-11-29 Dodji Seketeli <dodji@redhat.com>
+
+ * tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
+ (maybe_unwind_expanded_macro_loc): Adjust.
+
+2011-11-29 David Edelsohn <dje.gcc@gmail.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ * trans-mem.c (ipa_tm_create_version_alias): Mangle new_decl
+ if DECL_ONE_ONLY.
+ (ipa_tm_create_version): Same.
+
+2011-11-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (recompute_todo_spec): Simplify and correct the
+ code checking for a clobber of a condition register when deciding
+ whether to predicate.
+
+2011-11-29 Diego Novillo <dnovillo@google.com>
+
+ * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h.
+ Update field call_stmt_cannot_inline_p from call graph edge, if needed.
+ * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c.
+
+2011-11-29 Sameera Deshpande <sameera.deshpande@arm.com>
+
+ * config/arm/arm.md (arm_movdi): Update NEG_POOL_RANGE.
+ (movdf_soft_insn): Likewise.
+ * config/arm/fpa.md (thumb2_movdf_fpa): Likewise.
+ * config/arm/neon.md (neon_mov<mode>): Likewise.
+ * config/arm/vfp.md (movdi_vfp): Likewise.
+ (movdi_vfp_cortexa8): Likewise.
+ (movdf_vfp): Likewise.
+
+2011-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/50074
+ * expr.c (expand_expr_addr_expr_1): Don't call force_operand for
+ EXPAND_SUM modifier.
+
+2011-11-29 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51301
+ * tree-vect-patterns.c (vect_recog_over_widening_pattern): Check that
+ the last statement doesn't convert to a bigger type than the original
+ type of the computation.
+
+2011-11-28 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
+ Handle overlap between retval and oldval. Always compute boolval
+ from CR0 EQ value.
+
+2011-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/50317
+ * tree-ssa.c (execute_update_addresses_taken): Remove
+ var ={v} {CLOBBER} stmts instead of rewriting them into
+ var_N ={v} {CLOBBER}.
+
+ PR middle-end/50907
+ * function.c (convert_jumps_to_returns): When redirecting an edge
+ succ to EXIT_BLOCK_PTR, clear EDGE_CROSSING flag.
+
+ PR tree-optimization/50078
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Copy over
+ TREE_THIS_VOLATILE also from the old to new lhs resp. rhs.
+
+ PR tree-optimization/50682
+ * tree-eh.c (maybe_remove_unreachable_handlers): New function.
+ * tree-flow.h (maybe_remove_unreachable_handlers): New prototype.
+ * tree-optimize.c (execute_cleanup_cfg_post_optimizing): Call it.
+
+2011-11-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/extend.texi (AVR Built-in Functions): Add documentation for
+ __builtin_avr_map8 and __builtin_avr_map16.
+
+ * config/avr/avr.md: Document new %t and %T asm output codes.
+ (define_c_enum "unspec"): Add UNSPEC_MAP_BITS.
+ (adjust_len): Add map_bits.
+ (map_bitsqi, map_bitshi): New insns.
+ * config/avr/avr-protos.h (avr_out_map_bits): New.
+ * config/avr/avr-protos.c (print_operand): Implement %t and %T.
+ (adjust_insn_length): Handle ADJUST_LEN_MAP_BITS.
+ (avr_double_int_push_digit): New function.
+ (avr_map, avr_revert_map, avr_swap_map, avr_id_map): New functions.
+ (avr_sig_map, avr_map_hamming_byte): New functions.
+ (avr_out_swap_bits, avr_out_revert_bits, avr_move_bits,
+ avr_out_map_bits): New functions.
+ (enum avr_builtin_id): Add AVR_BUILTIN_MAP8, AVR_BUILTIN_MAP16.
+ (avr_init_builtins): Populate __builtin_avr_map8, __builtin_avr_map16.
+ (bdesc_2arg): Add __builtin_avr_map8, __builtin_avr_map16 ...
+ (avr_expand_builtin): ...and expand them.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in defines:
+ __BUILTIN_AVR_MAP8, __BUILTIN_AVR_MAP16.
+
+2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/51278
+ * config/mips/mips.c (mips_rtx_costs): Handle baddu.
+
+2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips16_unextended_reference_p): Test for BLKmode.
+
+2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips-protos.h (mips_emit_binary): Declare.
+ * config/mips/mips.c (mips_emit_binary): Make global.
+ (mips_set_mips16_mode): Turn off -mfix-r4000 in MIPS16 mode.
+ (mips_conditional_register_usage): Don't treat LO and HI as
+ register operands in MIPS16 mode.
+ (mips_mulsidi3_gen_fn): Use {u,}mulsidi3_{32,64}bit_mips16
+ for MIPS16 code.
+ * config/mips/predicates.md (muldiv_target_operand): New predicate.
+ (move_operand): Allow hilo_operand.
+ * config/mips/mips.md (mul<mode>3): Explicitly specify LO as the
+ target of MIPS16 multiplies, then move it into the target register.
+ (mul<mode>3_internal, *macc2, *msac2): Use muldiv_target_operand.
+ (<u>mulsidi3_32bit_mips16): New expander.
+ (<u>mulsidi3_32bit): Use muldiv_target_operand.
+ (<u>mulsidi3_32bit_r4000): Disable for ISA_HAS_DSP.
+ (<u>mulsidi3_64bit): Require !TARGET_MIPS16. Split into
+ <u>mulsidi3_64bit_split.
+ (<u>mulsidi3_64bit_mips16): New expander.
+ (<u>mulsidi3_64bit_split): Likewise, using expansions from
+ two previous define_splits.
+ (<u>mulsidi3_64bit_hilo, *muls<u>_di, <u>msubsidi4): Use
+ muldiv_target_operand.
+ (<su>mulsi3_highpart): Use <su>mulsi3_highpart_split for MIPS16 code.
+ (<su>mulsi3_highpart_internal): Require !TARGET_MIPS16.
+ Split into <su>mulsi3_highpart_split.
+ (<su>mulsi3_highpart_split): New expander.
+ (<su>muldi3_highpart): Turn into a define_expand.
+ Use <su>muldi3_highpart_split for MIPS16 code.
+ (<su>muldi3_highpart_internal): Renamed from <su>muldi3_highpart.
+ Require !TARGET_MIPS16. Split into <su>muldi3_highpart_split.
+ (<su>muldi3_highpart_split): New expander.
+ (<u>mulditi3): Explicitly specify LO as the target of MIPS16
+ multiplies, then move it into the target register.
+ (<u>mulditi3_internal, <u>maddsidi4): Use muldiv_target_operand.
+ (divmod<mode>4, udivmod<mode>4): Turn into define_expands.
+ Use <u>divmod<mode>4_split for MIPS16 code, then explicitly
+ move LO into operand 0.
+ (divmod<mode>4_internal, udivmod<mode>4_internal): Renamed
+ from <u>divmod<mode>4. Use muldiv_target_operand.
+ Require !TARGET_MIPS16. Split into <u>divmod<mode>4_split.
+ (<u>divmod<mode>4_split): New expander.
+ (<u>divmod<GPR:mode>4_hilo_<HILO:mode>): Use muldiv_target_operand.
+ (mfhi<GPR:mode>_<HILO:mode>): Use hilo_operand.
+
+2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * hard-reg-set.h (target_hard_regs): Add x_accessible_reg_set
+ and x_operand_reg_set.
+ (accessible_reg_set, operand_reg_set): New macros.
+ * reginfo.c (init_reg_sets): Initialize accessible_reg_set and
+ operand_reg_set.
+ (saved_accessible_reg_set, saved_operand_reg_set): New variables.
+ (save_register_info): Save them.
+ (restore_register_info): Restore them.
+ (init_reg_sets_1): Limit operand_reg_set to accessible_reg_set.
+ Remove NO_REGS registers from operand_reg_set. Treat members
+ of operand_reg_set as fixed.
+ * recog.c (general_operand): Check operand_reg_set rather than NO_REGS.
+ (register_operand, nonmemory_operand): Likewise.
+ * varasm.c (make_decl_rtl): Always use DECL_MODE as the mode of
+ register variables. Check accessible_reg_set and operand_reg_set.
+ * config/mips/mips.c (mips_conditional_register_usage): Remove
+ inaccessible register from accessible_reg_set, rather than just
+ making them fixed.
+
+2011-11-27 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config/pa/pa-linux.h (TARGET_GAS): Remove comment.
+
+2011-11-26 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.c (arm_init_libfuncs): Call init_sync_libfuncs
+ for Linux.
+
+2011-11-26 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_atomic_fetch_op): Always return result.
+
+ * optabs.c (init_sync_libfuncs_1): Include max in iteration.
+
+ * omp-low.c (expand_omp_atomic): Assume anything aligned to
+ BIGGEST_ALIGNMENT is aligned.
+
+2011-11-26 Richard Henderson <rth@redhat.com>
+
+ * config/m68k/m68k.md (UNSPECV_CAS_1, UNSPECV_CAS_2): New.
+ (UNSPECV_TAS_1, UNSPECV_TAS_2): New.
+ (I): New mode iterator.
+ (xz): New mode attribute.
+ * config/m68k/sync.md: New file.
+
+ * config/m68k/linux.h (TARGET_INIT_LIBFUNCS): New.
+ * config/m68k/m68k.c (m68k_init_sync_libfuncs): New.
+
+2011-11-26 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51297
+ * gcov.c (main): Allocate initial names and sources arrays.
+ (find_source): Don't check for null name or source arrays here.
+
+2011-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49912
+ * cfgrtl.c (rtl_verify_flow_info_1): Ignore also EDGE_PRESERVE bit
+ when counting n_branch.
+
+2011-11-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sync.md (movdi_via_fpu): Add %Z insn suffixes.
+
+2011-11-26 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR middle-end/50074
+ * calls.c (mem_overlaps_already_clobbered_arg_p):
+ Return false if no outgoing arguments have been stored so far.
+
+2011-11-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (print_operand): Support code = 'i' for CONST_INT.
+
+2011-11-24 Andrew MacLeod <amacleod@redhat.com>
+
+ PR other/51011
+ * tree.h (is_builtin_name): No longer external.
+ * builtins.c (is_builtin_name): Make static.
+ * varasm.c (incorporeal_function_p): __sync and __atomic external calls
+ are not incorporeal and may need asm label processing.
+
+2011-11-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50566
+ * config/avr/avr-protos.h (avr_log_t): Add field .builtin.
+ * config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
+ Don't bypass TARGET_ALL_DEBUG. Print self-info with ?.
+ (avr_log_vadump): Support %D and %X to print double_int.
+ (avr_double_int_pop_digit): New static function.
+ (avr_dump_double_int_hex): New static function.
+
+2011-11-24 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ PR target/51287
+ * config/i386/i386.c (distance_non_agu_define_in_bb): Fix insn
+ attr check.
+
+2011-11-24 Andrew MacLeod <amacleod@redhat.com>
+
+ * optab.c (maybe_emit_atomic_exchange): New. Try to emit an
+ atomic_exchange pattern.
+ (maybe_emit_sync_lock_test_and_set): New. Try to emit an exchange
+ using __sync_lock_test_and_set.
+ (maybe_emit_compare_and_swap_exchange_loop): New. Try to emit an
+ exchange using a compare_and_swap loop.
+ (expand_sync_lock_test_and_set): New. Expand sync_lock_test_and_set.
+ (expand_atomic_test_and_set): New. Expand test_and_set operation.
+ (expand_atomic_exchange): Use new maybe_emit_* functions.
+ (expand_atomic_store): Use new maybe_emit_* functions.
+ * builtins.c (expand_builtin_sync_lock_test_and_set): Call
+ expand_sync_lock_test_and_set routine.
+ (expand_builtin_atomic_exchange): Remove parameter from call.
+ (expand_builtin_atomic_clear): Use atomic_clear pattern if present.
+ (expand_builtin_atomic_test_and_set): Add target and simply call
+ expand_atomic_test_and_set.
+ (expand_builtin): Add target to expand_builtin_atomic_test_and_set.
+ * expr.h (expand_atomic_exchange): Add parameter.
+ (expand_sync_lock_test_and_set): New prototype.
+ (expand_atomic_test_and_set, expand_atomic_clear): New prototypes.
+
+2011-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/51134
+ * config/i386/i386.h (processor_costs): Revert revision 181357.
+ * config/i386/i386.c (cost models): Likewise.
+ (core_cost): Likewise.
+ (promote_duplicated_reg): Likewise.
+ (promote_duplicated_reg_to_size): Likewise.
+ (processor_target): Likewise.
+ (expand_set_or_movmem_via_loop_with_iter): Likewise.
+ (expand_set_or_movmem_via_loop): Likewise.
+ (emit_strset): Likewise.
+ (expand_movmem_epilogue): Likewise.
+ (expand_setmem_epilogue): Likewise.
+ (expand_movmem_prologue): Likewise.
+ (expand_setmem_prologue): Likewise.
+ (expand_constant_movmem_prologue): Likewise.
+ (expand_constant_setmem_prologue): Likewise.
+ (decide_alg): Likewise.
+ (decide_alignment): Likewise.
+ (ix86_expand_movmem): Likewise.
+ (ix86_expand_setmem): Likewise.
+ (ix86_slow_unaligned_access): Likewise.
+ * config/i386/i386.md (strset): Likewise.
+ * config/i386/sse.md (vec_dupv4si): Likewise.
+ (vec_dupv2di): Likewise.
+
+2011-11-24 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*rotlhi2.15): Set length to 4.
+
+2011-11-24 Razya Ladelsky <razya@il.ibm.com>
+
+ * tree-data-ref.c (initialize_data_dependence_relation): Update
+ comment for the self dependence case.
+ (compute_self_dependence): Remove.
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Remove call to
+ compute_self_dependenc.
+
+2011-11-24 Alan Modra <amodra@gmail.com>
+
+ * c-decl.c (warn_if_shadowing): Don't warn if shadowed
+ identifier is from system header.
+
+2011-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51261
+ * config/i386/i386.c (decide_alg): Initialize *dynamic_check
+ even if !optimize.
+
+2011-11-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48455
+ * doc/invoke.texi (-fira-region): Document default values.
+
+ * flags-types.h (enum ira_region): Add new value
+ IRA_REGION_AUTODETECT.
+
+ * common.opt (fira-region): Set up initial value to
+ IRA_REGION_AUTODETECT.
+
+ * toplev.c (process_options): Set up flag_ira_region depending on
+ -O options.
+
+ * ira.c (ira.c): Remove optimize guard for ira_build.
+
+2011-11-23 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR rtl-optimization/50496
+ * jump.c (redirect_jump): Assert fail on nlabel == NULL_RTX
+ only after epilogue is created. Add comments.
+
+2011-11-22 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_atomic_op): Add model parameter.
+ Generate the barrier required for the memory model.
+ (rtx_needs_barrier): Handle UNSPEC_FETCHADD_REL, UNSPEC_CMPXCHG_REL.
+ * config/ia64/ia64-protos.h: Update.
+ * config/ia64/ia64.md (UNSPEC_FETCHADD_REL): New.
+ (UNSPEC_CMPXCHG_REL): New.
+ * config/ia64/sync.md (mem_thread_fence): New.
+ (atomic_load<IMODE>, atomic_store<IMODE>): New.
+ (atomic_compare_and_swap<IMODE>): New.
+ (cmpxchg_acq_<I124MODE>, cmpxchg_acq_di): New.
+ (atomic_exchange<IMODE>): New.
+ (xchg_acq_<IMODE>): Rename from sync_lock_test_and_set<IMODE>.
+ (atomic_<FETCHOP><IMODE>, atomic_nand<IMODE>): New.
+ (atomic_fetch_<FETCHOP><IMODE>, atomic_fetch_nand<IMODE>): New.
+ (atomic_<FETCHOP>_fetch<IMODE>, atomic_nand_fetch<IMODE>): New.
+ (fetchadd_rel_<I48MODE>): New.
+ (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): Remove.
+ (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): Remove.
+ (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): Remove.
+ (sync_compare_and_swap<IMODE>): Remove.
+ (sync_lock_release<IMODE>): Remove.
+
+ * config/ia64/ia64.md: Use define_c_enum for UNSPEC_*
+ and UNSPECV_* constants.
+
+2011-11-22 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/50764
+ * sched-deps.c (sched_analyze_insn): Make sure frame-related insns are
+ not moved past preceding jump.
+
+2011-11-22 Jeff Law <law@redhat.com>
+
+ * doc/contrib.texi: Add entry for David Binderman.
+
+2011-11-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * postreload.c (reload_combine): Mark reg_state as invalid at
+ volatile insns if there has been a use already.
+
+2011-11-21 Aldy Hernandez <aldyh@redhat.com>
+
+ * opts.c (finish_options): Do not fail for -fgnu-tm.
+ * gimple-streamer-out.c (output_gimple_stmt): Handle
+ GIMPLE_TRANSACTION.
+ * gimple-streamer-in.c (input_gimple_stmt): Same.
+ * lto-cgraph.c (input_overwrite_node): Read tm_clone bit.
+ (lto_output_node): Write tm_clone bit.
+
+2011-11-22 Ian Lance Taylor <iant@google.com>
+
+ * doc/install.texi (Configuration): Correct doc of
+ --enable-build-poststage1-with-cxx: it is not experimental.
+
+2011-11-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51074
+ * fold-const.c (fold_binary_loc): Fix up VEC_INTERLEAVE_*_EXPR
+ handling for BYTES_BIG_ENDIAN.
+ * optabs.c (can_vec_perm_for_code_p): Likewise.
+
+2011-11-22 Michael Matz <matz@suse.de>
+
+ PR other/51125
+ * trans-mem.c (expand_block_tm): Ignore clobbers.
+
+2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (ENDFILE_SPEC): New.
+ (DARWIN_CRT1_SPEC): Add crttms.o.
+ (STARTFILE_SPEC): Likewise for dynamic libs and bundles.
+ * config/i386.h (ENDFILE_SPEC): Amend to include crttme.o.
+
+2011-11-22 Michael Matz <matz@suse.de>
+
+ PR c++/51264
+ * tree.c (iterative_hash_expr): Remove break after return.
+
+2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * target.def (tm_clone_table_section): New hook.
+ * doc/tm.texi.in (TARGET_ASM_TM_CLONE_TABLE_SECTION): Define.
+ * doc/tm.texi: Regenerate.
+ * varasm.c (dump_tm_clone_pairs): Use target tm_clone_table_section.
+ * output.h (default_clone_table_section): New prototype.
+ * config/darwin.h (TARGET_ASM_TM_CLONE_TABLE_SECTION): New.
+ * config/darwin-protos.h (darwin_tm_clone_table_section): New prototype.
+ * config/darwin.c (darwin_tm_clone_table_section): New.
+
+2011-11-21 Torvald Riegel <triegel@redhat.com>
+
+ * trans-mem.c (diagnose_tm_1): Print an expression instead of a
+ declaration in error messages for indirect calls.
+
+2011-11-21 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (sparc_regmode_natural_size): New function
+ implementing REGMODE_NATURAL_SIZE taking into consideration vector
+ modes.
+ (sparc_modes_tieable_p): Similarly for MODES_TIEABLE_P.
+ * config/sparc/sparc-protos.h (sparc_regmode_natural_size,
+ sparc_modes_tieable_p): Declare.
+ * gcc/config/sparc/sparc.h (REGMODE_NATURAL_SIZE,
+ MODES_TIEABLE_P): Use new helper functions.
+
+ Revert
+ 2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR middle-end/50325
+ * expmed.c (store_bit_field_1): Use extract_bit_field on big
+ endian targets if the source cannot be exactly covered by word
+ mode chunks.
+
+2011-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/50827
+ * var-tracking.c (loc_cmp): For ENTRY_VALUEs use ENTRY_VALUE_EXP
+ macro instead of XEXP.
+
+2011-11-21 Andreas Tobler <andreast@fgznet.ch>
+
+ * configure: Regenerate.
+
+2011-11-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (output_reload_in_const): Loading a byte with 0
+ must not affect cc0.
+ * config/avr/avr.md (*movhi, *movpsi, *movsi, *movsf): Zero to any
+ register does not change cc0. Same for any constant to ld-register.
+
+2011-11-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/mmx.md (unspec) <UNSPEC_MOVNTQ, UNSPEC_PFRCP,
+ UNSPEC_PFRCPIT1, UNSPEC_PFRCPIT2, UNSPEC_PFRSQRT, UNSPEC_PFRSQIT1>:
+ Move from config/i386/i386.md
+ (unspecv) <UNSPECV_EMMS, UNSPECV_FEMMS>: Ditto.
+ * config/i386/sse.md (unspec) <UNSPEC_MOVNT,UNSPEC_MOVU, UNSPEC_LDDQU,
+ UNSPEC_PSHUFB, UNSPEC_PSIGN, UNSPEC_PALIGNR, UNSPEC_EXTRQI,
+ UNSPEC_EXTRQ, UNSPEC_INSERTQI, UNSPEC_INSERTQ, UNSPEC_BLENDV,
+ UNSPEC_INSERTPS, UNSPEC_DP, UNSPEC_MOVNTDQA, UNSPEC_MPSADBW,
+ UNSPEC_PHMINPOSUW, UNSPEC_PTEST, UNSPEC_PCMPESTR, UNSPEC_PCMPISTR,
+ UNSPEC_FMADDSUB, UNSPEC_XOP_UNSIGNED_CMP, UNSPEC_XOP_TRUEFALSE,
+ UNSPEC_XOP_PERMUTE, UNSPEC_FRCZ, UNSPEC_AESENC, UNSPEC_AESENCLAST,
+ UNSPEC_AESDEC, UNSPEC_AESDECLAST, UNSPEC_AESIMC,
+ UNSPEC_AESKEYGENASSIST, UNSPEC_PCLMUL, UNSPEC_PCMP, UNSPEC_VPERMIL,
+ UNSPEC_VPERMIL2, UNSPEC_VPERMIL2F128, UNSPEC_CAST, UNSPEC_VTESTP,
+ UNSPEC_VCVTPH2PS, UNSPEC_VCVTPS2PH, UNSPEC_VPERMSI, UNSPEC_VPERMDF,
+ UNSPEC_VPERMSF, UNSPEC_VPERMTI, UNSPEC_GATHER, UNSPEC_VSIBADDR>: Ditto.
+ (unspecv) <UNSPECV_LDMXCSR, UNSPECV_STMXCSR, UNSPECV_CLFLUSH,
+ UNSPECV_MONITOR, UNSPECV_MWAIT, UNSPECV_VZEROALL, UNSPECV_VZEROUPPER>:
+ Ditto.
+ * config/i386/sync.md (unspec) <UNSPEC_LFENCE, UNSPEC_SFENCE,
+ UNSPEC_MFENCE, UNSPEC_MOVA>: Ditto.
+ (unspecv) <UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2, UNSPECV_CMPXCHG_3,
+ UNSPECV_CMPXCHG_4, UNSPECV_XCHG, UNSPECV_LOCK>: Ditto.
+ (sse2_lfence): Move from config/i386/sse.md.
+ (*sse2_lfence): Ditto.
+ (sse_sfence): Ditto.
+ (*sse_sfence): Ditto.
+ (sse2_mfence): Ditto.
+ (mfence_sse2): Ditto. Rename from *sse2_mfence. Enable also
+ for TARGET_64BIT.
+ (mem_thread_fence): Use mfence_sse2.
+
+2011-11-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (struct base_arch_s): Add field sfr_offset.
+ * config/avr/avr-devices.c: Ditto. And initialize it.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): New built-in define
+ __AVR_SFR_OFFSET__.
+ * config/avr/avr-protos.h (out_movqi_r_mr, out_movqi_mr_r): Remove.
+ (out_movhi_r_mr, out_movhi_mr_r): Remove.
+ (out_movsi_r_mr, out_movsi_mr_r): Remove.
+ * config/avr/avr.md (*cbi, *sbi): Use %i instead of %m-0x20.
+ (*insv.io, *insv.not.io): Ditto.
+ * config/avr/avr.c (out_movsi_r_mr, out_movsi_mr_r): Make static.
+ (print_operand): Implement "%i" to print address as I/O address.
+ (output_movqi): Clean up call of out_movqi_mr_r.
+ (output_movhi): Clean up call of out_movhi_mr_r.
+ (avr_file_start): Use avr_current_arch->sfr_offset instead of
+ magic -0x20. Use TMP_REGNO, ZERO_REGNO instead of 0, 1.
+ (avr_out_sbxx_branch): Use %i instead of %m-0x20.
+ (out_movqi_r_mr, out_movqi_mr_r): Ditto. And make static.
+ (out_movhi_r_mr, out_movhi_mr_r): Ditto. And use avr_asm_len.
+ (out_shift_with_cnt): Clean up code: Use avr_asm_len.
+ (output_movsisf): Use output_reload_insisf for all CONSTANT_P sources.
+ (avr_out_movpsi): USE avr_out_reload_inpsi for all CONSTANT_P sources.
+ Clean up call of avr_out_store_psi.
+ (output_reload_in_const): Don't cut symbols longer than 2 bytes.
+ (output_reload_insisf): Filter CONST_INT_P or CONST_DOUBLE_P to
+ try if setting pre-cleared register is advantageous.
+ (avr_out_plus_1): Use gen_int_mode instead of GEN_INT.
+
+2011-11-20 Joey Ye <joey.ye@arm.com>
+
+ * expr.c (expand_expr_real_1): Correctly handle strict volatile
+ bitfield loads smaller than mode size.
+
+2011-11-20 Richard Henderson <rth@redhat.com>
+
+ * config/mips/mips.c (mips_init_libfuncs): Call init_sync_libfuncs.
+
+2011-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/51235
+ * config/i386/i386.c (ix86_expand_vcond): Generate TARGET_XOP
+ patterns for supported mode only.
+
+ PR target/51236
+ * config/i386/i386.c (ix86_expand_builtin)
+ <IX86_BUILTIN_GATHERALTSIV4DI>: Use CODE_FOR_avx2_gathersiv4di.
+
+2011-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (UNSPEC_MOVNTI): Remove.
+ (UNSPEC_MOVNTQ): New unspec.
+ * config/i386/mmx.md (sse_movntq): Rename from sse_movntdi.
+ Use UNSPEC_MOVNTQ instead of UNSPEC_MOVNT.
+ * config/i386/sse.md (sse2_movnti<mode>): Use UNSPEC_MOVNT instead of
+ UNSPEC_MOVNTI.
+ (STORENT_MODE): Add DI and V4DI modes.
+
+2011-11-20 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51113
+ * coverage.c (build_var): Propagate visibility for public
+ decls. Use make_decl_one_only for PIC correctness.
+
+ testsuite/
+ * gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage
+ * gcc.misc-tests/gcov-16.c: New.
+ * gcc.misc-tests/gcov-17.c: New.
+ * g++.dg/gcov/gcov-8.C: New.
+ * g++.dg/gcov/gcov-9.C: New.
+ * g++.dg/gcov/gcov-10.C: New.
+
+2011-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/51187
+ * reorg.c (relax_delay_slots): Do not consider a jump useless if there
+ is a barrier between the jump and its target label.
+
+2011-11-19 Patrick Marlier <patrick.marlier@gmail.com>
+
+ PR middle-end/51211
+ * tracer.c (ignore_bb_p): Don't copy GIMPLE_TRANSACTION.
+
+2011-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expmed.c (store_bit_field_1): Revert bogus formatting change.
+
+2011-11-19 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/50493
+ * config/arm/arm.c (neon_disambiguate_copy): Correctly handle partial
+ overlap of src and dest operands.
+
+2011-11-19 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.h (ASM_DEBUG_SPEC): New.
+ * config/darwin9.h (ASM_DEBUG_SPEC): New.
+
+2011-11-18 Jan Hubicka <jh@suse.cz>
+
+ * config/i386/i386.c (atom_cost): Disable SSE loop until alignment
+ issues are fixed.
+
+2011-11-18 Anatoly Sokolov <aesok@post.ru>
+
+ * config/cris/cris.c (cris_function_value_regno_p): Make static.
+ (TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ * config/cris/cris.h (FUNCTION_VALUE_REGNO_P): Remove.
+ * config/cris/cris-protos.h (cris_function_value_regno_p): Remove.
+
+2011-11-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/33944
+ * doc/extend.texi: Document __builtin_ia32_movnti64.
+
+ * config/i386/emmintrin.h (_mm_stream_si64): New.
+
+ * config/i386/i386-builtin-types.def: Add VOID_FTYPE_PLONGLONG_LONGLONG.
+
+ * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVNTI64.
+ (bdesc_special_args): Update __builtin_ia32_movnti. Add
+ __builtin_ia32_movnti64.
+ (ix86_expand_special_args_builtin): Handle
+ VOID_FTYPE_PLONGLONG_LONGLONG.
+
+ * config/i386/i386.md (UNSPEC_MOVNTI): New.
+
+ * config/i386/sse.md (sse2_movntsi): Renamed to ...
+ (sse2_movnti<mode>): This.
+
+2011-11-18 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ * config/avr/avr.h (base_arch_s): Add field n_segments.
+ (ADDR_SPACE_PGM1, ADDR_SPACE_PGM2, ADDR_SPACE_PGM3,
+ ADDR_SPACE_PGM4, ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): New address spaces.
+ (AVR_HAVE_ELPM, AVR_HAVE_ELPMX): New defines.
+ (INIT_EXPANDERS): New define.
+ * config/avr/avr-protos.h (avr_mem_pgmx_p): New.
+ (avr_init_expanders): New.
+ (avr_emit_movmemhi, avr_out_movmem): New.
+ (avr_xload_libgcc_p): New.
+ * config/avr/avr-c.c (avr_register_target_pragmas): Register
+ address spaces __pgm1, __pgm2, __pgm3, __pgm4 __pgm5, __pgmx.
+ (avr_cpu_cpp_builtins): Add built-in defines __PGM1,
+ __PGM2, __PGM3, __PGM4, __PGM5, __PGMX.
+ * config/avr/avr-devices.c (avr_arch_types): Set field n_segments.
+
+ * config/avr/avr.c (AVR_SECTION_PROGMEM): Change define to cover
+ 3 bits instead of just 1.
+ (xstring_empty, xstring_e, rampz_rtx): New static GTYed variables.
+ (progmem_section): Change from section to array of sections.
+ (progmem_section_prefix): New static variable.
+ (avr_file_start): Print set for __RAMPZ__
+ (avr_option_override): Move initialization of RTXes from here...
+ (avr_init_expanders): ...to this new function.
+ (avr_pgm_segment): New static function.
+ (avr_decl_pgm_p): Handle error_mark_node.
+ (avr_mem_pgmx_p, avr_decl_pgmx_p): New static functions.
+ (avr_out_xload, avr_find_unused_d_reg): New static functions.
+ (expand_prologue, expand_epilogue): Use rampz_rtx.
+ (print_operand): Hande CONST_STRING.
+ (avr_xload_libgcc_p): New static function.
+ (avr_out_lpm_no_lpmx, avr_out_lpm): Handle ELPM.
+ (avr_progmem_p): Return 2 for 24-bit flash address space.
+ (avr_out_sbxx_branch): Clean-up code from ASn macros.
+ (out_movqi_r_mr, out_movqi_mr_r): Ditto. And recognize RAMPZ's
+ address and print symbolically.
+ (avr_asm_named_section, avr_section_type_flags,
+ avr_encode_section_info, avr_asm_select_section,
+ avr_addr_space_address_mode, avr_addr_space_pointer_mode,
+ avr_addr_space_legitimate_address_p, avr_addr_space_convert,
+ avr_addr_space_legitimize_address): Handle new address spaces.
+ (avr_output_progmem_section_asm_op): New static function.
+ (avr_asm_init_sections): Initialize progmem_section[].
+ (adjust_insn_length): Handle ADJUST_LEN_XLOAD, ADJUST_LEN_MOVMEM.
+ (avr_const_address_lo16): New static function.
+ (avr_assemble_integer): Use it to handle 3-byte integers.
+ (avr_emit_movmemhi, avr_out_movmem): New functions.
+
+ * config/avr/predicates.md (nox_general_operand): Handle new
+ address spaces.
+ * config/avr/avr.md (unspec): Add UNSPEC_MOVMEM.
+ (adjust_len): Add xload, movmem.
+ (SP_ADDR): New define_constants.
+ (isa): Add "lpm", "lpmx", "elpm", "elpmx".
+ (enabled): Handle them.
+ (load<mode>_libgcc): New expander.
+ (*load.<mode>.libgcc): Rename to load_<mode>_libgcc.
+ (xload8_A, xload<mode>_A): New insn-and-splits.
+ (xload_8, xload_<mode>_libgcc, xload_<mode>, loadmem_elpm): New insns.
+ (mov<mode>): Handle new address spaces.
+ (movmemhi): Rewrite using avr_emit_movmemhi.
+ (MOVMEM_r_d): New mode attribute.
+ (movmem_<mode>, movmem_qi_elpm): New insns.
+ (setmemhi, *clrmemqi, *clrmemhi, strlenhi, *strlenhi): Unquote
+ C-code. Use label instead of hard-coded instrunction lengths.
+
+2011-11-18 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50605
+ * gimple.c (is_gimple_ip_invariant_address): Also handle MEM_REFs
+ of IPA invariant decls.
+
+2011-11-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * tree-outof-ssa.c (insert_back_edge_copies): Add call to
+ mark_dfs_back_edges.
+
+2011-11-18 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/49992
+ * configure.ac: Remove ranlib special-casing for Darwin.
+ * configure: Regenerate.
+
+2011-11-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR tree-optimization/51118
+ * fold-const.c (fold_checksum_tree): Check for TS_TYPED structure
+ before using TREE_TYPE accessor on expr.
+
+2011-11-17 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/51134
+ * i386.c (atom_cost): Fix 32bit memset description.
+ (expand_set_or_movmem_via_loop_with_iter): Output proper bounds check
+ for epilogue loops.
+ (expand_movmem_epilogue): Handle epilogues up to size 15 w/o producing
+ byte loop.
+ (decide_alg): sse_loop is not useable wthen SSE2 is disabled;
+ when not optimizing always use rep movsb or lincall; do not produce
+ word sized loops when optimizing memset for size (to avoid need
+ for large constants).
+ (ix86_expand_movmem): Get into sync with ix86_expand_setmem;
+ choose unroll factors better; always do 128bit moves when producing
+ SSE loops; do not produce loopy epilogue when size is too small.
+ (promote_duplicated_reg_to_size): Do not look into desired alignments
+ when doing vector expansion.
+ (ix86_expand_setmem): Track better when promoted value is available;
+ choose unroll factors more sanely. Output loopy epilogue only
+ when needed.
+
+2011-11-17 Steve Ellcey <sje@cup.hp.com>
+
+ PR middle-end/51144
+ * output.h (fprint_w): Remove.
+ * final.c (fprint_w): Remove.
+ (output_addr_const): Change fprint_w back to fprintf.
+
+2011-11-17 Andrew Pinski <apinski@cavium.com>
+
+ * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for MIPS.
+
+2011-11-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * builtins.c (expand_builtin): Remove 4th parameter representing
+ weak/strong mode when __atomic_compare_exchange becomes a library call.
+
+2011-11-17 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
+ new pseudo for target after convert_modes.
+ (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.
+
+2011-11-17 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Get
+ new pseudo for target after convert_modes.
+ (rs6000_expand_atomic_exchange, rs6000_expand_atomic_op): Likewise.
+
+2011-11-17 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (expand_builtin_mem_thread_fence): Remove.
+ (expand_builtin_mem_signal_fence): Remove.
+ (expand_builtin_atomic_thread_fence): Use expand_mem_thread_fence.
+ (expand_builtin_sync_synchronize): Likewise.
+ (expand_builtin_atomic_signal_fence): Use expand_mem_signal_fence.
+ * optabs.c (expand_asm_memory_barrier): Split out from
+ expand_builtin_mem_signal_fence.
+ (expand_mem_thread_fence): New, a combination of code from
+ expand_builtin_mem_thread_fence and expand_builtin_sync_synchronize.
+ (expand_mem_signal_fence): Moved and renamed from
+ expand_builtin_mem_signal_fence.
+ (expand_atomic_exchange): Use expand_mem_thread_fence.
+ (expand_atomic_load, expand_atomic_store): Likewise.
+ * expr.h, optabs.h: Update decls.
+
+2011-11-17 Bin Cheng <bin.cheng@arm.com>
+
+ PR rtl-optimization/50663
+ * cprop.c (implicit_set_indexes): New global variable.
+ (insert_set_in_table): Add additional parameter and record implicit
+ set information.
+ (hash_scan_set): Add additional parameter and pass it to above.
+ (hash_scan_insn): Pass false to hash_scan_set.
+ (compute_hash_table_work): Pass true to hash_scan_set.
+ (compute_cprop_data): Add implicit set to AVIN of block which the
+ implicit set is recorded for.
+ (one_cprop_pass): Handle implicit_set_indexes array.
+
+2011-11-17 Michael Matz <matz@suse.de>
+
+ PR middle-end/50644
+ PR middle-end/50741
+ * tree-ssa-live.c (mark_all_vars_used_1): Recurse only for decls of
+ current function.
+ (remove_unused_locals): Ditto.
+
+2011-11-16 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_split_compare_and_swap_12): Copy
+ ALIAS_SET_MEMORY_BARRIER when creating a new memory.
+ (alpha_split_atomic_exchange_12): Likewise.
+ * config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Likewise.
+
+2011-11-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386elf.h (PREFERRED_DEBUGGING_TYPE): Remove.
+
+2011-11-16 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags):
+ Default to minimum alignment if decl is NULL.
+
+2011-11-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (round<mode>2_vec_pack_sfix): Optimize V2DFmode
+ sequence for AVX.
+ (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
+
+2011-11-16 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
+
+ * doc/invoke.texi: Document AMD bdver1 and btver1.
+
+2011-11-16 Richard Earnshaw <rearnsha@arm.com>
+ Bernd Schmidt <bernds@coudesourcery.com>
+ Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ PR target/49641
+ * config/arm/arm.c (store_multiple_sequence): Avoid cases where
+ the base reg is stored iff compiling for Thumb1.
+
+2011-11-16 Razya Ladelsky <razya@il.ibm.com>
+
+ PR tree-optimization/49960
+ * tree-data-ref.c (initialize_data_dependence_relation): Add
+ initializations.
+ Remove call to compute_self_dependence.
+ (compute_affine_dependence): Remove the !DDR_SELF_REFERENCE condition.
+ (compute_self_dependence): Remove old code. Add call to
+ compute_affine_dependence.
+ (compute_all_dependences): Remove call to compute_self_dependence.
+ Add call to compute_affine_dependence.
+
+2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR middle-end/50325
+ * expmed.c (store_bit_field_1): Use extract_bit_field on big
+ endian targets if the source cannot be exactly covered by word
+ mode chunks.
+
+2011-11-15 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to
+ ELF_STRING_LIMIT.
+
+2011-11-15 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_pre_atomic_barrier): New.
+ (alpha_post_atomic_barrier): New.
+ (alpha_split_atomic_op): New memmodel argument; honor it.
+ (alpha_split_compare_and_swap): Take array of operands. Honor
+ memmodel; always set bool output
+ (alpha_expand_compare_and_swap_12): Similarly.
+ (alpha_split_compare_and_swap_12): Similarly.
+ (alpha_split_atomic_exchange): Similarly. Rename from
+ alpha_split_lock_test_and_set.
+ (alpha_expand_atomic_exchange_12): Similarly. Rename from
+ alpha_expand_lock_test_and_set_12.
+ (alpha_split_atomic_exchange_12): Similarly. Rename from
+ alpha_split_lock_test_and_set_12.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.md (UNSPECV_CMPXCHG): New.
+ * config/alpha/constraints.md ("w"): New.
+ * config/alpha/predicates.md (mem_noofs_operand): New.
+ * config/alpha/sync.md (atomic_compare_and_swap<mode>): Rename from
+ sync_compare_and_swap<mode>; add the new parameters.
+ (atomic_exchange<mode>): Update from sync_test_and_set<mode>.
+ (atomic_fetch_<op><mode>): Update from sync_old_<op><mode>.
+ (atomic_<op>_fetch<mode>): Update from sync_new_<op><mode>.
+ (atomic_<op><mode>): Update from sync_<op><mode>.
+
+2011-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1.
+
+2011-11-16 Alan Modra <amodra@gmail.com>
+
+ PR rtl-optimization/51051
+ PR bootstrap/51086
+ * function.c (thread_prologue_and_epilogue_insns): Guard
+ emitting return with single_succ_p test.
+
+2011-11-15 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config/epiphany/epiphany.md (mov<mode>cc): Fix code to
+ get mode from CMP_OP1 if CMP_OP0 is VOIDmode.
+
+2011-11-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX.
+ (vec_pack_sfix_trunc_v2df): Ditto.
+ (vec_pack_sfix_v2df): Ditto.
+ (vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and
+ avx_vec_concatv8si patterns.
+ (vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and
+ avx_vec_concatv8si patterns.
+
+2011-11-15 Torvald Riegel <triegel@redhat.com>
+
+ * c-parser.c (c_parser_transaction_expression): Require parentheses
+ when parsing transaction expressions.
+
+2011-11-15 Tristan Gingold <gingold@adacore.com>
+
+ * incpath.c (get_added_cpp_dirs): New function.
+ * incpath.h (get_added_cpp_dirs): Declare.
+ * config/vms/vms-c.c (vms_c_register_includes): New function.
+ (vms_std_modules): New variable.
+ * config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define.
+ (vms_c_register_includes): Declare.
+
+2011-11-15 Tristan Gingold <gingold@adacore.com>
+
+ * c-family/c-pragma.h (pragma_extern_prefix): Declare.
+ * c-family/c-pragma.c (pragma_extern_prefix): Make it public.
+ * config/vms/vms-c.c (saved_extern_prefix): New variable.
+ (vms_pragma_extern_prefix): New function.
+ (vms_c_register_pragma): Register vms_pragma_extern_prefix.
+
+2011-11-15 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49868
+ * config/avr/avr.h (ADDR_SPACE_PGM): New address spaces.
+ (REGISTER_TARGET_PRAGMAS): New define.
+ * config/avr/avr-protos.h (avr_mem_pgm_p): New.
+ (avr_load_libgcc_p): New.
+ (avr_register_target_pragmas): New.
+ (asm_output_external_libcall): Remove.
+ (avr_log_t): Add field "progmem". Order alphabetically.
+ * config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem.
+ * config/avr/avr-c.c (langhooks.h): New include.
+ (avr_register_target_pragmas): New function. Register address
+ space __pgm.
+ (avr_cpu_cpp_builtins): Add built-in define __PGM.
+
+ * config/avr/avr.c: Include "c-family/c-common.h".
+ (TARGET_LEGITIMATE_ADDRESS_P): Remove define.
+ (TARGET_LEGITIMIZE_ADDRESS): Remove define.
+ (TARGET_ADDR_SPACE_SUBSET_P): Define to...
+ (avr_addr_space_subset_p): ...this new static function.
+ (TARGET_ADDR_SPACE_CONVERT): Define to...
+ (avr_addr_space_convert): ...this new static function.
+ (TARGET_ADDR_SPACE_ADDRESS_MODE): Define to...
+ (avr_addr_space_address_mode): ...this new static function.
+ (TARGET_ADDR_SPACE_POINTER_MODE): Define to...
+ (avr_addr_space_pointer_mode): ...this new static function.
+ (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to...
+ (avr_addr_space_legitimate_address_p): ...this new static function.
+ (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to...
+ (avr_addr_space_legitimize_address): ...this new static function.
+ (avr_mode_code_base_reg_class): Handle address spaces.
+ (avr_regno_mode_code_ok_for_base_p): Ditto.
+ (lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables.
+ (avr_option_override): Initialize them.
+ (output_reload_in_const): Use all_regs_rtx. Fix signedness of loop
+ variables.
+ (avr_pgm_segment): New static function.
+ (avr_decl_pgm_p, avr_mem_pgm_p): New static functions.
+ (avr_out_lpm, avr_out_lpm_no_lpmx): New static functions.
+ (output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call
+ avr_out_lpm to handle loads from progmem.
+ (avr_load_libgcc_p): New static function.
+ (avr_progmem_p): Test if decl is in flash.
+ (avr_pgm_pointer_const_p): New static function.
+ (avr_nonconst_pointer_addrspace): New static function.
+ (avr_pgm_check_var_decl): New static function.
+ (avr_insert_attributes): Use it. Change error message to report
+ cause (progmem or address space) when code wants to write to flash.
+ (avr_section_type_flags): Unset section flag SECTION_BSS for
+ data in progmem.
+
+ * config/avr/predicates.md (nop_general_operand): New predicate.
+ (nox_general_operand): New predicate.
+ * config/avr/avr.md (LPM_REGNO): New define_constant.
+ (load<mode>_libgcc): New expander.
+ (*load.<mode>.libgcc): New insn.
+ (mov<mode>): Handle loads from non-generic AS.
+ (movmemhi): Ditto. Propagate address space information to newly
+ created MEM.
+ (movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1
+ to nox_general_operand.
+ (ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to
+ nop_general_operand.
+ (ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto.
+ (lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto.
+ (split-lpmx): New split.
+ (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const,
+ *lshrhi3_const, *lshrsi3_const): Indent, unquote C.
+
+2011-11-15 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * ipa-cp.c (ipa_value_from_jfunc): Make global.
+ (ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead.
+ (get_indirect_edge_target): Rename, make global.
+ (devirtualization_time_bonus, estimate_local_effects,)
+ (ipcp_discover_new_direct_edges): Update.
+ * ipa-inline-analysis.c (evaluate_conditions_for_edge):
+ Generalize to also handle types. Rename to ...
+ (evaluate_properties_for_edge): Use instead of
+ evaluate_conditions_for_edge.
+ (estimate_edge_devirt_benefit): New function.
+ (estimate_calls_size_and_time): Use it.
+ (estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,)
+ (inline_merge_summary): Update.
+ (do_estimate_edge_time, do_estimate_edge_growth): Update. Calculate
+ parameter information at the call site and pass it on to subroutines.
+ * tree-inline.c (estimate_num_insns): Distinguish between direct and
+ indirect calls.
+ (init_inline_once): Set size and time costs or indirect calls.
+ * tree-inline.h (eni_weights): Add indirect_call_cost.
+
+2011-11-15 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51005
+ * tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to
+ mark_basic_block_deleted.
+ (update_worklist): Inline purge_bbs.
+ (purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry)
+ (delete_block_update_dominator_info): Remove.
+ (replace_block_by): Remove update_vops parameter. Partially evaluate
+ for update_vops == false.
+ (apply_clusters): Remove update_vops parameter. Remove update_vops
+ argument in replace_block_by call.
+ (update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test.
+ (tail_merge_optimize): Remove update_vops argument to apply_clusters.
+ Remove call to purge_bbs. Add calls to calculate_dominance_info and
+ free_dominance_info. Add MAY_HAVE_DEBUG_STMTS before calling
+ update_debug_stmts. Mark vop var for renaming, if necessary.
+
+2011-11-15 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/51051
+ * cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the
+ move would cause fallthrough into the exit block.
+
+2011-11-14 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (emit_load_locked): Assert the mode is
+ handled.
+ (emit_store_conditional): Likewise.
+ (rs6000_pre_atomic_barrier, rs6000_post_atomic_barrier): New.
+ (rs6000_adjust_atomic_subword): New.
+ (rs6000_mask_atomic_subword, rs6000_finish_atomic_subword): New.
+ (rs6000_expand_atomic_op): Rename from rs6000_emit_sync; rewrite
+ for pre-reload expansion.
+ (rs6000_split_compare_and_swap, rs6000_split_compare_and_swapqhi,
+ rs6000_expand_compare_and_swapqhi): Merge into ...
+ (rs6000_expand_atomic_compare_and_swap): ... here. New function.
+ rs6000_split_lock_test_and_set; expand immediately. Handle
+ QImode and HImode.
+ * config/rs6000/rs6000.md (UNSPEC_LWSYNC): Move and rename
+ from UNSPECV_LWSYNC.
+ * config/rs6000/sync.md (fetchopsi_constr, fetchopdi_constr): Remove.
+ (mem_thread_fence): New.
+ (hwsync): Rename from memory_barrier.
+ (*hwsync): Rename from *sync_internal.
+ (lwsync, *lwsync): Mirror hwsync implementation.
+ (isync): Don't reference memory.
+ (loadsync): New.
+ (atomic_load<INT>, atomic_store<INT>): New.
+ (ATOMIC): New mode iterator.
+ (load_locked<ATOMIC>): Rename from load_locked_<GPR>.
+ (store_conditional<ATOMIC>): Rename from store_conditional_<GPR>.
+ (sync_compare_and_swap<GPR>): Remove.
+ (sync_compare_and_swaphi, sync_compare_and_swapqi): Remove.
+ (sync_compare_and_swapqhi_internal): Remove.
+ (sync_lock_test_and_set<GPR>): Remove.
+ (sync_<FETCHOP><INT1>): Remove.
+ (*sync_<FETCHOP>si_internal, *sync_<FETCHOP>di_internal): Remove.
+ (sync_nand<INT1>, *sync_nand<GPR>_internal): Remove.
+ (sync_old_<FETCHOP><GPR>): Remove.
+ (*sync_old_<FETCHOP>si_internal): Remove.
+ (*sync_old_<FETCHOP>di_internal): Remove.
+ (sync_old_nand<INT1>): Remove.
+ (*sync_old_nand<GPR>_internal): Remove.
+ (sync_new_<FETCHOP><GPR>): Remove.
+ (*sync_new_<FETCHOP>si_internal): Remove.
+ (*sync_new_<FETCHOP>di_internal): Remove.
+ (sync_new_nand<INT1>): Remove.
+ (*sync_new_nand<GPR>_internal): Remove.
+ (*atomic_andsi, *atomic_anddi): Remove.
+ (*sync_addshort_internal, *sync_subshort_internal): Remove.
+ (*sync_andsi_internal, *sync_boolsi_internal): Remove.
+ (*sync_boolcshort_internal): Remove.
+ (sync_lock_release<INT1>): Remove.
+ (atomic_compare_and_swap<INT1>): New.
+ (atomic_exchange<INT1>): New.
+ (atomic_<FETCHOP><INT1>, atomic_nand<INT1>): New.
+ (atomic_fetch_<FETCHOP><INT1>, atomic_fetch_nand<INT1>): New.
+ (atomic_<FETCHOP>_fetch<INT1>, atomic_nand_fetch<INT1>): New.
+
+2011-11-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (round<mode>2): Use register_operand for
+ operand 1 predicate.
+ (round<mode>2_sfix): Ditto.
+ (round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2.
+
+2011-11-14 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (canonicalize_name): Protect use of S_ISLNK.
+
+2011-11-14 Jan Hubicka <jh@suse.cz>
+
+ PR target/51126
+ * config/i386/i386.c (core cost model): Correct pasto.
+
+2011-11-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (round<mode>2_sfix): New expander.
+ (round<mode>2_vec_pack_sfix): Ditto.
+ (<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
+ (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
+ * config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
+ V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
+ V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
+ * config/i386/i386.c (ix86_builtins): Add
+ IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
+ IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
+ (bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
+ __builtin_ia32_roundpd_az_vec_pack_sfix{,256},
+ __builtin_ia32_{floorps,ceilps}_sfix{,256}and
+ __builtin_ia32_roundps_az_sfix{,256} descriptions.
+ (ix86_expand_sse_round_vec_pack_sfix): New.
+ (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
+ V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
+ V8SI_FTYPE_V4DF_V4DF_ROUND types. Check last argument of
+ CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
+ CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
+ (ix86_builtin_vectorized_function): Handle
+ BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
+ BUILT_IN_{I,L,LL}ROUND{,F}
+
+2011-11-14 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/50598
+ * cgraph.h (varpool_externally_visible_p): Declare.
+ (varpool_add_new_variable): Declare.
+ * tree-emultls.c (get_emutls_init_templ_addr,
+ new_emutls_decl): Use varpool_add_new_variable.
+ * ipa.c (varpool_externally_visible_p): Export.
+ * varpool.c (varpool_add_new_variable): New function.
+
+2011-11-14 Michael Zolotukhin <michael.v.zolotukhin@gmail.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * config/i386/i386.h (processor_costs): Add second dimension to
+ stringop_algs array.
+ * config/i386/i386.c (cost models): Initialize second dimension of
+ stringop_algs arrays.
+ (core_cost): New costs based on generic64 costs with updated stringop
+ values.
+ (promote_duplicated_reg): Add support for vector modes, add
+ declaration.
+ (promote_duplicated_reg_to_size): Likewise.
+ (processor_target): Set core costs for core variants.
+ (expand_set_or_movmem_via_loop_with_iter): New function.
+ (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
+ different loops, produced by this function.
+ (emit_strset): New function.
+ (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
+ use SSE-moves where possible.
+ (expand_setmem_epilogue): Likewise.
+ (expand_movmem_prologue): Likewise for prologue.
+ (expand_setmem_prologue): Likewise.
+ (expand_constant_movmem_prologue): Likewise.
+ (expand_constant_setmem_prologue): Likewise.
+ (decide_alg): Add new argument align_unknown. Fix algorithm of
+ strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
+ (decide_alignment): Update desired alignment according to chosen move
+ mode.
+ (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
+ (ix86_expand_setmem): Likewise.
+ (ix86_slow_unaligned_access): Implementation of new hook
+ slow_unaligned_access.
+ * config/i386/i386.md (strset): Enable half-SSE moves.
+ * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
+ (vec_dupv2di): Add expand for vec_dupv2di.
+
+2011-11-14 Dimitrios Apostolou <jimis@gmx.net>
+
+ PR bootstrap/51094
+ PR middle-end/51116
+ * config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
+ * varasm.c (default_elf_internal_label): Remove.
+
+2011-11-14 Kai Tietz <ktietz@redhat.com>
+
+ * gcov.c (generate_results): Add missing semicolon and correct indent.
+
+2011-11-14 Ira Rosen <ira.rosen@linaro.org>
+
+ PR bootstrap/51112
+ * tree-vect-stmts.c (vectorizable_condition): Initialize comp_vectype.
+
+2011-11-14 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * doc/invoke.texi (Wunused-result): Change @pxref{Variable Attributes}
+ to @pxref{Function Attributes}.
+
+2011-11-13 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/50694
+ * config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
+ New macros.
+ (DRIVER_SELF_SPECS): Use new macros to filter out unsupported options
+ taking the default configuration into account.
+
+2011-11-13 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/install.texi (Specific): Fix anchor for
+ x86_64-*-solaris2.1[0-9]*.
+
+2011-11-13 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (source_prefix, source_length): New globals.
+ (flag_relative_only): Likewise.
+ (print_usage, options, process_args): Update.
+ (generate_results): Use coverage.name, check
+ flag_relative_only. Adjust messages.
+ (find_source): Check source_prefix.
+ (output_lines): Use coverage.name, adjust messages.
+ * doc/gcov.texi (Invoking Gcov): Document new options.
+
+2011-11-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/51060
+ * gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
+ (gimplify_modify_expr): Don't try to simplify it.
+
+2011-11-12 Dimitrios Apostolou <jimis@gmx.net>
+
+ PR bootstrap/51094
+ * config/elfos.h (STRING_ASM_OP): Define.
+ * varasm.c (default_elf_asm_output_limited_string): Use it.
+
+ PR bootstrap/51094
+ * gcc/configure.ac: Check for stpcpy declaration.
+ * system.h: Declare it if not.
+ * config.in, configure: Regenerate.
+
+2011-11-12 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
+ nonimmediate_operand for the destination.
+ (fixuns_trunc<SFDF>si2_stfiwx): Likewise.
+
+ * builtins.c (expand_builtin_compare_and_swap): If target is const0,
+ don't pass the target to expand_atomic_compare_and_swap.
+ (expand_builtin_atomic_compare_exchange): Likewise.
+
+ * config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
+ * config/sh/sh.c (sh_init_sync_libfuncs): New.
+
+ * config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
+ * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
+ * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.
+
+2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/45233
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
+ Only expand a symbol ref. into an access when the entity is defined
+ in the TU.
+
+2011-11-12 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/50822
+ * cgraphunit.c (output_weakrefs): Output really only weakrefs.
+
+2011-11-12 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (struct name_map): New.
+ (names, n_names, a_names): New global vars.
+ (print_usage): Adjust usage.
+ (generate_results): Canonicalize main file name.
+ (release_structures): Adjust.
+ (name_search, name_sort): New callbacks.
+ (find_source): Look for and create a canonical name.
+ (canonicalize_name): New.
+ (make_gcov_file_name): Reimplement and fix mangling.
+ (mangle_name): New.
+ * doc/gcov.texi: Update documentation about path preservation.
+
+2011-11-11 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
+ * config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
+
+2011-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386-protos.h (ix86_maybe_emit_epilogue_vzeroupper):
+ New prototype.
+ * config/i386/i386.c (ix86_maybe_emit_epilogue_vzeroupper): New
+ function.
+ (ix86_expand_epilogue): Use it.
+ * config/i386/i386.md (return, simple_return): Call it in the
+ expanders.
+
+ PR tree-optimization/51091
+ * tree-stdarg.c (execute_optimize_stdarg): Ignore TREE_CLOBBER_P
+ rhs also in the va_list_simple_ptr case.
+
+ PR tree-optimization/51058
+ * tree-vect-slp.c (vect_remove_slp_scalar_calls): New function.
+ (vect_schedule_slp): Call it.
+ * tree-vect-stmts.c (vectorizable_call): If slp_node != NULL,
+ don't replace scalar calls with setting of their lhs to zero here.
+
+ PR tree-optimization/51074
+ * fold-const.c (vec_cst_ctor_to_array, fold_vec_perm): New functions.
+ (fold_binary_loc): Handle VEC_EXTRACT_EVEN_EXPR,
+ VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR and
+ VEC_INTERLEAVE_LOW_EXPR with VECTOR_CST or CONSTRUCTOR operands.
+ (fold_ternary_loc): Handle VEC_PERM_EXPR with VECTOR_CST or
+ CONSTRUCTOR operands.
+ * tree-ssa-propagate.c (valid_gimple_rhs_p): Handle ternary
+ expressions.
+ * tree-vect-generic.c (lower_vec_perm): Mask sel_int elements
+ to 0 .. 2 * elements - 1.
+
+2011-11-11 Richard Henderson <rth@redhat.com>
+
+ * gimple-pretty-print.c (dump_gimple_omp_atomic_load): Dump needed.
+ (dump_gimple_omp_atomic_store): Likewise.
+ * optabs.c (can_atomic_exchange_p): New.
+ * optabs.h (can_atomic_exchange_p): Declare.
+ * omp-low.c (expand_omp_atomic_load): Implement.
+ (expand_omp_atomic_store): Likewise.
+ (expand_omp_atomic): Update for new arguments to load/store.
+
+2011-11-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cprop.c: Adjust outdated comments throughout.
+ (hash_scan_set): Rename PAT parameter into SET.
+ (cprop_pavloc): Rename into...
+ (cprop_avloc): ...this.
+ (cprop_absaltered): Rename into...
+ (cprop_kill): ...this.
+ (alloc_cprop_mem): Adjust for above renaming.
+ (free_cprop_mem): Likewise.
+ (compute_cprop_data): Likewise.
+ (compute_local_properties): Rename TRANSP parameter into KILL and
+ adjust throughout. Rework comments.
+ (try_replace_reg): Fix long line.
+ (cprop_jump): Likewise.
+ (constprop_register): Fix prototype and take INSN last.
+ (cprop_insn): Adjust calls to above function. Fix long lines.
+ (bypass_block): Likewise.
+ (one_cprop_pass): Likewise.
+
+2011-11-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/elf.h (ELF_ASCII_ESCAPES): Rename from ESCAPES.
+ (ELF_STRING_LIMIT): Rename from STRING_LIMIT.
+
+2011-11-11 Jason Merrill <jason@redhat.com>
+
+ * varasm.c (default_elf_asm_output_limited_string): #ifdef
+ ELF_ASCII_ESCAPES.
+ (default_elf_asm_output_ascii): Likewise.
+
+2011-11-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50762
+ * config/i386/constraints.md (j): New address constraint.
+ * config/i386/predicates.md (lea_address_operand): Redefine as
+ special predicate.
+ * config/i386/i386.md (*lea_3_zext): Use "j" constraint for operand 1.
+ (*lea_4_zext): Ditto.
+
+2011-11-11 David S. Miller <davem@davemloft.net>
+
+ Revert
+ 2011-11-05 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
+ (zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
+ (*zero_extend_v8qi_<P:mode>_insn,
+ *zero_extend_v4hi_<P:mode>_insn): New insns.
+ * config/sparc/sparc.c (vector_init_move_words,
+ vector_init_prepare_elts, sparc_expand_vector_init_vis2,
+ sparc_expand_vector_init_vis1): New functions.
+ (vector_init_bshuffle): Rewrite to handle more cases and make use
+ of locs[] array prepared by vector_init_prepare_elts.
+ (vector_init_fpmerge, vector_init_faligndata): Delete.
+ (sparc_expand_vector_init): Rewrite using new infrastructure.
+
+2011-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ * opts-common.c (generate_canonical_option): Free opt_text
+ it it has been allocated here and not stored anywhere.
+
+ * tree-vect-slp.c (vect_free_slp_tree): Also free SLP_TREE_CHILDREN
+ vector.
+ (vect_create_new_slp_node): Don't allocate node before checking stmt
+ type.
+ (vect_free_oprnd_info): Remove FREE_DEF_STMTS argument, always
+ free def_stmts vectors and additionally free oprnd_info.
+ (vect_build_slp_tree): Adjust callers. Call it even if
+ stop_recursion. If vect_create_new_slp_node or
+ vect_build_slp_tree fails, properly handle freeing memory.
+ If it succeeded, clear def_stmts in oprnd_info.
+
+2011-11-11 Dimitrios Apostolou <jimis@gmx.net>
+
+ * defaults.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Expand on
+ multiple lines for readability.
+ * output.h (fprint_whex, fprint_w, fprint_ul, sprint_ul): Declare.
+ (ASM_OUTPUT_LABELREF): Call fputs instead of asm_fprintf.
+ * dwarf2asm.c (dw2_assemble_integer, dw2_asm_output_data,
+ dw2_asm_data_uleb128, dw2_asm_delta_uleb128,
+ dw2_asm_delta_sleb128): Convert fprintf calls to the new functions.
+ * dwarf2out.c (dwarf2out_source_line): Call fprint_ul instead of
+ fprintf.
+ * final.c (fprint_whex, fprint_w, fprint_ul, sprint_ul): New functions
+ serving as fast replacements for fprintf integer to string conversions.
+ (sprint_ul_rev): Internal helper for the above.
+ (output_addr_const) <CONST_INT>: Don't use fprintf.
+ * varasm.c: Fix some whitespace inconsistencies.
+ (default_elf_asm_output_limited_string): New.
+ (default_elf_asm_output_ascii): Likewise.
+ (default_elf_internal_label): Likewise.
+ * config/elfos.h (ASM_GENERATE_INTERNAL_LABEL): Use sprint_ul and
+ stpcpy instead of sprintf.
+ (TARGET_ASM_INTERNAL_LABEL): Define as default_elf_internal_label.
+ (ELF_ASCII_ESCAPES, ELF_STRING_LIMIT): Rename from old ESCAPES and
+ STRING_LIMIT macros.
+ (ASM_OUTPUT_LIMITED_STRING, ASM_OUTPUT_ASCII): Call functions that
+ provide the same functionality.
+ * config/i386/i386.c (print_reg): Call fprint_ul instead of fprintf.
+
+2011-11-10 Andrew MacLeod <amacleod@redhat.com>
+
+ * doc/extend.texi: Document __atomic_test_and_set and __atomic_clear.
+
+2011-11-10 Andrew MacLeod <amacleod@redhat.com>
+
+ PR middle-end/51038
+ * builtins.c (expand_builtin_atomic_clear): New. Expand atomic_clear.
+ (expand_builtin_atomic_test_and_set): New. Expand atomic test_and_set.
+ (expand_builtin): Add cases for test_and_set and clear.
+ * sync-builtins.def (BUILT_IN_ATOMIC_TEST_AND_SET): New.
+ (BUILT_IN_ATOMIC_CLEAR): New.
+
+2011-11-10 Roberto Agostino Vitillo <ravitillo@lbl.gov>
+
+ PR debug/50983
+ * dwarf2out.c (set_cur_line_info_table): Restore the last is_stmt
+ value in the current line table.
+
+2011-11-10 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (struct function_info): Make src an index, not a pointer.
+ (struct source_info): Remove index and next source fields.
+ (fn_end): New static var.
+ (sources_index): Remove.
+ (sources): Now a pointer to an array, not a list.
+ (n_sources, a_sources): New.
+ (process_file): Adjust for changes to read_graph_file. Insert
+ functions into source lists and check line numbers here.
+ (generate_results): Only allocate lines for sources with
+ contents. Adjust for source array.
+ (release_structures): Likewise.
+ (find_source): Return source index, adjust for source array.
+ (read_graph_file): Return function list. Don't insert into source
+ lists here.
+ (read_count_file): Take list of functions.
+ (solve_flow_graph): Reverse the arc lists here.
+ (add_line_counts): Adjust for source array.
+
+2011-11-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51077
+ * tree-object-size.c (addr_object_size): Check TREE_CODE of
+ MEM_REF's operand rather than code of the MEM_REF itself.
+
+2011-11-10 Andrew MacLeod <amacleod@redhat.com>
+
+ PR rtl-optimization/51040
+ * optabs.c (expand_atomic_fetch_op): Patchup code for NAND should
+ be AND followed by NOT.
+ * builtins.c (expand_builtin_atomic_fetch_op): Patchup code for NAND
+ should be AND followed by NOT.
+
+2011-11-10 Jakub Jelinek <jakub@redhat.com>
+
+ * vec.h (VEC_BASE): If base is at offset 0 in the structure,
+ use &(P)->base even if P is NULL.
+
+ PR rtl-optimization/51023
+ * combine.c (simplify_comparison) <case SIGN_EXTEND>: Don't use
+ val_signbit_known_clear_p for signed comparison narrowing
+ optimization. Don't check for non-VOIDmode, use
+ HWI_COMPUTABLE_MODE_P macro.
+ <case ZERO_EXTEND>: Don't check for non-VOIDmode.
+ Optimize even when const_op is equal to GET_MODE_MASK (mode),
+ don't optimize if const_op is negative.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51042
+ * tree-ssa-pre.c (phi_translate_1): Avoid recursing on
+ self-referential expressions. Refactor code to avoid duplication.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51070
+ * tree-loop-distribution.c (generate_builtin): Do not replace
+ the loop with a builtin if the partition contains statements which
+ results are used outside of the loop.
+ (pass_loop_distribution): Verify and collect.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51030
+ * tree-ssa-phiopt.c (jump_function_from_stmt): New function.
+ (value_replacement): Use it to handle trivial non-empty
+ intermediate blocks.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51071
+ * gimple.c (gimple_has_side_effects): Remove checking code
+ that doesn't belong here.
+
+2011-11-10 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51058
+ * tree-vect-slp.c (vect_get_constant_vectors): Handle CALL_EXPR.
+
+2011-11-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51000
+ * tree-vect-patterns.c (vect_recog_bool_pattern): If adding
+ a pattern stmt for a bool store, adjust DR_STMT too.
+ Don't handle bool conversions to single bit precision lhs.
+ * tree-vect-stmts.c (vect_remove_stores): If next is a pattern
+ stmt, remove its related stmt and free its stmt_vinfo.
+ (free_stmt_vec_info): Free also pattern stmt's vinfo and
+ pattern def stmt's vinfo.
+ * tree-vect-loop.c (destroy_loop_vec_info): Don't try to
+ free pattern stmt's vinfo here.
+ (vect_transform_loop): When calling vect_remove_stores,
+ do gsi_next first and don't call gsi_remove. If not strided
+ store, free stmt vinfo for gsi_stmt (si) rather than stmt.
+
+2011-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50911
+ * config/i386/i386.c (expand_vec_perm_interleave2): If d->vmode is
+ V4SImode, !TARGET_SSE2 and punpck[lh]* is needed, change dremap.vmode
+ to V4SFmode.
+
+ * function.h (requires_stack_frame_p): New prototype.
+ * function.c (requires_stack_frame_p): No longer static.
+ * config/i386/i386.c (ix86_finalize_stack_realign_flags): If
+ stack_realign_fp was just a conservative guess for a function
+ which doesn't use sp/fp/argp at all, clear frame_pointer_needed
+ and stack realignment.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR preprocessor/51061
+ * incpath.c (merge_include_chains): Make sure to not pass null
+ pointers to free_path.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/invoke.texi ([Option Summary, C++ Language Options]):
+ Add -Wzero-as-null-pointer-constant.
+
+2011-11-07 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/arm-cores.def: Add -mcpu=cortex-a7.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Likewise.
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add Cortex A-7.
+ * doc/invoke.texi: Document -mcpu=cortex-a7.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ Revert
+ 2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_call): Verify that
+ gimple_call_cannot_inline_p is returning a conservative
+ correct result according to gimple_check_call_matching_types.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51039
+ * tree-cfg.c (verify_gimple_call): Verify that
+ gimple_call_cannot_inline_p is returning a conservative
+ correct result according to gimple_check_call_matching_types.
+ * ipa-inline-analysis.c (estimate_function_body_sizes): Remove
+ code dealing with un-inlinablility.
+ * gimple-streamer-in.c (input_gimple_stmt): Update the
+ non-inlinable flag.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51039
+ * tree-inline.c (setup_one_parameter): Always perform a
+ valid gimple type change.
+ (declare_return_variable): Likewise.
+
+2011-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/vector.md (vcondv4sfv4si, vcondv4siv4sf,
+ vconduv4sfv4si): New patterns.
+ * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Handle
+ different dest_mode from comparison mode.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (canonicalize_constructor_val): Mark
+ address-taken variables addressable.
+
+2011-11-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51015
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Expect
+ vectype to be set for pattern def stmts.
+
+2011-11-09 Alan Modra <amodra@gmail.com>
+
+ * function.c (bb_active_p): Delete.
+ (dup_block_and_redirect, active_insn_between): New functions.
+ (convert_jumps_to_returns, emit_return_for_exit): New functions,
+ split out from..
+ (thread_prologue_and_epilogue_insns): ..here. Delete
+ shadowing variables. Don't do prologue register clobber tests
+ when shrink wrapping already failed. Delete all last_bb_active
+ code. Instead compute tail block candidates for duplicating
+ exit path. Remove these from antic set. Duplicate tails when
+ reached from both blocks needing a prologue/epilogue and
+ blocks not needing such.
+ * ifcvt.c (dead_or_predicable): Test both flag_shrink_wrap and
+ HAVE_simple_return.
+ * bb-reorder.c (get_uncond_jump_length): Make global.
+ * bb-reorder.h (get_uncond_jump_length): Declare.
+ * cfgrtl.c (rtl_create_basic_block): Comment typo fix.
+ (rtl_split_edge): Likewise. Warning fix.
+ (rtl_duplicate_bb): New function.
+ (rtl_cfg_hooks): Enable can_duplicate_block_p and duplicate_block.
+ * Makefile.in (function.o): Update dependencies.
+
+2011-11-08 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+ Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space
+ argument.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+ * doc/tm.texi: Regenerate.
+
+ * config/cris/cris.h (MODE_CODE_BASE_REG_CLASS): Add address
+ space argument.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+ * config/bfin/bfin.h (MODE_CODE_BASE_REG_CLASS): Likewise.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Likewise.
+ * config/avr/avr.h (MODE_CODE_BASE_REG_CLASS): Add address space
+ argument.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): Ditto.
+ * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
+ (avr_regno_mode_code_ok_for_base_p): Ditto.
+ * config/avr/avr.c (avr_mode_code_base_reg_class): Ditto.
+ (avr_regno_mode_code_ok_for_base_p): Ditto.
+ (avr_reg_ok_for_addr_p): Pass AS down to
+ avr_regno_mode_code_ok_for_base_p.
+
+ * addresses.h (base_reg_class): Add address space argument.
+ Pass to MODE_CODE_BASE_REG_CLASS.
+ (ok_for_base_p_1): Add address space argument. Pass to
+ REGNO_MODE_CODE_OK_FOR_BASE_P.
+ (regno_ok_for_base_p): Add address space argument. Pass to
+ ok_for_base_p_1.
+
+ * regrename.c (scan_rtx_address): Add address space argument.
+ Pass address space to regno_ok_for_base_p and base_reg_class.
+ Update recursive calls.
+ (scan_rtx): Pass address space to scan_rtx_address.
+ (build_def_use): Likewise.
+ * regcprop.c (replace_oldest_value_addr): Add address space
+ argument. Pass to regno_ok_for_base_p and base_reg_class.
+ Update recursive calls.
+ (replace_oldest_value_mem): Pass address space to
+ replace_oldest_value_addr.
+ (copyprop_hardreg_forward_1): Likewise.
+
+ * reload.c (find_reloads_address_1): Add address space argument.
+ Pass address space to base_reg_class and regno_ok_for_base_p.
+ Update recursive calls.
+ (find_reloads_address): Pass address space to base_reg_class,
+ regno_ok_for_base_p, and find_reloads_address_1.
+ (find_reloads): Pass address space to base_reg_class.
+ (find_reloads_subreg_address): Likewise.
+
+ * ira-costs.c (record_reg_classes): Update calls to base_reg_class.
+ (ok_for_base_p_nonstrict): Add address space argument. Pass to
+ ok_for_base_p_1.
+ (record_address_regs): Add address space argument. Pass to
+ base_reg_class and ok_for_base_p_nonstrict. Update recursive calls.
+ (record_operand_costs): Pass address space to record_address_regs.
+ (scan_one_insn): Likewise.
+
+ * caller-save.c (init_caller_save): Update call to base_reg_class.
+ * ira-conflicts.c (ira_build_conflicts): Likewise.
+ * reload1.c (maybe_fix_stack_asms): Likewise.
+
+2011-11-08 Michael Matz <matz@suse.de>
+
+ * gengtype.c (write_field_root): Avoid out-of-scope access of newv.
+
+ * tree-stdarg.c (execute_optimize_stdarg): Accept clobbers.
+
+ * tree.h (TREE_CLOBBER_P): New macro.
+ * gimple.h (gimple_clobber_p): New inline function.
+ * gimplify.c (gimplify_bind_expr): Add clobbers for all variables
+ that go out of scope and live in memory.
+ * tree-ssa-operands.c (get_expr_operands): Transfer volatility also
+ for constructors.
+ * cfgexpand.c (decl_to_stack_part): New static variable.
+ (add_stack_var): Allocate it, and remember mapping.
+ (fini_vars_expansion): Deallocate it.
+ (stack_var_conflict_p): Add early outs.
+ (visit_op, visit_conflict, add_scope_conflicts_1,
+ add_scope_conflicts): New static functions.
+ (expand_used_vars_for_block): Don't call add_stack_var_conflict, tidy.
+ (expand_used_vars): Add scope conflicts.
+ (expand_gimple_stmt_1): Expand clobbers to nothing.
+ (expand_debug_expr): Ditto.
+
+ * tree-pretty-print.c (dump_generic_node): Dump clobbers nicely.
+ * tree-ssa-live.c (remove_unused_locals): Remove clobbers that
+ refer to otherwise unused locals.
+ * tree-sra.c (build_accesses_from_assign): Ignore clobbers.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Clobbers of
+ SSA names aren't necessary.
+ (propagate_necessity): Accept and ignore constructors on the rhs, tidy.
+ * gimple.c (walk_gimple_op): Accept constructors like mem_rhs.
+ * tree-ssa-structalias.c (find_func_aliases): Clobbers don't store
+ any known value.
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Ditto, in particular they
+ don't zero-initialize something.
+ * tree-ssa-phiopt.c (cond_if_else_store_replacement_1): Ignore
+ clobber RHS, we don't want PHI nodes with those.
+
+2011-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_preferred_simd_mode): Even for TARGET_AVX
+ if not TARGET_PREFER_AVX128 return 32-byte integer vectors.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51012
+ * ipa-prop.c (update_indirect_edges_after_inlining): Fixup
+ non-inlinable state.
+ * cgraph.c (cgraph_make_edge_direct): Likewise.
+
+2011-11-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/47698
+ * ifcvt.c (noce_operand_ok): Move around comment.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50999
+ * lto-opts.c (append_to_collect_gcc_options): Split out from...
+ (lto_write_options): ... here. Prepend frontend specific flags.
+
+2011-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (*avx_vperm2f128<mode>3_nozero): Emit mask
+ 0x12 and 0x20 as vinsert[fi]128 instead of vperm2[fi]128.
+
+ * tree-vect-stmts.c (vectorizable_call): Add SLP_NODE argument.
+ Handle vectorization of SLP calls.
+ (vect_analyze_stmt): Adjust caller, add call to it for SLP too.
+ (vect_transform_stmt): Adjust vectorizable_call caller, remove
+ assertion.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): For calls start
+ with op_idx 3.
+ (vect_build_slp_tree): Allow CALL_EXPR.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (canonicalize_constructor_val): Make sure
+ we have referenced vars setup before adding to them.
+
+2011-11-07 Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Andrew MacLeod <amacleod@redhat.com>
+ Torvald Riegel <triegel@redhat.com>
+
+ Merged from transactional-memory.
+
+ * gtm-builtins.def: New file.
+ * trans-mem.c: New file.
+ * trans-mem.h: New file.
+
+ * opts.c (finish_options): Error out when using -flto and -fgnu-tm.
+
+ * config/i386/i386.c: Define TARGET_VECTORIZE* transactional variants.
+ (ix86_handle_tm_regparm_attribute, struct bdesc_tm,
+ ix86_builtin_tm_load, ix86_builtin_tm_store,
+ ix86_init_tm_builtins): New.
+ (ix86_init_builtins): Initialize TM builtins.
+ (struct ix86_attribute_table): Add "*tm regparm".
+ * config/i386/i386-builtin-types.def (PV2SI): Define.
+ (PCV2SI): Define.
+ Define V2SI_FTYPE_PCV2SI.
+ Define V4SF_FTYPE_PCV4SF.
+ Define V8SF_FTYPE_PCV8SF.
+ Define VOID_PV2SI_V2SI.
+
+ * doc/invoke.texi (C Dialect Options): Document -fgnu-tm and
+ tm-max-aggregate-size.
+ * doc/tm.texi.in: Add TARGET_VECTORIZE_BUILTIN_TM_LOAD and
+ TARGET_VECTORIZE_BUILTIN_TM_STORE hooks.
+ * doc/tm.texi: Regenerate.
+
+ * attribs.c (apply_tm_attr): New.
+ (init_attributes): Allow '*' prefix for overrides.
+ (register_attribute): Likewise.
+ * builtin-attrs.def (ATTR_TM_TMPURE, ATTR_TM_REGPARM): New.
+ (ATTR_TM_NOTHROW_LIST, ATTR_TM_TMPURE_NOTHROW_LIST,
+ ATTR_TM_PURE_TMPURE_NOTHROW_LIST, ATTR_TM_NORETURN_NOTHROW_LIST,
+ ATTR_TM_CONST_NOTHROW_LIST, ATTR_TMPURE_MALLOC_NOTHROW_LIST,
+ ATTR_TMPURE_NOTHROW_LIST): New.
+ * builtin-types.def (BT_FN_I[1248]_VPTR, BT_FN_FLOAT_VPTR,
+ BT_FN_DOUBLE_VPTR, BT_FN_LDOUBLE_VPTR, BT_FN_VOID_VPTR_I[1248],
+ BT_FN_VOID_VPTR_FLOAT, BT_FN_VOID_VPTR_DOUBLE,
+ BT_FN_VOID_VPTR_LDOUBLE, BT_FN_VOID_VPTR_SIZE): New.
+ * builtins.def: Include gtm-builtins.def. Add comments regarding
+ transactional memory synchronization.
+ (DEF_TM_BUILTIN): New.
+ * c-parser.c (struct c_parser): Add in_transaction.
+ (c_parser_transaction, c_parser_transaction_expression,
+ c_parser_transaction_cancel, c_parser_transaction_attributes): New.
+ (c_parser_attribute_any_word): Split out from c_parser_attributes.
+ (c_parser_statement_after_labels): Handle RID_TRANSACTION*.
+ (c_parser_unary_expression): Same.
+ * c-tree.h (c_finish_transaction): Declare.
+ * c-typeck.c (c_finish_transaction): New.
+ (build_function_call_vec): Call tm_malloc_replacement.
+ * calls.c (is_tm_builtin): New.
+ (flags_from_decl_or_type): Add ECF_TM_BUILTIN and ECF_TM_PURE.
+ * cfgbuild.c (make_edges): Add edges for REG_TM notes.
+ * cfgexpand.c (expand_call_stmt): Call
+ mark_transaction_restart_calls.
+ (gimple_expand_cfg): Free the tm_restart map.
+ (mark_transaction_restart_calls): New.
+ * cfgrtl.c (purge_dead_edges): Look for REG_TM notes.
+ * cgraph.c (dump_cgraph_node): Handle tm_clone.
+ * cgraph.h (struct cgraph_node): Add tm_clone field.
+ (decl_is_tm_clone): New.
+ (struct cgraph_local_info): Add tm_may_enter_irr.
+ (cgraph_copy_node_for_versioning): Declare.
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Export;
+ copy analyzed from old version.
+ * combine.c (distribute_notes): Handle REG_TM notes.
+ * common.opt: Add -fgnu-tm.
+ * crtstuff.c (__TMC_LIST__, __TMC_END__): New.
+ (__do_global_dtors_aux): Deregister clone table.
+ (frame_dummy): Register clone table.
+ * emit-rtl.c (try_split): Handle REG_TM. Early return if no function
+ body.
+ * gimple-low.c (lower_stmt): Handle GIMPLE_EH_ELSE and
+ GIMPLE_TRANSACTION.
+ (gimple_stmt_may_fallthru): Handle GIMPLE_EH_ELSE.
+ * gimple-pretty-print.c: Include trans-mem.h.
+ (dump_gimple_fmt): Add %x.
+ (dump_gimple_call): Dump arguments for calls to _ITM_beginTransaction.
+ (dump_gimple_eh_else, dump_gimple_transaction): New.
+ (dump_gimple_stmt): Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
+ * gimple.c (gimple_build_eh_else, gimple_build_transaction): New.
+ (walk_gimple_seq): Honor removed_stmt. Document usage of removed_stmt
+ field.
+ (walk_gimple_op): Handle GIMPLE_TRANSACTION.
+ (walk_gimple_stmt): Initialize and honor removed_stmt.
+ Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
+ (gimple_copy): Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
+ * gimple.def (GIMPLE_TRANSACTION, GIMPLE_EH_ELSE): New.
+ * gimple.h (struct gimple_statement_eh_else,
+ gimple_statement_transaction, GTMA_*): New.
+ (gimple_statement_d): Add gimple_statement_eh_else and
+ gimple_transaction.
+ (gimple_build_eh_else, gimple_build_transaction,
+ gimple_fold_call, diagnose_tm_safe_errors): Declare.
+ (get_call_expr_in): Remove prototype.
+ (gimple_has_substatements): Add GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
+ (gimple_eh_else_n_body, gimple_eh_else_e_body,
+ gimple_eh_else_set_n_body, gimple_eh_else_set_e_body,
+ gimple_transaction_body, gimple_transaction_label,
+ gimple_transaction_label_ptr, gimple_transaction_subcode,
+ gimple_transaction_set_body, gimple_transaction_set_label,
+ gimple_transaction_set_subcode): New.
+ (struct walk_stmt_info): Use BOOL_BITFIELD; add removed_stmt.
+ * gimplify.c (create_tmp_var_name): Use clean_symbol_name.
+ (voidify_wrapper_expr): Handle TRANSACTION_EXPR.
+ (gimplify_transaction): New.
+ (gimplify_expr): Handle TRANSACTION_EXPR.
+ * gsstruct.def (GSS_EH_ELSE, GSS_TRANSACTION): New.
+ * ipa-inline.c (can_inline_edge_p): Do not inline TM safe calling
+ TM pure functions.
+ * Makefile.in: Add trans-mem.o and dependencies.
+ (BUILTINS_DEF): Add gtm-builtins.def.
+ (gimple-pretty-print.o): Depend on TRANS_MEM_H.
+ (GTFILES): Add trans-mem.c.
+ * omp-low.c (WALK_SUBSTMTS): Add GIMPLE_TRANSACTION.
+ * output.h (record_tm_clone_pair, finish_tm_clone_pairs,
+ get_tm_clone_pair): Declare.
+ * params.def (PARAM_TM_MAX_AGGREGATE_SIZE): New.
+ * passes.c (init_optimization_passes): Place transactional memory
+ passes.
+ * print-tree.c (print_node): Dump tm-clone.
+ * recog.c (peep2_attempt): Handle REG_TM.
+ * reg-notes.def (TM): New.
+ * rtlanal.c (alloc_reg_note): Handle REG_TM.
+ * target.def (builtin_tm_load, builtin_tm_store): New.
+ * targhooks.c (default_builtin_tm_load_store): New.
+ * targhooks.h (default_builtin_tm_load_store): Declare.
+ * timevar.def (TV_TRANS_MEM): New.
+ * toplev.c (compile_file): Call finish_tm_clone_pairs.
+ * tree-cfg.c (make_edges): Handle GIMPLE_TRANSACTION.
+ (cleanup_dead_labels): Handle GIMPLE_TRANSACTION. Avoid unnecessary
+ writes into the statements to update labels.
+ (is_ctrl_altering_stmt): Add TM ending statements. Handle
+ GIMPLE_TRANSACTION.
+ (verify_gimple_transaction): New.
+ (verify_gimple_stmt): Handle GIMPLE_TRANSACTION.
+ (verify_gimple_in_seq_2): Handle GIMPLE_EH_ELSE and GIMPLE_TRANSACTION.
+ (gimple_redirect_edge_and_branch): Handle TM_TRANSACTION.
+ (dump_function_to_file): Display [tm-clone] if applicable.
+ * tree-eh.c (struct_ptr_eq): Make inline and move to tree.h.
+ (struct_ptr_hash): Same.
+ (collect_finally_tree): Handle GIMPLE_EH_ELSE.
+ (replace_goto_queue_1): Likewise.
+ (get_eh_else): New.
+ (honor_protect_cleanup_actions): Handle GIMPLE_EH_ELSE.
+ (lower_try_finally_nofallthru): Likewise.
+ (lower_try_finally_onedest): Likewise.
+ (lower_try_finally_copy): Likewise.
+ (lower_try_finally_switch): Likewise.
+ (lower_try_finally): Likewise.
+ (decide_copy_try_finally): Likewise.
+ (lower_eh_constructs_2): Likewise.
+ (refactor_eh_r): Likewise.
+ * tree-flow.h (struct gimple_df): Add tm_restart field.
+ Define tm_restart_node.
+ * tree-inline.c (remap_gimple_stmt): Handle GIMPLE_TRANSACTION.
+ (estimate_num_insns): Likewise.
+ (init_inline_once): Init tm_cost.
+ * tree-inline.h (struct eni_weights_d): Add tm_cost.
+ * tree-pass.h (pass_diagnose_tm_blocks, pass_lower_tm, pass_tm_init,
+ pass_tm_mark, pass_tm_memopt, pass_tm_edges, pass_ipa_tm): Declare.
+ * tree-pretty-print.c (dump_generic_node): Handle TRANSACTION_EXPR.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
+ BUILT_IN_TM_MEMSET, BUILT_IN_TM_MEMCPY, BUILT_IN_TM_MEMMOVE.
+ Add support for TM vector loads. Add support for TM logging builtins.
+ (call_may_clobber_ref_p_1): Add support for vector stores.
+ * tree-ssa-structalias.c (find_func_aliases): Add support for TM
+ vector stores and loads. Handle BUILT_IN_TM_MEMSET,
+ BUILT_IN_TM_MEMCPY, BUILT_IN_TM_MEMMOVE.
+ * tree.c (strip_invariant_refs): Moved from gimple.c to here.
+ (local_define_builtin): Handle ECF_TM_PURE.
+ (build_common_builtin_nodes): Set __builtin_eh_pointer to ECF_TM_PURE.
+ * tree.def (TRANSACTION_EXPR): New.
+ * tree.h (strip_invariant_refs): Moved from gimple.h to here.
+ (TRANSACTION_EXPR_BODY, TRANSACTION_EXPR_CHECK,
+ TRANSACTION_EXPR_OUTER, TRANSACTION_EXPR_RELAXED,
+ BUILTIN_TM_LOAD_STORE_P, BUILTIN_TM_LOAD_P, BUILTIN_TM_STORE_P,
+ CASE_BUILT_IN_TM_LOAD, CASE_BUILT_IN_TM_STORE): New.
+ (ECF_TM_PURE, ECF_TM_BUILTIN): New.
+ (struct tree_function_decl): Add tm_clone_flag.
+ (struct_ptr_eq, struct_ptr_hash): New.
+ (apply_tm_attr): Declare.
+ (is_tm_safe_or_pure): New.
+ (build_tm_abort_call, is_tm_safe, is_tm_pure,
+ is_tm_may_cancel_outer, is_tm_ending_fndecl, record_tm_replacement,
+ tm_malloc_replacement): Declare.
+ * varasm.c (tm_clone_hash): New.
+ (record_tm_clone_pair, finish_tm_clone_pairs, get_tm_clone_pair,
+ dump_tm_clone_to_vec, dump_tm_clone_pairs, tm_alias_pair_cmp): New.
+ (struct tm_alias_pair): New. Declare VEC types for object.
+
+2011-11-07 Richard Henderson <rth@redhat.com>
+
+ * optabs.h (OTI_sync_compare_and_swap, OTI_sync_lock_test_and_set,
+ OTI_sync_old_add, OTI_sync_old_sub, OTI_sync_old_ior,
+ OTI_sync_old_and, OTI_sync_old_xor, OTI_sync_old_nand,
+ OTI_sync_new_add, OTI_sync_new_sub, OTI_sync_new_ior,
+ OTI_sync_new_and, OTI_sync_new_xor, OTI_sync_new_nand): Move and
+ rename from the direct_optab_index enum.
+ (sync_compare_and_swap_optab, sync_lock_test_and_set_optab,
+ sync_old_add_optab, sync_old_sub_optab, sync_old_ior_optab,
+ sync_old_and_optab, sync_old_xor_optab, sync_old_nand_optab,
+ sync_new_add_optab, sync_new_sub_optab, sync_new_ior_optab,
+ sync_new_and_optab, sync_new_xor_optab, sync_new_nand_optab): Read
+ from the optab_table, not the direct_optab_table.
+ (init_sync_libfuncs): Declare.
+ (can_compare_and_swap_p): Update parameters.
+ * optabs.c (init_sync_libfuncs_1, init_sync_libfuncs): New.
+ (can_compare_and_swap_p): Add allow_libcall parameter; if true,
+ test for the legacy compare-and-swap libcall.
+ (expand_atomic_exchange): Use the legacy test-and-set libcall.
+ (expand_atomic_compare_and_swap): Use the legacy CAS libcall.
+ (struct atomic_op_functions): Update for optab type changes.
+ (maybe_emit_op): Likewise.
+ (expand_atomic_fetch_op): Use the legacy fetch-op libcalls.
+ * builtins.c (fold_builtin_atomic_always_lock_free): Update call
+ to can_compare_and_swap_p.
+ * omp-low.c (expand_omp_atomic_fetch_op): Likewise.
+ (expand_omp_atomic_pipeline): Likewise.
+ * genopinit.c (optabs): Make sync_old_*_optab, sync_new_*_optab,
+ sync_compare_and_swap_optab, sync_lock_test_and_set_optab regular
+ optabs.
+ * doc/md.texi (sync_compare_and_swap): Update docs for libcalls.
+
+2011-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386-bultin-types.def (V8SI_FTYPE_V4DF_V4DF): Add.
+ * config/i386/i386.c (enum ix86_builtins): Add
+ IX86_BUILTIN_VEC_PACK_SFIX256.
+ (bdesc_args): Add __builtin_ia32_vec_pack_sfix256.
+ (ix86_expand_args_builtin): Handle V8SI_FTYPE_V4DF_V4DF.
+ (ix86_builtin_vectorized_function): Also vectorize lrint using
+ 256-bit vectors for -mavx.
+
+2011-11-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/cris/constraints.md: New file.
+ * config/cris/cris.h (REG_CLASS_FROM_LETTER, CONSTRAINT_LEN,
+ CRIS_CONST_OK_FOR_LETTER_P, CONST_OK_FOR_CONSTRAINT_P,
+ CONST_DOUBLE_OK_FOR_LETTER_P, EXTRA_MEMORY_CONSTRAINT,
+ EXTRA_CONSTRAINT, EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R,
+ EXTRA_CONSTRAINT_T, EXTRA_CONSTRAINT_S, EXTRA_CONSTRAINT_U): Remove.
+ * config/cris/cris.c: Incule "tm-constrs.h".
+ (cris_print_operand): Use satisfies_constraint_O.
+ (cris_normal_notice_update_cc, cris_rtx_costs): Use
+ satisfies_constraint_I.
+ (cris_address_cost): Use satisfies_constraint_L.
+ * config/cris/cris.md: Include "constraints.md".
+ (*mov_side<mode>, *mov_sidesisf, *mov_side<mode>_mem,
+ *mov_sidesisf_mem, *clear_side<mode>, *ext_sideqihi,
+ *ext_side<mode>si, *op_side<mode>, *op_swap_side<mode>,
+ *extopqihi_side, *extop<mode>si_side, *extopqihi_swap_side,
+ *extop<mode>si_swap_side): Use satisfies_constraint_N and
+ satisfies_constraint_J.
+ (moversideqi movemsideqi mover2side peephole2): Use
+ satisfies_constraint_N and satisfies_constraint_J.
+ (andu peephole2): Use satisfies_constraint_I and
+ satisfies_constraint_O.
+
+2011-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Handle
+ BUILT_IN_IRINT, BUILT_IN_IRINTF, BUILT_IN_LLRINT and BUILT_IN_LLRINTF.
+
+2011-11-07 Andrew MacLeod <amacleod@redhat.com>
+
+ * optabs.c (get_atomic_op_for_code): Fill in optab table at runtime so
+ SWITCHABLE_TARGET can change the values during compilation.
+ (expand_atomic_fetch_op): Handle parameter change ripples for
+ get_atomic_op_for_code call.
+
+2011-11-07 Andrew MacLeod <amacleod@redhat.com>
+
+ * doc/extend.texi: Docuemnt behaviour change for __atomic_exchange and
+ __atomic_store.
+ * optabs.c (expand_atomic_exchange): Expand to __sync_lock_test_and_set
+ only when originated from that builtin.
+ (expand_atomic_store): Expand to __sync_lock_release when originated
+ from that builtin.
+ * builtins.c (expand_builtin_sync_lock_test_and_set): Add flag that
+ expand_atomic_exchange call originated from here.
+ (expand_builtin_sync_lock_release): Add flag that expand_atomic_store
+ call originated from here.
+ (expand_builtin_atomic_exchange): Add origination flag.
+ (expand_builtin_atomic_store): Add origination flag.
+ * expr.h (expand_atomic_exchange, expand_atomic_store): Add boolean
+ parameters to indicate implementation fall back options.
+
+2011-11-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (output_reload_in_const): Can handle CONSTANT_P
+ now, not only CONST_INT and CONST_DOUBLE.
+ (output_movqi): Use output_reload_in_const.
+ (output_reload_inhi): Ditto.
+ (output_reload_insisf): Move assertion to output_reload_in_const.
+ (avr_out_reload_inpsi): Ditto.
+
+2011-11-07 Nathan Sidwell <nathan@acm.org>
+
+ * gcov.c (object_summary): Replace with ...
+ (object_runs): ... this.
+ (process_file): Remove functions with no data.
+ (generate_results): Ignore files with no lines.
+ (release_function): New helper, broken out of ...
+ (release_structures): ... here. Use it.
+ (read_count_file): Adjust for new data file format.
+ (output_lines): Use object_runs.
+ * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
+ (struct gcov_ctr_info): Move definition.
+ (struct gcov_fn_info): Add key field, use gcov_ctr_info for
+ trailing array.
+ (struct gcov_info): Add merge function array, remove mask and
+ counts. Trailing array is array of pointers to function info.
+ * coverage.c (struct function_list): Replace counter numbers with
+ counter arrays. Add fndecl field. GTYify.
+ (counts_entry): Remove chain workspace.
+ (functions_head): GTYify.
+ (prg_n_ctrs): Remove.
+ (fn_v_ctrs): New.
+ (tree_ctr_tables): Remove.
+ (read_counts_file): Cope with blank entries and expect program
+ summaries before functions. Don't warn on missing entries.
+ (coverage_counter_alloc): Allocate individual function arrays.
+ (tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
+ for individual function arrays.
+ (coverage_end_function): GTYify function list object. Finalize
+ function's counter arrays.
+ (build_var): New. Create a counter-related variable with
+ appropriate linkage.
+ (build_fn_info_type): Adjust for new runtime structure.
+ (build_fn_info_value): Rename to ...
+ (build_fn_info): ... here. Build new format data.
+ (build_ctr_info_type, build_ctr_info_value): Remove.
+ (build_info_type): New. Build new format data structure.
+ (build_info): Adjust for new format data.
+ (create_coverage): Likewise.
+ * gcov-dump.c (tag_function): Recognize placeholders.
+
+2011-11-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/constraints.md (Cm2): New constraint for int -2.
+ * config/avr/avr.md (addqi3): Use it. New alternatives for +/-2.
+ (*negqihi2): New insn.
+
+2011-11-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * dwarf2cfi.c (dwarf2out_frame_debug_expr): Check
+ HARD_FRAME_POINTER_REGNUM instead of hard_frame_pointer_rtx in Rule 18.
+
+2011-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_builtin): If gather mask
+ argument is known to have all high bits set, pass pc_rtx as
+ second argument to the expander instead of op0.
+ * config/i386/sse.md (*avx2_gathersi<mode>_2,
+ *avx2_gatherdi<mode>_2): New patterns.
+ * config/i386/avx2intrin.h (_mm256_i32gather_pd,
+ _mm256_i64gather_pd, _mm256_i32gather_ps): Set mask using
+ _mm256_cmp_pd with zero vector arguments and _CMP_EQ_OQ instead of
+ _mm256_set1_pd.
+
+ PR tree-optimization/50789
+ * tree-vect-stmts.c (process_use): Add force argument, avoid
+ exist_non_indexing_operands_for_use_p check if true.
+ (vect_mark_stmts_to_be_vectorized): Adjust callers. Handle
+ STMT_VINFO_GATHER_P.
+ (gen_perm_mask): New function.
+ (perm_mask_for_reverse): Use it.
+ (reverse_vec_element): Rename to...
+ (permute_vec_elements): ... this. Add Y and MASK_VEC arguments,
+ generalize for any permutations.
+ (vectorizable_load): Adjust caller. Handle STMT_VINFO_GATHER_P.
+ * target.def (TARGET_VECTORIZE_BUILTIN_GATHER): New hook.
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_GATHER): Document it.
+ * doc/tm.texi: Regenerate.
+ * tree-data-ref.c (initialize_data_dependence_relation,
+ compute_self_dependence): No longer static.
+ * tree-data-ref.h (initialize_data_dependence_relation,
+ compute_self_dependence): New prototypes.
+ * tree-vect-data-refs.c (vect_check_gather): New function.
+ (vect_analyze_data_refs): Detect possible gather load data refs.
+ * tree-vectorizer.h (struct _stmt_vec_info): Add gather_p field.
+ (STMT_VINFO_GATHER_P): Define.
+ (vect_check_gather): New prototype.
+ * config/i386/i386-builtin-types.def: Add types for alternate
+ gather builtins.
+ * config/i386/sse.md (AVXMODE48P_DI): Remove.
+ (VEC_GATHER_MODE): Rename mode_attr to...
+ (VEC_GATHER_IDXSI): ... this.
+ (VEC_GATHER_IDXDI, VEC_GATHER_SRCDI): New mode_attrs.
+ (avx2_gathersi<mode>, *avx2_gathersi<mode>): Use <VEC_GATHER_IDXSI>
+ instead of <VEC_GATHER_MODE>.
+ (avx2_gatherdi<mode>): Use <VEC_GATHER_IDXDI> instead of
+ <AVXMODE48P_DI> and <VEC_GATHER_SRCDI> instead of VEC_GATHER_MODE
+ on src and mask operands.
+ (*avx2_gatherdi<mode>): Likewise. Use VEC_GATHER_MODE iterator
+ instead of AVXMODE48P_DI.
+ (avx2_gatherdi<mode>256, *avx2_gatherdi<mode>256): Removed.
+ * config/i386/i386.c (enum ix86_builtins): Add
+ IX86_BUILTIN_GATHERALTSIV4DF, IX86_BUILTIN_GATHERALTDIV8SF,
+ IX86_BUILTIN_GATHERALTSIV4DI and IX86_BUILTIN_GATHERALTDIV8SI.
+ (ix86_init_mmx_sse_builtins): Create those builtins.
+ (ix86_expand_builtin): Handle those builtins and adjust expansions
+ of other gather builtins.
+ (ix86_vectorize_builtin_gather): New function.
+ (TARGET_VECTORIZE_BUILTIN_GATHER): Define.
+
+2011-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/f16cintrin.h: Remove extra _X86INTRIN_H_INCLUDED check.
+
+2011-11-07 Tristan Gingold <gingold@adacore.com>
+
+ * config.gcc (*-*-*vms*): Set c_target_objs, cxx_target_objs.
+ * config/vms/t-vms: Add vms-c.o rule.
+ * config/vms/vms-c.c: New file.
+ * config/vms/vms-protos.h (vms_c_register_pragma): New prototype.
+ * config/vms/vms.h (REGISTER_TARGET_PRAGMAS): Define.
+
+2011-11-07 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/vms.h (TARGET_OBJECT_SUFFIX,
+ TARGET_EXECUTABLE_SUFFIX, TARGET_OS_CPP_BUILTINS,
+ TARGET_ABI_OPEN_VMS, LONG_TYPE_SIZE, ADA_LONG_TYPE_SIZE,
+ POINTER_SIZE, POINTERS_EXTEND_UNSIGNED): Move to config/vms/vms.h
+ (SUBTARGET_OS_CPP_BUILTINS): Define.
+ (TARGET_DEFAULT): Tune according to POINTER_SIZE.
+ (MASK_RETURN_ADDR): Define in 64 bit mode.
+ * config/ia64/vms.h: Likewise.
+ * config/vms/vms.h: New file.
+ * config/vms/vms64.h: New file.
+ * config/alpha/vms64.h: Removed.
+ * config/ia64/vms64.h: Removed.
+ * config.gcc (alpha64-dec-*vms*, alpha*-dec-*vms*, ia64-hp-*vms*):
+ Adjust for above change.
+
+2011-11-07 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ PR target/50962
+ * config/i386/i386-protos.h (ix86_use_lea_for_mov): New.
+ * config/i386/i386.c (ix86_use_lea_for_mov): Likewise.
+ * config/i386/i386.md (movsi_internal): Emit lea if profitable.
+ (movdi_internal_rex64): Likewise.
+
+2011-11-07 Sergey Ostanevich <sergos.gnu@gmail.com>
+
+ PR rtl-optimization/47698
+ * ifcvt.c (noce_operand_ok): Return false for mems with side effects.
+
+2011-11-07 Tristan Gingold <gingold@adacore.com>
+
+ * common/config/alpha/alpha-common.c (alpha_option_init_struct):
+ New function.
+ (TARGET_OPTION_INIT_STRUCT): Define.
+ * config/alpha/alpha.c (TARGET_MIN_ANCHOR_OFFSET)
+ (TARGET_MAX_ANCHOR_OFFSET)
+ (TARGET_USE_BLOCKS_FOR_CONSTANT_P): Redefine.
+
+2011-11-06 Quentin Neill <quentin.neill@amd.com>
+
+ Fix r180999, update ChangeLog
+ * config.gcc: Add f16cintrin.h.
+ * config/i386/f16cintrin.h: Add missing endif.
+
+2011-11-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config.gcc (arm*-*-rtemseabi*): New target.
+ * config/arm/rtems-eabi.h: New.
+ * config/arm/t-rtems-eabi: New.
+
+2011-11-06 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): Delete.
+ (zero_extend_v8qi_vis, zero_extend_v4hi_vis,
+ *zero_extend_v8qi_<P:mode>_insn,
+ *zero_extend_v4hi_<P:mode>_insn): Express using vec_merge
+ and vec_duplicate instead of using an UNSPEC.
+
+2011-11-07 Alan Modra <amodra@gmail.com>
+
+ PR target/30282
+ * config/rs6000/rs6000.c (rs6000_emit_stack_reset): Always emit
+ blockage for ABI_V4.
+
+2011-11-06 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * config/i386/cygwin.h (LIBGCJ_SONAME): Updated to match recent
+ libgcj version bump.
+ * config/i386/mingw32.h (LIBGCJ_SONAME): Likewise.
+
+2011-11-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcse.c: Adjust outdated comments throughout.
+ (struct mem_conflict_info): New structure.
+ (mems_conflict_for_gcse_p): Use it to communicate with caller.
+ (load_killed_in_block_p): Pass it to note_stores.
+ (hash_expr): Remove superfluous line break.
+ (hash_scan_set): Rename PAT parameter into SET.
+ (hash_scan_insn): Reorder cases.
+ (canon_list_insert): Fix long line.
+ (edge_list): Delete.
+ (prune_expressions): Rename E local variable into EXPR.
+ (compute_pre_data): Return struct edge_list * object.
+ (pre_expr_reaches_here_p_work): Fix formatting.
+ (process_insert_insn): Move around comment.
+ (pre_edge_insert): Fix long line.
+ (pre_insert_copies): Likewise.
+ (gcse_emit_move_after): Swap SRC and DEST parameters.
+ (pre_delete): Adjust call to gcse_emit_move_after.
+ (pre_gcse): Take struct edge_list * parameter. Fix long line.
+ (one_pre_gcse_pass): Use flag_gcse_lm condition for all routines.
+ Use a local list of edges.
+ (hoist_code): Fix long line. Adjust call to gcse_emit_move_after.
+ (pre_ldst_expr_hash): Fix long line.
+ (free_ldst_mems): Rename into...
+ (free_ld_motion_mems): ...this.
+ (first_ls_expr): Delete.
+ (next_ls_expr): Likewise.
+ (print_ldst_list): Do not use above two functions.
+ (simple_mem): Adjust interface.
+ (compute_ld_motion_mems): Fix formatting.
+ (update_ld_motion_stores): Reuse local variable.
+
+2011-11-06 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (shadow_tag_warned, grokdeclarator): Handle _Alignas
+ specifiers.
+ (build_null_declspecs): Initialize align_log and alignas_p fields.
+ (declspecs_add_alignas): New.
+ * c-parser.c (c_token_starts_declspecs): Handle RID_ALIGNAS.
+ (c_parser_declspecs): Handle _Alignas specifiers.
+ (c_parser_alignas_specifier): New.
+ (c_parser_alignof_expression): Diagnose alignof use for non-C1X.
+ Diagnose _Alignof (expression).
+ * c-tree.h (struct c_declspecs): Add align_log and alignas_p fields.
+ (declspecs_add_alignas): Declare.
+ * ginclude/stddef.h (max_align_t): Define for C1X and C++11.
+ * ginclude/stdalign.h: New.
+ * Makefile.in (USER_H): Add stdalign.h.
+
+2011-11-06 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * regset.h (fixed_reg_set_regset): Declare.
+ * dse.c: Include regset.h .
+ (struct insn_info): Add member fixed_regs_live.
+ (note_add_store_info): New typedef.
+ (note_add_store): New function.
+ (emit_inc_dec_insn_before): Expect arg to be of type insn_info_t.
+ Use gen_add3_insn / gen_move_insn.
+ Check new insn for unwanted clobbers before emitting it.
+ (check_for_inc_dec): Rename to...
+ (check_for_inc_dec_1:) ... this. Return bool. Take insn_info
+ parameter. Changed all callers in file.
+ (check_for_inc_dec, copy_fixed_regs): New functions.
+ (scan_insn): Set fixed_regs_live field of insn_info.
+ * rtl.h (check_for_inc_dec): Update prototype.
+ * postreload.c (reload_cse_simplify): Take new signature of
+ check_ind_dec into account.
+ * reginfo.c (fixed_reg_set_regset): New variable.
+ (init_reg_sets_1): Initialize it.
+
+2011-11-06 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-cfg.c (gimple_can_merge_blocks_p): For -O0 don't remove
+ any user labels.
+
+2011-11-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.c (pa_hpux_init_libfuncs): Rename to pa_init_libfuncs.
+ Remove dependence of declaration and target define on definition of
+ HPUX_LONG_DOUBLE_LIBRARY. Update implementation.
+
+2011-11-06 Andrew Macleod <amacleod@redhat.com>
+ Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ Merged from cxx-mem-model.
+
+ * cppbuiltin.c (define__GNUC__): Define __ATOMIC memory models
+ * coretypes.h (enum memmodel): New. enumerated memory model type.
+ * Makefile.in (cppbuiltin.o) Add missing dependency on $(TREE_H)
+ * genopinit,c (optabs): Add atomic direct optab handlers.
+ * sync-builtins.def (BUILT_IN_ATOMIC_*): New builtins.
+ * builtin-types.def (BT_CONST_VOLATILE_PTR,
+ BT_FN_I{1,2,4,8,16}_CONST_VPTR_INT, BT_FN_VOID_VPTR_INT,
+ BT_FN_BOOL_VPTR_INT, BT_FN_BOOL_SIZE_CONST_VPTR,
+ BT_FN_I{1,2,4,8,16}_VPTR_I{1,2,4,8,16}_INT,
+ BT_FN_VOID_VPTR_I{1,2,4,8,16}_INT, BT_FN_VOID_SIZE_VPTR_PTR_INT,
+ BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
+ BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT): New builtin types.
+ * expr.h (expand_atomic_*): Add prototypes.
+ (expand_{bool,val}_compare_and_swap): Remove prototypes.
+ * c-typeck.c (build_function_call_vec): Don't reprocess __atomic
+ parameters.
+ * common.opt (Winvalid-memory-model): New warning flag.
+ (finline-atomics): New. Flag to disable atomic inlining.
+ * params.h (ALLOW_LOAD_DATA_RACES): New.
+ (ALLOW_PACKED_LOAD_DATA_RACES): New.
+ (ALLOW_PACKED_STORE_DATA_RACES): New.
+ * params.def (PARAM_ALLOW_LOAD_DATA_RACES): New.
+ (PARAM_ALLOW_PACKED_LOAD_DATA_RACES): New.
+ (PARAM_ALLOW_PACKED_STORE_DATA_RACES): New.
+ * builtins.c (is_builtin_name): Handle __atomic.
+ (get_memmodel): New. Extract memory model.
+ (expand_expr_force_mode): New. Factor out common code for ensuring an
+ integer argument is in the proper mode.
+ (expand_builtin_sync_operation): Remove ignore param. Always call
+ expand_atomic_fetch_op instead of the old expanders.
+ (expand_builtin_compare_and_swap,
+ expand_builtin_sync_lock_test_and_set): Use expand_expr_force_mode,
+ call atomic expanders instead of sync expanders.
+ (expand_builtin_sync_lock_release): Call atomic_store expander.
+ (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
+ expand_builtin_atomic_store, expand_builtin_atomic_fetch_op): New.
+ (expand_builtin_atomic_exchange): New.
+ (fold_builtin_atomic_always_lock_free,
+ expand_builtin_atomic_always_lock_free,
+ fold_builtin_atomic_is_lock_free, expand_builtin_atomic_is_lock_free):
+ New.
+ (expand_builtin_mem_thread_fence, expand_builtin_atomic_thread_fence,
+ expand_builtin_atomic_signal_fence): New.
+ (expand_builtin_mem_signal_fence): New.
+ (expand_builtin): Add cases for BUILT_IN_ATOMIC_*.
+ (fold_builtin_2): Add cases for BUILT_IN_ATOMIC_{IS,ALWAYS}_LOCK_FREE.
+ * optabs.h (DOI_atomic_*): Define new atomics.
+ (atomic_*_optab): Define.
+ (can_compare_and_swap_p, expand_atomic_compare_and_swap): New
+ prototypes.
+ * optabs.c (expand_sync_operation, expand_sync_fetch_operation): Remove.
+ (expand_sync_lock_test_and_set): Remove.
+ (expand_atomic_load, expand_atomic_store): New.
+ (expand_atomic_exchange): New.
+ (expand_atomic_compare_and_swap): New. Implements
+ atomic_compare_exchange via compare and swap.
+ (struct atomic_op_functions): Opcode table struct for fetch ops.
+ (get_atomic_op_for_code): New. Return an opcode table entry.
+ (maybe_emit_op): New. Try to emit a fetch op.
+ (expand_atomic_fetch_op): New.
+ (expand_val_compare_and_swap_1): Remove.
+ (expand_val_compare_and_swap, expand_bool_compare_and_swap): Remove.
+ (expand_atomic_compare_and_swap): Rename from
+ expand_atomic_compare_exchange. Rewrite to return both success and
+ oldval return values; expand via both atomic and sync optabs.
+ (can_compare_and_swap_p): New.
+ (expand_compare_and_swap_loop): Use expand_atomic_compare_and_swap.
+ (maybe_gen_insn): Handle 7 and 8 operands.
+ * omp-low.c (expand_omp_atomic_fetch_op): Don't test individual
+ fetch_op optabs, only test can_compare_and_swap_p. Use __atomic
+ builtins instead of __sync builtins.
+ (expand_omp_atomic_pipeline): Use can_compare_and_swap_p.
+ * doc/extend.texi: Document __atomic built-in functions.
+ * doc/invoke.texi: Document data race parameters.
+ * doc/md.texi: Document atomic patterns.
+ * config/i386/i386.md (UNSPEC_MOVA): New.
+ (UNSPECV_CMPXCHG): Split into ...
+ (UNSPECV_CMPXCHG_1, UNSPECV_CMPXCHG_2,
+ UNSPECV_CMPXCHG_3, UNSPECV_CMPXCHG_4): New.
+ * config/i386/sync.md (ATOMIC): New mode iterator.
+ (atomic_load<ATOMIC>, atomic_store<ATOMIC>): New.
+ (atomic_loaddi_fpu, atomic_storedi_fpu, movdi_via_fpu): New.
+ (mem_thread_fence): Rename from memory_barrier.
+ Handle the added memory model parameter.
+ (mfence_nosse): Rename from memory_barrier_nosse.
+ (sync_compare_and_swap<CASMODE>): Split into ...
+ (atomic_compare_and_swap<SWI124>): this and ...
+ (atomic_compare_and_swap<CASMODE>): this. Handle the new parameters.
+ (atomic_compare_and_swap_single<SWI>): Rename from
+ sync_compare_and_swap<SWI>; rewrite to use split unspecs.
+ (atomic_compare_and_swap_double<DCASMODE>): Rename from
+ sync_double_compare_and_swap<DCASMODE>; rewrite to use split unspecs.
+ (*atomic_compare_and_swap_doubledi_pic): Rename from
+ sync_double_compare_and_swapdi_pic; rewrite to use split unspecs.
+ (atomic_fetch_add<SWI>): Rename from sync_old_add<SWI>; add memory
+ model parameter.
+ (*atomic_fetch_add_cmp<SWI>): Similarly.
+ (atomic_add<SWI>, atomic<any_logic><SWI>): Similarly.
+ (atomic_sub<SWI>): Similarly. Use x86_maybe_negate_const_int.
+ (sync_lock_test_and_set<SWI>): Merge with ...
+ (atomic_exchange<SWI>): ... this.
+
+2011-11-6 Richard Guenther <rguenther@suse.de>
+
+ * ipa-prop.c (ipa_modify_call_arguments): Re-compute inlinable flag.
+
+2011-11-06 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.h (vectorizable_condition): Add argument.
+ * tree-vect-loop.c (vectorizable_reduction): Fail for condition
+ in SLP. Update calls to vectorizable_condition.
+ * tree-vect-stmts.c (vect_is_simple_cond): Add basic block info to
+ the arguments. Pass it to vect_is_simple_use_1.
+ (vectorizable_condition): Add slp_node to the arguments. Support
+ vectorization of basic blocks. Fail for reduction in SLP. Update
+ calls to vect_is_simple_cond and vect_is_simple_use. Support SLP:
+ call vect_get_slp_defs to get vector operands.
+ (vect_analyze_stmt): Update calls to vectorizable_condition.
+ (vect_transform_stmt): Likewise.
+ * tree-vect-slp.c (vect_create_new_slp_node): Handle COND_EXPR.
+ (vect_get_and_check_slp_defs): Handle COND_EXPR. Allow pattern
+ def stmts.
+ (vect_build_slp_tree): Handle COND_EXPR.
+ (vect_analyze_slp_instance): Push pattern statements to root node.
+ (vect_get_constant_vectors): Fix comments. Handle COND_EXPR.
+
+2011-11-05 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_SHORT_LOAD): New unspec.
+ (zero-extend_v8qi_vis, zero_extend_v4hi_vis): New expanders.
+ (*zero_extend_v8qi_<P:mode>_insn,
+ *zero_extend_v4hi_<P:mode>_insn): New insns.
+ * config/sparc/sparc.c (vector_init_move_words,
+ vector_init_prepare_elts, sparc_expand_vector_init_vis2,
+ sparc_expand_vector_init_vis1): New functions.
+ (vector_init_bshuffle): Rewrite to handle more cases and make use
+ of locs[] array prepared by vector_init_prepare_elts.
+ (vector_init_fpmerge, vector_init_faligndata): Delete.
+ (sparc_expand_vector_init): Rewrite using new infrastructure.
+
+2011-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * config.gcc (epiphany-*-*): New architecture.
+ (epiphany-*-elf): New configuration.
+ * config/epiphany, common/config/epiphany : New directories.
+ * doc/extend.texi (disinterrupt attribute): Add Epiphany.
+ (interrupt attribute): Add Epiphany.
+ (long_call, short_call attribute): Add Epiphany.
+ * doc/invoke.texi (Options): Add Epiphany options.
+ * doc/md.texi (Machine Constraints): Add Epiphany constraints.
+ * doc/install.texi (Options specification):
+ Add --with-stack-offset=@var{num} description.
+ (host/target specific issues): Add epiphany-*-elf.
+ * doc/contrib.texi (Contributors): Mention Epiphany port.
+
+2011-11-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50693
+ * tree-cfg.c (gimple_can_merge_blocks_p): Allow merging with
+ non-forced user labels.
+ (gimple_merge_blocks): Turn non-forced user labels into
+ debug bind stmt with the label as first operand and reset value.
+ (gimple_duplicate_bb): Don't duplicate label debug stmts.
+ * dwarf2out.c (gen_label_die): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
+ * final.c (final_scan_insn): Likewise.
+ (rest_of_clean_state): Don't dump NOTE_INSN_DELETED_DEBUG_LABEL.
+ * var-tracking.c (debug_label_num): New variable.
+ (delete_debug_insns): Don't delete DEBUG_INSNs for LABEL_DECLs,
+ instead turn them into NOTE_INSN_DELETED_DEBUG_LABEL notes.
+ * cfglayout.c (skip_insns_after_block, duplicate_insn_chain): Handle
+ NOTE_INSN_DELETED_DEBUG_LABEL.
+ (duplicate_insn_chain): Don't duplicate LABEL_DECL DEBUG_INSNs.
+ * insn-notes.def (DELETED_DEBUG_LABEL): New note kind.
+ * print-rtl.c (print_rtx): Handle NOTE_INSN_DELETED_DEBUG_LABEL.
+ * gengtype.c (adjust_field_rtx_def): Likewise.
+ * config/i386/i386.c (ix86_output_function_epilogue): For MachO
+ clear CODE_LABEL_NUMBER of NOTE_INSN_DELETED_DEBUG_LABEL
+ if their are at the end of function and nop hasn't been emitted.
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Likewise.
+
+2011-11-05 Georg-Johann Lay <avr@gjlay.de>
+
+ PR rtl-optimization/50448
+ * cprop.c (try_replace_reg): Also try to replace uses of FROM that
+ appear in SET_DEST.
+
+2011-11-05 Peter Dufault <dufault@hda.com>,
+ Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * config/rs6000/rtems.h (SUBSUBTARGET_OVERRIDE_OPTIONS):
+ Extend rs6000_spe handling.
+
+2011-11-05 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config/rs6000/t-rtems: Add -mcpu=8540/-mfloat-gprs=double multilib.
+ Remove -mcpu=601 multilib.
+ Remove -Dmpc8260 multilib.
+ * config/rs6000/rtems.h: Allow --float-gprs=... to override grps
+ on E500 targets.
+
+2011-11-05 Quentin Neill <quentin.neill@amd.com>
+
+ Piledriver f16cintrin.h fix.
+ * config/i386/f16cintrin.h: Contents moved from immintrin.h.
+ * config/i386/immintrin.h: Include f16cintrin.h.
+ * config.gcc (i[34567]86-*-*, x86_64-*-*): Add f16cintrin.h.
+
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR c++/50608
+ * c-parser.c (c_parser_postfix_expression) <RID_OFFSETOF>: Adjust call
+ to fold_offsetof.
+ * c-typeck.c (build_unary_op) <ADDR_EXPR>: Call fold_offsetof_1.
+
+2011-11-04 Alan Modra <amodra@gmail.com>
+
+ * reload1.c (gen_reload): Don't use REGNO on SUBREGs.
+ * print-rtl.c (print_rtx): Don't segfault on negative regno.
+
+2011-11-04 David S. Miller <davem@davemloft.net>
+
+ PR target/49965
+ * config/sparc/sparc.c (sparc_expand_conditional_move): Handle the
+ fact that sparc_emit_float_lib_cmp modifies the comparison in
+ operands[1].
+
+2011-11-04 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config/lm32/t-rtems: New.
+ * config.gcc (lm32-*-rtems*): Add t-rtems.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/50979
+ * config/sparc/sparc.h (ASM_CPU_SPEC): Pass -Av8 if -mcpu=v8.
+
+2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
+
+ PR rtl-optimization/38644
+ * config/arm/arm.c (thumb1_expand_epilogue): Add memory barrier
+ for epilogue having stack adjustment.
+
+2011-11-04 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50931
+ * config/avr/avr-modes.def: New file defining PSImode.
+ * config/avr/avr-c.c (__INT24_MAX__, __INT24_MIN__,
+ __UINT24_MAX__): New built-in defines.
+ * config/avr/avr.md (adjust_len): Add tstpsi, mov24, reload_in24,
+ ashlpsi, ashrpsi, lshrpsi.
+ (QISI, QIDI, HISI, HIDI, MPUSH, rotx, rotsmode): Add PSI.
+ (MOVMODE): New mode iterator.
+ (movpsi): New expander.
+ (movqi, movhi, movsi, movsf, movpsi): Write as one using MOVMODE.
+ (*reload_inpsi, *movpsi): New insns.
+ (*reload_inpsi): New RTL peephole.
+ (addpsi3, *addpsi3_zero_extend.qi, *addpsi3_zero_extend.hi,
+ *addpsi3_sign_extend.hi): New insns.
+ (subpsi3, *subpsi3_zero_extend.qi, *subpsi3_zero_extend.hi,
+ *subpsi3_sign_extend.hi): New insns.
+ (divmodpsi4, udivmodpsi4): New define insn-and-split.
+ (*divmodpsi4_call, *udivmodpsi4_call): New insns.
+ (andpsi3, iorpsi3, xorpsi3): New insns.
+ (*rotlpsi2.1, *rotlpsi2.23): New insns.
+ (*rotw<mode>): Insn condition only allow even-sized modes.
+ (*rotb<mode>): Insn condition allows odd-sized modes.
+ (ashlpsi3, ashrpsi3, lshrpsi3, *addpsi3.lt0): New insns.
+ (negpsi2, one_cmplpsi2): New insns.
+ (extendqipsi2, extendhipsi2, extendpsisi2): New insns.
+ (zero_extendqipsi2, zero_extendhipsi2, zero_extendpsisi2): New
+ insn-and-splits.
+ (*cmppsi, *negated_tstpsi, *reversed_tstpsi): New insns.
+ (cbranchpsi4): New expander.
+ * config/avr/constraints.md (Ca3, Co3, Cx3): New constraints.
+ * config/avr/avr-protos.h (avr_out_tstpsi, avr_out_movpsi,
+ avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3,
+ avr_out_reload_inpsi): New prototypes.
+
+ * config/avr/avr.c (TARGET_SCALAR_MODE_SUPPORTED_P): Define to...
+ (avr_scalar_mode_supported_p): ...this new static function.
+ (avr_asm_len): Always return "".
+ (avr_out_load_psi, avr_out_store_psi): New static functions.
+ (avr_out_movpsi, avr_out_reload_inpsi): New functions.
+ (avr_out_tstpsi): New function.
+ (avr_out_ashlpsi3, avr_out_ashrpsi3, avr_out_lshrpsi3): New functions.
+ (avr_out_plus_1, output_reload_in_const): Handle 3-byte types.
+ (avr_simplify_comparison_p): Ditto.
+ (adjust_insn_length): Handle ADJUST_LEN_RELOAD_IN24,
+ ADJUST_LEN_MOV24, ADJUST_LEN_TSTPSI, ADJUST_LEN_ASHLPSI,
+ ADJUST_LEN_ASHRPSI, ADJUST_LEN_LSHRPSI.
+ (avr_rtx_costs_1): Report PSI costs.
+ (avr_libcall_value): Handle odd-sized parameters.
+ (avr_init_builtin_int24): New static function to define built-in
+ 24-bit types __int24 and __uint24.
+ (avr_init_builtins): Use it.
+
+2011-11-04 Thomas Doerfler <thomas.doerfler@embedded-brains.de>
+
+ PR target/50989
+ * config/arm/rtems-elf.h, config/arm/t-rtems: Add optional
+ support for VFP floating point model.
+
+2011-11-04 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/vms.h (ASM_OUTPUT_DEF): Do not switch section.
+
+2011-11-04 Ira Rosen <ira.rosen@linaro.org>
+
+ Unrevert:
+ 2011-10-24 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50730
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block
+ analysis if encountered unsupported data-ref.
+
+2011-11-04 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): New
+ function.
+ * config/i386/i386-protos.h (ix86_expand_vector_convert_uns_vsivsf):
+ New prototype.
+ * config/i386/sse.md (floatuns<sseintvecmodelower><mode>2): Use it.
+ For floatunsv8siv8sf2 require TARGET_AVX2.
+
+ * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): Add
+ XORP argument. Subtract 0x1p31 instead of 0x1p32. Use normal
+ signalling comparison instead of non-signalling. Store into
+ *XORP pseudo holding 0x80000000 integers if 0x1p31 has been
+ subtracted and 0 otherwise.
+ * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si):
+ Adjust prototype.
+ * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Enable
+ already for TARGET_SSE2. Xor in vector initialized by
+ ix86_expand_adjust_ufix_to_sfix_si at the end.
+ (vec_pack_ufix_trunc_<mode>): Likewise.
+
+ * tree-vect-stmts.c (vectorizable_conversion): Rewritten to handle
+ not just FLOAT_EXPR and FIX_TRUNC_EXPR, but also CONVERT_EXPR_CODE_P,
+ WIDEN_MULT_EXPR and WIDEN_LSHIFT_EXPR to handle what
+ vectorizable_type_demotion and vectorizable_type_promotion did.
+ Additionally handle FLOAT_EXPR and FIX_TRUNC_EXPR where the integer
+ is {,un}signed {char,short}.
+ (vect_create_vectorized_demotion_stmts): Fix comment typo. For
+ recursive calls unconditionally use VEC_PACK_TRUNC_EXPR.
+ Push vec_dest back to the vec_dsts vector at the end.
+ (vect_create_vectorized_promotion_stmts): Don't recurse, do just
+ one step. Removed multi_step_cvt, vec_dsts, slp_node and
+ prev_stmt_info arguments, add vec_dest argument. Push always
+ into vec_tmp, not just when multi_step_cvt != 0, replace *vec_oprdn0
+ with vec_tmp at the end after freeing old *vec_oprnd0 vector.
+ (vectorizable_type_demotion, vectorizable_type_promotion): Removed.
+ (vect_analyze_stmt): Don't call vectorizable_type_demotion and
+ vectorizable_type_promotion. Call vectorizable_conversion even
+ for SLP bb vectorization.
+ (vect_transform_stmt): Call vectorizable_conversion instead of
+ vectorizable_type_demotion and vectorizable_type_promotion.
+ (supportable_widening_operation): Clear *multi_step_cvt first,
+ simplify c1/c2 computation, free *interm_types vector on failure.
+ (supportable_narrowing_operation): Clear *multi_step_cvt first,
+ free *interm_types vector on failure, handle multi-step
+ FIX_TRUNC_EXPR.
+
+2011-11-04 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.c (alpha_write_linkage): Remove fundecl
+ argument. Conditionally generate crash debug info. Adjust
+ for alpha_funcs_tree removal.
+ (machine_function): Add links field.
+ (alpha_start_function): Conditionally generate crash debug info.
+ (alpha_end_function): Adjust call to alpha_write_linkage.
+ (alpha_funcs): Remove.
+ (links_kind): Remove.
+ (alpha_links): Remove num, target and lkind field. Add func field.
+ (alpha_links_tree): Remove.
+ (alpha_funcs_tree): Remove.
+ (alpha_need_linkage): Remove.
+ (alpha_use_linkage): Change prototype. Adjust.
+ (alpha_write_one_linkage): Use ASM_OUTPUT_INTERNAL_LABEL.
+ Use SYMBOL_REF_EXTERNAL_P and SYMBOL_REF_LOCAL_P macro.
+ * config/alpha/alpha-protos.h (alpha_use_linkage): Update.
+ (alpha_need_linkage): Remove.
+ * config/alpha/alpha.md: Update calls to alpha_use_linkage.
+ Adjust calls to alpha_need_linkage.
+
+2011-11-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * sched-vis.c (print_value): Handle STRICT_LOW_PART.
+
+2011-11-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2,
+ rint<mode>2, floor<mode>2, lfloor<MODEF:mode><SWI48:mode>2,
+ btrunc<mode>2, lwp_lwpval<mode>3): Use operands[N] instead of operandN.
+
+2011-11-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/50978
+ * config/arm/t-bpabi: New file.
+ * config.gcc (arm*-*-linux*): Add arm/t-bpabi to tmake_file for
+ arm*-*-linux-*eabi.
+ (arm*-*-uclinux*): Add arm/t-bpabi to tmake_file for
+ arm*-*-uclinux*eabi.
+ (arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi to tmake_file
+ for arm*-*-eabi*.
+
+2011-11-03 Michael Matz <matz@suse.de>
+
+ PR bootstrap/50857
+ * configure.ac: Check for -fno-exceptions -fno-rtti.
+ * configure: Regenerate.
+ * Makefile.in (NOEXCEPTION_FLAGS): New flag.
+ (ALL_CXXFLAGS): Use it.
+
+2011-11-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Use {} for multi-line preparation statements.
+
+2011-11-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (movtf_insn_sp32_no_fpu): Consolidate into...
+ (movtf_insn_sp32): ...this.
+ (movtf_insn_sp64_no_fpu): Consolidate into...
+ (movtf_insn_sp64): ...this.
+ (movtf_insn_sp64_hq): Do not test TARGET_FPU.
+ * config/sparc/sparc.c (sparc_legitimate_address_p): Likewise.
+
+2011-11-03 Tristan Gingold <gingold@adacore.com>
+
+ * config/vms/vms.c (vms_patch_builtins): Fix typo.
+
+2011-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR lto/44965
+ * lto-opts.c: Re-implement.
+ * lto-streamer.h (lto_register_user_option): Remove.
+ (lto_read_file_options): Likewise.
+ (lto_reissue_options): Likewise.
+ (lto_clear_user_options): Likewise.
+ (lto_clear_file_options): Likewise.
+ * opts-global.c (post_handling_callback): Remove.
+ (set_default_handlers): Do not set post_handling_callback.
+ (decode_options): Remove LTO specific code.
+ * lto-wrapper.c (merge_and_complain): New function.
+ (run_gcc): Read all input file options and
+ prepend a merged set before the linker driver options.
+ * gcc.c (driver_post_handling_callback): Remove.
+ (set_option_handlers): Do not set post_handling_callback.
+ * opts-common.c (handle_option): Do not call post_handling_callback.
+ * opts.h (struct cl_option_handlers): Remove post_handling_callback.
+
+2011-11-03 Richard Guenther <rguenther@suse.de>
+
+ * collect2.c (main): Guard object_nbr variable with TARGET_AIX_VERSION.
+
+2011-11-03 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (type_change_info): New fields offset, object,
+ known_current_type and multiple_types_encountered.
+ (extr_type_from_vtbl_ptr_store): New function.
+ (check_stmt_for_type_change): Use it, set multiple_types_encountered if
+ the result is different from the previous one.
+ (detect_type_change): Renamed to detect_type_change_1. New parameter
+ comp_type. Set up new fields in tci, build known type jump
+ functions if the new type can be identified.
+ (detect_type_change): New function.
+ * tree.h (DECL_CONTEXT): Comment new use.
+
+2011-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48217
+ * lto-wrapper.c (get_options_from_collect_gcc_options): Properly
+ decode an encoded literal '.
+
+2011-11-03 Tristan Gingold <gingold@adacore.com>
+
+ * collect2.c (main): Add support of -f (response file) on AIX.
+
+2011-11-03 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50912
+ * tree-vectorizer.h (slp_void_p): New.
+ (struct _slp_tree): Replace left and right with children. Update
+ documentation.
+ (struct _slp_oprnd_info): New.
+ (vect_get_vec_defs): Declare.
+ (vect_get_slp_defs): Update arguments.
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Call
+ vect_get_vec_defs instead of vect_get_slp_defs.
+ (vectorizable_reduction): Likewise.
+ * tree-vect-stmts.c (vect_get_vec_defs): Remove static, add argument.
+ Update call to vect_get_slp_defs.
+ (vectorizable_conversion): Update call to vect_get_vec_defs.
+ (vectorizable_assignment, vectorizable_shift,
+ vectorizable_operation): Likewise.
+ (vectorizable_type_demotion): Call vect_get_vec_defs instead of
+ vect_get_slp_defs.
+ (vectorizable_type_promotion, vectorizable_store): Likewise.
+ (vect_analyze_stmt): Fix typo.
+ * tree-vect-slp.c (vect_free_slp_tree): Update SLP tree traversal.
+ (vect_print_slp_tree, vect_mark_slp_stmts,
+ vect_mark_slp_stmts_relevant, vect_slp_rearrange_stmts,
+ vect_detect_hybrid_slp_stmts, vect_slp_analyze_node_operations,
+ vect_schedule_slp_instance): Likewise.
+ (vect_create_new_slp_node): New.
+ (vect_create_oprnd_info, vect_free_oprnd_info): Likewise.
+ (vect_get_and_check_slp_defs): Pass information about defs using
+ oprnds_info, allow any number of operands.
+ (vect_build_slp_tree): Likewise. Update calls to
+ vect_get_and_check_slp_defs. Fix comments.
+ (vect_analyze_slp_instance): Move node creation to
+ vect_create_new_slp_node.
+ (vect_get_slp_defs): Allow any number of operands.
+
+2011-11-02 Peter Bergner <bergner@vnet.ibm.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (USE_HIDDEN_LINKONCE): New define.
+ (get_ppc476_thunk_name): Use it.
+ (rs6000_code_end): Likewise.
+ (macho_branch_islands): Fix typo.
+
+2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/50810
+ * configure.ac: Add -Wno-narrowing to warning options.
+ * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
+
+2011-11-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/50945
+ * config/sparc/sparc.md (movsf_insn): Reindent constraints.
+ (movdf_insn_sp32): Likewise. Remove redundant G constraint.
+ (movdf_insn_sp64): Likewise.
+ (DFmode splitter): Do not test TARGET_FPU.
+ (movtf_insn_sp32): Reindent constraints.
+ (movtf_insn_sp32_no_fpu): Likewise.
+ (movtf_insn_sp64): Likewise.
+ (movtf_insn_sp64_hq): Likewise.
+ (movtf_insn_sp64_no_fpu): Likewise.
+
+2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50956
+ * builtins.c (fold_builtin_memchr): Fix cast.
+
+2011-11-02 Teresa Johnson <tejohnson@google.com>
+
+ * config/i386/predicates.md (promotable_binary_operator): Add minus
+ to the list of promotable operators.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gthr-single.h, gthr.h: Move to ../libgcc.
+ * gthr-aix.h: Move to ../libgcc/config/rs6000.
+ * gthr-dce.h: Move to ../libgcc/config/pa.
+ * gthr-lynx.h: Move to ../libgcc/config.
+ * gthr-mipssde.h: Move to ../libgcc/config/mips.
+ * gthr-posix.h: Move to ../libgcc/config.
+ * gthr-rtems.h: Likewise.
+ * gthr-tpf.h: Move to ../libgcc/config/s390.
+ * gthr-vxworks.h: Move to ../libgcc/config.
+ * gthr-win32.h: Move to ../libgcc/config/i386.
+ * configure.ac (gthread_flags): Remove
+ (gthr-default.h): Don't create.
+ (thread_file): Don't substitute.
+ * configure: Regenerate.
+ * Makefile.in (GCC_THREAD_FILE): Remove.
+ (GTHREAD_FLAGS): Remove.
+ (libgcc.mvars): Remove GTHREAD_FLAGS.
+ * config/t-vxworks (EXTRA_HEADERS): Remove.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Paolo Bonzini <bonzini@gnu.org>
+
+ * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
+ * configure: Regenerate.
+ * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list): Remove.
+ (TM_H): Remove libgcc_tm.h, $(libgcc_tm_file_list).
+ (libgcc_tm.h, cs-libgcc_tm.h): Remove.
+ (clean): Remove libgcc_tm.h
+ * mkconfig.sh: Don't include libgcc_tm.h in tm.h.
+ * config.gcc (libgcc_tm_file): Remove.
+ (arm*-*-linux*): Remove libgcc_tm_file for arm*-*-linux-*eabi.
+ (arm*-*-uclinux*): Remove libgcc_tm_file for arm*-*-uclinux*eabi.
+ (arm*-*-eabi*, arm*-*-symbianelf*): Remove libgcc_tm_file.
+ (avr-*-rtems*): Likewise.
+ (avr-*-*): Likewise.
+ (frv-*-elf): Likewise.
+ (frv-*-*linux*): Likewise.
+ (h8300-*-rtems*): Likewise.
+ (h8300-*-elf*): Likewise.
+ (i[34567]86-*-darwin*): Likewise.
+ (x86_64-*-darwin*): Likewise.
+ (rx-*-elf*): Likewise.
+ (tic6x-*-elf): Likewise.
+ (tic6x-*-uclinux): Likewise.
+ (i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
+ (LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
+ (INCLUDES_FOR_TARGET): Remove.
+ (LIBGCC2_CFLAGS): Don't export.
+ (LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
+ Remove.
+ (libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
+ (libgcc.mvars): Likewise.
+ Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
+ LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
+ TARGET_LIBGCC2_CFLAGS.
+ Emit GTHREAD_FLAGS.
+ * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
+ * config/darwin-64.c: Move to ../libgcc/config.
+ * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
+ config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
+ config/udivmodsi4.c: Move to ../libgcc/config.
+ * config/gthr-posix.c: Move to ../libgcc/config/alpha.
+ * config/memcmp.c, config/memcpy.c, config/memmove.c,
+ config/memset.c: Move to ../libgcc/config.
+ * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/t-freebsd: Remove.
+ * config/t-freebsd-thread: Move to ../libgcc/config.
+ * config/t-libgcc-pic: Move to ../libgcc/config.
+ * config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/t-linux: Remove.
+ * config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
+ Remove.
+ * config/t-openbsd-thread: Move to ../libgcc/config.
+ * config/t-rtems (LIBGCC2_INCLUDES): Remove.
+ * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/t-svr4: Remove.
+ * config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
+ (LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
+ * config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
+ * config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
+ * config/alpha/t-alpha, config/alpha/t-ieee: Remove.
+ * config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
+ * config/arm/bpabi.c, config/arm/unaligned-funcs.c,
+ config/arm/fp16.c, config/arm/linux-atomic.c,
+ config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
+ * config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/arm/t-bpabi, config/arm/t-linux: Remove.
+ * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
+ (LIB2FUNCS_STATIC_EXTRA): Remove.
+ * config/arm/t-netbsd: Remove.
+ * config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
+ * config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/bfin/t-bfin-linux: Likewise.
+ * config/bfin/t-bfin-uclinux: Likewise.
+ * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
+ config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
+ config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
+ config/c6x/ltf.c: Move to ../libgcc/config/c6x.
+ * config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA): Remove.
+ * config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/cris/arit.c: Move to ../libgcc/config/cris.
+ * config/cris/cris_abi_symbol.c: Remove.
+ * config/cris/cris.h: Remove obsolete comment.
+ * config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
+ * config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
+ ($(LIB2FUNCS_EXTRA)): Remove.
+ * config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
+ (LIBGCC): Remove.
+ * config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/fr30/t-fr30: Remove.
+ * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
+ config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
+ config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
+ to ../libgcc/config/frv.
+ * config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
+ (cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
+ (ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
+ config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
+ config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
+ * config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
+ * config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
+ * config/i386/t-cygwin: Remove.
+ * config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_EXCLUDE): Remove.
+ * config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
+ * config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/t-mingw-w32: Likewise.
+ * config/i386/t-mingw-w64: Likewise.
+ * config/i386/t-openbsd: Likewise.
+ * config/i386/t-nto: Remove.
+ * config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
+ * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
+ (quadlib.c): Remove.
+ * config/ia64/t-ia64: Remove comment.
+ * config/iq2000/lib2extra-funcs.c: Move to
+ ../libgcc/config/iq2000/lib2funcs.c.
+ * config/iq2000/t-iq2000: Remove.
+ * config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
+ * config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
+ * config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
+ * config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
+ * config/m68k/t-floatlib: Remove.
+ * config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
+ Fix typo.
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
+ * config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
+ * config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
+ * config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/mips/t-isa3264: Likewise.
+ * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
+ * config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
+ (LIB2FUNCS_STATIC_EXTRA): Remove.
+ * config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
+ * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/pa/fptr.c, config/pa/linux-atomic.c: Move to
+ ../libgcc/config/pa.
+ * config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
+ * config/pa/quadlib.c: Move to ../libgcc/config/pa.
+ * config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/pa/t-linux, config/pa/t-linux64: Remove.
+ * config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
+ config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
+ * config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
+ Remove.
+ * config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
+ * config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
+ (TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
+ * config/rs6000/crtresfpr.asm: Move to
+ ../libgcc/config/rs6000/crtresfpr.S.
+ * config/rs6000/crtresgpr.asm: Move to
+ ../libgcc/config/rs6000/crtresgpr.S.
+ * config/rs6000/crtresxfpr.asm: Move to
+ ../libgcc/config/rs6000/crtresxfpr.S.
+ * config/rs6000/crtresxgpr.asm: Move to
+ ../libgcc/config/rs6000/crtresxgpr.S.
+ * config/rs6000/crtsavfpr.asm: Move to
+ ../libgcc/config/rs6000/crtsavfpr.S.
+ * config/rs6000/crtsavgpr.asm: Move to
+ ../libgcc/config/rs6000/crtsavgpr.S.
+ * config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
+ * config/rs6000/darwin-fpsave.asm: Move to
+ ../libgcc/config/rs6000/darwin-fpsave.S.
+ * config/rs6000/darwin-gpsave.asm: Move to
+ ../libgcc/config/rs6000/darwin-gpsave.S.
+ * config/rs6000/darwin-tramp.asm: Move to
+ ../libgcc/config/rs6000/darwin-tramp.S.
+ * config/rs6000/darwin-vecsave.asm: Move to
+ ../libgcc/config/rs6000/darwin-vecsave.S.
+ * config/rs6000/darwin-world.asm: Move to
+ ../libgcc/config/rs6000/darwin-world.S.
+ * config/rs6000/e500crtres32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtres32gpr.S.
+ * config/rs6000/e500crtres64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtres64gpr.S.
+ * config/rs6000/e500crtres64gprctr.asm: Move to
+ ../libgcc/config/rs6000/e500crtres64gprctr.S.
+ * config/rs6000/e500crtrest32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtrest32gpr.S.
+ * config/rs6000/e500crtrest64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtrest64gpr.S.
+ * config/rs6000/e500crtresx32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtresx32gpr.S.
+ * config/rs6000/e500crtresx64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtresx64gpr.S.
+ * config/rs6000/e500crtsav32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsav32gpr.S.
+ * config/rs6000/e500crtsav64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsav64gpr.S.
+ * config/rs6000/e500crtsav64gprctr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsav64gprctr.S.
+ * config/rs6000/e500crtsavg32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsavg32gpr.S.
+ * config/rs6000/e500crtsavg64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsavg64gpr.S.
+ * config/rs6000/e500crtsavg64gprctr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsavg64gprctr.S.
+ * config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
+ * config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/rs6000/t-aix52: Likewise.
+ * config/rs6000/t-darwin: Remove.
+ * config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
+ (LIB2FUNCS_EXTRA): Remove.
+ * config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
+ (crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
+ (INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
+ ($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext))
+ ($(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
+ * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
+ * config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/rs6000/t-vxworks: Remove comment.
+ * config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
+ * config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/sh/linux-atomic.asm: Move to
+ ../libgcc/config/sh/linux-atomic.S.
+ * config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
+ * config/sh/t-netbsd: Remove.
+ * config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
+ Remove.
+ * config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/sparc/t-leon: Likewise.
+ * config/sparc/t-leon3: Likewise.
+ * config/sparc/t-linux64: Likewise.
+ * config/sparc/t-netbsd64: Fix typo.
+ Remove comment.
+ * config/spu/divmodti4.c, config/spu/divv2df3.c,
+ config/spu/float_disf.c, config/spu/float_unsdidf.c,
+ config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
+ config/spu/mfc_multi_tag_release.c,
+ config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
+ config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
+ config/spu/multi3.c: Move to ../libgcc/config/spu.
+ * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
+ (LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/stormy16/stormy16-lib2.c: Move to
+ ../libgcc/config/stormy16/lib2.c.
+ * config/stormy16/stormy16-lib2-ashlsi3.c: Move to
+ ../libgcc/config/stormy16/ashlsi3.c.
+ * config/stormy16/stormy16-lib2-ashrsi3.c: Move to
+ ../libgcc/config/stormy16/ashrsi3.c.
+ * config/stormy16/stormy16-lib2-clzhi2.c: Move to
+ ../libgcc/config/stormy16/clzhi2.c.
+ * config/stormy16/stormy16-lib2-cmpsi2.c: Move to
+ ../libgcc/config/stormy16/cmpsi2.c.
+ * config/stormy16/stormy16-lib2-ctzhi2.c: Move to
+ ../libgcc/config/stormy16/ctzhi2.c.
+ * config/stormy16/stormy16-lib2-divsi3.c: Move to
+ ../libgcc/config/stormy16/divsi3.c.
+ * config/stormy16/stormy16-lib2-ffshi2.c: Move to
+ ../libgcc/config/stormy16/ffshi2.c.
+ * config/stormy16/stormy16-lib2-lshrsi3.c: Move to
+ ../libgcc/config/stormy16/lshrsi3.c.
+ * config/stormy16/stormy16-lib2-modsi3.c: Move to
+ ../libgcc/config/stormy16/modsi3.c.
+ * config/stormy16/stormy16-lib2-parityhi2.c: Move to
+ ../libgcc/config/stormy16/parityhi2.c.
+ * config/stormy16/stormy16-lib2-popcounthi2.c: Move to
+ ../libgcc/config/stormy16/popcounthi2.c.
+ * config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
+ ../libgcc/config/stormy16/ucmpsi2.c.
+ * config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
+ ../libgcc/config/stormy16/udivmodsi4.c.
+ * config/stormy16/stormy16-lib2-udivsi3.c: Move to
+ ../libgcc/config/stormy16/udivsi3.c.
+ * config/stormy16/stormy16-lib2-umodsi3.c: Move to
+ ../libgcc/config/stormy16/umodsi3.c.
+ * config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
+ * config/v850/t-v850 (INSTALL_LIBGCC): Remove.
+ * config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
+ * config/xtensa/t-elf: Remove.
+ * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
+ * config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
+ from tmake_file.
+ (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
+ *-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
+ (*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
+ (*-*-openbsd*): Likewise.
+ Remove t-openbsd-thread for posix threads.
+ (alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee from tmake_file.
+ (alpha*-*-freebsd*): Likewise.
+ (alpha*-*-netbsd*): Likewise.
+ (alpha*-*-openbsd*): Likewise.
+ (alpha64-dec-*vms*): Likewise.
+ (alpha*-dec-*vms*): Likewise.
+ (arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
+ (arm*-*-linux*): Remove t-linux from tmake_file.
+ Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
+ (arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
+ arm*-*-uclinux*eabi.
+ (arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
+ tmake_file for arm*-*-eabi*.
+ (fr30-*-elf): Remove tmake_file.
+ (hppa*64*-*-linux*): Remove tmake_file.
+ (hppa*-*-linux*): Likewise.
+ (hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
+ tmake_file.
+ (hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
+ (hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
+ tmake_file.
+ (i[34567]86-*-elf*): Remove tmake_file.
+ (x86_64-*-elf*): Likewise.
+ (i[34567]86-*-nto-qnx*): Likewise.
+ (i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
+ (i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
+ from tmake_file if using win32 threads.
+ (iq2000*-*-elf*): Remove tmake-file.
+ (microblaze*-linux*): Likewise.
+ (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
+ (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
+ (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
+ (sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
+ sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
+ (xtensa*-*-elf*): Remove tmake_file.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (LIB1ASMSRC): Don't export.
+ (libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
+ * config/arm/arm.c: Update lib1funcs.asm filename.
+ * config/arm/linux-eabi.h: Likewise.
+ * config/arm/bpabi-v6m.S, config/arm/bpabi.S,
+ config/arm/ieee754-df.S, config/arm/ieee754-sf.S: Move to
+ ../libgcc/config/arm.
+ * config/arm/lib1funcs.asm: Move to ../libgcc/config/arm/lib1funcs.S.
+ * config/arm/t-arm (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/arm/t-arm-elf (LIB1ASMFUNCS): Remove.
+ * config/arm/t-bpabi: Likewise.
+ * config/arm/t-linux (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/arm/t-linux-eabi (LIB1ASMFUNCS): Remove.
+ * config/arm/t-strongarm-elf: Likewise.
+ * config/arm/t-symbian: Likewise.
+ * config/arm/t-vxworks: Likewise.
+ * config/arm/t-wince-pe: Likewise.
+ * config/avr/libgcc.S: Move to ../libgcc/config/avr.
+ * config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/bfin/lib1funcs.asm: Move to ../libgcc/config/bfin/lib1funcs.S.
+ * config/bfin/t-bfin: Remove.
+ * config/bfin/t-bfin-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/bfin/t-bfin-linux: Likewise.
+ * config/bfin/t-bfin-uclinux: Likewise.
+ * config/c6x/lib1funcs.asm: Move to ../libgcc/config/c6x/lib1funcs.S.
+ * config/c6x/t-c6x-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/fr30/lib1funcs.asm: Move to ../libgcc/config/fr30/lib1funcs.S.
+ * config/fr30/t-fr30 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/frv/lib1funcs.asm: Move to ../libgcc/config/frv/lib1funcs.S.
+ * config/frv/t-frv (CROSS_LIBGCC1, LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/h8300/fixunssfsi.c: Update lib1funcs.asm filename.
+ * config/h8300/lib1funcs.asm: Move to
+ ../libgcc/config/h8300/lib1funcs.S.
+ * config/h8300/t-h8300 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/i386/cygwin.asm: Move to ../libgcc/config/i386/cygwin.S.
+ * config/i386/t-cygming (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/i386/t-interix: Likewise.
+ * config/ia64/lib1funcs.asm: Move to ../libgcc/config/ia64/lib1funcs.S.
+ * config/ia64/t-hpux (LIB1ASMFUNCS, LIBGCC1_TEST): Remove.
+ * config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/iq2000/t-iq2000 (LIBGCC1, CROSS_LIBGCC1): Remove.
+ * config/m32c/m32c.c: Update m32c-lib1.S filename.
+ * config/m32c/m32c-lib1.S: Move to ../libgcc/config/m32c/lib1funcs.S.
+ * config/m32c/t-m32c (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/m32r/t-linux (CROSS_LIBGCC1, LIBGCC1, LIBGCC1_TEST): Remove.
+ * config/m68k/lb1sf68.asm: Move to ../libgcc/config/m68k/lb1sf68.S.
+ * config/m68k/t-floatlib (LIB1ASMSRC, LIB1ASMFUNCS): New file.
+ * config/mcore/lib1.asm: Move to ../libgcc/config/mcore/lib1funcs.S.
+ * config/mcore/t-mcore (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/mep/mep-lib1.asm: Move to ../libgcc/config/mep/lib1funcs.S.
+ * config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/mips/mips16.S: Move to ../libgcc/config/mips.
+ * config/mips/t-libgcc-mips16: Remove.
+ * config/mips/t-sr71k (LIBGCC1, CROSS_LIBGCC1): Remove.
+ * config/pa/milli64.S: Move to ../libgcc/config/pa.
+ * config/pa/t-linux (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
+ * config/pa/t-linux64: Likewise.
+ * config/picochip/libgccExtras/fake_libgcc.asm: Move to
+ ../libgcc/config/picochip/lib1funcs.S.
+ * config/picochip/t-picochip (LIB1ASMFUNCS, LIB1ASMSRC): Remove.
+ * config/sh/lib1funcs.asm: Move to ../libgcc/config/sh/lib1funcs.S.
+ * config/sh/lib1funcs.h: Move to ../libgcc/config/sh.
+ * config/sh/sh.h: Update lib1funcs.asm filename.
+ * config/sh/t-linux (LIB1ASMFUNCS_CACHE): Remove.
+ * config/sh/t-netbsd: Likewise.
+ * config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE):
+ Remove.
+ * config/sh/t-sh64 (LIB1ASMFUNCS): Remove.
+ * config/sparc/lb1spc.asm: Move to ../libgcc/config/sparc/lb1spc.S.
+ * config/sparc/lb1spl.asm: Remove.
+ * config/sparc/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config/sparc/t-leon: Likewise.
+ * config/spu/t-spu-elf (LIBGCC1, CROSS_LIBGCC1): Remove.
+ * config/v850/lib1funcs.asm: Move to ../libgcc/config/v850/lib1funcs.S.
+ * config/v850/t-v850 (LIB1ASMSRC, LIB1ASMFUNCS): Remove
+ * config/vax/lib1funcs.asm: Move to ../libgcc/config/vax/lib1funcs.S.
+ * config/vax/t-linux: Remove.
+ * config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S: Move to
+ ../libgcc/config/xtensa.
+ * config/xtensa/lib1funcs.asm: Move to
+ ../libgcc/config/xtensa/lib1funcs.S.
+ * config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Remove.
+ * config.gcc (bfin*-rtems*): Remove bfin/t-bfin from tmake_file.
+ (bfin*-*): Likewise.
+ (mips64*-*-linux*, mipsisa64*-*-linux*): Remove
+ mips/t-libgcc-mips16 from tmake_file.
+ (mips*-*-linux*): Likewise.
+ (mips*-sde-elf*): Likewise.
+ (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
+ (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
+ (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Likewise.
+ (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
+ (mips-*-elf*, mipsel-*-elf*): Likewise.
+ (mips64-*-elf*, mips64el-*-elf*): Likewise.
+ (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
+ (mips*-*-rtems*): Likewise.
+ (mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
+ (vax-*-linux*): Remove vax/t-linux from tmake_file.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (extra_parts): Remove.
+ (*-*-freebsd*): Remove extra_parts.
+ (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
+ *-*-gnu*, *-*-kopensolaris*-gnu): Likewise.
+ (*-*-netbsd*): Remove t-libc-ok, t-netbsd from tmake_file.
+ Remove extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
+ *-*-netbsdelf[2-9]*.
+ (*-*-openbsd*): Remove t-libc-ok from tmake_file.
+ (alpha*-*-linux*): Remove extra_parts.
+ (alpha*-*-freebsd*): Likewise.
+ (bfin*-linux-uclibc*): Likewise.
+ (fr30-*-elf): Likewise.
+ (moxie-*-elf): Likewise.
+ (moxie-*-uclinux*): Likewise.
+ (h8300-*-rtems*): Remove h8300/t-elf from tmake_file.
+ (h8300-*-elf*): Likewise.
+ (hppa*64*-*-hpux11*): Remove extra_parts.
+ (i[34567]86-*-elf*): Remove i386/t-i386elf, i386/t-crtstuff from
+ tmake_file.
+ (x86_64-*-elf*): Likewise.
+ (i[34567]86-*-freebsd*): Remove tmake_file.
+ (x86_64-*-freebsd*): Likewise.
+ (x86_64-*-netbsd*): Likewise.
+ (i[34567]86-*-openbsd2.*, i[34567]86-*openbsd3.[0123]): Remove
+ t-libc-ok from tmake_file.
+ (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
+ i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
+ i[34567]86-*-kopensolaris*-gnu): Remove i386/t-crtstuff from
+ tmake_file.
+ Remove extra_parts.
+ (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
+ Remove i386/t-crtstuff from tmake_file.
+ (i[34567]86-*-lynxos*): Likewise.
+ Remove extra_parts.
+ (ia64*-*-elf*): Remove extra_parts.
+ (ia64*-*-freebsd*): Likewise.
+ (ia64*-*-linux*): Likewise.
+ (ia64-hp-*vms*): Remove ia64/t-vms from tmake_file.
+ (m32r-*-elf*): Remove extra_parts.
+ (m32rle-*-elf*): Likewise.
+ (m32r-*-rtems*): Likewise.
+ (m68k-*-elf*, fido-*-elf*): Likewise.
+ (m68k*-*-openbsd*): Remove t-libc-ok from tmake_file.
+ (m68k-*-rtems*): Remove extra_parts.
+ (mep-*-*): Likewise.
+ (microblaze*-linux*): Likewise.
+ (mips64*-*-linux*, mipsisa64*-*-linux*): Likewise.
+ (mips*-*-linux*): Likewise.
+ (powerpc-*-lynxos*): Likewise.
+ (s390x-ibm-tpf*): Likewise.
+ (score-*-elf): Likewise.
+ Remove tmake_file.
+ (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*, sh[2346lbe]*-*-linux*,
+ sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*, sh5l*-*-netbsd*,
+ sh64-*-netbsd*, sh64l*-*-netbsd*): Remove sh/t-elf from tmake_file.
+ Remove sh/t-superh from tmake_file for sh*-superh-elf.
+ Remove sh/t-linux64 from tmake_file for sh64*-*-linux*.
+ (sh-*-rtems*): Remove sh/t-elf from tmake_file.
+ (sh-wrs-vxworks): Likewise.
+ (sparc-*-linux*): Remove extra_parts.
+ (sparc64-*-linux*): Likewise.
+ (sparc64-*-freebsd*, ultrasparc-*-freebsd*): Likewise.
+ (xstormy16-*-elf): Likewise.
+ (xtensa*-*-linux*): Remove xtensa/t-linux from tmake_file.
+ (am33_2.0-*-linux*): Remove extra_parts.
+ * configure.ac (extra_parts): Don't substitute.
+ * configure: Regenerate.
+ * crtstuff.c: Move to ../libgcc.
+ * Makefile.in (CRTSTUFF_CFLAGS): Remove.
+ (EXTRA_PARTS): Remove.
+ (CRTSTUFF_T_CFLAGS): Remove.
+ (MOSTLYCLEANFILES): Remove $(EXTRA_PARTS).
+ (GCC_EXTRA_PARTS): Remove.
+ (libgcc.mvars): Remove GCC_EXTRA_PARTS, CRTSTUFF_CFLAGS,
+ CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S.
+ Emit GCC_CFLAGS, INHIBIT_LIBC_CFLAGS.
+ ($(T)crtbegin.o, $(T)crtend.o, $(T)crtbeginS.o, $(T)crtendS.o)
+ ($(T)crtbeginT.o): Remove.
+ * config/alpha/t-vms (EXTRA_PARTS): Remove.
+ ($(T)vms-dwarf2.o, $(T)vms-dwarf2eh.o): Remove.
+ * config/alpha/vms-dwarf2.asm: Move to
+ ../libgcc/config/alpha/vms-dwarf2.S.
+ * config/alpha/vms-dwarf2eh.asm: Move to
+ ../libgcc/config/alpha/vms-dwarf2eh.S.
+ * config/arm/crti.asm: Move to ../libgcc/config/arm/crti.S.
+ * config/arm/crtn.asm: Move to ../libgcc/config/arm/crtn.S.
+ * config/arm/t-arm-elf (EXTRA_MULTILIB_PARTS): Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ * config/arm/t-linux: Remove comment.
+ * config/arm/t-linux-eabi (EXTRA_MULTILIB_PARTS): Remove.
+ * config/arm/t-strongarm-elf (EXTRA_MULTILIB_PARTS): Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ * config/arm/t-symbian (EXTRA_MULTILIB_PARTS): Remove.
+ * config/bfin/crti.s: Move to ../libgcc/config/bfin/crti.S.
+ * config/bfin/crtn.s: Move to ../libgcc/config/bfin/crtn.S.
+ * config/bfin/crtlibid.s: Move to ../libgcc/config/bfin/crtlibid.S.
+ * config/bfin/t-bfin (EXTRA_PARTS): Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ * config/bfin/t-bfin-elf (CRTSTUFF_T_CFLAGS): Remove.
+ ($(T)crti.o, $(T)crtn.o, $(T)crtlibid.o): Remove
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/bfin/t-bfin-linux (CRTSTUFF_T_CFLAGS,
+ EXTRA_MULTILIB_PARTS): Remove.
+ * config/bfin/t-bfin-uclinux (CRTSTUFF_T_CFLAGS): Remove.
+ ($(T)crtlibid.o): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/c6x/crti.s: Move to ../libgcc/config/c6x/crti.S.
+ * config/c6x/crtn.s: Move to ../libgcc/config/c6x/crtn.S.
+ * config/c6x/t-c6x-elf ($(T)crti.o, $(T)crtn.o): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/c6x/t-c6x-uclinux (CRTSTUFF_T_CFLAGS,
+ CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Remove.
+ * config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/fr30/crti.asm: Move to ../libgcc/config/fr30/crti.S.
+ * config/fr30/crtn.asm: Move to ../libgcc/config/fr30/crtn.S.
+ * config/fr30/t-fr30 ($(T)crti.o, $(T)crtn.o): Remove.
+ * config/frv/frvbegin.c, config/frv/frvend.c: Move to
+ ../libgcc/config/frv.
+ * config/frv/t-frv (EXTRA_MULTILIB_PARTS): Remove.
+ (FRVSTUFF_CFLAGS, $(T)frvbegin$(objext), $(T)frvend$(objext)): Remove.
+ * config/frv/t-linux (EXTRA_MULTILIB_PARTS): Remove.
+ (CRTSTUFF_T_CFLAGS): Remove.
+ * config/h8300/crti.asm: Move to ../libgcc/config/h8300/crti.S.
+ * config/h8300/crtn.asm: Move to ../libgcc/config/h8300/crtn.S.
+ * config/h8300/t-elf: Remove.
+ * config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
+ Move to ../libgcc/config/i386.
+ * config/i386/t-crtstuff: Remove.
+ * config/i386/t-i386elf: Remove.
+ * config/i386/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
+ * config/i386/t-nto (CRTSTUFF_T_CFLAGS, EXTRA_PARTS): Remove.
+ * config/ia64/crtbegin.asm: Move to ../libgcc/config/ia64/crtbegin.S.
+ * config/ia64/crtend.asm: Move to ../libgcc/config/ia64/crtend.S.
+ * config/ia64/crti.asm: Move to ../libgcc/config/ia64/crti.S.
+ * config/ia64/crtn.asm: Move to ../libgcc/config/ia64/crtn.S.
+ * config/ia64/t-vms: Remove.
+ * config/ia64/vms-crtinit.asm: Move to
+ ../libgcc/config/ia64/vms-crtinit.S.
+ * config/m32c/t-m32c (EXTRA_MULTILIB_PARTS): Remove.
+ * config/m32r/initfini.c: Move to ../libgcc/config/m32r.
+ * config/m32r/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/m32r/t-m32r (CRTSTUFF_T_CFLAGS): Remove.
+ ($(T)crtinit.o, $(T)crtfini.o): Remove.
+ (m32rx, m32r2): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/m68k/crti.s: Move to ../libgcc/config/m68k/crti.S.
+ * config/m68k/crtn.s: Move to ../libgcc/config/m68k/crtn.S.
+ * config/m68k/t-crtstuff: Remove.
+ * config/m68k/t-linux (EXTRA_MULTILIB_PARTS): Remove.
+ * config/m68k/t-m68kelf: Remove.
+ * config/m68k/t-uclinux (EXTRA_MULTILIB_PARTS): Remove.
+ * config/mcore/crti.asm: Move to ../libgcc/config/mcore/crti.S.
+ * config/mcore/crtn.asm: Move to ../libgcc/config/mcore/crtn.S.
+ * config/mcore/t-mcore ($(T)crti.o, $(T)crtn.o): Remove.
+ (EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
+ * config/mep/t-mep (CRTSTUFF_CFLAGS): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/microblaze/crti.s: Move to ../libgcc/config/microblaze/crti.S.
+ * config/microblaze/crtn.s: Move to ../libgcc/config/microblaze/crtn.S.
+ * config/microblaze/t-microblaze (EXTRA_MULTILIB_PARTS,
+ EXTRA_PARTS): Remove.
+ ($(T)crti$(objext), $(T)crtn$(objext)): Remove.
+ * config/mips/crti.asm: Move to ../libgcc/config/mips/crti.S.
+ * config/mips/crtn.asm: Move to ../libgcc/config/mips/crtn.S.
+ * config/mips/t-elf (CRTSTUFF_T_CFLAGS): Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/mips/t-isa3264: Likewise.
+ * config/mips/t-linux64 (EXTRA_MULTILIB_PARTS): Remove.
+ * config/mips/t-r3900 (EXTRA_MULTILIB_PARTS): Remove.
+ (CRTSTUFF_T_CFLAGS): Remove.
+ * config/mips/t-sde (CRTSTUFF_T_CFLAGS): Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/mips/t-sr71k (EXTRA_MULTILIB_PARTS, CRTSTUFF_T_CFLAGS):
+ Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ * config/mips/t-st (EXTRA_MULTILIB_PARTS): Remove.
+ * config/mips/t-vr (CRTSTUFF_T_CFLAGS): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ * config/mmix/crti.asm: Move to ../libgcc/config/crti.S.
+ * config/mmix/crtn.asm: Move to ../libgcc/config/crtn.S.
+ * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Remove.
+ * config/moxie/crti.asm, config/moxie/crtn.asm: Remove.
+ * config/pa/stublib.c: Move to libgcc/config/pa.
+ * config/pa/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/pa/t-linux64 (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/pa/t-pa-hpux11 (LIBGCCSTUB_OBJS, stublib.c): Remove.
+ (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
+ (pthread_mutex_unlock-stub.o, pthread_once-stub.o)
+ ($(T)libgcc_stub.a): Remove.
+ * config/pa/t-pa64 (LIBGCCSTUB_OBJS, stublib.c): Remove.
+ (rfi-stub.o, dfi-stub.o, cxaf-stub.o, jvrc-stub.o)
+ (pthread_default_stacksize_np-stub.o, pthread_mutex_lock-stub.o)
+ (pthread_mutex_unlock-stub.o, pthread_once-stub.o)
+ ($(T)libgcc_stub.a): Remove.
+ * config/rs6000/eabi-cn.asm: Move to
+ ../../../libgcc/config/rs6000/eabi-cn.S.
+ * config/rs6000/eabi-ci.asm: Move to
+ ../../../libgcc/config/rs6000/eabi-ci.S.
+ * config/rs6000/sol-ci.asm: Move to
+ ../../../libgcc/config/rs6000/sol-ci.S.
+ * config/rs6000/sol-cn.asm: Move to
+ ../../../libgcc/config/rs6000/sol-cn.S.
+ * config/rs6000/t-lynx (EXTRA_MULTILIB_PARTS): Remove.
+ (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/rs6000/t-netbsd (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S):
+ Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/rs6000/t-ppccomm (EXTRA_MULTILIB_PARTS): Remove.
+ (ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
+ ($(T)ecrti$(objext), $(T)ecrtn$(objext), $(T)ncrti$(objext),
+ ($(T)ncrtn$(objext)): Remove.
+ (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/rs6000/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
+ * config/rx/t-rx (EXTRA_MULTILIB_PARTS): Remove.
+ * config/score/crti.asm: Move to ../libgcc/config/score/crti.S.
+ * config/score/crtn.asm: Move to ../libgcc/config/score/crtn.S.
+ * config/score/t-score-elf: Remove.
+ * config/sh/crt1.asm: Move to ../libgcc/config/sh/crt1.S.
+ * config/sh/crti.asm: Move to ../libgcc/config/sh/crti.S.
+ * config/sh/crtn.asm: Move to ../libgcc/config/sh/crtn.S.
+ * config/sh/lib1funcs-4-300.asm: Move to
+ ../../../libgcc/config/sh/lib1funcs-4-300.S.
+ * config/sh/lib1funcs-Os-4-200.asm: Move to
+ ../libgcc/config/sh/lib1funcs-Os-4-200.S.
+ * config/sh/t-elf: Remove.
+ * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Remove.
+ * config/sh/t-linux64: Remove.
+ * config/sh/t-netbsd (EXTRA_MULTILIB_PARTS): Remove.
+ * config/sh/t-sh ($(T)crt1.o, $(T)crti.o, $(T)crtn.o): Remove.
+ (IC_EXTRA_PARTS, OPT_EXTRA_PARTS, EXTRA_MULTILIB_PARTS): Remove.
+ ($(T)ic_invalidate_array_4-100.o)
+ ($(T)libic_invalidate_array_4-100.a)
+ ($(T)ic_invalidate_array_4-200.o)
+ ($(T)libic_invalidate_array_4-200.a, $(T)ic_invalidate_array_4a.o)
+ ($(T)libic_invalidate_array_4a.a, $(T)sdivsi3_i4i-Os-4-200.o)
+ ($(T)udivsi3_i4i-Os-4-200.o, $(T)unwind-dw2-Os-4-200.o)
+ ($(T)libgcc-Os-4-200.a, $(T)div_table-4-300.o)
+ ($(T)libgcc-4-300.a): Remove.
+ * config/sh/t-superh: Remove.
+ * config/sh/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
+ * config/sparc/t-linux64 (CRTSTUFF_T_CFLAGS): Remove.
+ * config/spu/cache.S: Move to ../libgcc/config/spu.
+ * config/spu/cachemgr.c: Move to ../libgcc/config/spu.
+ * config/spu/t-spu-elf (CRTSTUFF_T_CFLAGS): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ ($(T)cachemgr.o, $(T)cachemgr_nonatomic.o, $(T)libgcc_%.a): Remove.
+ ($(T)cache8k.o, $(T)cache16k.o, $(T)cache32k.o, $(T)cache32k.o)
+ ($(T)cache64k.o, $(T)cache128k.o): Remove.
+ * config/t-freebsd (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/t-libc-ok: Remove.
+ * config/t-linux (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/t-lynx (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/t-netbsd: Remove.
+ * config/t-svr4 (CRTSTUFF_T_CFLAGS_S): Remove.
+ * config/t-vxworks (EXTRA_MULTILIB_PARTS): Remove.
+ * config/vms/t-vms (VMS_EXTRA_PARTS): Remove.
+ ($(T)vcrt0.o, $(T)pcrt0.o): Remove.
+ * config/vms/vms-ucrt0.c: Move to ../libgcc/config/vms.
+ * config/xtensa/crti.asm: Move to ../libgcc/config/xtensa/crti.S.
+ * config/xtensa/crtn.asm: Move to ../libgcc/config/xtensa/crtn.S.
+ * config/xtensa/t-elf (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Remove.
+ (EXTRA_MULTILIB_PARTS): Remove.
+ * config/xtensa/t-linux: Remove.
+ * config/xtensa/t-xtensa ($(T)crti.o, $(T)crtn.o): Remove.
+
+2011-11-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (bdesc_args) [IX86_BUILTIN_CVTTPD2DQ256]: Use
+ CODE_FOR_fix_truncv4dfv4si2, not CODE_FOR_fix_truncv4sfv4si2.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR translation/45116
+ * Makefile.in (slibdir): Remove, don't export.
+ (SHLIB_NM_FLAGS): Remove.
+ (libgcc.mvars): Don't emit SHLIB_LINK, SHLIB_INSTALL,
+ SHLIB_DLLDIR, SHLIB_EXT, SHLIB_MKMAP, SHLIB_MKMAP_OPTS,
+ SHLIB_MAPFILES, SHLIB_NM_FLAGS.
+ (DRIVER_DEFINES): Test SHLIB instead of SHLIB_LINK.
+ (gcc.o): Pass SHLIB instead of SHLIB_LINK.
+ (gccspec.o): Likewise.
+ (installdirs): Don't create $(DESTDIR)$(slibdir).
+ * configure.ac (slibdir): Remove.
+ * configure: Regenerate.
+ * libgcc-libsystem.ver: Move to ../libgcc/config.
+ * mkmap-flat.awk, mkmap-symver.awk: Move to ../libgcc.
+ * config/libgcc-glibc.ver: Move to ../libgcc/config.
+ * config/t-libunwind (SHLIB_LC): Remove.
+ * config/t-linux (SHLIB_MAPFILES): Remove.
+ * config/t-slibgcc-dummy: Rename to config/t-slibgcc.
+ * config/t-slibgcc-elf-ver: Remove.
+ * config/t-slibgcc-libgcc, config/t-slibgcc-nolc-override: Move to
+ ../libgcc/config.
+ * config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: Move
+ to ../libgcc/config/alpha.
+ * config/alpha/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
+ SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_SYMVEC,
+ SHLIB_SYMVECX2, SHLIB_LINK): Remove.
+ * config/arm/libgcc-bpabi.ver: Move to ../libgcc/config/arm.
+ * config/arm/t-bpabi (SHLIB_MAPFILES): Remove.
+ * config/arm/t-netbsd (SHLIB_EXT, SHLIB_NAME, SHLIB_SONAME,
+ SHLIB_OBJS, SHLIB_LINK, SHLIB_INSTALL): Remove.
+ * config/arm/t-symbian (SHLIB_LC): Remove.
+ * config/bfin/libgcc-bfin.ver: Move to
+ ../libgcc/config/bfin/libgcc-glibc.ver.
+ * config/bfin/t-bfin-linux (SHLIB_MAPFILES): Remove.
+ * config/c6x/libgcc-c6xeabi.ver: Move to
+ ../libgcc/config/c6x/libgcc-eabi.ver.
+ * config/c6x/t-c6x-elf (SHLIB_MAPFILES): Remove.
+ * config/cris/libgcc.ver: Move to
+ ../libgcc/config/cris/libgcc-glibc.ver.
+ * config/cris/t-linux (SHLIB_MAPFILES): Remove.
+ * config/frv/libgcc-frv.ver: Move to ../libgcc/config/frv.
+ * config/frv/t-linux (SHLIB_MAPFILES): Remove.
+ * config/i386/darwin-libgcc.10.4.ver: Move to
+ ../libgcc/config/i386/libgcc-darwin.10.4.ver.
+ * config/i386/darwin-libgcc.10.5.ver: Move to
+ ../libgcc/config/i386/libgcc-darwin.10.5.ver.
+ * config/i386/libgcc-glibc.ver: Move to ../libgcc/config/i386.
+ * config/i386/t-cygming (SHLIB_EXT, SHLIB_IMPLIB, SHLIB_SOVERSION,
+ SHLIB_SONAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_DIR, SHLIB_SLIBDIR_QUAL)
+ SHLIB_PTHREAD_CFLAG, SHLIB_PTHREAD_LDFLAG, SHLIB_LINK,
+ SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MKMAP_OPTS, SHLIB_MAPFILES): Remove.
+ * config/i386/t-cygwin (SHLIB_LC, SHLIB_EH_EXTENSION,
+ SHLIB_IMPLIB, SHLIB_SONAME, SHLIB_MKMAP_OPTS): Remove.
+ * config/i386/t-dlldir, config/i386/t-dlldir-x: Move to
+ ../libgcc/config/i386.
+ * config/i386/t-dw2-eh, config/i386/t-sjlj-eh: Move to
+ ../libgcc/config/i386.
+ * config/i386/t-linux: Move to ../libgcc/config/i386.
+ * config/i386/t-mingw-pthread: Move to ../libgcc/config/i386.
+ * config/i386/t-mingw-w32 (SHLIB_LC): Remove.
+ * config/i386/t-mingw-w64: Likewise.
+ * config/i386/t-mingw32: Remove.
+ * config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: Move
+ to ../libgcc/config/ia64.
+ * config/ia64/t-glibc: Remove.
+ * config/ia64/t-hpux (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL): Remove.
+ * config/ia64/t-ia64 (SHLIB_MAPFILES): Remove.
+ * config/ia64/t-vms (shlib_version, SHLIB_EXT, SHLIB_OBJS,
+ SHLIB_NAME, SHLIB_MULTILIB, SHLIB_INSTALL, SHLIB_LINK): Remove.
+ * config/ia64/vms_symvec_libgcc_s.opt: Remove.
+ * config/m32r/libgcc-glibc.ver: Move to ../libgcc/config/m32r.
+ * config/m32r/t-linux (SHLIB_MAPFILES): Remove.
+ * config/m68k/t-slibgcc-elf-ver: Move to ../libgcc/config/m68k.
+ * config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Remove.
+ * config/pa/t-hpux-shlib: Move to ../libgcc/config/pa/t-slibgcc-hpux.
+ * config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver:
+ Move to ../libgcc/config/pa.
+ * config/rs6000/darwin-libgcc.10.4.ver: Move to
+ ../libgcc/config/rs6000/libgcc-darwin.10.4.ver.
+ * config/rs6000/darwin-libgcc.10.5.ver: Move to
+ ../libgcc/config/rs6000/libgcc-darwin.10.5.ver.
+ * config/rs6000/t-aix43 (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL,
+ SHLIB_LIBS, SHLIB_MKMAP, SHLIB_NM_FLAGS, AR_FLAGS_FOR_TARGET): Remove.
+ * config/rs6000/t-aix52: Likewise.
+ * config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: Move to
+ ../libgcc/config/sh.
+ * config/sparc/libgcc-sparc-glibc.ver: Move to
+ ../libgcc/config/sparc/libgcc-glibc.ver.
+ * config/sparc/t-linux: Move to ../libgcc/config/sparc.
+ * config/xtensa/t-linux (SHLIB_MAPFILES): Remove.
+ * config/xtensa/libgcc-xtensa.ver: Move to
+ ../libgcc/config/xtensa/libgcc-glibc.ver.
+ * config.gcc (*-*-freebsd*): Replace t-slibgcc-elf-ver with
+ t-slibgcc in tmake_file.
+ Remove t-slibgcc-nolc-override for *-*-freebsd[34],
+ *-*-freebsd[34].* with pthreads.
+ (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu,
+ *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Replace
+ t-slibgcc-elf-ver with t-slibgcc in tmake_file.
+ (*-*-netbsd*): Likewise.
+ (*-*-solaris2*): Replace t-slibgcc-dummy with t-slibgcc in tmake_file.
+ (*-*-*vms*): Add t-slibgcc to tmake_file.
+ (alpha*-*-linux*): Remove alpha/t-linux from tmake_file.
+ (alpha*-dec-osf5.1*): Replace t-slibgcc-dummy with t-slibgcc in
+ tmake_file.
+ (arm*-*-linux*): Remove t-slibgcc-libgcc from tmake_file for
+ arm*-*-linux-*eabi.
+ (bfin*-linux-uclibc*): Replace t-slibgcc-dummy with t-slibgcc in
+ tmake_file.
+ (crisv32-*-linux*, cris-*-linux*): Likewise.
+ (hppa*-*-linux*): Remove t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
+ pa/t-slibgcc-dwarf-ver from tmake_file.
+ (hppa[12]*-*-hpux10*): Replace pa/t-hpux-shlib with t-slibgcc in
+ tmake_file.
+ Remove pa/t-slibgcc-sjlj-ver, pa/t-slibgcc-dwarf-ver from tmake_file.
+ (hppa*64*-*-hpux11*): Likewise.
+ (hppa[12]*-*-hpux11*): Likewise.
+ (i[34567]86-*-darwin*): Replace t-slibgcc-dummy in t-slibgcc in
+ tmake_file.
+ (x86_64-*-darwin*): Likewise.
+ (i[34567]86-*-cygwin*): Remove tmake_eh_file, tmake_dlldir_file.
+ Add t-slibgcc to tmake_file.
+ (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
+ Remove i386/t-mingw32 from tmake_file unless x86_64-w64-*,
+ i[34567]86-w64-*.
+ Remove i386/t-mingw-pthread from tmake_file.
+ (ia64*-*-linux*): Remove ia64/t-glibc from tmake_file.
+ (ia64*-*-hpux*): Add t-slibgcc to tmake_file.
+ (ia64-hp-*vms*): Likewise.
+ (m32r-*-linux*): Replace t-slibgcc-elf-ver with t-slibgcc in
+ tmake_file.
+ (m32rle-*-linux*): Likewise.
+ (m68k-*-linux*): Remove m68k/t-slibgcc-elf-ver from tmake_file.
+ (microblaze*-linux*): Remove t-slibgcc-elf-ver,
+ t-slibgcc-nolc-override from tmake_file.
+ (mips-sgi-irix6.5*): Replace t-slibgcc-dummy with t-slibgcc in
+ tmake_file.
+ (powerpc-*-darwin*): Likewise.
+ (powerpc64-*-darwin*): Likewise.
+ (powerpc-*-freebsd*): Remove t-slibgcc-libgcc from tmake_file.
+ (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
+ (rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
+ t-slibgcc to tmake_file.
+ (rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
+ (rs6000-ibm-aix5.2.*, powerpc-ibm-aix5.2.*): Likewise.
+ (rs6000-ibm-aix5.3.*, powerpc-ibm-aix5.3.*): Likewise.
+ (rs6000-ibm-aix[6789].*, powerpc-ibm-aix[6789].*): Likewise.
+ (sparc-*-linux*): Remove sparc/t-linux from tmake_file.
+ (sparc64-*-linux*): Likewise.
+ (tic6x-*-uclinux): Replace t-slibgcc-elf-ver with t-slibgcc in
+ tmake_file.
+ (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu,
+ x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Remove i386/t-linux
+ from tmake_file.
+
+2011-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50902
+ * tree-vect-stmts.c (vectorizable_load): Properly convert
+ an invariant initializer element.
+
+2010-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50890
+ * gimple.h (gimple_fold_call): Remove.
+ * gimple-fold.c (fold_stmt_1): Move all call related code to ...
+ (gimple_fold_call): ... here. Make static. Update the
+ cannot-inline flag on direct calls.
+ * ipa-inline.c (early_inliner): Copy the cannot-inline flag
+ from the statements to the edges.
+
+2011-11-01 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (struct macro_hash_value): Define.
+ (macro_hash_hashval): New static function.
+ (macro_hash_eq, macro_hash_del): New static functions.
+ (go_define): Use macro_hash_value to store values in macro_hash.
+ Replace an old value on a redefinition. Don't print anything to
+ go_dump_file.
+ (go_undef): Delete the entry from the hash table.
+ (go_output_typedef): For an enum, use macro_hash_value, and don't
+ print anything to go_dump_file.
+ (go_print_macro): New static function.
+ (go_finish): Traverse macro_hash with go_print_macro.
+ (dump_go_spec_init): Update macro_hash creation for macro_hash_value.
+
+2011-11-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_code_end): Declare ATTRIBUTE_UNUSED.
+
+2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44277
+ * doc/invoke.texi: Document -Wzero-as-null-pointer-constant.
+
+2011-11-01 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Recognize generic-armv7 tuning.
+
+2011-11-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (splitters for int-float conversion): Use
+ SUBREG_REG on SUBREGs in splitter constraints.
+
+2011-11-01 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386-protos.h (ix86_expand_adjust_ufix_to_sfix_si): New
+ prototype.
+ * config/i386/i386.c (ix86_expand_adjust_ufix_to_sfix_si): New
+ function.
+ * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): Use it.
+ (ssepackfltmode): New mode attr.
+ (vec_pack_ufix_trunc_<mode>): New expander.
+
+2011-11-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50940
+ * config/i386/i386.md (floatsi<mode>2_vector_sse_with_temp splitter):
+ Compare <ssevecmode>mode to V4SFmode, not V4SImode.
+
+2011-11-01 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config.gcc (powerpc*-*-linux*): Add powerpc*-*-linux*ppc476* variant.
+ * config/rs6000/476.h: New file.
+ * config/rs6000/476.opt: Likewise.
+ * config/rs6000/rs6000.h (TARGET_LINK_STACK): New define.
+ (SET_TARGET_LINK_STACK): Likewise.
+ (TARGET_ASM_CODE_END): Define.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable
+ TARGET_LINK_STACK for -mtune=476 and -mtune=476fp.
+ (rs6000_legitimize_tls_address): Emit the link stack preserving GOT
+ code if TARGET_LINK_STACK.
+ (rs6000_emit_load_toc_table): Likewise.
+ (output_function_profiler): Likewise
+ (macho_branch_islands): Likewise
+ (machopic_output_stub): Likewise
+ (get_ppc476_thunk_name): New function.
+ (rs6000_code_end): Likewise.
+ * config/rs6000/rs6000.md (load_toc_v4_PIC_1, load_toc_v4_PIC_1b):
+ Convert to a define_expand.
+ (load_toc_v4_PIC_1_normal): New define_insn.
+ (load_toc_v4_PIC_1_476): Likewise.
+ (load_toc_v4_PIC_1b_normal): Likewise.
+ (load_toc_v4_PIC_1b_476): Likewise.
+
+2011-11-01 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50910
+ * config/avr/avr.opt (-mbranch-cost=): New option.
+ * config/avr/avr.h (BRANCH_COST): Define to avr_branch_cost.
+ * config/avr/avr.c (avr_rtx_costs_1): Adjust [U]DIV/[U]MOD costs.
+ * config/avr/avr.md (*addqi3.lt0, *addhi3.lt0, *addsi3.lt0): New insns.
+ (*addhi3_zero_extend1): Remove % in constraint of operand 1.
+ (*addhi3.sign_extend1, *subhi3.sign_extend2): New insns.
+
+2011-11-01 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50908
+ * tree-ssa-tail-merge.c (update_vuses): Now that edges are removed
+ before update_vuses, test for 1 predecessor rather than two.
+ (delete_block_update_dominator_info): New function, part of it factored
+ out of ...
+ (replace_block_by): Use delete_block_update_dominator_info. Call
+ update_vuses after deleting bb1 and updating dominator info, instead of
+ before.
+
+2011-11-01 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (vector_init_faligndata): New function.
+ (sparc_expand_vector_init): Use it for V4HImode on VIS1.
+
+ * config/sparc/sparc.c (sparc_expand_vcond): New function.
+ * config/sparc/sparc-protos.h (sparc_expand_vcond): Declare it.
+ * config/sparc/sparc.md (vcond<mode><mode>): New VIS3 expander.
+ (vconduv8qiv8qi): Likewise.
+
+2011-11-01 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/50869
+ * cselib.c (cfa_base_preserved_regno): Initialize.
+ (cselib_expand_value_rtx_1): Don't expand it.
+ * var-tracking.c (vt_expand_var_loc_chain): Initialize depth.
+ Check it's only zero if result is NULL.
+
+2011-11-01 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (fixuns_trunc<mode><sseintvecmodelower>2): New
+ expander.
+
+ * config/i386/sse.md (sseintvecmode): Remove duplicate modes.
+ (sseintvecmodelower): New mode iterator.
+ (floatv8siv8sf2, floatunsv4siv4sf2): Macroize into...
+ (float<sseintvecmodelower><mode>2): ... this using VF1 iterator.
+ (floatunsv4siv4sf2): Macroize into...
+ (floatuns<sseintvecmodelower><mode>2): ... this using VF1 iterator.
+
+2011-10-31 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (cmask patterns): Allow zero operand.
+
+ * dwarf2out.c (cached_next_real_insn): New.
+ (dwarf2out_end_epilogue): Set it to NULL_RTX.
+ (dwarf2out_var_location): Remove cached_next_real_insn local static.
+
+2011-10-31 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (floatv8siv8sf2): Rename from avx_cvtdq2ps256.
+ (floatv4siv4sf2): Rename from sse2_cvtdq2ps.
+ (floatunsv4siv4sf2): Rename from sse2_cvtudq2ps.
+ (fix_truncv8sfv8si2): Rename from avx_cvttps2dq256.
+ (fix_truncv4sfv4si2): Rename from sse2_cvttps2dq.
+ (floatv4siv4df2): Rename from avx_cvtdq2pd256.
+ (fix_truncv4dfv4si2): Rename from avx_cvttpd2dq256.
+ (vec_unpacku_float_hi_v8si): Update for insn pattern name changes.
+ * config/i386/i386.md (splitters for int-float conversion): Likewise.
+ * config/i386/i386.c (ix86_split_convert_uns_si_sse): Likewise.
+ (bdesc_args): Likewise.
+ (enum ix86_builtins) [IX86_BUILTIN_CVTUDQ2PS]: Remove.
+ (ix86_vectorize_builtin_conversion): Remove.
+ (TARGET_VECTORIZE_BUILTIN_CONVERSION): Remove.
+
+2011-10-31 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (mark_modified): Moved up in the file.
+ (is_parm_modified_before_call): Renamed to
+ is_parm_modified_before_stmt, moved up in the file.
+ (load_from_unmodified_param): New function.
+ (compute_complex_assign_jump_func): Also attempt to create pass
+ through jump functions for values loaded from (addressable)
+ parameters.
+
+2011-10-31 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-stmts.c (vectorizable_shift): If op1 is vect_external_def
+ in a loop and has different type from op0, cast it to op0's type
+ before the loop first. For slp give up. Don't crash if op1_vectype
+ is NULL.
+
+2011-10-31 Paul Brook <paul@codesourcery.com>
+
+ * cgraphunit.c: Don't mark clones as static constructors.
+
+2011-10-31 David Edelsohn <dje.gcc@gmail.com>
+
+ * gcc-ar: Do not include stdio.h.
+
+2011-10-31 Diego Novillo <dnovillo@google.com>
+
+ * tree-streamer-out.c (pack_ts_base_value_fields): Emit
+ TYPE_ADDR_SPACE.
+ * tree-streamer-in.c (unpack_ts_base_value_fields): Read
+ TYPE_ADDR_SPACE.
+
+2011-10-30 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (vector_init_bshuffle): New function.
+ (vector_init_fpmerge): New function.
+ (sparc_expand_vector_init): Use them to improve non-const cases.
+
+ * dwarf2out.c (dwarf2out_var_location): When processing several
+ consecutive location notes, cache the result of next_real_insn().
+
+2011-10-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (avx2_vec_dup<mode>): Macroize insn from
+ avx2_vec_dup{v8sf,v4sf} using VF1 mode iterator.
+ (vec_dupv4sf): Remove expander.
+ (vec_dupv4sf): Merge from *vec_dupv4sf and *vec_dupv4sf_avx.
+ (vec_dupv2df): Remove expander.
+ (vec_dupv2df): Merge from *vec_dupv2df and *vec_dupv2df_sse3.
+ (*vec_concatv2df): Merge *vec_concatv2df_sse3.
+ (*vec_dupv4si): Merge *vec_dupv4si_avx.
+ (*vec_dupv2di): Merge *vec_dupv2di_sse3.
+
+2011-10-30 Dmitry Plotnikov <dplotnikov@ispras.ru>
+
+ * tree-cfg.c (verify_gimple_assign_unary): Allow vector conversions.
+ * optabs.c (supportable_convert_operation): New function.
+ * optabs.h (supportable_convert_operation): New prototype.
+ * tree-vect-stmts.c (vectorizable_conversion): Change condition and
+ behavior for NONE modifier case.
+ * tree.h (VECTOR_INTEGER_TYPE_P): New macro.
+
+2011-10-30 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vectorizer.h (NUM_PATTERNS): Bump to 9.
+ * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): New
+ function.
+ (vect_vect_recog_func_ptrs): Add it.
+
+2011-10-30 David S. Miller <davem@davemloft.net>
+
+ * reorg.c (label_before_next_insn): New function.
+ (relax_delay_slots): Use it instead of prev_label.
+ * rtl.h (prev_label): Delete declaration.
+ * emit-rtl.c (prev_label): Remove.
+
+2011-10-30 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (generate_prolog_epilog): Mark prolog and epilog
+ as BB_DISABLE_SCHEDULE.
+ (mark_loop_unsched): New function.
+ (sms_schedule): Call it.
+
+2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/50617
+ * config/pa/protos.h (attr_length_save_restore_dltp): Delete.
+ (cmpib_comparison_operator): Likewise.
+ (following_cal, output_and, output_ior, output_move_double,
+ output_fp_move_double, output_block_move, output_block_clear,
+ output_cbranch, output_lbranch, output_bb, output_bvb, output_dbra,
+ output_movb, output_parallel_movb, output_parallel_addb, output_call,
+ output_indirect_call, output_millicode_call, output_mul_insn,
+ output_div_insn, output_mod_insn, singlemove_string,
+ output_arg_descriptor, output_global_address, print_operand,
+ legitimize_pic_address, hppa_encode_label, symbolic_expression_p,
+ fmpyaddoperands, fmpysuboperands, emit_bcond_fp, emit_move_sequence,
+ emit_hpdiv_const, is_function_label_plus_const, jump_in_call_delay,
+ hppa_fpstore_bypass_p, attr_length_millicode_call, attr_length_call,
+ attr_length_indirect_call, return_addr_rtx, function_arg_padding,
+ insn_refs_are_delayed, get_deferred_plabel, ldil_cint_p, zdepi_cint_p,
+ output_ascii, compute_frame_size, and_mask_p, cint_ok_for_move,
+ hppa_expand_prologue, hppa_expand_epilogue, ior_mask_p,
+ compute_zdepdi_operands, output_64bit_and, output_64bit_ior,
+ reloc_needed, magic_milli, shadd_constant_p): Consistently prefix
+ exported functions and variables with "pa_".
+ * config/pa/predicates.md: Likewise.
+ * config/pa/pa64-hpux.h: likewise.
+ * config/pa/som.h: Likewise.
+ * config/pa/elf.h: Likewise.
+ * config/pa/pa64-linux.h: Likewise.
+ * config/pa/pa.md: Likewise.
+ * config/pa/pa.c: Likewise.
+ * config/pa/pa-linux.h: Likewise.
+ * config/pa/pa.h: Likewise.
+ * config/pa/constraints.md: Likewise.
+
+2011-10-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (xop_sha<mode>3): Rename from xop_ashl<mode>3.
+ Update all uses.
+ (xop_shl<mode>3): Rename from xop_lshl<mode>3. Update all uses.
+ * config/i386/i386.c: Update all uses.
+
+2011-10-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (lshlv16qi3): Remove expander.
+ (lshrv16qi3): New expander.
+ (<shift_insn>v16qi3): Macroize expander from ashrv16qi3 and lshrv16qi3
+ using any_shiftrt code iterator. Cleanup.
+ (ashlv16qi3): Cleanup.
+ (ashrv2di3): Ditto.
+
+2011-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/50691
+ * config/pa/pa.c (emit_move_sequence): Legitimize TLS symbol
+ references.
+ (pa_legitimate_constant_p): Return false for TLS_MODEL_GLOBAL_DYNAMIC
+ and TLS_MODEL_LOCAL_DYNAMIC symbol references.
+
+2011-10-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50887
+ * config/avr/avr.opt (-maccumulate-args): New option.
+ * config/avr/avr.h (STARTING_FRAME_OFFSET): Redefine to
+ avr_starting_frame_offset.
+ (ACCUMULATE_OUTGOING_ARGS): Define to avr_accumulate_outgoing_args.
+ * config/avr/avr.md (UNSPECV_WRITE_SP_IRQ_ON): Remove.
+ (UNSPECV_WRITE_SP_IRQ_OFF): Remove.
+ (UNSPECV_WRITE_SP): New constant.
+ (*addhi3_sp_R): Rewrite to...
+ (*addhi3_sp): ...this new insn.
+ (movhi_sp_r_irq_off, movhi_sp_r_irq_on): Combine to...
+ (movhi_sp_r): ...this new insn.
+ * config/avr/avr-protos.h (avr_accumulate_outgoing_args): New.
+ (avr_starting_frame_offset): New.
+ * config/avr/avr.c (avr_accumulate_outgoing_args): New function.
+ (avr_starting_frame_offset): New function.
+ (avr_outgoing_args_size): New static function.
+ (avr_initial_elimination_offset): Use it.
+ (avr_simple_epilogue): Use it.
+ (avr_asm_function_end_prologue): Use it.
+ (expand_epilogue): Use it.
+ (expand_prologue): Use it. Break out code to...
+ (avr_prologue_setup_frame): ...this new static function.
+ (avr_can_eliminate): Allow eliminating to frame pointer if there
+ is one.
+ (avr_frame_pointer_required_p): Use frame pointer if target has a
+ nonlocal label.
+ * config/avr/constraints.md (R): Remove.
+ (Csp): New constraint.
+ * config/avr/predicates.md (avr_sp_immediate_operand): Use it.
+
+2011-10-29 Andi Kleen <ak@linux.intel.com>
+
+ * gcc-ar.c (target_machine): Add.
+
+2011-10-29 Anatoly Sokolov <aesok@post.ru>
+
+ * config/cris/cris.c (reg_ok_for_base_p, reg_ok_for_index_p,
+ cris_constant_index_p, cris_base_p, cris_index_p,
+ cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p,
+ cris_legitimate_address_p): New functions.
+ (TARGET_LEGITIMATE_ADDRESS_P): Define.
+ (cris_pic_symbol_type, cris_valid_pic_const): Change arguments type
+ from rtx to const_rtx.
+ (cris_print_operand_address, cris_address_cost,
+ cris_side_effect_mode_ok): Use
+ cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
+ cris_biap_index_p and cris_bdap_index_p.
+ * config/cris/cris.h (CONSTANT_INDEX_P, BASE_P, BASE_OR_AUTOINCR_P,
+ BDAP_INDEX_P, BIAP_INDEX_P, GO_IF_LEGITIMATE_ADDRESS,
+ REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
+ (EXTRA_CONSTRAINT_Q, EXTRA_CONSTRAINT_R, EXTRA_CONSTRAINT_T): Use
+ cris_constant_index_p, cris_base_p, cris_base_or_autoincr_p,
+ cris_biap_index_p and cris_bdap_index_p.
+ * config/cris/cris.md (moversideqi movemsideqi peephole2): Use
+ cris_base_p.
+ * config/cris/cris-protos.h (cris_constant_index_p, cris_base_p,
+ cris_base_or_autoincr_p, cris_bdap_index_p, cris_biap_index_p): New
+ prototype.
+ (cris_pic_symbol_type, cris_valid_pic_const): Update prototype.
+
+2011-10-21 Andi Kleen <ak@linux.intel.com>
+
+ * ggc-page (PAGE_ALIGN): Add.
+ (alloc_page, ggc_pch_total_size, ggc_pch_this_base, ggc_pch_read):
+ Replace ROUND_UP with PAGE_ALIGN.
+
+2011-10-20 Andi Kleen <ak@linux.intel.com>
+
+ * ggc-page (alloc_anon): Add check argument.
+ (alloc_page): Add fallback to 1 page allocation.
+ Adjust alloc_anon calls to new argument.
+
+2011-10-18 Andi Kleen <ak@linux.intel.com>
+
+ * ggc-page (release_pages): First free large continuous
+ chunks in the madvise path.
+
+2011-10-18 Andi Kleen <ak@linux.intel.com>
+
+ * ggc-page.c (alloc_pages): Always round up entry_size.
+
+2011-10-19 Andi Kleen <ak@linux.intel.com>
+
+ * Makefile.in (MOSTLYCLEANFILES): Add gcc-ar/nm/ranlib.
+ (native): Add gcc-ar, gcc-nm, gcc-ranlib.
+ (AR_LIBS, gcc-ar, gcc-ar.o, gcc-ranlib, gcc-ranlib.o,
+ gcc-nm, gcc-nm.o, gcc-ranlib.c, gcc-nm.c): Add.
+ (install): Depend on install-gcc-ar.
+ (install-gcc-ar): Add.
+ (uninstall): Uninstall gcc-ar, gcc-nm, gcc-ranlib.
+ * gcc-ar.c: Add new file.
+
+2011-10-28 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.md (define_attr "type"): Add vecdouble.
+ * config/rs6000/vsx.md (VStype_simple, VStype_mul): Use vecdouble
+ type for V2DF.
+ (VStype_div): Use vector types for V2DF/V4SF.
+ (VStype_sqrt): Use *sqrt types.
+ (VS_spdp_type): Change type to vecdouble.
+ (*vsx_fmav2df4, *vsx_nfmsv2df4, vsx_xvcvdpsxws, vsx_xvcvdpuxws,
+ vsx_xvcvuxdsp, vsx_xvcvsxwdp, vsx_xvcvuxwdp, vsx_xvcvspsxds,
+ vsx_xvcvspuxds): Likewise.
+ (*vsx_fms<mode>4): Set type via <VStype_mul>.
+ (*vsx_eq_<mode>_p, *vsx_gt_<mode>_p, *vsx_ge_<mode>_p): Set type via
+ <VStype_simple>.
+ * config/rs6000/power7.md (power7-vecstore): Correct VSU pipe.
+ (power7-fpcompare, power7-sdiv, power7-ddiv, power7-sqrt,
+ power7-dsqrt): Correct insn latency.
+ (power7-vecsimple): Add veccmp type and correct dispatch/VSU values.
+ (power7-veccmp): Delete.
+ (power7-vecfloat): Correct latency/dispatch/VSU values.
+ (define_bypass "power7-vecfloat"): Correct latency and types.
+ (power7-veccomplex, power7-vecperm): Correct dispatch/VSU values.
+ (power7-vecdouble, power7-vecfdiv, power7-vecdiv): New.
+
+2011-10-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (shift_insn): Rename code attribute from
+ shiftrt_insn. Also handle ashift RTX.
+ (shift): Rename code attribute from shiftrt. Also handle ashift RTX.
+ (vshift): New code attribute.
+ (<shift_insn>*): Rename from <shiftrt_insn>*. Update asm templates.
+ (any_lshift): Move and rename code iterator from ...
+ * config/i386/sse.md (lshift): ... here.
+ (lshift_insn): Remove code attribute.
+ (lshift): Remove code attribute.
+ (vlshr<mode>3): Use lshiftrt RTX.
+ (vashr<mode>3, ashrv16qi3, ashrv2di3): Use ashiftrt RTX.
+ (vashl<mode>3, ashlv16qi3): Use ashift RTX.
+ (avx2_<lshift>v<mode>): Rename from avx2_<shift_insn>v<mode>. Use
+ any_lshift code iterator. Update asm template.
+ (<shift_insn><mode>3): Macroize insn from lshr<mode>3 and ashl<mode>3
+ usign any_lshift code iterator.
+ * config/i386/mmx.md (mmx_<shift_insn><mode>3): Macroize insn from
+ mmx_lshr<mode>3 and mmx_ashl<mode>3 usign any_lshift code iterator.
+ * config/i386/i386.c (bdesc_args) <__builtin_ia32_psll>: Update.
+
+2011-10-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ * config/avr/avr.md (parityhi2): Expand allowing pseudos.
+ (*parityhi2): New pre-reload insn-and-split to map 16-bit parity
+ to the libgcc insn.
+ (*parityqihi2): Same for 8-bit parity.
+
+2011-10-28 Julian Brown <julian@codesourcery.com>
+
+ PR rtl-optimization/47918
+ * reload1.c (set_initial_label_offsets): Use initial offsets
+ for labels on the nonlocal_goto_handler_labels chain.
+
+2011-10-28 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
+ Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
+ (LIB2FUNCS_EXTRA): Add darwin-gpsave.asm.
+ (TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
+ config/t-darwin.
+ * config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
+ (GP_SAVE_INLINE): Likewise.
+ (SAVE_FP_PREFIX, SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
+ RESTORE_FP_SUFFIX): Set to empty strings.
+ * config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
+ (debug_stack_info): Print savres_strategy.
+ (rs6000_savres_routine_name): Implement for Darwin.
+ (rs6000_make_savres_rtx): Adjust used register for Darwin.
+ (rs6000_emit_prologue): Implement out-of-line saves for Darwin.
+ (rs6000_output_function_prologue): Don't emit .extern for Mach-O.
+ (rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
+ * config/rs6000/darwin-gpsave.asm: New file.
+
+2011-10-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (VI4SD_AVX2): Removed.
+ (VI48_AVX2, VI128_128, VI48_128, VI48_256): New mode iterators.
+ (vashl<mode>3): Use VI12_128 iterator instead of VI124_128.
+ Add another expander using VI48_128 iterator for
+ TARGET_AVX2 || TARGET_XOP and another using VI48_256 iterator
+ for TARGET_AVX2.
+ (vlshr<mode>3): Likewise. Change register_operand predicate to
+ nonimmediate_operand on last operand in the VI12_128 expander.
+ (vashr<mode>3): Use VI128_128 iterator instead of VI124_128.
+ (vashrv4si3, vashrv8si3): New expanders.
+ (avx2_ashrvv8si, avx2_ashrvv4si, avx2_<lshift>vv8si,
+ avx2_<lshift>vv2di): Removed.
+ (avx2_ashrv<mode>): New insn with VI4_AVX2 iterator.
+ (avx2_<lshift>v<mode>): Macroize using VI48_AVX2
+ iterator. Simplify pattern.
+
+2010-10-28 Richard Guenther <rguenther@suse.de>
+
+ PR driver/50876
+ * lto-wrapper.c (get_options_from_collect_gcc_options):
+ Properly count arguments.
+ (run_gcc): Use an obstack to collect argv, properly separate
+ switches and their arguments.
+
+2011-10-28 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-stmts.c (vectorizable_shift): Give up if op1 has different
+ vector mode from vectype's mode.
+
+2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR rtl-optimization/49720
+ * simplify-rtx.c (simplify_relational_operation_1): Detect
+ infinite recursion condition in "(eq/ne (plus x cst1) cst2)
+ simplifies to (eq/ne x (cst2 - cst1))" case.
+
+2011-10-27 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (snedi_special): Only match when not VIS3.
+ (*snedi_zero): Likewise.
+ (*snedi_zero_trunc): Likewise.
+ (snedi_special_vis3): New expander.
+ (*snedi_zero_vis3): New insn.
+ (*snedi_zero_trunc_vis3): Likewise.
+ (*sltu_insn_vis3): Likewise.
+ (*sltu_insn_vis3_trunc): Likewise.
+ (addxc): Likewise.
+ (*addxc_trunc_sp64_vis3): Likewise.
+ * config/sparc/sparc.c (emit_scc_insn): When VIS3 use the
+ gen_snedi_special_vis3 expander, and try GTU/LTU addx based
+ sequences on DImode values.
+
+ * config/sparc/sparc.md (64-bit vector moves): Use 'e' not 'f'
+ constraint.
+
+ * regcprop.c (copyprop_hardreg_forward_1): Reject the
+ transformation when we narrow the mode on big endian.
+
+2011-10-27 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (avx_cvtpd2dq256_2, avx_cvttpd2dq256_2,
+ vec_pack_sfix_trunc_v4df, vec_pack_sfix_v4df): New expanders.
+ (*avx_cvtpd2dq256_2, *avx_cvttpd2dq256_2): New insns.
+
+ * config/i386/i386.c (ix86_print_operand): Handle 'q' and 'x'
+ overrides for -masm=intel memory.
+ * config/i386/sse.md (sse2_cvtdq2pd, sse2_cvtps2pd,
+ sse4_1_<code>v8qiv8hi2, avx2_<code>v8qiv8si2,
+ sse4_1_<code>v4hiv4si2, avx2_<code>v4hiv4di2,
+ sse4_1_<code>v2siv2di2): Use %q1 instead of %1 for -masm=intel.
+ (sse4_1_<code>v4qiv4si2, avx2_<code>v4qiv4di2,
+ sse4_1_<code>v2hiv2di2): Use %k1 instead of %1 for -masm=intel.
+ (sse4_1_<code>v2qiv2di2): Use %w1 instead of %1 for -masm=intel.
+
+2011-10-27 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (compute_pass_through_member_ptrs): Rename parm_info
+ to parm_ainfo.
+ (ipa_compute_jump_functions_for_edge): Likewise.
+ (ipa_compute_jump_functions): Likewise.
+ (ipa_analyze_indirect_call_uses): Likewise.
+ (ipa_analyze_call_uses): Likewise.
+ (ipa_analyze_params_uses): Likewise.
+ (ipa_analyze_node): Likewise.
+
+2011-10-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50875
+ * config/i386/sse.md (*avx_unpcklpd256): Remove extra insn
+ constraints. Change alternative 1 to "x,m,1".
+
+2011-10-27 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (build/gencheck.o): Depend on tree.def and
+ c-family/c-common.def.
+
+ * tree-ssa-strlen.c: Include expr.h.
+ (get_stridx): Don't use c_strlen, instead use string_constant
+ and compute string length from it.
+ * Makefile.in (tree-ssa-strlen.o): Depend on $(EXPR_H).
+
+2011-10-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/46603
+ PR bootstrap/50879
+ * reload.c (push_reload): In the out case, restore previous behavior
+ for subregs that don't have word mode.
+
+2011-10-27 Ian Lance Taylor <iant@google.com>
+
+ * cppdefault.c: Undef NATIVE_SYSTEM_HEADER_DIR if
+ CROSS_DIRECTORY_STRUCTURE is defined and TARGET_SYSTEM_ROOT is not.
+ (cpp_include_defaults): Only use NATIVE_SYSTEM_HEADER_DIR if it is
+ defined.
+
+2011-10-27 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_vec_perm): Use the correct mode for scaling the
+ selector. Save the qimode constant selector for later use by the
+ qimode vec_perm pattern.
+
+2011-10-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.c (unit_req_imbalance, res_mii): Cast the first arg
+ to unit_req_factor to the right enum type.
+ (get_unit_operand_masks, reshuffle_units, try_rename_operands,
+ hwloop_optimize): Remove unused variables.
+
+2010-10-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50731
+ * tree-vect-generic.c (do_binop): Handle scalar operands.
+
+2011-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/37191
+ * config/i386/sse.md (*vec_extract_v4sf_mem): Avoid combining registers
+ from different units in a single alternative.
+
+2011-10-26 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (emit_scc_insn): Force attempt of v9 sequences
+ if we're comparing DImode and comparison is other than EQ or NE.
+
+ * config/sparc/sparc.c (emit_scc_insn): Do not try v9 sequences until
+ LEU/LTU/GEU/GTU is attempted.
+ * config/sparc/sparc.md (*neg_snesi_sign_extend): New 64-bit insn
+ and split.
+ (*neg_seqsi_sign_extend): Likewise.
+ (*sltu_extend_sp64, *neg_sltu_extend_sp64, *sgeu_extend_sp64,
+ *neg_sgeu_extend_sp64): New insns.
+
+ * config/sparc/sparc-protos.h (sparc_expand_conditional_move): Declare.
+ * config/sparc/sparc.md (mov<I:mode>cc, mov<F:mode>cc): Call it.
+ (*mov<I:mode>_cc_v9): Normalize to expect operand 0 always in operand 4.
+ (*mov<I:mode>_cc_reg_sp64): Likewise.
+ (*movsf_cc_v9): Likewise.
+ (*movsf_cc_reg_sp64): Likewise.
+ (*movdf_cc_v9): Likewise.
+ (*movdf_cc_reg_sp64): Likewise.
+ (*movtf_cc_hq_v9): Likewise.
+ (*movtf_cc_reg_hq_sp64): Likewise.
+ (*movtf_cc_v9): Likewise.
+ (*movtf_cc_reg_sp64): Likewise.
+ * config/sparc/sparc.c (sparc_expand_conditional_move): New function.
+ (sparc_print_operand): Delete 'c' and 'd' handling, no longer used.
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reload.c (reload_inner_reg_of_subreg): Change type of return value
+ and type of OUTPUT parameter to bool and adjust. Document MODE and
+ OUTPUT parameters. Use HARD_REGISTER_P. Reorder final condition
+ and improve associated comment.
+ (push_reload): Clarify and update comments about reloading of subregs.
+ Adjust calls to reload_inner_reg_of_subreg. Compute the class upfront
+ for the reloading of subregs in the out case as well.
+
+2011-10-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/50826
+ * var-tracking.c (rtx_debug_expr_p): New.
+ (use_type): Don't use debug exprs to track non-VTA variables.
+
+2011-10-26 Jeff Law <law@redhat.com>
+
+ * doc/invoke.texi (sink-frequency-threshold): Document.
+ * tree-ssa-sink.c: Include params.h.
+ (select_best_block): New function.
+ (statement_sink_location): Use it.
+ * params.def (SINK_FREQUENCY_THRESHOLD): New PARAM.
+
+2011-10-26 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/48108
+ * config/darwin.c (top level): Amend comments concerning LTO output.
+ (lto_section_num): New variable. (darwin_lto_section_e): New GTY.
+ (LTO_SECTS_SECTION, LTO_INDEX_SECTION): New.
+ (LTO_NAMES_SECTION): Rename.
+ (darwin_asm_named_section): Record LTO section counts and switches
+ in a vec of darwin_lto_section_e.
+ (darwin_file_start): Remove unused code.
+ (darwin_file_end): Put an LTO section termination label. Handle
+ output of the wrapped LTO sections, index and names table.
+
+2011-10-26 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_make_savres_rtx): Delete unneeded
+ declaration.
+ (rs6000_emit_stack_reset): Only return insn emitted when it adjusts sp.
+ (rs6000_make_savres_rtx): Rename to rs6000_emit_savres_rtx. Use
+ simple_return in pattern, emit instruction, and set jump_label.
+ (rs6000_emit_prologue): Update for rs6000_emit_savres_rtx. Use
+ simple_return rather than return.
+ (emit_cfa_restores): New function.
+ (rs6000_emit_epilogue): Emit cfa_restores when flag_shrink_wrap.
+ Add missing cfa_restores for SAVE_WORLD. Add missing LR cfa_restore
+ when using out-of-line gpr restore. Add missing LR and FP regs
+ cfa_restores for out-of-line fpr restore. Consolidate code setting
+ up cfa_restores. Formatting. Use LR_REGNO define.
+ (rs6000_output_mi_thunk): Use simple_return rather than return.
+ * config/rs6000/rs6000.md (sibcall*, sibcall_value*): Likewise.
+ (return_internal*): Likewise.
+ (any_return, return_pred, return_str): New iterators.
+ (return, conditional return insns): Provide both return and
+ simple_return variants.
+ * config/rs6000/rs6000.h (EARLY_R12, LATE_R12): Define.
+ (REG_ALLOC_ORDER): Move r12 before call-saved regs when FIXED_R13.
+ Move r11 and r0 later to suit shrink-wrapping.
+
+2011-10-26 Richard Guenther <rguenther@suse.de>
+
+ * lto-wrapper.c (run_gcc): Properly init/free obstack.
+
+2011-10-26 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.md (UNSPEC_VSIBADDR): New.
+ * config/i386/predicates.md (vsib_address_operand,
+ vsib_mem_operator): New predicates.
+ * config/i386/i386.c (ix86_print_operand_address): Handle
+ UNSPEC_VSIBADDR addresses.
+ * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>,
+ avx2_gatherdi<mode>256): Adjust expanders to use MEM with
+ UNSPEC_VSIBADDR address.
+ (*avx2_gathersi<mode>, *avx2_gatherdi<mode>, *avx2_gatherdi<mode>256):
+ Adjust insns to use MEM with UNSPEC_VSIBADDR address.
+
+2011-10-26 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
+ phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.
+
+2011-10-26 Richard Guenther <rguenther@suse.de>
+
+ PR lto/41844
+ * Makefile.in (lto-wrapper): Depend on and link against opts-common.o.
+ (lto-wrapper.o): Depend on $(OPTS_H) and $(OPTIONS_H).
+ * lto-wrapper.c (get_options_from_collect_gcc_options): New function.
+ (run_gcc): Use it. Filter out language specific options.
+
+2011-10-26 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/i386/freebsd64.h (LINK_SPEC): Emit the same warning as the
+ 32-bit target does.
+
+2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR driver/46617
+ * gcc.c (main): Fix fatal_error string for translation.
+
+2011-10-25 Ian Lance Taylor <iant@google.com>
+
+ * tree-eh.c (do_return_redirection): Remove return_value_p
+ parameter. Change all callers.
+ (lower_try_finally_nofallthru): Remove local return_val.
+ (lower_try_finally_onedest): Likewise.
+ (lower_try_finally_copy): Likewise.
+ (lower_try_finally_switch): Likewise.
+
+2011-10-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/mmx.md (*mmx_maskmovq): Replace :SI with :P and
+ remove "&& !TARGET_64BIT"
+ (*mmx_maskmovq_rex): Removed.
+
+2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/46603
+ * reload.c (push_reload): In the out case, reload the subreg as well
+ as the reg if it has word mode.
+
+2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (add_gnat_descriptive_type_attribute): Temporarily
+ suppress debug info for the parent type.
+
+2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/ia64/ia64.c (ia64_profile_hook): Fix thinko.
+
+2011-10-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Remove.
+ (vec_extract_even<mode>, vec_extract_odd<mode>): Remove.
+
+ * config/rs6000/altivec.md (vec_extract_evenv8hi,
+ vec_extract_evenv16qi, vec_extract_oddv4si,
+ vec_extract_oddv4sf): Remove.
+
+ * config/spu/spu.md (vec_extract_evenv4si, vec_extract_evenv4sf,
+ vec_extract_evenv8hi, vec_extract_evenv16qi, vec_extract_oddv4si,
+ vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
+ vec_interleave_highv4sf, vec_interleave_lowv4sf,
+ vec_interleave_highv4si, vec_interleave_lowv4si,
+ vec_interleave_highv8hi, vec_interleave_lowv8hi,
+ vec_interleave_highv16qi, vec_interleave_lowv16qi): Remove.
+
+ * expr.c (expand_expr_real_2) [VEC_EXTRACT_EVEN_EXPR]: Use binop.
+ [VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR]: Likewise.
+ [VEC_INTERLEAVE_LOW_EXPR]: Likewise.
+ * optabs.c (expand_binop): Implement vec_interleave_high_optab,
+ vec_interleave_low_optab, vec_extract_even_optab,
+ vec_extract_odd_optab with expand_vec_perm.
+ (can_vec_perm_for_code_p): New.
+ * optabs.h: Update.
+ * tree-vect-data-refs.c (vect_strided_store_supported): Allow for
+ fallback via can_vec_perm_for_code_p.
+ (vect_strided_load_supported): Likewise.
+ * tree-vect-generic.c (expand_vector_operations_1): Never lower
+ VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR,
+ VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR.
+
+ * target.def (vec_perm_const_ok): Change parameters to mode and
+ array of indicies.
+ * doc/tm.texi: Rebuild.
+ * config/i386/i386.c (ix86_vectorize_vec_perm_const_ok): Change
+ parameters to mode and array of indicies.
+ * expr.c (expand_expr_real_2) [VEC_PERM_EXPR]: Expand operands here.
+ * optabs.c (can_vec_perm_p): Rename from can_vec_perm_expr_p.
+ Change parameters to mode and array of indicies.
+ (expand_vec_perm_1): Rename from expand_vec_perm_expr_1.
+ (expand_vec_perm): Rename from expand_vec_perm_expr. Change
+ parameters to mode and rtx inputs. Try lowering to QImode
+ vec_perm_const before trying fully variable permutation.
+ * optabs.h: Update decls.
+ * tree-vect-generic.c (lower_vec_perm): Extract array of indices from
+ VECTOR_CST to pass to can_vec_perm_p.
+ * tree-vect-slp.c (vect_get_mask_element): Change mask parameter type
+ from int pointer to unsigned char pointer.
+ (vect_transform_slp_perm_load): Update for change to can_vec_perm_p.
+ * tree-vect-stmts.c (perm_mask_for_reverse): Likewise.
+
+ * tree.def (VEC_EXTRACT_EVEN_EXPR): Fix typo in text name.
+ (VEC_EXTRACT_ODD_EXPR, VEC_INTERLEAVE_HIGH_EXPR,
+ VEC_INTERLEAVE_LOW_EXPR): Likewise.
+
+2011-10-25 Mike Stump <mikestump@comcast.net>
+
+ * reload.c (regno_clobbered_p): Fix typo.
+
+2011-10-25 Dodji Seketeli <dodji@redhat.com>
+
+ * input.c (expand_location): Rewrite using linemap_resolve_location
+ and linemap_expand_location. Add a comment.
+
+2011-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50596
+ * tree-vect-stmts.c (vect_mark_relevant): Only use
+ FOR_EACH_IMM_USE_FAST if lhs is SSA_NAME.
+ (vectorizable_store): If is_pattern_stmt_p look through
+ VIEW_CONVERT_EXPR on lhs.
+ * tree-vect-patterns.c (check_bool_pattern, adjust_bool_pattern):
+ Use unsigned type instead of signed.
+ (vect_recog_bool_pattern): Optimize also stores into bool memory in
+ addition to casts from bool to integral types.
+ (vect_mark_pattern_stmts): If pattern_stmt already has vinfo
+ created, don't create it again.
+
+2011-10-25 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (ix86_frame_pointer_required): Require
+ frame-pointer, if setjmp is used for 32-bit ms-abi.
+
+2011-10-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * builtins.c (set_builtin_user_assembler_name): Remove extra
+ newline added in October 11th, 2011 change.
+
+2011-10-24 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/little-endian.opt: Delete.
+ * config.gcc: Remove references to config/sparc/little-endian.opt
+ * doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
+ * config/sparc/linux64.h: Delete references to -mlittle-endian.
+ * config/sparc/netbsd-elf.h: Likewise.
+ * config/sparc/openbsd64.h: Likewise.
+ * config/sparc/sparc.h: Likewise.
+ * config/sparc/sp64-elf.h: Likewise and delete overrides for
+ BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
+ * config/sparc/sparc.c (dump_target_flag_bits): Remove reference
+ to MASK_LITTLE_ENDIAN.
+ * config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.
+
+ * config/sparc/sparc.md: Only use F, G, and C constraints in FP insns.
+ Only use D, Y, and Z constraints in vector insns.
+
+ * config/sparc/sparc.md (cpu_feature, enabled): New attributes.
+ (*movsi_insn_novis3, *movsi_insn_vis3): Consolidate into one pattern
+ called *movsi_insn.
+ (*movdi_insn_sp32_v9_novis3, *movdi_insn_sp32_v9_vis3): Consolidate
+ into *movdi_insn_sp32.
+ (*movdi_insn_sp64_novis3, *movdi_insn_sp64_vis3): Consolidate into
+ one pattern called *movdi_insn_sp64.
+ (*movsf_insn_novis3, *movsf_insn_vis3, *movsf_insn_no_fpu):
+ Consolidate into one pattern called *movsf_insn.
+ (*movdf_insn_sp32_no_fpu, *movdf_insn_sp32_v9_novis3,
+ *movdf_insn_sp32_v9_vis3, *movdf_insn_sp32_v9_no_fpu): Consolidate
+ into *movdf_insn_sp32.
+ (*movdf_insn_sp64_novis3, *movdf_insn_sp64_vis3,
+ *movdf_insn_sp64_no_fpu): Consolidate into one pattern called
+ *movdf_insn_sp64.
+ (*zero_extendsidi2_insn_sp64_novis3,
+ *zero_extendsidi2_insn_sp64_vis3): Consolidate into one pattern
+ called *zero_extendsidi2_insn_sp64.
+ (*sign_extendsidi2_insn_novis3, *sign_extendsidi2_insn_vis3):
+ Consolidate into one pattern named *sign_extendsidi2_insn.
+ (*mov<VM32:mode>_insn_novis3, *mov<VM32:mode>_insn_vis3):
+ Consolidate into one pattern named *mov<VM32:mode>_insn.
+ (*mov<VM64:mode>_insn_sp64_novis3,
+ *mov<VM64:mode>_insn_sp64_novis3): Consolidate into one pattern
+ named *mov<VM64:mode>_insn_sp64.
+ (*mov<VM64:mode>_insn_sp32_novis3,
+ *mov<VM64:mode>_insn_sp32_vis3): Consolidate into one pattern
+ named *mov<VM64:mode>_insn_sp32.
+
+2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * tree-ssa-strlen.c (get_string_length): Change assertion to STPCPY.
+ (zero_length_string): Change assertion to accept strinfo without
+ length but with stmt instead.
+ Set the endptr pointer also if starting a new chain.
+ (adjust_related_strinfos): Ignore strinfos marked for delayed
+ length computation.
+ (handle_builtin_strcpy): Mark earlier strinfo elements also for
+ delayed length computation.
+
+2011-10-24 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50820
+ Port from 4.6 branch r180379
+ * doc/invoke.texi (AVR Options): New subsubsection to explain EIND
+ handling and indirect jump/calls on devices > 128k.
+
+2011-10-24 Anatoly Sokolov <aesok@post.ru>
+ Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49824
+ * doc/extend.texi (Declaring Attributes of Functions):
+ Document OS_main and OS_task attributes.
+ (Specifying Attributes of Variables): Move up
+ subsection "AVR Variable Attributes" as of alphabetical order.
+
+2011-10-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-stmts.c (vect_get_vec_def_for_operand): Convert constants
+ to vector element type.
+ (vectorizable_assignment): Bail out for non-mode-precision operations.
+ (vectorizable_shift): Likewise.
+ (vectorizable_operation): Likewise.
+ (vectorizable_type_demotion): Likewise.
+ (vectorizable_type_promotion): Likewise.
+ (vectorizable_store): Handle non-mode-precision stores.
+ (vectorizable_load): Handle non-mode-precision loads.
+ (get_vectype_for_scalar_type_and_size): Return a vector type
+ for non-mode-precision integers.
+ * tree-vect-loop.c (vectorizable_reduction): Bail out for
+ non-mode-precision reductions.
+
+2011-10-24 Julian Brown <julian@codesourcery.com>
+
+ * config/m68k/m68k.c (notice_update_cc): Tighten condition for
+ setting CC_REVERSED for FP comparisons.
+
+2011-10-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50838
+ * tree-data-ref.c (dr_analyze_indices): Properly canonicalize
+ a MEM_REF base if we change it.
+
+2011-10-24 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/50836
+ * rtlanal.c: Swap includes of "hard-reg-set.h" and "rtl.h".
+
+ PR rtl-optimization/50833
+ * function.c (thread_prologue_and_epilogue_insns): Expect the
+ return insn optimization only if optimize.
+
+2011-10-24 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c: Break long lines.
+ Define target hooks on the fly if applicable.
+ (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove first definition
+ overridden later.
+ (targetm): Move definition to end of file.
+ (avr_can_eliminate): Make static on the fly.
+ (avr_frame_pointer_required_p): Ditto.
+ (avr_hard_regno_scratch_ok): Ditto.
+ (avr_builtin_setjmp_frame_value): Make static on the fly.
+ Indent according to coding rules.
+ (avr_case_values_threshold): Ditto.
+ (avr_attribute_table): Move down.
+
+2011-10-24 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50730
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Stop basic block
+ analysis if encountered unsupported data-ref.
+
+2011-10-23 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (sparc_option_override): Remove -mv8plus
+ cpu adjustment.
+ * config/sparc/linux64.h (CC1_SPEC): When defaulting to 64-bit,
+ append -mcpu=v9 when -mv8plus is given.
+
+ * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): We can move
+ between float and non-float regs when VIS3.
+ * config/sparc/sparc.c (eligible_for_restore_insn): We can't
+ use a restore when the source is a float register.
+ (sparc_split_regreg_legitimate): When VIS3 allow moves between
+ float and integer regs.
+ (sparc_register_move_cost): Adjust to account for VIS3 moves.
+ (sparc_preferred_reload_class): On 32-bit with VIS3 when moving an
+ integer reg to a class containing EXTRA_FP_REGS, constrain to FP_REGS.
+ (sparc_secondary_reload): On 32-bit with VIS3 when moving between
+ float and integer regs we sometimes need a FP_REGS class
+ intermediate move to satisfy the reload. When this happens
+ specify an extra cost of 2.
+ (*movsi_insn): Rename to have "_novis3" suffix and add !VIS3 guard.
+ (*movdi_insn_sp32_v9): Likewise.
+ (*movdi_insn_sp64): Likewise.
+ (*movsf_insn): Likewise.
+ (*movdf_insn_sp32_v9): Likewise.
+ (*movdf_insn_sp64): Likewise.
+ (*zero_extendsidi2_insn_sp64): Likewise.
+ (*sign_extendsidi2_insn): Likewise.
+ (*movsi_insn_vis3): New insn.
+ (*movdi_insn_sp32_v9_vis3): New insn.
+ (*movdi_insn_sp64_vis3): New insn.
+ (*movsf_insn_vis3): New insn.
+ (*movdf_insn_sp32_v9_vis3): New insn.
+ (*movdf_insn_sp64_vis3): New insn.
+ (*zero_extendsidi2_insn_sp64_vis3): New insn.
+ (*sign_extendsidi2_insn_vis3): New insn.
+ (TFmode reg/reg split): Make sure both REG operands are float.
+ (*mov<VM32:mode>_insn): Add "_novis3" suffix and !VIS3 guard. Remove
+ easy constant to integer reg alternatives.
+ (*mov<VM64:mode>_insn_sp64): Likewise.
+ (*mov<VM64:mode>_insn_sp32_novis3): Likewise.
+ (*mov<VM32:mode>_insn_vis3): New insn.
+ (*mov<VM64:mode>_insn_sp64_vis3): New insn.
+ (*mov<VM64:mode>_insn_sp32_vis3): New insn.
+ (VM64 reg<-->reg split): New splitter for 32-bit.
+
+ * config/sparc/sparc.c (sparc_split_regreg_legitimate): New function.
+ * config/sparc/sparc-protos.h (sparc_split_regreg_legitimate):
+ Declare it.
+ * config/sparc/sparc.md (DImode reg/reg split): Use it.
+ (DFmode reg/reg split): Likewise.
+
+ * config/sparc/sparc.md (*movdi_insn_sp32_v9): Add alternatives for
+ generating fzero and fone instructions.
+ (DImode const_int --> reg splitter): Only trigger for integer regs.
+
+ * config/sparc/predicates.md (input_operand): Disallow vector
+ constants other than 0 and -1.
+ * config/sparc/sparc.c (sparc_preferred_reload_class): Return
+ NO_REGS for vector constants other than 0 and -1.
+
+ * config/sparc/sparc.h (SPARC_FIRST_INT_REG, SPARC_LAST_INT_REG,
+ SPARC_INT_REG_P): Define.
+ (HARD_REGNO_NREGS): Use SPARC_INT_REG_P.
+ (REGNO_OK_FOR_INDEX_P): Likewise.
+ * config/sparc/sparc.c (gen_df_reg): Likewise.
+ (eligible_for_return_delay): Likewise.
+ (eligible_for_sibcall_delay): Likewise.
+ (sparc_legitimate_address_p): Likewise.
+ (emit_save_or_restore_regs): Likewise.
+ (registers_ok_for_ldd_peep): Likewise.
+ * config/spac/sparc.md (DI mode splitters): Likewise.
+ (SF mode const splitters): Likewise.
+ (DF mode splitters): Likewise.
+ (32-bit DI mode logical op splitters): Likewise.
+
+2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50841
+ Revert:
+ 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
+
+2011-10-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (avx2_lshl<mode>3): Remove insn pattern.
+ (VI248_256): Remove mode iterator.
+ * config/i386/i386.c (ix86_expand_vec_perm): Use gen_ashlv4di3
+ instead of gen_avx2_lshlv4di3.
+ (bdesc_args): Use CODE_FOR_ashl{v16hi,v8si,v4di}3 instead of
+ CODE_FOR_avx2_lshl{v16hi,v8si,v4di}3.
+
+2011-10-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (sseintprefix): Rename from gthrfirstp.
+ (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>): Delete expander.
+ (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>) Merge insn
+ pattern from *avx2_maskload<ssemodesuffix><avxsizesuffix> and
+ *avx_maskload<ssemodesuffix><avxsizesuffix> using V48_AVX mode
+ iterator. Use sseintprefix mode attribute.
+ (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>): Delete expander.
+ (<avx_avx2>_maskstore<ssemodesuffix><avxsizesuffix>) Merge insn
+ pattern from *avx2_maskstore<ssemodesuffix><avxsizesuffix> and
+ *avx_maskstore<ssemodesuffix><avxsizesuffix> using V48_AVX mode
+ iterator. Use sseintprefix mode attribute.
+ (*avx2_gathersi<mode>) Use sseintprefix and ssemodesuffix mode
+ attributes.
+ (*avx2_gatherdi<mode>): Ditto.
+ (*avx2_gatherdi<mode>256): Ditto.
+ (VI48_AVX2): Remove mode iterator.
+ (gthrlastfp): Remove mode attribute.
+
+2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * doc/invoke.texi ([-Wnarrowing], [-Wc++0x-compat]): Update.
+
+2011-10-23 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * tree-ssa-tail-merge.c (same_succ_flush_bb): New function, factored
+ out of ...
+ (same_succ_flush_bbs): Use same_succ_flush_bb.
+ (purge_bbs): Remove argument. Remove calls to same_succ_flush_bbs,
+ release_last_vdef and delete_basic_block.
+ (unlink_virtual_phi): New function.
+ (update_vuses): Add and use vuse1_phi_args argument. Set var to
+ SSA_NAME_VAR of vuse1 or vuse2, and use var. Handle case that
+ def_stmt2 is NULL. Use phi result as phi arg in case vuse1 or vuse2
+ is NULL_TREE. Replace uses of vuse1 if vuse2 is NULL_TREE. Fix code
+ to limit replacement of uses. Propagate phi argument for phis with a
+ single argument.
+ (replace_block_by): Update vops if phi_vuse1 or phi_vuse2 is NULL_TREE.
+ Set vuse1_phi_args if vuse1 is a phi defined in bb1. Add
+ vuse1_phi_args as argument to call to update_vuses. Call
+ release_last_vdef, same_succ_flush_bb, delete_basic_block. Update
+ CDI_DOMINATORS info.
+ (tail_merge_optimize): Remove argument in call to purge_bbs. Remove
+ call to free_dominance_info. Only call calculate_dominance_info once.
+
+2011-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (invert_tree_comparison): Always invert EQ_EXPR/NE_EXPR.
+
+ PR tree-optimization/44683
+ * tree-ssa-dom.c (record_edge_info): Record simple equivalences only if
+ we can be sure that there are no signed zeros involved.
+
+2011-10-23 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (estimate_badness): Scale up and handle overflows.
+
+2011-10-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50788
+ * config/i386/sse.md (<avx_avx2>_maskload<ssemodesuffix><avxsizesuffix>):
+ Remove (match_dup 0).
+ (*avx2_maskload<ssemodesuffix><avxsizesuffix>): New insn pattern.
+ (*avx_maskload<ssemodesuffix><avxsizesuffix>): Ditto.
+ (*avx2_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
+ (*avx_maskstore<ssemodesuffix><avxsizesuffix>): Ditto.
+ (*avx2_maskmov<ssemodesuffix><avxsizesuffix>): Remove insn pattern.
+ (*avx_maskmov<ssemodesuffix><avxsizesuffix>): Ditto.
+
+2011-10-23 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50819
+ * tree-vectorizer.h (vect_analyze_data_ref_dependences): Remove
+ the last argument.
+ * tree-vect-loop.c (vect_analyze_loop_2): Update call to
+ vect_analyze_data_ref_dependences.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Remove
+ the last argument. Check load-after-store dependence for unknown
+ dependencies in basic blocks.
+ (vect_analyze_data_ref_dependences): Update call to
+ vect_analyze_data_ref_dependences.
+ * tree-vect-patterns.c (vect_recog_widen_shift_pattern): Fix typo.
+ * tree-vect-slp.c (vect_bb_vectorizable_with_dependencies): Remove.
+ (vect_slp_analyze_bb_1): Update call to
+ vect_analyze_data_ref_dependences. Don't call
+ vect_bb_vectorizable_with_dependencies.
+
+2011-10-22 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.h (SECONDARY_INPUT_RELOAD_CLASS,
+ SECONDARY_OUTPUT_RELOAD_CLASS): Delete.
+ * config/sparc/sparc.c (TARGET_SECONDARY_RELOAD): Redefine.
+ (sparc_secondary_reload): New function.
+
+ * config/sparc/sparc.h (sparc_costs): Remove extern decl.
+ (struct processor_costs): Move from here..
+ * config/sparc/sparc.c (struct processor_costs): To here.
+ (sparc_costs): Mark static.
+
+ * config/sparc/sparc.c (short_branch, reg_unused_after): Delete.
+ * config/sparc/sparc-protos.h (short_branch, reg_unused_after):
+ Get rid of declarations.
+
+2011-10-21 Paul Brook <paul@codesourcery.com>
+
+ * config/c6x/c6x.c (c6x_asm_emit_except_personality,
+ c6x_asm_init_sections): New functions.
+ (TARGET_ASM_EMIT_EXCEPT_PERSONALITY, TARGET_ASM_INIT_SECTIONS): Define.
+
+2011-10-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50813
+ * config/i386/i386.c (expand_vec_perm_even_odd_1): Handle
+ V4DImode and V8SImode for !TARGET_AVX2.
+
+2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/50825
+ * sched-deps.c (add_dependence): If not doing predication, promote
+ REG_DEP_CONTROL to REG_DEP_ANTI.
+
+2011-10-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Pass address of X
+ instead of X to avr_legitimize_reload_address.
+ * config/avr/avr-protos.h (avr_legitimize_reload_address): Change
+ first argument's type from rtx to rtx*.
+ * config/avr/avr.c (avr_legitimize_reload_address): Ditto.
+ Pass PX to push_reload instead of &X. Change log messages for
+ better distinction.
+
+2011-10-21 Roland Stigge <stigge@antcom.de>
+
+ PR translation/47064
+ * params.def: Fix typo "compilatoin" -> "compilation".
+
+2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/50740
+ * config/i386/driver-i386.c (host_detect_local_cpu): Do cpuid 7 only
+ if max_level allows that.
+
+2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ * reg-notes.def (DEP_CONTROL): New.
+ * sched-ebb.c (add_deps_for_risky_insns): Add a REG_DEP_CONTROL when
+ not doing speculation.
+ * rtlanal.c (record_hard_reg_sets, find_all_hard_reg_sets,
+ record_hard_reg_uses_1, record_hard_reg_uses): New functions.
+ * function.c (record_hard_reg_sets, record_hard_reg_uses,
+ record_hard_reg_uses_1): Remove; move to rtlanal.c.
+ * lists.c (copy_INSN_LIST, concat_INSN_LIST): New functions.
+ * haifa-sched.c: Swap includes of "rtl.h" and "hard-reg-set.h".
+ (MUST_RECOMPUTE_SPEC_P): New macro.
+ (real_insn_for_shadow): New function.
+ (cond_clobbered_p, recompute_todo_spec, check_clobbered_conditions,
+ toggle_cancelled_flags): New static functions.
+ (schedule_insn): Relax an assert to only check for empty hard back
+ dependencies. Skip cancelled dependencies. Call
+ check_clobbered_conditions.
+ (copy_insn_list): Remove function, renamed moved to lists.c.
+ (save_backtrack_point): Use new spelling copy_INSN_LIST.
+ (unschedule_insns_until): Ensure TODO_SPEC is reset properly.
+ (restore_last_backtrack_point): Likewise. Call toggle_cancelled_flags.
+ (estimate_insn_tick): Ignore cancelled dependencies.
+ (haifa_speculate_insn): Move declaration.
+ (try_ready): Move code into recompute_todo_spec and call it. Tweak
+ some asserts. Ensure predicated patterns are restored if necessary.
+ Dump DEP_CONTROL flag.
+ (haifa_change_pattern): Merge with sched_change_pattern.
+ (sched_change_pattern): Remove function.
+ * sched-deps.c (NON_FLUSH_JUMP_KIND, NON_FLUSH_JUMP): Remove. All
+ uses changed to simply not test NON_FLUSH_JUMP_P.
+ (ds_to_dk, dk_to_ds, dump_dep, ds_to_dt, dump_ds, check_dep): Handle
+ REG_DEP_CONTROL.
+ (dep_spec_p): If DO_PREDICATION, REG_DEP_CONTROL is speculative.
+ (reg_pending_control_uses, control_dependency_cache): New static
+ variables.
+ (sched_get_reverse_condition_uncached): New function.
+ (sd_find_dep_between): Remove pointless assert. Look in
+ control_dependency_cache.
+ (ask_dependency_caches, set_dependency_caches, sd_delete_dep,
+ extend_dependency_caches, sched_deps_finish): Handle REG_DEP_CONTROL
+ and control_dependency_cache.
+ (sd_unresolve_dep): Use dep_spec_p.
+ (add_dependence): Now a wrapper around add_dependence_1, handling
+ REG_DEP_CONTROL specially.
+ (flush_pending_lists): Clear pending_jump_insns.
+ (sched_analyze_1): Handle pending_jump_insns like a memory flush.
+ (sched_analyze_2): Unconditionally add to pending memory flushes,
+ keep previous behaviour but apply it to pending_jump_insns instead.
+ (sched_analyze_insn): Defer adding jump reg dependencies using
+ reg_pending_control_uses; add them to the control_uses list. Handle
+ pending_jump_insns and control_uses when adding dependence lists.
+ (deps_analyze_insn): Update INSN_COND_DEPS.
+ (deps_analyze_insn): Add jumps to pending_jump_insns rather than
+ last_pending_memory_flush.
+ (init_deps): Initialize pending_jump_insns.
+ (free_deps): Free control_uses.
+ (remove_from_deps): Remove from pending_jump_insns.
+ (init_deps_global): Allocate reg_pending_control_uses).
+ (finish_deps_global): Free it.
+ (add_dependence_1): Renamed from add_dependence. Handle
+ REG_DEP_CONTROL.
+ * rtl.h (record_hard_reg_uses, find_all_hard_reg_sets): Declare.
+ (copy_INSN_LIST, concat_INSN_LIST): Declare.
+ * sched-int.h (struct deps_reg): Add control_uses.
+ (struct deps_desc): Add pending_jump_insns.
+ (struct _haifa_deps_insn_data): Add cond_deps.
+ (struct _haifa_insn_data): Add must_recompute_spec and predicated_pat.
+ (INSN_COND_DEPS, PREDICATED_PAT): New macros.
+ (BITS_PER_DEP_WEAK): Adjust for two extra bits in the word.
+ (DEP_CONTROL): New macro.
+ (DEP_TYPES): Include it.
+ (HARD_DEP): Adjust definition.
+ (DEP_CANCELLED): New macro.
+ (enum SCHED_FLAGS): Add DO_PREDICATION.
+ (sched_get_reverse_condition_uncached, real_insn_for_shadow): Declare.
+ * sched-rgn.c (concat_INSN_LIST): Remove function.
+ (deps_join): Handle pending_jump_insns.
+ (free_pending_lists): Likewise.
+ * config/c6x/c6x.c (c6x_set_sched_flags): Set DO_PREDICATION for final
+ schedule.
+
+2011-10-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50820
+ * config/avr/libgcc.S (__EIND__): New define to 0x3C.
+ (__tablejump__): Consistently use EIND for indirect jump/call.
+ (__tablejump_elpm__): Ditto.
+
+2011-10-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.md (attr "op_pattern"): New.
+ (load_sdata_pic, mov<mode>_insn for QIHIM and SISFVM): Set it.
+ * config/c6x/c6x-mult.md.in (mulhi3_VARIANT_, mulhisi3_insn_VARIANT_):
+ Likewise.
+ * config/c6x/c6x-mult.md: Regenerate.
+ * config/c6x/c6x.c: Include "regrename.h".
+ (unit_req_table): New typedef.
+ (unit_reqs): Use it for the declaration.
+ (unit_req_factor, get_unit_reqs, merge_unit_reqs, unit_req_imbalance,
+ get_unit_operand_masks, try_rename_operands, reshuffle_units): New
+ static functions.
+ (count_unit_reqs): New arg reqs. All callers changed. Use
+ get_unit_reqs, and don't merge here.
+ (res_mii): New arg reqs. All callers changed. Rewrite to use a loop
+ using unit_req_factor.
+ (hwloop_optimize): Call reshuffle_units. Call merge_unit_reqs after
+ count_unit_reqs.
+ (c6x_reorg): Add reg notes problem, and call df_analyze.
+ * Makefile.in ($(out_object_file)): Depend on regrename.h.
+
+2011-10-21 Kai Tietz <ktietz@redhat.com>
+
+ * fold-const.c (simple_operand_p_2): Handle integral
+ casts from boolean-operands.
+
+2011-10-21 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (dump_cgraph_node): Dump alias flag.
+ * cgraphunit.c (handle_alias_pairs): Handle weakrefs with
+ no destination.
+ (get_alias_symbol): New function.
+ (output_weakrefs): Output also weakrefs with no destinatoin.
+ (lto_output_node): Output weakref alias flag when at function boundary.
+
+2011-10-21 Andrew Stubbs <ams@codesourcery.com>
+
+ PR target/50809
+ * config/arm/driver-arm.c (vendors): Make static.
+
+2011-10-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_emit_swdivsf): Force b into register.
+ (ix86_emit_swsqrtsf): Force a into register.
+
+2011-10-20 Mike Stump <mikestump@comcast.net>
+
+ * regcprop.c (copyprop_hardreg_forward_1): Update recog_data
+ after validate_change wipes it out.
+
+2011-10-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.md ("vec_permv16qi"): Reduce selector modulo 32
+ before using the shufb instruction.
+
+2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/50766
+ * config/i386/i386.md (bmi_bextr_<mode>): Update register/
+ memory operand order.
+ (bmi2_bzhi_<mode>3): Ditto.
+ (bmi2_pdep_<mode>3): Ditto.
+ (bmi2_pext_<mode>3): Ditto.
+
+2011-10-20 Richard Henderson <rth@redhat.com>
+
+ * target.def (vec_perm_const_ok): Rename from builtin_vec_perm_ok.
+ * optabs.c (can_vec_perm_expr_p): Update to match.
+ (expand_vec_perm_expr): Likewise.
+ * config/i386/i386.c (TARGET_VECTORIZE_VEC_PERM_CONST_OK): Rename
+ from TARGET_VECTORIZE_BUILTIN_VEC_PERM_OK.
+ * doc/tm.texi.in: Likewise.
+
+2011-10-20 Sergey Ostanevich <sergos.gnu@gmail.com>
+
+ PR target/50572
+ * config/i386/i386.c (processor_target_table): Change Atom
+ align_loops_max_skip to 15.
+
+2011-10-20 Richard Henderson <rth@redhat.com>
+
+ * target.def (builtin_vec_perm): Remove.
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+ * config/i386/i386.c (ix86_expand_vec_perm_builtin): Remove.
+ (IX86_BUILTIN_VEC_PERM_*): Remove.
+ (bdesc_args): Remove vec_perm builtins
+ (ix86_expand_builtin): Likewise.
+ (ix86_expand_vec_perm_const_1): Rename from
+ ix86_expand_vec_perm_builtin_1.
+ (extract_vec_perm_cst): Merge into...
+ (ix86_vectorize_vec_perm_const_ok): ... here. Rename from
+ ix86_vectorize_builtin_vec_perm_ok.
+ (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+ * config/rs6000/rs6000.c (rs6000_builtin_vec_perm): Remove.
+ (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+ * config/spu/spu.c (spu_builtin_vec_perm): Remove.
+ (TARGET_VECTORIZE_BUILTIN_VEC_PERM): Remove.
+
+2011-10-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47989
+ * config/i386/i386.h (RECIP_MASK_DEFAULT): New define.
+ * config/i386/i386.op (recip_mask): Initialize with RECIP_MASK_DEFAULT.
+ * doc/invoke.texi (ix86 Options, -mrecip): Document that GCC
+ implements vectorized single float division and vectorized sqrtf(x)
+ with reciprocal sequence with additional Newton-Raphson step with
+ -ffast-math.
+
+2011-10-20 Dodji Seketeli <dodji@redhat.com>
+
+ * ggc-zone.c (ggc_internal_alloc_zone_stat): Rename
+ ggc_alloced_size_order_for_request into ggc_round_alloc_size like
+ it was done in ggc-page.c.
+
+ PR other/50659
+ * doc/cppopts.texi: Use @smallexample/@end smallexample in
+ documentation for -fdebug-cpp instead of @quotation/@end quotation
+ that is not supported by contrib/texi2pod.pl.
+
+2011-10-19 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (inline_small_functions): Always update all calles after
+ inlining.
+
+2011-10-19 Jan Hubicka <jh@suse.cz>
+
+ PR bootstrap/50709
+ * ipa-inline.c (inline_small_functions): Fix checking code to not make
+ effect on fibheap stability.
+
+2011-10-20 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/m68k/t-linux (M68K_MLIB_CPU): Add ColdFire CPUs.
+
+2011-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/50106
+ * config/arm/arm.c (thumb_unexpanded_epilogue): Handle return
+ reg size from 1-3.
+
+2011-10-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-loop-im.c (stmt_cost): Add WIDEN_*, FMA_EXPR
+ and rotates to the set of expensive operations.
+
+2011-10-19 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (sparc_expand_move): Use can_create_pseudo_p.
+ (sparc_emit_set_const32): Likewise.
+ (sparc_emit_set_const64_longway): Likewise.
+ (sparc_emit_set_const64): Likewise.
+ (sparc_legitimize_pic_address): Likewise.
+ (memory_ok_for_ldd): Likewise.
+
+2011-10-20 Dehao Chen <dehao@google.com>
+
+ * profile.c (compute_branch_probabilities): Compute and dump the
+ overlap between the static estimation and the instrumentation profile.
+ (OVERLAP_BASE): New macro.
+ (compute_frequency_overlap): New function
+
+2011-10-19 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use
+ d->op1 instead of d->op0 for the second vpshufb.
+ (expand_vec_perm_even_odd_1): For V8SImode fix vpshufd immediates.
+ (ix86_expand_vec_perm_const): If mask indicates two operands are
+ needed, but both are the same and expanding them as d.op0 == d.op1
+ failed, retry with d.op0 != d.op1.
+ (ix86_expand_vec_perm_builtin): Likewise. Handle sorry printing
+ also for d.nelt == 32.
+
+ PR middle-end/50754
+ * cfgexpand.c (expand_debug_expr): Handle WIDEN_LSHIFT_EXPR, ignore
+ VEC_PERM_EXPR.
+
+2011-10-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ * regrename.h: New file.
+ * regrename.c: Include it. Also include "emit-rtl.h".
+ (struct du_head, struct du_chain, du_head_p DEF_VEC and
+ DEF_VEC_ALLOC_P): Move to regrename.h.
+ (do_replace): Remove declaration.
+ (insn_rr): New variable.
+ (cur_operand): New static variable.
+ (regrename_chain_from_id): Renamed from chain_from_id and no longer
+ static. All callers changed.
+ (record_operand_use): New static function.
+ (scan_rtx_reg): Use it.
+ (find_best_rename_reg): New function, broken out of rename_chains.
+ (rename_chains): Use it. Don't update chain regno and nregs here, ...
+ (regrename_do_replace): ... do it here instead. Renamed from
+ do_replace, and no longer static. All callers changed.
+ (regrename_analyze): No longer static. New arg bb_mask.
+ All callers changed. If bb_mask is nonzero, use it to limit the
+ number of basic blocks we analyze. If we failed to analyze a block,
+ clear insn operand data.
+ (record_out_operands): New arg insn_info. Update cur_operand if it is
+ nonnull.
+ (build_def_use): If insn_rr is nonnull, pass an insn_info to
+ record_out_operands, and update cur_operand here as well.
+ (regrename_init, regrename_finish): New functions.
+ (regrename_optimize): Use them.
+ * Makefile.in (regrename.o): Adjust dependencies.
+
+2011-10-19 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50769
+ * tree-ssa-tail-merge.c (replace_block_by): Calculate phi_vuse2
+ unconditionally. Handle case that phi_vuse2 is not an SSA_NAME. Add
+ dummy argument .MEM to phi when increasing number of arguments of phi by
+ redirecting edges to the block with phi.
+
+2011-10-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/50777
+ * configure.ac: Save and restore CXXFLAGS around
+ gcc_AC_CHECK_DECLS uses.
+ Check for madvise() declaration with g++ if --enable-build-with-cxx.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * ggc-page.c (USING_MADVISE): Also check HAVE_DECL_MADVISE.
+
+2011-10-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/49310
+ * var-tracking.c (loc_exp_dep, onepart_aux): New structs.
+ (variable_part): Replace offset with union.
+ (enum onepart_enum, onepart_enum_t): New.
+ (variable_def): Drop cur_loc_changed, add onepart.
+ (value_chain_def, const_value_chain): Remove.
+ (VAR_PART_OFFSET, VAR_LOC_1PAUX): New macros, with checking.
+ (VAR_LOC_DEP_LST, VAR_LOC_DEP_LSTP): New macros.
+ (VAR_LOC_FROM, VAR_LOC_DEPTH, VAR_LOC_DEP_VEC): Likewise.
+ (value_chain_pool, value_chains): Remove.
+ (dropped_values): New.
+ (struct parm_reg): Only if HAVE_window_save.
+ (vt_stack_adjustments): Don't record register arguments.
+ (dv_as_rtx): New.
+ (dv_onepart_p): Return a onepart_enum_t.
+ (onepart_pool): New.
+ (dv_pool): Remove.
+ (dv_from_rtx): New.
+ (variable_htab_free): Release onepart aux data. Reset flags.
+ (value_chain_htab_hash, value_chain_htab_eq): Remove.
+ (unshare_variable): Use onepart field. Propagate onepart aux
+ data or offset. Drop cur_loc_changed.
+ (val_store): Cope with NULL insn. Rephrase dump output. Check
+ for unsuitable locs. Add FIXME on using cselib locs.
+ (val_reset): Remove FIXME of unfounded concerns.
+ (val_resolve): Check for unsuitable locs. Add FIXME on using
+ cselib locs.
+ (variable_union): Use onepart field, adjust access to offset.
+ (NO_LOC_P): New.
+ (VALUE_CHANGED, DECL_CHANGED): Update doc.
+ (set_dv_changed): Clear NO_LOC_P when changed.
+ (find_loc_in_1pdv): Use onepart field.
+ (intersect_loc_chains): Likewise.
+ (unsuitable_loc): New.
+ (loc_cmp): Keep ENTRY_VALUEs at the end of the loc list.
+ (add_value_chain, add_value_chains): Remove.
+ (add_cselib_value_chains, remove_value_chain): Likewise.
+ (remove_value_chains, remove_cselib_value_chains): Likewise.
+ (canonicalize_loc_order_check): Use onepart. Drop cur_loc_changed.
+ (canonicalize_values_star, canonicalize_vars_star): Use onepart.
+ (variable_merge_over_cur): Likewise. Adjust access to offset.
+ Drop cur_loc_changed.
+ (variable_merge_over_src): Use onepart field.
+ (remove_duplicate_values): Likewise.
+ (variable_post_merge_new_vals): Likewise.
+ (find_mem_expr_in_1pdv): Likewise.
+ (dataflow_set_preserve_mem_locs): Likewise. Drop cur_loc_changed
+ and value chains.
+ (dataflow_set_remove_mem_locs): Likewise. Use VAR_LOC_FROM.
+ (variable_different_p): Use onepart field. Move onepart test out
+ of the loop.
+ (argument_reg_set): Drop.
+ (add_uses, add_stores): Preserve but do not record in dynamic
+ tables equivalences for ENTRY_VALUEs and CFA_based addresses.
+ Avoid unsuitable address expressions.
+ (EXPR_DEPTH): Unlimit.
+ (EXPR_USE_DEPTH): Repurpose PARAM_MAX_VARTRACK_EXPR_DEPTH.
+ (prepare_call_arguments): Use DECL_RTL_IF_SET.
+ (dump_var): Adjust access to offset.
+ (variable_from_dropped, recover_dropped_1paux): New.
+ (variable_was_changed): Drop cur_loc_changed. Use onepart.
+ Preserve onepart aux in empty_var. Recover empty_var and onepart
+ aux from dropped_values.
+ (find_variable_location_part): Special-case onepart. Adjust
+ access to offset.
+ (set_slot_part): Use onepart. Drop cur_loc_changed. Adjust
+ access to offset. Initialize onepaux. Drop value chains.
+ (delete_slot_part): Drop value chains. Use VAR_LOC_FROM.
+ (VEC (variable, heap), VEC (rtx, stack)): Define.
+ (expand_loc_callback_data): Drop dummy, cur_loc_changed,
+ ignore_cur_loc. Add expanding, pending, depth.
+ (loc_exp_dep_alloc, loc_exp_dep_clear): New.
+ (loc_exp_dep_insert, loc_exp_dep_set): New.
+ (notify_dependents_of_resolved_value): New.
+ (update_depth, vt_expand_var_loc_chain): New.
+ (vt_expand_loc_callback): Revamped.
+ (resolve_expansions_pending_recursion): New.
+ (INIT_ELCD, FINI_ELCD): New.
+ (vt_expand_loc): Use the new macros above. Drop ignore_cur_loc
+ parameter, adjust all callers.
+ (vt_expand_loc_dummy): Drop.
+ (vt_expand_1pvar): New.
+ (emit_note_insn_var_location): Operate on non-debug decls only.
+ Revamp multi-part cur_loc recomputation and one-part expansion.
+ Drop cur_loc_changed. Adjust access to offset.
+ (VEC (variable, heap)): Drop.
+ (changed_variables_stack, changed_values_stack): Drop.
+ (check_changed_vars_0, check_changed_vars_1): Remove.
+ (check_changed_vars_2, check_changed_vars_3): Remove.
+ (values_to_stack, remove_value_from_changed_variables): New.
+ (notify_dependents_of_changed_value, process_changed_values): New.
+ (emit_notes_for_changes): Revamp onepart updates.
+ (emit_notes_for_differences_1): Use onepart. Drop cur_loc_changed
+ and value chains. Propagate onepaux. Recover empty_var and onepaux
+ from dropped_values.
+ (emit_notes_for_differences_2): Drop value chains.
+ (emit_notes_in_bb): Adjust.
+ (vt_emit_notes): Drop value chains, changed_variables_stack.
+ Initialize and release dropped_values.
+ (create_entry_value): Revamp.
+ (vt_add_function_parameter): Use new interface.
+ (note_register_arguments): Remove.
+ (vt_initialize): Drop value chains and register arguments.
+ (vt_finalize): Drop value chains. Release windowed_parm_regs only
+ if HAVE_window_save.
+ * rtl.h: Document various pass-local uses of RTL flags.
+ * tree.h (DECL_RTL_KNOWN_SET): New.
+ * doc/invoke.texi (param max-vartrack-expr-depth): Update
+ description and default.
+
+2011-10-19 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50447
+ * config/avr/avr.md (cc): New alternative out_plus_noclobber.
+ (adjust_len): Ditto.
+ (addhi3): Don't pipe through short; use gen_int_mode instead.
+ Prior to reload, expand to gen_addhi3_clobber.
+ (*addhi3): Use avr_out_plus_noclobber if applicable, use
+ out_plus_noclobber in cc and adjust_len attribute.
+ (addhi3_clobber): 2 new RTL peepholes.
+ (addhi3_clobber): New insn.
+ * config/avr/avr-protos.h: (avr_out_plus_noclobber): New prototype.
+ * config/avr/avr.c (avr_out_plus_noclobber): New function.
+ (notice_update_cc): Handle CC_OUT_PLUS_NOCLOBBER.
+ (avr_out_plus_1): Tweak if only MSB is +/-1 and other bytes are 0.
+ Set cc0 to set_zn for adiw on 16-bit values.
+ (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS_NOCLOBBER.
+ (expand_epilogue): No need to add 0 to frame_pointer_rtx.
+
+2011-10-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50780
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Verify
+ the condition is properly gimple before using it.
+ * tree-eh (stmt_could_throw_1_p): Properly extract the
+ operation type from comparisons.
+
+2011-10-19 Roland Stigge <stigge@antcom.de>
+
+ PR translation/48638
+ * plugin.c (add_new_plugin): Fix typo in fatal_error message.
+
+2011-10-19 Roland Stigge <stigge@antcom.de>
+
+ PR translation/49517
+ * config/rx/rx.c (rx_print_operand): Fix typo in warning message.
+
+2011-10-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50768
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Rewrite.
+
+2011-10-19 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/50340
+ * sel-sched-ir.c (update_target_availability): LHS register
+ availability is not known if the unavailable LHS of the other
+ expression is a different register.
+
+2011-10-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR target/50310
+ * config/spu/spu.c (spu_emit_vector_compare): Support unordered
+ floating-point comparisons.
+
+2011-10-19 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (handle_alias_pairs): Also handle wekref with
+ destination declared.
+ (output_weakrefs): New function.
+ * varpool.c (varpool_create_variable_alias): Handle external aliases.
+
+2011-10-19 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (loc_descriptor): For SUBREG pass SUBREG_REG's mode as
+ second argument instead of mode.
+
+2011-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_vec_perm): In merge_two use
+ mode SUBREG of operands[0] as target.
+ (valid_perm_using_mode_p): Don't ignore higher bits of d->perm.
+ (expand_vec_pshufb): For V8SImode vmode emit avx2_permvarv8si.
+ (expand_vec_perm_1): Handle identity and some broadcast
+ permutations.
+ (expand_vec_perm_interleave2): Handle also 32-byte modes, using
+ vperm2[fi]128 or vpunpck[lh]* followed by single insn permutation.
+ For d->testing_p return true earlier to avoid creating more GC
+ garbage.
+ (expand_vec_perm_vpermq_perm_1): New function.
+ (expand_vec_perm_vpshufb2_vpermq): For d->testing_p return true
+ earlier to avoid creating more GC garbage. Fix handling of
+ V16HImode. Avoid some SUBREGs in SET_DEST.
+ (expand_vec_perm_broadcast_1): Return false for 32-byte integer
+ vector modes.
+ (expand_vec_perm_vpshufb4_vpermq2): New function.
+ (ix86_expand_vec_perm_builtin_1): Call expand_vec_perm_vpermq_perm_1
+ and expand_vec_perm_vpshufb4_vpermq2.
+
+2011-10-18 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/driver-arm.c (host_detect_local_cpu): Close the file
+ before exiting.
+
+2011-10-18 Andrew Stubbs <ams@codesourcery.com>
+
+ PR tree-optimization/50717
+ * tree-ssa-math-opts.c (is_widening_mult_p): Remove the 'type'
+ parameter. Calculate 'type' from stmt.
+ (convert_mult_to_widen): Update call the is_widening_mult_p.
+ (convert_plusminus_to_widen): Likewise.
+
+2011-10-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (struct machine_function): New data structure.
+ (spu_init_machine_status): New function.
+ (spu_option_override): Install it.
+ (get_pic_reg): Set and use cfun->machine->pic_reg.
+ (spu_split_immediate): Do not set crtl->uses_pic_offset_table.
+ (need_to_save_reg): Use cfun->machine->pic_reg instead of
+ checking crtl->uses_pic_offset_table.
+ (spu_expand_prologue): Likewise.
+
+2011-10-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50735
+ * function.c (gimplify_parameters): Use create_tmp_var instead of
+ create_tmp_reg. If parm is not TREE_ADDRESSABLE and type is complex
+ or vector type, set DECL_GIMPLE_REG_P.
+
+2011-10-18 Andrew Stubbs <ams@codesourcery.com>
+
+ * config.host (arm*-*-linux*): Add driver-arm.o and x-arm.
+ * config/arm/arm.opt: Add 'native' processor_type and
+ arm_arch enum values.
+ * config/arm/arm.h (host_detect_local_cpu): New prototype.
+ (EXTRA_SPEC_FUNCTIONS): New define.
+ (MCPU_MTUNE_NATIVE_SPECS): New define.
+ (DRIVER_SELF_SPECS): New define.
+ * config/arm/driver-arm.c: New file.
+ * config/arm/x-arm: New file.
+ * doc/invoke.texi (ARM Options): Document -mcpu=native,
+ -mtune=native and -march=native.
+
+2011-10-18 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/50205
+ * sel-sched.c (count_occurrences_1): Simplify on the assumption that
+ p->x is a register. Forbid substitution when the same register is
+ found in a different mode.
+ (count_occurrences_equiv): Assert that 'what' is a register.
+
+2011-10-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50767
+ * tree-ssa-pre.c (create_expression_by_pieces): Update the
+ folded statement.
+
+2011-10-18 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_block_move_unaligned_straight)
+ (arm_adjust_block_mem, arm_block_move_unaligned_loop)
+ (arm_movmemqi_unaligned): New.
+ (arm_gen_movmemqi): Support unaligned block copies.
+
+2011-10-18 Ira Rosen <ira.rosen@linaro.org>
+
+ * doc/md.texi (vec_widen_ushiftl_hi, vec_widen_ushiftl_lo,
+ vec_widen_sshiftl_hi, vec_widen_sshiftl_lo): Document.
+ * tree-pretty-print.c (dump_generic_node): Handle WIDEN_LSHIFT_EXPR,
+ VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+ (op_code_prio): Likewise.
+ (op_symbol_code): Handle WIDEN_LSHIFT_EXPR.
+ * optabs.c (optab_for_tree_code): Handle
+ VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+ (init-optabs): Initialize optab codes for vec_widen_u/sshiftl_hi/lo.
+ * optabs.h (enum optab_index): Add OTI_vec_widen_u/sshiftl_hi/lo.
+ * genopinit.c (optabs): Initialize the new optabs.
+ * expr.c (expand_expr_real_2): Handle
+ VEC_WIDEN_LSHIFT_HI_EXPR and VEC_WIDEN_LSHIFT_LO_EXPR.
+ * gimple-pretty-print.c (dump_binary_rhs): Likewise.
+ * tree-vectorizer.h (NUM_PATTERNS): Increase to 8.
+ * tree.def (WIDEN_LSHIFT_EXPR, VEC_WIDEN_LSHIFT_HI_EXPR,
+ VEC_WIDEN_LSHIFT_LO_EXPR): New.
+ * cfgexpand.c (expand_debug_expr): Handle new tree codes.
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
+ vect_recog_widen_shift_pattern.
+ (vect_handle_widen_mult_by_const): Rename...
+ (vect_handle_widen_op_by_const): ...to this. Handle shifts.
+ Add a new argument, update documentation.
+ (vect_recog_widen_mult_pattern): Assume that only second
+ operand can be constant. Update call to
+ vect_handle_widen_op_by_const.
+ (vect_recog_over_widening_pattern): Fix typo.
+ (vect_recog_widen_shift_pattern): New.
+ * tree-vect-stmts.c (vectorizable_type_promotion): Handle
+ widening shifts.
+ (supportable_widening_operation): Likewise.
+ * tree-inline.c (estimate_operator_cost): Handle new tree codes.
+ * tree-vect-generic.c (expand_vector_operations_1): Likewise.
+ * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+ * config/arm/neon.md (neon_vec_<US>shiftl_<mode>): New.
+ (vec_widen_<US>shiftl_lo_<mode>, neon_vec_<US>shiftl_hi_<mode>,
+ vec_widen_<US>shiftl_hi_<mode>, neon_vec_<US>shift_left_<mode>):
+ Likewise.
+ * config/arm/predicates.md (const_neon_scalar_shift_amount_operand):
+ New.
+ * config/arm/iterators.md (V_innermode): New.
+ * tree-vect-slp.c (vect_build_slp_tree): Require same shift operand
+ for widening shift.
+
+2011-10-18 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.h (struct pt_solution): Remove
+ vars_contains_restrict member.
+ (pt_solutions_same_restrict_base): Remove.
+ (pt_solution_set): Adjust.
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Remove
+ vars_contains_restrict handling.
+ (dump_points_to_solution): Likewise.
+ (ptr_derefs_may_alias_p): Do not call pt_solutions_same_restrict_base.
+ * tree-ssa-structalias.c (struct variable_info): Remove is_restrict_var
+ field.
+ (new_var_info): Do not initialize it.
+ (ipa_escaped_pt): Adjust.
+ (make_constraint_from_restrict): Make the tag global.
+ (make_constraint_from_global_restrict): New function.
+ (make_constraint_from_heapvar): Remove.
+ (create_variable_info_for): Do not make restrict vars point
+ to NONLOCAL.
+ (intra_create_variable_infos): Likewise.
+ (find_what_var_points_to): Remove vars_contains_restrict handling.
+ (pt_solution_set): Adjust.
+ (pt_solution_ior_into): Likewise.
+ (pt_solutions_same_restrict_base): Remove.
+ (compute_points_to_sets): Do not test is_restrict_var.
+ * cfgexpand.c (update_alias_info_with_stack_vars): Adjust.
+ * gimple-pretty-print.c (pp_points_to_solution): Likewise.
+
+2011-10-18 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50672
+ * tree-ssa-dce.c (mark_virtual_operand_for_renaming): New function,
+ factored out of ...
+ (mark_virtual_phi_result_for_renaming): Use
+ mark_virtual_operand_for_renaming.
+ * tree-flow.h (mark_virtual_operand_for_renaming): Declare.
+ * tree-ssa-tail-merge.c (release_last_vdef): New function.
+ (purge_bbs): Add update_vops parameter. Call release_last_vdef for each
+ deleted basic block.
+ (tail_merge_optimize): Add argument to call to purge_bbs.
+
+2011-10-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50716
+ * expr.c (get_object_or_type_alignment): New function.
+ (expand_assignment): Use it.
+ (expand_expr_real_1): Likewise.
+
+2011-10-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR bootstrap/50760
+ * input.c (dump_line_table_statistics): Use long, not size_t.
+
+2011-10-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (in_call_delay): Fix formatting issues.
+
+2011-10-17 Simon Baldwin <simonb@google.com>
+ Ian Lance Taylor <iant@google.com>
+
+ * configure.ac: Add --with-native-system-header-dir. Set and
+ substitute NATIVE_SYSTEM_HEADER_DIR. Use native_system_header
+ when setting target_header_dir.
+ * config.gcc: Always set native_system_header_dir.
+ (*-*-gnu*): Set native_system_header_dir. Don't use t-gnu.
+ (i[34567]86-pc-msdosdjgpp*): Set native_system_header_dir. Don't
+ use i386/t-djgpp.
+ (i[34567]86-*-mingw* | x86_64-*-mingw*): Set
+ native_system_header_dir.
+ (spu-*-elf*): Set native_system_header_dir.
+ * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): Set to
+ @NATIVE_SYSTEM_HEADER_DIR@.
+ (PREPROCESSOR_DEFINES): Define NATIVE_SYSTEM_HEADER_DIR.
+ * cppdefault.c (STANDARD_INCLUDE_DIR): Don't define.
+ (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
+ STANDARD_INCLUDE_COMPONENT.
+ (cpp_include_defaults): Don't use SYSTEM_INCLUDE_DIR. Rename
+ STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
+ * system.h: Poison SYSTEM_INCLUDE_DIR, STANDARD_INCLUDE_DIR, and
+ STANDARD_INCLUDE_COMPONENT.
+ * config/i386/t-mingw32 (NATIVE_SYSTEM_HEADER_DIR): Remove.
+ * config/i386/t-mingw-w32: Likewise.
+ * config/i386/t-mingw-w64: Likewise.
+ * config/spu/t-spu-elf: Likewise.
+ * config/i386/t-djgpp: Remove.
+ * config/t-gnu: Remove.
+ * config/i386/mingw32.h (STANDARD_INCLUDE_DIR): Don't define.
+ (NATIVE_SYSTEM_HEADER_COMPONENT): Rename from
+ STANDARD_INCLUDE_COMPONENT.
+ * config/i386/djgpp.h (STANDARD_INCLUDE_DIR): Don't define.
+ * config/spu/spu-elf.h: Likewise.
+ * config/vms/xm-vms.h: Likewise.
+ * config/gnu.h: Likewise.
+ * config/openbsd.h (INCLUDE_DEFAULTS): Change STANDARD_INCLUDE_DIR
+ and STANDARD_INCLUDE_COMPONENT to NATIVE_SYSTEM_HEADER_DIR and
+ NATIVE_SYSTME_HEADER_COMPONENT.
+ * doc/install.texi (Configuration): Document
+ --with-native-system-header-dir. Mention it in the documentation
+ for --with-sysroot and --with-build-sysroot.
+ * doc/tm.texi.in (Driver): Don't document SYSTEM_INCLUDE_DIR or
+ STANDARD_INCLUDE_DIR. Rename STANDARD_INCLUDE_COMPONENT to
+ NATIVE_SYSTEM_HEADER_COMPONENT. Rename uses of
+ STANDARD_INCLUDE_DIR to NATIVE_SYSTEM_HEADER_DIR.
+ * doc/fragments.texi (Target Fragment): Don't document
+ NATIVE_SYSTEM_HEADER_DIR.
+ * configure, doc/tm.texi: Rebuild.
+
+2011-10-17 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.md: Use register_or_zero_operand where rJ
+ is the constraint.
+
+ * config/sparc/sparc.md (vec_perm_constv8qi, vec_perm<mode>): New
+ patterns.
+ * config/sparc/sparc.c (sparc_expand_vec_perm_bmask): New function.
+ * config/sparc/sparc-protos.h (sparc_expand_vec_perm_bmask): Declare.
+
+2011-10-17 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc-modes.def: Add single entry vector modes for
+ DImode and SImode.
+ * config/sparc/sparc.md (V32, V32I, V64, V64I, V64N8): Delete
+ mode iterators.
+ (mov<V32:mode>): Revert back to plain SFmode pattern.
+ (*movsf_insn): Likewise.
+ (mov<V64:mode>): Revert back to plain DFmode pattern.
+ (*movdf_insn_sp32): Likewise.
+ (*movdf_insn_sp32_v9): Likewise.
+ (*movdf_insn_sp64): Likewise.
+ (V64 mode splitters) Likewise.
+ (addsi3): Remove VIS alternatives.
+ (subsi3): Likewise.
+ (and<V64I:mode>3): Revert to DImode only pattern.
+ (and<V64I:mode>3_sp32): Likewise.
+ (*and<V64I:mode>3_sp64): Likewise.
+ (and<V32I:mode>3): Likewise.
+ (*and_not_<V64I:mode>_sp32): Likewise.
+ (*and_not_<V64I:mode>_sp64): Likewise.
+ (*and_not_<V32I:mode>): Likewise.
+ (ior<V64I:mode>3): Likewise.
+ (*ior<V64I:mode>3_sp32): Likewise.
+ (*ior<V64I:mode>3_sp64): Likewise.
+ (ior<V32I:mode>3): Likewise.
+ (*or_not_<V64I:mode>_sp32): Likewise.
+ (*or_not_<V64I:mode>_sp64): Likewise.
+ (*or_not_<V32I:mode>): Likewise.
+ (xor<V64I:mode>3): Likewise.
+ (*xor<V64I:mode>3_sp32): Likewise.
+ (*xor<V64I:mode>3_sp64): Likewise.
+ (xor<V32I:mode>3): Likewise.
+ (V64I mode splitters): Likewise.
+ (*xor_not_<V64I:mode>_sp32): Likewise.
+ (*xor_not_<V64I:mode>_sp64): Likewise.
+ (*xor_not_<V32I:mode>): Likewise.
+ (one_cmpl<V64I:mode>2): Likewise.
+ (*one_cmpl<V64I:mode>2_sp32): Likewise.
+ (*one_cmpl<V64I:mode>2_sp64): Likewise.
+ (one_cmpl<V32I:mode>2): Likewise.
+ (VM32, VM64, VMALL): New mode iterators.
+ (vbits, vconstr, vfptype): New mode attributes.
+ (mov<VMALL:mode>): New expander.
+ (*mov<VM32:mode>_insn): New insn.
+ (*mov<VM64:mode>_insn_sp64): New insn.
+ (*mov<VM64:mode>_insn_sp32): New insn, and associated splitter
+ specifically for the register to memory case.
+ (vec_init<mode>): New expander.
+ (VADDSUB): New mode iterator.
+ (<plusminus_insn>v2si3, <plusminus_insn>v2hi3): Remove and replace
+ with...
+ (<plusminus_insn><mode>3): New consolidated pattern.
+ (VL): New mode iterator for logical operations.
+ (vlsuf): New more attribute.
+ (vlop): New code iterator.
+ (vlinsn, vlninsn): New code attributes.
+ (<code><mode>3): New insn to non-negated vector logical ops.
+ (*not_<code><mode>3): Likewise for negated variants.
+ (*nand<mode>_vis): New insn.
+ (vlnotop): New code iterator.
+ (*<code>_not1<mode>_vis, *<code>_not2<mode>_vis): New insns.
+ (one_cmpl<mode>2): New insn.
+ (faligndata<V64I:mode>_vis): Rewrite to use VM64 iterator.
+ (bshuffle<VM64:mode>_vis): Likewise.
+ (v<vis3_shift_patname><mode>3): Use GCM mode iterator.
+ (fp<plusminus_insn>64_vis): Use V1DI mode.
+ (VASS mode iterator): Use V1SI not SI mode.
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Account for
+ single-entry vector mode changes.
+ (sparc_expand_builtin): Likewise.
+ (sparc_expand_vector_init): New function.
+ * config/sparc/sparc-protos.h (sparc_expand_vector_init): Declare.
+
+2011-10-17 Kai Tietz <ktietz@redhat.com>
+
+ * fold-const.c (simple_operand_p_2): New function.
+ (fold_truthop): Rename to
+ (fold_truth_andor_1): function name.
+ Additionally remove branching creation for logical and/or.
+ (fold_truth_andor): Handle branching creation for logical and/or here.
+
+2011-10-17 Andi Kleen <ak@linux.intel.com>
+
+ * ggc-page.c (USING_MADVISE): Adjust ifdef to check for USING_MMAP.
+
+2011-10-17 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (ASSEMBLER_DIALECT): Remove.
+ * config/avr/avr.md (mcu_have_movw, mcu_mega): Remove attributes.
+ (adjust_len): Add alternative "call".
+ (isa, enabled): New insn attributes.
+ (length): Use match_test with AVR_HAVE_JMP_CALL instead of
+ mcu_mega attribute.
+ (*sbrx_branch<mode>): Ditto.
+ (*sbrx_and_branch<mode>): Ditto.
+ (*sbix_branch): Ditto.
+ (*sbix_branch_bit7): Ditto.
+ (*sbix_branch_tmp): Ditto.
+ (*sbix_branch_tmp_bit7): Ditto.
+ (jump): Ditto.
+ (negsi2): Use attribute "isa" instead of assembler dialect.
+ (extendhisi2): Ditto.
+ (call_insn, call_value_insn): Set adjust_len attribute.
+ (indirect_jump): Indent to coding rules.
+ (call_prologue_saves): Use isa attribute instead of mcu_mega.
+ (epilogue_restores): Ditto. Fix setting of SP as described in the
+ RTX pattern.
+ (*indirect_jump): Fusion of *jcindirect_jump, *njcindirect_jump
+ and *indirect_jump_avr6.
+ (*tablejump): Fusion of *tablejump_rjmp and *tablejump_lib.
+ (*jcindirect_jump, *njcindirect_jump, *indirect_jump_avr6): Remove.
+ (*tablejump_rjmp, *tablejump_lib): Remove.
+ * config/avr/avr.c (adjust_insn_length): Handle ADJUST_LEN_CALL.
+
+2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50757
+ * doc/invoke.texi ([Wnonnull]): Update.
+
+2011-10-17 Richard Henderson <rth@redhat.com>
+
+ PR 50746
+ * optabs.c (expand_vec_perm_expr): Fix indexing error.
+
+2011-10-17 Sergio Durigan Junior <sergiodj@redhat.com>
+
+ * configure.ac: Display `yes' if the SystemTap header has been found.
+ * configure: Regenerate.
+
+2011-10-08 Andi Kleen <ak@linux.intel.com>
+
+ PR other/50636
+ * config.in, configure: Regenerate.
+ * configure.ac (madvise): Add to AC_CHECK_FUNCS.
+ * ggc-page.c (USING_MADVISE): Add.
+ (page_entry): Add discarded field.
+ (alloc_page): Check for discarded pages.
+ (release_pages): Add USING_MADVISE branch.
+
+2011-10-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50729
+ * tree-vrp.c (extract_range_from_unary_expr_1): Remove redundant test.
+ (simplify_conversion_using_ranges): Properly test the
+ intermediate result.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * ggc.h (ggc_round_alloc_size): Declare new public entry point.
+ * ggc-none.c (ggc_round_alloc_size): New public stub function.
+ * ggc-page.c (ggc_alloced_size_order_for_request): New static
+ function. Factorized from ggc_internal_alloc_stat.
+ (ggc_round_alloc_size): New public function. Uses
+ ggc_alloced_size_order_for_request.
+ (ggc_internal_alloc_stat): Use ggc_alloced_size_order_for_request.
+ * ggc-zone.c (ggc_round_alloc_size): New public function extracted
+ from ggc_internal_alloc_zone_stat.
+ (ggc_internal_alloc_zone_stat): Use ggc_round_alloc_size.
+ * toplev.c (general_init): Initialize
+ line_table->alloced_size_for_request.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * input.c (ONE_K, ONE_M, SCALE, STAT_LABEL, FORMAT_AMOUNT): New macros.
+ (num_expanded_macros_counter, num_macro_tokens_counter): Declare
+ new counters.
+ (dump_line_table_statistics): Define new function.
+ * input.h (dump_line_table_statistics): Declare new function.
+ * toplev.c (dump_memory_report): Call dump_line_table_statistics.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * doc/cppopts.texi: Document -fdebug-cpp.
+ * doc/invoke.texi: Add -fdebug-cpp to the list of preprocessor options.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * gcc/diagnostic.h (diagnostic_report_current_module): Add a
+ location parameter.
+ * diagnostic.c (diagnostic_report_current_module): Add a location
+ parameter to the function definition. Use it instead of
+ input_location. Resolve the virtual location rather than just
+ looking up its map and risking to touch a resulting macro map.
+ (default_diagnostic_starter): Pass the relevant diagnostic
+ location to diagnostic_report_current_module.
+ * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): New.
+ (virt_loc_aware_diagnostic_finalizer): Likewise.
+ (diagnostic_report_current_function): Pass the
+ relevant location to diagnostic_report_current_module.
+ * tree-diagnostic.h (virt_loc_aware_diagnostic_finalizer): Declare
+ new function.
+ * toplev.c (general_init): By default, use the new
+ virt_loc_aware_diagnostic_finalizer as diagnostic finalizer.
+ * Makefile.in: Add vec.h dependency to tree-diagnostic.c.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * doc/cppopts.texi (-ftrack-macro-expansion): Document new option.
+ * doc/invoke.texi (-ftrack-macro-expansion): Add this to the list of
+ preprocessor related options.
+
+2011-10-15 Tom Tromey <tromey@redhat>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * input.h (struct expanded_location): Move to libcpp/line-map.h.
+ (LOCATION_COLUMN): New accessor
+ (in_system_header_at): Use linemap_location_in_system_header_p.
+ * diagnostic.c (diagnostic_report_current_module): Adjust to avoid
+ touching the internals of struct line_map. Use the public API instead.
+ (diagnostic_report_diagnostic): Don't use relational operator '<'
+ on virtual locations. Use linemap_location_before_p instead.
+ * input.c (expand_location): Adjust to expand to the tokens'
+ spelling location when macro location tracking is on.
+
+
+2011-10-08 Andi Kleen <ak@linux.intel.com>
+
+ * ggc-page.c (GGC_QUIRE_SIZE): Increase to 512
+
+2011-10-13 Andi Kleen <ak@linux.intel.com>
+
+ * toplev.c (compile_file): Rename __gnu_slim_lto to __gnu_lto_slim.
+
+2011-10-16 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50727
+ * tree-vect-patterns.c (vect_operation_fits_smaller_type): Add
+ DEF_STMT to the list of statements to be replaced by the
+ pattern statements.
+
+2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/50615
+ * combine.c (distribute_notes) <REG_ARGS_SIZE>: Skip if I3 is a no-op.
+
+2011-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50596
+ * tree-vectorizer.h (NUM_PATTERNS): Increase to 7.
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add
+ vect_recog_bool_pattern.
+ (check_bool_pattern, adjust_bool_pattern_cast,
+ adjust_bool_pattern, vect_recog_bool_pattern): New functions.
+
+2011-10-16 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-stmts.c (vectorizable_load): For SLP without permutation
+ treat the first load of the node as the first element in its
+ interleaving chain.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Swap the operands if
+ necessary and possible.
+ (vect_build_slp_tree): Add new argument. Allow load groups of any size
+ in basic blocks. Keep all the loads for further permutation check.
+ Use the new argument to determine if there is a permutation. Update
+ the recursive calls.
+ (vect_supported_load_permutation_p): Allow subchains of interleaving
+ chains in basic block vectorization.
+ (vect_analyze_slp_instance): Update the call to vect_build_slp_tree.
+ Check load permutation based on the new parameter.
+ (vect_schedule_slp_instance): Don't start from the first element in
+ interleaving chain unless the loads are permuted.
+
+2011-10-15 Jan Hubicka <jh@suse.cz>
+
+ PR target/48668
+ PR target/50689
+ * cgraphunit.c (cgraph_expand_function): Expand thunks and alises
+ after function body.
+
+2011-10-15 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-slp.c: Include langhooks.h.
+ (vect_create_mask_and_perm): Emit VEC_PERM_EXPR, not a builtin.
+ (vect_transform_slp_perm_load): Use can_vec_perm_expr_p. Simplify
+ mask creation for VEC_PERM_EXPR.
+ * tree-vect-stmts.c (perm_mask_for_reverse): Return the mask,
+ not the builtin.
+ (reverse_vec_elements): Emit VEC_PERM_EXPR not a builtin.
+ * Makefile.in (tree-vect-slp.o): Update dependency.
+ * optabs.c (can_vec_perm_expr_p): Allow NULL as unknown constant.
+
+2011-10-15 Alan Modra <amodra@gmail.com>
+
+ PR bootstrap/50738
+ * ifcvt.c (dead_or_predicable): Revert accidental commit with
+ HAVE_simple_return test.
+
+2011-10-15 Alan Modra <amodra@gmail.com>
+
+ * ifcvt.c (dead_or_predicable): Disable if-conversion when
+ doing so is likely to kill a shrink-wrapping opportunity.
+
+ PR rtl-optimization/49941
+ * jump.c (mark_jump_label_1): Set JUMP_LABEL for simple_return jumps.
+
+ * rtl.h (set_return_jump_label): Declare.
+ * function.c (set_return_jump_label): New function, extracted..
+ (thread_prologue_and_epilogue_insns): ..from here. Use it in
+ another instance to set return jump_label.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Use set_return_jump_label.
+ * reorg.c (find_end_label): Likewise.
+
+2011-10-14 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sol2.h: Protect -m{cpu,tune}=native handling
+ with a more complete cpp test.
+ * config/sparc/linux64.h: Likewise.
+ * config/sparc/linux.h: Likewise.
+ * config/sparc/sparc.opt (sparc_debug): New target variable.
+ (mdebug): New target option.
+ * config/sparc/sparc.h (MASK_DEBUG_OPTIONS, MASK_DEBUG_ALL,
+ TARGET_DEBUG_OPTIONS): New defines.
+ * config/sparc/sparc.c (debug_target_flag_bits,
+ debug_target_flags): New functions.
+ (sparc_option_override): Add name strings back to cpu_table[].
+ Parse -mdebug string. When TARGET_DEBUG_OPTIONS is true, print
+ out the target flags before and after override processing as well
+ as the selected cpu. If MASK_V8PLUS, make sure that the selected
+ cpu is at least v9.
+
+2011-10-15 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/49263
+ * config/sh/sh.h (ZERO_EXTRACT_ANDMASK): New macro.
+ * config/sh/sh.c (sh_rtx_costs): Add test instruction case.
+ * config/sh/sh.md (tstsi_t): Name existing insn. Make inner
+ and instruction commutative.
+ (tsthi_t, tstqi_t, tstqi_t_zero, tstsi_t_and_not,
+ tstsi_t_zero_extract_eq, tstsi_t_zero_extract_xor,
+ tstsi_t_zero_extract_subreg_xor_little,
+ tstsi_t_zero_extract_subreg_xor_big): New insns.
+ (*movsicc_t_false, *movsicc_t_true): Replace space with tab in
+ asm output.
+ (*andsi_compact): Reorder alternatives so that K08 is considered first.
+
+2011-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/50354
+ * config/sparc/linux64.h (TARGET_DEFAULT): Only override if the default
+ processor is at least V9 and TARGET_64BIT_DEFAULT is defined.
+
+2011-10-14 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * invoke.texi (AVR Options): Avoid \leq{}.
+
+2011-10-14 Kai Tietz <ktietz@redhat.com>
+
+ * gimplify.c (gimplify_expr): Take care that for bitwise-binary
+ transformation the operands have compatible types.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_widen_smult_hi_v8hi,
+ vec_widen_smult_lo_v8hi, vec_widen_umult_hi_v8hi,
+ vec_widen_umult_lo_v8hi): Macroize using VI2_AVX2
+ mode iterator and any_extend code iterator.
+ (vec_widen_<s>mult_hi_v8si, vec_widen_<s>mult_lo_v8si): New expanders.
+ (vec_widen_smult_hi_v4si, vec_widen_smult_lo_v4si): Enable
+ also for TARGET_SSE4_1 using pmuldq insn.
+ (sdot_prodv8hi): Macroize using VI2_AVX2 iterator.
+ (sse2_sse4_1): New code attr.
+ (udot_prodv4si): Macroize using any_extend code iterator.
+ (<s>dot_prodv8si): New expander.
+
+2011-10-14 Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
+
+ * config/i386/i386.c (atom_cost): Changed cost for loading
+ QImode using movzbl.
+
+2011-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_init_builtins): Fix typo in my
+ change on October 11th, 2011.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_interleave_high<mode>,
+ vec_interleave_low<mode>): Add AVX2 expanders for VI_256 modes.
+ * config/i386/i386.c (expand_vec_perm_interleave3): New function.
+ (ix86_expand_vec_perm_builtin_1): Call it.
+
+2011-10-14 Georg-Johann Lay <avr@gjlay.de>
+
+ Fix thinko from r179765
+ * config/avr/avr.c (avr_option_override): Don't override
+ flag_omit_frame_pointer if not actually needed.
+
+2011-10-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/46278
+ * doc/invoke.texi (AVR Options): Document -mstrict-X.
+
+ * config/avr/avr.opt (-mstrict-X): New option.
+ (avr_strict_X): New variable reflecting -mstrict-X.
+ * config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
+ outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
+ (avr_legitimate_address_p): Pass outer_code to
+ avr_reg_ok_for_addr_p and use that function in case PLUS.
+ (avr_mode_code_base_reg_class): Depend on avr_strict_X.
+ (avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
+ (avr_option_override): Disable -fcaller-saves if -mstrict-X is on.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (neg<mode>2): Use VI_AVX2 iterator instead
+ of VI_128.
+
+ * config/i386/sse.md (mulv2di3): Macroize using VI8_AVX2 iterator.
+ (ashl<mode>3): Use VI248_AVX2 iterator instead of VI248_128.
+ Use <sseinsnmode> instead of TI in mode attr.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c).
+ * config/arm/linux-atomic.c: Change comment to point to 64bit version.
+ (SYNC_LOCK_RELEASE): Instantiate 64bit version.
+ * config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * config/arm/arm.c (arm_output_ldrex): Support ldrexd.
+ (arm_output_strex): Support strexd.
+ (arm_output_it): New helper to output it in Thumb2 mode only.
+ (arm_output_sync_loop): Support DI mode. Change comment to
+ not support const_int.
+ (arm_expand_sync): Support DI mode.
+ * config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH
+ and LDREXD.
+ * config/arm/iterators.md (NARROW): move from sync.md.
+ (QHSD): New iterator for all current ARM integer modes.
+ (SIDI): New iterator for SI and DI modes only.
+ * config/arm/sync.md (sync_predtab): New mode_attr.
+ (sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>.
+ (sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>.
+ (sync_<sync_optab>si): Fold into sync_<sync_optab><mode>.
+ (sync_nandsi): Fold into sync_nand<mode>.
+ (sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>.
+ (sync_new_nandsi): Fold into sync_new_nand<mode>.
+ (sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>.
+ (sync_old_nandsi): Fold into sync_old_nand<mode>.
+ (sync_compare_and_swap<mode>): Support SI & DI.
+ (sync_lock_test_and_set<mode>): Likewise.
+ (sync_<sync_optab><mode>): Likewise.
+ (sync_nand<mode>): Likewise.
+ (sync_new_<sync_optab><mode>): Likewise.
+ (sync_new_nand<mode>): Likewise.
+ (sync_old_<sync_optab><mode>): Likewise.
+ (sync_old_nand<mode>): Likewise.
+ (arm_sync_compare_and_swapsi): Turn into iterator on SI & DI.
+ (arm_sync_lock_test_and_setsi): Likewise.
+ (arm_sync_new_<sync_optab>si): Likewise.
+ (arm_sync_new_nandsi): Likewise.
+ (arm_sync_old_<sync_optab>si): Likewise.
+ (arm_sync_old_nandsi): Likewise.
+ (arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent.
+ (arm_sync_lock_test_and_setsi<mode> NARROW): Likewise.
+ (arm_sync_new_<sync_optab><mode> NARROW): Likewise.
+ (arm_sync_new_nand<mode> NARROW): Likewise.
+ (arm_sync_old_<sync_optab><mode> NARROW): Likewise.
+ (arm_sync_old_nand<mode> NARROW): Likewise.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ PR target/48126
+ * config/arm/arm.c (arm_output_sync_loop): Move label before barrier.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/invoke.texi ([Wformat-zero-length]): Tidy.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * gimple.c (walk_stmt_load_store_addr_ops): Call visit_addr also
+ on COND_EXPR/VEC_COND_EXPR comparison operands if they are ADDR_EXPRs.
+
+2011-10-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50723
+ * ipa-split.c (split_function): Use GSI_CONTINUE_LINKING.
+
+2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * gengtype.c (files_rules): Added rules for objc/objc-map.h and
+ objc/objc-map.c.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/17212
+ * doc/invoke.texi ([Wformat-zero-length]): Update.
+
+2011-10-14 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR bootstrap/50699
+ * config/darwin.c (darwin_patch_builtin): Adjust argument type. Only
+ build for powerpc targets. (darwin_patch_builtins): Only build for
+ powerpc targets.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (*avx_cvtdq2pd256_2): Rename to...
+ (avx_cvtdq2pd256_2): ... this.
+ (sseunpackfltmode): New mode attr.
+ (vec_unpacks_float_hi_v8hi, vec_unpacks_float_lo_v8hi,
+ vec_unpacku_float_hi_v8hi, vec_unpacku_float_lo_v8hi): Macroize
+ using VI2_AVX2 iterator.
+ (vec_unpacku_float_hi_v8si, vec_unpacku_float_lo_v8si): New expanders.
+
+2011-10-13 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (plusminus): New code iterator.
+ (plusminus_insn): New code attr.
+ (addv2si3, subv2si3, addv4hi3, subv4hi3, addv2hi3, subv2hi3): Merge
+ using plusminus and plusminus_insn.
+ (fpadd64_vis, fpsub64_vis): Likewise.
+
+2011-10-13 Richard Henderson <rth@redhat.com>
+
+ * doc/md.texi (vec_perm): Document fallback to byte permutation.
+ * genopinit.c (optabs): Add vec_perm_const.
+ * optabs.c (can_vec_perm_expr_p): Rename from expand_vec_perm_expr_p.
+ Reject non-vector modes. Allow fallback to byte permutation.
+ (expand_vec_perm_expr_1): Split out from ...
+ (expand_vec_perm_expr): ... here. Allow fallback to byte permutation.
+ * optabs.h (DOI_vec_perm_const, vec_perm_const_optab): New.
+ * tree-vect-generic.c (lower_vec_perm): Update for name change.
+
+2011-10-13 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/altivec.md (vec_permv16qi): New pattern.
+
+ * config/rs6000/spu.md (vec_permv16qi): New pattern.
+
+ * config/i386/i386.c (ix86_expand_vec_perm_const): New.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/sse.md (VEC_PERM_CONST): New mode iterator.
+ (vec_perm_const<VEC_PERM_CONST>): New expander.
+
+ * optabs.c (expand_vector_broadcast): New.
+ (expand_binop): Expand scalar shifts of vectors to vector shifts
+ of vectors, if the former isn't supported.
+ * tree-vect-generic.c (expand_vector_operations_1): Don't do that
+ here; always simplify to scalar shift of vector if possible.
+
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init): Fix mode
+ test for vector splat.
+
+2011-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode to V.
+
+2011-10-13 Jakub Jelinek <jakub@redhat.com>
+ Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa.c (maybe_optimize_var): Drop TREE_ADDRESSABLE from vector
+ or complex vars even if their DECL_UID is in not_reg_needs bitmap.
+
+2011-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (reduc_umin_v8hi): New pattern.
+ * config/i386/i386.c (ix86_build_const_vector): Handle
+ also V32QI, V16QI, V16HI and V8HI modes.
+ (emit_reduc_half): New function.
+ (ix86_expand_reduc): Use phminposuw insn for V8HImode UMIN.
+ Use emit_reduc_half helper function.
+
+2011-10-13 Lawrence Crowl <crowl@google.com>
+ Diego Novillo <dnovillo@google.com>
+
+ * lto-streamer-in.c (input_struct_function_base): Factor out of ...
+ (input_function): ... here.
+ * lto-streamer-out.c (output_struct_function_base): Factor out of ...
+ (output_function): ... here.
+
+2011-10-13 Gabriel Charette <gchare@google.com>
+ Diego Novillo <dnovillo@google.com>
+
+ * streamer-hooks.h (struct streamer_hooks): Add hooks
+ input_location and output_location.
+ * lto-streamer-in.c (lto_input_location): Use
+ streamer_hooks.input_location, if set.
+ * lto-streamer-out.c (lto_output_location): Use
+ streamer_hooks.output_location, if set.
+
+2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * doc/invoke.texi (SPARC options): Document -mfix-at697f.
+ * config/sparc/sparc.opt (mfix-at697f): New option.
+ * config/sparc/sparc.c (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ (sparc_reorg): New function.
+
+2011-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50712
+ * ipa-split.c (split_function): Always re-gimplify parameters
+ when they are not gimple vals before passing them. Properly
+ check for type compatibility.
+
+2011-10-13 Tom de Vries <tom@codesourcery.com>
+
+ * function.c (gimplify_parameters): Set number of arguments of call to
+ BUILT_IN_ALLOCA_WITH_ALIGN to 2.
+
+2011-10-13 Tom de Vries <tom@codesourcery.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_READONLY_P
+ for static const strings.
+ * varasm.c (build_constant_desc): Generate the memory location of the
+ constant using gen_const_mem.
+
+2011-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50698
+ * tree-data-ref.c (split_constant_offset_1): Also process
+ offsets of &MEM.
+
+2011-10-12 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_FPMERGE): Delete.
+ (UNSPEC_MUL16AU, UNSPEC_MUL8, UNSPEC_MUL8SU, UNSPEC_MULDSU): New
+ unspecs.
+ (fpmerge_vis): Remove inaccurate comment, represent using vec_select
+ of a vec_concat.
+ (vec_interleave_lowv8qi, vec_interleave_highv8qi): New insns.
+ (fmul8x16_vis, fmul8x16au_vis, fmul8sux16_vis, fmuld8sux16_vis):
+ Reimplement as unspecs and remove inaccurate comments.
+ (vis3_shift_patname): New code attr.
+ (<vis3_shift_insn><vbits>_vis): Rename to
+ "v<vis3_shift_patname><mode>3".
+ (vis3_addsub_ss_patname): New code attr.
+ (<vis3_addsub_ss_insn><vbits>_vis): Rename to
+ "<vis3_addsub_ss_patname><mode>3".
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Update to
+ accommodate pattern name changes.
+
+ * config/sparc/sparc.h: Do not force TARGET_VIS3 and TARGET_FMAF
+ to zero when assembler lacks support for such instructions.
+ * config/sparc/sparc.c (sparc_option_override): Clear MASK_VIS3
+ and MASK_FMAF in defaults when assembler lacks necessary support.
+
+2011-10-12 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (vec_unpacks_lo_<mode>,
+ vec_unpacks_hi_<mode>, vec_unpacku_lo_<mode>,
+ vec_unpacku_hi_<mode>): Change VI124_128 mode to VI124_AVX2.
+ * config/i386/i386.c (ix86_expand_sse_unpack): Handle
+ V32QImode, V16HImode and V8SImode for TARGET_AVX2.
+
+ * config/i386/sse.md (vec_avx2): New mode_attr.
+ (mulv16qi3): Macroize to cover also mulv32qi3 for TARGET_AVX2 into ...
+ (mul<mode>3): ... this.
+
+ * config/i386/i386.md (UNSPEC_VPERMDI): Remove.
+ * config/i386/i386.c (ix86_expand_vec_perm): Handle
+ V16QImode and V32QImode for TARGET_AVX2.
+ (MAX_VECT_LEN): Increase to 32.
+ (expand_vec_perm_blend): Add support for 32-byte integer
+ vectors with TARGET_AVX2.
+ (valid_perm_using_mode_p): New function.
+ (expand_vec_perm_pshufb): Add support for 32-byte integer
+ vectors with TARGET_AVX2.
+ (expand_vec_perm_vpshufb2_vpermq): New function.
+ (expand_vec_perm_vpshufb2_vpermq_even_odd): New function.
+ (expand_vec_perm_even_odd_1): Handle 32-byte integer vectors
+ with TARGET_AVX2.
+ (ix86_expand_vec_perm_builtin_1): Try expand_vec_perm_vpshufb2_vpermq
+ and expand_vec_perm_vpshufb2_vpermq_even_odd.
+ * config/i386/sse.md (VEC_EXTRACT_EVENODD_MODE): Add for TARGET_AVX2
+ 32-byte integer vector modes.
+ (vec_pack_trunc_<mode>): Use VI248_AVX2 instead of VI248_128.
+ (avx2_interleave_highv32qi, avx2_interleave_lowv32qi): Remove pasto.
+ (avx2_pshufdv3, avx2_pshuflwv3, avx2_pshufhwv3): Generate
+ 4 new operands.
+ (avx2_pshufd_1, avx2_pshuflw_1, avx2_pshufhw_1): Don't use
+ match_dup, instead add 4 new operands and require they have
+ right cross-lane values.
+ (avx2_permv4di): Change into define_expand.
+ (avx2_permv4di_1): New instruction.
+ (avx2_permv2ti): Use nonimmediate_operand instead of register_operand
+ for "xm" constrained operand.
+ (VEC_PERM_AVX2): Add V32QI and V16QI for TARGET_AVX2.
+
+ * config/i386/sse.md (avx2_gathersi<mode>,
+ avx2_gatherdi<mode>, avx2_gatherdi<mode>256): Add clobber of
+ match_scratch, change memory_operand to register_operand,
+ add (mem:BLK (scratch)) use.
+ (*avx2_gathersi<mode>, *avx2_gatherdi<mode>,
+ *avx2_gatherdi<mode>256): Add clobber of match_scratch,
+ add earlyclobber to the output operand and match_scratch,
+ add (mem:BLK (scratch)) use, change the other mem to match_operand.
+ Use %p6 instead of %c6 in the pattern.
+ * config/i386/i386.c (ix86_expand_builtin): Adjust for
+ operand 2 being a Pmode register_operand instead of memory_operand.
+
+2011-10-12 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.md (simple_return): Disable if TARGET_SEH is active.
+
+2011-10-12 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/ia64.c (ia64_init_builtins): Fix unbalanced parentheses.
+
+2011-10-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (maybe_skip_until): Cache also at the point
+ of the first store we visit in a basic-block.
+ (get_continuation_for_phi): Search for a candidate VUSE that
+ might dominates all others. Do pairwise disambiguation against
+ that candidate.
+
+2011-10-12 Paul Koning <pkoning@gcc.gnu.org>
+
+ PR tree-optimization/50189
+ * tree-vrp.c (extract_range_from_assert): Use the type of
+ the variable, not the limit.
+
+2011-10-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50700
+ * tree-object-size.c (addr_object_size): Simplify and treat
+ MEM_REF bases consistently.
+
+2011-10-12 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (prepare_shrink_wrap, bb_active_p): New function.
+ (thread_prologue_and_epilogue_insns): Use bb_active_p. Call
+ prepare_shrink_wrap, then recompute bb_active_p for the last block.
+
+2011-10-12 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/50565
+ * convert.c (convert_to_integer): Do not narrow operands of
+ pointer subtraction.
+
+2011-10-12 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.h (EMIT_EABI_ATTRIBUTE): New macro. Used to
+ emit a .eabi_attribute assembler directive, possibly with a
+ comment attached.
+ * config/arm/arm.c (arm_file_start): Use the new macro.
+ * config/arm/arm-c.c (arm_output_c_attributes): Likewise.
+
+2011-10-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49939
+ * config/avr/avr.md (*movqi): Rename to movqi_insn.
+ (*call_insn): Rename to call_insn.
+ (*call_value_insn): Rename to call_value_insn.
+ * config/avr/avr.c (avr_2word_insn_p): New static function.
+ (jump_over_one_insn_p): Use it.
+
+2011-10-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR middle-end/48660
+ * expr.h (copy_blkmode_to_reg): Declare.
+ * expr.c (copy_blkmode_to_reg): New function.
+ (expand_assignment): Don't expand register RESULT_DECLs before
+ the lhs. Use copy_blkmode_to_reg to copy BLKmode values into a
+ RESULT_DECL register.
+ (expand_expr_real_1): Handle BLKmode decls when looking for promotion.
+ * stmt.c (expand_return): Move BLKmode-to-register code into
+ copy_blkmode_to_reg.
+
+2011-10-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/49965
+ * config/sparc/sparc.md (mov<I:mode>cc): Do not save comparison code.
+ (mov<F:mode>cc): Likewise.
+
+2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * tree-ssa-address.c (copy_ref_info): Remove copy of TREE_THIS_NOTRAP.
+
+2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * tree.h (built_in_decls): Delete old interface with two parallel
+ arrays to hold standard builtin declarations, and replace it with
+ a function based interface that can support creating builtins on
+ the fly in the future. Change all uses, and poison the old
+ names. Make sure 0 is not a legitimate builtin index.
+ (implicit_built_in_decls): Ditto.
+ (built_in_info): Ditto.
+ (BUILTIN_VALID_P): Ditto.
+ (builtin_decl_explicit): Ditto.
+ (builtin_decl_implicit): Ditto.
+ (set_builtin_decl): Ditto.
+ (set_builtin_decl_implicit_p): Ditto.
+ (builtin_decl_explicit_p): Ditto.
+ (builtin_decl_implicit_p): Ditto.
+ * tree-complex.c (expand_complex_libcall): Ditto.
+ * tree-loop-distribution.c (generate_memset_zero): Ditto.
+ * tree-ssa-strlen.c (get_string_length): Ditto.
+ (handle_builtin_strcpy): Ditto.
+ (handle_builtin_strcat): Ditto.
+ * tree.c (iterative_hash_expr): Ditto.
+ (local_define_builtin): Ditto.
+ (build_common_builtin_nodes): Ditto.
+ * builtins.c (built_in_decls): Ditto.
+ (implicit_built_in_decls): Ditto.
+ (built_in_info): Ditto
+ (expand_builtin_classify_type): Ditto.
+ (mathfn_built_in_1): Ditto.
+ (expand_builtin_cexpi): Ditto.
+ (expand_builtin_mempcpy_args): Ditto.
+ (expand_builtin_stpcpy): Ditto.
+ (gimplify_va_arg_expr): Ditto.
+ (expand_builtin_sync_operation): Ditto.
+ (build_builtin_expect_predicate): Ditto.
+ (fold_builtin_memory_op): Ditto.
+ (fold_builtin_strcpy): Ditto.
+ (fold_builtin_stpcpy): Ditto.
+ (fold_builtin_strncpy): Ditto.
+ (fold_builtin_interclass_mathfn): Ditto.
+ (fold_builtin_classify): Ditto.
+ (fold_builtin_2): Ditto.
+ (fold_builtin_strstr): Ditto.
+ (fold_builtin_strrchr): Ditto.
+ (fold_builtin_strpbrk): Ditto.
+ (fold_builtin_strcat): Ditto.
+ (fold_builtin_strncat): Ditto.
+ (fold_builtin_strcspn): Ditto.
+ (fold_builtin_fputs): Ditto.
+ (fold_builtin_sprintf): Ditto.
+ (fold_builtin_snprintf): Ditto.
+ (expand_builtin_memory_chk): Ditto.
+ (fold_builtin_memory_chk): Ditto.
+ (fold_builtin_stxcpy_chk): Ditto.
+ (fold_builtin_strncpy_chk): Ditto.
+ (fold_builtin_strcat_chk): Ditto.
+ (fold_builtin_strncat_chk): Ditto.
+ (fold_builtin_sprintf_chk_1): Ditto.
+ (fold_builtin_snprintf_chk_1): Ditto.
+ (fold_builtin_printf): Ditto.
+ (fold_builtin_fprintf): Ditto.
+ (fold_call_stmt): Ditto.
+ (set_builtin_user_assembler_name): Ditto.
+ * tree-emutls.c (emutls_common_1): Ditto.
+ * omp-low.c (scan_omp): Ditto.
+ (lower_rec_input_clauses): Ditto.
+ (lower_reduction_clauses): Ditto.
+ (expand_parallel_call): Ditto.
+ (expand_task_call): Ditto.
+ (maybe_catch_exception): Ditto.
+ (optimize_omp_library_calls): Ditto.
+ (expand_omp_for_generic): Ditto.
+ (expand_omp_for_static_nochunk): Ditto.
+ (expand_omp_for_static_chunk): Ditto.
+ (expand_omp_sections): Ditto.
+ (expand_omp_atomic_fetch_op): Ditto.
+ (expand_omp_atomic_pipeline): Ditto.
+ (expand_omp_atomic_mutex): Ditto.
+ (lower_omp_single_simple): Ditto.
+ (lower_omp_single_copy): Ditto.
+ (lower_omp_master): Ditto.
+ (lower_omp_ordered): Ditto.
+ (lower_omp_critical): Ditto.
+ * tree-ssa-ccp.c (optimize_stdarg_builtin): Ditto.
+ * builtins.c (DEF_BUILTIN_STUB): Ditto.
+ (BUILT_IN_NONE): Ditto.
+ * tree-ssa-math-opts.c (execute_optimize_bswap): Ditto.
+ * gimple-low.c (lower_function_body): Ditto.
+ (lower_builtin_setjmp): Ditto.
+ * c-decl.c (merge_decls): Ditto.
+ * tree-eh.c (lower_resx): Ditto.
+ (lower_resx): Ditto.
+ (lower_eh_dispatch): Ditto.
+ * function (gimplify_parameters): Ditto.
+ * c-typeck.c (build_function_call_vec): Ditto.
+ * gimplify.c (build_stack_save_restore): Ditto.
+ (gimplify_vla_decl): Ditto.
+ (gimplify_modify_expr_to_memcpy): Ditto.
+ (gimplify_modify_expr_to_memset): Ditto.
+ (gimplify_variable_sized_compare): Ditto.
+ (gimplify_function_tree): Ditto.
+ * calls.c (emit_call_1): Ditto.
+ * tree-ssa-forprop.c (simplify_builtin_call): Ditto.
+ * tree-nested.c (convert_nl_goto_reference): Ditto.
+ (convert_tramp_reference_op): Ditto.
+ (finalize_nesting_tree_1): Ditto.
+ * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Ditto.
+ (tree_ssa_prefetch_arrays): Ditto.
+ * tree-streamer-in.c (streamer_get_builtin_tree): Ditto.
+ * system.h (built_in_decls): Ditto.
+ (implicit_built_in_decls): Ditto.
+ * tree-vect-generic.c (expand_vector_operations_1): Ditto.
+ * config/sparc/sparc.c (sparc_gimplify_va_arg): Ditto.
+ * config/i386/i386.c (ix86_gimplify_va_arg): Ditto.
+ (ix86_veclibabi_svml): Ditto.
+ (ix86_veclibabi_acml): Ditto.
+ * config/vms/vms.c (vms_patch_builtins): Ditto.
+ * config/ia64/ia64.c (ia64_init_builtins): Ditto.
+ * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Ditto.
+ (rs6000_builtin_vectorized_libmass): Ditto.
+ (rs6000_init_builtins): Ditto.
+ * config/darwin.c (darwin_override_options): Ditto.
+ (darwin_patch_builtin): Ditto.
+ (darwin_rename_builtins): Ditto.
+ * config/pa/pa.c (pa_init_builtins): Ditto.
+
+2011-10-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * tree.h (copy_ref_info): Expose existing function.
+ * tree-ssa-loop-ivopts.c (copy_ref_info): Move function to...
+ * tree-ssa-address.c (copy_ref_info): ...here, and remove static token.
+
+2011-10-11 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (avr_mode_code_base_reg_class): New
+ prototype.
+ (avr_regno_mode_code_ok_for_base_p): New prototype.
+ * config/avr/avr.h (BASE_REG_CLASS): Remove.
+ (REGNO_OK_FOR_BASE_P): Remove.
+ (REG_OK_FOR_BASE_NOSTRICT_P): Remove.
+ (REG_OK_FOR_BASE_STRICT_P): Remove.
+ (MODE_CODE_BASE_REG_CLASS): New define.
+ (REGNO_MODE_CODE_OK_FOR_BASE_P): New define.
+ * config/avr/avr.c (avr_mode_code_base_reg_class): New function.
+ (avr_regno_mode_code_ok_for_base_p): New function.
+ (avr_reg_ok_for_addr_p): New static function.
+ (avr_legitimate_address_p): Use it. Beautify.
+
+2011-10-11 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50447
+ * config/avr/avr.md (cc): Add out_plus attribute alternative.
+ (addsi3): Use it. Adapt avr_out_plus to new prototype. Use
+ avr_out_plus for all CONST_INT addends.
+ * config/avr/avr-protos.h (avr_out_plus): Change prototype.
+ * config/avr/avr.c (notice_update_cc): Call avr_out_plus on
+ CC_OUT_PLUS.
+ (avr_out_plus_1): Change prototype and report effect on cc0.
+ (avr_out_plus): Ditto.
+ (adjust_insn_length): Adapt call to avr_out_plus to new prototype.
+
+2011-10-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_special_args_builtin): Remove
+ the extra break.
+
+2011-10-11 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * doc/invoke.texi: Document new warning.
+ * common.opt (Wvector-operation-performance): Define new warning.
+ * tree-vect-generic.c (expand_vector_piecewise): Warn about expanded
+ vector operation.
+ (exapnd_vector_parallel): Warn about expanded vector operation.
+ (lower_vec_shuffle): Warn about expanded vector operation.
+ * c-typeck.c (c_build_vec_perm_expr): Store correct location
+ when creating VEC_PERM_EXPR.
+
+2011-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50204
+ * tree-ssa-alias.c (get_continuation_for_phi_1): Split out
+ two argument handling from ...
+ (get_continuation_for_phi): ... here. Handle arbitrary number
+ of PHI args.
+
+2011-10-11 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c: Fix comment typo. Mention the possibility
+ of using scheduling windows of II+1 cycles.
+
+2011-10-11 Tristan Gingold <gingold@adacore.com>
+
+ * doc/invoke.texi (C Dialect Options): Document
+ -fallow-parameterless-variadic-functions.
+ * c-parser.c (c_parser_parms_list_declarator): Handle it.
+
+2011-10-10 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_option_override): Set flag_omit_frame_pointer
+ to 0 if frame pointer is needed for unwinding.
+
+2011-10-10 Uros Bizjak <ubizjak@gmail.com>
+
+ PR bootstrap/50665
+ * optabs.h (DOI_vec_perm): Rename from OTI_vec_perm. Move from enum
+ optab_index to enum direct_optab_index.
+ (vec_perm_optab): Update.
+
+2011-10-10 Anatoly Sokolov <aesok@post.ru>
+
+ * config/cris/cris.c (cris_preferred_reload_class): New function.
+ (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ * config/cris/cris.h (PREFERRED_RELOAD_CLASS): Remove.
+
+2011-10-10 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*tablejump_rjmp): Change insn condition to
+ !AVR_HAVE_JMP_CALL.
+ (*tablejump_lib): Change insn condition to AVR_HAVE_JMP_CALL.
+ (*tablejump_enh, *tablejump): Remove insns.
+ * config/avr/libgcc.S (__tablejump__): Use RET instead of EIND +
+ EIJMP for indirect jump. Use LPM Z+ where available.
+
+2011-10-10 Richard Henderson <rth@redhat.com>
+
+ * doc/md.texi (vec_perm_const): Fix typo in cindex.
+
+2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
+ Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
+
+ * config/i386/sse.md (fma_fnmsub_<mode>): Fix a typo.
+
+2011-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50389
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
+ mark symbols for renaming. Append the VUSE to all statements
+ that possibly can have one.
+
+2011-10-10 Richard Guenther <rguenther@suse.de>
+
+ * ipa-split.c (pass_split_functions): Add verification TODOs.
+ (pass_feedback_split_functions): Likewise.
+
+2011-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50195
+ * fold-const.c (fold_binary_loc): Canonicalize x*x to pow (x, 2)
+ only when optimizing.
+
+2011-10-10 Nick Clifton <nickc@redhat.com>
+
+ PR middle-end/49801
+ * compare-elim.c (find_comparisons_in_bb): Use df_get_live_in and
+ df_get_live_out instead of accessing the bitmaps directly.
+ (execute_compare_elim_after_reload): Remove calls to df_set_flags,
+ df_live_add_problem and df_analyze.
+
+2011-10-10 Michael Matz <matz@suse.de>
+
+ PR middle-end/50638
+ * tree-emutls.c (gen_emutls_addr): Call add_referenced_var.
+
+2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (ps_reg_move_info): Add num_consecutive_stages.
+ (SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES): Delete.
+ (node_sched_params): Remove first_reg_move and nreg_moves.
+ (ps_num_consecutive_stages, extend_node_sched_params): New functions.
+ (update_node_sched_params): Move up file.
+ (print_node_sched_params): Print the stage. Don't dump info related
+ to first_reg_move and nreg_moves.
+ (set_columns_for_row): New function.
+ (set_columns_for_ps): Move up file and use set_columns_for_row.
+ (schedule_reg_move): New function.
+ (schedule_reg_moves): Call extend_node_sched_params and
+ schedule_reg_move. Extend size of uses bitmap. Initialize
+ num_consecutive_stages. Return false if a move could not be
+ scheduled.
+ (apply_reg_moves): Don't emit moves here.
+ (permute_partial_schedule): Handle register moves.
+ (duplicate_insns_of_cycles): Remove for_prolog. Emit moves according
+ to the same stage-count test as ddg nodes.
+ (generate_prolog_epilog): Update calls accordingly.
+ (sms_schedule): Allow move-scheduling to add a new first stage.
+
+2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (ps_insn): Adjust comment.
+ (ps_reg_move_info): New structure.
+ (partial_schedule): Add reg_moves field.
+ (SCHED_PARAMS): Use node_sched_param_vec instead of node_sched_params.
+ (node_sched_params): Turn first_reg_move into an identifier.
+ (ps_reg_move): New function.
+ (ps_rtl_insn): Cope with register moves.
+ (ps_first_note): Adjust comment and assert that the instruction
+ isn't a register move.
+ (node_sched_params): Replace with...
+ (node_sched_param_vec): ...this vector.
+ (set_node_sched_params): Adjust accordingly.
+ (print_node_sched_params): Take a partial schedule instead of a ddg.
+ Use ps_rtl_insn and ps_reg_move.
+ (generate_reg_moves): Rename to...
+ (schedule_reg_moves): ...this. Remove rescan parameter. Record each
+ move in the partial schedule, but don't emit it here. Don't perform
+ register substitutions here either.
+ (apply_reg_moves): New function.
+ (duplicate_insns_of_cycles): Use register indices directly,
+ rather than finding instructions using PREV_INSN. Use ps_reg_move.
+ (sms_schedule): Call schedule_reg_moves before committing to
+ a partial schedule. Try the next ii if the schedule fails.
+ Use apply_reg_moves instead of generate_reg_moves. Adjust
+ call to print_node_sched_params. Free node_sched_param_vec
+ instead of node_sched_params.
+ (create_partial_schedule): Initialize reg_moves.
+ (free_partial_schedule): Free reg_moves.
+
+2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (ps_insn): Replace node field with an identifier.
+ (SCHED_ASAP): Replace with..
+ (NODE_ASAP): ...this macro.
+ (SCHED_PARAMS): New macro.
+ (SCHED_TIME, SCHED_FIRST_REG_MOVE, SCHED_NREG_MOVES, SCHED_ROW)
+ (SCHED_STAGE, SCHED_COLUMN): Redefine using SCHED_PARAMS.
+ (node_sched_params): Remove asap.
+ (ps_rtl_insn, ps_first_note): New functions.
+ (set_node_sched_params): Use XCNEWVEC. Don't copy across the
+ asap values.
+ (print_node_sched_params): Use SCHED_PARAMS and NODE_ASAP.
+ (generate_reg_moves): Pass ids to the SCHED_* macros.
+ (update_node_sched_params): Take a ps insn identifier rather than
+ a node as parameter. Use ps_rtl_insn.
+ (set_columns_for_ps): Update for above field and SCHED_* macro changes.
+ (permute_partial_schedule): Use ps_rtl_insn and ps_first_note.
+ (optimize_sc): Update for above field and SCHED_* macro changes.
+ Update calls to try_scheduling_node_in_cycle and
+ update_node_sched_params.
+ (duplicate_insns_of_cycles): Adjust for above field and SCHED_*
+ macro changes. Use ps_rtl_insn and ps_first_note.
+ (sms_schedule): Pass ids to the SCHED_* macros.
+ (get_sched_window): Adjust for above field and SCHED_* macro changes.
+ Use NODE_ASAP instead of SCHED_ASAP.
+ (try_scheduling_node_in_cycle): Remove node parameter. Update
+ call to ps_add_node_check_conflicts. Pass ids to the SCHED_* macros.
+ (sms_schedule_by_order): Update call to try_scheduling_node_in_cycle.
+ (ps_insert_empty_row): Adjust for above field changes.
+ (compute_split_row): Use ids rather than nodes.
+ (verify_partial_schedule): Adjust for above field changes.
+ (print_partial_schedule): Use ps_rtl_insn.
+ (create_ps_insn): Take an id rather than a node.
+ (ps_insn_find_column): Adjust for above field changes.
+ Use ps_rtl_insn.
+ (ps_insn_advance_column): Adjust for above field changes.
+ (add_node_to_ps): Remove node parameter. Update call to
+ create_ps_insn.
+ (ps_has_conflicts): Use ps_rtl_insn.
+ (ps_add_node_check_conflicts): Replace node parameter than an id.
+
+2011-10-10 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (undo_replace_buff_elem): Delete.
+ (generate_reg_moves): Don't build and return an undo list.
+ (free_undo_replace_buff): Delete.
+ (sms_schedule): Adjust call to generate_reg_moves.
+ Don't call free_undo_replace_buff.
+
+2011-10-10 Matthias Klose <doko@ubuntu.com>
+
+ * common/config/m32c: Remove empty directory.
+
+2011-10-10 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*mulhi3_enh): Treat squaring smarter.
+
+2011-10-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50652
+ * config/avr/avr-mcus.def (AVR_MCU): Set .data_section_start of
+ atmega164a to 0x100.
+
+2011-10-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_comparison): Do not make
+ the replacement if the conversion to the LHS type is not useless.
+
+2011-10-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50635
+ * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add
+ DEF_STMT to the list of statements to be replaced by the
+ pattern statements.
+ (vect_handle_widen_mult_by_const): Don't check TYPE_OUT.
+
+2011-10-09 Anatoly Sokolov <aesok@post.ru>
+
+ * system.h: Commit forgotten hunk in previous patch.
+ (OUTPUT_ADDR_CONST_EXTRA): Poison.
+
+2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/50428
+ * doc/objc.texi (Garbage Collection): Updated example to protect
+ +initialize against execution in subclasses.
+
+2011-10-07 Richard Henderson <rth@redhat.com>
+
+ * doc/extend.texi (__builtin_shuffle): Improve the description to
+ include the modulus of the selector. Mention OpenCL.
+ * doc/md.texi (vec_perm, vec_perm_const): Document named patterns.
+
+ * tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
+ * genopinit.c (optabs): Rename vshuffle to vec_perm.
+ * c-typeck.c (c_build_vec_perm_expr): Rename from
+ c_build_vec_shuffle_expr. Update for name changes.
+ * optabs.c (expand_vec_perm_expr_p): Rename from
+ expand_vec_shuffle_expr_p.
+ (expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
+ * optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
+ (vec_perm_optab): Rename from vshuffle_optab.
+ * expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
+ c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
+ tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.
+
+ * config/i386/i386.c (ix86_expand_vec_perm): Rename from
+ ix86_expand_vshuffle.
+ * config/i386/i386-protos.h: Update.
+ * config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
+ (vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.
+
+2011-10-07 Richard Henderson <rth@redhat.com>
+
+ * config/i386/predicates.md (avx2_pblendw_operand): New.
+ * config/i386/sse.md (sse4_1_pblendw): Un-macroize.
+ (avx2_pblendw, *avx2_pblendw): New expander and insn.
+
+2011-10-07 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (bdesc_args): Update code for
+ __builtin_ia32_palignr256. Change type of __builtin_ia32_pslldqi256,
+ and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
+ (ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
+ * config/i386/sse.md (mode iterator V16): Add V2TI.
+ (mode iterator SSESCALARMODE): Use V2TI not V4DI.
+ (mode attr ssse3_avx2): Add V2TI.
+ (avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.
+
+2011-10-07 David S. Miller <davem@davemloft.net>
+
+ PR 50655
+ * configure.ac: Add .register directives to VIS3 test.
+ * configure: Regenerate.
+
+2011-10-07 Richard Henderson <rth@redhat.com>
+
+ * config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
+
+2011-10-07 Richard Henderson <rth@redhat.com>
+
+ PR 49752
+ * fold-const.c (fold_checksum_tree): Remove out-of-date assert.
+
+2011-10-07 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/predicates.md (shift_amount_operand): Remove constant
+ range check.
+ (shift_operator): Check range of constants for all shift operators.
+
+2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion.
+ Load GOT pointer for non-pic builds.
+ (s390_load_got): Replace pic_offset_table_rtx with hardcoded r12.
+ (s390_emit_call): Likewise.
+
+2011-10-07 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/50527
+ * tree.c (build_common_builtin_nodes): Add local_define_builtin for
+ BUILT_IN_ALLOCA_WITH_ALIGN. Mark that BUILT_IN_ALLOCA_WITH_ALIGN can
+ throw.
+ * builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
+ arglist. Set align for BUILT_IN_ALLOCA_WITH_ALIGN.
+ (expand_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
+ (is_inexpensive_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
+ * tree-ssa-ccp.c (evaluate_stmt): Set align for
+ BUILT_IN_ALLOCA_WITH_ALIGN.
+ (fold_builtin_alloca_for_var): Rename to ...
+ (fold_builtin_alloca_with_align): Set DECL_ALIGN from 2nd
+ BUILT_IN_ALLOCA_WITH_ALIGN argument.
+ (ccp_fold_stmt): Try folding BUILT_IN_ALLOCA_WITH_ALIGN using
+ fold_builtin_alloca_with_align.
+ (optimize_stack_restore): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
+ * builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
+ DEF_BUILTIN_STUB.
+ * ipa-pure-const.c (special_builtin_state): Handle
+ BUILT_IN_ALLOCA_WITH_ALIGN.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
+ (call_may_clobber_ref_p_1): Same.
+ * function.c (gimplify_parameters): Lower vla to
+ BUILT_IN_ALLOCA_WITH_ALIGN.
+ * gimplify.c (gimplify_vla_decl): Same.
+ * cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
+ * tree-mudflap.c (mf_xform_statements): Same.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
+ (mark_all_reaching_defs_necessary_1, propagate_necessity): Same.
+ * varasm.c (incorporeal_function_p): Same.
+ * tree-object-size.c (alloc_object_size): Same.
+ * gimple.c (gimple_build_call_from_tree): Same.
+
+2011-10-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (frame_required_for_rtx): Remove function.
+ (requires_stack_frame_p): New arg set_up_by_prologue. All callers
+ changed. Compute a set of mentioned registers and compare against
+ the new arg rather than calling frame_required_for_rtx.
+ (thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue
+ reg set. Convert the unconverted_simple_returns mechanism to store
+ jump insns rather than their basic blocks. Also check the
+ orig_entry_edge destination for new blocks.
+
+2011-10-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50650
+ * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't
+ call vect_is_simple_cond here, instead fail if cond_expr isn't
+ COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL
+ for cond_expr's first operand.
+ * tree-vect-stmts.c (vect_is_simple_cond): Static again.
+ * tree-vectorizer.h (vect_is_simple_cond): Remove prototype.
+
+2011-10-07 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (DWH, dwh): New mode macros.
+ ("umulsidi3"): Extend to support "umulditi3" as well.
+
+2011-10-07 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/50603
+ * config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of
+ integer PLUS RTX to a register to improve address combine.
+
+2011-10-06 Richard Henderson <rth@redhat.com>
+
+ * combine-stack-adjust.c (maybe_move_args_size_note): Add after
+ parameter; use it to decide whether to merge two notes.
+ (combine_stack_adjustments_for_block): Use maybe_move_args_size_note
+ for the deallocation case as well.
+
+2011-10-06 Anatoly Sokolov <aesok@post.ru>
+
+ * system.h (OUTPUT_ADDR_CONST_EXTRA): Poison.
+ * doc/tm.texi.in (OUTPUT_ADDR_CONST_EXTRA): Remove documentation.
+ * doc/tm.texi: Regenerate.
+ * target.def (output_addr_const_extra): Use
+ hook_bool_FILEptr_rtx_false.
+ * targhooks.c (default_asm_output_addr_const_extra): Remove.
+ * targhooks.h (default_asm_output_addr_const_extra): Remove.
+ * hooks.c (hook_bool_FILEptr_rtx_false): New functions.
+ * hooks.h (hook_bool_FILEptr_rtx_false): Declare.
+
+2011-10-06 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (popcount<mode>2, clz<mode>2): Split up into...
+ (popcountdi2, popcountsi2, clzdi2, clzsi2): Explicit expanders, in the
+ SI mode 64-bit code gen case explicitly zero-extend and truncate.
+ (*popcount<mode>_sp64): Split up into...
+ (*popcountdi_sp64, *popcountsi_64): Explicit instantiations, and in the
+ SImode case use truncate.
+ (*clzsi_sp64): Rewrite to use truncate, and let the expander emit the
+ subtract so the compiler can optimize it.
+ (SIDI): Remove unused mode iterator.
+
+2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (thread_prologue_and_epilogue_insns): Emit split prologue
+ on the orig_entry_edge. Don't account for it in prologue_clobbered.
+
+2011-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50596
+ * tree-vectorizer.h (vect_is_simple_cond): New prototype.
+ (NUM_PATTERNS): Change to 6.
+ * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): New
+ function.
+ (vect_vect_recog_func_ptrs): Add vect_recog_mixed_size_cond_pattern.
+ (vect_mark_pattern_stmts): Don't create stmt_vinfo for def_stmt
+ if it already has one, and don't set STMT_VINFO_VECTYPE in it
+ if it is already set.
+ * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Handle
+ COND_EXPR in pattern stmts.
+ (vect_is_simple_cond): No longer static.
+
+2001-10-06 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_vshuffle): Add AVX2 support.
+ * config/i386/sse.md (sseshuffint): Remove.
+ (sseintvecmode): Support V16HI, V8HI, V32QI, V16QI.
+ (VSHUFFLE_AVX2): New mode iterator.
+ (vshuffle<mode>): Use it.
+ (avx_vec_concat<V_256>): Rename from *vec_concat<V_256>_avx.
+
+ * config/i386/i386.c (ix86_expand_sse_movcc): Use correct mode
+ for vector_all_ones_operand.
+ (ix86_expand_int_vcond): Distinguish between comparison mode
+ and data mode. Allow them to differ.
+ (ix86_expand_vshuffle): Don't force data mode to match maskmode.
+
+2001-10-06 Richard Henderson <rth@redhat.com>
+
+ * optabs.c (expand_vec_shuffle_expr): Use the proper mode for the
+ mask operand. Tidy the code.
+
+2011-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.c (vect_pattern_recog_1): Use
+ vect_recog_func_ptr typedef for the first argument.
+ (vect_pattern_recog): Rename vect_recog_func_ptr variable
+ to vect_recog_func, use vect_recog_func_ptr typedef for it.
+
+ PR tree-optimization/49279
+ * tree-ssa-structalias.c (find_func_aliases): Don't handle
+ CAST_RESTRICT.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Allow
+ restrict propagation.
+ * tree-ssa.c (useless_type_conversion_p): Don't return false
+ if TYPE_RESTRICT differs.
+
+2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (thread_prologue_and_epilogue_insns): Build a vector
+ of unconverted simple return blocks rather than trying to
+ recompute them later based on bb_flags bitmap tests.
+
+2011-10-06 Michael Matz <matz@suse.de>
+
+ * tree-flow.h (get_var_ann): Don't declare.
+ * tree-flow-inline.h (get_var_ann): Remove.
+ (set_is_used): Use var_ann, not get_var_ann.
+ * tree-dfa.c (add_referenced_var): Inline body of get_var_ann.
+ * tree-profile.c (gimple_gen_edge_profiler): Call
+ find_referenced_var_in.
+ (gimple_gen_interval_profiler): Ditto.
+ (gimple_gen_pow2_profiler): Ditto.
+ (gimple_gen_one_value_profiler): Ditto.
+ (gimple_gen_average_profiler): Ditto.
+ (gimple_gen_ior_profiler): Ditto.
+ (gimple_gen_ic_profiler): Ditto plus call add_referenced_var.
+ (gimple_gen_ic_func_profiler): Call add_referenced_var.
+ * tree-mudflap.c (execute_mudflap_function_ops): Call
+ add_referenced_var.
+
+2011-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.c (vect_handle_widen_mult_by_const): For lhs
+ don't set SSA_NAME_DEF_STMT that has been already set by
+ gimple_build_assign_with_ops.
+ (vect_recog_pow_pattern, vect_recog_widen_sum_pattern,
+ vect_operation_fits_smaller_type, vect_recog_over_widening_pattern):
+ Likewise.
+
+ * tree.h (avoid_folding_inline_builtin): New prototype.
+ * builtins.c (avoid_folding_inline_builtin): No longer static.
+ * gimple-fold.c (gimple_fold_builtin): Give up if
+ avoid_folding_inline_builtin returns true.
+
+2011-10-06 Richard Guenther <rguenther@suse.de>
+
+ * tree-vect-generic.c (vector_element): Look at previous
+ generated results.
+
+2011-10-06 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/39950
+ * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Define
+ __powerpc__, __PPC__, __unix__.
+
+2011-10-06 Michael Matz <matz@suse.de>
+
+ * i386/i386.opt (recip_mask, recip_mask_explicit,
+ x_recip_mask_explicit): New variables and cl_target member.
+ (mrecip=): New option.
+ * i386/i386.h (RECIP_MASK_DIV, RECIP_MASK_SQRT, RECIP_MASK_VEC_DIV,
+ RECIP_MASK_VEC_SQRT, RECIP_MASK_ALL, RECIP_MASK_NONE): New bitmasks.
+ (TARGET_RECIP_DIV, TARGET_RECIP_SQRT, TARGET_RECIP_VEC_DIV,
+ TARGET_RECIP_VEC_SQRT): New tests.
+ * i386/i386.md (divsf3): Check TARGET_RECIP_DIV.
+ (sqrt<mode>2): Check TARGET_RECIP_SQRT.
+ * i386/sse.md (div<mode>3): Check TARGET_RECIP_VEC_DIV.
+ (sqrt<mode>2): Check TARGET_RECIP_VEC_SQRT.
+ * i386/i386.c (ix86_option_override_internal): Set recip_mask
+ for -mrecip and -mrecip=options.
+ (ix86_function_specific_save): Save recip_mask_explicit.
+ (ix86_function_specific_restore): Restore recip_mask_explicit.
+
+ * doc/invoke.texi (ix86 Options): Document the new option.
+
+2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/49049
+ * config/arm/arm.md (arm_subsi3_insn): Lose the last alternative.
+
+2011-10-06 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR target/50305
+ * config/arm/arm.c (arm_legitimize_reload_address): Recognize
+ output of a previous pass through legitimize_reload_address.
+ Do not attempt to optimize addresses if the base register is
+ equivalent to a constant.
+
+2011-10-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * function.c (thread_prologue_and_epilogue_insns): Mark
+ last_bb_active as possibly unused. It is unused for targets which
+ do neither have "return" nor "simple_return" expanders.
+
+2011-10-06 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_ternary_loc): Also fold non-constant
+ vector CONSTRUCTORs. Make more efficient.
+ * tree-ssa-dom.c (cprop_operand): Don't handle virtual operands.
+ (cprop_into_stmt): Don't propagate into virtual operands.
+ (optimize_stmt): Really dump original statement.
+
+2011-10-06 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (smin3): Revert previous delta.
+
+2011-10-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38884
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial
+ reads from aggregate SSA names.
+
+2011-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-patterns.c (vect_pattern_recog_1): Add stmts_to_replace
+ argument, truncate it at the beginning instead of allocating there
+ and freeing at the end.
+ (vect_pattern_recog): Allocate stmts_to_replace here and free at end,
+ pass its address to vect_pattern_recog_1.
+
+2011-10-05 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.opt (POPC): New option.
+ * doc/invoke.texi: Document it.
+ * config/sparc/sparc.c (sparc_option_override): Enable MASK_POPC by
+ default on Niagara-2 and later.
+ * config/sparc/sparc.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
+ * config/sparc/sparc.md (SIDI): New mode iterator.
+ (ffsdi2): Delete commented out pattern and comments.
+ (popcount<mode>2, clz<mode>2): New expanders.
+ (*popcount<mode>_sp64, popcountsi_v8plus, popcountdi_v8plus,
+ *clzdi_sp64, clzdi_v8plus, *clzsi_sp64, clzsi_v8plus): New insns.
+
+2011-10-06 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ PR middle-end/50607
+ * c-tree.h (c_expr_t): New typedef for struct c_expr.
+ (C_EXPR_APPEND): New macro.
+ * c-parser.c (c_parser_get_builtin_args): Preserve
+ original_tree_code of c_expr structure.
+ (c_parser_postfix_expression): Adjust to the new function.
+
+2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (thread_prologue_and_epilogue_insns): Don't shrink-wrap
+ if profiling after the prologue.
+
+2011-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50613
+ * tree-ssa-strlen.c (find_equal_ptrs): If CASE_CONVERT
+ operand is ADDR_EXPR, fallthru into ADDR_EXPR handling,
+ and if it is neither that not SSA_NAME, give up.
+
+2011-10-05 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-generic.c (vector_element): Never fail. Use
+ build_zero_cst. Tidy up type references.
+ (lower_vec_shuffle): Never fail. Mask shuffle indicies. Reduce
+ code duplication. Do update_stmt here ...
+ (expand_vector_operations_1): ... not here.
+
+ * config/i386/i386.c (ix86_expand_vshuffle): Never fail. Handle
+ TARGET_XOP. Fix pshufb constant vector creation. Reduce code
+ duplication. Handle V2DI without SSE4.1.
+ * config/i386/i386-protos.h (ix86_expand_vshuffle): Update decl.
+ * config/i386/i386.md (vshuffle<V_128>): Remove assert for ok.
+
+2011-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (distance_non_agu_define): Simplify calculation
+ of "found". Simplify return value calculation.
+ (distance_agu_use): Ditto.
+
+2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/50621
+ * config/i386/i386.c (ix86_add_cfa_restore_note): Omit notes only
+ if the function was not shrink-wrapped.
+ (ix86_expand_epilogue): Ensure queued cfa_adjust notes are attached
+ to an insn.
+ * function.c (thread_prologue_and_epilogue_insns): Make sure the
+ shrink_wrapped flag is set even if there is no dump file.
+
+2011-10-05 DJ Delorie <dj@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.opt (mpid): Define.
+ * config/rx/t-rx (MULTILIB_OPTIONS): Add -mpid
+ (MULTILIB_DIRNAMES): Add pid.
+ * config/rx/rx.c (rx_gp_base_regnum_val, rx_pid_base_regnum_val)
+ (rx_num_interrupt_regs): New variable.
+ (rx_gp_base_regnum): New function. Returns the number of the
+ small data area register.
+ (rx_pid_base_regnum): New function. Returns the number of the pid
+ base register.
+ (rx_decl_for_addr): New function. Returns the symbolic part of a MEM.
+ (rx_pid_data_operand): New function. Returns whether an object is
+ in the position independent data area.
+ (rx_legitimize_address): New function. Puts undecided PID
+ objects in the PID data area.
+ (rx_is_legitimate_address): Add support for PID operands.
+ (rx_print_operand_address): Likewise.
+ (rx_print_operand): Likewise.
+ (rx_maybe_pidify_operand): New function. Determine if an operand
+ is suitable for PID addressing.
+ (rx_gen_move_template): Add PID support.
+ (rx_conditional_register_usage): Likewise.
+ (rx_option_override): Initialise rx_num_interrupt_regs.
+ (rx_is_legitimate_constant): Add support for PID constants.
+ (TARGET_LEGITIMIZE_ADDRESS): Define.
+ * config/rx/constraints.md (Rpid): Define.
+ (Rpda): Define.
+ * config/rx/rx.md (UNSPEC_PID_ADDR): Define.
+ (tablejump): Add PID support.
+ (mov<>): Likewise.
+ (mov<>_internal): Likewise.
+ (addsi3): Convert to an expander. Add PID support.
+ (pid_addr): New pattern.
+ * config/rx/rx.h (CPP_SPEC): Define.
+ (ASM_SPEC): Pass -mpid and -mint-register on to assembler.
+ (CASE_VECTOR_PC_RELATIVE): Define.
+ (JUMP_TABLES_IN_TEXT_SECTION): Enable for PID mode.
+ * config/rx/rx-protos.h (rx_maybe_pidify_operand): Prototype.
+ * doc/invoke.texi (RX Options): Document -mpid command line option.
+
+2011-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38885
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle partial reads
+ from constants.
+
+2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * doc/invoke.texi (-fshrink-wrap): Document.
+ * opts.c (default_options_table): Add it.
+ * common.opt (fshrink-wrap): Add.
+ * function.c (emit_return_into_block): Remove useless declaration.
+ (record_hard_reg_uses_1, record_hard_reg_uses, frame_required_for_rtx,
+ requires_stack_frame_p, gen_return_pattern): New static functions.
+ (emit_return_into_block): New arg simple_p. All callers changed.
+ Use gen_return_pattern.
+ (thread_prologue_and_epilogue_insns): Implement shrink-wrapping.
+ * config/i386/i386.md (return): Expand into a simple_return.
+ (simple_return): New expander):
+ (simple_return_internal, simple_return_internal_long,
+ simple_return_pop_internal_long, simple_return_indirect_internal):
+ Renamed from return_internal, return_internal_long,
+ return_pop_internal_long and return_indirect_internal; changed to use
+ simple_return.
+ * config/i386/i386.c (ix86_expand_epilogue): Adjust to expand
+ simple returns.
+ (ix86_pad_returns): Likewise.
+ * function.h (struct rtl_data): Add member shrink_wrapped.
+ * cfgcleanup.c (outgoing_edges_match): If shrink-wrapped, edges that
+ are not jumps or sibcalls can't be compared.
+
+2011-10-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_get_expr_for): Handle CONSTRUCTOR of
+ vector type.
+ (simplify_unary_expression): Handle BIT_FIELD_REFs.
+ (try_to_simplify): Handle BIT_FIELD_REFs.
+
+2011-10-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (avr_out_addto_sp): New prototype.
+ * config/avr/avr.c (avr_out_addto_sp): New function.
+ (adjust_insn_length): Handle ADJUST_LEN_ADDTO_SP.
+ * config/avr/avr.md (adjust_len): Add "addto_sp".
+ (*movhi_sp): Remove insn.
+ (*addhi3_sp_R_pc2, *addhi3_sp_R_pc3): Merge to *addhi3_sp_R.
+
+2011-10-05 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): For ternary ops
+ with an embedded expression valueize and fold that as well.
+ * tree-ssa-sccvn.c (try_to_simplify): Also allow SSA name
+ results from gimple_fold_stmt_to_constant_1.
+
+2011-10-05 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (tablejump): Add missing label.
+ (adddi3_internal): Mark operand 0 as early-clobbered.
+ (smaxsi3): Revert previous delta.
+ (adc_internal): Fix whitespace in generated asm.
+ (adc_flags): Likewise.
+
+2011-10-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * expmed.c (expand_mult_highpart_optab): Replace optab_handler
+ with the new widening_optab_handler.
+
+2011-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50609
+ * gimple-fold.c (fold_array_ctor_reference): Also handle
+ vector typed constructors.
+ (fold_ctor_reference): Dispatch to fold_array_ctor_reference
+ for vector typed constructors.
+
+2011-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_emit_binop): New static function.
+ (ix86_split_lea_for_addr): Use ix86_emit_binop to emit add and shl
+ instructions.
+ (x86_output_mi_thunk): Use ix86_emit_binop to emit add instructions.
+
+2011-10-04 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_FHADD, UNSPEC_FHSUB,
+ UNSPEC_XMUL): New unspecs.
+ (muldi3_v8plus): Use output_v8plus_mult.
+ (*naddsf3, *nadddf3, *nmulsf3, *nmuldf3, *nmuldf3_extend):
+ New VIS 3.0 combiner patterns.
+ (fhaddsf_vis, fhadddf_vis, fhsubsf_vis, fhsubdf_vis,
+ fnhaddsf_vis, fnhaddf_vis, umulxhi_vis, *umulxhi_sp64,
+ umulxhi_v8plus, xmulx_vis, *xmulx_sp64, xmulx_v8plus,
+ xmulxhi_vis, *xmulxhi_sp64, xmulxhi_v8plus): New VIS 3.0
+ builtins patterns.
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Emit new builtins.
+ (output_v8plus_mult): New function.
+ * config/sparc/sparc-protos.h: Declare it.
+ * config/sparc/visintrin.h (__vis_fhadds, __vis_fhaddd,
+ __vis_fhsubs, __vis_fhsubd, __vis_fnhadds, __vis_fnhaddd,
+ __vis_umulxhi, __vis_xmulx, __vis_xmulxhi): New intrinsics.
+ * doc/extend.texi: Document new builtins.
+
+2011-10-04 Richard Henderson <rth@redhat.com>
+
+ * c-typeck.c (c_build_vec_shuffle_expr): Fix uninitialized variable.
+ Avoid save_expr unless two_arguments.
+
+2011-10-04 Ozkan Sezer <sezeroz@gmail.com>
+
+ * config/i386/mingw-w64.h (CPP_SPEC): Rename _REENTRANCE to _REENTRANT.
+ * config/i386/mingw32.h (CPP_SPEC): Likewise.
+
+2011-10-04 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/driver-sparc.c (cpu_names): Fix string for supersparc
+ under Linux.
+
+2011-10-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50604
+ * builtins.c (fold_builtin_strcpy, fold_builtin_stpcpy,
+ fold_builtin_strncpy, fold_builtin_stxcpy_chk): Ensure
+ last argument to memcpy has size_type_node type instead of ssizetype.
+ * tree-ssa-strlen.c (handle_builtin_memcpy): Use size_type_node
+ instead of TREE_TYPE (len) as type for newlen.
+
+ PR tree-optimization/50522
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Don't test
+ TYPE_RESTRICT.
+ (ptr_derefs_may_alias_p): Call pt_solutions_same_restrict_base
+ unconditionally.
+
+ * fold-const.c (fold_unary_loc): Don't optimize
+ POINTER_PLUS_EXPR casted to TYPE_RESTRICT pointer by
+ casting the inner pointer if it isn't TYPE_RESTRICT.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't through
+ casts from non-TYPE_RESTRICT pointer to TYPE_RESTRICT pointer.
+
+2011-10-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (i[34567]86-*-elf*, x86_64-*-elf*): Use i386/t-crtstuff.
+
+2011-10-04 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer.h (lto_input_toplevel_asms): Add order_base parameter.
+ * lto-streamer-in.c (lto_input_toplevel_asms): Stream in order.
+ * lto-streamer-out.c (lto_output_toplevel_asms): Stream out order.
+ * lto-cgraph.c (order_base): New static var.
+ (lto_output_node): Stream in order.
+ (lto_output_varpool_node): Stream out order.
+ (input_node): Stream in order.
+ (input_varpool_node): Stream out order.
+ (input_cgraph_1): Initialize order base; update call of
+ lto_input_toplevel_asms.
+
+2011-10-04 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50566
+ * config/avr/avr-protos.h (avr_legitimize_reload_address): New
+ prototype.
+ * config/avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Copy worker code
+ from here...
+ * config/avr/avr.c (avr_legitimize_reload_address) ...to this new
+ function. Log if avr_log.legitimize_reload_address.
+
+2011-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_fold_builtin): Use a sequence of tests.
+
+2011-10-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * longlong.h (smul_ppmm, sdiv_qrnnd): Add underscores to the local
+ variables. Fix second operand of DR. Swap inputs for sdiv_qrnnd.
+
+2011-10-03 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (fpack16_vis, fpackfix_vis, fpack32_vis): Make
+ GSR_REG an input operand to UNSPEC instead of a parallel USE.
+ (faligndata<V64I:mode>_vis): Likewise and use DI mode.
+ (alignaddrsi_vis, alignaddrdi_vis, alignaddrlsi_vis, alignaddrldi_vis):
+ Reference GSR_REG in DI mode, simplify convoluted expressions by using
+ zero_extract.
+ (bshuffle<V64I:mode>_vis): Reference GSR_REG in DI mode.
+
+2011-10-03 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * tree-eh.c (remove_unreachable_handlers): Obvious cleanup.
+
+2011-10-03 Jakub Jelinek <jakub@redhat.com>
+ Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_output_typedef): Support printing enum values that
+ don't fit in a signed HOST_WIDE_INT.
+
+2011-10-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/cris/cris.c (cris_output_addr_const_extra): Make static.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+ * config/cris/cris.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/cris/cris-protos.h (cris_output_addr_const_extra): Remove.
+
+2011-10-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m68k/m68k.c (m68k_output_addr_const_extra): Make static.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+ * config/m68k/m68k.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/m68k/m68k-protos.h (m68k_output_addr_const_extra): Remove.
+
+2011-10-03 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/49967
+ * configure.ac (gcc_cv_ld_static_dynamic): Define for *-*-hpux*.
+ (gcc_cv_ld_static_option): Ditto.
+ (gcc_cv_ld_dynamic_option): Ditto.
+ * configure: Regenerate.
+
+2011-10-03 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (bmask<P:mode>_vis): Split into explicit 'di'
+ and 'si' patterns which describe the GSR changes explicitly in the
+ RTL using zero_extract.
+ (bshuffle<V64I:mode>_vis): Put the GSR use inside of the unspec.
+
+ * config/sparc/sparc.md (bshuffle<V64I:mode>_vis): Don't wrap
+ GSR_REG in a USE, since it's now a true arg to the UNSPEC.
+
+2011-10-03 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * optabs.c (expand_vec_shuffle_expr_p): New function. Checks
+ if given expression can be expanded by the target.
+ (expand_vec_shuffle_expr): New function. Expand VEC_SHUFFLE_EXPR
+ using target vector instructions.
+ * optabs.h: New optab vshuffle.
+ (expand_vec_shuffle_expr_p): New prototype.
+ (expand_vec_shuffle_expr): New prototype.
+ (vshuffle_optab): New optab.
+ * genopinit.c: Adjust to support vecshuffle.
+ * c-tree.h (c_build_vec_shuffle_expr): New prototype.
+ * expr.c (expand_expr_real_2): Adjust.
+ * c-typeck.c: (c_build_vec_shuffle_expr): Build a VEC_SHUFFLE_EXPR
+ recognizing the cases of two and three arguments.
+ (convert_arguments) (build_binary_op)
+ (scalar_to_vector) (build_array_ref): Spurious whitespace.
+ * gimplify.c (gimplify_exp): Adjusted to support VEC_SHUFFLE_EXPR.
+ * tree.def: New tree code VEC_SHUFFLE_EXPR.
+ * tree-inline.c (estimate_operator_cost): Recognize VEC_SHUFFLE_EXPR.
+ * tree-vect-generic.c (vector_element): New function. Returns an
+ element of the vector at the given position.
+ (lower_vec_shuffle): Checks if VEC_SHUFLLE_EXPR is supported
+ by the backend or expand an expression piecewise.
+ (expand_vector_operations_1): Adjusted.
+ (gate_expand_vector_operations_noop): New gate function.
+ * Makefile.in (tree-vect-generic.o): New include.
+ * gimple.c (get_gimple_rhs_num_ops): Adjust.
+ * tree-cfg.c (verify_gimple_assign_trenary): Verify VEC_SHUFFLE_EXPR.
+ * passes.c: Move veclower down.
+ * tree-pretty-print.c (dump_generic_node): Recognize
+ VEC_SHUFFLE_EXPR as valid expression.
+ * c-parser.c (c_parser_get_builtin_args): Helper function for the
+ builtins with variable number of arguments.
+ (c_parser_postfix_expression): Use a new helper function for
+ RID_CHOOSE_EXPR, RID_BUILTIN_COMPLEX and RID_BUILTIN_SHUFFLE.
+ * tree-ssa-operands: Adjust.
+ * c-family/c-common.c: New __builtin_shuffle keyword.
+ * c-family/c-common.h: New __builtin_shuffle keyword.
+ * gcc/doc/extend.texi: Adjust.
+
+ * gcc/config/i386/sse.md: (sseshuffint) New mode_attr. Correspondence
+ between the vector and the type of the mask when shuffling.
+ (vecshuffle<mode>): New expansion.
+ * gcc/config/i386/i386-protos.h (ix86_expand_vshuffle): New prototype.
+ * gcc/config/i386/i386.c (ix86_expand_vshuffle): New function.
+ (ix86_vectorize_builtin_vec_perm_ok): Adjust.
+
+2011-10-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50587
+ * tree-ssa-reassoc.c (init_range_entry): Stop iterating when
+ arg0 is not a SSA_NAME.
+
+2011-10-03 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * ipa-inline-analysis.c (MAX_TIME): Update comment.
+
+2011-10-02 Richard Henderson <rth@redhat.com>
+ David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (ashlsi3, *ashldi3_sp64): Remove
+ conditional insn type setting, we always emit a shift.
+ (*ashlsi3_extend, *lshrsi3_extend0): New patterns.
+ (*lshrsi3_extend): Rename to *lshrsi3_extend1.
+ * config/sparc/predicates.md (const_one_operand): Delete.
+
+2011-10-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * invoke.texi (SPARC Options): Refer to GNU/Linux.
+
+2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_frame_barrier): New function.
+ (mips_expand_prologue): Call it after allocating stack space.
+ (mips_deallocate_stack): New function.
+ (mips_expand_epilogue): Call mips_frame_barrier and
+ mips_deallocate_stack.
+
+2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/49696
+ * config/mips/sync.md (sync_<optab>_12): Allow zero operands.
+ (sync_old_<optab>_12, sync_new_<optab>_12, sync_nand_12): Likewise.
+ (sync_old_nand_12, sync_new_nand_12, test_and_set_12): Likewise.
+
+2011-10-02 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (verify_edge_count_and_frequency): Bounds check.
+
+ * cgraphunit.c (ipa_passes): Remove unrechable nodes.
+ * lto-streamer-out.c (produce_symtab): Skip unused extern declarations.
+ * ipa.c (cgraph_remove_unreachable_nodes): Do not assume that external
+ functions are reachable when address is taken.
+ * tree-sra.c (modify_function): Free dominance info.
+
+2011-10-02 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (inline_summary_alloc): Bounds check.
+
+ * ipa-inline-analysis.c (reset_inline_edge_summary): New function.
+ (reset_inline_summary): New function.
+ (compute_inline_parameters, inline_node_removal_hook,
+ inline_edge_removal_hook): Use it.
+ (inline_free_summary): Reset holders correctly.
+ (inline_generate_summary): Free summary before computing it.
+
+2011-10-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR preprocessor/36819
+ * incpath.c (merge_include_chains): Call free_path on
+ heads[QUOTE] and tails[QUOTE].
+
+2011-10-02 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47247
+ * lto-symtab.c (lto_symtab_resolve_symbols): Do not resolve
+ when resolution is already availbale from plugin.
+ (lto_symtab_merge_decls_1): Handle LDPR_PREVAILING_DEF_IRONLY_EXP.
+ * cgraph.c (ld_plugin_symbol_resolution): Add
+ prevailing_def_ironly_exp.
+ * lto-cgraph.c (LDPR_NUM_KNOWN): Update.
+ * ipa.c (varpool_externally_visible_p): IRONLY variables are never
+ externally visible.
+ * varasm.c (resolution_to_local_definition_p): Add
+ LDPR_PREVAILING_DEF_IRONLY_EXP.
+ (resolution_local_p): Likewise.
+
+2011-10-01 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.opt (VIS3): New option.
+ * doc/invoke.texi: Document it.
+ * config/sparc/sparc.h: Force TARGET_VIS3 to zero if assembler is
+ not capable of such instructions.
+ * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
+ to 0x300 when TARGET_VIS3.
+ * config/sparc/sparc-modes.def: Create 16-byte vector modes.
+ * config/sparc/sparc.md (UNSPEC_CMASK8, UNSPEC_CMASK16, UNSPEC_CMASK32,
+ UNSPEC_FCHKSM16, UNSPEC_PDISTN, UNSPC_FUCMP): New unspecs.
+ (V64N8, VASS): New mode iterators.
+ (vis3_shift, vis3_addsub_ss): New code iterators.
+ (vbits, vconstr): New mode attributes.
+ (vis3_shift_insn, vis3_addsub_ss_insn): New code attributes.
+ (cmask8<P:mode>_vis, cmask16<P:mode>_vis, cmask32<P:mode>_vis,
+ fchksm16_vis, <vis3_shift_insn><vbits>_vis, pdistn<mode>_vis,
+ fmean16_vis, fpadd64_vis, fpsub64_vis,
+ <vis3_addsub_ss_insn><vbits>_vis, fucmp<code>8<P:mode>_vis): New
+ VIS 3.0 instruction patterns.
+ * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS3 by
+ default when targetting capable cpus. TARGET_VIS3 implies
+ TARGET_VIS2 and TARGET_VIS, and clear them when TARGET_FPU is disabled.
+ (sparc_vis_init_builtins): Emit new VIS 3.0 builtins.
+ (sparc_fold_builtin): Do not eliminate cmask{8,16,32} when result
+ is ignored.
+ * config/sparc/visintrin.h (__vis_cmask8, __vis_cmask16,
+ __vis_cmask32, __vis_fchksm16, __vis_fsll16, __vis_fslas16,
+ __vis_fsrl16, __vis_fsra16, __vis_fsll32, __vis_fslas32,
+ __vis_fsrl32, __vis_fsra32, __vis_pdistn, __vis_fmean16,
+ __vis_fpadd64, __vis_fpsub64, __vis_fpadds16, __vis_fpadds16s,
+ __vis_fpsubs16, __vis_fpsubs16s, __vis_fpadds32, __vis_fpadds32s,
+ __vis_fpsubs32, __vis_fpsubs32s, __vis_fucmple8, __vis_fucmpne8,
+ __vis_fucmpgt8, __vis_fucmpeq8): New VIS 3.0 interfaces.
+ * doc/extend.texi: Document new VIS 3.0 builtins.
+
+2011-10-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ira-color.c (assign_hard_reg): Fix typo.
+
+2011-09-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/extend.texi: Add missing ','.
+
+2011-09-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * common/config/c6x/c6x-common.c (c6x_option_optimization_table):
+ Enable -fmodulo-sched at -O2 and above.
+ * config/c6x/c6x.md (doloop_end): New expander.
+ (mvilc, sploop, spkernel, loop_end): New patterns.
+ (loop_end with memory destination splitter): New.
+ * config/c6x/c6x.c: Include "hw-doloop.h".
+ (enum unitreqs): New.
+ (unit_req_table): New typedef.
+ (unit_reqs): New static variable.
+ (unit_req_factor, get_unit_reqs, count_unit_reqs, merge_unit_reqs,
+ res_mii, split_delayed_nonbranch, undo_split_delayed_nonbranch,
+ hwloop_pattern_reg, bb_earliest_end_cycle, filter_insns_above,
+ hwloop_optimize, hwloop_fail, c6x_hwloops): New static functions.
+ (struct c6x_sched_context): New member last_scheduled_iter0.
+ (init_sched_state): Initialize it.
+ (c6x_variable_issue): Update it.
+ (sploop_max_uid_iter0): New static variable.
+ (c6x_sched_reorder_1): Be careful about issuing sploop.
+ (c6x_reorg): Call c6x_hwlooops before the final schedule.
+
+2011-09-30 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50566
+ * config/avr/avr-protos.h (avr_log_t): New field address_cost.
+ * config/avr/avr.c (avr_address_cost): Use it.
+ * config/avr/avr-log.c (avr_log_set_avr_log): Initialize it.
+ (avr_log_vadump): Unknown %-codes finish printing.
+
+2011-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR inline-asm/50571
+ * gimple-fold.c (fold_stmt_1) <case GIMPLE_ASM>: If
+ input constraints allow mem and not reg, pass true instead of
+ false as second argument to maybe_fold_reference.
+
+ PR tree-optimization/46309
+ * fold-const.c (make_range, merge_ranges): Remove prototypes.
+ (make_range_step): New function.
+ (make_range): Use it.
+ * tree.h (make_range_step): New prototypes.
+ * Makefile.in (tree-ssa-reassoc.o): Depend on $(DIAGNOSTIC_CORE_H).
+ * tree-ssa-reassoc.c: Include diagnostic-core.h.
+ (struct range_entry): New type.
+ (init_range_entry, range_entry_cmp, update_range_test,
+ optimize_range_tests): New functions.
+ (reassociate_bb): Call optimize_range_tests.
+
+2011-09-30 Jakub Jelinek <jakub@redhat.com>
+ Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Handle
+ BUILT_IN_STRDUP and BUILT_IN_STRNDUP.
+ * tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise. Fix
+ handling of BUILT_IN_STRNCAT and BUILT_IN_STRNCAT_CHK.
+ (ref_maybe_used_by_call_p_1): Fix handling of BUILT_IN_STRCAT,
+ BUILT_IN_STRNCAT, BUILT_IN_STRCAT_CHK and BUILT_IN_STRNCAT_CHK.
+
+2011-09-30 Jan Beulich <jbeulich@suse.com>
+
+ * lto-cgraph.c (output_cgraph): Remove processing of
+ 'cgraph_asm_nodes', call lto_output_toplevel_asms() instead.
+ (input_cgraph_1): Remove loop calling cgraph_add_asm_node(), call
+ lto_input_toplevel_asms() instead.
+ * lto-section-in.c (lto_section_name): Add "asm" entry.
+ * lto-streamer-in.c (lto_input_toplevel_asms): New.
+ * lto-streamer-out.c (lto_output_toplevel_asms): New.
+ * lto-streamer.h (LTO_minor_version): Bump.
+ (enum lto_section_type): Add LTO_section_asm.
+ (struct lto_asm_header): New.
+ (lto_input_toplevel_asms, lto_output_toplevel_asms): Declare.
+ * tree-streamer.h (streamer_write_string_cst): Declare.
+ * tree-streamer-out.c (write_string_cst): Rename to
+ streamer_write_string_cst and make global. Handle incoming string
+ being NULL.
+ (streamer_write_tree_header): Adjust call to renamed function.
+
+2011-09-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (modulo_ii, modulo_max_states, modulo_n_insns,
+ modulo_insns_scheduled, modulo_iter0_max_uid, modulo_backtracks_left,
+ modulo_last_stage): New static variables.
+ (set_modulo_params, discard_delay_pairs_above): New functions.
+ (struct delay_pair): New member stages.
+ (htab_i2_traverse, htab_i1_traverse): New static functions.
+ (record_delay_slot_pair): New arg stages. All callers changed.
+ Record it.
+ (pair_delay): Take stages into account.
+ (add_delay_dependencies): Don't do so for stage pairs.
+ (struct sched_block_state): New member modulo_epilogue.
+ (save_backtrack_point): Don't set SHADOW_P for stage pairs.
+ (unschedule_insns_until): Decrease modulo_insns_scheduled.
+ Set HARD_DEP without using or.
+ (resolve_dependencies): New static function.
+ (prune_ready_list): New arg modulo_epilogue_p. All callers changed.
+ If it is true, allow only insns with INSN_EXACT_TICK set.
+ (schedule_block): Return bool, always true for normal scheduling,
+ true or false depending on modulo scheduling success otherwise.
+ Add bookkeeping for modulo scheduling, and call resolve_dependencies
+ on everything left over after a modulo schedule.
+ (haifa_sched_init): Remove check_cfg call. Clear modulo_ii.
+ * sched-int.h (schedule_block, record_delay_slot_pair): Adjust
+ declarations.
+ (set_modulo_params, discard_delay_pairs_above): Declare.
+ * params.def (PARAM_MAX_MODULO_BACKTRACK_ATTEMPS): New.
+ * doc/invoke.texi (--param): Document it.
+
+ * sched-ebb.c (schedule_ebb): No longer static. Remove declaration.
+ New arg modulo_scheduling. All callers changed. Move note handling
+ code here from schedule_ebbs.
+ (schedule_ebbs_finish, schedule_ebbs_init): New functions, broken
+ out of schedule_ebbs.
+ (schedule_ebbs): Call them. Remove note handling code moved to
+ schedule_ebb.
+ * sched-int.h (schedule_ebb, schedule_ebbs_init,
+ schedule_ebbs_finish): Declare.
+
+2011-09-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50574
+ * tree-cfg.c (verify_gimple_comparison): Compare component
+ mode sizes for vector comparisons.
+
+2011-09-30 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (autoinc_var_is_used_p): New function.
+ (create_ddg_dep_from_intra_loop_link,
+ add_cross_iteration_register_deps): Call it.
+ * ddg.h (autoinc_var_is_used_p): Declare.
+ * modulo-sched.c (generate_reg_moves): Call autoinc_var_is_used_p.
+ (sms_schedule): Handle instructions with REG_INC.
+
+2011-09-30 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (generate_reg_moves): Skip instructions that
+ do not set a register and verify no regmoves are created for
+ !single_set instructions.
+
+2011-09-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * hw-doloop.c (scan_loop): Compute register usage only for non-debug
+ insns.
+
+2011-09-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/50099
+ * config/arm/iterators.md (qhs_zextenddi_cstr): New.
+ (qhs_zextenddi_op): New.
+ * config/arm/arm.md ("zero_extend<mode>di2"): Use them.
+ * config/arm/predicates.md ("arm_extendqisi_mem_op"):
+ Distinguish between ARM and Thumb2 states.
+
+2011-09-30 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.opt (VIS2): New option.
+ * doc/invoke.texi: Document it.
+ * config/sparc/sparc.md (UNSPEC_EDGE8N, UNSPEC_EDGE8LN,
+ UNSPEC_EDGE16N, UNSPEC_EDGE16LN, UNSPEC_EDGE32N,
+ UNSPEC_EDGE32LN, UNSPEC_BSHUFFLE): New unspecs.
+ (define_attr type): New insn type 'edgen'.
+ (bmask<P:mode>_vis, bshuffle<V64I:mode>_vis, edge8n<P:mode>_vis,
+ edge8ln<P:mode>_vis, edge16n<P:mode>_vis, edge16ln<P:mode>_vis,
+ edge32n<P:mode>_vis, edge32ln<P:mode>_vis): New insn VIS 2.0
+ patterns.
+ * niagara.md: Handle edgen.
+ * niagara2.md: Likewise.
+ * ultra1_2.md: Likewise.
+ * ultra3.md: Likewise.
+ * config/sparc/sparc-c.c (sparc_target_macros): Define __VIS__
+ to 0x200 when TARGET_VIS2.
+ * config/sparc/sparc.c (sparc_option_override): Set MASK_VIS2 by
+ default when targetting capable cpus. TARGET_VIS2 implies
+ TARGET_VIS, clear and it when TARGET_FPU is disabled.
+ (sparc_vis_init_builtins): Emit new VIS 2.0 builtins.
+ (sparc_expand_builtin): Fix predicate indexing when builtin returns
+ void.
+ (sparc_fold_builtin): Do not eliminate bmask when result is ignored.
+ * config/sparc/visintrin.h (__vis_bmask, __vis_bshuffledi,
+ __vis_bshufflev2si, __vis_bshufflev4hi, __vis_bshufflev8qi,
+ __vis_edge8n, __vis_edge8ln, __vis_edge16n, __vis_edge16ln,
+ __vis_edge32n, __vis_edge32ln): New VIS 2.0 interfaces.
+ * doc/extend.texi: Document new VIS 2.0 builtins.
+
+2011-09-29 Nick Clifton <nickc@redhat.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/frv/frvbegin.c: Fix location of unwind-dw2-fde.h header file.
+ * config/frv/frvend.c: Likewise.
+ * config/frv/frv.c (frv_function_prologue): Move misplaced
+ CALL_ARG_LOCATION notes back to their proper locations.
+
+2011-09-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50566
+ * config/avr/avr-log.c (avr_log_vadump): Use %b to print bool.
+ * config/avr/avr.c (avr_rtx_costs_1): New static function, renamed
+ from avr_rtx_costs.
+ (avr_legitimate_address_p): Use avr_edump to print log information
+ filtered by avr_log.
+ (extra_constraint_Q): Ditto.
+ (avr_legitimize_address): Ditto.
+ (avr_rtx_costs): Ditto. Rewrite as wrapper for avr_rtx_costs_1.
+ (final_prescan_insn): Use avr_log.rtx_costs as filter.
+
+2011-09-29 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/arm-protos.h (arm_modes_tieable_p): Declare.
+ * config/arm/arm.h (MODES_TIEABLE_P): Use it.
+ * config/arm/arm.c (arm_modes_tieable_p): New function. Allow
+ NEON vector and structure modes to be tied.
+
+2011-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * graphite-scop-detection.c (make_close_phi_nodes_unique): New
+ forward declaration.
+ (remove_duplicate_close_phi): Detect and repair creation of
+ duplicate close-phis for a containing loop.
+
+2011-09-27 Andi Kleen <ak@linux.intel.com>
+
+ * gcc.c (get_local_tick). Rename to get_random_number. Read from
+ /dev/urandom. Add getpid call.
+ (compare_debug_dump_opt_spec_function): Drop getpid call.
+
+2011-09-26 Andi Kleen <ak@linux.intel.com>
+
+ * toplev.c (init_local_tick): Try reading random seed
+ from /dev/urandom.
+
+2011-09-26 Andi Kleen <ak@linux.intel.com>
+
+ * hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add.
+ * lto-streamer.c (lto_get_section_name): Remove crc32_string.
+ Handle numerical random seed.
+ * lto-streamer.h (lto_file_decl_data): Change id to
+ unsigned HOST_WIDE_INT.
+ * toplev.c (random_seed): Add.
+ (init_random_seed): Change for numerical random seed.
+ (get_random_seed): Return as HOST_WIDE_INT.
+ (set_random_seed): Crc32 existing string.
+ * toplev.h (get_random_seed): Change to numercal return.
+ * tree.c (get_file_function_name): Remove CRC. Handle
+ numerical random seed.
+
+2011-09-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50566
+ * config.gcc (extra_objs): Add avr-log.o for $target in:
+ avr-*-rtems*, avr-*-*.
+ * config/avr/t-avr (avr-log.o): New rule to compile...
+ * config/avr/avr-log.c: ...this new file.
+ * config/avr/avr.opt (mlog=): New option.
+ * config/avr/avr-protos.h (avr_edump, avr_fdump): New macros.
+ (avr_log_set_caller_e, avr_log_set_caller_f): New prototypes.
+ (avr_log_set_avr_log): New prototype.
+ (avr_log_t): New typedef.
+ (avr_log): New declaration.
+ * config/avr/avr.c (avr_option_override): Call avr_log_set_avr_log.
+
+2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * expr.c (do_store_flag): Expand vector comparison by
+ building an appropriate VEC_COND_EXPR.
+ * c-typeck.c (build_binary_op): Typecheck vector comparisons.
+ (c_objc_common_truthvalue_conversion): Adjust.
+ * tree-vect-generic.c (do_compare): Helper function.
+ (expand_vector_comparison): Check if hardware supports
+ vector comparison of the given type or expand vector piecewise.
+ (expand_vector_operation): Treat comparison as binary
+ operation of vector type.
+ (expand_vector_operations_1): Adjust.
+
+2011-09-29 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_opaque_vector_type): Make opaque vectors
+ variant types of the corresponding non-opaque type. Make
+ sure to share opaque vector types properly.
+
+2011-09-29 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_ARRAY8, UNSPEC_ARRAY16,
+ UNSPEC_ARRAY32): New unspec.
+ (define_attr type): New type 'array'.
+ (array{8,16,32}<P:mode>_vis): New patterns.
+ * config/sparc/ultra1_2.md: Add reservations for 'array'.
+ * config/sparc/ultra3.md: Likewise.
+ * config/sparc/niagara.md: Likewise.
+ * config/sparc/niagara2.md: Likewise.
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Build new
+ array builtins.
+ * config/sparc/visintrin.h (__vis_array8, __vis_array16,
+ __vis_array32): New.
+ * doc/extend.texi: Document new VIS builtins.
+
+ * config/sparc/sparc.md (gcond_name): Delete unnecessary code attr.
+ (VIS pixel-compare insn): Just use <gcond:name>.
+
+ * config/sparc/sparc.md (VIS pixel-compare insn): There is only one
+ code iterator used, so just use <code>. There are two mode iterators
+ so explicitly use <GCM:gcm_name>.
+
+2011-09-29 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin9.h (STACK_CHECK_STATIC_BUILTIN): Enable for
+ Darwin >= 9.
+
+2011-09-28 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE,
+ UNSPEC_FCMPGT, UNSPEC_FCMPEQ): Delete and reduce to...
+ (UNSPEC_FCMP): New unspec.
+ (gcond): New code iterator.
+ (gcond_name): New code attr.
+ (GCM): New mode iterator.
+ (gcm_name): New mode attr.
+ (fcmp{le,ne,gt,eq}{16,32}_vis): Reimplement using iterators.
+
+2011-09-28 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/49486
+ * config/sh/sh.md (negdi2): Move expansion into split to
+ allow more combination options. Add T_REG clobber.
+ (abssi2): New expander.
+ (*negdi2, *abssi2, *negabssi2): New insns.
+ (cneg): Change from insn to insn_and_split. Rename to
+ negsi_cond. Add alternative for non-SH4.
+
+2011-09-28 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/neon.md (neon_move_lo_quad_<mode>): Delete.
+ (neon_move_hi_quad_<mode>): Likewise.
+ (move_hi_quad_<mode>, move_lo_quad_<mode>): Use subreg moves.
+
+2011-09-28 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/predicates.md (rx_minmax_operand): New predicate.
+ Accepts immediates and a restricted subset of MEMs.
+ * config/rx/rx.md (int_modes): New iterator.
+ (smaxsi3, sminsi3): Delete and replace with...
+ (smax<int_mode>3, smin<int_mode>3): New patterns.
+ (umax<>3_u, umax<>3_ur, umax<>3, umin<>3): New patterns.
+
+2011-09-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50460
+ * fold-const.c (try_move_mult_to_index): Handle &a.array the
+ same as &a.array[0].
+
+2011-09-28 Kai Tietz <ktietz@redhat.com>
+
+ * configure.ac: Add test for new section attribute
+ specifier "e" via define HAVE_GAS_SECTION_EXCLUDE.
+ * config.in: Regenerated.
+ * configure: Regenerated.
+ * config/i386/winnt.c (i386_pe_asm_named_section): Emit
+ new section flag "e" for excluded sections, if supported.
+ Otherwise we mark section withc SECTION_EXCLUDE flag as never-load.
+
+2011-09-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/m32r/m32r.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/iq2000/iq2000.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-27 Sriraman Tallam <tmsriram@google.com>
+
+ * output.h (SECTION_EXCLUDE): New macro.
+ * varasm.c (default_elf_asm_named_section): Check for SECTION_EXCLUDE.
+
+2011-09-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * fwprop.c (forward_propagate_and_simplify): After checking
+ reg/subreg combinations, check whether the modes are the same.
+
+2011-09-27 Bernd Schmidt <bernds@codesourcery.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_add_cfa_restore): New function.
+ (mips16e_save_restore_reg): Use it.
+ (mips_restore_reg): Likewise. Split double FPRs for
+ REG_CFA_RESTORE notes.
+
+2011-09-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/50386
+ PR middle-end/50326
+ * tree-sra.c (build_ref_for_model): Use the type of the field as
+ the type of the COMPONENT_REF.
+
+2011-09-27 Jeff Law <law@redhat.com>
+
+ * ifcvt.c (cheap_bb_rtx_cost_p): Add SCALE argument. Scale
+ non-jumping insns by REG_BR_PROB_BASE and the maximum cost by SCALE.
+ (find_if_case_1): Use the probability of the THEN clause when
+ determining if speculation is profitable.
+ (find_if_case_2): Similarly for the ELSE clause.
+
+2011-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * common.opt: Add -foptimize-strlen option.
+ * Makefile.in (OBJS): Add tree-ssa-strlen.o.
+ (tree-sssa-strlen.o): Add dependencies.
+ * opts.c (default_options_table): Enable -foptimize-strlen
+ by default at -O2 if not -Os.
+ * passes.c (init_optimization_passes): Add pass_strlen
+ after pass_object_sizes.
+ * timevar.def (TV_TREE_STRLEN): New timevar.
+ * params.def (PARAM_MAX_TRACKED_STRLENS): New parameter.
+ * tree-pass.h (pass_strlen): Declare.
+ * tree-ssa-strlen.c: New file.
+ * c-decl.c (merge_decls): If compatible stpcpy prototype
+ is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
+
+2011-09-27 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43864
+ * tree-ssa-tail-merge.c: New file.
+ (struct same_succ_def): Define.
+ (same_succ, const_same_succ): New typedef.
+ (struct bb_cluster_def): Define.
+ (bb_cluster, const_bb_cluster): New typedef.
+ (struct aux_bb_info): Define.
+ (BB_SIZE, BB_SAME_SUCC, BB_CLUSTER, BB_VOP_AT_EXIT): Define.
+ (gvn_uses_equal): New function.
+ (same_succ_print, same_succ_print_traverse, update_dep_bb)
+ (stmt_update_dep_bb, local_def, same_succ_hash)
+ (inverse_flags, same_succ_equal, same_succ_alloc, same_succ_delete)
+ (same_succ_reset): New function.
+ (same_succ_htab, same_succ_edge_flags)
+ (deleted_bbs, deleted_bb_preds): New var.
+ (debug_same_succ): New function.
+ (worklist): New var.
+ (print_worklist, add_to_worklist, find_same_succ_bb, find_same_succ)
+ (init_worklist, delete_worklist, delete_basic_block_same_succ)
+ (same_succ_flush_bbs, purge_bbs, update_worklist): New function.
+ (print_cluster, debug_cluster, update_rep_bb)
+ (add_bb_to_cluster, new_cluster, delete_cluster): New function.
+ (all_clusters): New var.
+ (alloc_cluster_vectors, reset_cluster_vectors, delete_cluster_vectors)
+ (merge_clusters, set_cluster): New function.
+ (gimple_equal_p, gsi_advance_bw_nondebug_nonlocal, find_duplicate)
+ (same_phi_alternatives_1, same_phi_alternatives, bb_has_non_vop_phi)
+ (deps_ok_for_redirect_from_bb_to_bb, deps_ok_for_redirect)
+ (find_clusters_1, find_clusters): New function.
+ (update_vuses, vop_phi, vop_at_entry, replace_block_by): New function.
+ (update_bbs): New var.
+ (apply_clusters): New function.
+ (update_debug_stmt, update_debug_stmts): New function.
+ (tail_merge_optimize): New function.
+ tree-pass.h (tail_merge_optimize): Declare.
+ * tree-ssa-pre.c (execute_pre): Use tail_merge_optimize.
+ * Makefile.in (OBJS-common): Add tree-ssa-tail-merge.o.
+ (tree-ssa-tail-merge.o): New rule.
+ * opts.c (default_options_table): Set OPT_ftree_tail_merge by
+ default at OPT_LEVELS_2_PLUS.
+ * tree-ssa-sccvn.c (vn_valueize): Move to ...
+ * tree-ssa-sccvn.h (vn_valueize): Here.
+ * timevar.def (TV_TREE_TAIL_MERGE): New timevar.
+ * common.opt (ftree-tail-merge): New switch.
+ * params.def (PARAM_MAX_TAIL_MERGE_COMPARISONS)
+ (PARAM_MAX_TAIL_MERGE_ITERATIONS): New parameter.
+ * doc/invoke.texi (Optimization Options, -O2): Add -ftree-tail-merge.
+ (-ftree-tail-merge, max-tail-merge-comparisons)
+ (max-tail-merge-iterations): New item.
+
+2011-09-27 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (MAX_TIME): Reduce to avoid overflows.
+
+2011-09-27 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (eliminated_by_inlining_prob): Handle
+ parameters passed by reference; handle loads from non-SSA scalars
+ and update comments.
+
+2011-09-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/50249
+ * reload1.c (reload_reg_reaches_end_p): Accept a reloadnum argument
+ instead of opnum and type. All callers changed. Remove useless
+ declaration.
+ Search forward for other reloads of the same type for the same operand
+ using the same register; if any are found, return false.
+ (reload_regs_reach_end_p): Same argument changes; all callers changed.
+
+2011-09-27 Andi Kleen <ak@linux.intel.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (ffat-lto-objects): Document.
+ * toplev.c (compile_file): Do not output assembly when doing slim lto;
+ Output __gnu_slim_lto when doing slim lto.
+ * cgraphunit.c (ipa_passes): Do only analysis when producing slim lto.
+ (cgraph_optimize): Return early when doing slim lto.
+ * opts.c (finish_options): Complain about lack of linker plugin
+ when doing slim lto.
+ * common.opt (ffat-lto-objects): New.
+
+2011-09-27 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * ipa-inline-analysis.c (predicate_probability): Avoid comparison
+ between signed and unsigned.
+
+2011-09-27 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-stmts.c (vectorizable_type_demotion): Handle basic block
+ vectorization.
+ (vectorizable_type_promotion): Likewise.
+ (vect_analyze_stmt): Call vectorizable_type_demotion and
+ vectorizable_type_promotion for basic blocks.
+ (supportable_widening_operation): Don't assume loop vectorization.
+ * tree-vect-slp.c (vect_build_slp_tree): Allow multiple types for
+ basic blocks. Update vectorization factor for basic block
+ vectorization.
+ (vect_analyze_slp_instance): Allow multiple types for basic block
+ vectorization. Recheck unrolling factor after construction of SLP
+ instance.
+
+2011-09-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-object-size.c (compute_object_sizes): Fix dumping of
+ folded statement.
+
+2011-09-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50363
+ * tree-ssa-pre.c (create_expression_by_pieces): Handle
+ pointer conversions in POINTER_PLUS_EXPRs properly.
+
+2011-09-27 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/neon.md (neon_vget_highv16qi, neon_vget_highv8hi)
+ (neon_vget_highv4si, neon_vget_highv4sf, neon_vget_highv2di)
+ (neon_vget_lowv16qi, neon_vget_lowv8hi, neon_vget_lowv4si)
+ (neon_vget_lowv4sf, neon_vget_lowv2di): Turn into define_expands
+ that produce subreg moves. Define using VQX iterators.
+
+2011-09-27 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (ashrqi3): Split alternative "n"
+ into its remaining parts C03, C04, C05, C06, C07 and describe
+ impact in CC by attribute "cc" appropriately.
+ * config/avr/avr.c (notice_update_cc): Clean-up: Don't patch CC0
+ by digging RTX.
+
+2011-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * rtl.h (const_tiny_rtx): Change into array of 4 x MAX_MACHINE_MODE
+ from 3 x MAX_MACHINE_MODE.
+ (CONSTM1_RTX): Define.
+ * emit-rtl.c (const_tiny_rtx): Change into array of
+ 4 x MAX_MACHINE_MODE from 3 x MAX_MACHINE_MODE.
+ (gen_rtx_CONST_VECTOR): Use CONSTM1_RTX if all inner constants are
+ CONSTM1_RTX.
+ (init_emit_once): Initialize CONSTM1_RTX for MODE_INT and
+ MODE_VECTOR_INT modes.
+ * simplify-rtx.c (simplify_binary_operation_1) <case IOR, XOR, AND>:
+ Optimize if one operand is CONSTM1_RTX.
+ * config/i386/i386.c (ix86_expand_sse_movcc): Optimize mask ? -1 : x
+ into mask | x.
+
+2011-09-26 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (edge{8,16,32}{,l}): Return Pmode.
+ (fcmp{le,ne,gt,eq}{16,32}): Likewise.
+ * config/sparc/visintrin.h: Update edge and pixel-compare
+ intrinsics to return 'long' instead of 'int'.
+ * doc/extend.texi: Update documentation to match.
+ * config/sparc/sparc.c (eligible_for_return_delay): When leaf or
+ flat, allow any instruction. Otherwise, when V9 allow parallels
+ which consist only of sets to registers outside of %o0 to %o5.
+ (sparc_vis_init_builtins): Update VIS builtin types for edge
+ and pixel-compare.
+
+ * config/sparc/sparc.c (sparc_conditional_register_usage): When VIS
+ is enabled, mark %gsr as global.
+ * config/sparc/sparc.md (UNSPEC_WRGSR): Delete.
+ (wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus): Don't wrap in an unspec.
+
+ * config/sparc/sparc-c.c: New file implementing sparc_target_macros,
+ which will now define __VIS and __VIS__ when -mvis is enabled.
+ * config/sparc/t-sparc: Likewise.
+ * config.gcc: Add sparc-c.o to c_target_objs and cxx_target_objs,
+ and add t-sparc to tmake_file for all sparc targets.
+ * config/sparc/sparc-protos.h (sparc_target_macros): Declare.
+ * config/sparc/sparc.h (TARGE_CPU_CPP_BUILTINS): Call it.
+
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Add explicit
+ builtins for VIS vector addition and subtraction.
+ * config/sparc/visintrin.h (__vis_fpadd16, __vis_fpadd16s,
+ __vis_fpadd32, __vis_fpadd32s, __vis_fpsub16, __vis_fpsub16s,
+ __vis_fpsub32, __vis_fpsub32s): New.
+ * doc/extend.texi: Document new VIS intrinsics.
+
+2011-09-26 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (peephole casesi+2): Use -1 instead of 65536.
+ * config/avr/avr.c (avr_out_compare): Print shorter sequence for
+ EQ/NE comparisons against +/-1 in the case of unused-after,
+ non-ld-regs target.
+
+2011-09-26 Jakub Jelinek <jakub@redhat.com>
+
+ * gimple-fold.c (gimplify_and_update_call_from_tree): Set
+ gctx.into_ssa after push_gimplify_context.
+
+ * gimple.c (gimple_build_call_valist): New function.
+ * gimple.h (gimple_build_call_valist): New prototype.
+ * tree-ssa-propagate.c (finish_update_gimple_call): New function.
+ (update_gimple_call): Likewise.
+ (update_call_from_tree): Use finish_update_gimple_call.
+ * tree-ssa-propagate.h (update_gimple_call): New prototype.
+
+2011-09-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50472
+ * gimple-fold.c (fold_const_aggregate_ref_1): Do not fold
+ volatile references.
+
+2011-09-26 Bingfeng Mei <bmei@broadcom.com>
+
+ * doc/tm.texi: Correct documentation for TARGET_ADDR_SPACE_SUBSET_P.
+ * target.def: (addr_space_subset_p): Likewise.
+
+2011-09-26 Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-alias.h (pt_solution_singleton_p): Declare.
+ * tree-ssa-structalias.c (pt_solution_singleton_p): New function.
+ * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Set points-to solution
+ of new var.
+
+2011-09-26 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50465
+ * config/avr/avr-protos.h (output_reload_insisf): Don't pass insn.
+ * config/avr/avr.md (*reload_insi, *reload_insf): Change call to
+ output_reload_insisf.
+ (adjust_len): Set default to "no".
+ Remove alternative "yes". Add alternatives: "mov8", "mov16",
+ "mov32", "ashlqi", "ashrqi", "lshrqi", "ashlhi", "ashrhi",
+ "lshrhi", "ashlsi, "ashrsi", "lshrsi".
+ (*movqi, *movhi, *movsi, *ashlqi3, ashlhi3, ashlsi3,
+ *ashlhi3_const, *ashlsi3_const, ashrqi3, ashrhi3, ashrsi3,
+ *ashrhi3_const, *ashrsi3_const, *lshrqi3, lshrhi3, *lshrhi3_const,
+ *lshrsi3_const): Set attribute "adjust_len".
+ * config/avr/avr.c (output_reload_insisf): Remove parameter "insn".
+ (output_movsisf): Don't pass insn to output_reload_insisf.
+ (adjust_insn_length): Handle new alternatives to adjust_len.
+ Remove handling of ADJUST_LEN_YES. Clean-up code.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ifcvt.c (noce_try_cmove_arith): Use may_trap_or_fault_p in lieu of
+ may_trap_p to detect loads that may trap of fault.
+
+2011-09-26 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (output_reload_inhi): Change prototype.
+ * config/avr/avr.md (adjust_len): Add "reload_in16" alternative.
+ (*reload_inhi): Use it. Adapt call to output_reload_inhi to new
+ prototype.
+ (*movhi): Split constraint alternative "r,rL" into "r,r" and "r,L".
+ * config/avr/avr.c: Rename output_reload_insisf_1 to
+ output_reload_in_const.
+ (avr_popcount_each_byte): Handle SFmode, too.
+ (output_reload_in_const): Change so it can handle HI loads, too.
+ Use avr_popcount_each_byte to work out if scratch register must be
+ created on the fly.
+ (output_reload_inhi): Rewrite using output_reload_in_const and...
+ (output_movhi): ...use it to print constants' loads.
+ (adjust_insn_length): New case ADJUST_LEN_RELOAD_IN16. Cleanup code.
+
+2011-09-25 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/constraints.md (C, P, Z): New constraints for
+ const_doube, const_int, and const_vector "all ones" values.
+ Make unused constraint letters comment match reality.
+ * config/sparc/predicates.md (const_all_ones_operand,
+ register_or_zero_or_all_ones_operand): New predicates.
+ * config/sparc/sparc.c (sparc_expand_move): Allow all ones
+ as well as zero constants when VIS.
+ (sparc_legitimate_constant_p): Likewise.
+ * config/sparc/sparc.md (movsi_insn): Add fones alternative.
+ (movsf_insn): Likewise
+ (movdi_insn_sp64): Add fone alternative.
+ (movdf_insn_sp32_v9): Likewise.
+ (movdf_insn_sp64): Likewise.
+
+ * configure.ac: Add feature check to make sure the assembler
+ supports the FMAF, HPC, and VIS 3.0 instructions found on
+ Niagara-3 and later cpus.
+ * configure: Rebuild.
+ * config.in: Likewise.
+ * config/sparc/sparc.opt: New option '-mfmaf'.
+ * config/sparc/sparc.md: Add float fused multiply-add patterns.
+ * config/sparc/sparc.h (AS_NIAGARA3_FLAG): New macro.
+ (ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Use it, as needed.
+ * config/sparc/sol2.h (ASM_CPU32_DEFAULT_SPEC,
+ ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC): Likewise.
+ * config/sparc/sparc.c (sparc_option_override): Turn MASK_FMAF on
+ by default for Niagara-3 and later. Turn it off if TARGET_FPU is
+ disabled.
+ (sparc_rtx_costs): Handle 'FMA'.
+ * doc/invoke.texi: Document -mfmaf.
+
+2011-09-25 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-structalias.c (intra_create_variable_infos): Treat
+ TYPE_RESTRICT REFERENCE_TYPE parameters like restricted
+ DECL_BY_REFERENCE parameters.
+
+2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-eh.c (cleanup_empty_eh): Allow a call to __builtin_stack_restore
+ if there is no outgoing edge.
+
+ * tree-scalar-evolution.c (simple_iv): Accept all kinds of pointer and
+ integral types.
+
+2011-09-25 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-slp.c (vect_slp_analyze_bb_1): Split out core part
+ of vect_analyze_bb here.
+ (vect_analyze_bb): Loop over vector sizes calling vect_analyze_bb_1.
+
+2011-09-25 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-data-ref.c (dr_analyze_innermost): Add new argument.
+ Allow not simple iv if analyzing basic block.
+ (create_data_ref): Update call to dr_analyze_innermost.
+ (stmt_with_adjacent_zero_store_dr_p, ref_base_address): Likewise.
+ * tree-loop-distribution.c (generate_memset_zero): Likewise.
+ * tree-predcom.c (find_looparound_phi): Likewise.
+ * tree-data-ref.h (dr_analyze_innermost): Add new argument.
+
+2011-09-24 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.h (FIRST_PSEUDO_REGISTER): Bump to 103.
+ (SPARC_GSR_REG): Define.
+ (FIXED_REGISTERS): Mark GSR as fixed.
+ (CALL_USED_REGISTERS): Mark GSR as call used.
+ (HARD_REGNO_NREGS): GSR is always 1 register.
+ (REG_CLASS_CONTENTS): Add GSR to ALL_REGS.
+ (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER): Add GSR to the end.
+ (REGISTER_NAMES): Add "%gsr".
+ * config/sparc/sparc.md (UNSPEC_ALIGNADDR, UNSPEC_ALIGNADDRL): Delete.
+ (UNSPEC_WRGSR): New unspec.
+ (GSR_REG): New constant.
+ (type): Add new insn type 'gsr'.
+ (fpack16_vis, fpackfix_vis, fpack32_vis,
+ faligndata<V64I:MODE>_vis)): Add use of GSR_REG.
+ (wrgsr_vis, *wrgsr_sp64, wrgsr_v8plus, rdgsr_vis, *rdgsr_sp64,
+ rdgsr_v8plus): New expanders and insns.
+ (alignaddr<P:mode>_vis, alignaddrl<P:mode>_vis): Reimplement
+ using patterns which show that this is a plus in addition to a
+ modification of GSR_REG, instead of an unspec.
+ * config/sparc/ultra1_2.md: Handle 'gsr'.
+ * config/sparc/ultra3.md: Likewise.
+ * config/sparc/niagara.md: Likewise.
+ * config/sparc/niagara2.md: Likewise.
+ * config/sparc/sparc.c (leaf_reg_remap, sparc_leaf_regs): Fill out
+ end of table.
+ (sparc_option_override): Make -mvis imply -mv8plus.
+ (hard_32bit_mode_classes, hard_64bit_mode_classes): Add entries
+ for %gsr.
+ (sparc_vis_init_builtins): Build __builtin_vis_write_gsr and
+ __builtin_vis_read_gsr.
+ (sparc_expand_buildin): Handle builtins that take one argument and
+ return void.
+ (sparc_fold_builtin): Never fold writes to %gsr.
+ * config/sparc/visintrin.h (__vis_write_gsr, __vis_read_gsr): New.
+ * doc/extend.texi: Document new VIS intrinsics.
+
+2011-09-23 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_call): Add comment.
+ * ipa-inline.h (inline_param_summary): New structure and vector.
+ (struct inline_edge_summary): Add param field.
+ * ipa-inline-analysis.c (CHANGED): New constant.
+ (add_clause): Handle CHANGED and NOT_CONSTANT.
+ (predicate_probability): New function.
+ (dump_condition): Dump CHANGED predicate.
+ (evaluate_conditions_for_known_args): Handle ERROR_MARK as marker
+ of unknown function wide invariant.
+ (evaluate_conditions_for_edge): Handle change probabilities.
+ (inline_edge_duplication_hook): Copy param summaries.
+ (inline_edge_removal_hook): Free param summaries.
+ (dump_inline_edge_summary): Fix dumping of indirect edges and callee
+ sizes; dump param summaries.
+ (will_be_nonconstant_predicate): Use CHANGED predicate.
+ (record_modified_bb_info): New structure.
+ (record_modified): New function.
+ (param_change_prob): New function.
+ (estimate_function_body_sizes): Compute param summaries.
+ (estimate_edge_size_and_time): Add probability argument.
+ (estimate_node_size_and_time): Add inline_param_summary argument;
+ handle predicate probabilities.
+ (remap_predicate): Fix formating.
+ (remap_edge_change_prob): New function.
+ (remap_edge_summaries): Rename from ...; use remap_edge_change_prob.
+ (remap_edge_predicates): ... this one.
+ (inline_merge_summary): Remap edge summaries; handle predicate
+ probabilities; remove param summaries after we are done.
+ (do_estimate_edge_time): Update.
+ (do_estimate_edge_growth): Update.
+ (read_inline_edge_summary): Read param info.
+ (inline_read_summary): Fix formating.
+ (write_inline_edge_summary): Write param summaries.
+
+2011-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_print_operand): Handle %~.
+ (ix86_print_operand_punct_valid_p): Return true also for '~'.
+ * config/i386/sse.md (i128): New mode_attr.
+ (vec_extract_hi_<mode>, vec_extract_hi_<mode>,
+ avx_vbroadcastf128_<mode>, *avx_vperm2f128<mode>_full,
+ *avx_vperm2f128<mode>_nozero, vec_set_lo_<mode>,
+ vec_set_hi_<mode>, *vec_concat<mode>_avx): Use <i128> in the
+ patterns, use "<sseinsnmode>" for "mode" attribute.
+ (vec_extract_hi_v16hi, vec_extract_hi_v32qi, vec_set_lo_v16hi,
+ vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Use
+ %~128 in the patterns, use "OI" for "mode" attribute.
+
+2011-09-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50447
+ * config/avr/avr.md (adjust_len): Add alternatives "tsthi",
+ "tstsi", "compare".
+ (*cmpqi_sign_extend): Use s8_operand.
+ (*cmphi, *cmpsi): Rewrite using avr_out_compare.
+ * config/avr/avr-protos.h (compare_diff_p, compare_eq_p): Remove
+ prototypes.
+ (out_tsthi, out_tstsi): Remove prototypes.
+ (avr_out_tsthi, avr_out_tstsi): New prototypes.
+ * config/avr/avr.c (out_tsthi, out_tstsi): Remove functions.
+ (avr_asm_len): Negative length now sets *plen to -length.
+ (compare_sign_p): Return bool instead of int.
+ (compare_diff_p, compare_eq_p): Ditto and make static.
+ (avr_out_tsthi): New function.
+ (avr_out_tstsi): New function.
+ (avr_out_compare): New function.
+ (adjust_insn_length): Handle ADJUST_LEN_TSTHI, ADJUST_LEN_TSTSI,
+ ADJUST_LEN_COMPARE.
+
+2011-09-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50447
+ * config/avr/avr.md: (adjust_len): Add alternative "out_plus".
+ (addsi3): Rewrite using QI scratch register. Adjust text
+ peepholes using plus:SI.
+ (*addsi3_zero_extend.hi): New insn.
+ (*subsi3_zero_extend.hi): New insn.
+ (*subhi3_zero_extend1): Set attribute "cc" to "set_czn".
+ (*subsi3_zero_extend): Ditto.
+ (subsi3): Change predicate #2 to register_operand.
+ * config/avr/avr-protos.h (avr_out_plus): New prototype.
+ (avr_out_plus_1): New static function.
+ (avr_out_plus): New function.
+ (adjust_insn_length): Handle ADJUST_LEN_OUT_PLUS.
+
+2011-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): For
+ GE/GT/UNLE/UNLT swap arguments and condition even for TARGET_AVX.
+
+2011-09-23 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_define): Treat a single character in single quotes,
+ or a string, as an operand.
+
+2011-09-23 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (jump_func_type): Updated comments.
+ (ipa_known_type_data): New type.
+ (ipa_jump_func): Use it to describe known type jump functions.
+ * ipa-prop.c (ipa_print_node_jump_functions_for_edge): Updated to
+ reflect the new known type jump function contents.
+ (compute_known_type_jump_func): Likewise.
+ (combine_known_type_and_ancestor_jfs): Likewise.
+ (try_make_edge_direct_virtual_call): Likewise.
+ (ipa_write_jump_function): Likewise.
+ (ipa_read_jump_function): Likewise.
+ * ipa-cp.c (ipa_value_from_known_type_jfunc): New function.
+ (ipa_value_from_jfunc): Use ipa_value_from_known_type_jfunc.
+ (propagate_accross_jump_function): Likewise.
+
+2011-09-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50446
+ * config/avr/avr.md (rotlqi3): Support all offsets 0..7.
+ (rotlqi3_4): Turn insn into expander.
+ (*rotlqi3): New insn.
+ (rotlhi3, rotlsi3): Support rotate left/right by 1.
+ (*rotlhi2.1, *rotlhi2.15): New insns.
+ (*rotlsi2.1, *rotlsi2.31): New insns.
+ * config/avr/constraints.md (C03, C05, C06, C07): New constraints.
+
+2011-09-23 Bin Cheng <bin.cheng@arm.com>
+
+ * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-m arch and processors.
+
+2011-09-22 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * ipa-prop.c (ipa_print_node_jump_functions): Fix typos.
+
+2011-09-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * reload.c (find_reloads): Set operand_mode to Pmode for address
+ operands consisting of just a CONST_INT.
+
+2011-09-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50482
+ * config/i386/i386.c (ix86_expand_sse_movcc): When generating
+ blendv, force op_true to register if it doesn't satisfy
+ nonimmediate_operand predicate.
+
+2011-09-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR middle-end/50113
+ PR middle-end/50061
+ * calls.c (emit_library_call_value_1): Use BLOCK_REG_PADDING to
+ get the locate.where_pad value for register-only arguments.
+ * config/arm/arm.c (arm_pad_arg_upward): Remove HFmode handling.
+ (arm_pad_reg_upward): Handle null types.
+
+2011-09-22 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c: Fix overly long lines.
+
+2011-09-22 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_call): Always update jump functions
+ after inlining.
+ * ipa-inline.c (ipa_inline): Likewise; do not call
+ ipa_create_all_structures_for_iinln.
+ (ipa_inline): Always free jump functions.
+ * ipa-inline-analysis.c (evaluate_conditions_for_edge): Remove hack.
+ (remap_edge_predicates): Fix pasto.
+ (inline_merge_summary): Remove nlined edge predicate; remove hack.
+ (inline_analyze_function): Always initialize jump functions.
+ (inline_generate_summary): Likewise.
+ (inline_write_summary): Always write jump functions when ipa-cp
+ is not doing that.
+ (inline_read_summary): Always read jump functions when ipa-cp
+ is not doing that.
+ * ipa-prop.c (iinlining_processed_edges): Remove.
+ (update_indirect_edges_after_inlining): Do not use
+ iinlining_processed_edges; instead set param_index to -1.
+ (propagate_info_to_inlined_callees): Only try to indirect inlining
+ when asked to do so; update jump functions of indirect calls, too;
+ remove jump functions of the inlined edge.
+ (ipa_edge_duplication_hook): Do not copy iinlining_processed_edges.
+ (ipa_create_all_structures_for_iinln): Remove.
+ (ipa_free_all_structures_after_iinln): Do not free
+ iinlining_processed_edges.
+ * ipa-prop.h (ipa_create_all_structures_for_iinln): Remove.
+
+2011-09-22 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/predicates.md (expandable_comparison_operator): New
+ predicate, extracted from...
+ (arm_comparison_operator): ...here.
+ * config/arm/arm.md (cbranchsi4, cbranchsf4, cbranchdf4, cbranchdi4)
+ (cstoresi4, cstoresf4, cstoredf4, cstoredi4, movsicc, movsfcc)
+ (movdfcc): Use expandable_comparison_operator.
+
+2011-09-22 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50447
+ PR target/50465
+ * config/avr/avr-protos.h (avr_out_bitop): New prototype.
+ (avr_popcount_each_byte): New prototype.
+ * config/avr/avr.c (avr_popcount): New static function.
+ (avr_popcount_each_byte): New function.
+ (avr_out_bitop): New function.
+ (adjust_insn_length): ADJUST_LEN_OUT_BITOP dispatches to
+ avr_out_bitop. Cleanup code.
+ * config/avr/constraints.md (Ca2, Co2, Cx2): New constraints.
+ (Ca4, Co4, Cx4): New constraints.
+ * config/avr/avr.md (adjust_len): Add "out_bitop" insn attribute
+ alternative.
+ (andhi3, iorhi3, xorhi3): Rewrite insns using avr_out_bitop.
+ (andsi3, iorsi3, xorsi3): Ditto.
+ (*iorhi3_clobber, *iorsi3_clobber): Remove insns.
+
+2011-09-22 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50451
+ * tree-vect-slp.c (vect_get_constant_vectors): Don't fail for
+ constant operands in reduction.
+ (vect_get_slp_defs): Don't create vector operand for NULL scalar
+ operand.
+
+2011-09-22 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Do not mark
+ fpack16, fpack32, fpackfix as const.
+
+ * config/sparc/sparc.md (G[0-7]_REG, O[0-7]_REG, L[0-7]_REG,
+ I[0-7]_REG, F[0-62]_REG, FCC[0-3]_REG, CC_REG, SFP_REG): New
+ constants. Use them everywhere.
+
+2011-09-22 Oleg Endo <oleg.endo@t-online.de>
+
+ * config/sh/sh.c (andcosts): Renamed to and_xor_ior_costs.
+ Added AND special case. Adapted comments.
+ (sh_rtx_costs): Added XOR and IOR case.
+
+2011-09-21 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analsis.c (compute_inline_parameters): Set
+ cfun and current_function_decl.
+
+2011-09-21 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Allow
+ handled components in parameter of builtin_constant_p.
+ (will_be_nonconstant_predicate): Allow loads of non-SSA parameters.
+
+2011-09-21 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (relative_time_benefit): Fix wrong bracketting.
+ * ipa-inline.h (estimate_edge_time): Fix pasto.
+ * ipa-inline-analysis.c (do_estiamte_edge_time): Remove capping.
+
+2011-09-21 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_sse_movcc): Use
+ blendvps, blendvpd and pblendvb if possible.
+
+2011-09-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50464
+ * config/i386/sse.md (xop_pcmov_<mode><avxsizesuffix>): Change
+ operand 1 predicate to register_operand and operand 2 predicate
+ to nonimmediate_operand.
+ * config/i386/i386.c (ix86_expand_sse_movcc): When generating
+ xop_pcmov, force op_true to register. Also, force op_false to
+ register if it doesn't satisfy nonimmediate_operand predicate.
+
+2011-09-21 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/bmi2intrin.h (_mulx_u64): New.
+ (_mulx_u32): Ditto.
+
+2011-09-21 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/50433
+ * ipa-inline-analysis.c (eliminated_by_inlining_prob):
+ Use get_base_address.
+
+2011-09-21 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (<code><mode>3 smaxmin:VI124_128 expander): Use
+ nonimmediate_operand instead of register_operand predicate for operands
+ 1 and 2, force them into registers if expanding them as comparison.
+ (<code><mode>3 umaxmin:VI124_128 expander): Similarly. For UMAX
+ V8HImode force into register just operand 1.
+
+2011-09-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/45099
+ * config/avr/avr.c (avr_function_arg_advance): Change error to
+ warning if a fixed register is needed as function argument.
+
+2011-09-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50449
+ PR target/50465
+ * config/avr/avr.md (adjust_len): New insn attribute.
+ (*reload_insi, *reload_insf): Use it.
+ (*movsi, *movsf): Use new interface of output_movsisf.
+ * config/avr/avr-protos.h (output_movsisf): Change prototype.
+ * config/avr/avr.c (output_movsisf): Ditto.
+ (adjust_insn_length): Use insn attribute "adjust_len" to adjust
+ lengths of insns *reload_insi, *reload_insf.
+ (output_reload_insisf_1): New static function.
+ (output_reload_insisf): Use it.
+
+2011-09-21 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.c (def_builtin): Change from macro into function.
+ (def_builtin_const): New.
+ (sparc_vis_init_builtins): Use def_builtin_const for all VIS builtins
+ other than alignaddr and falignaddr.
+
+ * config/sparc/sparc.md (UNSPEC_FCMPLE, UNSPEC_FCMPNE, UNSPEC_FCMPGT,
+ UNSPEC_FCMPEQ): New unspec codes.
+ (fcmple16_vis, fcmple32_vis, fcmpne16_vis, fcmpne32_vis, fcmpgt16_vis,
+ fcmpgt32_vis, fcmpeq16_vis, fcmpeq32_vis): New patterns.
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Create builtins for
+ new pixel compare VIS patterns.
+ * config/sparc/visintrin.h (__vis_fcmple16, __vis_fcmple32,
+ __vis_fcmpne16, __vis_fcmpne32, __vis_fcmpgt16, __vis_fcmpgt32,
+ __vis_fcmpeq16, __vis_fcmpeq32): New.
+ * doc/extend.texi: Document new pixel compare VIS intrinsics.
+
+2011-09-21 Tom de Vries <tom@codesourcery.com>
+
+ * final.c (final): Handle if JUMP_LABEL is not LABEL_P.
+
+2011-09-20 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_ALIGNADDRL): New unspec.
+ (aligneddrl<P:mode>_vis): New pattern.
+ (edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
+ edge32l_vis): Adjust to take Pmode arguments, and return SImode.
+ * config/sparc/sparc.c (sparc_vis_init_builtins): Handle new
+ alignaddrl insn, and adjust edge operations for updated types.
+ * config/sparc/visintrin.h: Likewise.
+ * doc/extend.texi: Make typing in VIS documentation match reality.
+
+2011-09-20 Terry Guo <terry.guo@arm.com>
+
+ * config/arm/arm-arches.def: Add armv6s-m.
+ * config/arm/arm-tables.opt: Regenerate.
+
+2011-09-20 Wei Guozhi <carrot@google.com>
+
+ PR rtl-optimization/49452
+ * postreload.c (reload_combine): Invalidate use information when across
+ volatile insn.
+
+2011-09-19 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * haifa-sched.c (has_edge_p, prev_non_location_insn, check_cfg):
+ Remove maintenance overhead.
+ (haifa_sched_init, sched_finish): Update.
+
+2011-09-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/mmx.md (*mov<mode>_internal_rex64): Use if_then_else RTX
+ to calculate unit, prefix_rep and prefix_data16 attributes.
+ (*mov<mode>_internal): Ditto for unit attribute.
+ (*movv2sf_internal_rex64): Ditto for unit and prefix_rep attributes.
+ (*movv2sf_internal): Ditto.
+ * config/i386/sse.md (VI1248_256): Remove mode iterator.
+ (avx2_eq<mode>3): Use VI_256 instead of VI1248_256.
+ (*avx2_eq<mode>3): Ditto.
+ (avx2_gt<mode>3): Ditto.
+
+2011-09-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (maxmin): New code iterator.
+ * config/i386/sse.md (<maxmin:code><mode>3): Macroize expander
+ from <umaxmin:code><mode>3 and <smaxmin:code><mode>3 using maxmin
+ code iterator.
+ (*avx2_<maxmin:code><mode>3): Macroize isn from
+ *avx2_<umaxmin:code><mode>3 and *avx2_<smaxmin:code><mode>3 using
+ maxmin code iterator.
+ (<smaxmin:code><VI124_128:mode>3): Merge with <smaxmin:code>v8hi3.
+ (<umaxmin:code><VI124_128:mode>3): Merge with umaxv4si3 and
+ <umaxmin:code>v16qi3.
+
+2011-09-19 Alan Modra <amodra@gmail.com>
+ Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/50341
+ * config/rs6000/rs6000.md (call_indirect_aix<ptrsize>): Do not
+ split the load of the indirect function's TOC from the call to
+ prevent the compiler from moving the load of the new TOC above
+ code that references the current function's TOC.
+ (call_indirect_aix<ptrsize>_internal): Ditto.
+ (call_indirect_aix<ptrsize>_nor11): Ditto.
+ (call_indirect_aix<ptrsize>_internal2): Ditto.
+ (call_value_indirect_aix<ptrsize>): Ditto.
+ (call_value_indirect_aix<ptrsize>_internal): Ditto.
+ (call_value_indirect_aix<ptrsize>_nor11): Ditto.
+ (call_value_indirect_aix<ptrsize>_internal2): Ditto.
+
+2011-09-19 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (*sse4_1_extractps): Change into
+ define_insn_and_split, add =x 0 n and =x x n alternatives
+ and split them after reload.
+
+2011-09-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree.h (TREE_NOT_CHECK4): Rename from bogus NON_TREE_CHECK4.
+
+2011-09-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * emit-rtl.c (copy_insn_1): Do not copy DEBUG_EXPRs.
+
+2011-09-19 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50413
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Fail to vectorize
+ a basic block if one of its data-refs can't be analyzed.
+
+2011-09-19 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/predicates.md (shift_amount_operand): Check constant
+ shift count is in range.
+ (const_shift_operand): Remove.
+
+2011-09-18 Eric Botcazou <ebotcazou@adacore.com>
+ Iain Sandoe <developer@sandoe-acoustics.co.uk>
+
+ PR target/50091
+ * config/rs6000/rs6000.md (probe_stack): Use explicit operand.
+ * config/rs6000/rs6000.c (output_probe_stack_range): Likewise.
+
+2011-09-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/bmiintrin.h: Remove tmp.
+ * config/i386/tbmintrin.h: Likewise.
+
+2011-09-18 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50414
+ * tree-vect-slp.c (vect_get_constant_vectors): Handle MAX_EXPR and
+ MIN_EXPR.
+
+2011-09-18 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50412
+ * tree-vect-data-refs.c (vect_analyze_group_access): Fail for
+ acceses that require epilogue loop if vectorizing outer loop.
+
+2011-09-17 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/sparc.md (UNSPEC_EDGE8, UNSPEC_EDGE8L,
+ UNSPEC_EDGE16, UNSPEC_EDGE16L, UNSPEC_EDGE32, UNSPEC_EDGE32L):
+ New unspecs.
+ (define_attr type): New type 'edge'.
+ (edge8_vis, edge8l_vis, edge16_vis, edge16l_vis, edge32_vis,
+ edge32l_vis): New patterns.
+ * config/sparc/ultra1_2.md: Add insn reservation for 'edge'.
+ * config/sparc/ultra3.md: Likewise.
+ * config/sparc/niagara.md: Likewise.
+ * config/sparc/niagara2.md: Likewise.
+ * config/sparc/sparc.d (sparc_vis_init_builtins): Generate
+ builtins for VIS edge instructions.
+ * config/sparc/visintrin.h (__vis_edge8, __vis_edge8l)
+ (__vis_edge16, __vis_edge16l, __vis_edge32, __vis_edge32l): New
+ intrinsics.
+ (__v8qi, __v4qi): Make unsigned.
+ (__vis_faligndatadi, ___vis_faligndatav2si, __vis_faligndatav4hi,
+ __vis_faligndatav8qi, __vis_fmul8x16au, __vis_fmul8x16al,
+ __vis_fpack32): Fix types.
+ * doc/extend.texi: Document new 'edge' VIS intrinsics.
+
+ * gcc/config/sparc/sparc.c (niagara2_costs): Adjust integer
+ divide costs.
+ (niagara3_costs): New.
+ (sparc_option_override): Use it.
+ * gcc/config/sparc/niagara2.md: Adjust with more accurate
+ Niagara-3 reservations.
+
+2011-09-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (VIMAX_AVX2): Change V4DI to V2TI.
+ (sse2_avx, sseinsnmode): Add V2TI.
+ (REDUC_SMINMAX_MODE): New mode iterator.
+ (reduc_smax_v4sf, reduc_smin_v4sf, reduc_smax_v8sf,
+ reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df): Remove.
+ (reduc_<code>_<mode>): New smaxmin and umaxmin expanders.
+ (sse2_lshrv1ti3): Rename to...
+ (<sse2_avx2>_lshr<mode>3): ... this. Use VIMAX_AVX2 mode
+ iterator. Move before umaxmin expanders.
+ * config/i386/i386.h (VALID_AVX256_REG_MODE,
+ SSE_REG_MODE_P): Accept V2TImode.
+ * config/i386/i386.c (ix86_expand_reduc): Handle V32QImode,
+ V16HImode, V8SImode and V4DImode.
+
+ * config/i386/i386.c (ix86_build_const_vector): Handle V8SImode
+ and V4DImode.
+ (ix86_build_signbit_mask): Likewise.
+ (ix86_expand_int_vcond): Likewise. Handle V16HImode and V32QImode.
+ (bdesc_args): Use CODE_FOR_{s,u}m{ax,in}v{32q,16h,8s}i3
+ instead of CODE_FOR_avx2_{s,u}m{ax,in}v{32q,16h,8s}i3.
+ * config/i386/sse.md (avx2_<code><mode>3 umaxmin expand): Rename to...
+ (<code><mode>3) ... this.
+ (avx2_<code><mode>3 smaxmin expand): Rename to...
+ (<code><mode>3) ... this.
+ (smax<mode>3, smin<mode>3): Macroize using smaxmin code iterator.
+ (smaxv2di3, sminv2di3): Macroize using smaxmin code iterator and
+ VI8_AVX2 mode iterator.
+ (umaxv2di3, uminv2di3): Macroize using umaxmin code iterator and
+ VI8_AVX2 mode iterator.
+ (vcond<V_256:mode><VI_256:mode>, vcondu<V_256:mode><VI_256:mode>):
+ New expanders.
+
+2011-09-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/ia64/itanium2.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-16 David S. Miller <davem@davemloft.net>
+
+ * config/sparc/visintrin.h: New file.
+ * config.gcc: Add it to extra_headers on sparc.
+
+2011-09-16 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_reduc_v4sf): Rename to ...
+ (ix86_expand_reduc): ... this. Handle also V8SFmode and V4DFmode.
+ * config/i386/sse.md (reduc_splus_v4sf, reduc_smax_v4sf,
+ reduc_smin_v4sf): Adjust callers.
+ (reduc_smax_v8sf, reduc_smin_v8sf, reduc_smax_v4df, reduc_smin_v4df):
+ New expanders.
+
+ * config/i386/sse.md (vec_extract_hi_<mode>,
+ vec_extract_hi_v16hi, vec_extract_hi_v32qi): Use
+ vextracti128 instead of vextractf128 for -mavx2 and
+ integer vectors. For V4DFmode fix up mode attribute.
+ (VEC_EXTRACT_MODE): For TARGET_AVX add 32-byte vectors.
+ (vec_set_lo_<mode>, vec_set_hi_<mode>): For VI8F_256 modes use V4DF
+ instead of V8SF mode attribute.
+ (avx2_extracti128): Change into define_expand.
+ * config/i386/i386.c (ix86_expand_vector_extract): Handle
+ 32-byte vector modes if TARGET_AVX.
+
+2011-09-16 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: (umulqihi3, mulqihi3): Write as one pattern.
+ (umulqi3_highpart, smulqi3_highpart): Ditto.
+ (*maddqihi4.const, *umaddqihi4.uconst): Ditto.
+ (*msubqihi4.const, *umsubqihi4.uconst): Ditto.
+ (*muluqihi3.uconst, *mulsqihi3.sconst): Ditto.
+
+2011-09-16 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50358
+ * config/avr/avr.md (*ashiftqihi2.signx.1): New insn.
+ (*maddqi4, *maddqi4.const): New insns.
+ (*msubqi4, *msubqi4.const): New insns.
+ * config/avr/avr.c (avr_rtx_costs): Record costs of above in cases
+ PLUS:QI and MINUS:QI. Increase costs of multiply-add/-sub for
+ HImode by 1 in the case of multiplying with a CONST_INT.
+ Record cost of *ashiftqihi2.signx.1 in case ASHIFT:QI.
+
+2011-09-15 Jan Hubicka <jh@suse.cz>
+
+ PR lto/50430
+ * gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on
+ error_mark_node in the DECL_INITIAL of vtable.
+
+2011-09-15 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from
+ @SYSROOT_CFLAGS_FOR_TARGET@.
+ * configure.ac (SYSROOT_CFLAGS_FOR_TARGET): Set from build-sysroot.
+ * configure: Regenerate.
+ (site.exp): Add definition of TEST_ALWAYS_FLAGS.
+ Remove setting of GCC_UNDER_TEST.
+
+2011-09-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (output_fp_compare): Return %v prefixed
+ instruction mnemonics for TARGET_AVX.
+
+ * config/i386/i386.md (*movdf_internal_rex64): use cond RTX in
+ "type" attribute calculation.
+ (*movdf_internal): Ditto.
+ (*movsf_internal): Ditto.
+
+2011-09-15 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): New builtin macro.
+
+2011-09-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/50361
+ * expr.c (count_type_elements): Handle NULLPTR_TYPE.
+
+2011-09-15 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (add_condition): Add conditions parameter;
+ simplify obviously true clauses.
+ (and_predicates, or_predicates): Add conditions parameter.
+ (inline_duplication_hoook): Update.
+ (mark_modified): New function.
+ (unmodified_parm): New function.
+ (eliminated_by_inlining_prob, (set_cond_stmt_execution_predicate,
+ set_switch_stmt_execution_predicate, will_be_nonconstant_predicate):
+ Use unmodified_parm.
+ (estimate_function_body_sizes): Update.
+ (remap_predicate): Update.
+
+2011-09-15 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Allow
+ read-after-read dependencies in basic block SLP.
+
+2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/sparc/sparc.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/sh/sh.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/s390/s390.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/rs6000/rs6000.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+ * config/rs6000/constraints.md: Likewise.
+
+2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/microblaze/microblaze.md: Use match_test rather than
+ eq/ne symbol_ref throughout file.
+
+2011-09-14 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/bfin/bfin.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-14 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/50251
+ * explow.c (emit_stack_restore): Set crtl->need_drap if
+ stack_restore is emitted.
+
+2011-09-14 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_override_options): Add unaligned_access
+ support.
+ (arm_file_start): Emit attribute for unaligned access as appropriate.
+ * config/arm/arm.md (UNSPEC_UNALIGNED_LOAD)
+ (UNSPEC_UNALIGNED_STORE): Add constants for unspecs.
+ (insv, extzv): Add unaligned-access support.
+ (extv): Change to expander. Likewise.
+ (extzv_t1, extv_regsi): Add helpers.
+ (unaligned_loadsi, unaligned_loadhis, unaligned_loadhiu)
+ (unaligned_storesi, unaligned_storehi): New.
+ (*extv_reg): New (previous extv implementation).
+ * config/arm/arm.opt (munaligned_access): Add option.
+ * config/arm/constraints.md (Uw): New constraint.
+ * expmed.c (store_bit_field_1): Adjust bitfield numbering according
+ to size of access, not size of unit, when BITS_BIG_ENDIAN !=
+ BYTES_BIG_ENDIAN. Don't use bitfield accesses for
+ volatile accesses when -fstrict-volatile-bitfields is in effect.
+ (extract_bit_field_1): Likewise.
+
+2011-09-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * simplify-rtx.c (simplify_subreg): Check that the inner mode is
+ a scalar integer before applying integer-only optimisations to
+ inner arithmetic.
+
+2011-09-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/mips/mips.c (mips_expand_epilogue): Generate a
+ simple_return only if the return address is in r31.
+
+2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * cfgcleanup.c (try_head_merge_bb): If get_condition returns
+ NULL for a jump that is a cc0 insn, pick the previous insn for
+ move_before.
+
+2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/v850/v850.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/pa/pa.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mn10300/mn10300.md: Use match_test rather than eq/ne
+ symbol_ref throughout file.
+
+2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/m68k/m68k.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/h8300/h8300.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-13 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/arm/arm.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+ * config/arm/neon.md: Likewise.
+ * config/arm/vfp.md: Likewise.
+ * config/arm/thumb2.md: Likewise.
+ * config/arm/cortex-m4.md: Likewise.
+
+2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
+
+ * config/arm/neon.md (neon_vabd<mode>_2, neon_vabd<mode>_3): New
+ define_insn patterns for combine.
+
+2011-09-13 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ * reorg.c: Always define make_return_insns.
+
+2011-09-13 Jan Hubicka <jh@suse.cz>
+
+ PR other/49533
+ * cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.
+
+2011-09-13 Jan Hubicka <jh@suse.cz>
+
+ PR other/49533
+ * ipa-inline-transform.c (can_remove_node_now_p): Fix thunkos.
+
+2011-09-13 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
+ (ARM_TARGET2_DWARF_FORMAT): Provide default definition.
+ * config/arm/linux-eabi.h (ARM_TARGET2_DWARF_FORMAT): Define.
+ * config/arm/symbian.h (ARM_TARGET2_DWARF_FORMAT): Define.
+ * config/arm/uclinux-eabi.h(ARM_TARGET2_DWARF_FORMAT): Define.
+ * config/arm/t-bpabi (EXTRA_HEADERS): Add unwind-arm-common.h.
+ * config/arm/t-symbian (EXTRA_HEADERS): Add unwind-arm-common.h.
+ * config/c6x/c6x.c (c6x_output_file_unwind): Don't rely on dwarf2 code
+ enabling unwind tables.
+ (c6x_debug_unwind_info): New function.
+ (TARGET_ARM_EABI_UNWINDER): Define.
+ (TARGET_DEBUG_UNWIND_INFO): Define.
+ * config/c6x/c6x.h (DWARF_FRAME_RETURN_COLUMN): Define.
+ (TARGET_EXTRA_CFI_SECTION): Remove.
+ * config/c6x/t-c6x-elf (EXTRA_HEADERS): Set.
+ * ginclude/unwind-arm-common.h: New file.
+
+2011-09-13 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50358
+ * config/avr/predicates.md (const_1_to_6_operand): New predicate.
+ * config/avr/avr.md: (extend_s): New code attribute.
+ (mul_r_d): New code attribute.
+ (*maddqihi4, *umaddqihi4): New insns.
+ (*msubqihi4, *umsubqihi4): New insns.
+ (*usmaddqihi4, *sumaddqihi4): New insns.
+ (*usmsubqihi4, *susubdqihi4): New insns.
+ (*umaddqihi4.uconst, *maddqihi4.sconst): New insn-and-splits.
+ (*umsubqihi4.uconst, *msubqihi4.sconst): New insn-and-splits.
+ (*umsubqihi4.uconst.ashift): New insn-and-split.
+ (*msubqihi4.sconst.ashift): New insn-and-split.
+ (*sumaddqihi4.uconst): New insn-and-split.
+ (*sumsubqihi4.uconst): New insn-and-split.
+ * config/avr/avr.c (avr_rtx_costs): Report costs of above in case
+ PLUS:HI and MINUS:HI.
+
+2011-09-13 Revital Eres <revital.eres@linaro.org>
+
+ modulo-sched.c (remove_node_from_ps): Return void instead of bool.
+ (optimize_sc): Adjust call to remove_node_from_ps.
+ (sms_schedule): Add print info.
+
+2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * rtl.c (copy_rtx): Do not handle frame_related, jump or call
+ flags specially.
+
+2011-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/50010
+ * dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between
+ NOTE_INSN_CFI notes, with the exception of
+ NOTE_INSN_SWITCH_TEXT_SECTIONS.
+
+2011-09-12 Bernd Schmidt <bernds@codesourcery.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_epilogue): New structure.
+ (mips16e_save_restore_reg): Queue REG_CFA_RESTORE notes when
+ restoring registers.
+ (mips_epilogue_emit_cfa_restores): New function.
+ (mips_epilogue_set_cfa): Likewise.
+ (mips_restore_reg): Queue REG_CFA_RESTORE notes. When restoring
+ the current CFA register from the stack, redefine the CFA in terms
+ of the stack pointer.
+ (mips_expand_epilogue): Set up mips_epilogue. Attach CFA information
+ to the epilogue instructions.
+
+2011-09-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips16e_save_restore_reg): Add a reg_parm_p
+ argument.
+ (mips16e_build_save_restore): Update accordingly.
+
+2011-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/50212
+ * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ Skip also lps with NULL landing_pad or non-LABEL_P landing_pad.
+
+ PR debug/50299
+ * calls.c (load_register_parameters): Use use_reg_mode instead
+ of use_reg when adding a single register CALL_INSN_FUNCTION_USAGE
+ entry.
+ (expand_call): Set EXPR_LIST mode to TYPE_MODE of the argument
+ for stack CALL_INSN_FUNCTION_USAGE uses.
+ * expr.h (use_reg_mode): New prototype.
+ (use_reg): Changed into inline around use_reg_mode.
+ * expr.c (use_reg): Renamed to...
+ (use_reg_mode): ... this. Added MODE argument, set EXPR_LIST
+ mode to that mode instead of VOIDmode.
+ * var-tracking.c (prepare_call_arguments): Don't track parameters
+ whose EXPR_LIST mode is VOIDmode, BLKmode or X mode isn't convertible
+ to it using lowpart_subreg. Convert VALUE and REG/MEM to the
+ EXPR_LIST mode.
+
+2011-09-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/43746
+ * config/avr/avr.c (AVR_SECTION_PROGMEM): New Define.
+ (progmem_section): New Variable.
+ (avr_asm_init_sections): Initialize it.
+ (TARGET_ASM_SELECT_SECTION): Define to...
+ (avr_asm_select_section): ... this new Function.
+ (avr_replace_prefix): New Function.
+ (avr_asm_function_rodata_section): Use it.
+ (avr_insert_attributes): Don't add section attribute for PROGMEM.
+ (avr_section_type_flags): Use avr_progmem_p instead of section
+ name to detect if object is in PROGMEM.
+ (avr_asm_named_section): Set section name prefix for objects in
+ PROGMEM.
+
+2011-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/50352
+ * config/arm/arm.md (*push_fp_multi): Add % before %( and %) in the
+ sprintf format string.
+
+2011-09-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50343
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Check
+ that the reduction is over an SSA name before checking its definition.
+
+2011-09-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/cris/cris.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+
+2011-09-11 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.md: Use match_test rather than eq/ne symbol_ref
+ throughout file.
+ * config/mips/sb1.md: Likewise.
+ * config/mips/predicates.md: Replace (match_test "!...")
+ with (not (match_test "..."))
+ * config/mips/constraints.md: Likewise.
+
+2011-09-09 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm-cores.def (generic-armv7-a): New architecture.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/arm.c (arm_file_start): Output .arch directive when
+ user passes -mcpu=generic-*.
+ (arm_issue_rate): Add genericv7a support.
+ * config/arm/arm.h (EXTRA_SPECS): Add asm_cpu_spec.
+ (ASM_CPU_SPEC): New define.
+ * config/arm/elf.h (ASM_SPEC): Use %(asm_cpu_spec).
+ * config/arm/semi.h (ASM_SPEC): Likewise.
+ * doc/invoke.texi (ARM Options): Document -mcpu=generic-*
+ and -mtune=generic-*.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50328
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Allow one
+ constant or default-def operand.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-pre.c (create_expression_by_pieces): Fold the
+ last statement.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator
+ instead of a statement.
+ * gimple-fold.c (fold_stmt_inplace): Likewise.
+ * sese.c (graphite_copy_stmts_from_block): Adjust.
+ * tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_into_comparison): Use
+ fold_stmt.
+ (forward_propagate_addr_into_variable_array_index): Likewise.
+ (forward_propagate_addr_expr_1): adjust.
+ (associate_plusminus): Likewise.
+ (ssa_forward_propagate_and_combine): Likewise.
+ * tree-ssa-mathopts.c (replace_reciprocal): Adjust.
+ (execute_cse_reciprocals): Likewise.
+ * tree-ssa.c (insert_debug_temp_for_var_def): Adjust.
+
+2011-09-09 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_split_and_operand_count):
+ Return a positive value to indicate that the bits at the
+ bottom of the register should be cleared.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-operands.c (swap_tree_operands): Always adjust
+ existing operand positions.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50333
+ * tree-data-ref.c (split_constant_offset): Do not try to handle
+ ternary ops.
+
+2011-09-08 Andrew Stubbs <ams@codesourcery.com>
+
+ PR tree-optimization/50318
+ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Correct
+ typo in use of mult_rhs1 and mult_rhs2.
+
+2011-09-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (standard_sse_constant_p): Handle AVX2 modes.
+ (standard_sse_constant_opcode) <case 2>: Change vpcmpeqd template.
+
+2011-09-08 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/arm/arm.md (push_multi): Emit predicates.
+ (push_fp_multi): Likewise.
+ * config/arm/arm.c (vfp_output_fstmd): Likewise.
+
+2011-09-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/33255 - Support -Wunused-local-typedefs warning
+ * c-decl.c (lookup_name): Use the new maybe_record_typedef_use.
+ (pushdecl): Use the new record_locally_defined_typedef.
+ (store_parm_decls): Allocate cfun->language.
+ (finish_function): Use the new maybe_warn_unused_local_typedefs,
+ and free cfun->language.
+ (c_push_function_context): Allocate cfun->language here only if needed.
+ (c_pop_function_context): Likewise, mark cfun->language
+ for collection only when it should be done.
+ * c-common.c (handle_used_attribute): Don't ignore TYPE_DECL nodes.
+ * c-typeck.c (c_expr_sizeof_type, c_cast_expr): Use the new
+ maybe_record_local_typedef_use.
+ * doc/invoke.texi: Update documentation for
+ -Wunused-local-typedefs.
+
+2011-09-08 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ * config/i386/i386-protos.h (ix86_lea_outperforms): New.
+ (ix86_avoid_lea_for_add): Likewise.
+ (ix86_avoid_lea_for_addr): Likewise.
+ (ix86_split_lea_for_addr): Likewise.
+
+ * config/i386/i386.c (LEA_MAX_STALL): New.
+ (increase_distance): Likewise.
+ (insn_defines_reg): Likewise.
+ (insn_uses_reg_mem): Likewise.
+ (distance_non_agu_define_in_bb): Likewise.
+ (distance_agu_use_in_bb): Likewise.
+ (ix86_lea_outperforms): Likewise.
+ (ix86_ok_to_clobber_flags): Likewise.
+ (ix86_avoid_lea_for_add): Likewise.
+ (ix86_avoid_lea_for_addr): Likewise.
+ (ix86_split_lea_for_addr): Likewise.
+ (distance_non_agu_define): Search in pred BBs added.
+ (distance_agu_use): Search in succ BBs added.
+ (IX86_LEA_PRIORITY): Value changed from 2 to 0.
+ (LEA_SEARCH_THRESHOLD): Now depends on LEA_MAX_STALL.
+ (ix86_lea_for_add_ok): Use ix86_lea_outperforms to make decision.
+
+ * config/i386/i386.md: Split added to transform non destructive
+ add into move and add.
+ (lea_1): transformed into insn_and_split to avoid AGU stalls.
+ (lea<mode>_2): Likewise.
+
+2011-09-08 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50287
+ * ipa-split.c (split_function): Do not create SSA names for
+ non-gimple-registers.
+
+2011-09-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/19831
+ * tree-ssa-dce.c (mark_all_reaching_defs_necessary_1): Also
+ skip builtins with vdefs that do not really store something.
+ (propagate_necessity): For calls to free that we can associate
+ with an allocation function do not mark the freed pointer
+ definition necessary.
+ (eliminate_unnecessary_stmts): Remove a call to free if
+ the associated call to an allocation function is not necessary.
+
+2011-09-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/19831
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Do not mark
+ allocation functions as necessary.
+
+2011-09-08 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin-driver.c (darwin_find_version_from_kernel): New routine
+ cut from ...
+ (darwin_default_min_version): Amended to provide defaults
+ for the cross directory case.
+ (darwin_driver_init): call darwin_default_min_version unconditionally.
+ * config/darwin.h (DEF_MIN_OSX_VERSION): New.
+ * config/darwin9.h: Likewise.
+ * config/darwin10.h: Likewise.
+ * config/rs6000/darwin7.h: Likewise.
+
+2011-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50310
+ * config/i386/i386.c (ix86_prepare_sse_fp_compare_args): Return
+ code early if TARGET_AVX.
+ (ix86_expand_fp_vcond): Handle LTGT and UNEQ.
+
+2011-09-07 Jakub Jelinek <jakub@redhat.com>
+
+ * config/i386/sse.md (sseinsnmode): Remove 32-byte integer vector
+ duplicates.
+
+ PR target/50310
+ * config/i386/sse.md (*andnot<mode>3, *<code><mode>3): Fix up
+ "mode" attribute computation.
+
+2011-09-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ * regrename.c (struct du_head): Make nregs signed.
+ (closed_chains): Remove.
+ (create_new_chain): Return the new chain.
+ (chain_from_id): New static function.
+ (dump_def_use_chain): Change argument to be an int, indicating
+ the first ID to print. All callers changed.
+ (merge_overlapping_regs): Use chain_from_id. Assert that
+ chains don't conflict with themselves.
+ (rename_chains): Take no argument. Iterate over id_to_chain
+ rather to find chains to rename. Clear tick before the main loop.
+ (struct incoming_reg_info): New struct.
+ (struct bb_rename_info): New struct.
+ (init_rename_info, set_incoming_from_chain, merge_chains): New
+ static functions.
+ (regrename_analyze): New static function, broken out of
+ regrename_optimize. Record and make use of open chain information
+ at basic block boundaries, and merge chains where possible.
+ (scan_rtx_reg): Make this_nregs signed. Don't update
+ closed_chains.
+ (build_def_use): Return a bool to indicate success. All callers
+ changed. Don't initialize global data here.
+ (regrename_optimize): Move most code out of here into
+ regrename_analyze.
+ * regs.h (add_range_to_hard_reg_set, remove_range_from_hard_reg_set,
+ range_overlaps_hard_reg_set_p, range_in_hard_reg_set_p): New
+ static inline functions.
+ * vec.h (FOR_EACH_VEC_ELT_FROM): New macro.
+
+ * bb-reorder.c (insert_section_boundary_note): Don't check
+ optimize_function_for_speed_p.
+ (gate_handle_partition_blocks): Do it here instead.
+ (gate_handle_reorder_blocks): Move preliminary checks here ...
+ (rest_of_handle_reorder_blocks): ... from here.
+
+2011-09-07 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/50301
+ * ipa-cp.c (find_more_values_for_callers_subset): Check jump
+ function index bounds.
+ (perhaps_add_new_callers): Likewise.
+
+2011-09-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/49911
+ * tree-sra.c (analyze_access_subtree): Change type of to-be-replaced
+ enumerations to the corresponding plain integer type.
+
+2011-09-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50319
+ * tree-if-conv.c (set_bb_predicate): Assert we only set
+ canonical predicates.
+ (add_to_predicate_list): Simplify. Allow TRUTH_NOT_EXPR
+ around canonical predicates.
+ (predicate_bbs): Do not re-gimplify already canonical
+ predicates. Properly unshare them though.
+ (find_phi_replacement_condition): Simplify.
+
+2011-09-07 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/49030
+ * config/arm/arm-protos.h (maybe_get_arm_condition_code): Declare.
+ * config/arm/arm.c (maybe_get_arm_condition_code): New function,
+ reusing the old code from get_arm_condition_code. Return ARM_NV
+ for invalid comparison codes.
+ (get_arm_condition_code): Redefine in terms of
+ maybe_get_arm_condition_code.
+ * config/arm/predicates.md (arm_comparison_operator): Use
+ maybe_get_arm_condition_code.
+
+2011-09-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_gimple_cond):
+ Canonicalize negated predicates by swapping edges.
+ (forward_propagate_into_cond): Likewise.
+
+2011-09-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50213
+ * tree-flow.h (simple_iv_increment_p): Declare.
+ * tree-ssa-dom.c (simple_iv_increment_p): Export. Also handle
+ POINTER_PLUS_EXPR.
+ * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Do
+ not propagate simple IV counter increments.
+
+2011-09-07 Eric Botcazou <ebotcazou@adacore.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/rs6000/rs6000.c (compute_save_world_info): Test
+ cfun->has_nonlocal_label to determine if the out-of-line save
+ world call may be used.
+
+2011-09-07 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_insert_setlb_lcc): Set the jump
+ label on the parallel part of the insn.
+
+2011-09-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/50191
+ * dwarf2out.c (mem_loc_descriptor) <case MEM>: Try
+ avoid_constant_pool_reference first instead of last.
+
+2011-09-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * doc/configfiles.texi (Configuration Files): Update documentation
+ about tm_p.h and remove FIXME comment.
+
+2011-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_function_value_regno_p): Use AX_REG.
+ (function_value_32): Do not check TARGET_MMX, TARGET_SSE or TARGET_AVX.
+
+2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin10.h Remove duplicate LIB_SPEC.
+
+2011-09-06 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ PR middle-end/44382
+ * target.def (reassociation_width): New hook.
+
+ * doc/tm.texi.in (reassociation_width): Likewise.
+
+ * doc/tm.texi (reassociation_width): Likewise.
+
+ * doc/invoke.texi (tree-reassoc-width): New param documented.
+
+ * hooks.h (hook_int_uint_mode_1): New default hook.
+
+ * hooks.c (hook_int_uint_mode_1): Likewise.
+
+ * config/i386/i386.h (ix86_tune_indices): Add
+ X86_TUNE_REASSOC_INT_TO_PARALLEL and X86_TUNE_REASSOC_FP_TO_PARALLEL.
+
+ (TARGET_REASSOC_INT_TO_PARALLEL): New.
+ (TARGET_REASSOC_FP_TO_PARALLEL): Likewise.
+
+ * config/i386/i386.c (initial_ix86_tune_features): Add
+ X86_TUNE_REASSOC_INT_TO_PARALLEL and X86_TUNE_REASSOC_FP_TO_PARALLEL.
+
+ (ix86_reassociation_width): New function.
+
+ * params.def (PARAM_TREE_REASSOC_WIDTH): New param added.
+
+ * tree-ssa-reassoc.c (get_required_cycles): New function.
+ (get_reassociation_width): Likewise.
+ (swap_ops_for_binary_stmt): Likewise.
+ (rewrite_expr_tree_parallel): Likewise.
+
+ (rewrite_expr_tree): Refactored. Part of code moved into
+ swap_ops_for_binary_stmt.
+
+ (reassociate_bb): Now checks reassociation width to be used and
+ call rewrite_expr_tree_parallel instead of rewrite_expr_tree if needed.
+
+2011-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47025
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): BUILT_IN_VA_END
+ uses nothing.
+ (call_may_clobber_ref_p_1): BUILT_IN_VA_END is a barrier like
+ BUILT_IN_FREE.
+ (stmt_kills_ref_p_1): BUILT_IN_VA_END kills what its argument
+ definitely points to.
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+ BUILT_IN_VA_START doesn't let its va_list argument escape.
+ * tree-ssa-dce.c (propagate_necessity): BUILT_IN_VA_END does
+ not make any previous stores necessary.
+
+2011-09-06 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline.h (struct inline_summary): Move versionable flag...
+ * cgraph.h (struct cgraph_local_info): ...here
+ * ipa-cp.c (determine_versionability): Use the new versionable flag.
+ (determine_versionability): Likewise.
+ (ipcp_versionable_function_p): Likewise.
+ (ipcp_generate_summary): Likewise.
+ * ipa-inline-analysis.c (dump_inline_summary): Do not dump the
+ versionable flag.
+ (compute_inline_parameters): Do not clear the versionable flag.
+ (inline_read_section): Do not stream the versionable flag.
+ (inline_write_summary): Likewise.
+ * lto-cgraph.c (lto_output_node): Stream the versionable flag.
+ (input_overwrite_node): Likewise.
+
+2011-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48149
+ * tree-ssa-sccvn.c (vn_get_expr_for): Simplify. Fix tuplification bug.
+ (vn_valueize): Move earlier.
+ (valueize_expr): Use vn_valueize.
+ (simplify_binary_expression): Simplify, also combine COMPLEX_EXPR
+ operands.
+ (simplify_unary_expression): Simplify.
+
+2011-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48317
+ * tree-ssa-sccvn.h (struct vn_nary_op_s): Make op a true
+ trailing array.
+ (sizeof_vn_nary_op): New inline function.
+ (vn_nary_op_lookup_pieces): Adjust.
+ (vn_nary_op_insert_pieces): Likewise.
+ * tree-ssa-sccvn.c (vn_nary_op_eq): Also compare the length.
+ (init_vn_nary_op_from_pieces): Adjust signature. Deal with
+ any number of operands.
+ (vn_nary_length_from_stmt): New function.
+ (init_vn_nary_op_from_stmt): Adjust for CONSTRUCTOR handling.
+ (vn_nary_op_lookup_pieces): Adjust signature and allocate properly
+ sized temporary.
+ (vn_nary_op_lookup): Likewise.
+ (vn_nary_op_lookup_stmt): Likewise.
+ (vn_nary_op_insert_into): Likewise.
+ (vn_nary_op_insert_stmt): Likewise.
+ (visit_use): Handle CONSTRUCTOR as nary.
+ * tree-ssa-pre.c (phi_translate_1): Adjust.
+ (create_expression_by_pieces): Likewise.
+ (compute_avail): Likewise.
+
+2011-09-06 Ira Rosen <ira.rosen@linaro.org>
+
+ * config/arm/arm.c (arm_preferred_simd_mode): Check
+ TARGET_NEON_VECTORIZE_DOUBLE instead of
+ TARGET_NEON_VECTORIZE_QUAD.
+ (arm_autovectorize_vector_sizes): Likewise.
+ * config/arm/arm.opt (mvectorize-with-neon-quad): Make inverse
+ mask of mvectorize-with-neon-double. Add RejectNegative.
+ (mvectorize-with-neon-double): New.
+
+2011-09-06 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (visit_use): CSE stmt pieces and simplify matching.
+
+2011-09-06 Tom de Vries <tom@codesourcery.com>
+
+ * recog.c (asm_labels_ok): New function.
+ (check_asm_operands): Use asm_labels_ok.
+
+2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/49606
+ * config/mips/mips.h (ABI_HAS_64BIT_SYMBOLS): Check Pmode.
+ (PMODE_INSN): New macro.
+ * config/mips/mips.c (gen_load_const_gp): Use PMODE_INSN.
+ (mips_got_load, mips_expand_synci_loop): Likewise.
+ (mips_save_gp_to_cprestore_slot): Handle SImode and DImode
+ cprestore patterns.
+ (mips_emit_loadgp): Use PMODE_INSN. Handle SImode and DImode
+ copygp_mips16 patterns.
+ (mips_expand_prologue): Handle SImode and DImode potential_cprestore
+ and use_cprestore patterns.
+ (mips_override_options): Check for incompatible -mabi and -mlong
+ combinations.
+ * config/mips/mips.md (unspec_got<mode>): Rename to...
+ (unspec_got_<mode>): ...this.
+ (copygp_mips16): Use the Pmode iterator.
+ (potential_cprestore, cprestore, use_cprestore): Likewise.
+ (clear_cache, indirect_jump): Use PMODE_INSN.
+ (indirect_jump<mode>): Rename to...
+ (indirect_jump_<mode>): ...this.
+ (tablejump): Use PMODE_INSN.
+ (tablejump<mode>): Rename to...
+ (tablejump_<mode>): ...this.
+ (exception_receiver): Handle restore_gp_si and restore_gp_di.
+ (restore_gp): Use the Pmode iterator.
+ * config/mips/mips-dsp.md (mips_lbux, mips_lhx, mips_lwx): Use
+ PMODE_INSN.
+
+2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_gimplify_va_arg_expr): Unshare off.
+ Fix the type of the BIT_AND_EXPR.
+
+2011-09-05 David S. Miller <davem@davemloft.net>
+
+ * config.host: Add driver-sparc.o and sparc/x-sparc on
+ native sparc*-*-linux* builds.
+ * config/sparc/driver-sparc.c: Correct Linux strings.
+ * config/sparc/linux.h: Add DRIVER_SELF_SPECS.
+ * config/sparc/linux64.h: Likewise.
+ * doc/invoke.texi: Document that Linux also supports
+ -mcpu=native and -mtune=native on sparc.
+
+ * config/sparc/sparc-opts.h (PROCESSOR_NIAGARA3,
+ PROCESSOR_NIAGARA4): New.
+ * config/sparc/sparc.opt: Handle new processor types.
+ * config/sparc/sparc.md: Add to "cpu" attribute.
+ * config/sparc/sparc.h (TARGET_CPU_niagara3,
+ TARGET_CPU_niagara4): New, treat as niagara2.
+ * config/sparc/linux64.h: Handle niagara3 and niagara4 like niagara2.
+ * config/sparc/sol2.h: Likewise.
+ * config/sparc/niagara2.md: Schedule niagara3 like niagara2.
+ * config/sparc/sparc.c (sparc_option_override): Add
+ niagara3 and niagara4 handling.
+ (sparc32_initialize_trampoline): Likewise.
+ (sparc64_initialize_trampoline): Likewise.
+ (sparc_use_sched_lookahead): Likewise.
+ (sparc_issue_rate): Likewise.
+ (sparc_register_move_cost): Likewise.
+ * config/sparc/driver-sparc.c (cpu_names): Use niagara3
+ and niagara4 as appropriate.
+ * doc/invoke.texi: Document new processor types.
+ * config.gcc: Recognize niagara3 and niagara4 in --with-cpu
+ and --with-tune options.
+
+ * config/sparc/sol2-64.h: Move ...
+ * config/sparc/default-64.h: ... to here. Update comment.
+ * config.gcc: Update Solaris sparc to use default-64.h, also
+ prefix this header into the list on sparc64-*-linux.
+ * config/sparc/linux64.h (TARGET_DEFAULT): Only override if
+ TARGET_64BIT_DEFAULT is defined. Remove commented out reference
+ to MASK_HARD_QUAD.
+
+2011-09-05 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50289
+ * config/avr/avr.c (sequent_regs_live): Don't recognize sequences
+ that contain global register variable.
+
+2011-09-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (replace_uses_by): Use fold_stmt, not fold_stmt_inplace.
+
+2011-09-05 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (layout_type): Use size_binop for array size
+ calculations.
+
+2011-09-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (progmem_section): Remove Declaration.
+ * config/avr/avr.c (progmem_section): Make static and rename to
+ progmem_swtable_section.
+ (avr_output_addr_vec_elt): No need to switch sections.
+ (avr_asm_init_sections): Use output_section_asm_op as section
+ callback for progmem_swtable_section.
+ (avr_output_progmem_section_asm_op): Remove Function.
+ (TARGET_ASM_FUNCTION_RODATA_SECTION): New Define.
+ (avr_asm_function_rodata_section): New static Function.
+ * config/avr/elf.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Output
+ alignment 2**1 for jump tables.
+
+2011-09-04 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (set_cond_stmt_execution_predicate): Check that
+ parameter is SSA name.
+
+2011-09-04 Richard Guenther <rguenther@suse.de>
+
+ Revert
+ 2011-08-31 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
+ special-casing.
+
+2011-09-04 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR debug/49901
+ * config/darwin.h (DEBUG_MACRO_SECTION): New macro.
+
+2011-09-04 Jakub Jelinek <jakub@redhat.com>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50208
+ * tree-vect-patterns.c (vect_handle_widen_mult_by_const): Add an
+ argument. Check that def_stmt is inside the loop.
+ (vect_recog_widen_mult_pattern): Update calls to
+ vect_handle_widen_mult_by_cons.
+ (vect_operation_fits_smaller_type): Check that def_stmt is
+ inside the loop.
+
+2011-09-04 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.c (vect_print_dump_info): Print line
+ number when dumping to a file.
+ (vectorize_loops): Add new messages to dump file.
+
+2011-09-03 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (ipa_jump_func_t): New typedef.
+ (struct ipa_edge_args): Removed field argument_count, field
+ jump_functions turned into a vector.
+ (ipa_set_cs_argument_count): Removed.
+ (ipa_get_cs_argument_count): Updated to work on vectors.
+ (ipa_get_ith_jump_func): Likewise.
+ * ipa-prop.c (ipa_count_arguments): Removed.
+ (compute_scalar_jump_functions): Use ipa_get_ith_jump_func to access
+ jump functions. Update caller.
+ (compute_pass_through_member_ptrs): Likewise.
+ (compute_cst_member_ptr_arguments): Likewise.
+ (ipa_compute_jump_functions_for_edge): Get number of arguments from
+ the statement, allocate vector.
+ (ipa_compute_jump_functions): Do not call ipa_count_arguments.
+ (duplicate_ipa_jump_func_array): Removed.
+ (ipa_edge_duplication_hook): Use VEC_copy, do not copy argument count.
+ (ipa_read_node_info): Allocate vector.
+
+2011-09-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/50232
+ * config/pa/pa.md (return): Define "return" insn pattern.
+ (epilogue): Use it when no epilogue is needed.
+ * config/pa/pa.c (pa_can_use_return_insn): New function.
+ * config/pa/pa-protos.h (pa_can_use_return_insn): Declare.
+
+2011-09-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgexpand.c (add_stack_var): Assert that the alignment is not zero.
+ * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Revert latest change.
+ Force at least BITS_PER_UNIT alignment on the new variable.
+
+2011-09-02 Gary Funck <gary@intrepid.com>
+
+ * opts.c (print_specific_help): Fix off-by-one compare in
+ assertion check.
+ * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
+ CL_TARGET, CL_COMMON, CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED):
+ Increase by +5 to allow for more languages.
+ * optc-gen.awk: Generate #if that ensures that the number of
+ languages is within the implementation-defined limit.
+
+2011-09-02 Michael Matz <matz@suse.de>
+
+ PR middle-end/50260
+ * ipa-split.c (split_function): Call add_referenced_var.
+
+ * tree-ssa-phiopt.c (cond_store_replacement): Don't call get_var_ann.
+ (cond_if_else_store_replacement_1): Ditto.
+ * tree-ssa-pre.c (get_representative_for): Ditto.
+ (create_expression_by_pieces): Ditto.
+ (insert_into_preds_of_block): Ditto.
+ * tree-sra.c (create_access_replacement): Ditto.
+ (get_replaced_param_substitute): Ditto.
+
+2011-09-02 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.md (collapse-ndfa, no-comb-vect): New
+ automata_options.
+ (d1, l1, s1, m1, d2, l2, s2, m2): Changed to define_query_cpu_unit.
+ (l1w, s1w, l2w, s2w): Define in the main automaton.
+ (fps1, fpl1, adddps1, adddpl1, fps2, fpl2, adddps2, adddpl2): New
+ units.
+ * config/c6x/c6x.c (c6x_sched_insn_info): Add unit_mask member.
+ (c6x_unit_names): Add the new units.
+ (c6x_unit_codes): New static array.
+ (UNIT_QID_D1, UNIT_QID_L1, UNIT_QID_S1, UNIT_QID_M1, UNIT_QID_FPS1,
+ UNIT_QID_FPL1, UNIT_QID_ADDDPS1, UNIT_QID_ADDDPL1,
+ UNIT_QID_SIDE_OFFSET): New macros.
+ (RESERVATION_S2): Adjust value.
+ (c6x_option_override): Compute c6x_unit_codes.
+ (assign_reservations): Take the unit_mask of the last instruction
+ into account. Detect floating point reservations by looking for
+ the new units. Don't assign reservations if the field is already
+ nonzero.
+ (struct c6x_sched_context): Add member prev_cycle_state_ctx.
+ (init_sched_state): Initialize it.
+ (c6x_clear_sched_context): Free it.
+ (insn_set_clock): Clear reservation.
+ (prev_cycle_state): New static variable.
+ (c6x_init_sched_context): Save it.
+ (c6x_sched_init): Allocate space for it and clear it.
+ (c6x_sched_dfa_pre_cycle_insn): New static function.
+ (c6x_dfa_new_cycle): Save state at the start of a new cycle.
+ (c6x_variable_issue): Only record units in the unit_mask that
+ were not set at the start of the cycle.
+ (c6x_variable_issue): Compute and store the unit_mask from the
+ current state.
+ (reorg_split_calls): Ensure the new information remains correct.
+ (TARGET_SCHED_DFA_NEW_CYCLE, TARGET_SCHED_CLEAR_SCHED_CONTEXT,
+ TARGET_SCHED_DFA_PRE_CYCLE_INSN): Define.
+ * config/c6x/c6x.h (CPU_UNITS_QUERY): Define.
+ * config/c6x/c6x-sched.md.in (fp4_ls_N__CROSS_, adddp_ls_N__CROSS_):
+ Add special reservations.
+ * config/c6x/c6x-sched.md: Regenerate.
+
+2011-09-02 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h (ipa_node_params): Removed fields
+ called_with_var_arguments and node_versionable.
+ (ipa_set_called_with_variable_arg): Removed.
+ (ipa_is_called_with_var_arguments): Likewise.
+ * ipa-cp.c (ipa_get_lattice): Fixed index check in an assert.
+ (determine_versionability): Do not check for type attributes and va
+ builtins. Record versionability into inline summary.
+ (initialize_node_lattices): Do not check
+ ipa_is_called_with_var_arguments.
+ (propagate_constants_accross_call): Likewise, ignore arguments we do
+ not have PARM_DECLs for, set variable flag for parameters that were
+ not passed a value.
+ (create_specialized_node): Dump info that we cannot change signature.
+ * ipa-prop.c (ipa_compute_jump_functions): Do not care about variable
+ number of arguments.
+ (ipa_make_edge_direct_to_target): Likewise.
+ (ipa_update_after_lto_read): Likewise.
+ (ipa_node_duplication_hook): Do not copy called_with_var_arguments flag.
+ * tree-inline.c (copy_arguments_for_versioning): Copy PARM_DECLs if
+ they were remapped.
+
+2011-09-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/27460
+ PR middle-end/29269
+ * doc/md.texi (vcond): Document.
+ * genopinit.c (optabs): Turn vcond{,u}_optab into a conversion
+ optab with two modes.
+ * optabs.h (enum convert_optab_index): Add COI_vcond, COI_vcondu.
+ (enum direct_optab_index): Remove DOI_vcond, DOI_vcondu.
+ (vcond_optab): Adjust.
+ (vcondu_optab): Likewise.
+ (expand_vec_cond_expr_p): Adjust prototype.
+ * optabs.c (get_vcond_icode): Adjust.
+ (expand_vec_cond_expr_p): Likewise.
+ (expand_vec_cond_expr): Likewise.
+ * tree-vect-stmts.c (vect_is_simple_cond): Return the comparison
+ vector type.
+ (vectorizable_condition): Allow differing types for comparison
+ and result.
+ * config/i386/i386.c (ix86_expand_sse_cmp): Use proper mode
+ for the comparison.
+ * config/i386/sse.md (vcond<mode>): Split to
+ vcond<V_256:mode><VF_256:mode>, vcond<V_128:mode><VF_128:mode>,
+ vcond<V_128:mode><VI124_128:mode> and
+ vcondu<V_128:mode><VI124_128:mode>.
+ (vcondv2di): Change to vcond<VI8F_128:mode>v2di.
+ (vconduv2di): Likewise.
+ * config/arm/neon.md (vcond<mode>): Change to vcond*<mode><mode>.
+ (vcondu<mode>): Likewise.
+ * config/ia64/vect.md (vcond<mode>): Likewise.
+ (vcondu<mode>): Likewise.
+ (vcondv2sf): Likewise.
+ * config/mips/mips-ps-3d.md (vcondv2sf): Likewise.
+ * config/rs6000/paired.md (vcondv2sf): Likewise.
+ * config/rs6000/vector.md (vcond<mode>): Likewise.
+ (vcondu<mode>): Likewise.
+ * config/spu/spu.md (vcond<mode>): Likewise.
+ (vcondu<mode>): Likewise.
+
+2011-09-02 Richard Guenther <rguenther@suse.de>
+
+ * pretty-print.h (pp_unsigned_wide_integer): New.
+ * tree-pretty-print.c (dump_generic_node): Print unsigned
+ host-wide-int fitting INTEGER_CSTs with pp_unsigned_wide_integer.
+
+2011-09-02 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/49987
+ * config/rs6000/rs6000.c (paired_expand_vector_init): Check for
+ valid CONST_VECTOR operands.
+ (rs6000_expand_vector_init): Likewise.
+
+2011-09-02 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (cgraph_indirect_call_info): Removed field thunk_delta.
+ * gimple-fold.c (gimple_get_virt_method_for_binfo): Rewritten to use
+ BINFO_VTABLE. Parameter delta removed, all callers updated.
+ * tree.c (free_lang_data_in_binfo): Clear BINFO_VIRTUALs instead
+ BINFO_VTABLE.
+ * cgraph.c (cgraph_make_edge_direct): Removed parameter delta, updated
+ all calls.
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Removed
+ handling of thunk_delta.
+ * ipa-cp.c (get_indirect_edge_target): Removed parameter delta.
+ (devirtualization_time_bonus): Do not handle thunk deltas.
+ (ipcp_discover_new_direct_edges): Likewise.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
+ (try_make_edge_direct_simple_call): Likewise.
+ (try_make_edge_direct_virtual_call): Likewise.
+ * lto-cgraph.c (output_cgraph_opt_summary_p): Likewise. Mark
+ parameter set as unused.
+ (output_edge_opt_summary): Likewise. Mark both parameters as unused.
+ * lto-cgraph.c (output_cgraph_opt_summary_p): Likewise. Mark
+ parameter set as unused.
+ (output_edge_opt_summary): Likewise. Mark both parameters as unused.
+ (input_edge_opt_summary): Likewise.
+ * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not stream
+ BINFO_VIRTUALS at all.
+ * lto-streamer-in.c (lto_input_ts_binfo_tree_pointers): Likewise.
+
+2011-09-02 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-ccp.c (fold_builtin_alloca_for_var): Do not fold alloca (0).
+ (ccp_fold_stmt): Continue replacing args when folding alloca fails.
+
+2011-08-31 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (expand_expr_real_2): Move COND_EXPR and VEC_COND_EXPR
+ handling here, from ...
+ (expand_expr_real_1): ... here.
+ * gimple-pretty-print.c (dump_ternary_rhs): Handle COND_EXPR
+ and VEC_COND_EXPR.
+ * gimple.c (gimple_rhs_class_table): Make COND_EXPR and VEC_COND_EXPR
+ a GIMPLE_TERNARY_RHS.
+ * tree-cfg.c (verify_gimple_assign_ternary): Handle COND_EXPR
+ and VEC_COND_EXPR here ...
+ (verify_gimple_assign_single): ... not here.
+ * gimple-fold.c (fold_gimple_assign): Move COND_EXPR folding.
+ * tree-object-size.c (cond_expr_object_size): Adjust.
+ (collect_object_sizes_for): Likewise.
+ * tree-scalar-evolution.c (interpret_expr): Don't handle ternary RHSs.
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Fix and simplify.
+ (ssa_forward_propagate_and_combine): Adjust.
+ * tree-ssa-loop-im.c (move_computations_stmt): Build the COND_EXPR
+ as ternary.
+ * tree-ssa-threadedge.c (fold_assignment_stmt): Adjust.
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Likewise.
+ * tree-vect-stmt.c (vectorizable_condition): Likewise.
+ * tree-vrp.c (extract_range_from_cond_expr): Likewise.
+ (extract_range_from_assignment): Likewise.
+
+2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/i386/i386.md: Use (match_test ...) for attribute tests.
+ * config/i386/mmx.md: Likewise.
+ * config/i386/sse.md: Likewise.
+ * config/i386/predicates.md (call_insn_operand): Use
+ (not (match_test "...")) instead of (match_test "!...")
+ * config/i386/constraints.md (w): Likewise.
+
+2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/md.texi: Describe the use of match_tests in attribute tests.
+ * rtl.def (MATCH_TEST): Update commentary.
+ * genattrtab.c (attr_copy_rtx, check_attr_test, clear_struct_flag)
+ (write_test_expr, walk_attr_value): Handle MATCH_TEST.
+
+2011-08-31 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * genattrtab.c (attr_rtx_1): Hash SYMBOL_REFs.
+ (attr_string): Use copy_md_ptr_loc.
+
+2011-08-31 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/49886
+ * ipa-inline-analysis.c (compute_inline_parameters): Set
+ can_change_signature of noes with typde attributes.
+ * ipa-split.c (split_function): Do not skip any arguments if
+ can_change_signature is set.
+
+2011-08-31 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Alias
+ check removed.
+
+2011-08-31 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (extract_muldiv_1): Remove bogus TYPE_IS_SIZETYPE
+ special-casing.
+
+2011-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ * doc/generic.texi (Types for C++): CP_TYPE_QUALS -> cp_type_quals.
+
+2011-08-31 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * Makefile.in (tree-ssa-ccp.o): Add $(PARAMS_H) to rule.
+ * tree-ssa-ccp.c (params.h): Include.
+ (fold_builtin_alloca_for_var): New function.
+ (ccp_fold_stmt): Use fold_builtin_alloca_for_var.
+
+2011-08-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_valid_target_attribute_inner_p):
+ Handle FMA option.
+
+2011-08-30 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (optimal_immediate_sequence_1): Make b1, b2,
+ b3 and b4 unsigned.
+
+2011-08-30 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (arm_gen_constant): Set can_negate correctly
+ when code is SET.
+
+2011-08-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48571
+ * gimple.h (maybe_fold_offset_to_address): Remove.
+ (maybe_fold_offset_to_reference): Likewise.
+ (maybe_fold_stmt_addition): Likewise.
+ (may_propagate_address_into_dereference): Likewise.
+ * tree-inline.c (remap_gimple_op_r): Do not reconstruct
+ array references.
+ * gimple-fold.c (canonicalize_constructor_val): Likewise.
+ Canonicalize invariant POINTER_PLUS_EXPRs to invariant MEM_REF
+ addresses instead.
+ (may_propagate_address_into_dereference): Remove.
+ (maybe_fold_offset_to_array_ref): Likewise.
+ (maybe_fold_offset_to_reference): Likewise.
+ (maybe_fold_offset_to_address): Likewise.
+ (maybe_fold_stmt_addition): Likewise.
+ (fold_gimple_assign): Do not reconstruct array references but
+ instead canonicalize invariant POINTER_PLUS_EXPRs to invariant
+ MEM_REF addresses.
+ (gimple_fold_stmt_to_constant_1): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+ * gimplify.c (gimplify_conversion): Likewise.
+ (gimplify_expr): Likewise.
+
+2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
+
+ * config/i386/fmaintrin.h: New.
+ * config.gcc: Add fmaintrin.h.
+ * config/i386/i386.c
+ (enum ix86_builtins) <IX86_BUILTIN_VFMADDSS3>: New.
+ <IX86_BUILTIN_VFMADDSD3>: Likewise.
+ * config/i386/sse.md (fmai_vmfmadd_<mode>): New.
+ (*fmai_fmadd_<mode>): Likewise.
+ (*fmai_fmsub_<mode>): Likewise.
+ (*fmai_fnmadd_<mode>): Likewise.
+ (*fmai_fnmsub_<mode>): Likewise.
+ * config/i386/immintrin.h: Add fmaintrin.h.
+
+2011-08-30 Bernd Schmidt <bernds@codesourcery.com>
+
+ * genautomata.c (NO_COMB_OPTION): New macro.
+ (no_comb_flag): New static variable.
+ (gen_automata_option): Handle NO_COMB_OPTION.
+ (comb_vect_p): False if no_comb_flag.
+ (add_vect): Move computation of min/max values. Return early if
+ no_comb_flag.
+ * doc/md.texi (automata_option): Document no-comb-vect.
+
+ * config/i386/i386.c (get_pc_thunk_name): Change prefix to
+ "__x86.get_pc_thunk".
+
+ * bb-reorder.c (insert_section_boundary_note): Only do it if
+ we reordered the blocks; i.e. not if !optimize_function_for_speed_p.
+
+2011-08-30 Christian Bruel <christian.bruel@st.com>
+
+ * coverage.c (coverage_init): Check flag_branch_probabilities instead of
+ flag_profile_use.
+
+2011-08-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (-msave-toc-indirect): Change default
+ to off. Document switch.
+ * doc/invoke.texi (-msave-toc-indirect): Ditto.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ * gthr-posix.h (__gthread_active_p): Do not use preprocessor
+ conditionals and comments inside macro arguments.
+
+2011-08-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+ Richard Guenther <rguenther@suse.de>
+
+ * tree.h (constant_boolean_node): Adjust prototype.
+ * fold-const.c (fold_convert_loc): Move aggregate conversion
+ leeway down.
+ (constant_boolean_node): Make value parameter boolean, add
+ vector type handling.
+ (fold_unary_loc): Use constant_boolean_node.
+ (fold_binary_loc): Preserve types properly when folding
+ COMPLEX_EXPR <__real x, __imag x>.
+ * gimplify.c (gimplify_expr): Handle vector comparison.
+ * tree.def (EQ_EXPR, ...): Document behavior on vector typed
+ comparison.
+ * tree-cfg.c (verify_gimple_comparison): Verify vector typed
+ comparisons.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48722
+ * emit-rtl.c (unshare_all_rtl_again): For CALL_INSNs,
+ reset_used_flags also in CALL_INSN_FUNCTION_USAGE.
+ (verify_rtl_sharing): Likewise and verify_rtx_sharing
+ in there too.
+ (unshare_all_rtl_in_chain): For CALL_INSNs
+ copy_rtx_if_shared also CALL_INSN_FUNCTION_USAGE.
+
+2011-08-29 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Set a location
+ on the built ADDR_EXPR.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/50215
+ * var-tracking.c (create_entry_value): Call cselib_lookup_from_insn
+ before adding ENTRY_VALUE to val->locs.
+
+2011-08-28 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR bootstrap/50218
+ * tree-ssa-loop-ivopts.c (determine_use_iv_cost_condition): Initialize
+ comp.
+
+2011-08-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * doc/rtl.texi (simple_return): Document.
+ (parallel, PATTERN): Here too.
+ * doc/md.texi (return): Mention it's allowed to expand to simple_return
+ in some cases.
+ (simple_return): Document standard pattern.
+ * gengenrtl.c (special_rtx): SIMPLE_RETURN is special.
+ * final.c (final_scan_insn): Use ANY_RETURN_P on body.
+ * reorg.c (function_return_label, function_simple_return_label):
+ New static variables, replacing...
+ (end_of_function_label): ... this.
+ (simplejump_or_return_p): New static function.
+ (optimize_skip, steal_delay_list_from_fallthrough,
+ fill_slots_from_thread): Use it.
+ (relax_delay_slots): Likewise. Use ANY_RETURN_P on body.
+ (rare_destination, follow_jumps): Use ANY_RETURN_P on body.
+ (find_end_label): Take a new arg which is one of the two return
+ rtxs. Depending on which, set either function_return_label or
+ function_simple_return_label. All callers changed.
+ (make_return_insns): Make both kinds.
+ (dbr_schedule): Adjust for two kinds of end labels.
+ * function.c (emit_return_into_block): Set JUMP_LABEL properly.
+ * genemit.c (gen_exp): Handle SIMPLE_RETURN.
+ (gen_expand, gen_split): Use ANY_RETURN_P.
+ * df-scan.c (df_uses_record): Handle SIMPLE_RETURN.
+ * rtl.def (SIMPLE_RETURN): New code.
+ * ifcvt.c (find_if_case_1): Be more careful about
+ redirecting jumps to the EXIT_BLOCK.
+ * jump.c (condjump_p, condjump_in_parallel_p, any_condjump_p,
+ returnjump_p_1): Handle SIMPLE_RETURNs.
+ * print-rtl.c (print_rtx): Likewise.
+ * rtl.c (copy_rtx): Likewise.
+ * bt-load.c (compute_defs_uses_and_gen): Use ANY_RETURN_P.
+ * combine.c (simplify_set): Likewise.
+ * resource.c (find_dead_or_set_registers, mark_set_resources):
+ Likewise.
+ * emit-rtl.c (verify_rtx_sharing, classify_insn, copy_insn_1,
+ copy_rtx_if_shared_1, mark_used_flags): Handle SIMPLE_RETURNs.
+ (init_emit_regs): Initialize simple_return_rtx.
+ * cfglayout.c (fixup_reorder_chain): Pass a JUMP_LABEL to
+ force_nonfallthru_and_redirect.
+ * rtl.h (ANY_RETURN_P): Allow SIMPLE_RETURN.
+ (GR_SIMPLE_RETURN): New enum value.
+ (simple_return_rtx): New macro.
+ * basic-block.h (force_nonfallthru_and_redirect): Adjust
+ declaration.
+ * cfgrtl.c (force_nonfallthru_and_redirect): Take a new jump_label
+ argument. All callers changed. Be careful about what kinds of
+ returnjumps to generate.
+ * config/i386/3i86.c (ix86_pad_returns, ix86_count_insn_bb,
+ ix86_pad_short_function): Likewise.
+ * config/arm/arm.c (arm_final_prescan_insn): Handle both kinds
+ of return.
+ * config/mips/mips.md (any_return): New code_iterator.
+ (optab): Add cases for return and simple_return.
+ (return): Expand to a simple_return.
+ (simple_return): New pattern.
+ (*<optab>, *<optab>_internal for any_return): New patterns.
+ (return_internal): Remove.
+ * config/mips/mips.c (mips_expand_epilogue): Make the last insn
+ a simple_return_internal.
+
+2011-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*absneg<mode>2): Fix split condition.
+ (vec_extract_lo_<mode>): Prevent both operands in memory.
+ (vec_extract_lo_v16hi): Ditto.
+ (*vec_extract_v4sf_mem): Add TARGET_SSE insn constraint.
+
+2011-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (mulv16qi3): Attach REG_EQUAL note.
+ (*sse2_mulv4si3): Ditto.
+ (mulv2di3): Ditto.
+ * config/i386/i386.c (legitimize_tls_address): Change REG_EQIV
+ notes to REG_EQUAL.
+
+2011-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50202
+ * config/i386/sse.md (sse4_2_pcmpestr): Emit NOTE_INSN_DELETED note
+ when all outputs are unused.
+ (sse4_2_pcmpistr): Ditto.
+
+2011-08-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (round<mode>2): New expander.
+ * config/i386/i386.c (enum ix86_builtins): Add
+ IX86_BUILTIN_ROUND{PS,PD}_AZ{,256}.
+ (struct builtin_description): Add __builtin_ia32_round{ps,pd}_az{,256}
+ descriptions.
+ (ix86_builtin_vectorized_function): Handle BUILT_IN_ROUND{,F} builtins.
+ (ix86_build_const_vector): Rewrite using loop with RTVEC_ELT accessor.
+
+2011-08-26 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/50083
+ * convert.c (convert_to_integer) <BUIT_IN_ROUND{,F,L}>: Convert
+ only when TARGET_C99_FUNCTIONS.
+ <BUILT_IN_NEARBYINT{,F,L}>: Ditto.
+ <BUILT_IN_RINT{,F,L}>: Ditto.
+
+2011-08-26 Michael Matz <matz@suse.de>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/50165
+ * lto-streamer-in.c (canon_file_name): Initialize new_slot->len;
+ don't call strlen twice, use memcpy.
+
+2011-08-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/bmi2intrin.h: Allow in <immintrin.h>.
+ * config/i386/bmiintrin.h: Likewise.
+ * config/i386/lzcntintrin.h: Likewise.
+
+ * config/i386/immintrin.h: Include <lzcntintrin.h>,
+ <bmiintrin.h> and <bmi2intrin.h>.
+
+2011-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/50166
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Check count in main.
+ * configure: Regenerate.
+
+2011-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/50179
+ * c-typeck.c (c_process_expr_stmt): Skip over nops and
+ call mark_exp_read even if exprv is ADDR_EXPR.
+
+2011-08-26 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * df-problems.c (df_note_bb_compute): Pass uses rather than defs
+ to df_set_dead_notes_for_mw.
+
+2011-08-26 Richard Guenther <rguenther@suse.de>
+
+ * varasm.c (decode_addr_const): Handle MEM_REF[&X, OFF].
+
+2011-08-26 Zdenek Dvorak <ook@ucw.cz>
+ Tom de Vries <tom@codesourcery.com>
+
+ * tree-ssa-loop-ivopts.c (struct cost_pair): Add comp field.
+ (struct ivopts_data): Add loop_single_exit_p field.
+ (niter_for_exit): Change parameter desc_p into return value. Return
+ desc if desc->may_be_zero. Free desc if unused.
+ (niter_for_single_dom_exit): Change return type.
+ (find_induction_variables): Handle changed return type of
+ niter_for_single_dom_exit. Dump may_be_zero.
+ (add_candidate_1): Keep original base and step type for IP_ORIGINAL.
+ (set_use_iv_cost): Add and handle comp parameter.
+ (determine_use_iv_cost_generic, determine_use_iv_cost_address): Add
+ comp argument to set_use_iv_cost.
+ (strip_wrap_conserving_type_conversions, expr_equal_p)
+ (difference_cannot_overflow_p, iv_elimination_compare_lt): New function.
+ (may_eliminate_iv): Add comp parameter. Handle new return type of
+ niter_for_exit. Use loop_single_exit_p. Use iv_elimination_compare_lt.
+ (determine_use_iv_cost_condition): Add comp argument to set_use_iv_cost
+ and may_eliminate_iv.
+ (rewrite_use_compare): Move call to iv_elimination_compare to ...
+ (may_eliminate_iv): Here.
+ (tree_ssa_iv_optimize_loop): Initialize loop_single_exit_p.
+
+2011-08-26 Tom de Vries <tom@codesourcery.com>
+
+ * tree-pretty-print (dump_generic_node): Test for NULL_TREE before
+ accessing TREE_TYPE.
+
+2011-08-26 Jiangning Liu <jiangning.liu@arm.com>
+
+ * config/arm/arm.md (*ior_scc_scc): Enable for Thumb2 as well.
+ (*ior_scc_scc_cmp): Likewise
+ (*and_scc_scc): Likewise.
+ (*and_scc_scc_cmp): Likewise.
+ (*and_scc_scc_nodom): Likewise.
+ (*cmp_ite0, *cmp_ite1, *cmp_and, *cmp_ior): Handle Thumb2.
+
+2011-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ * rtlanal.c (nonzero_bits1): Handle CLRSB.
+
+2011-08-26 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (string_constant): Handle &MEM_REF.
+
+2011-08-26 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (struct four_ints): New type.
+ (count_insns_for_constant): Delete function.
+ (find_best_start): Delete function.
+ (optimal_immediate_sequence): New function.
+ (optimal_immediate_sequence_1): New function.
+ (arm_gen_constant): Move constant splitting code to
+ optimal_immediate_sequence.
+ Rewrite constant negation/invertion code.
+
+2011-08-26 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm-protos.h (const_ok_for_op): Add prototype.
+ * config/arm/arm.c (const_ok_for_op): Add support for addw/subw.
+ Remove prototype. Remove static function type.
+ * config/arm/arm.md (*arm_addsi3): Add addw/subw support.
+ Add arch attribute.
+ * config/arm/constraints.md (Pj, PJ): New constraints.
+
+2011-08-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/cortex-a9.md ("cortex_a9_mult_long"): New.
+ ("cortex_a9_multiply_long"): New and use above. Handle all
+ long multiply cases.
+ ("cortex_a9_multiply"): Handle smmul and smmulr.
+ ("cortex_a9_mac"): Handle smmla.
+
+2011-08-25 Richard Henderson <rth@redhat.com>
+
+ PR 50132
+ PR 49864
+ * cfgcleanup.c (old_insns_match_p): Don't allow cross-jump for
+ non-constant stack adjutment.
+ * expr.c (find_args_size_adjust): Break out from ...
+ (fixup_args_size_notes): ... here.
+ * rtl.h (find_args_size_adjust): Declare.
+
+2011-08-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (isa): Add sse2, sse2_noavx, sse3,
+ sse4 and sse4_noavx.
+ (enabled): Handle sse2, sse2_noavx, sse3, sse4 and sse4_noavx.
+ (*pushdf_rex64): Change Y2 register constraint to x.
+ (*movdf_internal_rex64): Ditto.
+ (*zero_extendsidi2_rex64): Ditto.
+ (*movdi_internal): Change Y2 register constraint to x
+ and update "isa" attribute.
+ (*pushdf): Ditto.
+ (*movdf internal): Ditto.
+ (zero_extendsidi2_1): Ditto.
+ (*truncdfdf_mixed): Ditto.
+ (*truncxfdf2_mixed): Ditto.
+ * config/i386/mmx.md (*mov<mode>_internal_rex64): Change Y2
+ register constraint to x.
+ (*movv2sf_internal_rex64): Ditto.
+ (*mov<mode>_internal): Change Y2 register constraint to x
+ and add "isa" attribute.
+ (*movv2sf_internal): Ditto.
+ (*vec_extractv2si_1): Ditto.
+ * config/i386/sse.md ("vec_set<mode>_0): Change Y2 and Y4 register
+ constraints to x and update "isa" attribute.
+ (*vec_interleave_highv2df): Change Y3 registerconstraint
+ to x and update "isa" attribute.
+ (*vec_interleave_lowv2df): Ditto.
+ (*vec_concatv2df): Change Y2 register constraint to x and
+ update "isa" attribute.
+ (sse2_loadld): Ditto.
+ (*vec_extractv2di_1): Ditto.
+ (*vec_dupv4si): Ditto.
+ (*vec_dupv2di): Ditto.
+ (*vec_concatv4si): Ditto.
+ (vec_concatv2di): Ditto.
+ * config/i386/constraints.md (Y2): Remove.
+ (Y3): Ditto.
+ (Y4): Ditto.
+
+2011-08-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ * regrename.c (scan_rtx_reg, scan_rtx_address, build_def_use,
+ dump_def_use_chain): Don't declare.
+ (mark_conflict, create_new_chain): Move before users.
+ (regrename_optimize): Move to near end of file.
+
+2011-08-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr-protos.h (byte_immediate_operand): Remove Prototype.
+ (secondary_input_reload_class): Remove Prototype.
+ * config/avr/avr.c (byte_immediate_operand): Remove Function.
+ * config/avr/avr.md (setmemhi): Use u8_operand.
+ (strlenhi): Use const0_rtx for comparison.
+ * config/avr/avr.h (avr_reg_order): Remove Declaration.
+
+2011-08-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (reg_class_tab): Make local to
+ avr_regno_reg_class. Return smallest register class available.
+
+2011-08-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (STR_PREFIX_P): New Define.
+ (avr_asm_declare_function_name): Use it.
+ (avr_asm_named_section): Use it.
+ (avr_section_type_flags): Use it.
+
+2011-08-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ * doc/md.texi (automata_option): Document collapse-ndfa.
+ * genautomata.c (COLLAPSE_OPTION): New macro.
+ (collapse_flag): New static variable.
+ (struct description): New member normal_decls_num.
+ (struct automaton): New members advance_ainsn and collapse_ainsn.
+ (gen_automata_option): Check for COLLAPSE_OPTION.
+ (collapse_ndfa_insn_decl): New static variable.
+ (add_collapse_ndfa_insn_decl, special_decl_p): New functions.
+ (find_arc): If insn is the collapse-ndfa insn, accept any arc we find.
+ (transform_insn_regexps): Call add_collapse_ndfa_insn_decl if
+ necessary. Use normal_decls_num rather than decls_num, remove
+ test for special decls.
+ (create_alt_states, form_ainsn_with_same_reservs): Use special_decl_p.
+ (make_automaton); Likewise. Use the new advance_cycle_insn member
+ of struct automaton.
+ (create_composed_state): Disallow advance-cycle arcs if collapse_flag
+ is set.
+ (NDFA_to_DFA): Don't create composed states for the collapse-ndfa
+ transition. Create the necessary transitions for it.
+ (create_ainsns): Return void. Take an automaton_t argument, and
+ update its ainsn_list, advance_ainsn and collapse_ainsn members. All
+ callers changed.
+ (COLLAPSE_NDFA_VALUE_NAME): New macro.
+ (output_tables): Output code to define it.
+ (output_internal_insn_code_evaluation): Output code to accept
+ const0_rtx as collapse-ndfa transition.
+ (output_default_latencies, output_print_reservation_func,
+ output_print_description): Reorganize loops to use normal_decls_num
+ as loop bound; remove special case for advance_cycle_insn_decl.
+ (initiate_automaton_gen): Handle COLLAPSE_OPTION.
+ (check_automata_insn_issues): Check for collapse_ainsn.
+ (expand_automate): Allocate sufficient space. Initialize
+ normal_decls_num.
+
+2011-08-25 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Fix indentation from r177991.
+
+2011-08-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ * regrename.c (struct du_head): Remove member terminated.
+ (create_new_chain): Don't initialize it.
+ (scan_rtx_reg): Don't set or test it, test the open_chains_set
+ bitmap instead.
+ (tick, this_tick): New global variables, moved out of
+ regrename_optimize.
+ (current_id, open_chains, closed_chains, open_chains_set,
+ live_in_chains, live_hard_regs): Reorder declarations.
+ (dump_def_use_chain): Move function earlier in the file.
+ (rename_chains): New static function, broken out of
+ regrename_optimize.
+ (regrename_optimize): Use it. Remove #if 0'ed code.
+
+2011-08-25 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
+
+ * varasm.c: (default_binds_local_p_1): Commentary typo fix.
+
+2011-08-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/50172
+ * config/i386/i386.c (ix86_expand_builtin): Convert to Pmode if needed.
+
+2011-08-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (dr_analyze_indices): Avoid unsharing the
+ ref in the basic-block case. Move stripping array-refs
+ to the place we create an access-function for it. Remove
+ bogus stripping down a MEM_REF to its base.
+
+2011-08-24 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_comparison): Fold &a < &a + 4 even
+ with -fno-strict-overflow.
+
+2011-08-24 Richard Guenther <rguenther@suse.de>
+
+ * tree-vectorizer.c (vect_print_dump_info): Avoid the
+ file and location clutter when dumping to dump files.
+
+2011-08-24 Simon Baldwin <simonb@google.com>
+
+ * gengtype-state.c (write_state): Remove timestamped header line.
+
+2011-08-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (CFLAGS-collect2.o, CFLAGS-c-family/c-opts.o)
+ (CFLAGS-c-family/c-pch.o, CFLAGS-prefix.o, CFLAGS-version.o)
+ (CFLAGS-lto-compress.o, CFLAGS-toplev.o, CFLAGS-intl.o)
+ (CFLAGS-cppbuiltin.o, CFLAGS-cppdefault.o): New.
+ (collect2.o, c-family/c-cppbuiltin.o, c-family/c-opts.o)
+ (c-family/c-pch.o, prefix.o, version.o, lto-compress.o, toplev.o)
+ (intl.o, cppbuiltin.o, cppdefault.o): Remove explicit compilation
+ rules.
+ (lto-wrapper$(exeext)): Use $(LINKER) not $(COMPILER).
+
+2011-08-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (ALL_CXXFLAGS): Include $(CFLAGS-$@).
+
+2011-08-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50067
+ * tree-data-ref.c (dr_analyze_indices): Do not add an access
+ function for a MEM_REF base that has no evolution in the loop
+ nest or that is not analyzable.
+
+2011-08-23 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira.c (ira_init_register_move_cost): Check small subclasses
+ through ira_reg_class_max_nregs and ira_available_class_regs.
+
+2011-08-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md (Yp): New register constraint.
+ * config/i386/i386.md (*addhi_1): Merge with *addhi_1_lea using
+ Yp register constraint.
+ (*addqi_1): Merge with *addqi_1_lea using Yp register constraint.
+ (*ashlhi3_1): Merge with *ashlhi3_1_lea using Yp register constraint.
+ (*ashlqi3_1): Merge with *ashlqi3_1_lea using Yp register constraint.
+
+2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/sse.md (<s>mul<mode>3_highpart): Update.
+
+2011-08-23 Mark Heffernan <meheff@google.com>
+
+ PR middle-end/38509
+ * common.opt (Wfree-nonheap-object): New option.
+ * doc/invoke.texi (Warning options): Document -Wfree-nonheap-object.
+ * builtins.c (maybe_emit_free_warning): Add OPT_Wfree_nonheap_object
+ to warning.
+ (expand_builtin): Make warning conditional.
+
+2011-08-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (type): Add imulx, ishiftx and rotatex.
+ (length_immediate): Handle imulx, ishiftx and rotatex.
+ (imm_disp): Ditto.
+ (isa): Add bmi2.
+ (enabled): Handle bmi2.
+ (*mul<mode><dwi>3): Split from *<u>mul<mode><dwi>3.
+ (*umul<mode><dwi>3): Ditto. Add imulx BMI2 alternative.
+ (*bmi2_umulditi3_1): New insn pattern.
+ (*bmi2_umulsidi3_1): Ditto.
+ (*umul<mode><dwi>3 splitter): New splitter to avoid flags dependency.
+ (*bmi2_ashl<mode>3_1): New insn pattern.
+ (*ashl<mode>3_1): Add ishiftx BMI2 alternative.
+ (*ashl<mode>3_1 splitter): New splitter to avoid flags dependency.
+ (*bmi2_ashlsi3_1_zext): New insn pattern.
+ (*ashlsi3_1_zext): Add ishiftx BMI2 alternative.
+ (*ashlsi3_1_zext splitter): New splitter to avoid flags dependency.
+ (*bmi2_<shiftrt_insn><mode>3_1): New insn pattern.
+ (*<shiftrt_insn><mode>3_1): Add ishiftx BMI2 alternative.
+ (*<shiftrt_insn><mode>3_1 splitter): New splitter to avoid
+ flags dependency.
+ (*bmi2_<shiftrt_insn>si3_1_zext): New insn pattern.
+ (*<shiftrt_insn>si3_1_zext): Add ishiftx BMI2 alternative.
+ (*<shiftrt_insn>si3_1_zext splitter): New splitter to avoid
+ flags dependency.
+ (*bmi2_rorx<mode>3_1): New insn pattern.
+ (*<rotate_insn><mode>3_1): Add rotatex BMI2 alternative.
+ (*rotate<mode>3_1 splitter): New splitter to avoid flags dependency.
+ (*rotatert<mode>3_1 splitter): Ditto.
+ (*bmi2_rorxsi3_1_zext): New insn pattern.
+ (*<rotate_insn>si3_1_zext): Add rotatex BMI2 alternative.
+ (*rotatesi3_1_zext splitter): New splitter to avoid flags dependency.
+ (*rotatertsi3_1_zext splitter): Ditto.
+
+2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_BMI2_SET): New.
+ (OPTION_MASK_ISA_BMI2_UNSET): Likewise.
+ (ix86_handle_option): Handle OPT_mbmi2 case.
+ * config.gcc (i[34567]86-*-*): Add bmi2intrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/bmi2intrin.h: New file.
+ * config/i386/cpuid.h (bit_BMI2): New.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ BMI2 feature.
+ * config/i386/i386-c.c (ix86_target_macros_internal):
+ Conditionally define __BMI2__.
+ * config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2.
+ Handle BMI2 option.
+ (ix86_valid_target_attribute_inner_p): Handle BMI2 option.
+ (print_reg): New code.
+ (ix86_print_operand): Likewise.
+ (ix86_builtins): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64,
+ IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32,
+ IX86_BUILTIN_PEXT64.
+ (bdesc_args): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64,
+ IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32,
+ IX86_BUILTIN_PEXT64.
+ * config/i386/i386.h (TARGET_BMI2): New.
+ * config/i386/i386.md (UNSPEC_PDEP): New.
+ (UNSPEC_PEXT): Likewise.
+ (*bmi2_bzhi_<mode>3): Likewise.
+ (*bmi2_pdep_<mode>3): Likewise.
+ (*bmi2_pext_<mode>3): Likewise.
+ * config/i386/i386.opt (mbmi2): New.
+ * config/i386/x86intrin.h: Include bmi2intrin.h when __BMI2__
+ is defined.
+ * doc/extend.texi: Document BMI2 built-in functions.
+ * doc/invoke.texi: Document -mbmi2.
+
+2011-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/50161
+ * simplify-rtx.c (simplify_const_unary_operation): If
+ op is CONST_INT, don't look at op_mode, but use instead mode.
+ * optabs.c (add_equal_note): For FFS, CLZ, CTZ,
+ CLRSB, POPCOUNT, PARITY and BSWAP use operand mode for
+ operation and TRUNCATE/ZERO_EXTEND if needed.
+ * doc/rtl.texi (ffs, clrsb, clz, ctz, popcount, parity, bswap):
+ Document that operand mode must be same as operation mode,
+ or VOIDmode.
+ * config/avr/avr.md (paritysi2, *parityqihi2.libgcc,
+ *paritysihi2.libgcc, popcountsi2, *popcountsi2.libgcc,
+ *popcountqihi2.libgcc, clzsi2, *clzsihi2.libgcc, ctzsi2,
+ *ctzsihi2.libgcc, ffssi2, *ffssihi2.libgcc): For unary ops
+ use the mode of operand for the operation and add truncate
+ or zero_extend around if needed.
+ * config/c6x/c6x.md (ctzdi2): Likewise.
+ * config/bfin/bfin.md (clrsbsi2, signbitssi2): Likewise.
+
+2011-08-12 Michael Matz <matz@suse.de>
+
+ * cfgexpand.c (expand_one_register_var): Use get_pointer_alignment.
+ (gimple_expand_cfg): Merge alignment info for coalesced pointer
+ SSA names.
+
+2011-08-23 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (tree-data-ref.o): Add tree-affine.h dependency.
+ * tree-affine.h (aff_comb_cannot_overlap_p): Declare.
+ * tree-affine.c (aff_comb_cannot_overlap_p): New function, moved
+ from ...
+ * tree-ssa-loop-im.c (cannot_overlap_p): ... here.
+ (mem_refs_may_alias_p): Adjust.
+ * tree-data-ref.h (dr_may_alias_p): Adjust.
+ * tree-data-ref.c: Include tree-affine.h.
+ (dr_analyze_indices): Do nothing for the non-loop case.
+ (dr_may_alias_p): Distinguish loop and non-loop case. Disambiguate
+ more cases in the non-loop case.
+ * graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): Adjust
+ calls to dr_may_alias_p.
+ (write_alias_graph_to_ascii_ecc): Likewise.
+ (write_alias_graph_to_ascii_dot): Likewise.
+ (build_alias_set_optimal_p): Likewise.
+
+2011-08-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50162
+ * tree-vect-stmts.c (vectorizable_call): Fix argument lookup.
+
+2011-08-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-data-ref.c (dr_analyze_indices): Add comments, handle
+ REALPART_EXPR and IMAGPART_EXPR similar to ARRAY_REFs.
+ (create_data_ref): Also dump access functions for the created data-ref.
+
+2011-08-22 Uros Bizjak <ubizjak@gmail.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/50155
+ * config/i386/sse.md (VI_AVX2): New.
+ (<plusminus_insn><mode>3): Use VI_AVX2 mode iterator.
+ (*<plusminus_insn><mode>3): Ditto.
+ (<sse2_avx2>_andnot<mode>3): Ditto.
+ (*andnot<mode>3): Fix order of cond operands.
+ Add asserts for correct TARGET_xxx.
+ (*<any_logic:code><mode>3): Ditto.
+
+2011-08-22 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro.
+ * config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove.
+ * config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change
+ regclass argument type to reg_class_t. Change 'max' and 'v' vars
+ and return types to unsigned char. Use reg_class_contents instead
+ of class_contents.
+ (TARGET_CLASS_MAX_NREGS): Define.
+
+2011-08-22 Bernd Schmidt <bernds@codesourcery.com>
+
+ * config/c6x/c6x.md (indirect_jump_shadow): Tweak representation
+ to make computed_jump_p return true.
+
+2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (GCC_PICFLAG_FOR_TARGET): Call it.
+ (PICFLAG_FOR_TARGET): Substitute.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+
+2011-08-22 Dodji Seketeli <dodji@redhat.com>
+
+ * c-family/c-pch.c (c_common_read_pch): Re-set line table right
+ after reading in the pch.
+
+2011-08-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Error if __ELF__ isn't defined.
+ * configure: Regenerated.
+
+2011-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50133
+ * tree-vect-stmts.c (vect_finish_stmt_generation): Copy location
+ from stmt instead of some statement around gsi.
+
+ PR middle-end/50141
+ * expr.c (get_bit_range): Only use DECL_THREAD_LOCAL_P if
+ innerdecl is a VAR_DECL.
+
+2011-08-22 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/avx2intrin.h: New file.
+ * config/i386/i386-builtin-types.def (PCINT, PCINT64, PV4SI,
+ PV8SI, V32QI_FTYPE_V32QI, V32QI_FTYPE_V16QI, V16HI_FTYPE_V16HI,
+ V16HI_FTYPE_V8HI, V8SI_FTYPE_V8SI, V16HI_FTYPE_V16QI,
+ V8SI_FTYPE_V16QI, V4DI_FTYPE_V16QI, V8SI_FTYPE_V8HI,
+ V4DI_FTYPE_V8HI, V4DI_FTYPE_V4SI, V4DI_FTYPE_PV4DI,
+ V4DI_FTYPE_V2DI, V2DI_FTYPE_PCV2DI_V2DI, V4SI_FTYPE_PCV4SI_V4SI,
+ V32QI_FTYPE_V16HI_V16HI, V16HI_FTYPE_V8SI_V8SI,
+ V32QI_FTYPE_V32QI_V32QI, V16HI_FTYPE_V32QI_V32QI,
+ V16HI_FTYPE_V16HI_V8HI, V16HI_FTYPE_V16HI_V16HI,
+ V16HI_FTYPE_V16HI_INT, V16HI_FTYPE_V16HI_SI,
+ V16HI_FTYPE_V16HI_V16HI_INT, V32QI_FTYPE_V32QI_V32QI_INT,
+ V8SI_FTYPE_V8SI_V4SI, V8SI_FTYPE_V8SI_V8SI,
+ V8SI_FTYPE_V16HI_V16HI, V8SI_FTYPE_V8SI_INT, V8SI_FTYPE_V8SI_SI,
+ V8SI_FTYPE_PCV8SI_V8SI, V4DI_FTYPE_V4DI_V4DI,
+ V4DI_FTYPE_V8SI_V8SI, V4DI_FTYPE_V4DI_V2DI,
+ V4DI_FTYPE_PCV4DI_V4DI, V4DI_FTYPE_V4DI_INT,
+ V2DI_FTYPE_V4DI_INT, V4DI_FTYPE_V4DI_V4DI_INT,
+ V4DI_FTYPE_V4DI_V2DI_INT, VOID_FTYPE_PV2DI_V2DI_V2DI,
+ VOID_FTYPE_PV4DI_V4DI_V4DI, VOID_FTYPE_PV4SI_V4SI_V4SI,
+ VOID_FTYPE_PV8SI_V8SI_V8SI,
+ V2DF_FTYPE_V2DF_PCDOUBLE_V4SI_V2DF_INT,
+ V4DF_FTYPE_V4DF_PCDOUBLE_V4SI_V4DF_INT,
+ V2DF_FTYPE_V2DF_PCDOUBLE_V2DI_V2DF_INT,
+ V4DF_FTYPE_V4DF_PCDOUBLE_V4DI_V4DF_INT,
+ V4SF_FTYPE_V4SF_PCFLOAT_V4SI_V4SF_INT,
+ V8SF_FTYPE_V8SF_PCFLOAT_V8SI_V8SF_INT,
+ V4SF_FTYPE_V4SF_PCFLOAT_V2DI_V4SF_INT,
+ V4SF_FTYPE_V4SF_PCFLOAT_V4DI_V4SF_INT,
+ V2DI_FTYPE_V2DI_PCINT64_V4SI_V2DI_INT,
+ V4DI_FTYPE_V4DI_PCINT64_V4SI_V4DI_INT,
+ V2DI_FTYPE_V2DI_PCINT64_V2DI_V2DI_INT,
+ V4DI_FTYPE_V4DI_PCINT64_V4DI_V4DI_INT,
+ V4SI_FTYPE_V4SI_PCINT_V4SI_V4SI_INT,
+ V8SI_FTYPE_V8SI_PCINT_V8SI_V8SI_INT,
+ V4SI_FTYPE_V4SI_PCINT_V2DI_V4SI_INT,
+ V4SI_FTYPE_V4SI_PCINT_V4DI_V4SI_INT,
+ V16HI_FTYPE_V16HI_SI_COUNT, V16HI_FTYPE_V16HI_V8HI_COUNT,
+ V8SI_FTYPE_V8SI_SI_COUNT, V8SI_FTYPE_V8SI_V4SI_COUNT,
+ V4DI_FTYPE_V4DI_INT_COUNT, V4DI_FTYPE_V4DI_V2DI_COUNT,
+ V4DI_FTYPE_V4DI_INT_CONVERT,
+ V4DI_FTYPE_V4DI_V4DI_INT_CONVERT): New.
+ * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MPSADBW256,
+ IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256,
+ IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256,
+ IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256,
+ IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256,
+ IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256,
+ IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256,
+ IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256,
+ IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256,
+ IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I,
+ IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256,
+ IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256,
+ IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256,
+ IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256,
+ IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256,
+ IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256,
+ IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256,
+ IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256,
+ IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256,
+ IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256,
+ IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256,
+ IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256,
+ IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256,
+ IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256,
+ IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256,
+ IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256,
+ IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256,
+ IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256,
+ IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256,
+ IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256,
+ IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256,
+ IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256,
+ IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256,
+ IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256,
+ IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256,
+ IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256,
+ IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256,
+ IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256,
+ IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256,
+ IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256,
+ IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256,
+ IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256,
+ IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256,
+ IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256,
+ IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256,
+ IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256,
+ IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256,
+ IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256,
+ IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256,
+ IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256,
+ IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256,
+ IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256,
+ IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256,
+ IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256,
+ IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256,
+ IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256,
+ IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256,
+ IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256,
+ IX86_BUILTIN_MOVNTDQA256, IX86_BUILTIN_VBROADCASTSS_PS,
+ IX86_BUILTIN_VBROADCASTSS_PS256,
+ IX86_BUILTIN_VBROADCASTSD_PD256,
+ IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256,
+ IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256,
+ IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256,
+ IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128,
+ IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128,
+ IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256,
+ IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256,
+ IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256,
+ IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256,
+ IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ,
+ IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256,
+ IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ,
+ IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256,
+ IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI,
+ IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI,
+ IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI,
+ IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI,
+ IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI,
+ IX86_BUILTIN_GATHERSIV2DF, IX86_BUILTIN_GATHERSIV4DF,
+ IX86_BUILTIN_GATHERDIV2DF, IX86_BUILTIN_GATHERDIV4DF,
+ IX86_BUILTIN_GATHERSIV4SF, IX86_BUILTIN_GATHERSIV8SF,
+ IX86_BUILTIN_GATHERDIV4SF, IX86_BUILTIN_GATHERDIV8SF,
+ IX86_BUILTIN_GATHERSIV2DI, IX86_BUILTIN_GATHERSIV4DI,
+ IX86_BUILTIN_GATHERDIV2DI, IX86_BUILTIN_GATHERDIV4DI,
+ IX86_BUILTIN_GATHERSIV4SI, IX86_BUILTIN_GATHERSIV8SI,
+ IX86_BUILTIN_GATHERDIV4SI, IX86_BUILTIN_GATHERDIV8SI.
+ (bdesc_special_args): Add IX86_BUILTIN_MOVNTDQA256,
+ IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ,
+ IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256,
+ IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ,
+ IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256.
+ (bdesc_args): Add IX86_BUILTIN_MPSADBW256,
+ IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256,
+ IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256,
+ IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256,
+ IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256,
+ IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256,
+ IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256,
+ IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256,
+ IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256,
+ IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I,
+ IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256,
+ IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256,
+ IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256,
+ IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256,
+ IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256,
+ IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256,
+ IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256,
+ IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256,
+ IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256,
+ IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256,
+ IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256,
+ IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256,
+ IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256,
+ IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256,
+ IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256,
+ IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256,
+ IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256,
+ IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256,
+ IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256,
+ IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256,
+ IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256,
+ IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256,
+ IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256,
+ IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256,
+ IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256,
+ IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256,
+ IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256,
+ IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256,
+ IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256,
+ IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256,
+ IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256,
+ IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256,
+ IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256,
+ IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256,
+ IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256,
+ IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256,
+ IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256,
+ IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256,
+ IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256,
+ IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256,
+ IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256,
+ IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256,
+ IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256,
+ IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256,
+ IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256,
+ IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256,
+ IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256,
+ IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256,
+ IX86_BUILTIN_VBROADCASTSS_PS, IX86_BUILTIN_VBROADCASTSS_PS256,
+ IX86_BUILTIN_VBROADCASTSD_PD256,
+ IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256,
+ IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256,
+ IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256,
+ IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128,
+ IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128,
+ IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256,
+ IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256,
+ IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256,
+ IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256,
+ IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI,
+ IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI,
+ IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI,
+ IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI,
+ IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI.
+ (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_GATHERSIV2DF,
+ IX86_BUILTIN_GATHERSIV4DF, IX86_BUILTIN_GATHERDIV2DF,
+ IX86_BUILTIN_GATHERDIV4DF, IX86_BUILTIN_GATHERSIV4SF,
+ IX86_BUILTIN_GATHERSIV8SF, IX86_BUILTIN_GATHERDIV4SF,
+ IX86_BUILTIN_GATHERDIV8SF, IX86_BUILTIN_GATHERSIV2DI,
+ IX86_BUILTIN_GATHERSIV4DI, IX86_BUILTIN_GATHERDIV2DI,
+ IX86_BUILTIN_GATHERDIV4DI, IX86_BUILTIN_GATHERSIV4SI,
+ IX86_BUILTIN_GATHERSIV8SI, IX86_BUILTIN_GATHERDIV4SI,
+ IX86_BUILTIN_GATHERDIV8SI.
+ (ix86_preferred_simd_mode): Support AVX2 modes.
+ (ix86_expand_args_builtin): Support AVX2 builtins.
+ (ix86_expand_special_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+ * config/i386/i386.md (UNSPEC_VPERMSI): New.
+ (UNSPEC_VPERMDF): Likewise.
+ (UNSPEC_VPERMSF): Likewise.
+ (UNSPEC_VPERMDI): Likewise.
+ (UNSPEC_VPERMTI): Likewise.
+ (UNSPEC_GATHER): Likewise.
+ (ssemodesuffix): Extend.
+ * config/i386/immintrin.h: Include avx2intrin.h when __AVX2__
+ is defined.
+ * config/i386/predicates.md (const1248_operand): New.
+ * config/i386/sse.md (VI1_AVX2): New mode iterator.
+ (VI2_AVX2): Likewise.
+ (VI4_AVX2): Likewise.
+ (VI8_AVX2): Likewise.
+ (VIMAX_AVX2): Likewise.
+ (SSESCALARMODE): Likewise.
+ (VI12_AVX2): Likewise.
+ (VI24_AVX2): Likewise.
+ (VI124_AVX2): Likewise.
+ (VI248_AVX2): Likewise.
+ (VI48_AVX2): Likewise.
+ (VI4SD_AVX2): Likewise.
+ (V48_AVX2): Likewise.
+ (AVX256MODE2P): Likewise.
+ (AVXMODE48P_DI): Likewise.
+ (sse2_avx2): New mode attribute.
+ (ssse3_avx2): Likewise.
+ (sse4_1_avx2): Likewise.
+ (avx_avx2): Likewise.
+ (ssebytemode): Likewise.
+ (AVXTOSSEMODE): Likewise.
+ (AVXMODE48P_DI): Likewise.
+ (gthrfirstp): Likewise.
+ (gthrlastp): Likewise.
+ (lshift): New code_iterator
+ (lshift): New code attribute.
+ (lshift): Likewise.
+ (ssescalarmodesuffix): Update.
+ (sseunpackmode): Likewise.
+ (ssepackmode): Likewise.
+ (avx2_vec_dupv4sf): New insn pattern.
+ (avx2_vec_dupv8sf): Likewise.
+ (avx2_interleave_highv4di): Likewise.
+ (avx2_interleave_lowv4di): Likewise.
+ (avx2_umulv4siv4di3): Likewise
+ (*avx2_umulv4siv4di3): Likewise
+ (avx2_pmaddwd): Likewise.
+ (*avx2_pmaddwd): Likewise.
+ (avx2_lshrqv4di3): Likewise.
+ (avx2_lshlqv4di3): Likewise.
+ (avx2_lshl<mode>3): Likewise.
+ (avx2_<umaxmin:code><mode>3): Likewise.
+ (*avx2_<umaxmin:code><mode>3): Likewise.
+ (avx2_<smaxmin:code><mode>3): Likewise.
+ (*avx2_<smaxmin:code><mode>3): Likewise.
+ (avx2_eq<mode>3): Likewise.
+ (*avx2_eq<mode>3): Likewise.
+ (avx2_gt<mode>3): Likewise.
+ (avx2_interleave_highv32qi): New.
+ (avx2_interleave_lowv32qi): Likewise.
+ (avx2_interleave_highv16hi): Likewise.
+ (avx2_interleave_lowv16hi): Likewise.
+ (avx2_interleave_highv8si): Likewise.
+ (avx2_interleave_lowv8si): Likewise.
+ (avx2_pshufd): Likewise.
+ (avx2_pshufd_1): Likewise.
+ (avx2_pshuflwv3): Likewise.
+ (avx2_pshuflw_1): Likewise.
+ (avx2_pshufhwv3): Likewise.
+ (avx2_pshufhw_1): Likewise.
+ (avx2_uavgv32qi3): Likewise.
+ (*avx2_uavgv32qi3): Likewise.
+ (avx2_uavgv16hi3): Likewise.
+ (*avx2_uavgv16hi3): Likewise.
+ (avx2_pmovmskb): Likewise.
+ (avx2_phaddwv16hi3): Likewise.
+ (avx2_phadddv8si3): Likewise.
+ (avx2_phaddswv16hi3): Likewise.
+ (avx2_phsubwv16hi3): Likewise.
+ (avx2_phsubdv8si3): Likewise.
+ (avx2_phsubswv16hi3): Likewise.
+ (avx2_pmaddubsw256): Likewise.
+ (avx2_umulhrswv16hi3): Likewise.
+ (*avx2_umulhrswv16hi3): Likewise.
+ (avx2_packusdw): Likewise.
+ (avx2_pblendd<mode>): Likewise.
+ (avx2_<code>v16qiv16hi2): Likewise.
+ (avx2_<code>v8qiv8si2): Likewise.
+ (avx2_<code>v8hiv8si2): Likewise.
+ (avx2_<code>v4qiv4di2): Likewise.
+ (avx2_<code>v4hiv4di2): Likewise.
+ (avx2_<code>v4siv4di2): Likewise.
+ (avx2_pbroadcast<mode>): Likewise.
+ (avx2_permvarv8si): Likewise.
+ (avx2_permv4df): Likewise.
+ (avx2_permvarv8sf): Likewise.
+ (avx2_permv4di): Likewise.
+ (avx2_permv2ti): Likewise.
+ (avx2_vec_dupv4df): Likewise.
+ (avx2_vbroadcasti128_<mode>): Likewise.
+ (avx2_vec_set_lo_v4di): Likewise.
+ (avx2_vec_set_hi_v4di): Likewise.
+ (*avx2_maskmov<avx2modesuffix><avxmodesuffix>): Likewise.
+ (avx2_extracti128): Likewise.
+ (avx2_inserti128): Likewise.
+ (avx2_ashrvv8si): Likewise.
+ (avx2_ashrvv4si): Likewise.
+ (avx2_<lshift>vv8si): Likewise.
+ (avx2_<lshift>v<mode>): Likewise.
+ (avx2_<lshift>vv2di): Likewise.
+ (avx2_gathersi<mode>): Likewise.
+ (*avx2_gathersi<mode>): Likewise.
+ (avx2_gatherdi<mode>): Likewise.
+ (*avx2_gatherdi<mode>): Likewise.
+ (avx2_gatherdi<mode>256): Likewise.
+ (*avx2_gatherdi<mode>256): Likewise.
+ (<plusminus_insn><mode>3): Use VI mode iterator.
+ (*<plusminus_insn><mode>3): Use VI mode iterator.
+ (<sse2_avx2>_<plusminus_insn><mode>3): Rename from
+ sse2_<plusminus_insn><mode>3. Use VI12_AVX2 mode iterator.
+ (*<sse2_avx2>_<plusminus_insn><mode>3): Rename from
+ *sse2_<plusminus_insn><mode>3. Use VI12_AVX2 mode iterator.
+ (mul<mode>3): Rename from mulv8hi3. Use VI2_AVX2 mode iterator.
+ (*mul<mode>3): Rename from *mulv8hi3. Use VI2_AVX2 mode iterator.
+ (<s>mul<mode>3_highpart): Rename from <s>mulv8hi3_highpart.
+ Use VI2_AVX2 mode iterator.
+ (*<s>mul<mode>3_highpart): Rename from *<s>mulv8hi3_highpart.
+ Use VI2_AVX2 mode iterator.
+ (mul<mode>3): Rename from mulv4si3. Use VI4_AVX2 mode iterator.
+ (*mul<mode>3): Rename from *mulv4si3. Use VI4_AVX2 mode iterator.
+ (*<sse4_1_avx2>_mulv2siv2di3): Rename from *sse4_1_mulv4si3.
+ Use VI4_AVX2 mode iterator.
+ (ashr<mode>3): Use VI24_AVX2 mode iterator.
+ (lshr<mode>3): Use VI248_AVX2 mode iterator.
+ (<sse2_avx2>_ashl<mode>3): Rename from sse2_ashlv1ti3.
+ Use VIMAX_AVX2 mode iterator.
+ (<sse2_avx2>_andnot<mode>3): Rename from sse2_andnot<mode>3.
+ Use VI mode iterator.
+ (*andnot<mode>3): Update for AVX2.
+ (*<any_logic:code><mode>3): Likewise.
+ (<sse2_avx2>_packsswb): Rename from sse2_packsswb.
+ Use VI1_AVX mode iterator.
+ (<sse2_avx2>_packssdw): Rename from sse2_packssdw.
+ Use VI2_AVX mode iterator.
+ (<sse2_avx2>_packuswb): Rename from sse2_packsswb.
+ Use VI1_AVX mode iterator.
+ (<sse2_avx2>_psadbw): Rename from sse2_psadbw.
+ Use VI8_AVX2 mode iterator.
+ (<ssse3_avx2>_pshufb<mode>3): Rename from ssse3_pshufbv16qi3.
+ Use VI1_AVX2 mode iterator.
+ (<ssse3_avx2>_psign<mode>3): Rename from ssse3_psign<mode>3.
+ Use VI124_AVX2 mode iterator.
+ (<ssse3_avx2>_palignr<mode>): Rename from ssse3_palignrti.
+ Use SSESCALARMODE mode iterator.
+ (abs<mode>2): Use VI124_AVX2 mode iterator.
+ (<sse4_1_avx2>_movntdqa): Rename from sse4_1_movntdqa.
+ Use VI8_AVX2 mode iterator.
+ (<sse4_1_avx2>_mpsadbw): Rename from sse4_1_mpsadbw.
+ Use VI1_AVX2 mode iterator.
+ (<sse4_1_avx2>_pblendvb): Rename from sse4_1_pblendvb.
+ Use VI1_AVX2 mode iterator.
+ (<sse4_1_avx2>_pblendw): Rename from sse4_1_pblendvb.
+ Use VI2_AVX2 mode iterator.
+ (<avx_avx2>_maskload<avx2modesuffix><avxmodesuffix>): Rename from
+ avx_maskload<ssemodesuffix><avxsizesuffix>. Use V48_AVX2 mode iterator.
+ (<avx_avx2>_maskstore<avx2modesuffix><avxmodesuffix>): Rename from
+ avx_maskstore<ssemodesuffix><avxsizesuffix>.
+ Use V48_AVX2 mode iterator.
+ * doc/extend.texi: Document AVX2 built-in functions.
+ * doc/invoke.texi: Document -mavx2.
+
+2011-08-22 Matthias Klose <doko@debian.org>
+
+ Revert:
+ 2011-07-11 Arthur Loiret <aloiret@debian.org>
+ Matthias Klose <doko@debian.org>
+ * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
+ tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
+ convention.
+ * config.gcc (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
+
+2011-08-22 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR bootstrap/50146
+ * ira-color.c (assign_hard_reg): Move saved_nregs declaration
+ to #ifndef HONOR_REG_ALLOC_ORDER block.
+
+2011-08-21 Richard Henderson <rth@redhat.com>
+
+ * rtl.h (INSN_ANNULLED_BRANCH_P): Only allow JUMP_INSN.
+ * dwarf2cfi.c (scan_trace): Test JUMP_P before INSN_ANNULLED_BRANCH_P.
+ * resource.c (next_insn_no_annul): Likewise.
+ (mark_set_resources): Likewise.
+ * reorg.c (delete_from_delay_slot): Likewise.
+ (dbr_schedule, redundant_insn, try_merge_delay_insns): Likewise.
+ (get_branch_condition): Test pc_rtx and LABEL_REF before dereferencing.
+
+2011-08-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (any_div): Remove.
+ (sgnprefix): Update for removal.
+ (u): Ditto.
+
+2011-08-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-lives.c (mark_pseudo_regno_subword_live): Use allocno class
+ for ira_reg_class_max_nregs. Increase pressure by 1.
+ (mark_pseudo_regno_subword_dead): Use allocno class
+ for ira_reg_class_max_nregs.
+
+2011-08-20 Richard Henderson <rth@redhat.com>
+
+ * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
+ config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
+ config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
+ config/c6x/ltf.c: Adjust include path for soft-fp.
+
+2011-08-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR other/46770
+ * config.gcc (tm_file): Add initfini-array.h if
+ .init_arrary/.fini_array are supported.
+
+ * crtstuff.c: Don't generate .ctors nor .dtors sections if
+ USE_INITFINI_ARRAY is defined.
+
+ * output.h (default_elf_init_array_asm_out_constructor): New.
+ (default_elf_fini_array_asm_out_destructor): Likewise.
+ * varasm.c (elf_init_array_section): Likewise.
+ (elf_fini_array_section): Likewise.
+ (get_elf_initfini_array_priority_section): Likewise.
+ (default_elf_init_array_asm_out_constructor): Likewise.
+ (default_elf_fini_array_asm_out_destructor): Likewise.
+
+ * config/initfini-array.h: New.
+
+2011-08-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_class_max_nregs): Check that the mode is
+ OK for ST_REGS and FP_REGS before taking those classes into account.
+
+2011-08-20 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_reorg_process_insns): Check for jumps
+ before checking for annulled branches.
+
+2011-08-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_binary_operator_ok): Use
+ satisfies_constraint_L.
+
+2011-08-20 Uros Bizjak <ubizjak@gmail.com>
+ Michael Matz <matz@suse.de>
+
+ * config/i386/i386.c (ix86_expand_round_sse4): Expand as
+ trunc (a + copysign (nextafter (0.5, 0.0), a)).
+
+2011-08-20 Anatoly Sokolov <aesok@post.ru>
+
+ * doc/tm.texi.in (PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_preferred_output_reload_class): Don't use
+ PREFERRED_OUTPUT_RELOAD_CLASS macro.
+ * system.h (PREFERRED_OUTPUT_RELOAD_CLASS): Poison.
+
+2011-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48739
+ * tree-ssa.c: Include cfgloop.h.
+ (execute_update_addresses_taken): When updating ssa, if in loop closed
+ SSA form, call rewrite_into_loop_closed_ssa instead of update_ssa.
+ * Makefile.in (tree-ssa.o): Depend on $(CFGLOOP_H).
+
+2011-08-19 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/49936
+ * ira.c (ira_init_register_move_cost): Ignore too small subclasses
+ for calculation of max register move costs.
+
+2011-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * c-parser.c (c_parser_postfix_expression): Convert operands of
+ __builtin_complex to their semantic types.
+
+2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/49721
+ * explow.c (convert_memory_address_addr_space): Also permute the
+ conversion and addition of constant for zero-extend.
+
+2011-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * c-parser.c (c_parser_postfix_expression): Handle RID_BUILTIN_COMPLEX.
+ * doc/extend.texi (__builtin_complex): Document.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (is_widening_mult_rhs_p): Handle constants
+ beyond conversions.
+ (convert_mult_to_widen): Convert constant inputs to the right type.
+ (convert_plusminus_to_widen): Don't automatically reject inputs that
+ are not an SSA_NAME.
+ Convert constant inputs to the right type.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Convert add_rhs
+ to the correct type.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (convert_mult_to_widen): Better handle
+ unsigned inputs of different modes.
+ (convert_plusminus_to_widen): Likewise.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (is_widening_mult_rhs_p): Add new argument
+ 'type'.
+ Use 'type' from caller, not inferred from 'rhs'.
+ Don't reject non-conversion statements. Do return lhs in this case.
+ (is_widening_mult_p): Add new argument 'type'.
+ Use 'type' from caller, not inferred from 'stmt'.
+ Pass type to is_widening_mult_rhs_p.
+ (convert_mult_to_widen): Pass type to is_widening_mult_p.
+ (convert_plusminus_to_widen): Likewise.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (is_widening_mult_p): Remove FIXME.
+ Ensure the the larger type is the first operand.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (convert_mult_to_widen): Convert
+ unsupported unsigned multiplies to signed.
+ (convert_plusminus_to_widen): Likewise.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * tree-ssa-math-opts.c (convert_plusminus_to_widen): Permit a single
+ conversion statement separating multiply-and-accumulate.
+
+2011-08-19 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50067
+ * tree-data-ref.c (dr_analyze_indices): Simplify, strip MEM_REF
+ offset only if we accounted for it.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.md (maddhidi4): Remove '*' from name.
+ * expr.c (expand_expr_real_2): Use find_widening_optab_handler.
+ * optabs.c (find_widening_optab_handler_and_mode): New function.
+ (expand_widen_pattern_expr): Use find_widening_optab_handler.
+ (expand_binop_directly): Likewise.
+ (expand_binop): Likewise.
+ * optabs.h (find_widening_optab_handler): New macro define.
+ (find_widening_optab_handler_and_mode): New prototype.
+ * tree-cfg.c (verify_gimple_assign_binary): Adjust WIDEN_MULT_EXPR
+ type precision rules.
+ (verify_gimple_assign_ternary): Likewise for WIDEN_MULT_PLUS_EXPR.
+ * tree-ssa-math-opts.c (build_and_insert_cast): New function.
+ (is_widening_mult_rhs_p): Allow widening by more than one mode.
+ Explicitly disallow mis-matched input types.
+ (convert_mult_to_widen): Use find_widening_optab_handler, and cast
+ input types to fit the new handler.
+ (convert_plusminus_to_widen): Likewise.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * expr.c (expand_expr_real_2): Use widening_optab_handler.
+ * genopinit.c (optabs): Use set_widening_optab_handler for $N.
+ (gen_insn): $N now means $a must be wider than $b, not consecutive.
+ * optabs.c (widened_mode): New function.
+ (expand_widen_pattern_expr): Use widening_optab_handler.
+ (expand_binop_directly): Likewise.
+ (expand_binop): Likewise.
+ * optabs.h (widening_optab_handlers): New struct.
+ (optab_d): New member, 'widening'.
+ (widening_optab_handler): New function.
+ (set_widening_optab_handler): New function.
+ * tree-ssa-math-opts.c (convert_mult_to_widen): Use
+ widening_optab_handler.
+ (convert_plusminus_to_widen): Likewise.
+
+2011-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (grokdeclarator): Diagnose _Noreturn for non-C1X if
+ pedantic.
+ * c-parser.c (c_parser_declspecs): Include _Noreturn in syntax comment.
+ * ginclude/stdnoreturn.h (noreturn): Don't define for C++.
+
+2011-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * opth-gen.awk: Do not declare target save/restore structures and
+ functions if IN_RTS defined.
+
+2011-08-19 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ PR target/49437
+ * config/arm/arm.c (arm_output_epilogue): Properly handle epilogue
+ when stack was realigned in interrupt handler prologue.
+
+2011-08-18 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (shadow_tag_warned): Check for _Noreturn.
+ (quals_from_declspecs): Assert _Noreturn not present.
+ (grokdeclarator): Handle _Noreturn.
+ (build_null_declspecs): Initialize noreturn_p.
+ (declspecs_add_scspec): Handle RID_NORETURN.
+ * c-parser.c (c_token_starts_declspecs, c_parser_declspecs)
+ (c_parser_attributes): Handle RID_NORETURN.
+ * c-tree.h (struct c_declspecs): Add noreturn_p.
+ * ginclude/stdnoreturn.h: New.
+ * Makefile.in (USER_H): Add stdnoreturn.h.
+
+2011-08-18 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX2_SET): New.
+ (OPTION_MASK_ISA_AVX_UNSET): Update.
+ (OPTION_MASK_ISA_AVX2_UNSET): New.
+ (ix86_handle_option): Handle OPT_mavx2 case.
+ * config/i386/cpuid.h (bit_AVX2): New.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ AVX2 feature.
+ * config/i386/i386-c.c (ix86_target_macros_internal):
+ Conditionally define __AVX2__.
+ * config/i386/i386.c (ix86_option_override_internal): Define PTA_AVX2.
+ Define "core-avx2" processor alias. Handle avx2 option.
+ (ix86_valid_target_attribute_inner_p): Handle avx2 option.
+ * config/i386/i386.h (TARGET_AVX2): New.
+ * config/i386/i386.opt (mavx2): New.
+ * doc/invoke.texi: Document -mavx2.
+
+2011-08-18 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/49890
+ * ira-costs.c (setup_regno_cost_classes_by_aclass): Don't exclude
+ subclasses of class which is superset of a pressure class.
+
+2011-08-18 H.J. Lu <hongjiu.lu@intel.com>
+ Igor Zamyatin <igor.zamyatin@intel.com>
+
+ * config/i386/i386-c.c (ix86_target_macros_internal): Replace int
+ with HOST_WIDE_INT for isa_flag.
+ (ix86_pragma_target_parse): Replace int with HOST_WIDE_INT for
+ isa variables.
+
+ * config/i386/i386.c (ix86_target_string): Replace int with
+ HOST_WIDE_INT for isa. Use HOST_WIDE_INT_PRINT to print isa.
+ (ix86_target_opts): Replace int with HOST_WIDE_INT on mask.
+ (pta_flags): Removed.
+ (PTA_XXX): Redefined as (HOST_WIDE_INT_1 << X).
+ (pta): Use HOST_WIDE_INT on flags.
+ (builtin_isa): Use HOST_WIDE_INT on isa.
+ (ix86_add_new_builtins): Likewise.
+ (def_builtin): Use HOST_WIDE_INT on mask.
+ (def_builtin_const): Likewise.
+ (builtin_description): Likewise.
+
+ * config/i386/i386.opt (ix86_isa_flags): Replace int with
+ HOST_WIDE_INT.
+ (ix86_isa_flags_explicit): Likewise.
+ (x_ix86_isa_flags_explicit): Likewise.
+
+2011-08-17 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/50107
+ * ira-int.h (ira_hard_reg_not_in_set_p): Remove.
+ (ira_hard_reg_in_set_p): New.
+
+ * ira-color.c (calculate_saved_nregs): New.
+ (assign_hard_reg): Use it. Set up allocated_hard_reg_p for all
+ hard regs.
+ (allocno_reload_assign, fast_allocation): Use
+ ira_hard_reg_set_intersection_p instead of
+ ira_hard_reg_not_in_set_p.
+
+ * ira.c (setup_reg_renumber): Use
+ ira_hard_reg_set_intersection_p instead of
+ ira_hard_reg_not_in_set_p.
+ (setup_allocno_assignment_flags, calculate_allocation_cost): Use
+ ira_hard_reg_in_set_p instead of ira_hard_reg_not_in_set_p.
+
+ * ira-costs.c (ira_tune_allocno_costs): Use
+ ira_hard_reg_set_intersection_p instead of
+ ira_hard_reg_not_in_set_p.
+
+2011-08-18 H.J. Lu <hongjiu.lu@intel.com>
+ Igor Zamyatin <igor.zamyatin@intel.com>
+
+ * hwint.h (HOST_WIDE_INT_1): New.
+
+ * opt-functions.awk (switch_bit_fields): Initialize the
+ host_wide_int field.
+ (host_wide_int_var_name): New.
+ (var_type_struct): Check and return HOST_WIDE_INT.
+
+ * opt-read.awk: Handle HOST_WIDE_INT for "Variable".
+
+ * optc-save-gen.awk: Support HOST_WIDE_INT on var_target_other.
+
+ * opth-gen.awk: Use HOST_WIDE_INT_1 on HOST_WIDE_INT. Properly
+ check masks for HOST_WIDE_INT.
+
+ * opts-common.c (set_option): Support HOST_WIDE_INT flag_var.
+ (option_enabled): Likewise.
+ (get_option_state): Likewise.
+
+ * opts.h (cl_option): Add cl_host_wide_int. Change var_value
+ to HOST_WIDE_INT.
+
+2011-08-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Marc Glisse <marc.glisse@normalesup.org>
+
+ PR libstdc++-v3/1773
+ * target.def (decl_mangling_context): New C++ hook.
+ * doc/tm.texi: Regenerate.
+ * config/sol2-cxx.c, config/sol2-stubs.c: New files.
+ * config/sol2-protos.h: Group by source file.
+ (solaris_cxx_decl_mangling_context): Declare.
+ * config/sol2.h (TARGET_CXX_DECL_MANGLING_CONTEXT): Define.
+ * config/t-sol2 (sol2-cxx.o, sol2-stubs.o): New targets.
+ Use $<.
+ * config.gcc (*-*-solaris2*): Add sol2-cxx.o to cxx_target_objs.
+ Add sol2-stubs.o to extra_objs.
+
+2011-08-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50009
+ * stor-layout.c (update_alignment_for_field): Don't ICE on
+ packed flexible array members if ms_bitfield_layout_p.
+
+ PR target/50092
+ * config/i386/i386.c (assign_386_stack_local): Call validize_mem
+ on the result before returning it.
+
+ PR debug/50017
+ * tree-vect-stmts.c (vect_finish_stmt_generation): If gsi_stmt (*gsi)
+ is a debug stmt, use location of the first non-debug stmt after it.
+
+2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.
+ (arm_size_rtx_costs): Likewise.
+
+2011-08-18 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (tree_int_cst_msb): Remove.
+ * tree.c (tree_int_cst_msb): Likewise.
+ (tree_int_cst_sign_bit): Move from ...
+ * tree-ssa-loop-ivopts.c (tree_int_cst_sign_bit): ... here.
+
+2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * doc/tm.texi.in (TARGET_RTX_COSTS): Add an opno paramter.
+ * doc/tm.texi: Regenerate.
+ * target.def (rtx_costs): Add an opno parameter.
+ * hooks.h (hook_bool_rtx_int_int_intp_bool_false): Replace with...
+ (hook_bool_rtx_int_int_int_intp_bool_false): ...this.
+ * hooks.c (hook_bool_rtx_int_int_intp_bool_false): Replace with...
+ (hook_bool_rtx_int_int_int_intp_bool_false): ...this.
+ * cse.c (COST_IN): Add an opno parameter.
+ (notreg_cost): Likewise. Update call to rtx_cost.
+ (COST, fold_rtx): Update accordingly.
+ * dojump.c (prefer_and_bit_test): Update call to rtx_cost.
+ * expmed.c (emit_store_flag): Likewise.
+ * optabs.c (avoid_expensive_constant): Add an opno parameter.
+ Update call to rtx_cost.
+ (expand_binop_directly, expand_binop): Likewise.
+ (expand_twoval_binop, prepare_cmp_insn): Likewise.
+ * rtl.h (rtx_cost, get_full_rtx_cost): Add opno parameters.
+ (set_src_cost, get_full_set_src_cost): Update accordingly.
+ * rtlanal.c (rtx_cost): Add an opno parameter. Update call
+ to target hook.
+ (get_full_rtx_cost): Add an opno paramter. Update calls to rtx_cost.
+ (default_adress_cost): Update calls to rtx_cost.
+
+ * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs)
+ (arm_slowmul_rtx_costs): Adjust calls to rtx_cost.
+ (arm_rtx_costs): Add an opno parameter.
+ * config/alpha/alpha.c (alpha_rtx_costs): Add an opno parameter and
+ adjust any recursive rtx-cost calls.
+ * config/avr/avr.c (avr_operand_rtx_cost, avr_rtx_costs): Likewise.
+ * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
+ * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
+ * config/cris/cris.c (cris_rtx_costs): Likewise.
+ * config/frv/frv.c (frv_rtx_costs): Likewise.
+ * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
+ * config/i386/i386.c (ix86_rtx_costs): Likewise.
+ * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
+ * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
+ * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
+ * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
+ * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
+ * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
+ * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
+ * config/mep/mep.c (mep_rtx_cost): Likewise.
+ * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
+ * config/mips/mips.c (mips_binary_cost): Update call to rtx_cost.
+ (mips_zero_extend_cost): Add an opno parameter.
+ * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
+ * config/mn10300/mn10300.c (mn10300_address_cost): Update call
+ to rtx_cost.
+ (mn10300_rtx_costs): Add an opno parameter and adjust any recursive
+ rtx-cost calls.
+ * config/pa/pa.c (hppa_rtx_costs): Likewise.
+ * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
+ * config/picochip/picochip.c (picochip_rtx_costs): Likewise.
+ * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
+ (rs6000_debug_rtx_costs): Likewise.
+ * config/s390/s390.c (s390_rtx_costs): Likewise.
+ * config/score/score-protos.h (score_rtx_costs): Likewise.
+ * config/score/score.c (score_rtx_costs): Likewise.
+ * config/sh/sh.c (andcosts): Update call to rtx_cost.
+ (sh_rtx_costs): Add an opno parameter.
+ * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
+ * config/spu/spu.c (spu_rtx_costs): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
+ * config/v850/v850.c (v850_rtx_costs): Likewise.
+ * config/vax/vax.c (vax_rtx_costs): Likewise.
+ * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
+
+2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * rtl.h (set_src_cost, get_full_set_src_cost): New functions.
+ * auto-inc-dec.c (attempt_change): Use set_src_cost instead of
+ rtx_cost.
+ * calls.c (precompute_register_parameters): Likewise.
+ * combine.c (expand_compound_operation, make_extraction): Likewise.
+ (force_to_mode, distribute_and_simplify_rtx): Likewise.
+ * dse.c (find_shift_sequence): Likewise.
+ * expmed.c (init_expmed, expand_mult, expand_smod_pow2): Likewise.
+ * expr.c (compress_float_constant): Likewise.
+ * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
+ * gcse.c (want_to_gcse_p): Likewise.
+ * ifcvt.c (noce_try_sign_mask): Likewise.
+ * loop-doloop.c (doloop_optimize): Likewise.
+ * loop-invariant.c (create_new_invariant): Likewise.
+ * optabs.c (avoid_expensive_constant): Likewise.
+ * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands)
+ (try_replace_in_use, reload_cse_move2add): Likewise.
+ * reload1.c (calculate_elim_costs_all_insns): Likewise.
+ (note_reg_elim_costly): Likewise.
+ * rtlanal.c (insn_rtx_cost): Likewise.
+ * simplify-rtx.c (simplify_binary_operation_1): Likewise.
+ * stmt.c (lshift_cheap_p): Likewise.
+ * tree-ssa-loop-ivopts.c (seq_cost, computation_cost): Likewise.
+ * config/avr/avr.c (final_prescan_insn): Likewise.
+ * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
+ * config/mips/mips.c (mips_binary_cost, mips_rtx_costs): Likewise.
+
+2011-08-18 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * rtl.h (set_rtx_cost, get_full_set_rtx_cost): New functions.
+ * auto-inc-dec.c (attempt_change): Use set_rtx_cost.
+ * cfgloopanal.c (seq_cost): Likewise.
+ * loop-invariant.c (create_new_invariant): Likewise.
+ * postreload.c (move2add_use_add2_insn, move2add_use_add3_insn)
+ (reload_cse_move2add): Use get_full_set_rtx_cost.
+
+2011-08-18 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (get_inner_reference): Fix typo in last change.
+
+2011-08-18 Paolo Carlini <paolo.carlini@oracle.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ PR tree-optimization/49963
+ * hwint.c (absu_hwi): Define.
+ * hwint.h (absu_hwi): Declare.
+ * fold-const.c (fold_plusminus_mult_expr): Use absu_hwi instead
+ of abs_hwi.
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
+ * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.
+
+2011-08-18 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (get_inner_reference): Sign-extend the constant
+ twos-complement offset before doing arbitrary precision
+ arithmetic on it.
+ * tree-ssa-structalias.c (get_constraint_for_ptr_offset): Likewise.
+ (get_constraint_for_1): Pass the offset of a MEM_REF unchanged
+ to get_constraint_for_ptr_offset.
+
+2011-08-17 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/50068
+ * config/sh/sh.c (sh_output_mi_thunk): Don't call dbr_schedule.
+
+2011-08-17 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (convert_to_ptrofftype_loc): New function.
+ (convert_to_ptrofftype): Define.
+ * builtins.c (expand_builtin_bzero): Use size_type_node.
+ (fold_builtin_bzero): Likewise.
+ (std_gimplify_va_arg_expr): Build the BIT_AND_EXPR on the pointer.
+ * c-typeck.c (build_unary_op): Use convert_to_ptrofftype_loc.
+ * cgraphunit.c (thunk_adjust): Use fold_build_pointer_plus_loc.
+ (cgraph_redirect_edge_call_stmt_to_callee): Use size_int.
+ * expr.c (expand_expr_addr_expr_1): Use fold_build_pointer_plus.
+ * fold-const.c (build_range_check): Negate using the original type.
+ (fold_unary_loc): Use fold_build_pointer_plus_loc.
+ * gimple-fold.c (gimple_adjust_this_by_delta): Use
+ convert_to_ptrofftype.
+ * gimplify.c (gimplify_self_mod_expr): Likewise.
+ * graphite-clast-to-gimple.c (clast_to_gcc_expression): Likewise.
+ (graphite_create_new_loop_guard): Likewise.
+ * graphite-sese-to-poly.c (my_long_long): Remove.
+ (scop_ivs_can_be_represented): Adjust.
+ * tree-cfg.c (verify_gimple_assign_unary): Use ptrofftype_p.
+ * tree-chrec.c (chrec_fold_plus_1): Use fold_build_pointer_plus.
+ * tree-loop-distribution.c (build_size_arg_loc): Use
+ size_type_node.
+ (generate_memset_zero): Simplify.
+ * tree-mudflap.c: Use fold_convert, not convert.
+ * tree-predcom.c (suitable_reference_p): Expand DR_OFFSET in
+ its own type.
+ (determine_offset): Likewise for DR_STEP.
+ (valid_initializer_p): Likewise.
+ * tree-profile.c (prepare_instrumented_value): Convert the pointer
+ to an integer type of same size.
+ * tree-scalar-evolution.c (interpret_rhs_expr): Do not refer
+ to sizetype without need.
+ * tree-ssa-address.c (tree_mem_ref_addr): Likewise.
+ * tree-ssa-loop-ivopts.c (find_bivs): Use convert_to_ptrofftype.
+ * tree-ssa-loop-manip.c (create_iv): Likewise.
+ (determine_exit_conditions): Adjust comment.
+ * tree-ssa-pre.c (create_expression_by_pieces): Use
+ convert_to_ptrofftype.
+ * tree-ssa-structalias.c (get_constraint_for_1): Likewise.
+ * varasm.c (array_size_for_constructor): Compute using double_ints.
+
+2011-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_emit_branch_or_set): Avoid reverse tests
+ when generating an integer result where possible. Short-cut
+ comparison against 0 also for QImode.
+
+2011-08-16 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.h (LEGITIMIZE_RELOAD_ADDRESS): New macro.
+ * config/spu/spu-protos.h (spu_legitimize_reload_address): Add
+ prototype.
+ * config/spu/spu.c (spu_legitimize_reload_address): New function.
+ (spu_legitimate_address_p): Do not check displacement if the base
+ is an eliminable stack register.
+
+2011-08-16 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.h (PREFERRED_RELOAD_CLASS,
+ PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
+ * config/m32c/m32c-protos.h (m32c_preferred_reload_class,
+ m32c_preferred_output_reload_class): Remove.
+ * config/m32c/m32c.c (m32c_preferred_reload_class): Make static.
+ Change rclass argument and return types to reg_class_t. Use
+ reg_class_subset_p instead of class_sizes.
+ (m32c_preferred_output_reload_class): Make static. Change rclass
+ argument and return types to reg_class_t.
+ (TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+
+2011-08-16 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/mingw32.h (GOMP_SELF_SPEC): Add -pthread option.
+
+2011-08-16 Richard GUenther <rguenther@suse.de>
+
+ PR tree-optimization/50082
+ * tree-ssa-forwprop.c (combine_cond_expr_cond): Handle overflow
+ warnings here, instead of ...
+ (ssa_forward_propagate_and_combine): ... here.
+ (forward_propagate_into_comparison_1): Adjust.
+ (forward_propagate_into_comparison): Likewise.
+ (forward_propagate_into_gimple_cond): Likewise.
+ (forward_propagate_into_cond): Likewise.
+
+2011-08-16 Andreas Schwab <schwab@redhat.com>
+
+ * ggc.h (ggc_alloc_rtvec_sized): Use ggc_alloc_zone_rtvec_def
+ instead of ggc_alloc_zone_vec_rtvec_def.
+
+2011-08-16 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (ptrofftype_p): New helper function.
+ * tree-cfg.c (verify_expr): Use ptrofftype_p for POINTER_PLUS_EXPR
+ offset verification.
+ (verify_gimple_assign_binary): Likewise.
+ * tree.c (build2_stat): Likewise.
+ * tree-chrec.c (chrec_fold_plus_poly_poly): Likewise.
+ (reset_evolution_in_loop): Likewise.
+ * tree-chrec.h (build_polynomial_chrec): Likewise.
+
+2011-08-16 Liang Wang <lwang1@marvell.com>
+
+ * ggc.h (ggc_alloc_rtvec_sized): Change arguments of
+ ggc_alloc_zone_vec_rtvec_def.
+
+2011-08-16 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (extract_range_from_multiplicative_op_1): New
+ helper factored out from ...
+ (extract_range_from_binary_expr_1): ... here. Re-structure
+ to not glob handling too different tree codes.
+
+2011-08-15 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/50006
+ * explow.c (allocate_dynamic_stack_space): Move suppress_reg_args_size
+ setting out to include allocate_stack named pattern as well.
+ * builtins.c (expand_builtin_apply): Add ARG_SIZE 0 note.
+ * stmt.c (expand_stack_restore): Likewise.
+
+2011-08-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50082
+ * fold-const.c (maybe_canonicalize_comparison_1): Properly
+ convert the modified operand to the other operand type.
+ (fold_comparison): Call maybe_canonicalize_comparison_1 with
+ useless conversions stripped from comparison operands.
+
+2011-08-15 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (value_range_nonnegative_p): Fix anti-range case.
+ (extract_range_from_unary_expr_1): Restructure.
+
+2011-08-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50058
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Relax aggregate
+ copy matching.
+
+2011-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/50022
+ * config/arm/arm.c (output_move_double): Add 2 parameters
+ to count the number of insns emitted and whether to emit or not.
+ Use the flag to decide when to emit and count number of instructions
+ that will be emitted.
+ Handle case where output_move_double might be called for calculating
+ lengths with an invalid constant.
+ (arm_count_output_move_double_insns): Define.
+ * config/arm/arm-protos.h (arm_count_output_move_double_insns): Declare.
+ (output_move_double): Adjust prototype.
+ * config/arm/vfp.md ("*movdi_vfp"): Adjust call to
+ output_move_double.
+ ("*movdi_vfp_cortexa8"): Likewise and add attribute
+ for ce_count.
+ * config/arm/arm.md ("*arm_movdi"): Adjust call to output_move_double.
+ ("*movdf_soft_insn"): Likewise.
+ * config/arm/cirrus.md ("*cirrus_arm_movdi"): Likewise.
+ ("*cirrus_thumb2_movdi"): Likewise.
+ ("*thumb2_cirrus_movdf_hard_insn"): Likewise.
+ ("*cirrus_movdf_hard_insn"): Likewise.
+ * config/arm/neon.md (*neon_mov<mode> VD): Likewise.
+ * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Likewise.
+ ("mov<mode>_internal VMMX"): Likewise.
+ * config/arm/fpa.md (*movdf_fpa, *thumb2_movdf_fpa): Likewise.
+
+2011-08-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_round_sse4): New function.
+ * config/i386/i386-protos.h (ix86_expand_round_sse4): New prototype.
+ * config/i386/i386.md (round<mode>2): Use ix86_expand_round_sse4
+ for TARGET_ROUND.
+
+ (rint<mode>2): Simplify TARGET_ROUND check.
+ (floor<mode>2): Ditto.
+ (ceil<mode>2): Ditto.
+ (btrunc<mode>2): Ditto.
+
+2011-08-14 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.c (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Redefine
+ as mmix_preferred_output_reload_class.
+
+2011-08-14 Georg-Johann Lay <avr@gjlay.de>
+
+ * PR target/49903
+ * config/avr/avr.md (UNSPEC_IDENTITY): New c_enum.
+ (branch_unspec): New insn.
+ (branch): Beauty farm.
+ * config/avr/avr.c (compare_condition): Use JUMP_P. Test SET_SRC
+ to be IF_THEN_ELSE.
+ (avr_compare_pattern, avr_reorg_remove_redundant_compare):
+ New static functions.
+ (avr_reorg): Use them. Use next_real_insn instead of NEXT_INSN.
+ Use CONST_INT_P. Beauty.
+
+2011-08-12 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/49994
+ * sched-init.h (struct deps_desc): Add sched_before_next_jump.
+ * sched-deps.c (init_deps): Clear it.
+ (deps_analyze_insn): Consume it.
+ (sched_analyze_insn): Fill it.
+
+2011-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/48328
+ * config/arm/arm.h (CASE_VECTOR_SHORTEN_MODE): Fix distance
+ for tbh instructions.
+
+2011-08-12 Diego Novillo <dnovillo@google.com>
+
+ * data-streamer.h (streamer_write_zero): Rename from output_zero.
+ (streamer_write_uhwi): Rename from lto_output_uleb128.
+ (streamer_write_hwi): Rename from output_sleb128.
+ (streamer_write_string): Rename from lto_output_string.
+ (streamer_string_index): Rename from lto_string_index.
+ (streamer_write_string_with_length): Rename from
+ lto_output_string_with_length.
+ (streamer_write_uhwi_stream): Rename from lto_output_uleb128_stream.
+ (streamer_write_hwi_stream): Rename from lto_output_sleb128_stream.
+ (streamer_read_string): Rename from lto_input_string.
+ (streamer_read_indexed_string): Rename from input_string_internal.
+ (streamer_read_uhwi): Rename from lto_input_uleb128.
+ (streamer_read_hwi): Rename from lto_input_sleb128.
+ (streamer_write_hwi_in_range): Rename from lto_output_int_in_range.
+ (streamer_read_hwi_in_range): Rename from lto_input_int_in_range.
+ (streamer_write_enum): Rename from lto_output_enum.
+ (streamer_read_enum): Rename from lto_input_enum.
+ (streamer_write_record_start): Rename from output_record_start.
+ (streamer_read_record_start): Rename from input_record_start.
+ (streamer_write_bitpack): Rename from lto_output_bitpack.
+ (streamer_read_bitpack): Rename from lto_input_bitpack.
+ (streamer_write_char_stream): Rename from lto_output_1_stream.
+ (streamer_read_uchar): Rename from lto_input_1_unsigned.
+ * tree-streamer.h (streamer_cache_d): Rename from lto_streamer_cache_d.
+ (streamer_handle_as_builtin_p): Rename from lto_stream_as_builtin_p.
+ (streamer_read_string_cst): Rename from input_string_cst.
+ (streamer_read_chain): Rename from lto_input_chain.
+ (streamer_alloc_tree): Rename from lto_materialize_tree.
+ (streamer_read_tree_body): Rename from lto_input_tree_pointers.
+ (streamer_get_pickled_tree): Rename from lto_get_pickled_tree.
+ (streamer_get_builtin_tree): Rename from lto_get_builtin_tree.
+ (streamer_read_integer_cst): Rename from lto_input_integer_cst.
+ (streamer_read_tree_bitfields): Rename from tree_read_bitfields.
+ (streamer_write_chain): Rename from lto_output_chain.
+ (streamer_write_tree_header): Rename from lto_output_tree_header.
+ (streamer_pack_tree_bitfields): Rename from pack_value_fields.
+ (streamer_write_tree_body): Rename from lto_output_tree_pointers.
+ (streamer_write_integer_cst): Rename from lto_output_integer_cst.
+ (streamer_write_builtin): Rename from lto_output_builtin_tree.
+ (streamer_check_handled_ts_structures): Rename from
+ check_handled_ts_structures.
+ (streamer_tree_cache_insert): Rename from lto_streamer_cache_insert.
+ (streamer_tree_cache_insert_at): Rename from
+ lto_streamer_cache_insert_at.
+ (streamer_tree_cache_append): Rename from lto_streamer_cache_append.
+ (streamer_tree_cache_lookup): Rename from lto_streamer_cache_lookup.
+ (streamer_tree_cache_get): Rename from lto_streamer_cache_get.
+ (streamer_tree_cache_create): Rename from lto_streamer_cache_create.
+ (streamer_tree_cache_delete): Rename from lto_streamer_cache_delete.
+ * tree-streamer-out.c (write_string_cst): Rename from output_string_cst.
+ (write_identifier): Rename from output_identifier.
+ (write_ts_common_tree_pointers): Rename from
+ lto_output_ts_common_tree_pointers.
+ (write_ts_vector_tree_pointers): Rename from
+ lto_output_ts_vector_tree_pointers.
+ (write_ts_complex_tree_pointers): Rename from
+ lto_output_ts_complex_tree_pointers.
+ (write_ts_decl_minimal_tree_pointers): Rename from
+ lto_output_ts_decl_minimal_tree_pointers.
+ (write_ts_decl_common_tree_pointers): Rename from
+ lto_output_ts_decl_common_tree_pointers.
+ (write_ts_decl_non_common_tree_pointers): Rename from
+ lto_output_ts_decl_non_common_tree_pointers.
+ (write_ts_decl_with_vis_tree_pointers): Rename from
+ lto_output_ts_decl_with_vis_tree_pointers.
+ (write_ts_field_decl_tree_pointers): Rename from
+ lto_output_ts_field_decl_tree_pointers.
+ (write_ts_function_decl_tree_pointers): Rename from
+ lto_output_ts_function_decl_tree_pointers.
+ (write_ts_type_common_tree_pointers): Rename from
+ lto_output_ts_type_common_tree_pointers.
+ (write_ts_type_non_common_tree_pointers): Rename from
+ lto_output_ts_type_non_common_tree_pointers.
+ (write_ts_list_tree_pointers): Rename from
+ lto_output_ts_list_tree_pointers.
+ (write_ts_vec_tree_pointers): Rename from
+ lto_output_ts_vec_tree_pointers.
+ (write_ts_exp_tree_pointers): Rename from
+ lto_output_ts_exp_tree_pointers.
+ (write_ts_block_tree_pointers): Rename from
+ lto_output_ts_block_tree_pointers.
+ (write_ts_binfo_tree_pointers): Rename from
+ lto_output_ts_binfo_tree_pointers.
+ (write_ts_constructor_tree_pointers): Rename from
+ lto_output_ts_constructor_tree_pointers.
+ (write_ts_target_option): Rename from lto_output_ts_target_option.
+ (write_ts_translation_unit_decl_tree_pointers): Rename from
+ lto_output_ts_translation_unit_decl_tree_pointers.
+ * tree-streamer.c (streamer_tree_cache_add_to_node_array):
+ Rename from lto_streamer_cache_add_to_node_array.
+ (streamer_tree_cache_insert_1): Rename from lto_streamer_cache_insert_1.
+ (record_common_node): Rename from lto_record_common_node.
+
+ * streamer-hooks.h (bitpack_d, lto_streamer_cache_d): Remove forward
+ declarations.
+ * data-streamer-in.c (lto_input_widest_uint_uleb128): Remove unused
+ function.
+ * data-streamer-out.c (lto_output_widest_uint_uleb128_stream): Remove
+ unused function.
+ * Makefile.in (lto-section-out.o): Add dependency on DATA_STREAMER_H.
+ (ipa-reference.o): Likewise.
+ * lto-section-out.c: Include data-streamer.h.
+ * ipa-reference.c: Include data-streamer.h.
+
+2011-08-12 Nick Clifton <nickc@redhat.com>
+
+ * builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern.
+ * doc/md.texi (cmpstrn): Note that the comparison stops if both
+ fetched bytes are zero.
+ (cmpstr): Likewise.
+ (cmpmem): Note that the comparison does not stop if both of the
+ fetched bytes are zero.
+
+2011-08-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * builtins.def (BUILT_IN_ICEIL{,F,L}, BUILT_IN_IFLOOR{,F,L}
+ BUILT_IN_IRINT{,F,L}, BUILT_IN_IROUND{,F,L}: New builtin definitions.
+ * convert.c (convert_to_integer): Convert to BUILT_IN_ICEIL,
+ BUILT_IN_IFLOOR, BUILT_IN_IRINT or BUILT_INT_IROUND when converting
+ to integer_type_node.
+ * fold-const.c (tree_call_nonnegative_warnv_p): Handle BUILT_IN_ICEIL,
+ BUILT_IN_IFLOOR, BUILT_IN_IRINT and BUILT_INT_IROUND.
+ * builtins.c (expand_builtin_in): Ditto.
+ (mathfn_built_in_1): Ditto.
+ (expand_builtin_int_roundingfn): Handle BUILT_IN_ICEIL and
+ BUILT_IN_IFLOOR.
+ (expand_builtin_int_roundingfn_2): Handle BUILT_IN_IRINT and
+ BUILT_IN_IROUND.
+ (fold_fixed_mathfn): Canonicalize BUILT_IN_ICEIL, BUILTIN_IN_IFLOOR
+ BUILT_IN_IRINT and BUILT_IN_IROUND to BUILT_IN_LCEIL,
+ BUILTIN_IN_LFLOOR, BUILT_IN_LRINT and BUILT_IN_LROUND on ILP32 targets.
+
+2011-08-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (extract_range_from_unary_expr_1): Implement -X as 0 - X.
+
+2011-08-12 Romain Geissler <romain.geissler@gmail.com>
+
+ * Makefile.in (PLUGIN_HEADERS): Add C_TREE_H.
+
+2011-08-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/arm/arm.c (get_label_padding): New function.
+ (create_fix_barrier, arm_reorg): Use it.
+
+2011-08-11 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49781
+ * config/i386/i386.md (*lea_5_zext): New.
+ (*lea_6_zext): Ditto.
+ * config/i386/predicates.md (const_32bit_mask): New predicate.
+ (lea_address_operand): Reject AND.
+ * config/i386/i386.c (ix86_decompose_address): Allow Dimode AND with
+ const_32bit_mask immediate.
+ (ix86_print_operand_address): Handle AND.
+ (memory_address_length): Ditto.
+
+2011-08-11 Romain Geissler <romain.geissler@gmail.com>
+ Brian Hackett <bhackett1024@gmail.com>
+
+ * plugin.def: Add event for finish_decl.
+ * plugin.c (register_callback, invoke_plugin_callbacks): Same.
+ * c-decl.c (finish_decl): Invoke callbacks on above event.
+ * doc/plugins.texi: Document above event.
+
+2011-08-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid redundant
+ lookups, make looking through aggregate copies stronger.
+
+2011-08-11 Richard Henderson <rth@redhat.com>
+
+ PR bootstrap/50018
+ * expr.c (fixup_args_size_notes): Accept and ignore normal calls.
+
+2011-08-11 Richard Guenther <rguenther@suse.de>
+
+ * lto-cgraph.c (input_node): Use DECL_BUILT_IN.
+ * tree-vrp.c (stmt_interesting_for_vrp): Likewise.
+ (vrp_visit_stmt): Likewise.
+
+2011-08-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50040
+ * gimplify.c (gimplify_modify_expr_complex_part): Mark the
+ load of the other piece with TREE_NO_WARNING.
+ * tree-flow.h (warn_uninit): Adjust prototype.
+ * tree-ssa.c (warn_uninit): Take uninitialized SSA name,
+ the base variable and the expression that is used separately.
+ Properly query all TREE_NO_WARNING flags.
+ (struct walk_data): Remove.
+ (warn_uninitialized_var): Likewise.
+ (warn_uninitialized_vars): Do not walk gimple pieces but simply
+ look at all SSA uses of the statement. Handle unused memory
+ separately.
+ * tree-ssa-uninit.c (warn_uninitialized_phi): Adjust.
+
+2011-08-11 Kazuhiro Inaoka <kazuhiro.inaoka.ud@renesas.com>
+
+ * config/rx/rx.md (movsicc): Allow register to register transfers.
+ (*movsicc): Likewise.
+ (*stcc): Restrict this pattern to EQ and NE compares.
+ (*stcc_reg): New pattern. Works for any comparison but only for
+ register transfers.
+
+2011-08-11 Diego Novillo <dnovillo@google.com>
+
+ * tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers):
+ Call stream_write_tree instead of output_record_start.
+ (lto_output_ts_binfo_tree_pointers): Likewise.
+
+ * streamer-hooks.h (stream_write_tree): Move from tree-streamer.h.
+ Convert it to a macro.
+ (stream_read_tree): Likewise.
+
+ * lto-streamer.h (lto_stream_as_builtin_p): Move ...
+ * tree-streamer.h (lto_stream_as_builtin_p): ... here.
+
+ * lto-streamer-in.c (lto_read_tree): Call lto_streamer_cache_append
+ and tree_read_bitfields.
+ * lto-streamer-out.c (lto_is_streamable): Move from lto-streamer.c
+ (lto_write_tree): Call it.
+ * lto-streamer.c (lto_is_streamable): Move to lto-streamer-out.c
+ * streamer-hooks.h (struct streamer_hooks): Remove fields
+ name, is_streamable and alloc_tree. Update all users.
+ * tree-streamer-in.c (tree_read_bitfields): Factor out of ...
+ (lto_materialize_tree): ... here.
+ Handle CALL_EXPR codes.
+ Remove call to lto_streamer_cache_append.
+ * tree-streamer-out.c (lto_output_tree_header): Handle CALL_EXPR nodes.
+ * tree-streamer.h (tree_read_bitfields): Declare.
+
+ * Makefile.in (TREE_STREAMER_H): Add STREAMER_HOOKS_H.
+ (gimple-streamer-in.o): Add dependency on TREE_STREAMER_H.
+ * tree-streamer.h (stream_read_tree): New. Replace all calls
+ to lto_input_tree with it.
+ (stream_write_tree): New. Replace all calls to lto_output_tree,
+ lto_output_tree_ref and lto_output_tree_or_ref with it.
+ * lto-streamer-in.c (lto_read_tree): Inline code from
+ lto_streamer_read_tree.
+ (lto_input_tree): Move from tree-streamer-in.c.
+ * lto-streamer-out.c (lto_output_tree_ref): Make static.
+ Remove handling of NULL values for EXPR.
+ Do not handle EXPRs that are not indexable.
+ (lto_write_tree): Move from tree-streamer-out.c.
+ Inline lto_streamer_write_tree.
+ (lto_output_tree): Move from tree-streamer-out.c.
+ If REF_P is true and EXPR is indexable, call lto_output_tree_ref.
+ * lto-streamer.c (lto_record_common_node): Move to tree-streamer.c.
+ (lto_preload_common_nodes): Likewise.
+ Remove assertions and adjustments for nodes
+ main_identifier_node, ptrdiff_type_node and fileptr_type_node.
+ (lto_streamer_hooks_init): Set streamer_hooks.write_tree to
+ lto_output_tree and streamer_hooks.read_tree to lto_input_tree.
+ * lto-streamer.h (lto_input_tree): Declare.
+ (lto_output_tree_ref): Remove.
+ * streamer-hooks.h (struct streamer_hooks): Remove fields
+ preload_common_nodes, indexable_with_decls_p,
+ pack_value_fields, unpack_value_fields and output_tree_header.
+ Update all users.
+ * tree-streamer-in.c (lto_materialize_tree): Make extern.
+ (lto_input_tree_pointers): Likewise.
+ (lto_read_tree): Move to lto-streamer-in.c.
+ (lto_input_integer_cst): Make extern.
+ (lto_get_pickled_tree): Likewise.
+ (lto_get_builtin_tree): Likewise.
+ (lto_input_tree): Move to lto-streamer-in.c.
+ * tree-streamer-out.c (pack_value_fields): Make extern.
+ (lto_output_tree_or_ref): Remove. Replace all callers with
+ calls to stream_write_tree.
+ (lto_output_builtin_tree): Make extern.
+ (lto_streamer_write_tree): Inline into lto_write_tree.
+ (lto_output_tree_pointers): Make extern.
+ (lto_output_tree_header): Likewise.
+ (lto_output_integer_cst): Likewise.
+ (lto_write_tree): Move to lto-streamer-out.c.
+ (lto_output_tree): Likewise.
+ * tree-streamer.c (lto_record_common_node): Move from lto-streamer.c
+ (preload_common_nodes): Likewise.
+ (lto_streamer_cache_create): Call it.
+ * tree-streamer.h: Include streamer-hooks.h.
+ (stream_write_tree): New.
+ (stream_read_tree): New.
+ (lto_input_tree): Remove.
+ (lto_materialize_tree): Declare.
+ (lto_input_tree_pointers): Declare.
+ (lto_get_pickled_tree): Declare.
+ (lto_get_builtin_tree): Declare.
+ (lto_input_integer_cst): Declare.
+ (lto_output_tree_header): Declare.
+ (pack_value_fields): Declare.
+ (lto_output_tree_pointers): Declare.
+ (lto_output_integer_cst): Declare.
+ (lto_output_builtin_tree): Declare.
+
+2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
+ only if producer writes to the register given by regno.
+
+2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
+ Alexander Monakov <amonakov@ispras.ru>
+
+ * sched-deps.c (sched_get_condition_with_rev): Rename to ...
+ (sched_get_condition_with_rev_uncached): ... this. Factor out
+ condition caching logic into ...
+ (sched_get_condition_with_rev): ... this. Reimplement. Do not
+ attempt to use cache for instructions with zero luid.
+ (sched_analyze_insn): Use INSN_CACHED_COND instead of INSN_COND.
+ * sched-int.h (INSN_COND): Rename to INSN_CACHED_COND.
+
+2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * sel-sched-ir.c (get_seqno_of_a_pred): Rename to
+ get_seqno_for_a_jump. Update the caller.
+ (get_seqno_by_succs): New. Use it ...
+ (get_seqno_for_a_jump): ... here to find a seqno if looking at
+ predecessors was not sufficient.
+ (get_seqno_by_preds): Include head in iteration range, exclude insn.
+
+2011-08-11 Dmitry Melnik <dm@ispras.ru>
+
+ * sel-sched-ir.c (invalidate_av_set): Remove the assert.
+
+2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * sel-sched-ir.h (register_unavailable_p): Declare.
+ * sel-sched-ir.c (register_unavailable_p): New. Use it...
+ (set_unavailable_target_for_expr): ... here to properly test
+ availability of a register.
+ (speculate_expr): Ditto.
+ * sel-sched.c (substitute_reg_in_expr): Ditto.
+ (av_set_could_be_blocked_by_bookkeeping_p): Ditto.
+
+2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * sel-sched.c (verify_target_availability): Fix usage of
+ hard_regno_nregs.
+
+2011-08-11 Dmitry Melnik <dm@ispras.ru>
+
+ * sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of
+ recognized by cannot_copy_insn_p hook and volatile instructions.
+
+2011-08-11 Dmitry Melnik <dm@ispras.ru>
+
+ * sel-sched-ir.c (merge_expr_data): Take maximum spec.
+
+2011-08-11 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * doc/md.texi (define_bypass): Say that the instruction names can
+ be filename-style globs.
+ * Makefile.in (FNMATCH_H): Define.
+ (build/genattrtab.o, build/genautomata.o): Depend on $(FNMATCH_H).
+ * genattrtab.c: Include fnmatch.h.
+ (bypass_list): Change field name from "insn" to "pattern".
+ (gen_bypass_1): Update accordingly.
+ (process_bypasses): Use fnmatch to check for matches between
+ insn reservations and define_bypasses.
+ * genautomata.c: Include fnmatch.h.
+ (bypass_decl): Rename in_insn_name and out_insn_name to in_pattern
+ and out_pattern respectively.
+ (gen_bypass, insert_bypass): Update accordingly.
+ (for_each_matching_insn, process_bypass_2, process_bypass_1)
+ (process_bypass): New functions.
+ (process_decls): Use process_bypass. Update after field name changes.
+
+2011-08-11 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49687
+ * config/avr/avr.md (smulqi3_highpart): New insn.
+ (umulqi3_highpart): New insn.
+ (*subqi3.ashiftrt7): New insn.
+ (smulhi3_highpart): New expander.
+ (umulhi3_highpart): Nex expander.
+ (*smulhi3_highpart_call): New insn.
+ (*umulhi3_highpart_call): New insn.
+ (extend_u): New code attribute.
+ (extend_prefix): Rename code attribute to extend_su.
+ * config/avr/avr.c (avr_rtx_costs): Report costs of highpart of
+ widening QI/HI multiply.
+
+2011-08-11 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50039
+ * tree-vect-patterns.c (vect_operation_fits_smaller_type): Check
+ that DEF_STMT has a stmt_vec_info.
+
+2011-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (can_trust_pointer_alignment): Remove.
+ * builtins.c (can_trust_pointer_alignment): Remove.
+
+2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+
+ * c-typeck.c (scalar_to_vector): New function. Try scalar to
+ vector conversion.
+ (stv_conv): New enum for scalar_to_vector return type.
+ (build_binary_op): Adjust.
+ * doc/extend.texi: Description of scalar to vector expansion.
+
+2011-08-10 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (get_pointer_alignment): Remove max-align argument.
+ (get_object_alignment): Likewise.
+ * builtins.c (get_object_alignment_1): Adjust.
+ (get_object_alignment): Remove max-align argument.
+ (get_pointer_alignment): Likewise.
+ (expand_builtin_strlen): Adjust.
+ (expand_builtin_memcpy): Likewise.
+ (expand_builtin_mempcpy_args): Likewise.
+ (expand_builtin_strncpy): Likewise.
+ (expand_builtin_memset_args): Likewise.
+ (expand_builtin_memcmp): Likewise.
+ (expand_builtin_strcmp): Likewise.
+ (expand_builtin_strncmp): Likewise.
+ (get_builtin_sync_mem): Likewise.
+ (fold_builtin_memset): Likewise.
+ (fold_builtin_memory_op): Likewise.
+ (expand_builtin_memory_chk): Likewise.
+ * emit-rtl.c (get_mem_align_offset): Likewise.
+ (set_mem_attributes_minus_bitpos): Likewise.
+ * expr.c (expand_assignment): Likewise.
+ (expand_expr_real_1): Likewise.
+ * tree-sra.c (tree_non_mode_aligned_mem_p): Likewise.
+ * tree-ssa-forwprop.c (simplify_builtin_call): Likewise.
+ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Likewise.
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
+ * value-prof.c (gimple_stringops_transform): Likewise.
+
+2011-08-10 Paulo J. Matos <paulo.matos@csr.com>
+
+ * doc/tm.texi.in (CLASS_MAX_NREGS): Fix typo.
+ * doc/tm.texi: Regenerate.
+
+2011-08-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/29560
+ * config/avr/avr.md (*ashlhiqi3): New insn-and-split.
+ (*ashl<extend_prefix>qihiqi3): New insn-and-splits.
+ (*ashl<extend_prefix>qihiqi3.mem): New insn-and-splits.
+ Add peephole2 to map ashlhi3 to ashlqi3 if high part of
+ shift target is unused.
+
+2011-08-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49937
+ * tree-ssa-ccp.c (get_value_from_alignment): Re-implement
+ using get_object_alignment_1.
+
+2011-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_emit_i387_round): New function.
+ * config/i386/i386-protos.h (ix86_emit_i387_round): Declare.
+ * config/i386/i386.md (round<mode>2): Use X87MODEF mode iterator.
+ Use ix86_emit_i387_round to expand round function for i387 math.
+ (lround<X87MODEF:mode><SWI248x:mode>2): Use X87MODEF mode iterator.
+ Use ix86_emit_i387_round to expand {l,ll}round function for i387 math.
+
+2011-08-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sync.c: Move to ../libgcc.
+ * Makefile.in (libgcc.mvars): Remove LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS.
+ * config/mips/t-libgcc-mips16 (LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS):
+ Remove.
+
+2011-08-09 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (REGISTER_MOVE_COST): Remove macro.
+ * config/mmix/mmix-protos.h (mmix_register_move_cost): Remove.
+ * config/mmix/mmix.c (mmix_register_move_cost): Make static.
+ Change 'from' and 'to' arguments type to reg_class_t.
+ (TARGET_REGISTER_MOVE_COST): Define.
+
+2011-08-09 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/50026
+ Revert:
+ PR rtl-optimization/49990
+ * ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
+ ignore classes which can not change mode.
+ (find_costs_and_classes): Ditto.
+
+2011-08-09 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (zero_nonzero_bits_from_vr): Also return precise
+ information for ranges with only negative values.
+ (extract_range_from_binary_expr_1): Adjust BIT_IOR_EXPR and
+ BIT_AND_EXPR handling to handle ranges with negative values.
+
+2011-08-09 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c: Remove traling spaces.
+ * config/i386/sse.md: Likewise.
+ (*fma_fmadd_<mode>): Fix insn alternative 1 mnemonic.
+ (*fma_fmsub_<mode>): Likewise.
+ (*fma_fnmadd_<mode>): Likewise.
+ (*fma_fnmsub_<mode>): Likewise.
+
+2011-08-09 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md: Disable extender peepholes at -O3.
+
+2011-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49781
+ * config/i386/i386.md (reload_noff_load): New.
+ (reload_noff_store): Ditto.
+ * config/i386/i386.c (ix86_secondary_reload): Use
+ CODE_FOR_reload_noff_load and CODE_FOR_reload_noff_store to handle
+ double-word moves from/to non-offsetable addresses instead of
+ generating XMM temporary.
+
+2011-08-09 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
+
+2011-08-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50014
+ * tree-vect-loop.c (vectorizable_reduction): Get def type before
+ calling vect_get_vec_def_for_stmt_copy ().
+
+2011-08-08 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/49990
+ * ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
+ ignore classes which can not change mode.
+ (find_costs_and_classes): Ditto.
+
+2011-08-08 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/49990
+ * config/i386/i386.c (ix86_expand_prologue): Call
+ for SEH target gen_prologue_use instead of gen_blockage
+ at prologue's end.
+
+2011-08-08 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/49923
+ * tree-sra.c (access_precludes_ipa_sra_p): Also check access
+ memory alignment.
+
+2011-08-08 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (LTO_STREAMER_H): Add DIAGNOSTIC_H.
+ (DATA_STREAMER_H): New.
+ (GIMPLE_STREAMER_H): New.
+ (TREE_STREAMER_H): New.
+ (STREAMER_HOOKS_H): New.
+ (OBJS): Add data-streamer.o, data-streamer-in.o, data-streamer-out.o,
+ gimple-streamer-in.o, gimple-streamer-out.o, streamer-hooks.o,
+ tree-streamer.o, tree-streamer-in.o and tree-streamer-out.o.
+ (data-streamer.o): New.
+ (data-streamer-in.o): New.
+ (data-streamer-out.o): New.
+ (gimple-streamer-in.o): New.
+ (gimple-streamer-out.o): New.
+ (streamer-hooks.o): New.
+ (tree-streamer.o): New.
+ (tree-streamer-in.o): New.
+ (tree-streamer-out.o): New.
+ (lto-cgraph.o): Add dependency on DATA_STREAMER_H and TREE_STREAMER_H.
+ (lto-streamer-in.o): Add dependency on DATA_STREAMER_H,
+ GIMPLE_STREAMER_H and TREE_STREAMER_H.
+ (lto-streamer-out.o): Add dependency on DATA_STREAMER_H,
+ GIMPLE_STREAMER_H and TREE_STREAMER_H.
+ (lto-streamer.o): Add dependency on STREAMER_HOOKS_H.
+ (ipa-prop.o): Add dependency on DATA_STREAMER_H and TREE_STREAMER_H.
+ (ipa-inline-analysis.o): Likewise.
+ (ipa-pure-const.o): Likewise.
+ * data-streamer-in.c: New.
+ * data-streamer-out.c: New.
+ * data-streamer.c: New.
+ * data-streamer.h: New.
+ * gimple-streamer-in.c: New.
+ * gimple-streamer-out.c: New.
+ * gimple-streamer.h: New.
+ * ipa-inline-analysis.c: Include data-streamer.h.
+ * ipa-prop.c: Include data-streamer.h.
+ * ipa-pure-const.c: Include data-streamer.h.
+ * lto-cgraph.c: Include data-streamer.h.
+ * lto-section-in.c (lto_input_uleb128): Move to data-streamer-in.c.
+ (lto_input_widest_uint_uleb128): Likewise.
+ (lto_input_sleb128): Likewise.
+ (bp_unpack_var_len_unsigned): Likewise.
+ (bp_unpack_var_len_int): Likewise.
+ * lto-section-out.c (lto_output_uleb128_stream): Move to
+ data-streamer-out.c.
+ (lto_output_widest_uint_uleb128_stream): Likewise.
+ (lto_output_sleb128_stream): Likewise.
+ (bp_pack_var_len_unsigned): Likewise.
+ (bp_pack_var_len_int): Likewise.
+ * lto-streamer-in.c: Include data-streamer.h and gimple-streamer.h.
+ (struct string_slot): Remove. Update all users.
+ (lto_tag_check_set): Make extern.
+ (lto_tag_check_range): Move to lto-streamer.h.
+ (lto_tag_check): Likewise.
+ (hash_string_slot_node): Remove. Update all users.
+ (eq_string_slot_node): Remove. Update all users.
+ (string_for_index): Move to data-streamer-in.c
+ (input_string_internal): Likewise.
+ (input_string_cst): Move to tree-streamer-in.c.
+ (input_identifier): Likewise.
+ (lto_input_string): Move to data-streamer-in.c
+ (input_record_start): Move to data-streamer.h
+ (canon_file_name): Use new definition of struct string_slot
+ from data-streamer.h. Set S_SLOT.LEN.
+ (lto_input_location): Make extern.
+ (lto_input_chain): Move to tree-streamer-in.c.
+ (lto_init_eh): Make extern.
+ (input_phi): Move to gimple-streamer-in.c.
+ (input_gimple_stmt): Likewise.
+ (input_bb): Likewise.
+ (unpack_ts_base_value_fields): Move to tree-streamer-in.c.
+ (unpack_ts_real_cst_value_fields): Likewise.
+ (unpack_ts_fixed_cst_value_fields): Likewise.
+ (unpack_ts_decl_common_value_fields): Likewise.
+ (unpack_ts_decl_wrtl_value_fields): Likewise.
+ (unpack_ts_decl_with_vis_value_fields): Likewise.
+ (unpack_ts_function_decl_value_fields): Likewise.
+ (unpack_ts_type_common_value_fields): Likewise.
+ (unpack_ts_block_value_fields): Likewise.
+ (unpack_ts_translation_unit_decl_value_fields): Likewise.
+ (unpack_value_fields): Likewise.
+ (lto_materialize_tree): Likewise.
+ (lto_input_ts_common_tree_pointers): Likewise.
+ (lto_input_ts_vector_tree_pointers): Likewise.
+ (lto_input_ts_complex_tree_pointers): Likewise.
+ (lto_input_ts_decl_minimal_tree_pointers): Likewise.
+ (lto_input_ts_decl_common_tree_pointers): Likewise.
+ (lto_input_ts_decl_non_common_tree_pointers): Likewise.
+ (lto_input_ts_decl_with_vis_tree_pointers): Likewise.
+ (lto_input_ts_field_decl_tree_pointers): Likewise.
+ (lto_input_ts_function_decl_tree_pointers): Likewise.
+ (lto_input_ts_type_common_tree_pointers): Likewise.
+ (lto_input_ts_type_non_common_tree_pointers): Likewise.
+ (lto_input_ts_list_tree_pointers): Likewise.
+ (lto_input_ts_vec_tree_pointers): Likewise.
+ (lto_input_ts_exp_tree_pointers): Likewise.
+ (lto_input_ts_block_tree_pointers): Likewise.
+ (lto_input_ts_binfo_tree_pointers): Likewise.
+ (lto_input_ts_constructor_tree_pointers): Likewise.
+ (lto_input_ts_target_option): Likewise.
+ (lto_input_ts_translation_unit_decl_tree_pointers): Likewise.
+ (lto_input_tree_pointers): Likewise.
+ (lto_get_pickled_tree): Likewise.
+ (lto_get_builtin_tree): Likewise.
+ (lto_read_tree): Likewise.
+ (lto_input_integer_cst): Likewise.
+ (lto_input_tree): Likewise.
+ * lto-streamer-out.c: Include data-streamer.h,
+ gimple-streamer.h and streamer-hooks.h.
+ (struct string_slot): Move to data-streamer.h.
+ (hash_string_slot_node): Likewise.
+ (eq_string_slot_node): Likewise.
+ (lto_string_index): Move to data-streamer-out.c.
+ (lto_output_string_with_length): Likewise.
+ (lto_output_string): Likewise.
+ (output_string_cst): Move to tree-streamer-out.c.
+ (output_identifier): Likewise.
+ (output_zero): Move to data-streamer-out.c
+ (output_uleb128): Likewise.
+ (output_sleb128): Likewise.
+ (output_record_start): Move to data-streamer.h
+ (pack_ts_base_value_fields): Move to tree-streamer-out.c.
+ (pack_ts_real_cst_value_fields): Likewise.
+ (pack_ts_fixed_cst_value_fields): Likewise.
+ (pack_ts_decl_common_value_fields): Likewise.
+ (pack_ts_decl_wrtl_value_fields): Likewise.
+ (pack_ts_decl_with_vis_value_fields): Likewise.
+ (pack_ts_function_decl_value_fields): Likewise.
+ (pack_ts_type_common_value_fields): Likewise.
+ (pack_ts_block_value_fields): Likewise.
+ (pack_ts_translation_unit_decl_value_fields): Likewise.
+ (pack_value_fields): Likewise.
+ (lto_output_chain): Likewise.
+ (lto_output_ts_common_tree_pointers): Likewise.
+ (lto_output_ts_vector_tree_pointers): Likewise.
+ (lto_output_ts_complex_tree_pointers): Likewise.
+ (lto_output_ts_decl_minimal_tree_pointers): Likewise.
+ (lto_output_ts_decl_common_tree_pointers): Likewise.
+ (lto_output_ts_decl_non_common_tree_pointers): Likewise.
+ (lto_output_ts_decl_with_vis_tree_pointers): Likewise.
+ (lto_output_ts_field_decl_tree_pointers): Likewise.
+ (lto_output_ts_function_decl_tree_pointers): Likewise.
+ (lto_output_ts_type_common_tree_pointers): Likewise.
+ (lto_output_ts_type_non_common_tree_pointers): Likewise.
+ (lto_output_ts_list_tree_pointers): Likewise.
+ (lto_output_ts_vec_tree_pointers): Likewise.
+ (lto_output_ts_exp_tree_pointers): Likewise.
+ (lto_output_ts_block_tree_pointers): Likewise.
+ (lto_output_ts_binfo_tree_pointers): Likewise.
+ (lto_output_ts_constructor_tree_pointers): Likewise.
+ (lto_output_ts_target_option): Likewise.
+ (lto_output_ts_translation_unit_decl_tree_pointers): Likewise.
+ (lto_output_tree_pointers): Likewise.
+ (lto_output_tree_header): Likewise.
+ (lto_output_builtin_tree): Likewise.
+ (lto_write_tree): Likewise.
+ (lto_output_integer_cst): Likewise.
+ (lto_output_tree): Likewise.
+ (output_phi): Move to gimple-streamer-out.c.
+ (output_gimple_stmt): Likewise.
+ (output_bb): Likewise.
+ * lto-streamer.c: Include tree-streamer.h and streamer-hooks.h.
+ (streamer_hooks): Move to streamer-hooks.c.
+ (check_handled_ts_structures): Move to tree-streamer.c
+ (lto_streamer_cache_add_to_node_array): Likewise.
+ (lto_streamer_cache_insert_1): Likewise.
+ (lto_streamer_cache_insert): Likewise.
+ (lto_streamer_cache_insert_at): Likewise.
+ (lto_streamer_cache_append): Likewise.
+ (lto_streamer_cache_lookup): Likewise.
+ (lto_streamer_cache_get): Likewise.
+ (lto_record_common_node): Likewise.
+ (lto_preload_common_nodes): Likewise.
+ (lto_streamer_cache_create): Likewise.
+ (lto_streamer_cache_delete): Likewise.
+ (streamer_hooks_init): Move to streamer-hooks.c.
+ * lto-streamer.h: Include diagnostic.h
+ (struct output_block, struct lto_input_block,
+ struct data_in, struct bitpack_d): Remove forward declarations.
+ (struct bitpack_d): Move to data-streamer.h.
+ (struct lto_streamer_cache_d): Move to tree-streamer.h.
+ (struct streamer_hooks): Move to streamer-hooks.h.
+ (bp_pack_var_len_unsigned): Move to data-streamer.h.
+ (bp_pack_var_len_int): Likewise.
+ (bp_unpack_var_len_unsigned): Likewise.
+ (bp_unpack_var_len_int): Likewise.
+ (lto_input_location): Declare.
+ (lto_tag_check_set): Declare.
+ (lto_init_eh): Declare.
+ (lto_output_tree_ref): Declare.
+ (lto_output_location): Declare.
+ (bitpack_create): Move to data-streamer.h.
+ (bp_pack_value): Likewise.
+ (lto_output_bitpack): Likewise.
+ (lto_input_bitpack): Likewise.
+ (bp_unpack_value): Likewise.
+ (lto_output_1_stream): Likewise.
+ (lto_input_1_unsigned): Likewise.
+ (lto_output_int_in_range): Likewise.
+ (lto_input_int_in_range): Likewise.
+ (bp_pack_int_in_range): Likewise.
+ (bp_unpack_int_in_range): Likewise.
+ (lto_output_enum): Likewise.
+ (lto_input_enum): Likewise.
+ (bp_pack_enum): Likewise.
+ (bp_unpack_enum): Likewise.
+ * streamer-hooks.c: New.
+ * streamer-hooks.h: New.
+ * tree-streamer-in.c: New.
+ * tree-streamer-out.c: New.
+ * tree-streamer.c: New.
+ * tree-streamer.h: New.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gthr-posix95.h: Remove.
+ * gthr.h [_PTHREADS95]: Remove.
+ * configure.ac (enable_threads): Remove posix95.
+ * configure: Regenerate.
+ * doc/install.texi (Configuration, --enable-threads): Remove posix95.
+
+2011-08-08 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49781
+ * config/i386/i386.c (ix86_decompose_address): Allow zero-extended
+ SImode addresses.
+ (ix86_print_operand_address): Handle zero-extended addresses.
+ (memory_address_length): Add length of addr32 prefix for
+ zero-extended addresses.
+ (ix86_secondary_reload): Handle moves to/from double-word general
+ registers from/to zero-extended addresses.
+ * config/i386/predicates.md (lea_address_operand): Reject
+ zero-extended operands.
+
+2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR other/48007
+ * config.gcc (libgcc_tm_file): Add i386/value-unwind.h for Linux/x86.
+
+ * system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
+ (ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
+
+ * unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
+ (_Unwind_Context_Reg_Val): Likewise.
+ (_Unwind_Get_Unwind_Word): Likewise.
+ (_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
+ (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
+ (_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
+ for EXTENDED_CONTEXT_BIT.
+ (__frame_state_for): Likewise.
+ (uw_init_context_1): Likewise.
+ (_Unwind_GetGR): Updated.
+ (_Unwind_SetGR): Likewise.
+ (_Unwind_GetGRPtr): Likewise.
+ (_Unwind_SetGRPtr): Likewise.
+ (_Unwind_SetGRValue): Likewise.
+ (_Unwind_GRByValue): Likewise.
+ (uw_install_context_1): Likewise.
+
+ * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
+ ASSUME_EXTENDED_UNWIND_CONTEXT.
+ * doc/tm.texi: Regenerated.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (gengtype$(exeext)): Add $(LDFLAGS).
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/invoke.texi (DEC Alpha Options, -mcpu): native support isn't
+ Linux/GNU-specific.
+ (DEC Alpha Options, -mtune): Likewise.
+ (MIPS Options, -march): native is supported on IRIX.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/driver-sparc.c: New file.
+ * config/sparc/x-sparc: New file.
+ * config.host: Use driver-sparc.o, sparc/x-sparc on sparc*-*-solaris2*.
+ * config/sparc/sparc.opt (native): New value for enum processor_type.
+ * config/sparc/sparc-opts.h (PROCESSOR_NATIVE): Declare.
+ * config/sparc/sparc.c (sparc_option_override): Abort if
+ PROCESSOR_NATIVE gets here.
+ * config/sparc/sol2.h [__sparc__] (host_detect_local_cpu): Declare.
+ (EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS,
+ DRIVER_SELF_SPECS): Define.
+ * doc/invoke.texi (SPARC Options, -mcpu): Document native.
+ (SPARC Options, -mtune): Likewise.
+ * configure.ac (EXTRA_GCC_LIBS): Check for libkstat.
+ Substitute result.
+ * configure: Regenerate.
+ * Makefile.in (EXTRA_GCC_LIBS): Set.
+ (xgcc$(exeext)): Add $(EXTRA_GCC_LIBS).
+ (cpp$(exeext)): Likewise.
+
+2011-08-08 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (extract_range_from_unary_expr_1): New function,
+ split out from ...
+ (extract_range_from_unary_expr): ... here. Handle BIT_NOT_EXPR
+ by composition.
+
+2011-08-08 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR tree-optimization/50005
+ * ipa-inline-analysis (remap_predicate): Add cast to
+ silence signed/unsigned comparison warning.
+
+2011-08-08 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (get_sched_window): Use a table for the debug output.
+ Print the current ii.
+ (sms_schedule_by_order): Reduce whitespace in dump line.
+
+2011-08-08 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * modulo-sched.c (get_sched_window): Use just one loop for predecessors
+ and one loop for successors. Fix upper bound of memory range.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50001
+ * config/alpha/alpha.c (alpha_instantiate_decls): New function.
+ (TARGET_INSTANTIATE_DECLS): New define.
+
+2011-08-06 Paolo Bonzini <bonzini@gnu.org>
+ Mikael Morin <mikael.morin@sfr.fr>
+
+ * Makefile.in (INCLUDES_FOR_TARGET): New.
+ (LIBGCC2_CFLAGS): Use it.
+ (CRTSTUFF_CFLAGS): Use it instead of INCLUDES.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_compute_frame_layout): Simplify
+ frame->save_regs_using_mov calculation.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ssemodesuffix): Remove V8SI mode.
+ * config/i386/sse.md (castmode): New mode attribute.
+ (avx_<castmode><avxsizesuffix>_<castmode>): Rename from
+ avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49494
+ * ipa-inline-analysis.c (remap_predicate): Add bounds check.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49500
+ * tree-emultls.c (new_emutls_decl):Add alias_of parameter;
+ handle aliases.
+ (create_emultls_var):New function.
+ (ipa_lower_emutls): Handle aliases correctly.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49735
+ * ipa-inline.c (recursive_inlining): Look through aliases.
+
+2011-08-05 Jason Merrill <jason@redhat.com>
+
+ * config/i386/i386.c (setup_incoming_varargs_ms_64): Move
+ declarations to beginning of function.
+
+2011-08-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/49900
+ * sched-ebb.c (add_deps_for_risky_insns): Also add dependencies to
+ ensure basic blocks stay in the same order.
+
+2011-08-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/s390/s390.c (s390_expand_cs_hqi): Add new arguments to
+ store_bit_field.
+ (s390_expand_atomic): Same.
+
+2011-08-05 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/49977
+ * dwarf2cfi.c (scan_insn_after): Split out of ...
+ (scan_trace): ... here. Correctly place notes wrt sequences.
+
+2011-08-05 Kaz Kojima <kkojima@gcc.gnu.org>
+ Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/49982
+ * expr.c (fixup_args_size_notes): Look through no-op moves.
+
+2011-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*push<mode>2): Use "o" constraint instead
+ of "m" for operand 0. Add type and mode attribute.
+ (*pushxf_nointeger"): Use "<" constraint for operand 0.
+ (*pushdf_rex64): New pattern, split out of *pushdf. Use "m"
+ constraint instead of "o" for opreand 1.
+ (*pushdf): Disable for TARGET_64BIT. Correct mode attribute.
+ (*movdi_internal_rex64): Use "!o" constraint instead of "!m" for
+ operand 0, alternative 4.
+ (*movdf_internal_rex64): Ditto for operand 0, alernative 6.
+
+2011-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (lea_address_operand): Rename from
+ no_seg_address_operand.
+ * config/i386/i386.md (*lea_1): Update operand 1 predicate for rename.
+ (*lea_1_zext): Ditto.
+ (*lea_2): Ditto.
+ (*lea_2_zext): Ditto.
+
+2011-08-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_print_operand_address): Handle SUBREGs of
+ parts.base and parts.index.
+ * config/i386/predicates.md (aligned_operand): Ditto.
+ (cmpxchg8b_pic_memory_operand): Ditto.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/soft-fp: Move to ../libgcc.
+ * Makefile.in (SFP_MACHINE): Remove.
+ (libgcc-support): Remove $(SFP_MACHINE) dependency.
+ * config/arm/sfp-machine.h: Move to ../libgcc/config/arm.
+ * config/arm/t-arm-softfp: Move to
+ ../libgcc/config/arm/t-softfp.
+ * config/c6x/sfp-machine.h: Move to ../libgcc/config/c6x.
+ * config/c6x/t-c6x-softfp: Remove.
+ * config/i386/sfp-machine.h: Move to ../libgcc/config/i386.
+ * config/i386/t-fprules-softfp: Move to
+ ../libgcc/config/t-softfp-tf.
+ * config/ia64/sfp-machine.h: Move to ../libgcc/config/ia64.
+ * config/ia64/t-fprules-softfp: Remove.
+ * config/lm32/sfp-machine.h: Move to ../libgcc/config/lm32.
+ * config/lm32/t-fprules-softfp: Remove.
+ * config/moxie/sfp-machine.h: Remove.
+ * config/moxie/t-moxie-softfp: Remove.
+ * config/rs6000/darwin-ldouble-format: Move to
+ ../libgcc/config/rs6000/ibm-ldouble-format.
+ * config/rs6000/darwin-ldouble.c: Move to
+ ../libgcc/config/rs6000/ibm-ldouble.c
+ * config/rs6000/libgcc-ppc-glibc.ver: Move to ../libgcc/config/rs6000.
+ * config/rs6000/libgcc-ppc64.ver: Likewise.
+ * config/rs6000/sfp-machine.h: Likewise.
+ * config/rs6000/t-aix43 (SHLIB_MAPFILES): Remove
+ $(srcdir)/config/rs6000/libgcc-ppc64.ver.
+ (LIB2FUNCS_EXTRA): Remove.
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/rs6000/t-aix52: Likewise
+ * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/darwin-ldouble.c.
+ (SHLIB_MAPFILES): Remove.
+ * config/rs6000/t-darwin64 (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/darwin-ldouble.c.
+ * config/rs6000/t-fprules-softfp: Move to
+ ../libgcc/config/t-softfp-sfdf.
+ * config/rs6000/t-freebsd: Move to ../libgcc/config/rs6000.
+ * config/rs6000/t-linux64 (softfp_wrap_start, softfp_wrap_end): Remove.
+ * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/darwin-ldouble.c.
+ * config/score/sfp-machine.h: Move to ../libgcc/config/score.
+ * config/score/t-score-softfp: Remove.
+ * config.gcc (arm*-*-linux*): Remove arm/t-arm-softfp,
+ soft-fp/t-softfp from tmake_file.
+ (arm*-*-uclinux*): Likewise.
+ (arm*-*-ecos-elf): Likewise.
+ (arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
+ (arm*-*-rtems*): Likewise.
+ (arm*-*-elf): Likewise.
+ (moxie-*-elf): Remove moxie/t-moxie-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (moxie-*-uclinux*): Likewise.
+ (moxie-*-rtems*): Likewise.
+ (lm32-*-elf*): Remove lm32/t-fprules-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (lm32-*-rtems*): Likewise.
+ (lm32-*-uclinux*): Likewise.
+ (powerpc-*-freebsd*): Remove rs6000/t-freebsd,
+ rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
+ (powerpc-*-linux*, powerpc64-*-linux*): Remove
+ rs6000/t-fprules-softfp, soft-fp/t-softfp from tmake_file.
+ (score-*-elf): Remove score/t-score-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (tic6x-*-elf): Remove c6x/t-c6x-softfp, soft-fp/t-softfp from
+ tmake_file.
+ (tic6x-*-uclinux): Likewise.
+ (i[34567]86-*-darwin*, x86_64-*-darwin*): Remove i386/t-fprules-softfp,
+ soft-fp/t-softfp from tmake_file.
+ (i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
+ (x86_64-*-kfreebsd*-gnu, i[34567]86-*-gnu*): Likewise.
+ (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*): Likewise.
+ (i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
+ (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Likewise.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): Remove.
+ (libgcc-support): Remove $(FPBIT), $(DPBIT), $(TPBIT) dependencies.
+ (libgcc.mvars): Remove FPBIT, FPBIT_FUNCS, DPBIT, DPBIT_FUNCS,
+ TPBIT, TPBIT_FUNCS.
+ * config/fp-bit.c, config/fp-bit.h: Move to ../libgcc.
+ * config/arm/t-strongarm-elf (FPBIT, DPBIT, dp-bit.c, fp-bit.c):
+ Remove.
+ * config/arm/t-vxworks: Likewise.
+ * config/arm/t-wince-pe: Likewise.
+ * config/avr/t-avr (fp-bit.c, FPBIT): Remove.
+ * config/bfin/t-bfin (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/bfin/t-bfin-elf: Likewise.
+ * config/bfin/t-bfin-linux: Likewise.
+ * config/bfin/t-bfin-uclinux: Likewise.
+ * config/cris/t-cris (FPBIT, DPBIT, dp-bit.c, tmplibgcc_fp_bit.c):
+ Remove.
+ * config/fr30/t-fr30: Likewise.
+ * config/frv/t-frv: Likewise.
+ * config/h8300/t-h8300 (FPBIT, fp-bit.c): Remove.
+ * config/iq2000/t-iq2000 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/m32c/t-m32c: Likewise.
+ * config/m32r/t-linux: (LIB2FUNCS_EXTRA, fp-bit.c, dp-bit.c): Remove.
+ * config/m32r/t-m32r (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/mcore/t-mcore: Likewise.
+ * config/mep/t-mep: Likewise.
+ * config/microblaze/t-microblaze: Likewise.
+ * config/mips/t-linux64 (TPBIT, tp-bit.c): Remove.
+ * config/mips/t-mips (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/mips/t-sdemtk (FPBIT, DPBIT): Remove.
+ * config/mips/t-sr71k (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/mn10300/t-linux: Remove.
+ * config/mn10300/t-mn10300 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/pdp11/t-pdp11: Likewise.
+ * config/picochip/t-picochip (FPBIT, fp-bit.c): Remove.
+ * config/rs6000/ppc64-fp.c: Move to ../libgcc/config/rs6000.
+ * config/rs6000/t-aix43 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ (LIB2FUNCS_EXTRA): Remove $(srcdir)/config/rs6000/ppc64-fp.c.
+ * config/rs6000/t-aix52: Likewise.
+ * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Remove
+ $(srcdir)/config/rs6000/ppc64-fp.c.
+ * config/rs6000/t-fprules-fpbit: Remove.
+ * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove.
+ * config/rs6000/t-lynx (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/sh/t-netbsd (FPBIT, DPBIT): Remove.
+ * config/sh/t-sh (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/sparc/t-elf: Likewise.
+ * config/sparc/t-leon: Likewise.
+ * config/sparc/t-leon3: Likewise.
+ * config/spu/t-spu-elf: Likewise.
+ (DPBIT_FUNCS): Remove.
+ * config/stormy16/t-stormy16 (FPBIT, DPBIT, dp-bit.c, fp-bit.c): Remove.
+ * config/v850/t-v850: Likewise.
+ * config.gcc (avr-*-rtems*): Add avr/avr-lib.h to libgcc_tm_file.
+ (avr-*-*): Likewise.
+ (h8300-*-rtems*): Set libgcc_tm_file.
+ (h8300-*-elf*): Likewise.
+ (powerpc-*-eabisimaltivec*): Remove rs6000/t-fprules-fpbit from
+ tmake_file.
+ (powerpc-*-eabisim*): Likewise.
+ (powerpc-*-elf*): Likewise.
+ (powerpc-*-eabialtivec*): Likewise.
+ (powerpc-xilinx-eabi*): Likewise.
+ (powerpc-*-eabi*): Likewise.
+ (powerpc-*-rtems*): Likewise.
+ (powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Likewise.
+ (powerpcle-*-elf*): Likewise.
+ (powerpcle-*-eabisim*): Likewise.
+ (powerpcle-*-eabi*): Likewise.
+ (rx-*-elf*): Add rx/rx-lib.h to libgcc_tm_file.
+ (am33_2.0-*-linux*): Remove mn10300/t-linux from tmake_file.
+ * doc/fragments.texi (Target Fragment, Floating Point Emulation):
+ Remove.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (UNWIND_H): Remove.
+ (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Move to
+ ../libgcc/Makefile.in.
+ (LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): Likewise.
+ (LIBUNWINDDEP): Remove.
+ (libgcc-support): Remove LIB2ADDEH, $(srcdir)/emutls.c dependencies.
+ (libgcc.mvars): Remove LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED,
+ LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL.
+ (stmp-int-hdrs): Remove $(UNWIND_H) dependency.
+ Don't copy $(UNWIND_H).
+ * config.gcc (ia64*-*-linux*): Remove with_system_libunwind handling.
+ * configure.ac (GCC_CHECK_UNWIND_GETIPINFO): Remove.
+ * aclocal.m4: Regenerate.
+ * configure: Regenerate.
+ * emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
+ unwind-dw2-fde-compat.c, unwind-dw2-fde-glibc.c, unwind-dw2-fde.c,
+ unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
+ unwind-pe.h, unwind-sjlj.c, unwind.inc: Move to ../libgcc.
+ * unwind-dw2-fde-darwin.c: Move to ../libgcc/config.
+ * config/arm/libunwind.S, config/arm/pr-support.c,
+ config/arm/unwind-arm.c, config/arm/unwind-arm.h: Move to
+ ../libgcc/config/arm.
+ * config/arm/t-bpabi (UNWIND_H, LIB2ADDEH): Remove.
+ * config/arm/t-symbian (UNWIND_H, LIB2ADDEH): Remove.
+ * config/frv/t-frv ($(T)frvbegin$(objext)): Use
+ $(srcdir)/../libgcc to refer to unwind-dw2-fde.h.
+ ($(T)frvend$(objext)): Likewise.
+ * config/ia64/t-glibc (LIB2ADDEH): Remove.
+ * config/ia64/t-glibc-libunwind: Move to ../libgcc/config/ia64.
+ * config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
+ config/ia64/unwind-ia64.c, config/ia64/unwind-ia64.h: Move to
+ ../libgcc/config/ia64.
+ * config/ia64/t-hpux (LIB2ADDEH): Remove.
+ * config/ia64/t-ia64 (LIB2ADDEH): Remove.
+ * config/ia64/t-vms (LIB2ADDEH): Remove.
+ * config/ia64/vms.h (UNW_IVMS_MODE,
+ MD_UNW_COMPATIBLE_PERSONALITY_P): Remove.
+ * config/picochip/t-picochip (LIB2ADDEH): Remove.
+ * config/rs6000/aix.h (R_LR, MD_FROB_UPDATE_CONTEXT): Remove.
+ * config/rs6000/t-darwin (LIB2ADDEH): Remove.
+ * config/rs6000/darwin-fallback.c: Move to ../libgcc/config/rs6000.
+ * config/sh/t-sh ($(T)unwind-dw2-Os-4-200.o): Use
+ $(srcdir)/../libgcc to refer to unwinder sources.
+ * config/spu/t-spu-elf (LIB2ADDEH): Remove.
+ * config/t-darwin (LIB2ADDEH): Remove.
+ * config/t-freebsd (LIB2ADDEH): Remove.
+ * config/t-libunwind (LIB2ADDEH, LIB2ADDEHSTATIC): Remove.
+ * config/t-libunwind-elf: Move to ../libgcc/config.
+ * config/t-linux (LIB2ADDEH): Remove.
+ * config/t-sol2 (LIB2ADDEH): Remove.
+ * config/xtensa/t-xtensa (LIB2ADDEH): Remove.
+ * system.h (MD_FROB_UPDATE_CONTEXT): Poison.
+
+2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (processor_alias_table): Add core-avx-i.
+
+ * doc/invoke.texi: Document core-avx-i.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * tsystem.h (CONST_CAST2, CONST_CAST): Define.
+
+2011-08-05 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-loop.c (vect_create_epilog_for_reduction): Use the
+ result of multiple results reduction when extracting the final
+ value using scalar code.
+
+2011-08-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49984
+ * tree-vrp.c (extract_range_from_binary_expr_1): Handle BIT_XOR_EXPR.
+
+2011-08-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (zero_nonzero_bits_from_vr): Make sure to always
+ return true for constant integer ranges.
+ (extract_range_from_binary_expr_1): Simplify BIT_AND_EXPR and
+ BIT_IOR_EXPR handling.
+
+2011-08-04 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (setup_incoming_varargs_ms_64): Set
+ ix86_varargs_gpr_size and ix86_varargs_fpr_size to zero.
+
+2011-08-04 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.h (struct _stmt_vec_info): Add new field for
+ pattern def statement, and its access macro.
+ (NUM_PATTERNS): Set to 5.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
+ pattern def statement.
+ (vect_transform_loop): Likewise.
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Add new
+ function vect_recog_over_widening_pattern ().
+ (vect_operation_fits_smaller_type): New function.
+ (vect_recog_over_widening_pattern, vect_mark_pattern_stmts):
+ Likewise.
+ (vect_pattern_recog_1): Move the code that marks pattern
+ statements to vect_mark_pattern_stmts (), and call it. Update
+ documentation.
+ * tree-vect-stmts.c (vect_supportable_shift): New function.
+ (vect_analyze_stmt): Handle pattern def statement.
+ (new_stmt_vec_info): Initialize pattern def statement.
+
+2011-08-04 Richard Henderson <rth@redhat.com>
+
+ PR target/49964
+ * config/i386/i386.c (ix86_expand_call): Don't create nested
+ PARALLELs for TARGET_VZEROUPPER.
+ (ix86_split_call_vzeroupper): Fix extraction of the original call.
+ * config/i386/i386.md (*call_rex64_ms_sysv_vzeroupper): Don't
+ recognize nested PARALLELs.
+ (*call_pop_vzeroupper, *sibcall_pop_vzeroupper,
+ *call_value_rex64_ms_sysv_vzeroupper, *call_value_pop_vzeroupper,
+ *sibcall_value_pop_vzeroupper): Likewise.
+
+2011-08-04 Richard Henderson <rth@redhat.com>
+
+ PR middle-end/49968
+ * calls.c (expand_call): Use fixup_args_size_notes for
+ emit_stack_restore.
+ * expr.c (fixup_args_size_notes): Allow STACK_POINTER_REGNUM sets
+ in non-standard modes.
+
+2011-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (self_spec): New variable.
+ (static_specs): Add self_spec.
+ (main): Call do_self_spec on "self_spec" specs after reading
+ user specs files. Move compare_debug handling right after that.
+
+2011-08-04 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (vrp_expr_computes_nonnegative): Remove.
+ (value_range_nonnegative_p): New function.
+ (ssa_name_nonnegative_p): Use it.
+ (value_range_constant_singleton): New function.
+ (op_with_constant_singleton_value_range): Use it.
+ (extract_range_from_binary_expr_1): New function, split out from ...
+ (extract_range_from_binary_expr): ... this. Remove fallback
+ constant folding done here.
+
+2011-08-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49806
+ * tree-vrp.c (op_with_boolean_value_range_p): New function.
+ (simplify_truth_ops_using_ranges): Simplify. Allow inserting
+ a new statement for a final conversion to bool.
+
+2011-08-04 Romain Geissler <romain.geissler@gmail.com>
+
+ * gengtype-state.c: Include "bconfig.h" if
+ GENERATOR_FILE is defined, "config.h" otherwise.
+ * gengtype.c: Likewise.
+ * gengtype-lex.l: Likewise.
+ * gengtype-parse.c: Likewise.
+ * Makefile.in (gengtype-lex.o-warn): New variable.
+ (plugin_resourcesdir): Likewise.
+ (plugin_bindir): Likewise.
+ (plugin_includedir): Use $(plugin_resourcesdir) as prefix base.
+ (MOSTLYCLEANFILES): Add gengtype$(exeext).
+ (native): Depend on gengtype$(exeext) is $enable_plugin
+ is set to "yes".
+ (gtype.state): Depend on s-gtype. Use temporary file.
+ (gengtype-lex.o): New rule.
+ (gengtype-parse.o): Likewise.
+ (gengtype-state.o): Likewise.
+ (gengtype$(exeext)): Likewise.
+ (install-gengtype): Likewise.
+ (gengtype.o): Likewise.
+ (build/gengtype.o): Depend on version.h.
+ (build/gengtype-state): Depend on double-int.h, version.h,
+ $(HASHTAB_H), $(OBSTACK_H), $(XREGEX_H) and build/errors.o.
+ (install-plugin): Depend on install-gengtype.
+
+2011-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49905
+ * tree.h (init_attributes): New prototype.
+ * attribs.c (init_attributes): No longer static.
+
+2011-08-04 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/arm.c (arm_set_fixed_optab_libfunc): Constify
+ maybe_suffix.
+
+2011-08-03 David Li <davidxl@google.com>
+
+ * tree-optimize.c (execute_fixup_cfg): Fix up entry
+ outgoing edge counts after inlining.
+
+2011-08-03 David Li <davidxl@google.com>
+
+ * profile.c (compute_branch_probabilities): Compute
+ function frequency after profile annotation.
+
+2011-08-04 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_epilogue): Simplify
+ use_backchain_to_restore_sp initialisation.
+ (rs6000_legitimate_offset_address_p): Simplify offset test.
+
+2011-08-03 Richard Henderson <rth@redhat.com>
+
+ * config/spu/spu.md: Use define_c_enum instead of define_constants.
+ (UNSPECV_BLOCKAGE, UNSPECV_LNOP, UNSPECV_SYNC): Rename from UNSPEC_*.
+ (UNSPECV_NOP): New.
+
+2011-08-03 Richard Henderson <rth@redhat.com>
+
+ PR target/34888
+ * config/avr/avr.md: New splitter for REG_ARGS_SIZE 0.
+
+2011-08-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49948
+ * gimple.c (walk_stmt_load_store_addr_ops): Walk CONSTRUCTOR elements.
+
+2011-08-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.c (class_sizes): Remove.
+ (reduce_class): Change arguments and return type to reg_class_t.
+ Change type cc var to HARD_REG_SET. Change type best var to
+ reg_class_t. Change type best_size var to unsigned int. Remove
+ initialization class_sizes var. Use reg_class_size array instead
+ of class_sizes. Use reg_class_contents array instead
+ of class_contents.
+
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49958
+ * fold-const.c (fold_binary_loc): Only associate
+ (+ (+ (* a b) c) (* d e)) as (+ (+ (* a b) (* d e)) c) if
+ overflow wraps.
+
+2011-08-03 Alan Modra <amodra@gmail.com>
+
+ PR rtl-optimization/49941
+ * jump.c (mark_jump_label): Comment.
+ (mark_jump_label_1): Set JUMP_LABEL for return jumps.
+ * emit-rtl.c (copy_rtx_if_shared_1, copy_insn_1): Leave RETURN shared.
+ (mark_used_flags): Don't mark RETURN.
+
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49938
+ * tree-scalar-evolution.c (interpret_loop_phi): Gracefully
+ deal with a POLYNOMIAL_CHREC.
+
+2011-08-03 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (calculate_stage_count,
+ calculate_must_precede_follow, get_sched_window,
+ try_scheduling_node_in_cycle, remove_node_from_ps): Add
+ declaration.
+ (update_node_sched_params, set_must_precede_follow, optimize_sc):
+ New functions.
+ (reset_sched_times): Call update_node_sched_params.
+ (sms_schedule): Call optimize_sc.
+ (get_sched_window): Change function arguments.
+ (sms_schedule_by_order): Update call to get_sched_window.
+ Call set_must_precede_follow.
+ (calculate_stage_count): Add function argument.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ PR target/49864
+ PR target/49879
+ * reg-notes.def (REG_ARGS_SIZE): New.
+ * calls.c (emit_call_1): Emit REG_ARGS_SIZE for call_pop.
+ (expand_call): Add REG_ARGS_SIZE to emit_stack_restore.
+ * cfgcleanup.c (old_insns_match_p): Don't allow cross-jumping to
+ different stack levels.
+ * combine-stack-adj.c (adjust_frame_related_expr): Remove.
+ (maybe_move_args_size_note): New.
+ (combine_stack_adjustments_for_block): Use it.
+ * combine.c (distribute_notes): Place REG_ARGS_SIZE.
+ * dwarf2cfi.c (dw_cfi_row_struct): Remove args_size member.
+ (dw_trace_info): Add beg_true_args_size, end_true_args_size,
+ beg_delay_args_size, end_delay_args_size, eh_head, args_size_undefined.
+ (cur_cfa): New.
+ (queued_args_size): Remove.
+ (add_cfi_args_size): Assert size is non-negative.
+ (stack_adjust_offset, dwarf2out_args_size): Remove.
+ (dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust): Remove.
+ (notice_args_size, notice_eh_throw): New.
+ (dwarf2out_frame_debug_def_cfa): Use cur_cfa.
+ (dwarf2out_frame_debug_adjust_cfa): Likewise.
+ (dwarf2out_frame_debug_cfa_offset): Likewise.
+ (dwarf2out_frame_debug_expr): Likewise. Don't stack_adjust_offset.
+ (dwarf2out_frame_debug): Don't handle non-frame-related-p insns.
+ (change_cfi_row): Don't emit args_size.
+ (maybe_record_trace_start_abnormal): Split out from ...
+ (maybe_record_trace_start): Here. Set args_size_undefined.
+ (create_trace_edges): Update to match.
+ (scan_trace): Handle REG_ARGS_SIZE.
+ (connect_traces): Connect args_size between EH insns.
+ * emit-rtl.c (try_split): Handle REG_ARGS_SIZE.
+ * explow.c (suppress_reg_args_size): New.
+ (adjust_stack_1): Split out from ...
+ (adjust_stack): ... here.
+ (anti_adjust_stack): Use it.
+ (allocate_dynamic_stack_space): Suppress REG_ARGS_SIZE.
+ * expr.c (mem_autoinc_base): New.
+ (fixup_args_size_notes): New.
+ (emit_single_push_insn_1): Rename from emit_single_push_insn.
+ (emit_single_push_insn): New. Generate REG_ARGS_SIZE.
+ * recog.c (peep2_attempt): Handle REG_ARGS_SIZE.
+ * reload1.c (reload_as_needed): Likewise.
+ * rtl.h (fixup_args_size_notes): Declare.
+
+2011-08-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR bootstrap/49914
+ * fold-const.c (fold_plusminus_mult_expr): Use abs_hwi instead
+ of abs.
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Likewise.
+ * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Likewise.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ * config/h8300/h8300.c (push, pop): Return the insn.
+ (h8300_swap_into_er6): Generate correct unwind info.
+ (h8300_swap_out_of_er6): Likewise.
+ * dwarf2cfi.c (def_cfa_1): Clear cfa_cfi if we no longer have a
+ complex cfa expression.
+ (dwarf2out_frame_debug_def_cfa): Allow (plus (mem) (const_int)) too.
+
+2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ PR target/49878
+ * config/h8300/h8300.c (h8300_move_ok): New.
+ * config/h8300/h8300-protos.h: Declare it.
+ * config/h8300/h8300.md (P): New mode iterator.
+ (*movqi_h8300, *movqi_h8300hs, movqi): Use h8300_move_ok.
+ (*movqi_h8sx, *movhi_h8300, *movhi_h8300hs, movhi): Likewise.
+ (movsi, *movsi_h8300, *movsi_h8300hs): Likewise.
+ (*pushqi1_h8300): Rename from pushqi1_h8300; use PRE_MODIFY.
+ (*pushqi1_h8300hs_<P>): Macroize from pushqi1_h8300hs_advanced
+ and pushqi1_h8300hs_normal; use PRE_MODIFY and
+ register_no_sp_elim_operand.
+ (*pushhi1_h8300hs_<P>): Similarly.
+ (pushqi1, pushhi1, pushhi1_h8300): Remove.
+ * config/h8300/predicates.md (register_no_sp_elim_operand): New.
+
+2011-08-02 Richard Henderson <rth@redhat.com>
+
+ PR target/49881
+ * config/avr/avr.md (push<MPUSH>1): Don't constrain the operand.
+
+2011-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ * c-parser.c (enum c_parser_prec): New enum, moved from within
+ c_parser_binary_expression.
+ (c_parser_binary_expression): Add PREC argument. Stop parsing
+ if operator has lower or equal precedence than PREC.
+ (c_parser_conditional_expression, c_parser_omp_for_loop): Adjust
+ callers.
+ (c_parser_omp_atomic): Handle parsing OpenMP 3.1 atomics.
+ Adjust c_finish_omp_atomic caller.
+ (c_parser_omp_taskyield): New function.
+ (c_parser_pragma): Handle PRAGMA_OMP_TASKYIELD.
+ (c_parser_omp_clause_name): Handle final and mergeable clauses.
+ (c_parser_omp_clause_final, c_parser_omp_clause_mergeable): New
+ functions.
+ (c_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FINAL
+ and PRAGMA_OMP_CLAUSE_MERGEABLE.
+ (OMP_TASK_CLAUSE_MASK): Allow final and mergeable clauses.
+ (c_parser_omp_clause_reduction): Handle min and max.
+ * c-typeck.c (c_finish_omp_clauses): Don't complain about
+ const qualified predetermined vars in firstprivate clause.
+ andle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+ Handle MIN_EXPR and MAX_EXPR.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_FINAL
+ and OMP_CLAUSE_MERGEABLE.
+ (dump_generic_node): Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD
+ and OMP_ATOMIC_CAPTURE_NEW.
+ * tree.c (omp_clause_num_ops): Add OMP_CLAUSE_FINAL and
+ OMP_CLAUSE_MERGEABLE.
+ (omp_clause_code_name): Likewise.
+ (walk_tree_1): Handle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+ * tree.h (enum omp_clause_code): Add OMP_CLAUSE_FINAL
+ and OMP_CLAUSE_MERGEABLE.
+ (OMP_CLAUSE_FINAL_EXPR): Define.
+ * omp-low.c (scan_sharing_clauses): Handle OMP_CLAUSE_FINAL and
+ OMP_CLAUSE_MERGEABLE.
+ (expand_task_call): Likewise.
+ (expand_omp_atomic_load, expand_omp_atomic_store): New functions.
+ (expand_omp_atomic_fetch_op): Handle cases where old or new
+ value is needed afterwards.
+ (expand_omp_atomic): Call expand_omp_atomic_load resp.
+ expand_omp_atomic_store.
+ * gimplify.c (gimplify_omp_atomic, gimplify_expr): Handle
+ OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and OMP_ATOMIC_CAPTURE_NEW.
+ (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
+ OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+ * tree-nested.c (convert_nonlocal_omp_clauses,
+ convert_local_omp_clauses): Likewise.
+ * tree.def (OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD,
+ OMP_ATOMIC_CAPTURE_NEW): New.
+ * gimple.h (GF_OMP_ATOMIC_NEED_VALUE): New.
+ (gimple_omp_atomic_need_value_p, gimple_omp_atomic_set_need_value):
+ New inlines.
+ * omp-builtins.def (BUILT_IN_GOMP_TASKYIELD): New builtin.
+ * doc/generic.texi: Mention OMP_CLAUSE_COLLAPSE,
+ OMP_CLAUSE_UNTIED, OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE.
+
+2011-08-02 Kai Tietz <ktietz@redhat.com>
+
+ * gimple.c (canonicalize_cond_expr_cond): Handle cast from
+ boolean-type.
+ (ssa_forward_propagate_and_combine): Interprete result of
+ forward_propagate_comparison.
+ * gcc/gimple-fold.c (fold_gimple_assign): Add canonicalization for
+ boolean-typed operands for comparisons.
+
+2011-08-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/libgcc.S: Gather related function in the
+ same input section.
+ (__mulqihi3, __mulqihi3, __divmodqi4, __divmodhi4, __udivmodsi4,
+ __divmodsi4): Use XCALL/XJMP instead of rcall/rjmp for external
+ references.
+ (__udivmodqi4, __divmodqi4, __udivmodhi4, __divmodhi4,
+ __udivmodsi4, __divmodsi4, __prologue_saves__,
+ __epilogue_restores__, _exit, __tablejump2__, __tablejump__,
+ __do_copy_data, __do_clear_bss, __do_global_ctors,
+ __do_global_dtors, __tablejump_elpm__): Enclose in DEFUN/ENDF.
+
+2011-08-02 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47766
+ * doc/md.texi (stack_protect_set): The pattern moves ptr_mode value.
+ (stack_protect_test): The pattern compares ptr_mode value.
+
+2011-08-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Add REG_CFA_RESTORE
+ note for save_LR_around_toc_setup sequence.
+
+2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/lzcntintrin.h (__lzcnt64): Replace long with long long.
+
+2011-08-01 Sebastian Pop <sebastian.pop@amd.com>
+ Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
+ * hwint.c: Include diagnostic-core.h.
+ (abs_hwi): New.
+ (gcd): Moved here...
+ (pos_mul_hwi): New.
+ (mul_hwi): New.
+ (least_common_multiple): Moved here...
+ * hwint.h (gcd): ... from here.
+ (least_common_multiple): ... from here.
+ (HOST_WIDE_INT_MIN): New.
+ (HOST_WIDE_INT_MAX): New.
+ (abs_hwi): Declared.
+ (gcd): Declared.
+ (pos_mul_hwi): Declared.
+ (mul_hwi): Declared.
+ (least_common_multiple): Declared.
+ * omega.c (check_pos_mul): Removed.
+ (check_mul): Removed.
+ (omega_solve_geq): Use pos_mul_hwi instead of check_pos_mul and
+ mul_hwi instead of check_mul.
+
+2011-08-01 Richard Henderson <rth@redhat.com>
+
+ PR target/49881
+ * config/avr/avr.h (PUSH_ROUNDING): New.
+ * config/avr/avr.md (pushqi1): Rename from *pushqi.
+ (*pushhi, *pushsi, *pushsf): Remove.
+ (MPUSH): New mode iterator.
+ (push<MPUSH>1): New expander.
+
+2011-08-01 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (PREFERRED_RELOAD_CLASS,
+ PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
+ * config/mmix/mmix-protos.h (mmix_preferred_reload_class,
+ mmix_preferred_output_reload_class): Remove.
+ * config/mmix/mmix.c (mmix_preferred_reload_class,
+ mmix_preferred_output_reload_class): Make static. Change rclass
+ argument and return type to reg_class_t.
+ (TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+
+2011-08-01 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * mode-switching.c (optimize_mode_switching): Fix bug in MODE_AFTER
+ handling.
+
+2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47766
+ * config/i386/i386.md (PTR): New.
+ (stack_protect_set: Check TARGET_LP64 instead of TARGET_64BIT.
+ (stack_protect_test): Likewise.
+ (stack_protect_set_<mode>): Replace ":P" with ":PTR".
+ (stack_tls_protect_set_<mode>): Likewise.
+ (stack_tls_protect_test_<mode>): Likewise.
+
+2011-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49927
+ * config/i386/i386.c (ix86_address_subreg_operand): New.
+ (ix86_decompose_address): Use ix86_address_subreg_operand.
+ (ix86_legitimate_address_p): Do not assert that subregs satisfy
+ register_no_elim_operand in DImode.
+
+2011-08-01 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49926
+ * tree-vect-loop.c (vect_is_slp_reduction): Check that a statement
+ in a chain doesn't have uses both inside and outside the loop.
+
+2011-08-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (mcu_type_s): Add errata_skip field.
+ * config/avr/avr-devices.c (avr_mcu_types): Use it.
+ * config/avr/avr-mcus.def (AVR_MCU): Use it.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it to builtin
+ define __AVR_ERRATA_SKIP__ and __AVR_ERRATA_SKIP_JMP_CALL__.
+ * config/avr/libgcc.S (__mulshisi3, __ffshi2, __fmulsu_exit):
+ Use __AVR_ERRATA_SKIP_JMP_CALL__ instead of __AVR_HAVE_JMP_CALL__
+ to detect if XJMP must not be skipped.
+
+2011-08-02 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_save_toc_in_prologue_p):
+ Delete.
+ * config/rs6000/rs6000.c (rs6000_save_toc_in_prologue_p): Make static.
+ (rs6000_emit_prologue): Don't prematurely return when
+ TARGET_SINGLE_PIC_BASE. Don't emit eh_frame info in
+ save_toc_in_prologue case.
+ (rs6000_call_indirect_aix): Only disallow save_toc_in_prologue for
+ calls_alloca.
+
+2011-08-01 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-devices.c: Delete SVN property svn:executable.
+ * config/avr/predicates.md: Ditto.
+ * config/avr/driver-avr.c: Ditto.
+ * config/avr/genopt.sh: Set SVN property svn:executable to *.
+
+2011-08-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * calls.c (emit_library_call_value_1): Declare size only if
+ BLOCK_REG_PADDING is defined.
+
+2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/49547
+ * config.gcc (i[34567]86-*-*): Replace abmintrin.h with lzcntintrin.h.
+ (x86_64-*-*): Likewise.
+ * config/i386/i386.opt (mlzcnt): New.
+ * config/i386/abmintrin.h: File removed.
+ (__lzcnt_u16, __lzcnt, __lzcnt_u64): Moved to ...
+ * config/i386/lzcntintrin.h: ... here. New file.
+ (__lzcnt): Rename to ...
+ (__lzcnt32): ... this.
+ * config/i386/bmiintrin.h (head): Update copyright year.
+ (__lzcnt_u16): Removed.
+ (__lzcnt_u32): Likewise.
+ (__lzcnt_u64): Likewise.
+ * config/i386/x86intrin.h: Include lzcntintrin.h when __LZCNT__
+ is defined, remove abmintrin.h.
+ * config/i386/cpuid.h (bit_LZCNT): New.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Detect
+ LZCNT feature.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Define
+ __LZCNT__ if needed.
+ * config/i386/i386.c (ix86_target_string): New option -mlzcnt.
+ (ix86_option_override_internal): Handle LZCNT option.
+ (ix86_valid_target_attribute_inner_p): Likewise.
+ (struct builtin_description bdesc_args) <IX86_BUILTIN_CLZS>: Update.
+ * config/i386/i386.h (TARGET_LZCNT): New.
+ (CLZ_DEFINED_VALUE_AT_ZERO): Update.
+ * config/i386/i386.md (clz<mode>2): Update insn constraint.
+ (clz<mode>2_lzcnt): Likewise.
+ * doc/invoke.texi: Mention -mlzcnt option.
+ * doc/extend.texi: Likewise.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * configure.ac (fixed-point): Add ARM support.
+ * configure: Regenerate.
+ * config/arm/arm.c (arm_fixed_mode_set): New struct.
+ (arm_set_fixed_optab_libfunc): New.
+ (arm_set_fixed_conv_libfunc): New.
+ (arm_init_libfuncs): Initialise fixed-point helper libfuncs with
+ ARM-specific names.
+ (aapcs_libcall_value): Return sub-word-size fixed-point libcall
+ return values in SImode.
+ (arm_return_in_msb): Return fixed-point types in the msb.
+ (arm_pad_reg_upwards, arm_pad_arg_upwards): Pad fixed-point types
+ upwards.
+ (arm_scalar_mode_supported_p): Support fixed-point modes.
+ (arm_vector_mode_supported_p): Support vector fixed-point modes.
+ * config/arm/arm.h (SHORT_FRACT_TYPE_SIZE, FRACT_TYPE_SIZE)
+ (LONG_FRACT_TYPE_SIZE, LONG_LONG_FRACT_TYPE_SIZE)
+ (SHORT_ACCUM_TYPE_SIZE, ACCUM_TYPE_SIZE, LONG_ACCUM_TYPE_SIZE)
+ (LONG_LONG_ACCUM_TYPE_SIZE, MAX_FIXED_MODE_SIZE): Define.
+ * config/arm/iterators.md (FIXED, ADDSUB, UQADDSUB, QADDSUB, QMUL):
+ New mode iterators.
+ (qaddsub_suf): New mode attribute.
+ * config/arm/arm-modes.def (FRACT, UFRACT, ACCUM, UACCUM): Declare
+ vector modes.
+ * config/arm/predicates.md (sat_shift_operator): New predicate.
+ * config/arm/arm-fixed.md: New.
+ * config/arm/arm.md: Include arm-fixed.md.
+ * config/arm/t-arm (MD_INCLUDES): Add arm-fixed.md.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * calls.c (emit_library_call_value_1): Support padding for libcall
+ arguments and return values.
+ * config/arm/arm.c (arm_pad_arg_upward): Pad half-float values
+ downwards in big-endian mode.
+
+2011-08-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR debug/49887
+ * config/sol2.c (solaris_code_end): Rename to solaris_file_end.
+ * config/sol2-protos.h: Likewise.
+ * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Don't call
+ solaris_code_end.
+ * config/i386/sol2.h [!USE_GAS] (TARGET_ASM_FILE_END): Redefine.
+ * config/sparc/sparc.c (sparc_file_end) [TARGET_SOLARIS]: Call
+ solaris_file_end.
+ * config/sparc/sol2.h (TARGET_ASM_CODE_END): Remove.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Support FIXED_CST.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * final.c (output_addr_const): Print fixed-point constants as
+ decimal not hex.
+
+2011-08-01 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (initialize_sizetypes): Properly sign-extend
+ bitsiztype TYPE_MAX_VALUE.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * optabs.c (prepare_cmp_insn): Use correct biasing for fixed-point
+ comparison helpers.
+
+2011-07-31 Richard Henderson <rth@redhat.com>
+
+ * config/h8300/crti.asm: Add flags to .section directive.
+ * config/h8300/crtn.asm: Likewise.
+
+2011-07-31 Richard Henderson <rth@redhat.com>
+
+ * stor-layout.c (initialize_sizetypes): Handle unsigned short.
+ * tree.c (build_common_tree_nodes): Likewise.
+
+2011-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49880
+ * config/sh/sh.md (udivsi3_i1): Enable for TARGET_DIVIDE_CALL_DIV1.
+ (divsi3_i1): Likewise.
+
+2011-07-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49749
+ * tree-ssa-reassoc.c (get_rank): New forward declaration.
+ (PHI_LOOP_BIAS): New macro.
+ (phi_rank): New function.
+ (loop_carried_phi): Likewise.
+ (propagate_rank): Likewise.
+ (get_rank): Add calls to phi_rank and propagate_rank.
+
+2011-07-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/x86-64.h (SIZE_TYPE): Check TARGET_LP64 instead
+ of TARGET_64BIT.
+ (PTRDIFF_TYPE): Likewise.
+
+2011-07-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49920
+ * config/i386/i386.md (strset): Do not expand strset_singleop
+ when %eax or $edi are fixed.
+ (*strsetdi_rex_1): Disable when %eax or %edi are fixed.
+ (*strsetsi_1): Ditto.
+ (*strsethi_1): Ditto.
+ (*strsetqi_1): Ditto.
+ (*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
+ (*rep_stossi): Ditto.
+ (*rep_stosqi): Ditto.
+ (*strlenqi_1): Ditto.
+ (cmpstrnsi): Also fail when %ecx is fixed.
+ (*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
+ (*cmpstrnqi_1): Ditto.
+ (*strmovdi_rex_1): Disable when %esi or %edi are fixed.
+ (*strmovsi_1): Ditto.
+ (*strmovhi_1): Ditto.
+ (*strmovqi_1): Ditto.
+ (*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
+ (*rep_movsi): Ditto.
+ (*rep_movqi): Ditto.
+
+2011-07-31 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR target/47908
+ * config/m68k/m68k.c (m68k_override_options_after_change): New function.
+ Disable instruction scheduling for non-ColdFire targets.
+ (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
+
+2011-07-31 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (create_ddg_dep_from_intra_loop_link): Remove the creation
+ of anti-dep edge from a branch.
+ (add_cross_iteration_register_deps): Create anti-dep edge from
+ a branch.
+
+2011-07-31 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c: Change comment.
+ (reset_sched_times): Fix print message.
+ (print_partial_schedule): Add print info.
+
+2011-07-31 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of
+ get_object_alignment and TYPE_ALIGN.
+
+2011-07-30 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * tree-ssa-dce.c (ref_may_be_aliased): Add assert.
+ (propagate_necessity): Handle WITH_SIZE_EXPR call arg.
+
+2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/driver-native.c [__sgi__]: Include <invent.h>,
+ <sys/sbd.h>.
+ (cpu_types): New array.
+ (cputype): New function.
+ (host_detect_local_cpu): Only define buf, f if !__sgi__.
+ Use scaninvent instead of /proc/cpuinfo if __sgi__.
+ * config.host: Also use driver-native.o, mips/x-native on
+ mips-sgi-irix*.
+ * config/mips/iris6.h [__mips__] (host_detect_local_cpu): Declare.
+ (EXTRA_SPEC_FUNCTIONS, MARCH_MTUNE_NATIVE_SPECS): Define.
+ (DRIVER_SELF_SPECS): Add MARCH_MTUNE_NATIVE_SPECS.
+
+2011-07-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49897
+ PR middle-end/49898
+ * omp-low.c (use_pointer_for_field): If disallowing copy-in/out
+ in nested parallel and outer is a gimple_reg, mark it as addressable
+ and set its bit in task_shared_vars bitmap too.
+
+2011-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (tp_or_register_operand): Remove predicate.
+
+2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/driver-alpha.c (IMPLVER_EV4_FAMILY,
+ IMPLVER_EV5_FAMILY, IMPLVER_EV6_FAMILY, IMPLVER_EV7_FAMILY): Define.
+ (AMASK_BWX, AMASK_FIX, AMASK_CIX, AMASK_MVI, AMASK_PRECISE,
+ AMASK_LOCKPFTCHOK): Define.
+ (host_detect_local_cpu): Remove buf, f, cpu_names.
+ Define cpu_types, implver, amask.
+ Use __builtin_alpha_implver, __builtin_alpha_amask to determine
+ native CPU.
+ * config.host: Also use driver-alpha.o, alpha/x-alpha on
+ alpha*-dec-osf*.
+ * config/alpha/osf5.h [__alpha__ || __alpha]
+ (host_detect_local_cpu): Declare.
+ (EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS)
+ (DRIVER_SELF_SPECS): Define.
+
+2011-07-29 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47715
+ * config/i386/i386.md (*load_tp_x32): New.
+ (*load_tp_x32_zext): Ditto.
+ (*add_tp_x32): Ditto.
+ (*add_tp_x32_zext): Ditto.
+ (*load_tp_<mode>): Disable for TARGET_X32 targets.
+ (*add_tp_<mode>): Ditto.
+ * config/i386/i386.c (get_thread_pointer): Load thread pointer in
+ ptr_mode and convert to Pmode if needed.
+
+2011-07-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49687
+ * config/avr/avr.md (mulsi3, *mulsi3, mulu<mode>si3,
+ muls<mode>si3, mulohisi3, mulhisi3, umulhisi3, usmulhisi3,
+ *<any_extend:extend_prefix><any_extend2:extend_prefix>mul<QIHI:mode><QIHI2:mode>si3):
+ Add X to register footprint: Clobber r26/r27.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (fold_builtin_signbit): Build the comparison
+ with a proper type.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49893
+ * tree-predcom.c (suitable_reference_p): Volatile references
+ are not suitable.
+
+2011-07-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
+ (__ctzsi2): Result for 0 may be undefined.
+ (__ctzhi2): Result for 0 may be undefined.
+ (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
+ (__popcountsi2): Ditto. And don't clobber r26.
+ (__popcountdi2): Ditto. And don't clobber r27.
+ * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
+ (parityhi2): New expand.
+ (paritysi2): New expand.
+ (popcounthi2): New expand.
+ (popcountsi2): New expand.
+ (clzhi2): New expand.
+ (clzsi2): New expand.
+ (ctzhi2): New expand.
+ (ctzsi2): New expand.
+ (ffshi2): New expand.
+ (ffssi2): New expand.
+ (copysignsf3): New insn.
+ (bswapsi2): New expand.
+ (*parityhi2.libgcc): New insn.
+ (*parityqihi2.libgcc): New insn.
+ (*paritysihi2.libgcc): New insn.
+ (*popcounthi2.libgcc): New insn.
+ (*popcountsi2.libgcc): New insn.
+ (*popcountqi2.libgcc): New insn.
+ (*popcountqihi2.libgcc): New insn-and-split.
+ (*clzhi2.libgcc): New insn.
+ (*clzsihi2.libgcc): New insn.
+ (*ctzhi2.libgcc): New insn.
+ (*ctzsihi2.libgcc): New insn.
+ (*ffshi2.libgcc): New insn.
+ (*ffssihi2.libgcc): New insn.
+ (*bswapsi2.libgcc): New insn.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (get_value_range): Only set parameter default
+ definitions to varying, leave others at undefined.
+ (extract_range_from_binary_expr): Fix undefined handling.
+ (vrp_visit_phi_node): Handle merged undefined state.
+
+2011-07-29 Wei Guozhi <carrot@google.com>
+
+ PR rtl-optimization/49799
+ * combine.c (make_compound_operation): Check if the bit field is valid
+ before change it to bit field extraction.
+
+2011-07-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/49891
+ * cfgrtl.c (force_nonfallthru_and_redirect): Set JUMP_LABEL for
+ newly created returnjumps.
+
+2011-07-28 DJ Delorie <dj@redhat.com>
+
+ * expr.c (expand_expr_addr_expr_1): Detect a user request for a
+ local frame in a naked function, and produce a suitable error for
+ that specific case.
+
+ * config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
+ registers to be reloaded in HI classes when the target is HI.
+
+2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with
+ bound_one, bound_two.
+
+2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/48648
+ * graphite-clast-to-gimple.c (clast_get_body_of_loop): Handle
+ CLAST assignments.
+ (translate_clast): Same.
+ (translate_clast_assignment): New.
+
+2011-07-28 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/49876
+ * sese.c (rename_uses): Do not return false on gloog_error: set
+ the new_expr to integer_zero_node and continue code generation.
+ (graphite_copy_stmts_from_block): Remove early exit on gloog_error.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49846
+ * var-tracking.c (prepare_call_arguments): For non-MODE_INT stack
+ arguments also check if they aren't initialized with a MODE_INT
+ mode of the same size.
+
+2011-07-28 Aldy Hernandez <aldyh@redhat.com>
+
+ * expr.c (get_bit_range): Handle *MEM_REF's.
+
+2011-07-28 Bernd Schmidt <bernds@codesourcery.com>
+
+ * rtlanal.c (tablejump_p): False for returns.
+ * reorg.c (first_active_target_insn): New static function.
+ (find_end_label): Set JUMP_LABEL for a new returnjump.
+ (optimize_skip, get_jump_flags, rare_destination,
+ mostly_true_jump, get_branch_condition,
+ steal_delay_list_from_target, own_thread_p,
+ fill_simple_delay_slots, follow_jumps, fill_slots_from_thread,
+ fill_eager_delay_slots, relax_delay_slots, make_return_insns,
+ dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs.
+ * jump.c (delete_related_insns): Likewise.
+ (jump_to_label_p): New function.
+ (redirect_target): New static function.
+ (redirect_exp_1): Use it. Adjust to handle ret_rtx in JUMP_LABELS.
+ (redirect_jump_1): Assert that the new label is nonnull.
+ (redirect_jump): Likewise.
+ (redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels.
+ * ifcvt.c (find_if_case_1): Take care when redirecting jumps to the
+ exit block.
+ (dead_or_predicable): Change NEW_DEST arg to DEST_EDGE. All callers
+ changed. Ensure that the right label is passed to redirect_jump.
+ * function.c (emit_return_into_block,
+ thread_prologue_and_epilogue_insns): Ensure new returnjumps have
+ ret_rtx in their JUMP_LABEL.
+ * print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL.
+ * emit-rtl.c (skip_consecutive_labels): Allow the caller to
+ pass ret_rtx as label.
+ * cfglayout.c (fixup_reorder_chain): Use
+ force_nonfallthru_and_redirect rather than force_nonfallthru.
+ (duplicate_insn_chain): Copy JUMP_LABELs for returns.
+ * rtl.h (ANY_RETURN_P): New macro.
+ (jump_to_label_p): Declare.
+ * resource.c (find_dead_or_set_registers): Handle ret_rtx in
+ JUMP_LABELs.
+ (mark_target_live_regs): Likewise.
+ * basic-block.h (force_nonfallthru_and_redirect): Declare.
+ * cfgrtl.c (force_nonfallthru_and_redirect): No longer static.
+ * config/alpha/alpha.c (alpha_tablejump_addr_vec,
+ alpha_tablejump_best_label): Remove functions.
+ * config/alpha/alpha-protos.c (alpha_tablejump_addr_vec,
+ alpha_tablejump_best_label): Remove declarations.
+ * config/sh/sh.c (barrier_align, split_branches): Adjust for
+ ret_rtx in JUMP_LABELs.
+ * config/arm/arm.c (is_jump_table): Likewise.
+
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (pic_32bit_opreand): Do not define as
+ special predicate. Remove explicit mode checks.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize
+ DW_AT_data_member_location containing just DW_OP_plus_uconst.
+
+ PR debug/49871
+ * dwarf2out.c (size_of_die, value_format, output_die): Use
+ DW_FORM_udata instead of DW_FORM_data[48] for
+ dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*tls_global_dynamic_64): Update
+ length attribute.
+
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47715
+ * config/i386/i386.md (*tls_global_dynamic_64): Remove mode from
+ tls_symbolic_operand check. Update code sequence for TARGET_X32.
+ (tls_global_dynamic_64): Remove mode from tls_symbolic_operand check.
+ (tls_dynamic_gnu2_64): Ditto.
+ (*tls_dynamic_gnu2_lea_64): Ditto.
+ (*tls_dynamic_gnu2_call_64): Ditto.
+ (*tls_dynamic_gnu2_combine_64): Ditto.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Set need_64bit_hwint to yes for x86 targets.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47364
+ * config/i386/i386.md (strlen<mode>): Replace SWI48x with P.
+
+2011-07-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
+ before the core constraints. Adjust attributes.
+ ("*thumb2_movdf_vfp"): Likewise.
+
+2011-07-28 Kai Tietz <ktietz@redhat.com>
+
+ * tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.
+ (simplify_truth_ops_using_ranges): Likewise.
+ (build_assert_expr_for): Likewise.
+ (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case
+ and handle BIT_NOT_EXPR for truth-operation.
+
+2011-07-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ Undo r176835 from trunk
+ 2011-07-27 Georg-Johann Lay
+
+2011-07-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49687
+ * config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit.
+ Add _muluhisi3, _mulshisi3, _usmulhisi3.
+ * config/avr/libgcc.S (__mulsi3): Rewrite.
+ (__mulhisi3): Rewrite.
+ (__umulhisi3): Rewrite.
+ (__usmulhisi3): New.
+ (__muluhisi3): New.
+ (__mulshisi3): New.
+ (__mulohisi3): New.
+ (__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to
+ declare.
+ * config/avr/predicates.md (pseudo_register_operand): Rewrite.
+ (pseudo_register_or_const_int_operand): New.
+ (combine_pseudo_register_operand): New.
+ (u16_operand): New.
+ (s16_operand): New.
+ (o16_operand): New.
+ * config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI.
+ * config/avr/avr.md (QIHI, QIHI2): New mode iterators.
+ (any_extend, any_extend2): New code iterators.
+ (extend_prefix): New code attribute.
+ (mulsi3): Rewrite. Turn insn to expander.
+ (mulhisi3): Ditto.
+ (umulhisi3): Ditto.
+ (usmulhisi3): New expander.
+ (*mulsi3): New insn-and-split.
+ (mulu<mode>si3): New insn-and-split.
+ (muls<mode>si3): New insn-and-split.
+ (mulohisi3): New insn-and-split.
+ (*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3,
+ *usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3,
+ *sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3,
+ *ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New
+ insn-and-split.
+ (*mulsi3_call): Rewrite.
+ (*mulhisi3_call): Rewrite.
+ (*umulhisi3_call): Rewrite.
+ (*usmulhisi3_call): New insn.
+ (*muluhisi3_call): New insn.
+ (*mulshisi3_call): New insn.
+ (*mulohisi3_call): New insn.
+ (extendqihi2): Use combine_pseudo_register_operand as predicate
+ for operand 1.
+ (extendqisi2): Ditto.
+ (zero_extendqihi2): Ditto.
+ (zero_extendqisi2): Ditto.
+ (zero_extendhisi2): Ditto.
+ (extendhisi2): Ditto. Don't early-clobber operand 0.
+
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/49471
+ * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
+ iv only when the largest type is unsigned. Do not call
+ lang_hooks.types.type_for_size.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/45450
+ * graphite-poly.c (apply_poly_transforms): Disable legality check
+ after an openscop read.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47691
+ * graphite-clast-to-gimple.c (translate_clast_user): Update use of
+ copy_bb_and_scalar_dependences.
+ * sese.c (rename_uses): Do not call gcc_assert. Set gloog_error.
+ (graphite_copy_stmts_from_block): Update call to rename_uses.
+ (copy_bb_and_scalar_dependences): Update call to
+ graphite_copy_stmts_from_block.
+ * sese.h (copy_bb_and_scalar_dependences): Update declaration.
+
+2011-07-27 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ * config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
+ (__ctzsi2): Result for 0 may be undefined.
+ (__ctzhi2): Result for 0 may be undefined.
+ (__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
+ (__popcountsi2): Ditto. And don't clobber r26.
+ (__popcountdi2): Ditto. And don't clobber r27.
+ * config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
+ (parityhi2): New expand.
+ (paritysi2): New expand.
+ (popcounthi2): New expand.
+ (popcountsi2): New expand.
+ (clzhi2): New expand.
+ (clzsi2): New expand.
+ (ctzhi2): New expand.
+ (ctzsi2): New expand.
+ (ffshi2): New expand.
+ (ffssi2): New expand.
+ (copysignsf3): New insn.
+ (bswapsi2): New expand.
+ (*parityhi2.libgcc): New insn.
+ (*parityqihi2.libgcc): New insn.
+ (*paritysihi2.libgcc): New insn.
+ (*popcounthi2.libgcc): New insn.
+ (*popcountsi2.libgcc): New insn.
+ (*popcountqi2.libgcc): New insn.
+ (*popcountqihi2.libgcc): New insn-and-split.
+ (*clzhi2.libgcc): New insn.
+ (*clzsihi2.libgcc): New insn.
+ (*ctzhi2.libgcc): New insn.
+ (*ctzsihi2.libgcc): New insn.
+ (*ffshi2.libgcc): New insn.
+ (*ffssihi2.libgcc): New insn.
+ (*bswapsi2.libgcc): New insn.
+
+2011-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_expand_move): Do not explicitly check
+ the mode of symbolic_opreand RTXes.
+
+2011-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (x86_64_movabs_operand): Return false
+ for pic_32bit_operand RTXes.
+ * config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
+ in DImode.
+
+2011-07-27 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Allow -mabi
+ for 32-bit, too.
+ (ix86_handle_abi_attribute): Allow function attributes
+ ms_abi/sysv_abi in 32-bit mode, too.
+ * doc/extend.texi: Adjust attribute documentation.
+
+ * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
+ expression handling.
+ (and_var_with_comparison_1): Likewise.
+
+2011-07-27 Aldy Hernandez <aldyh@redhat.com>
+
+ * params.h (ALLOW_STORE_DATA_RACES): New.
+ * params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
+ * Makefile.in (expr.o): Depend on PARAMS_H.
+ * machmode.h (get_best_mode): Add argument.
+ * fold-const.c (optimize_bit_field_compare): Add argument to
+ get_best_mode.
+ (fold_truthop): Same.
+ * ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
+ * expr.c (emit_group_store): Same.
+ (copy_blkmode_from_reg): Same.
+ (write_complex_part): Same.
+ (optimize_bitfield_assignment_op): Add argument.
+ Add argument to get_best_mode.
+ (get_bit_range): New.
+ (expand_assignment): Calculate maxbits and pass it down accordingly.
+ (store_field): New argument.
+ (expand_expr_real_2): New argument to store_field. Include params.h.
+ * expr.h (store_bit_field): New argument.
+ * stor-layout.c (get_best_mode): Restrict mode expansion by taking
+ into account maxbits.
+ * calls.c (store_unaligned_arguments_into_pseudos): New argument
+ to store_bit_field.
+ * expmed.c (store_bit_field_1): New argument. Use it.
+ (store_bit_field): Same.
+ (store_fixed_bit_field): Same.
+ (store_split_bit_field): Same.
+ (extract_bit_field_1): Pass new argument to get_best_mode.
+ (extract_bit_field): Same.
+ * stmt.c (store_bit_field): Pass new argument to store_bit_field.
+ * doc/invoke.texi: Document parameter allow-store-data-races.
+
+2011-07-27 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (gen_producer_string): Ignore also -fverbose-asm option.
+
+2011-07-27 Kai Tietz <ktietz@redhat.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr): Remove
+ TRUTH-binary cases and add new bitwise-cases.
+ (extract_range_from_assignment): Likewise.
+ (register_edge_assert_for_1): Likeiwise.
+ (register_edge_assert_for): Likewise.
+ (simplify_truth_ops_using_ranges): Likewise.
+ (simplify_stmt_using_ranges): Likewise.
+
+2011-07-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47372
+ * config/i386/i386.c (ix86_delegitimize_address): Call
+ simplify_gen_subreg for PIC with mode of x only if modes of
+ x and orig_x are different.
+
+2011-07-26 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
+ to GC allocated copy of the string.
+ (dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
+ before .debug_line, not after it.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47046
+ * tree-chrec.h (evolution_function_is_affine_p): Recursively call
+ evolution_function_is_affine_p on CHREC_RIGHT.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ * tree-data-ref.c (max_stmt_executions_tree): Do not call
+ lang_hooks.types.type_for_size.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47653
+ * graphite-scop-detection.c (graphite_can_represent_loop): Discard
+ loops using wrapping semantics.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/48805
+ * tree-scalar-evolution.c (instantiate_scev_r): Return
+ chrec_dont_know for ADDR_EXPR.
+
+2011-07-26 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47369
+ PR target/49853
+ * config/i386/i386.c (ix86_expand_move): Call convert_to_mode
+ if legitimize_tls_address returned operand in wrong mode. Allow
+ SImode and DImode symbolic operand for PIC. Call convert_to_mode
+ if legitimize_pic_address returned operand in wrong mode.
+
+2011-07-26 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
+ return false for invariants.
+
+2011-07-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (add->lea splitter): Implement using SWI
+ mode iterator. Change operand 2 predicate to <nonmemory_operand>.
+ (add->lea zext splitter): Change operand 2 predicate to
+ x86_64_nonmemory_operand.
+
+2011-07-26 Richard Guenther <rguenther@suse.de>
+
+ * predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
+ frequency makes everything hot.
+
+2011-07-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49840
+ * tree-vrp.c (range_fits_type_p): Properly handle full
+ double-int precision.
+
+2011-07-26 Martin Jambor <mjambor@suse.cz>
+
+ PR bootstrap/49786
+ * ipa-cp.c (update_profiling_info): Avoid overflow when updating
+ counts.
+ (update_specialized_profile): Likewise.
+
+2011-07-26 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47381
+ PR target/49832
+ PR target/49833
+ * config/i386/i386.md (i): Change SImode attribute to "e".
+ (g): Change SImode attribute to "rme".
+ (di): Change SImode attribute to "nF".
+ (general_operand): Change SImode attribute to x86_64_general_operand.
+ (general_szext_operand): Change SImode attribute to
+ x86_64_szext_general_operand.
+ (immediate_operand): Change SImode attribute to
+ x86_64_immediate_operand.
+ (nonmemory_operand): Change SImode attribute to
+ x86_64_nonmemory_operand.
+ (*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
+ (*movsi_internal): Ditto. Use "e" constraint in alternative 2.
+ (*lea_1): Use SWI48 mode iterator.
+ (*lea_1_zext): New insn pattern.
+ (testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
+ (*bt<mode>): Ditto.
+ (*add<mode>1): Use x86_64_general_operand predicate for operand 2.
+ Update operand constraints.
+ (addsi_1_zext): Ditto.
+ (*add<mode>2): Ditto.
+ (*addsi_3_zext): Ditto.
+ (*subsi_1_zext): Ditto.
+ (*subsi_2_zext): Ditto.
+ (*subsi_3_zext): Ditto.
+ (*addsi3_carry_zext): Ditto.
+ (*<plusminus_insn>si3_zext_cc_overflow): Ditto.
+ (*mulsi3_1_zext): Ditto.
+ (*andsi_1): Ditto.
+ (*andsi_1_zext): Ditto.
+ (*andsi_2_zext): Ditto.
+ (*<any_or:code>si_1_zext): Ditto.
+ (*<any_or:code>si_2_zext): Ditto.
+ (*test<mode>_1): Use <general_operand> predicate for operand 1.
+ (*and<mode>_2): Ditto.
+ (mov<mode>cc): Use <general_operand> predicate for operands 1 and 2.
+ (add->lea splitter): Check operand modes in insn constraint. Extend
+ operands less than SImode wide to SImode.
+ (add->lea zext splitter): Do not extend input operands to DImode.
+ (*lea_general_1): Handle only QImode and HImode operands.
+ (*lea_general_2): Ditto.
+ (*lea_general_3): Ditto.
+ (*lea_general_1_zext): Remove.
+ (*lea_general_2_zext): Ditto.
+ (*lea_general_3_zext): Ditto.
+ (*lea_general_4): Check operand modes in insn constraint. Extend
+ operands less than SImode wide to SImode.
+ (ashift->lea splitter): Ditto.
+ * config/i386/i386.c (ix86_print_operand_address): Print address
+ registers with 'q' modifier on 64bit targets.
+ * config/i386/predicates.md (pic_32bit_opreand): Define as special
+ predicate. Reject non-SI and non-DI modes.
+
+2011-07-25 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/49671
+ * tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
+ TREE_THIS_NOTRAP into the inner most MEM_REF.
+ Always copy TREE_THIS_VOLATILE.
+ * tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
+ arguments are not volatile references.
+
+2011-07-25 Richard Henderson <rth@redhat.com>
+
+ * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
+ * final.c (final_scan_insn): Don't test for it.
+ (rest_of_clean_state): Likewise.
+
+2011-07-25 Richard Henderson <rth@redhat.com>
+
+ PR debug/49841
+ * config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
+ (emit_frame_save): Likewise.
+ (rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
+ insn onto a dummy blockage insn after the join label.
+
+2011-07-25 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_trace_info): Add ID member.
+ (get_trace_index): Remove. Change users to use ID member.
+ (before_next_cfi_note): New.
+ (connect_traces): Remove unreachable traces before the main loop.
+ Look across one trace and generate remember/restore_state if needed.
+
+2011-07-25 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dump_cfi_row, debug_cfi_row): New.
+
+2011-07-25 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * genattr.c (write_upcase, gen_attr <enum definition writing>):
+ Move to ...
+ * genattr-common.c ... here.
+ (main): Call gen_attr.
+ * optc-gen.awk: Make generated program include insn-attr-common.h .
+ * Makefile.in (oprions.o): Depend on insn-attr-common.h
+
+2011-07-25 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
+ PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
+ * config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
+ m32c_print_operand, m32c_print_operand_address): Remove.
+ * config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
+ Change return type to bool. Change argument type to bool.
+ (m32c_print_operand, m32c_print_operand_address): Make static.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
+ TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords, Environment
+ attributes): Document mmap.
+
+2011-07-25 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
+ PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
+ * config/mmix/mmix-protos.h (mmix_print_operand_punct_valid_p,
+ mmix_print_operand, mmix_print_operand_address): Remove.
+ * config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
+ Change return type to bool. Change argument type to bool.
+ (mmix_print_operand, mmix_print_operand_address): Make static.
+ (mmix_intval, mmix_output_condition): Change 'x' argument type
+ to const_rtx.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
+ TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
+
+2011-07-25 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/39386
+ * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
+ shift counter for x << x and x >> x shifts.
+
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/47124
+ * config.gcc: Reject *-*-solaris2 configuration.
+
+2011-07-25 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/49809
+ * tree-ssa-phiopt.c (cond_if_else_store_replacement): Use
+ gimple_get_lhs instead of gimple_assign_lhs.
+
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * system.h [__cplusplus]: Wrap C function declarations in extern "C".
+
+2011-07-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49822
+ * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
+ more. Make sure to preserve stmts with side-effects. Properly
+ handle virtual defs, follow a longer def chain.
+
+2011-07-22 Romain Geissler <romain.geissler@gmail.com>
+
+ PR plugins/45348
+ PR plugins/48425
+ PR plugins/46577
+ * Makefile.in: Do not flatten c-family directory when installing
+ plugin headers.
+
+2011-07-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
+ original nodes if we are dealing with virtual clones.
+
+2011-07-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ * common/config/c6x/c6x-common.c: New file.
+
+2011-07-25 Roman Zhuykov <zhroma@ispras.ru>
+
+ * tree-flow.h (tree_ssa_loop_version): Remove unused declaration.
+
+2011-07-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49715
+ * tree-vrp.c: Include expr.h and optabs.h.
+ (range_fits_type_): New function.
+ (simplify_float_conversion_using_ranges): Likewise.
+ (simplify_stmt_using_ranges): Call it.
+ * Makefile.in (tree-vrp.o): Add $(EXPR_H) and $(OPTABS_H) dependencies.
+ * optabs.c (can_float_p): Export.
+ * optabs.h (can_float_p): Declare.
+
+2011-07-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (num_vr_values, values_propagated): New global vars.
+ (get_value_range): For out-of-range SSA names or names created
+ after propagation return a read-only varying range.
+ (dump_all_value_ranges): Adjust.
+ (vrp_initialize): Likewise.
+ (vrp_finalize): Likewise.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49831
+ * dwarf2cfi.c (connect_traces): Allow unvisited traces. Skip
+ them entirely.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49825
+ * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier.
+ (dwarf2out_notice_stack_adjust): Use args_size from call_insn.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49827
+ * dwarf2cfi.c (create_trace_edges): Handle sequences properly.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
+ Zero args_size for abnormal edges. Adjust all callers.
+
+2011-07-24 Richard Henderson <rth@redhat.com>
+
+ PR debug/49825
+ * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size.
+
+2011-07-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR bootstrap/49835
+ * collect2.c (demangle_flag): Removed.
+
+2011-07-24 Sandra Loosemore <sandra@codesourcery.com>
+
+ * configure.ac (demangler_in_ld): Default to yes.
+ * configure: Regenerated.
+ * collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
+ mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
+ --no-demangle options straight through to ld. When
+ HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
+ way that has the intended effect on Windows.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c: Include basic-block.h.
+ (dw_label_info): Remove.
+ (trace_work_list, trace_index): New.
+ (remember_row, emit_cfa_remember): Remove.
+ (dw_trace_info_hash, dw_trace_info_eq): New.
+ (get_trace_index, get_trace_info): New.
+ (save_point_p): New.
+ (free_cfi_row): Remove.
+ (add_cfi): Do not emit DW_CFA_remember_state.
+ (cfa_row_equal_p): New.
+ (barrier_args_size): Remove.
+ (compute_barrier_args_size_1, compute_barrier_args_size): Remove.
+ (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size.
+ (maybe_record_trace_start, create_trace_edges, scan_trace): New.
+ (dwarf2out_cfi_begin_epilogue): Remove.
+ (dwarf2out_frame_debug_restore_state): Remove.
+ (connect_traces, create_pseudo_cfg): New.
+ (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces.
+ * Makefile.in (dwarf2cfi.o): Update.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_trace_info): New.
+ (dw_label_info): New.
+ (cie_return_save): New.
+ (cur_trace): New.
+ (queued_args_size): Rename from args_size. Update all users.
+ (cfa_store, cfa_temp, regs_saved_in_regs): Remove.
+ (def_cfa_1): Use cur_trace instead of cfa_*.
+ (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise.
+ (clobbers_queued_reg_save, reg_saved_in): Likewise.
+ (dwarf2out_frame_debug_expr): Likewise.
+ (create_cie_data): Split out from ...
+ (execute_dwarf2_frame): ... here. Initialize cur_trace.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc.
+ Update all users to match.
+ (execute_dwarf2_frame): Free reg_saved_in_data.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (queued_reg_save): Reorder for packing. Don't GTY.
+ (queued_reg_saves): Don't GTY. Change to a VEC.
+ (queue_reg_save): Update to match.
+ (dwarf2out_flush_queued_reg_saves): Likewise.
+ (clobbers_queued_reg_save): Likewise.
+ (reg_saved_in): Likewise.
+ (execute_dwarf2_frame): Free queued_reg_saves.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_cfi_row_ref): Remove. Update all users.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (add_cfi_args_size): Split out from...
+ (dwarf2out_args_size): ... here.
+ (add_cfi_restore): Split out from ...
+ (dwarf2out_frame_debug_cfa_restore): ... here.
+ (def_cfa_0): Split out from ...
+ (def_cfa_1): ... here.
+ (cfi_oprnd_equal_p, cfi_equal_p): New.
+ (change_cfi_row): New.
+ (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
+ (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
+ (output_cfis): Remove.
+ * dwarf2out.c (output_fde): Simplify output_cfi loop.
+ (dwarf2out_switch_text_section): Don't call output_cfis.
+ (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
+ * dwarf2out.h: Update decls.
+ (enum dw_val_class): Add dw_val_class_none.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (update_row_reg_save): New.
+ (dwarf2out_frame_debug_cfa_expression): Use it.
+ (dwarf2out_frame_debug_cfa_restore): Likewise.
+ (reg_save): Likewise. Do not emit DW_CFA_same_value.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn. Update all users.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New.
+ (cie_cfi_row): New.
+ (new_cfi_row, copy_cfi_row, free_cfi_row): New.
+ (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove.
+ (cur_row, remember_row): New.
+ (def_cfa_1): Use cur_row instead of the old_* variables.
+ (dwarf2out_frame_debug_restore_state): Similarly.
+ (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise.
+ (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa.
+ (dwarf2out_frame_debug_adjust_cfa): Likewise.
+ (dwarf2out_frame_debug_cfa_offset): Likewise.
+ (dwarf2out_frame_debug_expr): Likewise.
+ (execute_dwarf2_frame): Set up cur_row.
+ * dwarf2out.h (struct cfa_loc): Mark for GTY.
+
+2011-07-23 Richard Henderson <rth@redhat.com>
+
+ * basic-block.h (EDGE_PRESERVE): New.
+ (EDGE_ALL_FLAGS, EDGE_COMPLEX): Include it.
+ * bb-reorder.c: Include except.h.
+ (fix_up_crossing_landing_pad): New.
+ (find_rarely_executed_basic_blocks_and_crossing_edges): Place
+ landing pads in the right partition. Duplicate as necessary.
+ (partition_hot_cold_basic_blocks): Fix up DF info after
+ duplicating landing pads.
+ * cfg.c (dump_edge_info): Add crossing and preserve to bitnames.
+ * cfgrtl.c (rtl_verify_flow_info_1): Validate that EDGE_CROSSING
+ is set properly. Validate that EH edges are not CROSSING.
+ * except.c (expand_dw2_landing_pad_for_region): Split out from ...
+ (dw2_build_landing_pads): ... here.
+ (convert_to_eh_region_ranges): Remove code to fixup crossing
+ landing pads.
+ * except.h (expand_dw2_landing_pad_for_region): Declare.
+ * tree-cfg.c (gimple_can_merge_blocks_p): Don't merge PRESERVE edges.
+
+2011-07-23 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/49816
+ * arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure.
+
+2011-07-22 Jason Merrill <jason@redhat.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Document -Wno-narrowing.
+
+2011-07-22 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (gate_handle_partition_blocks): Honor optimize.
+
+2011-07-22 Richard Henderson <rth@redhat.com>
+
+ * jump.c (maybe_propagate_label_ref): Split out of...
+ (mark_all_labels): ... here. Do not attempt label_ref
+ propagation while in cfglayout mode.
+
+2011-07-22 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (struct macinfo_struct): Change code to unsigned char.
+ (DEBUG_MACRO_SECTION, DEBUG_MACRO_SECTION_LABEL): Define.
+ (dwarf_attr_name): Handle DW_AT_GNU_macros.
+ (dwarf2out_define): If the vector is empty and
+ lineno is 0, emit a dummy entry first.
+ (dwarf2out_undef): Likewise. Remove redundant semicolon.
+ (htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op,
+ optimize_macinfo_range): New functions.
+ (output_macinfo): Use them. If !dwarf_strict and .debug_str is
+ mergeable, optimize longer strings using
+ DW_MACRO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP,
+ optimize longer sequences of define/undef ops from headers
+ using DW_MACRO_GNU_transparent_include. For !dwarf_strict
+ emit a section headers.
+ (dwarf2out_init): For !dwarf_strict set debug_macinfo_section
+ and macinfo_section_label to DEBUG_MACRO_SECTION
+ resp. DEBUG_MACRO_SECTION_LABEL.
+ (dwarf2out_finish): For !dwarf_strict emit DW_AT_GNU_macros
+ instead of DW_AT_macro_info.
+
+ PR other/32998
+ * common.opt (grecord-gcc-switches, gno-record-gcc-switches): New
+ options.
+ * dwarf2out.c: Include opts.h.
+ (dchar_p): New typedef. Define heap VEC for it.
+ (producer_string): New variable.
+ (gen_producer_string): New function.
+ (gen_compile_unit_die): Use it.
+ (dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer if needed.
+ * Makefile.in (dwarf2out.o): Depend on $(OPTS_H).
+ * doc/invoke.texi: Document -grecord-gcc-switches and
+ -gno-record-gcc-switches, add a -grecord-gcc-switches reference
+ to -frecord-gcc-switches description.
+
+2011-07-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/30112
+ * c-decl.c (c_linkage_bindings): Define.
+
+2011-07-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/49815
+ * var-tracking.c (vt_finalize): Always free windowed_parm_regs.
+
+2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Disallow
+ MS ABI in x32 mode.
+ (ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi
+ only for TARGET_LP64.
+ (ix86_handle_abi_attribute): Check TARGET_LP64 instead of TARGET_64BIT.
+
+2011-07-22 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_xcoff_strip_dollar): Rewrite to
+ avoid warnings when GCC is built with a C++ compiler.
+
+2011-07-22 Martin Jambor <mjambor@suse.cz>
+
+ PR lto/49796
+ * cgraphunit.c (verify_edge_corresponds_to_fndecl): Return false
+ if decl node is in another partition, call cgraph_get_node only once.
+
+2011-07-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * config.gcc (x86_64-*-linux*): Set
+ default_gnu_indirect_function to yes.
+
+2011-07-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45819
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Properly
+ preserve volatile and notrap flags.
+
+2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/49794
+ * configure.ac: Test AM_ICONV with CXX.
+ * configure: Regenerate.
+ * config/sol2-c.c (solaris_format_types): Use EXPORTED_CONST.
+
+2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/49797
+ * graphite-clast-to-gimple.c (CLOOG_LANGUAGE_C): Provide if missing.
+ (set_cloog_options): Use it.
+
+2011-07-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49756
+ * gcc.c (main): Call stack_limit_increase (64MB).
+ * toplev.c (toplev_main): Likewise.
+
+2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
+ instead of force_reg.
+
+2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_expand_move): Convert to Pmode if
+ needed and use force_reg after convert.
+ (ix86_expand_call): Likewise.
+ (ix86_expand_special_args_builtin): Likewise.
+ (ix86_expand_builtin): Likewise.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47654
+ PR middle-end/49649
+ * graphite-clast-to-gimple.c (type_for_clast_term): Pass v1 and v2
+ in parameter. Initialize v1 and v2 based on the values returned
+ by clast_name_to_lb_ub.
+ (type_for_clast_red): Pass v1 and v2 in parameter, and set their
+ values.
+ (type_for_clast_bin): Same.
+ (type_for_clast_expr): Same.
+ (type_for_clast_eq): Update calls to type_for_clast_expr.
+ (type_for_clast_for): Same.
+ (build_iv_mapping): Same.
+ * graphite-ppl.h (value_min): New.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (type_for_interval): Generate signed
+ types whenever possible.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (struct clast_name_index): Add lb
+ and ub fields.
+ (new_clast_name_index): Add lb and ub parameters.
+ (free_clast_name_index): New.
+ (clast_name_to_lb_ub): New.
+ (save_clast_name_index): Add lb and ub parameters.
+ (compute_bounds_for_param): New.
+ (type_for_level): Removed.
+ (type_for_clast_for): Removed level parameter. Do not call
+ type_for_level.
+ (graphite_create_new_loop): Store the lb and ub for the clast_name
+ of the iterator of the loop that has been generated.
+ (graphite_create_new_loop_guard): Remove parameter level.
+ (create_params_index): Store the lb and ub of each parameter.
+ (gloog): Use free_clast_name_index. Pass to create_params_index
+ the current scop.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (max_signed_precision_type): Removed.
+ (max_precision_type): Inline max_signed_precision_type.
+ (type_for_clast_red): Use max_precision_type.
+ (type_for_clast_bin): Same.
+ (type_for_clast_for): Same.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (gcc_type_for_interval): Renamed
+ type_for_interval.
+ (gcc_type_for_value): Renamed type_for_value.
+ (gcc_type_for_clast_term): Renamed type_for_clast_term.
+ (gcc_type_for_clast_expr): Renamed type_for_clast_expr.
+ (gcc_type_for_clast_red): Renamed type_for_clast_red.
+ (gcc_type_for_clast_bin): Renamed type_for_clast_bin.
+ (gcc_type_for_clast_eq): Renamed type_for_clast_eq.
+ (graphite_translate_clast_equation): Update calls.
+ (compute_type_for_level): Renamed type_for_level.
+ (gcc_type_for_iv_of_clast_loop): Renamed type_for_clast_for.
+ (build_iv_mapping): Update calls.
+ (graphite_create_new_loop_guard): Same.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (clast_get_body_of_loop): Add fixme
+ comment.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (struct ivs_params): New.
+ (clast_name_to_gcc): Use ivs_params to pass around parameters.
+ (clast_to_gcc_expression): Same.
+ (clast_to_gcc_expression_red): Same.
+ (gcc_type_for_clast_term): Same.
+ (gcc_type_for_clast_expr): Same.
+ (gcc_type_for_clast_red): Same.
+ (gcc_type_for_clast_bin): Same.
+ (gcc_type_for_clast_eq): Same.
+ (graphite_translate_clast_equation): Same.
+ (graphite_create_guard_cond_expr): Same.
+ (graphite_create_new_guard): Same.
+ (graphite_create_new_loop): Same.
+ (build_iv_mapping): Same.
+ (translate_clast_user): Same.
+ (graphite_create_new_loop_guard): Same.
+ (translate_clast): Same.
+ (translate_clast_for_loop): Same.
+ (translate_clast_for): Same.
+ (translate_clast_guard): Same.
+ (initialize_cloog_names): Fix typo.
+ (gloog): Initialize an ivs_params struct, pass it to translate_clast.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (struct clast_name_index): Add level.
+ (new_clast_name_index): Add level parameter.
+ (clast_name_to_level): New.
+ (save_clast_name_index): Add level parameter.
+ (newivs_to_depth_to_newiv): Removed.
+ (clast_name_to_gcc): Inlined newivs_to_depth_to_newiv.
+ (graphite_create_new_loop): Add level parameter. Pass level to
+ save_clast_name_index.
+ (translate_clast_for_loop): Pass level to graphite_create_new_loop.
+ (create_params_index): Pass level to save_clast_name_index.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (graphite_create_new_loop): Do not
+ recompute type, lb, and ub. Get them from...
+ (graphite_create_new_loop_guard): ...here. Pass in parameter
+ pointers to type, lb, and ub.
+ (translate_clast_for_loop): Update function calls.
+ (translate_clast_for): Same.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (compute_bounds_for_level): Call
+ psct_dynamic_dim.
+ (translate_clast_for_loop): Pass loop level to dependency_in_loop_p.
+ (gcc_type_for_iv_of_clast_loop): Update use of level.
+ (gloog): Start counting nesting level from 0.
+ * graphite-clast-to-gimple.h (get_scattering_level): Removed.
+ * graphite-dependences.c (graphite_carried_dependence_level_k): Call
+ psct_dynamic_dim on level.
+
+2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_legitimize_address): Convert to
+ Pmode if needed.
+
+2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (function_value_64): Always return pointers
+ in Pmode.
+ (ix86_promote_function_mode): New.
+ (TARGET_PROMOTE_FUNCTION_MODE): Likewise.
+
+2011-07-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49749
+ * tree-ssa-reassoc.c (get_rank): Fix operand scan conditions and
+ remove no-longer-used maxrank variable.
+
+2011-07-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (final_prescan_insn): Fix printing of rtx_costs.
+
+2011-07-21 Jason Merrill <jason@redhat.com>
+
+ * system.h (HAVE_DESIGNATED_UNION_INITIALIZERS): New.
+ * recog.h (struct insn_data_d): Check it instead of
+ HAVE_DESIGNATED_INITIALIZERS.
+ * genoutput.c (output_insn_data): Likewise.
+
+2011-07-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49770
+ * tree-ssa-sccvn.c (valueize_refs_1): Return whether we
+ valueized any operand. Renamed from ...
+ (valueize_refs): ... this. New wrapper around valueize_refs_1.
+ (valueize_shared_reference_ops_from_ref): Return whether we
+ valueized any operand.
+ (vn_reference_lookup): Only when we valueized any operand
+ use the valueized reference for alias analysis. Do not preserve
+ the original reference tree in this case.
+
+2011-07-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Reject all but
+ register operands and subregs of DImode hard registers in index.
+
+2011-07-21 Kai Tietz <ktietz@redhat.com>
+
+ * fold-const.c (fold_unary_loc): Preserve indirect
+ comparison cast to none-boolean type.
+ * tree-ssa.c (useless_type_conversion_p): Preserve cast
+ from/to boolean-type.
+ * gimplify.c (gimple_boolify): Handle boolification of comparisons.
+ (gimplify_expr): Boolifiy non aggregate-typed comparisons.
+ * tree-cfg.c (verify_gimple_comparison): Check result
+ type of comparison expression.
+ * tree-ssa-forwprop.c (forward_propagate_comparison): Adjust test
+ of condition result and disallow type-cast sinking into comparison.
+
+2011-07-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (combine_conversions): Return whether
+ we have to run cfg-cleanup. Properly remove dead stmts.
+ (ssa_forward_propagate_and_combine): Adjust.
+
+2011-07-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * regcprop.c (maybe_mode_change): Check HARD_REGNO_MODE_OK.
+
+2011-07-21 Kai Tietz <ktietz@redhat.com>
+
+ * tree-ssa-propagate.c (substitute_and_fold): Use
+ do_dce flag to deside, if BB's statements are scanned
+ in last to first, or first to last order.
+
+2011-07-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_rtx_costs): Set cost of CONST, LABEL_REF to 0.
+
+2011-07-20 H.J. Lu <hongjiu.lu@intel.com>
+ Uros Bizjak <ubizjak@gmail.com>
+ Richard Henderson <rth@redhat.com>
+
+ * config/i386/constraints.md (w): New.
+
+ * config/i386/i386.c (ix86_output_addr_vec_elt): Check
+ TARGET_LP64 instead of TARGET_64BIT for ASM_QUAD.
+
+ * config/i386/i386.h (CASE_VECTOR_MODE): Check TARGET_LP64
+ instead of TARGET_64BIT.
+
+ * config/i386/i386.md (indirect_jump): Replace
+ nonimmediate_operand with indirect_branch_operand.
+ (*indirect_jump): Likewise. Replace constraint "m" with "w".
+ (tablejump): Replace nonimmediate_operand with indirect_branch_operand.
+ Convert operand 0 to Pmode for x32 if not PIC.
+ (*tablejump_1): Replace nonimmediate_operand with
+ indirect_branch_operand. Replace constraint "m" with "w".
+ (*call_vzeroupper): Replace constraint "m" with "w".
+ (*call): Likewise.
+ (*call_rex64_ms_sysv_vzeroupper): Likewise.
+ (*call_rex64_ms_sysv): Likewise.
+ (*call_value_vzeroupper): Likewise.
+ (*call_value): Likewise.
+ (*call_value_rex64_ms_sysv_vzeroupper): Likewise.
+ (*call_value_rex64_ms_sysv): Likewise.
+ (set_got_offset_rex64): Check TARGET_LP64 instead of TARGET_64BIT.
+
+ * config/i386/predicates.md (indirect_branch_operand): New.
+ (call_insn_operand): Support x32.
+
+2011-07-20 Michael Eager <eager@eagercon.com>
+
+ * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Default to 12.
+
+2011-07-20 Richard Henderson <rth@redhat.com>
+
+ * cfg.c (dump_bb_info): Dump basic_block->flags.
+ * cfgrtl.c (print_rtl_with_bb): Use dump_bb_info.
+
+2011-07-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_decompose_address): Allow only subregs
+ of DImode hard registers in index.
+ (ix86_legitimate_address_p): Allow subregs of base and index to span
+ more than a word. Assert that subregs of base and index satisfy
+ register_no_elim_operand predicates. Reject addresses where
+ base and index have different modes.
+
+2011-07-20 Robert Millan <rmh@gnu.org>
+
+ * config.gcc (mips*-*-linux*): Remove redundant tm_file entry.
+
+2011-07-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * bb-reorder.c (fix_crossing_conditional_branches): Fix crash by
+ removing now-unnecessary assignment.
+
+2011-07-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Restore setting
+ memory address space to the type's address space.
+
+2011-07-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/36467
+ PR target/49687
+ * config/avr/avr.md (mulhi3): Use register_or_s9_operand for operand2
+ and expand appropriately if there is a CONST_INT in operand2.
+ (usmulqihi3): New insn.
+ (*sumulqihi3): New insn.
+ (*osmulqihi3): New insn.
+ (*oumulqihi3): New insn.
+ (*muluqihi3.uconst): New insn_and_split.
+ (*muluqihi3.sconst): New insn_and_split.
+ (*mulsqihi3.sconst): New insn_and_split.
+ (*mulsqihi3.uconst): New insn_and_split.
+ (*mulsqihi3.oconst): New insn_and_split.
+ (*ashifthi3.signx.const): New insn_and_split.
+ (*ashifthi3.signx.const7): New insn_and_split.
+ (*ashifthi3.zerox.const): New insn_and_split.
+ (mulsqihi3): New insn.
+ (muluqihi3): New insn.
+ (muloqihi3): New insn.
+ * config/avr/predicates.md (const_2_to_7_operand): New.
+ (const_2_to_6_operand): New.
+ (u8_operand): New.
+ (s8_operand): New.
+ (o8_operand): New.
+ (s9_operand): New.
+ (register_or_s9_operand): New.
+
+2011-07-20 Kai Tietz <ktietz@redhat.com>
+
+ * builtins.c (fold_builtin_expect): See through the cast
+ from truthvalue_type_node to long.
+
+2011-07-20 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/vsx.md (vsx_fma*): Use 4 argument fma instructions
+ where we can use them from the standard and altivec instruction
+ sets, instead of always using the 3 operand VSX forms that require
+ the destination to overlap one of the inputs.
+ (vsx_fms*): Ditto.
+ (vsx_fnma*): Ditto.
+ (vsx_fnms*): Ditto.
+
+ * config/rs6000/rs6000.md (fmadf4_fpr): Set fp_type fp_maddsub_d
+ for DF types.
+ (fmsdf4_fpr): Ditto.
+ (nfmadf4_fpr): Ditto.
+ (nfmsdf4_fpr): Ditto.
+
+2011-07-20 Sandra Loosemore <sandra@codesourcery.com>
+
+ * genrecog.c (make_insn_sequence): Correct position numbering
+ when filtering out match_scratch and match_dup.
+
+2011-07-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
+ against already removed statements.
+ (forward_propagate_into_comparison): Remove dead defining stmts.
+ (forward_propagate_into_gimple_cond): Likewise.
+ (forward_propagate_into_cond): Simplify.
+ (ssa_forward_propagate_and_combine): Handle changed cfg from
+ forward_propagate_into_comparison.
+ * tree-ssa-phiopt.c (conditional_replacement): Use proper
+ locations for newly built statements.
+
+2011-07-20 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_rtx_costs): Set cost of SYMBOL_REF to 0.
+
+2011-07-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_class_max_nregs): Fix return type.
+ * config/s390/s390-protos.h (s390_class_max_nregs): Likewise.
+
+2011-07-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/18908
+ * tree.c (integer_all_onesp): Use TYPE_PRECISION, not mode precision.
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Remove bogus
+ ADDR_EXPR folding. Canonicalize X ^ ~0 as ~X.
+
+2011-07-20 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/frv/frv.c (frv_register_move_cost): Define explicitly
+ costs for subclasses of GR_REGS.
+
+2011-07-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49780
+ * config/i386/predicates.md (no_seg_addres_operand): No more special.
+ * config/i386/i386.c (ix86_decompose_address): Allow only subregs
+ of DImode hard registers in base.
+ (ix86_legitimate_address_p): Allow SImode and DImode base and index
+ registers.
+
+2011-07-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (new_var_info): Allocate oldsolution lazily.
+ (unify_nodes): Deal with that.
+ (solve_graph): Likewise.
+
+2011-07-20 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.c (arm_canonicalize_comparison): Add case to
+ canonicalize left operand from ZERO_EXTEND to AND.
+
+2011-07-20 Anatoly Sokolov <aesok@post.ru>
+
+ * target.def (class_max_nregs): New hook.
+ * doc/tm.texi.in (TARGET_CLASS_MAX_NREGS): Document.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_class_max_nregs): New function.
+ * targhooks.h (default_class_max_nregs): Declare.
+ * ira.h (target_ira): Change type x_ira_reg_class_max_nregs and
+ x_ira_reg_class_min_nregs arrays to unsigned char.
+ * ira.c (setup_reg_class_nregs): Use TARGET_CLASS_MAX_NREGS target
+ hook instead of CLASS_MAX_NREGS macro.
+ * reginfo.c (restore_register_info): Ditto.
+ * ira-conflicts.c (process_regs_for_copy): Use
+ ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
+ Change type rclass and aclass vars to reg_class_t.
+ * ira-costs.c (record_reg_classes): Use ira_reg_class_max_nregs
+ array instead of CLASS_MAX_NREGS macro. Change type rclass var to
+ reg_class_t.
+ * reload.c (combine_reloads, find_reloads, find_reloads_address_1):
+ Use ira_reg_class_max_nregs array instead of CLASS_MAX_NREGS macro.
+
+ * config/i386/i386.h (CLASS_MAX_NREGS): Remove.
+ * config/i386/i386.c (ix86_class_max_nregs): New function.
+ (ix86_register_move_cost): Use TARGET_CLASS_MAX_NREGS target hook
+ instead of CLASS_MAX_NREGS macro.
+ (TARGET_CLASS_MAX_NREGS): Define.
+ * config/avr/avr.h (CLASS_MAX_NREGS): Remove.
+ * config/avr/avr-protos.h (class_max_nregs): Remove declaration.
+ * config/avr/avr.c (class_max_nregs): Remove function.
+ * config/alpha/alpha.h (CLASS_MAX_NREGS): Remove.
+ * config/spu/spu.h (CLASS_MAX_NREGS): Remove.
+ * config/mep/mep.h (CLASS_MAX_NREGS): Remove.
+ * config/m32r/m32r.h (CLASS_MAX_NREGS): Remove.
+ * config/microblaze/microblaze.h (CLASS_MAX_NREGS): Remove.
+ * config/xtensa/xtensa.h (CLASS_MAX_NREGS): Remove.
+ * config/stormy16/stormy16.h (CLASS_MAX_NREGS): Remove.
+ * config/lm32/lm32.h (CLASS_MAX_NREGS): Remove.
+ * config/moxie/moxie.h (CLASS_MAX_NREGS): Remove.
+ * config/iq2000/iq2000.h (CLASS_MAX_NREGS): Remove.
+ * config/mn10300/mn10300.h (CLASS_MAX_NREGS): Remove.
+ * config/score/score.h (CLASS_MAX_NREGS): Remove.
+ * config/vax/vax.h (CLASS_MAX_NREGS): Remove.
+ * config/h8300/h8300.h (CLASS_MAX_NREGS): Remove.
+ * config/v850/v850.h (CLASS_MAX_NREGS): Remove.
+
+2011-07-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cif-code.def (OVERWRITABLE): Fix typo and move around.
+ (TARGET_OPTIMIZATION_MISMATCH): Delete.
+ (EH_PERSONALITY): Fix typo.
+ (NON_CALL_EXCEPTIONS): Fix message.
+ (OPTIMIZATION_MISMATCH): Adjust message.
+ * ipa-inline.c (can_inline_edge_p): Use CIF_OPTIMIZATION_MISMATCH.
+
+2011-07-19 Ian Lance Taylor <iant@google.com>
+
+ * doc/install.texi (Configuration): Document
+ --enable-build-poststage1-with-cxx.
+
+2011-07-19 Robert Millan <rmh@gnu.org>
+
+ * config/mips/gnu-user.h: Copy from linux.h. Update comments.
+ (GLIBC_DYNAMIC_LINKER): Remove.
+
+ * config/mips/gnu-user64.h: Copy from linux64.h. Update comments.
+ (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
+ (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
+ (BIONIC_DYNAMIC_LINKERN32, GNU_USER_DYNAMIC_LINKERN32): Remove.
+ (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32,
+ GNU_USER_DYNAMIC_LINKER64 and GNU_USER_LINK_EMULATIONN32.
+
+ * config/mips/linux.h: Remove everything except for ...
+ (GLIBC_DYNAMIC_LINKER): ... this macro.
+
+ * config/mips/linux64.h: Remove everything except for ...
+ (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64)
+ (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32)
+ (BIONIC_DYNAMIC_LINKERN32): ... these macros.
+ (GNU_USER_LINK_EMULATION32, GNU_USER_LINK_EMULATION64)
+ (GNU_USER_LINK_EMULATIONN32): New macros.
+
+ * config.gcc (mips64*-*-linux* | mipsisa64*-*-linux* | mips-*-linux*):
+ Use the new headers.
+
+2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * rtl.h (mem_attrs): Turn offset and size fields into HOST_WIDE_INTs.
+ Add offset_known_p and size_known_p fields.
+ (MEM_OFFSET_KNOWN_P): Update accordingly.
+ (MEM_OFFSET, MEM_SIZE_KNOWN_P, MEM_SIZE): Likewise.
+ * emit-rtl.c (mem_attrs_htab_hash): Update after mem_attrs changes.
+ (mem_attrs_eq_p, set_mem_attributes_minus_bitpos, set_mem_offset)
+ (clear_mem_offset, set_mem_size, clear_mem_size, change_address)
+ (adjust_address_1, widen_memory_access, set_mem_attrs_for_spill)
+ (init_emit_regs): Likewise.
+
+2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/rtl.texi (MEM_OFFSET_KNOWN_P): Document.
+ (MEM_OFFSET): Change from returning an rtx to returning a
+ HOST_WIDE_INT.
+ * rtl.h (MEM_OFFSET_KNOWN_P): New macro.
+ (MEM_OFFSET): Return a HOST_WIDE_INT rather than an rtx.
+ * emit-rtl.h (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
+ (clear_mem_offset): Declare.
+ * alias.c (ao_ref_from_mem): Adjust uses of MEM_OFFSET, using
+ MEM_OFFSET_KNOWN_P to test whether the offset is known, and
+ MEM_OFFSET to get a HOST_WIDE_INT offset.
+ (nonoverlapping_memrefs_p): Likewise. Adjust calls to...
+ (adjust_offset_for_component_ref): Take a bool "known_p"
+ parameter and a HOST_WIDE_INT "offset" parameter.
+ * builtins.c (get_memory_rtx): As for ao_ref_from_mem.
+ Adjust calls to set_mem_offset, passing a HOST_WIDE_INT rather
+ than an rtx. Use clear_mem_offset to clear the offset.
+ * cfgcleanup.c (merge_memattrs): Likewise.
+ * dwarf2out.c (tls_mem_loc_descriptor): Likewise.
+ * function.c (assign_parm_find_stack_rtl): Likewise.
+ (assign_parm_setup_stack): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * reload.c (find_reloads_subreg_address): Likewise.
+ * simplify-rtx.c (delegitimize_mem_from_attrs): Likewise.
+ * var-tracking.c (INT_MEM_OFFSET): Likewise.
+ * emit-rtl.c (set_reg_attrs_from_value): Likewise.
+ (get_mem_align_offset): Likewise.
+ (set_mem_offset): Take a HOST_WIDE_INT rather than an rtx.
+ (clear_mem_offset): New function.
+ * config/mips/mips.c (r10k_safe_mem_expr_p): Take a HOST_WIDE_INT
+ offset rather than an rtx. Assume both the expressio and offset
+ are available.
+ (r10k_needs_protection_p_1): Update accordingly, checking the
+ expression and offset availability here instead.
+
+2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * doc/rtl.texi (MEM_SIZE_KNOWN_P): Document.
+ (MEM_SIZE): Change from returning an rtx to returning a HOST_WIDE_INT.
+ * rtl.h (MEM_SIZE_KNOWN_P): New macro.
+ (MEM_SIZE): Return a HOST_WIDE_INT rather than an rtx.
+ * emit-rtl.h (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
+ (clear_mem_size): Declare.
+ * emit-rtl.c (set_mem_size): Take a HOST_WIDE_INT rather than an rtx.
+ (clear_mem_size): New function.
+ * alias.c (ao_ref_from_mem): Adjust uses of MEM_SIZE, using
+ MEM_SIZE_KNOWN_P to test whether the size is known, and MEM_SIZE
+ to get a HOST_WIDE_INT size. Adjust calls to set_mem_size,
+ passing a HOST_WIDE_INT rather than an rtx. Use clear_mem_size
+ to clear the size.
+ (nonoverlapping_memrefs_p): Likewise.
+ * builtins.c (get_memory_rtx, expand_builtin_memcmp): Likewise.
+ (expand_builtin_init_trampoline): Likewise.
+ * calls.c (compute_argument_addresses): Likewise.
+ * cfgcleanup.c (merge_memattrs): Likewise.
+ * dce.c (find_call_stack_args): Likewise.
+ * dse.c (record_store, scan_insn): Likewise.
+ * dwarf2out.c (dw_sra_loc_expr): Likewise.
+ * expr.c (emit_block_move_hints): Likewise.
+ * function.c (assign_parm_find_stack_rtl): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * reload.c (find_reloads_subreg_address): Likewise.
+ * rtlanal.c (may_trap_p_1): Likewise.
+ * var-tracking.c (track_expr_p): Likewise.
+ * varasm.c (assemble_trampoline_template): Likewise.
+ * config/arm/arm.c (arm_print_operand): Likewise.
+ * config/h8300/h8300.c (h8sx_emit_movmd): Likewise.
+ * config/i386/i386.c (expand_movmem_via_rep_mov): Likewise.
+ (expand_setmem_via_rep_stos, expand_constant_movmem_prologue)
+ (expand_constant_setmem_prologue): Likewise.
+ * config/mips/mips.c (mips_get_unaligned_mem): Likewise.
+ * config/rs6000/rs6000.c (expand_block_move): Likewise.
+ (adjacent_mem_locations): Likewise.
+ * config/s390/s390.c (s390_expand_setmem): Likewise.
+ (s390_expand_insv): Likewise.
+ * config/s390/s390.md (*extzv<mode>, *extv<mode>): Likewise.
+ (*extendqi<mode>2_short_displ): Likewise.
+ * config/sh/sh.c (expand_block_move): Likewise.
+ * config/sh/sh.md (extv, extzv): Likewise.
+
+2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * emit-rtl.c (mem_attrs_eq_p): New function, split out from...
+ (mem_attrs_htab_eq): ...here.
+ (find_mem_attrs): Replace with...
+ (set_mem_attrs): ...this function. Take a mem_attrs structure
+ rather than individual fields.
+ (set_mem_attributes_minus_bitpos, set_mem_alias_set)
+ (set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
+ (set_mem_size, change_address, adjust_address_1, offset_address)
+ (widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
+ Update accordingly.
+
+2011-07-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * rtl.h (MEM_ALIAS_SET, MEM_EXPR, MEM_OFFSET, MEM_ADDR_SPACE)
+ (MEM_SIZE, MEM_ALIGN): Redefine in terms of get_mem_attrs.
+ Provide a dummy definition of MEM_ADDR_SPACE for generators.
+ (target_rtl): Add x_mode_mem_attrs.
+ (mode_mem_attrs): New macro.
+ (get_mem_attrs): New function.
+ * emit-rtl.c (get_mem_attrs): Rename to...
+ (find_mem_attrs): ...this.
+ (set_mem_attributes_minus_bitpos, set_mem_alias_set)
+ (set_mem_addr_space, set_mem_align, set_mem_expr, set_mem_offset)
+ (set_mem_size, change_address, adjust_address_1, offset_address)
+ (widen_memory_access, get_spill_slot_decl, set_mem_attrs_for_spill):
+ Update accordingly.
+ (init_emit_regs): Initialize mode_mem_attrs.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (lookup_logical_inverted_value): Remove
+ TRUTH_*_EXPR handling.
+ * tree-ssa-operands.c (get_expr_operands): Likewise.
+ * tree-ssa-pre.c (fully_constant_expression): Likewise.
+ * tree-ssa-uninit.c (use_pred_not_overlap_with_undef_path_pre):
+ Likewise.
+ (is_and_or_or): Likewise.
+ (is_norm_cond_subset_of): Likewise.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (fold_build_pointer_plus_loc): New helper function.
+ (fold_build_pointer_plus_hwi_loc): Likewise.
+ (fold_build_pointer_plus): Define.
+ (fold_build_pointer_plus_hwi): Likewise.
+ * builtins.c (std_gimplify_va_arg_expr): Use fold_build_pointer_plus.
+ (fold_builtin_memory_op): Likewise.
+ (fold_builtin_stpcpy): Likewise.
+ (fold_builtin_memchr): Likewise.
+ (fold_builtin_strstr): Likewise.
+ (fold_builtin_strchr): Likewise.
+ (fold_builtin_strrchr): Likewise.
+ (fold_builtin_strpbrk): Likewise.
+ (fold_builtin_strcat): Likewise.
+ (expand_builtin_memory_chk): Likewise.
+ (fold_builtin_memory_chk): Likewise.
+ * c-typeck.c (build_unary_op): Likewise.
+ * cgraphunit.c (thunk_adjust): Likewise.
+ * fold-const.c (build_range_check): Likewise.
+ (fold_binary_loc): Likewise.
+ * omp-low.c (extract_omp_for_data): Likewise.
+ (expand_omp_for_generic): Likewise.
+ (expand_omp_for_static_nochunk): Likewise.
+ (expand_omp_for_static_chunk): Likewise.
+ * tree-affine.c (add_elt_to_tree): Likewise.
+ * tree-data-ref.c (split_constant_offset_1): Likewise.
+ * tree-loop-distribution.c (generate_memset_zero): Likewise.
+ * tree-mudflap.c (mf_xform_derefs_1): Likewise.
+ * tree-predcom.c (ref_at_iteration): Likewise.
+ * tree-ssa-address.c (tree_mem_ref_addr): Likewise.
+ (add_to_parts): Likewise.
+ (create_mem_ref): Likewise.
+ * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Likewise.
+ * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Likewise.
+ (number_of_iterations_le): Likewise.
+ * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Likewise.
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
+ (vect_create_addr_base_for_vector_ref): Likewise.
+ * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Likewise.
+ (vect_create_cond_for_alias_checks): Likewise.
+ * tree-vrp.c (extract_range_from_assert): Likewise.
+ * config/alpha/alpha.c (alpha_va_start): Likewise.
+ (alpha_gimplify_va_arg_1): Likewise.
+ * config/i386/i386.c (ix86_va_start): Likewise.
+ (ix86_gimplify_va_arg): Likewise.
+ * config/ia64/ia64.c (ia64_gimplify_va_arg): Likewise.
+ * config/mep/mep.c (mep_expand_va_start): Likewise.
+ (mep_gimplify_va_arg_expr): Likewise.
+ * config/mips/mips.c (mips_va_start): Likewise.
+ (mips_gimplify_va_arg_expr): Likewise.
+ * config/pa/pa.c (hppa_gimplify_va_arg_expr): Likewise.
+ * config/rs6000/rs6000.c (rs6000_va_start): Likewise.
+ (rs6000_gimplify_va_arg): Likewise.
+ * config/s390/s390.c (s390_va_start): Likewise.
+ (s390_gimplify_va_arg): Likewise.
+ * config/sh/sh.c (sh_va_start): Likewise.
+ (sh_gimplify_va_arg_expr): Likewise.
+ * config/sparc/sparc.c (sparc_gimplify_va_arg): Likewise.
+ * config/spu/spu.c (spu_va_start): Likewise.
+ (spu_gimplify_va_arg_expr): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_expand_builtin_va_start):
+ Likewise.
+ (xstormy16_gimplify_va_arg_expr): Likewise.
+ * config/xtensa/xtensa.c (xtensa_va_start): Likewise.
+ (xtensa_gimplify_va_arg_expr): Likewise.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (expand_expr_real_2): Remove TRUTH_*_EXPR handling.
+ (expand_expr_real_1): Remove TRUTH_*IF_EXPR and STATEMENT_LIST
+ handling.
+
+ PR middle-end/18908
+ * expr.c (expand_expr_real_2): Do not unnecessarily truncate the
+ result of BIT_*_EXPR to bitfield precision.
+
+2011-07-19 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/49742
+ * tree-data-ref.c (get_references_in_stmt): Treat the lhs of a call
+ as a potential write.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (tree-ssa-forwprop.o): Depend on gimple-pretty-print.h.
+ * tree-ssa-forwprop.c: Include gimple-pretty-print.h.
+ (forward_propagate_comparison): Simplify, remove obsolete code.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_expr): Gimplify TRUTH_NOT_EXPR as
+ BIT_XOR_EXPR, same as the RTL expander does.
+ * tree-cfg.c (verify_expr): Disallow TRUTH_NOT_EXPR in the gimple IL.
+ (verify_gimple_assign_unary): Likewise.
+ * tree-ssa-propagate.c (valid_gimple_rhs_p): Disallow TRUTH_*_EXPR.
+ * tree-ssa-forwprop.c (forward_propagate_comparison): Handle
+ BIT_NOT_EXPR and BIT_XOR_EXPR instead of TRUTH_NOT_EXPR.
+
+2011-07-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49768
+ * gimple-fold.c (fold_nonarray_ctor_reference): Return NULL
+ if offset is smaller than bitoffset, but offset+size is bigger
+ than bitoffset.
+
+2011-07-19 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49771
+ * tree-vect-loop-manip.c (vect_vfa_segment_size): In case of
+ zero step, set segment length to the size of the data-ref's type.
+
+2011-07-18 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.h: Include alloc-pool.h, all sorts of updates to general
+ comments.
+ (ipcp_values_pool): Declare.
+ (ipcp_sources_pool): Likewise.
+ (ipcp_lattice): Changed to forward declaration.
+ (ipa_param_descriptor): Removed fields ipcp_lattice, types and
+ cannot_devirtualize.
+ (ipa_node_params): New fields descriptors, lattices, known_vals,
+ clone_for_all_contexts and node dead, removed fields params and
+ count_scale.
+ (ipa_set_param_count): Removed.
+ (ipa_get_param_count): Made to work with descriptors vector.
+ (ipa_get_param): Updated.
+ (ipa_param_cannot_devirtualize_p): Removed.
+ (ipa_param_types_vec_empty): Likewise.
+ (ipa_set_param_used): New function.
+ (ipa_get_param_used): Updated to use descriptors vector.
+ (ipa_func_list): Removed.
+ (ipa_init_func_list): Removed declaration.
+ (ipa_push_func_to_list_1): Likewise.
+ (ipa_pop_func_from_list): Likewise.
+ (ipa_push_func_to_list): Removed.
+ (ipa_lattice_from_jfunc): Remove declaration.
+ (ipa_get_jf_pass_through_result): Declare.
+ (ipa_get_jf_ancestor_result): Likewise.
+ (ipa_value_from_jfunc): Likewise.
+ (ipa_get_lattice): Update.
+ (ipa_lat_is_single_const): New function.
+ * ipa-prop.c (ipa_push_func_to_list_1): Removed.
+ (ipa_init_func_list): Likewise.
+ (ipa_pop_func_from_list): Likewise.
+ (ipa_get_param_decl_index): Fix coding style.
+ (count_formal_params): Removed.
+ (count_formal_params_1): Renamed to count_formal_params.
+ (ipa_populate_param_decls): Update to use descriptors vector.
+ (ipa_initialize_node_params): Likewise.
+ (visit_ref_for_mod_analysis): Use ipa_set_param_used.
+ (ipa_analyze_params_uses): Likewise.
+ (ipa_free_node_params_substructures): Likewise and free also lattices
+ and known values.
+ (duplicate_array): Removed.
+ (ipa_edge_duplication_hook): Add the new edge to the list of edge
+ clones.
+ (ipa_node_duplication_hook): Update to use new lattices.
+ (ipa_free_all_structures_after_ipa_cp): Free alloc pools.
+ (ipa_free_all_structures_after_iinln): Likewise.
+ (ipa_write_node_info): Update to use new lattices.
+ (ipa_read_node_info): Likewise.
+ (ipa_get_jf_pass_through_result): New function.
+ (ipa_get_jf_ancestor_result): Likewise.
+ (ipa_value_from_jfunc): Likewise.
+ (ipa_cst_from_jfunc): Reimplemented using ipa_value_from_jfunc.
+ * ipa-cp.c: Reimplemented.
+ * params.def (PARAM_DEVIRT_TYPE_LIST_SIZE): Removed.
+ (PARAM_IPA_CP_VALUE_LIST_SIZE): New parameter.
+ (PARAM_IPA_CP_EVAL_THRESHOLD): Likewise.
+ * Makefile.in (IPA_PROP_H): Added alloc-pool.h to dependencies.
+ * doc/invoke.texi (devirt-type-list-size): Removed description.
+ (ipa-cp-value-list-size): Added description.
+
+2011-07-18 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (fix_crossing_conditional_branches): Emit all insns
+ before calling create_basic_block.
+
+2011-07-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49675
+ * tree.c (build_common_builtin_nodes): Register
+ __builtin_return_address, __cyg_profile_func_enter
+ and __cyg_profile_func_exit.
+
+2011-07-18 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (emit_barrier_after_bb): Split out of ...
+ (add_labels_and_missing_jumps): ... here.
+ (fix_up_fall_thru_edges, fix_crossing_conditional_branches): Use it.
+
+2011-07-18 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47744
+ * config/i386/i386.c (ix86_decompose_address): Allow only subregs
+ of DImode hard registers in PLUS address chains.
+
+2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/49769
+ * config.gcc (alpha*-*-linux*): Add crtfastmath.o to extra_parts.
+ (alpha*-*-freebsd*): Likewise.
+ (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
+ i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
+ i[34567]86-*-kopensolaris*-gnu): Add crtprec32.o, crtprec64.o,
+ crtprec80.o, crtfastmath.o to extra_parts for all targets.
+ (ia64*-*-elf*): Remove extra_parts.
+ (sparc-*-linux*): Add crtfastmath.o to extra_parts.
+ (sparc64-*-linux*): Likewise.
+ (sparc64-*-freebsd*): Likewise.
+
+ Revert:
+ * config.gcc (ia64*-*-freebsd*): Remove crtfastmath.o from extra_parts.
+ (ia64*-*-linux*): Likewise.
+ (mips64*-*-linux*): Likewise.
+ (mips*-*-linux*): Likewise.
+
+2011-07-18 David Edelsohn <dje.gcc@gmail.com>
+
+ * doc/install.texi (Specific, *-ibm-aix*): AIX assembler bug.
+
+2011-07-18 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_expr): Use input_location, not saved_location
+ when building new trees.
+
+2011-07-18 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (expand_expr_real_2): Properly truncate the BIT_NOT_EXPR
+ expansion result to bitfield precision if required.
+
+2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (i[3456x]86-*-netware*): Remove.
+
+ * gthr-nks.h: Remove.
+ * configure.ac (enable_threads): Remove nks.
+ * configure: Regenerate.
+
+ * config/i386/i386.c (ix86_encode_section_info): Remove netware
+ reference.
+ * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
+ <netware.h> reference.
+
+ * config/i386/netware-libgcc.c,
+ gcc/config/i386/netware-libgcc.def,
+ gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
+ gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
+ gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
+ gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove
+
+ * doc/extend.texi (Function Attributes,
+ callee_pop_aggregate_return): Remove i?86-netware reference.
+ * doc/install.texi (Configuration, --enable-threads): Remove nks.
+
+2011-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/49746
+ Revert:
+ 2010-12-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa.md: Add ",*" condition to 64-bit add/subtract boolean
+ patterns.
+
+2011-07-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/49732
+ * tree.c (walk_tree_1) <DECL_EXPR>: Do not walk a pointed-to type.
+
+2011-07-16 Matthias Klose <doko@ubuntu.com>
+
+ * doc/install.texi: Document --enable-static-libjava.
+
+2011-07-15 Richard Henderson <rth@redhat.com>
+
+ * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
+ Replace all three arguments by returning a VEC of edges.
+ (add_labels_and_missing_jumps): Accept a VEC of edges, not bare
+ pointers and counts.
+ (fix_edges_for_rarely_executed_code): Merge ...
+ (rest_of_handle_partition_blocks): ... into...
+ (partition_hot_cold_basic_blocks): ... here. Return todo items if
+ any work was performed.
+ (pass_partition_blocks): Clear todo_flags_finish.
+
+2011-07-15 Paolo Carlini <paolo.carlini@oracle.com>
+ Jakub Jelinek <jakub@redhat.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/49745
+ * gthr-posix.h: Do not include <unistd.h> unconditionally; use
+ _GTHREADS_USE_MUTEX_TIMEDLOCK instead of _POSIX_TIMEOUTS.
+
+2011-07-15 Jason Merrill <jason@redhat.com>
+
+ PR testsuite/49741
+ * Makefile.in ($(lang_checks_parallelized)): Allow --extra_opts
+ rather than --tool_opts.
+
+2011-07-15 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * doc/plugins.texi (Building GCC plugins): gengtype needs its
+ corresponding gtype.state.
+
+2011-07-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/49723
+ * config/pa/pa.md (casesi): Use gen_int_mode instead of GEN_INT.
+
+2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/48220
+ * doc/md.texi (Standard Names): Document window_save.
+ * cfgexpand.c (expand_debug_parm_decl): New function extracted from
+ expand_debug_expr and expand_debug_source_expr. If the target has
+ a window_save instruction, adjust the ENTRY_VALUE_EXP.
+ (expand_debug_expr) <SSA_NAME>: Call expand_debug_parm_decl if the
+ SSA_NAME_VAR is a parameter.
+ (expand_debug_source_expr) <PARM_DECL>: Call expand_debug_parm_decl.
+ * var-tracking.c (parm_reg_t): New type and associated vector type.
+ (windowed_parm_regs): New variable.
+ (adjust_insn): If the target has a window_save instruction and this
+ is the instruction, make its effect on parameter registers explicit.
+ (next_non_note_insn_var_location): New function.
+ (emit_notes_in_bb): Use it instead of NEXT_INSN throughout.
+ (vt_add_function_parameter): If the target has a window_save insn,
+ adjust the incoming RTL and record that in windowed_parm_regs.
+ (vt_finalize): Free windowed_parm_regs.
+
+2011-07-15 Bernd Schmidt <bernds@codesourcery.com>
+
+ * doc/invoke.texi (C6X Options): New section.
+ * doc/md.texi (TI C6X family): New section.
+ * config.gcc: Handle tic6x, in particular tic6x-*-elf and
+ tic6x-*-uclinux.
+ * longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
+ count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
+ Provide C6X definitions.
+ * config/c6x/c6x.md: New file.
+ * config/c6x/constraints.md: New file.
+ * config/c6x/predicates.md: New file.
+ * config/c6x/c6x-sched.md.in: New file.
+ * config/c6x/c6x-sched.md: New file.
+ * config/c6x/gensched.sh: New file.
+ * config/c6x/c6x-mult.md.in: New file.
+ * config/c6x/genmult.sh: New file.
+ * config/c6x/c6x-mult.md: New file.
+ * config/c6x/sync.md: New file.
+ * config/c6x/c6x-protos.h: New file.
+ * config/c6x/sfp-machine.h: New file.
+ * config/c6x/c6x.c: New file.
+ * config/c6x/c6x.h: New file.
+ * config/c6x/crti.s: New file.
+ * config/c6x/crtn.s: New file.
+ * config/c6x/lib1funcs.asm: New file.
+ * config/c6x/c6x-modes.def: New file.
+ * config/c6x/genopt.sh: New file.
+ * config/c6x/c6x.opt: New file.
+ * config/c6x/c6x-tables.opt: New file.
+ * config/c6x/c6x-opts.h: New file.
+ * config/c6x/c6x-isas.def: New file.
+ * config/c6x/elf.h: New file.
+ * config/c6x/elf-common.h: New file.
+ * config/c6x/uclinux-elf.h: New file.
+ * config/c6x/t-c6x: New file.
+ * config/c6x/t-c6x-elf: New file.
+ * config/c6x/t-c6x-uclinux: New file.
+ * config/c6x/t-c6x-softfp: New file.
+ * config/c6x/gtd.c: New file.
+ * config/c6x/gtf.c: New file.
+ * config/c6x/ltd.c: New file.
+ * config/c6x/ltf.c: New file.
+ * config/c6x/ged.c: New file.
+ * config/c6x/gef.c: New file.
+ * config/c6x/led.c: New file.
+ * config/c6x/lef.c: New file.
+ * config/c6x/eqd.c: New file.
+ * config/c6x/eqf.c: New file.
+ * config/c6x/libgcc-c6xeabi.ver: New file.
+
+ Revert
+ 2003-07-10 Eric Botcazou <ebotcazou@libertysurf.fr>
+ PR rtl-optimization/11320
+ * sched-int.h (struct deps) [reg_conditional_sets]: New field.
+ (struct sched_info) [compute_jump_reg_dependencies]: New prototype.
+ * sched-deps.c (sched_analyze_insn) [JUMP_INSN]: Update call to
+ current_sched_info->compute_jump_reg_dependencies. Record which
+ registers are used and which registers are set by the jump.
+ Clear deps->reg_conditional_sets after a barrier.
+ Set deps->reg_conditional_sets if the insn is a COND_EXEC.
+ Clear deps->reg_conditional_sets if the insn is not a COND_EXEC.
+ (init_deps): Initialize reg_conditional_sets.
+ (free_deps): Clear reg_conditional_sets.
+ * sched-ebb.c (compute_jump_reg_dependencies): New prototype.
+ Mark registers live on entry of the fallthrough block and conditionally
+ set as set by the jump. Mark registers live on entry of non-fallthrough
+ blocks as used by the jump.
+ * sched-rgn.c (compute_jump_reg_dependencies): New prototype.
+ Mark new parameters as unused.
+
+2011-07-14 Andrew Pinski <pinskia@gmail.com>
+
+ PR tree-opt/49309
+ * tree-mudflap.c (mf_xform_derefs_1 <case MEM_REF>):
+ Use fold_build2_loc instead of build2.
+ Use the correct type for the new tree.
+
+2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/11320
+ * config/ia64/ia64.md (load_symptr_low): Show a MEM.
+ * config/ia64/ia64.c (ia64_expand_load_address): Generate it.
+
+2011-07-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49487
+ * config/avr/avr.md (rotl<mode>3): Generate SCRATCH instead
+ of REG.
+ (*rotw<mode>): Use const_int_operand for operand2.
+ Use match_scatch for operand3.
+ (*rotb<mode>): Ditto
+ * config/avr/avr.c (avr_rotate_bytes): Treat SCRATCH.
+
+2011-07-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49651
+ * tree-ssa-structalias.c (get_constraint_for_1): Properly
+ handle dereferences with subvariables.
+
+2011-07-14 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (fold_gimple_assign): Remove operand swapping.
+ (fold_stmt_1): Do it here directly on gimple and as a first thing.
+
+2011-07-14 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Convert the !bool_var result,
+ not bool_var when folding bool_var != 1 or bool_var == 0.
+
+2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (schedule_insns): Remove outdated comment.
+ (schedule_block): When computing a known value for TODO_SPEC,
+ just set it rather than using logical operations.
+ (try_ready): Likewise. Use a local variable rather than a
+ pointer to TODO_SPEC. Reorder an if statement to move the
+ easy case to the then block.
+ * sched-deps.c (dep_spec_p): New static function.
+ (update_dep): Use it to decide whether to call
+ change_spec_dep_to_hard.
+ (get_back_and_forw_lists): Use it.
+ (sd_resolve_dep): Likewise.
+ (init_dep): If !USE_DEPS_LIST, use zero to initialize status.
+ (haifa_note_mem_dep): Likewise.
+ (check_dep): Likewise.
+ (sd_add_dep): Also clear SPECULATIVE bits if not DO_SPECULATION.
+ (sched_free_deps): Free in two passes.
+
+2011-07-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR middle-end/49736
+ * expr.c (all_zeros_p): Undo bogus part of last change.
+
+2011-07-14 Matthias Klose <doko@ubuntu.com>
+
+ * doc/extend.texi (optimize attribute): Fix typo.
+
+2011-07-14 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimplify_expr): Only do required conversions.
+
+2011-07-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/43746
+ * config/avr/elf.h (TARGET_ASM_SELECT_SECTION): Remove,
+ i.e. use default_elf_select_section.
+ (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Remove.
+ (READONLY_DATA_SECTION_ASM_OP): Remove.
+ (TARGET_ASM_NAMED_SECTION): Move from here...
+ * config/avr/avr.c: ...to here.
+ (avr_asm_init_sections): Set unnamed callback of readonly_data_section.
+ (avr_asm_named_section): Make static.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/49739
+ * config.gcc (extra_parts): Add crtprec32.o crtprec64.o crtprec80.o
+ and crtfastmath.o for Linux/x86.
+
+2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c: Include "hashtab.h"
+ (sched_no_dce): New global variable.
+ (INSN_EXACT_TICK, INSN_TICK_ESTIMATE, FEEDS_BACKTRACK_INSN,
+ SHADOW_P): New macros.
+ (last_clock_var, cycle_issued_insns): Move declarations.
+ (must_backtrack): New static variable.
+ (struct delay_pair): New structure.
+ (delay_htab, delay_htab_i2): New static variables.
+ (delay_hash_i1, delay_hash_i2, delay_i1_eq, delay_i2_eq,
+ record_delay_slot_pair, pair_delay, add_delay_dependencies): New
+ functions.
+ (dep_cost_1): If delay pairs exist, try to look up the insns and
+ use the correct pair delay if we find them.
+ (rank-for_schedule): Tweak priority for insns that must be scheduled
+ soon to avoid backtracking.
+ (queue_insn): Detect conditions which force backtracking.
+ (ready_add): Likewise.
+ (struct sched_block_state): Add member shadows_only_p.
+ (struct haifa_save_data): New structure.
+ (backtrack_queue): New static variable.
+ (mark_backtrack_feeds, copy_insn_list, save_backtrack_point,
+ unschedule_insns_until, restore_last_backtrack_point,
+ free_topmost_backtrack_point, free_backtrack_queue,
+ estimate_insn_tick, estimate_shadow_tick): New functions.
+ (prune_ready_list): New arg shadows_only_p. All callers changed.
+ If true, remove everything that isn't SHADOW_P. Look up delay
+ pairs and estimate ticks to avoid scheduling the first insn too early.
+ (verify_shadows): New function.
+ (schedule_block): Add machinery to enable backtracking.
+ (sched_init): Take sched_no_dce into account when setting
+ DF_LR_RUN_DCE.
+ (free_delay_pairs): New function.
+ (init_h_i_d): Initialize INSN_EXACT_TICK.
+ * Makefile.in (haifa-sched.o): Add $(HASHTAB_H).
+ * sched-deps.c (sd_unresolve_dep): New function.
+ * sched-int. (struct haifa_sched_info): New fields save_state
+ and restore_state.
+ (struct _haifa_insn_data): New fields exact_tick, tick_estimate,
+ feeds_backtrack_insn and shadow_p.
+ (DO_BACKTRACKING): New value in enum SCHED_FLAGS.
+ (sched_no_dce): Declare variable.
+ (record_delay_slot_pair, free_delay_pairs, add_delay_dependencies,
+ sd_unresolve_dep): Declare functions.
+ * modulo-sched.c (sms_sched_info): Clear the two new fields.
+ * sched-rgn.c (rgn_const_sched_info): Likewise.
+ * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
+ * sched-ebb.c (save_ebb_state, restore_ebb_state): New functions.
+ (ebb_sched_info): Add them for the two new fields.
+ (add_deps_for_risky_insns): Call add_delay_dependencies.
+
+2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.opt (-mpointers-to-nested-functions):
+ Rename -mr11.
+ * config/rs6000/rs6000.c (rs6000_trampoline_init): Ditto.
+ (rs6000_call_indirect_aix): Ditto.
+ * config/rs6000/rs6000.md (call_indirect_aix<ptrsize>): Ditto.
+ (call_indirect_aix<ptrsize>_internal): Ditto.
+ (call_indirect_aix<ptrsize>_nor11): Ditto.
+ (call_indirect_aix<ptrsize>_internal2): Ditto.
+ (call_value_indirect_aix<ptrsize>): Ditto.
+ (call_value_indirect_aix<ptrsize>_internal): Ditto.
+ (call_value_indirect_aix<ptrsize>_nor11): Ditto.
+ (call_value_indirect_aix<ptrsize>_internal2): Ditto.
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Ditto.
+
+2011-07-13 Jason Merrill <jason@redhat.com>
+
+ * Makefile.in ($(lang_checks_parallelized)): Allow --tool_opts.
+
+2011-07-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_init_libfuncs): Install __clrsbdi2.
+ * config/spu/spu.md ("clrsb<mode>2"): New expander.
+
+2011-07-13 Thomas Schwinge <thomas@schwinge.name>
+
+ * acinclude.m4 (gcc_GAS_CHECK_FEATURE): Use AS_ECHO instead of echo.
+ * configure: Regenerate.
+
+2011-07-13 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (TARGET_ASM_FILE_START): Do not define.
+ (asm_file_start): Remove.
+ (spu_machine_dependent_reorg): Call compute_bb_for_insn and
+ free_bb_for_insn around code that modifies insns before
+ restarting df analysis.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/49541
+ * config/sol2.h (LIB_SPEC): Simplify. Move LIB_THREAD_LDFLAGS_SPEC ...
+ (LINK_SPEC): ... here.
+
+2011-07-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (struct sched_block_state): New.
+ (schedule_block): Move some local variables into such a structure.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/crtprec.c: Move to ../libgcc/config/i386.
+ * config/i386/t-crtpc: Remove.
+ * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
+ * config.gcc (i[34567]86-*-darwin*): Remove i386/t-crtpc from
+ tmake_file.
+ (x86_64-*-darwin*): Likewise.
+ (i[34567]86-*-linux*): Likewise.
+ (x86_64-*-linux*): Likewise.
+
+ * config/i386/sol2.h (ENDFILE_SPEC): Redefine.
+ Handle -mpc32, -mpc64, -mpc80.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/crtfastmath.c: Move to ../libgcc/config/alpha.
+ * config/alpha/t-crtfm: Remove.
+ * config/i386/crtfastmath.c: Move to ../libgcc/config/i386.
+ * config/i386/t-crtfm: Remove.
+ * config/ia64/crtfastmath.c: Move to ../libgcc/config/ia64.
+ * config/mips/crtfastmath.c: Move to ../libgcc/config/mips.
+ * config/sparc/crtfastmath.c: Move to ../libgcc/config/sparc.
+ * config/sparc/t-crtfm: Remove.
+
+ * config.gcc (alpha*-*-linux*): Remove alpha/t-crtfm from tmake_file.
+ (alpha*-*-freebsd*): Likewise.
+ (i[34567]86-*-darwin*): Remove i386/t-crtfm from tmake_file.
+ (x86_64-*-darwin*): Likewise.
+ (i[34567]86-*-linux*): Likewise.
+ (x86_64-*-linux*): Likewise.
+ (x86_64-*-mingw*): Likewise.
+ (ia64*-*-elf*): Remove crtfastmath.o from extra_parts.
+ (ia64*-*-freebsd*): Likewise.
+ (ia64*-*-linux*): Likewise.
+ (mips64*-*-linux*): Likewise.
+ (mips*-*-linux*): Likewise.
+ (sparc-*-linux*): Remove sparc/t-crtfm from tmake_file.
+ (sparc64-*-linux*): Likewise.
+ (sparc64-*-freebsd*): Likewise.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/darwin-crt2.c: Move to ../libgcc/config/rs6000.
+ * config/darwin-crt3.c: Move to ../libgcc/config.
+ * config/t-darwin (EXTRA_MULTILIB_PARTS): Remove.
+ ($(T)crt3$(objext)): Remove.
+ * config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): Remove.
+ ($(T)crt2$(objext)): Remove.
+ * config.gcc (powerpc-*-darwin*): Remove extra_parts.
+ (powerpc64-*-darwin*): Likewise.
+
+2011-07-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (x86_output_mi_thunk): Support ptr_mode != Pmode.
+
+ * config/i386/i386.md (*addsi_1_zext): Renamed to ...
+ (addsi_1_zext): This.
+
+2011-07-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * doc/tm.texi.in (TARGET_ASM_MERGEABLE_RODATA_PREFIX): Add hook.
+ * doc/tm.texi: Regenerate.
+ * target.def (mergeable_rodata_prefix): New defhookpod.
+ * varasm.c (mergeable_string_section, mergeable_constant_section):
+ Use it. Allocate name with alloca.
+
+2011-07-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/invoke.texi (x86): Remove -mfused-madd and add -mfma.
+
+2011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Tighten
+ overlap check.
+
+2011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree.h (categorize_ctor_elements): Remove comment. Fix long line.
+ (count_type_elements): Delete.
+ (complete_ctor_at_level_p): Declare.
+ * expr.c (flexible_array_member_p): New function, split out from...
+ (count_type_elements): ...here. Make static. Replace allow_flexarr
+ parameter with for_ctor_p. When for_ctor_p is true, return the
+ number of elements that should appear in the top-level constructor,
+ otherwise return an estimate of the number of scalars.
+ (categorize_ctor_elements): Replace p_must_clear with p_complete.
+ (categorize_ctor_elements_1): Likewise. Use complete_ctor_at_level_p.
+ (complete_ctor_at_level_p): New function, borrowing union logic
+ from old categorize_ctor_elements_1.
+ (mostly_zeros_p): Return true if the constructor is not complete.
+ (all_zeros_p): Update call to categorize_ctor_elements.
+ * gimplify.c (gimplify_init_constructor): Update call to
+ categorize_ctor_elements. Don't call count_type_elements.
+ Unconditionally prevent clearing for variable-sized types,
+ otherwise rely on categorize_ctor_elements to detect
+ incomplete initializers.
+
+2011-07-13 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (simplify_conversion_using_ranges): Make sure
+ the final type is integral.
+
+2011-07-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * sched-int.h (struct _dep): Add member cost.
+ (DEP_COST, UNKNOWN_DEP_COST): New macros.
+ * sched-deps.c (init_dep_1): Initialize DEP_COST.
+ * haifa-sched.c (dep_cost_1): Use and set DEP_COST.
+ (sched_change_pattern): Reset it for dependent insns.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (CRT0STUFF_T_CFLAGS): Remove.
+ ($(T)crt0.o, $(T)mcrt0.o, s-crt0): Remove.
+ * config/i386/netware-crt0.c: Move to ../libgcc/config/i386.
+ * config/i386/t-nwld (CRTSTUFF_T_CFLAGS, CRT0STUFF_T_CFLAGS): Remove.
+ (CRT0_S, MCRT0_S): Remove.
+ ($(T)libgcc.def, $(T)libc.def, $(T)libcpre.def, $(T)posixpre.def):
+ Remove.
+ (s-crt0): Remove.
+ * config.gcc (i[3456x]86-*-netware*): Remove extra_parts.
+
+2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cse.c (insert_with_costs): Put semi-colon after empty loop body
+ on the next line.
+ * emit-rtl.c (push_to_sequence): Likewise.
+ * haifa-sched.c (max_issue): Likewise.
+ * matrix-reorg.c (add_allocation_site): Likewise.
+ * postreload-gcse.c (eliminate_partially_redundant_load): Likewise.
+ * reload.c (alternative_allows_const_pool_ref): Likewise.
+ * sched-rgn.c (rgn_add_block): Likewise.
+ (rgn_fix_recovery_cfg): Likewise.
+ * tree.c (attribute_list_contained): Likewise.
+
+2011-07-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c: Tidy processor feature bitmasks.
+ (m_P4_NOCONA): New.
+
+2011-07-12 Andrew Pinski <pinskia@gmail.com>
+
+ PR rtl-opt/49474
+ * cprop.c (find_implicit_sets): Correct the condition.
+
+2011-07-12 Richard Henderson <rth@redhat.com>
+
+ PR target/49713
+ * dwarf2out.h (dwarf_frame_regnum): Remove.
+ * dwarf2out.c (based_loc_descr): Revert last change. Initialize regno
+ earlier from DWARF_FRAME_REGNUM. Never use dbx_reg_number.
+ * dwarf2cfi.c (dw_stack_pointer_regnum, dw_frame_pointer_regnum): New.
+ (execute_dwarf2_frame): Initialize them.
+ (DW_STACK_POINTER_REGNUM, DW_FRAME_POINTER_REGNUM): Remove; replace
+ users of the macros with the variables.
+ (expand_builtin_dwarf_sp_column): Revert last change.
+ (expand_builtin_init_dwarf_reg_sizes): Likewise. Compute the
+ result of DWARF_FRAME_REGNUM into a local variable.
+
+2011-07-12 Richard Henderson <rth@redhat.com>
+
+ PR target/49714
+ * config/i386/i386.c (x86_output_mi_thunk): Use
+ machopic_indirect_call_target instead of machopic_indirection_name
+ directly.
+
+2011-07-12 Laurent GUERBY <laurent@guerby.net>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * prefix.h: Wrap up in extern "C" block.
+
+2011-07-12 Harsha Jagasia <harsha.jagasia@amd.com>
+
+ AMD bdver2 Enablement
+ * config.gcc (i[34567]86-*-linux* | ...): Add bdver2.
+ (case ${target}): Add bdver2.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Let
+ -march=native recognize bdver2 processors.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Add
+ bdver2 def_and_undef
+ * config/i386/i386.c (struct processor_costs bdver2_cost): New
+ bdver2 cost table.
+ (m_BDVER2): New definition.
+ (m_AMD_MULTIPLE): Includes m_BDVER2.
+ (initial_ix86_tune_features): Add bdver2 tuning.
+ (processor_target_table): Add bdver2 entry.
+ (static const char *const cpu_names): Add bdver2 entry.
+ (ix86_option_override_internal): Add bdver2 instruction sets.
+ (ix86_issue_rate): Add bdver2.
+ (ix86_adjust_cost): Add bdver2.
+ (has_dispatch): Add bdver2.
+ * config/i386/i386.h (TARGET_BDVER2): New definition.
+ (enum target_cpu_default): Add TARGET_CPU_DEFAULT_bdver2.
+ (enum processor_type): Add PROCESSOR_BDVER2.
+ * config/i386/i386.md (define_attr "cpu"): Add bdver2.
+ * config/i386/i386.opt ( mdispatch-scheduler): Add bdver2 to
+ description.
+
+2011-07-12 Richard Henderson <rth@redhat.com>
+
+ PR target/49714
+ * config/i386/i386.c (x86_output_mi_thunk): Fix mode for
+ destination address in memory on some paths.
+
+2011-07-12 Bernd Schmidt <bernds@codesourcery.com>
+
+ * doc/tm.texi.in (FUNCTION_ARG_PADDING): Mention
+ TARGET_FUNCTION_ARG_ROUND_BOUNDARY.
+ (TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Add hook.
+ * function.c (locate_and_pad_parm): Take it into account.
+ * target.def (function_arg_round_boundary): New hook.
+ * targhooks.c (default_function_arg_round_boundary): New function.
+ * targhooks.h (default_function_arg_round_boundary): Declare.
+ * doc/tm.texi: Regenerate.
+
+2011-07-12 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-copyrename.c (rename_ssa_copies): Zero statistics.
+ Do not perform no-op changes.
+
+2011-07-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/predicates.md (neon_struct_operand): Make a normal
+ predicate.
+ (neon_struct_or_register_operand): New predicate.
+ * config/arm/neon.md (movmisalign<mode>): Replace predicates
+ with neon_struct_or_register_operand.
+ (*movmisalign<mode>_neon_store, *movmisalign<mode>_neon_load): Use
+ neon_struct_operand instead of memory_operand.
+
+2011-07-12 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (cgraph_get_node_or_alias): Removed declaration.
+ * cgraph.c (cgraph_get_node_or_alias): Removed.
+ (change_decl_assembler_name): Changed all calls to
+ cgraph_get_node_or_alias to a call to cgraph_get_node.
+ (cgraph_make_decl_local): Likewise.
+ * lto-symtab.c (lto_symtab_resolve_symbols): Likewise.
+ * varasm.c (default_binds_local_p_1): Likewise.
+ (decl_binds_to_current_def_p): Likewise.
+
+2011-07-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49712
+ * tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle TARGET_MEM_REF.
+
+2011-07-11 Bernd Schmidt <bernds@codesourcery.com>
+
+ * genautomata.c (add_arc): Return void. All callers changed.
+ (make_automaton): Remove dead code.
+
+2011-07-11 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (DW_STACK_POINTER_REGNUM): New.
+ (DW_FRAME_POINTER_REGNUM): New.
+ (expand_builtin_init_dwarf_reg_sizes): Use unsigned for rnum.
+ (def_cfa_1): Do not convert reg to DWARF_FRAME_REGNUM here.
+ (dwf_regno): New.
+ (dwarf2out_flush_queued_reg_saves, dwarf2out_frame_debug_def_cfa,
+ dwarf2out_frame_debug_adjust_cfa, dwarf2out_frame_debug_cfa_register,
+ dwarf2out_frame_debug_cfa_expression, dwarf2out_frame_debug_expr):
+ Use it.
+ * dwarf2out.c (based_loc_descr): Use dwarf_frame_regnum.
+ * dwarf2out.h (dwarf_frame_regnum): New.
+ (struct cfa_loc): Document the domain of the reg member.
+
+2011-07-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_trampoline_init): Switch arms of if expr.
+ Use offset everywhere. Always assert that offset <= TRAMPOLINE_SIZE.
+
+2011-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49676
+ * dwarf2out.c (int_shift_loc_descriptor): New function.
+ (int_loc_descriptor): If shorter, emit i as
+ (i >> shift), shift, DW_OP_shl for suitable shift value.
+ Similarly, try to optimize large negative values using
+ DW_OP_neg of a positive value if shorter.
+ (size_of_int_shift_loc_descriptor): New function.
+ (size_of_int_loc_descriptor): Adjust to match int_loc_descriptor
+ changes.
+ (mem_loc_descriptor) <case CONST_INT>: Emit zero-extended constants
+ that fit into DWARF2_ADDR_SIZE bytes as int_loc_descriptor +
+ DW_OP_GNU_convert instead of DW_OP_GNU_const_type if the former
+ is shorter.
+ (resolve_addr_in_expr): Optimize DW_OP_plus_uconst with a large
+ addend as added DW_OP_plus if it is shorter.
+
+2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h [!USE_GLD] (CTORS_SECTION_ASM_OP): Define.
+ (DTORS_SECTION_ASM_OP): Define.
+
+2011-07-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/dfp-bit.c, config/dfp-bit.h: Move to ../libgcc.
+ * config/t-dfprules: Move to ../libgcc/config.
+ * config.gcc (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu,
+ i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*,
+ i[34567]86-*-kopensolaris*-gnu): Remove t-dfprules from tmake_file.
+ (x86_64-*-linux*, x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
+ Likewise.
+ (i[34567]86-*-cygwin*): Likewise.
+ (i[34567]86-*-mingw*, x86_64-*-mingw*): Likewise.
+ (powerpc-*-linux*, powerpc64-*-linux*): Likewise.
+ * Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): Remove.
+ (libgcc.mvars): Remove DFP_ENABLE, DFP_CFLAGS, D32PBIT_FUNCS,
+ D64PBIT_FUNCS, D128PBIT_FUNCS.
+
+2011-07-11 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (simplify_conversion_using_ranges): Manually
+ translate the source value-range through the conversion chain.
+
+2011-07-11 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * expr.c (expand_expr_real_1): Use expand_insn for movmisalign.
+
+2011-07-11 Arthur Loiret <aloiret@debian.org>
+
+ * config.gcc (s390-*-linux*): If 'enabled_targets' is 'all', build
+ a bi-arch compiler defaulting to 31-bit. In this case:
+ (tmake_file): Add s390/t-linux64.
+ * doc/install.texi: Add s390-linux to the list of targets supporting
+ --enable-targets=all.
+
+2011-07-11 Arthur Loiret <aloiret@debian.org>
+ Matthias Klose <doko@debian.org>
+
+ * config.gcc (mips*-*-linux*): If 'enabled_targets' is 'all', build
+ a tri-arch compiler defaulting to 32-bit (ABI o32). In this case:
+ (tm_file): Add mips/linux64.h.
+ (tmake_file): Add mips/t-linux64.
+ (tm_defines): Add MIPS_ABI_DEFAULT=ABI_32.
+ * config/mips/linux64.h (DRIVER_SELF_SPECS): Use MULTILIB_ABI_DEFAULT
+ instead of hardcoded mabi=n32.
+ * config/mips/t-linux64 (MULTILIB_DIRNAMES): Set to 'n32 . 64' if
+ tm_defines contains MIPS_ABI_DEFAULT ABI_32, to follow the glibc
+ convention.
+
+2011-07-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * passes.c (init_optimization_passes): Add invariant motion pass
+ after induction variable optimization.
+
+2011-07-11 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/39633
+ * config/avr/avr.c (notice_update_cc): For ashiftrt:QI, only
+ offsets 1..5 set cc0 in a usable way.
+
+2011-07-11 Romain Geissler <romain.geissler@gmail.com>
+
+ * tree.h (call_expr_arg): Remove.
+ (call_expr_argp): Likewise.
+
+2011-07-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (save_register_window_1): Rename to...
+ (window_save): ...this.
+ * config/sparc/sparc.c (emit_save_register_window): Rename to...
+ (emit_window_save): ...this.
+ (sparc_expand_prologue): Adjust to above renaming.
+
+2011-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_trampoline_init): Use movl instead
+ of movabs for x32.
+
+2011-07-10 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (x86_output_mi_thunk): Generate rtl and
+ run final, instead of emitting text directly.
+
+2011-07-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Turn on
+ OPTION_MASK_ISA_64BIT for TARGET_X32. Only allow small and
+ small PIC models for TARGET_X32.
+
+2011-07-10 Hans-Peter Nilsson <hp@axis.com>
+
+ PR target/49684
+ * config/cris/t-elfmulti (CRTSTUFF_T_CFLAGS): Don't include
+ $(LIBGCC2_CFLAGS).
+
+ PR bootstrap/49680
+ * config/cris/cris.c (cris_asm_output_case_end): Robustify against
+ stray notes and debug insns by using prev_nonnote_nondebug_insn
+ instead of PREV_INSN.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * defaults.h (DWARF2_ADDR_SIZE, DWARF_OFFSET_SIZE,
+ DWARF_TYPE_SIGNATURE_SIZE): Move from ...
+ * dwarf2out.c: ... here.
+ (output_all_cfis): Remove.
+ (dwarf2out_switch_text_section): Use output_cfis directly.
+ (size_of_locs): Export.
+ (output_loc_sequence, output_loc_sequence_raw): Export.
+ (div_data_align, need_data_align_sf_opcode, dwarf_cfi_name, output_cfi,
+ output_cfi_directive, dwarf2out_emit_cfi, output_cfis, output_cfa_loc,
+ output_cfa_loc_raw): Move to ...
+ * dwarfcfi.c: ... here.
+ * dwarf2out.h: Update decls.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * defaults.h (DWARF_CIE_DATA_ALIGNMENT, DWARF_FRAME_RETURN_COLUMN,
+ DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Move from ...
+ * dwarf2cfi.c: ... here.
+ (PTR_SIZE, DWARF_OFFSET_SIZE, DWARF_INITIAL_LENGTH_SIZE): Remove.
+ (DWARF_ROUND, DWARF_CIE_ID): Remove.
+ * dwarf2out.c (INCOMING_RETURN_ADDR_RTX): Remove.
+ (DWARF2_FRAME_REG_OUT, DWARF_CIE_DATA_ALIGNMENT): Remove.
+ (DWARF_FRAME_RETURN_COLUMN, DWARF_FRAME_REGNUM): Remove.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (cie_return_save): New.
+ (queue_reg_save): Use compare_reg_or_pc.
+ (dwarf2out_flush_queued_reg_saves): Handle pc_rtx as return column.
+ (dwarf2out_frame_debug_expr): Likewise.
+ (dwarf2out_frame_debug_cfa_register): Record saved reg for pc too.
+ (initial_return_save): Likewise.
+ (execute_dwarf2_frame): Save and restore initial return save from
+ the cie to the fde.
+ * config/mips/mips.c (mips_frame_set): Remove special case for
+ DWARF_FRAME_RETURN_COLUMN.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (lookup_cfa): Remove.
+ (execute_dwarf2_frame): Assert queues are empty on entry.
+ Setup initial cfa directly, not via lookup_cfa.
+ Don't clear args_size state here.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (add_cfi_vec): New.
+ (add_cfi): Rename from add_fde_cfi. Add the element to add_cfi_vec.
+ (def_cfa_1, reg_save): Remove for_cie argument. Update all callers.
+ (execute_dwarf2_frame): Set add_cfi_vec.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * defaults.h (ASM_COMMENT_START): Move here...
+ * dwarf2asm.c: ... from here.
+ * dwarf2out.c, final.c, vmsdbgout.c: Remove duplicates.
+ * toplev.c: Remove ifndef tests of ASM_COMMENT_START.
+ * varasm.c: Likewise.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ PR debug/49686
+ * dwarf2cfi.c (dwarf2out_frame_debug): Don't set cfi_insn here...
+ (create_cfi_notes): ... do it here instead.
+
+2011-07-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49676
+ * dwarf2out.c (size_of_int_loc_descriptor): New function.
+ (address_of_int_loc_descriptor): Use it.
+ (scompare_loc_descriptor): Optimize EQ/NE comparison with constant.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * config/pdp11/pdp11.md (define_c_enum "unspecv"): New.
+ (prologue, epilogue): New.
+ (return, *rts): New.
+ (blockage, setd, seti): New.
+ * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
+ (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
+ (pdp11_saved_regno): New.
+ (pdp11_expand_prologue): Rename from pdp11_output_function_prologue;
+ generate rtl instead of text.
+ (pdp11_expand_epilogue): Similarly from pdp11_output_function_epilogue.
+ (pdp11_sp_frame_offset): Export. Use pdp11_saved_regno.
+ * config/pdp11/pdp11-protos.h: Update.
+
+2011-07-09 Richard Henderson <rth@redhat.com>
+
+ * config/rs6000/rs6000.c (rs6000_output_function_prologue): Don't
+ try to insert an rtl prologue here.
+ (rs6000_output_function_epilogue): Similarly.
+ * config/rs6000/rs6000.md (prologue): Emit a barrier to
+ satisfy !TARGET_SCHED_PROLOG.
+ (epilogue, sibcall_epilogue): Likewise.
+
+2011-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Move around.
+ (FP_REG_P): Delete.
+ (IN_OR_GLOBAL_P): Likewise.
+
+2011-07-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/45437
+ * gimplify.c (goa_stabilize_expr): Handle RHS preevaluation in
+ compound assignment.
+
+ * cgraph.c (cgraph_add_to_same_comdat_group): New.
+ * cgraph.h: Declare it.
+ * ipa.c (function_and_variable_visibility): Make sure thunks
+ have the right visibility.
+
+2011-07-08 Richard Henderson <rth@redhat.com>
+
+ PR bootstrap/49680
+ * dwarf2cfi.c (dwarf2out_frame_debug): Insert cfi notes after
+ any tablejump vector.
+
+ PR bootstrap/49680
+ * dwarf2cfi.c (create_cfi_notes): Flush queued saves at the
+ end of the prologue.
+
+2011-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49621
+ * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Use
+ CONST0_RTX (dest_mode) instead of const0_rtx as second operand of NE.
+ * config/rs6000/vector.md (vector_select_<mode>,
+ vector_select_<mode>_uns): Change second operand of NE to
+ CONST0_RTX (<MODE>mode) instead of const0_rtx.
+ * config/rs6000/altivec.md (*altivec_vsel<mode>,
+ *altivec_vsel<mode>_uns): Expect second operand of NE to be
+ zero_constant of the corresponding vector mode.
+ * config/rs6000/vsx.md (*vsx_xxsel<mode>, *vsx_xxsel<mode>_uns):
+ Likewise.
+
+2011-07-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (build_alias_set_powerset): Remove
+ continue from loop, add one more assert.
+
+2011-07-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/46779
+ * config/avr/avr.c (avr_hard_regno_mode_ok): Rewrite.
+ In particular, allow 8-bit values in r28 and r29.
+ (avr_hard_regno_scratch_ok): Disallow any register that might be
+ part of the frame pointer.
+ (avr_hard_regno_rename_ok): Same.
+ (avr_legitimate_address_p): Don't allow SUBREGs.
+
+2011-07-08 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon.md (vec_shr_<mode>, vec_shl_<mode>): Disable in
+ big-endian mode.
+ (reduc_splus_<mode>, reduc_uplus_<mode>, reduc_smin_<mode>)
+ (reduc_smax_<mode>, reduc_umin_<mode>, reduc_umax_<mode>)
+ (neon_vec_unpack<US>_lo_<mode>, neon_vec_unpack<US>_hi_<mode>)
+ (vec_unpack<US>_hi_<mode>, vec_unpack<US>_lo_<mode>)
+ (neon_vec_<US>mult_lo_<mode>, vec_widen_<US>mult_lo_<mode>)
+ (neon_vec_<US>mult_hi_<mode>, vec_widen_<US>mult_hi_<mode>)
+ (vec_pack_trunc_<mode>, neon_vec_pack_trunc_<mode>): Disable for Q
+ registers in big-endian mode.
+
+2011-07-08 Bernd Schmidt <bernds@codesourcery.com>
+
+ * genattrtab.c (evaluate_eq_attr): Allow an attribute to be defined
+ in terms of another.
+ (write_attr_value): Write a cast if necessary.
+
+ * defaults.h (REG_WORDS_BIG_ENDIAN): Provide a default.
+ * doc/tm.texi.in (WORDS_BIG_ENDIAN): Mention REG_WORDS_BIG_ENDIAN.
+ (REG_WORDS_BIG_ENDIAN): Document.
+ * doc/tm.texi: Regenerate.
+ * reload.c (operands_match_p): Take it into account.
+ (reload_adjust_reg_for_mode): Likewise.
+ * rtlanal.c (subreg_get_info): Likewise.
+
+2011-07-08 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_binary_loc): Remove index +p PTR -> PTR +p index
+ folding.
+
+2011-07-08 Kai Tietz <ktietz@redhat.com>
+
+ * fold-const.c (fold_truth_andor): Factored out truth_andor
+ label from fold_binary as function.
+ (fold_binary_loc): Replace truth_andor lable
+ by function fold_truth_andor.
+
+2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR middle-end/49519
+ * calls.c (mem_overlaps_already_clobbered_arg_p): Additional
+ check if address is stored in register. If so - give up.
+ (check_sibcall_argument_overlap_1): Do not perform check of
+ overlapping when it is call to address.
+
+2011-07-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (output_reload_insisf): Use 'REG_Z+1' instead
+ of magic '31'.
+
+2011-07-08 Bernd Schmidt <bernds@codesourcery.com>
+
+ * optabs.c (expand_binop): Use GET_MODE_PRECISION instead of
+ GET_MODE_BITSIZE where appropriate.
+ (widen_leading, expand_parity, expand_ctz, expand_ffs,
+ expand_unop, expand_abs_nojump, expand_one_cmpl_abs_nojump,
+ expand_float, expand_fix): Likewise.
+ * expr.c (convert_move, convert_modes, expand_expr_real_2,
+ expand_expr_real_1, reduce_to_bit_field_precision): Likewise.
+ * stor-layout.c (get_mode_bounds): Likewise.
+ * cfgexpand.c (convert_debug_memory_address, expand_debug_expr):
+ Likewise.
+ * convert.c (convert_to_integer): Likewise.
+ * expmed.c (expand_shift_1): Likewise.
+
+ * rtlanal.c (nonzero_bits1): Don't compare GET_MODE_SIZE against
+ a bitsize.
+
+ * optabs.c (expand_binop): Tighten conditions for doubleword
+ expansions.
+ (widen_bswap): Assert that mode bitsize and precision are the same.
+ * stor-layout.c (get_best_mode): Skip modes that have lower
+ precision than bitsize.
+ * recog.c (simplify_while_replacing): Assert that bitsize and
+ precision are the same.
+
+2011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (LIBGCOV): Remove.
+ (libgcc.mvars): Remove LIBGCOV.
+ * libgov.c: Move to ../libgcc.
+
+2011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/fixed-bit.c, config/fixed-bit.h: Move to ../libgcc.
+
+2011-07-08 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (analyze_all_variable_accesses): Dump that a struture
+ is too big for total scalarization.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/elf.h (MIPS_DEBUGGING_INFO): Undef.
+ (DBX_DEBUGGING_INFO): Undef.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (output_cfi_directive): Export. Add FILE parameter.
+ Handle some opcodes specially for debugging.
+ * print-rtl.c: Include dwarf2out.h
+ (print_rtx): Handle NOTE_INSN_CFI.
+ * Makefile.in (print-rtl.o): Update.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * tree-pass.h (pass_dwarf2_frame): Declare.
+ * passes.c (init_optimization_passes): Add it.
+ * dwarf2cfi.c (dwarf2out_frame_debug): Make static.
+ (create_cfi_notes): Rename from dwarf2out_frame_debug_after_prologue;
+ make static, do not call add_cfis_to_fde.
+ (dwarf2out_frame_debug_init, dwarf2cfi_function_init,
+ dwarf2out_frame_init): Merge into...
+ (execute_dwarf2_frame): ... here. New function.
+ (dwarf2out_do_frame, dwarf2out_do_cfi_asm): Make boolean. Change
+ saved_do_cfi_asm to a tri-state variable.
+ (gate_dwarf2_frame, pass_dwarf2_frame): New.
+ * dwarf2out.c (dwarf2out_begin_prologue): Only allocate the fde
+ if it has yet to be done. Don't call dwarf2cfi_function_init.
+ * dwarf2out.h, debug.h: Update decls.
+ * final.c (final_start_function): Don't call
+ dwarf2out_frame_debug_init or dwarf2out_frame_debug_after_prologue.
+ * lto-streamer-in.c (lto_init_eh): Don't call dwarf2out_frame_init.
+ * toplev.c (lang_dependent_init): Likewise.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use,
+ FDE_TABLE_INCREMENT): Replace with...
+ (fde_vec): ... this, a new vector.
+ (current_fde): Remove. Replace all users with cfun->fde.
+ (output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec.
+ (size_of_aranges, dwarf2out_finish): Likewise.
+ (dwarf2out_alloc_current_fde): Break out from ...
+ (dwarf2out_begin_prologue): ... here.
+ (dwarf2out_frame_init): Remove.
+ * dwarf2cfi.c: Update all users of current_fde.
+ (dwarf2out_frame_init): Rename from dwarf2cfi_frame_init.
+ * dwarf2out.h: Update decls.
+ (dw_fde_node): Add fde_index member.
+ * function.h (struct function): Add fde member.
+
+2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
+ Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (add_cfi): Remove.
+ (dwarf2out_cfi_label): Remove force argument. Only generate the
+ label name.
+ (add_fde_cfi): Simplify the different code paths.
+ (add_cie_cfi): New.
+ (old_cfa, old_cfa_remember): New.
+ (def_cfa_1, reg_save): Remove label, add for_cie parameter.
+ (last_reg_save_label): Remove.
+ (dwarf2out_args_size, dwarf2out_stack_adjust, queue_reg_save,
+ dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
+ dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
+ dwarf2out_frame_debug_cfa_expression,
+ dwarf2out_frame_debug_cfa_restore,
+ dwarf2out_frame_debug_cfa_window_save,
+ dwarf2out_frame_debug_expr): Remove label parameter.
+ (cfi_label_required_p, add_cfis_to_fde): New.
+ (dwarf2out_frame_debug_after_prologue): New.
+ (dwarf2cfi_frame_init): Initialize old_cfa.
+ (dwarf2out_frame_debug_restore_state): Likewise.
+ * dwarf2out.c (dwarf2out_emit_cfi): Only do output for cfi_asm.
+ (dwarf2out_switch_text_section): Don't clear dw_fde_current_label here.
+ * final.c (final_start_function): Call
+ dwarf2out_frame_debug_after_prologue.
+
+2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
+ Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c (cfi_insn): New.
+ (dwarf2out_cfi_label): Don't emit cfi label here.
+ (add_fde_cfi): Create a NOTE_INSN_CFI.
+ (dwarf2out_frame_debug): Setup cfi_insn.
+ (dwarf2out_frame_debug_init): Loop over insns creating CFI notes.
+ (dwarf2out_cfi_begin_epilogue): Make static.
+ (dwarf2out_frame_debug_restore_state): Make static.
+ * dwarf2out.c (output_cfi_directive): Make static.
+ (dwarf2out_emit_cfi): New.
+ * dwarf2out.h: Update.
+ * final.c (final): Remove CFI notes.
+ (final_scan_insn): Don't call dwarf2out_cfi_begin_epilogue,
+ dwarf2out_frame_debug_restore_state, dwarf2out_frame_debug.
+ Handle NOTE_INSN_CFI and NOTE_INSN_CFI_LABEL.
+ * insn-notes.def (NOTE_INSN_CFI): New.
+ (NOTE_INSN_CFI_LABEL): New.
+ * rtl.h (union rtunion_def): Add rt_cfi member.
+ (XCFI, XCCFI, NOTE_CFI, NOTE_LABEL_NUMBER): New.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * dwarf2cfi.c: New file.
+ * Makefile.in (OBJS): Add it.
+ (GTFILES): Add dwarf2cfi.c and dwarf2out.h.
+ * gengtype.c (open_base_files): Include dwarf2out.h.
+ * coretypes.h (enum var_init_status): Move from ...
+ * rtl.h: ... here.
+ * dwarf2out.c (saved_do_cfi_asm, dwarf2out_do_frame,
+ dwarf2out_do_cfi_asm, cie_cfi_vec, dwarf2out_cfi_label_num,
+ expand_builtin_dwarf_sp_column, init_return_column_size,
+ expand_builtin_init_dwarf_reg_sizes, new_cfi, add_cfi,
+ dwarf2out_cfi_label, emit_cfa_remember, any_cfis_emitted, add_fde_cfi,
+ lookup_cfa_1, lookup_cfa, cfa, cfa_store, cfa_remember, args_size,
+ old_args_size, cfa_equal_p, def_cfa_1, reg_save, initial_return_save,
+ stack_adjust_offset, barrier_args_size, compute_barrier_args_size_1,
+ compute_barrier_args_size, dwarf2out_args_size,
+ dwarf2out_stack_adjust, dwarf2out_notice_stack_adjust,
+ queued_reg_saves, reg_saved_in_data, regs_saved_in_regs,
+ compare_reg_or_pc, record_reg_saved_in_reg, last_reg_save_label,
+ queue_reg_save, dwarf2out_flush_queued_reg_saves,
+ clobbers_queued_reg_save, reg_saved_in, cfa_temp,
+ dwarf2out_frame_debug_def_cfa, dwarf2out_frame_debug_adjust_cfa,
+ dwarf2out_frame_debug_cfa_offset, dwarf2out_frame_debug_cfa_register,
+ dwarf2out_frame_debug_cfa_expression,
+ dwarf2out_frame_debug_cfa_restore,
+ dwarf2out_frame_debug_cfa_window_save, dwarf2out_frame_debug_expr,
+ dwarf2out_frame_debug, dwarf2out_frame_debug_init,
+ dwarf2out_cfi_begin_epilogue, dwarf2out_frame_debug_restore_state,
+ get_cfa_from_loc_descr): Move to dwarf2cfi.c.
+ (dw_cfi_ref, dw_fde_ref, dw_cfi_oprnd_ref, enum dw_cfi_oprnd_type,
+ dw_cfi_oprnd, dw_cfi_node, cfi_vec, dw_cfa_location, dw_fde_node,
+ dw_val_ref, dw_die_ref, const_dw_die_ref, dw_loc_descr_ref,
+ dw_loc_list_ref, enum dw_val_class, dw_vec_const, dw_val_node,
+ dw_loc_descr_node): Move to dwarf2out.h.
+ (current_fde, output_cfi_directive, build_cfa_loc, get_address_mode,
+ mem_loc_descriptor): Export.
+ (build_cfa_aligned_loc): Export. Take CFA as a parameter.
+ (dwarf2out_frame_init): Extract CIE generation code to
+ dwarf2cfi_frame_init.
+
+2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/49660
+ * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Add
+ MASK_V8PLUS, remove commented out flag and reorder.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/49644
+ * c-typeck.c (build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
+ one non-complex and one complex argument, call c_save_expr on both
+ operands.
+
+2011-07-07 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/49495
+ * cgraphunit.c (verify_edge_corresponds_to_fndecl): New function.
+ (verify_cgraph_node): Some functinality moved to
+ verify_edge_corresponds_to_fndecl, call it.
+
+2011-07-07 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (*local*): Remove.
+ * doc/install-old.texi: Don't mention local configurations.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49522
+ * df-problems.c (dead_debug_reset): Remove dead_debug_uses
+ referencing debug insns that have been reset.
+ (dead_debug_insert_before): Don't assert reg is non-NULL,
+ instead return immediately if it is NULL.
+
+2011-07-07 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/t-crtpic, config/i386/t-svr3dbx, config/pa/t-pa: Remove.
+
+2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ * hw-doloop.c: New file.
+ * hw-doloop.h: New file.
+ * Makefile.in (OBJS): Add hw-doloop.o.
+ (hw-doloop.o): New rule.
+ ($(obj_out_file)): Add hw-doloop.h dependency.
+ * config/bfin/bfin.c: Include "hw-doloop.h".
+ (loop_info, DEF_VEC_P for loop_info, loop_info_d): Remove.
+ (bfin_dump_loops, bfin_bb_in_loop, bfin_scan_loop): Remove.
+ (hwloop_optimize): Renamed from bfin_optimize_loop. Argument
+ type changed to hwloop_info. Return bool, true if the loop was
+ successfully optimized. Remove code that was moved to
+ hw-doloop.c, and adjust other parts.
+ (hwloop_fail): New static function, containing parts that used
+ to be in bfin_optimize_loop.
+ (bfin_discover_loop, bfin_discover_loops, free_loops,
+ bfin_reorder_loops): Remove.
+ (hwloop_pattern_reg): New static function.
+ (bfin_doloop_hooks): New variable.
+ (bfin_reorg_loops): Remove most code, call reorg_loops.
+ * config/bfin/bfin.md (doloop_end splitter): Also enable if
+ loop counter is a memory_operand.
+
+2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Support --with-multilib-list for x86 Linux targets.
+
+ * configure.ac: Mention x86-64 for --with-multilib-list.
+ * configure: Regenerated.
+
+ * config/i386/gnu-user64.h (SPEC_64): Support x32.
+ (SPEC_32): Likewise.
+ (ASM_SPEC): Likewise.
+ (LINK_SPEC): Likewise.
+ (TARGET_THREAD_SSP_OFFSET): Likewise.
+ (TARGET_THREAD_SPLIT_STACK_OFFSET): Likewise.
+ (SPEC_X32): New.
+
+ * config/i386/i386.h (TARGET_X32): New.
+ (TARGET_LP64): New.
+ (LONG_TYPE_SIZE): Likewise.
+ (POINTER_SIZE): Likewise.
+ (POINTERS_EXTEND_UNSIGNED): Likewise.
+ (OPT_ARCH64): Support x32.
+ (OPT_ARCH32): Likewise.
+
+ * config/i386/i386.opt (mx32): New.
+
+ * config/i386/kfreebsd-gnu64.h (GNU_USER_LINK_EMULATIONX32): New.
+ (GLIBC_DYNAMIC_LINKERX32): Likewise.
+ * config/i386/linux64.h (GNU_USER_LINK_EMULATIONX32): Likewise.
+ (GLIBC_DYNAMIC_LINKERX32): Likewise.
+
+ * config/linux.h (UCLIBC_DYNAMIC_LINKERX32): New.
+ (BIONIC_DYNAMIC_LINKERX32): Likewise.
+ (GNU_USER_DYNAMIC_LINKERX32): Likewise.
+
+ * config/i386/t-linux64: Support TM_MULTILIB_CONFIG.
+
+ * doc/install.texi: Document --with-multilib-list for Linux/x86-64.
+
+ * doc/invoke.texi: Document -mx32.
+
+2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * doc/invoke.texi (mwords-little-endian): Deprecate.
+ * config/arm/arm.opt (mwords-little-endian): Likewise.
+ * config/arm/arm.c (arm_option_override): Warn about the deprecation
+ of -mwords-little-endian.
+
+2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * reload1.c (choose_reload_regs): Use mode sizes to check whether
+ an old reload register completely defines the required value.
+
+2011-07-07 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_unary_loc): Do not strip sign-changes
+ for NEGATE_EXPR.
+
+2011-07-07 Richard Guenther <rguenther@suse.de>
+
+ * tree-vrp.c (simplify_conversion_using_ranges): New function.
+ (simplify_stmt_using_ranges): Call it.
+
+2011-07-07 Kai Tietz <ktietz@redhat.com>
+
+ * tree-ssa-forwprop.c (truth_valued_ssa_name): New function.
+ (lookup_logical_inverted_value): Likewise.
+ (simplify_bitwise_binary_1): Likewise.
+ (simplify_bitwise_binary): Use simplify_bitwise_binary_1.
+
+2011-07-07 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (%[Spec]): Don't document.
+ (struct spec_list): Update comment.
+ (do_spec_1): Don't handle %[Spec].
+ * doc/invoke.texi (%[@var{name}]): Remove documentation of spec.
+
+2011-07-07 Joseph Myers <joseph@codesourcery.com>
+
+ * common/common-target-def.h (TARGET_HAVE_NAMED_SECTIONS): Don't
+ default based on TARGET_ASM_NAMED_SECTION.
+ * common/common-target.def (have_named_sections): Default to true.
+ * common/config/default-common.c: Don't include tm.h.
+ * common/config/picochip/picochip-common.c
+ (TARGET_HAVE_NAMED_SECTIONS): Don't define.
+ * common/config/m32c/m32c-common.c: Remove.
+ * config.gcc (m32c*-*-*): Set target_has_targetm_common=no.
+ * config/alpha/osf5.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
+ * config/i386/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
+ * config/m68k/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
+ * config/pa/som.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
+ * config/pdp11/pdp11.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
+ * config/vax/openbsd.h (TARGET_HAVE_NAMED_SECTIONS): Define to false.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49640
+ * gimplify.c (gimplify_compound_lval): For last 2 ARRAY_*REF operands
+ and last COMPONENT_REF operand call gimplify_expr on it if non-NULL.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/49550
+ * gcc.c (MFWRAP_SPEC): Also wrap mmap64.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/39150
+ * configure.ac (gcc_cv_as_hidden): Also accept
+ x86_64-*-solaris2.1[0-9]*.
+ (gcc_cv_as_cfi_directive): Likewise.
+ (gcc_cv_as_comdat_group_group): Likewise.
+ (set_have_as_tls): Likewise.
+ * configure: Regenerate.
+ * config.gcc (i[34567]86-*-solaris2*): Also handle
+ x86_64-*-solaris2.1[0-9]*.
+ * config.host (i[34567]86-*-solaris2*): Likewise.
+ * config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
+ * config/sol2-bi.h (ASM_CPU_DEFAULT_SPEC): Redefine.
+ [USE_GLD] (ARCH_DEFAULT_EMULATION): Define.
+ (TARGET_LD_EMULATION): Use it.
+ * config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC): Define.
+ (SUBTARGET_CPU_EXTRA_SPECS): Add asm_cpu_default.
+ * config/i386/sol2-bi.h (ASM_CPU32_DEFAULT_SPEC): Define.
+ (ASM_CPU64_DEFAULT_SPEC): Define.
+ (ASM_CPU_SPEC): Use %(asm_cpu_default).
+ (ASM_SPEC): Redefine.
+ (DEFAULT_ARCH32_P): Define using TARGET_64BIT_DEFAULT.
+ * config/host-solaris.c [__x86_64__] (TRY_EMPTY_VM_SPACE): Reduce.
+ * doc/install.texi (Specific, amd64-*-solaris2.1[0-9]*): Document.
+ (Specific, i?86-*-solaris2.10): Mention x86_64-*-solaris2.1[0-9]*
+ configuration.
+ (Specific, x86_64-*-solaris2.1[0-9]*): Document.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.h (ASM_SPEC): Split into ...
+ (ASM_SPEC_BASE, ASM_PIC_SPEC): ... this.
+ * config/i386/sol2.h (ASM_SPEC): Define using ASM_SPEC_BASE.
+ * config/i386/sol2-bi.h (ASM_CPU_SPEC): Redefine.
+ (ASM_SPEC): Use ASM_SPEC_BASE.
+ * config/sparc/sol2.h (ASM_SPEC): Redefine.
+
+2011-07-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*reload_insi): Change predicate #1 to
+ const_int_operand. Ditto for peep2 producing this insn.
+ Add argument to output_reload_insisf call.
+ (*movsi,*movsf): Add argument to output_movsisf call.
+ (*reload_insf): New insn and new peep2 to produce it.
+ * config/avr/avr-protos.h (output_movsisf): Change prototype.
+ (output_reload_insisf): Change prototype.
+ * config/avr/avr.c (avr_asm_len): New function.
+ (output_reload_insisf): Rewrite.
+ (output_movsisf): Change prototype. output_reload_insisf for
+ all CONST_INT and CONST_DOUBLE. ALlow moving 0.0f to memory.
+ (adjust_insn_length): Add argument to output_movsisf and
+ output_reload_insisf call.
+
+2011-07-07 Bernd Schmidt <bernds@codesourcery.com>
+
+ * emit-rtl.c (paradoxical_subreg_p): New function.
+ * rtl.h (paradoxical_subreg_p): Declare.
+ * combine.c (set_nonzero_bits_and_sign_copies, get_last_value,
+ apply_distributive_law, simplify_comparison, simplify_set): Use it.
+ * cse.c (record_jump_cond, cse_insn): Likewise.
+ * expr.c (force_operand): Likewise.
+ * rtlanal.c (num_sign_bit_copies1): Likewise.
+ * reload1.c (eliminate_regs_1, strip_paradoxical_subreg): Likewise.
+ * reload.c (push_secondary_reload, find_reloads_toplev): Likewise.
+ (push_reload): Use precision to check for paradoxical subregs.
+ * expmed.c (extract_bit_field_1): Likewise.
+
+ * machmode.h (HWI_COMPUTABLE_MODE_P): New macro.
+ * combine.c (set_nonzero_bits_and_sign_copies): Use it.
+ (find_split-point, combine_simplify_rtx, simplify_if_then_else,
+ simplify_set, simplify_logical, expand_compound_operation,
+ make_extraction, force_to_mode, if_then_else_cond, extended_count,
+ try_widen_shift_mode, simplify_shift_const_1, simplify_comparison,
+ record_value_for_reg): Likewise.
+ * expmed.c (expand_widening_mult, expand_mult_highpart): Likewise.
+ * simplify-rtx. c (simplify_unary_operation_1,
+ simplify_binary_operation_1, simplify_const_relational_operation):
+ Likewise.
+
+ * explow.c (trunc_int_for_mode): Use GET_MODE_PRECISION
+ instead of GET_MODE_BITSIZE where appropriate.
+ * rtlanal.c (subreg_lsb_1, subreg_get_info, nonzero_bits1,
+ num_sign_bit_copies1, canonicalize_condition, low_bitmask_len,
+ init_num_sign_bit_copies_in_rep): Likewise.
+ * cse.c (fold_rtx, cse_insn): Likewise.
+ * loop-doloop.c (doloop_modify, doloop_optimize): Likewise.
+ * simplify-rtx.c (simplify_unary_operation_1,
+ simplify_const_unary_operation, simplify_binary_operation_1,
+ simplify_const_binary_operation, simplify_ternary_operation,
+ simplify_const_relational_operation, simplify_subreg): Likewise.
+ * combine.c (try_combine, find_split_point, combine_simplify_rtx,
+ simplify_if_then_else, simplify_set, expand_compound_operation,
+ expand_field_assignment, make_extraction, if_then_else_cond,
+ make_compound_operation, force_to_mode, make_field_assignment,
+ reg_nonzero_bits_for_combine, reg_num_sign_bit_copies_for_combine,
+ extended_count, try_widen_shift_mode, simplify_shift_const_1,
+ simplify_comparison, record_promoted_value, simplify_compare_const,
+ record_dead_and_set_regs_1): Likewise.
+
+ Revert:
+ * simplify-rtx.c (simplify_const_binary_operation): Use the
+ shift_truncation_mask hook instead of performing modulo by width.
+ Compare against mode precision, not bitsize.
+ * combine.c (combine_simplify_rtx, simplify_shift_const_1):
+ Use shift_truncation_mask instead of constructing the value manually.
+
+2011-07-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-protos.h (rs6000_call_indirect_aix): New
+ declaration.
+ (rs6000_save_toc_in_prologue_p): Ditto.
+
+ * config/rs6000/rs6000.opt (-mr11): New switch to disable loading
+ up the static chain (r11) during indirect function calls.
+ (-msave-toc-indirect): New undocumented debug switch.
+
+ * config/rs6000/rs6000.c (struct machine_function): Add
+ save_toc_in_prologue field to note whether the prologue needs to
+ save the TOC value in the reserved stack location.
+ (rs6000_emit_prologue): Use TOC_REGNUM instead of 2. If we need
+ to save the TOC in the prologue, do so.
+ (rs6000_trampoline_init): Don't allow creating AIX style
+ trampolines if -mno-r11 is in effect.
+ (rs6000_call_indirect_aix): New function to create AIX style
+ indirect calls, adding support for -mno-r11 to suppress loading
+ the static chain, and saving the TOC in the prologue instead of
+ the call body.
+ (rs6000_save_toc_in_prologue_p): Return true if we are saving the
+ TOC in the prologue.
+
+ * config/rs6000/rs6000.md (STACK_POINTER_REGNUM): Add more fixed
+ register numbers.
+ (TOC_REGNUM): Ditto.
+ (STATIC_CHAIN_REGNUM): Ditto.
+ (ARG_POINTER_REGNUM): Ditto.
+ (SFP_REGNO): Delete, unused.
+ (TOC_SAVE_OFFSET_32BIT): Add constants for AIX TOC save and
+ function descriptor offsets.
+ (TOC_SAVE_OFFSET_64BIT): Ditto.
+ (AIX_FUNC_DESC_TOC_32BIT): Ditto.
+ (AIX_FUNC_DESC_TOC_64BIT): Ditto.
+ (AIX_FUNC_DESC_SC_32BIT): Ditto.
+ (AIX_FUNC_DESC_SC_64BIT): Ditto.
+ (ptrload): New mode attribute for the appropriate load of a pointer.
+ (call_indirect_aix32): Delete, rewrite AIX indirect function calls.
+ (call_indirect_aix64): Ditto.
+ (call_value_indirect_aix32): Ditto.
+ (call_value_indirect_aix64): Ditto.
+ (call_indirect_nonlocal_aix32_internal): Ditto.
+ (call_indirect_nonlocal_aix32): Ditto.
+ (call_indirect_nonlocal_aix64_internal): Ditto.
+ (call_indirect_nonlocal_aix64): Ditto.
+ (call): Rewrite AIX indirect function calls. Add support for
+ eliminating the static chain, and for moving the save of the TOC
+ to the function prologue.
+ (call_value): Ditto.
+ (call_indirect_aix<ptrsize>): Ditto.
+ (call_indirect_aix<ptrsize>_internal): Ditto.
+ (call_indirect_aix<ptrsize>_internal2): Ditto.
+ (call_indirect_aix<ptrsize>_nor11): Ditto.
+ (call_value_indirect_aix<ptrsize>): Ditto.
+ (call_value_indirect_aix<ptrsize>_internal): Ditto.
+ (call_value_indirect_aix<ptrsize>_internal2): Ditto.
+ (call_value_indirect_aix<ptrsize>_nor11): Ditto.
+ (call_nonlocal_aix32): Relocate in the rs6000.md file.
+ (call_nonlocal_aix64): Ditto.
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Add -mr11 and
+ -mno-r11 documentation.
+
+2011-07-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR other/49658
+ * doc/extend.texi (Compound Literals): Fix typo.
+
+2011-07-06 James Greenhalgh <james.greenhalgh@arm.com>
+
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add __ARM_FEATURE_DSP.
+
+2011-07-06 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * configure.ac (plugin-version.h): Generate
+ GCCPLUGIN_VERSION_MAJOR, GCCPLUGIN_VERSION_MINOR,
+ GCCPLUGIN_VERSION_PATCHLEVEL, GCCPLUGIN_VERSION constant integer
+ macros.
+
+ * configure: Regenerate.
+
+ * doc/plugins.texi (Building GCC plugins): Mention
+ GCCPLUGIN_VERSION ... constant macros in plugin-version.h.
+
+2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ * machmode.h (TRULY_NOOP_TRUNCATION_MODES_P): New macro.
+ * combine.c (make_extraction, gen_lowpart_or_truncate,
+ apply_distributive_law, simplify_comparison,
+ reg_truncated_to_mode, record_truncated_value): Use it.
+ * cse.c (notreg_cost): Likewise.
+ * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
+ * expr.c (convert_move, convert_modes): Likewise.
+ * optabs.c (expand_binop, expand_unop): Likewise.
+ * postreload.c (move2add_last_label): Likewise.
+ * regmove.c (optimize_reg_copy_3): Likewise.
+ * rtlhooks.c (gen_lowpart_general): Likewise.
+ * simplify-rtx.c (simplify_unary_operation_1): Likewise.
+
+2011-07-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/vxworks.h (WORDS_BIG_ENDIAN): Define.
+
+2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ * cse.c (find_comparison_args): Use val_mode_signbit_set_p.
+ * simplify-rtx.c (mode_signbit_p): Use GET_MODE_PRECISION.
+ (val_mode_signbit_p, val_mode_signbit_set_p): New functions.
+ (simplify_const_unary_operation, simplify_binary_operation_1,
+ simplify_const_binary_operation, simplify_const_relational_operation):
+ Use them. Use GET_MODE_MASK for masking and sign-extensions.
+ * combine.c (set_nonzero_bits_and_sign_copies, simplify_set,
+ combine_simplify_rtx, force_to_mode, reg_nonzero_bits_for_combine,
+ simplify_shift_const_1, simplify_comparison): Likewise.
+ * expr.c (convert_modes): Likewise.
+ * rtlanal.c (nonzero_bits1, canonicalize_condition): Likewise.
+ * expmed.c (emit_cstore, emit_store_flag_1, emit_store_flag): Likewise.
+ * rtl.h (val_mode_signbit_p, val_mode_signbit_set_p): Declare.
+
+ * simplify-rtx.c (simplify_ternary_operation): Remove dead code.
+
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49645
+ * c-decl.c (finish_decl): Also set DECL_HARD_REGISTER for global
+ register variables.
+ * tree-ssa-sccvn.c (vn_reference_op_eq): Disregard differences
+ in type qualification here ...
+ (copy_reference_ops_from_ref): ... not here.
+ (vn_reference_lookup_3): ... or here.
+ (copy_reference_ops_from_ref): Record decl bases as MEM[&decl].
+ (vn_reference_lookup): Do the lookup with a valueized ao-ref.
+
+2011-07-06 Ian Lance Taylor <iant@google.com>
+
+ * doc/install.texi (Configuration): It's
+ --enable-gnu-indirect-function, not --enable-indirect-function.
+
+2011-07-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ * simplify-rtx.c (simplify_const_binary_operation): Use the
+ shift_truncation_mask hook instead of performing modulo by width.
+ Compare against mode precision, not bitsize.
+ * combine.c (combine_simplify_rtx, simplify_shift_const_1):
+ Use shift_truncation_mask instead of constructing the value manually.
+
+2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47383
+ * tree-ssa-address.c (addr_for_mem_ref): Use pointer_mode for
+ address computation and convert to address_mode if needed.
+
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_common_tree_nodes_2): Merge with
+ build_common_tree_nodes.
+ * tree.h (build_common_tree_nodes): Adjust prototype.
+ (build_common_tree_nodes_2): Remove.
+ * doc/tm.texi.in (lang_hooks.builtin_function): Adjust.
+ * doc/tm.texi (lang_hooks.builtin_function): Regenerate.
+
+2011-07-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49618
+ * tree-eh.c (tree_could_trap_p) <case CALL_EXPR>: For DECL_WEAK
+ t recurse on the decl.
+ <case FUNCTION_DECL, case VAR_DECL>: For DECL_WEAK decls
+ return true if expr isn't known to be defined in current
+ TU or some other LTO partition.
+
+2011-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * params.def (PARAM_CASE_VALUES_THRESHOLD): New parameter to
+ override CASE_VALUES_THRESHOLD.
+
+ * stmt.c (toplevel): Include params.h.
+ (case_values_threshold): Use the --param case-values-threshold
+ value if non-zero, otherwise use machine dependent value.
+ (expand_case): Use case_values_threshold.
+
+ * Makefile.in (stmt.o): Add $(PARAMS_H) dependency.
+
+ * doc/invoke.texi (--param case-values-threshold): Document.
+
+2011-07-05 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_cfi_label): Make static.
+ (dwarf2out_flush_queued_reg_saves): Make static.
+ (dwarf2out_reg_save): Remove.
+ (dwarf2out_return_save): Remove.
+ (dwarf2out_return_reg): Remove.
+ (dwarf2out_reg_save_reg): Remove.
+ (dwarf2out_def_cfa): Merge into ...
+ (dwarf2out_frame_init): ... here.
+ * dwarf2out.h, tree.h: Remove declarations as necessary.
+
+2011-07-05 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_dwarf_handle_frame_unspec): Remove.
+ (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
+ (ia64_expand_epilogue): Emit an empty FRAME_RELATED_EXPR for
+ the alloc insn.
+
+ * config/ia64/ia64.c (ia64_emit_deleted_label_after_insn): Remove.
+ (IA64_CHANGE_CFA_IN_EPILOGUE): Remove.
+ (process_epilogue): Don't call dwarf2out_def_cfa.
+
+ * config/ia64/ia64.c (ia64_expand_prologue): Use pc_rtx to
+ indicate the return address save.
+ (process_cfa_register): Likewise.
+
+ * config/ia64/ia64.c (ia64_dwarf2out_def_steady_cfa): Remove.
+ (process_cfa_adjust_cfa, ia64_asm_unwind_emit): Don't call it.
+
+ * config/ia64/ia64.c (ia64_expand_prologue): Emit REG_CFA_REGISTER
+ for ar.pfs save at alloc insn.
+
+2011-07-05 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.c (arm_dwarf_handle_frame_unspec): Remove.
+ (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
+ (arm_expand_prologue): Use REG_CFA_REGISTER to mark the
+ stack pointer save.
+ (arm_unwind_emit_set): Don't recognize UNSPEC_STACK_ALIGN.
+ (arm_unwind_emit): Walk REG_NOTES for unwinding notes. Emit
+ proper unwind info for a REG_CFA_REGISTER save of stack pointer.
+ * config/arm/arm.md (UNSPEC_STACK_ALIGN): Remove.
+
+2011-07-05 Richard Henderson <rth@redhat.com>
+
+ * config/vax/vax.md (define_c_enum unspecv): New. Define the
+ VUNSPEC_* constants here instead of via define_constants.
+ (VUNSPEC_PEM): New constant.
+ (procedure_entry_mask): New insn.
+ (prologue): New expander.
+ * config/vax/vax.c (vax_add_reg_cfa_offset): New.
+ (vax_expand_prologue): Rename from vax_output_function_prologue;
+ emit rtl instead of text.
+ (TARGET_ASM_FUNCTION_PROLOGUE): Remove.
+ (print_operand): Add 'x' prefix.
+
+2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47715
+ * calls.c (precompute_register_parameters): Promote the function
+ argument before checking non-legitimate constant.
+
+2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47654
+ * graphite-blocking.c (pbb_strip_mine_time_depth): Do not return bool.
+ (lst_do_strip_mine_loop): Return an int.
+ (lst_do_strip_mine): Same.
+ (scop_do_strip_mine): Same.
+ (scop_do_block): Loop blocking should strip-mine at least two loops.
+ * graphite-interchange.c (lst_interchange_select_outer): Return an int.
+ (scop_do_interchange): Same.
+ * graphite-poly.h (scop_do_interchange): Update declaration.
+ (scop_do_strip_mine): Same.
+
+2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (precision_for_value): Removed.
+ (precision_for_interval): Removed.
+ (gcc_type_for_interval): Use mpz_sizeinbase.
+
+2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-ppl.h (value_max): Correct computation of max.
+
+2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-clast-to-gimple.c (clast_name_to_index): Add missing space.
+
+2011-07-05 Richard Guenther <rguenther@suse.de>
+
+ * c-decl.c (c_init_decl_processing): Defer building common
+ tree nodes to c_common_nodes_and_builtins.
+
+2011-07-05 Razya Ladelsky <razya@il.ibm.com>
+
+ PR tree-optimization/49580
+ * tree-cfg.c (gimple_duplicate_sese_tail): Remove handling of
+ the loop's number of iterations.
+ * tree-parloops.c (transform_to_exit_first_loop): Add the
+ handling of the loop's number of iterations before the call
+ to gimple_duplicate_sese_tail.
+ Insert the stmt caclculating the new rhs of the loop's
+ condition stmt to the preheader instead of iters_bb.
+
+2011-07-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/47449
+ * fwprop.c (forward_propagate_subreg): Don't propagate hard
+ register nor zero/sign extended hard register.
+
+2011-07-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49518
+ PR tree-optimization/49628
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Skip
+ irrelevant and invariant data-references.
+ (vect_analyze_data_ref_access): For invariant loads clear the
+ group association.
+
+2011-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49619
+ * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
+ pass VOIDmode as op0_mode to recursive call, and return temp even
+ when different from tor, just if it is not IOR of the original
+ PLUS arguments.
+
+ PR rtl-optimization/49472
+ * simplify-rtx.c (simplify_unary_operation_1) <case NEG>: When
+ negating MULT, negate the second operand instead of first.
+ (simplify_binary_operation_1) <case MULT>: If one operand is
+ a NEG and the other is MULT, don't attempt to optimize by negation
+ of the MULT operand if it only moves the NEG operation around.
+
+ PR debug/49602
+ * tree-into-ssa.c (rewrite_debug_stmt_uses): Disregard
+ get_current_def return value if it can't be trusted to be
+ the current value of the variable in the current bb.
+
+2011-07-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49600
+ * config/i386/i386.md (SSE2 int->float split): Push operand 1 in
+ general register to memory for !TARGET_INTER_UNIT_MOVES.
+
+2011-07-04 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/44643
+ * config/avr/avr.c (avr_insert_attributes): Use TYPE_READONLY
+ instead of TREE_READONLY.
+
+2011-07-04 Georg-Johann Lay <avr@gjlay.de>
+
+ * doc/extend.texi (AVR Built-in Functions): Update documentation
+ of __builtin_avr_fmul*.
+ * config/avr/avr.c (avr_init_builtins): Don't depend on AVR_HAVE_MUL.
+ * config/avr/avr-c.c (avr_cpu_cpp_builtins): Ditto.
+ * config/avr/avr.md (fmul): Rename to fmul_insn.
+ (fmuls): Rename to fmuls_insn.
+ (fmulsu): Rename to fmulsu_insn.
+ (fmul,fmuls,fmulsu): New expander.
+ (*fmul.call,*fmuls.call,*fmulsu.call): New Insn.
+ * config/avr/t-avr (LIB1ASMFUNCS): Add _fmul, _fmuls, _fmulsu.
+ * config/avr/libgcc.S (__fmul): New function.
+ (__fmuls): New function.
+ (__fmulsu,__fmulsu_exit): New function.
+
+2011-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49615
+ * tree-cfgcleanup.c (split_bbs_on_noreturn_calls): Fix
+ basic-block index check.
+
+2011-07-04 Georg-Johann Lay <avr@gjlay.de>
+
+ * longlong.h (count_leading_zeros, count_trailing_zeros,
+ COUNT_LEADING_ZEROS_0): Define for target avr if W_TYPE_SIZE is 16
+ resp. 64.
+
+2011-07-03 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49610
+ * tree-vect-loop.c (vect_is_slp_reduction): Check that DEF_STMT has
+ a basic block.
+
+2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * tree.h (TYPE_ARTIFICIAL): New flag.
+ * dwarf2out.c (modified_type_die): Add a DW_AT_artificial attribute to
+ the DIE of the type if it is artificial.
+ (gen_array_type_die): Likewise.
+ (gen_enumeration_type_die): Likewise.
+ (gen_struct_or_union_type_die): Likewise.
+ * lto-streamer-in.c (unpack_ts_base_value_fields): Use TYPE_ARTIFICIAL.
+ * lto-streamer-out.c (pack_ts_base_value_fields): Likewise.
+
+2011-07-01 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-object-size.c (pass_through_call): Handle
+ BUILT_IN_ASSUME_ALIGNED.
+
+2011-07-01 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (tree_non_mode_aligned_mem_p): Also ignore MEM_REFs.
+
+2011-07-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/48016
+ * explow.c (update_nonlocal_goto_save_area): Use proper mode
+ for stack save area.
+ * function.c (expand_function_start): Likewise.
+
+2011-07-01 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49596
+ * cgraph.h (varpool_all_refs_explicit_p): Not analyzed nodes
+ may have unknown refs.
+
+2011-07-01 Kai Tietz <ktietz@redhat.com>
+
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Fix typo.
+
+2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc: Obsolete alpha*-dec-osf5.1, mips-sgi-irix6.5.
+ * doc/install.texi (Specific, alpha*-dec-osf5.1): Document it.
+ (Specific, mips-sgi-irix6): Likewise.
+
+2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/49549
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document gld.
+
+2011-07-01 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-pretty-print.c (dump_generic_code) <case CONSTRUCTOR>: Print
+ [idx]= and [idx1 ... idx2]= before initializers if needed for
+ array initializers.
+
+2011-07-01 Chen Liqin <liqin.gcc@gmail.com>
+
+ * config.gcc (score-*-elf): Remove score7.o.
+ * config/score/t-score-elf: Likewise.
+ * config/score/score.c: Merge score7 to score.c and
+ remove forwarding functions.
+ * config/score/score7.c: Deleted.
+ * config/score/score7.h: Deleted.
+
+2011-07-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49603
+ * tree-vect-stmts.c (vectorizable_load): Remove unnecessary assert.
+
+2011-06-30 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (struct access): Rename total_scalarization to
+ grp_total_scalarization
+ (completely_scalarize_var): New function.
+ (sort_and_splice_var_accesses): Set total_scalarization in the
+ representative access.
+ (analyze_access_subtree): Propagate total scalarization accross the
+ tree, no holes in totally scalarized trees, simplify coverage
+ computation.
+ (analyze_all_variable_accesses): Call completely_scalarize_var instead
+ of completely_scalarize_record.
+
+2011-06-30 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.h (X86_TUNE_DEEP_BRANCH_PREDICTION): Remove.
+ (TARGET_DEEP_BRANCH_PREDICTION): Remove.
+ * config/i386/i386.c: Don't include dwarf2out.h.
+ (initial_ix86_tune_features): Remove X86_TUNE_DEEP_BRANCH_PREDICTION.
+ (output_set_got): Don't test TARGET_DEEP_BRANCH_PREDICTION, delete
+ all code dead thereafter. Don't do dwarf2out_flush_queued_reg_saves.
+ (ix86_expand_prologue): Set REG_CFA_FLUSH_QUEUE on set_got insn.
+ (machopic_output_stub): Don't test TARGET_DEEP_BRANCH_PREDICTION.
+
+2011-06-30 Richard Henderson <rth@redhat.com>
+
+ * reg-notes.def (REG_CFA_FLUSH_QUEUE): New.
+ * dwarf2out.c (dwarf2out_frame_debug): Handle it.
+ * final.c (final_scan_insn): Look for it, and invoke
+ dwarf2out_frame_debug before the insn if found.
+
+2011-06-30 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dwarf2out_frame_debug_cfa_offset): Allow PC_RTX
+ as a source, and interpret that as DWARF_FRAME_RETURN_COLUMN.
+
+2011-06-30 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (struct reg_saved_in_data): Provide a typedef.
+ Define a vector of this type.
+ (regs_saved_in_regs): Use a VEC.
+ (num_regs_saved_in_regs): Remove.
+ (compare_reg_or_pc): New.
+ (record_reg_saved_in_reg): Split out from...
+ (dwarf2out_flush_queued_reg_saves): ... here.
+ (clobbers_queued_reg_save): Update for VEC.
+ (reg_saved_in): Likewise.
+ (dwarf2out_frame_debug_init): Likewise.
+ (dwarf2out_reg_save_reg): Use record_reg_saved_in_reg.
+ (dwarf2out_frame_debug_cfa_register): Likewise.
+
+2011-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/49572
+ * tree-ssa-dom.c (initialize_hash_element) <GIMPLE_SINGLE_RHS>: Use the
+ type of the RHS instead of that of the LHS for the expression type.
+
+2011-06-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * df-scan.c (df_get_entry_block_def_set): Use INCOMING_REGNO macro
+ unconditionally.
+
+2011-06-30 Richard Guenther <rguenther@suse.de>
+
+ * opts.c (finish_options): Do not disable IPA-PTA during ltrans.
+ * tree-ssa-structalias.c (create_variable_info_for): Do not
+ add initial constraints for non-var-decls. Properly handle
+ globals in other ltrans partitions.
+ (intra_create_variable_infos): Manually create constraints for
+ the fake no-alias parameter.
+ (ipa_pta_execute): Dump the cgraph, handle ltrans partitions properly
+ and assert there are no clones.
+
+2011-06-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46787
+ * tree-data-ref.c (dr_address_invariant_p): Remove.
+ (find_data_references_in_stmt): Invariant accesses are ok now.
+ * tree-vect-stmts.c (vectorizable_load): Handle invariant loads.
+ * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
+ invariant loads.
+
+2011-06-30 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/49094
+ * tree-sra.c (tree_non_mode_aligned_mem_p): New function.
+ (build_accesses_from_assign): Use it.
+
+2011-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
+ handling of BUILT_IN_ASSUME_ALIGNED.
+
+ PR debug/49364
+ * dwarf2out.c (output_abbrev_section): Don't return early
+ if abbrev_die_table_in_use is 1.
+ (dwarf2out_finish): Instead don't call output_abbrev_section
+ nor emit abbrev_section_label in that case.
+
+2011-06-30 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.h (CPP_SPEC): Define __v850e__ when compiling
+ for the V850E.
+
+2011-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Fix
+ handling of BUILT_IN_MEMPCPY_CHK and BUILT_IN_STPCPY_CHK.
+
+2011-06-30 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
+ both pattern and original statements if necessary.
+ (vect_transform_loop): Likewise.
+ * tree-vect-patterns.c (vect_pattern_recog): Update documentation.
+ * tree-vect-stmts.c (vect_mark_relevant): Add new argument.
+ Mark the pattern statement only if the original statement doesn't
+ have its own uses.
+ (process_use): Call vect_mark_relevant with additional parameter.
+ (vect_mark_stmts_to_be_vectorized): Likewise.
+ (vect_get_vec_def_for_operand): Use vectorized pattern statement.
+ (vect_analyze_stmt): Handle both pattern and original statements
+ if necessary.
+ (vect_transform_stmt): Don't store vectorized pattern statement
+ in the original statement.
+ (vect_is_simple_use_1): Use related pattern statement only if the
+ original statement is irrelevant.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
+
+2011-06-29 Changpeng Fang <changpeng.fang@amd.com>
+
+ * config/i386/i386.opt (mprefer-avx128): Redefine the flag as a Mask
+ option.
+ * config/i386/i386.h (ix86_tune_indices): Add X86_TUNE_AVX128_OPTIMAL
+ entry.
+ (TARGET_AVX128_OPTIMAL): New definition.
+ * config/i386/i386.c (initial_ix86_tune_features): Initialize
+ X86_TUNE_AVX128_OPTIMAL entry.
+ (ix86_option_override_internal): Enable the generation
+ of the 128-bit instructions when TARGET_AVX128_OPTIMAL is set.
+ (ix86_preferred_simd_mode): Use TARGET_PREFER_AVX128.
+ (ix86_autovectorize_vector_sizes): Use TARGET_PREFER_AVX128.
+
+2011-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/49539
+ * tree-ssa-forwprop.c (can_propagate_from): Check for abnormal SSA
+ names by means of stmt_references_abnormal_ssa_name.
+ (associate_plusminus): Call can_propagate_from before propagating
+ from definition statements.
+ (ssa_forward_propagate_and_combine): Remove superfluous newline.
+
+2011-06-29 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi: Document -scev dump modifier.
+ * tree-pass.h (TDF_SCEV): New dump flag.
+ * tree-dump.c (dump_option_value_in): Add scev.
+ * tree-chrec.c: Replace all TDF_DETAILS checks with TDF_SCEV.
+ * tree-scalar-evolution.c: Likewise.
+
+2011-06-29 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/arm/unwind-arm.c (enum __cxa_type_match_result): New.
+ (cxa_type_match): Correct declaration.
+ (__gnu_unwind_pr_common): Reconstruct additional indirection
+ when __cxa_type_match returns succeeded_with_ptr_to_base.
+
+2011-06-29 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR rtl-optimization/49114
+ * reload.c (struct replacement): Remove SUBREG_LOC member.
+ (push_reload): Do not set it.
+ (push_replacement): Likewise.
+ (subst_reload): Remove dead code.
+ (copy_replacements): Remove assertion.
+ (copy_replacements_1): Do not handle SUBREG_LOC.
+ (move_replacements): Likewise.
+ (find_replacement): Remove dead code. Use reload_adjust_reg_for_mode.
+ Detect subregs via recursive descent instead of via SUBREG_LOC.
+
+2011-06-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_encode_section_info): Dispatch to
+ default_encode_section_info.
+
+2011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/49545
+ * builtins.c (get_object_alignment_1): Update function comment.
+ Do not use DECL_ALIGN for functions, but test
+ TARGET_PTRMEMFUNC_VBIT_LOCATION instead.
+ * fold-const.c (get_pointer_modulus_and_residue): Don't check
+ for functions here.
+ * tree-ssa-ccp.c (get_value_from_alignment): Likewise.
+
+2011-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49567
+ * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTEND>: Give up for
+ non-MODE_INT modes instead of asserting the mode has MODE_INT class.
+
+2011-06-29 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/34734
+ * config/avr/avr.c (avr_handle_progmem_attribute): Move warning
+ about uninitialized data attributed 'progmem' from here...
+ (avr_encode_section_info): ...to this new function.
+ (TARGET_ENCODE_SECTION_INFO): New define.
+ (avr_section_type_flags): For data in ".progmem.data", remove
+ section flag SECTION_WRITE.
+
+2011-06-29 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/t-avr (LIB1ASMFUNCS): Add _mulhisi3, _umulhisi3,
+ _xmulhisi3_exit.
+ * config/avr/libgcc.S (_xmulhisi3_exit): New Function.
+ (__mulhisi3): Optimize if have MUL*. Use XJMP instead of rjmp.
+ (__umulhisi3): Ditto.
+ * config/avr/avr.md (mulhisi3): New insn expender.
+ (umulhisi3): New insn expender.
+ (*mulhisi3_call): New insn.
+ (*umulhisi3_call): New insn.
+
+2011-06-28 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (LIBGCC2_CFLAGS): Remove -D__GCC_FLOAT_NOT_NEEDED.
+
+2011-06-28 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.c (thumb_pop): Rename from thumb_pushpop. Delete
+ all code and arguments that handled pushes. Update all callers.
+
+2011-06-28 Richard Henderson <rth@redhat.com>
+
+ * config/arm/arm.c (arm_output_function_prologue): Don't call
+ thumb1_output_function_prologue.
+ (arm_expand_prologue): Avoid dead store.
+ (number_of_first_bit_set): Use ctz_hwi.
+ (thumb1_emit_multi_reg_push): New.
+ (thumb1_expand_prologue): Merge thumb1_output_function_prologue
+ to emit the entire prologue as rtl.
+ (thumb1_output_interwork): Split out from
+ thumb1_output_function_prologue.
+ (thumb1_output_function_prologue): Remove.
+ (arm_attr_length_push_multi): Handle thumb1.
+ * config/arm/arm.md (VUNSPEC_THUMB1_INTERWORK): New.
+ (prologue_thumb1_interwork): New.
+ (*push_multi): Allow thumb1; use push_mult_memory_operand.
+ * config/arm/predicates.md (push_mult_memory_operand): New.
+
+2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sync.md (*stbar): Delete.
+ (*membar_v8): New insn to implement UNSPEC_MEMBAR in SPARC-V8.
+
+2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-dom.c (initialize_hash_element): Fix oversight.
+
+2011-06-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sol2-64.h (TARGET_DEFAULT): Remove.
+ (TARGET_64BIT_DEFAULT): Define.
+ * config.gcc (sparc*-*-solaris2*): Move sparc/sol2-64.h to front
+ of tm_file.
+ * config/sparc/sol2.h [TARGET_64BIT_DEFAULT] (TARGET_DEFAULT): Define.
+
+2011-06-28 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (in_lto_p): New Variable entry.
+ * flags.h (in_lto_p): Move to common.opt.
+ * gcc.c: Include params.h.
+ (set_option_handlers): Also use common_handle_option and
+ target_handle_option.
+ (main): Call global_init_params, finish_params and init_options_struct.
+ * opts.c (debug_type_names): Move from toplev.c.
+ (print_filtered_help): Access quiet_flag through opts pointer.
+ (common_handle_option): Return early in the driver for some options.
+ Access in_lto_p, dwarf_version and warn_maybe_uninitialized through
+ opts pointer.
+ * toplev.c (in_lto_p): Move to common.opt.
+ (debug_type_names): Move to opts.c.
+ * Makefile.in (OBJS): Remove opts.o.
+ (OBJS-libcommon-target): Add opts.o.
+ (gcc.o): Update dependencies.
+
+2011-06-28 Kai Tietz <ktietz@redhat.com>
+
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Improve type sinking.
+
+2011-06-28 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/vfp.md ("*divsf3_vfp"): Replace '+' constraint modifier
+ with '=' constraint modifier.
+ (*divdf3_vfp): Likewise.
+ ("*mulsf3_vfp"): Likewise.
+ ("*muldf3_vfp"): Likewise.
+ ("*mulsf3negsf_vfp"): Likewise.
+ ("*muldf3negdf_vfp"): Likewise.
+
+2011-06-28 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.h (LINK_SPEC): Do not use linker
+ relaxation when performing an incremental link.
+
+2011-06-28 Kai Tietz <ktietz@redhat.com>
+
+ * tree-ssa-math-opts.c (execute_optimize_bswap): Search
+ within BB from last to first.
+
+2011-06-28 Joseph Myers <joseph@codesourcery.com>
+
+ * genattr-common.c: New. Based on genattr.c.
+ * Makefile.in (INSN_ATTR_H): Include insn-attr-common.h.
+ (MOSTLYCLEANFILES): Add insn-attr-common.h.
+ (opts.o): Update dependencies.
+ (.PRECIOUS): Add insn-attr-common.h.
+ (simple_rtl_generated_h): Add insn-attr-common.h.
+ (build/genattr-common.o): New.
+ (genprogrtl): Add attr-common.
+ * genattr.c (main): Include insn-attr-common.h. Don't generate
+ definitions of DELAY_SLOTS or INSN_SCHEDULING.
+ * opts.c: Include insn-attr-common.h instead of rtl.h and insn-attr.h.
+
+2011-06-28 Georg-Johann Lay <avr@gjlay.de>
+
+ * config.gcc (tm_file): Add elfos.h and avr/elf.h for
+ avr-*-* and avr-*-rtems* targets.
+
+ * config/avr/elf.h: New file.
+ (ASM_OUTPUT_BEFORE_CASE_LABEL): Define.
+ (TARGET_ASM_SELECT_SECTION): Define.
+ (INIT_SECTION_ASM_OP): Undefine.
+ (FINI_SECTION_ASM_OP): Undefine.
+ (READONLY_DATA_SECTION_ASM_OP): Undefine.
+ (PCC_BITFIELD_TYPE_MATTERS): Undefine.
+ (TARGET_HAVE_SWITCHABLE_BSS_SECTIONS): Undefine.
+ * config/avr/avr.h:
+ (PREFERRED_DEBUGGING_TYPE): Move to elf.h.
+ (TARGET_ASM_NAMED_SECTION): Move to elf.h.
+ (MAX_OFILE_ALIGNMENT): Move to elf.h.
+ (STRING_LIMIT): Move to elf.h.
+ (ASM_DECLARE_FUNCTION_NAME): Move to elf.h.
+ (ASM_DECLARE_OBJECT_NAME): Remove.
+ (ESCAPES): Remove.
+ (ASM_OUTPUT_SKIP): Remove.
+ (DWARF2_DEBUGGING_INFO): Remove.
+ (OBJECT_FORMAT_ELF): Remove.
+ (USER_LABEL_PREFIX): Remove.
+ (ASM_OUTPUT_EXTERNAL): Remove.
+ (ASM_OUTPUT_ASCII): Remove.
+ (TYPE_ASM_OP): Remove.
+ (SIZE_ASM_OP): Remove.
+ (WEAK_ASM_OP): Remove.
+ (STRING_ASM_OP): Remove.
+ (SET_ASM_OP): Remove.
+ (ASM_WEAKEN_LABEL): Remove.
+ (TYPE_OPERAND_FMT): Remove.
+ (ASM_DECLARE_FUNCTION_SIZE): Remove.
+ (ASM_FINISH_DECLARE_OBJECT): Remove.
+ (NO_DOLLAR_IN_LABEL): Remove.
+ (ASM_GENERATE_INTERNAL_LABEL): Remove.
+ (ASM_OUTPUT_CASE_LABEL): Remove.
+ * config/avr/avr.c (avr_asm_output_aligned_decl_common): Use
+ ASM_OUTPUT_ALIGNED_LOCAL, ASM_OUTPUT_ALIGNED_COMMON.
+ (gas_output_ascii): Remove.
+ (gas_output_limited_string): Remove.
+ (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Remove.
+ * config/avr/avr-protos.h
+ (gas_output_ascii): Remove prototye.
+ (gas_output_limited_string): Remove prototype.
+
+2011-06-27 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/48637
+ * arm.c (arm_print_operand): Allow sym+offset. Don't abort on invalid
+ asm operands.
+
+2011-06-27 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_address_taken_from_non_vtable_p): Walk references of
+ node instead of references in node.
+
+2011-06-27 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (vms_patch_builtins): Provide dummy definition.
+ * config/ia64/ia64.c (ia64_init_builtins): Call vms_patch_builtins
+ inside ifdef.
+
+2011-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ * c-decl.c (union lang_tree_node): Use it in chain_next expression.
+
+ * builtin-types.def (BT_FN_PTR_CONST_PTR_SIZE_VAR): New.
+ * builtins.def (BUILT_IN_ASSUME_ALIGNED): New builtin.
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call,
+ find_func_clobbers): Handle BUILT_IN_ASSUME_ALIGNED.
+ * tree-ssa-ccp.c (bit_value_assume_aligned): New function.
+ (evaluate_stmt, execute_fold_all_builtins): Handle
+ BUILT_IN_ASSUME_ALIGNED.
+ * tree-ssa-dce.c (propagate_necessity): Likewise.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1,
+ call_may_clobber_ref_p_1): Likewise.
+ * builtins.c (is_simple_builtin, expand_builtin): Likewise.
+ (expand_builtin_assume_aligned): New function.
+ * doc/extend.texi (__builtin_assume_aligned): Document.
+
+ PR debug/49544
+ * cselib.c (promote_debug_loc): If cselib_preserve_constants
+ and l has two DEBUG_INSN owned locs instead of just one, adjust
+ the second location's setting_insn too.
+
+2011-06-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/38738
+ * config/sol2.h [!USE_GLD] (MFLIB_SPEC): Define.
+
+2011-06-27 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.md (clzsi2): Use XOR after BSCH to convert
+ bit position of highest bit set into a count of the high zero bits.
+
+2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (TYPE_DECL_IS_STUB): Extend mechanism to all types.
+
+2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/48492
+ * dwarf2out.c (dwarf2out_finish): Do not attach a DIE on the limbo list
+ to a NULL parent.
+
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49394
+ * passes.c (execute_one_pass): Restore current_pass after
+ applying IPA transforms.
+
+2011-06-27 Kai Tietz <ktietz@redhat.com>
+
+ * tree-ssa-math-opts.c (do_shift_rotate): Zero bits
+ out of type precision after operation.
+ (find_bswap): Take for limit value the integer auto-promotion
+ into account.
+
+2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * reorg.c (fill_simple_delay_slots): Use stop_search_p to stop the
+ forward scan as well.
+
+2011-06-27 Tristan Gingold <gingold@adacore.com>
+
+ PR target/44241
+ * config/vms/vms-protos.h: New file.
+ * config/vms/vms-crtlmap.map: New file.
+ * config/vms/vms.c: New file.
+ * config/vms/make-crtlmap.awk: New file.
+ * config/vms/vms-crtl.h: File removed.
+ * config/vms/vms-crtl-64.h: File removed.
+ * config/vms/t-vms (vms-crtlmap.h, vms.o): New targets.
+ * config/alpha/vms64.h: Do not include vms-crtl-64.h
+ * config/alpha/alpha.c (alpha_init_builtins): Remove code to
+ clear some builtins on VMS. Calls vms_patch_builtins.
+ (avms_asm_output_external): Remove.
+ * config/alpha/vms.h (ASM_OUTPUT_EXTERNAL): Remove.
+ (struct crtl_name_spec): Remove
+ (DO_CTRL_NAMES): Remove.
+ * config/ia64/vms.h (struct crtl_name_spec): Remove
+ (DO_CTRL_NAMES): Remove.
+ * config/ia64/ia64.c (alpha_init_builtins): Remove code to
+ clear some builtins on VMS. Calls vms_patch_builtins.
+ (ia64_asm_output_external): Remove DO_CRTL_NAME.
+ * config/ia64/vms64.h: Do not include vms-crtl-64.h
+ * config.gcc (*-*-*vms*): Define extra_objs, target_gtfiles, tm_p_file.
+
+2011-06-27 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/alpha.c (alpha_end_function): Always generate .end
+ directive on VMS.
+
+2011-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_frame_pointer_required): Return true if
+ the function receives nonlocal gotos.
+
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49536
+ * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size):
+ For non-scalar inner types use a scalar type according to
+ the scalar inner mode.
+
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49365
+ * params.def (min-insn-to-prefetch-ratio): Reduce from 10 to 9.
+
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49169
+ * fold-const.c (get_pointer_modulus_and_residue): Don't rely on
+ the alignment of function decls.
+
+2011-06-26 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/47997
+ * config/darwin.c (darwin_mergeable_string_section): Place string
+ constants in '.cstring' rather than '.const' when CF/NSStrings are
+ active.
+
+2011-06-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (save_local_or_in_reg_p): Adjust comment.
+ (emit_save_register_window): Likewise.
+ (sparc_expand_prologue): Use SIZE_INT_RTX and SIZE_RTX variables.
+ (sparc_flat_expand_prologue): Add comment. Always emit blockage.
+ Swap back %o7/%i7 in register naming.
+
+2011-06-25 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR driver/49371
+ * config/darwin.c (darwin_override_options): Improve warning when
+ mdynamic-no-pic is given together with fPIC/fpic, also warn when it
+ is given with fpie/fPIE.
+ * config/darwin.h (PIE_SPEC): New, (LINK_SPEC): Use PIE_SPEC.
+ * config/darwin9.h (PIE_SPEC): New.
+
+2011-06-25 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * timevar.c (timevar_print): Increase width for display of timevar
+ name.
+
+2011-06-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/46400
+ * c-decl.c (union lang_tree_node): Use TYPE_NEXT_VARIANT
+ instead of TYPE_CHAIN for chain_next for types.
+
+2011-06-24 Richard Henderson <rth@redhat.com>
+
+ * config/sparc/sparc.md (create_flat_frame_1<P:mode>): Remove.
+ (create_flat_frame_2<P:mode>, create_flat_frame_3<P:mode>): Remove.
+ * config/sparc/sparc.c (gen_create_flat_frame_1): Remove.
+ (gen_create_flat_frame_2, gen_create_flat_frame_3): Remove.
+ (sparc_flat_expand_prologue): Emit individual instructions
+ instead of one of the above.
+
+2011-06-24 Easwaran Raman <eraman@google.com>
+
+ PR rtl-optimization/49429
+ PR target/49454
+ * expr.c (emit_block_move_hints): Mark MEM_EXPR(x) and
+ MEM_EXPR(y) addressable if emit_block_move_via_libcall is
+ used to copy y into x.
+ * calls.c (initialize_argument_information): Mark
+ an argument addressable if it is passed by invisible reference.
+ (emit_library_call_value_1): Mark MEM_EXPR (val) addressable
+ if it is passed by reference.
+
+2011-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/49504
+ * rtlanal.c (nonzero_bits1): Properly handle addition or
+ subtraction of a pointer in Pmode if pointers extend unsigned.
+ (num_sign_bit_copies1): Likewise.
+
+2011-06-24 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimizations/49516
+ * tree-sra.c (sra_modify_assign): Choose the safe path for
+ aggregate copies if we also did scalar replacements.
+
+2011-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/49335
+ * config/arm/predicates.md (add_operator): New.
+ * config/arm/arm.md ("*arith_shiftsi"): Fix for SP reg usage in Thumb2.
+
+2011-06-24 Andi Kleen <ak@linux.intel.com>
+
+ * tree-sra.c (type_internals_preclude_sra_p): Add msg
+ parameter. Split up ifs and report reason in *msg.
+ (reject): Add.
+ (find_var_candiate): Add msg variable.
+ Split up ifs and report reason to reject.
+ (find_param_candidates): Add msg variable.
+ Pass msg to type_internals_preclude_sra_p.
+
+2011-06-23 Jeff Law <law@redhat.com>
+
+ PR middle-end/48770
+ * reload.h (reload): Change to return a bool.
+ * ira.c (ira): If requested by reload, run a fast DCE pass after
+ reload has completed. Fix comment typo.
+ * reload1.c (need_dce): New file scoped static.
+ (reload): Set reload_completed here. Return whether or not a DCE
+ pass after reload is needed.
+ (delete_dead_insn): Set need_dce as needed.
+
+ PR middle-end/49465
+ * tree-ssa-threadupate.c (fix_duplicate_block_edges): Fix condition
+ to detect threading through joiner block. If there was already
+ an edge to the new target, then do not change the PHI nodes.
+
+2011-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use
+ get_pointer_alignment to see if base isn't sufficiently aligned.
+
+2011-06-23 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/49373
+ * tree-pass.h (all_late_ipa_passes): Declare.
+ * cgraphunit.c (init_lowered_empty_function): Fix properties.
+ (cgraph_optimize): Execute late passes; remove unreachable funcions
+ after materialization.
+ * ipa-inline.c (gate_ipa_inline): Enable only when optimizing or
+ LTOing.
+ * passes.c (all_late_ipa_passes): Declare.
+ (dump_passes, register_pass): Handle late ipa passes.
+ (init_optimization_passes): Move ipa_pta to late passes; schedule
+ fixup_cfg at beggining of all_passes.
+ (apply_ipa_transforms): New function.
+ (execute_one_pass): When doing simple ipa pass, apply all transforms.
+
+2011-06-23 Joseph Myers <joseph@codesourcery.com>
+
+ * params.c: Include common/common-target.h. Don't include tm.h.
+ (lang_independent_params): Move from toplev.c.
+ (global_init_params): New.
+ * params.h (global_init_params): Declare.
+ * target.def (default_params): Move to common-target.def.
+ * toplev.c (lang_independent_options): Remove.
+ (lang_independent_params): Move to params.c.
+ (general_init): Use global_init_params.
+ * common/common-target.def (option_default_params): Move from
+ target.def.
+ * common/config/ia64/ia64-common.c: Include params.h.
+ (ia64_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+ from ia64.c.
+ * common/config/rs6000/rs6000-common.c: Include params.h.
+ (rs6000_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+ from rs6000.c.
+ * common/config/sh/sh-common.c: Include params.h.
+ (sh_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+ from sh.c.
+ * common/config/spu/spu-common.c: Include params.h.
+ (spu_option_default_params, TARGET_OPTION_DEFAULT_PARAMS): Move
+ from spu.c.
+ * config/ia64/ia64.c (ia64_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): Move to ia64-common.c.
+ * config/rs6000/rs6000.c (rs6000_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): Move to rs6000-common.c.
+ * config/sh/sh.c (sh_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): Move to sh-common.c.
+ * config/spu/spu.c (spu_option_default_params,
+ TARGET_OPTION_DEFAULT_PARAMS): Move to spu-common.c.
+ * Makefile.in (OBJS): Remove params.o.
+ (OBJS-libcommon-target): Add params.o.
+ (params.o, $(common_out_object_file)): Update dependencies.
+ * doc/tm.texi: Regenerate.
+
+2011-06-23 Alan Modra <amodra@gmail.com>
+
+ PR bootstrap/49383
+ * config/rs6000/rs6000.c (call_ABI_of_interest): Adjust cgraph
+ invocation for 2011-06-09 changes.
+
+2011-06-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR libgomp/49490
+ * omp-low.c (expand_omp_for_static_nochunk): Only
+ use n ceil/ nthreads size for the first n % nthreads threads in the
+ team instead of all threads except for the last few ones which
+ get less work or none at all.
+
+ PR debug/49496
+ * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Ignore debug
+ uses.
+
+2011-06-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49493
+ * tree-ssa-structalias.c (get_constraint_for_ssa_var):
+ Refer to the alias target of variables.
+ (associate_varinfo_to_alias_1): Remove.
+ (ipa_pta_execute): Do not associate aliases with anything.
+ * cgraph.h (varpool_alias_aliased_node): Fix cut&paste errors.
+ (cgraph_function_node): Likewise.
+ (cgraph_function_or_thunk_node): Likewise.
+ (varpool_variable_node): Likewise.
+
+2011-06-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * config/arm/arm.h (OPTION_DEFAULT_SPECS): Fix -mtls-dialect typo.
+ * config.gcc (arm*-*-linux*): Default to gnu tls.
+ (arm*-*-*): Add --with-tls option.
+ (all_defaults): Add 'tls'.
+
+2011-06-22 Richard Henderson <rth@redhat.com>
+
+ * reg-notes.def (REG_CFA_WINDOW_SAVE): New.
+ * dwarf2out.c (dwarf2out_frame_debug): Handle it.
+ (dwarf2out_frame_debug_cfa_window_save): Rename from
+ dwarf2out_window_save; make static.
+ * tree.h (dwarf2out_window_save): Don't declare.
+
+ * config/sparc/sparc.c (sparc_dwarf_handle_frame_unspec): Remove.
+ (TARGET_DWARF_HANDLE_FRAME_UNSPEC): Remove.
+ (emit_save_register_window): Rename from gen_save_register_window;
+ emit the insn and add REG_CFA_* notes.
+ (sparc_expand_prologue): Update to match.
+ * config/sparc/sparc.md (save_register_window_1): Simplify from
+ save_register_window<P:mode>.
+
+2011-06-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49497
+ * config/i386/i386.md (*lea_general_2): Always allow SImode.
+ (*lea_general_2_zext): Likewise.
+ (imul to lea peepholes): Use const359_operand and check
+ TARGET_PARTIAL_REG_STALL.
+
+ * config/i386/predicates.md (const359_operand): New.
+
+2011-06-22 Michael Matz <matz@suse.de>
+
+ * cgraphunit.c (assemble_thunk): Use correct return type.
+
+2011-06-22 Dmitry Plotnikov <dplotnikov@ispras.ru>
+ Dmitry Melnik <dm@ispras.ru>
+
+ * config/arm/arm.c (neon_immediate_valid_for_shift): New function.
+ (neon_output_shift_immediate): Ditto.
+ * config/arm/arm-protos.h (neon_immediate_valid_for_shift): New
+ prototype.
+ (neon_output_shift_immediate): Ditto.
+ * config/arm/neon.md (vashl<mode>3): Modified constraint.
+ (vashr<mode>3_imm): New insn pattern.
+ (vlshr<mode>3_imm): Ditto.
+ (vashr<mode>3): Modified constraint.
+ (vlshr<mode>3): Ditto.
+ * config/arm/predicates.md (imm_for_neon_lshift_operand): New
+ predicate.
+ (imm_for_neon_rshift_operand): Ditto.
+ (imm_lshift_or_reg_neon): Ditto.
+ (imm_rshift_or_reg_neon): Ditto.
+
+ * optabs.c (init_optabs): Init optab codes for vashl, vashr, vlshr.
+
+2011-06-22 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-ccp.c (evaluate_stmt): Try bitwise tracking for
+ builtin calls even if likelyvalue is not CONSTANT.
+ Handle BUILT_IN_STRDUP and BUILT_IN_STRNDUP like BUILT_IN_MALLOC.
+ Return get_value_for_expr of first operand
+ for BUILT_IN_{MEM{CPY,MOVE,SET},STR{,N}CPY}{,_CHK}.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
+ BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK like
+ their non-checking counterparts.
+ (call_may_clobber_ref_p_1): Likewise.
+ (stmt_kills_ref_p_1): Handle BUILT_IN_MEM{{,P}CPY,MOVE,SET}_CHK
+ like their non-checking counterparts.
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+ Handle BUILT_IN_{MEM{{,P}CPY,MOVE,SET},STR{,N}C{PY,AT},STPCPY}_CHK
+ like their non-checking counterparts.
+ (find_func_clobbers): Likewise.
+ * tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_MEMSET_CHK
+ like BUILT_IN_MEMSET and BUILT_IN_CALLOC like BUILT_IN_MALLOC.
+
+ * dwarf2out.c (size_of_loc_descr, output_loc_operands,
+ mark_base_types, hash_loc_operands, compare_loc_operands): Allow
+ DW_OP_GNU_convert and DW_OP_GNU_reinterpret to use constant instead
+ of base type reference as argument.
+ (resolve_addr_in_expr): Likewise. Fix keep computation.
+ (convert_descriptor_to_signed): Renamed to...
+ (convert_descriptor_to_mode): ... this. For wider types convert to
+ unsigned instead of signed, for <= DWARF2_ADDR_SIZE convert to untyped.
+ (typed_binop): New function.
+ (scompare_loc_descriptor, ucompare_loc_descriptor,
+ minmax_loc_descriptor, mem_loc_descriptor): For wider integer modes
+ default to unsigned type instead of signed.
+
+ PR debug/47858
+ * gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND.
+ (gimple_build_debug_source_bind_stat): New prototype.
+ (gimple_build_debug_source_bind): Define.
+ (gimple_debug_source_bind_p, gimple_debug_source_bind_get_var,
+ gimple_debug_source_bind_get_value,
+ gimple_debug_source_bind_get_value_ptr,
+ gimple_debug_source_bind_set_var,
+ gimple_debug_source_bind_set_value): New inlines.
+ * gimple.c (gimple_build_debug_source_bind_stat): New function.
+ * gimple-pretty-print.c (dump_gimple_debug): Handle
+ GIMPLE_DEBUG_SOURCE_BIND.
+ * sese.c (rename_uses): Handle gimple_debug_source_bind_p.
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
+ * tree-parloops.c (eliminate_local_variables,
+ separate_decls_in_region): Likewise.
+ (separate_decls_in_region_debug): Renamed from
+ separate_decls_in_region_debug_bind. Handle
+ gimple_debug_source_bind_p.
+ * tree.h (decl_debug_args_lookup, decl_debug_args_insert): New
+ prototypes.
+ (DECL_HAS_DEBUG_ARGS_P): Define.
+ (struct tree_function_decl): Add has_debug_args_flag field.
+ * tree.c (debug_args_for_decl): New variable.
+ (decl_debug_args_lookup, decl_debug_args_insert): New functions.
+ * tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts.
+ (rewrite_debug_stmt_uses): New function.
+ (rewrite_stmt): Use it to rewrite debug stmt uses.
+ * rtl.def (DEBUG_PARAMETER_REF): New.
+ * rtl.h (DEBUG_PARAMETER_REF_DECL): Define.
+ * cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle
+ DEBUG_PARAMETER_REF.
+ * rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of
+ SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind
+ debug stmts in the first bb.
+ * tree-inline.c (remap_ssa_name): If remapping default def
+ of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in
+ a source bind debug stmt.
+ (remap_gimple_stmt): Handle gimple_debug_source_bind_p.
+ (maybe_move_debug_stmts_to_successors): Likewise.
+ (copy_debug_stmt): Likewise. Avoid shadowing a variable.
+ (tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy
+ debug args vector from old_decl to new_decl.
+ * ipa-prop.c (ipa_modify_call_arguments): For optimized away
+ or modified parameters, add debug bind stmts before call
+ setting DEBUG_EXPR_DECL which is remembered in debug args vector.
+ * cfgexpand.c (expand_call_stmt): Call expand_debug_expr
+ on DECL_DEBUG_EXPRs from debug args vector.
+ (expand_debug_source_expr): New function.
+ (expand_debug_locations): Use it for source bind insns.
+ (expand_gimple_basic_block): Handle gimple_debug_source_bind_p.
+ * var-tracking.c (prepare_call_arguments): Add debug args
+ to call_arguments if any.
+ * dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr,
+ output_loc_operands, output_loc_operands_raw, resolve_addr_in_expr,
+ compare_loc_operands): Handle DW_OP_GNU_parameter_ref.
+ (get_ref_die_offset, parameter_ref_descriptor): New functions.
+ (mem_loc_descriptor): Handle DEBUG_PARAMETER_REF.
+ (gen_subprogram_die): Handle parameters identified by
+ DEBUG_PARAMETER_REF.
+
+2011-06-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * doc/invoke.texi (ARM Options): Document -mtls-dialect option.
+ * doc/install.texi (Configuration): Document --with-tls.
+ * config/arm/arm.c (enum tls_reloc): Add TLS_DESCSEQ.
+ (arm_call_tls_get_addr): Clean up. Assert not tls descriptor.
+ (arm_tls_descseq_addr): New.
+ (legitimize_tls_address): Add tlsdesc support.
+ (arm_cannot_copy_insn_p): Check for tlscall.
+ (arm_emit_tls_decoration): Likewise.
+ * config/arm/arm.h (TARGET_GNU2_TLS): New.
+ (OPTION_DEFAULT_SPECS): Add with-tls support.
+ * config/arm/arm.md (R1_REGNUM): Define.
+ (tlscall): New.
+ * config/arm/arm.opt (tls_type): New enumeration type and values.
+ (mtls-dialect): New switch.
+ * config/arm/arm-opts.h (enum tls_type): New.
+
+2011-06-21 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * attribs.c (register_attribute): Added assert to check that all
+ attribute specs are registered with a name that is not empty and
+ does not start with '_'.
+ (decl_attributes): Avoid the lookup of the "naked" attribute spec
+ if the function has no attributes.
+ * tree.c (is_attribute_with_length_p): Removed.
+ (is_attribute_p): Removed.
+ (private_is_attribute_p): New.
+ (private_lookup_attribute): New.
+ (lookup_attribute): Removed.
+ (lookup_ident_attribute): New.
+ (remove_attribute): Require the first argument to be in the form
+ 'text', not '__text__'. Updated asserts.
+ (merge_attributes): Use lookup_ident_attributes instead of
+ lookup_attribute.
+ (merge_dllimport_decl_attributes): Use remove_attribute.
+ (attribute_list_contained): Likewise.
+ (attribute_list_equal): Immediately return 1 if the arguments are
+ identical pointers.
+ * tree.h (is_attribute_p): Made inline. Return a 'bool', not an
+ 'int'. Require the first argument to be in the form 'text', not
+ '__text__'. Require the second argument to be an identifier.
+ (lookup_attribute): Made inline. Require the first argument to be
+ in the form 'text', not '__text__'.
+ (private_is_attribute_p, private_lookup_attribute): New.
+ Updated comments.
+
+2011-06-21 Andrew MacLeod <amacleod@redhat.com>
+
+ * builtins.c: Add sync_ or SYNC__ to builtin names.
+ * sync-builtins.def: Add sync_ or SYNC__ to builtin names.
+ * omp-low.c: Add sync_ or SYNC__ to builtin names.
+
+2011-06-21 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/33049
+ * config/avr/avr.md (extzv): New expander.
+ (*extzv): New insn.
+ (*extzv.qihi1, *extzv.qihi2): New insn-and-split.
+ * config/avr/constraints.md (C04): New constraint.
+ * doc/md.texi (Machine Constraints): Document it.
+
+2011-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49489
+ * builtins.c (expand_builtin_unop): Call expand_unop with 0 as
+ unsignedp argument instead of 1 for clrsb_optab.
+ (fold_builtin_bitop): Fix masking for width > HOST_BITS_PER_WIDE_INT
+ and < 2 * HOST_BITS_PER_WIDE_INT. Optimize BUILT_IN_CLRSB*.
+ (fold_builtin_1): Call fold_builtin_binop for BUILT_IN_CLRSB*.
+ * optabs.c (widen_leading): Call widen_operand and expand_unop
+ with 0 as unsignedp argument instead of 1 for clrsb_optab.
+ (expand_unop): Subtract difference of mode sizes also for clrsb_optab.
+
+2011-06-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md (*jcindirect_jump): Fix build warning.
+
+2011-06-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gensupport.c (add_define_attr): New static function.
+ (is_predicable): Allow multi-alternative lists for the "predicable"
+ attribute.
+ (modify_attr_enabled_ce, alter_attrs_for_insn): New static functions.
+ (process_one_cond_exec): Call alter_attrs_for_insn.
+ * doc/md.texi (Defining Attributes): Mention some standard names.
+ (Conditional Execution): Update documentation for "predicable".
+
+ * doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
+ __builtin_clrsbll): Document.
+ * doc/rtl.texi (clrsb): New entry.
+ * optabs.c (widen_leading): Renamed from widen_clz. New argument
+ UNOPTAB. All callers changed. Use UNOPTAB instead of clz_optab.
+ (expand_unop): Handle clrsb_optab.
+ (init_optabs): Initialize it.
+ * optabs.h (enum optab_index): New entry OTI_clrsb.
+ (clrsb_optab): Define.
+ * genopinit.c (optabs): Add an entry for it.
+ * builtins.c (expand_builtin): Handle clrsb builtin functions.
+ * builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
+ BUILT_IN_CLRSBLL): New.
+ * rtl.def (CLRSB): New code.
+ * dwarf2out.c (mem_loc_descriptor): Handle it.
+ * simplify-rtx.c (simplify_const_unary_operation): Likewise.
+ Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
+ and popcount.
+ * libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
+ * libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
+ (__ctzDI2): Move declaration.
+ * config/bfin/bfin.md (clrsbsi2): New expander.
+ (signbitssi2): Use the CLRSB rtx.
+ (clrsbhi2): Renamed from signbitshi2. Use the CLRSB rtx.
+ * config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
+
+2011-06-21 Richard Guenther <rguenther@suse.de>
+
+ * ipa-inline-transform.c (inline_transform): Fix previous change.
+
+2011-06-21 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49478
+ * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
+ with constant operand.
+
+2011-06-21 Richard Guenther <rguenther@suse.de>
+
+ * ipa-inline-transform.c (inline_transform): Fix typo.
+
+2011-06-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49483
+ * tree-vect-stmts.c (vectorizable_assignment): Also handle
+ VIEW_CONVERT_EXPR conversions.
+
+2011-06-21 Joseph Myers <joseph@codesourcery.com>
+
+ * config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
+ * config/avr/avr-tables.opt: New file (generated).
+ * config.gcc (avr-*-*): Use avr/avr-tables.opt.
+ * config/avr/avr-devices.c (avr_mcu_types): Move contents to
+ avr-mcus.def.
+ * config/avr/avr.c (avr_help, TARGET_HELP): Remove.
+ (avr_option_override): Don't process -mmcu= argument here. Set
+ avr_current_device using avr_mcu_index.
+ (avr_file_start): Use avr_current_device->name instead of avr_mcu_name.
+ * config/avr/avr.opt (mmcu=): Use Enum.
+ * config/avr/t-avr (avr-devices.o): Update dependencies.
+ ($(srcdir)/config/avr/avr-tables.opt): New.
+ * target.def (help): Remove.
+ * doc/tm.texi.in (TARGET_HELP): Remove.
+ * doc/tm.texi: Regenerate.
+ * opts.c: Don't include target.h.
+ (common_handle_option): Don't call targetm.help.
+ * system.h (TARGET_HELP): Poison.
+ * Makefile.in (opts.o): Update dependencies.
+
+2011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/usegld.h: New file.
+ * config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
+ (CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
+ (LIB_SPEC): Likewise. Search /lib.
+ (LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
+ (RDYNAMIC_SPEC): Handle GNU ld.
+ [HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC):
+ Define.
+ (SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
+ (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
+ [!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
+ (STACK_CHECK_STATIC_BUILTIN): Define.
+ * config/sol2.opt (compat-bsd): Remove.
+ * config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
+ * config/sol2-bi.h: New file.
+ * config/sol2-gld.h: Remove.
+ * config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
+ (NO_DBX_BNSYM_ENSYM): Remove.
+ (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
+ (STACK_CHECK_STATIC_BUILTIN): Remove.
+ Test USE_GLD instead of TARGET_GNU_LD.
+ * config/i386/sol2-10.h: Rename to ...
+ * config/i386/sol2-bi.h .. this.
+ (SUBTARGET_EXTRA_SPECS): Redefine.
+ (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
+ (MULTILIB_DEFAULTS): Remove.
+ (DEFAULT_ARCH32_P): Define.
+ (LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
+ (ARCH64_SUBDIR): Define.
+ Test USE_GLD instead of TARGET_GNU_LD.
+ (I386_EMULATION): Rename to ...
+ (ARCH32_EMULATION): ... this.
+ (X86_64_EMULATION): Rename to ...
+ (ARCH64_EMULATION): ... this.
+ (TARGET_LD_EMULATION): Remove.
+ (LINK_ARCH_SPEC): Remove.
+ * config/i386/sol2-gas.h: Remove.
+ * config/i386/t-sol2-10: Rename to ...
+ * config/i386/t-sol2-64: ... this.
+ * config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
+ (AS_SPARC64_FLAG): Define.
+ (ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
+ (CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
+ depending on TARGET_CPU_DEFAULT.
+ (CPP_CPU_SPEC): Redefine.
+ (ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
+ (CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
+ (CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
+ (ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
+ ASM_ARCH_DEFAULT_SPEC): Redefine.
+ (SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
+ LINK_ARCH_DEFAULT_SPEC.
+ [USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
+ [USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
+ (ARCH64_SUBDIR): Define.
+ (LINK_ARCH64_SPEC): Redefine.
+ (CC1_SPEC): Redefine.
+ (OPTION_DEFAULT_SPECS): Redefine.
+ (MULTILIB_DEFAULTS): Define.
+ (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
+ [USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
+ [USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
+ (NO_DBX_BNSYM_ENSYM): Remove.
+ (SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
+ (ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
+ (TARGET_ASM_NAMED_SECTION): Likewise.
+ (STACK_CHECK_STATIC_BUILTIN): Remove.
+ * config/sparc/sol2-bi.h: Remove.
+ * config/sparc/sol2-gas-bi.h: Remove.
+ * config/sparc/sol2-gas.h: Remove.
+ * config/sparc/sol2-gld-bi.h: Remove.
+ * config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
+ common parts ...
+ (*-*-solaris2*): ... here.
+
+2011-06-21 Christian Bruel <christian.bruel@st.com>
+
+ PR other/43564
+ * ipa-inline.c (can_inline_edge_p): Check
+ !DECL_DISREGARD_INLINE_LIMITS.
+
+2011-06-21 Christian Bruel <christian.bruel@st.com>
+
+ PR middle-end/49139
+ * cgraphunit.c (process_function_and_variable_attributes): warn when
+ always_inline functions that are not inline.
+ * ipa-inline-transform.c (inline_transform): Always call
+ optimize_inline.
+ * tree-inline.c (tree_inlinable_function_p): Use error instead
+ of sorry.
+ (expand_call_inline): Likewise.
+
+2011-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ * Makefile.in (dg_target_exps): Set.
+ (check_gcc_parallelize): Parallelize gcc testing into 10 jobs
+ instead of 7, try to divide it more evenly.
+
+2011-06-20 Changpeng Fang <changpeng.fang@amd.com>
+
+ PR target/49089
+ * config/i386/i386.c (avx256_split_unaligned_load): New definition.
+ (avx256_split_unaligned_store): New definition.
+ (ix86_option_override_internal): Enable avx256 unaligned load/store
+ splitting only when avx256_split_unaligned_load/store is set.
+
+2011-06-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ * regrename.c (scan_rtx_reg): Handle the case where we write to an
+ open chain in a smaller mode without failing the entire block.
+
+2011-06-21 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
+ CONST high part large-toc address.
+ (rs6000_tls_referenced_p): Make static.
+ * config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.
+
+2011-06-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/49385
+ * config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
+ one of the operands is a register.
+
+2011-06-20 Kai Tietz <ktietz@redhat.com>
+
+ * fold-const.c (fold_binary_loc): Add missing folding for truth-not
+ operations in combination with binary and.
+
+2011-06-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ * regrename.c (do_replace): Don't update notes.
+
+2011-06-20 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
+ of toc-relative address in CONST.
+ (rs6000_delegitimize_address): Recognize changed address.
+ (rs6000_legitimize_reload_address): Likewise.
+ (rs6000_emit_move): Don't force these constants to memory.
+ * config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
+ toc-relative address in CONST.
+ (tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
+ (tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
+
+2011-06-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * longlong.h (count_leading_zeros): Use long long builtin for x86-64.
+ (count_trailing_zeros): Likewise.
+
+2011-06-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR other/49325
+ * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
+ .init_array can be used with .ctors on targets.
+ * configure: Regenerated.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-sra.c (type_internals_preclude_sra_p) <ARRAY_TYPE>: Return true
+ if the element type is volatile.
+
+2011-06-18 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_varpool_replace_node): Remove code handling
+ extra name aliases.
+ (lto_symtab_resolve_can_prevail_p): Likewise.
+ (lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
+ * cgraphbuild.c (record_reference): Remove extra body alias code.
+ (mark_load): Likewise.
+ (mark_store): Likewise.
+ * cgraph.h (varpool_node): Remove extra_name filed;
+ add alias_of and extraname_alias.
+ (varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
+ (varpool_alias_aliased_node): New inline function.
+ (varpool_variable_node): New function.
+ * cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
+ * ipa-ref.c (ipa_record_reference): Allow aliases on variables.
+ * lto-cgraph.c (lto_output_varpool_node): Update streaming.
+ (input_varpool_node): Likewise.
+ * lto-streamer-out.c (produce_symtab): Remove extra name aliases.
+ (varpool_externally_visible_p): Remove extra body alias code.
+ (function_and_variable_visibility): Likewise.
+ * tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
+ (ipa_pta_execute): Use it.
+ * varpool.c (varpool_remove_node): Remove extra name alias code.
+ (varpool_mark_needed_node): Likewise.
+ (varpool_analyze_pending_decls): Analyze aliases.
+ (assemble_aliases): New functoin.
+ (varpool_assemble_decl): Use it.
+ (varpool_create_variable_alias): New function.
+ (varpool_extra_name_alias): Rewrite.
+ (varpool_for_node_and_aliases): New function.
+
+2011-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49411
+ * config/i386/i386.c (ix86_expand_multi_arg_builtins): If
+ last_arg_constant and last argument doesn't match its predicate,
+ for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
+ if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
+ (ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
+ spelling of error message.
+ * config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
+ vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
+ const_0_to_255_operand instead of const_int_operand.
+
+ Revert:
+ 2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (blendbits): Remove mode attribute.
+ (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
+ instead of const_0_to_<blendbits>_operand for operand 3 predicate.
+ Check integer value of operand 3 in insn constraint.
+
+2011-06-17 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/48542
+ * reload.c (find_equiv_reg): Stop looking when finding a
+ setjmp-type call.
+ * reload1.c (reload_as_needed): Invalidate all reload
+ registers when crossing a setjmp-type call.
+
+2011-06-16 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (struct redirection_data): New field
+ intermediate_edge.
+ (THREAD_TARGET2): Define.
+ (redirection_data_eq): Also check that the intermediate edge is equal.
+ (lookup_redirection_data): Drop useless argument. Extract the
+ outgoing_edge and intermediate edge from E. Callers updated.
+ (copy_phi_args, update_destination_phis): New functions.
+ (fix_duplicate_block_edges): Likewise.
+ (create_edge_and_update_destination_phis): Duplicate all the edges
+ hung off e->aux. Use copy_phi_args.
+ (create_duplicates): Use fix_duplicate_block_edges.
+ (fixup_template_block): Likewise.
+ (redirect_edges): If necessary, redirect the joiner block's incoming
+ edge to the duplicate of the joiner block.
+ (thread_block): Don't muck up loops when threading through a joiner
+ block.
+ (thread_through_loop_header): Handle threading through a joiner block.
+ (mark_threaded_blocks, register_jump_thread): Likewise.
+ * tree-flow.h (register_jump_thread): Add new argument. Callers
+ updated.
+ * tree-ssa-threadedge.c (phi_args_equal_on_edges): New function.
+ (thread_across_edge): Handle threading through a joiner block.
+
+2011-06-16 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/49343
+ * tree-sra.c (build_ref_for_model): Use component_ref_field_offset to
+ calculate offset, provide 2nd operand for the new COMPONENT_REF.
+
+2011-06-16 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin-protos.h (machopic_select_rtx_section): Move to
+ inside RTX_CODE ifdef.
+
+2011-06-16 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith):
+ Disallow NULL pointer for pointer arithmetic.
+
+2011-06-16 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/49398
+ Revert.
+ 2011-06-10 Wei Guozhi <carrot@google.com>
+
+ PR target/45335
+ * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
+ stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
+ (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
+ related peephole2.
+ (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
+ related peephole2.
+ * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
+ (arm_legitimate_ldrd_p): New prototype.
+ (arm_output_ldrd): New prototype.
+ * config/arm/arm.c (arm_check_ldrd_operands): New function.
+ (arm_legitimate_ldrd_p): New function.
+ (arm_output_ldrd): New function.
+
+2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR middle-end/46500
+ * doc/tm.texi.in: Update Copyright date.
+ * doc/tm.texi: Regenerate.
+ * targhooks.c (default_setup_incoming_varargs): Replace
+ CUMULATIVE_ARGS* argument type with cumulative_args_t.
+ (default_pretend_outgoing_varargs_named): Likewise.
+ (hook_pass_by_reference_must_pass_in_stack): Likewise.
+ (hook_callee_copies_named): Likewise.
+ (default_function_arg_advance): Likewise.
+ (default_function_arg): Likewise.
+ (default_function_incoming_arg): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_false): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_true): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
+ (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
+ * targhooks.h (default_setup_incoming_varargs): Likewise.
+ (default_pretend_outgoing_varargs_named): Likewise.
+ (hook_pass_by_reference_must_pass_in_stack): Likewise.
+ (hook_callee_copies_named): Likewise.
+ (default_function_arg_advance): Likewise.
+ (default_function_arg): Likewise.
+ (default_function_incoming_arg): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_false): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_true): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
+ (hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
+ (hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
+ * target.def (pass_by_reference): Likewise.
+ (setup_incoming_varargs, strict_argument_naming): Likewise.
+ (pretend_outgoing_varargs_named, callee_copies): Likewise.
+ (arg_partial_bytes, function_arg_advance, function_arg): Likewise.
+ (function_incoming_arg): Likewise.
+ * target.h: Don't include "tm.h" .
+ (cumulative_args_t): New typedef.
+ [GCC_TM_H] (get_cumulative_args): New static inline function.
+ [GCC_TM_H] (pack_cumulative_args): Likewise.
+ * config/alpha/alpha.c (alpha_function_arg): Replace CUMULATIVE_ARGS*
+ argument type with cumulative_args_t.
+ (alpha_function_arg_advance, alpha_arg_partial_bytes): Likewise.
+ (alpha_pass_by_reference, alpha_setup_incoming_varargs): Likewise.
+ * config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
+ (frv_arg_partial_bytes, frv_function_arg): Likewise.
+ (frv_function_incoming_arg, frv_function_arg_advance): Likewise.
+ (frv_function_arg_1): Likewise.
+ * config/s390/s390.c (s390_pass_by_reference): Likewise.
+ (s390_function_arg_advance, s390_function_arg): Likewise.
+ * config/m32c/m32c.c (m32c_function_arg): Likewise.
+ (m32c_pass_by_reference, m32c_function_arg_advance): Likewise.
+ (m32c_strict_argument_naming): Likewise.
+ * config/spu/spu.c (spu_pass_by_reference, spu_function_arg): Likewise.
+ (spu_function_arg_advance): Likewise.
+ (spu_setup_incoming_varargs): Likewise. Make static.
+ * config/spu/spu-protos.h (spu_setup_incoming_varargs):
+ Remove prototype.
+ * config/sparc/sparc.c (sparc_strict_argument_naming): Replace
+ CUMULATIVE_ARGS* argument type with cumulative_args_t.
+ (sparc_pass_by_reference, sparc_function_arg_advance): Likewise.
+ (sparc_function_arg, sparc_function_incoming_arg): Likewise.
+ (sparc_arg_partial_bytes, sparc_function_arg_1): Likewise.
+ * config/mep/mep.c (mep_setup_incoming_varargs): Likewise.
+ (mep_pass_by_reference, mep_function_arg): Likewise.
+ (mep_function_arg_advance): Likewise.
+ * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
+ (m32r_pass_by_reference, m32r_arg_partial_bytes): Likewise.
+ (m32r_function_arg, m32r_function_arg_advance): Likewise.
+ * config/rx/rx.c (rx_function_arg, rx_function_arg_advance): Likewise.
+ * config/i386/i386.c (ix86_function_arg_advance): Likewise.
+ (ix86_function_arg, ix86_pass_by_reference): Likewise.
+ (ix86_setup_incoming_varargs): Likewise.
+ * config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
+ (sh_strict_argument_naming): Likewise.
+ (sh_pretend_outgoing_varargs_named, sh_pass_by_reference): Likewise.
+ (sh_callee_copies, sh_arg_partial_bytes): Likewise.
+ (sh_function_arg_advance, sh_function_arg): Likewise.
+ * config/pdp11/pdp11.c (pdp11_function_arg): Likewise.
+ (pdp11_function_arg_advance): Likewise.
+ * config/microblaze/microblaze.c (microblaze_function_arg_advance):
+ Likewise.
+ (microblaze_function_arg, function_arg_partial_bytes): Likewise.
+ * config/avr/avr.c (avr_function_arg): Likewise.
+ (avr_function_arg_advance): Likewise.
+ * config/xtensa/xtensa.c (xtensa_function_arg_advance): Likewise.
+ (xtensa_function_arg, xtensa_function_incoming_arg): Likewise.
+ (xtensa_function_arg_1): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_function_arg_advance):
+ Likewise.
+ (xstormy16_function_arg): Likewise.
+ * config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
+ (fr30_arg_partial_bytes, fr30_function_arg): Likewise.
+ (fr30_function_arg_advance): Likewise.
+ * config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
+ (lm32_function_arg, lm32_function_arg_advance): Likewise.
+ * config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
+ (moxie_function_arg, moxie_function_arg_advance): Likewise.
+ (moxie_pass_by_reference, moxie_arg_partial_bytes): Likewise.
+ * config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
+ (cris_pass_by_reference, cris_arg_partial_bytes): Likewise.
+ (cris_function_arg, cris_function_incoming_arg): Likewise.
+ (cris_function_arg_advance, cris_function_arg_1): Likewise.
+ * config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
+ (iq2000_pass_by_reference, iq2000_arg_partial_bytes): Likewise.
+ (iq2000_function_arg, iq2000_function_arg_advance): Likewise.
+ * config/mn10300/mn10300.c (mn10300_pass_by_reference): Likewise.
+ (mn10300_function_arg, mn10300_function_arg_advance): Likewise.
+ (mn10300_arg_partial_bytes): Likewise.
+ * config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
+ (ia64_arg_partial_bytes, ia64_function_arg): Likewise.
+ (ia64_function_incoming_arg, ia64_function_arg_advance): Likewise.
+ (ia64_function_arg_1): Likewise.
+ * config/m68k/m68k.c (m68k_function_arg_advance): Likewise.
+ (m68k_function_arg): Likewise.
+ * config/rs6000/rs6000.c (rs6000_function_arg_advance): Likewise.
+ (rs6000_function_arg, setup_incoming_varargs): Likewise.
+ (rs6000_pass_by_reference, rs6000_arg_partial_bytes): Likewise.
+ * config/picochip/picochip.c (picochip_arg_partial_bytes): Likewise.
+ (picochip_function_arg, picochip_incoming_function_arg): Likewise.
+ (picochip_arg_advance): Likewise.
+ * config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
+ (mcore_arg_partial_bytes, mcore_function_arg): Likewise.
+ (mcore_function_arg_advance): Likewise.
+ * config/score/score.c (score_pass_by_reference): Likewise.
+ (score_function_arg_advance): Likewise.
+ (score_arg_partial_bytes): Likewise. Make static.
+ * config/score/score-protos.h (score_arg_partial_bytes): Don't declare.
+ * config/arm/arm.c (arm_arg_partial_bytes): Replace
+ CUMULATIVE_ARGS* argument type with cumulative_args_t.
+ (arm_function_arg, arm_function_arg_advance): Likewise.
+ (arm_setup_incoming_varargs, arm_pass_by_reference): Likewise.
+ * config/pa/pa.c (pa_pass_by_reference): Likewise.
+ (pa_arg_partial_bytes, pa_function_arg_advance): Likewise.
+ (pa_function_arg): Likewise.
+ * config/mips/mips.c (mips_strict_argument_naming): Likewise.
+ (mips_function_arg, mips_function_arg_advance): Likewise.
+ (mips_arg_partial_bytes, mips_pass_by_reference): Likewise.
+ (mips_callee_copies, mips_setup_incoming_varargs): Likewise.
+ * config/vax/vax.c (vax_function_arg): Likewise.
+ (vax_function_arg_advance): Likewise.
+ * config/h8300/h8300.c (h8300_function_arg): Likewise.
+ (h8300_function_arg_advance): Likewise.
+ * config/v850/v850.c (v850_pass_by_reference): Likewise.
+ (v850_strict_argument_naming, v850_function_arg): Likewise.
+ (v850_arg_partial_bytes, v850_function_arg_advance): Likewise.
+ (v850_setup_incoming_varargs): Likewise.
+ * config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
+ (mmix_function_arg_advance, mmix_function_incoming_arg): Likewise.
+ (mmix_function_arg, mmix_pass_by_reference): Likewise.
+ (mmix_function_arg_1): Replace const CUMULATIVE_ARGS* argument type
+ with const void *.
+ * config/bfin/bfin.c (setup_incoming_varargs): Replace
+ CUMULATIVE_ARGS* argument type with cumulative_args_t.
+ (bfin_function_arg_advance, bfin_function_arg): Likewise.
+ (bfin_arg_partial_bytes, bfin_pass_by_reference): Likewise.
+ * calls.c (emit_call_1): Change type of args_so_far to
+ cumulative_args_t. Changed all callers.
+ (initialize_argument_information): Likewise.
+ (expand_call, emit_library_call_value_1): Use pack_cumulative_args.
+ * dse.c (get_call_args): Likewise.
+ * expr.c (block_move_libcall_safe_for_call_parm): Likewise.
+ * function.c (pass_by_reference, reference_callee_copied): Likewise.
+ (struct assign_parm_data_all): Rename args_so_far to args_so_far_v.
+ New member args_so_far_v. Changed all users.
+ * var-tracking.c (prepare_call_arguments): Use pack_cumulative_args.
+ * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
+ * config/mips/mips.c (mips_output_args_xfer): Likewise.
+ * config/s390/s390.c (s390_call_saved_register_used): Likewise.
+ * config/sh/sh.c (sh_output_mi_thunk): Likewise.
+ * config/microblaze/microblaze.c (microblaze_expand_prologue):
+ Likewise.
+ * config/m32r/m32r.c (m32r_return_in_memory): Adjust for changed
+ m32r_pass_by_reference.
+
+2011-06-16 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.h (vect_recog_func_ptr): Change the first
+ argument to be a VEC of statements.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Remove the
+ assert that pattern statements have to have their vector type set.
+ * tree-vect-patterns.c (vect_recog_widen_sum_pattern):
+ Change the first argument to be a VEC of statements. Update
+ documentation.
+ (vect_recog_dot_prod_pattern, vect_recog_pow_pattern): Likewise.
+ (vect_handle_widen_mult_by_const): New function.
+ (vect_recog_widen_mult_pattern): Change the first argument to be a
+ VEC of statements. Update documentation. Check that the constant is
+ INTEGER_CST. Support multiplication by a constant that fits an
+ intermediate type - call vect_handle_widen_mult_by_const.
+ (vect_pattern_recog_1): Update vect_recog_func_ptr and its
+ call. Handle additional pattern statements if necessary.
+
+2011-06-16 Nick Clifton <nickc@redhat.com>
+
+ PR target/49427
+ * config.gcc: Set cpu_type to v850 for any V850 architecture.
+ (v850*-*-*): Delete explicit setting of tm_p_file, tmake_file,
+ md_file, extra_modes, out_file and extra_options are these are all
+ deduced from cpu_type.
+
+2011-06-16 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
+ truncation mask to 63.
+
+2011-06-16 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49313
+ PR target/29524
+ * longlong.h: Add AVR support:
+ (count_leading_zeros): New macro.
+ (count_trailing_zeros): New macro.
+ (COUNT_LEADING_ZEROS_0): New macro.
+ * config/avr/t-avr (LIB1ASMFUNCS): Add _ffssi2, _ffshi2, _loop_ffsqi2,
+ _ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2, _paritydi2, _paritysi2,
+ _parityhi2, _popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
+ _bswapsi2, _bswapdi2, _ashldi3, _ashrdi3, _lshrdi3.
+ (LIB2FUNCS_EXCLUDE): Add _clz.
+ * config/avr/libgcc.S (XCALL): Move up in file.
+ (XJMP): New C Macro.
+ (DEFUN): New asm macro.
+ (ENDF): New asm macro.
+ (__ffssi2): New function.
+ (__ffshi2): New function.
+ (__loop_ffsqi2): New function.
+ (__ctzsi2): New function.
+ (__ctzhi2): New function.
+ (__clzdi2): New function.
+ (__clzsi2): New function.
+ (__clzhi2): New function.
+ (__paritydi2): New function.
+ (__paritysi2): New function.
+ (__parityhi2): New function.
+ (__parityqi2): New function.
+ (__popcounthi2): New function.
+ (__popcountsi2): New function.
+ (__popcountdi2): New function.
+ (__popcountqi2): New function.
+ (__bswapsi2): New function.
+ (__bswapdi2): New function.
+ (__ashldi3): New function.
+ (__ashrdi3): New function.
+ (__lshrdi3): New function.
+ Fix suspicous lines.
+
+2011-06-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (canonicalize_cond_expr_cond): (bool)x is not
+ the same as x != 0.
+ * fold-const.c (fold_binary_loc): Do not fold X & 1 != 0
+ to (bool) X & 1.
+ * ipa-prop.c (ipa_analyze_indirect_call_uses): Also allow
+ equality compares against zero for the lower bit.
+
+2011-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49419
+ * tree-vrp.c (execute_vrp): Call init_range_assertions
+ before estimate_numbers_of_iterations, call
+ free_number_of_iterations_estimates before calling
+ remove_range_assertions.
+
+2011-06-16 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (struct ps_insn): Remove row_rest_count field.
+ (struct partial_schedule): Add rows_length field.
+ (verify_partial_schedule): Check rows_length.
+ (ps_insert_empty_row): Handle rows_length.
+ (create_partial_schedule): Likewise.
+ (free_partial_schedule): Likewise.
+ (reset_partial_schedule): Likewise.
+ (create_ps_insn): Remove rest_count argument.
+ (remove_node_from_ps): Update rows_length.
+ (add_node_to_ps): Update rows_length and call create_ps_insn
+ without passing row_rest_count.
+ (rotate_partial_schedule): Update rows_length.
+
+2011-06-16 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (add_intra_loop_mem_dep): New function.
+ (build_intra_loop_deps): Call it.
+
+2011-06-13 Jeff Law <law@redhat.com>
+
+ * df-problems.c (df_lr_local_compute): Manually CSE
+ PIC_OFFSET_TABLE_REGNUM.
+ * df-scan.c (df_get_regular_block_artificial_uses): Likewise.
+ (df_get_entry_block_def_set, df_get_exit_block_use_set): Likewise.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (handle_alias_pairs): New function.
+ (cgraph_finalize_compilation_unit): Use it.
+ * ipa.c (cgraph_externally_visible_p): Remove hack marking asm names
+ as externally visible.
+
+2011-06-15 Richard Guenther <rguenther@suse.de>
+
+ * expr.c (expand_expr_real_2): Reduce all integral types to
+ bitfield precision.
+ (expand_expr_real_1): Likewise.
+
+2011-06-15 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/48613
+ * ipa-prop.c (ipa_prop_write_jump_functions): Return immediately if
+ ipa_node_params_vector is NULL.
+
+2011-06-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49382
+ * dwarf2out.c (dw_loc_list_node): Add force field.
+ (add_var_loc_to_decl): For PARM_DECL, attempt to keep the incoming
+ location in the list, even if it is modified before first real insn.
+ (output_loc_list): Emit empty ranges with force flag set.
+ (dw_loc_list): If first range of a PARM_DECL is empty, set force flag.
+
+2011-06-15 Alexander Monakov <amonakov@ispras.ru>
+
+ PR target/49349
+ * sel-sched.c (find_place_for_bookkeeping): Add new parameter
+ (fence_to_rewind). Use it to notice when bookkeeping will be placed
+ above a fence. Update comments.
+ (generate_bookkeeping_insn): Rewind fence when bookkeeping code is
+ placed just above it. Do not allow NULL place_to_insert.
+
+2011-06-15 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-loop-manip.c (remove_dead_stmts_from_loop): Remove.
+ (slpeel_tree_peel_loop_to_edge): Don't call
+ remove_dead_stmts_from_loop.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
+ remove irrelevant pattern statements. For irrelevant statements
+ check if it is the last statement of a detected pattern, use
+ corresponding pattern statement instead.
+ (destroy_loop_vec_info): No need to remove pattern statements,
+ only free stmt_vec_info.
+ (vect_transform_loop): For irrelevant statements check if it is
+ the last statement of a detected pattern, use corresponding
+ pattern statement instead.
+ * tree-vect-patterns.c (vect_pattern_recog_1): Don't insert
+ pattern statements. Set basic block for the new statement.
+ (vect_pattern_recog): Update documentation.
+ * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Scan
+ operands of pattern statements.
+ (vectorizable_call): Fix printing. In case of a pattern statement
+ use the lhs of the original statement when creating a dummy
+ statement to replace the original call.
+ (vect_analyze_stmt): For irrelevant statements check if it is
+ the last statement of a detected pattern, use corresponding
+ pattern statement instead.
+ * tree-vect-slp.c (vect_schedule_slp_instance): For pattern
+ statements use gsi of the original statement.
+
+2011-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * target-def.h (TARGET_HAVE_NAMED_SECTIONS): Move to
+ common/common-target-def.h.
+ * target.def (default_target_flags, handle_option,
+ supports_split_stack, optimization_table, init_struct,
+ except_unwind_info, unwind_tables_default, have_named_sections):
+ Move to common/common-target.def.
+ * target.h (enum opt_levels, struct default_options): Move to
+ common/common-target.h.
+ * targhooks.c (default_except_unwind_info,
+ dwarf2_except_unwind_info, sjlj_except_unwind_info,
+ default_target_handle_option, empty_optimization_table): Move to
+ common/common-targhooks.c.
+ * targhooks.h (default_except_unwind_info,
+ dwarf2_except_unwind_info, sjlj_except_unwind_info,
+ default_target_handle_option, empty_optimization_table): Move to
+ common/common-targhooks.h.
+ * common/common-target-def.h: Include common/common-targhooks.h.
+ (TARGET_HAVE_NAMED_SECTIONS): Define if TARGET_ASM_NAMED_SECTION
+ defined.
+ * common/common-target.def (handle_option, option_init_struct,
+ option_optimization_table, default_target_flags,
+ except_unwind_info, supports_split_stack, unwind_tables_default,
+ have_named_sections): Move from target.def.
+ (HOOK_PREFIX): Undefine at end of file.
+ * common/common-target.h: Include input.h.
+ (enum opt_levels, struct default_options): Move from target.h.
+ * common/common-targhooks.c, common/common-targhooks.h: New.
+ * config.gcc (target_has_targetm_common): Default to yes.
+ (moxie*): Set target_has_targetm_common=no.
+ (hppa*-*-*): Don't set target_has_targetm_common=yes.
+ * doc/tm.texi: Regenerate.
+ * Makefile.in (COMMON_TARGET_H): Add $(INPUT_H).
+ (C_TARGET_DEF_H): Add common/common-targhooks.h.
+ (GCC_OBJS): Remove vec.o.
+ (OBJS): Remove hooks.o and vec.o.
+ (OBJS-libcommon-target): Add vec.o, hooks.o and
+ common/common-targhooks.o.
+ (c-family/c-common.o, c-family/c-cppbuiltin.o, lto-opts.o, tree.o,
+ tree-tailcall.o, opts.o, toplev.o, varasm.o, function.o, except.o,
+ expr.o, explow.o, dbxout.o, dwarf2out.o, cfgrtl.o, haifa-sched.o,
+ cfglayout.o, $(out_object_file), $(common_out_object_file)):
+ Update dependencies.
+ (common/common-targhooks.o): New.
+ * common/config/default-common.c: Include tm.h. Add FIXME comment.
+ * common/config/pa/pa-common.c: Include more headers. Take
+ copyright dates from pa.c.
+ (pa_option_optimization_table, pa_handle_option,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_HANDLE_OPTION): Move from pa.c.
+ * common/config/alpha/alpha-common.c,
+ common/config/arm/arm-common.c, common/config/avr/avr-common.c,
+ common/config/bfin/bfin-common.c,
+ common/config/cris/cris-common.c,
+ common/config/fr30/fr30-common.c, common/config/frv/frv-common.c,
+ common/config/h8300/h8300-common.c,
+ common/config/i386/i386-common.c,
+ common/config/ia64/ia64-common.c,
+ common/config/iq2000/iq2000-common.c,
+ common/config/lm32/lm32-common.c,
+ common/config/m32c/m32c-common.c,
+ common/config/m32r/m32r-common.c,
+ common/config/m68k/m68k-common.c,
+ common/config/mcore/mcore-common.c,
+ common/config/mep/mep-common.c,
+ common/config/microblaze/microblaze-common.c,
+ common/config/mips/mips-common.c,
+ common/config/mmix/mmix-common.c,
+ common/config/mn10300/mn10300-common.c,
+ common/config/pdp11/pdp11-common.c,
+ common/config/picochip/picochip-common.c,
+ common/config/rs6000/rs6000-common.c,
+ common/config/rx/rx-common.c, common/config/s390/s390-common.c,
+ common/config/score/score-common.c, common/config/sh/sh-common.c,
+ common/config/sparc/sparc-common.c,
+ common/config/spu/spu-common.c, common/config/v850/v850-common.c,
+ common/config/vax/vax-common.c,
+ common/config/xstormy16/xstormy16-common.c,
+ common/config/xtensa/xtensa-common.c: New.
+ * config/alpha/alpha.c: Include common/common-target.h.
+ (alpha_option_optimization_table, alpha_handle_option,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE): Move to alpha-common.c.
+ * config/arm/arm-protos.h (arm_except_unwind_info): Declare.
+ * config/arm/arm.c (arm_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_EXCEPT_UNWIND_INFO, arm_except_unwind_info): Move to
+ arm-common.c.
+ * config/avr/avr.c (avr_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
+ to avr-common.c.
+ * config/bfin/bfin.c (struct bfin_cpu): Move to bfin.h.
+ (bfin_cpus, bfin_handle_option, TARGET_HANDLE_OPTION,
+ TARGET_DEFAULT_TARGET_FLAGS): Move to bfin-common.c.
+ * config/bfin/bfin.h struct bfin_cpu): Move from bfin.c.
+ * config/cris/cris.c (cris_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE, cris_handle_option): Move to
+ cris-common.c.
+ * config/fr30/fr30.c (fr30_option_optimization_table,
+ TARGET_EXCEPT_UNWIND_INFO, TARGET_OPTION_OPTIMIZATION_TABLE): Move
+ to fr30-common.c.
+ * config/frv/frv.c (frv_option_optimization_table,
+ MASK_DEFAULT_ALLOC_CC, TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_OPTION_OPTIMIZATION_TABLE): Move to frv-common.c.
+ * config/h8300/h8300.c (h8300_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_EXCEPT_UNWIND_INFO): Move to h8300-common.c.
+ * config/i386/i386-protos.h (ix86_handle_option): Declare.
+ * config/i386/i386.c: Include common/common-target.h.
+ (OPTION_MASK_ISA_MMX_SET, OPTION_MASK_ISA_3DNOW_SET,
+ OPTION_MASK_ISA_SSE_SET, OPTION_MASK_ISA_SSE2_SET,
+ OPTION_MASK_ISA_SSE3_SET, OPTION_MASK_ISA_SSSE3_SET,
+ OPTION_MASK_ISA_SSE4_1_SET, OPTION_MASK_ISA_SSE4_2_SET,
+ OPTION_MASK_ISA_AVX_SET, OPTION_MASK_ISA_FMA_SET,
+ OPTION_MASK_ISA_SSE4_SET, OPTION_MASK_ISA_SSE4A_SET,
+ OPTION_MASK_ISA_FMA4_SET, OPTION_MASK_ISA_XOP_SET,
+ OPTION_MASK_ISA_LWP_SET, OPTION_MASK_ISA_AES_SET,
+ OPTION_MASK_ISA_PCLMUL_SET, OPTION_MASK_ISA_ABM_SET,
+ OPTION_MASK_ISA_BMI_SET, OPTION_MASK_ISA_TBM_SET,
+ OPTION_MASK_ISA_POPCNT_SET, OPTION_MASK_ISA_CX16_SET,
+ OPTION_MASK_ISA_SAHF_SET, OPTION_MASK_ISA_MOVBE_SET,
+ OPTION_MASK_ISA_CRC32_SET, OPTION_MASK_ISA_FSGSBASE_SET,
+ OPTION_MASK_ISA_RDRND_SET, OPTION_MASK_ISA_F16C_SET,
+ OPTION_MASK_ISA_MMX_UNSET, OPTION_MASK_ISA_3DNOW_UNSET,
+ OPTION_MASK_ISA_3DNOW_A_UNSET, OPTION_MASK_ISA_SSE_UNSET,
+ OPTION_MASK_ISA_SSE2_UNSET, OPTION_MASK_ISA_SSE3_UNSET,
+ OPTION_MASK_ISA_SSSE3_UNSET, OPTION_MASK_ISA_SSE4_1_UNSET,
+ OPTION_MASK_ISA_SSE4_2_UNSET, OPTION_MASK_ISA_AVX_UNSET,
+ OPTION_MASK_ISA_FMA_UNSET, OPTION_MASK_ISA_SSE4_UNSET,
+ OPTION_MASK_ISA_SSE4A_UNSET, OPTION_MASK_ISA_FMA4_UNSET,
+ OPTION_MASK_ISA_XOP_UNSET, OPTION_MASK_ISA_LWP_UNSET,
+ OPTION_MASK_ISA_AES_UNSET, OPTION_MASK_ISA_PCLMUL_UNSET,
+ OPTION_MASK_ISA_ABM_UNSET, OPTION_MASK_ISA_BMI_UNSET,
+ OPTION_MASK_ISA_TBM_UNSET, OPTION_MASK_ISA_POPCNT_UNSET,
+ OPTION_MASK_ISA_CX16_UNSET, OPTION_MASK_ISA_SAHF_UNSET,
+ OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_CRC32_UNSET,
+ OPTION_MASK_ISA_FSGSBASE_UNSET, OPTION_MASK_ISA_RDRND_UNSET,
+ OPTION_MASK_ISA_F16C_UNSET, ix86_handle_option,
+ ix86_option_optimization_table, ix86_option_init_struct,
+ ix86_supports_split_stack, TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_OPTION_INIT_STRUCT, TARGET_SUPPORTS_SPLIT_STACK): Move to
+ i386-common.c.
+ * config/i386/t-i386 (i386.o): Update dependencies.
+ * config/ia64/ia64-protos.h (ia64_except_unwind_info): Declare.
+ * config/ia64/ia64.c (ia64_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ ia64_handle_option): Move to ia64-common.c.
+ * config/iq2000/iq2000.c (iq2000_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): Move to iq2000-common.c.
+ * config/lm32/lm32.c (lm32_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO): Move
+ to lm32-common.c.
+ * config/m32c/m32c.c (TARGET_HAVE_NAMED_SECTIONS): Move to
+ m32c-common.c.
+ * config/m32r/m32r.c (m32r_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_EXCEPT_UNWIND_INFO,
+ m32r_handle_option): Move to m32r-common.c.
+ (m32r_memory_move_cost): Remove comment referring to
+ TARGET_HANDLE_OPTION.
+ * config/m68k/m68k.c (TARGET_HANDLE_OPTION, m68k_handle_option):
+ Move to m68k-common.c.
+ * config/mcore/mcore.c (mcore_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_EXCEPT_UNWIND_INFO): Move to mcore-common.c.
+ * config/mep/mep.c (mep_option_optimization_table,
+ mep_handle_option, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_DEFAULT_TARGET_FLAGS):
+ Move to mep-common.c.
+ * config/microblaze/microblaze.c
+ (microblaze_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_EXCEPT_UNWIND_INFO): Move to microblaze-common.c.
+ * config/mips/mips.c (mips_handle_option,
+ mips_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Move to
+ mips-common.c.
+ * config/mmix/mmix.c (mmix_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
+ Move to mmix-common.c.
+ * config/mn10300/mn10300.c (mn10300_option_optimization_table,
+ mn10300_handle_option, TARGET_EXCEPT_UNWIND_INFO,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE): Move to mn10300-common.c.
+ * config/pa/pa.c: Include common/common-target.h.
+ (pa_option_optimization_table, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ pa_handle_option): Move to pa-common.c.
+ (pa_option_override): Use targetm_common.except_unwind_info.
+ (pa_asm_output_mi_thunk, pa_function_section): Use
+ targetm_common.have_named_sections.
+ * config/pdp11/pdp11.c (pdp11_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
+ pdp11_handle_option, pdp11_option_init_struct): Move to
+ pdp11-common.c.
+ * config/picochip/picochip.c (picochip_option_optimization_table,
+ TARGET_HAVE_NAMED_SECTIONS, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_EXCEPT_UNWIND_INFO): Move to picochip-common.c.
+ * config/rs6000/rs6000.c: Include common/common-target.h.
+ (rs6000_option_optimization_table, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_INIT_STRUCT, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_DEFAULT_TARGET_FLAGS, rs6000_option_init_struct,
+ rs6000_handle_option): Move to rs6000-common.c.
+ * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
+ * config/rx/rx.c (rx_handle_option, rx_option_optimization_table,
+ TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_EXCEPT_UNWIND_INFO): Move to rx-common.c.
+ * config/s390/s390.c (processor_flags_table,
+ s390_option_optimization_table, s390_option_init_struct,
+ s390_handle_option, TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE,
+ TARGET_OPTION_INIT_STRUCT): Move to s390-common.c.
+ * config/s390/s390.h (processor_flags_table): Declare.
+ * config/score/score.c (score_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ TARGET_OPTION_OPTIMIZATION_TABLE, MASK_ALL_CPU_BITS,
+ score_handle_option): Move to score-common.c.
+ * config/sh/sh.c (sh_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE, TARGET_OPTION_INIT_STRUCT,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION,
+ sh_handle_option, sh_option_init_struct): Move to sh-common.c.
+ * config/sparc/sparc.c: Include common/common-target.h.
+ (sparc_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_OPTION_OPTIMIZATION_TABLE): Move to sparc-common.c.
+ * config/spu/spu.c (TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_OPTION_INIT_STRUCT, TARGET_EXCEPT_UNWIND_INFO,
+ spu_option_init_struct): Move to spu-common.c.
+ * config/stormy16/stormy16.c (xstorym16_option_optimization_table,
+ TARGET_OPTION_OPTIMIZATION_TABLE): Move to xstormy16-common.c.
+ * config/v850/v850.c (small_memory_physical_max,
+ v850_handle_memory_optionn v850_handle_option,
+ v850_option_optimization_table, TARGET_DEFAULT_TARGET_FLAGS,
+ TARGET_HANDLE_OPTION, TARGET_OPTION_OPTIMIZATION_TABLE): Move to
+ v850-common.c.
+ * config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Move to vax-common.c.
+ * config/xtensa/xtensa.c (xtensa_option_optimization_table,
+ TARGET_DEFAULT_TARGET_FLAGS, TARGET_OPTION_OPTIMIZATION_TABLE):
+ Move to xtensa-common.c.
+ * cfglayout.c: Include common/common-target.h.
+ (fixup_reorder_chain): Use targetm_common.have_named_sections.
+ * cfgrtl.c: Include common/common-target.h.
+ (force_nonfallthru_and_redirect, commit_one_edge_insertion): Use
+ targetm_common.have_named_sections.
+ * dbxout.c: Include common/common-target.h.
+ (dbxout_function_end): Use targetm_common.have_named_sections.
+ * defaults.h (STACK_OLD_CHECK_PROTECT, STACK_CHECK_PROTECT): Use
+ targetm_common.except_unwind_info.
+ * dwarf2out.c: Include common/common-target.h.
+ (dwarf2out_do_frame, dwarf2out_do_cfi_asm,
+ dwarf2out_begin_prologue, dwarf2out_frame_init,
+ dwarf2out_frame_finish, dwarf2out_assembly_start): Use
+ targetm_common.except_unwind_info.
+ * except.c: Include common/common-target.h.
+ (init_eh, finish_eh_generation,
+ output_one_function_exception_table): Use
+ targetm_common.except_unwind_info.
+ (switch_to_exception_section): Use targetm_common.have_named_sections.
+ * explow.c: Include common/common-target.h.
+ * expr.c: Include common/common-target.h.
+ (build_personality_function): Use targetm_common.except_unwind_info.
+ * function.c: Include common/common-target.h.
+ (expand_function_end): Use targetm_common.except_unwind_info.
+ * haifa-sched.c: Include common/common-target.h.
+ (sched_create_recovery_edges): Use targetm_common.have_named_sections.
+ * lto-opts.c: Include common/common-target.h instead of target.h.
+ (lto_reissue_options): Use targetm_common.handle_option.
+ * opts.c: Include common/common-target.h.
+ (target_handle_option): Use targetm_common.handle_option.
+ (init_options_struct): Update comment referring to
+ targetm.target_option.optimization. Use
+ targetm_common.default_target_flags,
+ targetm_common.unwind_tables_default and
+ targetm_common.option_init_struct.
+ (default_options_optimization): Use
+ targetm_common.option_optimization_table.
+ (finish_options): Use targetm_common.except_unwind_info,
+ targetm_common.unwind_tables_default,
+ targetm_common.have_named_sections and
+ targetm_common.supports_split_stack.
+ * toplev.c: Include common/common-target.h.
+ (process_options): Use targetm_common.have_named_sections.
+ * tree-tailcall.c: Include common/common-target.h.
+ (suitable_for_tail_call_opt_p): Use targetm_common.except_unwind_info.
+ * tree.c: Include common/common-target.h.
+ (build_common_builtin_nodes): Use targetm_common.except_unwind_info.
+ * varasm.c: Include common/common-target.h.
+ (resolve_unique_section, hot_function_section,
+ default_function_section): Use targetm_common.have_named_sections.
+
+2011-06-14 Easwaran Raman <eraman@google.com>
+
+ PR rtl-optimization/44194
+ * dse.c: Include tree-flow.h
+ (insn_info): Add new field non_frame_wild_read.
+ (group_info): Add new fields escaped_n and escaped_p.
+ (kill_on_calls): New variable.
+ (get_group_info): Initialize gi->escaped_n and gi->escaped_p.
+ (dse_step0): Initialize kill_on_calls.
+ (can_escape): New function.
+ (set_usage_bits): Add additional parameter; record information
+ about escaped locations.
+ (record_store): Pass EXPR corresponding to MEM to set_usage_bits.
+ (dse_step2_nospill): Set kill_on_calls based on
+ group->escaped_n and group->escaped_n.
+ (add_wild_read): Refactor into...
+ (reset_active_stores): ... New function, and
+ (free_read_records): ... New function.
+ (add_non_frame_wild_read): New function.
+ (scan_insn): Call add_non_frame_wild_read on non-const calls.
+ (scan_reads_nospill): Handle instructions with non_frame_wild_read.
+ (dse_step5_nospill): Call scan_reads_nospill for instructions
+ marked as non_frame_wild_read.
+ (dse_step7): Free escaped_n, escaped_p and kill_on_calls bitmaps.
+
+2011-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * common/common-target-def.h, common/common-target.def,
+ common/common-target.h, common/config/default-common.c,
+ common/config/pa/pa-common.c: New files.
+ * Makefile.in (common_out_file, common_out_object_file,
+ COMMON_TARGET_H, COMMON_TARGET_DEF_H): New.
+ (OBJS-libcommon-target): Include $(common_out_object_file).
+ (prefix.o): Update dependencies.
+ ($(common_out_object_file), common/common-target-hooks-def.h,
+ s-common-target-hooks-def-h): New.
+ (s-tm-texi): Also check timestamp on common-target.def.
+ (build/genhooks.o): Update dependencies.
+ * config.gcc (common_out_file, target_has_targetm_common): Define.
+ * config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with
+ TARGET_ALWAYS_STRIP_DOTDOT.
+ * configure.ac (common_out_object_file): Define.
+ (common_out_file, common_out_object_file): Substitute.
+ (common): Create directory.
+ * configure: Regenerate.
+ * doc/tm.texi.in (targetm_common): Document.
+ (TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry.
+ * doc/tm.texi: Regenerate.
+ * genhooks.c (hook_array): Also include common/common-target.def.
+ * prefix.c (tm.h): Don't include.
+ (common/common-target.h): Include.
+ (ALWAYS_STRIP_DOTDOT): Don't define.
+ (update_path): Use targetm_common.always_strip_dotdot instead of
+ ALWAYS_STRIP_DOTDOT.
+ * system.h (ALWAYS_STRIP_DOTDOT): Poison.
+
+2011-06-14 David Li <davidxl@google.com>
+
+ * passes.c (execute_function_todo): Remove TODO_dump_func.
+ (execute_one_pass): Remove TODO_dump_func.
+ (execute_function_dump): New function.
+ * tree-vrp.c: Remove TODO_dump_func.
+ * regrename.c: Remove TODO_dump_func.
+ * fwprop.c: Remove TODO_dump_func.
+ * tree-into-ssa.c: Remove TODO_dump_func.
+ * tree-complex.c: Remove TODO_dump_func.
+ * tracer.c: Remove TODO_dump_func.
+ * tree-loop-distribution.c: Remove TODO_dump_func.
+ * postreload-gcse.c: Remove TODO_dump_func.
+ * postreload.c: Remove TODO_dump_func.
+ * tree-ssa-loop-ch.c: Remove TODO_dump_func.
+ * tree-tailcall.c: Remove TODO_dump_func.
+ * ipa-cp.c: Remove TODO_dump_func.
+ * final.c: Remove TODO_dump_func.
+ * tree-emutls.c: Remove TODO_dump_func.
+ * omp-low.c: Remove TODO_dump_func.
+ * tree-ssa-dse.c: Remove TODO_dump_func.
+ * tree-ssa-uncprop.c: Remove TODO_dump_func.
+ * auto-inc-dec.c: Remove TODO_dump_func.
+ * reorg.c: Remove TODO_dump_func.
+ * tree-ssa-copyrename.c: Remove TODO_dump_func.
+ * tree-ssa-ccp.c: Remove TODO_dump_func.
+ * compare-elim.c: Remove TODO_dump_func.
+ * mode-switching.c: Remove TODO_dump_func.
+ * modulo-sched.c: Remove TODO_dump_func.
+ * tree-call-cdce.c: Remove TODO_dump_func.
+ * cse.c: Remove TODO_dump_func.
+ * web.c: Remove TODO_dump_func.
+ * tree-stdarg.c: Remove TODO_dump_func.
+ * lto-streamer-out.c: Remove TODO_dump_func.
+ * tree-ssa-math-opts.c: Remove TODO_dump_func.
+ * tree-ssa-dom.c: Remove TODO_dump_func.
+ * tree-nrv.c: Remove TODO_dump_func.
+ * loop-init.c: Remove TODO_dump_func.
+ * gimple-low.c: Remove TODO_dump_func.
+ * ipa-inline.c: Remove TODO_dump_func.
+ * tree-ssa-sink.c: Remove TODO_dump_func.
+ * jump.c: Remove TODO_dump_func.
+ * ifcvt.c: Remove TODO_dump_func.
+ * tree-ssa-loop.c: Remove TODO_dump_func.
+ * recog.c: Remove TODO_dump_func.
+ * dse.c: Remove TODO_dump_func.
+ * tree-ssa-ifcombine.c: Remove TODO_dump_func.
+ * matrix-reorg.c: Remove TODO_dump_func.
+ * tree-eh.c: Remove TODO_dump_func.
+ * regmove.c: Remove TODO_dump_func.
+ * function.c: Remove TODO_dump_func.
+ * tree-vectorizer.c: Remove TODO_dump_func.
+ * ipa-split.c: Remove TODO_dump_func.
+ * gcse.c: Remove TODO_dump_func.
+ * tree-if-conv.c: Remove TODO_dump_func.
+ * init-regs.c: Remove TODO_dump_func.
+ * tree-ssa-phiopt.c: Remove TODO_dump_func.
+ * implicit-zee.c: Remove TODO_dump_func.
+ * lower-subreg.c: Remove TODO_dump_func.
+ * bt-load.c: Remove TODO_dump_func.
+ * tree-dfa.c: Remove TODO_dump_func.
+ * except.c: Remove TODO_dump_func.
+ * emit-rtl.c: Remove TODO_dump_func.
+ * store-motion.c: Remove TODO_dump_func.
+ * cfgexpand.c: Remove TODO_dump_func.
+ * tree-cfgcleanup.c: Remove TODO_dump_func.
+ * cfgcleanup.c: Remove TODO_dump_func.
+ * tree-ssa-pre.c: Remove TODO_dump_func.
+ * tree-sra.c: Remove TODO_dump_func.
+ * tree-mudflap.c: Remove TODO_dump_func.
+ * tree-ssa-copy.c: Remove TODO_dump_func.
+ * cfglayout.c: Remove TODO_dump_func.
+ * tree-ssa-forwprop.c: Remove TODO_dump_func.
+ * tree-ssa-dce.c: Remove TODO_dump_func.
+ * ira.c: Remove TODO_dump_func.
+ * tree-ssa.c: Remove TODO_dump_func.
+ * integrate.c: Remove TODO_dump_func.
+ * tree-optimize.c: Remove TODO_dump_func.
+ * tree-ssa-phiprop.c: Remove TODO_dump_func.
+ * tree-object-size.c: Remove TODO_dump_func.
+ * combine.c: Remove TODO_dump_func.
+ * bb-reorder.c: Remove TODO_dump_func.
+ * cprop.c: Remove TODO_dump_func.
+ * var-tracking.c: Remove TODO_dump_func.
+ * tree-profile.c: Remove TODO_dump_func.
+ * tree-vect-generic.c: Remove TODO_dump_func.
+ * reg-stack.c: Remove TODO_dump_func.
+ * sched-rgn.c: Remove TODO_dump_func.
+ * tree-ssa-structalias.c: Remove TODO_dump_func.
+ * tree-switch-conversion.c: Remove TODO_dump_func.
+ * tree-cfg.c: Remove TODO_dump_func.
+ * tree-ssa-reassoc.c: Remove TODO_dump_func.
+ * combine-stack-adj.c: Remove TODO_dump_func.
+ * dce.c: Remove TODO_dump_func.
+ * tree-ssanames.c: Remove TODO_dump_func.
+ * regcprop.c: Remove TODO_dump_func.
+
+2011-06-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47364
+ * builtins.c (expand_builtin_strlen): Expand strlen to Pmode
+ and properly handle result not in Pmode.
+
+2011-06-14 Robert Millan <rmh@gnu.org>
+
+ * config/i386/kfreebsd-gnu.h: Resync with `config/i386/linux.h'.
+ * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER): Resync with
+ `config/linux.h'.
+
+ * config/i386/kfreebsd-gnu64.h: New file.
+ * config.gcc (x86_64-*-kfreebsd*-gnu): Replace `i386/kfreebsd-gnu.h'
+ with `i386/kfreebsd-gnu64.h'.
+
+ * config/i386/linux64.h (GNU_USER_LINK_EMULATION32)
+ (GNU_USER_LINK_EMULATION64): New macros.
+ * config/i386/gnu-user64.h (LINK_SPEC): Rely on
+ `GNU_USER_LINK_EMULATION32' and `GNU_USER_LINK_EMULATION64' instead
+ of hardcoding `elf_i386' and `elf_x86_64'.
+
+2011-06-14 Nick Clifton <nickc@redhat.com>
+
+ PR target/49403
+ * config/v850/v850.c (v850_memory_move_cost): Add reg_class_t parameter.
+
+ PR target/49402
+ * config.gcc(v850*-*-*): Avoid duplication of v850.opt.
+
+2011-06-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49103
+ * tree.h (DECL_NONSHAREABLE): Define.
+ (struct tree_decl_common): Change decl_common_unused to
+ decl_nonshareable_flag.
+ * cfgexpand.c (expand_used_vars_for_block, clear_tree_used):
+ Ignore vars with DECL_NONSHAREABLE bit set.
+ * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE
+ on stores to automatic aggregate vars.
+
+ PR rtl-optimization/49390
+ Revert:
+ 2010-06-29 Bernd Schmidt <bernds@codesourcery.com>
+
+ * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare
+ MEM_ALIAS_SET.
+
+2011-06-14 Zdenek Dvorak <ook@ucw.cz>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * cfgloop.h (nb_iterations_upper_bound, nb_iterations_estimate):
+ Document changed semantics.
+ (max_stmt_executions, max_stmt_executions_int): Declare.
+ * tree-data-ref.c (estimated_loop_iterations)
+ (estimated_loop_iterations_int): Move functions...
+ * tree-ssa-loop-niter.c (estimated_loop_iterations)
+ (estimated_loop_iterations_int): here.
+ (record_estimate): Change nb_iterations_upper_bound and
+ nb_iterations_estimate semantics.
+ (max_stmt_executions, max_stmt_executions_int): New function.
+ * tree-data-ref.c (estimated_loop_iterations_tree): Rename to ...
+ (max_stmt_executions_tree): this.
+ (analyze_miv_subscript): Use max_stmt_executions_tree instead of
+ estimated_loop_iterations_tree.
+ tree-ssa-loop-ivopts.c (avg_loop_niter): Use
+ max_stmt_executions_int instead of estimated_loop_iterations_int.
+ * predict.c (predict_loops): Idem.
+ * tree-parloops.c (parallelize_loops): Idem.
+ * tree-data-ref.c (analyze_siv_subscript_cst_affine)
+ (compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine)
+ (init_omega_for_ddr_1): Idem.
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse)
+ (loop_prefetch_arrays): Idem
+ * graphite-sese-to-poly.c (build_loop_iteration_domains): Use
+ max_stmt_executions instead of estimated_loop_iterations.
+ * tree-data-ref.c (estimated_loop_iterations_tree): Idem.
+ * tree-vrp.c (adjust_range_with_scev): Use estimated_loop_iterations
+ instead of nb_iterations_upper_bound.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_address_taken_from_non_vtable_p): Check the ref type.
+
+2011-06-14 Richard Henderson <rth@redhat.com>
+
+ PR debug/48459
+ * dwarf2out.c (frame_pointer_fb_offset_valid): New.
+ (based_loc_descr): Assert it's true.
+ (compute_frame_pointer_to_fb_displacement): Set it, rather than
+ aborting immediately.
+
+2011-06-14 Sanjin Liu <scliu@faraday-tech.com>
+ Mingfeng Wu <mingfeng@faraday-tech.com>
+
+ * doc/invoke.texi: Re-add missing -mcpu docs for Faraday cores.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_iterate_stage): Revert accidental commit.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_make_decl_local): Handle DECL_ONE_ONLY
+ similarly to DECL_COMDAT.
+ * cgraphunit.c (cgraph_analyze_function): Likewise.
+ * ipa.c (function_and_variable_visibility): Likewise.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output
+ BINFO_VIRTUALS when streaming for ltrans unit.
+
+2011-06-13 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic.
+ (movdi_internal64): Same.
+
+2011-06-13 Edmar Wienskoski <edmar@freescale.com>
+
+ PR target/44618
+ * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern with
+ a set of similar patterns, where the MATCH_OPERAND for the function
+ argument is replaced with individual references to hardware registers.
+ (save_fpregs_<mode>): Ditto
+ (restore_gpregs_<mode>): Ditto
+ (return_and_restore_gpregs_<mode>): Ditto
+ (return_and_restore_fpregs_<mode>): Ditto
+ (return_and_restore_fpregs_aix_<mode>): Ditto
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-utils.c (postorder_stack): New structure.
+ (ipa_reverse_postorder): Handle aliases.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (reset_edge_caches): Walk aliases.
+ (update_caller_keys): Do not test inlinability of aliases.
+ * ipa-inline-analysis.c (do_estimate_edge_time): Look through alias.
+ (do_estimate_growth): Fix typo.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (+can_remove_node_now_p_1): Break out from...
+ (can_remove_node_now_p): ... here; handle same comdat groups.
+ (clone_inlined_nodes): Update use of can_remove_node_now_p add TODO.
+ (inline_call): Update use of can_remove_node_now_p.
+
+2011-06-13 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+ * config/h8300/h8300.md (bsetqi_msx, bclrqi_msx, bnotqi_msx): Added
+ condition to disallow non-identical memory locations.
+ (*andqi3_2, andqi3_1, iorqi3_1, xorqi3_1): Reorder insn to give
+ preference to bit manipulation instructions.
+
+2011-06-13 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_for_node_thunks_and_aliases,
+ cgraph_for_node_and_aliases): Fix thinko in recursive walking.
+ (nonremovable_p): New function.
+ (cgraph_can_remove_if_no_direct_calls_p): New function.
+ (used_from_object_file_p): New functoin.
+ (cgraph_will_be_removed_from_program_if_no_direct_calls): Look for
+ references from aliases.
+ * cgraph.h (cgraph_can_remove_if_no_direct_calls_p): Bring offline.
+ * ipa-inline.c (check_caller_edge): New function.
+ (want_inline_function_called_once_p): Use it; accept aliases called
+ once, too.
+ * ipa-inline-analysis.c (do_estimate_growth): Remove FIXME.
+
+2011-06-13 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/48454
+ * config/arm/neon.md (vec_pack_trunc): Set the lengths
+ correctly for the case with Quad vectors.
+
+2011-06-13 Jakub Jelinek <jakub@redhat.com>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49352
+ * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at
+ all, make sure loop_use_stmt after the loop is a def stmt of a used
+ SSA_NAME that is the only one defined inside of the loop. Don't
+ check for COND_EXPR and GIMPLE_BINARY_RHS.
+ (vect_is_simple_reduction_1): Call vect_is_slp_reduction only if
+ check_reduction is true.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49373
+ * ipa.c (cgraph_externally_visible_p): Check resolution info.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48836
+ * ipa-inline-transform.c: Include tree-pass.h
+ (inline_transform): Set TODO_update_ssa_only_virtuals.
+ * Makefile.in (ipa-inline-transform.o): Add tree-pass.h.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49378
+ * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p): Rule out
+ aliases and thunks.
+
+2011-06-12 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent):
+ Take number of iterations to peel into account for equally frequent
+ misalignment values.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (produce_symtab): Stream out the newly
+ represented aliases.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting
+ varying args.
+ (ipa_update_after_lto_read): Likewise.
+ (ipa_write_node_info): Do not sream call_with_var_arguments.
+ (ipa_read_node_info): Likewise.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code.
+ (lto_symtab_resolve_can_prevail_p): Likewise.
+ (lto_symtab_merge_cgraph_nodes): Update merging of aliases.
+ * cgraph.c (same_body_aliases_done): New global var.
+ (cgraph_same_body_alias_1): Rename to ...
+ (cgraph_create_function_alias): ... this one; reorg to new
+ representation.
+ (cgraph_same_body_alias): Use cgraph_create_function_alias;
+ record references when asked to.
+ (cgraph_add_thunk): Fix formating.
+ (cgraph_get_node): Kill same body alias code.
+ (cgraph_node_for_asm): Likewise.
+ (cgraph_remove_same_body_alias): Remove.
+ (cgraph_remove_node): Kill same body alias code.
+ (cgraph_mark_address_taken_node): Mark also the aliased function
+ as having address taken.
+ (dump_cgraph_node): Dump same body aliases.
+ (cgraph_for_node_thunks_and_aliases): Update for new alias
+ representation.
+ (cgraph_for_node_and_aliases): Likewise.
+ * cgraph.h (same_body): Kll pointer.
+ (same_body_alias): Update comment.
+ (same_body_aliases_done): Declare.
+ (cgraph_remove_same_body_alias): Remove declaration.
+ (cgraph_create_function_alias): Declare.
+ (cgraph_process_same_body_aliases): Declare.
+ (cgraph_function_with_gimple_body_p): Check for alias.
+ (cgraph_can_remove_if_no_direct_calls_p): Look for aliases.
+ (cgraph_alias_aliased_node): New function.
+ (cgraph_function_node): Update for new aliases.
+ (cgraph_function_or_thunk_node): Likewise.
+ * ipa-inline-transform.c (can_remove_node_now_p): Look for aliases.
+ (inline_call): Remove dead aliases.
+ * cgraphunit.c (cgraph_decide_is_function_needed): Disable assembler
+ name hack for same body aliases.
+ (clone_of_p): Look through aliases.
+ (verify_cgraph_node): Verify aliases.
+ (cgraph_analyze_function): Analyze aliases; fixup C++ bugs.
+ (cgraph_process_same_body_aliases): New function.
+ (process_function_and_variable_attributes): Disable weakref warning on
+ alias.
+ (cgraph_analyze_functions): Handle aliases.
+ (cgraph_mark_functions_to_output): Handle aliases same way as thunks.
+ (assemble_thunks): Rename to ...
+ (assemble_thunks_and_aliases): ... this one; handle aliases, too.
+ (cgraph_expand_function): Remove alias output code.
+ (cgraph_output_in_order): Skip aliases.
+ (cgraph_preserve_function_body_p): Aliases don't need preserving.
+ * ipa-ref.c (ipa_ref_use_name): Add alias reference.
+ (ipa_record_reference): Do not assert on alias references.
+ (ipa_ref_has_aliases_p): New function.
+ * ipa-ref.h (enum ipa_ref_use): Add IPA_REF_ALIAS.
+ (ipa_ref_has_aliases_p): Declare.
+ * lto-cgraph.c (lto_output_node): Handle aliases.
+ (input_node): Likewise.
+ * lto-streamer-out.c (lto_output): Skip aliases.
+ (produce_symtab): Kill same_body_alias code.
+ * ipa-utils.c (ipa_reverse_postorder): Add FIXME.
+ (ipa_reverse_postorder): Use cgraph_only_called_directly_or_aliased_p.
+ * ipa-inline.c (update_caller_keys): Walk aliases.
+ (inline_small_functions): Fix thinko in previous patch.
+ * ipa.c (cgraph_externally_visible_p): Do not walk aliases.
+ (function_and_variable_visibility): Do not walk same body aliases.
+ * tree-ssa-structalias.c (associate_varinfo_to_alias): New function.
+ (ipa_pta_execute): Use it.
+
+2011-06-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (vec_dupv4sf): Correct mode of forced register.
+ (*vec_dupv2df): Rename from vec_dupv2df.
+ (vec_dupv2df): New expander.
+
+2011-06-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P.
+
+2011-06-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Use default value in "isa" attribute.
+ * config/i386/sse.md: Ditto.
+ * config/i386/mmx.md: Ditto.
+
+2011-06-10 Wei Guozhi <carrot@google.com>
+
+ PR target/45335
+ * config/arm/ldmstm.md (ldm2_ia, stm2_ia, ldm2_ib, stm2_ib, ldm2_da,
+ stm2_da, ldm2_db, stm2_db): Add condition !arm_arch7 to these insns.
+ (ldrd, ldrd_reg1, ldrd_reg2 and peephole2): New insn patterns and
+ related peephole2.
+ (strd, strd_reg1, strd_reg2 and peephole2): New insn patterns and
+ related peephole2.
+ * config/arm/arm-protos.h (arm_check_ldrd_operands): New prototype.
+ (arm_legitimate_ldrd_p): New prototype.
+ (arm_output_ldrd): New prototype.
+ * config/arm/arm.c (arm_check_ldrd_operands): New function.
+ (arm_legitimate_ldrd_p): New function.
+ (arm_output_ldrd): New function.
+
+2011-06-10 David Li <davidxl@google.com>
+
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
+ * passes.c (passr_eq): New function.
+ (create_pass_tab): New function.
+ (pass_traverse): New function.
+ (dump_one_pass): New function.
+ (dump_pass_list): New function.
+ (dump_passes): New function.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_set_nothrow_flag_1): Update cgraph after
+ setting the nothrow flag.
+ * ipa-reference.c (propagate): Skip aliases.
+ * ipa-pure-const.c (propagate_pure_const): Skip aliases.
+ (propagate_nothrow): Skip aliases; do not update cgraph.
+ (local_pure_const): Do not update cgraph.
+ * tree-profile.c (tree_profiling): Do fixup_cfg.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa.c (cgraph_non_local_node_p_1): Break out from ...;
+ (cgraph_local_node_p): ... here; handle aliases.
+ (has_addr_references_p): Break out from ...;
+ (cgraph_remove_unreachable_nodes) ... here.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * opts.c (default_options): Enlist OPT_finline_functions_called_once.
+ * common.opt (flag_inline_functions_called_once): Do not
+ initialize to 1.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_versionable_function_p): Thunks are not versionable.
+ (ipcp_initialize_node_lattices): Do not deal with aliases;
+ Do not try to propagate through thunks.
+ (ipcp_change_tops_to_bottom): Do not deal with aliases.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-prop.c (ipa_write_node_info): Stream jump functions
+ for indirect calls.
+ (ipa_read_node_info): Likewise.
+
+2011-06-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR lto/49302
+ * tree-ssa-math-opts.c (powi_as_mults): Minor cleanup.
+ (build_and_insert_call): Likewise.
+ (build_and_insert_ref): New.
+ (gimple_expand_builtin_pow): Minor cleanup.
+ (gimple_expand_builtin_cabs): New.
+ (execute_cse_sincos): Add case for BUILT_IN_CABS.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_versionable_function_p): Aliases are not versionable.
+ (ipcp_cloning_candidate_p): Aliases are not clonning candidates.
+ (ipcp_initialize_node_lattices): We don't propagate through an aliases.
+ (ipcp_propagate_stage): Skip aliases when propagating.
+ (ipcp_need_redirect_p): Skip aliases.
+ (ipcp_insert_stage): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY and
+ collect_callers_of_node.
+ * ipa-prop.c (ipa_init_func_list): Do not analyze datastructures
+ for aliases.
+ (ipa_compute_jump_functions): Look through aliases.
+
+2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords, pie): Document it.
+
+2011-06-10 Hans-Peter Nilsson <hp@axis.com>
+
+ * ira-costs.c: Remove #ifdefs on dead FORBIDDEN_INC_DEC_CLASSES.
+ Adjust comments.
+ * system.h (FORBIDDEN_INC_DEC_CLASSES): Poison.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-cp.c (ipcp_process_devirtualization_opportunities):
+ Update call of gimple_get_virt_method_for_binfo.
+ * gimple-fold.c (gimple_get_virt_method_for_binfo): Remove
+ refuse_thunks parameter.
+ (gimple_fold_call): Update.
+ * ipa-prop.c (try_make_edge_direct_virtual_call): Update.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * tree-sra.c (all_callers_have_enough_arguments_p): Rename to ...
+ (not_all_callers_have_enough_arguments_p): ... this one; turn into
+ worker for cgraph_for_node_and_aliases.
+ (convert_callers_for_node): Break out from ...
+ (convert_callers): ... here.
+ (modify_function): Use collect_callers_of_node.
+ (ipa_early_sra): Use cgraph_for_node_and_aliases.
+
+2011-06-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49361
+ * fold-const.c (fold_binary_loc): Only fold x * x to pow (x, 2.0)
+ when not already in gimple form.
+
+2011-06-10 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/49344
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Use
+ FOR_EACH_PHI_OR_STMT_USE.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (can_remove_node_now_p): Move out of...
+ (clone_inlined_nodes): ... here.
+ (inline_call): Use cgraph_function_or_thunk_node; redirect edge
+ to real destination prior inlining.
+ * ipa-inline.c (caller_growth_limits, can_inline_edge_p,
+ can_early_inline_edge_p, want_early_inline_function_p,
+ want_early_inline_function_p, want_inline_small_function_p,
+ want_inline_self_recursive_call_p, want_inline_function_called_once_p,
+ edge_badness, update_all_callee_keys, lookup_recursive_calls,
+ add_new_edges_to_heap, inline_small_functions, flatten_function,
+ inline_always_inline_functions, early_inline_small_functions): Use
+ cgraph_function_or_thunk_node.
+ * ipa-inline-analysis.c (evaluate_conditions_for_edge,
+ dump_inline_edge_summary, estimate_function_body_sizes): Likewise.
+ (do_estimate_edge_growth_1): Break out from ...
+ (do_estimate_growth) ... here; walk aliases.
+ (inline_generate_summary): Skip aliases.
+
+2011-06-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Scan stmts
+ forward when combining, visit inserted stmts when a stmt was changed.
+
+2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * tree.h (error_operand_p): Add.
+ * dbxout.c (dbxout_type_fields): Use the latter.
+ * c-decl.c (add_stmt): Likewise.
+ * gimplify.c (omp_add_variable, omp_notice_variable,
+ gimplify_scan_omp_clauses): Likewise.
+
+2011-06-10 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c (avr_function_arg_advance): Fix thinko about
+ when a value is actually passed in regs.
+
+2011-06-10 Eric Botcazou <ebotcazou@adacore.com>
+ Laurent Rougé <laurent.rouge@menta.fr>
+
+ * doc/invoke.texi (SPARC options): Add -mflat.
+ * config/sparc/sparc.opt: Likewise.
+ * config/sparc/sparc-protos.h (sparc_expand_epilogue): Add parameter.
+ (sparc_flat_expand_prologue): Declare.
+ (sparc_flat_expand_epilogue): Likewise.
+ * config/sparc/sparc.h (CPP_CPU_SPEC): Do not handle -msoft-float.
+ (CPP_ENDIAN_SPEC): Replace with...
+ (CPP_OTHER_SPEC): ...this. Also handle -mflat and -msoft-float.
+ (CPP_SPEC): Adjust to above change.
+ (EXTRA_SPECS): Likewise.
+ (SPARC_INCOMING_INT_ARG_FIRST): Add TARGET_FLAT handling.
+ (INCOMING_REGNO): Likewise.
+ (OUTGOING_REGNO): Likewise.
+ (LOCAL_REGNO): Likewise.
+ (SETUP_FRAME_ADDRESSES): Likewise.
+ (FIXED_REGISTERS): Set 0 for %fp.
+ (CALL_USED_REGISTERS): Likewise.
+ (INITIAL_ELIMINATION_OFFSET): Pass current_function_is_leaf.
+ (EXIT_IGNORE_STACK): Define to 1 unconditionally.
+ (RETURN_ADDR_REGNUM): Define.
+ (RETURN_ADDR_RTX): Use it.
+ (INCOMING_RETURN_ADDR_REGNUM): Define.
+ (INCOMING_RETURN_ADDR_RTX): Use it.
+ (DWARF_FRAME_RETURN_COLUMN): Likewise.
+ (EH_RETURN_REGNUM): Define.
+ (EH_RETURN_STACKADJ_RTX): Use it.
+ (EH_RETURN_HANDLER_RTX): Delete.
+ (EPILOGUE_USES): Use them and add TARGET_FLAT handling.
+ * config/sparc/sparc.c (apparent_fsize, actual_fsize, num_gfregs):
+ Delete.
+ (struct machine_function): Add frame_size, apparent_frame_size,
+ frame_base_reg, frame_base_offset, n_global_fp_regs and
+ save_local_in_regs_p fields.
+ (sparc_frame_size, sparc_apparent_frame_size, sparc_frame_base_reg,
+ sparc_frame_base_offset, sparc_n_global_fp_regs,
+ sparc_save_local_in_regs_p): New macros.
+ (sparc_option_override): Error out if -fcall-saved-REG is specified
+ for Out registers.
+ (eligible_for_restore_insn): Fix formatting.
+ (eligible_for_return_delay): Likewise. Add TARGET_FLAT handling.
+ (eligible_for_sibcall_delay): Likewise.
+ (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Add MODE parameter.
+ (sparc_legitimate_address_p): Adjust to above change.
+ (save_global_or_fp_reg_p): New predicate.
+ (return_addr_reg_needed_p): Likewise.
+ (save_local_or_in_reg_p): Likewise.
+ (sparc_compute_frame_size): Use them. Add TARGET_FLAT handling.
+ (SORR_SAVE, SORR_RESTORE): Delete.
+ (sorr_pred_t): New typedef.
+ (sorr_act_t): New enum.
+ (save_or_restore_regs): Rename to...
+ (emit_save_or_restore_regs): ...this. Change type of LOW and HIGH
+ parameters, remove ACTION parameter, add LEAF_FUNCTION_P, SAVE_P,
+ ACTION_TRUE and ACTION_FALSE parameters. Implement more general
+ mechanism. Add CFI information for double-word saves in 32-bit mode.
+ (emit_adjust_base_to_offset): New function extracted from...
+ (emit_save_or_restore_regs): ...this. Rename the rest to...
+ (emit_save_or_restore_regs_global_fp_regs): ...this.
+ (emit_save_or_restore_regs_local_in_regs): New function.
+ (gen_create_flat_frame_[123]): New functions.
+ (sparc_expand_prologue): Use SIZE local variable. Adjust.
+ (sparc_flat_expand_prologue): New function.
+ (sparc_asm_function_prologue): Add TARGET_FLAT handling.
+ (sparc_expand_epilogue): Use SIZE local variable. Adjust.
+ (sparc_flat_expand_epilogue): New function.
+ (sparc_can_use_return_insn_p): Add TARGET_FLAT handling.
+ (output_return): Likewise.
+ (output_sibcall): Likewise.
+ (sparc_output_mi_thunk): Likewise.
+ (sparc_frame_pointer_required): Likewise.
+ (sparc_conditional_register_usage): If TARGET_FLAT, disable the leaf
+ function optimization.
+ * config/sparc/sparc.md (flat): New attribute.
+ (prologue): Add TARGET_FLAT handling.
+ (save_register_window): Disable if TARGET_FLAT.
+ (create_flat_frame_[123]): New patterns.
+ (epilogue): Add TARGET_FLAT handling.
+ (sibcall_epilogue): Likewise.
+ (eh_return): New expander.
+ (eh_return_internal): New insn and splitter.
+ (return_internal): Add TARGET_FLAT handling.
+ (untyped_return): Remove bogus test and use RETURN_ADDR_REGNUM.
+ (save_stack_nonlocal): Use RETURN_ADDR_REGNUM.
+ (nonlocal_goto): Add TARGET_FLAT handling.
+ * config/sparc/t-elf: Add -mflat multilib.
+ * config/sparc/t-leon: Likewise.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * ipa-utils.c (searchc): Use cgraph_function_or_thunk_node.
+ * ipa-pure-const.c (analyze_function): Aliases don't need analysis.
+ (self_recursive_p): Use cgraph_function_node.
+ (propagate_pure_const): Likewise.
+ (propagate_nothrow): Likewise.
+ * ipa-reference.c (ipa_reference_get_not_read_global): Use
+ cgraph_function_node.
+ (propagate_bits): Likewise.
+ (propagate): Likewise.
+
+2011-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * config/arm/arm.c (const_ok_for_op): Check to see if mvn can be used.
+ * config/arm/vfp.md (*arm_movdi_vfp): Delete.
+ (*thumb2_movdi_vfp): Delete.
+ (*arm_movdi_vfp_cortexa8): Delete.
+ (*movdi_vfp): Consolidate from *arm_movdi_vfp and *thumb2_movdi_vfp.
+ (*movdi_vfp_cortexa8): Likewise.
+
+2011-06-10 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (initialize_sizetypes): Give names to all
+ sizetype kinds.
+
+2011-06-10 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49318
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Remove
+ irrelevant pattern statements.
+
+2011-06-10 Hans-Peter Nilsson <hp@axis.com>
+
+ * system.h (SETJMP_VIA_SAVE_AREA): Poison.
+
+ PR bootstrap/49354
+ * ira-costs.c (setup_regno_cost_classes_by_mode): Add missing cast
+ to last assignment.
+
+2011-06-09 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_reset_node): Do not set redefined_extern_inline;
+ do not recompute reachable flag.
+ (cgraph_finalize_function, cgraph_analyze_functions): Set
+ redefined_extern_inline here.
+
+2011-06-09 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_only_called_directly_or_aliased_p): Rename from ...
+ (cgraph_only_called_directly_p): ... this one; bring offline.
+ (resolution_used_from_other_file_p, cgraph_used_from_object_file_p,
+ varpool_used_from_object_file_p): Drop names from the declaratoin.
+ (cgraph_for_node_thunks_and_aliases, cgraph_for_node_and_aliases,
+ collect_callers_of_node): New.
+ (cgraph_function_node, cgraph_function_or_thunk_node): New functions.
+ (cgraph_edge_recursive_p): Use cgraph_function_node.
+ * cgraph.c (cgraph_add_thunk): Check that thunk is not already alias.
+ (cgraph_node_cannot_be_local_p_1): Break out from ...
+ (cgraph_node_can_be_local_p): ... here; walk aliases.
+ (cgraph_for_node_thunks_and_aliases): New function.
+ (cgraph_for_node_and_aliases): New function.
+ (cgraph_make_node_local_1): Break out from ...
+ (cgraph_make_node_local) ... here; use
+ cgraph_for_node_thunks_and_aliases.
+ (cgraph_set_nothrow_flag_1): Break out from ...
+ (cgraph_set_nothrow_flag) ... here;
+ use cgraph_for_node_thunks_and_aliases.
+ (cgraph_set_const_flag_1): Break out from ...
+ (cgraph_set_const_flag) ... here;
+ use cgraph_for_node_thunks_and_aliases.
+ (cgraph_set_pure_flag_1): Break out from ...
+ (cgraph_set_pure_flag) ... here;
+ use cgraph_for_node_thunks_and_aliases.
+ (cgraph_propagate_frequency_1): Break out from ...
+ (cgraph_propagate_frequency) ... here; use
+ cgraph_for_node_thunks_and_aliases.
+ (cgraph_used_from_object_file_p): Do not care about aliases.
+ (cgraph_not_only_called_directly_p_1, cgraph_only_called_directly_p):
+ New functions.
+ (collect_callers_of_node_1, collect_callers_of_node): New functions.
+
+2011-06-10 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/49154
+ * config/cris/cris.h (FIXED_REGISTERS): Include CRIS_CC0_REGNUM.
+ (enum reg_class): Add SRP_REGS and MOF_SRP_REGS.
+ (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
+ (PREFERRED_RELOAD_CLASS, SECONDARY_RELOAD_CLASS): Adjust to fit.
+ * config/cris/cris.h (cris_register_move_cost): Remove
+ !TARGET_V32 code. Tweak comments.
+
+2011-06-09 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_eh_tables): Mark personality function as having
+ address taken.
+
+2011-06-10 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/49154
+ * ira-costs.c (setup_regno_cost_classes_by_mode): If there already
+ is a matching slot in the hashtable, assign it to classes_ptr.
+
+ PR rtl-optimization/49154
+ * doc/tm.texi.in (Register Classes): Document rule for the narrowest
+ register classes.
+ * doc/tm.texi: Regenerate.
+
+2011-06-09 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49307
+ * config/sh/sh.md (UNSPEC_CHKADD): New.
+ (chk_guard_add): New define_insn_and_split.
+ (symGOT_load): Use chk_guard_add instead of blockage.
+
+2011-06-09 Kai Tietz <ktietz@redhat.com>
+
+ * libgcc2.c (L_trampoline): Include windows.h for mingw targets.
+
+2011-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (return_internal): Adjust 'length' attribute.
+
+2011-06-09 Wei Guozhi <carrot@google.com>
+
+ PR target/46975
+ * config/arm/arm.md (*addsi3_carryin_compare0_<optab>): New pattern.
+ (peephole2 for conditional move): Generate 16 bit instructions.
+
+2011-06-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdi_internal_rex64): Merge
+ alternatives 6 and 8.
+
+2011-06-09 David Li <davidxl@google.com>
+
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Pass dump.
+ * passes.c (passr_eq): New function.
+ (create_pass_tab): New function.
+ (pass_traverse): New function.
+ (dump_one_pass): New function.
+ (dump_pass_list): New function.
+ (dump_passes): New function.
+
+2011-06-09 David Li <davidxl@google.com>
+
+ * tree-complex.c (tree_lower_complex): Gate cleanup.
+ * tree-stdarg.c (check_all_va_list_escapes): Ditto.
+ (execute_optimize_stdarg): Ditto.
+ * tree-eh.c (execute_lower_eh_dispatch): Ditto.
+ (execute_cleanup_eh_1): Ditto.
+ (execute_cleanup_eh): Ditto.
+ * gcse.c (gate_rtl_pre): Ditto.
+ (execute_rtl_pre): Ditto.
+ * except.c (finish_eh_generation): Ditto.
+ (convert_to_eh_region_ranges): Ditto.
+ * cprop.c (one_cprop_pass): Ditto.
+
+2011-06-09 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/48673
+ * config/ia64/ia64.c (ia64_reorg): Clear BB_DISABLE_SCHEDULE flag
+ in all basic blocks.
+
+2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/netbsd.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/alpha/osf5.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/darwin.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/i386/mingw32.h (MINGW_ENABLE_EXECUTE_STACK): Remove.
+ (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ [IN_LIBGCC2]: Don't include <windows.h>.
+ * config/i386/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/i386/netbsd64.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Remove.
+ * config/openbsd.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/sol2.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/sparc/freebsd.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/sparc/netbsd-elf.h (ENABLE_EXECUTE_STACK): Remove.
+ (HAVE_ENABLE_EXECUTE_STACK): Define.
+ * config/alpha/alpha.c (alpha_trampoline_init): Test
+ HAVE_ENABLE_EXECUTE_STACK.
+ * config/i386/i386.c (ix86_trampoline_init): Likewise.
+ * config/sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
+ (sparc64_initialize_trampoline): Likewise.
+ * libgcc2.c [L_enable_execute_stack]: Remove.
+ * system.h (ENABLE_EXECUTE_STACK): Poison.
+ * doc/tm.texi.in (Trampolines, ENABLE_EXECUTE_STACK): Remove.
+ * doc/tm.texi: Regenerate.
+ * Makefile.in (LIBGCC2_CFLAGS): Add -fbuilding-libgcc.
+
+2011-06-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49308
+ * dce.c (reset_unmarked_insns_debug_uses): Avoid shadowing insn
+ variable. After resetting and rescanning insn continue with previous
+ statement.
+
+2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_hidden): Enable on *-*-darwin*.
+ (gcc_cv_ld_hidden): Likewise.
+ * configure: Regenerate.
+ * config/i386/i386.c (USE_HIDDEN_LINKONCE): Remove TARGET_MACHO.
+ (ix86_stack_protect_fail): Mark unused.
+ (TARGET_STACK_PROTECT_FAIL) [TARGET_MACHO]: Don't redefine.
+ * config/rs6000/rs6000.c (rs6000_assemble_visibility)
+ [TARGET_MACHO]: Don't define.
+ (TARGET_ASM_ASSEMBLE_VISIBILITY): Likewise.
+ (TARGET_STACK_PROTECT_FAIL): Likewise.
+ (rs6000_stack_protect_fail): Mark unused.
+ * dwarf2asm.c (dw2_output_indirect_constant_1): Mark decl hidden if
+ USE_LINKONCE_INDIRECT. Don't emit .hidden expicitly.
+
+2011-06-08 Andi Kleen <ak@linux.intel.com>
+
+ * varasm.c (get_section): Print location of other conflict
+ for section conflicts.
+
+2011-06-08 Andi Kleen <ak@linux.intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu):
+ Add model 0x2d Intel CPU.
+
+2011-06-08 Andi Kleen <ak@linux.intel.com>
+
+ * reginfo.c (global_regs_decl): Add.
+ (globalize_reg): Add decl parameter. Compute location. Pass location
+ to warnings and add inform. Store decl in global_regs_decl.
+ * rtl.h (globalize_reg): Update prototype.
+ * varasm.c (make_decl_rtl): Pass decl to globalize_reg().
+
+2011-06-09 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * treestruct.def (TS_TYPE_DECL): Fix the printable name typo.
+
+2011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49305
+ * config/sh/predicates.md (general_movsrc_operand): Check
+ mode for memory with indexed address for QI and HImode.
+ (general_movdst_operand): Likewise.
+
+2011-06-09 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/objc.texi (Traditional GNU Objective-C runtime API): Updated.
+
+2011-06-08 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-flow-inline.h (op_iter_init): Reject GIMPLE_PHI stmts.
+ (num_ssa_operands): Likewise.
+ (op_iter_init_phiuse): Forward-declare.
+ (delink_stmt_imm_use): Iterate with FOR_EACH_PHI_OR_STMT_USE.
+
+2011-06-08 Nick Clifton <nickc@redhat.com>
+
+ * doc/invoke.texi (ARM Options): Update description of
+ -mthumb-interwork.
+
+2011-06-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/driver-i386.c (host_detect_local_cpu): Support
+ unknown Intel family 0x6 CPUs.
+
+2011-06-08 Martin Jambor <mjambor@suse.cz>
+
+ * tree-sra.c (mark_rw_status): Removed.
+ (analyze_access_subtree): New parameter parent instead of
+ mark_read and mark_write, propagate from that.
+
+2011-06-08 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm.c (arm_libcall_uses_aapcs_base): Use correct ABI
+ for double-precision helper functions in hard-float mode if only
+ single-precision arithmetic is supported in hardware.
+
+2011-06-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/49303
+ * sel-sched.c (move_op): Use correct type for 'res'. Verify that
+ code_motion_path_driver returned 0 or 1.
+ (sel_region_finish): Clear h_d_i_d.
+
+2011-06-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (prepare_move_operands): Set pic register
+ appropriately for global and local dynamic tls models even
+ if flag_pic is unset.
+
+2011-06-07 Jason Merrill <jason@redhat.com>
+
+ * pretty-print.h (ATTRIBUTE_GCC_PPDIAG): Use GCC_DIAG_STYLE if set.
+
+2011-06-07 Xinliang David Li <davidxl@google.com>
+ * passes.c (enable_disable_pass): Handle assembler name.
+ (is_pass_explicitly_enabled_or_disabled): Ditto.
+
+2011-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/48497
+ * doc/sourcebuild.texi (Directives, dg-additional-options): Document.
+
+2011-06-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Change FIXME
+ to use gimple_val_nonnegative_real_p.
+ * gimple-fold.c (gimple_val_nonnegative_real_p): New function.
+ * gimple.h (gimple_val_nonnegative_real_p): New declaration.
+
+2011-06-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*movsf_internal): Optimize AVX check.
+
+2011-06-07 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * config/arm/arm.c (coproc_secondary_reload_class): Return NO_REGS for
+ constant vectors.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (initialize_sizetypes): Initialize all
+ sizetypes based on target definitions.
+ (set_sizetype): Remove.
+ * tree.c (build_common_tree_nodes): Do not call set_sizetype.
+ * tree.h (set_sizetype): Remove.
+
+2011-06-07 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc: Unify V850 architecture options and add support for
+ newer V850 architectures.
+ * config/v850/t-v850e: Delete.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_common_tree_nodes): Also initialize size_type_node.
+ Call set_sizetype from here.
+
+2011-06-07 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.md (*maddhidi4tb, *maddhidi4tt): New define_insns.
+ (*maddhisi4tb, *maddhisi4tt): New define_insns.
+
+2011-06-07 Bernd Schmidt <bernds@codesourcery.com>
+ Andrew Stubbs <ams@codesourcery.com>
+
+ * simplify-rtx.c (simplify_unary_operation_1): Canonicalize widening
+ multiplies.
+ * doc/md.texi (Canonicalization of Instructions): Document widening
+ multiply canonicalization.
+
+2011-06-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/49299
+ * value-prof.c (gimple_ic): Don't assume icall has a fallthru edge.
+
+2011-06-07 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vectorizer.h (vect_recog_func_ptr): Make last argument to be
+ a pointer.
+ * tree-vect-patterns.c (vect_recog_widen_sum_pattern,
+ vect_recog_widen_mult_pattern, vect_recog_dot_prod_pattern,
+ vect_recog_pow_pattern): Likewise.
+ (vect_pattern_recog_1): Remove declaration.
+ (widened_name_p): Remove declaration. Add new argument to specify
+ whether to check that both types are either signed or unsigned.
+ (vect_recog_widen_mult_pattern): Update documentation. Handle
+ unsigned patterns and multiplication by constants.
+ (vect_pattern_recog_1): Update vect_recog_func references. Use
+ statement information from the statement returned from pattern
+ detection functions.
+ (vect_pattern_recog): Update vect_recog_func reference.
+ * tree-vect-stmts.c (vectorizable_type_promotion): For widening
+ multiplication by a constant use the type of the other operand.
+
+2011-06-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/49145
+ * combine.c (make_compound_operation): Handle ZERO_EXTEND specially.
+
+2011-06-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49262
+ * dwarf2out.c (native_encode_initializer): Decrement count in each
+ iteration.
+
+ PR debug/49294
+ * dwarf2out.c (mem_loc_descriptor) <do_shift>: Give up for
+ non-MODE_INT modes.
+
+ PR c++/49264
+ * gimple-fold.c (fold_stmt_1): Don't try to fold *& on the lhs
+ if stmt folded into nothing.
+ * tree-inline.c (fold_marked_statements): If a builtin at the end of
+ a bb folded into nothing, just update cgraph edges and move to next bb.
+ * cgraph.c (cgraph_update_edges_for_call_stmt_node): Allow new_stmt
+ to be NULL. Don't compute count and frequency if new_call is NULL.
+
+2011-06-04 Diego Novillo <dnovillo@google.com>
+
+ * Makefile.in (lto-compress.o): Add dependency on LTO_STREAMER_H.
+ (cgraph.o): Likewise.
+ (cgraphunit.o): Likewise.
+ * cgraphunit.c: Include lto-streamer.h
+ (cgraph_finalize_compilation_unit): Call lto_streamer_hooks_init
+ if LTO is enabled.
+ * lto-streamer-in.c (unpack_value_fields): Call
+ streamer_hooks.unpack_value_fields if set.
+ (lto_materialize_tree): For unhandled nodes, first try to
+ call lto_streamer_hooks.alloc_tree, if it exists.
+ (lto_input_ts_decl_common_tree_pointers): Move reading of
+ DECL_INITIAL to lto_streamer_read_tree.
+ (lto_read_tree): Call lto_streamer_hooks.read_tree if set.
+ (lto_streamer_read_tree): New.
+ (lto_reader_init): Rename from lto_init_reader.
+ Move initialization code to lto/lto.c.
+ * lto-streamer-out.c (pack_value_fields): Call
+ streamer_hooks.pack_value_fields if set.
+ (lto_output_tree_ref): For tree nodes that are not normally indexable,
+ call streamer_hooks.indexable_with_decls_p before giving up.
+ (lto_output_ts_decl_common_tree_pointers): Move handling
+ for FUNCTION_DECL and TRANSLATION_UNIT_DECL to lto_streamer_write_tree.
+ (lto_output_tree_header): Call streamer_hooks.is_streamable instead of
+ lto_is_streamable. Call lto_streamer_hooks.output_tree_header if set.
+ (lto_write_tree): Call lto_streamer_hooks.write_tree if set.
+ (lto_streamer_write_tree): New.
+ (lto_output): Call lto_streamer_init directly.
+ (lto_writer_init): Remove.
+ * lto-streamer.c (streamer_hooks): New.
+ (lto_streamer_cache_create): Call streamer_hooks.preload_common_nodes
+ instead of lto_preload_common_nodes.
+ (lto_is_streamable): Move from lto-streamer.h
+ (lto_streamer_hooks_init): New.
+ (streamer_hooks): New.
+ (streamer_hooks_init): New.
+ * lto-streamer.h (struct output_block): Forward declare.
+ (struct lto_input_block): Likewise.
+ (struct data_in): Likewise.
+ (struct bitpack_d): Likewise.
+ (struct streamer_hooks): Declare.
+ (streamer_hooks): Declare.
+ (lto_streamer_hooks_init): Declare.
+ (lto_streamer_write_tree): Declare.
+ (lto_streamer_read_tree): Declare.
+ (streamer_hooks_init): Declare.
+ (lto_is_streamable): Move to lto-streamer.c
+
+2011-06-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * longlong.h (smul_ppmm): The resulting register pair contains the
+ higher order word first.
+
+2011-06-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * builtins.c (powi_table): Remove.
+ (powi_lookup_cost): Remove.
+ (powi_cost): Remove.
+ (expand_powi_1): Remove.
+ (expand_powi): Remove.
+ (expand_builtin_pow_root): Remove.
+ (expand_builtin_pow): Remove.
+ (expand_builtin_powi): Eliminate handling of constant exponent.
+ (expand_builtin): Use expand_builtin_mathfn_2 for BUILT_IN_POW.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * cprop.c (local_cprop_pass): Don't set changed for debug insns.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * dce.c (reset_unmarked_insns_debug_uses): New.
+ (delete_unmarked_insns): Skip debug insns.
+ (prescan_insns_for_dce): Likewise.
+ (rest_of_handle_ud_dce): Reset debug uses of removed sets.
+ * reg-stack.c (subst_stack_regs_in_debug_insn): Signal when no
+ active reg can be found.
+ (subst_all_stack_regs_in_debug_insn): New. Reset debug insn then.
+ (convert_regs_1): Use it.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * tree-pretty-print.c (dump_function_header): Add flags.
+ Don't dump decl_uid with nouid.
+ * tree-pretty-print.h (dump_function_header): Adjust.
+ * final.c (rest_of_clean_state): Pass dump_flags on, with nouid.
+ * passes.c (pass_init_dump_file): Pass dump_flags on.
+ * tree-cfg.c (gimple_dump_cfg): Pass flags on.
+
+2011-06-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR bootstrap/49270
+ * ipa-inline-analysis.c (read_predicate): Initialize all clauses.
+
+2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR tree-optimization/49243
+ * calls.c (setjmp_call_p): Also check if fndecl has the
+ returns_twice attribute.
+
+2011-06-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (ENDFILE_SPEC): Use crtfastmath.o if
+ -ffast-math etc.
+
+2011-06-06 Richard Henderson <rth@redhat.com>
+ Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/42210
+ * config/avr/predicates.md (const1_operand, const_0_to_7_operand):
+ New predicates.
+ * config/avr/avr.md ("insv"): New insn expander.
+ ("*movbitqi.1-6.a", "*movbitqi.1-6.b", "*movbitqi.0", "*insv.io",
+ "*insv.not.io", "*insv.reg"): New insns.
+
+2011-06-06 Hans-Peter Nilsson <hp@bitrange.com>
+
+ PR target/49285
+ * config/mmix/mmix.md ("truncdfsf2", "extendsfdf2"): Correct predicate
+ to nonimmediate_operand from memory_operand for the operand that is to
+ be forced to memory by the expander. Lose the constraints.
+
+2011-06-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (output_return): Fix thinko in the output of an
+ EH return when delayed branches are disabled.
+
+2011-06-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>:
+ Remove MODE_TI handling. Remove SSE1 handling in attribute "mode"
+ calculation.
+ (*movdf_internal_rex64) <case 6,7,8>: Remove MODE_TI handling.
+ Simplify MODE_V1DF and MODE_V2SF handling.
+ (*movsf_internal): Remove x constraint from alternative 7 of operand 1.
+ Simplify MODE_SF handling.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/48893
+ PR tree-optimization/49091
+ PR tree-optimization/49179
+ * ipa-inline-analysis.c (evaluate_conditions_for_known_args):
+ Bounds check.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR lto/48954
+ * lto-cgraph.c (output_node_opt_summary): Handle NULL skip args
+ bitmaps.
+
+2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi: Document -Wdelete-non-virtual-dtor.
+
+2011-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49281
+ * config/i386/i386.md (*lea_general_4): Require INTVAL (operands[3])
+ to be strictly smaller than 1 << shiftcount.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/48929
+ * ipa-inline-analysis.c (remap_edge_predicates): Fix handling
+ of empty predicate.
+
+2011-06-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/48333
+ * calls.c (emit_call_1): Prefer the __builtin declaration of
+ builtin functions.
+
+2011-06-03 Diego Novillo <dnovillo@google.com>
+
+ * lto-streamer-in.c (unpack_value_fields): Remove unneeded asserts.
+ (lto_input_tree_pointers): Likewise.
+ * lto-streamer-out.c (pack_value_fields): Likewise.
+ (lto_output_tree_pointers): Likewise.
+ * lto-streamer.h (lto_is_streamable): Add check for OMP_CLAUSE
+ and OPTIMIZATION_NODE.
+
+2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/alpha/osf5.h (MD_UNWIND_SUPPORT): Remove.
+ * config/alpha/vms.h (MD_UNWIND_SUPPORT): Remove.
+ * config/bfin/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/bfin/uclinux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/linux64.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/sol2.h (MD_UNWIND_SUPPORT): Remove.
+ * config/i386/mingw32.h (MD_UNWIND_SUPPORT): Remove.
+ * config/ia64/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/ia64/vms.h (MD_UNWIND_SUPPORT): Remove.
+ * config/m68k/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/mips/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/pa/pa-hpux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/pa/pa32-linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/rs6000/darwin.h (MD_UNWIND_SUPPORT): Remove.
+ * config/rs6000/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/rs6000/linux64.h (MD_UNWIND_SUPPORT): Remove.
+ * config/s390/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/s390/tpf.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sh/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sparc/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sparc/linux64.h (MD_UNWIND_SUPPORT): Remove.
+ * config/sparc/sol2.h (MD_UNWIND_SUPPORT): Remove.
+ * config/xtensa/linux.h (MD_UNWIND_SUPPORT): Remove.
+ * config/alpha/linux-unwind.h: Move to ../libgcc/config/alpha.
+ * config/alpha/osf5-unwind.h: Move to ../libgcc/config/alpha.
+ * config/alpha/vms-unwind.h: Move to ../libgcc/config/alpha.
+ * config/bfin/linux-unwind.h: Move to ../libgcc/config/bfin.
+ * config/i386/linux-unwind.h: Move to ../libgcc/config/i386.
+ * config/i386/sol2-unwind.h: Move to ../libgcc/config/i386.
+ * config/i386/w32-unwind.h: Move to ../libgcc/config/i386.
+ * config/ia64/linux-unwind.h: Move to ../libgcc/config/ia64.
+ * config/ia64/vms-unwind.h: Move to ../libgcc/config/ia64.
+ * config/m68k/linux-unwind.h: Move to ../libgcc/config/m68k.
+ * config/mips/linux-unwind.h: Move to ../libgcc/config/mips.
+ * config/pa/hpux-unwind.h: Move to ../libgcc/config/pa.
+ * config/pa/linux-unwind.h: Move to ../libgcc/config/pa.
+ * config/rs6000/darwin-unwind.h: Move to ../libgcc/config/rs6000.
+ * config/rs6000/linux-unwind.h: Move to ../libgcc/config/rs6000.
+ * config/s390/linux-unwind.h: Move to ../libgcc/config/s390.
+ * config/s390/tpf-unwind.h: Move to ../libgcc/config/s390.
+ * config/sh/linux-unwind.h: Move to ../libgcc/config/sh.
+ * config/sparc/linux-unwind.h: Move to ../libgcc/config/sparc.
+ * config/sparc/sol2-unwind.h: Move to ../libgcc/config/sparc.
+ * config/xtensa/linux-unwind.h: Move to ../libgcc/config/xtensa.
+ * config/darwin9.h (DARWIN_LIBSYSTEM_HAS_UNWIND): Remove.
+ * system.h (MD_UNWIND_SUPPORT): Poison.
+ * doc/tm.texi.in (Exception Handling, MD_UNWIND_SUPPORT): Remove.
+ * doc/tm.texi: Regenerate.
+ * unwind-dw2.c: Include md-unwind-support.h instead of
+ MD_UNWIND_SUPPORT.
+ * config/ia64/unwind-ia64.c: Likewise.
+ * config/xtensa/unwind-dw2-xtensa.c: Likewise.
+
+2011-06-03 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * varpool.c (varpool_extra_name_alias): Return NULL, not false.
+
+2011-06-03 Richard Henderson <rth@redhat.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
+ (sigill_hdlr): Correct insn, insn size.
+ (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
+
+2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (mips-sgi-irix6.5*): Set tmake_file to mips/t-irix6
+ t-slibgcc-dummy.
+ * config/mips/irix-crti.asm: Move to ../libgcc/config/mips/irix-crti.S.
+ * config/mips/irix-crtn.asm: Move to ../libgcc/config/mips/irix-crtn.S.
+ * config/mips/t-iris: Remove.
+ * config/mips/t-irix6: New file.
+ * config/mips/t-slibgcc-irix: Move to ../libgcc/config/mips.
+
+2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (LIB2ADDEHDEP): Remove.
+ * config/arm/t-bpabi (LIB2ADDEHDEP): Remove.
+ * config/arm/t-symbian (LIB2ADDEHDEP): Remove.
+ * config/picochip/t-picochip (LIB2ADDEHDEP): Remove.
+ * config/t-darwin (LIB2ADDEHDEP): Remove.
+ * config/t-freebsd (LIB2ADDEHDEP): Remove.
+ * config/t-linux (LIB2ADDEHDEP): Remove.
+
+2011-06-03 Diego Novillo <dnovillo@google.com>
+
+ * lto-streamer-in.c (get_resolution): Move to lto/lto.c.
+ (lto_register_var_decl_in_symtab): Likewise.
+ (lto_register_function_decl_in_symtab): Likewise.
+ (lto_read_tree): Move VAR_DECL and FUNCTION_DECL registration
+ logic to uniquify_nodes.
+
+2011-06-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/t-osf5: Remove.
+ * config/alpha/t-osf-pthread: Remove.
+ * config.gcc (alpha*-dec-osf5.1*): Set tmake_file to t-slibgcc-dummy.
+ * mkmap-flat.awk: Handle osf_export for Tru64 UNIX linker -input file.
+
+2011-06-03 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm-cores.def (strongarm, strongarm110, strongarm1100)
+ (strongarm1110): Use strongarm tuning.
+ * config/arm/arm-protos.h (tune_params): Add max_insns_skipped field.
+ * config/arm/arm.c (arm_strongarm_tune): New.
+ (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
+ (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a5_tune)
+ (arm_cortex_a9_tune, arm_fa726te_tune): Add max_insns_skipped field
+ setting, using previous defaults or 1 for Cortex-A5.
+ (arm_option_override): Set max_insns_skipped from current tuning.
+
+2011-06-03 Nathan Sidwell <nathan@codesourcery.com>
+
+ * doc/install.texi (Options specification): Document --with-specs.
+
+2011-06-02 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/neon.md (orndi3_neon): Actually split it.
+
+2011-06-02 Alexandre Oliva <aoliva@redhat.com>
+
+ * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): Bump default to 10.
+ * var-tracking.c (reverse_op): Limite recurse depth to 5.
+
+2011-06-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47590
+ * target.def (delay_sched2, delay_vartrack): New.
+ * doc/tm.texi.in: Update.
+ * doc/tm.texi: Rebuild.
+ * sched-rgn.c (gate_handle_sched2): Fail if delay_sched2.
+ * var-tracking.c (gate_handle_var_tracking): Likewise.
+ * config/bfin/bfin.c (bfin_flag_schedule_insns2): Drop.
+ (bfin_flag_var_tracking): Drop.
+ (output_file_start): Don't save and override flag_var_tracking.
+ (bfin_option_override): Ditto flag_schedule_insns_after_reload.
+ (bfin_reorg): Test original variables.
+ (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
+ * config/ia64/ia64.c (ia64_flag_schedule_insns2): Drop.
+ (ia64_flag_var_tracking): Drop.
+ (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
+ (ia64_file_start): Don't save and override flag_var_tracking.
+ (ia64_override_options_after_change): Ditto
+ flag_schedule_insns_after_reload.
+ (ia64_reorg): Test original variables.
+ * config/picochip/picochip.c (picochip_flag_schedule_insns2): Drop.
+ (picochip_flag_var_tracking): Drop.
+ (TARGET_DELAY_SCHED2, TARGET_DELAY_VARTRACK): Define.
+ (picochip_option_override): Don't save and override
+ flag_schedule_insns_after_reload.
+ (picochip_asm_file_start): Ditto flag_var_tracking.
+ (picochip_reorg): Test original variables.
+ * config/spu/spu.c (spu_flag_var_tracking): Drop.
+ (TARGET_DELAY_VARTRACK): Define.
+ (spu_var_tracking): New.
+ (spu_machine_dependent_reorg): Call it.
+ (asm_file_start): Don't save and override flag_var_tracking.
+
+2011-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49163
+ * config/sh/predicates.md (general_movsrc_operand): Return 0
+ for memory and memory subreg of which address is an invalid
+ indexed address for QI and HImode.
+ (general_movdst_operand): Likewise.
+
+2011-06-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cse.c (cse_find_path): Refine change to exclude EDGE_ABNORMAL_CALL
+ edges only, when there is a non-local label in the function.
+ * postreload-gcse.c (bb_has_well_behaved_predecessors): Likewise.
+
+2011-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md (Y3): New register constraint.
+ * config/i386/sse.md (*vec_interleave_highv2df): Merge with
+ *sse3_interleave_highv2df and *sse2_interleave_highv2df.
+ (*vec_interleave_lowv2df): Merge with *sse3_interleave_lowv2df and
+ *sse2_interleave_lowv2df.
+
+2011-06-02 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm-cores.def (cortex-a5): Use cortex_a5 tuning.
+ * config/arm/arm.c (arm_cortex_a5_branch_cost): New.
+ (arm_cortex_a5_tune): New.
+
+2011-06-02 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm-protos.h (tune_params): Add branch_cost hook.
+ * config/arm/arm.c (arm_default_branch_cost): New.
+ (arm_slowmul_tune, arm_fastmul_tune, arm_xscale_tune, arm_9e_tune)
+ (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a9_tune)
+ (arm_fa726_tune): Set branch_cost field using
+ arm_default_branch_cost.
+ * config/arm/arm.h (BRANCH_COST): Use branch_cost hook from
+ current_tune structure.
+ * dojump.c (tm_p.h): Include file.
+
+2011-06-02 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/arm-cores.def (arm1156t2-s, arm1156t2f-s): Use v6t2
+ tuning.
+ (cortex-a5, cortex-a8, cortex-a15, cortex-r4, cortex-r4f, cortex-m4)
+ (cortex-m3, cortex-m1, cortex-m0): Use cortex tuning.
+ * config/arm/arm-protos.h (tune_params): Add prefer_constant_pool
+ field.
+ * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune)
+ (arm_xscale_tune, arm_9e_tune, arm_cortex_a9_tune)
+ (arm_fa726te_tune): Add prefer_constant_pool setting.
+ (arm_v6t2_tune, arm_cortex_tune): New.
+ * config/arm/arm.h (TARGET_USE_MOVT): Make dependent on
+ prefer_constant_pool setting.
+
+2011-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (standard_sse_constant_p) <case 1>: Simplify
+ switch statement.
+ * config/i386/i386.md (*movdf_internal_rex64) <case 8,9,10>: Ditto.
+ (*movdf_internal) <case 6,7,8>: Ditto.
+
+ * config/i386/constraints.md (Y4): New register constraint.
+ * config/i386/sse.md (vec_set<mode>_0): Merge with
+ *vec_set<mode>_0_sse4_1 and *vec_set<mode>_0_sse2.
+ (*vec_extractv2di_1): Merge from *vec_extractv2di_1_sse2 and
+ *vec_extractv2di_1_sse.
+ (*vec_concatv2di_rex64): Merge from *vec_concatv2di_rex64_sse4_1
+ and *vec_concatv2di_rex64_sse.
+
+2011-06-02 Stuart Henderson <shenders@gcc.gnu.org>
+
+ PR target/48807
+ * config/bfin/bfin.c (bfin_function_ok_for_sibcall): Check return value
+ of cgraph_local_info for null before attempting to use it.
+
+2011-06-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.h (struct stack_usage): Remove dynamic_alloc_count field.
+ (current_function_dynamic_alloc_count): Delete.
+ * builtins.c (expand_builtin_setjmp_setup): Do not set calls_setjmp.
+ (expand_builtin_nonlocal_goto): Remove obsolete comment.
+ (expand_builtin_update_setjmp_buf): Remove dead code.
+ * cse.c (cse_find_path): Do not follow a single abnormal incoming edge.
+ * explow.c (allocate_dynamic_stack_space): Remove SETJMP_VIA_SAVE_AREA
+ support.
+ * function.c (instantiate_virtual_regs): Likewise.
+ * postreload-gcse.c (bb_has_well_behaved_predecessors): Return false
+ for a block with a single abnormal incoming edge.
+ * config/sparc/sparc.h (STACK_SAVEAREA_MODE): Define.
+ (SETJMP_VIA_SAVE_AREA): Delete.
+ * config/sparc/sparc-protos.h (load_got_register): Declare.
+ * config/sparc/sparc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
+ (load_got_register): Make global.
+ (sparc_frame_pointer_required): Add 'static'.
+ (sparc_can_eliminate): Likewise. Call sparc_frame_pointer_required.
+ (sparc_builtin_setjmp_frame_value): New function.
+ * config/sparc/sparc.md (UNSPECV_SETJMP): Remove.
+ (save_stack_nonlocal): New expander.
+ (restore_stack_nonlocal): Likewise.
+ (nonlocal_goto): Remove modes, adjust predicates and reimplement.
+ (nonlocal_goto_internal): New insn.
+ (goto_handler_and_restore): Delete.
+ (builtin_setjmp_setup): Likewise.
+ (do_builtin_setjmp_setup): Likewise.
+ (setjmp): Likewise.
+ (builtin_setjmp_receiver): New expander.
+
+2011-06-01 David Li <davidxl@google.com>
+
+ PR middle-end/49261
+ * tree-pretty-print.c (dump_function_header): Format cleanup.
+
+2011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49238
+ * config/sh/sh.c (expand_cbranchdi4): Use a scratch register if
+ needed when original operands are used for msw_skip comparison.
+
+2011-06-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49250
+ * var-tracking.c (add_uses, add_stores): Don't call
+ cselib_subst_to_values on ENTRY_VALUE.
+
+2011-06-01 Diego Novillo <dnovillo@google.com>
+
+ * lto-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call
+ output_record_start with LTO_null instead of output_zero.
+ (lto_output_ts_binfo_tree_pointers): Likewise.
+ (lto_output_tree): Likewise.
+ (output_eh_try_list): Likewise.
+ (output_eh_region): Likewise.
+ (output_eh_lp): Likewise.
+ (output_eh_regions): Likewise.
+ (output_bb): Likewise.
+ (output_function): Likewise.
+ (output_unreferenced_globals): Likewise.
+ * lto-streamer.h (enum LTO_tags): Reserve MAX_TREE_CODES
+ instead of NUM_TREE_CODES.
+ (lto_tag_is_tree_code_p): Check max value against MAX_TREE_CODES.
+ (lto_output_int_in_range): Change << to >> when shifting VAL.
+
+2011-06-01 Diego Novillo <dnovillo@google.com>
+
+ * lto-streamer-out.c (lto_output_ts_decl_non_common_tree_pointers):
+ Remove assertion for DECL_SAVED_TREE in FUNCTION_DECL nodes.
+
+2011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/45074
+ * optabs.h (valid_multiword_target_p): Declare.
+ * expmed.c (extract_bit_field_1): Check valid_multiword_target_p when
+ doing multi-word operations.
+ * optabs.c (expand_binop): Likewise.
+ (expand_doubleword_bswap): Likewise.
+ (expand_absneg_bit): Likewise.
+ (expand_unop): Likewise.
+ (expand_copysign_bit): Likewise.
+ (multiword_target_p): New function.
+
+2011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/48830
+ PR rtl-optimization/48808
+ PR rtl-optimization/48792
+ * reload.c (push_reload): Check contains_reg_of_mode.
+ * reload1.c (strip_paradoxical_subreg): New function.
+ (gen_reload_chain_without_interm_reg_p): Use it to handle
+ paradoxical subregs.
+ (emit_output_reload_insns, gen_reload): Likewise.
+
+2011-06-01 David Li <davidxl@google.com>
+
+ * predict.c : Change pass name
+ * ipa.c: Ditto.
+ * dce.c: Ditto.
+ * tree-profile.c: Ditto.
+ * except.c: Ditto.
+
+2011-06-01 David Li <davidxl@google.com>
+
+ * tree-pretty-print.c (dump_function_header): New function.
+ * final.c (rest_of_clean_state): Use header dumper.
+ * tree-cfg.c (gimple_dump_cfg): Use header dumper.
+ * passes.c (pass_init_dump_file): Use header dumper.
+
+2011-06-01 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (compare_loc_descriptor, scompare_loc_descriptor,
+ ucompare_loc_descriptor, minmax_loc_descriptor, clz_loc_descriptor,
+ popcount_loc_descriptor, bswap_loc_descriptor, rotate_loc_descriptor):
+ New functions.
+ (mem_loc_descriptor): Use them.
+
+ * var-tracking.c (create_entry_value): New function.
+ (vt_add_function_parameter): Use it.
+
+2011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]:
+ Include <signal.h>, <ucontext.h>.
+ (sigill_caught): Define.
+ (sigill_hdlr): New function.
+ (set_fast_math) [!__x86_64__ && __sun__ && __svr4__]: Check if SSE
+ insns can be executed.
+ * config/sol2.h (ENDFILE_SPEC): Use crtfastmath.o if -ffast-math etc.
+ * config/sparc/sol2.h (ENDFILE_SPEC): Remove.
+
+2011-06-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/t-slibgcc-darwin: Move to ...
+ * config/t-slibgcc-dummy: ... this. Clarify comments.
+ * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*,
+ powerpc-*-darwin*, powerpc64-*-darwin*): Reflect this.
+ (i[3456x]86-*-netware*): Add t-slibgcc-dummy to tmake_file.
+ (i[34567]86-*-rtems*): Remove extra_parts. Use i386/t-rtems.
+ Remove i386/t-crtstuff from tmake_file.
+ (i[34567]86-*-solaris2*): Remove t-svr4,
+ t-slibgcc-elf-ver, t-slibgcc-sld from tmake_file, add
+ t-slibgcc-dummy.
+ (sparc-*-elf*, sparc64-*-elf*): Remove tmake_file, extra_parts.
+ (sparc-*-rtems*, sparc64-*-rtems*): Remove sparc/t-crtin,
+ sparc/t-crtfm from tmake_file.
+ (sparc*-*-solaris2*): Remove sparc/t-sol2, sparc/t-crtfm,
+ t-slibgcc-elf-ver, t-slibgcc-sld, add t-slibgcc-dummy.
+ Remove extra_parts.
+ * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define.
+ * config/i386/t-nwld (SHLIB_LINK): Remove.
+ * config/i386/t-rtems-i386: Rename to ...
+ * config/i386/t-rtems: ... this.
+ ($(T)crti.o, $(T)crtn.o): Remove.
+ (FPBIT, DPBIT, LIB2FUNCS_EXTRA): Remove.
+ (dp-bit.c, fp-bit.c, xp-bit.c): Remove.
+ (EXTRA_MULTILIB_PARTS, LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/t-sol2-10 (LIBGCC, INSTALL_LIBGCC,
+ EXTRA_MULTILIB_PARTS): Remove.
+ * config/sparc/t-sol2-64: Likewise.
+ * config/sparc/t-sol2: Remove.
+ * config/sparc/t-crtin: Remove.
+ * config/sparc/gmon-sol2.c: Move to ../libgcc/config.
+ * config/i386/gmon-sol2.c: Remove.
+ * config/i386/sol2-c1.asm: Move to ../libgcc/config/i386/sol2-c1.S.
+ * config/i386/sol2-ci.asm: Move to ../libgcc/config/i386/sol2-ci.S.
+ * config/i386/sol2-cn.asm: Move to ../libgcc/config/i386/sol2-cn.S.
+ * config/i386/sol2-gc1.asm: Remove.
+ * config/sparc/sol2-c1.asm: Move to ../libgcc/config/sparc/sol2-c1.S.
+ * config/sparc/sol2-ci.asm: Move to ../libgcc/config/sparc/sol2-ci.S.
+ * config/sparc/sol2-cn.asm: Move to ../libgcc/config/sparc/sol2-cn.S.
+ * config/t-slibgcc-sld: Remove.
+
+2011-06-01 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor) <do_ucompare>: Call
+ base_type_for_mode with op_mode instead of mode.
+
+2011-06-01 Paul Brook <paul@cpodesourcery.com>
+
+ * config/arm/arm-cores.def: Add cortex-r5. Add DIV flags to
+ Cortex-A15.
+ * config/arm/arm-tune.md: Regenerate.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm.c (FL_DIV): Rename...
+ (FL_THUMB_DIV): ... to this.
+ (FL_ARM_DIV): Define.
+ (FL_FOR_ARCH7R, FL_FOR_ARCH7M): Use FL_THUMB_DIV.
+ (arm_arch_hwdiv): Remove.
+ (arm_arch_thumb_hwdiv, arm_arch_arm_hwdiv): New variables.
+ (arm_issue_rate): Add cortexr5.
+ * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Set
+ __ARM_ARCH_EXT_IDIV__.
+ (TARGET_IDIV): Define.
+ (arm_arch_hwdiv): Remove.
+ (arm_arch_arm_hwdiv, arm_arch_thumb_hwdiv): New prototypes.
+ * config/arm/arm.md (tune_cortexr4): Add cortexr5.
+ (divsi3, udivsi3): New patterns.
+ * config/arm/thumb2.md (divsi3, udivsi3): Remove.
+ * doc/invoke.texi: Document ARM -mcpu=cortex-r5
+
+2011-06-01 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-utils.c (ipa_dfs_info): New field scc_no.
+ * ipa-utils.c (searchc): Set scc_no.
+
+2011-06-01 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-utils.c (searchc_env): New field allow_overwritable.
+ (searchc): do not ignore edges to overwritable nodes if indicated
+ by env->allow_overwritable.
+ (ipa_reduced_postorder): Set env.allow_overwritable.
+
+2011-06-01 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (free_lang_data): Do not reset boolean_type_node nor
+ char_type_node.
+ * lto-streamer.c (lto_record_common_node): Take node pointer,
+ do not register types.
+ (lto_preload_common_nodes): Explicitly skip preloading nodes
+ that differ between frontends.
+
+2011-05-31 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Remove vr0..vr2 from
+ NON_FLOAT_REGS.
+
+2011-05-31 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_register_move_cost): Preserve from
+ parameter value for dump. Dump cost on outermost call only.
+ (rs6000_memory_move_cost): Dump cost on outermost call only.
+
+2011-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (resolve_addr_in_expr): Optimize away redundant
+ DW_OP_GNU_convert ops.
+
+ * cselib.c (promote_debug_loc): Allow l->next non-NULL for
+ cselib_preserve_constants.
+ (cselib_lookup_1): If cselib_preserve_constants,
+ a new VALUE is being created for REG and there is a VALUE for the
+ same register in wider mode, add another loc with lowpart SUBREG of
+ the wider VALUE.
+ (cselib_subst_to_values): Handle ENTRY_VALUE.
+ * var-tracking.c (replace_expr_with_values): Return NULL for
+ ENTRY_VALUE too.
+ * dwarf2out.c (convert_descriptor_to_signed): New function.
+ (mem_loc_descriptor) <case ZERO_EXTEND>: Optimize using DW_OP_and
+ instead of two shifts.
+ (mem_loc_descriptor) <do_shift>: ZERO_EXTEND second argument to
+ the right mode if needed.
+ (mem_loc_descriptor) <case MOD>: For typed ops just use DW_OP_mod.
+ (mem_loc_descriptor) <case UNSIGNED_FIX>: Use
+ convert_descriptor_to_signed.
+ (mem_loc_descriptor) <case UDIV, CLZ, CTZ, FFS, POPCOUNT, PARITY,
+ BSWAP, ROTATE, ROTATERT>: Handle these rtls.
+
+ PR target/48688
+ * config/i386/i386.md (*lea_general_4): New define_insn_and_split.
+
+2011-05-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md: Use SWI248x instead of X87MODEI, SWI24 instead
+ of X87MODEI12 and SWI48x instead of SSEMODEI24.
+ (SWI248x): New mode iterator, rename from X87MODEI.
+ (X87MODEI): Remove mode iterator.
+ (X87MODEI12): Ditto.
+ (SSEMODEI24): Ditto.
+
+2011-05-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * params.def (PARAM_MAX_VARTRACK_EXPR_DEPTH): New.
+ * doc/invoke.texi: Document max-vartrack-expr-depth.
+ * var-tracking.c (EXPR_DEPTH): New.
+ (reverse_op, vt_expand_loc, vt_expand_loc_dummy): Use it.
+
+2011-05-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/i386/i386.c (ix86_rtx_costs): Drop NEG from sub for FMA.
+ * config/i386/sse.md: Add n to negated FMA pattern names.
+
+2011-05-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc.c (driver_handle_option): Fix disabling of -fcompare-debug.
+
+2011-05-31 Alexandre Oliva <aoliva@redhat.com>
+
+ * gengtype-state.c (read_state_params_structs): Initialize previous.
+
+2011-05-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
+ (FP push_operand splitters): Merge {TF,XF,DF}mode splitters.
+
+2011-05-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movtf_internal): Avoid allocating general
+ registers. Penalize F*r->o alternative to prevent partial memory
+ stalls. Slightly penalize *roF->*r alternative. Generate SSE
+ CONST_DOUBLE immediates when optimizing function for size. Do not move
+ CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
+ (*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
+ (*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
+ (*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
+ alternatives.
+ (*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.
+
+ (fp_register_operand splitters): Use fp_register_operand
+ constraint. Do not use FP_REG_P in insn condition.
+ (any_fp_register_operand splitters): Use any_fp_register_operand
+ constraint. Do not use ANY_FP_REG_P in insn condition.
+
+2011-05-31 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_inline_failed_t): Give enum a name
+ * lto-cgraph.c (LDPR_NUM_KNOWN): New macro.
+ (LTO_cgraph_tags): Add LTO_cgraph_last_tag.
+ (lto_output_edge): Use output_enum and var_len_unsigned.
+ (lto_output_varpool_node): Likewise.
+ (input_overwrite_node): Do not take resolution parameter;
+ extract it from a bitpack.
+ (input_node): Do not read resolution; use input_enum and
+ var_len_unsigned.
+ (input_varpool_node): Likewise.
+ (input_edge): Likewise.
+ (input_cgraph_1): Likewise.
+
+2011-05-31 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_register_canonical_type): Do not register
+ any types via gimple_register_type.
+
+2011-05-31 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_symtab_merge_cgraph_nodes): Merge alias decl
+ of thunks.
+
+2011-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49235
+ * tree-ssa-address.c (gen_addr_rtx): Ignore base if it is const0_rtx.
+ (create_mem_ref_raw): Create MEM_REF even if base is INTEGER_CST.
+
+2011-05-31 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49093
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Fail for volatile
+ data references.
+
+2011-05-31 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/49047
+ * dwarf2out.c (gen_subprogram_die): Emit linkage name attribute
+ for concrete functions containing the code of cloned functions.
+
+2011-05-31 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_comparison): Rename
+ to ...
+ (forward_propagate_into_comparison_1): ... this.
+ (forward_propagate_comparison): Rename to ...
+ (forward_propagate_into_comparison): ... this. Split out
+ real forward propagation code to ...
+ (forward_propagate_comparison): ... this.
+ (forward_propagate_into_gimple_cond): Remove looping.
+ (forward_propagate_into_cond): Likewise.
+ (simplify_not_neg_expr): Return whether we have done something.
+ (simplify_gimple_switch): Likewise.
+ (tree_ssa_forward_propagate_single_use_vars): Rename to ...
+ (ssa_forward_propagate_and_combine): ... this. Re-structure
+ to do a forward forward-propagation walk on BBs and a backward
+ stmt combining walk on BBs. Consistently re-scan changed statements.
+ (pass_forwprop): Adjust.
+
+2011-05-30 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_format_type): Correct length of name added to
+ obstack for anonymous field.
+
+2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49186
+ * config/sh/sh.c (expand_cbranchdi4): Set msw_skip when the high
+ part of the second operand is 0.
+
+2011-05-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movxf_internal): Penalize FYx*r->o alternative
+ to prevent partial memory stalls. Do not move CONST_DOUBLEs directly
+ to memory for !TARGET_MEMORY_MISMATCH_STALL.
+ (*movdf_internal_rex64): Do not penalize F->r alternative.
+ (*movdf_internal): Penalize FYd*r->o alternative to prevent partial
+ memory stalls. Generate SSE and x87 CONST_DOUBLE immediates only
+ when optimizing function for size. Do not move CONST_DOUBLEs
+ directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
+ (FP move splitters): Merge {TF,XF,DF}mode splitters. Do not handle
+ SUBREGs. Do not check for MEM_P operands in the insn condition,
+ check for ANY_FP_REGNO_P instead.
+ * config/i386/constraints.md (Yd): Enable GENERAL_REGS for
+ TARGET_64BIT and for TARGET_INTEGER_DFMODE_MOVES when optimizing
+ function for speed.
+ * config/i386/i386.c (ix86_option_override_internal): Do not
+ set TARGET_INTEGER_DFMODE_MOVES here.
+
+2011-05-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49168
+ * config/i386/i386.md (*movtf_internal): Handle misaligned load/store.
+
+2011-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (modified_type_die, gen_reference_type_die): Use
+ DW_TAG_rvalue_reference_type even for
+ -gdwarf-4 -fno-debug-types-section.
+
+2011-05-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * tree-ssa-math-opts.c (build_and_insert_call): Reorder parms.
+ (build_and_insert_binop): New.
+ (gimple_expand_builtin_pow): Reorder args for
+ build_and_insert_call; use build_and_insert_binop; add more
+ optimizations for fractional exponents.
+
+2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
+
+ PR bootstrap/49190
+
+ Revert:
+ 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct tree_identifier): Inherit from tree_typed, not
+ tree_common.
+ (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
+ * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
+ TS_BASE instead of TS_COMMON.
+ * varasm.c (assemble_name): Remove assert.
+
+2011-05-30 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config.gcc: Keep obselete list sorted.
+
+2011-05-30 Jakub Jelinek <jakub@redhat.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * var-tracking.c (vt_add_function_parameter): Remap incoming MEMs with
+ crtl->args.internal_arg_pointer based address to arg_pointer_rtx if
+ there is a DRAP register and arg_pointer_rtx is the CFA pointer.
+ (vt_init_cfa_base): Don't equate cfa_base_rtx if stack was realigned.
+ (vt_initialize): Initialize cfa_base_rtx if there is a DRAP register.
+
+2011-05-30 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p_1): Compare record
+ and union type members properly.
+
+2011-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49210
+ * ipa-split.c (split_function): Care for the case where the call
+ result is not trivially convertible to the result holding variable.
+
+2011-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49218
+ * tree-vrp.c (adjust_range_with_scev): Properly check whether
+ overflow occured.
+
+2011-05-30 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (forward_propagate_into_comparison):
+ New function split out from ...
+ (forward_propagate_into_gimple_cond): ... here. Adjust.
+ (forward_propagate_into_cond): Likewise.
+ (forward_propagate_comparison): Also propagate into
+ comparisons on assignment RHS. Change return value to
+ behave similar to forward_propagate_into_cond.
+ (tree_ssa_forward_propagate_single_use_vars): Handle
+ strict-overflow warnings properly for forward_propagate_comparison.
+
+2011-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support
+ from plugin linker.
+ * configure: Regenerate.
+
+2011-05-30 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49199
+ * tree-vect-loop.c (vect_is_slp_reduction): Check that the
+ non-reduction operands are either defined in the loop or by induction.
+
+2011-05-29 Xinliang David Li <davidxl@google.com>
+
+ * opts-global.c (handle_common_deferred_options): Handle new options.
+ * passes.c (register_one_dump_file): Call register_pass_name.
+ (execute_one_pass): Check explicit enable/disable flag.
+ (passr_hash): New function.
+ (passr_eq): Ditto.
+ (register_pass_name): Ditto.
+ (get_pass_by_name): Ditto.
+ (pass_hash): Ditto.
+ (pass_eq): Ditto.
+ (enable_pass): Ditto.
+ (disable_pass): Ditto.
+ (is_pass_explicitly_enabled_or_disabled): Ditto.
+
+2011-05-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movoi_internal_avx): Use
+ standard_sse_constant_opcode for alternative 0.
+ (*movti_internal_sse): Ditto.
+ (*movti_internal_rex64): Use standard_sse_constant_opcode for
+ alternative 2.
+ (*movdi_internal_rex64): Use standard_sse_constant_opcode for
+ sselog1 type moves.
+ (*movsi_internal): Ditto.
+ (*movdi_internal): Ditto. Add ssecvt type moves.
+
+2011-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/48830
+ * rtlanal.c (simplify_subreg_regno): Adjust comment.
+
+2011-05-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49095
+ * config/i386/predicates.md (plusminuslogic_operator): New predicate.
+ * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0.
+
+2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/43995
+ * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a
+ recurse_p argument. Only follow register copies if it is set,
+ and prevent mips_find_pic_call_symbol from recursing.
+ (mips_find_pic_call_symbol): Add a recurse_p argument.
+ Pass it to mips_pic_call_symbol_from_set.
+ (mips_annotate_pic_calls): Update accordingly.
+
+2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * emit-rtl.c (try_split): Use a loop to search for
+ NOTE_INSN_CALL_ARG_LOCATIONs.
+
+2011-05-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49217
+ * ipa-pure-const.c (propagate_pure_const): Fix typos.
+
+2011-05-28 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (hash_string_slot_node): Hash string based on its
+ length.
+ (string_slot_free): Remove
+ (create_output_block): Initialize obstack.
+ (destroy_output_block): Free obstack.
+ (lto_string_index): Add PERSISTENT parameter; do not duplicate
+ the string unless it needs to be added into the hash.
+ (lto_output_string_with_length): Add persistent attribute;
+ handle NULL strings.
+ (lto_output_string): Add PERSISTENT parameter.
+ (output_string_cst, output_identifier): Simplify.
+ (lto_output_location_bitpack): Update.
+ (lto_output_builtin_tree): Update.
+ * lto-streamer.h (struct output_block): Add obstack.
+ (lto_output_string, lto_output_string_with_length): Remove
+ declarations; functions are static now.
+
+2011-05-28 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (pack_ts_fixed_cst_value_fields,
+ pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields,
+ pack_ts_function_decl_value_fields, lto_output_builtin_tree,
+ output_cfg, output_gimple_stmt): Use enum and variable length i/o.
+ * lto-streamer-in.c (input_cfg, input_gimple_stmt,
+ unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields,
+ unpack_ts_decl_with_vis_value_fields,
+ unpack_ts_type_common_value_fields, unpack_ts_block_value_fields,
+ lto_get_builtin_tree): Use enum and variable length i/o.
+ * basic-block.h (profile_status_d): Add PROFILE_LAST.
+ * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range):
+ New functions.
+ (bp_pack_enum, bp_unpack_enum): New macros.
+
+2011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * genrecog.c: Remove redundant forward declarations.
+
+2011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config.gcc: Deprecate mips*-*-openbsd*.
+
+2011-05-28 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR bootstrap/49195
+ * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP
+ for match_op_dup.
+
+2011-05-27 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/48981
+ * gengtype.c (vec_prefix_type): New function.
+ (note_def_vec): Use vec_prefix_type and change the length
+ attribute to be based on the prefix.
+ * vec.c: Include coretypes.h before vec.h.
+ (struct vec_prefix): Remove.
+ (vec_gc_p_reserve): Change the offsetof to sizeof.
+ (vec_gc_p_reserve_exact): Likewise.
+ (vec_heap_p_reserve): Likewise.
+ (vec_heap_p_reserve_exact): Likewise.
+ (vec_stack_o_reserve_1): Copy from +1 instead of from vec.
+ (vec_stack_p_reserve): Change the offsetof to sizeof.
+ (vec_stack_p_reserve_exact): Likewise.
+ * vec.h (struct vec_prefix): New struct definition.
+ (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields.
+ (VEC_T_GTY(T,B)): Likewise.
+ (DEF_VEC_FUNC_P(T)): Use prefix field.
+ (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise.
+ (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise.
+
+2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location.
+ (powi_as_mults): Add gimple_set_location.
+ (build_and_insert_call): New.
+ (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is
+ 0.5, 0.25, 0.75, 1./3., or 1./6.
+
+2011-05-27 Alexander Monakov <amonakov@ispras.ru>
+
+ * doc/contrib.texi: Update copyright years.
+ (Contributors): Add Zdenek Sojka.
+
+2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-decl.c (c_push_function_context): Copy the current statement
+ list stack.
+ (add_stmt): Check building_stmt_list_p and push_stmt if necessary.
+ (finish_struct): Call building_stmt_list_p instead of checking
+ cur_stmt_list.
+ * c-parser.c (c_parser_postfix_expression): Likewise.
+ * c-typeck.c (c_end_compound_stmt): Likewise.
+ * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN.
+ * tree-iterator.c (stmt_list_cache): Change to a VEC.
+ (alloc_stmt_list): Adjust for stmt_list_cache's new type.
+ (free_stmt_list): Likewise.
+ * tree.h (struct tree_statement_list): Include typed_tree instead
+ of tree_common.
+ * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST
+ as TS_TYPED instead of TS_COMMON.
+
+2011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt
+ (HAVE_AS_IX86_TLSGDPTL): Define.
+ (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt.
+ (HAVE_AS_IX86_TLSLDMPLT): Define.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/i386/i386.c (ix86_print_operand): Handle code 'p'.
+ * config/i386/i386.md (*tls_global_dynamic_32_gnu): If
+ TARGET_SUN_TLS, use @tlsgdplt or @plt.
+ (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS.
+ (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use
+ @tlsldmplt or @plt.
+ (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS.
+
+2011-05-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * sched-int.h (struct _haifa_deps_insn_data): New members cond
+ and reverse_cond.
+ (INSN_COND, INSN_REVERSE_COND): New macros.
+ * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev
+ once.
+ (sched_get_condition_with_rev): Cache the results, and look them up
+ if possible.
+ (sched_analyze_insn): Destroy INSN_COND of previous insns if they
+ are clobbered by the current insn.
+ * target.def (exposed_pipline): New sched data hook.
+ * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook.
+ * doc/tm.texi: Regenerate.
+
+2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/49170
+ * tree-ssa-math-opts.c (execute_cse_sincos): Add checks for
+ sincos or cexp.
+
+2011-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49189
+ * fold-const.c (fold_unary_loc): Do not re-fold folding conversions
+ of comparisons.
+
+2011-05-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (sched_scan_info): Remove.
+ (schedule_block): Call sched_extend_luids rather than sched_init_luids
+ with NULL args.
+ (extend_bb, init_bb, extend_insn, init_insn, init_insns_in_bb):
+ Remove functions.
+ (sched_scan): Remove.
+ (sched_extend_luids): Renamed from luids_extend_insn and no longer
+ static. All callers changed.
+ (sched_init_insn_luid): Renamed from luids_init_insn and no longer
+ static. All callers changed.
+ (sched_init_luids): Remove all arguments except the first. All
+ callers changed. Don't use sched_scan.
+ (haifa_init_h_i_d): Likewise.
+ (haifa_init_insn): Call sched_extend_luids and sched_init_insn_luid
+ manually rather than using sched_init_luids. Likewise with
+ extend_h_i_d, init_h_i_d and haifa_init_h_i_d.
+ * sel-sched.c (sel_region_target_finish): Call sched_extend_luids
+ rather than sched_init_luids with NULL args.
+ * sel-sched-ir.c (new_insns): Remove variable.
+ (sched_scan): New static function, previously in haifa-sched.c. Remove
+ all arguments but the first two; all callers changed.
+ (sel_init_new_insn): Call sched_extend_luids and sched_init_insn_luid
+ rather than sched_init_luids.
+ (sel_init_bbs): Remove second argument. All callers changed.
+ (sel_add_bb): Call sched_extend_luids rather than sched_init_luids
+ with NULL arguments.
+ (create_insn_rtx_from_pattern): Likewise.
+ * sel-sched-ir.h (sel_init_bbs): Adjust declaration.
+ * sched-int.h (sched_init_luids, haifa_init_h_i_d): Likewise.
+ (sched_init_insn_luid, sched_extend_luids): Declare.
+ (sched_scan_info_def, sched_scan_info, sched_scan): Remove
+ declarations.
+
+2011-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49177
+ * fold-const.c (fold_unary_loc): Fold (T)(A CMP B) to
+ A CMP B ? (T) true : (T) false for non-integral types T again.
+
+2011-05-27 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (lto_string_index): break out from...; offset by 1
+ so 0 means NULL string.
+ (lto_output_string_with_length): ... here.
+ (lto_output_string, output_string_cst, output_identifier): Update
+ handling of NULL strings.
+ (lto_output_location_bitpack): New function.
+ (lto_output_location): Use it.
+ (lto_output_tree_ref): Use output_record_start.
+ (pack_ts_type_common_value_fields): Pack aliagn & alias set in var
+ len values.
+ * lto-streamer-in.c (string_for_index): Break out from ...; offset
+ values by 1.
+ (input_string_internal): ... here;
+ (input_string_cst, input_identifier, lto_input_string): Update handling
+ of NULL strings.
+ (lto_input_location_bitpack): New function
+ (lto_input_location): Use it.
+ (unpack_ts_type_common_value_fields): Pack align & alias in var len
+ values.
+ * lto-streamer.h (bp_pack_val_len_unsigned, bp_pack_val_len_int,
+ bp_unpack_val_len_unsigned, bp_unpack_val_len_int): Declare.
+ (bp_pack_value): Sanity check the value range.
+ * lto-section-in.c (bp_unpack_val_len_unsigned, bp_unpack_val_len_int):
+ New functions.
+ * lto-section-out.h (bp_pack_val_len_unsigned, bp_pack_val_len_int):
+ New functions.
+
+2011-05-27 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (reorder_var_tracking_notes): Drop
+ call_arg_location instructions down the floor.
+
+2011-05-26 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/49154
+ * ira.c (setup_pressure_classes): Process class without sublcasses
+ as a candidate for pressure classes.
+
+2011-05-26 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/48575
+ * genrecog.c (position_type): New enum.
+ (position): New structure.
+ (decision): Use position structure instead of a string.
+ (root_pos, peep2_insn_pos_list): New variables.
+ (next_position, compare_positions): New functions.
+ (new_decision): Use position structures instead of strings.
+ (maybe_both_true): Likewise.
+ (change_state): Likewise.
+ (write_tree): Likewise.
+ (make_insn_sequence): Likewise.
+
+2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (initialize_tree_contains_struct): Mark TS_BLOCK as
+ TS_BASE instead of TS_COMMON.
+ (find_decls_types_r): Check for TS_TYPED structure before looking at
+ TREE_TYPE.
+ * tree.h (struct tree_block): Inherit from tree_base, not tree_common.
+ Add chain field.
+ (BLOCK_CHAIN): Use new chain field.
+
+2011-05-26 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (rs6000_register_move_cost): Make LR/CTR
+ moves expensive on Power7 also.
+
+2011-05-26 Richard Guenther <rguenther@suse.de>
+
+ * fold-const.c (fold_unary_loc): Remove bogus code.
+
+2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct tree_identifier): Inherit from tree_typed, not
+ tree_common.
+ (HT_IDENT_TO_GCC_IDENT): Adjust for said change.
+ * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as
+ TS_BASE instead of TS_COMMON.
+ * varasm.c (assemble_name): Remove assert.
+
+2011-05-26 Bernd Schmidt <bernds@codesourcery.com>
+
+ * Makefile.in (srcdirify): Change order so that libgcc_objdir is
+ substituted first.
+ * libgcc-std.ver: Delete file.
+
+2011-05-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48702
+ * tree-ssa-address.c (create_mem_ref_raw): Create MEM_REFs
+ only when we know the base address is within bounds.
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Do not
+ assume the base address of TARGET_MEM_REFs is in bounds.
+
+2011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/49099
+ * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Wrap
+ declaration in TARGET_SOLARIS.
+
+2011-05-26 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.md (cbranchhi4): No :CC for match_operator.
+ The instruction is then expanded explicitly.
+ (supported_compare): Callable instruction.
+ (compare): Likewise.
+
+2011-05-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49165
+ * gimplify.c (shortcut_cond_r): Don't special case
+ COND_EXPRs if they have void type on one of their arms.
+
+2011-05-26 Bernd Schmidt <bernds@codesourcery.com>
+
+ * haifa-sched.c (schedule-block): Reorder the inner scheduling loop
+ to reduce duplication, and to achieve a slightly more logical order
+ of operations.
+
+2011-05-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49161
+ * tree-vrp.c (struct case_info): New type.
+ (compare_case_labels): Sort case_info structs instead of
+ trees, and not primarily by CASE_LABEL uids but by
+ label_for_block indexes.
+ (find_switch_asserts): Put case labels into struct case_info
+ array instead of TREE_VEC, adjust sorting, compare label_for_block
+ values instead of CASE_LABELs.
+
+2011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * config/arm/neon.md ("orn<mode>3_neon"): Canonicalize not.
+ ("orndi3_neon"): Likewise.
+ ("bic<mode>3_neon"): Likewise.
+
+2011-05-26 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49038
+ * tree-vect-loop-manip.c (vect_generate_tmps_on_preheader):
+ Ensure at least one epilogue iteration if required by data
+ accesses with gaps.
+ * tree-vectorizer.h (struct _loop_vec_info): Add new field
+ to mark loops that require peeling for gaps.
+ * tree-vect-loop.c (new_loop_vec_info): Initialize new field.
+ (vect_get_known_peeling_cost): Take peeling for gaps into
+ account.
+ (vect_transform_loop): Generate epilogue if required by data
+ access with gaps.
+ * tree-vect-data-refs.c (vect_analyze_group_access): Mark the
+ loop as requiring an epilogue if there are gaps in the end of
+ the strided group.
+
+2011-05-25 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_format_type): Output the first field with a usable
+ Go type, if any.
+
+2011-05-25 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_format_type): Check for invalid type names, pointer
+ target types, and struct field types.
+
+2011-05-25 Jason Merrill <jason@redhat.com>
+
+ * print-tree.c (print_node): Only look at TREE_TYPE if TS_TYPED.
+
+2011-05-25 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*<sse>_maskcmp<mode>3_comm): New pattern.
+
+2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (*movqi_extv_1)): Put back
+ "register_operand" check in "type" calculation.
+ (*movqi_extzv_2): Likewise.
+
+2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/extend.texi (X86 Built-in Functions): Update pause intrinsic.
+
+2011-05-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/49160
+ * libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
+ __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
+ __divxc3, __divtc3): Wrap definitions in #ifndef.
+
+2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49142
+ * config/i386/i386.md (*movqi_extv_1_rex64): Remove
+ "register_operand" check and replace q_regs_operand with
+ QIreg_operand in "type" calculation.
+ (*movqi_extv_1): Likewise.
+ (*movqi_extzv_2_rex64): Likewise.
+ (*movqi_extzv_2): Likewise.
+
+ * config/i386/predicates.md (QIreg_operand): New.
+
+2011-05-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Fix
+ type-based offset disambiguation, streamline MEM_REF and
+ TARGET_MEM_REF handling.
+
+2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_PAUSE.
+ (bdesc_special_args): Add pause intrinsic.
+
+ * config/i386/i386.md (UNSPEC_PAUSE): New.
+ (pause): Likewise.
+ (*pause): Likewise.
+ * config/i386/ia32intrin.h (__pause): Likewise.
+
+ * doc/extend.texi (X86 Built-in Functions): Add documentation for
+ pause intrinsic.
+
+2011-05-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): New.
+ (execute_cse_sincos): Add switch case for BUILT_IN_POW.
+
+2011-05-25 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct tree_exp): Inherit from struct tree_typed.
+ * tree.c (initialize_tree_contains_struct): Mark TS_EXP as TS_TYPED
+ instead of TS_COMMON.
+
+2011-05-25 Bernd Schmidt <bernds@codesourcery.com>
+
+ * libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
+ LIBGCC2_GNU_PREFIX is defined.
+ (__N): New macro.
+ (__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
+ __mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
+ __divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
+ __clz_tab): Define using __N.
+ (__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
+ COMPAT_SIMODE_TRAPPING_ARITHMETIC.
+ * target.def (libfunc_gnu_prefix): New hook.
+ * doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
+ (TARGET_LIBFUNC_GNU_PREFIX): Add hook.
+ * doc/tm.texi: Regenerate.
+ * system.h (LIBGCC2_GNU_PREFIX): Poison.
+ * optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
+ account.
+ (gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
+ (init_optabs): Likewise for the bswap libfuncs.
+ * tree.c (build_common_builtin_nodes): Likewise for complex multiply
+ and divide.
+ * config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
+ * config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
+ * libgcc-std.ver: Remove.
+ * Makefile.in (srcdirify): Handle $$(libgcc_objdir).
+ * config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
+ libgcc-std.ver.
+ * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+ * config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
+ * config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
+ * config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
+ * config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
+ * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+ * config/i386/t-linux (SHLIB_MAPFILES): Likewise.
+ * config/fixed-bit.h (FIXED_OP): Define differently depending on
+ LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
+ (FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
+
+2011-05-25 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer-out.c (output_record_start): Use lto_output_enum
+ (lto_output_tree): Use output_record_start.
+ * lto-streamer-in.c (input_record_start): Use lto_input_enum
+ (lto_get_pickled_tree): Use input_record_start.
+ * lto-section-in.c (lto_section_overrun): Turn into fatal error.
+ (lto_value_range_error): New function.
+ * lto-streamer.h (lto_value_range_error): Declare.
+ (lto_output_int_in_range, lto_input_int_in_range): New functions.
+ (lto_output_enum, lto_input_enum): New macros.
+
+2011-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * common.opt (flag_stack_usage_info): New variable.
+ (-Wstack-usage): New option.
+ * doc/invoke.texi (Warning options): Document -Wstack-usage.
+ * opts.c (common_handle_option) <OPT_Wstack_usage_>: New case.
+ <OPT_fstack_usage>: Likewise.
+ * toplev.c (output_stack_usage): Handle -Wstack-usage.
+ * calls.c (expand_call): Test flag_stack_usage_info variable instead
+ of flag_stack_usage.
+ (emit_library_call_value_1): Likewise.
+ * explow.c (allocate_dynamic_stack_space): Likewise.
+ * function.c (instantiate_virtual_regs ): Likewise.
+ (prepare_function_start): Likewise.
+ (rest_of_handle_thread_prologue_and_epilogue): Likewise.
+ * config/alpha/alpha.c (alpha_expand_prologue): Likewise.
+ * config/arm/arm.c (arm_expand_prologue): Likewise.
+ (thumb1_expand_prologue): Likewise.
+ * config/avr/avr.c (expand_prologue): Likewise.
+ * config/i386/i386.c (ix86_expand_prologue): Likewise.
+ * config/ia64/ia64.c (ia64_expand_prologue): Likewise.
+ * config/m68k/m68k.c (m68k_expand_prologue): Likewise.
+ * config/mips/mips.c (mips_expand_prologue): Likewise.
+ * config/pa/pa.c (hppa_expand_prologue): Likewise.
+ * config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
+ * config/s390/s390.c (s390_emit_prologue): Likewise.
+ * config/sh/sh.c (sh_expand_prologue): Likewise.
+ * config/sparc/sparc.c (sparc_expand_prologue): Likewise.
+ * config/spu/spu.c (spu_expand_prologue): Likewise.
+
+2011-05-25 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (iterative_hash_canonical_type): Skip non-FIELD_DECLs.
+ (gimple_canonical_types_compatible_p): Likewise.
+
+2011-05-25 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49062
+ * ipa.c (function_and_variable_visibility): Only add to same
+ comdat group list if DECL_ONE_ONLY.
+
+2011-05-25 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/49014
+ * config/i386/athlon.md (athlon_ssecomi): Change type to ssecomi.
+
+2011-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49128
+ * config/i386/driver-i386.c (host_detect_local_cpu): Fix a typo.
+
+2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48757
+ * ira-build.c (loop_with_eh_edge_p): Rename to
+ loop_with_complex_edge_p, check edges on complexity, make function
+ conditional.
+ (mark_loops_for_removal): Make call of loop_with_complex_edge_p
+ conditional.
+
+2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_option_override): If not set by the user,
+ force flag_ira_share_save_slots to 0.
+
+2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * var-tracking.c (compute_cfa_pointer): Adjust head comment.
+ (vt_initialize): Set PROLOGUE_BB unconditionally.
+ Add block comment about CFA_BASE_RTX machinery.
+ Reset FP_CFA_OFFSET to -1 on all invalid paths.
+ Call vt_init_cfa_base only if FP_CFA_OFFSET isn't equal to -1.
+
+2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/48187
+ * c-parser.c (c_parser_objc_class_instance_variables): More robust
+ parsing of syntax error in ObjC instance variable lists. In
+ particular, avoid an infinite loop if there is a stray ']'.
+ Updated error message.
+
+2011-05-24 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_define): Don't accept a string immediately after
+ another operand.
+
+2011-05-24 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (struct godump_container): Add invalid_hash field.
+ (go_format_type): Return false if type is found in invalid_hash.
+ (go_output_typedef): Add invalid type to invalid_hash.
+ (go_finish): Create and delete invalid_hash.
+
+2011-05-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * tree-ssa-math-opts.c (powi_table): New.
+ (powi_lookup_cost): New.
+ (powi_cost): New.
+ (powi_as_mults_1): New.
+ (powi_as_mults): New.
+ (gimple_expand_builtin_powi): New.
+ (execute_cse_sincos): Add switch case for BUILT_IN_POWI.
+ (gate_cse_sincos): Remove sincos/cexp restriction.
+
+2011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/3746
+ * config.gcc (alpha*-dec-osf5.1*): Only build mips-tfile,
+ mips-tdump native.
+ * mips-tfile.c: Remove CROSS_DIRECTORY_STRUCTURE handling.
+ * mips-tdump.c: Likewise.
+
+2011-05-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49128
+ * config/i386/driver-i386.c (host_detect_local_cpu): Always
+ add -mno-XXX. Handle FMA.
+
+2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48633
+ * ira-build.c (loop_with_eh_edge_p): New function.
+ (mark_loops_for_removal): Use it.
+
+2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48971
+ * ira.c (setup_pressure_classes): Don't check register move cost
+ for classes with one registers. Don't add pressure class if there
+ is a pressure class with the same available hard registers.
+ Check contains_reg_of_mode. Fix a typo in collecting
+ temp_hard_regset. Ignore hard registers not belonging to a class.
+
+2011-05-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49133
+ * config/i386/sse.md (sse2_loadhpd): Remove shufpd alternative.
+
+2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR gcov-profile/48845
+ * config/sol2.h (LIB_SPEC): Link TLS support for tree profiling.
+
+2011-05-24 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (compare_type_names_p): Remove for_completion_p arg.
+ (gimple_compatible_complete_and_incomplete_subtype_p): Remove.
+ (gimple_types_compatible_p_1): Adjust.
+ (iterative_hash_canonical_type): Do not bother about complete vs.
+ incomplete types.
+ (gimple_canonical_types_compatible_p): Likewise.
+
+2011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Remove.
+
+2011-05-24 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/49078
+ * gimple.c (gimple_register_canonical_type): Revert
+ previous change.
+ * alias.c (get_alias_set): Only assert that TYPE_CANONICAL
+ does not for a tree for the case where it matters. Cache
+ pointer-type alias-sets.
+
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (GCC_OBJS): Remove opts-common.o and options.o.
+ (OBJS): Remove options.o, opts-common.o and prefix.o.
+ (OBJS-libcommon-target): New.
+ (ALL_HOST_BACKEND_OBJS): Include $(OBJS-libcommon-target).
+ (BACKEND): Include libcommon-target.a.
+ (MOSTLYCLEANFILES): Include libcommon-target.a.
+ (libcommon-target.a): New.
+ (xgcc$(exeext), cpp$(exeext)): Use libcommon-target.a instead of
+ prefix.o.
+
+2011-05-23 Joseph Myers <joseph@codesourcery.com>
+
+ * optc-save-gen.awk: New. Based on optc-gen.awk. Don't generate
+ parts of output shared with the driver.
+ * optc-gen.awk: Don't generate parts of output not shared with the
+ driver.
+ * opth-gen.awk: Remove GCC_DRIVER conditionals.
+ * doc/options.texi (SourcerInclude): Mention options-save.c.
+ * Makefile.in (GCC_OBJS): Use options.o instead of gcc-options.o.
+ (OBJS): Add options-save.o.
+ (options-save.c, options-save.o): New.
+ (options.o): Update dependencies.
+ (gcc-options.o): Remove.
+ (mostlyclean): Remove options-save.c.
+
+2011-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49032
+ * dbxout.c: Include cgraph.h.
+ (dbxout_expand_expr): If a VAR_DECL is TREE_STATIC, not written
+ and without value expr, return NULL if no varpool node exists for
+ it or if it is not needed.
+ * Makefile.in (dbxout.o): Depend on $(CGRAPH_H).
+
+ PR c/49120
+ * c-decl.c (start_decl): Convert expr to void_type_node.
+
+2011-05-23 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/48826
+ * emit-rtl.c (try_split): When splitting a call that is followed
+ by a NOTE_INSN_CALL_ARG_LOCATION, move the note after the new call.
+
+2011-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ * cfgexpand.c (expand_debug_expr): For unused non-addressable
+ parameters passed in memory prefer using DECL_INCOMING_RTL over
+ the pseudos it will be copied into.
+
+2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47315
+ * config/i386/i386.c (ix86_option_override_internal): Save the
+ initial options after checking vzeroupper.
+
+2011-05-23 David Li <davidxl@google.com>
+
+ PR tree-optimization/48988
+ * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
+ Initialize has_valid_pred for each pred chain.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p_1): Always compare type names.
+ (iterative_hash_gimple_type): Always hash type names.
+
+2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-typeck.c (build_function_call_vec): Tweak call to
+ check_function_arguments.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49115
+ * tree-ssa-alias.c (stmt_kills_ref_p_1): If the assignment
+ is not necessarily carried out, do not claim it kills the ref.
+ * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/15419
+ * builtins.c (fold_builtin_memory_op): Be less restrictive about
+ what pointer types we accept for folding.
+
+2011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gthr-gnat.c: Remove.
+ * gthr-gnat.h: Remove.
+ * Makefile.in (LIB2ADDEH): Remove $(srcdir)/gthr-gnat.c.
+ * config/t-freebsd (LIB2ADDEH): Likewise.
+ * config/t-linux (LIB2ADDEH): Likewise.
+ * config/t-sol2 (LIB2ADDEH): Likewise.
+ * config/ia64/t-vms (LIB2ADDEH): Likewise.
+ * configure.ac (target_thread_file): Remove gnat handling.
+ * configure: Regenerate.
+ * doc/install.texi (Configuration, --enable-threads): Remove gnat.
+
+2011-05-23 Tristan Gingold <gingold@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcov.c (create_file_names): If no object directory is specified,
+ keep the directory of the file.
+
+2011-05-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (enable_threads): Remove irix; add lynx, tpf; sort list.
+ * configure: Regenerate.
+
+2011-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48973
+ * expr.c (expand_expr_real_2) <case LT_EXPR>: If do_store_flag
+ failed and the comparison has a single bit signed type, use
+ constm1_rtx instead of const1_rtx for true value.
+ (do_store_flag): If ops->type is single bit signed type, disable
+ signel bit test optimization and pass -1 instead of 1 as last
+ parameter to emit_store_flag_force.
+
+2011-05-23 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): New
+ function.
+ (infer_loop_bounds_from_undefined): Use new function.
+
+2011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.h (SUBTARGET_ASM_OPTIMIZING_SPEC): Delete.
+ (ASM_SPEC): Add a -O* option here. Pass -O0 for -noasmopt,
+ -O1 for -fno-delayed-branch, -O2 if optimization is enabled,
+ and -O0 otherwise.
+ (EXTRA_SPECS): Remove subtarget_asm_optimizing_spec.
+
+2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgcleanup.c (try_forward_edges): Do not update BB_FORWARDER_BLOCK.
+ (try_optimize_cfg): Update BB_FORWARDER_BLOCK if try_forward_edges
+ returns true.
+
+2011-05-22 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_default_arch): Honor MIPS_ISA_DEFAULT.
+
+2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (sparc_delegitimize_address): Handle
+ UNSPEC_MOVE_PIC pattern.
+
+2011-05-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config.gcc (sparc-*-elf*): Add sparc/t-crtin.
+ (sparc-*-rtems*): Likewise.
+ (sparc64-*-elf*): Likewise.
+ (sparc64-*-rtems*): Likewise.
+ (sparc*-*-solaris2*): Likewise. Remove crti.o crtn.o extra parts.
+ * config/sparc/t-crtin: New file.
+ * config/sparc/t-sol2 (crti.o): Delete rule.
+ (crtn.o): Likewise.
+ * config/sparc/t-linux64 (EXTRA_MULTILIB_PARTS): Delete.
+ * config/sparc/t-sol2-64 (EXTRA_MULTILIB_PARTS): Likewise.
+ * config/sparc/sp64-elf.h (STARTFILE_SPEC): Tidy and add crti.o.
+ (ENDFILE_SPEC): Add crtn.o.
+
+2011-05-22 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/48689
+ * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with
+ CODE_CONTAINS_STRUCT (TS_COMMON).
+
+2011-05-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49029
+ * expmed.c (extract_fixed_bit_field): Test whether target can be used
+ only after deciding which mode to use.
+
+2011-05-22 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-ivopts.c (force_expr_to_var_cost): Fix const test
+ for call to get_shiftadd_cost.
+
+2011-05-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49104
+ * config/i386/cpuid.h (bit_MMXEXT): New define.
+
+2011-05-22 Nick Clifton <nickc@redhat.com>
+
+ * config/stormy16/stormy16.c (xstormy16_init_builtins): prevent
+ initialisation of non-existant args[2] element. Use args[] array
+ not arg[] array to pass arguments to build_function_type_list.
+
+2011-05-22 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49087
+ * tree-vect-loop.c (vect_is_slp_reduction): Fail if LHS has no uses.
+
+2011-05-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/49092
+ * dwarf2out.c (tree_add_const_value_attribute_for_decl): Check for
+ static storage duration.
+
+2011-05-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.md (setjmp): Handle PIC mode and use the hard
+ frame pointer.
+
+2011-05-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sparc.c (eligible_for_return_delay): Do not return
+ false if there are call-saved registers here...
+ (sparc_can_use_return_insn_p): ...but here instead.
+ (save_or_restore_regs): Fix thinko.
+ (sparc_expand_prologue): Use current_function_is_leaf.
+ (sparc_frame_pointer_required): Likewise.
+
+2011-05-21 Nick Clifton <nickc@redhat.com>
+
+ PR target/49098
+ * config/rx/rx.c (rx_memory_move_cost): Note unused parameters.
+
+2011-05-21 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * gengtype.c (walk_type): Implemented "atomic" GTY option.
+ * doc/gty.texi (GTY Options): Document "atomic" GTY option.
+
+2011-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ * opt-read.awk: New. Split out of optc-gen.awk and opth-gen.awk.
+ * optc-gen.awk: Move common code to opt-read.awk.
+ * opth-gen.awk: Likewise.
+ * Makefile.in (options.c, s-options-h): Update to use opt-read.awk.
+
+2011-05-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * godump.c (go_format_type): Don't use TYPE_ARG_TYPES.
+
+2011-05-20 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-ivopts.c: Include expmed.h.
+ (get_shiftadd_cost): New function.
+ (force_expr_to_var_cost): Declare forward. Use get_shiftadd_cost.
+
+2011-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/49086
+ * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL
+ for PHI args that are SSA_NAME_IS_DEFAULT_DEF.
+
+2011-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in: Update comment referring to $(OBJS-common).
+
+2011-05-20 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_output_typedef): Put enum constants in the macro
+ hash table to avoid duplicate Go const definitions.
+
+2011-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * Makefile.in (LIBDEPS): Add libcommon.a.
+ (LIBS): Likewise.
+ (GCC_OBJS): Remove diagnostic.o, pretty-print.o and input.o.
+ (OBJS-common): Remove diagnostic.o, input.o, intl.o,
+ pretty-print.o and version.o.
+ (OBJS-libcommon): New.
+ (ALL_HOST_BACKEND_OBJS): Add $(OBJS-libcommon).
+ (BACKEND): Add libcommon.a.
+ (MOSTLYCLEANFILES): Likewise.
+ (libcommon.a): New.
+ (xgcc$(exeext)): Don't explicitly use version.o and intl.o.
+ (cpp$(exeext)): Likewise.
+ (COLLECT2_OBJS): Remove intl.o, version.o, diagnostic.o,
+ pretty-print.o and input.o.
+ (lto-wrapper$(exeext)): Don't explicitly use intl.o.
+ (lto-wrapper.o): Depend on $(DIAGNOSTIC_H).
+ (errors.o): Remove.
+ (mips-tfile): Don't explicitly use version.o.
+ (mips-tdump): Likewise.
+ (gcov.o): Depend on $(DIAGNOSTIC_H).
+ (gcov-dump.o): Depend on intl.h and $(DIAGNOSTIC_H).
+ (GCOV_OBJS): Remove intl.o, version.o and errors.o.
+ (GCOV_DUMP_OBJS): Remove version.o and errors.o.
+ * gcov-dump.c: Include intl.h and diagnostic.h.
+ (main): Initialize diagnostics.
+ * gcov.c: Include diagnostic.h.
+ (fnotice): Remove.
+ (main): Initialize diagnostics.
+ * lto-wrapper.c: Include diagnostic.h.
+ (main): Initialize diagnostics.
+
+2011-05-20 Michael Matz <matz@suse.de>
+
+ * Makefile.in (OBJS-common, OBJS-md, OBJS-archive): Merge into OBJS.
+
+2011-05-20 Michael Matz <matz@suse.de>
+ Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer.c (lto_record_common_node): Don't track seen nodes,
+ use lto_streamer_cache_append directly instead of returning a VEC.
+ (preload_common_node): Remove.
+ (lto_get_common_nodes): Rename to lto_preload_common_nodes, don't
+ track seen nodes.
+ (lto_streamer_cache_create): Call lto_preload_common_nodes.
+
+2011-05-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49079
+ * tree-dfa.c (get_ref_base_and_extent): Handle view-converting
+ MEM_REFs correctly for the trailing array access detection.
+ Special case constants the same way as decls for overall size
+ constraining.
+
+2011-05-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/mingw32.h (OUTPUT_QUOTED_STRING): Fix macro
+ argument expansion.
+
+2011-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49073
+ * gimple-fold.c (and_comparisons_1, or_comparisons_1): Return NULL if
+ PHI argument is SSA_NAME, whose def_stmt is dominated by the PHI.
+ * tree-ssa-ifcombine.c (tree_ssa_ifcombine): Calculate dominators.
+
+2011-05-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48849
+ * gimple.c (gimple_register_canonical_type): Compute TYPE_CANONICAL
+ of pointer types the same way the middle-end does.
+
+2011-05-20 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_register_type_1): Do not fiddle with main-variant
+ or pointer-to chains. Delay all fixup to uniquify_nodes.
+
+2011-05-19 Quentin Neill <quentin.neill@amd.com>
+
+ * config/i386/sse.md (fma4_fmsubadd): Use <ssemodesuffix>.
+ (fma4_fmaddsub): Likewise
+
+2011-05-19 Jan Hubicka <jh@suse.cz>
+
+ * gimple.c (gtc_visited, gtc_ob, type_pair_hash, type_pair_eq): Remove.
+ (GIMPLE_TYPE_PAIR_SIZE): New macro.
+ (type_pair_cache): New static var.
+ (lookup_type_pair): Use fixed sized custom hash; make inline.
+ (gtc_visit, gimple_types_compatible_p, gimple_register_type_1): Update
+ calls of lookup_type_pair.
+ (print_gimple_types_stats): Remove cache stats.
+ (free_gimple_type_tables): Free type_pair_cache instead of gtc_visited
+ and gtc_ob.
+
+2011-05-19 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (option_override_internal): Enable TARGET_CMOVE
+ when TARGET_RDRND is active.
+ (ix86_expand_builtin) <case IX86_BUILTIN_RDRAND{16,32,64}_STEP>:
+ Generate dummy SImode target register when target is NULL.
+
+2011-05-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/arm-fpus.def: New.
+ * config/arm/genopt.sh: Generate Enum and EnumValue entries from
+ arm-fpus.def.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm.c (all_fpus): Move contents to arm-fpus.def.
+ (arm_option_override): Don't decode FPU name to string here.
+ * config/arm/arm.opt (mfpu=): Use Enum.
+ * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt, arm.o):
+ Update dependencies.
+
+2011-05-19 Joseph Myers <joseph@codesourcery.com>
+
+ * collect2.c: Include diagnostic.h.
+ (fatal_perror, fatal, error, fancy_abort): Remove.
+ (main): Set progname. Call xmalloc_set_program_name and
+ diagnostic_initialize.
+ (maybe_run_lto_and_relink, main, collect_execute, scan_prog_file,
+ scan_libraries, resolve_lib_name): Call fatal_error instead of
+ fatal and fatal_perror.
+ * collect2.h (error, fatal, fatal_perror): Don't declare.
+ * tlink.c: Include diagnostic-core.h.
+ (recompile_files): Call fatal_error instead of fatal_perror.
+ * Makefile.in (COLLECT2_OBJS): Include diagnostic.o,
+ pretty-print.o and input.o.
+ (collect2.o, tlink.o): Update dependencies.
+
+2011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/i386.md (tls_initial_exec_64_sun): Add semicolon.
+
+2011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/40483
+ * configure.ac (gcc_cv_as_comdat_group_group): Check for Sun as
+ COMDAT group syntax, both SPARC and x86 variants.
+ (HAVE_COMDAT_GROUP): Also define if gcc_cv_as_comdat_group_group.
+ * configure: Regenerate.
+ * config/sol2.h (TARGET_SOLARIS): Define.
+ (PUSHSECTION_FORMAT): Remove.
+ (SECTION_NAME_FORMAT): Define.
+ * config/sol2.c: Include hashtab.h.
+ (solaris_output_init_fini): Replace PUSHSECTION_FORMAT by its
+ expansion, using SECTION_NAME_FORMAT.
+ (solaris_comdat_htab): New variable.
+ (struct comdat_entry): Define.
+ (comdat_hash): New function.
+ (comdat_eq): New function.
+ (solaris_elf_asm_comdat_section): New function.
+ (solaris_define_comdat_signature): New function.
+ (solaris_code_end): New function.
+ * config/sol2-protos.h (solaris_elf_asm_comdat_section): Declare.
+ (solaris_code_end): Declare.
+ * config/t-sol2 (sol2.o): Add $HASHTAB_H dependency.
+ * config/i386/i386.c (ix86_code_end) [TARGET_SOLARIS]: Call
+ solaris_code_end.
+ (i386_solaris_elf_named_section): Wrap in TARGET_SOLARIS.
+ Remove ATTRIBUTE_UNUSED.
+ [!USE_GAS]: Call solaris_elf_asm_comdat_section for
+ SECTION_LINKONCE sections if HAVE_COMDAT_GROUP.
+ * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section): Likewise.
+ * config/i386/sol2-10.h (TARGET_ASM_NAMED_SECTION): Moved ...
+ * config/i386/sol2.h (TARGET_ASM_NAMED_SECTION): ... here.
+ * config/sparc/sol2.h (TARGET_ASM_CODE_END): Redefine.
+ (PUSHSECTION_FORMAT): Remove.
+ (SECTION_NAME_FORMAT): Redefine.
+
+2011-05-19 Kai Tietz <ktietz@redhat.com>
+
+ * tree-cfg.c (verify_gimple_assign_binary): Barf on
+ TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
+ (gimplify_expr): Move TRUTH_AND|OR|XOR_EXPR to its binary form.
+
+2011-05-19 Anatoly Sokolov <aesok@post.ru>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/t-sol2 (sol2.o): Add $(TARGET_H) dependency.
+
+2011-05-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48985
+ * tree-object-size.c (addr_object_size): If the pointed-to
+ variable is a decl use DECL_SIZE_UNIT instead of TYPE_SIZE_UNIT.
+
+2011-05-19 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p_1): Compare names of
+ the types themselves.
+ (iterative_hash_gimple_type): And hash them that way.
+ (gimple_register_type_1): If we register a main variant properly
+ initialize the leader to ourselves.
+
+2011-05-19 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-ivopts.c (get_expr_id): Factored new function out of
+ get_loop_invariant_expr_id.
+ (get_loop_invariant_expr_id): Use get_expr_id.
+ (parm_decl_cost): New function.
+ (determine_use_iv_cost_condition): Use get_expr_id and parm_decl_cost.
+ Improve bound cost estimation. Use different inv_expr_id for elim and
+ express cases.
+
+2011-05-19 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-ivopts.c (determine_iv_cost): Prevent
+ cost_base.cost == 0.
+
+2011-05-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49002
+ * config/i386/sse.md
+ (avx_<ssemodesuffix><avxsizesuffix>_<ssemodesuffix>): Properly handle
+ load cast.
+
+2011-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49039
+ * tree-vrp.c (extract_range_from_binary_expr): For
+ MIN_EXPR <~[a, b], ~[c, d]> and MAX_EXPR <~[a, b], ~[c, d]>
+ return ~[MAX_EXPR <a, c>, MIN_EXPR <b, d>].
+
+2011-05-18 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-ivopts.c (computation_cost): Prevent cost of 0.
+
+2011-05-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
+ (*tls_global_dynamic_64): Ditto.
+ (*tls_local_dynamic_base_32_gnu): Ditto.
+ (*tls_local_dynamic_base_64): Ditto.
+ (tls_initial_exec_64_sun): Ditto.
+
+2011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
+
+ * doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
+ * config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
+ bf592-none.
+ * config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
+ * config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
+ * config/bfin/bfin.c (bfin_cpus): Add bf592.
+ * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
+ __ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
+ * config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
+ * config/bfin/elf.h (LIB_SPEC): Add bf592.
+
+2011-05-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/arm-opts.h (enum arm_fp16_format_type, enum
+ arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from arm.h.
+ * config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
+ target_thread_pointer, arm_structure_size_boundary, struct
+ float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
+ struct abi_name, arm_all_abis): Remove.
+ (arm_option_override) Don't process most enumerated option values here.
+ Don't process target_fpe_name here. Work with integer not string for
+ structure size boundary; use separate diagnostics for each case.
+ * config/arm/arm.h (enum float_abi_type, enum
+ arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
+ to arm-opts.h.
+ (arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
+ arm_structure_size_boundary): Remove.
+ * config/arm/arm.opt (mabi=): Use Enum and Init.
+ (arm_abi_type): New Enum and EnumValue entries.
+ (mfloat-abi=): Use Enum and Init.
+ (float_abi_type): New Enum and EnumValue entries.
+ (mfp=, mfpe=): Replace by separate Alias entries for each argument.
+ (mfp16-format=): Use Enum and Init.
+ (arm_fp16_format_type): New Enum and EnumValue entries.
+ (mstructure-size-boundary=): Use UInteger and Init.
+ (mtp=): Use Enum and Init.
+ (arm_tp_type): New Enum and EnumValue entries.
+
+2011-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49018
+ * gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
+ * tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
+ gimple_has_side_effects.
+
+2011-05-18 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_register_type_1): New function, split out from ...
+ (gimple_register_type): ... here. Avoid infinite recursion.
+
+2011-05-18 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/41881
+ * tree-vectorizer.h (struct _loop_vec_info): Add new field
+ reduction_chains along with a macro for its access.
+ * tree-vect-loop.c (new_loop_vec_info): Initialize reduction chains.
+ (destroy_loop_vec_info): Free reduction chains.
+ (vect_analyze_loop_2): Return false if vect_analyze_slp() returns false.
+ (vect_is_slp_reduction): New function.
+ (vect_is_simple_reduction_1): Call vect_is_slp_reduction.
+ (vect_create_epilog_for_reduction): Support SLP reduction chains.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow different
+ definition types for reduction chains.
+ (vect_supported_load_permutation_p): Don't allow permutations for
+ reduction chains.
+ (vect_analyze_slp_instance): Support reduction chains.
+ (vect_analyze_slp): Try to build SLP instance from reduction chains.
+ (vect_get_constant_vectors): Handle reduction chains.
+ (vect_schedule_slp_instance): Mark the first statement of the
+ reduction chain as reduction.
+
+2011-05-18 Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
+ names for group elements access.
+ * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
+ reduction chains as well. Remove data reference and interleaving
+ related words from the fields names.
+ * tree-vect-loop.c (vect_transform_loop): Use new names for group
+ elements access.
+ * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
+ vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
+ vect_update_interleaving_chain, vect_same_range_drs,
+ vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
+ vect_verify_datarefs_alignment, vector_alignment_reachable_p,
+ vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
+ vect_analyze_group_access, vect_analyze_data_ref_access,
+ vect_create_data_ref_ptr, vect_transform_strided_load,
+ vect_record_strided_load_vectors): Likewise.
+ * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
+ vect_model_load_cost, vectorizable_store, vectorizable_load,
+ vect_remove_stores, new_stmt_vec_info): Likewise.
+ * tree-vect-slp.c (vect_build_slp_tree,
+ vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.
+
+2011-05-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48989
+ * tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
+ operand verification.
+ (verify_gimple_assign_binary): Likewise.
+ * tree-ssa.c (useless_type_conversion_p): Preserve conversions
+ to non-1-precision BOOLEAN_TYPEs.
+
+2011-05-18 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.
+
+2011-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49000
+ * tree-ssa.c (execute_update_addresses_taken): Call
+ maybe_rewrite_mem_ref_base on debug stmt value. If it couldn't
+ be rewritten and decl has been marked for renaming, reset
+ the debug stmt.
+
+2011-05-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_valid_target_attribute_tree): Use
+ enum_opts_set when testing if attributes have set -mfpmath=.
+
+2011-05-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_handle_option): Remove unused variable.
+
+2011-05-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
+ info->entry with 0
+ * tree-inline.c (maybe_inline_call_in_expr): Initialize
+ id.transform_lang_insert_block with NULL.
+
+2011-05-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
+ (output_fp_compare): Change args 3 and 4 to bool.
+ (ix86_expand_call): Change arg 6 to bool.
+ (ix86_attr_length_immediate_default): Change arg 2 to bool.
+ (ix86_attr_length_vex_default): Change arg 3 to bool.
+ * config/i386/i386.md: Update all uses.
+ * config/i386/i386.c: Ditto.
+ (ix86_flags_dependent): Change return type to bool.
+
+2011-05-17 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (type_hash_pair_compare): Fix comparison.
+
+2011-05-17 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (iterative_hash_gimple_type): Simplify singleton
+ case some more, fix final hash value of the non-singleton case.
+
+2011-05-17 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/49013
+ Revert
+ 2011-05-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p_1): Use names of the
+ type itself, not its main variant.
+ (iterative_hash_gimple_type): Likewise.
+
+2011-05-17 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_register_canonical_type): Use the main-variant
+ leader for computing the canonical type.
+
+2011-05-17 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_memory_move_cost): Include cost of register
+ moves.
+
+ * config/rx/rx.md: Add peephole to remove redundant extensions
+ after loads.
+ (bitset_in_memory): Use rx_restricted_mem_operand.
+ (bitinvert_in_memory): Likewise.
+ (bitclr_in_memory): Likewise.
+
+2011-05-17 Kazuhio Inaoka <kazuhiro.inaoka.ud@renesas.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md: Add peepholes to match a register move followed
+ by a comparison of the moved register. Replace these with an
+ addition of zero that does both actions in one instruction.
+
+2011-05-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48986
+ * config/i386/sync.md (sync_old_add<mode>): Relax operand 2
+ predicate to allow CONST_INT.
+ (*sync_old_add_cmp<mode>): New insn and peephole2 for it.
+
+2011-05-16 Joseph Myers <joseph@codesourcery.com>
+
+ * opts-common.c (opt_enum_arg_to_value): New.
+ * opts.h (opt_enum_arg_to_value): Declare.
+ * config/i386/i386.opt (fpmath): Remove.
+ (mfpmath=): Use Enum, Init and Save.
+ (fpmath_unit): New Enum and EnumValue entries.
+ * config/i386/i386-c.c (ix86_pragma_target_parse): Update field
+ name for function fpmath state.
+ * config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
+ * config/i386/i386.c: Include diagnostic.h.
+ (ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
+ (ix86_target_string): Take enum fpmath_unit value instead of string.
+ (ix86_debug_options): Update call to ix86_target_string.
+ (ix86_option_override_internal): Don't process fpmath strings here.
+ (x86_function_specific_save, ix86_function_specific_restore):
+ Don't handle fpmath state specially.
+ (ix86_function_specific_print): Pass fpmath state to
+ ix86_target_string instead of printing in this function.
+ (ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
+ Handle enum attributes.
+ (IX86_ATTR_ENUM, ix86_opt_enum): New.
+ (ix86_valid_target_attribute_tree): Update option_strings
+ handling. Handle fpmath as enum option.
+ (ix86_can_inline_p): Update field names for function fpmath state.
+ (ix86_expand_builtin): Update call to ix86_target_string.
+ * config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
+ (ix86_fpmath): Remove.
+ * config/i386/t-i386 (i386.o): Update dependencies.
+
+2011-05-16 Joseph Myers <joseph@codesourcery.com>
+
+ PR preprocessor/48677
+ * cppspec.c (lang_specific_driver): Set new_decoded_options[0]
+ from decoded_options[0], not from itself.
+
+2011-05-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraints.md (z): New constraint.
+ * config/i386/i386.c (c): New mode attribute.
+ (*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
+ *call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
+ constraint for operand 0.
+ (*call_vzeroupper): Ditto.
+ (*call_rex64_ms_sysv): Ditto. Use "rzm" constraint for operand 0.
+ (*call_rex64_ms_sysv_vzeroupper): Ditto.
+ (*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
+ Use "lzm" constraint for operand 0.
+ (*call_pop_vzeroupper): Ditto.
+ (*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
+ *sibcall_1_rex64 patterns using "P" mode iterator. Use "Uz"
+ constraint for operand 0.
+ (*sibcall_vzeroupper): Ditto.
+ (*sibcall_rex64_ms_sysv): Ditto.
+ (*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
+ (*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
+ *sibcall_pop_1. Use "Uz" constraint for operand 0.
+ (*sibcall_pop_vzeroupper): Ditto.
+ (*call_value): Merge insn pattern from *call_value_0, *call_value_1,
+ *call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
+ mode iterator. Use "<c>zm" constraint for operand 1.
+ (*call_value_vzeroupper): Ditto.
+ (*call_value_rex64_ms_sysv): Ditto. Use "rzm" constraint
+ for operand 1.
+ (*call_value_rex64_ms_sysv_vzeroupper): Ditto.
+ (*call_value_pop): Merge insn pattern from *call_value_pop_0 and
+ *call_value_pop_1. Use "lzm" constraint for operand 1.
+ (*call_value_pop_vzeroupper): Ditto.
+ (*sibcall_value): Merge insn pattern from *sibcall_value_0,
+ *sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
+ mode iterator. Use "Uz" constraint for operand 1.
+ (*sibcall_value_vzeroupper): Ditto.
+ (*sibcall_value_rex64_ms_sysv): Ditto.
+ (*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
+ (*sibcall_value_pop): Rename from *sibcall_pop_1. Use "Uz"
+ constraint for operand 1.
+ (*sibcall_value_pop_vzeroupper): Ditto.
+ (*tls_global_dynamic_64): Use constant_call_address_operand predicate
+ and "z" constraint for operand 2.
+ (*tls_global_dynamic_32_gnu): Ditto.
+ (*tls_local_dynamic_base_32_gnu): Ditto.
+ (*tls_local_dynamic_base_64): Ditto.
+ (*tls_local_dynamic_32_once): Ditto.
+ * config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
+ Update all callers.
+ * config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.
+
+2011-05-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_types_compatible_p_1): Use names of the
+ type itself, not its main variant.
+ (iterative_hash_gimple_type): Likewise.
+
+2011-05-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (iterative_hash_gimple_type): Re-instantiate change to
+ always visit pointer target and function result and argument types.
+
+2011-05-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/48999
+ * tree-inline.c (copy_statement_list): Put back recursion.
+
+2011-05-16 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/27663
+ PR target/41076
+ * config/avr/predicates.md (const_8_16_24_operand): New predicate.
+ * config/avr/avr.md ("*ior<mode>qi.byte0",
+ "*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.
+
+2011-05-16 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/45099
+ * config/avr/avr.c (avr_function_arg_advance): Error if a fixed
+ register is needed for a function argument.
+
+2011-05-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (struct type_hash_pair): New type.
+ (type_hash_pair_compare): New function.
+ (iterative_hash_gimple_type): Mix in SCC member hashes in hash-order.
+
+2011-05-16 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (doloop_register_get): Check !DEBUG_INSN_P first.
+
+2011-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (floating point move splitters): Fix
+ usage of standard_80387_constant_p.
+ * config/i386/i386.c (ix86_preferred_reload_class): Ditto.
+
+2011-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal): Simplify insn condition.
+
+2011-05-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
+ (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
+ (tree_ssa_lim_finalize): Likewise.
+
+2011-05-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraint.md (Yd, Yx): New register constraints.
+ * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
+ Yd conditional register constraint.
+ (*movtf_internal): Use standard_sse_constant_opcode.
+ (*movxf_internal): Merge with *movxf_internal_nointeger. Use
+ Yx conditional register constraint.
+ (*movdf_internal): Merge with *movdf_internal_nointeger. Use
+ Yd conditional register constraint. Use standard_sse_constant_p to
+ check for valid SSE constants and call standard_sse_constant_opcode to
+ output SSE insn.
+ (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
+ constants and call standard_sse_constant_opcode to output SSE insn.
+ * config/i386/i386.c (ix86_option_ovverride_internal): Set
+ TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
+ optimize_size is set.
+ (standard_sse_constant_opcode): Output conditional AVX insn templates.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
+
+2011-05-13 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (ipa_cst_from_jfunc): New function.
+ * ipa-prop.h (ipa_cst_from_jfunc): Declare.
+ * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
+ (evaluate_conditions_for_ipcp_clone): Removed.
+ (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
+ * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
+ * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
+
+2011-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
+ * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
+ lieu of MAY_HAVE_DEBUG_STMTS.
+ * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
+ debug statements if !MAY_HAVE_DEBUG_STMTS.
+
+2011-05-13 Martin Thuresson <martint@google.com>
+
+ PR gcov-profile/47793
+ * libgcov.c (gcov_exit): Support relative profile paths.
+ * doc/invoke.texi (-fprofile-dir): Update for above change.
+
+2011-05-13 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_canonical_types_compatible_p): Do not use
+ type-pair caching, do not compare hashes.
+
+2011-05-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR middle-end/48965
+ * tree-cfg.c (edge_to_cases_cleanup): Return true.
+ (verify_expr) [CASE_LABEL_EXPR]: Add checking.
+
+2011-05-13 Kai Tietz <ktietz@redhat.com>
+
+ * gimplify.c (gimplify_expr): Make sure operand is boolified.
+ * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
+ compatible type for TRUTH_NOT_EXPR.
+
+2011-05-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_save_reg): Change return type to bool.
+ (ix86_hard_regno_mode_ok): Change return value to bool. Use
+ can_create_pseudo_p ().
+
+2011-05-13 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48978
+ * gimple.c (iterative_hash_gimple_type): Revert change in
+ pointer target and function result and argument hashing.
+
+2011-05-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
+ (*movxf_internal_nointeger): Ditto.
+ (*movdf_internal_rex64): Ditto.
+ (*movdf_internal): Ditto.
+ (*movdf_internal_nointeger): Ditto.
+ (*movsf_internal): Ditto.
+ (sincos splitters): Use can_create_pseudo ().
+
+2011-05-13 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386-opts.h: New.
+ * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
+ ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
+ ix86_section_threshold): Remove.
+ (ix86_handle_option): Move MAX_CODE_ALIGN define here. Handle
+ OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
+ OPT_mbranch_cost_.
+ (ix86_option_override_internal): Don't decode strings for options
+ other than -march=, -mtune= and -mfpmath=. Don't allow for
+ __attribute__ uses in remaining diagnostics for options with
+ string arguments. Don't check for integer arguments being negative.
+ * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
+ enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
+ (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
+ ix86_branch_cost, ix86_section_threshold): Remove.
+ * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
+ HeaderInclude.
+ (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
+ but not Var.
+ (masm=): Use Enum and Init.
+ (asm_dialect): New Enum and EnumValue entries.
+ (mbranch-cost=): Use UInteger.
+ (mlarge-data-threshold=): Use UInteger and Init.
+ (mcmodel=): Use Enum and Init.
+ (cmodel): New Enum and EnumValue entries.
+ (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
+ (mpreferred-stack-boundary=, mincoming-stack-boundary=,
+ mregparm=): Use UInteger.
+ (mstringop-strategy=): Use Enum and Init.
+ (stringop_alg): New Enum and EnumValue entries.
+ (mtls-dialect=): Use Enum and Init.
+ (tls_dialect): New Enum and EnumValue entries.
+ (mabi=): Use Enum and Init.
+ (calling_abi): New Enum and EnumValue entries.
+ (mveclibabi=): Use Enum and Init.
+ (ix86_veclibabi): New Enum and EnumValue entries.
+
+2011-05-13 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
+ * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
+
+2011-05-13 Kai Tietz <ktietz@redhat.com>
+
+ PR middle-end/48984
+ * gimplify.c (gimplify_expr): Check for boolean_type_node instead
+ for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
+ (gimple_boolify): Check for cast for boolean_type_node instead for
+ BOOLEAN_TYPE.
+
+2011-05-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48172
+ * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
+ multiplying by number of iterations for equal step.
+ (vect_create_cond_for_alias_checks): Likewise.
+
+2011-05-13 Andreas Schwab <schwab@redhat.com>
+
+ * configure.ac: Use AS_HELP_STRING throughout.
+ * configure: Regenerate.
+
+2011-05-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
+ (ix86_emit_restore_regs_using_mov): Likewise.
+ (ix86_emit_restore_sse_regs_using_mov): Likewise.
+
+2011-05-12 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
+ SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
+ (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
+ * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
+ RTX_OK_FOR_OLO10_P): ...here.
+ (sparc_mode_dependent_address_p): Use symbolic_operand instead of
+ SYMBOLIC_CONST.
+
+2011-05-12 Kai Tietz <ktietz@redhat.com>
+
+ * gimplify.c (gimple_boolify): Re-boolify expression
+ arguments even if expression type is of kind BOOLEAN_TYPE.
+ (gimplify_boolean_expr): Removed.
+ (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
+ and XOR. Additional take care that we keep expression's type.
+ * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
+ of TRUTH_AND|OR|XOR_EXPR.
+
+2011-05-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48975
+ * tree-if-conv.c (combine_blocks): Call free_bb_predicate
+ on all bbs here and free and clear ifc_bbs at the end.
+
+2011-05-12 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
+ NULLPTR_TYPE similar to VOID_TYPE. Defer type-leader lookup
+ until after simple checks.
+ (gimple_types_compatible_p): Likewise.
+ (iterative_hash_gimple_type): Always hash pointer targets
+ and function return and argument types.
+ (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
+ hash TYPE_ALIGN. Do not hash TYPE_MIN/MAX_VALUE.
+ (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
+ handle NULLPTR_TYPE similar to VOID_TYPE. Handle non-aggregates
+ completely in the simple compare section.
+ (gimple_register_canonical_type): Query the cache again after
+ registering.
+
+2011-05-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48172
+ * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
+ the number of iterations from the segment size calculation.
+ (vect_create_cond_for_alias_checks): Adjust.
+
+2011-05-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48967
+ * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
+ if validate_subreg fails.
+
+2011-05-12 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
+ accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
+ early.
+
+2011-05-12 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
+ (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
+ created builtin into rx_builtins array.
+ (rx_builtin_decl): New function.
+ (TARGET_BUITLIN_DECL): Define. Include gt-rx.h.
+
+2011-05-12 DJ Delorie <dj@redhat.com>
+ Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
+ * config/rx/rx.c (CC_FLAG_FP): Fix comment.
+ (rx_is_legitimate_address): Add pre-decrement and post-increment
+ addressing in HImode and QImode. Fix test for out of range
+ REG+INT addressing.
+ (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
+ (rx_align_for_label): Test label before extracting its usage count.
+ (rx_adjust_insn_lengths): Fix selection of insn codes.
+ (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
+
+2011-05-11 Jason Merrill <jason@redhat.com>
+
+ * tree.c (type_hash_canon): Use struct tree_type_non_common.
+
+2011-05-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
+ reindent the subsequent block.
+
+2011-05-11 Satoru Takabayashi <satorux@google.com>
+ Paul Pluzhnikov <ppluzhnikov@google.com>
+
+ * doc/install.texi (Configuration): Document --with-linker-hash-style.
+ * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
+ * config.in: Add LINKER_HASH_STYLE.
+ * configure.ac: Add --with-linker-hash-style.
+ * configure: Regenerate.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48964
+ * gimple.c (iterative_hash_canonical_type): Fix typo.
+
+2011-05-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (legitimize_tls_address)
+ <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
+ expanders directly for TARGET_GNU2_TLS. Determine pic and
+ __tls_get_addr symbol reference here. Update call to
+ gen_tls_global_dynamic_{32,64} for added arguments.
+ <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
+ expanders directly for TARGET_GNU2_TLS. Determine
+ __tls_get_addr symbol reference here. Update call to
+ gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
+ unique UNSPEC REG_EQUIV to libcall block.
+ (ix86_tls_get_addr): Declare static.
+ * config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
+ * config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
+ Do not determine pic and __tls_get_addr symbol reference here. Do not
+ call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
+ (tls_local_dynamic_base_32): Ditto for operands 1 and 2.
+ (tls_global_dynamic_64): Add operand 2. Do not determine
+ __tls_get_addr symbol reference here. Do not call
+ gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
+ (tls_local_dynamic_base64): Ditto for operand 1.
+
+2011-05-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.c (expand_function_start): Initialize stack_check_probe_note
+ only if the generic stack checking mechanism is used.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/15256
+ * tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
+ (A & B) | C, combine (A op CST1) op CST2.
+ (tree_ssa_forward_propagate_single_use_vars): Only bother to
+ visit assigns that have uses.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * ggc-page.c (extra_order_size_table): Use struct tree_type_non_common.
+ * lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
+ (unpack_ts_type_common_value_fields): ...this. Update comment.
+ (unpack_value_fields): Adjust for renaming.
+ (lto_input_ts_type_tree_pointers): Split into...
+ (lto_input_ts_type_common_tree_pointer): ...this and...
+ (lto_input_ts_type_non_common_tree_pointers): ...this.
+ (lto_input_tree_pointers): Adjust for above split.
+ * lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
+ (pack_ts_type_common_value_fields): ...this. Update comment.
+ (lto_output_ts_type_tree_pointers): Split into...
+ (lto_output_ts_type_common_tree_pointers): ...this and...
+ (lto_output_ts_type_non_common_tree_pointers): ...this.
+ (lto_output_tree_pointers): Adjust for above split.
+ * lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
+ TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
+ * stor-layout.c (vector_type_mode): Adjust location of mode field.
+ * tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
+ Define.
+ (struct tree_type): Split into...
+ (struct tree_type_common: ...this and...
+ (struct tree_type_with_lang_specific): ...this and...
+ (struct tree_type_non_common): ...this. Adjust accessor macros
+ accordingly.
+ (TYPE_VALUES_RAW): Define.
+ (union tree_node): Update for above changes.
+ * tree.c (tree_node_structure_for_code) [tcc_type]: Return
+ TS_TYPE_NON_COMMON.
+ (initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
+ Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
+ (tree_code_size) [tcc_type]: Use struct tree_type_non_common.
+ * treestructu.def (TS_TYPE): Remove.
+ (TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
+ Define.
+
+2011-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48159
+ * tree-ssa.c (reset_debug_uses): New function.
+ * tree-flow.h (reset_debug_uses): New prototype.
+ * tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
+ * tree-loop-distribution.c (generate_loops_for_partition): Call
+ reset_debug_uses on the stmts that will be removed. Keep around
+ all debug stmts, don't count them as bits in partition bitmap.
+ (generate_builtin): Don't count debug stmts or labels as bits in
+ partition bitmap.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_type_hash_1): Merge with ...
+ (gimple_type_hash): ... this.
+ (gtc_visit): Remove mode parameter and simplify accordingly.
+ (gimple_types_compatible_p_1): Likewise.
+ (gimple_types_compatible_p): Likewise.
+ (iterative_hash_gimple_type): Likewise.
+ (visit): Likewise.
+ (gimple_type_eq): Adjust.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (create_ddg_dep_from_intra_loop_link): If a true dep edge
+ enters the branch create an anti edge in the opposite direction
+ to prevent the creation of reg-moves.
+ * modulo-sched.c: Adjust comment to reflect the fact we are
+ scheduling closing branch.
+ (PS_STAGE_COUNT): Rename to CALC_STAGE_COUNT and redefine.
+ (stage_count): New field in struct partial_schedule.
+ (calculate_stage_count): New function.
+ (normalize_sched_times): Rename to reset_sched_times and handle
+ incrementing the sched time of the nodes by a constant value
+ passed as parameter.
+ (duplicate_insns_of_cycles): Skip closing branch.
+ (sms_schedule_by_order): Schedule closing branch.
+ (ps_insn_find_column): Handle closing branch.
+ (sms_schedule): Call reset_sched_times and adjust the code to
+ support scheduling of the closing branch.
+ (ps_insert_empty_row): Update calls to normalize_sched_times
+ and rotate_partial_schedule functions.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48953
+ * tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.
+
+2011-05-11 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c (finish_options): Move warning settings from process_options.
+ * toplev.c (process_options): Move warning settings to finish_options.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/18041
+ * tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
+ (simplify_bitwise_binary): ... this. Handle operand conversions
+ by applying them to the result instead.
+ (tree_ssa_forward_propagate_single_use_vars): Adjust. CSE tree code.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_canonical_types_compatible_p): Split out
+ from gimple_types_compatible_p and friends. Do not recurse
+ to pointed-to types.
+ (gimple_canonical_type_eq): Use it.
+ (iterative_hash_canonical_type): Split out from
+ iterative_hash_gimple_type and friends. Do not recurse
+ to pointed-to types.
+ (gimple_canonical_type_hash): Use it, allocate the hash here.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (doloop_register_get): Ignore DEBUG_INSNs while
+ recognizing doloop.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * loop-doloop.c (doloop_condition_get): Use prev_nondebug_insn
+ instead of PREV_INSN.
+
+2011-05-11 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (sms_schedule): Support new form of doloop pattern
+ * loop-doloop.c (doloop_condition_get): Likewise.
+ * config/arm/thumb2.md (*thumb2_addsi3_compare0): Remove "*".
+ (doloop_end): New.
+ * config/arm/arm.md (*addsi3_compare0): Remove "*".
+
+2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.def (CASE_LABEL_EXPR): Add an operand.
+ * tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (c_override_global_bindings_to_false): Remove.
+ (global_bindings_p): Don't check
+ c_override_global_bindings_to_false.
+ * c-tree.h (c_override_global_bindings_to_false): Remove.
+ * c-typeck.c (composite_type): Don't set
+ c_override_global_bindings_to_false.
+
+2011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48857, 48495
+ * config/rs6000/rs6000.h (VSX_SCALAR_MODE): Delete.
+ (VSX_MODE): Ditto.
+ (VSX_MOVE_MODE): Ditto.
+ (ALTIVEC_OR_VSX_VECTOR_MODE): New macro, combine all Altivec and
+ VSX vector types. Add V2DImode.
+ (HARD_REGNO_CALLER_SAVE_MODE): Use it instead of
+ ALTIVEC_VECTOR_MODE and VSX_VECTOR_MODE calls.
+ (MODES_TIEABLE_P): Ditto.
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): Use
+ ALTIVEC_OR_VSX_MODE instead of ALTIVEC_VECTOR_MODE and
+ VSX_VECTOR_MODE.
+ (init_cumulative_args): Ditto.
+ (rs6000_function_arg_boundary): Ditto.
+ (rs6000_function_arg_advance_1): Ditto.
+ (rs6000_function_arg): Ditto.
+ (rs6000_function_ok_for_sibcall): Ditto.
+ (emit_frame_save): Ditto.
+ (rs6000_function_value): Ditto.
+ (rs6000_libcall_value): Ditto.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
+ i386/darwin-lib.h to $libgcc_tm_file.
+ * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New files.
+ * config/rs6000/rs6000-tables.opt: New file (generated).
+ * config.gcc (powerpc*-*-*, rs6000*-*-*): Add
+ rs6000/rs6000-tables.opt to extra_options.
+ * config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
+ * config/rs6000/rs6000.c (rs6000_select): Remove.
+ (processor_target_table): Move contents to rs6000-cpus.def.
+ (darwin_rs6000_override_options): Check
+ global_options_set.x_rs6000_cpu_index instead of
+ rs6000_select[1].string.
+ (rs6000_option_override_internal): Likewise.
+ (rs6000_handle_option): Don't assert that global structures are in
+ use. Don't handle OPT_mcpu_ and OPT_mtune_ here.
+ (rs6000_default_cpu): New variable.
+ (rs6000_file_start): Set it instead of local default_cpu. Check
+ rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
+ global_options_set.x_rs6000_tune_index instead of rs6000_select.
+ (rs6000_darwin_file_start): Check rs6000_default_cpu and
+ global_options_set.x_rs6000_cpu_index instead of rs6000_select.
+ * config/rs6000/rs6000.h (struct rs6000_cpu_select,
+ rs6000_select): Remove.
+ * config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
+ Remove.
+ (mcpu=, mtune=): Use Var, Init, Enum and Save.
+ * config/rs6000/t-rs6000
+ ($(srcdir)/config/rs6000/rs6000-tables.opt): New.
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_rs6000_cpu_index instead of
+ rs6000_select[1].string.
+ * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
+ global_options_set.x_rs6000_cpu_index instead of
+ rs6000_select[1].string.
+
+2011-05-10 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (libgcc_tm_file): Define instead of including files
+ from ../../libgcc/config/ in tm_file.
+ * configure.ac (libgcc_tm_file_list, libgcc_tm_include_list): Define.
+ * configure: Regenerate.
+ * Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
+ libgcc_tm.h, cs-libgcc_tm.h): New.
+ (TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
+ (clean): Remove libgcc_tm.h.
+ * config/arm/symbian.h (RENAME_LIBRARY): Remove.
+ * mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
+ * system.h (DECLARE_LIBRARY_RENAMES): Poison.
+
+2011-05-10 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/48896
+ * config/avr/avr.c (avr_ret_register): Return unsigned int
+ instead of int.
+ (avr_function_value): Mark fn_decl_or_type as unused, don't pass
+ it to avr_libcall_value.
+ avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
+ expand_expr.
+ (avr_expand_binop_builtin): Ditto.
+ (avr_expand_unop_builtin): Ditto.
+
+2011-05-10 DJ Delorie <dj@redhat.com>
+
+ * config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
+ (LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
+ * config/rx/rx.c (rx_align_for_label): Add label and
+ uses_threshold parameters. Do not align when the label is not
+ used enough.
+ * config/rx/rx-protos.h (rx_align_for_label): Update prototype.
+
+2011-05-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-forwprop.c (combine_conversions): Pattern-match
+ a series of conversions and apply foldings similar to what
+ fold-const does.
+ (tree_ssa_forward_propagate_single_use_vars): Call it.
+
+2011-05-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48611
+ PR tree-optimization/48794
+ * tree-eh.c (remove_unreachable_handlers): Don't remove regions
+ referenced from RESX or EH_DISPATCH arguments.
+
+ PR debug/48928
+ * dfp.c (decimal_to_decnumber): Handle conversion from
+ dconst{1,2,m1,half}.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
+ for !flag_prefer_avx128.
+ (ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.
+
+2011-05-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (fold_range_test): Pass LOC to build_range_check.
+ (fold_ternary_loc): Use expr_location_or.
+
+2011-05-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR debug/48853
+ * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
+ POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
+ Pmode and mem_mode is not VOIDmode.
+
+2011-05-09 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST, TYPE_QUAL_VOLATILE,
+ TYPE_QUAL_RESTRICT): Convert to enum.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
+ (const_pow2_1_to_8_operand): Ditto.
+ (const_pow2_1_to_128_operand): Ditto.
+ (const_pow2_1_to_32768_operand): Ditto.
+ * config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
+ const_pow2_1_to_8_operand for operand 3 predicate. Use exact_log2
+ in insn constraint to check integer value of operand 3.
+ * config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.
+
+ (PINSR_MODE): New mode iterator.
+ (sse2p4_1): New mode attribute.
+ (<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
+ sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
+ iterator. Use const_int_operand instead of
+ const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate. Use
+ exact_log2 in insn constraint to check integer value of operand 3.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (blendbits): Remove mode attribute.
+ (<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
+ instead of const_0_to_<blendbits>_operand for operand 3 predicate.
+ Check integer value of operand 3 in insn constraint.
+
+2011-05-09 Richard Guenther <rguenther@suse.de>
+
+ * lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
+ for diagnostics.
+ (lto_symtab_merge): Likewise. Do not register types here.
+ (lto_symtab_merge_decls_2): Likewise.
+ (lto_symtab_merge_decls_1): Likewise.
+ * gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
+ * gimple.c (enum gtc_mode): Declare.
+ (gimple_types_compatible_p): Make static.
+
+2011-05-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (TD/TF mem to reg move splitter): Make the
+ temporary register to match Pmode.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
+ and *vec_concatv4si_1_avx.
+
+2011-05-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR rtl-optimization/48927
+ * ira-conflicts.c (commutative_constraint_p): Use
+ recog_data.alternative_enabled_p to disable alternatives where
+ "enabled" attribute is false.
+ (get_dup_num): Ditto.
+ * ira-lives.c (single_reg_class): Ditto.
+ (ira_implicitly_set_insn_hard_regs): Ditto.
+
+2011-05-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
+ (dataflow_set_preserve_mem_locs): Likewise.
+
+2011-05-09 Philipp Thomas <pth@suse.de>
+
+ * config/mep/mep.c (mep_validate_vliw): Syntax description
+ should not be translated.
+
+2011-05-09 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
+ * config/mips/mips-tables.opt: New file (generated).
+ * config.gcc (mips*-*-*): Add mips/mips-tables.opt to extra_options.
+ * config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
+ MIPS_ARCH_OPTION_NATIVE): Define.
+ * config/mips/mips.c (mips_cpu_info_table): Move contents to
+ mips-cpus.def.
+ (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
+ mips_parse_cpu): Remove.
+ (mips_cpu_info_from_opt, mips_default_arch): New.
+ (mips_handle_option): Don't assert that global structures are in
+ use. Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
+ (mips_option_override): Use new variables and functions to set
+ state of these options. Use strcmp to check for individual CPU names.
+ * config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
+ definition.
+ * config/mips/mips.opt (march=): Use ToLower and Enum.
+ (mips): Use ToLower, Enum and Var.
+ (mtune=): Use ToLower and Enum.
+ * config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.
+
+2011-05-08 Jan Hubicka <jh@suse.cz>
+
+ * gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
+ Arrange type pairs to be UID ordered.
+ (gimple_lookup_type_leader): Make inline.
+
+2011-05-09 Nick Clifton <nickc@redhat.com>
+
+ PR target/48899
+ * config/iq2000/iq2000.opt (iq2000_tune): Initialise to
+ PROCESSOR_DEFAULT.
+
+ PR target/48897
+ * config/mn10300/mn10300.c (extract_bundle): Remove spurious local
+ variable 's'.
+
+2011-05-08 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * combine.c (simplify_comparison): Abstract out parts into...
+ (simplify_compare_const): ... new function.
+ (try_combine): Generalize parallel arithmetic/compare combining
+ to call simplify_compare_const() and CANONICALIZE_COMPARE().
+
+2011-05-08 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
+ (cgraph_create_virtual_clone): Call hooks once virtual clone
+ is finished.
+ * cgraph.h (cgraph_clone_node): Update prototype.
+ * ipa-cp.c (ipcp_estimate_growth): Use
+ estimate_ipcp_clone_size_and_time.
+ * ipa-inline-transform.c (clone_inlined_nodes): Update.
+ * lto-cgraph.c (input_node): Update.
+ * ipa-inline.c (recursive_inlining): Update.
+ * ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
+ (evaluate_conditions_for_known_args): Break out from ...
+ (evaluate_conditions_for_edge): ... here.
+ (evaluate_conditions_for_ipcp_clone): New function.
+ (inline_node_duplication_hook): Update clone summary based
+ on parameter map.
+ (estimate_callee_size_and_time): Rename to ...
+ (estimate_node_size_and_time): take NODE instead of EDGE;
+ take POSSIBLE_TRUTHS as argument.
+ (estimate_callee_size_and_time): Update.
+ (estimate_ipcp_clone_size_and_time): New function.
+ (do_estimate_edge_time): Update.
+
+2011-05-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48908
+ PR middle-end/48905
+ * expmed.c (expand_shift_1): Compute adjusted constant shift
+ amount manually.
+
+2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/avr/avr.c (print_operand_address): Fix invalid RTL access.
+
+2011-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
+
+2011-05-08 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi (-fuse-linker-plugin): Improve grammar.
+
+2011-05-07 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (inline_call): Account when program size
+ decreases.
+ * ipa-inline.c (relative_time_benefit): New function.
+ (edge_badness): Reorganize to be power 2 based; fix thinko when
+ computing badness for negative growth; update comments to match
+ reality; better dumps.
+
+2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
+ type to bool and adjust comment.
+ * fold-const.c (fold_range_test): Adjust call to global_bindings_p.
+ (fold_mathfn_compare): Remove calls to global_bindings_p.
+ (fold_inf_compare): Likewise.
+ * stor-layout.c (variable_size): Adjust call to global_bindings_p.
+ * c-tree.h (global_bindings_p): Adjust prototype.
+ * c-decl.c (global_bindings_p): Return bool and simplify.
+
+2011-05-07 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/48837
+ * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
+ when accumulator transformation is performed.
+
+2011-05-06 Jan Hubicka <jh@suse.cz>
+
+ * i386.h (ix86_tune_indices): Add
+ X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
+ (TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macro.
+ * i386.c (initial_ix86_tune_features): Add
+ X86_SOFTARE_PREFETCHING_BENEFICIAL.
+ (software_prefetching_beneficial_p): Remove predicate.
+ (ix86_option_override_internal): Use new macro.
+
+2011-05-06 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (update_callee_keys): Don't reset node growth cache.
+
+2011-05-06 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_add_thunk): Create real function node instead
+ of alias node; finalize it and mark needed/reachale; arrange visibility
+ to be right and add it into the corresponding same comdat group list.
+ (dump_cgraph_node): Dump thunks.
+ * cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
+ cgraph_function_with_gimple_body_p,
+ cgraph_first_function_with_gimple_body,
+ cgraph_next_function_with_gimple_body): New functions.
+ (FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
+ New macros.
+ * ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
+ (ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
+ * cgraphunit.c (cgraph_finalize_function): Only look into possible
+ devirtualization when optimizing.
+ (verify_cgraph_node): Verify thunks.
+ (cgraph_analyze_function): Analyze thunks.
+ (cgraph_mark_functions_to_output): Output thunks only in combination
+ with function they are assigned to.
+ (assemble_thunk): Turn thunk into non-thunk; don't try to turn
+ alias into normal node.
+ (assemble_thunks): New functoin.
+ (cgraph_expand_function): Use it.
+ * lto-cgraph.c (lto_output_node): Stream thunks.
+ (input_overwrite_node): Stream in thunks.
+ * ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
+ * lto-streamer-out.c (lto_output): Do not try to output thunk's body.
+ * ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
+ * ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
+ (inline_analyze_function): Do not care about thunk jump functions.
+ (inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
+ * ipa-prop.c (ipa_prop_write_jump_functions): Use
+ cgraph_function_with_gimple_body_p.
+ * passes.c (do_per_function_toporder): Use
+ cgraph_function_with_gimple_body_p.
+ (execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
+ (ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
+ (function_called_by_processed_nodes_p): Likewise.
+
+2011-05-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
+ rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
+ entries.
+ (mabi=): Replace with separate entries for mabi=altivec,
+ mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
+ mabi=ieeelongdouble and mabi=ibmlongdouble.
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Move
+ check for -mabi=spe without SPE ABI support here.
+ (rs6000_handle_option): Replace OPT_mabi_ handling with
+ OPT_mabi_altivec and OPT_mabi_spe handling.
+
+2011-05-06 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2out.c (contains_subprogram_definition): New function.
+ (should_move_die_to_comdat): Call it.
+
+2011-05-06 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (create_block_for_threading): Do not call
+ remove_ctrl_stmt_and_useless_edges.
+ (create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
+ (fixup_template_block, thread_single_edge): Likewise.
+ (mark_threaded_blocks): Use THREAD_TARGET.
+
+2011-05-06 Alan Modra <amodra@gmail.com>
+
+ PR target/48900
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
+ const0_rtx as the arg to the dummy __tls_get_addr libcall.
+
+2011-05-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal_nointeger): Apply "*"
+ constraint modifier to "r".
+
+2011-05-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_handle_option): Don't handle and
+ fall through for OPT_mcmodel_.
+
+2011-05-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_asm_trampoline_template): Comment
+ instruction sizes.
+ (s390_trampoline_init): Replace UNITS_PER_WORD with UNITS_PER_LONG.
+
+2011-05-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/47930
+ * config/arm/arm.opt (marm): Document it.
+ (mthumb): Reject negative variant.
+
+2011-05-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48898
+ * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
+ Fix typo in "ccvt" variable name.
+
+2011-05-06 Tristan Gingold <gingold@adacore.com>
+
+ PR target/48895
+ * config/vms/vms-ar.c (main): Remove cwd variable.
+
+2011-05-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48902
+ * var-tracking.c (prepare_call_arguments): Move else before #endif.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * except.c (sjlj_emit_dispatch_table): Call build_case_label.
+ * gimplify.c (gimplify_switch_expr): Likewise.
+ * omp-low.c (expand_omp_sections): Likewise.
+ * tree-eh.c (lower_try_finally_switch): Likewise.
+ (lower_eh_dispatch): Likewise.
+ * tree.h (build_case_label): Declare.
+ * tree.c (build_case_label): Define.
+
+2011-05-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/40975
+ * tree-inline.c (copy_tree_r): Use copy_statement_list.
+ (copy_statement_list): Don't recurse.
+ * stor-layout.c (copy_self_referential_tree_r): Don't allow
+ STATEMENT_LIST.
+
+2011-05-05 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/rs6000.c (rs6000_handle_option): Don't fall
+ through from -mfpu= handling.
+ * config/rs6000/rs6000.opt (mfpu=): Use Var and Init.
+
+2011-05-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 10]: Handle
+ POST_MODIFY.
+
+2011-05-05 Steve Ellcey <sje@cup.hp.com>
+
+ * config.gcc (hppa*64*-*-hpux11*): Modify tm_file and extra_options
+ for 11.31.
+ (hppa[12]*-*-hpux11*): Ditto.
+ (ia64*-*-hpux*): Add ia64/hpux-unix2003.h to tm_file.
+ * config/ia64/hpux-unix2003.h: New.
+ * config/pa/pa-hpux1131.opt: New.
+ * config/pa/pa-hpux1131.h: New.
+ * config/pa/pa64-hpux.h (STARTFILE_SPEC): Use unix2003.o if requested.
+ * config/pa/pa-hpux.opt (flag_pa_unix): Check TARGET_HPUX_11_31 value.
+ * config/pa/pa.h (TARGET_HPUX_11_31): Provide default (0) value.
+
+2011-05-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48853
+ * dwarf2out.c (mem_loc_descriptor) <case SUBREG>: Pass mem_mode
+ instead of mode as 3rd argument to recursive call.
+ (mem_loc_descriptor) <case REG>: If POINTERS_EXTEND_UNSIGNED, don't
+ emit DW_OP_GNU_regval_type if mode is Pmode and mem_mode is not
+ VOIDmode.
+ (mem_loc_descriptor) <case SYMBOL_REF>: If POINTERS_EXTEND_UNSIGNED,
+ don't give up if mode is Pmode and mem_mode is not VOIDmode.
+ (mem_loc_descriptor) <case CONST_INT>: If POINTERS_EXTEND_UNSIGNED,
+ use int_loc_descriptor if mode is Pmode and mem_mode is not VOIDmode.
+
+2011-05-05 Julian Brown <julian@codesourcery.com>
+
+ * config/arm/neon.md (vec_set<mode>_internal): Fix misplaced
+ parenthesis in D-register case.
+
+2011-05-05 Joseph Myers <joseph@codesourcery.com>
+
+ * opt-functions.awk (var_type_struct): Handle Enum options.
+ * optc-gen.awk: Don't check range of variables of character type.
+ * config/rs6000/rs6000.c (rs6000_sched_insert_nops_str,
+ rs6000_sched_costly_dep_str, rs6000_recip_name, rs6000_abi_name,
+ rs6000_sdata_name, rs6000_explicit_options): Remove.
+ (rs6000_option_override_internal): Check for -malign-power here.
+ Use global_options_set instead of rs6000_explicit_options.
+ (rs6000_parse_fpu_option): Remove.
+ (rs6000_handle_option): Access variables via opts and opts_set
+ pointers. Use error_at and warning_at. Add fall-through
+ comments. Don't handle OPT_mcmodel_, OPT_maix_struct_return,
+ OPT_msvr4_struct_return, OPT_mvrsave, OPT_mspe, OPT_mcall_,
+ OPT_msdata_, OPT_mtls_size_, OPT_mtraceback_, OPT_mfloat_gprs_,
+ OPT_msched_costly_dep_, OPT_malign_ or OPT_mrecip_ explicitly
+ here. Don't use rs6000_parse_fpu_option.
+ * config/rs6000/rs6000.h (fpu_type): Remove declaration.
+ * config/rs6000/rs6000.opt (rs6000_long_double_type_size,
+ rs6000_spe, rs6000_float_gprs): Remove TargetVariable entries.
+ (mrecip=): Use Var.
+ (mspe): Use Var and Save.
+ (mtraceback=): Use Enum and Var.
+ (rs6000_traceback_type): New Enum and EnumValue entries.
+ (mfloat-gprs=): Use Enum, Var and Save.
+ (rs6000_float_gprs): New Enum and EnumValue entries.
+ (mlong-double-): use Var and Save.
+ (msched-costly-dep=, minsert-sched-nops=): Use Var.
+ (malign-): Use Enum and Var.
+ (rs6000_alignment_flags): New Enum and EnumValue entries.
+ (mfpu=): Use Enum.
+ (fpu_type_t): New Enum and EnumValue entries.
+ * config/rs6000/aix43.h (SUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/aix52.h (SUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/aix53.h (SUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/aix61.h (SUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/e500-double.h (SUB3TARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Remove commented-out
+ definition.
+ * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/linux64.opt (mcmodel=): Use Enum and Var.
+ (rs6000_cmodel): New Enum and EnumValue entries.
+ * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
+ global_options_set instead of rs6000_explicit_options.
+ * config/rs6000/sysv4.opt (mcall-, msdata=): Use Var.
+ (mtls-size=): Use Enum and Var.
+ (rs6000_tls_size): New Enum and EnumValue entries.
+
+2011-05-05 Michael Matz <matz@suse.de>
+
+ * config/alpha/elf.h (ENDFILE_SPEC): Add Ofast.
+ * config/alpha/osf5.h (ENDFILE_SPEC): Add Ofast.
+ * config/alpha/netbsd.h (ENDFILE_SPEC): Add Ofast.
+ * config/sparc/linux.h (ENDFILE_SPEC): Add Ofast.
+ * config/sparc/sp64-elf.h (ENDFILE_SPEC): Add Ofast.
+ * config/sparc/sp-elf.h (ENDFILE_SPEC): Add Ofast.
+ * config/sparc/linux64.h (ENDFILE_SPEC): Add Ofast.
+ * config/sparc/freebsd.h (ENDFILE_SPEC): Add Ofast.
+ * config/sparc/sol2.h (ENDFILE_SPEC): Add Ofast.
+ * config/i386/cygwin.h (ENDFILE_SPEC): Add Ofast.
+ * config/i386/gnu-user.h (ENDFILE_SPEC): Add Ofast.
+ * config/i386/gnu-user64.h (ENDFILE_SPEC): Add Ofast.
+ * config/i386/darwin.h (ENDFILE_SPEC): Add Ofast.
+ * config/i386/mingw32.h (ENDFILE_SPEC): Add Ofast.
+ * config/ia64/linux.h (ENDFILE_SPEC): Add Ofast.
+ * config/mips/linux.h (ENDFILE_SPEC): Add Ofast.
+
+2011-05-05 Richard Guenther <rguenther@suse.de>
+
+ * expmed.c (expand_variable_shift): Rename to ...
+ (expand_shift_1): ... this. Take an expanded shift amount.
+ For rotates recurse directly not building trees for the shift amount.
+ (expand_variable_shift): Wrap around expand_shift_1.
+ (expand_shift): Adjust.
+
+2011-05-05 Jakub Jelinek <jakub@redhat.com>
+
+ * gimplify.c (create_tmp_var_raw): Don't call build_type_variant.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree.h (get_pending_sizes): Remove prototype.
+ (put_pending_size): Likewise.
+ (put_pending_sizes): Likewise.
+ * stor-layout.c (pending_sizes): Delete.
+ (get_pending_sizes): Likewise.
+ (put_pending_size): Likewise.
+ (put_pending_sizes): Likewise.
+ (variable_size): Do not call put_pending_size and tidy up.
+ * function.h (struct function): Remove dont_save_pending_sizes_p.
+ * lto-streamer-in.c (input_function): Do not stream it.
+ * lto-streamer-out.c (output_function): Likewise.
+ * tree-inline.c (initialize_cfun): Do not copy it.
+ * c-decl.c (store_parm_decls): Do not set it.
+ * omp-low.c (create_task_copyfn): Likewise.
+ * tree-optimize.c (tree_rest_of_compilation): Likewise.
+
+2011-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal_rex64): Simplify nested "if"
+ conditions.
+ (*movdf_internal): Ditto.
+ (*movdf_internal_nointeger): Ditto.
+ (*movsf_internal): Ditto.
+
+2011-05-05 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (finish_decl): Don't call get_pending_sizes.
+ (grokparm): Add parameter expr. Pass it to grokdeclarator.
+ (push_parm_decl): Add parameter expr. Pass it to grokdeclarator.
+ (c_variable_size): Remove.
+ (grokdeclarator): Use save_expr instead of c_variable_size. Don't
+ call put_pending_sizes.
+ (get_parm_info): Add parameter expr. Use it to set
+ arg_info->pending_sizes.
+ (store_parm_decls): Use arg_info->pending_sizes instead or calling
+ get_pending_sizes.
+ * c-parser.c (c_parser_parms_declarator): Update call to
+ c_parser_parms_list_declarator.
+ (c_parser_parms_list_declarator): Take parameter expr. Update
+ call to push_parm_decl. Update recursive call. Don't call
+ get_pending_sizes. Update calls to get_parm_info.
+ (c_parser_objc_method_definition): Update calls to
+ c_parser_objc_method_decl and objc_start_method_definition.
+ (c_parser_objc_methodproto): Update call to c_parser_objc_method_decl.
+ (c_parser_objc_method_decl): Add parameter expr. Update call to
+ grokparm.
+ (c_parser_objc_try_catch_finally_statement): Update call to grokparm.
+ * c-tree.h (struct c_arg_info.pending_sizes): Change to a tree.
+ (get_parm_info, grokparm, push_parm_decl): Update prototypes.
+
+2011-05-05 Michael Hope <michael.hope@linaro.org>
+
+ PR pch/45979
+ * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for
+ __ARM_EABI__ hosts.
+
+2011-05-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (TARGET_ASM_OUTPUT_MI_THUNK): Define.
+ (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Likewise.
+ (spu_output_mi_thunk): New function.
+
+2011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sparc/sol2.h (ASM_OUTPUT_CALL): Use
+ targetm.asm_out.print_operand.
+ * config/sol2.c: Include target.h.
+
+2011-05-04 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (reset_edge_caches): New function.
+ (update_caller_keys): Add check_inlinablity_for; do not
+ reset edge caches; remove now unnecesary loop.
+ (update_callee_keys): Add comments; reset node_growth_cache of callee.
+ (update_all_callee_keys): Likewise.
+ (inline_small_functions): Sanity check cache; update code
+ recomputing it.
+
+2011-05-04 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR rtl-optimization/47612
+ * df-problems.c (can_move_insns_across): Don't pick a cc0 setter
+ as the last insn of the sequence to be moved.
+
+2011-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48864
+ * doc/invoke.texi (Ofast): Document that it
+ enables Fortran's -fno-protect-parens.
+
+2011-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_reorg): Run move_or_delete_vzeroupper first.
+
+2011-05-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (variable_size): Do not issue errors.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * coverage.c (tree_coverage_counter_ref): Use integer_type_node
+ for array-ref indices.
+ (tree_coverage_counter_addr): Likewise.
+ (build_fn_info_type): Use size_int for index types.
+ (build_gcov_info): Likewise.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * c-decl.c (check_bitfield_type_and_width): Do not pass NULL
+ to build_int_cst.
+ * c-typeck.c (really_start_incremental_init): Use bitsize_int
+ for constructor indices.
+ (push_init_level): Likewise.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * explow.c (promote_mode): Move variable declarations before code.
+
+2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (build_function_type_array): Declare.
+ (build_varargs_function_type_array): Declare.
+ (build_function_type_vec, build_varargs_function_type_vec): Define.
+ * tree.c (build_function_type_array_1): New function.
+ (build_function_type_array): New function.
+ (build_varargs_function_type_array): New function.
+
+2011-05-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vect-loop.c (vectorizable_reduction): Check reduction cost
+ before setting STMT_VINFO_TYPE.
+
+2011-05-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_gimplify_va_arg_expr): Call pass_by_reference
+ instead of spu_pass_by_reference.
+
+2011-05-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * calls.c (emit_library_call_value_1): Invoke
+ promote_function_mode hook on libcall arguments.
+ * explow.c (promote_function_mode, promote_mode): Handle TYPE
+ argument being NULL.
+ * targhooks.c (default_promote_function_mode): Lisewise.
+ * config/s390/s390.c (s390_promote_function_mode): Likewise.
+ * config/sparc/sparc.c (sparc_promote_function_mode): Likewise.
+
+ * doc/tm.texi: Document that TYPE argument might be NULL.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
+ * config/bfin/bfin.c (bfin_cpus): Update silicon revisions.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Bernd Schmidt
+ * config/bfin/bfin.md (addsi3): Add an alternative for IREGS.
+
+2011-05-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/alpha.h (CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB)
+ (MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE, ALIGN_SYMTABLE_OFFSET):
+ Move ...
+ * mips-tfile.c: ... here.
+ Don't include coretypes.h, tm.h, filenames.h.
+ (saber_stop): Remove definition and all calls.
+ [__SABER__]: Remove.
+ (__LINE__): Remove default.
+ (Size_t, Ptrdiff_t): Remove definitions.
+ Replace by size_t, ptrdiff_t.
+ [!MIPS_DEBUGGING_INFO]: Remove.
+ (SHASH_SIZE, THASH_SIZE): Remove defaults.
+ (progname): Add const.
+ (STATIC): Remove.
+ Replace all uses by static.
+ (ALIGN_SYMTABLE_OFFSET): Remove default.
+ * mips-tdump.c: Don't include coretypes.h, tm.h.
+ Remove !MIPS_IS_STAB guard.
+ * Makefile.in (mips-tfile.o): Remove $(RTL_H), coretypes.h,
+ $(TM_H), filenames.h dependencies.
+ (mips-tdump.o): Remove $(RTL_H), coretypes.h, $(TM_H) dependencies.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Jie Zhang
+ *config/bfin/bfin.c (bfin_extra_live_on_entry): New.
+ (TARGET_EXTRA_LIVE_ON_ENTRY): Define.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Bernd Schmidt
+ * config/bfin/bfin.h (FUNCTION_PROFILER): Take TARGET_LONG_CALLS into
+ account and save/restore RETS.
+ (PROFILE_BEFORE_PROLOGUE): Define.
+ (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add tab character. Correct
+ the push insn to use predecrement.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Jie Zhang
+ * config/bfin/bfin.c (bfin_expand_prologue): Don't clobber P2.
+
+2011-05-04 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c: Include cfgloop.h.
+ (DUMP): New macro.
+ (mn10300_insert_setlb_lcc): New function. Inserts a SETLB and a
+ Lcc or a FLcc insn into the instruction stream.
+ (mn10300_block_contains_call): New function. Returns true if the
+ given basic block contains a CALL insn.
+ (mn10300_loop_contains_call_insn): New function. Returns true if
+ the given loop contains a CALL insn.
+ (mn10300_scan_for_setlb_lcc): New function. Finds opportunities
+ to use the SETLB and Lcc or FLcc insns.
+ (mn10300_reorg): Invoke mn10300_scan_for_setlb_lcc when optimizing.
+ (TARGET_FLAGS): Add MASK_ALLOW_SETLB.
+ * config/mn10300/mn10300.opt (msetlb): New option. Used to
+ disable the SETLB optimization.
+ * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Add
+ __SETLB__ or __NO_SETLB__.
+ * config/mn10300/mn10300.md (UNSPEC_SETLB): New constant.
+ (movsf_internal): Handle MDR register.
+ (cmpsi): Make visible.
+ (setlb): New pattern.
+ (Lcc): New pattern.
+ (FLcc): New pattern.
+
+2011-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48860
+ * config/i386/i386.md (*movdi_internal_rex64) Use %vmovd
+ for reg<->xmm moves.
+ * config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
+ (vec_concatv2di_rex64_sse): Ditto.
+ (*sse2_storeq_rex64): Do not emit %v prefix for mov{q} mnemonic.
+ (*vec_extractv2di_1_rex64): Ditto.
+
+ Revert:
+ 2011-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
+ reg<->xmm moves.
+ (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (int_const_binop): Remove notrunc argument.
+ * fold-const.c (int_const_binop): Remove notrunc argument. Always
+ create integer constants that are properly truncated.
+ (extract_muldiv_1): Expand one notrunc int_const_binop caller.
+ (const_binop): Remove zero notrunc argument to int_const_binop.
+ (size_binop_loc): Likewise.
+ (fold_div_compare): Likewise.
+ (maybe_canonicalize_comparison_1): Likewise.
+ (fold_comparison): Likewise.
+ (fold_binary_loc): Likewise.
+ (multiple_of_p): Likewise.
+ * expr.c (store_constructor): Likewise.
+ * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
+ (maybe_fold_stmt_addition): Likewise.
+ * ipa-prop.c (ipa_modify_call_arguments): Likewise.
+ * stor-layout.c (layout_type): Likewise.
+ * tree-data-ref.c (tree_fold_divides_p): Likewise.
+ * tree-sra.c (build_ref_for_offset): Likewise.
+ (build_user_friendly_ref_for_offset): Likewise.
+ * tree-ssa-address.c (maybe_fold_tmr): Likewise.
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Likewise.
+ * tree-ssa-loop-niter.c (inverse): Likewise.
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.
+ * tree-ssa.c (maybe_rewrite_mem_ref_base): Likewise.
+ * tree-switch-conversion.c (check_range): Likewise.
+ (build_constructors): Likewise.
+ * tree-vect-generic.c (expand_vector_piecewise): Likewise.
+ * tree-vrp.c (set_and_canonicalize_value_range): Likewise.
+ (extract_range_from_assert): Likewise.
+ (vrp_int_const_binop): Likewise.
+ (extract_range_from_binary_expr): Likewise.
+ (extract_range_from_unary_expr): Likewise.
+ (check_array_ref): Likewise.
+ (find_case_label_range): Likewise.
+ (simplify_div_or_mod_using_ranges): Likewise.
+ * tree-cfg.c (group_case_labels_stmt): Use double-ints for
+ comparing case labels for merging.
+
+2011-05-03 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2out.c (debug_str_hash_forced): Removed.
+ (gen_label_for_indirect_string): Removed.
+ (get_debug_string_label): Removed.
+ (AT_string_form): Generate label directly.
+ (output_indirect_string): Test indirect_string_node for
+ DW_FORM_strp instead of checking label and refcount.
+ (prune_indirect_string): Removed.
+ (prune_unused_types): Don't check debug_str_hash_forced or
+ call prune_indirect_string.
+
+2011-05-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR other/48093
+ * doc/invoke.texi: Document -mtls-dialect and GCC_COMPARE_DEBUG.
+
+2011-05-04 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47994
+ PR debug/47919
+ * combine.c (try_combine): Skip debug insns at m_split tests.
+
+2011-04-26 Mark Wielaard <mjw@redhat.com>
+
+ PR42288
+ * dwarf2out.c (dwarf2out_finish): Always call output_aranges ()
+ when info_section_emitted.
+
+2011-05-03 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips-opts.h: New.
+ * config/mips/mips.c (enum mips_r10k_cache_barrier_setting): Move
+ to mips-opts.h.
+ (mips_abi, mips_code_readable, mips_r10k_cache_barriee): Remove.
+ (mips_handle_option): Don't handle OPT_mabi_, OPT_mcode_readable_
+ or OPT_mr10k_cache_barrier_ here. Access mips_cache_flush_func
+ via opts pointer.
+ * config/mips/mips.h (enum mips_code_readable_setting): Move to
+ mips-opts.h.
+ (mips_abi, mips_code_readable): Don't declare.
+ * config/mips/mips.opt (config/mips/mips-opts.h): New HeaderInclude.
+ (mabi=): Use Enum and Var.
+ (mips_abi): New Enum and EnumValue entries.
+ (mcode-readable=): Use Enum and Var.
+ (mips_code_readable_setting): New Enum and EnumValue entries.
+ (mr10k-cache-barrier=): Use Enum and Var.
+ (mips_r10k_cache_barrier_setting): New Enum and EnumValue entries.
+
+2011-05-03 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_node_set_def, varpool_node_set_def): Move out of GTY;
+ replace hash by pointer map.
+ (cgraph_node_set_element_def, cgraph_node_set_element,
+ const_cgraph_node_set_element, varpool_node_set_element_def,
+ varpool_node_set_element, const_varpool_node_set_element): Remove.
+ (free_cgraph_node_set, free_varpool_node_set): New function.
+ (cgraph_node_set_size, varpool_node_set_size): Use vector size.
+ * tree-emutls.c: Free varpool node set.
+ * ipa-utils.c (cgraph_node_set_new, cgraph_node_set_add,
+ cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
+ debug_cgraph_node_set, free_cgraph_node_set, varpool_node_set_new,
+ varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
+ dump_varpool_node_set, free_varpool_node_set, debug_varpool_node_set):
+ Move here from ipa.c; implement using pointer_map
+ * ipa.c (cgraph_node_set_new, cgraph_node_set_add,
+ cgraph_node_set_remove, cgraph_node_set_find, dump_cgraph_node_set,
+ debug_cgraph_node_set, varpool_node_set_new,
+ varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find,
+ dump_varpool_node_set, debug_varpool_node_set):
+ Move to ipa-uitls.c.
+ * passes.c (ipa_write_summaries): Update.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Mike Frysinger:
+ * config/bfin/bfin.c (bfin_cpus[]): Add 0.4 for
+ bf542/bf544/bf547/bf548/bf549.
+
+2011-05-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * expmed.c (extract_bit_field_1): Remove write-only variable "icode".
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Bernd Schmidt:
+ * config/bfin/bfin.md (MOVCC): New mode_macro.
+ (mov<mode>cc_insn1, mov<mode>cc_insn2, mov<mode>cc): Renamed from
+ movsicc_insn1, movsicc_insn2 and movsicc and macroized. Remove
+ comments from generated assembly.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Bernd Schmidt
+ * config/bfin/t-bfin (LIB1ASMFUNCS): Add muldi3 and umulsi3_highpart.
+ * config/bfin/t-bfin-elf (LIB1ASMFUNCS): Add muldi3.
+ * config/bfin/t-bfin-linux (LIB1ASMFUNCS): Add muldi3.
+ * config/bfin/t-bfin-uclinux (LIB1ASMFUNCS): Add muldi3.
+ * config/bfin/lib1funcs.asm (___muldi3): New function.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/stormy16/stormy16 (xstormy16_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+ Rearrange initialization of `args' to do so.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/i386/i386.c (ix86_code_end): Call build_function_type_list
+ instead of build_function_type.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/rs6000/rs6000.c (spe_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+ (paired_init_builtins, altivec_init_builtins): Likewise.
+ (builtin_function_type): Likewise.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/sh/sh.c (sh_media_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/sparc/sparc.c (sparc_file_end): Call
+ build_function_type_list instead of build_function_type.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/alpha/alpha.c (alpha_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/xtensa/xtensa.c (xtensa_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/iq2000/i2000.c (iq2000_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+ Delete `endlink' variable.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/avr/avr.c (avr_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/picochip/picochip.c (picochip_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+ Delete `endlink' variable.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/bfin/bfin.c (bfin_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Bernd Schmidt
+ * config/bfin/bfin.md (rotrsi, rotlsi): Don't take INTVAL of anything
+ that's not CONST_INT. Seemingly redundant check is due to PR39768.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Jie Zhang:
+ * config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
+ libbffastfp overrides libgcc when -mfast-fp.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ Originally from Bernd Schmidt
+ * config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
+ * config/bfin/bfin.c (override_options): Test it and error if
+ TARGET_FDPIC.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ Originally From Bernd Schmidt
+ * config/bfin/bfin.c (override_options): Disable -fstack-limit for
+ FD-PIC.
+
+2011-05-03 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (THREAD_TARGET): define.
+ (remove_ctrl_stmt_and_useless_edges): Clear AUX field of outgoing edges.
+ (craete_edge_and_update_destination_phis): Use THREAD_TARGET rather
+ than accessing AUX field directly. Free the AUX field before
+ clearing it.
+ (thread_block, thread_through_loop_header): Likewise.
+ (thread_single_edge, mark_threaded_blocks): Likewise.
+ (redirect_edges): Delay clearing the AUX field. Free the AUX field.
+ (register_jump_thread): Do not attempt to thread to a NULL edge.
+
+2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
+
+ * function.c (init_function_start): Call decide_function_section.
+ * varasm.c (decide_function_section): New function.
+ (assemble_start_function): When not using
+ flag_reorder_blocks_and_partition, don't compute in_cold_section_p
+ or first_function_block_is_cold.
+ * rtl.h (decide_function_section): Declare.
+
+2011-05-03 Uros Bizjak <ubizjak@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48774
+ * config/i386/i386.c (ix86_match_ccmode): For CC{A,C,O,S}mode
+ only succeed if req_mode is the same as set_mode.
+
+2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gengenrtl.c (special_rtx): PC, CC0 and RETURN are special.
+ * genemit.c (gen_exp): Handle RETURN.
+ * emit-rtl.c (verify_rtx_sharing): Likewise.
+ (init_emit_regs): Create pc_rtx, ret_rtx and cc0_rtx specially.
+ * rtl.c (copy_rtx): RETURN is shared.
+ * rtl.h (enum global_rtl_index): Add GR_RETURN.
+ (ret_rtx): New.
+ * jump.c (redirect_exp_1): Don't use gen_rtx_RETURN.
+ * config/s390/s390.c (s390_emit_epilogue): Likewise.
+ * config/rx/rx.c (gen_rx_rtsd_vector): Likewise.
+ * config/cris/cris.c (cris_expand_return): Likewise.
+ * config/m68k/m68k.c (m68k_expand_epilogue): Likewise.
+ * config/rs6000/rs6000.c (rs6000_make_savres_rtx,
+ rs6000_emit_epilogue, rs6000_output_mi_thunk): Likewise.
+ * config/picochip/picochip.c (picochip_expand_epilogue): Likewise.
+ * config/h8300/h8300.c (h8300_push_pop, h8300_expand_epilogue):
+ Likewise.
+ * config/v850/v850.c (expand_epilogue): Likewise.
+ * config/bfin/bfin.c (bfin_expand_call): Likewise.
+ * config/arm/arm.md (epilogue): Likewise.
+ * config/mn10300/mn10300.c (mn10300_expand_epilogue): Likewise.
+ * config/sparc/sparc.c (sparc_struct_value_rtx): Rename ret_rtx
+ variable to ret_reg.
+
+2011-05-03 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48846
+ * lto-streamer-in.c (unpack_ts_decl_common_value_fields):
+ Stream decl_common.off_align instead of the derived DECL_OFFSET_ALIGN.
+ * lto-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
+
+2011-05-03 Richard Guenther <rguenther@suse.de>
+
+ * c-decl.c (grokdeclarator): Instead of looking at
+ TREE_OVERFLOW check if the constant fits in the index type.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/neon.md (vec_load_lanes<mode><mode>): New expanders,
+ (vec_store_lanes<mode><mode>): Likewise.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * doc/md.texi (vec_load_lanes, vec_store_lanes): Document.
+ * optabs.h (COI_vec_load_lanes, COI_vec_store_lanes): New
+ convert_optab_index values.
+ (vec_load_lanes_optab, vec_store_lanes_optab): New convert optabs.
+ * genopinit.c (optabs): Initialize the new optabs.
+ * internal-fn.def (LOAD_LANES, STORE_LANES): New internal functions.
+ * internal-fn.c (get_multi_vector_move, expand_LOAD_LANES)
+ (expand_STORE_LANES): New functions.
+ * tree.h (build_array_type_nelts): Declare.
+ * tree.c (build_array_type_nelts): New function.
+ * tree-vectorizer.h (vect_model_store_cost): Add a bool argument.
+ (vect_model_load_cost): Likewise.
+ (vect_store_lanes_supported, vect_load_lanes_supported)
+ (vect_record_strided_load_vectors): Declare.
+ * tree-vect-data-refs.c (vect_lanes_optab_supported_p)
+ (vect_store_lanes_supported, vect_load_lanes_supported): New functions.
+ (vect_transform_strided_load): Split out statement recording into...
+ (vect_record_strided_load_vectors): ...this new function.
+ * tree-vect-stmts.c (create_vector_array, read_vector_array)
+ (write_vector_array, create_array_ref): New functions.
+ (vect_model_store_cost): Add store_lanes_p argument.
+ (vect_model_load_cost): Add load_lanes_p argument.
+ (vectorizable_store): Try to use store-lanes functions for
+ interleaved stores.
+ (vectorizable_load): Likewise load-lanes and loads.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Update call
+ to vect_model_store_cost.
+ (vect_build_slp_tree): Likewise vect_model_load_cost.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * hooks.h (hook_bool_mode_uhwi_false): Declare.
+ * hooks.c (hook_bool_mode_uhwi_false): New function.
+ * target.def (array_mode_supported_p): New hook.
+ * doc/tm.texi.in (TARGET_ARRAY_MODE_SUPPORTED_P): Add @hook.
+ * doc/tm.texi: Regenerate.
+ * stor-layout.c (mode_for_array): New function.
+ (layout_type): Use it.
+ * config/arm/arm.c (arm_array_mode_supported_p): New function.
+ (TARGET_ARRAY_MODE_SUPPORTED_P): Define.
+
+2011-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/48723
+ * config/i386/i386.c (ix86_expand_prologue): Do not probe the stack
+ for -fstack-check if the size to allocate is negative.
+
+2011-05-02 Lawrence Crowl <crowl@google.com>
+
+ * timevar.h (timevar_cond_start): Remove unused POP_TIMEVAR_AND_RETURN.
+ (timevar_cond_start): New for starting a timer only when it is not
+ already running.
+ (timevar_cond_stop): New for stopping a timer when it was not already
+ running.
+
+ * timevar.c (timevar_stop): Enable start/stop timers to start again.
+ (timevar_cond_start): New as above.
+ (timevar_cond_stop): New as above.
+
+ * timevar.def: Add start/stop timers for compiler phases,
+ TV_PHASE_SETUP, TV_PHASE_PARSING, TV_PHASE_DEFERRED, TV_PHASE_CGRAPH,
+ TV_PHASE_DBGINFO (C), TV_PHASE_CHECK_DBGINFO (C++), TV_PHASE_GENERATE,
+ and TV_PHASE_FINALIZE.
+ Change push/pop timer TV_PARSE to TV_PARSE_GLOBAL.
+ Add push/pop timers TV_PARSE_STRUCT, TV_PARSE_ENUM, TV_PARSE_FUNC,
+ TV_PARSE_INLINE, TV_PARSE_INMETH, TV_TEMPLATE_INST.
+ Change push/pop timer TV_NAME_LOOKUP into a start/stop timer.
+ Make unused TV_OVERLOAD into a start/stop timer.
+
+ Remove unused timers TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION.
+ Mark the strings for TV_NAME_LOOKUP and TV_OVERLOAD with a "|"
+ to indicate that they are start/stop timers.
+
+ * toplev.c (compile_file): Change TV_PARSE to TV_PARSE_GLOBAL.
+ Add start/stop timers TV_PHASE_PARSING and TV_PHASE_GENERATE.
+ Move initialization to do_compile.
+ (do_compile): Add initialization from above.
+ Add start/stop timers TV_PHASE_SETUP and TV_PHASE_FINALIZE.
+
+ * c-decl.c (c_write_global_declarations): Add start/stop of
+ TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_DBGINFO.
+
+ * c-parser.c (c_parser_declaration_or_fndef): Push/pop TV_PARSE_FUNC
+ or TV_PARSE_INLINE, as appropriate.
+ (c_parser_enum_specifier): Push/pop TV_PARSE_ENUM.
+ (c_parser_struct_or_union_specifier): Push/pop TV_PARSE_STRUCT.
+
+2011-05-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/40975
+ * tree-inline.c (copy_tree_r): Handle STATEMENT_LIST.
+
+2011-05-02 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c/35445
+ * c-decl.c (finish_decl): Only create a composite if the types are
+ compatible.
+
+2011-05-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/fr30/fr30-protos.h (Mmode): Don't define.
+ * config/m32r/m32r-protos.h (Mmode): Don't define. Expand
+ definition where used.
+ * config/mn10300/mn10300-protos.h (Mmode, Cstar, Rclas): Don't
+ define. Expand definitions where used.
+ * config/rx/rx-protos.h (Mmode, Fargs, Rcode): Don't define.
+ Expand definitions where used.
+ * config/rx/rx.c (rx_is_legitimate_address, rx_function_arg_size,
+ rx_function_arg, rx_function_arg_advance,
+ rx_function_arg_boundary): Expand definitions of those macros.
+ * config/v850/v850-protos.h (Mmode): Don't define. Expand
+ definition where used.
+
+2011-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/mmx.md (*mov<mode>_internal_rex64): Use %vmovq for
+ reg<->xmm moves.
+ (*mov<mode>_internal): Merge with *mov<mode>_internal_avx.
+ (*movv2sf_internal_rex64): Use %vmovq for reg<->xmm moves. Merge
+ with *movv2sf_internal_rex64_avx.
+ (*movv2sf_internal): Merge with *movv2sf_internal_avx.
+ * config/i386/i386.md (*movdi_internal_rex64) <TYPE_SSEMOV>:
+ Use %v prefix in insn mnemonic to handle TARGET_AVX.
+ (*movdi_internal): Add "isa" attribute. Use "maybe_vex" instead of
+ "vex" in "prefix" attribute calculation.
+ (*movdf_internal): Output AVX mnemonics. Add "prefix" attribute.
+
+2011-05-02 Stuart Henderson <shenders@gcc.gnu.org>
+
+ PR target/47951
+ * config/bfin/bfin.md (loop_end): Use matching constraints to ensure
+ inputs match the output.
+
+2011-05-02 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/47955
+ * config/m68k/m68k.c (m68k_expand_prologue): Set
+ current_function_static_stack_size.
+
+2011-05-02 Jan Hubicka <jh@suse.cz>
+
+ * lto-streamer.c (lto_streamer_cache_insert_1,
+ lto_streamer_cache_lookup, lto_streamer_cache_create,
+ lto_streamer_cache_delete): Use pointer map instead of hashtable.
+ * lto-streamer.h (lto_streamer_cache_d): Turn node_map into pointer_map.
+
+2011-05-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m68k/genopt.sh, config/m68k/m68k-isas.def,
+ config/m68k/m68k-microarchs.def, config/m68k/m68k-opts.h,
+ config/m68k/t-opts: New files.
+ * config/m68k/m68k-tables.opt: New file (generated).
+ * config.gcc (fido-*-*, m68k-*-*): Add m68k/m68k-tables.opt to
+ extra_options and m68k/t-opts to tmake_file.
+ * config/m68k/m68k.c (m68k_library_id_string): More to m68k.opt.
+ (all_isas): Initialize using m68k-isas.def.
+ (all_microarchs): Initialize using m68k-microarchs.def.
+ (m68k_find_selection): Remove.
+ (m68k_handle_option): Don't assert that global structures are in
+ use. Use error_at. Access variables via opts pointer. Don't
+ handle -march=, -mcpu= and -mtune= here. Set gcc_options fields
+ directly for -m68020-40 and -m68020-60.
+ (m68k_option_override): Set m68k_arch_entry, m68k_cpu_entry and
+ m68k_tune_entry here.
+ * config/m68k/m68k.h (enum uarch_type, enum target_device): Move
+ to m68k-opts.h.
+ (m68k_library_id_string): Remove declaration.
+ * config/m68k/m68k.opt (config/m68k/m68k-opts.h): New HeaderInclude.
+ (m68k_library_id_string): New Variable.
+ (march=, mcpu=, mtune=): Use Enum and Var.
+
+2011-05-02 Richard Guenther <rguenther@suse.de>
+
+ * varasm.c (output_constructor_regular_field): Compute zero-based
+ index with double-ints. Make sure to ICE instead of producing
+ wrong code.
+ * cgraph.c (cgraph_add_thunk): Do not create new tree nodes
+ in asserts. Properly use a signed type.
+
+2011-05-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (V): New mode iterator.
+ (V_128): Rename from SSEMODE. Make V2DF mode conditional on
+ TARGET_SSE2.
+ (V_256): Rename from AVX256MODE.
+ (VF): Make V4SF mode unconditional. Add TARGET_SSE instruction
+ condition to all users.
+ (VF1): Ditto.
+ (VF2): Make V2DF mode unconditional. Add TARGET_SSE2 instruction
+ condition to all users.
+ (VF_128): Make V4SF mode unconditional.
+ (VF_256): Rename from AVX256MODEF2P.
+ (VI4F_128): Rename from SSEMODE4S.
+ (VI8F_128): Rename from SSEMODE2D.
+ (VI4F_256): Rename from AVX256MODE8P.
+ (VI8F_256): Rename from AVX256MODE4P.
+ (avxsizesuffix): Add V16HI, V4DI, V8HI and V2DI modes.
+ (ssescalarmodesuffix): Remove SF and DF modes.
+ (SSEMODE124): Remove.
+ (SSEMODE1248): Ditto.
+ (SSEMODEF2P): Ditto.
+ (AVXMODEF2P): Ditto.
+ (AVXMODEFDP): Ditto.
+ (AVXMODEFSP): Ditto.
+ (VEC_EXTRACT_MODE): Make V16QI, V8HI, V4SI, V2DI, V4SF and V2DF modes
+ unconditional.
+ (VEC_EXTRACT_EVENODD_MODE): Rename from SSEMODE_EO. Make V4SF mode
+ unconditional.
+ (xop_pcmov_<mode><avxsizesuffix>): Merge from xop_pcmov_<mode> and
+ xop_pcmov_<mode>256. Use V mode iterator.
+
+ Adjust RTX patterns globally for renamed mode attributes.
+
+2011-05-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * haifa-sched.c (sched_emit_insn): Emit insn before first
+ non-scheduled insn. Inform back-end about new insn. Add
+ new insn to scheduled_insns list.
+
+2011-05-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48822
+ * tree-ssa-sccvn.c (set_ssa_val_to): Never go up the lattice.
+ (process_scc): Indicate which iteration we start.
+
+2011-05-02 Jan Hubicka <jh@suse.cz>
+
+ * lto-section-in.c (lto_input_1_unsigned): Move to lto-streamer.h
+ (lto_section_overrun): New.
+ * lto-section-out.c (append_block): Rename to ...
+ (lto_append_block): ... this one; export.
+ (lto_output_1_stream): Move lto lto-streamer.h
+ (lto_output_data_stream): Update.
+ * lto-streamer.h (lto_section_overrun, lto_append_block): Declare.
+ (lto_output_1_stream, lto_input_1_unsigned): Turn into inline
+ functions.
+
+2011-05-02 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (tree_code_counts): New global array.
+ (record_node_allocation_statistics): Count individual tree codes.
+ (dump_tree_statistics): Dump individual code stats.
+
+2011-05-01 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (caller_growth_limits): Fix thinko when
+ looking for largest stack frame.
+ * ipa-inline.h (dump_inline_summary): Declare.
+ * ipa-inline-analysis.c (dump_inline_edge_summary): Dump info
+ on stack usage.
+ (dump_inline_summary): Export.
+ (debug_inline_summary): Declare as DEBUG_FUNCTION.
+
+2011-05-01 Anatoly Sokolov <aesok@post.ru>
+
+ * reginfo.c (memory_move_cost): Change rclass argument type form
+ 'enum reg_class' to reg_class_t.
+ * reload.h (memory_move_cost): Update prototype.
+ * postreload.c reload_cse_simplify_set): Change type dclass var to
+ reg_class_t.
+ * ira-int.h (ira_allocate_cost_vector, ira_free_cost_vector):
+ Update prototype.
+ (ira_allocate_and_set_costs): Change aclass argument type form
+ 'enum reg_class' to reg_class_t.
+ * ira-build.c (ira_allocate_cost_vector, ira_free_cost_vector):
+ Change aclass argument type to reg_class_t.
+ (update_conflict_hard_reg_costs): Change type aclass and pref vars
+ to reg_class_t.
+ * gcc/ira.c (setup_class_subset_and_memory_move_costs): Adjust
+ memory_move_cost call.
+
+ * config/ia64/ia64.c (ia64_register_move_cost): Remove 'from' and
+ 'to' local var. Rename from_i and to_i arguments to 'from' and 'to'.
+ Change type tmp var to reg_class_t.
+
+2011-04-30 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (can_inline_edge_p): Disregard limits when
+ inlining into function with flatten attribute.
+ (want_inline_small_function_p): Be more realistic about inlining
+ cold calls where callee size grows.
+
+2011-04-30 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_create_virtual_clone): Clear constructor/destructor
+ flags.
+
+2011-04-30 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sparc/sparc.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
+ PRINT_OPERAND_PUNCT_VALID_P): Remove.
+ * config/sparc/sparc-protos.h (print_operand): Remove declaration.
+ * config/sparc/sparc.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P,
+ TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
+ (print_operand): Rename to...
+ (sparc_print_operand): ...this. Make static. Adjust
+ sparc_print_operand function call.
+ (sparc_print_operand_punct_valid_p, sparc_print_operand_address): New
+ functions.
+
+2011-04-30 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48752
+ * ipa-inline.c (early_inliner): Disable when doing late
+ addition of function.
+
+2011-04-30 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (get_address_mode): New inline.
+ (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls,
+ if not dwarf_strict emit
+ DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when
+ desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT,
+ UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for
+ FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED.
+ (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor,
+ dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust
+ mem_loc_descriptor callers.
+ (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
+ output_loc_operands_raw, hash_loc_operands, compare_loc_operands):
+ Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
+ DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret.
+ (base_types): New variable.
+ (get_base_type_offset, calc_base_type_die_sizes,
+ base_type_for_mode, mark_base_types, base_type_cmp,
+ move_marked_base_types): New functions.
+ (calc_die_sizes): Assert that die_offset is 0 or equal to
+ next_die_offset.
+ (loc_descriptor): Only handle here lowpart SUBREGs of REG, for
+ others defer to mem_loc_descriptor. Adjust mem_loc_descriptor
+ callers. If not dwarf_strict, call mem_loc_descriptor even for
+ non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE.
+ (gen_subprogram_die): Don't give up on call site parameters
+ with non-integral or large integral modes. Adjust
+ mem_loc_descriptor callers.
+ (prune_unused_types): Call prune_unused_types_mark on base_types
+ vector entries.
+ (resolve_addr): Call mark_base_types.
+ (dwarf2out_finish): Call move_marked_base_types.
+
+ PR tree-optimization/48809
+ * tree-switch-conversion.c (build_arrays): Compute tidx in unsigned
+ type.
+ (gen_inbound_check): Don't compute index_expr - range_min in utype
+ again, instead reuse SSA_NAME initialized in build_arrays.
+ Remove two useless gsi_for_stmt calls.
+
+2011-04-29 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadedge.c (thread_across_edge): Add missing return.
+
+2011-04-29 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (cgraph_postorder): Remove declaration.
+ * ipa-utils.h (ipa_free_postorder_info): Declare.
+ (ipa_reverse_postorder): Likewise.
+ * cgraphunit.c: Include ipa-utils.h.
+ (cgraph_expand_all_functions): Update call to ipa_reverse_postorder.
+ * ipa-inline.c: Include ipa-utils.h.
+ (ipa_inline): Update call to ipa_reverse_postorder.
+ * ipa-pure-const.c (propagate_pure_const): Update call to
+ ipa_reduced_postorder and ipa_print_order. Call
+ ipa_free_postorder_info to clean up.
+ (propagate_nothrow): Likewise.
+ * ipa-reference.c (propagate): Removed a useless call to
+ ipa_utils_reduced_inorder, updated a call to ipa_reduced_postorder
+ and ipa_print_order. Call ipa_free_postorder_info to clean up.
+ * ipa.c: Include ipa-utils.h.
+ (ipa_profile): Update call to ipa_reverse_postorder.
+ (cgraph_postorder): Moved to...
+ * ipa-utils.c (ipa_reverse_postorder): ...here and renamed.
+ (ipa_utils_print_order): Renamed to ipa_print_order.
+ (ipa_utils_reduced_inorder): Renamed to ipa_reduced_postorder. Updated
+ comments.
+ (ipa_free_postorder_info): New function.
+ * passes.c: Include ipa-utils.h.
+ (do_per_function_toporder): Update call to ipa_reverse_postorder.
+ (ipa_write_summaries): Likewise.
+ * Makefile.in (passes.o): Add IPA_UTILS_H to dependencies.
+ (cgraphunit.o): Likewise.
+ (ipa.o): Likewise.
+ (ipa-inline.o): Likewise.
+
+2011-04-29 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.h (clause_t): Turn into unsigned int.
+ * ipa-inline-analysis.c (add_clause): Do more simplification.
+ (and_predicates): Shortcut more cases.
+ (predicates_equal_p): Move forward; check that clauses are properly
+ ordered.
+ (or_predicates): Shortcut more cases.
+ (edge_execution_predicate): Rewrite as...
+ (set_cond_stmt_execution_predicate): ... this function; handle
+ __builtin_constant_p.
+ (set_switch_stmt_execution_predicate): New .
+ (compute_bb_predicates): New.
+ (will_be_nonconstant_predicate): Update TODO.
+ (estimate_function_body_sizes): Use compute_bb_predicates
+ and free them later, always try to estimate if stmt is constant.
+ (estimate_time_after_inlining, estimate_size_after_inlining):
+ Gracefully handle optimized out edges.
+ (read_predicate): Fix off by one error.
+
+2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * Makefile.in (ENABLE_MAINTAINER_RULES): New.
+
+2011-04-27 Xinliang David Li <davidxl@google.com>
+
+ * tree-profile.c (init_ic_make_global_vars): Set
+ tls attribute on ic vars.
+ * coverage.c (coverage_end_function): Initialize
+ function_list with zero.
+
+2011-04-29 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (fold_builtin_classify_type): Use integer_type_node
+ for the type of the result.
+ (fold_builtin_isascii): Likewise.
+ (fold_builtin_toascii): Use integer_type_node where appropriate.
+ (fold_builtin_logb): Likewise.
+ (fold_builtin_frexp): Likewise.
+ (fold_builtin_strstr): Likewise.
+ (fold_builtin_strpbrk): Likewise.
+ (fold_builtin_fputs): Likewise.
+ (fold_builtin_sprintf): Likewise.
+ (fold_builtin_snprintf): Likewise.
+ (fold_builtin_printf): Likewise.
+ (do_mpfr_remquo): Use a proper type for the assigned constant.
+ (do_mpfr_lgamma_r): Likewise.
+ * dwarf2out.c (resolve_one_addr): Use size_int.
+ * except.c (init_eh): Likewise.
+ (assign_filter_values): Use integer_type_node for filter values.
+ (sjlj_emit_dispatch_table): Use integer_type_node for dispatch
+ indices.
+ * tree-cfg.c (move_stmt_eh_region_tree_nr): Use integer_type_node
+ for EH region numbers.
+ * tree-vrp.c (simplify_div_or_mod_using_ranges): Use integer_type_node
+ for the shift amount.
+
+2011-04-29 Richard Guenther <rguenther@suse.de>
+
+ * expr.h (expand_shift): Rename to ...
+ (expand_variable_shift): ... this.
+ (expand_shift): Take a constant shift amount.
+ * expmed.c (expand_shift): Rename to ...
+ (expand_variable_shift): ... this.
+ (expand_shift): New wrapper around expand_variable_shift.
+ * expr.c (convert_move, emit_group_load_1, emit_group_store,
+ optimize_bitfield_assignment_op, store_field, expand_expr_real_2,
+ expand_expr_real_1, reduce_to_bit_field_precision): Adjust.
+ * expmed.c (store_fixed_bit_field, extract_bit_field_1,
+ extract_fixed_bit_field, extract_split_bit_field, expand_mult_const,
+ expand_mult, expand_widening_mult, expand_mult_highpart_adjust,
+ extract_high_half, expand_sdiv_pow2, expand_divmod, emit_cstore,
+ emit_store_flag_1, emit_store_flag): Likewise.
+ * builtins.c (expand_builtin_signbit): Likewise.
+ * calls.c (load_register_parameters): Likewise.
+ * function.c (assign_parm_setup_block): Likewise.
+ * lower-subreg.c (resolve_shift_zext): Likewise.
+ * optabs.c (widen_bswap, expand_abs_nojump,
+ expand_one_cmpl_abs_nojump, expand_float): Likewise.
+ * spu/spu.c (spu_expand_extv): Likewise.
+ * sparc/sparc.c (sparc32_initialize_trampoline): Likewise.
+
+2011-04-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (remap_eh_region_tree_nr): Use integer_type_node
+ for the remapped region number.
+ * predict.c (build_predict_expr): Use integer_type_node for the
+ predict kind.
+ * fold-const.c (fold_binary_loc): Use integer_type_node for
+ the shift amount. Use a proper type for the PLUS_EXPR operand.
+
+2011-04-29 Michael Matz <matz@suse.de>
+
+ * lto-streamer.c (lto_streamer_cache_insert_1): Accept to override
+ other trees that just builtins.
+ (lto_record_common_node): Don't leave NULL TYPE_CANONICAL.
+
+2011-04-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-nested.c (get_trampoline_type): Use size_int.
+ (get_nl_goto_field): Likewise.
+ * tree-eh.c (lower_try_finally_switch): Use integer_type_node
+ for all indexes.
+ (lower_eh_constructs_2): Likewise.
+ (lower_resx): Likewise.
+ (lower_eh_dispatch): Likewise.
+ * tree-mudflap.c (mf_build_string): Use size_int.
+ (mudflap_register_call): Use integer_type_node for the flag.
+ (mudflap_enqueue_constant): Use size_int.
+ * tree-chrec.c (reset_evolution_in_loop): Copy CHREC_VAR
+ instead of rebuilding it.
+
+2011-04-29 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (get_fi_for_callee): Restructure.
+ Handle OBJ_TYPE_REF.
+ (find_func_aliases_for_call): Use it more consistently.
+
+2011-04-29 Alexandre Oliva <aoliva@redhat.com>
+
+ * haifa-sched.c (last_nondebug_scheduled_insn): New.
+ (rank_for_schedule): Use it.
+ (schedule_block): Set it.
+
+2011-04-28 David Li <davidxl@google.com>
+
+ * tree.c (crc32_string): Use crc32_byte.
+ (crc32_byte): New function.
+ * tree.h (crc32_byte): New function.
+ * gcov.c (read_graph_file): Handle new cfg_cksum.
+ (read_count_file): Ditto.
+ * profile.c (instrument_values): Ditto.
+ (get_exec_counts): Ditto.
+ (read_profile_edge_counts): Ditto.
+ (compute_branch_probabilities): Ditto.
+ (compute_value_histograms): Ditto.
+ (branch_prob): Ditto.
+ (end_branch_prob): Ditto.
+ * coverage.c (read_counts_file): Ditto.
+ (get_coverage_counts): Ditto.
+ (tree_coverage_counter_addr): Ditto.
+ (coverage_checksum_string): Ditto.
+ (coverage_begin_output): Ditto.
+ (coverage_end_function): Ditto.
+ (build_fn_info_type): Ditto.
+ (build_fn_info_value): Ditto.
+ * libgcov.c (gcov_exit): Ditto.
+ * gcov-dump.c (tag_function): Ditto.
+ (compute_checksum): Remove.
+
+2011-04-29 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+ unspec plus offset. Tidy macho code.
+
+2011-04-29 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
+ node instead of a decl. Update all callers.
+ * cgraph.h: Update declaration.
+
+2011-04-28 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/48765
+ * tree-vectorizer.h (vect_make_slp_decision): Return bool.
+ * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
+ to indicate if loop aware SLP is being used. Scan the statements
+ and update the vectorization factor according to the type of
+ vectorization before statement analysis.
+ (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
+ pass it to vect_analyze_loop_operations.
+ (vectorizable_reduction): Set number of copies to 1 in case of pure
+ SLP statement.
+ * tree-vect-stmts.c (vectorizable_conversion,
+ vectorizable_assignment, vectorizable_shift,
+ vectorizable_operation, vectorizable_type_demotion,
+ vectorizable_type_promotion, vectorizable_store, vectorizable_load):
+ Likewise.
+ (vectorizable_condition): Move the check that it is not SLP
+ vectorization before the number of copies check.
+ * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
+ to vectorize the loop using SLP.
+
+2011-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48597
+ * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
+ inline asm.
+
+2011-04-28 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
+ *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
+ (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
+ i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
+ x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
+ linux*.h headers.
+ * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Define.
+ * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
+ REG_NAME.
+ * config/i386/linux.h (REG_NAME): Don't define.
+ * config/i386/linux64.h (REG_NAME): Don't define.
+ * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
+ Undefine before defining.
+
+2011-04-28 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take
+ nonconstant_names array.
+ (estimate_function_body_sizes): Build nonconstant_names array; handle
+ BUILT_IN_CONSTANT_P.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/48804
+ Revert
+ 2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (solve_constraints): Build succ graph
+ as late as possible.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (dump_constraint): Don't end the line.
+ (debug_constraint): Do it here.
+ (dump_constraints): And here.
+ (rewrite_constraints): And here.
+ (dump_constraint_edge): Remove.
+ (dump_constraint_graph): Rewrite to produce DOT output.
+ (solve_constraints): Build succ graph as late as possible.
+ Dump constraint graphs before and after solving.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+ New function split out from ...
+ (find_func_aliases): ... here. Call it.
+ (find_func_aliases_for_call): Likewise.
+
+2011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * internal-fn.h (internal_fn_name_array): Declare.
+ (internal_fn_flags_array): Likewise.
+
+2011-04-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
+ ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
+ Move from sse.md.
+ (ssemodefsuffix): Remove.
+ (ssevecmodesuffix): New mode attribute.
+ (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
+ *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
+ *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
+ *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
+ *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
+ *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
+ *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
+ ssemodesuffix mode attribute.
+ (float splitters): Use ssevecmodesuffix mode attribute.
+ * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
+ (sseinsmode): Rename from avxvecmode.
+ (avxsizesuffix): Rename from avxmodesuffix.
+ (sseintvecmode): Rename from avxpermvecmode.
+ (ssedoublevecmode): Rename from ssedoublesizemode.
+ (ssehalfvecmode): Rename from avxhalfvecmode.
+ (ssescalarmode): Rename from avxscalarmode.
+ (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
+ templates for ssemodesuffix mode attribute.
+ (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
+ mode attribute.
+
+ Adjust RTX patterns globally for renamed mode attributes.
+
+2011-04-27 Jan Hubcika <jh@suse.cz>
+
+ * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
+ * ipa-inline-analysis.c: Include alloc-pool.h.
+ (edge_predicate_pool): New.
+ (trye_predicate_p): New function
+ (false_predicate_p): New function.
+ (add_clause): Sanity check that false clauses are "optimized";
+ never add clauses to predicate that is already known to be false.
+ (and_predicate): Use flase_predicate_p.
+ (evaulate_predicate): Rename to ...
+ (evaluate_predicate): ... this one; update all callers; assert
+ that false is not listed among possible truths.
+ (dump_predicate): Use true_predicate_p.
+ (account_size_time): Use false_predicate_p.
+ (evaulate_conditions_for_edge): Rename to ...
+ (evaluate_conditions_for_edge) ... this one.
+ (edge_set_predicate): New function.
+ (inline_edge_duplication_hook): Duplicate edge predicates.
+ (inline_edge_removal_hook): Free edge predicates.
+ (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
+ (dump_inline_summary): Update.
+ (estimate_function_body_sizes): Set edge predicates.
+ (estimate_calls_size_and_time): Handle predicates.
+ (estimate_callee_size_and_time): Update.
+ (remap_predicate): Add toplev_predicate; update comment.
+ (remap_edge_predicates): New function.
+ (inline_merge_summary): Compute toplev predicate; update.
+ (read_predicate): New function.
+ (read_inline_edge_summary): Use it.
+ (inline_read_section): Likewise.
+ (write_predicate): New function.
+ (write_inline_edge_summary): Use it.
+ (inline_write_summary): Likewise.
+ (inline_free_summary): Free alloc pool and edge summary vec.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (changed_count): Remove.
+ (changed): Use a bitmap.
+ (unify_nodes): Adjust.
+ (do_sd_constraint): Likewise.
+ (do_ds_constraint): Likewise.
+ (do_complex_constraint): Likewise.
+ (solve_graph): Likewise.
+
+2011-04-27 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
+
+2011-04-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
+ (avx_vperm2f128_*_operand): Ditto.
+ * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
+ Use avx_vpermilp_parallel in insn condition.
+ (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
+ Use avx_vperm2f128_parallel in insn condition.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (tree-ssa-structalias.o): Remove
+ gt-tree-ssa-structalias.h dependency.
+ (GTFILES): Remove tree-ssa-structalias.c.
+ * tree.c (allocate_decl_uid): New function.
+ (make_node_stat): Use it.
+ (copy_node_stat): Likewise.
+ * tree.h (allocate_decl_uid): Declare.
+ * tree-ssa-alias.h (delete_alias_heapvars): Remove.
+ * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars.
+ * tree-flow.h (struct var_ann_d): Remove is_heapvar flag.
+ * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag.
+ * tree-ssa-structalias.c (heapvar_for_stmt): Remove.
+ (struct heapvar_map): Likewise.
+ (heapvar_map_eq, heapvar_map_hash, heapvar_lookup,
+ heapvar_insert): Likewise.
+ (make_heapvar_for): Rename to ...
+ (make_heapvar): ... this. Simplify.
+ (fake_var_decl_obstack): New global var.
+ (build_fake_var_decl): New function.
+ (make_constraint_from_heapvar): Adjust.
+ (handle_lhs_call): Likewise.
+ (create_function_info_for): Likewise.
+ (intra_create_variable_infos): Likewise.
+ (init_alias_vars): Allocate fake_var_decl_obstack.
+ (init_alias_heapvars, delete_alias_heapvars): Remove.
+ (compute_points_to_sets): Do not call init_alias_heapvars.
+ (ipa_pta_execute): Likewise.
+ (delete_points_to_sets): Free fake_var_decl_obstack.
+
+2011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/divmovti4.c (union qword_UTItype): New data type.
+ (si_from_UTItype, si_to_UTItype): New functions.
+ (__udivmodti4): Use them to implement type-punning.
+ * config/spu/multi3.c (union qword_TItype): New data type.
+ (si_from_TItype, si_to_TItype): New functions.
+ (__multi3): Use them to implement type-punning.
+
+2011-04-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_expand_epilogue): Do not emit barrier.
+
+2011-04-27 Jan Hubicka <jh@suse.cz>
+
+ * ipa-prop.c (function_insertion_hook_holder): New holder.
+ (ipa_add_new_function): New function.
+ (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks):
+ Register/deregister holder.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48772
+ * tree-ssa-pre.c (eliminate): Update call stmts after elimination only.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix
+ TARGET_MEM_REF handling.
+
+2011-04-27 Nick Clifton <nickc@redhat.com>
+
+ * config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS,
+ ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS.
+ (REG_CLASS_NAMES): Likewise.
+ (REG_CLASS_CONTENTS): Likewise.
+ (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
+ (ACC_REGS): New macro. Alias for QUAD_ACC_REGS.
+ (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS.
+ (FPR_REGS): New macro. Alias for QUAD_ACC_REGS.
+ (EVEN_REGS): New macro. Alias for QUAD_REGS.
+ * config/frv/frv.c (frv_secondary_reload_class): Remove use of
+ duplicate register classes.
+ (frv_class_likely_spilled_p): Likewise.
+ (frv_register_move_cost): Likewise.
+
+ * config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the
+ end of the regno_reg_class array.
+
+2011-04-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48742
+ * c-typeck.c (build_binary_op): Don't wrap arguments if
+ int_operands is true.
+
+2011-04-26 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/48767
+ * config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call
+ targetm.calls.must_pass_in_stack for void type.
+
+2011-04-26 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (build_cgraph_edges): Update call
+ of cgraph_create_edge and cgraph_create_indirect_edge.
+ * cgraph.c (cgraph_create_edge_including_clones,
+ cgraph_create_edge_1, cgraph_allocate_init_indirect_info,
+ cgraph_update_edges_for_call_stmt_node): Do not take nest
+ argument; do not initialize call_stmt_size/time.
+ (dump_cgraph_node): Do not dump nest.
+ (cgraph_clone_edge): Do not take loop_nest argument;
+ do not propagate it; do not clone call_stmt_size/time.
+ (cgraph_clone_node): Likewise.
+ (cgraph_create_virtual_clone): Update.
+ * cgraph.h (struct cgraph_edge): Remove
+ call_stmt_size/call_stmt_time/loop_nest.
+ (cgraph_create_edge, cgraph_create_indirect_edge,
+ cgraph_create_edge_including_clones, cgraph_clone_node): Update
+ prototype.
+ * tree-emutls.c (gen_emutls_addr): Update.
+ * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle
+ loop_nest; handle indirect calls, too.
+ (clone_inlined_nodes): Do not care about updating inline summaries.
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Update.
+ * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not
+ stream call_stmt_size/call_stmt_time/loop_nest.
+ * ipa-inline.c (edge_badness): Update.
+ (ipa_inline): dump summaries after inlining.
+ * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t):
+ New.
+ (inline_edge_summary): New function.
+ * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder.
+ (inline_edge_removal_hook): Handle edge summaries.
+ (inline_edge_duplication_hook): New hook.
+ (inline_summary_alloc): Alloc hooks.
+ (initialize_growth_caches): Do not register removal hooks.
+ (free_growth_caches); Do not free removal hook.
+ (dump_inline_edge_summary): New function.
+ (dump_inline_summary): Use it.
+ (estimate_function_body_sizes, estimate_edge_size_and_time): Update.
+ (inline_update_callee_summaries): New function.
+ (inline_merge_summary): Use it.
+ (do_estimate_edge_time, do_estimate_edge_growth): Update.
+ (read_inline_edge_summary): New function.
+ (inline_read_section): Use it.
+ (write_inline_edge_summary): New function.
+ (inline_write_summary): Use it.
+ (inline_free_summary): Free edge new holders.
+ * tree-inline.c (copy_bb): Update.
+
+2011-04-26 Jason Merrill <jason@redhat.com>
+
+ * tree-eh.c (lower_try_finally_switch): Create the label along with
+ the CASE_LABEL_EXPR.
+
+2011-04-26 David S. Miller <davem@davemloft.net>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_sparc_gotdata_op): Specify alignment.
+ * configure: Regenerate.
+
+2011-04-26 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48258
+ * config/rs6000/vector.md (UNSPEC_REDUC): New unspec for vector
+ reduction.
+ (VEC_reduc): New code iterator and splitters for vector reduction.
+ (VEC_reduc_name): Ditto.
+ (VEC_reduc_rtx): Ditto.
+ (reduc_<VEC_reduc_name>_v2df): Vector reduction expanders for VSX.
+ (reduc_<VEC_reduc_name>_v4sf): Ditto.
+
+ * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
+ support for extracting SF on VSX.
+
+ * config/rs6000/vsx.md (vsx_xscvspdp_scalar2): New insn for
+ generating xscvspdp.
+ (vsx_extract_v4sf): New insn to extract SF from V4SF vector.
+ (vsx_reduc_<VEC_reduc_name>_v2df): New insns and splitters for
+ double add, minimum, maximum vector reduction.
+ (vsx_reduc_<VEC_reduc_name>_v4sf): Ditto.
+ (vsx_reduc_<VEC_reduc_name>_v2df2_scalar): New combiner insn to
+ optimize double vector reduction.
+ (vsx_reduc_<VEC_reduc_name>_v4sf_scalar): Ditto.
+
+2011-04-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/fr30/fr30.h (inhibit_libc): Don't define.
+ * config/m32r/m32r-protos.h: Correct comment.
+ * config/v850/v850.h (GHS_default_section_names,
+ GHS_current_section_names): Use tree, not union tree_node *.
+
+2011-04-26 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-uninit.c (warn_uninitialized_phi): Pass warning code.
+ * c-family/c-opts.c (c_common_handle_option): Set
+ warn_maybe_uninitialized.
+ * opts.c (common_handle_option): Ditto.
+ * common.opt: New option.
+ * tree-ssa.c (warn_uninit): Add one more parameter.
+ (warn_uninitialized_var): Pass warning code.
+ * tree-flow.h: Interface change.
+
+2011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (LOCAL_LABEL_PREFIX): Don't test TARGET_NEWABI.
+ (WINT_TYPE_SIZE): Use INT_TYPE_SIZE.
+ (TARGET_OS_CPP_BUILTINS): Remove TARGET_IRIX6 guards.
+
+2011-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/mips.h (DBX_OUTPUT_SOURCE_LINE): Remove.
+ * config/mips/mips.opt (mmips-tfile): Remove.
+
+ * doc/install.texi (Specific, mips-*-*): Move mips-tfile,
+ mips-tdump reference to ...
+ (Specific, alpha*-dec-osf5.1): ... here. Adapt for Tru64 UNIX.
+ * doc/trouble.texi (Cross-Compiler Problems): Replace MIPS
+ reference by Tru64 UNIX.
+
+2011-04-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48768
+ * tree-ssa.c (insert_debug_temp_for_var_def): If degenerate_phi_result
+ is error_mark_node, set value to NULL.
+
+ PR tree-optimization/48734
+ * tree-ssa-reassoc.c (eliminate_redundant_comparison): Give up
+ if return value from maybe_fold_*_comparsions isn't something
+ the code is prepared to handle.
+
+2011-04-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (ext_QIreg_operand): Remove extra
+ mode check.
+ (ext_QIreg_nomode_operands): Remove.
+ * config/i386/i386.md (*anddi_1): Use ext_QIreg_operand.
+ (*andsi_1): Ditto.
+ (*andhi_1): Ditto.
+
+2011-04-26 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (arm_gen_constant): Remove can_negate_initial.
+
+2011-04-26 Richard Guenther <rguenther@suse.de>
+
+ * c-typeck.c (build_unary_op): Do not expand array-refs via
+ pointer arithmetic. Only adjust qualifiers for function types.
+
+2011-04-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48694
+ * tree.h (OEP_CONSTANT_ADDRESS_OF): New operand_equal_flag.
+ * fold-const.c (operand_equal_p): For TREE_CONSTANT ADDR_EXPRs
+ compare the operands with OEP_CONSTANT_ADDRESS_OF. Treat trees
+ with TREE_SIDE_EFFECTS equal when OEP_CONSTANT_ADDRESS_OF is set.
+
+2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * doc/extend.texi: Document __underlying_type.
+
+2011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
+
+ * config/rs6000/titan.md (automata_option "progress"): Remove.
+
+2011-04-25 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (identify_jump_threads): Handle GIMPLE_SWITCH too.
+
+2011-04-25 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * system.h (ENUM_BITFIELD): Remove.
+
+2011-04-25 Maxim Kuvyrkov <maxim@codesourcery.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (combine_simplify_rtx): Avoid mis-simplifying conditionals
+ for STORE_FLAG_VALUE==-1 case.
+
+2011-04-24 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/43804
+ * config/m68k/constraints.md (T): Allow PIC operands that satisfy
+ LEGITIMATE_PIC_OPERAND_P.
+
+2011-04-24 Jan Hubicka <jh@suse.cz>
+
+ * ipa-prop.c (ipa_propagate_indirect_call_infos): Remove obsolette
+ WPA hack.
+ * ipa-prop.h (ipa_get_param, ipa_is_param_used,
+ ipa_param_cannot_devirtualize_p, ipa_param_types_vec_empty,
+ ipa_get_ith_jump_func, ipa_get_lattice): Fortify array bounds.
+ * ipa-inline-analysis.c (add_clause): Fix clause ordering.
+ (and_predicates, or_predicates, predicates_equal_p, evaulate_predicate):
+ Sanity check predicate length.
+ (remap_predicate): Likewise; sanity check jump functions.
+ (inline_read_section, inline_write_summary): Sanity check
+ predicate length.
+
+2011-04-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR other/48748
+ * doc/extend.texi (Type Traits): Document __is_standard_layout,
+ __is_literal_type, and __is_trivial; update throughout about
+ possibly cv-qualified void types.
+
+2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/sourcebuild.texi (Ada Tests): Adjust reference to ACATS
+ testsuite and make it version agnostic.
+
+2011-04-22 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (inline_write_summary): Fix thinko.
+
+2011-04-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48685
+ * fold-const.c (fold_convert_loc): Add NOP_EXPR when casting
+ to VOID_TYPE even around MODIFY_EXPR.
+
+2011-04-22 Mike Stump <mikestump@comcast.net>
+
+ * gensupport.c (read_md_rtx): Fix typo in comment.
+ * config/cris/cris.opt (moverride-best-lib-options): Fix typo in
+ comment.
+
+2011-04-22 Jan Hubicka <jh@suse.cz>
+
+ * gengtype.c (open_base_files): Add ipa-inline.h include.
+ * ipa-cp.c (ipcp_get_lattice, ipcp_lattice_from_jfunc): Move to
+ ipa-prop.c; update all uses.
+ * ipa-prop.c: (ipa_get_lattice, ipa_lattice_from_jfunc): ... here.
+ * ipa-inline-transform.c (inline_call): Use inline_merge_summary to
+ merge summary of inlined function into former caller.
+ * ipa-inline.c (max_benefit): Remove.
+ (edge_badness): Compensate for removal of benefits.
+ (update_caller_keys): Use
+ reset_node_growth_cache/reset_edge_growth_cache.
+ (update_callee_keys): Likewise.
+ (update_all_callee_keys): Likewise.
+ (inline_small_functions): Do not collect max_benefit; do not reset
+ estimated_growth; call free_growth_caches and initialize_growth_caches.
+ * ipa-inline.h (struct condition, type clause_t, struct predicate,
+ struct size_time_entry): New structures.
+ (INLINE_SIZE_SCALE, INLINE_TIME_SCALE, MAX_CLAUSES): New constants.
+ (inline_summary): Remove size_inlining_benefit, time_inlining_benefit
+ and estimated_growth.
+ (edge_growth_cache_entry): New structure.
+ (node_growth_cache, edge_growth_cache): New global vars.
+ (estimate_growth): Turn into inline.
+ (inline_merge_summary, do_estimate_edge_growth, do_estimate_edge_time,
+ initialize_growth_caches, free_growth_caches): Declare.
+ (estimate_edge_growth): Rewrite.
+ (estimate_edge_time): Implement as inline cache lookup.
+ (reset_node_growth_cache, reset_edge_growth_cache): New inline
+ functions.
+ (MAX_TIME): Reduce to allow multiplicatoin by INLINE_SIZE_SCALE.
+ (NUM_CONDITIONS): New constant.
+ (predicate_conditions): New enum.
+ (IS_NOT_CONSTANT): New constant.
+ (edge_removal_hook_holder): New var.
+ (node_growth_cache, edge_growth_cache): New global vars.
+ (true_predicate, single_cond_predicate, false_predicate,
+ not_inlined_predicate, add_condition, add_clause, and_predicates,
+ or_predicates, predicates_equal_p, evaulate_predicate, dump_condition,
+ dump_clause, dump_predicate, account_size_time,
+ evaulate_conditions_for_edge): New functions.
+ (inline_summary_alloc): Move to heap.
+ (inline_node_removal_hook): Clear condition and entry vectors.
+ (inline_edge_removal_hook): New function.
+ (initialize_growth_caches, free_growth_caches): New function.
+ (dump_inline_summary): Update.
+ (edge_execution_predicate): New function.
+ (will_be_nonconstant_predicate): New function.
+ (estimate_function_body_sizes): Compute BB and constantness predicates.
+ (compute_inline_parameters): Do not clear estimated_growth.
+ (estimate_edge_size_and_time): New function.
+ (estimate_calls_size_and_time): New function.
+ (estimate_callee_size_and_time): New function.
+ (remap_predicate): New function.
+ (inline_merge_summary): New function.
+ (do_estimate_edge_time): New function based on...
+ (estimate_edge_time): ... this one.
+ (do_estimate_edge_growth): New function.
+ (do_estimate_growth): New function based on....
+ (estimate_growth): ... this one.
+ (inline_analyze_function): Analyze after deciding on jump functions.
+ (inline_read_section): New function.
+ (inline_read_summary): Use it.
+ (inline_write_summary): Write all the new data.
+ * ipa-prop.c (ipa_get_param_decl_index): Export.
+ (ipa_lattice_from_jfunc): Move here from ipa-cp.c
+ * ipa-prop.h (ipa_get_param_decl_index, ipa_lattice_from_jfunc):
+ Declare.
+ (ipa_get_lattice): Move here from ipa-cp.c
+ * Makefile.in (GTFILES): Add ipa-inline.h and ipa-inline-analysis.c
+ * params.def (PARAM_EARLY_INLINING_INSNS): Set to 11.
+ * cgraph.h (cgraph_clone_inlined_nodes, compute_inline_parameters,
+ cgraph_edge_inlinable_p): Remove.
+ * cgraphunit.c: Include ipainline.h
+ (cgraph_process_new_functions): Update call of
+ compute_inline_parameters.
+
+2011-04-22 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (build_int_cst): Properly create canonicalized integer
+ constants.
+ (build_int_cst_type): Remove scary comments.
+
+2011-04-22 Xinliang David Li <davidxl@google.com>
+
+ * toplev.c (process_options): Enable -Werror=coverage-mismatch
+ by default when -Wno-error is not specified.
+ * opts-global.c (decode_options): Remove call to
+ control_warning_options.
+
+2011-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48717
+ * tree-ssa-forwprop.c (associate_plusminus): For A + ~A and
+ ~A + A optimizations use build_int_cst_type instead of build_int_cst.
+
+2011-04-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin-protos.h (Mmode): Don't define. Expand
+ definition where used.
+
+2011-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48716
+ * gimplify.c (gimplify_bind_expr): Mark as GOVD_LOCAL also
+ TREE_STATIC variables declared inside of some OpenMP construct.
+
+2011-04-22 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/48585
+ * tree-inline.c (copy_bb): Create new edges only for analyzed nodes.
+
+2011-04-22 Alexander Monakov <amonakov@ispras.ru>
+
+ PR c/36750
+ * c-typeck.c (pop_init_level): Do not warn about initializing
+ with ` = {0}'.
+
+2011-04-22 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_function_arg): Remove CALL_LIBCALL
+ when returning call_cookie.
+ (rs6000_function_ok_for_sibcall): Allow sibcalls via function
+ pointers, to functions with no more vector args than the current
+ function, and some non-local calls for ABI_V4.
+ * config/rs6000/rs6000.md (sibcall_nonlocal_aix32,
+ sibcall_nonlocal_aix64): Combine to ..
+ (sibcall_nonlocal_aix<mode>): ..this. Handle function pointer calls.
+ (sibcall_value_nonlocal_aix32, sibcall_value_nonlocal_aix64): Combine..
+ (sibcall_value_nonlocal_aix<mode>): ..likewise.
+ (*sibcall_nonlocal_sysv<mode>): Handle function pointer calls.
+ (sibcall_value_nonlocal_sysv<mode>): Likewise. Correct call cookie
+ operand.
+ * config/rs6000/darwin.md (sibcall_nonlocal_darwin64,
+ sibcall_value_nonlocal_darwin64, sibcall_symbolic_64,
+ sibcall_value_symbolic_64): Delete.
+
+2011-04-21 Xinliang David Li <davidxl@google.com>
+
+ * cgraph.h: Remove pid.
+ * cgraph.c: Remove pid.
+ * value-prof.c (init_node_map): New function.
+ (del_node_map): New function.
+ (find_func_by_funcdef_no): New function.
+ (gimple_ic_transform): Call new function.
+ * cgraphunit.c (cgraph_finalize_function): Remove pid.
+ * function.c (get_last_funcdef_no): New function.
+ * function.h (get_last_funcdef_no): New function.
+ * tree-profile.c (gimple_gen_ic_func_profiler): Pass funcdef_no
+ to libgcov function.
+ (tree-profiling): Call node map init and delete function.
+
+2011-04-21 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_format_type): Use exported Go name for anonymous
+ field name.
+
+2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/frv/frv.c (frv_init_builtins): Delete `endlink' variable.
+ Call builtin_function_type_list instead of builtin_function_type.
+ (UNARY, BINARY, TRINARY, QUAD): Likewise.
+
+2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/arm/arm.c (arm_init_iwmmxt_builtins): Call
+ build_function_type_list instead of build_function_type.
+ Delete variable `endlink'.
+
+2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/s390/s390.c (s390_init_builtins): Call
+ build_function_type_list instead of build_function_type.
+
+2011-04-21 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/ia64/ia64.c (ia64_init_builtins): Call
+ build_function_type_list instead of builtin_function_type.
+
+2011-04-21 Easwaran Raman <eraman@google.com>
+
+ * cfgexpand.c (stack_var): Remove OFFSET...
+ (add_stack_var): ...and its reference here...
+ (expand_stack_vars): ...and here.
+ (stack_var_cmp): Sort by descending order of size.
+ (partition_stack_vars): Change heuristic.
+ (union_stack_vars): Fix to reflect changes in partition_stack_vars.
+ (dump_stack_var_partition): Add newline after each partition.
+
+2011-04-21 Dimitrios Apostolou <jimis@gmx.net>
+ Jeff Law <law@redhat.com>
+
+ * gengtype-state.c (read_a_state_token): Fix argument to obstack_free.
+ * gengtype.c (matching_file_name_substitute): Likewise.
+
+2011-04-21 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48703
+ * tree.c (free_lang_data_in_decl): Do not zero TREE_TYPE of DECL_NAME.
+
+2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple.c (walk_gimple_op) <GIMPLE_CALL>: Fix couple of oversights.
+
+2011-04-21 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (site.exp): Do not use tmp0 but site.tmp as temporary
+ file name.
+
+2011-04-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Handle
+ MEM_REF and TARGET_MEM_REF, do not care about INDIRECT_REFs.
+ Use DECL_P, not SSA_VAR_P.
+ (ptr_derefs_may_alias_p): Likewise.
+ (ptr_deref_may_alias_ref_p_1): Likewise.
+ (decl_refs_may_alias_p): Likewise.
+ (refs_may_alias_p_1): Likewise.
+ (ref_maybe_used_by_call_p_1): Likewise.
+ (call_may_clobber_ref_p_1): Likewise.
+ (indirect_ref_may_alias_decl_p): Assume indirect refrences
+ are either MEM_REF or TARGET_MEM_REF.
+ (indirect_refs_may_alias_p): Likewise.
+ * calls.c (emit_call_1): Build a MEM_REF instead of an INDIRECT_REF
+ for MEM_EXPR of indirect calls.
+
+2011-04-21 Tristan Gingold <gingold@adacore.com>
+
+ * vmsdbgout.c (write_srccorr): Compute file length from the string.
+ (dst_file_info_struct): Remove flen field.
+ (lookup_filename): Remove code that set flen field.
+
+2011-04-21 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/ia64.c (ia64_start_function): Add a guard.
+
+2011-04-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48708
+ * config/i386/i386.c (ix86_expand_vector_set) <V2DImode>: Generate
+ vec_extract and vec_concat for non-SSE4_1 targets.
+
+2011-04-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-alias.c (ref_maybe_used_by_stmt_p): Handle
+ return statements.
+
+2011-04-21 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/cygming.h (union tree_node, TREE): Don't define or
+ undefine.
+ (FILE): Don't undefine.
+
+2011-04-21 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/alpha.c (struct machine_function): Use rtx, not
+ struct rtx_def *.
+ * config/bfin/bfin.h (bfin_cc_rtx, bfin_rets_rtx): Use rtx, not
+ struct rtx_def *.
+ * config/cris/cris-protos.h (STDIO_INCLUDED): Don't define.
+ * config/h8300/h8300.h (struct cum_arg): Use rtx, not struct rtx_def *.
+ * config/iq2000/iq2000.h (struct iq2000_args): Use rtx, not struct
+ rtx_def *.
+ * config/m32c/m32c-protos.h (MM, UINT): Don't define. Expand
+ definitions where used.
+ * config/microblaze/microblaze.h (struct microblaze_args): Use
+ rtx, not struct rtx_def *.
+ * config/pa/pa-protos.h (return_addr_rtx): Use rtx, not struct
+ rtx_def *.
+ * config/pa/pa.h (hppa_pic_save_rtx): Use rtx, not struct rtx_def *.
+ * config/pdp11/pdp11.h (cc0_reg_rtx): Use rtx, not struct rtx_def *.
+ * config/sh/sh-protos.h (sfunc_uses_reg, get_fpscr_rtx): Use rtx,
+ not struct rtx_def *.
+ * config/sh/sh.h (sh_compare_op0, sh_compare_op1): Use rtx, not
+ struct rtx_def *.
+ * config/spu/spu-protos.h (spu_float_const): Use rtx, not struct
+ rtx_def *.
+ * config/spu/spu.c (spu_float_const): Use rtx, not struct rtx_def *.
+
+2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vect-data-refs.c (vect_drs_dependent_in_basic_block): Use
+ operand_equal_p to compare DR_BASE_ADDRESSes.
+ (vect_check_interleaving): Likewise.
+
+2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/46329
+ * config/arm/arm.c (arm_legitimate_constant_p_1): Return false
+ for all Neon struct constants.
+
+2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * target.def (legitimate_constant_p): New hook.
+ * doc/tm.texi.in (LEGITIMATE_CONSTANT_P): Replace with...
+ (TARGET_LEGITIMATE_CONSTANT_P): ...this.
+ * doc/tm.texi: Regenerate.
+ * hooks.h (hook_bool_mode_rtx_true): Declare.
+ * hooks.c (hook_bool_mode_rtx_true): Define.
+ * system.h (LEGITIMATE_CONSTANT_P): Poison.
+ * calls.c (precompute_register_parameters): Replace uses of
+ LEGITIMATE_CONSTANT_P with targetm.legitimate_constant_p.
+ (emit_library_call_value_1): Likewise.
+ * expr.c (move_block_to_reg, can_store_by_pieces, emit_move_insn)
+ (compress_float_constant, emit_push_insn, expand_expr_real_1): Likewise.
+ * ira-costs.c (scan_one_insn): Likewise.
+ * recog.c (general_operand, immediate_operand): Likewise.
+ * reload.c (find_reloads_toplev, find_reloads_address_part): Likewise.
+ * reload1.c (init_eliminable_invariants): Likewise.
+
+ * config/alpha/alpha-protos.h (alpha_legitimate_constant_p): Add a
+ mode argument.
+ * config/alpha/alpha.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/alpha/alpha.c (alpha_legitimate_constant_p): Add a mode
+ argument.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ * config/alpha/predicates.md (input_operand): Update call to
+ alpha_legitimate_constant_p.
+
+ * config/arm/arm-protos.h (arm_cannot_force_const_mem): Delete.
+ * config/arm/arm.h (ARM_LEGITIMATE_CONSTANT_P): Likewise.
+ (THUMB_LEGITIMATE_CONSTANT_P, LEGITIMATE_CONSTANT_P): Likewise.
+ * config/arm/arm.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (arm_legitimate_constant_p_1, thumb_legitimate_constant_p)
+ (arm_legitimate_constant_p): New functions.
+ (arm_cannot_force_const_mem): Make static.
+
+ * config/avr/avr.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/bfin/bfin-protos.h (bfin_legitimate_constant_p): Delete.
+ * config/bfin/bfin.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/bfin/bfin.c (expand_move): Use targetm.legitimate_constant_p
+ instead of bfin_legitimate_constant_p.
+ (bfin_legitimate_constant_p): Make static. Add a mode argument.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+
+ * config/cris/cris.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/fr30/fr30.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/frv/frv-protos.h (frv_legitimate_constant_p): Delete.
+ * config/frv/frv.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/frv/frv.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (frv_legitimate_constant_p): Make static. Add a mode argument.
+
+ * config/h8300/h8300-protos.h (h8300_legitimate_constant_p): Delete.
+ * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/h8300/h8300.c (h8300_legitimate_constant_p): Likewise.
+
+ * config/i386/i386-protos.h (legitimate_constant_p): Delete.
+ * config/i386/i386.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/i386/i386.c (legitimate_constant_p): Rename to...
+ (ix86_legitimate_constant_p): ...this. Make static. Add a mode
+ argument.
+ (ix86_cannot_force_const_mem): Update accordingly.
+ (ix86_legitimate_address_p): Likewise.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ * config/i386/i386.md: Update commentary.
+
+ * config/ia64/ia64-protos.h (ia64_legitimate_constant_p): Delete.
+ * config/ia64/ia64.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/ia64/ia64.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (ia64_legitimate_constant_p): Make static. Add a mode argument.
+
+ * config/iq2000/iq2000.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/lm32/lm32-protos.h (lm32_legitimate_constant_p): Delete.
+ * config/lm32/lm32.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/lm32/lm32.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (lm32_legitimate_constant_p): Make static. Add a mode argument.
+
+ * config/m32c/m32c-protos.h (m32c_legitimate_constant_p): Delete.
+ * config/m32c/m32c.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/m32c/m32c.c (m32c_legitimate_constant_p): Likewise.
+
+ * config/m32r/m32r.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/m32r/m32r.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (m32r_legitimate_constant_p): New function.
+
+ * config/m68k/m68k-protos.h (m68k_legitimate_constant_p): Declare.
+ * config/m68k/m68k.h (CONSTANT_ADDRESS_P): Call it instead of
+ LEGITIMATE_CONSTANT_P.
+ (LEGITIMATE_CONSTANT_P): Delete.
+ * config/m68k/m68k.c (m68k_expand_prologue): Call
+ m68k_legitimate_constant_p instead of LEGITIMATE_CONSTANT_P.
+ (m68k_legitimate_constant_p): New function.
+ * config/m68k/m68k.md: Update comments.
+
+ * config/mcore/mcore.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/mcore/mcore.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (mcore_legitimate_constant_p): New function.
+
+ * config/mep/mep-protos.h (mep_legitimate_constant_p): Delete.
+ * config/mep/mep.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/mep/mep.c (mep_legitimate_constant_p): Make static.
+ Add a mode argument.
+ (mep_legitimate_address): Update accordingly.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+
+ * config/microblaze/microblaze-protos.h (microblaze_const_double_ok):
+ Delete.
+ * config/microblaze/microblaze.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/microblaze/microblaze.c (microblaze_const_double_ok): Make
+ static. Check OP's mode for VOIDmode.
+ (microblaze_legitimate_constant_p): New function.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+
+ * config/mips/mips.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/mips/mips.c (mips_legitimate_constant_p): New function.
+ (mips_cannot_force_const_mem): Use it instead of LEGITIMATE_CONSTANT_P.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ * config/mips/predicates.md: Update comments.
+
+ * config/mmix/mmix-protos.h (mmix_legitimate_constant_p): Delete.
+ * config/mmix/mmix.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/mmix/mmix.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (mmix_legitimate_constant_p): Make static, return a bool, and take
+ a mode argument.
+ (mmix_print_operand_address): Update accordingly.
+
+ * config/mn10300/mn10300-protos.h (mn10300_legitimate_constant_p):
+ Delete.
+ * config/mn10300/mn10300.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/mn10300/mn10300.c (mn10300_legitimate_constant_p): Make
+ static. Add a mode argument.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+
+ * config/moxie/moxie.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/pa/pa.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/pa/pa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (pa_legitimate_constant_p): New function.
+
+ * config/picochip/picochip.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/pdp11/pdp11.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/pdp11/pdp11.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (pdp11_legitimate_constant_p): New function.
+
+ * config/rs6000/rs6000.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/rs6000/rs6000.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (rs6000_legitimate_constant_p): New function.
+
+ * config/rx/rx-protos.h (rx_is_legitimate_constant): Replace with...
+ (rx_legitimate_constant_p): ...this.
+ * config/rx/rx.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/rx/rx.c (rx_is_legitimate_constant): Replace with...
+ (rx_legitimate_constant_p): ...this.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ * config/rx/rx.md (mov<register_modes:mode>): Update accordingly.
+
+ * config/s390/s390-protos.h (legitimate_constant_p): Delete.
+ * config/s390/s390.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/s390/s390.c (legitimate_constant_p): Rename to...
+ (s390_legitimate_constant_p): ...this. Make static, return a bool,
+ and add a mode argument.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+
+ * config/score/score.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/sh/sh.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/sh/sh.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (sh_legitimate_constant_p): New function.
+
+ * config/sparc/sparc-protos.h (legitimate_constant_p): Delete.
+ * config/sparc/sparc.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/sparc/sparc.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (legitimate_constant_p): Rename to...
+ (sparc_legitimate_constant_p): ...this. Make static. Add a mode
+ argument.
+ (constant_address_p): Update accordingly.
+
+ * config/spu/spu-protos.h (spu_legitimate_constant_p): Add a mode
+ argument and return a bool.
+ * config/spu/spu.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/spu/spu.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (spu_legitimate_constant_p): Add a mode argument and return a bool.
+ (spu_rtx_costs): Update accordingly.
+ * config/spu/predicates.md (vec_imm_operand): Likewise.
+
+ * config/stormy16/stormy16.h (LEGITIMATE_CONSTANT_P): Delete.
+
+ * config/v850/v850.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/v850/v850.c (v850_legitimate_constant_p): New function.
+ (TARGET_LEGITIMATE_CONSTANT_P): Define.
+
+ * config/vax/vax-protos.h (legitimate_constant_p): Delete.
+ * config/vax/vax.h (LEGITIMATE_CONSTANT_P): Likewise.
+ * config/vax/vax.c (legitimate_constant_p): Likewise.
+
+ * config/xtensa/xtensa.h (LEGITIMATE_CONSTANT_P): Delete.
+ * config/xtensa/xtensa.c (TARGET_LEGITIMATE_CONSTANT_P): Define.
+ (xtensa_legitimate_constant_p): New function.
+
+2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * target.def (cannot_force_const_mem): Add a mode argument.
+ * doc/tm.texi.in (TARGET_CANNOT_FORCE_CONST_MEM): Update accordingly.
+ * doc/tm.texi: Regenerate.
+ * hooks.h (hook_bool_mode_rtx_false): Declare.
+ * hooks.c (hook_bool_mode_const_rtx_false): Fix commentary.
+ (hook_bool_mode_const_rtx_true): Likewise.
+ (hook_bool_mode_rtx_false): New function.
+ * reload.c (CONST_POOL_OK_P): Take a mode argument and require it
+ to be non-VOID. Update call to cannot_force_const_mem.
+ (find_reloads): Update accordingly.
+ * varasm.c (force_const_mem): Update call to cannot_force_const_mem.
+ * config/alpha/alpha.c (alpha_cannot_force_const_mem): Add a mode
+ argument.
+ * config/arm/arm-protos.h (arm_cannot_force_const_mem): Likewise.
+ * config/arm/arm.h (LEGITIMATE_CONSTANT_P): Update call.
+ * config/arm/arm.c (arm_cannot_force_const_mem): Add a mode argument.
+ * config/bfin/bfin.c (bfin_cannot_force_const_mem): Likewise.
+ * config/frv/frv.c (frv_cannot_force_const_mem): Likewise.
+ * config/i386/i386.c (ix86_cannot_force_const_mem): Likewise.
+ * config/ia64/ia64.c (ia64_cannot_force_const_mem): Likewise.
+ * config/m68k/m68k.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
+ (m68k_cannot_force_const_mem): ...this new function.
+ * config/mips/mips.c (mips_cannot_force_const_mem): Add a mode
+ argument.
+ (mips_const_insns, mips_legitimize_const_move): Update calls.
+ (mips_secondary_reload_class): Likewise.
+ * config/pa/pa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine to...
+ (pa_cannot_force_const_mem): ...this new function.
+ * config/rs6000/rs6000.c (TARGET_CANNOT_FORCE_CONST_MEM): Reefine to...
+ (rs6000_cannot_force_const_mem): ...this new function.
+ * config/s390/s390.c (s390_cannot_force_const_mem): Add a mode
+ argument.
+ * config/sparc/sparc.c (sparc_cannot_force_const_mem): Likewise.
+ * config/xtensa/xtensa.c (TARGET_CANNOT_FORCE_CONST_MEM): Redefine
+ to...
+ (xtensa_cannot_force_const_mem): ...this new function.
+
+2011-04-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mips/mips.c (mips16_build_function_stub): Call
+ build_function_type_list instead of build_function_type.
+ (mips16_build_call_stub): Likewise.
+
+2011-04-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mep/mep.c (mep_init_builtins): Call build_function_type_list
+ instead of build_function_type.
+
+2011-04-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/pa/pa.c (pa_init_builtins): Call build_function_type_list
+ instead of build_function_type.
+
+2011-04-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48678
+ * config/i386/i386.md (insv): Change operand 0 constraint to
+ "register_operand". Change operand 1 and 2 constraint to
+ "const_int_operand". Expand to pinsr{b,w,d,q} * when appropriate.
+ * config/i386/sse.md (sse4_1_pinsrb): Export.
+ (sse2_pinsrw): Ditto.
+ (sse4_1_pinsrd): Ditto.
+ (sse4_1_pinsrq): Ditto.
+ * config/i386/i386-protos.h (ix86_expand_pinsr): Add prototype.
+ * config/i386/i386.c (ix86_expand_pinsr): New.
+
+2011-04-20 Easwaran Raman <eraman@google.com>
+
+ * cfgexpand.c (add_alias_set_conflicts): Add conflicts with a variable
+ containing union type only with -fstrict-aliasing.
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ Remove useless if-before-free tests.
+ * calls.c (expand_call, save_area): Likewise.
+ * cfgcleanup.c (try_forward_edges): Likewise.
+ * collect2.c (collect_execute): Likewise.
+ * config/i386/i386.c (ix86_valid_target_attribute_tree): Likewise.
+ * config/mcore/mcore.c (mcore_expand_prolog): Likewise.
+ * coverage.c (coverage_checksum_string): Likewise.
+ * cse.c (init_cse_reg_info, delete_trivially_dead_insns): Likewise.
+ * cselib.c (cselib_init): Likewise.
+ * df-core.c (rest_of_handle_df_finish, df_analyze): Likewise.
+ (df_set_clean_cfg): Likewise.
+ * function.c (free_after_compilation): Likewise.
+ * gcc.c (do_spec_1, main): Likewise.
+ * gcov.c (create_file_names): Likewise.
+ * gensupport.c (identify_predicable_attribute): Likewise.
+ * graphite-clast-to-gimple.c (save_clast_name_index): Likewise.
+ * graphite-sese-to-poly.c (free_data_refs_aux): Likewise.
+ * haifa-sched.c (haifa_finish_h_i_d): Likewise.
+ * ipa-prop.c (ipa_free_node_params_substructures): Likewise.
+ * ipa-pure-const.c (local_pure_const): Likewise.
+ * ipa-reference.c (propagate): Likewise.
+ * ira-costs.c (free_ira_costs): Likewise.
+ * ira.c (free_register_move_costs, build_insn_chain): Likewise.
+ * matrix-reorg.c (mat_free): Likewise.
+ * prefix.c (get_key_value): Likewise.
+ * profile.c (compute_value_histograms): Likewise.
+ * reload1.c (free_reg_equiv): Likewise.
+ * sched-deps.c (free_deps): Likewise.
+ * sel-sched-ir.c (fence_clear): Likewise.
+ * sese.c (set_rename, if_region_set_false_region): Likewise.
+ * tree-data-ref.c (free_rdg): Likewise.
+ * tree-eh.c (lower_try_finally): Likewise.
+ * tree-ssa-coalesce.c (delete_coalesce_list): Likewise.
+ * tree-ssa-live.c (delete_var_map): Likewise.
+ * tree-ssa-loop-ivopts.c (free_loop_data): Likewise.
+ * tree-ssa-pre.c (phi_trans_add): Likewise.
+
+2011-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48611
+ * tree-eh.c (note_eh_region_may_contain_throw): Don't propagate
+ beyond ERT_MUST_NOT_THROW region.
+
+2011-04-20 Catherine Moore <clm@codesourcery.com>
+
+ * config/mips/mips.opt (mfix-24k): New.
+ * config/mips/mips.h (ASM_SPEC): Handle -mfix-24k.
+ * config/mips/mips.md (length): Increase by 4 for stores if
+ fixing 24K errata.
+ * config/mips/mips.c (mips_reorg_process_insns): Do not allow
+ all noreorder if fixing 24K errata.
+ * doc/invoke.texi: Document mfix-24k.
+
+2011-04-20 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.c (arm_legitimize_reload_address): For NEON
+ quad-word modes, reduce to 9-bit index range when above 1016 limit.
+
+2011-04-20 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (arm_gen_constant): Move movw support ....
+ (const_ok_for_op): ... to here.
+
+2011-04-20 Kai Tietz <ktietz@redhat.com>
+
+ * fold-const.c (fold_binary_loc): Add handling for (X & ~Y) | (~X & Y)
+ and (X && !Y) | (!X && Y) optimization to (X ^ Y).
+
+2011-04-20 Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/arm.c (arm_gen_constant): Remove redundant can_invert.
+
+2011-04-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47892
+ * tree-if-conv.c (if_convertible_stmt_p): Const builtins
+ are if-convertible.
+
+2011-04-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/alpha/vms.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not redefine.
+
+2011-04-20 Tristan Gingold <gingold@adacore.com>
+
+ * config/alpha/vms.h (LINK_SPEC): Do not use vms-dwarf2.o for gnu-ld.
+
+2011-04-20 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/18145
+
+ * config/avr/avr.h (TARGET_ASM_INIT_SECTIONS): Delete.
+ (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
+ (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
+ (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Define.
+ (TARGET_ASM_NAMED_SECTION): Change to avr_asm_named_section.
+
+ * config/avr/avr-protos.h (avr_asm_output_aligned_common):
+ New prototype.
+
+ * config/avr/avr.c (TARGET_ASM_INIT_SECTIONS): Define.
+ (avr_asm_named_section, avr_asm_output_aligned_common,
+ avr_output_data_section_asm_op, avr_output_bss_section_asm_op):
+ New functions to update...
+ (avr_need_clear_bss_p, avr_need_copy_data_p): ...these new variables.
+ (avr_asm_init_sections): Overwrite section callbacks for
+ data_section, bss_section.
+ (avr_file_start): Move output of __do_copy_data, __do_clear_bss
+ from here to...
+ (avr_file_end): ...here.
+
+2011-04-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48695
+ * tree-ssa-alias.c (aliasing_component_refs_p): Compute base
+ objects and types here. Adjust for their offset before comparing.
+
+2011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vect-stmts.c (vectorizable_store): Only chain one related
+ statement per copy.
+
+2011-04-20 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * Makefile.in (INTERNAL_FN_DEF, INTERNAL_FN_H): Define.
+ (GIMPLE_H): Include $(INTERNAL_FN_H).
+ (OBJS-common): Add internal-fn.o.
+ (internal-fn.o): New rule.
+ * internal-fn.def: New file.
+ * internal-fn.h: Likewise.
+ * internal-fn.c: Likewise.
+ * gimple.h: Include internal-fn.h.
+ (GF_CALL_INTERNAL): New gf_mask.
+ (gimple_statement_call): Put fntype into a union with a new
+ internal_fn field.
+ (gimple_build_call_internal): Declare.
+ (gimple_build_call_internal_vec): Likewise.
+ (gimple_call_same_target_p): Likewise.
+ (gimple_call_internal_p): New function.
+ (gimple_call_internal_fn): Likewise.
+ (gimple_call_fntype): Return null for internal calls.
+ (gimple_call_set_fntype): Assert that the function is not internal.
+ (gimple_call_set_fn): Likewise.
+ (gimple_call_set_fndecl): Likewise.
+ (gimple_call_set_internal_fn): New function.
+ (gimple_call_addr_fndecl): Handle null functions.
+ (gimple_call_return_type): Likewise null types.
+ * gimple.c (gimple_build_call_internal_1): New function.
+ (gimple_build_call_internal): Likewise.
+ (gimple_build_call_internal_vec): Likewise.
+ (gimple_call_same_target_p): Likewise.
+ (gimple_call_flags): Handle calls to internal functions.
+ (gimple_call_fnspec): New function.
+ (gimple_call_arg_flags, gimple_call_return_flags): Use it.
+ (gimple_has_side_effects): Handle null functions.
+ (gimple_rhs_has_side_effects): Likewise.
+ (gimple_call_copy_skip_args): Handle calls to internal functions.
+ * cfgexpand.c (expand_call_stmt): Likewise.
+ * expr.c (expand_expr_real_1): Assert that the call isn't internal.
+ * gimple-fold.c (gimple_fold_call): Handle null functions.
+ (gimple_fold_stmt_to_constant_1): Don't fold
+ calls to internal functions.
+ * gimple-low.c (gimple_check_call_args): Handle calls to internal
+ functions.
+ * gimple-pretty-print.c (dump_gimple_call): Likewise.
+ * ipa-prop.c (ipa_analyze_call_uses): Handle null functions.
+ * tree-cfg.c (verify_gimple_call): Handle calls to internal functions.
+ (do_warn_unused_result): Likewise.
+ * tree-eh.c (same_handler_p): Use gimple_call_same_target_p.
+ * tree-ssa-ccp.c (ccp_fold_stmt): Handle calls to internal functions.
+ * tree-ssa-dom.c (hashable_expr): Use the gimple statement to record
+ the target of a call.
+ (initialize_hash_element): Update accordingly.
+ (hashable_expr_equal_p): Use gimple_call_same_target_p.
+ (iterative_hash_hashable_expr): Handle calls to internal functions.
+ (print_expr_hash_elt): Likewise.
+ * tree-ssa-pre.c (can_value_number_call): Likewise.
+ (eliminate): Handle null functions.
+ * tree-ssa-sccvn.c (visit_use): Handle calls to internal functions.
+ * tree-ssa-structalias.c (get_fi_for_callee): Likewise.
+ (find_func_aliases): Likewise.
+ * value-prof.c (gimple_ic_transform): Likewise.
+ (gimple_indirect_call_to_profile): Likewise.
+ * lto-streamer-in.c (input_gimple_stmt): Likewise.
+ * lto-streamer-out.c (output_gimple_stmt): Likewise.
+
+2011-04-19 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-transform.c (save_inline_function_body): Add comments.
+ * ipa-inline.c (inline_small_functions): Compute summaries first,
+ populate heap later.
+
+2011-04-19 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (save_inline_function_body): Remove.
+ * ipa-inline-transform.c: New file, broke out of...
+ * ipa-inline.c: ... this one; Update toplevel comment.
+ (ncalls_inlined, nfunctions_inlined): Move to ipa-inline-transform.c;
+ make global.
+ (update_noncloned_frequencies): Move to ipa-inline-transform.c
+ (cgraph_mark_inline_edge): Rename to inline_call; move to
+ ipa-inline-transform.c.
+ (cgraph_clone_inlined_nodes): Rename to clone_inlined_nodes;
+ move to ipa-inline-transform.c
+ (recursive_inlining, inline_small_functions, flatten_function,
+ ipa_inline, inline_always_inline_functions,
+ early_inline_small_functions): Update.
+ (inline_transform): Move to ipa-inline-transform.c.
+ * ipa-inline.h (inline_call, inline_transform, clone_inlined_nodes):
+ Declare.
+ * Makefile.in (ipa-inline-transform.o): New file.
+ * cgraphunit.c (save_inline_function_body): Move to
+ ipa-inline-transform.c
+
+2011-04-19 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
+ registers if we already know there aren't any.
+ (m32c_emit_epilogue): Don't emit a barrier here.
+ (m32c_emit_eh_epilogue): Likewise.
+ * config/m32c/blkmov.md (movstr): Don't fail on wrong-type
+ operands at expand time.
+ * config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
+ int" wchar type.
+ (REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
+ duplicates. Provide aliases instead.
+ * config/m32c/prologue.md (eh_return): Emit a barrier here.
+ (eh_epilogue): Add a "(return)" here as a hint to other parts of
+ the compiler.
+
+2011-04-19 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
+ * config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
+ (general_or_i64_p, sparc_register_move_cost): New function.
+
+2011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Configuration, --enable-threads): Remove mach.
+ Add lynx, mipssde. Sort table.
+
+2011-04-19 Xinliang David Li <davidxl@google.com>
+
+ * ipa-cp.c (ipcp_update_profiling): Assert that scale_completement is
+ not negative.
+
+2011-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48678
+ * config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
+ is a SUBREG with non-MODE_INT mode inside of it.
+
+2011-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
+ also according to actual contants.
+ * gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
+ (gimple_fold_call): Use it.
+ * gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.
+
+2011-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
+ non-pointer assignments.
+
+2011-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
+ account anc_offset and otr_type from the indirect edge info.
+ * ipa-prop.c (get_ancestor_addr_info): New function.
+ (compute_complex_ancestor_jump_func): Assignment analysis moved to
+ get_ancestor_addr_info, call it.
+ (ipa_note_param_call): Do not initialize information about polymorphic
+ calls, return the indirect call graph edge. Remove the last
+ parameter, adjust all callers.
+ (ipa_analyze_virtual_call_uses): Process also calls to ancestors of
+ parameters. Initialize polymorphic information in the indirect edge.
+
+2011-04-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/48148
+ * gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
+ the types if they have different enumeration identifiers.
+
+2011-04-19 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.h (cgraph_optimize_for_size_p): Declare.
+ * ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
+ * predict.c (cgraph_optimize_for_size_p): Break out from ...
+ (optimize_function_for_size_p) ... here.
+
+2011-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48207
+ * tree.c (free_lang_data): Do not reset the decl-assembler-name
+ langhook.
+
+2011-04-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-inline.c (expand_call_inline): Do not issue a -Winline warning
+ if DECL_NO_INLINE_WARNING_P is set on the function.
+
+2011-04-19 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR fortran/47976
+ * reload1.c (inc_for_reload): Return void. All callers changed.
+ (emit_input_reload_insns): Don't try to delete previous output
+ reloads to a register, or record spill_reg_store for autoincs.
+
+2011-04-19 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.h: Updated copyright year.
+ (struct input_file_st): Add inpisplugin field.
+ (type_fileloc): New function.
+ * gengtype.c
+ (write_typed_struct_alloc_def): Add gcc_assert.
+ (write_typed_alloc_defns): Ditto. Don't output for plugin files.
+ (write_typed_alloc_defns): Don't output for plugin files.
+ (input_file_by_name): Clear inpisplugin field.
+ (main): Set inpisplugin field for plugin files.
+
+2011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * gengtype-state.c (string_eq): New.
+ (read_state): Use string_eq instead of strcmp when creating the
+ state_ident_tab.
+
+2011-04-19 Wei Guozhi <carrot@google.com>
+
+ PR target/47855
+ * config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
+ * config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
+ linkage.
+ * config/arm/constraints.md (Uu): New constraint.
+ * config/arm/arm.md (*arm_movqi_insn): Compute attr "length".
+
+2011-04-19 Tristan Gingold <gingold@adacore.com>
+
+ * config.gcc (-*-*-*vms): Added.
+ (alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
+ definitions moved.
+ * config/vms/vms-ld.c: New file.
+ * config/vms/vms-ar.c: New file.
+ * config/vms/t-vmsnative: New file.
+
+2011-04-18 Xinliang David Li <davidxl@google.com>
+
+ * final.c (dump_basic_block_info): Use ASM_COMMENT_START.
+
+2011-04-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48661
+ * gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
+ if TREE_TYPE (v) is non-NULL.
+
+ * gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
+ gimple_get_virt_mehtod_for_binfo.
+ * gimple.h (gimple_get_virt_method_for_binfo): Likewise.
+ * ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
+ callers.
+ * ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.
+
+2011-04-18 Michael Matz <matz@suse.de>
+ Steve Ellcey <sje@cup.hp.com>
+
+ * expr.c (expand_expr_real_2) <CASE_CONVERT>: If OP0 is a constant,
+ use its mode as source mode if it isn't VOIDmode.
+
+2011-04-18 Dennis, CHENG Renquan <crquan@fedoraproject.org>
+
+ * doc/passes.texi: Fill crossref nodes.
+
+2011-04-18 Jim Meyering <meyering@redhat.com>
+
+ Fix doubled-word typos in comments and strings
+ * config/alpha/vms-unwind.h: s/for for/for/
+ * config/arm/unwind-arm.h: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/sh/constraints.md: s/in in/in/
+ * tree-cfg.c (verify_types_in_gimple_reference): Likewise.
+
+2011-04-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
+ (AVX_FLOAT_MODE_P): Ditto.
+ (AVX128_VEC_FLOAT_MODE_P): Ditto.
+ (AVX256_VEC_FLOAT_MODE_P): Ditto.
+ (AVX_VEC_FLOAT_MODE_P): Ditto.
+ * config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
+ (UNSPEC_MASKSTORE): Ditto.
+ * config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
+ Merge from <sse>_movmsk<ssemodesuffix> and
+ avx_movmsk<ssemodesuffix>256. Use VF mode iterator.
+ (*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64. Use P mode
+ iterator.
+ (avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
+ (avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
+ (*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.
+
+2011-04-18 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
+
+ * ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
+ (want_inline_function_called_once_p): Break out the logic from
+ ipa_inline.
+ (edge_badness): Ensure that profile is not misupdated.
+ (lookup_recursive_calls): Prioritize by call frequencies.
+ (inline_small_functions): Move program size estimates here;
+ actually process whole queue even when unit growth has been
+ met. (to properly compute inline_failed reasons and for the
+ case unit size decrease.) Revisit comments on recursive inlining.
+ (ipa_inline): Remove unit summary code; first inline hot calls
+ of functions called once, cold calls next.
+ (order, nnodes): Remove unused variables.
+ * Makefile.in (ipa-inline.o): No longer depent on ggc files.
+ (GTFILES): Remove ipa-inline.c
+ * sel-sched.c (fill_insns): Silence uninitialized var warning.
+
+2011-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
+
+2011-04-18 Jie Zhang <jie@codesourcery.com>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (neon_builtin_type_bits): Remove.
+ (typedef enum neon_builtin_mode): New.
+ (T_MAX): Don't define.
+ (typedef enum neon_builtin_datum): Remove bits, codes[],
+ num_vars and base_fcode. Add mode, code and fcode.
+ (VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
+ VAR10): Change accordingly.
+ (neon_builtin_data[]): Change accordingly
+ (arm_init_neon_builtins): Change accordingly.
+ (neon_builtin_compare): Remove.
+ (locate_neon_builtin_icode): Remove.
+ (arm_expand_neon_builtin): Change accordingly.
+
+ * arm.h (enum arm_builtins): Move to ...
+ * arm.c (enum arm_builtins): ... here; and rearrange builtin code.
+
+ * arm.c (arm_builtin_decl): Declare.
+ (TARGET_BUILTIN_DECL): Define.
+ (enum arm_builtins): Correct ARM_BUILTIN_MAX.
+ (arm_builtin_decls[]): New.
+ (arm_init_neon_builtins): Store builtin declarations in
+ arm_builtin_decls[].
+ (arm_init_tls_builtins): Likewise.
+ (arm_init_iwmmxt_builtins): Likewise. Refactor initialization code.
+ (arm_builtin_decl): New.
+
+2011-04-18 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (upper_bound_in_type): Build properly canonicalized
+ INTEGER_CSTs.
+ (lower_bound_in_type): Likewise.
+
+2011-04-18 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_call_addr_fndecl): New function.
+ (gimple_call_fndecl): Use it.
+ * gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
+ for direct calls.
+ * tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
+ * tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.
+
+2011-04-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48650
+ * tree.c (build_string): STRING_CST is now derived from tree_typed.
+
+2011-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/48492
+ * cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
+ DECL_IN_CONSTANT_POOL without RTL.
+
+2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR target/48252
+ * config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
+ to match neon_vzip/vuzp/vtrn_internal.
+ * config/arm/neon.md (neon_vtrn<mode>_internal): Make both
+ outputs explicitly dependent on both inputs.
+ (neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.
+
+2011-04-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48616
+ * tree-vect-stmts.c (vectorizable_shift): If SLP, determine
+ whether the shift is by scalar or vector based on whether all SLP
+ scalar stmts have the same rhs.
+
+2011-04-17 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
+ memory operands.
+
+2011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/43700
+ * config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
+ registers.
+
+2011-04-17 Jan Hubicka <jh@suse.cz>
+
+ * cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
+ * cgrpahunit.c (cgraph_finalize_function): Do not set
+ finalized_by_frontend.
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
+ finalized_by_frontend.
+
+2011-04-17 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_clone_node): Do not handle vtable_method
+ * cgraph.h (struct cgraph_local_info): Drop vtable_method.
+ * cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable
+ method.
+ * gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
+ gimple-fold.c
+ * varasm.c (mark_decl_referenced): Drop vtable_method handling code.
+
+2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/48538
+ * lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
+ is non-null before accessing it.
+ (input_cgraph): Remove trailing spaces.
+
+2011-04-17 Revital Eres <revital.eres@linaro.org>
+
+ * params.def (sms-min-sc): New param flag.
+ * modulo-sched.c (sms_schedule): Use it.
+ * doc/invoke.texi (sms-min-sc): Document it.
+
+2011-04-17 Jan Hubicka <jh@suse.cz>
+
+ * lto-symtab.c (lto_cgraph_replace_node): When call statement is
+ present, also set gimple_call_set_cannot_inline.
+ * ipa-inline.c: Update toplevel comment.
+ (MAX_TIME): Remove.
+ (cgraph_clone_inlined_nodes): Fix linebreaks.
+ (cgraph_check_inline_limits): Restructure to ...
+ (caller_growth_limits): ... this one; be more tolerant
+ on growth in nested inline chains; add explanatory comment;
+ fix stack accounting thinko introduced by previous patch.
+ (cgraph_default_inline_p): Remove.
+ (report_inline_failed_reason): New function.
+ (can_inline_edge_p): New function.
+ (can_early_inline_edge_p): New function.
+ (leaf_node_p): Move upwards in file.
+ (want_early_inline_function_p): New function.
+ (want_inline_small_function_p): New function.
+ (want_inline_self_recursive_call_p): New function.
+ (cgraph_edge_badness): Rename to ...
+ (edge_badness) ... this one; fix linebreaks.
+ (update_edge_key): Update call of edge_baddness; add
+ detailed dump about queue updates.
+ (update_caller_keys): Use can_inline_edge_p and
+ want_inline_small_function_p.
+ (cgraph_decide_recursive_inlining): Rename to...
+ (recursive_inlining): Use can_inline_edge_p and
+ want_inline_self_recursive_call_p; simplify and remove no longer
+ valid FIXME.
+ (cgraph_set_inline_failed): Remove.
+ (add_new_edges_to_heap): Use can_inline_edge_p and
+ want_inline_small_function_p.
+ (cgraph_decide_inlining_of_small_functions): Rename to ...
+ (inline_small_functions): ... this one; cleanup; use
+ can/want predicates; cleanup debug ouput; work edges till fibheap
+ is exhausted and do not stop once unit growth is reached; remove
+ later loop processing remaining edges.
+ (cgraph_flatten): Rename to ...
+ (flatten_function): ... this one; use can_inline_edge_p
+ and can_early_inline_edge_p predicates.
+ (cgraph_decide_inlining): Rename to ...
+ (ipa_inline): ... this one; remove unreachable nodes before
+ inlining functions called once; simplify the pass.
+ (cgraph_perform_always_inlining): Rename to ...
+ (inline_always_inline_functions): ... this one; use
+ DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p predicate.
+ (cgraph_decide_inlining_incrementally): Rename to ...
+ (early_inline_small_functions): ... this one; simplify
+ using new predicates; cleanup; make dumps prettier.
+ (cgraph_early_inlining): Rename to ...
+ (early_inliner): newer inline regular functions into always-inlines;
+ fix updating of call stmt summaries.
+ (pass_early_inline): Update for new names.
+ (inline_transform): Fix formating.
+ (gate_cgraph_decide_inlining): Rename to ...
+ (pass_ipa_inline): ... this one.
+ * ipa-inline.h (inline_summary): Remove disregard_inline_limits.
+ * ipa-inline-analysis.c (dump_inline_summary): Update.
+ (compute_inline_parameters): Do not compute disregard_inline_limits;
+ look for mismatching arguments.
+ (estimate_growth): Fix handlig of non-trivial self recursion.
+ (inline_read_summary): Do not read info->disregard_inline_limits.
+ (inline_write_summary): Do not write info->disregard_inline_limits.
+ * tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove
+ and move all checks into can_inline_edge_p predicate; re-enable code
+ comparing optimization levels.
+ (expand_call_inline): Do not test inline_forbidden_into_p.
+ * Makefile.in (ipa-inline.o): Update arguments.
+
+2011-04-17 Revital Eres <revital.eres@linaro.org>
+
+ * ddg.c (free_ddg_all_sccs): Free sccs field in struct ddg_all_sccs.
+
+2011-04-17 Revital Eres <revital.eres@linaro.org>
+
+ * modulo-sched.c (sms_schedule): Avoid unfreed memory when SMS fails.
+
+2011-04-17 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/48622
+ PR lto/48645
+ * ipa-inline-analysis.c (inline_read_summary): Read size/time
+ in same order as they're written.
+
+2011-04-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/predicates.md: Reorganize and simplify predicates.
+ Eliminate duplicate code checks.
+ (arith_operand): Rename to arith14_operand
+ (reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
+ * config/pa/pa.md: Use renamed operands.
+ * config/pa/pa-protos.h (symbolic_operand): Delete declaration.
+ (tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
+ arith11_operand, adddi3_operand, indexed_memory_operand,
+ symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
+ arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
+ borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
+ move_dest_operand, move_src_operand, prefetch_cc_operand,
+ prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
+ uint32_operand, reg_before_reload_operand, reg_or_0_operand,
+ reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
+ div_operand, int5_operand, movb_comparison_operator,
+ ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
+ arith_double_operand, ireg_operand, lhs_lshift_operand,
+ pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
+ integer_store_memory_operand): Likewise.
+ * config/pa/pa.c (adddi3_operand): Move to predicates.md.
+ (integer_store_memory_operand, read_only_operand,
+ function_label_operand, borx_reg_operand,
+ non_hard_reg_operand): Likewise.
+ (eq_neq_comparison_operator): Delete unused operator.
+ (legitimize_pic_address): Use VOIDmode for mode argument in calls to
+ function_label_operand.
+ (emit_move_sequence): Likewise.
+
+2011-04-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (sseunpackmode): New mode attribute.
+ (ssepackmode): Ditto.
+ (vec_pack_trunc_<mode>): Macroize expander from
+ vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
+ (vec_unpacks_lo_<mode>): Macroize expander from
+ vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
+ (vec_unpacks_hi_<mode>): Macroize expander from
+ vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
+ (vec_unpacku_lo_<mode>): Macroize expander from
+ vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
+ (vec_unpacku_hi_<mode>): Macroize expander from
+ vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
+ * config/i386/i386.c (ix86_expand_sse_unpack): Merge with
+ ix86_expand_sse4_unpack.
+ * config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.
+
+2011-04-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c: Include ipa-inline.h.
+ (reset_inline_failed): Use initialize_inline_failed.
+ * cgraph.c: Include ipa-inline.h.
+ (cgraph_create_node_1): Do not initialize estimated_growth.
+ (initialize_inline_failed): More to ipa-inline-analysis.c
+ (dump_cgraph_node): Do not dump inline flags.
+ * cgraph.h (cgraph_local_info): Remove inlineable, versionable
+ and disregard_inline_limits flags.
+ (cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
+ time, size, estimated_growth.
+ * ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary):
+ Update.
+ * cgraphunit.c (cgraph_decide_is_function_needed): Use
+ DECL_DISREGARD_INLINE_LIMITS.
+ (cgraph_analyze_function): Do not initialize
+ node->local.disregard_inline_limits.
+ * lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
+ inlinable, versionable and disregard_inline_limits.
+ * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
+ cgraph_check_inline_limits, cgraph_default_inline_p,
+ cgraph_edge_badness, update_caller_keys, update_callee_keys,
+ add_new_edges_to_heap): Update.
+ (cgraph_decide_inlining_of_small_function): Update; set
+ CIF_FUNCTION_NOT_INLINABLE for uninlinable functions.
+ (cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
+ cgraph_decide_inlining_incrementally): Update.
+ * ipa-inline.h (inline_summary): Add inlinable, versionable,
+ disregard_inline_limits, estimated_stack_size, stack_frame_offset,
+ time, size and estimated_growth parameters.
+ (estimate_edge_growth): Update.
+ (initialize_inline_failed): Declare.
+ * ipa-split.c: Include ipa-inline.h
+ (execute_split_functions): Update.
+ * ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
+ (cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
+ (record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
+ * ipa-inline-analysis.c (inline_node_removal_hook): Update; set
+ estimated_growth to INT_MIN.
+ (inline_node_duplication_hook): Likewise.
+ (dump_inline_summary): Dump new fields.
+ (compute_inline_parameters): Update.
+ (estimate_edge_time, estimate_time_after_inlining,
+ estimate_size_after_inlining, estimate_growth, inline_read_summary,
+ inline_write_summary):
+ (initialize_inline_failed): Move here from cgraph.c.
+ * tree-sra.c: Include ipa-inline.h.
+ (ipa_sra_preliminary_function_checks): Update.
+ * Makefile.in (cgraph.o, cgraphbuild.o): Add dependency on
+ ipa-inline.h.
+
+2011-04-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (V16): New mode iterator.
+ (VI1, VI8): Ditto.
+ (AVXMODEQI, AVXMODEDI): Remove.
+ (sse2, sse3): New mode attribute.
+ (mov<mode>): Use V16 mode iterator.
+ (*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
+ (push<mode>1): Use V16 mode iterator.
+ (movmisalign<mode>): Ditto.
+ (<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
+ <sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
+ (*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
+ *<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
+ (<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
+ avx_movdqu<avxmodesuffix>.
+ (*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
+ *avx_movdqu<avxmodesuffix>.
+ (<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
+ avx_lddqu<avxmodesuffix>.
+ (<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
+ (<sse2>_movnt<mode>): Merge from sse2_movntv2di and
+ avx_movnt<AVXMODEDI:mode>.
+ * config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
+ renamed sse_movups, sse2_movupd and sse2_movdqu patterns.
+
+2011-04-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/48629
+ * haifa-sched.c (prune_ready_list, schedule_block): Use
+ sched_pressure_p rather than flag_sched_pressure.
+
+2011-04-15 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (call_ABI_of_interest): Call
+ cgraph_get_node instead of cgraph_get_create_node.
+
+2011-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ * cfgexpand.c (expand_debug_expr): Use
+ simplify_gen_{unary,binary,ternary} instead of gen_rtx_*.
+
+2011-04-15 Michael Matz <matz@suse.de>
+
+ * tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR_P.
+ * builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P.
+ * function.c (gimplify_parameters): Ditto.
+ * gimplify.c (gimplify_vla_decl): Ditto.
+
+ * gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR.
+ (gimple_call_set_alloca_for_var): New inline function.
+ (gimple_call_alloca_for_var_p): Ditto.
+ * gimple.c (gimple_build_call_from_tree): Remember
+ CALL_ALLOCA_FOR_VAR_P state.
+ * cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_VAR_P state.
+
+ * tree-inline.c (inline_forbidden_p_stmt): Don't reject alloca
+ calls if they were for VLA objects.
+
+2011-04-15 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (ipa_analyze_virtual_call_uses): Remove handling
+ of ADR_EXPRs.
+
+2011-04-15 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/48601
+ * tree-emutls.c (lower_emutls_function_body): Call
+ cgraph_get_create_node instead of cgraph_get_node. Do not assert the
+ result is non-NULL.
+
+2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-decl.c (detect_field_duplicates): Call
+ objc_detect_field_duplicates instead of objc_get_interface_ivars.
+
+2011-04-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gimple.h (gimple_asm_clobbers_memory_p): Declare.
+ * gimple.c (gimple_asm_clobbers_memory_p): Define.
+ * ipa-pure-const.c (check_stmt): Call it.
+ * tree-ssa-operands.c (get_asm_expr_operands): Likewise.
+
+2011-04-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48290
+ * tree-ssa-copy.c (copy_prop_visit_phi_node): Propagate constants.
+ Properly decide inhibiting propagation based on the valueized
+ operand. Do loop-closed SSA form preserving here ...
+ (init_copy_prop): ... not here.
+
+2011-04-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/48612
+ * config/i386/sse.md (*ieee_smin<mode>3): Switch mnemonics.
+ (*ieee_smax<mode>3): Likewise.
+
+2011-04-15 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md (popcountdi2, popcountsi2, popcounthi2):
+ Replace match_operand with match_dup for the third operand in
+ these expanders.
+
+2011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * combine.c (subst, combine_simlify_rtx): Add new argument, use it
+ to track processing of conditionals. Update all callers.
+ (try_combine, simplify_if_then_else): Update.
+
+2011-04-15 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_sched_variable_issue): Handle
+ -fsched-pressure.
+
+2011-04-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md ("rotl<mode>3",mode=HIDI): Use match_dup
+ instead of match_operand for operand 3.
+
+2011-04-15 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * recog.h (insn_operand_data): Add an "allows_mem" field.
+ * genoutput.c (output_operand_data): Initialize it.
+ * optabs.c (maybe_legitimize_operand_same_code): New function.
+ (maybe_legitimize_operand): Use it when matching the original
+ op->value.
+
+2011-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c: Fix issues in comments throughout.
+ (voidify_wrapper_expr): Fix long line.
+ (build_stack_save_restore): Likewise.
+ (gimplify_loop_expr): Likewise.
+ (gimplify_compound_lval): Likewise.
+ (gimplify_init_ctor_eval): Likewise.
+ (gimplify_modify_expr_rhs): Likewise.
+ (omp_notice_threadprivate_variable): Likewise.
+
+2011-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgexpand.c (expand_call_stmt): Convert the function type to the
+ original one if this is not a builtin function.
+
+2011-04-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48605
+ * config/i386/sse.md (sse4_1_insertps): If operands[2] is a MEM,
+ offset it as needed based on top 2 bits in operands[3], change
+ MEM mode to SFmode and mask those 2 bits away from operands[3].
+
+2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_protocol_definition): Updated for
+ change from objc_declare_protocols() to objc_declare_protocol().
+
+2011-04-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (sse4_1): New mode attribute.
+ (<sse4_1>_blend<ssemodesuffix><avxmodesuffix>): Macroize from
+ avx_blend<ssemodesuffix><avxmodesuffix> and
+ sse4_1_blend<ssemodesuffix> using VF mode iterator.
+ (<sse4_1>_blendv<ssemodesuffix><avxmodesuffix>): Macroize from
+ avx_blendv<ssemodesuffix><avxmodesuffix> and
+ sse4_1_blendv<ssemodesuffix> using VF mode iterator.
+ (<sse4_1>_dp<ssemodesuffix><avxmodesuffix>): Macroize from
+ avx_dp<ssemodesuffix><avxmodesuffix> and
+ sse4_1_dp<ssemodesuffix> using VF mode iterator.
+ (sse4_1_mpsadbw): Merge with *avx_mpsadbw.
+ (sse4_1_packusdw): Merge with *avx_packusdw.
+ (sse4_1_pblendvb): Merge with *avx_pblendvb.
+ (sse4_1_pblendw): Merge with *avx_pblendw.
+ (avx_vtest<ssemodesuffix><avxmodesuffix>): Use VF mode iterator.
+ (<sse4_1>_round<ssemodesuffix><avxmodesuffix>): Macroize from
+ avx_round<ssemodesuffix>256 and sse4_1_round<ssemodesuffix> using
+ VF mode iterator.
+ (sse4_1_round<ssescalarmodesuffix>): Merge with
+ *avx_round<ssescalarmodesuffix>.
+ (aesenc): Merge with *avx_aesenc.
+ (aesenclast): Merge with *avx_aesenclast.
+ (aesdec): Merge with *avx_aesdec.
+ (aesdeclast): Merge with *avx_aesdeclast.
+ (pclmulqdq): Merge with *pclmulqdq.
+ * config/i386/predicates.md (reg_not_xmm0_operand_maybe_avx):
+ New predicate.
+ (nonimm_not_xmm0_operand_maybe_avx): Ditto.
+
+2011-04-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/48608
+ * cfgexpand.c (get_decl_align_unit): Renamed to ...
+ (align_local_variable): This. Update DECL_ALIGN.
+ (add_stack_var): Updated.
+ (expand_one_stack_var): Likewise.
+
+2011-04-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-dse.c (struct dse_global_data, struct dse_block_local_data):
+ Remove.
+ (dse_initialize_block_local_data, dse_leave_block,
+ record_voperand_set, get_stmt_uid): Likewise.
+ (dse_possible_dead_store_p): Allow any kind of killing stmt.
+ (dse_optimize_stmt): Remove voperand set handling code.
+ Simplify and improve to handle any kind of killing stmt.
+ (dse_record_phi): Remove.
+ (dse_enter_block): Simplify.
+ (tree_ssa_dse): Likewise.
+ * tree-ssa-alias.c (stmt_kills_ref_p_1): Handle some builtins.
+
+2011-04-14 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (dump_cgraph_node): Do not dump inline summaries.
+ * cgraph.h (struct inline_summary): Move to ipa-inline.h
+ (cgraph_local_info): Remove inline_summary.
+ * ipa-cp.c: Include ipa-inline.h.
+ (ipcp_cloning_candidate_p, ipcp_estimate_growth,
+ ipcp_estimate_cloning_cost, ipcp_insert_stage): Use inline_summary
+ accesor.
+ * lto-cgraph.c (lto_output_node): Do not stream inline summary.
+ (input_overwrite_node): Do not set inline summary.
+ (input_node): Do not stream inline summary.
+ * ipa-inline.c (cgraph_decide_inlining): Dump inline summaries.
+ (cgraph_decide_inlining_incrementally): Do not try to estimate overall
+ growth; we do not have inline parameters computed for that anyway.
+ (cgraph_early_inlining): After inlining compute call_stmt_sizes.
+ * ipa-inline.h (struct inline_summary): Move here from ipa-inline.h
+ (inline_summary_t): New type and VECtor.
+ (debug_inline_summary, dump_inline_summaries): Declare.
+ (inline_summary): Use VOCtor.
+ (estimate_edge_growth): Kill hack computing call stmt size directly.
+ * lto-section-in.c (lto_section_name): Add inline section.
+ * ipa-inline-analysis.c: Include lto-streamer.h
+ (node_removal_hook_holder, node_duplication_hook_holder): New holders
+ (inline_node_removal_hook, inline_node_duplication_hook): New functions.
+ (inline_summary_vec): Define.
+ (inline_summary_alloc, dump_inline_summary, debug_inline_summary,
+ dump_inline_summaries): New functions.
+ (estimate_function_body_sizes): Properly compute size/time of outgoing
+ calls.
+ (compute_inline_parameters): Alloc inline_summary; do not compute
+ size/time of incomming calls.
+ (estimate_edge_time): Avoid missing time summary hack.
+ (inline_read_summary): Read inline summary info.
+ (inline_write_summary): Write inline summary info.
+ (inline_free_summary): Free all hooks and inline summary vector.
+ * lto-streamer.h: Add LTO_section_inline_summary section.
+ * Makefile.in (ipa-cp.o, ipa-inline-analysis.o): Update dependencies.
+ * ipa.c (cgraph_remove_unreachable_nodes): Fix dump file formating.
+
+2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vectorizer.h (vect_strided_store_supported): Add a
+ HOST_WIDE_INT argument.
+ (vect_strided_load_supported): Likewise.
+ (vect_permute_store_chain): Return void.
+ (vect_transform_strided_load): Likewise.
+ (vect_permute_load_chain): Delete.
+ * tree-vect-data-refs.c (vect_strided_store_supported): Take a
+ count argument. Check that the count is a power of two.
+ (vect_strided_load_supported): Likewise.
+ (vect_permute_store_chain): Return void. Update after above changes.
+ Assert that the access is supported.
+ (vect_permute_load_chain): Likewise.
+ (vect_transform_strided_load): Return void.
+ * tree-vect-stmts.c (vectorizable_store): Update calls after
+ above interface changes.
+ (vectorizable_load): Likewise.
+ (vect_analyze_stmt): Don't check for strided powers of two here.
+
+2011-04-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48590
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle
+ BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
+ (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and
+ BUILT_IN_STACK_SAVE.
+ * tree-ssa-dce.c (propagate_necessity): Handle
+ BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE.
+
+2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_class_declaration): Updated call to
+ objc_declare_class.
+
+2011-04-14 Richard Guenther <rguenther@suse.de>
+
+ * tree.h (get_object_alignment_1): Declare.
+ * builtins.c (get_object_alignment_1): Split out worker from ...
+ (get_object_alignment): ... here.
+ * fold-const.c (get_pointer_modulus_and_residue): Use
+ get_object_alignment_1.
+
+2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra
+ type parameter.
+ * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type
+ parameter. Generalise code to handle arrays as well as vectors.
+ (vect_setup_realignment): Update accordingly.
+ * tree-vect-stmts.c (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+
+2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain
+ within the per-copy loop.
+
+2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * tree-vect-stmts.c (vectorizable_load): Print the number of copies
+ in the dump file.
+
+2011-04-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * doc/options.texi (Negative): Explicitly mention that the
+ Negative chain must be circular.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * function.h (block_chainon): Declare.
+ * function.c (block_chainon): Define.
+
+2011-04-14 Anatoly Sokolov <aesok@post.ru>
+ Eric Weddington <eric.weddington@atmel.com>
+ Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
+ New Includes
+ (avr_init_builtins, avr_expand_builtin,
+ avr_expand_delay_cycles, avr_expand_unop_builtin,
+ avr_expand_binop_builtin ): New functions.
+ (avr_builtin_id): New enum
+ (struct avr_builtin_description): New struct
+ (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins.
+ (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
+
+ * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU,
+ UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR,
+ UNSPECV_DELAY_CYCLES): new enumeration values
+ (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values
+ ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS
+ ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS
+ ("*rotlqi3_4"): rename insn to "rotlqi3_4"
+ ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3",
+ "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls",
+ "fmulsu"): New insns
+
+ * config/avr/avr-c.c: fix line endings
+ (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP,
+ __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR,
+ __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP,
+ __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL,
+ __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU.
+
+ * doc/extend.texi (AVR Built-in Functions): New node
+ (Target Builtins): Add documentation of AVR
+ built-in functions.
+
+2011-04-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/44643
+ * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY
+ alone. Error if non-const data has attribute progmem.
+
+2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct tree_constructor): Include tree_typed instead of
+ tree_common.
+ * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as
+ TS_TYPED instead of TS_COMMON.
+
+2011-04-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3.
+ (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3.
+ (sse2_psadbw): Merge with *avx_psadbw.
+ (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3.
+ (ssse3_phadddv4si3): Merge with *avx_phadddv4si3.
+ (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3.
+ (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3.
+ (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3.
+ (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3.
+ (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128.
+ (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3.
+ (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3.
+ (ssse3_psign<mode>3): Merge with *avx_psign<mode>3.
+ (ssse3_palignrti): Merge with *avx_palignrti.
+
+2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
+ * tree-ssanames.c (fini_ssanames): VEC_free it.
+ (make_ssa_name_fn): Update for VECness of free_ssanames.
+ (release_ssa_name, release_dead_ssa_names): Likewise.
+ * tree.h (struct tree_ssa_name): Include tree_typed instead of
+ tree_common.
+ * tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
+ TS_TYPED instead of TS_COMMON.
+
+2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ * postreload-gcse.c (gcse_after_reload_main): Add calls to
+ statistics_counter_event.
+ * tree-ssa-copyrename.c (stats): Define.
+ (rename_ssa_copies): Count coalesced SSA_NAMEs. Add call to
+ statistics_counter_event.
+ * tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
+ (bswap_stats, widen_mul_stats): Define.
+ (insert_reciprocals): Increment rdivs_inserted.
+ (execute_cse_reciprocals): Zeroize reciprocal_stats. Increment
+ rfuncs_inserted. Add calls to statistics_counter_event.
+ (execute_cse_sincos_1): Increment inserted.
+ (execute_cse_sincos): Zeroize sincos_stats. Add call to
+ statistics_counter_event.
+ (execute_optimize_bswap): Zeroize bswap_stats. Increment fields
+ of bswap_stats. Add calls to statistics_counter_event.
+ (convert_mult_to_widen): Increment widen_mults_inserted.
+ (convert_plusminus_to_widen): Increment maccs_inserted.
+ (convert_mult_to_fma): Increment fmas_inserted.
+ (execute_optimize_widening_mul): Zeroize widen_mul_stats. Add
+ calls to statistics_counter_event.
+
+2011-04-13 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48455
+ * ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
+ `temp_costs->mem_cost'.
+
+2011-04-13 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.h: New file.
+ * ipa-inline-analysis.c: New file. Broken out of ...
+ * ipa-inline.c: ... this file; update toplevel comment;
+ include ipa-inline.h
+ (inline_summary): Move to ipa-inline.h
+ (cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
+ ipa-inline-analysis.c.
+ (cgraph_estimate_time_after_inlining): Rename to
+ estiamte_time_after_inlining; move to ipa-inline-analysis.c
+ (cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
+ to estimate_edge_growth.
+ (cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
+ rename to estimate_size_after_inlining.
+ (cgraph_mark_inline_edge): Update for new naming convention.
+ (cgraph_check_inline_limits): Likewise.
+ (cgraph_edge_badness): Likewise.
+ (cgraph_decide_recursive_inlining): Likewise.
+ (cgraph_decide_inlining_of_small_functions): Likewise.
+ (cgraph_decide_inlining_incrementally): Likewise.
+ (cgraph_estimate_growth): Rename to estimate_growth; move to
+ ipa-inline-analysis.c.
+ (eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
+ (estimate_function_body_sizes): Move to ipa-inline-analysis.c.
+ (compute_inline_parameters): Likewise.
+ (compute_inline_parameters_for_current): Likewise.
+ (pass_inline_parameters): Likewise.
+ (inline_indirect_intraprocedural_analysis): Likewise.
+ (analyze_function): Rename to inline_analyze_function; likewise.
+ (add_new_function): Move to ipa-inline-analysis.c.
+ (inline_generate_summary): Likewise.
+ (inline_read_summary): Likewise.
+ (inline_write_summary): Likewise.
+ * Makefile.in (ipa-inline-analysis.c): New file.
+
+2011-04-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
+ * configure: Regenerate.
+
+2011-04-13 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct tree_int_cst, struct real_value): Include tree_typed
+ instead of tree_common.
+ (struct tree_fixed_cst, struct tree_string, struct tree_complex):
+ Likewise.
+ * tree.c (initialize_tree_contains_struct): Mark such nodes as being
+ TS_TYPED rather than TS_COMMON.
+ * print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
+
+2011-04-01 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/45263
+ * config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Don't use
+ r20 around calls of __tablejump_elpm__
+
+2011-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48591
+ * omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
+ NULL.
+ (expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
+
+2011-04-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
+ (dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
+ (cfi_vec): New typedef.
+ (struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
+ dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
+ (cie_cfi_vec): New static variable.
+ (cie_cfi_head): Delete.
+ (add_cfi): Accept a cfi_vec * as first argument. All callers and
+ declaration changed. Use vector rather than list operations.
+ (new_cfi): Don't initialize the dw_cfi_next field.
+ (add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
+ rather than list operations.
+ (lookup_cfa): Use vector rather than list operations.
+ (output_cfis): New argument upto. Accept a cfi_vec rather than
+ a dw_cfi_ref list head as argument. All callers changed.
+ Iterate over the vector using upto as a maximum index.
+ (output_all_cfis): New static function.
+ (output_fde): Use vector rather than list operations. Use the
+ new upto argument for output_cfis rather than manipulating a
+ list.
+ (dwarf2out_begin_prologue): Change initializations to match
+ new struct members.
+ (dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
+ from the vector length rather than searching for the end of a list.
+ Use output_all_cfis.
+ (convert_cfa_to_fb_loc_list): Use vector rather than list operations.
+
+2011-04-13 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (movmemsi): Do not use this pattern when
+ volatile pointers are involved.
+
+2011-04-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (pinsrbits): Remove.
+ (sse2_packsswb): Merge with *avx_packsswb.
+ (sse2_packssdw): Merge with *avx_packssdw.
+ (sse2_packuswb): Merge with *avx_packuswb.
+ (vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
+ (vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
+ (vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
+ (vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
+ (vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
+ (vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
+ (*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
+ (*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
+ (*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
+ (*sse4_1_pinsrq): Merge with *avx_pinsrq.
+ (sse2_loadld): Merge with *avx_loadld.
+ (*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
+ (*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
+ (*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
+ (*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
+ (vec_concatv2di): Merge with *vec_concatv2di_avx.
+
+2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * c-decl.c (union lang_tree_node): Check for TS_COMMON before
+ calling TREE_CHAIN.
+ * print-tree.c (print_node): Likewise.
+ * tree-inline.c (copy_tree_r): Likewise.
+ * c-lang.c (LANG_HOOKS_INIT_TS): Define.
+ * lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
+ instead of TS_COMMON.
+ * lto-streamer-out.c (lto_output_tree_pointers): Likewise.
+ * tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
+ (copy_node_stat): Zero TREE_CHAIN only if necessary.
+ (MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
+ (MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
+ ...and these...
+ (MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
+ * tree.h: ...here.
+ (TREE_CHAIN): Check for a TS_COMMON structure.
+ (TREE_TYPE): Check for a TS_TYPED structure.
+
+2011-04-12 Pat Haugen <pthaugen@us.ibm.com>
+
+ * config/rs6000/rs6000.c (call_ABI_of_interest): Call
+ cgraph_get_create_node instead of cgraph_node.
+
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_initelt): Updated call to
+ objc_build_message_expr.
+ (c_parser_postfix_expression): Likewise.
+
+2011-04-12 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/mingw32.h (TARGET_SUBTARGET_DEFAULT): Add
+ MASK_MS_BITFIELD_LAYOUT bit.
+
+2011-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ * combine.c (update_cfg_for_uncondjump): Instead of testing at_end
+ assert it is always true.
+ (try_combine): Don't call update_cfg_for_uncondjump for noop non-jump
+ moves.
+
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_lex_one_token): Rewritten conditional used when
+ compiling Objective-C to be more efficient.
+
+2011-04-12 Axel Freyn <axel-freyn@gmx.de>
+
+ * opts-common.c (decode_cmdline_options_to_array): Remove variable
+ argv_copied.
+
+2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * recog.h, genoutput.c, optabs.c: Revert last patch.
+
+2011-04-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/48090
+ * config/arm/arm.md (*arm_negdi2): Fix early clobber constraints.
+
+2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * recog.h (insn_operand_data): Add an "allows_mem" field.
+ * genoutput.c (output_operand_data): Initialize it.
+ * optabs.c (maybe_legitimize_operand_same_code): New function.
+ (maybe_legitimize_operand): Use it when matching the original
+ op->value.
+
+2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * genpreds.c (process_define_predicate): Move most processing
+ to gensupport.c. Continue to validate the expression.
+ * genrecog.c (did_you_mean_codes, compute_predicate_codes)
+ (process_define_predicate): Move processing to gensupport.c.
+ (main): Remove DEFINE_PREDICATE and DEFINE_SPECIAL_PREDICATE cases.
+ * gensupport.c (did_you_mean_codes): Moved from genrecog.c.
+ (compute_predicate_codes): Moved from genrecog.c. Add lineno
+ argument.
+ (valid_predicate_name_p): New function, split out from old
+ genpreds.c:process_define_predicate.
+ (process_define_predicate): New function, combining code from
+ old genpreds.c and genrecog.c functions.
+ (process_rtx): Call it for DEFINE_PREDICATE and
+ DEFINE_SPECIAL_PREDICATE.
+
+2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/arm.c (arm_print_operand): Use MEM_SIZE to get the
+ size of a '%A' memory reference.
+ (T_DREG, T_QREG): New neon_builtin_type_bits.
+ (arm_init_neon_builtins): Assert that the load and store operands
+ are neon_struct_operands.
+ (locate_neon_builtin_icode): Provide the neon_builtin_type_bits.
+ (NEON_ARG_MEMORY): New builtin_arg.
+ (neon_dereference_pointer): New function.
+ (arm_expand_neon_args): Add a neon_builtin_type_bits argument.
+ Handle NEON_ARG_MEMORY.
+ (arm_expand_neon_builtin): Update after above interface changes.
+ Use NEON_ARG_MEMORY for loads and stores.
+ * config/arm/predicates.md (neon_struct_operand): New predicate.
+ * config/arm/iterators.md (V_two_elem): Tweak formatting.
+ (V_three_elem): Use BLKmode for accesses that have no associated mode.
+ (V_four_elem): Tweak formatting.
+ * config/arm/neon.md (neon_vld1<mode>, neon_vld1_dup<mode>)
+ (neon_vst1_lane<mode>, neon_vst1<mode>, neon_vld2<mode>)
+ (neon_vld2_lane<mode>, neon_vld2_dup<mode>, neon_vst2<mode>)
+ (neon_vst2_lane<mode>, neon_vld3<mode>, neon_vld3_lane<mode>)
+ (neon_vld3_dup<mode>, neon_vst3<mode>, neon_vst3_lane<mode>)
+ (neon_vld4<mode>, neon_vld4_lane<mode>, neon_vld4_dup<mode>)
+ (neon_vst4<mode>): Replace pointer operand with a memory operand.
+ Use %A in the output template.
+ (neon_vld3qa<mode>, neon_vld3qb<mode>, neon_vst3qa<mode>)
+ (neon_vst3qb<mode>, neon_vld4qa<mode>, neon_vld4qb<mode>)
+ (neon_vst4qa<mode>, neon_vst4qb<mode>): Likewise, but halve
+ the width of the memory access. Remove post-increment.
+ * config/arm/neon-testgen.ml: Allow addresses to have an alignment.
+
+2011-04-12 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.c (expand_prologue): Do not use the CALLT
+ instruction for interrupt handlers if the target is the basic V850
+ architecture.
+ (expand_epilogue): Likewise.
+
+2011-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48549
+ * combine.c (propagate_for_debug): Also stop after BB_END of
+ this_basic_block. Process LAST and just stop processing after it.
+ (combine_instructions): If last_combined_insn has been deleted,
+ set last_combined_insn to its PREV_INSN.
+
+2011-04-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46076
+ * gimple.h (struct gimple_statement_call): Add fntype field.
+ (gimple_call_fntype): Adjust.
+ (gimple_call_set_fntype): New function.
+ * gimple.c (gimple_build_call_1): Set the call function type.
+ * gimplify.c (gimplify_call_expr): Preserve the function
+ type the frontend used for the call.
+ (gimplify_modify_expr): Likewise.
+ * lto-streamer-in.c (input_gimple_stmt): Input the call stmts
+ function type.
+ * lto-streamer-out.c (output_gimple_stmt): Output the call stmts
+ function type.
+ * tree-ssa.c (useless_type_conversion_p): Function pointer
+ conversions are useless.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.h (cgraph_node): Remove function declaration.
+ (cgraph_create_node): Declare.
+ (cgraph_get_create_node): Likewise.
+ * cgraph.c (cgraph_create_node): Renamed to cgraph_create_node_1.
+ Updated all callers.
+ (cgraph_node): Renamed to cgraph_create_node, assert that a node for
+ the decl does not already exist. Call cgraph_get_create_node instead
+ of cgraph_node.
+ (cgraph_get_create_node): New function.
+ (cgraph_same_body_alias): Update comment.
+ (cgraph_set_call_stmt): Call cgraph_get_node instead of cgraph_node,
+ assert it does not return NULL.
+ (cgraph_update_edges_for_call_stmt): Likewise.
+ (cgraph_clone_edge): Likewise.
+ (cgraph_create_virtual_clone): Likewise.
+ (cgraph_update_edges_for_call_stmt_node): Call cgraph_get_create_node
+ instead of cgraph_node.
+ (cgraph_add_new_function): Call cgraph_create_node or
+ cgraph_get_create_node instead of cgraph_node.
+ * cgraphbuild.c (record_reference): Call cgraph_get_create_node
+ instead of cgraph_node.
+ (record_eh_tables): Likewise.
+ (mark_address): Likewise.
+ (mark_load): Likewise.
+ (build_cgraph_edges): Call cgraph_get_create_node instead
+ of cgraph_node.
+ (rebuild_cgraph_edges): Likewise.
+ * cgraphunit.c (cgraph_finalize_function): Call cgraph_get_create_node
+ instead of cgraph_node.
+ (cgraph_copy_node_for_versioning): Call cgraph_create_node instead of
+ cgraph_node.
+ * lto-symtab.c (lto_symtab_merge_cgraph_nodes_1): Call
+ cgraph_create_node instead of cgraph_node.
+ * c-decl.c (finish_function): Call cgraph_get_create_node instead
+ of cgraph_node.
+ * lto-cgraph.c (input_node): Likewise.
+ * lto-streamer-in.c (input_function): Likewise.
+ * varasm.c (mark_decl_referenced): Likewise.
+ (assemble_alias): Likewise.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * tree-inline.c (tree_function_versioning): Call cgraph_get_node
+ instead of cgraph_node and assert it does not return NULL.
+ * lto-streamer-in.c (lto_read_body): Likewise.
+ * omp-low.c (new_omp_context): Likewise.
+ (create_task_copyfn): Likewise.
+ * tree-emutls.c (lower_emutls_function_body): Likewise.
+ * matrix-reorg.c (transform_allocation_sites): Likewise.
+
+2011-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48552
+ * c-typeck.c (build_asm_expr): Error out on attempts to use
+ void type outputs or inputs for constraints that allow reg or
+ don't allow memory.
+
+2011-04-11 Chung-Lin Tang <cltang@codesourcery.com>
+ Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/48250
+ * config/arm/arm.c (arm_legitimize_reload_address): Update cases
+ to use sign-magnitude offsets. Reject unsupported unaligned
+ cases. Add detailed description in comments.
+ * config/arm/arm.md (reload_outdf): Disable for ARM mode; change
+ condition from TARGET_32BIT to TARGET_ARM.
+
+2011-04-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct typed_tree): New.
+ (struct tree_common): Include it instead of tree_base.
+ (TREE_TYPE): Update for new location of type field.
+ (TYPE_USER_ALIGN, TYPE_PACKED): Refer to base field directly.
+ (DECL_USER_ALIGN, DECL_PACKED): Likewise.
+ (union tree_node): Add typed field.
+ * treestruct.def (TS_TYPED): New.
+ * lto-streamer.c (check_handled_ts_structures): Handle it.
+ * tree.c (MARK_TS_TYPED): New macro.
+ (MARK_TS_COMMON): Call it instead of MARK_TS_BASE.
+
+2011-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfghooks.c (redirect_edge_and_branch_force): Localize variable.
+ (force_nonfallthru): Do not alter the loop nest if no basic block
+ was created.
+
+2011-04-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (VI): New mode iterator.
+ (SSEMODEI): Remove.
+ (AVX256MODEI): Ditto.
+ (AVXMODEF4P): Ditto.
+ (avxvecpsmode): Ditto.
+ (one_cmpl<mode>2): Enable for TARGET_SSE. Use VI mode iterator.
+ (sse2_andnot<mode>3): New expander.
+ (*andnot<mode>3): Merge with *sse2_andnot<mode>3 and
+ *avx_andnot<mode>3. Enable for TARGET_SSE. Use VI mode iterator.
+ (<any_logic:code><mode>3): Use VI mode iterator.
+ (*<any_logic:code><mode>3): Merge with *sse2_<any_logic:code><mode>3
+ and *avx_<any_logic:code><mode>3. Use VI mode iterator.
+ (*andnottf3): Handle AVX three-operand constraints.
+ (*<any_logic:code>tf3): Handle AVX three-operand constraints.
+
+2011-04-11 Joseph Myers <joseph@codesourcery.com>
+ Robert Millan <rmh@gnu.org>
+
+ * config.gcc (x86_64-*-kfreebsd*-gnu): Use i386/kfreebsd-gnu.h.
+ * config/i386/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER32,
+ GNU_USER_DYNAMIC_LINKER64): Define.
+ (REG_NAME): Don't undefine.
+ (MD_UNWIND_SUPPORT): Undefine.
+ * config/i386/knetbsd-gnu.h (GNU_USER_LINK_EMULATION): Define.
+ (REG_NAME): Don't undefine.
+ (MD_UNWIND_SUPPORT): Undefine.
+ * config/i386/kopensolaris-gnu.h (GNU_USER_LINK_EMULATION): Define.
+
+2011-04-11 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/gnu.h (GNU_USER_LINK_EMULATION): Define.
+ (CPP_SPEC, CC1_SPEC, ENDFILE_SPEC): Remove.
+
+2011-04-11 Xinliang David Li <davidxl@google.com>
+
+ * value-profile.c (check_ic_target): New function.
+ (gimple_ic_transform): Sanity check indirect call target.
+ * gimple-low.c (gimple_check_call_args): Interface change.
+ (gimple_check_call_matching_types): New function.
+ * tree-inline.c (tree_can_inline_p): Call new function.
+
+2011-04-11 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * Makefile.in (PLUGIN_HEADERS): Add gimple-pretty-print.h
+ tree-pretty-print.h & realmpfr.h.
+
+2011-04-11 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/48464
+ * ira.c (setup_pressure_classes): Fix typo in loop condition.
+ (setup_allocno_and_important_classes): Ditto.
+
+2011-04-11 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
+ LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
+ (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
+ LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
+ (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
+ * config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
+ GNU_USER_DYNAMIC_LINKER64): Remove.
+ * config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
+ to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
+ (LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
+ (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
+ * config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ (TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
+ GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
+ GNU_USER_DYNAMIC_LINKERN32.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
+ GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
+ GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
+ GNU_USER_DYNAMIC_LINKER32.
+ * config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
+ * config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
+ GNU_USER_DYNAMIC_LINKER32.
+ (LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
+ * config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
+ GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
+ GNU_USER_DYNAMIC_LINKER64.
+ * config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
+ GNU_USER_DYNAMIC_LINKER32.
+ (LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
+ GNU_USER_DYNAMIC_LINKER64.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
+ GNU_USER_DYNAMIC_LINKER64.
+ * config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ * config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
+ LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
+ (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
+
+2011-04-11 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/gnu-user.h: Copy from linux.h. Update comments.
+ (LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
+ (SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
+ GNU_USER_DYNAMIC_LINKER.
+ (MD_UNWIND_SUPPORT, REG_NAME): Remove.
+ * config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
+ (GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
+ (LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
+ GNU_USER_DYNAMIC_LINKER64.
+ (MD_UNWIND_SUPPORT, REG_NAME): Remove.
+ * config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
+ GNU_USER_LINK_EMULATION.
+ * config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
+ DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
+ ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
+ MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
+ PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
+ CPP_SPEC, CC1_SPEC): Remove.
+ (LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
+ (GNU_USER_DYNAMIC_LINKER): Define.
+ (ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
+ ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
+ ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
+ LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
+ TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
+ STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
+ TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
+ * config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
+ CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
+ TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
+ LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
+ LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
+ (GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
+ (STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
+ TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
+ TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
+ * config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
+ GNU_USER_DYNAMIC_LINKER.
+ * config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
+ GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
+ * config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
+ GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
+ * config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
+ GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
+ * config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
+ i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
+ i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
+ x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new headers.
+
+2011-04-11 Kai Tietz <ktietz@redhat.com>
+
+ PR target/9601
+ PR target/11772
+ * config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
+ * config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
+ comment.
+ (ix86_is_msabi_thiscall): Removed.
+ (ix86_is_type_thiscall): Likewise.
+ (ix86_get_callcvt): New function.
+ (ix86_comp_type_attributes): Simplify check.
+ (ix86_function_regparm): Use ix86_get_callcvt for calling
+ convention attribute checks.
+ (ix86_return_pops_args): Likewise.
+ (ix86_static_chain): Likewise.
+ (x86_this_parameter): Likewise.
+ (x86_output_mi_thunk): Likewise.
+ (ix86_function_type_abi): Optimize check for types without attributes.
+ * config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
+ IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
+ IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
+ by flag-values.
+ (IX86_BASE_CALLCVT): Helper macro.
+ * config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
+ Use ix86_get_callcvt for calling convention attribute checks and avoid
+ symbol-decoration for stdcall in TARGET_RTD case.
+ * config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
+ Likewise.
+ (gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
+ for declaration.
+
+2011-04-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (VI_128): New mode iterator.
+ (VI12_128): Rename from SSEMODE12.
+ (VI14_128): Rename from SSEMODE14.
+ (VI124_128): New mode iterator.
+ (VI24_128): Rename from SSEMODE248.
+ (VI248_128): Rename from SSEMODE248.
+ (SSEMODE124C8): Remove.
+ (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
+ (*sse2_<plusminus_insn><mode>3): Merge with
+ *avx_<plusminus_insn><mode>3.
+ (*mulv8hi3): Merge with *avx_mulv8hi3.
+ (*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
+ (*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
+ (*sse2_pmaddwd): Merge with *avx_pmaddwd.
+ (*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
+ (ashr<mode>3): Merge with *avx_ashr<mode>3.
+ (lshr<mode>3): Merge with *avx_lshr<mode>3.
+ (ashl<mode>3): Merge with *avx_ashl<mode>3.
+ (sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
+ (sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
+ (*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
+ (*<smaxmin:code>v8hi3): Ditto.
+ (*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
+ (*<smaxmin:code>v16qi3): Ditto.
+ (*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
+ (*sse2_eq<mode>3): Ditto.
+ (*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
+ (*sse2_gt<mode>3): Ditto.
+ (vcondv2di): Split out of vcond<mode>.
+ (vconduv2di): Split out of vcondu<mode>.
+
+2011-04-11 Richard Guenther <rguenther@suse.de>
+
+ * gimplify.c (gimple_fold_indirect_ref): Check host_integerp
+ before calling tree_low_cst.
+
+2011-04-11 Richard Guenther <rguenther@suse.de>
+
+ * stor-layout.c (layout_type): Compute all array index size operations
+ in the original type.
+ (initialize_sizetypes): Add comment.
+ (set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
+
+2011-04-11 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (Tbss=, Tdata=, Ttext=): New options.
+
+2011-04-11 Martin Jambor <mjambor@suse.cz>
+
+ * cgraph.c (cgraph_local_info): Call cgraph_get_node instead
+ of cgraph_node, handle NULL return value.
+ (cgraph_global_info): Likewise.
+ (cgraph_rtl_info): Likewise.
+ * tree-inline.c (estimate_num_insns): Likewise.
+ * gimplify.c (unshare_body): Likewise.
+ (unvisit_body): Likewise.
+ (gimplify_body): Likewise.
+ * predict.c (optimize_function_for_size_p): Likewise.
+ * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
+ (call_may_clobber_ref_p_1): Likewise.
+ * varasm.c (function_section_1): Likewise.
+ (assemble_start_function): Likewise.
+
+2011-04-11 Martin Jambor <mjambor@suse.cz>
+
+ * except.c (set_nothrow_function_flags): Call cgraph_get_node instead
+ of cgraph_node.
+ * final.c (rest_of_clean_state): Likewise.
+ * gimple-iterator.c (update_call_edge_frequencies): Likewise.
+ * passes.c (pass_init_dump_file): Likewise.
+ (execute_all_ipa_transforms): Likewise.
+ (function_called_by_processed_nodes_p): Likewise.
+ * predict.c (maybe_hot_frequency_p): Likewise.
+ (probably_never_executed_bb_p): Likewise.
+ (compute_function_frequency): Likewise.
+ * tree-nested.c (check_for_nested_with_variably_modified): Likewise.
+ (unnest_nesting_tree_1): Likewise.
+ (lower_nested_functions): Likewise.
+ * tree-optimize.c (execute_fixup_cfg): Likewise.
+ (tree_rest_of_compilation): Likewise.
+ * tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
+ * tree-sra.c (ipa_early_sra): Likewise.
+ * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
+ * config/i386/i386.c (ix86_compute_frame_layout): Likewise.
+ * ipa.c (record_cdtor_fn): Likewise.
+ * ipa-inline.c (cgraph_early_inlining): Likewise.
+ (compute_inline_parameters_for_current): Likewise.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
+ * ipa-pure-const.c (local_pure_const): Likewise.
+ * ipa-split.c (split_function): Likewise.
+ (execute_split_functions): Likewise.
+ * cgraphbuild.c (build_cgraph_edges): Likewise.
+ (rebuild_cgraph_edges): Likewise.
+ (cgraph_rebuild_references): Likewise.
+ (remove_cgraph_callee_edges): Likewise.
+ * cgraphunit.c (cgraph_mark_if_needed): Likewise.
+ (verify_cgraph_node): Likewise.
+ (cgraph_analyze_functions): Likewise.
+ (cgraph_preserve_function_body_p): Likewise.
+ (save_inline_function_body): Likewise.
+ (save_inline_function_body): Likewise.
+ * tree-inline.c (copy_bb): Likewise.
+ (optimize_inline_calls): Likewise.
+
+2011-04-11 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/48195
+ * ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
+ ipa_check_create_edge_args.
+ (ipcp_generate_summary): Do not call ipa_check_create_node_params and
+ ipa_check_create_edge_args.
+ * ipa-inline.c (inline_generate_summary): Do not call
+ ipa_check_create_node_params and ipa_check_create_edge_args.
+ * ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
+ ipa_check_create_edge_args.
+
+2011-04-09 Anatoly Sokolov <aesok@post.ru>
+
+ * expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
+ instead of loop.
+ * sel-sched.c (mark_unavailable_hard_regs): Likewise.
+ * function.c (record_hard_reg_sets): Likewise.
+ * ira.c (compute_regs_asm_clobbered): Likewise.
+ * sched-deps.c (sched_analyze_1): Likewise.
+ * reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
+
+2011-04-09 Xinliang David Li <davidxl@google.com>
+
+ PR tree-optimization/PR48484
+ * tree-ssa-uninit.c (convert_control_dep_chain_into_preds): Set
+ has_valid_pred lazily
+
+2011-04-09 Duncan Sands <baldrick@free.fr>
+
+ * tree.c (array_type_nelts): Bail out if TYPE_MAX_VALUE not set.
+
+2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (combine_validate_cost): Adjust comments. Set registered
+ cost of I0 to zero at the end, if any.
+
+2011-04-08 Xinliang David Li <davidxl@google.com>
+
+ * ipa-cp.c (ipcp_update_profiling): Correct negative scale factor due
+ to insane profile data.
+
+2011-04-08 Xinliang David Li <davidxl@google.com>
+
+ * ipa-cp.c (ipcp_update_profiling): Correct
+ negative scale factor due to insane profile data.
+
+2011-04-08 Xinliang David Li <davidxl@google.com>
+
+ * final.c (dump_basic_block_info): New function.
+ (final): Dump basic block.
+ (final_scan_insn): Remove old dump.
+
+2011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR target/47829
+ * config.gcc (i386-*-freebsd): Disable unwind table generation for
+ crtbegin/crtend.
+
+2011-04-08 Michael Matz <matz@suse.de>
+
+ PR middle-end/48389
+ * jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
+ functions.
+ (rebuild_jump_labels): Call rebuild_jump_labels_1.
+ * rtl.h (rebuild_jump_labels_chain): Declare.
+ * cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
+ insns inserted on edges.
+
+2011-04-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
+ * config/arm/arm-arches.def: New.
+ * config/arm/arm-opts.h: New.
+ * config/arm/genopt.sh: New.
+ * config/arm/arm-tables.opt: New (generated).
+ * config/arm/arm.c (arm_handle_option, arm_target_help,
+ TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
+ (all_architectures): Get most table contents from arm-arches.def.
+ (arm_option_override): Set arm_selected_arch, arm_selected_cpu and
+ arm_selected_tune here.
+ * config/arm/arm.h (enum processor_type): Move to arm-opts.h.
+ * config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
+ (march=, mcpu=, mtune=): Use Enum and Var.
+ * config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
+ (arm.o): Update dependencies.
+
+2011-04-08 Basile Starynkevitch <basile@starynkevitch.net>
+
+ * gengtype.c (write_typed_alloc_def): New argument f. Use it instead
+ of header_file.
+ (write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
+ (write_typed_alloc_defns): Likewise.
+ (main): Calls write_typed_alloc_defns with output_header.
+
+2011-04-08 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR inline-asm/48435
+ * ira-color.c (setup_profitable_hard_regs): Add comments.
+ Don't take prohibited hard regs into account.
+ (setup_conflict_profitable_regs): Rename to
+ get_conflict_profitable_regs.
+ (check_hard_reg_p): Check prohibited hard regs.
+
+2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
+ * config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
+ * config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
+
+2011-04-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/48366
+ * config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
+ move from floating point to shift amount register.
+ (emit_move_sequence): Remove secondary reload support for floating
+ point to shift amount amount register copies.
+ (pa_secondary_reload): Return GENERAL_REGS for floating point/shift
+ amount register copies.
+ * config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
+ register, return false if mode isn't a scalar integer mode.
+ * config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
+
+2011-04-08 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_call_flags): Remove kludge.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ * sel-sched.c (sel_region_init): Move call to
+ sel_setup_region_sched_flags after setup_current_loop_nest.
+
+2011-04-08 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48272
+ * sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
+ init_insn_reg_pressure_info. Adjust a caller.
+ * sched-int.h (init_insn_reg_pressure_info): Declare.
+ * haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
+ when sched-pressure is enabled.
+
+2011-04-08 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_set_modified): Do not queue calls to
+ MODIFIED_NORETURN_CALLS here ...
+ * tree-ssa-operands.c (update_stmt_operands): ... but here.
+
+2011-04-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48467
+ * toplev.c (lang_dependent_init): Do not open asm_out_file
+ in WPA mode, nor perform debug machinery initialization.
+ (finalize): Do not unlink asm_out_file in WPA mode.
+
+2011-04-08 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_call_fntype): New function.
+ (gimple_call_return_type): Use it.
+ * expr.c (expand_expr_real_1): Use gimple_call_fntype.
+ * gimple-low.c (gimple_check_call_args): Likewise.
+ * gimple.c (gimple_call_flags): Likewise.
+ (gimple_call_arg_flags): Likewise.
+ (gimple_call_return_flags): Likewise.
+ * tree-cfg.c (verify_gimple_call): Likewise.
+ (do_warn_unused_result): Likewise.
+ * tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
+ * value-prof.c (gimple_ic_transform): Fix fndecl check.
+
+2011-04-08 Dmitry Melnik <dm@ispras.ru>
+
+ PR rtl-optimization/48235
+ * sel-sched.c (code_motion_process_successors): Recompute the last
+ insn in basic block if control flow changed.
+ (code_motion_path_driver): Ditto. Recompute the first insn as well.
+ Update condition for ilist_remove.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/48302
+ * sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
+ * sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
+ it to record added preheader blocks.
+ * sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
+ on to sel_add_loop_preheaders.
+ (sel_region_init): Move call to setup_current_loop_nest after
+ sel_init_bbs.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR target/48273
+ * cfgloop.h (loop_has_exit_edges): New helper.
+ * sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
+ non-clonable.
+ * sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
+ that have no exit edges.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/48442
+ * sel-sched.c (init_seqno): Remove number_of_insns argument. Update
+ all callers. Adjust assert.
+
+2011-04-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48377
+ * tree-vect-data-refs.c (vector_alignment_reachable_p): Set
+ is_packed to true even for types with smaller TYPE_ALIGN than
+ TYPE_SIZE.
+
+2011-04-08 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/48513
+ * doc/tm.texi: Re-generate.
+
+2011-04-08 Wei Guozhi <carrot@google.com>
+
+ PR target/47855
+ * config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
+ * config/arm/arm.c (arm_attr_length_push_multi): New function.
+ * config/arm/arm.md (*push_multi): Change the length computation to
+ call a C function.
+
+2011-04-08 Anatoly Sokolov <aesok@post.ru>
+
+ * doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
+ (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
+ * doc/tm.texi: Regenerate.
+ * system.h (ASM_OUTPUT_BSS): Poison.
+ * varasm.c (asm_output_bss): Remove function.
+ (emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
+
+ * config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
+ * config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
+ * config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
+ * config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ Likewise.
+ * config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ Likewise.
+ * config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
+ Likewise.
+ * config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
+
+2011-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
+ EnumValue lines.
+
+2011-04-07 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_handle_option): Don't handle
+ OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
+ OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
+ OPT_mcpu32.
+ * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
+ handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
+ -m68030, -m68040, -m68060, -mcpu32 and -m68332.
+ * config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
+ m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
+ * config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
+ (MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
+ (MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
+ options. Don't map other m68k options manually. Don't handle
+ old-style options as canonical.
+ (MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
+ * doc/install.texi (m68k-*-*): Document binutils version requirement.
+
+2011-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * basic-block.h (force_nonfallthru): Move to...
+ * cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
+ (force_nonfallthru): ...here.
+ * cfghooks.c (force_nonfallthru): New function.
+ * cfgrtl.c (force_nonfallthru): Rename into...
+ (rtl_force_nonfallthru): ...this.
+ (commit_one_edge_insertion): Do not set AUX field.
+ (commit_edge_insertions): Do not discover new basic blocks.
+ (rtl_cfg_hooks): Add rtl_force_nonfallthru.
+ (cfg_layout_rtl_cfg_hooks): Likewise.
+ * function.c (thread_prologue_and_epilogue_insns): Remove bogus
+ ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
+ * tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
+
+2011-04-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
+ Remove macros.
+
+2011-04-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md: Update copyright year.
+ (avxcvtvecmode): Remove.
+ (sse_movhlps): Merge with *avx_movhlps.
+ (sse_movlhps): Merge with *avx_movlhps.
+ (vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
+ (vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
+ (sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
+ (sse_loadhps): Merge with *avx_loadhps.
+ (sse_storelps): Merge with *avx_storelps.
+ (sse_loadlps): Merge with *avx_loadlps.
+ (sse_movss): Merge with *avx_movss.
+ (*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
+ (*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
+ (*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
+ (*vec_set<mode>_0_sse2): Split multi-unit alternative.
+ (vec_set<mode>_0): Ditto.
+ (*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
+ (sse4_1_insertps): Merge with *avx_insertps.
+ (*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
+ (*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
+ (vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
+ (sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
+ (sse2_storehpd): Merge with *avx_storehpd.
+ (sse2_loadhpd): Merge with *avx_loadhpd.
+ (sse2_loadlpd): Merge with *avx_loadlpd.
+ (sse2_movsd): Merge with *avx_movsd.
+ (*vec_concatv2df): Merge with *vec_concatv2df.
+
+2011-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48343
+ * combine.c (combine_instructions): Add last_combined_insn,
+ update it if insn is after it, pass it to all try_combine calls.
+ (try_combine): Add last_combined_insn parameter, pass it instead of
+ i3 to propagate_for_debug.
+
+2011-04-07 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.md (movqi_internal): Add alternatives
+ to handle MDR <-> data register transfers.
+ (movhi_internal): Likewise.
+
+2011-04-07 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
+ previous stack info.
+
+2011-04-07 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
+ flow_find_cross_jump. Swap variables to implement backward replacement.
+ (try_crossjump_bb): Add argument to try_crossjump_to_edge.
+
+2011-04-07 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * cfgcleanup.c (walk_to_nondebug_insn): New function.
+ (flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1
+ and bb2.
+ (try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not
+ src1 or src2. Redirect edges to the last basic block. Update
+ frequency and count on multiple basic blocks in case of fallthru.
+
+2011-04-07 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
+ function.
+ (old_insns_match_p): Change return type. Replace return false/true
+ with return dir_none/dir_both. Use can_replace_by.
+ (flow_find_cross_jump): Add dir_p parameter. Init replacement
+ direction from dir_p. Register replacement direction in dir, last_dir
+ and afterlast_dir. Handle new return type of old_insns_match_p using
+ merge_dir. Return replacement direction in dir_p.
+ (flow_find_head_matching_sequence, outgoing_edges_match): Handle new
+ return type of old_insns_match_p.
+ (try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
+ * ifcvt.c ( cond_exec_process_if_block): Add argument to call to
+ flow_find_cross_jump.
+ * basic-block.h (enum replace_direction): New type.
+ (flow_find_cross_jump): Add parameter to declaration.
+
+2011-04-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (AVXMODEDCVTDQ2PS): Remove.
+ (AVXMODEDCVTPS2DQ): Ditto.
+ (VEC_FLOAT_MODE): Ditto.
+ (<sse>_andnot<mode>3): Merge with avx_andnot<mode>3. Use VF mode
+ iterator. Handle TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
+ (<any_logic:code><mode>3): Use VF mode iterator.
+ (*<any_logic:code><mode>3): Merge with *avx_<any_logic:code><mode>3.
+ Use VF mode iterator.
+ (copysign<mode>3): Use VF mode iterator.
+ (*andnot<MODEF:mode>3): Merge with *avx_andnot<MODEF:mode>3. Handle
+ TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL target flag.
+ (*<any_logic:code><MODEF:mode>3): Merge with
+ *avx_<any_logic:code><MODEF:mode>3.
+ (sse_cvtsi2ss): Merge with *avx_cvtsi2ss.
+ (sse_cvtsi2ssq): Merge with *avx_cvtsi2ssq.
+ (avx_cvtdq2ps256): Split from avx_cvtdq2ps<avxmodesuffix>.
+ (avx_cvtdq2ps<avxmodesuffix>): Remove.
+ (sse2_cvtdq2ps): Use %v modifier.
+ (avx_cvtps2dq256): Split from avx_cvtps2dq<avxmodesuffix>.
+ (avx_cvtps2dq<avxmodesuffix>): Remove.
+ (sse2_cvtps2dq): Use %v modifier.
+ (avx_cvttps2dq256): Split from avx_cvttps2dq<avxmodesuffix>.
+ (avx_cvttps2dq<avxmodesuffix>): Remove.
+ (sse2_cvttps2dq): Use %v modifier.
+ (sse2_cvtsi2sd): Merge with *avx_cvtsi2sd.
+ (sse2_cvtsi2sdq): Merge with *avx_cvtsi2sdq.
+ (sse2_cvtsd2siq): Fix insn template.
+ (sse2_cvtsd2siq_2): Ditto.
+ (sse2_cvttsd2siq): Ditto.
+ (sse2_cvtsd2ss): Merge with *avx_cvtsd2ss.
+ (sse2_cvtss2sd): Merge with *avx_cvtss2sd.
+
+2011-04-06 Joseph Myers <joseph@codesourcery.com>
+
+ * gcov-io.c: Use GCC Runtime Library Exception.
+
+2011-04-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48466
+ * dwarf2out.c (based_loc_descr): If drap_reg is INVALID_REGNUM, use
+ as base_reg whatever register reg has been eliminated to, instead
+ of hardcoding STACK_POINTER_REGNUM.
+
+2011-04-06 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/tm.texi.in: Document C target hooks as separate from general
+ target hooks.
+ * doc/tm.texi: Regenerate.
+ * genhooks.c (struct hook_desc): Add docname field.
+ (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize
+ docname field.
+ (hook_array): Include c-target.def.
+ (emit_documentation): Use docname field in output.
+ (emit_init_macros): Take docname argument. Only emit definitions
+ for hooks matching docname.
+ (main): Expect additional arguments in all cases. Pass argument
+ to emit_init_macros.
+ * target.def: Move initial macro definitions and comments to
+ target-hooks-macros.h.
+ (gcc_targetcm): Move to c-family/c-target.def.
+ * target.h (targetcm): Move declaration to c-family/c-target.h.
+ * targhooks.c (default_handle_c_option): Move to
+ c-family/c-opts.c.
+ * targhooks.h (default_handle_c_option): Move declaration to
+ c-family/c-common.h.
+ * target-hooks-macros.h: New file.
+ * config.gcc (target_has_targetcm): Define and use to add to
+ c_target_objs and cxx_target_objs.
+ * config/default-c.c: New file.
+ * config/darwin-c.c: Include c-target.h and c-target-def.h instead
+ of target.h and target-def.h.
+ (TARGET_HANDLE_C_OPTION, targetcm): Define later in file.
+ (darwin_objc_construct_string, darwin_cfstring_ref_p,
+ darwin_check_cfstring_format_arg): Make static.
+ (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
+ TARGET_STRING_OBJECT_REF_TYPE_P,
+ TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here.
+ * config/darwin-protos.h (darwin_objc_construct_string,
+ darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't
+ declare.
+ * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT,
+ TARGET_STRING_OBJECT_REF_TYPE_P,
+ TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove.
+ * config/t-darwin (darwin-c.o): Update dependencies.
+ * system.h (TARGET_HAS_TARGETCM): Poison.
+ * Makefile.in (TARGET_H): Update.
+ (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define.
+ (c-family/c-format.o, c-family/c-opts.o): Update dependencies.
+ (default-c.o): New target.
+ (s-target-hooks-def-h): Pass "Target Hook" string to genhooks.
+ (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets.
+ (s-tm-texi): Pass -d option to genhooks. Also test timestamp on
+ c-target.def.
+ (build/genhooks.o): Update dependencies.
+
+2011-04-06 Richard Guenther <rguenther@suse.de>
+
+ * ipa-inline.c (enum inlining_mode): Remove.
+ (cgraph_flatten): Use some other token.
+ (cgraph_edge_early_inlinable_p): New function, split out from ...
+ (cgraph_perform_always_inlining): New function, split out from ...
+ (cgraph_decide_inlining_incrementally): ... here.
+ (cgraph_mark_inline_edge): Adjust.
+ (cgraph_early_inlining): Re-structure.
+ (pass_early_inline): Require SSA form.
+
+2011-04-06 Andrew Stubbs <ams@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+ Mark Shinwell <shinwell@codesourcery.com>
+
+ * config/arm/arm.h (arm_class_likely_spilled_p): Check against
+ LO_REGS only for Thumb-1.
+ (MODE_BASE_REG_CLASS): Restrict base registers to those which can
+ be used in short instructions when optimising for size on Thumb-2.
+
+2011-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimple-low.c (lower_gimple_return): When not optimizing, force labels
+ associated with user returns to be preserved.
+
+2011-04-06 Tristan Gingold <gingold@adacore.com>
+
+ * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index,
+ symbol_queue_size, DBXOUT_DECR_NESTING,
+ (DBXOUT_DECR_NESTING_AND_RETURN): Also define
+ if XCOFF_DEBUGGING_INFO.
+
+2011-04-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (attribute isa): New.
+ (attribute enabled): New.
+ (setcc_<mode>_sse): Merge from *{avx,sse}_setcc<mode>.
+ (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_mixed_avx.
+ (*fop_<mode>_comm_sse): Merge with *fop_<mode>_comm_avx.
+ (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_mixed_avx.
+ (*fop_<mode>_1_sse): Merge with *fop_<mode>_1_avx.
+ (<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
+ (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3.
+ (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3.
+
+ * config/i386/sse.md (VF): New mode iterator.
+ (VF1): Ditto.
+ (VF2): Ditto.
+ (VF_128): Ditto.
+ (SSEMODEF4): Remove.
+ (attribute sse): Handle V8SF and V4DF modes.
+ (<absneg:code><mode>2): Use VF mode iterator.
+ (*absneg<mode>2): Merge from *{avx,sse}_absneg<mode>2. Use VF
+ mode iterator.
+ (<plusminus_insn><mode>3): Use VF mode iterator.
+ (*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
+ Use VF mode iterator.
+ (<sse>_vm<plusminus_insn><mode>3): Merge with
+ *avx_vm<plusminus_insn><mode>3. Use VF_128 mode iterator.
+ (mul<mode>3): Use VF mode iterator.
+ (*mul<mode>3): Merge with *avx_mul<mode>3. Use VF mode iterator.
+ (<sse>_vmmul<mode>3): Merge with *avx_vmmul<mode>3. Use VF_128
+ mode iterator.
+ (div<VF2:mode>3): Merge from divv2df3 and divv4df3.
+ (div<VF1:mode>3): Merge from divv4sf3 and divv8sf3.
+ (<sse>_div<mode>3): Merge with *avx_div<mode>3. Use VF mode iterator.
+ (<sse>_vmdiv<mode>3): Merge with *avx_vmdiv<mode>3. Use VF_128
+ mode iterator.
+ (<sse>_rcp<mode>2): Merge from avx_rcpv8sf2 and sse_rcpv4sf2.
+ Use VF1 mode iterator.
+ (sse_vmrcpv4sf2): Merge with *avx_vmrcpv4sf2.
+ (sqrt<VF2:mode>2): New expander.
+ (sqrt<VF1:mode>2): Merge from sqrtv4sf2 and sqrtv8sf2.
+ (<sse>_sqrt<mode>2): Merge from avx_sqrtv8sf2, sse_sqrtv4sf, sqrtv4df2
+ and sqrtv2df2. Use VF mode iterator.
+ (<sse>_vmsqrt<mode>2): Merge with *avx_vmsqrt<mode>2. Use VF_128
+ mode iterator.
+ (rsqrt<VF1:mode>2): Merge from rsqrtv4sf2 and rsqrtv8sf2.
+ (<sse>_rsqrt<mode>2): Merge from avx_rsqrtv8sf2 and sse_rsqrt4sf2.
+ Use VF1 mode iterator.
+ (sse_vmrsqrtv4sf2): Merge with *avx_vmrsqrtv4sf2.
+ (<smaxmin:code><mode>3): Use VF mode iterator.
+ (*<smaxmin:code><mode>3_finite): Merge with
+ *avx_<smaxmin:code><mode>3_finite. Use VF mode iterator.
+ (*<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
+ (<sse>_vm<smaxmin:code><mode>2): Merge with
+ *avx_vm<smaxmin:code><mode>2. Use VF_128 mode iterator.
+ (*ieee_smin<mode>3): Merge with *avx_ieee_smin<mode>3. Use VF
+ mode iterator.
+ (*ieee_smax<mode>3): Merge with *avx_ieee_smax<mode>3. Use VF
+ mode iterator.
+ (sse3_addsubv2df3): Merge with *avx_addsubv2df3.
+ (sse3_addsubv4sf3): Merge with *avx_addsubv4sf3.
+ (sse3_h<plusminus_insn>v2df3): Merge with *avx_h<plusminus_insn>v2df3.
+ (sse3_h<plusminus_insn>v4sf3): Merge with *avx_h<plusminus_insn>v4sf3.
+ (avx_cmp<mode>3): Rename from avx_cmp<ssemodesuffix><mode>3. Use
+ VF mode iterator.
+ (avx_vmcmp<mode>3): Rename from avx_cmp<ssescalarmodesuffix><mode>3.
+ Use VF_128 mode iterator.
+ (<sse>_maskcmp<mode>3): Merge with *avx_maskcmp<mode>3. Use VF
+ mode iterator.
+ (<sse>_vmmaskcmp<mode>3): Merge with *avx_vmmaskcmp<mode>3. Use
+ VF_128 mode iterator.
+ (vcond<mode>): Use VF mode iterator.
+ * config/i386/predicates.md (sse_comparison_operator): Merge with
+ avx_comparison_float_operator. Do not declare as special_predicate.
+ * config/i386/i386.c (struct builtin_description): Update for renamed
+ compare patterns.
+ (ix86_expand_args_builtin): Ditto.
+ (ix86_expand_sse_compare_mask): Ditto.
+
+2011-04-06 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (estimate_num_insns): For calls simply account
+ for all passed arguments and a used return value.
+
+2011-04-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47663
+ * cgraph.h (struct cgraph_edge): Add call_stmt_size and
+ call_stmt_time fields.
+ (cgraph_edge_inlinable_p): Declare.
+ (cgraph_edge_recursive_p): New inline function.
+ * cgraph.c (cgraph_create_edge_1): Initialize call_stmt_size.
+ (cgraph_clone_edge): Copy it.
+ * ipa-inline.c (cgraph_estimate_edge_time): New function.
+ Account for call stmt time.
+ (cgraph_estimate_time_after_inlining): Take edge argument.
+ (cgraph_estimate_edge_growth): Account call stmt size.
+ (cgraph_estimate_size_after_inlining): Take edge argument.
+ (cgraph_mark_inline_edge): Adjust.
+ (cgraph_check_inline_limits): Likewise.
+ (cgraph_recursive_inlining_p): Remove.
+ (cgraph_edge_badness): Use cgraph_edge_recursive_p.
+ (cgraph_decide_recursive_inlining): Take edge argument and
+ adjust.
+ (cgraph_decide_inlining_of_small_functions): Do not avoid
+ diags for recursive inlining here.
+ (cgraph_flatten): Adjust.
+ (cgraph_decide_inlining_incrementally): Likewise.
+ (estimate_function_body_sizes): Remove call cost handling.
+ (compute_inline_parameters): Initialize caller edge call costs.
+ (cgraph_estimate_edge_growth): New function.
+ (cgraph_estimate_growth): Use it.
+ (cgraph_edge_badness): Likewise.
+ (cgraph_check_inline_limits): Take an edge argument.
+ (cgraph_decide_inlining_of_small_functions): Adjust.
+ (cgraph_decide_inlining): Likewise.
+ * tree-inline.c (estimate_num_insns): Only account for call
+ return value if it is used.
+ (expand_call_inline): Avoid diagnostics on recursive inline
+ functions here.
+ * lto-cgraph.c (lto_output_edge): Output edge call costs.
+ (input_edge): Input edge call costs.
+
+2011-04-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/alpha/osf5.h (MAX_OFILE_ALIGNMENT): Define.
+
+2011-04-06 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi (Spec Files): Fix typo.
+
+2011-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * profile.c (branch_prob): Move declaration of local variable. Remove
+ obsolete ??? comment. Expand the location explicitly instead of using
+ the LOCATION_FILE and LOCATION_LINE macros.
+
+2011-04-06 Wei Guozhi <carrot@google.com>
+
+ PR target/47855
+ * config/arm/arm.md (arm_cmpsi_insn): Compute attr "length".
+ (arm_cond_branch): Likewise.
+ (arm_cond_branch_reversed): Likewise.
+ (arm_jump): Likewise.
+ (push_multi): Likewise.
+ * config/arm/constraints.md (Py): New constraint.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR bootstrap/48471
+ * dbxout.c (debug_nesting, symbol_queue, symbol_queue_index):
+ Move these...
+ (symbol_queue_size, DBXOUT_DECR_NESTING): ...and these...
+ (DBXOUT_DECR_NESTING_AND_RETURN): ...and this under
+ #ifdef DBX_DEBUGGING_INFO.
+
+2011-04-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/48403
+ * haifa-sched.c (schedule_block): Increment cycle_issued_insns only
+ if old and new states differ.
+
+2011-04-05 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m68k/m68k.c (m68k_handle_option): Don't handle OPT_m5200,
+ OPT_m5206e, OPT_m528x, OPT_m5307, OPT_m5407 and OPT_mcfv4e.
+ * config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
+ handle -m5200, -m5206e, -m528x, -m5307, -m5407 and -mcfv4e.
+ * config/m68k/m68k.opt (m5200, m5206e, m528x, m5307, m5407,
+ mcfv4e): Use Alias.
+ * config/m68k/t-mlibs (MULTILIB_MATCHES): Don't map legacy
+ ColdFire options to -mcpu= options.
+
+2011-04-05 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (determine_bb_domination_status): Always
+ check if BB is a successor of LOOP->header and return
+ NONDOMINATING if it is not, regardless of ENABLE_CHECKING.
+
+2011-04-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cprop.c (struct reg_use): Remove.
+ (reg_use_table): Make an array of RTX.
+ (find_used_regs, constprop_register, local_cprop_pass,
+ bypass_block): Simplify users of reg_use_table.
+ (cprop_insn): Likewise. Iterate if copy propagation succeeded
+ on one of the uses found by find_used_regs.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR bootstrap/48469
+ * combine.c (combine_instructions): #ifdef AUTO_INC_DEC links
+ declaration.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * combine.c (combine_instructions) [AUTO_INC_DEC]: Declare links
+ as an rtx.
+ (try_combine) [AUTO_INC_DEC]: Declare a local link rtx.
+
+2011-04-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/48441
+ * cprop.c (one_cprop_pass): Do not mark_oprs_set of deleted insns.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * combine.c: Include obstack.h.
+ (struct insn_link): Define.
+ (uid_log_links): Adjust type.
+ (FOR_EACH_LOG_LINK): New macro.
+ (insn_link_obstack): Declare.
+ (alloc_insn_link): Define.
+ (create_log_links): Call it. Use FOR_EACH_LOG_LINK and adjust
+ type of link variables.
+ (find_single_use, insn_a_feeds_b, combine_instructions): Likewise.
+ (try_combine, record_promoted_values, distribute_notes): Likewise.
+ (distribute_links): Likewise. Tweak prototype.
+ (clear_log_links): Delete.
+ (adjust_for_new_dest): Call alloc_insn_link.
+ * Makefile.in (combine.o): Depend on $(OBSTACK_H).
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcse.c (modify_mem_list): Convert to an array of VECs.
+ (canon_modify_mem_list, compute_transp): Tweak formatting.
+ (alloc_gcse_mem): Likewise. Adjust for modify_mem_list change.
+ (load_killed_in_block_p): Likewise.
+ (record_last_mem_set_info): Likewise.
+ (clear_modify_mem_tables): Likewise.
+
+2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/48461
+ * function.c (emit_use_return_register_into_block): Only define if
+ HAVE_return.
+
+2011-04-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * stor-layout.c (self_referential_size): Fix 2010-07-13 commit.
+
+2011-04-05 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rx/rx-opts.h: New.
+ * config/rx/rx.c (rx_cpu_type): Remove.
+ (rx_handle_option): Don't assert that global structures are in
+ use. Access variables via opts pointer. Defer most handling of
+ OPT_mint_register_. Use error_at.
+ (rx_option_override): Handle deferred OPT_mint_register_ here.
+ * config/rx/rx.h (enum rx_cpu_types): Move to rx-opts.h.
+ * config/rx/rx.opt (config/rx/rx-opts.h: New HeaderInclude.
+ (mcpu=): Use Enum and specifiy rx_cpu_type with Var.
+ (rx_cpu_types): New Enum and EnumValue entries.
+ (mint-register=): Use Defer and use Var accordingly.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * debug.h (debug_flush_symbol_queue, debug_queue_symbol): Delete.
+ (debug_free_queue, debug_nesting, symbol_queue_index): Delete.
+ * final.c (debug_flush_symbol_queue, debug_queue_symbol):
+ Move these...
+ (debug_free_queue, debug_nesting, symbol_queue_index):
+ ...and these...
+ * dbxout.c: ...to here. Make static.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcse.c (modify_pair): Define. Define a VEC of it.
+ (canon_modify_mem_list): Convert to an array of VECs.
+ (free_insn_expr_list_list): Delete.
+ (clear_modify_mem_tables): Call VEC_free instead.
+ (record_last_mem_set_info): Don't modify canon_modify_mem_list.
+ (alloc_gcse_mem): Adjust for canon_modify_mem_list change.
+ (canon_list_insert, compute_transp): Likewise.
+
+2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizing
+ for size.
+
+2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * function.c (emit_use_return_register_into_block): New function.
+ (thread_prologue_and_epilogue_insns): Use
+ emit_use_return_register_into_block.
+
+2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * cfgcleanup.c (flow_find_cross_jump): Don't count USE or CLOBBER as
+ insn.
+
+2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ * cfgcleanup.c (try_crossjump_bb): Remove 2 superfluous variables.
+
+2011-04-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * config/arm/arm.md (define_constants for unspec): Replace with
+ define_c_enum.
+ (define_constants for unspecv): Replace with define_c_enum.
+ * config/arm/neon.md (define_constants for unspec): Replace with
+ define_c_enum.
+
+2011-04-04 Richard Henderson <rth@redhat.com>
+
+ PR bootstrap/48400
+ * dwarf2out.c (output_line_info): Always emit line info from
+ at least one section.
+ (dwarf2out_init): Create text_section_line_info here ...
+ (set_cur_line_info_table): ... not here.
+
+2011-04-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/48380
+ * ira.c (ira): Call grow_reg_equivs when fix_reg_equiv_init is
+ not called.
+
+ * ira-emit.c (emit_move_list): Update reg_equiv_init insn list.
+
+2011-04-04 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cprop.c (struct expr): Split 'expr' field in 'dest' and 'src'.
+ (expr_equiv_p): Remove.
+ (insert_set_in_table): Look at <dest, src> pair instead of expr.
+ (hash_scan_set): Update call to insert_set_in_table.
+ (dump_hash_table): Dump <dest, src> pair.
+ (lookup_set): Simplify. Lookup <dest, src> pair.
+ (compute_transp): Remove, fold heavily simplified code into...
+ (compute_local_properties): ...here. Expect COMP and TRANSP
+ unconditionally.
+ (find_avail_set): Take set directly from struct expr.
+ (find_bypass-set): Likewise.
+ (bypass_block): Likewise.
+ (cprop_insn): Likewise. Remove redundant INSN_P test.
+
+ * cprop.c (implicit_set_cond_p): Assume nothing about COND, move
+ checks on form of COND from find_implicit_sets to here.
+ (find_implicit_sets): Cleanup control flow. Split critical edges
+ if it exposes implicit sets. Allocate/resize implicit_sets as
+ necessary.
+ (one_cprop_pass): Only delete unreachable blocks if local_cprop_pass
+ changed something. Run df_analyze after find_implicit_sets if any
+ edges were split. Do not allocate implicit_sets here.
+
+ * cprop.c: s/gcse/cprop/ everywhere except for flag_gcse.
+ (gcse_obstack): Renamed to cprop_obstack.
+ (GNEW, GNEWVEC, GNEWVAR): Remove.
+ (gmalloc): Remove.
+ (alloc_hash_table): Use XNEWVAR instead of GNEWVAR.
+ (GOBNEW, GOBNEWVAR): Adjust for gcse_obstack renaming.
+ (gcse_alloc): Likewise, and rename to cprop_alloc.
+ (alloc_gcse_men, free_gcse_mem): Remove.
+ (gcse_constant_p): Rename to cprop_constant_p, and adjust all callers.
+ (compute_hash_table_work): Allocate and free reg_set_bitmap here.
+ (one_cprop_pass): Likewise. Adjust for gcse_obstack renaming.
+
+ * cprop.c (oprs_not_set_p): Remove.
+ (mark_set, mark_clobber): Remove.
+ (mark_oprs_set): Rewrite using DF_INSN_INFO_DEFS cache.
+ (reg_not_set_p): New function.
+ (find_avail_set): Use reg_not_set_p instead of oprs_not_set_p.
+ (cprop_insn): Likewise.
+ (cprop_jump): Use FOR_EACH_EDGE.
+
+2011-04-04 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR bootstrap/48403
+ * haifa-sched.c (nonscheduled_insns_begin): New static variable.
+ (rank_for_schedule): Use scheduled_insns vector instead of
+ last_scheduled_insn.
+ (ok_for_early_queue_removal): Likewise.
+ (queue_to_ready): Search forward in nonscheduled_insns_begin if
+ we have a dbg_cnt.
+ (choose_ready): Likewise.
+ (commit_schedule): Use VEC_iterate.
+ (schedule_block): Initialize nonscheduled_insns_begin. If we have
+ a dbg_cnt, use it and ensure the first insn is in the ready list.
+ (haifa_sched_init): Allocate scheduled_insns.
+ (sched_extend_ready_list): Don't allocate it; reserve space.
+ (haifa_sched_finish): Free it.
+
+2011-04-04 Joseph Myers <joseph@codesourcery.com>
+
+ * optc-gen.awk: Always remove type from Variable entry before
+ recording in var_seen.
+
+2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfghooks.c (tidy_fallthru_edges): Add ??? comment.
+ * tree-inline.c (delete_unreachable_blocks_update_callgraph): Remove
+ call to tidy_fallthru_edges.
+
+2011-04-04 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (ToLower): Document.
+ * opt-functions.awk (switch_bit_fields): Initialize cl_tolower field.
+ * opts-common.c (decode_cmdline_option): Handle cl_tolower.
+ * opts.h (cl_option): Add cl_tolower field.
+ * config/rx/rx.c (rx_handle_option): Use strcmp of -mcpu=
+ arguments with lowercase strings.
+ * config/rx/rx.opt (mcpu=): Add ToLower.
+ * config/rx/t-rx (MULTILIB_MATCHES): Don't handle uppercase -mcpu=
+ argument.
+
+2011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/pdp11/pdp11.h (IRA_COVER_CLASSES): Delete.
+
+2011-04-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/vax/vax.c: Include reload.h.
+
+2011-04-04 Anatoly Sokolov <aesok@post.ru>
+
+ * config/sparc/sparc.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/sparc/sparc.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ (sparc_preferred_reload_class): New function.
+
+2011-04-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48401
+ * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
+ Use PAT_VAR_LOCATION_LOC instead of INSN_VAR_LOCATION_LOC.
+
+2011-04-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (struct tree_const_decl): Inherit from tree_decl_common.
+ * tree.c (initialize_tree_contains_struct): Adjust accordingly.
+
+2011-04-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (ASM_OUTPUT_BSS): Remove.
+ (ASM_OUTPUT_ALIGNED_BSS): Define.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * lto-streamer.h (struct lto_streamer_cache_d): Remove offsets
+ and next_slot members.
+ (lto_streamer_cache_insert, lto_streamer_cache_insert_at,
+ lto_streamer_cache_lookup, lto_streamer_cache_get): Adjust prototypes.
+ (lto_streamer_cache_append): Declare.
+ * lto-streamer.c (lto_streamer_cache_add_to_node_array): Use
+ unsigned index, remove offset parameter, ensure that we append
+ or update existing entries.
+ (lto_streamer_cache_insert_1): Use unsigned index, remove offset_p
+ parameter, update next_slot for append.
+ (lto_streamer_cache_insert): Use unsigned index, remove offset_p
+ parameter.
+ (lto_streamer_cache_insert_at): Likewise.
+ (lto_streamer_cache_append): New function.
+ (lto_streamer_cache_lookup): Use unsigned index.
+ (lto_streamer_cache_get): Likewise.
+ (lto_record_common_node): Don't test tree_node_can_be_shared.
+ (preload_common_node): Adjust call to lto_streamer_cache_insert.
+ (lto_streamer_cache_delete): Don't free offsets member.
+ * lto-streamer-out.c (eq_string_slot_node): Use memcmp.
+ (lto_output_string_with_length): Use lto_output_data_stream.
+ (lto_output_tree_header): Remove ix parameter, don't write it.
+ (lto_output_builtin_tree): Likewise.
+ (lto_write_tree): Adjust callers to above, don't track and write
+ offset, write unsigned index.
+ (output_unreferenced_globals): Don't emit all global vars.
+ (write_global_references): Use unsigned indices.
+ (lto_output_decl_state_refs): Likewise.
+ (write_symbol): Likewise.
+ * lto-streamer-in.c (lto_input_chain): Move earlier.
+ (input_function): Use unsigned index.
+ (input_alias_pairs): Don't read and then ignore all global vars.
+ (lto_materialize_tree): Remove ix_p parameter, don't read index,
+ don't pass it back, use lto_streamer_cache_append.
+ (lto_register_var_decl_in_symtab): Use unsigned index.
+ (lto_register_function_decl_in_symtab): Likewise.
+ (lto_get_pickled_tree): Don't read in or handle offset, read unsigned
+ index.
+ (lto_get_builtin_tree): Don't read index, use
+ lto_streamer_cache_append.
+ (lto_read_tree): Adjust call to lto_materialize_tree.
+
+ * ipa-inline.c (cgraph_edge_badness): Move growth calculaton,
+ don't use function calls in arguments to MIN.
+
+ * varasm.c (decl_binds_to_current_def_p): Don't check TREE_PUBLIC
+ twice.
+
+ * gimple.c (gimple_type_leader_entry): Mark deletable.
+
+2011-04-03 Alan Modra <amodra@gmail.com>
+
+ * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
+ an integer.
+ * tree.h (tree_decl_non_common.vindex): Adjust comment.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * cgraphbuild.c (record_reference): Canonicalize constructor values.
+ * gimple-fold.c (canonicalize_constructor_val): Accept being called
+ without function context.
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
+ current_function_decl and cfun.
+
+2011-04-03 Michael Matz <matz@suse.de>
+
+ * tree.c (decl_init_priority_insert): Don't create entry for
+ default priority.
+ (decl_fini_priority_insert): Ditto.
+ (fields_compatible_p, find_compatible_field): Remove.
+ * tree.h (fields_compatible_p, find_compatible_field): Remove.
+ * gimple.c (gimple_compare_field_offset): Adjust block comment.
+
+2011-04-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (try_combine): Remove useless local variable.
+
+2011-04-03 Richard Guenther <rguenther@suse.de>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
+ non-variable offsets and compare the remaining bases of the two
+ accesses instead of looking for exact same data-ref.
+
+2011-04-02 Kai Tietz <ktietz@redhat.com>
+
+ PR target/48416
+ * i386.c (ix86_function_arg_boundary): Fix printf formatter.
+
+ * i386.c (ix86_is_msabi_thiscall): New helper function.
+ (ix86_is_type_thiscall): New helper function.
+ (ix86_comp_type_attributes): Handle thiscall for method-functions
+ special.
+ (init_cumulative_args): Likewise.
+ (find_drap_reg): Likewise.
+ (ix86_static_chain): Likewise.
+ (x86_this_parameter): Likewise.
+ (x86_output_mi_thunk): Likewise.
+
+2011-04-01 Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
+ (add_gnat_descriptive_type_attribute): New function.
+ (gen_array_type_die): Call it.
+ (gen_enumeration_type_die): Likewise.
+ (gen_struct_or_union_type_die): Likewise.
+ (modified_type_die): Likewise.
+ * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
+ * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
+ (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
+
+2011-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48148
+ * dwarf2out.c (resolve_addr): Don't call force_decl_die
+ if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
+
+ Revert:
+ 2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/48148
+ * lto-cgraph.c (input_overwrite_node): Clear the abstract
+ origin for decls in other ltrans units.
+ (input_varpool_node): Likewise.
+
+2011-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48335
+ * expr.c (expand_assignment): Handle all possibilities
+ if TO_RTX is CONCAT.
+ * expmed.c (store_bit_field_1): Avoid trying to create invalid SUBREGs.
+ (store_split_bit_field): If SUBREG_REG (op0) or
+ op0 itself has smaller mode than word, return it
+ for offset 0 and const0_rtx for out-of-bounds stores.
+ If word is const0_rtx, skip it.
+
+2011-04-01 Naveen H.S <naveen.S@kpitcummins.com>
+
+ * config/h8300/h8300.c (print_operand_address): Rename to...
+ (h8300_print_operand_address): ...this. Make static. Adjust comments.
+ Call h8300_print_operand and h8300_print_operand_address instead of
+ print_operand and print_operand_address. Declare.
+ (print_operand): Renake to...
+ (h8300_print_operand): ...this. Make static. Adjust comments.
+ Call h8300_print_operand instead of print_operand. Declare.
+ (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
+ (h8300_register_move_cost): Likewise.
+ (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
+ TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
+ * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
+ PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
+ * config/h8300/h8300-protos.h (print_operand): Delete.
+ (print_operand_address): Delete.
+
+2011-04-01 Richard Henderson <rth@redhat.com>
+
+ PR 48400
+ * dwarf2out.c (dwarf2out_source_line): Disable discriminators
+ in strict mode before dwarf4. Re-order tests to early out
+ before switching sections.
+
+2011-04-01 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/h8300/constraints.md: New file.
+ * config/h8300/h8300.md: Include it. Use satisfies_constraint_J,
+ satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
+ (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
+ * config/h8300/predicates.md (bit_operand): Likewise.
+ (incdec_operand): Use satisfies_constraint_M and
+ satisfies_constraint_O. Don't use C code block.
+ * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
+ * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
+ (compute_mov_length): Use satisfies_constraint_G.
+ (fix_bit_operand): Use satisfies_constraint_U.
+ * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
+ (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
+ (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
+ (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
+ (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
+ (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
+ (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
+ (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
+ (EXTRA_MEMORY_CONSTRAINT): Delete.
+
+2011-04-01 Andrew Pinski <pinskia@gmail.com>
+ Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48262
+ * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
+ operands, as per the specifications.
+
+ * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
+ (vec_extract_evenv4sf): Ditto.
+ (vec_extract_evenv8hi): Ditto.
+ (vec_extract_evenv16qi): Ditto.
+ (vec_extract_oddv4si): Ditto.
+
+2011-03-31 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
+ high_pc attribute if the CU has no associated code. Only output
+ DW_AT_entry_pc for CU if not generating strict dwarf and
+ dwarf_version < 4.
+
+2011-04-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ * dwarf2out.h (dwarf2out_frame_debug_init): Declare.
+ * dwarf2out.c (dwarf2out_frame_debug_init): New function, broken
+ out of ...
+ (dwarf2out_frame_debug): ... here. Don't handle a NULL argument.
+ * final.c (final_start_function): Call the new function rather
+ than using a NULL argument for dwarf2out_frame_debug.
+
+ * ifcvt.c (cond_exec_process_insns): Disallow converting a block
+ that contains the prologue.
+
+ * haifa-sched.c (queue_insn): New arg REASON. All callers
+ changed. Print it in debugging output.
+
+ * sched-ebb.c (schedule_ebbs): Honor the BB_DISABLE_SCHEDULE flag.
+
+ * sched-ebb.c (begin_schedule_ready): Remove second argument.
+ Split most of the code into...
+ (begin_move_insn): ... here. New function.
+ (ebb_sched_info): Add a pointer to it.
+ * haifa-sched.c (scheduled_insns): New static variable.
+ (sched_extend_ready_list): Allocate it.
+ (schedule_block): Use it to record the order of scheduled insns.
+ Perform RTL changes to move insns only after all scheduling
+ decisions have been made.
+ * modulo-sched.c (sms_sched_haifa_sched_info): Add NULL entry for the
+ begin_move_insn field.
+ * sel-sched-ir.c (sched_sel_haifa_sched_info): Likewise.
+ * sched-int.h (struct haifa_sched_info): Remove second argument
+ from begin_schedule_ready hook. Add new member begin_move_insn.
+ * sched-rgn.c (begin_schedule_ready): Remove second argument.
+ (rgn_const_sched_info): Add NULL entry for the begin_move_insn field.
+
+ * haifa-sched.c (prune_ready_list): New function, broken out of
+ schedule_block.
+ (schedule_block): Use it.
+
+2011-04-01 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/t-spu-elf (dp-bit.c): Use > instead of >>.
+
+2011-04-01 Kai Tietz <ktietz@redhat.com>
+
+ * config.gcc (*-*-mingw*): Allow as option the
+ posix threading model.
+ * config/i386/mingw32.h (SPEC_PTHREAD1, SPEC_PTHREAD2):
+ New macros defined dependent to TARGET_USE_PTHREAD_BY_DEFAULT
+ definition.
+ (CPP_SPEC): Add pthread/no-pthread handling.
+ (LIB_SPEC): Likewise.
+ * config/i386/mingw-w64.h (CPP_SPEC):Likewise.
+ (LIB_SPEC): Likewise.
+ * config/i386/t-cygming (SHLIB_PTHREAD_CFLAG): New
+ flag to pass -pthread option for shared libgcc build.
+ (SHLIB_PTHREAD_LDFLAG): New option to pass -lpthread
+ for shared libgcc build.
+ * config/i386/t-mingw-pthread: New file.
+ * config/i386/mingw-pthread.h (TARGET_USE_PTHREAD_BY_DEFAULT):
+ New define to enable use of library pthread by default.
+ * config/i386/mingw.opt (pthread): New driver option.
+ (no-pthread): New driver option.
+ * config/i386/cygming.opt: Make sure trailing empty line is retained.
+ * config/i386/mingw-w64.opt: Likewise.
+
+2011-04-01 Gary Funck <gary@intrepid.com>
+
+ * c-decl.c (grokdeclarator): Fix formatting.
+
+2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * expr.c (emit_block_move_via_movmem): Use n_generator_args
+ instead of n_operands.
+ (set_storage_via_setmem): Likewise.
+ * optabs.c (maybe_gen_insn): Likewise.
+ * config/arm/arm.c (arm_init_neon_builtins): Likewise.
+ * config/mips/mips.c (mips_expand_builtin_compare_1): Likewise.
+ (mips_expand_builtin_direct): Likewise.
+ * config/spu/spu.c (expand_builtin_args): Likewise.
+
+2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * recog.h (insn_data_d): Add n_generator_args.
+ * genoutput.c (data): Likewise.
+ (output_insn_data): Print it.
+ (max_opno, num_dups): Delete.
+ (scan_operands): Just fill in "d->operand[...]".
+ (gen_insn, gen_peephole, gen_expand, gen_split): Use get_pattern_stats.
+
+2011-04-01 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gensupport.h (pattern_stats): New structure.
+ * gensupport.c (get_pattern_stats_1, get_pattern_stats): New functions.
+ * genemit.c (max_opno, max_dupno, max_scratch_opno): Delete.
+ (max_operand_1, max_operand_vec): Delete.
+ (gen_insn, gen_expand, gen_split): Use get_pattern_stats.
+
+2011-03-31 Nathan Froyd <froydnj@codesourcery.com>
+
+ * emit-rtl.c (emit_pattern_after_setloc): New function.
+ (emit_insn_after_setloc, emit_jump_insn_after_setloc): Call it.
+ (emit_call_insn_after_setloc, emit_debug_insn_after_setloc): Likewise.
+ (emit_pattern_after): New function.
+ (emit_insn_after, emit_jump_insn_after): Call it.
+ (emit_call_insn_after, emit_debug_insn_after): Likewise.
+ (emit_pattern_before_setloc): New function.
+ (emit_insn_before_setloc, emit_jump_insn_before_setloc): Call it.
+ (emit_call_insn_before_setloc, emit_debug_insn_before_setloc):
+ Likewise.
+ (emit_pattern_before): New function.
+ (emit_insn_before, emit_jump_insn_before): Call it.
+ (emit_call_insn_before, emit_debug_insn_before): Likewise.
+
+2011-03-31 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (dw_separate_line_info_ref): Remove.
+ (dw_separate_line_info_entry): Remove.
+ (enum dw_line_info_opcode): New.
+ (dw_line_info_entry): Use it.
+ (dw_line_info_table, dw_line_info_table_p): New.
+ (DWARF_LINE_OPCODE_BASE): Include dwarf3 opcodes.
+ (line_info_table, line_info_label_num): Remove.
+ (line_info_table_in_use): Remove.
+ (separate_line_info_table): Remove.
+ (separate_line_info_table_allocated): Remove.
+ (separate_line_info_table_in_use): Remove.
+ (LINE_INFO_TABLE_INCREMENT): Remove.
+ (line_info_label_num): New.
+ (cur_line_info_table): New.
+ (text_section_line_info, cold_text_section_line_info): New.
+ (separate_line_info): New.
+ (SEPARATE_LINE_CODE_LABEL): Remove.
+ (print_dwarf_line_table): Remove.
+ (debug_dwarf): Don't dump it.
+ (output_one_line_info_table): New.
+ (output_line_info): Use it.
+ (new_line_info_table): New.
+ (set_cur_line_info_table): New.
+ (dwarf2out_switch_text_section): Use it.
+ (dwarf2out_begin_function): Likewise.
+ (push_dw_line_info_entry): New.
+ (dwarf2out_source_line): Rewrite for new line info tables.
+ (dwarf2out_init): Remove dead initailizations.
+
+2011-03-31 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.h (cl_option): Add comments to fields. Add bit-fields for
+ various flags.
+ (CL_SEPARATE_NARGS_SHIFT, CL_SEPARATE_NARGS_MASK,
+ CL_SEPARATE_ALIAS, CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE,
+ CL_DISABLED, CL_REPOR, CL_REJECT_NEGATIVE, CL_MISSING_OK,
+ CL_UINTEGER, CL_NEGATIVE_ALIAS): Remove.
+ (CL_JOINED, CL_SEPARATE, CL_UNDOCUMENTED): Update bit positions.
+ * opt-functions.awk (flag_init, switch_bit_fields): New.
+ (switch_flags): Don't handle flags moved to bit-fields. Don't
+ generate CL_MISSING_OK or CL_SAVE.
+ * optc-gen.awk: Update to generate bit-field output as well as
+ flags field.
+ * gcc.c (driver_wrong_lang_callback): Use cl_reject_driver
+ bit-field instead of CL_REJECT_DRIVER flag.
+ * opts-common.c (generate_canonical_option,
+ decode_cmdline_option): Use bit-fields instead of CL_* flags.
+ * opts.c (maybe_default_option): Use cl_reject_negative bit-field
+ instead of CL_REJECT_NEGATIVE flag.
+ * toplev.c (print_switch_values): Use cl_report bit-field instead
+ of CL_REPORT flag.
+
+2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-pre.c (create_component_ref_by_pieces_1) <ARRAY_REF>: Drop
+ a zero minimum index only if it is redundant.
+
+2011-03-31 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48381
+ * ira-color.c (assign_hard_reg): Use hard reg set intersection
+ instead of ira_class_hard_reg_index for calculating conflicting
+ hard registers.
+
+2011-03-31 Steven Bosscher <steven@gcc.gnu.org>
+
+ * cprop.c: Clean up hash table building.
+ (reg_avail_info): Remove.
+ (oprs_available_p): Remove.
+ (record_last_reg_set_info): Remove.
+ (record_last_set_info): Remove.
+ (reg_available_p): New function.
+ (gcse_constant_p): Do not treat unfolded conditions as constants.
+ (make_set_regs_unavailable): New function.
+ (hash_scan_set): Simplify with new reg_available_p.
+ (compute_hash_table_work): Traverse insns stream only once.
+ Do not compute reg_avail_info. Traverse insns in reverse order.
+ Record implicit sets after recording explicit sets from the block.
+
+2011-03-31 Michael Matz <matz@suse.de>
+
+ * builtins.c (build_va_arg_indirect_ref): Use build_simple_mem_ref_loc.
+
+2011-03-31 Anatoly Sokolov <aesok@post.ru>
+
+ * config/h8300/h8300.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove macro.
+ * config/h8300/h8300-protos.h (h8300_get_index): Remove.
+ * config/h8300/h8300.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+ (h8300_mode_dependent_address_p): New function.
+ (h8300_get_index): Make static.
+
+2011-03-31 Jeff Law <law@redhat.com>
+
+ * reload1.c (elimination_effects): Fix typo in recent change.
+
+ * tree-ssa-forwprop.c (forward_propagate_into_cond): Avoid
+ typo potentially leading to null pointer dereference.
+
+ * caller-save.c (new_saved_hard_reg): Eliminate return value.
+ (setup_save_areas): Corresponding changes to avoid useless
+ assignments.
+
+ * jump.c (reversed_comparison_code_parts): Avoid successive return
+ statements when REVERSE_CONDITION is defined.
+
+ * expr.c (expand_assignment): Avoid useless assignments.
+ (expand_expr_real_1): Likewise.
+ (expand_expr_real_2): Avoid useless statements.
+
+ * tree-ssa-phiopt.c (minmax_replacement): Avoid useless statement.
+
+ * cfgexpand.c (expand_gimple_basic_block): Avoid useless assignment.
+
+ * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Avoid useless
+ statements.
+
+ * stmt.c (expand_expr_stmt): Avoid useless assignment.
+
+2011-03-31 Joseph Myers <joseph@codesourcery.com>
+
+ PR target/47109
+ * doc/tm.texi.in (TARGET_VERSION): Remove.
+ * doc/tm.texi: Regenerate.
+ * system.h (TARGET_VERSION, MACHINE_TYPE): Poison.
+ * collect2.c (main): Don't use TARGET_VERSION.
+ * mips-tdump.c (main): Don't use TARGET_VERSION.
+ * mips-tfile.c (main): Don't use TARGET_VERSION.
+ * config.gcc (powerpc-wrs-vxworksae): Don't use rs6000/vxworksae.h.
+ * config/rs6000/vxworksae.h: Remove.
+ * config/alpha/alpha.h (TARGET_VERSION): Remove.
+ * config/alpha/freebsd.h (TARGET_VERSION): Remove.
+ * config/alpha/linux-elf.h (TARGET_VERSION): Remove.
+ * config/alpha/netbsd.h (TARGET_VERSION): Remove.
+ * config/alpha/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
+ * config/arm/arm.h (TARGET_VERSION): Remove.
+ * config/arm/coff.h (TARGET_VERSION): Remove.
+ * config/arm/ecos-elf.h (TARGET_VERSION): Remove.
+ * config/arm/elf.h (TARGET_VERSION): Remove.
+ * config/arm/freebsd.h (TARGET_VERSION): Remove.
+ * config/arm/linux-elf.h (TARGET_VERSION): Remove.
+ * config/arm/netbsd-elf.h (TARGET_VERSION): Remove.
+ * config/arm/pe.h (TARGET_VERSION): Remove.
+ * config/arm/rtems-elf.h (TARGET_VERSION): Remove.
+ * config/arm/semi.h (TARGET_VERSION): Remove.
+ * config/arm/uclinux-elf.h (TARGET_VERSION): Remove.
+ * config/arm/unknown-elf.h (TARGET_VERSION): Remove.
+ * config/arm/vxworks.h (TARGET_VERSION): Remove.
+ * config/avr/avr.h (TARGET_VERSION): Remove.
+ * config/bfin/bfin.h (TARGET_VERSION): Remove.
+ * config/fr30/fr30.h (TARGET_VERSION): Remove.
+ * config/frv/frv.h (TARGET_VERSION): Remove.
+ * config/h8300/h8300.h (TARGET_VERSION): Remove.
+ * config/i386/cygwin.h (TARGET_VERSION): Remove.
+ * config/i386/darwin.h (TARGET_VERSION): Remove.
+ * config/i386/darwin64.h (TARGET_VERSION): Remove.
+ * config/i386/djgpp.h (TARGET_VERSION): Remove.
+ * config/i386/freebsd.h (TARGET_VERSION): Remove.
+ * config/i386/freebsd64.h (TARGET_VERSION): Remove.
+ * config/i386/gnu.h (TARGET_VERSION): Remove.
+ * config/i386/i386-interix.h (TARGET_VERSION): Remove.
+ * config/i386/i386elf.h (TARGET_VERSION): Remove.
+ * config/i386/linux.h (TARGET_VERSION): Remove.
+ * config/i386/linux64.h (TARGET_VERSION): Remove.
+ * config/i386/lynx.h (TARGET_VERSION): Remove.
+ * config/i386/mingw32.h (TARGET_VERSION): Remove.
+ * config/i386/netbsd-elf.h (TARGET_VERSION): Remove.
+ * config/i386/netbsd64.h (TARGET_VERSION): Remove.
+ * config/i386/netware.h (TARGET_VERSION): Remove.
+ * config/i386/nto.h (TARGET_VERSION): Remove.
+ * config/i386/openbsd.h (TARGET_VERSION): Remove.
+ * config/i386/vxworks.h (TARGET_VERSION): Remove.
+ * config/ia64/elf.h (TARGET_VERSION): Remove.
+ * config/ia64/freebsd.h (TARGET_VERSION): Remove.
+ * config/ia64/hpux.h (TARGET_VERSION): Remove.
+ * config/ia64/linux.h (TARGET_VERSION): Remove.
+ * config/ia64/vms.h (TARGET_NAME, TARGET_VERSION): Remove.
+ * config/iq2000/iq2000.h (IQ2000_VERSION, MACHINE_TYPE,
+ TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
+ * config/lm32/lm32.h (TARGET_VERSION): Remove.
+ * config/lm32/uclinux-elf.h (TARGET_VERSION): Remove.
+ * config/m32c/m32c.h (TARGET_VERSION): Remove.
+ * config/m32r/linux.h (LINUX_DEFAULT_ELF, TARGET_VERSION): Remove.
+ * config/m32r/m32r.h (TARGET_VERSION): Remove.
+ * config/m68k/linux.h (TARGET_VERSION): Remove.
+ * config/m68k/m68k.h (TARGET_VERSION): Remove.
+ * config/m68k/netbsd-elf.h (TARGET_VERSION): Remove.
+ * config/m68k/uclinux.h (TARGET_VERSION): Remove.
+ * config/mcore/mcore-elf.h (TARGET_VERSION): Remove.
+ * config/mep/mep.h (TARGET_VERSION): Remove.
+ * config/microblaze/microblaze.h (MICROBLAZE_VERSION,
+ MACHINE_TYPE, TARGET_VERSION_INTERNAL, TARGET_VERSION): Remove.
+ * config/mips/iris6.h (MACHINE_TYPE): Remove.
+ * config/mips/linux.h (TARGET_VERSION): Remove.
+ * config/mips/netbsd.h (MACHINE_TYPE): Remove.
+ * config/mips/vxworks.h (TARGET_VERSION): Remove.
+ * config/mmix/mmix.h (TARGET_VERSION): Remove.
+ * config/mn10300/linux.h (TARGET_VERSION): Remove.
+ * config/mn10300/mn10300.h (TARGET_VERSION): Remove.
+ * config/pa/pa.h (TARGET_VERSION): Remove.
+ * config/pdp11/pdp11.h (TARGET_VERSION): Remove.
+ * config/picochip/picochip.h (TARGET_VERSION): Remove.
+ * config/rs6000/aix.h (TARGET_VERSION): Remove.
+ * config/rs6000/darwin.h (TARGET_VERSION): Remove.
+ * config/rs6000/darwin64.h (TARGET_VERSION): Remove.
+ * config/rs6000/eabi.h (TARGET_VERSION): Remove.
+ * config/rs6000/eabialtivec.h (TARGET_VERSION): Remove.
+ * config/rs6000/eabisim.h (TARGET_VERSION): Remove.
+ * config/rs6000/eabispe.h (TARGET_VERSION): Remove.
+ * config/rs6000/freebsd.h (TARGET_VERSION): Remove.
+ * config/rs6000/linux.h (TARGET_VERSION): Remove.
+ * config/rs6000/linux64.h (TARGET_VERSION): Remove.
+ * config/rs6000/linuxaltivec.h (TARGET_VERSION): Remove.
+ * config/rs6000/linuxspe.h (TARGET_VERSION): Remove.
+ * config/rs6000/lynx.h (TARGET_VERSION): Remove.
+ * config/rs6000/netbsd.h (TARGET_VERSION): Remove.
+ * config/rs6000/sysv4.h (TARGET_VERSION): Remove.
+ * config/rs6000/vxworks.h (TARGET_VERSION): Remove.
+ * config/s390/linux.h (TARGET_VERSION): Remove.
+ * config/s390/s390.h (TARGET_VERSION): Remove.
+ * config/s390/tpf.h (TARGET_VERSION): Remove.
+ * config/score/score.h (TARGET_VERSION): Remove.
+ * config/sh/linux.h (TARGET_VERSION): Remove.
+ * config/sh/netbsd-elf.h (TARGET_VERSION_ENDIAN,
+ TARGET_VERSION_CPU, TARGET_VERSION): Remove.
+ * config/sh/sh.h (TARGET_VERSION): Remove.
+ * config/sh/sh64.h (TARGET_VERSION): Remove.
+ * config/sh/superh.h (TARGET_VERSION): Remove.
+ * config/sh/vxworks.h (TARGET_VERSION): Remove.
+ * config/sparc/freebsd.h (TARGET_VERSION): Remove.
+ * config/sparc/linux.h (TARGET_VERSION): Remove.
+ * config/sparc/linux64.h (TARGET_VERSION): Remove.
+ * config/sparc/netbsd-elf.h (TARGET_VERSION, TARGET_NAME64,
+ TARGET_NAME32, TARGET_NAME): Remove.
+ * config/sparc/openbsd64.h (TARGET_VERSION): Remove.
+ * config/sparc/sp-elf.h (TARGET_VERSION): Remove.
+ * config/sparc/sp64-elf.h (TARGET_VERSION): Remove.
+ * config/sparc/sysv4.h (TARGET_VERSION): Remove.
+ * config/sparc/vxworks.h (TARGET_VERSION): Remove.
+ * config/spu/spu.h (TARGET_VERSION): Remove.
+ * config/stormy16/stormy16.h (TARGET_VERSION): Remove.
+ * config/v850/v850.h (TARGET_VERSION): Remove.
+ * config/vax/linux.h (TARGET_VERSION): Remove.
+ * config/vax/vax.h (TARGET_NAME, TARGET_VERSION): Remove.
+ * config/xtensa/elf.h (TARGET_VERSION): Remove.
+ * config/xtensa/linux.h (TARGET_VERSION): Remove.
+
+2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/48142
+ * config/i386/i386.c (ix86_adjust_stack_and_probe): Differentiate
+ frame-related from frame-unrelated adjustments to the stack pointer.
+
+2011-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ * common.opt (fdebug-types-section): Move earlier.
+ * doc/invoke.texi: Fix up -fno-debug-types-section documentation.
+
+2011-03-31 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/rs6000/rs6000.c (rs6000_handle_option): Remove unused isel
+ var.
+
+2011-03-30 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.h (CASE_CHAIN): Define.
+ * tree-cfg.c (edge_to_cases_cleanup, get_cases_for_edge): Use it.
+ (gimple_redirect_edge_and_branch): Likewise.
+
+2011-03-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/48367
+ * ira-costs.c (find_costs_and_classes): Fix a typo in i_mem_cost
+ calculation.
+
+2011-03-30 Jeff Law <law@redhat.com>
+
+ * PR bootstrap/48371
+ * reload1.c (reload): Fix botch in last change.
+
+ * reload.h (struct reload): Fix typo introduced in last change.
+
+2011-03-30 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/arm.opt (mhard-float, msoft-float): Mark
+ Undocumented. Remove help text.
+ * doc/invoke.texi (ARM Options): Don't document -msoft-float and
+ -mhard-float.
+
+2011-03-30 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/options.texi (NegativeAlias): Document.
+ (Alias): Mention NegativeAlias.
+ * opt-functions.awk: Handle NegativeAlias.
+ * optc-gen.awk: Disallow NegativeAlias with multiple Alias arguments.
+ * opts-common.c (decode_cmdline_option): Handle CL_NEGATIVE_ALIAS.
+ * opts.h (CL_NEGATIVE_ALIAS): Define.
+ * config/rs6000/rs6000.c (rs6000_parse_yes_no_option): Remove.
+ (rs6000_handle_option): Don't handle OPT_mvrsave_, OPT_misel_ and
+ OPT_mspe_.
+ * config/rs6000/rs6000.opt (mvrsave=, misel=, mspe=): Replace with
+ Alias entries.
+ * config/rs6000/t-spe (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
+ mno-spe and mno-isel instead of mspe=no and -misel=no.
+
+2011-03-29 Mark Wielaard <mjw@redhat.com>
+
+ * common.opt (fdebug-types-section): New flag.
+ * doc/invoke.texi: Document new -fno-debug-types-section flag.
+ * dwarf2out.c (use_debug_types): New define.
+ (struct die_struct): Mark die_id with GTY desc use_debug_types.
+ (print_die): Guard output of type unit signatures using
+ use_debug_types.
+ (build_abbrev_table): Replace assert of dwarf_version >= 4
+ with assert on use_debug_types.
+ (size_of_die): Likewise.
+ (unmark_dies): Likewise.
+ (value_format): Decide AT_ref_external form on use_debug_types.
+ (output_die): Replace dwarf_version version check guard with
+ use_debug_types where appropriate.
+ (modified_type_die): Likewise.
+ (gen_reference_type_die): Likewise.
+ (dwarf2out_start_source_file): Likewise.
+ (dwarf2out_end_source_file): Likewise.
+ (prune_unused_types_walk_attribs): Likewise.
+ (dwarf2out_finish): Likewise.
+
+2011-03-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (ira_assign_hard_reg): Use only one variable 'mode'.
+
+2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/48332
+ * optabs.c (expand_binop_directly): Set xmodeN to the target-mandated
+ mode of input operand N and modeN to its actual mode.
+
+2011-03-30 Jeff Law <law@redhat.com>
+
+ * reload.h (reg_equiv_constant): Move into new structure reg_equivs,
+ define accessor macro.
+ (reg_equiv_invariant, reg_equiv_memory_loc): Likewise.
+ (reg_equiv_address, reg_equiv_mem, reg_equiv_alt_mem_list): Likewise.
+ (reg_equiv_init): Likewise.
+ (reg_equivs_size): New variable.
+ (reg_equiv_init_size): Remove.
+ (allocate_initial_values): Move prototype to here from....
+ * integrate.h (allocate_initial_values): Remove prototype.
+ * integrate.c: Include reload.h.
+ (allocate_initial_values): Corresponding changes.
+ * ira.c (find_reg_equiv_invariant_cost): Corresponding changes.
+ (fix_reg_equiv_init, no_equiv): Corresponding changes.
+ (update_equiv_regs): Corresponding changes.
+ (ira): Corresponding changes.
+ * reload.c (push_reg_equiv_alt_mem): Corresponding changes.
+ (push_secondary_reload): Corresponding changes.
+ (push_reload, find_reloads, find_reloads_toplev): Corresponding changes.
+ (make_memloc, find_reloads_address): Corresponding changes.
+ (subst_reg_equivs, subst_indexed_address): Corresponding changes.
+ (find_reloads_address_1): Corresponding changes.
+ (find_reloads_subreg_address, subst_reloads): Corresponding changes.
+ (refers_to_regno_for_reload_p): Corresponding changes.
+ (reg_overlap_mentioned_for_reload_p): Corresponding changes.
+ (refers_to_mem_for_reload_p, find_equiv_reg): Corresponding changes.
+ * reload1.c: Include ggc.h.
+ (grow_reg_equivs): New function.
+ (replace_pseudos_in, reload): Corresponding changes.
+ (calculate_needs_all_insns, alter_regs): Corresponding changes.
+ (eliminate_regs_1, elimination_effects): Corresponding changes.
+ (emit_input_reload_insns, emit_output_reload_insns): Likewise.
+ (delete_output_reload): Likewise.
+ * caller-save.c (mark_referenced_regs): Corresponding changes.
+ * alpha/alpha.c (resolve_reload_operand): Corresponding changes.
+ * frv/predicates.md (frv_load_operand): Corresponding changes.
+ * microblaze/microblaze.c (double_memory_operand): Corresponding
+ changes.
+ * avr/avr.h (LEGITIMIZE_RELOAD_ADDRESS): Corresponding changes.
+ * xtensa/xtensa.c (fixup_subreg_mem): Corresponding changes.
+ * mn10300/mn10300.c (mn10300_secondary_reload): Corresponding changes.
+ * m68k/m68k.c (emit_move_sequence): Corresponding changes.
+ * arm/arm.c (arm_reload_in_hi, arm_reload_out_hi): Corresponding
+ changes.
+ * pa/pa.c (emit_move_sequence): Corresponding changes.
+ * vax/vax.c (nonindexed_address_p): Corresponding changes.
+
+2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/47551
+ * config/arm/arm.c (coproc_secondary_reload_class): Handle
+ structure modes. Don't check neon_vector_mem_operand for
+ vector or structure modes.
+
+2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
+ Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/43590
+ * config/arm/neon.md (neon_vld3qa<mode>, neon_vld4qa<mode>): Remove
+ operand 1 and reshuffle the operands to match.
+ (neon_vld3<mode>, neon_vld4<mode>): Update accordingly.
+
+2011-03-30 Christian Schüler <cschueler@gmx.de>
+
+ PR driver/48208
+ * config/c.opt (F): Added 'Driver' to -F option.
+
+ PR driver/48260
+ * config/darwin-driver.c (darwin_driver_init): Add '-arch' to
+ handler function.
+ * config/darwin.opt: Added '-arch' option.
+
+2011-03-30 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md: Add peepholes and patterns to combine
+ extending loads and simple arithmetic instructions.
+ * config/rx/rx.h (ADJUST_INSN_LENGTH): Define.
+ * config/rx/rx-protos.h (rx_adjust_insn_length): Prototype.
+ * config/rx/rx.c (rx_is_legitimate_address): Allow QI and HI
+ modes to use pre-decrement and post-increment addressing.
+ (rx_is_restricted_memory_address): Add range checking of REG+INT
+ addresses.
+ (rx_print_operand): Add support for %Q. Fix handling of %Q.
+ (rx_memory_move_cost): Adjust cost of stores.
+ (rx_adjust_insn_length): New function.
+
+2011-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48305
+ * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
+ arg10/arg11 in (X ^ Y) == (Z ^ W) are always fold converted to
+ matching arg00/arg01 types.
+
+2011-03-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfglayout.c (insn_locators_alloc): Initialize curr_location and
+ last_location to UNKNOWN_LOCATION.
+
+2011-03-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/48349
+ * config/i386/i386.h (REG_CLASS_CONTENTS): Fix a typo in
+ FLOAT_SSE_REGS.
+
+2011-03-30 Joseph Myers <joseph@codesourcery.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/48337
+ * config/sparc/sparc.opt (sparc_cpu_and_features): Add
+ Init(PROCESSOR_V7).
+ (sparc_cpu): Likewise.
+ * config/sparc/sparc.c (sparc_option_override): Replace 0 by
+ PROCESSOR_V7.
+
+2011-03-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/48336
+ PR middle-end/48342
+ PR rtl-optimization/48345
+ * ira-color.c (setup_conflict_profitable_regs): Exclude prohibited
+ hard regs for given mode from profitable regs when doing secondary
+ allocation.
+
+2011-03-29 Jeff Law <law@redhat.com>
+
+ PR bootstrap/48327
+ * tree-ssa-threadupdate.c (struct redirection_data): Remove
+ do_not_duplicate field.
+ (lookup_redirection_data): Corresponding changes.
+ (create_duplicates): Always create a template block.
+ (redirect_edges): Remove code which reused the original block
+ when it was going to become unreachable code.
+ (thread_block): Don't set do_not_duplicate field.
+
+2011-03-29 Joseph Myers <joseph@codesourcery.com>
+
+ * lto-opts.c (register_user_option_p, lto_register_user_option):
+ Make type argument unsigned.
+ * lto-streamer.h (lto_register_user_option): Make type argument
+ unsigned.
+ * opth-gen.awk: Make CL_* macros unsigned.
+ * opts-common.c (find_opt): Make lang_mask argument unsigned.
+ * opts.h (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_DRIVER,
+ CL_TARGET, CL_COMMON, CL_SEPARATE_NARGS_MASK, CL_SEPARATE_ALIAS,
+ CL_NO_DRIVER_ARG, CL_REJECT_DRIVER, CL_SAVE, CL_DISABLED,
+ CL_REPORT, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE,
+ CL_MISSING_OK, CL_UINTEGER, CL_UNDOCUMENTED): Make unsigned.
+ (find_opt): Make lang_mask argument unsigned.
+
+2011-03-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48331
+ PR rtl-optimization/48334
+ * ira-color.c (color_allocnos): Call setup_profitable_hard_regs
+ for any used algorithm.
+
+2011-03-29 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-conflicts.c (build_object_conflicts): Add unused attribute
+ to parent_max.
+
+2011-03-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.c (alpha_sr_alias_set): Don't define.
+ (alpha_option_override): Don't set alpha_sr_alias_set.
+ (emit_frame_store_1): Use gen_frame_mem rather than calling
+ set_mem_alias_set.
+ (alpha_expand_epilogue): Ditto.
+
+2011-03-29 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/48290
+ * tree-vect-loop.c (vect_analyze_loop_operations): In outer loop
+ vectorization, check that relevant phis in the basic block after
+ the inner loop are really inner loop's exit phis.
+
+2011-03-29 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR debug/48190
+ * dwarf2out.c (dw_loc_list_node): Add resolved_addr and replaced.
+ (cached_dw_loc_list_def): New structure.
+ (cached_dw_loc_list): New typedef.
+ (cached_dw_loc_list_table): New variable.
+ (cached_dw_loc_list_table_hash): New function.
+ (cached_dw_loc_list_table_eq): Likewise.
+ (add_location_or_const_value_attribute): Take a bool cache_p.
+ Cache the list when the parameter is true.
+ (gen_formal_parameter_die): Update caller.
+ (gen_variable_die): Likewise.
+ (dwarf2out_finish): Likewise.
+ (dwarf2out_abstract_function): Nullify cached_dw_loc_list_table
+ while generating debug info for the decl.
+ (dwarf2out_function_decl): Clear cached_dw_loc_list_table.
+ (dwarf2out_init): Initialize cached_dw_loc_list_table.
+ (resolve_addr): Cache the result of resolving a chain of
+ location lists.
+
+2011-03-28 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-color.c (update_left_conflict_sizes_p): Don't assume that
+ conflict object hard regset nodes have intersecting hard reg sets.
+
+ * regmove.c (regmove_optimize): Move ira_set_pseudo_classes call
+ after regstat_init_n_sets_and_refs.
+
+ * ira.c: Add more comments at the top.
+ (setup_stack_reg_pressure_class, setup_pressure_classes):
+ Add comments how we compute the register pressure classes.
+ (setup_allocno_and_important_classes): Add more comments.
+ (setup_class_translate_array, reorder_important_classes)
+ (setup_reg_class_relations): Add comments.
+
+ * ira-emit.c: Add 2011 to the Copyright line. Add comments at the
+ start of the file.
+
+ * ira-color.c: Add 2011 to the Copyright line.
+ (assign_hard_reg): Add more comments.
+ (improve_allocation): Ditto.
+
+ * ira-costs.c: Add 2011 to the Copyright line.
+ (setup_cost_classes, setup_regno_cost_classes_by_aclass): Add more
+ comments.
+ (setup_regno_cost_classes_by_mode): Ditto.
+
+ Initial patches from ira-improv branch:
+
+ 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-build.c (ira_create_object): Remove initialization of
+ OBJECT_PROFITABLE_HARD_REGS. Initialize OBJECT_ADD_DATA.
+ (ira_create_allocno): Remove initialization of
+ ALLOCNO_MEM_OPTIMIZED_DEST, ALLOCNO_MEM_OPTIMIZED_DEST_P,
+ ALLOCNO_SOMEWHERE_RENAMED_P, ALLOCNO_CHILD_RENAMED_P,
+ ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
+ ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO,
+ ALLOCNO_FIRST_COALESCED_ALLOCNO, ALLOCNO_NEXT_COALESCED_ALLOCNO.
+ Initialize ALLOCNO_ADD_DATA.
+ (copy_info_to_removed_store_destinations): Use ALLOCNO_EMIT_DATA
+ and allocno_emit_reg instead of ALLOCNO_MEM_OPTIMIZED_DEST_P and
+ ALLOCNO_REG.
+ (ira_flattening): Ditto. Use ALLOCNO_EMIT_DATA instead of
+ ALLOCNO_MEM_OPTIMIZED_DEST and ALLOCNO_SOMEWHERE_RENAMED_P.
+
+ * ira.c (ira_reallocate): Remove.
+ (setup_pressure_classes): Call
+ ira_init_register_move_cost_if_necessary. Use
+ ira_register_move_cost instead of ira_get_register_move_cost.
+ (setup_allocno_assignment_flags): Use ALLOCNO_EMIT_DATA.
+ (ira): Call ira_initiate_emit_data and ira_finish_emit_data.
+
+ * ira-color.c: Use ALLOCNO_COLOR_DATA instead of
+ ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P, ALLOCNO_COLORABLE_P,
+ ALLOCNO_AVAILABLE_REGS_NUM, ALLOCNO_NEXT_BUCKET_ALLOCNO,
+ ALLOCNO_PREV_BUCKET_ALLOCNO. ALLOCNO_TEMP. Use OBJECT_COLOR_DATA
+ instead of OBJECT_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE,
+ OBJECT_HARD_REGS_SUBNODES_START, OBJECT_HARD_REGS_SUBNODES_NUM.
+ Fix formatting.
+ (object_hard_regs_t, object_hard_regs_node_t): Move from ira-int.h.
+ (struct object_hard_regs, struct object_hard_regs_node): Ditto.
+ (struct allocno_color_data): New.
+ (allocno_color_data_t): New typedef.
+ (allocno_color_data): New definition.
+ (ALLOCNO_COLOR_DATA): New macro.
+ (struct object_color_data): New.
+ (object_color_data_t): New typedef.
+ (object_color_data): New definition.
+ (OBJECT_COLOR_DATA): New macro.
+ (update_copy_costs, calculate_allocno_spill_cost): Call
+ ira_init_register_move_cost_if_necessary. Use
+ ira_register_move_cost instead of ira_get_register_move_cost.
+ (move_spill_restore, update_curr_costs): Ditto.
+ (allocno_spill_priority): Make it inline.
+ (color_pass): Allocate and free allocno_color_dat and object_color_data.
+ (struct coalesce_data, coalesce_data_t): New.
+ (allocno_coalesce_data): New definition.
+ (ALLOCNO_COALESCE_DATA): New macro.
+ (merge_allocnos, coalesced_allocno_conflict_p): Use
+ ALLOCNO_COALESCED_DATA instead of ALLOCNO_FIRST_COALESCED_ALLOCNO,
+ ALLOCNO_NEXT_COALESCED_ALLOCNO, ALLOCNO_TEMP.
+ (coalesce_allocnos): Ditto.
+ (setup_coalesced_allocno_costs_and_nums): Ditto.
+ (collect_spilled_coalesced_allocnos): Ditto.
+ (slot_coalesced_allocno_live_ranges_intersect_p): Ditto.
+ (setup_slot_coalesced_allocno_live_ranges): Ditto.
+ (coalesce_spill_slots): Ditto.
+ (ira_sort_regnos_for_alter_reg): Ditto. Allocate, initialize and
+ free allocno_coalesce_data.
+
+ * ira-conflicts.c: Fix formatting.
+ (process_regs_for_copy): Call
+ ira_init_register_move_cost_if_necessary. Use
+ ira_register_move_cost instead of ira_get_register_move_cost.
+ (build_object_conflicts): Optimize.
+
+ * ira-costs.c (record_reg_classes): Optimize. Call
+ ira_init_register_move_cost_if_necessary. Use
+ ira_register_move_cost, ira_may_move_in_cost, and
+ ira_may_move_out_cost instead of ira_get_register_move_cost and
+ ira_get_may_move_cost.
+ (record_address_regs): Ditto.
+ (scan_one_insn): Optimize.
+ (find_costs_and_classes): Optimize.
+ (process_bb_node_for_hard_reg_moves): Call
+ ira_init_register_move_cost_if_necessary. Use
+ ira_register_move_cost instead of ira_get_register_move_cost.
+
+ * ira-emit.c: Use allocno_emit_reg, ALLOCNO_EMIT_DATA instead of
+ ALLOCNO_REG, ALLOCNO_CHILD_RENAMED_P, ALLOCNO_MEM_OPTIMIZED_DEST,
+ ALLOCNO_MEM_OPTIMIZED_DEST_P, and ALLOCNO_SOMEWHERE_RENAMED_P.
+ (ira_allocno_emit_data, void_p, new_allocno_emit_data_vec): New
+ definitions.
+ (ira_initiate_emit_data, ira_finish_emit_data)
+ (create_new_allocno): New functions.
+ (modify_move_list): Call create_new_alloc instead of ira_create_allocno.
+ (emit_move_list): Call ira_init_register_move_cost_if_necessary.
+ Use ira_register_move_cost instead of ira_get_register_move_cost.
+
+ * ira-int.h: Fix some comments.
+ (object_hard_regs_t, object_hard_regs_node_t): Move to ira-color.c.
+ (struct object_hard_regs, struct object_hard_regs_node): Ditto.
+ (struct ira_object): Remove profitable_hard_regs, hard_regs_node,
+ hard_regs_subnodes_start, hard_regs_subnodes_num. Add new member
+ add_data.
+ (struct ira_allocno): Make mode and aclass a bitfield. Move other
+ bitfield after mode. Make hard_regno a short int. Make
+ hard_regno short. Remove first_coalesced_allocno and
+ next_coalesced_allocno. Move mem_optimized_dest_p,
+ somewhere_renamed_p, child_renamed_p, reg, and mem_optimized_dest
+ into struct ira_emit_data. Remove in_graph_p, may_be_spilled_p,
+ available_regs_num, next_bucket_allocno, prev_bucket_allocno,
+ temp, colorable_p. Add new member add_data.
+ (ALLOCNO_IN_GRAPH_P, ALLOCNO_MAY_BE_SPILLED_P): Remove.
+ (ALLOCNO_COLORABLE_P, ALLOCNO_AVAILABLE_REGS_NUM): Remove.
+ (ALLOCNO_NEXT_BUCKET_ALLOCNO, ALLOCNO_PREV_BUCKET_ALLOCNO): Remove.
+ (ALLOCNO_TEMP, ALLOCNO_FIRST_COALESCED_ALLOCNO): Remove.
+ (ALLOCNO_NEXT_COALESCED_ALLOCNO): Remove.
+ (ALLOCNO_ADD_DATA): New macro.
+ (ira_emit_data_t): New typedef.
+ (struct ira_emit_data): New. Move mem_optimized_dest_p,
+ somewhere_renamed_p, child_renamed_p, reg, mem_optimized_dest
+ from struct ira_allocno.
+ (ALLOCNO_EMIT_DATA): New macro.
+ (ira_allocno_emit_data, allocno_emit_reg): New.
+ (ALLOCNO_PROFITABLE_HARD_REGS, OBJECT_HARD_REGS_NODE): Remove.
+ (OBJECT_HARD_REGS_SUBNODES_STAR, OBJECT_HARD_REGS_SUBNODES_NUM): Remove.
+ (OBJECT_ADD_DATA): New macro.
+ (ira_reallocate): Remove.
+ (ira_initiate_emit_data, ira_finish_emit_data): New.
+ (ira_get_register_move_cost, ira_get_may_move_cost): Remove.
+ (ira_init_register_move_cost_if_necessary): New.
+ (ira_object_conflict_iter_next): Merge into
+ ira_object_conflict_iter_cond.
+ (FOR_EACH_OBJECT_CONFLICT): Don't use ira_object_conflict_iter_next.
+
+ * ira-live.c (process_single_reg_class_operands): Call
+ ira_init_register_move_cost_if_necessary. Use
+ ira_register_move_cost instead of ira_get_register_move_cost.
+
+ 2010-08-13 Vladimir Makarov <vmakarov@redhat.com>
+
+ * ira-int.h (struct target_ira_int): Remove x_cost_classes.
+
+ * ira-costs.c: Fix formatting.
+ (cost_classes, cost_classes_num): Remove.
+ (struct cost_classes, cost_classes_t, const_cost_classes_t): New.
+ (regno_cost_classes, cost_classes_hash, cost_classes_eq): New.
+ (cost_classes_del, cost_classes_htab): New.
+ (cost_classes_aclass_cache, cost_classes_mode_cache): New.
+ (initiate_regno_cost_classes, setup_cost_classes): New.
+ (setup_regno_cost_classes_by_aclass): New.
+ (setup_regno_cost_classes_by_mode, finish_regno_cost_classes): New.
+ (record_reg_classes): Use regno_cost_classes instead of
+ cost_classes. Move checking opposite operand up.
+ (record_address_regs): Use regno_cost_classes
+ instead of cost_classes.
+ (scan_one_insn): Ditto. Use always general register.
+ (print_allocno_costs): Use regno_cost_classes instead of
+ cost_classes.
+ (print_pseudo_costs): Ditto. Use Reg_N_REFS.
+ (find_costs_and_classes): Set up cost classes for each registers.
+ Use also their mode for this. Use regno_cost_classes instead of
+ cost_classes.
+ (setup_allocno_class_and_costs): Use regno_cost_classes instead of
+ cost_classes.
+ (free_ira_costs, ira_init_costs): Don't use cost_classes.
+ (ira_costs, ira_set_pseudo_classes): Call
+ initiate_regno_cost_classes and finish_regno_cost_classes.
+
+ 2010-10-04 Vladimir Makarov <vmakarov@redhat.com>
+
+ * target-def.h (TARGET_IRA_COVER_CLASSES): Remove.
+
+ * target.def (ira_cover_classes): Remove.
+
+ * doc/tm.texi: Remove TARGET_IRA_COVER_CLASSES and IRA_COVER_CLASSES.
+
+ * doc/tm.texi.in: Ditto.
+
+ * ira-conflicts.c: Remove mentioning cover classes from the file.
+ Use ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Use
+ ALLOCNO_COVER_CLASS_COST instead of ALLOCNO_CLASS_COST. Fix formatting.
+
+ * targhooks.c (default_ira_cover_classes): Remove.
+
+ * targhooks.h (default_ira_cover_classes): Ditto.
+
+ * haifa-sched.c: Remove mentioning cover classes from the file.
+ Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
+ ira_pressure_classes and ira_pressure_classes_num instead of
+ ira_reg_class_cover_size and ira_reg_class_cover. Use
+ sched_regno_pressure_class instead of sched_regno_cover_class.
+ (mark_regno_birth_or_death, setup_insn_reg_pressure_info): Use
+ ira_reg_class_max_nregs instead of ira_reg_class_nregs.
+
+ * ira-int.h: Add 2010 to Copyright. Remove mentioning cover
+ classes from the file.
+ (object_hard_regs_t, object_hard_regs_node_t): New typedefs.
+ (struct object_hard_regs, struct object_hard_regs_node): New.
+ (struct ira_object): New members profitable_hard_regs,
+ hard_regs_node, hard_regs_subnodes_start, hard_regs_subnodes_num.
+ (struct ira_allocno): Rename cover_class to aclass. Rename
+ cover_class_cost and updated_cover_class_cost to class_cost and
+ updated_class_cost. Remove splay_removed_p and
+ left_conflict_size. Add new members colorable_p.
+ (ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICTS_SIZE): Remove.
+ (ALLOCNO_COLORABLE_P): New macro.
+ (ALLOCNO_COVER_CLASS): Rename to ALLOCNO_CLASS.
+ (ALLOCNO_COVER_CLASS_COST, ALLOCNO_UPDATED_COVER_CLASS_COST):
+ Rename to ALLOCNO_CLASS_COST and ALLOCNO_UPDATED__CLASS_COST.
+ (OBJECT_...): Rename parameter C to O.
+ (OBJECT_PROFITABLE_HARD_REGS): New macro.
+ (OBJECT_HARD_REGS_NODE, OBJECT_HARD_REGS_SUBNODES_START)
+ (OBJECT_HARD_REGS_SUBNODES_NUM): New macros.
+ (struct target_ira_int): New members x_ira_max_memory_move_cost,
+ x_ira_max_register_move_cost, x_ira_max_may_move_in_cost,
+ x_ira_max_may_move_out_cost, x_ira_reg_allocno_class_p,
+ x_ira_reg_pressure_class_p, x_ira_important_class_nums,
+ x_ira_reg_class_superunion. Rename x_prohibited_class_mode_reg to
+ x_ira_prohibited_class_mode_reg. Rename x_ira_reg_class_union to
+ x_ira_reg_class_subunion.
+ (ira_max_memory_move_cost, ira_max_register_move_cost)
+ (ira_max_may_move_in_cost, ira_max_may_move_out_cost)
+ (ira_reg_allocno_class_p, ira_reg_pressure_class_p)
+ (ira_important_class_nums, ira_reg_class_superunion): New macros.
+ (prohibited_class_mode_regs): Rename to ira_prohibited_class_mode_regs.
+ (ira_reg_class_union): Rename to ira_reg_class_subunion.
+ (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
+ (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
+ (ira_tune_allocno_costs_and_cover_classes): Rename to
+ ira_tune_allocno_costs.
+ (ira_debug_hard_regs_forest): New.
+ (ira_object_conflict_iter_init, ira_object_conflict_iter_cond)
+ (ira_object_conflict_iter_next): Fix comments.
+ (ira_hard_reg_set_intersection_p, hard_reg_set_size): New functions.
+ (ira_allocate_and_set_costs, ira_allocate_and_copy_costs): Rename
+ cover_class to aclass.
+ (ira_allocate_and_accumulate_costs): Ditto.
+ (ira_allocate_and_set_or_copy_costs): Ditto.
+
+ * opts.c (decode_options): Remove ira_cover_class check.
+
+ * ira-color.c: Remove mentioning cover classes from the file. Use
+ ALLOCNO_CLASS, ALLOCNO_CLASS_COST, and ALLOCNO_UPDATED_CLASS_COST
+ instead of ALLOCNO_COVER_CLASS, ALLOCNO_COVER_CLASS_COST, and
+ ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
+ (splay-tree.h): Remove include.
+ (allocno_coalesced_p, processed_coalesced_allocno_bitmap): Move
+ before copy_freq_compare_func.
+ (allocnos_for_spilling, removed_splay_allocno_vec): Remove.
+ (object_hard_regs_vec, object_hard_regs_htab, node_check_tick):
+ New definitions.
+ (hard_regs_roots, hard_regs_node_vec): Ditto.
+ (object_hard_regs_hash, object_hard_regs_eq, find_hard_regs): Ditto.
+ (insert_hard_regs, init_object_hard_regs, add_object_hard_regs): Ditto.
+ (finish_object_hard_regs, object_hard_regs_compare): Ditto.
+ (create_new_object_hard_regs_node): Ditto.
+ (add_new_object_hard_regs_node_to_forest): Ditto.
+ (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): Ditto.
+ (setup_object_hard_regs_nodes_parent, first_common_ancestor_node):
+ Ditto.
+ (print_hard_reg_set, print_hard_regs_subforest): Ditto.
+ (print_hard_regs_forest, ira_debug_hard_regs_forest): Ditto.
+ (remove_unused_object_hard_regs_nodes): Ditto.
+ (enumerate_object_hard_regs_nodes): Ditto.
+ (object_hard_regs_nodes_num, object_hard_regs_nodes): Ditto.
+ (object_hard_regs_subnode_t): Ditto.
+ (struct object_hard_regs_subnode): Ditto.
+ (object_hard_regs_subnodes, object_hard_regs_subnode_index): Ditto.
+ (setup_object_hard_regs_subnode_index): Ditto.
+ (get_object_hard_regs_subnodes_num): Ditto.
+ (form_object_hard_regs_nodes_forest): Ditto.
+ (finish_object_hard_regs_nodes_tree): Ditto.
+ (finish_object_hard_regs_nodes_forest): Ditto.
+ (allocnos_have_intersected_live_ranges_p): Rename to
+ allocnos_conflict_by_live_ranges_p. Move before copy_freq_compare_func.
+ (pseudos_have_intersected_live_ranges_p): Rename to
+ conflict_by_live_ranges_p. Move before copy_freq_compare_func.
+ (setup_left_conflict_sizes_p, update_left_conflict_sizes_p): Ditto.
+ (empty_profitable_hard_regs, setup_profitable_hard_regs): Ditto.
+ (update_copy_costs): Remove assert. Skip cost update if the hard
+ reg does not belong the class.
+ (assign_hard_reg): Process only profitable hard regs.
+ (uncolorable_allocnos_num): Make it scalar.
+ (allocno_spill_priority): Use ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
+ and ira_reg_class_max_nregs instead of ALLOCNO_LEFT_CONFLICTS_SIZE
+ and ira_reg_class_max_nregs.
+ (bucket_allocno_compare_func): Check frequency first.
+ (sort_bucket): Add compare function as a parameter.
+ (add_allocno_to_ordered_bucket): Assume no coalesced allocnos.
+ (uncolorable_allocnos_splay_tree, USE_SPLAY_P): Remove.
+ (push_allocno_to_stack): Rewrite for checking new allocno
+ colorability.
+ (remove_allocno_from_bucket_and_push): Print cost too. Remove assert.
+ (push_only_colorable): Pass new parameter to sort_bucket.
+ (push_allocno_to_spill): Remove.
+ (allocno_spill_priority_compare): Make it inline and rewrite.
+ (splay_tree_allocate, splay_tree_free): Remove.
+ (allocno_spill_sort_compare): New function.
+ (push_allocnos_to_stack): Sort allocnos for spilling once. Don't
+ build and use splay tree. Choose first allocno in uncolorable
+ allocno bucket to spill. Remove setting spill cost.
+ (all_conflicting_hard_regs): Remove.
+ (setup_allocno_available_regs_num): Check only profitable hard
+ regs. Print info about hard regs nodes.
+ (setup_allocno_left_conflicts_size): Remove.
+ (put_allocno_into_bucket): Don't call
+ setup_allocno_left_conflicts_size. Use setup_left_conflict_sizes_p.
+ (improve_allocation): New.
+ (color_allocnos): Call setup_profitable_hard_regs,
+ form_object_hard_regs_nodes_forest, improve_allocation,
+ finish_object_hard_regs_nodes_forest. Setup spill cost.
+ (print_loop_title): Use pressure classes.
+ (color_allocnso): Ditto.
+ (do_coloring): Remove allocation and freeing splay_tree_node_pool
+ and allocnos_for_spilling.
+ (ira_sort_regnos_for_alter_reg): Don't setup members
+ {first,next}_coalesced_allocno.
+ (color): Remove allocating and freeing removed_splay_allocno_vec.
+ (fast_allocation): Use ira_prohibited_class_mode_regs instead of
+ prohibited_class_mode_regs.
+
+ * ira-lives.c: Remove mentioning cover classes from the file. Fix
+ formatting.
+ (update_allocno_pressure_excess_length): Use pressure classes.
+ (inc_register_pressure, dec_register_pressure): Check for pressure
+ class.
+ (mark_pseudo_regno_live, mark_pseudo_regno_subword_live): Use
+ pressure class. Use ira_reg_class_nregs instead of
+ ira_reg_class_max_nregs.
+ (mark_pseudo_regno_dead, mark_pseudo_regno_subword_dead): Ditto.
+ (mark_hard_reg_live, mark_hard_reg_dead): Use pressure class.
+ (single_reg_class): Use ira_reg_class_nregs instead of
+ ira_reg_class_max_nregs.
+ (process_bb_node_lives): Use pressure classes.
+
+ * ira-emit.c: Remove mentioning cover classes from the file. Use
+ ALLOCNO_CLASS instead of ALLOCNO_COVER_CLASS. Fix formatting.
+ (change_loop): Use pressure classes.
+ (modify_move_list): Call ira_set_allocno_class instead of
+ ira_set_allocno_cover_class.
+
+ * ira-build.c: Remove mentioning cover classes from the file. Use
+ ALLOCNO_CLASS and ALLOCNO_CLASS_COST instead of
+ ALLOCNO_COVER_CLASS and ALLOCNO_COVER_CLASS_COST. Use
+ ALLOCNO_UPDATED_CLASS_COST instead of
+ ALLOCNO_UPDATED_COVER_CLASS_COST. Fix formatting.
+ (ira_create_object): Initiate OBJECT_PROFITABLE_HARD_REGS.
+ (ira_create_allocno): Remove initialization of
+ ALLOCNO_SPLAY_REMOVED_P, ALLOCNO_LEFT_CONFLICT_SIZE. Initialize
+ ALLOCNO_COLORABLE_P.
+ (ira_set_allocno_cover_class): Rename to ira_set_allocno_class.
+ Update conflict regs for the objects.
+ (create_cap_allocno): Remove assert. Don't propagate
+ ALLOCNO_AVAILABLE_REGS_NUM.
+ (ira_free_allocno_costs): New function.
+ (finish_allocno): Change a part of code into call of
+ ira_free_allocno_costs.
+ (low_pressure_loop_node_p): Use pressure classes.
+ (object_range_compare_func): Don't compare classes.
+ (setup_min_max_conflict_allocno_ids): Ditto.
+
+ * loop-invariant.c: Remove mentioning cover classes from the file.
+ Use ira_pressure_classes and ira_pressure_classes_num instead of
+ ira_reg_class_cover_size and ira_reg_class_cover. Fix formatting.
+ (get_cover_class_and_nregs): Rename to get_cover_pressure_and_nregs.
+ Use ira_reg_class_max_nregs instead of ira_reg_class_nregs.
+ Use reg_allocno_class instead of reg_cover_class.
+ (get_inv_cost): Use instead ira_stack_reg_pressure_class of
+ STACK_REG_COVER_CLASS.
+ (get_regno_cover_class): Rename to get_regno_pressure_class.
+ (move_loop_invariants): Initialize and finalize regstat.
+
+ * ira.c: Remove mentioning cover classes from the file. Add
+ comments about coloring without cover classes. Use ALLOCNO_CLASS
+ instead of ALLOCNO_COVER_CLASS. Fix formatting.
+ (alloc_reg_class_subclasses, setup_reg_subclasses): Move it before
+ setup_class_subset_and_memory_move_costs.
+ (setup_stack_reg_pressure_class, setup_pressure_classes): New.
+ (setup_cover_and_important_classes): Rename to
+ setup_allocno_and_important_classes.
+ (setup_class_translate_array): New.
+ (setup_class_translate): Call it for allocno and pressure classes.
+ (cover_class_order): Rename to allocno_class_order.
+ (comp_reg_classes_func): Use ira_allocno_class_translate instead
+ of ira_class_translate.
+ (reorder_important_classes): Set up ira_important_class_nums.
+ (setup_reg_class_relations): Set up ira_reg_class_superunion.
+ (print_class_cover): Rename to print_classes. Add parameter.
+ (ira_debug_class_cover): Rename to ira_debug_allocno_classes.
+ Print pressure classes too.
+ (find_reg_class_closure): Rename to find_reg_classes. Don't call
+ setup_reg_subclasses.
+ (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
+ (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
+ (setup_prohibited_class_mode_regs): Use
+ ira_prohibited_class_mode_regs instead of prohibited_class_mode_regs.
+ (clarify_prohibited_class_mode_regs): New function.
+ (ira_init_register_move_cost): Set up ira_max_register_move_cost,
+ ira_max_may_move_in_cost, and ira_max_may_move_out_cost.
+ (ira_init_once): Initialize them.
+ (free_register_move_costs): Process them.
+ (ira_init): Move calls of find_reg_classes and
+ setup_hard_regno_aclass after setup_prohibited_class_mode_regs.
+ Call clarify_prohibited_class_mode_regs.
+ (ira_no_alloc_reg): Remove.
+ (too_high_register_pressure_p): Use pressure classes.
+
+ * sched-deps.c: Remove mentioning cover classes from the file.
+ Use ira_reg_pressure_cover instead of ira_reg_class_cover. Use
+ ira_pressure_classes and ira_pressure_classes_num instead of
+ ira_reg_class_cover_size and ira_reg_class_cover.
+ (mark_insn_hard_regno_birth, mark_hard_regno_death): Use
+ sched_regno_pressure_class instead of sched_regno_cover_class.
+ (mark_insn_pseudo_birth, mark_pseudo_death): Ditto. Use
+ ira_reg_class_max_nregs instead of ira_reg_class_nregs.
+
+ * ira.h: Add 2010 to Copyright.
+ (ira_no_alloc_reg): Remove external.
+ (struct target_ira): Rename x_ira_hard_regno_cover_class,
+ x_ira_reg_class_cover_size, x_ira_reg_class_cover, and
+ x_ira_class_translate to x_ira_hard_regno_allocno_class,
+ x_ira_allocno_classes_num, x_ira_allocno_classes, and
+ x_ira_allocno_class_translate. Add x_ira_pressure_classes_num,
+ x_ira_pressure_classes, x_ira_pressure_class_translate, and
+ x_ira_stack_reg_pressure_class. Rename x_ira_reg_class_nregs to
+ x_ira_reg_class_max_nregs. Add x_ira_reg_class_min_nregs and
+ x_ira_no_alloc_regs.
+ (ira_hard_regno_cover_class): Rename to ira_hard_regno_allocno_class.
+ (ira_reg_class_cover_size, ira_reg_class_cover): Rename to
+ ira_allocno_classes_num and ira_allocno_classes.
+ (ira_class_translate): Rename to ira_allocno_class_translate.
+ (ira_pressure_classes_num, ira_pressure_classes): New definitions.
+ (ira_pressure_class_translate, ira_stack_reg_pressure_class): Ditto.
+ (ira_reg_class_nregs): Rename to ira_reg_class_max_nregs.
+ (ira_reg_class_min_nregs, ira_stack_reg_pressure_class): New
+ (ira_no_alloc_regs): New.
+
+ * ira-costs.c: Add 2010 to Copyright. Remove mentioning cover
+ classes from the file. Use ALLOCNO_CLASS instead of
+ ALLOCNO_COVER_CLASS. Use ALLOCNO_CLASS_COST instead of
+ ALLOCNO_COVER_CLASS_COST.
+ (regno_cover_class): Rename to regno_aclass.
+ (record_reg_classes): Use ira_reg_class_subunion instead of
+ ira_reg_class_union.
+ (record_address_regs): Check overflow.
+ (scan_one_insn): Ditto.
+ (print_allocno_costs): Print total mem cost fore regional allocation.
+ (print_pseudo_costs): Use REG_N_REFS.
+ (find_costs_and_classes): Use classes intersected with them on the
+ 1st pass. Check overflow. Use ira_reg_class_subunion instead of
+ ira_reg_class_union. Use ira_allocno_class_translate and
+ regno_aclass instead of ira_class_translate and regno_cover_class.
+ Modify code for finding regno_aclass. Setup preferred classes for
+ the next pass.
+ (setup_allocno_cover_class_and_costs): Rename to
+ setup_allocno_class_and_costs. Use regno_aclass instead of
+ regno_cover_class. Use ira_set_allocno_class instead of
+ ira_set_allocno_cover_class.
+ (init_costs, finish_costs): Use regno_aclass instead of
+ regno_cover_class.
+ (ira_costs): Use setup_allocno_class_and_costs instead of
+ setup_allocno_cover_class_and_costs.
+ (ira_tune_allocno_costs_and_cover_classes): Rename to
+ ira_tune_allocno_costs. Check overflow. Skip conflict hard regs
+ by processing objects. Use ira_reg_class_max_nregs instead of
+ ira_reg_class_nregs.
+
+ * rtl.h (reg_cover_class): Rename to reg_allocno_class.
+
+ * sched-int.h: Remove mentioning cover classes from the file.
+ (sched_regno_cover_class): Rename to sched_regno_pressure_class.
+
+ * reginfo.c: Add 2010 to Copyright. Remove mentioning cover
+ classes from the file.
+ (struct reg_pref): Rename coverclass into allocnoclass.
+ (reg_cover_class): Rename to reg_allocno_class.
+
+ * Makefile.in (ira-color.o): Remove SPLAY_TREE_H from dependencies.
+
+ * config/alpha/alpha.h (IRA_COVER_CLASSES): Remove.
+
+ * config/arm/arm.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/avr/avr.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/bfin/bfin.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/cris/cris.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/fr30/fr30.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/frv/frv.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/h8300/h8300.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/i386/i386.h (STACK_REG_COVER_CLASS): Ditto.
+
+ * config/i386/i386.c (TARGET_IRA_COVER_CLASSES)
+ (i386_ira_cover_classes): Ditto.
+
+ * config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/m32r/m32r.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/m68k/m68k.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/mcore/mcore.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/mep/mep.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/mips/mips.c (TARGET_IRA_COVER_CLASSES)
+ (mips_ira_cover_classes): Ditto.
+
+ * config/mn10300/mn10300.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/moxie/moxie.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/pa/pa64-regs.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/pa/pa32-regs.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/picochip/picochip.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/rs6000/rs6000.h (IRA_COVER_CLASSES_PRE_VSX)
+ (IRA_COVER_CLASSES_VSX): Ditto.
+
+ * config/rs6000/rs6000.c (TARGET_IRA_COVER_CLASSES)
+ (rs6000_ira_cover_classes): Ditto.
+
+ * config/rx/rx.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/s390/s390.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/score/score.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/sh/sh.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/sparc/sparc.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/spu/spu.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/v850/v850.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/vax/vax.h (IRA_COVER_CLASSES): Ditto.
+
+ * config/xtensa/xtensa.h (IRA_COVER_CLASSES): Ditto.
+
+2011-03-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48253
+ * dwarf2out.c (struct dw_fde_struct): Remove dw_fde_hot_section_label,
+ dw_fde_hot_section_end_label, dw_fde_unlikely_section_label,
+ dw_fde_unlikely_section_end_label, cold_in_std_section,
+ dw_fde_switched_sections and dw_fde_switched_cold_to_hot fields.
+ Add dw_fde_second_begin, dw_fde_second_end and second_in_std_section
+ fields.
+ (output_fde): Use dw_fde_second_{begin,end} if second is
+ true, otherwise dw_fde_{begin,end}.
+ (output_call_frame_info): Test dw_fde_second_begin != NULL
+ instead of dw_fde_switched_sections.
+ (dwarf2out_begin_prologue): Stop initializing removed dw_fde_struct
+ fields, initialize new fields. Initialize in_std_section
+ unconditionally from the first partition.
+ (dwarf2out_end_epilogue): Don't override dw_fde_end when
+ dw_fde_second_begin is non-NULL.
+ (dwarf2out_switch_text_section): Stop initializing removed
+ dw_fde_struct fields, initialize new fields, initialize
+ also dw_fde_end here. Set dw_fde_switch_cfi even when
+ dwarf2out_do_cfi_asm (). Call var_location_switch_text_section.
+ (struct var_loc_list_def): Add last_before_switch field.
+ (arange_table, arange_table_allocated, arange_table_in_use,
+ ARANGE_TABLE_INCREMENT, add_arange): Removed.
+ (size_of_aranges): Count !in_std_section and !second_in_std_section
+ hunks in fdes, instead of looking at arange_table_in_use.
+ (output_aranges): Add aranges_length argument, don't call
+ size_of_aranges here. Instead of using aranges_table*
+ emit ranges for fdes when !in_std_section resp.
+ !second_in_std_section.
+ (dw_loc_list): Break ranges crossing section switch.
+ (convert_cfa_to_fb_loc_list): Likewise. If switched sections,
+ use dw_fde_second_end instead of dw_fde_end as end of last range.
+ (gen_subprogram_die): Don't call add_arange. Use
+ dw_fde_{begin,end} for first partition and if switched
+ section dw_fde_second_{begin,end} for the second.
+ (var_location_switch_text_section_1,
+ var_location_switch_text_section): New functions.
+ (dwarf2out_begin_function): Initialize cold_text_section even
+ when function_section () isn't text_section.
+ (prune_unused_types): Don't walk arange_table.
+ (dwarf2out_finish): Don't needlessly test
+ flag_reorder_blocks_and_partition when testing cold_text_section_used.
+ If info_section_emitted, call size_of_aranges and if it indicates
+ non-empty .debug_aranges, call output_aranges with the computed
+ size. Stop using removed dw_fde_struct fields, use
+ dw_fde_{begin,end} for first partition and dw_fde_second_{begin,end}
+ for second.
+
+ PR debug/48203
+ * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Only
+ create ENTRY_VALUE if incoming or address of incoming's MEM
+ is a hard REG.
+ * dwarf2out.c (mem_loc_descriptor): Don't emit
+ DW_OP_GNU_entry_value of DW_OP_fbreg.
+ * var-tracking.c (vt_add_function_parameter): Ensure cselib_lookup
+ on ENTRY_VALUE is able to find the canonical parameter VALUE.
+ * cselib.c (rtx_equal_for_cselib_1) <case ENTRY_VALUE>: Use
+ rtx_equal_p instead of rtx_equal_for_cselib_1 to compare
+ ENTRY_VALUE_EXPs.
+ (cselib_hash_rtx) <case ENTRY_VALUE>: If ENTRY_VALUE_EXP
+ is a REG_P or MEM_P with REG_P address, compute hash directly
+ instead of calling cselib_hash_rtx on ENTRY_VALUE_EXP.
+ (preserve_only_constants): Don't clear VALUES forwaring
+ ENTRY_VALUE to some other VALUE.
+
+2011-03-28 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * builtins.c (expand_builtin_memset_args): Use gen_int_mode
+ instead of GEN_INT.
+
+2011-03-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgexpand.c (expand_gimple_cond): Always set the source location and
+ block before expanding the statement.
+ (expand_gimple_stmt_1): Likewise. Set them here...
+ (expand_gimple_stmt): ...and not here. Tidy.
+ * cfglayout.c (curr_insn_locator): Return 0 if the current location is
+ unknown.
+
+2011-03-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ * Makefile.in: New rule for cprop.o.
+ * gcse.c: Move constant/copy propagation to cprop.c.
+ (compute_local_properties): Only handle expression tables.
+ (hash_scan_set, compute_hash_table_work, alloc_hash_table,): Likewise.
+ (one_pre_gcse_pass, one_code_hoisting_pass): Likewise.
+ (hash_set, insert_set_in_table, gcse_constant_p, lookup_set,
+ next_set, reset_opr_set_tables, oprs_not_set_p, mark_call, mark_set,
+ mark_clobber, mark_oprs_set, alloc_cprop_mem, free_cprop_mem,
+ compute_cprop_data, find_used_regs, try_replace_reg,
+ find_avail_set, cprop_jump, constprop_register, cprop_insn,
+ local_cprop_find_used_regs, do_local_cprop, local_cprop_pass,
+ fis_get_condition, implicit_set_cond_p, find_implicit_sets,
+ find_bypass_set, reg_killed_on_edge, bypass_block,
+ bypass_conditional_jumps, one_cprop_pass, gate_rtl_cprop,
+ execute_rtl_cprop, pass_rtl_cprop): Move to...
+ * cprop.c: ...here. New file, constant/copy propagation for RTL
+ moved from gcse.c to here with minor cleanups in duplicated code.
+
+2011-03-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (flag_opts): Fix a typo in
+ -mavx256-split-unaligned-store.
+
+2011-03-28 Anatoly Sokolov <aesok@post.ru>
+
+ * config/h8300/h8300.h (FUNCTION_VALUE_REGNO_P, FUNCTION_VALUE,
+ LIBCALL_VALUE): Remove macros.
+ * config/h8300/h8300.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+ (h8300_function_value, h8300_libcall_value,
+ h8300_function_value_regno_p): New functions.
+
+2011-03-28 Anatoly Sokolov <aesok@post.ru>
+
+ * config/h8300/h8300.h (ASM_OUTPUT_BSS): Remove macro.
+
+2011-03-28 Jeff Law <law@redhat.com>
+
+ * tree-ssa-threadupdate.c (redirect_edges): Call
+ create_edge_and_update_destination_phis as needed.
+ (create_edge_and_update_destination_phis): Accept new BB argument.
+ All callers updated.
+ (thread_block): Do not update the profile when threading around
+ intermediate blocks.
+ (thread_single_edge): Likewise.
+ (determine_bb_domination_status): If BB is not a successor of the
+ loop header, return NONDOMINATING.
+ (register_jump_thread): Note when we register a jump thread around
+ an intermediate block.
+ * tree-ssa-threadedge.c (thread_around_empty_block): New function.
+ (thread_across_edge): Use it.
+
+2011-03-28 Tristan Gingold <gingold@adacore.com>
+
+ * config/ia64/ia64.c (ia64_promote_function_mode): Fix promotion
+ when for_return is 2.
+
+2011-03-28 Jeff Law <law@redhat.com>
+
+ * var-tracking.c (canonicalize_values_mark): Delete unused
+ lhs assignment.
+ (canonicalize_values_star, set_variable_part): Likewise.
+ (clobber_variable_part, delete_variable_part): Likewise.
+
+2011-03-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcse.c (free_gcse_mem): Free reg_set_bitmap.
+
+2011-03-28 Martin Jambor <mjambor@suse.cz>
+
+ * tree-inline.c (expand_call_inline): Do not check that destination
+ node is analyzed.
+ (optimize_inline_calls): Assert that destination node is analyzed.
+ * cgraph.c (cgraph_add_new_function): Call cgraph_analyze_function, do
+ not call tree_lowering_passes.
+ * cgraph.h (cgraph_analyze_function): Declare.
+ * cgraphunit.c (cgraph_analyze_function): Make public.
+
+2011-03-28 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/sparc-opts.h: New.
+ * config/sparc/sparc.c (sparc_handle_option, sparc_select,
+ sparc_cpu, fpu_option_set, TARGET_HANDLE_OPTION): Remove.
+ (sparc_option_override): Store processor_type enumeration rather
+ than string in cpu_default. Remove name and enumeration from
+ cpu_table. Directly default -mcpu then default -mtune from -mcpu
+ without using sparc_select. Use target_flags_explicit instead of
+ fpu_option_set.
+ * config/sparc/sparc.h (enum processor_type): Move to
+ sparc-opts.h.
+ (sparc_cpu, struct sparc_cpu_select, sparc_select): Remove.
+ * config/sparc/sparc.opt (config/sparc/sparc-opts.h): New
+ HeaderInclude entry.
+ (mcpu=, mtune=): Use Var and Enum.
+ (sparc_processor_type): New Enum and EnumValue entries.
+
+2011-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/48245
+ * config/darwin.h (LINK_COMMAND_SPEC_A): Use LINK_PLUGIN_SPEC.
+
+2011-03-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-vectorizer.h (vect_create_data_ref_ptr): Adjust prototype.
+ * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add GSI parameter.
+ Insert new statements at it in lieu of STMT.
+ (vect_setup_realignment): Adjust call to vect_create_data_ref_ptr.
+ * tree-vect-stmts.c (vectorizable_store): Likewise.
+ (vectorizable_load): Likewise.
+
+2011-03-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (addtf3): Change mode of operands to TFmode.
+ (divtf3): Ditto.
+ (multf3): Ditto.
+ (subtf3): Ditto.
+
+2011-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/sse.md (*avx_mov<mode>_internal): Don't assert
+ unaligned 256bit load/store.
+ (*avx_movu<ssemodesuffix><avxmodesuffix>): Likewise.
+ (*avx_movdqu<avxmodesuffix>): Likewise.
+
+2011-03-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/48288
+ * config/pa/predicates.md (reg_or_ior_operand): New predicate.
+ * config/pa/pa.md (iordi3): Use new predicate in expander.
+ (iorsi3): Likewise.
+
+2011-03-27 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mips/mips.h (LIBCALL_VALUE, FUNCTION_VALUE,
+ FUNCTION_VALUE_REGNO_P): Remove macros.
+ * config/mips/mips-protos.h (mips_function_value): Remove.
+ * config/mips/mips.c (mips_function_value): Rename to...
+ (mips_function_value_1): ... this. Make static. Handle receiving
+ the function type in 'fn_decl_or_type' argument.
+ (mips_function_value, mips_libcall_value,
+ mips_function_value_regno_p): New function.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2011-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.c (flag_opts): Add -mavx256-split-unaligned-load
+ and -mavx256-split-unaligned-store.
+ (ix86_option_override_internal): Split 32-byte AVX unaligned
+ load/store by default.
+ (ix86_avx256_split_vector_move_misalign): New.
+ (ix86_expand_vector_move_misalign): Use it.
+
+ * config/i386/i386.opt: Add -mavx256-split-unaligned-load and
+ -mavx256-split-unaligned-store.
+
+ * config/i386/sse.md (*avx_mov<mode>_internal): Verify unaligned
+ 256bit load/store. Generate unaligned store on misaligned memory
+ operand.
+ (*avx_movu<ssemodesuffix><avxmodesuffix>): Verify unaligned
+ 256bit load/store.
+ (*avx_movdqu<avxmodesuffix>): Likewise.
+
+ * doc/invoke.texi: Document -mavx256-split-unaligned-load and
+ -mavx256-split-unaligned-store.
+
+2011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/38598
+ * config/mips/mips.md (extendsidi2): Add an "l" alternative.
+ Update commentary.
+
+2011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_prepare_builtin_arg): Replace icode and
+ opno arguments with an expand_operand. Use create_input_operand.
+ (mips_prepare_builtin_target): Delete.
+ (mips_expand_builtin_insn, mips_expand_builtin_compare_1): New
+ functions.
+ (mips_expand_builtin_direct): Use create_output_operand and
+ mips_expand_builtin_insn. Update call to mips_prepare_builtin_arg.
+ (mips_expand_builtin_movtf): Likewise. Use mips_expand_fp_comparison.
+ (mips_expand_builtin_compare): Use mips_expand_fp_comparison.
+
+2011-03-27 Ira Rosen <ira.rosen@linaro.org>
+
+ * config/arm/arm.c (arm_autovectorize_vector_sizes): New
+ function.
+ (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * basic-block.h (fixup_abnormal_edges): Adjust prototype.
+ * reload1.c (reload): Adjust call to fixup_abnormal_edges. Rediscover
+ basic blocks and call commit_edge_insertions directly.
+ (fixup_abnormal_edges): Move from here to...
+ * cfgrtl.c (fixup_abnormal_edges): ...here. Only insert instructions
+ on the edges and return whether some have actually been inserted.
+ * reg-stack.c (convert_regs): Fix up abnormal edges before inserting
+ compensation code.
+
+2011-03-26 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48144
+ * sel-sched-ir.c (merge_history_vect): Factor out from ...
+ (merge_expr_data): ... here.
+ (av_set_intersect): Rename to av_set_code_motion_filter.
+ Update all callers. Call merge_history_vect when an expression
+ is found in both sets.
+ * sel-sched-ir.h (av_set_code_motion_filter): Add prototype.
+
+2011-03-26 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/predicates.md (word_offset_memref_op): Handle
+ cmodel medium addresses.
+ * config/rs6000/rs6000.c (rs6000_secondary_reload): Handle misaligned
+ 64-bit gpr loads and stores.
+ (rs6000_secondary_reload_ppc64): New function.
+ * config/rs6000/rs6000-protos.h: Declare it.
+ * config/rs6000/rs6000.md (reload_di_store, reload_di_load): New.
+
+2011-03-26 Alan Modra <amodra@gmail.com>
+
+ PR target/47487
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support
+ GNU Go in traceback table.
+
+2011-03-25 Richard Henderson <rth@redhat.com>
+
+ * expr.c (emit_block_move_via_movmem): Only use 6 operand variant
+ if there are exactly 6 operands.
+ (set_storage_via_setmem): Similarly.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * collect2.c (write_c_file_stat): Handle backslash
+ as right-hand directory separator.
+ (resolve_lib_name): Use IS_DIR_SEPARATOR instead of
+ checking just for slash.
+ * coverage.c (coverage_init): Use IS_ABSOLUTE_PATH
+ instead of checking for trailing slash.
+ * gcc.c (record_temp_file): Use filename_cmp instead
+ of strcmp.
+ (do_spec_1): Likewise.
+ (replace_outfile_spec_function): Likewise.
+ (is_directory): Use filename_ncmp instead of strncmp.
+ (print_multilib_info): Likewise.
+ * gcov.c (find_source): Use filename_cmp instead
+ instead of strcmp.
+ (make_gcov_file_name): Fix order of slash/backslash
+ checks.
+ * incpath.c (DIRS_EQ): Use filename_cmp instead of strcmp.
+ (add_standard_paths): Likewise.
+ * mips-tfile.c (saber_stop): Handle backslash.
+ * prefix.c (update_path): Use filename_ncmp instead of
+ strncmp.
+ * profile.c (output_location): Use filename_cmp instead
+ of strcmp.
+ * read-md.c (handle_toplevel_file): Handle backslash.
+ * tlink.c (frob_extension): Likewise.
+ * tree-cfg.c (same_line_p): Use filename_cmp instead of
+ strcmp.
+ * tree-dump.c (dequeue_and_dump): Handle backslash.
+ * tree.c (get_file_function_name): Likewise.
+ * gengtype.c (read_input_list): Likewise.
+ (get_file_realbasename): Likewise.
+ (get_output_file_with_visibility): Use filename_cmp
+ instead of strcmp.
+
+2011-03-25 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/arm/arm.h (CANNOT_CHANGE_MODE_CLASS): Restrict FPA_REGS
+ case to VFPv1.
+
+2011-03-25 Nathan Froyd <froydnj@codesourcery.com>
+
+ * fold-const.c (expr_location_or): New function.
+ (fold_truth_not_expr): Call it.
+
+2011-03-25 Jeff Law <law@redhat.com>
+
+ * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add missing
+ va_end.
+ * c-family/c-common.c (def_fn_type): Likewise.
+ * emit-rtl.c (gen_rtvec): Likewise.
+ * lto/lto-lang.c (def_fn_type): Likewise.
+
+2011-03-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-copy.c (stmt_may_generate_copy): Copies from constants
+ also generate copies.
+ (fini_copy_prop): Handle constant values properly.
+
+2011-03-25 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor) <case ZERO_EXTRACT>: Compare
+ mode size instead of bitsize with DWARF2_ADDR_SIZE.
+ (hash_loc_operands, compare_loc_operands): Handle
+ DW_OP_GNU_entry_value.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/cygming.h (DWARF_FRAME_REGISTERS): Adjust comment.
+ (STACK_BOUNDARY): Check for bit-ness in case of MS_ABI.
+ * config/i386/i386.c (ix86_conditional_register_usage): Adjust
+ comment and use macro TARGET_64BIT_MS_ABI instead.
+ (ix86_keep_aggregate_return_pointer): Optimize for 64-bit case
+ and change default behavior for 32-bit MS_ABI.
+ (ix86_reg_parm_stack_space): Check additionally for bit-ness.
+ (ix86_function_type_abi): Allow check for ms_abi/sysv_abi for
+ 32-bit, too.
+ (ix86_cfun_abi): Likewise.
+ (ix86_maybe_switch_abi): Adjust comment.
+ (init_cumulative_args): Check for bit-ness in MS_ABI case.
+ (ix86_gimplify_va_arg): Check just for not TARGET_64BIT_MS_ABI
+ instead of checking for SYSV_ABI.
+ (ix86_nsaved_sseregs): Likewise.
+ (ix86_compute_frame_layout): Set only for 64-bit MS_ABI alignment
+ to 16 bytes.
+ (ix86_expand_call): Use TARGET_64BIT_MS_ABI macro.
+ * config/i386.h (TARGET_32BIT_MS_ABI): New macro.
+ (ACCUMULATE_OUTGOING_ARGS): Check explicit for 64-bit MS_ABI.
+ (OUTGOING_REG_PARM_STACK_SPACE): Likewise.
+ * config/mingw32.h (DEFAULT_ABI): Change default always to MS_ABI.
+
+2011-03-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (verify_stmts): Rename to verify_gimple_in_cfg.
+ (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
+ (verify_gimple): Remove.
+ * tree-cfg.c (verify_gimple_call): Merge verification
+ from verify_stmts.
+ (verify_gimple_phi): Merge verification from verify_stmts.
+ (verify_gimple_label): New function.
+ (verify_types_in_gimple_seq_2): Rename to verify_gimple_in_seq_2.
+ (verify_types_in_gimple_seq): Rename to verify_gimple_in_seq.
+ (verify_stmt): Merge into verify_gimple_in_cfg and callees.
+ (verify_stmts): Rename to verify_gimple_in_cfg.
+ (verify_gimple_in_cfg): New function.
+ * passes.c (execute_function_todo): Call verify_gimple_in_cfg.
+ * tree-ssa.c (verify_ssa): Likewise.
+ * gimplify.c (gimplify_body): Call verify_gimple_in_seq.
+
+2011-03-25 Richard Guenther <rguenther@suse.de>
+
+ * passes.c (init_optimization_passes): Add FRE pass after
+ early SRA.
+
+2011-03-25 Bernd Schmidt <bernds@codesourcery.com>
+ Andrew Stubbs <ams@codesourcery.com>
+
+ * config/arm/vfp.md (arm_movdi_vfp): Enable only when not tuning
+ for Cortex-A8.
+ (arm_movdi_vfp_cortexa8): New pattern.
+ * config/arm/neon.md (adddi3_neon, subdi3_neon, anddi3_neon,
+ iordi3_neon, xordi3_neon): Add alternatives to discourage Neon
+ instructions when tuning for Cortex-A8. Set attribute "arch".
+ * config/arm/arm.md: Move include arm-tune.md up a bit.
+ (define_attr "arch"): Add "onlya8" and "nota8" values.
+ (define_attr "arch_enabled"): Handle "onlya8" and "nota8".
+
+2011-03-25 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR bootstrap/48282
+ Revert:
+ 2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
+ FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
+ (pass_instantiate_virtual_regs): Require PROP_cfglayout.
+ * passes.c (init_optimization_passes): Move
+ pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * c-typeck.c (comptypes_internal): Replace target
+ hook call of comp_type_attributes by version in tree.c file.
+ * gimple.c (gimple_types_compatible_p_1): Likewise.
+ * tree-ssa.c (useless_type_conversion_p): Likewise.
+ * tree.c (build_type_attribute_qual_variant): Likewise.
+ (attribute_value_equal): New static helper function.
+ (comp_type_attributes): New function.
+ (merge_attributes): Use attribute_value_equal for comparison.
+ (attribute_list_contained): Likewise.
+ * tree.h (comp_type_attributes): New prototype.
+
+2011-03-25 Richard Guenther <rguenther@suse.de>
+
+ * tree-cfg.c (verify_gimple_assign_unary): Drop special casing
+ of complex types at -O0.
+ (verify_gimple_assign_binary): Likewise.
+ (verify_gimple_assign_ternary): Likewise.
+
+2011-03-24 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8.
+ (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8.
+
+2011-03-24 Mark Wielaard <mjw@redhat.com>
+
+ PR debug/48041
+ * dwarf2out.c (output_abbrev_section): Only write table when
+ abbrev_die_table_in_use > 1.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_expand_unaligned_load): Use extql.
+ (alpha_expand_unaligned_store): Use mskwl, mskll, mskql.
+ (alpha_expand_unaligned_load_words): Use extql.
+ (alpha_expand_unaligned_store_words): Use insqh, mskqh, mskql.
+ (emit_insxl): Handle all modes for consistency.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (get_aligned_mem): Don't test WORDS_BIG_ENDIAN.
+ (alpha_expand_unaligned_load): Likewise.
+ (alpha_expand_unaligned_store): Likewise.
+ (alpha_expand_unaligned_load_words): Likewise.
+ (alpha_expand_unaligned_store_words): Likewise.
+ (emit_insxl, alpha_split_compare_and_swap_12): Likewise.
+ (alpha_split_lock_test_and_set_12): Likewise.
+ (print_operand, alpha_fold_builtin_extxx): Likewise.
+ (alpha_fold_builtin_insxx, alpha_fold_builtin_mskxx): Likewise.
+ * config/alpha/alpha.md (bswapsi2, insv, extv, extzv): Likewise.
+ (builtin_extwh, builtin_extlh, builtin_extql): Likewise.
+ (unaligned_extendqidi_be, unaligned_extendhidi_be, extxl_be): Remove.
+ (*extxl_1_be, *extql_2_be, extqh_be, extlh_be, extwh_be): Remove.
+ (insbl_be, inswl_be, insll_be, insql_be, mskxl_be): Remove.
+ (unaligned_loadqi_be, unaligned_loadhi_be): Remove.
+ (unaligned_storeqi_be, unaligned_storehi_be): Remove.
+ (extbl): Rename from builtin_extbl; don't test WORDS_BIG_ENDIAN.
+ (extwl, extll, extql): Similarly.
+ (inswh, inslh, insqh): Similarly.
+ (mskbl, mskwl, mskll, mskql): Similarly.
+ (mskwh, msklh, mskqh): Similarly.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (attribute isa): Add er, ner.
+ (attribute enabled): Handle them.
+ (*movdi): Merge *movdi_{er_nofix,nofix,er_fix,fix}.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (attribute isa): Add vms.
+ (attribute enabled): Handle it.
+ (*movsf): Merge *movsf_{nofix,fix,nofp}.
+ (*movdf): Merge *movdf_{nofix,fix,nofp}.
+ (*movtf): Rename from *movtf_internal for consistency.
+ (*movsi): Merge with *movsi_nt_vms.
+ (*movhi): Merge *movhi_nobwx, *movhi_bwx.
+ (*movqi): Merge *movqi_nobwx, *movqi_bwx.
+ (*mov<VEC>): Merge *mov<VEC>_fix, *mov<VEC>_nofix.
+ * config/alpha/constraint.md ("f"): Use NO_REGS when fpu is disabled.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (extendqihi2): Implement for BWX only.
+ (extendqisi2, extendhisi2): Likewise.
+ (extendqidi2): Simplify BWX/non-BWX expansions.
+ (extendhidi2): Similarly.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (attribute isa): New.
+ (attribute enabled): New.
+ (zero_extendqihi2): Merge from *zero_extendqihi2_{bwx,nobwx}.
+ (zero_extendqisi2, zero_extendqidi2): Similarly.
+ (zero_extendhisi2, zero_extendhidi2): Similarly.
+ * config/alpha/predicates.md (reg_or_bwx_memory_operand): New.
+
+2011-02-24 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/predicates.md (input_operand): Revert last change;
+ update comment to mention 32-bit VMS rather than Windows.
+
+2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * function.c (instantiate_virtual_regs): Use FOR_EACH_BB and
+ FOR_BB_INSNS_SAFE to iterate through insns. Re-indent.
+ (pass_instantiate_virtual_regs): Require PROP_cfglayout.
+ * passes.c (init_optimization_passes): Move
+ pass_instantiate_virtual_regs after pass_into_cfg_layout_mode.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dojump.c (do_jump_by_parts_greater_rtx): Optimize in specific cases.
+
+2011-03-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ix86_print_operand): Output DFmode const_double
+ correctly.
+
+2011-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48204
+ * simplify-rtx.c (simplify_const_unary_operation): Call
+ real_convert when changing mode class with FLOAT_EXTEND.
+
+2011-03-24 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.h (LABEL_ALIGN_FOR_BARRIER): Define.
+ (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
+ * config/rx/rx.c (rx_option_override): Set align_jumps,
+ align_loops and align_labels if not set by the user.
+ (rx_align_for_label): New function.
+ (rx_max_skip_for_label): New function.
+ (TARGET_ASM_JUMP_ALIGN_MAX_SKIP): Define.
+ (TARGET_ASM_LOOP_ALIGN_MAX_SKIP): Define.
+ (TARGET_ASM_LABEL_ALIGN_MAX_SKIP): Define.
+ (TARGET_ASM_LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define.
+ * config/rx/rx-protos.h (rx_align_for_label): Add prototype.
+
+2011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/48263
+ * optabs.c (expand_binop_directly): Reinstate convert_modes code
+ and original commutative_p handling. Use maybe_gen_insn.
+
+2011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * reload.c (find_reloads_subreg_address): Add address_reloaded
+ parameter and return true there if the full address has been
+ reloaded.
+ (find_reloads_toplev): Pass address_reloaded flag.
+ (find_reloads_address_1): Don't use address_reloaded parameter.
+
+2011-03-24 Jeff Law <law@redhat.com>
+
+ * tree-ssa-live.c (remove_unused_scope_block_p): Remove set but
+ unused variable "ann".
+ (remove_unused_locals): Likewise.
+
+ * tree-ssa-copy.c (propagate_tree_value_into_stmt): Remove useless
+ statement.
+
+ * cfglayout.c (fixup_reorder_chain): Do not dereference E_FALL
+ after it is freed.
+
+2011-03-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_preferred_reload_class): Return NO_REGS
+ for invalid symbolic addresses.
+ (s390_secondary_reload): Don't use s390_check_symref_alignment for
+ larl operands.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (fold_ternary_loc): Preserve the location (if any) of
+ the argument in calls to fold_truth_not_expr.
+
+2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (record_node_allocation_statistics): New function.
+ (make_node_stat, copy_node_stat, build_string): Call it.
+ (make_tree_binfo_stat, make_tree_vec_stat, tree_cons_stat): Likewise.
+ (build1_stat, build_omp_clause): Likewise.
+
+2011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * builtins.c (expand_movstr): Fix endp == 1 adjustment after
+ last commit.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48271
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Only cleanup
+ blocks that still exist.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48270
+ * tree-ssa-phiopt.c (cond_if_else_store_replacement): Do
+ not free datarefs before ddrs.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-sra.c (build_ref_for_offset): Strip useless type conversions
+ from the address built for a reference with variable offset.
+
+2011-03-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48237
+ * config/i386/i386.md (*movdf_internal_rex64): Do not split
+ alternatives that can be handled with movq or movabsq insn.
+ (*movdf_internal): Disable for !TARGET_64BIT.
+ (*movdf_internal_nointeger): Ditto.
+ * config/i386/i386.c (ix86_print_operand): Handle DFmode immediates.
+
+2011-03-24 Nathan Froyd <froydnj@codesourcery.com>
+
+ * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
+ (FUNCTION_ARG_ADVANCE): Likewise.
+ * tm.texi.in: Change references to them to hook references.
+ * tm.texi: Regenerate.
+ * targhooks.c (default_function_arg): Eliminate check for target macro.
+ (default_function_incoming_arg): Likewise.
+ (default_function_arg_advance): Likewise.
+ * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
+ (function_arg_advance): Likewise.
+ * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48269
+ * tree-object-size.c (addr_object_size): Do not double-account
+ for MEM_REF offsets.
+
+2011-03-24 Diego Novillo <dnovillo@google.com>
+
+ * lto-opts.c (input_data_block): Move to lto-streamer-in.c.
+ * lto-streamer-in.c (input_string_internal): Add clarifying comments.
+ (lto_input_data_block): Move from lto-opts.c. Make extern.
+ Update all users.
+ (lto_input_string): Rename from input_string. Make extern.
+ Update all users.
+ * lto-streamer-out.c (lto_output_string_with_length): Rename from
+ output_string_with_length.
+ Output 0 to indicate a non-NULL string. Update all callers to
+ not emit 0.
+ (lto_output_string): Rename from output_string. Make extern.
+ Update all users.
+ (lto_output_decl_state_streams): Make extern.
+ (lto_output_decl_state_refs): Make extern.
+ * lto-streamer.h (lto_input_string): Declare.
+ (lto_input_data_block): Declare.
+ (lto_output_string): Declare.
+ (lto_output_string_with_length): Declare.
+ (lto_output_decl_state_streams): Declare.
+ (lto_output_decl_state_refs): Declare.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46562
+ * tree.c (build_invariant_address): New function.
+ * tree.h (build_invariant_address): Declare.
+ * tree-dfa.c (get_addr_base_and_unit_offset): Wrap around
+ a renamed function moved ...
+ * tree-flow-inline.h (get_addr_base_and_unit_offset_1): ... here.
+ Take valueization callback parameter.
+ * tree-flow.h (gimple_fold_stmt_to_constant): Declare.
+ * gimple-fold.h: New file.
+ * tree-ssa-ccp.c (ccp_fold): Use gimple_fold_stmt_to_constant_1.
+ (ccp_fold, fold_const_aggregate_ref,
+ fold_ctor_reference, fold_nonarray_ctor_reference,
+ fold_array_ctor_reference, fold_string_cst_ctor_reference,
+ get_base_constructor): Move ...
+ * gimple-fold.c: ... here.
+ (gimple_fold_stmt_to_constant_1): New function
+ split out from ccp_fold. Take a valueization callback parameter.
+ Valueize all operands.
+ (gimple_fold_stmt_to_constant): New wrapper function.
+ (fold_const_aggregate_ref_1): New function split out from
+ fold_const_aggregate_ref. Take a valueization callback parameter.
+ (fold_const_aggregate_ref): Wrap fold_const_aggregate_ref_1.
+ * tree-ssa-sccvn.c (simplify_binary_expression): Simplify
+ invariant POINTER_PLUS_EXPRs to invariant form.
+ (vn_valueize): New function.
+ (try_to_simplify): Simplify by using gimple_fold_stmt_to_constant.
+ * tree-vrp.c (vrp_valueize): New function.
+ (vrp_visit_assignment_or_call): Use gimple_fold_stmt_to_constant
+ to fold statements to constants.
+ * tree-ssa-pre.c (eliminate): Properly guard propagation of
+ function declarations.
+ * Makefile.in (tree-ssa-sccvn.o, tree-vrp.o, gimple-fold.o,
+ tree-ssa-ccp.o): Add gimple-fold.h dependencies.
+
+2011-03-24 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * config/h8300/predicates.md (jump_address_operand): Fix register
+ mode check.
+
+2011-03-24 Ira Rosen <ira.rosen@linaro.org>
+
+ * doc/invoke.texi (max-stores-to-sink): Document.
+ * params.h (MAX_STORES_TO_SINK): Define.
+ * opts.c (finish_options): Set MAX_STORES_TO_SINK to 0
+ if either vectorization or if-conversion is disabled.
+ * tree-data-ref.c (dr_equal_offsets_p1): Moved and renamed from
+ tree-vect-data-refs.c vect_equal_offsets.
+ (dr_equal_offsets_p): New function.
+ (find_data_references_in_bb): Remove static.
+ * tree-data-ref.h (find_data_references_in_bb): Declare.
+ (dr_equal_offsets_p): Likewise.
+ * tree-vect-data-refs.c (vect_equal_offsets): Move to tree-data-ref.c.
+ (vect_drs_dependent_in_basic_block): Update calls to
+ vect_equal_offsets.
+ (vect_check_interleaving): Likewise.
+ * tree-ssa-phiopt.c: Include cfgloop.h and tree-data-ref.h.
+ (cond_if_else_store_replacement): Rename to...
+ (cond_if_else_store_replacement_1): ... this. Change arguments and
+ documentation.
+ (cond_if_else_store_replacement): New function.
+ * Makefile.in (tree-ssa-phiopt.o): Adjust dependencies.
+ * params.def (PARAM_MAX_STORES_TO_SINK): Define.
+
+2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/46934
+ * config/arm/arm.md (casesi): Use the gen_int_mode() function
+ to subtract lower bound instead of GEN_INT().
+
+2011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR other/48179
+ PR other/48221
+ PR other/48234
+ * doc/extend.texi (Alignment): Move section to match order in TOC.
+ * doc/invoke.texi (i386 and x86-64 Windows Options): Likewise.
+ (Warning Options): Adjust -Wno-cpp summary and remove stray backslash.
+
+2011-03-23 Jeff Law <law@redhat.com>
+
+ * cfg.c (redirect_edge_succ_nodup): Duplicate the varm map
+ before removing the edge.
+
+ * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Do not use E after
+ it may have been freed by redirect_branch_edge or
+ redirect_edge_succ_nodup.
+
+2011-03-23 Richard Guenther <rguenther@suse.de>
+
+ * tree-stdarg.c (va_list_counter_bump): Handle bumps via MEM_REF.
+ (check_va_list_escapes): Likewise.
+ (check_all_va_list_escapes): Likewise.
+
+2011-03-23 Richard Guenther <rguenther@suse.de>
+
+ * Makefile.in (IPA_TYPE_ESCAPE_H): Remove.
+ (OBJS-archive): Remove ipa-struct-reorg.o and ipa-type-escape.o.
+ (tree-ssa-alias.o): Do not depend on IPA_TYPE_ESCAPE_H.
+ (alias.o): Likewise.
+ (ipa-type-escape.o): Remove.
+ (ipa-struct-reorg.o): Likewise.
+ (GTFILES): Remove ipa-struct-reorg.c.
+ * alias.c: Do not include ipa-type-escape.h.
+ * tree-ssa-alias.c: Likewise.
+ * common.opt (fipa-struct-reorg): Preserve for backward compatibility.
+ * opts.c (finish_options): Do not reset flag_ipa_struct_reorg.
+ * passes.c (init_optimization_passes): Remove ipa-struct-reorg
+ and ipa-type-escape passes.
+ * tree-pass.h (pass_ipa_type_escape): Remove.
+ (pass_ipa_struct_reorg): Likewise.
+ * ipa-struct-reorg.h: Remove.
+ * ipa-struct-reorg.c: Likewise.
+ * ipa-type-escape.h: Likewise.
+ * ipa-type-escape.c: Likewise.
+ * doc/invoke.texi (-fipa-struct-reorg): Remove.
+ (--param struct-reorg-cold-struct-ratio): Likewise.
+ * params.def (PARAM_STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
+ * params.h (STRUCT_REORG_COLD_STRUCT_RATIO): Likewise.
+ * timevar.def (TV_IPA_TYPE_ESCAPE): Likewise.
+
+2011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/2084.md: Enable all insn reservations also for z9_ec
+ cpu attribute value.
+ * config/s390/s390-opts.h (enum s390_arch_option): Remove.
+ (enum processor_type): Add PROCESSOR_2094_Z9_EC.
+ * config/s390/s390.c (processor_flags_table): New constant array.
+ (s390_handle_arch_option): Remove.
+ (s390_handle_option): Remove s390_handle_arch_option invocations
+ and OPT_mwarn_framesize_ handling.
+ (s390_option_override): Remove s390_handle_arch_option invocation.
+ (s390_emit_prologue): Remove use of HOST_WIDE_INT_PRINT_DEC in
+ warnings.
+ * config/s390/s390.md (cpu attribute): Add z9_ec value.
+ * config/s390/s390.opt (s390_tune, s390_arch)
+ (march=): Replace s390_arch_option enum and values with
+ processor_type. Set variable name to s390_arch. Set
+ initialization value.
+ (mtune=): Replace s390_arch_option with processor_type. Set
+ variable name to s390_tune. Set initialization value.
+
+2011-03-23 Julian Brown <julian@codesourcery.com>
+
+ * expr.c (expand_expr_real_1): Only use BLKmode for volatile
+ accesses which are not naturally aligned.
+
+2011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/47553
+ * config/arm/predicates.md (neon_lane_number): Accept 0..15.
+
+2011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * optabs.h (emit_unop_insn, maybe_emit_unop_insn): Change insn code
+ parameter from "int" to "enum insn_code".
+ (expand_operand_type): New enum.
+ (expand_operand): New structure.
+ (create_expand_operand): New function.
+ (create_fixed_operand, create_output_operand): Likewise
+ (create_input_operand, create_convert_operand_to): Likewise.
+ (create_convert_operand_from, create_address_operand): Likewise.
+ (create_integer_operand): Likewise.
+ (create_convert_operand_from_type, maybe_legitimize_operands): Declare.
+ (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
+ (expand_insn, expand_jump_insn): Likewise.
+ * builtins.c (expand_builtin_prefetch): Use the new interfaces.
+ (expand_builtin_interclass_mathfn, expand_builtin_strlen): Likewise.
+ (expand_movstr, expand_builtin___clear_cache): Likewise.
+ (expand_builtin_lock_release): Likewise.
+ * explow.c (allocate_dynamic_stack_space): Likewise.
+ (probe_stack_range): Likewise. Allow check_stack to FAIL,
+ and use the default handling in that case.
+ * expmed.c (check_predicate_volatile_ok): Delete.
+ (store_bit_field_1, extract_bit_field_1): Use the new interfaces.
+ (emit_cstore): Likewise.
+ * expr.c (emit_block_move_via_movmem): Likewise.
+ (set_storage_via_setmem, expand_assignment): Likewise.
+ (emit_storent_insn, try_casesi): Likewise.
+ (emit_single_push_insn): Likewise. Allow the expansion to fail.
+ * optabs.c (expand_widen_pattern_expr, expand_ternary_op): Likewise.
+ (expand_vec_shift_expr, expand_binop_directly): Likewise.
+ (expand_twoval_unop, expand_twoval_binop): Likewise.
+ (expand_unop_direct, emit_indirect_jump): Likewise.
+ (emit_conditional_move, vector_compare_rtx): Likewise.
+ (expand_vec_cond_expr, expand_val_compare_and_swap_1): Likewise.
+ (expand_sync_operation, expand_sync_fetch_operation): Likewise.
+ (expand_sync_lock_test_and_set): Likewise.
+ (maybe_emit_unop_insn): Likewise. Change icode to an insn_code.
+ (emit_unop_insn): Likewise.
+ (expand_copysign_absneg): Change icode to an insn_code.
+ (create_convert_operand_from_type): New function.
+ (maybe_legitimize_operand, maybe_legitimize_operands): Likewise.
+ (maybe_gen_insn, maybe_expand_insn, maybe_expand_jump_insn): Likewise.
+ (expand_insn, expand_jump_insn): Likewise.
+ * config/i386/i386.md (setmem<mode>): Use nonmemory_operand rather
+ than const_int_operand for operand 2.
+
+2011-03-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * dwarf2out.c (const_ok_for_output_1): Print the unspec enum name
+ if possible.
+
+2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * emit-rtl.c (emit_pattern_before_noloc): New function.
+ (emit_insn_before_noloc, emit_jump_insn_before_noloc): Call it.
+ (emit_call_insn_before_noloc, emit_debug_insn_before_noloc): Likewise.
+ (emit_pattern_after_noloc): New function.
+ (emit_insn_after_noloc, emit_jump_insn_after_noloc): Call it.
+ (emit_call_insn_after_noloc, emit_debug_insn_after_noloc): Likewise.
+
+2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * libgcc2.c (__lshrdi3, __ashldi3, __ashrdi3): Use W_TYPE_SIZE.
+ (__ffsDI2): Likewise.
+
+2011-03-22 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (direct_return): Use TARGET_ABI_OSF instead
+ of !TARGET_ABI_OPEN_VMS.
+ (alpha_trampoline_init, alpha_start_function): Likewise.
+ (alpha_expand_epilogue, alpha_file_start): Likewise.
+ * config/alpha/alpha.md (divsi3, modsi3): Likewise.
+ (udivsi3, umodsi3, divdi3, moddi3, udivdi3, umoddi3): Likewise.
+ (*divmodsi_internal_er, *divmodsi_internal_er_1): Likewise.
+ (*divmodsi_internal, *divmoddi_internal_er): Likewise.
+ (*divmoddi_internal_er_1, *divmoddi_internal): Likewise.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/s390/s390-opts.h: New.
+ * config/s390/s390.c (s390_tune, s390_tune_flags, s390_arch,
+ s390_arch_flags, s390_warn_framesize, s390_stack_size,
+ s390_stack_guard): Remove.
+ (s390_handle_arch_option): Return void. Take enum
+ s390_arch_option value instead of string and searching array.
+ (s390_handle_option): Don't assert that global structures are in
+ use. Access variables via opts pointer. Use error_at. Don't use
+ sscanf for -mstack-guard= or -mstack-size=. Update call to
+ s390_handle_arch_option.
+ (s390_option_override): Update call to s390_handle_arch_option.
+ (s390_emit_prologue): Use %d format for s390_stack_size in
+ diagnostic. Use %wd for HOST_WIDE_INT.
+ * config/s390/s390.h (enum processor_type): Move to s390-opts.h.
+ (s390_tune, s390_tune_flags, s390_arch, s390_arch_flags): Remove.
+ * config/s390/s390.opt (config/s390/s390-opts.h): New
+ HeaderInclude entry.
+ (s390_arch_string, s390_tune, s390_tune_flags, s390_arch,
+ s390_arch_flags, s390_warn_framesize): New Variable entries.
+ (s390_arch_option): New Enum and EnumValue entries.
+ (march=): Use Enum instead of Var.
+ (mstack-guard=, mstack-size=): Use UInteger and Var.
+ (mtune=): Use Enum.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/score/score.c (score_handle_option): Don't assert that
+ global structures are in use. Access target_flags via opts
+ pointer. Use value of -march= option to determine target_flags
+ settings.
+ * config/score/score.opt (march=): Use Enum.
+ (score_arch): New Enum and EnumValue entries.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mep/mep.c (option_mtiny_specified): Remove.
+ (mep_option_override): Move register handling for -mivc2 from
+ mep_handle_option. Use global_options_set.x_mep_tiny_cutoff
+ instead of option_mtiny_specified.
+ (mep_handle_option): Access target_flags via opts pointer. Don't
+ assert that global structures are in use. Defer part of -mivc2
+ handling and move it to mep_option_override.
+ * config/mep/mep.opt (IVC2): New Mask entry.
+ (mivc2): Use Var and Defer instead of Mask.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/v850/v850-opts.h: New.
+ * config/v850/v850.c (small_memory): Replace with
+ small_memory_physical_max array. Make that array static const.
+ (v850_handle_memory_option): Take integer value of argument. Take
+ gcc_options pointer, option text and location. Return void.
+ Update for changes to small memory structures.
+ (v850_handle_option): Access target_flags via opts pointer. Don't
+ assert that global structures are in use. Update calls to
+ v850_handle_memory_option.
+ (v850_encode_data_area): Update references to small memory settings.
+ * config/v850/v850.h (struct small_memory_info, small_memory): Remove.
+ (enum small_memory_type): Move to v850-opts.h.
+ * config/v850/v850.opt (config/v850/v850-opts.h): New
+ HeaderInclude entry.
+ (small_memory_max): New Variable entry.
+ (msda): Replace by pair of options msda= and msda-. Use UInteger.
+ (mtda, mzda): Likewise.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sh/sh.c (sh_handle_option): Access target_flags via opts
+ pointer. Don't assert that global structures are in use.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/pdp11/pdp11.c (pdp11_handle_option): Access target_flags
+ via opts pointer. Don't assert that global structures are in use.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/pa/pa-hpux.opt (flag_pa_unix): New Variable entry.
+ (munix=93): Use Var.
+ * config/pa/pa-hpux1010.opt (munix=95): Use Var.
+ * config/pa/pa-hpux1111.opt (munix=98): Use Var.
+ * config/pa/pa-opts.h: New.
+ * config/pa/pa.c (pa_cpu, flag_pa_unix): Remove.
+ (pa_handle_option): Don't assert that global structures are in
+ use. Access target_flags via opts pointer. Don't handle
+ OPT_mschedule_, OPT_mfixed_range_, OPT_munix_93, OPT_munix_95 or
+ OPT_munix_98 here.
+ (pa_option_override): Handle deferred OPT_mfixed_range_.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mn10300/mn10300-opts.h: New.
+ * config/mn10300/mn10300.c (mn10300_processor,
+ mn10300_tune_string): Remove.
+ (mn10300_handle_option): Don't assert that global structures are
+ in use. Access mn10300_processor via opts pointer. Don't handle
+ OPT_mtune_ here.
+ * config/mn10300/mn10300.h (enum processor_type): Move to
+ mn10300-opts.h.
+ (mn10300_processor): Remove.
+ * config/mn10300/mn10300.opt (config/mn10300/mn10300-opts.h): New
+ HeaderInclude entry.
+ (mn10300_processor): New Variable entry.
+ (mtune=): Use Var.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/microblaze/microblaze.c: Don't include opts.h.
+ (microblaze_handle_option, TARGET_HANDLE_OPTION): Remove.
+ * config/microblaze/microblaze.opt (mxl-stack-check): Use Warn.
+ (mno-clearbss): Use Var and Warn.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m32r/m32r-opts.h: New.
+ * config/m32r/m32r.c (m32r_model, m32r_sdata): Remove.
+ (m32r_handle_option): Don't assert that global structures are in
+ use. Access target_flags and m32r_cache_flush_func via opts
+ pointer. Don't handle OPT_mmodel_, OPT_msdata_ or
+ OPT_mno_flush_trap here.
+ * config/m32r/m32r.h (Code Models, Small Data Area): Replace by
+ include of m32r-opts.h.
+ * config/m32r/m32r.opt (config/m32r/m32r-opts.h): New
+ HeaderInclude entry.
+ (m32r_model_selected, m32r_sdata_selected): New Variable entries.
+ (mmodel=): Use Enum and Var.
+ (m32r_model): New Enum and EnumValue entries.
+ (mno-flush-trap): Use Var.
+ (msdata=): Use Enum and Var.
+ (m32r_sdata): New Enum and EnumValue entries.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m32c/m32c.c: Don't include opts.h.
+ (target_memregs, target_memregs_set, TARGET_HANDLE_OPTION,
+ m32c_handle_option): Remove.
+ (m32c_option_override): Check global_options_set.x_target_memregs
+ instead of target_memregs_set.
+ * config/m32c/m32c.h (target_memregs): Remove.
+ * config/m32c/m32c.opt (memregs=): Use UInteger with integer
+ variable.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/iq2000/iq2000-opts.h: New.
+ * config/iq2000/iq2000.c: Don't include opts.h.
+ (iq2000_tune, iq2000_handle_option, TARGET_HANDLE_OPTION): Remove.
+ * config/iq2000/iq2000.h (enum processor_type, iq2000_tune): Remove.
+ * config/iq2000/iq2000.opt (config/iq2000/iq2000-opts.h): New
+ HeaderInclude entry.
+ (iq2000_tune): New Variable entry.
+ (march=): Add comment. Use Enum.
+ (iq2000_arch): New Enum and EnumValue entries.
+ (mcpu=): Use Enum and Var.
+ (iq2000_tune): New Enum and EnumValue entries.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/ia64/ia64-opts.h: New.
+ * config/ia64/ia64.c (ia64_tune): Remove.
+ (ia64_handle_option): Don't handle OPT_mfixed_range_ or OPT_mtune_
+ here. Use error_at.
+ (ia64_option_override): Handle deferred OPT_mfixed_range_.
+ * config/ia64/ia64.h (enum processor_type, ia64_tune): Remove.
+ * config/ia64/ia64.opt (config/ia64/ia64-opts.h): New
+ HeaderInclude entry.
+ (ia64_tune): New Variable entry.
+ (mfixed-range=): Use Defer and Var.
+ (mtune=): Use Enum and Var.
+ (ia64_tune): New Enum and EnumValue entries.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/frv/frv-opts.h: New.
+ * config/frv/frv-protos.h (enum frv_cpu, frv_cpu_t): Move to
+ frv-opts.h.
+ (frv_cpu_type): Remove.
+ * config/frv/frv.c: Don't include opts.h.
+ (frv_cpu_type, frv_handle_option, TARGET_HANDLE_OPTION): Remove.
+ * config/frv/frv.opt (config/frv/frv-opts.h): New HeaderInclude entry.
+ (frv_cpu_type): New Variable entry.
+ (frv_cpu): New Enum and EnumValue entries.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/cris/cris.c (cris_handle_option): Access target_flags via
+ opts pointer. Don't assert that global structures are in use.
+ Don't call CRIS_SUBTARGET_HANDLE_OPTION.
+ * config/cris/cris.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't define.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin-opts.h: New.
+ * config/bfin/bfin.c (bfin_lib_id_given, bfin_cpu_type,
+ bfin_si_revision, bfin_workarounds): Remove.
+ (bfin_cpus): Make static const.
+ (bfin_load_pic_reg): Check global_options_set.x_bfin_library_id
+ not bfin_lib_id_given.
+ (bfin_handle_option): Don't set bfin_lib_id_given. Access
+ bfin_cpu_type, bfin_si_revision and bfin_workarounds via opts
+ pointer. Use error_at. Don't assert that global structures are in use.
+ * config/bfin/bfin.h: Include bfin-opts.h.
+ (enum bfin_cpu_type, bfin_cpu_t): Move to bfin-opts.h.
+ (bfin_cpu_type, bfin_si_revision, bfin_workarounds): Remove.
+ * bfin.opt (config/bfin/bfin-opts.h): New HeaderInclude entry.
+ (bfin_cpu_type, bfin_si_revision, bfin_workarounds): New Variable
+ entries.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/arm.opt (mhard-float, msoft-float): Use Alias.
+ * config/arm/arm.c (arm_handle_option): Don't handle -mhard-float
+ or -msoft-float here.
+ * config/arm/arm.h (CPP_SPEC): Handle -mfloat-abi=*, not
+ -msoft-float and -mhard-float.
+ (OPTION_DEFAULT_SPECS): Don't handle -mhard-float and -msoft-float.
+ * config/arm/coff.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
+ msoft-float.
+ * config/arm/elf.h (ASM_SPEC): Don't handle -mhard-float and
+ -msoft-float.
+ (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not msoft-float.
+ * config/arm/linux-elf.h (MULTILIB_DEFAULTS): Use mfloat-abi=hard,
+ not mhard-float.
+ (LIBGCC_SPEC): Don't handle -msoft-float.
+ * config/arm/netbsd-elf.h (SUBTARGET_ASM_FLOAT_SPEC): Don't handle
+ -mhard-float.
+ * config/arm/pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft, not
+ msoft-float.
+ * config/arm/rtems-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Handle
+ -mfloat-abi=*, not -msoft-float and -mhard-float.
+ * config/arm/semi.h((ASM_SPEC): Don't handle -mhard-float and
+ -msoft-float.
+ * config/arm/t-arm-elf (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS):
+ Use mfloat-abi=hard and mfloat-abi=soft in comments, not
+ mhard-float and msoft-float.
+ * config/arm/t-linux (MULTILIB_OPTIONS): Use mfloat-abi=hard and
+ mfloat-abi=soft in comments, not mhard-float and msoft-float.
+ * config/arm/t-rtems (MULTILIB_OPTIONS, MULTILIB_EXCEPTIONS): Use
+ mfloat-abi=soft and mfloat-abi=hard, not msoft-float and
+ mhard-float.
+ * config/arm/t-strongarm-elf (MULTILIB_OPTIONS): Use
+ mfloat-abi=hard and mfloat-abi=soft, not mhard-float and
+ msoft-float.
+ * config/arm/t-wince-pe (MULTILIB_OPTIONS): Use mfloat-abi=hard,
+ not mhard-float.
+ * config/arm/wince-pe.h (MULTILIB_DEFAULTS): Use mfloat-abi=soft,
+ not msoft-float.
+
+2011-03-22 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_expand_prologue): Don't test
+ TARGET_ABI_WINDOWS_NT.
+ (alpha_output_function_end_prologue): Likewise.
+ * config/alpha/alpha.h (TARGET_ABI_OSF): Likewise.
+ (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
+ * config/alpha/alpha.md (call, call_value, tablejump): Likewise.
+ (trap, *movsi_nt_vms): Likewise.
+ (call_nt, call_value_nt, *call_nt_1, *call_value_nt_1): Remove.
+ (*tablejump_osf_nt_internal): Remove.
+ * config/alpha/predicates.md (input_operand): Only test Pmode.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/alpha.c (alpha_handle_option): Access target_flags
+ via opts pointer. Use error_at. Don't assert that global
+ structures are in use.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.c (ix86_isa_flags_explicit): Remove.
+ (ix86_handle_option): Access ix86_isa_flags and
+ ix86_isa_flags_explicit via opts pointer. Don't assert that
+ global structures are in use.
+ (ix86_function_specific_save, ix86_function_specific_restore):
+ Update ix86_isa_flags_explicit field name.
+ * config/i386/i386.opt (ix86_isa_flags_explicit): New Variable entry.
+ (ix86_isa_flags_explicit): Rename TargetSave entry to
+ x_ix86_isa_flags_explicit.
+
+2011-03-22 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (NUM_ARGS): Don't test TARGET_ABI_UNICOSMK.
+ (alpha_option_override, direct_return): Likewise.
+ (alpha_arg_partial_bytes, alpha_setup_incoming_varargs): Likewise.
+ (alpha_va_start, alpha_gimplify_va_arg, alpha_sa_mask): Likewise.
+ (alpha_sa_size, compute_frame_size, alpha_expand_prologue): Likewise.
+ (alpha_start_function, alpha_output_function_end_prologue): Likewise.
+ (alpha_expand_epilogue, alpha_end_function): Likewise.
+ (alpha_init_libfuncs): Likewise.
+ (struct machine_function): Remove unicosmk members.
+ (print_operand) ['t']: Remove.
+ (unicosmk_must_pass_in_stack, unicosmk_initial_elimination_offset,
+ unicosmk_output_module_name, unicosmk_output_common,
+ current_section_align, unicosmk_output_text_section_asm_op,
+ unicosmk_output_data_section_asm_op, unicosmk_init_sections,
+ unicosmk_section_type_flags, unicosmk_unique_section,
+ unicosmk_asm_named_section, unicosmk_insert_attributes,
+ unicosmk_output_align, unicosmk_defer_case_vector,
+ unicosmk_output_addr_vec, unicosmk_output_deferred_case_vectors,
+ SSIB_PREFIX, SSIB_PREFIX_LEN, unicosmk_ssib_name, unicosmk_gen_dsib,
+ unicosmk_output_ssib, unicosmk_add_call_info_word,
+ unicosmk_extern_head, unicosmk_output_default_externs,
+ unicosmk_output_externs, unicosmk_add_extern, unicosmk_dex_list,
+ unicosmk_dex_count, unicosmk_special_name, unicosmk_need_dex,
+ unicosmk_output_dex, unicosmk_file_start, unicosmk_file_end): Remove.
+ * config/alpha/alpha-protos.h: Update.
+ * config/alpha/alpha.h (TARGET_ABI_OSF): Don't test TARGET_ABI_UNICOSMK.
+ * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM): Remove.
+ (UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): Remove.
+ (mulsi3): Don't test TARGET_ABI_UNICOSMK.
+ (*mulsi_se, mulvsi3): Likewise.
+ (divsi3, udivsi3, modsi3, umodsi3, divdi3, udivdi3): Likewise.
+ (*divmodsi_internal, call, call_value, realign): Likewise.
+ (moddi3, umoddi3): Likewise; remove duplicate expander.
+ (moddi3_umk, umoddi3_umk, call_umk, call_value_umk): Remove.
+ (*call_umk_1, *movsi, umk_laum, umk_lalm, *umk_load_ciw): Remove.
+ (*movdi_nofix): Remove r/U alternative.
+ (umk_mismatch_args, arg_home_umk, *call_value_umk): Remove.
+ * config/alpha/constraints.md ("U"): Remove.
+ * config/alpha/predicates.md (call_operand"): Don't test
+ TARGET_ABI_UNICOSMK.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * target.def (handle_option): Take gcc_options and
+ cl_decoded_option pointers and location_t.
+ * doc/tm.texi.in (TARGET_HANDLE_OPTION): Update documentation.
+ * doc/tm.texi: Regenerate.
+ * hooks.c (hook_bool_size_t_constcharptr_int_true): Remove.
+ * hooks.h (hook_bool_size_t_constcharptr_int_true): Don't declare.
+ * lto-opts.c (lto_reissue_options): Generate option structure for
+ targetm.handle_option call.
+ * opts.c (target_handle_option): Update call to
+ targetm.handle_option. Remove assertions about values now passed
+ down to hook.
+ * targhooks.c (default_target_handle_option): New.
+ * targhooks.h (default_target_handle_option): Declare.
+ * config/alpha/alpha.c: Include opts.h.
+ (alpha_handle_option): Update to new hook interface.
+ * config/arm/arm.c: Include opts.h.
+ (arm_handle_option): Update to new hook interface.
+ * config/arm/t-arm (arm.o): Update dependencies.
+ * config/bfin/bfin.c: Include opts.h.
+ (bfin_handle_option): Update to new hook interface.
+ * config/cris/cris.c: Include opts.h.
+ (cris_handle_option): Update to new hook interface.
+ * config/frv/frv.c: Include opts.h.
+ (frv_handle_option): Update to new hook interface.
+ * config/i386/i386.c: Include opts.h.
+ (ix86_handle_option): Update to new hook interface.
+ (ix86_valid_target_attribute_inner_p): Generate option structure
+ for call to ix86_handle_option.
+ * config/i386/t-i386 (i386.o): Update dependencies.
+ * config/ia64/ia64.c: Include opts.h.
+ (ia64_handle_option): Update to new hook interface.
+ * config/ia64/t-ia64 (ia64.o): Update dependencies.
+ * config/iq2000/iq2000.c: Include opts.h.
+ (iq2000_handle_option): Update to new hook interface.
+ * config/m32c/m32c.c: Include opts.h.
+ (m32c_handle_option): Update to new hook interface.
+ * config/m32r/m32r.c: Include opts.h.
+ (m32r_handle_option): Update to new hook interface.
+ * config/m68k/m68k.c: Include opts.h.
+ (m68k_handle_option): Update to new hook interface.
+ * config/mep/mep.c: Include opts.h.
+ (mep_handle_option): Update to new hook interface.
+ * config/microblaze/microblaze.c: Include opts.h.
+ (microblaze_handle_option): Update to new hook interface.
+ * config/mips/mips.c: Include opts.h.
+ (mips_handle_option): Update to new hook interface.
+ * config/mn10300/mn10300.c: Include opts.h.
+ (mn10300_handle_option): Update to new hook interface.
+ * config/pa/pa.c: Include opts.h.
+ (pa_handle_option): Update to new hook interface.
+ * config/pdp11/pdp11.c: Include opts.h.
+ (pdp11_handle_option): Update to new hook interface.
+ * config/rs6000/rs6000.c: Include opts.h.
+ (rs6000_handle_option): Update to new hook interface.
+ * config/rs6000/t-rs6000 (rs6000.o): Update dependencies.
+ * config/rx/rx.c: Include opts.h.
+ (rx_handle_option): Update to new hook interface.
+ * config/s390/s390.c: Include opts.h.
+ (s390_handle_option): Update to new hook interface.
+ * config/score/score.c: Include opts.h.
+ (score_handle_option): Update to new hook interface.
+ * config/sh/sh.c: Include opts.h.
+ (sh_handle_option): Update to new hook interface.
+ * config/sparc/sparc.c: Include opts.h.
+ (sparc_handle_option): Update to new hook interface.
+ * config/v850/v850.c: Include opts.h.
+ (v850_handle_option): Update to new hook interface.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c (driver_unknown_option_callback): Only permit and save
+ unknown -Wno- options.
+ (driver_wrong_lang_callback): Save options directly instead of via
+ driver_unknown_option_callback.
+
+2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * combine.c (simplify_set): Try harder to find the best CC mode when
+ simplifying a nested COMPARE on the RHS.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/gnu.h: Remove.
+ * config/arc: Remove directory.
+ * config/arm/netbsd.h: Remove.
+ * config/arm/t-pe: Remove.
+ * config/crx: Remove directory.
+ * config/i386/netbsd.h: Remove.
+ * config/m68hc11: Remove directory.
+ * config/m68k/uclinux-oldabi.h: Remove.
+ * config/mcore/mcore-pe.h: Remove.
+ * config/mcore/t-mcore-pe: Remove.
+ * config/netbsd-aout.h: Remove.
+ * config/rs6000/gnu.h: Remove.
+ * config/sh/sh-symbian.h: Remove.
+ * config/sh/symbian-base.c: Remove.
+ * config/sh/symbian-c.c: Remove.
+ * config/sh/symbian-cxx.c: Remove.
+ * config/sh/symbian-post.h: Remove.
+ * config/sh/symbian-pre.h: Remove.
+ * config/sh/t-symbian: Remove.
+ * config/svr3.h: Remove.
+ * config/vax/netbsd.h: Remove.
+ * config.build: Don't handle i[34567]86-*-pe.
+ * config.gcc: Remove handling of deprecations for most deprecated
+ targets.
+ (m68k-*-uclinuxoldabi*): Add to second deprecated list.
+ (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*, arm-*-pe*, crx-*-elf,
+ i[34567]86-*-netbsd*, i[34567]86-*-pe, m68hc11-*-*|m6811-*-*,
+ m68hc12-*-*|m6812-*-*, m68k-*-uclinuxoldabi*, mcore-*-pe*,
+ powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
+ sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
+ Remove cases.
+ * config.host: Don't handle i[34567]86-*-pe.
+ * config/rs6000/linux64.h (LINK_OS_GNU_SPEC): Remove.
+ (ASM_SPEC32): Don't handle -mcall-gnu.
+ * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't handle
+ -mcall-gnu.
+ (ASM_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC, CPP_SPEC,
+ STARTFILE_SPEC, LIB_SPEC, ENDFILE_SPEC): Don't handle -mcall-gnu.
+ (LIB_GNU_SPEC, STARTFILE_GNU_SPEC, ENDFILE_GNU_SPEC,
+ LINK_START_GNU_SPEC, LINK_OS_GNU_SPEC, CPP_OS_GNU_SPEC): Remove.
+ (SUBTARGET_EXTRA_SPECS): Remove *_gnu specs.
+ * config/sh/sh-protos.h, config/sh/sh.c: Remove all code
+ conditional on SYMBIAN.
+ * configure.ac: Don't handle powerpc*-*-gnu*.
+ * configure: Regenerate.
+ * doc/extend.texi (interrupt attribute): Don't mention CRX.
+ * doc/install-old.texi (m6811, m6812): Don't mention.
+ * doc/install.texi (arc-*-elf*): Don't document multilib option.
+ (arc-*-elf, CRX, m6811-elf, m6812-elf): Remove.
+ (m68k-uclinuxoldabi): Don't mention.
+ * doc/invoke.texi (ARC Options, CRX Options, M68hc1x Options):
+ Remove.
+ (-mcall-gnu): Remove.
+ * doc/md.texi (CRX Architecture, Motorola 68HC11 & 68HC12
+ families): Remove constraint documentation.
+
+2011-03-22 Marius Strobl <marius@FreeBSD.org>
+
+ * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Replace with...
+ (FBSD_TARGET_CPU_CPP_BUILTINS): ...this.
+ (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
+
+2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48226
+ * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If we see a
+ vector when peeking at the next token for vector, don't expand the
+ keywords.
+
+2011-03-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr-protos.h (expand_epilogue): Change prototype
+ * config/avr/avr.h (struct machine_function): Add field sibcall_fails.
+ * config/avr/avr.c (init_cumulative_args)
+ (avr_function_arg_advance): Use it.
+ * config/avr/avr.c (expand_epilogue): Add bool parameter. Handle
+ sibcall epilogues.
+ (TARGET_FUNCTION_OK_FOR_SIBCALL): Define to...
+ (avr_function_ok_for_sibcall): ...this new function.
+ (avr_lookup_function_attribute1): New static Function.
+ (avr_naked_function_p, interrupt_function_p)
+ (signal_function_p, avr_OS_task_function_p)
+ (avr_OS_main_function_p): Use it.
+ * config/avr/avr.md ("sibcall", "sibcall_value")
+ ("sibcall_epilogue"): New expander.
+ ("*call_insn", "*call_value_insn"): New insn.
+ ("call_insn", "call_value_insn"): Remove
+ ("call", "call_value", "epilogue"): Change expander to handle
+ sibling calls.
+
+2011-03-21 Nick Clifton <nickc@redhat.com>
+
+ * doc/invoke.texi (Overall Options): Move closing brace to end of
+ options list.
+ (Optimization Options): Add missing @gol.
+ (Directory Options): Likewise.
+ (i386 and x86-64 Options): Likewise.
+ (RS6000 and PowerPC Options): Likewise.
+ (i386 and x86-64 Windows Options): Likewise.
+ (V850 Options): Add text missing from descriptions.
+
+2011-03-22 Richard Henderson <rth@redhat.com>
+
+ * config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
+ (avr_incoming_return_addr_rtx): New.
+ (emit_push_byte): New.
+ (expand_prologue): Use it. Remove incorrect dwarf annotation for
+ SREG, RAMPZ, zero register. Push frame pointer by bytes. Add dwarf
+ annotation for __prologue_saves__. Fixup dwarf annotation for CFA.
+ (emit_pop_byte): New.
+ (expand_epilogue): Use it. Pop frame pointer by bytes.
+ * config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
+ (INCOMING_RETURN_ADDR_RTX): New.
+ (INCOMING_FRAME_SP_OFFSET): New.
+ (ARG_POINTER_CFA_OFFSET): New.
+ * config/avr/avr.md (*pushqi): Fix mode of auto-inc.
+ (*pushhi, *pushsi, *pushsf, popqi): Likewise.
+ (pophi): Remove.
+
+ * dwarf2out.c (dwarf2out_frame_debug_expr) [rule 11]: Handle post_dec.
+
+2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * system.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Poison.
+ (FUNCTION_ARG_ADVANCE): Likewise.
+ * tm.texi.in: Change references to them to hook references.
+ * tm.texi: Regenerate.
+ * targhooks.c (default_function_arg): Eliminate check for target
+ macro.
+ (default_function_incoming_arg): Likewise.
+ (default_function_arg_advance): Likewise.
+ * target.def (function_arg, function_incoming_arg): Change to DEFHOOK.
+ (function_arg_advance): Likewise.
+ * target-def.h: Eliminate FUNCTION_INCOMING_ARG check.
+
+2011-03-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * tree.c (build_call_1): New function.
+ (build_call_valist, build_call_array_loc, build_call_vec): Call it.
+
+2011-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48228
+ * tree-vrp.c (vrp_visit_phi_node): Do not stop propagating
+ for single-arg PHIs.
+
+2011-03-22 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48143
+ * config/i386/sse.md (*sse2_cvtpd2dq): Add athlon_decode attribute.
+ (*sse2_cvttpd2dq, sse2_cvtss2sd, *sse2_cvtpd2ps,
+ sse2_cvtps2pd): Likewise.
+
+2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * recog.c (canonicalize_change_group): Use validate_unshare_change.
+
+2011-03-22 Richard Guenther <rguenther@suse.de>
+
+ * gimple.c (gimple_rhs_class_table): POLYNOMIAL_CHREC is not
+ a valid RHS. Make DOT_PROD_EXPR and REALIGN_LOAD_EXPR ternary.
+ * tree-cfg.c (verify_gimple_assign_ternary): Allow DOT_PROD_EXPR
+ and REALIGN_LOAD_EXPR.
+ (verify_gimple_assign_single): Do not allow POLYNOMIAL_CHREC,
+ DOT_PROD_EXPR or REALIGN_LOAD_EXPR.
+ * expr.c (expand_expr_real_1): Move REALIGN_LOAD_EXPR and
+ DOT_PROD_EXPR case ...
+ (expand_expr_real_2): ... here.
+ * gimple-pretty-print.c (dump_ternary_rhs): Handle DOT_PROD_EXPR
+ and REALIGN_LOAD_EXPR.
+ * tree-data-ref.c (split_constant_offset): Bail out for all CHRECs.
+ * tree-vect-loop.c (vect_model_reduction_cost): Handle ternaries.
+ (vect_create_epilog_for_reduction): Likewise.
+ (vectorizable_reduction): Likewise.
+ * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Adjust.
+ * tree-vect-stmts.c (vectorizable_load): Likewise.
+
+2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_cond_expr): Gimplify COMPOUND_EXPR conditions.
+
+2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_delegitimize_address): Fix offset
+ handling for PLTOFF/GOTOFF.
+
+2011-03-22 Nick Clifton <nickc@redhat.com>
+
+ * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Remove
+ trailing backslash from the end of the macro definition.
+
+2011-03-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_delegitimize_address): Handle PLTOFF
+ and PLT unspecs.
+
+2011-03-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * expr.h (prepare_operand): Move to...
+ * optabs.h (prepare_operand): ...here and change the insn code
+ parameter from "int" to "enum insn_code".
+ (insn_operand_matches): Declare.
+ * expr.c (init_expr_target): Use insn_operand_matches.
+ (compress_float_constant): Likewise.
+ * function.c (safe_insn_predicate, assign_parm_setup_reg): Likewise.
+ * optabs.c (can_compare_p, prepare_cmp_insn): Likewise.
+ (emit_cmp_and_jump_insn_1, gen_add2_insn, gen_add3_insn): Likewise.
+ (have_add2_insn, gen_sub2_insn, gen_sub3_insn, have_sub2_insn):
+ Likewise.
+ (gen_cond_trap): Likewise.
+ (prepare_operand): Likewise. Change icode to an insn_code.
+ (insn_operand_matches): New function.
+ * reload.c (find_reloads_address_1): Use insn_operand_matches.
+ * reload1.c (gen_reload): Likewise.
+ * targhooks.c (default_secondary_reload): Likewise.
+
+2011-03-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/alpha/alpha.md (unspec): New define_c_enum.
+ (unspecv): Ditto.
+
+2011-03-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR debug/48214
+ * config/alpha/alpha.c (alpha_pad_noreturn): Do not emit an unop
+ between a call and its CALL_ARG_LOCATION note.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gimplify.c (gimplify_vla_decl): Set TREE_THIS_NOTRAP flag.
+
+2011-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/42544
+ PR c/48197
+ * c-common.c (shorten_compare): If primopN is first sign-extended
+ to opN and then zero-extended to result type, set primopN to opN.
+
+2011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test
+ for barrier handlers.
+
+2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.md (UNSPEC_*, UNSPECV_*): Redefine all
+ UNSPEC constants to be in the unspec enumeration, and redefine
+ all UNSPECV constants to be in the unspecv enumeration, so that
+ dumps print which unspec/unspec_volatile this is.
+ * config/rs6000/vector.md (UNSPEC_*): Ditto.
+ * config/rs6000/paired.md (UNSPEC_*): Ditto.
+ * config/rs6000/vsx.md (UNSPEC_*): Ditto.
+ * config/rs6000/altivec.md (UNSPEC_*, UNSPECV_*): Ditto.
+ * config/rs6000/dfp.md (UNSPEC_*): Ditto.
+
+ * config/rs6000/rs6000.md (UNSPECV_ISYNC, UNSPECV_LWSYNC): Rename
+ UNSPEC_ISYNC and UNSPEC_HWSYNC to UNSPECV_ISYNC and
+ UNSPECV_LWSYNC, since these are used as unspec_volatile.
+ * config/rs6000/sync.md (isync, lwsync): Ditto.
+
+2011-03-21 Richard Guenther <rguenther@suse.de>
+
+ * params.def (lto-min-partition): Fix typo.
+
+2011-03-21 Richard Guenther <rguenther@suse.de>
+
+ PR c/47939
+ * c-decl.c (grokdeclarator): Drop to the main variant only
+ for array types. Drop flag_gen_aux_info check.
+
+2011-03-21 Richard Guenther <rguenther@suse.de>
+
+ PR translation/47911
+ * params.def (lto-partitions): Fix typo.
+ (lto-min-partition): Fix wording.
+
+2011-03-21 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/rs6000/t-freebsd: Remove duplication from file.
+
+2011-03-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47661
+ * gimple.c (is_gimple_condexpr): Use tree_could_throw_p.
+
+2011-03-21 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48210
+ * params.def (lto-partitions): Require at least 1 partition.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gthr-solaris.h: Remove.
+ * gthr.h (_SOLARIS_THREADS): Don't include gthr-solaris.h, remove.
+ * config/sol2.h (CPP_SUBTARGET_SPEC): Remove -threads support.
+ (LIB_SPEC): Likewise.
+ * config/sol2.opt (threads): Remove.
+ * config.gcc (i[34567]86-*-solaris2*): Remove solaris threads support.
+ (sparc*-*-solaris2*): Likewise.
+ * configure.ac (enable_threads): Enable solaris support.
+ * configure: Regenerate.
+ * doc/invoke.texi (Option Summary, Solaris 2 Options): Remove -threads.
+ * doc/install.texi (Configuration, --enable-threads=lib): Remove
+ solaris.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc: Obsolete *-*-solaris2.8*.
+ * doc/install.texi (Specific, *-*-solaris2*): Document it.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/48135
+ * doc/install.texi (Prerequisites, Perl): Remove Glob.pm
+ reference. Solaris 8 perl works.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/48135
+ * doc/install.texi (Prerequisites): Move jar etc. up.
+ Explain support library version requirements.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/48135
+ * doc/install.texi (Prerequisites): Move Perl to build
+ requirements. Always necessary on Solaris 2 with Sun ld.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/install.texi (Specific, alpha*-dec-osf5.1): Update for
+ binutils 2.21.
+ (Specific, i?86-*-solaris2.[89]): Likewise.
+ (Specific, i?86-*-solaris2.10): Likewise.
+ (Specific, mips-sgi-irix6): Likewise.
+ (Specific, *-*-solaris2*): Remove Sun Studio download URL.
+ Update for binutils 2.21.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_lto_plugin): Fix typo.
+ Allow -fuse-linker-plugin for non-default plugin linker.
+ * configure: Regenerate.
+
+2011-03-21 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR bootstrap/48167
+ * gengtype.c (files_rules): Added rule for cp/parser.h.
+
+2011-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48213
+ * config/s390/s390.c (s390_delegitimize_address): Don't call
+ lowpart_subreg if orig_x has BLKmode.
+
+2011-03-21 Kai Tietz <ktietz@redhat.com>
+
+ PR target/12171
+ * doc/plugins.texi: Adjust documentation for plugin register_callback.
+ * tree.h (attribute_spec): Add new member affects_type_identity.
+ * attribs.c (empty_attribute_table): Adjust attribute_spec
+ initializers.
+ * config/alpha/alpha.c: Likewise.
+ * config/arc/arc.c: Likewise.
+ * config/arm/arm.c: Likewise.
+ * config/avr/avr.c: Likewise.
+ * config/bfin/bfin.c: Likewise.
+ * config/crx/crx.c: Likewise.
+ * config/darwin.h: Likewise.
+ * config/h8300/h8300.c: Likewise.
+ * config/i386/cygming.h: Likewise.
+ * config/i386/i386.c: Likewise.
+ * config/ia64/ia64.c: Likewise.
+ * config/m32c/m32c.c: Likewise.
+ * config/m32r/m32r.c: Likewise.
+ * config/m68hc11/m68hc11.c: Likewise.
+ * config/m68k/m68k.c: Likewise.
+ * config/mcore/mcore.c: Likewise.
+ * config/mep/mep.c: Likewise.
+ * config/microblaze/microblaze.c: Likewise.
+ * config/mips/mips.c: Likewise.
+ * config/rs6000/rs6000.c: Likewise.
+ * config/rx/rx.c: Likewise.
+ * config/sh/sh.c: Likewise.
+ * config/sol2.h: Likewise.
+ * config/sparc/sparc.c: Likewise.
+ * config/spu/spu.c: Likewise.
+ * config/stormy16/stormy16.c: Likewise.
+ * config/v850/v850.c: Likewise.
+
+2011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Handle
+ (xor (and A B) C) case when B and C are both constants.
+
+2011-03-21 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * tree-dfa.c (add_referenced_var): Fix typo in comment.
+
+2011-03-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/48168
+ * config/sparc/sparc.c (sparc_delegitimize_address): Add new pattern.
+
+2011-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48156
+ * df-core.c (df_get_bb_dirty): Use df_lr if df_live is NULL,
+ assume df and df_lr are not NULL.
+
+2011-03-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR debug/48023
+ * config/arm/arm.c (create_fix_barrier): Do not emit a minipool
+ between a call and its CALL_ARG_LOCATION note.
+
+2011-03-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR debug/48178
+ * config/sh/sh.c (find_barrier): Don't emit a constant pool
+ between a call and its corresponding CALL_ARG_LOCATION note.
+
+2011-03-19 Anatoly Sokolov <aesok@post.ru>
+
+ * cfgcleanup.c (mark_effect): Use bitmap_set_range/bitmap_clear_range
+ instead of loop. Use HARD_REGISTER_NUM_P predicate.
+ * haifa-sched.c (setup_ref_regs): Ditto.
+ * caller-save.c (add_used_regs_1): Ditto.
+ * dse.c (look_for_hardregs): Ditto.
+ * df-problems.c (df_simulate_one_insn_forwards): Ditto.
+ * sched-rgn.c (check_live_1): Ditto.
+
+2011-03-18 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (diagnose_mismatched_decls): Give an error for
+ redefining a typedef with variably modified type.
+
+2011-03-18 Joseph Myers <joseph@codesourcery.com>
+
+ * c-decl.c (grokfield): Don't allow typedefs for structures or
+ unions with no tag by default.
+ * doc/extend.texi (Unnamed Fields): Update.
+
+2011-03-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
+ Rewrite using indirect functions.
+ (lwp_slwpcb): Ditto.
+ * config/i386/sse.md (avx_vextractf128<mode>): Ditto.
+ (avx_vinsertf128<mode>): Ditto.
+
+2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_delegitimize_address): Handle GOTOFF
+ unspecs.
+
+2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_chunkify_start): Prevent literal pool
+ splitting between a call and its corresponding CALL_ARG_LOCATION note.
+
+2011-03-18 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ PR rtl-optimization/48170
+ * gcse.c (hoist_code): Remove bogus asserts.
+
+2011-03-18 Georg-Johann Lay <avr@gjlay.de>
+
+ * ira-color.c (assign_hard_reg): Honor LOCAL_REGNO in cost
+ computation for prologue/epilogue.
+
+2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.in (check-consistency): Remove.
+
+2011-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48176
+ * dwarf2out.c (dwarf2out_finish): Call output_aranges even when
+ arange_table_in_use is 0, but either text_section_used or
+ cold_text_section_used is true. Don't call it if
+ !info_section_emitted.
+
+2011-03-18 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
+ FUNCTION_VALUE_REGNO_P): Remove.
+ * config/avr/avr-protos.h (avr_ret_register, avr_libcall_value):
+ Remove.
+ * config/avr/avr.c (avr_ret_register): Make static inline.
+ (avr_function_value_regno_p): New function.
+ (avr_libcall_value): Make static. Add 'func' argument.
+ (avr_function_value): Make static. Rename 'func' argument to
+ 'fn_decl_or_type', forward it to avr_libcall_value. Call
+ avr_ret_register function instead of RET_REGISTER macro.
+ (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2011-03-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/23372
+ * gimplify.c (gimplify_arg): Strip redundant TARGET_EXPR.
+
+2011-03-18 Richard Guenther <rguenther@suse.de>
+
+ * doc/install.texi (--enable-gold): Remove.
+ (--with-plugin-ld): Document.
+ * doc/invoke.texi (-fuse-linker-plugin): Clarify.
+
+2011-03-18 Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/47790
+ * expr.c (optimize_bitfield_assignment_op): Revamp to work
+ again after expansion changes.
+
+2011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * combine.c (try_combine): Do simplification only call of
+ subst() on i2 even when i1 is present. Update comments.
+
+2011-03-18 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_delegitimize_address): Handle UNSPEC_SYMOFF
+ and UNSPEC_PCREL_SYMOFF.
+
+2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.md: Use define_c_enum for the unspec constant
+ definitions.
+
+2011-03-18 Richard Henderson <rth@redhat.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48161
+ * expr.c (expand_expr_addr_expr_1): Use simplify_gen_binary
+ instead of gen_rtx_PLUS if EXPAND_SUM or EXPAND_INITIALIZER.
+
+2011-03-17 Anatoly Sokolov <aesok@post.ru>
+
+ * config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/v850/v850-protos.h (v850_output_addr_const_extra): Remove.
+ * config/v850/v850.c (v850_output_addr_const_extra): Make static.
+ Change return type to bool.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2011-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48163
+ * var-tracking.c (prepare_call_arguments): If CALL target
+ is a non-SYMBOL_REF CONSTANT_P, just add that into the list as
+ pc instead of looking it up using cselib_lookup and use
+ Pmode for it if x has VOIDmode.
+ * dwarf2out.c (gen_subprogram_die): If also both first and
+ second CONCAT arguments are VOIDmode, use mode of CONCAT itself.
+
+ PR debug/48163
+ * function.c (assign_parms): For data.passed_pointer parms
+ use MEM of data.entry_parm instead of data.entry_parm itself
+ as DECL_INCOMING_RTL.
+ * dwarf2out.c (rtl_for_decl_location): Use DECL_INCOMING_RTL
+ also when passed and declared mode is the same, DECL_RTL
+ is a MEM with pseudo as address and DECL_INCOMING_RTL is
+ a MEM too.
+
+2011-03-16 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/37273
+ * ira-costs.c (scan_one_insn): Detect constants living in memory and
+ handle them like argument loads from stack slots. Do not double
+ count memory for memory constants and argument loads from stack slots.
+
+2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR debug/48160
+ * var-tracking.c (prepare_call_arguments): Check SUBREG.
+
+2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/48171
+ * config/i386/i386.opt: Add Save to -mavx and -mfma.
+
+2011-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48153
+ * dwarf2out.c (mem_loc_descriptor) <case ENTRY_VALUE>: Return NULL
+ if dwarf_strict.
+ (gen_subprogram_die): Don't add call_site DIEs if dwarf_strict.
+ Clear call_arg_locations and call_arg_loc_last always.
+
+ PR middle-end/48152
+ * var-tracking.c (prepare_call_arguments): If argument needs to be
+ passed by reference, adjust argtype and mode.
+
+2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48134
+ * tree-ssa.c (insert_debug_temp_for_var_def): If we propagated
+ a value make sure to fold the statement.
+
+2011-03-17 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/43872
+ * config/arm/arm.c (arm_get_frame_offsets): Adjust early
+ return condition with !cfun->calls_alloca.
+
+2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/48148
+ * lto-cgraph.c (input_overwrite_node): Clear the abstract
+ origin for decls in other ltrans units.
+ (input_varpool_node): Likewise.
+
+2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48165
+ * tree-object-size.c (compute_object_offset): Properly return
+ the offset operand of MEM_REFs as sizetype.
+
+2011-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48141
+ * params.def (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES): New.
+ * dse.c: Include params.h.
+ (active_local_stores_len): New variable.
+ (add_wild_read, dse_step1): Clear it when setting active_local_stores
+ to NULL.
+ (record_store, check_mem_read_rtx): Decrease it when removing
+ from the chain.
+ (scan_insn): Likewise. Increase it when adding to chain, if it
+ reaches PARAM_MAX_DSE_ACTIVE_LOCAL_STORES limit, set to 1 and
+ set active_local_stores to NULL before the addition.
+ * Makefile.in (dse.o): Depend on $(PARAMS_H).
+
+ PR rtl-optimization/48141
+ * dse.c (record_store): If no positions are needed in an insn
+ that cannot be deleted, at least unchain it from active_local_stores.
+
+2011-03-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/47510
+ * dwarf2out.c (strip_naming_typedef): Factorize out of ...
+ (lookup_type_die_strip_naming_typedef): ... here.
+ (get_context_die): Use it.
+ (gen_typedef_die): Add a DW_AT_{,MIPS_}linkage_name attribute to
+ the anonymous struct named by the naming typedef.
+
+2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/48154
+ * config/i386/i386.c (ix86_builtin_vectorized_function): Check
+ TARGET_ROUND for BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
+
+2011-03-16 Jeff Law <law@redhat.com>
+
+ * tree-vrp.c (identify_jump_threads): Slightly simplify type
+ check for operands of conditional. Allow type to be a pointer.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48149
+ * fold-const.c (fold_binary_loc): Fold
+ COMPLEX_EXPR <REALPART_EXPR <x>, IMAGPART_EXPR <x>>.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/26134
+ * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle rewriting
+ complex part accesses to REALPART_EXPR and IMAGPART_EXPR.
+ (non_rewritable_mem_ref_base): Handle complex type component
+ accesses, constrain offsets for vector and complex extracts
+ more properly.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48146
+ * tree-ssa-sink.c (sink_code_in_bb): Manually update virtual
+ operands avoiding the need for renaming.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ * gimple-fold.c (maybe_fold_reference): Open-code relevant
+ constant folding. Move MEM_REF canonicalization first.
+ Rely on fold_const_aggregate_ref for initializer folding.
+ * tree-ssa-ccp.c (ccp_fold): Handle constant vector extracts.
+
+2011-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48136
+ * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Make sure
+ arg0/arg1 or their arguments are always fold converted to matching
+ types.
+
+ * var-tracking.c (prepare_call_arguments): Add ATTRIBUTE_UNUSED
+ to nargs.
+
+2011-03-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR lto/46944
+ * configure.ac (gcc_cv_gld_major_version, gcc_cv_gld_minor):
+ Handle in-tree gold.
+ (ld_vers): Extract binutils version for gold.
+ (gcc_cv_ld_hidden): Handle gold here.
+ (gcc_cv_lto_plugin): Determine level of linker plugin support.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * gcc.c: Only use LTO plugin if HAVE_LTO_PLUGIN > 0, reject
+ -fuse-linker-plugin otherwise.
+ (LINK_PLUGIN_SPEC): Define. Extract from LINK_COMMAND_SPEC.
+ (LINK_COMMAND_SPEC): Use it.
+ (main): Only look for LTOPLUGINSONAME if HAVE_LTO_PLUGIN > 0.
+
+2011-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ * emit-rtl.c (try_split): Don't call copy_call_info debug hook.
+ * calls.c: Remove debug.h include.
+ (emit_call_1): Don't call virtual_call_token debug hook.
+ * dwarf2out.c (debug_dcall_section, debug_vcall_section,
+ dcall_entry, vcall_entry, dcall_table, vcall_table, vcall_insn,
+ vcall_insn_table, DEBUG_DCALL_SECTION, DEBUG_VCALL_SECTION,
+ size_of_dcall_table, output_dcall_table, size_of_vcall_table,
+ output_vcall_table, dwarf2out_direct_call, vcall_insn_table_hash,
+ vcall_insn_table_eq, store_vcall_insn, lookup_vcall_insn,
+ dwarf2out_virtual_call_token, dwarf2out_copy_call_info,
+ dwarf2out_virtual_call): Remove.
+ (dwarf2_debug_hooks): Remove direct_call, virtual_call_token,
+ copy_call_info and virtual_call hooks.
+ (dwarf2out_init): Don't initialize vcall_insn_table,
+ debug_dcall_section and debug_vcall_section.
+ (prune_unused_types): Don't mark nodes from dcall_table.
+ (dwarf2out_finish): Don't output dcall or vcall tables.
+ * final.c (final_scan_insn): Don't call direct_call or
+ virtual_call debug hooks.
+ * debug.h (struct gcc_debug_hooks): Remove direct_call,
+ virtual_call_token, copy_call_info and virtual_call hooks.
+ (debug_nothing_uid): Remove prototype.
+ * sdbout.c (sdb_debug_hooks): Remove direct_call, virtual_call_token,
+ copy_call_info and virtual_call hooks.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ * dbxout.c (dbx_debug_hooks, xcoff_debug_hooks): Likewise.
+ * debug.c (do_nothing_debug_hooks): Likewise.
+ (debug_nothing_uid): Remove.
+ * doc/invoke.texi (-fenable-icf-debug): Remove.
+ * common.opt (-fenable-icf-debug): Likewise.
+
+ * calls.c (emit_call_1): Set MEM_EXPR on call's MEM.
+ * var-tracking.c (prepare_call_arguments): Use MEM_EXPR on
+ call's MEM. Handle functions returning aggregate through a hidden
+ first pointer. For virtual calls add clobbered pc to call arguments
+ chain.
+ * dwarf2out.c (gen_subprogram_die): Emit
+ DW_AT_GNU_call_site_target_clobbered if DW_AT_GNU_call_site_target
+ can't be emitted.
+
+ PR debug/45882
+ * rtl.def (ENTRY_VALUE): Change format from "e" to "0".
+ * rtl.h (ENTRY_VALUE_EXP): Define.
+ * rtl.c (rtx_equal_p_cb, rtx_equal_p): Handle ENTRY_VALUE.
+ * cselib.c (rtx_equal_for_cselib_p, cselib_hash_rtx): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+ * gengtype.c (adjust_field_rtx_def): Likewise.
+ * var-tracking.c (vt_add_function_parameter): Adjust
+ gen_rtx_ENTRY_VALUE uses, use ENTRY_VALUE_EXP macro.
+ * dwarf2out.c (mem_loc_descriptor): Use ENTRY_VALUE_EXP macro.
+ * cfgexpand.c (expand_debug_expr): If a SSA_NAME without
+ partition is a default definition of a PARM_DECL, use ENTRY_VALUE
+ of its DECL_INCOMING_RTL if possible, or its DECL_RTL if set.
+
+ * final.c (final_scan_insn): Handle NOTE_INSN_CALL_ARG_LOCATION.
+ Call var_location debug hook even on CALL_INSNs.
+ (rest_of_clean_state): Don't print NOTE_INSN_CALL_ARG_LOCATION.
+ * rtl.def (ENTRY_VALUE): New.
+ * dwarf2out.c: Include cfglayout.h.
+ (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands,
+ output_loc_operands_raw): Handle DW_OP_GNU_entry_value.
+ (struct call_arg_loc_node): New type.
+ (call_arg_locations, call_arg_loc_last, block_map, call_site_count,
+ tail_call_site_count): New variables.
+ (dwarf_tag_name): Handle DW_TAG_GNU_call_site and
+ DW_TAG_GNU_call_site_parameter.
+ (dwarf_attr_name): Handle DW_AT_GNU_call_site_value,
+ DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
+ DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
+ DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites
+ and DW_AT_GNU_all_source_call_sites.
+ (mem_loc_descriptor): Handle ENTRY_VALUE.
+ (add_src_coords_attributes): Don't add enything if
+ DECL_SOURCE_LOCATION is UNKNOWN_LOCATION.
+ (dwarf2out_abstract_function): Save and clear call_arg_location,
+ call_site_count and tail_call_site_count around dwarf2out_decl call.
+ (gen_call_site_die): New function.
+ (gen_subprogram_die): Emit DW_TAG_GNU_call_site DIEs for call sites.
+ (gen_lexical_block_die, gen_inlined_subroutine_die): Update block_map.
+ (dwarf2out_function_decl): Clear call_arg_locations,
+ call_arg_loc_last, set call_site_count and tail_call_site_count
+ to -1 and free block_map.
+ (dwarf2out_var_location): Handle NOTE_INSN_CALL_ARG_LOCATION and
+ CALL_INSNs. Add NOTE_DURING_CALL_P var location notes even when not
+ followed by any real instructions.
+ (dwarf2out_begin_function): Set call_site_count and
+ tail_call_site_count to 0.
+ (resolve_addr): If DW_AT_abstract_origin of DW_TAG_GNU_call_site
+ is dw_val_class_addr, attempt to look it up again, for DECL_EXTERNAL
+ attempt to force a DIE for it and worst case remove the attribute.
+ (resolve_one_addr): For TREE_CONSTANT_POOL_ADDRESS_P SYMBOL_REFs
+ check TREE_ASM_WRITTEN of DECL_INITIAL of the decl instead of
+ the decl itself.
+ * var-tracking.c: Include tm_p.h.
+ (vt_stack_adjustments): For calls call note_register_arguments.
+ (argument_reg_set): New variable.
+ (add_stores): For MO_VAL_SET of non-tracked regs from argument_reg_set
+ ensure the VALUE is resolved.
+ (call_arguments): New variable.
+ (prepare_call_arguments): New function.
+ (add_with_sets): For MO_CALL set u.loc from call_arguments and clear it.
+ (struct expand_loc_callback_data): Add ignore_cur_loc field.
+ (vt_expand_loc_callback): If ignore_cur_loc, don't look at cur_loc and
+ always use the best expression.
+ (vt_expand_loc): Add ignore_cur_loc argument.
+ (vt_expand_loc_dummy): Clear ignore_cur_loc field.
+ (emit_note_insn_var_location): Adjust vt_expand_loc callers.
+ (emit_notes_in_bb) <case MO_CALL>: Add NOTE_INSN_CALL_ARG_LOCATION
+ note for all calls.
+ (vt_add_function_parameter): Use cselib_lookup_from_insn.
+ If dv is a VALUE, enter into hash table also ENTRY_VALUE for the
+ argument. Don't call cselib_preserve_only_values and
+ cselib_reset_table.
+ (note_register_arguments): New function.
+ (vt_initialize): Compute argument_reg_set. Call
+ vt_add_function_parameters before processing basic blocks instead of
+ afterwards. For calls call prepare_call_arguments before calling
+ cselib_process_insn.
+ * print-rtl.c (print_rtx): Handle NOTE_INSN_CALL_ARG_LOCATION.
+ * Makefile.in (dwarf2out.o): Depend on $(CFGLAYOUT_H).
+ (var-tracking.o): Depend on $(TM_P_H).
+ * cfglayout.h (insn_scope): New prototype.
+ * gengtype.c (adjust_field_rtx_def): Handle NOTE_INSN_CALL_ARG_LOCATION.
+ * cfglayout.c (insn_scope): No longer static.
+ * insn-notes.def (CALL_ARG_LOCATION): New.
+ * calls.c (expand_call, emit_library_call_value_1): Put USEs for
+ MEM arguments into CALL_INSN_FUNCTION_USAGE unconditionally.
+ * integrate.c (set_block_origin_self, set_block_abstract_flags): Do
+ nothing for DECL_EXTERNAL BLOCK_VARS.
+
+2011-03-16 Alan Modra <amodra@gmail.com>
+
+ PR target/45844
+ * config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
+ create invalid offset address for vsx splat insn.
+ * config/rs6000/predicates.md (splat_input_operand): New.
+ * config/rs6000/vsx.md (vsx_splat_*): Use it.
+
+2011-03-15 Xinliang David Li <davidxl@google.com>
+
+ PR c/47837
+ * tree-ssa-uninit.c (pred_chain_length_cmp): New function.
+ (normalize_preds): New function.
+ (is_use_properly_guarded): Normalize def predicates.
+
+2011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/46788
+ * config/arm/arm.md (arm_movtas_ze): Use 'L' instead of 'c'
+ in the output template.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47650
+ * tree-pretty-print.c (dump_function_declaration): Properly
+ dump unprototyped and varargs function types.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/13954
+ * tree-ssa-sccvn.c (vn_reference_lookup_3): Look through memcpy
+ and friends.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48037
+ * tree-ssa.c (maybe_rewrite_mem_ref_base): Rewrite vector
+ selects into BIT_FIELD_REFs.
+ (non_rewritable_mem_ref_base): Check if a MEM_REF is a
+ vector select.
+
+2011-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48129
+ * builtins.c (fold_builtin_snprintf): Convert to type of
+ built_in_decls[BUILT_IN_SNPRINTF] retval instead of
+ implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/41490
+ * tree-ssa-dce.c (propagate_necessity): Handle returns without
+ value but with VUSE.
+ * tree-ssa-operands.c (parse_ssa_operands): Add a VUSE on all
+ return statements.
+ * tree-ssa-sink.c (statement_sink_location): Fix store sinking.
+ * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Handle virtual PHIs.
+ * tree-tailcall.c (find_tail_calls): Ignore returns.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48031
+ * fold-const.c (fold_indirect_ref_1): Do not create new variable-sized
+ or variable-indexed array accesses when in gimple form.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ * config/i386/i386.c (ix86_emit_swdivsf): Implement more efficiently.
+
+2011-03-15 Alan Modra <amodra@gmail.com>
+
+ PR target/48032
+ * config/rs6000/rs6000.c (offsettable_ok_by_alignment): Do not
+ presume symbol_refs without a symbol_ref_decl are suitably
+ aligned, nor other trees we may see here. Handle anchor symbols.
+ (legitimate_constant_pool_address_p): Comment. Add mode param.
+ Check cmodel=medium addresses. Adjust all calls.
+ (rs6000_emit_move): Don't call offsettable_ok_by_alignment on
+ creating cmodel=medium optimized access to locals.
+ * config/rs6000/constraints.md (R): Pass QImode to
+ legitimate_constant_pool_address_p.
+ * config/rs6000/predicates.md (input_operand): Pass mode to
+ legitimate_constant_pool_address_p.
+ * config/rs6000/rs6000-protos.h (legitimate_constant_pool_address_p):
+ Update prototype.
+
+2011-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48053
+ * config/rs6000/rs6000.md (movdi split for 32-bit): Don't split up
+ 64-bit constants being loaded into registers other than GPRs such
+ as loading 0 into a VSX register.
+
+2011-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/sol2.c (solaris_assemble_visibility): Remove obsolete URLs.
+
+2011-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47917
+ * builtins.c (fold_builtin_snprintf): New function.
+ (fold_builtin_3): Call it for BUILT_IN_SNPRINTF.
+ (fold_builtin_4): Likewise.
+
+ PR middle-end/38878
+ * fold-const.c (fold_binary_loc) <case EQ_EXPR, NE_EXPR>: Add
+ STRIP_NOPS on arg0 and arg1. When optimizing X +- C == X
+ and C - X == X also strip nops from +/-/p+ operand.
+ When optimizing -X == C, fold C to arg0's type.
+
+ PR debug/47946
+ * dwarf2out.c (add_bit_offset_attribute): If bit_offset is negative,
+ emit it as add_AT_int instead of add_AT_unsigned.
+
+2011-03-14 Tom Tromey <tromey@redhat.com>
+
+ * unwind-dw2.c: Include sys/sdt.h if it exists.
+ (_Unwind_DebugHook): Use STAP_PROBE2.
+ * config.in, configure: Rebuild.
+ * configure.ac: Check for sys/sdt.h.
+
+2011-03-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ROUND_FLOOR): New constant.
+ (ROUND_CEIL): Ditto.
+ (ROUND_TRUNC): Ditto.
+ (ROUND_MXCSR): Ditto.
+ (ROUND_NO_EXC): Ditto.
+ (rint<mode>2): Use new defines instead of numerical constants.
+ (floor<mode>2): Ditto.
+ (ceil<mode>2): Ditto.
+ (btrunc<mode>2): Ditto.
+ * config/i386/i386-builtin-types.def: Define ROUND function type
+ aliases.
+ * config/i386/i386.c (enum ix86_builtins): Add
+ IX86_BUILTIN_{FLOOR,CEIL,TRUNC,RINT}{PS,PD}{,256} defines.
+ (struct builtin_description): Add
+ __builtin_ia32_{floor,ceil,trunc,rint}{pd,ps}{,256} descriptions.
+ (ix86_expand_sse_round): New static function.
+ (ix86_expand_args_builtin): Call ix86_expand_sse_round for ROUND
+ function types.
+ (ix86_builtin_vectorized_function): Handle
+ BUILT_IN_{FLOOR,CEIL,TRUNC,RINT}{,F} builtins.
+
+2011-03-14 Tom Tromey <tromey@redhat.com>
+
+ * c-parser.c (c_parser_asm_string_literal): Clear
+ warn_overlength_strings.
+
+2011-03-14 Tom Tromey <tromey@redhat.com>
+
+ * c-parser.c (disable_extension_diagnostics): Save
+ warn_overlength_strings.
+ (restore_extension_diagnostics): Restore warn_overlength_strings.
+
+2011-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ * BASE-VER: Change to 4.7.0.
+
+2011-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48098
+ * tree.c (build_vector_from_val): Adjust assert to requirements
+ and reality.
+
+2011-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48102
+ * graphite-cloog-compat.h (build_cloog_prog): Remove STATE parameter.
+
+2011-03-14 Andreas Tobler <andreast@fgznet.ch>
+
+ * config/rs6000/freebsd.h (RELOCATABLE_NEEDS_FIXUP): Define in
+ terms of target_flags_explicit. Adjust copyright year.
+
+ * config.gcc: Add FreeBSD PowerPC soft-float libgcc bits.
+ * config/rs6000/t-freebsd: New file. Add override for
+ LIB2FUNCS_EXTRA.
+
+2011-03-13 Chris Demetriou <cgd@google.com>
+
+ * doc/invoke.texi (-fdiagnostics-show-option): Replace with...
+ (-fno-diagnostics-show-option): this, to reflect current default.
+ (-Werror=): Update text about -fno-diagnostics-show-option.
+
+2011-03-12 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/48053
+ * config/rs6000/predicates.md (easy_vector_constant_add_self,
+ easy_vector_constant_msb): Do not handle V2DImode and V2DFmode.
+ * config/rs6000/rs6000.c (const_vector_elt_as_int): Add assert that
+ mode is not V2DImode or V2DFmode.
+ (vspltis_constant): Do not handle V2DImode and V2DFmode.
+ (rs6000_expand_vector_init): Replace copy_to_reg with copy_to_mode_reg.
+ * config/rs6000/rs6000.md (movdi_internal32): Allow setting VSX
+ registers to 0.
+ (movdi_internal64): Likewise.
+
+2011-03-12 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47127
+ * graphite-clast-to-gimple.c (build_cloog_prog): Removed state
+ parameter.
+ (set_cloog_options): Same.
+ (scop_to_clast): Same.
+ (print_clast_stmt): Do not call cloog_state_malloc and
+ cloog_state_free.
+ (print_generated_program): Same.
+ (gloog): Same.
+ * graphite-clast-to-gimple.h (cloog_state): Declared.
+ (scop_to_clast): Adjust declaration.
+ * graphite.c (cloog_state): Defined here.
+ (graphite_initialize): Call cloog_state_malloc.
+ (graphite_finalize): Call cloog_state_free.
+
+2011-03-11 Jason Merrill <jason@redhat.com>
+
+ * attribs.c (lookup_attribute_spec): Take const_tree.
+ * tree.h: Adjust.
+
+2011-03-11 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/sparc.c (sparc_option_override): Use
+ PROCESSOR_NIAGARA2 not PROCESSOR_NIAGARA for "niagara2".
+
+2011-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48067
+ * tree-ssa-math-opts.c (convert_mult_to_fma): Verify the
+ multiplication result will be only used once on the target
+ stmt.
+
+2011-03-11 Richard Guenther <rguenther@suse.de>
+
+ * doc/invoke.texi (max-inline-insns-single): Adjust default value.
+
+2011-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48073
+ * tree.c (find_decls_types_r): Do not walk types only reachable
+ from IDENTIFIER_NODEs.
+
+2011-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48044
+ * ipa.c (cgraph_remove_unreachable_nodes): Enqueue
+ all vnode->force_output nodes as needed.
+
+2011-03-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/48069
+ * tree.c (type_hash_eq): Use COMPLETE_TYPE_P, not
+ COMPLETE_OR_UNBOUND_ARRAY_TYPE_P.
+
+2011-03-11 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (verify_cgraph_node): Call cgraph_get_node instead of
+ cgraph_node.
+
+2011-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48063
+ * ipa-inline.c (cgraph_decide_inlining): Don't try to
+ inline functions called once if !tree_can_inline_p (node->callers).
+
+2011-03-11 Chen Liqin <liqin.gcc@gmail.com>
+
+ * config.gcc (score-*-elf): Add extra_parts .., update tmake_file and
+ extra_objs.
+ * config/score/score3.c: Delete.
+ * config/score/score3.h: Delete.
+ * config/score/mul-div.S: Delete.
+ * config/score/sfp-machine.h: Add new file.
+ * config/score/constraints.md: Add new file.
+ * config/score/t-score-softfp: Add new file.
+ * config/score/t-score-elf: Remove score3.o, do not generate multilib.
+ * config/score/score7.c (score7_const_ok_for_letter_p): Delete.
+ (score7_extra_constraint): Delete.
+ (score7_option_override): Remove unused code.
+ * config/score/score.c: Remove score3 and score5 define and code.
+ * config/score/score.h: Remove score3 and score5 define and code.
+ * config/score/score.md: Remove score3 template and unusual insn.
+ * config/score/score.opt: Remove score3 and score5 options.
+
+2011-03-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT
+ when _HPUX_SOURCE is defined.
+ (LIB_SPEC): Use -lc instead of -lc_r when -threads is specified.
+
+2011-03-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/48029
+ * stor-layout.c (layout_type): Don't set structural equality
+ on arrays of incomplete type.
+ * tree.c (type_hash_eq): Handle comparing them properly.
+
+2011-03-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48043
+ * config/s390/s390.c (s390_delegitimize_address): Make sure the
+ result mode matches original rtl mode.
+
+2011-03-10 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (bitset_in_memory, bitclr_in_memory: Fix timings.
+ (andsi3, andsi3_flags): Fix timings for three operand alternative.
+
+2011-03-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/47866
+ * expr.c (store_field): If MEM_SCALAR_P (target), don't use
+ MEM_SET_IN_STRUCT_P (to_rtx, 1), just set MEM_IN_STRUCT_P (to_rtx)
+ if target wasn't scalar.
+ * function.c (assign_stack_temp_for_type): Assert that neither
+ MEM_SCALAR_P nor MEM_IN_STRUCT_P is set previously, set either
+ MEM_IN_STRUCT_P or MEM_SCALAR_P instead of using MEM_SET_IN_STRUCT_P
+ macro.
+ * rtl.h (MEM_SET_IN_STRUCT_P): Removed.
+
+2011-03-09 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_label_align): New prototype.
+ * config/s390/s390.c (s390_label_align): New function.
+ * config/s390/s390.h (LABEL_ALIGN): New target macro definition.
+
+2011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47755
+ * config/rs6000/rs6000.c (easy_altivec_constant): Correctly handle
+ V2DI/V2DF constants. Only all 0's or all 1's are easy.
+ (output_vec_const_move): Ditto.
+
+2011-03-08 Anatoly Sokolov <aesok@post.ru>
+
+ * config/mips/mips.h (PREFERRED_RELOAD_CLASS): Remove macro.
+ * config/mips/mips-protos.h (mips_preferred_reload_class): Remove.
+ * config/mips/mips.c (mips_preferred_reload_class): Make static.
+ Change 'rclass' argument and result type to reg_class_t.
+ (TARGET_PREFERRED_RELOAD_CLASS): Define.
+
+2011-03-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/avr/avr.c (TARGET_REGISTER_MOVE_COST)
+ (TARGET_MEMORY_MOVE_COST): Define.
+ (avr_register_move_cost, avr_memory_move_cost): New Functions.
+
+2011-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47881
+ * ira.c (ira): Call df_analyze again if delete_trivially_dead_insns
+ removed anything.
+
+ PR tree-optimization/48022
+ * fold-const.c (fold_comparison): Don't call fold_overflow_warning
+ for EQ/NE_EXPR.
+
+2011-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47991
+ * var-tracking.c (find_use_val): Return NULL for
+ cui->sets && cui->store_p BLKmode MEMs.
+
+2011-03-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/stormy16/stormy16.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
+ Remove.
+ * config/stormy16/stormy16-protos.h (xstormy16_print_operand,
+ xstormy16_print_operand_address): Remove.
+ * config/stormy16/stormy16.c (xstormy16_print_operand,
+ xstormy16_print_operand_address): Make static.
+ (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define.
+
+2011-03-07 Pat Haugen <pthaugen@us.ibm.com>
+
+ PR target/47862
+ * config/rs6000/rs6000.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
+ * config/rs6000/e500.h (HARD_REGNO_CALLER_SAVE_MODE): Undefine
+ before definition.
+
+2011-03-07 Zdenek Dvorak <ook@ucw.cz>
+
+ PR bootstrap/48000
+ * cfgloopmanip.c (fix_bb_placements): Return immediately
+ if FROM is BASE_LOOP's header.
+
+2011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
+
+ * gimplify.c (gimplify_function_tree): Fix building calls
+ to __builtin_return_address.
+
+2011-03-07 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/linux.h (TARGET_ASM_FILE_END): Don't define.
+ * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Don't define.
+ * config/rs6000/sysv4.h (TARGET_ASM_FILE_END): Define.
+ * config/rs6000/rs6000-protos.h (init_cumulative_args): Add fndecl and
+ return_mode args.
+ * config/rs6000/rs6000.h (CUMULATIVE_ARGS): Add "escapes".
+ (INIT_CUMULATIVE_ARGS): Pass FNDECL, VOIDmode.
+ (INIT_CUMULATIVE_INCOMING_ARGS): Pass current_function_decl, VOIDmode.
+ (INIT_CUMULATIVE_LIBCALL_ARGS): Pass NULL_TREE, MODE.
+ * config/rs6000/rs6000.c
+ (rs6000_elf_end_indicate_exec_stack): Rename to..
+ (rs6000_elf_file_end): ..this. Only call file_end_indicate_exec_stack
+ for POWERPC_LINUX. Move code emitting .gnu_attribute to here, from..
+ (rs6000_file_start): ..here.
+ (rs6000_passes_float, rs6000_passes_vector, rs6000_returns_struct): New
+ file scope variables.
+ (call_ABI_of_interest): New function.
+ (init_cumulative_args): Set above vars when function return value
+ is a float, vector, or small struct.
+ (rs6000_function_arg_advance_1): Likewise for function args.
+ (rs6000_va_start): Set rs6000_passes_float if variable arg function
+ references float args.
+
+2011-03-07 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * doc/cfg.texi: Remove "See" before @ref.
+ * doc/invoke.texi: Likewise.
+
+2011-03-05 Jason Merrill <jason@redhat.com>
+
+ * doc/invoke.texi (C++ Dialect Options): Document ABI v5.
+
+2011-03-05 Anthony Green <green@moxielogic.com>
+
+ * config.gcc (moxie-*-elf): Add newlib-stdint.h to tmfile.
+
+2011-03-05 Zdenek Dvorak <ook@ucw.cz>
+
+ PR rtl-optimization/47899
+ * cfgloopmanip.c (fix_bb_placements): Fix first argument
+ to flow_loop_nested_p when moving the loop upward.
+
+2011-03-05 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/47719
+ * arm.md (movhi_insn_arch4): Accept any immediate constant.
+
+2011-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47967
+ * ipa-cp.c (build_const_val): Return NULL instead of creating
+ VIEW_CONVERT_EXPR for mismatching sizes.
+ (ipcp_create_replace_map): Return NULL if build_const_val failed.
+ (ipcp_insert_stage): If ipcp_create_replace_map returns NULL,
+ give up on versioning.
+
+2011-03-05 Alan Modra <amodra@gmail.com>
+
+ PR target/47986
+ * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+ full cmodel medium/large lo_sum + high addresses.
+
+2011-03-04 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_decompose_address): Reject non-literal
+ pool references in UNSPEC_LTREL_OFFSET.
+
+2011-03-04 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47497
+ * lto-symtab.c (lto_cgraph_replace_node): Do not set thunk.alias.
+ (lto_symtab_merge_cgraph_nodes_1): Update thunk.alias pointers here.
+ * cgraph.h (cgraph_same_body_alias, cgraph_add_thunk):
+ Add node pointers.
+ * cgraph.c (cgraph_same_body_alias_1, cgraph_same_body_alias,
+ cgraph_add_thunk): Add node pointers.
+ * lto-cgraph.c (lto_output_node): Verify that thunks&aliases are
+ associated to right node.
+ (input_node): Update use of cgraph_same_body_alias
+ and cgraph_add_thunk.
+
+2011-03-04 Changpeng Fang <changpeng.fang@amd.com>
+
+ * config/i386/i386.opt (mprefer-avx128): New flag.
+ * config/i386/i386.c (ix86_preferred_simd_mode): Prefer 128-bit AVX
+ modes when the flag -mprefer-avx128 is on.
+
+2011-03-04 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * dwarf2out.c (compare_loc_operands): Fix address handling.
+
+2011-03-04 Alan Modra <amodra@gmail.com>
+
+ * tree.h (TREE_ADDRESSABLE): Update FUNCTION_DECL comment.
+
+2011-03-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47968
+ * expmed.c (extract_bit_field_1): Prefer vector modes that
+ vec_extract patterns can handle.
+
+2011-03-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47975
+ * optabs.c (optab_for_tree_code): Do not use VECTOR_MODE_P.
+
+2011-03-04 Richard Henderson <rth@redhat.com>
+
+ * explow.c (emit_stack_save): Remove 'after' parameter.
+ (emit_stack_restore): Likewise.
+ * expr.h: Update to match.
+ * builtins.c, calls.c, stmt.c: Likewise.
+ * config/alpha/alpha.md, config/avr/avr.md: Likewise.
+ * config/mips/mips.md, config/pa/pa.md, config/vax/vax.md: Likewise.
+ * function.c (expand_function_end): Insert the emit_stack_save
+ sequence before parm_birth_insn instead of after.
+
+2011-03-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/sse.md (*avx_pmaddubsw128): Fix mode of VEC_SELECT RTX.
+ (ssse3_pmaddubsw128): Ditto.
+ (ssse3_pmaddubsw): Ditto.
+
+2011-03-03 Steve Ellcey <sje@cup.hp.com>
+
+ * config/ia64/t-hpux: Add $(srcdir)/unwind-c.c to LIB2ADDEH
+
+2011-03-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/47963
+ * gimplify.c (omp_add_variable): Only call omp_notice_variable
+ on TYPE_SIZE_UNIT if it is a DECL.
+
+ PR debug/47283
+ * cfgexpand.c (expand_debug_expr) <case MEM_REF>: If MEM_REF
+ first operand is not is_gimple_mem_ref_addr, try to fold it.
+ If the operand still isn't is_gimple_mem_ref_addr, clear
+ MEM_EXPR on op0.
+
+2011-03-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47283
+ * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Make code
+ match comment.
+ (refs_may_alias_p_1): For release branches return true if
+ we are confused by our input.
+
+2011-03-03 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (s390_function_value): Rename to ...
+ (s390_function_and_libcall_value): ... this.
+ (s390_function_value): New function.
+ (s390_libcall_value): New function.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE): Define target hooks.
+ * config/s390/s390.h (FUNCTION_VALUE, LIBCALL_VALUE): Remove
+ target macro definitions.
+ * config/s390/s390-protos.h (s390_function_value): Remove prototype.
+
+2011-03-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/freebsd64.h (CC1_SPEC): Define.
+ * config/i386/linux64.h (CC1_SPEC): Define.
+ * config/i386/x86-64.h (CC1_SPEC): Don't define.
+
+2011-03-02 Anatoly Sokolov <aesok@post.ru>
+
+ * config/stormy16/stormy16.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
+ Remove.
+ * config/stormy16/stormy16.c: Include reload.h.
+ (xstormy16_memory_move_cost): New function.
+ (TARGET_MEMORY_MOVE_COST): Define.
+
+2011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/47925
+ * cse.c (count_reg_usage): Don't ignore the SET_DEST of instructions
+ with side effects. Remove the more-specific check for volatile asms.
+
+2011-03-02 Alan Modra <amodra@gmail.com>
+
+ PR target/47935
+ * config/rs6000/predicates.md (lwa_operand): Check cmodel medium
+ toc relative addresses for valid offsets.
+
+2011-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47890
+ * tree-vect-loop.c (get_initial_def_for_induction): Set
+ related stmt properly.
+
+2011-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47924
+ * lto-streamer.c (lto_record_common_node): Also register
+ the canonical type.
+
+2011-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46911
+ * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
+ Do not stream DECL_ABSTRACT_ORIGIN.
+ (lto_input_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
+ BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
+ * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
+ Do not stream DECL_ABSTRACT_ORIGIN.
+ (lto_output_ts_block_tree_pointers): Nor BLOCK_SOURCE_LOCATION,
+ BLOCK_NONLOCALIZED_VARS or BLOCK_ABSTRACT_ORIGIN.
+
+2011-02-28 Anatoly Sokolov <aesok@post.ru>
+
+ * config/stormy16/stormy16.h (FUNCTION_VALUE, LIBCALL_VALUE,
+ FUNCTION_VALUE_REGNO_P): Remove.
+ * config/stormy16/stormy16-protos.h (xstormy16_function_value): Remove.
+ * config/stormy16/stormy16.c (xstormy16_function_value): Make static.
+ Add 'outgoing' argument.
+ (xstormy16_libcall_value, xstormy16_function_value_regno_p): New
+ function.
+ (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
+ TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2011-02-28 Kai Tietz <kai.tietz@onevision.com>
+
+ PR debug/28047
+ * dwarf2out.c (file_table_eq): Use filename_cmp instead of strcmp.
+ (lookup_filename): Likewise.
+ * final.c (remap_debug_filename): Use filename_ncmp instead of strncmp.
+
+2011-02-28 Bernd Schmidt <bernds@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47893
+ * rtl.h (ASLK_REDUCE_ALIGN, ASLK_RECORD_PAD): Define.
+ (assign_stack_local_1): Change last argument type to int.
+ * function.c (assign_stack_local_1): Replace reduce_alignment_ok
+ argument with kind. If bit ASLK_RECORD_PAD is not set in it,
+ don't record padding space into frame_space_list nor use those areas.
+ (assign_stack_local): Adjust caller.
+ (assign_stack_temp_for_type): Call assign_stack_local_1 instead
+ of assign_stack_local, pass 0 as last argument.
+ * caller-save.c (setup_save_areas): Adjust assign_stack_local_1
+ callers.
+
+2011-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47283
+ * cfgexpand.c (convert_debug_memory_address): Add AS parameter.
+ Use target address_mode and pointer_mode hooks instead of hardcoded
+ Pmode and ptr_mode. Handle some simple cases of extending if
+ POINTERS_EXTEND_UNSIGNED < 0.
+ (expand_debug_expr) <case MEM_REF, INDIRECT_REF, TARGET_MEM_REF>:
+ Call convert_debug_memory_address.
+ (expand_debug_expr) <case ADDR_EXPR>: Pass as to
+ convert_debug_memory_address.
+
+ PR middle-end/46790
+ * configure.ac (HAVE_LD_EH_GC_SECTIONS_BUG): New test.
+ * configure: Regenerated.
+ * config.in: Regenerated.
+ * varasm.c (default_function_section): Return NULL
+ if HAVE_LD_EH_GC_SECTIONS_BUG and decl has implicit section name.
+
+2011-02-28 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-inline.c (cgraph_decide_inlining_of_small_functions): Fix
+ the description to match the printed values.
+
+2011-02-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (tree_function_versioning): Set BLOCK_SUPERCONTEXT
+ of the copied scope tree.
+
+2011-02-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/extend.texi (Function Attributes): Avoid deeply (and
+ wrongly) nested tables.
+
+2011-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47903
+ * real.c (real_arithmetic) <case PLUS_EXPR, MINUS_EXPR,
+ MULT_EXPR, RDIV_EXPR>: Clear padding bits in *r first if
+ r isn't op0 nor op1.
+
+2011-02-23 Georg-Johann Lay <avr@gjlay.de>
+
+ * config/avr/avr.md: Remove magic comment for emacs.
+
+2011-02-23 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/45261
+ * config/avr/avr.c (avr_option_override): Use error on bad options.
+ (avr_help): New function.
+ (TARGET_HELP): Define.
+
+2011-02-22 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/42240
+ * config/avr/avr.c (avr_cannot_modify_jumps_p): New function.
+ (TARGET_CANNOT_MODIFY_JUMPS_P): Define.
+
+2011-02-26 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (ARC Options): Use CPU instead of cpu.
+ (ARM Options): Ditto.
+ (i386 and x86-64 Options): Ditto.
+ (RX Options): Ditto.
+ (SPARC Options): Ditto.
+
+2011-02-26 Tijl Coosemans <tijl@coosemans.org>
+
+ * config.gcc (i386-*-freebsd*): Make i486 the default arch on
+ FreeBSD 6 and later. Generally use cpu generic.
+
+2011-02-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/cpp.texi: Update copyright years.
+
+2011-02-25 Sebastien Bourdeauducq <sebastien@milkymist.org>
+
+ PR target/46898
+ * config/lm32/lm32.md (ashrsi3): Added needed variable.
+
+2011-02-25 Jon Beniston <jon@beniston.com>
+
+ PR target/46898
+ * config/lm32/lm32.h (INCOMING_RETURN_ADDR_RTX): New.
+ * config/lm32/lm32.md (ashlsi3): Remove unused variable.
+ * config/lm32/lm32.c (TARGET_EXCEPT_UNWIND_INFO): New.
+ (lm32_block_move_inline): Add type cast to remove warning.
+ (lm32_expand_prologue): Generate fp in a way compatible with dwarf2out.
+ (gen_int_relational): Move declarations to start of function.
+
+2011-02-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/45470
+ * tree-vect-data-refs.c (vect_analyze_data_refs): Fail if a statement
+ can throw internally only.
+ * tree-vect-stmts.c (vectorizable_call): Likewise.
+
+2011-02-24 Anatoly Sokolov <aesok@post.ru>
+
+ * config/stormy16/stormy16.h (PREFERRED_RELOAD_CLASS,
+ PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
+ * config/stormy16/stormy16-protos.h
+ (xstormy16_preferred_reload_class): Remove.
+ * config/stormy16/stormy16.c (xstormy16_preferred_reload_class): Make
+ static. Change 'rclass' argument and return type to reg_class_t.
+ (TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+
+2011-02-24 Richard Guenther <rguenther@suse.de>
+
+ * lto-streamer-in.c (input_bb): Do not find referenced vars
+ in debug statements.
+
+2011-02-23 Jason Merrill <jason@redhat.com>
+
+ * common.opt (fabi-version): Document v5 and v6.
+
+2011-02-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47849
+ * tree-if-conv.c (main_tree_if_conversion): Free postdom info.
+
+2011-02-23 Jie Zhang <jie@codesourcery.com>
+
+ * opts-common.c (decode_cmdline_option): Print empty string
+ argument as "" in decoded->orig_option_with_args_text.
+ * gcc.c (execute): Print empty string argument as ""
+ in the verbose output.
+ (do_spec_1): Keep empty string argument.
+
+2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config.gcc: Declare score-* and crx-* obsolete.
+
+2011-02-23 Jie Zhang <jie@codesourcery.com>
+
+ PR rtl-optimization/47763
+ * web.c (web_main): Ignore naked clobber when replacing register.
+
+2011-02-22 Anatoly Sokolov <aesok@post.ru>
+
+ * config/stormy16/stormy16.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
+ Remove.
+
+2011-02-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR doc/47848
+ * doc/invoke.texi: Do not mention -ftree-loop-if-convert-memory-writes.
+
+2011-02-22 Mike Stump <mikestump@comcast.net>
+
+ * acinclude.m4 (gcc_cv_gas_vers): Add -arch ppc for probing darwin
+ assembler.
+ * configure: Regenerate.
+
+2011-02-21 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR rtl-optimization/46002
+ * ira-color.c (update_copy_costs): Change class intersection
+ test to reg_class_contents[] test of 'hard_regno'.
+
+2011-02-21 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/osf5.opt (mno-mips-tfile): Mark as Target rather
+ than Driver option.
+ * config/hpux11.opt (mt): Likewise.
+ * config/microblaze/microblaze.opt (mxl-mode-xilkernel): Likewise.
+ * config/rs6000/xilinx.opt (mno-clearbss, mppcperflib): Likewise.
+ * config/vax/elf.opt (mno-asm-pic): Likewise.
+ * config/vms/vms.opt (map, mvms-return-codes): Likewise.
+
+2011-02-21 Mike Stump <mikestump@comcast.net>
+
+ PR target/47822
+ * config/darwin-protos.h (darwin_init_cfstring_builtins): Return a
+ tree so we can get save the type.
+ * config/i386/darwin.h (SUBTARGET_INIT_BUILTINS): Reserve builtin slot
+ for CFString instead of trying to use past the end of the builtins.
+ * config/i386/i386.c (IX86_BUILTIN_CFSTRING): Likewise.
+ * config/rs6000/rs6000-builtin.def (RS6000_BUILTIN_CFSTRING): Likewise.
+ * config/rs6000/darwin.h (SUBTARGET_INIT_BUILTINS): Likewise.
+ * config/darwin.c (DARWIN_BUILTIN_CFSTRINGMAKECONSTANTSTRING):
+ Rename to darwin_builtin_cfstring.
+ (darwin_init_cfstring_builtins): Return the built type.
+
+2011-02-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/47840
+ * config/i386/avxintrin.h (_mm256_insert_epi32): Use _mm_insert_epi32.
+ (_mm256_insert_epi64): Use _mm_insert_epi64.
+
+2011-02-21 Anatoly Sokolov <aesok@post.ru>
+
+ * config/stormy16/stormy16.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+ * config/stormy16/stormy16-protos.h
+ (xstormy16_mode_dependent_address_p): Remove.
+ * config/stormy16/stormy16.c (xstormy16_mode_dependent_address_p):
+ Make static. Change return type to bool. Change argument type to
+ const_rtx. Remove dead code.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+
+2011-02-21 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47820
+ * lto-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
+ Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
+ (lto_input_ts_block_tree_pointers): Hook a BLOCK into the
+ TUs context.
+ * lto-streamer-out.c (lto_output_ts_decl_common_tree_pointers):
+ Do not stream DECL_INITIAL for TRANSLATION_UNIT_DECLs.
+
+2011-02-20 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47822
+ * tree.c (free_lang_data_in_decl): Clean builtins from
+ the TU decl BLOCK_VARS.
+
+2011-02-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47620
+ PR debug/47630
+ * haifa-sched.c (fix_tick_ready): Skip tick computation
+ for debug insns.
+
+2011-02-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47647
+ * lto-streamer-in.c (lto_input_ts_decl_minimal_tree_pointers):
+ Remove lazy BLOCK_VARS streaming.
+ (lto_input_ts_block_tree_pointers): Likewise.
+ * lto-streamer-out.c (lto_output_ts_block_tree_pointers): Likewise.
+
+2011-02-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (i[34567]86-pc-msdosdjgpp*): Use i386/djgpp-stdint.h.
+
+2011-02-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/biarch32.h, config/i386/mach.h,
+ config/rs6000/aix.opt, config/sh/superh64.h: Remove.
+
+2011-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47800
+ * config/i386/i386.md (peephole2 for shift and plus): Use
+ operands[1] original mode in the first insn.
+
+2011-02-18 Mike Stump <mikestump@comcast.net>
+
+ * config/t-darwin (TM_H): Add dependency on darwin-sections.def.
+
+2011-02-18 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/47788
+ * ipa-inline.c (compute_inline_parameters): Set disregard_inline_limits
+ to zero when the function is not inlinable at all.
+
+2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config.gcc (hppa[12]*-*-hpux11*): Set extra_parts.
+ * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
+ pthread_mutex_unlock, pthread_once): Reinstate pthread stubs.
+ * config/pa/t-pa-hpux11: Add rules to build pthread stubs.
+ * config/pa/t-pa64: Likewise.
+ * config/pa/pa-hpux11.h (LINK_GCC_C_SEQUENCE_SPEC): Define.
+
+2011-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR driver/47787
+ * gcc.c (default_compilers): Clear combinable field for "@cpp-output".
+
+2011-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR target/47792
+ * gthr-dce.h (__gthread_mutx_destroy): Fix typo in name.
+
+2011-02-18 Anatoly Sokolov <aesok@post.ru>
+
+ * config/m32r/m32r.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
+ RTX_OK_FOR_BASE_P, RTX_OK_FOR_OFFSET_P, LEGITIMATE_OFFSET_ADDRESS_P,
+ LEGITIMATE_LO_SUM_ADDRESS_P, LOAD_POSTINC_P, STORE_PREINC_PREDEC_P,
+ GO_IF_LEGITIMATE_ADDRESS): Remove macros.
+ * config/m32r/m32r.c (TARGET_LEGITIMATE_ADDRESS_P): Define.
+ (m32r_rtx_ok_for_base_p, m32r_rtx_ok_for_offset_p,
+ m32r_legitimate_offset_addres_p, m32r_legitimate_lo_sum_addres_p,
+ m32r_load_postinc_p, m32r_store_preinc_predec_p,
+ m32r_legitimate_address_p): New functions.
+ * config/m32r/constraints.md (constraint "S"): Don't use
+ STORE_PREINC_PREDEC_P.
+ (constraint "U"): Don't use LOAD_POSTINC_P.
+
+2011-02-18 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR rtl-optimization/46178
+ * ira.c (setup_hard_regno_class): Use ira_class_translate[] to
+ compute ira_hard_regno_cover_class[].
+
+2011-02-18 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47798
+ * lto-streamer.h (lto_global_var_decls): Declare.
+ * lto-streamer-in.c (lto_register_var_decl_in_symtab): Register
+ statics for global var processing.
+
+2011-02-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47737
+ * tree-ssa-loop-im.c (extract_true_false_args_from_phi): Fix
+ edge dominance check.
+
+2011-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47780
+ * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
+ avoid invalid rtx sharing.
+
+2011-02-18 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/cpp.texi (Obsolete Features): Add background on the
+ origin of assertions.
+
+2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin-c.c (darwin_cpp_builtins): Define __OBJC2__ for
+ objc_abi == 2.
+ * config/darwin.c (output_objc_section_asm_op): Added support for
+ ABI v1 and v2.
+ (is_objc_metadata): New.
+ (darwin_objc2_section): New.
+ (darwin_objc1_section): New.
+ (machopic_select_section): Added support for ABI v1 and v2.
+ (darwin_emit_objc_zeroed): New.
+ (darwin_output_aligned_bss): Detect objc metadata and treat it
+ appropriately.
+ (darwin_asm_output_aligned_decl_common): Same.
+ (darwin_asm_output_aligned_decl_local): Same.
+ * config/darwin-sections.def: Updated for ABI v1 and v2.
+ * config/darwin.h (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): When
+ compiling Objective-C code for the NeXT runtime, default to using
+ ABI version 0 for 32-bit, and version 2 for 64-bit.
+
+2011-02-17 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (optimize_fast): New Variable.
+ * opts.c (default_options_optimization): Use opts->x_optimize_fast
+ instead of local variable ofast.
+
+2011-02-17 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * doc/invoke.texi (fobjc-abi-version): Documented.
+ (fobjc-nilcheck): Documented.
+ (fno-nil-receiver): Updated documentation to refer to the NeXT ABI
+ version.
+
+2011-02-17 Joseph Myers <joseph@codesourcery.com>
+
+ PR driver/47390
+ * common.opt (export-dynamic): New Driver option.
+ * gcc.c (LINK_COMMAND_SPEC): Add comment about %{e*}.
+
+2011-02-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rx/rx.h (LIB_SPEC): Match -msim not -msim*.
+
+2011-02-17 Alexandre Oliva <aoliva@redhat.com>
+ Jan Hubicka <jh@suse.cz>
+
+ PR debug/47106
+ PR debug/47402
+ * cfgexpand.c (account_used_vars_for_block): Remove.
+ (estimated_stack_frame_size): Use referenced vars.
+ * tree-inline.c (remap_decl): Only mark VAR_DECLs as referenced
+ that were referenced in the original function. Test src_fn
+ rather than cfun. Drop redundant get_var_ann.
+ (setup_one_parameter): Drop redundant get_var_ann.
+ (declare_return_variable): Likewise.
+ (copy_decl_for_dup_finish): Mark VAR_DECLs referenced in src_fn.
+ (copy_arguments_for_versioning): Drop redundant get_var_ann.
+ * ipa-inline.c (compute_inline_parameters): Do not compute
+ disregard_inline_limits here.
+ (compute_inlinable_for_current, pass_inlinable): New.
+ (pass_inline_parameters): Require PROP_referenced_vars.
+ * cgraphunit.c (cgraph_process_new_functions): Don't run
+ compute_inline_parameters explicitly unless function is in SSA form.
+ (cgraph_analyze_function): Set .disregard_inline_limits.
+ * tree-sra.c (convert_callers): Compute inliner parameters
+ only for functions already in SSA form.
+
+2011-02-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/sparc.h (CPP_ENDIAN_SPEC): Don't handle
+ -mlittle-endian-data.
+
+2011-02-17 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): Match -mfpu and
+ -mno-fpu, not -fpu and -no-fpu.
+ * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): Likewise.
+ * config/sparc/sparc.h (OPTION_DEFAULT_SPECS): Likewise.
+
+2011-02-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43653
+ * config/i386/i386.c (ix86_secondary_reload): Handle SSE
+ input reload with PLUS RTX.
+
+2011-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.opt (mno-mdmx): Use Var(TARGET_MDMX, 0) instead
+ of InverseVar(MDMX).
+
+2011-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sh/embed-elf.h (LIBGCC_SPEC): Match -m4-340 instead of
+ --m4-340.
+
+2011-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mn10300/mn10300.opt (mno-crt0): New.
+
+2011-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m68k/uclinux.opt (static-libc): New Driver option.
+
+2011-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m32c/m32c.h (LIB_SPEC): Match -msim not -msim*.
+
+2011-02-16 Joseph Myers <joseph@codesourcery.com>
+
+ * config/lm32/lm32.h (ASM_SPEC): Use %{muser-enabled} instead of
+ %{muser-extend-enabled}.
+
+2011-02-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47738
+ * tree-ssa-loop.c (run_tree_predictive_commoning): Return
+ the TODO from tree_predictive_commoning.
+
+2011-02-15 Jeff Law <law@redhat.com>
+
+ Revert
+ 2011-01-25 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/37273
+ * ira-costs.c (scan_one_insn): Detect constants living in memory and
+ handle them like argument loads from stack slots. Do not double
+ count memory for memory constants and argument loads from stack slots.
+
+2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47755
+ * config/rs6000/predicates.md (easy_vector_constant): Allow V2DI
+ mode for vector constants. Remove code that checks for TImode.
+
+2011-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ PR debug/47402
+ * cgraph.h (compute_inline_parameters): Return void.
+ * ipa-inline.c (compute_inline_parameters): Adjust.
+
+2011-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ PR debug/47402
+ * tree-inline.h (estimated_stack_frame_size): Take cgraph node
+ rather than decl.
+ * cfgexpand.c (estimated_stack_frame_size): Likewise.
+ * ipa-inline.c (compute_inline_parameters): Adjust.
+
+2011-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ PR debug/47402
+ * tree-flow.h (FOR_EACH_REFERENCED_VAR): Add FN argument.
+ Adjust all users. Pass FN to...
+ * tree-flow-inline.h (first_referenced_var): ... this. Add
+ fn argument.
+ * ipa-struct-reorg.c: Adjust.
+ * tree-dfa.c: Adjust.
+ * tree-into-ssa.c: Adjust.
+ * tree-sra.c: Adjust.
+ * tree-ssa-alias.c: Adjust.
+ * tree-ssa-live.c: Adjust.
+ * tree-ssa.c: Adjust.
+ * tree-ssanames.c: Adjust.
+ * tree-tailcall.c: Adjust.
+
+2011-02-15 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ PR debug/47402
+ * tree-flow.h (referenced_var_lookup): Add fn parameter.
+ Adjust all callers.
+ * tree-dfa.c (referenced_var_lookup): Use fn instead of cfun.
+ * tree-flow-inline.h: Adjust.
+ * gimple-pretty-print.c: Adjust.
+ * tree-into-ssa.c: Adjust.
+ * tree-ssa.c: Adjust.
+ * cfgexpand.c: Adjust.
+
+2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/iq2000/i2000.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT): Delete.
+ * config/iq2000/constraints.md: New file.
+ * config/iq2000/iq2000.md: Include it.
+ (define_insn ""): Delete.
+ (movsi_internal2, movhi_internal2, movqi_internal2): Delete
+ unsupported constraint letters from patterns.
+ (call_value, call_value_internal1): Likewise.
+ (call_value_multiple_internal1): Likewise.
+
+2011-02-15 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c: Include tm-constrs.h.
+ (struct liw_data): New data structure describing an LIW candidate
+ instruction.
+ (extract_bundle): Use struct liw_data. Allow small integer
+ operands for some instructions.
+ (check_liw_constraints): Use struct liw_data. Remove swapped
+ parameter. Add comments describing the checks. Fix bug when
+ assigning the source of liw1 to the source of liw2.
+ (liw_candidate): Delete. Code moved into extract_bundle.
+ (mn10300_bundle_liw): Use struct liw_data. Check constraints
+ before swapping.
+ * config/mn10300/predicates.md (liw_operand): New predicate.
+ Allows registers and small integer constants.
+ * config/mn10300/constraints.md (O): New constraint. Accetps
+ integers in the range -8 to +7 inclusive.
+ * config/mn10300/mn10300.md (movesi_internal): Add an alternative
+ for moving a small integer into a register. Give this alternative
+ LIW attributes.
+ (addsi3, subsi3, cmpsi, lshrsi3, ashrsi3): Likewise.
+ (ashlsi3): Likewise, plus give LIW attributes to the alternatives
+ using the J,K,L and M constraints,
+ (liw): Remove SI mode on second operands to allow for HI and QI
+ mode values.
+ (cmp_liw, liw_cmp): Likewise. Plus fix order of operands in the
+ instruction.
+
+2011-02-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47743
+ * tree-ssa-pre.c (phi_translate_1): If we didn't get a value-number
+ for a non-type-compatible VN lookup bail out.
+
+2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/fr30/constraints.md: New file.
+ * config/fr30/fr30.md: Include it.
+ * config/fr30/fr30.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT): Delete.
+
+2011-02-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/frv/constraints.md: New file.
+ * config/frv/predicates.md: Include it.
+ * config/frv/frv.c (reg_class_from_letter): Delete.
+ (frv_option_override): Don't initialize it.
+ * config/frv/frv.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_K): Delete.
+ (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Delete.
+ (CONST_OK_FOR_O, CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
+ (CONST_DOUBLE_OK_FOR_G, CONST_DOUBLE_OK_FOR_H): Delete.
+ (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT_FOR_Q, EXTRA_CONSTRAINT_FOR_R): Delete.
+ (EXTRA_CONSTRAINT_FOR_S, EXTRA_CONSTRAINT_FOR_T): Delete.
+ (EXTRA_CONSTRAINT_FOR_U, EXTRA_CONSTRAINT): Delete.
+ (EXTRA_MEMORY_CONSTRAINT, CONSTRAINT_LEN): Delete.
+ (REG_CLASS_FROM_CONSTRAINT): Delete.
+
+2011-02-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47581
+ * config/i386/i386.c (ix86_compute_frame_size): Don't align offset
+ if frame size is 0 in a leaf function.
+
+2011-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR pch/14940
+ * config/alpha/host-osf.c: New file.
+ * config/alpha/x-osf: New file.
+ * config.host (alpha*-dec-osf*): Use it.
+
+2011-02-14 Anatoly Sokolov <aesok@post.ru>
+
+ * config/rx/rx.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+ * config/rx/rx-protos.h (rx_is_mode_dependent_addr): Remove.
+ * config/xtensa/xtensa.c (rx_is_mode_dependent_addr): Rename to...
+ (rx_mode_dependent_address_p): ...this. Make static. Change argument
+ type to const_rtx.
+ (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+
+2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/stormy16/constraints.md: New file.
+ * config/stormy16/predicates.md (nonimmediate_nonstack_operand):
+ Use satisfies_constraint_Q and satisfies_constraint_R.
+ * config/stormy16/stomry16-protos.h (xstormy16_extra_constraint_p):
+ Delete.
+ (xstormy16_legitiamte_address_p): Declare.
+ * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT): Delete.
+ * config/stormy16/stormy16.c (xstormy16_legitimate_address_p):
+ Un-staticize.
+ (xstormy16_extra_constraint_p): Delete.
+
+2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/46494
+ * loop-unroll.c (split_edge_and_insert): Adjust comment.
+ * loop-init.c (loop_optimizer_finalize): Do not call verify_flow_info.
+ (pass_rtl_loop_done): Add TODO_verify_flow.
+ * fwprop.c (pass_rtl_fwprop): Likewise.
+ * modulo-sched.c (pass_sms): Likewise.
+ * tree-ssa-dom.c (pass_dominator): Likewise.
+ * tree-ssa-loop-ch.c (pass_ch): Likewise.
+ * tree-ssa-loop.c (pass_complete_unrolli): Likewise.
+ (pass_tree_loop_done): Likewise.
+ * tree-ssa-pre.c (execute_pre): Likewise.
+ * tree-ssa-reassoc.c (pass_reassoc): Likewise.
+ * tree-ssa-sink.c (pass_sink_code): Likewise.
+ * tree-vrp.c (pass_vrp): Likewise.
+
+2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/v850/constraints.md: New file.
+ * config/v850/v850.md: Include it.
+ * config/v850/predicates.md (reg_or_0_operand): Use
+ satisfies_constraint_G.
+ (special_symbolref_operand): Use satisfies_constraint_K.
+ * config/v850/v850.h (CONSTANT_ADDRESS_P): Use constraint_satisfied_p.
+ (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+ (REG_CLASS_FROM_LETTER, INT_7_BITS, INT_8_BITS): Delete.
+ (CONST_OK_FOR_P, CONST_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT): Delete.
+ (CONST_OK_FOR_I, CONST_OK_FOR_J): Use insn_const_int_ok_for_constraint.
+ (CONST_OK_FOR_K, CONST_OK_FOR_L, CONST_OK_FOR_M): Likewise.
+ (CONST_OK_FOR_N, CONST_OK_FOR_O): Likewise.
+
+2011-02-14 Anatoly Sokolov <aesok@post.ru>
+
+ PR target/47696
+ * config/avr/avr-devices.c (avr_mcu_types): Fix ATmega2560 device
+ description.
+
+2011-02-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * config/mcore/constraints.md: New file.
+ * config/mcore/mcore.md: Include it.
+ * config/mcore/mcore.c (reg_class_from_letter): Delete.
+ * config/mcore/mcore.h (reg_class_from_letter): Delete.
+ (REG_CLASS_FROM_LETTER): Delete.
+ (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Use
+ insn_const_int_ok_for_constraint.
+ (CONST_OK_FOR_K, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
+ (CONST_OK_FOR_O, CONST_OK_FOR_P): Likewise.
+ (CONST_OK_FOR_LETTER_P, CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+ (EXTRA_CONSTRAINT): Delete.
+
+2011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR ada/41929
+ * config/sparc/sol2-unwind.h: Include <sys/frame.h>, <sys/stack.h>
+ (IS_SIGHANDLER): Define.
+ (sparc64_is_sighandler): New function, split off from
+ sparc64_fallback_frame_state.
+ (sparc_is_sighandler): New function, split off from
+ sparc_fallback_frame_state.
+ (sparc64_fallback_frame_state): Merge with ...
+ (sparc_fallback_frame_state): ... this into ...
+ (MD_FALLBACK_FRAME_STATE_FOR): ... this.
+ Change new_cfa to long. Remove regs_off, fpu_save_off, fpu_save.
+ Define nframes, mctx. Use IS_SIGHANDLER, handler_args, mctx, walk
+ stack instead of hardcoded offsets.
+
+2011-02-14 Andriy Gapon <avg@freebsd.org>
+
+ PR target/45808
+ * config/freebsd-spec.h (FBSD_LIB_SPEC): Handle the shared case.
+
+2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure: Regenerate.
+
+2011-02-12 Joseph Myers <joseph@codesourcery.com>
+
+ PR driver/45731
+ * gcc.c (asm_options): Correct spec matching --target-help.
+
+2011-02-12 Martin Jambor <mjambor@suse.cz>
+
+ * tree-cfg.c (verify_gimple_call): Return true upon invalid argument
+ to gimple call error.
+
+2011-02-12 Mike Stump <mikestump@comcast.net>
+
+ * config/frv/frv.h (TRANSFER_FROM_TRAMPOLINE): Canonicalize
+ comments in backslash regions.
+
+2011-02-12 Mike Stump <mikestump@comcast.net>
+ Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/47324
+ * dwarf2out.c (output_cfa_loc): When required, apply the
+ DWARF2_FRAME_REG_OUT macro to adjust register numbers.
+ (output_loc_sequence): Likewise.
+ (output_loc_operands_raw): Likewise.
+ (output_loc_sequence_raw): Likewise.
+ (output_cfa_loc): Likewise.
+ (output_loc_list): Suppress register number adjustment when
+ calling output_loc_sequence()
+ (output_die): Likewise.
+
+2011-02-12 Anatoly Sokolov <aesok@post.ru>
+
+ * config/xtensa/xtensa.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST):
+ Remove macros.
+ * config/xtensa/xtensa.c (xtensa_register_move_cost,
+ xtensa_memory_move_cost): New functions.
+ (TARGET_REGISTER_MOVE_COST, TARGET_REGISTER_MOVE_COST): Define.
+
+2011-02-12 Alexandre Oliva <aoliva@redhat.com>
+
+ PR lto/47225
+ * configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
+ in the current directory.
+ * configure: Rebuilt.
+
+2011-02-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin.c (darwin_override_options): Add a hunk missed
+ from the commit of r168571. Trim comment line lengths and
+ correct indents of the preceding block.
+
+2011-02-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc.c (driver_handle_option): Concatenate the argument to -F with
+ the switch.
+
+2011-02-11 Joseph Myers <joseph@codesourcery.com>
+
+ * common.opt (nostartfiles): New Driver option.
+
+2011-02-11 Xinliang David Li <davidxl@google.com>
+
+ PR tree-optimization/47707
+ * tree-chrec.c (convert_affine_scev): Keep type precision.
+
+2011-02-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/47420
+ * ipa-split.c (visit_bb): Punt on any kind of GIMPLE_RESX.
+
+2011-02-11 Pat Haugen <pthaugen@us.ibm.com>
+
+ PR rtl-optimization/47614
+ * rtl.h (check_for_inc_dec): Declare.
+ * dse.c (check_for_inc_dec): Externalize...
+ * postreload.c (reload_cse_simplify): ...use it before deleting stmt.
+ (reload_cse_simplify_operands): Don't simplify opnds with side effects.
+
+2011-02-11 Joseph Myers <joseph@codesourcery.com>
+
+ PR driver/47678
+ * gcc.c (main): Do not compile inputs if there were errors in
+ option handling.
+ * opts-common.c (read_cmdline_option): Check for wrong language
+ after other error checks.
+
+2011-02-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cgraph.c: Fix comment typos.
+ * cgraph.h: Likewise.
+ * cgraphunit.c: Likewise.
+ * ipa-cp.c: Likewise.
+ * ipa-inline.c: Likewise.
+ * ipa-prop.c: Likewise.
+ * ipa-pure-const.c: Likewise.
+ * ipa-ref.c: Likewise.
+ * ipa-reference.c: Likewise.
+
+2011-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47684
+ * tree-predcom.c (single_nonlooparound_use): Ignore debug uses.
+
+2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/47400
+ * doc/sourcebuild.texi (Require Support): Document
+ dg-require-ascii-locale.
+
+2011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * doc/lto.texi (Write summary): Fix missing parentheses.
+
+2011-02-10 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.c (m32c_option_override): Disable
+ -fcombine-stack-adjustments until flag value tracking and compare
+ optimization can be rewritten.
+
+2011-02-10 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/rs6000/linux64.h (PROCESSOR_DEFAULT): Change to
+ PROCESSOR_POWER7.
+ (PROCESSOR_DEFAULT64): Likewise.
+
+2011-02-10 Richard Henderson <rth@redhat.com>
+
+ * config/rx/predicates.md (rx_zs_comparison_operator): Revert
+ change from 2011-02-03.
+ * config/rx/rx.c (flags_from_code): Likewise.
+ (rx_print_operand) ['B']: For LT/GE, use lt/ge if overflow flag
+ is valid, n/pz otherwise.
+ (rx_select_cc_mode): Return CCmode if Y is not zero.
+
+2011-02-10 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (bitpos_of_field): Use BITS_PER_UNIT, not 8.
+
+2011-02-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47677
+ * tree-vrp.c (vrp_bitmap_equal_p): Fix comparison of empty bitmaps.
+
+2011-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47665
+ * combine.c (make_compound_operation): Only change shifts into
+ multiplication for SCALAR_INT_MODE_P.
+
+2011-02-10 Jie Zhang <jie@codesourcery.com>
+
+ PR testsuite/47622
+ Revert
+ 2011-02-05 Jie Zhang <jie@codesourcery.com>
+ PR debug/42631
+ * web.c (entry_register): Don't clobber the number of the
+ first uninitialized reference in used[].
+
+2011-02-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47664
+ * ipa-inline.c (cgraph_decide_inlining_incrementally): Visit
+ all edges again.
+
+2011-02-09 David Edelsohn <dje.gcc@gmail.com>
+
+ PR target/46481
+ PR target/47032
+ * config/rs6000/aix61.h (PROCESSOR_DEFAULT): Change to
+ PROCESSOR_POWER7.
+ (PROCESSOR_DEFAULT64): Same.
+ (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Delete.
+
+2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/mips/iris6.h (TARGET_C99_FUNCTIONS): Define.
+
+2011-02-09 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/45505
+ * tree-sra.c (struct access): New flags grp_scalar_read and
+ grp_scalar_write. Changed description of assignment read and write
+ flags.
+ (dump_access): Dump new flags, reorder all of them.
+ (sort_and_splice_var_accesses): Set the new flag accordingly, use them
+ to detect multiple scalar reads.
+ (analyze_access_subtree): Use the new scalar read write flags instead
+ of the old flags. Adjusted comments.
+
+2011-02-08 DJ Delorie <dj@redhat.com>
+
+ PR target/47548
+ * config/m32c/m32c.c (m32c_subreg): Don't try to validate interim
+ patterns.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m68k/uclinux.opt: New.
+ * config.gcc (m68k-*-uclinux*): Use m68k/uclinux.opt.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config/cris/elf.opt (sim): New Driver option.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config/xtensa/elf.opt: New.
+ * config.gcc (xtensa*-*-elf*): Use xtensa/elf.opt.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config/vax/elf.opt: New.
+ * config.gcc (vax-*-linux*, vax-*-netbsdelf*): Use vax/elf.opt.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/aix64.opt (posix, pthread): New Driver options.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config/gnu-user.opt: New.
+ * config.gcc (*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu |
+ *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu,
+ *-*-uclinux*): Use gnu-user.opt.
+
+2011-02-08 Thomas Schwinge <thomas@schwinge.name>
+
+ * config/gnu.h (CPP_SPEC, LIB_SPEC): Remove handling of -bsd option.
+ * config/i386/gnu.h (CPP_SPEC): Likewise.
+
+2011-02-08 Ian Lance Taylor <iant@google.com>
+
+ * common.opt (fcx-limited-range): Add SetByCombined flag.
+ (ffinite-math-only, fmath-errno, frounding-math): Likewise.
+ (fsignaling-nans, fsigned-zeros, ftrapping-math): Likewise.
+ (fassociative-math, freciprocal-math): Likewise.
+ (funsafe-math-optimizations): Likewise.
+ * opth-gen.awk: Handle SetByCombined.
+ * optc-gen.awk: Likewise.
+ * opts.c (set_fast_math_flags): Don't override flag if set by frontend.
+ (set_unsafe_math_optimizations_flags): Likewise.
+ * doc/options.texi (Option properties): Document SetByCombined.
+
+2011-02-08 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (arc-*, alpha*-*-gnu*, arm*-*-netbsd*, arm-*-pe*,
+ i[34567]86-*-interix3*, i[34567]86-*-netbsd*, i[34567]86-*-pe,
+ m68hc11-*-*, m6811-*-*, m68hc12-*-*, m6812-*-*,
+ m68k-*-uclinuxoldabi*, mcore-*-pe*, powerpc*-*-gnu*,
+ sh*-*-symbianelf*, vax-*-netbsd*): Mark obsolete.
+
+2011-02-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46834
+ PR tree-optimization/46994
+ PR tree-optimization/46995
+ * graphite-sese-to-poly.c (used_outside_reduction): New.
+ (detect_commutative_reduction): Call used_outside_reduction.
+ (rewrite_commutative_reductions_out_of_ssa_close_phi): Call
+ translate_scalar_reduction_to_array only when at least one
+ loop-phi/close-phi tuple has been detected.
+
+2011-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47639
+ * tree-vect-generic.c (expand_vector_operations_1): Update
+ stmts here ...
+ (expand_vector_operations): ... not here. Cleanup EH info
+ and the CFG if required.
+
+2011-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47641
+ * tree-ssa.c (execute_update_addresses_taken): For asm outputs
+ require type compatibility.
+
+2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gimple-low.c (lower_function_body): Don't remove the location of
+ the return statement here.
+ (lower_gimple_return): Do it here instead but only if the return
+ statement is actually used twice.
+
+2011-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47632
+ * tree-ssa-forwprop.c (remove_prop_source_from_use): Remove
+ unused up_to_stmt parameter, return whether cfg-cleanup is
+ necessary, remove EH info properly.
+ (forward_propagate_into_gimple_cond): Adjust caller.
+ (forward_propagate_into_cond): Likewise.
+ (forward_propagate_comparison): Likewise.
+ (tree_ssa_forward_propagate_single_use_vars): Make
+ forward_propagate_comparison case similar to the two others.
+
+2011-02-08 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.opt (mliw): New command line option.
+ * config/mn10300/mn10300.md (UNSPEC_LIW): New unspec.
+ (liw_bundling): New automaton.
+ (liw): New attribute.
+ (liw_op): New attribute.
+ (liw_op1, liw_op2, liw_both, liw_either): New reservations.
+ (movsi_internal): Add LIW attributes.
+ (andsi3): Likewise.
+ (iorsi3): Likewise.
+ (xorsi3): Likewise.
+ (addsi3): Separate register and immediate alternatives.
+ Add LIW attributes.
+ (subsi3): Likewise.
+ (cmpsi): Likewise.
+ (aslsi3): Likewise.
+ (lshrsi3): Likewise.
+ (ashrsi3): Likewise.
+ (liw): New pattern.
+ * config/mn10300/mn10300.c (liw_op_names): New
+ (mn10300_print_operand): Handle 'W' operand descriptor.
+ (extract_bundle): New function.
+ (check_liw_constraints): New function.
+ (liw_candidate): New function.
+ (mn10300_bundle_liw): New function.
+ (mn10300_reorg): New function.
+ (TARGET_MACHINE_DEPENDENT_REORG): Define.
+ (TARGET_DEFAULT_TARGET_FLAGS): Add MASK_ALLOW_LIW.
+ * config/mn10300/mn10300.h (TARGET_CPU_CPP_BUILTINS): Define
+ __LIW__ or __NO_LIW__.
+ * doc/invoke.texi: Describe the -mliw command line option.
+
+2011-02-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * config.gcc (hppa[12]*-*-hpux11*): Don't set extra_parts.
+ * config/pa/stublib.c (pthread_default_stacksize_np, pthread_mutex_lock,
+ pthread_mutex_unlock): Remove.
+ * config/pa/t-pa-hpux11: Remove rules to build pthread stubs.
+ * config/pa/t-pa64: Likewise.
+ * config/pa/pa64-hpux.h (LIB_SPEC): In static links, link against
+ shared libc if not linking against libpthread.
+ * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
+
+2011-02-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/47558
+ * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Put -lSystem first
+ on 10.6 and later to ensure that we always use the unwinder from
+ the system. Only add -no_compact_unwind when tarteting darwin
+ 10.6 or later.
+
+2011-02-07 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/46997
+ * vect.md (vec_interleave_highv2sf): Change fmix for TARGET_BIG_ENDIAN.
+ (vec_interleave_lowv2sf): Ditto.
+ (vec_extract_evenv2sf): Add TARGET_BIG_ENDIAN check.
+ (vec_extract_oddv2sf): Ditto.
+
+2011-02-07 Mike Stump <mikestump@comcast.net>
+
+ PR target/42333
+ Add __ieee_divdc3 entry point.
+ * config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Retain ___divdc3
+ entry point.
+ (SUBTARGET_INIT_BUILTINS): Call darwin_rename_builtins.
+ * config/i386/i386.c (TARGET_INIT_LIBFUNCS): Likewise.
+ * config/darwin.c (darwin_rename_builtins): Add.
+ * config/darwin-protos.h (darwin_rename_builtins): Add.
+
+2011-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47636
+ * config/rs6000/rs6000.md (rsqrt<mode>2): Use the correct macro
+ for the condition.
+
+2011-02-07 Mike Stump <mikestump@comcast.net>
+
+ * config/darwin.opt (mmacosx-version-min): Update default OS version.
+
+2011-02-07 Denis Chertykov <chertykov@gmail.com>
+
+ PR target/47534
+ * config/avr/libgcc.S (exit): Move .endfunc
+
+2011-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47615
+ * tree-ssa-sccvn.h (run_scc_vn): Take a vn-walk mode argument.
+ * tree-ssa-sccvn.c (default_vn_walk_kind): New global.
+ (run_scc_vn): Initialize it.
+ (visit_reference_op_load): Use it.
+ * tree-ssa-pre.c (execute_pre): Use VN_WALK if in PRE.
+
+2011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_init_libfuncs): Install SImode and
+ DImode trapping arithmetic libfuncs.
+
+2011-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47621
+ * tree-ssa.c (non_rewritable_lvalue_p): New function, split out from
+ two duplicates ...
+ (execute_update_addresses_taken): ... here. Make it more
+ conservative in what we accept.
+
+2011-02-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/freebsd.h (ASM_SPEC): Define.
+ * config/sparc/vxworks.h (ASM_SPEC): Define.
+
+2011-02-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/sol2-bi.h (CC1_SPEC): Remove %{sun4:} %{target:}.
+
+2011-02-06 Steven Bosscher <steven@gcc.gnu.org>
+
+ * doc/invoke.texi: Remove reference to compiler internals from
+ user documentation.
+
+ * reg-notes.def: Remove REG_VALUE_PROFILE.
+ * combine.c (distribute_notes): Do not handle REG_VALUE_PROFILE.
+
+2011-02-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47610
+ * varasm.c (default_section_type_flags): If decl is NULL,
+ and name is .data.rel.ro or .data.rel.ro.local, set SECTION_RELRO bit.
+
+2011-02-05 Jie Zhang <jie@codesourcery.com>
+
+ PR debug/42631
+ * web.c (entry_register): Don't clobber the number of the
+ first uninitialized reference in used[].
+
+2011-02-04 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46194
+ * tree-data-ref.c (analyze_miv_subscript): Remove comment.
+ (build_classic_dist_vector_1): Do not represent classic distance
+ vectors when the access functions are variating in different loops.
+
+2011-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/iris6.opt: New.
+ * config.gcc (mips-sgi-irix6.5*): Use mips/iris6.opt.
+
+2011-02-04 Richard Henderson <rth@redhat.com>
+ Steve Ellcey <sje@cup.hp.com>
+
+ PR target/46997
+ * config/ia64/predicates.md (mux1_brcst_element): New.
+ * config/ia64/ia64-protos.h (ia64_unpack_assemble): New.
+ * config/ia64/ia64.c (ia64_unpack_assemble): New.
+ (ia64_unpack_sign): New.
+ (ia64_expand_unpack): Rewrite using new routines.
+ (ia64_expand_widen_sum): Ditto.
+ (ia64_expand_dot_prod_v8qi): Ditto.
+ * config/ia64/vect.md (mulv8qi3): Rewrite to use new
+ routines, add endian check.
+ (pmpy2_even): Rename from pmpy2_r, add endian check.
+ (pmpy2_odd): Rename from pmpy2_l, add endian check.
+ (vec_widen_smult_lo_v4hi): Rewrite using new routines.
+ (vec_widen_smult_hi_v4hi): Ditto.
+ (vec_widen_umult_lo_v4hi): Ditto.
+ (vec_widen_umult_hi_v4hi): Ditto.
+ (mulv2si3): Change endian checks.
+ (sdot_prodv4hi): Rewrite with new calls.
+ (udot_prodv4hi): New.
+ (vec_pack_ssat_v4hi): Add endian check.
+ (vec_pack_usat_v4hi): Ditto.
+ (vec_pack_ssat_v2si): Ditto.
+ (max1_even): Rename from max1_r, add endian check.
+ (max1_odd): Rename from max1_l, add endian check.
+ (*mux1_rev): Format change.
+ (*mux1_mix): Ditto.
+ (*mux1_shuf): Ditto.
+ (*mux1_alt): Ditto.
+ (*mux1_brcst_v8qi): Use new predicate.
+ (vec_extract_evenv8qi): Remove endian check.
+ (vec_extract_oddv8qi): Ditto.
+ (vec_interleave_lowv4hi): Format change.
+ (vec_interleave_highv4hi): Ditto.
+ (mix2_even): Rename from mix2_r, add endian check.
+ (mix2_odd): Rename from mux2_l, add endian check.
+ (*mux2): Fix mask setting for TARGET_BIG_ENDIAN.
+ (vec_extract_evenodd_helper): Format change.
+ (vec_extract_evenv4hi): Remove endian check.
+ (vec_extract_oddv4hi): Remove endian check.
+ (vec_interleave_lowv2si): Format change.
+ (vec_interleave_highv2si): Format change.
+ (vec_initv2si): Remove endian check.
+ (vecinit_v2si): Add endian check.
+ (reduc_splus_v2sf): Add endian check.
+ (reduc_smax_v2sf): Ditto.
+ (reduc_smin_v2sf): Ditto.
+ (vec_initv2sf): Remove endian check.
+ (fpack): Add endian check.
+ (fswap): Add endian check.
+ (vec_interleave_highv2sf): Add endian check.
+ (vec_interleave_lowv2sf): Add endian check.
+ (fmix_lr): Add endian check.
+ (vec_setv2sf): Format change.
+ (*vec_extractv2sf_0_be): Use shift to extract operand.
+ (*vec_extractv2sf_1_be): New.
+ (vec_pack_trunc_v4hi): Add endian check.
+ (vec_pack_trunc_v2si): Format change.
+
+2011-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR inline-asm/23200
+ * tree-ssa-ter.c (is_replaceable_p): Add TER argument. Don't
+ do bb, locus and block comparison and disallow loads if it is not set.
+ (stmt_is_replaceable_p): New function.
+ (process_replaceable, find_replaceable_in_bb): Adjust is_replaceable_p
+ callers.
+ * expr.c (expand_expr_real_1) <case SSA_NAME>: If
+ get_gimple_for_ssa_name try for EXPAND_INITIALIZER harder to use
+ SSA_NAME_DEF_STMT.
+ * tree-flow.h (stmt_is_replaceable_p): New prototype.
+
+2011-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/xilinx.opt: New.
+ * config.gcc (powerpc-xilinx-eabi*): Use rs6000/xilinx.opt.
+
+2011-02-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.opt (EB, EL, noasmopt): New Driver options.
+
+2011-02-03 Anatoly Sokolov <aesok@post.ru>
+
+ * config/xtensa/xtensa.h (PREFERRED_RELOAD_CLASS,
+ PREFERRED_OUTPUT_RELOAD_CLASS): Remove.
+ * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class,
+ secondary_reload_info, xtensa_secondary_reload): Remove.
+ * config/xtensa/xtensa.c (TARGET_PREFERRED_RELOAD_CLASS,
+ TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+ (xtensa_preferred_reload_class): Make static. Change return and
+ 'rclass' argument type to reg_class_t. Remove 'isoutput' argument.
+ Use CONST_DOUBLE_P predicate.
+ (xtensa_preferred_output_reload_class): New function.
+ (xtensa_secondary_reload): Make static.
+
+2011-02-03 Joseph Myers <joseph@codesourcery.com>
+
+ * config/microblaze/microblaze.opt (Zxl-mode-bootstrap,
+ Zxl-mode-executable, Zxl-mode-novectors, Zxl-mode-xilkernel,
+ Zxl-mode-xmdstub, mxl-mode-xilkernel): New Driver options.
+
+2011-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/31490
+ * output.h (SECTION_RELRO): Define.
+ (SECTION_MACH_DEP): Adjust.
+ (get_variable_section): New prototype.
+ * varpool.c (varpool_finalize_named_section_flags): New function.
+ (varpool_assemble_pending_decls): Call it.
+ * cgraph.h (varpool_finalize_named_section_flags): New prototype.
+ * cgraphunit.c (cgraph_output_in_order): Call
+ varpool_finalize_named_section_flags.
+ * varasm.c (get_section): Allow section flags conflicts between
+ relro and read-only sections if the section hasn't been declared yet.
+ Set SECTION_OVERRIDE after diagnosing section type conflict.
+ (get_variable_section): No longer static.
+ (default_section_type_flags): Use SECTION_WRITE | SECTION_RELRO for
+ readonly sections that need relocations.
+ (decl_readonly_section_1): New function.
+ (decl_readonly_section): Use it.
+
+ Revert:
+ 2010-11-17 Dinar Temirbulatov <dtemirbulatov@gmail.com>
+ Steve Ellcey <sje@cup.hp.com>
+
+ PR middle-end/31490
+ * varasm.c (categorize_decl_for_section): Ignore reloc_rw_mask
+ if section attribute used.
+
+2011-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ * config/darwin.h (SECTION_NO_ANCHOR): Remove.
+ * config/darwin.c (SECTION_NO_ANCHOR): Define.
+ (darwin_init_sections): Remove assertion.
+
+2011-02-03 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/predicates.md (rx_zs_comparison_operator): Remove
+ lt and ge.
+ * config/rx/rx.md (abssi2_flags): Use CC_ZSmode rather than CC_ZSOmode.
+ * config/rx/rx.c (rx_print_operand): Use "lt" and "ge" suffixes
+ instead of "n" and "pz".
+ (flags_from_code): LT and GE tests need CC_FLAG_O as well as
+ CC_FLAG_S.
+
+2011-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47312
+ * expr.c (expand_expr_real_2) <case FMA_EXPR>: If target doesn't expand
+ fma, expand FMA_EXPR as fma{,f,l} call.
+
+ PR lto/47274
+ * lto-streamer-out.c (write_symbol): When writing kind and visibility,
+ copy them into a unsigned char variable and pass address of it to
+ lto_output_data_stream.
+
+ PR target/47564
+ * toplev.c (target_reinit): Save and restore *crtl and regno_reg_rtx
+ around backend_init_target and lang_dependent_init_target calls.
+ * cgraphunit.c (cgraph_debug_gimple_stmt): New function.
+ (verify_cgraph_node): Don't call set_cfun here. Use
+ cgraph_debug_gimple_stmt instead of debug_gimple_stmt.
+ Set error_found for incorrectly represented calls to thunks.
+
+2011-02-03 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/43092
+ PR rtl-optimization/43494
+ * rtl.h (for_each_inc_dec_fn): New type.
+ (for_each_inc_dec): Declare.
+ * rtlanal.c (struct for_each_inc_dec_ops): New type.
+ (for_each_inc_dec_find_inc_dec): New fn.
+ (for_each_inc_dec_find_mem): New fn.
+ (for_each_inc_dec): New fn.
+ * dse.c (struct insn_size): Remove.
+ (replace_inc_dec, replace_inc_dec_mem): Remove.
+ (emit_inc_dec_insn_before): New fn.
+ (check_for_inc_dec): Use it, along with for_each_inc_dec.
+ (canon_address): Pass mem modes to cselib_lookup.
+ * cselib.h (cselib_lookup): Add memmode argument. Adjust callers.
+ (cselib_lookup_from_insn): Likewise.
+ (cselib_subst_to_values): Likewise.
+ * cselib.c (find_slot_memmode): New var.
+ (cselib_find_slot): New fn. Use it instead of
+ htab_find_slot_with_hash everywhere.
+ (entry_and_rtx_equal_p): Use find_slot_memmode.
+ (autoinc_split): New fn.
+ (rtx_equal_for_cselib_p): Rename and implement in terms of...
+ (rtx_equal_for_cselib_1): ... this. Take memmode, pass it on.
+ Deal with autoinc. Special-case recursion into MEMs.
+ (cselib_hash_rtx): Likewise.
+ (cselib_lookup_mem): Infer pmode from address mode. Distinguish
+ address and MEM modes.
+ (cselib_subst_to_values): Add memmode, pass it on.
+ Deal with autoinc.
+ (cselib_lookup): Add memmode argument, pass it on.
+ (cselib_lookup_from_insn): Add memmode.
+ (cselib_invalidate_rtx): Discard obsolete push_operand handling.
+ (struct cselib_record_autoinc_data): New.
+ (cselib_record_autoinc_cb): New fn.
+ (cselib_record_sets): Use it, along with for_each_inc_dec. Pass MEM
+ mode to cselib_lookup. Reset autoinced REGs here instead of...
+ (cselib_process_insn): ... here.
+ * var-tracking.c (replace_expr_with_values, use_type): Pass MEM mode
+ to cselib_lookup.
+ (add_uses): Likewise, also to cselib_subst_to_values.
+ (add_stores): Likewise.
+ * sched-deps.c (add_insn_mem_dependence): Pass mode to
+ cselib_subst_to_values.
+ (sched_analyze_1, sched_analyze_2): Likewise. Adjusted.
+ * gcse.c (do_local_cprop): Adjusted.
+ * postreload.c (reload_cse_simplify_set): Adjusted.
+ (reload_cse_simplify_operands): Adjusted.
+ * sel-sched-dump (debug_mem_addr_value): Pass mode.
+
+2011-02-03 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/45122
+ * tree-ssa-loop-niter.c (number_of_iterations_exit): Don't make
+ unsafe assumptions when there's more than one loop exit.
+
+2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47272
+ * doc/extend.texi (PowerPC AltiVec/VSX Built-in Functions):
+ Document using vector double with the load/store builtins, and
+ that the load/store builtins always use Altivec instructions.
+
+ * config/rs6000/vector.md (vector_altivec_load_<mode>): New insns
+ to use altivec memory instructions, even on VSX.
+ (vector_altivec_store_<mode>): Ditto.
+
+ * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): New
+ function.
+
+ * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
+ V2DF, V2DI support to load/store overloaded builtins.
+
+ * config/rs6000/rs6000-builtin.def (ALTIVEC_BUILTIN_*): Add
+ altivec load/store builtins for V2DF/V2DI types.
+
+ * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
+ set avoid indexed addresses on power6 if -maltivec.
+ (altivec_expand_ld_builtin): Add V2DF, V2DI support, use
+ vector_altivec_load/vector_altivec_store builtins.
+ (altivec_expand_st_builtin): Ditto.
+ (altivec_expand_builtin): Add VSX memory builtins.
+ (rs6000_init_builtins): Add V2DI types to internal types.
+ (altivec_init_builtins): Add support for V2DF/V2DI altivec
+ load/store builtins.
+ (rs6000_address_for_altivec): Insure memory address is appropriate
+ for Altivec.
+
+ * config/rs6000/vsx.md (vsx_load_<mode>): New expanders for
+ vec_vsx_ld and vec_vsx_st.
+ (vsx_store_<mode>): Ditto.
+
+ * config/rs6000/rs6000.h (RS6000_BTI_long_long): New type
+ variables to hold long long types for VSX vector memory builtins.
+ (RS6000_BTI_unsigned_long_long): Ditto.
+ (long_long_integer_type_internal_node): Ditti.
+ (long_long_unsigned_type_internal_node): Ditti.
+
+ * config/rs6000/altivec.md (UNSPEC_LVX): New UNSPEC.
+ (altivec_lvx_<mode>): Make altivec_lvx use a mode iterator.
+ (altivec_stvx_<mode>): Make altivec_stvx use a mode iterator.
+
+ * config/rs6000/altivec.h (vec_vsx_ld): Define VSX memory builtin
+ short cuts.
+ (vec_vsx_st): Ditto.
+
+2011-02-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/pa/pa-hpux10.opt: New.
+ * config/hpux11.opt (pthread): New Driver option.
+ * config/pa/pa-hpux.opt (nolibdld, rdynamic): New Driver options.
+ * config.gcc (hppa[12]*-*-hpux10*): Use pa/pa-hpux10.opt.
+
+2011-02-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/ia64/vms.opt: New.
+ * config.gcc (ia64-hp-*vms*): Use ia64/vms.opt.
+
+2011-02-01 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47580
+ * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Use
+ gpc_reg_operand instead of vsx_register_operand to match rs6000.md
+ generator functions.
+ (vsx_floatuns<VSi><mode>2): Ditto.
+ (vsx_fix_trunc<mode><VSi>2): Ditto.
+ (vsx_fixuns_trunc<mode><VSi>2): Ditto.
+
+2011-02-02 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/djgpp.opt (posix): New Driver option.
+
+2011-02-02 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * config.gcc (*-*-freebsd[12], *-*-freebsd[12].*, *-*-freebsd*aout*):
+ Move to the unsupported targets list.
+
+2011-02-02 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR rtl-optimization/47525
+ * df-scan.c: Update copyright years.
+ (df_get_call_refs): Do not mark global registers as DF_REF_REG_USE
+ and non-clobber DF_REF_REG_DEF for calls to const and pure functions.
+
+2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/i386/sysv4.h (TARGET_VERSION): Remove.
+ (SUBTARGET_RETURN_IN_MEMORY): Remove.
+ (ASM_OUTPUT_ASCII): Remove.
+ * config/i386/sol2.h (SUBTARGET_RETURN_IN_MEMORY): Remove #undef.
+
+2011-02-02 Jeff Law <law@redhat.com>
+
+ PR middle-end/47543
+ * reload.c (find_reloads_address): Handle reg+d address where both
+ components are invalid by reloading the entire address.
+
+2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40979
+ PR bootstrap/47044
+ * passes.c (init_optimization_passes): After LIM call copy_prop
+ and DCE to clean up.
+ * tree-ssa-loop.c (pass_graphite_transforms): Add TODO_dump_func.
+
+2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47576
+ PR tree-optimization/47555
+ * doc/invoke.texi (scev-max-expr-complexity): Documented.
+ * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
+ (PARAM_SCEV_MAX_EXPR_COMPLEXITY): Declared.
+ * tree-scalar-evolution.c (follow_ssa_edge): Use
+ PARAM_SCEV_MAX_EXPR_COMPLEXITY.
+
+2011-02-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47566
+ * builtins.c (builtin_save_expr): No SAVE_EXPR for SSA_NAMEs.
+
+2011-02-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ PR debug/47402
+ * tree-inline.c (declare_return_variable): Remove unused caller
+ variable.
+
+ PR debug/47106
+ PR debug/47402
+ * tree-flow-inline.h (clear_is_used, is_used_p): New.
+ * cfgexpand.c (account_used_vars_for_block): Use them.
+ * tree-nrv.c (tree_nrv): Likewise.
+ * tree-ssa-live.c (remove_unused_scope_block_p): Likewise.
+ (dump_scope_block): Likewise.
+ (remove_unused_locals): Likewise.
+
+ PR debug/47106
+ PR debug/47402
+ * tree-inline.c (declare_return_variable): Add result decl to
+ local decls only once.
+ * gimple-low.c (record_vars_into): Mark newly-created variables
+ as referenced.
+
+2011-02-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47498
+ PR debug/47501
+ PR debug/45136
+ PR debug/45130
+ * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
+ debug insns.
+ (no_real_insns_p, schedule_block, set_priorities): Drop special
+ treatment of boundary debug insns.
+ * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
+ * sched-ebb.c (schedule_ebbs): Adjust skipping of debug insns.
+ * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
+ (BOUNDARY_DEBUG_INSN_P): Likewise.
+ (SCHEDULE_DEBUG_INSN_P): Likewise.
+ * sched-rgn.c (init_ready_list): Drop special treatment of
+ boundary debug insns.
+ * final.c (rest_of_clean_state): Clear notes' BB.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/openbsd.opt (assert=): New Driver option.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/nto.opt: New.
+ * config.gcc (i[34567]86-*-nto-qnx*): Use i386/nto.opt.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/netware.opt: New.
+ * config.gcc (i[3456x]86-*-netware*): Use i386/netware.opt.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/interix.opt (posix): New Driver option.
+
+2011-02-01 DJ Delorie <dj@redhat.com>
+
+ * config/m32c/m32c.h (PTRDIFF_TYPE): Remove extra definition.
+
+ * config/m32c/m32c.c (m32c_regno_reg_class): Return smallest reg
+ class for A0/A1.
+
+2011-02-01 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47561
+ * toplev.c (process_options): Print the Graphite flags. Add
+ flag_loop_flatten to the list of options requiring Graphite.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/cygming.opt (posix): New Driver option.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/vxworks.opt: New.
+ * config.gcc (arm-wrs-vxworks): Use arm/vxworks.opt.
+
+2011-02-01 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/elf.opt: New.
+ * config.gcc (alpha*-*-linux*, alpha*-*-gnu*, alpha*-*-freebsd*,
+ alpha*-*-netbsd*, alpha*-*-openbsd*): Use alpha/elf.opt.
+
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47559
+ * tree-ssa-loop-im.c (can_sm_ref_p): Do not perform
+ store-motion on references that can throw.
+
+2011-02-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ * tree-dump.c (dump_option_value_info): Add entry for TDF_CSELIB.
+ * tree-pass.h (TDF_CSELIB): New macro.
+ * cselib.c (new_cselib_val, expand_loc, cselib_expand_value_rtx_1,
+ cselib_lookup): Check for it rather than for TDF_DETAILS.
+
+2011-02-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/47547
+ * lto-wrapper.c (run_gcc): Don't add -dumpdir if linker_output
+ is HOST_BIT_BUCKET.
+
+ * opts.c (finish_options): Don't add x_aux_base_name if it is
+ HOST_BIT_BUCKET.
+
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47555
+ Revert
+ 2010-07-15 Sebastian Pop <sebastian.pop@amd.com>
+
+ * params.def (PARAM_SCEV_MAX_EXPR_SIZE): Bump the value to 100.
+
+2011-02-01 Sebastien Bourdeauducq <sebastien@milkymist.org>
+
+ PR gcc/46692
+ * config/lm32/t-lm32: Add multilib for all CPU options.
+
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47541
+ * tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
+ sure to have a field at offset zero.
+
+2011-01-31 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arc/arc.opt (EB, EL): New Driver options.
+
+2011-01-31 Joseph Myers <joseph@codesourcery.com>
+
+ * config/alpha/osf5.opt: New.
+ * config.gcc (alpha*-dec-osf5.1*): Use alpha/osf5.opt.
+
+2011-01-31 Joseph Myers <joseph@codesourcery.com>
+
+ * config/vms/vms.opt (map, mvms-return-codes): New Driver options.
+
+2011-01-31 Sebastian Pop <sebastian.pop@amd.com>
+
+ * common.opt (ftree-loop-linear): Use Alias to make it an alias of
+ -floop-interchange.
+ * invoke.texi (-ftree-loop-linear): Make it clear that this flag
+ is an alias of -floop-interchange and that it requires the
+ Graphite infrastructure.
+ * tree-ssa-loop.c (gate_graphite_transforms): Do not set
+ flag_loop_interchange based on the value of flag_tree_loop_linear.
+
+2011-01-31 Jakub Jelinek <jakub@redhat.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47538
+ * tree-ssa-ccp.c (bit_value_binop_1): For uns computation use
+ type instead of r1type, except for comparisons. For right
+ shifts and comparisons punt if there are mismatches in
+ sizetype vs. non-sizetype types.
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * doc/sourcebuild.texi (Effective-Target Keywords): Document
+ avx_runtime.
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_eh_frame_hdr): Update minimal Sun ld
+ version number.
+ * configure: Regenerate.
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_static_option): Define.
+ (gcc_cv_ld_dynamic_option): Define.
+ (gcc_cv_ld_static_dynamic): Tru64 UNIX support -noso/-so_archive
+ instead.
+ (HAVE_LD_STATIC_DYNAMIC): Update message.
+ (LD_STATIC_OPTION): Define.
+ (LD_DYNAMIC_OPTION): Define.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS &&
+ HAVE_LD_STATIC_DYNAMIC]: Use them.
+
+2011-01-31 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.c (rx_get_stack_layout): Only save call clobbered
+ registers inside interrupt handlers if the handler is not a leaf
+ function.
+
+2011-01-31 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_regno_in_class_p): Check for
+ reg_renumber returning an INVALID_REGNUM.
+
+2011-01-31 Alexandre Oliva <aoliva@redhat.com>
+
+ PR libgcj/44341
+ * doc/install.texi: Document host options discarded when cross
+ configuring target libraries.
+
+2011-01-31 Alexandre Oliva <aoliva@redhat.com>
+
+ Reverted:
+ 2011-01-25 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/45136
+ PR debug/45130
+ * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
+ debug insns.
+ (no_real_insns_p, schedule_block, set_priorities): Drop special
+ treatment of boundary debug insns.
+ * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
+ * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
+ * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
+ (BOUNDARY_DEBUG_INSN_P): Likewise.
+ (SCHEDULE_DEBUG_INSN_P): Likewise.
+ * sched-rgn.c (init_ready_list): Drop special treatment of
+ boundary debug insns.
+ * final.c (rest_of_clean-state): Clear notes' BB.
+
+2011-01-31 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (print_operand): Rearrange addends in
+ toc relative expressions as we do in print_operand_address.
+
+2011-01-30 Kazu Hirata <kazu@codesourcery.com>
+
+ * doc/extend.texi: Follow spelling conventions.
+ * doc/invoke.texi: Fix a typo.
+
+2011-01-30 Joseph Myers <joseph@codesourcery.com>
+
+ * config/hpux11.opt: New.
+ * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*,
+ ia64*-*-hpux*): Use hpux11.opt.
+
+2011-01-30 Jonathan Yong <jon_y@users.sourceforge.net>
+
+ * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Add t-dfprules
+ to tmake_file.
+
+2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (hppa-hp-hpux10): Remove references to HP
+ support sites.
+
+2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/install.texi (Binaries): Remove outdated reference for
+ Motorola 68HC11/68HC12 downloads.
+
+2011-01-30 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/extend.texi (Thread-Local): Adjust reference to Ulrich
+ Drepper's paper.
+
+2011-01-29 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR bootstrap/47147
+ * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
+ used by NetBSD.
+
+2011-01-28 Ahmad Sharif <asharif@google.com>
+
+ * value-prof.c (check_counter): Corrected error message.
+
+2011-01-29 Jie Zhang <jie@codesourcery.com>
+
+ * config/arm/arm.c (arm_legitimize_reload_address): New.
+ * config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
+ arm_legitimize_reload_address.
+ * config/arm/arm-protos.h (arm_legitimize_reload_address): Declare.
+
+2011-01-28 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_define): Ignore macros whose definitions include
+ two adjacent operands.
+
+2011-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/42894
+ * varasm.c (force_const_mem): Store copy of x in desc->constant
+ instead of x itself.
+ * expr.c (emit_move_insn): Add a copy of y_cst instead of y_cst
+ itself into REG_EQUAL note.
+
+2011-01-28 Joseph Myers <joseph@codesourcery.com>
+
+ * config/freebsd.opt (posix, rdynamic): New Driver options.
+
+2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_static_dynamic): IRIX 6 ld supports
+ -Bstatic/-Bdynamic.
+ * configure: Regenerate.
+
+2011-01-27 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/sysv4.h (LIB_NETBSD_SPEC): Don't handle -profile.
+ * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -profile.
+
+2011-01-27 Anatoly Sokolov <aesok@post.ru>
+
+ * config/s390/s390.h (PREFERRED_RELOAD_CLASS): Remove.
+ * config/s390/s390-protos.h (s390_preferred_reload_class): Remove.
+ * config/s390/s390.c (TARGET_PREFERRED_RELOAD_CLASS): Define.
+ (s390_preferred_reload_class): Make static. Change return and
+ 'rclass' argument type to reg_class_t.
+
+2011-01-27 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/46949
+ * cgraphunit.c (process_common_attributes): Fix use of remove_attribute.
+ (process_function_and_variable_attributes): Check defined weakrefs.
+
+2011-01-27 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/47228
+ * tree-sra.c (sra_modify_assign): Use build_ref_for_model instead of
+ build_ref_for_offset.
+
+2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu-elf.h (ASM_SPEC): Remove.
+
+2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR rtl-optimization/46856
+ * postreload.c (reload_combine_recognize_const_pattern): Do not
+ separate cc0 setter and user on cc0 targets.
+
+2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR c/43082
+ * c-typeck.c (c_objc_common_truthvalue_conversion): If we are
+ passed a VOID_TYPE expression, immediately emit an error and
+ return error_mark_node.
+
+2011-01-26 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/47464
+ * df-problems.c (can_move_insn_across): Use may_trap_or_fault_p
+ rather than may_trap_p as needed.
+
+2011-01-26 DJ Delorie <dj@redhat.com>
+
+ PR rtl-optimization/46878
+ * combine.c (insn_a_feeds_b): Check for the implicit cc0
+ setter/user dependency as well.
+
+2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/44469
+ * cfgcleanup.c (try_optimize_cfg): Iterate in CFG layout mode too
+ after removing trivially dead basic blocks.
+
+2011-01-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin.h (LINK_SPEC): Remove %{Qy:} %{!Qn:-Qy}.
+ * config/frv/frv.h (LINK_SPEC): Likewise.
+ * config/i386/netware.h (LINK_SPEC): Likewise.
+ * config/m68k/linux.h (ASM_SPEC): Likewise.
+ * config/rs6000/linux64.h (ASM_SPEC_COMMON): Likewise.
+ * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
+ * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+ * config/sparc/linux.h (ASM_SPEC): Likewise.
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+ * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
+
+2011-01-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin.h (ASM_SPEC): Remove %{Ym,*}.
+ * config/frv/frv.h (ASM_SPEC): Likewise.
+ * config/m68k/linux.h (ASM_SPEC): Likewise.
+ * config/pa/pa-linux.h (ASM_SPEC): Likewise.
+ * config/rs6000/linux64.h (ASM_SPEC): Likewise.
+ * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+ * config/sparc/linux.h (ASM_SPEC): Likewise.
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+ * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
+
+2011-01-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin.h (LINK_SPEC): Remove %{YP,*}.
+ * config/frv/frv.h (LINK_SPEC): Likewise.
+ * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
+
+2011-01-26 Joseph Myers <joseph@codesourcery.com>
+
+ * config/bfin/bfin.h (ASM_SPEC): Remove %{Yd,*}.
+ * config/frv/frv.h (ASM_SPEC): Likewise.
+ * config/i386/sol2-10.h (ASM_SPEC): Likewise.
+ * config/m68k/linux.h (ASM_SPEC): Likewise.
+ * config/pa/pa-linux.h (ASM_SPEC): Likewise.
+ * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
+ * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
+ * config/sol2.h (ASM_SPEC): Remove comment about -Yd,.
+ * config/sparc/linux.h (ASM_SPEC): Likewise.
+ * config/sparc/linux64.h (ASM_SPEC): Likewise.
+ * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
+ * config/sparc/sysv4.h (ASM_SPEC): Remove %{Yd,*}.
+
+2011-01-26 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/46997
+ * config/ia64/vect.md (mulv2si3): Enable and fix for TARGET_BIG_ENDIAN.
+ (*mux2): Ditto.
+ (vec_extract_evenodd_help): Ditto.
+ (vec_extract_evenv4hi): Ditto.
+ (vec_extract_oddv4hi): Ditto.
+ (vec_interleave_lowv2si): Ditto.
+ (vec_interleave_highv2si): Ditto.
+ (vec_extract_evenv2si): Ditto.
+ (vec_extract_oddv2si: Ditto.
+ (vec_pack_trunc_v2si): Ditto.
+
+2011-01-22 Jan Hubicka <jh@suse.cz>
+
+ PR target/47237
+ * cgraph.h (cgraph_local_info): New field can_change_signature.
+ * ipa-cp.c (ipcp_update_callgraph): Only compute args_to_skip if callee
+ signature can change.
+ (ipcp_estimate_growth): Call sequence simplify only if calle signature
+ can change.
+ (ipcp_insert_stage): Only compute args_to_skip if signature can change.
+ (cgraph_function_versioning): We can not change signature of functions
+ that don't allow that.
+ * lto-cgraph.c (lto_output_node): Stream local.can_change_signature.
+ (lto_input_node): Likewise.
+ * ipa-inline.c (compute_inline_parameters): Compute
+ local.can_change_signature.
+ * ipa-split.c (visit_bb): Never split away APPLY_ARGS.
+ * tree-sra.c (ipa_sra_preliminary_function_checks): Give up on
+ functions that can not change signature.
+ * i386.c (ix86_function_regparm, ix86_function_sseregparm,
+ init_cumulative_args): Do not use local calling conventions
+ for functions that can not change signature.
+
+2011-01-22 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (hot-bb-frequency-fraction): Commit forgotten hunk.
+
+2011-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47190
+ * cgraphunit.c (process_common_attributes): New function.
+ (process_function_and_variable_attributes): Use it.
+
+2011-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47423
+ * cgraphbuild.c (record_eh_tables): Record reference to personality
+ function.
+
+2011-01-26 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45454
+ * sel-sched.c (moveup_expr): Don't let debug insns prevent
+ non-debug insns from moving up.
+
+2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR target/40125
+ * config.gcc (i[34567]86-*-pe | i[34567]86-*-cygwin*): Select suitable
+ t-dlldir{,-x} fragment for build and add it to tmake_file.
+ (i[34567]86-*-mingw* | x86_64-*-mingw*): Likewise.
+ * Makefile.in (libgcc.mvars): Also export SHLIB_DLLDIR to libgcc.
+ * config/i386/t-dlldir: New file.
+ (SHLIB_DLLDIR): Define.
+ * config/i386/t-dlldir-x: New file.
+ (SHLIB_DLLDIR): Define.
+ * config/i386/t-cygming: Error out if SHLIB_DLLDIR is not set.
+ (SHLIB_INSTALL): Use it.
+
+2011-01-26 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR target/47246
+ * config/arm/arm.c (thumb2_legitimate_index_p): Change the
+ lower bound of the allowed Thumb-2 coprocessor load/store
+ index range to -256. Add explaining comment.
+
+2011-01-25 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_define): Improve lexing of macro expansion to only
+ accept expressions which match Go spec.
+
+2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR c++/43601
+ * tree.c (handle_dll_attribute): Handle it.
+ * doc/extend.texi (@item dllexport): Mention it.
+ * doc/invoke.texi (@item -fno-keep-inline-dllexport): Document it.
+
+2011-01-25 Ian Lance Taylor <iant@google.com>
+
+ PR tree-optimization/26854
+ * c-decl.c (struct c_scope): Add field has_jump_unsafe_decl.
+ (decl_jump_unsafe): Move higher in file, with no other change.
+ (bind): Set has_jump_unsafe_decl if appropriate.
+ (update_label_decls): Test has_jump_unsafe_decl to avoid loop.
+ (check_earlier_gotos): Likewise.
+ (c_check_switch_jump_warnings): Likewise.
+
+2011-01-25 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * doc/invoke.texi (Warning Options): Add missing hyphen.
+ (-fprofile-dir): Minor grammatical fixes.
+ (-fbranch-probabilities): Likewise.
+
+2011-01-25 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/45136
+ PR debug/45130
+ * haifa-sched.c (get_ebb_head_tail): Move notes across boundary
+ debug insns.
+ (no_real_insns_p, schedule_block, set_priorities): Drop special
+ treatment of boundary debug insns.
+ * sched-deps.c (sd_init_insn, sd_finish_insn): Don't mark debug insns.
+ * sched-ebb.c (schedule_ebbs): Don't skip debug insns.
+ * sched-int.h (DEBUG_INSN_SCHED_P): Remove.
+ (BOUNDARY_DEBUG_INSN_P): Likewise.
+ (SCHEDULE_DEBUG_INSN_P): Likewise.
+ * sched-rgn.c (init_ready_list): Drop special treatment of
+ boundary debug insns.
+ * final.c (rest_of_clean-state): Clear notes' BB.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * Makefile.in (LAMBDA_H): Removed.
+ (TREE_DATA_REF_H): Remove dependence on LAMBDA_H.
+ (OBJS-common): Remove dependence on lambda-code.o, lambda-mat.o,
+ lambda-trans.o, and tree-loop-linear.o.
+ (lto-symtab.o): Remove dependence on LAMBDA_H.
+ (tree-loop-linear.o): Remove rule.
+ (lambda-mat.o): Same.
+ (lambda-trans.o): Same.
+ (lambda-code.o): Same.
+ (tree-vect-loop.o): Add missing dependence on TREE_DATA_REF_H.
+ (tree-vect-slp.o): Same.
+ * hwint.h (gcd): Moved here.
+ (least_common_multiple): Same.
+ * lambda-code.c: Removed.
+ * lambda-mat.c: Removed.
+ * lambda-trans.c: Removed.
+ * lambda.h: Removed.
+ * tree-loop-linear.c: Removed.
+ * lto-symtab.c: Do not include lambda.h.
+ * omega.c (gcd): Removed.
+ * passes.c (init_optimization_passes): Remove pass_linear_transform.
+ * tree-data-ref.c (print_lambda_vector): Moved here.
+ (lambda_vector_copy): Same.
+ (lambda_matrix_copy): Same.
+ (lambda_matrix_id): Same.
+ (lambda_vector_first_nz): Same.
+ (lambda_matrix_row_add): Same.
+ (lambda_matrix_row_exchange): Same.
+ (lambda_vector_mult_const): Same.
+ (lambda_vector_negate): Same.
+ (lambda_matrix_row_negate): Same.
+ (lambda_vector_equal): Same.
+ (lambda_matrix_right_hermite): Same.
+ * tree-data-ref.h: Do not include lambda.h.
+ (lambda_vector): Moved here.
+ (lambda_matrix): Same.
+ (dependence_level): Same.
+ (lambda_transform_legal_p): Removed declaration.
+ (lambda_collect_parameters): Same.
+ (lambda_compute_access_matrices): Same.
+ (lambda_vector_gcd): Same.
+ (lambda_vector_new): Same.
+ (lambda_vector_clear): Same.
+ (lambda_vector_lexico_pos): Same.
+ (lambda_vector_zerop): Same.
+ (lambda_matrix_new): Same.
+ * tree-flow.h (least_common_multiple): Removed declaration.
+ * tree-parloops.c (lambda_trans_matrix): Moved here.
+ (LTM_MATRIX): Same.
+ (LTM_ROWSIZE): Same.
+ (LTM_COLSIZE): Same.
+ (LTM_DENOMINATOR): Same.
+ (lambda_trans_matrix_new): Same.
+ (lambda_matrix_vector_mult): Same.
+ (lambda_transform_legal_p): Same.
+ * tree-pass.h (pass_linear_transform): Removed declaration.
+ * tree-ssa-loop.c (tree_linear_transform): Removed.
+ (gate_tree_linear_transform): Removed.
+ (pass_linear_transform): Removed.
+ (gate_graphite_transforms): Make flag_tree_loop_linear an alias of
+ flag_loop_interchange.
+
+2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47265
+ PR tree-optimization/47443
+ * tree-ssa-forwprop.c (forward_propagate_addr_expr): Return false
+ if name still has some uses.
+
+2011-01-25 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/47382
+ * gimple-fold.c (gimple_fold_obj_type_ref_call): Removed.
+ (gimple_fold_call): Do not call gimple_fold_obj_type_ref_call.
+
+2011-01-25 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * config/m32r/m32r.c: Define TARGET_EXCEPT_UNWIND_INFO to
+ sjlj_except_unwind_info.
+
+2011-01-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47426
+ * tree-ssa-structalias.c (ipa_pta_execute): Make externally
+ visible functions results escape.
+
+2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/45701
+ * config/arm/arm.c (any_sibcall_uses_r3): New function.
+ (arm_get_frame_offsets): Use it.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47271
+ * tree-if-conv.c (bb_postdominates_preds): New.
+ (if_convertible_bb_p): Call bb_postdominates_preds.
+ (if_convertible_loop_p_1): Compute CDI_POST_DOMINATORS.
+ (predicate_scalar_phi): Call bb_postdominates_preds.
+
+2011-01-25 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.h (LIBCALL_VALUE): Do not promote complex types.
+ * config/rx/rx.c (rx_function_value): Likewise.
+ (rx_promote_function_mode): Likewise.
+ (gen_safe_add): Place an outsized immediate value inside an UNSPEC
+ in order to make it legitimate.
+ * config/rx/rx.md (adddi3_internal): If the second operand is a MEM
+ make sure that the first operand is the same as the result register.
+ (addsi3_unspec): Delete.
+ (subdi3): Do not accept immediate operands.
+ (subdi3_internal): Likewise.
+
+2011-01-25 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/37273
+ * ira-costs.c (scan_one_insn): Detect constants living in memory and
+ handle them like argument loads from stack slots. Do not double
+ count memory for memory constants and argument loads from stack slots.
+
+2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47427
+ PR tree-optimization/47428
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Don't
+ coalesce if the new root var would be TREE_READONLY.
+
+2011-01-25 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47414
+ * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Use the
+ correct type for TBAA.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (dr_indices_valid_in_loop): New.
+ (close_phi_written_to_memory): Call for_each_index with
+ dr_indices_valid_in_loop.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (new_pbb_from_pbb): Only copy PBB_DOMAIN
+ when it is initialized.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Update
+ call to graphite_find_data_references_in_stmt.
+ * graphite-sese-to-poly.c (outermost_loop_in_sese_1): New.
+ (try_generate_gimple_bb): Call outermost_loop_in_sese_1. Update
+ call to graphite_find_data_references_in_stmt.
+ (analyze_drs_in_stmts): Same.
+ * tree-data-ref.c (dr_analyze_indices): Pass in parameter the loop
+ in which the scalar analysis of indices is performed.
+ (create_data_ref): Same. Update call to dr_analyze_indices.
+ (find_data_references_in_stmt): Update call to create_data_ref.
+ (graphite_find_data_references_in_stmt): Same.
+ * tree-data-ref.h (graphite_find_data_references_in_stmt): Update
+ declaration.
+ (create_data_ref): Same.
+ * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse): Update
+ call to create_data_ref.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (build_poly_scop): Move
+ rewrite_commutative_reductions_out_of_ssa before find_scop_parameters.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c (close_phi_written_to_memory): Also allow
+ VAR_DECL, PARM_DECL, and RESULT_DECL.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (reduction_dr_1): Allow several reductions
+ in a reduction PBB.
+ * graphite-sese-to-poly.c (split_reduction_stmt): Do not split PBBs
+ that have already been marked as PBB_IS_REDUCTION.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-scop-detection.c (same_close_phi_node): New.
+ (remove_duplicate_close_phi): New.
+ (make_close_phi_nodes_unique): New.
+ (canonicalize_loop_closed_ssa): Call make_close_phi_nodes_unique.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (new_poly_ddr): Call same_pdr_p.
+ * graphite-poly.h (same_pdr_p): Do not expect that the PDR_TYPE
+ of both data references to be the same.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (build_lexicographical_constraint): Remove
+ the gdim parameter.
+ (build_lexicographical_constraint): Adjust call to
+ ppl_powerset_is_empty.
+ (dependence_polyhedron): Same.
+ (graphite_legal_transform_dr): Same.
+ (graphite_carried_dependence_level_k): Same.
+ * graphite-ppl.c (ppl_powerset_is_empty): Remove the nb_params
+ parameter.
+ * graphite-ppl.h (ppl_powerset_is_empty): Adjust declaration.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-sese-to-poly.c
+ (translate_scalar_reduction_to_array_for_stmt): Call unshare_expr.
+ (close_phi_written_to_memory): New.
+ (translate_scalar_reduction_to_array): Call close_phi_written_to_memory
+ and unshare_expr.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * doc/install.texi: Update the expected version number of PPL to 0.11.
+ * graphite-ppl.c (ppl_powerset_is_empty): Remove now dead code under
+ #if PPL_VERSION_MINOR < 11.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c: Include graphite-cloog-util.h.
+ (new_poly_ddr): Inlined into dependence_polyhedron.
+ (free_poly_ddr): Moved close by new_poly_ddr.
+ (dependence_polyhedron_1): Renamed dependence_polyhedron.
+ Early return NULL when ppl_powerset_is_empty returns true.
+ (dependence_polyhedron): Renamed new_poly_ddr. Call only once
+ poly_drs_may_alias_p. Avoid one call to ppl_powerset_is_empty.
+ (graphite_legal_transform_dr): Call new_poly_ddr.
+ (graphite_carried_dependence_level_k): Same.
+ (dot_original_deps_stmt_1): Renamed dot_deps_stmt_2. Use new_poly_ddr.
+ (dot_transformed_deps_stmt_1): Removed.
+ (dot_deps_stmt_1): Call dot_deps_stmt_2.
+ (dot_original_deps): Renamed dot_deps_2. Call new_poly_ddr.
+ (dot_deps_1): Call dot_deps_2.
+ * Makefile.in (graphite-dependences.o): Add missing dependence on
+ graphite-cloog-util.h.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (new_poly_dr): Call ppl_powerset_is_empty.
+ (build_lexicographical_constraint): Same.
+ (dependence_polyhedron_1): Same.
+ (graphite_legal_transform_dr): Same.
+ (graphite_carried_dependence_level_k): Same.
+ * graphite-ppl.c (ppl_powerset_is_empty): New.
+ * graphite-ppl.h (ppl_powerset_is_empty): Declared.
+ * tree-data-ref.c (dump_data_reference): Print the basic block index.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (build_pairwise_scheduling): Correctly compute
+ the "a followed by b" relation and document it.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (build_lexicographical_constraint): Stop the
+ iteration when the bag of constraints is empty.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-poly.c (pbb_remove_duplicate_pdrs): Make it work.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-interchange.c (lst_interchange_profitable_p): Takes a loop
+ nest and two loop depths as parameters.
+ (lst_try_interchange_loops): Call lst_interchange_profitable_p after
+ lst_perfect_nestify.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-dependences.c (print_pddr): Call
+ ppl_io_fprint_Pointset_Powerset_C_Polyhedron.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * graphite-ppl.c (debug_gmp_value): New.
+ * graphite-ppl.h (debug_gmp_value): Declared.
+
+2011-01-25 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * doc/install.texi: Document availability of cloog-0.16.
+
+2011-01-25 Vladimir Kargov <kargov@gmail.com>
+
+ * graphite-scop-detection.c (canonicalize_loop_closed_ssa): Free
+ invalid postdominance info.
+
+2011-01-24 Jan Hubicka <jh@suse.cz>
+
+ PR c/21659
+ * doc/extend.texi (weak pragma): Drop claim that it must
+ appear before definition.
+ * varasm.c (merge_weak, declare_weak): Only sanity check
+ that DECL is not output at a time it is declared weak.
+
+2011-01-24 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * machmode.def: Fixed comments.
+
+2011-01-24 Kai Tietz <kai.tietz@onevision.com>
+
+ * emit-rtl.c (reg_attrs_htab_hash): Replace long by intptr_t.
+
+2011-01-24 Paul Koning <ni1d@arrl.net>
+
+ * builtins.c (c_readstr): Fix byte order if BYTES_BIG_ENDIAN !=
+ WORDS_BIG_ENDIAN.
+
+2011-01-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/46519
+ * config/i386/i386.c: Include sbitmap.h and fibheap.h.
+ (block_info): Add scanned and prev.
+ (move_or_delete_vzeroupper_2): Return if the basic block
+ has been scanned and the upper 128bit state is unchanged
+ from the last scan.
+ (move_or_delete_vzeroupper_1): Return true if the exit
+ state is changed.
+ (move_or_delete_vzeroupper): Visit basic blocks using the
+ work-list based algorithm based on vt_find_locations in
+ var-tracking.c.
+
+ * config/i386/t-i386: Also depend on sbitmap.h and $(FIBHEAP_H).
+
+2011-01-24 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.opt (mv850es): New option - alias for -mv850e1.
+ * config/v850/v850.h (ASM_SPEC): If -mv850es is specified pass
+ -mv850e1 to the assembler. If -mv850e1 or -mv850es is specified
+ then define __v850e1__.
+ * doc/invoke.texi: Document -mv850es.
+
+2011-01-24 Richard Henderson <rth@redhat.com>
+
+ * config/rx/predicates.md (rx_fp_comparison_operator): Don't accept
+ compound unordered comparisons.
+ * config/rx/rx.c (rx_split_fp_compare): Remove.
+ * config/rx/rx-protos.h: Update.
+ * config/rx/rx.md (gcc_conds, rx_conds): Remove.
+ (cbranchsf4): Don't call rx_split_fp_compare.
+ (*cbranchsf4): Use rx_split_cbranch.
+ (*cmpsf): Don't accept "i" constraint.
+ (*conditional_branch): Only valid after reload.
+ (cstoresf4): Merge expander with insn. Don't call rx_split_fp_compare.
+
+2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47385
+ * config/rs6000/altivec.md (vector constant splitters): Add
+ support for creating vector single precision constants if -mvsx is
+ used and we would create the constant using Altivec primitives.
+
+2011-01-23 Bernd Schmidt <bernds@codesourcery.com>
+ Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/47166
+ * reload1.c (emit_reload_insns): Disable the spill_reg_store
+ mechanism for PRE_MODIFY and POST_MODIFY.
+ (inc_for_reload): For PRE_MODIFY, return the insn that sets the
+ reloadreg.
+
+2011-01-23 Andreas Schwab <schwab@linux-m68k.org>
+
+ * compare-elim.c (maybe_select_cc_mode): Add ATTRIBUTE_UNUSED markers.
+
+2011-01-22 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47333
+ * lto-cgraph.c (reachable_from_this_partition_p): Fix pasto.
+
+2011-01-22 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/43884
+ PR lto/44334
+ * predict.c (maybe_hot_frequency_p): Use entry block frequency as base.
+ * doc/invoke.texi (hot-bb-frequency-fraction): Update docs.
+
+2011-01-22 Anatoly Sokolov <aesok@post.ru>
+
+ * config/s390/s390.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
+ * config/s390/s390.c (s390_register_move_cost,
+ s390_memory_move_cost): New.
+ (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
+
+2011-01-22 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR middle-end/47401
+ * except.c (sjlj_assign_call_site_values): Move setting the
+ crtl->uses_eh_lsda flag to ...
+ (sjlj_mark_call_sites): ... here.
+ (sjlj_emit_function_enter): Support NULL dispatch label.
+ (sjlj_build_landing_pads): In a function with no landing pads
+ that still has must-not-throw regions, generate code to register
+ a personality function with empty LSDA.
+
+2011-01-21 Richard Henderson <rth@redhat.com>
+
+ * config/rx/rx.c (TARGET_FLAGS_REGNUM): New.
+
+ * config/mn10300/mn10300.c (TARGET_FLAGS_REGNUM): New.
+
+ * compare-elim.c: New file.
+ * Makefile.in (OBJS-common): Add it.
+ (compare-elim.o): New.
+ * common.opt (fcompare-elim): New.
+ * opts.c (default_options_table): Add OPT_fcompare_elim.
+ * tree-pass.h (pass_compare_elim_after_reload): New.
+ * passes.c (init_optimization_passes): Add it.
+ * recog.h: Protect against re-inclusion.
+ * target.def (TARGET_FLAGS_REGNUM): New POD hook.
+ * doc/invoke.texi (-fcompare-elim): Document it.
+ * doc/tm.texi.in (TARGET_FLAGS_REGNUM): Document it.
+ * doc/tm.texi: Rebuild.
+
+2011-01-22 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (cstoresf4): Pass comparison operator to
+ rx_split_fp_compare.
+
+2011-01-22 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (UNSPEC_CONST): New.
+ (deallocate_and_return): Wrap the amount popped off the stack in
+ an UNSPEC_CONST in order to stop it being rejected by
+ -mmax-constant-size.
+ (pop_and_return): Add a "(return)" rtx.
+ (call): Drop the immediate operand.
+ (call_internal): Likewise.
+ (call_value): Likewise.
+ (call_value_internal): Likewise.
+ (sibcall_internal): Likewise.
+ (sibcall_value_internal): Likewise.
+ (sibcall): Likewise. Generate an explicit call using
+ sibcall_internal.
+ (sibcall_value): Likewise.
+ (mov<>): FAIL if a constant operand is not legitimate.
+ (addsi3_unpsec): New pattern.
+
+ * config/rx/rx.c (rx_print_operand_address): Handle UNSPEC CONSTs.
+ (ok_for_max_constant): New function.
+ (gen_safe_add): New function.
+ (rx_expand_prologue): Use gen_safe_add.
+ (rx_expand_epilogue): Likewise.
+ (rx_is_legitimate_constant): Use ok_for_max_constant. Handle
+ UNSPEC CONSTs.
+
+2011-01-21 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47053
+ * tree-ssa-dse.c (need_eh_cleanup): New bitmap.
+ (dse_optimize_stmt): Set the appropriate bit in NEED_EH_CLEANUP when
+ statements are deleted.
+ (tree_ssa_dse): Allocate & free NEED_EH_CLEANUP. If NEED_EH_CLEANUP
+ is nonempty, then purge dead edges and cleanup the CFG.
+
+2011-01-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47402
+ Temporarily revert:
+ 2011-01-21 Alexandre Oliva <aoliva@redhat.com>
+ PR debug/47106
+ * tree-dfa.c (create_var_ann): Mark variable as used.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/45566
+ * except.c (convert_to_eh_region_ranges): Emit queued no-region
+ notes from other section in hot/cold partitioning even if
+ last_action is -3. Increment call_site_base.
+
+ PR rtl-optimization/47366
+ * fwprop.c (forward_propagate_into): Return bool. If
+ any changes are made, -fnon-call-exceptions is used and
+ REG_EH_REGION note is present, call purge_dead_edges
+ and return true if it purged anything.
+ (fwprop_addr): Adjust callers, call cleanup_cfg (0) if
+ any EH edges were purged.
+
+2011-01-21 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/41619
+ * caller-save.c (setup_save_areas): Break out code to determine
+ which hard regs are live across calls by examining the reload chains
+ so that it is always used.
+ Eliminate code which checked REG_N_CALLS_CROSSED.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47355
+ * tree-eh.c (cleanup_empty_eh_merge_phis): Give up if
+ NOP has non-debug uses beyond PHIs in new_bb.
+
+2011-01-21 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47106
+ * cfgexpand.c (account_used_vars_for_block): Only account vars
+ that are annotated as used.
+ (estimated_stack_frame_size): Don't set TREE_USED.
+ * tree-dfa.c (create_var_ann): Mark variable as used.
+
+2011-01-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47395
+ * tree.def (WIDEN_MULT_MINUS_EXPR): Fix printed name.
+
+2011-01-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47365
+ * tree-ssa-sccvn.h (vn_lookup_kind): Declare.
+ (vn_reference_lookup_pieces): Adjust.
+ (vn_reference_lookup): Likewise.
+ * tree-ssa-sccvn.c (vn_walk_kind): New static global.
+ (vn_reference_lookup_3): Only look through kills if in
+ VN_WALKREWRITE mode.
+ (vn_reference_lookup_pieces): Adjust.
+ (vn_reference_lookup): Likewise.
+ (visit_reference_op_load): Likewise.
+ (visit_reference_op_store): Likewise.
+ * tree-ssa-pre.c (phi_translate_1): Use VN_WALK mode.
+ (compute_avail): Likewise.
+ (eliminate): Likewise.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-ssa-live.c (remove_unused_scope_block_p): Don't remove
+ DECL_IGNORED_P non-reg vars if they are used.
+
+ PR tree-optimization/47391
+ * varpool.c (const_value_known_p): Return false if
+ decl is volatile.
+
+2011-01-21 Kai Tietz <kai.tietz@onevision.com>
+
+ PR bootstrap/47215
+ * config/i386/i386.c (ix86_local_alignment): Handle
+ case for va_list_type_node is nil.
+ (ix86_canonical_va_list_type): Likewise.
+
+2011-01-21 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Add
+ builtin_define __CMODEL_MEDIUM__ and __CMODEL_LARGE__.
+
+2011-01-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/arm.md (define_attr type): Rename f_load
+ and f_store to f_fpa_load and f_fpa_store. Update.
+ (write_conflict): Deal with rename fallout.
+ (*push_fp_multi): Likewise.
+ * config/arm/fpa.md (f_load): Use f_fpa_load.
+ (f_store): Use f_fpa_store.
+ (*movsf_fpa): Likewise.
+ (*movdf_fpa): Likewise.
+ (*movxf_fpa): Likewise.
+ (*thumb2_movsf_fpa): Likewise.
+ (*thumb2_movdf_fpa): Likewise.
+ (*thumb2_movxf_fpa): Likewise.
+ * config/arm/vfp.md (*thumb2_movdf_vfp): Fix attribute to
+ f_loadd and f_stored.
+ (*thumb2_movdi_vfp): Likewise.
+ (*thumb2_movsf_vfp): Fix attribute to f_loads.
+ (*thumb2_movsi_vfp): Likewise.
+ * config/arm/cortex-m4-fpu.md (cortex_m4_f_load):
+ Use f_loads instead of f_load.
+ * config/arm/cortex-a5.md (cortex_a5_f_loads): Remove f_load.
+
+2011-01-20 Anatoly Sokolov <aesok@post.ru>
+
+ * config/xtensa/xtensa.h (GO_IF_MODE_DEPENDENT_ADDRESS): Remove.
+ * config/xtensa/xtensa-protos.h (constantpool_address_p): Remove.
+ * config/xtensa/xtensa.c (TARGET_MODE_DEPENDENT_ADDRESS_P): Define.
+ (xtensa_mode_dependent_address_p): New function.
+ (constantpool_address_p): Make static. Change return type to bool.
+ Change argument type to const_rtx. Use CONST_INT_P predicate.
+
+2011-01-20 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46583
+ * tree-ssa-live.c (remove_unused_scope_block_p): Keep type decls.
+
+2011-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47283
+ * cfgexpand.c (expand_debug_expr): Instead of generating
+ (mem (debug_implicit_ptr)) for MEM_REFs use COMPONENT_REF
+ etc. handling.
+
+2011-01-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47370
+ * tree-inline.c (remap_gimple_op_r): Recurse manually for
+ the pointer operand of MEM_REFs.
+
+2011-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46130
+ * ipa-split.c (consider_split): If return_bb contains non-virtual
+ PHIs other than for retval or if split_function would not adjust it,
+ refuse to split.
+
+2011-01-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47167
+ * tree-ssa-copyrename.c (copy_rename_partition_coalesce):
+ Revert previous change, only avoid enumeral type changes.
+
+2011-01-19 Mike Stump <mikestump@comcast.net>
+
+ * doc/tm.texi.in (BRANCH_COST): Englishify.
+ * doc/tm.texi (BRANCH_COST): Likewise.
+
+2011-01-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47291
+ * dwarf2out.c (generic_type_p, schedule_generic_params_dies_gen)
+ (gen_scheduled_generic_parms_dies): New functions.
+ (gen_struct_or_union_type_die): Schedule template parameters DIEs
+ generation for the end of CU compilation.
+ (dwarf2out_finish): Generate template parameters DIEs here.
+
+2011-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46240
+ * tree-into-ssa.c (maybe_register_def): Do not attempt to add
+ debug bind stmt on merge edges.
+
+2011-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47079
+ PR debug/46724
+ * function.c (instantiate_expr): Instantiate incoming rtl of
+ implicit arguments, and recurse on VALUE_EXPRs.
+ (instantiate_decls): Instantiate rtl and VALUE_EXPR of result.
+ * var-tracking.c (adjust_mems): Reject virtual_incoming_args_rtx.
+
+2011-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * c-parser.c (c_parser_for_statement): Initialize
+ collection_expression.
+
+2011-01-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/spu/spu-elf.h (ASM_SPEC): Remove %{w:-W}.
+
+2011-01-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/sysv4.h (LINK_PATH_SPEC): Remove.
+ (LINK_SHLIB_SPEC): Don't use %(link_path).
+ (SUBTARGET_EXTRA_SPECS): Remove link_path.
+
+2011-01-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/sysv4.h (SHARED_LIB_SUPPORT): Remove conditional.
+ (NO_SHARED_LIB_SUPPORT): Remove.
+ (LINK_SHLIB_SPEC): Remove one conditional definition.
+
+2011-01-19 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/linux64.h (LINK_SPEC): Remove %{non_shared}
+ %{call_shared}.
+ * config/mips/mips.h (LINK_SPEC): Remove %{non_shared}.
+ * config/mips/netbsd.h (LINK_SPEC): Remove %{call_shared}.
+ * config/mips/openbsd.h (LINK_SPEC): Remove %{non_shared}
+ %{call_shared} and conditionals on these options not being passed.
+ * config/mips/sde.h (LINK_SPEC): Remove %{non_shared}
+ %{call_shared}.
+
+2011-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ * ipa-split.c (find_return_bb): Use single_pred_p/single_pred_edge,
+ simplify.
+
+ * ipa-split.c: Spelling fixes.
+
+2011-01-19 Richard Henderson <rth@redhat.com>
+
+ * config/mn10300/mn10300.md (mulsi3): Use reg_or_am33_const_operand.
+ (*mulsi3): Likewise.
+
+ * longlong.h [__mn10300__] (count_leading_zeros): New.
+ [__mn10300__] (umul_ppmm, smul_ppmm): New.
+ [__mn10300__] (add_ssaaaa, subddmmss): New.
+ [__mn10300__] (udiv_qrnnd, sdiv_qrnnd): New.
+ [__mn10300__] (UMUL_TIME, UDIV_TIME): New.
+
+2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.h (MOVE_RATIO): Return 4 in the !speed case.
+
+2011-01-19 Richard Henderson <rth@redhat.com>
+
+ * config/mn10300/mn10300.md (addsi3_flags): New.
+ (addc_internal, adddi3, adddi3_internal, *adddi3_degenerate): New.
+ (subsi3_flags, subc_internal, subdi3): New.
+ (subdi3_internal, *subdi3_degenerate): New.
+ * config/mn10300/predicates.md (reg_or_am33_const_operand): New.
+
+ * config/mn10300/mn10300.c (mn10300_can_use_retf_insn): New.
+ (mn10300_can_use_rets_insn): Rename from mn10300_can_use_return_insn.
+ (mn10300_expand_epilogue): Use it. Compute REG_SAVE_BYTES once.
+ * config/mn10300/mn10300-protos.h: Update.
+ * config/mn10300/mn10300.md (return): Use mn10300_can_use_retf_insn.
+ (return_ret): Likewise. Rename from return_internal_regs.
+ (return_internal): Remove.
+
+ * config/mn10300/mn10300.c (mn10300_unspec_int_label_counter): Remove.
+ (mn10300_asm_output_addr_const_extra): Don't handle UNSPEC_INT_LABEL.
+ (mn10300_legitimate_constant_p): Likewise.
+ (mn10300_can_use_return_insn): Use mn10300_initial_offset.
+ (mn10300_frame_size): New.
+ (mn10300_expand_prologue): Use it.
+ (mn10300_expand_epilogue): Likewise.
+ (mn10300_initial_offset): Likewise.
+ * config/mn10300/mn10300-protos.h: Update.
+ * config/mn10300/mn10300.h (mn10300_unspec_int_label_counter): Remove.
+ * config/mn10300/mn10300.md (UNSPEC_INT_LABEL): Remove.
+ (prologue, epilogue, return_internal): Tidy output code.
+ (mn10300_store_multiple_operation, return): Likewise.
+ (int_label, pop_pic_reg, GOTaddr2picreg): Remove.
+ (am33_loadPC, mn10300_loadPC, call_next_insn): Remove.
+ (add_GOT_to_pic_reg, add_GOT_to_any_reg): Remove.
+ (load_pic, am33_load_pic): New.
+ (mn10300_load_pic0, mn10300_load_pic1): New.
+
+ * config/mn10300/mn10300-modes.def (CCZN, CCZNC): New modes.
+ * config/mn10300/mn10300.c (CC_FLAG_Z): New.
+ (CC_FLAG_N, CC_FLAG_C, CC_FLAG_V): New.
+ (cc_flags_for_mode, cc_flags_for_code): New.
+ (mn10300_print_operand) ['B']: Use nc/ns for GE/LT when the
+ overflow flag is not valid. Validate that the flags we need
+ for the comparison are valid.
+ (mn10300_output_cmp): Remove.
+ (mn10300_output_add): New.
+ (mn10300_select_cc_mode): Use cc_flags_for_code.
+ (mn10300_split_cbranch): New.
+ (mn10300_match_ccmode): New.
+ (mn10300_split_and_operand_count): New.
+ * config/mn10300/mn10300.h (SELECT_CC_MODE): Pass all of the arguments
+ to the function.
+ * config/mn10300/mn10300.md (*am33_addsi3, *mn10300_addsi3): Merge...
+ (addsi3): ... here. Use mn10300_output_add.
+ (*addsi3_flags): New.
+ (*am33_subsi3, *mn10300_subsi3): Merge...
+ (subsi3): ... here. Use attribute isa.
+ (*subsi3_flags): New.
+ (negsi2): Rewrite from expander to insn_and_split. Use NOT+INC
+ when possible.
+ (*am33_andsi3, *mn10300_andsi3): Merge...
+ (andsi3): ... here.
+ (*andsi3_flags): New.
+ (andsi3 splitters): New.
+ (*am33_iorsi3, *mn10300_iorsi3): Merge...
+ (iorsi3): ... here.
+ (*iorsi3_flags): New.
+ (*am33_xorsi3, *mn10300_xorsi3): Merge...
+ (xorsi3): ... here.
+ (*xorsi3_flags): New.
+ (*am33_cmpsi2, *mn10300_cmplsi2): Merge...
+ (one_cmplsi2): ... here.
+ (*one_cmplsi2_flags): New.
+ (*cbranchsi4_cmp): Rename from cbranchsi4_post_reload. Use "r"
+ instead of "dax" in constraints. Use mn10300_split_cbranch.
+ (*cmpsi): Rename from cmpsi. Do not use mn10300_output_cmp. Do not
+ use matching constraints to eliminate a self-comparison.
+ (*integer_conditional_branch): Rename from integer_conditional_branch.
+ Use int_mode_flags to match CC_REG.
+ (*cbranchsi4_btst, *btstsi): New.
+ (*cbranchsf4_cmp): Rename from *cbranchsf4_post_reload. Use
+ mn10300_split_cbranch.
+ (*am33_cmpsf): Rename from am33_cmpsf.
+ (*float_conditional_branch): Rename from float_conditional_branch.
+ (*zero_extendqisi2_am33, *zero_extendqisi2_mn10300): Merge...
+ (zero_extendqisi2): ... here.
+ (*zero_extendhisi2_am33, *zero_extendhisi2_mn10300): Merge...
+ (zero_extendhisi2): ... here.
+ (*extendqisi2_am33, *extendqisi2_mn10300): Merge...
+ (extendqisi2): ... here.
+ (*extendhisi2_am33, *extendhisi2_mn10300): Merge...
+ (extendhisi2): ... here.
+ (*am33_ashlsi3, *mn10300_ashlsi3): Merge...
+ (ashlsi3): ... here.
+ (*am33_lshrsi3, *mn10300_lshrsi3): Merge...
+ (lshrsi3): ... here.
+ (*am33_ashrisi3, *mn10300_ashrsi3): Merge...
+ (ashrsi3): ... here.
+ (consecutive add peephole): Remove.
+ * config/mn10300/predicates.md (label_ref_operand): New.
+ (int_mode_flags): New.
+ (CCZN_comparison_operator): New.
+
+ * config/mn10300/mn10300.md (UNSPEC_EXT): New.
+ (throughput_42_latency_43): New reservation.
+ (mulsidi3, umulsidi3): New expanders.
+ (mulsidi3_internal): Rewrite from old mulsidi3 pattern. Expose
+ the MDR register to allocation; separately allocate the low and
+ high parts of the DImode result.
+ (umulsidi3_internal): Similarly.
+ (*am33_mulsi3, *mn10300_mulsi3): Merge into ...
+ (*mulsi3): ... here. Clobber MDR as a scratch as necessary.
+ (udivsi3, umodsi3): Remove.
+ (udivmodsi4, divmodsi4): New expanders.
+ (*udivmodsi4): Rename from udivmodsi4. Expose MDR properly.
+ (*divmodsi4): Simiarly.
+ (ext_internal): New.
+
+ * config/mn10300/constraints.md ("z"): New constraint.
+ * config/mn10300/mn10300.h (MDR_REGNUM): Remove.
+ (FIXED_REGISTERS): Don't fix MDR.
+ (CALL_USED_REGSITERS): Reformat nicely.
+ (REG_ALLOC_ORDER): Add MDR.
+ (enum regclass): Add MDR_REGS.
+ (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update to match.
+ (IRA_COVER_CLASSES): Add MDR_REGS.
+ (REGNO_REG_CLASS): Handle MDR_REG.
+ * config/mn10300/mn10300.c (mn10300_secondary_reload): Handle MDR_REGS.
+ (mn10300_register_move_cost): Likewise.
+ * config/mn10300/mn10300.md (MDR_REG): New.
+ (*movsi_internal): Handle moves to/from MDR_REGS.
+
+ * config/mn10300/mn10300.c (mn10300_print_operand_address): Handle
+ POST_MODIFY.
+ (mn10300_secondary_reload): Tidy combination reload classes.
+ (mn10300_legitimate_address_p): Allow post-modify and reg+reg
+ addresses for AM33. Allow symbolic offsets for reg+imm.
+ (mn10300_regno_in_class_p): New.
+ (mn10300_legitimize_reload_address): New.
+ * config/mn10300/mn10300.h (enum reg_class): Remove
+ DATA_OR_ADDRESS_REGS, DATA_OR_EXTENDED_REGS, ADDRESS_OR_EXTENDED_REGS,
+ SP_OR_EXTENDED_REGS, SP_OR_ADDRESS_OR_EXTENDED_REGS. Add
+ SP_OR_GENERAL_REGS.
+ (REG_CLASS_NAMES): Update to match.
+ (REG_CLASS_CONTENTS): Likewise.
+ (INDEX_REG_CLASS): Use GENERAL_REGS for AM33.
+ (BASE_REG_CLASS): Use SP_OR_GENERAL_REGS for AM33.
+ (REGNO_IN_RANGE_P): Remove.
+ (REGNO_DATA_P): Use mn10300_regno_in_class_p.
+ (REGNO_ADDRESS_P, REGNO_EXTENDED_P): Likewise.
+ (REGNO_STRICT_OK_FOR_BASE_P): Likewise.
+ (REGNO_STRICT_OK_FOR_BIT_BASE_P): Likewise.
+ (REGNO_STRICT_OK_FOR_INDEX_P): Likewise.
+ (REGNO_SP_P, REGNO_AM33_P, REGNO_FP_P): Remove.
+ (REGNO_GENERAL_P): New.
+ (HAVE_POST_MODIFY_DISP): New.
+ (USE_LOAD_POST_INCREMENT, USE_STORE_POST_INCREMENT): New.
+ (LEGITIMIZE_RELOAD_ADDRESS): New.
+ * config/mn10300/mn10300-protos.h: Update.
+
+ * config/mn10300/mn10300.c (mn10300_preferred_reload_class): Allow
+ DATA_REGS for AM33 stack-pointer destination.
+ (mn10300_preferred_output_reload_class): Likewise.
+ (mn10300_secondary_reload): Rearrange mn10300_secondary_reload_class
+ into a form appropriate for ...
+ (TARGET_SECONDARY_RELOAD): New.
+ * config/mn10300/mn10300.h (SECONDARY_RELOAD_CLASS): Remove.
+ * config/mn10300/mn10300-protos.h: Update.
+ * config/mn10300/mn10300.md (reload_plus_sp_const): Rename from
+ reload_insi; use the "A" constraint for the scratch; handle AM33
+ moves of sp to non-address registers.
+
+ * config/mn10300/mn10300.md (*am33_movqi, *mn10300_movqi): Merge into
+ (*movqi_internal): ... here.
+ (*am33_movhi, *mn10300_movhi): Merge into...
+ (*movhi_internal): ... here.
+ (*movsi_internal): Use "r" instead of "dax" in constraints. Use "A"
+ as the source/destination of moves from/to SP.
+ (movsf): Only allow for AM33-2.
+ (*movsf_internal): Use "r" instead of "dax"; use "F" instead of
+ any integer constant constraint. Only allow for AM33-2. Tidy
+ all of the alternative outputs.
+ (movdi, movdf, *am33_2_movdf, *mn10300_movdf): Remove.
+ (udivmodsi4): Delete expander and promote *udivmodsi4. Disallow
+ for MN103.
+ (udivsi3, umodsi3): New patterns for MN103 only.
+
+2011-01-19 Joern Rennecke <amylaar@spamcop.net>
+
+ * doc/tm.texi.in: Spell out that a lack of register class unions
+ can lead to ICEs.
+ * doc/tm.texi: Regenerate.
+
+2011-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/47337
+ * dce.c (check_argument_store): New function.
+ (find_call_stack_args): Ignore debug insns. Use check_argument_store.
+
+ PR tree-optimization/47290
+ * tree-eh.c (infinite_empty_loop_p): New function.
+ (cleanup_empty_eh): Use it.
+
+2011-01-18 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/46997
+ * ia64.c (ia64_expand_unpack): Fix code for TARGET_BIG_ENDIAN.
+ (a64_expand_widen_sum): Ditto.
+ * vect.md (mulv2si3): Disable for TARGET_BIG_ENDIAN.
+ (vec_extract_evenodd_help): Ditto.
+ (vec_extract_evenv4hi): Ditto.
+ (vec_extract_oddv4hi): Ditto.
+ (vec_extract_evenv2si): Ditto.
+ (vec_extract_oddv2si): Ditto.
+ (vec_extract_evenv2sf): Ditto.
+ (vec_extract_oddv2sf): Ditto.
+ (vec_pack_trunc_v4hi: Ditto.
+ (vec_pack_trunc_v2si): Ditto.
+ (vec_interleave_lowv8qi): Fix for TARGET_BIG_ENDIAN.
+ (vec_interleave_highv8qi): Ditto.
+ (mix1_r): Ditto.
+ (vec_extract_oddv8qi): Ditto.
+ (vec_interleave_lowv4hi): Ditto.
+ (vec_interleave_highv4hi): Ditto.
+ (vec_interleave_lowv2si): Ditto.
+ (vec_interleave_highv2si): Ditto.
+
+2011-01-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * doc/extend.texi: Mention __float128 support on hppa HP-UX.
+ * config/pa/pa-hpux.h (HPUX_LONG_DOUBLE_LIBRARY): Define to 1.
+ * config/pa/pa.c (pa_expand_builtin): New. Include "langhooks.h".
+ (pa_c_mode_for_suffix): New.
+ (TARGET_EXPAND_BUILTIN): Define.
+ (TARGET_C_MODE_FOR_SUFFIX): Define.
+ (pa_builtins): Define.
+ (pa_init_builtins): Register __float128 type and init new support
+ builtins.
+ * config/pa/pa.h (HPUX_LONG_DOUBLE_LIBRARY): Define if not defined.
+ * config/pa/quadlib.c (_U_Qfcopysign): New.
+
+2011-01-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/46894
+ * explow.c (allocate_dynamic_stack_space): Do not assume more than
+ BITS_PER_UNIT alignment if STACK_DYNAMIC_OFFSET or STACK_POINTER_OFFSET
+ are defined.
+
+2011-01-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR tree-optimization/47179
+ * config/spu/spu.c (spu_ref_may_alias_errno): New function.
+ (TARGET_REF_MAY_ALIAS_ERRNO): Define.
+
+2011-01-18 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/47216
+ * emit-rtl.c: Include tree-flow.h.
+ (set_mem_attributes_minus_bitpos): Use tree_could_trap_p instead
+ of replicating it with different semantics.
+ * Makefile.in (emit-rtl.o): Adjust.
+
+2011-01-18 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
+
+ * config/arm/cortex-a9.md (cortex-a9-neon.md): Actually include.
+ (cortex_a9_dp): Handle neon types correctly.
+
+2011-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/47299
+ * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Don't use
+ subtarget. Use normal multiplication if both operands are constants.
+ * expmed.c (expand_widening_mult): Don't try to optimize constant
+ multiplication if op0 has VOIDmode. Convert op1 constant to mode
+ before using it.
+
+2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/lto.texi (LTO): Ensure two spaces after period. Fix
+ spacing after 'e.g.', typos, comma, hyphenation.
+
+2011-01-17 Richard Henderson <rth@redhat.com>
+
+ * config/rx/predicates.md (rx_constshift_operand): Use match_test.
+ (rx_restricted_mem_operand): New.
+ (rx_shift_operand): Use register_operand.
+ (rx_source_operand, rx_compare_operand): Likewise.
+ * config/rx/rx.md (addsi3_flags): New expander.
+ (adddi3): Rewrite as expander.
+ (adc_internal, *adc_flags, adddi3_internal): New patterns.
+ (subsi3_flags): New expander.
+ (subdi3): Rewrite as expander.
+ (sbb_internal, *sbb_flags, subdi3_internal): New patterns.
+
+ * config/rx/rx.c (RX_BUILTIN_SAT): Remove.
+ (rx_init_builtins): Remove sat builtin.
+ (rx_expand_builtin): Likewise.
+ * config/rx/rx.md (ssaddsi3): New.
+ (*sat): Rename from sat. Represent the CC_REG input.
+
+ * config/rx/predicates.md (rshift_operator): New.
+ * config/rx/rx.c (rx_expand_insv): Remove.
+ * config/rx/rx-protos.h: Update.
+ * config/rx/rx.md (*bitset): Rename from bitset. Swap the ashift
+ operand to the canonical position.
+ (*bitset_in_memory, *bitinvert, *bitinvert_in_memory): Similarly.
+ (*bitclr, *bitclr_in_memory): Similarly.
+ (*insv_imm, rx_insv_reg, *insv_cond, *bmcc, *insv_cond_lt): New.
+ (insv): Retain the zero_extract in the expansion.
+
+ * config/rx/rx.md (bswapsi2): Use = not + for output reload.
+ (bswaphi2, bitinvert, revw): Likewise.
+
+ * config/rx/rx.c (gen_rx_store_vector): Use VOIDmode for gen_rtx_SET.
+ (gen_rx_rtsd_vector, gen_rx_popm_vector): Likewise.
+ * config/rx/rx.md (pop_and_return): Use VOIDmode for SET.
+ (stack_push, stack_pushm, stack_pop, stack_popm): Likewise.
+ (bitset, bitset_in_memory): Likewise.
+ (bitinvert, bitinvert_in_memory): Likewise.
+ (bitclr, bitclr_in_memory): Likewise.
+ (insv, sync_lock_test_and_setsi, movstr, rx_movstr): Likewise.
+ (rx_strend, rx_cmpstrn): Likewise.
+ (rx_setmem): Likewise. Make the source BLKmode to match the dest.
+ (bitop peep2 patterns): Remove.
+
+ * config/rx/rx.c (rx_match_ccmode): New.
+ * config/rx/rx-protos.h: Update.
+ * config/rx/rx.md (abssi2): Clobber, don't set flags.
+ (addsi3, adddi3, andsi3, negsi2, one_cmplsi2, iorsi3): Likewise.
+ (rotlsi3, rotrsi3, ashrsi3, lshrsi3, ashlsi3): Likewise.
+ (subsi3, subdi3, xorsi3, addsf3, divsf3, mulsf3, subsf3): Likewise.
+ (fix_truncsfsi2, floatsisf2): Likewise.
+ (*abssi2_flags, *addsi3_flags, *andsi3_flags, *negsi2_flags): New.
+ (*one_cmplsi2_flags, *iorsi3_flags, *rotlsi3_flags): New.
+ (*rotrsi3_flags, *ashrsi3_flags, *lshrsi3_flags, *ashlsi3_flags): New.
+ (*subsi3_flags, *xorsi3_flags): New.
+
+ * config/rx/rx.md (cstoresf4, *cstoresf4): New patterns.
+
+ * config/rx/rx.c (rx_print_operand): Remove workaround for
+ unsplit comparison operations.
+
+ * config/rx/rx.md (movsicc): Split after reload.
+ (*movsicc): Merge *movsieq and *movsine via match_operator.
+ (*stcc): New pattern.
+
+ * config/rx/rx.c (rx_float_compare_mode): Remove.
+ * config/rx/rx.h (rx_float_compare_mode): Remove.
+ * config/rx/rx.md (cstoresi4): Split after reload.
+ (*sccc): New pattern.
+
+ * config/rx/predicates.md (label_ref_operand): New.
+ (rx_z_comparison_operator): New.
+ (rx_zs_comparison_operator): New.
+ (rx_fp_comparison_operator): New.
+ * config/rx/rx.c (rx_print_operand) [B]: Examine comparison modes.
+ Validate that the flags are set properly for the comparison.
+ (rx_gen_cond_branch_template): Remove.
+ (rx_cc_modes_compatible): Remove.
+ (mode_from_flags): New.
+ (flags_from_code): Rename from flags_needed_for_conditional.
+ (rx_cc_modes_compatible): Re-write in terms of flags_from_mode.
+ (rx_select_cc_mode): Likewise.
+ (rx_split_fp_compare): New.
+ (rx_split_cbranch): New.
+ * config/rx/rx.md (most_cond, zs_cond): Remove iterators.
+ (*cbranchsi4): Use match_operator and rx_split_cbranch.
+ (*cbranchsf4): Similarly.
+ (*cbranchsi4_tst): Rename from *tstbranchsi4_<code>. Use
+ match_operator and rx_split_cbranch.
+ (*cbranchsi4_tst_ext): Combine *tstbranchsi4m_eq and
+ tstbranchsi4m_ne. Use match_operator and rx_split_cbranch.
+ (*cmpsi): Rename from cmpsi.
+ (*tstsi): Rename from tstsi.
+ (*cmpsf): Rename from cmpsf; use CC_Fmode.
+ (*conditional_branch): Rename from conditional_branch.
+ (*reveresed_conditional_branch): Remove.
+ (b<code>): Remove expander.
+ * config/rx/rx-protos.h: Update.
+
+ * config/rx/rx.c (rx_compare_redundant): Remove.
+ * config/rx/rx.md (cmpsi): Don't use it.
+ * config/rx/rx-protos.h: Update.
+
+ * config/rx/rx-modes.def (CC_F): New mode.
+ * config/rx/rx.c (rx_select_cc_mode): New.
+ * config/rx/rx.h (SELECT_CC_MODE): Use it.
+ * config/rx/rx-protos.h: Update.
+
+2011-01-17 Richard Henderson <rth@redhat.com>
+
+ * except.c (dump_eh_tree): Fix stray ; after for statement.
+
+2011-01-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47313
+ * tree-inline.c (tree_function_versioning): Move DECL_RESULT
+ handling before copying the body. Properly deal with
+ by-reference result in SSA form.
+
+2011-01-17 Ian Lance Taylor <iant@google.com>
+
+ PR target/47219
+ * config/sparc/sparc.c (sparc_sr_alias_set): Don't define.
+ (struct_value_alias_set): Don't define.
+ (sparc_option_override): Don't set sparc_sr_alias_set and
+ struct_value_alias_set.
+ (save_or_restore_regs): Use gen_frame_mem rather than calling
+ set_mem_alias_set.
+ (sparc_struct_value_rtx): Likewise.
+
+2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47318
+ * config/i386/avxintrin.h (_mm_maskload_pd): Change mask to __m128i.
+ (_mm_maskstore_pd): Likewise.
+ (_mm_maskload_ps): Likewise.
+ (_mm_maskstore_ps): Likewise.
+ (_mm256_maskload_pd): Change mask to __m256i.
+ (_mm256_maskstore_pd): Likewise.
+ (_mm256_maskload_ps): Likewise.
+ (_mm256_maskstore_ps): Likewise.
+
+ * config/i386/i386-builtin-types.def: Updated.
+ (ix86_expand_special_args_builtin): Likewise.
+
+ * config/i386/i386.c (bdesc_special_args): Update
+ __builtin_ia32_maskloadpd, __builtin_ia32_maskloadps,
+ __builtin_ia32_maskloadpd256, __builtin_ia32_maskloadps256,
+ __builtin_ia32_maskstorepd, __builtin_ia32_maskstoreps,
+ __builtin_ia32_maskstorepd256 and __builtin_ia32_maskstoreps256.
+
+ * config/i386/sse.md (avx_maskload<ssemodesuffix><avxmodesuffix>):
+ Use <avxpermvecmode> on mask register.
+ (avx_maskstore<ssemodesuffix><avxmodesuffix>): Likewise.
+
+2011-01-17 Olivier Hainque <hainque@adacore.com>
+ Michael Haubenwallner <michael.haubenwallner@salomon.at>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/46655
+ * xcoffout.c (ASM_OUTPUT_LINE): Output line only if positive, and only
+ if <= USHRT_MAX in 32-bit mode.
+
+2011-01-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/install.texi (Configuration, Specific): Wrap long
+ lines in examples. Allow line wrapping in long options
+ and URLs where beneficial for PDF output.
+
+2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_classify_symbol): Don't return
+ SYMBOL_PC_RELATIVE for nonlocal labels.
+
+2011-01-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/sparc/sol2-bi.h (CC1_SPEC): Fix typo.
+
+2011-01-15 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/47276
+ * ipa.c (function_and_variable_visibility): Do not try to mark alias
+ declarations as needed.
+
+2011-01-15 Martin Jambor <mjambor@suse.cz>
+
+ * common.opt (fdevirtualize): New flag.
+ * doc/invoke.texi (Option Summary): Document it.
+ * opts.c (default_options_table): Add devirtualize flag.
+ * ipa-prop.c (detect_type_change): Return immediately if
+ devirtualize flag is not set.
+ (detect_type_change_ssa): Likewise.
+ (compute_known_type_jump_func): Likewise.
+ (ipa_analyze_virtual_call_uses): Likewise.
+
+2011-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/45934
+ PR tree-optimization/46302
+ * ipa-prop.c (type_change_info): New type.
+ (stmt_may_be_vtbl_ptr_store): New function.
+ (check_stmt_for_type_change): Likewise.
+ (detect_type_change): Likewise.
+ (detect_type_change_ssa): Likewise.
+ (compute_complex_assign_jump_func): Check for dynamic type change.
+ (compute_complex_ancestor_jump_func): Likewise.
+ (compute_known_type_jump_func): Likewise.
+ (compute_scalar_jump_functions): Likewise.
+ (ipa_analyze_virtual_call_uses): Likewise.
+ (ipa_analyze_node): Push and pop cfun, set current_function_decl.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/i386.h (CC1_CPU_SPEC_1): Don't handle -msse5.
+ * config/i386/i386.opt (msse5): New Alias.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/linux.h (CC1_SPEC): Remove %{sun4:} %{target:}.
+ * config/sparc/linux64.h (CC1_SPEC): Likewise.
+ * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
+ * config/sparc/sparc.h (CC1_SPEC): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/linux.h (CC1_SPEC): Don't handle old equivalents of
+ -mcpu options.
+ * config/sparc/linux64.h (CC1_SPEC): Likewise.
+ * config/sparc/netbsd-elf.h (CC1_SPEC32, CC1_SPEC64): Likewise.
+ * config/sparc/sol2-bi.h (CPP_CPU_SPEC, CC1_SPEC): Likewise.
+ * config/sparc/sparc.h (CPP_CPU_SPEC, CC1_SPEC, ASM_CPU_SPEC):
+ Likewise.
+ * config/sparc/t-elf (MULTILIB_MATCHES): Don't handle -mv8.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rs6000/vxworks.h (CC1_SPEC): Don't handle -fvec or -fvec-eabi.
+
+2011-01-14 Mike Stump <mikestump@comcast.net>
+
+ * config/alpha/alpha.md (umk_mismatch_args): Don't put a mode on set.
+ * config/fr30/fr30.md: Likweise
+ (movsi_push): Likewise.
+ (movsi_pop): Likewise.
+ (enter_func): Likewise.
+ * config/moxie/moxie.md (movsi_push): Likewise.
+ (movsi_pop): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/linux64.h (LINK_SPEC): Remove %{bestGnum}
+ %{no_archive} %{exact_version}.
+ * config/mips/mips.h (LINK_SPEC): Remove %{bestGnum}.
+ * config/mips/netbsd.h (LINK_SPEC): Remove %{bestGnum}
+ %{no_archive} %{exact_version}.
+ * config/mips/openbsd.h (LINK_SPEC): Likewise.
+ * config/mips/sde.h (LINK_SPEC): Remove %{bestGnum}.
+ * config/mips/vxworks.h: Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/microblaze/microblaze.h (ASM_SPEC): Remove %{microblaze1}.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/m32r/little.h (CPP_ENDIAN_SPEC, CC1_ENDIAN_SPEC,
+ ASM_ENDIAN_SPEC, LINK_ENDIAN_SPEC): Remove.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/nwld.h (LINK_SPEC): Check -nodefaultlibs not
+ -nodefaultlib.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/cris/cris.h (ASM_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check
+ for mcpu not cpu.
+ * config/cris/linux.h (CRIS_CPP_SUBTARGET_SPEC,
+ CRIS_CC1_SUBTARGET_SPEC, CRIS_ASM_SUBTARGET_SPEC): Check for mcpu
+ not cpu.
+ (CRIS_LINK_SUBTARGET_SPEC): Don't generate -rpath-link options.
+ Don't handle -shlib.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/avr/avr.h (CPP_SPEC): Don't handle -posix.
+ (CC1_SPEC): Don't handle -profile.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/microblaze/microblaze.h (CC1_SPEC): Remove -gline spec.
+ * config/mips/mips.h (CC1_SPEC): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/microblaze/microblaze.h (CC1_SPEC): Remove %{save-temps: }.
+ * config/mips/mips.h (CC1_SPEC): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/i386/linux.h (LINK_SPEC): Don't use %{!ibcs:} conditional.
+ * config/m32r/linux.h (LINK_SPEC): Likewise.
+ * config/mips/linux.h (LINK_SPEC): Likewise.
+ * config/mips/linux64.h (LINK_SPEC): Likewise.
+ * config/sparc/linux.h (LINK_SPEC): Likewise.
+ * config/sparc/linux64.h (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
+ LINK_SPEC): Likewise.
+ * config/xtensa/linux.h (LINK_SPEC): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove
+ %{version:-v}.
+ * config/lm32/uclinux-elf.h (LINK_SPEC): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sparc/sp-elf.h (ASM_SPEC): Remove %{v:-V}.
+ * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
+
+2011-01-14 Joseph Myers <joseph@codesourcery.com>
+
+ * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Remove %{b}.
+
+2011-01-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (gcc_cv_ld_static_dynamic): Solaris 2 ld always
+ supports -Bstatic/-Bdynamic.
+ * configure: Regenerate.
+
+2011-01-14 Jan Hubicka <jh@suse.cz>
+ Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/46037
+ * config/darwin.c (darwin_override_options): Honor flag_gtoggle
+ when checking debug_info_level. Test write_symbols instead of
+ debug_hooks->var_location when setting flag_var_tracking_uninit.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47179
+ * target.def (ref_may_alias_errno): New target hook.
+ * targhooks.h (default_ref_may_alias_errno): Declare.
+ * targhooks.c: Include tree-ssa-alias.h and tree-flow.h.
+ (default_ref_may_alias_errno): New function.
+ * target.h (struct ao_ref_s): Declare.
+ * tree-ssa-alias.c: Include target.h.
+ (call_may_clobber_ref_p_1): Use the ref_may_alias_errno target hook.
+ * Makefile.in (tree-ssa-alias.o): Adjust dependencies.
+ (targhooks.o): Likewise.
+ * doc/tm.texi.in (TARGET_REF_MAY_ALIAS_ERRNO): Document.
+ * doc/tm.texi (TARGET_REF_MAY_ALIAS_ERRNO): Copy documentation.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (new_var_info): Use DECL_HARD_REGISTER.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47280
+ * tree-ssa-forwprop.c (associate_plusminus): Cleanup EH and
+ return CFG changes.
+ (tree_ssa_forward_propagate_single_use_vars): Deal with
+ CFG changes from associate_plusminus.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47281
+ Revert
+ 2011-01-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46076
+ * tree-ssa.c (useless_type_conversion_p): Conversions from
+ unprototyped to empty argument list function types are useless.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47286
+ * tree-ssa-structalias.c (new_var_info): Register variables are global.
+
+2011-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/46823
+ * tree-inline.c (expand_call_inline): Get fndecl from call graph edge.
+
+2011-01-13 Anatoly Sokolov <aesok@post.ru>
+
+ * config/xtensa/xtensa.h (XTENSA_LIBCALL_VALUE, LIBCALL_VALUE,
+ LIBCALL_OUTGOING_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros.
+ * config/xtensa/xtensa.c (xtensa_libcall_value,
+ xtensa_function_value_regno_p): New functions.
+ (TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define.
+
+2011-01-13 Kai Tietz <kai.tietz@onevision.com>
+
+ PR c++/47213
+ * config/i386/cygming.h (TARGET_ASM_ASSEMBLE_VISIBILITY):
+ PE specific hook.
+ * config/i386/i386-protos.h (i386_pe_assemble_visibility):
+ New function prototype.
+ * config/i386/winnt.c (i386_pe_assemble_visibility):
+ Warn only if attribute was specified by user.
+
+2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47251
+ * config/rs6000/rs6000.md (floatunsdidf2): Add check for hardware
+ floating point.
+ (floatunsdidf2_fcfidu): Ditto.
+
+2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390.c (print_operand_address): Replace 'error' with
+ 'output_operand_lossage'.
+ (print_operand): Likewise.
+
+2011-01-13 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/39077
+ * doc/invoke.texi (max-gcse-insertion-ratio): Document.
+ * params.h (MAX_GCSE_INSERTION_RATIO): Define.
+ * params.def (PARAM_MAX_GCSE_INSERTION_RATIO): Define.
+ * lcm.c (pre_edge_lcm): Properly initialize output sbitmaps.
+ * gcse.c (prune_insertions_deletions): New function.
+ (compute_pre_data): Use it.
+
+2011-01-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/PR46973
+ * dwarf2out.c (prune_unused_types_mark_generic_parms_dies): New
+ static function.
+ (prune_unused_types_mark): Use it.
+
+2011-01-13 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/45352
+ * sel-sched.c: Update copyright years.
+ (reset_sched_cycles_in_current_ebb): Also recheck the DFA state
+ in the advancing loop when we have issued issue_rate insns.
+
+2011-01-12 Richard Henderson <rth@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): New.
+ (TARGET_MD_ASM_CLOBBERS): New.
+
+ * config/mn10300/mn10300.c (mn10300_delegitimize_address): New.
+ (TARGET_DELEGITIMIZE_ADDRESS): New.
+
+ * config/mn10300/mn10300.md (UNSPEC_BSCH): New.
+ (clzsi2, *bsch): New patterns.
+
+ * config/mn10300/mn10300.md (INT): New mode iterator.
+ (*mov<INT>_clr): New pattern, and peep2 to generate it.
+
+ * config/mn10300/mn10300.c (mn10300_option_override): Force enable
+ flag_split_wide_types.
+
+ * config/mn10300/mn10300.c (mn10300_asm_trampoline_template): Remove.
+ (mn10300_trampoline_init): Rewrite without a template, an immediate
+ load and a direct branch.
+ * config/mn10300/mn10300.h (TRAMPOLINE_SIZE): Reduce to 16.
+
+2011-01-12 Anatoly Sokolov <aesok@post.ru>
+
+ * config/s390/s390.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/s390/s390-protos.h (s390_output_addr_const_extra): Remove.
+ * config/s390/s390.c (s390_output_addr_const_extra): Make static.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2011-01-12 Kai Tietz <kai.tietz@onevision.com>
+
+ PR debug/47209
+ * dwarfout2.c (should_emit_struct_debug): Use TYPE_MAIN_VARIANT
+ of type.
+
+2011-01-12 Jan Hubicka <jh@suse.cz>
+
+ PR driver/47244
+ * gcc.c (PLUGIN_COND): Update to disable plugin unless -flto is used.
+ (PLUGIN_COND_CLOSE): New macro.
+ (LINK_COMMAND_SPEC): Update to use PLUGIN_COND_CLOSE.
+
+2011-01-12 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47259
+ * lto-streamer-out.c (output_gimple_stmt): Do not wrap
+ register variables in a MEM_REF.
+
+2011-01-12 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (arm*-*-linux*, bfin*-uclinux*, bfin*-linux-uclibc*,
+ crisv32-*-linux* | cris-*-linux*, frv-*-*linux*, moxie-*-uclinux*,
+ hppa*64*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux* |
+ i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
+ i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
+ x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu,
+ ia64*-*-linux*, lm32-*-uclinux*, m32r-*-linux*, m32rle-*-linux*,
+ m68k-*-uclinux*, m68k-*-linux*, microblaze*-linux*,
+ mips64*-*-linux* | mipsisa64*-*-linux*, mips*-*-linux*,
+ s390-*-linux*, s390x-*-linux*, sh*-*-linux*, sparc-*-linux*,
+ sparc64-*-linux*, vax-*-linux*, xtensa*-*-linux*,
+ am33_2.0-*-linux*): Use gnu-user.h before linux.h.
+ * config/gnu-user.h: New. Copied from linux.h.
+ (LINUX_TARGET_STARTFILE_SPEC): Rename to
+ GNU_USER_TARGET_STARTFILE_SPEC.
+ (LINUX_TARGET_ENDFILE_SPEC): Rename to
+ GNU_USER_TARGET_ENDFILE_SPEC.
+ (LINUX_TARGET_CC1_SPEC): Rename to GNU_USER_TARGET_CC1_SPEC.
+ (LINUX_TARGET_LIB_SPEC): Rename to GNU_USER_TARGET_LIB_SPEC.
+ (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC,
+ LINUX_TARGET_OS_CPP_BUILTINS, CHOOSE_DYNAMIC_LINKER1,
+ CHOOSE_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER,
+ UCLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER64,
+ BIONIC_DYNAMIC_LINKER, BIONIC_DYNAMIC_LINKER32,
+ BIONIC_DYNAMIC_LINKER64, LINUX_DYNAMIC_LINKER,
+ LINUX_DYNAMIC_LINKER32, LINUX_DYNAMIC_LINKER64,
+ TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS): Remove.
+ * config/arm/linux-eabi.h (CC1_SPEC): Use
+ GNU_USER_TARGET_CC1_SPEC.
+ (LIB_SPEC): Use GNU_USER_TARGET_LIB_SPEC.
+ (STARTFILE_SPEC): Use GNU_USER_TARGET_STARTFILE_SPEC.
+ (ENDFILE_SPEC): Use GNU_USER_TARGET_ENDFILE_SPEC
+ * config/linux.h (NO_IMPLICIT_EXTERN_C, ASM_APP_ON, ASM_APP_OFF,
+ LINUX_TARGET_STARTFILE_SPEC, STARTFILE_SPEC,
+ LINUX_TARGET_ENDFILE_SPEC, ENDFILE_SPEC, LINUX_TARGET_CC1_SPEC,
+ CC1_SPEC, CPLUSPLUS_CPP_SPEC, LINUX_TARGET_LIB_SPEC, LIB_SPEC,
+ LINK_EH_SPEC, LINK_GCC_C_SEQUENCE_SPEC, USE_LD_AS_NEEDED): Remove.
+
+2011-01-12 Richard Guenther <rguenther@suse.de>
+
+ PR other/46946
+ * doc/invoke.texi (ffast-math): Document it is turned on
+ with -Ofast.
+
+2011-01-12 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/47233
+ * opts.c (common_handle_option): Disable ipa-reference with profile
+ feedback.
+
+2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_parser_objc_at_property_declaration): Improved
+ error message.
+
+2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * c-parser.c (c_lex_one_token): Updated and reindented some
+ comments. No changes in code.
+
+2011-01-11 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_output_var): Don't output the variable if there is
+ already a type with the same name.
+
+2011-01-11 Ian Lance Taylor <iant@google.com>
+
+ * godump.c (go_format_type): Don't generate float80.
+
+2011-01-11 Richard Henderson <rth@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_address_cost): Remove forward
+ declaration. Rewrite for both speed and size.
+ (mn10300_address_cost_1): Remove.
+ (mn10300_register_move_cost): New.
+ (mn10300_memory_move_cost): New.
+ (mn10300_rtx_costs): Rewrite for both speed and size. Don't handle
+ ZERO_EXTRACT. Do handle UNSPEC, arithmetic, logicals, compare,
+ extensions, shifts, BSWAP, CLZ.
+ (mn10300_wide_const_load_uses_clr): Remove.
+ (TARGET_REGISTER_MOVE_COST): New.
+ (TARGET_MEMORY_MOVE_COST): New.
+ * config/mn10300/mn10300-protos.h: Update.
+ * config/mn10300/mn10300.h (REGISTER_MOVE_COST): Remove.
+
+ * config/mn10300/constraints.md ("R", "T"): Remove constraints.
+ * config/mn10300/mn10300.c (mn10300_mask_ok_for_mem_btst): Remove.
+ * config/mn10300/mn10300-protos.h: Update.
+ * config/mn10300/mn10300.md (movsi_internal): Don't use "R".
+ (*byte_clear, *byte_set, *bit_clear1, *bit_clear2, *bit_set): Remove.
+ (iorqi3, *am33_iorqi3, *mn10300_iorqi3): Remove.
+ (*test_int_bitfield, *test_byte_bitfield): Remove.
+ (*bit_test, *subreg_bit_test): Remove.
+ * config/mn10300/predicates.md (const_8bit_operand): Remove.
+
+ * config/mn10300/constraints.md ("c"): Rename from "A".
+ ("A", "D"): New constraint letters.
+ * config/mn10300/mn10300.md (fmasf4): Use the "c" constraint.
+ (fmssf4, fnmasf4, fnmssf4): Likewise.
+
+ * config/mn10300/mn10300.md (isa): New attribute.
+ (enabled): New attribute.
+
+ * config/mn10300/mn10300.md (absdf2, negdf2): Remove.
+ (abssf2, negsf2): Define only for hardware fp.
+ (sqrtsf2): Reformat.
+ (addsf3, subsf3, mulsf3): Merge expander and insn.
+
+ * config/mn10300/mn10300.h (ARG_PIONTER_CFA_OFFSET): New.
+ (DEBUGGER_AUTO_OFFSET): Remove.
+ (DEBUGGER_ARG_OFFSET): Remove.
+
+ * config/mn10300/mn10300.c (mn10300_gen_multiple_store): Make static.
+ Emit register stores with the same offsets as the hardware.
+ (mn10300_store_multiple_operation): Don't check that the register
+ save offsets are monotonic.
+ * config/mn10300/mn10300-protos.h: Update.
+
+ * config/mn10300/mn10300.h (ASM_PN_FORMAT): Delete.
+
+ * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Define
+ in terms of the value on the stack, not the MDR register.
+
+2011-01-11 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45721
+ PR lto/45375
+ * tree.h (symbol_alias_set_t): Move typedef here from varasm.c
+ (symbol_alias_set_destroy, symbol_alias_set_contains,
+ propagate_aliases_backward): Declare.
+ * lto-streamer-out.c (struct sets): New sturcture.
+ (trivally_defined_alias): New function.
+ (output_alias_pair_p): Rewrite.
+ (output_unreferenced_globals): Fix output of alias pairs.
+ (produce_symtab): Likewise.
+ * ipa.c (function_and_variable_visibility): Set weak alias destination
+ as needed in lto.
+ * varasm.c (symbol_alias_set_t): Remove.
+ (symbol_alias_set_destroy): Export.
+ (propagate_aliases_forward, propagate_aliases_backward): New functions
+ based on ...
+ (compute_visible_aliases): ... this one; remove.
+ (trivially_visible_alias): New
+ (trivially_defined_alias): New.
+ (remove_unreachable_alias_pairs): Rewrite.
+ (finish_aliases_1): Reorganize code checking if alias is defined.
+ * passes.c (rest_of_decl_compilation): Do not call assemble_alias when
+ in LTO mode.
+
+2011-01-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46076
+ * tree-ssa.c (useless_type_conversion_p): Conversions from
+ unprototyped to empty argument list function types are useless.
+
+2011-01-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/45235
+ * emit-rtl.c (set_mem_attributes_minus_bitpos): Do not mark
+ volatile MEMs as MEM_READONLY_P.
+
+2011-01-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47239
+ * tree-ssa-ccp.c (get_value_from_alignment): Punt for FUNCTION_DECLs.
+
+2011-01-11 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47086
+ * tree-ssa-loop-ivopts.c (find_givs_in_stmt_scev): Do not record
+ IVs from statements that might throw.
+
+2011-01-10 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45375
+ * lto-cgraph.c (input_profile_summary): Remove overactive sanity check.
+
+2011-01-10 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45375
+ * profile.c (read_profile_edge_counts): Ignore profile inconistency
+ when correcting profile.
+
+2011-01-10 Jan Hubicka <jh@suse.cz>
+
+ PR lto/46083
+ * lto-streamer-out.c (pack_ts_function_decl_value_fields): Store
+ DECL_FINI_PRIORITY.
+ * lto-streamer-in.c (unpack_ts_function_decl_value_fields):
+ Restore DECL_FINI_PRIORITY.
+
+2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/gimple.texi: Fix quoting of multi-word return values in
+ @deftypefn statements. Ensure presence of return value. Wrap
+ overlong @deftypefn lines.
+ (is_gimple_operand, is_gimple_min_invariant_address): Remove
+ descriptions of removed functions.
+ * doc/hostconfig.texi (Host Common): Wrap long line, fix quoting
+ of multi-word return value in @deftypefn statement.
+
+2011-01-10 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/gimple.texi (Temporaries, Operands, Compound Lvalues)
+ (Conditional Expressions, Logical Operators)
+ (Statement and operand traversals): Do not indent smallexample
+ code. Fix duplicate function argument in example.
+
+2011-01-10 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47141
+ * ipa-split.c (split_function): Handle case where we are
+ returning a value and the return block has a virtual operand phi.
+
+2011-01-10 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/47234
+ * tree-pass.h (TODO_rebuild_cgraph_edges): New TODO.
+ (pass_feedback_split_functions): Declare.
+ * passes.c (init_optimization_passes): Add ipa-split as subpass of
+ tree-profile.
+ * ipa-split.c (gate_split_functions): Update comments; disable
+ split-functions for profile_arc_flag and branch_probabilities.
+ (gate_feedback_split_functions): New function.
+ (execute_feedback_split_functions): New function.
+ (pass_feedback_split_functions): New global var.
+
+2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/46760
+ * tree-inline.c (tree_can_inline_p): Check e->call_stmt before
+ calling gimple_call_set_cannot_inline.
+
+2011-01-10 Iain Sandoe <iains@gcc.gnu.org>
+
+ * config/darwin-sections.def: Remove unused section.
+
+2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR c++/47218
+ * cgraphunit.c (assemble_thunk): Call resolve_unique_section.
+
+2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47232
+ * c-parser.c (c_parser_declaration_or_fndef): Improved
+ error message.
+
+2011-01-09 Kai Tietz <kai.tietz@onevision.com>
+
+ * config/i386/winnt.c (i386_pe_start_function): Make sure
+ to switch back to function's section.
+
+2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR gcc/46902
+ PR testsuite/46912
+ * plugin.c: Move include of dlfcn.h from here...
+ * system.h: ... to here.
+
+2011-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/cpp.texi (C++ Named Operators): Fix markup for header
+ file name.
+ * doc/cppinternals.texi (Top): Wrap node in @ifnottex to avoid
+ two extra empty pages in PDF output.
+
+2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47078
+ * c-parser.c (c_parser_objc_type_name): If the type is unknown,
+ for error recovery purposes behave as if it was not specified so
+ that the default type is usd.
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optmization/46469
+ * ipa.c (function_and_variable_visibility): Clear needed flags on
+ nodes with external decls; handle weakrefs merging correctly.
+
+2011-01-07 Joseph Myers <joseph@codesourcery.com>
+
+ * opts.c (finish_options): Set opts->x_flag_opts_finished to true,
+ not false.
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ * doc/invoke.texi (-flto, -fuse-linker-plugin): Update defaults
+ and no longer claim that gold is required for linker plugin.
+ * configure: Regenerate.
+ * gcc.c (PLUGIN_COND): New macro.
+ (LINK_COMMAND_SPEC): Use it.
+ (main): Default to plugin enabled with HAVE_LTO_PLUGIN is set.
+ * config.in (HAVE_LTO_PLUGIN): New.
+ * configure.ac (--with-lto-plugin): New parameter; autodetect
+ HAVE_LTO_PLUGIN.
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/46367
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Use original function only
+ when we can update original.
+ (cgraph_mark_inline_edge): Sanity check.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Sanity check.
+
+2011-01-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.h (ASM_COMMENT_START): Define.
+
+2011-01-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/42445
+ * gcc.c (%>S): New.
+ (SWITCH_KEEP_FOR_GCC): Likewise.
+ (set_collect_gcc_options): Check SWITCH_KEEP_FOR_GCC.
+ (do_spec_1): Handle "%>".
+
+ * config/i386/i386.h (CC1_CPU_SPEC): Replace "%<" with "%>".
+
+2011-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47201
+ * config/i386/i386.c (ix86_delegitimize_address): If
+ simplify_gen_subreg fails, return orig_x.
+
+ PR bootstrap/47187
+ * value-prof.c (gimple_stringop_fixed_value): Handle
+ lhs of the call properly.
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45375
+ * lto-opt.c (lto_reissue_options): Set flag_shlib.
+
+2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ * target.def (function_switched_text_sections): New hook.
+ * doc/tm.texi: Regenerated.
+ * doc/tm.texi.in (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
+ * final.c (default_function_switched_text_sections): New.
+ (final_scan_insn): Call function_switched_text_sections when a
+ mid-function section change occurs.
+ * output.h (default_function_switched_text_sections): Declare.
+ * config/darwin-protos.h (darwin_function_switched_text_sections):
+ Likewise.
+ * config/darwin.c (darwin_function_switched_text_sections): New.
+ * config/darwin.h (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): New.
+
+2011-01-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ * dwarf2out.c (gen_subprogram_die): Add pubnames with code ranges for
+ DWARF >= 3. Add pubnames for the primary section and a reduced DIE for
+ the secondary code fragment when outputting for DWARF == 2.
+
+2011-01-07 Anatoly Sokolov <aesok@post.ru>
+
+ * config/xtensa/xtensa.h (OUTPUT_ADDR_CONST_EXTRA): Remove.
+ * config/xtensa/xtensa-protos.h (xtensa_output_addr_const_extra):
+ Remove.
+ * config/xtensa/xtensa.c (xtensa_output_addr_const_extra): Make static.
+ (TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
+
+2011-01-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR debug/46704
+ * dwarf2out.c (dwarf2out_finish): Output the debug_aranges section only
+ when it is not empty.
+
+2011-01-06 Changpeng Fang <changpeng.fang@amd.com>
+
+ Bobcat Enablement
+ * config.gcc (i[34567]86-*-linux* | ...): Add btver1.
+ (case ${target}): Add btver1.
+ * config/i386/driver-i386.c (host_detect_local_cpu): Let
+ -march=native recognize btver1 processors.
+ * config/i386/i386-c.c (ix86_target_macros_internal): Add
+ btver1 def_and_undef
+ * config/i386/i386.c (struct processor_costs btver1_cost): New
+ btver1 cost table.
+ (m_BTVER1): New definition.
+ (m_AMD_MULTIPLE): Includes m_BTVER1.
+ (initial_ix86_tune_features): Add btver1 tune.
+ (processor_target_table): Add btver1 entry.
+ (static const char *const cpu_names): Add btver1 entry.
+ (software_prefetching_beneficial_p): Add btver1.
+ (ix86_option_override_internal): Add btver1 instruction sets.
+ (ix86_issue_rate): Add btver1.
+ (ix86_adjust_cost): Add btver1.
+ * config/i386/i386.h (TARGET_BTVER1): New definition.
+ (enum target_cpu_default): Add TARGET_CPU_DEFAULT_btver1.
+ (enum processor_type): Add PROCESSOR_BTVER1.
+ * config/i386/i386.md (define_attr "cpu"): Add btver1.
+
+2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/43309
+ * config/i386/i386.c (legitimize_tls_address)
+ <TLS_MODEL_INITIAL_EXEC>: Handle TARGET_64BIT && TARGET_SUN_TLS.
+ * config/i386/i386.md (UNSPEC_TLS_IE_SUN): Declare.
+ (tls_initial_exec_64_sun): New pattern.
+
+2011-01-06 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (Overall Options): Improve wording and markup
+ of the description of -wrapper.
+
+2011-01-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/sol2.opt (G, YP,, Ym,, compat-bsd, pthread, pthreads,
+ rdynamic, threads): New Driver options.
+
+2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/38118
+ * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
+ if coming from .tdata.
+ * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+
+2011-01-06 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47188
+ * collect2.c (main): Do not enable LTOmode when plugin is active.
+
+2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR other/45915
+ * configure.ac (gcc_cv_as_gnu_unique_object): Only use ldd
+ --version output if supported.
+ * configure: Regenerate.
+
+2011-01-06 Joseph Myers <joseph@codesourcery.com>
+
+ * config/linux-android.opt (tno-android-cc, tno-android-ld): New
+ Driver options.
+
+2011-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/47150
+ * c-convert.c (convert): When converting a complex expression
+ other than COMPLEX_EXPR to a different complex type, ensure
+ c_save_expr is called instead of save_expr, unless in_late_binary_op.
+ * c-typeck.c (convert_for_assignment): Set in_late_binary_op also
+ when converting COMPLEX_TYPE.
+
+2011-01-06 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/47139
+ * tree-vect-loop.c (vect_is_simple_reduction_1): Check that
+ only the last reduction value is used outside the loop. Update
+ documentation.
+
+2011-01-05 Joseph Myers <joseph@codesourcery.com>
+
+ * config/rtems.opt: New.
+ * config.gcc (*-*-rtems*): Use rtems.opt.
+
+2011-01-05 Changpeng Fang <changpeng.fang@amd.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Bulldozer
+ processors do not support 3DNow instructions.
+
+2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_option_override): Set parameter
+ PARAM_MAX_COMPLETELY_PEEL_TIMES to 4 instead of 1.
+
+2011-01-05 Jan Hubicka <jh@suse.cz>
+
+ * lto-wrapper.c (run_gcc): Default to WHOPR mode when none is specified
+ at the command line.
+
+2011-01-05 Martin Jambor <mjambor@suse.cz>
+
+ PR lto/47162
+ * lto-cgraph.c (output_cgraph_opt_summary_p): Also check for thunk
+ deltas on streamed outgoing edges.
+ (output_node_opt_summary): Output info for outgoing edges only when
+ the node is in new parameter set.
+ (output_cgraph_opt_summary): New parameter set, passed to the two
+ aforementioned functions. Update its forward declaration and its
+ callee too.
+
+2011-01-05 Tom Tromey <tromey@redhat.com>
+
+ * c-parser.c (c_parser_omp_atomic): Pass location of assignment
+ operator to c_finish_omp_atomic.
+ * c-typeck.c (lvalue_or_else): Add 'loc' argument.
+ (build_unary_op): Update.
+ (build_modify_expr): Update.
+ (build_asm_expr): Update.
+
+2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (emit_nop_for_insn): Set INSN_LOCATOR for
+ newly inserted insns.
+ (pad_bb): Likewise.
+ (spu_emit_branch_hint): Likewise.
+ (insert_hbrp_for_ilb_runout): Likewise.
+ (spu_machine_dependent_reorg): Call df_finish_pass after
+ schedule_insns returns.
+
+2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_expand_prologue): Support -fstack-usage.
+
+2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/47005
+ * tree-sra.c (struct access): Add 'non_addressable' bit.
+ (create_access): Set it for a DECL_NONADDRESSABLE_P field.
+ (decide_one_param_reduction): Return 0 if the parameter is passed by
+ reference and one of the accesses in the group is non_addressable.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/47056
+ * cgraphbuild.c (mark_address): Remove ATTRIBUTE_UNUSED markers.
+ (mark_load): Likewise. Handle FUNCTION_DECL specially.
+ (mark_store): Likewise. Pass STMT to ipa_record_reference.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (rtl_for_decl_init): Strip no-op conversions off the
+ initializer. Skip view conversions from aggregate types.
+
+2011-01-04 Kai Tietz <kai.tietz@onevision.com>
+
+ PR bootstrap/47055
+ * libgcov.c (gcov_exit): Check for HAS_DRIVE_SPEC.
+
+2011-01-04 Philipp Thomas <pth@suse.de>
+
+ * config/microblaze/microbalse.opt (mxl-float-convert): Fix
+ obvious typo.
+
+2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * function.c (thread_prologue_and_epilogue_insns): Do not crash
+ on empty epilogue sequences.
+
+2011-01-04 Joseph Myers <joseph@codesourcery.com>
+
+ * config/vxworks.opt (Bdynamic, Bstatic, Xbind-lazy, Xbind-now,
+ non-static): New Driver options.
+
+2011-01-04 Jie Zhang <jie@codesourcery.com>
+
+ PR driver/47137
+ * gcc.c (default_compilers[]): Set combinable field to 0
+ for all assembly languages.
+
+2011-01-04 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * config/mips/loongson3a.md: New file.
+ * config/mips/mips.md: Include loongson3a.md.
+ * config/mips/mips.c (mips_multipass_dfa_lookahead): Return 4 when
+ TUNE_LOONGSON_3A.
+
+2011-01-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/47017
+ * expr.c (expand_expr_real_1) <MEM_REF>: Call memory_address_addr_space
+ instead of convert_memory_address_addr_space on the base expression.
+
+2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (spu_option_override): Update error text
+ for bad -march= / -mtune= values.
+
+2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * config/spu/spu.c (asm_file_start): Only reset flag_var_tracking
+ if branch-hint optimization will be performed.
+
+2011-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47148
+ * ipa-split.c (split_function): Convert arguments to
+ DECL_ARG_TYPE if possible.
+
+ PR tree-optimization/47155
+ * tree-ssa-ccp.c (bit_value_binop_1): Use r1type instead of type
+ when computing uns.
+
+ PR rtl-optimization/47157
+ * combine.c (try_combine): If undobuf.other_insn becomes
+ (set (pc) (pc)) jump, call update_cfg_for_uncondjump on it
+ and set *new_direct_jump_p too.
+
+2011-01-03 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47021
+ * graphite-sese-to-poly.c (scan_tree_for_params): Handle ADDR_EXPR.
+
+2011-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov.c (print_version): Likewise.
+ * gcov-dump.c (print_version): Likewise.
+ * mips-tfile.c (main): Likewise.
+ * mips-tdump.c (main): Likewise.
+
+2011-01-03 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46801
+ * tree-sra.c (type_internals_preclude_sra_p): Check whether
+ aggregate fields start at byte boundary instead of the bit-field flag.
+
+2011-01-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/47137
+ * gcc.c (main): Revert revision 168407.
+
+2011-01-03 Martin Jambor <mjambor@suse.cz>
+
+ * lto-cgraph.c (input_cgraph_opt_section): Use the correct section type.
+
+2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * tree-vect-generic.c (expand_vector_operations_1): When using vector/
+ vector optab to expand vector/scalar shift, update gimple to vector.
+
+2011-01-03 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (verify_cgraph_node): Verify there is no direct call to
+ a thunk.
+
+2011-01-03 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46984
+ * cgraph.h (cgraph_indirect_call_info): make field thunk_delta
+ HOST_WIDE_INT.
+ (cgraph_create_indirect_edge): Fixed line length.
+ (cgraph_indirect_call_info): Declare.
+ (cgraph_make_edge_direct) Update declaration.
+ * cgraph.c (cgraph_allocate_init_indirect_info): New function.
+ (cgraph_create_indirect_edge): Use it.
+ (cgraph_make_edge_direct): Made delta HOST_WIDE_INT. Updated all
+ callees.
+ * cgraphunit.c (cgraph_redirect_edge_call_stmt_to_callee): Update for
+ the new thunk_delta representation.
+ * ipa-prop.c (ipa_make_edge_direct_to_target): Convert delta to
+ HOST_WIDE_INT.
+ (ipa_write_indirect_edge_info): Remove streaming of thunk_delta.
+ (ipa_read_indirect_edge_info): Likewise.
+ * lto-cgraph.c (output_edge_opt_summary): New function.
+ (output_node_opt_summary): Call it on all outgoing edges.
+ (input_edge_opt_summary): New function.
+ (input_node_opt_summary): Call it on all outgoing edges.
+
+2011-01-02 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR driver/47137
+ * gcc.c (main): Don't check have_o when settting combine_inputs.
+
+2011-01-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * regrename.c: Add general comment describing the pass.
+ (struct du_head): Remove 'length' field.
+ (get_element, merge_sort_comparison, merge, sort_du_head): Remove.
+ (regrename_optimize): Do not sort chains. Rework comments, add others.
+ Force renaming to the preferred class (if any) in the first pass and do
+ not consider registers that belong to it in the second pass.
+ (create_new_chain): Do not set 'length' field.
+ (scan_rtx_reg): Likewise.
+
+2011-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47140
+ * tree-ssa-ccp.c (evaluate_stmt): For binary assignments, use
+ TREE_TYPE (lhs) instead of TREE_TYPE (rhs1) as second argument
+ to bit_value_binop.
+
+ PR rtl-optimization/47028
+ * cfgexpand.c (gimple_expand_cfg): Insert entry edge insertions after
+ parm_birth_insn instead of at the beginning of first bb.
+
+2011-01-02 Mingjie Xing <mingjie.xing@gmail.com>
+
+ * doc/generic.texi: Remove duplicated "@subsubsection Statements".
+ Remove the word "see" before "@pxref".
+ * doc/rtl.texi: Remove the word "see" before "@pxref".
+
+2011-01-01 Jan Hubicka <jh@suse.cz>
+
+ * tree-loop-distribution.c (tree_loop_distribution): Do not use freed
+ memory.
+
+2011-01-01 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/38662
+ * tree.c (type_hash_eq): Call language hook for METHOD_TYPEs, too.
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 6790572..f97fcc4 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -40,18456 +40,8 @@
2012-01-02 Eric Botcazou <ebotcazou@adacore.com>
* gnatvsn.ads (Current_Year): Bump to 2012.
-
-2011-12-23 Pascal Obry <obry@adacore.com>
-
- * prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
- parameter to generic formal procedure.
- * prj.adb (For_Every_Project_Imported): Update accordingly.
- (Recursive_Check): Likewise. Do not parse imported project for
- aggregate library. This is needed as the imported projects are
- there just to handle dependencies.
- (Look_For_Sources): Likewise.
- (Recursive_Add): Likewise.
- * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
- Add In_Aggregate_Lib parameter to routines used with
- For_Every_Project_Imported generic procedure.
- * prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
- (Check): Move where it is used. Fix implementation
- to not check libraries that are inside aggregate libraries.
- (Recursive_Check): Add In_Aggregate_Lib parameter.
-
-2011-12-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
- package is a referencer regardless of whether there is a
- subsequent subprogram with an Inline pragma.
-
-2011-12-23 Geert Bosch <bosch@adacore.com>
-
- * sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
-
-2011-12-23 Pascal Obry <obry@adacore.com>
-
- * gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.
-
-2011-12-22 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
- associated with exception handling unconditionally.
- (Build_Adjust_Statements): Create the objects associated with
- exception handling unconditionally.
- (Build_Components): Create the objects associated with exception
- handling unconditionally.
- (Build_Finalize_Statements): Create the objects associated with
- exception handling unconditionally.
- (Build_Initialize_Statements): Create the objects associated with
- exception handling unconditionally.
- (Build_Object_Declarations): Set the proper location of the data
- record when exception propagation is forbidden.
-
-2011-12-22 Gary Dismukes <dismukes@adacore.com>
-
- * a-tienio.adb (Put): Test validity of Item parameters before
- applying Image, and raise Constraint_Error for invalid values.
-
-2011-12-22 Bob Duff <duff@adacore.com>
-
- * a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
- * a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
- overriding indicators.
-
-2011-12-22 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-hpux-dce.ads: Update header to GPLv3
-
-2011-12-22 Ed Schonberg <schonberg@adacore.com>
-
- * a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
- aspect Constant_Reference to set type, and corresponding
- functions.
- * a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
- function Reference to provide a proper element iterator construct
- over indefinite maps.
-
-2011-12-22 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
- implicit conversion on prefix of Unrestricted_Access when prefix
- is an explicit dereference.
-
-2011-12-22 Vincent Pucci <pucci@adacore.com>
-
- * sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
- errors using continuation marks.
- (Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.
-
-2011-12-22 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.
-
-2011-12-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.
-
-2011-12-21 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
- (Process_Full_View): Invoke Check_CPP_Type if processing the
- full-view of a CPP type.
- * sem_prag.adb (Process_Import_Or_Interface): Add missing support
- for importing a CPP type that has an incomplete declaration. Move
- to new routine Check_CPP_Type the code that verifies that
- components of imported CPP types do not have default expressions.
-
-2011-12-21 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
- no sources even for languages that are not allowed.
- (Add_Source): Get the source even when the language is not allowed.
-
-2011-12-21 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Process_Formals): Add defensive code.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
- invariant procedure of a type declaration that is a completion and has
- aspect specifications.
- (Build_Invariant_Procedure): If the procedure is built for a
- type declaration that is a completion, analyze body expliitly
- because all private declarations have been already analyzed.
-
-2011-12-21 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
- a-cofove.adb: Minor reformating on formal containers
-
-2011-12-21 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
- any main that is not in the list of restricted languages.
- (Insert_Project_Sources.Do_Insert): Only add sources of languages
- in the list of restricted languages.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Valid_Conversion): A type conversion is valid when
- the target type is an anonymous access type and the operand is a
- rewriting of an allocator. The conversion is typically inserted
- when the designated type is an interface.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch9.adb (Establish_Task_Master): If the enclosing block
- has no declarations, create new declarative list for it.
-
-2011-12-21 Matthew Heaney <heaney@adacore.com>
-
- * a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
-
-2011-12-21 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
- ignore representation attributes in Alfa mode, since formal
- verification backend does not depend on actual physical
- representation, but code may still refer to attribute values.
-
-2011-12-21 Yannick Moy <moy@adacore.com>
-
- * par-ch13.adb (P_Aspect_Specifications): Recognize the cases
- where a comma between two aspects is missing, or erroneously
- replaced by a semicolon, issue an error and proceed with next
- aspect.
- * par.adb, sinfo.ads: Fix typos.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Mark_Coextensions): A coextension for an
- object that is part of the expression in a return statement,
- or part of the return object in an extended return statement,
- must be allocated dynamically.
-
-2011-12-21 Matthew Heaney <heaney@adacore.com>
-
- * a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): If the name
- of an element iterator is not an entity name we introduce a
- local renaming declaration for it. To prevent spurious warnings
- on parameterless function calls that return a container, when
- expansion is disabled (either explicitly or because of a previous
- errors) the name must be marked as not coming from source.
-
-2011-12-21 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
- handling in CodePeer mode and only ignore Component_Size
- attribute.
-
-2011-12-21 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Process_Formals): Set proper mechanism for
- formals whose types have conventions Ada_Pass_By_Copy or
- Ada_Pass_By_Reference.
-
-2011-12-21 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb (Gnat1Drv): Always delete old scil files in
- CodePeer mode.
-
-2011-12-21 Robert Dewar <dewar@adacore.com>
-
- * comperr.adb: Minor reformatting.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.ads: New table Base_Aspect, to indicate that an aspect
- is defined on a base type.
- * aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
- examine the representation items of the base type.
-
-2011-12-21 Pascal Obry <obry@adacore.com>
-
- * gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
- snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.
-
-2011-12-21 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
- to kill warning.
-
-2011-12-21 Arnaud Charlet <charlet@adacore.com>
-
- * comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
- Fix implementation for child packages and package specs.
- (Delete_SCIL_Files.Decode_Name_Buffer): New function.
-
-2011-12-21 Robert Dewar <dewar@adacore.com>
-
- * err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
- a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.
-
-2011-12-21 Vincent Pucci <pucci@adacore.com>
-
- * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
- s-llflex.ads: Fix header.
-
-2011-12-21 Thomas Quinot <quinot@adacore.com>
-
- * thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
- AIX 5.2, define as a dummy weak symbol in init.c.
- (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.
-
-2011-12-21 Thomas Quinot <quinot@adacore.com>
-
- * snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
- * sem_prag.adb: Minor comment clarification.
-
-2011-12-21 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Report_No_Sources): New argument Lang for the
- language name as a Name_Id. Do not report no sources if language
- is not allowed.
- (Add_Source): Do not add source if language is not allowed.
- * prj.adb (Add_Restricted_Language): New procedure
- (Is_Allowed_Language): New function
- * prj.ads (Add_Restricted_Language): New procedure
- (Is_Allowed_Language): New function
-
-2011-12-21 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
- Minor reformatting.
-
-2011-12-21 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.ads (Constant_Indexing, Default_Iterator,
- Iterator_Element): Added to type List.
- (Not_No_Element, List_Iterator_Interfaces, Iterate,
- Constant_Reference_Type, Constant_Reference): New.
- * a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
- Previous, Iterate, Not_No_Element, Constant_Reference): New.
-
-2011-12-21 Gary Dismukes <dismukes@adacore.com>
-
- * gnat_ugn.texi: Minor reformatting.
-
-2011-12-21 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
- Has_Element is the formal of Iterator_Interfaces, and within
- the instantion of this package it is a renaming of some local
- function with an unrelated name. Retrieve the operation from
- the instance itself, not from the container package.
-
-2011-12-21 Vincent Pucci <pucci@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
- replaced by Expand_Put_Call_With_Dimension_Symbol
- * sem_ch12.adb (Analyze_Package_Instantiation): New check for
- System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
- * sem_ch3.adb (Analyze_Declarations): Removed
- Remove_Dimension_In_Declaration call.
- * sem_dim.adb: Update comments. Redefine the
- representation of a Rational. Propagate all changes involving
- data structures and types throughout the pakage. Output the
- dimension aggregates for each error messages.
- ("/"): Rational constructor "/" removed for Whole operands.
- ("/"): New rational operation "/" for Rational operands.
- ("*"): Operation "*" between Rational and Int removed.
- ("abs"): New unary operator "abs" for Rational.
- (Analyze_Aspect_Dimension_System): Reorganized.
- (Analyze_Dimension_Identifier): Removed.
- (Copy_Dimensions): Removed.
- (Create_Rational_From_Expr): New Boolean parameter.
- (Dimensions_Msg_Of): New routine. Return
- a string with the dimensions of the parameter.
- (From_Dimension_To_String_Of_Symbols): Renaming of
- From_Dimension_To_String_Id.
- * sem_dim.ads: Update comments.
- (Is_Dim_IO_Package_Instantiation): New routine.
- (Remove_Dimension_In_Declaration): Removed.
- * sem_res.adb (Resolve_Op_Expon): Reorganized calls of
- Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
- * s-diflio.ads, s-diinio.ads: Update comments.
-
-2011-12-21 Pascal Obry <obry@adacore.com>
-
- * prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
- Library_Fully_Standalone_Options and
- Library_Fully_Standalone_Supported attributes.
- * prj-nmsc.adb (Check_Library): Update check to take into
- account fully standalone libraries. Such shared libraries can
- only depend on static libraries.
- (Check_Stand_Alone_Library): Add support for fully standalone libraries.
- (Process_Project_Level_Simple_Attributes): Store value for
- configuration attribute Library_Fully_Standalone_Supported.
- * prj.ads, makeutl.adb (Standalone): New enumeration type.
- (Project_Data): Standalone_Library now of type Standlone.
- (Project_Configuration): Add Lib_Fully_Standalone_Supported
- field.
- (Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
- field.
- * clean.adb (Clean_Project): Adjust to new type for Standalone.
- * make.adb (Library_Phase): Adjust to new type for Standalone.
- (Gnatmake): Likewise.
- * mlib-prj.adb (Build_Library): Adjust to new type for
- Standalone.
-
-2011-12-21 Thomas Quinot <quinot@adacore.com>
-
- * gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
- Set_Standard_Output just before producing normal (non-diagnostic)
- output.
- * gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
- (and again after parsing project files).
-
-2011-12-21 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Do_Autoconf): When the object directory does
- not exist, create auto.cgpr in the directory where temporary
- files are created.
-
-2011-12-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Further
- refinements on the placement of a freeze node for a package
- instantiation, when the generic appears within a previous
- instantiation in the same unit.If the current instance is within
- the one that contains the generic, the freeze node for the
- current one must appear in the current declarative part. Ditto
- if the current instance is within another package instance. In
- these cases the freeze node of the previous instance is is not
- relevant. New predicate Enclosing_Body simplifies the process.
- (Freeze_Subprogram_Body): Rename Enclosing_Body to
- Enclosing_Package_Body, to prevent confusion with subprogram of
- same name elsewhere.
- (Install_Body): Recognize enclosing subprogram bodies to determine
- whether freeze_node belongs in current declarative list.
-
-2011-12-20 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
- attribute definition clause for renaming if generated internally
- and generate duplicate clause to apply to renamed object.
- (Rep_Item_Too_Late): Only diagnose source level entities
- * prj-nmsc.adb: Minor reformatting.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-12-20 Bob Duff <duff@adacore.com>
-
- * opt.ads (List_Inherited_Aspects): Default to False
- (i.e. -gnatw.L is the default).
- * usage.adb: Document new default for -gnatw.L.
- * gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
- * warnsw.adb (Set_Warning_Switch): Do not include
- List_Inherited_Aspects in -gnatwa.
-
-2011-12-20 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Apply_Type_Conversion_Checks): For a discrete type
- with predicates, indicate unconditionally that a range check
- is needed.
- * exp_ch4.adb (Expand_N_In): When the membership test is rewritten
- to incorporate a call to a predicate function, analyze expression
- with checks suppressed, to prevent infinite recursion.
-
-2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch11.adb (Find_Local_Handler): Guard the
- search over individual exception choices in case the list of
- handlers contains other (possibly illegal) constructs.
-
-2011-12-20 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch8.adb (Find_Type): Test taggedness
- of the Available_Type when checking for an illegal use of an
- incomplete type, when the incomplete view is a limited view of
- a type. Remove redundant Is_Tagged test.
-
-2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb: Add with and use clause for Aspects.
- (Is_Finalizable_Transient): Objects which denote Ada containers
- in the context of iterators are not considered transients. Such
- object must live for as long as the loop is around.
- (Is_Iterated_Container): New routine.
-
-2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_imgv.adb (Expand_Width_Attribute): Add a
- type conversion from the enumeration subtype to its base subtype.
-
-2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch4.adb (Operator_Check): Update the call to
- Is_Dimensioned_Type.
- * sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
- all type declarations and datastructures involved. Propagate
- all changes involving data structures and types throughout
- the pakage. Alphabetize all subprograms. Add ??? comments.
- (AD_Hash): Removed.
- (Analyze_Aspect_Dimension): Rewritten. This
- routine now does all its checks in one pass rather than
- two. Refactor code. The error message are now in a more GNAT-ish style.
- (Create_Rational_From_Expr): This is now a function.
- (Get_Dimensions): Removed.
- (Get_Dimensions_String_Id): Removed.
- (Dimensions_Of): New rouitne.
- (Exists): New routines.
- (Is_Invalid): New routine.
- (Permits_Dimensions): Removed.
- (Present): Removed.
- (Set_Symbol): New routine.
- (System_Of): New routine.
- * sem_dim.ads: Rewrite the top level description of the
- package. Alphabetize subprograms. Add various comments on
- subprogram usage. Add ??? comments.
- (Is_Dimensioned_Type):
- Renamed to Has_Dimension_System.
- * sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type
-
-2011-12-20 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Indexing_Functions): The return type of an
- indexing function can be the default element type, and does not
- need to be a reference type.
- * sem_ch4.adb (Try_Container_Indexing): Ditto.
-
-2011-12-20 Robert Dewar <dewar@adacore.com>
-
- * a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.
-
-2011-12-20 Bob Duff <duff@adacore.com>
-
- * s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.
-
-2011-12-20 Vincent Pucci <pucci@adacore.com>
-
- * impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
- Defined Additions to System.
- * Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
- * s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.
-
-2011-12-20 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
- within an instance, even if the homonym is marked Is_Hidden at
- this point.
-
-2011-12-20 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
- sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
- s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
- reformatting.
- * aspects.ads: Dimension[_Aspects] are GNAT defined.
-
-2011-12-20 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
- renaming case.
-
-2011-12-20 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
- a child unit that is an illegal instantiation, mark the WITH clause in
- error.
- (Install_Siblings, Validate_Categorization_Dependency): Guard
- against WITH clause marked as in error.
-
-2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Allocator): Warning on allocation
- of tasks on a subpool and rewrite the allocator into a raise
- Program_Error statement.
- * s-stposu.ads, s-stposu.adb: Code reformatting.
- (Create_Subpool): Remove formal parameter Storage_Size.
- (Default_Subpool_For_Pool): Add the default implementation of this
- routine.
- (Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
- all the uses of the parameter.
-
-2011-12-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (%86 linux%):
- (LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
- (LIBGNAT_TARGET_PAIRS_64): New.
- (LIBGNAT_TARGET_PAIRS): Add either depending on multilib.
-
-2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_param): Add comment about double
- reference and DECL_POINTS_TO_READONLY_P.
- * gcc-interface/trans.c (Identifier_to_gnu) <by_ref>: Always set the
- TREE_READONLY flag on the first dereference of a double dereference.
-
-2011-12-15 Arnaud Charlet <charlet@adacore.com>
-
- * a-numaux-vms.ads, s-asthan-vms-ia64.adb, s-auxdec-vms-ia64.adb,
- s-memory-vms_64.adb, s-memory-vms_64.ads, s-osinte-vms-ia64.adb,
- s-osinte-vms-ia64.ads, s-tasdeb-vms.adb: New files.
-
-2011-12-15 Vincent Pucci <pucci@adacore.com>
-
- * aspects.adb, aspects.ads Aspect_Dimension and
- Aspect_Dimension_System added
- * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
- case added
- * gcc-interface/Make-lang.in: s-llflex, sem_dim added.
- * impunit.adb :s-diflio and s-diinio defined as GNAT Defined
- Additions to System.
- * Makefile.rtl: s-diflio, s-diinio and s-llflex added
- * par-prag.adb, sem_prag.adb: Pragma_Dimension removed
- * rtsfind.ads: Expon_LLF added
- * sem_aggr.adb (Resolve_Aggregate): handles aggregate for
- Aspect_Dimension case
- * sem_attr.adb (Resolve_Attribute): analyze dimension for
- attribute
- * sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages
- due to the use of a GNAT library for Dimension packages
- * sem_ch13.adb (Analyze_Aspect_Specifications):
- Aspect_Dimension and Aspect_Dimension_System cases added
- (Check_Aspect_At_Freeze_Point): Aspect_Dimension and
- Aspect_Dimension_System cases added
- * sem_ch2.adb (Analyze_Identifier): analyze dimension for
- identifier
- * sem_ch3.adb (Analyze_Component_Declaration): analyze dimension
- for component declaration (Analyze_Object_Declaration): analyze
- dimension for object declaration (Analyze_Subtype_Declaration):
- analyze dimension for subtype declaration
- * sem_ch4.adb (Operator_Check): checks exponent is a rational
- for dimensioned operand for a N_Op_Expon
- * sem_ch5.adb (Analyze_Assignment): analyze dimension for
- assignment (Analyze_Statements): removal of dimensions in all
- statements
- * sem_ch6.adb (Analyze_Return_Statement): analyze dimension for
- return statement
- * sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for
- object renaming
- * sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension):
- analyze the expression for aspect dimension and store the
- values in a Htable.
- (Analyze_Aspect_Dimension_System): analyze
- the expression for aspect dimension system and store the new
- system in a Table.
- (Analyze_Dimension): propagates dimension
- (Expand_Put_Call_With_Dimension_String): add the dimension
- string as a suffix of the numeric value in the output
- (Has_Dimension): return True if the node has a dimension
- (Remove_Dimension_In_Declaration): removal of dimension in the
- expression of the declaration.
- (Remove_Dimension_In_Statement): removal of dimension in statement
- * sem_res.adb (Resolve): analyze dimension if the node
- has already been analyzed.
- (Resolve_Arithmetic_Op): analyze
- dimension for arithmetic op.
- (Resolve_Call): analyze dimension for function call.
- (Resolve_Comparison_Op): analyze dimension for comparison op.
- (Resolve_Equality_Op): analyze dimension for equality op.
- (Resolve_Indexed_Component): analyze dimension for indexed component.
- (Resolve_Op_Expon): analyze dimension for op expon.
- (Resolve_Selected_Component): analyze dimension
- for selected component.
- (Resolve_Slice): analyze dimension for slice.
- (Resolve_Unary_Op): analyze dimension for unary op
- (Resolve_Type_Conversion): analyze dimension for type conversion
- (Resolve_Unchecked_Type_Conversion): analyze dimension for
- unchecked type conversion
- * snames.ads-tmpl Name_Dimension, Name_Dimension_System,
- Name_Dim_Float_IO, Name_Dim_Integer_IO,
- Name_Generic_Elementary_Functions, Name_Sqrt added.
- Pragma_Dimension removed
- * s-diflio.adb, s-diflio.ads New GNAT library generic package
- for dimensioned float type IO
- * s-diinio.adb, s-diinio.ads New GNAT library generic package
- for dimensioned integer type IO
- * s-llflex.ads (Expon_LLF): exponentiation routine for long long
- floats operand and exponent
-
-2011-12-15 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb: Minor comment addition.
-
-2011-12-15 Bob Duff <duff@adacore.com>
-
- * s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a
- task dispatching point.
- * s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False.
-
-2011-12-15 Robert Dewar <dewar@adacore.com>
-
- * sigtramp-ppcvxw.c, sigtramp.h: Fix header.
-
-2011-12-15 Javier Miranda <miranda@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
- applied to a class-wide type under VM targets generate code which
- invokes the function Get_Alignment to retrieve the value of the
- alignment from the TSD.
- * rtsfind.ads (RE_Get_Alignment): New entity.
-
-2011-12-15 Robert Dewar <dewar@adacore.com>
-
- * g-comlin.adb: Fix header.
-
-2011-12-15 Tristan Gingold <gingold@adacore.com>
-
- * gnatls.adb: Fix typo.
-
-2011-12-15 Ed Falis <falis@adacore.com>
-
- * s-tpopsp-vxworks.adb: Update comment.
-
-2011-12-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
- the component type has predicates, generate corresponding check.
- (Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.
-
-2011-12-13 Cesar Strauss <cestrauss@gmail.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/49084
- * types.h (Byte): Change typedef to 'unsigned char'.
- * atree.h (struct Flag_Word): Use Byte for 'convention' field.
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * s-taprop-mingw.adb: Minor reformatting.
-
-2011-12-12 Nicolas Roche <roche@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- Add gnattools4 target when building tools in canadian mode
-
-2011-12-12 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_VM_TSD): Complete previous patch.
-
-2011-12-12 Bob Duff <duff@adacore.com>
-
- * s-tpobop.adb: Use named notation.
- * g-bytswa.ads, s-taprop.ads: Minor comment fix.
-
-2011-12-12 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb: Minor comment update.
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
- reformatting.
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb, gnatls.adb: Minor reformatting.
-
-2011-12-12 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): If a type declared in a generic
- context has predicates, generate a freeze node for it.
- * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
- has not been analyzed yet, entity has not been frozen, so analyze
- it now.
-
-2011-12-12 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_VM_TSD): Generate code to store the value of
- 'alignment in the TSD.
-
-2011-12-12 Bob Duff <duff@adacore.com>
-
- * s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
- mode.
-
-2011-12-12 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Allocator): Update the master of an
- anonymous access-to-controlled type to utilize the heterogeneous
- master associated with the current unit.
-
-2011-12-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): If the function
- is not a completion, pre-analyze the expression now to prevent
- spurious visibility on later entities. The body is inserted at
- the end of the current declaration list or package to prevent
- early freezing, but the visibility is established at the point
- of definition.
-
-2011-12-12 Bob Duff <duff@adacore.com>
-
- * sem.adb, sem.ads: Add debugging routines.
-
-2011-12-12 Tristan Gingold <gingold@adacore.com>
-
- * gnatls.adb: (gnatls): Also add the objects dir in search list.
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
- sem_ch13.adb: Minor reformatting.
-
-2011-12-12 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch7.adb (Uninstall_Declarations): Don't
- apply check for incomplete types used as a result type for an
- access-to-function type when compiling for Ada 2012 or later.
- * sem_ch6.adb (Analyze_Subprogram_Declaration):
- Specialize error message for interface subprograms that are
- not declared abstract nor null (functions can't be declared as
- null). Also, remove "(Ada 2005)" from message.
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (GNAT_Pragma): Check comes from source.
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * gnatls.adb: Minor reformatting.
-
-2011-12-12 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads (Alignment): New TSD field.
- (Max_Predef_Prims): Value lowered to 15 (or 9 in case of
- configurable runtime) Update documentation of predefined
- primitives since Alignment has been removed.
- * exp_disp.ads Update documentation of slots of dispatching
- primitives.
- * exp_disp.adb (Default_Prim_Op_Position): Update slot
- values since alignment is no longer a predefined primitive.
- (Is_Predefined_Dispatch_Operation): Remove _alignment.
- (Is_Predefined_Internal_Operation): Remove _alignment.
- (Make_DT): Update static test on the value stored in a-tags.ads
- for Max_Predef_Prims; store the value of 'alignment in the TSD.
- * exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
- that retrieves the alignment from the TSD
- * exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
- of class-wide types obtain the value of alignment from the TSD.
- * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
- applied to a class-wide type invoke Build_Get_Alignment to
- generate code which retrieves the value of the alignment from
- the TSD.
- * rtsfind.ads (RE_Alignment): New Ada.Tags entity
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
- types if the value of the alignment is bigger than the Maximum
- alignment then set the value of the alignment to the Maximum
- alignment and report a warning.
- * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
- spec of _alignment.
- (Predefined_Primitive_Bodies): Do not generate body of _alignment.
-
-2011-12-12 Gary Dismukes <dismukes@adacore.com>
-
- * freeze.adb (Freeze_Expression): Allow freezing of static
- scalar subtypes that are prefixes of an attribute, even if not
- yet marked static. Such attributes will get marked as static
- later in Eval_Attribute (as called from Resolve_Attribute).
- * sem_attr.adb (Eval_Attribute): Remove wrong code that does an
- early return for attribute prefixes that are unfrozen source-level
- types. This code was incorrectly bypassing folding of unfrozen
- static subtype attributes in default expressions (the executable
- example in the now-deleted comment was in fact illegal).
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
- gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.
-
-2011-12-12 Tristan Gingold <gingold@adacore.com>
-
- * gsocket.h: Adjust previous patch.
-
-2011-12-12 Thomas Quinot <quinot@adacore.com>
-
- * exp_disp.adb: Minor reformatting.
-
-2011-12-12 Tristan Gingold <gingold@adacore.com>
-
- * gnatls.adb (Search_RTS): New procedure.
- (Scan_Ls_Arg): Move code that search the RTS.
- (Gnatls): search the RTS later.
- * prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.
-
-2011-12-12 Ed Falis <falis@adacore.com>
-
- * sysdep.c: Fix treatment of VxWorks task options so that run-times
- built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.
-
-2011-12-12 Bob Duff <duff@adacore.com>
-
- * sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
- Minor cleanup and fiddling with debug printouts.
-
-2011-12-12 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Get_Directories): For a non extending project,
- always get a declared object and/or exec directory if it already
- exists, even when there are no sources, but do not create them.
-
-2011-12-12 Bob Duff <duff@adacore.com>
-
- * sem_res.adb (Resolve): Deal with the case where an abstract
- operator is called with operands of type universal_integer.
-
-2011-12-12 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb: Minor fix to dominance marker referencing WHILE
- decision.
-
-2011-12-12 Tristan Gingold <gingold@adacore.com>
-
- * mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.
-
-2011-12-12 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb: Adjust dominant marker for branches of CASE
- statements.
-
-2011-12-12 Thomas Quinot <quinot@adacore.com>
-
- * gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
- header file prior to redefining FD_SETSIZE.
-
-2011-12-12 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
- a generic context the aspect expressions may not have been
- preanalyzed if there was no previous freeze point, so the
- expressions must be preanalyzed now, and there is no conformance
- to check for visibility changes.
-
-2011-12-12 Matthew Heaney <heaney@adacore.com>
-
- * a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
- subtype Index_Type'Base for Index component (Finalize): Remove
- unnecessary access check (First, Last): Cursor return value
- depends on iterator index value (Iterate): Use start position as
- iterator index value (Next, Previous): Forward to corresponding
- cursor-based operation.
- * a-cborma.adb (Iterate): Properly initialize iterator object (with 0
- as node index).
-
-2011-12-12 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.
-
-2011-12-12 Steve Baird <baird@adacore.com>
-
- * sem_ch3.adb (Check_Completion): Improve a comment.
-
-2011-12-12 Tristan Gingold <gingold@adacore.com>
-
- * cstand.adb: Minor comment fix.
-
-2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
- flag of elements to compute that of the constructor.
-
-2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
- on references built for parameters which aren't specifically by-ref.
-
-2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
- alignment set on a renaming, assert that the renamed object is aligned
- enough as to make it possible to honor it.
-
-2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gigi): Initialize the linemap earlier.
-
-2011-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
-
- * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
- Correctly detect cygwin, which no longer has the '32' suffix, and use
- appropriate implementations of the sockets and memory packages.
- * sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
- setmode/_setmode for MinGW and Cygwin, respectively.
- (__gnat_set_binary_mode [windows targets]): Use the above, and enable
- the windows version for Cygwin as well as MinGW.
- (__gnat_set_text_mode [windows targets]): Likewise.
- (__gnat_ttyname [windows targets]): Provide a Cygwin implementation
- in addition to the MinGW version.
- (__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
- (__gnat_get_stack_bounds): Likewise.
-
-2011-12-05 Bob Duff <duff@adacore.com>
-
- * sem_ch4.adb: Minor comment fix.
-
-2011-12-05 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add documentation for -gnatw.e.
-
-2011-12-05 Bob Duff <duff@adacore.com>
-
- * treepr.adb (pn): Print something useful for
- Elmt_Ids. Add Write_Eol to 'when others' case, so the output
- will be seen immediately in gdb.
-
-2011-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * lib-writ.adb (Output_Main_Program_Line): A generic subprogram
- is never a main program.
-
-2011-12-05 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb: Various minor adjustments to dominance markers
- generation.
-
-2011-12-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): If the function is
- a completion, generate a body reference for its defining entity,
- before rewriting the node as a body.
- * sem_util.adb (Defining_Entity): Add entry for expression
- function.
-
-2011-12-05 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
- to the Comes_From_Source check, to deal properly with the case
- of indirect inheritance of "=".
-
-2011-12-05 Thomas Quinot <quinot@adacore.com>
-
- PR ada/51307
- * s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
- not a macro.
-
-2011-12-05 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
- information in SCOs.
-
-2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
- Thomas Quinot <quinot@adacore.com>
-
- * gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
- (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
- Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
- which allows the file to be installed in adainclude.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-12-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Constrain_Access): Undo previous
- patch for this routine. Required since the RM rule 3.7.1(7/3)
- applies to all access types.
-
-2011-12-02 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb: Minor comment fix.
-
-2011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
-
- * s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
- for consistency with other ports.
- * s-osinte-rtems.adb: Add body for dummy implementation of
- pthread_rwlockattr_setkind_np().
- * s-osinte-rtems.ads: Add missing clock and rwlock bindings.
- * terminals.c: Add __rtems__ conditionals to account for differences
- in termios implementation.
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
- a-cbmutr.ads: Minor reformatting.
-
-2011-12-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_dbug.adb: Comment reformatting.
- (Get_External_Name): Use Reset_Buffers to reset the contents of
- Name_Buffer and Homonym_Numbers.
- (Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
- Homonym_Numbers before creating a new qualified name for a particular
- entity.
- (Reset_Buffers): New routine.
-
-2011-12-02 Matthew Heaney <heaney@adacore.com>
-
- * a-cbmutr.ads (No_Node): Moved declaration from body to spec
- * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
- from Root_Iterator.
- (Child_Iterator): Derives from Root_Iterator.
- (Finalize): Implemented as an override operation for Root_Iterator.
- (First): Return value depends on Subtree component.
- (Last): Component was renamed from Parent to Subtree.
- (Next): Checks parameter value, and uses simplified loop.
- (Iterate): Forwards to Iterate_Subtree.
- (Iterate_Children): Component was renamed from Parent to Subtree.
- (Iterate_Subtree): Checks parameter value
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Add lines for -gnatw.n and -gnatw.N
- (atomic sync info msgs).
-
-2011-12-02 Steve Baird <baird@adacore.com>
-
- * sem_ch3.adb (Check_Completion): An Ada 2012
- generic formal type doesn't require a completion.
-
-2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
- packed array type if it is to be set on the array type used to
- represent it.
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Eliminate confusing use of type name.
-
-2011-12-02 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
- body that acts as spec, do not create a shallow copy of the context
- clause for the synthetized spec (instead, use the same list as
- in the body).
-
-2011-12-02 Bob Duff <duff@adacore.com>
-
- * gnat_ugn.texi: Clarify usage of -p binder switch.
-
-2011-12-02 Javier Miranda <miranda@adacore.com>
-
- * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
- (Effectively_Has_Constrained_Partial_View): Moved to sem_aux
- (In_Generic_Body): Moved to sem_aux.
- (Unit_Declaration_Node): Moved to sem_aux.
- * einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
- documentation.
- * exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
- rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
- exp_ch13.adb: Add with-clause on Sem_Aux.
-
-2011-12-02 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Unique_Name): Reach through Unique_Entity to
- get the name of the entity.
- (Unique_Entity): Correct case for subprogram stubs.
-
-2011-12-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Check_Initialization): Do not emit warning on
- initialization of limited type object in Alfa mode.
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads: Minor reformatting.
- * gnat_ugn.texi: Fix confusion in use of term "type name".
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb: Minor change in error message.
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
- reformatting.
-
-2011-12-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
- static check of the rule of general access types whose designated
- type has discriminants.
- * sem_util.ads, sem_util.adb
- (Effectively_Has_Constrained_Partial_View): New subprogram.
- (In_Generic_Body): New subprogram.
- * einfo.ads (Has_Constrained_Partial_View): Adding documentation.
- * sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
- subprogram In_Generic_Body.
- * exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
- sem_ch4.adb: In addition, this patch replaces the occurrences of
- Has_Constrained_Partial_View by
- Effectively_Has_Constrained_Partial_View.
-
-2011-12-02 Matthew Heaney <heaney@adacore.com>
-
- * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
- Position component.
- (Finalize): Remove unnecessary access check.
- (First): Forward to First_Child.
- (Last): Forward to Last_Child.
- (Iterate): Check preconditions for parent node parameter.
- (Next): Forward to Next_Sibling.
- (Previous): Forward to Previous_Sibling.
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
- a-coormu.adb, a-convec.adb: Minor reformatting.
-
-2011-12-02 Matthew Heaney <heaney@adacore.com>
-
- * a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
- * a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
- Iterator type.
- (Finalize): Decrement busy counter.
- (First, Last): Cursor return value depends on iterator node value.
- (Iterate): Use start position as iterator node value.
- (Next, Previous): Forward to corresponding cursor-based operation.
-
-2011-12-02 Robert Dewar <dewar@adacore.com>
-
- * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
- a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
- a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
- a-ciorma.adb, a-cobove.adb: Minor reformatting.
-
-2011-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/51201
- * gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.
-
-2011-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
- only on platforms where this is required, as determined by
- s-oscons.h.
-
-2011-11-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb: No check on entry index if error on index.
-
-2011-11-23 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
- return statements nested inside an extended_return_statement.
- * gcc-interface/Make-lang.in: Update dependencies.
- * gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
-
-2011-11-23 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_All_Ent): An incomplete type is not
- frozen by a subprogram body that does not come from source.
-
-2011-11-23 Pascal Obry <obry@adacore.com>
-
- * s-oscons-tmplt.c: Add PTY_Library constant. It contains
- the library for pseudo terminal support.
- * g-exptty.ads: Add pseudo-terminal library into a Linker_Options
- pragma.
-
-2011-11-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb: No check on entry family index if generic.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
- s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
- s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
- System.OS_Constants from shared spec of
- System.Tasking.Primitive_Operations to the specific body variants
- that really require this dependency.
-
-2011-11-23 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
- If the declaration has aspects, analyze them so they can be
- properly rejected.
-
-2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
- a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
- a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
- a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
- Add with and use clause for Ada.Finalization. Type
- Iterator and Child_Iterator are now derived from Limited_Controlled.
- (Finalize): New routine.
- (Iterate): Add a renaming of counter Busy and
- increment it. Update the return aggregate.
- (Iterate_Children): Add a renaming of
- counter Busy and increment it. Update the return aggregate.
- (Iterate_Subtree): Add a renaming of counter Busy and increment
- it. Update the return aggregate.
- * a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
- type.
- * a-cihama.ads: Type Map_Access is now a general access type.
- * a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
- associated with the tree.
- * a-cohama.ads: Type Map_Access is now a general access type.
- * a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
- access type.
- * exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
- to wrap the loop as this is done at an earlier step, during
- analysis. The declarations of the iterator and the cursor use
- the usual Insert_Action mechanism when added into the tree.
- * sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
- Loop_Statement and replace all respective uses by N. Add local
- constant Loc. Preanalyze the loop iterator to discover whether
- it is a container iterator and if it is, wrap the loop in a
- block. This ensures that any controlled temporaries produced
- by the iteration scheme share the same lifetime of the loop.
- (Is_Container_Iterator): New routine.
- (Is_Wrapped_In_Block): New routine.
- (Pre_Analyze_Range): Move spec and body to the library level.
-
-2011-11-23 Sergey Rybin <rybin@adacore.com frybin>
-
- * gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
- that controls casing of type and subtype names.
-
-2011-11-23 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb: Minor addition of comments.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * prj-part.adb (Extension_Withs): New global variable,
- contains the head of the list of WITH clauses from the EXTENDS
- ALL projects for which virtual packages are being created.
- (Look_For_Virtual_Projects_For): When recursing through
- an EXTENDS ALL, add the WITH clauses of the extending
- project to Extension_Withs. When adding a project to the
- Virtual_Hash, record the associated Extension_Withs list.
- (Create_Virtual_Extending_Project): Add a copy of the appropriate
- Extension_Withs to the virtual project.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * mlib-tgt-specific-vxworks.adb: Minor reformatting.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * Make-generated.in (Sdefault.Target_Name): Set to
- $(target_noncanonical) instead of $(target) for consistency.
-
-2011-11-23 Matthew Heaney <heaney@adacore.com>
-
- * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
- Iterator type as limited (First, Last): Cursor return value
- depends on iterator node value (Iterate): Use start position as
- iterator node value (Next, Previous): Forward to corresponding
- cursor-based operation.
-
-2011-11-23 Matthew Heaney <heaney@adacore.com>
-
- * a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
- Renamed from Ordered_Set_Iterator_Interfaces.
- * a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
- Iterator type as limited (First, Last): Cursor return value
- depends on iterator node value (Iterate): Use start position as
- iterator node value (Next, Previous): Forward to corresponding
- cursor-based operation.
- * a-cohase.ads, a-cohase.adb: Implemented forward iterator.
- * a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
- node component (First, Next): Forward call to corresponding
- cursor-based operation (Iterate): Representation of iterator no
- longer has node component
-
-2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
- dereference has a proper type before the side effect removal
- mechanism kicks in.
- * sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
- where the base type of the subtype is a private itype created
- to act as the partial view of a constrained record type. This
- scenario manifests with equivalent class-wide types for records
- with unknown discriminants.
-
-2011-11-23 Jerome Guitton <guitton@adacore.com>
-
- * s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
- reformatting/reorganization.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * g-htable.ads: Remove old comments.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * exp_imgv.adb: Minor reformatting.
-
-2011-11-23 Robert Dewar <dewar@adacore.com>
-
- * sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
- family bounds out of range.
-
-2011-11-23 Matthew Heaney <heaney@adacore.com>
-
- * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
- type as limited, and remove node component.
- (First, Next): Forward call to corresponding cursor-based operation.
- (Iterate): Representation of iterator no longer has node component.
-
-2011-11-23 Yannick Moy <moy@adacore.com>
-
- * exp_util.adb: Revert previous change to remove side-effects in Alfa
- mode, which is not the correct thing to do for renamings.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
- s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
- s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
- s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
- s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
- s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
- s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
- s-taprop-posix.adb: Remove hard-coded clock ids;
- instead, generate them in System.OS_Constants.
- (System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
- id of the clock providing Ada.Real_Time.Monotonic_Clock.
- * thread.c: New file.
- (__gnat_pthread_condattr_setup): New function. For platforms where
- CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
- variable attribute.
-
-2011-11-23 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb: Restore the use of Expander_Active instead of
- Full_Expander_Active, so that the evaluation is forced in Alfa
- mode too. Otherwise, we end up with an unexpected insertion in a
- place where it is not supposed to happen, on default parameters
- of a call.
-
-2011-11-23 Thomas Quinot <quinot@adacore.com>
-
- * prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
- for Pretty_Print, for use from within gdb.
-
-2011-11-23 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
- and the cursor declarations in a block, so that the loop variable
- is local to the construct.
-
-2011-11-23 Matthew Heaney <heaney@adacore.com>
-
- * a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
- type Reversible_Iterator'Class.
- * a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
- Declare type as limited.
- (First, Last): Return value depends on iterator's start node value.
- (Next, Previous): Call corresponding Cursor-based operation.
- (Iterate): Indicate whether complete or partial iteration
-
-2011-11-23 Robert Dewar <dewar@adacore.com>
-
- * errout.adb: Minor reformattin (Finalize): Take templates into
- account for warning suppression.
- * errout.ads (Set_Specific_Warning_Off): Add Used parameter.
- * erroutc.adb: Minor reformatting (Finalize): Take generic
- templates into account for warning suppress.
- * erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
- * sem_prag.adb: Minor reformatting (Analyze_Pragma,
- case Warnings): Provide Used parameter in call to
- Set_Specific_Warnings_Off (to deal with generic template case).
-
-2011-11-23 Pascal Obry <obry@adacore.com>
-
- * sem_prag.adb (Process_Convention): Better error message for
- stdcall convention on dispatching calls.
-
-2011-11-23 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch4.adb, sem_ch13.adb: Minor reformatting.
-
-2011-11-23 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_Simple_Function_Return): Add missing
- implicit type conversion when the returned object is allocated
- in the secondary stack and the type of the returned object is
- an interface. Done to force generation of displacement of the
- "this" pointer.
-
-2011-11-23 Pascal Obry <obry@adacore.com>
-
- * impunit.adb: Add g-exptty and g-tty units.
-
-2011-11-23 Robert Dewar <dewar@adacore.com>
-
- * exp_imgv.adb: Minor code reorganization (use Make_Temporary).
-
-2011-11-23 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
- reformatting.
-
-2011-11-23 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
- line of precondition/ postcondition/invariant.
-
-2011-11-23 Pascal Obry <obry@adacore.com>
-
- * g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
- terminals.c: New files.
- Makefile.rtl: Add these new files.
- * gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
- * gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
- * sem_attr.adb (Eval_Attribute, case Width): Ditto.
-
-2011-11-21 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.ads: Minor reformatting.
-
-2011-11-21 Yannick Moy <moy@adacore.com>
-
- * exp_util.adb: Minor reformatting. Update comments.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
- sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
- sem_ch6.adb: Minor reformatting.
-
-2011-11-21 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
- Unrestricted_Access to deal with fact that we properly detect the
- error if Access is used.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-11-21 Yannick Moy <moy@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Check): Place error on first character
- of expression.
- * sem_res.adb (Resolve_Short_Circuit): Place error on first
- character of expression.
-
-2011-11-21 Yannick Moy <moy@adacore.com>
-
- * exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
-
-2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case
- Max_Size_In_Storage_Elements): Account for the size of the
- hidden list header which precedes controlled objects allocated
- on the heap.
- * rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
- tables.
- * sinfo.adb (Header_Size_Added): New routine.
- (Set_Header_Size_Added): New routine.
- * sinfo.ads: Add flag Controlled_Header_Added along with
- associated comment.
- (Header_Size_Added): New inlined routine.
- (Set_Header_Size_Added): New inlined routine.
- * s-stposu.adb (Allocate_Any_Controlled): Use
- Header_Size_With_Padding to calculate the proper
- size of the header.
- (Deallocate_Any_Controlled): Use
- Header_Size_With_Padding to calculate the proper size
- of the header. (Header_Size_With_Padding): New routine.
- (Nearest_Multiple_Rounded_Up): Removed along with its uses.
- * s-stposu.ads (Header_Size_With_Padding): New routine.
-
-2011-11-21 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.adb: Aspect specifications are allowed on renaming
- declarations
- * par-ch6.adb (P_Subprogram): Parse aspect specifications in a
- subprogram renaming declaration
-
-2011-11-21 Tristan Gingold <gingold@adacore.com>
-
- * env.c: Remove unused declaration.
-
-2011-11-21 Pascal Obry <obry@adacore.com>
-
- * s-os_lib.ads: Minor style fix.
-
-2011-11-21 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
- identical, do nothing on Windows XP.
-
-2011-11-21 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
- Use Full_Expander_Active instead of Expander_Active to control
- the forced evaluation of expressions for the sake of generating
- checks.
-
-2011-11-21 Thomas Quinot <quinot@adacore.com>
-
- * init.c: On FreeBSD, stack checking failures may raise SIGBUS.
-
-2011-11-21 Tristan Gingold <gingold@adacore.com>
-
- * sysdep.c (mode_read_text, mode_write_text, mode_append_text,
- mode_read_binary, mode_write_binary, mode_append_binary,
- mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
- mode_read_binary_plus, mode_write_binary_plus,
- mode_append_binary_plus): Remove unused declarations.
-
-2011-11-21 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Minor rewording.
-
-2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_imgv.adb (Expand_Width_Attribute): Emit
- an error message rather than a warning when pragma Discard_Names
- prevents the computation of 'Width. Do not emit an error through
- the use of RE_Null.
-
-2011-11-21 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
- implicit type conversion when the type of the allocator is an
- interface. Done to force generation of displacement of the "this"
- pointer when required.
-
-2011-11-21 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
- functions, and is set when the expression is a completion of a
- previous declaration.
- * sem_ch6.adb (Analyze_Expression_Function): To determine properly
- whether an expression function completes a previous declaration,
- use Find_Corresponding_Spec, as when analyzing a subprogram body.
-
-2011-11-21 Steve Baird <baird@adacore.com>
-
- * sem_util.adb (Deepest_Type_Access_Level): Improve comment.
- (Type_Access_Level): Improve comment.
-
-2011-11-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
- means of -iquote unconditionally.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
- reformatting.
-
-2011-11-21 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
- to deal with fact that we properly detect the error if Access
- is used.
-
-2011-11-21 Steve Baird <baird@adacore.com>
-
- * sem_util.ads: Update comment describing function
- Deepest_Access_Level.
- * sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
- generic formal type.
- (Type_Access_Level): Return library level
- for a generic formal type.
- * sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
- calls with calls to Deepest_Type_Access_Level.
- * sem_ch3.adb (Analyze_Component_Declaration): replace a
- Type_Access_Level call with a call to Deepest_Type_Access_Level.
- * sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
- Replace three Type_Access_Level calls with calls to
- Deepest_Type_Access_Level.
- (Resolve_Allocator): Replace a Type_Access_Level call with a call to
- Deepest_Type_Access_Level.
- (Valid_Conversion.Valid_Array_Conversion): Replace a
- Type_Access_Level call with a call to Deepest_Type_Access_Level.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sinput.ads: Minor comment fix.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
- Last_Bit, Position): Handle 2005 case.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
- to deal with fact that we properly detect the error if Access
- is used.
- (Increment): Same fix.
- * s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
- to deal with fact that we properly detect the error if Access
- is used.
- * sem_util.adb (Is_Volatile_Object): Properly record that A.B is
- volatile if the B component is volatile. This affects the check
- for passing such a by reference volatile actual to a non-volatile
- formal (which should be illegal)
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Enumeration_Type): Make sure to set both
- size and alignment for foreign convention enumeration types.
- * layout.adb (Set_Elem_Alignment): Redo setting of alignment
- when size is set.
-
-2011-11-21 Yannick Moy <moy@adacore.com>
-
- * checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
- Apply_Discriminant_Check, Apply_Divide_Check,
- Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
- Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
- Selected_Range_Checks): Replace reference to Expander_Active
- with reference to Full_Expander_Active, so that expansion of
- checks is not performed in Alfa mode
-
-2011-11-21 Tristan Gingold <gingold@adacore.com>
-
- * s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
- fact that we properly detect the error if Access is used.
-
-2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
-
- * par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
-
-2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_imgv.adb: Add with and use clause for Errout.
- (Expand_Width_Attribute): Emit a warning when in
- configurable run-time mode to provide a better diagnostic message.
-
-2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-finmas.adb (Finalize): Add comment concerning double finalization.
-
-2011-11-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Definition): If the access definition
- is itself the return type of an access to function definition
- which is ultimately the return type of an access to subprogram
- declaration, its scope is the enclosing scope of the ultimate
- access to subprogram.
-
-2011-11-21 Steve Baird <baird@adacore.com>
-
- * sem_res.adb (Valid_Conversion): If a conversion was legal
- in the body of a generic, then the corresponding conversion is
- legal in the expanded body of an instance of the generic.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
- line terminator.
- * sinput.ads: Add section on Handling of Source Line Terminators.
- * types.ads (Line_Terminator): Adjust comments.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * frontend.adb (Frontend): Capture restrictions from config files
- * lib-load.adb (Load_Unit): Save/set/restore restriction pragma
- information
- * lib-xref.adb (Generate_Reference): Fix handling of obsolescent
- references. This was noticed during debugging, but it is not
- known if it causes real bugs.
- * restrict.ads, restrict.adb: New routines to save/set/restore
- non-partition-wide restrictions.
- * s-rident.ads: Comment changes for new handling of
- No_Elaboration_Code
- * sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
- * sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
- attempt to save/restore non-partition-wide restrictions (now
- this work is all done in Sem).
- * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
- Special handling for restriction No_Elaboration_Code.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Document new handling of restrictions pragmas.
-
-2011-11-21 Pascal Obry <obry@adacore.com>
-
- * s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
- attribute as not needed.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2011-11-21 Pascal Obry <obry@adacore.com>
-
- * gnat_rm.texi: Document restriction for stdcall convention on
- dispatching calls.
-
-2011-11-21 Pascal Obry <obry@adacore.com>
-
- * sem_prag.adb (Process_Convention): A dispatching call cannot
- have a stdcall calling convention.
-
-2011-11-21 Pascal Obry <obry@adacore.com>
-
- * s-taprop-linux.adb (Initialize_Lock): Do not allocate a
- mutex attribute as not needed.
- (Initialize_TCB): Likewise.
- (Initialize): Likewise.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Is_Public_Subprogram_For): New procedure
- (Process_PPCs): Invariants only apply to public subprograms.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
- restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * a-finali.ads: Use pragma Pure_12 for this unit
- * aspects.adb: Add aspect Pure_12
- * aspects.ads: Add aspect Pure_12
- * opt.ads: Add note on Pure_12
- * par-prag.adb: Add dummy entry for Pure_12
- * sem_prag.adb: Implement Pure_12 pragma
- * snames.ads-tmpl: Add Entry for Pure_12
-
-2011-11-21 Sergey Rybin <rybin@adacore.com frybin>
-
- * vms_data.ads: Add qualifiers for new gnatpp options
- '--call_threshold' and '--par_threshold".
- * gnat_ugn.texi: Add description for new gnatpp options
- '--call_threshold' and '--par_threshold".
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * lib.ads: Minor reformatting.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * lib-load.ads: Add comment.
-
-2011-11-21 Gary Dismukes <dismukes@adacore.com>
-
- * sem_elab.adb: Minor reformatting
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb: Minor reformatting.
-
-2011-11-21 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Check_Formal_Package_Instance): If a formal
- subprogram of the formal package is covered by an others
- association with a box initialization, no check is needed
- against the actual in the instantiation of the formal package.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
- elab warning from within precondition/postcondition etc.
-
-2011-11-21 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
- with out parameters may generate assignments to force constraint
- checks. These checks must be properly placed in the code after the
- declaration or statement that contains the call.
-
-2011-11-21 Fedor Rybin <frybin@adacore.com>
-
- * gnat_ugn.texi: Adding info on current gnattest limitations an
- support of -X option.
-
-2011-11-21 Robert Dewar <dewar@adacore.com>
-
- * a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
-
-2011-11-20 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb, exp_util.adb: Minor reformatting
-
-2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * sinfo.ads (Reference): Document that it is OK to set
- Is_Known_Non_Null on a temporary initialized to a N_Reference
- node.
-
-2011-11-20 Matthew Heaney <heaney@adacore.com>
-
- * a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
- for Source list.
-
-2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
- Declare NEW_EXPR local variable and attach the
- temporary to it. Set Is_Known_Non_Null on the temporary.
- (Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
- * exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
- the temporary created to hold the 'Reference of the expression,
- if any.
- * checks.adb (Install_Null_Excluding_Check): Bail out for the
- Get_Current_Excep.all.all idiom generated by the expander.
-
-2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (struct language_function): Add GNAT_RET.
- (f_gnat_ret): New macro.
- (struct nrv_data): Add GNAT_RET.
- (finalize_nrv_unc_r): New helper function.
- (finalize_nrv): Add GNAT_RET parameter. Copy it into DATA. If the
- function returns unconstrained, use finalize_nrv_unc_r as callback.
- (return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
- RET_OBJ is non-null.
- (Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
- (gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
- if optimization is enabled, record candidates for the Named Return
- Value optimization.
-
-2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
- (gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
- test. Tweak default case.
- <N_Goto_Statement>: Use better formatting.
- * gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
- MODIFY_EXPR to initialize the storage.
- (build_allocator): Likewise.
-
-2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
- call to components_to_record.
- (components_to_record): Add FIRST_FREE_POS parameter. For the variant
- part, reuse enclosing union even if there is a representation clause
- on the Unchecked_Union. If there is a variant part, compute the new
- first free position, if any. Adjust call to self. Use a single field
- directly only if it hasn't got a representation clause or is placed at
- offset zero. Create the variant part at offset 0 if all the fields
- down to this level have a rep clause. Do not chain the variant part
- immediately and adjust downstream.
- Do not test ALL_REP before moving the fields without rep clause to the
- previous level. Call create_rep_part to create the REP part and force
- a minimum size on it if necessary. Do not chain it immediately.
- Create a fake REP part if there are fields without rep clause that need
- to be laid out starting from FIRST_FREE_POS.
- At the end, chain the REP part and then the variant part.
- (create_rep_part): New function.
- (get_rep_part): Minor tweak.
- * gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
-
-2011-11-18 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/50678
- * init.c (__gnat_error_handler) [Darwin]: Move workaround to the
- bug filed as radar #10302855 from __gnat_error_handler to...
- (__gnat_adjust_context_for_raise) [Darwin]: ...here. New function.
- (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
-
-2011-11-18 Tristan Gingold <gingold@adacore.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/49992
- * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
- * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.
-
-2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
- s-oscons.ads.
- (OSCONS_CPP, OSCONS_EXTRACT): New.
- (./bldtools/oscons/xoscons): New target.
- ($(RTSDIR)/s-oscons.ads): Likewise.
- (gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
- * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
- * Make-generated.in: Remove machinery to generate xoscons and
- ada/s-oscons.ads.
-
-2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * fe.h (Serious_Errors_Detected): New macro.
- * gcc-interface/gigi.h (build_atomic_load): Declare.
- (build_atomic_store): Likewise.
- * gcc-interface/trans.c (atomic_sync_required_p): New predicate.
- (call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable.
- Build an atomic load for an In or In Out parameter if needed.
- Build an atomic store for the assignment of an Out parameter if needed.
- Build an atomic store to the target if ATOMIC_SYNC is true.
- (present_in_lhs_or_actual_p): New predicate.
- (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
- <N_Explicit_Dereference>: Likewise.
- <N_Indexed_Component>: Likewise.
- <N_Selected_Component>: Likewise.
- <N_Assignment_Statement>: Adjust call to call_to_gnu.
- Build an atomic store to the LHS if needed.
- <N_Function_Call>: Adjust call to call_to_gnu.
- * gcc-interface/utils2.c: Include toplev.h.
- (resolve_atomic_size): New static function.
- (build_atomic_load): New function.
- (build_atomic_store): Likewise.
- * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
-
-2011-11-07 Olivier Hainque <hainque@adacore.com>
-
- * sigtramp-ppcvxw.c: Add general comments.
- (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
- rules for r2 to r13, plus CTR and XER.
- (CFA_REG): New, register number used to hold the local CFA.
- (CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
- Make that 15, not 14, with documentation.
- (TCR): Undef before definition, preventing conflict with reg number in
- VxWorks headers.
-
-2011-11-07 Robert Dewar <dewar@adacore.com>
-
- * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
- aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-11-07 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb: A tagged type is a legal actual for an aliased
- formal.
-
-2011-11-07 Pascal Obry <obry@adacore.com>
-
- * g-socket.adb, g-socket.ads: Minor reformatting.
-
-2011-11-07 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): Minor error message improvement.
-
-2011-11-07 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add discussion of default mode handling of
- source representation with no -gnatW option given, in particular
- noting that NEL (next line) is not recognized in this context.
-
-2011-11-07 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Note_Possible_Modification): In Alfa mode,
- generate a reference for a modification even when the modification
- does not come from source.
-
-2011-11-07 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
- use the indexing attributes rather than the Element function,
- to obtain variable references.
- * sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
- Find_Aspect rather than iterating over representation
- items. Improve error message.
- * a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
- of Reference functions.
-
-2011-11-07 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Unique_Entity): For a parameter on a subprogram
- body that has a corresponding parameter on the subprogram
- declaration, define the unique entity as being the declaration
- one.
-
-2011-11-07 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
- return type of a function is the class-wide type of an incomplete
- type T, T can be a Taft-amendment type and does not have to be
- completed in the current private part.
-
-2011-11-07 Ed Schonberg <schonberg@adacore.com>
-
- * aspects.ads (Inherited_Aspect): Map that indicates type aspects
- that are inherited by default, and apply to the class-wide type
- as well.
- * aspects.adb (Find_Aspect): If the entity is class-wide and the
- aspect is inherited, use the aspect of the specific type.
-
-2011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_alfa.adb: Remove with and use clause for
- Exp_Ch8. Add with and use clause for Exp_Util.
- Remove local constant Disable_Processing_Of_Renamings.
- (Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
- object renamings has been reenabled.
- (Expand_Possible_Renaming):
- The expansion of identifier and expanded names has been
- reenabled. Perform the substitutions only for entities that
- denote an object.
- * exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
- * exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
- (Remove_Side_Effects): Alphabetize local variables. Add a guard
- to avoid the infinite expansion of an expression in Alfa mode. Add
- processing for function calls in Alfa mode.
- * exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
-
-2011-11-07 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): If the entity is an access to
- subprogram whose designated type is itself a subprogram type,
- its own return type must be decorated with size information.
-
-2011-11-04 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
- Avoid junk semicolon after argument of machine code Asm operand.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
- CodePeer mode or if restriction No_Exception_Handlers is present.
- * exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
- nodes in CodePeer mode or if restriction No_Exception_Handlers
- is present.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
-
-2011-11-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Specification): The
- specification is legal if it is a function that returns an
- abstract type, if it comes from an attribute renaming of a stream
- attribute of an abstract type.
-
-2011-11-04 Gary Dismukes <dismukes@adacore.com>
-
- * exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
- components, check whether recursively check whether the prefix
- denotes an unaligned object.
-
-2011-11-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Debug): The argument of
- the pragma is legal if it is an expanded name that denotes a
- procedure that be can called without parameters.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi (Performance Considerations) <Vectorization
- of loops>: New sub-section. <Other Optimization Switches>:
- Minor tweak.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor reformatting.
-
-2011-11-04 Matthew Heaney <heaney@adacore.com>
-
- * a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
- when Target and Source denote same non-empty object
- * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb: Minor reformatting.
-
-2011-11-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Assign_Record): Do not generate a
- discriminant assignment within an initialization proc if the
- record is an unchecked union, as it can only come from the
- initialization of an unchecked union component.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Minor reformatting.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
- warning message.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor code reorganization (remove junk obsolete
- var Save_Space).
-
-2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_alfa.adb: Add local constant
- Disable_Processing_Of_Renamings;
- (Expand_Alfa_N_Object_Renaming_Declaration): Disable
- the name evaluation of object renamings for now.
- (Expand_Potential_Renaming): Do not perform the substitution
- for now.
- * exp_util.adb (Remove_Side_Effects): Remove processing for
- functions with side effects in Alfa mode.
-
-2011-11-04 Gary Dismukes <dismukes@adacore.com>
-
- * bindgen.adb (Gen_Elab_Calls): In the case
- of the AAMP target, set elaboration entities to 1 rather than
- incrementing.
-
-2011-11-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Install_Limited_With_Unit): To establish the
- proper entities on the ancestors of a child unit that appear
- in a limited_with clause, follow the unit links because the
- units are not analyzed and scope information is incomplete.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch4.adb (Expand_N_Selected_Component): Refine code
- setting the Atomic_Sync_Required flag to detect one more case.
- * exp_util.adb (Activate_Atomic_Synchronization): Refine code
- setting the Atomic_Sync_Required flag to exclude more cases,
- depending on the parent of the node to be examined.
-
-2011-11-04 Bob Duff <duff@adacore.com>
-
- * g-excact.adb: Minor: use named notation.
-
-2011-11-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: Improve error messages for illegal iterators.
-
-2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
- Sem_Util.
- (Expand_Alfa): Alphabetize cases on first choice. Add
- processing for object renaming declarations, identifiers and
- expanded names.
- (Expand_Alfa_N_In): Remove useless return.
- (Expand_Alfa_N_Object_Renaming_Declaration): New routine.
- (Expand_Potential_Renaming): New routine.
- * exp_ch8.adb (Evaluate_Name): Moved to the top level.
- (Expand_N_Object_Declaration): Alphabetize local variables. Move
- Evaluate_Name out to the top level.
- * exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
- * exp_util.adb (Remove_Side_Effects): Add processing for
- functions with side effects in Alfa mode.
-
-2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * gnat_rm.texi: Add entries for
- restrictions No_Relative_Delay, No_Requeue_Statements and
- No_Stream_Optimizations.
-
-2011-11-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb: Set type of entity in prefixed call, for
- completeness in a generic context.
-
-2011-11-04 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb: Minor refactoring (renaming of a parameter).
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * atree.ads: Minor reformatting.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
- and -gnatd.e here
- * exp_ch2.adb (Expand_Entity_Reference): Use
- Activate_Atomic_Synchronization
- * exp_ch4.adb (Expand_N_Explicit_Dereference): Use
- Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
- Activate_Atomic_Synchronization (Expand_N_Selected_Component):
- Use Activate_Atomic_Synchronization
- * exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
- procedure.
- * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
- N_Selected_Component node
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
-
-2011-11-04 Yannick Moy <moy@adacore.com>
-
- * atree.adb, atree.ads (Set_Original_Node): New set procedure.
- * sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
- In ASIS mode, no splitting of aspects between conjuncts.
- (Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
- expressions refer to the original aspect expressions through
- the Original_Node link. This is used in semantic analysis for
- ASIS mode, so that the original expression also gets analyzed.
- * sem_prag.adb (Preanalyze_TC_Args,
- Check_Precondition_Postcondition,
- Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
- generated from a source aspect, also analyze the original aspect
- expression.
- (Check_Expr_Is_Static_Expression): New procedure
- similar to existing procedure Check_Arg_Is_Static_Expression,
- except called on expression inside pragma.
-
-2011-11-04 Tristan Gingold <gingold@adacore.com>
-
- * prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
- Find_Project.Try_Path_Name.
- (Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
-
-2011-11-04 Pascal Obry <obry@adacore.com>
-
- * projects.texi: Add short description for qualifiers aggregate
- and aggregate library.
-
-2011-11-04 Matthew Heaney <heaney@adacore.com>
-
- * Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
- * a-cgaaso.adb: Replaced implementation with instantiation
- of Generic_Sort.
- * a-cogeso.ad[sb] This is the new Ada 2012 unit
- Ada.Containers.Generic_Sort
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb (Expand_Entity_Reference): Do not set
- Atomic_Sync_Required for the case of a prefix of an attribute.
- * exp_ch4.adb (Expand_N_Explicit_Dereference): May require
- atomic synchronization
- (Expand_N_Indexed_Component): Ditto.
- (Expand_B_Selected_Component): Ditto.
- * sem_prag.adb (Process_Suppress_Unsuppress):
- Disable/Enable_Atomic_Synchronization can now occur for array
- types with pragma Atomic_Components.
- * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
- N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
-
-2011-11-04 Gary Dismukes <dismukes@adacore.com>
-
- * gnat_ugn.texi: Editorial corrections for gnattest section.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
- * gnat_rm.texi: Update documentation for pragma Warnings (Off,
- "***") usage.
- * exp_ch2.adb (Expand_Entity_Reference): Only set
- Atomic_Sync_Required on entities that are variables. Doesn't
- make any sense on anything else.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch2.adb (Expand_Entity_Reference): Extend handling of
- atomic sync to type case.
- * sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
- apply to types.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
- for call vs assign.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb: Detect more cases of Long_Float inconsistencies at
- compile time.
-
-2011-11-04 Matthew Heaney <heaney@adacore.com>
-
- * Makefile.rtl, impunit.adb: Added a-sfecin.ads,
- * a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
- a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
- * a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
- a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
- a-sulcin.ad[sb]: New files.
-
-2011-11-04 Geert Bosch <bosch@adacore.com>
-
- * i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
- s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
- i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
- s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
- * gcc-interface/Makefile.in: Remove libgnala and related objects.
-
-2011-11-04 Matthew Heaney <heaney@adacore.com>
-
- * a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
- a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
- a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
- a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
- added to package.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
- that the type of the parameters isn't dummy in type_annotate_only mode.
-
-2011-11-04 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb: Minor reformatting
-
-2011-11-04 Gary Dismukes <dismukes@adacore.com>
-
- * bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
- initialize elaboration entities to zero when specs are processed.
-
-2011-10-28 Iain Sandoe <iains@gcc.gnu.org>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/50678
- * init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
- bug filed as radar #10302855 (inconsistent unwind data for sigtramp).
-
-2011-10-28 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/50842
- * gcc-interface/Makefile.in (SYMDEPS): Delete.
- (LIBICONV): New variable.
- (LIBICONV_DEP): Likewise.
- (LIBS): Add $(LIBICONV).
- (LIBDEPS): Add $(LIBICONV_DEP).
- (EXTRA_GNATTOOLS_OBJS): Merge into...
- (TOOLS_LIBS): ...this. Add $(LIBICONV).
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
- variable. Always create the elaboration variable, if any, as constant.
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
- make a packable type for fields of union types as well.
- <is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
- (gnat_to_gnu_component_type): Try to make a packable type for fields
- of union types as well.
- (make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
- (maybe_pad_type): Try to make a packable type for fields of union types
- as well.
- (gnat_to_gnu_field): Likewise.
- (is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
- (set_rm_size): Likewise.
- (rm_size): Likewise.
- * gcc-interface/misc.c (gnat_type_max_size): Likewise.
- * gcc-interface/trans.c (add_decl_expr): Likewise.
- * gcc-interface/utils.c (finish_record_type): Likewise.
- * gcc-interface/utils2.c (build_simple_component_ref): Likewise.
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_field): Always check components
- declared as atomic. Move around conditionally executed code.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * sem.adb (Initialize): Fix bug that blew up if called a second time.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
- tb-ivms.c, tb-gcc.c: Update headers to GPL 3.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
- name in error msg.
-
-2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
-
- * gnat_rm.texi: Add an entry for restriction No_Finalization.
-
-2011-10-24 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Insert_Freeze_Node_For_Instance): If the
- current instance is within the one that contains the generic,
- the freeze node for the current one must appear in the current
- declarative part. Ditto if the current instance is within another
- package instance. In both of these cases the freeze node of the
- previous instance is not relevant.
-
-2011-10-24 Gary Dismukes <dismukes@adacore.com>
-
- * switch-m.adb (Normalize_Compiler_Switches): Add recognition
- of AAMP-specific switches -univ and -aamp_target.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * a-tienau.adb (Put): Deal properly with limited line length.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * sem_warn.adb, sem_ch12.adb: Minor reformatting.
-
-2011-10-24 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
- on AIX.
-
-2011-10-24 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Earlier): make available globally. If both
- nodes have the same sloc, the freeze node that does not come
- from source is the later one.
- (True_Parent): Make available globally.
- (Previous_Instance): Subsidiary of
- Insert_Freeze_Node_For_Instance, to check whether the generic
- parent of the current instance is declared within a previous
- instance in the same unit or declarative part, in which case the
- freeze nodes of both instances must appear in order to prevent
- elaboration problems in gigi.
- * sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
- freeze point, and the freeze node of a preceding instantiation
- must be inserted before it.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * checks.ads, checks.adb: Add handling of Synchronization_Check
- * debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
- atomic sync).
- * exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
- flag Minor code reorganization.
- * opt.ads (Warn_On_Atomic_Synchronization): New switch.
- * par-prag.adb: Add dummy entries for pragma
- Disable/Enable_Atomic_Synchronization.
- * sem_prag.adb (Process_Suppress_Unsuppress): Handle
- case of Atomic_Synchronization specially (not suppressed
- by All_Checks, cannot be set from Source).
- (Pragma Disable/Enable_Atomic_Synchronization): Add processing.
- * sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
- * snames.ads-tmpl: Add entry for Atomic_Synchronization Add
- entry for pragma Disable/Enable_Atomic_Synchronization
- * switch-c.adb: The -gnatp switch does not disable
- Atomic_Synchronization Add -gnatep switch to disable
- Atomic_Synchronization.
- * types.ads: Add entry for Synchronization_Check
- * usage.adb: Add line for -gnated switch
- * warnsw.adb: Settings for Warn_On_Atomic_Synchronization
-
-2011-10-24 Geert Bosch <bosch@adacore.com>
-
- * s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
- at Integer'First.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb, s-gearop.adb: Minor reformatting.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
- * warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.
-
-2011-10-24 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb (Process_Expression_Variable_Decl): No special
- handling for Project_Path unless it is an attribute.
-
-2011-10-24 Javier Miranda <miranda@adacore.com>
-
- * sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
- (Install_Hidden_Primitives): New subprogram.
- (Restore_Hidden_Primitives): New subprogram.
- (Analyze_Formal_Package_Declaration,
- Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
- Invoke Check_Hidden_Primitives after every call to
- Analyze_Associations, and invoke Restore_Hidden_Primitives to
- restore their visibility after processing the instantiation.
- (Instantiate_Package_Body): Install visible primitives before
- analyzing the instantiation and uninstall them to restore their
- visibility when the instantiation has been analyzed.
- * sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
- (Remove_Suffix): New subprogram
- * sem_ch3.adb (Derive_Subprogram): When handling
- a derived subprogram for the instantiation of a formal derived
- tagged type, inherit the dispatching attributes from the actual
- subprogram (not from the parent type).
-
-2011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Document explicit use of XDECGNAT library.
-
-2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
- update its uses.
- (Build_Discriminant_Assignments): Add local variable D_Loc and update
- its uses.
- (Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
- Var_Loc and update their uses.
- (Build_Record_Init_Proc): Code reformatting.
- (Increment_Counter): Add formal parameter Loc.
- (Make_Counter): Add formal parameter Loc.
-
-2011-10-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_disp.adb (Covers_Some_Interface): Fix typo.
-
-2011-10-24 Matthew Heaney <heaney@adacore.com>
-
- * a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
- of predicate.
-
-2011-10-24 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
- Translate arguments in positional notation into pragma argument
- association arguments for the generated pragma.
-
-2011-10-24 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch5.adb: Fix minor typo.
-
-2011-10-24 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Is_Visible_Component): Refine predicate for
- the case of a component reference in an instance body, when the
- enclosing type is private.
-
-2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
-
- * gnat_ugn.texi: For gnatelim, move the note about using the GNAT
- driver for getting the project support into gnatelim section.
-
-2011-10-24 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor correction to documentation on address clause.
-
-2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-finmas.adb (Attach): Synchronize and call the unprotected version.
- (Attach_Unprotected): New routine.
- (Delete_Finalize_Address): Removed.
- (Delete_Finalize_Address_Unprotected): New routine.
- (Detach): Synchronize and call the unprotected version.
- (Detach_Unprotected): Remove locking.
- (Finalize): Add various comment on synchronization. Lock the critical
- region and call the unprotected versions of routines.
- (Finalize_Address): Removed.
- (Finalize_Address_Unprotected): New routine.
- (Set_Finalize_Address): Synchronize and call
- the unprotected version.
- (Set_Finalize_Address_Unprotected): New routine.
- (Set_Heterogeneous_Finalize_Address): Removed.
- (Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
- (Set_Is_Heterogeneous): Add comment on synchronization and
- locking.
- * s-finmas.ads: Flag Finalization_Started is no longer atomic
- because synchronization uses task locking / unlocking.
- (Attach): Add comment on usage.
- (Attach_Unprotected): New routine.
- (Delete_Finalize_Address): Renamed to
- Delete_Finalize_Address_Unprotected.
- (Detach): Add comment on usage.
- (Detach_Unprotected): New routine.
- (Finalize_Address): Renamed to Finalize_Address_Unprotected.
- (Set_Finalize_Address): Add comment on usage.
- (Set_Finalize_Address_Unprotected): New routine.
- (Set_Heterogeneous_Finalize_Address): Renamed to
- Set_Heterogeneous_Finalize_Address_Unprotected.
- * s-stposu.adb (Allocate_Any_Controlled): Add local variable
- Allocation_Locked. Add various comments on synchronization. Lock
- the critical region and call the unprotected version of
- routines.
- (Deallocate_Any_Controlled): Add various comments on
- synchronization. Lock the critical region and call the unprotected
- version of routines.
-
-2011-10-24 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
- are universal and must carry the corresponding type.
- * sem_eval.adb (Check_Non_Static_Context): If the type of the
- expression is universal real, as may be the case for a fixed point
- expression with constant operands in the context of a conversion,
- there is nothing to check.
- * s-finmas.adb: Minor reformatting
-
-2011-10-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (create_concat_name): Add explicit cast.
-
-2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
- TRACE): Reintroduce.
- (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
- ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
-
-2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (lhs_or_actual_p): New predicate.
- (unchecked_conversion_nop): Use it.
- (gnat_to_gnu): Likewise.
-
-2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * back_end.adb (Call_Back_End): Pass the maximum logical line number
- instead of the maximum physical line number to gigi.
- * gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
-
-2011-10-16 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
- public ordinary map interface.
-
-2011-10-16 Tristan Gingold <gingold@adacore.com>
-
- * link.c (_AIX): Add support for GNU ld.
-
-2011-10-16 Fedor Rybin <frybin@adacore.com>
-
- * gnat_ugn.texi: Fixing gnattest example names in the doc.
- Adding explanation to additional tests usage.
-
-2011-10-16 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb, sem_ch6.adb: Minor reformatting.
-
-2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * a-convec.adb: Fix minor inconsistencies.
-
-2011-10-16 Matthew Heaney <heaney@adacore.com>
-
- * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
- Implementation): Specify pragma Implementation_Defined.
-
-2011-10-15 Nicolas Roche <roche@adacore.com>
-
- * gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
- either rtp-smp or ravenscar-cert-rtp runtimes.
-
-2011-10-15 Bob Duff <duff@adacore.com>
-
- * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
- Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
- is available.
- (Expand_N_Extended_Return_Statement): Do not create a renaming of the
- build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
- available.
- (Make_Build_In_Place_Call_In_Allocator): Add the user-defined
- pool only if RE_Root_Storage_Pool_Ptr is available.
- (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
- pool actual unless RE_Root_Storage_Pool_Ptr is available.
- * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
- formal only if RE_Root_Storage_Pool_Ptr is available.
-
-2011-10-15 Matthew Heaney <heaney@adacore.com>
-
- * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
- type): Specify Priority aspect for protected type.
-
-2011-10-14 Ed Schonberg <schonberg@adacore.com>
-
- * exp_disp.adb (Check_Premature_Freezing): If an untagged type
- is a generic actual, it is a subtype of a type that was frozen
- by the instantiation, and even if not marked frozen it does not
- affect the construction of the dispatch table.
-
-2011-10-14 Robert Dewar <dewar@adacore.com>
-
- * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
- reformatting.
- * s-rident.ads: Add missing Compiler_Unit pragma.
-
-2011-10-14 Gary Dismukes <dismukes@adacore.com>
-
- * sem_res.adb: Minor reformatting.
-
-2011-10-14 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
- Code and comment reformatting. Use BIP_Task_Master
- when creating a _master.
- (BIP_Formal_Suffix): Code reformatting. Correct the case for
- BIP_Task_Master.
- (Make_Build_In_Place_Call_In_Object_Declaration): Use
- BIP_Task_Master when creating a reference to the enclosing
- function's _master formal.
- (Move_Activation_Chain): Use BIP_Task_Master when creating a reference
- to the _master.
- * exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
- (Needs_BIP_Finalization_Master): Alphabetized.
- * sem_ch6.adb (Create_Extra_Formals): Update the usage of
- BIP_Task_Master.
-
-2011-10-14 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
- reject an aliased keyword on the object declaration of an extended
- return statement. In older versions of the language indicate
- that this is illegal in the standard.
-
-2011-10-14 Pascal Obry <obry@adacore.com>
-
- * sem_util.adb, sem_ch4.adb: Minor reformatting.
-
-2011-10-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: Recognize properly procedure calls that are
- transformed into code statements.
-
-2011-10-14 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Minor fix in project example.
-
-2011-10-14 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb: Return objects are aliased if their type is
- immutably limited as per AI05-0053.
-
-2011-10-14 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
- expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
- Short_Circuit_And_Or expansion code (moved to sem_res).
- * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
- "and" and "or" operators as short-circuit "and then" and "or
- else", when pragma Short_Circuit_And_Or is active.
-
-2011-10-13 Robert Dewar <dewar@adacore.com>
-
- * sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
- sem_ch6.adb, exp_ch3.adb: Minor reformatting.
-
-2011-10-13 Arnaud Charlet <charlet@adacore.com>
-
- * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
-
-2011-10-13 Jerome Guitton <guitton@adacore.com>
-
- * sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
-
-2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * a-convec.ads (Cursor): Minor reformatting.
- * a-convec.adb (Next): Fix minor inconsistencies.
- (Previous): Likewise.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
- New predicate to determine whether some operations on an array
- type are available when the full view of its component may differ
- from the view of the point of the array declaration.
- * sem_ch4.adb (Find_Equality_Types): Use
- Available_Full_View_Of_Component.
- * sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch9.adb: Analyze aspects while discriminants of protected
- type are visible.
-
-2011-10-13 Geert Bosch <bosch@adacore.com>
-
- * Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
- a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
- longer depend on an external library.
- * gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
- a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
- Update dependencies.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-10-13 Cyrille Comar <comar@adacore.com>
-
- * gnat_ugn.texi: Minor editing.
-
-2011-10-13 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Add documentation on packages and attributes
- that are inherited from a project being extended into the
- extended project.
-
-2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Build_Master): Rewritten.
- (Expand_N_Full_Type_Declaration): Reformat the declarative
- region. Update the call to Build_Master_Renaming.
- (Expand_Previous_Access_Type): Rewritten.
- * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
- Add local constant Result_Subt and update related usage.
- (Expand_N_Extended_Return_Statement): Add local constant
- Result_Subt and update related usage.
- * exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
- new context detection mechanism.
- (Build_Class_Wide_Master):
- Use Insert_Action to add the renaming into the tree.
- (Build_Master_Entity): Rewritten to use the new context detection
- mechanism.
- (Build_Master_Renaming): Add formal parameter Ins_Nod
- and related usage. Use Insert_Action to add the renaming into the
- tree.
- (Find_Enclosing_Context): New subsidiary routine. Rather
- than relying on enclosing scopes, this routine looks at the
- tree structure to figure out the proper context for a _master
- or a _chain. This approach eliminates the issues with transient
- scopes which have not been converted into blocks.
- * exp_ch9.ads (Build_Master_Entity): Change parameter profile
- to better reflect the new usage. Update the related comment.
- (Build_Master_Renaming): Add formal parameter Ins_Nod. Update
- the comment on usage.
- * sem_ch3.adb (Access_Definition): Update the calls to
- Build_Master_Entity and Build_Master_Renaming.
- * sem_ch6.adb (Create_Extra_Formals): Add local variable
- Full_Subt. Code reformatting.
- * sem_util.adb (Is_Iterator): Alphabetized.
- (Is_LHS): Alphabetized.
- (Is_Limited_Class_Wide_Type): New routine.
- * sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
-
-2011-10-13 Geert Bosch <bosch@adacore.com>
-
- * a-ngrear.adb (Solve): Make generic and move to
- System.Generic_Array_Operations.
- * s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
- New generic solvers to compute a vector resp. matrix Y such
- that A * Y = X, approximately.
- * s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
- Implement using Forward_Eliminate and Back_Substitute
- * a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
- on BLAS and LAPACK.
- * a-ngcoar.ads ("abs"): Fix return type to be real.
-
-2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/50589
- * s-linux-alpha.ads: Do not "with" Interfaces.C.
- * s-linux-sparc.ads: Likewise.
-
-2011-10-13 Geert Bosch <bosch@adacore.com>
-
- * s-gearop.ads (Forward_Eliminate): Add "abs" formal function
- returning a Real.
- * s-gearop.adb (Forward_Eliminate): Remove local "abs" function
- and use formal.
- * a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
- new profile.
-
-2011-10-13 Geert Bosch <bosch@adacore.com>
-
- * a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
- move to System.Generic_Array_Operations.
-
-2011-10-13 Geert Bosch <bosch@adacore.com>
-
- * a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
- * s-gearop.ads (L2_Norm): Change profile to be suitable for
- Complex_Vector
- * s-gearop.adb (L2_Norm): Reimplement using direct definition,
- not inner product
-
-2011-10-13 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
- prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
- sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
- par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
- par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
- exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
-
-2011-10-13 Geert Bosch <bosch@adacore.com>
-
- * s-gearop.adb: Minor comment additions.
-
-2011-10-13 Fedor Rybin <frybin@adacore.com>
-
- * gnat_ugn.texi: Add gnattest section.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb: Do not create body of renaming if declaration has
- errors.
-
-2011-10-13 Olivier Hainque <hainque@adacore.com>
-
- * init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
- further, to the ppc+kernel case only.
-
-2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
- * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
- Do not create a pool formal on .NET/JVM.
- (Expand_N_Extended_Return_Statement): Alphabetize local
- variables. Do not create a renaming of the build-in-place pool
- parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
- Add the user-defined pool only on non-VM targets.
- (Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
- local variables. Do not add a pool actual on .NET/JVM.
- * sem_ch6.adb: Add with and use clause for Targparm.
- (Create_Extra_Formals): Add build-in-place pool formal only on
- non-VM targets.
- * rtsfind.ads: Alphabetize entries.
-
-2011-10-13 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Minor correction.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb: Minor error message improvement.
-
-2011-10-13 Robert Dewar <dewar@adacore.com>
-
- * a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
-
-2011-10-13 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
- of a for loop for an enumeration type with an enumeration rep
- clause, which involves moving the original loop parameter into
- a nested block, the loop parameter's entity must be removed from
- the entity list of the loop scope.
-
-2011-10-13 Bob Duff <duff@adacore.com>
-
- * exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
- that gets passed in the same cases where BIP_Alloc_Form is passed
- (caller-unknown-size results). BIP_Storage_Pool is used when
- BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer
- to the user-defined storage pool is passed at the call site,
- and this pool is used in callee to allocate the result.
- * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
- version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
- the additional BIP_Storage_Pool actual.
- (Expand_N_Extended_Return_Statement): Allocate the function
- result using the user-defined storage pool, if BIP_Alloc_Form =
- User_Storage_Pool.
- * sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
- * exp_ch4.adb: Don't overwrite storage pool set by
- Expand_N_Extended_Return_Statement.
- * s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
- for use in build-in-place function calls within allocators
- where the access type has a user-defined storage pool.
-
-2011-10-13 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
- literal casing.
-
-2011-10-13 Nicolas Roche <roche@adacore.com>
-
- * gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
- with 'rtp'.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
- account that an unchecked union type can be limited.
-
-2011-10-13 Olivier Hainque <hainque@adacore.com>
-
- * init.c (__gnat_error_handler) <VxWorks version>: Add comments on
- the use of the signal trampoline for PPC in the sjlj case as well.
- Add legitimate casts, preventing compile time warnings on the
- (sighandler *) profile.
-
-2011-10-13 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
- in Alfa mode.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
- expressions are legal limited return values if each one of their
- dependent expressions are legal.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
- if the prefix of the call is a qualified expression, rewrite as
- a code statement.
- * sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
- code statement is legal if it is a rewriting of a procedure call.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Flatten): If a component association has a box,
- assume that aggregate is not static.
- (Safe_Aggregate): If a component association in a non-limited
- aggregate has a box, assume that it cannot be expanded in place.
-
-2011-10-13 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Get_Or_Create_Configuration_File): Call
- Process_Project_Tree_Phase_1 with Packages_To_Check.
- (Process_Project_And_Apply_Config): Ditto
- * prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
- Remove default for argument Packages_To_Check.
- * prj-proc.adb (Recursive_Process): New argument
- Packages_To_Check.
- (Process): Ditto.
- (Process_Project_Tree_Phase_1): Ditto.
- (Recursive_Project.Process_Aggregated_Projects): Call
- Prj.Part.Parse and Process_Project_Tree_Phase_1 with
- Packages_To_Check.
- * prj-proc.ads (Process): New argument Packages_To_Check
- (Process_Project_Tree_Phase_1): Ditto
-
-2011-10-13 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in: Fix typo.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_{Floating_Type,
- Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}):
- Use sloc of defining identifier of farmal type declaration,
- as sloc of generated internal entity, to prevent misplaced
- references in ali.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_intr.adb (Check_Intrinsic_Operator): Check that type
- is fully defined before checking that it is a numeric type.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Record_Aggregate): If a component
- association for component X has a box, then X is covered in the
- aggregate even if there is not default value for X in the type
- declaration, and X has to be default-initialized.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
- literals as referenced only if reference is in current source unit.
-
-2011-10-13 Matthew Heaney <heaney@adacore.com>
-
- * a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
-
-2011-10-13 Olivier Hainque <hainque@adacore.com>
-
- * sigtramp.h: New file. Prototype and spec of the signal
- trampoline to be called by an established handler to provide
- dwarf call frame info before the real signal processing code.
- * sigtramp-ppcvxw.c: New file. Implementation of the signal
- trampoline for ppc-vxworks.
- * init.c (vxworks section): Use it for ppc.
-
-2011-10-13 Thomas Quinot <quinot@adacore.com>
-
- * par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
- (Check_Future_Identifier): New subprogram,
- factors duplicated code from Par.Ch2.P_Identifier and
- Par.Ch3.P_Defining_Identifier.
-
-2011-10-13 Thomas Quinot <quinot@adacore.com>
-
- * s-taprop-posix.adb (Initialize): Always raise Storage_Error
- if we fail to initialize CV attributes or CV.
-
-2011-10-13 Thomas Quinot <quinot@adacore.com>
-
- * s-tasren.adb (Timed_Selective_Wait, case
- Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
- we know abortion is already deferred.
-
-2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
- (Build_Master_Renaming (function)): Removed.
- (Build_Master_Renaming (procedure)): Moved to exp_ch9.
- (Expand_Full_Type_Declaration): Alphabetize
- variables. Reformatting of code and comments. Rewrite the
- section on processing of anonymous access-to-task types in
- record components.
- * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
- (Build_Master_Renaming): Moved to exp_ch9.
- * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
- (Build_Master_Entity): Add formal parameter
- Use_Current. Reformatting of code and comments.
- (Build_Master_Renaming): Moved from exp_ch3.
- * exp_ch9.ads (Build_Class_Wide_Master): Moved from
- exp_ch3. Update comment on usage.
- (Build_Master_Entity):
- Add formal parameter Use_Current. Update comment on usage.
- (Build_Master_Renaming): Moved from exp_ch3.
- * sem_ch3.adb (Access_Definition): Remove redundant code to
- create a _master and a renaming.
-
-2011-10-13 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb: Do no emit reference to overridden operation,
- if it is internally generated.
-
-2011-10-13 Vincent Celier <celier@adacore.com>
-
- * bindgen.adb: Remove any processing related to g-trasym
- * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
- * mlib-prj.adb: Remove any processing related to g-trasym.
-
-2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
- * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
- (ALL_ADAFLAGS): Include WARN_ADAFLAGS.
- (ADA_FLAGS_TO_PASS): Likewise.
- (COMMON_FLAGS_TO_PASS): New.
- (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular
- native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
- (gnatlib): Use COMMON_FLAGS_TO_PASS.
- (ada.install-common): Likewise.
- (install-gnatlib): Likewise.
- (install-gnatlib-obj): Likewise.
- (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
- (gnat-cross): Delete.
- (gnatboot): Likewise.
- (gnatboot2): Likewise.
- (gnatboot3): Likewise.
- (gnatstage1): Likewise.
- (gnatstage2): Likewise.
- * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
- (MOST_ADAFLAGS): Likewise.
- (LOOSE_CFLAGS): Likewise.
- (gnat-cross): Likewise.
- (GNATLIBFLAGS): Add -W -Wall.
- (GNATLIBCFLAGS_FOR_C): Likewise.
- * gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines.
- * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
-
-2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
- (push_range_check_info): Likewise.
- (gnat_to_gnu) <N_Code_Statement>: Likewise.
- * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
- (gnat_invariant_expr): Likewise.
- * gcc-interface/utils.c (compute_related_constant): Likewise.
- (max_size): Fix handling of SAVE_EXPR.
- (remove_conversions): Fix formatting.
-
-2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
- (DECL_INDUCTION_VAR): New macro.
- (SET_DECL_INDUCTION_VAR): Likewise.
- * gcc-interface/gigi.h (convert_to_index_type): Declare.
- (gnat_invariant_expr): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
- parameter, set DECL_LOOP_PARM_P on it.
- * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
- is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
- * gcc-interface/trans.c (gnu_loop_label_stack): Delete.
- (struct range_check_info_d): New type.
- (struct loop_info_d): Likewise.
- (gnu_loop_stack): New stack.
- (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
- built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P
- is set, do not test DECL_RENAMED_OBJECT.
- (push_range_check_info): New function.
- (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
- the label. Reference the label and the iteration variable from it.
- Build the special induction variable in the unsigned version of the
- size type, if it is larger than the base type. And attach it to the
- iteration variable if the latter isn't by-ref. In the iteration scheme
- case, initialize the invariant conditions in front of the loop if
- deemed profitable. Use gnu_loop_stack.
- (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
- <N_Raise_Constraint_Error>: Always process the reason. In the range
- check and related cases, and if loop unswitching is enabled, compute
- invariant conditions and push this information onto the stack.
- Do not translate again the condition if it has been already translated.
- * gcc-interface/utils.c (record_global_renaming_pointer): Assert that
- DECL_LOOP_PARM_P isn't set.
- (convert_to_index_type): New function.
- * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
- to convert the index from the base index type to sizetype.
- (gnat_invariant_expr): New function.
-
-2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc-interface/utils.c (def_builtin_1): Delete old interface with
- two parallel arrays to hold standard builtin declarations, and
- replace it with a function based interface that can support
- creating builtins on the fly in the future.
- * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
- (gnat_to_gnu): Ditto.
-
-2011-10-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/50492
- * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
- * gcc-interface/utils.c (global_context): New variable.
- (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
- that are either public external or at top level. Use "No" macro.
- (end_subprog_body): Call decl_function_context.
- (rest_of_subprog_body_compilation): Likewise.
-
-2011-10-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
- (rest_of_subprog_body_compilation): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
- test for useless conversions by means of gnat_useless_type_conversion.
- * gcc-interface/trans.c: Include bitmap.h and cgraph.h.
- (language_function): Add named_ret_val and other_ret_val.
- (f_named_ret_val): New macro.
- (f_other_ret_val): Likewise.
- (gigi): Call rest_of_subprog_body_compilation.
- (struct nrv_data): New structure.
- (is_nrv_p): New predicate.
- (prune_nrv_r): New helper function.
- (prune_nrv_in_block): New function.
- (finalize_nrv_r): New helper function.
- (finalize_nrv): New function.
- (return_value_ok_for_nrv_p): New predicate.
- (build_return_expr): If optimization is enabled, record candidates for
- the Named Return Value optimization.
- (build_function_stub): Call rest_of_subprog_body_compilation.
- (Subprogram_Body_to_gnu): If optimization is enabled and there are
- candidates, finalize the Named Return Value optimization.
- Call rest_of_subprog_body_compilation.
- (call_to_gnu): At the end, if a return value is needed, simplify the
- result before wrapping it up in a COMPOUND_EXPR.
- * gcc-interface/utils.c (end_subprog_body): Split into...
- (rest_of_subprog_body_compilation): ...this. New function.
- (gnat_useless_type_conversion): Likewise.
-
-2011-10-06 Thomas Quinot <quinot@adacore.com>
-
- * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
- exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
- g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
- par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
- sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
- sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
- s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
- * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
-
-2011-10-06 Ed Schonberg <schonberg@adacore.com>
-
- * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
- references.
-
-2011-10-06 Matthew Heaney <heaney@adacore.com>
-
- * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
- (Dequeue_Only_High_Priority): Protected procedure now implemented.
-
-2011-10-06 Vincent Celier <celier@adacore.com>
-
- * g-trasym.adb: Replace old implementation with the default
- implementation that returns list of addresses as "0x...".
- * g-trasym.ads: Update the list of platforms with the full
- capability. Indicate that there is a default implementation
- for other platforms.
- * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
- * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
- is now a default implementation for all platforms without the full
- capability.
-
-2011-10-06 Robert Dewar <dewar@adacore.com>
-
- * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
- a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
- a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
- reorganization (use conditional expressions).
-
-2011-10-06 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
- floating divide by zero.
-
-2011-10-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb: Limited interfaces that are not immutably limited
- are OK in return statements.
-
-2011-09-30 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (Darwin): Partial reversion of previous
- change to powerpc section.
-
-2011-09-29 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
- across the port.
-
-2011-09-27 Ed Schonberg <schonberg@adacore.com>
-
- * a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
- a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
- a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
- indefinite sets.
- * a-coorma.ads: Minor reformmating.
- * einfo.ads: Improve the comment describing the
- Directly_Designated_Type function.
- * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
- ordered maps.
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
- dependencies.
-
-2011-09-27 Robert Dewar <dewar@adacore.com>
-
- * a-comutr.ads: Minor reformatting.
-
-2011-09-27 Ed Schonberg <schonberg@adacore.com>
-
- * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
- iterators to multiway trees.
-
-2011-09-27 Yannick Moy <moy@adacore.com>
-
- * debug.adb (d.D): New option for strict Alfa mode.
- * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
- permissions as strictly as possible.
- * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
- Alfa mode, now, interpret ranges of base types like GNAT does; in
- strict mode, simply change the range of the implicit base Itype.
- * gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.
-
-2011-09-27 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb: Minor comment fixes.
-
-2011-09-27 Ed Schonberg <schonberg@adacore.com>
-
- * a-comutr.adb, a-comutr.ads: Add children iterators on multiway
- trees.
-
-2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
- instead of Directly_Designated_Type in the indirect array case.
-
-2011-09-27 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, exp_aggr.adb: Minor reformatting.
-
-2011-09-27 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
- on subtype declarations.
- * exp_aggr.adb: Minor comment update.
-
-2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_util.adb (Safe_Prefixed_Reference): Remove always-false
- test in the N_Explicit_Dereference case. Fold double logical
- negation in the special loop case and conditionalize it on
- Variable_Ref being true.
-
-2011-09-27 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
- single protected object and the selector is a discriminant or an
- entry family, this is a non-overloaded candidate interpretation,
- and possible primitive operations of the type must not be
- examined.
-
-2011-09-27 Arnaud Charlet <charlet@adacore.com>
-
- * s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
- s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
- Add dummy definitions for pthread_rwlock_t
- and pthread_rwlockattr_t on all POSIX platforms.
- * s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
- reference.
- (Finalize_Lock): Likewise.
- (Write_Lock): Likewise.
- (Unlock): Likewise.
-
-2011-09-27 Tristan Gingold <gingold@adacore.com>
-
- * s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
- windows 64.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
- s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
- s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
- s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
- s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
- s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
- s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
- s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
- s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
- s-taprop-posix.adb: Revert previous changes.
- (Lock): Now a record containing the two possible lock
- (mutex and read/write) defined in OS_Interface.
- * s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
- 'R' locking policy.
- (Initialize_Protection): Likewise.
- (Lock): Likewise.
- (Lock_Read_Only): Likewise.
- (Unlock): Likewise.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
- OS_Interface.pthread_rwlock_t.
-
-2011-09-27 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
- a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
- sem_ch5.adb, sem_util.adb: Minor reformatting.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
- (Finalize_Lock)[RW_Lock]: Likewise.
- (Write_Lock)[RW_Lock]: Likewise.
- (Unlock)[RW_Lock]: Likewise.
- (Read_Lock): Define L as RW_Lock (instead of Lock).
- * s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
- routine for r/w lock.
- (Finalize_Lock)[RW_Lock]: Likewise.
- (Write_Lock)[RW_Lock]: Likewise.
- (Unlock)[RW_Lock]: Likewise.
- (Read_Lock): Define L as RW_Lock (instead of Lock).
-
- * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
- s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
- s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
- (Initialize_Lock)[RW_Lock]: Same implementation as corresponding
- routine for standard lock.
- (Finalize_Lock)[RW_Lock]: Likewise.
- (Write_Lock)[RW_Lock]: Likewise.
- (Unlock)[RW_Lock]: Likewise.
- (Read_Lock): Define L as RW_Lock (instead of Lock).
- * s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
- in the record definition.
- * s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
- lock for 'R' locking policy.
- (Initialize_Protection): Likewise.
- (Lock): Likewise.
- (Lock_Read_Only): Likewise.
- (Unlock): Likewise.
- * s-taspri-posix.ads (RW_Lock): New type defined as
- OS_Interface.pthread_rwlock_t.
-
- * s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
- s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
- s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
- s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
- s-osinte-hpux.ads, s-osinte-irix.ads,
- s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
- pthread_mutex_t.
- (pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
- * s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
- pthread_rwlockattr_init, pthread_rwlockattr_destroy,
- pthread_rwlockattr_setkind_np, pthread_rwlock_init,
- pthread_rwlock_destroy, pthread_rwlock_rdlock,
- pthread_rwlock_wrlock, pthread_rwlock_unlock): New.
-
-2011-09-27 Pascal Obry <obry@adacore.com>
-
- * rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
- (RE_Id): Add RE_Lock_Read_Only.
- (RE_Unit_Table): Likewise.
- * sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
- to lift restriction on first character. Handle now the
- Name_Concurrent_Readers_Locking where policy character is set to
- 'R'.
- * snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
- constant.
- * exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
- read only lock for function in protected object.
- * s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
- this routine is now used.
-
-2011-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * s-atocou-x86.adb (Decrement): Use %;.
- (Increment): Likewise.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
- dereference of the pointer to the storage area. Remove useless type
- conversions and factor out common code.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
- variable and use it throughout.
- <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
- <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
- first step. Also convert to the unpadded type as a last step.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
- DECL_CHAIN in comment.
- * gcc-interface/trans.c (gigi): Likewise.
- (Attribute_to_gnu): Likewise.
- (build_function_stub): Likewise.
- (gnat_to_gnu): Likewise.
- * gcc-interface/utils.c (create_subprog_decl): Likewise.
- (convert_vms_descriptor64): Likewise.
- (convert_vms_descriptor32): Likewise.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
- * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
- issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if
- the type of the record is TYPE_READONLY.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
- Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
- OUT formal parameter which is of an null-exclusion access subtype.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
- (gnat_to_gnu_param): Likewise.
- * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
- maybe_unconstrained_array instead of doing the work manually.
- (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
- * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
- is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
- (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
- (gnat_stabilize_reference): Likewise.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
- (SET_TYPE_NULL_BOUNDS): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
- TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
- * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
- pointer types.
- * gcc-interface/utils.c (create_var_decl_1): If the object is external,
- check that the initializer is a valid constant expression for use in
- initializing a static variable. Add missing guard.
- (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
- (convert_to_fat_pointer): In the null fat pointer case, build a valid
- pointer for the bounds.
- * gcc-interface/utils2.c (compare_fat_pointers): New function.
- (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.
-
-2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
- * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
- the by-ref case. Do not set TREE_READONLY on a renamed object. Set
- TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
- (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
- to the indirect case.
- * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
- the TREE_THIS_NOTRAP flag.
-
-2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
- iteration scheme, always generate the do-while form if optimization
- is enabled. Use more straightforward test at the end.
-
-2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
- XNEW instead of xmalloc. Do not build useless pointer type.
- <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
- * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
- * gcc-interface/utils2.c (build_unary_op): Remove local variable.
-
-2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
- the alignment if this doesn't prevent BLKmode access to the object.
-
-2011-09-24 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (darwin): Do not issue the
- '-flat_namespace' linker flag during Ada build.
- * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
- default shared library options.
-
-2011-09-19 Alexandre Oliva <aoliva@redhat.com>
-
- * gcc-interface/decl.c (annotate_value): Look up expression for
- insertion in the cache at the end.
-
-2011-09-19 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-09-19 Steve Baird <baird@adacore.com>
-
- * snames.ads-tmpl: Move declaration of Name_Annotate into range of
- configuration pragma names so that Is_Configuration_Pragma_Name
- will return True for Name_Annotate. Make corresponding change in
- Pragma_Id enumeration type. This is needed to allow an Annotate
- pragma to occur in a configuration pragma file (typically,
- a gnat.adc file).
- * gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
- * gnat_rm.texi: Note that pragma Annotate may be used as a
- configuration pragma.
-
-2011-09-19 Ed Schonberg <schonberg@adacore.com>
-
- * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
- a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
-
-2011-09-19 Yannick Moy <moy@adacore.com>
-
- * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
- for expansion of set membership.
- (Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
- * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
- visible for use in Alfa expansion.
- * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
- variable in Alfa mode.
-
-2011-09-19 Thomas Quinot <quinot@adacore.com>
-
- * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
-
-2011-09-19 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb: Minor reformatting.
-
-2011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
-
- * freeze.adb (Build_Renamed_Body): Generic subprograms
- instantiations cannot be poperly inlined by the compiler, do
- not set the Body_To_Inline attribute in such cases.
- * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
- inlining-related flags from the generic subprogram declaration.
-
-2011-09-19 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
- (Build_Stub_Type): Remove, instead copy components from
- System.Partition_Interface.RACW_Stub_Type.
- (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
- (Copy_Component_List): New subprogram.
-
-2011-09-19 Yannick Moy <moy@adacore.com>
-
- * lib-xref.adb (Generate_Reference): Ignore references to
- constants in Standard.
-
-2011-09-19 Robert Dewar <dewar@adacore.com>
-
- * err_vars.ads, errout.ads: Minor reformatting.
-
-2011-09-19 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads (Impl_Defined_Aspects): New array
- * lib-writ.adb (No_Dependences): New name for No_Dependence
- * restrict.adb (No_Dependences): New name for No_Dependence
- (Check_Restriction_No_Specification_Of_Aspect): New
- procedure.
- (Set_Restriction_No_Specification_Of_Aspect): New procedure
- (Restricted_Profile_Result): New variable
- (No_Specification_Of_Aspects): New variable
- (No_Specification_Of_Aspect_Warning): New variable
- * restrict.ads (No_Dependences): New name for No_Dependence
- (Check_Restriction_No_Specification_Of_Aspect): New procedure
- (Set_Restriction_No_Specification_Of_Aspect): New procedure
- * s-rident.ads: Add restriction
- No_Implementation_Aspect_Specifications, this is also added to
- the No_Implementation_Extensions profile.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Check
- No_Implementation_Defined_Aspects
- (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
- * sem_prag.adb (Analyze_Aspect_Specifications): Check
- No_Implementation_Aspects
- (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
- * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name
-
-2011-09-19 Yannick Moy <moy@adacore.com>
-
- * lib-xref.adb (Generate_Reference): Take into account multiple
- renamings for Alfa refs.
-
-2011-09-19 Thomas Quinot <quinot@adacore.com>
-
- * g-socthi-mingw.adb: Minor reformatting.
-
-2011-09-19 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Set tagged type
- expansion to False in mode Alfa
-
-2011-09-19 Pascal Obry <obry@adacore.com>
-
- * mingw32.h: Remove obsolete code needed for old versions
- of MingW.
-
-2011-09-19 Robert Dewar <dewar@adacore.com>
-
- * errout.ads: Minor reformatting.
-
-2011-09-19 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): When the expression
- function is transformed into a declaration and a body, insert
- body at the end of the declarative part, to prevent premature
- freeze actions, and preserve original specification in the
- subprogram declaration.
-
-2011-09-19 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Minor editing.
-
-2011-09-19 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
- exp_aggr.adb: Minor reformatting.
-
-2011-09-19 Yannick Moy <moy@adacore.com>
-
- * lib-xref.adb (Generate_Reference): Change entity referenced
- to underlying object if any, or else reference to the HEAP.
-
-2011-09-15 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-09-15 Robert Dewar <dewar@adacore.com>
-
- * tree_io.ads: Minor reformatting.
- * a-intnam.ads: Fix bad header.
-
-2011-09-15 Thomas Quinot <quinot@adacore.com>
-
- * a-exexpr-gcc.adb: Minor reformatting.
-
-2011-09-15 Yannick Moy <moy@adacore.com>
-
- * sem_ch6.adb: Propagate information that an expression function comes
- from source (otherwise references to this entity are not stored).
-
-2011-09-15 Robert Dewar <dewar@adacore.com>
-
- * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
- a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
- a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
-
-2011-09-15 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
- if the expression function is not a completion, create a
- new specification for the generated declaration, and keep the
- original specification in the generated body. Shorter code also
- ensures that proper warnings are generated for unused formals
- in all cases.
-
-2011-09-15 Sergey Rybin <rybin@adacore.com>
-
- * tree_io.ads: Update ASIS_Version_Number because of the changes
- in the tree structures for expression functions.
-
-2011-09-15 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
- s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
- s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
- (CLOCK_REALTIME): Fix wrong value on some OSes.
- * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (maybe_unconstrained_array): In the reference
- to unconstrained array case, deal with each branch of a COND_EXPR.
- * gcc-interface/utils2.c (build_allocator): Deal with each branch of
- a COND_EXPR in the initializer, if present.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
- of an addressable type.
- * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
- Deal with those cases for which creating a temporary is mandatory.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
- this is a real formal parameter before testing whether it is by ref.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (build_call_0_expr): Delete.
- (build_call_1_expr): Likewise.
- (build_call_2_expr): Likewise.
- (build_call_n_expr): New prototype.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
- * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
- (Handled_Sequence_Of_Statements_to_gnu): Likewise.
- (Exception_Handler_to_gnu_zcx): Likewise.
- (gnat_to_gnu): Likewise.
- (build_binary_op_trapv): Likewise.
- * gcc-interface/utils2.c (build_call_0_expr): Delete.
- (build_call_1_expr): Likewise.
- (build_call_2_expr): Likewise.
- (build_call_n_expr): New function.
- (build_call_raise): Use build_call_n_expr.
- (build_call_raise_range): Likewise.
- (build_call_raise_column): Likewise.
- (build_call_alloc_dealloc_proc): Likewise.
- (maybe_wrap_malloc): Likewise.
- (maybe_wrap_free): Likewise.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (build_return_expr): Use void_type_node for
- MODIFY_EXPR.
- * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
- the result type is null if ENABLE_CHECKING. Set operation_type at the
- end unconditionally if not set in the previous cases.
- Use build2 and void_type_node for MODIFY_EXPR.
- (build_allocator): Use NULL_TREE for MODIFY_EXPR.
-
-2011-09-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (unchecked_convert): Use a field of the right
- precision when converting to or from an integral type whose precision
- is not equal to its size.
-
-2011-09-08 Iain Sandoe <iains@gcc.gnu.org>
-
- * traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
-
-2011-09-07 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (darwin): Provide powerpc64 system
- implementation.
- * system-darwin-ppc64.ads: New file.
-
-2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
- reference to "-lm".
-
-2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
- size switches to the link phase for shared libs.
-
-2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
- LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
-
-2011-09-06 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in
- (gnattools, regnattools, cross-gnattools, canadian-gnattools,
- gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
- New targets.
- (TOOLS_FLAGS_TO_PASS): New.
- (../stamp-tools): Reintroduce, to avoid merge conflicts.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
- name for Is_RM_Defined_Unit. Also several fixes to this unit.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
- * s-rident.ads: New restriction No_Implementation_Units
- (this restriction is also part of the profile
- No_Implementation_Extensions)
- * sem_ch10.adb (Analyze_With_Clause): Add check for
- No_Implementation_Units restriction.
-
-2011-09-06 Jerome Guitton <guitton@adacore.com>
-
- * sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
- on vThreads.
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * s-solita.adb: Minor reformatting.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
- is a rewriting of an expression function does not freeze previous
- entities.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
-
-2011-09-06 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
- powerpc-wrs-vxworksae.
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * s-os_lib.ads (Spawn): Minor documentation clarification,
- Success is True for a zero exit status.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: Add message for common iterator error.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Build_Initialization_Call): If the target is a
- selected component discriminated by a current instance, replace
- the constraint with a reference to the target object, regardless
- of whether the context is an init_proc.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb: Descriptor_Size is never static.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * gnat_rm.texi: Clarify that attribute Descriptor_Size is
- non-static.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve): An expression that is the body of an
- expression function does not freeze.
-
-2011-09-06 Matthew Heaney <heaney@adacore.com>
-
- * a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
- a-cuprqu.adb: Changed copyright notice to indicate current
- year only.
-
-2011-09-06 Vincent Celier <celier@adacore.com>
-
- * prj.adb: Minor spelling error fix in comment
- * sem_res.adb: Minor reformatting
-
-2011-09-06 Pascal Obry <obry@adacore.com>
-
- * sysdep.c (winflush_nt): Removed as not needed anymore.
- (winflush_95): Likewise.
- (winflush_init): Likewise.
- (winflush_function): Likewise.
- (getc_immediate_common): Remove call to winflush_function.
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
- processing for Descriptor_Size.
- * gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
- to account for its broader usage.
- * sem_attr.adb (Analyze_Attribute): Change the error detection
- circuitry for Descriptor_Size as the attribute is now applicable
- to all types.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
- in a parameter association must not set the Referenced flag on
- the formal.
- * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * gnat_rm.texi: Add a section on attribute Descriptor_Size
-
-2011-09-06 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in (common-tools, gnatmake-re,
- gnatlink-re): Speed up by using -j0.
-
-2011-09-06 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Call
- Set_Corresponding_Aspect when creating pragma from aspect.
- (Add_Predicates): Use new field Corresponding_Aspect.
- * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
- name when present, for the purpose of issuing error messages;
- remove local procedure Error_Pragma_Arg_Alternate_Name.
- * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
- N_Pragma node.
- (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
- N_Pragma node.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Build_Heap_Allocator): Add new
- local variable Desig_Typ. Code and comment reformatting. Add
- machinery to ensure that the allocation uses a fat pointer when
- the type of the return object is a constrained array and the
- function return type is an unconstrained array.
-
-2011-09-06 Vincent Celier <celier@adacore.com>
-
- * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
- parameters in subprograms.
-
-2011-09-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-mingw.adb (Finalize_TCB): Fix typo.
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
- (System.Tasking.Primitive_Operations.Specific.Delete): Remove
- subprogram.
- (System.Tasking.Primitive_Operations.Specific.Set): If argument
- is null, destroy task specific data, to make API consistent with
- other platforms, and thus compatible with the shared version
- of s-tpoaal.adb.
- (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
- Document the above assumption.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
- variable for type of return value when return type is
- unconstrained and context is an assignment.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
- class-wide operation if expansion is not enabled.
-
-2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * checks.adb (Apply_Scalar_Range_Check): Deal with access
- type prefix.
-
-2011-09-06 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications, case
- Aspect_Invariant): Do not issue error at this point on illegal
- pragma placement, as this is checked later on when analyzing
- the corresponding pragma.
- * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
- similar to Error_Pragma_Arg, except the source name of the
- aspect/pragma to use in warnings may be equal to parameter
- Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
- message to distinguish source name of pragma/aspect, and whether
- the illegality resides in the type being public, or being private
- without a public declaration
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
- size check (fd_set is implemented differently on that platform).
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
- s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
- s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
- s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
- (ATCB_Allocation): New subpackage of
- System.Tasking.Primitive_Operations, shared across all targets
- with full tasking runtime.
- (ATCB_Allocation.New_ATCB): Moved there (from target specific
- s-taprop bodies).
- (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
- taking care of establishing a local temporary ATCB if the one
- being deallocated is Self, to avoid a reference to the freed
- ATCB in Abort_Undefer.
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
- terminated, mark it for deallocation upon termination.
- (Terminate_Task): Call Free_Task again if the task is marked
- for automatic deallocation upon termination.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
- a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
- a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
- a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
- a-intnam-solaris.ads, a-intnam-tru64.ads,
- a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
- cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
- * einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
- * par-prag.adb: Add dummy entry for pragma Implementation_Defined
- * s-rident.ads: Add new restriction No_Implementation_Identifiers
- Add new profile No_Implementation_Extensions
- * sem_prag.adb: Implement pragma Implementation_Defined Implement
- profile No_Implementation_Extensions
- * sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
- Check violation of restriction No_Implementation_Identifiers
- * snames.ads-tmpl: Add entries for pragma Implementation_Defined
- Add entry for Name_No_Implementation_Extensions
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * impunit.ads: Minor reformatting.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
-
-2011-09-06 Pascal Obry <obry@adacore.com>
-
- * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
- types.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * g-socket.adb: Minor reformatting
-
-2011-09-06 Javier Miranda <miranda@adacore.com>
-
- * ali.adb (Scan_ALI): Add missing support to load references of
- entities imported from other languages.
- * ali.ads (Xref_Record): Adding new fields to store the language and
- name of an imported entity.
- * lib-xref.adb (Output_Import_Export_Info): Fix typo
- in comment.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
- is allowed on a full type declaration if it is the completion of
- a private declarations.
- * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
- aspect is allowed on a full type declaration in the private part
- of a package.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.ads: Minor reformatting
-
-2011-09-06 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
- Guard against socket values that are not in [0;FD_SETSIZE[
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
- reformatting.
-
-2011-09-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-linux-alpha.ads: Minor reformatting
- * s-oscons-tmplt.c: Fix generated comments in s-oscons template.
- Use sizeof instead of corresponding C defines in s-oscons template.
-
-2011-09-06 Vadim Godunko <godunko@adacore.com>
-
- * a-convec.ads, a-iteint.ads: Minor reformatting.
-
-2011-09-06 Vincent Celier <celier@adacore.com>
-
- * projects.texi: Add menus and @node lines.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
- where the return type is an unconstrained array and the context
- is an assignment. Optimize the case when the target of the
- assignment is a selected component.
-
-2011-09-06 Arnaud Charlet <charlet@adacore.com>
-
- * s-solita.adb: Update comments.
-
-2011-09-06 Pascal Obry <obry@adacore.com>
-
- * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
- s-linux-sparc.ads: Remove hard coded and now wrong definitions.
- * s-oscons-tmplt.c: Add support for generating pthread related
- types size on GNU/Linux as done for Darwin.
- * s-osinte-linux.ads: Use s-oscons to define the pthread types.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb: Fix minor typo.
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb: Remove with and use clauses for Get_Targ.
- (Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
- (Double_Size_Of): Alphabetized. Update the comment on usage.
- (Make_Finalize_Address_Stmts): Update comments and reformat code.
- (Nearest_Multiple_Rounded_Up): New routine.
- (Size_Of): Update comment on usage. The generated expression now
- accounts for alignment gaps by rounding the size of the type to the
- nearest multiple rounded up of the type's alignment.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb, g-comlin.adb: Minor reformatting.
-
-2011-09-06 Steve Baird <baird@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Look through
- derived subprograms in checking for presence of an
- Extra_Accessibility_Of_Result formal parameter.
- * exp_ch6.adb (Expand_Call): Look through derived subprograms in
- checking for presence of an Extra_Accessibility_Of_Result formal
- parameter.
- (Expand_Call.Add_Actual_Parameter): Fix a bug in the
- case where the Parameter_Associatiations attribute is already set,
- but set to an empty list.
- (Needs_Result_Accessibility_Level):
- Unconditionally return False. This is a temporary
- change, disabling the Extra_Accessibility_Of_Result
- mechanism.
- (Expand_Simple_Function_Return): Check for
- Extra_Accessibility_Of_Result parameter's presence instead of
- testing Ada_Version when generating a runtime accessibility
- check which makes use of the parameter.
-
-2011-09-06 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
- expression in a given case alternative must be attached to the
- statement list of the ccrresponding case statement alternative
- They cannot be propagated ahead of the case statement, because
- the validity of the expression that generated the action may
- hold only for that alternative.
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb: Remove with and use clauses for Get_Targ.
- (Alignment_Of): Remove the code for strict alignment targets.
- (Double_Alignment_Of): Removed.
- (Double_Size_Of): New routine.
- (Make_Finalize_Address_Stmts): Change the
- calculation of the dope's size. Update relevant comments.
- (Size_Of): New routine.
-
-2011-09-06 Steve Baird <baird@adacore.com>
-
- * einfo.ads (Extra_Accessibility): Update associated comment to use
- the term "present" correctly ("present" just means that it is not
- an error to query the value of the attribute - it does not imply
- that the value must be non-null).
- (Extra_Constrained): Ditto.
- (Is_Visible_Formal): Ditto.
- (Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
- (Set_Extra_Accessibility_Of_Result): Add Inline pragma.
- * exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
- * exp_ch6.adb (Expand_Call): The callee may require an
- Extra_Accessibility_Of_Result actual parameter even if Ada_Version
- < Ada_2012. This can occur if the callee is exported from a Gnat
- runtimes unit. Also improve a comment.
-
-2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb: Add with and use clauses for Get_Targ.
- (Alignment_Of): Rename formal parameter Some_Typ
- to Typ, update related comment. Use the allocator alignment on
- strict alignment targets such as SPARC.
- (Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
- related comment.
-
-2011-09-06 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch9.adb (Check_Interfaces): Test
- Is_Limited_Type rather than Is_Limited_Record when checking that
- the partial view of a synchronized full view must be limited.
-
-2011-09-06 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Free): Fix memory leak.
-
-2011-09-06 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
-
-2011-09-06 Steve Baird <baird@adacore.com>
-
- * einfo.ads (Extra_Accessibility_Of_Result): New function; in the
- (Ada2012) cases described in AI05-0234 where the accessibility
- level of a function result is "determined by the point of
- call", an implicit parameter representing that accessibility
- level is passed in. Extra_Accessibilty_Of_Result yields this
- additional formal parameter. Extra_Accessibility_Of_Result
- is analogous to the existing Extra_Accessibility
- function used in the implementation of access parameters.
- (Set_Extra_Accessibility_Of_Result): New procedure; sets
- Extra_Accessibility_Of_Result attribute.
- * einfo.adb (Extra_Accessibility_Of_Result): New function.
- (Set_Extra_Accessibility_Of_Result): New procedure.
- (Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
- * sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
- an accessibility level literal to Natural; introduce a nested
- function, Make_Level_Literal, to do this.
- * exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
- determines whether a given function (or access-to-function
- type) needs to have an implicitly-declared accessibility-level
- parameter added to its profile.
- (Add_Extra_Actual_To_Call): Export an existing procedure which was
- previously declared in the body of Exp_Ch6.
- * exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
- it to exp_ch6.ads.
- (Has_Unconstrained_Access_Discriminants): New Function; a
- predicate on subtype entities which returns True if the given
- subtype is unconstrained and has one or more access discriminants.
- (Expand_Call): When expanding a call to a function which takes an
- Extra_Accessibility_Of_Result parameter, pass in the appropriate
- actual parameter value. In the case of a function call which is
- used to initialize an allocator, this may not be possible because
- the Etype of the allocator may not have been set yet. In this
- case, we defer passing in the parameter and handle it later in
- Expand_Allocator_Expression.
- (Expand_Simple_Function_Return): When returning from a function which
- returns an unconstrained subtype having at least one access
- discriminant, generate the accessibility check needed to ensure that
- the function result will not outlive any objects designated by its
- discriminants.
- (Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
- description.
- * exp_ch4.adb (Expand_Allocator_Expression): When a function call
- is used to initialize an allocator, we may need to pass in "the
- accessibility level determined by the point of call" (AI05-0234)
- to the function. Expand_Call, where such actual parameters are
- usually generated, is too early in this case because the Etype of
- the allocator (which is used in determining the level to be passed
- in) may not have been set yet when Expand_Call executes. Instead,
- we generate code to pass in the appropriate actual parameter
- in Expand_Allocator_Expression.
- * sem_ch6.adb (Create_Extra_Formals): Create
- the new Extra_Accessibility_Of_Result formal if
- Needs_Result_Accessibility_Level returns True. This includes the
- introduction of a nested procedure, Check_Against_Result_Level.
-
-2011-09-06 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
- declaration.
-
-2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-finmas.adb (Set_Finalize_Address): Explain the reason
- for the synchronization. Move the test for null from
- s-stposu.Allocate_Any_Controlled to this routine since the check
- needs to be protected too.
- (Set_Heterogeneous_Finalize_Address): Explain the reason for the
- synchronization code.
- * s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
- explaining the context in which this routine is used.
- * s-stposu.adb (Allocate_Any_Controlled): Move the test for null
- to s-finmas.Set_Finalize_Address.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads: Document that itypes have no parent field.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * rtsfind.adb (Check_CRT): Check for overloaded entity
- * rtsfind.ads: Document that entities to be found by rtsfind
- cannot be overloaded
- * s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
- (Lock_Entries_With_Status): New name for Lock_Entries with two
- arguments (changed to meet rtsfind no overloading rule).
-
-2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-finmas.adb (Set_Finalize_Address (Address,
- Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
- (Set_Finalize_Address (in out Finalization_Master,
- Finalize_Address_Ptr): Add synchronization code.
- * s-finmas.ads (Set_Finalize_Address (Address,
- Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
- * s-stposu.adb (Allocate_Any_Controlled): Update the call to
- Set_Finalize_Address for the heterogeneous case.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb: Undo previous change, not suitable after all.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads: Minor comment clarification.
-
-2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
- no longer needs to search through the entities of the return
- statement scope to find the _chain.
- * sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
- (Analyze_Block_Statement): Add local variable
- Is_BIP_Return_Statement. Add machinery to install all entities
- produced by the expansion of the return object declaration.
- (Install_Return_Entities): New routine.
- * sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_Context): Apply simple fixup if context
- of subunit is incomplete.
- (Analyze_Proper_Body): If parent spec is not available, do not
- attempt analysis.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Find_Controlling_Arg): Add checks for
- interface type conversions, that are expanded into dereferences.
-
-2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
- Examine the parameter and return profile of a subprogram and swap
- any incomplete types coming from a limited context with their
- corresponding non-limited views.
- (Exchange_Limited_Views): New routine.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
- of internal entity to the subtype declaration, so that when
- entities are subsequently exchanged in a package body, the tree
- remains properly formatted for ASIS.
-
-2011-09-05 Johannes Kanig <kanig@adacore.com>
-
- * g-comlin.adb (Set_Usage): Additional optional argument to set help
- message.
- (Display_Help): display the user given help message, if available.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
- is legal if the original node is an identifier that is a
- parameterless function call.
-
-2011-09-05 Pascal Obry <obry@adacore.com>
-
- * prj-nmsc.adb: Minor reformatting.
- Add support for standalone aggregate library.
- (Check_Stand_Alone_Library): Handle standalone aggregate library.
- * projects.texi: Fix documentation for aggregate library projects.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb: Minor reformatting.
-
-2011-09-05 Matthew Gingell <gingell@adacore.com>
-
- * s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
- stack guard page on PPC Linux. This patch ensures the 64K guard page at
- the bottom of the stack is not overwritten.
-
-2011-09-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_intr.adb, s-tasini.adb: Minor reformatting.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Definition): If an access type declaration
- appears in a child unit, the scope of whatever anonymous type
- may be generated is the child unit itself.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): Do not set
- Comes_From_Source on rewritten body.
- (Analyze_Subprogram_Body_Helper): Check that the original node for
- the body comes from source, when determining whether expansion
- of a protected operation is needed.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Replace_Type): If the target of the assignment is
- a selected component and the right-hand side is a self-referential
- access, the proper prefix of the rewritten attribute is a copy
- of the left-hand side, not of its prefix.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb: Minor reformatting.
- * sem_ch3.adb: Minor code clean up.
-
-2011-09-05 Jose Ruiz <ruiz@adacore.com>
-
- * exp_ch9.adb (Make_Initialize_Protection): The fact that
- restriction No_Dynamic_Attachment is in effect or not should
- not influence the default priority associated to a protected
- object. With this change, when the restriction is in effect (as
- is the case for the Ravenscar profile) the default priority of
- a protected object with an interrupt handler is in the range of
- interrupt priorities (Default_Interrupt_Priority) as required
- by D.3(10).
-
-2011-09-05 Arnaud Charlet <charlet@adacore.com>
-
- * a-iteint.ads: Fix header.
-
-2011-09-05 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
- with a directory separator to avoid output such as:
- "/path/to/objauto.cgpr" has been deleted.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: Better error message.
-
-2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_aggr.adb: Add with and use clause for Exp_Ch6.
- (Expand_Array_Aggregate): Detect a special case of an aggregate
- which contains tasks in the context of an unexpanded return
- statement of a build-in-place function.
- * exp_ch6.adb: Add with and use clause for Exp_Aggr.
- (Expand_N_Extended_Return_Statement): Detect a delayed aggregate
- which contains tasks and expand it now that the original simple
- return statement has been rewritten.
- * exp_ch9.adb (Build_Activation_Chain_Entity): Code
- reformatting. Do not create a chain for an extended return
- statement if one is already available.
- (Has_Activation_Chain): New routine.
-
-2011-09-05 Marc Sango <sango@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): Remove
- the wrong test and add the correct test to detect the violation
- of illegal use of unconstrained string type in SPARK mode.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Specification): Improve error
- message on an iterator over an array.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * lib-xref-alfa.adb: Minor reformatting.
-
-2011-09-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
- exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
-
-2011-09-05 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch7.adb, exp_ch6.adb: Minor reformatting.
-
-2011-09-05 Johannes Kanig <kanig@adacore.com>
-
- * lib-xref-alfa.adb: Update comments.
-
-2011-09-05 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb: Minor reformatting
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
- present, create them now. Needed in case the return type was
- a limited view in the function declaration.
- (Make_Build_In_Place_Call_In_Allocator): If return type contains
- tasks, build the activation chain for it. Pass a reference to
- the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
- * exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
- with build_in_place calls.
- * sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
- incomplete, inatialize its Corresponding_Record_Type component.
- * sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
- of limited views.
-
-2011-09-05 Johannes Kanig <kanig@adacore.com>
-
- * lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
- information.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
- appears within a package specification and the token after "IS"
- is not a parenthesis, assume that this is an unparenthesized
- expression function, even if the token appears in a line by
- itself.
- * par.adb: Clarify use of Labl field of scope stack in error
- recovery.
-
-2011-09-05 Bob Duff <duff@adacore.com>
-
- * sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
- conversions instead of normal type conversions in all cases where a
- type conversion would be illegal. In particular, use unchecked
- conversions when the operand types are private.
-
-2011-09-05 Johannes Kanig <kanig@adacore.com>
-
- * lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
- objects of task type or protected type.
-
-2011-09-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Expression_Function): If the expression
- function comes from source, indicate that so does its rewriting,
- so it is compatible with any subsequent expansion of the
- subprogram body (e.g. when it is a protected operation).
- * sem_ch4.adb: minor reformatting
-
-2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
- Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
- may lead to wrong ancestor package in the case of instantiated subunit
- bodies. If a subunit is instantiated, follow the chain of instantiations
- rather than the stub structure.
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch4.adb, sem_ch6.adb: Minor reformatting.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-09-02 Marc Sango <sango@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): Change
- comment and add additional check to differentiate constant of
- type string from others unconstrained type.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
- present in incomplete type declarations to refine the error
- message the full declaration is in the same unit.
- * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
- an incomplete type, set the Premature_Use for additional message.
- * sem_ch3.adb (Find_Type_Name): If partial view is incomplete
- and Premature_Use is set, place additional information at the
- point of premature use.
-
-2011-09-02 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb: (Check_Post_State): Suppress warning
- "postcondition refers only to pre-state" when the expression has not
- yet been analyzed, because it causes false alarms. This can happen when
- the postcondition contains a quantified expression, because those are
- analyzed later. This is a temporary/partial fix.
- (Process_Post_Conditions): Minor: change wording of warning.
-
-2011-09-02 Marc Sango <sango@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
- illegal use of unconstrained string type in SPARK mode.
- * sem_res.adb (Analyze_Operator_Symbol): Set the
- right place where the string operand of concatenation should be
- violate in SPARK mode.
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
- exp_ch3.adb: Minor reformatting.
-
-2011-09-02 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
- as the compiler driver so Is_Compilable returns True for sources.
- * prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
- for the body.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
- condition, a reference to a controlling formal must be interpreted
- as having the class-wide type (or an access to such) so that the
- inherited condition can be properly applied to any overriding
- operation (see ARM12 6.6.1 (7)).
-
-2011-09-02 Tristan Gingold <gingold@adacore.com>
-
- * init.c (__gnat_is_vms_v7): Fix case and add prototype
- for LIB$GETSYI.
-
-2011-09-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
- initializing expression of a class-wide interface object declaration
- if its type is limited.
-
-2011-09-02 Johannes Kanig <kanig@adacore.com>
-
- * sem_util.adb (Unique_Name): To obtain a unique name for enumeration
- literals, take into account the type name; the type is *not*
- the scope for an enumeration literal.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Check_Overriding_Indicator): add special check
- to reject an overriding indicator on a user-defined Adjust
- subprogram for a limited controlled type.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): add missing call to Resolve
- for an actual that is a function call returning an unconstrained
- limited controlled type.
-
-2011-09-02 Tristan Gingold <gingold@adacore.com>
-
- * g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
-
-2011-09-02 Johannes Kanig <kanig@adacore.com>
-
- * alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
- from "HEAP" to __HEAP Change comment that refers to that variable
- * put_alfa.adb: Change comment that refers to that variable
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
-
-2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Extract_Renamed_Object): Renamed to
- Find_Renamed_Object. This routine has been reimplemented and now uses
- tree traversal to locate a renamed object.
- (Is_Aliased): Replace call to Extract_Renamed_Object with
- Find_Renamed_Object.
-
-2011-09-02 Tristan Gingold <gingold@adacore.com>
-
- * init.c: (__gnat_is_vms_v7): New function.
-
-2011-09-02 Olivier Hainque <hainque@adacore.com>
-
- * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
- that have a misaligned backchain, necessarily bogus.
-
-2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
- TSS routine Finalize_Address when compiling in Alfa mode.
- (Expand_Freeze_Record_Type): Do not create TSS routine
- Finalize_Address when compiling in Alfa mode.
- * exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
- call to Set_Finalize_Address in Alfa mode because Finalize_Address is
- not built.
- (Expand_N_Allocator): Do not produce a call to
- Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
- produce a call to primitive Set_Finalize_Address in Alfa mode because
- Finalize_Address is not built.
- * exp_ch7.adb (Build_Finalization_Master): Do not create
- finalization masters in Afa mode since they are not needed.
- (Build_Finalizer): Do not create scope and library-level
- finalizers in Alfa mode since they are not needed.
- * exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
- "new" and "free" when applied to controlled objects in Alfa mode since
- this is not needed.
-
-2011-09-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
- only library names with the syntax of Ada identifiers, to avoid errors
- when compiling the binder generated files.
- * projects.texi: Document restriction on SAL library names
-
-2011-09-02 Thomas Quinot <quinot@adacore.com>
-
- * a-chtgbo.adb: Minor comment fix.
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * lib-xref.adb: Minor reformatting
-
-2011-09-02 Vincent Celier <celier@adacore.com>
-
- * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
- gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
- --version and --help in usage.
- * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
-
-2011-09-02 Bob Duff <duff@adacore.com>
-
- * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
- compilers don't understand it.
-
-2011-09-02 Gary Dismukes <dismukes@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
- underlying subtype rather than its base type on the call to
- Build_Record_Or_Elementary_Input_Function, so that any
- constraints on a discriminated subtype will be available for
- doing the check required by AI05-0192.
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
- If the prefix subtype of the 'Input attribute is a constrained
- discriminated subtype, then check each constrained discriminant value
- against the corresponding value read from the stream.
-
-2011-09-02 Yannick Moy <moy@adacore.com>
-
- * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
- warnings on suspicious contracts, and enable them with -gnatwa.
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
- reformatting.
-
-2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
- which ensure that restriction No_Dynamic_Attachment has not been
- violated.
- (Make_Initialize_Protection): Protected types with attach or
- interrupt handlers must not violate restriction No_Dynamic_Attachment.
- * exp_util.adb (Corresponding_Runtime_Package): Add a guard
- which ensures that restriction No_Dynamic_Attachment has not been
- violated.
- * sem_attr.adb: (Eval_Attribute): Transform
- VAX_Float_Type'First and 'Last into references to
- the temporaries which store the corresponding bounds. The
- transformation is needed since the back end cannot evaluate
- 'First and 'Last on VAX.
- (Is_VAX_Float): New routine.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
- generic unit is not intrinsic and has an explicit convention,
- the instance inherits it.
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
- prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
-
-2011-09-02 Thomas Quinot <quinot@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
- Guard against a prefix that is an N_Has_Entity but has no
- associated entity.
-
-2011-09-02 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
- references.
-
-2011-09-02 Yannick Moy <moy@adacore.com>
-
- * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
- * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
- contracts.
- * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
- procedure looking for suspicious postconditions.
- * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
- * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
- options -gnatw.t and -gnatw.T.
-
-2011-09-02 Pascal Obry <obry@adacore.com>
-
- * prj.adb: Minor code refactoring. Move check for null project in
- Project_Changed.
- * projects.texi: Fix minor typos.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
- of iteration is an expression, its value must be captured in a
- renaming declaration, so that modification of the elements is
- propagated to the original container.
-
-2011-09-02 Pascal Obry <obry@adacore.com>
-
- * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
- prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
- prj-tree.adb: Minor reformatting and style fixes.
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * s-rident.ads: Add new restriction No_Implicit_Aliasing
- * sem_attr.adb: (Analyze_Access_Attribute): Deal with
- No_Implicit_Aliasing
- (Analyze_Attribute, case Address): ditto
- (Analyze_Attribute, case Unrestricted_Access): ditto
- * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
- No_Implicit_Aliasing restriction.
- * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
- is an unchecked conversion, apply test to its expression.
-
-2011-09-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Check_Abstract_Overriding): When
- traversing the chain of aliased subprograms avoid reporting a
- redundant error on the current entity.
-
-2011-09-02 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Minor clean up.
-
-2011-09-02 Bob Duff <duff@adacore.com>
-
- * s-htable.adb (Set_If_Not_Present): Use renaming
- instead of ":=", because the type Key is limited in the generic (even
- if not in the instances).
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
- g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
- reformatting.
-
-2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
- inherited component with the enclosing derived type. Code reformatting.
-
-2011-09-02 Gary Dismukes <dismukes@adacore.com>
-
- * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
- return done when overflow checks are enabled, since comparisons against
- Lor and Hir should not be done when OK1 is False.
-
-2011-09-02 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
- Add new formal Master_Exp. When present, add that expression to the
- call as an extra actual.
- (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
- Fmaster_Actual and in the case of a BIP call initializing a return
- object of an enclosing BIP function set it to a
- new reference to the implicit finalization master
- formal of the enclosing function. Fmaster_Actual is
- then passed to the new formal Master_Exp on the call to
- Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
- initializations of Enclosing_Func to its declaration.
-
-2011-09-02 Thomas Quinot <quinot@adacore.com>
-
- * csets.ads: Minor reformatting
-
-2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
- the full view of a private type coming from an instantiation.
- * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
- loop to iterate over the declarations rather than use the
- First_Entity / Next_Entity scheme.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
- X'range (N) into X'First (N) .. X'Last (N), do not share the
- dimension indicator N, if present. Even though it is a static
- constant, its source location may be modified when printing
- expanded code under -gnatDL, and node sharing will lead to chaos
- in Sprint on large files, by generating a sloc value that does
- not correspond to any source file.
-
-2011-09-02 Bob Duff <duff@adacore.com>
-
- * einfo.adb: (Has_Xref_Entry): Do not call
- Implementation_Base_Type. Lib.Xref has been
- rewritten to avoid the need for it, and it was costly.
- * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
- functions in support of efficient xref.
- * lib-xref-alfa.adb: Misc changes related to Key component of
- type Xref_Entry.
- * lib-xref.adb: (Add_Entry,etc): Speed improvement.
- (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
- no longer does. This is the one place where it is needed.
-
-2011-09-02 Johannes Kanig <kanig@adacore.com>
-
- * g-comlin.adb (Getopt): New optional argument Concatenate to have
- similar interface as the other Getopt function.
-
-2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
- a call to Set_Finalize_Address if there is no allocator available.
- * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
- a case of allocator expansion where the allocator is not expanded but
- needs a custom allocate routine. Code reformatting.
- (Is_Finalizable_Transient): Remove local variables Has_Rens and
- Ren_Obj. Code reformatting.
- (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
- through the use of 'reference.
- * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
- as part of build-in-place expansion. They are intentionally marked as
- coming from source, but their parents are not.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause): If the library unit
- is the generated subprogram declaration for a child unit body
- that acts as spec, use the original body in the with_clause,
- to prevent binding errors.
-
-2011-09-02 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
- qualifier /MULTI_UNIT_INDEX=
-
-2011-09-02 Johannes Kanig <kanig@adacore.com>
-
- * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
- instead of calling the callback function
-
-2011-09-02 Robert Dewar <dewar@adacore.com>
-
- * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
- prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
-
-2011-09-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb: (Find_Sources): When the list of sources is
- explicitly declared in an extending project, do not warn if a source
- for an inherited naming exception is not found.
-
-2011-09-02 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
- expansion is inactive.
-
-2011-09-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (Note_Possible_Modification): If the entity
- being modified is the renaming generated for an Ada2012 iterator
- element, the enclosing container or array is modified as well.
-
-2011-09-02 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
- Initialize): Define and initialize the
- mutex attributes and condition variable attributes locally.
-
-2011-09-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
- exception replaced in an extending project.
- (Check_Object): No error when the other source is locally removed.
-
-2011-09-02 Yannick Moy <moy@adacore.com>
-
- * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
- unresolved calls.
-
-2011-08-31 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
- run-time files.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
-
-2011-09-01 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.h (__gnat_cpu_free): Fix the name of this profile.
- * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
- __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
- specific for systems where their glibc version does not define the
- routines to handle dynamically allocated CPU sets.
-
-2011-09-01 Vincent Celier <celier@adacore.com>
-
- * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
- prj-env.adb: Implement inheritance of naming exceptions in extending
- projects.
-
-2011-09-01 Romain Berrendonner <berrendo@adacore.com>
-
- * gnatls.adb: Display simple message instead of content of
- gnatlic.adl.
-
-2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
- access discriminant and anonymous access component scopes.
- (Inherit_Component): Reuse the itype of an access discriminant
- or anonymous access component by copying it in order to set the proper
- scope. This is done only when the parent and the derived type
- are in different scopes.
- (Set_Anonymous_Etype): New routine.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * a-convec.adb: Minor reformatting throughout.
-
-2011-09-01 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
- __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
- CPU_ALLOC_SIZE and CPU_FREE linux macros.
- (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
- CPU_SET_S respectively because we are now using dynamically allocated
- CPU sets which are more portable across different glibc versions.
- * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
- CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
- masks dynamically according to the number of processors in the target
- platform.
- (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
- respectively, so we need to pass the size of the masks as
- parameters.
- * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
- created cpu_set_t masks
- with the number of processors available in the target platform,
- instead of static bit arrays. It enhances portability because
- it uses the information from the target platform.
- * sem_ch8.adb: (Attribute_Renaming): When checking whether we
- are using a restricted run-time library, use the flag
- Configurable_Run_Time_Mode instead of Restricted_Profile.
-
-2011-09-01 Vincent Celier <celier@adacore.com>
-
- * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
- * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
-
-2011-09-01 Nicolas Roche <roche@adacore.com>
-
- * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
- on VxWorks in kernel mode.
-
-2011-09-01 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
- macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
- directly the bit array.
- * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
- the linux macros with the same name.
- * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
- wrappers around the CPU_ZERO and CPU_SET linux macros.
-
-2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Find_Insertion_List): Removed.
- (Process_Transient_Objects): Insert the declarations of the hook
- access type and the hook object before the associated transient object.
-
-2011-09-01 Jose Ruiz <ruiz@adacore.com>
-
- * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
- package System.Aux_Dec when using restricted run-time libraries which
- do not have this package.
-
-2011-09-01 Tristan Gingold <gingold@adacore.com>
-
- * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
-
-2011-09-01 Bob Duff <duff@adacore.com>
-
- * sem_attr.adb (Analyze_Access_Attribute): Do not call
- Kill_Current_Values for P'Unrestricted_Access, where P is library level
-
-2011-09-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb: Minor reformatting
- * gnat_ugn.texi: Fix minor typos.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * inline.adb, sem_aggr.adb: Minor reformatting.
-
-2011-09-01 Ed Schonberg <schonberg@adacore.com>
-
- * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
-
-2011-09-01 Bob Duff <duff@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
- body" the same as "in inlined body", because visibility shouldn't
- apply there.
-
-2011-09-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Add_Inlined_Body): Refine previous change.
-
-2011-09-01 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
- Test for case where call
- initializes an object of a return statement before testing for
- a constrained call, to ensure that all such cases get handled
- by simply passing on the caller's parameters. Also, in that
- case call Needs_BIP_Alloc_Form to determine whether to pass on
- the BIP_Alloc_Form parameter of the enclosing function rather
- than testing Is_Constrained. Add similar tests for the return
- of a BIP call to later processing to ensure consistent handling.
- (Needs_BIP_Alloc_Form): New utility function.
- * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
- a BIP_Alloc_Form formal with call to new utility function
- Needs_BIP_Alloc_Form.
-
-2011-09-01 Pascal Obry <obry@adacore.com>
-
- * prj-part.adb: Minor reformatting.
-
-2011-09-01 Vincent Celier <celier@adacore.com>
-
- * prj-env.adb (Create_Mapping_File.Process): Encode the upper
- half character in the unit name.
-
-2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb: Minor code and comment reformatting.
-
-2011-09-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
- for Is_Limited_Type and Is_Tagged_Type in condition checking
- for by-reference type.
- * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
- subprograms may have a completion because of a previous
- Inline_Always clause, but the enclosing package must be marked
- inlined for the subprogram body to become visible to the backend.
-
-2011-09-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_aux.adb, exp_ch4.adb: Minor reformatting
-
-2011-09-01 Pascal Obry <obry@adacore.com>
-
- * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
-
-2011-09-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
- the formals of a subprogram stub that acts as a spec.
-
-2011-09-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
- type, declare a renaming for it, not an object declaration.
-
-2011-09-01 Yannick Moy <moy@adacore.com>
-
- * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
- Ignore_Errors to ignore failures to read ALI files when True.
-
-2011-09-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
- constructor calls associated with non-tagged record types.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * g-socthi-vms.adb: Minor reformatting.
-
-2011-09-01 Nicolas Roche <roche@adacore.com>
-
- * sysdep.c: Don't use macro functions for stdio functions on VxWorks
- in order to avoid impact of imcompatible changes.
- * cstreams.c: Likewise
- * cio.c: Likewise
- * aux-io.c: Likewise
-
-2011-09-01 Yannick Moy <moy@adacore.com>
-
- * lib-writ.adb (Write_With_Lines): Always output complete information
- on "with" line in Alfa mode, as this is required by formal verification
- back-end.
-
-2011-09-01 Tristan Gingold <gingold@adacore.com>
-
- * g-socthi-vms.adb: Add comments.
-
-2011-09-01 Pascal Obry <obry@adacore.com>
-
- * prj.ads: Minor reformatting.
-
-2011-09-01 Vincent Celier <celier@adacore.com>
-
- * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
- exceptions in the config pragmas file.
-
-2011-09-01 Tristan Gingold <gingold@adacore.com>
-
- * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
-
-2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Find_Insertion_List): New routine.
- (Process_Transient_Objects): Add code to handle the abnormal
- finalization of a controlled transient associated with a subprogram
- call. Since transients are cleaned up right after the associated
- context, an exception raised during a subprogram call may bypass the
- finalization code.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
- aliased.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb, a-exexda.adb: Minor reformatting.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
-
-2011-09-01 Thomas Quinot <quinot@adacore.com>
-
- * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
- GNATRTL_NONTASKING_OBJS.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads (Is_Aliased): Fix existing documentation and add note on
- possibility of this flag being set for formals in Ada 2012 mode.
- * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
- 2012.
- * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
- mode.
- * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
- Ada 2012.
- * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
- Ada 2012.
-
-2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
- insertion node in a tree of nested Expression_With_Actions nodes.
- (Process_Transient_Object): In the case where a complex if statement
- has been converted into nested Expression_With_Actions nodes, the
- "hook" object and the associated access type must be inserted before
- the top most Expression_With_Actions.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
- a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
-
-2011-09-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
-
-2011-09-01 Jose Ruiz <ruiz@adacore.com>
-
- * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
- aspect.
- * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
- in a similar way as we do for the Priority or Dispatching_Domain aspect.
- * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
- Dispatching_Domains_Frozen): Move this local data to package
- System.Tasking because with the CPU aspect we need to have access
- to this data when creating the task in System.Tasking.Stages.Create_Task
- * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
- Move these variables from the body of
- System.Multiprocessors.Dispatching_Domains because with the CPU aspect
- we need to have access to this data when creating the task in
- System.Tasking.Stages.Create_Task.
- * s-taskin.adb (Initialize): Signal the allocation of the environment
- task to a CPU, if any, so that we know whether the CPU can be
- transferred to a different dispatching domain.
- * s-tassta.adb (Create_Task): Check whether the CPU to which this task
- is being allocated belongs to the dispatching domain where the task
- lives. Signal the allocation of the task to a CPU, if any, so that we
- know whether the CPU can be transferred to a different dispatching
- domain.
-
-2011-09-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
- attributes Same_Storage and Overlaps_Storage.
-
-2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_strm.adb: Remove with and use clause for Opt.
- (Build_Array_Input_Function): Remove the version-dependent generation
- of the return statement. The Ada 2005 tree is now the default.
-
-2011-09-01 Yannick Moy <moy@adacore.com>
-
- * put_alfa.adb: Unconditionnally write files in Alfa section, so that
- it is never empty when compiling in Alfa mode.
-
-2011-09-01 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
- comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
- s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
- gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
-
-2011-09-01 Matthew Heaney <heaney@adacore.com>
-
- * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
- a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
- * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
- * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
- unbounded queue container.
- * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
- bounded queue container.
- * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
- unbounded priority queue container.
- * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
- bounded priority queue container.
-
-2011-08-31 Pascal Obry <obry@adacore.com>
-
- * a-direct.adb: Do not try to create an UNC path on Windows.
- (Create_Path): Skip leading computer name in UNC path if any.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
- version-dependent generation of the return statement. The Ada 2005 tree
- is now the default.
-
-2011-08-31 Thomas Quinot <quinot@adacore.com>
-
- * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
- types Stream_Element_Offset and Storage_Offset have a different native
- type depending on whether the platform is 32 or 64 bits. When
- exchanging them, always convert to 64 bits.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
- --force-alfa to gnat2why.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Save_References): If the node has aspects, save
- references within the corresponding expressions in a separate step,
- because the aspects are not directly in the tree for the declaration
- to which they belong.
-
-2011-08-31 Arnaud Charlet <charlet@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Omit test on variable size component
- in CodePeer mode, since representation clauses are partially ignored.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-31 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
- s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
- to any dispatching domain.
-
-2011-08-31 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb: Minor reformatting.
-
-2011-08-31 Bob Duff <duff@adacore.com>
-
- * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
- on nodes for which it is not defined.
- (Is_Non_Overriding_Operation): Exit the loop when we find a generic
- parent type.
-
-2011-08-31 Bob Duff <duff@adacore.com>
-
- * sem_ch3.adb (Process_Full_View): Disable legality check if
- In_Instance, to avoid spurious errors.
- * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
- if In_Instance, to avoid spurious errors.
-
-2011-08-31 Pascal Obry <obry@adacore.com>
-
- * a-direct.adb: Use Dir_Seps everywhere to properly handle all
- directory speparators.
- (Compose): Use Dir_Seps to handle both forms.
- (Create_Path): Use Dir_Seps instead of explicit check, no semantic
- changes.
- (Extension): Use Dir_Seps to handle both forms.
-
-2011-08-31 Pascal Obry <obry@adacore.com>
-
- * prj-conf.adb: Minor reformatting.
-
-2011-08-31 Jose Ruiz <ruiz@adacore.com>
-
- * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
- dispatching domain aspect.
- * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
- aspect.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
- Dispatching_Domain aspect in a similar way as we do for the Priority
- aspect.
- * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
- Dispatching_Domain component if a Dispatching_Domain pragma or aspect
- is present.
- (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
- * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
- * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
- Dispatching_Domain and add it to the task definition.
- (Sig_Flags): Add Pragma_Dispatching_Domain.
- * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
- support to find the types Dispatching_Domain and
- Dispatching_Domain_Access.
- * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
- Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
- query the availability of a pragma Dispatching_Domain.
- * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
- the expander to pass the Dispatching_Domain when creating a task.
- (Name_Dispatching_Domain): Add this new name for a pragma.
- (Pragma_Id): Add the new Pragma_Dispatching_Domain.
- * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
- task has been allocated at creation time.
- * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
- Ravenscar is always null.
- * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
- the task has been allocated at creation time.
- * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
- a specific dispatching domain.
- * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
- s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
- and CPU are specified for the task, and the CPU value is not contained
- within the range of processors for the domain.
-
-2011-08-31 Vincent Celier <celier@adacore.com>
-
- * make.adb (Original_Gcc) : New constant String_Access.
- (Gnatmake): For VM targets, do not use VM version of the compiler if
- --GCC= has been specified.
-
-2011-08-31 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch5.adb: Minor reformatting.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
- not reanalyze it.
-
-2011-08-31 Bob Duff <duff@adacore.com>
-
- * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
- the access type is private; we don't care about privacy in expansion.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
- subcomponents tnat may be limited, because they originate in view
- conflicts. If the original aggregate is legal and the actuals are
- legal, the aggregate itself is legal.
-
-2011-08-31 Matthew Heaney <heaney@adacore.com>
-
- * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
- status.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
- errors in B tests.
-
-2011-08-31 Jose Ruiz <ruiz@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
- Interrupt_Priority aspects, force the analysis of the aspect expression
- (when building the equivalent pragma). Otherwise, its analysis is done
- too late, after the task or protected object has been created.
- * sem_ch9.adb (Analyze_Single_Protected_Declaration,
- Analyze_Single_Task_Declaration): Remove the code to move the aspects
- to the object declaration because they are needed in the type
- declaration.
-
-2011-08-31 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
- a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
- reformatting.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Find_Protection_Type): Do not look for fields _object
- if the corresponding type is malformed due to restriction violations.
-
-2011-08-31 Robert Dewar <dewar@adacore.com>
-
- * s-ransee.ads, s-ransee.adb: Minor reformatting.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
- would cause the generation of Set_Finalize_Address if the target is a
- VM and the designated type is not derived from [Limited_]Controlled.
-
-2011-08-31 Arnaud Charlet <charlet@adacore.com>
-
- * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
- subprogram.
- (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
- case of a compilation error.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * init.c (__gnat_error_handler): Standardize the stack overflow or
- erroneous memory access message.
- * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
- or erroneous memory access message.
-
-2011-08-31 Robert Dewar <dewar@adacore.com>
-
- * sem_ch4.adb: Minor reformatting.
- * sem_ch6.adb: Minor code reorganization (use Ekind_In).
-
-2011-08-31 Thomas Quinot <quinot@adacore.com>
-
- * scos.ads: Minor documentation clarification.
- * put_scos.adb: Do not generate SCO unit header line for a unit that
- has no SCO lines.
-
-2011-08-31 Robert Dewar <dewar@adacore.com>
-
- * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
-
-2011-08-31 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
- hold variables between these following subprograms.
- (Build_Exception_Handler, Build_Object_Declarations,
- Build_Raise_Statement): Use the above type as parameter.
- Make the above adjustments.
- * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
-
-2011-08-31 Pascal Obry <obry@adacore.com>
-
- * projects.texi: Minor reformatting.
-
-2011-08-31 Tristan Gingold <gingold@adacore.com>
-
- * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
- * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb: Minor code cleanup.
- * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
- prevent cascaded errors.
- (Analyze_Loop_Statement): In semantics-only mode, introduce loop
- variable of an iterator specification in current scope.
- * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
- postconditions on the stack, as they contain no return statements.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
- Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
- call Qualify_Entity_Names.
- (Expand_Alfa): call Qualify_Entity_Names in more cases
- * lib-xref-alfa.adb: Take into account system package.
- * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
- CodePeer mode in which we are interested in finding bugs even if
- compiler cannot compile source.
- * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
- deferred constant.
-
-2011-08-31 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
- denoted by the subtype mark to ensure getting the concurrent type in
- the case where the subtype mark denotes a private subtype of a
- concurrent type (needed when using -gnatc).
- (Process_Subtype): For the processing specific to type kinds, case on
- the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
- subtype denotes a private subtype whose base type is nonprivate (needed
- for subtypes of private fulfilled by task types when compiling with
- -gnatc).
-
-2011-08-31 Gary Dismukes <dismukes@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
- late primitives that override interface operations when the full
- expander is not active, to avoid blowups in Register_Primitive when
- types don't have associated secondary dispatch tables.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * alfa_test.adb: Code clean up.
-
-2011-08-31 Marc Sango <sango@adacore.com>
-
- * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
- by Comes_From_Source (Original_Node (N)) in order to treat also the
- nodes which have been rewritten.
- * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
- explicit dereference and slice violation in spark mode on the nodes
- coming only from the source code.
-
-2011-08-31 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
- lib-xref-alfa.adb: Minor reformatting.
-
-2011-08-31 Matthew Heaney <heaney@adacore.com>
-
- * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
-
-2011-08-31 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
- only for class-wide subprograms conflicting with entities of concurrent
- tagged types.
-
-2011-08-31 Matthew Heaney <heaney@adacore.com>
-
- * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
- node to null value.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
- general description of the routine.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
- doubly-linked lists.
-
-2011-08-31 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
- check is needed for a left-hand side that is a dereference, and the
- base type is private without discriminants (whereas the full type does
- have discriminants), an extra retrieval of the underlying type may be
- needed in the case where the subtype is a record subtype whose base
- type is private. Update comments.
-
-2011-08-31 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
- found check if there is a class-wide subprogram covering the primitive.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb: Further cases where full expansion test is needed,
- rather than expansion test.
-
-2011-08-31 Pascal Obry <obry@adacore.com>
-
- * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb: Handle iterators over derived container types.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
- (Has_Anonymous_Master): New routine.
- (Set_Has_Anonymous_Master): New routine.
- (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
- * exp_ch4.adb: Add with and use clause for Sem_Ch8.
- (Current_Anonymous_Master): New routine.
- (Current_Unit_First_Declaration): Removed.
- (Current_Unit_Scope): Removed.
- (Expand_N_Allocator): Anonymous access-to-controlled types now chain
- their objects on a per-unit heterogeneous finalization master.
-
-2011-08-31 Matthew Heaney <heaney@adacore.com>
-
- * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
- array.
-
-2011-08-31 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
- when not needed.
-
-2011-08-31 Gary Dismukes <dismukes@adacore.com>
-
- * sem_disp.adb (Propagate_Tag): Return without propagating in the case
- where the actual is an unexpanded call to 'Input.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * sem_ch4.adb: Code clean up.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
- and TSS primitive Finalize_Address if finalization is suppressed.
- (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
- primitive Finalize_Address if finalization is suppressed.
-
-2011-08-31 Jose Ruiz <ruiz@adacore.com>
-
- * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
- s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
- sure that the underlying task has already been created before trying
- to change its affinity.
- (Set_CPU): Use the term processor instead of CPU, as we do in
- Assign_Task.
-
-2011-08-31 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: New Compiler attribute Source_File_Switches.
- * prj-nmsc.adb (Process_Compiler): Process attribute
- Source_File_Switches.
- * prj.ads (Language_Config): New name list component
- Name_Source_File_Switches.
- * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
-
-2011-08-31 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
- discriminated component of an actual, expand at once to prevent
- ouf-of-order references with generated subtypes.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
- reference to operator in Alfa xrefs.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
- where the parent instance was frozen before the current instance due to
- the presence of a source body. Update calls to Insert_After_Last_Decl.
- (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
- Update the comment which illustrates the purpose of the routine.
- Package instances are now frozen by source bodies which appear after
- the instance. This ensures that entities coming from within the
- instance are available for use in the said bodies.
- (Install_Body): Add code to handle the case where the parent instance
- was frozen before the current instance due to the presence of a source
- body. Update calls to Insert_After_Last_Decl.
-
-2011-08-31 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
- access types.
- * affinity.c (__gnat_set_affinity_mask): Declare index variable.
-
-2011-08-31 Yannick Moy <moy@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
- full-expander test.
- * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
- errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
- freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
- lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
- opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
- sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
- sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
- ALFA in Alfa (we dropped acronym).
- * einfo.adb (Primitive_Operations): Correctly return list of primitive
- operations in a case where it returned previously No_Elist.
-
-2011-08-31 Robert Dewar <dewar@adacore.com>
-
- * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
- s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
- sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
- s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
- s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
- s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
- reformatting.
-
-2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12 (Check_Private_View): Revert previous change.
- * sem_res.adb (Conversion_Check): Do not emit the error message if the
- conversion is in a generic instance.
-
-2011-08-31 Matthew Heaney <heaney@adacore.com>
-
- * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
- * a-chtgbo.adb (Free): Allow 0 as index value.
-
-2011-08-31 Matthew Heaney <heaney@adacore.com>
-
- * a-cborma.adb (Insert): Add comment to explain why no element
- assignment.
-
-2011-08-31 Gary Dismukes <dismukes@adacore.com>
-
- * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
- spec discriminant is already a concurrent type, in which case just use
- it, otherwise fetch the Corresponding_Concurrent_Type as before.
-
-2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
- system-linux-mips.ads, system-linux-mipsel.ads,
- system-linux-mips64el.ads, system-linux-ppc64.ads,
- system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
-
-2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
- * gcc-interface/utils2.c (build_binary_op): Tighten condition.
- (build_unary_op): Likewise.
-
-2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * raise-gcc.c: Do not include coretypes.h and tm.h.
- (setup_to_install): Remove test for compiler macro.
- * targext.c: Document use for the library.
- * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
-
-2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
- the expression to the nominal type if the latter is a record type with
- a variant part and the type of the former is a record type without one.
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
- expansion in Alfa mode.
- * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
- * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
- Alfa mode.
- * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
- * sem_res.adb: Ditto.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-30 Thomas Quinot <quinot@adacore.com>
-
- * g-socket.ads: Minor documentation adjustment.
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
- exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
- exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
- gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
- Revert change which introduced files for "light"
- expansion, to be replaced by a single file for Alfa expansion.
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
- Minor code reorg/reformatting.
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * opt.adb, opt.ads (Full_Expander_Active): New function defines a
- common shorthand for (Expander_Active and not ALFA_Mode) that can be
- used for testing full expansion, that is active expansion not in the
- reduced mode for Alfa
- * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
- sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
- of the verbose (Expander_Active and not ALFA_Mode)
-
-2011-08-30 Tristan Gingold <gingold@adacore.com>
-
- * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
- s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
- s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
- Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
-
-2011-08-30 Gary Dismukes <dismukes@adacore.com>
-
- * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
- access conversions to check that the conversion is a rewritten node,
- rather than just having Comes_From_Source set to False, which wasn't
- sufficient.
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
- g-socket.ads: Minor reformatting.
-
-2011-08-30 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.adb: Minor reformatting.
-
-2011-08-30 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
- to be compliant with the ABI.
-
-2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch12.adb (Check_Private_View): Exchange the private and full view
- of a designated type when the related access type is an actual in an
- instance. This ensures that the full view of designated type is
- available when inside the body of the instance.
-
-2011-08-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
- in a position to be modified, a slice is treated like an indexed
- component.
-
-2011-08-30 Thomas Quinot <quinot@adacore.com>
-
- * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
- field tv_sec in struct timeval.
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
- blocks of code doing full expansion, previously only guarded by
- Expander_Active, by anding the test that ALFA_Mode is not set
-
-2011-08-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
- add the function to the list of private dependents, for subsequent
- legality check on Taft amendment types.
- * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
- Private_Dependents, as for other incomplete types.
- * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
- Taft-amendment type is used as the return type of a function.
-
-2011-08-30 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
- which emits an error by a call to a new routine which report the error.
- * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
- entity does not cover an existing interface.
- * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
- code.
- * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
- protected procedures or entries whose mode is not conformant.
- (Check_Synchronized_Overriding): Code cleanup: replace code which emits
- an error by a call to a new routine which report the error.
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor change.
- * exp_attr_light.adb: Minor reformatting.
-
-2011-08-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb: Patch inheritance of aspects in
- Complete_Private_Subtype, to avoid infinite loop.
-
-2011-08-30 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
- been reported and a subprogram covering an interface primitive is not
- found then skip generating the internal entity. Done to avoid crashing
- the frontend.
- (Check_Abstract_Overriding): Change text of error of wrong formal of
- protected subprogram or entry. Done for consistency to emit exactly the
- same error reported by Check_Synchronized_Overriding. In addition, the
- error is restricted to protected types (bug found working on AI05-0090)
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
- expansion in Alfa mode.
- * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
- * exp_light.adb, exp_light.ads: New package defining light expansion.
- * expander.adb (Expand): Call light expansion in Alfa mode
- * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
- constructs.
- * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
- constructs.
- * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
- * gnat1drv.adb (Adjust_Global_Switches): Comment
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb: Minor refactoring.
-
-2011-08-30 Yannick Moy <moy@adacore.com>
-
- * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
- mode.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
- expansion in Alfa mode.
- * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
- mode.
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * debug_a.adb: Update comment.
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
- sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
- exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
- sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
-
-2011-08-30 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
- volatile.
-
-2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
- Build_Finalization_Master by supplying an insertion node and enclosing
- scope. In its old version, the call did not generate a finalization
- master.
- (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
- recognize anonymous access-to-controlled components. Rewrite the
- machinery which creates finalization masters to service anonymous
- access-to-controlled components of a record type. In its current state,
- only one heterogeneous master is necessary to handle multiple anonymous
- components.
- (Freeze_Type): Comment reformatting.
- * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
- RE_Unit_Table.
- * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
- associates TSS primitive Finalize_Address with either the master itself
- or with the internal hash table depending on the mode of operation of
- the master.
-
-2011-08-30 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
- interface type then do not generate code to compare this component.
- Required since they have no components and their equality operator is
- abstract.
-
-2011-08-30 Steve Baird <baird@adacore.com>
-
- * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
- of a saooaaat (i.e, a stand-alone object of an anonymous access type),
- returns the (static) accessibility level of the object. Otherwise, the
- same as Type_Access_Level.
- (Dynamic_Accessibility_Level): New function; given an expression which
- could occur as the rhs of an assignment to a saooaaat (i.e., an
- expression of an access-to-object type), return the new value for the
- saooaaat's associated Extra_Accessibility object.
- (Effective_Extra_Accessibility): New function; same as
- Einfo.Extra_Accessibility except that object renames are looked through.
- * sem_util.adb
- (Deepest_Type_Access_Level): New function; see sem_util.ads description.
- (Dynamic_Accessibility_Level): New function; see sem_util.ads
- description.
- (Effective_Extra_Accessibility): New function; see sem_util.ads
- description.
- * einfo.ads (Is_Local_Anonymous_Access): Update comments.
- (Extra_Accessibility): Update comments.
- (Init_Object_Size_Align): New procedure; same as Init_Size_Align
- except RM_Size field (which is only for types) is unaffected.
- * einfo.adb
- (Extra_Accessibility): Expand domain to allow objects, not just formals.
- (Set_Extra_Accessibility): Expand domain to allow objects, not just
- formals.
- (Init_Size): Add assertion that we are not trashing the
- Extra_Accessibility attribute of an object.
- (Init_Size_Align): Add assertion that we are not trashing the
- Extra_Accessibility attribute of an object.
- (Init_Object_Size_Align): New procedure; see einfo.ads description.
- * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
- differently for the type of a (non-library-level) saooaaat depending
- whether Ada_Version < Ada_2012. This is the only point where Ada_Version
- is queried in this set of changes - everything else (in particular,
- setting of the Extra_Accessibility attribute in exp_ch3.adb) is
- driven off of the setting of the Is_Local_Anonymous_Access attribute.
- The special treatment of library-level saooaaats is an optimization,
- not required for correctnesss. This is based on the observation that the
- Ada2012 rules (static and dynamic) for saooaaats turn out to be
- equivalent to the Ada2005 rules in the case of a library-level saooaaat.
- * exp_ch3.adb
- (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
- false for the type of a saooaaat, declare and initialize its
- accessibility level object and set the Extra_Accessibility attribute
- of the saooaaat to refer to this object.
- * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
- * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
- calls to Effective_Extra_Accessibility in order to support
- renames of saooaaats.
- (Expand_N_Type_Conversion): Add new local function,
- Has_Extra_Accessibility, and call it when determining whether an
- accessibility check is needed.
- It returns True iff Present (Effective_Extra_Accessibility (Id)) would
- evaluate to True (without raising an exception).
- * exp_ch5.adb
- (Expand_N_Assignment_Statement): When assigning to an Ada2012
- saooaaat, update its associated Extra_Accessibility object (if
- it has one). This includes an accessibility check.
- * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
- a saooaaat, update its Extra_Accessibility object too (if it
- has one).
- (Expand_Call): Replace a couple of calls to Type_Access_Level
- with calls to Dynamic_Access_Level to handle cases where
- passing a literal (any literal) is incorrect.
- * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
- checks associated with "Saooaat := Some_Object'Access;"; this must
- be rejected if Some_Object is declared in a more nested scope
- than Saooaat.
- * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
- assignment to a saooaaat even if Is_Local_Anonymous_Access
- returns False for its type (indicating a 2012-style saooaaat).
- * sem_ch8.adb
- (Analyze_Object_Renaming): Replace a call to Init_Size_Align
- (which is only appropriate for objects, not types) with a call
- of Init_Object_Size_Align in order to avoid trashing the
- Extra_Accessibility attribute of a rename (the two attributes
- share storage).
- * sem_res.adb
- (Valid_Conversion) Replace six calls to Type_Access_Level with
- calls to Deepest_Type_Access_Level. This is a bit tricky. For an
- Ada2012 non-library-level saooaaat, the former returns library level
- while the latter returns the (static) accessibility level of the
- saooaaat. A type conversion to the anonymous type of a saooaaat
- can only occur as part of an assignment to the saooaaat, so we
- know that such a conversion must be in a lhs context, so Deepest
- yields the result that we need. If such a conversion could occur,
- say, as the operand of an equality operator, then this might not
- be right. Also add a test so that static accessibilty checks are
- performed for converting to a saooaaat's type even if
- Is_Local_Anonymous_Access yields False for the type.
-
-2011-08-30 Javier Miranda <miranda@adacore.com>
-
- * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
- controls generation of a warning associated with late declaration of
- dispatching functions. Required to avoid generating spurious
- warnings.
-
-2011-08-30 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
- return object has an anonymous access type and the function's type is
- a named access type.
- * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
- conversions on implicit conversions, since such conversions can occur
- for anonymous access cases due to expansion. Issue error for attempt
- to rename an anonymous expression as an object of a named access type.
- * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
- to indicate whether this function should report errors on invalid
- conversions.
- * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
- the expression is of an anonymous access type and the expected type is
- a named general access type, rewrite the expression as a type
- conversion, unless this is an expression of a membership test.
- (Valid_Conversion.Error_Msg_N): New procedure that conditions the
- calling of Error_Msg_N on new formal Report_Errs.
- (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
- calling of Error_Msg_NE on new formal Report_Errs.
- (Valid_Conversion): Move declaration of this function to the package
- spec, to allow calls from membership test processing. For Ada 2012,
- enforce legality restrictions on implicit conversions of anonymous
- access values to general access types, disallowing such conversions in
- cases where the expression has a dynamic accessibility level (access
- parameters, stand-alone anonymous access objects, or a component of a
- dereference of one of the first two cases).
- * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
- in the context of a named general access expected type.
- * exp_ch4.adb Add with and use of Exp_Ch2.
- (Expand_N_In): Add processing for membership tests applied to
- expressions of an anonymous access type. First, Valid_Conversion is
- called to check whether the test is statically False, and then the
- conversion is expanded to test that the expression's accessibility
- level is no deeper than that of the tested type. In the case of
- anonymous access-to-tagged types, a tagged membership test is applied
- as well.
- (Tagged_Membership): Extend to handle access type cases, applying the
- test to the designated types.
- * exp_ch6.adb (Expand_Call): When creating an extra actual for an
- accessibility level, and the actual is a 'Access applied to a current
- instance, pass the accessibility level of the type of the current
- instance rather than applying Object_Access_Level to the prefix. Add a
- ??? comment, since this level isn't quite right either (will eventually
- need to pass an implicit level parameter to init procs).
-
-2011-08-30 Bob Duff <duff@adacore.com>
-
- * s-taskin.ads: Minor comment fix.
-
-2011-08-30 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Check_Parameterless_Call): If the node is a selected
- component and the selector is a dispatching operation, check if it is
- a prefixed call before rewriting as a parameterless function call.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
-
- * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
- tsystem.h into $(RTSDIR) instead of rts.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
- reformatting.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * alfa.ads (Name_Of_Heap_Variable): New constant name.
- * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
- table to hold dereferences.
- (Add_ALFA_Xrefs): Take into account dereferences as special
- reads/writes to the variable "HEAP".
- (Enclosing_Subprogram_Or_Package): Move subprogram here.
- (Generate_Dereference): New procedure to store a read/write dereferencew
- in the table Drefs.
- * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
- the special "HEAP" var.
- * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
- in ALFA mode.
- * sem_util.adb (Note_Possible_Modification): Store write dereference
- in ALFA mode.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
- ensures that the level of the subpool access type is not deeper than
- that of the pool object.
- * sem_util.adb (Object_Access_Level): Expand to handle defining
- identifiers.
- * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
- subpool handle name of a rewritten allocator.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
- values, we generate multiple triples of parameters in the TypeCode.
- Bump Choice_Index for each such triple so that a subsequent default
- choice is associated with the correct index in the typecode.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
- container.
- (First, Last): Handle properly an iterator over a null container.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
- processing if we run across a node with no Scope. This can happen if
- we're with-ing an library-level instance, and that instance got errors
- that caused "instantiation abandoned".
- * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
- an exception instead of using Assert, so it won't go into an infinite
- loop, even when assertions are turned off.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * a-coorse.adb: Proper handling of empty ordered sets.
-
-2011-08-29 Johannes Kanig <kanig@adacore.com>
-
- * debug.adb: Add comments.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * a-except.adb, a-except-2005.adb: Minor comment rewording and
- reformatting.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
- declaration for Itypes in Alfa mode.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
- a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
- a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
- reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
- package spec.
- * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
- * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
- while raising PE.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
-
-2011-08-29 Javier Miranda <miranda@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
- renamings of formal subprograms when the actual for a formal type is
- class-wide.
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
- to Target.
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
- components of record type.
- * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
- to Target.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
- a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
- container packages.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
- reformatting.
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
- components of record type.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
- by the termination handler.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
- created in Alfa mode, instead of inserting artificial declarations of
- non-Itypes in the tree.
- * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
- know if an Itype has a corresponding declaration, as defined in
- itypes.ads.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb: Minor rewrite.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * s-tasuti.adb (Make_Passive): Work around race condition in
- Make_Independent, which can cause Wait_Count to be zero. So instead of
- asserting that Wait_Count > 0, and then decrementing it, decrement it
- only if Wait_Count > 0.
- * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
- should be nonnegative, so declare them Natural instead of Integer.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
- sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
- a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
- a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
- exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
-
-2011-08-29 Vadim Godunko <godunko@adacore.com>
-
- * s-parint.ads: Minor comment clarification.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * prj.adb (Initialize): Make sure that new reserved words after Ada 95
- may be used as identifiers.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * a-coinho.ads: Minor reformating.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
- container of a derived type.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
- a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
-
-2011-08-29 Pascal Obry <obry@adacore.com>
-
- * exp_disp.adb: Minor comment fix.
- (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
- to avoid warnings when compiling with -Wall.
- (Make_Disp_Conditional_Select_Body): Likewise.
- (Make_Disp_Timed_Select_Body): Likewise.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
- an entity name, generate reference for it.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
- iterator form.
- * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
- the class-wide type.
- * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
- subtype for an object whose type is an unconstrained union.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
- is allowed in a component definition, by AI95-406.
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-except-2005.adb: Alphabetize all routines.
- (Triggered_By_Abort): New routine.
- * a-except-2005.ads (Triggered_By_Abort): New routine.
- * a-except.adb Alphabetize all routines.
- (Triggered_By_Abort): New routine.
- * a-except.ads (Triggered_By_Abort): New routine.
- * exp_ch7.adb: Update all comments involving the detection of aborts in
- finalization code.
- (Build_Object_Declarations): Do not generate code to detect the
- presence of an abort at the start of finalization code, use a runtime
- routine istead.
- * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
- RE_Unit_Table.
- * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
- allocate a task on a subpool.
- * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
- The flag disables all actions related to the maintenance of
- Finalize_Address_Table when subpools are not in use.
- (Allocate_Any_Controlled): Signal the machinery that subpools are in
- use.
- (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
- performs costly task locking when subpools are not in use.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
- types and dispatching calls in Alfa mode.
- * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
- correspondance between body and spec scopes, to reuse utility functions
- (Traverse_Declarations_Or_Statements): Protect access to body for stub
- by testing the presence of the library unit for the body
- * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
- mode the expansion of accept statements is skipped
- * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
- the unique entity corresponding to the one returned by
- Unique_Defining_Entity applied to the enclosing declaration of the
- argument.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
- gdb when x is not a node (it can be a node list, name_id, etc). pp is
- an alias for pn. ppp is an alias for pt.
-
-2011-08-29 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
- aggregate to take a consistent decision on the need to convert into
- assignments aggregates that initialize constant objects.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
- Build_Allocate_Deallocate_Proc in order to handle allocation of
- non-controlled objects on subpools.
- * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
- to be end-user visible.
- * s-finmas.adb: Add with and use clause for System.HTable.
- Add an instantiation of Simple_HTable which provides a mapping between
- the address of a controlled object and the corresponding
- Finalize_Address used to clean up the object. The table is used when a
- master is operating in heterogeneous mode.
- (Attach): Explain why the input node is not verified on being already
- attached.
- (Delete_Finalize_Address): New routine.
- (Detach): Add pragma Assert which ensures that a node is already
- attached.
- (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
- since nodes are no longer removed on traversal. Explain why node
- detachment is undesirable in this case.
- (Get_Finalize_Address): New routine.
- (Hash): New routine.
- (Is_Empty_List): Removed.
- (pm): Renamed to Print_Master. Add output for discriminant
- Is_Homogeneous.
- Comment reformatting.
- (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
- * s-finmas.ads: Various comments additions / improvements.
- Type Finalization_Master has a discriminant which determines the mode of
- operation.
- (Delete_Finalize_Address): New routine.
- (Get_Finalize_Address): New routine.
- (pm): Renamed to Print_Master.
- (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
- * s-stposu.adb: Add with clause for System.Address_Image; Add with and
- use clause for System.IO.
- (Allocate_Any_Controlled): Add machinery to set TSS primitive
- Finalize_Address depending on the mode of allocation and the mode of
- the master.
- (Deallocate_Any_Controlled): Remove the relation pair object -
- Finalize_Address regardless of the master mode. Add comment explaining
- the reason.
- (Detach): Ensure that fields Prev and Next are null after detachment.
- (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
- scheme to check whether the list of subpools is empty. There is no
- longer need to store the next subpool or advance the current pointer.
- (Is_Empty_List): New routine.
- (Print_Pool): New routine.
- (Print_Subpool): New routine.
- * s-stposu.ads: Various comments additions / improvements.
- Field Master of type Root_Subpool is now a heterogeneous collection.
- (Print_Pool): New routine.
- (Print_Subpool): New routine.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
- forms, using aspects of container types.
- * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
- Has_Implicit_Dereference flags, that may be set on the partial view.
- * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
- container type with an indexing aspect.
- (Analyze_Quantified_Expression): Analyze construct with expansion
- disabled, because it will be rewritten as a loop during expansion.
- (Try_Container_Indexing): The prefix itself may be a container type
- with an indexing aspect, as with a vector of vectors.
- * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
- the original doamin of iteration, for name capture.
- (Analyze_Iterator_Specification): If the domain is an expression that
- needs finalization, create a separate declaration for it.
- For an iterator with "of" retrieve default iterator info from aspect of
- container type. For "in" iterator, retrieve type of Iterate function.
- * sem_ch13.adb (Check_Iterator_Function): Fix typo.
- (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
- analysis, to prevent spurious errors about late attributes.
- * sprint.adb: Handle quantified expression with either loop or iterator
- specification.
- * a-convec.ads, a-convec.adb: Iterate function returns a reversible
- iterator.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
- Binder or Linker of the main project file.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
- unit.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch9.adb: Partial revert of previous change for Alfa mode
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch11.adb: Minor expansion of comment.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
- interpretation, set the type before resolving the operands, because
- legality checks on an exponention operand need to know the type of the
- context.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
- cleanups on a master if the instance is within a generic unit.
- Complement to the corresponding fix to inline.adb for K520-030.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
- occurrence.
- * exp_intr.adb: Minor comment fix.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
- Delay_Required was used as an uninitialized variable.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
- sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
- a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
- Remove unused variables.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb: Remove Build_Explicit_Dereference.
- * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
- from sem_res.adb, used in analysis of additional constructs.
- (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
- expansion of iterators.
- (Is_Object_Reference): Recognize variables rewritten as explicit
- dereferences in Ada2012.
- * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
- Reversible_Iterator names, for expansion of Ada2012 iterators.
- * aspects.ads, aspects.adb (Find_Aspect): Utility.
- * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
- linked list container.
- * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
- * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
- containers.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Get the maximum number of simultaneous
- compilation processes after the Builder switches has been scanned, as
- there may include -jnn.
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
- GNAT_DRIVER_COMMAND_LINE to 255.
-
-2011-08-29 Pascal Obry <obry@adacore.com>
-
- * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
- reformatting and style fix (class attribute casing).
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch11.adb: Yet another case where expansion should be common
- between CodePeer and Alfa.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch9.adb: Partial revert of previous change for Alfa mode.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
- incomplete type and its completion match.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch13.adb: Adjust previous change.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
- exp_ch4.adb, sem_ch8.adb: Minor code reorganization
- Minor reformatting.
-
-2011-08-29 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
- initialize aggregated projects.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
- depth of candidates to resolve a potentially spurious ambiguity between
- two visible subprograms.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
- Requires/Ensures.
- * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
- Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
- Requires/Ensures.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
- Add comment.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb: Minor reformatting.
-
-2011-08-29 Johannes Kanig <kanig@adacore.com>
-
- * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
- mode.
- * gnat1drv.adb (Adjust_Global_Switches): Set
- Use_Expressions_With_Actions to False in ALFA mode.
- * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
- ALFA mode.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
- * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
- * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
- tagged types and dispatching calls in Alfa mode.
-
-2011-08-29 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
- we do not report an error on an Empty node.
-
-2011-08-29 Geert Bosch <bosch@adacore.com>
-
- * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
- a-nlrear.o and a-nurear.o.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor code reorganization.
- Minor reformatting.
- * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
- sem_ch6.adb: Minor reformatting
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * s-except.ads, s-except.adb: Provide dummy body.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_warn.adb (Within_Postcondition): Take into account the case of
- an Ensures component in a Test_Case.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
- * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
- System_Exceptions_Debug
- (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
- * a-except.adb: With and use System.Exceptions_Debug instead of
- System.Exceptions.
- * a-except-2005.adb: Likewise.
- * s-assert.adb: Likewise.
- * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
- * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
- * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
- s-excdeb. Update dependencies.
- (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
- as these no longer need external libraries.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
- exponentiation operator on universal values in a context that requires
- a fixed-point type.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
- before calling notify_handled_exception.
- * a-exextr.adb: Fix comment.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
- Finalize_Address of the access type's finalization master.
- (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
- access type's finalization master. Add a guard to prevent
- Associated_Storage_Pool from being set on .NET/JVM.
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
- attribute Finalize_Address of the access type's finalization master.
- * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
- * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
- * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
- RE_Unit_Table.
- * s-finmas.adb: Add with clause for System.Address_Image. Add with and
- use clause for System.IO
- (Detach): Relax the assertion, to be reinstated later.
- (Finalize): Rewrite the iteration loop to avoid pointer comparison.
- Relax the assertion on Finalize_Address, to be reinstated later.
- (Is_Empty_List): New routine.
- (pm): New debug routine.
- (Set_Finalize_Address): New routine.
- * s-finmas.ads (pm): New debug routine.
- (Set_Finalize_Address): New routine.
- * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
- Remove convention C.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
- (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
- (Finalize_TCB): Remove its finalization.
- (Initialize): Remove assignment of GET_Exc_Stack_Addr
- * s-soflin.adb (NT_Exc_Stack): Remove
- (Get_Exc_Stack_Addr_NT): Likewise.
- (Get_Exc_Stack_Addr_Soft): Likewise.
- * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
- (Get_Exc_Stack_Addr): Likewise.
- (Get_Exc_Stack_Addr_Soft): Likewise
- * s-taspri-vms.ads (Exc_Stack_T): Remove.
- (Exc_Stack_Ptr_T): Likewise.
- (Private_Data): Remove Exc_Stack_Ptr component.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * raise-gcc.c (get_ip_from_context): New function. Factorize code.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
-
-2011-08-29 Geert Bosch <bosch@adacore.com>
-
- * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
- L2_Norm, Swap_Column): New generic subprograms
- * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
- L2_Norm, Swap_Column): Implement new subprograms in order to
- eliminate dependency on BLAS and LAPACK libraries in
- Ada.Numerics.Generic_Real_Arrays and eventually also the complex
- version. Forward_Eliminate/Back_Substitute can be used to put a
- matrix in row echelon or reduced row echelon form using partial
- pivoting.
- * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
- Swap_Column): Instantiate from System.Generic_Array_Operations.
- ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
- (Sqrt): Local function for simple computation of square root without
- adding dependencies on Generic_Elementary_Functions.
- (Swap): New subprogram to exchange floating point numbers.
- (Inverse): Reimplement using Jordan-Gauss elimination.
- (Jacobi): New procedure implementing Jacobi's method for computation
- of eigensystems, based on Rutishauser's implementation.
- (L2_Norm): Implement directly using the inner product.
- (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
- decreasing eigenvalue as required by the Ada RM.
- (Swap_Column): New helper procedure for Sort_Eigensystem.
- Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
- Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
- Sort_Eigensystems.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
- statements line.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
- than the current node.
- * s-finmas.ads: Move field Finalize_Address from type FM_Node to
- Finalization_Master. The list headers have two fields instead of three.
- This should fix alignment issue but subpool allocations are now
- unusable. Alphabetize subprograms.
- * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
- the size of the header when converting the beginning of the object to
- a FM_Node. Set the master's Finalize_Address attribute if not already
- set.
- (Deallocate_Any_Controlled): Use the offset rather than the size of the
- header when converting the beginning of the object to a FM_Node.
-
-2011-08-29 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
- reraise when compiling for CodePeer.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
- now needed by a-convec.adb. Fix warning.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
- processing of TSS routine Finalize_Address when compiling in
- CodePeer_Mode.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
- sem_warn.adb: Minor reformatting.
-
-2011-08-29 Emmanuel Briot <briot@adacore.com>
-
- * prj-conf.adb (Get_Config_Switches): Also collect the list of
- languages from aggregated projects.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
- Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
- Traverse_Package_Declaration, Traverse_Subprogram_Body,
- Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
- for stubs are traversed too when parameter is set
- (Traverse_All_Compilation_Units): Traverse without going inside stubs
- (Traverse_Declarations_Or_Statements): Do the special traversing for
- stubs when required.
- * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
- return subprogram or package body from stub.
- (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
- stubs without prior subprogram decl.
-
-2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
- which accounts for size vs alignment issues and calculates the size of
- the list header.
- (Deallocate_Any_Controlled): Ditto.
- (Nearest_Multiple_Rounded_Up): New routine.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
- * a-exexda.adb (Set_Exception_C_Msg): Ditto.
- (Set_Exception_Msg): Ditto.
- * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
- Private_Data.
- * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
- Use Save_Occurrence instead of Save_Occurrence_No_Private.
- (Raise_With_Msg): Remove Cleanup_Flag.
- * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
- Clean_Flag and Private_Data components.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
- in CodePeer mode.
- * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
- of an explicitly declared type, so that the base types of the original
- type and this generated type are the same, and a "type" (not a subtype
- like previously).
- * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
- small" in Alfa mode, like in CodePeer mode.
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
- clauses in Alfa mode.
-
-2011-08-29 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
- function to the package spec.
- * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
- internally generated bodies of null procedures locate the internally
- generated spec enforcing mode conformance.
- (Is_Interface_Conformant): Ensure that the controlling formal of the
- primitives match.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
- reject the pragma if it appears to apply to a formal subprogram.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
- inner expression, to prevent double evaluation.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
- they were unused.
- * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
- * a-except-2005.adb (Propagate_Exception): Adjust spec.
- (Raise_Current_Excep): Adjust call.
- (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * exp_disp.adb: Minor reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr.adb (Setup_Exception): Removed.
- * a-exexpr-gcc.adb (Setup_Exception): Removed.
- * a-except.adb (Exception_Propagation): Removed.
- * a-except-2005.adb (Setup_Exception): Removed.
- (Reraise): Remove call to Setup_Exception.
- (Reraise_Occurrence): Ditto.
- (Reraise_Occurrence_Always): Ditto.
- (Reraise_Occurrence_No_Defer): Ditto.
- (Transfer_Occurrence): Ditto.
- * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
- (Set_Exception_Msg): Ditto.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-convec.adb, exp_disp.adb: Minor reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
-
-2011-08-29 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
- Exception_Handlers to No_List instead of Empty_List in the case where
- there are no handlers.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * gcc-interface/gigi.h (enum standard_datatypes): Add
- ADT_reraise_zcx_decl
- (reraise_zcx_decl): New macro.
- * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
- (gigi): Set reraise_zcx_decl.
- (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
- (gnat_to_gnu): Handle N_Raise_Statement.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
- a-undesu.adb: Minor reformatting.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
- table, accept an unfrozen untagged component if it is an actual for a
- formal incomplete type.
- * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
- provide new iterator forms over vectors.
- Introduce type Iterator in package body to implement operations of
- Reversible_Iterator interface.
- * a-iteint.ads: Make package pure so it is usable with new container
- packages, that are categorized Remote_Types.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
- of <>, because this is the routine that checks for dimensionality
- errors (for example, for a two-dimensional array, (others => <>) should
- be (others => (others => <>)).
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * impunit.adb: Add new run-time units.
- * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
- s-stposu.ads, s-stposu.adb: Code clean up.
- Handle protected class-wide or task class-wide types
- Handle C/C++/CIL/Java types.
- * s-spsufi.adb, s-spsufi.ads: New files.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
- library-level subprogram.
- * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
- placement.
- (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
- component.
- * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
- component.
- * gnat_rm.texi: Update doc for Test_Case pragma.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
- convention C.
- (GCC_Exception_Access): New type.
- (Unwind_DeleteException): New imported procedure
- (Foreign_Exception): Import it.
- (GNAT_GCC_Exception): Simply have the occurrence inside.
- (To_GCC_Exception): New function.
- (To_GNAT_GCC_Exception): New function.
- (GNAT_GCC_Exception_Cleanup): New procedure..
- (Propagate_GCC_Exception): New procedure.
- (Reraise_GCC_Exception): New procedure.
- (Setup_Current_Excep): New procedure.
- (CleanupUnwind_Handler): Change type of UW_Exception parameter.
- (Unwind_RaiseException): Ditto.
- (Unwind_ForcedUnwind): Ditto.
- (Remove): Removed.
- (Begin_Handler): Change type of parameter.
- (End_Handler): Ditto. Now delete the exception if still present.
- (Setup_Key): Removed.
- (Is_Setup_And_Not_Propagated): Removed.
- (Set_Setup_And_Not_Propagated): Ditto.
- (Clear_Setup_And_Not_Propagated): Ditto.
- (Save_Occurrence_And_Private): Ditto.
- (EID_For): Add 'not null' constraint on parameter.
- (Setup_Exception): Does nothing.
- (Propagate_Exception): Simplified.
- * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
- re-raise is not expanded anymore.
- * s-except.ads (Foreign_Exception): New exception - placeholder for
- non Ada exceptions.
- * raise-gcc.c (__gnat_setup_current_excep): Declare
- (CXX_EXCEPTION_CLASS): Define (not yet used)
- (GNAT_EXCEPTION_CLASS): Define.
- (is_handled_by): Handle foreign exceptions.
- (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * a-synbar-posix.adb: Minor reformatting.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
- a-exetim-default.ads (Interrupt_Clocks_Supported,
- Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
- definitions to be compliant with AI-0171. The target systems do not
- support separate account for the execution time of interrupt handlers.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * a-synbar.adb (Wait): Change the order of evaluation of the conditions
- in the barrier to put first the easiest to evaluate (and the one which
- will be True more often). More efficient.
-
-2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-atocou-x86.adb: Fix constraint in machine code insertion.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * aspects.ads, aspects.adb: Add new aspects for various pragmas and
- attributes that are now aspects, as specified by AI05-0229-1.
- * sem_ch13.adb (Analyze_Aspect_Specifications,
- Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
- pragmas or attribute references, as appropriate.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
- a-synbar-posix.ads: Minor reformatting.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * snames.ads-tmpl: Add name Force.
-
-2011-08-29 Pascal Obry <obry@adacore.com>
-
- * prj-nmsc.adb: Minor reformatting.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * a-exetim.ads (Interrupt_Clocks_Supported,
- Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
- definitions to be compliant with AI-0171.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-ngelfu.adb: Add comments.
-
-2011-08-29 Geert Bosch <bosch@adacore.com>
-
- * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
- the closest machine number to Pi / 2.0.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
- package Ada.Synchronous_Barriers.
- * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
- Add new specs and bodies for Ada.Synchronous_Barriers. There is a
- default implementation using protected objects and another one
- a-synbar-posix using POSIX barriers as the underlying support.
- * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
- x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
- Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
- Clean up dependencies.
- * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
- exp_dist.adb: Minor code reorganization.
- Minor reformatting.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
- primitive operation must support external streaming if it is not a
- controlling access result.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.ads, sem_ch7.adb: Minor reformatting.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
- restriction on allocators, as required by AI05-0013-1.
- * restrict.ads: Minor comment fix.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
- (To_Jmpbuf_Address): Ditto
- (builtin_longjmp): Ditto
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_res.adb: Minor reformatting.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Move special processing for VM targets after the
- call to Get_Target_Parameters.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch12.adb, par-ch12.adb: Minor reformatting.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
- where an anonymous access discriminant of a limited designated type
- appears in a non-immutably limited discriminated type and issue an
- error message. Add local variable Desig_T and replace all occurrences
- of Designated_Type.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * a-rttiev.adb (Set_Handler): Update comment to indicate that our
- implementation is compliant to RM D.15(15/2) after the modification
- imposed by AI05-0094-1 (binding interpretation).
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
- s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * par-endh.adb (Check_End): For an END where it is mandatory to repeat
- the scope name, do not report a missing label as a style violation (it
- will be diagnosed as an illegality).
- * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
- variant records: Get_Enum_Lit_From_Pos already returns a usage
- occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
- on Expr in Integer_Literal case so that it can be used by
- Build_To_Any_Call.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
- Adjust comment.
- * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
- (Build_Abort_Block_Handler): New function to build an Abort_Signal
- exception handler.
- * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
- Build_Abort_Block_Handler to build the exception handler. Do not
- undefer aborts for the Abort_Signal exception handler if back-end
- exception mechanism.
- * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
- back_end exceptions for all others and abort_signal.
- * s-except.ads (ZCX_By_Default): New constant.
- * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
- (Raise_Exception_Always): Ditto.
- (Raise_From_Signal_Handler): Ditto.
- (Raise_With_Location_And_Msg): Ditto.
- (Raise_With_Msg): Ditto.
- (Reraise): Ditto.
- (Reraise_Occurence): Ditto.
- (Reraise_Occurrence_Always): Ditto.
- * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
- * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
- Minor code reorganization.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
- 2012, not just Ada 2005.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
- with a project file or with gprbuid, if -gnatep= is specified, the
- builder may need to be invoked with -x.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb: Minor comment fix.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor reformatting.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
- * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
- treating "some" as unreserved in earlier Ada versions. This is now
- handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
- rather than Name_Some, since Tok_Some is now recognized as reserved.
- * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
- reserved word.
- * scans.ads: Minor comment fixes.
- * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
- for other language versions.
- * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
- treating "some" as unreserved in earlier Ada versions. This is now
- handled in Snames.Is_Keyword_Name.
- * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
- Ada 2012.
- (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
- unreserved in earlier Ada versions. This is now handled in
- Snames.Is_Keyword_Name.
- * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
- words as for other language versions.
- * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
- Ada 2012, not just Ada 2005.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: Additional semantic checks for aspects involved in
- iterators.
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
- a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
- Container parameter.
- (Ancestor_Find): ditto.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * par-endh.adb: Minor reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
- (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
- (Adjust_N_CLeanups_For): Remove.
- (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
- stack is reached.
- (Propgate_Exception): Adjust.
- * raise-gcc.c: Add a few static/const.
- (Adjust_N_Cleanups_For): Remove declaration.
- (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb: Use type of function return when rewriting as object
- declaration.
-
-2011-08-29 Gary Dismukes <dismukes@adacore.com>
-
- * sem_type.adb: Minor reformatting.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * makeutl.adb: Minor reformatting.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
- function call of a limited type, the expansion of the renaming is
- complicated by the presence of various temporaries and subtypes that
- capture constraints of the renamed object.
- Rewrite node as an object declaration, whose expansion is simpler.
- Given that the object is limited there is no copy involved and no
- performance hit.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
- freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
- system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
- system-linux-hppa.ads, system-linux-s390.ads,
- system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
- system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
- system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
- system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
- system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
- system-solaris-sparc.ads, system-lynxos-x86.ads,
- system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
- system-solaris-x86_64.ads, system-mingw-x86_64.ads,
- system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
- system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
- system-vxworks-x86.ads: Remove GCC_ZCX_Support.
- * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
- s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
- * opt.ads: Adjust comment.
- * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
- * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
- * system.ads: Move GCC_ZCX_Support to obsolete entries.
-
-2011-08-29 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
- file name is specified on the gnatmake or gprbuild command line, and
- before we search for that file in the project.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
- used to determine whether a possible interpretation for an overloadable
- entity is declared within the current instantiation and should be
- included in the candidate set.
-
-2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Clean ups.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
- access subtype is access_to_subprogram, when applying checks for
- RM 3.10.2 (27).
-
-2011-08-29 Matthew Heaney <heaney@adacore.com>
-
- * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
- for sibling when common parent.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
- "pragma_".
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
- for the return type when in ASIS mode.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Get the default search dirs, then the target
- parameters after getting the Builder switches, as the Builder switches
- may include --RTS= and that could change the default search dirs.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
- Make_Final_Call. Move the processing for class-wide types before the
- processing for derivations from [Limited_]Controlled.
- (Make_Final_Call): Move the processing for class-wide types before the
- processing for derivations from [Limited_]Controlled.
- * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
- Add code to account for alignments larger than the list header. Add a
- comment illustrating the structure of the allocated object + padding +
- header.
- (Deallocate_Any_Controlled): Add code to account for alignments larger
- than the list header.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads, sinfo.adb: New node kind
- N_Formal_Incomplete_Type_Definition, related flags.
- par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
- Parse formal incomplete types.
- * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
- sem_ch12.
- * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
- Formal incomplete types do not need completion.
- * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
- Validate_Incomplete_Type_Instance): New procedures to handle formal
- incomplete types.
- * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
- that corresponds to a formal incomplete type.
- * sprint.adb: Handle formal incomplete type declarations.
- * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
- an insertion point.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-fihema.ads, a-fihema.adb: Unit removed.
- * a-undesu.ads, a-undesu.adb: New unit implementing
- Ada.Unchecked_Deallocate_Subpool.
- * einfo.adb: Remove Associated_Collection from the node usage.
- Add Finalization_Master to the node usage.
- (Associated_Collection): Removed.
- (Finalization_Master): New routine.
- (Set_Associated_Collection): Removed.
- (Set_Finalization_Master): New routine.
- (Write_Field23_Name): Remove Associated_Collection from the output. Add
- Finalization_Master to the output.
- * einfo.ads: Remove attribute Associated_Collection and its uses in
- entities.
- Add new attribute Finalization_Master along with its uses in entitites.
- (Associated_Collection): Removed along with its pragma import.
- (Finalization_Master): New routine along with a pragma import.
- (Set_Associated_Collection): Removed along with its pragma import.
- (Set_Finalization_Master): New routine along with a pragma import.
- * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
- Build_Finalization_Collection with Build_Finalization_Master.
- (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
- before the bodies of the predefined routines. Add comment explaining
- this. Replace call to Build_Finalization_Collection with
- Build_Finalization_Master.
- (Freeze_Type): Replace call to Build_Finalization_Collection with
- Build_Finalization_Master.
- (Make_Finalize_Address_Body): Comment reformatting.
- (Make_Predefined_Primitive_Specs): Code reformatting.
- (Stream_Operation_OK): Update comment mentioning finalization
- collections. Replace RE_Finalization_Collection with
- RE_Finalization_Master.
- * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
- Associated_Collection with Finalization_Master. Replace call to
- Build_Finalization_Collection with Build_Finalization_Master.
- (Expand_Allocator_Expression): Replace call to Associated_Collection
- with Finalization_Master. Replace call to Set_Associated_Collection with
- Set_Finalization_Master. Remove the generation of
- Set_Finalize_Address_Ptr.
- (Expand_N_Allocator): Replace call to Associated_Collection with
- Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
- * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
- Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
- comment on usage. Replace call to Needs_BIP_Collection with
- Needs_BIP_Finalization_Master Remplace BIP_Collection with
- BIP_Finalization_Master. Update all comments which mention finalization
- collections. Replace Associated_Collection with
- Finalization_Master. Replace Build_Finalization_Collection with
- Build_Finalization_Master.
- (BIP_Formal_Suffix): Update BIP_Collection's case.
- (Build_Heap_Allocator): Update the related comment. Rename local
- variable Collect to Fin_Mas_Id and update its occurrences. Update
- comments which mention finalization collections. Replace
- Set_Associated_Collection with Set_Finalization_Master.
- (Expand_Call): Update the code which detects a special piece of library
- code for .NET/JVM.
- (Make_Build_In_Place_Call_In_Allocator): Replace the call to
- Add_Collection_Actual_To_Build_In_Place_Call with
- Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
- which generates a call to Make_Set_Finalize_Address_Ptr_Call.
- (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
- Add_Collection_Actual_To_Build_In_Place_Call with
- Add_Finalization_Master_Actual_To_Build_In_Place_Call.
- (Make_Build_In_Place_Call_In_Assignment): Replace call to
- Add_Collection_Actual_To_Build_In_Place_Call with
- Add_Finalization_Master_Actual_To_Build_In_Place_Call.
- (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
- * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
- (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
- * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
- Rename local variable Collect to Fin_Mas_Id and update its occurrences.
- Replace call to Set_Associated_Collection with Set_Finalization_Master.
- (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
- Replace the call to Associated_Collection with Finalization_Master.
- Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
- Update the way finalization master names are generated. Update the
- retrieval of the correct access type which will carry the pool and
- master attributes.
- (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
- (Make_Finalize_Address_Body): Abstract types do not need
- Finalize_Address. Code reformatting.
- (Make_Finalize_Address_Stmts): Update comment on usage.
- (Make_Set_Finalize_Address_Ptr_Call): Removed.
- (Process_Declarations): Update comments.
- * exp_ch7.ads (Build_Finalization_Collection): Renamed to
- Build_Finalization_Master. Update associated comment.
- (Make_Set_Finalize_Address_Ptr_Call): Removed.
- * exp_ch13.adb: Update comments which mention finalization collections.
- (Expand_N_Free_Statement): Replace the call to Associated_Collection
- with Finalization_Master.
- * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
- create calls to routines Allocate_Any_Controlled and
- Deallocate_Any_Controlled.
- (Find_Finalize_Address): New routine.
- (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
- comparison.
- (Requires_Cleanup_Actions): Update the comment on freeze node
- inspection.
- * exp_util.ads: Remove comment on generated code for
- Build_Allocate_Deallocate_Proc. The code is now quite complex and it
- is better to simply look in the body.
- * freeze.adb (Freeze_All): Update the comment of finalization
- collections. Replace the call to Associated_Collection with
- Finalization_Master. Replace the call to Build_Finalization_Collection
- with Build_Finalization_Master.
- * impunit.adb: Add a-undesu and s-stposu to the list of units.
- * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
- a-fihema.
- * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
- Ada.Finalization. Add processing for children of System.Storage_Pools.
- * rtsfind.ads: Remove the naming of second level children of
- Ada.Finalization.
- Remove Ada_Finalization_Heap_Management from the list of units.
- Remove subtype Ada_Finalization_Child.
- Remove the following subprogram entities:
-
- RE_Allocate
- RE_Deallocate
- RE_Finalization_Collection
- RE_Finalization_Collection_Ptr
- RE_Set_Finalize_Address_Ptr
-
- Add the naming of second level children of System.Storage_Pools.
- Add System_Finalization_Masters and System_Storage_Pools_Subpools to
- the list of units.
- Add subtype System_Storage_Pools_Child.
- Add the following subprogram entities to System.Finalization_Masters:
-
- RE_Finalization_Master
- RE_Finalization_Master_Ptr
-
- Add the following subprogram entities to System.Storage_Pools.Subpools:
-
- RE_Allocate_Any_Controlled
- RE_Deallocate_Any_Controlled
- RE_Root_Storage_Pool_With_Subpools
- RE_Root_Subpool
- RE_Subpool_Handle
-
- Move the following subprogram entities from
- Ada.Finalization.Heap_Management to System.Finalization_Masters:
-
- RE_Add_Offset_To_Address
- RE_Attach
- RE_Base_Pool
- RE_Detach
-
- * sem_ch3.adb (Access_Type_Declaration): Replace the call to
- Set_Associated_Collection with Set_Finalization_Master.
- * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
- BIP_Finalization_Master is created.
- * s-finmas.adb: New unit System.Finalization_Masters.
- * s-finmas.ads: New unit System.Finalization_Masters.
- * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
- * s-stposu.ads, s-stposu.adb: New unit implementing
- System.Storage_Pools.Subpools.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * tbuild.adb: Add assertion.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * s-pooglo.adb: Minor reformatting.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
- an indexed component of a packed array whose element type is a record
- with a representation clause different from that of the right-hand
- side, generate a temporary to minimuze the number of bit-field
- operations generated.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
- declarations, and thus are likely insertion points for actions.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * einfo.ads: Minor comment fix.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * frontend.adb, gnat1drv.adb: Minor reformatting.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
- * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
- space in front of the header.
-
-2011-08-29 Johannes Kanig <kanig@adacore.com>
-
- * frontend.adb (Frontend): Exit after creating Standard package when
- -gnatd.H is present.
- * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
- present.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
- makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
- snames.ads-tmpl: Minor reformatting.
-
-2011-08-29 Philippe Gil <gil@adacore.com>
-
- * prj.adb (Reset_Units_In_Table): New procedure.
- Reset units to avoid access to freed memory.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * get_scos.adb: When reading a P statement SCO without a pragma name
- (from an older ALI file), ensure that the Pragma_Name component is set
- to Unknown_Pragma (not left uninitialized).
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
- modified to compute correctly the object path of a SAL project that is
- extending another library project.
- (Write_Path_File): New procedure.
- * makeutl.ads (Directories): New table moved from Buildgpr
- (Get_Directories): New procedure moved from Buildgpr
- (Write_Path_File): New procedure
- * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
- paths before binding SALs, instead of Set_Ada_Paths.
- * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
- Prj.
- * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
- (Current_Source_Path_File_Of): New function
- (Set_Current_Object_Path_File_Of): New procedure
- (Current_Source_Object_File_Of): New function
- (Set_Current_Object_Path_File_Of): New procedure
- * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
- (Current_Source_Path_File_Of): New function
- (Set_Current_Object_Path_File_Of): New procedure
- (Current_Source_Object_File_Of): New function
- (Set_Current_Object_Path_File_Of): New procedure
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
- packed entity, use a bit-field assignment only if there is no change of
- representation.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
- Is_RTU instead of using Chars comparisons.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
- temporary object if the actual is constrained, and the discriminants
- read from the stream don't match.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * sem_attr.adb, exp_attr.adb: Add handling of
- Attribute_System_Allocator_Alignment
- * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
- Attribute_System_Allocator_Alignment.
- * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
- * gcc-interface/targtyps.c, gcc-interface/utils2.c,
- gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
- get_target_system_allocator_alignment.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
- dependencies.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * exp_ch3.adb (In_Runtime): Fix typo.
-
-2011-08-29 Bob Duff <duff@adacore.com>
-
- * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
- and a separate tag assignment is generated, ensure that the tag
- assignment is analyzed.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * atree.ads, atree.adb (Copy_Separate_List): New function that applies
- Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
- of statement lists that may contain local declarations.
- * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
- duplicate the triggering statements needed for the expansion of this
- construct, when the trigger is a dispatching call to a synchronized
- primitive.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
- * bindgen.adb: Add comments.
- * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
- in CodePeer mode.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * exp_attr.adb: Minor reformatting.
- Minor code reorganization and commenting.
- * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
- reformatting.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * get_scos.adb: Ignore chaining indicators not currently supported
- by Ada.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * system.ads: Minor editing.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
- CodePeer mode.
- * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
- Attribute_Elab_Subp_Body.
- * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
- * sem_util.adb: Update comments.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
- pragma name for each SCO statement corresponding to a pragma.
-
-2011-08-29 Arnaud Charlet <charlet@adacore.com>
-
- * opt.ads: Minor editing.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
- that only made sense for CodePeer mode.
-
-2011-08-29 Jose Ruiz <ruiz@adacore.com>
-
- * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
- which is no longer used.
- * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
- handling of the 64-bit division check.
- * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
- division available.
- * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
- longer used.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * get_scos.adb: Minor reformatting.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
- statement list is wrapped in a block, the block is explicitly analyzed
- in order to properly redecorate the entities and create a servicing
- finalizer.
-
-2011-08-29 Tristan Gingold <gingold@adacore.com>
-
- * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
- (Set_Zero_Cost_Handling): Remove.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
-
-2011-08-29 Geert Bosch <bosch@adacore.com>
-
- * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
- instruction, as the latter may produce -0.0, which is not a valid VAX
- F float number.
- (Neg_G): Likewise for VAX F float.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb: Minor reformatting.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb: Minor comment update.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
- the operand type.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
- current statement sequence on a generic instantiation or a subprogram
- declaration.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
- Minor reformatting.
-
-2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
- Correct the check which involves the freeze node of a controlled or
- access-to-controlled type.
-
-2011-08-29 Geert Bosch <bosch@adacore.com>
-
- * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
- statements.
- * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
- Asm statements.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
- for every index type and component type that is not a subtype_mark.
- (Process_Subtype): Set Etype of subtype.
-
-2011-08-29 Robert Dewar <dewar@adacore.com>
-
- * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
- reorganization. Minor reformatting.
-
-2011-08-29 Steve Baird <baird@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
- for CodePeer and ALFA modes.
-
-2011-08-29 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
- that comes from an enclosing scope if it is not the renaming of an
- actual, to handle properly a spurious ambiguity in an instance.
-
-2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
- (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
- use it instead of the Esize of the first parameter.
- (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
- above change.
- <Size>: Likewise. Call it for composite types on the RM size.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
- * sem_util.adb (Unique_Name): Correct behaviour for names of
- compilation units.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb (Check_Precondition_Postcondition): In formal
- verification mode, analyze pragma expression for correctness, for
- pre/post on library-level subprogram, as it is not expanded later.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
- in formal verification.
-
-2011-08-29 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.adb: Minor reformatting.
- * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
- there's no pragma.
- * par_sco.ads, par_sco.adb: Update comments.
-
-2011-08-29 Yannick Moy <moy@adacore.com>
-
- * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
- associated getter/setter.
- * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
-
-2011-08-29 Vincent Celier <celier@adacore.com>
-
- * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
- * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
- with declarations for Language_Kind and Dependency_Kind for Ada.
- * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
- (Process_Compiler): Take into account the new attributes Dependency_Kind
- and Language_Kind.
- (Check_Configuration): Check if language kind is unit based, not if the
- language name is Ada.
- (Process_Exceptions_Unit_Based): Ditto
- (Add_Language): Remove default additions of language and dependency kind
- * prj.ads: Minor comment change
- * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
-
-2011-08-29 Johannes Kanig <kanig@adacore.com>
-
- * debug.adb: Update comments.
-
-2011-08-24 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
- (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
- (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
- (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
- (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
-
-2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
- (GNATLIBCFLAGS_FOR_C): Replace
- TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
- (gnatlib-shared-default, gnatlib-shared-dual-win32)
- (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
- (gnatlib-sjlj, gnatlib-zcx): Likewise.
-
-2011-08-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
-
- * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
-
-2011-08-05 Nicolas Roche <roche@adacore.com>
-
- * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
- libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
- canadian cross.
- * gcc-interface/Make-lang.in: Add support for canadian cross setting.
-
-2011-08-05 Matthew Heaney <heaney@adacore.com>
-
- * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
- subprogram bodies declared out-of-order.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Unique_Name): only prefix with "standard" the names of
- entities directly in package Standard, otherwise skip the standard
- prefix.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * a-cbmutr.adb: Minor reformatting
- (Allocate_Node): refactor node allocation algorithm
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
- * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
- mode.
- (Analyze_Pragma, case Check_Policy): Ditto.
- * sem_prag.ads (Check_Disabled): New function
- * snames.ads-tmpl: Add Name_Disable.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Document implementation-defined policy DISABLE for
- pragmas Assertion_Policy, Check_Policy, Debug_Policy.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
- that appears in a generic formal part and applies to a formal
- subprogram.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * a-cbmutr.ads: Minor reformatting.
-
-2011-08-05 Matthew Heaney <heaney@adacore.com>
-
- * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
- to check count, check sign of value instead.
- * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
- (Copy_Subtree): allocate copy of source element
- (Equal_Subtree): compare elements, not access objects
-
-2011-08-05 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi: Fix VMS alternative.
-
-2011-08-05 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch11.adb: Add comment.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb: Minor comment fix.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * scng.adb (Error_Unterminated_String): Improve flag position when
- comma present.
-
-2011-08-05 Matthew Heaney <heaney@adacore.com>
-
- * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
- tree containers).
- * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
- multiway tree containers.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
- * stylesw.adb: Implement -gnatyC to control comment spacing
- * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
- -gnatyc/C).
- * usage.adb: Add line for -gnatyC.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * gnat_ugn.texi: Document -gnatyC.
- * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
- synonym for COMMENTS2).
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
- a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
- sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
- a-comutr.ads, lib-xref.adb: Minor reformatting.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
- warning if there is an exception handler present.
-
-2011-08-05 Pascal Obry <obry@adacore.com>
-
- * a-iteint.ads: Fix copyright year.
-
-2011-08-05 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
- statement SCO for a USE clause or a representation clause.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
- between body and spec for stub.
- (Detect_And_Add_ALFA_Scope): take into account subprogram stub
- * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
- pragma precondition or postcondition, for which the enclosing
- subprogram or package in the AST is not the desired one, return empty.
-
-2011-08-05 Thomas Quinot <quinot@adacore.com>
-
- * g-expect.adb: Minor reformatting.
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * a-fihema.adb: Comment out OS_Lib.
-
-2011-08-05 Matthew Heaney <heaney@adacore.com>
-
- * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
- (unbounded multiway tree containers) and a-iteint.ads.
- * a-comutr.ads, a-comutr.adb:
- This is the new Ada 2012 unit for unbounded multiway tree containers
- * a-cimutr.ads, a-cimutr.adb
- This is the new Ada 2012 unit for indefinite multiway tree containers
- * a-iteint.ads: New file.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
- subpools.
- * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
- general indexing aspects of Ada2012. Called when analyzing indexed
- components when other interpretations fail.
- * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
- in an expression context where overloading is meaningful. This excludes
- the occurrence in an aspect specification (efficiency only).
- * sem_attr.adb (Analyze_Attribute): indicate that the attributes
- related to iterators can be set by an attribute specification, but
- cannot be queried.
- * sem_ch13.adb (Analyze_Aspect_Specifications): handle
- Constant_Indexing and Variable_Indexing.
- (Check_Indexing_Functions): New procedure to perform legality checks.
- Additional semantic checks at end of declarations.
-
-2011-08-05 Sergey Rybin <rybin@adacore.com>
-
- * tree_io.ads: Update ASIS_Version_Number because of the change of the
- order of calling Tree_Write/Tree_Read routines made for aspects.
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * a-fihema.adb (Finalize): Fix race condition.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation,
- Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
- mode.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Specific_Type): in an instance, the type-specific
- operand of an equality check that involves null may have a private
- type. Use full view to determine legality of construct.
-
-2011-08-05 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
- delete or close the file when the call to gnatmake was successful.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
- Global_Discard_Names.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sinfo.ads: comments on use of entity field for aspect specifications.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Reset_Entity): If the entity field of the associated
- node is not itself an entity but a selected component, it is a
- rewritten parameterless call to an en enclosing synchronized operation,
- and this expansion will be performed again in the instance, so there is
- no global information to preserve.
-
-2011-08-05 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
- for renamings of predefined primitives.
- (In_Predef_Prims_DT): New subprogram.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
- possible interpretation of name is a reference type, add an
- interpretation that is the designated type of the reference
- discriminant of that type.
- * sem_res.adb (resolve): If the interpretation imposed by context is an
- implicit dereference, rewrite the node as the deference of the
- reference discriminant.
- * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
- Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
- parent type or base type.
- * sem_ch4.adb (Process_Indexed_Component,
- Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
- Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
- Check for implicit dereference.
- (List_Operand_Interps): Indicate when an implicit dereference is
- ambiguous.
- * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
-
-2011-08-05 Thomas Quinot <quinot@adacore.com>
-
- * scos.ads: Update documentation of SCO table. Pragma statements can now
- be marked as disabled (using 'p' instead of 'P' as the statement kind).
- * par_sco.ads, par_sco.adb: Implement the above change.
- (Process_Decisions_Defer): Generate a P decision for the first parameter
- of a dyadic pragma Debug.
- * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
- necessary.
- * put_scos.adb: Code simplification based on above change.
-
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
- bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
- a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
- prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * a-stunau.ads, g-spipat.adb: Update comments.
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * a-fihema.ads: Minor comment fix.
- * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
- correct.
- (Attach, Detach): Remove some unnecessary code.
- (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
- allocation for Objects component. This simplifies the code somewhat. It
- is also a little more efficient in the not-so-unusual case where there
- are no controlled objects allocated.
- Make Finalization_Started flag atomic.
- (Finalize): Avoid unnecessary detachment of items from the list.
- (pcol): Minor cleanup.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
- package whose name is the same as that of the generic unit, or its
- ultimate prefix.
-
-2011-08-05 Bob Duff <duff@adacore.com>
-
- * a-fihema.adb, a-fihema.ads: Minor comment improvements.
- * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
- Minor comment fixes.
-
-2011-08-05 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Linking_Phase): No longer need to set source search path
- before calling gnatlink in CodePeer mode.
- * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
- gcc in CodePeer mode, since the binder generated file no longer has a
- 'with Main'.
- * switch.ads, switch.adb (Is_Language_Switch): Removed.
- * switch-c.adb: Update comment.
-
-2011-08-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
-
-2011-08-05 Nicolas Roche <roche@adacore.com>
-
- * gnat_ugn.texi: Fix minor syntax error issue.
-
-2011-08-05 Vincent Celier <celier@adacore.com>
-
- * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
- delete or close the file when the call to gnatmake returns a non
- successful return code.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
- check, indicate that the copy of the original node does not come from
- source, to prevent an infinite recursion of the expansion.
-
-2011-08-05 Johannes Kanig <kanig@adacore.com>
-
- * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
- VC generation for subprogram bodies.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * einfo.ads: Typo.
- * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
- the base type with the smallest allowed base type.
-
-2011-08-05 Sergey Rybin <rybin@adacore.com>
-
- * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
- aspects.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.ads: minor comment updates.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
- instantiation and a formal package the compiler generates a package
- renaming declaration so that the generic name within the declaration
- is interpreted as a renaming of the instance. At the end of a formal
- package declaration, this renaming must become invisible.
-
-2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
- comparison and rely on concrete entities instead.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
- and discriminants, to indicate that the type has an access discriminant
- that supports implicit dereference.
- * snames.ads-tmpl: Add names of aspects and attributes related to
- Ada2012 iterators: constant_indexing, default_iterator,
- iterator_element, implicit_dereference, variable_indexing.
- * aspects.ads, aspects.adb: entries for iterator-related aspects.
- * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
- iterator-related aspects.
- * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
-
-2011-08-05 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
- metrics in gnatmetric to cover new kinds of coupling mentrics.
-
-2011-08-05 Steve Baird <baird@adacore.com>
-
- * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
- of calling the user-defined main subprogram.
- (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
- is set) Call_Main_Subprogram ahead of, as opposed to
- inside of, Main.
- (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
- generation of a "with" of the user-defined main subprogram.
- Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
- (which is now called from Gen_Main instead).
-
-2011-08-05 Emmanuel Briot <briot@adacore.com>
-
- * projects.texi: Added reference to the Makefile package.
-
-2011-08-05 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch7.adb: Minor comment rewording.
-
-2011-08-05 Ed Falis <falis@adacore.com>
-
- * env.c: Fix comment.
-
-2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
- character comparison and rely on concrete entities instead.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb: (Check_Private_Overriding): better error message,
- suggested by AI95-0068.
-
-2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
- the two potential initialization calls. This accounts for any
- access-before-elaboration checks which may precede the initialization
- calls.
- (Next_Suitable_Statement): New routine. Returns the next real statement
- after the input node while skipping generated checks.
- * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
- with comment on usage.
- Do not generate Elaborate_All when the trigger is a finalization call
- coming from a type init proc.
- (Check_Elab_Call): Propagate the initialization procedure context to
- subsequent calls to Check_A_Call.
- (Check_Internal_Call_Continue): Propagate the initialization procedure
- context to subsequent calls to Check_Elab_Call.
- (Is_Finalization_Procedure): New routine. Returns True if the input
- entity denotes a [Deep_]Finalize routine.
- * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
- along with comment on usage.
-
-2011-08-05 Vadim Godunko <godunko@adacore.com>
-
- * s-atocou.ads: Add list of supported platforms.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
-
- * opt.ads (Disable_ALI_File): new Boolean flag
- * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
-
-2011-08-05 Ed Falis <falis@adacore.com>
-
- * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
- environ is properly defined.
-
-2011-08-05 Vincent Celier <celier@adacore.com>
-
- * make.adb (Compilation_Phase): Exit immediately when all objects have
- been found up to date, to avoid multiple exit messages.
- * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
- same project for languages with no compiler.
- * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
- -eI.
-2011-08-05 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
- sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
- prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
- s-atocou-builtin.adb: Minor reformatting.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
- if the node to wrap is a pragma check, this node and enclosed
- expression are not expanded, so do not apply any transformations here.
- * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
- introducing transient scopes.
-
-2011-08-05 Jose Ruiz <ruiz@adacore.com>
-
- * adaint.c (__gnat_set_writable, __gnat_set_readable,
- __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
- __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
- routine is available, so we use the default implementation of these
- functions.
- * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
- support for copying attributes on VxWorks 6.
-
-2011-08-05 Yannick Moy <moy@adacore.com>
-
- * debug.adb: Remove use of -gnatd.D.
- * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
- * opt.ads: Simplify variables for ALFA mode, to keep one only
- * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
- to ALFA mode.
-
-2011-08-05 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Do_Autoconf): Look also for --RTS in
- Builder'Default_Switches.
-
-2011-08-05 Vincent Celier <celier@adacore.com>
-
- * makeusg.adb: Add lines for --create-map-file switches.
-
-2011-08-05 Ed Schonberg <schonberg@adacore.com>
-
- * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
- profile is incomplete and the full view is available, replace it with
- the full view.
- * sem_ch6.adb (Possible_Freeze): if a type in the profile is
- incomplete, freezing the subprogram is delayed until the full view is
- frozen.
- * sem_type.adb (Disambiguate): an ambiguity between a user-defined
- fixed-point multiplication operator and the predefined operator is
- resolved in favor of the user-defined one.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
- CONST_CAST.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
- whether a type lacks user-defined Read or Write operations, or has a
- component that lacks them.
- * sem_attr.adb (Check_Stream_Attribute): if restriction
- No_Default_Stream_Attributes is active, verify that all subcomponent
- types of the target have user-defined stream operations, and report
- error otherwise.
- * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
- * exp_strm.adb: Build_Elementary_Input_Call,
- Build_Elementary_Write_Call): remove checks for restriction
- No_Default_Stream_Attributes, now checked in semantics.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
- switches on the command line, look for all valid --RTS switches in the
- Builder switches and for each language use the first runtime name found
- to invoke gprconfig.
- (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
- command line and there is no auto-configuration.
- (Runtime_Name_Set_For): New function.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Object_Declarations): Do not generate the
- elaborate initialization expression for variable Abort when processing
- a package body or a declaration.
- (Create_Finalizer): Propagate the package context when creating the
- exception-related variables.
- * exp_ch7.ads (Build_Object_Declarations): New formal parameter
- For_Package along with usage comment.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Makefile.in: Clean up targets.
- Enable new package for atomic counters and copy-on-write implementation
- of unbounded strings on x86 platforms.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb: Minor reformatting.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_strm.adb: Minor reformatting.
-
-2011-08-04 Vadim Godunko <godunko@adacore.com>
-
- * s-atocou.adb: Replace by dummy version and use on targets where atomic
- operations are not supported.
- * s-atocou-builtin.adb: Renamed from s-atocou.adb.
- * s-atocou-x86.adb: New file.
- * Makefile.rtl: Add s-atocou.o file
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Compile): Move setting of CodePeer_Mode to ...
- (Compilation_Phase): ... here.
- (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * Make-generated.in: Fix minor typo in comment.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
- the project path.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * a-coinho.adb: Minor reformatting.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * a-coinho.ads: Minor reformatting.
-
-2011-08-04 Vadim Godunko <godunko@adacore.com>
-
- * s-atocou.ads, s-atocou.adb: New files.
- * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
- a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
- direct use of GCC's atomic builtins and replace them by use of new
- atomic counter package.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_strm.adb: better error message for No_Default_Stream_Attributes.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
- with a call to Get_External_Tag.
- * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
- subprogram usage. Remove the guard against package declarations and
- bodies since Build_Cleanup_Statements is no longer invoked in that
- context.
- (Build_Components): Initialize Tagged_Type_Stmts when the context
- contains at least one library-level tagged type.
- (Build_Finalizer): New local variables Has_Tagged_Types and
- Tagged_Type_Stmts along with associated comments on usage. Update the
- logic to include tagged type processing.
- (Create_Finalizer): Insert all library-level tagged type unregistration
- code before the jump block circuitry.
- (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
- (Expand_N_Package_Declaration): Remove the call to
- Build_Cleanup_Statements.
- (Process_Tagged_Type_Declaration): New routine. Generate a call to
- unregister the external tag of a tagged type.
- (Processing_Actions): Reimplemented to handle tagged types.
- (Process_Declarations): Detect the declaration of a library-level
- tagged type and carry out the appropriate actions.
- (Unregister_Tagged_Types): Removed. The machinery has been directly
- merged with Build_Finalizer.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
- gnatls.adb, exp_ch3.adb: Minor reformatting.
-
-2011-08-04 Marc Sango <sango@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): Replace the message
- "invisible attribute of}" of the spark restriction violation in
- attribute reference by the simple message "invisible attribute of type".
- Indeed, the node value Error_Msg_Node_1 used is in conflit with the
- two insertion characters: '&' and '}'.
-
-2011-08-04 Vadim Godunko <godunko@adacore.com>
-
- * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
- * a-coinho.ads, a-coinho.adb: New file.
- * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
-
-2011-08-04 Nicolas Roche <roche@adacore.com>
-
- * alfa_test.adb: Not all ali files are containing alfa information even
- if compiled with -gnatd.F. So suppress warning about missing ALFA
- information.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
- scope.
- * put_alfa.adb: Check that scope name is not empty.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch3.adb (Stream_Operation_Ok): new predicate
- Needs_Elementary_Stream_Operation, to determine whether user-defined
- Read and Write attributes are available for the elementary components
- of the given type. If only the predefined attributes are available,
- then when restriction No_Default_Stream_Attributes is active the
- predefined stream attributes for the composite type cannot be created.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * bindgen.adb: Fix obsolete comments and names from Ada/C days.
- Put routines in alpha order
-
-2011-08-04 Jose Ruiz <ruiz@adacore.com>
-
- * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
- * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
- gnat1why).
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
- lib-xref-alfa.adb: Minor reformatting.
-
-2011-08-04 Marc Sango <sango@adacore.com>
-
- * sem_ch12.adb (Analyze_Generic_Package_Declaration,
- Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
- Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
- mode.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb (Gen_Adainit_C): Remove.
- (Gen_Adafinal_C): Ditto.
- (Gen_Elab_Externals_C): Ditto.
- (Gen_Elab_Calls_C): Ditto.
- (Gen_Elab_Order_C): Ditto.
- (Gen_Elab_Defs_C): Ditto.
- (Gen_Finalize_Library_C): Ditto.
- (Gen_Finalize_Library_Defs_C): Ditto.
- (Gen_Main_C): Ditto.
- (Gen_Output_File_C): Ditto.
- (Gen_Restrictions_C): Ditto.
- (Gen_Versions_C): Ditto.
- (Write_Info_Ada_C): Ditto.
- (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
- (Gen_Output_File): Do not force Ada_Bind_File anymore.
- Always call Gen_Output_File_Ada.
- * gnatlink.adb (Begin_Info): Now a constant.
- (End_Info): Ditto.
- (Ada_Bind_File): Remove
- (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
- * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
- * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
- * opt.ads (Ada_Bind_File): Remove.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * projects.texi: Document target-specific directory in default project
- path for gnatmake.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
- path in all cases .
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
- opt.ads, lib-xref.ads: Code clean up.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Update description of Test_Case
- * gnat_ugn.texi: Typo.
-
-2011-08-04 Ed Falis <falis@adacore.com>
-
- * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
- it is of type Root_Controlled. This action eliminates fields Prev and
- Next from type equality.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb: Correct typo.
-
-2011-08-04 Matthew Heaney <heaney@adacore.com>
-
- * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
- component.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
- (Analyze_Pragma): allow static string expression for name of Test_Case,
- instead of simply string literals.
- * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
- expressions.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
- case suffixes to find truncated main sources.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
- s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
- (Compute_Current_Task): Ditto.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
- library-level constant.
- (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
- * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
- used as selector of parameter association, in ALFA mode.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
- s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
- reformatting.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Linking_Phase): Set source search path before calling
- gnatlink in CodePeer mode.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
- Remove code which takes care of building TSDs.
- * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
- * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
- the accessibility check in VM targets.
- * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
- (Building_Static_DT): Now returns false for VM targets.
- (Build_VM_TSDs): Removed.
- (Expand_Interface_Conversion): Generate missing runtime check for
- conversions to interface types whose target type is unknown at compile
- time.
- (Make_VM_TSD): Add missing code to disable the generation of calls to
- Check_TSD if the tagged type is not defined at library level, or not
- has a representation clause specifying its external tag, or -gnatdQ is
- active.
- * exp_disp.ads (Build_VM_TSDs): Removed.
- (Make_VM_TSDs): Spec relocated from exp_disp.adb
- * sem_disp.adb (Check_Dispatching_Operation): No code required to
- register primitives in the dispatch tables in VM targets.
- * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
- initialization of class-wide interface objects in VM targets.
- (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
- of Make_DT).
-
-2011-08-04 Jerome Lambourg <lambourg@adacore.com>
-
- * gnatlink.adb (Gnatlink): Correct missleading error message displayed
- when dotnet-ld cannot be found.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * bindgen.adb: Simplify significantly generation of binder body file in
- CodePeer mode.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
- when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
- not expanded).
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_prag.adb, sem.ads: Code cleanup.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
- * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
- results if possible.
- * s-stusta.adb (Print): Adjust after changes in s-stausa.
- * gnat_ugn.texi: Update dynamic stack usage section.
-
-2011-08-04 Steve Baird <baird@adacore.com>
-
- * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
- Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
- contains only a call to the user-defined main subprogram.
- (Gen_Main_Ada) - If CodePeer_Mode is set, then
- call the "wrapper" subprogram instead of directly
- calling the user-defined main subprogram.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
- alternatives of a case statement for controlled objects. Rename local
- variable A to Dead_Alt.
- (Expand_N_If_Statement): Check the then and else statements of an if
- statement for controlled objects. Check the then statements of all
- elsif parts of an if statement for controlled objects.
- (Expand_N_Loop_Statement): Check the statements of a loop for controlled
- objects.
- * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
- detects a loop associated with the expansion of an array object.
- Augment the processing of the loop statements to account for a possible
- wrap done by Process_Statements_For_Controlled_Objects.
- * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
- statements and abortable part of an asynchronous select for controlled
- objects.
- (Expand_N_Conditional_Entry_Call): Check the else statements of a
- conditional entry call for controlled objects.
- (Expand_N_Selective_Accept): Check the alternatives of a selective
- accept for controlled objects.
- (Expand_N_Timed_Entry_Call): Check the entry call and delay
- alternatives of a timed entry call for controlled objects.
- * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
- exception handler for controlled objects.
- * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
- Add formal parameter Nested_Constructs along with its associated
- comment.
- (Requires_Cleanup_Actions (Node_Id)): Update all calls to
- Requires_Cleanup_Actions.
- (Process_Statements_For_Controlled_Objects): New routine.
- * exp_util.ads (Process_Statements_For_Controlled_Objects): New
- routine. Inspect a node which contains a non-handled sequence of
- statements for controlled objects. If such an object is found, the
- statements are wrapped in a block.
-
-2011-08-04 Bob Duff <duff@adacore.com>
-
- * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
- need to compare with Class_Wide_Type (T2), in order to get at the
- original class-wide type node.
- * sem_type.ads (Covers): Improve the comment.
- * einfo.ads (Class_Wide_Type): Improve the comment.
- * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
- the type of the Deref.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Document that Test_Case pragma can only appear on
- separate declarations.
- * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
- check identifier of pragma argument.
- (Chain_TC): check that no other test case associated to the same entity
- share the same name.
- (Check_Test_Case): disallow test case inside subprogram body
- (Analyze_Pragma): correct call to check identifier and not argument
- * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
- function gets name from test case pragma.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Document new pragma and aspect.
- * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
- (No_Duplicates_Allowed): new constant array defining whether duplicates
- aspects of each kind can appear on the same declaration.
- * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
- field, which points to a node holding the previous Spec_PPC_List.
- * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
- through the indirection with Contract.
- * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
- * par-prag.adb (Prag): do nothing on Test_Case pragma
- * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
- be called directly.
- * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
- component Ensures of Test_Case.
- * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
- (Analyze_Generic_Subprogram_Declaration,
- Analyze_Subprogram_Instantiation,
- Analyze_Abstract_Subprogram_Declaration,
- Analyze_Subprogram_Body_Helper,
- Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
- insert contract in subprogram node at point of definition
- * sem_ch13.adb
- (Aspect_Loop): do not raise error on duplicate Test_Case aspect
- (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
- corresponding pragma
- (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
- * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
- similar to the analysis of pre/post
- (Derive_Subprogram): insert contract in subprogram node at point of
- derivation.
- * sem_prag.adb, sem_prag.ads
- (Check_Arg_Is_String_Literal, Check_Identifier):
- new checking procedures to be called in treatment of pragmas
- (Check_Test_Case): new procedure to check that a Test_Case aspect or
- pragma is well-formed. This does not check currently that 'Result is
- used only in the Ensures component of a Test_Case.
- (Analyze_Pragma): add case for Test_Case
- (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
- components of a Test_Case.
- (Preanalyze_TC_Args): new procedure to preanalyze the boolean
- expressions in the 3rd (and 4th if present) arguments of a Test_Case
- pragma, treated as spec expressions.
- (Sig_Flags): add value -1 for Test_Case.
- * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
- Get_Requires_From_Test_Case_Pragma): getters for both expression
- components of a Test_Case.
- * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
- indirection between an entry or [generic] subprogram entity and its
- pre/post + test-cases.
- (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
- get/set for fields of an N_Contract node.
- * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
- Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
- names and pragma for Test_Case.
- * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi: Improve documentation of gnatmake switch
- --source-info-file=.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
- type). Initialize Atyp to the appropriate type which is later checked
- for completion. Rewrite the assertion associated with private type
- completion.
-
-2011-08-04 Ed Falis <falis@adacore.com>
-
- * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
- initialize the number of CPUs.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb (Disambiguate): New subsidiary routine
- In_Same_Declaration_List, to implement AI05-0020: a user-defined
- equality on an anonymous access type whose designated type is private
- does not lead to an ambiguity with the universal access equality
- operator in the body or child units of the defining package. The same
- is true for a multiplication operator on a private type completed with
- a fixed-point-type.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
- (Normalize_Scalars_Config): Removed.
- * opt.adb
- (Register_Opt_Config_Switches): Remove registering config values of
- Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
- (Restore_Opt_Config_Switches): Remove code which restores the values of
- Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
- Init_Or_Norm_Scalars.
- (Save_Opt_Config_Switches): Remove code which saves values of
- Init_Or_Norm_Scalars and Normalize_Scalars.
- (Set_Opt_Config_Switches): Remove code which restores config values of
- Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
- Init_Or_Norm_Scalars.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * frontend.adb (Frontend): remove previous patch to avoid full
- qualification in ALFA mode.
- * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
- * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
- unique name for an entity, which could be used to identify the entity
- across compilation units.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * prj-env.adb
- (Initialize_Default_Project_Path): Add target specific directory
- ($prefix/$target/lib/gnat) in front of project path in all cases
- (making gnatmake's behaviour consistent with gprbuild).
- * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
- Pass target name from Sdefault to project subsystem.
- * gnatls.adb: Show new target specific default project directory.
-
-2011-08-04 Johannes Kanig <kanig@adacore.com>
-
- * cstand.adb: Add Information to Identifier in Standard
- (Identifer_For): Set Entity to the corresponding entity
-
-2011-08-04 Sergey Rybin <rybin@adacore.com>
-
- * gnat_ugn.texi: Update doc on gnatcheck.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
- xrefs in a scope.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
- performing expansion.
- * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
- Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
- it is not called in ALFA mode.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
- after all, so removed.
-
-2011-08-04 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Add missing VMS qualifiers.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
- the list of files on the command line after processing it through
- Complete_Mains.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
- processing for .NET/JVM. These targets can now benefit from
- Raise_From_Controlled_Operation and they share the same processing with
- standard targets.
- (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
- These targets need transient scopes in order to properly finalize short
- lived controlled objects.
- (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
- NET/JVM. These targets can now benefit from
- Raise_From_Controlled_Operation and they share the same processing with
- standard targets.
-
-2011-08-04 Geert Bosch <bosch@adacore.com>
-
- * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
- Expand_Record_Aggregate, to determine whether aggregate must be
- expanded into assignments. This is the case if the ancestor part is
- private, regarless of the setting of the flag Has_Private_Ancestor.
-
-2011-08-04 Ed Falis <falis@adacore.com>
-
- * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
-
-2011-08-04 Bob Duff <duff@adacore.com>
-
- * sinfo.ads: Fix comment.
-
-2011-08-04 Steve Baird <baird@adacore.com>
-
- * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
- choose a package name in much the same way as is
- done for JGNAT when VM_Target /= No_VM, except that
- a slightly more distinctive prefix string is used.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb (Complete_Mains): no longer accept unit names on the
- gnatmake command line.
- This behavior was never documented (and was supported only because of
- an early bug in the code). This case might lead to ambiguous cases
- (between unit names and truncated base names without suffixes).
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
- Remove the external tag of a tagged type from the internal hash table.
- * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
- expanded usage of the routine. Strenghten the check for Is_Master. Add
- processing for tagged types.
- (Build_Finalizer): Create all the necessary lists used in finalizer
- creation when the processed context is a package that may contain
- tagged types.
- (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
- Requires_Cleanup_Actions.
- (Expand_N_Package_Body): Package bodies may need clean up code
- depending on whether they contain tagged types.
- (Expand_N_Package_Declaration): Package declarations may need clean up
- code depending on whether they contain tagged types.
- (Unregister_Tagged_Types): New routine. Search through a list of
- declarations or statements, looking for non-abstract Ada tagged types.
- For each such type, generate code to unregister the external tag.
- * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
- Requires_Cleanup_Actions.
- (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
- through a list of declarations or statements looking for non-abstract
- Ada tagged types or controlled objects.
- * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
- Requires_Cleanup_Actions.
- (Has_Controlled_Objects (List_Id, Boolean)): Removed.
- * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
- RE_Unit_Table.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
- has Ada sources, not project Project, because if the root project
- Project has no sources of its own, all projects will be deemed without
- sources.
-
-2011-08-04 Gary Dismukes <dismukes@adacore.com>
-
- * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
- of the No_Param_Proc acc-to-subp type used for initialization of
- __gnat_finalize_library_objects so that it's declared at library level
- rather than nested inside of the adainit routine.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
- if the tagged type has a representation clause which specifies its
- external tag.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
- Remove previous procedure with that name.
- * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
- when appropriate.
- * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
- subtype mark, the ancestor cannot have unknown discriminants.
- (Resolve_Record_Aggregate): if the type has invisible components
- because of a private ancestor, the aggregate is illegal.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
- account switches -gnat2005, -gnat12 and -gnat2012.
-
-2011-08-04 Bob Duff <duff@adacore.com>
-
- * s-tasdeb.ads: Minor comment fix.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
- CodePeer mode.
- * switch.ads, switch.adb (Is_Language_Switch): New function.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * switch-c.adb: Minor comment addition.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * vms_conv.adb (Process_Argument): Fail graciously when qualifier
- ending with '=' is followed by a space (missing file name).
-
-2011-08-04 Pascal Obry <obry@adacore.com>
-
- * g-regist.ads: Fix size of HKEY on x86_64-windows.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Associations): New routine
- Check_Overloaded_Formal_Subprogram to reject a formal package when
- there is a named association or a box initialisation for an overloaded
- formal subprogram of the corresponding generic.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * alfa.ads (ALFA_Xref_Record): add component for type of entity
- * get_alfa.adb, put_alfa.adb: Read and write new component of
- cross-reference.
- * lib-xref-alfa.adb (Collect_ALFA): generate new component.
-
-2011-08-04 Pascal Obry <obry@adacore.com>
-
- * urealp.adb: Minor reformatting.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
- Handle the case when Cleanup_Protected_Object returns Empty.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * frontend.adb (Frontend): only qualify names in non-ALFA mode
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
- call, ignore functions.
-
-2011-08-04 Geert Bosch <bosch@adacore.com>
-
- * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
- point.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
- as an index for Builder'Switches. This conforms to the documentation.
- * make.adb (Insert_Project_Sources): avoid duplicate code
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb (Complete_Mains): if the user has passed a relative file
- name on the command line (for instance "../dummy"), never assume it can
- be a unit name.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * bindgen.adb: Remove code the reference or create the
- Break_Start/__gnat_break_start procedure.
- * s-stalib.adb (Break_Start): Removed.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
- shared with gprbuild.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * par-ch4.adb (P_Primary): preferentially issue an error message about
- a missing parenthesis arount a conditional or case expression in Ada
- 2012 mode, if we detect that the alignment is not correct for a
- statement.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Process_Declarations): Do not consider the result of a
- tag-to-class-wide conversion as needing finalization actions.
- * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
- a tag-to-class-wide conversion as needing finalization actions.
- (Is_Finalizable_Transient): The result of a tag-to-class-wide
- conversion does not need finalization actions.
- (Is_Tag_To_CW_Conversion): New routine.
- * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
- whether an object is the result of a tag-to-class-wide conversion.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
- the left-hand-side and right-hand-side of a conjunct are inserted when
- translating a pre- or postcondition
- * sem_ch6.adb: Correct typo in comment
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * gnat_rm.texi: Ravenscar does not prohibit dependence on
- Unchecked_Conversion and Unchecked_Deallocation.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * make.adb: Minor reformatting.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
- sources in the project and its imported projects, but not in the whole
- tree.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb: Remove debug trace.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Do_Complete): Get the absolute path name of a relative
- path in canonical form, to be able to compare path names on platforms
- such as Windows or Darwin.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
- For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
- * scos.ads: Update documentation accordingly.
- * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
- pragmas.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
- attribute only if prefix type is scalar.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
- in gnatmake for specifying mains on the command line that do not belong
- to the main project. These mains must currently all belong to the same
- project, though.
- (Ultimate_Extension_Of): removed, since duplicated
- Ultimate_Extending_Project.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
- instead.
- (CodePeer_Mode_String): New.
- (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
- CodePeer mode.
- (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
- * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
- mode, since no useful elaboration subprogram is needed by CodePeer.
- * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
- In this mode, compile binder file with -gnatC and do stop after this
- step.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * exp_ch7.adb: Minor comment fix.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
- exp_ch4.adb, makeutl.adb: Minor reformatting.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
- Create several new subprograms to move code out of Make. This makes the
- code more readable, removes code duplication, and is a preparation work
- for adding support for aggregate projects.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * s-po32gl.ads, s-po32gl.adb: New files.
- * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
- * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
- (Build_Finalization_Collection): Use it.
- * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
- * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
- literals.
- * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb (Complete_Mains): add support for specs with no suffix on
- the command line.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
- command line is not a file name, also check whether it could be a unit
- name.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
- the header of the finalization routine.
- If the unit has no finalizer but is a body whose spec has one, then
- generate the decrement of the elaboration entity only.
- If the unit has a finalizer and is a spec, then do not generate the
- decrement of the elaboration entity.
- (Gen_Finalize_Library_C): Likewise.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Alignment_Of): New subsidiary routine.
- (Bounds_Size_Expression): Removed.
- (Double_Alignment_Of): New subsidiary routine.
- (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
- for a hole in the dope vector of unconstrained arrays due to different
- index and element alignments.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
- raise program_error because body has not been seen yet.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
- an unresolved name.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
- * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
- instantiation in RCI.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * make.adb: Share more code with gprbuild
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * projects.texi: Added documentation for the IDE'Gnat project file
- attribute.
-
-2011-08-04 Nicolas Roche <roche@adacore.com>
-
- * gnat_rm.texi: Minor editing.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
- and the library case for VM targets.
- (Gen_Adainit_Ada): Likewise.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * g-altive.ads: Minor comment updates.
- * prj-nmsc.adb: Minor reformatting.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * opt.ads
- (Normalize_Scalars_Config): Value of the configuration switch set by
- pragma Normalize_Scalars when it appears in the gnat.adc file.
- (Normalize_Scalars): New field for record Config_Switches_Type. Used
- to save and restore settings of this pragma.
- * opt.adb
- (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
- Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * makeutl.adb: Minor reformatting.
-
-2011-08-04 Olivier Hainque <hainque@adacore.com>
-
- * g-altive.ads: Update comments to reflect that only the soft
- binding is available today.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
- makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * prj-env.adb: Remove local debug traces.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
- was used instead of Hi_OK, which could cause a read of an uninitialized
- value later on. Detected while working on the new warning.
- * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
- to local variable.
- * sem_ch5.adb (Analyze_Assignment): set the last assignment component
- in more cases, in order to detect more unreferenced values.
- * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
- object for expression, if any.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
- the operand types instead of the Esize.
-
-2011-08-04 Steve Baird <baird@adacore.com>
-
- * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
- enable CodePeer_Mode.
- * bindusg.adb (Display): Add help message describing -P binder switch.
- * gnat_ugn.texi: Document -P binder switch.
- * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
- user-defined main program directly.
- (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
- user-defined main program in the context clause of the package body.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
- duplicate of Defining_Entity
- (Get_Unique_Entity_For_Decl): rename function into
- Unique_Defining_Entity
- * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
- (Formal_Proof_On): remove synthesized flag
- * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
- sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
- sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
- * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
- Annotate (Formal_Proof)
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
- source files with non-standard naming schemes, in imported projects
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb (Complete_Mains): when a multi-unit source file is
- specified on the gprbuild command line, we need to compile all units
- within that file, not just the first one we find
- Fix error message for mains that are not found.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch6.adb: Update comment.
- * sem_ch12.adb: Minor reformatting.
-
-2011-08-04 Bob Duff <duff@adacore.com>
-
- * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
- Acceptor.Terminate_Alternative without locking Acceptor, which causes a
- race condition whose symptom is to fail to lock Parent. That, in turn,
- causes Parent.Awake_Count to be accessed without locking Parent, which
- causes another race condition whose symptom is that Parent.Awake_Count
- can be off by 1 (either too high or too low). The solution is to lock
- Parent unconditionally, and then lock Acceptor, before reading
- Acceptor.Terminate_Alternative.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * debug.adb: Update comment.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
- sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
- exp_ch6.adb: Minor reformatting.
-
-2011-08-04 Gary Dismukes <dismukes@adacore.com>
-
- * gnat_ugn.texi: Add sentence about the case of compile-time-detected
- checks for -gnateE.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.ads: Minor reformatting.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
- even if there is no location.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb, sem_ch4.adb: move check for restriction
- No_Task_Hierarchy to resolve_allocator.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
- This flag of N_Pragma nodes is not used, remove it as well as all of
- the associated circuitry.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
- runtime check on duplicated externa tags
- * debug.adb Document switch -gnatdQ.
-
-2011-08-04 Gary Dismukes <dismukes@adacore.com>
-
- * a-fihema.ads: Minor typo fix.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch10.adb: Minor comment update.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * einfo.adb: Update the node field usage to reflect the renaming of
- Return_Flag to Return_ Flag_Or_Transient_Decl.
- (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
- (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
- (Write_Field15_Name): Change Return_Flag to
- Return_Flag_Or_Transient_Decl.
- * einfo.ads: Rename node field Return_Flag to
- Return_Flag_Or_Transient_Decl. Update the associated comment and all
- occurrences in entities.
- (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
- associated Inline pragma.
- (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
- associated Inline pragma.
- * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
- routine.
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
- Return_Flag and Set_Return_Flag.
- * exp_ch7.adb (Process_Declarations): Add code to recognize hook
- objects generated for controlled transients declared inside an
- Exception_With_Actions. Update the calls to Return_Flag.
- (Process_Object_Declaration): Add code to add a null guard for hook
- objects generated for controlled transients declared inside an
- Exception_With_Actions. Update related comment.
- * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
- objects generated for controlled transients declared inside an
- Exception_With_Actions. Update the calls to Return_Flag.
- * expander.adb (Expand): Add new case for N_Expression_With_Actions.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_util.adb:(Wrong_Type): Improve error message on a one-element
- positional aggregate.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
- SLOC only for pragmas.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * projects.texi: Minor typo fix.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
- on case-sensitive file systems.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
- nested in a disabled pragma.
- * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
- enclosing pragma, if any, for X decisions.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_prag.adb: Minor reformatting.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
- allowed in no run time mode.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * make.adb (Check): When -gnatc is used, check for the source file
- inside the ALI file with a canonical case file name.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
- overriding the separator.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
- prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor documentation fix for pragma Annotate.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
- 'Result only appears in postcondition of function.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
- external tag, include the value of the external tag in the exception
- message.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Result): modify error message for misplaced 'Result
-
-2011-08-04 Sergey Rybin <rybin@adacore.com>
-
- * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
- clear that the second argument must be an identifier.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch9.adb (Build_Barrier_Function): When compiling with
- -fpreserve-control-flow, insert an IF statement on the barrier
- condition to ensure that a conditional branch instruction is generated.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
- (Processing_Flags.Ignore_Missing_With): new flag.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
- Source_List_File on case-insensitive systems where the file is actually
- on a case-sensitive file system (NFS,...).
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
- function return contains a controlled [extension] aggregate and the
- return statement is not part of a handled sequence of statements, wrap
- the return in a block. This ensures that all controlled temporaries
- generated during aggregate resolution will be picked up by the
- finalization machinery.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
- components, freeze type before resolution, to ensure that default
- initializations are present for all components.
- * sem_res.adb (Resolve_Actuals): the designated object of an
- accces-to-constant type is a legal actual in a call to an
- initialization procedure.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
- N_Unchecked_Type_Conversion to the possible containers of a renamed
- transient variable.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * par-ch13.adb (Aspect_Specifications_Present): recognize
- "with Identifier'Class =>" as an aspect, so that a meaningful warning
- is issued in Strict mode.
- * par.adb: Fix typos in comments.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Result): modify error message to take into account Post
- aspect when compiling Ada 2012 (or newer) code.
-
-2011-08-04 Nicolas Roche <roche@adacore.com>
-
- * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
- remove need for GCC exceptions.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
- project, not the source file name.
- * prj.adb (Find_Sources.Look_For_Sources): If the source has been
- excluded, continue looking. This excluded source will only be returned
- if there is no other source with the same base name that is not locally
- removed.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
- private and one of the operands is a real literal, use a qualified
- expression rather than a conversion which is not meaningful to the
- back-end.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
- corresponding aspect X'Class are allowed, proceed with analysis of the
- aspect instead of skipping it.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
- This will allow to have an Ada implementation for the subprogram.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
- completion and aspects are present, apply them to the entity for the
- type which is currently the partial view, but which is the one that
- will be frozen.
- * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
- applies to a partial view, indicate that the full view has predicates
- and delayed aspects.
- (Replace_Type_Reference): Handle properly predicates that apply to the
- full view of a private completion.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * layout.adb (Layout_Type): For composite types, do not set Esize.
- * freeze.adb (Set_Small_Size): Remove test on alignment and do not
- set Esize.
- (Size_Known): Look at the RM size of components instead of the Esize.
- (Freeze_Record_Type): Look at the RM size instead of the Esize to
- issue warning and activate Implicit_Packing.
- (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
- if the Esize is not known.
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
- for elementary types only.
- (Analyze_Record_Representation_Clause): Look at the RM size instead
- of the Esize to issue errors.
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
- is not known.
- <E_Record_Type>: Look at the RM size instead of the Esize. Remove
- obsolete block.
- Look at the RM size instead of the Esize for types if the latter is
- not known.
- (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_type.adb: proper handling of equality not involving anonymous
- access types.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
- Vis_Decls. When creating a library-level finalizer for a package spec,
- both the declaration and body of the finalizer are inserted either in
- the visible or private declarations of the package spec.
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
- use of the full-view of a type when invoking Is_Ancestor.
- * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
- the full-view of private parents is requested, then use also the
- full-view of the parent of the first derivation.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
- instead of the locally imported procedure.
- * s-taprop-mingw.adb (Enter_Task): Ditto.
- * s-valrea.adb (Scan_Real): Ditto.
- * s-imgrea.adb (Set_Image_Real): Ditto.
- * s-flocon.ads: Make the package pure.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
- * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
- * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
- New subprogram, moved here from...
- * par.adb, par-ch5.adb (P_Statement_Name): ... here.
- * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
- rewriting of the last argument into a procedure call statement here...
- * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
- instead.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb: Minor reformatting.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * erroutc.adb: Minor reformatting.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * par_sco.adb: Comment update.
-
-2011-08-04 Tristan Gingold <gingold@adacore.com>
-
- * s-flocon.ads: New file.
- * g-flocon.ads: Now a renaming of s-flocon.
- * Makefile.rtl: Add s-flocon.o
-
-2011-08-04 Javier Miranda <miranda@adacore.com>
-
- * exp_strm.adb (Build_Array_Input_Function): if the array type is
- constrained, do not attempt to build a subtype of it.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * errout.ads Change comments: remove 'R'M as an example where quotes
- are needed; add ALFA as another case where quotes are not needed
- * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
- case where quotes are not needed.
- * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
- sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
- Remove all occurrences of 'A'L'F'A
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch13.adb: check legality of invariant pragma.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * bindgen.adb: Add comments.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
- synthesized flag.
- * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
- (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
- osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
- sem_ch13.adb, s-pooloc.adb: Minor reformatting.
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * s-pooloc.ads, s-pooglo.ads: Minor reformatting
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- PR ada/47880
- * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
- allocated object.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads, exp_ch4.adb: Minor reformatting.
-
-2011-08-04 Jerome Lambourg <lambourg@adacore.com>
-
- * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
-
-2011-08-04 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
- type in all cases to compute list of primitive operations, because full
- view may be an itype that is not attached to the list of declarations.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
- library has already been finalized.
- (Gen_Adafinal_C): Likewise.
- (Gen_Adainit_Ada): Generate an early return if the library has
- already been elaborated.
- (Gen_Adainit_C): Likewise.
- (Gen_Output_File_Ada): Generate an elaboration flag.
- (Gen_Output_File_C): Likewise.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
- Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
- built in the first place.
- (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
- for CodePeer because Finalize_Address was not built to begin with.
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
-
-2011-08-04 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_tmp_name): Use current process id to create temp
- filenames, this ensures unicity of filenames across processes.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
- Raise_Controlled to Raise_From_Controlled_Operation. Update the
- signature of Raise_From_Controlled_Operation by adding flag From_Abort.
- Add False as the actual to From_Abort in the generated call to
- Raise_From_Controlled_Operation.
-
-2011-08-04 Jerome Lambourg <lambourg@adacore.com>
-
- * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
- so that the ali file name can be retrieved from outside of this package.
- * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
- doing nothing in the general case, but used to update the object file
- timestamp if directly generated by the backend.
- * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
- to a later time than the ali file one.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
- entities whose body contains an Annotate pragma which forces formal
- proof on this body.
- * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
- sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
- Mark_Non_ALFA_Subprogram to pass in a message and node.
- * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
- (Forma_Proof, On) which sets the flag Formal_Proof_On in the
- surrounding subprogram.
- * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
- Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
- as not in ALFA is annotated with Formal_Proof being On, then an error
- is issued based on the additional parameters for message and node.
- * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
- Finalize_Address when CodePeer is enabled.
-
-2011-08-04 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
- the latter returns a pointer to a static buffer which is deallocated
- at the end of the routine.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
- after index creation; mark unconstrained base array type generated as
- being in/not in ALFA as well
- (Make_Index): mark subtype created as in/not in ALFA
- * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
- over a loop as in/not in ALFA, depending on its type and form of loop
- iteration.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
- directly to False on .NET and JVM.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
- constraint that subtype must come from source code to be in ALFA, so
- that anonymous subtypes can be in ALFA too.
-
-2011-08-04 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
- reference for ALFA mode.
- * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
- procedure public so as to use it from formal verification back-end.
-
-2011-08-04 Jerome Lambourg <lambourg@adacore.com>
-
- * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
- invalid checks of the Parameter, making Remove_Switch not working
- correctly.
-
-2011-08-04 Arnaud Charlet <charlet@adacore.com>
-
- * targparm.ads: Update header: no run-time exception is needed on this
- file.
-
-2011-08-04 Vincent Celier <celier@adacore.com>
-
- * a-fihema.adb: Use System.IO instead of GNAT.IO
-
-2011-08-04 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
- are forbidden in Compiler_Unit mode.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * sem_util.adb: Minor reformatting.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
- library-level finalizers.
- (Gen_Finalize_Library_C): Update the import string for library-level
- finalizers.
- (Gen_Finalize_Library_Defs_C): Update the definition name of a
- library-level finalizer.
- * exp_ch7.adb: Remove with and use clauses for Stringt.
- (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
- Spec_Decl. Add local variable Body_Id. The names of library-level
- finalizers are now manually fully qualified and are no longer external.
- A single name is now capable of servicing .NET, JVM and non-VM targets.
- Pragma Export is no longer required to provide visibility for the name.
- (Create_Finalizer_String): Removed.
- (New_Finalizer_Name): New routine which mimics New_..._Name.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
- elaboration counter to Standard_Short_Integer.
- * sem_util.adb (Build_Elaboration_Entity): Likewise.
- * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
- (Gen_Elab_Externals_C): Likewise.
-
-2011-08-04 Ed Falis <falis@adacore.com>
-
- * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
- system-vxworks-ppc.ads, system-vxworks-m68k.ads,
- system-vxworks-mips.ads, system-vxworks-x86.ads
- (Always_Compatible_Rep): set to False for all VxWorks targets.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
- makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
- exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
- exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
- exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
- sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
- sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
- Minor reformatting and code reorganization.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * projects.texi: Added doc for aggregate projects.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
- Add support for overriding the Project_Path in aggregate projects.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * a-cofove.ads: Minor reformatting.
-
-2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
- on the generated code.
- (Build_Finalize_Statements): Update the comment on the generated code.
- (Build_Initialize_Statements): Update the comment on the generated code.
- (Build_Object_Declarations): Add local variable Result. The object
- declarations are now built in sequence.
- * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
- RE_Unit_Table.
-
-2011-08-04 Robert Dewar <dewar@adacore.com>
-
- * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
-
-2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Elaboration_Entity): Document new definition and use.
- (Elaboration_Entity_Required): Adjust to above change.
- * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
- * exp_ch12.adb: And with and use for Snames.
- (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
- * exp_util.adb (Set_Elaboration_Flag): Likewise.
- * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
- <Check_Unit_Name>: Deal with N_Expanded_Name.
- <Attribute_Elaborated>: Extend to all unit names.
- * sem_elab.adb: And with and use for Uintp.
- (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
- * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
- * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
- * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
- from Gen_Adainit_Ada.
- (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
- (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
- case, do not call System.Standard_Library.Adafinal; instead call
- finalize_library if needed.
- (Gen_Adafinal_C): Likewise.
- (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
- non-main program case.
- (Gen_Adainit_C): Generate a couple of external declarations here.
- In the main program case, set SSL.Finalize_Library_Objects.
- (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
- (Gen_Elab_Calls_C): Likewise.
- (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
- (Gen_Finalize_Library_C): Likewise. Generate a full function.
- (Gen_Main_C): Put back call to Ada_Final and don't finalize library
- objects here.
- (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
- if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
- Gen_Adafinal_Ada.
- (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
- if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
- of external declarations. Call Gen_Finalize_Library_C.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
- Compute_Compilation_Phases): new subprogram.
- (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
- The number of mains as well as the various compilation phases that
- need to be run are now project tree specific, since various
- aggregated trees might have different requirements. In particular,
- they do not all require bind or link phases.
-
-2011-08-04 Emmanuel Briot <briot@adacore.com>
-
- * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
- (Project_Tree_Appdata): New type.
- It is now possible to associate application-specific data to a project
- tree. In particular, this is used in the gprbuild builder to avoid a
- number of global tables and htables, especially now that there can be
- several project trees loaded at once because of aggregate projects.
- (Debug_Name): new procedure.
- * projects.texi: Clarify syntax of "**" for Source_Dirs
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
- the "roots" for a main.
- (Fill_From_Project): add support for aggregate projects. Main units
- in aggregated projects are now automatically added in the list of
- files to build (although this fails later on in gprbuild, because
- these files are not using the root proejct tree, so this needs
- further cleanup)
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
- conditional expression in ALFA.
- * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
- expressions as not in ALFA.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * a-cofove.adb: Minor reformatting.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
- (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
- gprbuild sources.
- These packages are more logically placed in the Queue package, since
- they manipulate the queue. It is also likely that they can be adapted
- for gnatmake, thus sharing more code.
- (Finish_Program, Fail_Program): moved from the gprbuild sources, so
- that we could move the above.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * errutil.adb (Finalize): clean up the list of error messages on exit.
- Calling this subprogram multiple times will no longer show duplicate
- error messages on stderr.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
- Getopt_Switches when we have already define a command line
- configuration.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
- in ALFA. Instead, they are considered as assertions to prove.
- * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
- nodes as not in ALFA. Instead, include conditional expressions in ALFA
- if they have no ELSE part, or if they occur in pre- and postconditions,
- where the Condition cannot have side-effects in ALFA
- (Analyze_Membership_Op): do not mark such nodes as not in ALFA
- (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
- Instead, include type conversion between scalar types in ALFA.
- * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
- if-and-only-if its type is in ALFA.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * scos.adb, get_scos.adb, put_scos.adb
- New code letter for decisions: G (entry guard)
- * par_sco.adb
- (Traverse_Subprogram_Body): Rename to...
- (Traverse_Subprogram_Or_Task_Body): New subrpogram.
- (Traverse_Protected_Body): New subprogram
- (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
- protected bodies and entry bodies.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
- entities with get/set subprograms, which is set on procedure entities
- generated by the compiler for a postcondition.
- * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
- * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
- entity for a declaration
- (Get_Unique_Entity_For_Decl): new function returning an entity which
- represents a declaration, so that matching spec and body have the same
- entity.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
- a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
- library-level because retriction No_Implicit_Dynamic_Code in the
- front-end prevents its definition as a local subprogram
- (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
- for reuse in other contexts
- (Traverse_Declarations_Or_Statements,
- Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
- Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
- procedures take a callback parameter to be called on all declarations
- * lib-xref.ads
- (Traverse_All_Compilation_Units): new generic function to traverse a
- compilation unit and call a callback parameter on all declarations
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
- in Java since they are always enclosed in a namespace that
- differentiates them, and overloaded entities are supported by the VM.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * checks.adb (Determine_Range): If a computed bound of an operation is
- outside the range of the base type of the expression, and overflow
- checks are enabled, the result is unknown and cannot be used for any
- subsequent constant folding.
- * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
- unknown, so is the result of the comparison.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
- From_Abort. When finalization was triggered by an abort, propagate
- Standard'Abort_Signal rather than Program_Error.
- * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
- From_Abort.
- * a-except.adb (Raise_From_Controlled_Operation): Add new formal
- From_Abort. When finalization was triggered by an abort, propagate
- Standard'Abort_Signal rather than Program_Error.
- * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
- From_Abort.
- * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
- Abort_Id. Update the calls to Build_Object_Declarations and
- Build_Raise_Statement to include Abort_Id.
- (Build_Adjust_Statements): New local variable Abort_Id. Update the
- calls to Build_Object_Declarations and Build_Raise_Statement to include
- Abort_Id.
- (Build_Finalize_Statements): New local variable Abort_Id. Update the
- calls to Build_Object_Declarations and Build_Raise_Statement to include
- Abort_Id.
- (Build_Components): Create an entity for Abort_Id when exceptions are
- allowed on the target.
- (Build_Finalizer): New local variable Abort_Id.
- (Build_Initialize_Statements): New local variable Abort_Id. Update the
- calls to Build_Object_Declarations and Build_Raise_Statement to include
- Abort_Id.
- (Build_Object_Declarations): Add new formal Abort_Id. Create the
- declaration of flag Abort_Id to preserve the original abort status
- before finalization code is executed.
- (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
- runtime routine Raise_From_Controlled_Operation.
- (Create_Finalizer): Update the call to Build_Raise_Statement to include
- Abort_Id. Update the call to Build_Object_Declarations to include
- Abort_Id. Update the layout of the finalizer body.
- (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
- (Process_Transient_Objects): New local variable Abort_Id. Remove the
- clunky code to create all flags and objects related to
- exception propagation and replace it with a call to
- Build_Object_Declarations. Update the call to Build_Raise_Statement to
- include Abort_Id.
- * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
- Add new formal Abort_Id and associated comment on its use.
- (Build_Raise_Statement): Add new formal Abort_Id and associated comment
- on its use.
- * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
- Remove the clunky code to create all flags and objects related to
- exception propagation and replace it with a call to
- Build_Object_Declarations. Update the call to Build_Raise_Statement.
-
-2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * s-tassta.adb: Fix minor typos.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
- lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
- to packages. This ensures that the finalizer body will not end up
- inside the freeze node.
- (Process_Declarations): Add code to detect whether a freeze node has a
- nested finalization collection.
-
-2011-08-03 Pascal Obry <obry@adacore.com>
-
- * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
- (Current_Session): Return a not null access to Session_Type.
- (Default_Session): Likewise.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
- exp_ch3.adb, exp_ch3.ads: Minor reformatting.
-
-2011-08-03 Pascal Obry <obry@adacore.com>
-
- * g-awk.ads: Minor comment fix.
-
-2011-08-03 Sergey Rybin <rybin@adacore.com>
-
- * tree_io.ads (ASIS_Version_Number): Update because of the changes in
- the tree structure related to discriminant constraints.
- Original_Discriminant cannot be used any more for computing the
- defining name for the reference to a discriminant.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
- function is not visibly tagged, this is not a dispatching call and
- therfore is not Tag_Indeterminate, even if the function is marked as
- dispatching on result.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
- (Expand_N_Free_Statement): Add a guard to protect against run-times
- which do not support controlled types.
- * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
- against run-times which do not support controlled types.
- * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
- against run-times which do not support controlled types.
- * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
- against run-times which do not support controlled types.
- * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
- protect against run-times which do not support controlled types.
-
-2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
- (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
- modified in the source, to prevent spurious warnings when compiling
- with -gnatg.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * a-except-2005.adb: Minor reformatting.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
- is a renaming declaration in the private part of a package, do not emit
- a warning that the with_clause could be moved because the renaming may
- be used in the body or in a child unit.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
- Propagate the Comes_From_Source attribute from the original return
- object to the renaming.
-
-2011-08-03 Jose Ruiz <ruiz@adacore.com>
-
- * exp_ch7.adb (Build_Raise_Statement): Do not call
- Raise_From_Controlled_Operation when this routine is not present in
- the run-time library.
- (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
- libraries (Ravenscar), tasks are non-terminating, and protected objects
- and tasks can only appear at library level, so we do not want
- finalization of protected objects nor tasks.
- * exp_intr.adb: Minor clarification in comment.
- bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
- Gen_Output_File_C): Remove references to finalization of library-level
- objects when using restricted run-time libraries.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Discriminant_Constraints): Set
- Original_Discriminant only if the parent type is a generic formal.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch13.adb: Add with and use clause for Targparm;
- (Expand_N_Free_Statement): Prevent the generation of a custom
- Deallocate on .NET/JVM targets since this requires pools and address
- arithmetic.
- * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
- .NET/JVM targets, attach the newly allocated object to the access
- type's finalization collection. Do not generate a call to
- Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
- exist in the runtime.
- (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
- create a custom Allocate for object that do not require initialization.
- Attach a newly allocated object to the access type's finalization
- collection on .NET/JVM.
- * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
- assignment of controlled types on .NET/JVM. The two hidden pointers
- Prev and Next and stored and later restored after the assignment takes
- place.
- * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
- kludge for .NET/JVM to recognize a particular piece of code coming from
- Heap_Management and change the call to Finalize into Deep_Finalize.
- * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
- finalization collections on .NET/JVM only for types derived from
- Controlled. Separate the association of storage pools with a collection
- and only allow it on non-.NET/JVM targets.
- (Make_Attach_Call): New routine.
- (Make_Detach_Call): New routine.
- (Process_Object_Declarations): Suppress the generation of
- build-in-place return object clean up code on .NET/JVM since it uses
- pools.
- * exp_ch7.ads (Make_Attach_Call): New routine.
- (Make_Detach_Call): New routine.
- * exp_intr.adb Add with and use clause for Targparm.
- (Expand_Unc_Deallocation): Detach a controlled object from a collection
- on .NET/JVM targets.
- * rtsfind.ads: Add entries RE_Attach, RE_Detach and
- RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
- * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
- names used in finalization.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-fihema.adb: Add with and use clauses for System.Soft_Links.
- (Attach, Detach): Lock the current task when chaining an object onto a
- collection.
-
-2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
-
- * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
- Rewritten to create the message strings when the exception is not
- raised by an abort during finalization.
- * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
- Raise_From_Controlled_Operation and update its associated comment.
- * a-fihema.ads, a-fihema.adb: New GNAT unit.
- Ada.Finalization.Heap_Management provides key functionality
- associated with controlled objects on the heap, their creation,
- finalization and reclamation. Type Finalization_Collection is
- effectively a wrapper which sits ontop of a storage pool and performs
- all necessary bookkeeping for all the objects it contains. Each
- access-to-controlled or access-to-class-wide type receives a collection
- as part of its expansion. The compiler generates buffer code and
- invokes Allocate / Deallocate to create and destroy allocated
- controlled objects.
- * a-finali.adb ("="): Removed.
- * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
- fields Prev and Next.
- * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
- A library unit with at least one controlled object on the library level
- has a special finalizer which is invoked by the binder. To signal this,
- ali files carry field PF.
- * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
- associated comment on field usage.
- * a-tags.adb (Get_RC_Offset): Removed.
- (Needs_Finalization): New routine.
- * a-tags.ads: Update the structure of the GNAT dispatch tables.
- Dispatch tables now carry field Needs_Finalization which provides
- runtime indication whether a type is controlled or has controlled
- components or both. Remove field RC_Offset.
- (Get_RC_Offset): Removed along with its associated pragma Export.
- Since tagged types with controlled components no longer carry hidden
- field _controller, the special mechanism to retrieve its location is no
- longer needed.
- (Needs_Finalization): New routine.
- * atree.ads, atree.adb (Elist24): New routine.
- (Set_Elist24): New routine.
- * atree.h: Add a define clause for Elist24.
- * bindgen.adb New library-level variable Lib_Final_Built.
- (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
- presence of a VM target, the routine generates calls to the proper
- library finalization routine.
- (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
- targets. Set the correct library finalization routine depending on
- whether the library has controlled objects or this is a VM compilation.
- (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
- to library-level finalizers of compiled units in reverse order of
- elaboration. It also produces exception management code and reraises a
- potential exception after all units have been finalized.
- (Gen_Finalize_Library_C): New routine. This procedure generates calls to
- library-level finalizers of compiled units in reverse order of
- elaboration.
- (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
- definitions of all library-level finalizers available to the compilation
- (Gen_Main_Ada): Directly call Adafinal which now contails all target
- dependent code.
- (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
- System.Standard_Library.Adafinal directly. If the library needs
- finalization actions, create the sequence of finalization calls.
- (Gen_Output_File_Ada): Alphabetize local variables and constants.
- Generate a with clause for System.Soft_Links when compiling for a VM.
- Remove the code which imports System.Standard_Library.Adafinal as
- Do_Finalize. Generate the library finalization routine.
- (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
- If the library needs finalization actions, create all the definitions
- of library- level finalizers.
- (Has_Finalizer): New routine. Determines whether at least one compiled
- unit has a library-level finalizer.
- Add type Qualification_Mode.
- (Set_Unit_Name): Add a formal which controls the replacement of a dot.
- * einfo.adb: New usage of field 15 as Return_Flag.
- Remove Finalization_Chain_Entity from the usages of field 19.
- Remove Associated_Final_Chain from the usages of field 23.
- New usage of field 23 as Associated_Collection.
- New usage of field 24 as Finalizer.
- New usage of flag 252 as Is_Processed_Transient.
- (Associated_Final_Chain): Removed.
- (Associated_Collection): New routine.
- (Finalization_Chain_Entity): Removed.
- (Finalizer): New routine.
- (Is_Finalizer): New routine.
- (Is_Processed_Transient): New routine.
- (Return_Flag): New routine.
- (Set_Associated_Final_Chain): Removed.
- (Set_Associated_Collection): New routine.
- (Set_Finalization_Chain_Entity): Removed.
- (Set_Finalizer): New routine.
- (Set_Is_Processed_Transient): New routine.
- (Set_Return_Flag): New routine.
- (Write_Entity_Flags): Include Is_Processed_Transient to the list of
- displayed flags.
- (Write_Field8_Name): Alphabetize the output.
- (Write_Field11_Name): Alphabetize the output.
- (Write_Field12_Name): Alphabetize the output.
- (Write_Field13_Name): Alphabetize the output.
- (Write_Field14_Name): Alphabetize the output.
- (Write_Field15_Name): Alphabetize the output.
- (Write_Field16_Name): Alphabetize the output.
- (Write_Field17_Name): Alphabetize the output.
- (Write_Field18_Name): Alphabetize the output.
- (Write_Field19_Name): Alphabetize the output. Remove the output of
- Finalization_Chain_Entity.
- (Write_Field20_Name): Alphabetize the output.
- (Write_Field21_Name): Alphabetize the output.
- (Write_Field22_Name): Alphabetize the output.
- (Write_Field23_Name): Alphabetize the output. Remove the output of
- Associated_Final_Chain. Add output for Associated_Collection.
- (Write_Field24_Name): Alphabetize the output.
- (Write_Field25_Name): Add output for Finalizer.
- (Write_Field26_Name): Alphabetize the output.
- (Write_Field27_Name): Alphabetize the output.
- (Write_Field28_Name): Alphabetize the output.
- * einfo.ads: Add new field description for Associated_Collection and
- its uses in nodes.
- Remove Associated_Final_Chain and its uses in nodes.
- Remove Finalization_Chain_Entity and its uses in nodes.
- Add new field description for Finalizer and its uses in nodes.
- Add new synthesized attribute Is_Finalizer.
- Add new flag description for Is_Processed_Transient and its uses in
- nodes.
- Add new field description for Return_Flag and its uses in nodes.
- (Associated_Final_Chain): Removed along with its pragma Inline.
- (Associated_Collection): New routine and pragma Inline.
- (Finalization_Chain_Entity): Removed along with its pragma Inline.
- (Finalizer): New routine and pragma Inline.
- (Is_Finalizer): New routine and pragma Inline.
- (Is_Processed_Transient): New routine and pragma Inline.
- (Return_Flag): New routine and pragma Inline.
- (Set_Associated_Final_Chain): Removed along with its pragma Inline.
- (Set_Associated_Collection): New routine and pragma Inline.
- (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
- (Set_Finalizer): New routine and pragma Inline.
- (Set_Is_Processed_Transient): New routine and pragma Inline.
- (Set_Return_Flag): New routine and pragma Inline.
- * exp_aggr.adb: Alphabetize subprograms.
- (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
- (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
- associated comments. Remove local variables External_Final_List and
- Attach.
- Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
- Ancestor. Remove the retrieval of finalization lists. Update the call to
- Make_Adjust_Call.
- (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
- lists. Update the call to Late_Expansion.
- (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
- (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
- (Gen_Assign): Remove the retrieval of the finalization list used to
- build the assignment. Update the calls to Make_Init_Call and
- Make_Adjust_Call.
- (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
- Remove the mechanism to determine attachment levels and finalization
- list retrieval. Remove the processing for coextensions.
- (Init_Controller): Removed. Controllers no longer exist.
- (Late_Expansion): Remove formals Flist and Obj along with their
- associated comments. Update the calls to Build_Record_Aggr_Code and
- Build_Array_Aggr_Code.
- * exp_ch13.adb (Expand_N_Free_Statement): New routine.
- (Expand_N_Freeze_Entity): Add special processing for finalizers which
- appear in entry bodies, protected subprograms and task bodies.
- * exp_ch13.ads (Expand_N_Free_Statement): New routine.
- * exp_ch3.adb (Add_Final_Chain): Removed.
- (Build_Array_Init_Proc): Alphabetize local variables.
- (Build_Assignment): Alphabetize local variables. Update the call to
- Maked_Adjust_Call.
- (Build_Class_Wide_Master): Rename local variables to better reflect
- their role.
- (Build_Discriminant_Assignments): Code reformatting.
- (Build_Init_Call_Thru): Code reformatting.
- (Build_Init_Procedure): Code reformatting. Generate a special version
- of Deep_Finalize which is capable of finalizing all initialized
- components and ignore the rest.
- (Build_Init_Statements): Rename local variables to better reflect their
- role.
- Reimplement the mechanism to include the creation and update of an index
- variable called a "counter". It is used as a bookmark for tracing
- initialized and non-initialized components.
- (Build_Initialization_Call): Remove local variable Controller_Typ.
- Alphabetize all local variables. Remove the initialization of the
- record controller and update the call to Make_Init_Call.
- (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
- New local variable Counter.
- (Constrain_Array): Alphabetize.
- (Expand_Freeze_Array_Type): Create a collection instead of a
- finalization list.
- (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
- Finalize_Address which is used in conjunction with allocated controlled
- objects.
- (Expand_N_Object_Declaration): Remove the creation of a finalization
- list for anonymous access types. Update the calls to Make_Init_Call and
- Make_Adjust_Call.
- (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
- retrieval of finalization lists. Remove the expansion of the record
- controller. Create TSS primitive Finalize_Address used in conjunction
- with controlled objects on the heap. Create finalization collections
- for access-to-controlled record components.
- (Expand_Record_Controller): Removed.
- (Freeze_Type): Remove the freezing of record controllers. Freezing of
- class-wide types now requires additional processing. Create
- finalization collections for access-to-controlled types.
- (Increment_Counter): New routine.
- (Make_Counter): New routine.
- (Make_Eq_If): Remove the mention of Name_uController.
- (Make_Predefined_Primitive_Specs): There is no longer need to skip
- types coming from System.Finalization_Root.
- (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
- (Predefined_Primitive_Bodies): There is no longer need to skip types
- coming from System.Finalization_Root.
- (Stream_Operation_OK): Do not generate stream routines for
- type Ada.Finalization.Heap_Management.Finalization_Collection.
- * exp_ch3.ads: Alphabetize subprograms.
- * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
- Add with and use clause for Lib.
- (Complete_Coextension_Finalization): Removed.
- (Complete_Controlled_Allocation): New routine. Create a finalization
- collection for anonymous access-to-controlled types. Create a custom
- Allocate which interfaces with the back end and the machinery in
- Heap_Management.
- (Expand_Allocator_Expression): Add necessary calls to
- Complete_Controlled_Allocation. Remove the retrieval of finalization
- lists. Update the calls to Make_Adjust_Call. Generate a call to
- Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
- the associated collection.
- (Expand_N_Allocator): Remove the processing for dynamic coextensions.
- Code clean up. Remove the retrieval of finalization lists and
- attachment levels.
- Update the call to Make_Init_Call. Generate a call to
- Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
- the associated collection.
- (Get_Allocator_Final_List): Removed. Finalization lists are not
- available.
- (Suitable_Element): Remove the mention of Name_uController.
- * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
- (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
- the left hand side, carry out the assignment and adjust the left hand
- side.
- * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
- (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
- (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
- BIP_Collection and BIPcollection.
- (Build_Heap_Allocator): New routine used to allocate the return object
- of a build-in-place function onto a collection.
- (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
- (Expand_Call): Do not replace direct calls to Deep routines with their
- aliases.
- (Expand_N_Extended_Return_Statement): Give all variables shorter names
- and update their occurrences. Add a special return flag to monitor the
- [ab]normal execution of the function. The flag is set right before the
- return statement.
- Rewrite the mechanism used to allocate a build-in-place return object
- on the heap or on a storage pool.
- (Is_Direct_Deep_Call): New routine.
- (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
- build-in-place function call instead of a final list. Build a call to
- Set_Finalize_Address_Ptr to decorate the associated collection.
- (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
- order to name the build-in-place function call's result for later
- finalization. Add a collection to a build-in-place function call
- instead of a final list.
- (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
- build-in-place function call instead of a final list. Remove the code
- which moves one final list and transforms it into the actual in a
- nested build-in-place call.
- (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
- build-in-place function call instead of a final list.
- (Move_Final_List): Removed.
- (Needs_BIP_Collection): New routine.
- (Needs_BIP_Final_List): Removed.
- * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
- enumeration type BIP_Formal_Kind.
- Update the related comment.
- (Needs_BIP_Collection): New routine.
- (Needs_BIP_Final_List): Removed.
- * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
- and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
- majority of subprograms in this unit. Add Name_Finalize_Address to
- array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
- (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
- statements for an array type.
- (Build_Adjust_Statements): Create the adjust statements for a record
- type.
- (Build_Cleanup_Statements): New routine. A procedure which given any
- construct containing asynchronous calls, references to _master, or is a
- task body, a task allocation or a protected body produces the necessary
- runtime calls to clean up these constructs.
- (Build_Exception_Handler): New routine.
- (Build_Final_List): Removed.
- (Build_Finalization_Collection): New routine. A core procedure which
- creates a collection to service heap allocated controlled objects
- associated with an access-to-controlled type.
- (Build_Finalize_Statements): Create the finalization statements for a
- record types.
- (Build_Finalizer): New routine. A core procedure which given any
- construct with declarations and/or statements detects all objects which
- need any type of clean up (controlled objects, protected objects) and
- generates all necessary code to clean up the said objects in the proper
- order.
- (Build_Finalizer_Call): New routine.
- (Build_Initialize_Statements): Create the initialization statements for
- an array type. The generated routine contains code to finalize partially
- initialized arrays.
- (Build_Object_Declarations): New routine.
- (Build_Raise_Statement): New routine.
- (Clean_Simple_Protected_Objects): Removed.
- (Controller_Component): Removed.
- (Enclosing_Function): New routine.
- (Expand_Cleanup_Actions): Create a finalizer for a construct which has
- either declarations or statements or both.
- (Expand_N_Package_Body): Create a finalizer for a non-generic package.
- (Expand_N_Package_Declaration): Create a finalizer for a non-generic
- package.
- (Find_Final_List): Removed.
- (Global_Flist_Ref): Removed.
- (In_Finalization_Root): Removed.
- (Insert_Actions_In_Scope_Around): Determine the range of the transient
- scope in terms of tree nodes. Process all transient variables within
- that range.
- (Make_Adjust_Call): Rewritten. There is no longer an attach call
- generated after the adjust.
- (Make_Attach_Call): Removed.
- (Make_Call): New routine.
- (Make_Clean): Removed.
- (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
- build routines.
- (Make_Deep_Proc): Rewritten to generate the new profile signature used
- in Deep routines.
- (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
- build routines.
- (Make_Final_Call): Modified to simply create a call to either
- Deep_Finalize or Finalize.
- (Make_Finalize_Address_Body): New routine.
- (Make_Finalize_Address_Stmts): New routine. A function which produces
- TSS primitive Finalize_Address used in conjunction with heap allocated
- controlled objects.
- (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
- (Make_Init_Call): Rewritten. There is no longer an attach call
- generated after initialization.
- (Make_Local_Deep_Finalize): New routine.
- (Make_Set_Finalize_Address_Ptr_Call): New routine.
- (Make_Transient_Block): Remove the finalization list retrieval and
- manipulation.
- (Needs_Finalization): Moved to Exp_Util.
- (Parent_Field_Type): New routine.
- (Preprocess_Components): New routine.
- (Process_Transient_Objects): New routine.
- (Wrap_HSS_In_Block): New routine.
- (Wrap_Transient_Declaration): Remove finalization list management and
- controller insertion.
- (Wrap_Transient_Expression): Code reformatting.
- (Wrap_Transient_Statement): Code reformatting.
- * exp_ch7.ads (Build_Final_List): Removed.
- (Build_Finalization_Collection): New routine.
- (Build_Raise_Statement): New routine.
- (Controller_Component): Removed.
- (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
- (Find_Final_List): Removed.
- (In_Finalization_Root): Removed.
- (Is_Simple_Protected_Type): Update related comment.
- (Make_Adjust_Call): New parameter profile and associated comments.
- (Make_Attach_Call): Removed.
- (Make_Final_Call): New parameter profile and associated comments.
- (Make_Finalize_Address_Body): New routine.
- (Make_Init_Call): New parameter profile and associated comments.
- (Make_Local_Deep_Finalize): New routine.
- (Make_Set_Finalize_Address_Ptr_Call): New routine.
- (Needs_Finalization): Moved to Exp_Util.
- * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
- (Expand_N_Protected_Body): Remove the handling of finalization lists.
- (Find_Protection_Type): Moved to Exp_Util.
- * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
- (Make_DT): Update sequence of dispatch table initialization. Remove the
- initialization of field RC_Offset. Add initialization of field Needs_
- Finalization.
- * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
- Reimplement how an object is first finalized, then deallocated.
- * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
- Code reformatting.
- * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
- Register TSS_Finalize_Address with type TSS_Names.
- * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
- procedure provides the interface between an allocation / deallocation
- and the support machinery in Ada.Finalization.Heap_Management.
- (Find_Init_Call): Code reformatting.
- (Find_Init_Call_In_List): Code reformatting.
- (Find_Protection_Type): Moved from Exp_Ch9.
- (Find_Prim_Op): Reimplement to add preference of recovered primitive.
- (Has_Controlled_Coextensions): Removed.
- (Has_Controlled_Objects): New routine.
- (In_Library_Level_Package_Body): New routine.
- (Insert_Action_After): New routine.
- (Is_Finalizable_Transient): New routine. This predicate determines
- whether an object declaration is one of the many variants of controlled
- transients.
- (Is_Null_Access_BIP_Func_Call): New routine.
- (Is_Non_BIP_Func_Call): New routine.
- (Is_Related_To_Func_Return): New routine.
- (Needs_Finalization): Moved from Exp_Ch7.
- * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
- (Find_Protection_Type): Moved from Exp_Ch9.
- (Has_Controlled_Coextensions): Removed.
- (Has_Controlled_Objects): New routine.
- (In_Library_Level_Package_Body): New routine.
- (Insert_Action_After): New routine.
- (Is_Finalizable_Transient): New routine.
- (Is_Null_Access_BIP_Func_Call): New routine.
- (Is_Non_BIP_Func_Call): New routine.
- (Is_Related_To_Func_Return): New routine.
- (Needs_Finalization): Moved from Exp_ch7.
- * expander.adb (Expand): Add a case for N_Free_Statement.
- * freeze.adb (Freeze_All): Replace the generation of a finalization
- list with a collection for access-to-controlled types.
- (Freeze_Entity): Code reformatting.
- (Freeze_Record_Type): Remove the freezing of a record controller
- component.
- (Freeze_Subprogram): Code reformatting.
- * inline.adb (Cleanup_Scopes): Remove the reset of the scope
- finalization list.
- * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
- has a library-level finalizer.
- * lib-writ.ads: Add "PF" to the sequence of unit attributes.
- * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
- * Makefile.rtl: Remove a-filico and s-finimp from the list of object
- files. Add a-fihema to the list of object files.
- * par-ch4.adb:
- Alphabetize the associations in type Is_Parameterless_Attribute.
- * rtsfind.ads: Ada.Finalization_List.Controller and
- System.Finalization_Implementation are no longer a GNAT unit.
- Update the range of type Ada_Finalization_Child. Remove the following
- recoverable entities:
-
- RE_Attach_To_Final_List
- RE_Deep_Tag_Attach
- RE_Finalize_List
- RE_Finalize_One
- RE_Finalizable_Ptr_Ptr
- RE_Global_Final_List
- RE_Limited_Record_Controller
- RE_List_Controller
- RE_Move_Final_List
- RE_Record_Controller
- RE_Simple_List_Controller
-
- Add the following recoverable entities:
-
- RE_Add_Offset_To_Address
- RE_Allocate
- RE_Base_Pool
- RE_Deallocate
- RE_Exception_Identity
- RE_Finalization_Collection
- RE_Finalization_Collection_Ptr
- RE_Needs_Finalization
- RE_Save_Library_Occurrence
- RE_Set_Finalize_Address_Ptr
- RE_Set_Storage_Pool_Ptr
- RE_Storage_Count
- * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
- Name_uController.
- * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
- (First_Stored_Discriminant): Remove the mention of Name_uController.
- * sem_aux.ads: Comment reformatting.
- * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
- to redecorate an already existing class-wide type.
- (Decorate_Tagged_Type): New parameter profile and associated comment.
- Create a "shadow class-wide type" for a shadow entity.
- * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
- of the final chain along with the associated comment.
- * sem_ch3.adb (Access_Type_Declaration): Add new local variable
- Full_Desig and set it to the full view of the designated type.
- Initialize the finalization collection to empty.
- (Build_Derived_Record_Type): Alphabetize local variables. Code
- reformatting.
- (Collect_Fixed_Components): Remove the mention of Name_uController.
- (Create_Constrained_Components): Remove the mention of Name_uController.
- (Make_Class_Wide_Type): Add specialized code to redecorate an existing
- class-wide type of a shadow entity.
- (Process_Full_View): Update the machinery which marks type
- Limited_Controlled's entity as limited.
- * sem_ch4.adb (Analyze_One_Call): Code reformatting.
- * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
- list, instead make a collection build-in-place formal.
- * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
- a designated type in order to establish a match between the renaming
- and the renamed entity.
- (Find_Selected_Component): Add guard to prevent spurious exceptions
- from being raised on .NET/JVM.
- * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
- to the list of primitive that need special processing. Update arrays
- C_Names and D_Names.
- (Replace_Types): Handle class-wide types.
- * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
- different parameter profile, look at the first formal.
- * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
- use clauses for Exp_Util.
- * sem_res.adb: Remove with and use clauses for Elists.
- (Propagate_Coextensions): Removed.
- (Resolve_Allocator): Do not propagate the list of coextensions from one
- allocator to another.
- * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
- Deaccessed_T to Desig_Typ.
- (Enter_Name): Remove the mention of Name_uController.
- (Gather_Components): Remove the mention of Name_uController.
- (Incomplete_Or_Private_View): New routine.
- (Is_Coextension_Root): Removed.
- (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
- * sem_util.ads (Incomplete_Or_Private_View): New routine.
- (Is_Coextension_Root): Removed.
- * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
- Controlled types are now derived from a null tagged record. Remove
- types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
- * sinfo.adb (Coextensions): Removed.
- (Set_Coextensions): Removed.
- * sinfo.ads: Remove Coextensions from the explanation of node fields
- and its uses in nodes.
- Update the field usage of N_Allocator.
- (Coextensions): Removed along with its pragma Inline.
- (Set_Coextensions): Removed along with its pragma Inline.
- * snames.ads-tmpl: Remove names
-
- Name_uClean
- Name_uController
- Name_uFinal_List
- Name_uLocal_Final_List
- Name_Finalization_Root
- Name_Next
- Name_Prev
-
- Add names
-
- Name_uFinalizer
- Name_Finalize_Address
- * s-pooglo.adb (Allocate): Add overriding indicator.
- (Deallocate): Add overriding indicator.
- (Storage_Size): Add overriding indicator.
- * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
- than Finalize_Global_List.
- (Null_Finalize_Global_List): Removed.
- (Save_Library_Occurrence): New routine.
- * s-soflin.ads: Remove variable Finalize_Global_List along with its
- initialization. Add variable Finalize_Library_Objects along with its
- pragma Export. Add variables Library_Exception and
- Library_Exception_Set along with their pragma Export.
- (Null_Finalize_Global_List): Removed.
- (Save_Library_Occurrence): New routine.
- * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
- rather than Finalize_Global_List.
- * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
- of the constructed node.
-
-2011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * link.c: Include "auto-host.h" before system headers.
-
-2011-08-03 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Add to table Library_Projs only library projects
- that are not extended. Do not check if a library project that is
- extended should be regenerated. Do not add to table Library_Paths the
- libraries that are in extended projects. Link only with libraries that
- are in libray projects that are not extended.
- * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
- for a library project that is extended.
-
-2011-08-03 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
- conforming subprogram renamings that appear to be completions if they
- are not fully conformant.
- Such renamings are homographs but not completions.
- * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
- names in a subprogram renaming that appears in an instance.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
- not immutably limited, build actual subtype from expression to provide
- proper bounds to caller.
-
-2011-08-03 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch8.adb: Minor comment correction.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
- returning a limited array, use an extended return statement.
-
-2011-08-03 Vincent Celier <celier@adacore.com>
-
- * make.adb (Initialize): If --subdirs= is used, but no project file is
- specified, attempt to create the specify subdir if it does not already
- exist and use it as the object directory as if -D had been specified.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * s-tpopsp-vms.adb: New file.
- * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
- * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
- package.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
- * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
- * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
- detect that an array has static bounds.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb: Minor reformatting.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
- (ATCB_Key): Removed, not always used.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
- clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
- most remaining global variables.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
- prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
- reformatting.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
- that must be passed by copy in VM targets.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
- duplicates a similar htable now in the project tree.
-
-2011-08-03 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
- a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
- Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
- Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
- Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
- Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
- Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
- update.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
- (ATCB_Key): Removed, not always used.
- * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
- s-taprop-posix.adb.
- * s-tpopsp-tls.adb: New file.
- * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
- x86/x64/ia64/powerpc/sparc Linux.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
- * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * rtsfind.ads, exp_dist.adb, exp_dist.ads
- (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
- Fix type selection for mapping integer types to PolyORB types.
-
-2011-08-03 Bob Duff <duff@adacore.com>
-
- * sem_ch7.adb: Minor comment clarification.
-
-2011-08-03 Bob Duff <duff@adacore.com>
-
- * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
- an error analyzing a choice, skip further processing. Further
- processing could cause a crash or cascade errors.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
- prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
- prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
- prj-env.ads (Shared_Project_Tree_Data): new type
- An aggregate project and its aggregated trees need to share the common
- data structures used for lists of strings, packages,... This makes the
- code simpler since otherwise we have to pass the root tree (also used
- for the configuration file data) in addition to the current project
- tree. This also avoids ambiguities as to which tree should be used.
- And finally this saves a bit of memory.
- (For_Every_Project_Imported): new parameter Tree.
- Since aggregated projects are using a different tree, we need to let
- the caller know which tree to use to manipulate the returned project.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
- prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
- lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
- prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
- Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
-
-2011-08-03 Bob Duff <duff@adacore.com>
-
- * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
- the Base_Type.
-
-2011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
-
- * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
- g-sehash.ads: Fix typo. Update header.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
- expansion.
-
-2011-08-03 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
- prefixes of private types along with records, since the selector may be
- a discriminant.
- * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
- private types along with records, since the selector may be a
- discriminant.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-pp.adb (Pretty_Print): Remove trailing blank line.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
- Tagged_Type_Expansion.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
- violation when the argument of concatenation is the name of a
- constant.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
- prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
- (Process_Declarative_Items): new parameter Child_Env.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * alfa.ads: Update format of ALFA section in ALI file in order to
- add a mapping from bodies to specs when both are present.
- (ALFA_Scope_Record): Add components for spec file/scope.
- * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
- present.
- * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
- collected, fill in the spec information when relevant.
- * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
- present.
-
-2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
- code unit to decide whether to add internally generated subprograms.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
- * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
- be handled by copy in VM targets.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
- code with Makeutl.Get_Switches.
- * prj-tree.adb: Update comment.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
- subprogram with a limited formal that does not support external
- streaming.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
- continuation line
- * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
- not from current unit in two phases, because it is not possible to
- change the table while iterating over its content.
- * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
-
-2011-08-03 Sergey Rybin <rybin@adacore.com>
-
- * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
- * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
- and the component type is composite, this is ambiguous for predefined
- concatenation, but if the node is not overloaded and the entity is a use
- -defined function its profile can be used to resolve that aggregate.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor code cleanup.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_dist.adb: Do not generate distribution stubs if serious errors
- have been diagnosed.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
- the first formal of a primitive operation, go to the base type to
- handle properly an access to a derived type with constrained
- discriminants.
- * sem_type.adb (Disambiguate): an immediately visible operator hides a
- user-defined function that is only use-visible.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
- make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
- fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
- prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
- sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
- prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
- prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
- alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * repinfo.adb (List_Mechanism): Add handling of
- Convention_Ada_Pass_By_XXX.
- * sem_mech.adb (Set_Mechanism): Ditto.
- * sem_prag.adb (Process_Convention): Add entries for
- Convention_Ada_Pass_By_XXX.
- * snames.adb-tmpl, snames.ads-tmpl: Ditto.
-
-2011-08-03 Pascal Obry <obry@adacore.com>
-
- * makeutl.adb: Minor reformatting.
-
-2011-08-03 Vincent Celier <celier@adacore.com>
-
- * fname-uf.adb
- (Get_File_Name) If the file cannot be found when there are no config
- pragmas file and May_Fail is True, return No_File instead of the file
- name, to be consistent.
-
-2011-08-03 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_is_executable_file_attr): Avoid access
- to null pointer.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * sem_ch13.adb
- (Same_Representation): In VM targets the representation of arrays with
- aliased components differs from arrays with non-aliased components.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
- not systematically lower case attribute indexes that contain no "."
- Fix definition of several Naming attributes, which take
- a unit name as index and therefore should be case insensitive.
- Minor refactoring (reduce length of variable names).
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
- prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
- prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
- prj-tree.ads (Prj.Tree.Environment): new type.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
- prj-tree.adb, prj-tree.ads (Environment): new type.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-tree.ads: Remove unused variable.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
- issuing messages related to SPARK restriction violation.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb: guard against error nodes in return statements.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
- a warning can only appear on a configuration file, so emit warning
- without further checks.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * s-interr.ads: add overriding keyword.
-
-2011-08-03 Geert Bosch <bosch@adacore.com>
-
- * exp_attr.adb: Fix minor typo.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch4.adb: improve error recovery.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
- prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
- to Errout_Handling.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
- "external" as an attribute name in aggregate projects.
-
-2011-08-03 Jose Ruiz <ruiz@adacore.com>
-
- * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
- uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
- from 0, so we need to adjust.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
- prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
- restriction on overloaded entity if the entity is not an operator.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
- restrict.ads: Rename remaining Check_Formal_Restriction* into
- Check_SPARK_Restriction*.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
- prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
- qualifier.
- (Project_Empty): removed
- (Empty_Project): new parameter Qualifier
- This is used to have fields specific to aggregate projects, cleaner
- New field to store the list of aggregated projects.
- (Check_Aggregate_Project): removed
- (Process_Aggregated_Projects, Free): new subprograms.
-
-2011-08-03 Olivier Hainque <hainque@adacore.com>
-
- * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
- explicit dereference of an unconstrained type, create a constrained
- subtype for it, as is done for function calls that return an
- unconstrained type.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * g-pehage.adb (Finalize): Avoid possible double-free.
-
-2011-08-03 Steve Baird <baird@adacore.com>
-
- * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
- Elab_Spec/Body attrs in CodePeer_Mode.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
- low bound is not known at compile time but they have no others choice.
- Done because in this case the bounds can be obtained directly from the
- aggregate.
-
-2011-08-03 Ed Falis <falis@adacore.com>
-
- * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
- on VxWorks SMP. Remove unusable constant ANY_CPU.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
- clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
- prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
- Prj.Env.Initialize_Empty): new subprograms
- (Get_Env, Find_Project): remove parameter Target_Name.
-
-2011-08-03 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
- as a condition for the delayed call to Derived_Subprograms done for the
- case of the rewriting of a derived type that constrains the
- discriminants of its parent type.
- Avoids redundant subprogram derivations for private subtype derivations.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
- Build_Record_Aggr_Code.
- (Build_Record_Aggr_Code): Add missing support to initialize hidden
- discriminants in extension aggregates.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-pp.adb (Print): also output project qualifiers, since in
- particular "aggregate" is mandatory in an aggregate project.
-
-2011-08-03 Emmanuel Briot <briot@adacore.com>
-
- * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
- (Debug_Output): new function.
-
-2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi: Document -Wstack-usage.
- * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * sem_prag.adb Issue an error (not a warning) when a C++ type does not
- have keyword LIMITED.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * alfa.adb, alfa.ads, alfa_test.adb: New files.
- * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
- (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
- section (does not happen in compiler, only if code directly calls
- Scan_ALI).
- * get_alfa.adb, get_alfa.ads: New files.
- * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
- needed.
- * lib-xref-alfa.adb: New file.
- * lib-xref.adb, lib-xref.ads
- (Xref_Entry): redefine information needed in cross-references for ALFA.
- Push ALFA treatments in separated local package.
- (Enclosing_Subpragram_Or_Package): treat specially subprogram
- identifiers. Return entity of package body instead of spec. Return
- Empty for a scope with no location.
- (Generate_Reference): adapt to new components for ALFA information.
- Remove the need for D references on definitions.
- (Is_Local_Reference): moved to ALFA local package
- (Output_References): extract subfunction as Extract_Source_Name
- (Output_Local_References): remove procedure, replaced by filtering of
- cross-references in package ALFA and printing in Put_ALFA.
- (Write_Entity_Name): remove procedure
- * lib.adb, lib.ads (Extract_Source_Name): extract here function to
- print exact name of entity as it appears in source file
- (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
- * put_alfa.adb, put_alfa.ads: New files.
- * xref_lib.adb (Search_Xref): protect read of cross-references against
- reading other sections of the ALI file, in gnatxref
- (Search): protect read of cross-references against reading other
- sections of the ALI file, in gnatfind.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-08-03 Jose Ruiz <ruiz@adacore.com>
-
- * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
- raising an exception.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
- type, always use 1 as the lower bound or string, even if lower bound of
- context is not static, to handle properly null strings in a non-static
- context.
-
-2011-08-03 Bob Duff <duff@adacore.com>
-
- * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
- always legal on the right-hand side of an assignment statement; there
- is always an applicable index constraint in this case. Therefore, the
- check for Pkind = N_Assignment_Statement is now unconditional -- it
- doesn't depend on whether Is_Constrained (Typ).
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
- for an itype created within a generic unit.
-
-2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
- suppresses all inlining.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
- exp_aggr.adb: Minor reformatting.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
- tagged assignment when discriminant checks are suppressed. This is
- useless and extremely costly in terms of static stack usage.
-
-2011-08-03 Bob Duff <duff@adacore.com>
-
- * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
- of generics, because this leads to the wrong entity in the wrong scope,
- causing (e.g.) pragma Export_Procedure to get an error if the entity is
- an instance.
- (Process_Interface_Name): Follow Alias for instances of generics, to
- correct for the above change.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
- is an integer literal it is always safe to replace the reference. In
- addition, if the reference appears in the generated code for an object
- declaration it is necessary to copy because otherwise the reference
- might be to the uninitilized value of the discriminant of the object
- itself.
-
-2011-08-03 Pascal Obry <obry@adacore.com>
-
- * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
- ACL used, in this case we want to check for ending .exe, not .exe
- anywhere in the path.
-
-2011-08-03 Sergey Rybin <rybin@adacore.com>
-
- * tree_io.ads (ASIS_Version_Number): Update because of the changes in
- the tree structure (semantic decoration of references to record
- discriminants).
-
-2011-08-03 Gary Dismukes <dismukes@adacore.com>
-
- * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
- choices of a named array aggregate, bail out when any choices are
- marked as Errors_Posted.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
- in which entity is frozen, to handle properly loop variables in
- iterators.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
- subtype is not static, compute the upper bound using attributes, to
- handle properly index types that are not integer types.
-
-2011-08-03 Bob Duff <duff@adacore.com>
-
- * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
- Update copyright notice.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Discriminant_Constraints): Only use
- Original_Discriminant if within an instance.
- * sem_ch4.adb (Analyze_Selected_Component): Ditto.
-
-2011-08-03 Thomas Quinot <quinot@adacore.com>
-
- * einfo.ads: Minor reformatting.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
- composite type with an unfrozen subcomponent, in the profile of a
- primitive operation.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
- unconstrained type with discriminants is initialized with an aggregate,
- use the constrained subtype of the aggregate as the type of the object,
- because it is immutable, and this allows the back-end to generate no
- code for the object declaration.
-
-2011-08-03 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
- comparison operand is variable, and turns out to be zero or negative.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * exp_intr.adb
- (Expand_Dispatching_Constructor_Call): Disable expansion of
- code required for native targets. Done to avoid generating
- references to unavailable runtime entities in VM targets.
- * exp_ch3.adb
- (Expand_N_Object_Declaration): Add missing support to handle
- the explicit initialization of class-wide interface objects.
- Fix documentation.
-
-2011-08-03 Matthew Heaney <heaney@adacore.com>
-
- * a-cobove.adb (Merge): Move source onto target, instead of using
- Assign.
-
-2011-08-03 Matthew Heaney <heaney@adacore.com>
-
- * a-cbdlli.adb (Splice): Move source items from first to last.
-
-2011-08-03 Yannick Moy <moy@adacore.com>
-
- * sem_util.ads: Add comment.
-
-2011-08-03 Javier Miranda <miranda@adacore.com>
-
- * exp_aggr.adb
- (Expand_Record_Aggregate): In VM targets disable the expansion into
- assignments of aggregates whose type is not known at compile time.
-
-2011-08-03 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
- protected entries and task entries, to build the proper renaming
- declaration for entry formals, used in debugging.
- * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
- parameters in the same way.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
- sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
- code reorganization.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * debug.adb: Debug flag d.P to suppress length comparison optimization
- * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
- comparison of Length by comparing First/Last instead.
-
-2011-08-02 Matthew Heaney <heaney@adacore.com>
-
- * a-cobove.ads: Code clean up.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * adaint.c (file_names_case_sensitive_cache): New static int.
- (__gnat_get_file_names_case_sensitive): Cache the return value in
- file_names_case_sensitive_cache at the first invocation, to avoid
- multiple calls to getenv.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
- sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
- sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
- indicate that we are in a precondition or postcondition. This is used in
- Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
- decide whether to flag the spec or body of the current subprogram as
- not in ALFA.
-
-2011-08-02 Fabien Chouteau <chouteau@adacore.com>
-
- * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
- list.
- * a-extiin.ads: New file.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
- now raises Name_Error instead of Use_Error in certain cases. The other
- parts of this AI were already implemented properly.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * link.c: Only import "auto-host.h" when building the gnattools.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb: Inter-unit inlining does not work for a subprogram
- which calls a local subprogram, so extract subprogram
- from Mark_Non_ALFA_Subprogram_Body.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb
- (Extract_Dispatching_Call): If the type of the dispatching object is an
- access type then return an explicit dereference in the Object out-mode
- parameter.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
- compatibility checks for all indexes of an array subtype, not just the
- first. Reset Has_Dynamic_Range_Check on the subtype before each
- potential check to ensure that Insert_Range_Checks will not elide any
- of the dynamic checks.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
- SPARK restriction at parsing time.
- * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
- directive only if the SPARK restriction is set for this unit.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
- sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
- sem_ch11.adb: Protect call to Current_Subprogram which might be costly
- when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
- Mark_Non_ALFA_Subprogram_Body.
- Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
- inlined.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
- might be costly.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
- exp_ch3.adb: Minor reformatting.
-
-2011-08-02 Emmanuel Briot <briot@adacore.com>
-
- * adaint.c (__gnat_locate_exec_on_path): only returns executable
- files, not any regular file.
- (__gnat_locate_file_with_predicate): new subprogram.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sinfo.adb, sinfo.ads: Restrict the use of flags
- Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
- nodes, plus N_Subtype_Declaration for the 2nd one.
-
-2011-08-02 Sergey Rybin <rybin@adacore.com>
-
- * gnat_rm.texi: Ramification of pragma Eliminate documentation
- - fix bugs in the description of Source_Trace;
- - get rid of UNIT_NAME;
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb
- (Build_Dispatching_Requeue): Adding support for VM targets
- since we cannot directly reference the Tag entity.
- * exp_sel.adb (Build_K): Adding support for VM targets.
- (Build_S_Assignment): Adding support for VM targets.
- * exp_disp.adb
- (Default_Prim_Op_Position): In VM targets do not restrict availability
- of predefined interface primitives to compiling in Ada 2005 mode.
- (Is_Predefined_Interface_Primitive): In VM targets this service is not
- restricted to compiling in Ada 2005 mode.
- (Make_VM_TSD): Generate code that declares and initializes the OSD
- record. Needed to support dispatching calls through synchronized
- interfaces.
- * exp_ch3.adb
- (Make_Predefined_Primitive_Specs): Enable generation of predefined
- primitives associated with synchronized interfaces.
- (Make_Predefined_Primitive_Bodies): Enable generation of predefined
- primitives associated with synchronized interfaces.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
- statements hidden in SPARK if preceded by the HIDE directive
- (Parse_Exception_Handlers): mark each exception handler in a sequence of
- exception handlers as hidden in SPARK if preceded by the HIDE directive
- * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
- if starting with the HIDE directive
- * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
- starting with the HIDE directive; mark the declarations in a private
- part as hidden in SPARK if the private part starts with the HIDE
- directive
- * restrict.adb, restrict.ads
- (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
- (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
- argument node belongs to a part which is hidden in SPARK
- (Check_SPARK_Restriction): do not issue violations on nodes in hidden
- parts in SPARK; protect the possibly costly call to
- Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
- * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
- * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
- Accumulate_Token_Checksum_GNAT_5_03): add case for new token
- Tok_SPARK_Hide.
- (Scan): recognize special comment starting with '#' and followed by
- SPARK keyword "hide" as a HIDE directive.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * types.ads, erroutc.ads: Minor reformatting.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * link.c: Add response file support for cross platforms.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
- in an association, set parent field of copy before partial analysis.
- * sem_res.adb (Resolve_Slice): create reference to itype only when
- expansion is enabled.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
- for new flag denoting which subprogram bodies are in ALFA
- * restrict.adb, sem_ch7.adb: Update comment
- * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
- sem_ch9.adb, sem_res.adb: Add calls to
- Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
- * sem_ch6.adb (Analyze_Function_Return): add calls to
- Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
- middle of the body, and extended return.
- (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
- False when missing return.
- (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
- to True for subprograms whose spec is in ALFA. Remove later on the flag
- on the entity used for a subprogram body when there exists a separate
- declaration.
- * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
- if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
- False, otherwise do nothing.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch4.ads: minor formatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
- debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
- errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
- restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
- opt.ads: cleanup of SPARK mode
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
- types.
- * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
- (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
- * sem_ch3.adb
- (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
- (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
- (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
- (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
- types.
- (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
- non-static range.
- * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
- functions whose return type is not in ALFA.
- (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
- specifications.
- (Process_Formals): unset Is_In_ALFA flag for subprograms if a
- parameter's type is not in ALFA.
- * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
- types are in ALFA.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6 (Analyze_Expression_Function): treat the function as
- Inline_Always, and introduce a subprogram declaration for it when it is
- not a completion.
- * inline.adb (Add_Inlined_Body): recognize bodies that come from
- expression functions, so that the back-end can determine whether they
- can in fact be inlined.
- * sem_util.adb (Is_Expression_Function): predicate to determine whether
- a function body comes from an expression function.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
- null exclusions to test Can_Never_Be_Null on the anonymous access types
- of the formals rather than testing the formals themselves. Exclude this
- check in cases where the Old_Formal is marked as a controlling formal,
- to avoid issuing spurious errors for bodies completing dispatching
- operations (due to the flag not getting set on controlling access
- formals in body specs).
- (Find_Corresponding_Spec): When checking full and subtype conformance of
- subprogram bodies in instances, pass Designated and E in that order, for
- consistency with the expected order of the formals (New_Id followed by
- Old_Id).
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
- Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
- primitive operations of class-wide actuals.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_atag.ads, exp_atag.adb
- (Build_Common_Dispatching_Select_Statements): Remove argument Loc
- since its value is implicitly passed in argument Typ.
- * exp_disp.adb (Make_Disp_Conditional_Select_Body,
- Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
- Build_Common_Dispatching_Select_Statements.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
- exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
- Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb: Minor reformatting.
- * sem_prag.adb: Minor reformatting.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_atag.adb, exp_atags.ads
- (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
- by the tagged type Entity. Required to use this routine in the VM
- targets since we do not have available the Tag entity in the VM
- platforms.
- * exp_ch6.adb
- (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
- Ada.Tags has not been previously loaded.
- * exp_ch7.adb
- (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
- Build_VM_TSDs if package Ada.Tags has not been previously loaded.
- * sem_aux.adb
- (Enclosing_Dynamic_Scope): Add missing support to handle the full
- view of enclosing scopes. Required to handle enclosing scopes that
- are synchronized types whose full view is a task type.
- * exp_disp.adb
- (Build_VM_TSDs): Minor code improvement to avoid generating and
- analyzing lists with empty nodes.
- (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
- (Make_Disp_Conditional_Select_Body): Add support for VM targets.
- (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
- (Make_Disp_Timed_Select_Body): Add support for VM targets.
- (Make_Select_Specific_Data_Table): Add support for VM targets.
- (Make_VM_TSD): Generate code to initialize the SSD structure of
- the TSD.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
- cross-references section in ALI.
- * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
- (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
- Sub).
- (Enclosing_Subprogram_Or_Package): new function to return the enclosing
- subprogram or package entity of a node
- (Is_Local_Reference_Type): new function returns True for references
- selected in local cross-references.
- (Lt): function extracted from Lt in Output_References
- (Write_Entity_Name): function extracted from Output_References
- (Generate_Definition): generate reference with type 'D' for definition
- of objects (object declaration and parameter specification), with
- appropriate locations and units, for use in local cross-references.
- (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
- references of type 'I' for initialization in object definition.
- (Output_References): move part of function Lt and procedure
- Write_Entity_Name outside of the body. Ignore references of types 'D'
- and 'I' introduced for local cross-references.
- (Output_Local_References): new procedure to output the local
- cross-references sections.
- (Lref_Entity_Status): new array defining whether an entity is a local
- * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
- with 'I' type when initialization expression is present.
- * get_scos.adb, get_scos.ads: Correct comments and typos
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
- the JVM target.
- * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
- the JVM target.
- * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
- TSD support.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
- (No_Space_Img): New function
- (Find_Excluded_Sources): When reading from a file, record the file name
- and the line number for each excluded source.
- (Mark_Excluded_Sources): When reporting an error, if the excluded
- sources were read from a file, include file name and line number in
- the error message.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
- generation of TSDs to the DOTNET compiler.
- * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
- generation of TSDs to the DOTNET compiler.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
- record of all the tagged types declared inside library level package
- declarations, library level package bodies or library level subprograms.
- * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
- associated with a given tagged type.
- (Build_VM_TSDs): New subprogram.
- * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
- compilation units that are subprograms.
- * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
- compilation units that are package bodies.
- (Expand_N_Package_Declaration): Generate TSDs of the main compilation
- units that are a package declaration or a package instantiation.
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
- reorganization to improve the error generated by the frontend when the
- function Ada.Tags.Secondary_Tag is not available.
- * rtsfind.ads (RE_Register_TSD): New runtime entity.
- * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * s-imenne.ads: Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
- * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
- * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads (Materialize_Entity): Document this is only for renamings
- * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
- required debug information in the case where we transform the object
- declaration into a renaming declaration.
- * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
- object
- * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
- Materialize_Entity.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
- Suppress_Init_Procs.
- * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
- Suppress_Initialization/Initialization_Suppressed.
- * gnat_rm.texi: New documentation for pragma Suppress_Initialization
- * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
- * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
- * sem_prag.adb: New processing for pragma Suppress_Initialization.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
- Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
- only have inheritable classwide pre/postconditions.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
- * rtsfind.ads (RE_Check_TSD): New runtime entity.
- * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
- checks if the external tag of a type is the same as the external tag
- of some other declaration.
-
-2011-08-02 Thomas Quinot <quinot@adacore.com>
-
- * s-taskin.ads: Minor reformatting.
-
-2011-08-02 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Display_Help): swap the order in which it prints the
- short help and the general usage.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
- the aspect declarations and attach them to the generic copy for
- subsequent analysis.
- (Analyze_Subprogram_Instantiation): copy explicitly the aspect
- declarations of the generic tree to the new subprogram declarations.
- * sem_attr.adb (Check_Precondition_Postcondition): recognize
- conditions that apply to a subprogram instance.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
- private type with a tagged full view is not derived in the immediate
- scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
- Ada2012 iterator, the loop will be rewritten during expansion into a
- while loop with a cursor and an element declaration. Do not analyze the
- body in this case, because if the container is for indefinite types the
- actual subtype of the elements will only be determined when the cursor
- declaration is analyzed.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
- size/alignment related attributes in CodePeer_Mode.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
- Prepend_Element, since this can result in the operation getting the
- wrong slot in the full type's dispatch table if the full type has
- inherited operations. The incomplete type's operation will get added
- to the proper position in the full type's primitives
- list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
- (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
- dispatching operations, since there are cases where nonprimitive
- subprograms can get added to the list of incomplete dependents (such
- as subprograms in nested packages).
- * sem_ch6.adb (Process_Formals): First, remove test for being in a
- private part when determining whether to add a primitive with a
- parameter of a tagged incomplete type to the Private_Dependents list.
- Such primitives can also occur in the visible part, and should not have
- been excluded from being private dependents.
- * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
- RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
- list of a Taft-amendment incomplete type is a primitive before issuing
- an error that the full type must appear in the same unit. There are
- cases where nonprimitives can be in the list (such as subprograms in
- nested packages).
- * sem_disp.adb (Derives_From): Use correct condition for checking that
- a formal's type is derived from the type of the corresponding formal in
- the parent subprogram (the condition was completely wrong). Add
- checking that was missing for controlling result types being derived
- from the result type of the parent operation.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * errout.adb (First_Node): minor renaming
- * restrict.adb (Check_Formal_Restriction): put restriction warning on
- first node.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
- before accessing operands.
- * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
- decide whether an initialization expression respects SPARK rules, as
- the plain node is the expanded one. This allows for more valid warnings
- to be issued.
- * gnat_rm.texi: Minor update.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
- previous change.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
- loop statements and the element renaming declaration with a block when
- the element type is controlled.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sinfo.ads: Minor formatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Add_Association): if the association has a box and no
- expression, use the Sloc of the aggregate itself for the new
- association.
- * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
- the Original_Node.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
- When a container is provided via a function call, generate a renaming
- of the function result. This avoids the creation of a transient scope
- and the premature finalization of the container.
- * exp_ch7.adb (Is_Container_Cursor): Removed.
- (Wrap_Transient_Declaration): Remove the supression of the finalization
- of the list controller when the declaration denotes a container cursor,
- it is not needed.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * restrict.adb (Check_Formal_Restriction): only issue a warning if the
- node is from source, instead of the original node being from source.
- * sem_aggr.adb
- (Resolve_Array_Aggregate): refine the check for a static expression, to
- recognize also static ranges
- * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
- Array_Type_Declaration): postpone the test for the type being a subtype
- mark after the type has been resolved, so that component-selection and
- expanded-name are discriminated.
- (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
- to distinguish the case of an iteration scheme, so that an error is
- issed on a non-static range in SPARK except in an iteration scheme.
- * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
- In_Iter_Schm = True.
- * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
- user-defined operators so that they are allowed in renaming
- * sem_ch8.adb
- (Find_Selected_Component): refine the check for prefixing of operators
- so that they are allowed in renaming. Move the checks for restrictions
- on selector name after analysis discriminated between
- component-selection and expanded-name.
- * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
- concatenation argument of string type if it is static.
- * sem_util.adb, sem_util.ads
- (Check_Later_Vs_Basic_Declarations): add a new function
- Is_Later_Declarative_Item to decice which declarations are allowed as
- later items, in the two different modes Ada 83 and SPARK. In the SPARK
- mode, add that renamings are considered as later items.
- (Enclosing_Package): new function to return the enclosing package
- (Enter_Name): correct the rule for homonyms in SPARK
- (Is_SPARK_Initialization_Expr): default to returning True on nodes not
- from source (result of expansion) to avoid issuing wrong warnings.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * errout.adb: On anything but an expression First_Node returns its
- argument.
-
-2011-08-02 Pascal Obry <obry@adacore.com>
-
- * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
- Set the associated loop as the related expression of internally
- generated cursors.
- * exp_ch7.adb (Is_Container_Cursor): New routine.
- (Wrap_Transient_Declaration): Supress the finalization of the list
- controller when the declaration denotes a container cursor.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
- command line now.
- * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
- expression is a simple expression. This check cannot be performed in
- the semantics, so just drop it.
- (P_Index_Or_Discriminant_Constraint): move check that the index or
- discriminant is a subtype mark to Analyze_Subtype_Declaration in the
- semantics. Other cases were previously checked in the semantics.
- * par-ch4.adb (P_Name): move checks that a selector name is not
- character literal or an operator symbol to Find_Selected_Component in
- the semantics
- * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
- declarations are not placed after later declarations in a separate
- procedure in Sem_Util (possibly not the best choice?), to be used both
- during parsing, for Ada 83 mode, and during semantic analysis, for
- SPARK mode.
- * par-endh.adb (Check_End): move check that end label is not missing
- to Process_End_Label in the semantics
- * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
- the special case for SPARK restriction
- * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
- * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
- parameter Force to issue the error message even on internal node (used
- for generated end label). Call Check_Restriction to check when an error
- must be issued. In SPARK mode, issue an error message even if the
- restriction is not set.
- (Check_Restriction): new procedure with an additional out parameter to
- inform the caller that a message has been issued
- * sem_aggr.adb: Minor modification of message
- * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
- instead of issuing an error message directly
- * sem_ch3.adb (Analyze_Declarations): move here the check that basic
- declarations are not placed after later declarations, by calling
- Check_Later_Vs_Basic_Declarations
- (Analyze_Subtype_Declaration): move here the check that an index or
- discriminant constraint must be a subtype mark. Change the check that
- a subtype of String must start at one so that it works on subtype marks.
- * sem_ch4.adb (Analyze_Call): move here the check that a named
- association cannot follow a positional one in a call
- * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
- instead of issuing an error message directly
- * sem_ch8.adb (Find_Selected_Component): move here the check that a
- selector name is not a character literal or an operator symbol. Move
- here the check that the prefix of an expanded name cannot be a
- subprogram or a loop statement.
- * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
- procedure called from parsing and semantics to check that basic
- declarations are not placed after later declarations
- (Process_End_Label): move here the check that end label is not missing
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
- representation clause in codepeer mode, since it confuses CodePeer and
- does not bring useful info.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * init.c: initialize fp hw on MILS.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * errout.adb (First_Node): for bodies, return the node itself (small
- optimization). For other nodes, do not check source_unit if the node
- comes from Standard.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch3.adb: Minor comment additions.
- * sem_ch13.adb: Minor reformatting.
-
-2011-08-02 Pascal Obry <obry@adacore.com>
-
- * make.adb, makeutl.adb: Removes some superfluous directory separator.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_attr.adb: Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
- (Has_Default_Component_Value): Removed
- * einfo.ads Comment updates
- (Has_Default_Aspect): Replaces Has_Default_Value
- (Has_Default_Component_Value): Removed
- * exp_ch13.adb
- (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
- * exp_ch3.adb
- (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
- (Get_Simple_Init_Val): Handle Default_Value aspect
- (Needs_Simple_Initialization): Handle Default_Value aspect
- * exp_ch3.ads: Needs_Simple_Initialization
- * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
- * par-prag.adb (Pragma_Default[_Component]Value) Removed
- * sem_ch13.adb
- (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
- * sem_prag.adb (Pragma_Default[_Component]Value) Removed
- * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
- package containing iteration primitives.
- exp_ch5.adb (Expand_Iterator_Loop): ditto.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
- "of", pre-analyze expression in case it is a function call with
- finalization actions that must be placed ahead of the loop.
- * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
- on an Ada2012 iterator, insert them ahead of the rewritten loop.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (Create_Float_Types): Only consider C's long double for
- Long_Long_Float, in addition to double.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
- sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
- prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
- Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: handle properly 'Result when it is a prefix of an
- indexed component.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads, einfo.adb
- (Original_Access_Type): Move this attribute to Node26 since there was
- an undocumented use of Node21 in E_Access_Subprogram_Type entities
- which causes conflicts and breaks the generation of the .NET compiler.
- (Interface_Name): Add missing documentation on JGNAT only uses of
- this attribute.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
- (Find_Back_End_Float_Type): Likewise
- (Create_Back_End_Float_Types): Likewise
- (Create_Float_Types): Likewise
- (Register_Float_Type): Likewise
- * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
- Nlist and split out type selection in new local Find_Base_Type function.
- * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
- Nlist
- * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
- alpha order).
- * opt.ads: Minor comment change.
- * sem_ch12.adb: Minor code reorganization.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
- subtype's list of rep items to the list on the full subtype in the case
- where the lists are the same.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * switch-c.adb (Free): New deallocation procedure to avoid implicitly
- using the one from System.Strings, which also deallocates all strings.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
- function.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-02 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
- end_locus.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
- associated with anonymous access to subprograms.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * opt.ads
- (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
- (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
- * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
- (Add_Symbol_Definition): Move to switch-c.adb
- (Process_Command_Line_Symbol_Definitions): Adjust references to above.
- * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
- (Add_Symbol_Definition): Move to switch-c.adb.
- * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
- * sem_warn.adb
- (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
- Move to warnsw.adb.
- * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
- Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
- Move to warnsw.adb.
- * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
- (Add_Symbol_Definition): Moved from Prepcomp.
- * switch-c.ads: Update copyright notice. Use String_List instead of
- Argument_List, removing dependency on System.OS_Lib.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
- mode on initialization expression which does not respect SPARK
- restrictions.
- * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
- if the tree referenced by its argument represents an initialization
- expression in SPARK, suitable for initializing an object in an object
- declaration.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
- internally generated access to subprogram with its associated protected
- subprogram type.
- * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (Register_Float_Type): Print information about type to
- register, if the Debug_Flag_Dot_B is set.
- * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
- * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
- * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
- with a requested precision of more than Max_Digits digits and no more
- than Max_Base_Digits digits, if a range specification is present and the
- Predefined_Float_Types list has a suitable type to derive from.
- * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
- case of type completion with pragma Import
- * sem_prag.adb
- (Process_Import_Predefined_Type): Processing to complete a type
- with pragma Import. Currently supports floating point types only.
- (Set_Convention_From_Pragma): Do nothing without underlying type.
- (Process_Convention): Guard against absence of underlying type,
- which may happen when importing incomplete types.
- (Process_Import_Or_Interface): Handle case of importing predefined
- types. Tweak error message.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
- functions to previous change. Reorganize code slightly.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * back_end.ads (Register_Type_Proc): New call back procedure type for
- allowing the back end to provide information about available types.
- (Register_Back_End_Types): New procedure to register back end types.
- * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
- available types.
- * cstand.adb (Back_End_Float_Types): New list for floating point types
- supported by the back end.
- (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
- (Copy_Float_Type): New procedure to make new copies of predefined types.
- (Register_Float_Type): New call back procedure to populate the BEFT list
- (Find_Back_End_Float_Type): New procedure to find a BEFT by name
- (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
- (Create_Float_Types): New procedure to create entities for floating
- point types predefined in Standard, and put these and any remaining
- BEFTs on the Predefined_Float_Types list.
- * stand.ads (Predefined_Float_Types): New list for predefined floating
- point types that do not have declarations in package Standard.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
- entity node for the unit containing the parameter.
- (Add_Inlined_Body): Use it to find the unit containing the subprogram.
- (Add_Inlined_Subprogram): Likewise.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-02 Thomas Quinot <quinot@adacore.com>
-
- * s-stusta.adb (Print): Make sure Pos is always initialized to a
- suitable value.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_type.adb (Covers): Move trivial case to the top and reuse the
- computed value of Base_Type.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * restrict.adb (Check_Restriction): issue an error for any use of
- class-wide, even if the No_Dispatch restriction is not set.
- * sem_aggr.adb: Correct typos in comments and messages in formal mode
- * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
- when completing a private extension, the type named in the private part
- is not the same as that named in the visible part.
- * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
- of an inherited primitive operations of a tagged type or type extension
- that returns the tagged type.
- * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
- function which returns True for an implicit operation inherited by the
- derived type declaration for the argument type.
- (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
- order.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
- Process_Bounds, to perform analysis with expansion of a range or an
- expression that is the iteration scheme for a loop.
- (Analyze_Iterator_Specification): If domain of iteration is given by a
- function call with a controlled result, as is the case if call returns
- a predefined container, ensure that finalization actions are properly
- generated.
- * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
- determine if the analysis is performed using N or Original_Node (N).
- * exp_util.adb (Side_Effect_Free): Code cleanup since the new
- functionality of routine Is_Variable avoids code duplication.
- * checks.adb (Determine_Range): Handle temporaries generated by
- Remove_Side_Effects.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
- expansion of the condition. Required since the previous analysis was
- done with expansion disabled (see Resolve_Quantified_Expression) and
- hence checks were not inserted and record comparisons have not been
- expanded.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
- Update header.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * opt.ads: Minor comment fix.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation,
- Analyze_Subprogram_Instantiation): Turn off style checking while
- analyzing an instance. Whatever style checks that apply to the generic
- unit should apply, so it makes no sense to apply them in an instance.
- This was causing trouble when compiling an instance of a runtime
- unit that violates the -gnatyO switch.
- * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
- one of the two case statements, causing spurious errors.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * uname.adb: Minor reformatting.
- * gnatcmd.adb: Minor reformatting.
- * exp_attr.adb: Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
- No_Dispatching_Calls, do not look for the Assign primitive, because
- predefined primitives are not created in this case.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * stylesw.ads: Minor comment fixes.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Add_To_Result): New procedure.
-
-2011-08-02 Jose Ruiz <ruiz@adacore.com>
-
- * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
- time, if the specific run-time routines for handling streams of strings
- are not available, use the default mechanism.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * s-regpat.ads: Fix typo.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
- not null, call it to create the in memory config project file without
- parsing an existing default config project file.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_elim.adb: an abstract subprogram does not need an eliminate
- pragma for its descendant to be eliminable.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * init.c: revert to handling before previous checkin for VxWorks
- * s-intman-vxworks.adb: delete unnecessary declarations related to
- using Ada interrupt facilities for handling signals.
- Delete Initialize_Interrupts. Use __gnat_install_handler instead.
- * s-intman-vxworks.ads: Import __gnat_install_handler as
- Initialize_Interrupts.
- * s-taprop-vxworks.adb: Delete Signal_Mask.
- (Abort_Handler): change construction of mask to unblock exception
- signals.
-
-2011-08-02 Jerome Guitton <guitton@adacore.com>
-
- * a-except-2005.adb (Raise_From_Signal_Handler): Call
- Debug_Raise_Exception before propagation starts.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
- to Restriction_Check_Required.
- * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
- * sem_res.adb (Resolve_Call): Likewise.
- * sem_attr.adb (Check_Stream_Attribute): Likewise.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * stylesw.ads: Update comment.
- * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
- * errout.ads: Remove obsolete comment.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
- (Set_Is_Safe_To_Reevaluate): new procedure.
- * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
- assignment is allowed on safe-to-reevaluate variables.
- (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
- temporary created to remove side effects in expressions that use
- the secondary stack as safe-to-reevaluate.
- * exp_util.adb (Side_Effect_Free): Add missing code to handle well
- variables that are not true constants.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
- sem_res.adb, sem_ch6.adb: Minor reformatting.
-
-2011-08-02 Jerome Guitton <guitton@adacore.com>
-
- * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
- not set Overridden_Operation if subprogram is an initialization
- procedure.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-ch6.adb: Correct obsolete name in comments
- * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
- which takes two message arguments (existing function takes one), with
- second message used for continuation.
- * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
- block statements that originate from a source block statement, not
- generated block statements
- * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
- symmetry with procedure case
- * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
- function to issue an error in formal mode if a package specification
- contains more than one tagged type or type extension.
- * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
- parameters matching formals of tagged types are objects (or ancestor
- type conversions of objects), not general expressions. Issue an error
- on view conversions that are not involving ancestor conversion of an
- extended type.
- (Resolve_Type_Conversion): in formal mode, issue an error on the
- operand of an ancestor type conversion which is not an object
- * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
- procedure so that it works also for actuals of function calls
- (Is_Actual_Tagged_Parameter): new function which determines if its
- argument is an actual parameter of a formal of tagged type in a
- subprogram call
- (Is_SPARK_Object_Reference): new function which determines if the tree
- referenced by its argument represents an object in SPARK
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
- Minor comment addition
- Minor error msg text change
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
- function. Used to be more precise when we generate a variable plus one
- assignment to remove side effects in the evaluation of the Bound
- expressions.
- (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
- of the bound expression to force its re-analysis and thus expand the
- associated transient scope (if required). Code cleanup replacing the
- previous code that declared the constant entity by an invocation to
- routine Force_Evaluation which centralizes this work in the frontend.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
- (Base_Type): Now uses improved Is_Base_Type function
- * einfo.ads (Base_Type): Inline this function
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
- (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
- targets.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
- non-simple expression used in delta constraint
- (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
- index constraint which is not a subtype mark
- * par.adb: With and use Restrict
- * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
- mode on component type which is not a subtype mark and default
- expression on component
- (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
- of string which does not have a lower index bound equal to 1
- (Array_Type_Declaration): issue an error in formal mode on index or
- component type which is not a subtype mark, and on aliased keyword on
- component
- (Derived_Type_Declaration): issue an error in formal mode on interface,
- limited or abstract type
- (Record_Type_Declaration): issue an error in formal mode on interface
- (Record_Type_Definition): issue an error in formal mode on tagged types
- and type extensions not declared in the specification of a library unit
- package; on null non-tagged record; on variant part
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
- not declared for qualified library project when Library_Name is not
- declared, but Library_Dir is.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
- pragmas (affects aspects [Component_]Default_Value
- (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
- component type for the resolution
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.adb (Base_Type): Tune implementation for speed.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor reformatting.
-
-2011-08-02 Thomas Quinot <quinot@adacore.com>
-
- * scos.ads: Update comments.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
- base type, because the parent may be a subtype of a private type whose
- convention is established in a private part.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
- statement in a block when the expansion of the return expression has
- created a finalization chain.
- * freeze.adb (Freeze_Expression): Alphabetize all choices associated
- with the parent node.
- Add N_Extended_Return_Statement to handle the case where a transient
- object declaration appears in the Return_Object_Declarations list of
- an extended return statement.
-
-2011-08-02 Matthew Gingell <gingell@adacore.com>
-
- * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
- unused parameter 'name'.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_elim.adb (Set_Eliminated): If the overridden operation is an
- inherited operation, check whether its alias, which is the source
- operastion that it renames, has been marked eliminated.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
- in-mode parameter whose type is an access type since it can be used to
- modify its designated object. Enforce code that handles as safe an
- access type that is not access-to-constant but it is the result of a
- previous removal of side-effects.
- (Remove_Side_Effects): Minor code reorganization of cases which require
- no action. Done to incorporate documentation on new cases uncovered
- working in this ticket: no action needed if this routine was invoked
- too early and the nodes are not yet decorated.
- * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
- to routine Remove_Side_Effects by calls to Force_Evaluation since they
- were issued with actuals that are implicitly provided by
- Force_Evaluation.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_res.adb: Minor reformatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
- to issue an error in formal mode on attribute not supported in this mode
- (Analyze_Attribute): issue errors on standard attributes not supported
- in formal mode.
- * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
- comment, and issue error in formal mode on modulus which is not a power
- of 2.
- (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
- range.
- * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
- subtype mark.
- * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
- operator on modular type (except 'not').
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor reformatting.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-linux.ads: Minor comment update and reformatting.
- * i-cexten.ads: Make this unit pure, as for its parent.
- Will allow its usage in more contexts if needed.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * s-utf_32.ads: Minor comment fix.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
- operation of a tagged synchronized type, handle the case where the
- controlling argument is overloaded.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
- Replace pragma SPARK_95 with pragma Restrictions (SPARK)
- * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
- SPARK mode and formal verification mode on processing SPARK restriction
- * s-rident.ads (Restriction_Id): add SPARK restriction in those not
- requiring consistency checking.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb: Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads: Remove unneeded with of Ada.Containers
- Remove commented out pragma Inline's
- Move specifications of new subprograms to the actual specs
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads: Update comments.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads, a-cofove.ads: Minor reformatting.
-
-2011-08-02 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
- a-cofove.ads: Add comments.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Document formal containers.
-
-2011-08-02 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
- are empty sections.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
- reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * aspects.adb: New aspects Default_Value and Default_Component_Value
- New format of Aspect_Names table checks for omitted entries
- * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
- handling of boolean aspects for derived types.
- New aspects Default_Value and Default_Component_Value
- New format of Aspect_Names table checks for omitted entries
- * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
- (Has_Default_Value): New flag
- (Has_Default_Component_Value): New flag
- (Has_Default_Value): New flag
- * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
- table.
- * par-prag.adb: New pragmas Default_Value and Default_Component_Value
- * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
- Default_Value and Default_Component_Value
- * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
- New aspects Default_Value and Default_Component_Value
- * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
- * sprint.adb: Print N_Aspect_Specification node when called from gdb
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
- inherit library kind.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
- Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb: Add comment.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
- qualification of aggregates in formal mode
- (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
- another aggregate
- (Resolve_Aggregate): complete the test that an aggregate is adequately
- qualified in formal mode
-
-2011-08-02 Pascal Obry <obry@adacore.com>
-
- * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
- * mlib-prj.adb: Supress warning when compiling binder generated file.
- (Build_Library): Supress all warnings when compiling the binder
- generated file.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
- from here...
- * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
- * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
- Add with/use clauses to make Check_Formal_Restriction visible
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
- in-parameters when type of the generic formal is private in the generic
- spec and non-private in the body.
-
-2011-08-02 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
- a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
- a-cofove.adb, a-cofove.ads: New files implementing formal containers.
- * impunit.adb, Makefile.rtl: Take new files into account.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
- sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
- formal mode
- * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
- matching static array bounds, taking into account the special case of
- string literals
- * sem_ch3.adb: Typo in comment.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
- which issues an error in formal mode if its argument node is originally
- from source
- * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
- has a discriminant specification so that it does not include the case
- of derived types
- (Derived_Type_Declaration): move here the test that a derived type has a
- discriminant specification
- * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
- first element of a component association before accessing its choices
- (presence of component association is not enough)
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
- declaration is a library item before accessing the next element in a
- list, as library items are not member of lists
- * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
- sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
- Check_Formal_Restriction whenever possible.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
- reference when needed.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
- archive file name. Do not use the full path name of archives for Open
- VMS.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb, sem_ch11.adb: New calling sequence for
- Analyze_Aspect_Specifications
- * sem_ch13.adb
- (Analyze_Aspect_Specifications): New handling for boolean aspects
- * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
- * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
- sequence for Analyze_Aspect_Specifications
- * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
- * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
- aspects, since these no longer exist.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * par-ch13.adb (Aspect_Specifications_Present): Always return false on
- semicolon, do not try to see if there are aspects following it.
- * par-ch3.adb (P_Declarative_Items): Better message for unexpected
- aspect spec.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb, aspects.ads: Minor reformatting.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
- * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
- extracted from...
- (Analyze_Aspect_Specifications): ...here. Call above procedure.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
- mode on subprogram declaration outside of package specification, unless
- it is followed by a pragma Import
- * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
- Access_Type_Declaration): issue error in formal mode on access type
- (Analyze_Incomplete_Type_Decl): issue error in formal mode on
- incomplete type
- (Analyze_Object_Declaration): issue error in formal mode on object
- declaration which does not respect SPARK restrictions
- (Analyze_Subtype_Declaration): issue error in formal mode on subtype
- declaration which does not respect SPARK restrictions
- (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
- error in formal mode on digits or delta constraint
- (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
- decimal fixed point type
- (Derived_Type_Declaration): issue error in formal mode on derived type
- other than type extensions of tagged record types
- * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
- with check on access definition
- * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
- mode on protected definition.
- (Analyze_Task_Definition): issue error in formal mode on task definition
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch6.adb (Can_Override_Operator): New function.
- (Verify_Overriding_Indicator): Add missing code to check overriding
- indicator in operators. Fixes regression.
- (Check_Overriding_Indicator): Minor reformating after replacing the
- code that evaluates if the subprogram can override an operator by
- invocations to the above new function.
- * einfo.adb
- (Write_Field26_Name): Add missing code to ensure that, following
- the documentation in einfo.ads, this field is not shown as attribute
- "Static_Initialization" on non-dispatching functions.
-
-2011-08-02 Jose Ruiz <ruiz@adacore.com>
-
- * sem_res.adb (Resolve_Call): A call to
- Ada.Real_Time.Timing_Events.Set_Handler violates restriction
- No_Relative_Delay (AI-0211) only when it sets a relative timing event,
- i.e., when the second parameter is of type Time_Span.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
- with an archive instead of -L<library dir> -l<library name>.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
- mark the base types In_Use in addition to making the operations
- use_visible.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * init.c: add and setup __gnat_signal_mask for the exception signals
- * s-inmaop-vxworks.adb: new file.
- * s-intman-vxworks.adb: remove unnecessary initializations and
- simplify remaining
- * s-intman-vxworks.ads: remove unnecessary variable
- * s-taprop-vxworks.adb: simplify signal initialization
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor code reorganization, comment updates.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
- * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
- here from Sem_Res.
- (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
- (Matching_Static_Array_Bounds): Moved here from Sem_Res
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
- * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
- * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
- use_type_clauses, to handle more efficiently use_type and use_all_type
- constructs.
- * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
- Ada2012 Use_All_Type clause.
- (Use_Class_Wide_Operations): new procedure.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
- sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
- expression to expression function.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb: transform simple Ada2012 membership into equality only
- if types are compatible.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Matching_Static_Array_Bounds): new function which
- returns True if its argument array types have same dimension and same
- static bounds at each index.
- (Resolve_Actuals): issue an error in formal mode on actuals passed as
- OUT or IN OUT paramaters which are not view conversions in SPARK.
- (Resolve_Arithmetic_Op): issue an error in formal mode on
- multiplication or division with operands of fixed point types which are
- not qualified or explicitly converted.
- (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
- Boolean or array type (except String) operands.
- (Resolve_Equality_Op): issue an error in formal mode on equality
- operators for array types other than String with non-matching static
- bounds.
- (Resolve_Logical_Op): issue an error in formal mode on logical operators
- for array types with non-matching static bounds. Factorize the code in
- Matching_Static_Array_Bounds.
- (Resolve_Qualified_Expression): issue an error in formal mode on
- qualified expressions for array types with non-matching static bounds.
- (Resolve_Type_Conversion): issue an error in formal mode on type
- conversion for array types with non-matching static bounds
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * par-ch10.adb: Minor code reorganization (use Nkind_In).
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch9.adb: save location of entry for proper error message.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
- (Use_Full_View) which permits this routine to climb through the
- ancestors using the full-view of private parents.
- * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
- Use_Full_View to true in calls to Is_Ancestor.
- * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
- true in call to Is_Ancestor.
- * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
- Use_Full_View to true in call to Is_Ancestor.
- * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
- call to Is_Ancestor.
- * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
- Use_Full_View to true in calls to Is_Ancestor.
- * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
- Make_Select_Specific_Data_Table, Register_Primitive,
- Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
- to true in call to Is_Ancestor.
- * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
- Use_Full_View to true in calls to Is_Ancestor.
- * exp_cg.adb
- (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
- (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor reformatting.
- * sem_prag.adb: Minor reformatting.
-
-2011-08-02 Tristan Gingold <gingold@adacore.com>
-
- * vms_data.ads: Add VMS qualifier for -gnateP.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
- * par-ch7.adb (P_Package): Proper placement of aspects for package
- decl/instantiation.
- * par-endh.adb (Check_End): Ad Is_Sloc parameter
- (End_Statements): Add Is_Sloc parameterr
- * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
- (Check_End): Ad Is_Sloc parameter
- (End_Statements): Add Is_Sloc parameterr
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * ug_words: Add VMS qualifier equivalent to -gnateP:
- /SYMBOL_PREPROCESSING.
-
-2011-08-02 Jose Ruiz <ruiz@adacore.com>
-
- * gnat-style.texi: For hexadecimal numeric literals the typical
- grouping of digits is 4 to represent 2 bytes.
- A procedure spec which is split into several lines is indented two
- characters.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
- * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
- (Resolve_Aggregate): issue errors in formal modes when aggregate is not
- properly qualified
- (Resolve_Array_Aggregate): issue errors in formal modes on non-static
- choice in array aggregate
- (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
- mark as ancestor
- (Resolve_Record_Aggregate): issue errors in formal modes on mixed
- positional and named aggregate for record, or others in record
- aggregate, or multiple choice in record aggregate
- * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
- array operands to logical operations AND, OR and XOR do not have the
- same static lower and higher bounds
- * sem_ch5.adb, sinfo.ads: Correct typos in comments
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
- Replaces Last_Source_Node_In_Sequence.
- * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
- * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
- parens and blank in string (this was inconsistently implemented).
- * errout.ads
- (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
- blank in string (this was inconsistently implemented).
- * gnat1drv.adb
- (Set_Global_Switches): Set formal mode switches appropriately
- * opt.ads, opt.adb: Formal mode is now global switches, more consistent
- * par-prag.adb
- (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
- call Set_Error_Msg_Lang to set "spark" as language name.
- * par.adb: Remove unnecessary call to set formal language for errout
- * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
- appropriately and call Set_Error_Msg_Lang to set "spark" as language
- name.
- * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
- calls to it, moved after resolution so that types are known
- * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
- result of concatenation is not of type String
- (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
- concatenation is not properly restricted
- * gnat_rm.texi: Add doc on pragma Spark_95.
- * gcc-interface/Makefile.in: Remove obsolete target pairs for
- Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
- condition that detects if the overridden operation must replace an
- existing entity.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
- code declarations inserted by Insert_Actions in each alternative of the
- N_Case_Expression node.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb: Minor code reorganization.
- * sem_util.adb: Minor reformatting.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
- * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
- literal or operator symbol which is prefixed
- * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
- mode on access attributes.
- * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
- that concatenation operands are properly restricted in formal mode
- (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
- Analyze_Concatenation_Operand. Issue an error in formal mode if the
- result of the concatenation has a type different from String.
- (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
- Analyze_Quantified_Expression, Analyze_Slice,
- Analyze_Null): issue an error in formal mode on unsupported constructs
- * sem_ch5.adb
- (Analyze_Block_Statement): only issue error on source block statement
- * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
- function which returns the last node in a list of nodes for which
- Comes_From_Source returns True, if any
- * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
- Last_Source_Node_In_Sequence
- * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
- Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
- mode on unsupported constructs
- * sem_ch9.adb Do not return after issuing error in formal mode, as the
- rest of the actions may be needed later on since the error is marked as
- not serious.
- * sinfo.ads: Typos in comments.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * projects.texi: Minor editing.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
- insertion character ~~
- * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
- (Set_Error_Msg_Lang): new procedure which fixes the language for use
- with insertion character ~~
- (Set_Msg_Text): treat insertion character ~~
- * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
- sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
- Formal_Error_Msg_... procedures by equivalent Error_Msg_...
- procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
- errors related to the formal language restriction not serious
- (insertion character |).
- * par.adb (Par): set formal language for error messages if needed
- * sem_ch6.adb (Check_Missing_Return): take into account possible
- generated statements at the end of the function
- * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
- enumeration value to define a new pragma SPARK_95
- * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
- SPARK_Version): new type and variables to store the SPARK version
- (none by default).
- (SPARK_Mode): return True when SPARK_Version is set
- * par-prag.adb: Correct indentation
- (Prag): take Pragma_SPARK_95 into account
- * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
- into account.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
- sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
- sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
- Target_Name to Get_Path call.
- (Parse_Single_Project): Likewise.
- (Post_Parse_Context_Clause): Likewise.
- * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
- Call Initialise_Project_Path with the proper Target_Name.
- (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
- search path.
- (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
- with the proper Target_Name.
- * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
- Part.Parse routine.
- (Parse_Project_And_Apply_Config): Likewise.
- * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
- This is fine as this part of the code is supporting only native
- compilation.
- * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
- is fine as this part of the code is supporting only native compilation.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Enter_Name): issue error in formal mode on declaration
- of homonym, unless the homonym is one of the cases allowed in SPARK
- * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
- package declaration occurring after a body.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb, exp_ch4.adb: Minor reformatting.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads (Access_Disp_Table): Fix documentation.
- (Dispatch_Table_Wrappers): Fix documentation.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * prj-env.adb, prj-env.ads: Minor reformatting.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sem_util.ads, sem_util.adb, par.adb, par_util.adb
- (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
- procedures out of these packages.
- * errout.ads, errout.adb
- (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
- procedures in of this package
- (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
- * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
- on misplaced later vs initial declarations, like in Ada 83
- * sem_attr.adb (Processing for Analyze_Attribute): issue error in
- formal mode on attribute of private type whose full type declaration
- is not visible
- * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
- package declaration inside a package specification
- (Analyze_Full_Type_Declaration): issue error in formal mode on
- controlled type or discriminant type
- * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
- user-defined operator means that it should come from the source
- (New_Overloaded_Entity): issue error in formal mode on overloaded
- entity.
- * sem_ch6.ads, sem_ch13.ads: typos in comments.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * atree.adb: Minor reformatting.
- * checks.adb: Minor reformatting.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * s-parame-vms-ia64.ads: Fix typo in comment
- Minor reformatting
- * s-parame-vms-restrict.ads: Removed, unused.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb
- (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
- * sem_ch3.adb
- (Constrain_Index): Remove side effects in the evaluation of the bounds.
- * sem_ch3.ads, sem_ch3.adb
- (Is_Constant_Bound): New extended version of the subprogram that was
- previously located inside function Exp_Ch3.Is_Variable_Size_Array.
- Moved here since it is shared by routines of sem_ch3 and exp_ch3.
- * sem_aux.ads (Constant_Value): Fix typo in comment.
- * checks.adb (Generate_Index_Checks): New implementation which, for
- array objects with constant bounds, generates the runtime check
- referencing the bounds of the array type. For other cases this routine
- provides its previous behavior obtaining such values from the array
- object.
- * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
- parent type.
- * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
- we cannot have semantic interpretations of the new node.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
- expressions.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch8.adb: Minor code editing.
- * s-vxwext.adb: Remove trailing space.
- * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
- consistency with other files.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch10.adb: reject parameterized expressions as compilation unit.
- * sem_ch4.adb: handle properly conditional expression with overloaded
- then_clause and no else_clause.
-
-2011-08-01 Tristan Gingold <gingold@adacore.com>
-
- * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
- like done by System.Aux_DEC.
- * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
- missing label at end of declaration (subprogram or package)
- * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
- of positional and named parameter association
- * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
- Error_Msg_SP which adds a prefix to the error message giving the name
- of the formal language analyzed
- * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
- access result type in subprogram, unconstrained array as result type,.
- (Analyze_Subprogram_Declaration): issue an error in formal mode for null
- procedure
- * sem_ch8.adb: Code clean up.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
- * einfo.ads (Access_Disp_Table): Fix documentation.
- (Dispatch_Table_Wrappers): Fix documentation.
- * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
- Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
- to enforce the documentation of this attribute.
- (Set_Is_Interface): Cleanup the assertion.
- * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
- the Underlying_Type entity before reading attribute Access_Disp_Table.
- * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
- Locate the Underlying_Type before reading attribute Access_Disp_Table.
- * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
- the Underlying_Type entity before reading attribute Access_Disp_Table.
- * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
- Locate the Underlying_Type entity before reading attribute
- Access_Disp_Table.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * s-poosiz.ads: Additional overriding indicators.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
- formal mode.
- (Analyze_Iteration_Scheme): issue error in formal mode when loop
- parameter specification does not include a subtype mark.
- * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
- formal mode on abstract subprogram.
- (Analyze_Subprogram_Specification): issue error in formal mode on
- user-defined operator.
- (Process_Formals): issue error in formal mode on access parameter and
- default expression.
- * sem_ch9.adb (Analyze_Abort_Statement,
- Analyze_Accept_Statement, Analyze_Asynchronous_Select,
- Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
- Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
- Analyze_Requeue, Analyze_Selective_Accept,
- Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
- * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
- issue error in formal mode on user-defined raise statement.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
- declaration being hidden when overriding an implicit inherited
- subprogram.
- * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
- (-gnats), do not complain about a source file that contains only a
- pragma No_Body.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
- variable if already set.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
- g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
- s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
- g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
- g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
- g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
- g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
- g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
- g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
- g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
- g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
- s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
- g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
- s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
- g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
- g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
- g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
- g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
- g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
- g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
- s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
- s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
- a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
- s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
- s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
- g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
- g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
- g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
- g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
- g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
- g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
- s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
- s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
- g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
- g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
- s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
- s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
- g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
- g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
- g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
- s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
- g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
- g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
- g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
- s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
- g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
- g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
- g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
- s-osinte-mingw.ads: Update to GPLv3 run-time license.
- Use GNAT instead of GNARL.
-
-2011-08-01 Bob Duff <duff@adacore.com>
-
- * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
- a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
- a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
- reformatting.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * debug.adb (d.D) reverve flag for the SPARK mode
- (d.E) reverve flag for SPARK generation mode
- (d.F) reverve flag for Why generation mode
- * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
- ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
- functions which return True when the corresponding modes are set
- (Formal_Language): return "spark" or "alfa" when in formal verification
- mode.
- * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
- Error_Msg to prefix the error message with a tag giving the formal
- language
- (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
- message with a tag giving the formal language
- * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
- block statement
- (Analyze_Case_Statement): issue error in formal mode on case statement
- with a single "others" case alternative
- (Analyze_Exit_Statement): issue errors in formal mode on exit
- statements which do not respect SPARK restrictions
- (Analyze_Goto_Statement): issue error in formal mode on goto statement
- (Check_Unreachable_Code): always issue an error (not a warning) in
- formal mode on unreachable code (concerns both code after an infinite
- loop and after an unconditional jump, both not allowed in SPARK)
- * sem_ch6.adb (Analyze_Return_Statement): add call to
- Set_Return_Present for a procedure containing a return statement
- (already done for functions in Analyze_Function_Return)
- (Analyze_Function_Return): issue error in formal mode on extended
- return or if return is not last statement in function
- (Check_Missing_Return): issue error in formal mode if function does
- not end with return or if procedure contains a return
- * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
- function to detect if there is an inner scope of its parameter S which
- is a loop.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch6.ads: Minor reformatting.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Abstract_Interface_List): Complete condition when
- processing private type declarations to avoid reading unavailable
- attribute.
- (Is_Synchronized_Tagged_Type): Complete condition when processing
- private extension declaration nodes to avoid reading unavailable
- attribute.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
- i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
- s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
- s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
- for VMS, instead parametrize the common implementation with
- System.Parameters declarations.
-
-2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
-
-2011-08-01 Tristan Gingold <gingold@adacore.com>
-
- * seh_init.c: Fix SEH handler installation on win64.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
- double analysis of an anonymous access to subprogram, because it can
- lead to improper sharing of profiles and a back-end crash.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * make.adb, sem_ch4.adb: Minor reformatting.
- * gcc-interface/Make-lang.in: Update dependencies.
- * sem_util.adb, exp_ch5.adb: Minor reformatting.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi: Fix definition of Long_Integer.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb: check limit size of static aggregate unconditionally,
- to prevent storage exhaustion.
- * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
- finalized is a function body, insert the cleanup code before the final
- return statement, to prevent spurious warnings.
- * s-pooglo.ads: add overriding indicator.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Operator_Check): improve error message when both a
- with_clause and a use_clause are needed to make operator usage legal.
- * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
- determine whether a compilation unit is visible within an other,
- either through a with_clause in the current unit, or a with_clause in
- its library unit or one one of its parents.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
- over an arbitrary expression of an array or container type.
- * lib-xref.adb: clarify comment.
-
-2011-08-01 Bob Duff <duff@adacore.com>
-
- * einfo.ads: Minor reformatting.
- * debug.adb: Minor comment improvement.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
- consider hidden subprograms as valid candidates.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
-
-2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
- lib-xref.adb: Minor reformatting
-
-2011-08-01 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
- when to generate a call to Move_Final_List.
- (Has_Controlled_Parts): Remove this function.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
- "," in choice list.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
- explicit raise of a predefined exception as Comes_From_Source if the
- original N_Raise_Statement comes from source.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads: Add comment.
- * sem_ch6.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Refine check for bad component size
- clause to avoid rejecting confirming clause when atomic/aliased present.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
- better determine whether an entity reference is a write.
- * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
- subcomponent.
- * lib-xref.adb (Output_References): Do no suppress a read reference at
- the same location as an immediately preceeding modify-reference, to
- handle properly in-out actuals.
-
-2011-08-01 Tristan Gingold <gingold@adacore.com>
-
- * env.c (__gnat_setenv) [VMS]: Refine previous change.
-
-2011-08-01 Quentin Ochem <ochem@adacore.com>
-
- * i-cstrin.adb (New_String): Changed implementation, now uses only the
- heap to compute the result.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * atree.ads: Minor reformatting.
-
-2011-08-01 Emmanuel Briot <briot@adacore.com>
-
- * g-expect.adb (Get_Command_Output): Fix memory leak.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (P_Float_Type): New procedure to print the definition of
- predefined fpt types.
- (P_Mixed_Name): New procedure to print a name using mixed case
- (Print_Standard): Use P_Float_Type for printing floating point types
- * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
- precision IEEE float.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
- the completion of a generic function, insert the new body rather than
- rewriting the original.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sinfo.ads, errout.ads: Typos in comments.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * par-endh.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add aspects for library unit pragmas
- (Pre_Post_Aspects): New subtype.
- * par-ch12.adb (P_Generic): New syntax for aspects in packages
- * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
- * par-ch7.adb (P_Package): Remove Decl parameter
- (P_Package): Handle new syntax for aspects (before IS)
- * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
- new aspect syntax
- (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
- * par.adb (P_Aspect_Specifications): Add Semicolon parameter
- (P_Package): Remove Decl parameter
- * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
- aspects
- * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
- specs
- * sem_util.ads, sem_util.adb (Static_Boolean): New function
- * sinfo.ads: Document new syntax for aspects in packages etc.
- * sprint.adb: Handle new syntax of aspects before IS in package
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * atree.ads: Minor reformatting.
- * sem_prag.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb (Insert_Actions): Fix error in handling Actions for
- case expr alternative.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Fix typo.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * sem_prag.adb (Check_No_Link_Name): New procedure.
- (Process_Import_Or_Interface): Use Check_No_Link_Name.
- * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
- instead of Standard_Long_Long_Float_Size global. Preparation for
- eventual removal of per type constants.
- * exp_util.ads (Get_Stream_Size): New function returning the stream
- size value of subtype E.
- * exp_util.adb (Get_Stream_Size): Implement new function.
- * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
- function.
- * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
- * einfo.adb:
- (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb: Fix comments.
- * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
- count of arguments.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb, sem_cat.adb: Minor reformatting.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * atree.ads: Fix comment.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
- * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
- * par.adb: Add with for Namet.Sp.
- * par-tchk.adb: Minor reformatting.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
- (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
- of the init procedure of a SAL.
- * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
- New procedure.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
- reformatting.
-
-2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
- conformant with its spec (return True only for types that have
- an overriding Initialize primitive operation that prevents them from
- having preelaborable initialization).
- * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
- initialization for controlled types in Ada 2005 or later mode.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
- Postcondition.
- (Same_Aspect): New function.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
- Type_Invariant, Precondition, Postcondition.
- * snames.ads-tmpl: Add Name_Type_Invariant.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
- here.
- (Freeze_All_Ent): Fix error in handling inherited aspects.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
- already analyzed, but don't skip entire processing of a declaration,
- that's wrong in some cases of declarations being rewritten.
- (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
- Don't delay for integer, string literals
- Treat predicates in usual manner for delay, remove special case code,
- not needed.
- (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
- (Build_Predicate_Function): Update saved expression in aspect
- (Build_Invariant_Procedure): Update saved expression in aspect
- * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
- of replacement of discriminant references if the reference is simple.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
- * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
- Static_Predicate and Dynamic_Predicate.
- (Build_Predicate_Function): Add processing for Static_Predicate
- and Dynamic_Predicate.
- * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
- (From_Static_Predicate): New flag
- * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Documentation cleanup for Ada version modes in usage.
- * expander.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * atree.ads: Minor comment fix.
- * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
- a-witeio.ads, sem_prag.adb: Minor reformatting.
-
-2011-08-01 Doug Rupp <rupp@adacore.com>
-
- * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
- pointers. Use descrip.h header file for convenience. Add some
- comments.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
- (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
- * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
- New procedure.
- (Check_Aspect_At_End_Of_Declarations): New procedure
- (Analye_Aspect_Specification): Minor changes for above procedures
- * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
- specification node as well.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
- Windows files. Use GetFilesAttributes() in this case to check for file
- existence instead of returning with an error code.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
- High is above Source length.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads (Boolean_Aspects): New subtype.
- * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
- for derived types in cases where the parent type and derived type have
- aspects.
- * freeze.adb (Freeze_Entity): Fix problems in handling derived type
- with aspects when parent type also has aspects.
- (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
- boolean expression at this point).
- * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
- accordance with final decision on the Ada 2012 feature.
- * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
-
-2011-08-01 Matthew Heaney <heaney@adacore.com>
-
- * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
- Fix Replace_Slice when High is above current string size.
- (Replace_Slice): Fix DL computation when High is above current
- string length.
-
-2011-08-01 Gary Dismukes <dismukes@adacore.com>
-
- * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
-
-2011-08-01 Matthew Heaney <heaney@adacore.com>
-
- * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
- of node.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
- reformatting.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
- access to protected subprograms in generic bodies.
- * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
- protected type, indicate that the convention of the subprogram is
- Convention_Protected, because it may be used in subsequent declarations
- within the protected declaration.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
- and "final" procedures when the name of the library is "ada", to avoid
- duplicate symbols "adainit" and "adafinal" in executables.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
- quantified expression that appears within a postcondition and uses the
- Ada2012 'Result attribute.
-
-2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * init.c (__gnat_error_handler): Cast reason to int.
- (__gnat_install_handler): Explain sa_sigaction use.
-
-2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
- subprogram has copy-in copy-out parameters, try to promote the mode of
- the return type if it is passed in registers.
-
-2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
- left operand as addressable.
-
-2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (build_function_stub): Remove.
- (build_return_expr): Likewise.
- (convert_vms_descriptor): Declare.
- * gcc-interface/utils.c (convert_vms_descriptor): Make global.
- (build_function_stub): Move to...
- * gcc-interface/utils2.c (build_return_expr): Move to...
- * gcc-interface/trans.c (build_function_stub): ...here.
- (build_return_expr): ...here.
- (Subprogram_Body_to_gnu): Add local variable for language_function.
- Disconnect the parameter attributes cache, if any, once done with it.
- Call end_subprog_body only after setting the end_locus.
- Build the stub associated with the function, if any, at the very end.
- (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
- variables and streamline control flow.
-
-2011-07-23 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/49819
- * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
- g-trasym-dwarf.adb.
-
-2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/49794
- * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
- Assign to act.sa_sigaction.
- * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
- current->return_address to char * before arithmetic.
-
-2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
- Correct argument types.
- Extract code from reason.
- (__gnat_install_handler): Assign to act.sa_sigaction.
-
-2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
- (GNAT1_OBJS): ...here.
-
-2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/48711
- * g-socthi-mingw.adb (Fill): Fix formatting.
-
- * gcc-interface/gigi.h: Move around comment.
-
-2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/46350
- * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
-
-2011-07-14 Florian Weimer <fw@deneb.enyo.de>
-
- PR ada/48711
- * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
-
-2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
- range comparison if Pmode is SImode.
-
-2011-07-12 Laurent GUERBY <laurent@guerby.net>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * adadecode.c: Wrap up in extern "C" block.
- * adadecode.h: Likewise.
- * adaint.c: Likewise. Remove 'const' keyword.
- * adaint.h: Likewise.
- * argv.c: Likewise.
- * atree.h: Likewise.
- * cio.c: Likewise.
- * cstreams.c: Likewise.
- * env.c: Likewise.
- * exit.c: Likewise.
- * fe.h: Likewise.
- * final.c: Likewise.
- * init.c: Likewise.
- * initialize.c: Likewise.
- * link.c: Likewise.
- * namet.h: Likewise.
- * nlists.h: Likewise.
- * raise.c: Likewise.
- * raise.h: Likewise.
- * repinfo.h: Likewise.
- * seh_init.c: Likewise.
- * targext.c: Likewise.
- * tracebak.c: Likewise.
- * uintp.h: Likewise.
- * urealp.h: Likewise.
- * xeinfo.adb: Wrap up generated C code in extern "C" block.
- * xsinfo.adb: Likewise.
- * xsnamest.adb: Likewise.
- * gcc-interface/gadaint.h: Wrap up in extern "C" block.
- * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
- (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
- ada/targext.o here...
- (GNAT_ADA_OBJS): ...and not here.
- (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
- (GNATBIND_OBJS): Reorder.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
- dwarf2out_frame_init.
-
-2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_init): Tweak previous change.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/39150
- * gcc-interface/Makefile.in: Handle x86_64-solaris2.
-
-2011-07-06 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/misc.c (gnat_init): Merge calls to
- build_common_tree_nodes and build_common_tree_nodes_2.
- Re-initialize boolean_false_node.
-
-2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Nicolas Setton <setton@adacore.com>
-
- * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
- the type according to the ARTIFICIAL_P parameter.
- (create_type_decl): Likewise.
- (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
-
-2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
- (gnatbind): Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
- local variable throughout. Remove useless call to Base_Type.
- (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
- Take it also into account for the volatileness of the field. Set the
- TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
- on a dereference built for a by-ref object if it has an address clause.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Address_Taken): Document use for the second argument of
- Asm_Input and Asm_Output attributes.
- * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
- argument is an entity name, then set Address_Taken on it.
- <Attribute_Asm_Output>: Likewise.
- * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
- Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
- (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
- memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
-
-2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR middle-end/46500
- * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
-
-2011-06-14 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
- (ada/utils.o): Update dependencies.
- * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
- ../../../libcpp/libcpp.a.
- * gcc-interface/utils.c: Include common/common-target.h.
- (process_attributes): Use targetm_common.have_named_sections.
-
-2011-06-07 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
- set_sizetype.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
- TREE_THIS_NOTRAP flag.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
- Fix thinko.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
- constants whose full view has discriminants specially.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c: Include diagnostic.h.
- (gnat_write_global_declarations): Output debug information for all
- global type declarations before finalizing the compilation unit.
- * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
-
-2011-05-25 Jakub Jelinek <jakub@redhat.com>
-
- * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
-
-2011-05-25 Kai Tietz <ktietz@redhat.com>
-
- * adaint.c (__gnat_to_canonical_file_list_next): Use array
- initialization instead of const/none-const pointer assignment.
-
-2011-05-24 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
- $(EXTRA_GNAT1_OBJS).
- (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
- (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
- (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
- * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
- libcommon-target.a instead of prefix.o.
-
-2011-05-21 Joseph Myers <joseph@codesourcery.com>
-
- PR ada/49097
- * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
-
-2011-05-20 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
- * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
- instead of version.o.
-
-2011-05-18 Kai Tietz <ktietz@redhat.com>
-
- * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
- boolean_false_node instead of integer_zero_node.
- (convert_with_check): Likewise.
- * gcc-interface/decl.c (choices_to_gnu): Likewise.
-
-2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
- type of the parameter is an unconstrained array, convert the actual to
- the type of the formal in the In Out and Out cases as well.
-
-2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
- call build_function_type_array or build_varargs_function_type_array
- instead.
- (create_subprog_type): Don't call build_function_type; call
- build_function_type_vec instead.
-
-2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
- (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
- (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
-
-2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
-
- * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
- * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
- instead of accessing TYPE_ARG_TYPES directly.
- * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/48844
- * gcc-interface/gigi.h (get_variant_part): Declare.
- * gcc-interface/decl.c (get_variant_part): Make global.
- * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
- types have the same constant size, are record types and T1 has a
- variant part while T2 doesn't.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (begin_subprog_body): Do not call
- get_pending_sizes.
- (end_subprog_body): Likewise.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
- int_const_binop.
- (pos_to_constructor): Likewise.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gigi): Call build_function_type_list instead
- of build_function_type. Adjust calls to...
- (build_raise_check): ...this. Do not take a void_tree parameter.
- Call build_function_type_list instead of build_function_type.
- Fix head comment and swap couple of conditional blocks.
-
-2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatvsn.ads (Library_Version): Bump to 4.7.
- (Current_Year): Bump to 2011.
-
-2011-04-29 Michael Matz <matz@suse.de>
-
- * gcc-interface/misc.c (gnat_handle_option): Set
- warn_maybe_uninitialized.
-
-2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
-
- * gnat_ugn.texi (Complexity Metrics Control): Update link to
- the Watson/McCabe paper.
-
-2011-04-23 Jim Meyering <meyering@redhat.com>
-
- * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
-
-2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
- onto the new type.
-
-2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
- parameter.
- * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
- DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
- ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
- <all>: Do not set flags on the reused DECL node coming from an alias.
- Set DECL_IGNORED_P on the DECL node built for subprograms if they
- don't need debug info here...
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
- (gigi): Adjust calls to create_subprog_decl.
- (build_raise_check): Likewise.
- (establish_gnat_vms_condition_handler): Likewise.
- (Compilation_Unit_to_gnu): Likewise.
- (gnat_to_gnu): Likewise.
-
-2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
- (NO_REORDER_ADAFLAGS): New variable.
- (EXTRA_GNATTOOLS): Always define.
- (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
- Clean up and adjust list of files compiled with special options.
- * gcc-interface/Make-lang.in: Likewise.
- (ada/decl.o): Cosmetical change.
- (ada/misc.o): Remove dependency on $(PLUGIN_H).
-
-2011-04-20 Jim Meyering <meyering@redhat.com>
-
- * initialize.c (__gnat_initialize): Remove useless if-before-free.
-
-2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
- $(CFLAGS) on the link line.
-
-2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
- padded type built for the return type if it is unconstrained.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
-
-2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
- before calling TREE_CHAIN.
- * gcc-interface/misc.c (gnat_init_ts): New function.
- (LANG_HOOKS_INIT_TS): Define.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
- instead of cgraph_node.
-
-2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
- alignment on fields of the RETURN type built for the Copy-In Copy-Out
- mechanism.
-
-2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
- of aggregate types that contain a placeholder.
-
-2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
- TYPE_ARG_TYPES.
- (handle_type_generic_attribute): Likewise.
-
-2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/47163
- * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
-
-2011-04-04 Kai Tietz <ktietz@redhat.com>
-
- PR ada/47163
- * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
- to flag value.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_allocator): In the unconstrained array
- type case, do not strip a padding type around the array type.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
- types.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
- * gcc-interface/misc.c (gnat_handle_option): Remove special handling
- code for -feliminate-unused-debug-types.
- (gnat_post_options): Likewise.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
- declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
- distinct copy.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
- DECL_ARTIFICIAL flag on enumeration types.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
- fat pointer types artificial unconditionally.
- <E_Array_Subtype>: Attach the base array type as a parallel type if it
- isn't artificial.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (get_dummy_type): Declare.
- (build_dummy_unc_pointer_types): Likewise.
- (finish_fat_pointer_type): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
- fat pointer type has been built, complete it in place.
- <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
- and thin pointers. Remove useless variable.
- (finish_fat_pointer_type): Make global and move to...
- * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
- (get_dummy_type): New function.
- (build_dummy_unc_pointer_types): Likewise.
- (gnat_pushdecl): Propage the name to the anonymous variants only.
- (update_pointer_to): Only adjust the pointer types in the unconstrained
- array case.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
- if this is a Taft amendment type and the full declaration is available.
- * gcc-interface/trans.c (process_type): Likewise.
- If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
- (process_freeze_entity): Likewise.
- * gcc-interface/utils.c (dummy_global): New static variable.
- (gnat_write_global_declarations): If there are types declared as used
- at the global level, insert them in the global hash table.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
- * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
- declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
- copy.
- (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
- flag of the type accordingly.
- * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
- finalizing types when updating the pointers to the designated type.
- <all>: Finalize the deferred types even if we didn't defer processing
- of incomplete types in this invocation.
-
-2011-04-01 Olivier Hainque <hainque@adacore.com>
- Nicolas Setton <setton@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_descriptive_type): New function.
- (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
-
-2011-03-28 Kai Tietz <ktietz@redhat.com>
-
- * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
- Windows targets.
- (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
- * system-mingw.ads (System): Change ZCX_By_Default default to True.
-
- * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
-
-2011-03-28 Tristan Gingold <gingold@adacore.com>
-
- PR ada/44431
- * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
- Use ada output of gnatbind.
- (ada/b_gnatb.adb): Ditto.
- (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
- (ada.mostlyclean, ada.stage1)
- (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
- (ada.stagefeedback): Adjust.
- * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
- Use ada output of gnatbind.
- (b_gnatm.adb): Ditto.
- (b_gnatl.o, b_gnatm.o): New rules.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
- for the padded type built to support a specified size or alignment.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
- unconditionally to the end of the unit when the designated type is
- limited_with'ed.
- <all>: Rename local variable. Attempt to un-defer types only and do it
- for limited_with'ed types as well.
- (finalize_from_with_types): Adjust comment. Rename variable and tidy.
- * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
- consistently and remove redundant call to finalize_from_with_types.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
- subprograms without a previous spec declared in the same unit.
- * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
- subprograms at the end of the unit instead of at the beginning.
- * gcc-interface/utils.c (create_subprog_decl): Check that the entity
- isn't public for the special handling of non-inline functions nested
- inside inline external functions.
-
-2011-03-25 Jeff Law <law@redhat.com>
-
- * gcc-interface/utils.c (def_fn_type): Add missing va_end.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
- * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
- to compute Set_Size_Depends_On_Discriminant.
- (Layout_Type): Call it on array types in back-end layout mode.
- * sem_util.adb (Requires_Transient_Scope): Return true for array
- types only if the size depends on the value of discriminants.
- * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
- type if the RHS is a call to a function that returns an unconstrained
- type with default discriminant.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
- non-conversion to the nominal result type at the end.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (create_temporary): New function taken from...
- (create_init_temporary): ...here. Call it.
- (call_to_gnu): Create the temporary for the return value early, if any.
- Create it for a function with copy-in/copy-out parameters if there is
- no target; in other cases of copy-in/copy-out, use another temporary.
- Push the new binding level lazily. Add and rename local variables.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (validate_size): Improve comments and tweak
- error message.
- (set_rm_size): Likewise.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
- for the padded type built in order to support a specified alignment.
- Fix incorrect formatting.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/48216
- * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
- rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
- to the end of the list. Adjust recursive call. Rename local variable.
- If REORDER is true, reorder components of the record type.
- (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
- components_to_record and adjust the parameter list.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (elaborate_expression_1): When optimization is
- disabled, use the variable for bounds of loop iteration scheme.
-
-2011-03-21 Kai Tietz <ktietz@redhat.com>
-
- PR target/12171
- * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
-
-2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
- out whether the expression is read-only. Short-circuit placeholder
- case and rename a couple of local variables.
-
-2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (smaller_form_type_p): Declare.
- * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
- * gcc-interface/utils.c (smaller_form_type_p): ...to here.
- (convert): Deal with conversions from a smaller form type specially.
-
-2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
- its argument, except for the special -I- switch.
-
-2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
- "Ada Issues".
-
-2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
-
-2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
- GNAT_FORMAL.
- * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
- * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
- instead of GNAT_FORMAL. Protect the expression against multiple uses.
- Do not generate the check directly, instead instantiate the template
- check present in the descriptor.
- (make_descriptor_field): Move around.
- (build_vms_descriptor32): Build a template check in the POINTER field.
- (build_vms_descriptor): Remove useless suffixes.
- * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
-
-2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/47467
- * targext.c: Include target files if IN_RTS is defined.
-
-2011-01-26 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/47467
- * targext.c: Include config.h.
- * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
- dependency.
-
-2011-01-04 Pascal Obry <obry@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
- end-of-case on the end label and its associated gotos, if any.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
- expressions of the parameter cache within the statement group of
- the CICO mechanism.
-
-2011-01-04 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
- (set_end_locus_from_node): New function.
- (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
- make and the function end_locus.
- (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
- for the elaboration subprogram.
- (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
- set the end_locus of the expression as well.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/47131
- * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
- variables that are referenced in exception handlers volatile.
-
-
-
-Copyright (C) 2011 Free Software Foundation, Inc.
-
-Copying and distribution of this file, with or without modification,
-are permitted in any medium without royalty provided the copyright
-notice and this notice are preserved.
-
- * gnat_rm.texi: Ramification of pragma Eliminate documentation
- - fix bugs in the description of Source_Trace;
- - get rid of UNIT_NAME;
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb
- (Build_Dispatching_Requeue): Adding support for VM targets
- since we cannot directly reference the Tag entity.
- * exp_sel.adb (Build_K): Adding support for VM targets.
- (Build_S_Assignment): Adding support for VM targets.
- * exp_disp.adb
- (Default_Prim_Op_Position): In VM targets do not restrict availability
- of predefined interface primitives to compiling in Ada 2005 mode.
- (Is_Predefined_Interface_Primitive): In VM targets this service is not
- restricted to compiling in Ada 2005 mode.
- (Make_VM_TSD): Generate code that declares and initializes the OSD
- record. Needed to support dispatching calls through synchronized
- interfaces.
- * exp_ch3.adb
- (Make_Predefined_Primitive_Specs): Enable generation of predefined
- primitives associated with synchronized interfaces.
- (Make_Predefined_Primitive_Bodies): Enable generation of predefined
- primitives associated with synchronized interfaces.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
- statements hidden in SPARK if preceded by the HIDE directive
- (Parse_Exception_Handlers): mark each exception handler in a sequence of
- exception handlers as hidden in SPARK if preceded by the HIDE directive
- * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
- if starting with the HIDE directive
- * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
- starting with the HIDE directive; mark the declarations in a private
- part as hidden in SPARK if the private part starts with the HIDE
- directive
- * restrict.adb, restrict.ads
- (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
- (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
- argument node belongs to a part which is hidden in SPARK
- (Check_SPARK_Restriction): do not issue violations on nodes in hidden
- parts in SPARK; protect the possibly costly call to
- Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
- * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
- * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
- Accumulate_Token_Checksum_GNAT_5_03): add case for new token
- Tok_SPARK_Hide.
- (Scan): recognize special comment starting with '#' and followed by
- SPARK keyword "hide" as a HIDE directive.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * types.ads, erroutc.ads: Minor reformatting.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * link.c: Add response file support for cross platforms.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
- in an association, set parent field of copy before partial analysis.
- * sem_res.adb (Resolve_Slice): create reference to itype only when
- expansion is enabled.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
- for new flag denoting which subprogram bodies are in ALFA
- * restrict.adb, sem_ch7.adb: Update comment
- * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
- sem_ch9.adb, sem_res.adb: Add calls to
- Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
- * sem_ch6.adb (Analyze_Function_Return): add calls to
- Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
- middle of the body, and extended return.
- (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
- False when missing return.
- (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
- to True for subprograms whose spec is in ALFA. Remove later on the flag
- on the entity used for a subprogram body when there exists a separate
- declaration.
- * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
- if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
- False, otherwise do nothing.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch4.ads: minor formatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
- debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
- errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
- restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
- opt.ads: cleanup of SPARK mode
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
- types.
- * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
- (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
- * sem_ch3.adb
- (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
- (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
- (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
- (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
- types.
- (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
- non-static range.
- * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
- functions whose return type is not in ALFA.
- (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
- specifications.
- (Process_Formals): unset Is_In_ALFA flag for subprograms if a
- parameter's type is not in ALFA.
- * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
- types are in ALFA.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6 (Analyze_Expression_Function): treat the function as
- Inline_Always, and introduce a subprogram declaration for it when it is
- not a completion.
- * inline.adb (Add_Inlined_Body): recognize bodies that come from
- expression functions, so that the back-end can determine whether they
- can in fact be inlined.
- * sem_util.adb (Is_Expression_Function): predicate to determine whether
- a function body comes from an expression function.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
- null exclusions to test Can_Never_Be_Null on the anonymous access types
- of the formals rather than testing the formals themselves. Exclude this
- check in cases where the Old_Formal is marked as a controlling formal,
- to avoid issuing spurious errors for bodies completing dispatching
- operations (due to the flag not getting set on controlling access
- formals in body specs).
- (Find_Corresponding_Spec): When checking full and subtype conformance of
- subprogram bodies in instances, pass Designated and E in that order, for
- consistency with the expected order of the formals (New_Id followed by
- Old_Id).
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
- Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
- primitive operations of class-wide actuals.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_atag.ads, exp_atag.adb
- (Build_Common_Dispatching_Select_Statements): Remove argument Loc
- since its value is implicitly passed in argument Typ.
- * exp_disp.adb (Make_Disp_Conditional_Select_Body,
- Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
- Build_Common_Dispatching_Select_Statements.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
- exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
- Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb: Minor reformatting.
- * sem_prag.adb: Minor reformatting.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_atag.adb, exp_atags.ads
- (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
- by the tagged type Entity. Required to use this routine in the VM
- targets since we do not have available the Tag entity in the VM
- platforms.
- * exp_ch6.adb
- (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
- Ada.Tags has not been previously loaded.
- * exp_ch7.adb
- (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
- Build_VM_TSDs if package Ada.Tags has not been previously loaded.
- * sem_aux.adb
- (Enclosing_Dynamic_Scope): Add missing support to handle the full
- view of enclosing scopes. Required to handle enclosing scopes that
- are synchronized types whose full view is a task type.
- * exp_disp.adb
- (Build_VM_TSDs): Minor code improvement to avoid generating and
- analyzing lists with empty nodes.
- (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
- (Make_Disp_Conditional_Select_Body): Add support for VM targets.
- (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
- (Make_Disp_Timed_Select_Body): Add support for VM targets.
- (Make_Select_Specific_Data_Table): Add support for VM targets.
- (Make_VM_TSD): Generate code to initialize the SSD structure of
- the TSD.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
- cross-references section in ALI.
- * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
- (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
- Sub).
- (Enclosing_Subprogram_Or_Package): new function to return the enclosing
- subprogram or package entity of a node
- (Is_Local_Reference_Type): new function returns True for references
- selected in local cross-references.
- (Lt): function extracted from Lt in Output_References
- (Write_Entity_Name): function extracted from Output_References
- (Generate_Definition): generate reference with type 'D' for definition
- of objects (object declaration and parameter specification), with
- appropriate locations and units, for use in local cross-references.
- (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
- references of type 'I' for initialization in object definition.
- (Output_References): move part of function Lt and procedure
- Write_Entity_Name outside of the body. Ignore references of types 'D'
- and 'I' introduced for local cross-references.
- (Output_Local_References): new procedure to output the local
- cross-references sections.
- (Lref_Entity_Status): new array defining whether an entity is a local
- * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
- with 'I' type when initialization expression is present.
- * get_scos.adb, get_scos.ads: Correct comments and typos
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
- the JVM target.
- * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
- the JVM target.
- * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
- TSD support.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
- (No_Space_Img): New function
- (Find_Excluded_Sources): When reading from a file, record the file name
- and the line number for each excluded source.
- (Mark_Excluded_Sources): When reporting an error, if the excluded
- sources were read from a file, include file name and line number in
- the error message.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
- generation of TSDs to the DOTNET compiler.
- * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
- generation of TSDs to the DOTNET compiler.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
- record of all the tagged types declared inside library level package
- declarations, library level package bodies or library level subprograms.
- * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
- associated with a given tagged type.
- (Build_VM_TSDs): New subprogram.
- * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
- compilation units that are subprograms.
- * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
- compilation units that are package bodies.
- (Expand_N_Package_Declaration): Generate TSDs of the main compilation
- units that are a package declaration or a package instantiation.
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
- reorganization to improve the error generated by the frontend when the
- function Ada.Tags.Secondary_Tag is not available.
- * rtsfind.ads (RE_Register_TSD): New runtime entity.
- * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * s-imenne.ads: Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
- * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
- * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads (Materialize_Entity): Document this is only for renamings
- * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
- required debug information in the case where we transform the object
- declaration into a renaming declaration.
- * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
- object
- * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
- Materialize_Entity.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
- Suppress_Init_Procs.
- * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
- Suppress_Initialization/Initialization_Suppressed.
- * gnat_rm.texi: New documentation for pragma Suppress_Initialization
- * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
- * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
- * sem_prag.adb: New processing for pragma Suppress_Initialization.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
- Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
- only have inheritable classwide pre/postconditions.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
- * rtsfind.ads (RE_Check_TSD): New runtime entity.
- * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
- checks if the external tag of a type is the same as the external tag
- of some other declaration.
-
-2011-08-02 Thomas Quinot <quinot@adacore.com>
-
- * s-taskin.ads: Minor reformatting.
-
-2011-08-02 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Display_Help): swap the order in which it prints the
- short help and the general usage.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
- the aspect declarations and attach them to the generic copy for
- subsequent analysis.
- (Analyze_Subprogram_Instantiation): copy explicitly the aspect
- declarations of the generic tree to the new subprogram declarations.
- * sem_attr.adb (Check_Precondition_Postcondition): recognize
- conditions that apply to a subprogram instance.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
- private type with a tagged full view is not derived in the immediate
- scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb: Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
- Ada2012 iterator, the loop will be rewritten during expansion into a
- while loop with a cursor and an element declaration. Do not analyze the
- body in this case, because if the container is for indefinite types the
- actual subtype of the elements will only be determined when the cursor
- declaration is analyzed.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
- size/alignment related attributes in CodePeer_Mode.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
- Prepend_Element, since this can result in the operation getting the
- wrong slot in the full type's dispatch table if the full type has
- inherited operations. The incomplete type's operation will get added
- to the proper position in the full type's primitives
- list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
- (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
- dispatching operations, since there are cases where nonprimitive
- subprograms can get added to the list of incomplete dependents (such
- as subprograms in nested packages).
- * sem_ch6.adb (Process_Formals): First, remove test for being in a
- private part when determining whether to add a primitive with a
- parameter of a tagged incomplete type to the Private_Dependents list.
- Such primitives can also occur in the visible part, and should not have
- been excluded from being private dependents.
- * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
- RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
- list of a Taft-amendment incomplete type is a primitive before issuing
- an error that the full type must appear in the same unit. There are
- cases where nonprimitives can be in the list (such as subprograms in
- nested packages).
- * sem_disp.adb (Derives_From): Use correct condition for checking that
- a formal's type is derived from the type of the corresponding formal in
- the parent subprogram (the condition was completely wrong). Add
- checking that was missing for controlling result types being derived
- from the result type of the parent operation.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * errout.adb (First_Node): minor renaming
- * restrict.adb (Check_Formal_Restriction): put restriction warning on
- first node.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
- before accessing operands.
- * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
- decide whether an initialization expression respects SPARK rules, as
- the plain node is the expanded one. This allows for more valid warnings
- to be issued.
- * gnat_rm.texi: Minor update.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
- previous change.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
- loop statements and the element renaming declaration with a block when
- the element type is controlled.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sinfo.ads: Minor formatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_aggr.adb (Add_Association): if the association has a box and no
- expression, use the Sloc of the aggregate itself for the new
- association.
- * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
- the Original_Node.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
- When a container is provided via a function call, generate a renaming
- of the function result. This avoids the creation of a transient scope
- and the premature finalization of the container.
- * exp_ch7.adb (Is_Container_Cursor): Removed.
- (Wrap_Transient_Declaration): Remove the supression of the finalization
- of the list controller when the declaration denotes a container cursor,
- it is not needed.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * restrict.adb (Check_Formal_Restriction): only issue a warning if the
- node is from source, instead of the original node being from source.
- * sem_aggr.adb
- (Resolve_Array_Aggregate): refine the check for a static expression, to
- recognize also static ranges
- * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
- Array_Type_Declaration): postpone the test for the type being a subtype
- mark after the type has been resolved, so that component-selection and
- expanded-name are discriminated.
- (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
- to distinguish the case of an iteration scheme, so that an error is
- issed on a non-static range in SPARK except in an iteration scheme.
- * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
- In_Iter_Schm = True.
- * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
- user-defined operators so that they are allowed in renaming
- * sem_ch8.adb
- (Find_Selected_Component): refine the check for prefixing of operators
- so that they are allowed in renaming. Move the checks for restrictions
- on selector name after analysis discriminated between
- component-selection and expanded-name.
- * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
- concatenation argument of string type if it is static.
- * sem_util.adb, sem_util.ads
- (Check_Later_Vs_Basic_Declarations): add a new function
- Is_Later_Declarative_Item to decice which declarations are allowed as
- later items, in the two different modes Ada 83 and SPARK. In the SPARK
- mode, add that renamings are considered as later items.
- (Enclosing_Package): new function to return the enclosing package
- (Enter_Name): correct the rule for homonyms in SPARK
- (Is_SPARK_Initialization_Expr): default to returning True on nodes not
- from source (result of expansion) to avoid issuing wrong warnings.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * errout.adb: On anything but an expression First_Node returns its
- argument.
-
-2011-08-02 Pascal Obry <obry@adacore.com>
-
- * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
- Set the associated loop as the related expression of internally
- generated cursors.
- * exp_ch7.adb (Is_Container_Cursor): New routine.
- (Wrap_Transient_Declaration): Supress the finalization of the list
- controller when the declaration denotes a container cursor.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
- command line now.
- * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
- expression is a simple expression. This check cannot be performed in
- the semantics, so just drop it.
- (P_Index_Or_Discriminant_Constraint): move check that the index or
- discriminant is a subtype mark to Analyze_Subtype_Declaration in the
- semantics. Other cases were previously checked in the semantics.
- * par-ch4.adb (P_Name): move checks that a selector name is not
- character literal or an operator symbol to Find_Selected_Component in
- the semantics
- * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
- declarations are not placed after later declarations in a separate
- procedure in Sem_Util (possibly not the best choice?), to be used both
- during parsing, for Ada 83 mode, and during semantic analysis, for
- SPARK mode.
- * par-endh.adb (Check_End): move check that end label is not missing
- to Process_End_Label in the semantics
- * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
- the special case for SPARK restriction
- * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
- * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
- parameter Force to issue the error message even on internal node (used
- for generated end label). Call Check_Restriction to check when an error
- must be issued. In SPARK mode, issue an error message even if the
- restriction is not set.
- (Check_Restriction): new procedure with an additional out parameter to
- inform the caller that a message has been issued
- * sem_aggr.adb: Minor modification of message
- * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
- instead of issuing an error message directly
- * sem_ch3.adb (Analyze_Declarations): move here the check that basic
- declarations are not placed after later declarations, by calling
- Check_Later_Vs_Basic_Declarations
- (Analyze_Subtype_Declaration): move here the check that an index or
- discriminant constraint must be a subtype mark. Change the check that
- a subtype of String must start at one so that it works on subtype marks.
- * sem_ch4.adb (Analyze_Call): move here the check that a named
- association cannot follow a positional one in a call
- * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
- instead of issuing an error message directly
- * sem_ch8.adb (Find_Selected_Component): move here the check that a
- selector name is not a character literal or an operator symbol. Move
- here the check that the prefix of an expanded name cannot be a
- subprogram or a loop statement.
- * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
- procedure called from parsing and semantics to check that basic
- declarations are not placed after later declarations
- (Process_End_Label): move here the check that end label is not missing
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
- representation clause in codepeer mode, since it confuses CodePeer and
- does not bring useful info.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * init.c: initialize fp hw on MILS.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * errout.adb (First_Node): for bodies, return the node itself (small
- optimization). For other nodes, do not check source_unit if the node
- comes from Standard.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_ch3.adb: Minor comment additions.
- * sem_ch13.adb: Minor reformatting.
-
-2011-08-02 Pascal Obry <obry@adacore.com>
-
- * make.adb, makeutl.adb: Removes some superfluous directory separator.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_attr.adb: Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
- (Has_Default_Component_Value): Removed
- * einfo.ads Comment updates
- (Has_Default_Aspect): Replaces Has_Default_Value
- (Has_Default_Component_Value): Removed
- * exp_ch13.adb
- (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
- * exp_ch3.adb
- (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
- (Get_Simple_Init_Val): Handle Default_Value aspect
- (Needs_Simple_Initialization): Handle Default_Value aspect
- * exp_ch3.ads: Needs_Simple_Initialization
- * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
- * par-prag.adb (Pragma_Default[_Component]Value) Removed
- * sem_ch13.adb
- (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
- * sem_prag.adb (Pragma_Default[_Component]Value) Removed
- * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
- package containing iteration primitives.
- exp_ch5.adb (Expand_Iterator_Loop): ditto.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
- "of", pre-analyze expression in case it is a function call with
- finalization actions that must be placed ahead of the loop.
- * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
- on an Ada2012 iterator, insert them ahead of the rewritten loop.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (Create_Float_Types): Only consider C's long double for
- Long_Long_Float, in addition to double.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
- sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
- prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
- Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: handle properly 'Result when it is a prefix of an
- indexed component.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads, einfo.adb
- (Original_Access_Type): Move this attribute to Node26 since there was
- an undocumented use of Node21 in E_Access_Subprogram_Type entities
- which causes conflicts and breaks the generation of the .NET compiler.
- (Interface_Name): Add missing documentation on JGNAT only uses of
- this attribute.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
- (Find_Back_End_Float_Type): Likewise
- (Create_Back_End_Float_Types): Likewise
- (Create_Float_Types): Likewise
- (Register_Float_Type): Likewise
- * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
- Nlist and split out type selection in new local Find_Base_Type function.
- * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
- Nlist
- * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
- alpha order).
- * opt.ads: Minor comment change.
- * sem_ch12.adb: Minor code reorganization.
-
-2011-08-02 Gary Dismukes <dismukes@adacore.com>
-
- * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
- subtype's list of rep items to the list on the full subtype in the case
- where the lists are the same.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * switch-c.adb (Free): New deallocation procedure to avoid implicitly
- using the one from System.Strings, which also deallocates all strings.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
- function.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-02 Olivier Hainque <hainque@adacore.com>
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
- end_locus.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
- associated with anonymous access to subprograms.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * opt.ads
- (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
- (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
- * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
- (Add_Symbol_Definition): Move to switch-c.adb
- (Process_Command_Line_Symbol_Definitions): Adjust references to above.
- * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
- (Add_Symbol_Definition): Move to switch-c.adb.
- * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
- * sem_warn.adb
- (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
- Move to warnsw.adb.
- * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
- Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
- Move to warnsw.adb.
- * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
- (Add_Symbol_Definition): Moved from Prepcomp.
- * switch-c.ads: Update copyright notice. Use String_List instead of
- Argument_List, removing dependency on System.OS_Lib.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
- mode on initialization expression which does not respect SPARK
- restrictions.
- * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
- if the tree referenced by its argument represents an initialization
- expression in SPARK, suitable for initializing an object in an object
- declaration.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
- internally generated access to subprogram with its associated protected
- subprogram type.
- * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (Register_Float_Type): Print information about type to
- register, if the Debug_Flag_Dot_B is set.
- * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
- * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
- * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
- with a requested precision of more than Max_Digits digits and no more
- than Max_Base_Digits digits, if a range specification is present and the
- Predefined_Float_Types list has a suitable type to derive from.
- * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
- case of type completion with pragma Import
- * sem_prag.adb
- (Process_Import_Predefined_Type): Processing to complete a type
- with pragma Import. Currently supports floating point types only.
- (Set_Convention_From_Pragma): Do nothing without underlying type.
- (Process_Convention): Guard against absence of underlying type,
- which may happen when importing incomplete types.
- (Process_Import_Or_Interface): Handle case of importing predefined
- types. Tweak error message.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
- functions to previous change. Reorganize code slightly.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * back_end.ads (Register_Type_Proc): New call back procedure type for
- allowing the back end to provide information about available types.
- (Register_Back_End_Types): New procedure to register back end types.
- * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
- available types.
- * cstand.adb (Back_End_Float_Types): New list for floating point types
- supported by the back end.
- (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
- (Copy_Float_Type): New procedure to make new copies of predefined types.
- (Register_Float_Type): New call back procedure to populate the BEFT list
- (Find_Back_End_Float_Type): New procedure to find a BEFT by name
- (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
- (Create_Float_Types): New procedure to create entities for floating
- point types predefined in Standard, and put these and any remaining
- BEFTs on the Predefined_Float_Types list.
- * stand.ads (Predefined_Float_Types): New list for predefined floating
- point types that do not have declarations in package Standard.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
- entity node for the unit containing the parameter.
- (Add_Inlined_Body): Use it to find the unit containing the subprogram.
- (Add_Inlined_Subprogram): Likewise.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-02 Thomas Quinot <quinot@adacore.com>
-
- * s-stusta.adb (Print): Make sure Pos is always initialized to a
- suitable value.
-
-2011-08-02 Geert Bosch <bosch@adacore.com>
-
- * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_type.adb (Covers): Move trivial case to the top and reuse the
- computed value of Base_Type.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * restrict.adb (Check_Restriction): issue an error for any use of
- class-wide, even if the No_Dispatch restriction is not set.
- * sem_aggr.adb: Correct typos in comments and messages in formal mode
- * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
- when completing a private extension, the type named in the private part
- is not the same as that named in the visible part.
- * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
- of an inherited primitive operations of a tagged type or type extension
- that returns the tagged type.
- * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
- function which returns True for an implicit operation inherited by the
- derived type declaration for the argument type.
- (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
- order.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
- Process_Bounds, to perform analysis with expansion of a range or an
- expression that is the iteration scheme for a loop.
- (Analyze_Iterator_Specification): If domain of iteration is given by a
- function call with a controlled result, as is the case if call returns
- a predefined container, ensure that finalization actions are properly
- generated.
- * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
- determine if the analysis is performed using N or Original_Node (N).
- * exp_util.adb (Side_Effect_Free): Code cleanup since the new
- functionality of routine Is_Variable avoids code duplication.
- * checks.adb (Determine_Range): Handle temporaries generated by
- Remove_Side_Effects.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
- expansion of the condition. Required since the previous analysis was
- done with expansion disabled (see Resolve_Quantified_Expression) and
- hence checks were not inserted and record comparisons have not been
- expanded.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
- Update header.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * opt.ads: Minor comment fix.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * sem_ch12.adb (Analyze_Package_Instantiation,
- Analyze_Subprogram_Instantiation): Turn off style checking while
- analyzing an instance. Whatever style checks that apply to the generic
- unit should apply, so it makes no sense to apply them in an instance.
- This was causing trouble when compiling an instance of a runtime
- unit that violates the -gnatyO switch.
- * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
- one of the two case statements, causing spurious errors.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * uname.adb: Minor reformatting.
- * gnatcmd.adb: Minor reformatting.
- * exp_attr.adb: Minor reformatting.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
- No_Dispatching_Calls, do not look for the Assign primitive, because
- predefined primitives are not created in this case.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * stylesw.ads: Minor comment fixes.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Add_To_Result): New procedure.
-
-2011-08-02 Jose Ruiz <ruiz@adacore.com>
-
- * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
- time, if the specific run-time routines for handling streams of strings
- are not available, use the default mechanism.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * s-regpat.ads: Fix typo.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
- not null, call it to create the in memory config project file without
- parsing an existing default config project file.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_elim.adb: an abstract subprogram does not need an eliminate
- pragma for its descendant to be eliminable.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * init.c: revert to handling before previous checkin for VxWorks
- * s-intman-vxworks.adb: delete unnecessary declarations related to
- using Ada interrupt facilities for handling signals.
- Delete Initialize_Interrupts. Use __gnat_install_handler instead.
- * s-intman-vxworks.ads: Import __gnat_install_handler as
- Initialize_Interrupts.
- * s-taprop-vxworks.adb: Delete Signal_Mask.
- (Abort_Handler): change construction of mask to unblock exception
- signals.
-
-2011-08-02 Jerome Guitton <guitton@adacore.com>
-
- * a-except-2005.adb (Raise_From_Signal_Handler): Call
- Debug_Raise_Exception before propagation starts.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
- to Restriction_Check_Required.
- * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
- * sem_res.adb (Resolve_Call): Likewise.
- * sem_attr.adb (Check_Stream_Attribute): Likewise.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * stylesw.ads: Update comment.
- * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
- * errout.ads: Remove obsolete comment.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
- (Set_Is_Safe_To_Reevaluate): new procedure.
- * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
- assignment is allowed on safe-to-reevaluate variables.
- (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
- temporary created to remove side effects in expressions that use
- the secondary stack as safe-to-reevaluate.
- * exp_util.adb (Side_Effect_Free): Add missing code to handle well
- variables that are not true constants.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
- sem_res.adb, sem_ch6.adb: Minor reformatting.
-
-2011-08-02 Jerome Guitton <guitton@adacore.com>
-
- * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
- not set Overridden_Operation if subprogram is an initialization
- procedure.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-ch6.adb: Correct obsolete name in comments
- * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
- which takes two message arguments (existing function takes one), with
- second message used for continuation.
- * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
- block statements that originate from a source block statement, not
- generated block statements
- * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
- symmetry with procedure case
- * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
- function to issue an error in formal mode if a package specification
- contains more than one tagged type or type extension.
- * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
- parameters matching formals of tagged types are objects (or ancestor
- type conversions of objects), not general expressions. Issue an error
- on view conversions that are not involving ancestor conversion of an
- extended type.
- (Resolve_Type_Conversion): in formal mode, issue an error on the
- operand of an ancestor type conversion which is not an object
- * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
- procedure so that it works also for actuals of function calls
- (Is_Actual_Tagged_Parameter): new function which determines if its
- argument is an actual parameter of a formal of tagged type in a
- subprogram call
- (Is_SPARK_Object_Reference): new function which determines if the tree
- referenced by its argument represents an object in SPARK
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb: Minor reformatting
- Minor comment addition
- Minor error msg text change
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
- function. Used to be more precise when we generate a variable plus one
- assignment to remove side effects in the evaluation of the Bound
- expressions.
- (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
- of the bound expression to force its re-analysis and thus expand the
- associated transient scope (if required). Code cleanup replacing the
- previous code that declared the constant entity by an invocation to
- routine Force_Evaluation which centralizes this work in the frontend.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
- (Base_Type): Now uses improved Is_Base_Type function
- * einfo.ads (Base_Type): Inline this function
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
- (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * gcc-interface/Make-lang.in: Update dependencies.
- * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
- targets.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
- non-simple expression used in delta constraint
- (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
- index constraint which is not a subtype mark
- * par.adb: With and use Restrict
- * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
- mode on component type which is not a subtype mark and default
- expression on component
- (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
- of string which does not have a lower index bound equal to 1
- (Array_Type_Declaration): issue an error in formal mode on index or
- component type which is not a subtype mark, and on aliased keyword on
- component
- (Derived_Type_Declaration): issue an error in formal mode on interface,
- limited or abstract type
- (Record_Type_Declaration): issue an error in formal mode on interface
- (Record_Type_Definition): issue an error in formal mode on tagged types
- and type extensions not declared in the specification of a library unit
- package; on null non-tagged record; on variant part
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
- not declared for qualified library project when Library_Name is not
- declared, but Library_Dir is.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
- pragmas (affects aspects [Component_]Default_Value
- (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
- component type for the resolution
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.adb (Base_Type): Tune implementation for speed.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb: Minor reformatting.
-
-2011-08-02 Thomas Quinot <quinot@adacore.com>
-
- * scos.ads: Update comments.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
- base type, because the parent may be a subtype of a private type whose
- convention is established in a private part.
-
-2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
-
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
- statement in a block when the expansion of the return expression has
- created a finalization chain.
- * freeze.adb (Freeze_Expression): Alphabetize all choices associated
- with the parent node.
- Add N_Extended_Return_Statement to handle the case where a transient
- object declaration appears in the Return_Object_Declarations list of
- an extended return statement.
-
-2011-08-02 Matthew Gingell <gingell@adacore.com>
-
- * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
- unused parameter 'name'.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_elim.adb (Set_Eliminated): If the overridden operation is an
- inherited operation, check whether its alias, which is the source
- operastion that it renames, has been marked eliminated.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
- in-mode parameter whose type is an access type since it can be used to
- modify its designated object. Enforce code that handles as safe an
- access type that is not access-to-constant but it is the result of a
- previous removal of side-effects.
- (Remove_Side_Effects): Minor code reorganization of cases which require
- no action. Done to incorporate documentation on new cases uncovered
- working in this ticket: no action needed if this routine was invoked
- too early and the nodes are not yet decorated.
- * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
- to routine Remove_Side_Effects by calls to Force_Evaluation since they
- were issued with actuals that are implicitly provided by
- Force_Evaluation.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_res.adb: Minor reformatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
- to issue an error in formal mode on attribute not supported in this mode
- (Analyze_Attribute): issue errors on standard attributes not supported
- in formal mode.
- * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
- comment, and issue error in formal mode on modulus which is not a power
- of 2.
- (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
- range.
- * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
- subtype mark.
- * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
- operator on modular type (except 'not').
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor reformatting.
-
-2011-08-02 Arnaud Charlet <charlet@adacore.com>
-
- * s-osinte-linux.ads: Minor comment update and reformatting.
- * i-cexten.ads: Make this unit pure, as for its parent.
- Will allow its usage in more contexts if needed.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * s-utf_32.ads: Minor comment fix.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
- operation of a tagged synchronized type, handle the case where the
- controlling argument is overloaded.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
- Replace pragma SPARK_95 with pragma Restrictions (SPARK)
- * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
- SPARK mode and formal verification mode on processing SPARK restriction
- * s-rident.ads (Restriction_Id): add SPARK restriction in those not
- requiring consistency checking.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb: Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads: Remove unneeded with of Ada.Containers
- Remove commented out pragma Inline's
- Move specifications of new subprograms to the actual specs
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads: Update comments.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
- a-cforse.ads, a-cofove.ads: Minor reformatting.
-
-2011-08-02 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
- a-cofove.ads: Add comments.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * gnat_rm.texi: Document formal containers.
-
-2011-08-02 Emmanuel Briot <briot@adacore.com>
-
- * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
- are empty sections.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
- reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * aspects.adb: New aspects Default_Value and Default_Component_Value
- New format of Aspect_Names table checks for omitted entries
- * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
- handling of boolean aspects for derived types.
- New aspects Default_Value and Default_Component_Value
- New format of Aspect_Names table checks for omitted entries
- * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
- (Has_Default_Value): New flag
- (Has_Default_Component_Value): New flag
- (Has_Default_Value): New flag
- * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
- table.
- * par-prag.adb: New pragmas Default_Value and Default_Component_Value
- * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
- Default_Value and Default_Component_Value
- * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
- New aspects Default_Value and Default_Component_Value
- * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
- * sprint.adb: Print N_Aspect_Specification node when called from gdb
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
- inherit library kind.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
- Minor reformatting.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * impunit.adb: Add comment.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
- qualification of aggregates in formal mode
- (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
- another aggregate
- (Resolve_Aggregate): complete the test that an aggregate is adequately
- qualified in formal mode
-
-2011-08-02 Pascal Obry <obry@adacore.com>
-
- * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
- * mlib-prj.adb: Supress warning when compiling binder generated file.
- (Build_Library): Supress all warnings when compiling the binder
- generated file.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
- from here...
- * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
- * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
- Add with/use clauses to make Check_Formal_Restriction visible
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
- in-parameters when type of the generic formal is private in the generic
- spec and non-private in the body.
-
-2011-08-02 Claire Dross <dross@adacore.com>
-
- * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
- a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
- a-cofove.adb, a-cofove.ads: New files implementing formal containers.
- * impunit.adb, Makefile.rtl: Take new files into account.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
- sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
- formal mode
- * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
- matching static array bounds, taking into account the special case of
- string literals
- * sem_ch3.adb: Typo in comment.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
- which issues an error in formal mode if its argument node is originally
- from source
- * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
- has a discriminant specification so that it does not include the case
- of derived types
- (Derived_Type_Declaration): move here the test that a derived type has a
- discriminant specification
- * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
- first element of a component association before accessing its choices
- (presence of component association is not enough)
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
- declaration is a library item before accessing the next element in a
- list, as library items are not member of lists
- * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
- sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
- Check_Formal_Restriction whenever possible.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
- reference when needed.
-
-2011-08-02 Bob Duff <duff@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
- archive file name. Do not use the full path name of archives for Open
- VMS.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch12.adb, sem_ch11.adb: New calling sequence for
- Analyze_Aspect_Specifications
- * sem_ch13.adb
- (Analyze_Aspect_Specifications): New handling for boolean aspects
- * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
- * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
- sequence for Analyze_Aspect_Specifications
- * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
- * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
- aspects, since these no longer exist.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * par-ch13.adb (Aspect_Specifications_Present): Always return false on
- semicolon, do not try to see if there are aspects following it.
- * par-ch3.adb (P_Declarative_Items): Better message for unexpected
- aspect spec.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb, aspects.ads: Minor reformatting.
-
-2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
- * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
- extracted from...
- (Analyze_Aspect_Specifications): ...here. Call above procedure.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
- mode on subprogram declaration outside of package specification, unless
- it is followed by a pragma Import
- * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
- Access_Type_Declaration): issue error in formal mode on access type
- (Analyze_Incomplete_Type_Decl): issue error in formal mode on
- incomplete type
- (Analyze_Object_Declaration): issue error in formal mode on object
- declaration which does not respect SPARK restrictions
- (Analyze_Subtype_Declaration): issue error in formal mode on subtype
- declaration which does not respect SPARK restrictions
- (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
- error in formal mode on digits or delta constraint
- (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
- decimal fixed point type
- (Derived_Type_Declaration): issue error in formal mode on derived type
- other than type extensions of tagged record types
- * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
- with check on access definition
- * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
- mode on protected definition.
- (Analyze_Task_Definition): issue error in formal mode on task definition
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_ch6.adb (Can_Override_Operator): New function.
- (Verify_Overriding_Indicator): Add missing code to check overriding
- indicator in operators. Fixes regression.
- (Check_Overriding_Indicator): Minor reformating after replacing the
- code that evaluates if the subprogram can override an operator by
- invocations to the above new function.
- * einfo.adb
- (Write_Field26_Name): Add missing code to ensure that, following
- the documentation in einfo.ads, this field is not shown as attribute
- "Static_Initialization" on non-dispatching functions.
-
-2011-08-02 Jose Ruiz <ruiz@adacore.com>
-
- * sem_res.adb (Resolve_Call): A call to
- Ada.Real_Time.Timing_Events.Set_Handler violates restriction
- No_Relative_Delay (AI-0211) only when it sets a relative timing event,
- i.e., when the second parameter is of type Time_Span.
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
- with an archive instead of -L<library dir> -l<library name>.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
- mark the base types In_Use in addition to making the operations
- use_visible.
-
-2011-08-02 Ed Falis <falis@adacore.com>
-
- * init.c: add and setup __gnat_signal_mask for the exception signals
- * s-inmaop-vxworks.adb: new file.
- * s-intman-vxworks.adb: remove unnecessary initializations and
- simplify remaining
- * s-intman-vxworks.ads: remove unnecessary variable
- * s-taprop-vxworks.adb: simplify signal initialization
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_ch8.adb: Minor code reorganization, comment updates.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
- * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
- here from Sem_Res.
- (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
- (Matching_Static_Array_Bounds): Moved here from Sem_Res
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
- * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
- * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
- use_type_clauses, to handle more efficiently use_type and use_all_type
- constructs.
- * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
- Ada2012 Use_All_Type clause.
- (Use_Class_Wide_Operations): new procedure.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
- sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
- expression to expression function.
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb: transform simple Ada2012 membership into equality only
- if types are compatible.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * sem_res.adb (Matching_Static_Array_Bounds): new function which
- returns True if its argument array types have same dimension and same
- static bounds at each index.
- (Resolve_Actuals): issue an error in formal mode on actuals passed as
- OUT or IN OUT paramaters which are not view conversions in SPARK.
- (Resolve_Arithmetic_Op): issue an error in formal mode on
- multiplication or division with operands of fixed point types which are
- not qualified or explicitly converted.
- (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
- Boolean or array type (except String) operands.
- (Resolve_Equality_Op): issue an error in formal mode on equality
- operators for array types other than String with non-matching static
- bounds.
- (Resolve_Logical_Op): issue an error in formal mode on logical operators
- for array types with non-matching static bounds. Factorize the code in
- Matching_Static_Array_Bounds.
- (Resolve_Qualified_Expression): issue an error in formal mode on
- qualified expressions for array types with non-matching static bounds.
- (Resolve_Type_Conversion): issue an error in formal mode on type
- conversion for array types with non-matching static bounds
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * par-ch10.adb: Minor code reorganization (use Nkind_In).
-
-2011-08-02 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch9.adb: save location of entry for proper error message.
-
-2011-08-02 Javier Miranda <miranda@adacore.com>
-
- * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
- (Use_Full_View) which permits this routine to climb through the
- ancestors using the full-view of private parents.
- * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
- Use_Full_View to true in calls to Is_Ancestor.
- * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
- true in call to Is_Ancestor.
- * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
- Use_Full_View to true in call to Is_Ancestor.
- * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
- call to Is_Ancestor.
- * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
- Use_Full_View to true in calls to Is_Ancestor.
- * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
- Make_Select_Specific_Data_Table, Register_Primitive,
- Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
- * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
- to true in call to Is_Ancestor.
- * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
- Use_Full_View to true in calls to Is_Ancestor.
- * exp_cg.adb
- (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
- (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * gnat_rm.texi: Minor reformatting.
- * sem_prag.adb: Minor reformatting.
-
-2011-08-02 Tristan Gingold <gingold@adacore.com>
-
- * vms_data.ads: Add VMS qualifier for -gnateP.
-
-2011-08-02 Robert Dewar <dewar@adacore.com>
-
- * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
- * par-ch7.adb (P_Package): Proper placement of aspects for package
- decl/instantiation.
- * par-endh.adb (Check_End): Ad Is_Sloc parameter
- (End_Statements): Add Is_Sloc parameterr
- * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
- (Check_End): Ad Is_Sloc parameter
- (End_Statements): Add Is_Sloc parameterr
-
-2011-08-02 Vincent Celier <celier@adacore.com>
-
- * ug_words: Add VMS qualifier equivalent to -gnateP:
- /SYMBOL_PREPROCESSING.
-
-2011-08-02 Jose Ruiz <ruiz@adacore.com>
-
- * gnat-style.texi: For hexadecimal numeric literals the typical
- grouping of digits is 4 to represent 2 bytes.
- A procedure spec which is split into several lines is indented two
- characters.
-
-2011-08-02 Yannick Moy <moy@adacore.com>
-
- * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
- * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
- (Resolve_Aggregate): issue errors in formal modes when aggregate is not
- properly qualified
- (Resolve_Array_Aggregate): issue errors in formal modes on non-static
- choice in array aggregate
- (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
- mark as ancestor
- (Resolve_Record_Aggregate): issue errors in formal modes on mixed
- positional and named aggregate for record, or others in record
- aggregate, or multiple choice in record aggregate
- * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
- array operands to logical operations AND, OR and XOR do not have the
- same static lower and higher bounds
- * sem_ch5.adb, sinfo.ads: Correct typos in comments
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
- Replaces Last_Source_Node_In_Sequence.
- * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
- * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
- parens and blank in string (this was inconsistently implemented).
- * errout.ads
- (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
- blank in string (this was inconsistently implemented).
- * gnat1drv.adb
- (Set_Global_Switches): Set formal mode switches appropriately
- * opt.ads, opt.adb: Formal mode is now global switches, more consistent
- * par-prag.adb
- (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
- call Set_Error_Msg_Lang to set "spark" as language name.
- * par.adb: Remove unnecessary call to set formal language for errout
- * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
- appropriately and call Set_Error_Msg_Lang to set "spark" as language
- name.
- * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
- calls to it, moved after resolution so that types are known
- * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
- result of concatenation is not of type String
- (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
- concatenation is not properly restricted
- * gnat_rm.texi: Add doc on pragma Spark_95.
- * gcc-interface/Makefile.in: Remove obsolete target pairs for
- Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
- * gcc-interface/Make-lang.in: Update dependencies.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
- condition that detects if the overridden operation must replace an
- existing entity.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
- code declarations inserted by Insert_Actions in each alternative of the
- N_Case_Expression node.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch6.adb: Minor code reorganization.
- * sem_util.adb: Minor reformatting.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
- * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
- literal or operator symbol which is prefixed
- * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
- mode on access attributes.
- * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
- that concatenation operands are properly restricted in formal mode
- (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
- Analyze_Concatenation_Operand. Issue an error in formal mode if the
- result of the concatenation has a type different from String.
- (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
- Analyze_Quantified_Expression, Analyze_Slice,
- Analyze_Null): issue an error in formal mode on unsupported constructs
- * sem_ch5.adb
- (Analyze_Block_Statement): only issue error on source block statement
- * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
- function which returns the last node in a list of nodes for which
- Comes_From_Source returns True, if any
- * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
- Last_Source_Node_In_Sequence
- * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
- Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
- mode on unsupported constructs
- * sem_ch9.adb Do not return after issuing error in formal mode, as the
- rest of the actions may be needed later on since the error is marked as
- not serious.
- * sinfo.ads: Typos in comments.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * projects.texi: Minor editing.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
- insertion character ~~
- * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
- (Set_Error_Msg_Lang): new procedure which fixes the language for use
- with insertion character ~~
- (Set_Msg_Text): treat insertion character ~~
- * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
- sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
- Formal_Error_Msg_... procedures by equivalent Error_Msg_...
- procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
- errors related to the formal language restriction not serious
- (insertion character |).
- * par.adb (Par): set formal language for error messages if needed
- * sem_ch6.adb (Check_Missing_Return): take into account possible
- generated statements at the end of the function
- * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
- enumeration value to define a new pragma SPARK_95
- * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
- SPARK_Version): new type and variables to store the SPARK version
- (none by default).
- (SPARK_Mode): return True when SPARK_Version is set
- * par-prag.adb: Correct indentation
- (Prag): take Pragma_SPARK_95 into account
- * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
- into account.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
- sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
- sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
- Target_Name to Get_Path call.
- (Parse_Single_Project): Likewise.
- (Post_Parse_Context_Clause): Likewise.
- * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
- Call Initialise_Project_Path with the proper Target_Name.
- (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
- search path.
- (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
- with the proper Target_Name.
- * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
- Part.Parse routine.
- (Parse_Project_And_Apply_Config): Likewise.
- * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
- This is fine as this part of the code is supporting only native
- compilation.
- * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
- is fine as this part of the code is supporting only native compilation.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sem_util.adb (Enter_Name): issue error in formal mode on declaration
- of homonym, unless the homonym is one of the cases allowed in SPARK
- * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
- package declaration occurring after a body.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * checks.adb, exp_ch4.adb: Minor reformatting.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * einfo.ads (Access_Disp_Table): Fix documentation.
- (Dispatch_Table_Wrappers): Fix documentation.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * prj-env.adb, prj-env.ads: Minor reformatting.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sem_util.ads, sem_util.adb, par.adb, par_util.adb
- (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
- procedures out of these packages.
- * errout.ads, errout.adb
- (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
- procedures in of this package
- (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
- * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
- on misplaced later vs initial declarations, like in Ada 83
- * sem_attr.adb (Processing for Analyze_Attribute): issue error in
- formal mode on attribute of private type whose full type declaration
- is not visible
- * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
- package declaration inside a package specification
- (Analyze_Full_Type_Declaration): issue error in formal mode on
- controlled type or discriminant type
- * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
- user-defined operator means that it should come from the source
- (New_Overloaded_Entity): issue error in formal mode on overloaded
- entity.
- * sem_ch6.ads, sem_ch13.ads: typos in comments.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * atree.adb: Minor reformatting.
- * checks.adb: Minor reformatting.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * s-parame-vms-ia64.ads: Fix typo in comment
- Minor reformatting
- * s-parame-vms-restrict.ads: Removed, unused.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * exp_ch3.adb
- (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
- * sem_ch3.adb
- (Constrain_Index): Remove side effects in the evaluation of the bounds.
- * sem_ch3.ads, sem_ch3.adb
- (Is_Constant_Bound): New extended version of the subprogram that was
- previously located inside function Exp_Ch3.Is_Variable_Size_Array.
- Moved here since it is shared by routines of sem_ch3 and exp_ch3.
- * sem_aux.ads (Constant_Value): Fix typo in comment.
- * checks.adb (Generate_Index_Checks): New implementation which, for
- array objects with constant bounds, generates the runtime check
- referencing the bounds of the array type. For other cases this routine
- provides its previous behavior obtaining such values from the array
- object.
- * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
- parent type.
- * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
- we cannot have semantic interpretations of the new node.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
- expressions.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * sem_ch8.adb: Minor code editing.
- * s-vxwext.adb: Remove trailing space.
- * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
- consistency with other files.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * par-ch10.adb: reject parameterized expressions as compilation unit.
- * sem_ch4.adb: handle properly conditional expression with overloaded
- then_clause and no else_clause.
-
-2011-08-01 Tristan Gingold <gingold@adacore.com>
-
- * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
- like done by System.Aux_DEC.
- * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
- missing label at end of declaration (subprogram or package)
- * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
- of positional and named parameter association
- * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
- Error_Msg_SP which adds a prefix to the error message giving the name
- of the formal language analyzed
- * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
- access result type in subprogram, unconstrained array as result type,.
- (Analyze_Subprogram_Declaration): issue an error in formal mode for null
- procedure
- * sem_ch8.adb: Code clean up.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
- * einfo.ads (Access_Disp_Table): Fix documentation.
- (Dispatch_Table_Wrappers): Fix documentation.
- * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
- Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
- to enforce the documentation of this attribute.
- (Set_Is_Interface): Cleanup the assertion.
- * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
- the Underlying_Type entity before reading attribute Access_Disp_Table.
- * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
- Locate the Underlying_Type before reading attribute Access_Disp_Table.
- * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
- the Underlying_Type entity before reading attribute Access_Disp_Table.
- * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
- Locate the Underlying_Type entity before reading attribute
- Access_Disp_Table.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * s-poosiz.ads: Additional overriding indicators.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
- formal mode.
- (Analyze_Iteration_Scheme): issue error in formal mode when loop
- parameter specification does not include a subtype mark.
- * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
- formal mode on abstract subprogram.
- (Analyze_Subprogram_Specification): issue error in formal mode on
- user-defined operator.
- (Process_Formals): issue error in formal mode on access parameter and
- default expression.
- * sem_ch9.adb (Analyze_Abort_Statement,
- Analyze_Accept_Statement, Analyze_Asynchronous_Select,
- Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
- Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
- Analyze_Requeue, Analyze_Selective_Accept,
- Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
- * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
- issue error in formal mode on user-defined raise statement.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
- declaration being hidden when overriding an implicit inherited
- subprogram.
- * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
- (-gnats), do not complain about a source file that contains only a
- pragma No_Body.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
- variable if already set.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
- g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
- s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
- g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
- g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
- g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
- g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
- g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
- g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
- g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
- g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
- s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
- g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
- s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
- g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
- g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
- g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
- g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
- g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
- g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
- s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
- s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
- a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
- s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
- s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
- g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
- g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
- g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
- g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
- g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
- g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
- s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
- s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
- g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
- g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
- s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
- s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
- g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
- g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
- g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
- s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
- g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
- g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
- g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
- s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
- g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
- g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
- g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
- s-osinte-mingw.ads: Update to GPLv3 run-time license.
- Use GNAT instead of GNARL.
-
-2011-08-01 Bob Duff <duff@adacore.com>
-
- * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
- a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
- a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
- reformatting.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * debug.adb (d.D) reverve flag for the SPARK mode
- (d.E) reverve flag for SPARK generation mode
- (d.F) reverve flag for Why generation mode
- * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
- ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
- functions which return True when the corresponding modes are set
- (Formal_Language): return "spark" or "alfa" when in formal verification
- mode.
- * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
- Error_Msg to prefix the error message with a tag giving the formal
- language
- (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
- message with a tag giving the formal language
- * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
- block statement
- (Analyze_Case_Statement): issue error in formal mode on case statement
- with a single "others" case alternative
- (Analyze_Exit_Statement): issue errors in formal mode on exit
- statements which do not respect SPARK restrictions
- (Analyze_Goto_Statement): issue error in formal mode on goto statement
- (Check_Unreachable_Code): always issue an error (not a warning) in
- formal mode on unreachable code (concerns both code after an infinite
- loop and after an unconditional jump, both not allowed in SPARK)
- * sem_ch6.adb (Analyze_Return_Statement): add call to
- Set_Return_Present for a procedure containing a return statement
- (already done for functions in Analyze_Function_Return)
- (Analyze_Function_Return): issue error in formal mode on extended
- return or if return is not last statement in function
- (Check_Missing_Return): issue error in formal mode if function does
- not end with return or if procedure contains a return
- * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
- function to detect if there is an inner scope of its parameter S which
- is a loop.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch6.ads: Minor reformatting.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_util.adb (Abstract_Interface_List): Complete condition when
- processing private type declarations to avoid reading unavailable
- attribute.
- (Is_Synchronized_Tagged_Type): Complete condition when processing
- private extension declaration nodes to avoid reading unavailable
- attribute.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
- i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
- s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
- s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
- for VMS, instead parametrize the common implementation with
- System.Parameters declarations.
-
-2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
-
-2011-08-01 Tristan Gingold <gingold@adacore.com>
-
- * seh_init.c: Fix SEH handler installation on win64.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
- double analysis of an anonymous access to subprogram, because it can
- lead to improper sharing of profiles and a back-end crash.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * make.adb, sem_ch4.adb: Minor reformatting.
- * gcc-interface/Make-lang.in: Update dependencies.
- * sem_util.adb, exp_ch5.adb: Minor reformatting.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * gnat_rm.texi: Fix definition of Long_Integer.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_aggr.adb: check limit size of static aggregate unconditionally,
- to prevent storage exhaustion.
- * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
- finalized is a function body, insert the cleanup code before the final
- return statement, to prevent spurious warnings.
- * s-pooglo.ads: add overriding indicator.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch4.adb (Operator_Check): improve error message when both a
- with_clause and a use_clause are needed to make operator usage legal.
- * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
- determine whether a compilation unit is visible within an other,
- either through a with_clause in the current unit, or a with_clause in
- its library unit or one one of its parents.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
- over an arbitrary expression of an array or container type.
- * lib-xref.adb: clarify comment.
-
-2011-08-01 Bob Duff <duff@adacore.com>
-
- * einfo.ads: Minor reformatting.
- * debug.adb: Minor comment improvement.
-
-2011-08-01 Javier Miranda <miranda@adacore.com>
-
- * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
- consider hidden subprograms as valid candidates.
-
-2011-08-01 Arnaud Charlet <charlet@adacore.com>
-
- * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
-
-2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
-
- * gnat_ugn.texi: Fix typo.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
- lib-xref.adb: Minor reformatting
-
-2011-08-01 Gary Dismukes <dismukes@adacore.com>
-
- * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
- when to generate a call to Move_Final_List.
- (Has_Controlled_Parts): Remove this function.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
- "," in choice list.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
- explicit raise of a predefined exception as Comes_From_Source if the
- original N_Raise_Statement comes from source.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * sinfo.ads: Add comment.
- * sem_ch6.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Refine check for bad component size
- clause to avoid rejecting confirming clause when atomic/aliased present.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
- better determine whether an entity reference is a write.
- * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
- subcomponent.
- * lib-xref.adb (Output_References): Do no suppress a read reference at
- the same location as an immediately preceeding modify-reference, to
- handle properly in-out actuals.
-
-2011-08-01 Tristan Gingold <gingold@adacore.com>
-
- * env.c (__gnat_setenv) [VMS]: Refine previous change.
-
-2011-08-01 Quentin Ochem <ochem@adacore.com>
-
- * i-cstrin.adb (New_String): Changed implementation, now uses only the
- heap to compute the result.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * atree.ads: Minor reformatting.
-
-2011-08-01 Emmanuel Briot <briot@adacore.com>
-
- * g-expect.adb (Get_Command_Output): Fix memory leak.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb (P_Float_Type): New procedure to print the definition of
- predefined fpt types.
- (P_Mixed_Name): New procedure to print a name using mixed case
- (Print_Standard): Use P_Float_Type for printing floating point types
- * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
- precision IEEE float.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_ch3.adb: Minor reformatting.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
- the completion of a generic function, insert the new body rather than
- rewriting the original.
-
-2011-08-01 Yannick Moy <moy@adacore.com>
-
- * sinfo.ads, errout.ads: Typos in comments.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * par-endh.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add aspects for library unit pragmas
- (Pre_Post_Aspects): New subtype.
- * par-ch12.adb (P_Generic): New syntax for aspects in packages
- * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
- * par-ch7.adb (P_Package): Remove Decl parameter
- (P_Package): Handle new syntax for aspects (before IS)
- * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
- new aspect syntax
- (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
- * par.adb (P_Aspect_Specifications): Add Semicolon parameter
- (P_Package): Remove Decl parameter
- * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
- aspects
- * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
- specs
- * sem_util.ads, sem_util.adb (Static_Boolean): New function
- * sinfo.ads: Document new syntax for aspects in packages etc.
- * sprint.adb: Handle new syntax of aspects before IS in package
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * atree.ads: Minor reformatting.
- * sem_prag.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * exp_util.adb (Insert_Actions): Fix error in handling Actions for
- case expr alternative.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_ch12.adb: Fix typo.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * sem_prag.adb (Check_No_Link_Name): New procedure.
- (Process_Import_Or_Interface): Use Check_No_Link_Name.
- * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
- instead of Standard_Long_Long_Float_Size global. Preparation for
- eventual removal of per type constants.
- * exp_util.ads (Get_Stream_Size): New function returning the stream
- size value of subtype E.
- * exp_util.adb (Get_Stream_Size): Implement new function.
- * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
- function.
- * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
- * einfo.adb:
- (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * cstand.adb: Fix comments.
- * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
- count of arguments.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * exp_ch4.adb, sem_cat.adb: Minor reformatting.
-
-2011-08-01 Geert Bosch <bosch@adacore.com>
-
- * atree.ads: Fix comment.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
- * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
- * par.adb: Add with for Namet.Sp.
- * par-tchk.adb: Minor reformatting.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
- (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
- of the init procedure of a SAL.
- * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
- New procedure.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
- reformatting.
-
-2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
-
-2011-08-01 Thomas Quinot <quinot@adacore.com>
-
- * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
- conformant with its spec (return True only for types that have
- an overriding Initialize primitive operation that prevents them from
- having preelaborable initialization).
- * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
- initialization for controlled types in Ada 2005 or later mode.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
- Postcondition.
- (Same_Aspect): New function.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
- Type_Invariant, Precondition, Postcondition.
- * snames.ads-tmpl: Add Name_Type_Invariant.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
- here.
- (Freeze_All_Ent): Fix error in handling inherited aspects.
- * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
- already analyzed, but don't skip entire processing of a declaration,
- that's wrong in some cases of declarations being rewritten.
- (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
- Don't delay for integer, string literals
- Treat predicates in usual manner for delay, remove special case code,
- not needed.
- (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
- (Build_Predicate_Function): Update saved expression in aspect
- (Build_Invariant_Procedure): Update saved expression in aspect
- * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
- of replacement of discriminant references if the reference is simple.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
- * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
- Static_Predicate and Dynamic_Predicate.
- (Build_Predicate_Function): Add processing for Static_Predicate
- and Dynamic_Predicate.
- * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
- (From_Static_Predicate): New flag
- * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * usage.adb: Documentation cleanup for Ada version modes in usage.
- * expander.adb: Minor reformatting.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * atree.ads: Minor comment fix.
- * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
- a-witeio.ads, sem_prag.adb: Minor reformatting.
-
-2011-08-01 Doug Rupp <rupp@adacore.com>
-
- * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
- pointers. Use descrip.h header file for convenience. Add some
- comments.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
- (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
- * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
- New procedure.
- (Check_Aspect_At_End_Of_Declarations): New procedure
- (Analye_Aspect_Specification): Minor changes for above procedures
- * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
- specification node as well.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
- Windows files. Use GetFilesAttributes() in this case to check for file
- existence instead of returning with an error code.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
- High is above Source length.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
-
-2011-08-01 Robert Dewar <dewar@adacore.com>
-
- * aspects.ads (Boolean_Aspects): New subtype.
- * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
- for derived types in cases where the parent type and derived type have
- aspects.
- * freeze.adb (Freeze_Entity): Fix problems in handling derived type
- with aspects when parent type also has aspects.
- (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
- boolean expression at this point).
- * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
- accordance with final decision on the Ada 2012 feature.
- * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
-
-2011-08-01 Matthew Heaney <heaney@adacore.com>
-
- * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
- Fix Replace_Slice when High is above current string size.
- (Replace_Slice): Fix DL computation when High is above current
- string length.
-
-2011-08-01 Gary Dismukes <dismukes@adacore.com>
-
- * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
-
-2011-08-01 Matthew Heaney <heaney@adacore.com>
-
- * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
- of node.
-
-2011-08-01 Pascal Obry <obry@adacore.com>
-
- * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
- reformatting.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
- access to protected subprograms in generic bodies.
- * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
- protected type, indicate that the convention of the subprogram is
- Convention_Protected, because it may be used in subsequent declarations
- within the protected declaration.
-
-2011-08-01 Vincent Celier <celier@adacore.com>
-
- * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
- and "final" procedures when the name of the library is "ada", to avoid
- duplicate symbols "adainit" and "adafinal" in executables.
-
-2011-08-01 Ed Schonberg <schonberg@adacore.com>
-
- * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
- quantified expression that appears within a postcondition and uses the
- Ada2012 'Result attribute.
-
-2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * init.c (__gnat_error_handler): Cast reason to int.
- (__gnat_install_handler): Explain sa_sigaction use.
-
-2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
- subprogram has copy-in copy-out parameters, try to promote the mode of
- the return type if it is passed in registers.
-
-2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
- left operand as addressable.
-
-2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (build_function_stub): Remove.
- (build_return_expr): Likewise.
- (convert_vms_descriptor): Declare.
- * gcc-interface/utils.c (convert_vms_descriptor): Make global.
- (build_function_stub): Move to...
- * gcc-interface/utils2.c (build_return_expr): Move to...
- * gcc-interface/trans.c (build_function_stub): ...here.
- (build_return_expr): ...here.
- (Subprogram_Body_to_gnu): Add local variable for language_function.
- Disconnect the parameter attributes cache, if any, once done with it.
- Call end_subprog_body only after setting the end_locus.
- Build the stub associated with the function, if any, at the very end.
- (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
- variables and streamline control flow.
-
-2011-07-23 Arnaud Charlet <charlet@adacore.com>
-
- PR ada/49819
- * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
- g-trasym-dwarf.adb.
-
-2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/49794
- * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
- Assign to act.sa_sigaction.
- * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
- current->return_address to char * before arithmetic.
-
-2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
- Correct argument types.
- Extract code from reason.
- (__gnat_install_handler): Assign to act.sa_sigaction.
-
-2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
- (GNAT1_OBJS): ...here.
-
-2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/48711
- * g-socthi-mingw.adb (Fill): Fix formatting.
-
- * gcc-interface/gigi.h: Move around comment.
-
-2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR ada/46350
- * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
-
-2011-07-14 Florian Weimer <fw@deneb.enyo.de>
-
- PR ada/48711
- * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
-
-2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
- range comparison if Pmode is SImode.
-
-2011-07-12 Laurent GUERBY <laurent@guerby.net>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * adadecode.c: Wrap up in extern "C" block.
- * adadecode.h: Likewise.
- * adaint.c: Likewise. Remove 'const' keyword.
- * adaint.h: Likewise.
- * argv.c: Likewise.
- * atree.h: Likewise.
- * cio.c: Likewise.
- * cstreams.c: Likewise.
- * env.c: Likewise.
- * exit.c: Likewise.
- * fe.h: Likewise.
- * final.c: Likewise.
- * init.c: Likewise.
- * initialize.c: Likewise.
- * link.c: Likewise.
- * namet.h: Likewise.
- * nlists.h: Likewise.
- * raise.c: Likewise.
- * raise.h: Likewise.
- * repinfo.h: Likewise.
- * seh_init.c: Likewise.
- * targext.c: Likewise.
- * tracebak.c: Likewise.
- * uintp.h: Likewise.
- * urealp.h: Likewise.
- * xeinfo.adb: Wrap up generated C code in extern "C" block.
- * xsinfo.adb: Likewise.
- * xsnamest.adb: Likewise.
- * gcc-interface/gadaint.h: Wrap up in extern "C" block.
- * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
- * gcc-interface/misc.c: Likewise.
- * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
- (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
- ada/targext.o here...
- (GNAT_ADA_OBJS): ...and not here.
- (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
- (GNATBIND_OBJS): Reorder.
-
-2011-07-07 Richard Henderson <rth@redhat.com>
-
- * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
- dwarf2out_frame_init.
-
-2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_init): Tweak previous change.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/39150
- * gcc-interface/Makefile.in: Handle x86_64-solaris2.
-
-2011-07-06 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/misc.c (gnat_init): Merge calls to
- build_common_tree_nodes and build_common_tree_nodes_2.
- Re-initialize boolean_false_node.
-
-2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
- Olivier Hainque <hainque@adacore.com>
- Nicolas Setton <setton@adacore.com>
-
- * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
- the type according to the ARTIFICIAL_P parameter.
- (create_type_decl): Likewise.
- (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
-
-2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
- (gnatbind): Likewise.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
- local variable throughout. Remove useless call to Base_Type.
- (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
- Take it also into account for the volatileness of the field. Set the
- TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
- on a dereference built for a by-ref object if it has an address clause.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Address_Taken): Document use for the second argument of
- Asm_Input and Asm_Output attributes.
- * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
- argument is an entity name, then set Address_Taken on it.
- <Attribute_Asm_Output>: Likewise.
- * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
- Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
- (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
- memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
-
-2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
-
- PR middle-end/46500
- * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
-
-2011-06-14 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
- (ada/utils.o): Update dependencies.
- * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
- ../../../libcpp/libcpp.a.
- * gcc-interface/utils.c: Include common/common-target.h.
- (process_attributes): Use targetm_common.have_named_sections.
-
-2011-06-07 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
- set_sizetype.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
- TREE_THIS_NOTRAP flag.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
- Fix thinko.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
- constants whose full view has discriminants specially.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c: Include diagnostic.h.
- (gnat_write_global_declarations): Output debug information for all
- global type declarations before finalizing the compilation unit.
- * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
-
-2011-05-25 Jakub Jelinek <jakub@redhat.com>
-
- * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
-
-2011-05-25 Kai Tietz <ktietz@redhat.com>
-
- * adaint.c (__gnat_to_canonical_file_list_next): Use array
- initialization instead of const/none-const pointer assignment.
-
-2011-05-24 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
- $(EXTRA_GNAT1_OBJS).
- (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
- (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
- (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
- * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
- libcommon-target.a instead of prefix.o.
-
-2011-05-21 Joseph Myers <joseph@codesourcery.com>
-
- PR ada/49097
- * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
-
-2011-05-20 Joseph Myers <joseph@codesourcery.com>
-
- * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
- * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
- instead of version.o.
-
-2011-05-18 Kai Tietz <ktietz@redhat.com>
-
- * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
- boolean_false_node instead of integer_zero_node.
- (convert_with_check): Likewise.
- * gcc-interface/decl.c (choices_to_gnu): Likewise.
-
-2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
- type of the parameter is an unconstrained array, convert the actual to
- the type of the formal in the In Out and Out cases as well.
-
-2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
- call build_function_type_array or build_varargs_function_type_array
- instead.
- (create_subprog_type): Don't call build_function_type; call
- build_function_type_vec instead.
-
-2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
- (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
- (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
-
-2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
-
- * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
- * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
- instead of accessing TYPE_ARG_TYPES directly.
- * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/48844
- * gcc-interface/gigi.h (get_variant_part): Declare.
- * gcc-interface/decl.c (get_variant_part): Make global.
- * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
- types have the same constant size, are record types and T1 has a
- variant part while T2 doesn't.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (begin_subprog_body): Do not call
- get_pending_sizes.
- (end_subprog_body): Likewise.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
- int_const_binop.
- (pos_to_constructor): Likewise.
-
-2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gigi): Call build_function_type_list instead
- of build_function_type. Adjust calls to...
- (build_raise_check): ...this. Do not take a void_tree parameter.
- Call build_function_type_list instead of build_function_type.
- Fix head comment and swap couple of conditional blocks.
-
-2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnatvsn.ads (Library_Version): Bump to 4.7.
- (Current_Year): Bump to 2011.
-
-2011-04-29 Michael Matz <matz@suse.de>
-
- * gcc-interface/misc.c (gnat_handle_option): Set
- warn_maybe_uninitialized.
-
-2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
-
- * gnat_ugn.texi (Complexity Metrics Control): Update link to
- the Watson/McCabe paper.
-
-2011-04-23 Jim Meyering <meyering@redhat.com>
-
- * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
-
-2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
- onto the new type.
-
-2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
- parameter.
- * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
- DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
- ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
- <all>: Do not set flags on the reused DECL node coming from an alias.
- Set DECL_IGNORED_P on the DECL node built for subprograms if they
- don't need debug info here...
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
- (gigi): Adjust calls to create_subprog_decl.
- (build_raise_check): Likewise.
- (establish_gnat_vms_condition_handler): Likewise.
- (Compilation_Unit_to_gnu): Likewise.
- (gnat_to_gnu): Likewise.
-
-2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
- (NO_REORDER_ADAFLAGS): New variable.
- (EXTRA_GNATTOOLS): Always define.
- (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
- Clean up and adjust list of files compiled with special options.
- * gcc-interface/Make-lang.in: Likewise.
- (ada/decl.o): Cosmetical change.
- (ada/misc.o): Remove dependency on $(PLUGIN_H).
-
-2011-04-20 Jim Meyering <meyering@redhat.com>
-
- * initialize.c (__gnat_initialize): Remove useless if-before-free.
-
-2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
- $(CFLAGS) on the link line.
-
-2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
- padded type built for the return type if it is unconstrained.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
-
-2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
- before calling TREE_CHAIN.
- * gcc-interface/misc.c (gnat_init_ts): New function.
- (LANG_HOOKS_INIT_TS): Define.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
- instead of cgraph_node.
-
-2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
- alignment on fields of the RETURN type built for the Copy-In Copy-Out
- mechanism.
-
-2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
- of aggregate types that contain a placeholder.
-
-2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
- TYPE_ARG_TYPES.
- (handle_type_generic_attribute): Likewise.
-
-2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/47163
- * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
-
-2011-04-04 Kai Tietz <ktietz@redhat.com>
-
- PR ada/47163
- * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
- to flag value.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils2.c (build_allocator): In the unconstrained array
- type case, do not strip a padding type around the array type.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
- types.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
- * gcc-interface/misc.c (gnat_handle_option): Remove special handling
- code for -feliminate-unused-debug-types.
- (gnat_post_options): Likewise.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
- declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
- distinct copy.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
- DECL_ARTIFICIAL flag on enumeration types.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
- fat pointer types artificial unconditionally.
- <E_Array_Subtype>: Attach the base array type as a parallel type if it
- isn't artificial.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (get_dummy_type): Declare.
- (build_dummy_unc_pointer_types): Likewise.
- (finish_fat_pointer_type): Likewise.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
- fat pointer type has been built, complete it in place.
- <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
- and thin pointers. Remove useless variable.
- (finish_fat_pointer_type): Make global and move to...
- * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
- (get_dummy_type): New function.
- (build_dummy_unc_pointer_types): Likewise.
- (gnat_pushdecl): Propage the name to the anonymous variants only.
- (update_pointer_to): Only adjust the pointer types in the unconstrained
- array case.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
- if this is a Taft amendment type and the full declaration is available.
- * gcc-interface/trans.c (process_type): Likewise.
- If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
- (process_freeze_entity): Likewise.
- * gcc-interface/utils.c (dummy_global): New static variable.
- (gnat_write_global_declarations): If there are types declared as used
- at the global level, insert them in the global hash table.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
- * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
- declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
- copy.
- (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
- flag of the type accordingly.
- * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
- finalizing types when updating the pointers to the designated type.
- <all>: Finalize the deferred types even if we didn't defer processing
- of incomplete types in this invocation.
-
-2011-04-01 Olivier Hainque <hainque@adacore.com>
- Nicolas Setton <setton@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_descriptive_type): New function.
- (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
-
-2011-03-28 Kai Tietz <ktietz@redhat.com>
-
- * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
- Windows targets.
- (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
- * system-mingw.ads (System): Change ZCX_By_Default default to True.
-
- * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
-
-2011-03-28 Tristan Gingold <gingold@adacore.com>
-
- PR ada/44431
- * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
- Use ada output of gnatbind.
- (ada/b_gnatb.adb): Ditto.
- (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
- (ada.mostlyclean, ada.stage1)
- (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
- (ada.stagefeedback): Adjust.
- * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
- Use ada output of gnatbind.
- (b_gnatm.adb): Ditto.
- (b_gnatl.o, b_gnatm.o): New rules.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
- for the padded type built to support a specified size or alignment.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
- * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
- unconditionally to the end of the unit when the designated type is
- limited_with'ed.
- <all>: Rename local variable. Attempt to un-defer types only and do it
- for limited_with'ed types as well.
- (finalize_from_with_types): Adjust comment. Rename variable and tidy.
- * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
- consistently and remove redundant call to finalize_from_with_types.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
- subprograms without a previous spec declared in the same unit.
- * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
- subprograms at the end of the unit instead of at the beginning.
- * gcc-interface/utils.c (create_subprog_decl): Check that the entity
- isn't public for the special handling of non-inline functions nested
- inside inline external functions.
-
-2011-03-25 Jeff Law <law@redhat.com>
-
- * gcc-interface/utils.c (def_fn_type): Add missing va_end.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
- * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
- to compute Set_Size_Depends_On_Discriminant.
- (Layout_Type): Call it on array types in back-end layout mode.
- * sem_util.adb (Requires_Transient_Scope): Return true for array
- types only if the size depends on the value of discriminants.
- * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
- type if the RHS is a call to a function that returns an unconstrained
- type with default discriminant.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
- non-conversion to the nominal result type at the end.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (create_temporary): New function taken from...
- (create_init_temporary): ...here. Call it.
- (call_to_gnu): Create the temporary for the return value early, if any.
- Create it for a function with copy-in/copy-out parameters if there is
- no target; in other cases of copy-in/copy-out, use another temporary.
- Push the new binding level lazily. Add and rename local variables.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (validate_size): Improve comments and tweak
- error message.
- (set_rm_size): Likewise.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
- for the padded type built in order to support a specified alignment.
- Fix incorrect formatting.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/48216
- * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
- rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
- to the end of the list. Adjust recursive call. Rename local variable.
- If REORDER is true, reorder components of the record type.
- (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
- components_to_record and adjust the parameter list.
-
-2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (elaborate_expression_1): When optimization is
- disabled, use the variable for bounds of loop iteration scheme.
-
-2011-03-21 Kai Tietz <ktietz@redhat.com>
-
- PR target/12171
- * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
-
-2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
- out whether the expression is read-only. Short-circuit placeholder
- case and rename a couple of local variables.
-
-2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (smaller_form_type_p): Declare.
- * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
- * gcc-interface/utils.c (smaller_form_type_p): ...to here.
- (convert): Deal with conversions from a smaller form type specially.
-
-2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
- its argument, except for the special -I- switch.
-
-2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
- "Ada Issues".
-
-2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
-
-2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
- GNAT_FORMAL.
- * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
- * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
- instead of GNAT_FORMAL. Protect the expression against multiple uses.
- Do not generate the check directly, instead instantiate the template
- check present in the descriptor.
- (make_descriptor_field): Move around.
- (build_vms_descriptor32): Build a template check in the POINTER field.
- (build_vms_descriptor): Remove useless suffixes.
- * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
-
-2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/47467
- * targext.c: Include target files if IN_RTS is defined.
-
-2011-01-26 Richard Guenther <rguenther@suse.de>
-
- PR bootstrap/47467
- * targext.c: Include config.h.
- * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
- dependency.
-
-2011-01-04 Pascal Obry <obry@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
- end-of-case on the end label and its associated gotos, if any.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
- expressions of the parameter cache within the statement group of
- the CICO mechanism.
-
-2011-01-04 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
- (set_end_locus_from_node): New function.
- (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
- make and the function end_locus.
- (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
- for the elaboration subprogram.
- (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
- set the end_locus of the expression as well.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR ada/47131
- * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
- variables that are referenced in exception handlers volatile.
-
-
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/ada/ChangeLog-2011 b/gcc/ada/ChangeLog-2011
new file mode 100644
index 0000000..37f011b
--- /dev/null
+++ b/gcc/ada/ChangeLog-2011
@@ -0,0 +1,18453 @@
+2011-12-23 Pascal Obry <obry@adacore.com>
+
+ * prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
+ parameter to generic formal procedure.
+ * prj.adb (For_Every_Project_Imported): Update accordingly.
+ (Recursive_Check): Likewise. Do not parse imported project for
+ aggregate library. This is needed as the imported projects are
+ there just to handle dependencies.
+ (Look_For_Sources): Likewise.
+ (Recursive_Add): Likewise.
+ * prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
+ Add In_Aggregate_Lib parameter to routines used with
+ For_Every_Project_Imported generic procedure.
+ * prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
+ (Check): Move where it is used. Fix implementation
+ to not check libraries that are inside aggregate libraries.
+ (Recursive_Check): Add In_Aggregate_Lib parameter.
+
+2011-12-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
+ package is a referencer regardless of whether there is a
+ subsequent subprogram with an Inline pragma.
+
+2011-12-23 Geert Bosch <bosch@adacore.com>
+
+ * sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.
+
+2011-12-23 Pascal Obry <obry@adacore.com>
+
+ * gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.
+
+2011-12-22 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
+ associated with exception handling unconditionally.
+ (Build_Adjust_Statements): Create the objects associated with
+ exception handling unconditionally.
+ (Build_Components): Create the objects associated with exception
+ handling unconditionally.
+ (Build_Finalize_Statements): Create the objects associated with
+ exception handling unconditionally.
+ (Build_Initialize_Statements): Create the objects associated with
+ exception handling unconditionally.
+ (Build_Object_Declarations): Set the proper location of the data
+ record when exception propagation is forbidden.
+
+2011-12-22 Gary Dismukes <dismukes@adacore.com>
+
+ * a-tienio.adb (Put): Test validity of Item parameters before
+ applying Image, and raise Constraint_Error for invalid values.
+
+2011-12-22 Bob Duff <duff@adacore.com>
+
+ * a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
+ * a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
+ overriding indicators.
+
+2011-12-22 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-hpux-dce.ads: Update header to GPLv3
+
+2011-12-22 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
+ aspect Constant_Reference to set type, and corresponding
+ functions.
+ * a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
+ function Reference to provide a proper element iterator construct
+ over indefinite maps.
+
+2011-12-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
+ implicit conversion on prefix of Unrestricted_Access when prefix
+ is an explicit dereference.
+
+2011-12-22 Vincent Pucci <pucci@adacore.com>
+
+ * sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
+ errors using continuation marks.
+ (Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.
+
+2011-12-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.
+
+2011-12-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.
+
+2011-12-21 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
+ (Process_Full_View): Invoke Check_CPP_Type if processing the
+ full-view of a CPP type.
+ * sem_prag.adb (Process_Import_Or_Interface): Add missing support
+ for importing a CPP type that has an incomplete declaration. Move
+ to new routine Check_CPP_Type the code that verifies that
+ components of imported CPP types do not have default expressions.
+
+2011-12-21 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
+ no sources even for languages that are not allowed.
+ (Add_Source): Get the source even when the language is not allowed.
+
+2011-12-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): Add defensive code.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
+ invariant procedure of a type declaration that is a completion and has
+ aspect specifications.
+ (Build_Invariant_Procedure): If the procedure is built for a
+ type declaration that is a completion, analyze body expliitly
+ because all private declarations have been already analyzed.
+
+2011-12-21 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
+ a-cofove.adb: Minor reformating on formal containers
+
+2011-12-21 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
+ any main that is not in the list of restricted languages.
+ (Insert_Project_Sources.Do_Insert): Only add sources of languages
+ in the list of restricted languages.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): A type conversion is valid when
+ the target type is an anonymous access type and the operand is a
+ rewriting of an allocator. The conversion is typically inserted
+ when the designated type is an interface.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Establish_Task_Master): If the enclosing block
+ has no declarations, create new declarative list for it.
+
+2011-12-21 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
+
+2011-12-21 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
+ ignore representation attributes in Alfa mode, since formal
+ verification backend does not depend on actual physical
+ representation, but code may still refer to attribute values.
+
+2011-12-21 Yannick Moy <moy@adacore.com>
+
+ * par-ch13.adb (P_Aspect_Specifications): Recognize the cases
+ where a comma between two aspects is missing, or erroneously
+ replaced by a semicolon, issue an error and proceed with next
+ aspect.
+ * par.adb, sinfo.ads: Fix typos.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Mark_Coextensions): A coextension for an
+ object that is part of the expression in a return statement,
+ or part of the return object in an extended return statement,
+ must be allocated dynamically.
+
+2011-12-21 Matthew Heaney <heaney@adacore.com>
+
+ * a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): If the name
+ of an element iterator is not an entity name we introduce a
+ local renaming declaration for it. To prevent spurious warnings
+ on parameterless function calls that return a container, when
+ expansion is disabled (either explicitly or because of a previous
+ errors) the name must be marked as not coming from source.
+
+2011-12-21 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
+ handling in CodePeer mode and only ignore Component_Size
+ attribute.
+
+2011-12-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Process_Formals): Set proper mechanism for
+ formals whose types have conventions Ada_Pass_By_Copy or
+ Ada_Pass_By_Reference.
+
+2011-12-21 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Gnat1Drv): Always delete old scil files in
+ CodePeer mode.
+
+2011-12-21 Robert Dewar <dewar@adacore.com>
+
+ * comperr.adb: Minor reformatting.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.ads: New table Base_Aspect, to indicate that an aspect
+ is defined on a base type.
+ * aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
+ examine the representation items of the base type.
+
+2011-12-21 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
+ snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.
+
+2011-12-21 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
+ to kill warning.
+
+2011-12-21 Arnaud Charlet <charlet@adacore.com>
+
+ * comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
+ Fix implementation for child packages and package specs.
+ (Delete_SCIL_Files.Decode_Name_Buffer): New function.
+
+2011-12-21 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
+ a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.
+
+2011-12-21 Vincent Pucci <pucci@adacore.com>
+
+ * s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
+ s-llflex.ads: Fix header.
+
+2011-12-21 Thomas Quinot <quinot@adacore.com>
+
+ * thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
+ AIX 5.2, define as a dummy weak symbol in init.c.
+ (CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.
+
+2011-12-21 Thomas Quinot <quinot@adacore.com>
+
+ * snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
+ * sem_prag.adb: Minor comment clarification.
+
+2011-12-21 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Report_No_Sources): New argument Lang for the
+ language name as a Name_Id. Do not report no sources if language
+ is not allowed.
+ (Add_Source): Do not add source if language is not allowed.
+ * prj.adb (Add_Restricted_Language): New procedure
+ (Is_Allowed_Language): New function
+ * prj.ads (Add_Restricted_Language): New procedure
+ (Is_Allowed_Language): New function
+
+2011-12-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
+ Minor reformatting.
+
+2011-12-21 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads (Constant_Indexing, Default_Iterator,
+ Iterator_Element): Added to type List.
+ (Not_No_Element, List_Iterator_Interfaces, Iterate,
+ Constant_Reference_Type, Constant_Reference): New.
+ * a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
+ Previous, Iterate, Not_No_Element, Constant_Reference): New.
+
+2011-12-21 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_ugn.texi: Minor reformatting.
+
+2011-12-21 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
+ Has_Element is the formal of Iterator_Interfaces, and within
+ the instantion of this package it is a renaming of some local
+ function with an unrelated name. Retrieve the operation from
+ the instance itself, not from the container package.
+
+2011-12-21 Vincent Pucci <pucci@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
+ replaced by Expand_Put_Call_With_Dimension_Symbol
+ * sem_ch12.adb (Analyze_Package_Instantiation): New check for
+ System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
+ * sem_ch3.adb (Analyze_Declarations): Removed
+ Remove_Dimension_In_Declaration call.
+ * sem_dim.adb: Update comments. Redefine the
+ representation of a Rational. Propagate all changes involving
+ data structures and types throughout the pakage. Output the
+ dimension aggregates for each error messages.
+ ("/"): Rational constructor "/" removed for Whole operands.
+ ("/"): New rational operation "/" for Rational operands.
+ ("*"): Operation "*" between Rational and Int removed.
+ ("abs"): New unary operator "abs" for Rational.
+ (Analyze_Aspect_Dimension_System): Reorganized.
+ (Analyze_Dimension_Identifier): Removed.
+ (Copy_Dimensions): Removed.
+ (Create_Rational_From_Expr): New Boolean parameter.
+ (Dimensions_Msg_Of): New routine. Return
+ a string with the dimensions of the parameter.
+ (From_Dimension_To_String_Of_Symbols): Renaming of
+ From_Dimension_To_String_Id.
+ * sem_dim.ads: Update comments.
+ (Is_Dim_IO_Package_Instantiation): New routine.
+ (Remove_Dimension_In_Declaration): Removed.
+ * sem_res.adb (Resolve_Op_Expon): Reorganized calls of
+ Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
+ * s-diflio.ads, s-diinio.ads: Update comments.
+
+2011-12-21 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
+ Library_Fully_Standalone_Options and
+ Library_Fully_Standalone_Supported attributes.
+ * prj-nmsc.adb (Check_Library): Update check to take into
+ account fully standalone libraries. Such shared libraries can
+ only depend on static libraries.
+ (Check_Stand_Alone_Library): Add support for fully standalone libraries.
+ (Process_Project_Level_Simple_Attributes): Store value for
+ configuration attribute Library_Fully_Standalone_Supported.
+ * prj.ads, makeutl.adb (Standalone): New enumeration type.
+ (Project_Data): Standalone_Library now of type Standlone.
+ (Project_Configuration): Add Lib_Fully_Standalone_Supported
+ field.
+ (Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
+ field.
+ * clean.adb (Clean_Project): Adjust to new type for Standalone.
+ * make.adb (Library_Phase): Adjust to new type for Standalone.
+ (Gnatmake): Likewise.
+ * mlib-prj.adb (Build_Library): Adjust to new type for
+ Standalone.
+
+2011-12-21 Thomas Quinot <quinot@adacore.com>
+
+ * gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
+ Set_Standard_Output just before producing normal (non-diagnostic)
+ output.
+ * gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
+ (and again after parsing project files).
+
+2011-12-21 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Do_Autoconf): When the object directory does
+ not exist, create auto.cgpr in the directory where temporary
+ files are created.
+
+2011-12-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Further
+ refinements on the placement of a freeze node for a package
+ instantiation, when the generic appears within a previous
+ instantiation in the same unit.If the current instance is within
+ the one that contains the generic, the freeze node for the
+ current one must appear in the current declarative part. Ditto
+ if the current instance is within another package instance. In
+ these cases the freeze node of the previous instance is is not
+ relevant. New predicate Enclosing_Body simplifies the process.
+ (Freeze_Subprogram_Body): Rename Enclosing_Body to
+ Enclosing_Package_Body, to prevent confusion with subprogram of
+ same name elsewhere.
+ (Install_Body): Recognize enclosing subprogram bodies to determine
+ whether freeze_node belongs in current declarative list.
+
+2011-12-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
+ attribute definition clause for renaming if generated internally
+ and generate duplicate clause to apply to renamed object.
+ (Rep_Item_Too_Late): Only diagnose source level entities
+ * prj-nmsc.adb: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-12-20 Bob Duff <duff@adacore.com>
+
+ * opt.ads (List_Inherited_Aspects): Default to False
+ (i.e. -gnatw.L is the default).
+ * usage.adb: Document new default for -gnatw.L.
+ * gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
+ * warnsw.adb (Set_Warning_Switch): Do not include
+ List_Inherited_Aspects in -gnatwa.
+
+2011-12-20 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Apply_Type_Conversion_Checks): For a discrete type
+ with predicates, indicate unconditionally that a range check
+ is needed.
+ * exp_ch4.adb (Expand_N_In): When the membership test is rewritten
+ to incorporate a call to a predicate function, analyze expression
+ with checks suppressed, to prevent infinite recursion.
+
+2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch11.adb (Find_Local_Handler): Guard the
+ search over individual exception choices in case the list of
+ handlers contains other (possibly illegal) constructs.
+
+2011-12-20 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch8.adb (Find_Type): Test taggedness
+ of the Available_Type when checking for an illegal use of an
+ incomplete type, when the incomplete view is a limited view of
+ a type. Remove redundant Is_Tagged test.
+
+2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb: Add with and use clause for Aspects.
+ (Is_Finalizable_Transient): Objects which denote Ada containers
+ in the context of iterators are not considered transients. Such
+ object must live for as long as the loop is around.
+ (Is_Iterated_Container): New routine.
+
+2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_imgv.adb (Expand_Width_Attribute): Add a
+ type conversion from the enumeration subtype to its base subtype.
+
+2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch4.adb (Operator_Check): Update the call to
+ Is_Dimensioned_Type.
+ * sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
+ all type declarations and datastructures involved. Propagate
+ all changes involving data structures and types throughout
+ the pakage. Alphabetize all subprograms. Add ??? comments.
+ (AD_Hash): Removed.
+ (Analyze_Aspect_Dimension): Rewritten. This
+ routine now does all its checks in one pass rather than
+ two. Refactor code. The error message are now in a more GNAT-ish style.
+ (Create_Rational_From_Expr): This is now a function.
+ (Get_Dimensions): Removed.
+ (Get_Dimensions_String_Id): Removed.
+ (Dimensions_Of): New rouitne.
+ (Exists): New routines.
+ (Is_Invalid): New routine.
+ (Permits_Dimensions): Removed.
+ (Present): Removed.
+ (Set_Symbol): New routine.
+ (System_Of): New routine.
+ * sem_dim.ads: Rewrite the top level description of the
+ package. Alphabetize subprograms. Add various comments on
+ subprogram usage. Add ??? comments.
+ (Is_Dimensioned_Type):
+ Renamed to Has_Dimension_System.
+ * sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type
+
+2011-12-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Indexing_Functions): The return type of an
+ indexing function can be the default element type, and does not
+ need to be a reference type.
+ * sem_ch4.adb (Try_Container_Indexing): Ditto.
+
+2011-12-20 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.
+
+2011-12-20 Bob Duff <duff@adacore.com>
+
+ * s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.
+
+2011-12-20 Vincent Pucci <pucci@adacore.com>
+
+ * impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
+ Defined Additions to System.
+ * Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
+ * s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.
+
+2011-12-20 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
+ within an instance, even if the homonym is marked Is_Hidden at
+ this point.
+
+2011-12-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
+ sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
+ s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
+ reformatting.
+ * aspects.ads: Dimension[_Aspects] are GNAT defined.
+
+2011-12-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
+ renaming case.
+
+2011-12-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
+ a child unit that is an illegal instantiation, mark the WITH clause in
+ error.
+ (Install_Siblings, Validate_Categorization_Dependency): Guard
+ against WITH clause marked as in error.
+
+2011-12-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Allocator): Warning on allocation
+ of tasks on a subpool and rewrite the allocator into a raise
+ Program_Error statement.
+ * s-stposu.ads, s-stposu.adb: Code reformatting.
+ (Create_Subpool): Remove formal parameter Storage_Size.
+ (Default_Subpool_For_Pool): Add the default implementation of this
+ routine.
+ (Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
+ all the uses of the parameter.
+
+2011-12-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (%86 linux%):
+ (LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
+ (LIBGNAT_TARGET_PAIRS_64): New.
+ (LIBGNAT_TARGET_PAIRS): Add either depending on multilib.
+
+2011-12-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Add comment about double
+ reference and DECL_POINTS_TO_READONLY_P.
+ * gcc-interface/trans.c (Identifier_to_gnu) <by_ref>: Always set the
+ TREE_READONLY flag on the first dereference of a double dereference.
+
+2011-12-15 Arnaud Charlet <charlet@adacore.com>
+
+ * a-numaux-vms.ads, s-asthan-vms-ia64.adb, s-auxdec-vms-ia64.adb,
+ s-memory-vms_64.adb, s-memory-vms_64.ads, s-osinte-vms-ia64.adb,
+ s-osinte-vms-ia64.ads, s-tasdeb-vms.adb: New files.
+
+2011-12-15 Vincent Pucci <pucci@adacore.com>
+
+ * aspects.adb, aspects.ads Aspect_Dimension and
+ Aspect_Dimension_System added
+ * exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
+ case added
+ * gcc-interface/Make-lang.in: s-llflex, sem_dim added.
+ * impunit.adb :s-diflio and s-diinio defined as GNAT Defined
+ Additions to System.
+ * Makefile.rtl: s-diflio, s-diinio and s-llflex added
+ * par-prag.adb, sem_prag.adb: Pragma_Dimension removed
+ * rtsfind.ads: Expon_LLF added
+ * sem_aggr.adb (Resolve_Aggregate): handles aggregate for
+ Aspect_Dimension case
+ * sem_attr.adb (Resolve_Attribute): analyze dimension for
+ attribute
+ * sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages
+ due to the use of a GNAT library for Dimension packages
+ * sem_ch13.adb (Analyze_Aspect_Specifications):
+ Aspect_Dimension and Aspect_Dimension_System cases added
+ (Check_Aspect_At_Freeze_Point): Aspect_Dimension and
+ Aspect_Dimension_System cases added
+ * sem_ch2.adb (Analyze_Identifier): analyze dimension for
+ identifier
+ * sem_ch3.adb (Analyze_Component_Declaration): analyze dimension
+ for component declaration (Analyze_Object_Declaration): analyze
+ dimension for object declaration (Analyze_Subtype_Declaration):
+ analyze dimension for subtype declaration
+ * sem_ch4.adb (Operator_Check): checks exponent is a rational
+ for dimensioned operand for a N_Op_Expon
+ * sem_ch5.adb (Analyze_Assignment): analyze dimension for
+ assignment (Analyze_Statements): removal of dimensions in all
+ statements
+ * sem_ch6.adb (Analyze_Return_Statement): analyze dimension for
+ return statement
+ * sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for
+ object renaming
+ * sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension):
+ analyze the expression for aspect dimension and store the
+ values in a Htable.
+ (Analyze_Aspect_Dimension_System): analyze
+ the expression for aspect dimension system and store the new
+ system in a Table.
+ (Analyze_Dimension): propagates dimension
+ (Expand_Put_Call_With_Dimension_String): add the dimension
+ string as a suffix of the numeric value in the output
+ (Has_Dimension): return True if the node has a dimension
+ (Remove_Dimension_In_Declaration): removal of dimension in the
+ expression of the declaration.
+ (Remove_Dimension_In_Statement): removal of dimension in statement
+ * sem_res.adb (Resolve): analyze dimension if the node
+ has already been analyzed.
+ (Resolve_Arithmetic_Op): analyze
+ dimension for arithmetic op.
+ (Resolve_Call): analyze dimension for function call.
+ (Resolve_Comparison_Op): analyze dimension for comparison op.
+ (Resolve_Equality_Op): analyze dimension for equality op.
+ (Resolve_Indexed_Component): analyze dimension for indexed component.
+ (Resolve_Op_Expon): analyze dimension for op expon.
+ (Resolve_Selected_Component): analyze dimension
+ for selected component.
+ (Resolve_Slice): analyze dimension for slice.
+ (Resolve_Unary_Op): analyze dimension for unary op
+ (Resolve_Type_Conversion): analyze dimension for type conversion
+ (Resolve_Unchecked_Type_Conversion): analyze dimension for
+ unchecked type conversion
+ * snames.ads-tmpl Name_Dimension, Name_Dimension_System,
+ Name_Dim_Float_IO, Name_Dim_Integer_IO,
+ Name_Generic_Elementary_Functions, Name_Sqrt added.
+ Pragma_Dimension removed
+ * s-diflio.adb, s-diflio.ads New GNAT library generic package
+ for dimensioned float type IO
+ * s-diinio.adb, s-diinio.ads New GNAT library generic package
+ for dimensioned integer type IO
+ * s-llflex.ads (Expon_LLF): exponentiation routine for long long
+ floats operand and exponent
+
+2011-12-15 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb: Minor comment addition.
+
+2011-12-15 Bob Duff <duff@adacore.com>
+
+ * s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a
+ task dispatching point.
+ * s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False.
+
+2011-12-15 Robert Dewar <dewar@adacore.com>
+
+ * sigtramp-ppcvxw.c, sigtramp.h: Fix header.
+
+2011-12-15 Javier Miranda <miranda@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
+ applied to a class-wide type under VM targets generate code which
+ invokes the function Get_Alignment to retrieve the value of the
+ alignment from the TSD.
+ * rtsfind.ads (RE_Get_Alignment): New entity.
+
+2011-12-15 Robert Dewar <dewar@adacore.com>
+
+ * g-comlin.adb: Fix header.
+
+2011-12-15 Tristan Gingold <gingold@adacore.com>
+
+ * gnatls.adb: Fix typo.
+
+2011-12-15 Ed Falis <falis@adacore.com>
+
+ * s-tpopsp-vxworks.adb: Update comment.
+
+2011-12-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
+ the component type has predicates, generate corresponding check.
+ (Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.
+
+2011-12-13 Cesar Strauss <cestrauss@gmail.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/49084
+ * types.h (Byte): Change typedef to 'unsigned char'.
+ * atree.h (struct Flag_Word): Use Byte for 'convention' field.
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * s-taprop-mingw.adb: Minor reformatting.
+
+2011-12-12 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ Add gnattools4 target when building tools in canadian mode
+
+2011-12-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_VM_TSD): Complete previous patch.
+
+2011-12-12 Bob Duff <duff@adacore.com>
+
+ * s-tpobop.adb: Use named notation.
+ * g-bytswa.ads, s-taprop.ads: Minor comment fix.
+
+2011-12-12 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb: Minor comment update.
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
+ reformatting.
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb, gnatls.adb: Minor reformatting.
+
+2011-12-12 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): If a type declared in a generic
+ context has predicates, generate a freeze node for it.
+ * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
+ has not been analyzed yet, entity has not been frozen, so analyze
+ it now.
+
+2011-12-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_VM_TSD): Generate code to store the value of
+ 'alignment in the TSD.
+
+2011-12-12 Bob Duff <duff@adacore.com>
+
+ * s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
+ mode.
+
+2011-12-12 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Update the master of an
+ anonymous access-to-controlled type to utilize the heterogeneous
+ master associated with the current unit.
+
+2011-12-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): If the function
+ is not a completion, pre-analyze the expression now to prevent
+ spurious visibility on later entities. The body is inserted at
+ the end of the current declaration list or package to prevent
+ early freezing, but the visibility is established at the point
+ of definition.
+
+2011-12-12 Bob Duff <duff@adacore.com>
+
+ * sem.adb, sem.ads: Add debugging routines.
+
+2011-12-12 Tristan Gingold <gingold@adacore.com>
+
+ * gnatls.adb: (gnatls): Also add the objects dir in search list.
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
+ sem_ch13.adb: Minor reformatting.
+
+2011-12-12 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Don't
+ apply check for incomplete types used as a result type for an
+ access-to-function type when compiling for Ada 2012 or later.
+ * sem_ch6.adb (Analyze_Subprogram_Declaration):
+ Specialize error message for interface subprograms that are
+ not declared abstract nor null (functions can't be declared as
+ null). Also, remove "(Ada 2005)" from message.
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (GNAT_Pragma): Check comes from source.
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * gnatls.adb: Minor reformatting.
+
+2011-12-12 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads (Alignment): New TSD field.
+ (Max_Predef_Prims): Value lowered to 15 (or 9 in case of
+ configurable runtime) Update documentation of predefined
+ primitives since Alignment has been removed.
+ * exp_disp.ads Update documentation of slots of dispatching
+ primitives.
+ * exp_disp.adb (Default_Prim_Op_Position): Update slot
+ values since alignment is no longer a predefined primitive.
+ (Is_Predefined_Dispatch_Operation): Remove _alignment.
+ (Is_Predefined_Internal_Operation): Remove _alignment.
+ (Make_DT): Update static test on the value stored in a-tags.ads
+ for Max_Predef_Prims; store the value of 'alignment in the TSD.
+ * exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
+ that retrieves the alignment from the TSD
+ * exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
+ of class-wide types obtain the value of alignment from the TSD.
+ * exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
+ applied to a class-wide type invoke Build_Get_Alignment to
+ generate code which retrieves the value of the alignment from
+ the TSD.
+ * rtsfind.ads (RE_Alignment): New Ada.Tags entity
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
+ types if the value of the alignment is bigger than the Maximum
+ alignment then set the value of the alignment to the Maximum
+ alignment and report a warning.
+ * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
+ spec of _alignment.
+ (Predefined_Primitive_Bodies): Do not generate body of _alignment.
+
+2011-12-12 Gary Dismukes <dismukes@adacore.com>
+
+ * freeze.adb (Freeze_Expression): Allow freezing of static
+ scalar subtypes that are prefixes of an attribute, even if not
+ yet marked static. Such attributes will get marked as static
+ later in Eval_Attribute (as called from Resolve_Attribute).
+ * sem_attr.adb (Eval_Attribute): Remove wrong code that does an
+ early return for attribute prefixes that are unfrozen source-level
+ types. This code was incorrectly bypassing folding of unfrozen
+ static subtype attributes in default expressions (the executable
+ example in the now-deleted comment was in fact illegal).
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
+ gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.
+
+2011-12-12 Tristan Gingold <gingold@adacore.com>
+
+ * gsocket.h: Adjust previous patch.
+
+2011-12-12 Thomas Quinot <quinot@adacore.com>
+
+ * exp_disp.adb: Minor reformatting.
+
+2011-12-12 Tristan Gingold <gingold@adacore.com>
+
+ * gnatls.adb (Search_RTS): New procedure.
+ (Scan_Ls_Arg): Move code that search the RTS.
+ (Gnatls): search the RTS later.
+ * prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.
+
+2011-12-12 Ed Falis <falis@adacore.com>
+
+ * sysdep.c: Fix treatment of VxWorks task options so that run-times
+ built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.
+
+2011-12-12 Bob Duff <duff@adacore.com>
+
+ * sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
+ Minor cleanup and fiddling with debug printouts.
+
+2011-12-12 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Get_Directories): For a non extending project,
+ always get a declared object and/or exec directory if it already
+ exists, even when there are no sources, but do not create them.
+
+2011-12-12 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Resolve): Deal with the case where an abstract
+ operator is called with operands of type universal_integer.
+
+2011-12-12 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Minor fix to dominance marker referencing WHILE
+ decision.
+
+2011-12-12 Tristan Gingold <gingold@adacore.com>
+
+ * mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.
+
+2011-12-12 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Adjust dominant marker for branches of CASE
+ statements.
+
+2011-12-12 Thomas Quinot <quinot@adacore.com>
+
+ * gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
+ header file prior to redefining FD_SETSIZE.
+
+2011-12-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
+ a generic context the aspect expressions may not have been
+ preanalyzed if there was no previous freeze point, so the
+ expressions must be preanalyzed now, and there is no conformance
+ to check for visibility changes.
+
+2011-12-12 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
+ subtype Index_Type'Base for Index component (Finalize): Remove
+ unnecessary access check (First, Last): Cursor return value
+ depends on iterator index value (Iterate): Use start position as
+ iterator index value (Next, Previous): Forward to corresponding
+ cursor-based operation.
+ * a-cborma.adb (Iterate): Properly initialize iterator object (with 0
+ as node index).
+
+2011-12-12 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.
+
+2011-12-12 Steve Baird <baird@adacore.com>
+
+ * sem_ch3.adb (Check_Completion): Improve a comment.
+
+2011-12-12 Tristan Gingold <gingold@adacore.com>
+
+ * cstand.adb: Minor comment fix.
+
+2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
+ flag of elements to compute that of the constructor.
+
+2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
+ on references built for parameters which aren't specifically by-ref.
+
+2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
+ alignment set on a renaming, assert that the renamed object is aligned
+ enough as to make it possible to honor it.
+
+2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Initialize the linemap earlier.
+
+2011-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
+ Correctly detect cygwin, which no longer has the '32' suffix, and use
+ appropriate implementations of the sockets and memory packages.
+ * sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
+ setmode/_setmode for MinGW and Cygwin, respectively.
+ (__gnat_set_binary_mode [windows targets]): Use the above, and enable
+ the windows version for Cygwin as well as MinGW.
+ (__gnat_set_text_mode [windows targets]): Likewise.
+ (__gnat_ttyname [windows targets]): Provide a Cygwin implementation
+ in addition to the MinGW version.
+ (__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
+ (__gnat_get_stack_bounds): Likewise.
+
+2011-12-05 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb: Minor comment fix.
+
+2011-12-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnatw.e.
+
+2011-12-05 Bob Duff <duff@adacore.com>
+
+ * treepr.adb (pn): Print something useful for
+ Elmt_Ids. Add Write_Eol to 'when others' case, so the output
+ will be seen immediately in gdb.
+
+2011-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-writ.adb (Output_Main_Program_Line): A generic subprogram
+ is never a main program.
+
+2011-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Various minor adjustments to dominance markers
+ generation.
+
+2011-12-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): If the function is
+ a completion, generate a body reference for its defining entity,
+ before rewriting the node as a body.
+ * sem_util.adb (Defining_Entity): Add entry for expression
+ function.
+
+2011-12-05 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
+ to the Comes_From_Source check, to deal properly with the case
+ of indirect inheritance of "=".
+
+2011-12-05 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/51307
+ * s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
+ not a macro.
+
+2011-12-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
+ information in SCOs.
+
+2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
+ (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
+ Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
+ which allows the file to be installed in adainclude.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-12-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Constrain_Access): Undo previous
+ patch for this routine. Required since the RM rule 3.7.1(7/3)
+ applies to all access types.
+
+2011-12-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb: Minor comment fix.
+
+2011-12-02 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
+ for consistency with other ports.
+ * s-osinte-rtems.adb: Add body for dummy implementation of
+ pthread_rwlockattr_setkind_np().
+ * s-osinte-rtems.ads: Add missing clock and rwlock bindings.
+ * terminals.c: Add __rtems__ conditionals to account for differences
+ in termios implementation.
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
+ a-cbmutr.ads: Minor reformatting.
+
+2011-12-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_dbug.adb: Comment reformatting.
+ (Get_External_Name): Use Reset_Buffers to reset the contents of
+ Name_Buffer and Homonym_Numbers.
+ (Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
+ Homonym_Numbers before creating a new qualified name for a particular
+ entity.
+ (Reset_Buffers): New routine.
+
+2011-12-02 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbmutr.ads (No_Node): Moved declaration from body to spec
+ * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
+ from Root_Iterator.
+ (Child_Iterator): Derives from Root_Iterator.
+ (Finalize): Implemented as an override operation for Root_Iterator.
+ (First): Return value depends on Subtree component.
+ (Last): Component was renamed from Parent to Subtree.
+ (Next): Checks parameter value, and uses simplified loop.
+ (Iterate): Forwards to Iterate_Subtree.
+ (Iterate_Children): Component was renamed from Parent to Subtree.
+ (Iterate_Subtree): Checks parameter value
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add lines for -gnatw.n and -gnatw.N
+ (atomic sync info msgs).
+
+2011-12-02 Steve Baird <baird@adacore.com>
+
+ * sem_ch3.adb (Check_Completion): An Ada 2012
+ generic formal type doesn't require a completion.
+
+2011-12-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
+ packed array type if it is to be set on the array type used to
+ represent it.
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Eliminate confusing use of type name.
+
+2011-12-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
+ body that acts as spec, do not create a shallow copy of the context
+ clause for the synthetized spec (instead, use the same list as
+ in the body).
+
+2011-12-02 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Clarify usage of -p binder switch.
+
+2011-12-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
+ (Effectively_Has_Constrained_Partial_View): Moved to sem_aux
+ (In_Generic_Body): Moved to sem_aux.
+ (Unit_Declaration_Node): Moved to sem_aux.
+ * einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
+ documentation.
+ * exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
+ rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
+ exp_ch13.adb: Add with-clause on Sem_Aux.
+
+2011-12-02 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Unique_Name): Reach through Unique_Entity to
+ get the name of the entity.
+ (Unique_Entity): Correct case for subprogram stubs.
+
+2011-12-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Check_Initialization): Do not emit warning on
+ initialization of limited type object in Alfa mode.
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Minor reformatting.
+ * gnat_ugn.texi: Fix confusion in use of term "type name".
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor change in error message.
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
+ reformatting.
+
+2011-12-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
+ static check of the rule of general access types whose designated
+ type has discriminants.
+ * sem_util.ads, sem_util.adb
+ (Effectively_Has_Constrained_Partial_View): New subprogram.
+ (In_Generic_Body): New subprogram.
+ * einfo.ads (Has_Constrained_Partial_View): Adding documentation.
+ * sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
+ subprogram In_Generic_Body.
+ * exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
+ sem_ch4.adb: In addition, this patch replaces the occurrences of
+ Has_Constrained_Partial_View by
+ Effectively_Has_Constrained_Partial_View.
+
+2011-12-02 Matthew Heaney <heaney@adacore.com>
+
+ * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
+ Position component.
+ (Finalize): Remove unnecessary access check.
+ (First): Forward to First_Child.
+ (Last): Forward to Last_Child.
+ (Iterate): Check preconditions for parent node parameter.
+ (Next): Forward to Next_Sibling.
+ (Previous): Forward to Previous_Sibling.
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
+ a-coormu.adb, a-convec.adb: Minor reformatting.
+
+2011-12-02 Matthew Heaney <heaney@adacore.com>
+
+ * a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
+ * a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
+ Iterator type.
+ (Finalize): Decrement busy counter.
+ (First, Last): Cursor return value depends on iterator node value.
+ (Iterate): Use start position as iterator node value.
+ (Next, Previous): Forward to corresponding cursor-based operation.
+
+2011-12-02 Robert Dewar <dewar@adacore.com>
+
+ * a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
+ a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
+ a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
+ a-ciorma.adb, a-cobove.adb: Minor reformatting.
+
+2011-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/51201
+ * gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.
+
+2011-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
+ only on platforms where this is required, as determined by
+ s-oscons.h.
+
+2011-11-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb: No check on entry index if error on index.
+
+2011-11-23 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
+ return statements nested inside an extended_return_statement.
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.
+
+2011-11-23 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_All_Ent): An incomplete type is not
+ frozen by a subprogram body that does not come from source.
+
+2011-11-23 Pascal Obry <obry@adacore.com>
+
+ * s-oscons-tmplt.c: Add PTY_Library constant. It contains
+ the library for pseudo terminal support.
+ * g-exptty.ads: Add pseudo-terminal library into a Linker_Options
+ pragma.
+
+2011-11-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb: No check on entry family index if generic.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
+ s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
+ s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
+ System.OS_Constants from shared spec of
+ System.Tasking.Primitive_Operations to the specific body variants
+ that really require this dependency.
+
+2011-11-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
+ If the declaration has aspects, analyze them so they can be
+ properly rejected.
+
+2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
+ a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
+ a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
+ a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
+ Add with and use clause for Ada.Finalization. Type
+ Iterator and Child_Iterator are now derived from Limited_Controlled.
+ (Finalize): New routine.
+ (Iterate): Add a renaming of counter Busy and
+ increment it. Update the return aggregate.
+ (Iterate_Children): Add a renaming of
+ counter Busy and increment it. Update the return aggregate.
+ (Iterate_Subtree): Add a renaming of counter Busy and increment
+ it. Update the return aggregate.
+ * a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
+ type.
+ * a-cihama.ads: Type Map_Access is now a general access type.
+ * a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
+ associated with the tree.
+ * a-cohama.ads: Type Map_Access is now a general access type.
+ * a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
+ access type.
+ * exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
+ to wrap the loop as this is done at an earlier step, during
+ analysis. The declarations of the iterator and the cursor use
+ the usual Insert_Action mechanism when added into the tree.
+ * sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
+ Loop_Statement and replace all respective uses by N. Add local
+ constant Loc. Preanalyze the loop iterator to discover whether
+ it is a container iterator and if it is, wrap the loop in a
+ block. This ensures that any controlled temporaries produced
+ by the iteration scheme share the same lifetime of the loop.
+ (Is_Container_Iterator): New routine.
+ (Is_Wrapped_In_Block): New routine.
+ (Pre_Analyze_Range): Move spec and body to the library level.
+
+2011-11-23 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
+ that controls casing of type and subtype names.
+
+2011-11-23 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb: Minor addition of comments.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * prj-part.adb (Extension_Withs): New global variable,
+ contains the head of the list of WITH clauses from the EXTENDS
+ ALL projects for which virtual packages are being created.
+ (Look_For_Virtual_Projects_For): When recursing through
+ an EXTENDS ALL, add the WITH clauses of the extending
+ project to Extension_Withs. When adding a project to the
+ Virtual_Hash, record the associated Extension_Withs list.
+ (Create_Virtual_Extending_Project): Add a copy of the appropriate
+ Extension_Withs to the virtual project.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * mlib-tgt-specific-vxworks.adb: Minor reformatting.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * Make-generated.in (Sdefault.Target_Name): Set to
+ $(target_noncanonical) instead of $(target) for consistency.
+
+2011-11-23 Matthew Heaney <heaney@adacore.com>
+
+ * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
+ Iterator type as limited (First, Last): Cursor return value
+ depends on iterator node value (Iterate): Use start position as
+ iterator node value (Next, Previous): Forward to corresponding
+ cursor-based operation.
+
+2011-11-23 Matthew Heaney <heaney@adacore.com>
+
+ * a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
+ Renamed from Ordered_Set_Iterator_Interfaces.
+ * a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
+ Iterator type as limited (First, Last): Cursor return value
+ depends on iterator node value (Iterate): Use start position as
+ iterator node value (Next, Previous): Forward to corresponding
+ cursor-based operation.
+ * a-cohase.ads, a-cohase.adb: Implemented forward iterator.
+ * a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
+ node component (First, Next): Forward call to corresponding
+ cursor-based operation (Iterate): Representation of iterator no
+ longer has node component
+
+2011-11-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
+ dereference has a proper type before the side effect removal
+ mechanism kicks in.
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
+ where the base type of the subtype is a private itype created
+ to act as the partial view of a constrained record type. This
+ scenario manifests with equivalent class-wide types for records
+ with unknown discriminants.
+
+2011-11-23 Jerome Guitton <guitton@adacore.com>
+
+ * s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
+ reformatting/reorganization.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * g-htable.ads: Remove old comments.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_imgv.adb: Minor reformatting.
+
+2011-11-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
+ family bounds out of range.
+
+2011-11-23 Matthew Heaney <heaney@adacore.com>
+
+ * a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
+ type as limited, and remove node component.
+ (First, Next): Forward call to corresponding cursor-based operation.
+ (Iterate): Representation of iterator no longer has node component.
+
+2011-11-23 Yannick Moy <moy@adacore.com>
+
+ * exp_util.adb: Revert previous change to remove side-effects in Alfa
+ mode, which is not the correct thing to do for renamings.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
+ s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
+ s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
+ s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
+ s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
+ s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
+ s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
+ s-taprop-posix.adb: Remove hard-coded clock ids;
+ instead, generate them in System.OS_Constants.
+ (System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
+ id of the clock providing Ada.Real_Time.Monotonic_Clock.
+ * thread.c: New file.
+ (__gnat_pthread_condattr_setup): New function. For platforms where
+ CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
+ variable attribute.
+
+2011-11-23 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb: Restore the use of Expander_Active instead of
+ Full_Expander_Active, so that the evaluation is forced in Alfa
+ mode too. Otherwise, we end up with an unexpected insertion in a
+ place where it is not supposed to happen, on default parameters
+ of a call.
+
+2011-11-23 Thomas Quinot <quinot@adacore.com>
+
+ * prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
+ for Pretty_Print, for use from within gdb.
+
+2011-11-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
+ and the cursor declarations in a block, so that the loop variable
+ is local to the construct.
+
+2011-11-23 Matthew Heaney <heaney@adacore.com>
+
+ * a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
+ type Reversible_Iterator'Class.
+ * a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
+ Declare type as limited.
+ (First, Last): Return value depends on iterator's start node value.
+ (Next, Previous): Call corresponding Cursor-based operation.
+ (Iterate): Indicate whether complete or partial iteration
+
+2011-11-23 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb: Minor reformattin (Finalize): Take templates into
+ account for warning suppression.
+ * errout.ads (Set_Specific_Warning_Off): Add Used parameter.
+ * erroutc.adb: Minor reformatting (Finalize): Take generic
+ templates into account for warning suppress.
+ * erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
+ * sem_prag.adb: Minor reformatting (Analyze_Pragma,
+ case Warnings): Provide Used parameter in call to
+ Set_Specific_Warnings_Off (to deal with generic template case).
+
+2011-11-23 Pascal Obry <obry@adacore.com>
+
+ * sem_prag.adb (Process_Convention): Better error message for
+ stdcall convention on dispatching calls.
+
+2011-11-23 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb, sem_ch13.adb: Minor reformatting.
+
+2011-11-23 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Simple_Function_Return): Add missing
+ implicit type conversion when the returned object is allocated
+ in the secondary stack and the type of the returned object is
+ an interface. Done to force generation of displacement of the
+ "this" pointer.
+
+2011-11-23 Pascal Obry <obry@adacore.com>
+
+ * impunit.adb: Add g-exptty and g-tty units.
+
+2011-11-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb: Minor code reorganization (use Make_Temporary).
+
+2011-11-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
+ reformatting.
+
+2011-11-23 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
+ line of precondition/ postcondition/invariant.
+
+2011-11-23 Pascal Obry <obry@adacore.com>
+
+ * g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
+ terminals.c: New files.
+ Makefile.rtl: Add these new files.
+ * gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
+ * gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
+ * sem_attr.adb (Eval_Attribute, case Width): Ditto.
+
+2011-11-21 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor reformatting.
+
+2011-11-21 Yannick Moy <moy@adacore.com>
+
+ * exp_util.adb: Minor reformatting. Update comments.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
+ sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
+ sem_ch6.adb: Minor reformatting.
+
+2011-11-21 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
+ Unrestricted_Access to deal with fact that we properly detect the
+ error if Access is used.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-11-21 Yannick Moy <moy@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): Place error on first character
+ of expression.
+ * sem_res.adb (Resolve_Short_Circuit): Place error on first
+ character of expression.
+
+2011-11-21 Yannick Moy <moy@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.
+
+2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case
+ Max_Size_In_Storage_Elements): Account for the size of the
+ hidden list header which precedes controlled objects allocated
+ on the heap.
+ * rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
+ tables.
+ * sinfo.adb (Header_Size_Added): New routine.
+ (Set_Header_Size_Added): New routine.
+ * sinfo.ads: Add flag Controlled_Header_Added along with
+ associated comment.
+ (Header_Size_Added): New inlined routine.
+ (Set_Header_Size_Added): New inlined routine.
+ * s-stposu.adb (Allocate_Any_Controlled): Use
+ Header_Size_With_Padding to calculate the proper
+ size of the header.
+ (Deallocate_Any_Controlled): Use
+ Header_Size_With_Padding to calculate the proper size
+ of the header. (Header_Size_With_Padding): New routine.
+ (Nearest_Multiple_Rounded_Up): Removed along with its uses.
+ * s-stposu.ads (Header_Size_With_Padding): New routine.
+
+2011-11-21 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.adb: Aspect specifications are allowed on renaming
+ declarations
+ * par-ch6.adb (P_Subprogram): Parse aspect specifications in a
+ subprogram renaming declaration
+
+2011-11-21 Tristan Gingold <gingold@adacore.com>
+
+ * env.c: Remove unused declaration.
+
+2011-11-21 Pascal Obry <obry@adacore.com>
+
+ * s-os_lib.ads: Minor style fix.
+
+2011-11-21 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
+ identical, do nothing on Windows XP.
+
+2011-11-21 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
+ Use Full_Expander_Active instead of Expander_Active to control
+ the forced evaluation of expressions for the sake of generating
+ checks.
+
+2011-11-21 Thomas Quinot <quinot@adacore.com>
+
+ * init.c: On FreeBSD, stack checking failures may raise SIGBUS.
+
+2011-11-21 Tristan Gingold <gingold@adacore.com>
+
+ * sysdep.c (mode_read_text, mode_write_text, mode_append_text,
+ mode_read_binary, mode_write_binary, mode_append_binary,
+ mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
+ mode_read_binary_plus, mode_write_binary_plus,
+ mode_append_binary_plus): Remove unused declarations.
+
+2011-11-21 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Minor rewording.
+
+2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_imgv.adb (Expand_Width_Attribute): Emit
+ an error message rather than a warning when pragma Discard_Names
+ prevents the computation of 'Width. Do not emit an error through
+ the use of RE_Null.
+
+2011-11-21 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
+ implicit type conversion when the type of the allocator is an
+ interface. Done to force generation of displacement of the "this"
+ pointer when required.
+
+2011-11-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
+ functions, and is set when the expression is a completion of a
+ previous declaration.
+ * sem_ch6.adb (Analyze_Expression_Function): To determine properly
+ whether an expression function completes a previous declaration,
+ use Find_Corresponding_Spec, as when analyzing a subprogram body.
+
+2011-11-21 Steve Baird <baird@adacore.com>
+
+ * sem_util.adb (Deepest_Type_Access_Level): Improve comment.
+ (Type_Access_Level): Improve comment.
+
+2011-11-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
+ means of -iquote unconditionally.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
+ reformatting.
+
+2011-11-21 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
+ to deal with fact that we properly detect the error if Access
+ is used.
+
+2011-11-21 Steve Baird <baird@adacore.com>
+
+ * sem_util.ads: Update comment describing function
+ Deepest_Access_Level.
+ * sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
+ generic formal type.
+ (Type_Access_Level): Return library level
+ for a generic formal type.
+ * sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
+ calls with calls to Deepest_Type_Access_Level.
+ * sem_ch3.adb (Analyze_Component_Declaration): replace a
+ Type_Access_Level call with a call to Deepest_Type_Access_Level.
+ * sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
+ Replace three Type_Access_Level calls with calls to
+ Deepest_Type_Access_Level.
+ (Resolve_Allocator): Replace a Type_Access_Level call with a call to
+ Deepest_Type_Access_Level.
+ (Valid_Conversion.Valid_Array_Conversion): Replace a
+ Type_Access_Level call with a call to Deepest_Type_Access_Level.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sinput.ads: Minor comment fix.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
+ Last_Bit, Position): Handle 2005 case.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
+ to deal with fact that we properly detect the error if Access
+ is used.
+ (Increment): Same fix.
+ * s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
+ to deal with fact that we properly detect the error if Access
+ is used.
+ * sem_util.adb (Is_Volatile_Object): Properly record that A.B is
+ volatile if the B component is volatile. This affects the check
+ for passing such a by reference volatile actual to a non-volatile
+ formal (which should be illegal)
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Enumeration_Type): Make sure to set both
+ size and alignment for foreign convention enumeration types.
+ * layout.adb (Set_Elem_Alignment): Redo setting of alignment
+ when size is set.
+
+2011-11-21 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
+ Apply_Discriminant_Check, Apply_Divide_Check,
+ Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
+ Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
+ Selected_Range_Checks): Replace reference to Expander_Active
+ with reference to Full_Expander_Active, so that expansion of
+ checks is not performed in Alfa mode
+
+2011-11-21 Tristan Gingold <gingold@adacore.com>
+
+ * s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
+ fact that we properly detect the error if Access is used.
+
+2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.
+
+2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_imgv.adb: Add with and use clause for Errout.
+ (Expand_Width_Attribute): Emit a warning when in
+ configurable run-time mode to provide a better diagnostic message.
+
+2011-11-21 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finmas.adb (Finalize): Add comment concerning double finalization.
+
+2011-11-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): If the access definition
+ is itself the return type of an access to function definition
+ which is ultimately the return type of an access to subprogram
+ declaration, its scope is the enclosing scope of the ultimate
+ access to subprogram.
+
+2011-11-21 Steve Baird <baird@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): If a conversion was legal
+ in the body of a generic, then the corresponding conversion is
+ legal in the expanded body of an instance of the generic.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
+ line terminator.
+ * sinput.ads: Add section on Handling of Source Line Terminators.
+ * types.ads (Line_Terminator): Adjust comments.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb (Frontend): Capture restrictions from config files
+ * lib-load.adb (Load_Unit): Save/set/restore restriction pragma
+ information
+ * lib-xref.adb (Generate_Reference): Fix handling of obsolescent
+ references. This was noticed during debugging, but it is not
+ known if it causes real bugs.
+ * restrict.ads, restrict.adb: New routines to save/set/restore
+ non-partition-wide restrictions.
+ * s-rident.ads: Comment changes for new handling of
+ No_Elaboration_Code
+ * sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
+ * sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
+ attempt to save/restore non-partition-wide restrictions (now
+ this work is all done in Sem).
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
+ Special handling for restriction No_Elaboration_Code.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document new handling of restrictions pragmas.
+
+2011-11-21 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
+ attribute as not needed.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2011-11-21 Pascal Obry <obry@adacore.com>
+
+ * gnat_rm.texi: Document restriction for stdcall convention on
+ dispatching calls.
+
+2011-11-21 Pascal Obry <obry@adacore.com>
+
+ * sem_prag.adb (Process_Convention): A dispatching call cannot
+ have a stdcall calling convention.
+
+2011-11-21 Pascal Obry <obry@adacore.com>
+
+ * s-taprop-linux.adb (Initialize_Lock): Do not allocate a
+ mutex attribute as not needed.
+ (Initialize_TCB): Likewise.
+ (Initialize): Likewise.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Is_Public_Subprogram_For): New procedure
+ (Process_PPCs): Invariants only apply to public subprograms.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
+ restrict.ads: Fix for No_Implicit_Aliasing in the renames case.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * a-finali.ads: Use pragma Pure_12 for this unit
+ * aspects.adb: Add aspect Pure_12
+ * aspects.ads: Add aspect Pure_12
+ * opt.ads: Add note on Pure_12
+ * par-prag.adb: Add dummy entry for Pure_12
+ * sem_prag.adb: Implement Pure_12 pragma
+ * snames.ads-tmpl: Add Entry for Pure_12
+
+2011-11-21 Sergey Rybin <rybin@adacore.com frybin>
+
+ * vms_data.ads: Add qualifiers for new gnatpp options
+ '--call_threshold' and '--par_threshold".
+ * gnat_ugn.texi: Add description for new gnatpp options
+ '--call_threshold' and '--par_threshold".
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * lib.ads: Minor reformatting.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * lib-load.ads: Add comment.
+
+2011-11-21 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_elab.adb: Minor reformatting
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting.
+
+2011-11-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Formal_Package_Instance): If a formal
+ subprogram of the formal package is covered by an others
+ association with a box initialization, no check is needed
+ against the actual in the instantiation of the formal package.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
+ elab warning from within precondition/postcondition etc.
+
+2011-11-21 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
+ with out parameters may generate assignments to force constraint
+ checks. These checks must be properly placed in the code after the
+ declaration or statement that contains the call.
+
+2011-11-21 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Adding info on current gnattest limitations an
+ support of -X option.
+
+2011-11-21 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.
+
+2011-11-20 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb, exp_util.adb: Minor reformatting
+
+2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sinfo.ads (Reference): Document that it is OK to set
+ Is_Known_Non_Null on a temporary initialized to a N_Reference
+ node.
+
+2011-11-20 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
+ for Source list.
+
+2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
+ Declare NEW_EXPR local variable and attach the
+ temporary to it. Set Is_Known_Non_Null on the temporary.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
+ * exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
+ the temporary created to hold the 'Reference of the expression,
+ if any.
+ * checks.adb (Install_Null_Excluding_Check): Bail out for the
+ Get_Current_Excep.all.all idiom generated by the expander.
+
+2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (struct language_function): Add GNAT_RET.
+ (f_gnat_ret): New macro.
+ (struct nrv_data): Add GNAT_RET.
+ (finalize_nrv_unc_r): New helper function.
+ (finalize_nrv): Add GNAT_RET parameter. Copy it into DATA. If the
+ function returns unconstrained, use finalize_nrv_unc_r as callback.
+ (return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
+ RET_OBJ is non-null.
+ (Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
+ (gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
+ if optimization is enabled, record candidates for the Named Return
+ Value optimization.
+
+2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
+ (gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
+ test. Tweak default case.
+ <N_Goto_Statement>: Use better formatting.
+ * gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
+ MODIFY_EXPR to initialize the storage.
+ (build_allocator): Likewise.
+
+2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
+ call to components_to_record.
+ (components_to_record): Add FIRST_FREE_POS parameter. For the variant
+ part, reuse enclosing union even if there is a representation clause
+ on the Unchecked_Union. If there is a variant part, compute the new
+ first free position, if any. Adjust call to self. Use a single field
+ directly only if it hasn't got a representation clause or is placed at
+ offset zero. Create the variant part at offset 0 if all the fields
+ down to this level have a rep clause. Do not chain the variant part
+ immediately and adjust downstream.
+ Do not test ALL_REP before moving the fields without rep clause to the
+ previous level. Call create_rep_part to create the REP part and force
+ a minimum size on it if necessary. Do not chain it immediately.
+ Create a fake REP part if there are fields without rep clause that need
+ to be laid out starting from FIRST_FREE_POS.
+ At the end, chain the REP part and then the variant part.
+ (create_rep_part): New function.
+ (get_rep_part): Minor tweak.
+ * gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.
+
+2011-11-18 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/50678
+ * init.c (__gnat_error_handler) [Darwin]: Move workaround to the
+ bug filed as radar #10302855 from __gnat_error_handler to...
+ (__gnat_adjust_context_for_raise) [Darwin]: ...here. New function.
+ (HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.
+
+2011-11-18 Tristan Gingold <gingold@adacore.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/49992
+ * mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
+ * gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.
+
+2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
+ s-oscons.ads.
+ (OSCONS_CPP, OSCONS_EXTRACT): New.
+ (./bldtools/oscons/xoscons): New target.
+ ($(RTSDIR)/s-oscons.ads): Likewise.
+ (gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
+ * gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
+ * Make-generated.in: Remove machinery to generate xoscons and
+ ada/s-oscons.ads.
+
+2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fe.h (Serious_Errors_Detected): New macro.
+ * gcc-interface/gigi.h (build_atomic_load): Declare.
+ (build_atomic_store): Likewise.
+ * gcc-interface/trans.c (atomic_sync_required_p): New predicate.
+ (call_to_gnu): Add ATOMIC_SYNC parameter. Use local variable.
+ Build an atomic load for an In or In Out parameter if needed.
+ Build an atomic store for the assignment of an Out parameter if needed.
+ Build an atomic store to the target if ATOMIC_SYNC is true.
+ (present_in_lhs_or_actual_p): New predicate.
+ (gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
+ <N_Explicit_Dereference>: Likewise.
+ <N_Indexed_Component>: Likewise.
+ <N_Selected_Component>: Likewise.
+ <N_Assignment_Statement>: Adjust call to call_to_gnu.
+ Build an atomic store to the LHS if needed.
+ <N_Function_Call>: Adjust call to call_to_gnu.
+ * gcc-interface/utils2.c: Include toplev.h.
+ (resolve_atomic_size): New static function.
+ (build_atomic_load): New function.
+ (build_atomic_store): Likewise.
+ * gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.
+
+2011-11-07 Olivier Hainque <hainque@adacore.com>
+
+ * sigtramp-ppcvxw.c: Add general comments.
+ (CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
+ rules for r2 to r13, plus CTR and XER.
+ (CFA_REG): New, register number used to hold the local CFA.
+ (CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
+ Make that 15, not 14, with documentation.
+ (TCR): Undef before definition, preventing conflict with reg number in
+ VxWorks headers.
+
+2011-11-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
+ aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-11-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb: A tagged type is a legal actual for an aliased
+ formal.
+
+2011-11-07 Pascal Obry <obry@adacore.com>
+
+ * g-socket.adb, g-socket.ads: Minor reformatting.
+
+2011-11-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Minor error message improvement.
+
+2011-11-07 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add discussion of default mode handling of
+ source representation with no -gnatW option given, in particular
+ noting that NEL (next line) is not recognized in this context.
+
+2011-11-07 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Note_Possible_Modification): In Alfa mode,
+ generate a reference for a modification even when the modification
+ does not come from source.
+
+2011-11-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
+ use the indexing attributes rather than the Element function,
+ to obtain variable references.
+ * sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
+ Find_Aspect rather than iterating over representation
+ items. Improve error message.
+ * a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
+ of Reference functions.
+
+2011-11-07 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Unique_Entity): For a parameter on a subprogram
+ body that has a corresponding parameter on the subprogram
+ declaration, define the unique entity as being the declaration
+ one.
+
+2011-11-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
+ return type of a function is the class-wide type of an incomplete
+ type T, T can be a Taft-amendment type and does not have to be
+ completed in the current private part.
+
+2011-11-07 Ed Schonberg <schonberg@adacore.com>
+
+ * aspects.ads (Inherited_Aspect): Map that indicates type aspects
+ that are inherited by default, and apply to the class-wide type
+ as well.
+ * aspects.adb (Find_Aspect): If the entity is class-wide and the
+ aspect is inherited, use the aspect of the specific type.
+
+2011-11-07 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_alfa.adb: Remove with and use clause for
+ Exp_Ch8. Add with and use clause for Exp_Util.
+ Remove local constant Disable_Processing_Of_Renamings.
+ (Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
+ object renamings has been reenabled.
+ (Expand_Possible_Renaming):
+ The expansion of identifier and expanded names has been
+ reenabled. Perform the substitutions only for entities that
+ denote an object.
+ * exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
+ * exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
+ (Remove_Side_Effects): Alphabetize local variables. Add a guard
+ to avoid the infinite expansion of an expression in Alfa mode. Add
+ processing for function calls in Alfa mode.
+ * exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.
+
+2011-11-07 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): If the entity is an access to
+ subprogram whose designated type is itself a subprogram type,
+ its own return type must be decorated with size information.
+
+2011-11-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
+ Avoid junk semicolon after argument of machine code Asm operand.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
+ CodePeer mode or if restriction No_Exception_Handlers is present.
+ * exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
+ nodes in CodePeer mode or if restriction No_Exception_Handlers
+ is present.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.
+
+2011-11-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): The
+ specification is legal if it is a function that returns an
+ abstract type, if it comes from an attribute renaming of a stream
+ attribute of an abstract type.
+
+2011-11-04 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
+ components, check whether recursively check whether the prefix
+ denotes an unaligned object.
+
+2011-11-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Debug): The argument of
+ the pragma is legal if it is an expanded name that denotes a
+ procedure that be can called without parameters.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Performance Considerations) <Vectorization
+ of loops>: New sub-section. <Other Optimization Switches>:
+ Minor tweak.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting.
+
+2011-11-04 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
+ when Target and Source denote same non-empty object
+ * a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb: Minor reformatting.
+
+2011-11-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Record): Do not generate a
+ discriminant assignment within an initialization proc if the
+ record is an unchecked union, as it can only come from the
+ initialization of an unchecked union component.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Minor reformatting.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
+ warning message.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor code reorganization (remove junk obsolete
+ var Save_Space).
+
+2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_alfa.adb: Add local constant
+ Disable_Processing_Of_Renamings;
+ (Expand_Alfa_N_Object_Renaming_Declaration): Disable
+ the name evaluation of object renamings for now.
+ (Expand_Potential_Renaming): Do not perform the substitution
+ for now.
+ * exp_util.adb (Remove_Side_Effects): Remove processing for
+ functions with side effects in Alfa mode.
+
+2011-11-04 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb (Gen_Elab_Calls): In the case
+ of the AAMP target, set elaboration entities to 1 rather than
+ incrementing.
+
+2011-11-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Install_Limited_With_Unit): To establish the
+ proper entities on the ancestors of a child unit that appear
+ in a limited_with clause, follow the unit links because the
+ units are not analyzed and scope information is incomplete.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): Refine code
+ setting the Atomic_Sync_Required flag to detect one more case.
+ * exp_util.adb (Activate_Atomic_Synchronization): Refine code
+ setting the Atomic_Sync_Required flag to exclude more cases,
+ depending on the parent of the node to be examined.
+
+2011-11-04 Bob Duff <duff@adacore.com>
+
+ * g-excact.adb: Minor: use named notation.
+
+2011-11-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Improve error messages for illegal iterators.
+
+2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
+ Sem_Util.
+ (Expand_Alfa): Alphabetize cases on first choice. Add
+ processing for object renaming declarations, identifiers and
+ expanded names.
+ (Expand_Alfa_N_In): Remove useless return.
+ (Expand_Alfa_N_Object_Renaming_Declaration): New routine.
+ (Expand_Potential_Renaming): New routine.
+ * exp_ch8.adb (Evaluate_Name): Moved to the top level.
+ (Expand_N_Object_Declaration): Alphabetize local variables. Move
+ Evaluate_Name out to the top level.
+ * exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
+ * exp_util.adb (Remove_Side_Effects): Add processing for
+ functions with side effects in Alfa mode.
+
+2011-11-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gnat_rm.texi: Add entries for
+ restrictions No_Relative_Delay, No_Requeue_Statements and
+ No_Stream_Optimizations.
+
+2011-11-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb: Set type of entity in prefixed call, for
+ completeness in a generic context.
+
+2011-11-04 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb: Minor refactoring (renaming of a parameter).
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads: Minor reformatting.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
+ and -gnatd.e here
+ * exp_ch2.adb (Expand_Entity_Reference): Use
+ Activate_Atomic_Synchronization
+ * exp_ch4.adb (Expand_N_Explicit_Dereference): Use
+ Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
+ Activate_Atomic_Synchronization (Expand_N_Selected_Component):
+ Use Activate_Atomic_Synchronization
+ * exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
+ procedure.
+ * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
+ N_Selected_Component node
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.
+
+2011-11-04 Yannick Moy <moy@adacore.com>
+
+ * atree.adb, atree.ads (Set_Original_Node): New set procedure.
+ * sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
+ In ASIS mode, no splitting of aspects between conjuncts.
+ (Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
+ expressions refer to the original aspect expressions through
+ the Original_Node link. This is used in semantic analysis for
+ ASIS mode, so that the original expression also gets analyzed.
+ * sem_prag.adb (Preanalyze_TC_Args,
+ Check_Precondition_Postcondition,
+ Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
+ generated from a source aspect, also analyze the original aspect
+ expression.
+ (Check_Expr_Is_Static_Expression): New procedure
+ similar to existing procedure Check_Arg_Is_Static_Expression,
+ except called on expression inside pragma.
+
+2011-11-04 Tristan Gingold <gingold@adacore.com>
+
+ * prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
+ Find_Project.Try_Path_Name.
+ (Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.
+
+2011-11-04 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Add short description for qualifiers aggregate
+ and aggregate library.
+
+2011-11-04 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
+ * a-cgaaso.adb: Replaced implementation with instantiation
+ of Generic_Sort.
+ * a-cogeso.ad[sb] This is the new Ada 2012 unit
+ Ada.Containers.Generic_Sort
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb (Expand_Entity_Reference): Do not set
+ Atomic_Sync_Required for the case of a prefix of an attribute.
+ * exp_ch4.adb (Expand_N_Explicit_Dereference): May require
+ atomic synchronization
+ (Expand_N_Indexed_Component): Ditto.
+ (Expand_B_Selected_Component): Ditto.
+ * sem_prag.adb (Process_Suppress_Unsuppress):
+ Disable/Enable_Atomic_Synchronization can now occur for array
+ types with pragma Atomic_Components.
+ * sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
+ N_Explicit_Dereference nodes and on N_Indexed_Component nodes.
+
+2011-11-04 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_ugn.texi: Editorial corrections for gnattest section.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+ * gnat_rm.texi: Update documentation for pragma Warnings (Off,
+ "***") usage.
+ * exp_ch2.adb (Expand_Entity_Reference): Only set
+ Atomic_Sync_Required on entities that are variables. Doesn't
+ make any sense on anything else.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb (Expand_Entity_Reference): Extend handling of
+ atomic sync to type case.
+ * sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
+ apply to types.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
+ for call vs assign.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb: Detect more cases of Long_Float inconsistencies at
+ compile time.
+
+2011-11-04 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added a-sfecin.ads,
+ * a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
+ a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
+ * a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
+ a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
+ a-sulcin.ad[sb]: New files.
+
+2011-11-04 Geert Bosch <bosch@adacore.com>
+
+ * i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
+ s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
+ i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
+ s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
+ * gcc-interface/Makefile.in: Remove libgnala and related objects.
+
+2011-11-04 Matthew Heaney <heaney@adacore.com>
+
+ * a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
+ a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
+ a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
+ a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
+ added to package.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
+ that the type of the parameters isn't dummy in type_annotate_only mode.
+
+2011-11-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting
+
+2011-11-04 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
+ initialize elaboration entities to zero when specs are processed.
+
+2011-10-28 Iain Sandoe <iains@gcc.gnu.org>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/50678
+ * init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
+ bug filed as radar #10302855 (inconsistent unwind data for sigtramp).
+
+2011-10-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/50842
+ * gcc-interface/Makefile.in (SYMDEPS): Delete.
+ (LIBICONV): New variable.
+ (LIBICONV_DEP): Likewise.
+ (LIBS): Add $(LIBICONV).
+ (LIBDEPS): Add $(LIBICONV_DEP).
+ (EXTRA_GNATTOOLS_OBJS): Merge into...
+ (TOOLS_LIBS): ...this. Add $(LIBICONV).
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
+ variable. Always create the elaboration variable, if any, as constant.
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
+ make a packable type for fields of union types as well.
+ <is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
+ (gnat_to_gnu_component_type): Try to make a packable type for fields
+ of union types as well.
+ (make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
+ (maybe_pad_type): Try to make a packable type for fields of union types
+ as well.
+ (gnat_to_gnu_field): Likewise.
+ (is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
+ (set_rm_size): Likewise.
+ (rm_size): Likewise.
+ * gcc-interface/misc.c (gnat_type_max_size): Likewise.
+ * gcc-interface/trans.c (add_decl_expr): Likewise.
+ * gcc-interface/utils.c (finish_record_type): Likewise.
+ * gcc-interface/utils2.c (build_simple_component_ref): Likewise.
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_field): Always check components
+ declared as atomic. Move around conditionally executed code.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * sem.adb (Initialize): Fix bug that blew up if called a second time.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
+ tb-ivms.c, tb-gcc.c: Update headers to GPL 3.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
+ name in error msg.
+
+2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gnat_rm.texi: Add an entry for restriction No_Finalization.
+
+2011-10-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): If the
+ current instance is within the one that contains the generic,
+ the freeze node for the current one must appear in the current
+ declarative part. Ditto if the current instance is within another
+ package instance. In both of these cases the freeze node of the
+ previous instance is not relevant.
+
+2011-10-24 Gary Dismukes <dismukes@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Add recognition
+ of AAMP-specific switches -univ and -aamp_target.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * a-tienau.adb (Put): Deal properly with limited line length.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb, sem_ch12.adb: Minor reformatting.
+
+2011-10-24 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/Makefile.in: Use GNU ld switches to generate map files
+ on AIX.
+
+2011-10-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Earlier): make available globally. If both
+ nodes have the same sloc, the freeze node that does not come
+ from source is the later one.
+ (True_Parent): Make available globally.
+ (Previous_Instance): Subsidiary of
+ Insert_Freeze_Node_For_Instance, to check whether the generic
+ parent of the current instance is declared within a previous
+ instance in the same unit or declarative part, in which case the
+ freeze nodes of both instances must appear in order to prevent
+ elaboration problems in gigi.
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
+ freeze point, and the freeze node of a preceding instantiation
+ must be inserted before it.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb: Add handling of Synchronization_Check
+ * debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
+ atomic sync).
+ * exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
+ flag Minor code reorganization.
+ * opt.ads (Warn_On_Atomic_Synchronization): New switch.
+ * par-prag.adb: Add dummy entries for pragma
+ Disable/Enable_Atomic_Synchronization.
+ * sem_prag.adb (Process_Suppress_Unsuppress): Handle
+ case of Atomic_Synchronization specially (not suppressed
+ by All_Checks, cannot be set from Source).
+ (Pragma Disable/Enable_Atomic_Synchronization): Add processing.
+ * sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
+ * snames.ads-tmpl: Add entry for Atomic_Synchronization Add
+ entry for pragma Disable/Enable_Atomic_Synchronization
+ * switch-c.adb: The -gnatp switch does not disable
+ Atomic_Synchronization Add -gnatep switch to disable
+ Atomic_Synchronization.
+ * types.ads: Add entry for Synchronization_Check
+ * usage.adb: Add line for -gnated switch
+ * warnsw.adb: Settings for Warn_On_Atomic_Synchronization
+
+2011-10-24 Geert Bosch <bosch@adacore.com>
+
+ * s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
+ at Integer'First.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb, s-gearop.adb: Minor reformatting.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
+ * warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.
+
+2011-10-24 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb (Process_Expression_Variable_Decl): No special
+ handling for Project_Path unless it is an attribute.
+
+2011-10-24 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
+ (Install_Hidden_Primitives): New subprogram.
+ (Restore_Hidden_Primitives): New subprogram.
+ (Analyze_Formal_Package_Declaration,
+ Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
+ Invoke Check_Hidden_Primitives after every call to
+ Analyze_Associations, and invoke Restore_Hidden_Primitives to
+ restore their visibility after processing the instantiation.
+ (Instantiate_Package_Body): Install visible primitives before
+ analyzing the instantiation and uninstall them to restore their
+ visibility when the instantiation has been analyzed.
+ * sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
+ (Remove_Suffix): New subprogram
+ * sem_ch3.adb (Derive_Subprogram): When handling
+ a derived subprogram for the instantiation of a formal derived
+ tagged type, inherit the dispatching attributes from the actual
+ subprogram (not from the parent type).
+
+2011-10-24 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Document explicit use of XDECGNAT library.
+
+2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
+ update its uses.
+ (Build_Discriminant_Assignments): Add local variable D_Loc and update
+ its uses.
+ (Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
+ Var_Loc and update their uses.
+ (Build_Record_Init_Proc): Code reformatting.
+ (Increment_Counter): Add formal parameter Loc.
+ (Make_Counter): Add formal parameter Loc.
+
+2011-10-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_disp.adb (Covers_Some_Interface): Fix typo.
+
+2011-10-24 Matthew Heaney <heaney@adacore.com>
+
+ * a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
+ of predicate.
+
+2011-10-24 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
+ Translate arguments in positional notation into pragma argument
+ association arguments for the generated pragma.
+
+2011-10-24 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch5.adb: Fix minor typo.
+
+2011-10-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Is_Visible_Component): Refine predicate for
+ the case of a component reference in an instance body, when the
+ enclosing type is private.
+
+2011-10-24 Sergey Rybin <rybin@adacore.com frybin>
+
+ * gnat_ugn.texi: For gnatelim, move the note about using the GNAT
+ driver for getting the project support into gnatelim section.
+
+2011-10-24 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor correction to documentation on address clause.
+
+2011-10-24 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finmas.adb (Attach): Synchronize and call the unprotected version.
+ (Attach_Unprotected): New routine.
+ (Delete_Finalize_Address): Removed.
+ (Delete_Finalize_Address_Unprotected): New routine.
+ (Detach): Synchronize and call the unprotected version.
+ (Detach_Unprotected): Remove locking.
+ (Finalize): Add various comment on synchronization. Lock the critical
+ region and call the unprotected versions of routines.
+ (Finalize_Address): Removed.
+ (Finalize_Address_Unprotected): New routine.
+ (Set_Finalize_Address): Synchronize and call
+ the unprotected version.
+ (Set_Finalize_Address_Unprotected): New routine.
+ (Set_Heterogeneous_Finalize_Address): Removed.
+ (Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
+ (Set_Is_Heterogeneous): Add comment on synchronization and
+ locking.
+ * s-finmas.ads: Flag Finalization_Started is no longer atomic
+ because synchronization uses task locking / unlocking.
+ (Attach): Add comment on usage.
+ (Attach_Unprotected): New routine.
+ (Delete_Finalize_Address): Renamed to
+ Delete_Finalize_Address_Unprotected.
+ (Detach): Add comment on usage.
+ (Detach_Unprotected): New routine.
+ (Finalize_Address): Renamed to Finalize_Address_Unprotected.
+ (Set_Finalize_Address): Add comment on usage.
+ (Set_Finalize_Address_Unprotected): New routine.
+ (Set_Heterogeneous_Finalize_Address): Renamed to
+ Set_Heterogeneous_Finalize_Address_Unprotected.
+ * s-stposu.adb (Allocate_Any_Controlled): Add local variable
+ Allocation_Locked. Add various comments on synchronization. Lock
+ the critical region and call the unprotected version of
+ routines.
+ (Deallocate_Any_Controlled): Add various comments on
+ synchronization. Lock the critical region and call the unprotected
+ version of routines.
+
+2011-10-24 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
+ are universal and must carry the corresponding type.
+ * sem_eval.adb (Check_Non_Static_Context): If the type of the
+ expression is universal real, as may be the case for a fixed point
+ expression with constant operands in the context of a conversion,
+ there is nothing to check.
+ * s-finmas.adb: Minor reformatting
+
+2011-10-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (create_concat_name): Add explicit cast.
+
+2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
+ TRACE): Reintroduce.
+ (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
+ ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.
+
+2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (lhs_or_actual_p): New predicate.
+ (unchecked_conversion_nop): Use it.
+ (gnat_to_gnu): Likewise.
+
+2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back_end.adb (Call_Back_End): Pass the maximum logical line number
+ instead of the maximum physical line number to gigi.
+ * gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.
+
+2011-10-16 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
+ public ordinary map interface.
+
+2011-10-16 Tristan Gingold <gingold@adacore.com>
+
+ * link.c (_AIX): Add support for GNU ld.
+
+2011-10-16 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Fixing gnattest example names in the doc.
+ Adding explanation to additional tests usage.
+
+2011-10-16 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb, sem_ch6.adb: Minor reformatting.
+
+2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-convec.adb: Fix minor inconsistencies.
+
+2011-10-16 Matthew Heaney <heaney@adacore.com>
+
+ * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
+ Implementation): Specify pragma Implementation_Defined.
+
+2011-10-15 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
+ either rtp-smp or ravenscar-cert-rtp runtimes.
+
+2011-10-15 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
+ Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
+ is available.
+ (Expand_N_Extended_Return_Statement): Do not create a renaming of the
+ build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
+ available.
+ (Make_Build_In_Place_Call_In_Allocator): Add the user-defined
+ pool only if RE_Root_Storage_Pool_Ptr is available.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
+ pool actual unless RE_Root_Storage_Pool_Ptr is available.
+ * sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
+ formal only if RE_Root_Storage_Pool_Ptr is available.
+
+2011-10-15 Matthew Heaney <heaney@adacore.com>
+
+ * a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
+ type): Specify Priority aspect for protected type.
+
+2011-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Check_Premature_Freezing): If an untagged type
+ is a generic actual, it is a subtype of a type that was frozen
+ by the instantiation, and even if not marked frozen it does not
+ affect the construction of the dispatch table.
+
+2011-10-14 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
+ reformatting.
+ * s-rident.ads: Add missing Compiler_Unit pragma.
+
+2011-10-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2011-10-14 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
+ Code and comment reformatting. Use BIP_Task_Master
+ when creating a _master.
+ (BIP_Formal_Suffix): Code reformatting. Correct the case for
+ BIP_Task_Master.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Use
+ BIP_Task_Master when creating a reference to the enclosing
+ function's _master formal.
+ (Move_Activation_Chain): Use BIP_Task_Master when creating a reference
+ to the _master.
+ * exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
+ (Needs_BIP_Finalization_Master): Alphabetized.
+ * sem_ch6.adb (Create_Extra_Formals): Update the usage of
+ BIP_Task_Master.
+
+2011-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
+ reject an aliased keyword on the object declaration of an extended
+ return statement. In older versions of the language indicate
+ that this is illegal in the standard.
+
+2011-10-14 Pascal Obry <obry@adacore.com>
+
+ * sem_util.adb, sem_ch4.adb: Minor reformatting.
+
+2011-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: Recognize properly procedure calls that are
+ transformed into code statements.
+
+2011-10-14 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Minor fix in project example.
+
+2011-10-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb: Return objects are aliased if their type is
+ immutably limited as per AI05-0053.
+
+2011-10-14 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
+ expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
+ Short_Circuit_And_Or expansion code (moved to sem_res).
+ * sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
+ "and" and "or" operators as short-circuit "and then" and "or
+ else", when pragma Short_Circuit_And_Or is active.
+
+2011-10-13 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
+ sem_ch6.adb, exp_ch3.adb: Minor reformatting.
+
+2011-10-13 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.
+
+2011-10-13 Jerome Guitton <guitton@adacore.com>
+
+ * sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads
+
+2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * a-convec.ads (Cursor): Minor reformatting.
+ * a-convec.adb (Next): Fix minor inconsistencies.
+ (Previous): Likewise.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
+ New predicate to determine whether some operations on an array
+ type are available when the full view of its component may differ
+ from the view of the point of the array declaration.
+ * sem_ch4.adb (Find_Equality_Types): Use
+ Available_Full_View_Of_Component.
+ * sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch9.adb: Analyze aspects while discriminants of protected
+ type are visible.
+
+2011-10-13 Geert Bosch <bosch@adacore.com>
+
+ * Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
+ a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
+ longer depend on an external library.
+ * gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
+ a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
+ Update dependencies.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-10-13 Cyrille Comar <comar@adacore.com>
+
+ * gnat_ugn.texi: Minor editing.
+
+2011-10-13 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation on packages and attributes
+ that are inherited from a project being extended into the
+ extended project.
+
+2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Master): Rewritten.
+ (Expand_N_Full_Type_Declaration): Reformat the declarative
+ region. Update the call to Build_Master_Renaming.
+ (Expand_Previous_Access_Type): Rewritten.
+ * exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
+ Add local constant Result_Subt and update related usage.
+ (Expand_N_Extended_Return_Statement): Add local constant
+ Result_Subt and update related usage.
+ * exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
+ new context detection mechanism.
+ (Build_Class_Wide_Master):
+ Use Insert_Action to add the renaming into the tree.
+ (Build_Master_Entity): Rewritten to use the new context detection
+ mechanism.
+ (Build_Master_Renaming): Add formal parameter Ins_Nod
+ and related usage. Use Insert_Action to add the renaming into the
+ tree.
+ (Find_Enclosing_Context): New subsidiary routine. Rather
+ than relying on enclosing scopes, this routine looks at the
+ tree structure to figure out the proper context for a _master
+ or a _chain. This approach eliminates the issues with transient
+ scopes which have not been converted into blocks.
+ * exp_ch9.ads (Build_Master_Entity): Change parameter profile
+ to better reflect the new usage. Update the related comment.
+ (Build_Master_Renaming): Add formal parameter Ins_Nod. Update
+ the comment on usage.
+ * sem_ch3.adb (Access_Definition): Update the calls to
+ Build_Master_Entity and Build_Master_Renaming.
+ * sem_ch6.adb (Create_Extra_Formals): Add local variable
+ Full_Subt. Code reformatting.
+ * sem_util.adb (Is_Iterator): Alphabetized.
+ (Is_LHS): Alphabetized.
+ (Is_Limited_Class_Wide_Type): New routine.
+ * sem_util.ads (Is_Limited_Class_Wide_Type): New routine.
+
+2011-10-13 Geert Bosch <bosch@adacore.com>
+
+ * a-ngrear.adb (Solve): Make generic and move to
+ System.Generic_Array_Operations.
+ * s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
+ New generic solvers to compute a vector resp. matrix Y such
+ that A * Y = X, approximately.
+ * s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
+ Implement using Forward_Eliminate and Back_Substitute
+ * a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
+ on BLAS and LAPACK.
+ * a-ngcoar.ads ("abs"): Fix return type to be real.
+
+2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/50589
+ * s-linux-alpha.ads: Do not "with" Interfaces.C.
+ * s-linux-sparc.ads: Likewise.
+
+2011-10-13 Geert Bosch <bosch@adacore.com>
+
+ * s-gearop.ads (Forward_Eliminate): Add "abs" formal function
+ returning a Real.
+ * s-gearop.adb (Forward_Eliminate): Remove local "abs" function
+ and use formal.
+ * a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
+ new profile.
+
+2011-10-13 Geert Bosch <bosch@adacore.com>
+
+ * a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
+ move to System.Generic_Array_Operations.
+
+2011-10-13 Geert Bosch <bosch@adacore.com>
+
+ * a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
+ * s-gearop.ads (L2_Norm): Change profile to be suitable for
+ Complex_Vector
+ * s-gearop.adb (L2_Norm): Reimplement using direct definition,
+ not inner product
+
+2011-10-13 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
+ prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
+ sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
+ par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
+ par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
+ exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.
+
+2011-10-13 Geert Bosch <bosch@adacore.com>
+
+ * s-gearop.adb: Minor comment additions.
+
+2011-10-13 Fedor Rybin <frybin@adacore.com>
+
+ * gnat_ugn.texi: Add gnattest section.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb: Do not create body of renaming if declaration has
+ errors.
+
+2011-10-13 Olivier Hainque <hainque@adacore.com>
+
+ * init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
+ further, to the ppc+kernel case only.
+
+2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
+ * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
+ Do not create a pool formal on .NET/JVM.
+ (Expand_N_Extended_Return_Statement): Alphabetize local
+ variables. Do not create a renaming of the build-in-place pool
+ parameter on .NET/JVM. (Make_Build_In_Place_Call_In_Allocator):
+ Add the user-defined pool only on non-VM targets.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
+ local variables. Do not add a pool actual on .NET/JVM.
+ * sem_ch6.adb: Add with and use clause for Targparm.
+ (Create_Extra_Formals): Add build-in-place pool formal only on
+ non-VM targets.
+ * rtsfind.ads: Alphabetize entries.
+
+2011-10-13 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Minor correction.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Minor error message improvement.
+
+2011-10-13 Robert Dewar <dewar@adacore.com>
+
+ * a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.
+
+2011-10-13 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
+ of a for loop for an enumeration type with an enumeration rep
+ clause, which involves moving the original loop parameter into
+ a nested block, the loop parameter's entity must be removed from
+ the entity list of the loop scope.
+
+2011-10-13 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
+ that gets passed in the same cases where BIP_Alloc_Form is passed
+ (caller-unknown-size results). BIP_Storage_Pool is used when
+ BIP_Alloc_Form = User_Storage_Pool. In that case, a pointer
+ to the user-defined storage pool is passed at the call site,
+ and this pool is used in callee to allocate the result.
+ * exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
+ version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
+ the additional BIP_Storage_Pool actual.
+ (Expand_N_Extended_Return_Statement): Allocate the function
+ result using the user-defined storage pool, if BIP_Alloc_Form =
+ User_Storage_Pool.
+ * sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
+ * exp_ch4.adb: Don't overwrite storage pool set by
+ Expand_N_Extended_Return_Statement.
+ * s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
+ for use in build-in-place function calls within allocators
+ where the access type has a user-defined storage pool.
+
+2011-10-13 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
+ literal casing.
+
+2011-10-13 Nicolas Roche <roche@adacore.com>
+
+ * gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
+ with 'rtp'.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
+ account that an unchecked union type can be limited.
+
+2011-10-13 Olivier Hainque <hainque@adacore.com>
+
+ * init.c (__gnat_error_handler) <VxWorks version>: Add comments on
+ the use of the signal trampoline for PPC in the sjlj case as well.
+ Add legitimate casts, preventing compile time warnings on the
+ (sighandler *) profile.
+
+2011-10-13 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
+ in Alfa mode.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
+ expressions are legal limited return values if each one of their
+ dependent expressions are legal.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
+ if the prefix of the call is a qualified expression, rewrite as
+ a code statement.
+ * sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
+ code statement is legal if it is a rewriting of a procedure call.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Flatten): If a component association has a box,
+ assume that aggregate is not static.
+ (Safe_Aggregate): If a component association in a non-limited
+ aggregate has a box, assume that it cannot be expanded in place.
+
+2011-10-13 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Get_Or_Create_Configuration_File): Call
+ Process_Project_Tree_Phase_1 with Packages_To_Check.
+ (Process_Project_And_Apply_Config): Ditto
+ * prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
+ Remove default for argument Packages_To_Check.
+ * prj-proc.adb (Recursive_Process): New argument
+ Packages_To_Check.
+ (Process): Ditto.
+ (Process_Project_Tree_Phase_1): Ditto.
+ (Recursive_Project.Process_Aggregated_Projects): Call
+ Prj.Part.Parse and Process_Project_Tree_Phase_1 with
+ Packages_To_Check.
+ * prj-proc.ads (Process): New argument Packages_To_Check
+ (Process_Project_Tree_Phase_1): Ditto
+
+2011-10-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in: Fix typo.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_{Floating_Type,
+ Signed_Integer_Type, Decimal_Fixed_Point_Type, Discrete_Type}):
+ Use sloc of defining identifier of farmal type declaration,
+ as sloc of generated internal entity, to prevent misplaced
+ references in ali.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_intr.adb (Check_Intrinsic_Operator): Check that type
+ is fully defined before checking that it is a numeric type.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): If a component
+ association for component X has a box, then X is covered in the
+ aggregate even if there is not default value for X in the type
+ declaration, and X has to be default-initialized.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
+ literals as referenced only if reference is in current source unit.
+
+2011-10-13 Matthew Heaney <heaney@adacore.com>
+
+ * a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.
+
+2011-10-13 Olivier Hainque <hainque@adacore.com>
+
+ * sigtramp.h: New file. Prototype and spec of the signal
+ trampoline to be called by an established handler to provide
+ dwarf call frame info before the real signal processing code.
+ * sigtramp-ppcvxw.c: New file. Implementation of the signal
+ trampoline for ppc-vxworks.
+ * init.c (vxworks section): Use it for ppc.
+
+2011-10-13 Thomas Quinot <quinot@adacore.com>
+
+ * par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
+ (Check_Future_Identifier): New subprogram,
+ factors duplicated code from Par.Ch2.P_Identifier and
+ Par.Ch3.P_Defining_Identifier.
+
+2011-10-13 Thomas Quinot <quinot@adacore.com>
+
+ * s-taprop-posix.adb (Initialize): Always raise Storage_Error
+ if we fail to initialize CV attributes or CV.
+
+2011-10-13 Thomas Quinot <quinot@adacore.com>
+
+ * s-tasren.adb (Timed_Selective_Wait, case
+ Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
+ we know abortion is already deferred.
+
+2011-10-13 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
+ (Build_Master_Renaming (function)): Removed.
+ (Build_Master_Renaming (procedure)): Moved to exp_ch9.
+ (Expand_Full_Type_Declaration): Alphabetize
+ variables. Reformatting of code and comments. Rewrite the
+ section on processing of anonymous access-to-task types in
+ record components.
+ * exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
+ (Build_Master_Renaming): Moved to exp_ch9.
+ * exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
+ (Build_Master_Entity): Add formal parameter
+ Use_Current. Reformatting of code and comments.
+ (Build_Master_Renaming): Moved from exp_ch3.
+ * exp_ch9.ads (Build_Class_Wide_Master): Moved from
+ exp_ch3. Update comment on usage.
+ (Build_Master_Entity):
+ Add formal parameter Use_Current. Update comment on usage.
+ (Build_Master_Renaming): Moved from exp_ch3.
+ * sem_ch3.adb (Access_Definition): Remove redundant code to
+ create a _master and a renaming.
+
+2011-10-13 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb: Do no emit reference to overridden operation,
+ if it is internally generated.
+
+2011-10-13 Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb: Remove any processing related to g-trasym
+ * Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
+ * mlib-prj.adb: Remove any processing related to g-trasym.
+
+2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
+ * gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
+ (ALL_ADAFLAGS): Include WARN_ADAFLAGS.
+ (ADA_FLAGS_TO_PASS): Likewise.
+ (COMMON_FLAGS_TO_PASS): New.
+ (ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS. In the regular
+ native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
+ (gnatlib): Use COMMON_FLAGS_TO_PASS.
+ (ada.install-common): Likewise.
+ (install-gnatlib): Likewise.
+ (install-gnatlib-obj): Likewise.
+ (gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
+ (gnat-cross): Delete.
+ (gnatboot): Likewise.
+ (gnatboot2): Likewise.
+ (gnatboot3): Likewise.
+ (gnatstage1): Likewise.
+ (gnatstage2): Likewise.
+ * gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
+ (MOST_ADAFLAGS): Likewise.
+ (LOOSE_CFLAGS): Likewise.
+ (gnat-cross): Likewise.
+ (GNATLIBFLAGS): Add -W -Wall.
+ (GNATLIBCFLAGS_FOR_C): Likewise.
+ * gcc-interface/lang.opt: Remove C-specific warnings. Add doc lines.
+ * gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.
+
+2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
+ (push_range_check_info): Likewise.
+ (gnat_to_gnu) <N_Code_Statement>: Likewise.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
+ (gnat_invariant_expr): Likewise.
+ * gcc-interface/utils.c (compute_related_constant): Likewise.
+ (max_size): Fix handling of SAVE_EXPR.
+ (remove_conversions): Fix formatting.
+
+2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
+ (DECL_INDUCTION_VAR): New macro.
+ (SET_DECL_INDUCTION_VAR): Likewise.
+ * gcc-interface/gigi.h (convert_to_index_type): Declare.
+ (gnat_invariant_expr): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
+ parameter, set DECL_LOOP_PARM_P on it.
+ * gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
+ is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
+ * gcc-interface/trans.c (gnu_loop_label_stack): Delete.
+ (struct range_check_info_d): New type.
+ (struct loop_info_d): Likewise.
+ (gnu_loop_stack): New stack.
+ (Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
+ built for a by-double-ref read-only parameter. If DECL_LOOP_PARM_P
+ is set, do not test DECL_RENAMED_OBJECT.
+ (push_range_check_info): New function.
+ (Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
+ the label. Reference the label and the iteration variable from it.
+ Build the special induction variable in the unsigned version of the
+ size type, if it is larger than the base type. And attach it to the
+ iteration variable if the latter isn't by-ref. In the iteration scheme
+ case, initialize the invariant conditions in front of the loop if
+ deemed profitable. Use gnu_loop_stack.
+ (gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
+ <N_Raise_Constraint_Error>: Always process the reason. In the range
+ check and related cases, and if loop unswitching is enabled, compute
+ invariant conditions and push this information onto the stack.
+ Do not translate again the condition if it has been already translated.
+ * gcc-interface/utils.c (record_global_renaming_pointer): Assert that
+ DECL_LOOP_PARM_P isn't set.
+ (convert_to_index_type): New function.
+ * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
+ to convert the index from the base index type to sizetype.
+ (gnat_invariant_expr): New function.
+
+2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc-interface/utils.c (def_builtin_1): Delete old interface with
+ two parallel arrays to hold standard builtin declarations, and
+ replace it with a function based interface that can support
+ creating builtins on the fly in the future.
+ * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
+ (gnat_to_gnu): Ditto.
+
+2011-10-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR lto/50492
+ * gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
+ * gcc-interface/utils.c (global_context): New variable.
+ (gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
+ that are either public external or at top level. Use "No" macro.
+ (end_subprog_body): Call decl_function_context.
+ (rest_of_subprog_body_compilation): Likewise.
+
+2011-10-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
+ (rest_of_subprog_body_compilation): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
+ test for useless conversions by means of gnat_useless_type_conversion.
+ * gcc-interface/trans.c: Include bitmap.h and cgraph.h.
+ (language_function): Add named_ret_val and other_ret_val.
+ (f_named_ret_val): New macro.
+ (f_other_ret_val): Likewise.
+ (gigi): Call rest_of_subprog_body_compilation.
+ (struct nrv_data): New structure.
+ (is_nrv_p): New predicate.
+ (prune_nrv_r): New helper function.
+ (prune_nrv_in_block): New function.
+ (finalize_nrv_r): New helper function.
+ (finalize_nrv): New function.
+ (return_value_ok_for_nrv_p): New predicate.
+ (build_return_expr): If optimization is enabled, record candidates for
+ the Named Return Value optimization.
+ (build_function_stub): Call rest_of_subprog_body_compilation.
+ (Subprogram_Body_to_gnu): If optimization is enabled and there are
+ candidates, finalize the Named Return Value optimization.
+ Call rest_of_subprog_body_compilation.
+ (call_to_gnu): At the end, if a return value is needed, simplify the
+ result before wrapping it up in a COMPOUND_EXPR.
+ * gcc-interface/utils.c (end_subprog_body): Split into...
+ (rest_of_subprog_body_compilation): ...this. New function.
+ (gnat_useless_type_conversion): Likewise.
+
+2011-10-06 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads, exp_attr.adb, exp_ch3.adb, exp_ch4.adb, exp_ch7.adb,
+ exp_ch9.adb, exp_ch9.ads, exp_strm.adb, exp_util.adb, freeze.adb,
+ g-debpoo.ads, opt.ads, par-ch12.adb, par-ch2.adb, par-ch3.adb,
+ par-ch5.adb, par-ch6.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb,
+ sem_ch10.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
+ sem_ch6.adb, sem_intr.adb, sem_res.ads, sem_type.adb, sem_util.adb,
+ s-regpat.adb, s-tpopde-vms.ads: Minor reformatting.
+ * s-osinte-freebsd.ads: Fix for tasking failures on FreeBSD.
+
+2011-10-06 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cihase.adb, a-ciorma.adb: Avoid accessibility checks in container
+ references.
+
+2011-10-06 Matthew Heaney <heaney@adacore.com>
+
+ * a-cuprqu.ads, a-cuprqu.adb, a-cbprqu.ads, a-cbprqu.adb
+ (Dequeue_Only_High_Priority): Protected procedure now implemented.
+
+2011-10-06 Vincent Celier <celier@adacore.com>
+
+ * g-trasym.adb: Replace old implementation with the default
+ implementation that returns list of addresses as "0x...".
+ * g-trasym.ads: Update the list of platforms with the full
+ capability. Indicate that there is a default implementation
+ for other platforms.
+ * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: Remove.
+ * gcc-interface/Makefile.in: Remove g-trasym-unimplemented, as there
+ is now a default implementation for all platforms without the full
+ capability.
+
+2011-10-06 Robert Dewar <dewar@adacore.com>
+
+ * a-ciorse.adb, a-cihase.adb, a-cihase.ads, a-coorse.adb,
+ a-cborse.adb, a-comutr.adb, a-ciorma.adb, a-cbmutr.adb,
+ a-cbmutr.ads, a-cbhase.adb, a-cbhase.ads: Minor reformatting and code
+ reorganization (use conditional expressions).
+
+2011-10-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Arithmetic_Op): Fix bad warning for
+ floating divide by zero.
+
+2011-10-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Limited interfaces that are not immutably limited
+ are OK in return statements.
+
+2011-09-30 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (Darwin): Partial reversion of previous
+ change to powerpc section.
+
+2011-09-29 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (Darwin): Factor LIBGNAT_TARGET_PAIRS
+ across the port.
+
+2011-09-27 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cbhase.adb, a-cbhase.ads, a-cborse.adb, a-cborse.ads,
+ a-cihase.adb, a-cihase.ads, a-ciorse.adb, a-ciorse.ads,
+ a-coorse.adb, a-coorse.ads: Add iterator machinery to bounded sets and
+ indefinite sets.
+ * a-coorma.ads: Minor reformmating.
+ * einfo.ads: Improve the comment describing the
+ Directly_Designated_Type function.
+ * a-ciorma.adb, a-ciorma.ads: Add iterator machinery to indefinite
+ ordered maps.
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
+ dependencies.
+
+2011-09-27 Robert Dewar <dewar@adacore.com>
+
+ * a-comutr.ads: Minor reformatting.
+
+2011-09-27 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cimutr.adb, a-cimutr.ads, a-cbmutr.adb, a-cbmutr.ads: Add children
+ iterators to multiway trees.
+
+2011-09-27 Yannick Moy <moy@adacore.com>
+
+ * debug.adb (d.D): New option for strict Alfa mode.
+ * opt.ads (Strict_Alfa_Mode): New flag to interpret compiler
+ permissions as strictly as possible.
+ * sem_ch3.adb (Signed_Integer_Type_Declaration): In non-strict
+ Alfa mode, now, interpret ranges of base types like GNAT does; in
+ strict mode, simply change the range of the implicit base Itype.
+ * gnat1drv.adb: Update comments. Set Strict_Alfa_Mode.
+
+2011-09-27 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb: Minor comment fixes.
+
+2011-09-27 Ed Schonberg <schonberg@adacore.com>
+
+ * a-comutr.adb, a-comutr.ads: Add children iterators on multiway
+ trees.
+
+2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Apply_Scalar_Range_Check): Use Designated_Type
+ instead of Directly_Designated_Type in the indirect array case.
+
+2011-09-27 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, exp_aggr.adb: Minor reformatting.
+
+2011-09-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, par-ch3.adb: Minor comment update: aspect specification
+ on subtype declarations.
+ * exp_aggr.adb: Minor comment update.
+
+2011-09-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Safe_Prefixed_Reference): Remove always-false
+ test in the N_Explicit_Dereference case. Fold double logical
+ negation in the special loop case and conditionalize it on
+ Variable_Ref being true.
+
+2011-09-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If the prefix is a
+ single protected object and the selector is a discriminant or an
+ entry family, this is a non-overloaded candidate interpretation,
+ and possible primitive operations of the type must not be
+ examined.
+
+2011-09-27 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taspri-posix-noaltstack.ads (Lock): Mark fields aliased.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads,
+ s-osinte-irix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads:
+ Add dummy definitions for pthread_rwlock_t
+ and pthread_rwlockattr_t on all POSIX platforms.
+ * s-taprop-irix.adb, s-taprop-posix.adb (Initialize_Lock): Fix lock
+ reference.
+ (Finalize_Lock): Likewise.
+ (Write_Lock): Likewise.
+ (Unlock): Likewise.
+
+2011-09-27 Tristan Gingold <gingold@adacore.com>
+
+ * s-tassta.adb (Task_Wrapper): Increase Guard_Page_Size value for
+ windows 64.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taspri-vxworks.ads,
+ s-taprop-tru64.adb, s-osinte-aix.ads, s-taspri-posix-noaltstack.ads,
+ s-taspri-mingw.ads, s-taprop-vms.adb, s-tpoben.adb, s-tpoben.ads,
+ s-taprop-mingw.adb, s-taprob.adb, s-taprob.ads,
+ s-osinte-solaris-posix.ads, s-taprop-solaris.adb, s-taspri-solaris.ads,
+ s-osinte-irix.ads, s-taprop-irix.adb, s-osinte-darwin.ads,
+ s-taspri-dummy.ads, s-taspri-posix.ads, s-taprop.ads,
+ s-taspri-vms.ads, s-osinte-freebsd.ads, s-taprop-hpux-dce.adb,
+ s-taspri-hpux-dce.ads, s-taspri-tru64.ads, s-taprop-dummy.adb,
+ s-taprop-posix.adb: Revert previous changes.
+ (Lock): Now a record containing the two possible lock
+ (mutex and read/write) defined in OS_Interface.
+ * s-taprop-linux.adb (Finalize_Protection): Use r/w lock for
+ 'R' locking policy.
+ (Initialize_Protection): Likewise.
+ (Lock): Likewise.
+ (Lock_Read_Only): Likewise.
+ (Unlock): Likewise.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * s-taspri-posix-noaltstack.ads (RW_Lock): This type is now defined as
+ OS_Interface.pthread_rwlock_t.
+
+2011-09-27 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, a-cimutr.adb, a-cimutr.ads, gnat1drv.adb, a-comutr.adb,
+ a-comutr.ads, exp_dist.adb, a-cbmutr.adb, a-cbmutr.ads,
+ sem_ch5.adb, sem_util.adb: Minor reformatting.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * s-taprop.ads (Initialize_Lock)[RW_Lock]: New spec for r/w lock.
+ (Finalize_Lock)[RW_Lock]: Likewise.
+ (Write_Lock)[RW_Lock]: Likewise.
+ (Unlock)[RW_Lock]: Likewise.
+ (Read_Lock): Define L as RW_Lock (instead of Lock).
+ * s-taprop-linux.adb (Initialize_Lock)[RW_Lock]: New
+ routine for r/w lock.
+ (Finalize_Lock)[RW_Lock]: Likewise.
+ (Write_Lock)[RW_Lock]: Likewise.
+ (Unlock)[RW_Lock]: Likewise.
+ (Read_Lock): Define L as RW_Lock (instead of Lock).
+
+ * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-taprop-mingw.adb, s-taprop-solaris.adb, s-taprop-irix.adb,
+ s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
+ (Initialize_Lock)[RW_Lock]: Same implementation as corresponding
+ routine for standard lock.
+ (Finalize_Lock)[RW_Lock]: Likewise.
+ (Write_Lock)[RW_Lock]: Likewise.
+ (Unlock)[RW_Lock]: Likewise.
+ (Read_Lock): Define L as RW_Lock (instead of Lock).
+ * s-taprob.ads, s-tpoben.ads (Protection): Add RWL (RW_Lock)
+ in the record definition.
+ * s-taprob.adb, s-taproben.adb (Finalize_Protection): Use r/w
+ lock for 'R' locking policy.
+ (Initialize_Protection): Likewise.
+ (Lock): Likewise.
+ (Lock_Read_Only): Likewise.
+ (Unlock): Likewise.
+ * s-taspri-posix.ads (RW_Lock): New type defined as
+ OS_Interface.pthread_rwlock_t.
+
+ * s-taspri-vxworks.ads, s-taspri-posix-noaltstack.ads,
+ s-taspri-mingw.ads, s-taspri-solaris.ads, s-taspri-dummy.ads,
+ s-taspri-posix.ads, s-taspri-vms.ads, s-taspri-hpux-dce.ads,
+ s-taspri-tru64.ads (RW_Lock): New type defined as alias to Lock.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * exp_ch9.adb, s-taspri-posix.ads: Minor reformatting.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
+ s-osinte-hpux.ads, s-osinte-irix.ads,
+ s-osinte-solaris-posix.ads (pthread_rwlock_t): New definition alias of
+ pthread_mutex_t.
+ (pthread_rwlockattr_t): New definition alias of pthread_mutexattr_t.
+ * s-osinte-linux.ads (pthread_rwlock_t, pthread_rwlockattr_t,
+ pthread_rwlockattr_init, pthread_rwlockattr_destroy,
+ pthread_rwlockattr_setkind_np, pthread_rwlock_init,
+ pthread_rwlock_destroy, pthread_rwlock_rdlock,
+ pthread_rwlock_wrlock, pthread_rwlock_unlock): New.
+
+2011-09-27 Pascal Obry <obry@adacore.com>
+
+ * rtsfind.ads: Add RE_Lock_Read_Only into rtsfind circuitry.
+ (RE_Id): Add RE_Lock_Read_Only.
+ (RE_Unit_Table): Likewise.
+ * sem_prag.adb (Process_Convention): Change Pragma_Locking_Policy
+ to lift restriction on first character. Handle now the
+ Name_Concurrent_Readers_Locking where policy character is set to
+ 'R'.
+ * snames.ads-tmpl (Name_Concurrent_Readers_Locking): New
+ constant.
+ * exp_ch9.adb (Build_Protected_Subprogram_Body): Generate a
+ read only lock for function in protected object.
+ * s-taprob.ads (Lock_Read_Only): Remove obsolete comment as
+ this routine is now used.
+
+2011-09-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * s-atocou-x86.adb (Decrement): Use %;.
+ (Increment): Likewise.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_allocator): Set TREE_THIS_NOTRAP on the
+ dereference of the pointer to the storage area. Remove useless type
+ conversions and factor out common code.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (maybe_unconstrained_array): Declare TYPE local
+ variable and use it throughout.
+ <UNCONSTRAINED_ARRAY_TYPE>: Add 'break' at the end.
+ <RECORD_TYPE>: Do not unconditionally convert to the unpadded type as a
+ first step. Also convert to the unpadded type as a last step.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_subprog_decl): Replace TREE_CHAIN with
+ DECL_CHAIN in comment.
+ * gcc-interface/trans.c (gigi): Likewise.
+ (Attribute_to_gnu): Likewise.
+ (build_function_stub): Likewise.
+ (gnat_to_gnu): Likewise.
+ * gcc-interface/utils.c (create_subprog_decl): Likewise.
+ (convert_vms_descriptor64): Likewise.
+ (convert_vms_descriptor32): Likewise.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (assoc_to_constructor): Minor tweaks.
+ * gcc-interface/utils2.c (build_simple_component_ref): Fix formatting
+ issues. Use COMPLETE_TYPE_P in assertion. Also set TREE_READONLY if
+ the type of the record is TYPE_READONLY.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Set_Formal_Mode): Set Can_Never_Be_Null on an IN or IN
+ OUT formal parameter which is of an null-exclusion access subtype.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_CAN_NEVER_BE_NULL_P): New macro.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Set the flag.
+ (gnat_to_gnu_param): Likewise.
+ * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Invoke
+ maybe_unconstrained_array instead of doing the work manually.
+ (maybe_unconstrained_array): Propagate the TREE_THIS_NOTRAP flag.
+ * gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: If operand
+ is a DECL with the flag, set TREE_THIS_NOTRAP on the reference.
+ (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
+ (gnat_stabilize_reference): Likewise.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_NULL_BOUNDS): New macro.
+ (SET_TYPE_NULL_BOUNDS): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set again
+ TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
+ * gcc-interface/trans.c (Identifier_to_gnu): Return initializers of fat
+ pointer types.
+ * gcc-interface/utils.c (create_var_decl_1): If the object is external,
+ check that the initializer is a valid constant expression for use in
+ initializing a static variable. Add missing guard.
+ (update_pointer_to): Adjust TYPE_NULL_BOUNDS if set.
+ (convert_to_fat_pointer): In the null fat pointer case, build a valid
+ pointer for the bounds.
+ * gcc-interface/utils2.c (compare_fat_pointers): New function.
+ (build_binary_op) <EQ_EXPR>: Call it to compare fat pointers.
+
+2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TREE_THIS_NOTRAP): Redefine.
+ * gcc-interface/trans.c (Identifier_to_gnu): Factor out common code in
+ the by-ref case. Do not set TREE_READONLY on a renamed object. Set
+ TREE_THIS_NOTRAP on UNCONSTRAINED_ARRAY_REF nodes.
+ (Attribute_to_gnu) <Attr_Length>: Expand the use of the parameter cache
+ to the indirect case.
+ * gcc-interface/utils.c (convert) <UNCONSTRAINED_ARRAY_REF>: Preserve
+ the TREE_THIS_NOTRAP flag.
+
+2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Loop_Statement_to_gnu): In the case of an
+ iteration scheme, always generate the do-while form if optimization
+ is enabled. Use more straightforward test at the end.
+
+2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Subtype>: Use
+ XNEW instead of xmalloc. Do not build useless pointer type.
+ <E_Anonymous_Access_Subprogram_Type>: Use XNEW instead of xmalloc.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Raise_Constraint_Error>: Tidy.
+ * gcc-interface/utils2.c (build_unary_op): Remove local variable.
+
+2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not promote
+ the alignment if this doesn't prevent BLKmode access to the object.
+
+2011-09-24 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (darwin): Do not issue the
+ '-flat_namespace' linker flag during Ada build.
+ * mlib-tgt-specific-darwin.adb: Remove '-flat_namespace' flag from the
+ default shared library options.
+
+2011-09-19 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc-interface/decl.c (annotate_value): Look up expression for
+ insertion in the cache at the end.
+
+2011-09-19 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-09-19 Steve Baird <baird@adacore.com>
+
+ * snames.ads-tmpl: Move declaration of Name_Annotate into range of
+ configuration pragma names so that Is_Configuration_Pragma_Name
+ will return True for Name_Annotate. Make corresponding change in
+ Pragma_Id enumeration type. This is needed to allow an Annotate
+ pragma to occur in a configuration pragma file (typically,
+ a gnat.adc file).
+ * gnat_ugn.texi: Add Annotate to the list of configuration pragmas.
+ * gnat_rm.texi: Note that pragma Annotate may be used as a
+ configuration pragma.
+
+2011-09-19 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cbmutr.adb, a-cbmutr.ads, a-cimutr.adb, a-cimutr.ads,
+ a-comutr.adb, a-comutr.ads: Add iterator machinery for multiway trees.
+
+2011-09-19 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb, exp_alfa.ads (Expand_Alfa_N_In): New function
+ for expansion of set membership.
+ (Expand_Alfa): Call expansion for N_In and N_Not_In nodes.
+ * exp_ch4.adb, exp_ch4.ads (Expand_Set_Membership): Make procedure
+ visible for use in Alfa expansion.
+ * sem_ch5.adb (Analyze_Iterator_Specification): Introduce loop
+ variable in Alfa mode.
+
+2011-09-19 Thomas Quinot <quinot@adacore.com>
+
+ * s-osinte-darwin.ads: Change SIGADAABRT on Darwin to SIGABRT.
+
+2011-09-19 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting.
+
+2011-09-19 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * freeze.adb (Build_Renamed_Body): Generic subprograms
+ instantiations cannot be poperly inlined by the compiler, do
+ not set the Body_To_Inline attribute in such cases.
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): Inherit all
+ inlining-related flags from the generic subprogram declaration.
+
+2011-09-19 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb, rtsfind.ads, sem_util.adb, sem_util.ads
+ (Build_Stub_Type): Remove, instead copy components from
+ System.Partition_Interface.RACW_Stub_Type.
+ (RPC_Receiver_Decl): Remainder of code from old Build_Stub_Type routine.
+ (Copy_Component_List): New subprogram.
+
+2011-09-19 Yannick Moy <moy@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): Ignore references to
+ constants in Standard.
+
+2011-09-19 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads, errout.ads: Minor reformatting.
+
+2011-09-19 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads (Impl_Defined_Aspects): New array
+ * lib-writ.adb (No_Dependences): New name for No_Dependence
+ * restrict.adb (No_Dependences): New name for No_Dependence
+ (Check_Restriction_No_Specification_Of_Aspect): New
+ procedure.
+ (Set_Restriction_No_Specification_Of_Aspect): New procedure
+ (Restricted_Profile_Result): New variable
+ (No_Specification_Of_Aspects): New variable
+ (No_Specification_Of_Aspect_Warning): New variable
+ * restrict.ads (No_Dependences): New name for No_Dependence
+ (Check_Restriction_No_Specification_Of_Aspect): New procedure
+ (Set_Restriction_No_Specification_Of_Aspect): New procedure
+ * s-rident.ads: Add restriction
+ No_Implementation_Aspect_Specifications, this is also added to
+ the No_Implementation_Extensions profile.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Check
+ No_Implementation_Defined_Aspects
+ (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
+ * sem_prag.adb (Analyze_Aspect_Specifications): Check
+ No_Implementation_Aspects
+ (Analyze_Aspect_Specifications): Check No_Specification_Of_Aspect
+ * snames.ads-tmpl (Name_No_Specification_Of_Aspect): New name
+
+2011-09-19 Yannick Moy <moy@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): Take into account multiple
+ renamings for Alfa refs.
+
+2011-09-19 Thomas Quinot <quinot@adacore.com>
+
+ * g-socthi-mingw.adb: Minor reformatting.
+
+2011-09-19 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Set tagged type
+ expansion to False in mode Alfa
+
+2011-09-19 Pascal Obry <obry@adacore.com>
+
+ * mingw32.h: Remove obsolete code needed for old versions
+ of MingW.
+
+2011-09-19 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Minor reformatting.
+
+2011-09-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): When the expression
+ function is transformed into a declaration and a body, insert
+ body at the end of the declarative part, to prevent premature
+ freeze actions, and preserve original specification in the
+ subprogram declaration.
+
+2011-09-19 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Minor editing.
+
+2011-09-19 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, lib-writ.ads, s-restri.ads, sem_ch6.adb,
+ exp_aggr.adb: Minor reformatting.
+
+2011-09-19 Yannick Moy <moy@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): Change entity referenced
+ to underlying object if any, or else reference to the HEAP.
+
+2011-09-15 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-09-15 Robert Dewar <dewar@adacore.com>
+
+ * tree_io.ads: Minor reformatting.
+ * a-intnam.ads: Fix bad header.
+
+2011-09-15 Thomas Quinot <quinot@adacore.com>
+
+ * a-exexpr-gcc.adb: Minor reformatting.
+
+2011-09-15 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb: Propagate information that an expression function comes
+ from source (otherwise references to this entity are not stored).
+
+2011-09-15 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.adb, a-coinve.adb, a-stzunb-shared.ads, a-suezst.adb,
+ a-suenco.adb, a-stwiun-shared.ads, a-cobove.adb, a-convec.adb,
+ a-btgbso.adb, a-cbdlli.adb, a-suewst.adb: Minor reformatting.
+
+2011-09-15 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): Code cleanup:
+ if the expression function is not a completion, create a
+ new specification for the generated declaration, and keep the
+ original specification in the generated body. Shorter code also
+ ensures that proper warnings are generated for unused formals
+ in all cases.
+
+2011-09-15 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads: Update ASIS_Version_Number because of the changes
+ in the tree structures for expression functions.
+
+2011-09-15 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-aix.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads,
+ s-osinte-hpux.ads, s-osinte-lynxos.ads, s-osinte-solaris-posix.ads,
+ s-taprop-posix.adb (CLOCK_MONOTONIC): New constant.
+ (CLOCK_REALTIME): Fix wrong value on some OSes.
+ * s-taprop-posix.adb (Monotonic_Clock): Use CLOCK_MONOTONIC.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (maybe_unconstrained_array): In the reference
+ to unconstrained array case, deal with each branch of a COND_EXPR.
+ * gcc-interface/utils2.c (build_allocator): Deal with each branch of
+ a COND_EXPR in the initializer, if present.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (maybe_pad_type): Do not try to change the form
+ of an addressable type.
+ * gcc-interface/trans.c (gnat_gimplify_expr) <VIEW_CONVERT_EXPR>: New.
+ Deal with those cases for which creating a temporary is mandatory.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Use local variable. Make sure
+ this is a real formal parameter before testing whether it is by ref.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_call_0_expr): Delete.
+ (build_call_1_expr): Likewise.
+ (build_call_2_expr): Likewise.
+ (build_call_n_expr): New prototype.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use build_call_n_expr.
+ * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Ditto.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (Exception_Handler_to_gnu_zcx): Likewise.
+ (gnat_to_gnu): Likewise.
+ (build_binary_op_trapv): Likewise.
+ * gcc-interface/utils2.c (build_call_0_expr): Delete.
+ (build_call_1_expr): Likewise.
+ (build_call_2_expr): Likewise.
+ (build_call_n_expr): New function.
+ (build_call_raise): Use build_call_n_expr.
+ (build_call_raise_range): Likewise.
+ (build_call_raise_column): Likewise.
+ (build_call_alloc_dealloc_proc): Likewise.
+ (maybe_wrap_malloc): Likewise.
+ (maybe_wrap_free): Likewise.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (build_return_expr): Use void_type_node for
+ MODIFY_EXPR.
+ * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Assert that
+ the result type is null if ENABLE_CHECKING. Set operation_type at the
+ end unconditionally if not set in the previous cases.
+ Use build2 and void_type_node for MODIFY_EXPR.
+ (build_allocator): Use NULL_TREE for MODIFY_EXPR.
+
+2011-09-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (unchecked_convert): Use a field of the right
+ precision when converting to or from an integral type whose precision
+ is not equal to its size.
+
+2011-09-08 Iain Sandoe <iains@gcc.gnu.org>
+
+ * traceback.c (Darwin) USE_GCC_UNWINDER for Darwin versions >= 8.
+
+2011-09-07 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (darwin): Provide powerpc64 system
+ implementation.
+ * system-darwin-ppc64.ads: New file.
+
+2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (gnatlib-shared-darwin): Remove
+ reference to "-lm".
+
+2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (darwin, SO_OPTS): Provide architecture
+ size switches to the link phase for shared libs.
+
+2011-09-06 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc-interface/Makefile.in (x86_64 darwin arch): Adjust
+ LIBGNAT_TARGET_PAIRS for x86 and x86_64 variants.
+
+2011-09-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in
+ (gnattools, regnattools, cross-gnattools, canadian-gnattools,
+ gnatlib, gnatlib-sjlj, gnatlib-zcx, gnatlib-shared, gnatlib_and_tools):
+ New targets.
+ (TOOLS_FLAGS_TO_PASS): New.
+ (../stamp-tools): Reintroduce, to avoid merge conflicts.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.adb, impunit.ads, impunit.adb (Not_Impl_Defined_Unit): New
+ name for Is_RM_Defined_Unit. Also several fixes to this unit.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * impunit.ads, impunit.adb (Is_RM_Defined_Unit): New function.
+ * s-rident.ads: New restriction No_Implementation_Units
+ (this restriction is also part of the profile
+ No_Implementation_Extensions)
+ * sem_ch10.adb (Analyze_With_Clause): Add check for
+ No_Implementation_Units restriction.
+
+2011-09-06 Jerome Guitton <guitton@adacore.com>
+
+ * sysdep.c (__gnat_get_task_options): Disable VX_SPE_TASK
+ on vThreads.
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-solita.adb: Minor reformatting.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): The body that
+ is a rewriting of an expression function does not freeze previous
+ entities.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb (Is_Known_Unit): Fix bad handling of Ada 2012 case
+
+2011-09-06 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/Makefile.in: Handle e500v2-wrs-vxworksae like
+ powerpc-wrs-vxworksae.
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-os_lib.ads (Spawn): Minor documentation clarification,
+ Success is True for a zero exit status.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Add message for common iterator error.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Initialization_Call): If the target is a
+ selected component discriminated by a current instance, replace
+ the constraint with a reference to the target object, regardless
+ of whether the context is an init_proc.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb: Descriptor_Size is never static.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for LSLOC metric in gnatmetric
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gnat_rm.texi: Clarify that attribute Descriptor_Size is
+ non-static.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve): An expression that is the body of an
+ expression function does not freeze.
+
+2011-09-06 Matthew Heaney <heaney@adacore.com>
+
+ * a-csquin.ads, a-cusyqu.adb, a-cbprqu.adb, a-cbsyqu.adb,
+ a-cuprqu.adb: Changed copyright notice to indicate current
+ year only.
+
+2011-09-06 Vincent Celier <celier@adacore.com>
+
+ * prj.adb: Minor spelling error fix in comment
+ * sem_res.adb: Minor reformatting
+
+2011-09-06 Pascal Obry <obry@adacore.com>
+
+ * sysdep.c (winflush_nt): Removed as not needed anymore.
+ (winflush_95): Likewise.
+ (winflush_init): Likewise.
+ (winflush_function): Likewise.
+ (getc_immediate_common): Remove call to winflush_function.
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Rewrite the
+ processing for Descriptor_Size.
+ * gnat_rm.texi: Rephrase the wording for attribute Descriptor_Size
+ to account for its broader usage.
+ * sem_attr.adb (Analyze_Attribute): Change the error detection
+ circuitry for Descriptor_Size as the attribute is now applicable
+ to all types.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb, prj-nmsc.adb, exp_aggr.adb: Minor reformatting.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (OK_To_Set_Referenced): A reference to a formal
+ in a parameter association must not set the Referenced flag on
+ the formal.
+ * prj-nmsc.adb (Check_File_Naming_Schemes): Remove useless formal
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gnat_rm.texi: Add a section on attribute Descriptor_Size
+
+2011-09-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (common-tools, gnatmake-re,
+ gnatlink-re): Speed up by using -j0.
+
+2011-09-06 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Call
+ Set_Corresponding_Aspect when creating pragma from aspect.
+ (Add_Predicates): Use new field Corresponding_Aspect.
+ * sem_prag.adb (Analyze_Pragma): Make Pname hold source aspect
+ name when present, for the purpose of issuing error messages;
+ remove local procedure Error_Pragma_Arg_Alternate_Name.
+ * sinfo.adb, sinfo.ads (Corresponding_Aspect): New field in
+ N_Pragma node.
+ (From_Dynamic_Predicate, From_Static_Predicate): Remove fields from
+ N_Pragma node.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, s-except.ads, g-socket.adb: Minor reformatting.
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Build_Heap_Allocator): Add new
+ local variable Desig_Typ. Code and comment reformatting. Add
+ machinery to ensure that the allocation uses a fat pointer when
+ the type of the return object is a constrained array and the
+ function return type is an unconstrained array.
+
+2011-09-06 Vincent Celier <celier@adacore.com>
+
+ * make.adb, prj-part.adb, prj-nmsc.adb: Remove unused formal
+ parameters in subprograms.
+
+2011-09-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-mingw.adb (Finalize_TCB): Fix typo.
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-taprop-vxworks.adb, s-tpoaal.adb, s-tpopsp-vxworks.adb
+ (System.Tasking.Primitive_Operations.Specific.Delete): Remove
+ subprogram.
+ (System.Tasking.Primitive_Operations.Specific.Set): If argument
+ is null, destroy task specific data, to make API consistent with
+ other platforms, and thus compatible with the shared version
+ of s-tpoaal.adb.
+ (System.Tasking.Primitive_Operations.ATCB_Allocation.Free_ATCB):
+ Document the above assumption.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Fix use of uninitialized
+ variable for type of return value when return type is
+ unconstrained and context is an assignment.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Check_Class_Wide_Actual): Do not generate body of
+ class-wide operation if expansion is not enabled.
+
+2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Apply_Scalar_Range_Check): Deal with access
+ type prefix.
+
+2011-09-06 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications, case
+ Aspect_Invariant): Do not issue error at this point on illegal
+ pragma placement, as this is checked later on when analyzing
+ the corresponding pragma.
+ * sem_prag.adb (Error_Pragma_Arg_Alternate_Name): New procedure
+ similar to Error_Pragma_Arg, except the source name of the
+ aspect/pragma to use in warnings may be equal to parameter
+ Alt_Name (Analyze_Pragma, case Pragma_Invariant): refine error
+ message to distinguish source name of pragma/aspect, and whether
+ the illegality resides in the type being public, or being private
+ without a public declaration
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Check_For_Fd_Set): On Windows, no need for bitmap
+ size check (fd_set is implemented differently on that platform).
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb,
+ s-tpoaal.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
+ s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop.ads,
+ s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-posix.adb
+ (ATCB_Allocation): New subpackage of
+ System.Tasking.Primitive_Operations, shared across all targets
+ with full tasking runtime.
+ (ATCB_Allocation.New_ATCB): Moved there (from target specific
+ s-taprop bodies).
+ (ATCB_Allocation.Free_ATCB): New subprogram. Deallocate an ATCB,
+ taking care of establishing a local temporary ATCB if the one
+ being deallocated is Self, to avoid a reference to the freed
+ ATCB in Abort_Undefer.
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-tassta.adb, s-taskin.ads (Free_Task): If the task is not
+ terminated, mark it for deallocation upon termination.
+ (Terminate_Task): Call Free_Task again if the task is marked
+ for automatic deallocation upon termination.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * a-cbprqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cusyqu.ads,
+ a-intnam-aix.ads, a-intnam-darwin.ads, a-intnam-dummy.ads,
+ a-intnam-freebsd.ads, a-intnam-hpux.ads, a-intnam-irix.ads,
+ a-intnam-linux.ads, a-intnam-lynxos.ads, a-intnam-mingw.ads,
+ a-intnam-solaris.ads, a-intnam-tru64.ads,
+ a-intnam-vms.ads, a-intnam-vxworks.ads, a-intnam.ads, interfac.ads,
+ cstand.adb, s-maccod.ads: Mark all entities as Implementation_Defined
+ * einfo.ads, einfo.adb (Is_Implementation_Defined): New flag
+ * par-prag.adb: Add dummy entry for pragma Implementation_Defined
+ * s-rident.ads: Add new restriction No_Implementation_Identifiers
+ Add new profile No_Implementation_Extensions
+ * sem_prag.adb: Implement pragma Implementation_Defined Implement
+ profile No_Implementation_Extensions
+ * sem_util.adb: Minor reformatting (Set_Entity_With_Style_Check):
+ Check violation of restriction No_Implementation_Identifiers
+ * snames.ads-tmpl: Add entries for pragma Implementation_Defined
+ Add entry for Name_No_Implementation_Extensions
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * impunit.ads: Minor reformatting.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb, sem_ch13.adb, lib-xref.adb: Minor reformatting.
+
+2011-09-06 Pascal Obry <obry@adacore.com>
+
+ * s-osinte-linux.ads, s-oscons-tmplt.c: Use oscons to define sigset_t
+ types.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * g-socket.adb: Minor reformatting
+
+2011-09-06 Javier Miranda <miranda@adacore.com>
+
+ * ali.adb (Scan_ALI): Add missing support to load references of
+ entities imported from other languages.
+ * ali.ads (Xref_Record): Adding new fields to store the language and
+ name of an imported entity.
+ * lib-xref.adb (Output_Import_Export_Info): Fix typo
+ in comment.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant
+ is allowed on a full type declaration if it is the completion of
+ a private declarations.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant
+ aspect is allowed on a full type declaration in the private part
+ of a package.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.ads: Minor reformatting
+
+2011-09-06 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, g-socket.adb (GNAT.Sockets.Clear,Set,Is_Set):
+ Guard against socket values that are not in [0;FD_SETSIZE[
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * s-osinte-linux.ads, a-iteint.ads, exp_ch6.adb, s-solita.adb: Minor
+ reformatting.
+
+2011-09-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-linux-alpha.ads: Minor reformatting
+ * s-oscons-tmplt.c: Fix generated comments in s-oscons template.
+ Use sizeof instead of corresponding C defines in s-oscons template.
+
+2011-09-06 Vadim Godunko <godunko@adacore.com>
+
+ * a-convec.ads, a-iteint.ads: Minor reformatting.
+
+2011-09-06 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add menus and @node lines.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Handle properly the case
+ where the return type is an unconstrained array and the context
+ is an assignment. Optimize the case when the target of the
+ assignment is a selected component.
+
+2011-09-06 Arnaud Charlet <charlet@adacore.com>
+
+ * s-solita.adb: Update comments.
+
+2011-09-06 Pascal Obry <obry@adacore.com>
+
+ * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, s-linux-mipsel.ads,
+ s-linux-sparc.ads: Remove hard coded and now wrong definitions.
+ * s-oscons-tmplt.c: Add support for generating pthread related
+ types size on GNU/Linux as done for Darwin.
+ * s-osinte-linux.ads: Use s-oscons to define the pthread types.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Fix minor typo.
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb: Remove with and use clauses for Get_Targ.
+ (Alignment_Of): Moved to the body of Nearest_Multiple_Rounded_Up.
+ (Double_Size_Of): Alphabetized. Update the comment on usage.
+ (Make_Finalize_Address_Stmts): Update comments and reformat code.
+ (Nearest_Multiple_Rounded_Up): New routine.
+ (Size_Of): Update comment on usage. The generated expression now
+ accounts for alignment gaps by rounding the size of the type to the
+ nearest multiple rounded up of the type's alignment.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, g-comlin.adb: Minor reformatting.
+
+2011-09-06 Steve Baird <baird@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Look through
+ derived subprograms in checking for presence of an
+ Extra_Accessibility_Of_Result formal parameter.
+ * exp_ch6.adb (Expand_Call): Look through derived subprograms in
+ checking for presence of an Extra_Accessibility_Of_Result formal
+ parameter.
+ (Expand_Call.Add_Actual_Parameter): Fix a bug in the
+ case where the Parameter_Associatiations attribute is already set,
+ but set to an empty list.
+ (Needs_Result_Accessibility_Level):
+ Unconditionally return False. This is a temporary
+ change, disabling the Extra_Accessibility_Of_Result
+ mechanism.
+ (Expand_Simple_Function_Return): Check for
+ Extra_Accessibility_Of_Result parameter's presence instead of
+ testing Ada_Version when generating a runtime accessibility
+ check which makes use of the parameter.
+
+2011-09-06 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): Actions created for the
+ expression in a given case alternative must be attached to the
+ statement list of the ccrresponding case statement alternative
+ They cannot be propagated ahead of the case statement, because
+ the validity of the expression that generated the action may
+ hold only for that alternative.
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb: Remove with and use clauses for Get_Targ.
+ (Alignment_Of): Remove the code for strict alignment targets.
+ (Double_Alignment_Of): Removed.
+ (Double_Size_Of): New routine.
+ (Make_Finalize_Address_Stmts): Change the
+ calculation of the dope's size. Update relevant comments.
+ (Size_Of): New routine.
+
+2011-09-06 Steve Baird <baird@adacore.com>
+
+ * einfo.ads (Extra_Accessibility): Update associated comment to use
+ the term "present" correctly ("present" just means that it is not
+ an error to query the value of the attribute - it does not imply
+ that the value must be non-null).
+ (Extra_Constrained): Ditto.
+ (Is_Visible_Formal): Ditto.
+ (Extra_Accessibility_Of_Result) Ditto; also add Inline pragma.
+ (Set_Extra_Accessibility_Of_Result): Add Inline pragma.
+ * exp_ch4.adb (Expand_Allocator_Expression): Improve a comment.
+ * exp_ch6.adb (Expand_Call): The callee may require an
+ Extra_Accessibility_Of_Result actual parameter even if Ada_Version
+ < Ada_2012. This can occur if the callee is exported from a Gnat
+ runtimes unit. Also improve a comment.
+
+2011-09-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb: Add with and use clauses for Get_Targ.
+ (Alignment_Of): Rename formal parameter Some_Typ
+ to Typ, update related comment. Use the allocator alignment on
+ strict alignment targets such as SPARC.
+ (Double_Alignment_Of): Rename formal parameter Some_Typ to Typ, update
+ related comment.
+
+2011-09-06 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch9.adb (Check_Interfaces): Test
+ Is_Limited_Type rather than Is_Limited_Record when checking that
+ the partial view of a synchronized full view must be limited.
+
+2011-09-06 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Free): Fix memory leak.
+
+2011-09-06 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb, exp_ch6.adb: Minor reformatting and code reorganization.
+
+2011-09-06 Steve Baird <baird@adacore.com>
+
+ * einfo.ads (Extra_Accessibility_Of_Result): New function; in the
+ (Ada2012) cases described in AI05-0234 where the accessibility
+ level of a function result is "determined by the point of
+ call", an implicit parameter representing that accessibility
+ level is passed in. Extra_Accessibilty_Of_Result yields this
+ additional formal parameter. Extra_Accessibility_Of_Result
+ is analogous to the existing Extra_Accessibility
+ function used in the implementation of access parameters.
+ (Set_Extra_Accessibility_Of_Result): New procedure; sets
+ Extra_Accessibility_Of_Result attribute.
+ * einfo.adb (Extra_Accessibility_Of_Result): New function.
+ (Set_Extra_Accessibility_Of_Result): New procedure.
+ (Write_Field19_Name): Display Extra_Accessibilty_Of_Result attribute.
+ * sem_util.adb (Dynamic_Accessibility_Level): Set Etype of
+ an accessibility level literal to Natural; introduce a nested
+ function, Make_Level_Literal, to do this.
+ * exp_ch6.ads (Needs_Result_Accessibility_Level): New function;
+ determines whether a given function (or access-to-function
+ type) needs to have an implicitly-declared accessibility-level
+ parameter added to its profile.
+ (Add_Extra_Actual_To_Call): Export an existing procedure which was
+ previously declared in the body of Exp_Ch6.
+ * exp_ch6.adb (Add_Extra_Actual_To_Call): Export declaration by moving
+ it to exp_ch6.ads.
+ (Has_Unconstrained_Access_Discriminants): New Function; a
+ predicate on subtype entities which returns True if the given
+ subtype is unconstrained and has one or more access discriminants.
+ (Expand_Call): When expanding a call to a function which takes an
+ Extra_Accessibility_Of_Result parameter, pass in the appropriate
+ actual parameter value. In the case of a function call which is
+ used to initialize an allocator, this may not be possible because
+ the Etype of the allocator may not have been set yet. In this
+ case, we defer passing in the parameter and handle it later in
+ Expand_Allocator_Expression.
+ (Expand_Simple_Function_Return): When returning from a function which
+ returns an unconstrained subtype having at least one access
+ discriminant, generate the accessibility check needed to ensure that
+ the function result will not outlive any objects designated by its
+ discriminants.
+ (Needs_Result_Accessibility_Level): New function; see exp_ch6.ads
+ description.
+ * exp_ch4.adb (Expand_Allocator_Expression): When a function call
+ is used to initialize an allocator, we may need to pass in "the
+ accessibility level determined by the point of call" (AI05-0234)
+ to the function. Expand_Call, where such actual parameters are
+ usually generated, is too early in this case because the Etype of
+ the allocator (which is used in determining the level to be passed
+ in) may not have been set yet when Expand_Call executes. Instead,
+ we generate code to pass in the appropriate actual parameter
+ in Expand_Allocator_Expression.
+ * sem_ch6.adb (Create_Extra_Formals): Create
+ the new Extra_Accessibility_Of_Result formal if
+ Needs_Result_Accessibility_Level returns True. This includes the
+ introduction of a nested procedure, Check_Against_Result_Level.
+
+2011-09-06 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in (X86_TARGET_PAIRS): Remove duplicate
+ declaration.
+
+2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finmas.adb (Set_Finalize_Address): Explain the reason
+ for the synchronization. Move the test for null from
+ s-stposu.Allocate_Any_Controlled to this routine since the check
+ needs to be protected too.
+ (Set_Heterogeneous_Finalize_Address): Explain the reason for the
+ synchronization code.
+ * s-finmas.ads (Set_Heterogeneous_Finalize_Address): Add comment
+ explaining the context in which this routine is used.
+ * s-stposu.adb (Allocate_Any_Controlled): Move the test for null
+ to s-finmas.Set_Finalize_Address.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads: Document that itypes have no parent field.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.adb (Check_CRT): Check for overloaded entity
+ * rtsfind.ads: Document that entities to be found by rtsfind
+ cannot be overloaded
+ * s-taenca.adb, s-tasren.adb, s-tpobop.adb, s-tpoben.ads, s-tpoben.adb
+ (Lock_Entries_With_Status): New name for Lock_Entries with two
+ arguments (changed to meet rtsfind no overloading rule).
+
+2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finmas.adb (Set_Finalize_Address (Address,
+ Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
+ (Set_Finalize_Address (in out Finalization_Master,
+ Finalize_Address_Ptr): Add synchronization code.
+ * s-finmas.ads (Set_Finalize_Address (Address,
+ Finalize_Address_Ptr)): Renamed to Set_Heterogeneous_Finalize_Address.
+ * s-stposu.adb (Allocate_Any_Controlled): Update the call to
+ Set_Finalize_Address for the heterogeneous case.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Undo previous change, not suitable after all.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor comment clarification.
+
+2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Move_Activation_Chain): Rewritten. The routine
+ no longer needs to search through the entities of the return
+ statement scope to find the _chain.
+ * sem_ch5.adb: Add with and use clauses for Exp_Ch6 and Sem_Ch6.
+ (Analyze_Block_Statement): Add local variable
+ Is_BIP_Return_Statement. Add machinery to install all entities
+ produced by the expansion of the return object declaration.
+ (Install_Return_Entities): New routine.
+ * sem_ch6.ads, sem_ch6.adb (Install_Entity): Moved from body to spec.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Context): Apply simple fixup if context
+ of subunit is incomplete.
+ (Analyze_Proper_Body): If parent spec is not available, do not
+ attempt analysis.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Find_Controlling_Arg): Add checks for
+ interface type conversions, that are expanded into dereferences.
+
+2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper):
+ Examine the parameter and return profile of a subprogram and swap
+ any incomplete types coming from a limited context with their
+ corresponding non-limited views.
+ (Exchange_Limited_Views): New routine.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Prepare_Private_Subtype_Completion): Set parent
+ of internal entity to the subtype declaration, so that when
+ entities are subsequently exchanged in a package body, the tree
+ remains properly formatted for ASIS.
+
+2011-09-05 Johannes Kanig <kanig@adacore.com>
+
+ * g-comlin.adb (Set_Usage): Additional optional argument to set help
+ message.
+ (Display_Help): display the user given help message, if available.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (OK_For_Limited_Init_In_05): The expression
+ is legal if the original node is an identifier that is a
+ parameterless function call.
+
+2011-09-05 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting.
+ Add support for standalone aggregate library.
+ (Check_Stand_Alone_Library): Handle standalone aggregate library.
+ * projects.texi: Fix documentation for aggregate library projects.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor reformatting.
+
+2011-09-05 Matthew Gingell <gingell@adacore.com>
+
+ * s-tassta.adb (Task_Wrapper): Ensure that we don't try to write the
+ stack guard page on PPC Linux. This patch ensures the 64K guard page at
+ the bottom of the stack is not overwritten.
+
+2011-09-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_intr.adb, s-tasini.adb: Minor reformatting.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): If an access type declaration
+ appears in a child unit, the scope of whatever anonymous type
+ may be generated is the child unit itself.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): Do not set
+ Comes_From_Source on rewritten body.
+ (Analyze_Subprogram_Body_Helper): Check that the original node for
+ the body comes from source, when determining whether expansion
+ of a protected operation is needed.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Replace_Type): If the target of the assignment is
+ a selected component and the right-hand side is a self-referential
+ access, the proper prefix of the rewritten attribute is a copy
+ of the left-hand side, not of its prefix.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+ * sem_ch3.adb: Minor code clean up.
+
+2011-09-05 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_ch9.adb (Make_Initialize_Protection): The fact that
+ restriction No_Dynamic_Attachment is in effect or not should
+ not influence the default priority associated to a protected
+ object. With this change, when the restriction is in effect (as
+ is the case for the Ravenscar profile) the default priority of
+ a protected object with an interrupt handler is in the range of
+ interrupt priorities (Default_Interrupt_Priority) as required
+ by D.3(10).
+
+2011-09-05 Arnaud Charlet <charlet@adacore.com>
+
+ * a-iteint.ads: Fix header.
+
+2011-09-05 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Do_Autoconf): Make sure Obj_Dir always ends
+ with a directory separator to avoid output such as:
+ "/path/to/objauto.cgpr" has been deleted.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Better error message.
+
+2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_aggr.adb: Add with and use clause for Exp_Ch6.
+ (Expand_Array_Aggregate): Detect a special case of an aggregate
+ which contains tasks in the context of an unexpanded return
+ statement of a build-in-place function.
+ * exp_ch6.adb: Add with and use clause for Exp_Aggr.
+ (Expand_N_Extended_Return_Statement): Detect a delayed aggregate
+ which contains tasks and expand it now that the original simple
+ return statement has been rewritten.
+ * exp_ch9.adb (Build_Activation_Chain_Entity): Code
+ reformatting. Do not create a chain for an extended return
+ statement if one is already available.
+ (Has_Activation_Chain): New routine.
+
+2011-09-05 Marc Sango <sango@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Remove
+ the wrong test and add the correct test to detect the violation
+ of illegal use of unconstrained string type in SPARK mode.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Specification): Improve error
+ message on an iterator over an array.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref-alfa.adb: Minor reformatting.
+
+2011-09-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_res.adb, par.adb, par-ch6.adb, g-comlin.adb,
+ exp_ch6.adb, lib-xref-alfa.adb: Minor reformatting.
+
+2011-09-05 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch7.adb, exp_ch6.adb: Minor reformatting.
+
+2011-09-05 Johannes Kanig <kanig@adacore.com>
+
+ * lib-xref-alfa.adb: Update comments.
+
+2011-09-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Build_In_Place_Formal): If extra formals are not
+ present, create them now. Needed in case the return type was
+ a limited view in the function declaration.
+ (Make_Build_In_Place_Call_In_Allocator): If return type contains
+ tasks, build the activation chain for it. Pass a reference to
+ the Master_Id in call to Add_Task_Actuals_To_Build_In_Place call.
+ * exp_ch7.adb (Make_Set_Finalize_Address_Call): Clean up interface
+ with build_in_place calls.
+ * sem_ch9.adb (Analyze_Task_Type_Declaration): If partial view was
+ incomplete, inatialize its Corresponding_Record_Type component.
+ * sem_ch10.adb (Build_Chain): Initialize Private_Dependents field
+ of limited views.
+
+2011-09-05 Johannes Kanig <kanig@adacore.com>
+
+ * lib-xref-alfa.adb (Is_Alfa_Reference): Filter constants from effect
+ information.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb (P_Subprogram): In Ada2012 mode, if the subprogram
+ appears within a package specification and the token after "IS"
+ is not a parenthesis, assume that this is an unparenthesized
+ expression function, even if the token appears in a line by
+ itself.
+ * par.adb: Clarify use of Labl field of scope stack in error
+ recovery.
+
+2011-09-05 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): Use unchecked
+ conversions instead of normal type conversions in all cases where a
+ type conversion would be illegal. In particular, use unchecked
+ conversions when the operand types are private.
+
+2011-09-05 Johannes Kanig <kanig@adacore.com>
+
+ * lib-xref-alfa.adb (Is_Alfa_Reference): Never declare effects on
+ objects of task type or protected type.
+
+2011-09-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Expression_Function): If the expression
+ function comes from source, indicate that so does its rewriting,
+ so it is compatible with any subsequent expansion of the
+ subprogram body (e.g. when it is a protected operation).
+ * sem_ch4.adb: minor reformatting
+
+2011-09-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * lib.adb (Check_Same_Extended_Unit): Comment rewriting. Use
+ Get_Source_Unit rather than Get_Code_Unit as instantiation unfolding
+ may lead to wrong ancestor package in the case of instantiated subunit
+ bodies. If a subunit is instantiated, follow the chain of instantiations
+ rather than the stub structure.
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb, sem_ch6.adb: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-09-02 Marc Sango <sango@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Change
+ comment and add additional check to differentiate constant of
+ type string from others unconstrained type.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb: New semantic attribute Premature_Use,
+ present in incomplete type declarations to refine the error
+ message the full declaration is in the same unit.
+ * sem_ch4.adb (Analyze_Selected_Component): If the prefix is of
+ an incomplete type, set the Premature_Use for additional message.
+ * sem_ch3.adb (Find_Type_Name): If partial view is incomplete
+ and Premature_Use is set, place additional information at the
+ point of premature use.
+
+2011-09-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb: (Check_Post_State): Suppress warning
+ "postcondition refers only to pre-state" when the expression has not
+ yet been analyzed, because it causes false alarms. This can happen when
+ the postcondition contains a quantified expression, because those are
+ analyzed later. This is a temporary/partial fix.
+ (Process_Post_Conditions): Minor: change wording of warning.
+
+2011-09-02 Marc Sango <sango@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): Detect the violation of
+ illegal use of unconstrained string type in SPARK mode.
+ * sem_res.adb (Analyze_Operator_Symbol): Set the
+ right place where the string operand of concatenation should be
+ violate in SPARK mode.
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_util.adb, sem_ch6.adb, prj-nmsc.adb,
+ exp_ch3.adb: Minor reformatting.
+
+2011-09-02 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Add_Default_GNAT_Naming_Scheme): Declare "gcc"
+ as the compiler driver so Is_Compilable returns True for sources.
+ * prj-nmsc.adb (Override_Kind): When Kind is Sep, set the source
+ for the body.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): for a class-wide
+ condition, a reference to a controlling formal must be interpreted
+ as having the class-wide type (or an access to such) so that the
+ inherited condition can be properly applied to any overriding
+ operation (see ARM12 6.6.1 (7)).
+
+2011-09-02 Tristan Gingold <gingold@adacore.com>
+
+ * init.c (__gnat_is_vms_v7): Fix case and add prototype
+ for LIB$GETSYI.
+
+2011-09-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Do not copy the
+ initializing expression of a class-wide interface object declaration
+ if its type is limited.
+
+2011-09-02 Johannes Kanig <kanig@adacore.com>
+
+ * sem_util.adb (Unique_Name): To obtain a unique name for enumeration
+ literals, take into account the type name; the type is *not*
+ the scope for an enumeration literal.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Overriding_Indicator): add special check
+ to reject an overriding indicator on a user-defined Adjust
+ subprogram for a limited controlled type.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): add missing call to Resolve
+ for an actual that is a function call returning an unconstrained
+ limited controlled type.
+
+2011-09-02 Tristan Gingold <gingold@adacore.com>
+
+ * g-socthi-vms.adb (c_sendmsg, c_recvmsg): Use unpacked msg if on vms 7
+
+2011-09-02 Johannes Kanig <kanig@adacore.com>
+
+ * alfa.ads (Name_Of_Heap_Variable): Change value of the HEAP variable
+ from "HEAP" to __HEAP Change comment that refers to that variable
+ * put_alfa.adb: Change comment that refers to that variable
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, exp_ch6.adb, prj-nmsc.adb: Minor reformatting.
+
+2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Extract_Renamed_Object): Renamed to
+ Find_Renamed_Object. This routine has been reimplemented and now uses
+ tree traversal to locate a renamed object.
+ (Is_Aliased): Replace call to Extract_Renamed_Object with
+ Find_Renamed_Object.
+
+2011-09-02 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: (__gnat_is_vms_v7): New function.
+
+2011-09-02 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c (STOP_FRAME, ppc elf/vxworks case): Stop on frames
+ that have a misaligned backchain, necessarily bogus.
+
+2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not create
+ TSS routine Finalize_Address when compiling in Alfa mode.
+ (Expand_Freeze_Record_Type): Do not create TSS routine
+ Finalize_Address when compiling in Alfa mode.
+ * exp_ch4.adb (Expand_Allocator_Expression): Do not produce a
+ call to Set_Finalize_Address in Alfa mode because Finalize_Address is
+ not built.
+ (Expand_N_Allocator): Do not produce a call to
+ Set_Finalize_Address in Alfa mode because Finalize_Address is not built.
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not
+ produce a call to primitive Set_Finalize_Address in Alfa mode because
+ Finalize_Address is not built.
+ * exp_ch7.adb (Build_Finalization_Master): Do not create
+ finalization masters in Afa mode since they are not needed.
+ (Build_Finalizer): Do not create scope and library-level
+ finalizers in Alfa mode since they are not needed.
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): Do not expand
+ "new" and "free" when applied to controlled objects in Alfa mode since
+ this is not needed.
+
+2011-09-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.db: (Check_Stand_Alone_Library): For SALs, allow
+ only library names with the syntax of Ada identifiers, to avoid errors
+ when compiling the binder generated files.
+ * projects.texi: Document restriction on SAL library names
+
+2011-09-02 Thomas Quinot <quinot@adacore.com>
+
+ * a-chtgbo.adb: Minor comment fix.
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb: Minor reformatting
+
+2011-09-02 Vincent Celier <celier@adacore.com>
+
+ * bindusg.adb, clean.adb, gnatchop.adb, gnatfind.adb, gnatlink.adb,
+ gnatls.adb, gnatname.adb, gnatxref.adb, gprep.adb, makeusg.adb: Add
+ --version and --help in usage.
+ * switch.ads, switch.adb (Display_Usage_Version_And_Help): New procedure
+
+2011-09-02 Bob Duff <duff@adacore.com>
+
+ * lib-xref.adb: (Hash): Avoid use of 'Mod attribute, because old
+ compilers don't understand it.
+
+2011-09-02 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Pass the
+ underlying subtype rather than its base type on the call to
+ Build_Record_Or_Elementary_Input_Function, so that any
+ constraints on a discriminated subtype will be available for
+ doing the check required by AI05-0192.
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
+ If the prefix subtype of the 'Input attribute is a constrained
+ discriminated subtype, then check each constrained discriminant value
+ against the corresponding value read from the stream.
+
+2011-09-02 Yannick Moy <moy@adacore.com>
+
+ * usage.adb, warnsw.adb, sem_ch6.adb, opt.ads: Disable by default
+ warnings on suspicious contracts, and enable them with -gnatwa.
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, exp_ch9.adb, sem_attr.adb, sem_ch6.adb: Minor
+ reformatting.
+
+2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch9.adb (Install_Private_Data_Declarations): Add guards
+ which ensure that restriction No_Dynamic_Attachment has not been
+ violated.
+ (Make_Initialize_Protection): Protected types with attach or
+ interrupt handlers must not violate restriction No_Dynamic_Attachment.
+ * exp_util.adb (Corresponding_Runtime_Package): Add a guard
+ which ensures that restriction No_Dynamic_Attachment has not been
+ violated.
+ * sem_attr.adb: (Eval_Attribute): Transform
+ VAX_Float_Type'First and 'Last into references to
+ the temporaries which store the corresponding bounds. The
+ transformation is needed since the back end cannot evaluate
+ 'First and 'Last on VAX.
+ (Is_VAX_Float): New routine.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Subprogram_Instantiation): If the
+ generic unit is not intrinsic and has an explicit convention,
+ the instance inherits it.
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * prj-dect.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, prj-tree.adb,
+ prj.adb, prj.ads, sem_ch5.adb: Minor reformatting.
+
+2011-09-02 Thomas Quinot <quinot@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case Unrestriced_Access):
+ Guard against a prefix that is an N_Has_Entity but has no
+ associated entity.
+
+2011-09-02 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Is_Alfa_Reference): Ignore IN parameters in Alfa
+ references.
+
+2011-09-02 Yannick Moy <moy@adacore.com>
+
+ * opt.ads (Warn_On_Suspicious_Contract): New warning flag.
+ * sem_ch3.adb (Analyze_Declarations): Call checker for suspicious
+ contracts.
+ * sem_ch6.adb, sem_ch6.ads (Check_Subprogram_Contract): New
+ procedure looking for suspicious postconditions.
+ * usage.adb (Usage): New options -gnatw.t and -gnatw.T.
+ * warnsw.adb (Set_Dot_Warning_Switch): Take into account new
+ options -gnatw.t and -gnatw.T.
+
+2011-09-02 Pascal Obry <obry@adacore.com>
+
+ * prj.adb: Minor code refactoring. Move check for null project in
+ Project_Changed.
+ * projects.texi: Fix minor typos.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): If the domain
+ of iteration is an expression, its value must be captured in a
+ renaming declaration, so that modification of the elements is
+ propagated to the original container.
+
+2011-09-02 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb, prj.adb, makeutl.adb, makeutl.ads, prj-dect.adb,
+ prj-nmsc.adb, prj-util.adb, prj-conf.adb, prj-env.adb,
+ prj-tree.adb: Minor reformatting and style fixes.
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * s-rident.ads: Add new restriction No_Implicit_Aliasing
+ * sem_attr.adb: (Analyze_Access_Attribute): Deal with
+ No_Implicit_Aliasing
+ (Analyze_Attribute, case Address): ditto
+ (Analyze_Attribute, case Unrestricted_Access): ditto
+ * sem_util.ads, sem_util.adb: (Is_Aliased_View): Handle
+ No_Implicit_Aliasing restriction.
+ * gnat_rm.texi: Add documentation for No_Implicit_Aliasing
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb: (Possible_Bit_Aligned_Object): If the object
+ is an unchecked conversion, apply test to its expression.
+
+2011-09-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Check_Abstract_Overriding): When
+ traversing the chain of aliased subprograms avoid reporting a
+ redundant error on the current entity.
+
+2011-09-02 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Minor clean up.
+
+2011-09-02 Bob Duff <duff@adacore.com>
+
+ * s-htable.adb (Set_If_Not_Present): Use renaming
+ instead of ":=", because the type Key is limited in the generic (even
+ if not in the instances).
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, sem_ch10.adb, sem_attr.adb, s-htable.adb,
+ g-comlin.adb, g-comlin.ads, lib-xref-alfa.adb, lib-xref.adb: Minor
+ reformatting.
+
+2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb: (Set_Anonymous_Type): Associate the itype of an
+ inherited component with the enclosing derived type. Code reformatting.
+
+2011-09-02 Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb: (Determine_Range): Add test of OK1 to prevent the early
+ return done when overflow checks are enabled, since comparisons against
+ Lor and Hir should not be done when OK1 is False.
+
+2011-09-02 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Add_Finalization_Master_Actual_To_Build_In_Place_Call):
+ Add new formal Master_Exp. When present, add that expression to the
+ call as an extra actual.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Add variable
+ Fmaster_Actual and in the case of a BIP call initializing a return
+ object of an enclosing BIP function set it to a
+ new reference to the implicit finalization master
+ formal of the enclosing function. Fmaster_Actual is
+ then passed to the new formal Master_Exp on the call to
+ Add_Finalization_Master_Actual_To_Build_ In_Place_Call. Move
+ initializations of Enclosing_Func to its declaration.
+
+2011-09-02 Thomas Quinot <quinot@adacore.com>
+
+ * csets.ads: Minor reformatting
+
+2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_aggr.adb: (Get_Constraint_Association): Add code to retrieve
+ the full view of a private type coming from an instantiation.
+ * exp_ch4.adb: (Current_Anonymous_Master): Reimplement the search
+ loop to iterate over the declarations rather than use the
+ First_Entity / Next_Entity scheme.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: (Analyze_Attribute, case 'Range): when expanding
+ X'range (N) into X'First (N) .. X'Last (N), do not share the
+ dimension indicator N, if present. Even though it is a static
+ constant, its source location may be modified when printing
+ expanded code under -gnatDL, and node sharing will lead to chaos
+ in Sprint on large files, by generating a sloc value that does
+ not correspond to any source file.
+
+2011-09-02 Bob Duff <duff@adacore.com>
+
+ * einfo.adb: (Has_Xref_Entry): Do not call
+ Implementation_Base_Type. Lib.Xref has been
+ rewritten to avoid the need for it, and it was costly.
+ * s-htable.ads,s-htable.adb: (Present,Set_If_Not_Present): New
+ functions in support of efficient xref.
+ * lib-xref-alfa.adb: Misc changes related to Key component of
+ type Xref_Entry.
+ * lib-xref.adb: (Add_Entry,etc): Speed improvement.
+ (New_Entry): Call Implementation_Base_Type, because Has_Xref_Entry
+ no longer does. This is the one place where it is needed.
+
+2011-09-02 Johannes Kanig <kanig@adacore.com>
+
+ * g-comlin.adb (Getopt): New optional argument Concatenate to have
+ similar interface as the other Getopt function.
+
+2011-09-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb: (Expand_Allocator_Expression): Do not generate
+ a call to Set_Finalize_Address if there is no allocator available.
+ * exp_util.adb: (Build_Allocate_Deallocate_Proc): Account for
+ a case of allocator expansion where the allocator is not expanded but
+ needs a custom allocate routine. Code reformatting.
+ (Is_Finalizable_Transient): Remove local variables Has_Rens and
+ Ren_Obj. Code reformatting.
+ (Is_Renamed): Renamed to Is_Aliased. Add code to detect aliasing
+ through the use of 'reference.
+ * sem_ch4.adb: (Analyze_Allocator): Detect allocators generated
+ as part of build-in-place expansion. They are intentionally marked as
+ coming from source, but their parents are not.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): If the library unit
+ is the generated subprogram declaration for a child unit body
+ that acts as spec, use the original body in the with_clause,
+ to prevent binding errors.
+
+2011-09-02 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Adapt documentation of -gnateInnn to new VMS
+ qualifier /MULTI_UNIT_INDEX=
+
+2011-09-02 Johannes Kanig <kanig@adacore.com>
+
+ * g-comlin.adb (Getopt): Return when switch is dealt with automatically,
+ instead of calling the callback function
+
+2011-09-02 Robert Dewar <dewar@adacore.com>
+
+ * prj-proc.adb, prj.ads, sem_util.adb, s-taprop-linux.adb,
+ prj-nmsc.adb, prj-util.ads, prj-env.adb: Minor reformatting.
+
+2011-09-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb: (Find_Sources): When the list of sources is
+ explicitly declared in an extending project, do not warn if a source
+ for an inherited naming exception is not found.
+
+2011-09-02 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb: (Is_Build_In_Place_Function_Call): Return False if
+ expansion is inactive.
+
+2011-09-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Note_Possible_Modification): If the entity
+ being modified is the renaming generated for an Ada2012 iterator
+ element, the enclosing container or array is modified as well.
+
+2011-09-02 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-linux.adb (Initialize_Lock, Initialize_TCB,
+ Initialize): Define and initialize the
+ mutex attributes and condition variable attributes locally.
+
+2011-09-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_File): Mark as Locally_Removed a naming
+ exception replaced in an extending project.
+ (Check_Object): No error when the other source is locally removed.
+
+2011-09-02 Yannick Moy <moy@adacore.com>
+
+ * exp_ch6.adb (Is_Build_In_Place_Function_Call): in Alfa mode, allow
+ unresolved calls.
+
+2011-08-31 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in: Clean up handling of x86 and x86-64
+ run-time files.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, s-taprop-linux.adb, gnatls.adb: Minor reformatting.
+
+2011-09-01 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.h (__gnat_cpu_free): Fix the name of this profile.
+ * adaint.c (__gnat_cpu_alloc, __gnat_cpu_alloc_size, __gnat_cpu_free,
+ __gnat_cpu_zero, __gnat_cpu_set): Create version of these subprograms
+ specific for systems where their glibc version does not define the
+ routines to handle dynamically allocated CPU sets.
+
+2011-09-01 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb, prj.ads, prj-nmsc.adb, prj-util.adb, prj-util.ads,
+ prj-env.adb: Implement inheritance of naming exceptions in extending
+ projects.
+
+2011-09-01 Romain Berrendonner <berrendo@adacore.com>
+
+ * gnatls.adb: Display simple message instead of content of
+ gnatlic.adl.
+
+2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb: (Build_Derived_Record_Type) Remove the kludgy update of
+ access discriminant and anonymous access component scopes.
+ (Inherit_Component): Reuse the itype of an access discriminant
+ or anonymous access component by copying it in order to set the proper
+ scope. This is done only when the parent and the derived type
+ are in different scopes.
+ (Set_Anonymous_Etype): New routine.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-convec.adb: Minor reformatting throughout.
+
+2011-09-01 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c, adaint.h (__gnat_cpu_alloc, __gnat_cpu_alloc_size,
+ __gnat_cpu_set_free): Create these wrappers around the CPU_ALLOC,
+ CPU_ALLOC_SIZE and CPU_FREE linux macros.
+ (__gnat_cpu_zero, __gnat_cpu_set): Use the CPU_ZERO_S and
+ CPU_SET_S respectively because we are now using dynamically allocated
+ CPU sets which are more portable across different glibc versions.
+ * s-osinte-linux.ads (cpu_set_t_ptr, CPU_ALLOC, CPU_ALLOC_SIZE,
+ CPU_FREE): Add this type and subprograms to be able to create cpu_set_t
+ masks dynamically according to the number of processors in the target
+ platform.
+ (CPU_ZERO, CPU_SET): They are now mapped to the CPU_ZERO_S and CPU_SET_S
+ respectively, so we need to pass the size of the masks as
+ parameters.
+ * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use dynamically
+ created cpu_set_t masks
+ with the number of processors available in the target platform,
+ instead of static bit arrays. It enhances portability because
+ it uses the information from the target platform.
+ * sem_ch8.adb: (Attribute_Renaming): When checking whether we
+ are using a restricted run-time library, use the flag
+ Configurable_Run_Time_Mode instead of Restricted_Profile.
+
+2011-09-01 Vincent Celier <celier@adacore.com>
+
+ * ug_words: Add /MULTI_UNIT_INDEX= -> -gnateI
+ * vms_data.ads: Add new VMS qualifier equivalent for -gnateInnn
+
+2011-09-01 Nicolas Roche <roche@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Don't use tmpnam function from the system
+ on VxWorks in kernel mode.
+
+2011-09-01 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-linux.adb (Create_Task, Set_Task_Affinity): Use the linux
+ macros for handling CPU sets (CPU_ZERO, CPU_SET) instead of modifying
+ directly the bit array.
+ * s-osinte-linux.ads (CPU_ZERO, CPU_SET): Import these wrappers around
+ the linux macros with the same name.
+ * adaint.h, adaint.c (__gnat_cpu_zero, __gnat_cpu_set): Create these
+ wrappers around the CPU_ZERO and CPU_SET linux macros.
+
+2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Find_Insertion_List): Removed.
+ (Process_Transient_Objects): Insert the declarations of the hook
+ access type and the hook object before the associated transient object.
+
+2011-09-01 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
+ package System.Aux_Dec when using restricted run-time libraries which
+ do not have this package.
+
+2011-09-01 Tristan Gingold <gingold@adacore.com>
+
+ * s-vaflop-vms-alpha.adb: Remove pragma optimize, useless.
+
+2011-09-01 Bob Duff <duff@adacore.com>
+
+ * sem_attr.adb (Analyze_Access_Attribute): Do not call
+ Kill_Current_Values for P'Unrestricted_Access, where P is library level
+
+2011-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb: Minor reformatting
+ * gnat_ugn.texi: Fix minor typos.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb, sem_aggr.adb: Minor reformatting.
+
+2011-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * a-convec.adb: Proper handling of cursors for Ada2012 iterators.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * prj-proc.adb, exp_ch6.adb, prj-env.adb: Minor reformatting.
+
+2011-09-01 Bob Duff <duff@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): Need to treat "in instance
+ body" the same as "in inlined body", because visibility shouldn't
+ apply there.
+
+2011-09-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Add_Inlined_Body): Refine previous change.
+
+2011-09-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.ads (Needs_BIP_Alloc_Form): New utility function.
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+ Test for case where call
+ initializes an object of a return statement before testing for
+ a constrained call, to ensure that all such cases get handled
+ by simply passing on the caller's parameters. Also, in that
+ case call Needs_BIP_Alloc_Form to determine whether to pass on
+ the BIP_Alloc_Form parameter of the enclosing function rather
+ than testing Is_Constrained. Add similar tests for the return
+ of a BIP call to later processing to ensure consistent handling.
+ (Needs_BIP_Alloc_Form): New utility function.
+ * sem_ch6.adb: (Create_Extra_Formals): Replace test for adding
+ a BIP_Alloc_Form formal with call to new utility function
+ Needs_BIP_Alloc_Form.
+
+2011-09-01 Pascal Obry <obry@adacore.com>
+
+ * prj-part.adb: Minor reformatting.
+
+2011-09-01 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Create_Mapping_File.Process): Encode the upper
+ half character in the unit name.
+
+2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb: Minor code and comment reformatting.
+
+2011-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): Remove redundant tests
+ for Is_Limited_Type and Is_Tagged_Type in condition checking
+ for by-reference type.
+ * inline.adb (Add_Inlined_Body): Only exclude init_procs. Other
+ subprograms may have a completion because of a previous
+ Inline_Always clause, but the enclosing package must be marked
+ inlined for the subprogram body to become visible to the backend.
+
+2011-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_aux.adb, exp_ch4.adb: Minor reformatting
+
+2011-09-01 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb, prj.ads, sinput-p.adb: Minor reformatting.
+
+2011-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Generate references to
+ the formals of a subprogram stub that acts as a spec.
+
+2011-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): If an actual is a by_reference
+ type, declare a renaming for it, not an object declaration.
+
+2011-09-01 Yannick Moy <moy@adacore.com>
+
+ * ali-util.adb, ali-util.ads (Read_Withed_ALIs): Add parameter
+ Ignore_Errors to ignore failures to read ALI files when True.
+
+2011-09-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Handle non-default
+ constructor calls associated with non-tagged record types.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * g-socthi-vms.adb: Minor reformatting.
+
+2011-09-01 Nicolas Roche <roche@adacore.com>
+
+ * sysdep.c: Don't use macro functions for stdio functions on VxWorks
+ in order to avoid impact of imcompatible changes.
+ * cstreams.c: Likewise
+ * cio.c: Likewise
+ * aux-io.c: Likewise
+
+2011-09-01 Yannick Moy <moy@adacore.com>
+
+ * lib-writ.adb (Write_With_Lines): Always output complete information
+ on "with" line in Alfa mode, as this is required by formal verification
+ back-end.
+
+2011-09-01 Tristan Gingold <gingold@adacore.com>
+
+ * g-socthi-vms.adb: Add comments.
+
+2011-09-01 Pascal Obry <obry@adacore.com>
+
+ * prj.ads: Minor reformatting.
+
+2011-09-01 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (Create_Config_Pragmas_File.Check): Put all naming
+ exceptions in the config pragmas file.
+
+2011-09-01 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_ugn.texi: Document GNAT_STACK_SIZE on IVMS.
+
+2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Find_Insertion_List): New routine.
+ (Process_Transient_Objects): Add code to handle the abnormal
+ finalization of a controlled transient associated with a subprogram
+ call. Since transients are cleaned up right after the associated
+ context, an exception raised during a subprogram call may bypass the
+ finalization code.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Check actual for aliased parameter is
+ aliased.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, a-exexda.adb: Minor reformatting.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * s-taskin.ads, s-tassta.adb, sem_ch13.adb: Minor reformatting.
+
+2011-09-01 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl: Move s-oscons.o from GNATRTL_TASKING_OBJS to
+ GNATRTL_NONTASKING_OBJS.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads (Is_Aliased): Fix existing documentation and add note on
+ possibility of this flag being set for formals in Ada 2012 mode.
+ * par-ch6.adb (P_Formal_Part): Handle aliased for parameters for Ada
+ 2012.
+ * sem_ch6.adb (Process_Formals): Handle aliased parameters in Ada 2012
+ mode.
+ * sinfo.adb (Aliased_Present): Allowed in N_Parameter_Specification for
+ Ada 2012.
+ * sinfo.ads (Aliased_Present): Allowed in N_Parameter_Specification for
+ Ada 2012.
+
+2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Find_Insertion_Node): New routine. Determines the proper
+ insertion node in a tree of nested Expression_With_Actions nodes.
+ (Process_Transient_Object): In the case where a complex if statement
+ has been converted into nested Expression_With_Actions nodes, the
+ "hook" object and the associated access type must be inserted before
+ the top most Expression_With_Actions.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * a-cbprqu.adb, a-cbprqu.ads, a-cuprqu.adb, a-cuprqu.ads,
+ a-cbsyqu.adb, a-cbsyqu.ads: Minor reformatting.
+
+2011-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: Conditionalize aliasing predicates to Ada2012.
+
+2011-09-01 Jose Ruiz <ruiz@adacore.com>
+
+ * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the CPU
+ aspect.
+ * aspects.adb (Canonical_Aspect): Add entry for the CPU aspect.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the CPU aspect
+ in a similar way as we do for the Priority or Dispatching_Domain aspect.
+ * s-mudido-affinity.adb (Dispatching_Domain_Tasks,
+ Dispatching_Domains_Frozen): Move this local data to package
+ System.Tasking because with the CPU aspect we need to have access
+ to this data when creating the task in System.Tasking.Stages.Create_Task
+ * s-taskin.ads (Dispatching_Domain_Tasks, Dispatching_Domains_Frozen):
+ Move these variables from the body of
+ System.Multiprocessors.Dispatching_Domains because with the CPU aspect
+ we need to have access to this data when creating the task in
+ System.Tasking.Stages.Create_Task.
+ * s-taskin.adb (Initialize): Signal the allocation of the environment
+ task to a CPU, if any, so that we know whether the CPU can be
+ transferred to a different dispatching domain.
+ * s-tassta.adb (Create_Task): Check whether the CPU to which this task
+ is being allocated belongs to the dispatching domain where the task
+ lives. Signal the allocation of the task to a CPU, if any, so that we
+ know whether the CPU can be transferred to a different dispatching
+ domain.
+
+2011-09-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb, sem_attr.adb, snames.ads-tmpl: Implementation of
+ attributes Same_Storage and Overlaps_Storage.
+
+2011-09-01 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_strm.adb: Remove with and use clause for Opt.
+ (Build_Array_Input_Function): Remove the version-dependent generation
+ of the return statement. The Ada 2005 tree is now the default.
+
+2011-09-01 Yannick Moy <moy@adacore.com>
+
+ * put_alfa.adb: Unconditionnally write files in Alfa section, so that
+ it is never empty when compiling in Alfa mode.
+
+2011-09-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, sem_ch3.adb, a-direct.adb, s-taprop-vxworks.adb,
+ comperr.adb, exp_ch9.adb, exp_pakd.adb, sem_ch12.adb, freeze.adb,
+ s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb,
+ gnat1drv.adb, a-rbtgbo.adb, exp_dist.adb: Minor reformatting
+
+2011-09-01 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Add a-csquin.ads, a-cusyqu.ad[sb],
+ a-cuprqu.ad[sb], a-cbsyqu.ad[sb], a-cbprqu.ad[sb]
+ * a-csquin.ads: New Ada 2012 unit that specifies the queue interface
+ * a-cusyqu.ads, a-cusyqu.adb: New Ada 2012 unit that specifies the
+ unbounded queue container.
+ * a-cbsyqu.ads, a-cbsyqu.adb: New Ada 2012 unit that specifies the
+ bounded queue container.
+ * a-cuprqu.ads, a-cuprqu.adb: New Ada 2012 unit that specifies the
+ unbounded priority queue container.
+ * a-cbprqu.ads, a-cbprqu.adb: New Ada 2012 unit that specifies the
+ bounded priority queue container.
+
+2011-08-31 Pascal Obry <obry@adacore.com>
+
+ * a-direct.adb: Do not try to create an UNC path on Windows.
+ (Create_Path): Skip leading computer name in UNC path if any.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function): Remove the
+ version-dependent generation of the return statement. The Ada 2005 tree
+ is now the default.
+
+2011-08-31 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, exp_dist.adb (Find_Numeric_Representation): Predefined
+ types Stream_Element_Offset and Storage_Offset have a different native
+ type depending on whether the platform is 32 or 64 bits. When
+ exchanging them, always convert to 64 bits.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * debug.adb: Reserve debug option -gnatd.E for passing gnatprove option
+ --force-alfa to gnat2why.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Save_References): If the node has aspects, save
+ references within the corresponding expressions in a separate step,
+ because the aspects are not directly in the tree for the declaration
+ to which they belong.
+
+2011-08-31 Arnaud Charlet <charlet@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Omit test on variable size component
+ in CodePeer mode, since representation clauses are partially ignored.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-vxworks.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
+ s-taprop-solaris.adb (Create_Task): Not_A_Specific_CPU can be assigned
+ to any dispatching domain.
+
+2011-08-31 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2011-08-31 Bob Duff <duff@adacore.com>
+
+ * sem_ch6.adb (Get_Generic_Parent_Type): Don't query Subtype_Indication
+ on nodes for which it is not defined.
+ (Is_Non_Overriding_Operation): Exit the loop when we find a generic
+ parent type.
+
+2011-08-31 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Process_Full_View): Disable legality check if
+ In_Instance, to avoid spurious errors.
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Disable legality check
+ if In_Instance, to avoid spurious errors.
+
+2011-08-31 Pascal Obry <obry@adacore.com>
+
+ * a-direct.adb: Use Dir_Seps everywhere to properly handle all
+ directory speparators.
+ (Compose): Use Dir_Seps to handle both forms.
+ (Create_Path): Use Dir_Seps instead of explicit check, no semantic
+ changes.
+ (Extension): Use Dir_Seps to handle both forms.
+
+2011-08-31 Pascal Obry <obry@adacore.com>
+
+ * prj-conf.adb: Minor reformatting.
+
+2011-08-31 Jose Ruiz <ruiz@adacore.com>
+
+ * aspects.ads (Aspect_Id, Aspect_Argument, Aspect_Names): Add the
+ dispatching domain aspect.
+ * aspects.adb (Canonical_Aspect): Add entry for the dispatching domain
+ aspect.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Analyze the
+ Dispatching_Domain aspect in a similar way as we do for the Priority
+ aspect.
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add the
+ Dispatching_Domain component if a Dispatching_Domain pragma or aspect
+ is present.
+ (Make_Task_Create_Call): Add the Dispatching_Domain when creating a task
+ * par-prag.adb (Prag): Add Pragma_Dispatching_Domain as a known pragma.
+ * sem_prag.adb (Analyze_Pragma): Check the correctness of a pragma
+ Dispatching_Domain and add it to the task definition.
+ (Sig_Flags): Add Pragma_Dispatching_Domain.
+ * rtsfind.ads, rtsfind.adb (RTU_Id, RE_Id, Get_Unit_Name): Add the
+ support to find the types Dispatching_Domain and
+ Dispatching_Domain_Access.
+ * sinfo.ads, sinfo.adb (Has_Pragma_Dispatching_Domain,
+ Set_Has_Pragma_Dispatching_Domain): Add these subprograms to set and
+ query the availability of a pragma Dispatching_Domain.
+ * snames.ads-tmpl (Name_uDispatching_Domain): Add this name required by
+ the expander to pass the Dispatching_Domain when creating a task.
+ (Name_Dispatching_Domain): Add this new name for a pragma.
+ (Pragma_Id): Add the new Pragma_Dispatching_Domain.
+ * s-tassta.ads, s-tassta.adb (Create_Task): Set the domain to which the
+ task has been allocated at creation time.
+ * s-tarest.adb (Create_Restricted_Task): The dispatching domain using
+ Ravenscar is always null.
+ * s-taskin.ads, s-taskin.adb (Initialize_ATCB): Set the domain to which
+ the task has been allocated at creation time.
+ * s-tporft.adb (Register_Foreign_Thread): A foreign task will not have
+ a specific dispatching domain.
+ * s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-vxworks.adb,
+ s-taprop-mingw.adb (Create_Task): Check whether both Dispatching_Domain
+ and CPU are specified for the task, and the CPU value is not contained
+ within the range of processors for the domain.
+
+2011-08-31 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Original_Gcc) : New constant String_Access.
+ (Gnatmake): For VM targets, do not use VM version of the compiler if
+ --GCC= has been specified.
+
+2011-08-31 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_pakd.adb (Convert_To_PAT_Type): If prefix is a function call, do
+ not reanalyze it.
+
+2011-08-31 Bob Duff <duff@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): Use the full type, in case
+ the access type is private; we don't care about privacy in expansion.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): In an instance, ignore aggregate
+ subcomponents tnat may be limited, because they originate in view
+ conflicts. If the original aggregate is legal and the actuals are
+ legal, the aggregate itself is legal.
+
+2011-08-31 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbo.adb (Clear_Tree): Assert representation invariant for lock
+ status.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Set kind of loop parameter properly, to preserve all
+ errors in B tests.
+
+2011-08-31 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For the Priority and
+ Interrupt_Priority aspects, force the analysis of the aspect expression
+ (when building the equivalent pragma). Otherwise, its analysis is done
+ too late, after the task or protected object has been created.
+ * sem_ch9.adb (Analyze_Single_Protected_Declaration,
+ Analyze_Single_Task_Declaration): Remove the code to move the aspects
+ to the object declaration because they are needed in the type
+ declaration.
+
+2011-08-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, exp_ch7.ads, sem_ch5.adb, put_scos.adb, s-rannum.adb,
+ a-rbtgbo.adb, exp_intr.adb, a-cbdlli.adb, a-cbdlli.ads: Minor
+ reformatting.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Find_Protection_Type): Do not look for fields _object
+ if the corresponding type is malformed due to restriction violations.
+
+2011-08-31 Robert Dewar <dewar@adacore.com>
+
+ * s-ransee.ads, s-ransee.adb: Minor reformatting.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Correct faulty condition which
+ would cause the generation of Set_Finalize_Address if the target is a
+ VM and the designated type is not derived from [Limited_]Controlled.
+
+2011-08-31 Arnaud Charlet <charlet@adacore.com>
+
+ * comperr.adb, comperr.ads, gnat1drv.adb (Delete_SCIL_Files): New
+ subprogram.
+ (Compiler_Abort, Gnat1drv): Call Delete_SCIL_Files in codepeer mode in
+ case of a compilation error.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * init.c (__gnat_error_handler): Standardize the stack overflow or
+ erroneous memory access message.
+ * seh_init.c (__gnat_SEH_error_handler): Standardize the stack overflow
+ or erroneous memory access message.
+
+2011-08-31 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+ * sem_ch6.adb: Minor code reorganization (use Ekind_In).
+
+2011-08-31 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Minor documentation clarification.
+ * put_scos.adb: Do not generate SCO unit header line for a unit that
+ has no SCO lines.
+
+2011-08-31 Robert Dewar <dewar@adacore.com>
+
+ * a-rbtgbo.adb, alfa_test.adb: Minor reformatting.
+
+2011-08-31 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.ads, exp_ch7.adb (Finalization_Exception_Data): New type to
+ hold variables between these following subprograms.
+ (Build_Exception_Handler, Build_Object_Declarations,
+ Build_Raise_Statement): Use the above type as parameter.
+ Make the above adjustments.
+ * exp_intr.adb (Expand_Unc_Deallocation): Adjust.
+
+2011-08-31 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Minor reformatting.
+
+2011-08-31 Tristan Gingold <gingold@adacore.com>
+
+ * s-ransee.ads, s-ransee.adb: Add system.random_seed unit.
+ * s-rannum.adb (Reset): Use Get_Seed from s-ransee.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb: Minor code cleanup.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Set ekind of loop variable to
+ prevent cascaded errors.
+ (Analyze_Loop_Statement): In semantics-only mode, introduce loop
+ variable of an iterator specification in current scope.
+ * sem_ch6.adb (Analyze_Return_Statement, Find_what_It_Apples_To): Skip
+ postconditions on the stack, as they contain no return statements.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb (Expand_Alfa_N_Package_Declaration,
+ Expand_Alfa_N_Subprogram_Body): Remove useless procedures which simply
+ call Qualify_Entity_Names.
+ (Expand_Alfa): call Qualify_Entity_Names in more cases
+ * lib-xref-alfa.adb: Take into account system package.
+ * sem_prag.adb Take into account restrictions in Alfa mode, contrary to
+ CodePeer mode in which we are interested in finding bugs even if
+ compiler cannot compile source.
+ * sem_util.adb, sem_util.ads (Unique_Entity): Take into account case of
+ deferred constant.
+
+2011-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Constrain_Concurrent): Retrieve Base_Type of the subtype
+ denoted by the subtype mark to ensure getting the concurrent type in
+ the case where the subtype mark denotes a private subtype of a
+ concurrent type (needed when using -gnatc).
+ (Process_Subtype): For the processing specific to type kinds, case on
+ the Base_Type kind of the Subtype_Mark_Id, to handle cases where the
+ subtype denotes a private subtype whose base type is nonprivate (needed
+ for subtypes of private fulfilled by task types when compiling with
+ -gnatc).
+
+2011-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Bypass registration of
+ late primitives that override interface operations when the full
+ expander is not active, to avoid blowups in Register_Primitive when
+ types don't have associated secondary dispatch tables.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * alfa_test.adb: Code clean up.
+
+2011-08-31 Marc Sango <sango@adacore.com>
+
+ * restrict.adb (Check_SPARK_Restriction): Change Comes_From_Source (N)
+ by Comes_From_Source (Original_Node (N)) in order to treat also the
+ nodes which have been rewritten.
+ * sem_ch4.adb (Analyze_Explicit_Dereference, Analyze_Slice): Guard the
+ explicit dereference and slice violation in spark mode on the nodes
+ coming only from the source code.
+
+2011-08-31 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, exp_alfa.ads, prj.ads, sem_attr.adb,
+ lib-xref-alfa.adb: Minor reformatting.
+
+2011-08-31 Matthew Heaney <heaney@adacore.com>
+
+ * a-crbltr.ads (Tree_Type): Default-initialize the Nodes component.
+
+2011-08-31 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Object_Operation): Addition of one formal to search
+ only for class-wide subprograms conflicting with entities of concurrent
+ tagged types.
+
+2011-08-31 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbo.adb (Generic_Allocate): Initialize pointer components of
+ node to null value.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Insert_Freeze_Node_For_Instance): Provide a more
+ general description of the routine.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cbdlli.adb, a-cbdlli.ads: Add iterator machinery to bounded
+ doubly-linked lists.
+
+2011-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): When a discriminant
+ check is needed for a left-hand side that is a dereference, and the
+ base type is private without discriminants (whereas the full type does
+ have discriminants), an extra retrieval of the underlying type may be
+ needed in the case where the subtype is a record subtype whose base
+ type is private. Update comments.
+
+2011-08-31 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Object_Operation): When a dispatching primitive is
+ found check if there is a class-wide subprogram covering the primitive.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb: Further cases where full expansion test is needed,
+ rather than expansion test.
+
+2011-08-31 Pascal Obry <obry@adacore.com>
+
+ * prj-attr.adb: Fix Source_File_Switches attribute kind (must be a list)
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb: Handle iterators over derived container types.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.ads, einfo.adb: Add new flag Has_Anonymous_Master.
+ (Has_Anonymous_Master): New routine.
+ (Set_Has_Anonymous_Master): New routine.
+ (Write_Entity_Flags): Add an entry for Has_Anonymous_Master.
+ * exp_ch4.adb: Add with and use clause for Sem_Ch8.
+ (Current_Anonymous_Master): New routine.
+ (Current_Unit_First_Declaration): Removed.
+ (Current_Unit_Scope): Removed.
+ (Expand_N_Allocator): Anonymous access-to-controlled types now chain
+ their objects on a per-unit heterogeneous finalization master.
+
+2011-08-31 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbhama.adb, a-cbhase.adb (Insert): Check for zero-length buckets
+ array.
+
+2011-08-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-linux.adb (Create_Task): Avoid changing the affinity mask
+ when not needed.
+
+2011-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_disp.adb (Propagate_Tag): Return without propagating in the case
+ where the actual is an unexpanded call to 'Input.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.adb: Code clean up.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * exp_alfa.adb, exp_alfa.ads: Minor correction of copyright notice.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Array_Deep_Procs): Do not generate Deep_Finalize
+ and TSS primitive Finalize_Address if finalization is suppressed.
+ (Build_Record_Deep_Procs): Do not generate Deep_Finalize and TSS
+ primitive Finalize_Address if finalization is suppressed.
+
+2011-08-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-mudido-affinity.adb, s-taprop-linux.adb, s-taprop-mingw.adb,
+ s-taprop-solaris.adb, s-taprop-vxworks.adb (Set_Task_Affinity): Make
+ sure that the underlying task has already been created before trying
+ to change its affinity.
+ (Set_CPU): Use the term processor instead of CPU, as we do in
+ Assign_Task.
+
+2011-08-31 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New Compiler attribute Source_File_Switches.
+ * prj-nmsc.adb (Process_Compiler): Process attribute
+ Source_File_Switches.
+ * prj.ads (Language_Config): New name list component
+ Name_Source_File_Switches.
+ * snames.ads-tmpl (Name_Source_File_Switches): New standard name.
+
+2011-08-31 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Old): If prefix may be a
+ discriminated component of an actual, expand at once to prevent
+ ouf-of-order references with generated subtypes.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_Alfa_Xrefs): Do not take into account read
+ reference to operator in Alfa xrefs.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Freeze_Subprogram_Body): Add code to handle the case
+ where the parent instance was frozen before the current instance due to
+ the presence of a source body. Update calls to Insert_After_Last_Decl.
+ (Insert_After_Last_Decl): Renamed to Insert_Freeze_Node_For_Instance.
+ Update the comment which illustrates the purpose of the routine.
+ Package instances are now frozen by source bodies which appear after
+ the instance. This ensures that entities coming from within the
+ instance are available for use in the said bodies.
+ (Install_Body): Add code to handle the case where the parent instance
+ was frozen before the current instance due to the presence of a source
+ body. Update calls to Insert_After_Last_Decl.
+
+2011-08-31 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-linux.adb (Set_Task_Affinity): Avoid the use of anonymous
+ access types.
+ * affinity.c (__gnat_set_affinity_mask): Declare index variable.
+
+2011-08-31 Yannick Moy <moy@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Refine expander test in
+ full-expander test.
+ * alfa.adb, alfa.ads, alfa_test.adb, ali.adb, debug.adb, errout.adb,
+ errout.ads, erroutc.adb, expander.adb, exp_ch4.adb, exp_ch7.adb,
+ freeze.adb, get_alfa.adb, get_alfa.ads, gnat1drv.adb, lib-writ.adb,
+ lib-writ.ads, lib-xref.adb, lib-xref.ads, lib-xref-alfa.adb, opt.adb,
+ opt.ads, put_alfa.adb, put_alfa.ads, restrict.adb, sem_ch12.adb,
+ sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_prag.adb, sem_res.adb, sem_util.adb: Minor reformatting, renaming
+ ALFA in Alfa (we dropped acronym).
+ * einfo.adb (Primitive_Operations): Correctly return list of primitive
+ operations in a case where it returned previously No_Elist.
+
+2011-08-31 Robert Dewar <dewar@adacore.com>
+
+ * s-taprop-vxworks.adb, sem_ch5.adb, s-taprop-tru64.adb, exp_alfa.adb,
+ s-taprop-vms.adb, bindgen.adb, s-mudido.adb, s-mudido.ads,
+ sem_res.adb, expander.adb, s-taprop-mingw.adb, s-taprop-linux.adb,
+ s-taprop-solaris.adb, s-mudido-affinity.adb, vms_conv.adb,
+ s-taprop-irix.adb, s-taprop.ads, s-taskin.adb, s-taskin.ads,
+ s-taprop-hpux-dce.adb, a-chtgbo.adb, s-taprop-posix.adb: Minor
+ reformatting.
+
+2011-08-31 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12 (Check_Private_View): Revert previous change.
+ * sem_res.adb (Conversion_Check): Do not emit the error message if the
+ conversion is in a generic instance.
+
+2011-08-31 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbhase.adb (Symmetric_Difference): Dereference correct node array.
+ * a-chtgbo.adb (Free): Allow 0 as index value.
+
+2011-08-31 Matthew Heaney <heaney@adacore.com>
+
+ * a-cborma.adb (Insert): Add comment to explain why no element
+ assignment.
+
+2011-08-31 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Find_Body_Discriminal): Test whether the scope of the
+ spec discriminant is already a concurrent type, in which case just use
+ it, otherwise fetch the Corresponding_Concurrent_Type as before.
+
+2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-irix-n64.ads, system-linux-armeb.ads, system-linux-armel.ads,
+ system-linux-mips.ads, system-linux-mipsel.ads,
+ system-linux-mips64el.ads, system-linux-ppc64.ads,
+ system-linux-sparcv9.ads, system-rtems.ads: Remove GCC_ZCX_Support.
+
+2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_EXTRA_SUBTYPE_P): Add internal check.
+ * gcc-interface/utils2.c (build_binary_op): Tighten condition.
+ (build_unary_op): Likewise.
+
+2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * raise-gcc.c: Do not include coretypes.h and tm.h.
+ (setup_to_install): Remove test for compiler macro.
+ * targext.c: Document use for the library.
+ * gcc-interface/Makefile.in: Fix comment on the use of IN_GCC.
+
+2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not convert
+ the expression to the nominal type if the latter is a record type with
+ a variant part and the type of the former is a record type without one.
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
+ expansion in Alfa mode.
+ * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public
+ * exp_alfa.adb, exp_alfa.ads: New package defining light expansion for
+ Alfa mode.
+ * gnat1drv.adb (Adjust_Global_Switches): Update Comment.
+ * sem_res.adb: Ditto.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-30 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Minor documentation adjustment.
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, s-tassta.adb, s-secsta.adb: Minor reformatting.
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * exp_ch6_light.adb, exp_ch6_light.ads, exp_attr_light.adb,
+ exp_attr_light.ads, exp_ch7_light.adb, exp_ch7_light.ads,
+ exp_light.adb, exp_light.ads, exp_prag.adb, expander.adb,
+ gnat1drv.adb, exp_ch11.adb, exp_ch6.adb, exp_ch6.ads, exp_aggr.adb:
+ Revert change which introduced files for "light"
+ expansion, to be replaced by a single file for Alfa expansion.
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, s-soflin.adb, exp_ch9.adb, sem_res.adb: Update comment.
+ Minor code reorg/reformatting.
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * opt.adb, opt.ads (Full_Expander_Active): New function defines a
+ common shorthand for (Expander_Active and not ALFA_Mode) that can be
+ used for testing full expansion, that is active expansion not in the
+ reduced mode for Alfa
+ * exp_ch4.adb, exp_ch9.adb, exp_disp.adb, sem_ch10.adb, sem_ch12.adb,
+ sem_ch6.adb, sem_ch9.adb, sem_res.adb: Use newly defined "flag" instead
+ of the verbose (Expander_Active and not ALFA_Mode)
+
+2011-08-30 Tristan Gingold <gingold@adacore.com>
+
+ * s-parame-vms-alpha.ads, s-parame-hpux.ads, s-tassta.adb,
+ s-tarest.adb, s-parame-vms-ia64.ads, s-soflin.adb, s-secsta.adb,
+ s-secsta.ads, s-parame.ads, s-parame-vxworks.ads, s-parame-ae653.ads:
+ Renames Ratio to Percentage, and Sec_Stack_Ratio to Sec_Stack_Percentage
+
+2011-08-30 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): Revise test for implicit anonymous
+ access conversions to check that the conversion is a rewritten node,
+ rather than just having Comes_From_Source set to False, which wasn't
+ sufficient.
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, sem_ch9.adb, sem_ch6.adb, exp_disp.adb,
+ g-socket.ads: Minor reformatting.
+
+2011-08-30 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+
+2011-08-30 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c: Never catch exception if _UA_FORCE_UNWIND flag is set,
+ to be compliant with the ABI.
+
+2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch12.adb (Check_Private_View): Exchange the private and full view
+ of a designated type when the related access type is an actual in an
+ instance. This ensures that the full view of designated type is
+ available when inside the body of the instance.
+
+2011-08-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (May_Be_Lvalue): To determine whether a reference may be
+ in a position to be modified, a slice is treated like an indexed
+ component.
+
+2011-08-30 Thomas Quinot <quinot@adacore.com>
+
+ * s-oscons-tmplt.c, g-socket.ads: Adjust maximum allowed value for
+ field tv_sec in struct timeval.
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * exp_ch9.adb, exp_disp.adb, sem_ch9.adb, sem_res.adb: Protect several
+ blocks of code doing full expansion, previously only guarded by
+ Expander_Active, by anding the test that ALFA_Mode is not set
+
+2011-08-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Return_Type): If the return type is incomplete,
+ add the function to the list of private dependents, for subsequent
+ legality check on Taft amendment types.
+ * sem_ch12.adb (Analyze_Formal_Incomplete_Type): Initialize
+ Private_Dependents, as for other incomplete types.
+ * sem_util.adb (Wrong_Type): Avoid cascaded errors when a
+ Taft-amendment type is used as the return type of a function.
+
+2011-08-30 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Check_Abstract_Overriding): Code cleanup: replace code
+ which emits an error by a call to a new routine which report the error.
+ * exp_ch9.adb (Build_Wrapper_Spec): Build the wrapper even if the
+ entity does not cover an existing interface.
+ * errout.ads, errout.adb (Error_Msg_PT): New routine. Used to factorize
+ code.
+ * sem_ch6.adb (Check_Conformance): Add specific error for wrappers of
+ protected procedures or entries whose mode is not conformant.
+ (Check_Synchronized_Overriding): Code cleanup: replace code which emits
+ an error by a call to a new routine which report the error.
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor change.
+ * exp_attr_light.adb: Minor reformatting.
+
+2011-08-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Patch inheritance of aspects in
+ Complete_Private_Subtype, to avoid infinite loop.
+
+2011-08-30 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): If serious errors have
+ been reported and a subprogram covering an interface primitive is not
+ found then skip generating the internal entity. Done to avoid crashing
+ the frontend.
+ (Check_Abstract_Overriding): Change text of error of wrong formal of
+ protected subprogram or entry. Done for consistency to emit exactly the
+ same error reported by Check_Synchronized_Overriding. In addition, the
+ error is restricted to protected types (bug found working on AI05-0090)
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * exp_aggr.adb, exp_ch11.adb, exp_prag.adb: Remove early exit during
+ expansion in Alfa mode.
+ * exp_ch6.adb, exp_ch6.ads (Expand_Actuals): Make subprogram public.
+ * exp_light.adb, exp_light.ads: New package defining light expansion.
+ * expander.adb (Expand): Call light expansion in Alfa mode
+ * exp_ch6_light.adb, exp_ch6_light.ads: Light expansion of chapter 6
+ constructs.
+ * exp_ch7_light.adb, exp_ch7_light.ads: Light expansion of chapter 7
+ constructs.
+ * exp_attr_light.adb, exp_attr_light.ads: Light expansion of attributes
+ * gnat1drv.adb (Adjust_Global_Switches): Comment
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb: Minor refactoring.
+
+2011-08-30 Yannick Moy <moy@adacore.com>
+
+ * exp_ch9.adb (Expand_Entry_Barrier): Do not perform expansion in Alfa
+ mode.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Do not perform
+ expansion in Alfa mode.
+ * sem_ch9.adb (Analyze_Entry_Body): Do not perform expansion in Alfa
+ mode.
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * debug_a.adb: Update comment.
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, sem_ch5.adb, einfo.adb, checks.adb,
+ sem_util.adb, sem_util.ads, sem_res.adb, s-stposu.adb, sem_attr.adb,
+ exp_ch4.adb, exp_ch6.adb, lib-xref-alfa.adb,
+ sem_ch8.adb, sem_disp.adb, exp_ch3.adb: Minor reformatting
+
+2011-08-30 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add section on C.6(16) implementation advice for pragma
+ volatile.
+
+2011-08-30 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Array_Type): Correct the call to
+ Build_Finalization_Master by supplying an insertion node and enclosing
+ scope. In its old version, the call did not generate a finalization
+ master.
+ (Expand_Freeze_Record_Type): Add local variable Has_AACC. Add code to
+ recognize anonymous access-to-controlled components. Rewrite the
+ machinery which creates finalization masters to service anonymous
+ access-to-controlled components of a record type. In its current state,
+ only one heterogeneous master is necessary to handle multiple anonymous
+ components.
+ (Freeze_Type): Comment reformatting.
+ * rtsfind.ads: Add RE_Set_Is_Heterogeneous to tables RE_Id and
+ RE_Unit_Table.
+ * s-stposu.adb (Allocate_Any_Controlled): Rewrite the machinery which
+ associates TSS primitive Finalize_Address with either the master itself
+ or with the internal hash table depending on the mode of operation of
+ the master.
+
+2011-08-30 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Make_Eq_If): If the etype of the _parent component is an
+ interface type then do not generate code to compare this component.
+ Required since they have no components and their equality operator is
+ abstract.
+
+2011-08-30 Steve Baird <baird@adacore.com>
+
+ * sem_util.ads (Deepest_Type_Access_Level): New function; for the type
+ of a saooaaat (i.e, a stand-alone object of an anonymous access type),
+ returns the (static) accessibility level of the object. Otherwise, the
+ same as Type_Access_Level.
+ (Dynamic_Accessibility_Level): New function; given an expression which
+ could occur as the rhs of an assignment to a saooaaat (i.e., an
+ expression of an access-to-object type), return the new value for the
+ saooaaat's associated Extra_Accessibility object.
+ (Effective_Extra_Accessibility): New function; same as
+ Einfo.Extra_Accessibility except that object renames are looked through.
+ * sem_util.adb
+ (Deepest_Type_Access_Level): New function; see sem_util.ads description.
+ (Dynamic_Accessibility_Level): New function; see sem_util.ads
+ description.
+ (Effective_Extra_Accessibility): New function; see sem_util.ads
+ description.
+ * einfo.ads (Is_Local_Anonymous_Access): Update comments.
+ (Extra_Accessibility): Update comments.
+ (Init_Object_Size_Align): New procedure; same as Init_Size_Align
+ except RM_Size field (which is only for types) is unaffected.
+ * einfo.adb
+ (Extra_Accessibility): Expand domain to allow objects, not just formals.
+ (Set_Extra_Accessibility): Expand domain to allow objects, not just
+ formals.
+ (Init_Size): Add assertion that we are not trashing the
+ Extra_Accessibility attribute of an object.
+ (Init_Size_Align): Add assertion that we are not trashing the
+ Extra_Accessibility attribute of an object.
+ (Init_Object_Size_Align): New procedure; see einfo.ads description.
+ * sem_ch3.adb (Find_Type_Of_Object): Set Is_Local_Anonymous_Access
+ differently for the type of a (non-library-level) saooaaat depending
+ whether Ada_Version < Ada_2012. This is the only point where Ada_Version
+ is queried in this set of changes - everything else (in particular,
+ setting of the Extra_Accessibility attribute in exp_ch3.adb) is
+ driven off of the setting of the Is_Local_Anonymous_Access attribute.
+ The special treatment of library-level saooaaats is an optimization,
+ not required for correctnesss. This is based on the observation that the
+ Ada2012 rules (static and dynamic) for saooaaats turn out to be
+ equivalent to the Ada2005 rules in the case of a library-level saooaaat.
+ * exp_ch3.adb
+ (Expand_N_Object_Declaration): If Is_Local_Anonymous_Access is
+ false for the type of a saooaaat, declare and initialize its
+ accessibility level object and set the Extra_Accessibility attribute
+ of the saooaaat to refer to this object.
+ * checks.adb (Apply_Accessibility_Check): Add Ada 2012 saooaaat support.
+ * exp_ch4.adb (Expand_N_In): Replace some Extra_Accessibility calls with
+ calls to Effective_Extra_Accessibility in order to support
+ renames of saooaaats.
+ (Expand_N_Type_Conversion): Add new local function,
+ Has_Extra_Accessibility, and call it when determining whether an
+ accessibility check is needed.
+ It returns True iff Present (Effective_Extra_Accessibility (Id)) would
+ evaluate to True (without raising an exception).
+ * exp_ch5.adb
+ (Expand_N_Assignment_Statement): When assigning to an Ada2012
+ saooaaat, update its associated Extra_Accessibility object (if
+ it has one). This includes an accessibility check.
+ * exp_ch6.adb (Add_Call_By_Copy_Code): When parameter copy-back updates
+ a saooaaat, update its Extra_Accessibility object too (if it
+ has one).
+ (Expand_Call): Replace a couple of calls to Type_Access_Level
+ with calls to Dynamic_Access_Level to handle cases where
+ passing a literal (any literal) is incorrect.
+ * sem_attr.adb (Resolve_Attribute): Handle the static accessibility
+ checks associated with "Saooaat := Some_Object'Access;"; this must
+ be rejected if Some_Object is declared in a more nested scope
+ than Saooaat.
+ * sem_ch5.adb (Analyze_Assignment): Force accessibility checking for an
+ assignment to a saooaaat even if Is_Local_Anonymous_Access
+ returns False for its type (indicating a 2012-style saooaaat).
+ * sem_ch8.adb
+ (Analyze_Object_Renaming): Replace a call to Init_Size_Align
+ (which is only appropriate for objects, not types) with a call
+ of Init_Object_Size_Align in order to avoid trashing the
+ Extra_Accessibility attribute of a rename (the two attributes
+ share storage).
+ * sem_res.adb
+ (Valid_Conversion) Replace six calls to Type_Access_Level with
+ calls to Deepest_Type_Access_Level. This is a bit tricky. For an
+ Ada2012 non-library-level saooaaat, the former returns library level
+ while the latter returns the (static) accessibility level of the
+ saooaaat. A type conversion to the anonymous type of a saooaaat
+ can only occur as part of an assignment to the saooaaat, so we
+ know that such a conversion must be in a lhs context, so Deepest
+ yields the result that we need. If such a conversion could occur,
+ say, as the operand of an equality operator, then this might not
+ be right. Also add a test so that static accessibilty checks are
+ performed for converting to a saooaaat's type even if
+ Is_Local_Anonymous_Access yields False for the type.
+
+2011-08-30 Javier Miranda <miranda@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Complete condition that
+ controls generation of a warning associated with late declaration of
+ dispatching functions. Required to avoid generating spurious
+ warnings.
+
+2011-08-30 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Check_Return_Subtype_Indication): Issue error if the
+ return object has an anonymous access type and the function's type is
+ a named access type.
+ * sem_ch8.adb (Analyze_Object_Renaming): Suppress error about renaming
+ conversions on implicit conversions, since such conversions can occur
+ for anonymous access cases due to expansion. Issue error for attempt
+ to rename an anonymous expression as an object of a named access type.
+ * sem_res.ads (Valid_Conversion): Add defaulted parameter Report_Errs,
+ to indicate whether this function should report errors on invalid
+ conversions.
+ * sem_res.adb (Resolve): For Ada 2012, in the case where the type of
+ the expression is of an anonymous access type and the expected type is
+ a named general access type, rewrite the expression as a type
+ conversion, unless this is an expression of a membership test.
+ (Valid_Conversion.Error_Msg_N): New procedure that conditions the
+ calling of Error_Msg_N on new formal Report_Errs.
+ (Valid_Conversion.Error_Msg_NE): New procedure that conditions the
+ calling of Error_Msg_NE on new formal Report_Errs.
+ (Valid_Conversion): Move declaration of this function to the package
+ spec, to allow calls from membership test processing. For Ada 2012,
+ enforce legality restrictions on implicit conversions of anonymous
+ access values to general access types, disallowing such conversions in
+ cases where the expression has a dynamic accessibility level (access
+ parameters, stand-alone anonymous access objects, or a component of a
+ dereference of one of the first two cases).
+ * sem_type.adb (Covers): For Ada 2012, allow an anonymous access type
+ in the context of a named general access expected type.
+ * exp_ch4.adb Add with and use of Exp_Ch2.
+ (Expand_N_In): Add processing for membership tests applied to
+ expressions of an anonymous access type. First, Valid_Conversion is
+ called to check whether the test is statically False, and then the
+ conversion is expanded to test that the expression's accessibility
+ level is no deeper than that of the tested type. In the case of
+ anonymous access-to-tagged types, a tagged membership test is applied
+ as well.
+ (Tagged_Membership): Extend to handle access type cases, applying the
+ test to the designated types.
+ * exp_ch6.adb (Expand_Call): When creating an extra actual for an
+ accessibility level, and the actual is a 'Access applied to a current
+ instance, pass the accessibility level of the type of the current
+ instance rather than applying Object_Access_Level to the prefix. Add a
+ ??? comment, since this level isn't quite right either (will eventually
+ need to pass an implicit level parameter to init procs).
+
+2011-08-30 Bob Duff <duff@adacore.com>
+
+ * s-taskin.ads: Minor comment fix.
+
+2011-08-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Check_Parameterless_Call): If the node is a selected
+ component and the selector is a dispatching operation, check if it is
+ a prefixed call before rewriting as a parameterless function call.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/Makefile.in (../stamp-gnatlib1-$(RTSDIR)): Copy
+ tsystem.h into $(RTSDIR) instead of rts.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.adb, a-coorse.adb, exp_dist.adb, exp_ch3.adb: Minor
+ reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * alfa.ads (Name_Of_Heap_Variable): New constant name.
+ * lib-xref-alfa.adb, lib-xref.adb, lib-xref.ads (Drefs): New global
+ table to hold dereferences.
+ (Add_ALFA_Xrefs): Take into account dereferences as special
+ reads/writes to the variable "HEAP".
+ (Enclosing_Subprogram_Or_Package): Move subprogram here.
+ (Generate_Dereference): New procedure to store a read/write dereferencew
+ in the table Drefs.
+ * put_alfa.adb (Put_ALFA): Use different default than (0,0) used for
+ the special "HEAP" var.
+ * sem_ch4.adb (Analyze_Explicit_Dereference): Store read dereference
+ in ALFA mode.
+ * sem_util.adb (Note_Possible_Modification): Store write dereference
+ in ALFA mode.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Freeze_Type): Generate an accessibility check which
+ ensures that the level of the subpool access type is not deeper than
+ that of the pool object.
+ * sem_util.adb (Object_Access_Level): Expand to handle defining
+ identifiers.
+ * sem_res.adb (Resolve_Allocator): Add a guard to avoid examining the
+ subpool handle name of a rewritten allocator.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb, exp_ch4.adb, s-finmas.adb: Minor reformatting.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (TC_Rec_Add_Process_Element): For a choice with multiple
+ values, we generate multiple triples of parameters in the TypeCode.
+ Bump Choice_Index for each such triple so that a subsequent default
+ choice is associated with the correct index in the typecode.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cdlili.adb (Iterate): Initialize properly an iterator over a null
+ container.
+ (First, Last): Handle properly an iterator over a null container.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause,Install_Withed_Unit): Abandon
+ processing if we run across a node with no Scope. This can happen if
+ we're with-ing an library-level instance, and that instance got errors
+ that caused "instantiation abandoned".
+ * sem_util.adb (Unit_Declaration_Node): Make it more robust, by raising
+ an exception instead of using Assert, so it won't go into an infinite
+ loop, even when assertions are turned off.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-coorse.adb: Proper handling of empty ordered sets.
+
+2011-08-29 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Add comments.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * a-except.adb, a-except-2005.adb: Minor comment rewording and
+ reformatting.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): Remove insertion of
+ declaration for Itypes in Alfa mode.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
+ a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
+ a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
+ reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
+ package spec.
+ * exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
+ * a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
+ while raising PE.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-cbhama.adb, a-cbhama.ads: Minor reformatting.
+
+2011-08-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Complete support for
+ renamings of formal subprograms when the actual for a formal type is
+ class-wide.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbhama.ads, a-cbhase.ads (Move): Clear Source following assignment
+ to Target.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-cborma.ads, a-cborse.ads (Cursor): Default-initialize all
+ components of record type.
+ * a-cborma.adb, a-cborse.adb (Move): Clear Source following assignmentw
+ to Target.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cbhama.adb, a-cbhama.ads, a-cborma.adb, a-cborma.ads, a-cobove.adb,
+ a-cobove.ads, a-coorma.adb, a-coorma.ads: Add iterator machinery to
+ container packages.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_util.adb, gnat1drv.adb, s-parint.ads: Minor
+ reformatting.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbhama.ads, a-cbhase.ads (Cursor): Default-initialize all
+ components of record type.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * s-tassta.adb (Task_Wrapper): Handle and ignore exceptions propagated
+ by the termination handler.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): Create declarations for Itypes
+ created in Alfa mode, instead of inserting artificial declarations of
+ non-Itypes in the tree.
+ * sem_util.adb, sem_util.ads (Itype_Has_Declaration): New function to
+ know if an Itype has a corresponding declaration, as defined in
+ itypes.ads.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb: Minor rewrite.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * s-tasuti.adb (Make_Passive): Work around race condition in
+ Make_Independent, which can cause Wait_Count to be zero. So instead of
+ asserting that Wait_Count > 0, and then decrementing it, decrement it
+ only if Wait_Count > 0.
+ * s-taskin.ads (Wait_Count, Alive_Count, Awake_Count): All of these
+ should be nonnegative, so declare them Natural instead of Integer.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, a-cihama.adb, a-cihama.ads, exp_ch7.adb,
+ sem_ch5.adb, a-ciorse.adb, a-ciorse.ads, sem_ch12.adb, a-cidlli.adb,
+ a-cidlli.ads, sem_util.adb, sem_res.adb, gnat1drv.adb, a-except.adb,
+ a-except.ads, a-except-2005.ads, sem_ch4.adb, exp_disp.adb,
+ exp_aggr.adb, sem_ch13.adb, par-ch3.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-auxdec-vms-alpha.adb: Add comments, remove some HT before labels.
+
+2011-08-29 Vadim Godunko <godunko@adacore.com>
+
+ * s-parint.ads: Minor comment clarification.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Initialize): Make sure that new reserved words after Ada 95
+ may be used as identifiers.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-coinho.ads: Minor reformating.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Handle properly a loop over a
+ container of a derived type.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cidlli.adb, a-cidlli.ads, a-cihama.adb, a-cihama.ads,
+ a-ciorse.adb, a-ciorse.ads: Add iterator machinery to containers.
+
+2011-08-29 Pascal Obry <obry@adacore.com>
+
+ * exp_disp.adb: Minor comment fix.
+ (Make_Disp_Asynchronous_Select_Body): Properly initialize out parameters
+ to avoid warnings when compiling with -Wall.
+ (Make_Disp_Conditional_Select_Body): Likewise.
+ (Make_Disp_Timed_Select_Body): Likewise.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Subprogram_Declaration): If default is
+ an entity name, generate reference for it.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Uniform handling of "X of S"
+ iterator form.
+ * sem_util.adb (Is_Iterator, Is_Reversible_Iterator): Yield True for
+ the class-wide type.
+ * sem_ch5.adb: Move some rewriting to the expander, where it belongs.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Check_Constrained_Object): Do not create an actual
+ subtype for an object whose type is an unconstrained union.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch3.adb (P_Array_Type_Definiation, P_Component_Items): "aliased"
+ is allowed in a component definition, by AI95-406.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-chtgbo.adb (Generic_Iteration): Use correct overloading of Next.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-except-2005.adb: Alphabetize all routines.
+ (Triggered_By_Abort): New routine.
+ * a-except-2005.ads (Triggered_By_Abort): New routine.
+ * a-except.adb Alphabetize all routines.
+ (Triggered_By_Abort): New routine.
+ * a-except.ads (Triggered_By_Abort): New routine.
+ * exp_ch7.adb: Update all comments involving the detection of aborts in
+ finalization code.
+ (Build_Object_Declarations): Do not generate code to detect the
+ presence of an abort at the start of finalization code, use a runtime
+ routine istead.
+ * rtsfind.ads: Add RE_Triggered_By_Abort to tables RE_Id and
+ RE_Unit_Table.
+ * sem_res.adb (Resolve_Allocator): Emit a warning when attempting to
+ allocate a task on a subpool.
+ * s-stposu.adb: Add library-level flag Finalize_Address_Table_In_Use.
+ The flag disables all actions related to the maintenance of
+ Finalize_Address_Table when subpools are not in use.
+ (Allocate_Any_Controlled): Signal the machinery that subpools are in
+ use.
+ (Deallocate_Any_Controlled): Do not call Delete_Finalize_Address which
+ performs costly task locking when subpools are not in use.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Restore expansion of tagged
+ types and dispatching calls in Alfa mode.
+ * lib-xref-alfa.adb (Collect_ALFA): Rewrite computation of
+ correspondance between body and spec scopes, to reuse utility functions
+ (Traverse_Declarations_Or_Statements): Protect access to body for stub
+ by testing the presence of the library unit for the body
+ * sem_ch6.adb (Set_Actual_Subtypes): take into account that in Alfa
+ mode the expansion of accept statements is skipped
+ * sem_util.adb, sem_util.ads (Unique_Entity): New function returning
+ the unique entity corresponding to the one returned by
+ Unique_Defining_Entity applied to the enclosing declaration of the
+ argument.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * treepr.ads: Improve debugging facilities. pn(x) no longer crashes in
+ gdb when x is not a node (it can be a node list, name_id, etc). pp is
+ an alias for pn. ppp is an alias for pt.
+
+2011-08-29 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Expand_Record_Aggregate): Use the top-level enclosing
+ aggregate to take a consistent decision on the need to convert into
+ assignments aggregates that initialize constant objects.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Add a call to
+ Build_Allocate_Deallocate_Proc in order to handle allocation of
+ non-controlled objects on subpools.
+ * impunit.adb: Remove s-finmas and s-spsufi since they were never meant
+ to be end-user visible.
+ * s-finmas.adb: Add with and use clause for System.HTable.
+ Add an instantiation of Simple_HTable which provides a mapping between
+ the address of a controlled object and the corresponding
+ Finalize_Address used to clean up the object. The table is used when a
+ master is operating in heterogeneous mode.
+ (Attach): Explain why the input node is not verified on being already
+ attached.
+ (Delete_Finalize_Address): New routine.
+ (Detach): Add pragma Assert which ensures that a node is already
+ attached.
+ (Finalize): Add local variable Cleanup. Rewrite the iteration scheme
+ since nodes are no longer removed on traversal. Explain why node
+ detachment is undesirable in this case.
+ (Get_Finalize_Address): New routine.
+ (Hash): New routine.
+ (Is_Empty_List): Removed.
+ (pm): Renamed to Print_Master. Add output for discriminant
+ Is_Homogeneous.
+ Comment reformatting.
+ (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
+ * s-finmas.ads: Various comments additions / improvements.
+ Type Finalization_Master has a discriminant which determines the mode of
+ operation.
+ (Delete_Finalize_Address): New routine.
+ (Get_Finalize_Address): New routine.
+ (pm): Renamed to Print_Master.
+ (Set_Finalize_Address (Address, Finalize_Address_Ptr)): New routine.
+ * s-stposu.adb: Add with clause for System.Address_Image; Add with and
+ use clause for System.IO.
+ (Allocate_Any_Controlled): Add machinery to set TSS primitive
+ Finalize_Address depending on the mode of allocation and the mode of
+ the master.
+ (Deallocate_Any_Controlled): Remove the relation pair object -
+ Finalize_Address regardless of the master mode. Add comment explaining
+ the reason.
+ (Detach): Ensure that fields Prev and Next are null after detachment.
+ (Finalize_Pool): Remove local variable Next_Ptr. Rewrite the iteration
+ scheme to check whether the list of subpools is empty. There is no
+ longer need to store the next subpool or advance the current pointer.
+ (Is_Empty_List): New routine.
+ (Print_Pool): New routine.
+ (Print_Subpool): New routine.
+ * s-stposu.ads: Various comments additions / improvements.
+ Field Master of type Root_Subpool is now a heterogeneous collection.
+ (Print_Pool): New routine.
+ (Print_Subpool): New routine.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Iterator_Loop): Implement Ada2012 loop iterator
+ forms, using aspects of container types.
+ * sem_ch3.adb (Find_Type_Name): Preserve Has_Delayed_Aspects and
+ Has_Implicit_Dereference flags, that may be set on the partial view.
+ * sem_ch4.adb (Process_Overloaded_Indexed_Component): Prefix may be a
+ container type with an indexing aspect.
+ (Analyze_Quantified_Expression): Analyze construct with expansion
+ disabled, because it will be rewritten as a loop during expansion.
+ (Try_Container_Indexing): The prefix itself may be a container type
+ with an indexing aspect, as with a vector of vectors.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): In a generic context, analyze
+ the original doamin of iteration, for name capture.
+ (Analyze_Iterator_Specification): If the domain is an expression that
+ needs finalization, create a separate declaration for it.
+ For an iterator with "of" retrieve default iterator info from aspect of
+ container type. For "in" iterator, retrieve type of Iterate function.
+ * sem_ch13.adb (Check_Iterator_Function): Fix typo.
+ (Check_Aspect_At_End_Of_Declaration): Make type unfrozen before
+ analysis, to prevent spurious errors about late attributes.
+ * sprint.adb: Handle quantified expression with either loop or iterator
+ specification.
+ * a-convec.ads, a-convec.adb: Iterate function returns a reversible
+ iterator.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Take any option as is in packages Compiler,
+ Binder or Linker of the main project file.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb (Add_Scopes_To_Clean): Exclude any entity within a generic
+ unit.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch9.adb: Partial revert of previous change for Alfa mode
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch11.adb: Minor expansion of comment.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_ALFA_Scope): Treat generic entities.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Arithmetic_Op): If the node has a universal
+ interpretation, set the type before resolving the operands, because
+ legality checks on an exponention operand need to know the type of the
+ context.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Do not set delayed
+ cleanups on a master if the instance is within a generic unit.
+ Complement to the corresponding fix to inline.adb for K520-030.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb (Build_Raise_Statement): Raise PE instead of the current
+ occurrence.
+ * exp_intr.adb: Minor comment fix.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Fix cases where
+ Delay_Required was used as an uninitialized variable.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-cdlili.adb, a-cdlili.ads, a-coinve.adb, a-coinve.ads,
+ sem_util.adb, sem_util.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb,
+ a-coorse.ads, aspects.ads, sem_ch8.adb: Minor reformatting.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * system-freebsd-x86_64.ads (Backend_Overflow_Checks): Set true True.
+ Remove unused variables.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Remove Build_Explicit_Dereference.
+ * sem_util.adb, sem_util.ads (Build_Explicit_Dereference): Moved here
+ from sem_res.adb, used in analysis of additional constructs.
+ (Is_Iterator, Is_Reversible_Iterator): New predicates for Ada2012
+ expansion of iterators.
+ (Is_Object_Reference): Recognize variables rewritten as explicit
+ dereferences in Ada2012.
+ * snames.ads-tmpl: Add Has_Element, Forward_Iterator,
+ Reversible_Iterator names, for expansion of Ada2012 iterators.
+ * aspects.ads, aspects.adb (Find_Aspect): Utility.
+ * a-cdlili.ads, a-cdlili.adb: Add new iterator machinery to doubly
+ linked list container.
+ * a-coinve.ads, a-coinve.adb: Ditto for indefinite vector containers.
+ * a-coorse.ads, a-coorse.adb: Ditto for ordered sets.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * a-cohama.adb, a-cohama.ads: Add iterator primitives to hashed map
+ containers.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Get the maximum number of simultaneous
+ compilation processes after the Builder switches has been scanned, as
+ there may include -jnn.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-chtgbo.adb (Generic_Equal): Use correct overloading of Next.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): On OpenVMS, truncate the length of
+ GNAT_DRIVER_COMMAND_LINE to 255.
+
+2011-08-29 Pascal Obry <obry@adacore.com>
+
+ * freeze.adb, sem_ch8.adb, a-convec.adb, a-convec.ads: Minor
+ reformatting and style fix (class attribute casing).
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch11.adb: Yet another case where expansion should be common
+ between CodePeer and Alfa.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch9.adb: Partial revert of previous change for Alfa mode.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Matches_Limited_With_View): The limited views of an
+ incomplete type and its completion match.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch13.adb: Adjust previous change.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, prj.adb, sem_util.adb, sem_res.adb, gnat1drv.adb,
+ exp_ch4.adb, sem_ch8.adb: Minor code reorganization
+ Minor reformatting.
+
+2011-08-29 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Also
+ initialize aggregated projects.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Renamed_Entity): Within an instance, use scope
+ depth of candidates to resolve a potentially spurious ambiguity between
+ two visible subprograms.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Allow Test_Case pragma without
+ Requires/Ensures.
+ * sem_util.adb (Get_Ensures_From_Test_Case_Pragma,
+ Get_Requires_From_Test_Case_Pragma): Allow Test_Case pragma without
+ Requires/Ensures.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Improve previous change.
+ Add comment.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2011-08-29 Johannes Kanig <kanig@adacore.com>
+
+ * exp_ch4.adb (Expand_Quantified_Expression): Do not expand in ALFA
+ mode.
+ * gnat1drv.adb (Adjust_Global_Switches): Set
+ Use_Expressions_With_Actions to False in ALFA mode.
+ * sem_res.adb (Resolve_Quantified_Expression): Simpler treatment in
+ ALFA mode.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Do nothing in Alfa mode.
+ * exp_ch9.adb: Do not expand tasking constructs in Alfa mode.
+ * gnat1drv.adb (Adjust_Global_Switches): Suppress the expansion of
+ tagged types and dispatching calls in Alfa mode.
+
+2011-08-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Process_Discriminants): Add missing check to ensure that
+ we do not report an error on an Empty node.
+
+2011-08-29 Geert Bosch <bosch@adacore.com>
+
+ * Makefile.rtl (GNATRTL_NONTASKING_OBJECTS): Add a-nllrar.o,
+ a-nlrear.o and a-nurear.o.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor code reorganization.
+ Minor reformatting.
+ * sem_util.adb, errout.adb, exp_ch11.adb, a-ngrear.adb, s-gearop.adb,
+ sem_ch6.adb: Minor reformatting
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-except.ads, s-except.adb: Provide dummy body.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_warn.adb (Within_Postcondition): Take into account the case of
+ an Ensures component in a Test_Case.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-excdeb.ads, s-excdeb.adb: New files, created from s-except.
+ * rtsfind.ads (RTU_Id): Replaces System_Exceptions by
+ System_Exceptions_Debug
+ (RE_Unit_Table): Search RE_Local_Raise in System_Exceptions_Debug
+ * a-except.adb: With and use System.Exceptions_Debug instead of
+ System.Exceptions.
+ * a-except-2005.adb: Likewise.
+ * s-assert.adb: Likewise.
+ * s-except.adb, s-except.ads: Move debugging hooks to s-excdeb.
+ * Makefile.rtl: Add s-excdeb. Adjust compilation rule.
+ * gcc-interfaces/Makefile.in, gcc-interface/Make-lang.in: Add
+ s-excdeb. Update dependencies.
+ (GNATRTL_LINEARALGEBRA_OBJS): Remove a-nlrear.o a-nurear.o a-nllrar.o
+ as these no longer need external libraries.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Expon): Additional check to reject an
+ exponentiation operator on universal values in a context that requires
+ a fixed-point type.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (personnality_routine): Fix thinko. Set Ada occurrence
+ before calling notify_handled_exception.
+ * a-exextr.adb: Fix comment.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Add code to set attribute
+ Finalize_Address of the access type's finalization master.
+ (Expand_N_Allocator): Add code to set attribute Finalize_Address of the
+ access type's finalization master. Add a guard to prevent
+ Associated_Storage_Pool from being set on .NET/JVM.
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add code to set
+ attribute Finalize_Address of the access type's finalization master.
+ * exp_ch7.adb (Make_Finalize_Address_Call): New routine.
+ * exp_ch7.ads (Make_Finalize_Address_Call): New routine.
+ * rtsfind.ads: Add RE_Set_Finalize_Address to tables RE_Id and
+ RE_Unit_Table.
+ * s-finmas.adb: Add with clause for System.Address_Image. Add with and
+ use clause for System.IO
+ (Detach): Relax the assertion, to be reinstated later.
+ (Finalize): Rewrite the iteration loop to avoid pointer comparison.
+ Relax the assertion on Finalize_Address, to be reinstated later.
+ (Is_Empty_List): New routine.
+ (pm): New debug routine.
+ (Set_Finalize_Address): New routine.
+ * s-finmas.ads (pm): New debug routine.
+ (Set_Finalize_Address): New routine.
+ * s-stposu.adb (Allocate_Any_Controlled): Code reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (GCC_Exception_Access, GNAT_GCC_Exception_Access):
+ Remove convention C.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-taprop-vms.adb (Get_Exc_Stack_Addr): Remove.
+ (Initialize_TCB): Remove Exc_Stack_Ptr initialization.
+ (Finalize_TCB): Remove its finalization.
+ (Initialize): Remove assignment of GET_Exc_Stack_Addr
+ * s-soflin.adb (NT_Exc_Stack): Remove
+ (Get_Exc_Stack_Addr_NT): Likewise.
+ (Get_Exc_Stack_Addr_Soft): Likewise.
+ * s-soflin.ads (Get_Exc_Stack_Addr_NT): Remove.
+ (Get_Exc_Stack_Addr): Likewise.
+ (Get_Exc_Stack_Addr_Soft): Likewise
+ * s-taspri-vms.ads (Exc_Stack_T): Remove.
+ (Exc_Stack_Ptr_T): Likewise.
+ (Private_Data): Remove Exc_Stack_Ptr component.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * raise-gcc.c (get_ip_from_context): New function. Factorize code.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_ugn.texi: Fix aix and x86-solaris info for run-time.
+
+2011-08-29 Geert Bosch <bosch@adacore.com>
+
+ * s-gearop.ads (Back_Substitute, Diagonal, Forward_Eliminate,
+ L2_Norm, Swap_Column): New generic subprograms
+ * s-gearop.adb (Back_Substitute, Diagonal, Forward_Eliminate,
+ L2_Norm, Swap_Column): Implement new subprograms in order to
+ eliminate dependency on BLAS and LAPACK libraries in
+ Ada.Numerics.Generic_Real_Arrays and eventually also the complex
+ version. Forward_Eliminate/Back_Substitute can be used to put a
+ matrix in row echelon or reduced row echelon form using partial
+ pivoting.
+ * a-ngrear.adb: (Back_Substitute, Diagonal, Forward_Eleminate,
+ Swap_Column): Instantiate from System.Generic_Array_Operations.
+ ("*", "abs"): Implement by instantiation from Generic_Array_Operations.
+ (Sqrt): Local function for simple computation of square root without
+ adding dependencies on Generic_Elementary_Functions.
+ (Swap): New subprogram to exchange floating point numbers.
+ (Inverse): Reimplement using Jordan-Gauss elimination.
+ (Jacobi): New procedure implementing Jacobi's method for computation
+ of eigensystems, based on Rutishauser's implementation.
+ (L2_Norm): Implement directly using the inner product.
+ (Sort_Eigensystem): Sort eigenvalue/eigenvector pairs in order of
+ decreasing eigenvalue as required by the Ada RM.
+ (Swap_Column): New helper procedure for Sort_Eigensystem.
+ Remove with of System.Generic_Real_BLAS and System.Generic_Real_LAPACK.
+ Add with of Ada.Containers.Generic_Anonymous_Array_Sort, for
+ Sort_Eigensystems.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * put_scos.adb (Put_SCOs): Do not emit a newline for an empty
+ statements line.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-finmas.adb (Finalize): Check Finalize_Address of the master rather
+ than the current node.
+ * s-finmas.ads: Move field Finalize_Address from type FM_Node to
+ Finalization_Master. The list headers have two fields instead of three.
+ This should fix alignment issue but subpool allocations are now
+ unusable. Alphabetize subprograms.
+ * s-stposu.adb (Allocate_Any_Controlled): Use the offset rather than
+ the size of the header when converting the beginning of the object to
+ a FM_Node. Set the master's Finalize_Address attribute if not already
+ set.
+ (Deallocate_Any_Controlled): Use the offset rather than the size of the
+ header when converting the beginning of the object to a FM_Node.
+
+2011-08-29 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Don't suppress expansion of
+ reraise when compiling for CodePeer.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * a-iteint.ads, Makefile.rtl: Add missing compilation of a-iteint.ads,
+ now needed by a-convec.adb. Fix warning.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): Add a guard for the
+ processing of TSS routine Finalize_Address when compiling in
+ CodePeer_Mode.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * a-strunb.ads, einfo.ads, g-comlin.ads, sem_ch6.adb,
+ sem_warn.adb: Minor reformatting.
+
+2011-08-29 Emmanuel Briot <briot@adacore.com>
+
+ * prj-conf.adb (Get_Config_Switches): Also collect the list of
+ languages from aggregated projects.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb, lib-xref.ads (Traverse_Declarations_Or_Statements,
+ Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
+ Traverse_Package_Declaration, Traverse_Subprogram_Body,
+ Traverse_Compilation_Unit): Add a parameter Inside_Stubs so that bodies
+ for stubs are traversed too when parameter is set
+ (Traverse_All_Compilation_Units): Traverse without going inside stubs
+ (Traverse_Declarations_Or_Statements): Do the special traversing for
+ stubs when required.
+ * sem_util.adb, sem_util.ads (Get_Body_From_Stub): New function to
+ return subprogram or package body from stub.
+ (Is_Subprogram_Stub_Without_Prior_Declaration): New function to detect
+ stubs without prior subprogram decl.
+
+2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * s-stposu.adb (Allocate_Any_Controlled): Reimplement the mechanism
+ which accounts for size vs alignment issues and calculates the size of
+ the list header.
+ (Deallocate_Any_Controlled): Ditto.
+ (Nearest_Multiple_Rounded_Up): New routine.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exstat.adb (String_To_EO): Do no set Cleanup_Flag.
+ * a-exexda.adb (Set_Exception_C_Msg): Ditto.
+ (Set_Exception_Msg): Ditto.
+ * a-exexpr-gcc.adb (Setup_Current_Excep): Ditto. Do not set
+ Private_Data.
+ * a-except.adb, a-except-2005.adb (Save_Occurrence_No_Private): Remove.
+ Use Save_Occurrence instead of Save_Occurrence_No_Private.
+ (Raise_With_Msg): Remove Cleanup_Flag.
+ * a-except.ads, a-except-2005.ads (Exception_Occurrence): Remove
+ Clean_Flag and Private_Data components.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * freeze.adb (Freeze_Record_Type): Ignore packing in Alfa mode, like
+ in CodePeer mode.
+ * sem_ch3.adb (Signed_Integer_Type_Declaration): Correct the generation
+ of an explicitly declared type, so that the base types of the original
+ type and this generated type are the same, and a "type" (not a subtype
+ like previously).
+ * errout.adb (Special_Msg_Delete): Do not issue messages "Size too
+ small" in Alfa mode, like in CodePeer mode.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore rep
+ clauses in Alfa mode.
+
+2011-08-29 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.ads, exp_ch6.adb (Is_Null_Procedure): Move the spec of this
+ function to the package spec.
+ * sem_ch6.adb (Find_Corresponding_Spec, New_Overloaded_Entity): For
+ internally generated bodies of null procedures locate the internally
+ generated spec enforcing mode conformance.
+ (Is_Interface_Conformant): Ensure that the controlling formal of the
+ primitives match.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Inline): In an instance, do not
+ reject the pragma if it appears to apply to a formal subprogram.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Use consistent name for
+ inner expression, to prevent double evaluation.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Propagate_Exception): Remove all the parameters as
+ they were unused.
+ * a-exexpr-gcc.adb (Propagate_Exception): Ditto.
+ * a-except-2005.adb (Propagate_Exception): Adjust spec.
+ (Raise_Current_Excep): Adjust call.
+ (Raise_From_Signal_Handler): Call now simply call Raise_Current_Excep.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_disp.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb (Setup_Exception): Removed.
+ * a-exexpr-gcc.adb (Setup_Exception): Removed.
+ * a-except.adb (Exception_Propagation): Removed.
+ * a-except-2005.adb (Setup_Exception): Removed.
+ (Reraise): Remove call to Setup_Exception.
+ (Reraise_Occurrence): Ditto.
+ (Reraise_Occurrence_Always): Ditto.
+ (Reraise_Occurrence_No_Defer): Ditto.
+ (Transfer_Occurrence): Ditto.
+ * a-exexda.adb (Set_Exception_C_Msg): Remove call to Setup_Exception.
+ (Set_Exception_Msg): Ditto.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-convec.adb, exp_disp.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (GNAT_GCC_Exception_Access): Set to convention C.
+
+2011-08-29 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Record_Init_Proc.Build_Init_Procedure): Set
+ Exception_Handlers to No_List instead of Empty_List in the case where
+ there are no handlers.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/gigi.h (enum standard_datatypes): Add
+ ADT_reraise_zcx_decl
+ (reraise_zcx_decl): New macro.
+ * gcc-interface/trans.c (gnu_incoming_exc_ptr): New variable.
+ (gigi): Set reraise_zcx_decl.
+ (Exception_Handler_to_gnu_zcx): Save and restore gnu_incoming_exc_ptr.
+ (gnat_to_gnu): Handle N_Raise_Statement.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb, exp_ch3.adb, s-stposu.adb, a-undesu.ads,
+ a-undesu.adb: Minor reformatting.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Check_Premature_Freezing): When building a dispatch
+ table, accept an unfrozen untagged component if it is an actual for a
+ formal incomplete type.
+ * a-convec.ads, a-convec.adb: Instantiate Ada.Iterator_Interfaces to
+ provide new iterator forms over vectors.
+ Introduce type Iterator in package body to implement operations of
+ Reversible_Iterator interface.
+ * a-iteint.ads: Make package pure so it is usable with new container
+ packages, that are categorized Remote_Types.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-exexpr-gcc.adb, a-synbar.adb, sem_ch13.adb: Minor reformatting.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggr_Expr): Call this routine even in the case
+ of <>, because this is the routine that checks for dimensionality
+ errors (for example, for a two-dimensional array, (others => <>) should
+ be (others => (others => <>)).
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * impunit.adb: Add new run-time units.
+ * freeze.adb, exp_ch7.ads, exp_ch7.adb, exp_util.ads, exp_util.adb,
+ s-stposu.ads, s-stposu.adb: Code clean up.
+ Handle protected class-wide or task class-wide types
+ Handle C/C++/CIL/Java types.
+ * s-spsufi.adb, s-spsufi.ads: New files.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Reject test-case on
+ library-level subprogram.
+ * sem_prag.adb (Check_Test_Case): Stricter rules for test-case
+ placement.
+ (Analyze_Pragma): Change name "Normal" for "Nominal" in test-case
+ component.
+ * snames.ads-tmpl: Change name "Normal" for "Nominal" in test-case
+ component.
+ * gnat_rm.texi: Update doc for Test_Case pragma.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Unwind_Exception): Remove default value, made it
+ convention C.
+ (GCC_Exception_Access): New type.
+ (Unwind_DeleteException): New imported procedure
+ (Foreign_Exception): Import it.
+ (GNAT_GCC_Exception): Simply have the occurrence inside.
+ (To_GCC_Exception): New function.
+ (To_GNAT_GCC_Exception): New function.
+ (GNAT_GCC_Exception_Cleanup): New procedure..
+ (Propagate_GCC_Exception): New procedure.
+ (Reraise_GCC_Exception): New procedure.
+ (Setup_Current_Excep): New procedure.
+ (CleanupUnwind_Handler): Change type of UW_Exception parameter.
+ (Unwind_RaiseException): Ditto.
+ (Unwind_ForcedUnwind): Ditto.
+ (Remove): Removed.
+ (Begin_Handler): Change type of parameter.
+ (End_Handler): Ditto. Now delete the exception if still present.
+ (Setup_Key): Removed.
+ (Is_Setup_And_Not_Propagated): Removed.
+ (Set_Setup_And_Not_Propagated): Ditto.
+ (Clear_Setup_And_Not_Propagated): Ditto.
+ (Save_Occurrence_And_Private): Ditto.
+ (EID_For): Add 'not null' constraint on parameter.
+ (Setup_Exception): Does nothing.
+ (Propagate_Exception): Simplified.
+ * exp_ch11.adb (Expand_N_Raise_Statement): In back-end exception model,
+ re-raise is not expanded anymore.
+ * s-except.ads (Foreign_Exception): New exception - placeholder for
+ non Ada exceptions.
+ * raise-gcc.c (__gnat_setup_current_excep): Declare
+ (CXX_EXCEPTION_CLASS): Define (not yet used)
+ (GNAT_EXCEPTION_CLASS): Define.
+ (is_handled_by): Handle foreign exceptions.
+ (PERSONALITY_FUNCTION): Call __gnat_setup_current_excep.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * a-synbar.adb (Synchronous_Barrier): Some additional clarification.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * a-synbar-posix.adb: Minor reformatting.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads,
+ a-exetim-default.ads (Interrupt_Clocks_Supported,
+ Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
+ definitions to be compliant with AI-0171. The target systems do not
+ support separate account for the execution time of interrupt handlers.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * a-synbar.adb (Wait): Change the order of evaluation of the conditions
+ in the barrier to put first the easiest to evaluate (and the one which
+ will be True more often). More efficient.
+
+2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-atocou-x86.adb: Fix constraint in machine code insertion.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * aspects.ads, aspects.adb: Add new aspects for various pragmas and
+ attributes that are now aspects, as specified by AI05-0229-1.
+ * sem_ch13.adb (Analyze_Aspect_Specifications,
+ Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into
+ pragmas or attribute references, as appropriate.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-synbar.ads, a-synbar.adb, a-synbar-posix.adb,
+ a-synbar-posix.ads: Minor reformatting.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * snames.ads-tmpl: Add name Force.
+
+2011-08-29 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * a-exetim.ads (Interrupt_Clocks_Supported,
+ Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these
+ definitions to be compliant with AI-0171.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-ngelfu.adb: Add comments.
+
+2011-08-29 Geert Bosch <bosch@adacore.com>
+
+ * a-ngelfu.adb (Tan): Do not raise Constraint_Error if the argument is
+ the closest machine number to Pi / 2.0.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * impunit.adb (Non_Imp_File_Names_12): Add a-synbar for new Ada 2012
+ package Ada.Synchronous_Barriers.
+ * a-synbar.ads, a-synbar.adb, a-synbar-posix.ads, a-synbar-posix.adb:
+ Add new specs and bodies for Ada.Synchronous_Barriers. There is a
+ default implementation using protected objects and another one
+ a-synbar-posix using POSIX barriers as the underlying support.
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for Linux (x86,
+ x86_64, ia64) and MIPS IRIX): Use the a-synbar-posix implementation of
+ Ada.Synchronous_Barriers which uses POSIX barriers (more efficient).
+ Clean up dependencies.
+ * Makefile.rtl (GNATRTL_TASKING_OBJS): Add a-synbar.o
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch7.adb, make.adb, sem_res.adb, exp_intr.adb,
+ exp_dist.adb: Minor code reorganization.
+ Minor reformatting.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_RACW_Primitive): The return type of an RACW
+ primitive operation must support external streaming if it is not a
+ controlling access result.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads, sem_ch7.adb: Minor reformatting.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Check No_Nested_Finalization
+ restriction on allocators, as required by AI05-0013-1.
+ * restrict.ads: Minor comment fix.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr.adb, a-except-2005.ads (Jmpbuf_Address): Move to a-exexpr.adb
+ (To_Jmpbuf_Address): Ditto
+ (builtin_longjmp): Ditto
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Move special processing for VM targets after the
+ call to Get_Target_Parameters.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb, par-ch12.adb: Minor reformatting.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_res.adb (Resolve_Allocator): Implement Ada2012-B052. Detect cases
+ where an anonymous access discriminant of a limited designated type
+ appears in a non-immutably limited discriminated type and issue an
+ error message. Add local variable Desig_T and replace all occurrences
+ of Designated_Type.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * a-rttiev.adb (Set_Handler): Update comment to indicate that our
+ implementation is compliant to RM D.15(15/2) after the modification
+ imposed by AI05-0094-1 (binding interpretation).
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, s-tasren.adb, exp_sel.adb, exp_sel.ads, exp_ch11.adb,
+ s-interr-hwint.adb, s-tpobop.adb, sem_ch13.adb: Minor reformatting.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * par-endh.adb (Check_End): For an END where it is mandatory to repeat
+ the scope name, do not report a missing label as a style violation (it
+ will be diagnosed as an illegality).
+ * exp_dist.adb (Add_Params_For_Variant_Components): Fix handling of
+ variant records: Get_Enum_Lit_From_Pos already returns a usage
+ occurrence of the literal, no need to use New_Occurrence_Of. Set Etype
+ on Expr in Integer_Literal case so that it can be used by
+ Build_To_Any_Call.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
+ Adjust comment.
+ * exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
+ (Build_Abort_Block_Handler): New function to build an Abort_Signal
+ exception handler.
+ * exp_ch9.adb (Expand_N_Asynchronous_Select): Call
+ Build_Abort_Block_Handler to build the exception handler. Do not
+ undefer aborts for the Abort_Signal exception handler if back-end
+ exception mechanism.
+ * exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
+ back_end exceptions for all others and abort_signal.
+ * s-except.ads (ZCX_By_Default): New constant.
+ * a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
+ (Raise_Exception_Always): Ditto.
+ (Raise_From_Signal_Handler): Ditto.
+ (Raise_With_Location_And_Msg): Ditto.
+ (Raise_With_Msg): Ditto.
+ (Reraise): Ditto.
+ (Reraise_Occurence): Ditto.
+ (Reraise_Occurrence_Always): Ditto.
+ * s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
+ * s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * snames.adb-tmpl, sem_ch13.adb: Minor reformatting
+ Minor code reorganization.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * usage.adb (-gnatwy): Fix documentation: this switch applies to Ada
+ 2012, not just Ada 2005.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Indicate that when the compiler is called by gnatmake
+ with a project file or with gprbuid, if -gnatep= is specified, the
+ builder may need to be invoked with -x.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb: Minor comment fix.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * par-ch2.adb (P_Identifier): Warn that "some" is reserved in Ada 2012.
+ * par-ch4.adb (P_Quantified_Expression): Remove unnecessary code for
+ treating "some" as unreserved in earlier Ada versions. This is now
+ handled in Snames.Is_Keyword_Name. Parse "for some" using Tok_Some,
+ rather than Name_Some, since Tok_Some is now recognized as reserved.
+ * scans.adb (Initialize_Ada_Keywords): Handle Tok_Some like any other
+ reserved word.
+ * scans.ads: Minor comment fixes.
+ * snames.adb-tmpl (Is_Keyword_Name): Handle Ada 2012 reserved words as
+ for other language versions.
+ * scn.adb (Scan_Reserved_Identifier): Remove unnecessary code for
+ treating "some" as unreserved in earlier Ada versions. This is now
+ handled in Snames.Is_Keyword_Name.
+ * par-ch3.adb (P_Defining_Identifier): Warn that "some" is reserved in
+ Ada 2012.
+ (P_Subtype_Mark_Resync): Remove unnecessary code for treating "some" as
+ unreserved in earlier Ada versions. This is now handled in
+ Snames.Is_Keyword_Name.
+ * snames.ads-tmpl (Ada_2012_Reserved_Words): Handle Ada 2012 reserved
+ words as for other language versions.
+ * gnat_ugn.texi (-gnatwy): Fix documentation: this switch applies to
+ Ada 2012, not just Ada 2005.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: Additional semantic checks for aspects involved in
+ iterators.
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-comutr.ads, a-comutr.adb, a-cimutr.ads, a-cimutr.adb,
+ a-cbmutr.ads, a-cbmutr.adb (Find_In_Subtree): Remove superfluous
+ Container parameter.
+ (Ancestor_Find): ditto.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * par-endh.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * a-exexpr-gcc.adb (Unwind_Action) Rewrite as an integer with constants.
+ (GNAT_GCC_Exception): Remove N_Cleanups_To_Trigger component.
+ (Adjust_N_CLeanups_For): Remove.
+ (CleanupUnwind_Handler): Call Unhandled_Exception_Terminate when end of
+ stack is reached.
+ (Propgate_Exception): Adjust.
+ * raise-gcc.c: Add a few static/const.
+ (Adjust_N_Cleanups_For): Remove declaration.
+ (PERSONALITY_FUNCTION): Remove code dealing with N_Cleanups_To_Trigger.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: Use type of function return when rewriting as object
+ declaration.
+
+2011-08-29 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_type.adb: Minor reformatting.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * makeutl.adb: Minor reformatting.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): If the renamed object is a
+ function call of a limited type, the expansion of the renaming is
+ complicated by the presence of various temporaries and subtypes that
+ capture constraints of the renamed object.
+ Rewrite node as an object declaration, whose expansion is simpler.
+ Given that the object is limited there is no copy involved and no
+ performance hit.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
+ freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
+ system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
+ system-linux-hppa.ads, system-linux-s390.ads,
+ system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
+ system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
+ system-aix64.ads, system-lynxos-ppc.ads, system-linux-sh4.ads,
+ system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads,
+ system-vxworks-ppc.ads, system-hpux.ads, system-darwin-ppc.ads,
+ system-solaris-sparc.ads, system-lynxos-x86.ads,
+ system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
+ system-solaris-x86_64.ads, system-mingw-x86_64.ads,
+ system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
+ system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
+ system-vxworks-x86.ads: Remove GCC_ZCX_Support.
+ * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
+ s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
+ * opt.ads: Adjust comment.
+ * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
+ * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
+ * system.ads: Move GCC_ZCX_Support to obsolete entries.
+
+2011-08-29 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
+ file name is specified on the gnatmake or gprbuild command line, and
+ before we search for that file in the project.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
+ used to determine whether a possible interpretation for an overloadable
+ entity is declared within the current instantiation and should be
+ included in the candidate set.
+
+2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Clean ups.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Use base type to determine whether an
+ access subtype is access_to_subprogram, when applying checks for
+ RM 3.10.2 (27).
+
+2011-08-29 Matthew Heaney <heaney@adacore.com>
+
+ * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Splice_Subtree): Only check
+ for sibling when common parent.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * get_scos.adb: Literals of Pragma_Id are pragma names prefixed with
+ "pragma_".
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Enable freeze actions
+ for the return type when in ASIS mode.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Get the default search dirs, then the target
+ parameters after getting the Builder switches, as the Builder switches
+ may include --RTS= and that could change the default search dirs.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Make_Adjust_Call): Rewrite to mimic the structure of
+ Make_Final_Call. Move the processing for class-wide types before the
+ processing for derivations from [Limited_]Controlled.
+ (Make_Final_Call): Move the processing for class-wide types before the
+ processing for derivations from [Limited_]Controlled.
+ * s-stposu.adb (Allocate_Any_Controlled): Correct the membership check.
+ Add code to account for alignments larger than the list header. Add a
+ comment illustrating the structure of the allocated object + padding +
+ header.
+ (Deallocate_Any_Controlled): Add code to account for alignments larger
+ than the list header.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb: New node kind
+ N_Formal_Incomplete_Type_Definition, related flags.
+ par-ch12.adb (P_Formal_Type_Declaration, G_Formal_Type_Definition):
+ Parse formal incomplete types.
+ * sem.adb (Analyze): Formal_Incomplete_Type_Definitions are handled in
+ sem_ch12.
+ * sem_ch7.adb (Analyze_Package_Specification, Unit_Requires_Body):
+ Formal incomplete types do not need completion.
+ * sem_ch12.adb (Analyze_Formal_Incomplete_Type,
+ Validate_Incomplete_Type_Instance): New procedures to handle formal
+ incomplete types.
+ * freeze.adb (Freeze_Entity): Do not freeze the subtype of an actual
+ that corresponds to a formal incomplete type.
+ * sprint.adb: Handle formal incomplete type declarations.
+ * exp_util.adb (Insert_Actions): An incomplete_type_definition is not
+ an insertion point.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-fihema.ads, a-fihema.adb: Unit removed.
+ * a-undesu.ads, a-undesu.adb: New unit implementing
+ Ada.Unchecked_Deallocate_Subpool.
+ * einfo.adb: Remove Associated_Collection from the node usage.
+ Add Finalization_Master to the node usage.
+ (Associated_Collection): Removed.
+ (Finalization_Master): New routine.
+ (Set_Associated_Collection): Removed.
+ (Set_Finalization_Master): New routine.
+ (Write_Field23_Name): Remove Associated_Collection from the output. Add
+ Finalization_Master to the output.
+ * einfo.ads: Remove attribute Associated_Collection and its uses in
+ entities.
+ Add new attribute Finalization_Master along with its uses in entitites.
+ (Associated_Collection): Removed along with its pragma import.
+ (Finalization_Master): New routine along with a pragma import.
+ (Set_Associated_Collection): Removed along with its pragma import.
+ (Set_Finalization_Master): New routine along with a pragma import.
+ * exp_ch3.adb (Expand_Freeze_Array_Type): Replace call to
+ Build_Finalization_Collection with Build_Finalization_Master.
+ (Expand_Freeze_Record_Type): Move the generation of Finalize_Address
+ before the bodies of the predefined routines. Add comment explaining
+ this. Replace call to Build_Finalization_Collection with
+ Build_Finalization_Master.
+ (Freeze_Type): Replace call to Build_Finalization_Collection with
+ Build_Finalization_Master.
+ (Make_Finalize_Address_Body): Comment reformatting.
+ (Make_Predefined_Primitive_Specs): Code reformatting.
+ (Stream_Operation_OK): Update comment mentioning finalization
+ collections. Replace RE_Finalization_Collection with
+ RE_Finalization_Master.
+ * exp_ch4.adb (Complete_Controlled_Allocation): Replace call to
+ Associated_Collection with Finalization_Master. Replace call to
+ Build_Finalization_Collection with Build_Finalization_Master.
+ (Expand_Allocator_Expression): Replace call to Associated_Collection
+ with Finalization_Master. Replace call to Set_Associated_Collection with
+ Set_Finalization_Master. Remove the generation of
+ Set_Finalize_Address_Ptr.
+ (Expand_N_Allocator): Replace call to Associated_Collection with
+ Finalization_Master. Remove the generation of Set_Finalize_Address_Ptr.
+ * exp_ch6.adb (Add_Collection_Actual_To_Build_In_Place_Call): Renamed to
+ Add_Finalization_Master_Actual_To_Build_In_Place_Call. Update the
+ comment on usage. Replace call to Needs_BIP_Collection with
+ Needs_BIP_Finalization_Master Remplace BIP_Collection with
+ BIP_Finalization_Master. Update all comments which mention finalization
+ collections. Replace Associated_Collection with
+ Finalization_Master. Replace Build_Finalization_Collection with
+ Build_Finalization_Master.
+ (BIP_Formal_Suffix): Update BIP_Collection's case.
+ (Build_Heap_Allocator): Update the related comment. Rename local
+ variable Collect to Fin_Mas_Id and update its occurrences. Update
+ comments which mention finalization collections. Replace
+ Set_Associated_Collection with Set_Finalization_Master.
+ (Expand_Call): Update the code which detects a special piece of library
+ code for .NET/JVM.
+ (Make_Build_In_Place_Call_In_Allocator): Replace the call to
+ Add_Collection_Actual_To_Build_In_Place_Call with
+ Add_Finalization_Master_Actual_To_Build_In_Place_Call. Remove the code
+ which generates a call to Make_Set_Finalize_Address_Ptr_Call.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): Replace call to
+ Add_Collection_Actual_To_Build_In_Place_Call with
+ Add_Finalization_Master_Actual_To_Build_In_Place_Call.
+ (Make_Build_In_Place_Call_In_Assignment): Replace call to
+ Add_Collection_Actual_To_Build_In_Place_Call with
+ Add_Finalization_Master_Actual_To_Build_In_Place_Call.
+ (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
+ * exp_ch6.ads: Rename BIP_Collection to BIP_Finalization_Master.
+ (Needs_BIP_Collection): Renamed to Needs_BIP_Finalization_Master.
+ * exp_ch7.adb (Build_BIP_Cleanup_Stmts): Update comment on usage.
+ Rename local variable Collect to Fin_Mas_Id and update its occurrences.
+ Replace call to Set_Associated_Collection with Set_Finalization_Master.
+ (Build_Finalization_Collection): Renamed to Build_Finalization_Master.
+ Replace the call to Associated_Collection with Finalization_Master.
+ Rename local variable Coll_Id to Fin_Mas_Id and update its occurrences.
+ Update the way finalization master names are generated. Update the
+ retrieval of the correct access type which will carry the pool and
+ master attributes.
+ (Make_Final_Call): Reimplement the way [Deep_]Finalize is retrieved.
+ (Make_Finalize_Address_Body): Abstract types do not need
+ Finalize_Address. Code reformatting.
+ (Make_Finalize_Address_Stmts): Update comment on usage.
+ (Make_Set_Finalize_Address_Ptr_Call): Removed.
+ (Process_Declarations): Update comments.
+ * exp_ch7.ads (Build_Finalization_Collection): Renamed to
+ Build_Finalization_Master. Update associated comment.
+ (Make_Set_Finalize_Address_Ptr_Call): Removed.
+ * exp_ch13.adb: Update comments which mention finalization collections.
+ (Expand_N_Free_Statement): Replace the call to Associated_Collection
+ with Finalization_Master.
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): Reimplemented to
+ create calls to routines Allocate_Any_Controlled and
+ Deallocate_Any_Controlled.
+ (Find_Finalize_Address): New routine.
+ (Is_Allocate_Deallocate_Proc): Update the RTE entities used in the
+ comparison.
+ (Requires_Cleanup_Actions): Update the comment on freeze node
+ inspection.
+ * exp_util.ads: Remove comment on generated code for
+ Build_Allocate_Deallocate_Proc. The code is now quite complex and it
+ is better to simply look in the body.
+ * freeze.adb (Freeze_All): Update the comment of finalization
+ collections. Replace the call to Associated_Collection with
+ Finalization_Master. Replace the call to Build_Finalization_Collection
+ with Build_Finalization_Master.
+ * impunit.adb: Add a-undesu and s-stposu to the list of units.
+ * Makefile.rtl: Add files a-undesu, s-finmas and s-stposu. Remove file
+ a-fihema.
+ * rtsfind.adb (Get_Unit_Name): Remove the processing for children of
+ Ada.Finalization. Add processing for children of System.Storage_Pools.
+ * rtsfind.ads: Remove the naming of second level children of
+ Ada.Finalization.
+ Remove Ada_Finalization_Heap_Management from the list of units.
+ Remove subtype Ada_Finalization_Child.
+ Remove the following subprogram entities:
+
+ RE_Allocate
+ RE_Deallocate
+ RE_Finalization_Collection
+ RE_Finalization_Collection_Ptr
+ RE_Set_Finalize_Address_Ptr
+
+ Add the naming of second level children of System.Storage_Pools.
+ Add System_Finalization_Masters and System_Storage_Pools_Subpools to
+ the list of units.
+ Add subtype System_Storage_Pools_Child.
+ Add the following subprogram entities to System.Finalization_Masters:
+
+ RE_Finalization_Master
+ RE_Finalization_Master_Ptr
+
+ Add the following subprogram entities to System.Storage_Pools.Subpools:
+
+ RE_Allocate_Any_Controlled
+ RE_Deallocate_Any_Controlled
+ RE_Root_Storage_Pool_With_Subpools
+ RE_Root_Subpool
+ RE_Subpool_Handle
+
+ Move the following subprogram entities from
+ Ada.Finalization.Heap_Management to System.Finalization_Masters:
+
+ RE_Add_Offset_To_Address
+ RE_Attach
+ RE_Base_Pool
+ RE_Detach
+
+ * sem_ch3.adb (Access_Type_Declaration): Replace the call to
+ Set_Associated_Collection with Set_Finalization_Master.
+ * sem_ch6.adb (Create_Extra_Formals): Update the way extra formal
+ BIP_Finalization_Master is created.
+ * s-finmas.adb: New unit System.Finalization_Masters.
+ * s-finmas.ads: New unit System.Finalization_Masters.
+ * s-stopoo.ads, s-stopoo.adb: Minor code reformatting.
+ * s-stposu.ads, s-stposu.adb: New unit implementing
+ System.Storage_Pools.Subpools.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * tbuild.adb: Add assertion.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * s-pooglo.adb: Minor reformatting.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): if the left-hand side is
+ an indexed component of a packed array whose element type is a record
+ with a representation clause different from that of the right-hand
+ side, generate a temporary to minimuze the number of bit-field
+ operations generated.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Insert_Actions): Use clauses can be part of lists of
+ declarations, and thus are likely insertion points for actions.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * einfo.ads: Minor comment fix.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb, gnat1drv.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * s-pooglo.adb (Allocate, Deallocate): Take into account the alignment.
+ * a-fihema.adb (Allocate, Deallocate): Ditto. Possibly add padding
+ space in front of the header.
+
+2011-08-29 Johannes Kanig <kanig@adacore.com>
+
+ * frontend.adb (Frontend): Exit after creating Standard package when
+ -gnatd.H is present.
+ * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
+ present.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb,
+ makeutl.adb, makeutl.ads, atree.ads, snames.adb-tmpl,
+ snames.ads-tmpl: Minor reformatting.
+
+2011-08-29 Philippe Gil <gil@adacore.com>
+
+ * prj.adb (Reset_Units_In_Table): New procedure.
+ Reset units to avoid access to freed memory.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * get_scos.adb: When reading a P statement SCO without a pragma name
+ (from an older ALI file), ensure that the Pragma_Name component is set
+ to Unknown_Pragma (not left uninitialized).
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Get_Directories): New procedure moved from Buildgpr and
+ modified to compute correctly the object path of a SAL project that is
+ extending another library project.
+ (Write_Path_File): New procedure.
+ * makeutl.ads (Directories): New table moved from Buildgpr
+ (Get_Directories): New procedure moved from Buildgpr
+ (Write_Path_File): New procedure
+ * mlib-prj.adb (Build_Library): Use Makeutl.Get_Directories to set the
+ paths before binding SALs, instead of Set_Ada_Paths.
+ * prj-env.adb (Set_Path_File_Var): Procedure has been moved to package
+ Prj.
+ * prj.adb (Set_Path_File_Var): New procedure moved from Prj.Env
+ (Current_Source_Path_File_Of): New function
+ (Set_Current_Object_Path_File_Of): New procedure
+ (Current_Source_Object_File_Of): New function
+ (Set_Current_Object_Path_File_Of): New procedure
+ * prj.ads (Set_Path_File_Var): New procedure moved from Prj.Env
+ (Current_Source_Path_File_Of): New function
+ (Set_Current_Object_Path_File_Of): New procedure
+ (Current_Source_Object_File_Of): New function
+ (Set_Current_Object_Path_File_Of): New procedure
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): For an assignment to a
+ packed entity, use a bit-field assignment only if there is no change of
+ representation.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, exp_ch3.adb (In_Runtime): Minor code improvement, use
+ Is_RTU instead of using Chars comparisons.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb (Build_Mutable_Record_Read_Procedure): Do not create a
+ temporary object if the actual is constrained, and the discriminants
+ read from the stream don't match.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * sem_attr.adb, exp_attr.adb: Add handling of
+ Attribute_System_Allocator_Alignment
+ * snames.ads-tmpl: Add Name_System_Allocator_Alignment and
+ Attribute_System_Allocator_Alignment.
+ * ttypes.ads, get_targ.ads: Add Get_System_Allocator_Alignment.
+ * gcc-interface/targtyps.c, gcc-interface/utils2.c,
+ gcc-interface/gigi.h: Renames get_target_default_allocator_alignment to
+ get_target_system_allocator_alignment.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
+ dependencies.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch3.adb (In_Runtime): Fix typo.
+
+2011-08-29 Bob Duff <duff@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Analyze the subpool specification.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): If the entity is tagged
+ and a separate tag assignment is generated, ensure that the tag
+ assignment is analyzed.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.ads, atree.adb (Copy_Separate_List): New function that applies
+ Copy_Separate_Tree to a list of nodes. Used to create disjoint copies
+ of statement lists that may contain local declarations.
+ * exp_ch9.adb (Expand_N_Timed_Entry_Call): Use Copy_Separate_List to
+ duplicate the triggering statements needed for the expansion of this
+ construct, when the trigger is a dispatching call to a synchronized
+ primitive.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi: Add doc for 'Elab_Subp_Body.
+ * bindgen.adb: Add comments.
+ * snames.adb-tmpl (Is_Attribute_Name): Only recognize 'Elab_Subp_Body
+ in CodePeer mode.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb: Minor reformatting.
+ Minor code reorganization and commenting.
+ * par_sco.adb, checks.adb, sem_attr.adb, get_scos.adb: Minor
+ reformatting.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * get_scos.adb: Ignore chaining indicators not currently supported
+ by Ada.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * system.ads: Minor editing.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb (Gen_Elab_Calls): Generate calls to subp'Elab_Subp_Body in
+ CodePeer mode.
+ * sem_attr.ads, sem_attr.adb, exp_Attr.adb, sem_ch6.adb: Add handling of
+ Attribute_Elab_Subp_Body.
+ * snames.ads-tmpl (Attribute_Elab_Subp_Body, Name_Elab_Subp_Body): New.
+ * sem_util.adb: Update comments.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.adb, scos.ads, put_scos.adb, get_scos.adb: Record
+ pragma name for each SCO statement corresponding to a pragma.
+
+2011-08-29 Arnaud Charlet <charlet@adacore.com>
+
+ * opt.ads: Minor editing.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Remove options for ALFA mode
+ that only made sense for CodePeer mode.
+
+2011-08-29 Jose Ruiz <ruiz@adacore.com>
+
+ * targparm.ads (Support_64_Bit_Divides_On_Target): Remove this flag
+ which is no longer used.
+ * targparm.adb (S64, S64_Str, Get_Target_Parameters): Remove the
+ handling of the 64-bit division check.
+ * exp_ch4.adb (Expand_N_Op_Divide): Remove the check for 64-bit
+ division available.
+ * system*.ads (Support_64_Bit_Divides): Remove this flag which is no
+ longer used.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * get_scos.adb: Minor reformatting.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Process_Statements_For_Controlled_Objects): Whenever a
+ statement list is wrapped in a block, the block is explicitly analyzed
+ in order to properly redecorate the entities and create a servicing
+ finalizer.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Zero_Cost_Handling): Remove.
+ (Set_Zero_Cost_Handling): Remove.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting
+
+2011-08-29 Geert Bosch <bosch@adacore.com>
+
+ * s-vaflop-vms-alpha.adb (Neg_F): Use subtraction instead of negation
+ instruction, as the latter may produce -0.0, which is not a valid VAX
+ F float number.
+ (Neg_G): Likewise for VAX F float.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb: Minor comment update.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb (Apply_Type_Conversion_Checks): Use the Underlying_Type of
+ the operand type.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Do not flush
+ current statement sequence on a generic instantiation or a subprogram
+ declaration.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_type.adb, einfo.ads, freeze.adb, exp_ch4.adb, sem_ch13.adb:
+ Minor reformatting.
+
+2011-08-29 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
+ Correct the check which involves the freeze node of a controlled or
+ access-to-controlled type.
+
+2011-08-29 Geert Bosch <bosch@adacore.com>
+
+ * sem_warn.adb (Check_Code_Statement): Remove check for consecutive Asm
+ statements.
+ * s-vaflop-vms-alpha.adb: Remove bogus Volatile => True arguments from
+ Asm statements.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): Insert a subtype declaration
+ for every index type and component type that is not a subtype_mark.
+ (Process_Subtype): Set Etype of subtype.
+
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * a-cbmutr.adb, a-cimutr.adb, a-comutr.adb, prj-nmsc.adb: Minor code
+ reorganization. Minor reformatting.
+
+2011-08-29 Steve Baird <baird@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Expon): Suppress N_Op_Expon node expansion
+ for CodePeer and ALFA modes.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Collect_Interps): Within an instance, collect a homonym
+ that comes from an enclosing scope if it is not the renaming of an
+ actual, to handle properly a spurious ambiguity in an instance.
+
+2011-08-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.adb (Alignment_Check_For_Esize_Change): Rename to...
+ (Alignment_Check_For_Size_Change): ...this. Add SIZE parameter and
+ use it instead of the Esize of the first parameter.
+ (Analyze_Attribute_Definition_Clause) <Object_Size>: Adjust call to
+ above change.
+ <Size>: Likewise. Call it for composite types on the RM size.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Not): Do not expand not on array.
+ * sem_util.adb (Unique_Name): Correct behaviour for names of
+ compilation units.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb (Check_Precondition_Postcondition): In formal
+ verification mode, analyze pragma expression for correctness, for
+ pre/post on library-level subprogram, as it is not expanded later.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): Do not expand array aggregates
+ in formal verification.
+
+2011-08-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+ * freeze.adb, sem_ch13.adb: Fix comment: Bit_Order is an attribute,
+ there's no pragma.
+ * par_sco.ads, par_sco.adb: Update comments.
+
+2011-08-29 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads: Remove flag Is_Postcondition_Proc and
+ associated getter/setter.
+ * sem_ch6.adb: Remove reference to Is_Postcondition_Proc.
+
+2011-08-29 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New Compiler attribute Dependency_Kind and Language_Kind
+ * prj-conf.adb: Add_Default_GNAT_Naming_Scheme: Add a package Compiler
+ with declarations for Language_Kind and Dependency_Kind for Ada.
+ * prj-nmsc.adb (Check_Unit_Name): New name of procedure Check_Ada_Name
+ (Process_Compiler): Take into account the new attributes Dependency_Kind
+ and Language_Kind.
+ (Check_Configuration): Check if language kind is unit based, not if the
+ language name is Ada.
+ (Process_Exceptions_Unit_Based): Ditto
+ (Add_Language): Remove default additions of language and dependency kind
+ * prj.ads: Minor comment change
+ * snames.ads-tmpl: New standard names Dependency_Kind and Language_Kind
+
+2011-08-29 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: Update comments.
+
+2011-08-24 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (CFLAGS-ada/tracebak.o)
+ (CFLAGS-ada/targext.o, CFLAGS-ada/cio.o, CFLAGS-ada/init.o)
+ (CFLAGS-ada/initialize.o, CFLAGS-ada/raise.o): New.
+ (ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o)
+ (ada/initialize.o, ada/raise.o): Remove explicit compilation rules.
+
+2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New.
+ (GNATLIBCFLAGS_FOR_C): Replace
+ TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET.
+ (gnatlib-shared-default, gnatlib-shared-dual-win32)
+ (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared)
+ (gnatlib-sjlj, gnatlib-zcx): Likewise.
+
+2011-08-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
+
+ * gcc-interface/gigi.h (enumerate_modes): Fix formatting.
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
+
+2011-08-05 Nicolas Roche <roche@adacore.com>
+
+ * gcc-interface/Makefile.in: Don't use directly ../xgcc to build shared
+ libgnat. Use rather the value of GCC_FOR_TARGET. Fix issue with
+ canadian cross.
+ * gcc-interface/Make-lang.in: Add support for canadian cross setting.
+
+2011-08-05 Matthew Heaney <heaney@adacore.com>
+
+ * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Child_Count, Child_Depth):
+ subprogram bodies declared out-of-order.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Unique_Name): only prefix with "standard" the names of
+ entities directly in package Standard, otherwise skip the standard
+ prefix.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * a-cbmutr.adb: Minor reformatting
+ (Allocate_Node): refactor node allocation algorithm
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, opt.adb (Debug_Pragmas_Disabled): New switch.
+ * sem_prag.adb (Analyze_Pragma, case Debug_Policy): Implement Disable
+ mode.
+ (Analyze_Pragma, case Check_Policy): Ditto.
+ * sem_prag.ads (Check_Disabled): New function
+ * snames.ads-tmpl: Add Name_Disable.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document implementation-defined policy DISABLE for
+ pragmas Assertion_Policy, Check_Policy, Debug_Policy.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Inline): reject an Inline pragma
+ that appears in a generic formal part and applies to a formal
+ subprogram.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * a-cbmutr.ads: Minor reformatting.
+
+2011-08-05 Matthew Heaney <heaney@adacore.com>
+
+ * a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Read): do not use T'Valid
+ to check count, check sign of value instead.
+ * a-comutr.adb, a-cimutr.adb (Write): return immediately if tree empty
+ (Copy_Subtree): allocate copy of source element
+ (Equal_Subtree): compare elements, not access objects
+
+2011-08-05 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Fix VMS alternative.
+
+2011-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch11.adb: Add comment.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor comment fix.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Error_Unterminated_String): Improve flag position when
+ comma present.
+
+2011-08-05 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added a-cbmutr.ad[sb] (bounded multiway
+ tree containers).
+ * a-cbmutr.ads, a-cbmutr.adb: This is the new Ada 2012 unit for bounded
+ multiway tree containers.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * styleg.adb (Check_Comment): Implement comment spacing of 1 or 2
+ * stylesw.adb: Implement -gnatyC to control comment spacing
+ * stylesw.ads (Style_Check_Comments_Spacing): New switch (set by
+ -gnatyc/C).
+ * usage.adb: Add line for -gnatyC.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Document -gnatyC.
+ * vms_data.ads: Implement COMMENTS1/COMMENTS2 (retaining COMMENTS as a
+ synonym for COMMENTS2).
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, sem_ch3.adb, scos.ads, a-iteint.ads, sem_ch12.adb,
+ a-cimutr.adb, a-cimutr.ads, sem_util.ads, sem_res.adb, a-fihema.adb,
+ sem_ch4.adb, lib-xref-alfa.adb, exp_disp.adb, a-comutr.adb,
+ a-comutr.ads, lib-xref.adb: Minor reformatting.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch11.adb (Analyze_Raise_Statement): Kill assignment to formal
+ warning if there is an exception handler present.
+
+2011-08-05 Pascal Obry <obry@adacore.com>
+
+ * a-iteint.ads: Fix copyright year.
+
+2011-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Do not generate a
+ statement SCO for a USE clause or a representation clause.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Collect_ALFA): generate the proper relation
+ between body and spec for stub.
+ (Detect_And_Add_ALFA_Scope): take into account subprogram stub
+ * lib-xref.adb (Enclosing_Subprogram_Or_Package): in the case of a
+ pragma precondition or postcondition, for which the enclosing
+ subprogram or package in the AST is not the desired one, return empty.
+
+2011-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * g-expect.adb: Minor reformatting.
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * a-fihema.adb: Comment out OS_Lib.
+
+2011-08-05 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added a-c[oi]mutr.ad[sb]
+ (unbounded multiway tree containers) and a-iteint.ads.
+ * a-comutr.ads, a-comutr.adb:
+ This is the new Ada 2012 unit for unbounded multiway tree containers
+ * a-cimutr.ads, a-cimutr.adb
+ This is the new Ada 2012 unit for indefinite multiway tree containers
+ * a-iteint.ads: New file.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (raise-gcc.o): Search $(srcdir)/../libgcc.
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Subpool_Handle_Name): New attribute for
+ subpools.
+ * par-ch4.adb (P_Allocator): Parse new subpool specification syntax.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Container_Indexing): New procedure to implement the
+ general indexing aspects of Ada2012. Called when analyzing indexed
+ components when other interpretations fail.
+ * sem_ch8.adb (Find_Direct_Name): check for implicit dereference only
+ in an expression context where overloading is meaningful. This excludes
+ the occurrence in an aspect specification (efficiency only).
+ * sem_attr.adb (Analyze_Attribute): indicate that the attributes
+ related to iterators can be set by an attribute specification, but
+ cannot be queried.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): handle
+ Constant_Indexing and Variable_Indexing.
+ (Check_Indexing_Functions): New procedure to perform legality checks.
+ Additional semantic checks at end of declarations.
+
+2011-08-05 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads: Update ASIS_Version_Number because of the change of the
+ order of calling Tree_Write/Tree_Read routines made for aspects.
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * a-fihema.adb (Finalize): Fix race condition.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation,
+ Need_Subprogram_Instance_Body): do not generate instance bodies in ALFA
+ mode.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Specific_Type): in an instance, the type-specific
+ operand of an equality check that involves null may have a private
+ type. Use full view to determine legality of construct.
+
+2011-08-05 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
+ delete or close the file when the call to gnatmake was successful.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): in ALFA mode, set
+ Global_Discard_Names.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads: comments on use of entity field for aspect specifications.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Reset_Entity): If the entity field of the associated
+ node is not itself an entity but a selected component, it is a
+ rewritten parameterless call to an en enclosing synchronized operation,
+ and this expansion will be performed again in the instance, so there is
+ no global information to preserve.
+
+2011-08-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Set_All_DT_Position): Cleanup code and improve support
+ for renamings of predefined primitives.
+ (In_Predef_Prims_DT): New subprogram.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb, sem_util.ads (Check_Implicit_Dereference): If a
+ possible interpretation of name is a reference type, add an
+ interpretation that is the designated type of the reference
+ discriminant of that type.
+ * sem_res.adb (resolve): If the interpretation imposed by context is an
+ implicit dereference, rewrite the node as the deference of the
+ reference discriminant.
+ * sem_ch3.adb (Analyze_Subtype_Declaration, Build_Derived_Record_Type,
+ Build_Discriminated_Subtype): Inherit Has_Implicit_Dereference from
+ parent type or base type.
+ * sem_ch4.adb (Process_Indexed_Component,
+ Process_Overloaded_Indexed_Component, Indicate_Name_And_Type,
+ Analyze_Overloaded_Selected_Component, Analyze_Selected_Component):
+ Check for implicit dereference.
+ (List_Operand_Interps): Indicate when an implicit dereference is
+ ambiguous.
+ * sem_ch8.adb (Find_Direct_Name): Check for implicit dereference.
+
+2011-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Update documentation of SCO table. Pragma statements can now
+ be marked as disabled (using 'p' instead of 'P' as the statement kind).
+ * par_sco.ads, par_sco.adb: Implement the above change.
+ (Process_Decisions_Defer): Generate a P decision for the first parameter
+ of a dyadic pragma Debug.
+ * sem_prag.adb (Analyze_Pragma, case Debug): Mark pragma as enabled if
+ necessary.
+ * put_scos.adb: Code simplification based on above change.
+
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, gnatcmd.adb, switch-c.adb, exp_attr.adb, make.adb,
+ bindgen.adb, einfo.adb, sem_ch12.adb, sem_attr.adb, a-fihema.adb,
+ a-fihema.ads, sem_elab.adb, sem_elab.ads, aspects.adb, opt.ads,
+ prj-conf.adb, sem_ch13.adb, s-ficobl.ads: Minor reformatting
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * a-stunau.ads, g-spipat.adb: Update comments.
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * a-fihema.ads: Minor comment fix.
+ * a-fihema.adb (Allocate, Deallocate): Assert that the alignment is
+ correct.
+ (Attach, Detach): Remove some unnecessary code.
+ (Finalize): Remove Node_Ptr_To_Address, replace with a constant.
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * a-fihema.ads, a-fihema.adb (Finalization_Collection): Avoid heap
+ allocation for Objects component. This simplifies the code somewhat. It
+ is also a little more efficient in the not-so-unusual case where there
+ are no controlled objects allocated.
+ Make Finalization_Started flag atomic.
+ (Finalize): Avoid unnecessary detachment of items from the list.
+ (pcol): Minor cleanup.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): reject a formal
+ package whose name is the same as that of the generic unit, or its
+ ultimate prefix.
+
+2011-08-05 Bob Duff <duff@adacore.com>
+
+ * a-fihema.adb, a-fihema.ads: Minor comment improvements.
+ * sem_ch3.adb, exp_ch5.adb, exp_ch7.adb, exp_ch7.ads, exp_util.adb:
+ Minor comment fixes.
+
+2011-08-05 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Linking_Phase): No longer need to set source search path
+ before calling gnatlink in CodePeer mode.
+ * gnatlink.adb (Gnatlink): No longer pass -gnat83/95/05/12 switch to
+ gcc in CodePeer mode, since the binder generated file no longer has a
+ 'with Main'.
+ * switch.ads, switch.adb (Is_Language_Switch): Removed.
+ * switch-c.adb: Update comment.
+
+2011-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb, bindgen.adb, s-ficobl.ads: Minor reformatting.
+
+2011-08-05 Nicolas Roche <roche@adacore.com>
+
+ * gnat_ugn.texi: Fix minor syntax error issue.
+
+2011-08-05 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Get_Closure): Do not crash when it is not possible to
+ delete or close the file when the call to gnatmake returns a non
+ successful return code.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): When expanding a predicate
+ check, indicate that the copy of the original node does not come from
+ source, to prevent an infinite recursion of the expansion.
+
+2011-08-05 Johannes Kanig <kanig@adacore.com>
+
+ * debug.adb: document switch -gnatd.G for gnat2why, which deactivates
+ VC generation for subprogram bodies.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * einfo.ads: Typo.
+ * sem_ch3.adb (Signed_Integer_Type_Declaration): in ALFA mode, define
+ the base type with the smallest allowed base type.
+
+2011-08-05 Sergey Rybin <rybin@adacore.com>
+
+ * tree_gen.adb, tree_in.adb, aspects.adb: Fix tree read-write for
+ aspects.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.ads: minor comment updates.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): in an
+ instantiation and a formal package the compiler generates a package
+ renaming declaration so that the generic name within the declaration
+ is interpreted as a renaming of the instance. At the end of a formal
+ package declaration, this renaming must become invisible.
+
+2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Is_Init_Call): Reimplemented to avoid character
+ comparison and rely on concrete entities instead.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (Has_Implicit_Dereference): new flag on types
+ and discriminants, to indicate that the type has an access discriminant
+ that supports implicit dereference.
+ * snames.ads-tmpl: Add names of aspects and attributes related to
+ Ada2012 iterators: constant_indexing, default_iterator,
+ iterator_element, implicit_dereference, variable_indexing.
+ * aspects.ads, aspects.adb: entries for iterator-related aspects.
+ * sem_ch13.adb (Analyze_aspect_specifications): dummy entries for
+ iterator-related aspects.
+ * sem_attr.adb, exp_attr.adb Dummy entries for iterator-related aspects.
+
+2011-08-05 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi, vms_data.ads: Extend the subsection about coupling
+ metrics in gnatmetric to cover new kinds of coupling mentrics.
+
+2011-08-05 Steve Baird <baird@adacore.com>
+
+ * bindgen.adb (Gen_CodePeer_Wrapper): Call Ada_Main_Program instead
+ of calling the user-defined main subprogram.
+ (Gen_Main): Declare Ada_Main_Program and (if CodePeer_Mode
+ is set) Call_Main_Subprogram ahead of, as opposed to
+ inside of, Main.
+ (Gen_Output_File_Ada): Remove CodePeer_Mode-conditional
+ generation of a "with" of the user-defined main subprogram.
+ Remove CodePeer_Mode-conditional call to Gen_CodePeer_Wrapper
+ (which is now called from Gen_Main instead).
+
+2011-08-05 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Added reference to the Makefile package.
+
+2011-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb: Minor comment rewording.
+
+2011-08-05 Ed Falis <falis@adacore.com>
+
+ * env.c: Fix comment.
+
+2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_elab.adb (Is_Finalization_Procedure): Reimplemented to avoid
+ character comparison and rely on concrete entities instead.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: (Check_Private_Overriding): better error message,
+ suggested by AI95-0068.
+
+2011-08-05 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Find_Last_Init): Use Next_Suitable_Statement to retrieve
+ the two potential initialization calls. This accounts for any
+ access-before-elaboration checks which may precede the initialization
+ calls.
+ (Next_Suitable_Statement): New routine. Returns the next real statement
+ after the input node while skipping generated checks.
+ * sem_elab.adb (Check_A_Call): New formal parameter In_Init_Proc along
+ with comment on usage.
+ Do not generate Elaborate_All when the trigger is a finalization call
+ coming from a type init proc.
+ (Check_Elab_Call): Propagate the initialization procedure context to
+ subsequent calls to Check_A_Call.
+ (Check_Internal_Call_Continue): Propagate the initialization procedure
+ context to subsequent calls to Check_Elab_Call.
+ (Is_Finalization_Procedure): New routine. Returns True if the input
+ entity denotes a [Deep_]Finalize routine.
+ * sem_elab.ads (Check_Elab_Call): New formal parameter In_Init_Proc
+ along with comment on usage.
+
+2011-08-05 Vadim Godunko <godunko@adacore.com>
+
+ * s-atocou.ads: Add list of supported platforms.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, restrict.adb: Correct style for or'ing Boolean variables
+
+ * opt.ads (Disable_ALI_File): new Boolean flag
+ * lib-writ.adb (Write_ALI): when Disable_ALI_File is set, do nothing
+
+2011-08-05 Ed Falis <falis@adacore.com>
+
+ * env.c (__gnat_environ): Fix includes for RTPs and VTHREADS so that
+ environ is properly defined.
+
+2011-08-05 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compilation_Phase): Exit immediately when all objects have
+ been found up to date, to avoid multiple exit messages.
+ * prj-nmsc.adb (Add_Source): Allow duplicate source file names in the
+ same project for languages with no compiler.
+ * gnat_ugn.texi: Document compiler switch -gnateI and gnatmake switch
+ -eI.
+2011-08-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.ads, sem_type.adb, make.adb, sem_prag.adb, sem_util.adb,
+ sem_util.ads, sem_attr.adb, restrict.ads, sem_ch6.adb, prj-conf.adb,
+ prj-conf.ads, s-atocou.ads, s-atocou.adb, s-atocou-x86.adb,
+ s-atocou-builtin.adb: Minor reformatting.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * exp_ch7.adb (Establish_Transient_Scope): in formal verification mode,
+ if the node to wrap is a pragma check, this node and enclosed
+ expression are not expanded, so do not apply any transformations here.
+ * exp_prag.adb (Expand_Pragma_Check): document the need to avoid
+ introducing transient scopes.
+
+2011-08-05 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_set_writable, __gnat_set_readable,
+ __gnat_set_executable, __gnat_set_non_writable, __gnat_set_non_readable,
+ __gnat_copy_attribs): On VxWorks 6.x and later, the required chmod
+ routine is available, so we use the default implementation of these
+ functions.
+ * s-os_lib.ads (Copy_File, Copy_Time_Stamps): Document that there is
+ support for copying attributes on VxWorks 6.
+
+2011-08-05 Yannick Moy <moy@adacore.com>
+
+ * debug.adb: Remove use of -gnatd.D.
+ * gnat1drv.adb (Adjust_Global_Switches): adjust switches for ALFA mode
+ * opt.ads: Simplify variables for ALFA mode, to keep one only
+ * restrict.adb, sem_prag.adb: Adapt treatment done for CodePeer mode
+ to ALFA mode.
+
+2011-08-05 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Do_Autoconf): Look also for --RTS in
+ Builder'Default_Switches.
+
+2011-08-05 Vincent Celier <celier@adacore.com>
+
+ * makeusg.adb: Add lines for --create-map-file switches.
+
+2011-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For a subprogram, if a type in the
+ profile is incomplete and the full view is available, replace it with
+ the full view.
+ * sem_ch6.adb (Possible_Freeze): if a type in the profile is
+ incomplete, freezing the subprogram is delayed until the full view is
+ frozen.
+ * sem_type.adb (Disambiguate): an ambiguity between a user-defined
+ fixed-point multiplication operator and the predefined operator is
+ resolved in favor of the user-defined one.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * init.c [__alpha__ && __osf__] (__gnat_error_handler): Use
+ CONST_CAST.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.ads, sem_unit.adb (Type_Without_Stream_Operation): determine
+ whether a type lacks user-defined Read or Write operations, or has a
+ component that lacks them.
+ * sem_attr.adb (Check_Stream_Attribute): if restriction
+ No_Default_Stream_Attributes is active, verify that all subcomponent
+ types of the target have user-defined stream operations, and report
+ error otherwise.
+ * exp_ch3.adb (Stream_Operqtion_OK): use Type_Without_Stream_Operation.
+ * exp_strm.adb: Build_Elementary_Input_Call,
+ Build_Elementary_Write_Call): remove checks for restriction
+ No_Default_Stream_Attributes, now checked in semantics.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.ads, prj-conf.adb (Do_Autoconf): If there is no --RTS
+ switches on the command line, look for all valid --RTS switches in the
+ Builder switches and for each language use the first runtime name found
+ to invoke gprconfig.
+ (Get_Or_Create_Configuration_File): Warn if --RTS is specified on the
+ command line and there is no auto-configuration.
+ (Runtime_Name_Set_For): New function.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Object_Declarations): Do not generate the
+ elaborate initialization expression for variable Abort when processing
+ a package body or a declaration.
+ (Create_Finalizer): Propagate the package context when creating the
+ exception-related variables.
+ * exp_ch7.ads (Build_Object_Declarations): New formal parameter
+ For_Package along with usage comment.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in: Clean up targets.
+ Enable new package for atomic counters and copy-on-write implementation
+ of unbounded strings on x86 platforms.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb: Minor reformatting.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb: Minor reformatting.
+
+2011-08-04 Vadim Godunko <godunko@adacore.com>
+
+ * s-atocou.adb: Replace by dummy version and use on targets where atomic
+ operations are not supported.
+ * s-atocou-builtin.adb: Renamed from s-atocou.adb.
+ * s-atocou-x86.adb: New file.
+ * Makefile.rtl: Add s-atocou.o file
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Compile): Move setting of CodePeer_Mode to ...
+ (Compilation_Phase): ... here.
+ (Scan_Make_Arg): Now bind and link by default in CodePeer mode.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * Make-generated.in: Fix minor typo in comment.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * gnatls.adb: Use Prj.Env.Initialize_Default_Project_Path to retrieve
+ the project path.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * a-coinho.adb: Minor reformatting.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * a-coinho.ads: Minor reformatting.
+
+2011-08-04 Vadim Godunko <godunko@adacore.com>
+
+ * s-atocou.ads, s-atocou.adb: New files.
+ * a-strunb-shared.ads, a-strunb-shared.adb, a-stwiun-shared.ads,
+ a-stwiun-shared.adb, a-stzunb-shared.ads, a-stzunb-shared.adb: Remove
+ direct use of GCC's atomic builtins and replace them by use of new
+ atomic counter package.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_strm.adb: better error message for No_Default_Stream_Attributes.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tags.adb (Unregister_Tag): Replace the complex address arithmetic
+ with a call to Get_External_Tag.
+ * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on
+ subprogram usage. Remove the guard against package declarations and
+ bodies since Build_Cleanup_Statements is no longer invoked in that
+ context.
+ (Build_Components): Initialize Tagged_Type_Stmts when the context
+ contains at least one library-level tagged type.
+ (Build_Finalizer): New local variables Has_Tagged_Types and
+ Tagged_Type_Stmts along with associated comments on usage. Update the
+ logic to include tagged type processing.
+ (Create_Finalizer): Insert all library-level tagged type unregistration
+ code before the jump block circuitry.
+ (Expand_N_Package_Body): Remove the call to Build_Cleanup_Statements.
+ (Expand_N_Package_Declaration): Remove the call to
+ Build_Cleanup_Statements.
+ (Process_Tagged_Type_Declaration): New routine. Generate a call to
+ unregister the external tag of a tagged type.
+ (Processing_Actions): Reimplemented to handle tagged types.
+ (Process_Declarations): Detect the declaration of a library-level
+ tagged type and carry out the appropriate actions.
+ (Unregister_Tagged_Types): Removed. The machinery has been directly
+ merged with Build_Finalizer.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * bindgen.ads, gnatlink.adb, sem_ch4.adb, gnatbind.adb, put_alfa.adb,
+ gnatls.adb, exp_ch3.adb: Minor reformatting.
+
+2011-08-04 Marc Sango <sango@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): Replace the message
+ "invisible attribute of}" of the spark restriction violation in
+ attribute reference by the simple message "invisible attribute of type".
+ Indeed, the node value Error_Msg_Node_1 used is in conflit with the
+ two insertion characters: '&' and '}'.
+
+2011-08-04 Vadim Godunko <godunko@adacore.com>
+
+ * impunit.adb (Non_Imp_File_Names_12): Add "a-coinho".
+ * a-coinho.ads, a-coinho.adb: New file.
+ * Makefile.rtl: Add Ada.Containers.Indefinite_Holders.
+
+2011-08-04 Nicolas Roche <roche@adacore.com>
+
+ * alfa_test.adb: Not all ali files are containing alfa information even
+ if compiled with -gnatd.F. So suppress warning about missing ALFA
+ information.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_ALFA_Scope): use non-empty unique name for
+ scope.
+ * put_alfa.adb: Check that scope name is not empty.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Stream_Operation_Ok): new predicate
+ Needs_Elementary_Stream_Operation, to determine whether user-defined
+ Read and Write attributes are available for the elementary components
+ of the given type. If only the predefined attributes are available,
+ then when restriction No_Default_Stream_Attributes is active the
+ predefined stream attributes for the composite type cannot be created.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb: Fix obsolete comments and names from Ada/C days.
+ Put routines in alpha order
+
+2011-08-04 Jose Ruiz <ruiz@adacore.com>
+
+ * gcc-interface/Makefile.in: Remove xenomai specific versions of system.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/lang.opt: Add AdaWhy language, simimlar to Ada.
+ * gcc-interface/lang-specs.h: Add handling of AdaWhy specs (calls
+ gnat1why).
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, make.adb, a-cohata.ads, sem_prag.adb, makeutl.adb,
+ lib-xref-alfa.adb: Minor reformatting.
+
+2011-08-04 Marc Sango <sango@adacore.com>
+
+ * sem_ch12.adb (Analyze_Generic_Package_Declaration,
+ Analyze_Generic_Subprogram_Declaration, Analyze_Package_Instantiation,
+ Analyze_Subprogram_Instantiation): Check absence of generic in SPARK
+ mode.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb (Gen_Adainit_C): Remove.
+ (Gen_Adafinal_C): Ditto.
+ (Gen_Elab_Externals_C): Ditto.
+ (Gen_Elab_Calls_C): Ditto.
+ (Gen_Elab_Order_C): Ditto.
+ (Gen_Elab_Defs_C): Ditto.
+ (Gen_Finalize_Library_C): Ditto.
+ (Gen_Finalize_Library_Defs_C): Ditto.
+ (Gen_Main_C): Ditto.
+ (Gen_Output_File_C): Ditto.
+ (Gen_Restrictions_C): Ditto.
+ (Gen_Versions_C): Ditto.
+ (Write_Info_Ada_C): Ditto.
+ (Gen_Object_Files_Options): Call WBI instead of Write_Info_Ada_C
+ (Gen_Output_File): Do not force Ada_Bind_File anymore.
+ Always call Gen_Output_File_Ada.
+ * gnatlink.adb (Begin_Info): Now a constant.
+ (End_Info): Ditto.
+ (Ada_Bind_File): Remove
+ (Process_Args): Do not handle -A/-C. Remove not Ada_Bind_File cases.
+ * switch-b.adb (Scan_Binder_Switches): Do not handle -C.
+ * gnatbind.adb (Gnatbind): Remove not Ada_Bind_File cases.
+ * opt.ads (Ada_Bind_File): Remove.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * projects.texi: Document target-specific directory in default project
+ path for gnatmake.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * gnatls.adb, prj-env.adb: Add $prefix/share/gpr to default project
+ path in all cases .
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb, sem_ch5.adb, sem_util.adb, sem_ch4.adb, sem_ch8.adb,
+ opt.ads, lib-xref.ads: Code clean up.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Update description of Test_Case
+ * gnat_ugn.texi: Typo.
+
+2011-08-04 Ed Falis <falis@adacore.com>
+
+ * adaint.c (__gnat_get_number_of_cpus): fix typo in last checkin.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Suitable_Element): Skip field _parent on .NET/JVM when
+ it is of type Root_Controlled. This action eliminates fields Prev and
+ Next from type equality.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb: Correct typo.
+
+2011-08-04 Matthew Heaney <heaney@adacore.com>
+
+ * a-cohata.ads (Hash_Table_Type): default-initialize the Nodes
+ component.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb (Check_Arg_Is_String_Literal): remove useless procedure
+ (Analyze_Pragma): allow static string expression for name of Test_Case,
+ instead of simply string literals.
+ * sem_util.adb (Get_Name_From_Test_Case_Pragma): adapt to static string
+ expressions.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Complete_Mains.Find_File_Add_Extension): Use canonical
+ case suffixes to find truncated main sources.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * impunit.adb (Non_Imp_File_Names_95): Add g-tastus.
+ s-stusta.adb (Compute_All_Task): Use Put_Line instead of Put.
+ (Compute_Current_Task): Ditto.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * gnat_ugn.texi: Mention GNAT.Task_Stack_Usage.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Is_Global_Constant): new function that detects
+ library-level constant.
+ (Add_ALFA_Xrefs): ignore global constants in ALFA xref.
+ * sem_res.adb (Resolve_Actuals): do not add cross-reference to Formal
+ used as selector of parameter association, in ALFA mode.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, exp_ch7.adb, exp_util.adb, bindgen.adb, sem_prag.adb,
+ s-tassta.adb, exp_ch4.adb, exp_disp.adb, s-stausa.adb: Minor
+ reformatting.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Linking_Phase): Set source search path before calling
+ gnatlink in CodePeer mode.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch7.adb (Expand_N_Package_Body, Expand_N_Package_Declaration):
+ Remove code which takes care of building TSDs.
+ * rtsfind.ads (RE_Check_Interface_Conversion): New entity.
+ * exp_ch4.adb (Apply_Accessibility_Check): Add support for generating
+ the accessibility check in VM targets.
+ * exp_disp.adb (Make_VM_TSD): Spec moved to exp_disp.ads
+ (Building_Static_DT): Now returns false for VM targets.
+ (Build_VM_TSDs): Removed.
+ (Expand_Interface_Conversion): Generate missing runtime check for
+ conversions to interface types whose target type is unknown at compile
+ time.
+ (Make_VM_TSD): Add missing code to disable the generation of calls to
+ Check_TSD if the tagged type is not defined at library level, or not
+ has a representation clause specifying its external tag, or -gnatdQ is
+ active.
+ * exp_disp.ads (Build_VM_TSDs): Removed.
+ (Make_VM_TSDs): Spec relocated from exp_disp.adb
+ * sem_disp.adb (Check_Dispatching_Operation): No code required to
+ register primitives in the dispatch tables in VM targets.
+ * exp_ch3.adb (Expand_N_Object_Declaration): Remove wrong expansion of
+ initialization of class-wide interface objects in VM targets.
+ (Expand_Freeze_Record_Type): For VM targets call Make_VM_TSD (instead
+ of Make_DT).
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Correct missleading error message displayed
+ when dotnet-ld cannot be found.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb: Simplify significantly generation of binder body file in
+ CodePeer mode.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Prevent assert failure
+ when compiling binder generated file in CodePeer mode (xxx'Elab_Spec
+ not expanded).
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_prag.adb, sem.ads: Code cleanup.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-tassta.adb (Task_Wrapper): Rewrite the dynamic stack usage part.
+ * s-stausa.adb, s-stausa.ads: Major rewrite. Now provides accurate
+ results if possible.
+ * s-stusta.adb (Print): Adjust after changes in s-stausa.
+ * gnat_ugn.texi: Update dynamic stack usage section.
+
+2011-08-04 Steve Baird <baird@adacore.com>
+
+ * bindgen.adb (Gen_CodePeer_Wrapper): new procedure.
+ Generate (if CodePeer_Mode is set) a "wrapper" subprogram which
+ contains only a call to the user-defined main subprogram.
+ (Gen_Main_Ada) - If CodePeer_Mode is set, then
+ call the "wrapper" subprogram instead of directly
+ calling the user-defined main subprogram.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Case_Statement): Check the statements of all
+ alternatives of a case statement for controlled objects. Rename local
+ variable A to Dead_Alt.
+ (Expand_N_If_Statement): Check the then and else statements of an if
+ statement for controlled objects. Check the then statements of all
+ elsif parts of an if statement for controlled objects.
+ (Expand_N_Loop_Statement): Check the statements of a loop for controlled
+ objects.
+ * exp_ch7.adb (Process_Transient_Objects): Rewrite the condition which
+ detects a loop associated with the expansion of an array object.
+ Augment the processing of the loop statements to account for a possible
+ wrap done by Process_Statements_For_Controlled_Objects.
+ * exp_ch9.adb (Expand_N_Asynchronous_Select): Check the triggering
+ statements and abortable part of an asynchronous select for controlled
+ objects.
+ (Expand_N_Conditional_Entry_Call): Check the else statements of a
+ conditional entry call for controlled objects.
+ (Expand_N_Selective_Accept): Check the alternatives of a selective
+ accept for controlled objects.
+ (Expand_N_Timed_Entry_Call): Check the entry call and delay
+ alternatives of a timed entry call for controlled objects.
+ * exp_ch11.adb (Expand_Exception_Handlers): Check the statements of an
+ exception handler for controlled objects.
+ * exp_util.adb (Requires_Cleanup_Actions (List_Id, Boolean, Boolean)):
+ Add formal parameter Nested_Constructs along with its associated
+ comment.
+ (Requires_Cleanup_Actions (Node_Id)): Update all calls to
+ Requires_Cleanup_Actions.
+ (Process_Statements_For_Controlled_Objects): New routine.
+ * exp_util.ads (Process_Statements_For_Controlled_Objects): New
+ routine. Inspect a node which contains a non-handled sequence of
+ statements for controlled objects. If such an object is found, the
+ statements are wrapped in a block.
+
+2011-08-04 Bob Duff <duff@adacore.com>
+
+ * sem_type.adb (Covers): If T2 is a subtype of a class-wide type, we
+ need to compare with Class_Wide_Type (T2), in order to get at the
+ original class-wide type node.
+ * sem_type.ads (Covers): Improve the comment.
+ * einfo.ads (Class_Wide_Type): Improve the comment.
+ * exp_intr.adb (Expand_Unc_Deallocation): Remove unnecessary setting of
+ the type of the Deref.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Document that Test_Case pragma can only appear on
+ separate declarations.
+ * sem_prag.adb (procedure Check_Identifier_Is_One_Of): new procedure to
+ check identifier of pragma argument.
+ (Chain_TC): check that no other test case associated to the same entity
+ share the same name.
+ (Check_Test_Case): disallow test case inside subprogram body
+ (Analyze_Pragma): correct call to check identifier and not argument
+ * sem_util.adb, sem_util.ads (Get_Name_From_Test_Case_Pragma): new
+ function gets name from test case pragma.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Document new pragma and aspect.
+ * aspects.adb, aspects.ads (Aspect_Id): new value Aspect_Test_Case
+ (No_Duplicates_Allowed): new constant array defining whether duplicates
+ aspects of each kind can appear on the same declaration.
+ * einfo.adb, einfo.ads (Spec_PPC_List): replace field with Contract
+ field, which points to a node holding the previous Spec_PPC_List.
+ * exp_ch9.adb, sem_ch6.adb, sem_prag.adb: Reach to Spec_PPC_List
+ through the indirection with Contract.
+ * exp_util.adb (Insert_Actions): raise Program_Error on N_Contract node
+ * par-prag.adb (Prag): do nothing on Test_Case pragma
+ * sem.adb (Analyze): abort on N_Contract, on which Analyze should not
+ be called directly.
+ * sem_attr.adb (Analyze_Attribute): allow attribute 'Result in
+ component Ensures of Test_Case.
+ * sem_ch12.adb, sem_ch6.adb, sem_ch9.adb
+ (Analyze_Generic_Subprogram_Declaration,
+ Analyze_Subprogram_Instantiation,
+ Analyze_Abstract_Subprogram_Declaration,
+ Analyze_Subprogram_Body_Helper,
+ Analyze_Subprogram_Specification, Analyze_Entry_Declaration):
+ insert contract in subprogram node at point of definition
+ * sem_ch13.adb
+ (Aspect_Loop): do not raise error on duplicate Test_Case aspect
+ (Analyze_Aspect_Specifications): analyze Test_Case aspect and create
+ corresponding pragma
+ (Check_Aspect_At_Freeze_Point): raise Program_Error on Test_Case aspect
+ * sem_ch3.adb (Analyze_Declarations): insert analysis of test-cases,
+ similar to the analysis of pre/post
+ (Derive_Subprogram): insert contract in subprogram node at point of
+ derivation.
+ * sem_prag.adb, sem_prag.ads
+ (Check_Arg_Is_String_Literal, Check_Identifier):
+ new checking procedures to be called in treatment of pragmas
+ (Check_Test_Case): new procedure to check that a Test_Case aspect or
+ pragma is well-formed. This does not check currently that 'Result is
+ used only in the Ensures component of a Test_Case.
+ (Analyze_Pragma): add case for Test_Case
+ (Analyze_TC_In_Decl_Part): pre-analyze the Requires and Ensures
+ components of a Test_Case.
+ (Preanalyze_TC_Args): new procedure to preanalyze the boolean
+ expressions in the 3rd (and 4th if present) arguments of a Test_Case
+ pragma, treated as spec expressions.
+ (Sig_Flags): add value -1 for Test_Case.
+ * sem_util.adb, sem_util.ads (Get_Ensures_From_Test_Case_Pragma,
+ Get_Requires_From_Test_Case_Pragma): getters for both expression
+ components of a Test_Case.
+ * sinfo.adb, sinfo.ads (N_Contract): new kind of node used as
+ indirection between an entry or [generic] subprogram entity and its
+ pre/post + test-cases.
+ (Spec_PPC_List, Spec_TC_List, Set_Spec_PPC_List, Set_Spec_TC_List):
+ get/set for fields of an N_Contract node.
+ * snames.ads-tmpl (Name_Test_Case, Name_Ensures, Name_Mode,
+ Name_Normal, Name_Requires, Name_Robustness, Pragma_Test_Case): new
+ names and pragma for Test_Case.
+ * sprint.adb (Sprint_Node): raise Program_Error on N_Contract node
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Improve documentation of gnatmake switch
+ --source-info-file=.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Make_Final_Call): Add local variable Atyp (assertion
+ type). Initialize Atyp to the appropriate type which is later checked
+ for completion. Rewrite the assertion associated with private type
+ completion.
+
+2011-08-04 Ed Falis <falis@adacore.com>
+
+ * adaint.c: Add call to vxCpuConfiguredGet for VxWorks SMP to
+ initialize the number of CPUs.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Disambiguate): New subsidiary routine
+ In_Same_Declaration_List, to implement AI05-0020: a user-defined
+ equality on an anonymous access type whose designated type is private
+ does not lead to an ambiguity with the universal access equality
+ operator in the body or child units of the defining package. The same
+ is true for a multiplication operator on a private type completed with
+ a fixed-point-type.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * opt.ads (Init_Or_Norm_Scalars_Config): Removed.
+ (Normalize_Scalars_Config): Removed.
+ * opt.adb
+ (Register_Opt_Config_Switches): Remove registering config values of
+ Init_Or_Norm_Scalars_Config and Normalize_Scalars_Config.
+ (Restore_Opt_Config_Switches): Remove code which restores the values of
+ Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
+ Init_Or_Norm_Scalars.
+ (Save_Opt_Config_Switches): Remove code which saves values of
+ Init_Or_Norm_Scalars and Normalize_Scalars.
+ (Set_Opt_Config_Switches): Remove code which restores config values of
+ Init_Or_Norm_Scalars and Normalize_Scalars. Recalculate value of
+ Init_Or_Norm_Scalars.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * frontend.adb (Frontend): remove previous patch to avoid full
+ qualification in ALFA mode.
+ * lib-xref-alfa.adb (Add_ALFA_Xrefs): use unique name for variables.
+ * sem_util.adb, sem_util.ads (Unique_Name): new function to define a
+ unique name for an entity, which could be used to identify the entity
+ across compilation units.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * prj-env.adb
+ (Initialize_Default_Project_Path): Add target specific directory
+ ($prefix/$target/lib/gnat) in front of project path in all cases
+ (making gnatmake's behaviour consistent with gprbuild).
+ * gnatcmd.adb, make.adb, prj-makr.adb, clean.adb:
+ Pass target name from Sdefault to project subsystem.
+ * gnatls.adb: Show new target specific default project directory.
+
+2011-08-04 Johannes Kanig <kanig@adacore.com>
+
+ * cstand.adb: Add Information to Identifier in Standard
+ (Identifer_For): Set Entity to the corresponding entity
+
+2011-08-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Update doc on gnatcheck.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Add_ALFA_Xrefs): correct definition of ranges of
+ xrefs in a scope.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): in ALFA mode, return without
+ performing expansion.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper,
+ Analyze_Generic_Subprogram_Body): protect call to Process_PCCs so that
+ it is not called in ALFA mode.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, osint.adb, osint.ads (Reset_Command_Line_Files): not used
+ after all, so removed.
+
+2011-08-04 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add missing VMS qualifiers.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb, osint.adb, osint.ads (Check_Mains): rebuild
+ the list of files on the command line after processing it through
+ Complete_Mains.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Raise_Statement): Remove the specialized
+ processing for .NET/JVM. These targets can now benefit from
+ Raise_From_Controlled_Operation and they share the same processing with
+ standard targets.
+ (Establish_Transient_Scope): Remove the restriction for .NET/JVM.
+ These targets need transient scopes in order to properly finalize short
+ lived controlled objects.
+ (Make_Handler_For_Ctrl_Operation): Remove the specialized processing for
+ NET/JVM. These targets can now benefit from
+ Raise_From_Controlled_Operation and they share the same processing with
+ standard targets.
+
+2011-08-04 Geert Bosch <bosch@adacore.com>
+
+ * tracebak.c (STOP_FRAME): Stop at any next pointer outside the stack
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Has_Visible_Private_Ancestor): subsidiary routine to
+ Expand_Record_Aggregate, to determine whether aggregate must be
+ expanded into assignments. This is the case if the ancestor part is
+ private, regarless of the setting of the flag Has_Private_Ancestor.
+
+2011-08-04 Ed Falis <falis@adacore.com>
+
+ * vxaddr2line.adb: Add support for e500v2 and for Linux hosts
+
+2011-08-04 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Fix comment.
+
+2011-08-04 Steve Baird <baird@adacore.com>
+
+ * bindgen.adb (Get_Ada_Main_Name): If CodePeer_Mode is set, then
+ choose a package name in much the same way as is
+ done for JGNAT when VM_Target /= No_VM, except that
+ a slightly more distinctive prefix string is used.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Complete_Mains): no longer accept unit names on the
+ gnatmake command line.
+ This behavior was never documented (and was supported only because of
+ an early bug in the code). This case might lead to ambiguous cases
+ (between unit names and truncated base names without suffixes).
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Unregister_Tag): New routine.
+ Remove the external tag of a tagged type from the internal hash table.
+ * exp_ch7.adb (Build_Cleanup_Statements): Update the comment on the
+ expanded usage of the routine. Strenghten the check for Is_Master. Add
+ processing for tagged types.
+ (Build_Finalizer): Create all the necessary lists used in finalizer
+ creation when the processed context is a package that may contain
+ tagged types.
+ (Expand_Cleanup_Actions): Rename the call to Has_Controlled_Objects to
+ Requires_Cleanup_Actions.
+ (Expand_N_Package_Body): Package bodies may need clean up code
+ depending on whether they contain tagged types.
+ (Expand_N_Package_Declaration): Package declarations may need clean up
+ code depending on whether they contain tagged types.
+ (Unregister_Tagged_Types): New routine. Search through a list of
+ declarations or statements, looking for non-abstract Ada tagged types.
+ For each such type, generate code to unregister the external tag.
+ * exp_util.adb (Has_Controlled_Objects (Node_Id)): Renamed to
+ Requires_Cleanup_Actions.
+ (Requires_Cleanup_Actions (List_Id, Boolean)): New routine. Search
+ through a list of declarations or statements looking for non-abstract
+ Ada tagged types or controlled objects.
+ * exp_util.ads (Has_Controlled_Objects (Node_Id)): Renamed to
+ Requires_Cleanup_Actions.
+ (Has_Controlled_Objects (List_Id, Boolean)): Removed.
+ * rtsfind.ads: Add entry RE_Unregister_Tag to tables RE_Id and
+ RE_Unit_Table.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * prj-env.adb (For_All_Source_Dirs.For_Project): Check if project Prj
+ has Ada sources, not project Project, because if the root project
+ Project has no sources of its own, all projects will be deemed without
+ sources.
+
+2011-08-04 Gary Dismukes <dismukes@adacore.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): Move the generation of the declaration
+ of the No_Param_Proc acc-to-subp type used for initialization of
+ __gnat_finalize_library_objects so that it's declared at library level
+ rather than nested inside of the adainit routine.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Generate code to check the external tag ONLY
+ if the tagged type has a representation clause which specifies its
+ external tag.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb (Has_Private_Ancestor): now a flag on types.
+ Remove previous procedure with that name.
+ * sem_ch3.adb (Build_Derived_Record_Type): set Has_Private_Ancestor
+ when appropriate.
+ * sem_aggr.adb (Resolve_Extension_Aggregate): if the ancestor part is a
+ subtype mark, the ancestor cannot have unknown discriminants.
+ (Resolve_Record_Aggregate): if the type has invisible components
+ because of a private ancestor, the aggregate is illegal.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Recognize and take into
+ account switches -gnat2005, -gnat12 and -gnat2012.
+
+2011-08-04 Bob Duff <duff@adacore.com>
+
+ * s-tasdeb.ads: Minor comment fix.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatlink.adb (Gnatlink): Pass -gnat83/95/05/12 switch to gcc in
+ CodePeer mode.
+ * switch.ads, switch.adb (Is_Language_Switch): New function.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * switch-c.adb: Minor comment addition.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * vms_conv.adb (Process_Argument): Fail graciously when qualifier
+ ending with '=' is followed by a space (missing file name).
+
+2011-08-04 Pascal Obry <obry@adacore.com>
+
+ * g-regist.ads: Fix size of HKEY on x86_64-windows.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Associations): New routine
+ Check_Overloaded_Formal_Subprogram to reject a formal package when
+ there is a named association or a box initialisation for an overloaded
+ formal subprogram of the corresponding generic.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * alfa.ads (ALFA_Xref_Record): add component for type of entity
+ * get_alfa.adb, put_alfa.adb: Read and write new component of
+ cross-reference.
+ * lib-xref-alfa.adb (Collect_ALFA): generate new component.
+
+2011-08-04 Pascal Obry <obry@adacore.com>
+
+ * urealp.adb: Minor reformatting.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch7.adb (build_finalizer.process_declarations.processing_actions):
+ Handle the case when Cleanup_Protected_Object returns Empty.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * frontend.adb (Frontend): only qualify names in non-ALFA mode
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Class_Wide_Operation): if the context is a procedure
+ call, ignore functions.
+
+2011-08-04 Geert Bosch <bosch@adacore.com>
+
+ * urealp.adb (Equivalent_Decimal_Exponent): Avoid the use of floating
+ point.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Compute_Builder_Switches): no longer accept a unit name
+ as an index for Builder'Switches. This conforms to the documentation.
+ * make.adb (Insert_Project_Sources): avoid duplicate code
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Complete_Mains): if the user has passed a relative file
+ name on the command line (for instance "../dummy"), never assume it can
+ be a unit name.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * bindgen.adb: Remove code the reference or create the
+ Break_Start/__gnat_break_start procedure.
+ * s-stalib.adb (Break_Start): Removed.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb, makeutl.ads (Compute_Builder_Switches): now
+ shared with gprbuild.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * par-ch4.adb (P_Primary): preferentially issue an error message about
+ a missing parenthesis arount a conditional or case expression in Ada
+ 2012 mode, if we detect that the alignment is not correct for a
+ statement.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Process_Declarations): Do not consider the result of a
+ tag-to-class-wide conversion as needing finalization actions.
+ * exp_util.adb (Has_Controlled_Objects): Do not consider the result of
+ a tag-to-class-wide conversion as needing finalization actions.
+ (Is_Finalizable_Transient): The result of a tag-to-class-wide
+ conversion does not need finalization actions.
+ (Is_Tag_To_CW_Conversion): New routine.
+ * exp_util.ads (Is_Tag_To_CW_Conversion): New routine. Determines
+ whether an object is the result of a tag-to-class-wide conversion.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): correct order in which
+ the left-hand-side and right-hand-side of a conjunct are inserted when
+ translating a pre- or postcondition
+ * sem_ch6.adb: Correct typo in comment
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_rm.texi: Ravenscar does not prohibit dependence on
+ Unchecked_Conversion and Unchecked_Deallocation.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * make.adb: Minor reformatting.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, makeutl.adb (Complete_Mains): search for the
+ sources in the project and its imported projects, but not in the whole
+ tree.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb: Remove debug trace.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Do_Complete): Get the absolute path name of a relative
+ path in canonical form, to be able to compare path names on platforms
+ such as Windows or Darwin.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements.Set_Statement_Entry):
+ For a pragma (statement with C1 = 'P'), record the sloc of the pragma.
+ * scos.ads: Update documentation accordingly.
+ * put_scos.adb (Output_SCO_Line): Omit statement SCOs for disabled
+ pragmas.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Bad_Attribute_For_Predicate): flag illegal use of
+ attribute only if prefix type is scalar.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb, prj-env.adb (Check_Mains): put back support
+ in gnatmake for specifying mains on the command line that do not belong
+ to the main project. These mains must currently all belong to the same
+ project, though.
+ (Ultimate_Extension_Of): removed, since duplicated
+ Ultimate_Extending_Project.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Do_Codepeer_Globalize_Step): Removed. Use CodePeer_Mode
+ instead.
+ (CodePeer_Mode_String): New.
+ (Linking_Phase, Binding_Phase): Call gnatlink with -P switch in
+ CodePeer mode.
+ (Scan_Make_Arg): Do not disable binding/linking phase in CodePeer mode.
+ * bindgen.adb (Gen_Elab_Calls_Ada): Ignore subprograms in CodePeer
+ mode, since no useful elaboration subprogram is needed by CodePeer.
+ * gnatlink.adb (Gnatlink): Add support for -P switch (CodePeer mode).
+ In this mode, compile binder file with -gnatC and do stop after this
+ step.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * exp_ch7.adb: Minor comment fix.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, make.adb, sem_ch10.adb, bindgen.adb, sem_res.adb,
+ exp_ch4.adb, makeutl.adb: Minor reformatting.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb, makeutl.ads (Make): major refactoring.
+ Create several new subprograms to move code out of Make. This makes the
+ code more readable, removes code duplication, and is a preparation work
+ for adding support for aggregate projects.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-po32gl.ads, s-po32gl.adb: New files.
+ * exp_ch7.ads (Get_Global_Pool_For_Access_Type): New function.
+ * exp_ch7.adb (Get_Global_Pool_For_Access_Type): New function.
+ (Build_Finalization_Collection): Use it.
+ * exp_ch4.adb (Complete_Controlled_Allocation): Ditto.
+ * rtsfind.ads: System_Pool_32_Global, Re_Global_Pool_32_Object: New
+ literals.
+ * gcc-interface/Makefile.in: Use s-po32gl.o on VMS.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Complete_Mains): add support for specs with no suffix on
+ the command line.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb (Complete_Mains): if a main specified on the
+ command line is not a file name, also check whether it could be a unit
+ name.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bindgen.adb (Gen_Finalize_Library_Ada): Factor out code to generate
+ the header of the finalization routine.
+ If the unit has no finalizer but is a body whose spec has one, then
+ generate the decrement of the elaboration entity only.
+ If the unit has a finalizer and is a spec, then do not generate the
+ decrement of the elaboration entity.
+ (Gen_Finalize_Library_C): Likewise.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Alignment_Of): New subsidiary routine.
+ (Bounds_Size_Expression): Removed.
+ (Double_Alignment_Of): New subsidiary routine.
+ (Make_Finalize_Address_Stmts): New local variable Index_Typ. Account
+ for a hole in the dope vector of unconstrained arrays due to different
+ index and element alignments.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Allocator): diagnose task allocator that will
+ raise program_error because body has not been seen yet.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): Protect against child unit with
+ an unresolved name.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Do_Complete): Check absolute paths in canonical forms
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * alfa.adb, alfa.ads (Unique_Defining_Entity): move function from here
+ * sem_util.adb, sem_util.ads (Unique_Defining_Entity): ...to here
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): Do not omit body for
+ instantiation in RCI.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb: Share more code with gprbuild
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Added documentation for the IDE'Gnat project file
+ attribute.
+
+2011-08-04 Nicolas Roche <roche@adacore.com>
+
+ * gnat_rm.texi: Minor editing.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
+ and the library case for VM targets.
+ (Gen_Adainit_Ada): Likewise.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * g-altive.ads: Minor comment updates.
+ * prj-nmsc.adb: Minor reformatting.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * opt.ads
+ (Normalize_Scalars_Config): Value of the configuration switch set by
+ pragma Normalize_Scalars when it appears in the gnat.adc file.
+ (Normalize_Scalars): New field for record Config_Switches_Type. Used
+ to save and restore settings of this pragma.
+ * opt.adb
+ (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
+ Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * makeutl.adb: Minor reformatting.
+
+2011-08-04 Olivier Hainque <hainque@adacore.com>
+
+ * g-altive.ads: Update comments to reflect that only the soft
+ binding is available today.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb, einfo.adb, sem_ch12.adb, s-tasren.adb, sem_res.adb,
+ makeutl.adb, prj-nmsc.adb, opt.ads, prj-env.adb: Minor reformatting
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * prj-env.adb: Remove local debug traces.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * checks.adb (Apply_Float_Conversion_Check): correct a typo where Lo_OK
+ was used instead of Hi_OK, which could cause a read of an uninitialized
+ value later on. Detected while working on the new warning.
+ * exp_ch9.adb (Expand_N_Entry_Declaration): remove useless assignment
+ to local variable.
+ * sem_ch5.adb (Analyze_Assignment): set the last assignment component
+ in more cases, in order to detect more unreferenced values.
+ * sem_util.adb, sem_util.ads (Get_Enclosing_Object): return enclosing
+ object for expression, if any.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_intr.adb (Expand_Binary_Operator_Call): Look at the RM size of
+ the operand types instead of the Esize.
+
+2011-08-04 Steve Baird <baird@adacore.com>
+
+ * switch-b.adb (Scan_Binder_Switches): Add -P binder switch, used to
+ enable CodePeer_Mode.
+ * bindusg.adb (Display): Add help message describing -P binder switch.
+ * gnat_ugn.texi: Document -P binder switch.
+ * bindgen.adb (Gen_Main_Ada): If CodePeer_Mode is set, then call the
+ user-defined main program directly.
+ (Gen_Output_File_Ada): If CodePeer_Mode is set, generate a with of the
+ user-defined main program in the context clause of the package body.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * alfa.adb, alfa.ads (Get_Entity_For_Decl): remove function, partial
+ duplicate of Defining_Entity
+ (Get_Unique_Entity_For_Decl): rename function into
+ Unique_Defining_Entity
+ * einfo.adb, einfo.ads (Is_In_ALFA, Body_Is_In_ALFA): remove flags
+ (Formal_Proof_On): remove synthesized flag
+ * cstand.adb, sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
+ sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_res.adb, sem_util.adb,
+ sem_util.ads, stand.ads: Remove treatment associated to entities in ALFA
+ * sem_prag.adb (Analyze_Pragma): remove special treatment for pragma
+ Annotate (Formal_Proof)
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-env.adb (Create_Config_Pragmas_File): fix handling of multi-unit
+ source files with non-standard naming schemes, in imported projects
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Complete_Mains): when a multi-unit source file is
+ specified on the gprbuild command line, we need to compile all units
+ within that file, not just the first one we find
+ Fix error message for mains that are not found.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch6.adb: Update comment.
+ * sem_ch12.adb: Minor reformatting.
+
+2011-08-04 Bob Duff <duff@adacore.com>
+
+ * s-tasren.adb (Task_Do_Or_Queue): Previous code was reading
+ Acceptor.Terminate_Alternative without locking Acceptor, which causes a
+ race condition whose symptom is to fail to lock Parent. That, in turn,
+ causes Parent.Awake_Count to be accessed without locking Parent, which
+ causes another race condition whose symptom is that Parent.Awake_Count
+ can be off by 1 (either too high or too low). The solution is to lock
+ Parent unconditionally, and then lock Acceptor, before reading
+ Acceptor.Terminate_Alternative.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * debug.adb: Update comment.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, exp_util.adb, make.adb, a-tags.adb, sem_prag.adb,
+ sem_util.adb, sem_attr.adb, exp_ch4.adb, g-comlin.adb, g-comlin.ads,
+ exp_ch6.adb: Minor reformatting.
+
+2011-08-04 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_ugn.texi: Add sentence about the case of compile-time-detected
+ checks for -gnateE.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * gnat_rm.texi: update Ravenscar desription to reflect Ada2012 RM.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor reformatting.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb, makeutl.ads, prj-nmsc.adb (Complete_Mains): report error
+ even if there is no location.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb, sem_ch4.adb: move check for restriction
+ No_Task_Hierarchy to resolve_allocator.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.adb, sinfo.ads, sem_prag.adb, sem_ch12.adb (Pragma_Enabled):
+ This flag of N_Pragma nodes is not used, remove it as well as all of
+ the associated circuitry.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Switch -gnatdQ disables the generation of the
+ runtime check on duplicated externa tags
+ * debug.adb Document switch -gnatdQ.
+
+2011-08-04 Gary Dismukes <dismukes@adacore.com>
+
+ * a-fihema.ads: Minor typo fix.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch10.adb: Minor comment update.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Update the node field usage to reflect the renaming of
+ Return_Flag to Return_ Flag_Or_Transient_Decl.
+ (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl.
+ (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl.
+ (Write_Field15_Name): Change Return_Flag to
+ Return_Flag_Or_Transient_Decl.
+ * einfo.ads: Rename node field Return_Flag to
+ Return_Flag_Or_Transient_Decl. Update the associated comment and all
+ occurrences in entities.
+ (Return_Flag): Renamed to Return_Flag_Or_Transient_Decl. Update
+ associated Inline pragma.
+ (Set_Return_Flag): Renamed to Set_Return_Flag_Or_Transient_Decl. Update
+ associated Inline pragma.
+ * exp_ch4.ads, exp_ch4.adb (Expand_N_Expression_With_Actions): New
+ routine.
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Update the calls to
+ Return_Flag and Set_Return_Flag.
+ * exp_ch7.adb (Process_Declarations): Add code to recognize hook
+ objects generated for controlled transients declared inside an
+ Exception_With_Actions. Update the calls to Return_Flag.
+ (Process_Object_Declaration): Add code to add a null guard for hook
+ objects generated for controlled transients declared inside an
+ Exception_With_Actions. Update related comment.
+ * exp_util.adb (Has_Controlled_Objects): Add code to recognize hook
+ objects generated for controlled transients declared inside an
+ Exception_With_Actions. Update the calls to Return_Flag.
+ * expander.adb (Expand): Add new case for N_Expression_With_Actions.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb:(Wrong_Type): Improve error message on a one-element
+ positional aggregate.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * par_sco.adb (Process_Decisions.Output_Header): Check and record pragma
+ SLOC only for pragmas.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Minor typo fix.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Check_File): Minor change to traces, to help debugging
+ on case-sensitive file systems.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * put_scos.adb (Put_SCOs): Do not emit decision SCO for an X decision
+ nested in a disabled pragma.
+ * scos.ads, scos.adb, par_sco.ads, par_sco.adb: Record sloc of
+ enclosing pragma, if any, for X decisions.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * a-tags.adb (Check_TSD): Avoid concatenation of strings, as it is not
+ allowed in no run time mode.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): When -gnatc is used, check for the source file
+ inside the ALI file with a canonical case file name.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Add_Switch): Put back support for
+ overriding the separator.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, par_sco.adb, sem_type.adb, exp_util.adb, exp_ch9.adb,
+ prj-nmsc.adb, sem_ch13.adb, exp_strm.adb: Minor reformatting.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor documentation fix for pragma Annotate.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute): add check during pre-analysis that
+ 'Result only appears in postcondition of function.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * a-tags.adb (Check_TSD): When raising PROGRAM_ERROR for a duplicated
+ external tag, include the value of the external tag in the exception
+ message.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Result): modify error message for misplaced 'Result
+
+2011-08-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_rm.texi (pragma Annotate): Fix syntax description to make it
+ clear that the second argument must be an identifier.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb (Build_Barrier_Function): When compiling with
+ -fpreserve-control-flow, insert an IF statement on the barrier
+ condition to ensure that a conditional branch instruction is generated.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-part.adb, prj.adb, prj.ads, prj-tree.ads
+ (Processing_Flags.Ignore_Missing_With): new flag.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Find_Sources, Path_Name_Of): Fix handling of
+ Source_List_File on case-insensitive systems where the file is actually
+ on a case-sensitive file system (NFS,...).
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch6.adb (Analyze_Function_Return): In a rare case where a
+ function return contains a controlled [extension] aggregate and the
+ return statement is not part of a handled sequence of statements, wrap
+ the return in a block. This ensures that all controlled temporaries
+ generated during aggregate resolution will be picked up by the
+ finalization machinery.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): If aggregate has box-initialized
+ components, freeze type before resolution, to ensure that default
+ initializations are present for all components.
+ * sem_res.adb (Resolve_Actuals): the designated object of an
+ accces-to-constant type is a legal actual in a call to an
+ initialization procedure.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_util.adb (Extract_Renamed_Object): Add N_Type_Conversion and
+ N_Unchecked_Type_Conversion to the possible containers of a renamed
+ transient variable.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): recognize
+ "with Identifier'Class =>" as an aspect, so that a meaningful warning
+ is issued in Strict mode.
+ * par.adb: Fix typos in comments.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Result): modify error message to take into account Post
+ aspect when compiling Ada 2012 (or newer) code.
+
+2011-08-04 Nicolas Roche <roche@adacore.com>
+
+ * env.c (__gnat_clearenv): Avoid use of dynamic size array in order to
+ remove need for GCC exceptions.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Do_Complete): Call Debug_Output with the name of the
+ project, not the source file name.
+ * prj.adb (Find_Sources.Look_For_Sources): If the source has been
+ excluded, continue looking. This excluded source will only be returned
+ if there is no other source with the same base name that is not locally
+ removed.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): if the result type is
+ private and one of the operands is a real literal, use a qualified
+ expression rather than a conversion which is not meaningful to the
+ back-end.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch13.adb (Aspect_Loop): when an aspect X and its classwise
+ corresponding aspect X'Class are allowed, proceed with analysis of the
+ aspect instead of skipping it.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-flocon.adb, s-flocon.ads: Add a body for s-flocon.ads
+ This will allow to have an Ada implementation for the subprogram.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): If the declaration is a
+ completion and aspects are present, apply them to the entity for the
+ type which is currently the partial view, but which is the one that
+ will be frozen.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): if the predicate
+ applies to a partial view, indicate that the full view has predicates
+ and delayed aspects.
+ (Replace_Type_Reference): Handle properly predicates that apply to the
+ full view of a private completion.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * layout.adb (Layout_Type): For composite types, do not set Esize.
+ * freeze.adb (Set_Small_Size): Remove test on alignment and do not
+ set Esize.
+ (Size_Known): Look at the RM size of components instead of the Esize.
+ (Freeze_Record_Type): Look at the RM size instead of the Esize to
+ issue warning and activate Implicit_Packing.
+ (Freeze_Entity): Likewise. Do not issue a warning for alias/atomic
+ if the Esize is not known.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause) <Size>: Set Esize
+ for elementary types only.
+ (Analyze_Record_Representation_Clause): Look at the RM size instead
+ of the Esize to issue errors.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set Esize if it
+ is not known.
+ <E_Record_Type>: Look at the RM size instead of the Esize. Remove
+ obsolete block.
+ Look at the RM size instead of the Esize for types if the latter is
+ not known.
+ (gnat_to_gnu_field): Use Known_Esize instead of Known_Static_Esize.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb: proper handling of equality not involving anonymous
+ access types.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Remove local variables Spec_Nod and
+ Vis_Decls. When creating a library-level finalizer for a package spec,
+ both the declaration and body of the finalizer are inserted either in
+ the visible or private declarations of the package spec.
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprograms): Complete assertion to request the
+ use of the full-view of a type when invoking Is_Ancestor.
+ * sem_type.adb (Is_Ancestor): For consistency, when the traversal of
+ the full-view of private parents is requested, then use also the
+ full-view of the parent of the first derivation.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-taprop-vxworks.adb (Enter_Task): Use System.Float_Control.Reset
+ instead of the locally imported procedure.
+ * s-taprop-mingw.adb (Enter_Task): Ditto.
+ * s-valrea.adb (Scan_Real): Ditto.
+ * s-imgrea.adb (Set_Image_Real): Ditto.
+ * s-flocon.ads: Make the package pure.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Debug_Statement, Set_Debug_Statement): Remove.
+ * tbuild.ads, tbuild.adb (Make_Pragma): Adjust accordingly.
+ * sinfo-cn.ads, sinfo-cn.adb (Change_Name_To_Procedure_Call_Statement):
+ New subprogram, moved here from...
+ * par.adb, par-ch5.adb (P_Statement_Name): ... here.
+ * par-prag.adb (Par.Prag, case Pragma_Debug): Do not perform any
+ rewriting of the last argument into a procedure call statement here...
+ * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): ...do it there
+ instead.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Minor reformatting.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * erroutc.adb: Minor reformatting.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * par_sco.adb: Comment update.
+
+2011-08-04 Tristan Gingold <gingold@adacore.com>
+
+ * s-flocon.ads: New file.
+ * g-flocon.ads: Now a renaming of s-flocon.
+ * Makefile.rtl: Add s-flocon.o
+
+2011-08-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_strm.adb (Build_Array_Input_Function): if the array type is
+ constrained, do not attempt to build a subtype of it.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * errout.ads Change comments: remove 'R'M as an example where quotes
+ are needed; add ALFA as another case where quotes are not needed
+ * erroutc.adb (Set_Msg_Insertion_Reserved_Word): add ALFA as another
+ case where quotes are not needed.
+ * sem_ch11.adb, sem_ch13.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb,
+ sem_ch5.adb, sem_ch6.adb, sem_ch9.adb, sem_prag.adb, sem_res.adb:
+ Remove all occurrences of 'A'L'F'A
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb: check legality of invariant pragma.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bindgen.adb: Add comments.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads: Free Flag254 and make Formal_Proof_On a
+ synthesized flag.
+ * sem_prag.adb (Analyze_Pragma): record the pragma Annotate
+ (Formal_Proof, On/Off) in the Rep_Item list of the current subprogram.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb, exp_ch6.adb, sem_ch3.adb, layout.adb, sem_ch5.adb,
+ osint-c.ads, sem_util.ads, gnat1drv.adb, targparm.ads, sem_ch6.adb,
+ sem_ch13.adb, s-pooloc.adb: Minor reformatting.
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * s-pooloc.ads, s-pooglo.ads: Minor reformatting
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ PR ada/47880
+ * s-pooloc.adb (Deallocate): Fix the case of deallocating the only
+ allocated object.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, exp_ch4.adb: Minor reformatting.
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * back_end.ads (Gen_Or_Update_Object_File): Add more comments.
+
+2011-08-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): code cleanup: use component
+ type in all cases to compute list of primitive operations, because full
+ view may be an itype that is not attached to the list of declarations.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * bindgen.adb (Gen_Adafinal_Ada): Generate an early return if the
+ library has already been finalized.
+ (Gen_Adafinal_C): Likewise.
+ (Gen_Adainit_Ada): Generate an early return if the library has
+ already been elaborated.
+ (Gen_Adainit_C): Likewise.
+ (Gen_Output_File_Ada): Generate an elaboration flag.
+ (Gen_Output_File_C): Likewise.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Disable the generation of
+ Set_Finalize_Address_Ptr for CodePeer because Finalize_Address was not
+ built in the first place.
+ (Expand_N_Allocator): Disable the generation of Set_Finalize_Address_Ptr
+ for CodePeer because Finalize_Address was not built to begin with.
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Ditto.
+
+2011-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Use current process id to create temp
+ filenames, this ensures unicity of filenames across processes.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
+ Raise_Controlled to Raise_From_Controlled_Operation. Update the
+ signature of Raise_From_Controlled_Operation by adding flag From_Abort.
+ Add False as the actual to From_Abort in the generated call to
+ Raise_From_Controlled_Operation.
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
+ so that the ali file name can be retrieved from outside of this package.
+ * back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
+ doing nothing in the general case, but used to update the object file
+ timestamp if directly generated by the backend.
+ * gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
+ to a later time than the ali file one.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads (Formal_Proof_On): new flag set on subprogram
+ entities whose body contains an Annotate pragma which forces formal
+ proof on this body.
+ * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
+ sem_ch6.adb, sem_ch9.adb, sem_res.adb: Adapt call to
+ Mark_Non_ALFA_Subprogram to pass in a message and node.
+ * sem_prag.adb (Analyze_Pragma): add treatment of pragma Annotate
+ (Forma_Proof, On) which sets the flag Formal_Proof_On in the
+ surrounding subprogram.
+ * sem_util.adb, sem_util.ads (Mark_Non_ALFA_Subprogram,
+ Mark_Non_ALFA_Subprogram_Unconditional): if the subprogram being marked
+ as not in ALFA is annotated with Formal_Proof being On, then an error
+ is issued based on the additional parameters for message and node.
+ * snames.ads-tmpl (Name_Formal_Proof): new name for annotation.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Do not generate
+ Finalize_Address when CodePeer is enabled.
+
+2011-08-04 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_tmp_name): Use _tempnam() instead of tempnam() as
+ the latter returns a pointer to a static buffer which is deallocated
+ at the end of the routine.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): move test for type in ALFA
+ after index creation; mark unconstrained base array type generated as
+ being in/not in ALFA as well
+ (Make_Index): mark subtype created as in/not in ALFA
+ * sem_ch5.adb (Analyze_Iteration_Scheme): mark entity for iterating
+ over a loop as in/not in ALFA, depending on its type and form of loop
+ iteration.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Object_Declarations): Initialize flag Abort
+ directly to False on .NET and JVM.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Constrain_Enumeration, Constrain_Integer): remove
+ constraint that subtype must come from source code to be in ALFA, so
+ that anonymous subtypes can be in ALFA too.
+
+2011-08-04 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): remove obsolete addition of
+ reference for ALFA mode.
+ * lib-xref-alfa.adb, lib-xref.ads (Traverse_Compilation_Unit): make
+ procedure public so as to use it from formal verification back-end.
+
+2011-08-04 Jerome Lambourg <lambourg@adacore.com>
+
+ * g-comlin.adb (For_Each_Simple_Switch.Is_In_Config): Remove the
+ invalid checks of the Parameter, making Remove_Switch not working
+ correctly.
+
+2011-08-04 Arnaud Charlet <charlet@adacore.com>
+
+ * targparm.ads: Update header: no run-time exception is needed on this
+ file.
+
+2011-08-04 Vincent Celier <celier@adacore.com>
+
+ * a-fihema.adb: Use System.IO instead of GNAT.IO
+
+2011-08-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): Anonymous access to subprogram types
+ are forbidden in Compiler_Unit mode.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * bindgen.adb (Gen_Finalize_Library_Ada): Update the import string for
+ library-level finalizers.
+ (Gen_Finalize_Library_C): Update the import string for library-level
+ finalizers.
+ (Gen_Finalize_Library_Defs_C): Update the definition name of a
+ library-level finalizer.
+ * exp_ch7.adb: Remove with and use clauses for Stringt.
+ (Create_Finalizer): Remove local variables Conv_Name, Prag_Decl,
+ Spec_Decl. Add local variable Body_Id. The names of library-level
+ finalizers are now manually fully qualified and are no longer external.
+ A single name is now capable of servicing .NET, JVM and non-VM targets.
+ Pragma Export is no longer required to provide visibility for the name.
+ (Create_Finalizer_String): Removed.
+ (New_Finalizer_Name): New routine which mimics New_..._Name.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_elab.adb (Check_Internal_Call_Continue): Change the type of the
+ elaboration counter to Standard_Short_Integer.
+ * sem_util.adb (Build_Elaboration_Entity): Likewise.
+ * bindgen.adb (Gen_Elab_Externals_Ada): Adjust to above change.
+ (Gen_Elab_Externals_C): Likewise.
+
+2011-08-04 Ed Falis <falis@adacore.com>
+
+ * system-vxworks-arm.ads, system-vxworks-sparcv9.ads,
+ system-vxworks-ppc.ads, system-vxworks-m68k.ads,
+ system-vxworks-mips.ads, system-vxworks-x86.ads
+ (Always_Compatible_Rep): set to False for all VxWorks targets.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb, prj-proc.adb, make.adb, bindgen.adb, prj.adb, prj.ads,
+ makeutl.adb, makeutl.ads, prj-nmsc.adb, exp_ch5.adb, exp_ch12.adb,
+ exp_ch7.ads, exp_util.ads, sem_util.ads, g-comlin.ads, exp_ch6.adb,
+ exp_ch6.ads, lib-xref.ads, exp_ch7.adb, exp_util.adb, exp_dist.adb,
+ exp_strm.adb, gnatcmd.adb, freeze.adb, g-comlin.adb, lib-xref-alfa.adb,
+ sem_attr.adb, sem_prag.adb, sem_util.adb, sem_elab.adb, sem_ch8.adb,
+ sem_ch11.adb, sem_eval.adb, sem_ch13.adb, sem_disp.adb, a-fihema.adb:
+ Minor reformatting and code reorganization.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * projects.texi: Added doc for aggregate projects.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-nmsc.adb, prj-env.adb (Process_Declarative_Items):
+ Add support for overriding the Project_Path in aggregate projects.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * a-cofove.ads: Minor reformatting.
+
+2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Update the comment
+ on the generated code.
+ (Build_Finalize_Statements): Update the comment on the generated code.
+ (Build_Initialize_Statements): Update the comment on the generated code.
+ (Build_Object_Declarations): Add local variable Result. The object
+ declarations are now built in sequence.
+ * rtsfind.ads: Add RE_Exception_Occurrence_Access to tables RE_Id and
+ RE_Unit_Table.
+
+2011-08-04 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, alfa.adb, alfa.ads: Minor reformatting.
+
+2011-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Elaboration_Entity): Document new definition and use.
+ (Elaboration_Entity_Required): Adjust to above change.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Likewise.
+ * exp_ch12.adb: And with and use for Snames.
+ (Expand_N_Generic_Instantiation): Test 'Elaborated attribute.
+ * exp_util.adb (Set_Elaboration_Flag): Likewise.
+ * sem_attr.adb (Analyze_Attribute) <Check_Library_Unit>: Delete.
+ <Check_Unit_Name>: Deal with N_Expanded_Name.
+ <Attribute_Elaborated>: Extend to all unit names.
+ * sem_elab.adb: And with and use for Uintp.
+ (Check_Internal_Call_Continue): Adjust to Elaboration_Entity change.
+ * sem_util.ads (Build_Elaboration_Entity): Adjust comment.
+ * sem_util.adb (Build_Elaboration_Entity): Change type to Integer.
+ * bindgen.adb (Gen_Elab_Externals_Ada): New local subprogram taken
+ from Gen_Adainit_Ada.
+ (Gen_Elab_Externals_C): Likewise, but taken from Gen_Adainit_C.
+ (Gen_Adafinal_Ada): Remove redundant test. In the non-main program
+ case, do not call System.Standard_Library.Adafinal; instead call
+ finalize_library if needed.
+ (Gen_Adafinal_C): Likewise.
+ (Gen_Adainit_Ada): Do not set SSL.Finalize_Library_Objects in the
+ non-main program case.
+ (Gen_Adainit_C): Generate a couple of external declarations here.
+ In the main program case, set SSL.Finalize_Library_Objects.
+ (Gen_Elab_Calls_Ada): Adjust to Elaboration_Entity change.
+ (Gen_Elab_Calls_C): Likewise.
+ (Gen_Finalize_Library_Ada): Likewise. Skip SAL interface units.
+ (Gen_Finalize_Library_C): Likewise. Generate a full function.
+ (Gen_Main_C): Put back call to Ada_Final and don't finalize library
+ objects here.
+ (Gen_Output_File_Ada): Generate pragma Linker_Destructor for Ada_Final
+ if -a is specified. Call Gen_Elab_Externals_Ada. Move around call to
+ Gen_Adafinal_Ada.
+ (Gen_Output_File_C): Generate __attribute__((destructor)) for Ada_Final
+ if -a is specified. Call Gen_Elab_Externals_C. Remove useless couple
+ of external declarations. Call Gen_Finalize_Library_C.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, makeutl.adb, makeutl.ads (Complete_Mains,
+ Compute_Compilation_Phases): new subprogram.
+ (Builder_Data, Builder_Project_Tree_Data): new subprogram and type
+ The number of mains as well as the various compilation phases that
+ need to be run are now project tree specific, since various
+ aggregated trees might have different requirements. In particular,
+ they do not all require bind or link phases.
+
+2011-08-04 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, makeutl.adb, makeutl.ads, prj-env.adb
+ (Project_Tree_Appdata): New type.
+ It is now possible to associate application-specific data to a project
+ tree. In particular, this is used in the gprbuild builder to avoid a
+ number of global tables and htables, especially now that there can be
+ several project trees loaded at once because of aggregate projects.
+ (Debug_Name): new procedure.
+ * projects.texi: Clarify syntax of "**" for Source_Dirs
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj.ads, makeutl.adb, makeutl.ads (Queue.Insert): now also inserts
+ the "roots" for a main.
+ (Fill_From_Project): add support for aggregate projects. Main units
+ in aggregated projects are now automatically added in the list of
+ files to build (although this fails later on in gprbuild, because
+ these files are not using the root proejct tree, so this needs
+ further cleanup)
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.adb (Analyze_Conditional_Expression): only allow boolean
+ conditional expression in ALFA.
+ * sem_res.adb (Resolve_Conditional_Expression): mark non-boolean
+ expressions as not in ALFA.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * a-cofove.adb: Minor reformatting.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads
+ (Insert_Project_Sources, Insert_withed_Sources_For): moved from the
+ gprbuild sources.
+ These packages are more logically placed in the Queue package, since
+ they manipulate the queue. It is also likely that they can be adapted
+ for gnatmake, thus sharing more code.
+ (Finish_Program, Fail_Program): moved from the gprbuild sources, so
+ that we could move the above.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * errutil.adb (Finalize): clean up the list of error messages on exit.
+ Calling this subprogram multiple times will no longer show duplicate
+ error messages on stderr.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Set_Command_Line): ignore the parameter
+ Getopt_Switches when we have already define a command line
+ configuration.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * sem_ch11.adb (Analyze_Raise_xxx_Error): do not mark such nodes as not
+ in ALFA. Instead, they are considered as assertions to prove.
+ * sem_ch4.adb (Analyze_Conditional_Expression): do not always mark such
+ nodes as not in ALFA. Instead, include conditional expressions in ALFA
+ if they have no ELSE part, or if they occur in pre- and postconditions,
+ where the Condition cannot have side-effects in ALFA
+ (Analyze_Membership_Op): do not mark such nodes as not in ALFA
+ (Analyze_Type_Conversion): do not always mark such nodes as not in ALFA.
+ Instead, include type conversion between scalar types in ALFA.
+ * sem_ch6.adb (Process_Formals): correctly mark a parameter in ALFA
+ if-and-only-if its type is in ALFA.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * scos.adb, get_scos.adb, put_scos.adb
+ New code letter for decisions: G (entry guard)
+ * par_sco.adb
+ (Traverse_Subprogram_Body): Rename to...
+ (Traverse_Subprogram_Or_Task_Body): New subrpogram.
+ (Traverse_Protected_Body): New subprogram
+ (Traverse_Declarations_Or_Statements): Add traversal of task bodies,
+ protected bodies and entry bodies.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads (Is_Postcondition_Proc): new flag for procedure
+ entities with get/set subprograms, which is set on procedure entities
+ generated by the compiler for a postcondition.
+ * sem_ch6.adb (Process_PPCs): set new flag on postcondition procedures
+ * alfa.adb, alfa.ads (Get_Entity_For_Decl): new function returning the
+ entity for a declaration
+ (Get_Unique_Entity_For_Decl): new function returning an entity which
+ represents a declaration, so that matching spec and body have the same
+ entity.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * a-except-2005.adb, a-cfhama.adb, a-cfhase.adb, a-cfhase.ads,
+ a-cforma.adb, a-cforse.ads, a-cforse.adb: Minor reformatting
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * lib-xref-alfa.adb (Detect_And_Add_ALFA_Scope): make the subprogram
+ library-level because retriction No_Implicit_Dynamic_Code in the
+ front-end prevents its definition as a local subprogram
+ (Traverse_Compilation_Unit): extract new procedure from Add_ALFA_File,
+ for reuse in other contexts
+ (Traverse_Declarations_Or_Statements,
+ Traverse_Handled_Statement_Sequence, Traverse_Package_Body,
+ Traverse_Package_Declaration, Traverse_Subprogram_Body): make all these
+ procedures take a callback parameter to be called on all declarations
+ * lib-xref.ads
+ (Traverse_All_Compilation_Units): new generic function to traverse a
+ compilation unit and call a callback parameter on all declarations
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Interface_Name): Allow duplicated export names
+ in Java since they are always enclosed in a namespace that
+ differentiates them, and overloaded entities are supported by the VM.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Determine_Range): If a computed bound of an operation is
+ outside the range of the base type of the expression, and overflow
+ checks are enabled, the result is unknown and cannot be used for any
+ subsequent constant folding.
+ * sem_eval.adb (Compile_Time_Compare): if the bounds of one operand are
+ unknown, so is the result of the comparison.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-except-2005.adb (Raise_From_Controlled_Operation): Add new formal
+ From_Abort. When finalization was triggered by an abort, propagate
+ Standard'Abort_Signal rather than Program_Error.
+ * a-except-2005.ads (Raise_From_Controlled_Operation): Add new formal
+ From_Abort.
+ * a-except.adb (Raise_From_Controlled_Operation): Add new formal
+ From_Abort. When finalization was triggered by an abort, propagate
+ Standard'Abort_Signal rather than Program_Error.
+ * a-except.ads:(Raise_From_Controlled_Operation): Add new formal
+ From_Abort.
+ * exp_ch7.adb:(Build_Adjust_Or_Finalize_Statements): New local variable
+ Abort_Id. Update the calls to Build_Object_Declarations and
+ Build_Raise_Statement to include Abort_Id.
+ (Build_Adjust_Statements): New local variable Abort_Id. Update the
+ calls to Build_Object_Declarations and Build_Raise_Statement to include
+ Abort_Id.
+ (Build_Finalize_Statements): New local variable Abort_Id. Update the
+ calls to Build_Object_Declarations and Build_Raise_Statement to include
+ Abort_Id.
+ (Build_Components): Create an entity for Abort_Id when exceptions are
+ allowed on the target.
+ (Build_Finalizer): New local variable Abort_Id.
+ (Build_Initialize_Statements): New local variable Abort_Id. Update the
+ calls to Build_Object_Declarations and Build_Raise_Statement to include
+ Abort_Id.
+ (Build_Object_Declarations): Add new formal Abort_Id. Create the
+ declaration of flag Abort_Id to preserve the original abort status
+ before finalization code is executed.
+ (Build_Raise_Statement): Add new formal Abort_Id. Pass Abort_Id to
+ runtime routine Raise_From_Controlled_Operation.
+ (Create_Finalizer): Update the call to Build_Raise_Statement to include
+ Abort_Id. Update the call to Build_Object_Declarations to include
+ Abort_Id. Update the layout of the finalizer body.
+ (Make_Handler_For_Ctrl_Operation): Add an actual for From_Abort.
+ (Process_Transient_Objects): New local variable Abort_Id. Remove the
+ clunky code to create all flags and objects related to
+ exception propagation and replace it with a call to
+ Build_Object_Declarations. Update the call to Build_Raise_Statement to
+ include Abort_Id.
+ * exp_ch7.ads (Build_Object_Declarations): Moved from body to spec.
+ Add new formal Abort_Id and associated comment on its use.
+ (Build_Raise_Statement): Add new formal Abort_Id and associated comment
+ on its use.
+ * exp_intr.adb (Expand_Unc_Deallocation): New local variable Abort_Id.
+ Remove the clunky code to create all flags and objects related to
+ exception propagation and replace it with a call to
+ Build_Object_Declarations. Update the call to Build_Raise_Statement.
+
+2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-tassta.adb: Fix minor typos.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.ads, makeutl.ads, prj.ads, prj.adb, make.adb,
+ lib-writ.adb, makeutl.adb, s-soflin.ads, clean.adb: Minor reformatting.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb (Create_Finalizer): Treat freeze nodes in similar fashion
+ to packages. This ensures that the finalizer body will not end up
+ inside the freeze node.
+ (Process_Declarations): Add code to detect whether a freeze node has a
+ nested finalization collection.
+
+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * g-awk.adb, g-awk.ads: Make GNAT.AWK API compatible with Ada 2005.
+ (Current_Session): Return a not null access to Session_Type.
+ (Default_Session): Likewise.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.adb, bindgen.adb, exp_ch4.adb, exp_ch13.adb, sem_warn.adb,
+ exp_ch3.adb, exp_ch3.ads: Minor reformatting.
+
+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * g-awk.ads: Minor comment fix.
+
+2011-08-03 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads (ASIS_Version_Number): Update because of the changes in
+ the tree structure related to discriminant constraints.
+ Original_Discriminant cannot be used any more for computing the
+ defining name for the reference to a discriminant.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Is_Tag_Indeterminate): If the return type of the
+ function is not visibly tagged, this is not a dispatching call and
+ therfore is not Tag_Indeterminate, even if the function is marked as
+ dispatching on result.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch13.adb: Add with and use clauses for Restrict and Rident.
+ (Expand_N_Free_Statement): Add a guard to protect against run-times
+ which do not support controlled types.
+ * exp_ch3.adb (Expand_Freeze_Class_Wide_Type): Add a guard to protect
+ against run-times which do not support controlled types.
+ * exp_ch4.adb (Complete_Controlled_Allocation): Add a guard to protect
+ against run-times which do not support controlled types.
+ * exp_ch7.adb (Build_Finalization_Collection): Add a guard to protect
+ against run-times which do not support controlled types.
+ * exp_util.adb (Needs_Finalization): Code reformatting. Add a guard to
+ protect against run-times which do not support controlled types.
+
+2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_intr.adb: Put back with and use clauses for Exp_Ch11.
+ (Expand_Unc_Deallocation): Expand the AT_END handler at the very end.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): indicate that the cursor is
+ modified in the source, to prevent spurious warnings when compiling
+ with -gnatg.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * a-except-2005.adb: Minor reformatting.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb (Check_One_Unit): if the only mention of a withed unit
+ is a renaming declaration in the private part of a package, do not emit
+ a warning that the with_clause could be moved because the renaming may
+ be used in the body or in a child unit.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
+ Propagate the Comes_From_Source attribute from the original return
+ object to the renaming.
+
+2011-08-03 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_ch7.adb (Build_Raise_Statement): Do not call
+ Raise_From_Controlled_Operation when this routine is not present in
+ the run-time library.
+ (Cleanup_Protected_Object, Cleanup_Task): For restricted run-time
+ libraries (Ravenscar), tasks are non-terminating, and protected objects
+ and tasks can only appear at library level, so we do not want
+ finalization of protected objects nor tasks.
+ * exp_intr.adb: Minor clarification in comment.
+ bindgen.adb (Gen_Adainit_Ada, Gen_Main_C, Gen_Output_File_Ada,
+ Gen_Output_File_C): Remove references to finalization of library-level
+ objects when using restricted run-time libraries.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminant_Constraints): Set
+ Original_Discriminant only if the parent type is a generic formal.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch13.adb: Add with and use clause for Targparm;
+ (Expand_N_Free_Statement): Prevent the generation of a custom
+ Deallocate on .NET/JVM targets since this requires pools and address
+ arithmetic.
+ * exp_ch4.adb (Expand_Allocator_Expression): When compiling for
+ .NET/JVM targets, attach the newly allocated object to the access
+ type's finalization collection. Do not generate a call to
+ Set_Finalize_Address_Ptr on .NET/JVM because this routine does not
+ exist in the runtime.
+ (Expand_N_Allocator): When compiling for .NET/JVM targets, do not
+ create a custom Allocate for object that do not require initialization.
+ Attach a newly allocated object to the access type's finalization
+ collection on .NET/JVM.
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add special processing for
+ assignment of controlled types on .NET/JVM. The two hidden pointers
+ Prev and Next and stored and later restored after the assignment takes
+ place.
+ * exp_ch6.adb (Expand_Call): Add local constant Curr_S. Add specialized
+ kludge for .NET/JVM to recognize a particular piece of code coming from
+ Heap_Management and change the call to Finalize into Deep_Finalize.
+ * exp_ch7.adb (Build_Finalization_Collection): Allow the creation of
+ finalization collections on .NET/JVM only for types derived from
+ Controlled. Separate the association of storage pools with a collection
+ and only allow it on non-.NET/JVM targets.
+ (Make_Attach_Call): New routine.
+ (Make_Detach_Call): New routine.
+ (Process_Object_Declarations): Suppress the generation of
+ build-in-place return object clean up code on .NET/JVM since it uses
+ pools.
+ * exp_ch7.ads (Make_Attach_Call): New routine.
+ (Make_Detach_Call): New routine.
+ * exp_intr.adb Add with and use clause for Targparm.
+ (Expand_Unc_Deallocation): Detach a controlled object from a collection
+ on .NET/JVM targets.
+ * rtsfind.ads: Add entries RE_Attach, RE_Detach and
+ RE_Root_Controlled_Ptr to tables RE_Id and RE_Unit_Table.
+ * snames.ads-tmpl: Add name Name_Prev. Move Name_Prev to the special
+ names used in finalization.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-fihema.adb: Add with and use clauses for System.Soft_Links.
+ (Attach, Detach): Lock the current task when chaining an object onto a
+ collection.
+
+2011-08-03 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * a-except.adb, a-except-2005.adb (Raise_From_Controlled_Operation):
+ Rewritten to create the message strings when the exception is not
+ raised by an abort during finalization.
+ * a-except.ads, a-except-2005.ads: Add pragma Export for procedure
+ Raise_From_Controlled_Operation and update its associated comment.
+ * a-fihema.ads, a-fihema.adb: New GNAT unit.
+ Ada.Finalization.Heap_Management provides key functionality
+ associated with controlled objects on the heap, their creation,
+ finalization and reclamation. Type Finalization_Collection is
+ effectively a wrapper which sits ontop of a storage pool and performs
+ all necessary bookkeeping for all the objects it contains. Each
+ access-to-controlled or access-to-class-wide type receives a collection
+ as part of its expansion. The compiler generates buffer code and
+ invokes Allocate / Deallocate to create and destroy allocated
+ controlled objects.
+ * a-finali.adb ("="): Removed.
+ * a-finali.ads ("="): Removed. Controlled types no longer carry hidden
+ fields Prev and Next.
+ * ali.adb (Scan_ALI): Add parsing code to process PF / Has_Finalizer.
+ A library unit with at least one controlled object on the library level
+ has a special finalizer which is invoked by the binder. To signal this,
+ ali files carry field PF.
+ * ali.ads: New field in type Unit_Record called Has_Finalizer. Add
+ associated comment on field usage.
+ * a-tags.adb (Get_RC_Offset): Removed.
+ (Needs_Finalization): New routine.
+ * a-tags.ads: Update the structure of the GNAT dispatch tables.
+ Dispatch tables now carry field Needs_Finalization which provides
+ runtime indication whether a type is controlled or has controlled
+ components or both. Remove field RC_Offset.
+ (Get_RC_Offset): Removed along with its associated pragma Export.
+ Since tagged types with controlled components no longer carry hidden
+ field _controller, the special mechanism to retrieve its location is no
+ longer needed.
+ (Needs_Finalization): New routine.
+ * atree.ads, atree.adb (Elist24): New routine.
+ (Set_Elist24): New routine.
+ * atree.h: Add a define clause for Elist24.
+ * bindgen.adb New library-level variable Lib_Final_Built.
+ (Gen_Adafinal_Ada): Reimplemented. Depending on the restrictions or the
+ presence of a VM target, the routine generates calls to the proper
+ library finalization routine.
+ (Gen_Adainit_Ada): Import Finalize_Library_Objects only on non-VM
+ targets. Set the correct library finalization routine depending on
+ whether the library has controlled objects or this is a VM compilation.
+ (Gen_Finalize_Library_Ada): New routine. This procedure generates calls
+ to library-level finalizers of compiled units in reverse order of
+ elaboration. It also produces exception management code and reraises a
+ potential exception after all units have been finalized.
+ (Gen_Finalize_Library_C): New routine. This procedure generates calls to
+ library-level finalizers of compiled units in reverse order of
+ elaboration.
+ (Gen_Finalize_Library_Defs_C): New routine. This procedure generates the
+ definitions of all library-level finalizers available to the compilation
+ (Gen_Main_Ada): Directly call Adafinal which now contails all target
+ dependent code.
+ (Gen_Main_C): Add new local constant Needs_Library_Finalization. Call
+ System.Standard_Library.Adafinal directly. If the library needs
+ finalization actions, create the sequence of finalization calls.
+ (Gen_Output_File_Ada): Alphabetize local variables and constants.
+ Generate a with clause for System.Soft_Links when compiling for a VM.
+ Remove the code which imports System.Standard_Library.Adafinal as
+ Do_Finalize. Generate the library finalization routine.
+ (Gen_Output_File_C): Add new local constant Needs_Library_Finalization.
+ If the library needs finalization actions, create all the definitions
+ of library- level finalizers.
+ (Has_Finalizer): New routine. Determines whether at least one compiled
+ unit has a library-level finalizer.
+ Add type Qualification_Mode.
+ (Set_Unit_Name): Add a formal which controls the replacement of a dot.
+ * einfo.adb: New usage of field 15 as Return_Flag.
+ Remove Finalization_Chain_Entity from the usages of field 19.
+ Remove Associated_Final_Chain from the usages of field 23.
+ New usage of field 23 as Associated_Collection.
+ New usage of field 24 as Finalizer.
+ New usage of flag 252 as Is_Processed_Transient.
+ (Associated_Final_Chain): Removed.
+ (Associated_Collection): New routine.
+ (Finalization_Chain_Entity): Removed.
+ (Finalizer): New routine.
+ (Is_Finalizer): New routine.
+ (Is_Processed_Transient): New routine.
+ (Return_Flag): New routine.
+ (Set_Associated_Final_Chain): Removed.
+ (Set_Associated_Collection): New routine.
+ (Set_Finalization_Chain_Entity): Removed.
+ (Set_Finalizer): New routine.
+ (Set_Is_Processed_Transient): New routine.
+ (Set_Return_Flag): New routine.
+ (Write_Entity_Flags): Include Is_Processed_Transient to the list of
+ displayed flags.
+ (Write_Field8_Name): Alphabetize the output.
+ (Write_Field11_Name): Alphabetize the output.
+ (Write_Field12_Name): Alphabetize the output.
+ (Write_Field13_Name): Alphabetize the output.
+ (Write_Field14_Name): Alphabetize the output.
+ (Write_Field15_Name): Alphabetize the output.
+ (Write_Field16_Name): Alphabetize the output.
+ (Write_Field17_Name): Alphabetize the output.
+ (Write_Field18_Name): Alphabetize the output.
+ (Write_Field19_Name): Alphabetize the output. Remove the output of
+ Finalization_Chain_Entity.
+ (Write_Field20_Name): Alphabetize the output.
+ (Write_Field21_Name): Alphabetize the output.
+ (Write_Field22_Name): Alphabetize the output.
+ (Write_Field23_Name): Alphabetize the output. Remove the output of
+ Associated_Final_Chain. Add output for Associated_Collection.
+ (Write_Field24_Name): Alphabetize the output.
+ (Write_Field25_Name): Add output for Finalizer.
+ (Write_Field26_Name): Alphabetize the output.
+ (Write_Field27_Name): Alphabetize the output.
+ (Write_Field28_Name): Alphabetize the output.
+ * einfo.ads: Add new field description for Associated_Collection and
+ its uses in nodes.
+ Remove Associated_Final_Chain and its uses in nodes.
+ Remove Finalization_Chain_Entity and its uses in nodes.
+ Add new field description for Finalizer and its uses in nodes.
+ Add new synthesized attribute Is_Finalizer.
+ Add new flag description for Is_Processed_Transient and its uses in
+ nodes.
+ Add new field description for Return_Flag and its uses in nodes.
+ (Associated_Final_Chain): Removed along with its pragma Inline.
+ (Associated_Collection): New routine and pragma Inline.
+ (Finalization_Chain_Entity): Removed along with its pragma Inline.
+ (Finalizer): New routine and pragma Inline.
+ (Is_Finalizer): New routine and pragma Inline.
+ (Is_Processed_Transient): New routine and pragma Inline.
+ (Return_Flag): New routine and pragma Inline.
+ (Set_Associated_Final_Chain): Removed along with its pragma Inline.
+ (Set_Associated_Collection): New routine and pragma Inline.
+ (Set_Finalization_Chain_Entity): Removed along with its pragma Inline.
+ (Set_Finalizer): New routine and pragma Inline.
+ (Set_Is_Processed_Transient): New routine and pragma Inline.
+ (Set_Return_Flag): New routine and pragma Inline.
+ * exp_aggr.adb: Alphabetize subprograms.
+ (Build_Array_Aggr_Code): Remove formal Flist and its associated comment.
+ (Build_Record_Aggr_Code): Remove formals Flist and Obj along with their
+ associated comments. Remove local variables External_Final_List and
+ Attach.
+ Rename Ctrl_Stuff_Done to Finalization_Done. Rename local variable A to
+ Ancestor. Remove the retrieval of finalization lists. Update the call to
+ Make_Adjust_Call.
+ (Convert_Aggr_In_Allocator): Remove the retrieval of finalization
+ lists. Update the call to Late_Expansion.
+ (Convert_Aggr_In_Assignment): Update the call to Late_Expansion.
+ (Convert_Aggr_In_Object_Decl): Update the call to Late_Expansion.
+ (Gen_Assign): Remove the retrieval of the finalization list used to
+ build the assignment. Update the calls to Make_Init_Call and
+ Make_Adjust_Call.
+ (Gen_Ctrl_Actions_For_Aggr): Renamed to Generate_Finalization_Actions.
+ Remove the mechanism to determine attachment levels and finalization
+ list retrieval. Remove the processing for coextensions.
+ (Init_Controller): Removed. Controllers no longer exist.
+ (Late_Expansion): Remove formals Flist and Obj along with their
+ associated comments. Update the calls to Build_Record_Aggr_Code and
+ Build_Array_Aggr_Code.
+ * exp_ch13.adb (Expand_N_Free_Statement): New routine.
+ (Expand_N_Freeze_Entity): Add special processing for finalizers which
+ appear in entry bodies, protected subprograms and task bodies.
+ * exp_ch13.ads (Expand_N_Free_Statement): New routine.
+ * exp_ch3.adb (Add_Final_Chain): Removed.
+ (Build_Array_Init_Proc): Alphabetize local variables.
+ (Build_Assignment): Alphabetize local variables. Update the call to
+ Maked_Adjust_Call.
+ (Build_Class_Wide_Master): Rename local variables to better reflect
+ their role.
+ (Build_Discriminant_Assignments): Code reformatting.
+ (Build_Init_Call_Thru): Code reformatting.
+ (Build_Init_Procedure): Code reformatting. Generate a special version
+ of Deep_Finalize which is capable of finalizing all initialized
+ components and ignore the rest.
+ (Build_Init_Statements): Rename local variables to better reflect their
+ role.
+ Reimplement the mechanism to include the creation and update of an index
+ variable called a "counter". It is used as a bookmark for tracing
+ initialized and non-initialized components.
+ (Build_Initialization_Call): Remove local variable Controller_Typ.
+ Alphabetize all local variables. Remove the initialization of the
+ record controller and update the call to Make_Init_Call.
+ (Build_Record_Init_Proc): Rename formal Pe to Rec_Ent.
+ New local variable Counter.
+ (Constrain_Array): Alphabetize.
+ (Expand_Freeze_Array_Type): Create a collection instead of a
+ finalization list.
+ (Expand_Freeze_Class_Wide_Type): New routine. Creates TSS primitive
+ Finalize_Address which is used in conjunction with allocated controlled
+ objects.
+ (Expand_N_Object_Declaration): Remove the creation of a finalization
+ list for anonymous access types. Update the calls to Make_Init_Call and
+ Make_Adjust_Call.
+ (Expand_Freeze_Record_Type): Remove local variable Flist. Remove the
+ retrieval of finalization lists. Remove the expansion of the record
+ controller. Create TSS primitive Finalize_Address used in conjunction
+ with controlled objects on the heap. Create finalization collections
+ for access-to-controlled record components.
+ (Expand_Record_Controller): Removed.
+ (Freeze_Type): Remove the freezing of record controllers. Freezing of
+ class-wide types now requires additional processing. Create
+ finalization collections for access-to-controlled types.
+ (Increment_Counter): New routine.
+ (Make_Counter): New routine.
+ (Make_Eq_If): Remove the mention of Name_uController.
+ (Make_Predefined_Primitive_Specs): There is no longer need to skip
+ types coming from System.Finalization_Root.
+ (Predef_Deep_Spec): Reimplemented to reflect the new parameter profiles.
+ (Predefined_Primitive_Bodies): There is no longer need to skip types
+ coming from System.Finalization_Root.
+ (Stream_Operation_OK): Do not generate stream routines for
+ type Ada.Finalization.Heap_Management.Finalization_Collection.
+ * exp_ch3.ads: Alphabetize subprograms.
+ * exp_ch4.adb: Remove with and use clause for Sem_Ch8.
+ Add with and use clause for Lib.
+ (Complete_Coextension_Finalization): Removed.
+ (Complete_Controlled_Allocation): New routine. Create a finalization
+ collection for anonymous access-to-controlled types. Create a custom
+ Allocate which interfaces with the back end and the machinery in
+ Heap_Management.
+ (Expand_Allocator_Expression): Add necessary calls to
+ Complete_Controlled_Allocation. Remove the retrieval of finalization
+ lists. Update the calls to Make_Adjust_Call. Generate a call to
+ Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
+ the associated collection.
+ (Expand_N_Allocator): Remove the processing for dynamic coextensions.
+ Code clean up. Remove the retrieval of finalization lists and
+ attachment levels.
+ Update the call to Make_Init_Call. Generate a call to
+ Ada.Finalization.Heap_Management.Set_Finalize_Address_Ptr to decorate
+ the associated collection.
+ (Get_Allocator_Final_List): Removed. Finalization lists are not
+ available.
+ (Suitable_Element): Remove the mention of Name_uController.
+ * exp_ch5.adb: Remove with and use clauses for Ttypes and Uintp.
+ (Make_Tag_Ctrl_Assignment): Rewritten to simply do a finalization of
+ the left hand side, carry out the assignment and adjust the left hand
+ side.
+ * exp_ch6.adb (Add_Final_List_Actual_To_Build_In_Place_Call): Removed.
+ (Add_Collection_Actual_To_Build_In_Place_Call): New routine.
+ (BIP_Formal_Suffix): Rename BIP_Final_List and BIPfinallist to
+ BIP_Collection and BIPcollection.
+ (Build_Heap_Allocator): New routine used to allocate the return object
+ of a build-in-place function onto a collection.
+ (Expand_Ctrl_Function_Call): Moved from Exp_Ch7.
+ (Expand_Call): Do not replace direct calls to Deep routines with their
+ aliases.
+ (Expand_N_Extended_Return_Statement): Give all variables shorter names
+ and update their occurrences. Add a special return flag to monitor the
+ [ab]normal execution of the function. The flag is set right before the
+ return statement.
+ Rewrite the mechanism used to allocate a build-in-place return object
+ on the heap or on a storage pool.
+ (Is_Direct_Deep_Call): New routine.
+ (Make_Build_In_Place_Call_In_Allocator): Add a collection to a
+ build-in-place function call instead of a final list. Build a call to
+ Set_Finalize_Address_Ptr to decorate the associated collection.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): Create a temporary in
+ order to name the build-in-place function call's result for later
+ finalization. Add a collection to a build-in-place function call
+ instead of a final list.
+ (Make_Build_In_Place_Call_In_Assignment): Add a collection to a
+ build-in-place function call instead of a final list. Remove the code
+ which moves one final list and transforms it into the actual in a
+ nested build-in-place call.
+ (Make_Build_In_Place_Call_In_Object_Declaration): Add a collection to a
+ build-in-place function call instead of a final list.
+ (Move_Final_List): Removed.
+ (Needs_BIP_Collection): New routine.
+ (Needs_BIP_Final_List): Removed.
+ * exp_ch6.ads: Replace BIP_Final_List with BIP_Collection in
+ enumeration type BIP_Formal_Kind.
+ Update the related comment.
+ (Needs_BIP_Collection): New routine.
+ (Needs_BIP_Final_List): Removed.
+ * exp_ch7.adb: Add with and use clauses for Elists, Exp_Ch6, Stringt
+ and Ttypes. Remove with and use clauses for Sem_Type. Alphabetize the
+ majority of subprograms in this unit. Add Name_Finalize_Address to
+ array Name_Of and TSS_Finalize_Address to array Deep_Name_Of.
+ (Build_Adjust_Or_Finalize_Statements): Create the adjust or finalization
+ statements for an array type.
+ (Build_Adjust_Statements): Create the adjust statements for a record
+ type.
+ (Build_Cleanup_Statements): New routine. A procedure which given any
+ construct containing asynchronous calls, references to _master, or is a
+ task body, a task allocation or a protected body produces the necessary
+ runtime calls to clean up these constructs.
+ (Build_Exception_Handler): New routine.
+ (Build_Final_List): Removed.
+ (Build_Finalization_Collection): New routine. A core procedure which
+ creates a collection to service heap allocated controlled objects
+ associated with an access-to-controlled type.
+ (Build_Finalize_Statements): Create the finalization statements for a
+ record types.
+ (Build_Finalizer): New routine. A core procedure which given any
+ construct with declarations and/or statements detects all objects which
+ need any type of clean up (controlled objects, protected objects) and
+ generates all necessary code to clean up the said objects in the proper
+ order.
+ (Build_Finalizer_Call): New routine.
+ (Build_Initialize_Statements): Create the initialization statements for
+ an array type. The generated routine contains code to finalize partially
+ initialized arrays.
+ (Build_Object_Declarations): New routine.
+ (Build_Raise_Statement): New routine.
+ (Clean_Simple_Protected_Objects): Removed.
+ (Controller_Component): Removed.
+ (Enclosing_Function): New routine.
+ (Expand_Cleanup_Actions): Create a finalizer for a construct which has
+ either declarations or statements or both.
+ (Expand_N_Package_Body): Create a finalizer for a non-generic package.
+ (Expand_N_Package_Declaration): Create a finalizer for a non-generic
+ package.
+ (Find_Final_List): Removed.
+ (Global_Flist_Ref): Removed.
+ (In_Finalization_Root): Removed.
+ (Insert_Actions_In_Scope_Around): Determine the range of the transient
+ scope in terms of tree nodes. Process all transient variables within
+ that range.
+ (Make_Adjust_Call): Rewritten. There is no longer an attach call
+ generated after the adjust.
+ (Make_Attach_Call): Removed.
+ (Make_Call): New routine.
+ (Make_Clean): Removed.
+ (Make_Deep_Array_Body): Rewritten to simply invoke the appropriate
+ build routines.
+ (Make_Deep_Proc): Rewritten to generate the new profile signature used
+ in Deep routines.
+ (Make_Deep_Record_Body): Rewritten to simply invoke the appropriate
+ build routines.
+ (Make_Final_Call): Modified to simply create a call to either
+ Deep_Finalize or Finalize.
+ (Make_Finalize_Address_Body): New routine.
+ (Make_Finalize_Address_Stmts): New routine. A function which produces
+ TSS primitive Finalize_Address used in conjunction with heap allocated
+ controlled objects.
+ (Make_Handler_For_Ctrl_Operation): Add specialized code for .NET/JVM.
+ (Make_Init_Call): Rewritten. There is no longer an attach call
+ generated after initialization.
+ (Make_Local_Deep_Finalize): New routine.
+ (Make_Set_Finalize_Address_Ptr_Call): New routine.
+ (Make_Transient_Block): Remove the finalization list retrieval and
+ manipulation.
+ (Needs_Finalization): Moved to Exp_Util.
+ (Parent_Field_Type): New routine.
+ (Preprocess_Components): New routine.
+ (Process_Transient_Objects): New routine.
+ (Wrap_HSS_In_Block): New routine.
+ (Wrap_Transient_Declaration): Remove finalization list management and
+ controller insertion.
+ (Wrap_Transient_Expression): Code reformatting.
+ (Wrap_Transient_Statement): Code reformatting.
+ * exp_ch7.ads (Build_Final_List): Removed.
+ (Build_Finalization_Collection): New routine.
+ (Build_Raise_Statement): New routine.
+ (Controller_Component): Removed.
+ (Expand_Ctrl_Function_Call): Moved to Exp_Ch6.
+ (Find_Final_List): Removed.
+ (In_Finalization_Root): Removed.
+ (Is_Simple_Protected_Type): Update related comment.
+ (Make_Adjust_Call): New parameter profile and associated comments.
+ (Make_Attach_Call): Removed.
+ (Make_Final_Call): New parameter profile and associated comments.
+ (Make_Finalize_Address_Body): New routine.
+ (Make_Init_Call): New parameter profile and associated comments.
+ (Make_Local_Deep_Finalize): New routine.
+ (Make_Set_Finalize_Address_Ptr_Call): New routine.
+ (Needs_Finalization): Moved to Exp_Util.
+ * exp_ch9.adb (Add_Object_Pointer): Code reformatting.
+ (Expand_N_Protected_Body): Remove the handling of finalization lists.
+ (Find_Protection_Type): Moved to Exp_Util.
+ * exp_disp.adb: Remove with and use clauses for Exp_Ch7.
+ (Make_DT): Update sequence of dispatch table initialization. Remove the
+ initialization of field RC_Offset. Add initialization of field Needs_
+ Finalization.
+ * exp_intr.adb (Expand_Unc_Deallocation): Code reformatting.
+ Reimplement how an object is first finalized, then deallocated.
+ * exp_strm.adb (Build_Record_Or_Elementary_Input_Function):
+ Code reformatting.
+ * exp_tss.ads: Add special suffix for TSS primitive Finalize_Address.
+ Register TSS_Finalize_Address with type TSS_Names.
+ * exp_util.adb (Build_Allocate_Deallocate_Proc): New routine. This core
+ procedure provides the interface between an allocation / deallocation
+ and the support machinery in Ada.Finalization.Heap_Management.
+ (Find_Init_Call): Code reformatting.
+ (Find_Init_Call_In_List): Code reformatting.
+ (Find_Protection_Type): Moved from Exp_Ch9.
+ (Find_Prim_Op): Reimplement to add preference of recovered primitive.
+ (Has_Controlled_Coextensions): Removed.
+ (Has_Controlled_Objects): New routine.
+ (In_Library_Level_Package_Body): New routine.
+ (Insert_Action_After): New routine.
+ (Is_Finalizable_Transient): New routine. This predicate determines
+ whether an object declaration is one of the many variants of controlled
+ transients.
+ (Is_Null_Access_BIP_Func_Call): New routine.
+ (Is_Non_BIP_Func_Call): New routine.
+ (Is_Related_To_Func_Return): New routine.
+ (Needs_Finalization): Moved from Exp_Ch7.
+ * exp_util.ads (Build_Allocate_Deallocate_Proc): New routine.
+ (Find_Protection_Type): Moved from Exp_Ch9.
+ (Has_Controlled_Coextensions): Removed.
+ (Has_Controlled_Objects): New routine.
+ (In_Library_Level_Package_Body): New routine.
+ (Insert_Action_After): New routine.
+ (Is_Finalizable_Transient): New routine.
+ (Is_Null_Access_BIP_Func_Call): New routine.
+ (Is_Non_BIP_Func_Call): New routine.
+ (Is_Related_To_Func_Return): New routine.
+ (Needs_Finalization): Moved from Exp_ch7.
+ * expander.adb (Expand): Add a case for N_Free_Statement.
+ * freeze.adb (Freeze_All): Replace the generation of a finalization
+ list with a collection for access-to-controlled types.
+ (Freeze_Entity): Code reformatting.
+ (Freeze_Record_Type): Remove the freezing of a record controller
+ component.
+ (Freeze_Subprogram): Code reformatting.
+ * inline.adb (Cleanup_Scopes): Remove the reset of the scope
+ finalization list.
+ * lib-writ.adb (Write_Unit_Information): Output "PF" when a package
+ has a library-level finalizer.
+ * lib-writ.ads: Add "PF" to the sequence of unit attributes.
+ * a-filico.ads, a-filico.adb, s-finimp.ads, s-finimp.adb: Removed.
+ * Makefile.rtl: Remove a-filico and s-finimp from the list of object
+ files. Add a-fihema to the list of object files.
+ * par-ch4.adb:
+ Alphabetize the associations in type Is_Parameterless_Attribute.
+ * rtsfind.ads: Ada.Finalization_List.Controller and
+ System.Finalization_Implementation are no longer a GNAT unit.
+ Update the range of type Ada_Finalization_Child. Remove the following
+ recoverable entities:
+
+ RE_Attach_To_Final_List
+ RE_Deep_Tag_Attach
+ RE_Finalize_List
+ RE_Finalize_One
+ RE_Finalizable_Ptr_Ptr
+ RE_Global_Final_List
+ RE_Limited_Record_Controller
+ RE_List_Controller
+ RE_Move_Final_List
+ RE_Record_Controller
+ RE_Simple_List_Controller
+
+ Add the following recoverable entities:
+
+ RE_Add_Offset_To_Address
+ RE_Allocate
+ RE_Base_Pool
+ RE_Deallocate
+ RE_Exception_Identity
+ RE_Finalization_Collection
+ RE_Finalization_Collection_Ptr
+ RE_Needs_Finalization
+ RE_Save_Library_Occurrence
+ RE_Set_Finalize_Address_Ptr
+ RE_Set_Storage_Pool_Ptr
+ RE_Storage_Count
+ * sem_aggr.adb (Resolve_Record_Aggregate): Remove mention of
+ Name_uController.
+ * sem_aux.adb (First_Discriminant): Remove mention of Name_uController.
+ (First_Stored_Discriminant): Remove the mention of Name_uController.
+ * sem_aux.ads: Comment reformatting.
+ * sem_ch10.adb (Build_Chain): Signal the class-wide creation machinery
+ to redecorate an already existing class-wide type.
+ (Decorate_Tagged_Type): New parameter profile and associated comment.
+ Create a "shadow class-wide type" for a shadow entity.
+ * sem_ch11.adb (Analyze_Exception_Handlers): Remove the dubious setting
+ of the final chain along with the associated comment.
+ * sem_ch3.adb (Access_Type_Declaration): Add new local variable
+ Full_Desig and set it to the full view of the designated type.
+ Initialize the finalization collection to empty.
+ (Build_Derived_Record_Type): Alphabetize local variables. Code
+ reformatting.
+ (Collect_Fixed_Components): Remove the mention of Name_uController.
+ (Create_Constrained_Components): Remove the mention of Name_uController.
+ (Make_Class_Wide_Type): Add specialized code to redecorate an existing
+ class-wide type of a shadow entity.
+ (Process_Full_View): Update the machinery which marks type
+ Limited_Controlled's entity as limited.
+ * sem_ch4.adb (Analyze_One_Call): Code reformatting.
+ * sem_ch6.adb (Create_Extra_Formals): Do not generate a finalization
+ list, instead make a collection build-in-place formal.
+ * sem_ch8.adb (Analyze_Object_Renaming): Look at the available view of
+ a designated type in order to establish a match between the renaming
+ and the renamed entity.
+ (Find_Selected_Component): Add guard to prevent spurious exceptions
+ from being raised on .NET/JVM.
+ * sem_disp.adb (Check_Dispatching_Operation): Include Finalize_Address
+ to the list of primitive that need special processing. Update arrays
+ C_Names and D_Names.
+ (Replace_Types): Handle class-wide types.
+ * sem_elab.adb (Check_A_Call): Since Deep_Initialize now has a
+ different parameter profile, look at the first formal.
+ * sem_prag.adb: Remove with and use clauses for Exp_Ch7. Add with and
+ use clauses for Exp_Util.
+ * sem_res.adb: Remove with and use clauses for Elists.
+ (Propagate_Coextensions): Removed.
+ (Resolve_Allocator): Do not propagate the list of coextensions from one
+ allocator to another.
+ * sem_util.adb (Build_Actual_Subtype_Of_Component): Rename variable
+ Deaccessed_T to Desig_Typ.
+ (Enter_Name): Remove the mention of Name_uController.
+ (Gather_Components): Remove the mention of Name_uController.
+ (Incomplete_Or_Private_View): New routine.
+ (Is_Coextension_Root): Removed.
+ (Is_Fully_Initialized_Type): Remove the mention of Name_uController.
+ * sem_util.ads (Incomplete_Or_Private_View): New routine.
+ (Is_Coextension_Root): Removed.
+ * s-finroo.ads: Remove with clause for Ada.Unchecked_Conversion.
+ Controlled types are now derived from a null tagged record. Remove
+ types Finalizable_Ptr, Finalizable and Empty_Root_Controlled.
+ * sinfo.adb (Coextensions): Removed.
+ (Set_Coextensions): Removed.
+ * sinfo.ads: Remove Coextensions from the explanation of node fields
+ and its uses in nodes.
+ Update the field usage of N_Allocator.
+ (Coextensions): Removed along with its pragma Inline.
+ (Set_Coextensions): Removed along with its pragma Inline.
+ * snames.ads-tmpl: Remove names
+
+ Name_uClean
+ Name_uController
+ Name_uFinal_List
+ Name_uLocal_Final_List
+ Name_Finalization_Root
+ Name_Next
+ Name_Prev
+
+ Add names
+
+ Name_uFinalizer
+ Name_Finalize_Address
+ * s-pooglo.adb (Allocate): Add overriding indicator.
+ (Deallocate): Add overriding indicator.
+ (Storage_Size): Add overriding indicator.
+ * s-soflin.adb (Adafinal_NT): Invoke Finalize_Library_Objects rather
+ than Finalize_Global_List.
+ (Null_Finalize_Global_List): Removed.
+ (Save_Library_Occurrence): New routine.
+ * s-soflin.ads: Remove variable Finalize_Global_List along with its
+ initialization. Add variable Finalize_Library_Objects along with its
+ pragma Export. Add variables Library_Exception and
+ Library_Exception_Set along with their pragma Export.
+ (Null_Finalize_Global_List): Removed.
+ (Save_Library_Occurrence): New routine.
+ * s-tassta.adb (Finalize_Global_Tasks): Call Finalize_Library_Objects
+ rather than Finalize_Global_List.
+ * tbuild.adb (Unchecked_Convert_To): Capture and set the parent field
+ of the constructed node.
+
+2011-08-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * link.c: Include "auto-host.h" before system headers.
+
+2011-08-03 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Add to table Library_Projs only library projects
+ that are not extended. Do not check if a library project that is
+ extended should be regenerated. Do not add to table Library_Paths the
+ libraries that are in extended projects. Link only with libraries that
+ are in libray projects that are not extended.
+ * prj-nmsc.adb (Check_Library_Attributes): Do not reset flag Library
+ for a library project that is extended.
+
+2011-08-03 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Find_Corresponding_Spec): When in an instance, skip
+ conforming subprogram renamings that appear to be completions if they
+ are not fully conformant.
+ Such renamings are homographs but not completions.
+ * sem_type.adb (Disambiguate): Handle disambiguation of overloaded
+ names in a subprogram renaming that appears in an instance.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Expand_Subtype_From_Expr): if the type is limited but
+ not immutably limited, build actual subtype from expression to provide
+ proper bounds to caller.
+
+2011-08-03 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch8.adb: Minor comment correction.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_strm.adb (Build_Array_Input_Function): In Ada 2005 mode, when
+ returning a limited array, use an extended return statement.
+
+2011-08-03 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Initialize): If --subdirs= is used, but no project file is
+ specified, attempt to create the specify subdir if it does not already
+ exist and use it as the object directory as if -D had been specified.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpopsp-vms.adb: New file.
+ * s-taprop-vms.adb: Put back ATCB_Key, since needed by this file on VMS.
+ * gcc-interfaces/Makefile.in: Use s-taprop-vms.adb on VMS.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb, makeutl.ads, clean.adb (Makeutl.Queue): new
+ package.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * cstand.adb (Create_Standard): select Universal_Integer as an ALFA type
+ * sem_ch3.adb (Array_Type_Declaration): detect array types in ALFA
+ * sem_util.adb, sem_util.ads (Has_Static_Array_Bounds): new function to
+ detect that an array has static bounds.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Minor reformatting.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-vms.adb
+ (ATCB_Key): Removed, not always used.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads,
+ clean.adb, prj-conf.adb, prj-env.adb, prj-env.ads (Makeutl): remove
+ most remaining global variables.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, mlib-prj.adb, prj.adb, makeutl.ads,
+ prj-util.adb, prj-util.ads, prj-conf.adb, prj-env.adb: Minor
+ reformatting.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Is_VM_By_Copy_Actual): Include N_Slide nodes as actuals
+ that must be passed by copy in VM targets.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj.ads, prj-nmsc.adb (Files_Htable): removed this htable, which
+ duplicates a similar htable now in the project tree.
+
+2011-08-03 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.adb, a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
+ a-cofove.adb ("=", Length, Is_Empty, Clear, Assign, Copy, Element,
+ Replace_Element, Query_Element, Update_Element, Move, Insert, Prepend,
+ Append, Delete, Delete_First, Delete_Last, Reverse_Element, Swap,
+ Splice, First, First_Element, Last, Last_Element, Next, Previous, Find,
+ Reverse_Find, Contains, Has_Element, Iterate, Reverse_Iterate, Capacity,
+ Reserve_Length, Length, Strict_Equal, Left, Right): Data-structure
+ update.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-posix.adb, s-taprop-linux.adb, s-taprop-tru64.adb
+ (ATCB_Key): Removed, not always used.
+ * s-tpopsp-posix.adb, s-tpopsp-posix-foreign.adb (ATCB_Key): Moved from
+ s-taprop-posix.adb.
+ * s-tpopsp-tls.adb: New file.
+ * gcc-interface/Makefile.in: Use TLS implementation of s-tpopsp.adb on
+ x86/x64/ia64/powerpc/sparc Linux.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * system-aix.ads, system-aix64.ads: Set ZCX_By_Default to True.
+ * gcc-interface/Makefile.in: Switch to ZCX by default on AIX ports.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, exp_dist.adb, exp_dist.ads
+ (Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
+ Fix type selection for mapping integer types to PolyORB types.
+
+2011-08-03 Bob Duff <duff@adacore.com>
+
+ * sem_ch7.adb: Minor comment clarification.
+
+2011-08-03 Bob Duff <duff@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): If we get
+ an error analyzing a choice, skip further processing. Further
+ processing could cause a crash or cascade errors.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, mlib-prj.adb,
+ prj.adb, prj.ads, makeutl.adb, makeutl.ads, clean.adb, prj-nmsc.adb,
+ prj-util.adb, prj-util.ads, prj-conf.adb, prj-conf.ads, prj-env.adb,
+ prj-env.ads (Shared_Project_Tree_Data): new type
+ An aggregate project and its aggregated trees need to share the common
+ data structures used for lists of strings, packages,... This makes the
+ code simpler since otherwise we have to pass the root tree (also used
+ for the configuration file data) in addition to the current project
+ tree. This also avoids ambiguities as to which tree should be used.
+ And finally this saves a bit of memory.
+ (For_Every_Project_Imported): new parameter Tree.
+ Since aggregated projects are using a different tree, we need to let
+ the caller know which tree to use to manipulate the returned project.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * prj-proc.adb, exp_util.ads, exp_ch9.adb, make.adb, prj-ext.adb,
+ prj-ext.ads, alfa.ads, sem_ch4.adb, makeutl.adb, makeutl.ads,
+ lib-xref-alfa.adb, sem_cat.adb, exp_dist.adb, get_alfa.adb,
+ prj-env.adb, prj-env.ads, prj-tree.adb, alfa.ads: Minor reformatting.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb, sem_aux.adb, exp_util.ads, sem_aux.ads:
+ Move routine Is_VM_By_Copy_Actual from sem_aux to exp_util.
+
+2011-08-03 Bob Duff <duff@adacore.com>
+
+ * sem_ch8.adb (Is_Primitive_Operator_In_Use): Always check In_Use on
+ the Base_Type.
+
+2011-08-03 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, g-sha384.ads,
+ g-sehash.ads: Fix typo. Update header.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Remove Ada_2005 guard on build-in-place
+ expansion.
+
+2011-08-03 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Analyze_Overloaded_Selected_Component): Consider
+ prefixes of private types along with records, since the selector may be
+ a discriminant.
+ * sem_res.adb (Resolve_Selected_Component): Consider prefixes of
+ private types along with records, since the selector may be a
+ discriminant.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-pp.adb (Pretty_Print): Remove trailing blank line.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_aux.adb (Is_VM_By_Copy_Actual): Fix wrong use of
+ Tagged_Type_Expansion.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Concat_Arg): Do not issue a SPARK
+ violation when the argument of concatenation is the name of a
+ constant.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-ext.adb, prj-ext.ads, prj-env.adb, prj-env.ads,
+ prj-tree.adb, prj-tree.ads (Initialize_And_Copy, Copy): new subprograms
+ (Process_Declarative_Items): new parameter Child_Env.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * alfa.ads: Update format of ALFA section in ALI file in order to
+ add a mapping from bodies to specs when both are present.
+ (ALFA_Scope_Record): Add components for spec file/scope.
+ * get_alfa.adb (Get_ALFA): Read the new file/scope for spec when
+ present.
+ * lib-xref-alfa.adb (Collect_ALFA): After all scopes have been
+ collected, fill in the spec information when relevant.
+ * put_alfa.adb (Put_ALFA): Write the new file/scope for spec when
+ present.
+
+2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Add_Inlined_Subprogram): Do not consider the enclosing
+ code unit to decide whether to add internally generated subprograms.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_aux.ads, sem_aux.adb (Is_VM_By_Copy_Actual): New subprogram.
+ * exp_ch9.adb (Build_Simple_Entry_Call): Handle actuals that must
+ be handled by copy in VM targets.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * make.adb, makeutl.adb, makeutl.ads (Make.Switches_Of): Share
+ code with Makeutl.Get_Switches.
+ * prj-tree.adb: Update comment.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Reject a remote
+ subprogram with a limited formal that does not support external
+ streaming.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * get_alfa.adb (Get_ALFA): add missing Skip_Spaces at start of
+ continuation line
+ * lib-xref-alfa.adb (Add_ALFA_File): split removal of scopes that are
+ not from current unit in two phases, because it is not possible to
+ change the table while iterating over its content.
+ * put_alfa.adb (Put_ALFA): reset current file/scope at each new entity
+
+2011-08-03 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add qualifier for gnatmetric --no-static-loop option
+ * gnat_ugn.texi: Update description of complexity metrics (gnatmetric)
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Concat_Arg): if the argument is an aggregate
+ and the component type is composite, this is ambiguous for predefined
+ concatenation, but if the node is not overloaded and the entity is a use
+ -defined function its profile can be used to resolve that aggregate.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor code cleanup.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Do not generate distribution stubs if serious errors
+ have been diagnosed.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Try_Primitive_Operation): when checking the validity of
+ the first formal of a primitive operation, go to the base type to
+ handle properly an access to a derived type with constrained
+ discriminants.
+ * sem_type.adb (Disambiguate): an immediately visible operator hides a
+ user-defined function that is only use-visible.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, sem_ch3.adb, lib.ads, gnatcmd.adb, prj-proc.adb,
+ make.adb, lib-writ.adb, prj-part.adb, prj-part.ads, prj-ext.adb,
+ fname-uf.adb, prj-ext.ads, prj.adb, prj.ads, sem_attr.adb, alfa.adb,
+ prj-makr.adb, errout.adb, makeutl.adb, makeutl.ads, restrict.ads,
+ sem_ch6.adb, g-pehage.adb, clean.adb, put_alfa.adb, lib-xref-alfa.adb,
+ prj-nmsc.adb, prj-nmsc.ads, sem_ch8.adb, prj-pars.ads, exp_aggr.adb,
+ prj-attr.ads, sem_ch13.adb, get_alfa.adb, prj-env.adb, prj-env.ads,
+ alfa_test.adb, prj-tree.adb, prj-tree.ads, einfo.ads: Minor reformatting
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * repinfo.adb (List_Mechanism): Add handling of
+ Convention_Ada_Pass_By_XXX.
+ * sem_mech.adb (Set_Mechanism): Ditto.
+ * sem_prag.adb (Process_Convention): Add entries for
+ Convention_Ada_Pass_By_XXX.
+ * snames.adb-tmpl, snames.ads-tmpl: Ditto.
+
+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * makeutl.adb: Minor reformatting.
+
+2011-08-03 Vincent Celier <celier@adacore.com>
+
+ * fname-uf.adb
+ (Get_File_Name) If the file cannot be found when there are no config
+ pragmas file and May_Fail is True, return No_File instead of the file
+ name, to be consistent.
+
+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_is_executable_file_attr): Avoid access
+ to null pointer.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch13.adb
+ (Same_Representation): In VM targets the representation of arrays with
+ aliased components differs from arrays with non-aliased components.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-attr.adb, prj-attr.ads (Get_Attribute_Index): do
+ not systematically lower case attribute indexes that contain no "."
+ Fix definition of several Naming attributes, which take
+ a unit name as index and therefore should be case insensitive.
+ Minor refactoring (reduce length of variable names).
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb, makeutl.ads (Get_Switches): new subprogram.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
+ prj-part.ads, switch-m.adb, switch-m.ads, prj-makr.adb, clean.adb,
+ prj-pars.adb, prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
+ prj-tree.ads (Prj.Tree.Environment): new type.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj.ads, makeutl.adb, makeutl.ads, prj-conf.adb,
+ prj-tree.adb, prj-tree.ads (Environment): new type.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-tree.ads: Remove unused variable.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * restrict.adb (Restriction_Msg): set "SPARK" all in upper case for
+ issuing messages related to SPARK restriction violation.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: guard against error nodes in return statements.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * errout.adb (Error_Msg_Internal): the main unit has not been read yet,
+ a warning can only appear on a configuration file, so emit warning
+ without further checks.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * s-interr.ads: add overriding keyword.
+
+2011-08-03 Geert Bosch <bosch@adacore.com>
+
+ * exp_attr.adb: Fix minor typo.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch4.adb: improve error recovery.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-part.adb, prj-part.ads, prj-makr.adb, prj-pars.adb, prj-conf.adb,
+ prj-env.adb (Prj.Part.Parse): change parameter Always_Errout_Finalize
+ to Errout_Handling.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-dect.adb (Parse_Attribute_Declaration): make sure we can use
+ "external" as an attribute name in aggregate projects.
+
+2011-08-03 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-vxworks.adb: (Create_Task, Initialize): Ada 2012 pragma CPU
+ uses CPU numbers starting 1, while VxWorks uses CPU numbers starting
+ from 0, so we need to adjust.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-ext.adb, prj-ext.ads, makeutl.adb, prj-tree.adb,
+ prj-tree.ads, gnatcmd.adb, clean.adb (External_References): new type.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity): only issue error for SPARK
+ restriction on overloaded entity if the entity is not an operator.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * sem_ch7.adb, sem_res.adb, sem_attr.adb, restrict.adb,
+ restrict.ads: Rename remaining Check_Formal_Restriction* into
+ Check_SPARK_Restriction*.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb,
+ prj-nmsc.ads, prj-err.adb (Project_Data): now discriminated on its
+ qualifier.
+ (Project_Empty): removed
+ (Empty_Project): new parameter Qualifier
+ This is used to have fields specific to aggregate projects, cleaner
+ New field to store the list of aggregated projects.
+ (Check_Aggregate_Project): removed
+ (Process_Aggregated_Projects, Free): new subprograms.
+
+2011-08-03 Olivier Hainque <hainque@adacore.com>
+
+ * tracebak.c (STOP_FRAME ppc AIX): Stop at null return address as well.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Object_Renaming): if the renamed object is an
+ explicit dereference of an unconstrained type, create a constrained
+ subtype for it, as is done for function calls that return an
+ unconstrained type.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * g-pehage.adb (Finalize): Avoid possible double-free.
+
+2011-08-03 Steve Baird <baird@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand
+ Elab_Spec/Body attrs in CodePeer_Mode.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Flatten): Convert to positional form aggregates whose
+ low bound is not known at compile time but they have no others choice.
+ Done because in this case the bounds can be obtained directly from the
+ aggregate.
+
+2011-08-03 Ed Falis <falis@adacore.com>
+
+ * s-tasinf-vxworks.ads: Update comment to reflect 0 indexing of CPUs
+ on VxWorks SMP. Remove unusable constant ANY_CPU.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, make.adb, prj-part.adb, prj-part.ads, prj-makr.adb,
+ clean.adb, prj-nmsc.adb, prj-pars.adb, prj-conf.adb, prj-env.adb,
+ prj-env.ads (Prj.Env.Initialize_Default_Project_Path,
+ Prj.Env.Initialize_Empty): new subprograms
+ (Get_Env, Find_Project): remove parameter Target_Name.
+
+2011-08-03 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Test the Derive_Subps formal
+ as a condition for the delayed call to Derived_Subprograms done for the
+ case of the rewriting of a derived type that constrains the
+ discriminants of its parent type.
+ Avoids redundant subprogram derivations for private subtype derivations.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb (Init_Hidden_Discriminants): New subprogram of
+ Build_Record_Aggr_Code.
+ (Build_Record_Aggr_Code): Add missing support to initialize hidden
+ discriminants in extension aggregates.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-pp.adb (Print): also output project qualifiers, since in
+ particular "aggregate" is mandatory in an aggregate project.
+
+2011-08-03 Emmanuel Briot <briot@adacore.com>
+
+ * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb:
+ (Debug_Output): new function.
+
+2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Document -Wstack-usage.
+ * gcc-interface/misc.c (enumerate_modes): Add guard for ghost FP modes.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb Issue an error (not a warning) when a C++ type does not
+ have keyword LIMITED.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * alfa.adb, alfa.ads, alfa_test.adb: New files.
+ * ali.adb (Known_ALI_Lines): add 'C' lines (SCO) and 'F' lines (ALFA)
+ (Scan_ALI): do not issue a fatal error if parsing known lines after Xref
+ section (does not happen in compiler, only if code directly calls
+ Scan_ALI).
+ * get_alfa.adb, get_alfa.ads: New files.
+ * lib-writ.adb, lib-writ.ads (Write_ALI): output ALFA information if
+ needed.
+ * lib-xref-alfa.adb: New file.
+ * lib-xref.adb, lib-xref.ads
+ (Xref_Entry): redefine information needed in cross-references for ALFA.
+ Push ALFA treatments in separated local package.
+ (Enclosing_Subpragram_Or_Package): treat specially subprogram
+ identifiers. Return entity of package body instead of spec. Return
+ Empty for a scope with no location.
+ (Generate_Reference): adapt to new components for ALFA information.
+ Remove the need for D references on definitions.
+ (Is_Local_Reference): moved to ALFA local package
+ (Output_References): extract subfunction as Extract_Source_Name
+ (Output_Local_References): remove procedure, replaced by filtering of
+ cross-references in package ALFA and printing in Put_ALFA.
+ (Write_Entity_Name): remove procedure
+ * lib.adb, lib.ads (Extract_Source_Name): extract here function to
+ print exact name of entity as it appears in source file
+ (Unit_Ref_Table): make type public for use in Lib.Xref.ALFA
+ * put_alfa.adb, put_alfa.ads: New files.
+ * xref_lib.adb (Search_Xref): protect read of cross-references against
+ reading other sections of the ALI file, in gnatxref
+ (Search): protect read of cross-references against reading other
+ sections of the ALI file, in gnatfind.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-08-03 Jose Ruiz <ruiz@adacore.com>
+
+ * s-inmaop-vxworks.adb (Setup_Interrupt_Mask): Do nothing instead of
+ raising an exception.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Set_String_Literal_Subtype): if index type is an integer
+ type, always use 1 as the lower bound or string, even if lower bound of
+ context is not static, to handle properly null strings in a non-static
+ context.
+
+2011-08-03 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Resolve_Aggregate): An array aggregate with 'others' is
+ always legal on the right-hand side of an assignment statement; there
+ is always an applicable index constraint in this case. Therefore, the
+ check for Pkind = N_Assignment_Statement is now unconditional -- it
+ doesn't depend on whether Is_Constrained (Typ).
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sem_prag.adb, exp_ch4.adb: Minor reformatting.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Itype_Reference): do not create an itype reference
+ for an itype created within a generic unit.
+
+2011-08-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi (Switches for gcc): Make it clearer that -fno-inline
+ suppresses all inlining.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_res.adb, exp_ch13.adb, exp_disp.adb,
+ exp_aggr.adb: Minor reformatting.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Do not force inlining of
+ tagged assignment when discriminant checks are suppressed. This is
+ useless and extremely costly in terms of static stack usage.
+
+2011-08-03 Bob Duff <duff@adacore.com>
+
+ * sem_prag.adb (Get_Base_Subprogram): Do not follow Alias for instances
+ of generics, because this leads to the wrong entity in the wrong scope,
+ causing (e.g.) pragma Export_Procedure to get an error if the entity is
+ an instance.
+ (Process_Interface_Name): Follow Alias for instances of generics, to
+ correct for the above change.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): If the discriminant value
+ is an integer literal it is always safe to replace the reference. In
+ addition, if the reference appears in the generated code for an object
+ declaration it is necessary to copy because otherwise the reference
+ might be to the uninitilized value of the discriminant of the object
+ itself.
+
+2011-08-03 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_is_executable_file_attr): Fix Win32 circuitry when no
+ ACL used, in this case we want to check for ending .exe, not .exe
+ anywhere in the path.
+
+2011-08-03 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads (ASIS_Version_Number): Update because of the changes in
+ the tree structure (semantic decoration of references to record
+ discriminants).
+
+2011-08-03 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb (Analyze_Array_Aggregate): When checking the discrete
+ choices of a named array aggregate, bail out when any choices are
+ marked as Errors_Posted.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Freeze_Entity): cleanup determination of scope
+ in which entity is frozen, to handle properly loop variables in
+ iterators.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Set_String_Literal_Subtype): if the lower bound of the
+ subtype is not static, compute the upper bound using attributes, to
+ handle properly index types that are not integer types.
+
+2011-08-03 Bob Duff <duff@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Fix some dangling URLs.
+ Update copyright notice.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminant_Constraints): Only use
+ Original_Discriminant if within an instance.
+ * sem_ch4.adb (Analyze_Selected_Component): Ditto.
+
+2011-08-03 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Check_Premature_Freezing): diagnose the presence of a
+ composite type with an unfrozen subcomponent, in the profile of a
+ primitive operation.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, exp_aggr.adb, exp_ch3.adb: Minor reformatting.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): if a constant object of an
+ unconstrained type with discriminants is initialized with an aggregate,
+ use the constrained subtype of the aggregate as the type of the object,
+ because it is immutable, and this allows the back-end to generate no
+ code for the object declaration.
+
+2011-08-03 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Optimize_Length_Check): Fix bad handling of case where
+ comparison operand is variable, and turns out to be zero or negative.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_intr.adb
+ (Expand_Dispatching_Constructor_Call): Disable expansion of
+ code required for native targets. Done to avoid generating
+ references to unavailable runtime entities in VM targets.
+ * exp_ch3.adb
+ (Expand_N_Object_Declaration): Add missing support to handle
+ the explicit initialization of class-wide interface objects.
+ Fix documentation.
+
+2011-08-03 Matthew Heaney <heaney@adacore.com>
+
+ * a-cobove.adb (Merge): Move source onto target, instead of using
+ Assign.
+
+2011-08-03 Matthew Heaney <heaney@adacore.com>
+
+ * a-cbdlli.adb (Splice): Move source items from first to last.
+
+2011-08-03 Yannick Moy <moy@adacore.com>
+
+ * sem_util.ads: Add comment.
+
+2011-08-03 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb
+ (Expand_Record_Aggregate): In VM targets disable the expansion into
+ assignments of aggregates whose type is not known at compile time.
+
+2011-08-03 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Build_Renamed_Formal_Declaration): common procedure for
+ protected entries and task entries, to build the proper renaming
+ declaration for entry formals, used in debugging.
+ * exp_ch2.adb (Expand_Entry_Parameter): handle task and entry
+ parameters in the same way.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb, sinfo.ads, exp_ch9.adb, scng.adb, sem_util.adb,
+ sem_util.ads, restrict.ads, par-prag.adb: Minor reformatting and/or
+ code reorganization.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Debug flag d.P to suppress length comparison optimization
+ * exp_ch4.adb (Optimize_Length_Comparison): New routine to optimize
+ comparison of Length by comparing First/Last instead.
+
+2011-08-02 Matthew Heaney <heaney@adacore.com>
+
+ * a-cobove.ads: Code clean up.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * adaint.c (file_names_case_sensitive_cache): New static int.
+ (__gnat_get_file_names_case_sensitive): Cache the return value in
+ file_names_case_sensitive_cache at the first invocation, to avoid
+ multiple calls to getenv.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): Implement AI05-0218-1.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_prag.adb, sem.ads,
+ sem_util.adb, sem_util.ads, sem_res.adb, sem_ch2.adb, sem_ch4.adb,
+ sem_ch6.adb, sem_ch11.adb: Add semantic flag In_Pre_Post_Expression to
+ indicate that we are in a precondition or postcondition. This is used in
+ Mark_Non_ALFA_Subprogram (renaming of Mark_Non_ALFA_Subprogram_Body) to
+ decide whether to flag the spec or body of the current subprogram as
+ not in ALFA.
+
+2011-08-02 Fabien Chouteau <chouteau@adacore.com>
+
+ * impunit.adb: Add Ada.Execution_Time.Interrupts in the Ada2012 package
+ list.
+ * a-extiin.ads: New file.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * a-direct.adb (Rename): Implement AI05-0231-1. In particular, Rename
+ now raises Name_Error instead of Use_Error in certain cases. The other
+ parts of this AI were already implemented properly.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * link.c: Only import "auto-host.h" when building the gnattools.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb: Inter-unit inlining does not work for a subprogram
+ which calls a local subprogram, so extract subprogram
+ from Mark_Non_ALFA_Subprogram_Body.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb
+ (Extract_Dispatching_Call): If the type of the dispatching object is an
+ access type then return an explicit dereference in the Object out-mode
+ parameter.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Generate range
+ compatibility checks for all indexes of an array subtype, not just the
+ first. Reset Has_Dynamic_Range_Check on the subtype before each
+ potential check to ensure that Insert_Range_Checks will not elide any
+ of the dynamic checks.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-prag.ad (Process_Restrictions_Or_Restriction_Warnings): recognize
+ SPARK restriction at parsing time.
+ * scng.adb (Scan): Generate a token Tok_SPARK_Hide for a SPARK HIDE
+ directive only if the SPARK restriction is set for this unit.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb, sem_util.ads,
+ sem_res.adb, sem_ch2.adb, sem_ch4.adb, sem_ch6.adb,
+ sem_ch11.adb: Protect call to Current_Subprogram which might be costly
+ when repeated. Rename Current_Subprogram_Is_Not_In_ALFA into
+ Mark_Non_ALFA_Subprogram_Body.
+ Split body of Mark_Non_ALFA_Subprogram_Body to get body small and
+ inlined.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb: Protect calls to Matching_Static_Array_Bounds which
+ might be costly.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, exp_sel.adb, restrict.ads, exp_disp.adb, erroutc.ads,
+ exp_ch3.adb: Minor reformatting.
+
+2011-08-02 Emmanuel Briot <briot@adacore.com>
+
+ * adaint.c (__gnat_locate_exec_on_path): only returns executable
+ files, not any regular file.
+ (__gnat_locate_file_with_predicate): new subprogram.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sinfo.adb, sinfo.ads: Restrict the use of flags
+ Has_Dynamic_Length_Check and Has_Dynamic_Range_Check to expression
+ nodes, plus N_Subtype_Declaration for the 2nd one.
+
+2011-08-02 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_rm.texi: Ramification of pragma Eliminate documentation
+ - fix bugs in the description of Source_Trace;
+ - get rid of UNIT_NAME;
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb
+ (Build_Dispatching_Requeue): Adding support for VM targets
+ since we cannot directly reference the Tag entity.
+ * exp_sel.adb (Build_K): Adding support for VM targets.
+ (Build_S_Assignment): Adding support for VM targets.
+ * exp_disp.adb
+ (Default_Prim_Op_Position): In VM targets do not restrict availability
+ of predefined interface primitives to compiling in Ada 2005 mode.
+ (Is_Predefined_Interface_Primitive): In VM targets this service is not
+ restricted to compiling in Ada 2005 mode.
+ (Make_VM_TSD): Generate code that declares and initializes the OSD
+ record. Needed to support dispatching calls through synchronized
+ interfaces.
+ * exp_ch3.adb
+ (Make_Predefined_Primitive_Specs): Enable generation of predefined
+ primitives associated with synchronized interfaces.
+ (Make_Predefined_Primitive_Bodies): Enable generation of predefined
+ primitives associated with synchronized interfaces.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
+ statements hidden in SPARK if preceded by the HIDE directive
+ (Parse_Exception_Handlers): mark each exception handler in a sequence of
+ exception handlers as hidden in SPARK if preceded by the HIDE directive
+ * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
+ if starting with the HIDE directive
+ * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
+ starting with the HIDE directive; mark the declarations in a private
+ part as hidden in SPARK if the private part starts with the HIDE
+ directive
+ * restrict.adb, restrict.ads
+ (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
+ (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
+ argument node belongs to a part which is hidden in SPARK
+ (Check_SPARK_Restriction): do not issue violations on nodes in hidden
+ parts in SPARK; protect the possibly costly call to
+ Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
+ * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
+ * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
+ Accumulate_Token_Checksum_GNAT_5_03): add case for new token
+ Tok_SPARK_Hide.
+ (Scan): recognize special comment starting with '#' and followed by
+ SPARK keyword "hide" as a HIDE directive.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * types.ads, erroutc.ads: Minor reformatting.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * link.c: Add response file support for cross platforms.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
+ in an association, set parent field of copy before partial analysis.
+ * sem_res.adb (Resolve_Slice): create reference to itype only when
+ expansion is enabled.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
+ for new flag denoting which subprogram bodies are in ALFA
+ * restrict.adb, sem_ch7.adb: Update comment
+ * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
+ sem_ch9.adb, sem_res.adb: Add calls to
+ Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
+ * sem_ch6.adb (Analyze_Function_Return): add calls to
+ Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
+ middle of the body, and extended return.
+ (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
+ False when missing return.
+ (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
+ to True for subprograms whose spec is in ALFA. Remove later on the flag
+ on the entity used for a subprogram body when there exists a separate
+ declaration.
+ * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
+ if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
+ False, otherwise do nothing.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.ads: minor formatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
+ debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
+ errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
+ restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
+ opt.ads: cleanup of SPARK mode
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
+ types.
+ * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
+ (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
+ * sem_ch3.adb
+ (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
+ (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
+ (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
+ (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
+ types.
+ (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
+ non-static range.
+ * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
+ functions whose return type is not in ALFA.
+ (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
+ specifications.
+ (Process_Formals): unset Is_In_ALFA flag for subprograms if a
+ parameter's type is not in ALFA.
+ * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
+ types are in ALFA.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6 (Analyze_Expression_Function): treat the function as
+ Inline_Always, and introduce a subprogram declaration for it when it is
+ not a completion.
+ * inline.adb (Add_Inlined_Body): recognize bodies that come from
+ expression functions, so that the back-end can determine whether they
+ can in fact be inlined.
+ * sem_util.adb (Is_Expression_Function): predicate to determine whether
+ a function body comes from an expression function.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
+ null exclusions to test Can_Never_Be_Null on the anonymous access types
+ of the formals rather than testing the formals themselves. Exclude this
+ check in cases where the Old_Formal is marked as a controlling formal,
+ to avoid issuing spurious errors for bodies completing dispatching
+ operations (due to the flag not getting set on controlling access
+ formals in body specs).
+ (Find_Corresponding_Spec): When checking full and subtype conformance of
+ subprogram bodies in instances, pass Designated and E in that order, for
+ consistency with the expected order of the formals (New_Id followed by
+ Old_Id).
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
+ Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
+ primitive operations of class-wide actuals.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_atag.ads, exp_atag.adb
+ (Build_Common_Dispatching_Select_Statements): Remove argument Loc
+ since its value is implicitly passed in argument Typ.
+ * exp_disp.adb (Make_Disp_Conditional_Select_Body,
+ Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
+ Build_Common_Dispatching_Select_Statements.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
+ exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
+ Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_atag.adb, exp_atags.ads
+ (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
+ by the tagged type Entity. Required to use this routine in the VM
+ targets since we do not have available the Tag entity in the VM
+ platforms.
+ * exp_ch6.adb
+ (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
+ Ada.Tags has not been previously loaded.
+ * exp_ch7.adb
+ (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
+ Build_VM_TSDs if package Ada.Tags has not been previously loaded.
+ * sem_aux.adb
+ (Enclosing_Dynamic_Scope): Add missing support to handle the full
+ view of enclosing scopes. Required to handle enclosing scopes that
+ are synchronized types whose full view is a task type.
+ * exp_disp.adb
+ (Build_VM_TSDs): Minor code improvement to avoid generating and
+ analyzing lists with empty nodes.
+ (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
+ (Make_Disp_Conditional_Select_Body): Add support for VM targets.
+ (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
+ (Make_Disp_Timed_Select_Body): Add support for VM targets.
+ (Make_Select_Specific_Data_Table): Add support for VM targets.
+ (Make_VM_TSD): Generate code to initialize the SSD structure of
+ the TSD.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
+ cross-references section in ALI.
+ * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
+ (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
+ Sub).
+ (Enclosing_Subprogram_Or_Package): new function to return the enclosing
+ subprogram or package entity of a node
+ (Is_Local_Reference_Type): new function returns True for references
+ selected in local cross-references.
+ (Lt): function extracted from Lt in Output_References
+ (Write_Entity_Name): function extracted from Output_References
+ (Generate_Definition): generate reference with type 'D' for definition
+ of objects (object declaration and parameter specification), with
+ appropriate locations and units, for use in local cross-references.
+ (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
+ references of type 'I' for initialization in object definition.
+ (Output_References): move part of function Lt and procedure
+ Write_Entity_Name outside of the body. Ignore references of types 'D'
+ and 'I' introduced for local cross-references.
+ (Output_Local_References): new procedure to output the local
+ cross-references sections.
+ (Lref_Entity_Status): new array defining whether an entity is a local
+ * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
+ with 'I' type when initialization expression is present.
+ * get_scos.adb, get_scos.ads: Correct comments and typos
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
+ the JVM target.
+ * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
+ the JVM target.
+ * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
+ TSD support.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
+ (No_Space_Img): New function
+ (Find_Excluded_Sources): When reading from a file, record the file name
+ and the line number for each excluded source.
+ (Mark_Excluded_Sources): When reporting an error, if the excluded
+ sources were read from a file, include file name and line number in
+ the error message.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
+ generation of TSDs to the DOTNET compiler.
+ * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
+ generation of TSDs to the DOTNET compiler.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
+ record of all the tagged types declared inside library level package
+ declarations, library level package bodies or library level subprograms.
+ * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
+ associated with a given tagged type.
+ (Build_VM_TSDs): New subprogram.
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
+ compilation units that are subprograms.
+ * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
+ compilation units that are package bodies.
+ (Expand_N_Package_Declaration): Generate TSDs of the main compilation
+ units that are a package declaration or a package instantiation.
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
+ reorganization to improve the error generated by the frontend when the
+ function Ada.Tags.Secondary_Tag is not available.
+ * rtsfind.ads (RE_Register_TSD): New runtime entity.
+ * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * s-imenne.ads: Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
+ * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
+ * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads (Materialize_Entity): Document this is only for renamings
+ * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
+ required debug information in the case where we transform the object
+ declaration into a renaming declaration.
+ * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
+ object
+ * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
+ Materialize_Entity.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
+ Suppress_Init_Procs.
+ * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
+ Suppress_Initialization/Initialization_Suppressed.
+ * gnat_rm.texi: New documentation for pragma Suppress_Initialization
+ * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
+ * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
+ * sem_prag.adb: New processing for pragma Suppress_Initialization.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
+ Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
+ only have inheritable classwide pre/postconditions.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
+ * rtsfind.ads (RE_Check_TSD): New runtime entity.
+ * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
+ checks if the external tag of a type is the same as the external tag
+ of some other declaration.
+
+2011-08-02 Thomas Quinot <quinot@adacore.com>
+
+ * s-taskin.ads: Minor reformatting.
+
+2011-08-02 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Display_Help): swap the order in which it prints the
+ short help and the general usage.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
+ the aspect declarations and attach them to the generic copy for
+ subsequent analysis.
+ (Analyze_Subprogram_Instantiation): copy explicitly the aspect
+ declarations of the generic tree to the new subprogram declarations.
+ * sem_attr.adb (Check_Precondition_Postcondition): recognize
+ conditions that apply to a subprogram instance.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
+ private type with a tagged full view is not derived in the immediate
+ scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
+ Ada2012 iterator, the loop will be rewritten during expansion into a
+ while loop with a cursor and an element declaration. Do not analyze the
+ body in this case, because if the container is for indefinite types the
+ actual subtype of the elements will only be determined when the cursor
+ declaration is analyzed.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
+ size/alignment related attributes in CodePeer_Mode.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
+ Prepend_Element, since this can result in the operation getting the
+ wrong slot in the full type's dispatch table if the full type has
+ inherited operations. The incomplete type's operation will get added
+ to the proper position in the full type's primitives
+ list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
+ (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
+ dispatching operations, since there are cases where nonprimitive
+ subprograms can get added to the list of incomplete dependents (such
+ as subprograms in nested packages).
+ * sem_ch6.adb (Process_Formals): First, remove test for being in a
+ private part when determining whether to add a primitive with a
+ parameter of a tagged incomplete type to the Private_Dependents list.
+ Such primitives can also occur in the visible part, and should not have
+ been excluded from being private dependents.
+ * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
+ RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
+ list of a Taft-amendment incomplete type is a primitive before issuing
+ an error that the full type must appear in the same unit. There are
+ cases where nonprimitives can be in the list (such as subprograms in
+ nested packages).
+ * sem_disp.adb (Derives_From): Use correct condition for checking that
+ a formal's type is derived from the type of the corresponding formal in
+ the parent subprogram (the condition was completely wrong). Add
+ checking that was missing for controlling result types being derived
+ from the result type of the parent operation.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * errout.adb (First_Node): minor renaming
+ * restrict.adb (Check_Formal_Restriction): put restriction warning on
+ first node.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
+ before accessing operands.
+ * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
+ decide whether an initialization expression respects SPARK rules, as
+ the plain node is the expanded one. This allows for more valid warnings
+ to be issued.
+ * gnat_rm.texi: Minor update.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
+ previous change.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
+ loop statements and the element renaming declaration with a block when
+ the element type is controlled.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads: Minor formatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Add_Association): if the association has a box and no
+ expression, use the Sloc of the aggregate itself for the new
+ association.
+ * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
+ the Original_Node.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
+ When a container is provided via a function call, generate a renaming
+ of the function result. This avoids the creation of a transient scope
+ and the premature finalization of the container.
+ * exp_ch7.adb (Is_Container_Cursor): Removed.
+ (Wrap_Transient_Declaration): Remove the supression of the finalization
+ of the list controller when the declaration denotes a container cursor,
+ it is not needed.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * restrict.adb (Check_Formal_Restriction): only issue a warning if the
+ node is from source, instead of the original node being from source.
+ * sem_aggr.adb
+ (Resolve_Array_Aggregate): refine the check for a static expression, to
+ recognize also static ranges
+ * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
+ Array_Type_Declaration): postpone the test for the type being a subtype
+ mark after the type has been resolved, so that component-selection and
+ expanded-name are discriminated.
+ (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
+ to distinguish the case of an iteration scheme, so that an error is
+ issed on a non-static range in SPARK except in an iteration scheme.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
+ In_Iter_Schm = True.
+ * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
+ user-defined operators so that they are allowed in renaming
+ * sem_ch8.adb
+ (Find_Selected_Component): refine the check for prefixing of operators
+ so that they are allowed in renaming. Move the checks for restrictions
+ on selector name after analysis discriminated between
+ component-selection and expanded-name.
+ * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
+ concatenation argument of string type if it is static.
+ * sem_util.adb, sem_util.ads
+ (Check_Later_Vs_Basic_Declarations): add a new function
+ Is_Later_Declarative_Item to decice which declarations are allowed as
+ later items, in the two different modes Ada 83 and SPARK. In the SPARK
+ mode, add that renamings are considered as later items.
+ (Enclosing_Package): new function to return the enclosing package
+ (Enter_Name): correct the rule for homonyms in SPARK
+ (Is_SPARK_Initialization_Expr): default to returning True on nodes not
+ from source (result of expansion) to avoid issuing wrong warnings.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * errout.adb: On anything but an expression First_Node returns its
+ argument.
+
+2011-08-02 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
+ Set the associated loop as the related expression of internally
+ generated cursors.
+ * exp_ch7.adb (Is_Container_Cursor): New routine.
+ (Wrap_Transient_Declaration): Supress the finalization of the list
+ controller when the declaration denotes a container cursor.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
+ command line now.
+ * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
+ expression is a simple expression. This check cannot be performed in
+ the semantics, so just drop it.
+ (P_Index_Or_Discriminant_Constraint): move check that the index or
+ discriminant is a subtype mark to Analyze_Subtype_Declaration in the
+ semantics. Other cases were previously checked in the semantics.
+ * par-ch4.adb (P_Name): move checks that a selector name is not
+ character literal or an operator symbol to Find_Selected_Component in
+ the semantics
+ * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
+ declarations are not placed after later declarations in a separate
+ procedure in Sem_Util (possibly not the best choice?), to be used both
+ during parsing, for Ada 83 mode, and during semantic analysis, for
+ SPARK mode.
+ * par-endh.adb (Check_End): move check that end label is not missing
+ to Process_End_Label in the semantics
+ * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
+ the special case for SPARK restriction
+ * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
+ * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
+ parameter Force to issue the error message even on internal node (used
+ for generated end label). Call Check_Restriction to check when an error
+ must be issued. In SPARK mode, issue an error message even if the
+ restriction is not set.
+ (Check_Restriction): new procedure with an additional out parameter to
+ inform the caller that a message has been issued
+ * sem_aggr.adb: Minor modification of message
+ * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
+ instead of issuing an error message directly
+ * sem_ch3.adb (Analyze_Declarations): move here the check that basic
+ declarations are not placed after later declarations, by calling
+ Check_Later_Vs_Basic_Declarations
+ (Analyze_Subtype_Declaration): move here the check that an index or
+ discriminant constraint must be a subtype mark. Change the check that
+ a subtype of String must start at one so that it works on subtype marks.
+ * sem_ch4.adb (Analyze_Call): move here the check that a named
+ association cannot follow a positional one in a call
+ * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
+ instead of issuing an error message directly
+ * sem_ch8.adb (Find_Selected_Component): move here the check that a
+ selector name is not a character literal or an operator symbol. Move
+ here the check that the prefix of an expanded name cannot be a
+ subprogram or a loop statement.
+ * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
+ procedure called from parsing and semantics to check that basic
+ declarations are not placed after later declarations
+ (Process_End_Label): move here the check that end label is not missing
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
+ representation clause in codepeer mode, since it confuses CodePeer and
+ does not bring useful info.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * init.c: initialize fp hw on MILS.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * errout.adb (First_Node): for bodies, return the node itself (small
+ optimization). For other nodes, do not check source_unit if the node
+ comes from Standard.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb: Minor comment additions.
+ * sem_ch13.adb: Minor reformatting.
+
+2011-08-02 Pascal Obry <obry@adacore.com>
+
+ * make.adb, makeutl.adb: Removes some superfluous directory separator.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
+ (Has_Default_Component_Value): Removed
+ * einfo.ads Comment updates
+ (Has_Default_Aspect): Replaces Has_Default_Value
+ (Has_Default_Component_Value): Removed
+ * exp_ch13.adb
+ (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
+ * exp_ch3.adb
+ (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
+ (Get_Simple_Init_Val): Handle Default_Value aspect
+ (Needs_Simple_Initialization): Handle Default_Value aspect
+ * exp_ch3.ads: Needs_Simple_Initialization
+ * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
+ * par-prag.adb (Pragma_Default[_Component]Value) Removed
+ * sem_ch13.adb
+ (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
+ * sem_prag.adb (Pragma_Default[_Component]Value) Removed
+ * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
+ package containing iteration primitives.
+ exp_ch5.adb (Expand_Iterator_Loop): ditto.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
+ "of", pre-analyze expression in case it is a function call with
+ finalization actions that must be placed ahead of the loop.
+ * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
+ on an Ada2012 iterator, insert them ahead of the rewritten loop.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Create_Float_Types): Only consider C's long double for
+ Long_Long_Float, in addition to double.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
+ sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
+ prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
+ Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: handle properly 'Result when it is a prefix of an
+ indexed component.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb
+ (Original_Access_Type): Move this attribute to Node26 since there was
+ an undocumented use of Node21 in E_Access_Subprogram_Type entities
+ which causes conflicts and breaks the generation of the .NET compiler.
+ (Interface_Name): Add missing documentation on JGNAT only uses of
+ this attribute.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
+ (Find_Back_End_Float_Type): Likewise
+ (Create_Back_End_Float_Types): Likewise
+ (Create_Float_Types): Likewise
+ (Register_Float_Type): Likewise
+ * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
+ Nlist and split out type selection in new local Find_Base_Type function.
+ * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
+ Nlist
+ * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
+ alpha order).
+ * opt.ads: Minor comment change.
+ * sem_ch12.adb: Minor code reorganization.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
+ subtype's list of rep items to the list on the full subtype in the case
+ where the lists are the same.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * switch-c.adb (Free): New deallocation procedure to avoid implicitly
+ using the one from System.Strings, which also deallocates all strings.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
+ function.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-02 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
+ end_locus.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
+ associated with anonymous access to subprograms.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * opt.ads
+ (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
+ (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
+ * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
+ (Add_Symbol_Definition): Move to switch-c.adb
+ (Process_Command_Line_Symbol_Definitions): Adjust references to above.
+ * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
+ (Add_Symbol_Definition): Move to switch-c.adb.
+ * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
+ * sem_warn.adb
+ (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
+ Move to warnsw.adb.
+ * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
+ Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
+ Move to warnsw.adb.
+ * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
+ (Add_Symbol_Definition): Moved from Prepcomp.
+ * switch-c.ads: Update copyright notice. Use String_List instead of
+ Argument_List, removing dependency on System.OS_Lib.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
+ mode on initialization expression which does not respect SPARK
+ restrictions.
+ * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
+ if the tree referenced by its argument represents an initialization
+ expression in SPARK, suitable for initializing an object in an object
+ declaration.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
+ internally generated access to subprogram with its associated protected
+ subprogram type.
+ * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Register_Float_Type): Print information about type to
+ register, if the Debug_Flag_Dot_B is set.
+ * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
+ * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
+ * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
+ with a requested precision of more than Max_Digits digits and no more
+ than Max_Base_Digits digits, if a range specification is present and the
+ Predefined_Float_Types list has a suitable type to derive from.
+ * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
+ case of type completion with pragma Import
+ * sem_prag.adb
+ (Process_Import_Predefined_Type): Processing to complete a type
+ with pragma Import. Currently supports floating point types only.
+ (Set_Convention_From_Pragma): Do nothing without underlying type.
+ (Process_Convention): Guard against absence of underlying type,
+ which may happen when importing incomplete types.
+ (Process_Import_Or_Interface): Handle case of importing predefined
+ types. Tweak error message.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
+ functions to previous change. Reorganize code slightly.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * back_end.ads (Register_Type_Proc): New call back procedure type for
+ allowing the back end to provide information about available types.
+ (Register_Back_End_Types): New procedure to register back end types.
+ * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
+ available types.
+ * cstand.adb (Back_End_Float_Types): New list for floating point types
+ supported by the back end.
+ (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
+ (Copy_Float_Type): New procedure to make new copies of predefined types.
+ (Register_Float_Type): New call back procedure to populate the BEFT list
+ (Find_Back_End_Float_Type): New procedure to find a BEFT by name
+ (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
+ (Create_Float_Types): New procedure to create entities for floating
+ point types predefined in Standard, and put these and any remaining
+ BEFTs on the Predefined_Float_Types list.
+ * stand.ads (Predefined_Float_Types): New list for predefined floating
+ point types that do not have declarations in package Standard.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
+ entity node for the unit containing the parameter.
+ (Add_Inlined_Body): Use it to find the unit containing the subprogram.
+ (Add_Inlined_Subprogram): Likewise.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-02 Thomas Quinot <quinot@adacore.com>
+
+ * s-stusta.adb (Print): Make sure Pos is always initialized to a
+ suitable value.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_type.adb (Covers): Move trivial case to the top and reuse the
+ computed value of Base_Type.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * restrict.adb (Check_Restriction): issue an error for any use of
+ class-wide, even if the No_Dispatch restriction is not set.
+ * sem_aggr.adb: Correct typos in comments and messages in formal mode
+ * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
+ when completing a private extension, the type named in the private part
+ is not the same as that named in the visible part.
+ * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
+ of an inherited primitive operations of a tagged type or type extension
+ that returns the tagged type.
+ * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
+ function which returns True for an implicit operation inherited by the
+ derived type declaration for the argument type.
+ (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
+ order.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
+ Process_Bounds, to perform analysis with expansion of a range or an
+ expression that is the iteration scheme for a loop.
+ (Analyze_Iterator_Specification): If domain of iteration is given by a
+ function call with a controlled result, as is the case if call returns
+ a predefined container, ensure that finalization actions are properly
+ generated.
+ * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
+ determine if the analysis is performed using N or Original_Node (N).
+ * exp_util.adb (Side_Effect_Free): Code cleanup since the new
+ functionality of routine Is_Variable avoids code duplication.
+ * checks.adb (Determine_Range): Handle temporaries generated by
+ Remove_Side_Effects.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
+ expansion of the condition. Required since the previous analysis was
+ done with expansion disabled (see Resolve_Quantified_Expression) and
+ hence checks were not inserted and record comparisons have not been
+ expanded.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
+ Update header.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * opt.ads: Minor comment fix.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation,
+ Analyze_Subprogram_Instantiation): Turn off style checking while
+ analyzing an instance. Whatever style checks that apply to the generic
+ unit should apply, so it makes no sense to apply them in an instance.
+ This was causing trouble when compiling an instance of a runtime
+ unit that violates the -gnatyO switch.
+ * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
+ one of the two case statements, causing spurious errors.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * uname.adb: Minor reformatting.
+ * gnatcmd.adb: Minor reformatting.
+ * exp_attr.adb: Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
+ No_Dispatching_Calls, do not look for the Assign primitive, because
+ predefined primitives are not created in this case.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * stylesw.ads: Minor comment fixes.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Add_To_Result): New procedure.
+
+2011-08-02 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
+ time, if the specific run-time routines for handling streams of strings
+ are not available, use the default mechanism.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * s-regpat.ads: Fix typo.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
+ not null, call it to create the in memory config project file without
+ parsing an existing default config project file.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb: an abstract subprogram does not need an eliminate
+ pragma for its descendant to be eliminable.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * init.c: revert to handling before previous checkin for VxWorks
+ * s-intman-vxworks.adb: delete unnecessary declarations related to
+ using Ada interrupt facilities for handling signals.
+ Delete Initialize_Interrupts. Use __gnat_install_handler instead.
+ * s-intman-vxworks.ads: Import __gnat_install_handler as
+ Initialize_Interrupts.
+ * s-taprop-vxworks.adb: Delete Signal_Mask.
+ (Abort_Handler): change construction of mask to unblock exception
+ signals.
+
+2011-08-02 Jerome Guitton <guitton@adacore.com>
+
+ * a-except-2005.adb (Raise_From_Signal_Handler): Call
+ Debug_Raise_Exception before propagation starts.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
+ to Restriction_Check_Required.
+ * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
+ * sem_res.adb (Resolve_Call): Likewise.
+ * sem_attr.adb (Check_Stream_Attribute): Likewise.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * stylesw.ads: Update comment.
+ * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
+ * errout.ads: Remove obsolete comment.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
+ (Set_Is_Safe_To_Reevaluate): new procedure.
+ * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
+ assignment is allowed on safe-to-reevaluate variables.
+ (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
+ temporary created to remove side effects in expressions that use
+ the secondary stack as safe-to-reevaluate.
+ * exp_util.adb (Side_Effect_Free): Add missing code to handle well
+ variables that are not true constants.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
+ sem_res.adb, sem_ch6.adb: Minor reformatting.
+
+2011-08-02 Jerome Guitton <guitton@adacore.com>
+
+ * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
+ not set Overridden_Operation if subprogram is an initialization
+ procedure.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-ch6.adb: Correct obsolete name in comments
+ * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
+ which takes two message arguments (existing function takes one), with
+ second message used for continuation.
+ * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
+ block statements that originate from a source block statement, not
+ generated block statements
+ * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
+ symmetry with procedure case
+ * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
+ function to issue an error in formal mode if a package specification
+ contains more than one tagged type or type extension.
+ * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
+ parameters matching formals of tagged types are objects (or ancestor
+ type conversions of objects), not general expressions. Issue an error
+ on view conversions that are not involving ancestor conversion of an
+ extended type.
+ (Resolve_Type_Conversion): in formal mode, issue an error on the
+ operand of an ancestor type conversion which is not an object
+ * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
+ procedure so that it works also for actuals of function calls
+ (Is_Actual_Tagged_Parameter): new function which determines if its
+ argument is an actual parameter of a formal of tagged type in a
+ subprogram call
+ (Is_SPARK_Object_Reference): new function which determines if the tree
+ referenced by its argument represents an object in SPARK
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+ Minor comment addition
+ Minor error msg text change
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
+ function. Used to be more precise when we generate a variable plus one
+ assignment to remove side effects in the evaluation of the Bound
+ expressions.
+ (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
+ of the bound expression to force its re-analysis and thus expand the
+ associated transient scope (if required). Code cleanup replacing the
+ previous code that declared the constant entity by an invocation to
+ routine Force_Evaluation which centralizes this work in the frontend.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
+ (Base_Type): Now uses improved Is_Base_Type function
+ * einfo.ads (Base_Type): Inline this function
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
+ (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
+ targets.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
+ non-simple expression used in delta constraint
+ (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
+ index constraint which is not a subtype mark
+ * par.adb: With and use Restrict
+ * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
+ mode on component type which is not a subtype mark and default
+ expression on component
+ (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
+ of string which does not have a lower index bound equal to 1
+ (Array_Type_Declaration): issue an error in formal mode on index or
+ component type which is not a subtype mark, and on aliased keyword on
+ component
+ (Derived_Type_Declaration): issue an error in formal mode on interface,
+ limited or abstract type
+ (Record_Type_Declaration): issue an error in formal mode on interface
+ (Record_Type_Definition): issue an error in formal mode on tagged types
+ and type extensions not declared in the specification of a library unit
+ package; on null non-tagged record; on variant part
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
+ not declared for qualified library project when Library_Name is not
+ declared, but Library_Dir is.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
+ pragmas (affects aspects [Component_]Default_Value
+ (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
+ component type for the resolution
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.adb (Base_Type): Tune implementation for speed.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2011-08-02 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Update comments.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
+ base type, because the parent may be a subtype of a private type whose
+ convention is established in a private part.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
+ statement in a block when the expansion of the return expression has
+ created a finalization chain.
+ * freeze.adb (Freeze_Expression): Alphabetize all choices associated
+ with the parent node.
+ Add N_Extended_Return_Statement to handle the case where a transient
+ object declaration appears in the Return_Object_Declarations list of
+ an extended return statement.
+
+2011-08-02 Matthew Gingell <gingell@adacore.com>
+
+ * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
+ unused parameter 'name'.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb (Set_Eliminated): If the overridden operation is an
+ inherited operation, check whether its alias, which is the source
+ operastion that it renames, has been marked eliminated.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
+ in-mode parameter whose type is an access type since it can be used to
+ modify its designated object. Enforce code that handles as safe an
+ access type that is not access-to-constant but it is the result of a
+ previous removal of side-effects.
+ (Remove_Side_Effects): Minor code reorganization of cases which require
+ no action. Done to incorporate documentation on new cases uncovered
+ working in this ticket: no action needed if this routine was invoked
+ too early and the nodes are not yet decorated.
+ * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
+ to routine Remove_Side_Effects by calls to Force_Evaluation since they
+ were issued with actuals that are implicitly provided by
+ Force_Evaluation.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_res.adb: Minor reformatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
+ to issue an error in formal mode on attribute not supported in this mode
+ (Analyze_Attribute): issue errors on standard attributes not supported
+ in formal mode.
+ * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
+ comment, and issue error in formal mode on modulus which is not a power
+ of 2.
+ (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
+ range.
+ * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
+ subtype mark.
+ * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
+ operator on modular type (except 'not').
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux.ads: Minor comment update and reformatting.
+ * i-cexten.ads: Make this unit pure, as for its parent.
+ Will allow its usage in more contexts if needed.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * s-utf_32.ads: Minor comment fix.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
+ operation of a tagged synchronized type, handle the case where the
+ controlling argument is overloaded.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
+ Replace pragma SPARK_95 with pragma Restrictions (SPARK)
+ * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
+ SPARK mode and formal verification mode on processing SPARK restriction
+ * s-rident.ads (Restriction_Id): add SPARK restriction in those not
+ requiring consistency checking.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads: Remove unneeded with of Ada.Containers
+ Remove commented out pragma Inline's
+ Move specifications of new subprograms to the actual specs
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads: Update comments.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads, a-cofove.ads: Minor reformatting.
+
+2011-08-02 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
+ a-cofove.ads: Add comments.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Document formal containers.
+
+2011-08-02 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
+ are empty sections.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
+ reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * aspects.adb: New aspects Default_Value and Default_Component_Value
+ New format of Aspect_Names table checks for omitted entries
+ * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
+ handling of boolean aspects for derived types.
+ New aspects Default_Value and Default_Component_Value
+ New format of Aspect_Names table checks for omitted entries
+ * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
+ (Has_Default_Value): New flag
+ (Has_Default_Component_Value): New flag
+ (Has_Default_Value): New flag
+ * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
+ table.
+ * par-prag.adb: New pragmas Default_Value and Default_Component_Value
+ * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
+ Default_Value and Default_Component_Value
+ * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
+ New aspects Default_Value and Default_Component_Value
+ * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
+ * sprint.adb: Print N_Aspect_Specification node when called from gdb
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
+ inherit library kind.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
+ Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add comment.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
+ qualification of aggregates in formal mode
+ (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
+ another aggregate
+ (Resolve_Aggregate): complete the test that an aggregate is adequately
+ qualified in formal mode
+
+2011-08-02 Pascal Obry <obry@adacore.com>
+
+ * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
+ * mlib-prj.adb: Supress warning when compiling binder generated file.
+ (Build_Library): Supress all warnings when compiling the binder
+ generated file.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
+ from here...
+ * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
+ * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
+ Add with/use clauses to make Check_Formal_Restriction visible
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
+ in-parameters when type of the generic formal is private in the generic
+ spec and non-private in the body.
+
+2011-08-02 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
+ a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
+ a-cofove.adb, a-cofove.ads: New files implementing formal containers.
+ * impunit.adb, Makefile.rtl: Take new files into account.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
+ sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
+ formal mode
+ * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
+ matching static array bounds, taking into account the special case of
+ string literals
+ * sem_ch3.adb: Typo in comment.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
+ which issues an error in formal mode if its argument node is originally
+ from source
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
+ has a discriminant specification so that it does not include the case
+ of derived types
+ (Derived_Type_Declaration): move here the test that a derived type has a
+ discriminant specification
+ * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
+ first element of a component association before accessing its choices
+ (presence of component association is not enough)
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
+ declaration is a library item before accessing the next element in a
+ list, as library items are not member of lists
+ * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
+ Check_Formal_Restriction whenever possible.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
+ reference when needed.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
+ archive file name. Do not use the full path name of archives for Open
+ VMS.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb, sem_ch11.adb: New calling sequence for
+ Analyze_Aspect_Specifications
+ * sem_ch13.adb
+ (Analyze_Aspect_Specifications): New handling for boolean aspects
+ * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
+ * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
+ sequence for Analyze_Aspect_Specifications
+ * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
+ * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
+ aspects, since these no longer exist.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): Always return false on
+ semicolon, do not try to see if there are aspects following it.
+ * par-ch3.adb (P_Declarative_Items): Better message for unexpected
+ aspect spec.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, aspects.ads: Minor reformatting.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
+ * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
+ extracted from...
+ (Analyze_Aspect_Specifications): ...here. Call above procedure.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
+ mode on subprogram declaration outside of package specification, unless
+ it is followed by a pragma Import
+ * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
+ Access_Type_Declaration): issue error in formal mode on access type
+ (Analyze_Incomplete_Type_Decl): issue error in formal mode on
+ incomplete type
+ (Analyze_Object_Declaration): issue error in formal mode on object
+ declaration which does not respect SPARK restrictions
+ (Analyze_Subtype_Declaration): issue error in formal mode on subtype
+ declaration which does not respect SPARK restrictions
+ (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
+ error in formal mode on digits or delta constraint
+ (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
+ decimal fixed point type
+ (Derived_Type_Declaration): issue error in formal mode on derived type
+ other than type extensions of tagged record types
+ * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
+ with check on access definition
+ * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
+ mode on protected definition.
+ (Analyze_Task_Definition): issue error in formal mode on task definition
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Can_Override_Operator): New function.
+ (Verify_Overriding_Indicator): Add missing code to check overriding
+ indicator in operators. Fixes regression.
+ (Check_Overriding_Indicator): Minor reformating after replacing the
+ code that evaluates if the subprogram can override an operator by
+ invocations to the above new function.
+ * einfo.adb
+ (Write_Field26_Name): Add missing code to ensure that, following
+ the documentation in einfo.ads, this field is not shown as attribute
+ "Static_Initialization" on non-dispatching functions.
+
+2011-08-02 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_res.adb (Resolve_Call): A call to
+ Ada.Real_Time.Timing_Events.Set_Handler violates restriction
+ No_Relative_Delay (AI-0211) only when it sets a relative timing event,
+ i.e., when the second parameter is of type Time_Span.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
+ with an archive instead of -L<library dir> -l<library name>.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
+ mark the base types In_Use in addition to making the operations
+ use_visible.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * init.c: add and setup __gnat_signal_mask for the exception signals
+ * s-inmaop-vxworks.adb: new file.
+ * s-intman-vxworks.adb: remove unnecessary initializations and
+ simplify remaining
+ * s-intman-vxworks.ads: remove unnecessary variable
+ * s-taprop-vxworks.adb: simplify signal initialization
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor code reorganization, comment updates.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
+ * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
+ here from Sem_Res.
+ (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
+ (Matching_Static_Array_Bounds): Moved here from Sem_Res
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
+ * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
+ * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
+ use_type_clauses, to handle more efficiently use_type and use_all_type
+ constructs.
+ * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
+ Ada2012 Use_All_Type clause.
+ (Use_Class_Wide_Operations): new procedure.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
+ sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
+ expression to expression function.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb: transform simple Ada2012 membership into equality only
+ if types are compatible.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Matching_Static_Array_Bounds): new function which
+ returns True if its argument array types have same dimension and same
+ static bounds at each index.
+ (Resolve_Actuals): issue an error in formal mode on actuals passed as
+ OUT or IN OUT paramaters which are not view conversions in SPARK.
+ (Resolve_Arithmetic_Op): issue an error in formal mode on
+ multiplication or division with operands of fixed point types which are
+ not qualified or explicitly converted.
+ (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
+ Boolean or array type (except String) operands.
+ (Resolve_Equality_Op): issue an error in formal mode on equality
+ operators for array types other than String with non-matching static
+ bounds.
+ (Resolve_Logical_Op): issue an error in formal mode on logical operators
+ for array types with non-matching static bounds. Factorize the code in
+ Matching_Static_Array_Bounds.
+ (Resolve_Qualified_Expression): issue an error in formal mode on
+ qualified expressions for array types with non-matching static bounds.
+ (Resolve_Type_Conversion): issue an error in formal mode on type
+ conversion for array types with non-matching static bounds
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb: Minor code reorganization (use Nkind_In).
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch9.adb: save location of entry for proper error message.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
+ (Use_Full_View) which permits this routine to climb through the
+ ancestors using the full-view of private parents.
+ * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
+ Use_Full_View to true in calls to Is_Ancestor.
+ * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
+ true in call to Is_Ancestor.
+ * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
+ Use_Full_View to true in call to Is_Ancestor.
+ * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
+ call to Is_Ancestor.
+ * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
+ Use_Full_View to true in calls to Is_Ancestor.
+ * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
+ Make_Select_Specific_Data_Table, Register_Primitive,
+ Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
+ to true in call to Is_Ancestor.
+ * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
+ Use_Full_View to true in calls to Is_Ancestor.
+ * exp_cg.adb
+ (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
+ (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting.
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-02 Tristan Gingold <gingold@adacore.com>
+
+ * vms_data.ads: Add VMS qualifier for -gnateP.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
+ * par-ch7.adb (P_Package): Proper placement of aspects for package
+ decl/instantiation.
+ * par-endh.adb (Check_End): Ad Is_Sloc parameter
+ (End_Statements): Add Is_Sloc parameterr
+ * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
+ (Check_End): Ad Is_Sloc parameter
+ (End_Statements): Add Is_Sloc parameterr
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * ug_words: Add VMS qualifier equivalent to -gnateP:
+ /SYMBOL_PREPROCESSING.
+
+2011-08-02 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat-style.texi: For hexadecimal numeric literals the typical
+ grouping of digits is 4 to represent 2 bytes.
+ A procedure spec which is split into several lines is indented two
+ characters.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
+ * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
+ (Resolve_Aggregate): issue errors in formal modes when aggregate is not
+ properly qualified
+ (Resolve_Array_Aggregate): issue errors in formal modes on non-static
+ choice in array aggregate
+ (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
+ mark as ancestor
+ (Resolve_Record_Aggregate): issue errors in formal modes on mixed
+ positional and named aggregate for record, or others in record
+ aggregate, or multiple choice in record aggregate
+ * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
+ array operands to logical operations AND, OR and XOR do not have the
+ same static lower and higher bounds
+ * sem_ch5.adb, sinfo.ads: Correct typos in comments
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
+ Replaces Last_Source_Node_In_Sequence.
+ * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
+ * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
+ parens and blank in string (this was inconsistently implemented).
+ * errout.ads
+ (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
+ blank in string (this was inconsistently implemented).
+ * gnat1drv.adb
+ (Set_Global_Switches): Set formal mode switches appropriately
+ * opt.ads, opt.adb: Formal mode is now global switches, more consistent
+ * par-prag.adb
+ (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
+ call Set_Error_Msg_Lang to set "spark" as language name.
+ * par.adb: Remove unnecessary call to set formal language for errout
+ * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
+ appropriately and call Set_Error_Msg_Lang to set "spark" as language
+ name.
+ * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
+ calls to it, moved after resolution so that types are known
+ * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
+ result of concatenation is not of type String
+ (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
+ concatenation is not properly restricted
+ * gnat_rm.texi: Add doc on pragma Spark_95.
+ * gcc-interface/Makefile.in: Remove obsolete target pairs for
+ Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
+ condition that detects if the overridden operation must replace an
+ existing entity.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
+ code declarations inserted by Insert_Actions in each alternative of the
+ N_Case_Expression node.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor code reorganization.
+ * sem_util.adb: Minor reformatting.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
+ * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
+ literal or operator symbol which is prefixed
+ * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
+ mode on access attributes.
+ * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
+ that concatenation operands are properly restricted in formal mode
+ (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
+ Analyze_Concatenation_Operand. Issue an error in formal mode if the
+ result of the concatenation has a type different from String.
+ (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
+ Analyze_Quantified_Expression, Analyze_Slice,
+ Analyze_Null): issue an error in formal mode on unsupported constructs
+ * sem_ch5.adb
+ (Analyze_Block_Statement): only issue error on source block statement
+ * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
+ function which returns the last node in a list of nodes for which
+ Comes_From_Source returns True, if any
+ * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
+ Last_Source_Node_In_Sequence
+ * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
+ Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
+ mode on unsupported constructs
+ * sem_ch9.adb Do not return after issuing error in formal mode, as the
+ rest of the actions may be needed later on since the error is marked as
+ not serious.
+ * sinfo.ads: Typos in comments.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Minor editing.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
+ insertion character ~~
+ * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
+ (Set_Error_Msg_Lang): new procedure which fixes the language for use
+ with insertion character ~~
+ (Set_Msg_Text): treat insertion character ~~
+ * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
+ sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
+ Formal_Error_Msg_... procedures by equivalent Error_Msg_...
+ procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
+ errors related to the formal language restriction not serious
+ (insertion character |).
+ * par.adb (Par): set formal language for error messages if needed
+ * sem_ch6.adb (Check_Missing_Return): take into account possible
+ generated statements at the end of the function
+ * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
+ enumeration value to define a new pragma SPARK_95
+ * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
+ SPARK_Version): new type and variables to store the SPARK version
+ (none by default).
+ (SPARK_Mode): return True when SPARK_Version is set
+ * par-prag.adb: Correct indentation
+ (Prag): take Pragma_SPARK_95 into account
+ * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
+ into account.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
+ sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
+ sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
+ Target_Name to Get_Path call.
+ (Parse_Single_Project): Likewise.
+ (Post_Parse_Context_Clause): Likewise.
+ * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
+ Call Initialise_Project_Path with the proper Target_Name.
+ (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
+ search path.
+ (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
+ with the proper Target_Name.
+ * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
+ Part.Parse routine.
+ (Parse_Project_And_Apply_Config): Likewise.
+ * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
+ This is fine as this part of the code is supporting only native
+ compilation.
+ * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
+ is fine as this part of the code is supporting only native compilation.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Enter_Name): issue error in formal mode on declaration
+ of homonym, unless the homonym is one of the cases allowed in SPARK
+ * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
+ package declaration occurring after a body.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, exp_ch4.adb: Minor reformatting.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads (Access_Disp_Table): Fix documentation.
+ (Dispatch_Table_Wrappers): Fix documentation.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * prj-env.adb, prj-env.ads: Minor reformatting.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sem_util.ads, sem_util.adb, par.adb, par_util.adb
+ (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
+ procedures out of these packages.
+ * errout.ads, errout.adb
+ (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
+ procedures in of this package
+ (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
+ * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
+ on misplaced later vs initial declarations, like in Ada 83
+ * sem_attr.adb (Processing for Analyze_Attribute): issue error in
+ formal mode on attribute of private type whose full type declaration
+ is not visible
+ * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
+ package declaration inside a package specification
+ (Analyze_Full_Type_Declaration): issue error in formal mode on
+ controlled type or discriminant type
+ * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
+ user-defined operator means that it should come from the source
+ (New_Overloaded_Entity): issue error in formal mode on overloaded
+ entity.
+ * sem_ch6.ads, sem_ch13.ads: typos in comments.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * atree.adb: Minor reformatting.
+ * checks.adb: Minor reformatting.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * s-parame-vms-ia64.ads: Fix typo in comment
+ Minor reformatting
+ * s-parame-vms-restrict.ads: Removed, unused.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb
+ (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
+ * sem_ch3.adb
+ (Constrain_Index): Remove side effects in the evaluation of the bounds.
+ * sem_ch3.ads, sem_ch3.adb
+ (Is_Constant_Bound): New extended version of the subprogram that was
+ previously located inside function Exp_Ch3.Is_Variable_Size_Array.
+ Moved here since it is shared by routines of sem_ch3 and exp_ch3.
+ * sem_aux.ads (Constant_Value): Fix typo in comment.
+ * checks.adb (Generate_Index_Checks): New implementation which, for
+ array objects with constant bounds, generates the runtime check
+ referencing the bounds of the array type. For other cases this routine
+ provides its previous behavior obtaining such values from the array
+ object.
+ * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
+ parent type.
+ * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
+ we cannot have semantic interpretations of the new node.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
+ expressions.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch8.adb: Minor code editing.
+ * s-vxwext.adb: Remove trailing space.
+ * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
+ consistency with other files.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch10.adb: reject parameterized expressions as compilation unit.
+ * sem_ch4.adb: handle properly conditional expression with overloaded
+ then_clause and no else_clause.
+
+2011-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
+ like done by System.Aux_DEC.
+ * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
+ missing label at end of declaration (subprogram or package)
+ * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
+ of positional and named parameter association
+ * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
+ Error_Msg_SP which adds a prefix to the error message giving the name
+ of the formal language analyzed
+ * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
+ access result type in subprogram, unconstrained array as result type,.
+ (Analyze_Subprogram_Declaration): issue an error in formal mode for null
+ procedure
+ * sem_ch8.adb: Code clean up.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
+ * einfo.ads (Access_Disp_Table): Fix documentation.
+ (Dispatch_Table_Wrappers): Fix documentation.
+ * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
+ Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
+ to enforce the documentation of this attribute.
+ (Set_Is_Interface): Cleanup the assertion.
+ * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
+ the Underlying_Type entity before reading attribute Access_Disp_Table.
+ * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
+ Locate the Underlying_Type before reading attribute Access_Disp_Table.
+ * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
+ the Underlying_Type entity before reading attribute Access_Disp_Table.
+ * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
+ Locate the Underlying_Type entity before reading attribute
+ Access_Disp_Table.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * s-poosiz.ads: Additional overriding indicators.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
+ formal mode.
+ (Analyze_Iteration_Scheme): issue error in formal mode when loop
+ parameter specification does not include a subtype mark.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
+ formal mode on abstract subprogram.
+ (Analyze_Subprogram_Specification): issue error in formal mode on
+ user-defined operator.
+ (Process_Formals): issue error in formal mode on access parameter and
+ default expression.
+ * sem_ch9.adb (Analyze_Abort_Statement,
+ Analyze_Accept_Statement, Analyze_Asynchronous_Select,
+ Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
+ Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
+ Analyze_Requeue, Analyze_Selective_Accept,
+ Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
+ * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
+ issue error in formal mode on user-defined raise statement.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
+ declaration being hidden when overriding an implicit inherited
+ subprogram.
+ * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
+ (-gnats), do not complain about a source file that contains only a
+ pragma No_Body.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
+ variable if already set.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
+ g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
+ s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
+ g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
+ g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
+ g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
+ g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
+ g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
+ g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
+ g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
+ g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
+ s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
+ g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
+ s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
+ g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
+ g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
+ g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
+ g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
+ g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
+ g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
+ s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
+ s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
+ a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
+ s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
+ s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
+ g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
+ g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
+ g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
+ g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
+ g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
+ g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
+ s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
+ s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
+ g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
+ g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
+ s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
+ s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
+ g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
+ g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
+ g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
+ s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
+ g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
+ g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
+ g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
+ s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
+ g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
+ g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
+ g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
+ s-osinte-mingw.ads: Update to GPLv3 run-time license.
+ Use GNAT instead of GNARL.
+
+2011-08-01 Bob Duff <duff@adacore.com>
+
+ * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
+ a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
+ a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
+ reformatting.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * debug.adb (d.D) reverve flag for the SPARK mode
+ (d.E) reverve flag for SPARK generation mode
+ (d.F) reverve flag for Why generation mode
+ * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
+ ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
+ functions which return True when the corresponding modes are set
+ (Formal_Language): return "spark" or "alfa" when in formal verification
+ mode.
+ * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
+ Error_Msg to prefix the error message with a tag giving the formal
+ language
+ (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
+ message with a tag giving the formal language
+ * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
+ block statement
+ (Analyze_Case_Statement): issue error in formal mode on case statement
+ with a single "others" case alternative
+ (Analyze_Exit_Statement): issue errors in formal mode on exit
+ statements which do not respect SPARK restrictions
+ (Analyze_Goto_Statement): issue error in formal mode on goto statement
+ (Check_Unreachable_Code): always issue an error (not a warning) in
+ formal mode on unreachable code (concerns both code after an infinite
+ loop and after an unconditional jump, both not allowed in SPARK)
+ * sem_ch6.adb (Analyze_Return_Statement): add call to
+ Set_Return_Present for a procedure containing a return statement
+ (already done for functions in Analyze_Function_Return)
+ (Analyze_Function_Return): issue error in formal mode on extended
+ return or if return is not last statement in function
+ (Check_Missing_Return): issue error in formal mode if function does
+ not end with return or if procedure contains a return
+ * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
+ function to detect if there is an inner scope of its parameter S which
+ is a loop.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch6.ads: Minor reformatting.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Abstract_Interface_List): Complete condition when
+ processing private type declarations to avoid reading unavailable
+ attribute.
+ (Is_Synchronized_Tagged_Type): Complete condition when processing
+ private extension declaration nodes to avoid reading unavailable
+ attribute.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
+ i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
+ s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
+ s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
+ for VMS, instead parametrize the common implementation with
+ System.Parameters declarations.
+
+2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
+
+2011-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c: Fix SEH handler installation on win64.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
+ double analysis of an anonymous access to subprogram, because it can
+ lead to improper sharing of profiles and a back-end crash.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_ch4.adb: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * sem_util.adb, exp_ch5.adb: Minor reformatting.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi: Fix definition of Long_Integer.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb: check limit size of static aggregate unconditionally,
+ to prevent storage exhaustion.
+ * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
+ finalized is a function body, insert the cleanup code before the final
+ return statement, to prevent spurious warnings.
+ * s-pooglo.ads: add overriding indicator.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Operator_Check): improve error message when both a
+ with_clause and a use_clause are needed to make operator usage legal.
+ * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
+ determine whether a compilation unit is visible within an other,
+ either through a with_clause in the current unit, or a with_clause in
+ its library unit or one one of its parents.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
+ over an arbitrary expression of an array or container type.
+ * lib-xref.adb: clarify comment.
+
+2011-08-01 Bob Duff <duff@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+ * debug.adb: Minor comment improvement.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
+ consider hidden subprograms as valid candidates.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
+
+2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
+ lib-xref.adb: Minor reformatting
+
+2011-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
+ when to generate a call to Move_Final_List.
+ (Has_Controlled_Parts): Remove this function.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
+ "," in choice list.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
+ explicit raise of a predefined exception as Comes_From_Source if the
+ original N_Raise_Statement comes from source.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Add comment.
+ * sem_ch6.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Refine check for bad component size
+ clause to avoid rejecting confirming clause when atomic/aliased present.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
+ better determine whether an entity reference is a write.
+ * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
+ subcomponent.
+ * lib-xref.adb (Output_References): Do no suppress a read reference at
+ the same location as an immediately preceeding modify-reference, to
+ handle properly in-out actuals.
+
+2011-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * env.c (__gnat_setenv) [VMS]: Refine previous change.
+
+2011-08-01 Quentin Ochem <ochem@adacore.com>
+
+ * i-cstrin.adb (New_String): Changed implementation, now uses only the
+ heap to compute the result.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads: Minor reformatting.
+
+2011-08-01 Emmanuel Briot <briot@adacore.com>
+
+ * g-expect.adb (Get_Command_Output): Fix memory leak.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (P_Float_Type): New procedure to print the definition of
+ predefined fpt types.
+ (P_Mixed_Name): New procedure to print a name using mixed case
+ (Print_Standard): Use P_Float_Type for printing floating point types
+ * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
+ precision IEEE float.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
+ the completion of a generic function, insert the new body rather than
+ rewriting the original.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads, errout.ads: Typos in comments.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * par-endh.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspects for library unit pragmas
+ (Pre_Post_Aspects): New subtype.
+ * par-ch12.adb (P_Generic): New syntax for aspects in packages
+ * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
+ * par-ch7.adb (P_Package): Remove Decl parameter
+ (P_Package): Handle new syntax for aspects (before IS)
+ * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
+ new aspect syntax
+ (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
+ * par.adb (P_Aspect_Specifications): Add Semicolon parameter
+ (P_Package): Remove Decl parameter
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
+ aspects
+ * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
+ specs
+ * sem_util.ads, sem_util.adb (Static_Boolean): New function
+ * sinfo.ads: Document new syntax for aspects in packages etc.
+ * sprint.adb: Handle new syntax of aspects before IS in package
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * atree.ads: Minor reformatting.
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Insert_Actions): Fix error in handling Actions for
+ case expr alternative.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Fix typo.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * sem_prag.adb (Check_No_Link_Name): New procedure.
+ (Process_Import_Or_Interface): Use Check_No_Link_Name.
+ * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
+ instead of Standard_Long_Long_Float_Size global. Preparation for
+ eventual removal of per type constants.
+ * exp_util.ads (Get_Stream_Size): New function returning the stream
+ size value of subtype E.
+ * exp_util.adb (Get_Stream_Size): Implement new function.
+ * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
+ function.
+ * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
+ * einfo.adb:
+ (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb: Fix comments.
+ * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
+ count of arguments.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, sem_cat.adb: Minor reformatting.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * atree.ads: Fix comment.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
+ * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
+ * par.adb: Add with for Namet.Sp.
+ * par-tchk.adb: Minor reformatting.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
+ (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
+ of the init procedure of a SAL.
+ * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
+ New procedure.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
+ reformatting.
+
+2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
+ conformant with its spec (return True only for types that have
+ an overriding Initialize primitive operation that prevents them from
+ having preelaborable initialization).
+ * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
+ initialization for controlled types in Ada 2005 or later mode.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
+ Postcondition.
+ (Same_Aspect): New function.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
+ Type_Invariant, Precondition, Postcondition.
+ * snames.ads-tmpl: Add Name_Type_Invariant.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
+ here.
+ (Freeze_All_Ent): Fix error in handling inherited aspects.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
+ already analyzed, but don't skip entire processing of a declaration,
+ that's wrong in some cases of declarations being rewritten.
+ (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
+ Don't delay for integer, string literals
+ Treat predicates in usual manner for delay, remove special case code,
+ not needed.
+ (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
+ (Build_Predicate_Function): Update saved expression in aspect
+ (Build_Invariant_Procedure): Update saved expression in aspect
+ * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
+ of replacement of discriminant references if the reference is simple.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
+ * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
+ Static_Predicate and Dynamic_Predicate.
+ (Build_Predicate_Function): Add processing for Static_Predicate
+ and Dynamic_Predicate.
+ * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
+ (From_Static_Predicate): New flag
+ * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Documentation cleanup for Ada version modes in usage.
+ * expander.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads: Minor comment fix.
+ * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
+ a-witeio.ads, sem_prag.adb: Minor reformatting.
+
+2011-08-01 Doug Rupp <rupp@adacore.com>
+
+ * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
+ pointers. Use descrip.h header file for convenience. Add some
+ comments.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
+ (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
+ * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
+ New procedure.
+ (Check_Aspect_At_End_Of_Declarations): New procedure
+ (Analye_Aspect_Specification): Minor changes for above procedures
+ * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
+ specification node as well.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
+ Windows files. Use GetFilesAttributes() in this case to check for file
+ existence instead of returning with an error code.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
+ High is above Source length.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads (Boolean_Aspects): New subtype.
+ * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
+ for derived types in cases where the parent type and derived type have
+ aspects.
+ * freeze.adb (Freeze_Entity): Fix problems in handling derived type
+ with aspects when parent type also has aspects.
+ (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
+ boolean expression at this point).
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
+ accordance with final decision on the Ada 2012 feature.
+ * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
+
+2011-08-01 Matthew Heaney <heaney@adacore.com>
+
+ * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
+ Fix Replace_Slice when High is above current string size.
+ (Replace_Slice): Fix DL computation when High is above current
+ string length.
+
+2011-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
+
+2011-08-01 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
+ of node.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
+ reformatting.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
+ access to protected subprograms in generic bodies.
+ * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
+ protected type, indicate that the convention of the subprogram is
+ Convention_Protected, because it may be used in subsequent declarations
+ within the protected declaration.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
+ and "final" procedures when the name of the library is "ada", to avoid
+ duplicate symbols "adainit" and "adafinal" in executables.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
+ quantified expression that appears within a postcondition and uses the
+ Ada2012 'Result attribute.
+
+2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * init.c (__gnat_error_handler): Cast reason to int.
+ (__gnat_install_handler): Explain sa_sigaction use.
+
+2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
+ subprogram has copy-in copy-out parameters, try to promote the mode of
+ the return type if it is passed in registers.
+
+2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
+ left operand as addressable.
+
+2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_function_stub): Remove.
+ (build_return_expr): Likewise.
+ (convert_vms_descriptor): Declare.
+ * gcc-interface/utils.c (convert_vms_descriptor): Make global.
+ (build_function_stub): Move to...
+ * gcc-interface/utils2.c (build_return_expr): Move to...
+ * gcc-interface/trans.c (build_function_stub): ...here.
+ (build_return_expr): ...here.
+ (Subprogram_Body_to_gnu): Add local variable for language_function.
+ Disconnect the parameter attributes cache, if any, once done with it.
+ Call end_subprog_body only after setting the end_locus.
+ Build the stub associated with the function, if any, at the very end.
+ (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
+ variables and streamline control flow.
+
+2011-07-23 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/49819
+ * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
+ g-trasym-dwarf.adb.
+
+2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/49794
+ * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
+ Assign to act.sa_sigaction.
+ * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
+ current->return_address to char * before arithmetic.
+
+2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
+ Correct argument types.
+ Extract code from reason.
+ (__gnat_install_handler): Assign to act.sa_sigaction.
+
+2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
+ (GNAT1_OBJS): ...here.
+
+2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/48711
+ * g-socthi-mingw.adb (Fill): Fix formatting.
+
+ * gcc-interface/gigi.h: Move around comment.
+
+2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/46350
+ * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
+
+2011-07-14 Florian Weimer <fw@deneb.enyo.de>
+
+ PR ada/48711
+ * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
+
+2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
+ range comparison if Pmode is SImode.
+
+2011-07-12 Laurent GUERBY <laurent@guerby.net>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * adadecode.c: Wrap up in extern "C" block.
+ * adadecode.h: Likewise.
+ * adaint.c: Likewise. Remove 'const' keyword.
+ * adaint.h: Likewise.
+ * argv.c: Likewise.
+ * atree.h: Likewise.
+ * cio.c: Likewise.
+ * cstreams.c: Likewise.
+ * env.c: Likewise.
+ * exit.c: Likewise.
+ * fe.h: Likewise.
+ * final.c: Likewise.
+ * init.c: Likewise.
+ * initialize.c: Likewise.
+ * link.c: Likewise.
+ * namet.h: Likewise.
+ * nlists.h: Likewise.
+ * raise.c: Likewise.
+ * raise.h: Likewise.
+ * repinfo.h: Likewise.
+ * seh_init.c: Likewise.
+ * targext.c: Likewise.
+ * tracebak.c: Likewise.
+ * uintp.h: Likewise.
+ * urealp.h: Likewise.
+ * xeinfo.adb: Wrap up generated C code in extern "C" block.
+ * xsinfo.adb: Likewise.
+ * xsnamest.adb: Likewise.
+ * gcc-interface/gadaint.h: Wrap up in extern "C" block.
+ * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
+ (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
+ ada/targext.o here...
+ (GNAT_ADA_OBJS): ...and not here.
+ (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
+ (GNATBIND_OBJS): Reorder.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
+ dwarf2out_frame_init.
+
+2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_init): Tweak previous change.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/39150
+ * gcc-interface/Makefile.in: Handle x86_64-solaris2.
+
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/misc.c (gnat_init): Merge calls to
+ build_common_tree_nodes and build_common_tree_nodes_2.
+ Re-initialize boolean_false_node.
+
+2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
+ the type according to the ARTIFICIAL_P parameter.
+ (create_type_decl): Likewise.
+ (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
+
+2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
+ (gnatbind): Likewise.
+
+2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
+ local variable throughout. Remove useless call to Base_Type.
+ (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
+ Take it also into account for the volatileness of the field. Set the
+ TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
+ on a dereference built for a by-ref object if it has an address clause.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Address_Taken): Document use for the second argument of
+ Asm_Input and Asm_Output attributes.
+ * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
+ argument is an entity name, then set Address_Taken on it.
+ <Attribute_Asm_Output>: Likewise.
+ * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
+ Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
+ (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
+ memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
+
+2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR middle-end/46500
+ * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
+
+2011-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
+ (ada/utils.o): Update dependencies.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
+ ../../../libcpp/libcpp.a.
+ * gcc-interface/utils.c: Include common/common-target.h.
+ (process_attributes): Use targetm_common.have_named_sections.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
+ set_sizetype.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
+ TREE_THIS_NOTRAP flag.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
+ Fix thinko.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
+ constants whose full view has discriminants specially.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c: Include diagnostic.h.
+ (gnat_write_global_declarations): Output debug information for all
+ global type declarations before finalizing the compilation unit.
+ * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
+
+2011-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
+
+2011-05-25 Kai Tietz <ktietz@redhat.com>
+
+ * adaint.c (__gnat_to_canonical_file_list_next): Use array
+ initialization instead of const/none-const pointer assignment.
+
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
+ $(EXTRA_GNAT1_OBJS).
+ (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
+ (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
+ (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
+ libcommon-target.a instead of prefix.o.
+
+2011-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ PR ada/49097
+ * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
+
+2011-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
+ instead of version.o.
+
+2011-05-18 Kai Tietz <ktietz@redhat.com>
+
+ * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
+ boolean_false_node instead of integer_zero_node.
+ (convert_with_check): Likewise.
+ * gcc-interface/decl.c (choices_to_gnu): Likewise.
+
+2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
+ type of the parameter is an unconstrained array, convert the actual to
+ the type of the formal in the In Out and Out cases as well.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
+ call build_function_type_array or build_varargs_function_type_array
+ instead.
+ (create_subprog_type): Don't call build_function_type; call
+ build_function_type_vec instead.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
+ (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
+ (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
+
+2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
+
+ * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
+ * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
+ instead of accessing TYPE_ARG_TYPES directly.
+ * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/48844
+ * gcc-interface/gigi.h (get_variant_part): Declare.
+ * gcc-interface/decl.c (get_variant_part): Make global.
+ * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
+ types have the same constant size, are record types and T1 has a
+ variant part while T2 doesn't.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (begin_subprog_body): Do not call
+ get_pending_sizes.
+ (end_subprog_body): Likewise.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
+ int_const_binop.
+ (pos_to_constructor): Likewise.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Call build_function_type_list instead
+ of build_function_type. Adjust calls to...
+ (build_raise_check): ...this. Do not take a void_tree parameter.
+ Call build_function_type_list instead of build_function_type.
+ Fix head comment and swap couple of conditional blocks.
+
+2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.7.
+ (Current_Year): Bump to 2011.
+
+2011-04-29 Michael Matz <matz@suse.de>
+
+ * gcc-interface/misc.c (gnat_handle_option): Set
+ warn_maybe_uninitialized.
+
+2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gnat_ugn.texi (Complexity Metrics Control): Update link to
+ the Watson/McCabe paper.
+
+2011-04-23 Jim Meyering <meyering@redhat.com>
+
+ * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
+
+2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
+ onto the new type.
+
+2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
+ parameter.
+ * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
+ DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
+ ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
+ <all>: Do not set flags on the reused DECL node coming from an alias.
+ Set DECL_IGNORED_P on the DECL node built for subprograms if they
+ don't need debug info here...
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
+ (gigi): Adjust calls to create_subprog_decl.
+ (build_raise_check): Likewise.
+ (establish_gnat_vms_condition_handler): Likewise.
+ (Compilation_Unit_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+
+2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
+ (NO_REORDER_ADAFLAGS): New variable.
+ (EXTRA_GNATTOOLS): Always define.
+ (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
+ Clean up and adjust list of files compiled with special options.
+ * gcc-interface/Make-lang.in: Likewise.
+ (ada/decl.o): Cosmetical change.
+ (ada/misc.o): Remove dependency on $(PLUGIN_H).
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ * initialize.c (__gnat_initialize): Remove useless if-before-free.
+
+2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
+ $(CFLAGS) on the link line.
+
+2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
+ padded type built for the return type if it is unconstrained.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
+
+2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
+ before calling TREE_CHAIN.
+ * gcc-interface/misc.c (gnat_init_ts): New function.
+ (LANG_HOOKS_INIT_TS): Define.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
+ instead of cgraph_node.
+
+2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
+ alignment on fields of the RETURN type built for the Copy-In Copy-Out
+ mechanism.
+
+2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
+ of aggregate types that contain a placeholder.
+
+2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
+ TYPE_ARG_TYPES.
+ (handle_type_generic_attribute): Likewise.
+
+2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/47163
+ * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
+
+2011-04-04 Kai Tietz <ktietz@redhat.com>
+
+ PR ada/47163
+ * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
+ to flag value.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_allocator): In the unconstrained array
+ type case, do not strip a padding type around the array type.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
+ types.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
+ * gcc-interface/misc.c (gnat_handle_option): Remove special handling
+ code for -feliminate-unused-debug-types.
+ (gnat_post_options): Likewise.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
+ declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
+ distinct copy.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
+ DECL_ARTIFICIAL flag on enumeration types.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
+ fat pointer types artificial unconditionally.
+ <E_Array_Subtype>: Attach the base array type as a parallel type if it
+ isn't artificial.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (get_dummy_type): Declare.
+ (build_dummy_unc_pointer_types): Likewise.
+ (finish_fat_pointer_type): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
+ fat pointer type has been built, complete it in place.
+ <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
+ and thin pointers. Remove useless variable.
+ (finish_fat_pointer_type): Make global and move to...
+ * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
+ (get_dummy_type): New function.
+ (build_dummy_unc_pointer_types): Likewise.
+ (gnat_pushdecl): Propage the name to the anonymous variants only.
+ (update_pointer_to): Only adjust the pointer types in the unconstrained
+ array case.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
+ if this is a Taft amendment type and the full declaration is available.
+ * gcc-interface/trans.c (process_type): Likewise.
+ If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
+ (process_freeze_entity): Likewise.
+ * gcc-interface/utils.c (dummy_global): New static variable.
+ (gnat_write_global_declarations): If there are types declared as used
+ at the global level, insert them in the global hash table.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
+ * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
+ declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
+ copy.
+ (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
+ flag of the type accordingly.
+ * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
+ finalizing types when updating the pointers to the designated type.
+ <all>: Finalize the deferred types even if we didn't defer processing
+ of incomplete types in this invocation.
+
+2011-04-01 Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_descriptive_type): New function.
+ (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
+
+2011-03-28 Kai Tietz <ktietz@redhat.com>
+
+ * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
+ Windows targets.
+ (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
+ * system-mingw.ads (System): Change ZCX_By_Default default to True.
+
+ * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
+
+2011-03-28 Tristan Gingold <gingold@adacore.com>
+
+ PR ada/44431
+ * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
+ Use ada output of gnatbind.
+ (ada/b_gnatb.adb): Ditto.
+ (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
+ (ada.mostlyclean, ada.stage1)
+ (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
+ (ada.stagefeedback): Adjust.
+ * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
+ Use ada output of gnatbind.
+ (b_gnatm.adb): Ditto.
+ (b_gnatl.o, b_gnatm.o): New rules.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
+ for the padded type built to support a specified size or alignment.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
+ unconditionally to the end of the unit when the designated type is
+ limited_with'ed.
+ <all>: Rename local variable. Attempt to un-defer types only and do it
+ for limited_with'ed types as well.
+ (finalize_from_with_types): Adjust comment. Rename variable and tidy.
+ * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
+ consistently and remove redundant call to finalize_from_with_types.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
+ subprograms without a previous spec declared in the same unit.
+ * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
+ subprograms at the end of the unit instead of at the beginning.
+ * gcc-interface/utils.c (create_subprog_decl): Check that the entity
+ isn't public for the special handling of non-inline functions nested
+ inside inline external functions.
+
+2011-03-25 Jeff Law <law@redhat.com>
+
+ * gcc-interface/utils.c (def_fn_type): Add missing va_end.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
+ * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
+ to compute Set_Size_Depends_On_Discriminant.
+ (Layout_Type): Call it on array types in back-end layout mode.
+ * sem_util.adb (Requires_Transient_Scope): Return true for array
+ types only if the size depends on the value of discriminants.
+ * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
+ type if the RHS is a call to a function that returns an unconstrained
+ type with default discriminant.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
+ non-conversion to the nominal result type at the end.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (create_temporary): New function taken from...
+ (create_init_temporary): ...here. Call it.
+ (call_to_gnu): Create the temporary for the return value early, if any.
+ Create it for a function with copy-in/copy-out parameters if there is
+ no target; in other cases of copy-in/copy-out, use another temporary.
+ Push the new binding level lazily. Add and rename local variables.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (validate_size): Improve comments and tweak
+ error message.
+ (set_rm_size): Likewise.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
+ for the padded type built in order to support a specified alignment.
+ Fix incorrect formatting.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/48216
+ * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
+ rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
+ to the end of the list. Adjust recursive call. Rename local variable.
+ If REORDER is true, reorder components of the record type.
+ (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
+ components_to_record and adjust the parameter list.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression_1): When optimization is
+ disabled, use the variable for bounds of loop iteration scheme.
+
+2011-03-21 Kai Tietz <ktietz@redhat.com>
+
+ PR target/12171
+ * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
+
+2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
+ out whether the expression is read-only. Short-circuit placeholder
+ case and rename a couple of local variables.
+
+2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (smaller_form_type_p): Declare.
+ * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
+ * gcc-interface/utils.c (smaller_form_type_p): ...to here.
+ (convert): Deal with conversions from a smaller form type specially.
+
+2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
+ its argument, except for the special -I- switch.
+
+2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
+ "Ada Issues".
+
+2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
+
+2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
+ GNAT_FORMAL.
+ * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
+ * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
+ instead of GNAT_FORMAL. Protect the expression against multiple uses.
+ Do not generate the check directly, instead instantiate the template
+ check present in the descriptor.
+ (make_descriptor_field): Move around.
+ (build_vms_descriptor32): Build a template check in the POINTER field.
+ (build_vms_descriptor): Remove useless suffixes.
+ * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
+
+2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/47467
+ * targext.c: Include target files if IN_RTS is defined.
+
+2011-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/47467
+ * targext.c: Include config.h.
+ * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
+ dependency.
+
+2011-01-04 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
+ end-of-case on the end label and its associated gotos, if any.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
+ expressions of the parameter cache within the statement group of
+ the CICO mechanism.
+
+2011-01-04 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
+ (set_end_locus_from_node): New function.
+ (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
+ make and the function end_locus.
+ (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
+ for the elaboration subprogram.
+ (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
+ set the end_locus of the expression as well.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/47131
+ * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
+ variables that are referenced in exception handlers volatile.
+
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+ * gnat_rm.texi: Ramification of pragma Eliminate documentation
+ - fix bugs in the description of Source_Trace;
+ - get rid of UNIT_NAME;
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb
+ (Build_Dispatching_Requeue): Adding support for VM targets
+ since we cannot directly reference the Tag entity.
+ * exp_sel.adb (Build_K): Adding support for VM targets.
+ (Build_S_Assignment): Adding support for VM targets.
+ * exp_disp.adb
+ (Default_Prim_Op_Position): In VM targets do not restrict availability
+ of predefined interface primitives to compiling in Ada 2005 mode.
+ (Is_Predefined_Interface_Primitive): In VM targets this service is not
+ restricted to compiling in Ada 2005 mode.
+ (Make_VM_TSD): Generate code that declares and initializes the OSD
+ record. Needed to support dispatching calls through synchronized
+ interfaces.
+ * exp_ch3.adb
+ (Make_Predefined_Primitive_Specs): Enable generation of predefined
+ primitives associated with synchronized interfaces.
+ (Make_Predefined_Primitive_Bodies): Enable generation of predefined
+ primitives associated with synchronized interfaces.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-ch11.adb (P_Handled_Sequence_Of_Statements): mark a sequence of
+ statements hidden in SPARK if preceded by the HIDE directive
+ (Parse_Exception_Handlers): mark each exception handler in a sequence of
+ exception handlers as hidden in SPARK if preceded by the HIDE directive
+ * par-ch6.adb (P_Subprogram): mark a subprogram body hidden in SPARK
+ if starting with the HIDE directive
+ * par-ch7.adb (P_Package): mark a package body hidden in SPARK if
+ starting with the HIDE directive; mark the declarations in a private
+ part as hidden in SPARK if the private part starts with the HIDE
+ directive
+ * restrict.adb, restrict.ads
+ (Set_Hidden_Part_In_SPARK): record a range of slocs as hidden in SPARK
+ (Is_In_Hidden_Part_In_SPARK): new function which returns whether its
+ argument node belongs to a part which is hidden in SPARK
+ (Check_SPARK_Restriction): do not issue violations on nodes in hidden
+ parts in SPARK; protect the possibly costly call to
+ Is_In_Hidden_Part_In_SPARK by a check that the SPARK restriction is on
+ * scans.ads (Token_Type): new value Tok_SPARK_Hide in enumeration
+ * scng.adb (Accumulate_Token_Checksum_GNAT_6_3,
+ Accumulate_Token_Checksum_GNAT_5_03): add case for new token
+ Tok_SPARK_Hide.
+ (Scan): recognize special comment starting with '#' and followed by
+ SPARK keyword "hide" as a HIDE directive.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * types.ads, erroutc.ads: Minor reformatting.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * link.c: Add response file support for cross platforms.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): when copying the expression
+ in an association, set parent field of copy before partial analysis.
+ * sem_res.adb (Resolve_Slice): create reference to itype only when
+ expansion is enabled.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * einfo.adb, einfo.ads (Body_Is_In_ALFA, Set_Body_Is_In_ALFA): get/set
+ for new flag denoting which subprogram bodies are in ALFA
+ * restrict.adb, sem_ch7.adb: Update comment
+ * sem_ch11.adb, sem_ch2.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
+ sem_ch9.adb, sem_res.adb: Add calls to
+ Current_Subprogram_Body_Is_Not_In_ALFA on unsupported constructs.
+ * sem_ch6.adb (Analyze_Function_Return): add calls to
+ Current_Subprogram_Body_Is_Not_In_ALFA on return statement in the
+ middle of the body, and extended return.
+ (Check_Missing_Return): add calls to Set_Body_Is_In_ALFA with argument
+ False when missing return.
+ (Analyze_Subprogram_Body_Helper): initialize the flag Body_Is_In_ALFA
+ to True for subprograms whose spec is in ALFA. Remove later on the flag
+ on the entity used for a subprogram body when there exists a separate
+ declaration.
+ * sem_util.adb, sem_util.ads (Current_Subprogram_Body_Is_Not_In_ALFA):
+ if Current_Subprogram is not Empty, set its flag Body_Is_In_ALFA to
+ False, otherwise do nothing.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb, stand.ads, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch4.ads: minor formatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb, err_vars.ads, sem_ch3.adb, sem_ch5.adb, sem_ch9.adb,
+ debug.adb, sem_util.adb, sem_res.adb, sem_attr.adb, gnat1drv.adb,
+ errout.adb, errout.ads, exp_ch6.adb, sem_ch4.adb, restrict.adb,
+ restrict.ads, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb,
+ opt.ads: cleanup of SPARK mode
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * cstand.adb (Create_Standard): sets Is_In_ALFA component of standard
+ types.
+ * einfo.adb, einfo.ads (Is_In_ALFA): add flag for all entities
+ (Is_In_ALFA, Set_Is_In_ALFA): new subprograms to access flag Is_In_ALFA
+ * sem_ch3.adb
+ (Analyze_Object_Declaration): set Is_In_ALFA flag for objects
+ (Constrain_Enumeration): set Is_In_ALFA flag for enumeration subtypes
+ (Constrain_Integer): set Is_In_ALFA flag for integer subtypes
+ (Enumeration_Type_Declaration): set Is_In_ALFA flag for enumeration
+ types.
+ (Set_Scalar_Range_For_Subtype): unset Is_In_ALFA flag for subtypes with
+ non-static range.
+ * sem_ch6.adb (Analyze_Return_Type): unset Is_In_ALFA flag for
+ functions whose return type is not in ALFA.
+ (Analyze_Subprogram_Specification): set Is_In_ALFA flag for subprogram
+ specifications.
+ (Process_Formals): unset Is_In_ALFA flag for subprograms if a
+ parameter's type is not in ALFA.
+ * stand.ads (Standard_Type_Is_In_ALFA): array defines which standard
+ types are in ALFA.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6 (Analyze_Expression_Function): treat the function as
+ Inline_Always, and introduce a subprogram declaration for it when it is
+ not a completion.
+ * inline.adb (Add_Inlined_Body): recognize bodies that come from
+ expression functions, so that the back-end can determine whether they
+ can in fact be inlined.
+ * sem_util.adb (Is_Expression_Function): predicate to determine whether
+ a function body comes from an expression function.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): Revise the check for nonconforming
+ null exclusions to test Can_Never_Be_Null on the anonymous access types
+ of the formals rather than testing the formals themselves. Exclude this
+ check in cases where the Old_Formal is marked as a controlling formal,
+ to avoid issuing spurious errors for bodies completing dispatching
+ operations (due to the flag not getting set on controlling access
+ formals in body specs).
+ (Find_Corresponding_Spec): When checking full and subtype conformance of
+ subprogram bodies in instances, pass Designated and E in that order, for
+ consistency with the expected order of the formals (New_Id followed by
+ Old_Id).
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): new procedure
+ Check_Class_Wide_Actual, to implement AI05-0071, on defaulted
+ primitive operations of class-wide actuals.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_atag.ads, exp_atag.adb
+ (Build_Common_Dispatching_Select_Statements): Remove argument Loc
+ since its value is implicitly passed in argument Typ.
+ * exp_disp.adb (Make_Disp_Conditional_Select_Body,
+ Make_Disp_Timed_Select_Body): Remove Loc in calls to routine
+ Build_Common_Dispatching_Select_Statements.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, exp_atag.ads, get_scos.adb, get_scos.ads,
+ exp_disp.adb, lib-xref.adb, lib-xref.ads: Update comments.
+ Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_atag.adb, exp_atags.ads
+ (Build_Common_Dispatching_Select_Statement): Replace argument DT_Ptr
+ by the tagged type Entity. Required to use this routine in the VM
+ targets since we do not have available the Tag entity in the VM
+ platforms.
+ * exp_ch6.adb
+ (Expand_N_Subprogram_Body): Do not invoke Build_VM_TSDs if package
+ Ada.Tags has not been previously loaded.
+ * exp_ch7.adb
+ (Expand_N_Package_Declaration, Expand_N_Package_Body): Do not invoke
+ Build_VM_TSDs if package Ada.Tags has not been previously loaded.
+ * sem_aux.adb
+ (Enclosing_Dynamic_Scope): Add missing support to handle the full
+ view of enclosing scopes. Required to handle enclosing scopes that
+ are synchronized types whose full view is a task type.
+ * exp_disp.adb
+ (Build_VM_TSDs): Minor code improvement to avoid generating and
+ analyzing lists with empty nodes.
+ (Make_Disp_Asynchronous_Select_Body): Add support for VM targets.
+ (Make_Disp_Conditional_Select_Body): Add support for VM targets.
+ (Make_Disp_Get_Prim_Op_Kind): Add support for VM targets.
+ (Make_Disp_Timed_Select_Body): Add support for VM targets.
+ (Make_Select_Specific_Data_Table): Add support for VM targets.
+ (Make_VM_TSD): Generate code to initialize the SSD structure of
+ the TSD.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * lib-writ.adb (Write_ALI): when ALFA mode is set, write local
+ cross-references section in ALI.
+ * lib-xref.adb, lib-xref.ads (Xref_Entry): add components Sub
+ (enclosing subprogram), Slc (location of Sub) and Sun (unit number of
+ Sub).
+ (Enclosing_Subprogram_Or_Package): new function to return the enclosing
+ subprogram or package entity of a node
+ (Is_Local_Reference_Type): new function returns True for references
+ selected in local cross-references.
+ (Lt): function extracted from Lt in Output_References
+ (Write_Entity_Name): function extracted from Output_References
+ (Generate_Definition): generate reference with type 'D' for definition
+ of objects (object declaration and parameter specification), with
+ appropriate locations and units, for use in local cross-references.
+ (Generate_Reference): update fields Sub, Slc and Sun. Keep newly created
+ references of type 'I' for initialization in object definition.
+ (Output_References): move part of function Lt and procedure
+ Write_Entity_Name outside of the body. Ignore references of types 'D'
+ and 'I' introduced for local cross-references.
+ (Output_Local_References): new procedure to output the local
+ cross-references sections.
+ (Lref_Entity_Status): new array defining whether an entity is a local
+ * sem_ch3.adb (Analyze_Object_Declaration): call Generate_Reference
+ with 'I' type when initialization expression is present.
+ * get_scos.adb, get_scos.ads: Correct comments and typos
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Enable generation of TSDs in
+ the JVM target.
+ * exp_ch7.adb (Expand_N_Package_Body): Enable generation of TSDs in
+ the JVM target.
+ * exp_disp.adb (Build_VM_TSDs): No action needed if the runtime has no
+ TSD support.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (File_Found): New components Excl_File and Excl_Line
+ (No_Space_Img): New function
+ (Find_Excluded_Sources): When reading from a file, record the file name
+ and the line number for each excluded source.
+ (Mark_Excluded_Sources): When reporting an error, if the excluded
+ sources were read from a file, include file name and line number in
+ the error message.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): implement rule in RM 12.5.1 (23.3/2).
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch7.adb exp_ch6.adb, exp_disp.adb: Minor reformatting
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Temporarily restrict the
+ generation of TSDs to the DOTNET compiler.
+ * exp_ch7.adb (Expand_N_Package_Body): Temporarily restrict the
+ generation of TSDs to the DOTNET compiler.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads (Build_VM_TSDs): Build the runtime Type Specific Data
+ record of all the tagged types declared inside library level package
+ declarations, library level package bodies or library level subprograms.
+ * exp_disp.adb (Make_VM_TSD): New subprogram that builds the TSD
+ associated with a given tagged type.
+ (Build_VM_TSDs): New subprogram.
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Generate TSDs records of main
+ compilation units that are subprograms.
+ * exp_ch7.adb (Expand_N_Package_Body): Generate TSDs of main
+ compilation units that are package bodies.
+ (Expand_N_Package_Declaration): Generate TSDs of the main compilation
+ units that are a package declaration or a package instantiation.
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Minor code
+ reorganization to improve the error generated by the frontend when the
+ function Ada.Tags.Secondary_Tag is not available.
+ * rtsfind.ads (RE_Register_TSD): New runtime entity.
+ * exp_ch4.adb (Expand_N_Type_Conversion): Minor code cleanup.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Generate call to Check_TSD in Ada 2005 mode.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * s-imenne.ads: Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-stunau.ads: Add pragma Suppress_Initialization for Big_String
+ * freeze.adb (Warn_Overlay): Don't warn if initialization suppressed
+ * s-stalib.ads: Add pragma Suppress_Initialization for Big_String
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads (Materialize_Entity): Document this is only for renamings
+ * exp_ch3.adb (Expand_N_Object_Declaration): Make sure we generate
+ required debug information in the case where we transform the object
+ declaration into a renaming declaration.
+ * exp_ch4.adb (Expand_Concatenate): Generate debug info for result
+ object
+ * exp_dbug.ads (Debug_Renaming_Declaration): Document setting of
+ Materialize_Entity.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Suppress_Initialization): Replaces
+ Suppress_Init_Procs.
+ * exp_ch3.adb, exp_disp.adb, freeze.adb: Use
+ Suppress_Initialization/Initialization_Suppressed.
+ * gnat_rm.texi: New documentation for pragma Suppress_Initialization
+ * sem_aux.ads, sem_aux.adb (Initialization_Suppressed): New function
+ * sem_dist.adb: Use Suppress_Initialization/Initialization_Suppressed
+ * sem_prag.adb: New processing for pragma Suppress_Initialization.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, a-tags.ads, sem_prag.adb, sem_ch12.adb, exp_disp.adb:
+ Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Chain_PPC): Implement AI04-0230: null procedures can
+ only have inheritable classwide pre/postconditions.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Check_TSD): New subprogram.
+ * rtsfind.ads (RE_Check_TSD): New runtime entity.
+ * exp_disp.adb (Make_DT): Generate call to the new runtime routine that
+ checks if the external tag of a type is the same as the external tag
+ of some other declaration.
+
+2011-08-02 Thomas Quinot <quinot@adacore.com>
+
+ * s-taskin.ads: Minor reformatting.
+
+2011-08-02 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Display_Help): swap the order in which it prints the
+ short help and the general usage.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): copy properly
+ the aspect declarations and attach them to the generic copy for
+ subsequent analysis.
+ (Analyze_Subprogram_Instantiation): copy explicitly the aspect
+ declarations of the generic tree to the new subprogram declarations.
+ * sem_attr.adb (Check_Precondition_Postcondition): recognize
+ conditions that apply to a subprogram instance.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Clarify doc on pragma Source_File_Name[_Project].
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derived_Type_Declaration): When checking that a untagged
+ private type with a tagged full view is not derived in the immediate
+ scope of the partial view, (RM 7.3 (7)) use the scope of the base type.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): If the iteration scheme is an
+ Ada2012 iterator, the loop will be rewritten during expansion into a
+ while loop with a cursor and an element declaration. Do not analyze the
+ body in this case, because if the container is for indefinite types the
+ actual subtype of the elements will only be determined when the cursor
+ declaration is analyzed.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ignore
+ size/alignment related attributes in CodePeer_Mode.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Check_Ops_From_Incomplete_Type): Remove call to
+ Prepend_Element, since this can result in the operation getting the
+ wrong slot in the full type's dispatch table if the full type has
+ inherited operations. The incomplete type's operation will get added
+ to the proper position in the full type's primitives
+ list later in Sem_Disp.Check_Operation_From_Incomplete_Type.
+ (Process_Incomplete_Dependents): Add Is_Primitive test when checking for
+ dispatching operations, since there are cases where nonprimitive
+ subprograms can get added to the list of incomplete dependents (such
+ as subprograms in nested packages).
+ * sem_ch6.adb (Process_Formals): First, remove test for being in a
+ private part when determining whether to add a primitive with a
+ parameter of a tagged incomplete type to the Private_Dependents list.
+ Such primitives can also occur in the visible part, and should not have
+ been excluded from being private dependents.
+ * sem_ch7.adb (Uninstall_Declarations): When checking the rule of
+ RM05-3.10.1(9.3/2), test that a subprogram in the Private_Dependents
+ list of a Taft-amendment incomplete type is a primitive before issuing
+ an error that the full type must appear in the same unit. There are
+ cases where nonprimitives can be in the list (such as subprograms in
+ nested packages).
+ * sem_disp.adb (Derives_From): Use correct condition for checking that
+ a formal's type is derived from the type of the corresponding formal in
+ the parent subprogram (the condition was completely wrong). Add
+ checking that was missing for controlling result types being derived
+ from the result type of the parent operation.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * errout.adb (First_Node): minor renaming
+ * restrict.adb (Check_Formal_Restriction): put restriction warning on
+ first node.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Resolve_Logical_Op): ensure N is a binary operator
+ before accessing operands.
+ * sem_util.adb (Is_SPARK_Initialization_Expr): follow original nodes to
+ decide whether an initialization expression respects SPARK rules, as
+ the plain node is the expanded one. This allows for more valid warnings
+ to be issued.
+ * gnat_rm.texi: Minor update.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Revert
+ previous change.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch4.adb: Minor reformatting.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Reformatting. Wrap the original
+ loop statements and the element renaming declaration with a block when
+ the element type is controlled.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads: Minor formatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Add_Association): if the association has a box and no
+ expression, use the Sloc of the aggregate itself for the new
+ association.
+ * errout.adb (First_Node): Exclude nodes with no Sloc, and always use
+ the Original_Node.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and refactoring.
+ When a container is provided via a function call, generate a renaming
+ of the function result. This avoids the creation of a transient scope
+ and the premature finalization of the container.
+ * exp_ch7.adb (Is_Container_Cursor): Removed.
+ (Wrap_Transient_Declaration): Remove the supression of the finalization
+ of the list controller when the declaration denotes a container cursor,
+ it is not needed.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * restrict.adb (Check_Formal_Restriction): only issue a warning if the
+ node is from source, instead of the original node being from source.
+ * sem_aggr.adb
+ (Resolve_Array_Aggregate): refine the check for a static expression, to
+ recognize also static ranges
+ * sem_ch3.adb, sem_ch3.ads (Analyze_Component_Declaration,
+ Array_Type_Declaration): postpone the test for the type being a subtype
+ mark after the type has been resolved, so that component-selection and
+ expanded-name are discriminated.
+ (Make_Index, Process_Range_Expr_In_Decl): add a parameter In_Iter_Schm
+ to distinguish the case of an iteration scheme, so that an error is
+ issed on a non-static range in SPARK except in an iteration scheme.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): call Make_Index with
+ In_Iter_Schm = True.
+ * sem_ch6.adb (Analyze_Subprogram_Specification): refine the check for
+ user-defined operators so that they are allowed in renaming
+ * sem_ch8.adb
+ (Find_Selected_Component): refine the check for prefixing of operators
+ so that they are allowed in renaming. Move the checks for restrictions
+ on selector name after analysis discriminated between
+ component-selection and expanded-name.
+ * sem_res.adb (Resolve_Op_Concat_Arg): do not issue a warning on
+ concatenation argument of string type if it is static.
+ * sem_util.adb, sem_util.ads
+ (Check_Later_Vs_Basic_Declarations): add a new function
+ Is_Later_Declarative_Item to decice which declarations are allowed as
+ later items, in the two different modes Ada 83 and SPARK. In the SPARK
+ mode, add that renamings are considered as later items.
+ (Enclosing_Package): new function to return the enclosing package
+ (Enter_Name): correct the rule for homonyms in SPARK
+ (Is_SPARK_Initialization_Expr): default to returning True on nodes not
+ from source (result of expansion) to avoid issuing wrong warnings.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * errout.adb: On anything but an expression First_Node returns its
+ argument.
+
+2011-08-02 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb, make.adb, makeutl.adb: Minor reformatting.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): Code cleanup and reorganization.
+ Set the associated loop as the related expression of internally
+ generated cursors.
+ * exp_ch7.adb (Is_Container_Cursor): New routine.
+ (Wrap_Transient_Declaration): Supress the finalization of the list
+ controller when the declaration denotes a container cursor.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * opt.ads (SPARK_Mode): update comment, SPARK_Mode only set through
+ command line now.
+ * par-ch3.adb (P_Delta_Constraint): remove check in SPARK mode that the
+ expression is a simple expression. This check cannot be performed in
+ the semantics, so just drop it.
+ (P_Index_Or_Discriminant_Constraint): move check that the index or
+ discriminant is a subtype mark to Analyze_Subtype_Declaration in the
+ semantics. Other cases were previously checked in the semantics.
+ * par-ch4.adb (P_Name): move checks that a selector name is not
+ character literal or an operator symbol to Find_Selected_Component in
+ the semantics
+ * par-ch5.adb (Parse_Decls_Begin_End): move check that basic
+ declarations are not placed after later declarations in a separate
+ procedure in Sem_Util (possibly not the best choice?), to be used both
+ during parsing, for Ada 83 mode, and during semantic analysis, for
+ SPARK mode.
+ * par-endh.adb (Check_End): move check that end label is not missing
+ to Process_End_Label in the semantics
+ * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): remove
+ the special case for SPARK restriction
+ * par.adb: use and with Sem_Util, for use in Parse_Decls_Begin_End
+ * restrict.adb, restrict.ads (Check_Formal_Restriction): add a
+ parameter Force to issue the error message even on internal node (used
+ for generated end label). Call Check_Restriction to check when an error
+ must be issued. In SPARK mode, issue an error message even if the
+ restriction is not set.
+ (Check_Restriction): new procedure with an additional out parameter to
+ inform the caller that a message has been issued
+ * sem_aggr.adb: Minor modification of message
+ * sem_attr.adb (Analyze_Attribute): call Check_Formal_Restriction
+ instead of issuing an error message directly
+ * sem_ch3.adb (Analyze_Declarations): move here the check that basic
+ declarations are not placed after later declarations, by calling
+ Check_Later_Vs_Basic_Declarations
+ (Analyze_Subtype_Declaration): move here the check that an index or
+ discriminant constraint must be a subtype mark. Change the check that
+ a subtype of String must start at one so that it works on subtype marks.
+ * sem_ch4.adb (Analyze_Call): move here the check that a named
+ association cannot follow a positional one in a call
+ * sem_ch5.adb (Check_Unreachable_Code): call Check_Formal_Restriction
+ instead of issuing an error message directly
+ * sem_ch8.adb (Find_Selected_Component): move here the check that a
+ selector name is not a character literal or an operator symbol. Move
+ here the check that the prefix of an expanded name cannot be a
+ subprogram or a loop statement.
+ * sem_util.adb, sem_util.ads (Check_Later_Vs_Basic_Declarations): new
+ procedure called from parsing and semantics to check that basic
+ declarations are not placed after later declarations
+ (Process_End_Label): move here the check that end label is not missing
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Ignore enum
+ representation clause in codepeer mode, since it confuses CodePeer and
+ does not bring useful info.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * init.c: initialize fp hw on MILS.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * errout.adb (First_Node): for bodies, return the node itself (small
+ optimization). For other nodes, do not check source_unit if the node
+ comes from Standard.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb: Minor comment additions.
+ * sem_ch13.adb: Minor reformatting.
+
+2011-08-02 Pascal Obry <obry@adacore.com>
+
+ * make.adb, makeutl.adb: Removes some superfluous directory separator.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Has_Default_Aspect): Replaces Has_Default_Value
+ (Has_Default_Component_Value): Removed
+ * einfo.ads Comment updates
+ (Has_Default_Aspect): Replaces Has_Default_Value
+ (Has_Default_Component_Value): Removed
+ * exp_ch13.adb
+ (Expand_N_Freeze_Entity): Handle Default[_Component]_Value aspects
+ * exp_ch3.adb
+ (Build_Array_Init_Proc): Handle Default_[Component_]Value aspects
+ (Get_Simple_Init_Val): Handle Default_Value aspect
+ (Needs_Simple_Initialization): Handle Default_Value aspect
+ * exp_ch3.ads: Needs_Simple_Initialization
+ * freeze.adb (Freeze_Entity): Handle Default_[Component_]Value aspect
+ * par-prag.adb (Pragma_Default[_Component]Value) Removed
+ * sem_ch13.adb
+ (Analyze_Aspect_Specifications): Fix Default[_Component]_Value aspects
+ * sem_prag.adb (Pragma_Default[_Component]Value) Removed
+ * snames.ads-tmpl (Pragma_Default[_Component]Value) Removed
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Specification): use base type to locate
+ package containing iteration primitives.
+ exp_ch5.adb (Expand_Iterator_Loop): ditto.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): For an Ada2012 iterator with
+ "of", pre-analyze expression in case it is a function call with
+ finalization actions that must be placed ahead of the loop.
+ * exp_ch5.adb (Expand_Iterator_Loop): If condition_actions are present
+ on an Ada2012 iterator, insert them ahead of the rewritten loop.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Create_Float_Types): Only consider C's long double for
+ Long_Long_Float, in addition to double.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch5.adb, sem_type.adb, switch-c.adb, switch-c.ads,
+ sem_prag.adb, sem_util.adb, sem_util.ads, sem_res.adb, warnsw.ads,
+ prepcomp.ads, cstand.adb, stand.ads, a-calfor.adb, s-stusta.adb:
+ Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: handle properly 'Result when it is a prefix of an
+ indexed component.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb
+ (Original_Access_Type): Move this attribute to Node26 since there was
+ an undocumented use of Node21 in E_Access_Subprogram_Type entities
+ which causes conflicts and breaks the generation of the .NET compiler.
+ (Interface_Name): Add missing documentation on JGNAT only uses of
+ this attribute.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Back_End_Float_Types): Use Elist instead of Nlist
+ (Find_Back_End_Float_Type): Likewise
+ (Create_Back_End_Float_Types): Likewise
+ (Create_Float_Types): Likewise
+ (Register_Float_Type): Likewise
+ * sem_ch3.adb (Floating_Point_Type_Declaration): Use Elist instead of
+ Nlist and split out type selection in new local Find_Base_Type function.
+ * sem_prag.adb (Process_Import_Predefined_Type): Use Elist instead of
+ Nlist
+ * stand.ads (Predefined_Float_Types): Use Elist instead of Nlist
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * inline.adb: Minor code reorganization (put Get_Code_Unit_Entity in
+ alpha order).
+ * opt.ads: Minor comment change.
+ * sem_ch12.adb: Minor code reorganization.
+
+2011-08-02 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): Don't append the private
+ subtype's list of rep items to the list on the full subtype in the case
+ where the lists are the same.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * switch-c.adb (Free): New deallocation procedure to avoid implicitly
+ using the one from System.Strings, which also deallocates all strings.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/gigi.h, gcc-interface/misc.c (enumerate_modes): New
+ function.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-02 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Set the function
+ end_locus.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Check_Anonymous_Access_Components): Create extra formals
+ associated with anonymous access to subprograms.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * opt.ads
+ (Preprocessing_Symbol_Defs): Move from Prepcomp.Symbol_Definitions.
+ (Preprocessing_Symbol_Last): Move from Prepcomp.Last_Definition.
+ * prepcomp.adb (Symbol_Definitions, Last_Definition): Move to opt.ads
+ (Add_Symbol_Definition): Move to switch-c.adb
+ (Process_Command_Line_Symbol_Definitions): Adjust references to above.
+ * prepcomp.ads: Remove dependency on Ada.Unchecked_Deallocation.
+ (Add_Symbol_Definition): Move to switch-c.adb.
+ * sem_ch13.adb, sem_prag.adb: Add dependency on Warnsw.
+ * sem_warn.adb
+ (Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
+ Move to warnsw.adb.
+ * sem_warn.ads (Warn_On_Record_Holes, Warn_On_Overridden_Size,
+ Set_Dot_Warning_Switch, Set_GNAT_Mode_Warnings, Set_Warning_Switch):
+ Move to warnsw.adb.
+ * switch-c.adb: Replace dependency on Prepcomp and Sem_Warn by Warnsw.
+ (Add_Symbol_Definition): Moved from Prepcomp.
+ * switch-c.ads: Update copyright notice. Use String_List instead of
+ Argument_List, removing dependency on System.OS_Lib.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): issue an error in formal
+ mode on initialization expression which does not respect SPARK
+ restrictions.
+ * sem_util.adb, sem_util.ads (Is_SPARK_Initialization_Expr): determines
+ if the tree referenced by its argument represents an initialization
+ expression in SPARK, suitable for initializing an object in an object
+ declaration.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Link the
+ internally generated access to subprogram with its associated protected
+ subprogram type.
+ * einfo.ads, einfo.adb (Original_Access_Type): New attribute.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Register_Float_Type): Print information about type to
+ register, if the Debug_Flag_Dot_B is set.
+ * debug.adb (Debug_Flag_Dot_B): Document d.b debug option.
+ * rtsfind.ads (RE_Max_Base_Digits): New run time entity.
+ * sem_ch3.adb (Floating_Point_Type_Declaration): Allow declarations
+ with a requested precision of more than Max_Digits digits and no more
+ than Max_Base_Digits digits, if a range specification is present and the
+ Predefined_Float_Types list has a suitable type to derive from.
+ * sem_ch3.adb (Rep_Item_Too_Early): Avoid generating error in the
+ case of type completion with pragma Import
+ * sem_prag.adb
+ (Process_Import_Predefined_Type): Processing to complete a type
+ with pragma Import. Currently supports floating point types only.
+ (Set_Convention_From_Pragma): Do nothing without underlying type.
+ (Process_Convention): Guard against absence of underlying type,
+ which may happen when importing incomplete types.
+ (Process_Import_Or_Interface): Handle case of importing predefined
+ types. Tweak error message.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Add_Inlined_Body): Adjust check for library-level inlined
+ functions to previous change. Reorganize code slightly.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * back_end.ads (Register_Type_Proc): New call back procedure type for
+ allowing the back end to provide information about available types.
+ (Register_Back_End_Types): New procedure to register back end types.
+ * back_end.adb (Register_Back_End_Types): Call the back end to enumerate
+ available types.
+ * cstand.adb (Back_End_Float_Types): New list for floating point types
+ supported by the back end.
+ (Build_Float_Type): Add extra parameter for Float_Rep_Kind.
+ (Copy_Float_Type): New procedure to make new copies of predefined types.
+ (Register_Float_Type): New call back procedure to populate the BEFT list
+ (Find_Back_End_Float_Type): New procedure to find a BEFT by name
+ (Create_Back_End_Float_Types): New procedure to populate the BEFT list.
+ (Create_Float_Types): New procedure to create entities for floating
+ point types predefined in Standard, and put these and any remaining
+ BEFTs on the Predefined_Float_Types list.
+ * stand.ads (Predefined_Float_Types): New list for predefined floating
+ point types that do not have declarations in package Standard.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Get_Code_Unit_Entity): New local function. Returns the
+ entity node for the unit containing the parameter.
+ (Add_Inlined_Body): Use it to find the unit containing the subprogram.
+ (Add_Inlined_Subprogram): Likewise.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-02 Thomas Quinot <quinot@adacore.com>
+
+ * s-stusta.adb (Print): Make sure Pos is always initialized to a
+ suitable value.
+
+2011-08-02 Geert Bosch <bosch@adacore.com>
+
+ * a-calfor.adb (Image): Simplify, removing unnecessary uses of 'Image.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_type.adb (Covers): Move trivial case to the top and reuse the
+ computed value of Base_Type.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * restrict.adb (Check_Restriction): issue an error for any use of
+ class-wide, even if the No_Dispatch restriction is not set.
+ * sem_aggr.adb: Correct typos in comments and messages in formal mode
+ * sem_ch3.adb (Process_Full_View): issue an error in formal mode is,
+ when completing a private extension, the type named in the private part
+ is not the same as that named in the visible part.
+ * sem_res.adb (Resolve_Call): issue an error in formal mode on the use
+ of an inherited primitive operations of a tagged type or type extension
+ that returns the tagged type.
+ * sem_util.adb, sem_util.ads (Is_Inherited_Operation_For_Type): new
+ function which returns True for an implicit operation inherited by the
+ derived type declaration for the argument type.
+ (Is_SPARK_Object_Reference): move to appropriate place in alphabetic
+ order.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Pre_Analyze_Range): new procedure extracted from
+ Process_Bounds, to perform analysis with expansion of a range or an
+ expression that is the iteration scheme for a loop.
+ (Analyze_Iterator_Specification): If domain of iteration is given by a
+ function call with a controlled result, as is the case if call returns
+ a predefined container, ensure that finalization actions are properly
+ generated.
+ * par-ch3.adb: accept Ada2012 iterator form in P_Discrete_Range.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Fix typo.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Is_Variable): Add a new formal to
+ determine if the analysis is performed using N or Original_Node (N).
+ * exp_util.adb (Side_Effect_Free): Code cleanup since the new
+ functionality of routine Is_Variable avoids code duplication.
+ * checks.adb (Determine_Range): Handle temporaries generated by
+ Remove_Side_Effects.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Force reanalysis and
+ expansion of the condition. Required since the previous analysis was
+ done with expansion disabled (see Resolve_Quantified_Expression) and
+ hence checks were not inserted and record comparisons have not been
+ expanded.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * s-taprop-vxworks.adb, s-intman-vxworks.adb, s-intman-vxworks.ads:
+ Update header.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * opt.ads: Minor comment fix.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation,
+ Analyze_Subprogram_Instantiation): Turn off style checking while
+ analyzing an instance. Whatever style checks that apply to the generic
+ unit should apply, so it makes no sense to apply them in an instance.
+ This was causing trouble when compiling an instance of a runtime
+ unit that violates the -gnatyO switch.
+ * stylesw.adb (Set_Style_Check_Options): "when 'O' =>" was missing from
+ one of the two case statements, causing spurious errors.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * uname.adb: Minor reformatting.
+ * gnatcmd.adb: Minor reformatting.
+ * exp_attr.adb: Minor reformatting.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): under restriction
+ No_Dispatching_Calls, do not look for the Assign primitive, because
+ predefined primitives are not created in this case.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * stylesw.ads: Minor comment fixes.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Add_To_Result): New procedure.
+
+2011-08-02 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_attr.adb (Find_Stream_Subprogram): When using a configurable run
+ time, if the specific run-time routines for handling streams of strings
+ are not available, use the default mechanism.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * s-regpat.ads: Fix typo.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Get_Or_Create_Configuration_File): If On_Load_Config is
+ not null, call it to create the in memory config project file without
+ parsing an existing default config project file.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * atree.adb (Allocate_Initialize_Node): Remove useless temporaries.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb: an abstract subprogram does not need an eliminate
+ pragma for its descendant to be eliminable.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * init.c: revert to handling before previous checkin for VxWorks
+ * s-intman-vxworks.adb: delete unnecessary declarations related to
+ using Ada interrupt facilities for handling signals.
+ Delete Initialize_Interrupts. Use __gnat_install_handler instead.
+ * s-intman-vxworks.ads: Import __gnat_install_handler as
+ Initialize_Interrupts.
+ * s-taprop-vxworks.adb: Delete Signal_Mask.
+ (Abort_Handler): change construction of mask to unblock exception
+ signals.
+
+2011-08-02 Jerome Guitton <guitton@adacore.com>
+
+ * a-except-2005.adb (Raise_From_Signal_Handler): Call
+ Debug_Raise_Exception before propagation starts.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Guard restriction checks with a call
+ to Restriction_Check_Required.
+ * sem_ch3.adb (Analyze_Object_Declaration): Likewise.
+ * sem_res.adb (Resolve_Call): Likewise.
+ * sem_attr.adb (Check_Stream_Attribute): Likewise.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * stylesw.ads: Update comment.
+ * style.adb: Minor: Use Error_Msg_NE instead of Error_Msg_N.
+ * errout.ads: Remove obsolete comment.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Safe_To_Reevaluate): new function.
+ (Set_Is_Safe_To_Reevaluate): new procedure.
+ * sem_ch5.adb (Analyze_Assignment): Add one assertion to ensure that no
+ assignment is allowed on safe-to-reevaluate variables.
+ (Analyze_Iteration_Schine.Process_Bounds.One_Bound): Decorate the
+ temporary created to remove side effects in expressions that use
+ the secondary stack as safe-to-reevaluate.
+ * exp_util.adb (Side_Effect_Free): Add missing code to handle well
+ variables that are not true constants.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb, sem_ch7.adb, einfo.ads, sem_util.adb, sem_util.ads,
+ sem_res.adb, sem_ch6.adb: Minor reformatting.
+
+2011-08-02 Jerome Guitton <guitton@adacore.com>
+
+ * a-except-2005.adb (Raise_Current_Excep): Remove obsolete dead code.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity, Check_Overriding_Indicator): Do
+ not set Overridden_Operation if subprogram is an initialization
+ procedure.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-ch6.adb: Correct obsolete name in comments
+ * restrict.adb, restrict.ads (Check_Formal_Restriction): new function
+ which takes two message arguments (existing function takes one), with
+ second message used for continuation.
+ * sem_ch5.adb (Analyze_Block_Statement): in formal mode, only reject
+ block statements that originate from a source block statement, not
+ generated block statements
+ * sem_ch6.adb (Analyze_Function_Call): rename L into Actuals, for
+ symmetry with procedure case
+ * sem_ch7.adb (Check_One_Tagged_Type_Or_Extension_At_Most): new
+ function to issue an error in formal mode if a package specification
+ contains more than one tagged type or type extension.
+ * sem_res.adb (Resolve_Actuals): in formal mode, check that actual
+ parameters matching formals of tagged types are objects (or ancestor
+ type conversions of objects), not general expressions. Issue an error
+ on view conversions that are not involving ancestor conversion of an
+ extended type.
+ (Resolve_Type_Conversion): in formal mode, issue an error on the
+ operand of an ancestor type conversion which is not an object
+ * sem_util.adb, sem_util.ads (Find_Actual): extend the behavior of the
+ procedure so that it works also for actuals of function calls
+ (Is_Actual_Tagged_Parameter): new function which determines if its
+ argument is an actual parameter of a formal of tagged type in a
+ subprogram call
+ (Is_SPARK_Object_Reference): new function which determines if the tree
+ referenced by its argument represents an object in SPARK
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+ Minor comment addition
+ Minor error msg text change
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme.Uses_Secondary_Stack): New
+ function. Used to be more precise when we generate a variable plus one
+ assignment to remove side effects in the evaluation of the Bound
+ expressions.
+ (Analyze_Iteration_Scheme): Clean attribute analyzed in all the nodes
+ of the bound expression to force its re-analysis and thus expand the
+ associated transient scope (if required). Code cleanup replacing the
+ previous code that declared the constant entity by an invocation to
+ routine Force_Evaluation which centralizes this work in the frontend.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Is_Base_Type): Improve efficiency by using a flag table
+ (Base_Type): Now uses improved Is_Base_Type function
+ * einfo.ads (Base_Type): Inline this function
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Defend against infinite recursion
+ (Analyze_Aspect_Specifications): Fix Sloc values for constructed pragmas
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * gcc-interface/Makefile.in: Use s-inmapop-vxworks.adb for all VxWorks
+ targets.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * par-ch3.adb (P_Delta_Constraint): issue an error in formal mode on
+ non-simple expression used in delta constraint
+ (P_Index_Or_Discriminant_Constraint): issue an error in formal mode on
+ index constraint which is not a subtype mark
+ * par.adb: With and use Restrict
+ * sem_ch3.adb (Analyze_Component_Declaration): issue an error in formal
+ mode on component type which is not a subtype mark and default
+ expression on component
+ (Analyze_Subtype_Declaration): issue an error in formal mode on subtype
+ of string which does not have a lower index bound equal to 1
+ (Array_Type_Declaration): issue an error in formal mode on index or
+ component type which is not a subtype mark, and on aliased keyword on
+ component
+ (Derived_Type_Declaration): issue an error in formal mode on interface,
+ limited or abstract type
+ (Record_Type_Declaration): issue an error in formal mode on interface
+ (Record_Type_Definition): issue an error in formal mode on tagged types
+ and type extensions not declared in the specification of a library unit
+ package; on null non-tagged record; on variant part
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Do not report Library_Dir
+ not declared for qualified library project when Library_Name is not
+ declared, but Library_Dir is.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specification): Fix slocs on generated
+ pragmas (affects aspects [Component_]Default_Value
+ (Check_Aspect_At_Freeze_Point): For Component_Default_Value, use
+ component type for the resolution
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.adb (Base_Type): Tune implementation for speed.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2011-08-02 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Update comments.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Type): Inherit the convention from the
+ base type, because the parent may be a subtype of a private type whose
+ convention is established in a private part.
+
+2011-08-02 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Wrap the return
+ statement in a block when the expansion of the return expression has
+ created a finalization chain.
+ * freeze.adb (Freeze_Expression): Alphabetize all choices associated
+ with the parent node.
+ Add N_Extended_Return_Statement to handle the case where a transient
+ object declaration appears in the Return_Object_Declarations list of
+ an extended return statement.
+
+2011-08-02 Matthew Gingell <gingell@adacore.com>
+
+ * adaint.c (__gnat_is_symbolic_link_attr): Supress warning on possibly
+ unused parameter 'name'.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb (Set_Eliminated): If the overridden operation is an
+ inherited operation, check whether its alias, which is the source
+ operastion that it renames, has been marked eliminated.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Safe_Prefixed_Reference): Do not consider safe an
+ in-mode parameter whose type is an access type since it can be used to
+ modify its designated object. Enforce code that handles as safe an
+ access type that is not access-to-constant but it is the result of a
+ previous removal of side-effects.
+ (Remove_Side_Effects): Minor code reorganization of cases which require
+ no action. Done to incorporate documentation on new cases uncovered
+ working in this ticket: no action needed if this routine was invoked
+ too early and the nodes are not yet decorated.
+ * sem_res.adb (Resolve_Slice): Minor code cleanup replacling two calls
+ to routine Remove_Side_Effects by calls to Force_Evaluation since they
+ were issued with actuals that are implicitly provided by
+ Force_Evaluation.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_res.adb: Minor reformatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_attr.adb (Check_Formal_Restriction_On_Attribute): new procedure
+ to issue an error in formal mode on attribute not supported in this mode
+ (Analyze_Attribute): issue errors on standard attributes not supported
+ in formal mode.
+ * sem_ch3.adb (Modular_Type_Declaration): remove obsolete part of
+ comment, and issue error in formal mode on modulus which is not a power
+ of 2.
+ (Process_Range_Expr_In_Decl): issue error in formal mode on non-static
+ range.
+ * sem_ch8.adb (Find_Type): issue error in formal mode on 'Base in
+ subtype mark.
+ * sem_res.adb (Resolve_Unary_Op): issue error in formal mode on unary
+ operator on modular type (except 'not').
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting.
+
+2011-08-02 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-linux.ads: Minor comment update and reformatting.
+ * i-cexten.ads: Make this unit pure, as for its parent.
+ Will allow its usage in more contexts if needed.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * s-utf_32.ads: Minor comment fix.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): if the subprogram is a primitive
+ operation of a tagged synchronized type, handle the case where the
+ controlling argument is overloaded.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi, opt.ads, sem_prag.adb, snames.ads-tmpl:
+ Replace pragma SPARK_95 with pragma Restrictions (SPARK)
+ * par-prag.adb (Process_Restrictions_Or_Restriction_Warnings): set
+ SPARK mode and formal verification mode on processing SPARK restriction
+ * s-rident.ads (Restriction_Id): add SPARK restriction in those not
+ requiring consistency checking.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads: Remove unneeded with of Ada.Containers
+ Remove commented out pragma Inline's
+ Move specifications of new subprograms to the actual specs
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads: Update comments.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: add attribute name when 'Result has the wrong prefix.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads,
+ a-cforse.ads, a-cofove.ads: Minor reformatting.
+
+2011-08-02 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.ads, a-cfhase.ads, a-cforma.ads, a-cfhama.ads, a-cforse.ads,
+ a-cofove.ads: Add comments.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * gnat_rm.texi: Document formal containers.
+
+2011-08-02 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Goto_Section, Getopt): fix handling of "*" when there
+ are empty sections.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * mlib-prj.adb, restrict.ads, sem_aggr.adb, sem_ch12.adb: Minor
+ reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * aspects.adb: New aspects Default_Value and Default_Component_Value
+ New format of Aspect_Names table checks for omitted entries
+ * aspects.ads: Remove mention of Aspect_Cancel and add documentation on
+ handling of boolean aspects for derived types.
+ New aspects Default_Value and Default_Component_Value
+ New format of Aspect_Names table checks for omitted entries
+ * einfo.ads, einfo.adb (Has_Default_Component_Value): New flag
+ (Has_Default_Value): New flag
+ (Has_Default_Component_Value): New flag
+ (Has_Default_Value): New flag
+ * par-ch13.adb (P_Aspect_Specifications): New format of Aspect_Names
+ table.
+ * par-prag.adb: New pragmas Default_Value and Default_Component_Value
+ * sem_ch13.adb (Analyze_Aspect_Specifications): New aspects
+ Default_Value and Default_Component_Value
+ * sem_prag.adb: New pragmas Default_Value and Default_Component_Value
+ New aspects Default_Value and Default_Component_Value
+ * snames.ads-tmpl: New pragmas Default_Value and Default_Component_Value
+ * sprint.adb: Print N_Aspect_Specification node when called from gdb
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): For virtual library project,
+ inherit library kind.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Add guards in calls to Matching_Static_Array_Bounds.
+ Minor reformatting.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.ads: Updates to make Interfaces.C.Strings match RM
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): Fix thinko.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add comment.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Check_Qualified_Aggregate): new procedure which checks
+ qualification of aggregates in formal mode
+ (Is_Top_Level_Aggregate): returns True for an aggregate not contained in
+ another aggregate
+ (Resolve_Aggregate): complete the test that an aggregate is adequately
+ qualified in formal mode
+
+2011-08-02 Pascal Obry <obry@adacore.com>
+
+ * make.adb, bindgen.adb, gnatbind.adb: Minor reformatting.
+ * mlib-prj.adb: Supress warning when compiling binder generated file.
+ (Build_Library): Supress all warnings when compiling the binder
+ generated file.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * errout.adb, errout.ads (Check_Formal_Restriction): move procedure
+ from here...
+ * restrict.adb, restrict.ads (Check_Formal_Restriction): ...to here
+ * sem_aggr.adb, sem_ch5.adb, sem_util.adb:
+ Add with/use clauses to make Check_Formal_Restriction visible
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Actuals): handle properly actual
+ in-parameters when type of the generic formal is private in the generic
+ spec and non-private in the body.
+
+2011-08-02 Claire Dross <dross@adacore.com>
+
+ * a-cfdlli.adb, a-cfdlli.ads, a-cfhase.adb, a-cfhase.ads, a-cfhama.adb,
+ a-cfhama.ads, a-cforse.adb, a-cforse.ads, a-cforma.adb, a-cforma.ads,
+ a-cofove.adb, a-cofove.ads: New files implementing formal containers.
+ * impunit.adb, Makefile.rtl: Take new files into account.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, make.adb, sem_res.adb,
+ sem_attr.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_aggr.adb (Resolve_Aggregate): disable incorrectly placed check in
+ formal mode
+ * sem_util.adb (Matching_Static_Array_Bounds): proper detection of
+ matching static array bounds, taking into account the special case of
+ string literals
+ * sem_ch3.adb: Typo in comment.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * errout.adb, errout.ads (Check_Formal_Restriction): new procedure
+ which issues an error in formal mode if its argument node is originally
+ from source
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): move test that a type
+ has a discriminant specification so that it does not include the case
+ of derived types
+ (Derived_Type_Declaration): move here the test that a derived type has a
+ discriminant specification
+ * sem_aggr.adb (Resolve_Record_Aggregate): test the presence of the
+ first element of a component association before accessing its choices
+ (presence of component association is not enough)
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): test if a subprogram
+ declaration is a library item before accessing the next element in a
+ list, as library items are not member of lists
+ * sem_attr.adb, sem_ch11.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb,
+ sem_ch8.adb, sem_ch9.adb, sem_res.adb, sem_util.adb: use
+ Check_Formal_Restriction whenever possible.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Find_Type_Of_Object): In ASIS mode, create an itype
+ reference when needed.
+
+2011-08-02 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): Use MLib.Tgt.Archive_Ext as the extension of
+ archive file name. Do not use the full path name of archives for Open
+ VMS.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb, sem_ch11.adb: New calling sequence for
+ Analyze_Aspect_Specifications
+ * sem_ch13.adb
+ (Analyze_Aspect_Specifications): New handling for boolean aspects
+ * sem_ch13.ads (Analyze_Aspect_Specifications): New calling sequence
+ * sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch9.adb: New calling
+ sequence for Analyze_Aspect_Specifications
+ * sem_prag.adb (Analyze_Pragma): Remove use of Aspect_Cancel entirely
+ * sinfo.ads, sinfo.adb (Aspect_Cancel): Remove, no longer used
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Remove handling of delayed boolean
+ aspects, since these no longer exist.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * par-ch13.adb (Aspect_Specifications_Present): Always return false on
+ semicolon, do not try to see if there are aspects following it.
+ * par-ch3.adb (P_Declarative_Items): Better message for unexpected
+ aspect spec.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, aspects.ads: Minor reformatting.
+
+2011-08-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch13.ads (Analyze_Aspect_Specification): Add pragma Inline.
+ * sem_ch13.adb (Analyze_Non_Null_Aspect_Specifications): New procedure
+ extracted from...
+ (Analyze_Aspect_Specifications): ...here. Call above procedure.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): issue error in formal
+ mode on subprogram declaration outside of package specification, unless
+ it is followed by a pragma Import
+ * sem_ch3.adb (Access_Definition, Access_Subprogram_Declaration,
+ Access_Type_Declaration): issue error in formal mode on access type
+ (Analyze_Incomplete_Type_Decl): issue error in formal mode on
+ incomplete type
+ (Analyze_Object_Declaration): issue error in formal mode on object
+ declaration which does not respect SPARK restrictions
+ (Analyze_Subtype_Declaration): issue error in formal mode on subtype
+ declaration which does not respect SPARK restrictions
+ (Constrain_Decimal, Constrain_Float, Constrain_Ordinary_Fixed): issue
+ error in formal mode on digits or delta constraint
+ (Decimal_Fixed_Point_Type_Declaration): issue error in formal mode on
+ decimal fixed point type
+ (Derived_Type_Declaration): issue error in formal mode on derived type
+ other than type extensions of tagged record types
+ * sem_ch6.adb (Process_Formals): remove check in formal mode, redundant
+ with check on access definition
+ * sem_ch9.adb (Analyze_Protected_Definition): issue error in formal
+ mode on protected definition.
+ (Analyze_Task_Definition): issue error in formal mode on task definition
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_ch8.adb, s-inmaop-vxworks.adb: Minor reformatting.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Can_Override_Operator): New function.
+ (Verify_Overriding_Indicator): Add missing code to check overriding
+ indicator in operators. Fixes regression.
+ (Check_Overriding_Indicator): Minor reformating after replacing the
+ code that evaluates if the subprogram can override an operator by
+ invocations to the above new function.
+ * einfo.adb
+ (Write_Field26_Name): Add missing code to ensure that, following
+ the documentation in einfo.ads, this field is not shown as attribute
+ "Static_Initialization" on non-dispatching functions.
+
+2011-08-02 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_res.adb (Resolve_Call): A call to
+ Ada.Real_Time.Timing_Events.Set_Handler violates restriction
+ No_Relative_Delay (AI-0211) only when it sets a relative timing event,
+ i.e., when the second parameter is of type Time_Span.
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): use <library dir>/lib<library name>.a to link
+ with an archive instead of -L<library dir> -l<library name>.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Use_Type): If the clause is being re-analyzed,
+ mark the base types In_Use in addition to making the operations
+ use_visible.
+
+2011-08-02 Ed Falis <falis@adacore.com>
+
+ * init.c: add and setup __gnat_signal_mask for the exception signals
+ * s-inmaop-vxworks.adb: new file.
+ * s-intman-vxworks.adb: remove unnecessary initializations and
+ simplify remaining
+ * s-intman-vxworks.ads: remove unnecessary variable
+ * s-taprop-vxworks.adb: simplify signal initialization
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Minor code reorganization, comment updates.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Matching_Static_Array_Bounds): Moved to Sem_Util
+ * sem_util.ads, sem_util.adb (Matching_Static_Array_Bounds): Moved
+ here from Sem_Res.
+ (Matching_Static_Array_Bounds): Use Is_Ok_Static_Expression
+ (Matching_Static_Array_Bounds): Moved here from Sem_Res
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * atree.h, atree.ads, atree.adb: New subprograms to manipulate Elist5.
+ * par_ch8.adb (P_Use_Type): initialize Used_Operations for node.
+ * sinfo.ads, sinfo.adb (Used_Operations): new attribute of
+ use_type_clauses, to handle more efficiently use_type and use_all_type
+ constructs.
+ * sem_ch8.adb: Rewrite Use_One_Type and End_Use_Type to handle the
+ Ada2012 Use_All_Type clause.
+ (Use_Class_Wide_Operations): new procedure.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb, par-ch10.adb, par-ch6.adb, sem.adb, sem_ch6.adb,
+ sem_ch6.ads, sinfo.adb, sinfo.ads, sprint.adb: Change parameterized
+ expression to expression function.
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb: transform simple Ada2012 membership into equality only
+ if types are compatible.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * sem_res.adb (Matching_Static_Array_Bounds): new function which
+ returns True if its argument array types have same dimension and same
+ static bounds at each index.
+ (Resolve_Actuals): issue an error in formal mode on actuals passed as
+ OUT or IN OUT paramaters which are not view conversions in SPARK.
+ (Resolve_Arithmetic_Op): issue an error in formal mode on
+ multiplication or division with operands of fixed point types which are
+ not qualified or explicitly converted.
+ (Resolve_Comparison_Op): issue an error in formal mode on comparisons of
+ Boolean or array type (except String) operands.
+ (Resolve_Equality_Op): issue an error in formal mode on equality
+ operators for array types other than String with non-matching static
+ bounds.
+ (Resolve_Logical_Op): issue an error in formal mode on logical operators
+ for array types with non-matching static bounds. Factorize the code in
+ Matching_Static_Array_Bounds.
+ (Resolve_Qualified_Expression): issue an error in formal mode on
+ qualified expressions for array types with non-matching static bounds.
+ (Resolve_Type_Conversion): issue an error in formal mode on type
+ conversion for array types with non-matching static bounds
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb: Minor code reorganization (use Nkind_In).
+
+2011-08-02 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch9.adb: save location of entry for proper error message.
+
+2011-08-02 Javier Miranda <miranda@adacore.com>
+
+ * sem_type.ads, sem_type.adb (Is_Ancestor): Addition of a new formal
+ (Use_Full_View) which permits this routine to climb through the
+ ancestors using the full-view of private parents.
+ * sem_util.adb (Collect_Interfaces_Info, Implements_Interface): Set
+ Use_Full_View to true in calls to Is_Ancestor.
+ * sem_disp.adb (Override_Dispatching_Operation): Set Use_Full_View to
+ true in call to Is_Ancestor.
+ * exp_ch3.adb (Build_Offset_To_Top_Functions, Initialize_Tag): Set
+ Use_Full_View to true in call to Is_Ancestor.
+ * exp_ch7.adb (Controller_Component): Set Use_Full_View to true in
+ call to Is_Ancestor.
+ * exp_ch4.adb (Expand_N_Type_Conversion, Tagged_Membership): Set
+ Use_Full_View to true in calls to Is_Ancestor.
+ * exp_disp.adb (Expand_Interface_Actuals, Make_Secondary_DT, Make_DT,
+ Make_Select_Specific_Data_Table, Register_Primitive,
+ Set_All_DT_Position): Set Use_Full_View to true in calls to Is_Ancestor.
+ * exp_intr.adb (Expand_Dispatching_Constructor_Call): Set Use_Full_View
+ to true in call to Is_Ancestor.
+ * exp_util.adb (Find_Interface_ADT, Find_Interface_Tag): Set
+ Use_Full_View to true in calls to Is_Ancestor.
+ * exp_cg.adb
+ (Write_Call_Info): Set Use_Full_View to true in call to Is_Ancestor.
+ (Write_Type_Info): Set Use_Full_View to true in call to Is_Ancestor.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor reformatting.
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-02 Tristan Gingold <gingold@adacore.com>
+
+ * vms_data.ads: Add VMS qualifier for -gnateP.
+
+2011-08-02 Robert Dewar <dewar@adacore.com>
+
+ * par-ch13.adb (P_Aspect_Specification): New meaning of Decl = Empty
+ * par-ch7.adb (P_Package): Proper placement of aspects for package
+ decl/instantiation.
+ * par-endh.adb (Check_End): Ad Is_Sloc parameter
+ (End_Statements): Add Is_Sloc parameterr
+ * par.adb (P_Aspect_Specification): New meaning of Decl = Empty
+ (Check_End): Ad Is_Sloc parameter
+ (End_Statements): Add Is_Sloc parameterr
+
+2011-08-02 Vincent Celier <celier@adacore.com>
+
+ * ug_words: Add VMS qualifier equivalent to -gnateP:
+ /SYMBOL_PREPROCESSING.
+
+2011-08-02 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat-style.texi: For hexadecimal numeric literals the typical
+ grouping of digits is 4 to represent 2 bytes.
+ A procedure spec which is split into several lines is indented two
+ characters.
+
+2011-08-02 Yannick Moy <moy@adacore.com>
+
+ * exp_aggr.adb (Is_Others_Aggregate): move function to other unit.
+ * sem_aggr.adb, sem_aggr.ads (Is_Others_Aggregate): move function here
+ (Resolve_Aggregate): issue errors in formal modes when aggregate is not
+ properly qualified
+ (Resolve_Array_Aggregate): issue errors in formal modes on non-static
+ choice in array aggregate
+ (Resolve_Extension_Aggregate): issue errors in formal modes on subtype
+ mark as ancestor
+ (Resolve_Record_Aggregate): issue errors in formal modes on mixed
+ positional and named aggregate for record, or others in record
+ aggregate, or multiple choice in record aggregate
+ * sem_res.adb (Resolve_Logical_Op): issue errors in formal mode when
+ array operands to logical operations AND, OR and XOR do not have the
+ same static lower and higher bounds
+ * sem_ch5.adb, sinfo.ads: Correct typos in comments
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb, sem_ch6.adb (Last_Source_Statement):
+ Replaces Last_Source_Node_In_Sequence.
+ * err_vars.ads (Error_Msg_Lang): 16 is OK, don't need 4K
+ * errout.adb (Set_Error_Msg_Lang): Takes arg with no parens, but stores
+ parens and blank in string (this was inconsistently implemented).
+ * errout.ads
+ (Set_Error_Msg_Lang): Takes arg with no parens, but stores parens and
+ blank in string (this was inconsistently implemented).
+ * gnat1drv.adb
+ (Set_Global_Switches): Set formal mode switches appropriately
+ * opt.ads, opt.adb: Formal mode is now global switches, more consistent
+ * par-prag.adb
+ (Analyze_Pragma, case SPARK_95): Set opt switches appropriately and
+ call Set_Error_Msg_Lang to set "spark" as language name.
+ * par.adb: Remove unnecessary call to set formal language for errout
+ * sem_prag.adb (P_Pragma, case SPARK_95): Set opt switches
+ appropriately and call Set_Error_Msg_Lang to set "spark" as language
+ name.
+ * sem_ch4.adb (Analyze_Concatenation_Operand): remove procedure and
+ calls to it, moved after resolution so that types are known
+ * sem_res.adb (Resolve_Op_Concat): issue an error in formal mode if
+ result of concatenation is not of type String
+ (Resolve_Op_Concat_Arg): issue an error in formal mode if an operand of
+ concatenation is not properly restricted
+ * gnat_rm.texi: Add doc on pragma Spark_95.
+ * gcc-interface/Makefile.in: Remove obsolete target pairs for
+ Interfaces.C.* on VMS. Remove s-parame-vms-restrict.ads.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_disp.adb (Override_Dispatching_Operation): Enforce strictness of
+ condition that detects if the overridden operation must replace an
+ existing entity.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Case_Expression): Propagate to the expanded
+ code declarations inserted by Insert_Actions in each alternative of the
+ N_Case_Expression node.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor code reorganization.
+ * sem_util.adb: Minor reformatting.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * prj-env.adb: Remove <prefix>/lib/gpr/<target> project search path.
+ * gnat_ugn.texi: Add documentation for VERSIONINFO Windows resource.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * par-ch4.adb (P_Name): issue a syntax error in SPARK mode on character
+ literal or operator symbol which is prefixed
+ * sem_attr.adb (Analyze_Access_Attribute): issue an error in formal
+ mode on access attributes.
+ * sem_ch4.adb (Analyze_Concatenation_Operand): new procedure to check
+ that concatenation operands are properly restricted in formal mode
+ (Analyze_Concatenation, Analyze_Concatenation_Rest): call new procedure
+ Analyze_Concatenation_Operand. Issue an error in formal mode if the
+ result of the concatenation has a type different from String.
+ (Analyze_Conditional_Expression, Analyze_Explicit_Dereference,
+ Analyze_Quantified_Expression, Analyze_Slice,
+ Analyze_Null): issue an error in formal mode on unsupported constructs
+ * sem_ch5.adb
+ (Analyze_Block_Statement): only issue error on source block statement
+ * sem_util.ads, sem_util.adb (Last_Source_Node_In_Sequence): new
+ function which returns the last node in a list of nodes for which
+ Comes_From_Source returns True, if any
+ * sem_ch6.adb (Check_Missing_Return): minor refactoring to use
+ Last_Source_Node_In_Sequence
+ * sem_ch8.adb (Analyze_Exception_Renaming, Analyze_Generic_Renaming,
+ Analyze_Object_Renaming, Analyze_Use_Package): issue an error in formal
+ mode on unsupported constructs
+ * sem_ch9.adb Do not return after issuing error in formal mode, as the
+ rest of the actions may be needed later on since the error is marked as
+ not serious.
+ * sinfo.ads: Typos in comments.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * projects.texi: Minor editing.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * err_vars.ads (Error_Msg_Lang, Error_Msg_Langlen): new variables for
+ insertion character ~~
+ * errout.ads, errout.adb (Formal_Error_Msg_...): remove procedures
+ (Set_Error_Msg_Lang): new procedure which fixes the language for use
+ with insertion character ~~
+ (Set_Msg_Text): treat insertion character ~~
+ * par-ch4.adb, par-ch5.adb, par-endh.adb, sem_attr.adb, sem_ch11.adb,
+ sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_util.adb: Replace calls to
+ Formal_Error_Msg_... procedures by equivalent Error_Msg_...
+ procedures. Favor calls to Error_Msg_F(E) over Error_Msg_N(E). Make
+ errors related to the formal language restriction not serious
+ (insertion character |).
+ * par.adb (Par): set formal language for error messages if needed
+ * sem_ch6.adb (Check_Missing_Return): take into account possible
+ generated statements at the end of the function
+ * snames.ads-tmpl (Name_SPARK_95, Pragma_SPARK_95): new variable and
+ enumeration value to define a new pragma SPARK_95
+ * opt.ads, opt.adb (SPARK_Version_Type, SPARK_Version_Default,
+ SPARK_Version): new type and variables to store the SPARK version
+ (none by default).
+ (SPARK_Mode): return True when SPARK_Version is set
+ * par-prag.adb: Correct indentation
+ (Prag): take Pragma_SPARK_95 into account
+ * sem_prag.adb (Set_Mechanism_Value, Sig_Flags): take Pragma_SPARK_95
+ into account.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch3.ads, sem_ch5.adb, prj-part.adb, par-ch4.adb,
+ sem_util.adb, sem_ch4.adb, sem_ch6.adb, sem_ch6.ads, sem_ch8.adb,
+ sem_ch8.ads, sem_ch13.ads, par-ch5.adb, prj-env.ads: Minor reformatting
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * prj-part.ads, prj-part.adb (Parse): Add Target_Name parameter. Pass
+ Target_Name to Get_Path call.
+ (Parse_Single_Project): Likewise.
+ (Post_Parse_Context_Clause): Likewise.
+ * prj-env.ads, prj-env.adb (Find_Project): Add Target_Name parameter.
+ Call Initialise_Project_Path with the proper Target_Name.
+ (Initialize_Project_Path): Add <gnat_root>/<target_name>/lib/gnat
+ search path.
+ (Get_Path): Add Target_Name parameter. Call Initialise_Project_Path
+ with the proper Target_Name.
+ * prj-conf.adb (Get_Or_Create_Configuration_File): Pass Target_Name to
+ Part.Parse routine.
+ (Parse_Project_And_Apply_Config): Likewise.
+ * prj-makr.adb (Initialize): Pass empty Target_Name to Parse routine.
+ This is fine as this part of the code is supporting only native
+ compilation.
+ * prj-pars.adb (Parse): Pass empty Target_Name to Parse routine. This
+ is fine as this part of the code is supporting only native compilation.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sem_util.adb (Enter_Name): issue error in formal mode on declaration
+ of homonym, unless the homonym is one of the cases allowed in SPARK
+ * par-ch5.adb (Parse_Decls_Begin_End): issue error in SPARK mode for
+ package declaration occurring after a body.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, exp_ch4.adb: Minor reformatting.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads (Access_Disp_Table): Fix documentation.
+ (Dispatch_Table_Wrappers): Fix documentation.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * prj-env.adb, prj-env.ads: Minor reformatting.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sem_util.ads, sem_util.adb, par.adb, par_util.adb
+ (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
+ procedures out of these packages.
+ * errout.ads, errout.adb
+ (Formal_Error_Msg, Formal_Error_Msg_N, Formal_Error_Msg_SP): move
+ procedures in of this package
+ (Formal_Error_Msg_NE): new procedure for wrapper on Error_Msg_NE
+ * par-ch5.adb (Parse_Decls_Begin_End): issue syntax error in SPARK mode
+ on misplaced later vs initial declarations, like in Ada 83
+ * sem_attr.adb (Processing for Analyze_Attribute): issue error in
+ formal mode on attribute of private type whose full type declaration
+ is not visible
+ * sem_ch3.adb (Analyze_Declarations): issue error in formal mode on a
+ package declaration inside a package specification
+ (Analyze_Full_Type_Declaration): issue error in formal mode on
+ controlled type or discriminant type
+ * sem_ch6.adb (Analyze_Subprogram_Specification): only issue error on
+ user-defined operator means that it should come from the source
+ (New_Overloaded_Entity): issue error in formal mode on overloaded
+ entity.
+ * sem_ch6.ads, sem_ch13.ads: typos in comments.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * atree.adb: Minor reformatting.
+ * checks.adb: Minor reformatting.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * s-parame-vms-ia64.ads: Fix typo in comment
+ Minor reformatting
+ * s-parame-vms-restrict.ads: Removed, unused.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb
+ (Is_Variable_Size_Array): Remove local subprogram Is_Constant_Bound.
+ * sem_ch3.adb
+ (Constrain_Index): Remove side effects in the evaluation of the bounds.
+ * sem_ch3.ads, sem_ch3.adb
+ (Is_Constant_Bound): New extended version of the subprogram that was
+ previously located inside function Exp_Ch3.Is_Variable_Size_Array.
+ Moved here since it is shared by routines of sem_ch3 and exp_ch3.
+ * sem_aux.ads (Constant_Value): Fix typo in comment.
+ * checks.adb (Generate_Index_Checks): New implementation which, for
+ array objects with constant bounds, generates the runtime check
+ referencing the bounds of the array type. For other cases this routine
+ provides its previous behavior obtaining such values from the array
+ object.
+ * sem_res.adb (Set_Slice_Subtype): Link a copied range subtree with its
+ parent type.
+ * atree.adb (New_Copy): Reset flag Is_Overloaded in the new copy since
+ we cannot have semantic interpretations of the new node.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Fully_Conformant_Expressions): handle quantified
+ expressions.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch8.adb: Minor code editing.
+ * s-vxwext.adb: Remove trailing space.
+ * freeze.adb, freeze.ads, errout.ads, erroutc.adb: Fix GPLv3 header for
+ consistency with other files.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * s-auxdec.ads, s-auxdec-vms_64.ads: Minor reformatting.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch10.adb: reject parameterized expressions as compilation unit.
+ * sem_ch4.adb: handle properly conditional expression with overloaded
+ then_clause and no else_clause.
+
+2011-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * s-parame-vms-alpha.ads, s-parame-vms-ia64.ads: Redeclare C_Address
+ like done by System.Aux_DEC.
+ * env.c (__gnat_setenv) [VMS]: Put logicals into LNM$PROCESS table.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * par-endh.adb (Check_End): issue a syntax error in SPARK mode for
+ missing label at end of declaration (subprogram or package)
+ * par-ch4.adb (P_Name): issue a syntax error in SPARK mode for mixing
+ of positional and named parameter association
+ * par.adb, par-util.adb (Formal_Error_Msg_SP): new wrapper on
+ Error_Msg_SP which adds a prefix to the error message giving the name
+ of the formal language analyzed
+ * sem_ch6.adb (Analyze_Return_Type): issue an error in formal mode for
+ access result type in subprogram, unconstrained array as result type,.
+ (Analyze_Subprogram_Declaration): issue an error in formal mode for null
+ procedure
+ * sem_ch8.adb: Code clean up.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch7.adb (Uninstall_Declarations): Remove useless code.
+ * einfo.ads (Access_Disp_Table): Fix documentation.
+ (Dispatch_Table_Wrappers): Fix documentation.
+ * einfo.adb (Access_Disp_Table, Dispatch_Table_Wrappers,
+ Set_Access_Disp_Table, Set_Dispatch_Table_Wrappers): Fix the assertions
+ to enforce the documentation of this attribute.
+ (Set_Is_Interface): Cleanup the assertion.
+ * exp_ch4.adb (Expand_Allocator_Expression, Tagged_Membership): Locate
+ the Underlying_Type entity before reading attribute Access_Disp_Table.
+ * exp_disp.adb (Expand_Dispatching_Call, Expand_Interface_Conversion):
+ Locate the Underlying_Type before reading attribute Access_Disp_Table.
+ * exp_aggr.adb (Build_Array_Aggr_Code, Build_Record_Aggr_Code): Locate
+ the Underlying_Type entity before reading attribute Access_Disp_Table.
+ * exp_ch3.adb (Build_Record_Init_Proc, Expand_N_Object_Declaration):
+ Locate the Underlying_Type entity before reading attribute
+ Access_Disp_Table.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * s-poosiz.ads: Additional overriding indicators.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sem_ch5.adb (Analyze_Exit_Statement): add return after error in
+ formal mode.
+ (Analyze_Iteration_Scheme): issue error in formal mode when loop
+ parameter specification does not include a subtype mark.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): issue error in
+ formal mode on abstract subprogram.
+ (Analyze_Subprogram_Specification): issue error in formal mode on
+ user-defined operator.
+ (Process_Formals): issue error in formal mode on access parameter and
+ default expression.
+ * sem_ch9.adb (Analyze_Abort_Statement,
+ Analyze_Accept_Statement, Analyze_Asynchronous_Select,
+ Analyze_Conditional_Entry_Call, Analyze_Delay_Relative,
+ Analyze_Delay_Until, Analyze_Entry_Call_Alternative,
+ Analyze_Requeue, Analyze_Selective_Accept,
+ Analyze_Timed_Entry_Call): issue error in formal mode on such constructs
+ * sem_ch11.adb (Analyze_Raise_Statement, Analyze_Raise_xxx_Error):
+ issue error in formal mode on user-defined raise statement.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch6.adb (Enter_Overloaded_Entity): Do not warn about a
+ declaration being hidden when overriding an implicit inherited
+ subprogram.
+ * par-ch10.adb (P_Compilation_Unit): In syntax check only mode
+ (-gnats), do not complain about a source file that contains only a
+ pragma No_Body.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iterator_Scheme): Do not overwrite type of loop
+ variable if already set.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * g-socket-dummy.adb, s-osinte-linux.ads, g-socket-dummy.ads,
+ g-debuti.adb, g-tasloc.adb, g-debuti.ads, g-tasloc.ads,
+ s-osinte-hpux.ads, g-sercom.adb, g-soliop-solaris.ads, g-sercom.ads,
+ g-sptain.ads, g-curexc.ads, s-tasloc.adb, s-tasloc.ads, s-tataat.adb,
+ g-ctrl_c.adb, a-reatim.adb, s-tataat.ads, g-dirope.adb, g-ctrl_c.ads,
+ g-dirope.ads, g-boubuf.adb, g-calend.adb, g-boubuf.ads, g-souinf.ads,
+ g-table.adb, g-bytswa-x86.adb, g-wispch.adb, g-io.adb, g-table.ads,
+ g-wispch.ads, g-io.ads, g-memdum.adb, g-memdum.ads, g-busorg.adb,
+ g-busorg.ads, g-regpat.adb, g-sothco-dummy.adb, g-encstr.adb,
+ g-regpat.ads, g-sothco-dummy.ads, s-osinte-aix.ads, g-encstr.ads,
+ g-sercom-mingw.adb, s-mastop-vms.adb, g-diopit.adb, g-diopit.ads,
+ s-vxwext.adb, g-dyntab.adb, g-dyntab.ads, g-crc32.adb,
+ g-sercom-linux.adb, g-crc32.ads, s-regpat.adb, g-flocon.ads,
+ s-regpat.ads, g-stheme.adb, g-sestin.ads, s-taspri-posix-noaltstack.ads,
+ g-soliop.ads, s-inmaop-posix.adb, g-locfil.ads, g-enblsp-vms-alpha.adb,
+ g-socthi-dummy.adb, g-socthi-dummy.ads, gnat.ads, g-moreex.adb,
+ g-moreex.ads, g-dynhta.adb, g-dynhta.ads, g-deutst.ads, g-htable.adb,
+ g-cgicoo.adb, g-htable.ads, g-cgicoo.ads, a-interr.adb,
+ g-socthi-vms.adb, g-socthi-vms.ads, g-hesora.adb, g-bubsor.adb,
+ g-hesora.ads, g-bubsor.ads, g-md5.adb, g-md5.ads, s-intman-irix.adb,
+ s-htable.adb, s-osinte-vms.adb, s-htable.ads, s-osinte-vms.ads,
+ s-taprob.adb, g-bytswa.adb, g-bytswa.ads, s-osinte-solaris-posix.ads,
+ a-suenco.adb, g-comver.adb, g-comver.ads, g-exctra.adb,
+ s-osinte-solaris.adb, g-exctra.ads, s-osinte-irix.ads,
+ s-osinte-solaris.ads, a-caldel-vms.adb, g-socthi-vxworks.adb,
+ g-expect.adb, g-socthi-vxworks.ads, g-expect.ads, g-comlin.ads,
+ g-heasor.adb, g-heasor.ads, g-traceb.adb, g-traceb.ads, g-decstr.adb,
+ g-spipat.adb, g-decstr.ads, g-spipat.ads, s-mastop-tru64.adb,
+ g-except.ads, g-thread.adb, g-hesorg.adb, g-thread.ads, g-hesorg.ads,
+ g-expect-vms.adb, a-stuten.ads, g-spchge.adb, g-spchge.ads,
+ g-u3spch.adb, g-u3spch.ads, g-spitbo.adb, g-spitbo.ads,
+ s-osinte-dummy.ads, s-osinte-posix.adb, g-pehage.adb, g-pehage.ads,
+ s-gloloc-mingw.adb, g-sha1.ads, s-traceb-hpux.adb,
+ g-trasym-unimplemented.adb, g-trasym-unimplemented.ads, g-io_aux.adb,
+ g-regexp.adb, g-io_aux.ads, g-socthi-mingw.adb, g-regexp.ads,
+ s-osinte-hpux-dce.adb, g-socthi-mingw.ads, g-cgi.adb,
+ s-osinte-hpux-dce.ads, g-cgi.ads, g-byorma.adb, g-boumai.ads,
+ g-byorma.ads, a-caldel.adb, s-regexp.adb, s-regexp.ads,
+ g-soliop-mingw.ads, g-sptavs.ads, s-osinte-tru64.ads, g-speche.adb,
+ g-speche.ads, g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads,
+ s-osinte-darwin.ads, i-vxwork-x86.ads, g-awk.adb, i-vxwork.ads,
+ g-awk.ads, g-zspche.adb, g-zspche.ads, g-socket.adb, g-sptabo.ads,
+ g-socket.ads, g-semaph.adb, g-semaph.ads, s-taspri-posix.ads,
+ g-enblsp-vms-ia64.adb, g-cgideb.adb, g-cgideb.ads, g-sothco.adb,
+ s-osinte-freebsd.ads, g-sothco.ads, g-catiio.adb, g-casuti.adb,
+ g-catiio.ads, g-casuti.ads, g-trasym.adb, g-trasym.ads, s-casuti.adb,
+ g-os_lib.adb, s-traceb-mastop.adb, g-busora.adb, s-interr-dummy.adb,
+ g-busora.ads, g-enutst.ads, s-os_lib.adb, a-tasatt.adb,
+ s-osinte-mingw.ads: Update to GPLv3 run-time license.
+ Use GNAT instead of GNARL.
+
+2011-08-01 Bob Duff <duff@adacore.com>
+
+ * a-cdlili.ads, a-cihama.ads, a-coinve.ads, a-ciorse.ads, a-coorma.ads,
+ a-cidlli.ads, a-ciormu.ads, a-cihase.ads, a-cohama.ads, a-coorse.ads,
+ a-ciorma.ads, a-coormu.ads, a-convec.ads, a-cohase.ads: Minor
+ reformatting.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * debug.adb (d.D) reverve flag for the SPARK mode
+ (d.E) reverve flag for SPARK generation mode
+ (d.F) reverve flag for Why generation mode
+ * opt.ads, opt.adb (ALFA_Mode, ALFA_Through_SPARK_Mode,
+ ALFA_Through_Why_Mode, Formal_Verification_Mode, SPARK_Mode): New
+ functions which return True when the corresponding modes are set
+ (Formal_Language): return "spark" or "alfa" when in formal verification
+ mode.
+ * sem_util.ads, sem_util.adb (Formal_Error_Msg): new wrapper on
+ Error_Msg to prefix the error message with a tag giving the formal
+ language
+ (Formal_Error_Msg_N): new wrapper on Error_Msg_N to prefix the error
+ message with a tag giving the formal language
+ * sem_ch5.adb (Analyze_Block_Statement): issue error in formal mode on
+ block statement
+ (Analyze_Case_Statement): issue error in formal mode on case statement
+ with a single "others" case alternative
+ (Analyze_Exit_Statement): issue errors in formal mode on exit
+ statements which do not respect SPARK restrictions
+ (Analyze_Goto_Statement): issue error in formal mode on goto statement
+ (Check_Unreachable_Code): always issue an error (not a warning) in
+ formal mode on unreachable code (concerns both code after an infinite
+ loop and after an unconditional jump, both not allowed in SPARK)
+ * sem_ch6.adb (Analyze_Return_Statement): add call to
+ Set_Return_Present for a procedure containing a return statement
+ (already done for functions in Analyze_Function_Return)
+ (Analyze_Function_Return): issue error in formal mode on extended
+ return or if return is not last statement in function
+ (Check_Missing_Return): issue error in formal mode if function does
+ not end with return or if procedure contains a return
+ * sem_ch8.ads, sem_ch8.adb (Has_Loop_In_Inner_Open_Scopes): new
+ function to detect if there is an inner scope of its parameter S which
+ is a loop.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch6.ads: Minor reformatting.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb (Abstract_Interface_List): Complete condition when
+ processing private type declarations to avoid reading unavailable
+ attribute.
+ (Is_Synchronized_Tagged_Type): Complete condition when processing
+ private extension declaration nodes to avoid reading unavailable
+ attribute.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * s-parame-ae653.ads, s-parame-vms-alpha.ads, s-parame-hpux.ads,
+ i-cpoint.adb, i-cstrin.adb, i-cpoint.ads, i-cstrin.ads,
+ s-parame-vms-ia64.ads, s-parame.ads, i-c.ads, s-parame-vxworks.ads,
+ s-parame-vms-restrict.ads: Remove duplicated Interfaces.C.* packages
+ for VMS, instead parametrize the common implementation with
+ System.Parameters declarations.
+
+2011-08-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_rm.texi: Document limitation of Pragma No_Strict_Aliasing.
+
+2011-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c: Fix SEH handler installation on win64.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): in Asis mode, prevent
+ double analysis of an anonymous access to subprogram, because it can
+ lead to improper sharing of profiles and a back-end crash.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_ch4.adb: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * sem_util.adb, exp_ch5.adb: Minor reformatting.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi: Fix definition of Long_Integer.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb: check limit size of static aggregate unconditionally,
+ to prevent storage exhaustion.
+ * exp_ch7.adb (Clean_Simple_Protected_Objects): if the scope being
+ finalized is a function body, insert the cleanup code before the final
+ return statement, to prevent spurious warnings.
+ * s-pooglo.ads: add overriding indicator.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Operator_Check): improve error message when both a
+ with_clause and a use_clause are needed to make operator usage legal.
+ * sem_util.ads, sem_util.adb (Unit_Is_Visible): new predicate to
+ determine whether a compilation unit is visible within an other,
+ either through a with_clause in the current unit, or a with_clause in
+ its library unit or one one of its parents.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Iterator_Loop): handle properly an iterator
+ over an arbitrary expression of an array or container type.
+ * lib-xref.adb: clarify comment.
+
+2011-08-01 Bob Duff <duff@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+ * debug.adb: Minor comment improvement.
+
+2011-08-01 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Try_Object_Operation): For class-wide subprograms do not
+ consider hidden subprograms as valid candidates.
+
+2011-08-01 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Compile): Strip -mxxx switches in CodePeer mode.
+
+2011-08-01 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * i-cstrin.adb, sem_util.adb, exp_ch11.adb, sem_ch8.adb,
+ lib-xref.adb: Minor reformatting
+
+2011-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Extended_Return_Statement): Replace test of
+ when to generate a call to Move_Final_List.
+ (Has_Controlled_Parts): Remove this function.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * par-ch3.adb (P_Discrete_Choice_List): Improve error message for extra
+ "," in choice list.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Mark N_Raise_xxx_Error for
+ explicit raise of a predefined exception as Comes_From_Source if the
+ original N_Raise_Statement comes from source.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Add comment.
+ * sem_ch6.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Refine check for bad component size
+ clause to avoid rejecting confirming clause when atomic/aliased present.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Direct_Name, Analyze_Expanded_Name): use Is_LHS to
+ better determine whether an entity reference is a write.
+ * sem_util.adb (Is_LHS): refine predicate to handle assignment to a
+ subcomponent.
+ * lib-xref.adb (Output_References): Do no suppress a read reference at
+ the same location as an immediately preceeding modify-reference, to
+ handle properly in-out actuals.
+
+2011-08-01 Tristan Gingold <gingold@adacore.com>
+
+ * env.c (__gnat_setenv) [VMS]: Refine previous change.
+
+2011-08-01 Quentin Ochem <ochem@adacore.com>
+
+ * i-cstrin.adb (New_String): Changed implementation, now uses only the
+ heap to compute the result.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads: Minor reformatting.
+
+2011-08-01 Emmanuel Briot <briot@adacore.com>
+
+ * g-expect.adb (Get_Command_Output): Fix memory leak.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (P_Float_Type): New procedure to print the definition of
+ predefined fpt types.
+ (P_Mixed_Name): New procedure to print a name using mixed case
+ (Print_Standard): Use P_Float_Type for printing floating point types
+ * einfo.adb (Machine_Emax_Value): Add preliminary support for quad
+ precision IEEE float.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Parameterized_Expression): If the expression is
+ the completion of a generic function, insert the new body rather than
+ rewriting the original.
+
+2011-08-01 Yannick Moy <moy@adacore.com>
+
+ * sinfo.ads, errout.ads: Typos in comments.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * par-endh.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspects for library unit pragmas
+ (Pre_Post_Aspects): New subtype.
+ * par-ch12.adb (P_Generic): New syntax for aspects in packages
+ * par-ch13.adb (P_Aspect_Specifications): Add Semicolon parameter
+ * par-ch7.adb (P_Package): Remove Decl parameter
+ (P_Package): Handle new syntax for aspects (before IS)
+ * par-ch9.adb (P_Protected_Definition): Remove Decl parameter, handle
+ new aspect syntax
+ (P_Task_Definition): Remove Decl parameter, handle new aspect syntax
+ * par.adb (P_Aspect_Specifications): Add Semicolon parameter
+ (P_Package): Remove Decl parameter
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Handle library unit
+ aspects
+ * sem_ch7.adb (Analyze_Package_Declaration): Analyze new format aspect
+ specs
+ * sem_util.ads, sem_util.adb (Static_Boolean): New function
+ * sinfo.ads: Document new syntax for aspects in packages etc.
+ * sprint.adb: Handle new syntax of aspects before IS in package
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * atree.ads: Minor reformatting.
+ * sem_prag.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Insert_Actions): Fix error in handling Actions for
+ case expr alternative.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Fix typo.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * sem_prag.adb (Check_No_Link_Name): New procedure.
+ (Process_Import_Or_Interface): Use Check_No_Link_Name.
+ * cstand.adb (Create_Standard): Use Esize (Standard_Long_Long_Float)
+ instead of Standard_Long_Long_Float_Size global. Preparation for
+ eventual removal of per type constants.
+ * exp_util.ads (Get_Stream_Size): New function returning the stream
+ size value of subtype E.
+ * exp_util.adb (Get_Stream_Size): Implement new function.
+ * exp_strm.adb (Build_Elementary_Input_Call): Use Get_Stream_Size
+ function.
+ * exp_attr.adb (Attribute_Stream_Size): Use Get_Stream_Size
+ * einfo.adb:
+ (Machine_Mantissa_Value): Handle 128-bit quad precision IEEE floats
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb: Fix comments.
+ * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
+ count of arguments.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, sem_cat.adb: Minor reformatting.
+
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * atree.ads: Fix comment.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb (Aspect_Names): Moved from body to spec.
+ * par-ch13.adb (P_Aspect_Specifications): Check misspelled aspect name.
+ * par.adb: Add with for Namet.Sp.
+ * par-tchk.adb: Minor reformatting.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-tgt-specific-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb
+ (Build_Dynamic_Library): Use new function Init_Proc_Name to get the name
+ of the init procedure of a SAL.
+ * mlib-tgt-vms_common.ads, mlib-tgt-vms_common.adb (Init_Proc_Name):
+ New procedure.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb, s-tasini.ads, sem_attr.adb, s-soflin.ads: Minor
+ reformatting.
+
+2011-08-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * adaint.c (__gnat_file_time_name_attr): Get rid of warning.
+
+2011-08-01 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb, sem_util.ads (Has_Overriding_Initialize): Make function
+ conformant with its spec (return True only for types that have
+ an overriding Initialize primitive operation that prevents them from
+ having preelaborable initialization).
+ * sem_cat.adb (Validate_Object_Declaration): Fix test for preelaborable
+ initialization for controlled types in Ada 2005 or later mode.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add aspect Type_Invariant, Precondition,
+ Postcondition.
+ (Same_Aspect): New function.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add aspect
+ Type_Invariant, Precondition, Postcondition.
+ * snames.ads-tmpl: Add Name_Type_Invariant.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Don't call Check_Aspect_At_Freeze_Point
+ here.
+ (Freeze_All_Ent): Fix error in handling inherited aspects.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Skip aspect that is
+ already analyzed, but don't skip entire processing of a declaration,
+ that's wrong in some cases of declarations being rewritten.
+ (Analyze_Aspect_Specification): Set Is_Delayed_Aspect in aspects.
+ Don't delay for integer, string literals
+ Treat predicates in usual manner for delay, remove special case code,
+ not needed.
+ (Analyze_Freeze_Entity): Make call to Check_Aspect_At_Freeze_Point
+ (Build_Predicate_Function): Update saved expression in aspect
+ (Build_Invariant_Procedure): Update saved expression in aspect
+ * exp_ch4.adb (Expand_N_Selected_Component): Only do the optimization
+ of replacement of discriminant references if the reference is simple.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add Static_Predicate and Dynamic_Predicate.
+ * sem_ch13.adb (Analyze_Aspect_Specification): Add processing for
+ Static_Predicate and Dynamic_Predicate.
+ (Build_Predicate_Function): Add processing for Static_Predicate
+ and Dynamic_Predicate.
+ * sinfo.ads, sinfo.adb (From_Dynamic_Predicate): New flag
+ (From_Static_Predicate): New flag
+ * snames.ads-tmpl: Add Name_Static_Predicate and Name_Dynamic_Predicate
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Documentation cleanup for Ada version modes in usage.
+ * expander.adb: Minor reformatting.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads: Minor comment fix.
+ * a-stwifi.adb, a-stzfix.adb, a-strfix.adb, a-ztexio.ads, a-textio.ads,
+ a-witeio.ads, sem_prag.adb: Minor reformatting.
+
+2011-08-01 Doug Rupp <rupp@adacore.com>
+
+ * env.c (__gnat_setenv) [VMS]: Force 32bit on item list structure
+ pointers. Use descrip.h header file for convenience. Add some
+ comments.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Call Check_Aspect_At_Freeze_Point
+ (Freeze_All): Call Check_Aspect_At_End_Of_Declarations
+ * sem_ch13.ads, sem_ch13.adb (Check_Aspect_At_Freeze_Point):
+ New procedure.
+ (Check_Aspect_At_End_Of_Declarations): New procedure
+ (Analye_Aspect_Specification): Minor changes for above procedures
+ * sinfo.ads, sinfo.adb (Is_Delayed_Aspect): Now set in aspect
+ specification node as well.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (_gnat_stat): GetFilesAttributesEx() would fail on special
+ Windows files. Use GetFilesAttributes() in this case to check for file
+ existence instead of returning with an error code.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * a-stzfix.adb, a-stwifi.adb (Replace_Slice): Fixed computation when
+ High is above Source length.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * a-ztexio.ads, a-textio.ads, a-witeio.ads: Fix comment.
+
+2011-08-01 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads (Boolean_Aspects): New subtype.
+ * exp_ch13.adb (Expand_Freeze_Entity): Fix errors in handling aspects
+ for derived types in cases where the parent type and derived type have
+ aspects.
+ * freeze.adb (Freeze_Entity): Fix problems in handling derived type
+ with aspects when parent type also has aspects.
+ (Freeze_Entity): Deal with delay of boolean aspects (must evaluate
+ boolean expression at this point).
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Delay all aspects in
+ accordance with final decision on the Ada 2012 feature.
+ * sinfo.ads, sinfo.adb (Is_Boolean_Aspect): New flag.
+
+2011-08-01 Matthew Heaney <heaney@adacore.com>
+
+ * a-chtgbo.adb (Delete_Node_Sans_Free): Replace iterator with selector.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb:
+ Fix Replace_Slice when High is above current string size.
+ (Replace_Slice): Fix DL computation when High is above current
+ string length.
+
+2011-08-01 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_rm.texi: Add documentation for pragma Static_Elaboration_Desired.
+
+2011-08-01 Matthew Heaney <heaney@adacore.com>
+
+ * a-rbtgbo.adb (Delete_Node_Sans_Free): Fixed assignment to left child
+ of node.
+
+2011-08-01 Pascal Obry <obry@adacore.com>
+
+ * a-stzunb-shared.adb, a-strunb-shared.adb, a-stwiun-shared.adb: Minor
+ reformatting.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Access): Handle properly named
+ access to protected subprograms in generic bodies.
+ * sem_ch6.adb (Analyze_Subprogram_Declaration): If the context is a
+ protected type, indicate that the convention of the subprogram is
+ Convention_Protected, because it may be used in subsequent declarations
+ within the protected declaration.
+
+2011-08-01 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Build_Library): Use "ada_" as the prefix for the "init"
+ and "final" procedures when the name of the library is "ada", to avoid
+ duplicate symbols "adainit" and "adafinal" in executables.
+
+2011-08-01 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, case 'Result): Handle properly a
+ quantified expression that appears within a postcondition and uses the
+ Ada2012 'Result attribute.
+
+2011-07-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * init.c (__gnat_error_handler): Cast reason to int.
+ (__gnat_install_handler): Explain sa_sigaction use.
+
+2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
+ subprogram has copy-in copy-out parameters, try to promote the mode of
+ the return type if it is passed in registers.
+
+2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
+ left operand as addressable.
+
+2011-07-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_function_stub): Remove.
+ (build_return_expr): Likewise.
+ (convert_vms_descriptor): Declare.
+ * gcc-interface/utils.c (convert_vms_descriptor): Make global.
+ (build_function_stub): Move to...
+ * gcc-interface/utils2.c (build_return_expr): Move to...
+ * gcc-interface/trans.c (build_function_stub): ...here.
+ (build_return_expr): ...here.
+ (Subprogram_Body_to_gnu): Add local variable for language_function.
+ Disconnect the parameter attributes cache, if any, once done with it.
+ Call end_subprog_body only after setting the end_locus.
+ Build the stub associated with the function, if any, at the very end.
+ (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
+ variables and streamline control flow.
+
+2011-07-23 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/49819
+ * gcc-interface/Makefile.in (powerpc-linux): Remove reference to
+ g-trasym-dwarf.adb.
+
+2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/49794
+ * init.c [sun && __SVR4 && !__vxworks] (__gnat_install_handler):
+ Assign to act.sa_sigaction.
+ * tracebak.c [USE_GENERIC_UNWINDER] (__gnat_backtrace): Cast
+ current->return_address to char * before arithmetic.
+
+2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * init.c [sgi] (__gnat_error_handler): Update sigaction(2) citation.
+ Correct argument types.
+ Extract code from reason.
+ (__gnat_install_handler): Assign to act.sa_sigaction.
+
+2011-07-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (GNAT1_ADA_OBJS): Move ada/b_gnat1.o to...
+ (GNAT1_OBJS): ...here.
+
+2011-07-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/48711
+ * g-socthi-mingw.adb (Fill): Fix formatting.
+
+ * gcc-interface/gigi.h: Move around comment.
+
+2011-07-14 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/46350
+ * s-taprop-hpux-dce.adb (Abort_Task): Remove unnecessary cast.
+
+2011-07-14 Florian Weimer <fw@deneb.enyo.de>
+
+ PR ada/48711
+ * g-socthi-mingw.adb (Fill): Guard against invalid MSG_WAITALL.
+
+2011-07-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (build_vms_descriptor32): Skip the 32-bit
+ range comparison if Pmode is SImode.
+
+2011-07-12 Laurent GUERBY <laurent@guerby.net>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * adadecode.c: Wrap up in extern "C" block.
+ * adadecode.h: Likewise.
+ * adaint.c: Likewise. Remove 'const' keyword.
+ * adaint.h: Likewise.
+ * argv.c: Likewise.
+ * atree.h: Likewise.
+ * cio.c: Likewise.
+ * cstreams.c: Likewise.
+ * env.c: Likewise.
+ * exit.c: Likewise.
+ * fe.h: Likewise.
+ * final.c: Likewise.
+ * init.c: Likewise.
+ * initialize.c: Likewise.
+ * link.c: Likewise.
+ * namet.h: Likewise.
+ * nlists.h: Likewise.
+ * raise.c: Likewise.
+ * raise.h: Likewise.
+ * repinfo.h: Likewise.
+ * seh_init.c: Likewise.
+ * targext.c: Likewise.
+ * tracebak.c: Likewise.
+ * uintp.h: Likewise.
+ * urealp.h: Likewise.
+ * xeinfo.adb: Wrap up generated C code in extern "C" block.
+ * xsinfo.adb: Likewise.
+ * xsnamest.adb: Likewise.
+ * gcc-interface/gadaint.h: Wrap up in extern "C" block.
+ * gcc-interface/gigi.h: Wrap up some prototypes in extern "C" block.
+ * gcc-interface/misc.c: Likewise.
+ * gcc-interface/Make-lang.in (GCC_LINK): Use LINKER.
+ (GNAT1_C_OBJS): Remove ada/b_gnat1.o. List ada/seh_init.o and
+ ada/targext.o here...
+ (GNAT_ADA_OBJS): ...and not here.
+ (GNAT1_ADA_OBJS): Add ada/b_gnat1.o.
+ (GNATBIND_OBJS): Reorder.
+
+2011-07-07 Richard Henderson <rth@redhat.com>
+
+ * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call
+ dwarf2out_frame_init.
+
+2011-07-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_init): Tweak previous change.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/39150
+ * gcc-interface/Makefile.in: Handle x86_64-solaris2.
+
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/misc.c (gnat_init): Merge calls to
+ build_common_tree_nodes and build_common_tree_nodes_2.
+ Re-initialize boolean_false_node.
+
+2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+
+ * gcc-interface/utils.c (record_builtin_type): Set TYPE_ARTIFICIAL on
+ the type according to the ARTIFICIAL_P parameter.
+ (create_type_decl): Likewise.
+ (create_type_stub_decl): Set TYPE_ARTIFICIAL on the type to 1.
+
+2011-07-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (gnat1): Prepend '+' to the command.
+ (gnatbind): Likewise.
+
+2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in (TOOLS_LIBS): Add $(LIBINTL).
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
+ local variable throughout. Remove useless call to Base_Type.
+ (gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
+ Take it also into account for the volatileness of the field. Set the
+ TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
+ on a dereference built for a by-ref object if it has an address clause.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Address_Taken): Document use for the second argument of
+ Asm_Input and Asm_Output attributes.
+ * sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
+ argument is an entity name, then set Address_Taken on it.
+ <Attribute_Asm_Output>: Likewise.
+ * gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
+ Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
+ (gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
+ memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
+
+2011-06-16 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ PR middle-end/46500
+ * gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
+
+2011-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (gnatbind$(exeext)): Use ggc-none.o.
+ (ada/utils.o): Update dependencies.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Add
+ ../../../libcpp/libcpp.a.
+ * gcc-interface/utils.c: Include common/common-target.h.
+ (process_attributes): Use targetm_common.have_named_sections.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/misc.c (gnat_init): Do not set size_type_node or call
+ set_sizetype.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_stabilize_reference): Propagate the
+ TREE_THIS_NOTRAP flag.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (gnat_stabilize_reference) <COMPOUND_EXPR>:
+ Fix thinko.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Also handle deferred
+ constants whose full view has discriminants specially.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c: Include diagnostic.h.
+ (gnat_write_global_declarations): Output debug information for all
+ global type declarations before finalizing the compilation unit.
+ * gcc-interface/Make-lang.in (ada/utils.o): Add dependency.
+
+2011-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-interface/utils.c (def_fn_type): Remove extra va_end.
+
+2011-05-25 Kai Tietz <ktietz@redhat.com>
+
+ * adaint.c (__gnat_to_canonical_file_list_next): Use array
+ initialization instead of const/none-const pointer assignment.
+
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (GNAT1_OBJS): Don't include
+ $(EXTRA_GNAT1_OBJS).
+ (GNATBIND_OBJS): Don't include $(EXTRA_GNATBIND_OBJS).
+ (EXTRA_GNAT1_OBJS, EXTRA_GNATBIND_OBJS): Remove.
+ (gnat1$(exeext), gnatbind$(exeext)): Use libcommon-target.a.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use
+ libcommon-target.a instead of prefix.o.
+
+2011-05-21 Joseph Myers <joseph@codesourcery.com>
+
+ PR ada/49097
+ * gcc-interface/Make-lang.in (gnatbind$(exeext)): Depend on $(LIBDEPS).
+
+2011-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (EXTRA_GNATBIND_OBJS): Remove version.o.
+ * gcc-interface/Makefile.in (EXTRA_GNATTOOLS_OBJS): Use libcommon.a
+ instead of version.o.
+
+2011-05-18 Kai Tietz <ktietz@redhat.com>
+
+ * gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
+ boolean_false_node instead of integer_zero_node.
+ (convert_with_check): Likewise.
+ * gcc-interface/decl.c (choices_to_gnu): Likewise.
+
+2011-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
+ type of the parameter is an unconstrained array, convert the actual to
+ the type of the formal in the In Out and Out cases as well.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
+ call build_function_type_array or build_varargs_function_type_array
+ instead.
+ (create_subprog_type): Don't call build_function_type; call
+ build_function_type_vec instead.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
+ (TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
+ (TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.
+
+2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
+
+ * gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
+ * gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/trans.c (Case_Statement_to_gnu): Call build_case_label.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c (intrin_arglists_compatible_p): Use iterators
+ instead of accessing TYPE_ARG_TYPES directly.
+ * gcc-interface/utils.c (handle_nonnull_attribute): Likewise.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/48844
+ * gcc-interface/gigi.h (get_variant_part): Declare.
+ * gcc-interface/decl.c (get_variant_part): Make global.
+ * gcc-interface/utils2.c (find_common_type): Do not return T1 if the
+ types have the same constant size, are record types and T1 has a
+ variant part while T2 doesn't.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (begin_subprog_body): Do not call
+ get_pending_sizes.
+ (end_subprog_body): Likewise.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/trans.c (gnat_to_gnu): Remove zero notrunc argument to
+ int_const_binop.
+ (pos_to_constructor): Likewise.
+
+2011-05-03 Nathan Froyd <froydnj@codesourcery.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Call build_function_type_list instead
+ of build_function_type. Adjust calls to...
+ (build_raise_check): ...this. Do not take a void_tree parameter.
+ Call build_function_type_list instead of build_function_type.
+ Fix head comment and swap couple of conditional blocks.
+
+2011-04-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Library_Version): Bump to 4.7.
+ (Current_Year): Bump to 2011.
+
+2011-04-29 Michael Matz <matz@suse.de>
+
+ * gcc-interface/misc.c (gnat_handle_option): Set
+ warn_maybe_uninitialized.
+
+2011-04-23 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gnat_ugn.texi (Complexity Metrics Control): Update link to
+ the Watson/McCabe paper.
+
+2011-04-23 Jim Meyering <meyering@redhat.com>
+
+ * gnat_ugn.texi (Examples of gnatxref Usage): Fix typo: s/it it/it is/
+
+2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (make_packable_type): Copy DECL_PARALLEL_TYPE
+ onto the new type.
+
+2011-04-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_subprog_decl): Add ARTIFICIAL_FLAG
+ parameter.
+ * gcc-interface/utils.c (create_subprog_decl): Likewise. Set
+ DECL_ARTIFICIAL and DECL_NO_INLINE_WARNING_P on the DECL accordingly.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
+ ARTIFICIAL_FLAG local variable and pass it to create_subprog_decl.
+ <all>: Do not set flags on the reused DECL node coming from an alias.
+ Set DECL_IGNORED_P on the DECL node built for subprograms if they
+ don't need debug info here...
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): ...and not here.
+ (gigi): Adjust calls to create_subprog_decl.
+ (build_raise_check): Likewise.
+ (establish_gnat_vms_condition_handler): Likewise.
+ (Compilation_Unit_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+
+2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (NO_SIBLING_ADAFLAGS): Always define.
+ (NO_REORDER_ADAFLAGS): New variable.
+ (EXTRA_GNATTOOLS): Always define.
+ (../stamp-gnatlib1-$(RTSDIR): Copy tsystem.h.
+ Clean up and adjust list of files compiled with special options.
+ * gcc-interface/Make-lang.in: Likewise.
+ (ada/decl.o): Cosmetical change.
+ (ada/misc.o): Remove dependency on $(PLUGIN_H).
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ * initialize.c (__gnat_initialize): Remove useless if-before-free.
+
+2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
+ $(CFLAGS) on the link line.
+
+2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
+ padded type built for the return type if it is unconstrained.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (gnat_poplevel): Use block_chainon.
+
+2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/ada-tree.h (union lang_tree_node): Check for TS_COMMON
+ before calling TREE_CHAIN.
+ * gcc-interface/misc.c (gnat_init_ts): New function.
+ (LANG_HOOKS_INIT_TS): Define.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * gcc-interface/utils.c (end_subprog_body): Call cgraph_get_create_node
+ instead of cgraph_node.
+
+2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
+ alignment on fields of the RETURN type built for the Copy-In Copy-Out
+ mechanism.
+
+2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
+ of aggregate types that contain a placeholder.
+
+2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (handle_sentinel_attribute): Don't use
+ TYPE_ARG_TYPES.
+ (handle_type_generic_attribute): Likewise.
+
+2011-04-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/47163
+ * s-oscons-tmplt.c (MSG_WAITALL): Fix thinko in previous change.
+
+2011-04-04 Kai Tietz <ktietz@redhat.com>
+
+ PR ada/47163
+ * s-oscons-tmplt.c (MSG_WAITALL): Define it for native windows targets
+ to flag value.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_allocator): In the unconstrained array
+ type case, do not strip a padding type around the array type.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (update_pointer_to): Finalize named pointer
+ types.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/lang.opt (feliminate-unused-debug-types): Delete.
+ * gcc-interface/misc.c (gnat_handle_option): Remove special handling
+ code for -feliminate-unused-debug-types.
+ (gnat_post_options): Likewise.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
+ declaration of a pointer type, then set DECL_ORIGINAL_TYPE to a
+ distinct copy.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force the
+ DECL_ARTIFICIAL flag on enumeration types.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not make
+ fat pointer types artificial unconditionally.
+ <E_Array_Subtype>: Attach the base array type as a parallel type if it
+ isn't artificial.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (get_dummy_type): Declare.
+ (build_dummy_unc_pointer_types): Likewise.
+ (finish_fat_pointer_type): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: If a dummy
+ fat pointer type has been built, complete it in place.
+ <E_Access_Type>: Call build_dummy_unc_pointer_types to build dummy fat
+ and thin pointers. Remove useless variable.
+ (finish_fat_pointer_type): Make global and move to...
+ * gcc-interface/utils.c (finish_fat_pointer_type): ...here.
+ (get_dummy_type): New function.
+ (build_dummy_unc_pointer_types): Likewise.
+ (gnat_pushdecl): Propage the name to the anonymous variants only.
+ (update_pointer_to): Only adjust the pointer types in the unconstrained
+ array case.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_TAFT_TYPE_P): New flag.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: Set it
+ if this is a Taft amendment type and the full declaration is available.
+ * gcc-interface/trans.c (process_type): Likewise.
+ If there is an old type, mark the new one as used if DECL_TAFT_TYPE_P.
+ (process_freeze_entity): Likewise.
+ * gcc-interface/utils.c (dummy_global): New static variable.
+ (gnat_write_global_declarations): If there are types declared as used
+ at the global level, insert them in the global hash table.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (record_builtin_type): Add ARTIFICIAL_P param.
+ * gcc-interface/utils.c (gnat_pushdecl): If this is a non-artificial
+ declaration of an array type, then set DECL_ORIGINAL_TYPE to a distinct
+ copy.
+ (record_builtin_type): Add ARTIFICIAL_P parameter. Set DECL_ARTIFICIAL
+ flag of the type accordingly.
+ * gcc-interface/trans.c (gigi): Adjust calls to record_builtin_type.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
+ finalizing types when updating the pointers to the designated type.
+ <all>: Finalize the deferred types even if we didn't defer processing
+ of incomplete types in this invocation.
+
+2011-04-01 Olivier Hainque <hainque@adacore.com>
+ Nicolas Setton <setton@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_descriptive_type): New function.
+ (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
+
+2011-03-28 Kai Tietz <ktietz@redhat.com>
+
+ * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native
+ Windows targets.
+ (EH_MECHANISM): Use GCC exception mechanism for native Windows targets.
+ * system-mingw.ads (System): Change ZCX_By_Default default to True.
+
+ * raise-gcc.c (PERSONALITY_FUNCTION): Add prototype.
+
+2011-03-28 Tristan Gingold <gingold@adacore.com>
+
+ PR ada/44431
+ * gcc-interface/Make-lang.in (ada/b_gnat1.adb): Replace ada/b_gnat1.c.
+ Use ada output of gnatbind.
+ (ada/b_gnatb.adb): Ditto.
+ (ada/b_gnat1.o, ada/b_gnatb.o): New rules.
+ (ada.mostlyclean, ada.stage1)
+ (ada.stage2, ada.stage3, ada.stage4, ada.stageprofile)
+ (ada.stagefeedback): Adjust.
+ * gcc-interface/Makefile.in (b_gnatl.adb): Replace b_gnatl.c.
+ Use ada output of gnatbind.
+ (b_gnatm.adb): Ditto.
+ (b_gnatl.o, b_gnatm.o): New rules.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
+ for the padded type built to support a specified size or alignment.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (finalize_from_with_types): Adjust comment.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Defer
+ unconditionally to the end of the unit when the designated type is
+ limited_with'ed.
+ <all>: Rename local variable. Attempt to un-defer types only and do it
+ for limited_with'ed types as well.
+ (finalize_from_with_types): Adjust comment. Rename variable and tidy.
+ * gcc-interface/trans.c (Compilation_Unit_to_gnu): Use GNAT_UNIT
+ consistently and remove redundant call to finalize_from_with_types.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * inline.adb (Back_End_Cannot_Inline): Lift restriction on calls to
+ subprograms without a previous spec declared in the same unit.
+ * gcc-interface/trans.c (Compilation_Unit_to_gnu): Process inlined
+ subprograms at the end of the unit instead of at the beginning.
+ * gcc-interface/utils.c (create_subprog_decl): Check that the entity
+ isn't public for the special handling of non-inline functions nested
+ inside inline external functions.
+
+2011-03-25 Jeff Law <law@redhat.com>
+
+ * gcc-interface/utils.c (def_fn_type): Add missing va_end.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * einfo.ads (Size_Depends_On_Discriminant): Adjust description.
+ * layout.adb (Compute_Size_Depends_On_Discriminant): New procedure
+ to compute Set_Size_Depends_On_Discriminant.
+ (Layout_Type): Call it on array types in back-end layout mode.
+ * sem_util.adb (Requires_Transient_Scope): Return true for array
+ types only if the size depends on the value of discriminants.
+ * gcc-interface/utils2.c (build_binary_op) <MODIFY_EXPR>: Use the RHS
+ type if the RHS is a call to a function that returns an unconstrained
+ type with default discriminant.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu): Remove obsolete case of
+ non-conversion to the nominal result type at the end.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (create_temporary): New function taken from...
+ (create_init_temporary): ...here. Call it.
+ (call_to_gnu): Create the temporary for the return value early, if any.
+ Create it for a function with copy-in/copy-out parameters if there is
+ no target; in other cases of copy-in/copy-out, use another temporary.
+ Push the new binding level lazily. Add and rename local variables.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (validate_size): Improve comments and tweak
+ error message.
+ (set_rm_size): Likewise.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Create TYPE_DECL
+ for the padded type built in order to support a specified alignment.
+ Fix incorrect formatting.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/48216
+ * gcc-interface/decl.c (elaborate_expression_1): Localize GNU_DECL.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (components_to_record): Add REORDER parameter,
+ rename DEBUG_INFO_P into DEBUG_INFO and move P_GNU_REP_LIST parameter
+ to the end of the list. Adjust recursive call. Rename local variable.
+ If REORDER is true, reorder components of the record type.
+ (gnat_to_gnu_entity): Pass OK_To_Reorder_Components flag as argument to
+ components_to_record and adjust the parameter list.
+
+2011-03-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression_1): When optimization is
+ disabled, use the variable for bounds of loop iteration scheme.
+
+2011-03-21 Kai Tietz <ktietz@redhat.com>
+
+ PR target/12171
+ * gcc-interface/utils.c (gnat_internal_attribute_table): Add column.
+
+2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (elaborate_expression_1): Try harder to find
+ out whether the expression is read-only. Short-circuit placeholder
+ case and rename a couple of local variables.
+
+2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (smaller_form_type_p): Declare.
+ * gcc-interface/trans.c (smaller_form_type_p): Make global and move...
+ * gcc-interface/utils.c (smaller_form_type_p): ...to here.
+ (convert): Deal with conversions from a smaller form type specially.
+
+2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_init_options): Do not concatenate -I and
+ its argument, except for the special -I- switch.
+
+2011-02-12 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gnat_ugn.texi (Compiling Different Versions of Ada): Update link to
+ "Ada Issues".
+
+2011-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (x86-64 darwin): Handle multilibs.
+
+2011-02-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (fill_vms_descriptor): Take GNU_TYPE instead of
+ GNAT_FORMAL.
+ * gcc-interface/utils2.c (fill_vms_descriptor): Move from here to...
+ * gcc-interface/utils.c (fill_vms_descriptor): ...here. Take GNU_TYPE
+ instead of GNAT_FORMAL. Protect the expression against multiple uses.
+ Do not generate the check directly, instead instantiate the template
+ check present in the descriptor.
+ (make_descriptor_field): Move around.
+ (build_vms_descriptor32): Build a template check in the POINTER field.
+ (build_vms_descriptor): Remove useless suffixes.
+ * gcc-interface/trans.c (call_to_gnu): Adjust fill_vms_descriptor call.
+
+2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR bootstrap/47467
+ * targext.c: Include target files if IN_RTS is defined.
+
+2011-01-26 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/47467
+ * targext.c: Include config.h.
+ * gcc-interface/Make-lang.in (ada/targext.o): Add $(CONFIG_H)
+ dependency.
+
+2011-01-04 Pascal Obry <obry@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Disable Stdcall convention handling for 64-bit.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Case_Statement_to_gnu): Put the SLOC of the
+ end-of-case on the end label and its associated gotos, if any.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Evaluate the
+ expressions of the parameter cache within the statement group of
+ the CICO mechanism.
+
+2011-01-04 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (BLOCK_SOURCE_END_LOCATION): Provide default.
+ (set_end_locus_from_node): New function.
+ (Subprogram_Body_to_gnu): Use it to mark both the inner BIND_EXPR we
+ make and the function end_locus.
+ (Compilation_Unit_to_gnu): Call it instead of a straight Sloc_to_locus
+ for the elaboration subprogram.
+ (set_gnu_expr_location_from_node) <default case>: Use it to attempt to
+ set the end_locus of the expression as well.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/47131
+ * gcc-interface/trans.c (Identifier_to_gnu): In SJLJ mode, do not make
+ variables that are referenced in exception handlers volatile.
+
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index e31b386..c0e1cf4 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -107,5036 +107,8 @@
deprecated access declarations when no errors were encountered
while parsing the access declaration. Save the first token in
order to emit the warning at the right place.
-
-2011-12-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51397
- * semantics.c (finish_static_assert): Use %s instead of %E for
- the error message.
-
-2011-12-27 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/23211
- * name-lookup.c (do_class_using_decl): Use dependent_scope_p
- instead of dependent_type_p, to check that a non-dependent
- nested-name-specifier of a class-scope using declaration refers to
- a base, even if the current scope is dependent.
- * parser.c (cp_parser_using_declaration): Set
- USING_DECL_TYPENAME_P to 1 if the DECL is not null. Re-indent a
- 'else' close to the prior modification.
-
-2011-12-23 Jason Merrill <jason@redhat.com>
-
- PR c++/51507
- * search.c (at_function_scope_p): Also check cfun.
- * pt.c (tsubst_pack_expansion): Check it instead of
- cp_unevaluated_operand.
- (instantiate_template_1): Use push_to_top_level.
-
- * tree.c (dependent_name): OFFSET_REF and BASELINK
- are not dependent names.
-
-2011-12-21 Jason Merrill <jason@redhat.com>
-
- PR c++/51611
- * cp-tree.h (CONVERT_EXPR_VBASE_PATH): New.
- * class.c (build_base_path): Defer vbase conversion in an NSDMI.
- * tree.c (bot_replace): Expand it here.
- * cp-gimplify.c (cp_genericize_r): Make sure deferred conversion
- doesn't leak into GENERIC.
-
-2011-12-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51305
- * semantics.c (massage_constexpr_body): Reorder conditionals, make
- sure a BIND_EXPR embedded in a MUST_NOT_THROW_EXPR is handled.
-
-2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51621
- * tree.c (diagnose_non_constexpr_vec_init): For value initialization
- pass void_type_node, not void_zero_node, to build_vec_init_elt.
-
-2011-12-20 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/49951
- * decl.c (cxx_maybe_build_cleanup): Don't set location of the call
- to the destructor.
-
-2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51612
- * semantics.c (is_valid_constexpr_fn): In case of constexpr
- constructors also check for virtual base classes.
-
-2011-12-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51328
- * pt.c (convert_template_argument): Early error out and return
- error_mark_node for invalid uses of destructors as types.
-
-2011-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51530
- * pt.c (unify): Handle NULLPTR_TYPE.
-
- PR c++/51526
- * semantics.c (build_data_member_initialization): Handle
- delegating constructor.
- (build_constexpr_constructor_member_initializers): Likewise.
-
- PR c++/51553
- * cp-tree.h (LOOKUP_LIST_INIT_CTOR): Rename from
- LOOKUP_NO_COPY_CTOR_CONVERSION.
- (add_list_candidates): Set it earlier.
- (add_candidates): Don't check explicit on ctors when it's set.
- (add_function_candidate): Check it even when LOOKUP_ONLYCONVERTING
- is set.
-
- PR c++/51553
- * call.c (add_function_candidate): Allow conversions for the copy
- parm in list-initialization unless the argument is an init-list.
-
-2011-12-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51619
- * semantics.c (cxx_eval_vec_init_1): If init is NULL for
- multidimensional array, just set eltinit to NULL_TREE.
-
- * cp-gimplify.c (gimplify_must_not_throw_expr): Use
- gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.
-
-2011-12-19 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51477
- * search.c (lookup_member): Get out early on invalid base type.
-
-2011-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51489
- * semantics.c (cxx_eval_outermost_constant_expr): Check for
- conversion from pointer to integer here.
- (cxx_eval_constant_expression) [NOP_EXPR]: Not here.
-
-2011-12-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- * semantics.c (finish_compound_literal): Don't call check_narrowing
- if !(complain & tf_warning_or_error).
-
-2011-12-17 Jason Merrill <jason@redhat.com>
-
- PR c++/51588
- * parser.c (cp_parser_ptr_operator): Reject pointer to member of enum.
-
-2011-12-17 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/51072
- * config-lang.in: Revert last change.
-
-2011-12-17 Jason Merrill <jason@redhat.com>
-
- PR c++/51586
- * parser.c (cp_parser_check_class_key): Handle error_mark_node.
-
- PR c++/51587
- * decl.c (start_enum): Avoid using ENUM_UNDERLYING_TYPE on a
- non-enum.
-
-2011-12-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51416
- * init.c (build_value_init_noctor): Check for incomplete type.
-
-2011-12-16 Richard Henderson <rth@redhat.com>
-
- PR bootstrap/51072
- * config-lang.in (target_libs): Include target-libitm.
-
-2011-12-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51461
- * decl.c (check_static_variable_definition): Check COMPLETE_TYPE_P
- before literal_type_p.
-
- PR c++/51331
- * class.c (convert_to_base_statically): Just call
- build_simple_base_path.
- (build_simple_base_path): Check field offset.
-
-2011-12-15 Jason Merrill <jason@redhat.com>
-
- PR c++/51458
- * decl.c (has_designator_problem): New.
- (reshape_init_r): Check for improper use of
- designated initializers.
-
-2011-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51463
- * decl.c (grokdeclarator): Set DECL_INITIAL of decl
- to error_mark_node to disallow NSDMI if declspecs->storage_class
- is sc_static.
- * parser.c (cp_parser_late_parse_one_default_arg): Return early
- if default_arg is error_mark_node.
-
- PR c/51360
- * semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
- and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.
-
-2011-12-15 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51473
- * decl.c (check_tag_decl): Error out on auto specifier with no
- declarator.
-
-2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/51365
- * cp-tree.h (CPTK_IS_FINAL): Add.
- * parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL.
- (cp_parser_primary_expression, cp_parser_trait_expr): Likewise.
- * semantics.c (trait_expr_value, finish_trait_expr): Handle
- CPTK_IS_FINAL.
- * cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
-
-2011-12-14 Jason Merrill <jason@redhat.com>
-
- PR c++/51554
- * semantics.c (cxx_eval_indirect_ref): Fix sanity check.
-
- PR c++/51248
- * decl.c (copy_type_enum): Also update variants.
- (finish_enum): Allow variants of complete enums.
-
-2011-12-14 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51475
- * call.c (struct conversion)<u.next>: Update comment.
- (next_conversion): New static function.
- (convert_like_real): Use it.
-
- PR c++/51476
- * pt.c (convert_nontype_argument): Don't call maybe_constant_value
- for PTRMEM_CST nodes.
-
-2011-12-13 Jason Merrill <jason@redhat.com>
-
- PR c++/51406
- PR c++/51161
- * typeck.c (build_static_cast_1): Fix cast of lvalue to
- base rvalue reference.
-
-2011-12-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51464
- * semantics.c (begin_lambda_type): Check begin_class_definition return
- value for error_mark_node.
- * parser.c (cp_parser_lambda_expression): Check begin_lambda_type
- return value for error_mark_node.
-
-2011-12-13 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/14258
- * cp-tree.h (USING_DECL_TYPENAME_P): New macro.
- * parser.c (cp_parser_nonclass_name): Handle using declarations
- that refer to a dependent type.
- (cp_parser_using_declaration): Set USING_DECL_TYPENAME_P to 1 if
- the using declaration refers to a dependent type.
-
-2011-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51496
- * parser.c (cp_parser_omp_for_loop): When determining whether
- to use cp_parser_omp_for_incr or cp_parser_expression and when
- calling cp_parser_omp_for_incr, use real_decl instead of decl.
-
-2011-12-12 Torvald Riegel <triegel@redhat.com>
-
- * semantics.c (finish_transaction_stmt, build_transaction_expr):
- Accept new noexcept parameter and handle it.
- * cp-tree.h (finish_transaction_stmt, build_transaction_expr): Adapt
- declarations.
- * parser.c (cp_parser_exception_specification_opt): Extract
- noexcept-specification parsing to ...
- (cp_parser_noexcept_specification_opt): ...here. Allow for parsing
- non-constexpr noexcept arguments.
- (cp_parser_transaction, cp_parser_transaction_expression): Parse
- and handle noexcept-specifications.
- (cp_parser_function_transaction): Adapt to finish_transaction_stmt
- change.
- * pt.c (tsubst_expr): Adapt to new noexcept parameters when
- building transactions.
-
-2011-12-12 Torvald Riegel <triegel@redhat.com>
-
- * cp-tree.def (MUST_NOT_THROW_EXPR): Add condition parameter.
- * cp-tree.h (MUST_NOT_THROW_COND): New.
- (build_must_not_throw_expr): Declare.
- * dump.c (cp_dump_tree): Dump MUST_NOT_THROW_EXPR condition.
- * except.c (build_must_not_throw_expr): New.
- (initialize_handler_parm): Use it.
- (begin_eh_spec_block, wrap_cleanups_r): Adapt to condition.
- * pt.c (tsubst_expr): Handle MUST_NOT_THROW_EXPR.
-
-2011-12-12 Richard Guenther <rguenther@suse.de>
-
- PR lto/51262
- * tree.c (cp_free_lang_data): No longer clear anonymous names.
-
-2011-12-09 Jason Merrill <jason@redhat.com>
-
- PR c++/51151
- * call.c (perform_implicit_conversion_flags): Remove earlier kludge.
- * parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
- in templates even if decl isn't type-dependent.
-
-2011-12-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51289
- * cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
- better support aliased types.
- (TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
- TYPE_DECL.
- * pt.c (find_parameter_packs_r): Handle types aliases.
- (push_template_decl_real): Check for bare parameter packs in the
- underlying type of an alias template.
-
-2011-12-08 Jason Merrill <jason@redhat.com>
-
- PR c++/51318
- * typeck.c (build_x_conditional_expr): Restrict glvalue games to C++11.
-
- PR c++/51459
- * pt.c (tsubst_expr) [DECL_EXPR]: Handle capture proxies properly.
- * semantics.c (insert_capture_proxy): No longer static.
- * cp-tree.h: Declare it.
-
-2011-12-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51401
- * decl.c (grokdeclarator): Error for auto on non-static data members.
-
- PR c++/51429
- * typeck2.c (cxx_incomplete_type_diagnostic): Don't
- ICE if TREE_OPERAND (value, 1) is overloaded.
-
- PR c++/51229
- * decl.c (reshape_init_class): Complain if d->cur->index is
- INTEGER_CST.
- * parser.c (cp_parser_initializer_list): If cp_parser_parse_definitely
- fails, clear designator.
-
- PR c++/51369
- * init.c (build_value_init): Allow array types even when
- processing_template_decl.
-
-2011-12-07 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/51420
- * parser.c (lookup_literal_operator): Check that declaration is an
- overloaded function.
-
-2011-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51430
- * pt.c (tsubst_decl): Don't call strip_array_domain on
- error_mark_node.
-
-2011-12-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51431
- * init.c (build_value_init): Check build_aggr_init_expr return
- value for error_mark_node.
-
-2011-12-06 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51427
- * parser.c (cp_parser_check_class_key): Add note about earlier
- declaration.
-
-2011-12-05 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/51319
- * semantics.c (finish_id_expression): Strip using declarations
- early in the function.
-
-2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51399
- * init.c (perform_member_init): Early return if init is error_mark_node.
-
-2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51414
- * semantics.c (finish_underlying_type): Use %qT, not %qE for the
- error message.
-
-2011-12-05 Jason Merrill <jason@redhat.com>
-
- * init.c (expand_default_init): Unshare args in ctor delegation.
-
-2011-12-05 Ville Voutilainen <ville.voutilainen@gmail.com>
- Pedro Lamarão <pedro.lamarao@gmail.com>
-
- Implement C++11 delegating constructors.
- * cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS.
- * error.c (maybe_warn_cpp0x): Adjust.
- * parser.c (cp_parser_mem_initializer_list): Use it. Diagnose
- multiple initializers if a delegating initializer is present.
- * call.c (build_special_member_call): Convert an assert into an if.
- * init.c (perform_target_ctor): New.
- (emit_mem_initializers): Use it.
- (expand_member_init, expand_default_init): Adjust.
-
-2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51404
- * typeck2.c (build_functional_cast): Early return error_mark_node
- for invalid uses of 'auto'.
- * parser.c (cp_parser_direct_declarator): When
- cp_parser_constant_expression returns error do not produce further
- diagnostic for the bound.
-
-2011-12-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51313
- * call.c (null_ptr_cst_p): STRIP_NOPS in c++11 mode too.
-
-2011-12-01 Jason Merrill <jason@redhat.com>
-
- * call.c (build_new_method_call_1): Handle aggregate initialization.
- * tree.c (stabilize_init): Handle CONSTRUCTOR.
-
-2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51326
- * call.c (build_user_type_conversion_1): Early return NULL if
- expr is NULL_TREE.
-
-2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51367
- * pt.c (unify_inconsistency): Use either %qT or %qE depending on
- whether parm is a type or non-type parameter.
-
-2011-11-30 Jason Merrill <jason@redhat.com>
-
- PR c++/51009
- * name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p.
- * decl.c (build_aggr_init_full_exprs): Just assert that it's true.
- (check_initializer): Here too.
-
-2011-11-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51299
- * rtti.c (ifnonnull): Use nullptr_node.
- (build_dynamic_cast_1): Call cp_truthvalue_conversion instead
- of c_common_truthvalue_conversion.
-
-2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51227
- * pt.c (instantiate_class_template_1): If lambda_function (type)
- is NULL_TREE do not instantiate_decl.
-
-2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51290
- * class.c (build_base_path): For the null pointer check use
- nullptr_node instead of integer_zero_node.
-
-2011-11-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51145
- * decl.c (check_elaborated_type_specifier): Gracefully handle
- error_mark_node. Accept bound template template parameters.
- Update diagnostics for alias template specializations. Update
- comment.
- * parser.c (cp_parser_elaborated_type_specifier): Use
- check_elaborated_type_specifier for simple-template-ids as well.
-
-2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51265
- * semantics.c (finish_decltype_type): Handle PTRMEM_CST.
-
-2011-11-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51143
- * parser.c (cp_parser_alias_declaration): Don't allow type
- definition in templates.
-
-2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51196
- * typeck.c (cp_build_binary_op, [case EQ_EXPR]): For targets having
- TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_delta, do here
- the -Wzero-as-null-pointer-constant warning for pmf == 0.
-
-2011-11-21 Torvald Riegel <triegel@redhat.com>
-
- * pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.
-
-2011-11-21 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/50958
- * parser.c (lookup_literal_operator): New.
- (cp_parser_userdef_char_literal): Use it.
- (cp_parser_userdef_numeric_literal): Use it.
- (cp_parser_userdef_string_literal): Use lookup_name.
-
-2011-11-20 Jason Merrill <jason@redhat.com>
-
- * pt.c (tsubst_pack_expansion): Fix SFINAE.
-
- PR c++/48322
- * cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
- * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
- * pt.c (tsubst_pack_expansion): Set and use it.
- (iterative_hash_template_arg): Hash it.
- (template_args_equal): Compare it.
- (comp_template_args_with_info): Handle nulls.
- * tree.c (cp_walk_subtrees): Walk it.
- * typeck.c (structural_comptypes): Compare it.
- * ptree.c (cxx_print_type): Print it.
-
- * pt.c (type_unification_real): Set input_location
- during default arg instantiation.
-
-2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51230
- * pt.c (unify_inconsistency): Handle non-type parameters better.
- * error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.
-
-2011-11-20 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51194
- * pt.c (lookup_template_class_1): Go out early if the type of the
- template is error_mark_node.
-
-2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51216
- * semantics.c (potential_constant_expression_1): Handle IF_STMT,
- DO_STMT, FOR_STMT, and WHILE_STMT.
-
-2011-11-18 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/51188
- * search.c (lookup_field_1): Handle USING_DECLs for the storted
- case.
-
-2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51150
- * pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.
-
-2011-11-18 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51191
- * pt.c (primary_template_instantiation_p): Don't forget to
- consider alias declarations.
-
-2011-11-17 Jason Merrill <jason@redhat.com>
-
- PR c++/51186
- * decl.c (grokdeclarator): Improve C++98 trailing return diagnostic.
-
- N3203
- * class.c (add_implicitly_declared_members): Update move
- conditions.
-
- PR c++/51137
- * class.c (build_base_path): Don't do calculation in templates.
-
-2011-11-15 Torvald Riegel <triegel@redhat.com>
-
- * parser.c (cp_parser_transaction_expression): Require parentheses
- when parsing transaction expressions.
-
-2011-11-14 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/51107
- * typeck.c (check_literal_operator_args): Add processing_specialization
- to check for void template fn. Test for exact arity for non-template fn.
-
-2011-11-14 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/6936
- PR c++/25994
- PR c++/26256
- PR c++/30195
- * search.c (lookup_field_1): Look through USING_DECL.
- (lookup_field_r): Call lookup_fnfields_slot instead of
- lookup_fnfields_1.
- * semantics.c (finish_member_declaration): Remove the check that
- prevents USING_DECLs from being verified by
- pushdecl_class_level. Call add_method for using declarations that
- designates functions if the using declaration is in a template
- class. Set DECL_IGNORED_P on class-scope using declarations.
- * typeck.c (build_class_member_access_expr): Handle USING_DECLs.
- * class.c (check_field_decls): Keep using declarations.
- (add_method): Remove two diagnostics about conflicting using
- declarations.
- * parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
- * decl.c (start_enum): Call xref_tag whenever possible.
- * cp-tree.h (strip_using_decl): Declare, and reident the previous
- function.
- * name-lookup.c (strip_using_decl): New function.
- (supplement_binding_1): Call strip_using_decl on decl and
- bval. Perform most of the checks with USING_DECLs stripped. Also
- check that the target decl and the target bval does not refer to
- the same declaration. Allow pushing an enum multiple times in a
- template class. Adjustment to diagnose using redeclarations. Call
- diagnose_name_conflict.
- (push_class_level_binding): Call strip_using_decl on decl and
- bval. Perform most of the checks with USING_DECLs stripped. Return
- true if both decl and bval refer to USING_DECLs and are dependent.
- (diagnose_name_conflict): New function.
-
-2011-11-12 Jason Merrill <jason@redhat.com>
-
- PR c++/986
- * call.c (set_up_extended_ref_temp): Warn about references
- bound to non-static reference members.
- * init.c (perform_member_init): Pass in the member.
-
- PR c++/51060
- * cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.
-
-2011-11-11 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/50976
- * typeck.c (check_literal_operator_args): Reorganize test for string
- operators so size_t search depends on finding string first.
-
-2011-11-10 Jason Merrill <jason@redhat.com>
-
- PR c++/50372
- * pt.c (convert_nontype_argument_function): Allow decls with
- internal linkage in C++11.
- (convert_nontype_argument): Likewise.
-
- PR c++/50973
- * decl2.c (mark_used): Defer synthesis of virtual functions.
- * method.c (use_thunk): Make sure the target function has
- DECL_INTERFACE_KNOWN.
-
- PR c++/51079, DR 495
- * call.c (joust): Check the second conversion sequence
- before checking templates.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50837
- * pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
- pass allow_non_integral_constant_expression_p = true to
- finish_id_expression.
-
-2011-11-09 Jason Merrill <jason@redhat.com>
-
- PR c++/50972
- * pt.c (maybe_instantiate_noexcept): Check the return value of
- push_tinst_level.
-
- PR c++/51046
- * parser.c (cp_parser_range_for): check_for_bare_parameter_packs.
-
- PR c++/51029
- * class.c (build_base_path): Don't ICE in fold_non_dependent_expr.
-
- * Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
- (check-c++0x): Obsolete.
-
- * pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
-
- * pt.c (convert_nontype_argument): Only integral arguments
- get early folding.
-
- * parser.c (cp_parser_alias_declaration): Don't do semantic
- processing if parsing failed.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51045
- * init.c (build_new_1, build_vec_delete_1, build_delete):
- Use nullptr_node.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51047
- * search.c (lookup_member): Change to take also a tsubst_flags_t
- parameter.
- (lookup_field, lookup_fnfields): Adjust calls.
- * typeck.c (lookup_destructor, finish_class_member_access_expr,
- build_ptrmemfunc_access_expr): Likewise.
- * class.c (handle_using_decl, maybe_note_name_used_in_class):
- Likewise.
- * pt.c (resolve_typename_type): Likewise.
- * semantics.c (lambda_function): Likewise.
- * parser.c (cp_parser_perform_range_for_lookup,
- cp_parser_lookup_name): Likewise.
- * friend.c (make_friend_class): Likewise.
- * name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
- do_class_using_decl, lookup_qualified_name): Likewise.
- * cp-tree.h (lookup_member): Adjust declaration.
-
-2011-11-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51043
- * cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
- NULL TYPE_NAME.
-
- PR c++/51027
- * parser.c (cp_parser_alias_declaration): Require ';' at the end
- of the declaration.
-
-2011-11-09 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/51032
- * decl2.c (check_member_template): Accept alias templates and ...
- * parser.c (cp_parser_alias_declaration): ... use it here.
-
-2011-11-08 Jason Merrill <jason@redhat.com>
-
- PR c++/50835
- * typeck.c (build_x_conditional_expr): Preserve lvalue/xvalueness.
- * tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Return clk_ordinary
- in C++98.
-
-2011-11-08 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51010
- * error.c (dump_expr): Handle SSA_NAMEs.
-
-2011-11-07 Richard Henderson <rth@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
- Torvald Riegel <triegel@redhat.com>
-
- Merged from transactional-memory.
-
- * call.c (build_new_function_call): Call tm_malloc_replacement.
- * class.c (check_bases): Compute transaction attributes for the
- class based on its base classes.
- (look_for_tm_attr_overrides, set_one_vmethod_tm_attributes,
- set_method_tm_attributes): New.
- (finish_struct_1): Call set_method_tm_attributes.
- * cp-tree.h (begin_transaction_stmt, finish_transaction_stmt,
- build_transaction_expr): Declare.
- (TRANSACTION_EXPR_IS_STMT): New.
- * decl.c (push_cp_library_fn): Set attribute to transaction_safe.
- * except.c (do_get_exception_ptr): Apply transaction_pure.
- (do_begin_catch): Mark _ITM_cxa_begin_catch transaction_pure and
- record as transactional-memory wrapper.
- (do_end_catch): Similarly for _ITM_cxa_end_catch.
- (do_allocate_exception): Similarly for _ITM_cxa_allocate_exception.
- (build_throw): Similarly for _ITM_cxa_throw. Make __cxa_rethrow pure.
- * parser.h (struct cp_parser): Add in_transaction flag.
- * parser.c (enum non_integral_constant): Add NIC_TRANSACTION.
- (cp_parser_non_integral_constant_expression): Handle NIC_TRANSACTION.
- (enum required_token): Add transaction tokens.
- (cp_parser_transaction, cp_parser_transaction_expression,
- cp_parser_function_transaction, cp_parser_transaction_cancel,
- cp_parser_txn_attribute_opt): New.
- (cp_parser_unary_expression): Handle RID_TRANSACTION*.
- (cp_parser_statement, cp_parser_function_definition_after_declarator,
- cp_parser_token_starts_function_definition_p): Same.
- (cp_parser_required_error): Handle RT_TRANSACTION*.
- * pt.c (tsubst_expr): Handle TRANSACTION_EXPR.
- * semantics.c (begin_transaction_stmt, finish_transaction_stmt,
- build_transaction_expr): New.
-
-2011-11-08 Dodji Seketeli <dodji@redhat.com>
-
- Fix context handling of alias-declaration
- * decl.c (start_decl): Update comment.
- * error.c (dump_alias_template_specialization): Dump the context
- of the specialization.
- * parser.c (cp_parser_alias_declaration): Call pop_scope on the
- pushed scope yielded by start_decl.
-
-2011-11-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50864
- * parser.c (cp_parser_postfix_dot_deref_expression): Reject invalid
- uses of '->' and '.' as postfix-expression in namespace scope.
-
-2011-11-07 Jason Merrill <jason@redhat.com>
-
- PR c++/50848
- * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't crash
- if lookup finds a non-function.
-
- PR c++/50863
- * parser.c (cp_parser_initializer_list): Parse C99
- array designators tentatively.
-
- PR c++/50870
- * pt.c (tsubst_copy): Handle NAMESPACE_DECL.
- (tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent
- object.
-
-2011-11-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
- call in case COMPONENT_REF.
-
-2011-11-07 Jason Merrill <jason@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- Support C++11 alias-declaration
- PR c++/45114
- * cp-tree.h (TYPE_DECL_ALIAS_P, TYPE_ALIAS_P)
- (DECL_TYPE_TEMPLATE_P, DECL_ALIAS_TEMPLATE_P): New accessor
- macros.
- (TYPE_TEMPLATE_INFO): Get template info of an alias template
- specializations from its TYPE_DECL.
- (SET_TYPE_TEMPLATE_INFO): Set template info of alias template
- specializations into its TYPE_DECL.
- (DECL_CLASS_TEMPLATE_P): Re-write using the new
- DECL_TYPE_TEMPLATE_P.
- (enum cp_decl_spec): Add new ds_alias enumerator.
- (alias_type_or_template_p, alias_template_specialization_p):
- Declare new functions.
- * parser.c (cp_parser_alias_declaration): New static function.
- (cp_parser_check_decl_spec): Add "using" name for the `alias'
- declspec.
- (cp_parser_type_name): Update comment. Support simple-template-id
- representing alias template specializations in c++0x mode.
- (cp_parser_qualifying_entity): Update comment. Use
- cp_parser_type_name.
- (cp_parser_block_declaration): Handle alias-declaration in c++11.
- Update comment.
- (cp_parser_template_id): Handle specializations of alias
- templates.
- (cp_parser_member_declaration): Add alias-declaration production
- to comment. Support alias-declarations.
- (cp_parser_template_declaration_after_export): Handle alias
- templates in c++11.
- * decl.c (make_typename_type, make_unbound_class_template): Accept
- alias templates.
- (grokdeclarator): Set TYPE_DECL_ALIAS_P on alias
- declarations.
- * decl2.c (grokfield): Move template creation after setting up the
- TYPE_DECL of the alias, so that the TEMPLATE_DECL of the alias
- template actually carries the right type-id of the alias
- declaration.
- * pt.c (alias_type_or_template_p)
- (alias_template_specialization_p): Define new public functions.
- (maybe_process_partial_specialization): Reject partial
- specializations of alias templates.
- (primary_template_instantiation_p): Consider alias template
- instantiations.
- (push_template_decl_real): Assert that TYPE_DECLs of alias
- templates are different from those of class template. Store
- template info onto the TYPE_DECL of the alias template.
- (convert_template_argument): Strip aliases from template
- arguments.
- (lookup_template_class_1): Handle the creation of the
- specialization of an alias template.
- (tsubst_decl): Create a substituted copy of the TYPE_DECL of an
- member alias template.
- (tsubst): Handle substituting into the type of an alias template.
- Handle substituting UNBOUND_CLASS_TEMPLATE into
- BOUND_TEMPLATE_TEMPLATE_PARM.
- (do_type_instantiation): Better diagnostics when trying to
- explicitely instantiate a non-class template.
- * search.c (lookup_field_1, lookup_field_r): Support looking up
- alias templates.
- * semantics.c (finish_template_type): For instantiations of alias
- templates, return the TYPE_DECL of the actual alias and not the
- one of the aliased type.
- * error.c (dump_alias_template_specialization): New static
- function.
- (dump_type): Handle printing of alias templates and their
- specializations. templates.
- (dump_aggr_type): For specialization of alias templates, fetch
- arguments from the right place.
- (dump_decl): Print an alias-declaration like `using decl = type;'
- (dump_template_decl): Support printing of alias templates.
-
-2011-11-07 Jason Merrill <jason@redhat.com>
-
- PR c++/35688
- * decl2.c (constrain_visibility): Return void. Add tmpl parm
- which gives the constraint priority over an attribute.
- (constrain_visibility_for_template, determine_visibility): Adjust.
- * pt.c (instantiate_class_template_1): Call determine_visibility.
-
- PR c++/33255
- * decl.c (save_function_data): Clear local_typedefs.
-
- * decl.c (cp_finish_decl): Only make_tree_vector if we're calling
- check_initializer.
-
-2011-11-06 Jason Merrill <jason@redhat.com>
-
- PR c++/35688
- * decl2.c (constrain_visibility): Check decl_has_visibility_attr
- rather than DECL_VISIBILITY_SPECIFIED.
-
-2011-11-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47695
- * decl2.c (mark_used): Early return false after error or sorry.
- * cp-tree.h (mark_used): Adjust declaration.
- * semantics.c (finish_id_expression): Check mark_used return value.
-
-2011-11-05 Jason Merrill <jason@redhat.com>
-
- PR c++/48370
- * decl.c (cp_finish_decl): Mostly revert previous change.
-
-2011-11-04 Jason Merrill <jason@redhat.com>
-
- PR c++/26714
- * init.c (perform_member_init): Strip TARGET_EXPR around NSDMI.
- Do temporary lifetime extension.
-
- PR c++/48370
- * decl.c (cp_finish_decl): Run cleanups in the right order.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR c++/50608
- * semantics.c (finish_offsetof): Adjust call to fold_offsetof.
- * typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1.
-
-2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- * typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
- * mangle.c (write_unnamed_type_name): Likewise.
-
-2011-11-04 Magnus Fromreide <magfr@lysator.liu.se>
-
- * parser.c (cp_parser_enumerator_list): Do not warn about
- trailing commas in C++0x mode.
-
-2011-11-04 Olivier Goffart <olivier@woboq.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/50965
- * class.c (check_field_decls): NSDMI makes a class non-aggregate.
-
-2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48420
- * call.c (conversion_null_warnings): For 'false' to NULL pointer,
- just check that TREE_TYPE (expr) is a BOOLEAN_TYPE.
-
-2011-11-04 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/50941
- * parser.c (cp_parser_userdef_string_literal): Fix string length.
-
-2011-11-04 Jason Merrill <jason@redhat.com>
-
- PR c++/48370
- * call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
- (set_up_extended_ref_temp): Use it. Change cleanup parm to VEC.
- (initialize_reference): Just call convert_like.
- * decl.c (grok_reference_init): Just call initialize_reference.
- (build_init_list_var_init): Remove.
- (check_initializer): Change cleanup parm to VEC. Handle references
- like other types. Call perform_implicit_conversion instead
- of build_init_list_var_init. Don't use build_aggr_init for
- aggregate initialization of arrays.
- (cp_finish_decl): Change cleanup to VEC.
- * typeck2.c (store_init_value): Call extend_ref_init_temps.
- Use build_vec_init for non-constant arrays.
- * init.c (expand_aggr_init_1): Adjust.
- (build_vec_init): Avoid re-converting an initializer
- that's already digested.
- * mangle.c (mangle_ref_init_variable): Add a discriminator.
- * cp-tree.h: Adjust.
- * typeck.c (convert_for_initialization): Adjust.
- * decl2.c (maybe_emit_vtables): Adjust.
-
-2011-11-02 Jason Merrill <jason@redhat.com>
-
- PR c++/50930
- * init.c (build_aggr_init): Don't set LOOKUP_ONLYCONVERTING
- if the initializer has TARGET_EXPR_DIRECT_INIT_P.
- (expand_default_init): An initializer with TARGET_EXPR_DIRECT_INIT_P
- or TARGET_EXPR_LIST_INIT_P doesn't need more processing.
- * tree.c (bot_manip): Propagate TARGET_EXPR_IMPLICIT_P,
- TARGET_EXPR_LIST_INIT_P, TARGET_EXPR_DIRECT_INIT_P.
- * call.c (convert_like_real): Set TARGET_EXPR_DIRECT_INIT_P
- as appropriate on list-value-initialization.
-
- * parser.c (cp_parser_decl_specifier_seq): Change "C++0x" to
- "C++11" in warnings.
- (cp_lexer_get_preprocessor_token): Likewise.
- (cp_parser_binary_expression): Likewise.
-
-2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
- (digest_init_r): Call check_narrowing irrespective of the C++ dialect.
- * decl.c (check_initializer): Likewise.
- * semantics.c (finish_compound_literal): Likewise.
-
-2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50956
- * typeck.c (build_const_cast_1): Fix -Wcast-qual for false
- comp_ptr_ttypes_const.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK.
-
-2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44277
- * cvt.c (cp_convert_to_pointer): Warn for zero as null pointer
- constant.
- * typeck.c (cp_truthvalue_conversion): Handle pointers and member
- function pointers under c_inhibit_evaluation_warnings; use
- nullptr_node for data member pointers.
- (cp_build_binary_op): Tweak, just forward to cp_convert op1,
- either a nullptr_node or an integer_zero_node.
- (build_ptrmemfunc): Use nullptr_node.
- * init.c (build_zero_init_1): Likewise.
-
-2011-11-01 Jason Merrill <jason@redhat.com>
-
- PR c++/50500
- DR 1082
- * search.c (lookup_fnfields_idx_nolazy): Split out from...
- (lookup_fnfields_1): ...here.
- (lookup_fnfields_slot_nolazy): Use it.
- * cp-tree.h: Declare it.
- * class.c (type_has_move_assign): Use it.
- (type_has_user_declared_move_assign): Likewise.
-
-2011-10-31 Jason Merrill <jason@redhat.com>
-
- PR c++/50920
- * class.c (check_field_decl): Change c++0x in diags to c++11.
- * error.c (maybe_warn_cpp0x): Likewise.
- * parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
- * pt.c (check_default_tmpl_args): Likewise.
-
-2011-10-31 Diego Novillo <dnovillo@google.com>
-
- * mangle.c (get_mangled_id): Factor from ...
- (mangle_decl): ... here.
- Call get_mangled_id.
-
-2011-10-25 Gerald Pfeifer <gerald@pfeifer.com>
-
- * NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
- (EGCS 1.0): Ditto.
-
-2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50901
- * call.c (build_new_op_1): Handle ABS_EXPR together with the
- other unary EXPR.
-
-2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- Revert:
- 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50864
- * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
- call in case COMPONENT_REF.
-
-2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
-
-2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50864
- * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
- call in case COMPONENT_REF.
-
-2011-10-27 Jason Merrill <jason@redhat.com>
-
- * semantics.c (cxx_eval_outermost_constant_expr): Check
- cp_has_mutable_p.
- (cxx_eval_component_reference): Check DECL_MUTABLE_P.
-
-2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
-
- PR c++/30066
- * decl2.c (determine_hidden_inline): New function.
- (determine_visibility): fvisibility-inlines-hidden affects inline
- functions.
-
-2011-10-27 Dodji Seketeli <dodji@redhat.com>
-
- * cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment.
-
-2011-10-26 Jason Merrill <jason@redhat.com>
-
- * typeck.c (check_literal_operator_args): Avoid building types.
-
-2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- Implement C++11 user-defined literals.
- * cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree.
- * cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator
- name tools. New tree code for user-defined literals.
- * cxx-pretty-print.h: (pp_cxx_userdef_literal) New.
- * cxx-pretty-print.c: (pp_cxx_userdef_literal) New.
- (pp_cxx_primary_expression, pp_cxx_expression): Use it.
- * decl.c: (cp_tree_node_structure): Return new tree code.
- (duplicate_decls): Check for raw vs. template operator conflicts.
- (grokfndecl, grokdeclarator): New checks for literal operators.
- * error.c: (dump_expr): Warn about user-defined literals
- in C++98 mode. (dump_function_name): Pretty printing.
- * mangle.c: (write_literal_operator_name): New.
- (write_unqualified_id, write_unqualified_name): Use it.
- * parser.c: (cp_parser_operator): Handle operator"".
- (cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal,
- cp_parser_userdef_string_literal): New.
- (cp_parser_primary_expression): Handle new user-defined literal tokens
- with new functions.
- * semantics.c: (potential_constant_expression_1): Add
- user-defined literals.
- * typeck.c (check_raw_literal_operator,
- check_literal_operator_args): New.
-
-2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- * typeck.c (cp_build_addr_expr_1): Use BASELINK_P.
- * class.c (instantiate_type): Likewise.
- * pt.c (convert_nontype_argument_function, uses_template_parms,
- tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p):
- Likewise.
- * semantics.c (finish_decltype_type): Likewise.
- * decl2.c (mark_used): Likewise.
- * name-lookup.c (arg_assoc): Likewise.
-
-2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50870
- * typeck.c (non_reference): Pass NULL_TREE through.
-
-2011-10-25 Jason Merrill <jason@redhat.com>
-
- PR c++/50866
- PR c++/41449
- * semantics.c (maybe_cleanup_point_expr_void): No longer static.
- * typeck2.c (split_nonconstant_init_1): Use it.
- * cp-tree.h: Declare it.
- * decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR.
-
- PR c++/49996
- * tree.c (stabilize_init): Stabilize scalar elements of a
- CONSTRUCTOR, too.
-
-2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50858
- * typeck.c (composite_pointer_type_r): Check return value of
- composite_pointer_type_r for error_mark_node.
-
-2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50861
- * pt.c (tsubst_copy_and_build): Check return value of
- tsubst_copy_and_build for error_mark_node.
-
-2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50841
- Revert:
- 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
- (digest_init_r): Call check_narrowing irrespective of the C++ dialect.
- * decl.c (check_initializer): Likewise.
- * semantics.c (finish_compound_literal): Likewise.
-
-2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
- (digest_init_r): Call check_narrowing irrespective of the C++ dialect.
- * decl.c (check_initializer): Likewise.
- * semantics.c (finish_compound_literal): Likewise.
-
-2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/45385
- * init.c (build_vec_init): Early return error_mark_node if
- maxindex is -1.
-
-2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/31423
- * typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
- for invalid use of member function.
-
-2011-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/50811
- * parser.c (cp_parser_class_head): Parse virt-specifiers
- regardless of whether an id is present
-
-2011-10-20 Jason Merrill <jason@redhat.com>
-
- PR c++/41449
- * typeck2.c (split_nonconstant_init_1): Handle EH cleanup of
- initialized subobjects.
-
-2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/13657
- * class.c (instantiate_type): Fix error message.
-
-2011-10-19 Jason Merrill <jason@redhat.com>
-
- PR c++/50793
- * tree.c (bot_manip): Propagate AGGR_INIT_ZERO_FIRST.
-
-2011-10-19 Roland Stigge <stigge@antcom.de>
-
- PR translation/49704
- * semantics.c (potential_constant_expression_1): Use "AST" instead of
- "ast" in sorry message.
-
-2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/38761
- PR c++/40872
- * decl.c (duplicate_decls, make_typename_type, grokdeclarator): Use
- G_() in error message strings to facilitate translation.
- * semantics.c (finish_id_expression): Likewise.
- * parser.c (cp_parser_nested_name_specifier_opt,
- cp_parser_parameter_declaration): Likewise.
-
-2011-10-18 Jason Merrill <jason@redhat.com>
-
- PR c++/50531
- * pt.c (instantiate_decl): Recognize when a function defaulted
- outside the class is already instantiated.
-
- PR c++/50742
- * decl.c (check_previous_goto_1): Handle using-decl.
-
-2011-10-18 Jason Merrill <jason@redhat.com>
-
- PR c++/50500
- DR 1082
- * class.c (type_has_user_declared_move_constructor): New.
- (type_has_user_declared_move_assign): New.
- (add_implicitly_declared_members): Add lazy copy ops
- even if there's a move.
- * method.c (lazily_declare_fn): Delete implicit copies
- if there's a move.
- (maybe_explain_implicit_delete): Explain this. Use inform rather
- than error.
- * cp-tree.h: Declare new fns.
-
-2011-10-18 Diego Novillo <dnovillo@google.com>
-
- * parser.c: Remove ENABLE_CHECKING markers around debugging
- routines.
- (cp_lexer_dump_tokens): Add arguments START_TOKEN and CURR_TOKEN.
- Make static
- When printing CURR_TOKEN surround it in [[ ]].
- Start printing at START_TOKEN.
- Update all users.
- (cp_debug_print_tree_if_set): New.
- (cp_debug_print_context): New.
- (cp_debug_print_context_stack): New.
- (cp_debug_print_flag): New.
- (cp_debug_print_unparsed_function): New.
- (cp_debug_print_unparsed_queues): New.
- (cp_debug_parser_tokens): New.
- (cp_debug_parser): New.
- (cp_lexer_start_debugging): Set cp_lexer_debug_stream to stderr.
- (cp_lexer_stop_debugging): Set cp_lexer_debug_stream to NULL.
- * parser.h (cp_lexer_dump_tokens): Remove declaration.
- (cp_debug_parser): Declare.
-
-2011-10-17 Michael Spertus <mike_spertus@symantec.com>
-
- * cp-tree.def: Add BASES as a new tree code.
- * cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES.
- (BASES_TYPE, BASES_DIRECT): Define.
- (calculate_bases, finish_bases, calculate_direct_bases): Declare.
- * parser.c (cp_parser_trait_expr, cp_parser_template_argument_list,
- (cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them.
- * pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise.
- * semantics.c (calculate_bases, finish_bases, calculate_direct_bases,
- dfs_calculate_bases_pre, dfs_calculate_bases_post,
- calculate_bases_helper): Define.
-
-2011-10-17 Jason Merrill <jason@redhat.com>
-
- PR c++/50736
- * parser.c (cp_parser_lambda_introducer): Check for more
- invalid captures.
-
-2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44524
- * typeck.c (build_class_member_access_expr): Provide a better error
- message for X.Y where X is a pointer to class type.
- (finish_class_member_access_expr): Likewise.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * error.c (cp_diagnostic_starter): Pass the relevant location to
- diagnostic_report_current_module.
- (cp_diagnostic_finalizer): Call virt_loc_aware_diagnostic_finalizer.
-
-2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48489
- * typeck.c (finish_class_member_access_expr): Fix error call
- for TREE_CODE (access_path) == TREE_BINFO.
-
-2011-10-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50732
- * semantics.c (finish_trait_expr): Do not try to instantiate the
- the base type of an __is_base_of trait.
- (check_trait_type): Return a tree; use complete_type_or_else.
-
-2011-10-14 Jason Merrill <jason@redhat.com>
-
- PR c++/50563
- * parser.c (cp_parser_cache_group): Handle end==CPP_COMMA.
- (cp_parser_save_nsdmi): Pass it.
-
- PR c++/50707
- * method.c (walk_field_subobs): Check for NSDMI before
- complaining about uninitialized fields.
-
- * pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node
- instead of error_mark_node as a placeholder.
-
-2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/38174
- * call.c (add_builtin_candidate): If two pointers have a composite
- pointer type, generate a single candidate with that type.
-
-2011-10-13 Jason Merrill <jason@redhat.com>
-
- PR c++/50614
- * cp-tree.h (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK): New.
- (DECL_TEMPLATE_INFO): Use it.
- * pt.c (tsubst_decl) [FIELD_DECL]: Set DECL_TEMPLATE_INFO
- if the decl has an NSDMI.
- * init.c (perform_member_init): Use it.
-
- PR c++/50437
- * cp-tree.h (struct tree_lambda_expr): Add closure field.
- (LAMBDA_EXPR_CLOSURE): New.
- * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Likewise.
- * semantics.c (build_lambda_object): Use it instead of TREE_TYPE.
- (begin_lambda_type, lambda_function, add_capture): Likewise.
- (add_default_capture, lambda_expr_this_capture): Likewise.
-
-2011-10-13 Diego Novillo <dnovillo@google.com>
-
- * cp-tree.h (struct language_function): Rename in_function_try_handler
- to x_in_function_try_handler.
- Rename in_base_initializer to x_in_base_initializer.
- Update all users.
-
-2011-10-13 Diego Novillo <dnovillo@google.com>
-
- * class.c (sorted_fields_type_new): Factor out of ...
- (finish_struct_1): ... here.
-
-2011-10-13 Jason Merrill <jason@redhat.com>
-
- PR c++/50618
- * init.c (expand_aggr_init_1): Don't zero-initialize virtual
- bases of a base subobject.
-
-2011-10-12 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50594
- * decl.c (cxx_init_decl_processing): Add
- __attribute__((externally_visible)) to operator new and
- operator delete library fn.
-
-2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * decl.c (duplicate_decls): Delete old interface with two parallel
- arrays to hold standard builtin declarations, and replace it with
- a function based interface that can support creating builtins on
- the fly in the future. Change all uses, and poison the old
- names. Make sure 0 is not a legitimate builtin index.
- * except.c (build_eh_type_type): Ditto.
- (choose_personality_routine): Ditto.
- * semantics.c (finish_omp_atomic): Ditto.
- (finish_omp_barrier): Ditto.
- (finish_omp_flush): Ditto.
- (finish_omp_taskwait): Ditto.
-
-2011-10-11 Jason Merrill <jason@redhat.com>
-
- PR c++/49855
- PR c++/49896
- * cp-tree.def (IMPLICIT_CONV_EXPR): New.
- * call.c (perform_implicit_conversion_flags): Build it
- instead of NOP_EXPR.
- * cp-objcp-common.c (cp_common_init_ts): It's typed.
- * cxx-pretty-print.c (pp_cxx_cast_expression): Handle it.
- (pp_cxx_expression): Likewise.
- * error.c (dump_expr): Likewise.
- * semantics.c (potential_constant_expression_1): Likewise.
- * tree.c (cp_tree_equal): Likewise.
- (cp_walk_subtrees): Likewise.
- * pt.c (iterative_hash_template_arg): Likewise.
- (for_each_template_parm_r): Likewise.
- (type_dependent_expression_p): Likewise.
- (tsubst_copy, tsubst_copy_and_build): Handle IMPLICIT_CONV_EXPR
- and CONVERT_EXPR.
- * cp-tree.h (IMPLICIT_CONV_EXPR_DIRECT_INIT): New.
-
-2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50611
- * pt.c (tsubst_copy_and_build): If (complain & tf_error) is false
- do not call unqualified_name_lookup_error.
-
-2011-10-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50660
- * call.c (conversion_null_warnings): Don't look through references.
-
-2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/38980
- * init.c (constant_value_1): Add bool parameter.
- (decl_constant_value_safe): Add.
- (integral_constant_value): Adjust.
- (decl_constant_value): Adjust.
- * cp-tree.h (decl_constant_value_safe): Declare.
- * typeck.c (decay_conversion): Use decl_constant_value_safe.
- * call.c (convert_like_real): Likewise.
-
-2011-10-09 Jakub Jelinek <jakub@redhat.com>
- Diego Novillo <dnovillo@google.com>
-
- * pt.c (reregister_specialization): Use htab_find instead of
- htab_find_slot with INSERT.
- (maybe_process_partial_specialization, lookup_template_class_1): Change
- slot variable type to void ** to avoid aliasing problems.
- (register_specialization): Likewise. Use slot != NULL instead of
- more expensive !optimize_specialization_lookup_p (tmpl) test.
-
-2011-10-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/34927
- * typeck2.c (abstract_virtuals_error_sfinae): Don't produce duplicate
- inform messages in case of cloned destructor.
-
-2011-10-06 Jason Merrill <jason@redhat.com>
-
- PR c++/39164
- * decl.c (grokfndecl): Diagnose redefinition of defaulted fn.
-
-2011-10-02 Jason Merrill <jason@redhat.com>
-
- * pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
- Change unsubstituted_packs to bool.
-
- * parser.c (cp_parser_range_for): Don't try to deduce from {}
- in a template.
-
- PR c++/35722
- Implement N2555 (expanding pack expansion to fixed parm list)
- * pt.c (coerce_template_parms): Allow expanding a pack expansion
- to a fixed-length argument list.
- (unify_pack_expansion): Handle explicit args properly.
- (unify) [TREE_VEC]: Handle pack expansions here.
- [TYPE_ARGUMENT_PACK]: Not here.
- (tsubst_pack_expansion): Don't try to do partial substitution.
- (pack_deducible_p): New.
- (fn_type_unification): Use it.
- (find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
- of a type parameter.
- (check_non_deducible_conversion): Split from type_unification_real.
- (unify_one_argument): Split from type_unification_real...
- (unify_pack_expansion): ...and here. Drop call_args_p parm.
- (type_unification_real, unify, more_specialized_fn): Adjust.
-
- * class.c (fixed_type_or_null): Handle NSDMI.
- * method.c (walk_field_subobs): Disable NSDMI noexcept checking
- for now.
-
-2011-09-30 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (TREE_NEGATED_INT): Remove.
- * semantics.c (finish_unary_op_expr): Don't set it.
-
-2011-09-30 Janis Johnson <janisjo@codesourcery.com>
-
- PR c++/44473
- * mangle.c (write_type): Handle CV qualifiers for decimal classes.
-
-2011-09-26 Andi Kleen <ak@linux.intel.com>
-
- * repo.c (finish_repo): Use HOST_WIDE_INT_PRINT_HEX_PURE.
-
-2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/45278
- * typeck.c (cp_build_binary_op): With -Wextra, warn for ordered
- comparison of pointer with zero.
-
-2011-09-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/31489
- * parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE,
- set CLASSTYPE_DECLARED_CLASS.
-
-2011-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * decl.c (duplicate_decls): If compatible stpcpy prototype
- is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
-
-2011-09-26 Jason Merrill <jason@redhat.com>
-
- PR c++/45012
- * pt.c (tsubst_copy_and_build) [CONST_DECL]: Don't pull out
- constant value if we're still in a template.
-
- PR c++/46105
- * typeck.c (structural_comptypes): Ignore cv-quals on typename scope.
-
- PR c++/50508
- * semantics.c (cxx_eval_logical_expression): Use tree_int_cst_equal
- rather than ==.
-
-2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/45487
- * error.c (dump_template_bindings): Separate bindings with semicolons
- instead of commas.
-
-2011-09-26 Jason Merrill <jason@redhat.com>
-
- PR c++/50512
- * call.c (compare_ics): Only consider rvaluedness_matches_p
- if the target type is the same or it too differs in rvalueness.
-
- PR c++/50523
- * call.c (implicit_conversion): Mask out inappropriate LOOKUP
- flags at the top of the function.
-
- * pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.
-
-2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- * pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.
-
-2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/26747
- * cp-gimplify.c (get_bc_label): Remove obsolete diagnostics.
-
-2011-09-25 Jason Merrill <jason@redhat.com>
-
- * parser.c (inject_this_parameter): Split out from
- cp_parser_late_return_type_opt.
- (cp_parser_class_specifier_1): Use it for NSDMIs.
- * tree.c (bot_replace): Replace NSDMI 'this' with real 'this'.
-
-2011-09-24 Jason Merrill <jason@redhat.com>
-
- * except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
- * cp-tree.h: Declare it.
- * method.c (walk_field_subobs): Use it.
-
- * init.c (perform_member_init): Instantiate NSDMI here.
- * pt.c (tsubst_decl) [FIELD_DECL]: Not here.
-
- Handle deferred parsing of NSDMIs.
- * parser.h (cp_unparsed_functions_entry): Add nsdmis field.
- * parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New.
- (cp_parser_late_parse_one_default_arg): Split out from
- cp_parser_late_parsing_default_args.
- (cp_parser_late_parsing_nsdmi): New.
- (push_unparsed_function_queues): Set it.
- (cp_parser_parameter_declaration): Save the '=' token.
- (cp_parser_template_parameter): Likewise.
- (cp_parser_default_argument): Call cp_parser_initializer
- rather than cp_parser_initializer_clause.
- (cp_parser_class_specifier_1): Parse unparsed_nsdmis.
- (cp_parser_member_declaration): Handle nsdmis.
- * decl2.c (grokfield): Handle DEFAULT_ARG for a function.
-
- Implement C++11 non-static data member initializers.
- * cp-tree.h (enum cpp_warn_str): Add CPP0X_NSDMI.
- * error.c (maybe_warn_cpp0x): Handle it.
- * call.c (convert_like_real) [ck_user]: Don't complain about
- using an explicit constructor for direct-initialization.
- * class.c (check_field_decl): Fix ancient typo.
- (check_field_decls): NSDMIs make the default ctor non-trivial.
- * decl.c (cp_finish_decl): Record NSDMI.
- (grokdeclarator): Allow NSDMI.
- * decl2.c (grokfield): Allow NSDMI. Correct LOOKUP flags.
- * init.c (perform_member_init): Use NSDMI.
- * method.c (walk_field_subobs): Check for NSDMI.
- * parser.c (cp_parser_member_declaration): Parse { } init.
- * semantics.c (register_constexpr_fundef): Don't talk about
- a return statement in a constexpr constructor.
- (cxx_eval_call_expression): Check DECL_INITIAL instead of
- DECL_SAVED_TREE.
-
-2011-09-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44267
- * class.c (build_base_path): Add a tsubst_flags_t parameter.
- (convert_to_base): Adjust call.
- * typeck.c (build_class_member_access_expr,
- get_member_function_from_ptrfunc, build_static_cast_1): Likewise.
- * init.c (dfs_initialize_vtbl_ptrs, emit_mem_initializers): Likewise.
- * method.c (do_build_copy_constructor, do_build_copy_assign): Likewise.
- * rtti.c (build_dynamic_cast_1): Likewise.
- * typeck2.c (build_scoped_ref, build_m_component_ref): Likewise.
- * call.c (build_over_call, build_special_member_call): Likewise.
- * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
- build_up_reference): Likewise.
- * cp-tree.h (build_base_path): Adjust declaration.
-
-2011-09-23 Jason Merrill <jason@redhat.com>
-
- Core 253 - allow const objects with no initializer or
- user-provided default constructor if the defaulted constructor
- initializes all the subobjects.
- PR c++/20039
- PR c++/42844
- * class.c (default_init_uninitialized_part): New.
- * cp-tree.h: Declare it.
- * decl.c (check_for_uninitialized_const_var): Use it.
- * init.c (perform_member_init): Likewise.
- (build_new_1): Likewise.
- * method.c (walk_field_subobs): Likewise.
-
-2011-09-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50258
- * decl.c (check_static_variable_definition): Allow in-class
- initialization of static data member of non-integral type in
- permissive mode.
-
-2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50491
- * semantics.c (potential_constant_expression_1): Handle USING_DECL.
-
-2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50371
- * pt.c (invalid_nontype_parm_type_p): Handle NULLPTR_TYPE.
-
-2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50344
- * friend.c (make_friend_class): cv-qualification is ok in a
- friend declaration.
-
-2011-09-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50454
- * decl.c (grokdeclarator): Consistently handle both __int128
- and unsigned __int128 with -pedantic; suppress diagnostic in
- system headers.
-
-2011-09-20 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (DECL_TEMPLOID_INSTANTIATION): New.
- (DECL_GENERATED_P): New.
- * class.c (finalize_literal_type_property): Use them.
- * semantics.c (is_instantiation_of_constexpr): Likewise.
- (register_constexpr_fundef): Likewise.
-
- * call.c (convert_default_arg): Avoid redundant copy.
- * tree.c (bot_manip): Copy everything.
-
-2011-09-20 Roberto Agostino Vitillo <ravitillo@lbl.gov>
-
- * call.c (build_new_method_call_1): Use non-virtual lookup
- for final virtual functions.
-
-2011-09-16 Jason Merrill <jason@redhat.com>
-
- PR c++/50424
- * call.c (set_flags_from_callee): Split out from build_call_a.
- * cp-tree.h: Declare it.
- * tree.c (bot_manip): Call it.
-
-2011-09-15 Jason Merrill <jason@redhat.com>
-
- PR c++/50365
- * parser.c (cp_parser_late_return_type_opt): Check quals parameter
- for clearing current_class_ptr, too.
-
-2011-09-14 Diego Novillo <dnovillo@google.com>
-
- * name-lookup.c (lookup_arg_dependent): Use conditional
- timevars.
- * decl.c (xref_tag): Likewise.
-
-2011-09-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50391
- * pt.c (regenerate_decl_from_template): Don't pass an error_mark_node
- to build_exception_variant.
-
-2011-09-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48320
- * pt.c (template_parameter_pack_p): Support TEMPLATE_PARM_INDEX
- nodes. Add a comment.
- (arg_from_parm_pack_p): New static function, factorized out from
- tsubst_pack_expansion and extended to support non-type parameter
- packs represented with TEMPLATE_PARM_INDEX nodes.
- (tsubst_pack_expansion): Use arg_from_parm_pack_p.
-
-2011-09-12 Jason Merrill <jason@redhat.com>
-
- * pt.c (type_unification_real): Fix handling of DEDUCE_CONV
- with no deducible template parameters.
- * call.c (rejection_reason_code): Add rr_template_conversion.
- (print_z_candidate): Handle it.
- (template_conversion_rejection): New.
- (build_user_type_conversion_1): Use it.
-
- * call.c (merge_conversion_sequences): Set bad_p and user_conv_p
- on all of the second conversion sequence.
- (build_user_type_conversion_1): Set bad_p on the ck_user conv.
- (convert_like_real): Handle bad ck_ref_bind with user_conv_p in the
- first section. Fix loop logic.
- (initialize_reference): Call convert_like for diagnostics when
- we have a (bad) conversion.
-
- * call.c (convert_class_to_reference)
- (convert_class_to_reference_1): Remove.
- (reference_binding): Use build_user_type_conversion_1 instead.
-
- * call.c (initialize_reference): Add flags parm.
- * decl.c (grok_reference_init): Likewise.
- (check_initializer): Pass it.
- * typeck.c (convert_for_initialization): Likewise.
- * cp-tree.h: Adjust.
-
- * cp-tree.h (LOOKUP_NO_RVAL_BIND): New.
- * call.c (conditional_conversion): Use it.
- (reference_binding): Fix handling of xvalues.
-
-2011-09-09 Jason Merrill <jason@redhat.com>
-
- * call.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P
- before forcing instantiation.
-
-2011-09-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50324
- * typeck2.c (digest_init_r): Call complete_type_or_maybe_complain
- instead of complete_type_or_else.
-
-2011-09-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/33255 - Support -Wunused-local-typedefs warning
- * name-lookup.c (pushdecl_maybe_friend_1): Use the new
- record_locally_defined_typedef.
- * decl.c (finish_function): Use the new
- maybe_warn_unused_local_typedefs.
- (grokfield): Use the new record_locally_defined_typedef.
- * parser.c (lookup_name): Use the new maybe_record_typedef_use.
-
-2011-09-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50309
- * decl.c (grokdeclarator): Check u.function.exception_specification
- for error_mark_node.
-
-2011-09-07 Jason Merrill <jason@redhat.com>
-
- PR c++/50298
- * parser.c (cp_parser_member_declaration): Don't require a constant
- rvalue here in C++0x.
-
- * pt.c (type_unification_real): Correct complain arg for tsubsting
- default template args.
-
- * pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting.
-
-2011-09-06 Jason Merrill <jason@redhat.com>
-
- PR c++/50296
- * semantics.c (register_constexpr_fundef): Call is_valid_constexpr_fn.
- (cx_check_missing_mem_inits): Handle bases and empty trivial members.
- (validate_constexpr_fundecl): Remove.
- * decl.c (start_preparsed_function): Don't call it.
- * cp-tree.h: Don't declare it.
-
-2011-09-04 Jason Merrill <jason@redhat.com>
-
- PR c++/49267
- * call.c (reference_binding): Don't set is_lvalue for an rvalue
- reference rfrom.
-
- PR c++/49267
- PR c++/49458
- DR 1328
- * call.c (reference_binding): Set rvaluedness_matches_p properly
- for reference to function conversion ops.
- (compare_ics): Adjust.
-
- * class.c (trivial_default_constructor_is_constexpr): Rename from
- synthesized_default_constructor_is_constexpr.
- (type_has_constexpr_default_constructor): Adjust.
- (add_implicitly_declared_members): Call it instead.
- (explain_non_literal_class): Explain about non-constexpr default ctor.
- * cp-tree.h: Adjust.
- * method.c (synthesized_method_walk): Adjust.
- * semantics.c (explain_invalid_constexpr_fn): Handle defaulted
- functions, too.
-
- PR c++/50248
- Core 1358
- * init.c (perform_member_init): Don't diagnose missing inits here.
- (emit_mem_initializers): Or here.
- * method.c (process_subob_fn): Don't instantiate constexpr ctors.
- * semantics.c (cx_check_missing_mem_inits): New.
- (explain_invalid_constexpr_fn): Call it.
- (register_constexpr_fundef): Likewise. Leave
- DECL_DECLARED_CONSTEXPR_P set when the body is unsuitable.
- (cxx_eval_call_expression): Adjust diagnostics.
- (cxx_eval_constant_expression): Catch use of 'this' in a constructor.
-
-2011-08-30 Jason Merrill <jason@redhat.com>
-
- PR c++/50084
- * cp-tree.h (cp_decl_specifier_seq): Rename user_defined_type_p
- to type_definition_p.
- * parser.c (cp_parser_set_decl_spec_type): Likewise.
- * decl.c (grokdeclarator): Check it.
-
- PR c++/50089
- * semantics.c (finish_id_expression): Use
- current_nonlambda_class_type for qualified-ids.
-
- PR c++/50114
- * decl.c (poplevel): Disable for scope compatibility hack
- in C++11 mode.
-
- PR c++/50220
- * semantics.c (add_capture): Call complete_type for copy.
-
- PR c++/50234
- * semantics.c (cxx_eval_component_reference): Handle
- value-initialization for omitted initializers.
-
-2011-08-29 Jason Merrill <jason@redhat.com>
-
- PR c++/50224
- * semantics.c (finish_id_expression): Mark captured variables used.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/50207
- * class.c (finish_struct_1): Complain if the first field is
- artificial.
-
-2011-08-29 Jason Merrill <jason@redhat.com>
-
- PR c++/50209
- Core DR 994
- * parser.c (cp_parser_default_argument): Use
- cp_parser_initializer_clause.
- (cp_parser_late_parsing_default_args): Likewise.
-
-2011-08-26 Jason Merrill <jason@redhat.com>
-
- Core DR 342
- PR c++/48582
- * pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
- is valid in C++11.
- (convert_nontype_argument): Likewise. Implicitly convert nullptr
- and do constant folding.
- * mangle.c (write_template_arg_literal): Mangle null member
- pointer values as 0.
- * call.c (null_member_pointer_value_p): New.
- * cp-tree.h: Declare it.
-
-2011-08-25 Jason Merrill <jason@redhat.com>
-
- * call.c (convert_like_real): Remove redundant complain checks.
-
- PR c++/50157
- * call.c (convert_like_real): Exit early if bad and !tf_error.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- * typeck2.c (build_functional_cast): Don't try to avoid calling
- build_value_init.
- * pt.c (instantiate_class_template_1): Don't copy TYPE_HAS_* flags.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- PR c++/49045
- Core 1321
- * tree.c (dependent_name): New.
- (cp_tree_equal): Two calls with the same dependent name are
- equivalent even if the overload sets are different.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- * tree.c (build_target_expr): Set TREE_CONSTANT on
- literal TARGET_EXPR if the value is constant.
- * typeck2.c (build_functional_cast): Don't set it here.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- Core 903 (partial)
- * call.c (null_ptr_cst_p): Only 0 qualifies in C++11.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- Core 975
- * decl.c (cxx_init_decl_processing): Initialize
- dependent_lambda_return_type_node.
- * cp-tree.h (cp_tree_index): Add CPTI_DEPENDENT_LAMBDA_RETURN_TYPE.
- (dependent_lambda_return_type_node): Define.
- (DECLTYPE_FOR_LAMBDA_RETURN): Remove.
- * semantics.c (lambda_return_type): Handle overloaded function.
- Use dependent_lambda_return_type_node instead of
- DECLTYPE_FOR_LAMBDA_RETURN.
- (apply_lambda_return_type): Don't check dependent_type_p.
- * pt.c (tsubst_copy_and_build): Handle lambda return type deduction.
- (instantiate_class_template_1): Likewise.
- (tsubst): Don't use DECLTYPE_FOR_LAMBDA_RETURN.
- * mangle.c (write_type): Likewise.
- * typeck.c (structural_comptypes): Likewise.
- (check_return_expr): Handle dependent_lambda_return_type_node.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- PR c++/50024
- * semantics.c (maybe_constant_value): Don't try to fold { }.
- * pt.c (build_non_dependent_expr): Don't wrap { }.
- * init.c (build_value_init): Allow scalar value-init in templates.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- * semantics.c (potential_constant_expression_1): Allow 'this'.
-
-2011-08-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/50158
- * typeck.c (cp_build_modify_expr): Call mark_rvalue_use on rhs
- if it has side-effects and needs to be preevaluated.
-
-2011-08-23 Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
-
- PR c++/50055
- * except.c (begin_eh_spec_block): Build EH_SPEC block on the
- same line as the function.
-
-2011-08-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/46862
- * class.c (finish_struct_1): If TYPE_TRANSPARENT_AGGR is set on a type
- which doesn't have any fields, clear it and diagnose.
-
-2011-08-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Marc Glisse <marc.glisse@normalesup.org>
-
- PR libstdc++-v3/1773
- * mangle.c (decl_mangling_context): Call
- targetm.cxx.decl_mangling_context.
- (write_unscoped_name): Use decl_mangling_context.
-
-2011-08-18 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/45625
- * pt.c (parameter_of_template_p): Handle comparison with DECLs of
- template parameters as created by process_template_parm.
-
-2011-08-16 Jason Merrill <jason@redhat.com>
-
- PR c++/50086
- * pt.c (unify_pack_expansion): Correct overloaded unification
- logic.
-
- * pt.c (instantiate_class_template_1): If DECL_PRESERVE_P is set
- on a member function or static data member, call mark_used.
-
- PR c++/50054
- * typeck2.c (cxx_incomplete_type_diagnostic): Handle
- init_list_type_node.
-
-2011-08-13 Jason Merrill <jason@redhat.com>
-
- PR c++/50075
- * name-lookup.c (local_bindings_p): New.
- * name-lookup.h: Declare it.
- * lex.c (unqualified_name_lookup_error): Use it.
-
- PR c++/50059
- * error.c (dump_expr): Handle MODIFY_EXPR properly.
-
- * decl.c (grok_reference_init): Handle constexpr here.
- * call.c (initialize_reference): Not here.
-
-2011-08-12 David Li <davidxl@google.com>
-
- * class.c (update_vtable_entry_for_fn): Set
- LOST_PRIMARY bit properly.
-
-2011-08-12 Jason Merrill <jason@redhat.com>
-
- PR c++/50034
- * call.c (convert_arg_to_ellipsis): force_rvalue only in
- potentially evaluated context.
-
-2011-08-12 Richard Guenther <rguenther@suse.de>
-
- * call.c (build_over_call): Instead of memcpy use an
- assignment of two MEM_REFs.
-
-2011-08-11 Romain Geissler <romain.geissler@gmail.com>
- Brian Hackett <bhackett1024@gmail.com>
-
- * decl.c (cp_finish_decl): Invoke callbacks on finish_decl event.
-
-2011-08-10 Richard Guenther <rguenther@suse.de>
-
- * call.c (build_over_call): Call memcpy unconditionally.
-
-2011-08-08 Jason Merrill <jason@redhat.com>
-
- PR c++/50020
- * semantics.c (finish_call_expr): Don't look at 'this' if we
- had an explicit object argument.
-
- PR c++/50011
- * typeck2.c (check_narrowing): Fix integer logic.
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Make-lang.in (g++$(exeext)): Add $(EXTRA_GCC_LIBS).
-
-2011-08-05 Jason Merrill <jason@redhat.com>
-
- PR c++/48993
- * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Sorry
- on 'this' in a constructor.
-
- PR c++/49921
- * semantics.c (finish_decltype_type): Call invalid_nonstatic_memfn_p.
-
- PR c++/49669
- * init.c (perform_member_init): Handle invalid array initializer.
-
- PR c++/49988
- * semantics.c (cxx_eval_array_reference): Handle failure to
- reduce the array operand to something we can work with.
-
-2011-08-05 Gabriel Charette <gchare@google.com>
-
- * decl.c (finish_function): Remove unecessary line 0 hack.
-
-2011-08-05 Jason Merrill <jason@redhat.com>
-
- PR c++/47453
- * typeck.c (build_x_compound_expr_from_list): Also complain
- about ({...}).
-
- PR c++/49812
- * typeck.c (cp_build_unary_op) [POSTINCREMENT_EXPR]: Strip cv-quals.
-
- PR c++/49983
- * parser.c (cp_parser_range_for): Only do auto deduction in
- template if the range is non-dependent.
-
- * init.c (perform_member_init): Always build_aggr_init
- for a class member with an explicit mem-initializer.
-
- * pt.c (unify) [TEMPLATE_TYPE_PARM]: Allow VLA for C++0x 'auto'.
-
-2011-08-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49905
- * decl.c (cxx_init_decl_processing): Add alloc_size (1) attribute
- for operator new and operator new []. Call init_attributes.
-
-2011-08-02 Jason Merrill <jason@redhat.com>
-
- PR c++/43886
- * parser.c (cp_parser_lambda_body): Clear local_variables_forbidden_p.
-
- PR c++/49577
- * typeck2.c (check_narrowing): Check unsigned mismatch.
- * semantics.c (finish_compound_literal): check_narrowing.
-
- PR c++/49593
- * pt.c (find_parameter_packs_r): Handle CONSTRUCTOR.
-
- PR c++/49803
- * init.c (sort_mem_initializers): Initialize uses_unions_p here.
- (build_field_list): Not here.
-
- PR c++/49834
- * parser.c (build_range_temp): Split out from...
- (cp_convert_range_for): ...here.
- (do_range_for_auto_deduction): New.
- (cp_parser_range_for): Use it.
-
-2011-08-02 Jakub Jelinek <jakub@redhat.com>
-
- * cp-tree.h (finish_omp_atomic): Adjust prototype.
- (cxx_omp_const_qual_no_mutable): New prototype.
- (finish_omp_taskyield): New prototype.
- * parser.c (cp_parser_omp_atomic): (cp_parser_omp_atomic): Handle
- parsing OpenMP 3.1 atomics. Adjust finish_omp_atomic caller.
- (cp_parser_omp_clause_name): Handle final and mergeable clauses.
- (cp_parser_omp_clause_final, cp_parser_omp_clause_mergeable): New
- functions.
- (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FINAL
- and PRAGMA_OMP_CLAUSE_MERGEABLE.
- (OMP_TASK_CLAUSE_MASK): Allow final and mergeable clauses.
- (cp_parser_omp_taskyield): New function.
- (cp_parser_pragma): Handle PRAGMA_OMP_TASKYIELD.
- (cp_parser_omp_clause_reduction): Handle min and max.
- * pt.c (tsubst_expr) <case OMP_ATOMIC>: Handle OpenMP 3.1 atomics.
- (tsubst_omp_clauses): Handle OMP_CLAUSE_FINAL and
- OMP_CLAUSE_MERGEABLE.
- * semantics.c (finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
- arguments. Handle OpenMP 3.1 atomics. Adjust c_finish_omp_atomic
- caller.
- (finish_omp_clauses): Don't complain about const qualified
- predetermined vars and static data members in firstprivate clause.
- Handle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE. Handle MIN_EXPR
- and MAX_EXPR.
- (finish_omp_taskyield): New function.
- * cp-gimplify.c (cxx_omp_const_qual_no_mutable): New function.
- (cxx_omp_predetermined_sharing): Use it.
-
-2011-08-02 Jason Merrill <jason@redhat.com>
-
- * call.c (build_call_a): Also check at_function_scope_p.
-
-2011-08-01 Jason Merrill <jason@redhat.com>
-
- PR c++/49932
- * mangle.c (write_prefix): Handle decltype.
-
- PR c++/49924
- * semantics.c (cxx_eval_vec_init_1): Fix logic.
-
- PR c++/49813
- * semantics.c (potential_constant_expression_1): Allow any builtin.
- (morally_constexpr_builtin_function_p): Remove.
-
-2011-07-29 Jason Merrill <jason@redhat.com>
-
- PR c++/49867
- * parser.c (cp_parser_lambda_expression): Also clear in_statement
- and in_switch_statement_p.
- (cp_parser_class_specifier): Likewise.
-
-2011-07-28 Jason Merrill <jason@redhat.com>
-
- PR c++/49808
- * pt.c (tsubst) [TEMPLATE_PARM_INDEX]: Call convert_from_reference.
- (convert_nontype_argument, tsubst_template_arg): Handle its output.
-
-2011-07-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49813
- * semantics.c (potential_constant_expression_1): Handle FMA_EXPR.
-
-2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
-
- * pt.c (build_template_decl): Copy the function_decl's
- source location to the new template_decl.
-
-2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49776
- * typeck.c (cp_build_modify_expr): Check digest_init return value
- for error_mark_node.
-
-2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR bootstrap/49845
- * parser.c (cp_parser_perform_range_for_lookup): Always assign *being
- and *end before returning.
-
-2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49838
- * parser.c (cp_parser_perform_range_for_lookup): Early return if
- error_operand_p (range).
-
-2011-07-23 Jason Merrill <jason@redhat.com>
-
- PR c++/49823
- * parser.c (cp_parser_qualifying_entity): Handle templates.
-
-2011-07-22 Jason Merrill <jason@redhat.com>
-
- PR c++/49793
- * typeck2.c (check_narrowing): Downgrade permerror to pedwarn.
- Make conditional on -Wnarrowing.
-
-2011-07-22 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Warn about the use of final/override in non-c++0x mode, and
- add __final for non-c++0x mode.
- * cp-tree.h (cpp0x_warn_str): Add CPP0X_OVERRIDE_CONTROLS.
- * error.c (maybe_warn_cpp0x): Adjust.
- * parser.c (cp_parser_virt_specifier_seq_opt): Use it. Add
- '__final' as a non-c++0x alternative for 'final'.
-
-2011-07-22 Jason Merrill <jason@redhat.com>
- Mark Glisse <marc.glisse@normalesup.org>
-
- PR c++/30112
- * decl.c (cp_finish_decl): Apply pragma redefine_extname in
- other namespaces as well.
- * name-lookup.c (c_linkage_bindings): Define.
- (lookup_extern_c_fun_in_all_ns): Rename from
- lookup_extern_c_fun_binding_in_all_ns. Return tree.
- (pushdecl_maybe_friend_1): Adjust. Copy DECL_ASSEMBLER_NAME.
-
-2011-07-20 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]=
- designated initializer syntax.
- * decl.c (check_array_designated_initializer): Add index parm.
- (maybe_deduce_size_from_array_init): Pass it.
- (reshape_init_array_1): Likewise.
-
- PR c++/6709 (DR 743)
- PR c++/42603 (DR 950)
- * parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New.
- (cp_parser_nested_name_specifier_opt): Allow decltype.
- (cp_parser_qualifying_entity): Likewise.
- (cp_parser_decltype): Replace source tokens with CPP_DECLTYPE.
- (cp_parser_simple_type_specifier): Handle decltype as scope.
- (cp_parser_base_specifier): Allow decltype.
- (cp_parser_base_clause): Don't crash on null base.
- * parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h.
- (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
-
-2011-07-19 Jason Merrill <jason@redhat.com>
-
- PR c++/49785
- * pt.c (coerce_template_parms): Handle non-pack after pack.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * call.c (build_special_member_call): Use fold_build_pointer_plus.
- * class.c (build_base_path): Likewise.
- (convert_to_base_statically): Likewise.
- (dfs_accumulate_vtbl_inits): Likewise.
- * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
- * except.c (expand_start_catch_block): Likewise.
- * init.c (expand_virtual_init): Likewise.
- (build_new_1): Likewise.
- (build_vec_delete_1): Likewise.
- (build_vec_delete): Likewise.
- * rtti.c (build_headof): Likewise.
- (tinfo_base_init): Likewise.
- * typeck.c (get_member_function_from_ptrfunc): Likewise.
- (cp_build_addr_expr_1): Likewise.
- * typeck2.c (build_m_component_ref): Likewise.
-
-2011-07-18 Martin Jambor <mjambor@suse.cz>
-
- * parser.c (cp_parser_parameter_declaration_list): Initialize
- parenthesized_p.
-
-2011-07-16 Jason Merrill <jason@redhat.com>
-
- * pt.c (tinst_level_tick, last_template_error_tick): Replace with
- last_error_tinst_level.
- (push_tinst_level, pop_tinst_level): Adjust.
- (problematic_instantiation_changed): Adjust.
- (record_last_problematic_instantiation): Adjust.
- * error.c (cp_print_error_function): Don't print
- current_function_decl if we're in a template instantiation context.
- (print_instantiation_full_context): Always print first line.
-
-2011-07-16 Nathan Froyd <froydnj@codesourcery.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/45329
- PR c++/48934
- * cp-tree.h (fn_type_unification): Add `bool' parameter.
- * pt.c (enum template_base_result): Define.
- (unify_success, unify_unknown): Define.
- (unify_parameter_deduction_failure): Define.
- (unify_invalid, unify_cv_qual_mismatch, unify_type_mismatch): Define.
- (unify_parameter_pack_mismatch): Define.
- (unify_parameter_pack_inconsistent): Define.
- (unify_ptrmem_cst_mismatch, unify_vla_arg): Define.
- (unify_expression_unequal, unify_inconsistency): Define.
- (unify_method_type_error, unify_arity): Likewise.
- (unify_too_many_parameters, unify_too_few_parameters): Define.
- (unify_arg_conversion, unify_no_common_base): Define.
- (unify_illformed_ptrmem_cst_expr): Define.
- (unify_substitution_failure): Define.
- (unify_inconsistent_template_template_parameters): Define.
- (unify_template_deduction_failure): Define.
- (unify_template_argument_mismatch): Define.
- (unify_overload_resolution_failure): Define.
- (comp_template_args_with_info): New function, split out from...
- (comp_template_args): ...here. Call it.
- (deduction_tsubst_fntype): Add `complain' parameter'. Pass it
- to tsubst.
- (unify): Add `explain_p' parameter. Pass to all relevant calls.
- Call above status functions when appropriate.
- (resolve_overloaded_unification, try_one_overload): Likewise.
- (type_unification, type_unification_real): Likewise.
- (unify_pack_expansion): Likewise.
- (get_template_base, try_class_unification): Likewise.
- (get_bindings, more_specialized_fn): Pass false to unification
- calls.
- (get_class_bindings, do_auto_deduction): Likewise.
- (convert_nontype_argument): Likewise.
- (fn_type_unification): Likewise. Pass tf_warning_or_error if
- explain_p.
- (get_template_base): Add `explain_p' parameter and pass it to
- try_class_unification. Return an enum template_base_result.
- * class.c (resolve_address_of_overloaded_function): Pass false to
- fn_type_unification.
- * call.c (enum rejection_reason_code): Add new codes.
- (struct rejection_reason): Add template_unification field.
- Add template_instantiation field.
- (template_unification_rejection): Define.
- (template_unification_error_rejection): Define.
- (template_instantiation_rejection): Define.
- (invalid_copy_with_fn_template_rejection): Define.
- (add_template_candidate): Pass false to unify.
- Provide more rejection reasons when possible.
- (print_template_unification_rejection): Define.
- (print_arity_rejection): Define, split out from...
- (print_z_candidate): ...here. Add cases for new rejection
- reasons.
-
-2011-07-15 Jason Merrill <jason@redhat.com>
-
- * Make-lang.in (check-g++-strict-gc): New.
- (cp/except.o): Depend on gt-cp-except.h
- * except.c: Include gt-cp-except.h.
- * config-lang.in (gtfiles): Add cp/except.c.
- * decl2.c (mark_used): Adjust constexpr condition, set
- function_depth around template instantiation.
- * parser.c (cp_parser_lambda_body): Set function_depth.
- * semantics.c (maybe_add_lambda_conv_op): Likewise.
-
- PR testsuite/49741
- * Make-lang.in (check-c++0x): Use --extra_opts instead of--tool_opts.
-
-2011-07-13 Jason Merrill <jason@redhat.com>
-
- * Make-lang.in (check-c++0x): New.
-
-2011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
-
- * typeck2.c (split_nonconstant_init_1): Pass the initializer directly,
- rather than a pointer to it. Return true if the whole of the value
- was initialized by the generated statements. Use
- complete_ctor_at_level_p instead of count_type_elements.
-
-2011-07-12 Diego Novillo <dnovillo@google.com>
-
- * name-lookup.h (cp_binding_level): Rename from cxx_scope.
- Update all users.
- (struct cp_binding_level): Fix indentation.
-
-2011-07-11 Jason Merrill <jason@redhat.com>
-
- PR c++/49672
- * pt.c (extract_fnparm_pack): Split out from...
- (make_fnparm_pack): ...here.
- (instantiate_decl): Handle non-pack parms after a pack.
- * semantics.c (maybe_add_lambda_conv_op): Don't in a template.
-
- * decl2.c (decl_constant_var_p): Use decl_maybe_constant_var_p.
-
- PR c++/44609
- * cp-tree.h (struct tinst_level): Add errors field.
- * pt.c (neglectable_inst_p, limit_bad_template_recurson): New.
- (push_tinst_level): Don't start another decl in that case.
- (reopen_tinst_level): Adjust errors field.
- * decl2.c (cp_write_global_declarations): Don't complain about
- undefined inline if its template was defined.
- * mangle.c (mangle_decl_string): Handle failure from push_tinst_level.
-
-2011-07-10 Jason Merrill <jason@redhat.com>
-
- PR c++/49691
- * parser.c (cp_parser_late_return_type_opt): Check quals parameter
- rather than current_class_type to determine whether to set 'this'.
- (cp_parser_direct_declarator): Pass -1 to quals if member_p is false.
- (cp_parser_init_declarator): Pass down member_p.
-
-2011-07-09 Jason Merrill <jason@redhat.com>
-
- * tree.c (build_vec_init_elt): Strip TARGET_EXPR.
-
-2011-07-08 Jason Merrill <jason@redhat.com>
-
- PR c++/45437
- * typeck.c (cp_build_modify_expr): Preevaluate RHS.
-
- * method.c (use_thunk): Use cgraph_add_to_same_comdat_group.
- * optimize.c (maybe_clone_body): Likewise.
- * semantics.c (maybe_add_lambda_conv_op): Likewise.
-
- PR c++/45603
- * decl.c (expand_static_init): Don't get confused by user
- declaration of __cxa_guard_acquire.
-
- * typeck.c (cp_apply_type_quals_to_decl): Don't check
- COMPLETE_TYPE_P either.
-
- PR c++/49673
- * typeck.c (cp_apply_type_quals_to_decl): Don't check
- TYPE_NEEDS_CONSTRUCTING.
-
-2011-07-07 Jason Merrill <jason@redhat.com>
-
- PR c++/49663
- * pt.c (push_deduction_access_scope): Preserve
- processing_template_decl across push_to_top_level.
- And revert:
- * class.c (pushclass): Accept NULL argument.
- (popclass): Deal with popping null class.
- * pt.c (push_access_scope, pop_access_scope): Use them rather than
- push_to_top_level/pop_from_top_level.
- * name-lookup.c (lookup_name_real_1): Check current_class_type.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c/49644
- * typeck.c (cp_build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
- one non-complex and one complex argument, call save_expr on both
- operands.
-
-2011-07-06 Jason Merrill <jason@redhat.com>
-
- PR c++/49353
- * semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
- on kept inlines.
-
- PR c++/49568
- * method.c (make_thunk, use_thunk): Copy DECL_COMDAT.
-
-2011-07-05 Jason Merrill <jason@redhat.com>
-
- PR c++/48157
- * pt.c (tsubst_qualified_id): Preserve TEMPLATE_ID_EXPR in
- partial instantiation.
-
- PR c++/49598
- * semantics.c (finish_id_expression): convert_from_reference.
-
-2011-07-05 Richard Guenther <rguenther@suse.de>
-
- * decl.c (cxx_init_decl_processing): Defer building common
- tree nodes to c_common_nodes_and_builtins.
-
-2011-07-04 Jason Merrill <jason@redhat.com>
-
- DR 1207
- PR c++/49589
- * mangle.c (write_expression): Handle 'this'.
- * parser.c (cp_parser_postfix_dot_deref_expression): Allow
- incomplete *this.
- * semantics.c (potential_constant_expression_1): Check that
- DECL_CONTEXT is set on 'this'.
-
- * error.c (dump_template_bindings): Don't print typenames
- for a partial instantiation.
- (dump_function_decl): If we aren't printing function arguments,
- print template arguments as <args> rather than [with ...].
- (dump_expr): Don't print return type or template header.
- [BASELINK]: Use BASELINK_FUNCTIONS rather than get_first_fn.
- * pt.c (dependent_template_arg_p): Handle null arg.
-
- * error.c (type_to_string): Avoid redundant akas.
-
-2011-07-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/49605
- * init.c (build_delete): Only warn for sfk_deleting_destructor.
-
-2011-07-01 Jakub Jelinek <jakub@redhat.com>
-
- * Make-lang.in (cp/decl.o): Depend on pointer-set.h.
- (cp/class.o): Likewise.
- (cp/error.o): Likewise.
- (cp/name-lookup.o): Likewise.
- (cp/decl2.o): Likewise. Don't depend on $(POINTER_SET_H).
-
-2011-07-01 Jason Merrill <jason@redhat.com>
-
- PR c++/48261
- * pt.c (lookup_template_function): Handle non-function.
-
- PR c++/48593
- * pt.c (tsubst_qualified_id): Check PTRMEM_OK_P.
- * tree.c (build_qualified_name): Set PTRMEM_OK_P.
- * semantics.c (finish_parenthesized_expr): Clear PTRMEM_OK_P on
- SCOPE_REF, too.
- * cp-tree.h (PTRMEM_OK_P): Apply to SCOPE_REF, too.
- (QUALIFIED_NAME_IS_TEMPLATE): Switch to lang flag 1.
-
- PR c++/48883
- PR c++/49609
- * pt.c (resolve_nondeduced_context): Call mark_used.
-
- PR c++/49085
- * semantics.c (finish_offsetof): Complain about incomplete type.
-
-2011-06-30 Jason Merrill <jason@redhat.com>
-
- PR c++/49387
- * rtti.c (get_tinfo_decl): Call complete_type.
-
- PR c++/49569
- * method.c (implicitly_declare_fn): Set DECL_PARM_LEVEL and
- DECL_PARM_INDEX on rhs parm.
-
- * pt.c (iterative_hash_template_arg): Use cp_tree_operand_length.
-
- PR c++/49355
- * tree.c (stabilize_init): Handle aggregate initialization.
-
- PR c++/48481
- * name-lookup.c (struct arg_lookup): Add fn_set.
- (add_function): Check it.
- (lookup_arg_dependent_1): Initialize it.
-
-2011-06-29 Jason Merrill <jason@redhat.com>
-
- PR c++/49216
- * init.c (build_new_1): Pass {} down to build_vec_init.
- (build_vec_init): Handle it.
-
- DR 1207
- PR c++/49003
- * cp-tree.h (struct saved_scope): Add x_current_class_ptr,
- x_current_class_ref.
- (current_class_ptr, current_class_ref): Use them.
- * decl.c (build_this_parm): Handle getting the class type.
- * parser.c (cp_parser_late_return_type_opt): Set up 'this'
- for use within the trailing return type.
-
- * pt.c (tsubst_decl) [VAR_DECL]: In unevaluated operand,
- don't tsubst DECL_INITIAL unless our type use auto.
-
- PR c++/49520
- * semantics.c (constexpr_fn_retval): Handle CLEANUP_POINT_EXPR here.
- (massage_constexpr_body): Not here.
-
- PR c++/49554
- * semantics.c (lambda_proxy_type): New.
- (build_capture_proxy): Use it.
- * cp-tree.h (DECLTYPE_FOR_LAMBDA_PROXY): New.
- * pt.c (tsubst) [DECLTYPE_TYPE]: Use them.
-
- PR c++/45923
- * class.c (explain_non_literal_class): New.
- (finalize_literal_type_property): Call it.
- * cp-tree.h: Declare it.
- * semantics.c (ensure_literal_type_for_constexpr_object): Call it.
- (is_valid_constexpr_fn): Likewise.
- (massage_constexpr_body): Split out from...
- (register_constexpr_fundef): ...here.
- (is_instantiation_of_constexpr): New.
- (expand_or_defer_fn_1): Leave DECL_SAVED_TREE alone in that case.
- (explain_invalid_constexpr_fn): New.
- (cxx_eval_call_expression): Call it.
- (potential_constant_expression_1): Likewise. Avoid redundant errors.
- * method.c (process_subob_fn): Diagnose non-constexpr.
- (walk_field_subobs): Likewise.
- (synthesized_method_walk): Don't shortcut if we want diagnostics.
- (explain_implicit_non_constexpr): New.
- (defaulted_late_check): Use it.
- * call.c (build_cxx_call): Remember location.
-
- * method.c (maybe_explain_implicit_delete): Use pointer_set
- instead of htab.
-
- * class.c (finalize_literal_type_property): Update conditions.
- * method.c (defaulted_late_check): Set TYPE_HAS_CONSTEXPR_CTOR.
-
- * tree.c (build_vec_init_expr): Don't add TARGET_EXPR.
- * typeck2.c (digest_init_r): Handle VEC_INIT_EXPR.
- * semantics.c (cxx_eval_vec_init_1): Correct type.
-
- * init.c (build_value_init): Decide whether or not to zero-initialize
- based on user-providedness of default ctor, not any ctor.
- (build_value_init_noctor): Adjust assert.
-
- DR 990
- * call.c (convert_like_real) [ck_user]: Handle value-initialization.
- (build_new_method_call_1): Likewise.
- * init.c (expand_default_init): Handle direct list-initialization
- of aggregates.
-
-2011-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * cp-tree.h (union lang_tree_node): Use it in chain_next expression.
-
-2011-06-26 Jason Merrill <jason@redhat.com>
-
- PR c++/49528
- * semantics.c (potential_constant_expression_1): Check
- for non-literality rather than cleanup.
- (cxx_eval_constant_expression): Likewise.
-
- PR c++/49528
- * semantics.c (potential_constant_expression_1): A TARGET_EXPR
- with a cleanup isn't constant.
- (cxx_eval_constant_expression): Likewise.
- * init.c (expand_default_init): Use maybe_constant_init.
-
-2011-06-24 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/46400
- * cp-tree.h (union lang_tree_node): Use TYPE_NEXT_VARIANT
- instead of TYPE_CHAIN for chain_next for types.
-
-2011-06-23 Gabriel Charette <gchare@google.com>
-
- * name-lookup.h (cp_binding_level): Removed unused
- member names_size. Update all users.
-
-2011-06-23 Jason Merrill <jason@redhat.com>
-
- * typeck2.c (build_functional_cast): Strip cv-quals for value init.
- * init.c (build_zero_init_1): Not here.
-
- PR c++/35255
- * pt.c (resolve_overloaded_unification): Fix DR 115 handling.
-
-2011-06-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44625
- * decl2.c (build_anon_union_vars): Early return error_mark_node
- for a nested anonymous struct.
-
-2011-06-23 Jason Merrill <jason@redhat.com>
-
- PR c++/49507
- * decl2.c (mark_used): Don't call synthesize_method for
- functions defaulted outside the class.
-
- * optimize.c (maybe_clone_body): Set linkage flags before
- cgraph_same_body_alias.
-
- PR c++/49440
- * class.c (set_linkage_according_to_type): Hand off to
- determine_visibility.
-
- PR c++/49395
- * init.c (build_zero_init_1): Strip cv-quals from scalar types.
-
- PR c++/36435
- * pt.c (most_specialized_instantiation): Do check return types.
-
-2011-06-22 Jason Merrill <jason@redhat.com>
-
- PR c++/49260
- * call.c (build_call_a): Set cp_function_chain->can_throw here.
- (build_cxx_call): Not here.
-
-2011-06-21 Jason Merrill <jason@redhat.com>
-
- PR c++/49172
- * decl.c (cp_finish_decl): Adjust init_const_expr_p for refs.
- (grokdeclarator): constexpr doesn't apply const for refs.
- * parser.c (cp_parser_initializer_clause): Don't call
- maybe_constant_value here.
- * call.c (initialize_reference): Handle constexpr.
-
- PR c++/49482
- * semantics.c (maybe_add_lambda_conv_op): Call mark_exp_read for
- static fn parameters.
-
- * call.c (add_builtin_candidates): Use cv_unqualified rather than
- TYPE_MAIN_VARIANT.
- * pt.c (tsubst_arg_types): Likewise.
- * except.c (build_throw): Use cv_unqualified.
-
- PR c++/49418
- * call.c (cxx_type_promotes_to): Don't strip cv-quals.
- * semantics.c (lambda_return_type): Strip them here.
-
-2011-06-21 Andrew MacLeod <amacleod@redhat.com>
-
- * semantics.c: Add sync_ or SYNC__ to builtin names.
-
-2011-06-20 Jason Merrill <jason@redhat.com>
-
- PR c++/49216
- * init.c (build_vec_init): Don't try to use a CONSTRUCTOR when
- base is a pointer.
- * typeck2.c (process_init_constructor_array): Use {} for classes,
- too.
- * call.c (convert_like_real): Handle substitution failure.
-
- PR c++/48138
- * pt.c (canonicalize_type_argument): New.
- (convert_template_argument, unify): Use it.
-
- PR c++/47080
- * call.c (rejection_reason_code): Add rr_explicit_conversion.
- (print_z_candidate): Handle it.
- (explicit_conversion_rejection): New.
- (build_user_type_conversion_1): Reject an explicit conversion
- function that requires more than a qualification conversion.
-
- PR c++/47635
- * decl.c (grokdeclarator): Don't set ctype to an ENUMERAL_TYPE.
-
- PR c++/48138
- * tree.c (strip_typedefs): Use build_aligned_type.
-
- PR c++/49205
- * call.c (sufficient_parms_p): Allow parameter packs too.
-
- PR c++/43321
- * semantics.c (describable_type): Remove.
- * cp-tree.h: Likewise.
- * decl.c (cp_finish_decl): Don't call it.
- * init.c (build_new): Likewise.
- * parser.c (cp_parser_omp_for_loop): Likewise.
- * pt.c (tsubst_decl): Likewise.
- (do_auto_deduction): If we fail in a template, try again
- at instantiation time.
-
- PR c++/43831
- * parser.c (cp_parser_lambda_introducer): Complain about redundant
- captures.
- * semantics.c (add_capture): Likewise.
- (register_capture_members): Clear IDENTIFIER_MARKED.
-
-2011-06-17 Jason Merrill <jason@redhat.com>
-
- PR c++/49458
- * call.c (convert_class_to_reference_1): Allow binding function
- lvalue to rvalue reference.
-
- PR c++/43912
- Generate proxy VAR_DECLs for better lambda debug info.
- * cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): Add lambda operator().
- (LAMBDA_EXPR_PENDING_PROXIES): New.
- (struct tree_lambda_expr): Add pending_proxies.
- * name-lookup.c (pushdecl_maybe_friend_1): Handle capture shadowing.
- (qualify_lookup): Use is_lambda_ignored_entity.
- * parser.c (cp_parser_lambda_expression): Don't adjust field names.
- Call insert_pending_capture_proxies.
- (cp_parser_lambda_introducer): Use this_identifier.
- (cp_parser_lambda_declarator_opt): Call the object parameter
- of the op() "__closure" instead of "this".
- (cp_parser_lambda_body): Call build_capture_proxy.
- * semantics.c (build_capture_proxy, is_lambda_ignored_entity): New.
- (insert_pending_capture_proxies, insert_capture_proxy): New.
- (is_normal_capture_proxy, is_capture_proxy): New.
- (add_capture): Add __ to field names here, return capture proxy.
- (add_default_capture): Use this_identifier, adjust to expect
- add_capture to return a capture proxy.
- (outer_lambda_capture_p, thisify_lambda_field): Remove.
- (finish_id_expression, lambda_expr_this_capture): Adjust.
- (build_lambda_expr): Initialize LAMBDA_EXPR_PENDING_PROXIES.
- * pt.c (tsubst_copy_and_build): Check that LAMBDA_EXPR_PENDING_PROXIES
- is null.
-
- * name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing
- of artificial locals.
-
- * parser.c (cp_parser_lambda_expression): Clear
- LAMBDA_EXPR_THIS_CAPTURE after parsing.
- * pt.c (tsubst_copy_and_build): Make sure it isn't set.
-
- * cp-tree.h (struct tree_lambda_expr): Change common to typed.
- Move non-pointers to end of struct.
-
- * pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
- * decl.c (check_initializer): Handle DECL_VALUE_EXPR_P.
-
- * semantics.c (finish_non_static_data_member): Preserve dereference
- in template.
-
-2011-06-16 Jason Merrill <jason@redhat.com>
-
- PR c++/44160
- * parser.c (cp_parser_lambda_body): Share code between
- simple and complex cases instead of using cp_parser_function_body.
-
- PR c++/45378
- * decl.c (check_initializer): Check narrowing.
-
- PR c++/49229
- * pt.c (tsubst_decl) [FUNCTION_DECL]: Handle substitution failure.
-
- PR c++/49251
- * semantics.c (finish_id_expression): Mark even dependent
- variables as used.
-
- PR c++/49420
- * error.c (dump_template_argument): Don't try to omit default
- template args from an argument pack.
-
-2011-06-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR c++/49412
- * decl.c (get_dso_handle_node): Mark __dso_handle hidden if
- assembler supports hidden visibility.
-
-2011-06-14 Jason Merrill <jason@redhat.com>
-
- PR c++/49107
- * cp-tree.h (DEFERRED_NOEXCEPT_SPEC_P): Handle overload.
- * method.c (defaulted_late_check): Only maybe_instantiate_noexcept
- if the declaration had an exception-specifier.
- (process_subob_fn): Don't maybe_instantiate_noexcept.
- * pt.c (maybe_instantiate_noexcept): Handle overload.
- * typeck2.c (nothrow_spec_p_uninst): New.
- (merge_exception_specifiers): Add 'fn' parm. Build up overload.
- * typeck.c (merge_types): Adjust.
-
- * pt.c (deduction_tsubst_fntype): Don't save input_location.
- (maybe_instantiate_noexcept): Likewise.
-
-2011-06-14 Joseph Myers <joseph@codesourcery.com>
-
- * Make-lang.in (cp/method.o): Update dependencies.
- * method.c: Include common/common-target.h.
- (use_thunk): Use targetm_common.have_named_sections.
-
-2011-06-14 Steve Ellcey <sje@cup.hp.com>
-
- * decl.c (cxx_init_decl_processing): Use ptr_mode instead of Pmode.
-
-2011-06-14 Jason Merrill <jason@redhat.com>
-
- * error.c (type_to_string): Print typedef-stripped version too.
-
- PR c++/49117
- * call.c (perform_implicit_conversion_flags): Print source type as
- well as expression.
-
- PR c++/49389
- * typeck2.c (build_m_component_ref): Preserve rvalueness.
-
- PR c++/49369
- * class.c (build_base_path): Fix cv-quals in unevaluated context.
-
- PR c++/49290
- * semantics.c (cxx_fold_indirect_ref): Local, more permissive copy
- of fold_indirect_ref_1.
- (cxx_eval_indirect_ref): Use it.
-
-2011-06-11 Jan Hubicka <jh@suse.cz>
-
- * decl2.c (cp_write_global_declarations): Process aliases; look trhough
- same body aliases.
-
-2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/41769
- * decl.c (grokdeclarator): Reject operator names in parameters.
-
-2011-06-10 Jan Hubicka <jh@suse.cz>
-
- * decl2.c (clear_decl_external): New functoin.
- (cp_write_global_declarations): Use it.
-
-2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- * cp-tree.h (error_operand_p): Remove.
-
-2011-06-09 David Krauss <potswa@mac.com>
-
- PR c++/49118
- * typeck2.c (build_x_arrow): Push fake template context
- to produce diagnostic on acyclic endless operator-> drill-down.
- * call.c (build_new_op): Change Boolean overload status
- value to a pointer to the overload function.
- * cp-tree.h: Likewise.
- * typeck.c: Likewise.
- * parser.c: Likewise.
- * decl2.c: Likewise.
- * pt.c: Likewise.
-
-2011-06-09 Jason Merrill <jason@redhat.com>
-
- * semantics.c (maybe_constant_value): Handle overflowed input.
- (non_const_var_error): Handle non-constant DECL_INITIAL.
-
- * pt.c (build_non_dependent_expr): Use fold_non_dependent_expr_sfinae.
-
- * parser.c (cp_parser_constant_expression): Just return the
- non-constant expression.
-
- * semantics.c (finish_compound_literal): Set TREE_HAS_CONSTRUCTOR.
-
-2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29003
- * decl.c (grokdeclarator): Reject operator names in typedefs.
-
-2011-06-08 Jason Merrill <jason@redhat.com>
-
- PR c++/49107
- * cp-tree.def (DEFERRED_NOEXCEPT): New.
- * cp-tree.h (struct tree_deferred_noexcept): New.
- (DEFERRED_NOEXCEPT_PATTERN, DEFERRED_NOEXCEPT_ARGS): New.
- (DEFERRED_NOEXCEPT_SPEC_P): New.
- (enum cp_tree_node_structure_enum): Add TS_CP_DEFERRED_NOEXCEPT.
- (union lang_tree_node): Add tree_deferred_noexcept.
- (maybe_instantiate_noexcept): Declare.
- * cp-objcp-common.c (cp_tree_size): Handle DEFERRED_NOEXCEPT.
- * error.c (dump_exception_spec): Likewise.
- * cxx-pretty-print.c (pp_cxx_exception_specification): Likewise.
- * ptree.c (cxx_print_xnode): Likewise.
- * tree.c (cp_tree_equal): Likewise.
- * decl.c (cp_tree_node_structure): Likewise.
- (duplicate_decls): Call maybe_instantiate_noexcept.
- * except.c (build_noexcept_spec): Handle DEFERRED_NOEXCEPT.
- (nothrow_spec_p, type_noexcept_p, type_throw_all_p): Check
- DEFERRED_NOEXCEPT_SPEC_P.
- * typeck2.c (merge_exception_specifiers): Likewise.
- * decl2.c (mark_used): Call maybe_instantiate_noexcept.
- * method.c (process_subob_fn, defaulted_late_check): Likewise.
- * pt.c (tsubst_exception_specification): Add defer_ok parm.
- Build DEFERRED_NOEXCEPT.
- (maybe_instantiate_noexcept): New.
- (tsubst, regenerate_decl_from_template, instantiate_decl): Adjust.
- * search.c (check_final_overrider): Call maybe_instantiate_noexcept.
-
- * semantics.c (potential_constant_expression_1): Handle destructor
- call.
-
-2011-06-08 Jakub Jelinek <jakub@redhat.com>
-
- * cp-tree.h (struct tinst_level): Add chain_next GTY
- markup.
-
-2011-06-08 Jason Merrill <jason@redhat.com>
-
- PR c++/49322
- * pt.c (deduction_tsubst_fntype): Don't free the tinst entry
- if a pending_template entry is pointing at it.
-
-2011-06-07 Jason Merrill <jason@redhat.com>
-
- PR c++/48969
- PR c++/44175
- * error.c (subst_to_string): New.
- (cp_printer): Use it for 'S'.
- (print_instantiation_partial_context_line): Handle subst context.
- * pt.c (push_tinst_level): Handle subst context.
- (deduction_tsubst_fntype): Don't track specific substitutions.
- Use push_tinst_level.
-
- * pt.c (deduction_tsubst_fntype): Use push_deduction_access_scope.
- (fn_type_unification): Don't call push_deduction_access_scope here.
-
-2011-06-06 Jason Merrill <jason@redhat.com>
-
- PR c++/48780
- * typeck.c (perform_integral_promotions): Don't promote scoped enums.
- * call.c (convert_arg_to_ellipsis): Promote them here in old ABI.
-
-2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>,
-
- PR obj-c++/48275
- * parser.c (cp_parser_objc_at_property_declaration): Allow setter
- and getter names to use all the allowed method names.
-
-2011-06-06 Jason Merrill <jason@redhat.com>
-
- PR c++/49298
- * semantics.c (potential_constant_expression_1): Handle FIELD_DECL.
-
- PR objc++/49221
- * decl.c (cp_finish_decl): Check DECL_FUNCTION_SCOPE_P rather than
- at_function_scope_p.
-
- PR c++/49134
- * tree.c (build_target_expr): Deal with ARM ABI tweaks.
-
-2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * init.c (build_delete): Warn when deleting type with non-virtual
- destructor.
-
-2011-06-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49276
- * mangle.c (write_nested_name): Use CP_DECL_CONTEXT instead of
- DECL_CONTEXT.
-
-2011-06-01 Jason Merrill <jason@redhat.com>
-
- * pt.c (build_non_dependent_expr): Remove special handling of
- REFERENCE_REF_P.
-
- PR c++/44175
- * pt.c (template_args_equal): Handle one arg being NULL_TREE.
- (deduction_tsubst_fntype): Handle excessive non-infinite recursion.
-
- PR c++/49253
- * typeck2.c (build_x_arrow): Don't use build_min_nt.
-
-2010-05-31 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/48010
- * name-lookup.c (supplement_binding_1): If the old binding was a
- type name, also check that the DECL actually refers to the same
- type or is not a type.
-
-2011-05-31 Jason Merrill <jason@redhat.com>
-
- PR c++/44870
- * tree.c (lvalue_kind): Recurse on NON_DEPENDENT_EXPR. Handle
- ARROW_EXPR, TYPEID_EXPR, and arbitrary class-valued expressions.
- (build_min_non_dep): Preserve reference refs.
- (build_min_non_dep_call_vec): Likewise
-
-2011-05-30 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49223
- * semantics.c (finish_omp_clauses): Call require_complete_type
- even for copyin/copyprivate clauses. Only call
- cxx_omp_create_clause_info if inner_type is COMPLETE_TYPE_P.
-
-2011-05-28 Jason Merrill <jason@redhat.com>
-
- PR c++/46124
- * parser.c (cp_parser_lambda_expression): Improve error recovery.
- (cp_parser_lambda_declarator_opt): Likewise. Return bool.
-
-2011-05-27 Jason Merrill <jason@redhat.com>
-
- PR c++/47277
- * parser.c (cp_parser_pseudo_destructor_name): Commit to parse
- after we see the ~.
-
- * mangle.c (mangle_decl_string): Make sure we don't try to mangle
- templates.
-
- PR c++/47049
- * semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing.
- * decl.c (start_preparsed_function): Don't call comdat_linkage for
- a template.
-
- PR c++/47132
- * mangle.c (write_expression): Handle MODOP_EXPR.
-
- PR c++/47277
- * parser.c (cp_parser_unqualified_id): Don't check
- constructor_name_p for enums.
-
- PR c++/47687
- * pt.c (dependent_type_p_r): Avoid infinite recursion.
-
- PR c++/48284
- * error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot
- with INDIRECT_REF of REFERENCE_TYPE.
-
- PR c++/49181
- * pt.c (get_mostly_instantiated_function_type): Use push_access_scope.
-
-2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.h (building_stmt_tree): Delete.
- * decl.c (save_function_data): Tweak initializer for x_cur_stmt_list.
- (build_aggr_init_full_exprs): Call building_stmt_list_p
- instead of building_stmt_tree.
- (initialize_local_var): Likewise.
- (finish_function): Likewise.
- * decl2.c (finish_anon_union): Likewise.
- * init.c (begin_init_stmts): Likewise.
- (finish_init_stmts): Likewise.
- (expand_aggr_init_1): Likewise.
- * name-lookup.c (do_local_using_decl): Likewise.
- (do_namespace_alias): Likewise.
- (do_using_directive): Likewise.
- (cp_emit_debug_info_for_using): Likewise.
- * semantics.c (add_stmt): Assert that stmt_list_stack is non-empty.
-
-2011-05-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/42056
- * typeck2.c (build_functional_cast): Complain early for invalid uses
- of 'auto' and set type to error_mark_node.
-
-2011-05-26 Jason Merrill <jason@redhat.com>
-
- PR c++/47721
- * parser.c (cp_parser_member_declaration): Allow friend T.
- * friend.c (make_friend_class): Ignore non-classes.
- * pt.c (instantiate_class_template_1): Handle TEMPLATE_TYPE_PARM.
-
- DR 1004
- * pt.c (convert_template_argument): Don't complain about using
- injected-class-name as template template argument.
-
- PR c++/47956
- * decl.c (check_static_variable_definition): Now static.
- (cp_finish_decl): Call it here.
- (grokdeclarator): Not here.
- * pt.c (instantiate_class_template_1): Or here.
- * cp-tree.h: Don't declare it.
-
-2011-05-26 Janis Johnson <janis187@us.ibm.com>
- Nathan Froyd <froydnj@codesourcery.com>
-
- PR c++/2288
- PR c++/18770
- * name-lookup.h (enum scope_kind): Add sk_cond.
- * name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local.
- Detect and report error for redeclaration from for-init or if
- or switch condition.
- (begin_scope): Handle sk_cond.
- * semantics.c (begin_if_stmt): Use sk_cond.
- (begin switch_stmt): Ditto.
-
-2011-05-26 Jason Merrill <jason@redhat.com>
-
- PR c++/48211
- * name-lookup.h (cp_class_binding): Make base a pointer.
- * name-lookup.c (new_class_binding): Adjust.
- (poplevel_class): Adjust.
-
- PR c++/48424
- * decl.c (grokparms): Function parameter packs don't need to
- go at the end.
- * pt.c (type_unification_real): But they aren't deduced otherwise.
-
-2011-05-25 Jason Merrill <jason@redhat.com>
-
- PR c++/48536
- * decl.c (build_enumerator): If incremented enumerator won't fit in
- previous integral type, find one it will fit in.
-
- PR c++/48599
- * decl.c (create_array_type_for_decl): Complain about array of auto.
-
- PR c++/44994
- PR c++/49156
- * error.c (dump_template_bindings): Set processing_template_decl
- for a partial instantiation.
-
- PR c++/45401
- * decl.c (grokdeclarator): Don't change type when adding rvalue ref
- to another reference type.
-
- PR c++/44311
- * decl.c (case_conversion): New.
- (finish_case_label): Use it.
-
- * ptree.c (cxx_print_xnode): Handle ARGUMENT_PACK_SELECT.
-
- PR c++/45698
- * pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT.
-
- PR c++/46005
- * decl.c (grokdeclarator): Complain about auto typedef.
-
- PR c++/46245
- * decl.c (grokdeclarator): Complain later for auto parameter.
- * pt.c (splice_late_return_type): Handle use in a template
- type-parameter.
-
- PR c++/46696
- * typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN.
-
- PR c++/47184
- * parser.c (cp_parser_parameter_declaration): Recognize
- list-initialization.
- (cp_parser_direct_declarator): Check for the closing
- paren before parsing definitely.
-
- PR c++/48935
- * parser.c (cp_parser_constructor_declarator_p): Don't check
- constructor_name_p for enums.
- (cp_parser_diagnose_invalid_type_name): Correct error message.
-
- PR c++/45418
- * init.c (perform_member_init): Handle list-initialization
- of array of non-trivial class type.
-
- PR c++/45080
- * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
- * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.
-
- PR c++/48292
- * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
- function parameter pack.
- (tsubst_pack_expansion): Likewise.
-
- * cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has
- TS_COMMON.
-
-2011-05-25 Jakub Jelinek <jakub@redhat.com>
-
- * cp-objcp-common.c (cp_common_init_ts): Mark CTOR_INITIALIZER
- as TS_TYPED.
-
- PR c++/49136
- * semantics.c (cxx_eval_bit_field_ref): Handle the
- case when BIT_FIELD_REF doesn't cover only a single field.
-
-2011-05-24 Jason Merrill <jason@redhat.com>
-
- PR c++/49042
- * pt.c (get_mostly_instantiated_function_type): Use
- push_deferring_access_checks rather than set flag_access_control.
-
-2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>,
-
- * parser.c (cp_parser_objc_class_ivars): Deal gracefully with a
- syntax error in declaring an ObjC instance variable.
-
-2011-05-24 Jason Merrill <jason@redhat.com>
-
- PR c++/48884
- * class.c (pushclass): Accept NULL argument.
- (popclass): Deal with popping null class.
- * pt.c (push_access_scope, pop_access_scope): Use them rather than
- push_to_top_level/pop_from_top_level.
- (push_deduction_access_scope, pop_defarg_context): New.
- (fn_type_unification): Use them.
- * name-lookup.c (lookup_name_real_1): Check current_class_type.
-
-2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- * decl.c (grokdeclarator): Use current_class_name.
-
-2011-05-24 Joseph Myers <joseph@codesourcery.com>
-
- * Make-lang.in (GXX_OBJS): Remove prefix.o.
- (g++$(exeext)): Use libcommon-target.a.
- (CXX_C_OBJS): Remove prefix.o.
-
-2011-05-23 Jason Merrill <jason@redhat.com>
-
- * pt.c (tsubst_copy_and_build): Use current_class_name.
-
- PR c++/49102
- * call.c (convert_arg_to_ellipsis): Call force_rvalue.
-
- PR c++/49105
- * typeck.c (cp_build_c_cast): Don't strip cv-quals when
- converting to reference.
- (build_static_cast_1): Update for glvalues.
-
- PR c++/49105
- * typeck.c (build_const_cast_1): Handle rvalue references.
-
- PR c++/47263
- * decl.c (use_eh_spec_block): Do use an EH spec block for a
- lambda op().
-
- PR c++/49058
- * call.c (splice_viable): Be strict in templates.
-
- PR c++/47336
- * error.c (dump_template_bindings): Suppress access control.
-
- PR c++/47544
- * pt.c (instantiate_decl): Handle =default.
-
- PR c++/48617
- * pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE.
-
-2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
-
- * call.c (build_over_call): Tweak call to check_function_arguments.
- * typeck.c (cp_build_function_call_vec): Likewise.
-
-2011-05-23 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/18016
- * init.c (perform_member_init): Check for self-initialization.
-
-2011-05-22 Jason Merrill <jason@redhat.com>
-
- PR c++/48647
- * typeck.c (composite_pointer_type_r): Return error_mark_node
- on error in SFINAE context.
-
-2011-05-20 Jason Merrill <jason@redhat.com>
-
- PR c++/48945
- * decl.c (grokdeclarator): Don't add set const function-cv-qual
- for constexpr fns to memfn_quals, just add it to the type.
- (revert_static_member_fn): Don't complain about quals.
- (check_static_quals): New.
- (grokfndecl): Call it.
- (start_preparsed_function): Don't call revert_static_member_fn.
-
- PR c++/48945
- * decl.c (revert_static_member_fn): Ignore const on constexpr fn.
-
- PR c++/48780
- * cvt.c (type_promotes_to): Don't promote scoped enums.
-
- PR c++/49066
- * decl.c (duplicate_decls): Preserve DECL_DELETED_FN.
-
- PR c++/48873
- * tree.c (stabilize_expr): Fix typo.
-
- DR 1073
- PR c++/49082
- * typeck.c (comp_except_specs): noexcept(false) is not compatible
- with throw(type-list).
- * typeck2.c (merge_exception_specifiers): noexcept(false)
- beats any more limited specification.
-
- PR c++/24163
- PR c++/29131
- * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
- unqualified lookup.
- * semantics.c (perform_koenig_lookup): Add complain parm.
- * cp-tree.h: Adjust.
- * parser.c (cp_parser_postfix_expression): Adjust.
- (cp_parser_perform_range_for_lookup): Adjust.
-
-2011-05-20 Jason Merrill <jason@redhat.com>
-
- * semantics.c (finish_call_expr): SET_EXPR_LOCATION.
-
-2011-05-20 Joseph Myers <joseph@codesourcery.com>
-
- * Make-lang.in (GXX_OBJS): Remove intl.o and version.o.
-
-2011-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49043
- * decl.c (check_omp_return): Stop searching on sk_function_parms.
-
- PR c++/48869
- * method.c (get_dtor, get_copy_ctor): Add COMPLAIN argument,
- pass it down to locate_fn_flags.
- * cp-tree.h (get_dtor, get_copy_ctor): Adjust prototypes.
- * semantics.c (cxx_omp_create_clause_info): Adjust callers.
- * cp-gimplify.c: Include splay-tree.h.
- (splay_tree_compare_decl_uid, omp_var_to_track,
- omp_cxx_notice_variable): New functions.
- (struct cp_genericize_omp_taskreg): New type.
- (struct cp_genericize_data): Add omp_ctx field.
- (cp_genericize_r): Attempt to determine implicitly determined
- firstprivate class type variables.
- (cp_genericize): Clear omp_ctx.
- * Make-lang.in (cp/cp-gimplify.o): Depend on $(SPLAY_TREE_H).
-
-2011-05-18 Jason Merrill <jason@redhat.com>
-
- PR c++/48948
- PR c++/49015
- * class.c (finalize_literal_type_property): Do check
- for constexpr member functions of non-literal class.
- (finish_struct): Don't call check_deferred_constexpr_decls.
- * cp-tree.h: Don't declare it.
- (DECL_DEFERRED_CONSTEXPR_CHECK): Remove.
- * decl.c (grok_special_member_properties): Don't check it
- (grokfnedcl): Don't call validate_constexpr_fundecl.
- (start_preparsed_function): Do call it.
- * pt.c (tsubst_decl): Don't call it.
- (instantiate_class_template_1): Don't call
- check_deferred_constexpr_decls.
- * semantics.c (literal_type_p): Check for any incompleteness.
- (ensure_literal_type_for_constexpr_object): Likewise.
- (is_valid_constexpr_fn): Revert deferral changes.
- (validate_constexpr_fundecl): Likewise.
- (register_constexpr_fundef): Likewise.
- (check_deferred_constexpr_decls): Remove.
-
-2011-05-16 Jason Merrill <jason@redhat.com>
-
- PR c++/48969
- * pt.c (deduction_tsubst_fntype): Use a VEC initially.
-
-2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- * cxx-pretty-print.c: Update comment.
- * semantics.c (trait_expr_value, finish_trait_expr):
- Reorder the cases.
- * parser.c (cp_parser_primary_expression): Likewise.
-
-2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/48994
- * parser.c (cp_parser_perform_range_for_lookup): Call complete_type.
-
-2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement final on class.
- * class.c (check_bases): Diagnose derivation from a final class.
- * cp-tree.h (lang_type_class): Add is_final and adjust dummy.
- (CLASSTYPE_FINAL): New.
- * parser.c (cp_parser_class_head): Parse class-virt-specifier, set
- CLASSTYPE_FINAL.
- * pt.c (instantiate_class_template_1): Copy CLASSTYPE_FINAL.
-
-2011-05-13 Jason Merrill <jason@redhat.com>
-
- PR c++/48969
- * pt.c (deduction_tsubst_fntype): New.
- (fn_type_unification): Use it.
- (init_template_processing): Initialize hash table.
- (print_template_statistics): Print hash table stats.
-
- * call.c (build_op_call): Use timevar_cond_start/stop.
- (build_user_type_conversion): Likewise.
-
-2011-05-12 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
- * semantics.c (validate_constexpr_fundecl): Set it.
- (check_deferred_constexpr_decls): Clear it.
- (register_constexpr_fundef): Make sure it isn't set.
- * decl.c (grok_special_member_properties): Check it.
-
-2011-05-11 Jason Merrill <jason@redhat.com>
-
- PR c++/48948
- * semantics.c (validate_constexpr_fundecl): Defer checking if
- an argument type is being defined.
- (is_valid_constexpr_fn): Add defer_ok parm.
- (cxx_eval_call_expression): Adjust.
- (check_deferred_constexpr_decls): New.
- (literal_type_p): Make sure type isn't being defined.
- (ensure_literal_type_for_constexpr_object): Handle type being defined.
- * cp-tree.h: Declare check_deferred_constexpr_decls.
- * decl.c (grokfndecl): Call validate_constexpr_fundecl here.
- (start_preparsed_function, cp_finish_decl): Not here.
- * class.c (finalize_literal_type_property): Don't call
- validate_constexpr_fundecl.
- (finish_struct): Call check_deferred_constexpr_decls.
- * pt.c (tsubst_decl): Call validate_constexpr_fundecl.
- (instantiate_class_template): Call check_deferred_constexpr_decls.
-
- * semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO
- rather than DECL_TEMPLATE_INSTANTIATION.
- (cxx_eval_call_expression): Likewise.
-
- * semantics.c (register_constexpr_fundef): Add to hash table here.
- (validate_constexpr_fundecl): Not here.
-
- * decl.c (grokdeclarator): Only set DECL_DECLARED_CONSTEXPR_P once.
-
- * pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p,
- do call maybe_constant_value in C++0x mode.
- * semantics.c (cxx_eval_constant_expression): Handle TEMPLATE_DECL.
-
- PR c++/48745
- * pt.c (value_dependent_expr_p): Handle CONSTRUCTOR.
-
-2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use
- TYPE_VALUES_RAW.
- (UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise.
- (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise.
- (TEMPLATE_TYPE_PARM_INDEX): Likewise.
-
-2011-05-10 Jason Merrill <jason@redhat.com>
-
- PR c++/48930
- * class.c (type_build_ctor_call): New.
- * cp-tree.h: Declare it.
- * decl.c (check_initializer): Use it instead of
- TYPE_NEEDS_CONSTRUCTING.
- * init.c (build_value_init, build_value_init_noctor): Likewise.
- (perform_member_init, expand_aggr_init_1, build_new_1): Likewise.
- (build_vec_init): Likewise.
- * typeck2.c (process_init_constructor_array): Likewise.
- (process_init_constructor_record): Likewise.
-
- PR c++/48736
- * pt.c (tsubst_copy_and_build): Handle substitution of a pack
- expansion producing another expansion.
-
-2011-05-10 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Fixes for override/final.
- * class.c (check_for_override): Diagnose final on a nonvirtual
- member function, diagnose override for a virtual with no matching
- override. Don't fiddle around with DECL_VINDEX.
-
-2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
- * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
- * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
- operand of EXPR_PACK_EXPANSION.
- (cp_tree_operand_length): Declare.
- * tree.c (cp_tree_operand_length): Define.
- (cp_tree_equal): Call it.
- * pt.c (value_dependent_expr_P): Likewise.
- * mangle.c (write_expression): Likewise.
-
-2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48737
- PR c++/48744
- * decl.c (reshape_init): Take a complain parameter and do
- not call error if tf_error is not set.
- (check_initializer, reshape_init_r, reshape_init_array,
- reshape_init_array_1, reshape_init_vector, reshape_init_class):
- Adjust.
- * typeck2.c (digest_init_r): Take a complain parameter and
- pass it to convert_for_initialization.
- (digest_init, digest_init_flags, process_init_constructor_array,
- process_init_constructor_record, process_init_constructor_union,
- process_init_constructor, digest_init_r): Adjust.
- * init.c (expand_default_init, build_new_1): Likewise.
- * typeck.c (cp_build_modify_expr): Likewise.
- * decl2.c (grokfield): Likewise.
- * call.c (convert_like_real, convert_default_arg): Likewise.
- * semantics.c (finish_compound_literal): Pass complain to
- reshape_init and digest_init.
- * cp-tree.h: Adjust declarations.
-
-2011-05-07 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/48859
- * init.c (diagnose_uninitialized_cst_or_ref_member_1): stop the
- recursion if there is user defined constructor.
-
-2011-05-09 Jason Merrill <jason@redhat.com>
-
- PR c++/34772
- * decl.c (initialize_local_var): Use DECL_INITIAL for simple
- initialization.
-
-2011-05-08 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- Implement final/override for member functions.
- * class.c (check_for_override): Check for DECL_OVERRIDE_P.
- * cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
- (cp_virt_specifiers, enum virt_specifier): New.
- * decl.c (set_virt_specifiers): New.
- (grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
- * parser.c (make_call_declarator): add virt-specifiers parameter.
- (cp_parser_lambda_declarator_opt): Adjust.
- (cp_parser_direct_declarator): Likewise.
- (cp_parser_virt_specifier_seq_opt): New.
- * search.c (check_final_overrider): Diagnose attempts to override
- a final member function.
-
-2011-05-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48574
- * class.c (fixed_type_or_null): Use type_dependent_p_push to test
- if the instance has a dependent initializer.
-
-2011-05-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48816
- * cxx-pretty-print.c (pp_cxx_template_declaration): Remove
- effectively unused variable.
-
-2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * name-lookup.h (global_bindings_p): Adjust prototype.
- * name-lookup.c (global_bindings_p): Return bool.
-
-2011-05-06 Jason Merrill <jason@redhat.com>
-
- * decl.c (stabilize_save_expr_r): Set *walk_subtrees as
- appropriate.
-
- PR c++/48909
- * semantics.c (cxx_eval_conditional_expression): Check
- integer_zerop instead.
- (potential_constant_expression_1): Likewise.
-
- PR c++/48911
- * semantics.c (cxx_eval_array_reference): Handle implicit
- initializers.
-
-2011-05-06 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.h (type_of_this_parm, class_of_this_parm): New functions.
- * call.c (standard_conversion): Call class_of_this_parm.
- * cxx-pretty-print.c (pp_cxx_implicit_parameter_type): Likewise.
- (pp_cxx_direct_abstract_declarator): Likewise.
- * decl2.c (change_return_type): Likewise.
- (cp_reconstruct_complex_type): Likewise.
- * error.c (dump_type_suffix, dump_function_decl): Likewise.
- * mangle.c (write_function_type): Likewise.
- * pt.c (unify): Likewise.
- * typeck.c (merge_types, type_memfn_quals): Likewise.
- * decl.c (build_this_parm): Call type_of_this_parm.
-
-2011-05-06 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48838
- * cp-tree.h (non_static_member_function_p): Declare new function.
- * tree.c (non_static_member_function_p): Define it.
- * semantics.c (finish_call_expr): Use it.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * decl.c (finish_case_label): Omit the loc argument to
- build_case_label.
-
-2011-05-05 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (REFERENCE_REF_P): Just check the type.
- * cvt.c (convert_from_reference): Adjust.
- * pt.c (build_non_dependent_expr): Adjust.
- * semantics.c (finish_offsetof): Adjust.
- * tree.c (lvalue_kind): Use it.
-
- PR c++/48873
- * tree.c (stabilize_expr): Don't make gratuitous copies of classes.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * decl.c (start_preparsed_function): Do not set
- dont_save_pending_sizes_p.
-
-2011-05-05 Joseph Myers <joseph@codesourcery.com>
-
- * parser.c (cp_parser_objc_method_definition_list): Update call to
- objc_start_method_definition.
-
-2011-05-04 Jason Merrill <jason@redhat.com>
-
- PR c++/48749
- * class.c (resolves_to_fixed_type_p): Don't look closely
- in templates.
-
-2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/28501
- * call.c (add_builtin_candidate): Handle REALPART_EXPR and
- IMAGPART_EXPR.
-
-2011-05-02 Lawrence Crowl <crowl@google.com>
-
- * decl.c: (push_local_name): Change TV_NAME_LOOKUP to start/stop.
- (poplevel): Refactor POP_TIMEVAR_AND_RETURN to plain code.
- Change TV_NAME_LOOKUP to start/stop.
- (define_label): Refactor timevar calls out to a wrapper function.
- Change TV_NAME_LOOKUP to start/stop.
- (xref_tag): Likewise.
- (lookup_label): Refactor timevar calls out to a wrapper function.
- Change TV_NAME_LOOKUP to start_cond/stop_cond.
-
- * pt.c: (instantiate_class_template): Add a wrapper to push/pop new
- TV_TEMPLATE_INST.
- (instantiate_template): Add a wrapper to push/pop new TV_TEMPLATE_INST.
- (lookup_template_class): Refactor timevar calls out to a wrapper
- function. Change use of TV_NAME_LOOKUP to TV_TEMPLATE_INST.
- (instantiate_decl): Change TV_PARSE to TV_TEMPLATE_INST.
-
- * name-lookup.c: (store_bindings): Change TV_NAME_LOOKUP to start/stop.
- (poplevel_class): Change TV_NAME_LOOKUP to start_cond/stop_cond.
- (push_namespace): Likewise.
- (pop_nested_namespace): Likewise.
- (pushdecl_namespace_level): Likewise.
- (store_class_bindings): Likewise.
- (push_to_top_level): Likewise.
- (identifier_type_value): Refactor timevar calls out to a wrapper
- function. Change TV_NAME_LOOKUP to start/stop.
- (find_binding): Likewise.
- (push_using_decl): Likewise.
- (lookup_arg_dependent): Likewise.
- (push_using_directive): Likewise.
- (qualified_lookup_using_namespace): Refactor POP_TIMEVAR_AND_RETURN
- to plain code. Change TV_NAME_LOOKUP to start/stop.
- (lookup_type_current_level): Likewise. Refactor inner return to
- break.
- (pushdecl_class_level): Refactor POP_TIMEVAR_AND_RETURN to plain
- code. Change TV_NAME_LOOKUP to start_cond/stop_cond.
- (pushdecl_top_level_1): Likewise.
- (lookup_using_namespace): Likewise.
- (pushdecl_with_scope): Refactor timevar calls out to a wrapper
- function. Change TV_NAME_LOOKUP to start_cond/stop_cond.
- (push_overloaded_decl): Likewise.
- (push_class_level_binding): Likewise.
- (namespace_binding): Likewise.
- (set_namespace_binding): Likewise.
- (supplement_binding): Likewise.
- (unqualified_namespace_lookup): Likewise.
- (lookup_name_real): Likewise.
- (lookup_type_scope): Likewise.
- (namespace_ancestor): Likewise.
- (lookup_name_innermost_nonclass_level): Likewise.
- (pushtag): Likewise.
- (pop_from_top_level): Likewise.
- (pushdecl_maybe_friend): Refactor timevar calls out to a wrapper
- function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Wrap long
- lines.
- (add_using_namespace): Refactor timevar calls out to a wrapper
- function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Bypass
- wrapper on call to self.
-
- * decl2.c: (cp_write_global_declarations): Add start/stop of
- new TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_CHECK_DBGINFO.
- Remove push/pop calls to TV_VARCONST.
-
- * parser.c: Add include of "timevar.h".
- (cp_parser_explicit_instantiation): Add push/pop calls to
- TV_TEMPLATE_INST.
- (cp_parser_enum_specifier): Add push/pop calls to new TV_PARSE_ENUM.
- (cp_parser_class_specifier): Add wrapper to add push/pop calls to
- TV_PARSE_STRUCT.
- (cp_parser_function_definition_from_specifiers_and_declarator): Add
- push/pop calls to new TV_PARSE_FUNC or TV_PARSE_INLINE.
- (cp_parser_late_parsing_for_member): Add push/pop calls to
- new TV_PARSE_INMETH.
-
- * call.c: Add include of "timevar.h".
- (convert_class_to_reference): Wrap and add push/pop calls to
- TV_OVERLOAD.
- (build_op_call): Likewise.
- (build_conditional_expr): Likewise.
- (build_new_op): Likewise.
- (build_new_method_call): Likewise.
- (build_user_type_conversion): Reorganize to single return and add
- push/pop calls to TV_OVERLOAD.
- (perform_overload_resolution): Likewise.
-
- * Make-lang.in: Add dependence of call.o and parser.o on $(TIMEVAR_H).
-
-2011-05-02 Jason Merrill <jason@redhat.com>
-
- * tree.c (build_vec_init_expr): Take complain parm.
- (build_vec_init_elt): Likewise. Free arg vector.
- (diagnose_non_constexpr_vec_init, build_array_copy): Adjust.
- * cp-tree.h (VEC_INIT_EXPR_SLOT): Use VEC_INIT_EXPR_CHECK.
- (VEC_INIT_EXPR_INIT): Likewise.
- Adjust build_vec_init_expr declaration.
- * init.c (perform_member_init): Adjust.
-
- Revert:
- PR c++/40975
- * cp-tree.def (VEC_INIT_EXPR): Add third operand.
- * cp-tree.h (VEC_INIT_EXPR_NELTS): New.
- * cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
- * tree.c (build_vec_init_expr): Handle getting pointer/nelts.
- (build_vec_init_elt): Don't expect an array type.
- (build_array_copy): Adjust.
- * init.c (perform_member_init): Adjust.
- (build_new_1): Use build_vec_init_expr.
-
- PR c++/48834
- * tree.c (build_vec_init_expr): Set TREE_SIDE_EFFECTS.
- Protect an explicit target.
-
- PR c++/48446
- * decl.c (stabilize_save_expr_r, stabilize_vla_size): New.
- (compute_array_index_type): Revert earlier 48446 changes.
- (grokdeclarator): Use stabilize_vla_size.
-
-2011-05-02 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE
- instead of inappropriate zero values.
-
-2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47969
- * decl.c (compute_array_index_type): Check build_expr_type_conversion
- return value for NULL_TREE.
-
-2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48606
- * init.c (perform_member_init): Check build_value_init return
- value for error_mark_node.
-
-2011-04-29 Diego Novillo <dnovillo@google.com>
- Le-Chun Wu <lcwu@google.com>
-
- * call.c (conversion_null_warnings): Also handle assignments
- when warning about NULL conversions.
-
-2011-04-29 Le-Chun Wu <lcwu@google.com>
-
- * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
- * call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs.
- (build_over_call): Use it to determine whether to emit a NULL
- warning for template function instantiations.
- (build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if
- EXPLICIT_TARGS is set.
-
-2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>,
- Mike Stump <mikestump@comcast.net>
-
- * Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only
- in maintainer mode. Use the --output-file option of gperf instead
- of > to prevent creating an empty cp/cfns.h when gperf is not
- available.
-
-2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48798
- * semantics.c (finish_base_specifier): cv-qualified base class
- is fine, per DR 484.
-
-2011-04-28 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48656
- * semantics.c (finish_call_expr): Don't forget BASELINK nodes when
- considering call expressions involving a member function.
-
-2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48530
- * tree.c (build_cplus_new): Check build_target_expr return
- value for error_mark_node.
-
-2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48771
- * semantics.c (literal_type_p): Reference types are literal types,
- per the FDIS.
- (valid_type_in_constexpr_fundecl_p): Remove.
- (is_valid_constexpr_fn): Adjust.
-
-2011-04-27 Jason Merrill <jason@redhat.com>
-
- PR libstdc++/48760
- Implement list-initialization of _Complex.
- * decl.c (reshape_init_r): Allow {real,imag} for _Complex.
- (check_initializer): Likewise.
- * call.c (build_complex_conv): New.
- (implicit_conversion): Call it.
- (convert_like_real): Handle it.
- * typeck2.c (check_narrowing): Handle it.
-
- * init.c (build_vec_delete_1): Look for sfk_deleting_destructor to
- decide whether to delete.
- (build_vec_init): Pass sfk_complete_destructor.
-
- PR c++/40975
- * cp-tree.def (VEC_INIT_EXPR): Add third operand.
- * cp-tree.h (VEC_INIT_EXPR_NELTS): New.
- * cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
- * tree.c (build_vec_init_expr): Handle getting pointer/nelts.
- (build_vec_init_elt): Don't expect an array type.
- (build_array_copy): Adjust.
- * init.c (perform_member_init): Adjust.
- (build_new_1): Use build_vec_init_expr.
-
- * class.c (resolve_address_of_overloaded_function): Don't
- change OVERLOAD to TREE_LIST.
- * pt.c (print_candidates_1): Remove nonsensical assert.
-
- PR c++/48046
- * parser.c (cp_parser_diagnose_invalid_type_name): Commit
- to tentative parse sooner.
-
-2011-04-26 Jason Merrill <jason@redhat.com>
-
- PR c++/42687
- * parser.c (cp_parser_primary_expression): Set *idk to
- CP_ID_KIND_NONE for a parenthesized identifier.
-
- * ptree.c (cxx_print_type) [TYPENAME_TYPE]: Dump fullname.
- (cxx_print_identifier): Correct indentation.
-
- PR c++/48530
- * decl.c (cxx_maybe_build_cleanup): Add complain parm.
- * tree.c (force_target_expr): Add complain parm.
- (build_target_expr_with_type): Likewise.
- (get_target_expr_sfinae): Split out.
- (build_vec_init_expr, bot_manip): Adjust.
- * init.c (build_vec_delete, build_vec_delete_1): Add complain parm.
- (build_delete, build_dtor_call): Likewise.
- (perform_direct_initialization_if_possible): Adjust.
- (build_vec_init): Handle error return.
- * cvt.c (force_rvalue): Add complain parm.
- Call build_special_member_call directly.
- * decl2.c (delete_sanity): Add complain parm.
- (build_cleanup): Adjust.
- * pt.c (tsubst_copy_and_build, tsubst_expr): Adjust.
- * semantics.c (finish_stmt_expr_expr): Adjust.
- (finish_compound_literal): Adjust.
- * parser.c (cp_parser_delete_expression): Adjust.
- * typeck2.c (build_functional_cast): Adjust.
- * cp-tree.h: Adjust.
-
-2011-04-26 Martin Jambor <mjambor@suse.cz>
-
- * class.c (cp_fold_obj_type_ref): Remove.
- * cp-tree.h (cp_fold_obj_type_ref): Remove declaration.
-
-2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- * cp-tree.def: Add a new UNDERLYING_TYPE tree code.
- * cp-tree.h (enum cp_trait_kind): Add CPTK_UNDERLYING_TYPE, tidy.
- (UNDERLYING_TYPE_TYPE): Add.
- * cp-objcp-common.c (cp_common_init_ts): Mark UNDERLYING_TYPE
- as TS_COMMON.
- * parser.c (cp_lexer_next_token_is_decl_specifier_keyword,
- cp_parser_simple_type_specifier): Handle UNDERLYING_TYPE.
- (cp_parser_trait_expr): Deal with RID_UNDERLYING_TYPE; tidy.
- * semantics.c (finish_underlying_type): New.
- * typeck.c (structural_comptypes): Handle UNDERLYING_TYPE.
- * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
- * cxx-pretty-print.c (p_cxx_type_id): Likewise.
- * tree.c (cp_walk_subtrees): Likewise.
- * pt.c (for_each_template_parm_r, tsubst, unify,
- dependent_type_p_r): Likewise.
- * mangle.c (write_type): Sorry for __underlying_type.
-
-2011-04-25 Jason Merrill <jason@redhat.com>
-
- PR c++/48707
- * decl.c (type_dependent_init_p): New.
- (cp_finish_decl): Check it.
- * pt.c (any_type_dependent_elements_p): New.
- * cp-tree.h: Declare it.
-
-2011-04-20 Jason Merrill <jason@redhat.com>
-
- * semantics.c (finish_compound_literal): Don't put an array
- with a dtor in a static variable.
-
- * call.c (build_over_call): Handle trivial dtor.
-
- * search.c (lookup_fnfields_slot): Call complete_type.
-
- PR c++/48594
- * decl2.c (build_offset_ref_call_from_tree): Move
- non-dependency of object outside condition.
-
- PR c++/48657
- * decl.c (cp_finish_decl): Simplify template handling.
-
-2011-04-20 Jim Meyering <meyering@redhat.com>
-
- * tree.c (cxx_printable_name_internal): Remove useless if-before-free.
-
-2011-04-19 Jason Merrill <jason@redhat.com>
-
- PR c++/46304
- * typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR.
-
- PR c++/45267
- * decl.c (duplicate_decls): Keep always_inline attribute
- in sync with DECL_DISREGARD_INLINE_LIMITS.
-
-2011-04-18 Jason Merrill <jason@redhat.com>
-
- PR c++/48569
- * typeck2.c (build_functional_cast): Handle VOID_TYPE.
-
- PR c++/48537
- * init.c (build_value_init): Handle UNION_TYPE the same.
-
-2011-04-18 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/48632
- * parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr
- for type dependent pointers.
-
-2011-04-18 Jim Meyering <meyering@redhat.com>
-
- * pt.c (type_unification_real): Fix typo in comment: s/in in/in/.
-
-2011-04-17 Jan Hubicka <jh@suse.cz>
-
- * semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
- gotos.
-
-2011-04-17 Jason Merrill <jason@redhat.com>
-
- PR c++/48531
- * typeck2.c (build_functional_cast): Disallow array type.
-
- * tree.c (get_target_expr): Handle VEC_INIT_EXPR.
-
-2011-04-17 Jan Hubicka <jh@suse.cz>
-
- * class.c (cp_fold_obj_type_ref): Drop vtable_method.
-
-2011-04-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- Implement N3271
- * parser.c (cp_convert_range_for): Split into
- cp_parser_perform_range_for_lookup.
- (cp_parser_perform_range_for_lookup): New.
- (cp_parser_range_for_member_function): New.
- (cp_parser_for_init_statement): Correct error message.
- * semantics.c (finish_call_expr): Accept COMPONENT_REF.
-
-2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * parser.c (cp_parser_objc_protocol_declaration): Updated for
- change from objc_declare_protocols() to objc_declare_protocol().
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- PR objc++/48479
- * typeck.c (cxx_mark_addressable) [CONST_DECL]: Mark addressable
- and return immediately.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.def (SWITCH_STMT): Add an extra operand.
- * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
- * cp-tree.h (SWITCH_STMT_SCOPE): Define.
- * semantics.c (begin_switch__stmt): Pass scope to build_stmt.
- (finish_switch_stmt): Use SWITCH_STMT_SCOPE instead of TREE_CHAIN.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.def (IF_STMT): Add an extra operand.
- * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
- * cp-tree.h (IF_SCOPE): Define.
- * semantics.c (begin_if_stmt): Pass scope to build_stmt.
- (finish_if_stmt): Use IF_SCOPE instead of TREE_CHAIN.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-tree.def (FOR_STMT, RANGE_FOR_STMT): Add an extra operand.
- * cp-objcp-common.c (cp_common_init_ts): Mark them as TS_TYPED.
- * cp-tree.h (FOR_SCOPE, RANGE_FOR_SCOPE): Define.
- * semantics.c (begin_for_stmt): Pass an extra arg to build_stmt.
- Use FOR_SCOPE instead of TREE_CHAIN.
- (begin_range_for_stmt): Likewise, with RANGE_FOR_SCOPE.
- (finish_for_stmt): Likewise.
-
-2011-04-14 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_postfix_expression): Fix flags passed to
- build_new_method_call.
- * semantics.c (finish_call_expr): Likewise.
-
- PR c++/48531
- * init.c (build_value_init_noctor): Check complain consistently.
-
- PR c++/48557
- * typeck.c (cp_build_binary_op): Don't decay void operands.
-
- PR c++/48446
- * decl.c (compute_array_index_type): Use get_temp_regvar instead
- of variable_size.
- * init.c (get_temp_regvar): No longer static.
- * cp-tree.h: Declare it.
-
-2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * parser.c (cp_parser_objc_class_declaration): Updated for change
- in objc_declare_class().
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * decl.c (poplevel): Use block_chainon.
-
-2011-04-13 Jason Merrill <jason@redhat.com>
-
- PR c++/48594
- * decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
- or pointer to (non-member) function.
-
-2011-04-13 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/48570
- * semantics.c (cxx_eval_array_reference): Handle reading from
- wchar_t, char16_t and char32_t STRING_CST.
-
-2011-04-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48574
- * class.c (fixed_type_or_null): We cannot determine the dynamic
- type of a reference variable if its initializer is dependent.
-
-2011-04-13 Jason Merrill <jason@redhat.com>
-
- PR c++/48581
- * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't complain about
- unqualified lookup failing if we're still in a template.
-
-2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
-
- * cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move
- tree_contains_struct initialization to...
- * cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_*
- macros.
- * cp-objcp-common.h (cp_common_init_ts): Declare.
- * cp-tree.h (union lang_tree_node): Check for TS_COMMON before
- calling TREE_CHAIN.
-
-2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * parser.c (cp_parser_objc_message_expression): Updated call
- to objc_build_message_expr.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of
- cgraph_get_create_node.
- * decl2.c (cp_write_global_declarations): Call cgraph_get_node
- instead of cgraph_get_create_node.
- * method.c (make_alias_for_thunk): Call cgraph_get_node
- instead of cgraph_get_create_node, assert it returns non-NULL.
- (use_thunk): Likewise.
- * optimize.c (maybe_clone_body): Call cgraph_same_body_alias only
- when flag_syntax_only is not set. Call cgraph_get_node instead of
- cgraph_get_create_node.
- (maybe_clone_body): Call cgraph_get_node instead of
- cgraph_get_create_node.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * class.c (cp_fold_obj_type_ref): Call cgraph_get_create_node
- instead of cgraph_node.
- * decl2.c (cxx_callgraph_analyze_expr): Likewise.
- (cp_write_global_declarations): Likewise.
- * optimize.c (maybe_clone_body): Likewise.
- * semantics.c (maybe_add_lambda_conv_op): Likewise.
- * mangle.c (mangle_decl): Likewise.
- * method.c (make_alias_for_thunk): Likewise.
- (use_thunk): Likewise.
-
-2011-04-11 Jason Merrill <jason@redhat.com>
-
- PR c++/48535
- * decl.c (cp_complete_array_type_or_error): New.
- * semantics.c (finish_compound_literal): Use it.
- * cp-tree.h: Declare it.
-
- PR c++/48535
- * semantics.c (finish_compound_literal): Handle references.
-
- PR c++/48535
- * semantics.c (finish_compound_literal): Take complain parm.
- (build_lambda_object): Adjust.
- * cp-tree.h: Adjust.
- * call.c (convert_like_real): Adjust.
- * decl.c (check_initializer): Adjust.
- * parser.c (cp_parser_postfix_expression): Adjust.
- (cp_parser_functional_cast): Adjust.
- * pt.c (tsubst_copy_and_build): Adjust.
- * typeck2.c (process_init_constructor_record): Adjust.
-
- PR c++/48534
- * cvt.c (ocp_convert): Use build_nop to convert to underlying type
- of scoped enum.
-
- PR c++/48523
- * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
- than cp_build_indirect_ref.
-
- PR c++/48457, Core 1238
- * call.c (reference_binding): Allow rvalue reference to bind to
- function lvalue.
- * tree.c (lvalue_kind): Functions are always lvalues.
-
-2011-04-07 Jason Merrill <jason@redhat.com>
-
- PR c++/48500
- * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check
- arguments even if we don't know the function.
-
- PR c++/48481
- * tree.c (build_overload): Allow an unwrapped FUNCTION_DECL
- at the end of the chain.
- * pt.c (dependent_template_p): Use OVL_CURRENT/NEXT.
- (iterative_hash_template_arg): Likewise.
-
- PR c++/48481
- * cp-tree.h (OVL_ARG_DEPENDENT): New.
- * name-lookup.c (add_function): Set it.
- * semantics.c (finish_call_expr): Free OVERLOADs if it's set.
-
- PR c++/48481
- * call.c (build_user_type_conversion_1): Use lookup_fnfields_slot.
- Release unused vector.
-
- PR c++/48451
- * pt.c (fn_type_unification): Don't clear incomplete pack flag.
- (type_unification_real): Clear it here instead.
-
- PR c++/48468
- * except.c (build_noexcept_spec): Propagate error_mark_node.
- (finish_noexcept_expr): Likewise.
-
- PR c++/48452
- * typeck.c (build_x_compound_expr_from_list): Return error_mark_node
- in SFINAE context.
-
- PR c++/48450
- * call.c (resolve_args): Take complain.
- (build_new_function_call, build_operator_new_call): Pass it.
- (build_op_call, build_new_op, build_new_method_call): Pass it.
-
- PR c++/48450
- * typeck.c (check_for_casting_away_constness): Take complain.
- (build_static_cast_1, build_reinterpret_cast_1): Pass it.
- (build_const_cast_1): Pass it. Take full complain parm.
- (build_const_cast, cp_build_c_cast): Adjust.
-
- * tree.c (build_aggr_init_expr): Always return error_mark_node
- on abstract violation.
-
- PR c++/48450
- * tree.c (build_cplus_new, build_aggr_init_expr): Take complain.
- (bot_manip): Adjust.
- * cp-tree.h: Adjust.
- * call.c (convert_like_real, build_cxx_call): Adjust.
- (perform_direct_initialization_if_possible): Adjust.
- * cvt.c (ocp_convert): Adjust.
- * init.c (build_value_init): Adjust.
- * semantics.c (maybe_add_lambda_conv_op): Adjust.
- * typeck.c (unary_complex_lvalue, cp_build_modify_expr): Adjust.
- * typeck2.c (build_functional_cast): Adjust.
-
- * init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top
- level.
- (perform_member_init): Not here.
- * typeck2.c (build_functional_cast): Limit REFERENCE_TYPE special
- case to templates.
- (abstract_virtuals_error_sfinae): Remove RESULT_DECL special case.
-
- PR c++/48449
- * typeck2.c (build_functional_cast): Check complain consistently.
- Use build_value_init and abstract_virtuals_error_sfinae.
- (abstract_virtuals_error_sfinae): Split out.
- * cp-tree.h: Declare it.
- * init.c (build_new_1): Use it.
- (build_value_init_noctor): Handle FUNCTION_TYPE.
-
- * semantics.c (finish_decltype_type): Simplify handling of unknown
- type.
-
- * semantics.c (finish_decltype_type): Add complain parm.
- * cp-tree.h: Adjust.
- * parser.c (cp_parser_decltype): Adjust.
- * pt.c (tsubst): Adjust.
-
- PR c++/48450
- * cvt.c (ocp_convert): Handle converting scoped enum to bool.
-
-2011-03-31 Jason Merrill <jason@redhat.com>
-
- PR c++/48277
- * semantics.c (finish_call_expr): Remove assert.
-
- PR c++/48280
- * method.c (defaultable_fn_check): Templates are not defaultable.
-
- * parser.c (cp_parser_init_declarator): Avoid redundant
- cp_finish_decl for member declarations.
-
-2011-03-30 Jason Merrill <jason@redhat.com>
-
- PR c++/48212
- * semantics.c (non_const_var_error): Just return if DECL_INITIAL
- is error_mark_node.
-
-2011-03-30 Jason Merrill <jason@redhat.com>
-
- PR c++/48369
- * semantics.c (potential_constant_expression_1): Handle
- UNORDERED_EXPR and ORDERED_EXPR.
-
- PR c++/48281
- * semantics.c (finish_compound_literal): Do put static/constant
- arrays in static variables.
-
- * call.c (convert_like_real) [ck_list]: Build up the
- initializer_list object directly.
- * decl.c (build_init_list_var_init): Adjust.
-
- * call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR.
- * decl.c (reshape_init_array_1): Likewise.
-
-2011-03-29 Jason Merrill <jason@redhat.com>
-
- PR c++/48265
- * pt.c (value_dependent_expression_p) [VAR_DECL]: Make sure
- the variable is constant before looking at its initializer.
-
- PR c++/48319
- * pt.c (value_dependent_expression_p): Handle TEMPLATE_ID_EXPR.
-
- PR c++/48089
- * semantics.c (potential_constant_expression_1): Change error about
- use of *this in constructor into sorry.
-
- PR c++/48296
- * decl.c (cp_finish_decl): Defer validation of constexpr member
- functions.
- * class.c (finalize_literal_type_property): Validate them here.
- * semantics.c (is_valid_constexpr_fn): Don't check completeness.
-
- * semantics.c (is_valid_constexpr_fn): Specify input location.
-
-2011-03-28 Jason Merrill <jason@redhat.com>
-
- PR c++/48313
- * pt.c (maybe_adjust_types_for_deduction): Handle T&& deduction
- from overloaded function.
-
- Core 1232
- * call.c (build_array_conv): New.
- (implicit_conversion): Use it.
-
- * call.c (reference_binding): Allow direct binding to an array
- rvalue.
-
- Core 898
- * parser.c (cp_parser_compound_statement): Add function_body parm.
- Complain about non-body compound-stmt in constexpr fn.
- (cp_parser_primary_expression, cp_parser_statement): Adjust.
- (cp_parser_implicitly_scoped_statement): Adjust.
- (cp_parser_function_body, cp_parser_try_block): Adjust.
- (cp_parser_handler, cp_parser_objc_synchronized_statement): Adjust.
- (cp_parser_objc_try_catch_finally_statement): Adjust.
-
- Core 898
- * semantics.c (constexpr_fn_retval): New. Allow using-declaration
- and using-definition.
- (register_constexpr_fundef): Call it.
-
- * except.c (build_noexcept_spec): Call cxx_constant_value after
- converting to bool.
-
-2011-03-25 Kai Tietz <ktietz@redhat.com>
-
- * lex.c (interface_strcmp): Handle dos-paths.
- (handle_pragma_implementation): Use filename_cmp instead of
- strcmp.
- (in_main_input_context): Likewise.
-
-2011-03-25 Jason Merrill <jason@redhat.com>
-
- Core 1135
- * method.c (defaulted_late_check): Check for exception spec mismatch.
- (defaultable_fn_check): Allow exception spec and virtual.
- * class.c (check_for_override): A virtual dtor is non-trivial.
-
- PR c++/48289
- * pt.c (build_non_dependent_expr): Keep dereferences outside the
- NON_DEPENDENT_EXPR.
-
-2011-03-25 Kai Tietz <ktietz@redhat.com>
-
- * decl.c (decls_match): Replace target hook
- call of comp_type_attributes by version in tree.c file.
- * search.c (check_final_overrider): Likewise.
- * typeck.c (structural_comptypes): Likewise.
-
-2011-03-21 Kai Tietz <ktietz@redhat.com>
-
- PR target/12171
- * cxx-pretty-print.c (pp_cxx_ptr_operator):
- Display allowed attributes for function pointer types.
- * error.c (dump_type_prefix): Likewise.
-
- * tree.c (cxx_attribute_table): Adjust table.
-
-2011-03-18 Jason Merrill <jason@redhat.com>
-
- PR c++/48162
- * semantics.c (finish_call_expr): Allow TARGET_EXPR for now.
-
- PR c++/48118
- * call.c (build_over_call): Don't skip ck_rvalue.
-
-2011-03-17 Jason Merrill <jason@redhat.com>
-
- PR c++/47504
- * semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
- the conversion set TREE_OVERFLOW.
-
- Core 1212
- * semantics.c (finish_decltype_type): Return T&& for xvalue.
- * typeck.c (unlowered_expr_type): Preserve cv-quals.
-
- PR c++/48166
- * decl.c (revert_static_member_fn): Strip function-cv-quals.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- PR c++/48089
- * semantics.c (potential_constant_expression_1): Don't allow *this
- in a constructor.
- (register_constexpr_fundef): Use potential_rvalue_constant_expression.
-
- PR c++/47301
- * decl.c (compute_array_index_type): Don't bother trying to deal
- with literal classes in ABI v1.
-
- PR c++/46336
- * decl.c (duplicate_decls): Return NULL_TREE for clashing
- C functions.
-
- PR c++/47570
- * semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't
- use the generic binary expression handling.
-
-2011-03-16 Diego Novillo <dnovillo@google.com>
-
- * Make-lang.in (CXX_PARSER_H): New.
- (cp/parser.o): Add dependency on CXX_PARSER_H.
- Add dependency on tree-pretty-print.h
- (cp/cp-lang.o): Add dependency on CXX_PARSER_H.
- * cp-lang.c: Include parser.h.
- * parser.c: Include parser.h.
- (struct cp_token): Add bitfield purged_p.
- Update all users.
- Move to parser.h.
- (CPP_PURGED): Remove. Update all users.
- (struct cp_lexer): Change field buffer to be a VEC of cp_token.
- Remove field buffer_length.
- Update all users.
- Move to parser.h.
- (struct tree_check): Move to parser.h.
- (cp_token_position): Likewise.
- (struct cp_token_cache): Likewise.
- (CPP_KEYWORD): Likewise.
- (CPP_TEMPLATE_ID): Likewise.
- (CPP_NESTED_NAME_SPECIFIER): Likewise.
- (N_CP_TTYPES): Likewise.
- (enum cp_parser_status_kind): Likewise.
- (struct cp_parser_context): Likewise.
- (struct cp_default_arg_entry_d): Likewise.
- (struct cp_unparsed_functions_entry_d): Likewise.
- (struct cp_parser): Likewise.
- (cp_lexer_dump_tokens): New.
- (cp_lexer_debug_tokens): New.
- (cp_lexer_finished_p): New.
- (cp_lexer_alloc): Factor out of cp_lexer_new_main.
- (cp_lexer_new_main): Re-write main lexing loop to push
- tokens into the new VEC buffer.
- (cp_lexer_print_token): Improve printing of CPP_NUMBER tokens.
- Do not abort if the token type is not recognized, just print
- its code.
- * parser.h: New file.
- * config-lang.in (gtfiles): Add cp/parser.h.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- Core 1148
- * typeck.c (check_return_expr): Fix conditions for setting
- LOOKUP_PREFER_RVALUE.
-
- * call.c (build_over_call): Remove require_complete_type_sfinae call.
-
- PR c++/48132
- * decl.c (check_array_designated_initializer): Allow integer index.
- (reshape_init_array_1): Set index on the elements.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- PR c++/48113
- * typeck.c (convert_for_initialization): Use
- perform_implicit_conversion_flags.
- * call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set
- rvaluedness_matches_p on ck_rvalue.
- (convert_like_real) [ck_rvalue]: And restore it here.
-
- PR c++/48115
- * call.c (convert_arg_to_ellipsis): Handle incomplete type.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
- committed to this tentative parse.
-
- PR c++/47999
- * semantics.c (finish_call_expr): Preserve reference semantics
- in templates.
-
- * call.c (convert_default_arg): Use LOOKUP_IMPLICIT.
-
-2011-03-16 Jakub Jelinek <jakub@redhat.com>
-
- * cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if
- DECL_LANG_SPECIFIC is NULL.
-
-2011-03-15 Jason Merrill <jason@redhat.com>
-
- Core 1074
- * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Don't
- check value_dependent_expression_p on the operand.
-
- * semantics.c (push_cx_call_context): Return bool.
- (cxx_eval_call_expression): Handle excess depth.
-
- Core 1191
- * method.c (synthesized_method_walk): Cleanups don't affect the
- triviality of a constructor, but do affect deletion and exception
- specification.
-
-2011-03-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- * decl2.c (cp_check_const_attributes): New.
- (cplus_decl_attributes): Call cp_check_const_attributes.
-
-2011-03-15 Jason Merrill <jason@redhat.com>
-
- PR c++/34758
- * call.c (convert_default_arg): Use DECL_ORIGIN of fn. Check for
- recursion first.
- (push_defarg_context, pop_defarg_context): New.
- * parser.c (cp_parser_late_parsing_default_args): Use them.
- * cp-tree.h: Declare them.
-
-2011-03-11 Dodji Seketeli <dodji@redhat.com>
-
- * call.c (add_builtin_candidate)<case INDIRECT_REF>: The type of
- the argument of the indirection operator should not be dependent.
- Fix the comment.
-
-2011-03-11 Jason Merrill <jason@redhat.com>
-
- PR c++/47125
- * pt.c (tsubst) [TYPENAME_TYPE]: Only give errors if tf_error.
-
- PR c++/47144
- * parser.c (cp_parser_template_type_arg): Set
- type_definition_forbidden_message.
-
- PR c++/47808
- * decl.c (compute_array_index_type): Discard folding
- if it didn't produce a constant.
-
-2011-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/48035
- * init.c (build_zero_init_1): Extracted from build_zero_init.
- Add FIELD_SIZE argument, if non-NULL and field bit_position
- as not smaller than that, don't add that field's initializer.
- Pass DECL_SIZE as last argument to build_zero_init_1
- for DECL_FIELD_IS_BASE fields.
- (build_zero_init): Use build_zero_init_1.
-
-2011-03-10 Jason Merrill <jason@redhat.com>
-
- PR c++/48029
- * pt.c (iterative_hash_template_arg): Remove special case for
- ARRAY_TYPE.
-
- PR c++/47198
- * parser.c (cp_parser_single_declaration): Just return if
- cp_parser_parse_and_diagnose_invalid_type_name complained.
-
-2011-03-09 Jason Merrill <jason@redhat.com>
-
- PR c++/44629
- * pt.c (unify): An unresolved overload is a nondeduced context.
-
-2011-03-09 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/47714
- * method.c (use_thunk): Clear addressable flag of thunk arguments.
-
-2011-03-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47705
- * pt.c (convert_nontype_argument): Only call decay_conversion on
- arrays.
-
-2011-03-08 Jason Merrill <jason@redhat.com>
-
- PR c++/47488
- * mangle.c (write_template_arg_literal) [STRING_CST]: Sorry.
-
- PR c++/47705
- * pt.c (convert_nontype_argument): Don't crash on non-pointer
- argument to pointer parameter.
-
- PR c++/45651
- * pt.c (instantiate_decl): Don't clear DECL_INTERFACE_KNOWN on
- !TREE_PUBLIC decls.
-
-2011-03-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47957
- * name-lookup.c (binding_to_template_parms_of_scope_p): Only
- consider scopes of primary template definitions. Adjust comments.
-
-2011-03-07 Jason Merrill <jason@redhat.com>
-
- PR c++/48003
- * pt.c (convert_nontype_argument): Fix -fpermissive allowing
- integer overflow.
- * semantics.c (potential_constant_expression_1): Check TREE_OVERFLOW.
-
- PR c++/48015
- * init.c (constant_value_1): Always require init to be TREE_CONSTANT.
-
- PR c++/48008
- * mangle.c (write_type): Strip cv-quals from FUNCTION_TYPE here.
- (write_CV_qualifiers_for_type): Not here.
-
-2011-03-06 Joseph Myers <joseph@codesourcery.com>
-
- * lang-specs.h: Match -save-temps* instead of -save-temps.
-
-2011-03-05 Jason Merrill <jason@redhat.com>
-
- * mangle.c (write_expression): Change ABI v6 to v5.
- (write_type): Likewise.
-
-2011-03-04 Jan Hubicka <jh@suse.cz>
-
- PR lto/47497
- * optimize.c (maybe_clone_body): Update call of cgraph_same_body_alias
- and cgraph_add_thunk.
- * method.c (make_alias_for_thunk, use_thunk): Likewise.
- * mangle.c (mangle_decl): Likewise.
-
-2011-03-04 Jason Merrill <jason@redhat.com>
-
- PR c++/47971
- * pt.c (tsubst_copy_and_build) [PSEUDO_DTOR_EXPR]: Use tsubst for type.
- (tsubst_copy) [default]: Just return t if !ENABLE_CHECKING.
-
- PR c++/46220
- * search.c (check_final_overrider): Allow pointer to same incomplete
- class type with different cv-quals.
-
-2011-03-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47974
- * pt.c (tsubst_template_args): Check argument t for error_mark_node.
-
-2011-03-03 Jason Merrill <jason@redhat.com>
-
- PR c++/47950
- * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Retain TREE_CONSTANT.
-
-2011-03-02 Jason Merrill <jason@redhat.com>
-
- PR c++/47950
- * parser.c (cp_parser_condition): Don't fold_non_dependent_expr here.
-
- PR c++/47774
- * tree.c (build_vec_init_elt): Split out from...
- (build_vec_init_expr): ...here.
- (diagnose_non_constexpr_vec_init): New fn.
- * semantics.c (potential_constant_expression_1): Use it.
- * cp-tree.h: Declare it.
-
-2011-03-01 Jason Merrill <jason@redhat.com>
-
- PR c++/46159
- * parser.c (cp_parser_primary_expression): Don't warn about a
- failed tentative parse.
-
- PR c++/47200
- * semantics.c (cxx_bind_parameters_in_call): Don't call
- adjust_temp_type on non-constant args.
-
- PR c++/47851
- * call.c (standard_conversion): Provide requested cv-quals on
- class rvalue conversion.
-
- PR c++/46282
- * decl2.c (grokbitfield): Handle type-dependent width.
-
-2011-02-28 Jason Merrill <jason@redhat.com>
-
- PR c++/47873
- * class.c (update_vtable_entry_for_fn): Check BINFO_LOST_PRIMARY_P
- after checking for a non-thunk.
-
-2011-02-26 Jason Merrill <jason@redhat.com>
-
- PR c++/47904
- * tree.c (cp_tree_equal): Compare DECL_PARM_LEVEL.
- * pt.c (iterative_hash_template_arg): And hash it.
-
- PR c++/47897
- * semantics.c (non_const_var_error): Split out from...
- (cxx_eval_constant_expression): ...here.
- (potential_constant_expression_1) [VAR_DECL]: Use it.
- Allow dependent variables.
-
-2011-02-24 Jason Merrill <jason@redhat.com>
-
- * parser.c (cp_parser_constant_expression): Set
- non_integral_constant_expression correctly for C++0x too.
- (cp_parser_static_assert): Allow non-constant expression.
- (cp_parser_direct_declarator): Expect non_constant_p to be set
- properly for C++0x.
- * pt.c (value_dependent_expression_p): Handle TYPEID_EXPR.
- * semantics.c (maybe_constant_value): Check type_unknown_p too.
- (potential_rvalue_constant_expression): New.
- (require_potential_rvalue_constant_expression): New.
-
-2011-02-23 Jason Merrill <jason@redhat.com>
-
- * cp-tree.h (DECL_PARM_LEVEL): New.
- (struct lang_decl_parm): Add level field.
- * name-lookup.c (function_parm_depth): New fn.
- * name-lookup.h: Declare it.
- * parser.c (cp_parser_parameter_declaration_list): Use it.
- * mangle.c (struct globals): Add parm_depth field.
- (write_bare_function_type): Adjust it.
- (write_expression): Include the level delta in PARM_DECL mangling
- for abi >= 6.
-
- * semantics.c (finish_decltype_type): Remove shortcut for decltype
- of id-expression.
- * mangle.c (write_type) [DECLTYPE_TYPE]: Strip it here for abi < 6.
-
-2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
-
- PR c++/46868
- * parser.c (cp_parser_class_specifier): Require a closing brace
- to attempt error recovery.
-
-2011-02-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47833
- * pt.c (struct pending_template): Add chain_next GTY option.
- * decl.c (struct named_label_use_entry): Likewise.
-
-2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47242
- * semantics.c (build_lambda_object): Bail out if a field is
- error_mark_node.
-
-2011-02-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47666
- * class.c (dfs_declare_virt_assop_and_dtor)
- (declare_virt_assop_and_dtor): New static functions.
- (add_implicitly_declared_members): Use
- declare_virt_assop_and_dtor.
-
-2011-02-21 Jason Merrill <jason@redhat.com>
-
- PR c++/47207
- * decl2.c (decl_constant_var_p): A constexpr var needs an
- initializer to be constant.
- * semantics.c (cxx_eval_constant_expression): Complain about
- constexpr var used in its own initializer.
- * call.c (set_up_extended_ref_temp): Set
- DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too.
-
-2011-02-20 Jason Merrill <jason@redhat.com>
-
- PR c++/47199
- * semantics.c (cxx_eval_call_expression): Call
- cxx_eval_constant_expression in trivial shortcut.
-
- PR c++/46831
- * call.c (convert_class_to_reference): Don't try to set up a
- second conv sequence for non-viable candidates.
-
- PR c++/47703
- * error.c (location_of): Handle non-tagged types.
-
- PR c++/46472
- * method.c (process_subob_fn): Instantiate constexpr templates.
- * optimize.c (maybe_clone_body): Propagate DECL_DECLARED_CONSTEXPR_P.
-
-2011-02-20 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/46394
- * pt.c (tsubst_pack_expansion): do not use
- cp_tree_equal/same_type_p to detect an expansion of a parameter
- pack.
-
-2011-02-19 Jason Merrill <jason@redhat.com>
-
- PR c++/47503
- * semantics.c (cxx_eval_call_expression): Shortcut trivial copy.
-
-2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47795
- * semantics.c (finish_non_static_data_member): Early return if
- object is error_mark_node.
-
-2011-02-18 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47208
- * pt.c (do_auto_deduction): Do not mention error_mark_node in
- diagnostics.
- * semantics.c (finish_id_expression): Do not pass erroneous decl
- to decl_constant_var_p.
-
-2011-02-17 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47783
- * cvt.c (convert_from_reference): Call mark_exp_read.
-
-2011-02-11 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47172
- * pt.c (finish_call_expr): Consider a call expression that has a
- dependent "this" pointer as being dependent. Add comments.
- (dependent_type_p, type_dependent_expression_p): Update comments.
-
-2011-02-16 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47326
- * pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack
- expansion arguments are not evaluated.
-
-2011-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47704
- * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5
- instead of TYPE_LANG_FLAG_3.
- * pt.c (lookup_template_class): Copy over
- ENUM_FIXED_UNDERLYING_TYPE_P.
-
-2011-02-15 Jason Merrill <jason@redhat.com>
-
- PR c++/46807
- * method.c (synthesized_method_walk): Always exit early for
- trivial fn in C++98 mode.
-
-2011-02-14 Jason Merrill <jason@redhat.com>
-
- PR c++/47482
- * parser.c (cp_parser_enumerator_definition): Call
- fold_non_dependent_expr.
-
-2011-02-09 Jason Merrill <jason@redhat.com>
-
- * decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
- * semantics.c (finish_fname): Only return the name if we're in
- a function.
-
- * decl.c (build_enumerator): Don't perform integral promotions on
- non-integral constants.
-
- * cvt.c (convert_to_void): Handle null op1.
-
- * class.c (type_has_constexpr_default_constructor): Make sure the
- caller stripped an enclosing array.
- * init.c (perform_member_init): Strip arrays before calling it.
-
- PR c++/47511
- * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
-
-2011-02-03 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47398
- * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
- template parameters in account.
-
-2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
-
- PR c++/46890
- * parser.c (cp_parser_class_specifier): Fix setting of
- want_semicolon.
-
-2011-01-31 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47416
- * semantics.c (build_data_member_initialization): Handle
- STATEMENT_LIST always instead of just for CLEANUP_BODY.
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
- LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
-
-2011-01-29 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47311
- * cp-tree.h (fixup_template_parms): Declare.
- * pt.c (end_template_parm_list): Do not fixup template parms here.
- (fixup_template_parms): Remove static. Fix typo in the
- comments. Remove useless code statement.
- (fixup_template_parm): For a template template parameter, fixup
- its attributes before fixing up its type.
- * parser.c
- (cp_parser_template_declaration_after_export): After parsing
- template parameters fixup their types.
-
-2011-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47476
- * semantics.c (potential_constant_expression_1): Handle
- TRUTH_XOR_EXPR.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR c++/43601
- * semantics.c (expand_or_defer_fn_1): Handle it.
- * decl2.c (decl_needed_p): Likewise.
-
-2011-01-21 Jason Merrill <jason@redhat.com>
-
- PR c++/47041
- * semantics.c (build_constexpr_constructor_member_initializers):
- Handle trivial copy.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47388
- * semantics.c (begin_for_stmt): If -fno-for-scope, don't
- assume init must be NULL if scope is NULL.
- (begin_range_for_stmt): Likewise.
-
-2011-01-21 Jason Merrill <jason@redhat.com>
-
- PR c++/46552
- * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
-
- PR c++/46977
- * semantics.c (potential_constant_expression_1): Split out from
- potential_constant_expression. Add want_rval parm. Handle
- template expression forms. Don't enforce restriction on address
- of automatic variable here. Add a couple of diagnostics that
- had been missing.
- (require_potential_constant_expression): New entry point.
- (build_data_member_initialization, register_constexpr_fundef): Adjust.
- (maybe_constant_value): Check potential_constant_expression.
- * pt.c (fold_non_dependent_expr_sfinae): Likewise.
- * tree.c (build_vec_init_expr): Adjust.
-
-2011-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47303
- * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
- or DECL_EXTERNAL.
-
-2011-01-17 Jason Merrill <jason@redhat.com>
-
- PR c++/47067
- * semantics.c (base_field_constructor_elt): New fn.
- (cxx_eval_bare_aggregate): Use it.
- (build_data_member_initialization): Leave COMPONENT_REF for
- vfield inits.
-
-2011-01-14 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- * parser.c (cp_parser_range_for): Remove the "unused variable" warning
- workaround.
-
-2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/33558
- * decl.c (grokdeclarator): Reject mutable reference members.
-
-2011-01-14 Jason Merrill <jason@redhat.com>
-
- PR c++/47289
- * pt.c (coerce_template_parms): Fix error recovery.
-
- PR c++/46903
- * typeck2.c (check_narrowing): Only check arithmetic types.
-
- PR c++/46688
- * tree.c (build_vec_init_expr): Handle flexible array
- properly.
-
-2011-01-13 Kai Tietz <kai.tietz@onevision.com>
-
- PR c++/47213
- * cp-tree.h (CLASSTYPE_VISIBILITY): Use
- TYPE_MAIN_DECL instead of TYPE_NAME.
- (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
- * decl2.c (determine_visibility): Add check
- of CLASS_TYPE_P for underlying_type.
-
-2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- * cp-tree.h (begin_for_scope): New prototype.
- (begin_for_stmt): Update prototype.
- (begin_range_for_stmt): Update prototype.
- * init.c (build_vec_init): Update call to begin_for_stmt.
- * parser.c (cp_parser_for): New.
- (cp_parser_c_for): Add three new parameters.
- (cp_parser_range_for): Likewise. Most parsing code removed.
- (cp_parser_iteration_statement): Call cp_parser_for instead of
- cp_parser_c_for and cp_parser_range_for.
- (cp_parser_for_init_statement): Add new parameter and return type.
- (cp_parser_block_declaration): Update call to
- cp_parser_simple_declaration.
- (cp_parser_simple_declaration): Add new parameter.
- Update call to cp_parser_init_declarator.
- (cp_parser_init_declarator): Add new parameter.
- * pt.c (tsubst_expr): Update call to begin_for_stmt.
- * semantics.c (begin_for_scope): New.
- (begin_for_stmt): Add two new parameters.
- (begin_range_for_stmt): Likewise.
-
-2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * parser.c (cp_parser_objc_at_property_declaration): Improved
- error message.
-
-2011-01-11 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/46955
- * cp-lang.c (get_template_innermost_arguments_folded)
- (get_template_argument_pack_elems_folded)
- (template_arg_needs_folding, fold_cplus_constants): New static
- functions.
- (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to
- get_template_innermost_arguments_folded.
- (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to
- get_template_argument_pack_elems_folded.
-
-2011-01-11 Jason Merrill <jason@redhat.com>
-
- PR c++/46658
- * init.c (build_new_1): Handle value-init in templates differently.
-
- PR c++/45520
- * tree.c (maybe_dummy_object): Check current_class_ref against
- context, not current_class_type.
-
-2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47078
- * parser.c (cp_parser_objc_typename): If the type is unknown, for
- error recovery purposes behave as if it was not specified so that
- the default type is used.
-
-2011-01-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47022
- * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy
- for the second build_x_va_arg argument.
-
-2011-01-05 Tom Tromey <tromey@redhat.com>
-
- * typeck.c (cp_build_addr_expr_1): Update call to lvalue_error.
- (lvalue_or_else): Likewise.
-
-2011-01-01 Kai Tietz <kai.tietz@onevision.com>
-
- PR target/38662
- * tree.c (cxx_type_hash_eq):
- Allow METHOD_TYPE, too.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/cp/ChangeLog-2011 b/gcc/cp/ChangeLog-2011
new file mode 100644
index 0000000..5065989
--- /dev/null
+++ b/gcc/cp/ChangeLog-2011
@@ -0,0 +1,5033 @@
+2011-12-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51397
+ * semantics.c (finish_static_assert): Use %s instead of %E for
+ the error message.
+
+2011-12-27 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/23211
+ * name-lookup.c (do_class_using_decl): Use dependent_scope_p
+ instead of dependent_type_p, to check that a non-dependent
+ nested-name-specifier of a class-scope using declaration refers to
+ a base, even if the current scope is dependent.
+ * parser.c (cp_parser_using_declaration): Set
+ USING_DECL_TYPENAME_P to 1 if the DECL is not null. Re-indent a
+ 'else' close to the prior modification.
+
+2011-12-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/51507
+ * search.c (at_function_scope_p): Also check cfun.
+ * pt.c (tsubst_pack_expansion): Check it instead of
+ cp_unevaluated_operand.
+ (instantiate_template_1): Use push_to_top_level.
+
+ * tree.c (dependent_name): OFFSET_REF and BASELINK
+ are not dependent names.
+
+2011-12-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/51611
+ * cp-tree.h (CONVERT_EXPR_VBASE_PATH): New.
+ * class.c (build_base_path): Defer vbase conversion in an NSDMI.
+ * tree.c (bot_replace): Expand it here.
+ * cp-gimplify.c (cp_genericize_r): Make sure deferred conversion
+ doesn't leak into GENERIC.
+
+2011-12-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51305
+ * semantics.c (massage_constexpr_body): Reorder conditionals, make
+ sure a BIND_EXPR embedded in a MUST_NOT_THROW_EXPR is handled.
+
+2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51621
+ * tree.c (diagnose_non_constexpr_vec_init): For value initialization
+ pass void_type_node, not void_zero_node, to build_vec_init_elt.
+
+2011-12-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/49951
+ * decl.c (cxx_maybe_build_cleanup): Don't set location of the call
+ to the destructor.
+
+2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51612
+ * semantics.c (is_valid_constexpr_fn): In case of constexpr
+ constructors also check for virtual base classes.
+
+2011-12-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51328
+ * pt.c (convert_template_argument): Early error out and return
+ error_mark_node for invalid uses of destructors as types.
+
+2011-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51530
+ * pt.c (unify): Handle NULLPTR_TYPE.
+
+ PR c++/51526
+ * semantics.c (build_data_member_initialization): Handle
+ delegating constructor.
+ (build_constexpr_constructor_member_initializers): Likewise.
+
+ PR c++/51553
+ * cp-tree.h (LOOKUP_LIST_INIT_CTOR): Rename from
+ LOOKUP_NO_COPY_CTOR_CONVERSION.
+ (add_list_candidates): Set it earlier.
+ (add_candidates): Don't check explicit on ctors when it's set.
+ (add_function_candidate): Check it even when LOOKUP_ONLYCONVERTING
+ is set.
+
+ PR c++/51553
+ * call.c (add_function_candidate): Allow conversions for the copy
+ parm in list-initialization unless the argument is an init-list.
+
+2011-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51619
+ * semantics.c (cxx_eval_vec_init_1): If init is NULL for
+ multidimensional array, just set eltinit to NULL_TREE.
+
+ * cp-gimplify.c (gimplify_must_not_throw_expr): Use
+ gimple_seq_add_stmt_without_update instead of gimplify_seq_add_stmt.
+
+2011-12-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51477
+ * search.c (lookup_member): Get out early on invalid base type.
+
+2011-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51489
+ * semantics.c (cxx_eval_outermost_constant_expr): Check for
+ conversion from pointer to integer here.
+ (cxx_eval_constant_expression) [NOP_EXPR]: Not here.
+
+2011-12-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * semantics.c (finish_compound_literal): Don't call check_narrowing
+ if !(complain & tf_warning_or_error).
+
+2011-12-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51588
+ * parser.c (cp_parser_ptr_operator): Reject pointer to member of enum.
+
+2011-12-17 Richard Henderson <rth@redhat.com>
+
+ PR bootstrap/51072
+ * config-lang.in: Revert last change.
+
+2011-12-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51586
+ * parser.c (cp_parser_check_class_key): Handle error_mark_node.
+
+ PR c++/51587
+ * decl.c (start_enum): Avoid using ENUM_UNDERLYING_TYPE on a
+ non-enum.
+
+2011-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51416
+ * init.c (build_value_init_noctor): Check for incomplete type.
+
+2011-12-16 Richard Henderson <rth@redhat.com>
+
+ PR bootstrap/51072
+ * config-lang.in (target_libs): Include target-libitm.
+
+2011-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51461
+ * decl.c (check_static_variable_definition): Check COMPLETE_TYPE_P
+ before literal_type_p.
+
+ PR c++/51331
+ * class.c (convert_to_base_statically): Just call
+ build_simple_base_path.
+ (build_simple_base_path): Check field offset.
+
+2011-12-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/51458
+ * decl.c (has_designator_problem): New.
+ (reshape_init_r): Check for improper use of
+ designated initializers.
+
+2011-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51463
+ * decl.c (grokdeclarator): Set DECL_INITIAL of decl
+ to error_mark_node to disallow NSDMI if declspecs->storage_class
+ is sc_static.
+ * parser.c (cp_parser_late_parse_one_default_arg): Return early
+ if default_arg is error_mark_node.
+
+ PR c/51360
+ * semantics.c (finish_omp_clauses): For OMP_CLAUSE_NUM_THREADS_EXPR
+ and OMP_CLAUSE_SCHEDULE_CHUNK_EXPR call mark_rvalue_use.
+
+2011-12-15 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51473
+ * decl.c (check_tag_decl): Error out on auto specifier with no
+ declarator.
+
+2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/51365
+ * cp-tree.h (CPTK_IS_FINAL): Add.
+ * parser.c (cp_parser_translation_unit): Handle RID_IS_FINAL.
+ (cp_parser_primary_expression, cp_parser_trait_expr): Likewise.
+ * semantics.c (trait_expr_value, finish_trait_expr): Handle
+ CPTK_IS_FINAL.
+ * cxx-pretty-print.c (pp_cxx_trait_expression): Likewise.
+
+2011-12-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/51554
+ * semantics.c (cxx_eval_indirect_ref): Fix sanity check.
+
+ PR c++/51248
+ * decl.c (copy_type_enum): Also update variants.
+ (finish_enum): Allow variants of complete enums.
+
+2011-12-14 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51475
+ * call.c (struct conversion)<u.next>: Update comment.
+ (next_conversion): New static function.
+ (convert_like_real): Use it.
+
+ PR c++/51476
+ * pt.c (convert_nontype_argument): Don't call maybe_constant_value
+ for PTRMEM_CST nodes.
+
+2011-12-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/51406
+ PR c++/51161
+ * typeck.c (build_static_cast_1): Fix cast of lvalue to
+ base rvalue reference.
+
+2011-12-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51464
+ * semantics.c (begin_lambda_type): Check begin_class_definition return
+ value for error_mark_node.
+ * parser.c (cp_parser_lambda_expression): Check begin_lambda_type
+ return value for error_mark_node.
+
+2011-12-13 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/14258
+ * cp-tree.h (USING_DECL_TYPENAME_P): New macro.
+ * parser.c (cp_parser_nonclass_name): Handle using declarations
+ that refer to a dependent type.
+ (cp_parser_using_declaration): Set USING_DECL_TYPENAME_P to 1 if
+ the using declaration refers to a dependent type.
+
+2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51496
+ * parser.c (cp_parser_omp_for_loop): When determining whether
+ to use cp_parser_omp_for_incr or cp_parser_expression and when
+ calling cp_parser_omp_for_incr, use real_decl instead of decl.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
+ * semantics.c (finish_transaction_stmt, build_transaction_expr):
+ Accept new noexcept parameter and handle it.
+ * cp-tree.h (finish_transaction_stmt, build_transaction_expr): Adapt
+ declarations.
+ * parser.c (cp_parser_exception_specification_opt): Extract
+ noexcept-specification parsing to ...
+ (cp_parser_noexcept_specification_opt): ...here. Allow for parsing
+ non-constexpr noexcept arguments.
+ (cp_parser_transaction, cp_parser_transaction_expression): Parse
+ and handle noexcept-specifications.
+ (cp_parser_function_transaction): Adapt to finish_transaction_stmt
+ change.
+ * pt.c (tsubst_expr): Adapt to new noexcept parameters when
+ building transactions.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
+ * cp-tree.def (MUST_NOT_THROW_EXPR): Add condition parameter.
+ * cp-tree.h (MUST_NOT_THROW_COND): New.
+ (build_must_not_throw_expr): Declare.
+ * dump.c (cp_dump_tree): Dump MUST_NOT_THROW_EXPR condition.
+ * except.c (build_must_not_throw_expr): New.
+ (initialize_handler_parm): Use it.
+ (begin_eh_spec_block, wrap_cleanups_r): Adapt to condition.
+ * pt.c (tsubst_expr): Handle MUST_NOT_THROW_EXPR.
+
+2011-12-12 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51262
+ * tree.c (cp_free_lang_data): No longer clear anonymous names.
+
+2011-12-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/51151
+ * call.c (perform_implicit_conversion_flags): Remove earlier kludge.
+ * parser.c (cp_parser_omp_for_loop): Use cp_parser_omp_for_incr
+ in templates even if decl isn't type-dependent.
+
+2011-12-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51289
+ * cp-tree.h (TYPE_TEMPLATE_INFO): Rewrite this accessor macro to
+ better support aliased types.
+ (TYPE_ALIAS_P): Don't crash on TYPE_NAME nodes that are not
+ TYPE_DECL.
+ * pt.c (find_parameter_packs_r): Handle types aliases.
+ (push_template_decl_real): Check for bare parameter packs in the
+ underlying type of an alias template.
+
+2011-12-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/51318
+ * typeck.c (build_x_conditional_expr): Restrict glvalue games to C++11.
+
+ PR c++/51459
+ * pt.c (tsubst_expr) [DECL_EXPR]: Handle capture proxies properly.
+ * semantics.c (insert_capture_proxy): No longer static.
+ * cp-tree.h: Declare it.
+
+2011-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51401
+ * decl.c (grokdeclarator): Error for auto on non-static data members.
+
+ PR c++/51429
+ * typeck2.c (cxx_incomplete_type_diagnostic): Don't
+ ICE if TREE_OPERAND (value, 1) is overloaded.
+
+ PR c++/51229
+ * decl.c (reshape_init_class): Complain if d->cur->index is
+ INTEGER_CST.
+ * parser.c (cp_parser_initializer_list): If cp_parser_parse_definitely
+ fails, clear designator.
+
+ PR c++/51369
+ * init.c (build_value_init): Allow array types even when
+ processing_template_decl.
+
+2011-12-07 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/51420
+ * parser.c (lookup_literal_operator): Check that declaration is an
+ overloaded function.
+
+2011-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51430
+ * pt.c (tsubst_decl): Don't call strip_array_domain on
+ error_mark_node.
+
+2011-12-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51431
+ * init.c (build_value_init): Check build_aggr_init_expr return
+ value for error_mark_node.
+
+2011-12-06 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51427
+ * parser.c (cp_parser_check_class_key): Add note about earlier
+ declaration.
+
+2011-12-05 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/51319
+ * semantics.c (finish_id_expression): Strip using declarations
+ early in the function.
+
+2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51399
+ * init.c (perform_member_init): Early return if init is error_mark_node.
+
+2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51414
+ * semantics.c (finish_underlying_type): Use %qT, not %qE for the
+ error message.
+
+2011-12-05 Jason Merrill <jason@redhat.com>
+
+ * init.c (expand_default_init): Unshare args in ctor delegation.
+
+2011-12-05 Ville Voutilainen <ville.voutilainen@gmail.com>
+ Pedro Lamarão <pedro.lamarao@gmail.com>
+
+ Implement C++11 delegating constructors.
+ * cp-tree.h (enum cpp0x_warn_str): Add CPP0X_DELEGATING_CTORS.
+ * error.c (maybe_warn_cpp0x): Adjust.
+ * parser.c (cp_parser_mem_initializer_list): Use it. Diagnose
+ multiple initializers if a delegating initializer is present.
+ * call.c (build_special_member_call): Convert an assert into an if.
+ * init.c (perform_target_ctor): New.
+ (emit_mem_initializers): Use it.
+ (expand_member_init, expand_default_init): Adjust.
+
+2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51404
+ * typeck2.c (build_functional_cast): Early return error_mark_node
+ for invalid uses of 'auto'.
+ * parser.c (cp_parser_direct_declarator): When
+ cp_parser_constant_expression returns error do not produce further
+ diagnostic for the bound.
+
+2011-12-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51313
+ * call.c (null_ptr_cst_p): STRIP_NOPS in c++11 mode too.
+
+2011-12-01 Jason Merrill <jason@redhat.com>
+
+ * call.c (build_new_method_call_1): Handle aggregate initialization.
+ * tree.c (stabilize_init): Handle CONSTRUCTOR.
+
+2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51326
+ * call.c (build_user_type_conversion_1): Early return NULL if
+ expr is NULL_TREE.
+
+2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51367
+ * pt.c (unify_inconsistency): Use either %qT or %qE depending on
+ whether parm is a type or non-type parameter.
+
+2011-11-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/51009
+ * name-lookup.c (push_to_top_level): Set stmts_are_full_exprs_p.
+ * decl.c (build_aggr_init_full_exprs): Just assert that it's true.
+ (check_initializer): Here too.
+
+2011-11-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51299
+ * rtti.c (ifnonnull): Use nullptr_node.
+ (build_dynamic_cast_1): Call cp_truthvalue_conversion instead
+ of c_common_truthvalue_conversion.
+
+2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51227
+ * pt.c (instantiate_class_template_1): If lambda_function (type)
+ is NULL_TREE do not instantiate_decl.
+
+2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51290
+ * class.c (build_base_path): For the null pointer check use
+ nullptr_node instead of integer_zero_node.
+
+2011-11-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51145
+ * decl.c (check_elaborated_type_specifier): Gracefully handle
+ error_mark_node. Accept bound template template parameters.
+ Update diagnostics for alias template specializations. Update
+ comment.
+ * parser.c (cp_parser_elaborated_type_specifier): Use
+ check_elaborated_type_specifier for simple-template-ids as well.
+
+2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51265
+ * semantics.c (finish_decltype_type): Handle PTRMEM_CST.
+
+2011-11-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51143
+ * parser.c (cp_parser_alias_declaration): Don't allow type
+ definition in templates.
+
+2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51196
+ * typeck.c (cp_build_binary_op, [case EQ_EXPR]): For targets having
+ TARGET_PTRMEMFUNC_VBIT_LOCATION == ptrmemfunc_vbit_in_delta, do here
+ the -Wzero-as-null-pointer-constant warning for pmf == 0.
+
+2011-11-21 Torvald Riegel <triegel@redhat.com>
+
+ * pt.c (tsubst_copy_and_build): Handle TRANSACTION_EXPR.
+
+2011-11-21 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/50958
+ * parser.c (lookup_literal_operator): New.
+ (cp_parser_userdef_char_literal): Use it.
+ (cp_parser_userdef_numeric_literal): Use it.
+ (cp_parser_userdef_string_literal): Use lookup_name.
+
+2011-11-20 Jason Merrill <jason@redhat.com>
+
+ * pt.c (tsubst_pack_expansion): Fix SFINAE.
+
+ PR c++/48322
+ * cp-tree.h (PACK_EXPANSION_EXTRA_ARGS): New.
+ * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand for it.
+ * pt.c (tsubst_pack_expansion): Set and use it.
+ (iterative_hash_template_arg): Hash it.
+ (template_args_equal): Compare it.
+ (comp_template_args_with_info): Handle nulls.
+ * tree.c (cp_walk_subtrees): Walk it.
+ * typeck.c (structural_comptypes): Compare it.
+ * ptree.c (cxx_print_type): Print it.
+
+ * pt.c (type_unification_real): Set input_location
+ during default arg instantiation.
+
+2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51230
+ * pt.c (unify_inconsistency): Handle non-type parameters better.
+ * error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.
+
+2011-11-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51194
+ * pt.c (lookup_template_class_1): Go out early if the type of the
+ template is error_mark_node.
+
+2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51216
+ * semantics.c (potential_constant_expression_1): Handle IF_STMT,
+ DO_STMT, FOR_STMT, and WHILE_STMT.
+
+2011-11-18 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/51188
+ * search.c (lookup_field_1): Handle USING_DECLs for the storted
+ case.
+
+2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51150
+ * pt.c (tsubst_copy_and_build): Handle FIX_TRUNC_EXPR.
+
+2011-11-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51191
+ * pt.c (primary_template_instantiation_p): Don't forget to
+ consider alias declarations.
+
+2011-11-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51186
+ * decl.c (grokdeclarator): Improve C++98 trailing return diagnostic.
+
+ N3203
+ * class.c (add_implicitly_declared_members): Update move
+ conditions.
+
+ PR c++/51137
+ * class.c (build_base_path): Don't do calculation in templates.
+
+2011-11-15 Torvald Riegel <triegel@redhat.com>
+
+ * parser.c (cp_parser_transaction_expression): Require parentheses
+ when parsing transaction expressions.
+
+2011-11-14 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/51107
+ * typeck.c (check_literal_operator_args): Add processing_specialization
+ to check for void template fn. Test for exact arity for non-template fn.
+
+2011-11-14 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/6936
+ PR c++/25994
+ PR c++/26256
+ PR c++/30195
+ * search.c (lookup_field_1): Look through USING_DECL.
+ (lookup_field_r): Call lookup_fnfields_slot instead of
+ lookup_fnfields_1.
+ * semantics.c (finish_member_declaration): Remove the check that
+ prevents USING_DECLs from being verified by
+ pushdecl_class_level. Call add_method for using declarations that
+ designates functions if the using declaration is in a template
+ class. Set DECL_IGNORED_P on class-scope using declarations.
+ * typeck.c (build_class_member_access_expr): Handle USING_DECLs.
+ * class.c (check_field_decls): Keep using declarations.
+ (add_method): Remove two diagnostics about conflicting using
+ declarations.
+ * parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
+ * decl.c (start_enum): Call xref_tag whenever possible.
+ * cp-tree.h (strip_using_decl): Declare, and reident the previous
+ function.
+ * name-lookup.c (strip_using_decl): New function.
+ (supplement_binding_1): Call strip_using_decl on decl and
+ bval. Perform most of the checks with USING_DECLs stripped. Also
+ check that the target decl and the target bval does not refer to
+ the same declaration. Allow pushing an enum multiple times in a
+ template class. Adjustment to diagnose using redeclarations. Call
+ diagnose_name_conflict.
+ (push_class_level_binding): Call strip_using_decl on decl and
+ bval. Perform most of the checks with USING_DECLs stripped. Return
+ true if both decl and bval refer to USING_DECLs and are dependent.
+ (diagnose_name_conflict): New function.
+
+2011-11-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/986
+ * call.c (set_up_extended_ref_temp): Warn about references
+ bound to non-static reference members.
+ * init.c (perform_member_init): Pass in the member.
+
+ PR c++/51060
+ * cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.
+
+2011-11-11 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/50976
+ * typeck.c (check_literal_operator_args): Reorganize test for string
+ operators so size_t search depends on finding string first.
+
+2011-11-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/50372
+ * pt.c (convert_nontype_argument_function): Allow decls with
+ internal linkage in C++11.
+ (convert_nontype_argument): Likewise.
+
+ PR c++/50973
+ * decl2.c (mark_used): Defer synthesis of virtual functions.
+ * method.c (use_thunk): Make sure the target function has
+ DECL_INTERFACE_KNOWN.
+
+ PR c++/51079, DR 495
+ * call.c (joust): Check the second conversion sequence
+ before checking templates.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50837
+ * pt.c (tsubst_copy_and_build) [IDENTIFIER_NODE]: In C++11 mode
+ pass allow_non_integral_constant_expression_p = true to
+ finish_id_expression.
+
+2011-11-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/50972
+ * pt.c (maybe_instantiate_noexcept): Check the return value of
+ push_tinst_level.
+
+ PR c++/51046
+ * parser.c (cp_parser_range_for): check_for_bare_parameter_packs.
+
+ PR c++/51029
+ * class.c (build_base_path): Don't ICE in fold_non_dependent_expr.
+
+ * Make-lang.in (check_g++_parallelize): Add dg-torture.exp.
+ (check-c++0x): Obsolete.
+
+ * pt.c (invalid_nontype_parm_type_p): Avoid printing "<type error>".
+
+ * pt.c (convert_nontype_argument): Only integral arguments
+ get early folding.
+
+ * parser.c (cp_parser_alias_declaration): Don't do semantic
+ processing if parsing failed.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51045
+ * init.c (build_new_1, build_vec_delete_1, build_delete):
+ Use nullptr_node.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51047
+ * search.c (lookup_member): Change to take also a tsubst_flags_t
+ parameter.
+ (lookup_field, lookup_fnfields): Adjust calls.
+ * typeck.c (lookup_destructor, finish_class_member_access_expr,
+ build_ptrmemfunc_access_expr): Likewise.
+ * class.c (handle_using_decl, maybe_note_name_used_in_class):
+ Likewise.
+ * pt.c (resolve_typename_type): Likewise.
+ * semantics.c (lambda_function): Likewise.
+ * parser.c (cp_parser_perform_range_for_lookup,
+ cp_parser_lookup_name): Likewise.
+ * friend.c (make_friend_class): Likewise.
+ * name-lookup.c (pushdecl_maybe_friend_1, get_class_binding,
+ do_class_using_decl, lookup_qualified_name): Likewise.
+ * cp-tree.h (lookup_member): Adjust declaration.
+
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51043
+ * cp-tree.h (TYPE_ALIAS_P, TYPE_TEMPLATE_INFO): Don't crash on
+ NULL TYPE_NAME.
+
+ PR c++/51027
+ * parser.c (cp_parser_alias_declaration): Require ';' at the end
+ of the declaration.
+
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/51032
+ * decl2.c (check_member_template): Accept alias templates and ...
+ * parser.c (cp_parser_alias_declaration): ... use it here.
+
+2011-11-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/50835
+ * typeck.c (build_x_conditional_expr): Preserve lvalue/xvalueness.
+ * tree.c (lvalue_kind) [NON_DEPENDENT_EXPR]: Return clk_ordinary
+ in C++98.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51010
+ * error.c (dump_expr): Handle SSA_NAMEs.
+
+2011-11-07 Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Torvald Riegel <triegel@redhat.com>
+
+ Merged from transactional-memory.
+
+ * call.c (build_new_function_call): Call tm_malloc_replacement.
+ * class.c (check_bases): Compute transaction attributes for the
+ class based on its base classes.
+ (look_for_tm_attr_overrides, set_one_vmethod_tm_attributes,
+ set_method_tm_attributes): New.
+ (finish_struct_1): Call set_method_tm_attributes.
+ * cp-tree.h (begin_transaction_stmt, finish_transaction_stmt,
+ build_transaction_expr): Declare.
+ (TRANSACTION_EXPR_IS_STMT): New.
+ * decl.c (push_cp_library_fn): Set attribute to transaction_safe.
+ * except.c (do_get_exception_ptr): Apply transaction_pure.
+ (do_begin_catch): Mark _ITM_cxa_begin_catch transaction_pure and
+ record as transactional-memory wrapper.
+ (do_end_catch): Similarly for _ITM_cxa_end_catch.
+ (do_allocate_exception): Similarly for _ITM_cxa_allocate_exception.
+ (build_throw): Similarly for _ITM_cxa_throw. Make __cxa_rethrow pure.
+ * parser.h (struct cp_parser): Add in_transaction flag.
+ * parser.c (enum non_integral_constant): Add NIC_TRANSACTION.
+ (cp_parser_non_integral_constant_expression): Handle NIC_TRANSACTION.
+ (enum required_token): Add transaction tokens.
+ (cp_parser_transaction, cp_parser_transaction_expression,
+ cp_parser_function_transaction, cp_parser_transaction_cancel,
+ cp_parser_txn_attribute_opt): New.
+ (cp_parser_unary_expression): Handle RID_TRANSACTION*.
+ (cp_parser_statement, cp_parser_function_definition_after_declarator,
+ cp_parser_token_starts_function_definition_p): Same.
+ (cp_parser_required_error): Handle RT_TRANSACTION*.
+ * pt.c (tsubst_expr): Handle TRANSACTION_EXPR.
+ * semantics.c (begin_transaction_stmt, finish_transaction_stmt,
+ build_transaction_expr): New.
+
+2011-11-08 Dodji Seketeli <dodji@redhat.com>
+
+ Fix context handling of alias-declaration
+ * decl.c (start_decl): Update comment.
+ * error.c (dump_alias_template_specialization): Dump the context
+ of the specialization.
+ * parser.c (cp_parser_alias_declaration): Call pop_scope on the
+ pushed scope yielded by start_decl.
+
+2011-11-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50864
+ * parser.c (cp_parser_postfix_dot_deref_expression): Reject invalid
+ uses of '->' and '.' as postfix-expression in namespace scope.
+
+2011-11-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/50848
+ * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't crash
+ if lookup finds a non-function.
+
+ PR c++/50863
+ * parser.c (cp_parser_initializer_list): Parse C99
+ array designators tentatively.
+
+ PR c++/50870
+ * pt.c (tsubst_copy): Handle NAMESPACE_DECL.
+ (tsubst_copy_and_build) [COMPONENT_REF]: Handle a still-dependent
+ object.
+
+2011-11-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
+ call in case COMPONENT_REF.
+
+2011-11-07 Jason Merrill <jason@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ Support C++11 alias-declaration
+ PR c++/45114
+ * cp-tree.h (TYPE_DECL_ALIAS_P, TYPE_ALIAS_P)
+ (DECL_TYPE_TEMPLATE_P, DECL_ALIAS_TEMPLATE_P): New accessor
+ macros.
+ (TYPE_TEMPLATE_INFO): Get template info of an alias template
+ specializations from its TYPE_DECL.
+ (SET_TYPE_TEMPLATE_INFO): Set template info of alias template
+ specializations into its TYPE_DECL.
+ (DECL_CLASS_TEMPLATE_P): Re-write using the new
+ DECL_TYPE_TEMPLATE_P.
+ (enum cp_decl_spec): Add new ds_alias enumerator.
+ (alias_type_or_template_p, alias_template_specialization_p):
+ Declare new functions.
+ * parser.c (cp_parser_alias_declaration): New static function.
+ (cp_parser_check_decl_spec): Add "using" name for the `alias'
+ declspec.
+ (cp_parser_type_name): Update comment. Support simple-template-id
+ representing alias template specializations in c++0x mode.
+ (cp_parser_qualifying_entity): Update comment. Use
+ cp_parser_type_name.
+ (cp_parser_block_declaration): Handle alias-declaration in c++11.
+ Update comment.
+ (cp_parser_template_id): Handle specializations of alias
+ templates.
+ (cp_parser_member_declaration): Add alias-declaration production
+ to comment. Support alias-declarations.
+ (cp_parser_template_declaration_after_export): Handle alias
+ templates in c++11.
+ * decl.c (make_typename_type, make_unbound_class_template): Accept
+ alias templates.
+ (grokdeclarator): Set TYPE_DECL_ALIAS_P on alias
+ declarations.
+ * decl2.c (grokfield): Move template creation after setting up the
+ TYPE_DECL of the alias, so that the TEMPLATE_DECL of the alias
+ template actually carries the right type-id of the alias
+ declaration.
+ * pt.c (alias_type_or_template_p)
+ (alias_template_specialization_p): Define new public functions.
+ (maybe_process_partial_specialization): Reject partial
+ specializations of alias templates.
+ (primary_template_instantiation_p): Consider alias template
+ instantiations.
+ (push_template_decl_real): Assert that TYPE_DECLs of alias
+ templates are different from those of class template. Store
+ template info onto the TYPE_DECL of the alias template.
+ (convert_template_argument): Strip aliases from template
+ arguments.
+ (lookup_template_class_1): Handle the creation of the
+ specialization of an alias template.
+ (tsubst_decl): Create a substituted copy of the TYPE_DECL of an
+ member alias template.
+ (tsubst): Handle substituting into the type of an alias template.
+ Handle substituting UNBOUND_CLASS_TEMPLATE into
+ BOUND_TEMPLATE_TEMPLATE_PARM.
+ (do_type_instantiation): Better diagnostics when trying to
+ explicitely instantiate a non-class template.
+ * search.c (lookup_field_1, lookup_field_r): Support looking up
+ alias templates.
+ * semantics.c (finish_template_type): For instantiations of alias
+ templates, return the TYPE_DECL of the actual alias and not the
+ one of the aliased type.
+ * error.c (dump_alias_template_specialization): New static
+ function.
+ (dump_type): Handle printing of alias templates and their
+ specializations. templates.
+ (dump_aggr_type): For specialization of alias templates, fetch
+ arguments from the right place.
+ (dump_decl): Print an alias-declaration like `using decl = type;'
+ (dump_template_decl): Support printing of alias templates.
+
+2011-11-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/35688
+ * decl2.c (constrain_visibility): Return void. Add tmpl parm
+ which gives the constraint priority over an attribute.
+ (constrain_visibility_for_template, determine_visibility): Adjust.
+ * pt.c (instantiate_class_template_1): Call determine_visibility.
+
+ PR c++/33255
+ * decl.c (save_function_data): Clear local_typedefs.
+
+ * decl.c (cp_finish_decl): Only make_tree_vector if we're calling
+ check_initializer.
+
+2011-11-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/35688
+ * decl2.c (constrain_visibility): Check decl_has_visibility_attr
+ rather than DECL_VISIBILITY_SPECIFIED.
+
+2011-11-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47695
+ * decl2.c (mark_used): Early return false after error or sorry.
+ * cp-tree.h (mark_used): Adjust declaration.
+ * semantics.c (finish_id_expression): Check mark_used return value.
+
+2011-11-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/48370
+ * decl.c (cp_finish_decl): Mostly revert previous change.
+
+2011-11-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/26714
+ * init.c (perform_member_init): Strip TARGET_EXPR around NSDMI.
+ Do temporary lifetime extension.
+
+ PR c++/48370
+ * decl.c (cp_finish_decl): Run cleanups in the right order.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR c++/50608
+ * semantics.c (finish_offsetof): Adjust call to fold_offsetof.
+ * typeck.c (cp_build_addr_expr_1): Call fold_offsetof_1.
+
+2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * typeck.c (build_indirect_ref): Use ATTRIBUTE_UNUSED.
+ * mangle.c (write_unnamed_type_name): Likewise.
+
+2011-11-04 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * parser.c (cp_parser_enumerator_list): Do not warn about
+ trailing commas in C++0x mode.
+
+2011-11-04 Olivier Goffart <olivier@woboq.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/50965
+ * class.c (check_field_decls): NSDMI makes a class non-aggregate.
+
+2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48420
+ * call.c (conversion_null_warnings): For 'false' to NULL pointer,
+ just check that TREE_TYPE (expr) is a BOOLEAN_TYPE.
+
+2011-11-04 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/50941
+ * parser.c (cp_parser_userdef_string_literal): Fix string length.
+
+2011-11-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/48370
+ * call.c (extend_ref_init_temps, extend_ref_init_temps_1): New.
+ (set_up_extended_ref_temp): Use it. Change cleanup parm to VEC.
+ (initialize_reference): Just call convert_like.
+ * decl.c (grok_reference_init): Just call initialize_reference.
+ (build_init_list_var_init): Remove.
+ (check_initializer): Change cleanup parm to VEC. Handle references
+ like other types. Call perform_implicit_conversion instead
+ of build_init_list_var_init. Don't use build_aggr_init for
+ aggregate initialization of arrays.
+ (cp_finish_decl): Change cleanup to VEC.
+ * typeck2.c (store_init_value): Call extend_ref_init_temps.
+ Use build_vec_init for non-constant arrays.
+ * init.c (expand_aggr_init_1): Adjust.
+ (build_vec_init): Avoid re-converting an initializer
+ that's already digested.
+ * mangle.c (mangle_ref_init_variable): Add a discriminator.
+ * cp-tree.h: Adjust.
+ * typeck.c (convert_for_initialization): Adjust.
+ * decl2.c (maybe_emit_vtables): Adjust.
+
+2011-11-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/50930
+ * init.c (build_aggr_init): Don't set LOOKUP_ONLYCONVERTING
+ if the initializer has TARGET_EXPR_DIRECT_INIT_P.
+ (expand_default_init): An initializer with TARGET_EXPR_DIRECT_INIT_P
+ or TARGET_EXPR_LIST_INIT_P doesn't need more processing.
+ * tree.c (bot_manip): Propagate TARGET_EXPR_IMPLICIT_P,
+ TARGET_EXPR_LIST_INIT_P, TARGET_EXPR_DIRECT_INIT_P.
+ * call.c (convert_like_real): Set TARGET_EXPR_DIRECT_INIT_P
+ as appropriate on list-value-initialization.
+
+ * parser.c (cp_parser_decl_specifier_seq): Change "C++0x" to
+ "C++11" in warnings.
+ (cp_lexer_get_preprocessor_token): Likewise.
+ (cp_parser_binary_expression): Likewise.
+
+2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
+ (digest_init_r): Call check_narrowing irrespective of the C++ dialect.
+ * decl.c (check_initializer): Likewise.
+ * semantics.c (finish_compound_literal): Likewise.
+
+2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50956
+ * typeck.c (build_const_cast_1): Fix -Wcast-qual for false
+ comp_ptr_ttypes_const.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Make-lang.in (g++spec.o): Pass SHLIB instead of SHLIB_LINK.
+
+2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44277
+ * cvt.c (cp_convert_to_pointer): Warn for zero as null pointer
+ constant.
+ * typeck.c (cp_truthvalue_conversion): Handle pointers and member
+ function pointers under c_inhibit_evaluation_warnings; use
+ nullptr_node for data member pointers.
+ (cp_build_binary_op): Tweak, just forward to cp_convert op1,
+ either a nullptr_node or an integer_zero_node.
+ (build_ptrmemfunc): Use nullptr_node.
+ * init.c (build_zero_init_1): Likewise.
+
+2011-11-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/50500
+ DR 1082
+ * search.c (lookup_fnfields_idx_nolazy): Split out from...
+ (lookup_fnfields_1): ...here.
+ (lookup_fnfields_slot_nolazy): Use it.
+ * cp-tree.h: Declare it.
+ * class.c (type_has_move_assign): Use it.
+ (type_has_user_declared_move_assign): Likewise.
+
+2011-10-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/50920
+ * class.c (check_field_decl): Change c++0x in diags to c++11.
+ * error.c (maybe_warn_cpp0x): Likewise.
+ * parser.c (cp_parser_diagnose_invalid_type_name): Likewise.
+ * pt.c (check_default_tmpl_args): Likewise.
+
+2011-10-31 Diego Novillo <dnovillo@google.com>
+
+ * mangle.c (get_mangled_id): Factor from ...
+ (mangle_decl): ... here.
+ Call get_mangled_id.
+
+2011-10-25 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * NEWS (GCC 2.95): Refer to GNU/Linux instead of Linux.
+ (EGCS 1.0): Ditto.
+
+2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50901
+ * call.c (build_new_op_1): Handle ABS_EXPR together with the
+ other unary EXPR.
+
+2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Revert:
+ 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50864
+ * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
+ call in case COMPONENT_REF.
+
+2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (unify_pack_expansion): Initialize bad_old_arg and bad_new_arg.
+
+2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50864
+ * pt.c (tsubst_copy_and_build): Fix qualified_name_lookup_error
+ call in case COMPONENT_REF.
+
+2011-10-27 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (cxx_eval_outermost_constant_expr): Check
+ cp_has_mutable_p.
+ (cxx_eval_component_reference): Check DECL_MUTABLE_P.
+
+2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
+
+ PR c++/30066
+ * decl2.c (determine_hidden_inline): New function.
+ (determine_visibility): fvisibility-inlines-hidden affects inline
+ functions.
+
+2011-10-27 Dodji Seketeli <dodji@redhat.com>
+
+ * cp-tree.h (DECL_DECLARES_TYPE_P): Fix comment.
+
+2011-10-26 Jason Merrill <jason@redhat.com>
+
+ * typeck.c (check_literal_operator_args): Avoid building types.
+
+2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ Implement C++11 user-defined literals.
+ * cp-objcp-common.c: (cp_tree_size) Return size of USERDEF_LITERAL tree.
+ * cp-tree.h: (UDLIT_OP_*, UDLIT_OPER_P): Literal operator
+ name tools. New tree code for user-defined literals.
+ * cxx-pretty-print.h: (pp_cxx_userdef_literal) New.
+ * cxx-pretty-print.c: (pp_cxx_userdef_literal) New.
+ (pp_cxx_primary_expression, pp_cxx_expression): Use it.
+ * decl.c: (cp_tree_node_structure): Return new tree code.
+ (duplicate_decls): Check for raw vs. template operator conflicts.
+ (grokfndecl, grokdeclarator): New checks for literal operators.
+ * error.c: (dump_expr): Warn about user-defined literals
+ in C++98 mode. (dump_function_name): Pretty printing.
+ * mangle.c: (write_literal_operator_name): New.
+ (write_unqualified_id, write_unqualified_name): Use it.
+ * parser.c: (cp_parser_operator): Handle operator"".
+ (cp_parser_userdef_char_literal, cp_parser_userdef_numeric_literal,
+ cp_parser_userdef_string_literal): New.
+ (cp_parser_primary_expression): Handle new user-defined literal tokens
+ with new functions.
+ * semantics.c: (potential_constant_expression_1): Add
+ user-defined literals.
+ * typeck.c (check_raw_literal_operator,
+ check_literal_operator_args): New.
+
+2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * typeck.c (cp_build_addr_expr_1): Use BASELINK_P.
+ * class.c (instantiate_type): Likewise.
+ * pt.c (convert_nontype_argument_function, uses_template_parms,
+ tsubst_copy, resolve_nondeduced_context, type_dependent_expression_p):
+ Likewise.
+ * semantics.c (finish_decltype_type): Likewise.
+ * decl2.c (mark_used): Likewise.
+ * name-lookup.c (arg_assoc): Likewise.
+
+2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50870
+ * typeck.c (non_reference): Pass NULL_TREE through.
+
+2011-10-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/50866
+ PR c++/41449
+ * semantics.c (maybe_cleanup_point_expr_void): No longer static.
+ * typeck2.c (split_nonconstant_init_1): Use it.
+ * cp-tree.h: Declare it.
+ * decl.c (wrap_cleanups_r): Stop at CLEANUP_POINT_EXPR.
+
+ PR c++/49996
+ * tree.c (stabilize_init): Stabilize scalar elements of a
+ CONSTRUCTOR, too.
+
+2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50858
+ * typeck.c (composite_pointer_type_r): Check return value of
+ composite_pointer_type_r for error_mark_node.
+
+2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50861
+ * pt.c (tsubst_copy_and_build): Check return value of
+ tsubst_copy_and_build for error_mark_node.
+
+2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50841
+ Revert:
+ 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
+ (digest_init_r): Call check_narrowing irrespective of the C++ dialect.
+ * decl.c (check_initializer): Likewise.
+ * semantics.c (finish_compound_literal): Likewise.
+
+2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * typeck2.c (check_narrowing): Adjust OPT_Wnarrowing diagnostics.
+ (digest_init_r): Call check_narrowing irrespective of the C++ dialect.
+ * decl.c (check_initializer): Likewise.
+ * semantics.c (finish_compound_literal): Likewise.
+
+2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/45385
+ * init.c (build_vec_init): Early return error_mark_node if
+ maxindex is -1.
+
+2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/31423
+ * typeck2.c (cxx_incomplete_type_diagnostic): Improve error message
+ for invalid use of member function.
+
+2011-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/50811
+ * parser.c (cp_parser_class_head): Parse virt-specifiers
+ regardless of whether an id is present
+
+2011-10-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/41449
+ * typeck2.c (split_nonconstant_init_1): Handle EH cleanup of
+ initialized subobjects.
+
+2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/13657
+ * class.c (instantiate_type): Fix error message.
+
+2011-10-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/50793
+ * tree.c (bot_manip): Propagate AGGR_INIT_ZERO_FIRST.
+
+2011-10-19 Roland Stigge <stigge@antcom.de>
+
+ PR translation/49704
+ * semantics.c (potential_constant_expression_1): Use "AST" instead of
+ "ast" in sorry message.
+
+2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/38761
+ PR c++/40872
+ * decl.c (duplicate_decls, make_typename_type, grokdeclarator): Use
+ G_() in error message strings to facilitate translation.
+ * semantics.c (finish_id_expression): Likewise.
+ * parser.c (cp_parser_nested_name_specifier_opt,
+ cp_parser_parameter_declaration): Likewise.
+
+2011-10-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/50531
+ * pt.c (instantiate_decl): Recognize when a function defaulted
+ outside the class is already instantiated.
+
+ PR c++/50742
+ * decl.c (check_previous_goto_1): Handle using-decl.
+
+2011-10-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/50500
+ DR 1082
+ * class.c (type_has_user_declared_move_constructor): New.
+ (type_has_user_declared_move_assign): New.
+ (add_implicitly_declared_members): Add lazy copy ops
+ even if there's a move.
+ * method.c (lazily_declare_fn): Delete implicit copies
+ if there's a move.
+ (maybe_explain_implicit_delete): Explain this. Use inform rather
+ than error.
+ * cp-tree.h: Declare new fns.
+
+2011-10-18 Diego Novillo <dnovillo@google.com>
+
+ * parser.c: Remove ENABLE_CHECKING markers around debugging
+ routines.
+ (cp_lexer_dump_tokens): Add arguments START_TOKEN and CURR_TOKEN.
+ Make static
+ When printing CURR_TOKEN surround it in [[ ]].
+ Start printing at START_TOKEN.
+ Update all users.
+ (cp_debug_print_tree_if_set): New.
+ (cp_debug_print_context): New.
+ (cp_debug_print_context_stack): New.
+ (cp_debug_print_flag): New.
+ (cp_debug_print_unparsed_function): New.
+ (cp_debug_print_unparsed_queues): New.
+ (cp_debug_parser_tokens): New.
+ (cp_debug_parser): New.
+ (cp_lexer_start_debugging): Set cp_lexer_debug_stream to stderr.
+ (cp_lexer_stop_debugging): Set cp_lexer_debug_stream to NULL.
+ * parser.h (cp_lexer_dump_tokens): Remove declaration.
+ (cp_debug_parser): Declare.
+
+2011-10-17 Michael Spertus <mike_spertus@symantec.com>
+
+ * cp-tree.def: Add BASES as a new tree code.
+ * cp-tree.h (enum cp_trait_kind): Add CPTK_BASES, CPTK_DIRECT_BASES.
+ (BASES_TYPE, BASES_DIRECT): Define.
+ (calculate_bases, finish_bases, calculate_direct_bases): Declare.
+ * parser.c (cp_parser_trait_expr, cp_parser_template_argument_list,
+ (cp_parser_simple_type_specifier, cp_parser_save_nsdmi): Use them.
+ * pt.c (find_parameter_packs_r, tsubst_pack_expansion): Likewise.
+ * semantics.c (calculate_bases, finish_bases, calculate_direct_bases,
+ dfs_calculate_bases_pre, dfs_calculate_bases_post,
+ calculate_bases_helper): Define.
+
+2011-10-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/50736
+ * parser.c (cp_parser_lambda_introducer): Check for more
+ invalid captures.
+
+2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44524
+ * typeck.c (build_class_member_access_expr): Provide a better error
+ message for X.Y where X is a pointer to class type.
+ (finish_class_member_access_expr): Likewise.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * error.c (cp_diagnostic_starter): Pass the relevant location to
+ diagnostic_report_current_module.
+ (cp_diagnostic_finalizer): Call virt_loc_aware_diagnostic_finalizer.
+
+2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48489
+ * typeck.c (finish_class_member_access_expr): Fix error call
+ for TREE_CODE (access_path) == TREE_BINFO.
+
+2011-10-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50732
+ * semantics.c (finish_trait_expr): Do not try to instantiate the
+ the base type of an __is_base_of trait.
+ (check_trait_type): Return a tree; use complete_type_or_else.
+
+2011-10-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/50563
+ * parser.c (cp_parser_cache_group): Handle end==CPP_COMMA.
+ (cp_parser_save_nsdmi): Pass it.
+
+ PR c++/50707
+ * method.c (walk_field_subobs): Check for NSDMI before
+ complaining about uninitialized fields.
+
+ * pt.c (tsubst_decl) [FIELD_DECL]: Use void_zero_node
+ instead of error_mark_node as a placeholder.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/38174
+ * call.c (add_builtin_candidate): If two pointers have a composite
+ pointer type, generate a single candidate with that type.
+
+2011-10-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/50614
+ * cp-tree.h (VAR_TEMPL_TYPE_FIELD_OR_FUNCTION_DECL_CHECK): New.
+ (DECL_TEMPLATE_INFO): Use it.
+ * pt.c (tsubst_decl) [FIELD_DECL]: Set DECL_TEMPLATE_INFO
+ if the decl has an NSDMI.
+ * init.c (perform_member_init): Use it.
+
+ PR c++/50437
+ * cp-tree.h (struct tree_lambda_expr): Add closure field.
+ (LAMBDA_EXPR_CLOSURE): New.
+ * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Likewise.
+ * semantics.c (build_lambda_object): Use it instead of TREE_TYPE.
+ (begin_lambda_type, lambda_function, add_capture): Likewise.
+ (add_default_capture, lambda_expr_this_capture): Likewise.
+
+2011-10-13 Diego Novillo <dnovillo@google.com>
+
+ * cp-tree.h (struct language_function): Rename in_function_try_handler
+ to x_in_function_try_handler.
+ Rename in_base_initializer to x_in_base_initializer.
+ Update all users.
+
+2011-10-13 Diego Novillo <dnovillo@google.com>
+
+ * class.c (sorted_fields_type_new): Factor out of ...
+ (finish_struct_1): ... here.
+
+2011-10-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/50618
+ * init.c (expand_aggr_init_1): Don't zero-initialize virtual
+ bases of a base subobject.
+
+2011-10-12 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50594
+ * decl.c (cxx_init_decl_processing): Add
+ __attribute__((externally_visible)) to operator new and
+ operator delete library fn.
+
+2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * decl.c (duplicate_decls): Delete old interface with two parallel
+ arrays to hold standard builtin declarations, and replace it with
+ a function based interface that can support creating builtins on
+ the fly in the future. Change all uses, and poison the old
+ names. Make sure 0 is not a legitimate builtin index.
+ * except.c (build_eh_type_type): Ditto.
+ (choose_personality_routine): Ditto.
+ * semantics.c (finish_omp_atomic): Ditto.
+ (finish_omp_barrier): Ditto.
+ (finish_omp_flush): Ditto.
+ (finish_omp_taskwait): Ditto.
+
+2011-10-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/49855
+ PR c++/49896
+ * cp-tree.def (IMPLICIT_CONV_EXPR): New.
+ * call.c (perform_implicit_conversion_flags): Build it
+ instead of NOP_EXPR.
+ * cp-objcp-common.c (cp_common_init_ts): It's typed.
+ * cxx-pretty-print.c (pp_cxx_cast_expression): Handle it.
+ (pp_cxx_expression): Likewise.
+ * error.c (dump_expr): Likewise.
+ * semantics.c (potential_constant_expression_1): Likewise.
+ * tree.c (cp_tree_equal): Likewise.
+ (cp_walk_subtrees): Likewise.
+ * pt.c (iterative_hash_template_arg): Likewise.
+ (for_each_template_parm_r): Likewise.
+ (type_dependent_expression_p): Likewise.
+ (tsubst_copy, tsubst_copy_and_build): Handle IMPLICIT_CONV_EXPR
+ and CONVERT_EXPR.
+ * cp-tree.h (IMPLICIT_CONV_EXPR_DIRECT_INIT): New.
+
+2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50611
+ * pt.c (tsubst_copy_and_build): If (complain & tf_error) is false
+ do not call unqualified_name_lookup_error.
+
+2011-10-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50660
+ * call.c (conversion_null_warnings): Don't look through references.
+
+2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/38980
+ * init.c (constant_value_1): Add bool parameter.
+ (decl_constant_value_safe): Add.
+ (integral_constant_value): Adjust.
+ (decl_constant_value): Adjust.
+ * cp-tree.h (decl_constant_value_safe): Declare.
+ * typeck.c (decay_conversion): Use decl_constant_value_safe.
+ * call.c (convert_like_real): Likewise.
+
+2011-10-09 Jakub Jelinek <jakub@redhat.com>
+ Diego Novillo <dnovillo@google.com>
+
+ * pt.c (reregister_specialization): Use htab_find instead of
+ htab_find_slot with INSERT.
+ (maybe_process_partial_specialization, lookup_template_class_1): Change
+ slot variable type to void ** to avoid aliasing problems.
+ (register_specialization): Likewise. Use slot != NULL instead of
+ more expensive !optimize_specialization_lookup_p (tmpl) test.
+
+2011-10-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/34927
+ * typeck2.c (abstract_virtuals_error_sfinae): Don't produce duplicate
+ inform messages in case of cloned destructor.
+
+2011-10-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/39164
+ * decl.c (grokfndecl): Diagnose redefinition of defaulted fn.
+
+2011-10-02 Jason Merrill <jason@redhat.com>
+
+ * pt.c (tsubst_pack_expansion): Re-use ARGUMENT_PACK_SELECTs.
+ Change unsubstituted_packs to bool.
+
+ * parser.c (cp_parser_range_for): Don't try to deduce from {}
+ in a template.
+
+ PR c++/35722
+ Implement N2555 (expanding pack expansion to fixed parm list)
+ * pt.c (coerce_template_parms): Allow expanding a pack expansion
+ to a fixed-length argument list.
+ (unify_pack_expansion): Handle explicit args properly.
+ (unify) [TREE_VEC]: Handle pack expansions here.
+ [TYPE_ARGUMENT_PACK]: Not here.
+ (tsubst_pack_expansion): Don't try to do partial substitution.
+ (pack_deducible_p): New.
+ (fn_type_unification): Use it.
+ (find_parameter_packs_r): Take the TYPE_MAIN_VARIANT
+ of a type parameter.
+ (check_non_deducible_conversion): Split from type_unification_real.
+ (unify_one_argument): Split from type_unification_real...
+ (unify_pack_expansion): ...and here. Drop call_args_p parm.
+ (type_unification_real, unify, more_specialized_fn): Adjust.
+
+ * class.c (fixed_type_or_null): Handle NSDMI.
+ * method.c (walk_field_subobs): Disable NSDMI noexcept checking
+ for now.
+
+2011-09-30 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (TREE_NEGATED_INT): Remove.
+ * semantics.c (finish_unary_op_expr): Don't set it.
+
+2011-09-30 Janis Johnson <janisjo@codesourcery.com>
+
+ PR c++/44473
+ * mangle.c (write_type): Handle CV qualifiers for decimal classes.
+
+2011-09-26 Andi Kleen <ak@linux.intel.com>
+
+ * repo.c (finish_repo): Use HOST_WIDE_INT_PRINT_HEX_PURE.
+
+2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/45278
+ * typeck.c (cp_build_binary_op): With -Wextra, warn for ordered
+ comparison of pointer with zero.
+
+2011-09-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/31489
+ * parser.c (cp_parser_elaborated_type_specifier): For RECORD_TYPE,
+ set CLASSTYPE_DECLARED_CLASS.
+
+2011-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * decl.c (duplicate_decls): If compatible stpcpy prototype
+ is seen, set implicit_built_in_decls[BUILT_IN_STPCPY].
+
+2011-09-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/45012
+ * pt.c (tsubst_copy_and_build) [CONST_DECL]: Don't pull out
+ constant value if we're still in a template.
+
+ PR c++/46105
+ * typeck.c (structural_comptypes): Ignore cv-quals on typename scope.
+
+ PR c++/50508
+ * semantics.c (cxx_eval_logical_expression): Use tree_int_cst_equal
+ rather than ==.
+
+2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/45487
+ * error.c (dump_template_bindings): Separate bindings with semicolons
+ instead of commas.
+
+2011-09-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/50512
+ * call.c (compare_ics): Only consider rvaluedness_matches_p
+ if the target type is the same or it too differs in rvalueness.
+
+ PR c++/50523
+ * call.c (implicit_conversion): Mask out inappropriate LOOKUP
+ flags at the top of the function.
+
+ * pt.c (tsubst_copy) [PARM_DECL]: Handle 'this' in NSDMI.
+
+2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * pt.c (convert_nontype_argument): Handle NULLPTR_TYPE.
+
+2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/26747
+ * cp-gimplify.c (get_bc_label): Remove obsolete diagnostics.
+
+2011-09-25 Jason Merrill <jason@redhat.com>
+
+ * parser.c (inject_this_parameter): Split out from
+ cp_parser_late_return_type_opt.
+ (cp_parser_class_specifier_1): Use it for NSDMIs.
+ * tree.c (bot_replace): Replace NSDMI 'this' with real 'this'.
+
+2011-09-24 Jason Merrill <jason@redhat.com>
+
+ * except.c (expr_noexcept_p): Split out from finish_noexcept_expr.
+ * cp-tree.h: Declare it.
+ * method.c (walk_field_subobs): Use it.
+
+ * init.c (perform_member_init): Instantiate NSDMI here.
+ * pt.c (tsubst_decl) [FIELD_DECL]: Not here.
+
+ Handle deferred parsing of NSDMIs.
+ * parser.h (cp_unparsed_functions_entry): Add nsdmis field.
+ * parser.c (unparsed_nsdmis, cp_parser_save_nsdmi): New.
+ (cp_parser_late_parse_one_default_arg): Split out from
+ cp_parser_late_parsing_default_args.
+ (cp_parser_late_parsing_nsdmi): New.
+ (push_unparsed_function_queues): Set it.
+ (cp_parser_parameter_declaration): Save the '=' token.
+ (cp_parser_template_parameter): Likewise.
+ (cp_parser_default_argument): Call cp_parser_initializer
+ rather than cp_parser_initializer_clause.
+ (cp_parser_class_specifier_1): Parse unparsed_nsdmis.
+ (cp_parser_member_declaration): Handle nsdmis.
+ * decl2.c (grokfield): Handle DEFAULT_ARG for a function.
+
+ Implement C++11 non-static data member initializers.
+ * cp-tree.h (enum cpp_warn_str): Add CPP0X_NSDMI.
+ * error.c (maybe_warn_cpp0x): Handle it.
+ * call.c (convert_like_real) [ck_user]: Don't complain about
+ using an explicit constructor for direct-initialization.
+ * class.c (check_field_decl): Fix ancient typo.
+ (check_field_decls): NSDMIs make the default ctor non-trivial.
+ * decl.c (cp_finish_decl): Record NSDMI.
+ (grokdeclarator): Allow NSDMI.
+ * decl2.c (grokfield): Allow NSDMI. Correct LOOKUP flags.
+ * init.c (perform_member_init): Use NSDMI.
+ * method.c (walk_field_subobs): Check for NSDMI.
+ * parser.c (cp_parser_member_declaration): Parse { } init.
+ * semantics.c (register_constexpr_fundef): Don't talk about
+ a return statement in a constexpr constructor.
+ (cxx_eval_call_expression): Check DECL_INITIAL instead of
+ DECL_SAVED_TREE.
+
+2011-09-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44267
+ * class.c (build_base_path): Add a tsubst_flags_t parameter.
+ (convert_to_base): Adjust call.
+ * typeck.c (build_class_member_access_expr,
+ get_member_function_from_ptrfunc, build_static_cast_1): Likewise.
+ * init.c (dfs_initialize_vtbl_ptrs, emit_mem_initializers): Likewise.
+ * method.c (do_build_copy_constructor, do_build_copy_assign): Likewise.
+ * rtti.c (build_dynamic_cast_1): Likewise.
+ * typeck2.c (build_scoped_ref, build_m_component_ref): Likewise.
+ * call.c (build_over_call, build_special_member_call): Likewise.
+ * cvt.c (cp_convert_to_pointer, convert_to_pointer_force,
+ build_up_reference): Likewise.
+ * cp-tree.h (build_base_path): Adjust declaration.
+
+2011-09-23 Jason Merrill <jason@redhat.com>
+
+ Core 253 - allow const objects with no initializer or
+ user-provided default constructor if the defaulted constructor
+ initializes all the subobjects.
+ PR c++/20039
+ PR c++/42844
+ * class.c (default_init_uninitialized_part): New.
+ * cp-tree.h: Declare it.
+ * decl.c (check_for_uninitialized_const_var): Use it.
+ * init.c (perform_member_init): Likewise.
+ (build_new_1): Likewise.
+ * method.c (walk_field_subobs): Likewise.
+
+2011-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50258
+ * decl.c (check_static_variable_definition): Allow in-class
+ initialization of static data member of non-integral type in
+ permissive mode.
+
+2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50491
+ * semantics.c (potential_constant_expression_1): Handle USING_DECL.
+
+2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50371
+ * pt.c (invalid_nontype_parm_type_p): Handle NULLPTR_TYPE.
+
+2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50344
+ * friend.c (make_friend_class): cv-qualification is ok in a
+ friend declaration.
+
+2011-09-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50454
+ * decl.c (grokdeclarator): Consistently handle both __int128
+ and unsigned __int128 with -pedantic; suppress diagnostic in
+ system headers.
+
+2011-09-20 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_TEMPLOID_INSTANTIATION): New.
+ (DECL_GENERATED_P): New.
+ * class.c (finalize_literal_type_property): Use them.
+ * semantics.c (is_instantiation_of_constexpr): Likewise.
+ (register_constexpr_fundef): Likewise.
+
+ * call.c (convert_default_arg): Avoid redundant copy.
+ * tree.c (bot_manip): Copy everything.
+
+2011-09-20 Roberto Agostino Vitillo <ravitillo@lbl.gov>
+
+ * call.c (build_new_method_call_1): Use non-virtual lookup
+ for final virtual functions.
+
+2011-09-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/50424
+ * call.c (set_flags_from_callee): Split out from build_call_a.
+ * cp-tree.h: Declare it.
+ * tree.c (bot_manip): Call it.
+
+2011-09-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/50365
+ * parser.c (cp_parser_late_return_type_opt): Check quals parameter
+ for clearing current_class_ptr, too.
+
+2011-09-14 Diego Novillo <dnovillo@google.com>
+
+ * name-lookup.c (lookup_arg_dependent): Use conditional
+ timevars.
+ * decl.c (xref_tag): Likewise.
+
+2011-09-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50391
+ * pt.c (regenerate_decl_from_template): Don't pass an error_mark_node
+ to build_exception_variant.
+
+2011-09-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48320
+ * pt.c (template_parameter_pack_p): Support TEMPLATE_PARM_INDEX
+ nodes. Add a comment.
+ (arg_from_parm_pack_p): New static function, factorized out from
+ tsubst_pack_expansion and extended to support non-type parameter
+ packs represented with TEMPLATE_PARM_INDEX nodes.
+ (tsubst_pack_expansion): Use arg_from_parm_pack_p.
+
+2011-09-12 Jason Merrill <jason@redhat.com>
+
+ * pt.c (type_unification_real): Fix handling of DEDUCE_CONV
+ with no deducible template parameters.
+ * call.c (rejection_reason_code): Add rr_template_conversion.
+ (print_z_candidate): Handle it.
+ (template_conversion_rejection): New.
+ (build_user_type_conversion_1): Use it.
+
+ * call.c (merge_conversion_sequences): Set bad_p and user_conv_p
+ on all of the second conversion sequence.
+ (build_user_type_conversion_1): Set bad_p on the ck_user conv.
+ (convert_like_real): Handle bad ck_ref_bind with user_conv_p in the
+ first section. Fix loop logic.
+ (initialize_reference): Call convert_like for diagnostics when
+ we have a (bad) conversion.
+
+ * call.c (convert_class_to_reference)
+ (convert_class_to_reference_1): Remove.
+ (reference_binding): Use build_user_type_conversion_1 instead.
+
+ * call.c (initialize_reference): Add flags parm.
+ * decl.c (grok_reference_init): Likewise.
+ (check_initializer): Pass it.
+ * typeck.c (convert_for_initialization): Likewise.
+ * cp-tree.h: Adjust.
+
+ * cp-tree.h (LOOKUP_NO_RVAL_BIND): New.
+ * call.c (conditional_conversion): Use it.
+ (reference_binding): Fix handling of xvalues.
+
+2011-09-09 Jason Merrill <jason@redhat.com>
+
+ * call.c (implicit_conversion): Check BRACE_ENCLOSED_INITIALIZER_P
+ before forcing instantiation.
+
+2011-09-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50324
+ * typeck2.c (digest_init_r): Call complete_type_or_maybe_complain
+ instead of complete_type_or_else.
+
+2011-09-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/33255 - Support -Wunused-local-typedefs warning
+ * name-lookup.c (pushdecl_maybe_friend_1): Use the new
+ record_locally_defined_typedef.
+ * decl.c (finish_function): Use the new
+ maybe_warn_unused_local_typedefs.
+ (grokfield): Use the new record_locally_defined_typedef.
+ * parser.c (lookup_name): Use the new maybe_record_typedef_use.
+
+2011-09-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50309
+ * decl.c (grokdeclarator): Check u.function.exception_specification
+ for error_mark_node.
+
+2011-09-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/50298
+ * parser.c (cp_parser_member_declaration): Don't require a constant
+ rvalue here in C++0x.
+
+ * pt.c (type_unification_real): Correct complain arg for tsubsting
+ default template args.
+
+ * pt.c (tsubst_aggr_type): Check TYPE_P before tsubsting.
+
+2011-09-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/50296
+ * semantics.c (register_constexpr_fundef): Call is_valid_constexpr_fn.
+ (cx_check_missing_mem_inits): Handle bases and empty trivial members.
+ (validate_constexpr_fundecl): Remove.
+ * decl.c (start_preparsed_function): Don't call it.
+ * cp-tree.h: Don't declare it.
+
+2011-09-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/49267
+ * call.c (reference_binding): Don't set is_lvalue for an rvalue
+ reference rfrom.
+
+ PR c++/49267
+ PR c++/49458
+ DR 1328
+ * call.c (reference_binding): Set rvaluedness_matches_p properly
+ for reference to function conversion ops.
+ (compare_ics): Adjust.
+
+ * class.c (trivial_default_constructor_is_constexpr): Rename from
+ synthesized_default_constructor_is_constexpr.
+ (type_has_constexpr_default_constructor): Adjust.
+ (add_implicitly_declared_members): Call it instead.
+ (explain_non_literal_class): Explain about non-constexpr default ctor.
+ * cp-tree.h: Adjust.
+ * method.c (synthesized_method_walk): Adjust.
+ * semantics.c (explain_invalid_constexpr_fn): Handle defaulted
+ functions, too.
+
+ PR c++/50248
+ Core 1358
+ * init.c (perform_member_init): Don't diagnose missing inits here.
+ (emit_mem_initializers): Or here.
+ * method.c (process_subob_fn): Don't instantiate constexpr ctors.
+ * semantics.c (cx_check_missing_mem_inits): New.
+ (explain_invalid_constexpr_fn): Call it.
+ (register_constexpr_fundef): Likewise. Leave
+ DECL_DECLARED_CONSTEXPR_P set when the body is unsuitable.
+ (cxx_eval_call_expression): Adjust diagnostics.
+ (cxx_eval_constant_expression): Catch use of 'this' in a constructor.
+
+2011-08-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/50084
+ * cp-tree.h (cp_decl_specifier_seq): Rename user_defined_type_p
+ to type_definition_p.
+ * parser.c (cp_parser_set_decl_spec_type): Likewise.
+ * decl.c (grokdeclarator): Check it.
+
+ PR c++/50089
+ * semantics.c (finish_id_expression): Use
+ current_nonlambda_class_type for qualified-ids.
+
+ PR c++/50114
+ * decl.c (poplevel): Disable for scope compatibility hack
+ in C++11 mode.
+
+ PR c++/50220
+ * semantics.c (add_capture): Call complete_type for copy.
+
+ PR c++/50234
+ * semantics.c (cxx_eval_component_reference): Handle
+ value-initialization for omitted initializers.
+
+2011-08-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/50224
+ * semantics.c (finish_id_expression): Mark captured variables used.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/50207
+ * class.c (finish_struct_1): Complain if the first field is
+ artificial.
+
+2011-08-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/50209
+ Core DR 994
+ * parser.c (cp_parser_default_argument): Use
+ cp_parser_initializer_clause.
+ (cp_parser_late_parsing_default_args): Likewise.
+
+2011-08-26 Jason Merrill <jason@redhat.com>
+
+ Core DR 342
+ PR c++/48582
+ * pt.c (check_valid_ptrmem_cst_expr): A null member pointer value
+ is valid in C++11.
+ (convert_nontype_argument): Likewise. Implicitly convert nullptr
+ and do constant folding.
+ * mangle.c (write_template_arg_literal): Mangle null member
+ pointer values as 0.
+ * call.c (null_member_pointer_value_p): New.
+ * cp-tree.h: Declare it.
+
+2011-08-25 Jason Merrill <jason@redhat.com>
+
+ * call.c (convert_like_real): Remove redundant complain checks.
+
+ PR c++/50157
+ * call.c (convert_like_real): Exit early if bad and !tf_error.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ * typeck2.c (build_functional_cast): Don't try to avoid calling
+ build_value_init.
+ * pt.c (instantiate_class_template_1): Don't copy TYPE_HAS_* flags.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/49045
+ Core 1321
+ * tree.c (dependent_name): New.
+ (cp_tree_equal): Two calls with the same dependent name are
+ equivalent even if the overload sets are different.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ * tree.c (build_target_expr): Set TREE_CONSTANT on
+ literal TARGET_EXPR if the value is constant.
+ * typeck2.c (build_functional_cast): Don't set it here.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ Core 903 (partial)
+ * call.c (null_ptr_cst_p): Only 0 qualifies in C++11.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ Core 975
+ * decl.c (cxx_init_decl_processing): Initialize
+ dependent_lambda_return_type_node.
+ * cp-tree.h (cp_tree_index): Add CPTI_DEPENDENT_LAMBDA_RETURN_TYPE.
+ (dependent_lambda_return_type_node): Define.
+ (DECLTYPE_FOR_LAMBDA_RETURN): Remove.
+ * semantics.c (lambda_return_type): Handle overloaded function.
+ Use dependent_lambda_return_type_node instead of
+ DECLTYPE_FOR_LAMBDA_RETURN.
+ (apply_lambda_return_type): Don't check dependent_type_p.
+ * pt.c (tsubst_copy_and_build): Handle lambda return type deduction.
+ (instantiate_class_template_1): Likewise.
+ (tsubst): Don't use DECLTYPE_FOR_LAMBDA_RETURN.
+ * mangle.c (write_type): Likewise.
+ * typeck.c (structural_comptypes): Likewise.
+ (check_return_expr): Handle dependent_lambda_return_type_node.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/50024
+ * semantics.c (maybe_constant_value): Don't try to fold { }.
+ * pt.c (build_non_dependent_expr): Don't wrap { }.
+ * init.c (build_value_init): Allow scalar value-init in templates.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (potential_constant_expression_1): Allow 'this'.
+
+2011-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/50158
+ * typeck.c (cp_build_modify_expr): Call mark_rvalue_use on rhs
+ if it has side-effects and needs to be preevaluated.
+
+2011-08-23 Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
+
+ PR c++/50055
+ * except.c (begin_eh_spec_block): Build EH_SPEC block on the
+ same line as the function.
+
+2011-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/46862
+ * class.c (finish_struct_1): If TYPE_TRANSPARENT_AGGR is set on a type
+ which doesn't have any fields, clear it and diagnose.
+
+2011-08-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ Marc Glisse <marc.glisse@normalesup.org>
+
+ PR libstdc++-v3/1773
+ * mangle.c (decl_mangling_context): Call
+ targetm.cxx.decl_mangling_context.
+ (write_unscoped_name): Use decl_mangling_context.
+
+2011-08-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/45625
+ * pt.c (parameter_of_template_p): Handle comparison with DECLs of
+ template parameters as created by process_template_parm.
+
+2011-08-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/50086
+ * pt.c (unify_pack_expansion): Correct overloaded unification
+ logic.
+
+ * pt.c (instantiate_class_template_1): If DECL_PRESERVE_P is set
+ on a member function or static data member, call mark_used.
+
+ PR c++/50054
+ * typeck2.c (cxx_incomplete_type_diagnostic): Handle
+ init_list_type_node.
+
+2011-08-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/50075
+ * name-lookup.c (local_bindings_p): New.
+ * name-lookup.h: Declare it.
+ * lex.c (unqualified_name_lookup_error): Use it.
+
+ PR c++/50059
+ * error.c (dump_expr): Handle MODIFY_EXPR properly.
+
+ * decl.c (grok_reference_init): Handle constexpr here.
+ * call.c (initialize_reference): Not here.
+
+2011-08-12 David Li <davidxl@google.com>
+
+ * class.c (update_vtable_entry_for_fn): Set
+ LOST_PRIMARY bit properly.
+
+2011-08-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/50034
+ * call.c (convert_arg_to_ellipsis): force_rvalue only in
+ potentially evaluated context.
+
+2011-08-12 Richard Guenther <rguenther@suse.de>
+
+ * call.c (build_over_call): Instead of memcpy use an
+ assignment of two MEM_REFs.
+
+2011-08-11 Romain Geissler <romain.geissler@gmail.com>
+ Brian Hackett <bhackett1024@gmail.com>
+
+ * decl.c (cp_finish_decl): Invoke callbacks on finish_decl event.
+
+2011-08-10 Richard Guenther <rguenther@suse.de>
+
+ * call.c (build_over_call): Call memcpy unconditionally.
+
+2011-08-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/50020
+ * semantics.c (finish_call_expr): Don't look at 'this' if we
+ had an explicit object argument.
+
+ PR c++/50011
+ * typeck2.c (check_narrowing): Fix integer logic.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Make-lang.in (g++$(exeext)): Add $(EXTRA_GCC_LIBS).
+
+2011-08-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/48993
+ * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Sorry
+ on 'this' in a constructor.
+
+ PR c++/49921
+ * semantics.c (finish_decltype_type): Call invalid_nonstatic_memfn_p.
+
+ PR c++/49669
+ * init.c (perform_member_init): Handle invalid array initializer.
+
+ PR c++/49988
+ * semantics.c (cxx_eval_array_reference): Handle failure to
+ reduce the array operand to something we can work with.
+
+2011-08-05 Gabriel Charette <gchare@google.com>
+
+ * decl.c (finish_function): Remove unecessary line 0 hack.
+
+2011-08-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/47453
+ * typeck.c (build_x_compound_expr_from_list): Also complain
+ about ({...}).
+
+ PR c++/49812
+ * typeck.c (cp_build_unary_op) [POSTINCREMENT_EXPR]: Strip cv-quals.
+
+ PR c++/49983
+ * parser.c (cp_parser_range_for): Only do auto deduction in
+ template if the range is non-dependent.
+
+ * init.c (perform_member_init): Always build_aggr_init
+ for a class member with an explicit mem-initializer.
+
+ * pt.c (unify) [TEMPLATE_TYPE_PARM]: Allow VLA for C++0x 'auto'.
+
+2011-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49905
+ * decl.c (cxx_init_decl_processing): Add alloc_size (1) attribute
+ for operator new and operator new []. Call init_attributes.
+
+2011-08-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/43886
+ * parser.c (cp_parser_lambda_body): Clear local_variables_forbidden_p.
+
+ PR c++/49577
+ * typeck2.c (check_narrowing): Check unsigned mismatch.
+ * semantics.c (finish_compound_literal): check_narrowing.
+
+ PR c++/49593
+ * pt.c (find_parameter_packs_r): Handle CONSTRUCTOR.
+
+ PR c++/49803
+ * init.c (sort_mem_initializers): Initialize uses_unions_p here.
+ (build_field_list): Not here.
+
+ PR c++/49834
+ * parser.c (build_range_temp): Split out from...
+ (cp_convert_range_for): ...here.
+ (do_range_for_auto_deduction): New.
+ (cp_parser_range_for): Use it.
+
+2011-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-tree.h (finish_omp_atomic): Adjust prototype.
+ (cxx_omp_const_qual_no_mutable): New prototype.
+ (finish_omp_taskyield): New prototype.
+ * parser.c (cp_parser_omp_atomic): (cp_parser_omp_atomic): Handle
+ parsing OpenMP 3.1 atomics. Adjust finish_omp_atomic caller.
+ (cp_parser_omp_clause_name): Handle final and mergeable clauses.
+ (cp_parser_omp_clause_final, cp_parser_omp_clause_mergeable): New
+ functions.
+ (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_FINAL
+ and PRAGMA_OMP_CLAUSE_MERGEABLE.
+ (OMP_TASK_CLAUSE_MASK): Allow final and mergeable clauses.
+ (cp_parser_omp_taskyield): New function.
+ (cp_parser_pragma): Handle PRAGMA_OMP_TASKYIELD.
+ (cp_parser_omp_clause_reduction): Handle min and max.
+ * pt.c (tsubst_expr) <case OMP_ATOMIC>: Handle OpenMP 3.1 atomics.
+ (tsubst_omp_clauses): Handle OMP_CLAUSE_FINAL and
+ OMP_CLAUSE_MERGEABLE.
+ * semantics.c (finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
+ arguments. Handle OpenMP 3.1 atomics. Adjust c_finish_omp_atomic
+ caller.
+ (finish_omp_clauses): Don't complain about const qualified
+ predetermined vars and static data members in firstprivate clause.
+ Handle OMP_CLAUSE_FINAL and OMP_CLAUSE_MERGEABLE. Handle MIN_EXPR
+ and MAX_EXPR.
+ (finish_omp_taskyield): New function.
+ * cp-gimplify.c (cxx_omp_const_qual_no_mutable): New function.
+ (cxx_omp_predetermined_sharing): Use it.
+
+2011-08-02 Jason Merrill <jason@redhat.com>
+
+ * call.c (build_call_a): Also check at_function_scope_p.
+
+2011-08-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/49932
+ * mangle.c (write_prefix): Handle decltype.
+
+ PR c++/49924
+ * semantics.c (cxx_eval_vec_init_1): Fix logic.
+
+ PR c++/49813
+ * semantics.c (potential_constant_expression_1): Allow any builtin.
+ (morally_constexpr_builtin_function_p): Remove.
+
+2011-07-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/49867
+ * parser.c (cp_parser_lambda_expression): Also clear in_statement
+ and in_switch_statement_p.
+ (cp_parser_class_specifier): Likewise.
+
+2011-07-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/49808
+ * pt.c (tsubst) [TEMPLATE_PARM_INDEX]: Call convert_from_reference.
+ (convert_nontype_argument, tsubst_template_arg): Handle its output.
+
+2011-07-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49813
+ * semantics.c (potential_constant_expression_1): Handle FMA_EXPR.
+
+2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
+
+ * pt.c (build_template_decl): Copy the function_decl's
+ source location to the new template_decl.
+
+2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49776
+ * typeck.c (cp_build_modify_expr): Check digest_init return value
+ for error_mark_node.
+
+2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR bootstrap/49845
+ * parser.c (cp_parser_perform_range_for_lookup): Always assign *being
+ and *end before returning.
+
+2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49838
+ * parser.c (cp_parser_perform_range_for_lookup): Early return if
+ error_operand_p (range).
+
+2011-07-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/49823
+ * parser.c (cp_parser_qualifying_entity): Handle templates.
+
+2011-07-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/49793
+ * typeck2.c (check_narrowing): Downgrade permerror to pedwarn.
+ Make conditional on -Wnarrowing.
+
+2011-07-22 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Warn about the use of final/override in non-c++0x mode, and
+ add __final for non-c++0x mode.
+ * cp-tree.h (cpp0x_warn_str): Add CPP0X_OVERRIDE_CONTROLS.
+ * error.c (maybe_warn_cpp0x): Adjust.
+ * parser.c (cp_parser_virt_specifier_seq_opt): Use it. Add
+ '__final' as a non-c++0x alternative for 'final'.
+
+2011-07-22 Jason Merrill <jason@redhat.com>
+ Mark Glisse <marc.glisse@normalesup.org>
+
+ PR c++/30112
+ * decl.c (cp_finish_decl): Apply pragma redefine_extname in
+ other namespaces as well.
+ * name-lookup.c (c_linkage_bindings): Define.
+ (lookup_extern_c_fun_in_all_ns): Rename from
+ lookup_extern_c_fun_binding_in_all_ns. Return tree.
+ (pushdecl_maybe_friend_1): Adjust. Copy DECL_ASSEMBLER_NAME.
+
+2011-07-20 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_initializer_list): Handle C99 .id= and [N]=
+ designated initializer syntax.
+ * decl.c (check_array_designated_initializer): Add index parm.
+ (maybe_deduce_size_from_array_init): Pass it.
+ (reshape_init_array_1): Likewise.
+
+ PR c++/6709 (DR 743)
+ PR c++/42603 (DR 950)
+ * parser.c (token_is_decltype, cp_lexer_next_token_is_decltype): New.
+ (cp_parser_nested_name_specifier_opt): Allow decltype.
+ (cp_parser_qualifying_entity): Likewise.
+ (cp_parser_decltype): Replace source tokens with CPP_DECLTYPE.
+ (cp_parser_simple_type_specifier): Handle decltype as scope.
+ (cp_parser_base_specifier): Allow decltype.
+ (cp_parser_base_clause): Don't crash on null base.
+ * parser.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move to c-common.h.
+ (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
+
+2011-07-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/49785
+ * pt.c (coerce_template_parms): Handle non-pack after pack.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * call.c (build_special_member_call): Use fold_build_pointer_plus.
+ * class.c (build_base_path): Likewise.
+ (convert_to_base_statically): Likewise.
+ (dfs_accumulate_vtbl_inits): Likewise.
+ * cp-gimplify.c (cxx_omp_clause_apply_fn): Likewise.
+ * except.c (expand_start_catch_block): Likewise.
+ * init.c (expand_virtual_init): Likewise.
+ (build_new_1): Likewise.
+ (build_vec_delete_1): Likewise.
+ (build_vec_delete): Likewise.
+ * rtti.c (build_headof): Likewise.
+ (tinfo_base_init): Likewise.
+ * typeck.c (get_member_function_from_ptrfunc): Likewise.
+ (cp_build_addr_expr_1): Likewise.
+ * typeck2.c (build_m_component_ref): Likewise.
+
+2011-07-18 Martin Jambor <mjambor@suse.cz>
+
+ * parser.c (cp_parser_parameter_declaration_list): Initialize
+ parenthesized_p.
+
+2011-07-16 Jason Merrill <jason@redhat.com>
+
+ * pt.c (tinst_level_tick, last_template_error_tick): Replace with
+ last_error_tinst_level.
+ (push_tinst_level, pop_tinst_level): Adjust.
+ (problematic_instantiation_changed): Adjust.
+ (record_last_problematic_instantiation): Adjust.
+ * error.c (cp_print_error_function): Don't print
+ current_function_decl if we're in a template instantiation context.
+ (print_instantiation_full_context): Always print first line.
+
+2011-07-16 Nathan Froyd <froydnj@codesourcery.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/45329
+ PR c++/48934
+ * cp-tree.h (fn_type_unification): Add `bool' parameter.
+ * pt.c (enum template_base_result): Define.
+ (unify_success, unify_unknown): Define.
+ (unify_parameter_deduction_failure): Define.
+ (unify_invalid, unify_cv_qual_mismatch, unify_type_mismatch): Define.
+ (unify_parameter_pack_mismatch): Define.
+ (unify_parameter_pack_inconsistent): Define.
+ (unify_ptrmem_cst_mismatch, unify_vla_arg): Define.
+ (unify_expression_unequal, unify_inconsistency): Define.
+ (unify_method_type_error, unify_arity): Likewise.
+ (unify_too_many_parameters, unify_too_few_parameters): Define.
+ (unify_arg_conversion, unify_no_common_base): Define.
+ (unify_illformed_ptrmem_cst_expr): Define.
+ (unify_substitution_failure): Define.
+ (unify_inconsistent_template_template_parameters): Define.
+ (unify_template_deduction_failure): Define.
+ (unify_template_argument_mismatch): Define.
+ (unify_overload_resolution_failure): Define.
+ (comp_template_args_with_info): New function, split out from...
+ (comp_template_args): ...here. Call it.
+ (deduction_tsubst_fntype): Add `complain' parameter'. Pass it
+ to tsubst.
+ (unify): Add `explain_p' parameter. Pass to all relevant calls.
+ Call above status functions when appropriate.
+ (resolve_overloaded_unification, try_one_overload): Likewise.
+ (type_unification, type_unification_real): Likewise.
+ (unify_pack_expansion): Likewise.
+ (get_template_base, try_class_unification): Likewise.
+ (get_bindings, more_specialized_fn): Pass false to unification
+ calls.
+ (get_class_bindings, do_auto_deduction): Likewise.
+ (convert_nontype_argument): Likewise.
+ (fn_type_unification): Likewise. Pass tf_warning_or_error if
+ explain_p.
+ (get_template_base): Add `explain_p' parameter and pass it to
+ try_class_unification. Return an enum template_base_result.
+ * class.c (resolve_address_of_overloaded_function): Pass false to
+ fn_type_unification.
+ * call.c (enum rejection_reason_code): Add new codes.
+ (struct rejection_reason): Add template_unification field.
+ Add template_instantiation field.
+ (template_unification_rejection): Define.
+ (template_unification_error_rejection): Define.
+ (template_instantiation_rejection): Define.
+ (invalid_copy_with_fn_template_rejection): Define.
+ (add_template_candidate): Pass false to unify.
+ Provide more rejection reasons when possible.
+ (print_template_unification_rejection): Define.
+ (print_arity_rejection): Define, split out from...
+ (print_z_candidate): ...here. Add cases for new rejection
+ reasons.
+
+2011-07-15 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (check-g++-strict-gc): New.
+ (cp/except.o): Depend on gt-cp-except.h
+ * except.c: Include gt-cp-except.h.
+ * config-lang.in (gtfiles): Add cp/except.c.
+ * decl2.c (mark_used): Adjust constexpr condition, set
+ function_depth around template instantiation.
+ * parser.c (cp_parser_lambda_body): Set function_depth.
+ * semantics.c (maybe_add_lambda_conv_op): Likewise.
+
+ PR testsuite/49741
+ * Make-lang.in (check-c++0x): Use --extra_opts instead of--tool_opts.
+
+2011-07-13 Jason Merrill <jason@redhat.com>
+
+ * Make-lang.in (check-c++0x): New.
+
+2011-07-13 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * typeck2.c (split_nonconstant_init_1): Pass the initializer directly,
+ rather than a pointer to it. Return true if the whole of the value
+ was initialized by the generated statements. Use
+ complete_ctor_at_level_p instead of count_type_elements.
+
+2011-07-12 Diego Novillo <dnovillo@google.com>
+
+ * name-lookup.h (cp_binding_level): Rename from cxx_scope.
+ Update all users.
+ (struct cp_binding_level): Fix indentation.
+
+2011-07-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/49672
+ * pt.c (extract_fnparm_pack): Split out from...
+ (make_fnparm_pack): ...here.
+ (instantiate_decl): Handle non-pack parms after a pack.
+ * semantics.c (maybe_add_lambda_conv_op): Don't in a template.
+
+ * decl2.c (decl_constant_var_p): Use decl_maybe_constant_var_p.
+
+ PR c++/44609
+ * cp-tree.h (struct tinst_level): Add errors field.
+ * pt.c (neglectable_inst_p, limit_bad_template_recurson): New.
+ (push_tinst_level): Don't start another decl in that case.
+ (reopen_tinst_level): Adjust errors field.
+ * decl2.c (cp_write_global_declarations): Don't complain about
+ undefined inline if its template was defined.
+ * mangle.c (mangle_decl_string): Handle failure from push_tinst_level.
+
+2011-07-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/49691
+ * parser.c (cp_parser_late_return_type_opt): Check quals parameter
+ rather than current_class_type to determine whether to set 'this'.
+ (cp_parser_direct_declarator): Pass -1 to quals if member_p is false.
+ (cp_parser_init_declarator): Pass down member_p.
+
+2011-07-09 Jason Merrill <jason@redhat.com>
+
+ * tree.c (build_vec_init_elt): Strip TARGET_EXPR.
+
+2011-07-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/45437
+ * typeck.c (cp_build_modify_expr): Preevaluate RHS.
+
+ * method.c (use_thunk): Use cgraph_add_to_same_comdat_group.
+ * optimize.c (maybe_clone_body): Likewise.
+ * semantics.c (maybe_add_lambda_conv_op): Likewise.
+
+ PR c++/45603
+ * decl.c (expand_static_init): Don't get confused by user
+ declaration of __cxa_guard_acquire.
+
+ * typeck.c (cp_apply_type_quals_to_decl): Don't check
+ COMPLETE_TYPE_P either.
+
+ PR c++/49673
+ * typeck.c (cp_apply_type_quals_to_decl): Don't check
+ TYPE_NEEDS_CONSTRUCTING.
+
+2011-07-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/49663
+ * pt.c (push_deduction_access_scope): Preserve
+ processing_template_decl across push_to_top_level.
+ And revert:
+ * class.c (pushclass): Accept NULL argument.
+ (popclass): Deal with popping null class.
+ * pt.c (push_access_scope, pop_access_scope): Use them rather than
+ push_to_top_level/pop_from_top_level.
+ * name-lookup.c (lookup_name_real_1): Check current_class_type.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/49644
+ * typeck.c (cp_build_binary_op): For MULT_EXPR and TRUNC_DIV_EXPR with
+ one non-complex and one complex argument, call save_expr on both
+ operands.
+
+2011-07-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/49353
+ * semantics.c (expand_or_defer_fn_1): Clear DECL_EXTERNAL
+ on kept inlines.
+
+ PR c++/49568
+ * method.c (make_thunk, use_thunk): Copy DECL_COMDAT.
+
+2011-07-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/48157
+ * pt.c (tsubst_qualified_id): Preserve TEMPLATE_ID_EXPR in
+ partial instantiation.
+
+ PR c++/49598
+ * semantics.c (finish_id_expression): convert_from_reference.
+
+2011-07-05 Richard Guenther <rguenther@suse.de>
+
+ * decl.c (cxx_init_decl_processing): Defer building common
+ tree nodes to c_common_nodes_and_builtins.
+
+2011-07-04 Jason Merrill <jason@redhat.com>
+
+ DR 1207
+ PR c++/49589
+ * mangle.c (write_expression): Handle 'this'.
+ * parser.c (cp_parser_postfix_dot_deref_expression): Allow
+ incomplete *this.
+ * semantics.c (potential_constant_expression_1): Check that
+ DECL_CONTEXT is set on 'this'.
+
+ * error.c (dump_template_bindings): Don't print typenames
+ for a partial instantiation.
+ (dump_function_decl): If we aren't printing function arguments,
+ print template arguments as <args> rather than [with ...].
+ (dump_expr): Don't print return type or template header.
+ [BASELINK]: Use BASELINK_FUNCTIONS rather than get_first_fn.
+ * pt.c (dependent_template_arg_p): Handle null arg.
+
+ * error.c (type_to_string): Avoid redundant akas.
+
+2011-07-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/49605
+ * init.c (build_delete): Only warn for sfk_deleting_destructor.
+
+2011-07-01 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (cp/decl.o): Depend on pointer-set.h.
+ (cp/class.o): Likewise.
+ (cp/error.o): Likewise.
+ (cp/name-lookup.o): Likewise.
+ (cp/decl2.o): Likewise. Don't depend on $(POINTER_SET_H).
+
+2011-07-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/48261
+ * pt.c (lookup_template_function): Handle non-function.
+
+ PR c++/48593
+ * pt.c (tsubst_qualified_id): Check PTRMEM_OK_P.
+ * tree.c (build_qualified_name): Set PTRMEM_OK_P.
+ * semantics.c (finish_parenthesized_expr): Clear PTRMEM_OK_P on
+ SCOPE_REF, too.
+ * cp-tree.h (PTRMEM_OK_P): Apply to SCOPE_REF, too.
+ (QUALIFIED_NAME_IS_TEMPLATE): Switch to lang flag 1.
+
+ PR c++/48883
+ PR c++/49609
+ * pt.c (resolve_nondeduced_context): Call mark_used.
+
+ PR c++/49085
+ * semantics.c (finish_offsetof): Complain about incomplete type.
+
+2011-06-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/49387
+ * rtti.c (get_tinfo_decl): Call complete_type.
+
+ PR c++/49569
+ * method.c (implicitly_declare_fn): Set DECL_PARM_LEVEL and
+ DECL_PARM_INDEX on rhs parm.
+
+ * pt.c (iterative_hash_template_arg): Use cp_tree_operand_length.
+
+ PR c++/49355
+ * tree.c (stabilize_init): Handle aggregate initialization.
+
+ PR c++/48481
+ * name-lookup.c (struct arg_lookup): Add fn_set.
+ (add_function): Check it.
+ (lookup_arg_dependent_1): Initialize it.
+
+2011-06-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/49216
+ * init.c (build_new_1): Pass {} down to build_vec_init.
+ (build_vec_init): Handle it.
+
+ DR 1207
+ PR c++/49003
+ * cp-tree.h (struct saved_scope): Add x_current_class_ptr,
+ x_current_class_ref.
+ (current_class_ptr, current_class_ref): Use them.
+ * decl.c (build_this_parm): Handle getting the class type.
+ * parser.c (cp_parser_late_return_type_opt): Set up 'this'
+ for use within the trailing return type.
+
+ * pt.c (tsubst_decl) [VAR_DECL]: In unevaluated operand,
+ don't tsubst DECL_INITIAL unless our type use auto.
+
+ PR c++/49520
+ * semantics.c (constexpr_fn_retval): Handle CLEANUP_POINT_EXPR here.
+ (massage_constexpr_body): Not here.
+
+ PR c++/49554
+ * semantics.c (lambda_proxy_type): New.
+ (build_capture_proxy): Use it.
+ * cp-tree.h (DECLTYPE_FOR_LAMBDA_PROXY): New.
+ * pt.c (tsubst) [DECLTYPE_TYPE]: Use them.
+
+ PR c++/45923
+ * class.c (explain_non_literal_class): New.
+ (finalize_literal_type_property): Call it.
+ * cp-tree.h: Declare it.
+ * semantics.c (ensure_literal_type_for_constexpr_object): Call it.
+ (is_valid_constexpr_fn): Likewise.
+ (massage_constexpr_body): Split out from...
+ (register_constexpr_fundef): ...here.
+ (is_instantiation_of_constexpr): New.
+ (expand_or_defer_fn_1): Leave DECL_SAVED_TREE alone in that case.
+ (explain_invalid_constexpr_fn): New.
+ (cxx_eval_call_expression): Call it.
+ (potential_constant_expression_1): Likewise. Avoid redundant errors.
+ * method.c (process_subob_fn): Diagnose non-constexpr.
+ (walk_field_subobs): Likewise.
+ (synthesized_method_walk): Don't shortcut if we want diagnostics.
+ (explain_implicit_non_constexpr): New.
+ (defaulted_late_check): Use it.
+ * call.c (build_cxx_call): Remember location.
+
+ * method.c (maybe_explain_implicit_delete): Use pointer_set
+ instead of htab.
+
+ * class.c (finalize_literal_type_property): Update conditions.
+ * method.c (defaulted_late_check): Set TYPE_HAS_CONSTEXPR_CTOR.
+
+ * tree.c (build_vec_init_expr): Don't add TARGET_EXPR.
+ * typeck2.c (digest_init_r): Handle VEC_INIT_EXPR.
+ * semantics.c (cxx_eval_vec_init_1): Correct type.
+
+ * init.c (build_value_init): Decide whether or not to zero-initialize
+ based on user-providedness of default ctor, not any ctor.
+ (build_value_init_noctor): Adjust assert.
+
+ DR 990
+ * call.c (convert_like_real) [ck_user]: Handle value-initialization.
+ (build_new_method_call_1): Likewise.
+ * init.c (expand_default_init): Handle direct list-initialization
+ of aggregates.
+
+2011-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-tree.h (union lang_tree_node): Use it in chain_next expression.
+
+2011-06-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/49528
+ * semantics.c (potential_constant_expression_1): Check
+ for non-literality rather than cleanup.
+ (cxx_eval_constant_expression): Likewise.
+
+ PR c++/49528
+ * semantics.c (potential_constant_expression_1): A TARGET_EXPR
+ with a cleanup isn't constant.
+ (cxx_eval_constant_expression): Likewise.
+ * init.c (expand_default_init): Use maybe_constant_init.
+
+2011-06-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/46400
+ * cp-tree.h (union lang_tree_node): Use TYPE_NEXT_VARIANT
+ instead of TYPE_CHAIN for chain_next for types.
+
+2011-06-23 Gabriel Charette <gchare@google.com>
+
+ * name-lookup.h (cp_binding_level): Removed unused
+ member names_size. Update all users.
+
+2011-06-23 Jason Merrill <jason@redhat.com>
+
+ * typeck2.c (build_functional_cast): Strip cv-quals for value init.
+ * init.c (build_zero_init_1): Not here.
+
+ PR c++/35255
+ * pt.c (resolve_overloaded_unification): Fix DR 115 handling.
+
+2011-06-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44625
+ * decl2.c (build_anon_union_vars): Early return error_mark_node
+ for a nested anonymous struct.
+
+2011-06-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/49507
+ * decl2.c (mark_used): Don't call synthesize_method for
+ functions defaulted outside the class.
+
+ * optimize.c (maybe_clone_body): Set linkage flags before
+ cgraph_same_body_alias.
+
+ PR c++/49440
+ * class.c (set_linkage_according_to_type): Hand off to
+ determine_visibility.
+
+ PR c++/49395
+ * init.c (build_zero_init_1): Strip cv-quals from scalar types.
+
+ PR c++/36435
+ * pt.c (most_specialized_instantiation): Do check return types.
+
+2011-06-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/49260
+ * call.c (build_call_a): Set cp_function_chain->can_throw here.
+ (build_cxx_call): Not here.
+
+2011-06-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/49172
+ * decl.c (cp_finish_decl): Adjust init_const_expr_p for refs.
+ (grokdeclarator): constexpr doesn't apply const for refs.
+ * parser.c (cp_parser_initializer_clause): Don't call
+ maybe_constant_value here.
+ * call.c (initialize_reference): Handle constexpr.
+
+ PR c++/49482
+ * semantics.c (maybe_add_lambda_conv_op): Call mark_exp_read for
+ static fn parameters.
+
+ * call.c (add_builtin_candidates): Use cv_unqualified rather than
+ TYPE_MAIN_VARIANT.
+ * pt.c (tsubst_arg_types): Likewise.
+ * except.c (build_throw): Use cv_unqualified.
+
+ PR c++/49418
+ * call.c (cxx_type_promotes_to): Don't strip cv-quals.
+ * semantics.c (lambda_return_type): Strip them here.
+
+2011-06-21 Andrew MacLeod <amacleod@redhat.com>
+
+ * semantics.c: Add sync_ or SYNC__ to builtin names.
+
+2011-06-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/49216
+ * init.c (build_vec_init): Don't try to use a CONSTRUCTOR when
+ base is a pointer.
+ * typeck2.c (process_init_constructor_array): Use {} for classes,
+ too.
+ * call.c (convert_like_real): Handle substitution failure.
+
+ PR c++/48138
+ * pt.c (canonicalize_type_argument): New.
+ (convert_template_argument, unify): Use it.
+
+ PR c++/47080
+ * call.c (rejection_reason_code): Add rr_explicit_conversion.
+ (print_z_candidate): Handle it.
+ (explicit_conversion_rejection): New.
+ (build_user_type_conversion_1): Reject an explicit conversion
+ function that requires more than a qualification conversion.
+
+ PR c++/47635
+ * decl.c (grokdeclarator): Don't set ctype to an ENUMERAL_TYPE.
+
+ PR c++/48138
+ * tree.c (strip_typedefs): Use build_aligned_type.
+
+ PR c++/49205
+ * call.c (sufficient_parms_p): Allow parameter packs too.
+
+ PR c++/43321
+ * semantics.c (describable_type): Remove.
+ * cp-tree.h: Likewise.
+ * decl.c (cp_finish_decl): Don't call it.
+ * init.c (build_new): Likewise.
+ * parser.c (cp_parser_omp_for_loop): Likewise.
+ * pt.c (tsubst_decl): Likewise.
+ (do_auto_deduction): If we fail in a template, try again
+ at instantiation time.
+
+ PR c++/43831
+ * parser.c (cp_parser_lambda_introducer): Complain about redundant
+ captures.
+ * semantics.c (add_capture): Likewise.
+ (register_capture_members): Clear IDENTIFIER_MARKED.
+
+2011-06-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/49458
+ * call.c (convert_class_to_reference_1): Allow binding function
+ lvalue to rvalue reference.
+
+ PR c++/43912
+ Generate proxy VAR_DECLs for better lambda debug info.
+ * cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): Add lambda operator().
+ (LAMBDA_EXPR_PENDING_PROXIES): New.
+ (struct tree_lambda_expr): Add pending_proxies.
+ * name-lookup.c (pushdecl_maybe_friend_1): Handle capture shadowing.
+ (qualify_lookup): Use is_lambda_ignored_entity.
+ * parser.c (cp_parser_lambda_expression): Don't adjust field names.
+ Call insert_pending_capture_proxies.
+ (cp_parser_lambda_introducer): Use this_identifier.
+ (cp_parser_lambda_declarator_opt): Call the object parameter
+ of the op() "__closure" instead of "this".
+ (cp_parser_lambda_body): Call build_capture_proxy.
+ * semantics.c (build_capture_proxy, is_lambda_ignored_entity): New.
+ (insert_pending_capture_proxies, insert_capture_proxy): New.
+ (is_normal_capture_proxy, is_capture_proxy): New.
+ (add_capture): Add __ to field names here, return capture proxy.
+ (add_default_capture): Use this_identifier, adjust to expect
+ add_capture to return a capture proxy.
+ (outer_lambda_capture_p, thisify_lambda_field): Remove.
+ (finish_id_expression, lambda_expr_this_capture): Adjust.
+ (build_lambda_expr): Initialize LAMBDA_EXPR_PENDING_PROXIES.
+ * pt.c (tsubst_copy_and_build): Check that LAMBDA_EXPR_PENDING_PROXIES
+ is null.
+
+ * name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing
+ of artificial locals.
+
+ * parser.c (cp_parser_lambda_expression): Clear
+ LAMBDA_EXPR_THIS_CAPTURE after parsing.
+ * pt.c (tsubst_copy_and_build): Make sure it isn't set.
+
+ * cp-tree.h (struct tree_lambda_expr): Change common to typed.
+ Move non-pointers to end of struct.
+
+ * pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
+ * decl.c (check_initializer): Handle DECL_VALUE_EXPR_P.
+
+ * semantics.c (finish_non_static_data_member): Preserve dereference
+ in template.
+
+2011-06-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/44160
+ * parser.c (cp_parser_lambda_body): Share code between
+ simple and complex cases instead of using cp_parser_function_body.
+
+ PR c++/45378
+ * decl.c (check_initializer): Check narrowing.
+
+ PR c++/49229
+ * pt.c (tsubst_decl) [FUNCTION_DECL]: Handle substitution failure.
+
+ PR c++/49251
+ * semantics.c (finish_id_expression): Mark even dependent
+ variables as used.
+
+ PR c++/49420
+ * error.c (dump_template_argument): Don't try to omit default
+ template args from an argument pack.
+
+2011-06-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/49412
+ * decl.c (get_dso_handle_node): Mark __dso_handle hidden if
+ assembler supports hidden visibility.
+
+2011-06-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/49107
+ * cp-tree.h (DEFERRED_NOEXCEPT_SPEC_P): Handle overload.
+ * method.c (defaulted_late_check): Only maybe_instantiate_noexcept
+ if the declaration had an exception-specifier.
+ (process_subob_fn): Don't maybe_instantiate_noexcept.
+ * pt.c (maybe_instantiate_noexcept): Handle overload.
+ * typeck2.c (nothrow_spec_p_uninst): New.
+ (merge_exception_specifiers): Add 'fn' parm. Build up overload.
+ * typeck.c (merge_types): Adjust.
+
+ * pt.c (deduction_tsubst_fntype): Don't save input_location.
+ (maybe_instantiate_noexcept): Likewise.
+
+2011-06-14 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (cp/method.o): Update dependencies.
+ * method.c: Include common/common-target.h.
+ (use_thunk): Use targetm_common.have_named_sections.
+
+2011-06-14 Steve Ellcey <sje@cup.hp.com>
+
+ * decl.c (cxx_init_decl_processing): Use ptr_mode instead of Pmode.
+
+2011-06-14 Jason Merrill <jason@redhat.com>
+
+ * error.c (type_to_string): Print typedef-stripped version too.
+
+ PR c++/49117
+ * call.c (perform_implicit_conversion_flags): Print source type as
+ well as expression.
+
+ PR c++/49389
+ * typeck2.c (build_m_component_ref): Preserve rvalueness.
+
+ PR c++/49369
+ * class.c (build_base_path): Fix cv-quals in unevaluated context.
+
+ PR c++/49290
+ * semantics.c (cxx_fold_indirect_ref): Local, more permissive copy
+ of fold_indirect_ref_1.
+ (cxx_eval_indirect_ref): Use it.
+
+2011-06-11 Jan Hubicka <jh@suse.cz>
+
+ * decl2.c (cp_write_global_declarations): Process aliases; look trhough
+ same body aliases.
+
+2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/41769
+ * decl.c (grokdeclarator): Reject operator names in parameters.
+
+2011-06-10 Jan Hubicka <jh@suse.cz>
+
+ * decl2.c (clear_decl_external): New functoin.
+ (cp_write_global_declarations): Use it.
+
+2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * cp-tree.h (error_operand_p): Remove.
+
+2011-06-09 David Krauss <potswa@mac.com>
+
+ PR c++/49118
+ * typeck2.c (build_x_arrow): Push fake template context
+ to produce diagnostic on acyclic endless operator-> drill-down.
+ * call.c (build_new_op): Change Boolean overload status
+ value to a pointer to the overload function.
+ * cp-tree.h: Likewise.
+ * typeck.c: Likewise.
+ * parser.c: Likewise.
+ * decl2.c: Likewise.
+ * pt.c: Likewise.
+
+2011-06-09 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (maybe_constant_value): Handle overflowed input.
+ (non_const_var_error): Handle non-constant DECL_INITIAL.
+
+ * pt.c (build_non_dependent_expr): Use fold_non_dependent_expr_sfinae.
+
+ * parser.c (cp_parser_constant_expression): Just return the
+ non-constant expression.
+
+ * semantics.c (finish_compound_literal): Set TREE_HAS_CONSTRUCTOR.
+
+2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29003
+ * decl.c (grokdeclarator): Reject operator names in typedefs.
+
+2011-06-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/49107
+ * cp-tree.def (DEFERRED_NOEXCEPT): New.
+ * cp-tree.h (struct tree_deferred_noexcept): New.
+ (DEFERRED_NOEXCEPT_PATTERN, DEFERRED_NOEXCEPT_ARGS): New.
+ (DEFERRED_NOEXCEPT_SPEC_P): New.
+ (enum cp_tree_node_structure_enum): Add TS_CP_DEFERRED_NOEXCEPT.
+ (union lang_tree_node): Add tree_deferred_noexcept.
+ (maybe_instantiate_noexcept): Declare.
+ * cp-objcp-common.c (cp_tree_size): Handle DEFERRED_NOEXCEPT.
+ * error.c (dump_exception_spec): Likewise.
+ * cxx-pretty-print.c (pp_cxx_exception_specification): Likewise.
+ * ptree.c (cxx_print_xnode): Likewise.
+ * tree.c (cp_tree_equal): Likewise.
+ * decl.c (cp_tree_node_structure): Likewise.
+ (duplicate_decls): Call maybe_instantiate_noexcept.
+ * except.c (build_noexcept_spec): Handle DEFERRED_NOEXCEPT.
+ (nothrow_spec_p, type_noexcept_p, type_throw_all_p): Check
+ DEFERRED_NOEXCEPT_SPEC_P.
+ * typeck2.c (merge_exception_specifiers): Likewise.
+ * decl2.c (mark_used): Call maybe_instantiate_noexcept.
+ * method.c (process_subob_fn, defaulted_late_check): Likewise.
+ * pt.c (tsubst_exception_specification): Add defer_ok parm.
+ Build DEFERRED_NOEXCEPT.
+ (maybe_instantiate_noexcept): New.
+ (tsubst, regenerate_decl_from_template, instantiate_decl): Adjust.
+ * search.c (check_final_overrider): Call maybe_instantiate_noexcept.
+
+ * semantics.c (potential_constant_expression_1): Handle destructor
+ call.
+
+2011-06-08 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-tree.h (struct tinst_level): Add chain_next GTY
+ markup.
+
+2011-06-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/49322
+ * pt.c (deduction_tsubst_fntype): Don't free the tinst entry
+ if a pending_template entry is pointing at it.
+
+2011-06-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/48969
+ PR c++/44175
+ * error.c (subst_to_string): New.
+ (cp_printer): Use it for 'S'.
+ (print_instantiation_partial_context_line): Handle subst context.
+ * pt.c (push_tinst_level): Handle subst context.
+ (deduction_tsubst_fntype): Don't track specific substitutions.
+ Use push_tinst_level.
+
+ * pt.c (deduction_tsubst_fntype): Use push_deduction_access_scope.
+ (fn_type_unification): Don't call push_deduction_access_scope here.
+
+2011-06-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/48780
+ * typeck.c (perform_integral_promotions): Don't promote scoped enums.
+ * call.c (convert_arg_to_ellipsis): Promote them here in old ABI.
+
+2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>,
+
+ PR obj-c++/48275
+ * parser.c (cp_parser_objc_at_property_declaration): Allow setter
+ and getter names to use all the allowed method names.
+
+2011-06-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/49298
+ * semantics.c (potential_constant_expression_1): Handle FIELD_DECL.
+
+ PR objc++/49221
+ * decl.c (cp_finish_decl): Check DECL_FUNCTION_SCOPE_P rather than
+ at_function_scope_p.
+
+ PR c++/49134
+ * tree.c (build_target_expr): Deal with ARM ABI tweaks.
+
+2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * init.c (build_delete): Warn when deleting type with non-virtual
+ destructor.
+
+2011-06-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49276
+ * mangle.c (write_nested_name): Use CP_DECL_CONTEXT instead of
+ DECL_CONTEXT.
+
+2011-06-01 Jason Merrill <jason@redhat.com>
+
+ * pt.c (build_non_dependent_expr): Remove special handling of
+ REFERENCE_REF_P.
+
+ PR c++/44175
+ * pt.c (template_args_equal): Handle one arg being NULL_TREE.
+ (deduction_tsubst_fntype): Handle excessive non-infinite recursion.
+
+ PR c++/49253
+ * typeck2.c (build_x_arrow): Don't use build_min_nt.
+
+2010-05-31 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/48010
+ * name-lookup.c (supplement_binding_1): If the old binding was a
+ type name, also check that the DECL actually refers to the same
+ type or is not a type.
+
+2011-05-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/44870
+ * tree.c (lvalue_kind): Recurse on NON_DEPENDENT_EXPR. Handle
+ ARROW_EXPR, TYPEID_EXPR, and arbitrary class-valued expressions.
+ (build_min_non_dep): Preserve reference refs.
+ (build_min_non_dep_call_vec): Likewise
+
+2011-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49223
+ * semantics.c (finish_omp_clauses): Call require_complete_type
+ even for copyin/copyprivate clauses. Only call
+ cxx_omp_create_clause_info if inner_type is COMPLETE_TYPE_P.
+
+2011-05-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/46124
+ * parser.c (cp_parser_lambda_expression): Improve error recovery.
+ (cp_parser_lambda_declarator_opt): Likewise. Return bool.
+
+2011-05-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/47277
+ * parser.c (cp_parser_pseudo_destructor_name): Commit to parse
+ after we see the ~.
+
+ * mangle.c (mangle_decl_string): Make sure we don't try to mangle
+ templates.
+
+ PR c++/47049
+ * semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing.
+ * decl.c (start_preparsed_function): Don't call comdat_linkage for
+ a template.
+
+ PR c++/47132
+ * mangle.c (write_expression): Handle MODOP_EXPR.
+
+ PR c++/47277
+ * parser.c (cp_parser_unqualified_id): Don't check
+ constructor_name_p for enums.
+
+ PR c++/47687
+ * pt.c (dependent_type_p_r): Avoid infinite recursion.
+
+ PR c++/48284
+ * error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot
+ with INDIRECT_REF of REFERENCE_TYPE.
+
+ PR c++/49181
+ * pt.c (get_mostly_instantiated_function_type): Use push_access_scope.
+
+2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.h (building_stmt_tree): Delete.
+ * decl.c (save_function_data): Tweak initializer for x_cur_stmt_list.
+ (build_aggr_init_full_exprs): Call building_stmt_list_p
+ instead of building_stmt_tree.
+ (initialize_local_var): Likewise.
+ (finish_function): Likewise.
+ * decl2.c (finish_anon_union): Likewise.
+ * init.c (begin_init_stmts): Likewise.
+ (finish_init_stmts): Likewise.
+ (expand_aggr_init_1): Likewise.
+ * name-lookup.c (do_local_using_decl): Likewise.
+ (do_namespace_alias): Likewise.
+ (do_using_directive): Likewise.
+ (cp_emit_debug_info_for_using): Likewise.
+ * semantics.c (add_stmt): Assert that stmt_list_stack is non-empty.
+
+2011-05-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/42056
+ * typeck2.c (build_functional_cast): Complain early for invalid uses
+ of 'auto' and set type to error_mark_node.
+
+2011-05-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/47721
+ * parser.c (cp_parser_member_declaration): Allow friend T.
+ * friend.c (make_friend_class): Ignore non-classes.
+ * pt.c (instantiate_class_template_1): Handle TEMPLATE_TYPE_PARM.
+
+ DR 1004
+ * pt.c (convert_template_argument): Don't complain about using
+ injected-class-name as template template argument.
+
+ PR c++/47956
+ * decl.c (check_static_variable_definition): Now static.
+ (cp_finish_decl): Call it here.
+ (grokdeclarator): Not here.
+ * pt.c (instantiate_class_template_1): Or here.
+ * cp-tree.h: Don't declare it.
+
+2011-05-26 Janis Johnson <janis187@us.ibm.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/2288
+ PR c++/18770
+ * name-lookup.h (enum scope_kind): Add sk_cond.
+ * name-lookup.c (pushdecl_maybe_friend): Get scope of shadowed local.
+ Detect and report error for redeclaration from for-init or if
+ or switch condition.
+ (begin_scope): Handle sk_cond.
+ * semantics.c (begin_if_stmt): Use sk_cond.
+ (begin switch_stmt): Ditto.
+
+2011-05-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/48211
+ * name-lookup.h (cp_class_binding): Make base a pointer.
+ * name-lookup.c (new_class_binding): Adjust.
+ (poplevel_class): Adjust.
+
+ PR c++/48424
+ * decl.c (grokparms): Function parameter packs don't need to
+ go at the end.
+ * pt.c (type_unification_real): But they aren't deduced otherwise.
+
+2011-05-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/48536
+ * decl.c (build_enumerator): If incremented enumerator won't fit in
+ previous integral type, find one it will fit in.
+
+ PR c++/48599
+ * decl.c (create_array_type_for_decl): Complain about array of auto.
+
+ PR c++/44994
+ PR c++/49156
+ * error.c (dump_template_bindings): Set processing_template_decl
+ for a partial instantiation.
+
+ PR c++/45401
+ * decl.c (grokdeclarator): Don't change type when adding rvalue ref
+ to another reference type.
+
+ PR c++/44311
+ * decl.c (case_conversion): New.
+ (finish_case_label): Use it.
+
+ * ptree.c (cxx_print_xnode): Handle ARGUMENT_PACK_SELECT.
+
+ PR c++/45698
+ * pt.c (dependent_template_arg_p): See through ARGUMENT_PACK_SELECT.
+
+ PR c++/46005
+ * decl.c (grokdeclarator): Complain about auto typedef.
+
+ PR c++/46245
+ * decl.c (grokdeclarator): Complain later for auto parameter.
+ * pt.c (splice_late_return_type): Handle use in a template
+ type-parameter.
+
+ PR c++/46696
+ * typeck.c (cp_build_modify_expr): Check DECL_DEFAULTED_FN.
+
+ PR c++/47184
+ * parser.c (cp_parser_parameter_declaration): Recognize
+ list-initialization.
+ (cp_parser_direct_declarator): Check for the closing
+ paren before parsing definitely.
+
+ PR c++/48935
+ * parser.c (cp_parser_constructor_declarator_p): Don't check
+ constructor_name_p for enums.
+ (cp_parser_diagnose_invalid_type_name): Correct error message.
+
+ PR c++/45418
+ * init.c (perform_member_init): Handle list-initialization
+ of array of non-trivial class type.
+
+ PR c++/45080
+ * pt.c (instantiate_class_template_1): Call maybe_add_lambda_conv_op.
+ * semantics.c (lambda_function): Check COMPLETE_OR_OPEN_TYPE_P.
+
+ PR c++/48292
+ * pt.c (tsubst_decl) [PARM_DECL]: Handle partial instantiation of
+ function parameter pack.
+ (tsubst_pack_expansion): Likewise.
+
+ * cp-objcp-common.c (cp_common_init_ts): TYPE_ARGUMENT_PACK has
+ TS_COMMON.
+
+2011-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-objcp-common.c (cp_common_init_ts): Mark CTOR_INITIALIZER
+ as TS_TYPED.
+
+ PR c++/49136
+ * semantics.c (cxx_eval_bit_field_ref): Handle the
+ case when BIT_FIELD_REF doesn't cover only a single field.
+
+2011-05-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/49042
+ * pt.c (get_mostly_instantiated_function_type): Use
+ push_deferring_access_checks rather than set flag_access_control.
+
+2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>,
+
+ * parser.c (cp_parser_objc_class_ivars): Deal gracefully with a
+ syntax error in declaring an ObjC instance variable.
+
+2011-05-24 Jason Merrill <jason@redhat.com>
+
+ PR c++/48884
+ * class.c (pushclass): Accept NULL argument.
+ (popclass): Deal with popping null class.
+ * pt.c (push_access_scope, pop_access_scope): Use them rather than
+ push_to_top_level/pop_from_top_level.
+ (push_deduction_access_scope, pop_defarg_context): New.
+ (fn_type_unification): Use them.
+ * name-lookup.c (lookup_name_real_1): Check current_class_type.
+
+2011-05-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * decl.c (grokdeclarator): Use current_class_name.
+
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GXX_OBJS): Remove prefix.o.
+ (g++$(exeext)): Use libcommon-target.a.
+ (CXX_C_OBJS): Remove prefix.o.
+
+2011-05-23 Jason Merrill <jason@redhat.com>
+
+ * pt.c (tsubst_copy_and_build): Use current_class_name.
+
+ PR c++/49102
+ * call.c (convert_arg_to_ellipsis): Call force_rvalue.
+
+ PR c++/49105
+ * typeck.c (cp_build_c_cast): Don't strip cv-quals when
+ converting to reference.
+ (build_static_cast_1): Update for glvalues.
+
+ PR c++/49105
+ * typeck.c (build_const_cast_1): Handle rvalue references.
+
+ PR c++/47263
+ * decl.c (use_eh_spec_block): Do use an EH spec block for a
+ lambda op().
+
+ PR c++/49058
+ * call.c (splice_viable): Be strict in templates.
+
+ PR c++/47336
+ * error.c (dump_template_bindings): Suppress access control.
+
+ PR c++/47544
+ * pt.c (instantiate_decl): Handle =default.
+
+ PR c++/48617
+ * pt.c (invalid_nontype_parm_type_p): Allow DECLTYPE_TYPE.
+
+2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ * call.c (build_over_call): Tweak call to check_function_arguments.
+ * typeck.c (cp_build_function_call_vec): Likewise.
+
+2011-05-23 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/18016
+ * init.c (perform_member_init): Check for self-initialization.
+
+2011-05-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/48647
+ * typeck.c (composite_pointer_type_r): Return error_mark_node
+ on error in SFINAE context.
+
+2011-05-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/48945
+ * decl.c (grokdeclarator): Don't add set const function-cv-qual
+ for constexpr fns to memfn_quals, just add it to the type.
+ (revert_static_member_fn): Don't complain about quals.
+ (check_static_quals): New.
+ (grokfndecl): Call it.
+ (start_preparsed_function): Don't call revert_static_member_fn.
+
+ PR c++/48945
+ * decl.c (revert_static_member_fn): Ignore const on constexpr fn.
+
+ PR c++/48780
+ * cvt.c (type_promotes_to): Don't promote scoped enums.
+
+ PR c++/49066
+ * decl.c (duplicate_decls): Preserve DECL_DELETED_FN.
+
+ PR c++/48873
+ * tree.c (stabilize_expr): Fix typo.
+
+ DR 1073
+ PR c++/49082
+ * typeck.c (comp_except_specs): noexcept(false) is not compatible
+ with throw(type-list).
+ * typeck2.c (merge_exception_specifiers): noexcept(false)
+ beats any more limited specification.
+
+ PR c++/24163
+ PR c++/29131
+ * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Avoid repeating
+ unqualified lookup.
+ * semantics.c (perform_koenig_lookup): Add complain parm.
+ * cp-tree.h: Adjust.
+ * parser.c (cp_parser_postfix_expression): Adjust.
+ (cp_parser_perform_range_for_lookup): Adjust.
+
+2011-05-20 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (finish_call_expr): SET_EXPR_LOCATION.
+
+2011-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GXX_OBJS): Remove intl.o and version.o.
+
+2011-05-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49043
+ * decl.c (check_omp_return): Stop searching on sk_function_parms.
+
+ PR c++/48869
+ * method.c (get_dtor, get_copy_ctor): Add COMPLAIN argument,
+ pass it down to locate_fn_flags.
+ * cp-tree.h (get_dtor, get_copy_ctor): Adjust prototypes.
+ * semantics.c (cxx_omp_create_clause_info): Adjust callers.
+ * cp-gimplify.c: Include splay-tree.h.
+ (splay_tree_compare_decl_uid, omp_var_to_track,
+ omp_cxx_notice_variable): New functions.
+ (struct cp_genericize_omp_taskreg): New type.
+ (struct cp_genericize_data): Add omp_ctx field.
+ (cp_genericize_r): Attempt to determine implicitly determined
+ firstprivate class type variables.
+ (cp_genericize): Clear omp_ctx.
+ * Make-lang.in (cp/cp-gimplify.o): Depend on $(SPLAY_TREE_H).
+
+2011-05-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/48948
+ PR c++/49015
+ * class.c (finalize_literal_type_property): Do check
+ for constexpr member functions of non-literal class.
+ (finish_struct): Don't call check_deferred_constexpr_decls.
+ * cp-tree.h: Don't declare it.
+ (DECL_DEFERRED_CONSTEXPR_CHECK): Remove.
+ * decl.c (grok_special_member_properties): Don't check it
+ (grokfnedcl): Don't call validate_constexpr_fundecl.
+ (start_preparsed_function): Do call it.
+ * pt.c (tsubst_decl): Don't call it.
+ (instantiate_class_template_1): Don't call
+ check_deferred_constexpr_decls.
+ * semantics.c (literal_type_p): Check for any incompleteness.
+ (ensure_literal_type_for_constexpr_object): Likewise.
+ (is_valid_constexpr_fn): Revert deferral changes.
+ (validate_constexpr_fundecl): Likewise.
+ (register_constexpr_fundef): Likewise.
+ (check_deferred_constexpr_decls): Remove.
+
+2011-05-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/48969
+ * pt.c (deduction_tsubst_fntype): Use a VEC initially.
+
+2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * cxx-pretty-print.c: Update comment.
+ * semantics.c (trait_expr_value, finish_trait_expr):
+ Reorder the cases.
+ * parser.c (cp_parser_primary_expression): Likewise.
+
+2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/48994
+ * parser.c (cp_parser_perform_range_for_lookup): Call complete_type.
+
+2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement final on class.
+ * class.c (check_bases): Diagnose derivation from a final class.
+ * cp-tree.h (lang_type_class): Add is_final and adjust dummy.
+ (CLASSTYPE_FINAL): New.
+ * parser.c (cp_parser_class_head): Parse class-virt-specifier, set
+ CLASSTYPE_FINAL.
+ * pt.c (instantiate_class_template_1): Copy CLASSTYPE_FINAL.
+
+2011-05-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/48969
+ * pt.c (deduction_tsubst_fntype): New.
+ (fn_type_unification): Use it.
+ (init_template_processing): Initialize hash table.
+ (print_template_statistics): Print hash table stats.
+
+ * call.c (build_op_call): Use timevar_cond_start/stop.
+ (build_user_type_conversion): Likewise.
+
+2011-05-12 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
+ * semantics.c (validate_constexpr_fundecl): Set it.
+ (check_deferred_constexpr_decls): Clear it.
+ (register_constexpr_fundef): Make sure it isn't set.
+ * decl.c (grok_special_member_properties): Check it.
+
+2011-05-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/48948
+ * semantics.c (validate_constexpr_fundecl): Defer checking if
+ an argument type is being defined.
+ (is_valid_constexpr_fn): Add defer_ok parm.
+ (cxx_eval_call_expression): Adjust.
+ (check_deferred_constexpr_decls): New.
+ (literal_type_p): Make sure type isn't being defined.
+ (ensure_literal_type_for_constexpr_object): Handle type being defined.
+ * cp-tree.h: Declare check_deferred_constexpr_decls.
+ * decl.c (grokfndecl): Call validate_constexpr_fundecl here.
+ (start_preparsed_function, cp_finish_decl): Not here.
+ * class.c (finalize_literal_type_property): Don't call
+ validate_constexpr_fundecl.
+ (finish_struct): Call check_deferred_constexpr_decls.
+ * pt.c (tsubst_decl): Call validate_constexpr_fundecl.
+ (instantiate_class_template): Call check_deferred_constexpr_decls.
+
+ * semantics.c (validate_constexpr_fundecl): Check DECL_TEMPLATE_INFO
+ rather than DECL_TEMPLATE_INSTANTIATION.
+ (cxx_eval_call_expression): Likewise.
+
+ * semantics.c (register_constexpr_fundef): Add to hash table here.
+ (validate_constexpr_fundecl): Not here.
+
+ * decl.c (grokdeclarator): Only set DECL_DECLARED_CONSTEXPR_P once.
+
+ * pt.c (build_non_dependent_expr): Don't check null_ptr_cst_p,
+ do call maybe_constant_value in C++0x mode.
+ * semantics.c (cxx_eval_constant_expression): Handle TEMPLATE_DECL.
+
+ PR c++/48745
+ * pt.c (value_dependent_expr_p): Handle CONSTRUCTOR.
+
+2011-05-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use
+ TYPE_VALUES_RAW.
+ (UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise.
+ (DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise.
+ (TEMPLATE_TYPE_PARM_INDEX): Likewise.
+
+2011-05-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/48930
+ * class.c (type_build_ctor_call): New.
+ * cp-tree.h: Declare it.
+ * decl.c (check_initializer): Use it instead of
+ TYPE_NEEDS_CONSTRUCTING.
+ * init.c (build_value_init, build_value_init_noctor): Likewise.
+ (perform_member_init, expand_aggr_init_1, build_new_1): Likewise.
+ (build_vec_init): Likewise.
+ * typeck2.c (process_init_constructor_array): Likewise.
+ (process_init_constructor_record): Likewise.
+
+ PR c++/48736
+ * pt.c (tsubst_copy_and_build): Handle substitution of a pack
+ expansion producing another expansion.
+
+2011-05-10 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Fixes for override/final.
+ * class.c (check_for_override): Diagnose final on a nonvirtual
+ member function, diagnose override for a virtual with no matching
+ override. Don't fiddle around with DECL_VINDEX.
+
+2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
+ * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
+ * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
+ operand of EXPR_PACK_EXPANSION.
+ (cp_tree_operand_length): Declare.
+ * tree.c (cp_tree_operand_length): Define.
+ (cp_tree_equal): Call it.
+ * pt.c (value_dependent_expr_P): Likewise.
+ * mangle.c (write_expression): Likewise.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48737
+ PR c++/48744
+ * decl.c (reshape_init): Take a complain parameter and do
+ not call error if tf_error is not set.
+ (check_initializer, reshape_init_r, reshape_init_array,
+ reshape_init_array_1, reshape_init_vector, reshape_init_class):
+ Adjust.
+ * typeck2.c (digest_init_r): Take a complain parameter and
+ pass it to convert_for_initialization.
+ (digest_init, digest_init_flags, process_init_constructor_array,
+ process_init_constructor_record, process_init_constructor_union,
+ process_init_constructor, digest_init_r): Adjust.
+ * init.c (expand_default_init, build_new_1): Likewise.
+ * typeck.c (cp_build_modify_expr): Likewise.
+ * decl2.c (grokfield): Likewise.
+ * call.c (convert_like_real, convert_default_arg): Likewise.
+ * semantics.c (finish_compound_literal): Pass complain to
+ reshape_init and digest_init.
+ * cp-tree.h: Adjust declarations.
+
+2011-05-07 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/48859
+ * init.c (diagnose_uninitialized_cst_or_ref_member_1): stop the
+ recursion if there is user defined constructor.
+
+2011-05-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/34772
+ * decl.c (initialize_local_var): Use DECL_INITIAL for simple
+ initialization.
+
+2011-05-08 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ Implement final/override for member functions.
+ * class.c (check_for_override): Check for DECL_OVERRIDE_P.
+ * cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
+ (cp_virt_specifiers, enum virt_specifier): New.
+ * decl.c (set_virt_specifiers): New.
+ (grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
+ * parser.c (make_call_declarator): add virt-specifiers parameter.
+ (cp_parser_lambda_declarator_opt): Adjust.
+ (cp_parser_direct_declarator): Likewise.
+ (cp_parser_virt_specifier_seq_opt): New.
+ * search.c (check_final_overrider): Diagnose attempts to override
+ a final member function.
+
+2011-05-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48574
+ * class.c (fixed_type_or_null): Use type_dependent_p_push to test
+ if the instance has a dependent initializer.
+
+2011-05-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48816
+ * cxx-pretty-print.c (pp_cxx_template_declaration): Remove
+ effectively unused variable.
+
+2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * name-lookup.h (global_bindings_p): Adjust prototype.
+ * name-lookup.c (global_bindings_p): Return bool.
+
+2011-05-06 Jason Merrill <jason@redhat.com>
+
+ * decl.c (stabilize_save_expr_r): Set *walk_subtrees as
+ appropriate.
+
+ PR c++/48909
+ * semantics.c (cxx_eval_conditional_expression): Check
+ integer_zerop instead.
+ (potential_constant_expression_1): Likewise.
+
+ PR c++/48911
+ * semantics.c (cxx_eval_array_reference): Handle implicit
+ initializers.
+
+2011-05-06 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.h (type_of_this_parm, class_of_this_parm): New functions.
+ * call.c (standard_conversion): Call class_of_this_parm.
+ * cxx-pretty-print.c (pp_cxx_implicit_parameter_type): Likewise.
+ (pp_cxx_direct_abstract_declarator): Likewise.
+ * decl2.c (change_return_type): Likewise.
+ (cp_reconstruct_complex_type): Likewise.
+ * error.c (dump_type_suffix, dump_function_decl): Likewise.
+ * mangle.c (write_function_type): Likewise.
+ * pt.c (unify): Likewise.
+ * typeck.c (merge_types, type_memfn_quals): Likewise.
+ * decl.c (build_this_parm): Call type_of_this_parm.
+
+2011-05-06 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48838
+ * cp-tree.h (non_static_member_function_p): Declare new function.
+ * tree.c (non_static_member_function_p): Define it.
+ * semantics.c (finish_call_expr): Use it.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * decl.c (finish_case_label): Omit the loc argument to
+ build_case_label.
+
+2011-05-05 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (REFERENCE_REF_P): Just check the type.
+ * cvt.c (convert_from_reference): Adjust.
+ * pt.c (build_non_dependent_expr): Adjust.
+ * semantics.c (finish_offsetof): Adjust.
+ * tree.c (lvalue_kind): Use it.
+
+ PR c++/48873
+ * tree.c (stabilize_expr): Don't make gratuitous copies of classes.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (start_preparsed_function): Do not set
+ dont_save_pending_sizes_p.
+
+2011-05-05 Joseph Myers <joseph@codesourcery.com>
+
+ * parser.c (cp_parser_objc_method_definition_list): Update call to
+ objc_start_method_definition.
+
+2011-05-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/48749
+ * class.c (resolves_to_fixed_type_p): Don't look closely
+ in templates.
+
+2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/28501
+ * call.c (add_builtin_candidate): Handle REALPART_EXPR and
+ IMAGPART_EXPR.
+
+2011-05-02 Lawrence Crowl <crowl@google.com>
+
+ * decl.c: (push_local_name): Change TV_NAME_LOOKUP to start/stop.
+ (poplevel): Refactor POP_TIMEVAR_AND_RETURN to plain code.
+ Change TV_NAME_LOOKUP to start/stop.
+ (define_label): Refactor timevar calls out to a wrapper function.
+ Change TV_NAME_LOOKUP to start/stop.
+ (xref_tag): Likewise.
+ (lookup_label): Refactor timevar calls out to a wrapper function.
+ Change TV_NAME_LOOKUP to start_cond/stop_cond.
+
+ * pt.c: (instantiate_class_template): Add a wrapper to push/pop new
+ TV_TEMPLATE_INST.
+ (instantiate_template): Add a wrapper to push/pop new TV_TEMPLATE_INST.
+ (lookup_template_class): Refactor timevar calls out to a wrapper
+ function. Change use of TV_NAME_LOOKUP to TV_TEMPLATE_INST.
+ (instantiate_decl): Change TV_PARSE to TV_TEMPLATE_INST.
+
+ * name-lookup.c: (store_bindings): Change TV_NAME_LOOKUP to start/stop.
+ (poplevel_class): Change TV_NAME_LOOKUP to start_cond/stop_cond.
+ (push_namespace): Likewise.
+ (pop_nested_namespace): Likewise.
+ (pushdecl_namespace_level): Likewise.
+ (store_class_bindings): Likewise.
+ (push_to_top_level): Likewise.
+ (identifier_type_value): Refactor timevar calls out to a wrapper
+ function. Change TV_NAME_LOOKUP to start/stop.
+ (find_binding): Likewise.
+ (push_using_decl): Likewise.
+ (lookup_arg_dependent): Likewise.
+ (push_using_directive): Likewise.
+ (qualified_lookup_using_namespace): Refactor POP_TIMEVAR_AND_RETURN
+ to plain code. Change TV_NAME_LOOKUP to start/stop.
+ (lookup_type_current_level): Likewise. Refactor inner return to
+ break.
+ (pushdecl_class_level): Refactor POP_TIMEVAR_AND_RETURN to plain
+ code. Change TV_NAME_LOOKUP to start_cond/stop_cond.
+ (pushdecl_top_level_1): Likewise.
+ (lookup_using_namespace): Likewise.
+ (pushdecl_with_scope): Refactor timevar calls out to a wrapper
+ function. Change TV_NAME_LOOKUP to start_cond/stop_cond.
+ (push_overloaded_decl): Likewise.
+ (push_class_level_binding): Likewise.
+ (namespace_binding): Likewise.
+ (set_namespace_binding): Likewise.
+ (supplement_binding): Likewise.
+ (unqualified_namespace_lookup): Likewise.
+ (lookup_name_real): Likewise.
+ (lookup_type_scope): Likewise.
+ (namespace_ancestor): Likewise.
+ (lookup_name_innermost_nonclass_level): Likewise.
+ (pushtag): Likewise.
+ (pop_from_top_level): Likewise.
+ (pushdecl_maybe_friend): Refactor timevar calls out to a wrapper
+ function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Wrap long
+ lines.
+ (add_using_namespace): Refactor timevar calls out to a wrapper
+ function. Change TV_NAME_LOOKUP to start_cond/stop_cond. Bypass
+ wrapper on call to self.
+
+ * decl2.c: (cp_write_global_declarations): Add start/stop of
+ new TV_PHASE_DEFERRED, TV_PHASE_CGRAPH, TV_PHASE_CHECK_DBGINFO.
+ Remove push/pop calls to TV_VARCONST.
+
+ * parser.c: Add include of "timevar.h".
+ (cp_parser_explicit_instantiation): Add push/pop calls to
+ TV_TEMPLATE_INST.
+ (cp_parser_enum_specifier): Add push/pop calls to new TV_PARSE_ENUM.
+ (cp_parser_class_specifier): Add wrapper to add push/pop calls to
+ TV_PARSE_STRUCT.
+ (cp_parser_function_definition_from_specifiers_and_declarator): Add
+ push/pop calls to new TV_PARSE_FUNC or TV_PARSE_INLINE.
+ (cp_parser_late_parsing_for_member): Add push/pop calls to
+ new TV_PARSE_INMETH.
+
+ * call.c: Add include of "timevar.h".
+ (convert_class_to_reference): Wrap and add push/pop calls to
+ TV_OVERLOAD.
+ (build_op_call): Likewise.
+ (build_conditional_expr): Likewise.
+ (build_new_op): Likewise.
+ (build_new_method_call): Likewise.
+ (build_user_type_conversion): Reorganize to single return and add
+ push/pop calls to TV_OVERLOAD.
+ (perform_overload_resolution): Likewise.
+
+ * Make-lang.in: Add dependence of call.o and parser.o on $(TIMEVAR_H).
+
+2011-05-02 Jason Merrill <jason@redhat.com>
+
+ * tree.c (build_vec_init_expr): Take complain parm.
+ (build_vec_init_elt): Likewise. Free arg vector.
+ (diagnose_non_constexpr_vec_init, build_array_copy): Adjust.
+ * cp-tree.h (VEC_INIT_EXPR_SLOT): Use VEC_INIT_EXPR_CHECK.
+ (VEC_INIT_EXPR_INIT): Likewise.
+ Adjust build_vec_init_expr declaration.
+ * init.c (perform_member_init): Adjust.
+
+ Revert:
+ PR c++/40975
+ * cp-tree.def (VEC_INIT_EXPR): Add third operand.
+ * cp-tree.h (VEC_INIT_EXPR_NELTS): New.
+ * cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
+ * tree.c (build_vec_init_expr): Handle getting pointer/nelts.
+ (build_vec_init_elt): Don't expect an array type.
+ (build_array_copy): Adjust.
+ * init.c (perform_member_init): Adjust.
+ (build_new_1): Use build_vec_init_expr.
+
+ PR c++/48834
+ * tree.c (build_vec_init_expr): Set TREE_SIDE_EFFECTS.
+ Protect an explicit target.
+
+ PR c++/48446
+ * decl.c (stabilize_save_expr_r, stabilize_vla_size): New.
+ (compute_array_index_type): Revert earlier 48446 changes.
+ (grokdeclarator): Use stabilize_vla_size.
+
+2011-05-02 Dmitry Gorbachev <d.g.gorbachev@gmail.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * parser.c (cp_parser_init_declarator): Set pushed_scope to NULL_TREE
+ instead of inappropriate zero values.
+
+2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47969
+ * decl.c (compute_array_index_type): Check build_expr_type_conversion
+ return value for NULL_TREE.
+
+2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48606
+ * init.c (perform_member_init): Check build_value_init return
+ value for error_mark_node.
+
+2011-04-29 Diego Novillo <dnovillo@google.com>
+ Le-Chun Wu <lcwu@google.com>
+
+ * call.c (conversion_null_warnings): Also handle assignments
+ when warning about NULL conversions.
+
+2011-04-29 Le-Chun Wu <lcwu@google.com>
+
+ * cp-tree.h (LOOKUP_EXPLICIT_TMPL_ARGS): Define.
+ * call.c (build_new_function_call): Set it for TEMPLATE_ID_EXPRs.
+ (build_over_call): Use it to determine whether to emit a NULL
+ warning for template function instantiations.
+ (build_new_method_call): Set LOOKUP_EXPLICIT_TMPL_ARGS if
+ EXPLICIT_TARGS is set.
+
+2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>,
+ Mike Stump <mikestump@comcast.net>
+
+ * Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only
+ in maintainer mode. Use the --output-file option of gperf instead
+ of > to prevent creating an empty cp/cfns.h when gperf is not
+ available.
+
+2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48798
+ * semantics.c (finish_base_specifier): cv-qualified base class
+ is fine, per DR 484.
+
+2011-04-28 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48656
+ * semantics.c (finish_call_expr): Don't forget BASELINK nodes when
+ considering call expressions involving a member function.
+
+2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48530
+ * tree.c (build_cplus_new): Check build_target_expr return
+ value for error_mark_node.
+
+2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48771
+ * semantics.c (literal_type_p): Reference types are literal types,
+ per the FDIS.
+ (valid_type_in_constexpr_fundecl_p): Remove.
+ (is_valid_constexpr_fn): Adjust.
+
+2011-04-27 Jason Merrill <jason@redhat.com>
+
+ PR libstdc++/48760
+ Implement list-initialization of _Complex.
+ * decl.c (reshape_init_r): Allow {real,imag} for _Complex.
+ (check_initializer): Likewise.
+ * call.c (build_complex_conv): New.
+ (implicit_conversion): Call it.
+ (convert_like_real): Handle it.
+ * typeck2.c (check_narrowing): Handle it.
+
+ * init.c (build_vec_delete_1): Look for sfk_deleting_destructor to
+ decide whether to delete.
+ (build_vec_init): Pass sfk_complete_destructor.
+
+ PR c++/40975
+ * cp-tree.def (VEC_INIT_EXPR): Add third operand.
+ * cp-tree.h (VEC_INIT_EXPR_NELTS): New.
+ * cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it.
+ * tree.c (build_vec_init_expr): Handle getting pointer/nelts.
+ (build_vec_init_elt): Don't expect an array type.
+ (build_array_copy): Adjust.
+ * init.c (perform_member_init): Adjust.
+ (build_new_1): Use build_vec_init_expr.
+
+ * class.c (resolve_address_of_overloaded_function): Don't
+ change OVERLOAD to TREE_LIST.
+ * pt.c (print_candidates_1): Remove nonsensical assert.
+
+ PR c++/48046
+ * parser.c (cp_parser_diagnose_invalid_type_name): Commit
+ to tentative parse sooner.
+
+2011-04-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/42687
+ * parser.c (cp_parser_primary_expression): Set *idk to
+ CP_ID_KIND_NONE for a parenthesized identifier.
+
+ * ptree.c (cxx_print_type) [TYPENAME_TYPE]: Dump fullname.
+ (cxx_print_identifier): Correct indentation.
+
+ PR c++/48530
+ * decl.c (cxx_maybe_build_cleanup): Add complain parm.
+ * tree.c (force_target_expr): Add complain parm.
+ (build_target_expr_with_type): Likewise.
+ (get_target_expr_sfinae): Split out.
+ (build_vec_init_expr, bot_manip): Adjust.
+ * init.c (build_vec_delete, build_vec_delete_1): Add complain parm.
+ (build_delete, build_dtor_call): Likewise.
+ (perform_direct_initialization_if_possible): Adjust.
+ (build_vec_init): Handle error return.
+ * cvt.c (force_rvalue): Add complain parm.
+ Call build_special_member_call directly.
+ * decl2.c (delete_sanity): Add complain parm.
+ (build_cleanup): Adjust.
+ * pt.c (tsubst_copy_and_build, tsubst_expr): Adjust.
+ * semantics.c (finish_stmt_expr_expr): Adjust.
+ (finish_compound_literal): Adjust.
+ * parser.c (cp_parser_delete_expression): Adjust.
+ * typeck2.c (build_functional_cast): Adjust.
+ * cp-tree.h: Adjust.
+
+2011-04-26 Martin Jambor <mjambor@suse.cz>
+
+ * class.c (cp_fold_obj_type_ref): Remove.
+ * cp-tree.h (cp_fold_obj_type_ref): Remove declaration.
+
+2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * cp-tree.def: Add a new UNDERLYING_TYPE tree code.
+ * cp-tree.h (enum cp_trait_kind): Add CPTK_UNDERLYING_TYPE, tidy.
+ (UNDERLYING_TYPE_TYPE): Add.
+ * cp-objcp-common.c (cp_common_init_ts): Mark UNDERLYING_TYPE
+ as TS_COMMON.
+ * parser.c (cp_lexer_next_token_is_decl_specifier_keyword,
+ cp_parser_simple_type_specifier): Handle UNDERLYING_TYPE.
+ (cp_parser_trait_expr): Deal with RID_UNDERLYING_TYPE; tidy.
+ * semantics.c (finish_underlying_type): New.
+ * typeck.c (structural_comptypes): Handle UNDERLYING_TYPE.
+ * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
+ * cxx-pretty-print.c (p_cxx_type_id): Likewise.
+ * tree.c (cp_walk_subtrees): Likewise.
+ * pt.c (for_each_template_parm_r, tsubst, unify,
+ dependent_type_p_r): Likewise.
+ * mangle.c (write_type): Sorry for __underlying_type.
+
+2011-04-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/48707
+ * decl.c (type_dependent_init_p): New.
+ (cp_finish_decl): Check it.
+ * pt.c (any_type_dependent_elements_p): New.
+ * cp-tree.h: Declare it.
+
+2011-04-20 Jason Merrill <jason@redhat.com>
+
+ * semantics.c (finish_compound_literal): Don't put an array
+ with a dtor in a static variable.
+
+ * call.c (build_over_call): Handle trivial dtor.
+
+ * search.c (lookup_fnfields_slot): Call complete_type.
+
+ PR c++/48594
+ * decl2.c (build_offset_ref_call_from_tree): Move
+ non-dependency of object outside condition.
+
+ PR c++/48657
+ * decl.c (cp_finish_decl): Simplify template handling.
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ * tree.c (cxx_printable_name_internal): Remove useless if-before-free.
+
+2011-04-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/46304
+ * typeck.c (cp_build_binary_op): Fold COMPLEX_EXPR.
+
+ PR c++/45267
+ * decl.c (duplicate_decls): Keep always_inline attribute
+ in sync with DECL_DISREGARD_INLINE_LIMITS.
+
+2011-04-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/48569
+ * typeck2.c (build_functional_cast): Handle VOID_TYPE.
+
+ PR c++/48537
+ * init.c (build_value_init): Handle UNION_TYPE the same.
+
+2011-04-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/48632
+ * parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr
+ for type dependent pointers.
+
+2011-04-18 Jim Meyering <meyering@redhat.com>
+
+ * pt.c (type_unification_real): Fix typo in comment: s/in in/in/.
+
+2011-04-17 Jan Hubicka <jh@suse.cz>
+
+ * semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
+ gotos.
+
+2011-04-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/48531
+ * typeck2.c (build_functional_cast): Disallow array type.
+
+ * tree.c (get_target_expr): Handle VEC_INIT_EXPR.
+
+2011-04-17 Jan Hubicka <jh@suse.cz>
+
+ * class.c (cp_fold_obj_type_ref): Drop vtable_method.
+
+2011-04-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ Implement N3271
+ * parser.c (cp_convert_range_for): Split into
+ cp_parser_perform_range_for_lookup.
+ (cp_parser_perform_range_for_lookup): New.
+ (cp_parser_range_for_member_function): New.
+ (cp_parser_for_init_statement): Correct error message.
+ * semantics.c (finish_call_expr): Accept COMPONENT_REF.
+
+2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * parser.c (cp_parser_objc_protocol_declaration): Updated for
+ change from objc_declare_protocols() to objc_declare_protocol().
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR objc++/48479
+ * typeck.c (cxx_mark_addressable) [CONST_DECL]: Mark addressable
+ and return immediately.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.def (SWITCH_STMT): Add an extra operand.
+ * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
+ * cp-tree.h (SWITCH_STMT_SCOPE): Define.
+ * semantics.c (begin_switch__stmt): Pass scope to build_stmt.
+ (finish_switch_stmt): Use SWITCH_STMT_SCOPE instead of TREE_CHAIN.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.def (IF_STMT): Add an extra operand.
+ * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
+ * cp-tree.h (IF_SCOPE): Define.
+ * semantics.c (begin_if_stmt): Pass scope to build_stmt.
+ (finish_if_stmt): Use IF_SCOPE instead of TREE_CHAIN.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-tree.def (FOR_STMT, RANGE_FOR_STMT): Add an extra operand.
+ * cp-objcp-common.c (cp_common_init_ts): Mark them as TS_TYPED.
+ * cp-tree.h (FOR_SCOPE, RANGE_FOR_SCOPE): Define.
+ * semantics.c (begin_for_stmt): Pass an extra arg to build_stmt.
+ Use FOR_SCOPE instead of TREE_CHAIN.
+ (begin_range_for_stmt): Likewise, with RANGE_FOR_SCOPE.
+ (finish_for_stmt): Likewise.
+
+2011-04-14 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_postfix_expression): Fix flags passed to
+ build_new_method_call.
+ * semantics.c (finish_call_expr): Likewise.
+
+ PR c++/48531
+ * init.c (build_value_init_noctor): Check complain consistently.
+
+ PR c++/48557
+ * typeck.c (cp_build_binary_op): Don't decay void operands.
+
+ PR c++/48446
+ * decl.c (compute_array_index_type): Use get_temp_regvar instead
+ of variable_size.
+ * init.c (get_temp_regvar): No longer static.
+ * cp-tree.h: Declare it.
+
+2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * parser.c (cp_parser_objc_class_declaration): Updated for change
+ in objc_declare_class().
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * decl.c (poplevel): Use block_chainon.
+
+2011-04-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/48594
+ * decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
+ or pointer to (non-member) function.
+
+2011-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/48570
+ * semantics.c (cxx_eval_array_reference): Handle reading from
+ wchar_t, char16_t and char32_t STRING_CST.
+
+2011-04-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48574
+ * class.c (fixed_type_or_null): We cannot determine the dynamic
+ type of a reference variable if its initializer is dependent.
+
+2011-04-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/48581
+ * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't complain about
+ unqualified lookup failing if we're still in a template.
+
+2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * cp-lang.c (cp_init_ts): Call cp_common_init_ts. Move
+ tree_contains_struct initialization to...
+ * cp-objcp-common.c (cp_common_init_ts): ...here. Use MARK_*
+ macros.
+ * cp-objcp-common.h (cp_common_init_ts): Declare.
+ * cp-tree.h (union lang_tree_node): Check for TS_COMMON before
+ calling TREE_CHAIN.
+
+2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * parser.c (cp_parser_objc_message_expression): Updated call
+ to objc_build_message_expr.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of
+ cgraph_get_create_node.
+ * decl2.c (cp_write_global_declarations): Call cgraph_get_node
+ instead of cgraph_get_create_node.
+ * method.c (make_alias_for_thunk): Call cgraph_get_node
+ instead of cgraph_get_create_node, assert it returns non-NULL.
+ (use_thunk): Likewise.
+ * optimize.c (maybe_clone_body): Call cgraph_same_body_alias only
+ when flag_syntax_only is not set. Call cgraph_get_node instead of
+ cgraph_get_create_node.
+ (maybe_clone_body): Call cgraph_get_node instead of
+ cgraph_get_create_node.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * class.c (cp_fold_obj_type_ref): Call cgraph_get_create_node
+ instead of cgraph_node.
+ * decl2.c (cxx_callgraph_analyze_expr): Likewise.
+ (cp_write_global_declarations): Likewise.
+ * optimize.c (maybe_clone_body): Likewise.
+ * semantics.c (maybe_add_lambda_conv_op): Likewise.
+ * mangle.c (mangle_decl): Likewise.
+ * method.c (make_alias_for_thunk): Likewise.
+ (use_thunk): Likewise.
+
+2011-04-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/48535
+ * decl.c (cp_complete_array_type_or_error): New.
+ * semantics.c (finish_compound_literal): Use it.
+ * cp-tree.h: Declare it.
+
+ PR c++/48535
+ * semantics.c (finish_compound_literal): Handle references.
+
+ PR c++/48535
+ * semantics.c (finish_compound_literal): Take complain parm.
+ (build_lambda_object): Adjust.
+ * cp-tree.h: Adjust.
+ * call.c (convert_like_real): Adjust.
+ * decl.c (check_initializer): Adjust.
+ * parser.c (cp_parser_postfix_expression): Adjust.
+ (cp_parser_functional_cast): Adjust.
+ * pt.c (tsubst_copy_and_build): Adjust.
+ * typeck2.c (process_init_constructor_record): Adjust.
+
+ PR c++/48534
+ * cvt.c (ocp_convert): Use build_nop to convert to underlying type
+ of scoped enum.
+
+ PR c++/48523
+ * tree.c (maybe_dummy_object): Use build_x_indirect_ref rather
+ than cp_build_indirect_ref.
+
+ PR c++/48457, Core 1238
+ * call.c (reference_binding): Allow rvalue reference to bind to
+ function lvalue.
+ * tree.c (lvalue_kind): Functions are always lvalues.
+
+2011-04-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/48500
+ * semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check
+ arguments even if we don't know the function.
+
+ PR c++/48481
+ * tree.c (build_overload): Allow an unwrapped FUNCTION_DECL
+ at the end of the chain.
+ * pt.c (dependent_template_p): Use OVL_CURRENT/NEXT.
+ (iterative_hash_template_arg): Likewise.
+
+ PR c++/48481
+ * cp-tree.h (OVL_ARG_DEPENDENT): New.
+ * name-lookup.c (add_function): Set it.
+ * semantics.c (finish_call_expr): Free OVERLOADs if it's set.
+
+ PR c++/48481
+ * call.c (build_user_type_conversion_1): Use lookup_fnfields_slot.
+ Release unused vector.
+
+ PR c++/48451
+ * pt.c (fn_type_unification): Don't clear incomplete pack flag.
+ (type_unification_real): Clear it here instead.
+
+ PR c++/48468
+ * except.c (build_noexcept_spec): Propagate error_mark_node.
+ (finish_noexcept_expr): Likewise.
+
+ PR c++/48452
+ * typeck.c (build_x_compound_expr_from_list): Return error_mark_node
+ in SFINAE context.
+
+ PR c++/48450
+ * call.c (resolve_args): Take complain.
+ (build_new_function_call, build_operator_new_call): Pass it.
+ (build_op_call, build_new_op, build_new_method_call): Pass it.
+
+ PR c++/48450
+ * typeck.c (check_for_casting_away_constness): Take complain.
+ (build_static_cast_1, build_reinterpret_cast_1): Pass it.
+ (build_const_cast_1): Pass it. Take full complain parm.
+ (build_const_cast, cp_build_c_cast): Adjust.
+
+ * tree.c (build_aggr_init_expr): Always return error_mark_node
+ on abstract violation.
+
+ PR c++/48450
+ * tree.c (build_cplus_new, build_aggr_init_expr): Take complain.
+ (bot_manip): Adjust.
+ * cp-tree.h: Adjust.
+ * call.c (convert_like_real, build_cxx_call): Adjust.
+ (perform_direct_initialization_if_possible): Adjust.
+ * cvt.c (ocp_convert): Adjust.
+ * init.c (build_value_init): Adjust.
+ * semantics.c (maybe_add_lambda_conv_op): Adjust.
+ * typeck.c (unary_complex_lvalue, cp_build_modify_expr): Adjust.
+ * typeck2.c (build_functional_cast): Adjust.
+
+ * init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top
+ level.
+ (perform_member_init): Not here.
+ * typeck2.c (build_functional_cast): Limit REFERENCE_TYPE special
+ case to templates.
+ (abstract_virtuals_error_sfinae): Remove RESULT_DECL special case.
+
+ PR c++/48449
+ * typeck2.c (build_functional_cast): Check complain consistently.
+ Use build_value_init and abstract_virtuals_error_sfinae.
+ (abstract_virtuals_error_sfinae): Split out.
+ * cp-tree.h: Declare it.
+ * init.c (build_new_1): Use it.
+ (build_value_init_noctor): Handle FUNCTION_TYPE.
+
+ * semantics.c (finish_decltype_type): Simplify handling of unknown
+ type.
+
+ * semantics.c (finish_decltype_type): Add complain parm.
+ * cp-tree.h: Adjust.
+ * parser.c (cp_parser_decltype): Adjust.
+ * pt.c (tsubst): Adjust.
+
+ PR c++/48450
+ * cvt.c (ocp_convert): Handle converting scoped enum to bool.
+
+2011-03-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/48277
+ * semantics.c (finish_call_expr): Remove assert.
+
+ PR c++/48280
+ * method.c (defaultable_fn_check): Templates are not defaultable.
+
+ * parser.c (cp_parser_init_declarator): Avoid redundant
+ cp_finish_decl for member declarations.
+
+2011-03-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/48212
+ * semantics.c (non_const_var_error): Just return if DECL_INITIAL
+ is error_mark_node.
+
+2011-03-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/48369
+ * semantics.c (potential_constant_expression_1): Handle
+ UNORDERED_EXPR and ORDERED_EXPR.
+
+ PR c++/48281
+ * semantics.c (finish_compound_literal): Do put static/constant
+ arrays in static variables.
+
+ * call.c (convert_like_real) [ck_list]: Build up the
+ initializer_list object directly.
+ * decl.c (build_init_list_var_init): Adjust.
+
+ * call.c (convert_like_real): Correct TREE_CONSTANT on CONSTRUCTOR.
+ * decl.c (reshape_init_array_1): Likewise.
+
+2011-03-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/48265
+ * pt.c (value_dependent_expression_p) [VAR_DECL]: Make sure
+ the variable is constant before looking at its initializer.
+
+ PR c++/48319
+ * pt.c (value_dependent_expression_p): Handle TEMPLATE_ID_EXPR.
+
+ PR c++/48089
+ * semantics.c (potential_constant_expression_1): Change error about
+ use of *this in constructor into sorry.
+
+ PR c++/48296
+ * decl.c (cp_finish_decl): Defer validation of constexpr member
+ functions.
+ * class.c (finalize_literal_type_property): Validate them here.
+ * semantics.c (is_valid_constexpr_fn): Don't check completeness.
+
+ * semantics.c (is_valid_constexpr_fn): Specify input location.
+
+2011-03-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/48313
+ * pt.c (maybe_adjust_types_for_deduction): Handle T&& deduction
+ from overloaded function.
+
+ Core 1232
+ * call.c (build_array_conv): New.
+ (implicit_conversion): Use it.
+
+ * call.c (reference_binding): Allow direct binding to an array
+ rvalue.
+
+ Core 898
+ * parser.c (cp_parser_compound_statement): Add function_body parm.
+ Complain about non-body compound-stmt in constexpr fn.
+ (cp_parser_primary_expression, cp_parser_statement): Adjust.
+ (cp_parser_implicitly_scoped_statement): Adjust.
+ (cp_parser_function_body, cp_parser_try_block): Adjust.
+ (cp_parser_handler, cp_parser_objc_synchronized_statement): Adjust.
+ (cp_parser_objc_try_catch_finally_statement): Adjust.
+
+ Core 898
+ * semantics.c (constexpr_fn_retval): New. Allow using-declaration
+ and using-definition.
+ (register_constexpr_fundef): Call it.
+
+ * except.c (build_noexcept_spec): Call cxx_constant_value after
+ converting to bool.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * lex.c (interface_strcmp): Handle dos-paths.
+ (handle_pragma_implementation): Use filename_cmp instead of
+ strcmp.
+ (in_main_input_context): Likewise.
+
+2011-03-25 Jason Merrill <jason@redhat.com>
+
+ Core 1135
+ * method.c (defaulted_late_check): Check for exception spec mismatch.
+ (defaultable_fn_check): Allow exception spec and virtual.
+ * class.c (check_for_override): A virtual dtor is non-trivial.
+
+ PR c++/48289
+ * pt.c (build_non_dependent_expr): Keep dereferences outside the
+ NON_DEPENDENT_EXPR.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * decl.c (decls_match): Replace target hook
+ call of comp_type_attributes by version in tree.c file.
+ * search.c (check_final_overrider): Likewise.
+ * typeck.c (structural_comptypes): Likewise.
+
+2011-03-21 Kai Tietz <ktietz@redhat.com>
+
+ PR target/12171
+ * cxx-pretty-print.c (pp_cxx_ptr_operator):
+ Display allowed attributes for function pointer types.
+ * error.c (dump_type_prefix): Likewise.
+
+ * tree.c (cxx_attribute_table): Adjust table.
+
+2011-03-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/48162
+ * semantics.c (finish_call_expr): Allow TARGET_EXPR for now.
+
+ PR c++/48118
+ * call.c (build_over_call): Don't skip ck_rvalue.
+
+2011-03-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/47504
+ * semantics.c (cxx_eval_constant_expression) [NOP_EXPR]: Don't let
+ the conversion set TREE_OVERFLOW.
+
+ Core 1212
+ * semantics.c (finish_decltype_type): Return T&& for xvalue.
+ * typeck.c (unlowered_expr_type): Preserve cv-quals.
+
+ PR c++/48166
+ * decl.c (revert_static_member_fn): Strip function-cv-quals.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/48089
+ * semantics.c (potential_constant_expression_1): Don't allow *this
+ in a constructor.
+ (register_constexpr_fundef): Use potential_rvalue_constant_expression.
+
+ PR c++/47301
+ * decl.c (compute_array_index_type): Don't bother trying to deal
+ with literal classes in ABI v1.
+
+ PR c++/46336
+ * decl.c (duplicate_decls): Return NULL_TREE for clashing
+ C functions.
+
+ PR c++/47570
+ * semantics.c (cxx_eval_constant_expression) [COMPOUND_EXPR]: Don't
+ use the generic binary expression handling.
+
+2011-03-16 Diego Novillo <dnovillo@google.com>
+
+ * Make-lang.in (CXX_PARSER_H): New.
+ (cp/parser.o): Add dependency on CXX_PARSER_H.
+ Add dependency on tree-pretty-print.h
+ (cp/cp-lang.o): Add dependency on CXX_PARSER_H.
+ * cp-lang.c: Include parser.h.
+ * parser.c: Include parser.h.
+ (struct cp_token): Add bitfield purged_p.
+ Update all users.
+ Move to parser.h.
+ (CPP_PURGED): Remove. Update all users.
+ (struct cp_lexer): Change field buffer to be a VEC of cp_token.
+ Remove field buffer_length.
+ Update all users.
+ Move to parser.h.
+ (struct tree_check): Move to parser.h.
+ (cp_token_position): Likewise.
+ (struct cp_token_cache): Likewise.
+ (CPP_KEYWORD): Likewise.
+ (CPP_TEMPLATE_ID): Likewise.
+ (CPP_NESTED_NAME_SPECIFIER): Likewise.
+ (N_CP_TTYPES): Likewise.
+ (enum cp_parser_status_kind): Likewise.
+ (struct cp_parser_context): Likewise.
+ (struct cp_default_arg_entry_d): Likewise.
+ (struct cp_unparsed_functions_entry_d): Likewise.
+ (struct cp_parser): Likewise.
+ (cp_lexer_dump_tokens): New.
+ (cp_lexer_debug_tokens): New.
+ (cp_lexer_finished_p): New.
+ (cp_lexer_alloc): Factor out of cp_lexer_new_main.
+ (cp_lexer_new_main): Re-write main lexing loop to push
+ tokens into the new VEC buffer.
+ (cp_lexer_print_token): Improve printing of CPP_NUMBER tokens.
+ Do not abort if the token type is not recognized, just print
+ its code.
+ * parser.h: New file.
+ * config-lang.in (gtfiles): Add cp/parser.h.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ Core 1148
+ * typeck.c (check_return_expr): Fix conditions for setting
+ LOOKUP_PREFER_RVALUE.
+
+ * call.c (build_over_call): Remove require_complete_type_sfinae call.
+
+ PR c++/48132
+ * decl.c (check_array_designated_initializer): Allow integer index.
+ (reshape_init_array_1): Set index on the elements.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/48113
+ * typeck.c (convert_for_initialization): Use
+ perform_implicit_conversion_flags.
+ * call.c (standard_conversion): If LOOKUP_PREFER_RVALUE, set
+ rvaluedness_matches_p on ck_rvalue.
+ (convert_like_real) [ck_rvalue]: And restore it here.
+
+ PR c++/48115
+ * call.c (convert_arg_to_ellipsis): Handle incomplete type.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_abort_tentative_parse): Make sure we haven't
+ committed to this tentative parse.
+
+ PR c++/47999
+ * semantics.c (finish_call_expr): Preserve reference semantics
+ in templates.
+
+ * call.c (convert_default_arg): Use LOOKUP_IMPLICIT.
+
+2011-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ * cp-objcp-common.c (cp_function_decl_explicit_p): Don't crash if
+ DECL_LANG_SPECIFIC is NULL.
+
+2011-03-15 Jason Merrill <jason@redhat.com>
+
+ Core 1074
+ * pt.c (value_dependent_expression_p) [NOEXCEPT_EXPR]: Don't
+ check value_dependent_expression_p on the operand.
+
+ * semantics.c (push_cx_call_context): Return bool.
+ (cxx_eval_call_expression): Handle excess depth.
+
+ Core 1191
+ * method.c (synthesized_method_walk): Cleanups don't affect the
+ triviality of a constructor, but do affect deletion and exception
+ specification.
+
+2011-03-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ * decl2.c (cp_check_const_attributes): New.
+ (cplus_decl_attributes): Call cp_check_const_attributes.
+
+2011-03-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/34758
+ * call.c (convert_default_arg): Use DECL_ORIGIN of fn. Check for
+ recursion first.
+ (push_defarg_context, pop_defarg_context): New.
+ * parser.c (cp_parser_late_parsing_default_args): Use them.
+ * cp-tree.h: Declare them.
+
+2011-03-11 Dodji Seketeli <dodji@redhat.com>
+
+ * call.c (add_builtin_candidate)<case INDIRECT_REF>: The type of
+ the argument of the indirection operator should not be dependent.
+ Fix the comment.
+
+2011-03-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/47125
+ * pt.c (tsubst) [TYPENAME_TYPE]: Only give errors if tf_error.
+
+ PR c++/47144
+ * parser.c (cp_parser_template_type_arg): Set
+ type_definition_forbidden_message.
+
+ PR c++/47808
+ * decl.c (compute_array_index_type): Discard folding
+ if it didn't produce a constant.
+
+2011-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/48035
+ * init.c (build_zero_init_1): Extracted from build_zero_init.
+ Add FIELD_SIZE argument, if non-NULL and field bit_position
+ as not smaller than that, don't add that field's initializer.
+ Pass DECL_SIZE as last argument to build_zero_init_1
+ for DECL_FIELD_IS_BASE fields.
+ (build_zero_init): Use build_zero_init_1.
+
+2011-03-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/48029
+ * pt.c (iterative_hash_template_arg): Remove special case for
+ ARRAY_TYPE.
+
+ PR c++/47198
+ * parser.c (cp_parser_single_declaration): Just return if
+ cp_parser_parse_and_diagnose_invalid_type_name complained.
+
+2011-03-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/44629
+ * pt.c (unify): An unresolved overload is a nondeduced context.
+
+2011-03-09 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/47714
+ * method.c (use_thunk): Clear addressable flag of thunk arguments.
+
+2011-03-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47705
+ * pt.c (convert_nontype_argument): Only call decay_conversion on
+ arrays.
+
+2011-03-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/47488
+ * mangle.c (write_template_arg_literal) [STRING_CST]: Sorry.
+
+ PR c++/47705
+ * pt.c (convert_nontype_argument): Don't crash on non-pointer
+ argument to pointer parameter.
+
+ PR c++/45651
+ * pt.c (instantiate_decl): Don't clear DECL_INTERFACE_KNOWN on
+ !TREE_PUBLIC decls.
+
+2011-03-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47957
+ * name-lookup.c (binding_to_template_parms_of_scope_p): Only
+ consider scopes of primary template definitions. Adjust comments.
+
+2011-03-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/48003
+ * pt.c (convert_nontype_argument): Fix -fpermissive allowing
+ integer overflow.
+ * semantics.c (potential_constant_expression_1): Check TREE_OVERFLOW.
+
+ PR c++/48015
+ * init.c (constant_value_1): Always require init to be TREE_CONSTANT.
+
+ PR c++/48008
+ * mangle.c (write_type): Strip cv-quals from FUNCTION_TYPE here.
+ (write_CV_qualifiers_for_type): Not here.
+
+2011-03-06 Joseph Myers <joseph@codesourcery.com>
+
+ * lang-specs.h: Match -save-temps* instead of -save-temps.
+
+2011-03-05 Jason Merrill <jason@redhat.com>
+
+ * mangle.c (write_expression): Change ABI v6 to v5.
+ (write_type): Likewise.
+
+2011-03-04 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47497
+ * optimize.c (maybe_clone_body): Update call of cgraph_same_body_alias
+ and cgraph_add_thunk.
+ * method.c (make_alias_for_thunk, use_thunk): Likewise.
+ * mangle.c (mangle_decl): Likewise.
+
+2011-03-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/47971
+ * pt.c (tsubst_copy_and_build) [PSEUDO_DTOR_EXPR]: Use tsubst for type.
+ (tsubst_copy) [default]: Just return t if !ENABLE_CHECKING.
+
+ PR c++/46220
+ * search.c (check_final_overrider): Allow pointer to same incomplete
+ class type with different cv-quals.
+
+2011-03-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47974
+ * pt.c (tsubst_template_args): Check argument t for error_mark_node.
+
+2011-03-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/47950
+ * pt.c (tsubst_copy_and_build) [TARGET_EXPR]: Retain TREE_CONSTANT.
+
+2011-03-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/47950
+ * parser.c (cp_parser_condition): Don't fold_non_dependent_expr here.
+
+ PR c++/47774
+ * tree.c (build_vec_init_elt): Split out from...
+ (build_vec_init_expr): ...here.
+ (diagnose_non_constexpr_vec_init): New fn.
+ * semantics.c (potential_constant_expression_1): Use it.
+ * cp-tree.h: Declare it.
+
+2011-03-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/46159
+ * parser.c (cp_parser_primary_expression): Don't warn about a
+ failed tentative parse.
+
+ PR c++/47200
+ * semantics.c (cxx_bind_parameters_in_call): Don't call
+ adjust_temp_type on non-constant args.
+
+ PR c++/47851
+ * call.c (standard_conversion): Provide requested cv-quals on
+ class rvalue conversion.
+
+ PR c++/46282
+ * decl2.c (grokbitfield): Handle type-dependent width.
+
+2011-02-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/47873
+ * class.c (update_vtable_entry_for_fn): Check BINFO_LOST_PRIMARY_P
+ after checking for a non-thunk.
+
+2011-02-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/47904
+ * tree.c (cp_tree_equal): Compare DECL_PARM_LEVEL.
+ * pt.c (iterative_hash_template_arg): And hash it.
+
+ PR c++/47897
+ * semantics.c (non_const_var_error): Split out from...
+ (cxx_eval_constant_expression): ...here.
+ (potential_constant_expression_1) [VAR_DECL]: Use it.
+ Allow dependent variables.
+
+2011-02-24 Jason Merrill <jason@redhat.com>
+
+ * parser.c (cp_parser_constant_expression): Set
+ non_integral_constant_expression correctly for C++0x too.
+ (cp_parser_static_assert): Allow non-constant expression.
+ (cp_parser_direct_declarator): Expect non_constant_p to be set
+ properly for C++0x.
+ * pt.c (value_dependent_expression_p): Handle TYPEID_EXPR.
+ * semantics.c (maybe_constant_value): Check type_unknown_p too.
+ (potential_rvalue_constant_expression): New.
+ (require_potential_rvalue_constant_expression): New.
+
+2011-02-23 Jason Merrill <jason@redhat.com>
+
+ * cp-tree.h (DECL_PARM_LEVEL): New.
+ (struct lang_decl_parm): Add level field.
+ * name-lookup.c (function_parm_depth): New fn.
+ * name-lookup.h: Declare it.
+ * parser.c (cp_parser_parameter_declaration_list): Use it.
+ * mangle.c (struct globals): Add parm_depth field.
+ (write_bare_function_type): Adjust it.
+ (write_expression): Include the level delta in PARM_DECL mangling
+ for abi >= 6.
+
+ * semantics.c (finish_decltype_type): Remove shortcut for decltype
+ of id-expression.
+ * mangle.c (write_type) [DECLTYPE_TYPE]: Strip it here for abi < 6.
+
+2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/46868
+ * parser.c (cp_parser_class_specifier): Require a closing brace
+ to attempt error recovery.
+
+2011-02-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47833
+ * pt.c (struct pending_template): Add chain_next GTY option.
+ * decl.c (struct named_label_use_entry): Likewise.
+
+2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47242
+ * semantics.c (build_lambda_object): Bail out if a field is
+ error_mark_node.
+
+2011-02-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47666
+ * class.c (dfs_declare_virt_assop_and_dtor)
+ (declare_virt_assop_and_dtor): New static functions.
+ (add_implicitly_declared_members): Use
+ declare_virt_assop_and_dtor.
+
+2011-02-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/47207
+ * decl2.c (decl_constant_var_p): A constexpr var needs an
+ initializer to be constant.
+ * semantics.c (cxx_eval_constant_expression): Complain about
+ constexpr var used in its own initializer.
+ * call.c (set_up_extended_ref_temp): Set
+ DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P too.
+
+2011-02-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/47199
+ * semantics.c (cxx_eval_call_expression): Call
+ cxx_eval_constant_expression in trivial shortcut.
+
+ PR c++/46831
+ * call.c (convert_class_to_reference): Don't try to set up a
+ second conv sequence for non-viable candidates.
+
+ PR c++/47703
+ * error.c (location_of): Handle non-tagged types.
+
+ PR c++/46472
+ * method.c (process_subob_fn): Instantiate constexpr templates.
+ * optimize.c (maybe_clone_body): Propagate DECL_DECLARED_CONSTEXPR_P.
+
+2011-02-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/46394
+ * pt.c (tsubst_pack_expansion): do not use
+ cp_tree_equal/same_type_p to detect an expansion of a parameter
+ pack.
+
+2011-02-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/47503
+ * semantics.c (cxx_eval_call_expression): Shortcut trivial copy.
+
+2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47795
+ * semantics.c (finish_non_static_data_member): Early return if
+ object is error_mark_node.
+
+2011-02-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47208
+ * pt.c (do_auto_deduction): Do not mention error_mark_node in
+ diagnostics.
+ * semantics.c (finish_id_expression): Do not pass erroneous decl
+ to decl_constant_var_p.
+
+2011-02-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47783
+ * cvt.c (convert_from_reference): Call mark_exp_read.
+
+2011-02-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47172
+ * pt.c (finish_call_expr): Consider a call expression that has a
+ dependent "this" pointer as being dependent. Add comments.
+ (dependent_type_p, type_dependent_expression_p): Update comments.
+
+2011-02-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47326
+ * pt.c (tsubst_copy)<case SIZEOF_EXPR>: Ensure that even pack
+ expansion arguments are not evaluated.
+
+2011-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47704
+ * cp-tree.h (ENUM_FIXED_UNDERLYING_TYPE_P): Use TYPE_LANG_FLAG_5
+ instead of TYPE_LANG_FLAG_3.
+ * pt.c (lookup_template_class): Copy over
+ ENUM_FIXED_UNDERLYING_TYPE_P.
+
+2011-02-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/46807
+ * method.c (synthesized_method_walk): Always exit early for
+ trivial fn in C++98 mode.
+
+2011-02-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/47482
+ * parser.c (cp_parser_enumerator_definition): Call
+ fold_non_dependent_expr.
+
+2011-02-09 Jason Merrill <jason@redhat.com>
+
+ * decl.c (cp_make_fname_decl): Set DECL_THIS_STATIC at toplevel.
+ * semantics.c (finish_fname): Only return the name if we're in
+ a function.
+
+ * decl.c (build_enumerator): Don't perform integral promotions on
+ non-integral constants.
+
+ * cvt.c (convert_to_void): Handle null op1.
+
+ * class.c (type_has_constexpr_default_constructor): Make sure the
+ caller stripped an enclosing array.
+ * init.c (perform_member_init): Strip arrays before calling it.
+
+ PR c++/47511
+ * semantics.c (potential_constant_expression_1): Handle TEMPLATE_DECL.
+
+2011-02-03 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47398
+ * tree.c (cp_tree_equal)<TEMPLATE_PARM_INDEX>: Take the number of
+ template parameters in account.
+
+2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/46890
+ * parser.c (cp_parser_class_specifier): Fix setting of
+ want_semicolon.
+
+2011-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47416
+ * semantics.c (build_data_member_initialization): Handle
+ STATEMENT_LIST always instead of just for CLEANUP_BODY.
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++spec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
+ LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
+
+2011-01-29 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47311
+ * cp-tree.h (fixup_template_parms): Declare.
+ * pt.c (end_template_parm_list): Do not fixup template parms here.
+ (fixup_template_parms): Remove static. Fix typo in the
+ comments. Remove useless code statement.
+ (fixup_template_parm): For a template template parameter, fixup
+ its attributes before fixing up its type.
+ * parser.c
+ (cp_parser_template_declaration_after_export): After parsing
+ template parameters fixup their types.
+
+2011-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47476
+ * semantics.c (potential_constant_expression_1): Handle
+ TRUTH_XOR_EXPR.
+
+2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR c++/43601
+ * semantics.c (expand_or_defer_fn_1): Handle it.
+ * decl2.c (decl_needed_p): Likewise.
+
+2011-01-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/47041
+ * semantics.c (build_constexpr_constructor_member_initializers):
+ Handle trivial copy.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47388
+ * semantics.c (begin_for_stmt): If -fno-for-scope, don't
+ assume init must be NULL if scope is NULL.
+ (begin_range_for_stmt): Likewise.
+
+2011-01-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/46552
+ * semantics.c (cxx_eval_constant_expression): Handle OFFSET_REF.
+
+ PR c++/46977
+ * semantics.c (potential_constant_expression_1): Split out from
+ potential_constant_expression. Add want_rval parm. Handle
+ template expression forms. Don't enforce restriction on address
+ of automatic variable here. Add a couple of diagnostics that
+ had been missing.
+ (require_potential_constant_expression): New entry point.
+ (build_data_member_initialization, register_constexpr_fundef): Adjust.
+ (maybe_constant_value): Check potential_constant_expression.
+ * pt.c (fold_non_dependent_expr_sfinae): Likewise.
+ * tree.c (build_vec_init_expr): Adjust.
+
+2011-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47303
+ * decl2.c (finish_anon_union): Only call mangle_decl if TREE_STATIC
+ or DECL_EXTERNAL.
+
+2011-01-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/47067
+ * semantics.c (base_field_constructor_elt): New fn.
+ (cxx_eval_bare_aggregate): Use it.
+ (build_data_member_initialization): Leave COMPONENT_REF for
+ vfield inits.
+
+2011-01-14 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ * parser.c (cp_parser_range_for): Remove the "unused variable" warning
+ workaround.
+
+2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/33558
+ * decl.c (grokdeclarator): Reject mutable reference members.
+
+2011-01-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/47289
+ * pt.c (coerce_template_parms): Fix error recovery.
+
+ PR c++/46903
+ * typeck2.c (check_narrowing): Only check arithmetic types.
+
+ PR c++/46688
+ * tree.c (build_vec_init_expr): Handle flexible array
+ properly.
+
+2011-01-13 Kai Tietz <kai.tietz@onevision.com>
+
+ PR c++/47213
+ * cp-tree.h (CLASSTYPE_VISIBILITY): Use
+ TYPE_MAIN_DECL instead of TYPE_NAME.
+ (CLASSTYPE_VISIBILITY_SPECIFIED): Likewise.
+ * decl2.c (determine_visibility): Add check
+ of CLASS_TYPE_P for underlying_type.
+
+2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ * cp-tree.h (begin_for_scope): New prototype.
+ (begin_for_stmt): Update prototype.
+ (begin_range_for_stmt): Update prototype.
+ * init.c (build_vec_init): Update call to begin_for_stmt.
+ * parser.c (cp_parser_for): New.
+ (cp_parser_c_for): Add three new parameters.
+ (cp_parser_range_for): Likewise. Most parsing code removed.
+ (cp_parser_iteration_statement): Call cp_parser_for instead of
+ cp_parser_c_for and cp_parser_range_for.
+ (cp_parser_for_init_statement): Add new parameter and return type.
+ (cp_parser_block_declaration): Update call to
+ cp_parser_simple_declaration.
+ (cp_parser_simple_declaration): Add new parameter.
+ Update call to cp_parser_init_declarator.
+ (cp_parser_init_declarator): Add new parameter.
+ * pt.c (tsubst_expr): Update call to begin_for_stmt.
+ * semantics.c (begin_for_scope): New.
+ (begin_for_stmt): Add two new parameters.
+ (begin_range_for_stmt): Likewise.
+
+2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * parser.c (cp_parser_objc_at_property_declaration): Improved
+ error message.
+
+2011-01-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/46955
+ * cp-lang.c (get_template_innermost_arguments_folded)
+ (get_template_argument_pack_elems_folded)
+ (template_arg_needs_folding, fold_cplus_constants): New static
+ functions.
+ (LANG_HOOKS_GET_INNERMOST_GENERIC_ARGS): Set this hook to
+ get_template_innermost_arguments_folded.
+ (LANG_HOOKS_GET_ARGUMENT_PACK_ELEMS): Set this hook to
+ get_template_argument_pack_elems_folded.
+
+2011-01-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/46658
+ * init.c (build_new_1): Handle value-init in templates differently.
+
+ PR c++/45520
+ * tree.c (maybe_dummy_object): Check current_class_ref against
+ context, not current_class_type.
+
+2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47078
+ * parser.c (cp_parser_objc_typename): If the type is unknown, for
+ error recovery purposes behave as if it was not specified so that
+ the default type is used.
+
+2011-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47022
+ * pt.c (tsubst_copy_and_build): Use tsubst instead of tsubst_copy
+ for the second build_x_va_arg argument.
+
+2011-01-05 Tom Tromey <tromey@redhat.com>
+
+ * typeck.c (cp_build_addr_expr_1): Update call to lvalue_error.
+ (lvalue_or_else): Likewise.
+
+2011-01-01 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/38662
+ * tree.c (cxx_type_hash_eq):
+ Allow METHOD_TYPE, too.
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 19f7d7b..656a84c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -114,4093 +114,8 @@
* gfortranspec.c (lang_specific_driver): Update copyright notice
dates.
-
-2011-12-31 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/51502
- * expr.c (gfc_check_vardef_context): When determining
- implicit pure status, also check for variable definition
- context. Walk up namespaces until a procedure is
- found to reset the implict pure attribute.
- * resolve.c (gfc_implicit_pure): Walk up namespaces
- until a procedure is found.
-
-2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dependency.c (gfc_dep_compare_functions): Document
- new behavior for REALs and complex. Add comment to cases
- where only INTEGERs are handled. Compare REAL and COMPLEX
- constants, returning 0 and -2 only. Add assert to make
- sure that only integer constants are compared.
-
-2011-12-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51605
- * parse.c (gfc_fixup_sibling_symbols): Regard FL_LABEL as
- local symbol.
-
-2011-12-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51605
- * match.c (gfc_match_select_type): Handle
- scalar polymophic coarrays.
- (select_type_set_tmp, ): Ditto; avoid segfault if !class_ok.
- * primary.c (gfc_match_rvalue): Avoid segfault if !class_ok.
- * resolve.c (resolve_select_type): Ditto.
- (resolve_assoc_var): Fix setting the TARGET attribute for
- polymorphic selectors which are pointers.
-
-2011-12-19 Tobias Burnus <burnus@net-b.de>
-
- * check.c (coarray_check): Add class ref if needed.
- * resolve.c (resolve_fl_var_and_proc,
- resolve_fl_derived0, resolve_symbol): Fix checking
- for BT_CLASS.
-
-2011-12-15 Paul Thomas <pault@gcc.gnu.org>
-
- * trans-expr.c (gfc_walk_function_expr): Detect elemental
- procedure components as well as elemental procedures.
- * trans-array.c (gfc_conv_procedure_call): Ditto.
- * trans-decl.c (gfc_trans_deferred_vars): Correct erroneous
- break for class pointers to continue.
-
-2011-12-15 Toon Moene <toon@moene.org>
-
- PR fortran/51310
- * resolve.c (build_default_init_expr): Allow non-allocatable,
- non-compile-time-constant-shape arrays to have a default
- initializer.
- * invoke.texi: Delete the restriction on automatic arrays not
- being initialized by -finit-<type>=<constant>.
-
-2011-12-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51550
- PR fortran/47545
- PR fortran/49050
- PR fortran/51075
- * resolve.c (resolve_fl_derived0): Print not-implemented error
- for deferred-length character components.
-
-2011-12-15 Tobias Burnus <burnus@net-b.de>
-
- * primary.c (gfc_match_varspec): Match array spec for
- polymorphic coarrays.
- (gfc_match_rvalue): If a symbol of unknown flavor has a
- codimension, mark it as a variable.
- * simplify.c (gfc_simplify_image_index): Directly call
- simplify_cobound.
- * trans-intrinsic.c (trans_this_image): Fix handling of
- corank = 1 arrays.
-
-2011-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/51517
- * trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.
- (gfc_trans_deferred_vars): Instead add its runtime initialization
- here.
-
-2011-12-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50923
- * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only
- if the front end has printed a warning.
- (gfc_generate_function_code): Fix unset-result warning.
-
-2011-12-11 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/41539
- PR fortran/43214
- PR fortran/43969
- PR fortran/44568
- PR fortran/46356
- PR fortran/46990
- PR fortran/49074
- * interface.c (symbol_rank): Return the rank of the _data
- component of class objects.
- (compare_parameter): Also compare the derived type of the class
- _data component for type mismatch. Similarly, return 1 if the
- formal and _data ranks match.
- (compare_actual_formal): Do not compare storage sizes for class
- expressions. It is an error if an actual class array, passed to
- a formal class array is not full.
- * trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,
- gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,
- gfc_vtable_extends_get, gfc_vtable_def_init_get,
- gfc_vtable_copy_get): New functions for class API.
- (gfc_conv_derived_to_class): For an array reference in an
- elemental procedure call retain the ss to provide the
- scalarized array reference. Moved in file.
- (gfc_conv_class_to_class): New function.
- (gfc_conv_subref_array_arg): Use the type of the
- class _data component as a basetype.
- (gfc_conv_procedure_call): Ensure that class array expressions
- have both the _data reference and an array reference. Use
- gfc_conv_class_to_class to handle class arrays for elemental
- functions in scalarized loops, class array elements and full
- class arrays. Use a call to gfc_conv_subref_array_arg in order
- that the copy-in/copy-out for passing class arrays to derived
- type arrays occurs correctly.
- (gfc_conv_expr): If it is missing, add the _data component
- between a class object or component and an array reference.
- (gfc_trans_class_array_init_assign): New function.
- (gfc_trans_class_init_assign): Call it for array expressions.
- * trans-array.c (gfc_add_loop_ss_code): Do not use a temp for
- class scalars since their size will depend on the dynamic type.
- (build_class_array_ref): New function.
- (gfc_conv_scalarized_array_ref): Call build_class_array_ref.
- (gfc_array_init_size): Add extra argument, expr3, that represents
- the SOURCE argument. If present,use this for the element size.
- (gfc_array_allocate): Also add argument expr3 and use it when
- calling gfc_array_init_size.
- (structure_alloc_comps): Enable class arrays.
- * class.c (gfc_add_component_ref): Carry over the derived type
- of the _data component.
- (gfc_add_class_array_ref): New function.
- (class_array_ref_detected): New static function.
- (gfc_is_class_array_ref): New function that calls previous.
- (gfc_is_class_scalar_expr): New function.
- (gfc_build_class_symbol): Throw not implemented error for
- assumed size class arrays. Remove error that prevents
- CLASS arrays.
- (gfc_build_class_symbol): Prevent pointer/allocatable conflict.
- Also unset codimension.
- (gfc_find_derived_vtab): Make 'copy' elemental and set the
- intent of the arguments accordingly.:
- * trans-array.h: Update prototype for gfc_array_allocate.
- * array.c (gfc_array_dimen_size): Return failure if class expr.
- (gfc_array_size): Likewise.
- * gfortran.h: New prototypes for gfc_add_class_array_ref,
- gfc_is_class_array_ref and gfc_is_class_scalar_expr.
- * trans-stmt.c (trans_associate_var): Exclude class targets
- from test. Move the allocation of the _vptr to an earlier time
- for class objects.
- (trans_associate_var): Assign the descriptor directly for class
- arrays.
- (gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.
- Convert array element references into sections. Do not invoke
- gfc_conv_procedure_call, use gfc_trans_call instead.
- * expr.c (gfc_get_corank): Fix for BT_CLASS.
- (gfc_is_simply_contiguous): Exclude class from test.
- * trans.c (gfc_build_array_ref): Include class array refs.
- * trans.h: Include prototypes for class API functions that are
- new in trans-expr. Define GFC_DECL_CLASS(node).
- * resolve.c (check_typebound_baseobject ): Remove error for
- non-scalar base object.
- (resolve_allocate_expr): Ensure that class _data component is
- present. If array, call gfc_expr_to_intialize.
- (resolve_select): Remove scalar error for SELECT statement as a
- temporary measure.
- (resolve_assoc_var): Update 'target' (aka 'selector') as
- needed. Ensure that the target expression has the right rank.
- (resolve_select_type): Ensure that target expressions have a
- valid locus.
- (resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.
- * trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where
- appropriate.
- (gfc_trans_deferred_vars): Get class arrays right.
- * match.c(select_type_set_tmp): Add array spec to temporary.
- (gfc_match_select_type): Allow class arrays.
- * check.c (array_check): Ensure that class arrays have refs.
- (dim_corank_check, dim_rank_check): Retrun success if class.
- * primary.c (gfc_match_varspec): Fix for class arrays and
- co-arrays. Make sure that class _data is present.
- (gfc_match_rvalue): Handle class arrays.
- *trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array
- reference.
- (gfc_conv_allocated): Add _data component to class expressions.
- (gfc_add_intrinsic_ss_code): ditto.
- * simplify.c (simplify_cobound): Fix for BT_CLASS.
- (simplify_bound): Return NULL for class arrays.
- (simplify_cobound): Obtain correct array_spec. Use cotype as
- appropriate. Use arrayspec for bounds.
-
-2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50690
- * frontend-passes.c (in_omp_workshare): New variable.
- (cfe_expr_0): Don't eliminiate common function if it would put
- the variable immediately into a WORKSHARE construct.
- (optimize_namespace): Set in_omp_workshare.
- (gfc_code_walker): Keep track of OMP PARALLEL and OMP WORKSHARE
- constructs.
-
-2011-12-10 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (add_argument_checking): Fix syntax.
-
-2011-12-10 Tobias Burnus <burnus@net-b.de>
- Kai Tietz <ktietz@redhat.com>
-
- * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
- * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50815
- * trans-decl.c (add_argument_checking): Skip bound checking
- for deferred-length strings.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51378
- * symbol.c (gfc_find_component): Fix access check of parent
- components.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51407
- * io/transfer.c (require_numeric_type): New function.
- (formatted_transfer_scalar_read, formatted_transfer_scalar_write):
- Use it, allow BOZ edit descriptors with F2008.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51448
- * fortran/trans-array.c (get_std_lbound): Fix handling of
- conversion functions.
-
-2011-12-08 Toon Moene <toon@moene.org>
-
- PR fortran/51310
- * invoke.texi: Itemize the cases for which
- -finit-<type>=<constant> doesn't work.
-
-2011-12-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51435
- * expr.c (gfc_has_default_initializer): Fix handling of
- DT with initialized pointer components.
-
-2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/51338
- * dependency.c (are_identical_variables): Handle case where
- end fields of substring references are NULL.
-
-2011-12-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51383
- * resolve.c (find_array_spec): Use ref->u.c.component
- directly without starting from ts.u.derived.
-
-2011-12-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48887
- * match.c (select_type_set_tmp): Don't set allocatable/pointer
- attribute.
- * class.c (gfc_build_class_symbol): Handle
- attr.select_type_temporary.
-
-2011-12-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50684
- * check.c (variable_check): Fix intent(in) check.
-
-2011-12-03 Tobias Burnus <burnus@net-b.de>
-
- * check.c (gfc_check_move_alloc): Allow nonpolymorphic
- FROM with polymorphic TO.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle
- nonpolymorphic FROM with polymorphic TO.
-
-2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
-
- * module.c (dt_lower_string): Make static.
- (dt_upper_string): Likewise.
-
-2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/25708
- * module.c (parse_string): Read string into resizable array
- instead of parsing twice and seeking.
- (peek_atom): New implementation avoiding seeks.
- (require_atom): Save and set column and line explicitly for error
- handling.
-
-2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
-
- * misc.c (gfc_open_file): Don't call stat.
-
-2011-11-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/40958
- * module.c (prev_module_line): New variable.
- (prev_module_column): New variable.
- (prev_character): New variable.
- (module_char): Update the new variables.
- (module_unget_char): New function.
- (parse_string): Use module_unget_char.
- (parse_integer): Likewise.
- (parse_name): Likewise.
-
-2011-11-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51306
- PR fortran/48700
- * check.c (gfc_check_move_alloc): Make sure that from/to
- are both polymorphic or neither.
- * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,
- generate inline code.
-
-2011-11-28 Tobias Burnus <burnus@net-b.de>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/51308
- * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER
- conflicts for ISO_C_BINDING variables.
- (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null
- as SAVE.
-
-2011-11-25 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (set_loop_bounds): Remove dead conditions.
-
-2011-11-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/51250
- PR fortran/43829
- * trans-array.c (gfc_trans_create_temp_array): Get dimension from
- the right gfc_ss struct.
-
-2011-11-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50408
- * trans-decl.c (gfc_get_module_backend_decl): Also copy
- ts.u.derived from the gsym if the ts.type is BT_CLASS.
- (gfc_get_extern_function_decl): Copy also the backend_decl
- for the symbol's ts.u.{derived,cl} from the gsym.
- * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
- return if "from" and "to" are the same.
-
-2011-11-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51302
- * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.
-
-2011-11-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51218
- * resolve.c (pure_subroutine): If called subroutine is
- impure, unset implicit_pure.
- (resolve_function): Move impure check to simplify code.
-
-2011-11-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51207
- * class.c (gfc_find_derived_vtab): Mark __def_init as PARAMETER
- and hence as TREE_READONLY; add subroutine attribute to
- __copy_ procedure.
-
- PR fortran/50640
- * trans.h (GFC_DECL_PUSH_TOPLEVEL): New DECL_LANG_FLAG_7.
- * trans-decl.c (gfc_get_symbol_decl): Mark __def_init and vtab as
- GFC_DECL_PUSH_TOPLEVEL.
- (gfc_generate_function_code): If GFC_DECL_PUSH_TOPLEVEL, push it there.
- (build_function_decl): Push __copy_ procedure to the toplevel.
-
-2011-11-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/39427
- PR fortran/37829
- * decl.c (match_data_constant, match_data_constant, variable_decl,
- gfc_match_decl_type_spec, access_attr_decl,
- check_extended_derived_type, gfc_match_derived_decl,
- gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
- with DT constructors.
- * gfortran.h (gfc_find_dt_in_generic,
- gfc_convert_to_structure_constructor): New function prototypes.
- * interface.c (check_interface0, check_interface1,
- gfc_search_interface): Ignore DT constructors in generic list.
- * match.h (gfc_match_structure_constructor): Update prototype.
- * match.c (match_derived_type_spec): Ensure that one uses the DT
- not the generic function.
- * module.c (MOD_VERSION): Bump.
- (dt_lower_string, dt_upper_string): New functions.
- (find_use_name_n, find_use_operator, compare_true_names,
- find_true_name, add_true_name, fix_mio_expr, load_needed,
- read_module, write_dt_extensions, write_symbol): Changes to deal with
- different symtree vs. sym names.
- (create_derived_type): Create also generic procedure.
- * parse.c (gfc_fixup_sibling_symbols): Don't regard DT and generic
- function as the same.
- * primary.c (gfc_convert_to_structure_constructor): New function.
- (gfc_match_structure_constructor): Restructured; calls
- gfc_convert_to_structure_constructor.
- (build_actual_constructor, gfc_match_rvalue): Update for DT generic
- functions.
- * resolve.c (resolve_formal_arglist, resolve_structure_cons,
- is_illegal_recursion, resolve_generic_f, resolve_variable,
- resolve_fl_variable_derived, resolve_fl_derived0,
- resolve_symbol): Handle DT and DT generic constructors.
- * symbol.c (gfc_use_derived, gfc_undo_symbols,
- gen_special_c_interop_ptr, gen_cptr_param,
- generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
- derived-types, which are hidden in the generic type.
- (gfc_find_dt_in_generic): New function
- * trans-array.c (gfc_conv_array_initializer): Replace FL_PARAMETER
- expr by actual value.
- * trans-decl.c (gfc_get_module_backend_decl, gfc_trans_use_stmts):
- Ensure that we use the DT and not the generic function.
- * trans-types.c (gfc_get_derived_type): Ensure that we use the DT
- and not the generic procedure.
-
-2011-11-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51073
- * trans-decl.c (generate_coarray_sym_init): Handle zero-sized arrays.
-
-2011-11-09 Tobias Burnus <burnus@net-b.de>
-
- * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
- (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
- (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/50016
- * gfortran.texi (Data consistency and durability): New section.
-
-2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50540
- * resolve.c (resolve_forall_iterators): Transform internal errors
- to normal errors.
-
-2011-11-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50960
- * class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
- * expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
- their value.
- * resolve.c (resolve_values): Use-associated symbols do not need to
- be resolved again.
- (resolve_fl_parameter): Make sure the symbol has a value.
-
-2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/38718
- * intrinsic.c (add_functions): Allow dreal simplification.
- * intrinsic.h (gfc_simplify_dreal): New prototype.
- * simplify.c (gfc_simplify_dreal): New function.
-
-2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/21881
- * trans-types.c (gfc_get_dtype): Issue a fatal error instead of
- an internal error.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50404
- * io.c (gfc_resolve_close): CLOSE requires a UNIT.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50409
- * expr.c (gfc_simplify_expr): Substrings can't have negative
- length.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50334
- * invoke.texi (-finit-*): Document interaction with
- -Wuninitialized.
-
-2011-11-07 François-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/49188
- PR libfortran/49336
- * invoke.texi: Fix documentation of fsign-zero option. Remove
- contractions.
- * intrinsic.texi: Fix ATAN2 documentation for signed zeros.
- Remove contractions.
- * gfortran.texi: Remove contractions.
-
-2011-11-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50919
- * class.c (add_proc_comp): Don't add non-overridable procedures to the
- vtable.
- * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
- Don't generate a dynamic _vptr call for non-overridable procedures.
-
-2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clock
- and time are part of the C standard library.
-
-2011-11-06 Janus Weil <janus@gcc.gnu.org>
-
- * gfortran.h (gfc_extend_expr): Modified prototype.
- * interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.
- Remove argument 'real_error'.
- * resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.
-
-2011-11-06 Andrew MacLeod <amacleod@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- Merged from cxx-mem-model.
-
- * types.def: (BT_SIZE, BT_CONST_VOLATILE_PTR, BT_FN_VOID_INT,
- BT_FN_I{1,2,4,8,16}_CONST_VPTR_INT, BT_FN_VOID_VPTR_INT,
- BT_FN_BOOL_VPTR_INT, BT_FN_BOOL_SIZE_CONST_VPTR,
- BT_FN_VOID_VPTR_I{1,2,4,8,16}_INT, BT_FN_VOID_SIZE_VPTR_PTR_INT,
- BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
- BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT,
- BT_FN_I{1,2,4,8,16}_VPTR_I{1,2,4,8,16}_INT): New types.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/43829
- * trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
- case in the assertion.
- * trans-intrinsic (enter_nested_loop): New function.
- (gfc_conv_intrinsic_arith): Support non-scalar cases.
- (nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
- (walk_inline_intrinsic_function): Handle sum and product.
- (gfc_inline_intrinsic_function_p): Ditto.
- * trans.h (gfc_get_loopinfo): New macro.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
- expression variable. Use it.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
- pointer. Use it.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
- cleanup.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * frontend-passes.c (cfe_register_funcs): Return early in the case
- of an inline intrinsic function.
- (optimize_binop_array_assignment): Skip optimization in the case of
- an inline intrinsic function.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * array.c (match_subscript): Skip whitespaces before setting locus.
- * matchexp.c (match_level_1): Ditto.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
- temporary rank to the loop rank. Mark ss chains for multiple loop
- if necessary. Use gfc_trans_scalarized_loop_boundary to end one loop
- and start another.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
- temporary rank to the loop rank. Mark ss chains for multiple loop
- if necessary. Use gfc_trans_scalarized_loop_boundary to end one loop
- and start another.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
- offset twice in generated code.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
- arguments to elemental calls.
- * trans-stmt.c (replace_ss): New function.
- (gfc_conv_elemental_dependencies): Remove temporary loop handling.
- Create a new ss for the temporary and replace the original one with it.
- Remove fake array references. Recalculate all offsets.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
- * trans-array.c (gfc_free_ss): Remove forward declaration.
- Make non-static.
- (set_delta, gfc_set_delta): Remove forward declaration.
- Make non-static and rename the former to the later. Update uses.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (gfc_inline_intrinsic_function_p): Move prototype...
- * gfortran.h (gfc_inline_intrinsic_function_p): ... here.
- * dependency.c (gfc_check_argument_var_dependency): Check dependencies
- of inline intrinsics' arguments.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): New pointers to outer
- dimension's ss and loop. Use them.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (outermost_loop): New function.
- (gfc_trans_array_constructor, gfc_set_vector_loop_bounds,
- gfc_add_loop_ss_code): Put generated code out of the outermost loop.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (constant_array_constructor_loop_size):
- Handle multiple loops.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (get_rank, get_loop_upper_bound_for_array):
- New functions.
- (gfc_trans_array_constructor): Handle multiple loops.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_loopinfo): New field parent.
- * trans-array.c (gfc_cleanup_loop): Free nested loops.
- (gfc_add_ss_to_loop): Set nested_loop's parent loop.
- (gfc_trans_array_constructor): Update assertion.
- (gfc_conv_loop_setup): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
- Call recursively gfc_add_loop_ss_code for all the nested loops.
- (gfc_conv_ss_startstride): Only get the descriptor for the outermost
- ss. Call recursively gfc_conv_ss_startstride for all the nested loops.
- (set_loop_bounds): Call recursively for all the nested loops.
- (set_delta): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_loopinfo): New fields nested and next.
- * trans-array.c (gfc_add_ss_to_loop): Update list of nested list if
- ss has non-null nested_ss field.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):
- Rename the former to the latter and loop over the parents.
- (innermost_ss): New function.
- (get_array_ref_dim_for_loop_dim): New function.
- (gfc_trans_create_temp_array): Use get_scalarizer_dim_for_array_dim.
- (set_loop_bounds): Use get_array_dim_for_loop_dim).
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss): New field nested_ss.
- * trans-expr.c (gfc_advance_se_ss_chain): Update assertion.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (set_vector_loop_bounds): Loop over the parents.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_array_constructor): Loop over the parents.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
- parents.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss): New field parent.
- * trans-array.c (gfc_trans_scalarizing_loops): Skip clearing if a
- parent exists.
- * trans-expr.c (gfc_advance_se_ss_chain): Move to parent ss at the
- end of the chain.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
- * trans-array.c (gfc_trans_create_temp_array): Ditto. Get loop from ss.
- Update reference to loop. Remove loop argument.
- (gfc_trans_array_constructor, gfc_conv_loop_setup): Update calls to
- gfc_trans_create_temp_array.
- * trans-expr.c (gfc_conv_procedure_call): Ditto.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
- Set loop before calling gfc_trans_create_temp_array.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
- Set total_dim to loop's rank. Replace usages of loop's rank.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
- Rename the former to the later. Get loop from ss.
- Remove loop argument.
- (gfc_add_loop_ss_code): Update call.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
- Remove loop argument.
- (gfc_add_loop_ss_code): Update call.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss): New field loop.
- * trans-array.c (set_ss_loop): New function.
- (gfc_add_ss_to_loop): Call set_ss_loop.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss_info): New field refcount.
- * trans-array.c (free_ss_info): Decrement refcount. Return early if
- still non-zero.
- (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss): Increment
- refcount.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_create_temp_array): Move invariant condition
- out of the containing loop.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
- Move specloop arrays clearing from the former to the latter.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (set_loop_bounds): Separate the beginning of
- gfc_conv_loop_setup into a function of its own.
- (set_delta): Separate the end of gfc_conv_loop_setup into a function
- of its own.
- (gfc_conv_loop_setup): Call set_loop_bounds and set delta.
- (set_loop_bounds, set_delta, gfc_conv_loop_setup): Make loopspec a
- pointer to the specloop field from the loop struct.
-
-2011-11-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50933
- * interface.c (gfc_compare_derived_types): Fix check for BIND(C).
-
-2011-11-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50960
- * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as TREE_READONLY.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
- gfc_ss::where into gfc_ss_info.
- * trans-array.c (gfc_add_loop_ss_code):
- Update reference chains.
- * trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
- gfc_ss::useflags into gfc_ss_info.
- * trans-array.c (gfc_mark_ss_chain_used, gfc_trans_preloop_setup,
- gfc_trans_scalarizing_loops, gfc_trans_scalarized_boundary):
- Update reference chains.
- * trans-expr.c (gfc_conv_procedure_call): Ditto.
- * trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
- gfc_ss::data::info into gfc_ss_info::data and remove empty union
- gfc_ss::data.
- * trans-array.c (gfc_free_ss, gfc_trans_create_temp_array,
- gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
- gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
- gfc_conv_ss_descriptor, gfc_trans_array_bound_check,
- gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
- add_array_offset, gfc_trans_preloop_setup,
- gfc_trans_scalarized_boundary, gfc_conv_section_startstride,
- gfc_conv_ss_startstride, gfc_could_be_alias,
- gfc_conv_loop_setup, gfc_conv_expr_descriptor,
- gfc_alloc_allocatable_for_assignment, gfc_walk_array_ref):
- Update reference chains and factor them where possible.
- * trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
- gfc_conv_procedure_call, gfc_trans_subarray_assign): Updata reference
- chains.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
- * trans-io.c (transfer_array_component): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies,
- gfc_trans_pointer_assign_need_temp): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
- gfc_ss::data::temp into gfc_ss_info::data.
- * trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference
- chains.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
- gfc_ss::data::scalar into newly created union gfc_ss_info::data,
- and rename subfield expr to value.
- * trans-array.c (gfc_add_loop_ss_code, gfc_conv_array_index_offset,
- gfc_conv_expr_descriptor): Update reference chains.
- * trans-const.c (gfc_conv_constant): Ditto.
- * trans-expr.c (gfc_conv_expr): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
- string_length from the former struct to the latter.
- * trans-array.c
- (gfc_get_temp_ss, gfc_trans_array_constructor, gfc_add_loop_ss_code,
- gfc_conv_ss_descriptor, gfc_conv_scalarized_array_ref,
- gfc_conv_resolve_dependencies, gfc_conv_loop_setup,
- gfc_conv_expr_descriptor): Update references to string_length and
- factor common reference chains where possible.
- * trans-const.c (gfc_conv_constant): Ditto.
- * trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
- gfc_conv_expr): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
- the former struct to the latter.
- * trans-array.c
- (gfc_get_array_ss, gfc_get_scalar_ss,
- gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
- gfc_add_loop_ss_code, gfc_conv_ss_descriptor,
- gfc_trans_array_bound_check, gfc_conv_array_index_offset,
- gfc_conv_scalarized_array_ref, gfc_conv_ss_startstride,
- gfc_could_be_alias, gfc_conv_resolve_dependencies,
- gfc_conv_loop_setup, gfc_conv_expr_descriptor,
- gfc_alloc_allocatable_for_assignment): Update references to expr and
- factor common reference chains where possible.
- * trans-const.c (gfc_conv_constant): Ditto.
- * trans-expr.c (gfc_conv_variable, gfc_conv_procedure_call,
- gfc_conv_array_constructor_expr, gfc_conv_expr,
- gfc_conv_expr_reference): Ditto.
- * trans-intrinsic.c (trans_this_image, gfc_conv_intrinsic_bound,
- gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_funcall,
- gfc_add_intrinsic_ss_code): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss_info): New struct.
- (gfc_get_ss_info): New macro.
- (struct gfc_ss): Move type field to struct gfc_ss_info.
- Add an info field of type gfc_ss_info.
- * trans-array.c (free_ss_info): New function.
- (gfc_free_ss): Call free_ss_info.
- (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss):
- Allocate gfc_ss_info field.
- (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss,
- gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
- gfc_conv_array_index_offset, gfc_trans_preloop_setup,
- gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
- gfc_conv_ss_startstride, gfc_conv_resolve_dependencies,
- gfc_conv_loop_setup, transposed_dims, gfc_conv_expr_descriptor,
- gfc_walk_elemental_function_args): Update references to type.
- * trans-const.c (gfc_conv_constant): Factor common reference chains
- and update reference to type.
- * trans-expr.c (gfc_conv_procedure_call, gfc_trans_assignment_1):
- Update reference to type.
- (gfc_conv_array_constructor_expr, gfc_conv_expr,
- gfc_conv_expr_reference): Ditto. Factor common reference chains.
- * trans-intrinsic.c (walk_inline_intrinsic_transpose): Update references
- to type
- * trans-stmt.c (gfc_trans_where_assign): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
- from the former struct to the latter.
- * trans-array.c (gfc_conv_ss_startstride, gfc_conv_loop_setup):
- Update field references.
- * trans-expr.c (gfc_trans_subarray_assign): Update field references
- and factor common reference chains.
- * trans-io.c (transfer_array_component): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_array_info): Move dim and dimen fields...
- (struct gfc_ss): ... here. Remove gfc_ss::data::temp::dimen field.
- * trans-array.c (gfc_conv_loop_setup): Remove temp_ss dim array
- initialization.
- (gfc_get_temp_ss): Initialize dim and dimen.
- (gfc_free_ss, gfc_get_array_ss, gfc_get_temp_ss,
- gfc_set_loop_bounds_from_array_spec, get_array_ref_dim,
- gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
- gfc_set_vector_loop_bounds, gfc_conv_scalarized_array_ref,
- gfc_trans_preloop_setup, gfc_conv_ss_startstride,
- gfc_conv_resolve_dependencies, gfc_conv_loop_setup, transposed_dims,
- gfc_conv_expr_descriptor, gfc_alloc_allocatable_for_assignment,
- gfc_walk_array_ref): Update field references.
- * trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
- Ditto.
- * trans-intrinsic.c (walk_inline_intrinsic_transpose): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans.h (struct gfc_ss_info, struct gfc_array_info):
- Rename the former to the latter.
- * trans-array.c (gfc_get_array_ss, gfc_trans_allocate_array_storage,
- get_array_ref_dim, gfc_trans_create_temp_array,
- gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds,
- gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
- add_array_offset, gfc_trans_preloop_setup, gfc_conv_section_startstride,
- gfc_conv_ss_startstride, gfc_conv_loop_setup, transposed_dims,
- gfc_conv_expr_descriptor): Update all uses.
- * trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
- Ditto.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
- walk_inline_intrinsic_transpose): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies,
- gfc_trans_pointer_assign_need_temp): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (dim_ok, transposed_dims): Rename the former to the
- latter. Change argument type. Invert return value.
- (gfc_conv_expr_descriptor): Update calls.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (get_array_ref_dim): Change argument type and name.
- Obtain previous argument from the new argument in the body.
- (gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
- Rename the former to the latter. Change type and name of argument.
- Get previous argument from the new one.
- (gfc_add_loop_ss_code): Update call.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.h (gfc_trans_create_temp_array): Replace info argument
- with ss argument.
- * trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss.
- (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
- gfc_trans_create_temp_array.
- * trans-expr.c (gfc_conv_procedure_call): Ditto.
- * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
- * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_array_bound_check): Use ss argument
- to get name.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_array_bound_check,
- trans_array_bound_check): Rename the former to the latter.
- Replace descriptor argument with ss argument. Get descriptor from ss.
- (gfc_conv_array_index_offset, conv_array_index_offset): Rename the
- former to the latter. Update call to trans_array_bound_check.
- Replace info argument with ss argument. Get info from ss.
- (gfc_conv_scalarized_array_ref): Update call to conv_array_index_offset.
- (add_array_offset): Ditto
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_constant_array_constructor,
- trans_constant_array_constructor): Rename the former to the latter.
- Don't set the rank of the temporary for the loop. Remove then unused
- loop argument.
- (gfc_trans_array_constructor): Update call.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
- marker, not after it.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_conv_ss_startstride): Access array bounds along
- array dimensions instead of loop dimensions.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (get_array_ref_dim): Remove redundant condition.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Move common code...
- (add_array_offset): ...into that new function.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
- of array's dimention. Check that it is indeed the same.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
- Special case outermost loop.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Factor loop index
- initialization.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Move code earlier.
-
-2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_trans_preloop_setup): Move array reference
- initialisation earlier. Factor subsequent array references.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.
-
-2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50573
- * check.c (gfc_check_dshift): Update argument checking for BOZ.
- Update checking SHIFT against BITSIZE of I or J.
- * intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.
-
-2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * check.c (gfc_check_atan_2): Typo in comment.
- (gfc_check_nearest): If 's' is constant, check that it is not 0.
- * simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,
- gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,
- gfc_simplify_nearest): Remove dead code.
-
-2011-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * simplify.c (simplify_transformation_to_array): Fix memory leak.
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50821
- * check.c (gfc_check_ishftc): Check args are constant before
- extracting the integer.
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50514
- * check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
- (gfc_check_ishftc): Check |shift| <= bit_size(i) and check
- that size is positive.
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50524
- * resolve.c (resolve_ref): Check return value of resolve_substring().
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * io.c (match_dt_format): Match a user-defined operator or a kind
- type prefixed string.
-
-2011-10-19 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- * check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF.
- * intrinsinc.texi (SIZEOF): Document it.
- (STORAGE_SIZE): Fix special characters. Fix line breaks.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans.c (gfc_build_array_ref): If type is not an array, check that
- there is nothing to do, and do nothing.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans-types.c (gfc_build_array_type): Don't force lower bound to one
- in the deferred case.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.
- Don't set already set array ref.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- * array.c (gfc_find_array_ref): Remove coarray-specific handling.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * check.c (dim_corank_check): Use gfc_get_corank to get corank.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.
-
- PR fortran/50420
- * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for
- the scalarization chain initialization.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans-intrinsic.c (walk_coarray): Allow subreferences after a
- coarray object reference.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
- if they are coarrays.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.h (gfc_walk_array_ref): New prototype.
- * trans-array.c (gfc_walk_array_ref): New function, containing
- all but the beginning of gfc_walk_variable_expr's code.
- (gfc_walk_variable_expr): Use gfc_walk_array_ref.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
- ndim for the descriptor's rank.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
- from zero, and add then the relevant offset (either ndim or loop.dimen)
- depending on context.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- * trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization
- earlier.
-
-2011-10-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- * decl.c (verify_c_interop_param): Renamed to
- 'gfc_verify_c_interop_param'. Add error message for polymorphic
- arguments.
- (verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject
- polymorphic variables.
- (verify_bind_c_sym): Renamed 'verify_c_interop'.
- * gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.
- * check.c (gfc_check_sizeof): Ditto.
- * resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.
- * symbol.c (verify_bind_c_derived_type): Ditto.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * cpp.c (print_line, cb_define): Adjust to avoid using internals
- of struct line_map. Use the public API instead.
-
-2011-10-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- PR fortran/50752
- * primary.c (match_kind_param): Avoid segfault.
-
-2011-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (current_ns): Make static.
- (create_var): Note parent of newly created namespace.
- (optimize_namespace): Don't wak sibling namespaces
- if they are EXEC_BLOCK because this is handled...
- (gfc_code_walker): ... here. Also walk ASSOCIATE lists.
-
-2011-10-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- * primary.c (match_kind_param): Detect ISO_C_BINDING kinds.
- (get_kind): Pass on 'is_iso_c' flag.
- (match_integer_constant,match_real_constant,match_logical_constant):
- Set 'ts.is_c_interop'.
-
-2011-10-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50547
- * resolve.c (resolve_formal_arglist): Remove unneeded error message.
- Some reshuffling.
-
-2011-10-15 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (Fortran 2008 status, TS 29113 status,
- Further Interoperability of Fortran with C): Update implementation
- status, change references from TR 29113 to TS 29113.
- * intrinsic.texi (RANK): Change TR 29113 to TS 29113.
- * invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts.
- * lang.opt (std=): Ditto.
- * options.c (gfc_handle_option, set_default_std_flags): Ditto and
- change GFC_STD_F2008_TR to GFC_STD_F2008_TS.
- * libgfortran.h: Ditto.
- * intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto.
- * decl.c (verify_c_interop_param): Ditto.
-
-2011-10-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50570
- * expr.c (gfc_check_vardef_context): Don't throw an error on
- non-pointer assignments involving an intent(in) pointer dummy.
-
-2011-10-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50718
- * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
- for dummy arguments with VALUE attribute.
-
-2011-10-11 Tobias Burnus <burnus@net-b.de>
- Janus Weil <janus@gcc.gnu.org>
-
- * invoke.texi (-fwhole-file): Update wording since -fwhole-file
- is now enabled by default.
-
-2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * trans-expr.c (gfc_conv_power_op): Delete old interface with two
- parallel arrays to hold standard builtin declarations, and replace
- it with a function based interface that can support creating
- builtins on the fly in the future. Change all uses, and poison
- the old names. Make sure 0 is not a legitimate builtin index.
- (fill_with_spaces): Ditto.
- (gfc_trans_string_copy): Ditto.
- (gfc_trans_zero_assign): Ditto.
- (gfc_build_memcpy_call): Ditto.
- (alloc_scalar_allocatable_for_assignment): Ditto.
- * trans-array.c (gfc_trans_array_constructor_value): Ditto.
- (duplicate_allocatable): Ditto.
- (gfc_alloc_allocatable_for_assignment): Ditto.
- * trans-openmp.c (gfc_omp_clause_copy_ctor): Ditto.
- (gfc_omp_clause_assign_op): Ditto.
- (gfc_trans_omp_atomic): Ditto.
- (gfc_trans_omp_do): Ditto.
- (gfc_trans_omp_task): Ditto.
- * trans-stmt.c (gfc_trans_stop): Ditto.
- (gfc_trans_sync): Ditto.
- (gfc_trans_allocate): Ditto.
- (gfc_trans_deallocate): Ditto.
- * trans.c (gfc_call_malloc): Ditto.
- (gfc_allocate_using_malloc): Ditto.
- (gfc_call_free): Ditto.
- (gfc_deallocate_with_status): Ditto.
- (gfc_deallocate_scalar_with_status): Ditto.
- * f95-lang.c (gfc_define_builtin): Ditto.
- (gfc_init_builtin_functions): Ditto.
- * trans-decl.c (create_main_function): Ditto.
- * trans-intrinsic.c (builtin_decl_for_precision): Ditto.
-
-2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50564
- * frontend-passes (forall_level): New variable.
- (cfe_register_funcs): Don't register functions if we
- are within a forall loop.
- (optimize_namespace): Set forall_level to 0 before entry.
- (gfc_code_walker): Increase/decrease forall_level.
-
-2011-10-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50273
- * trans-common.c (translate_common): Fix -Walign-commons check.
-
-2011-10-09 Mikael Morin <mikael.morin@sfr.fr>
-
- * interface.c (check_dummy_characteristics): Count dimensions starting
- from one in diagnostic.
-
-2011-10-09 Tobias Burnus <burnus@net-b.de>
-
- * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
- dependency on iso-c-binding.def and iso-fortran-env.def.
- * module.c (import_iso_c_binding_module): Add error when
- explicitly importing a nonstandard symbol; extend standard-
- depending loading.
- * iso-c-binding.def: Add c_float128 and c_float128_complex
- integer parameters (for -std=gnu).
- * intrinsic.texi (ISO_C_Binding): Document them.
- * symbol.c (generate_isocbinding_symbol): Change macros
- to ignore GFC_STD_* data.
- * trans-types.c (gfc_init_c_interop_kinds): Ditto; make
- nonstatic and renamed from "init_c_interop_kinds".
- (gfc_init_kinds): Don't call it
- * trans-types.h (gfc_init_c_interop_kinds): Add prototype.
- * f95-lang.c (gfc_init_decl_processing): Call it.
-
-2011-10-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50659
- * expr.c (replace_symbol): Only do replacement if the symbol is a dummy.
-
-2011-10-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47844
- * trans-array.c (gfc_conv_array_index_offset): Use descriptor
- stride for pointer function results.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
- Remove conditions on coarray.
- (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
- (gfc_conv_expr_descriptor): Ditto. Add assertions before the call.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
- argument. Remove condition on coarray_last.
- (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
- (gfc_conv_expr_descriptor): Ditto.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
- handling. Don't reset array ref's corank and codimensions' types
- in the full array ref case. Update loop upper limit.
- Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans.h (gfc_ss_info): Remove codimen field.
- * trans-array.c (gfc_get_array_ss): Don't set codimen field.
- (gfc_trans_create_temp_array): Don't set descriptor's cobounds.
- (gfc_trans_constant_array_constructor): Update loop upper limit.
- (gfc_conv_ss_startstride): Don't set codimen field.
- Don't get descriptor's cobounds.
- (gfc_walk_variable_expr): Update dimension index.
- * trans-intrinsic.c (trans_this_image, trans_image_index,
- conv_intrinsic_cobound): Don't set codimen field
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans.h (gfc_loopinfo): Remove codimen field.
- * trans-array.c (gfc_set_vector_loop_bounds,
- gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
- limit.
- (gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
- codimension.
- (gfc_start_scalarized_body): Update loop lower limit.
- (gfc_conv_ss_startstride): Don't set loop's codimen field.
- (gfc_conv_loop_setup): Remove unnecessary condition.
- (gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans.h (gfc_ss): Remove data.temp.codimen field.
- * trans-array.c (gfc_conv_resolve_dependencies,
- gfc_conv_expr_descriptor): Don't set temp's codimen field.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
- associated dimen_type) in the full array ref case.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-intrinsic.c (walk_coarray): New function.
- (convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
- (trans-this_image, trans_image_index, conv_intrinsic_cobound):
- Use walk_coarray.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
- cobounds evaluation.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_section_startstride): Move code to
- evaluate_bound. Use evaluate_bound.
- (evaluate_bound): New function.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_section_startstride): Update assertion to
- also accept coarrays.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_section_startstride): Factor common
- array ref references.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
- loop.codimen as argument to gfc_get_array_type_bounds.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.h (struct gfc_se): New flag want_coarray.
- * trans-intrinsic.c (trans_this_image, trans_image_index,
- conv_intrinsic_cobound): Set want_coarray.
- * trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
- earlier and without relying on the scalarizer.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * expr.c (gfc_get_corank): Return 0 if input expression is not a
- coarray.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
- descriptor setup code.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * resolve.c (compare_spec_to_ref): Move coarray ref initialization
- code...
- (resolve_array_ref): ... here.
-
-2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
-
- * check.c (is_coarray): Remove.
- (coarray_check): Use gfc_is_coarray.
-
-2011-10-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50625
- * class.c (gfc_build_class_symbol): Fix whitespace.
- * module.c (mio_symbol): Set 'class_ok' attribute.
- * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
- been built for class symbols.
-
-2011-10-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/35831
- * interface.c (check_dummy_characteristics): Check the array shape.
-
-2011-10-01 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50585
- * interface.c (get_expr_storage_size): Check if 'length' component is
- associated.
-
-2011-09-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50547
- * resolve.c (resolve_formal_arglist): Fix pureness check for dummy
- functions.
-
- PR fortran/50553
- * symbol.c (check_conflict): Forbid TARGET attribute for statement
- functions.
-
-2011-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * trans-types.c (gfc_type_for_size): Return wider type
- if no suitable narrower type has been found.
- (gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
- returned type doesn't have expected TYPE_MODE.
-
-2011-09-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50515
- * resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.
-
- PR fortran/50517
- * interface.c (gfc_compare_interfaces): Bugfix in check for result type.
-
-2011-09-22 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/41733
- * expr.c (gfc_check_pointer_assign): Check for nonintrinsic elemental
- procedures.
- * interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Check
- for PURE and ELEMENTAL attributes.
- (compare_actual_formal): Remove pureness check here.
-
-2011-09-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * check.c (gfc_check_c_sizeof): Remove redundant word.
-
-2011-09-20 Simon Baldwin <simonb@google.com>
-
- * module.c (gfc_dump_module): Omit timestamp from output.
-
-2011-09-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50403
- * symbol.c (gfc_use_derived): Fix coding style.
-
-2011-09-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50401
- * resolve.c (resolve_transfer): Check if component 'ref' is defined.
-
- PR fortran/50403
- * symbol.c (gfc_use_derived): Check if argument 'sym' is defined.
-
-2011-09-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/34547
- PR fortran/50375
- * check.c (gfc_check_null): Allow allocatables as MOLD to NULL.
- * resolve.c (resolve_transfer): Reject NULL without MOLD.
- * interface.c (gfc_procedure_use): Reject NULL without MOLD
- if no explicit interface is known.
- (gfc_search_interface): Reject NULL without MOLD if it would
- lead to ambiguity.
-
-2011-09-13 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50379
- * symbol.c (check_conflict): Check conflict between GENERIC and RESULT
- attributes.
-
-2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50327
- * frontend-passes.c (dummy_expr_callback): New function.
- (convert_do_while): New function.
- (optimize_namespace): Call code walker to convert do while loops.
-
-2011-09-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/35831
- PR fortran/47978
- * interface.c (check_dummy_characteristics): New function to check the
- characteristics of dummy arguments.
- (gfc_compare_interfaces,gfc_check_typebound_override): Call it here.
-
-2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.c (gfc_trans_constant_array_constructor): Remove
- superfluous initialisation of DIM field.
- (gfc_trans_array_constructor): Assert that DIMEN field is properly set.
- (gfc_conv_expr_descriptor): Ditto.
- * trans-expr.c (gfc_conv_procedure_call): Ditto.
-
-2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.h (gfc_get_scalar_ss): New prototype.
- * trans-array.c (gfc_get_scalar_ss): New function.
- (gfc_walk_variable_expr, gfc_walk_op_expr,
- gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.
- * trans-expr.c (gfc_trans_subarray_assign): Ditto.
- (gfc_trans_assignment_1): Ditto.
- * trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,
- gfc_trans_where_3): Ditto.
-
-2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.h (gfc_get_temp_ss): New prototype.
- * trans-array.c (gfc_get_temp_ss): New function.
- (gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.
- (gfc_conv_expr_descriptor): Ditto.
- * trans-expr.c (gfc_conv_subref_array_arg): Ditto.
-
-2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
-
- * trans-array.h (gfc_get_array_ss): New prototype.
- * trans-array.c (gfc_get_array_ss): New function.
- (gfc_walk_variable_expr, gfc_walk_function_expr,
- gfc_walk_array_constructor): Re-use gfc_get_array_ss.
- * trans-expr.c (gfc_trans_subarray_assign): Ditto.
- * trans-intrinsic.c (gfc_walk_intrinsic_bound,
- gfc_walk_intrinsic_libfunc): Ditto.
- * trans-io.c (transfer_array_component): Ditto.
-
-2011-09-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/44646
- * decl.c (gfc_match_entry, gfc_match_end): Handle COMP_DO_CONCURRENT.
- * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
- * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
- * match.c (gfc_match_critical, match_exit_cycle, gfc_match_stopcode,
- lock_unlock_statement, sync_statement, gfc_match_allocate,
- gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
- (gfc_match_do): Match DO CONCURRENT.
- (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
- match_forall_iterator, match_forall_header, match_simple_forall,
- gfc_match_forall): Move up in the file.
- * parse.c (check_do_closure, parse_do_block): Handle do concurrent.
- * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
- * resolve.c (do_concurrent_flag): New global variable.
- (resolve_function, pure_subroutine, resolve_branch,
- gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
- diagnostic.
- * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
- * trans-stmt.c (gfc_trans_do_concurrent): New function.
- (gfc_trans_forall_1): Handle do concurrent.
- * trans-stmt.h (gfc_trans_do_concurrent): New function prototype.
- * trans.c (trans_code): Call it.
- * frontend-passes.c (gfc_code_walker): Handle EXEC_DO_CONCURRENT.
-
-2011-09-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48095
- * primary.c (gfc_match_structure_constructor): Handle parsing of
- procedure pointers components in structure constructors.
- * resolve.c (resolve_structure_cons): Check interface of procedure
- pointer components. Changed wording of some error messages.
-
-2011-09-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50227
- * trans-types.c (gfc_sym_type): Check for proc_name.
-
-2011-08-30 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/45044
- * trans-common.c (build_common_decl): Warn if named common
- block's size is not everywhere the same.
-
-2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/45170
- * trans-stmt.c (gfc_trans_allocate): Evaluate the substring.
-
-2011-08-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50225
- * trans-decl.c (gfc_generate_function_code): Nullify polymorphic
- allocatable function results.
-
-2011-08-29 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (generate_coarray_sym_init): Use
- GFC_CAF_COARRAY_STATIC for static coarrays.
-
-2011-08-28 Dodji Seketeli <dodji@redhat.com>
-
- * scanner.c (load_file): Don't abuse LC_RENAME reason while
- (indirectly) calling linemap_add.
-
-2011-08-26 Jakub Jelinek <jakub@redhat.com>
-
- * trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
- if threadprivate.
- * symbol.c (check_conflict): Allow threadprivate attribute with
- FL_PROCEDURE if proc_pointer.
-
-2011-08-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50050
- * expr.c (gfc_free_shape): Do nothing if shape is NULL.
- (free_expr0): Remove redundant NULL shape check.
- * resolve.c (check_host_association): Ditto.
- * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
- non-NULL.
- * trans-io.c (transfer_array_component): Ditto.
-
-2011-08-25 Tobias Burnus <burnus@net-b.de>
-
- * trans-array.c (gfc_conv_descriptor_token): Add assert.
- * trans-decl.c (gfc_build_qualified_array,
- create_function_arglist): Handle assumed-shape arrays.
- * trans-expr.c (gfc_conv_procedure_call): Ditto.
- * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
- add "caf_token" to assumed-shape descriptors, new akind argument.
- (gfc_get_array_type_bounds): Pass akind.
- * trans.h (lang_decl): New elements caf_offset and token.
- (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.
-
-2011-08-25 Tobias Burnus <burnus@net-b.de>
-
- * trans-array.c (structure_alloc_comps): Fix for allocatable
- scalar coarray components.
- * trans-expr.c (gfc_conv_component_ref): Ditto.
- * trans-type.c (gfc_get_derived_type): Ditto.
-
-2011-08-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50163
- * expr.c (check_init_expr): Return when an error occured.
-
-2011-08-24 Joseph Myers <joseph@codesourcery.com>
-
- * Make-lang.in (fortran/cpp.o): Remove explicit compilation rule.
-
-2011-08-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/31600
- * symbol.c (gfc_add_type): Better diagnostic if redefining
- use-associated symbol.
- * module.c (gfc_use_module): Use module name as locus.
-
-2011-08-22 Gabriel Charette <gchare@google.com>
-
- * cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens
- defined in cpp_define_builtins.
-
-2011-08-22 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50050
- * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes.
- * expr.c (gfc_clear_shape, gfc_free_shape): New functions.
- (free_expr0): Re-use gfc_free_shape.
- * trans-expr.c (gfc_trans_subarray_assign): Ditto.
- * trans-io.c (transfer_array_component): Ditto.
- * resolve.c (check_host_association): Ditto.
- (gfc_expr_to_initialize): Don't force the rank value and free the shape
- after updating the expression. Recalculate shape and rank.
- (resolve_where_shape): Re-use gfc_clear_shape.
- * array.c (gfc_array_ref_shape): Ditto.
-
-2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47659
- * expr.c (gfc_check_assign): Check for type conversions when the
- right-hand side is a constant REAL/COMPLEX contstant the left-hand
- side is also REAL/COMPLEX. Don't warn when a narrowing conversion
- for REAL does not change the value of the constant.
-
-2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50130
- * resolve.c (resolve_array_ref): Don't calculate upper bound
- if the stride is zero.
-
-2011-08-20 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49638
- * dependency.c (gfc_dep_compare_expr): Add new result value "-3".
- (gfc_check_element_vs_section,gfc_check_element_vs_element): Handle
- result value "-3".
- * frontend-passes.c (optimize_comparison): Ditto.
- * interface.c (gfc_check_typebound_override): Ditto.
-
-2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/50129
- * parse.c (parse_where): Undo changes after emitting an error.
-
-2011-08-19 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49792
- * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
- bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
- lhs needs reallocation.
- * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
- code is NULL, emit a barrier if workshare emitted no code at all
- and NOWAIT clause isn't present.
-
-2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/50071
- * gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
- * parse.c (check_statement_label): Accept ST_END_BLOCK and
- ST_END_ASSOCIATE as valid branch target.
- (accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
- Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
- * resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
- EXEC_END_NESTED_BLOCK.
- (resolve_branch): Ditto.
- (resolve_code): Add EXEC_END_NESTED_BLOCK case.
- * st.c (gfc_free_statement): Ditto.
- * trans.c (trans_code): Ditto.
-
-2011-08-18 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/50071
- * symbol.c (gfc_get_st_label): Use the derived type namespace when
- we are parsing a derived type definition.
-
-2011-08-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * parse.c (parse_derived): Add lock_type
- checks, improve coarray_comp handling.
- * resolve.c (resolve_allocate_expr,
- resolve_lock_unlock, resolve_symbol): Fix lock_type
- constraint checks.
-
-2011-08-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/31461
- * trans-decl.c (generate_local_decl): Warn about
- unused explicitly imported module variables/parameters.
-
-2011-08-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50070
- * resolve.c (resolve_fl_variable): Reject non-constant character lengths
- in COMMON variables.
-
-2011-08-16 Tobias Burnus <burnus@net-b.de>
- Dominique Dhumieres <dominiq@lps.ens.fr>
-
- PR fortran/50094
- * resolve.c (resolve_symbol): Fix stupid typo.
-
-2011-08-15 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (resolve_symbol): Fix coarray result-var check.
-
-2011-08-14 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.
-
-2011-08-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50073
- * decl.c (check_function_name): New function, separated off from
- 'variable_decl' and slightly extended.
- (variable_decl,attr_decl1): Call it.
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS).
-
-2011-08-07 Janus Weil <janus@gcc.gnu.org>
- Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49638
- * dependency.c (are_identical_variables): For dummy arguments only
- check for equal names, not equal symbols.
- * interface.c (gfc_check_typebound_override): Add checking for rank
- and character length.
-
-2011-08-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49638
- * dependency.h (gfc_is_same_range,gfc_are_identical_variables): Remove
- two prototypes.
- * dependency.c (gfc_are_identical_variables,are_identical_variables):
- Renamed the former to the latter and made static.
- (gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handle
- commutativity of multiplication.
- (gfc_is_same_range,is_same_range): Renamed the former to the latter,
- made static and removed argument 'def'.
- (check_section_vs_section): Renamed 'gfc_is_same_range'.
- * gfortran.h (gfc_check_typebound_override): New prototype.
- * interface.c (gfc_check_typebound_override): Moved here from ...
- * resolve.c (check_typebound_override): ... here (and renamed).
- (resolve_typebound_procedure): Renamed 'check_typebound_override'.
-
-2011-08-06 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50004
- * target-memory.c (gfc_target_expr-size): Don't clobber typespec
- for derived types.
- * simplify.c (gfc_simplify_transfer): Don't calculate source_size
- twice.
-
-2011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37211
- * gfortran.h (gfc_calculate_transfer_sizes): Add prototype.
- * target-memory.h (gfc_target_interpret_expr): Add boolean
- argument wether to convert wide characters.
- * target-memory.c (gfc_target_expr_size): Also return length
- of characters for non-constant expressions if these can be
- determined from the cl.
- (interpret_array): Add argument for gfc_target_interpret_expr.
- (gfc_interpret_derived): Likewise.
- (gfc_target_interpret_expr): Likewise.
- * check.c: Include target-memory.h.
- (gfc_calculate_transfer_sizes): New function.
- (gfc_check_transfer): When -Wsurprising is in force, calculate
- sizes and warn if result is larger than size (check moved from
- gfc_simplify_transfer).
- * simplify.c (gfc_simplify_transfer): Use
- gfc_calculate_transfer_sizes. Remove warning.
-
-2011-08-04 Richard Guenther <rguenther@suse.de>
-
- PR fortran/49957
- * trans-array.c (add_to_offset): New function.
- (gfc_conv_array_ref): Build the array index expression in optimally
- associated order.
- (gfc_walk_variable_expr): Adjust for the backward walk.
-
-2011-08-02 Daniel Kraft <d@domob.eu>
-
- PR fortran/49885
- * trans-array.c (gfc_trans_auto_array_allocation): Change
- gfc_start_block to gfc_init_block to avoid spurious extra-scope.
-
-2011-08-02 Tobias Burnus <burnus@net-b.de>
-
- * trans-array.c (gfc_array_allocate): Pass token to
- gfc_allocate_allocatable for -fcoarray=lib.
- * trans-stmt.c (gfc_trans_allocate): Update
- gfc_allocate_allocatable call.
- * trans.h (gfc_allocate_allocatable): Update prototype.
- (gfc_allocate_using_lib): Remove.
- * trans.c (gfc_allocate_using_lib): Make static, handle token.
- (gfc_allocate_allocatable): Ditto.
-
-2011-08-02 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/46752
- * cpp.c (cpp_define_builtins): Change _OPENMP to 201107.
- * openmp.c (gfc_free_omp_clauses): Free also final_expr.
- (OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE): Define.
- (gfc_match_omp_clauses): Handle parsing final and mergeable
- clauses.
- (OMP_TASK_CLAUSES): Allow final and mergeable clauses.
- (gfc_match_omp_taskyield): New function.
- (resolve_omp_clauses): Resolve final clause. Allow POINTERs and
- Cray pointers in clauses other than REDUCTION.
- (gfc_match_omp_atomic): Match optional
- read/write/update/capture keywords after !$omp atomic.
- (resolve_omp_atomic): Handle all OpenMP 3.1 atomic forms.
- * dump-parse-tree.c (show_omp_node): Handle EXEC_OMP_TASKYIELD,
- print final and mergeable clauses.
- (show_code_node): Handle EXEC_OMP_TASKYIELD.
- * trans-openmp.c (gfc_trans_omp_clauses): Handle final and
- mergeable clauses.
- (gfc_trans_omp_taskyield): New function.
- (gfc_trans_omp_directive): Handle EXEC_OMP_TASKYIELD.
- (gfc_trans_omp_atomic): Handle all OpenMP 3.1 atomic forms.
- (gfc_omp_clause_copy_ctor): Handle non-allocated allocatable.
- (gfc_omp_predetermined_sharing): Adjust comment.
- * gfortran.h (gfc_statement): Add ST_OMP_TASKYIELD and
- ST_OMP_END_ATOMIC.
- (gfc_omp_clauses): Add final_expr and mergeable fields.
- (gfc_exec_op): Add EXEC_OMP_TASKYIELD.
- (gfc_omp_atomic_op): New enum typedef.
- (struct gfc_code): Add ext.omp_atomic.
- * trans.c (trans_code): Handle EXEC_OMP_TASKYIELD.
- * frontend-passes.c (gfc_code_walker): Also walk final_expr.
- * resolve.c (gfc_resolve_blocks, resolve_code): Handle
- EXEC_OMP_TASKYIELD.
- * st.c (gfc_free_statement): Likewise.
- * match.h (gfc_match_omp_taskyield): New prototype.
- * parse.c (decode_omp_directive): Handle taskyield directive.
- Handle !$omp end atomic.
- (case_executable): Add ST_OMP_TASKYIELD case.
- (gfc_ascii_statement): Handle ST_OMP_TASKYIELD.
- (parse_omp_atomic): Return gfc_statement instead of void.
- For !$omp atomic capture parse two assignments instead of
- just one and require !$omp end atomic afterwards, for
- other !$omp atomic forms just allow !$omp end atomic at the
- end.
- (parse_omp_structured_block, parse_executable): Adjust
- parse_omp_atomic callers.
-
-2011-08-02 Tobias Burnus <burnus@net-b.de>
-
- * intrinsic.c (OMP_LIB): Updated openmp_version's
- value to 201107.
- * gfortran.texi (OpenMP): Update ref to OpenMP 3.1.
- * intrinsic.texi (OpenMP Modules): Update ref to OpenMP 3.1;
- remove deleted omp_integer_kind and omp_logical_kind constants.
-
-2011-07-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49112
- * resolve.c (resolve_structure_cons): Don't do the full dt resolution,
- only call 'resolve_fl_derived0'.
- (resolve_typebound_procedures): Resolve typebound procedures of
- parent type.
- (resolve_fl_derived0): New function, which does a part of the work
- for 'resolve_fl_derived'.
- (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
- things.
-
-2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48876
- * expr.c (gfc_simplify_expr): If end of a string is less
- than zero, set it to zero.
-
-2011-07-28 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/31067
- * frontend-passes.c (optimize_minmaxloc): New function.
- (optimize_expr): Call it.
-
-2011-07-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/45586
- * trans-types.c (gfc_get_derived_type): Ensure that pointer
- component types are marked as nonrestricted.
-
-2011-07-27 Daniel Carrera <dcarrera@gmail.com>
-
- PR fortran/49755
- * trans.c (gfc_allocate_using_malloc): Change function signature.
- Return nothing. New parameter "pointer". Eliminate temorary variables.
- (gfc_allocate_using_lib): Ditto.
- (gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
- and gfc_allocate_using_malloc. Do not free and then reallocate a
- variable that is already allocated.
- (gfc_likely): New function. Basedon gfc_unlikely.
- * trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
- Instructions to modify the array descriptor are stored in this block
- while other instructions continue to be stored in "pblock".
- (gfc_array_allocate): Update call to gfc_array_init_size. Move the
- descriptor_block so that the array descriptor is only updated if
- the array was allocated successfully.
- Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
- * trans.h (gfc_allocate_allocatable): Change function signature.
- Function now returns void.
- (gfc_allocate_using_lib): Ditto, and new function parameter.
- (gfc_allocate_using_malloc): Ditto.
- * trans-openmp.c (gfc_omp_clause_default_ctor,
- gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
- to gfc_allocate_allocatable with gfc_allocate_using_malloc.
- * trans-stmt.c (gfc_trans_allocate): Update function calls for
- gfc_allocate_allocatable and gfc_allocate_using_malloc.
-
-2011-07-26 Tobias Burnus <burnus@net-b.de>
-
- * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
- (gfc_conv_descriptor_token): New function.
- * trans-array.h (gfc_conv_descriptor_token): New prototype.
- * trans-types.c (gfc_get_array_descriptor_base): For coarrays
- with -fcoarray=lib, append "void *token" to the array descriptor.
- (gfc_array_descriptor_base_caf): New static variable.
- * trans-expr.c (gfc_conv_procedure_call): Handle token and offset
- when passing a descriptor coarray to a nondescriptor dummy.
-
-2011-07-23 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (resolve_symbol): Fix coarray var decl check.
-
-2011-07-21 Daniel Carrera <dcarrera@gmail.com>
-
- * trans.c (gfc_allocate_with_status): Split into two functions
- gfc_allocate_using_malloc and gfc_allocate_usig_lib.
- (gfc_allocate_using_malloc): The status parameter is now the
- actual status rather than a pointer. Code cleanup.
- (gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and
- errlen. Pass these to the coarray lib.
- * trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to
- gfc_allocate_allocatable.
- (gfc_omp_clause_copy_ctor): Ditto.
- (gfc_trans_omp_array_reduction): Ditto.
- * trans-stmt.c (gfc_trans_allocate): Ditto. Update call to
- gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate
- fuctions. If using coarray lib, pass errmsg and errlen to the allocate
- functions. Move error checking outside the if (!gfc_array_allocate)
- block so that it also affects trees produced by gfc_array_allocate.
- * trans-array.c (gfc_array_allocate): Add new parameters errmsg
- and errlen. Replace parameter pstat by status. Code cleanup. Update
- calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
- * trans-array.h (gfc_array_allocate): Update signature of
- gfc_array_allocate.
-
-2011-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.texi: Remove a duplicate word.
-
-2011-07-21 Tobias Burnus <burnus@net-b.de>
-
- * check.c (gfc_check_present): Allow coarrays.
- * trans-array.c (gfc_conv_array_ref): Avoid casting
- when a pointer is wanted.
- * trans-decl.c (create_function_arglist): For -fcoarray=lib,
- handle hidden token and offset arguments for nondescriptor
- coarrays.
- * trans-expr.c (get_tree_for_caf_expr): New function.
- (gfc_conv_procedure_call): For -fcoarray=lib pass the
- token and offset for nondescriptor coarray dummies.
- * trans.h (lang_type): Add caf_offset tree.
- (GFC_TYPE_ARRAY_CAF_OFFSET): New macro.
-
-2011-07-19 Tobias Burnus <burnus@net-b.de>
-
- * expr.c (gfc_is_coarray): New function.
- * gfortran.h (gfc_is_coarray): New prototype.
- * interface.c (compare_parameter): Use it.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.
- (gfc_trans_string_copy): Likewise.
- * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.
- * trans-types.c (gfc_get_array_descr_info): Likewise.
- * trans.c (gfc_build_array_ref): Likewise.
-
-2011-07-19 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49708
- * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.
-
-2011-07-18 Tobias Burnus <burnus@net-b.de>
-
- * trans-decl.c (gfc_build_qualified_array): Make coarray's
- token TYPE_QUAL_RESTRICT.
-
-2011-07-18 Tobias Burnus <burnus@net-b.de>
-
- * resolve.c (resolve_transfer): Mention defined I/O
- in the diagnostic for alloc_comp/pointer_comp.
-
-2011-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/34657
- * module.c (check_for_ambiguous): Check whether the name is matches
- the current program unit.
-
-2011-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49624
- * expr.c (gfc_check_pointer_assign): Fix checking for invalid
- pointer bounds.
-
-2011-07-16 Tobias Burnus <burnus@net-b.de>
-
- * expr.c (gfc_ref_this_image): New function.
- (gfc_is_coindexed): Use it.
- * gfortran.h (gfc_ref_this_image): New prototype.
- * resolve.c (resolve_deallocate_expr,
- resolve_allocate_expr): Support alloc scalar coarrays.
- * trans-array.c (gfc_conv_array_ref, gfc_array_init_size,
- gfc_conv_descriptor_cosize, gfc_array_allocate,
- gfc_trans_deferred_array): Ditto.
- * trans-expr.c (gfc_conv_variable) Ditto.:
- * trans-stmt.c (gfc_trans_deallocate): Ditto.
- * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds
- gfc_get_array_descr_info): Ditto.
- * trans-decl.c (gfc_get_symbol_decl): Ditto.
-
-2011-07-11 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49698
- * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize
- inner_size to gfc_index_one_node instead of integer_one_node.
-
-2011-07-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49690
- * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL.
-
-2011-07-09 Uros Bizjak <ubizjak@gmail.com>
-
- PR fortran/48926
- * expr.c (gfc_get_corank): Change return value to int.
- * gfortran.h (gfc_get_corank): Update function prototype.
-
-2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/49648
- * resolve.c (resolve_symbol): Force resolution of function result's
- array specification.
-
-2011-07-07 Tobias Burnus <burnus@net-b.de>
-
- * trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
- with NULL arguments for (new) stat=/errmsg= arguments.
-
-2011-07-06 Daniel Carrera <dcarrera@gmail.com>
-
- * trans-array.c (gfc_array_allocate): Rename allocatable_array to
- allocatable. Rename function gfc_allocate_array_with_status to
- gfc_allocate_allocatable_with_status. Update function call for
- gfc_allocate_with_status.
- * trans-opemp.c (gfc_omp_clause_default_ctor): Rename function
- gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.
- * trans-stmt.c (gfc_trans_allocate): Update function call for
- gfc_allocate_with_status. Rename function gfc_allocate_array_with_status
- to gfc_allocate_allocatable_with_status.
- * trans.c (gfc_call_malloc): Add new parameter gfc_allocate_with_status
- so it uses the library for memory allocation when -fcoarray=lib.
- (gfc_allocate_allocatable_with_status): Renamed from
- gfc_allocate_array_with_status.
- (gfc_allocate_allocatable_with_status): Update function call for
- gfc_allocate_with_status.
- * trans.h (gfc_coarray_type): New enum.
- (gfc_allocate_with_status): Update prototype.
- (gfc_allocate_allocatable_with_status): Renamed from
- gfc_allocate_array_with_status.
- * trans-decl.c (generate_coarray_sym_init): Use the new constant
- GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.
-
-2011-07-06 Richard Guenther <rguenther@suse.de>
-
- * f95-lang.c (gfc_init_decl_processing):
- Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
-
-2011-07-04 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49623
- * gfortranspec.c (lang_specific_driver): Ignore options with
- CL_ERR_MISSING_ARG errors.
-
-2011-07-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49562
- * expr.c (gfc_check_vardef_context): Handle type-bound procedures.
-
-2011-06-30 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49540
- * gfortran.h (gfc_constructor): Add repeat field.
- * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
- * array.c (current_expand): Add repeat field.
- (expand_constructor): Copy repeat.
- * constructor.c (node_free, node_copy, gfc_constructor_get,
- gfc_constructor_lookup): Handle repeat field.
- (gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
- * data.h (gfc_assign_data_value): Add mpz_t * argument.
- (gfc_assign_data_value_range): Removed.
- * constructor.h (gfc_constructor_advance): Removed.
- (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
- * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
- also handle overwriting a range with a single entry.
- (gfc_assign_data_value_range): Removed.
- * resolve.c (check_data_variable): Adjust gfc_assign_data_value
- call. Use gfc_assign_data_value instead of
- gfc_assign_data_value_expr.
-
-2011-06-27 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49466
- * trans-array.c (structure_alloc_comps): Make sure sub-components
- and extended types are correctly deallocated.
-
-2011-06-21 Andrew MacLeod <amacleod@redhat.com>
-
- * trans-openmp.c: Add sync_ or SYNC__ to builtin names.
- * trans-stmt.c: Add sync_ or SYNC__ to builtin names.
- * trans-decl.c: Add sync_ or SYNC__ to builtin names.
-
-2011-06-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49112
- * class.c (gfc_find_derived_vtab): Make vtab and default initialization
- symbols SAVE_IMPLICIT.
-
-2011-06-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.h (gfc_check_vardef_context): Update prototype.
- (iso_fortran_env_symbol): Handle derived types.
- (symbol_attribute): Add lock_comp.
- * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
- * interface.c (compare_parameter, gfc_procedure_use): Handle
- LOCK_TYPE.
- (compare_actual_formal): Update
- gfc_check_vardef_context call.
- * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
- * intrinsic.c (check_arglist): Ditto.
- * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
- * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
- * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
- * module.c (mio_symbol_attribute): Handle lock_comp.
- (create_derived_type): New function.
- (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
- * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
- * resolve.c (resolve_symbol, resolve_lock_unlock): Add constraint
- checks for LOCK_TYPE.
- (gfc_resolve_iterator, resolve_deallocate_expr,
- resolve_allocate_expr, resolve_code, resolve_transfer): Update
- gfc_check_vardef_context call.
- * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
- * trans-stmt.c (gfc_trans_lock_unlock): New function.
- * trans.c (trans_code): Handle LOCK and UNLOCK.
-
-2011-06-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49400
- * decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
- BLOCK constructs.
-
-2011-06-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48699
- * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
- make sure the vtab is present.
-
-2011-06-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49074
- * interface.c (gfc_extend_assign): Propagate the locus from the
- assignment to the type-bound procedure call.
-
-2011-06-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49417
- * module.c (mio_component): Make sure the 'class_ok' attribute is set
- for use-associated CLASS components.
- * parse.c (parse_derived): Check for 'class_ok' attribute.
- * resolve.c (resolve_fl_derived): Ditto.
-
-2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (remove_trim): New function.
- (optimize_assignment): Use it.
- (optimize_comparison): Likewise. Return correct status
- for previous change.
-
-2011-06-12 Tobias Burnus
-
- PR fortran/49324
- * trans-expr.c (gfc_trans_assignment_1): Tell
- gfc_trans_scalar_assign to also deep-copy RHS nonvariables
- with allocatable components.
- * trans-array.c (gfc_conv_expr_descriptor): Ditto.
-
-2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (optimize_assignment): Follow chains
- of concatenation operators to the end for removing trailing
- TRIMS for assignments.
-
-2011-06-10 Daniel Carrera <dcarrera@gmail.com>
-
- * trans-decl.c (gfc_build_builtin_function_decls):
- Updated declaration of caf_sync_all and caf_sync_images.
- * trans-stmt.c (gfc_trans_sync): Function
- can now handle a "stat" variable that has an integer type
- different from integer_type_node.
-
-2011-06-09 Richard Guenther <rguenther@suse.de>
-
- * trans.c (gfc_allocate_array_with_status): Mark error path
- as unlikely.
-
-2011-06-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.
- (gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.
- (gfc_code): Add expr4.
- * match.h (gfc_match_lock, gfc_match_unlock): New prototypes.
- * match.c (gfc_match_lock, gfc_match_unlock,
- lock_unlock_statement): New functions.
- (sync_statement): Bug fix, avoiding double freeing.
- (gfc_match_if): Handle LOCK/UNLOCK statement.
- * parse.c (decode_statement, next_statement,
- gfc_ascii_statement): Ditto.
- * st.c (gfc_free_statement): Handle LOCK and UNLOCK.
- * resolve.c (resolve_lock_unlock): New function.
- (resolve_code): Call it.
- * dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.
-
-2011-06-07 Richard Guenther <rguenther@suse.de>
-
- * f95-lang.c (gfc_init_decl_processing): Do not set
- size_type_node or call set_sizetype.
-
-2011-06-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49255
- * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
- for F2008.
-
-2011-06-05 Andreas Schmidt <andreas.schmidt.42@gmx.net>
- Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dump-parse-tree.c (show_symbol): Don't dump namespace
- for ENTRY to avoid infinite recursion.
-
-2011-06-02 Asher Langton <langton2@llnl.gov>
-
- PR fortran/49268
- * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
- pointees as AS_EXPLICIT.
-
-2011-06-02 Asher Langton <langton2@llnl.gov>
-
- PR fortran/37039
- * decl.c (variable_decl): Merge current_as before copying to cp_as.
-
-2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/49265
- * decl.c (gfc_match_modproc): Allow for a double colon in a module
- procedure statement.
- * parse.c ( decode_statement): Deal with whitespace around :: in
- gfc_match_modproc.
-
-2011-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * intrinsic.c (klass): Add CLASS_ATOMIC.
- (add_subroutines): Add atomic_ref/atomic_define.
- * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
- * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
- gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
- * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
- and GFC_ISYM_ATOMIC_REF.
- (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
- * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New
- functions.
- * check.c (gfc_check_atomic, gfc_check_atomic_def,
- gfc_check_atomic_ref): New functions.
- * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
- ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
- * trans-intrinsic.c (conv_intrinsic_atomic_def,
- conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
- functions.
- (conv_intrinsic_move_alloc) Renamed from
- gfc_conv_intrinsic_move_alloc - and made static.
- * trans.h (gfc_conv_intrinsic_move_alloc): Remove.
- (gfc_conv_intrinsic_subroutine) Add prototype.
- * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.
- * trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): New
- global vars.
- (gfc_init_kinds): Set them.
-
-2011-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-array.c (gfc_trans_dummy_array_bias): Handle
- cobounds of assumed-shape arrays.
-
-2011-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * resolve.c (resolve_fl_variable): Handle static coarrays
- with non-constant cobounds.
-
-2011-05-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47601
- * module.c (mio_component_ref): Handle components of extended types.
- * symbol.c (gfc_find_component): Return is sym is NULL.
-
-2011-05-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * interface.c (compare_parameter): Add check for passing coarray
- to allocatable noncoarray dummy.
-
-2011-05-29 Tobias Burnus <burnus@net-b.de>
- Richard Guenther <rguenther@suse.de>
-
- PR fortran/18918
- * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
- the type's TREE_TYPE.
- * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
- * trans.c (gfc_build_array_ref): Ditto.
-
-2011-05-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * check.c (gfc_check_associated, gfc_check_null): Add coindexed check.
- * match.c (gfc_match_nullify): Ditto.
- * resolve.c (resolve_deallocate_expr): Ditto.
- * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted
- for nonpointers.
-
-2011-05-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
- * intrinsic.c (add_functions): Add rank intrinsic.
- (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
- * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.
- * simplify.c (gfc_simplify_rank): New function.
- * intrinsic.texi (RANK): Add description for rank intrinsic.
- * check.c (gfc_check_rank): New function.
-
-2011-05-26 Paul Thomas <pault@gcc.gnu.org>
- Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48955
- * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
- changed to GFC_ENABLE_REVERSE.
- * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
- to GFC_INHIBIT_REVERSE.
- * gfortran.h: Enum gfc_reverse is now GFC_ENABLE_REVERSE,
- GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
- * dependency.c (gfc_dep_resolver): Change names for elements of
- gfc_reverse as necessary. Change the logic so that forward
- dependences are remembered as well as backward ones. When both
- have appeared, force a temporary.
-
-2011-05-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
- * trans-decl.c (has_coarray_vars, caf_init_block,
- gfor_fndecl_caf_register): New file-global variables.
- (gfc_finish_var_decl): Make sure that coarrays in main are static.
- (gfc_build_qualified_array): Generate coarray token variable.
- (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
- (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
- (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
- static coarrays.
- (generate_local_decl): Check for local coarrays.
- (create_main_function): SYNC ALL before calling MAIN.
- (generate_coarray_sym_init): Register static coarray.
- (generate_coarray_init): Generate CAF registering constructor
- function.
- (gfc_generate_function_code): Call it, if needed, do not create
- cgraph twice.
- (gfc_generate_module_vars, gfc_process_block_locals): Call
- generate_coarray_init.
- * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for
- -fcoarray=lib.
- * trans.h (gfor_fndecl_caf_register): New variable.
- (lang_type): New element caf_token.
- (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
-
-2011-05-24 Joseph Myers <joseph@codesourcery.com>
-
- * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
- (gfortran$(exeext)): Use libcommon-target.a.
-
-2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (cfe_register_funcs): Also register
- character functions if their charlens are known and constant.
- Also register allocatable functions.
-
-2011-05-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48699
- * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
- selector is ALLOCATABLE.
-
-2011-05-20 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48706
- * module.c (write_dt_extensions): Do not write extended types which
- are local to a subroutine.
-
-2011-05-20 Joseph Myers <joseph@codesourcery.com>
-
- * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
-
-2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.texi (set_fpe): Update documentation.
- * invoke.texi (-ffpe-trap): Likewise.
- * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.
- * options.c (gfc_handle_fpe_trap_option): Handle inexact and make
- precision an alias for it.
-
-2011-05-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
- (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
- coarrays.
- * trans.c (gfc_build_array_ref): Return original type not variant
- copy for scalar coarrays.
- * trans-array.c (gfc_conv_array_ref): Ditto.
-
-2011-05-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48700
- * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
- argument to avoid memory leaks.
-
-2011-05-16 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
- (Fortran 2008 status): Multi-image support for coarrays.
- (TR 19113 status): New section.
-
-2011-05-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- actual argument is not an array; rank mismatch is diagnosted later.
- * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle
- scalar coarrays.
- * trans-types.c (gfc_get_array_type_bounds): Ditto.
-
-2011-05-15 Joern Rennecke <amylaar@spamcop.net>
-
- PR middle-end/46500
- * trans-types.c: Include "tm.h".
- [0] (c_size_t_size): Remove.
-
-2011-05-15 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48915
- * gfortran.texi (_gfortran_set_options): Even though -fbacktrace
- is now the default, the library defaults to backtracing disabled.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- * lang.opt (fdump-core): Re-add as ignored option
- for backward compatibility.
-
-2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48915
- * gfortran.texi: Update mixed-language programming section
- reflecting the removal of the fdump-core option, and that
- -fbacktrace is now enabled by default.
-
-2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/22572
- * frontend-passes.c (cfe_register_funcs): Also register functions
- for potential elimination if the rank is > 0, the shape is unknown
- and reallocate on assignment is active.
- (create_var): For rank > 0 functions with unknown shape, create
- an allocatable temporary.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * interface.c (compare_parameter): Skip diagnostic if
- actual argument is not an array; rank mismatch is diagnosted later.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- * options.c (gfc_init_options, gfc_post_options): Enable
- -fstack-arrays by default if -Ofast is used.
- * invoke.texi (-fstack-arrays): Document this.
-
-2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48915
- * gfortran.h (gfc_option_t): Remove flag_dump_core.
- * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
- (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
- * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
- * invoke.texi: Remove -fdump-core, document that -fbacktrace is
- enabled by default.
- * lang.opt: Remove -fdump-core.
- * options.c (gfc_init_options): Make backtrace default to enabled,
- remove dump_core.
- (gfc_handle_option): Remove OPT_fdump-core.
- * trans-decl.c: Pass a 0 to preserve ABI.
-
-2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
-
-2011-05-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48972
- * io.c (resolve_tag_format, resolve_tag): Make sure
- that the string is of default kind.
- (gfc_resolve_inquire): Also resolve decimal tag.
-
-2011-05-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48972
- * resolve.c (resolve_intrinsic): Don't resolve module
- intrinsics multiple times.
-
-2011-05-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48889
- * expr.c (gfc_is_constant_expr): Use e->value.function.esym
- instead of e->symtree->n.sym, if available.
-
-2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * f95-lang.c (global_bindings_p): Return bool and simplify.
-
-2011-05-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- PR fortran/48919
- * trans.h: Move gfc_init_coarray_decl prototype ...
- * gfortran.h: ... to here.
- * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
- (gfc_parse_file): Update translate_all_program_units call.
- * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
- new argument whether DECL_EXTERNAL should be used.
- (create_main_function): Update gfc_init_coarray_decl call.
- * trans-intrinsic.c (trans_this_image, trans_image_index,
- conv_intrinsic_cobound): Ditto.
-
-2011-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-array.c (gfc_walk_variable_expr): Continue walking
- for scalar coarrays.
- * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
- (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
- (trans_this_image): Fix algorithm.
- * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
- gfc_sym_type): Handle scalar coarrays.
-
-2011-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48858
- PR fortran/48820
- * lang.opt (std=f2008tr): New.
- * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
- * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
- procedures for -std=f2008tr/gnu/legacy.
- (gfc_match_import): Set sym to NULL.
- * options.c (set_default_std_flags,gfc_handle_option): Handle
- -std=f2008tr.
- * invoke.texi (-std=): Document -std=f2008tr.
-
-2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
- * trans-io.c (add_case): Likewise.
- * trans-stmt.c (gfc_trans_integer_select): Likewise.
- (gfc_trans_character_select): Likewise.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * trans-decl.c (trans_function_start): Do not set
- dont_save_pending_sizes_p.
-
-2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
-
- * trans.h (gfc_chainon_list): Delete.
- * trans.c (gfc_chainon_list): Delete.
-
-2011-05-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48864
- * invoke.texi (fno-protect-parens): Document
- that -Ofast implies -fno-protect-parens.
- * options.c (gfc_init_options, gfc_post_options):
- Make -Ofast imply -fno-protect-parens.
-
-2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
-
- * trans-decl.c (build_library_function_decl_1): Call
- build_function_type_vec. Adjust argument list building accordingly.
- * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
- * trans-types.c (gfc_get_function_type): Likewise.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * trans-array.c (gfc_trans_array_constructor_value): Use
- size_int for bounds of range types.
- (gfc_trans_array_constructor_value): Use size_type_node
- for memcpy argument.
- * trans-common.c (build_field): Use gfc_charlen_type_node
- for lengths.
- * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
- as type to build_int_cst.
- * trans-const.c (gfc_build_string_const): Use size_int
- for bounds of range types.
- (gfc_build_wide_string_const): Likewise.
- * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
- for lengths.
- (gfc_trans_character_select): Likewise.
- (gfc_trans_character_select): Do not pass NULL
- as type to build_int_cst.
- (gfc_trans_character_select): Use size_int for bounds of range types.
- * trans-io.c (gfc_build_io_library_fndecls): Likewise.
- (add_case): Do not pass NULL as type to build_int_cst.
- (transfer_expr): Likewise.
- (transfer_array_desc): Likewise.
- * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
- for lengths.
- (gfc_trans_assign_aux_var): Likewise.
- (create_main_function): Use size_int for bounds of range types.
- * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
- NULL as type to build_int_cst.
- (gfc_conv_intrinsic_spacing): Likewise.
- (gfc_conv_intrinsic_rrspacing): Likewise.
- (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
-
-2011-05-04 Richard Guenther <rguenther@suse.de>
-
- * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
- argument to int_const_binop.
-
-2011-05-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-intrinsic.c (trans_this_image): Implement version with
- coarray argument.
- (conv_intrinsic_cobound): Simplify code.
- (gfc_conv_intrinsic_function): Call trans_this_image for
- this_image(coarray) except for -fcoarray=single.
-
-2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/48720
- * gfortran.texi: Document the 'Q' exponent-letter extension.
- * invoke.texi: Document -Wreal-q-constant.
- * lang.opt: Add -Wreal-q-constant option.
- * gfortran.h: Add warn_real_q_constant to option struct.
- * primary.c (match_real_constant): Use it. Accept 'Q' as
- exponent-letter for REAL(16) real-literal-constant with a
- fallback to REAL(10) or error if REAL(10) is not available.
- * options.c (gfc_init_options, set_Wall) Set it.
- (gfc_handle_option): Handle new option.
-
-2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * dump-prase-tree.c (show_code_node): Set the current
- namespace to the BLOCK before displaying it; restore
- afterwards.
-
-2011-04-30 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48821
- * decl.c (gfc_match_import): Don't try to find the
- symbol if already found.
-
-2011-04-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48746
- * trans-expr.c (fcncall_realloc_result): Set the bounds and the
- offset so that the lbounds are one.
- (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
-
-2011-04-29 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48462
- * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
- automatic reallocation when the lhs is a target.
-
- PR fortran/48746
- * trans-expr.c (fcncall_realloc_result): Make sure that the
- result dtype field is set before the function call.
-
-2011-04-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48810
- * resolve.c (resolve_typebound_generic_call): Don't check access
- flags of the specific function.
-
- PR fortran/48800
- * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
- to AS_ASSUMED_SHAPE for function results.
- (resolve_fl_var_and_proc): Print also for function results with
- AS_DEFERRED an error, if they are not a pointer or allocatable.
- (resolve_types): Make sure arguments of procedures in interface
- blocks are resolved.
-
-2011-04-29 Michael Matz <matz@suse.de>
-
- * options.c (options.c): Set warn_maybe_uninitialized.
-
-2011-04-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48112
- * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
- function results only once.
- (resolve_symbol): Always resolve function results.
-
- PR fortran/48279
- * expr.c (gfc_check_vardef_context): Fix handling of generic
- EXPR_FUNCTION.
- * interface.c (check_interface0): Reject internal functions
- in generic interfaces, unless -std=gnu.
-
-2011-04-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48788
- * resolve.c (resolve_global_procedure): Error recovery -
- avoid segfault for (non)character-returning functions.
-
-2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * decl.c (gfc_match_end): Check that the block name starts
- with "block@".
- * parse.c (gfc_build_block_ns): Make block names unique by
- numbering them.
-
-2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (inserted_block): New variable.
- (changed_statement): Likewise.
- (create_var): Encase statement to be operated on in a BLOCK.
- Adjust code insertion for BLOCK.
- (cfe_code): Set inserted_block and changed_statement to NULL.
-
-2011-04-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * module.c (mio_array_spec): Set as->cotype on reading.
- * resolve.c (resolve_allocate_expr): Fix allocating coarray
- components.
-
-2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48405
- * frontend_passes (cfe_register_funcs): Remove workaround for DO
- loops.
- (gfc_code_walker): Make sure the pointer to the current
- statement doen't change when other statements are inserted.
-
-2011-04-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
-
-2011-04-20 Jim Meyering <meyering@redhat.com>
-
- * expr.c (free_expr0): Remove useless if-before-free.
- * gfortranspec.c (lang_specific_pre_link): Likewise.
- * interface.c (gfc_extend_expr): Likewise.
- * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
-
-2011-04-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48588
- PR fortran/48692
-
- * module.c (fix_mio_expr): Commit created symbol.
-
-2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
-
- * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
-
-2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
-
- * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
- free.
-
-2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
-
- * misc.c (gfc_getmem): Remove function.
- * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
- usage with XCNEW or XCNEWVEC.
- * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
- XCNEW or XCNEWVEC.
- * options.c (gfc_handle_module_path_options)
- (gfc_get_option_string): Likewise.
- * resolve.c (gfc_resolve_forall): Likewise.
- * simplify.c (simplify_transformation_to_array): Likewise.
- * target-memory.c (gfc_target_interpret_expr): Likewise.
- * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
- (get_init_field): Likewise.
- * trans-expr.c (gfc_conv_statement_function): Likewise.
- * trans-io.c (nml_full_name): Likewise.
- * trans-stmt.c (gfc_trans_forall_1): Likewise.
- * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
-
-2011-04-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48588
- * parse.c (resolve_all_program_units): Skip modules.
- (translate_all_program_units): Handle modules.
- (gfc_parse_file): Defer code generation for modules.
-
-2011-04-19 Martin Jambor <mjambor@suse.cz>
-
- * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
- instead of cgraph_get_create_node.
-
-2011-04-18 Jim Meyering <meyering@redhat.com>
-
- remove now-unused definition of gfc_free
- * misc.c (gfc_free): Remove function.
- * gfortran.h (gfc_free): Remove its prototype.
-
-2011-04-18 Jim Meyering <meyering@redhat.com>
-
- convert each use of gfc_free (p) to free (p)
- Do that by running this command:
- perl -pi -e 's/\bgfc_free ?\(/free (/' \
- $(git grep -El '\bgfc_free ?\(')
- which also corrects the few uses that lacked a space between
- the function name and the open parenthesis.
- Manually undo the change to the function definition itself
- and its prototype. They'll be removed next.
- * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
- * constructor.c (node_free): Likewise.
- * cpp.c (dump_queued_macros): Likewise.
- * data.c (gfc_assign_data_value): Likewise.
- * decl.c (free_variable, free_value, gfc_free_data): Likewise.
- (gfc_free_data_all, match_old_style_init): Likewise.
- (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
- Likewise.
- (gfc_match_modproc): Likewise.
- * dependency.c (check_section_vs_section): Likewise.
- * error.c (gfc_pop_error, gfc_free_error): Likewise.
- * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
- (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
- (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
- Likewise.
- * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
- (strip_function_call, optimize_comparison): Likewise.
- * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
- (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
- Likewise.
- * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
- (gfc_convert_chartype): Likewise.
- * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
- Likewise.
- (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
- * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
- (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
- Likewise.
- (free_case, gfc_free_forall_iterator): Likewise.
- * misc.c: Likewise.
- * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
- (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
- (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
- (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
- (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
- (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
- * openmp.c (gfc_free_omp_clauses): Likewise.
- * options.c (gfc_post_options): Likewise.
- * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
- * primary.c (gfc_free_structure_ctor_component): Likewise.
- * resolve.c (resolve_structure_cons, check_host_association): Likewise.
- (gfc_resolve_forall, resolve_equivalence): Likewise.
- * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
- (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
- (load_file, gfc_read_orig_filename): Likewise.
- * simplify.c (simplify_transformation_to_array): Likewise.
- (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
- Likewise.
- (gfc_simplify_compiler_options): Likewise.
- * st.c (gfc_free_statement, gfc_free_statements): Likewise.
- (gfc_free_association_list): Likewise.
- * symbol.c (free_components, gfc_free_st_label, free_st_labels):
- Likewise.
- (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
- (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
- (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
- (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
- Likewise.
- (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
- (gfc_free_namespace): Likewise.
- * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
- (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
- (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
- * trans-common.c (get_init_field, create_common): Likewise.
- * trans-const.c (gfc_build_wide_string_const): Likewise.
- (gfc_conv_string_init): Likewise.
- * trans-decl.c (gfc_generate_function_code): Likewise.
- * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
- Likewise.
- (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
- (gfc_trans_subarray_assign): Likewise.
- * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
- * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
- (transfer_namelist_element, transfer_array_component): Likewise.
- * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
- * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
- * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
- Likewise.
-
-2011-04-15 Jim Meyering <meyering@redhat.com>
-
- gfortran: remove cpp definition of free, ...
- in preparation for the s/gfc_free/free/ transformation.
- * gfortran.h (free): Remove macro definition that would otherwise
- prevent direct use of the function.
-
-2011-04-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * array.c (gfc_match_array_ref): Check for too many codimensions.
- * check.c (gfc_check_image_index): Check number of elements
- in SUB argument.
- * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
-
-2011-04-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * iresolve.c (gfc_resolve_image_index): Set ts.type.
- * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
- are not known at compile time and handle -fcoarray=lib.
- * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
- IMAGE_INDEX.
- (conv_intrinsic_cobound): Fix comment typo.
- (trans_this_image): New function.
- * trans-array.c (gfc_unlikely): Move to trans.c.
- * trans.c (gfc_unlikely): Function moved from trans-array.c.
- (gfc_trans_runtime_check): Use it.
- * trans-io.c (gfc_trans_io_runtime_check): Ditto.
- * trans.h (gfc_unlikely): Add prototype.
-
-2011-04-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48462
- * trans-expr.c (fcncall_realloc_result): Renamed version of
- realloc_lhs_bounds_for_intrinsic_call that does not touch the
- descriptor bounds anymore but makes a temporary descriptor to
- hold the result.
- (gfc_trans_arrayfunc_assign): Modify the reference to above
- renamed function.
-
-2011-05-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48624
- * trans-decl.c (gfc_get_extern_function_decl): Fix decl
- for external procedures with proc arguments.
-
-2011-04-15 Michael Matz <matz@suse.de>
-
- * trans-array.c (toplevel): Include gimple.h.
- (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
- properly expand variable length arrays.
- (gfc_trans_auto_array_allocation): If flag_stack_arrays create
- variable length decls and associate them with their scope.
- * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
- * options.c (gfc_init_options): Handle -fstack_arrays option.
- * lang.opt (fstack-arrays): Add option.
- * invoke.texi (Code Gen Options): Document it.
- * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
-
-2011-04-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
- code which is also causing an ICE.
-
-2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
-
- * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
-
-2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
-
- * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
- calling TREE_CHAIN.
-
-2011-04-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48360
- PR fortran/48456
- * trans-array.c (get_std_lbound): For derived type variables
- return array valued component lbound.
-
-2011-04-12 Martin Jambor <mjambor@suse.cz>
-
- * trans-decl.c (gfc_generate_function_code): Call
- cgraph_get_create_node instead of cgraph_node.
-
-2011-04-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * simplify.c (simplify_bound_dim): Exit for
- ucobound's last dimension unless -fcoarray=single.
- * trans-array (gfc_conv_descriptor_size_1): Renamed from
- gfc_conv_descriptor_size, made static, has now from_dim and
- to_dim arguments.
- (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
- (gfc_conv_descriptor_cosize): New function.
- * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
- * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
- and handle last codim of ucobound for when -fcoarray is not "single".
-
-2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48448
- * gfortran.h (gfc_option_t): Add warn_function_elimination and
- flag_frontend_optimize.
- * lang.opt (Wfunction-elimination): Add.
- (ffrontend-optimize): Add.
- * invoke.texi: Add documentation for -Wfunction-elimination
- and -ffrontend-optimize. Add -faggressive-function-elimination
- to list of code generation options.
- * frontend-passes.c (gfc_run_passes): Run optimizations if
- flag_frontend_optimize is set.
- (warn_function_elimination): New function.
- (cfe_expr_0): Call it if requested to do so.
- * options.c (gfc_init_options): Initiate warn_function_elimination
- and flag_frontend_optimize.
- (gfc_post_options): Set flag_frontend_optimize if not specified
- by user, depending on the optimization level.
- (gfc_handle_option): Handle -Wfunction-elimination and
- -ffrontend-optimize.
-
-2011-04-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
- call for this_image.
-
-2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
-
- * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
- build_function_type_list instead of build_function_type. Correct
- argument order for func_frexp and func_scalbn.
-
-2011-04-05 Duncan Sands <baldrick@free.fr>
-
- * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
-
-2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes: (optimize_lexical_comparison): New function.
- (optimize_expr): Call it.
- (optimize_comparison): Also handle lexical comparison functions.
- Return false instad of -2 for unequal comparison.
-
-2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48412
- * frontend-passes (cfe_expr_0): Reverse the order of going
- through the loops.
-
-2011-04-04 Tobias Burnus <burnus@net-b.de>
- Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/18918
- * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
- * expr.c (gfc_is_coindexed): Ditto.
- * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
- * interface.c (compare_parameter): Use gfc_expr_attr and
- gfc_is_coindexed.
- * resolve.c (check_dimension, compare_spec_to_ref,
- resolve_allocate_expr, check_data_variable): Update for
- DIMEN_THIS_IMAGE.
- * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
- gfc_simplify_ucobound): Allow non-constant bounds.
- * trans-array.c (gfc_set_loop_bounds_from_array_spec,
- gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
- gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
- gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
- gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
- gfc_conv_ss_startstride, gfc_conv_loop_setup,
- gfc_trans_array_bounds, gfc_conv_expr_descriptor,
- gfc_walk_variable_expr): Handle codimen.
- * trans-decl.c (gfc_build_qualified_array): Save cobounds.
- * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
- (conv_intrinsic_cobound): New function.
- (gfc_conv_intrinsic_function): Call it.
- (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
- ucobound, lcobound, this_image.
- * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
- (gfc_get_dtype): Honour corank.
- (gfc_get_nodesc_array_type): Save corank and codimensions.
- (gfc_get_array_type_bounds): Save cobound.
- * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
- (gfc_array_kind): Add corank item.
- (GFC_TYPE_ARRAY_CORANK): New macro.
-
-2011-04-03 Kai Tietz <ktietz@redhat.com>
-
- PR middle-end/48422
- * Make-lang.in (f95-lang.o): Add some missing dependencies.
-
-2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48352
- * frontend-passes (cfe_register_funcs): Don't
- register functions if they appear as iterators in DO loops.
-
-2011-03-30 Michael Matz <matz@suse.de>
-
- PR fortran/47516
- * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
- don't use local variable.
- (gfc_trans_arrayfunc_assign): Adjust caller.
-
-2011-03-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48095
- * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
- * module.c (MOD_VERSION): Bump.
- (mio_typespec): Read/write 'interface' field.
- * primary.c (match_string_constant,match_logical_constant): Remove
- unneeded code.
- (match_complex_constant): Make sure to clear the typespec.
-
-2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes.c (create_var): Warn about creating an
- array temporary if requested.
-
-2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47065
- * frontend-passes.c (optimize_trim): Also follow references, except
- when they are substring references or array references.
-
-2011-03-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
- GFC_ISYM_NUM_IMAGES.
- (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
- * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
- rename.
- * invoke.texi (-fcoarray=): Document "lib" argument.
- * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
- * libgfortran.h (libgfortran_stat_codes): Add comments.
- * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
- * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
- Handle GFC_FCOARRAY_LIB.
- * trans.h (gfc_init_coarray_decl): New prototype.
- (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
- gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
- gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
- gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
- gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
- New global variables.
- * trans-decl.c: Declare several CAF functions (cf. above).
- (gfc_build_builtin_function_decls): Initialize those.
- (gfc_init_coarray_decl): New function.
- (create_main_function): Call CAF init/finalize functions.
- * trans-intrinsic.c (trans_this_image, trans_num_images): New.
- (gfc_conv_intrinsic_function): Call those.
- * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
- Add code for GFC_FCOARRAY_LIB.
-
-2011-03-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48291
- * class.c (get_unique_hashed_string): Adjust maximum allowable length
- for unique type string.
-
-2011-03-25 Kai Tietz <ktietz@redhat.com>
-
- * scanner.c (preprocessor_line): Use filename_cmp
- instead of strcmp.
-
-2011-03-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48174
- PR fortran/45304
- * trans-types.c (gfc_get_function_type): Don't use varargs if the
- procedure is known to have no arguments.
-
-2011-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/22572
- * gfortran.h (gfc_option_t): Add
- flag_aggressive_function_elimination.
- (gfc_dep_compare_functions): Add prototype.
- * lang.opt: Add faggressive-function-elimination.
- * invoke.texi: Document -faggressive-function-elimination.
- * frontend_passes (expr_array): New static variable.
- (expr_size): Likewise.
- (expr_count): Likewise.
- (current_code): Likewise.
- (current_ns): Likewise.
- (gfc_run_passes): Allocate and free space for expressions.
- (cfe_register_funcs): New function.
- (create_var): New function.
- (cfc_expr_0): New function.
- (cfe_code): New function.
- (optimize_namespace): Invoke gfc_code_walker with cfe_code
- and cfe_expr_0.
- * dependency.c (gfc_dep_compare_functions): New function.
- (gfc_dep_compare_expr): Use it.
- * options.c (gfc_init_options): Handle
- flag_aggressive_function_elimination.
- (gfc_handle_option): Likewise.
-
-2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * arith.c (arith_power): Plug memory leak.
-
-2011-03-12 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48059
- * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
- for polymorphic arguments.
-
-2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/48054
- * intrinsic.texi: Clarify doc of logarithm functions.
-
-2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/47552
- * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
- the string length variable.
-
-2011-03-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47768
- * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
- (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
-
-2011-03-06 Paul Thomas <pault@gcc.gnu.org>
- Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/47850
- * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
- the expression has an iterator. Otherwise, iterate through the
- array, checking for constant expressions for each element.
-
-2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47802
- * intrinsic.texi: Update CTIME and FDATE documentation.
-
-2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * invoke.texi (Option Summary, Fortran Dialect Options)
- (Preprocessing Options, Runtime Options, Code Gen Options):
- Fix vertical list spacing by using @itemx for additinoal
- items, empty line before @table. Fix typos.
-
-2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/47894
- * intrinsic.texi: Fix doc of the VERIFY intrinsic.
-
-2011-02-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47846
- * trans-stmt.c (gfc_trans_allocate): Fix allocation with
- type-spec of deferred-length strings.
-
-2011-02-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47886
- * openmp.c (gfc_resolve_omp_directive): Resolve if()
- condition of OpenMP's task.
-
-2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/47894
- * intrinsic.texi: Fix doc of the VERIFY intrinsic.
-
-2011-02-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47872
- * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
- multitable for linebreak between different syntax variants.
-
-2011-02-24 Richard Guenther <rguenther@suse.de>
-
- PR fortran/47839
- * f95-lang.c (pushdecl): For externs in non-global scope push
- a copy of the decl into the BLOCK.
-
-2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/40850
- * trans.c (gfc_prepend_expr_to_block): New function.
- * trans.h (gfc_prepend_expr_to_block): Declare.
- * trans-array.c (gfc_conv_array_parameter): Replace
- gfc_add_expr_to_block with gfc_prepend_expr_to_block.
-
-2011-02-22 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/45743
- * trans-decl.c (gfc_get_extern_function_decl): Don't use the
- gsymbol backend_decl if the procedure has a formal argument
- that is a procedure.
-
-2011-02-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41359
- * trans-stmt.c (gfc_trans_if_1): Use correct line for
- expressions in the if condition.
-
-2011-02-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47797
- * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
- gfc_restore_backend_locus to have better debug locations.
- * trans-array.c (gfc_trans_deferred_array): Ditto.
-
-2011-02-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/45077
- PR fortran/44945
- * trans-types.c (gfc_get_derived_type): Remove code that looks
- for decls in gsym and add call to gfc_get_module_backend_decl.
- * trans.h: Add prototype for gfc_get_module_backend_decl.
- * trans-decl.c (gfc_get_module_backend_decl): New function.
- (gfc_get_symbol_decl): Call it.
-
-2011-02-19 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47348
- * trans-array.c (get_array_ctor_all_strlen): Move up in file.
- (get_array_ctor_var_strlen): Add block dummy and add call to
- get_array_ctor_all_strlen instead of giving up on substrings.
- Call gcc_unreachable for default case.
- (get_array_ctor_strlen): Add extra argument to in call to
- get_array_ctor_var_strlen.
-
-2011-02-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47789
- * primary.c (gfc_match_structure_constructor): Handle empty parent
- types.
-
-2011-02-18 Tobias Burnus
-
- PR fortran/47775
- * trans-expr.c (arrayfunc_assign_needs_temporary): Use
- esym to check whether the specific procedure returns an
- allocatable or pointer.
-
-2011-02-18 Michael Matz <matz@suse.de>
-
- PR fortran/45586
- * gfortran.h (struct gfc_component): Add norestrict_decl member.
- * trans.h (struct lang_type): Add nonrestricted_type member.
- * trans-expr.c (gfc_conv_component_ref): Search fields with correct
- parent type.
- * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
- (gfc_sym_type): Use it.
-
-2011-02-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47768
- * resolve.c (resolve_transfer): Reject variables with procedure pointer
- components.
-
-2011-02-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47767
- * gfortran.h (gfc_check_access): Removed prototype.
- (gfc_check_symbol_access): Added prototype.
- * module.c (gfc_check_access): Renamed to 'check_access', made static.
- (gfc_check_symbol_access): New function, basically a shortcut for
- 'check_access'.
- (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
- 'gfc_check_symbol_access'.
- (write_operator,write_module): Renamed 'gfc_check_access'.
- * resolve.c (resolve_fl_procedure,resolve_fl_derived,
- resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
- 'gfc_check_symbol_access'.
-
-2011-02-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47745
- * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
- * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
- 'gfc_build_class_symbol'.
- (gfc_match_decl_type_spec): Reject unlimited polymorphism.
- * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
- * match.c (select_type_set_tmp): Move setting of 'class_ok' into
- 'gfc_build_class_symbol'.
- * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
-
-2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/47633
- . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
-
-2011-02-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47730
- * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
-
-2011-02-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47728
- * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
- arrays.
- * primary.c (gfc_match_varspec): Avoid ICE for invalid class
- declaration.
-
-2011-02-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47349
- * interface.c (get_expr_storage_size): Handle derived-type components.
-
-2011-02-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47569
- * interface.c (compare_parameter): Avoid ICE with
- character components.
-
-2011-02-12 Janus Weil <janus@gcc.gnu.org>
-
- * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
- * decl.c (build_sym,build_struct,attr_decl1): Use return value of
- 'gfc_build_class_symbol'.
-
-2011-02-12 Michael Matz <matz@suse.de>
- Janus Weil <janus@gcc.gnu.org>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/45586
- * trans-expr.c (conv_parent_component_references): Avoid unintendent
- skipping of parent compounds.
-
-2011-02-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47550
- * resolve.c (resolve_formal_arglist): PURE with VALUE
- and no INTENT: Add -std= diagnostics.
-
-2011-02-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47352
- * resolve.c (resolve_procedure_interface): If interface has a result
- variable, copy the typespec and set result pointer to self.
-
-2011-02-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47463
- * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
-
-2011-02-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47637
- * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
-
-2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- * io.c (match_io_element): Do not set dt if not inquire.
-
-2011-02-08 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45290
- * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
- initialization target.
-
-2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
- Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * gfortran.texi (Thread-safety): texinfo styling fixes.
- * intrinsic.texi: Likewise.
-
-2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.texi (Compiler Characteristics): Add reference to
- thread-safety section.
-
-2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.texi (Thread-safety): New section.
- * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
- (GETENV): Likewise.
- (GET_ENVIRONMENT_VARIABLE): Likewise.
- (SYSTEM): Likewise.
-
-2011-02-06 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47592
- * trans-stmt.c (gfc_trans_allocate): For deferred character
- length allocations with SOURCE, store to the values and string
- length to avoid calculating twice. Replace gfc_start_block
- with gfc_init_block to avoid unnecessary contexts and to keep
- declarations of temporaries where they should be. Tidy up the
- code a bit.
-
-2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/42434
- * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
-
-2011-02-02 Janus Weil <janus@gcc.gnu.org>
- Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47082
- * trans-expr.c (gfc_trans_class_init_assign): Add call to
- gfc_get_derived_type.
- * module.c (read_cleanup): Do not use unique_symtrees for vtabs
- or vtypes.
-
-2011-02-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47572
- * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
-
-2011-02-01 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47565
- * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
- pointer components with allocatable result.
-
-2011-01-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47455
- * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
- with pointer or allocatable result.
-
-2011-01-31 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47519
- * trans-stmt.c (gfc_trans_allocate): Improve handling of
- deferred character lengths with SOURCE.
- * iresolve.c (gfc_resolve_repeat): Calculate character
- length from source length and ncopies.
- * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
- expressions for ALLOCATE.
-
-2011-01-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47463
- * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
- an argument of a typebound assignment being a component.
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
- LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
-
-2011-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47042
- * resolve.c (resolve_fl_procedure): Reject stmt functions
- with pointer/allocatable attribute.
-
-2011-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47042
- * interface.c (gfc_procedure_use): Add explicit interface check for
- pointer/allocatable functions.
-
-2011-01-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47523
- * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
- expr and is assigned to a deferred character length scalar,
- make sure that the function is called before reallocation,
- so that the length is available. Include procedure pointer
- and procedure pointer component rhs as well.
-
- PR fortran/45170
- PR fortran/35810
- PR fortran/47350
- * gfortran.dg/allocatable_function_5.f90: New test not added by
- mistake on 2011-01-28.
-
-2011-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47531
- * check.c (gfc_check_shape): Support kind argument in SHAPE.
- * intrinsic.c (add_functions): Ditto.
- * resolve.c (gfc_resolve_shape): Ditto.
- * simplify.c (gfc_simplify_shape): Ditto.
- * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
- gfc_simplify_shape): Update prototypes.
- * intrinisc.text (SHAPE): Document kind argument.
-
-2011-01-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47507
- * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
- attribute also without INTENT.
-
-2011-01-28 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi (Fortran 2003 status): Mention support for
- nonconstant namelist variables.
-
-2011-01-28 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/45170
- PR fortran/35810
- PR fortran/47350
- * interface.c (compare_actual_formal): An allocatable or pointer
- deferred length actual is only allowed if the formal argument
- is also deferred length. Clean up whitespace.
- * trans-expr.c (gfc_conv_procedure_call): Pass string length for
- deferred character length formal arguments by reference. Do the
- same for function results.
- (gfc_trans_pointer_assignment): Do not do runtime check of lhs
- and rhs character lengths, if deferred length lhs. In this case
- set the lhs character length to that of the rhs.
- (gfc_conv_string_parameter): Remove assert that string length is
- an integer type.
- (is_scalar_reallocatable_lhs): New function.
- (alloc_scalar_allocatable_for_assignment): New function.
- (gfc_trans_assignment_1): Call above new function. If the rhs is
- a deferred character length itself, makes ure that the function
- is called before reallocation, so that the length is available.
- (gfc_trans_asssignment): Remove error about assignment to
- deferred length character variables.
- * gfortran.texi: Update entry about (re)allocation on
- assignment.
- * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
- length character variables.
- * module.c (mio_typespec): Transfer deferred characteristic.
- * trans-types.c (gfc_get_function_type): New code to generate
- hidden typelist, so that those character lengths that are
- passed by reference get the right type.
- * resolve.c (resolve_contained_fntype): Supress error for
- deferred character length functions.
- (resolve_function, resolve_fl_procedure) The same.
- (check_symbols): Remove the error that support for
- entity with deferred type parameter is not yet implemented.
- (resolve_fl_derived): The same.
- match.c (alloc_opt_list): Allow MOLD for deferred length object.
- * trans-decl.c (gfc_get_symbol_decl): For deferred character
- length dummies, generate a local variable for string length.
- (create_function_arglist): Hidden length can be a pointer.
- (gfc_trans_deferred_vars): For deferred character length
- results and dummies, assign the string length to the local
- variable from the hidden argument on entry and the other way
- round on exit, as appropriate.
-
-2011-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47474
- * trans-decl.c (gfc_generate_function_code): Fix init
- of allocatable result variable with allocatable components.
-
-2011-01-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47472
- * options.c (gfc_handle_module_path_options): Save
- module path without trailing slash as include path.
-
-2011-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47448
- * interface.c (gfc_check_operator_interface): Fix
- defined-assignment check.
-
-2011-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47421
- * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
- scalar allocatable dummy arguments.
-
-2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/38536
- * resolve.c (gfc_iso_c_func_interface): For C_LOC,
- check for array sections followed by component references
- which are illegal. Also check for coindexed arguments.
-
-2011-01-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47399
- * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
- PARAMETER TBP.
-
-2011-01-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47394
- * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
- Use defined instead of magic number exit status codes.
- * scanner.c (include_line, gfc_new_file): Ditto.
-
-2011-01-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47377
- * expr.c (gfc_check_pointer_assign): Reject expr data-targets
- without pointer attribute.
-
-2011-01-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47240
- * resolve.c (expression_rank): Fix rank of procedure poiner components.
- * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
- pointer components as actual arguments.
-
-2011-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/47331
- * gfortran.h (struct gfc_omp_saved_state): New type.
- (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
- * resolve.c (resolve_global_procedure): Call it around gfc_resolve
- call.
- * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
- functions.
-
-2011-01-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47327
- * invoke.texi (Options to request or suppress errors
- and warnings): Fix cross link.
-
-2011-01-15 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.texi: Update Fortran 2003 Status section.
-
- PR fortran/47177
- * invoke.texi: Add missing "-E" to the -dM example.
-
-2011-01-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47268
- * intrinsic.texi (get_command_argument, get_environment_variable):
- Mark arguments as optional in the Arguments section.
-
-2011-01-13 Kai Tietz <kai.tietz@onevision.com>
- Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47260
- * trans-decl.c (gfc_get_extern_function_decl,
- build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
- calling decl_attributes.
-
-2011-01-13 Tobias Burnus <burnus@net-b.de>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/45848
- PR fortran/47204
- * gfortran.h (gfc_code): Move union ext's case_list into
- the struct block.
- * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
- by "block.".
- * frontend-passes.c (gfc_code_walker): Ditto.
- * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
- gfc_match_type_is, gfc_match_class_is): Ditto.
- * resolve.c (resolve_select, resolve_select_type): Ditto.
- * st.c (gfc_free_statement): Ditto.
- * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
- gfc_trans_character_select): Ditto.
- * parse.c (resolve_all_program_units): For error recovery, avoid
- segfault is proc_name is NULL.
-
-2011-01-11 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47051
- * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
- to be standard compliant by testing for shape rather than size
- before skipping reallocation. Improve comments.
-
-2011-01-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47224
- * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
- of code.
-
-2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/38536
- * resolve.c (is_scalar_expr_ptr): For a substring reference,
- use gfc_dep_compare_expr to compare start and end expession.
- Add FIXME for using gfc_deb_compare_expr elsewhere.
-
-2011-01-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/46313
- * class.c (get_unique_type_string): Make type name start with upper
- case letter.
-
-2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/46405
- * invoke.texi: Mention -ffree-line-length-none and
- -ffixed-line-length-none for preprocessing.
-
-2011-01-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/46896
- * trans-expr.c (gfc_conv_procedure_call): With a non-copying
- procedure argument (eg TRANSPOSE) use a temporary if there is
- any chance of aliasing due to host or use association.
- (arrayfunc_assign_needs_temporary): Correct logic for function
- results and do not use a temporary for implicitly PURE
- variables. Use a temporary for Cray pointees.
- * symbol.c (gfc_add_save): Explicit SAVE not compatible with
- implicit pureness of containing procedure.
- * decl.c (match_old_style_init, gfc_match_data): Where decl
- would fail in PURE procedure, set implicit_pure to zero.
- * gfortran.h: Add implicit_pure to structure symbol_attr and
- add prototype for function gfc_implicit_pure.
- * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
- Where decl would fail in PURE procedure, reset implicit_pure.
- * io.c (match_vtag, gfc_match_open, gfc_match_close,
- gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
- * match.c (gfc_match_critical, gfc_match_stopcode,
- sync_statement, gfc_match_allocate, gfc_match_deallocate): The
- same.
- * parse.c (decode_omp_directive): The same.
- (parse_contained): If not PURE, set implicit pure attribute.
- * resolve.c (resolve_formal_arglist, resolve_structure_cons,
- resolve_function, resolve_ordinary_assign): The same.
- (gfc_implicit_pure): New function.
- * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
- to ab_attribute enum and use it in this function.
-
-2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/45777
- * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
- make static and move in front of its only caller, to ...
- * trans-array.c (symbols_could_alias): ... here.
- Pass information about pointer and target status as
- arguments. Allocatable arrays don't alias anything
- unless they have the POINTER attribute.
- (gfc_could_be_alias): Keep track of pointer and target
- status when following references. Also check if typespecs
- of components match those of other components or symbols.
-
-2011-01-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41580
- * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
- * intrinsic.c (add_functions): Use simplify functions for
- EXTENDS_TYPE_OF and SAME_TYPE_AS.
- * intrinsic.h (gfc_simplify_extends_type_of,
- gfc_simplify_same_type_as): New prototypes.
- * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
- gfc_simplify_same_type_as): New functions.
-
-2011-01-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47189
- PR fortran/47194
- * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
- * class.c (gfc_class_null_initializer): Initialize _vptr to declared
- type.
- * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
- * resolve.c (resolve_deallocate_expr): _data component will be added
- at translation stage.
- * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
- * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
-
-2011-01-06 Daniel Franke <franke.daniel@gmail.com>
-
- PR fortran/33117
- PR fortran/46478
- * parse.c (parse_interface): Remove check for procedure types.
- * interface.c (check_interface0): Verify that procedures are
- either all SUBROUTINEs or all FUNCTIONs.
-
-2011-01-05 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47180
- * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
- 'vtab' is initialized).
-
-2011-01-05 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47180
- * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
- assignment, set the _vptr component to the declared type.
-
-2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/46017
- * resolve.c (resolve_allocate_deallocate): Follow references to
- check for duplicate occurence of allocation/deallocation objects.
-
-2011-01-05 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47024
- * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
- of polymorphic allocatables according to their declared type.
-
-2011-01-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/46448
- * class.c (gfc_find_derived_vtab): Set the module field for the copying
- routine to make sure it receives module name mangling.
-
-2011-01-03 Jakub Jelinek <jakub@redhat.com>
-
- * gfortranspec.c (lang_specific_driver): Update copyright notice
- dates.
-
-2011-01-03 Janus Weil <janus@gcc.gnu.org>
-
- * intrinsic.texi (LEADZ): Fix example.
-
-2011-01-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/46408
- * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
- routine.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/fortran/ChangeLog-2011 b/gcc/fortran/ChangeLog-2011
new file mode 100644
index 0000000..c7ac160
--- /dev/null
+++ b/gcc/fortran/ChangeLog-2011
@@ -0,0 +1,4090 @@
+2011-12-31 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/51502
+ * expr.c (gfc_check_vardef_context): When determining
+ implicit pure status, also check for variable definition
+ context. Walk up namespaces until a procedure is
+ found to reset the implict pure attribute.
+ * resolve.c (gfc_implicit_pure): Walk up namespaces
+ until a procedure is found.
+
+2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dependency.c (gfc_dep_compare_functions): Document
+ new behavior for REALs and complex. Add comment to cases
+ where only INTEGERs are handled. Compare REAL and COMPLEX
+ constants, returning 0 and -2 only. Add assert to make
+ sure that only integer constants are compared.
+
+2011-12-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51605
+ * parse.c (gfc_fixup_sibling_symbols): Regard FL_LABEL as
+ local symbol.
+
+2011-12-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51605
+ * match.c (gfc_match_select_type): Handle
+ scalar polymophic coarrays.
+ (select_type_set_tmp, ): Ditto; avoid segfault if !class_ok.
+ * primary.c (gfc_match_rvalue): Avoid segfault if !class_ok.
+ * resolve.c (resolve_select_type): Ditto.
+ (resolve_assoc_var): Fix setting the TARGET attribute for
+ polymorphic selectors which are pointers.
+
+2011-12-19 Tobias Burnus <burnus@net-b.de>
+
+ * check.c (coarray_check): Add class ref if needed.
+ * resolve.c (resolve_fl_var_and_proc,
+ resolve_fl_derived0, resolve_symbol): Fix checking
+ for BT_CLASS.
+
+2011-12-15 Paul Thomas <pault@gcc.gnu.org>
+
+ * trans-expr.c (gfc_walk_function_expr): Detect elemental
+ procedure components as well as elemental procedures.
+ * trans-array.c (gfc_conv_procedure_call): Ditto.
+ * trans-decl.c (gfc_trans_deferred_vars): Correct erroneous
+ break for class pointers to continue.
+
+2011-12-15 Toon Moene <toon@moene.org>
+
+ PR fortran/51310
+ * resolve.c (build_default_init_expr): Allow non-allocatable,
+ non-compile-time-constant-shape arrays to have a default
+ initializer.
+ * invoke.texi: Delete the restriction on automatic arrays not
+ being initialized by -finit-<type>=<constant>.
+
+2011-12-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51550
+ PR fortran/47545
+ PR fortran/49050
+ PR fortran/51075
+ * resolve.c (resolve_fl_derived0): Print not-implemented error
+ for deferred-length character components.
+
+2011-12-15 Tobias Burnus <burnus@net-b.de>
+
+ * primary.c (gfc_match_varspec): Match array spec for
+ polymorphic coarrays.
+ (gfc_match_rvalue): If a symbol of unknown flavor has a
+ codimension, mark it as a variable.
+ * simplify.c (gfc_simplify_image_index): Directly call
+ simplify_cobound.
+ * trans-intrinsic.c (trans_this_image): Fix handling of
+ corank = 1 arrays.
+
+2011-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/51517
+ * trans-decl.c (gfc_get_symbol_decl): Don't set DECL_INITAL on span.
+ (gfc_trans_deferred_vars): Instead add its runtime initialization
+ here.
+
+2011-12-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50923
+ * trans-decl.c (generate_local_decl): Set TREE_NO_WARNING only
+ if the front end has printed a warning.
+ (gfc_generate_function_code): Fix unset-result warning.
+
+2011-12-11 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/41539
+ PR fortran/43214
+ PR fortran/43969
+ PR fortran/44568
+ PR fortran/46356
+ PR fortran/46990
+ PR fortran/49074
+ * interface.c (symbol_rank): Return the rank of the _data
+ component of class objects.
+ (compare_parameter): Also compare the derived type of the class
+ _data component for type mismatch. Similarly, return 1 if the
+ formal and _data ranks match.
+ (compare_actual_formal): Do not compare storage sizes for class
+ expressions. It is an error if an actual class array, passed to
+ a formal class array is not full.
+ * trans-expr.c (gfc_class_data_get, gfc_class_vptr_get,
+ gfc_vtable_field_get, gfc_vtable_hash_get, gfc_vtable_size_get,
+ gfc_vtable_extends_get, gfc_vtable_def_init_get,
+ gfc_vtable_copy_get): New functions for class API.
+ (gfc_conv_derived_to_class): For an array reference in an
+ elemental procedure call retain the ss to provide the
+ scalarized array reference. Moved in file.
+ (gfc_conv_class_to_class): New function.
+ (gfc_conv_subref_array_arg): Use the type of the
+ class _data component as a basetype.
+ (gfc_conv_procedure_call): Ensure that class array expressions
+ have both the _data reference and an array reference. Use
+ gfc_conv_class_to_class to handle class arrays for elemental
+ functions in scalarized loops, class array elements and full
+ class arrays. Use a call to gfc_conv_subref_array_arg in order
+ that the copy-in/copy-out for passing class arrays to derived
+ type arrays occurs correctly.
+ (gfc_conv_expr): If it is missing, add the _data component
+ between a class object or component and an array reference.
+ (gfc_trans_class_array_init_assign): New function.
+ (gfc_trans_class_init_assign): Call it for array expressions.
+ * trans-array.c (gfc_add_loop_ss_code): Do not use a temp for
+ class scalars since their size will depend on the dynamic type.
+ (build_class_array_ref): New function.
+ (gfc_conv_scalarized_array_ref): Call build_class_array_ref.
+ (gfc_array_init_size): Add extra argument, expr3, that represents
+ the SOURCE argument. If present,use this for the element size.
+ (gfc_array_allocate): Also add argument expr3 and use it when
+ calling gfc_array_init_size.
+ (structure_alloc_comps): Enable class arrays.
+ * class.c (gfc_add_component_ref): Carry over the derived type
+ of the _data component.
+ (gfc_add_class_array_ref): New function.
+ (class_array_ref_detected): New static function.
+ (gfc_is_class_array_ref): New function that calls previous.
+ (gfc_is_class_scalar_expr): New function.
+ (gfc_build_class_symbol): Throw not implemented error for
+ assumed size class arrays. Remove error that prevents
+ CLASS arrays.
+ (gfc_build_class_symbol): Prevent pointer/allocatable conflict.
+ Also unset codimension.
+ (gfc_find_derived_vtab): Make 'copy' elemental and set the
+ intent of the arguments accordingly.:
+ * trans-array.h: Update prototype for gfc_array_allocate.
+ * array.c (gfc_array_dimen_size): Return failure if class expr.
+ (gfc_array_size): Likewise.
+ * gfortran.h: New prototypes for gfc_add_class_array_ref,
+ gfc_is_class_array_ref and gfc_is_class_scalar_expr.
+ * trans-stmt.c (trans_associate_var): Exclude class targets
+ from test. Move the allocation of the _vptr to an earlier time
+ for class objects.
+ (trans_associate_var): Assign the descriptor directly for class
+ arrays.
+ (gfc_trans_allocate): Add expr3 to gfc_array_allocate arguments.
+ Convert array element references into sections. Do not invoke
+ gfc_conv_procedure_call, use gfc_trans_call instead.
+ * expr.c (gfc_get_corank): Fix for BT_CLASS.
+ (gfc_is_simply_contiguous): Exclude class from test.
+ * trans.c (gfc_build_array_ref): Include class array refs.
+ * trans.h: Include prototypes for class API functions that are
+ new in trans-expr. Define GFC_DECL_CLASS(node).
+ * resolve.c (check_typebound_baseobject ): Remove error for
+ non-scalar base object.
+ (resolve_allocate_expr): Ensure that class _data component is
+ present. If array, call gfc_expr_to_intialize.
+ (resolve_select): Remove scalar error for SELECT statement as a
+ temporary measure.
+ (resolve_assoc_var): Update 'target' (aka 'selector') as
+ needed. Ensure that the target expression has the right rank.
+ (resolve_select_type): Ensure that target expressions have a
+ valid locus.
+ (resolve_allocate_expr, resolve_fl_derived0): Fix for BT_CLASS.
+ * trans-decl.c (gfc_get_symbol_decl): Set GFC_DECL_CLASS, where
+ appropriate.
+ (gfc_trans_deferred_vars): Get class arrays right.
+ * match.c(select_type_set_tmp): Add array spec to temporary.
+ (gfc_match_select_type): Allow class arrays.
+ * check.c (array_check): Ensure that class arrays have refs.
+ (dim_corank_check, dim_rank_check): Retrun success if class.
+ * primary.c (gfc_match_varspec): Fix for class arrays and
+ co-arrays. Make sure that class _data is present.
+ (gfc_match_rvalue): Handle class arrays.
+ *trans-intrinsic.c (gfc_conv_intrinsic_size): Add class array
+ reference.
+ (gfc_conv_allocated): Add _data component to class expressions.
+ (gfc_add_intrinsic_ss_code): ditto.
+ * simplify.c (simplify_cobound): Fix for BT_CLASS.
+ (simplify_bound): Return NULL for class arrays.
+ (simplify_cobound): Obtain correct array_spec. Use cotype as
+ appropriate. Use arrayspec for bounds.
+
+2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50690
+ * frontend-passes.c (in_omp_workshare): New variable.
+ (cfe_expr_0): Don't eliminiate common function if it would put
+ the variable immediately into a WORKSHARE construct.
+ (optimize_namespace): Set in_omp_workshare.
+ (gfc_code_walker): Keep track of OMP PARALLEL and OMP WORKSHARE
+ constructs.
+
+2011-12-10 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (add_argument_checking): Fix syntax.
+
+2011-12-10 Tobias Burnus <burnus@net-b.de>
+ Kai Tietz <ktietz@redhat.com>
+
+ * trans-decl.c (add_argument_checking): Check ts.deferred earlier.
+ * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use %ld with long.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50815
+ * trans-decl.c (add_argument_checking): Skip bound checking
+ for deferred-length strings.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51378
+ * symbol.c (gfc_find_component): Fix access check of parent
+ components.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51407
+ * io/transfer.c (require_numeric_type): New function.
+ (formatted_transfer_scalar_read, formatted_transfer_scalar_write):
+ Use it, allow BOZ edit descriptors with F2008.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51448
+ * fortran/trans-array.c (get_std_lbound): Fix handling of
+ conversion functions.
+
+2011-12-08 Toon Moene <toon@moene.org>
+
+ PR fortran/51310
+ * invoke.texi: Itemize the cases for which
+ -finit-<type>=<constant> doesn't work.
+
+2011-12-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51435
+ * expr.c (gfc_has_default_initializer): Fix handling of
+ DT with initialized pointer components.
+
+2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/51338
+ * dependency.c (are_identical_variables): Handle case where
+ end fields of substring references are NULL.
+
+2011-12-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51383
+ * resolve.c (find_array_spec): Use ref->u.c.component
+ directly without starting from ts.u.derived.
+
+2011-12-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48887
+ * match.c (select_type_set_tmp): Don't set allocatable/pointer
+ attribute.
+ * class.c (gfc_build_class_symbol): Handle
+ attr.select_type_temporary.
+
+2011-12-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50684
+ * check.c (variable_check): Fix intent(in) check.
+
+2011-12-03 Tobias Burnus <burnus@net-b.de>
+
+ * check.c (gfc_check_move_alloc): Allow nonpolymorphic
+ FROM with polymorphic TO.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Handle
+ nonpolymorphic FROM with polymorphic TO.
+
+2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * module.c (dt_lower_string): Make static.
+ (dt_upper_string): Likewise.
+
+2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/25708
+ * module.c (parse_string): Read string into resizable array
+ instead of parsing twice and seeking.
+ (peek_atom): New implementation avoiding seeks.
+ (require_atom): Save and set column and line explicitly for error
+ handling.
+
+2011-12-01 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * misc.c (gfc_open_file): Don't call stat.
+
+2011-11-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/40958
+ * module.c (prev_module_line): New variable.
+ (prev_module_column): New variable.
+ (prev_character): New variable.
+ (module_char): Update the new variables.
+ (module_unget_char): New function.
+ (parse_string): Use module_unget_char.
+ (parse_integer): Likewise.
+ (parse_name): Likewise.
+
+2011-11-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51306
+ PR fortran/48700
+ * check.c (gfc_check_move_alloc): Make sure that from/to
+ are both polymorphic or neither.
+ * trans-intrinsic.c (conv_intrinsic_move_alloc): Cleanup,
+ generate inline code.
+
+2011-11-28 Tobias Burnus <burnus@net-b.de>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/51308
+ * symbol.c (check_conflict): Ignore BIND(C) + PARAMETER
+ conflicts for ISO_C_BINDING variables.
+ (gen_special_c_interop_ptr): Don't mark c_ptr_null/c_funptr_null
+ as SAVE.
+
+2011-11-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (set_loop_bounds): Remove dead conditions.
+
+2011-11-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/51250
+ PR fortran/43829
+ * trans-array.c (gfc_trans_create_temp_array): Get dimension from
+ the right gfc_ss struct.
+
+2011-11-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50408
+ * trans-decl.c (gfc_get_module_backend_decl): Also copy
+ ts.u.derived from the gsym if the ts.type is BT_CLASS.
+ (gfc_get_extern_function_decl): Copy also the backend_decl
+ for the symbol's ts.u.{derived,cl} from the gsym.
+ * trans-types.c (gfc_copy_dt_decls_ifequal): Directly
+ return if "from" and "to" are the same.
+
+2011-11-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51302
+ * trans-stmt.c (gfc_trans_simple_do): Add a fold_convert.
+
+2011-11-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51218
+ * resolve.c (pure_subroutine): If called subroutine is
+ impure, unset implicit_pure.
+ (resolve_function): Move impure check to simplify code.
+
+2011-11-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51207
+ * class.c (gfc_find_derived_vtab): Mark __def_init as PARAMETER
+ and hence as TREE_READONLY; add subroutine attribute to
+ __copy_ procedure.
+
+ PR fortran/50640
+ * trans.h (GFC_DECL_PUSH_TOPLEVEL): New DECL_LANG_FLAG_7.
+ * trans-decl.c (gfc_get_symbol_decl): Mark __def_init and vtab as
+ GFC_DECL_PUSH_TOPLEVEL.
+ (gfc_generate_function_code): If GFC_DECL_PUSH_TOPLEVEL, push it there.
+ (build_function_decl): Push __copy_ procedure to the toplevel.
+
+2011-11-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39427
+ PR fortran/37829
+ * decl.c (match_data_constant, match_data_constant, variable_decl,
+ gfc_match_decl_type_spec, access_attr_decl,
+ check_extended_derived_type, gfc_match_derived_decl,
+ gfc_match_derived_decl, gfc_match_derived_decl) Modified to deal
+ with DT constructors.
+ * gfortran.h (gfc_find_dt_in_generic,
+ gfc_convert_to_structure_constructor): New function prototypes.
+ * interface.c (check_interface0, check_interface1,
+ gfc_search_interface): Ignore DT constructors in generic list.
+ * match.h (gfc_match_structure_constructor): Update prototype.
+ * match.c (match_derived_type_spec): Ensure that one uses the DT
+ not the generic function.
+ * module.c (MOD_VERSION): Bump.
+ (dt_lower_string, dt_upper_string): New functions.
+ (find_use_name_n, find_use_operator, compare_true_names,
+ find_true_name, add_true_name, fix_mio_expr, load_needed,
+ read_module, write_dt_extensions, write_symbol): Changes to deal with
+ different symtree vs. sym names.
+ (create_derived_type): Create also generic procedure.
+ * parse.c (gfc_fixup_sibling_symbols): Don't regard DT and generic
+ function as the same.
+ * primary.c (gfc_convert_to_structure_constructor): New function.
+ (gfc_match_structure_constructor): Restructured; calls
+ gfc_convert_to_structure_constructor.
+ (build_actual_constructor, gfc_match_rvalue): Update for DT generic
+ functions.
+ * resolve.c (resolve_formal_arglist, resolve_structure_cons,
+ is_illegal_recursion, resolve_generic_f, resolve_variable,
+ resolve_fl_variable_derived, resolve_fl_derived0,
+ resolve_symbol): Handle DT and DT generic constructors.
+ * symbol.c (gfc_use_derived, gfc_undo_symbols,
+ gen_special_c_interop_ptr, gen_cptr_param,
+ generate_isocbinding_symbol, gfc_get_derived_super_type): Handle
+ derived-types, which are hidden in the generic type.
+ (gfc_find_dt_in_generic): New function
+ * trans-array.c (gfc_conv_array_initializer): Replace FL_PARAMETER
+ expr by actual value.
+ * trans-decl.c (gfc_get_module_backend_decl, gfc_trans_use_stmts):
+ Ensure that we use the DT and not the generic function.
+ * trans-types.c (gfc_get_derived_type): Ensure that we use the DT
+ and not the generic procedure.
+
+2011-11-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51073
+ * trans-decl.c (generate_coarray_sym_init): Handle zero-sized arrays.
+
+2011-11-09 Tobias Burnus <burnus@net-b.de>
+
+ * symbol.c (clear_sym_mark, traverse_ns): Remove functions.
+ (count_st_nodes, do_traverse_symtree, fill_st_vector): New functions.
+ (gfc_traverse_symtree, gfc_traverse_ns): Call do_traverse_symtree.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/50016
+ * gfortran.texi (Data consistency and durability): New section.
+
+2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50540
+ * resolve.c (resolve_forall_iterators): Transform internal errors
+ to normal errors.
+
+2011-11-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50960
+ * class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
+ * expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
+ their value.
+ * resolve.c (resolve_values): Use-associated symbols do not need to
+ be resolved again.
+ (resolve_fl_parameter): Make sure the symbol has a value.
+
+2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/38718
+ * intrinsic.c (add_functions): Allow dreal simplification.
+ * intrinsic.h (gfc_simplify_dreal): New prototype.
+ * simplify.c (gfc_simplify_dreal): New function.
+
+2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/21881
+ * trans-types.c (gfc_get_dtype): Issue a fatal error instead of
+ an internal error.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50404
+ * io.c (gfc_resolve_close): CLOSE requires a UNIT.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50409
+ * expr.c (gfc_simplify_expr): Substrings can't have negative
+ length.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50334
+ * invoke.texi (-finit-*): Document interaction with
+ -Wuninitialized.
+
+2011-11-07 François-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/49188
+ PR libfortran/49336
+ * invoke.texi: Fix documentation of fsign-zero option. Remove
+ contractions.
+ * intrinsic.texi: Fix ATAN2 documentation for signed zeros.
+ Remove contractions.
+ * gfortran.texi: Remove contractions.
+
+2011-11-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50919
+ * class.c (add_proc_comp): Don't add non-overridable procedures to the
+ vtable.
+ * resolve.c (resolve_typebound_function,resolve_typebound_subroutine):
+ Don't generate a dynamic _vptr call for non-overridable procedures.
+
+2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsic.texi (MCLOCK, MCLOCK8, TIME, TIME8): Functions clock
+ and time are part of the C standard library.
+
+2011-11-06 Janus Weil <janus@gcc.gnu.org>
+
+ * gfortran.h (gfc_extend_expr): Modified prototype.
+ * interface.c (gfc_extend_expr): Return 'match' instead of 'gfc_try'.
+ Remove argument 'real_error'.
+ * resolve.c (resolve_operator): Modified call to 'gfc_extend_expr'.
+
+2011-11-06 Andrew MacLeod <amacleod@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ Merged from cxx-mem-model.
+
+ * types.def: (BT_SIZE, BT_CONST_VOLATILE_PTR, BT_FN_VOID_INT,
+ BT_FN_I{1,2,4,8,16}_CONST_VPTR_INT, BT_FN_VOID_VPTR_INT,
+ BT_FN_BOOL_VPTR_INT, BT_FN_BOOL_SIZE_CONST_VPTR,
+ BT_FN_VOID_VPTR_I{1,2,4,8,16}_INT, BT_FN_VOID_SIZE_VPTR_PTR_INT,
+ BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT,
+ BT_FN_BOOL_VPTR_PTR_I{1,2,4,8,16}_BOOL_INT_INT,
+ BT_FN_I{1,2,4,8,16}_VPTR_I{1,2,4,8,16}_INT): New types.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/43829
+ * trans-array.c (gfc_conv_expr_descriptor): Accept the inline intrinsic
+ case in the assertion.
+ * trans-intrinsic (enter_nested_loop): New function.
+ (gfc_conv_intrinsic_arith): Support non-scalar cases.
+ (nest_loop_dimension, walk_inline_intrinsic_arith): New functions.
+ (walk_inline_intrinsic_function): Handle sum and product.
+ (gfc_inline_intrinsic_function_p): Ditto.
+ * trans.h (gfc_get_loopinfo): New macro.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_arith): Introduce parent
+ expression variable. Use it.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic.c): Introduce current loop
+ pointer. Use it.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
+ cleanup.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * frontend-passes.c (cfe_register_funcs): Return early in the case
+ of an inline intrinsic function.
+ (optimize_binop_array_assignment): Skip optimization in the case of
+ an inline intrinsic function.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * array.c (match_subscript): Skip whitespaces before setting locus.
+ * matchexp.c (match_level_1): Ditto.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
+ temporary rank to the loop rank. Mark ss chains for multiple loop
+ if necessary. Use gfc_trans_scalarized_loop_boundary to end one loop
+ and start another.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
+ temporary rank to the loop rank. Mark ss chains for multiple loop
+ if necessary. Use gfc_trans_scalarized_loop_boundary to end one loop
+ and start another.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
+ offset twice in generated code.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-expr.c (gfc_conv_procedure_call): Handle temporaries for
+ arguments to elemental calls.
+ * trans-stmt.c (replace_ss): New function.
+ (gfc_conv_elemental_dependencies): Remove temporary loop handling.
+ Create a new ss for the temporary and replace the original one with it.
+ Remove fake array references. Recalculate all offsets.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.h (gfc_free_ss, gfc_set_delta): New prototypes.
+ * trans-array.c (gfc_free_ss): Remove forward declaration.
+ Make non-static.
+ (set_delta, gfc_set_delta): Remove forward declaration.
+ Make non-static and rename the former to the later. Update uses.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (gfc_inline_intrinsic_function_p): Move prototype...
+ * gfortran.h (gfc_inline_intrinsic_function_p): ... here.
+ * dependency.c (gfc_check_argument_var_dependency): Check dependencies
+ of inline intrinsics' arguments.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): New pointers to outer
+ dimension's ss and loop. Use them.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (outermost_loop): New function.
+ (gfc_trans_array_constructor, gfc_set_vector_loop_bounds,
+ gfc_add_loop_ss_code): Put generated code out of the outermost loop.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (constant_array_constructor_loop_size):
+ Handle multiple loops.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (get_rank, get_loop_upper_bound_for_array):
+ New functions.
+ (gfc_trans_array_constructor): Handle multiple loops.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_loopinfo): New field parent.
+ * trans-array.c (gfc_cleanup_loop): Free nested loops.
+ (gfc_add_ss_to_loop): Set nested_loop's parent loop.
+ (gfc_trans_array_constructor): Update assertion.
+ (gfc_conv_loop_setup): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_add_loop_ss_code): Skip non-nestedmost ss.
+ Call recursively gfc_add_loop_ss_code for all the nested loops.
+ (gfc_conv_ss_startstride): Only get the descriptor for the outermost
+ ss. Call recursively gfc_conv_ss_startstride for all the nested loops.
+ (set_loop_bounds): Call recursively for all the nested loops.
+ (set_delta): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_loopinfo): New fields nested and next.
+ * trans-array.c (gfc_add_ss_to_loop): Update list of nested list if
+ ss has non-null nested_ss field.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_create_temp_array): Loop over the parents.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (get_array_ref_dim, get_scalarizer_dim_for_array_dim):
+ Rename the former to the latter and loop over the parents.
+ (innermost_ss): New function.
+ (get_array_ref_dim_for_loop_dim): New function.
+ (gfc_trans_create_temp_array): Use get_scalarizer_dim_for_array_dim.
+ (set_loop_bounds): Use get_array_dim_for_loop_dim).
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss): New field nested_ss.
+ * trans-expr.c (gfc_advance_se_ss_chain): Update assertion.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (set_vector_loop_bounds): Loop over the parents.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_array_constructor): Loop over the parents.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_set_loop_bounds_from_array_spec): Loop over the
+ parents.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss): New field parent.
+ * trans-array.c (gfc_trans_scalarizing_loops): Skip clearing if a
+ parent exists.
+ * trans-expr.c (gfc_advance_se_ss_chain): Move to parent ss at the
+ end of the chain.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.h (gfc_trans_create_temp_array): Remove loop argument.
+ * trans-array.c (gfc_trans_create_temp_array): Ditto. Get loop from ss.
+ Update reference to loop. Remove loop argument.
+ (gfc_trans_array_constructor, gfc_conv_loop_setup): Update calls to
+ gfc_trans_create_temp_array.
+ * trans-expr.c (gfc_conv_procedure_call): Ditto.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
+ Set loop before calling gfc_trans_create_temp_array.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_create_temp_array): New variable total_dim.
+ Set total_dim to loop's rank. Replace usages of loop's rank.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_array_constructor, trans_array_constructor):
+ Rename the former to the later. Get loop from ss.
+ Remove loop argument.
+ (gfc_add_loop_ss_code): Update call.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_set_vector_loop_bounds): Get loop from ss.
+ Remove loop argument.
+ (gfc_add_loop_ss_code): Update call.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss): New field loop.
+ * trans-array.c (set_ss_loop): New function.
+ (gfc_add_ss_to_loop): Call set_ss_loop.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss_info): New field refcount.
+ * trans-array.c (free_ss_info): Decrement refcount. Return early if
+ still non-zero.
+ (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss): Increment
+ refcount.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_create_temp_array): Move invariant condition
+ out of the containing loop.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_conv_loop_setup, gfc_trans_create_temp_array):
+ Move specloop arrays clearing from the former to the latter.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (set_loop_bounds): Separate the beginning of
+ gfc_conv_loop_setup into a function of its own.
+ (set_delta): Separate the end of gfc_conv_loop_setup into a function
+ of its own.
+ (gfc_conv_loop_setup): Call set_loop_bounds and set delta.
+ (set_loop_bounds, set_delta, gfc_conv_loop_setup): Make loopspec a
+ pointer to the specloop field from the loop struct.
+
+2011-11-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50933
+ * interface.c (gfc_compare_derived_types): Fix check for BIND(C).
+
+2011-11-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50960
+ * trans-decl.c (gfc_finish_var_decl): Mark PARAMETER as TREE_READONLY.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
+ gfc_ss::where into gfc_ss_info.
+ * trans-array.c (gfc_add_loop_ss_code):
+ Update reference chains.
+ * trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
+ gfc_ss::useflags into gfc_ss_info.
+ * trans-array.c (gfc_mark_ss_chain_used, gfc_trans_preloop_setup,
+ gfc_trans_scalarizing_loops, gfc_trans_scalarized_boundary):
+ Update reference chains.
+ * trans-expr.c (gfc_conv_procedure_call): Ditto.
+ * trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
+ gfc_ss::data::info into gfc_ss_info::data and remove empty union
+ gfc_ss::data.
+ * trans-array.c (gfc_free_ss, gfc_trans_create_temp_array,
+ gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
+ gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
+ gfc_conv_ss_descriptor, gfc_trans_array_bound_check,
+ gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
+ add_array_offset, gfc_trans_preloop_setup,
+ gfc_trans_scalarized_boundary, gfc_conv_section_startstride,
+ gfc_conv_ss_startstride, gfc_could_be_alias,
+ gfc_conv_loop_setup, gfc_conv_expr_descriptor,
+ gfc_alloc_allocatable_for_assignment, gfc_walk_array_ref):
+ Update reference chains and factor them where possible.
+ * trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
+ gfc_conv_procedure_call, gfc_trans_subarray_assign): Updata reference
+ chains.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
+ * trans-io.c (transfer_array_component): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies,
+ gfc_trans_pointer_assign_need_temp): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
+ gfc_ss::data::temp into gfc_ss_info::data.
+ * trans-array.c (gfc_get_temp_ss, gfc_conv_loop_setup): Update reference
+ chains.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move member struct
+ gfc_ss::data::scalar into newly created union gfc_ss_info::data,
+ and rename subfield expr to value.
+ * trans-array.c (gfc_add_loop_ss_code, gfc_conv_array_index_offset,
+ gfc_conv_expr_descriptor): Update reference chains.
+ * trans-const.c (gfc_conv_constant): Ditto.
+ * trans-expr.c (gfc_conv_expr): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move field
+ string_length from the former struct to the latter.
+ * trans-array.c
+ (gfc_get_temp_ss, gfc_trans_array_constructor, gfc_add_loop_ss_code,
+ gfc_conv_ss_descriptor, gfc_conv_scalarized_array_ref,
+ gfc_conv_resolve_dependencies, gfc_conv_loop_setup,
+ gfc_conv_expr_descriptor): Update references to string_length and
+ factor common reference chains where possible.
+ * trans-const.c (gfc_conv_constant): Ditto.
+ * trans-expr.c (gfc_conv_variable, gfc_conv_subref_array_arg,
+ gfc_conv_expr): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_ss_info): Move field expr from
+ the former struct to the latter.
+ * trans-array.c
+ (gfc_get_array_ss, gfc_get_scalar_ss,
+ gfc_trans_constant_array_constructor, gfc_trans_array_constructor,
+ gfc_add_loop_ss_code, gfc_conv_ss_descriptor,
+ gfc_trans_array_bound_check, gfc_conv_array_index_offset,
+ gfc_conv_scalarized_array_ref, gfc_conv_ss_startstride,
+ gfc_could_be_alias, gfc_conv_resolve_dependencies,
+ gfc_conv_loop_setup, gfc_conv_expr_descriptor,
+ gfc_alloc_allocatable_for_assignment): Update references to expr and
+ factor common reference chains where possible.
+ * trans-const.c (gfc_conv_constant): Ditto.
+ * trans-expr.c (gfc_conv_variable, gfc_conv_procedure_call,
+ gfc_conv_array_constructor_expr, gfc_conv_expr,
+ gfc_conv_expr_reference): Ditto.
+ * trans-intrinsic.c (trans_this_image, gfc_conv_intrinsic_bound,
+ gfc_conv_intrinsic_cobound, gfc_conv_intrinsic_funcall,
+ gfc_add_intrinsic_ss_code): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss_info): New struct.
+ (gfc_get_ss_info): New macro.
+ (struct gfc_ss): Move type field to struct gfc_ss_info.
+ Add an info field of type gfc_ss_info.
+ * trans-array.c (free_ss_info): New function.
+ (gfc_free_ss): Call free_ss_info.
+ (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss):
+ Allocate gfc_ss_info field.
+ (gfc_get_array_ss, gfc_get_temp_ss, gfc_get_scalar_ss,
+ gfc_set_vector_loop_bounds, gfc_add_loop_ss_code,
+ gfc_conv_array_index_offset, gfc_trans_preloop_setup,
+ gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
+ gfc_conv_ss_startstride, gfc_conv_resolve_dependencies,
+ gfc_conv_loop_setup, transposed_dims, gfc_conv_expr_descriptor,
+ gfc_walk_elemental_function_args): Update references to type.
+ * trans-const.c (gfc_conv_constant): Factor common reference chains
+ and update reference to type.
+ * trans-expr.c (gfc_conv_procedure_call, gfc_trans_assignment_1):
+ Update reference to type.
+ (gfc_conv_array_constructor_expr, gfc_conv_expr,
+ gfc_conv_expr_reference): Ditto. Factor common reference chains.
+ * trans-intrinsic.c (walk_inline_intrinsic_transpose): Update references
+ to type
+ * trans-stmt.c (gfc_trans_where_assign): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss, struct gfc_array_info): Move shape field
+ from the former struct to the latter.
+ * trans-array.c (gfc_conv_ss_startstride, gfc_conv_loop_setup):
+ Update field references.
+ * trans-expr.c (gfc_trans_subarray_assign): Update field references
+ and factor common reference chains.
+ * trans-io.c (transfer_array_component): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_array_info): Move dim and dimen fields...
+ (struct gfc_ss): ... here. Remove gfc_ss::data::temp::dimen field.
+ * trans-array.c (gfc_conv_loop_setup): Remove temp_ss dim array
+ initialization.
+ (gfc_get_temp_ss): Initialize dim and dimen.
+ (gfc_free_ss, gfc_get_array_ss, gfc_get_temp_ss,
+ gfc_set_loop_bounds_from_array_spec, get_array_ref_dim,
+ gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
+ gfc_set_vector_loop_bounds, gfc_conv_scalarized_array_ref,
+ gfc_trans_preloop_setup, gfc_conv_ss_startstride,
+ gfc_conv_resolve_dependencies, gfc_conv_loop_setup, transposed_dims,
+ gfc_conv_expr_descriptor, gfc_alloc_allocatable_for_assignment,
+ gfc_walk_array_ref): Update field references.
+ * trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
+ Ditto.
+ * trans-intrinsic.c (walk_inline_intrinsic_transpose): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans.h (struct gfc_ss_info, struct gfc_array_info):
+ Rename the former to the latter.
+ * trans-array.c (gfc_get_array_ss, gfc_trans_allocate_array_storage,
+ get_array_ref_dim, gfc_trans_create_temp_array,
+ gfc_trans_constant_array_constructor, gfc_set_vector_loop_bounds,
+ gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
+ add_array_offset, gfc_trans_preloop_setup, gfc_conv_section_startstride,
+ gfc_conv_ss_startstride, gfc_conv_loop_setup, transposed_dims,
+ gfc_conv_expr_descriptor): Update all uses.
+ * trans-expr.c (gfc_conv_subref_array_arg, gfc_conv_procedure_call):
+ Ditto.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer,
+ walk_inline_intrinsic_transpose): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies,
+ gfc_trans_pointer_assign_need_temp): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (dim_ok, transposed_dims): Rename the former to the
+ latter. Change argument type. Invert return value.
+ (gfc_conv_expr_descriptor): Update calls.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (get_array_ref_dim): Change argument type and name.
+ Obtain previous argument from the new argument in the body.
+ (gfc_trans_create_temp_arry, gfc_conv_loop_setup): Update calls.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_set_vector_loop_bounds, set_vector_loop_bounds):
+ Rename the former to the latter. Change type and name of argument.
+ Get previous argument from the new one.
+ (gfc_add_loop_ss_code): Update call.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.h (gfc_trans_create_temp_array): Replace info argument
+ with ss argument.
+ * trans-array.c (gfc_trans_create_temp_array): Ditto. Get info from ss.
+ (gfc_trans_array_constructor, gfc_conv_loop_setup): Update call to
+ gfc_trans_create_temp_array.
+ * trans-expr.c (gfc_conv_procedure_call): Ditto.
+ * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ditto.
+ * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_array_bound_check): Use ss argument
+ to get name.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_array_bound_check,
+ trans_array_bound_check): Rename the former to the latter.
+ Replace descriptor argument with ss argument. Get descriptor from ss.
+ (gfc_conv_array_index_offset, conv_array_index_offset): Rename the
+ former to the latter. Update call to trans_array_bound_check.
+ Replace info argument with ss argument. Get info from ss.
+ (gfc_conv_scalarized_array_ref): Update call to conv_array_index_offset.
+ (add_array_offset): Ditto
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_constant_array_constructor,
+ trans_constant_array_constructor): Rename the former to the latter.
+ Don't set the rank of the temporary for the loop. Remove then unused
+ loop argument.
+ (gfc_trans_array_constructor): Update call.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_scalarizing_loops): Stop loop before end
+ marker, not after it.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_conv_loop_setup): Also skip temporary arrays.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_conv_ss_startstride): Access array bounds along
+ array dimensions instead of loop dimensions.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Assertify one condition.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_walk_array_ref): Skip coarray dimensions.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (get_array_ref_dim): Remove redundant condition.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Move common code...
+ (add_array_offset): ...into that new function.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Use loop's dimension instead
+ of array's dimention. Check that it is indeed the same.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Remove redundant assertion.
+ Special case outermost loop.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Factor loop index
+ initialization.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Move code earlier.
+
+2011-11-03 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_trans_preloop_setup): Move array reference
+ initialisation earlier. Factor subsequent array references.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makef-lang.in (gfortranspec.o): Pass SHLIB instead of SHLIB_LINK.
+
+2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50573
+ * check.c (gfc_check_dshift): Update argument checking for BOZ.
+ Update checking SHIFT against BITSIZE of I or J.
+ * intrinsic.texi: Update docs for DSHIFTL and DSHIFTR.
+
+2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * check.c (gfc_check_atan_2): Typo in comment.
+ (gfc_check_nearest): If 's' is constant, check that it is not 0.
+ * simplify.c (simplify_dshift, gfc_simplify_ibclr, gfc_simplify_ibits,
+ gfc_simplify_ibset, simplify_shift, gfc_simplify_ishftc,
+ gfc_simplify_nearest): Remove dead code.
+
+2011-10-23 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * simplify.c (simplify_transformation_to_array): Fix memory leak.
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50821
+ * check.c (gfc_check_ishftc): Check args are constant before
+ extracting the integer.
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50514
+ * check.c (less_than_bitsize1): Check |shift| <= bit_size(i).
+ (gfc_check_ishftc): Check |shift| <= bit_size(i) and check
+ that size is positive.
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50524
+ * resolve.c (resolve_ref): Check return value of resolve_substring().
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * io.c (match_dt_format): Match a user-defined operator or a kind
+ type prefixed string.
+
+2011-10-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ * check.c (gfc_check_sizeof): Reject procedures as argument of SIZEOF.
+ * intrinsinc.texi (SIZEOF): Document it.
+ (STORAGE_SIZE): Fix special characters. Fix line breaks.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans.c (gfc_build_array_ref): If type is not an array, check that
+ there is nothing to do, and do nothing.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans-types.c (gfc_build_array_type): Don't force lower bound to one
+ in the deferred case.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * simplify.c (simplify_cobound): Accept non-last-in-ref-chain coarrays.
+ Don't set already set array ref.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ * array.c (gfc_find_array_ref): Remove coarray-specific handling.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * check.c (dim_corank_check): Use gfc_get_corank to get corank.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans-intrinsic.c (walk_coarray): Change AR_ELEMENT to AR_SECTION.
+
+ PR fortran/50420
+ * trans-intrinsic.c (walk_coarray): Use gfc_walk_array_ref for
+ the scalarization chain initialization.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans-intrinsic.c (walk_coarray): Allow subreferences after a
+ coarray object reference.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans-array.c (gfc_walk_array_ref): Allow zero rank arrays
+ if they are coarrays.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.h (gfc_walk_array_ref): New prototype.
+ * trans-array.c (gfc_walk_array_ref): New function, containing
+ all but the beginning of gfc_walk_variable_expr's code.
+ (gfc_walk_variable_expr): Use gfc_walk_array_ref.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans-array.c (gfc_conv_expr_descriptor): Use loop.dimen instead of
+ ndim for the descriptor's rank.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * trans-array.c (gfc_conv_expr_descriptor): Count codimensions starting
+ from zero, and add then the relevant offset (either ndim or loop.dimen)
+ depending on context.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_conv_expr_descriptor): Save some horizontal space.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ * trans-array.c (gfc_conv_expr_descriptor): Move ndim initialization
+ earlier.
+
+2011-10-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ * decl.c (verify_c_interop_param): Renamed to
+ 'gfc_verify_c_interop_param'. Add error message for polymorphic
+ arguments.
+ (verify_c_interop): Renamed to 'gfc_verify_c_interop'. Reject
+ polymorphic variables.
+ (verify_bind_c_sym): Renamed 'verify_c_interop'.
+ * gfortran.h (verify_c_interop,verify_c_interop_param): Renamed.
+ * check.c (gfc_check_sizeof): Ditto.
+ * resolve.c (gfc_iso_c_func_interface,resolve_fl_procedure): Ditto.
+ * symbol.c (verify_bind_c_derived_type): Ditto.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * cpp.c (print_line, cb_define): Adjust to avoid using internals
+ of struct line_map. Use the public API instead.
+
+2011-10-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ PR fortran/50752
+ * primary.c (match_kind_param): Avoid segfault.
+
+2011-10-16 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (current_ns): Make static.
+ (create_var): Note parent of newly created namespace.
+ (optimize_namespace): Don't wak sibling namespaces
+ if they are EXEC_BLOCK because this is handled...
+ (gfc_code_walker): ... here. Also walk ASSOCIATE lists.
+
+2011-10-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ * primary.c (match_kind_param): Detect ISO_C_BINDING kinds.
+ (get_kind): Pass on 'is_iso_c' flag.
+ (match_integer_constant,match_real_constant,match_logical_constant):
+ Set 'ts.is_c_interop'.
+
+2011-10-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50547
+ * resolve.c (resolve_formal_arglist): Remove unneeded error message.
+ Some reshuffling.
+
+2011-10-15 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (Fortran 2008 status, TS 29113 status,
+ Further Interoperability of Fortran with C): Update implementation
+ status, change references from TR 29113 to TS 29113.
+ * intrinsic.texi (RANK): Change TR 29113 to TS 29113.
+ * invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts.
+ * lang.opt (std=): Ditto.
+ * options.c (gfc_handle_option, set_default_std_flags): Ditto and
+ change GFC_STD_F2008_TR to GFC_STD_F2008_TS.
+ * libgfortran.h: Ditto.
+ * intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto.
+ * decl.c (verify_c_interop_param): Ditto.
+
+2011-10-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50570
+ * expr.c (gfc_check_vardef_context): Don't throw an error on
+ non-pointer assignments involving an intent(in) pointer dummy.
+
+2011-10-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50718
+ * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
+ for dummy arguments with VALUE attribute.
+
+2011-10-11 Tobias Burnus <burnus@net-b.de>
+ Janus Weil <janus@gcc.gnu.org>
+
+ * invoke.texi (-fwhole-file): Update wording since -fwhole-file
+ is now enabled by default.
+
+2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * trans-expr.c (gfc_conv_power_op): Delete old interface with two
+ parallel arrays to hold standard builtin declarations, and replace
+ it with a function based interface that can support creating
+ builtins on the fly in the future. Change all uses, and poison
+ the old names. Make sure 0 is not a legitimate builtin index.
+ (fill_with_spaces): Ditto.
+ (gfc_trans_string_copy): Ditto.
+ (gfc_trans_zero_assign): Ditto.
+ (gfc_build_memcpy_call): Ditto.
+ (alloc_scalar_allocatable_for_assignment): Ditto.
+ * trans-array.c (gfc_trans_array_constructor_value): Ditto.
+ (duplicate_allocatable): Ditto.
+ (gfc_alloc_allocatable_for_assignment): Ditto.
+ * trans-openmp.c (gfc_omp_clause_copy_ctor): Ditto.
+ (gfc_omp_clause_assign_op): Ditto.
+ (gfc_trans_omp_atomic): Ditto.
+ (gfc_trans_omp_do): Ditto.
+ (gfc_trans_omp_task): Ditto.
+ * trans-stmt.c (gfc_trans_stop): Ditto.
+ (gfc_trans_sync): Ditto.
+ (gfc_trans_allocate): Ditto.
+ (gfc_trans_deallocate): Ditto.
+ * trans.c (gfc_call_malloc): Ditto.
+ (gfc_allocate_using_malloc): Ditto.
+ (gfc_call_free): Ditto.
+ (gfc_deallocate_with_status): Ditto.
+ (gfc_deallocate_scalar_with_status): Ditto.
+ * f95-lang.c (gfc_define_builtin): Ditto.
+ (gfc_init_builtin_functions): Ditto.
+ * trans-decl.c (create_main_function): Ditto.
+ * trans-intrinsic.c (builtin_decl_for_precision): Ditto.
+
+2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50564
+ * frontend-passes (forall_level): New variable.
+ (cfe_register_funcs): Don't register functions if we
+ are within a forall loop.
+ (optimize_namespace): Set forall_level to 0 before entry.
+ (gfc_code_walker): Increase/decrease forall_level.
+
+2011-10-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50273
+ * trans-common.c (translate_common): Fix -Walign-commons check.
+
+2011-10-09 Mikael Morin <mikael.morin@sfr.fr>
+
+ * interface.c (check_dummy_characteristics): Count dimensions starting
+ from one in diagnostic.
+
+2011-10-09 Tobias Burnus <burnus@net-b.de>
+
+ * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add
+ dependency on iso-c-binding.def and iso-fortran-env.def.
+ * module.c (import_iso_c_binding_module): Add error when
+ explicitly importing a nonstandard symbol; extend standard-
+ depending loading.
+ * iso-c-binding.def: Add c_float128 and c_float128_complex
+ integer parameters (for -std=gnu).
+ * intrinsic.texi (ISO_C_Binding): Document them.
+ * symbol.c (generate_isocbinding_symbol): Change macros
+ to ignore GFC_STD_* data.
+ * trans-types.c (gfc_init_c_interop_kinds): Ditto; make
+ nonstatic and renamed from "init_c_interop_kinds".
+ (gfc_init_kinds): Don't call it
+ * trans-types.h (gfc_init_c_interop_kinds): Add prototype.
+ * f95-lang.c (gfc_init_decl_processing): Call it.
+
+2011-10-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50659
+ * expr.c (replace_symbol): Only do replacement if the symbol is a dummy.
+
+2011-10-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47844
+ * trans-array.c (gfc_conv_array_index_offset): Use descriptor
+ stride for pointer function results.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
+ Remove conditions on coarray.
+ (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
+ (gfc_conv_expr_descriptor): Ditto. Add assertions before the call.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_section_startstride): Remove coarray_last
+ argument. Remove condition on coarray_last.
+ (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
+ (gfc_conv_expr_descriptor): Ditto.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
+ handling. Don't reset array ref's corank and codimensions' types
+ in the full array ref case. Update loop upper limit.
+ Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans.h (gfc_ss_info): Remove codimen field.
+ * trans-array.c (gfc_get_array_ss): Don't set codimen field.
+ (gfc_trans_create_temp_array): Don't set descriptor's cobounds.
+ (gfc_trans_constant_array_constructor): Update loop upper limit.
+ (gfc_conv_ss_startstride): Don't set codimen field.
+ Don't get descriptor's cobounds.
+ (gfc_walk_variable_expr): Update dimension index.
+ * trans-intrinsic.c (trans_this_image, trans_image_index,
+ conv_intrinsic_cobound): Don't set codimen field
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans.h (gfc_loopinfo): Remove codimen field.
+ * trans-array.c (gfc_set_vector_loop_bounds,
+ gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
+ limit.
+ (gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
+ codimension.
+ (gfc_start_scalarized_body): Update loop lower limit.
+ (gfc_conv_ss_startstride): Don't set loop's codimen field.
+ (gfc_conv_loop_setup): Remove unnecessary condition.
+ (gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans.h (gfc_ss): Remove data.temp.codimen field.
+ * trans-array.c (gfc_conv_resolve_dependencies,
+ gfc_conv_expr_descriptor): Don't set temp's codimen field.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
+ associated dimen_type) in the full array ref case.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-intrinsic.c (walk_coarray): New function.
+ (convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
+ (trans-this_image, trans_image_index, conv_intrinsic_cobound):
+ Use walk_coarray.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
+ cobounds evaluation.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_section_startstride): Move code to
+ evaluate_bound. Use evaluate_bound.
+ (evaluate_bound): New function.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_section_startstride): Update assertion to
+ also accept coarrays.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_section_startstride): Factor common
+ array ref references.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
+ loop.codimen as argument to gfc_get_array_type_bounds.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.h (struct gfc_se): New flag want_coarray.
+ * trans-intrinsic.c (trans_this_image, trans_image_index,
+ conv_intrinsic_cobound): Set want_coarray.
+ * trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
+ earlier and without relying on the scalarizer.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * expr.c (gfc_get_corank): Return 0 if input expression is not a
+ coarray.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
+ descriptor setup code.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * resolve.c (compare_spec_to_ref): Move coarray ref initialization
+ code...
+ (resolve_array_ref): ... here.
+
+2011-10-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ * check.c (is_coarray): Remove.
+ (coarray_check): Use gfc_is_coarray.
+
+2011-10-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50625
+ * class.c (gfc_build_class_symbol): Fix whitespace.
+ * module.c (mio_symbol): Set 'class_ok' attribute.
+ * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
+ been built for class symbols.
+
+2011-10-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/35831
+ * interface.c (check_dummy_characteristics): Check the array shape.
+
+2011-10-01 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50585
+ * interface.c (get_expr_storage_size): Check if 'length' component is
+ associated.
+
+2011-09-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50547
+ * resolve.c (resolve_formal_arglist): Fix pureness check for dummy
+ functions.
+
+ PR fortran/50553
+ * symbol.c (check_conflict): Forbid TARGET attribute for statement
+ functions.
+
+2011-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-types.c (gfc_type_for_size): Return wider type
+ if no suitable narrower type has been found.
+ (gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size
+ returned type doesn't have expected TYPE_MODE.
+
+2011-09-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50515
+ * resolve.c (resolve_common_blocks): Check for EXTERNAL attribute.
+
+ PR fortran/50517
+ * interface.c (gfc_compare_interfaces): Bugfix in check for result type.
+
+2011-09-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41733
+ * expr.c (gfc_check_pointer_assign): Check for nonintrinsic elemental
+ procedures.
+ * interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Check
+ for PURE and ELEMENTAL attributes.
+ (compare_actual_formal): Remove pureness check here.
+
+2011-09-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * check.c (gfc_check_c_sizeof): Remove redundant word.
+
+2011-09-20 Simon Baldwin <simonb@google.com>
+
+ * module.c (gfc_dump_module): Omit timestamp from output.
+
+2011-09-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50403
+ * symbol.c (gfc_use_derived): Fix coding style.
+
+2011-09-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50401
+ * resolve.c (resolve_transfer): Check if component 'ref' is defined.
+
+ PR fortran/50403
+ * symbol.c (gfc_use_derived): Check if argument 'sym' is defined.
+
+2011-09-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34547
+ PR fortran/50375
+ * check.c (gfc_check_null): Allow allocatables as MOLD to NULL.
+ * resolve.c (resolve_transfer): Reject NULL without MOLD.
+ * interface.c (gfc_procedure_use): Reject NULL without MOLD
+ if no explicit interface is known.
+ (gfc_search_interface): Reject NULL without MOLD if it would
+ lead to ambiguity.
+
+2011-09-13 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50379
+ * symbol.c (check_conflict): Check conflict between GENERIC and RESULT
+ attributes.
+
+2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50327
+ * frontend-passes.c (dummy_expr_callback): New function.
+ (convert_do_while): New function.
+ (optimize_namespace): Call code walker to convert do while loops.
+
+2011-09-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/35831
+ PR fortran/47978
+ * interface.c (check_dummy_characteristics): New function to check the
+ characteristics of dummy arguments.
+ (gfc_compare_interfaces,gfc_check_typebound_override): Call it here.
+
+2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.c (gfc_trans_constant_array_constructor): Remove
+ superfluous initialisation of DIM field.
+ (gfc_trans_array_constructor): Assert that DIMEN field is properly set.
+ (gfc_conv_expr_descriptor): Ditto.
+ * trans-expr.c (gfc_conv_procedure_call): Ditto.
+
+2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.h (gfc_get_scalar_ss): New prototype.
+ * trans-array.c (gfc_get_scalar_ss): New function.
+ (gfc_walk_variable_expr, gfc_walk_op_expr,
+ gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss.
+ * trans-expr.c (gfc_trans_subarray_assign): Ditto.
+ (gfc_trans_assignment_1): Ditto.
+ * trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign,
+ gfc_trans_where_3): Ditto.
+
+2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.h (gfc_get_temp_ss): New prototype.
+ * trans-array.c (gfc_get_temp_ss): New function.
+ (gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss.
+ (gfc_conv_expr_descriptor): Ditto.
+ * trans-expr.c (gfc_conv_subref_array_arg): Ditto.
+
+2011-09-08 Mikael Morin <mikael.morin@sfr.fr>
+
+ * trans-array.h (gfc_get_array_ss): New prototype.
+ * trans-array.c (gfc_get_array_ss): New function.
+ (gfc_walk_variable_expr, gfc_walk_function_expr,
+ gfc_walk_array_constructor): Re-use gfc_get_array_ss.
+ * trans-expr.c (gfc_trans_subarray_assign): Ditto.
+ * trans-intrinsic.c (gfc_walk_intrinsic_bound,
+ gfc_walk_intrinsic_libfunc): Ditto.
+ * trans-io.c (transfer_array_component): Ditto.
+
+2011-09-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/44646
+ * decl.c (gfc_match_entry, gfc_match_end): Handle COMP_DO_CONCURRENT.
+ * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT.
+ * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT.
+ * match.c (gfc_match_critical, match_exit_cycle, gfc_match_stopcode,
+ lock_unlock_statement, sync_statement, gfc_match_allocate,
+ gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic.
+ (gfc_match_do): Match DO CONCURRENT.
+ (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator,
+ match_forall_iterator, match_forall_header, match_simple_forall,
+ gfc_match_forall): Move up in the file.
+ * parse.c (check_do_closure, parse_do_block): Handle do concurrent.
+ * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT.
+ * resolve.c (do_concurrent_flag): New global variable.
+ (resolve_function, pure_subroutine, resolve_branch,
+ gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent
+ diagnostic.
+ * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT.
+ * trans-stmt.c (gfc_trans_do_concurrent): New function.
+ (gfc_trans_forall_1): Handle do concurrent.
+ * trans-stmt.h (gfc_trans_do_concurrent): New function prototype.
+ * trans.c (trans_code): Call it.
+ * frontend-passes.c (gfc_code_walker): Handle EXEC_DO_CONCURRENT.
+
+2011-09-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48095
+ * primary.c (gfc_match_structure_constructor): Handle parsing of
+ procedure pointers components in structure constructors.
+ * resolve.c (resolve_structure_cons): Check interface of procedure
+ pointer components. Changed wording of some error messages.
+
+2011-09-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50227
+ * trans-types.c (gfc_sym_type): Check for proc_name.
+
+2011-08-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45044
+ * trans-common.c (build_common_decl): Warn if named common
+ block's size is not everywhere the same.
+
+2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/45170
+ * trans-stmt.c (gfc_trans_allocate): Evaluate the substring.
+
+2011-08-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50225
+ * trans-decl.c (gfc_generate_function_code): Nullify polymorphic
+ allocatable function results.
+
+2011-08-29 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (generate_coarray_sym_init): Use
+ GFC_CAF_COARRAY_STATIC for static coarrays.
+
+2011-08-28 Dodji Seketeli <dodji@redhat.com>
+
+ * scanner.c (load_file): Don't abuse LC_RENAME reason while
+ (indirectly) calling linemap_add.
+
+2011-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ * trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL
+ if threadprivate.
+ * symbol.c (check_conflict): Allow threadprivate attribute with
+ FL_PROCEDURE if proc_pointer.
+
+2011-08-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50050
+ * expr.c (gfc_free_shape): Do nothing if shape is NULL.
+ (free_expr0): Remove redundant NULL shape check.
+ * resolve.c (check_host_association): Ditto.
+ * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is
+ non-NULL.
+ * trans-io.c (transfer_array_component): Ditto.
+
+2011-08-25 Tobias Burnus <burnus@net-b.de>
+
+ * trans-array.c (gfc_conv_descriptor_token): Add assert.
+ * trans-decl.c (gfc_build_qualified_array,
+ create_function_arglist): Handle assumed-shape arrays.
+ * trans-expr.c (gfc_conv_procedure_call): Ditto.
+ * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't
+ add "caf_token" to assumed-shape descriptors, new akind argument.
+ (gfc_get_array_type_bounds): Pass akind.
+ * trans.h (lang_decl): New elements caf_offset and token.
+ (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros.
+
+2011-08-25 Tobias Burnus <burnus@net-b.de>
+
+ * trans-array.c (structure_alloc_comps): Fix for allocatable
+ scalar coarray components.
+ * trans-expr.c (gfc_conv_component_ref): Ditto.
+ * trans-type.c (gfc_get_derived_type): Ditto.
+
+2011-08-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50163
+ * expr.c (check_init_expr): Return when an error occured.
+
+2011-08-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (fortran/cpp.o): Remove explicit compilation rule.
+
+2011-08-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/31600
+ * symbol.c (gfc_add_type): Better diagnostic if redefining
+ use-associated symbol.
+ * module.c (gfc_use_module): Use module name as locus.
+
+2011-08-22 Gabriel Charette <gchare@google.com>
+
+ * cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens
+ defined in cpp_define_builtins.
+
+2011-08-22 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50050
+ * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes.
+ * expr.c (gfc_clear_shape, gfc_free_shape): New functions.
+ (free_expr0): Re-use gfc_free_shape.
+ * trans-expr.c (gfc_trans_subarray_assign): Ditto.
+ * trans-io.c (transfer_array_component): Ditto.
+ * resolve.c (check_host_association): Ditto.
+ (gfc_expr_to_initialize): Don't force the rank value and free the shape
+ after updating the expression. Recalculate shape and rank.
+ (resolve_where_shape): Re-use gfc_clear_shape.
+ * array.c (gfc_array_ref_shape): Ditto.
+
+2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47659
+ * expr.c (gfc_check_assign): Check for type conversions when the
+ right-hand side is a constant REAL/COMPLEX contstant the left-hand
+ side is also REAL/COMPLEX. Don't warn when a narrowing conversion
+ for REAL does not change the value of the constant.
+
+2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50130
+ * resolve.c (resolve_array_ref): Don't calculate upper bound
+ if the stride is zero.
+
+2011-08-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49638
+ * dependency.c (gfc_dep_compare_expr): Add new result value "-3".
+ (gfc_check_element_vs_section,gfc_check_element_vs_element): Handle
+ result value "-3".
+ * frontend-passes.c (optimize_comparison): Ditto.
+ * interface.c (gfc_check_typebound_override): Ditto.
+
+2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/50129
+ * parse.c (parse_where): Undo changes after emitting an error.
+
+2011-08-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49792
+ * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS
+ bit in ompws_flags only if loop.temp_ss is NULL, and clear it if
+ lhs needs reallocation.
+ * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if
+ code is NULL, emit a barrier if workshare emitted no code at all
+ and NOWAIT clause isn't present.
+
+2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/50071
+ * gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK.
+ * parse.c (check_statement_label): Accept ST_END_BLOCK and
+ ST_END_ASSOCIATE as valid branch target.
+ (accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK.
+ Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases.
+ * resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to
+ EXEC_END_NESTED_BLOCK.
+ (resolve_branch): Ditto.
+ (resolve_code): Add EXEC_END_NESTED_BLOCK case.
+ * st.c (gfc_free_statement): Ditto.
+ * trans.c (trans_code): Ditto.
+
+2011-08-18 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/50071
+ * symbol.c (gfc_get_st_label): Use the derived type namespace when
+ we are parsing a derived type definition.
+
+2011-08-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * parse.c (parse_derived): Add lock_type
+ checks, improve coarray_comp handling.
+ * resolve.c (resolve_allocate_expr,
+ resolve_lock_unlock, resolve_symbol): Fix lock_type
+ constraint checks.
+
+2011-08-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/31461
+ * trans-decl.c (generate_local_decl): Warn about
+ unused explicitly imported module variables/parameters.
+
+2011-08-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50070
+ * resolve.c (resolve_fl_variable): Reject non-constant character lengths
+ in COMMON variables.
+
+2011-08-16 Tobias Burnus <burnus@net-b.de>
+ Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ PR fortran/50094
+ * resolve.c (resolve_symbol): Fix stupid typo.
+
+2011-08-15 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (resolve_symbol): Fix coarray result-var check.
+
+2011-08-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.
+
+2011-08-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50073
+ * decl.c (check_function_name): New function, separated off from
+ 'variable_decl' and slightly extended.
+ (variable_decl,attr_decl1): Call it.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS).
+
+2011-08-07 Janus Weil <janus@gcc.gnu.org>
+ Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49638
+ * dependency.c (are_identical_variables): For dummy arguments only
+ check for equal names, not equal symbols.
+ * interface.c (gfc_check_typebound_override): Add checking for rank
+ and character length.
+
+2011-08-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49638
+ * dependency.h (gfc_is_same_range,gfc_are_identical_variables): Remove
+ two prototypes.
+ * dependency.c (gfc_are_identical_variables,are_identical_variables):
+ Renamed the former to the latter and made static.
+ (gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handle
+ commutativity of multiplication.
+ (gfc_is_same_range,is_same_range): Renamed the former to the latter,
+ made static and removed argument 'def'.
+ (check_section_vs_section): Renamed 'gfc_is_same_range'.
+ * gfortran.h (gfc_check_typebound_override): New prototype.
+ * interface.c (gfc_check_typebound_override): Moved here from ...
+ * resolve.c (check_typebound_override): ... here (and renamed).
+ (resolve_typebound_procedure): Renamed 'check_typebound_override'.
+
+2011-08-06 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50004
+ * target-memory.c (gfc_target_expr-size): Don't clobber typespec
+ for derived types.
+ * simplify.c (gfc_simplify_transfer): Don't calculate source_size
+ twice.
+
+2011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37211
+ * gfortran.h (gfc_calculate_transfer_sizes): Add prototype.
+ * target-memory.h (gfc_target_interpret_expr): Add boolean
+ argument wether to convert wide characters.
+ * target-memory.c (gfc_target_expr_size): Also return length
+ of characters for non-constant expressions if these can be
+ determined from the cl.
+ (interpret_array): Add argument for gfc_target_interpret_expr.
+ (gfc_interpret_derived): Likewise.
+ (gfc_target_interpret_expr): Likewise.
+ * check.c: Include target-memory.h.
+ (gfc_calculate_transfer_sizes): New function.
+ (gfc_check_transfer): When -Wsurprising is in force, calculate
+ sizes and warn if result is larger than size (check moved from
+ gfc_simplify_transfer).
+ * simplify.c (gfc_simplify_transfer): Use
+ gfc_calculate_transfer_sizes. Remove warning.
+
+2011-08-04 Richard Guenther <rguenther@suse.de>
+
+ PR fortran/49957
+ * trans-array.c (add_to_offset): New function.
+ (gfc_conv_array_ref): Build the array index expression in optimally
+ associated order.
+ (gfc_walk_variable_expr): Adjust for the backward walk.
+
+2011-08-02 Daniel Kraft <d@domob.eu>
+
+ PR fortran/49885
+ * trans-array.c (gfc_trans_auto_array_allocation): Change
+ gfc_start_block to gfc_init_block to avoid spurious extra-scope.
+
+2011-08-02 Tobias Burnus <burnus@net-b.de>
+
+ * trans-array.c (gfc_array_allocate): Pass token to
+ gfc_allocate_allocatable for -fcoarray=lib.
+ * trans-stmt.c (gfc_trans_allocate): Update
+ gfc_allocate_allocatable call.
+ * trans.h (gfc_allocate_allocatable): Update prototype.
+ (gfc_allocate_using_lib): Remove.
+ * trans.c (gfc_allocate_using_lib): Make static, handle token.
+ (gfc_allocate_allocatable): Ditto.
+
+2011-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/46752
+ * cpp.c (cpp_define_builtins): Change _OPENMP to 201107.
+ * openmp.c (gfc_free_omp_clauses): Free also final_expr.
+ (OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE): Define.
+ (gfc_match_omp_clauses): Handle parsing final and mergeable
+ clauses.
+ (OMP_TASK_CLAUSES): Allow final and mergeable clauses.
+ (gfc_match_omp_taskyield): New function.
+ (resolve_omp_clauses): Resolve final clause. Allow POINTERs and
+ Cray pointers in clauses other than REDUCTION.
+ (gfc_match_omp_atomic): Match optional
+ read/write/update/capture keywords after !$omp atomic.
+ (resolve_omp_atomic): Handle all OpenMP 3.1 atomic forms.
+ * dump-parse-tree.c (show_omp_node): Handle EXEC_OMP_TASKYIELD,
+ print final and mergeable clauses.
+ (show_code_node): Handle EXEC_OMP_TASKYIELD.
+ * trans-openmp.c (gfc_trans_omp_clauses): Handle final and
+ mergeable clauses.
+ (gfc_trans_omp_taskyield): New function.
+ (gfc_trans_omp_directive): Handle EXEC_OMP_TASKYIELD.
+ (gfc_trans_omp_atomic): Handle all OpenMP 3.1 atomic forms.
+ (gfc_omp_clause_copy_ctor): Handle non-allocated allocatable.
+ (gfc_omp_predetermined_sharing): Adjust comment.
+ * gfortran.h (gfc_statement): Add ST_OMP_TASKYIELD and
+ ST_OMP_END_ATOMIC.
+ (gfc_omp_clauses): Add final_expr and mergeable fields.
+ (gfc_exec_op): Add EXEC_OMP_TASKYIELD.
+ (gfc_omp_atomic_op): New enum typedef.
+ (struct gfc_code): Add ext.omp_atomic.
+ * trans.c (trans_code): Handle EXEC_OMP_TASKYIELD.
+ * frontend-passes.c (gfc_code_walker): Also walk final_expr.
+ * resolve.c (gfc_resolve_blocks, resolve_code): Handle
+ EXEC_OMP_TASKYIELD.
+ * st.c (gfc_free_statement): Likewise.
+ * match.h (gfc_match_omp_taskyield): New prototype.
+ * parse.c (decode_omp_directive): Handle taskyield directive.
+ Handle !$omp end atomic.
+ (case_executable): Add ST_OMP_TASKYIELD case.
+ (gfc_ascii_statement): Handle ST_OMP_TASKYIELD.
+ (parse_omp_atomic): Return gfc_statement instead of void.
+ For !$omp atomic capture parse two assignments instead of
+ just one and require !$omp end atomic afterwards, for
+ other !$omp atomic forms just allow !$omp end atomic at the
+ end.
+ (parse_omp_structured_block, parse_executable): Adjust
+ parse_omp_atomic callers.
+
+2011-08-02 Tobias Burnus <burnus@net-b.de>
+
+ * intrinsic.c (OMP_LIB): Updated openmp_version's
+ value to 201107.
+ * gfortran.texi (OpenMP): Update ref to OpenMP 3.1.
+ * intrinsic.texi (OpenMP Modules): Update ref to OpenMP 3.1;
+ remove deleted omp_integer_kind and omp_logical_kind constants.
+
+2011-07-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49112
+ * resolve.c (resolve_structure_cons): Don't do the full dt resolution,
+ only call 'resolve_fl_derived0'.
+ (resolve_typebound_procedures): Resolve typebound procedures of
+ parent type.
+ (resolve_fl_derived0): New function, which does a part of the work
+ for 'resolve_fl_derived'.
+ (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
+ things.
+
+2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48876
+ * expr.c (gfc_simplify_expr): If end of a string is less
+ than zero, set it to zero.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/31067
+ * frontend-passes.c (optimize_minmaxloc): New function.
+ (optimize_expr): Call it.
+
+2011-07-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45586
+ * trans-types.c (gfc_get_derived_type): Ensure that pointer
+ component types are marked as nonrestricted.
+
+2011-07-27 Daniel Carrera <dcarrera@gmail.com>
+
+ PR fortran/49755
+ * trans.c (gfc_allocate_using_malloc): Change function signature.
+ Return nothing. New parameter "pointer". Eliminate temorary variables.
+ (gfc_allocate_using_lib): Ditto.
+ (gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
+ and gfc_allocate_using_malloc. Do not free and then reallocate a
+ variable that is already allocated.
+ (gfc_likely): New function. Basedon gfc_unlikely.
+ * trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
+ Instructions to modify the array descriptor are stored in this block
+ while other instructions continue to be stored in "pblock".
+ (gfc_array_allocate): Update call to gfc_array_init_size. Move the
+ descriptor_block so that the array descriptor is only updated if
+ the array was allocated successfully.
+ Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
+ * trans.h (gfc_allocate_allocatable): Change function signature.
+ Function now returns void.
+ (gfc_allocate_using_lib): Ditto, and new function parameter.
+ (gfc_allocate_using_malloc): Ditto.
+ * trans-openmp.c (gfc_omp_clause_default_ctor,
+ gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
+ to gfc_allocate_allocatable with gfc_allocate_using_malloc.
+ * trans-stmt.c (gfc_trans_allocate): Update function calls for
+ gfc_allocate_allocatable and gfc_allocate_using_malloc.
+
+2011-07-26 Tobias Burnus <burnus@net-b.de>
+
+ * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
+ (gfc_conv_descriptor_token): New function.
+ * trans-array.h (gfc_conv_descriptor_token): New prototype.
+ * trans-types.c (gfc_get_array_descriptor_base): For coarrays
+ with -fcoarray=lib, append "void *token" to the array descriptor.
+ (gfc_array_descriptor_base_caf): New static variable.
+ * trans-expr.c (gfc_conv_procedure_call): Handle token and offset
+ when passing a descriptor coarray to a nondescriptor dummy.
+
+2011-07-23 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (resolve_symbol): Fix coarray var decl check.
+
+2011-07-21 Daniel Carrera <dcarrera@gmail.com>
+
+ * trans.c (gfc_allocate_with_status): Split into two functions
+ gfc_allocate_using_malloc and gfc_allocate_usig_lib.
+ (gfc_allocate_using_malloc): The status parameter is now the
+ actual status rather than a pointer. Code cleanup.
+ (gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and
+ errlen. Pass these to the coarray lib.
+ * trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to
+ gfc_allocate_allocatable.
+ (gfc_omp_clause_copy_ctor): Ditto.
+ (gfc_trans_omp_array_reduction): Ditto.
+ * trans-stmt.c (gfc_trans_allocate): Ditto. Update call to
+ gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate
+ fuctions. If using coarray lib, pass errmsg and errlen to the allocate
+ functions. Move error checking outside the if (!gfc_array_allocate)
+ block so that it also affects trees produced by gfc_array_allocate.
+ * trans-array.c (gfc_array_allocate): Add new parameters errmsg
+ and errlen. Replace parameter pstat by status. Code cleanup. Update
+ calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
+ * trans-array.h (gfc_array_allocate): Update signature of
+ gfc_array_allocate.
+
+2011-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.texi: Remove a duplicate word.
+
+2011-07-21 Tobias Burnus <burnus@net-b.de>
+
+ * check.c (gfc_check_present): Allow coarrays.
+ * trans-array.c (gfc_conv_array_ref): Avoid casting
+ when a pointer is wanted.
+ * trans-decl.c (create_function_arglist): For -fcoarray=lib,
+ handle hidden token and offset arguments for nondescriptor
+ coarrays.
+ * trans-expr.c (get_tree_for_caf_expr): New function.
+ (gfc_conv_procedure_call): For -fcoarray=lib pass the
+ token and offset for nondescriptor coarray dummies.
+ * trans.h (lang_type): Add caf_offset tree.
+ (GFC_TYPE_ARRAY_CAF_OFFSET): New macro.
+
+2011-07-19 Tobias Burnus <burnus@net-b.de>
+
+ * expr.c (gfc_is_coarray): New function.
+ * gfortran.h (gfc_is_coarray): New prototype.
+ * interface.c (compare_parameter): Use it.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus.
+ (gfc_trans_string_copy): Likewise.
+ * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise.
+ * trans-types.c (gfc_get_array_descr_info): Likewise.
+ * trans.c (gfc_build_array_ref): Likewise.
+
+2011-07-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49708
+ * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers.
+
+2011-07-18 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_build_qualified_array): Make coarray's
+ token TYPE_QUAL_RESTRICT.
+
+2011-07-18 Tobias Burnus <burnus@net-b.de>
+
+ * resolve.c (resolve_transfer): Mention defined I/O
+ in the diagnostic for alloc_comp/pointer_comp.
+
+2011-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34657
+ * module.c (check_for_ambiguous): Check whether the name is matches
+ the current program unit.
+
+2011-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49624
+ * expr.c (gfc_check_pointer_assign): Fix checking for invalid
+ pointer bounds.
+
+2011-07-16 Tobias Burnus <burnus@net-b.de>
+
+ * expr.c (gfc_ref_this_image): New function.
+ (gfc_is_coindexed): Use it.
+ * gfortran.h (gfc_ref_this_image): New prototype.
+ * resolve.c (resolve_deallocate_expr,
+ resolve_allocate_expr): Support alloc scalar coarrays.
+ * trans-array.c (gfc_conv_array_ref, gfc_array_init_size,
+ gfc_conv_descriptor_cosize, gfc_array_allocate,
+ gfc_trans_deferred_array): Ditto.
+ * trans-expr.c (gfc_conv_variable) Ditto.:
+ * trans-stmt.c (gfc_trans_deallocate): Ditto.
+ * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds
+ gfc_get_array_descr_info): Ditto.
+ * trans-decl.c (gfc_get_symbol_decl): Ditto.
+
+2011-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49698
+ * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize
+ inner_size to gfc_index_one_node instead of integer_one_node.
+
+2011-07-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49690
+ * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL.
+
+2011-07-09 Uros Bizjak <ubizjak@gmail.com>
+
+ PR fortran/48926
+ * expr.c (gfc_get_corank): Change return value to int.
+ * gfortran.h (gfc_get_corank): Update function prototype.
+
+2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/49648
+ * resolve.c (resolve_symbol): Force resolution of function result's
+ array specification.
+
+2011-07-07 Tobias Burnus <burnus@net-b.de>
+
+ * trans.c (gfc_allocate_with_status): Call _gfortran_caf_register
+ with NULL arguments for (new) stat=/errmsg= arguments.
+
+2011-07-06 Daniel Carrera <dcarrera@gmail.com>
+
+ * trans-array.c (gfc_array_allocate): Rename allocatable_array to
+ allocatable. Rename function gfc_allocate_array_with_status to
+ gfc_allocate_allocatable_with_status. Update function call for
+ gfc_allocate_with_status.
+ * trans-opemp.c (gfc_omp_clause_default_ctor): Rename function
+ gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status.
+ * trans-stmt.c (gfc_trans_allocate): Update function call for
+ gfc_allocate_with_status. Rename function gfc_allocate_array_with_status
+ to gfc_allocate_allocatable_with_status.
+ * trans.c (gfc_call_malloc): Add new parameter gfc_allocate_with_status
+ so it uses the library for memory allocation when -fcoarray=lib.
+ (gfc_allocate_allocatable_with_status): Renamed from
+ gfc_allocate_array_with_status.
+ (gfc_allocate_allocatable_with_status): Update function call for
+ gfc_allocate_with_status.
+ * trans.h (gfc_coarray_type): New enum.
+ (gfc_allocate_with_status): Update prototype.
+ (gfc_allocate_allocatable_with_status): Renamed from
+ gfc_allocate_array_with_status.
+ * trans-decl.c (generate_coarray_sym_init): Use the new constant
+ GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register.
+
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ * f95-lang.c (gfc_init_decl_processing):
+ Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
+
+2011-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49623
+ * gfortranspec.c (lang_specific_driver): Ignore options with
+ CL_ERR_MISSING_ARG errors.
+
+2011-07-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49562
+ * expr.c (gfc_check_vardef_context): Handle type-bound procedures.
+
+2011-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49540
+ * gfortran.h (gfc_constructor): Add repeat field.
+ * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1.
+ * array.c (current_expand): Add repeat field.
+ (expand_constructor): Copy repeat.
+ * constructor.c (node_free, node_copy, gfc_constructor_get,
+ gfc_constructor_lookup): Handle repeat field.
+ (gfc_constructor_lookup_next, gfc_constructor_remove): New functions.
+ * data.h (gfc_assign_data_value): Add mpz_t * argument.
+ (gfc_assign_data_value_range): Removed.
+ * constructor.h (gfc_constructor_advance): Removed.
+ (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes.
+ * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and
+ also handle overwriting a range with a single entry.
+ (gfc_assign_data_value_range): Removed.
+ * resolve.c (check_data_variable): Adjust gfc_assign_data_value
+ call. Use gfc_assign_data_value instead of
+ gfc_assign_data_value_expr.
+
+2011-06-27 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49466
+ * trans-array.c (structure_alloc_comps): Make sure sub-components
+ and extended types are correctly deallocated.
+
+2011-06-21 Andrew MacLeod <amacleod@redhat.com>
+
+ * trans-openmp.c: Add sync_ or SYNC__ to builtin names.
+ * trans-stmt.c: Add sync_ or SYNC__ to builtin names.
+ * trans-decl.c: Add sync_ or SYNC__ to builtin names.
+
+2011-06-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49112
+ * class.c (gfc_find_derived_vtab): Make vtab and default initialization
+ symbols SAVE_IMPLICIT.
+
+2011-06-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.h (gfc_check_vardef_context): Update prototype.
+ (iso_fortran_env_symbol): Handle derived types.
+ (symbol_attribute): Add lock_comp.
+ * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
+ * interface.c (compare_parameter, gfc_procedure_use): Handle
+ LOCK_TYPE.
+ (compare_actual_formal): Update
+ gfc_check_vardef_context call.
+ * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
+ * intrinsic.c (check_arglist): Ditto.
+ * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto.
+ * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
+ * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
+ * module.c (mio_symbol_attribute): Handle lock_comp.
+ (create_derived_type): New function.
+ (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
+ * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
+ * resolve.c (resolve_symbol, resolve_lock_unlock): Add constraint
+ checks for LOCK_TYPE.
+ (gfc_resolve_iterator, resolve_deallocate_expr,
+ resolve_allocate_expr, resolve_code, resolve_transfer): Update
+ gfc_check_vardef_context call.
+ * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
+ * trans-stmt.c (gfc_trans_lock_unlock): New function.
+ * trans.c (trans_code): Handle LOCK and UNLOCK.
+
+2011-06-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49400
+ * decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
+ BLOCK constructs.
+
+2011-06-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48699
+ * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
+ make sure the vtab is present.
+
+2011-06-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49074
+ * interface.c (gfc_extend_assign): Propagate the locus from the
+ assignment to the type-bound procedure call.
+
+2011-06-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49417
+ * module.c (mio_component): Make sure the 'class_ok' attribute is set
+ for use-associated CLASS components.
+ * parse.c (parse_derived): Check for 'class_ok' attribute.
+ * resolve.c (resolve_fl_derived): Ditto.
+
+2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (remove_trim): New function.
+ (optimize_assignment): Use it.
+ (optimize_comparison): Likewise. Return correct status
+ for previous change.
+
+2011-06-12 Tobias Burnus
+
+ PR fortran/49324
+ * trans-expr.c (gfc_trans_assignment_1): Tell
+ gfc_trans_scalar_assign to also deep-copy RHS nonvariables
+ with allocatable components.
+ * trans-array.c (gfc_conv_expr_descriptor): Ditto.
+
+2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (optimize_assignment): Follow chains
+ of concatenation operators to the end for removing trailing
+ TRIMS for assignments.
+
+2011-06-10 Daniel Carrera <dcarrera@gmail.com>
+
+ * trans-decl.c (gfc_build_builtin_function_decls):
+ Updated declaration of caf_sync_all and caf_sync_images.
+ * trans-stmt.c (gfc_trans_sync): Function
+ can now handle a "stat" variable that has an integer type
+ different from integer_type_node.
+
+2011-06-09 Richard Guenther <rguenther@suse.de>
+
+ * trans.c (gfc_allocate_array_with_status): Mark error path
+ as unlikely.
+
+2011-06-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.
+ (gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.
+ (gfc_code): Add expr4.
+ * match.h (gfc_match_lock, gfc_match_unlock): New prototypes.
+ * match.c (gfc_match_lock, gfc_match_unlock,
+ lock_unlock_statement): New functions.
+ (sync_statement): Bug fix, avoiding double freeing.
+ (gfc_match_if): Handle LOCK/UNLOCK statement.
+ * parse.c (decode_statement, next_statement,
+ gfc_ascii_statement): Ditto.
+ * st.c (gfc_free_statement): Handle LOCK and UNLOCK.
+ * resolve.c (resolve_lock_unlock): New function.
+ (resolve_code): Call it.
+ * dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.
+
+2011-06-07 Richard Guenther <rguenther@suse.de>
+
+ * f95-lang.c (gfc_init_decl_processing): Do not set
+ size_type_node or call set_sizetype.
+
+2011-06-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49255
+ * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
+ for F2008.
+
+2011-06-05 Andreas Schmidt <andreas.schmidt.42@gmx.net>
+ Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump-parse-tree.c (show_symbol): Don't dump namespace
+ for ENTRY to avoid infinite recursion.
+
+2011-06-02 Asher Langton <langton2@llnl.gov>
+
+ PR fortran/49268
+ * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray
+ pointees as AS_EXPLICIT.
+
+2011-06-02 Asher Langton <langton2@llnl.gov>
+
+ PR fortran/37039
+ * decl.c (variable_decl): Merge current_as before copying to cp_as.
+
+2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/49265
+ * decl.c (gfc_match_modproc): Allow for a double colon in a module
+ procedure statement.
+ * parse.c ( decode_statement): Deal with whitespace around :: in
+ gfc_match_modproc.
+
+2011-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * intrinsic.c (klass): Add CLASS_ATOMIC.
+ (add_subroutines): Add atomic_ref/atomic_define.
+ * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document.
+ * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref,
+ gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes.
+ * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF
+ and GFC_ISYM_ATOMIC_REF.
+ (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars.
+ * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New
+ functions.
+ * check.c (gfc_check_atomic, gfc_check_atomic_def,
+ gfc_check_atomic_ref): New functions.
+ * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND,
+ ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value.
+ * trans-intrinsic.c (conv_intrinsic_atomic_def,
+ conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New
+ functions.
+ (conv_intrinsic_move_alloc) Renamed from
+ gfc_conv_intrinsic_move_alloc - and made static.
+ * trans.h (gfc_conv_intrinsic_move_alloc): Remove.
+ (gfc_conv_intrinsic_subroutine) Add prototype.
+ * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine.
+ * trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): New
+ global vars.
+ (gfc_init_kinds): Set them.
+
+2011-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-array.c (gfc_trans_dummy_array_bias): Handle
+ cobounds of assumed-shape arrays.
+
+2011-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * resolve.c (resolve_fl_variable): Handle static coarrays
+ with non-constant cobounds.
+
+2011-05-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47601
+ * module.c (mio_component_ref): Handle components of extended types.
+ * symbol.c (gfc_find_component): Return is sym is NULL.
+
+2011-05-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * interface.c (compare_parameter): Add check for passing coarray
+ to allocatable noncoarray dummy.
+
+2011-05-29 Tobias Burnus <burnus@net-b.de>
+ Richard Guenther <rguenther@suse.de>
+
+ PR fortran/18918
+ * trans-types.c (gfc_get_nodesc_array_type): Don't mess with
+ the type's TREE_TYPE.
+ * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT.
+ * trans.c (gfc_build_array_ref): Ditto.
+
+2011-05-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * check.c (gfc_check_associated, gfc_check_null): Add coindexed check.
+ * match.c (gfc_match_nullify): Ditto.
+ * resolve.c (resolve_deallocate_expr): Ditto.
+ * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted
+ for nonpointers.
+
+2011-05-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK.
+ * intrinsic.c (add_functions): Add rank intrinsic.
+ (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR.
+ * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes.
+ * simplify.c (gfc_simplify_rank): New function.
+ * intrinsic.texi (RANK): Add description for rank intrinsic.
+ * check.c (gfc_check_rank): New function.
+
+2011-05-26 Paul Thomas <pault@gcc.gnu.org>
+ Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48955
+ * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET
+ changed to GFC_ENABLE_REVERSE.
+ * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed
+ to GFC_INHIBIT_REVERSE.
+ * gfortran.h: Enum gfc_reverse is now GFC_ENABLE_REVERSE,
+ GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE.
+ * dependency.c (gfc_dep_resolver): Change names for elements of
+ gfc_reverse as necessary. Change the logic so that forward
+ dependences are remembered as well as backward ones. When both
+ have appeared, force a temporary.
+
+2011-05-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays.
+ * trans-decl.c (has_coarray_vars, caf_init_block,
+ gfor_fndecl_caf_register): New file-global variables.
+ (gfc_finish_var_decl): Make sure that coarrays in main are static.
+ (gfc_build_qualified_array): Generate coarray token variable.
+ (gfc_get_symbol_decl): Don't use a static initializer for coarrays.
+ (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register.
+ (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for
+ static coarrays.
+ (generate_local_decl): Check for local coarrays.
+ (create_main_function): SYNC ALL before calling MAIN.
+ (generate_coarray_sym_init): Register static coarray.
+ (generate_coarray_init): Generate CAF registering constructor
+ function.
+ (gfc_generate_function_code): Call it, if needed, do not create
+ cgraph twice.
+ (gfc_generate_module_vars, gfc_process_block_locals): Call
+ generate_coarray_init.
+ * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for
+ -fcoarray=lib.
+ * trans.h (gfor_fndecl_caf_register): New variable.
+ (lang_type): New element caf_token.
+ (GFC_TYPE_ARRAY_CAF_TOKEN): New macro.
+
+2011-05-24 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o.
+ (gfortran$(exeext)): Use libcommon-target.a.
+
+2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (cfe_register_funcs): Also register
+ character functions if their charlens are known and constant.
+ Also register allocatable functions.
+
+2011-05-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48699
+ * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the
+ selector is ALLOCATABLE.
+
+2011-05-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48706
+ * module.c (write_dt_extensions): Do not write extended types which
+ are local to a subroutine.
+
+2011-05-20 Joseph Myers <joseph@codesourcery.com>
+
+ * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o.
+
+2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.texi (set_fpe): Update documentation.
+ * invoke.texi (-ffpe-trap): Likewise.
+ * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT.
+ * options.c (gfc_handle_fpe_trap_option): Handle inexact and make
+ precision an alias for it.
+
+2011-05-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-types.c (gfc_get_element_type): Handle scalar coarrays.
+ (gfc_get_nodesc_array_type): Make a variant-type copy for scalar
+ coarrays.
+ * trans.c (gfc_build_array_ref): Return original type not variant
+ copy for scalar coarrays.
+ * trans-array.c (gfc_conv_array_ref): Ditto.
+
+2011-05-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48700
+ * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO'
+ argument to avoid memory leaks.
+
+2011-05-16 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
+ (Fortran 2008 status): Multi-image support for coarrays.
+ (TR 19113 status): New section.
+
+2011-05-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ actual argument is not an array; rank mismatch is diagnosted later.
+ * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle
+ scalar coarrays.
+ * trans-types.c (gfc_get_array_type_bounds): Ditto.
+
+2011-05-15 Joern Rennecke <amylaar@spamcop.net>
+
+ PR middle-end/46500
+ * trans-types.c: Include "tm.h".
+ [0] (c_size_t_size): Remove.
+
+2011-05-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48915
+ * gfortran.texi (_gfortran_set_options): Even though -fbacktrace
+ is now the default, the library defaults to backtracing disabled.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ * lang.opt (fdump-core): Re-add as ignored option
+ for backward compatibility.
+
+2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48915
+ * gfortran.texi: Update mixed-language programming section
+ reflecting the removal of the fdump-core option, and that
+ -fbacktrace is now enabled by default.
+
+2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/22572
+ * frontend-passes.c (cfe_register_funcs): Also register functions
+ for potential elimination if the rank is > 0, the shape is unknown
+ and reallocate on assignment is active.
+ (create_var): For rank > 0 functions with unknown shape, create
+ an allocatable temporary.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * interface.c (compare_parameter): Skip diagnostic if
+ actual argument is not an array; rank mismatch is diagnosted later.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ * options.c (gfc_init_options, gfc_post_options): Enable
+ -fstack-arrays by default if -Ofast is used.
+ * invoke.texi (-fstack-arrays): Document this.
+
+2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48915
+ * gfortran.h (gfc_option_t): Remove flag_dump_core.
+ * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section.
+ (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default.
+ * intrinsic.texi (ABORT): Remove explanation of -fdump-core.
+ * invoke.texi: Remove -fdump-core, document that -fbacktrace is
+ enabled by default.
+ * lang.opt: Remove -fdump-core.
+ * options.c (gfc_init_options): Make backtrace default to enabled,
+ remove dump_core.
+ (gfc_handle_option): Remove OPT_fdump-core.
+ * trans-decl.c: Pass a 0 to preserve ABI.
+
+2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation.
+
+2011-05-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48972
+ * io.c (resolve_tag_format, resolve_tag): Make sure
+ that the string is of default kind.
+ (gfc_resolve_inquire): Also resolve decimal tag.
+
+2011-05-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48972
+ * resolve.c (resolve_intrinsic): Don't resolve module
+ intrinsics multiple times.
+
+2011-05-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48889
+ * expr.c (gfc_is_constant_expr): Use e->value.function.esym
+ instead of e->symtree->n.sym, if available.
+
+2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * f95-lang.c (global_bindings_p): Return bool and simplify.
+
+2011-05-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ PR fortran/48919
+ * trans.h: Move gfc_init_coarray_decl prototype ...
+ * gfortran.h: ... to here.
+ * parse.c (translate_all_program_units): Call gfc_init_coarray_decl.
+ (gfc_parse_file): Update translate_all_program_units call.
+ * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration,
+ new argument whether DECL_EXTERNAL should be used.
+ (create_main_function): Update gfc_init_coarray_decl call.
+ * trans-intrinsic.c (trans_this_image, trans_image_index,
+ conv_intrinsic_cobound): Ditto.
+
+2011-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-array.c (gfc_walk_variable_expr): Continue walking
+ for scalar coarrays.
+ * trans-intrinsic.c (convert_element_to_coarray_ref): New function.
+ (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
+ (trans_this_image): Fix algorithm.
+ * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base,
+ gfc_sym_type): Handle scalar coarrays.
+
+2011-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48858
+ PR fortran/48820
+ * lang.opt (std=f2008tr): New.
+ * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
+ * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
+ procedures for -std=f2008tr/gnu/legacy.
+ (gfc_match_import): Set sym to NULL.
+ * options.c (set_default_std_flags,gfc_handle_option): Handle
+ -std=f2008tr.
+ * invoke.texi (-std=): Document -std=f2008tr.
+
+2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label.
+ * trans-io.c (add_case): Likewise.
+ * trans-stmt.c (gfc_trans_integer_select): Likewise.
+ (gfc_trans_character_select): Likewise.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans-decl.c (trans_function_start): Do not set
+ dont_save_pending_sizes_p.
+
+2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
+
+ * trans.h (gfc_chainon_list): Delete.
+ * trans.c (gfc_chainon_list): Delete.
+
+2011-05-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48864
+ * invoke.texi (fno-protect-parens): Document
+ that -Ofast implies -fno-protect-parens.
+ * options.c (gfc_init_options, gfc_post_options):
+ Make -Ofast imply -fno-protect-parens.
+
+2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
+
+ * trans-decl.c (build_library_function_decl_1): Call
+ build_function_type_vec. Adjust argument list building accordingly.
+ * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise.
+ * trans-types.c (gfc_get_function_type): Likewise.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * trans-array.c (gfc_trans_array_constructor_value): Use
+ size_int for bounds of range types.
+ (gfc_trans_array_constructor_value): Use size_type_node
+ for memcpy argument.
+ * trans-common.c (build_field): Use gfc_charlen_type_node
+ for lengths.
+ * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL
+ as type to build_int_cst.
+ * trans-const.c (gfc_build_string_const): Use size_int
+ for bounds of range types.
+ (gfc_build_wide_string_const): Likewise.
+ * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node
+ for lengths.
+ (gfc_trans_character_select): Likewise.
+ (gfc_trans_character_select): Do not pass NULL
+ as type to build_int_cst.
+ (gfc_trans_character_select): Use size_int for bounds of range types.
+ * trans-io.c (gfc_build_io_library_fndecls): Likewise.
+ (add_case): Do not pass NULL as type to build_int_cst.
+ (transfer_expr): Likewise.
+ (transfer_array_desc): Likewise.
+ * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node
+ for lengths.
+ (gfc_trans_assign_aux_var): Likewise.
+ (create_main_function): Use size_int for bounds of range types.
+ * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass
+ NULL as type to build_int_cst.
+ (gfc_conv_intrinsic_spacing): Likewise.
+ (gfc_conv_intrinsic_rrspacing): Likewise.
+ (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths.
+
+2011-05-04 Richard Guenther <rguenther@suse.de>
+
+ * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc
+ argument to int_const_binop.
+
+2011-05-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-intrinsic.c (trans_this_image): Implement version with
+ coarray argument.
+ (conv_intrinsic_cobound): Simplify code.
+ (gfc_conv_intrinsic_function): Call trans_this_image for
+ this_image(coarray) except for -fcoarray=single.
+
+2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/48720
+ * gfortran.texi: Document the 'Q' exponent-letter extension.
+ * invoke.texi: Document -Wreal-q-constant.
+ * lang.opt: Add -Wreal-q-constant option.
+ * gfortran.h: Add warn_real_q_constant to option struct.
+ * primary.c (match_real_constant): Use it. Accept 'Q' as
+ exponent-letter for REAL(16) real-literal-constant with a
+ fallback to REAL(10) or error if REAL(10) is not available.
+ * options.c (gfc_init_options, set_Wall) Set it.
+ (gfc_handle_option): Handle new option.
+
+2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * dump-prase-tree.c (show_code_node): Set the current
+ namespace to the BLOCK before displaying it; restore
+ afterwards.
+
+2011-04-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48821
+ * decl.c (gfc_match_import): Don't try to find the
+ symbol if already found.
+
+2011-04-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48746
+ * trans-expr.c (fcncall_realloc_result): Set the bounds and the
+ offset so that the lbounds are one.
+ (gfc_trans_arrayfunc_assign): Add rank to arguments of above.
+
+2011-04-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48462
+ * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with
+ automatic reallocation when the lhs is a target.
+
+ PR fortran/48746
+ * trans-expr.c (fcncall_realloc_result): Make sure that the
+ result dtype field is set before the function call.
+
+2011-04-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48810
+ * resolve.c (resolve_typebound_generic_call): Don't check access
+ flags of the specific function.
+
+ PR fortran/48800
+ * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED
+ to AS_ASSUMED_SHAPE for function results.
+ (resolve_fl_var_and_proc): Print also for function results with
+ AS_DEFERRED an error, if they are not a pointer or allocatable.
+ (resolve_types): Make sure arguments of procedures in interface
+ blocks are resolved.
+
+2011-04-29 Michael Matz <matz@suse.de>
+
+ * options.c (options.c): Set warn_maybe_uninitialized.
+
+2011-04-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48112
+ * resolve.c (resolve_fl_var_and_proc): Print diagnostic of
+ function results only once.
+ (resolve_symbol): Always resolve function results.
+
+ PR fortran/48279
+ * expr.c (gfc_check_vardef_context): Fix handling of generic
+ EXPR_FUNCTION.
+ * interface.c (check_interface0): Reject internal functions
+ in generic interfaces, unless -std=gnu.
+
+2011-04-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48788
+ * resolve.c (resolve_global_procedure): Error recovery -
+ avoid segfault for (non)character-returning functions.
+
+2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * decl.c (gfc_match_end): Check that the block name starts
+ with "block@".
+ * parse.c (gfc_build_block_ns): Make block names unique by
+ numbering them.
+
+2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (inserted_block): New variable.
+ (changed_statement): Likewise.
+ (create_var): Encase statement to be operated on in a BLOCK.
+ Adjust code insertion for BLOCK.
+ (cfe_code): Set inserted_block and changed_statement to NULL.
+
+2011-04-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * module.c (mio_array_spec): Set as->cotype on reading.
+ * resolve.c (resolve_allocate_expr): Fix allocating coarray
+ components.
+
+2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48405
+ * frontend_passes (cfe_register_funcs): Remove workaround for DO
+ loops.
+ (gfc_code_walker): Make sure the pointer to the current
+ statement doen't change when other statements are inserted.
+
+2011-04-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check.
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ * expr.c (free_expr0): Remove useless if-before-free.
+ * gfortranspec.c (lang_specific_pre_link): Likewise.
+ * interface.c (gfc_extend_expr): Likewise.
+ * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
+
+2011-04-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48588
+ PR fortran/48692
+
+ * module.c (fix_mio_expr): Commit created symbol.
+
+2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * scanner.c (load_file): Use XCNEWVAR instead of xcalloc.
+
+2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of
+ free.
+
+2011-04-19 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * misc.c (gfc_getmem): Remove function.
+ * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem
+ usage with XCNEW or XCNEWVEC.
+ * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with
+ XCNEW or XCNEWVEC.
+ * options.c (gfc_handle_module_path_options)
+ (gfc_get_option_string): Likewise.
+ * resolve.c (gfc_resolve_forall): Likewise.
+ * simplify.c (simplify_transformation_to_array): Likewise.
+ * target-memory.c (gfc_target_interpret_expr): Likewise.
+ * trans-common.c (get_segment_info, copy_equiv_list_to_ns)
+ (get_init_field): Likewise.
+ * trans-expr.c (gfc_conv_statement_function): Likewise.
+ * trans-io.c (nml_full_name): Likewise.
+ * trans-stmt.c (gfc_trans_forall_1): Likewise.
+ * scanner.c (load_file): Replace gfc_getmem usage with xcalloc.
+
+2011-04-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48588
+ * parse.c (resolve_all_program_units): Skip modules.
+ (translate_all_program_units): Handle modules.
+ (gfc_parse_file): Defer code generation for modules.
+
+2011-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
+ instead of cgraph_get_create_node.
+
+2011-04-18 Jim Meyering <meyering@redhat.com>
+
+ remove now-unused definition of gfc_free
+ * misc.c (gfc_free): Remove function.
+ * gfortran.h (gfc_free): Remove its prototype.
+
+2011-04-18 Jim Meyering <meyering@redhat.com>
+
+ convert each use of gfc_free (p) to free (p)
+ Do that by running this command:
+ perl -pi -e 's/\bgfc_free ?\(/free (/' \
+ $(git grep -El '\bgfc_free ?\(')
+ which also corrects the few uses that lacked a space between
+ the function name and the open parenthesis.
+ Manually undo the change to the function definition itself
+ and its prototype. They'll be removed next.
+ * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
+ * constructor.c (node_free): Likewise.
+ * cpp.c (dump_queued_macros): Likewise.
+ * data.c (gfc_assign_data_value): Likewise.
+ * decl.c (free_variable, free_value, gfc_free_data): Likewise.
+ (gfc_free_data_all, match_old_style_init): Likewise.
+ (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
+ Likewise.
+ (gfc_match_modproc): Likewise.
+ * dependency.c (check_section_vs_section): Likewise.
+ * error.c (gfc_pop_error, gfc_free_error): Likewise.
+ * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
+ (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
+ (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
+ Likewise.
+ * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
+ (strip_function_call, optimize_comparison): Likewise.
+ * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
+ (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
+ Likewise.
+ * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
+ (gfc_convert_chartype): Likewise.
+ * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
+ Likewise.
+ (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
+ * match.c (gfc_free_iterator, gfc_match_associate): Likewise.
+ (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
+ Likewise.
+ (free_case, gfc_free_forall_iterator): Likewise.
+ * misc.c: Likewise.
+ * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
+ (free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
+ (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
+ (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
+ (mio_full_typebound_tree, skip_list, load_equiv): Likewise.
+ (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
+ * openmp.c (gfc_free_omp_clauses): Likewise.
+ * options.c (gfc_post_options): Likewise.
+ * parse.c (select_type_pop, parse_omp_structured_block): Likewise.
+ * primary.c (gfc_free_structure_ctor_component): Likewise.
+ * resolve.c (resolve_structure_cons, check_host_association): Likewise.
+ (gfc_resolve_forall, resolve_equivalence): Likewise.
+ * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
+ (gfc_define_undef_line, preprocessor_line, include_line): Likewise.
+ (load_file, gfc_read_orig_filename): Likewise.
+ * simplify.c (simplify_transformation_to_array): Likewise.
+ (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
+ Likewise.
+ (gfc_simplify_compiler_options): Likewise.
+ * st.c (gfc_free_statement, gfc_free_statements): Likewise.
+ (gfc_free_association_list): Likewise.
+ * symbol.c (free_components, gfc_free_st_label, free_st_labels):
+ Likewise.
+ (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
+ (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
+ (free_common_tree, free_uop_tree, free_sym_tree): Likewise.
+ (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
+ Likewise.
+ (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
+ (gfc_free_namespace): Likewise.
+ * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
+ (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
+ (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
+ * trans-common.c (get_init_field, create_common): Likewise.
+ * trans-const.c (gfc_build_wide_string_const): Likewise.
+ (gfc_conv_string_init): Likewise.
+ * trans-decl.c (gfc_generate_function_code): Likewise.
+ * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
+ Likewise.
+ (SCALAR_POINTER, gfc_conv_statement_function): Likewise.
+ (gfc_trans_subarray_assign): Likewise.
+ * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
+ * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
+ (transfer_namelist_element, transfer_array_component): Likewise.
+ * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
+ * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
+ * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
+ Likewise.
+
+2011-04-15 Jim Meyering <meyering@redhat.com>
+
+ gfortran: remove cpp definition of free, ...
+ in preparation for the s/gfc_free/free/ transformation.
+ * gfortran.h (free): Remove macro definition that would otherwise
+ prevent direct use of the function.
+
+2011-04-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * array.c (gfc_match_array_ref): Check for too many codimensions.
+ * check.c (gfc_check_image_index): Check number of elements
+ in SUB argument.
+ * simplify.c (gfc_simplify_image_index): Remove unreachable checks.
+
+2011-04-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * iresolve.c (gfc_resolve_image_index): Set ts.type.
+ * simplify.c (gfc_simplify_image_index): Don't abort if the bounds
+ are not known at compile time and handle -fcoarray=lib.
+ * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
+ IMAGE_INDEX.
+ (conv_intrinsic_cobound): Fix comment typo.
+ (trans_this_image): New function.
+ * trans-array.c (gfc_unlikely): Move to trans.c.
+ * trans.c (gfc_unlikely): Function moved from trans-array.c.
+ (gfc_trans_runtime_check): Use it.
+ * trans-io.c (gfc_trans_io_runtime_check): Ditto.
+ * trans.h (gfc_unlikely): Add prototype.
+
+2011-04-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48462
+ * trans-expr.c (fcncall_realloc_result): Renamed version of
+ realloc_lhs_bounds_for_intrinsic_call that does not touch the
+ descriptor bounds anymore but makes a temporary descriptor to
+ hold the result.
+ (gfc_trans_arrayfunc_assign): Modify the reference to above
+ renamed function.
+
+2011-05-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48624
+ * trans-decl.c (gfc_get_extern_function_decl): Fix decl
+ for external procedures with proc arguments.
+
+2011-04-15 Michael Matz <matz@suse.de>
+
+ * trans-array.c (toplevel): Include gimple.h.
+ (gfc_trans_allocate_array_storage): Check flag_stack_arrays,
+ properly expand variable length arrays.
+ (gfc_trans_auto_array_allocation): If flag_stack_arrays create
+ variable length decls and associate them with their scope.
+ * gfortran.h (gfc_option_t): Add flag_stack_arrays member.
+ * options.c (gfc_init_options): Handle -fstack_arrays option.
+ * lang.opt (fstack-arrays): Add option.
+ * invoke.texi (Code Gen Options): Document it.
+ * Make-lang.in (trans-array.o): Depend on GIMPLE_H.
+
+2011-04-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused
+ code which is also causing an ICE.
+
+2011-04-14 Nathan Froyd <froydnj@codesourcery.com>
+
+ * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon.
+
+2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
+
+ * f95-lang.c (union lang_tree_node): Check for TS_COMMON before
+ calling TREE_CHAIN.
+
+2011-04-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48360
+ PR fortran/48456
+ * trans-array.c (get_std_lbound): For derived type variables
+ return array valued component lbound.
+
+2011-04-12 Martin Jambor <mjambor@suse.cz>
+
+ * trans-decl.c (gfc_generate_function_code): Call
+ cgraph_get_create_node instead of cgraph_node.
+
+2011-04-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * simplify.c (simplify_bound_dim): Exit for
+ ucobound's last dimension unless -fcoarray=single.
+ * trans-array (gfc_conv_descriptor_size_1): Renamed from
+ gfc_conv_descriptor_size, made static, has now from_dim and
+ to_dim arguments.
+ (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
+ (gfc_conv_descriptor_cosize): New function.
+ * trans-array.h (gfc_conv_descriptor_cosize): New prototype.
+ * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
+ and handle last codim of ucobound for when -fcoarray is not "single".
+
+2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48448
+ * gfortran.h (gfc_option_t): Add warn_function_elimination and
+ flag_frontend_optimize.
+ * lang.opt (Wfunction-elimination): Add.
+ (ffrontend-optimize): Add.
+ * invoke.texi: Add documentation for -Wfunction-elimination
+ and -ffrontend-optimize. Add -faggressive-function-elimination
+ to list of code generation options.
+ * frontend-passes.c (gfc_run_passes): Run optimizations if
+ flag_frontend_optimize is set.
+ (warn_function_elimination): New function.
+ (cfe_expr_0): Call it if requested to do so.
+ * options.c (gfc_init_options): Initiate warn_function_elimination
+ and flag_frontend_optimize.
+ (gfc_post_options): Set flag_frontend_optimize if not specified
+ by user, depending on the optimization level.
+ (gfc_handle_option): Handle -Wfunction-elimination and
+ -ffrontend-optimize.
+
+2011-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix
+ call for this_image.
+
+2011-04-05 Nathan Froyd <froydnj@codesourcery.com>
+
+ * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use
+ build_function_type_list instead of build_function_type. Correct
+ argument order for func_frexp and func_scalbn.
+
+2011-04-05 Duncan Sands <baldrick@free.fr>
+
+ * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types.
+
+2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes: (optimize_lexical_comparison): New function.
+ (optimize_expr): Call it.
+ (optimize_comparison): Also handle lexical comparison functions.
+ Return false instad of -2 for unequal comparison.
+
+2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48412
+ * frontend-passes (cfe_expr_0): Reverse the order of going
+ through the loops.
+
+2011-04-04 Tobias Burnus <burnus@net-b.de>
+ Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/18918
+ * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE.
+ * expr.c (gfc_is_coindexed): Ditto.
+ * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE.
+ * interface.c (compare_parameter): Use gfc_expr_attr and
+ gfc_is_coindexed.
+ * resolve.c (check_dimension, compare_spec_to_ref,
+ resolve_allocate_expr, check_data_variable): Update for
+ DIMEN_THIS_IMAGE.
+ * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image,
+ gfc_simplify_ucobound): Allow non-constant bounds.
+ * trans-array.c (gfc_set_loop_bounds_from_array_spec,
+ gfc_trans_create_temp_array, gfc_trans_constant_array_constructor,
+ gfc_set_vector_loop_bounds, gfc_conv_array_index_offset,
+ gfc_start_scalarized_body, gfc_trans_scalarizing_loops,
+ gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride,
+ gfc_conv_ss_startstride, gfc_conv_loop_setup,
+ gfc_trans_array_bounds, gfc_conv_expr_descriptor,
+ gfc_walk_variable_expr): Handle codimen.
+ * trans-decl.c (gfc_build_qualified_array): Save cobounds.
+ * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2.
+ (conv_intrinsic_cobound): New function.
+ (gfc_conv_intrinsic_function): Call it.
+ (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle
+ ucobound, lcobound, this_image.
+ * fortran/trans-types.c (gfc_build_array_type): Save cobounds.
+ (gfc_get_dtype): Honour corank.
+ (gfc_get_nodesc_array_type): Save corank and codimensions.
+ (gfc_get_array_type_bounds): Save cobound.
+ * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item.
+ (gfc_array_kind): Add corank item.
+ (GFC_TYPE_ARRAY_CORANK): New macro.
+
+2011-04-03 Kai Tietz <ktietz@redhat.com>
+
+ PR middle-end/48422
+ * Make-lang.in (f95-lang.o): Add some missing dependencies.
+
+2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48352
+ * frontend-passes (cfe_register_funcs): Don't
+ register functions if they appear as iterators in DO loops.
+
+2011-03-30 Michael Matz <matz@suse.de>
+
+ PR fortran/47516
+ * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter,
+ don't use local variable.
+ (gfc_trans_arrayfunc_assign): Adjust caller.
+
+2011-03-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48095
+ * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface.
+ * module.c (MOD_VERSION): Bump.
+ (mio_typespec): Read/write 'interface' field.
+ * primary.c (match_string_constant,match_logical_constant): Remove
+ unneeded code.
+ (match_complex_constant): Make sure to clear the typespec.
+
+2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes.c (create_var): Warn about creating an
+ array temporary if requested.
+
+2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47065
+ * frontend-passes.c (optimize_trim): Also follow references, except
+ when they are substring references or array references.
+
+2011-03-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to
+ GFC_ISYM_NUM_IMAGES.
+ (gfc_fcoarray): Add GFC_FCOARRAY_LIB.
+ * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES
+ rename.
+ * invoke.texi (-fcoarray=): Document "lib" argument.
+ * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE().
+ * libgfortran.h (libgfortran_stat_codes): Add comments.
+ * options.c (gfc_handle_coarray_option): Add -fcoarray=lib.
+ * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image):
+ Handle GFC_FCOARRAY_LIB.
+ * trans.h (gfc_init_coarray_decl): New prototype.
+ (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize,
+ gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical,
+ gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images,
+ gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str,
+ gfort_gvar_caf_num_images, gfort_gvar_caf_this_image):
+ New global variables.
+ * trans-decl.c: Declare several CAF functions (cf. above).
+ (gfc_build_builtin_function_decls): Initialize those.
+ (gfc_init_coarray_decl): New function.
+ (create_main_function): Call CAF init/finalize functions.
+ * trans-intrinsic.c (trans_this_image, trans_num_images): New.
+ (gfc_conv_intrinsic_function): Call those.
+ * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical):
+ Add code for GFC_FCOARRAY_LIB.
+
+2011-03-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48291
+ * class.c (get_unique_hashed_string): Adjust maximum allowable length
+ for unique type string.
+
+2011-03-25 Kai Tietz <ktietz@redhat.com>
+
+ * scanner.c (preprocessor_line): Use filename_cmp
+ instead of strcmp.
+
+2011-03-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48174
+ PR fortran/45304
+ * trans-types.c (gfc_get_function_type): Don't use varargs if the
+ procedure is known to have no arguments.
+
+2011-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/22572
+ * gfortran.h (gfc_option_t): Add
+ flag_aggressive_function_elimination.
+ (gfc_dep_compare_functions): Add prototype.
+ * lang.opt: Add faggressive-function-elimination.
+ * invoke.texi: Document -faggressive-function-elimination.
+ * frontend_passes (expr_array): New static variable.
+ (expr_size): Likewise.
+ (expr_count): Likewise.
+ (current_code): Likewise.
+ (current_ns): Likewise.
+ (gfc_run_passes): Allocate and free space for expressions.
+ (cfe_register_funcs): New function.
+ (create_var): New function.
+ (cfc_expr_0): New function.
+ (cfe_code): New function.
+ (optimize_namespace): Invoke gfc_code_walker with cfe_code
+ and cfe_expr_0.
+ * dependency.c (gfc_dep_compare_functions): New function.
+ (gfc_dep_compare_expr): Use it.
+ * options.c (gfc_init_options): Handle
+ flag_aggressive_function_elimination.
+ (gfc_handle_option): Likewise.
+
+2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * arith.c (arith_power): Plug memory leak.
+
+2011-03-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48059
+ * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type
+ for polymorphic arguments.
+
+2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/48054
+ * intrinsic.texi: Clarify doc of logarithm functions.
+
+2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/47552
+ * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of
+ the string length variable.
+
+2011-03-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47768
+ * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP.
+ (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'.
+
+2011-03-06 Paul Thomas <pault@gcc.gnu.org>
+ Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/47850
+ * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if
+ the expression has an iterator. Otherwise, iterate through the
+ array, checking for constant expressions for each element.
+
+2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47802
+ * intrinsic.texi: Update CTIME and FDATE documentation.
+
+2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * invoke.texi (Option Summary, Fortran Dialect Options)
+ (Preprocessing Options, Runtime Options, Code Gen Options):
+ Fix vertical list spacing by using @itemx for additinoal
+ items, empty line before @table. Fix typos.
+
+2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/47894
+ * intrinsic.texi: Fix doc of the VERIFY intrinsic.
+
+2011-02-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47846
+ * trans-stmt.c (gfc_trans_allocate): Fix allocation with
+ type-spec of deferred-length strings.
+
+2011-02-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47886
+ * openmp.c (gfc_resolve_omp_directive): Resolve if()
+ condition of OpenMP's task.
+
+2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/47894
+ * intrinsic.texi: Fix doc of the VERIFY intrinsic.
+
+2011-02-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47872
+ * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add
+ multitable for linebreak between different syntax variants.
+
+2011-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR fortran/47839
+ * f95-lang.c (pushdecl): For externs in non-global scope push
+ a copy of the decl into the BLOCK.
+
+2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/40850
+ * trans.c (gfc_prepend_expr_to_block): New function.
+ * trans.h (gfc_prepend_expr_to_block): Declare.
+ * trans-array.c (gfc_conv_array_parameter): Replace
+ gfc_add_expr_to_block with gfc_prepend_expr_to_block.
+
+2011-02-22 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/45743
+ * trans-decl.c (gfc_get_extern_function_decl): Don't use the
+ gsymbol backend_decl if the procedure has a formal argument
+ that is a procedure.
+
+2011-02-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41359
+ * trans-stmt.c (gfc_trans_if_1): Use correct line for
+ expressions in the if condition.
+
+2011-02-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47797
+ * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and
+ gfc_restore_backend_locus to have better debug locations.
+ * trans-array.c (gfc_trans_deferred_array): Ditto.
+
+2011-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/45077
+ PR fortran/44945
+ * trans-types.c (gfc_get_derived_type): Remove code that looks
+ for decls in gsym and add call to gfc_get_module_backend_decl.
+ * trans.h: Add prototype for gfc_get_module_backend_decl.
+ * trans-decl.c (gfc_get_module_backend_decl): New function.
+ (gfc_get_symbol_decl): Call it.
+
+2011-02-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47348
+ * trans-array.c (get_array_ctor_all_strlen): Move up in file.
+ (get_array_ctor_var_strlen): Add block dummy and add call to
+ get_array_ctor_all_strlen instead of giving up on substrings.
+ Call gcc_unreachable for default case.
+ (get_array_ctor_strlen): Add extra argument to in call to
+ get_array_ctor_var_strlen.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47789
+ * primary.c (gfc_match_structure_constructor): Handle empty parent
+ types.
+
+2011-02-18 Tobias Burnus
+
+ PR fortran/47775
+ * trans-expr.c (arrayfunc_assign_needs_temporary): Use
+ esym to check whether the specific procedure returns an
+ allocatable or pointer.
+
+2011-02-18 Michael Matz <matz@suse.de>
+
+ PR fortran/45586
+ * gfortran.h (struct gfc_component): Add norestrict_decl member.
+ * trans.h (struct lang_type): Add nonrestricted_type member.
+ * trans-expr.c (gfc_conv_component_ref): Search fields with correct
+ parent type.
+ * trans-types.c (mirror_fields, gfc_nonrestricted_type): New.
+ (gfc_sym_type): Use it.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47768
+ * resolve.c (resolve_transfer): Reject variables with procedure pointer
+ components.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47767
+ * gfortran.h (gfc_check_access): Removed prototype.
+ (gfc_check_symbol_access): Added prototype.
+ * module.c (gfc_check_access): Renamed to 'check_access', made static.
+ (gfc_check_symbol_access): New function, basically a shortcut for
+ 'check_access'.
+ (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use
+ 'gfc_check_symbol_access'.
+ (write_operator,write_module): Renamed 'gfc_check_access'.
+ * resolve.c (resolve_fl_procedure,resolve_fl_derived,
+ resolve_fl_namelist,resolve_symbol,resolve_fntype): Use
+ 'gfc_check_symbol_access'.
+
+2011-02-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47745
+ * class.c (gfc_build_class_symbol): Set 'class_ok' attribute.
+ * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into
+ 'gfc_build_class_symbol'.
+ (gfc_match_decl_type_spec): Reject unlimited polymorphism.
+ * interface.c (matching_typebound_op): Check for 'class_ok' attribute.
+ * match.c (select_type_set_tmp): Move setting of 'class_ok' into
+ 'gfc_build_class_symbol'.
+ * primary.c (gfc_variable_attr): Check for 'class_ok' attribute.
+
+2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/47633
+ . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue.
+
+2011-02-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47730
+ * parse.c (gfc_build_block_ns): Commit 'block@' symbol.
+
+2011-02-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47728
+ * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic
+ arrays.
+ * primary.c (gfc_match_varspec): Avoid ICE for invalid class
+ declaration.
+
+2011-02-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47349
+ * interface.c (get_expr_storage_size): Handle derived-type components.
+
+2011-02-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47569
+ * interface.c (compare_parameter): Avoid ICE with
+ character components.
+
+2011-02-12 Janus Weil <janus@gcc.gnu.org>
+
+ * class.c (gfc_build_class_symbol): Reject polymorphic arrays.
+ * decl.c (build_sym,build_struct,attr_decl1): Use return value of
+ 'gfc_build_class_symbol'.
+
+2011-02-12 Michael Matz <matz@suse.de>
+ Janus Weil <janus@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45586
+ * trans-expr.c (conv_parent_component_references): Avoid unintendent
+ skipping of parent compounds.
+
+2011-02-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47550
+ * resolve.c (resolve_formal_arglist): PURE with VALUE
+ and no INTENT: Add -std= diagnostics.
+
+2011-02-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47352
+ * resolve.c (resolve_procedure_interface): If interface has a result
+ variable, copy the typespec and set result pointer to self.
+
+2011-02-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47463
+ * resolve.c (resolve_typebound_subroutine): Remove erroneous line.
+
+2011-02-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47637
+ * trans-decl.c (init_intent_out_dt): Handle CLASS arguments.
+
+2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ * io.c (match_io_element): Do not set dt if not inquire.
+
+2011-02-08 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/45290
+ * expr.c (gfc_check_assign_symbol): Reject pointers as pointer
+ initialization target.
+
+2011-02-07 Janne Blomqvist <jb@gcc.gnu.org>
+ Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gfortran.texi (Thread-safety): texinfo styling fixes.
+ * intrinsic.texi: Likewise.
+
+2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.texi (Compiler Characteristics): Add reference to
+ thread-safety section.
+
+2011-02-06 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.texi (Thread-safety): New section.
+ * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety.
+ (GETENV): Likewise.
+ (GET_ENVIRONMENT_VARIABLE): Likewise.
+ (SYSTEM): Likewise.
+
+2011-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47592
+ * trans-stmt.c (gfc_trans_allocate): For deferred character
+ length allocations with SOURCE, store to the values and string
+ length to avoid calculating twice. Replace gfc_start_block
+ with gfc_init_block to avoid unnecessary contexts and to keep
+ declarations of temporaries where they should be. Tidy up the
+ code a bit.
+
+2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/42434
+ * intrinsic.texi (SYSTEM_CLOCK): Update documentation.
+
+2011-02-02 Janus Weil <janus@gcc.gnu.org>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47082
+ * trans-expr.c (gfc_trans_class_init_assign): Add call to
+ gfc_get_derived_type.
+ * module.c (read_cleanup): Do not use unique_symtrees for vtabs
+ or vtypes.
+
+2011-02-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47572
+ * resolve.c (resolve_fl_variable): Handle polymorphic allocatables.
+
+2011-02-01 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47565
+ * trans-expr.c (gfc_conv_structure): Handle constructors for procedure
+ pointer components with allocatable result.
+
+2011-01-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47455
+ * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers
+ with pointer or allocatable result.
+
+2011-01-31 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47519
+ * trans-stmt.c (gfc_trans_allocate): Improve handling of
+ deferred character lengths with SOURCE.
+ * iresolve.c (gfc_resolve_repeat): Calculate character
+ length from source length and ncopies.
+ * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE
+ expressions for ALLOCATE.
+
+2011-01-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47463
+ * resolve.c (resolve_typebound_subroutine): Bug fix for the case of
+ an argument of a typebound assignment being a component.
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use
+ LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
+
+2011-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47042
+ * resolve.c (resolve_fl_procedure): Reject stmt functions
+ with pointer/allocatable attribute.
+
+2011-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47042
+ * interface.c (gfc_procedure_use): Add explicit interface check for
+ pointer/allocatable functions.
+
+2011-01-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47523
+ * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op
+ expr and is assigned to a deferred character length scalar,
+ make sure that the function is called before reallocation,
+ so that the length is available. Include procedure pointer
+ and procedure pointer component rhs as well.
+
+ PR fortran/45170
+ PR fortran/35810
+ PR fortran/47350
+ * gfortran.dg/allocatable_function_5.f90: New test not added by
+ mistake on 2011-01-28.
+
+2011-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47531
+ * check.c (gfc_check_shape): Support kind argument in SHAPE.
+ * intrinsic.c (add_functions): Ditto.
+ * resolve.c (gfc_resolve_shape): Ditto.
+ * simplify.c (gfc_simplify_shape): Ditto.
+ * intrinsic.h (gfc_check_shape, gfc_resolve_shape,
+ gfc_simplify_shape): Update prototypes.
+ * intrinisc.text (SHAPE): Document kind argument.
+
+2011-01-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47507
+ * resolve.c (resolve_formal_arglist): Allow arguments with VALUE
+ attribute also without INTENT.
+
+2011-01-28 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi (Fortran 2003 status): Mention support for
+ nonconstant namelist variables.
+
+2011-01-28 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/45170
+ PR fortran/35810
+ PR fortran/47350
+ * interface.c (compare_actual_formal): An allocatable or pointer
+ deferred length actual is only allowed if the formal argument
+ is also deferred length. Clean up whitespace.
+ * trans-expr.c (gfc_conv_procedure_call): Pass string length for
+ deferred character length formal arguments by reference. Do the
+ same for function results.
+ (gfc_trans_pointer_assignment): Do not do runtime check of lhs
+ and rhs character lengths, if deferred length lhs. In this case
+ set the lhs character length to that of the rhs.
+ (gfc_conv_string_parameter): Remove assert that string length is
+ an integer type.
+ (is_scalar_reallocatable_lhs): New function.
+ (alloc_scalar_allocatable_for_assignment): New function.
+ (gfc_trans_assignment_1): Call above new function. If the rhs is
+ a deferred character length itself, makes ure that the function
+ is called before reallocation, so that the length is available.
+ (gfc_trans_asssignment): Remove error about assignment to
+ deferred length character variables.
+ * gfortran.texi: Update entry about (re)allocation on
+ assignment.
+ * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred
+ length character variables.
+ * module.c (mio_typespec): Transfer deferred characteristic.
+ * trans-types.c (gfc_get_function_type): New code to generate
+ hidden typelist, so that those character lengths that are
+ passed by reference get the right type.
+ * resolve.c (resolve_contained_fntype): Supress error for
+ deferred character length functions.
+ (resolve_function, resolve_fl_procedure) The same.
+ (check_symbols): Remove the error that support for
+ entity with deferred type parameter is not yet implemented.
+ (resolve_fl_derived): The same.
+ match.c (alloc_opt_list): Allow MOLD for deferred length object.
+ * trans-decl.c (gfc_get_symbol_decl): For deferred character
+ length dummies, generate a local variable for string length.
+ (create_function_arglist): Hidden length can be a pointer.
+ (gfc_trans_deferred_vars): For deferred character length
+ results and dummies, assign the string length to the local
+ variable from the hidden argument on entry and the other way
+ round on exit, as appropriate.
+
+2011-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47474
+ * trans-decl.c (gfc_generate_function_code): Fix init
+ of allocatable result variable with allocatable components.
+
+2011-01-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47472
+ * options.c (gfc_handle_module_path_options): Save
+ module path without trailing slash as include path.
+
+2011-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47448
+ * interface.c (gfc_check_operator_interface): Fix
+ defined-assignment check.
+
+2011-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47421
+ * trans-decl.c (gfc_trans_deferred_vars): Do not nullify
+ scalar allocatable dummy arguments.
+
+2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/38536
+ * resolve.c (gfc_iso_c_func_interface): For C_LOC,
+ check for array sections followed by component references
+ which are illegal. Also check for coindexed arguments.
+
+2011-01-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47399
+ * primary.c (gfc_match_varspec): Relax gcc_assert to allow for
+ PARAMETER TBP.
+
+2011-01-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47394
+ * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check):
+ Use defined instead of magic number exit status codes.
+ * scanner.c (include_line, gfc_new_file): Ditto.
+
+2011-01-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47377
+ * expr.c (gfc_check_pointer_assign): Reject expr data-targets
+ without pointer attribute.
+
+2011-01-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47240
+ * resolve.c (expression_rank): Fix rank of procedure poiner components.
+ * trans-expr.c (gfc_conv_procedure_call): Take care of procedure
+ pointer components as actual arguments.
+
+2011-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/47331
+ * gfortran.h (struct gfc_omp_saved_state): New type.
+ (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes.
+ * resolve.c (resolve_global_procedure): Call it around gfc_resolve
+ call.
+ * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New
+ functions.
+
+2011-01-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47327
+ * invoke.texi (Options to request or suppress errors
+ and warnings): Fix cross link.
+
+2011-01-15 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.texi: Update Fortran 2003 Status section.
+
+ PR fortran/47177
+ * invoke.texi: Add missing "-E" to the -dM example.
+
+2011-01-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47268
+ * intrinsic.texi (get_command_argument, get_environment_variable):
+ Mark arguments as optional in the Arguments section.
+
+2011-01-13 Kai Tietz <kai.tietz@onevision.com>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47260
+ * trans-decl.c (gfc_get_extern_function_decl,
+ build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before
+ calling decl_attributes.
+
+2011-01-13 Tobias Burnus <burnus@net-b.de>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/45848
+ PR fortran/47204
+ * gfortran.h (gfc_code): Move union ext's case_list into
+ the struct block.
+ * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list
+ by "block.".
+ * frontend-passes.c (gfc_code_walker): Ditto.
+ * match.c (gfc_match_goto, gfc_match_call, gfc_match_case,
+ gfc_match_type_is, gfc_match_class_is): Ditto.
+ * resolve.c (resolve_select, resolve_select_type): Ditto.
+ * st.c (gfc_free_statement): Ditto.
+ * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select,
+ gfc_trans_character_select): Ditto.
+ * parse.c (resolve_all_program_units): For error recovery, avoid
+ segfault is proc_name is NULL.
+
+2011-01-11 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47051
+ * trans-array.c (gfc_alloc_allocatable_for_assignment): Change
+ to be standard compliant by testing for shape rather than size
+ before skipping reallocation. Improve comments.
+
+2011-01-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47224
+ * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece
+ of code.
+
+2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/38536
+ * resolve.c (is_scalar_expr_ptr): For a substring reference,
+ use gfc_dep_compare_expr to compare start and end expession.
+ Add FIXME for using gfc_deb_compare_expr elsewhere.
+
+2011-01-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46313
+ * class.c (get_unique_type_string): Make type name start with upper
+ case letter.
+
+2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/46405
+ * invoke.texi: Mention -ffree-line-length-none and
+ -ffixed-line-length-none for preprocessing.
+
+2011-01-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/46896
+ * trans-expr.c (gfc_conv_procedure_call): With a non-copying
+ procedure argument (eg TRANSPOSE) use a temporary if there is
+ any chance of aliasing due to host or use association.
+ (arrayfunc_assign_needs_temporary): Correct logic for function
+ results and do not use a temporary for implicitly PURE
+ variables. Use a temporary for Cray pointees.
+ * symbol.c (gfc_add_save): Explicit SAVE not compatible with
+ implicit pureness of containing procedure.
+ * decl.c (match_old_style_init, gfc_match_data): Where decl
+ would fail in PURE procedure, set implicit_pure to zero.
+ * gfortran.h: Add implicit_pure to structure symbol_attr and
+ add prototype for function gfc_implicit_pure.
+ * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context):
+ Where decl would fail in PURE procedure, reset implicit_pure.
+ * io.c (match_vtag, gfc_match_open, gfc_match_close,
+ gfc_match_print, gfc_match_inquire, gfc_match_wait): The same.
+ * match.c (gfc_match_critical, gfc_match_stopcode,
+ sync_statement, gfc_match_allocate, gfc_match_deallocate): The
+ same.
+ * parse.c (decode_omp_directive): The same.
+ (parse_contained): If not PURE, set implicit pure attribute.
+ * resolve.c (resolve_formal_arglist, resolve_structure_cons,
+ resolve_function, resolve_ordinary_assign): The same.
+ (gfc_implicit_pure): New function.
+ * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE
+ to ab_attribute enum and use it in this function.
+
+2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/45777
+ * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix,
+ make static and move in front of its only caller, to ...
+ * trans-array.c (symbols_could_alias): ... here.
+ Pass information about pointer and target status as
+ arguments. Allocatable arrays don't alias anything
+ unless they have the POINTER attribute.
+ (gfc_could_be_alias): Keep track of pointer and target
+ status when following references. Also check if typespecs
+ of components match those of other components or symbols.
+
+2011-01-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41580
+ * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab.
+ * intrinsic.c (add_functions): Use simplify functions for
+ EXTENDS_TYPE_OF and SAME_TYPE_AS.
+ * intrinsic.h (gfc_simplify_extends_type_of,
+ gfc_simplify_same_type_as): New prototypes.
+ * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of,
+ gfc_simplify_same_type_as): New functions.
+
+2011-01-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47189
+ PR fortran/47194
+ * gfortran.h (gfc_lval_expr_from_sym): Moved prototype.
+ * class.c (gfc_class_null_initializer): Initialize _vptr to declared
+ type.
+ * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c.
+ * resolve.c (resolve_deallocate_expr): _data component will be added
+ at translation stage.
+ * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c.
+ * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type.
+
+2011-01-06 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/33117
+ PR fortran/46478
+ * parse.c (parse_interface): Remove check for procedure types.
+ * interface.c (check_interface0): Verify that procedures are
+ either all SUBROUTINEs or all FUNCTIONs.
+
+2011-01-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47180
+ * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure
+ 'vtab' is initialized).
+
+2011-01-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47180
+ * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer
+ assignment, set the _vptr component to the declared type.
+
+2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/46017
+ * resolve.c (resolve_allocate_deallocate): Follow references to
+ check for duplicate occurence of allocation/deallocation objects.
+
+2011-01-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47024
+ * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component
+ of polymorphic allocatables according to their declared type.
+
+2011-01-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46448
+ * class.c (gfc_find_derived_vtab): Set the module field for the copying
+ routine to make sure it receives module name mangling.
+
+2011-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gfortranspec.c (lang_specific_driver): Update copyright notice
+ dates.
+
+2011-01-03 Janus Weil <janus@gcc.gnu.org>
+
+ * intrinsic.texi (LEADZ): Fix example.
+
+2011-01-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46408
+ * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_
+ routine.
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 06ad7c6..2d78cb5 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -339,15873 +339,8 @@
PR tree-optimization/51683
* gcc.dg/pr51683.c: New test.
-
-2011-12-31 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51397
- * g++.dg/cpp0x/static_assert6.C: New.
-
-2011-12-31 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tree-ssa/vrp47: Pass -march=i586 for ia32 target.
-
-2011-12-31 Thomas König <tkoenig@gcc.gnu.org>
-
- PR fortran/51502
- * lib/gcc-dg.exp (scan-module-absence): New function.
- * gfortran.dg/implicit_pure_2.f90: New test.
-
-2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51316
- * g++.dg/cpp0x/alignof4.C: New.
-
-2011-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR testsuite/51702
- * gcc.dg/scal-to-vec1.c: If 32-bit powerpc-linux, add the
- -mabi=altivec option, which suppresses a warning message about
- passing vectors by reference. The extra warning causes some tests
- to fail.
- * gcc.dg/scal-to-vec2.c: Likewise.
- * gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: Likewise.
- * gcc.dg/pr35442.c: Likewise.
- * gcc.dg/vector-compare-1.c: Likewise.
- * gcc.dg/vector-compare-2.c: Likewise.
- * gcc.dg/torture/pr36891.c: Likewise.
-
-2012-12-29 Kai Tietz <ktietz@redhat.com>
-
- * g++.dg/abi/bitfield3.C: Make sure test runs
- for windows targets without activated ms-bitfields option.
-
- * g++.old-deja/g++.brendan/new3.C: Adjust test for mingw
- targets to use static-version.
- * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
- * g++.old-deja/g++.abi/arraynew.C: Likewise.
- * g++.old-deja/g++.eh/new1.C: Likewise.
- * g++.old-deja/g++.eh/new2.C: Likewise.
-
-2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/function_optimize_9.f90: New test.
-
-2011-12-27 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/23211
- * g++.dg/template/using18.C: New.
- * g++.dg/template/using19.C: New.
- * g++.dg/template/nested3.C: Remove dg-message at instantiation.
- * g++.dg/template/crash13.C: Likewise.
-
-2011-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/51623
- * gcc.target/powerpc/pr51623.c: New file.
-
-2011-12-28 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/torture/pr50396.c: Use dg-add-options ieee.
-
-2011-12-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51547
- * g++.dg/cpp0x/pr51547.C: New.
-
-2011-12-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20111227-1.c: New test.
-
-2011-12-25 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/48641
- * gcc.dg/compile/pr48641.c: New file.
-
-2011-12-26 Joey Ye <joey.ye@arm.com>
-
- PR middle-end/51200
- * gcc.dg/volatile-bitfields-2.c: New test.
-
-2011-12-23 Jason Merrill <jason@redhat.com>
-
- PR c++/51507
- * g++.dg/cpp0x/variadic121.C: New.
-
-2011-12-23 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.
-
-2011-12-23 Dmitry Plotnikov <dplotnikov@ispras.ru>
-
- * gcc.target/arm/vect-vcvt.c: New test.
- * gcc.target/arm/vect-vcvtq.c: New test.
-
- * gcc.dg/vect/fast-math-pr35982.c: Added vect_strided2 alternative
- in final check.
-
- * lib/target-supports.exp (check_effective_target_vect_intfloat_cvt):
- True for ARM NEON.
- (check_effective_target_vect_uintfloat_cvt): Likewise.
- (check_effective_target_vect_floatuint_cvt): Likewise.
- (check_effective_target_vect_floatint_cvt): Likewise.
-
-2011-12-23 Richard Guenther <rguenther@suse.de>
-
- PR rtl-optimization/50396
- * gcc.dg/torture/pr50396.c: New testcase.
-
-2011-12-22 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/43491
- * gcc.dg/tree-ssa/pr43491.c: New test.
-
-2011-12-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR testsuite/50722
- * gcc.dg/pr49994-3.c: Skip on ia64-*-*-*, hppa*-*-* and *-*-hpux*.
-
-2011-12-22 Richard Guenther <rguenther@suse.de>
-
- PR lto/51650
- * g++.dg/lto/pr51650-1_0.C: New testcase.
- * g++.dg/lto/pr51650-2_0.C: Likewise.
-
-2011-12-21 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/51643
- * gcc.target/arm/sibcall-2.c: New test.
-
-2011-12-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/51645
- * g++.dg/cpp0x/alias-decl-debug-0.C: Add dg-skip-if.
-
-2011-12-21 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/pr50038.c: Move to ...
- * gcc.target/i386/pr50038.c: ... here. Test on all targets.
-
-2011-12-21 Jason Merrill <jason@redhat.com>
-
- PR c++/51611
- * g++.dg/cpp0x/nsdmi-virtual1.C: New.
-
-2011-12-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51305
- * g++.dg/cpp0x/constexpr-noexcept6.C: New.
-
-2011-12-21 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51644
- PR middle-end/51647
- * gcc.dg/pr51644.c: New test.
- * g++.dg/warn/Wreturn-4.C: New test.
-
-2011-12-21 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.dg/vect/no-section-anchors-vect-31.c: Adjust array size and test
- diag-scans to fix fail on AVX.
- * gcc.dg/vect/no-section-anchors-vect-36.c: Ditto.
- * gcc.dg/vect/no-section-anchors-vect-64.c: Ditto.
- * gcc.dg/vect/no-section-anchors-vect-66.c: Ditto.
- * gcc.dg/vect/no-section-anchors-vect-68.c: Ditto.
- * gcc.dg/vect/no-section-anchors-vect-69.c: Ditto.
- * gcc.dg/vect/no-vfa-vect-dv-2.c: Adjust dg-scans.
- * gcc.dg/vect/pr45752.c: Ditto.
- * gcc.dg/vect/slp-perm-4.c: Ditto.
- * gcc.dg/vect/slp-perm-9.c: Ditto.
- * gcc.dg/vect/vect-33.c: Ditto.
- * gcc.dg/vect/vect-35.c: Ditto.
- * gcc.dg/vect/vect-6-big-array.c: Ditto.
- * gcc.dg/vect/vect-6.c: Ditto.
- * gcc.dg/vect/vect-91.c: Ditto.
- * gcc.dg/vect/vect-all-big-array.c: Ditto.
- * gcc.dg/vect/vect-all.c: Ditto.
- * gcc.dg/vect/vect-multitypes-1.c: Ditto.
- * gcc.dg/vect/vect-outer-4c.c: Ditto.
- * gcc.dg/vect/vect-outer-5.c: Ditto.
- * gcc.dg/vect/vect-over-widen-1.c: Ditto.
- * gcc.dg/vect/vect-over-widen-3.c: Ditto.
- * gcc.dg/vect/vect-over-widen-4.c: Ditto.
- * gcc.dg/vect/vect-peel-1.c: Ditto.
- * gcc.dg/vect/vect-peel-2.c: Ditto.
- * gcc.dg/vect/vect-peel-3.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
- * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Ditto.
- * lib/target-supports.exp (check_avx_available): New function.
- (check_effective_target_vect_sizes_32B_16B): Ditto.
- (check_prefer_avx128): Ditto.
- (check_effective_target_vect_aligned_arrays): Add handling of AVX.
- (check_effective_target_vect_multiple_sizes): Ditto.
-
-2011-12-21 Enkovich Ilya <ilya.enkovich@intel.com>
-
- PR target/50038
- * gcc.dg/pr50038.c: New test.
-
-2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51621
- * g++.dg/cpp0x/constexpr-ice5.C: New.
-
-2011-12-20 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c11-version-1.c, gcc.dg/c11-version-2.c,
- gcc.dg/c94-version-1.c, gcc.dg/c99-version-1.c,
- gcc.dg/gnu11-version-1.c: New tests.
-
-2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
-
- PR middle-end/51200
- * gcc.target/arm/volatile-bitfields-4.c: New test.
- * c-c++-common/abi-bf.c: New test.
-
-2011-12-20 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/49951
- * g++.dg/gcov/gcov-2.C: Adjust.
-
-2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51612
- * g++.dg/cpp0x/constexpr-ice4.C: New.
-
-2011-12-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51328
- * g++.dg/template/crash109.C: New.
-
-2011-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51530
- * g++.dg/cpp0x/nullptr26.C: New.
-
-2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mult-1.c: Require -O2.
-
-2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/ext-2.c: Add NOMIPS16.
-
-2011-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51526
- * g++.dg/cpp0x/constexpr-delegating.C: New.
-
-2011-12-19 Sandra Loosemore <sandra@codesourcery.com>
- Tom de Vries <tom@codesourcery.com>
-
- PR rtl-opt/50380
- * gcc.c-torture/compile/pr50380.c: New testcase.
-
-2011-12-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51605
- * gfortran.dg/block_10.f90: New.
-
-2011-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51553
- * g++.dg/cpp0x/initlist64.C: New.
-
- PR c++/51228
- * c-c++-common/transparent-union-1.c: New.
-
-2011-12-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/51580
- * gnat.dg/specs/loop_optimization1.ads: New test.
- * gnat.dg/specs/loop_optimization1_pkg.ad[sb]: New helper.
-
-2011-12-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/51573
- * gcc.dg/lto/20111207-2_0.c: Adjust.
- * g++.dg/lto/pr51573-1_0.C: New testcase.
-
-2011-12-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51619
- * g++.dg/cpp0x/pr51619.C: New test.
-
-2011-12-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51605
- * gfortran.dg/select_type_25.f90: New.
-
-2011-12-19 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/51583
- * gcc.dg/tree-ssa/pr51583.c: New test.
-
-2011-12-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51596
- * g++.dg/opt/pr51596.C: New test.
-
- PR middle-end/51590
- PR tree-optimization/51606
- * gcc.dg/vect/pr51590.c: New test.
-
-2011-12-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/51572
- * g++.dg/lto/pr51572-2_0.C: New testcase.
-
-2011-12-19 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51477
- * g++.dg/cpp0x/nsdmi6.C: New test.
-
-2011-12-19 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_poly_3.f90: New.
- * coarray/poly_run_1.f90: Enable some previously commented code.
-
-2011-12-19 Jason Merrill <jason@redhat.com>
-
- PR c++/51489
- * g++.dg/cpp0x/constexpr-ptrsub.C: New.
-
-2011-12-18 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.dg/pr51491-2.c: Fix "cleanup-treee-dump" typo.
-
-2011-12-17 Jason Merrill <jason@redhat.com>
-
- PR c++/51588
- * g++.dg/parse/enum7.C: New.
-
- PR c++/51586
- * g++.dg/lookup/nested2.C: New.
-
- PR c++/51587
- * g++.dg/parse/enum6.C: New.
-
-2011-12-17 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/51491
- * gcc.dg/pr51491.c: New test.
- * gcc.dg/pr51491-2.c: Same.
-
-2011-12-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51416
- * g++.dg/cpp0x/auto31.C: New.
-
-2011-12-16 Ian Lance Taylor <iant@google.com>
-
- PR middle-end/51592
- * gcc.dg/20111216-1.c: New test.
-
-2011-12-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51461
- * g++.dg/init/static4.C: New.
-
-2011-12-16 Jason Merrill <jason@redhat.com>
-
- PR c++/51331
- * g++.dg/init/value10.C: New.
-
-2011-12-16 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/50803
- * gcc.dg/ipa/inline-5.c: XFAIL for 32-bit hppa.
-
- PR tree-optimization/51575
- * g++.dg/opt/pr51575.C: New test.
-
- PR debug/51557
- * gcc.dg/pr51557.c: New test.
-
-2011-12-16 Richard Guenther <rguenther@suse.de>
-
- PR lto/51572
- * gcc.dg/lto/pr51572-1_0.c: New testcase.
-
-2011-12-15 Jason Merrill <jason@redhat.com>
-
- PR c++/51458
- * g++.dg/ext/desig4.C: New.
-
-2011-12-15 Paul Thomas <pault@gcc.gnu.org>
-
- * gfortran.dg/class_array_3.f03: Remove explicit indexing of
- A%disp() to use scalarizer.
- * gfortran.dg/class_array_9.f03: New.
-
-2011-12-15 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vect/vect-sdivmod-1.c: New test.
-
- PR c++/51463
- * g++.dg/cpp0x/pr51463.C: New test.
-
- PR c/51360
- * c-c++-common/gomp/pr51360.c: New test.
- * g++.dg/gomp/pr51360.C: New test.
-
- PR middle-end/49806
- * gcc.dg/tree-ssa/vrp47.c: Add -fdump-tree-dom2 to dg-options.
- Check for x_? & y in dom2 dump and xfail the check in dom1 dump.
-
- PR tree-optimization/51117
- * g++.dg/opt/pr51117.C: New test.
-
-2011-12-15 Romain Geissler <romain.geissler@gmail.com>
-
- * gcc.c-torture/execute/builtins/chk.h (stpncpy, stpncpy_disallowed):
- New definitions.
- * gcc.c-torture/execute/builtins/lib/chk.c (stpncpy_disallowed):
- Likewise.
- (stpncpy, __stpncpy_chk): New functions.
- * gcc.c-torture/execute/builtins/stpncpy-chk-lib.c: New file.
- * gcc.c-torture/execute/builtins/stpncpy-chk.c: Likewise.
-
-2011-12-15 Richard Guenther <rguenther@suse.de>
-
- PR lto/51567
- * g++.dg/lto/pr51567-1_0.C: New testcase.
-
-2011-12-15 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51473
- * g++.dg/cpp0x/auto30.C: New test.
-
-2011-12-15 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray/poly_run_3.f90: New.
- * gfortran.dg/coarray/poly_run_2.f90: Enable comment-out test.
-
-2011-12-15 Richard Guenther <rguenther@suse.de>
-
- PR lto/51564
- * g++.dg/lto/pr51564-1_0.C: New testcase.
-
-2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR libstdc++/51365
- * g++.dg/ext/is_final.C: New.
-
-2012-12-15 Richard Guenther <rguenther@suse.de>
-
- PR lto/48508
- * g++.dg/lto/pr48508-1_0.C: New testcase.
- * g++.dg/lto/pr48508-1_1.C: Likewise.
-
-2011-12-14 Jason Merrill <jason@redhat.com>
-
- PR c++/51554
- * g++.dg/init/constant1.C: New.
-
- PR c++/51248
- * g++.dg/other/enum2.C: New.
-
-2011-12-14 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51475
- * g++.dg/cpp0x/initlist63.C: New test.
-
-2011-12-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/50931
- * gcc.target/avr/torture/int24-mul.c: New.
-
-2011-12-14 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51476
- * g++.dg/cpp0x/ptrmem-cst-arg1.C: New test.
-
-2011-12-13 Jason Merrill <jason@redhat.com>
-
- PR c++/51406
- PR c++/51161
- * g++.dg/cpp0x/rv-cast3.C: New.
- * g++.dg/cpp0x/rv-cast4.C: New.
-
-2011-12-13 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51464
- * g++.dg/cpp0x/lambda/lambda-ice6.C: New.
-
-2011-12-13 Andrew Pinski <apinski@cavium.com>
- Adam Nemet <anemet@caviumnetworks.com>
-
- * gcc.target/mips/mips.exp (mips_option_groups): Fix debug. Add
- -fdump-* options.
- * gcc.target/mips/octeon2-pipe-1.c: New testcase.
- * gcc.target/mips/octeon-pipe-1.c: New testcase.
-
-2011-12-11 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/14258
- * g++.dg/template/using16.C: New.
- * g++.dg/template/using17.C: New.
-
-2011-12-13 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/51362
- * gcc.dg/ipa/pr51362.c: New test.
-
-2011-12-13 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/51524
- * gcc.target/i386/bmi2-mulx32-1.c (gen_mulx): Add attribute regparm(2).
- * gcc.target/i386/bmi2-mulx32-2.c (calc_mulx_u32): Ditto.
-
-2011-12-13 Richard Guenther <rguenther@suse.de>
-
- PR lto/48354
- * g++.dg/lto/pr48354-1_0.C: New testcase.
-
-2011-12-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51519
- * gcc.dg/pr51519.c: New testcase.
-
-2011-12-13 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/lto/20111213-1_0.c: New testcase.
-
-2011-12-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect1.ad[sb]: Add more tests.
- * gnat.dg/vect2.ad[sb]: Likewise.
- * gnat.dg/vect3.ad[sb]: Likewise.
- * gnat.dg/vect4.ad[sb]: Likewise.
- * gnat.dg/vect5.ad[sb]: Likewise.
- * gnat.dg/vect6.ad[sb]: Likewise.
-
-2011-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/51495
- * gcc.c-torture/compile/pr51495.c: New test.
-
- PR tree-optimization/51481
- * gcc.dg/pr51481.c: New test.
-
-2011-12-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR tree-optimization/45830
- * gcc.c-torture/execute/pr45830.c: Move from here to...
- * gcc.dg/torture/pr45830.c: ...this new file. Add dg-do and
- dg-additional-options magic.
-
-2011-12-12 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.dg/nested_modules_2.f90: Tighten test.
-
-2011-12-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20111212-1.c: New test.
-
-2011-12-12 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/51511
- * gcc.dg/pr45819.c: Add -w to dg-options.
-
-2011-12-12 Torvald Riegel <triegel@redhat.com>
-
- * g++.dg/tm/noexcept-1.C: New test.
- * g++.dg/tm/noexcept-2.C: New test.
- * g++.dg/tm/noexcept-3.C: New test.
- * g++.dg/tm/noexcept-4.C: New test.
- * g++.dg/tm/noexcept-5.C: New test.
-
-2011-12-12 Torvald Riegel <triegel@redhat.com>
-
- * c-c++-common/tm/20111206.c: New test.
-
-2011-12-12 Richard Guenther <rguenther@suse.de>
-
- PR lto/51262
- * g++.dg/opt/pr51262.C: New testcase.
-
-2011-12-12 Revital Eres <revital.eres@linaro.org>
-
- PR rtl-optimization/47013
- * gcc.dg/sms-2.c: Change scan-tree-dump-times and the code itself
- to preserve the function.
- * gcc.dg/sms-6.c: Add --param sms-min-sc=1. Add dg-options for
- powerpc*-*-*. Avoid superfluous spaces in dg-final.
- * gcc.dg/sms-3.c: Add --param sms-min-sc=1 and
- -fmodulo-sched-allow-regmoves flags.
- * gcc.dg/sms-7.c: Likewise. Remove dg-final for powerpc*-*-*
- and avoid superfluous spaces in dg-final for spu-*-*.
- * gcc.dg/sms-4.c: Add dg-options for powerpc*-*-*.
- * gcc.dg/sms-8.c: Add --param sms-min-sc=1. Add dg-options and
- change scan-rtl-dump-times for powerpc*-*-*.
- * gcc.dg/sms-5.c: Add --param sms-min-sc=1 flag, remove
- powerpc*-*-* from dg-final and avoid superfluous spaces in dg-final.
- * gcc.dg/sms-9.c: Remove -fno-auto-inc-dec.
-
-2011-12-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51485
- * g++.dg/vect/pr51485.cc: New test.
-
-2011-12-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50923
- * gfortran.dg/warn_function_without_result_2.f90: New.
-
-2011-12-11 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/41539
- PR fortran/43214
- PR fortran/43969
- PR fortran/44568
- PR fortran/46356
- PR fortran/46990
- PR fortran/49074
- * gfortran.dg/class_array_1.f03: New.
- * gfortran.dg/class_array_2.f03: New.
- * gfortran.dg/class_array_3.f03: New.
- * gfortran.dg/class_array_4.f03: New.
- * gfortran.dg/class_array_5.f03: New.
- * gfortran.dg/class_array_6.f03: New.
- * gfortran.dg/class_array_7.f03: New.
- * gfortran.dg/class_array_8.f03: New.
- * gfortran.dg/coarray_poly_1.f90: New.
- * gfortran.dg/coarray_poly_2.f90: New.
- * gfortran.dg/coarray/poly_run_1.f90: New.
- * gfortran.dg/coarray/poly_run_2.f90: New.
- * gfortran.dg/class_to_type_1.f03: New.
- * gfortran.dg/type_to_class_1.f03: New.
- * gfortran.dg/typebound_assignment_3.f03: Remove the error.
- * gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free now 2.
- * gfortran.dg/class_19.f03: Occurences of __builtin_free now 8.
-
-2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50690
- * gfortran.dg/gomp/workshare2.f90: New test.
- * gfortran.dg/gomp/workshare3.f90: New test.
-
-2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/elab3.ads: New test.
-
-2011-12-10 Richard Henderson <rth@redhat.com>
-
- * gcc.target/powerpc/altivec-perm-1.c: New.
- * gcc.target/powerpc/altivec-perm-2.c: New.
- * gcc.target/powerpc/altivec-perm-4.c: New.
-
-2011-12-10 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * gcc.target/epiphany/interrupt.c: Add dg-options "-g".
- Add a scan-assembler-time clause to test for the interupt vector jump.
- (f): Rename to ...
- (dma0_handler): ... this.
-
-2011-12-10 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51449
- * g++.dg/gcov/gcov-14.C: New.
-
-2011-12-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/compile/20111209-1.c: New test.
-
-2011-12-09 Jason Merrill <jason@redhat.com>
-
- PR c++/51151
- * g++.dg/warn/Woverflow-4.C: New.
-
-2011-12-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51289
- * g++.dg/cpp0x/alias-decl-17.C: New test.
-
-2011-12-09 Michael Meissner <meissner@the-meissners.org>
-
- * gcc.target/powerpc/recip-5.c: Disable running on any system that
- does not support VSX.
-
- * gcc.target/powerpc/ppc-target-4.c: New file to test target
- specific functions enabling target specific builtins.
-
-2011-12-09 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.dg/vect/slp-13.c: Array size increase reverted.
- * gcc.dg/vect/slp-24.c: Ditto.
- * gcc.dg/vect/slp-3.c: Ditto.
- * gcc.dg/vect/slp-34.c: Ditto.
- * gcc.dg/vect/slp-4.c: Ditto.
- * gcc.dg/vect/slp-cond-2.c: Ditto.
- * gcc.dg/vect/slp-multitypes-11.c: Ditto.
- * gcc.dg/vect/vect-1.c: Ditto.
- * gcc.dg/vect/vect-10.c: Ditto.
- * gcc.dg/vect/vect-105.c: Ditto.
- * gcc.dg/vect/vect-112.c: Ditto.
- * gcc.dg/vect/vect-15.c: Ditto.
- * gcc.dg/vect/vect-2.c: Ditto.
- * gcc.dg/vect/vect-31.c: Ditto.
- * gcc.dg/vect/vect-32.c: Ditto.
- * gcc.dg/vect/vect-33.c: Ditto.
- * gcc.dg/vect/vect-34.c: Ditto.
- * gcc.dg/vect/vect-35.c: Ditto.
- * gcc.dg/vect/vect-36.c: Ditto.
- * gcc.dg/vect/vect-6.c: Ditto.
- * gcc.dg/vect/vect-73.c: Ditto.
- * gcc.dg/vect/vect-74.c: Ditto.
- * gcc.dg/vect/vect-75.c: Ditto.
- * gcc.dg/vect/vect-76.c: Ditto.
- * gcc.dg/vect/vect-80.c: Ditto.
- * gcc.dg/vect/vect-85.c: Ditto.
- * gcc.dg/vect/vect-89.c: Ditto.
- * gcc.dg/vect/vect-97.c: Ditto.
- * gcc.dg/vect/vect-98.c: Ditto.
- * gcc.dg/vect/vect-all.c: Ditto.
- * gcc.dg/vect/vect-double-reduc-6.c: Ditto.
- * gcc.dg/vect/vect-iv-8.c: Ditto.
- * gcc.dg/vect/vect-iv-8a.c: Ditto.
- * gcc.dg/vect/vect-outer-1.c: Ditto.
- * gcc.dg/vect/vect-outer-1a.c: Ditto.
- * gcc.dg/vect/vect-outer-1b.c: Ditto.
- * gcc.dg/vect/vect-outer-2.c: Ditto.
- * gcc.dg/vect/vect-outer-2a.c: Ditto.
- * gcc.dg/vect/vect-outer-2c.c: Ditto.
- * gcc.dg/vect/vect-outer-3.c: Ditto.
- * gcc.dg/vect/vect-outer-3a.c: Ditto.
- * gcc.dg/vect/vect-outer-4a.c: Ditto.
- * gcc.dg/vect/vect-outer-4b.c: Ditto.
- * gcc.dg/vect/vect-outer-4c.c: Ditto.
- * gcc.dg/vect/vect-outer-4d.c: Ditto.
- * gcc.dg/vect/vect-outer-4m.c: Ditto.
- * gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
- * gcc.dg/vect/vect-outer-fir.c: Ditto.
- * gcc.dg/vect/vect-over-widen-1.c: Ditto.
- * gcc.dg/vect/vect-over-widen-2.c: Ditto.
- * gcc.dg/vect/vect-over-widen-3.c: Ditto.
- * gcc.dg/vect/vect-over-widen-4.c: Ditto.
- * gcc.dg/vect/vect-reduc-1char.c: Ditto.
- * gcc.dg/vect/vect-reduc-2char.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
- * gcc.dg/vect/vect-shift-2.c: Ditto.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
- * gcc.dg/vect/slp-13-big-array.c: New test.
- * gcc.dg/vect/slp-24-big-array.c: Ditto.
- * gcc.dg/vect/slp-3-big-array.c: Ditto.
- * gcc.dg/vect/slp-34-big-array.c: Ditto.
- * gcc.dg/vect/slp-4-big-array.c: Ditto.
- * gcc.dg/vect/slp-cond-2-big-array.c: Ditto.
- * gcc.dg/vect/slp-multitypes-11-big-array.c: Ditto.
- * gcc.dg/vect/vect-1-big-array.c: Ditto.
- * gcc.dg/vect/vect-10-big-array.c: Ditto.
- * gcc.dg/vect/vect-105-big-array.c: Ditto.
- * gcc.dg/vect/vect-112-big-array.c: Ditto.
- * gcc.dg/vect/vect-15-big-array.c: Ditto.
- * gcc.dg/vect/vect-2-big-array.c: Ditto.
- * gcc.dg/vect/vect-31-big-array.c: Ditto.
- * gcc.dg/vect/vect-32-big-array.c: Ditto.
- * gcc.dg/vect/vect-33-big-array.c: Ditto.
- * gcc.dg/vect/vect-34-big-array.c: Ditto.
- * gcc.dg/vect/vect-35-big-array.c: Ditto.
- * gcc.dg/vect/vect-36-big-array.c: Ditto.
- * gcc.dg/vect/vect-6-big-array.c: Ditto.
- * gcc.dg/vect/vect-73-big-array.c: Ditto.
- * gcc.dg/vect/vect-74-big-array.c: Ditto.
- * gcc.dg/vect/vect-75-big-array.c: Ditto.
- * gcc.dg/vect/vect-76-big-array.c: Ditto.
- * gcc.dg/vect/vect-80-big-array.c: Ditto.
- * gcc.dg/vect/vect-85-big-array.c: Ditto.
- * gcc.dg/vect/vect-89-big-array.c: Ditto.
- * gcc.dg/vect/vect-97-big-array.c: Ditto.
- * gcc.dg/vect/vect-98-big-array.c: Ditto.
- * gcc.dg/vect/vect-all-big-array.c: Ditto.
- * gcc.dg/vect/vect-double-reduc-6-big-array.c: Ditto.
- * gcc.dg/vect/vect-iv-8-big-array.c: Ditto.
- * gcc.dg/vect/vect-iv-8a-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-1-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-1a-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-1b-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-2-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-2a-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-2c-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-3-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-3a-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-4a-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-4b-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-4c-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-4d-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-4m-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Ditto.
- * gcc.dg/vect/vect-outer-fir-big-array.c: Ditto.
- * gcc.dg/vect/vect-over-widen-1-big-array.c: Ditto.
- * gcc.dg/vect/vect-over-widen-2-big-array.c: Ditto.
- * gcc.dg/vect/vect-over-widen-3-big-array.c: Ditto.
- * gcc.dg/vect/vect-over-widen-4-big-array.c: Ditto.
- * gcc.dg/vect/vect-reduc-1char-big-array.c: Ditto.
- * gcc.dg/vect/vect-reduc-2char-big-array.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto.
- * gcc.dg/vect/vect-shift-2-big-array.c: Ditto.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap2-big-array.c: Ditto.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap2-big-array.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap4-big-array.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Ditto.
-
-2011-12-09 Richard Guenther <rguenther@suse.de>
-
- PR lto/48042
- * g++.dg/lto/pr48042_0.C: New testcase.
-
-2011-12-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51482
- * g++.dg/torture/pr51482.C: New testcase.
-
-2011-12-08 Andrew Pinski <apinski@cavium.com>
-
- * gcc.target/mips/mult-1.c: Forbid all Octeon processors.
- * gcc.target/mips/dmult-1.c: Likewise.
- * gcc.target/mips/branch-1.c: Likewise.
- * gcc.target/mips/extend-1.c: Likewise.
-
-2011-12-08 Jason Merrill <jason@redhat.com>
-
- PR c++/51318
- * g++.dg/template/cond8.C: New.
-
- PR c++/51459
- * g++.dg/cpp0x/lambda/lambda-template4.C: New.
-
-2011-12-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51466
- * gcc.c-torture/execute/pr51466.c: New test.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50815
- * gfortran.dg/bounds_check_16.f90: New.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51378
- * gfortran.dg/private_type_14.f90: New.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51407
- * gfortran.dg/io_real_boz_3.f90: New.
- * gfortran.dg/io_real_boz_4.f90: New.
- * gfortran.dg/io_real_boz_5.f90: New.
-
-2011-12-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51448
- * gfortran.dg/realloc_on_assign_8.f90: New.
-
-2011-12-08 Teresa Johnson <tejohnson@google.com>
-
- * gcc.target/i386/movdi-rex64.c: Remove unnecessary unused label.
-
-2011-12-08 Teresa Johnson <tejohnson@google.com>
-
- * gcc.target/i386/movdi-rex64.c: Remove unnecessary
- -Wwrite-strings option.
-
-2011-12-08 Teresa Johnson <tejohnson@google.com>
-
- * gcc.target/i386/movdi-rex64.c: New.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/volatile3.c: New testcase.
-
-2011-12-08 Georg-Johann Lay <avr@gjlay.de>
-
- PR tree-optimization/51315
- * gcc.c-torture/execute/20111208-1.c (int16_t): Use __INT16_TYPE__
- for typedef.
- (int32_t): Use __INT32_TYPE__ for typedef.
-
-2011-12-08 Georg-Johann Lay <avr@gjlay.de>
-
- PR tree-optimization/51315
- * gcc.c-torture/execute/20111208-1.c: Fix wrong assumption
- sizeof(int)==4.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/50747
- * g++.dg/opt/pr50747-1_0.C: New testcase.
- * g++.dg/opt/pr50747-2_0.C: Likewise.
-
-2011-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/execute/20111208-1.c: New test.
-
-2011-12-08 Richard Guenther <rguenther@suse.de>
-
- PR lto/48437
- * gcc.dg/lto/20111207-2_0.c: New testcase.
- * gcc.dg/guality/pr48437.c: Likewise.
-
-2011-12-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51401
- * g++.dg/cpp0x/auto7.C: Adjust expected error message.
- * g++.dg/cpp0x/auto29.C: New test.
-
- PR c++/51429
- * g++.dg/parse/error45.C: New test.
-
- PR c++/51229
- * g++.dg/ext/desig3.C: New test.
-
- PR c++/51369
- * g++.dg/cpp0x/constexpr-51369.C: New test.
-
-2011-12-07 Andrew Pinski <apinski@cavium.com>
-
- PR middle-end/45416
- * gcc.dg/pr45416.c: New testcase.
-
-2011-12-07 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/51420
- * g++.dg/cpp0x/pr51420.C: New.
-
-2011-12-07 Richard Guenther <rguenther@suse.de>
-
- PR lto/48100
- * gcc.dg/lto/20111207-1_0.c: New testcase.
- * gcc.dg/lto/20111207-1_1.c: Likewise.
- * gcc.dg/lto/20111207-1_2.c: Likewise.
- * gcc.dg/lto/20111207-1_3.c: Likewise.
-
-2011-12-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50823
- * gcc.dg/torture/pr50823.c: New testcase.
-
-2011-12-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50744
- * gcc.dg/ipa/pr50744.c: New test.
-
-2011-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/51430
- * g++.dg/template/static32.C: New test.
-
-2011-12-06 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/opt/pr51396.C: Use dg-additional-options.
-
-2011-12-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51435
- * gfortran.dg/default_initialization_5.f90: New.
-
-2011-12-06 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51354
- * gcc.c-torture/compile/pr51354.c: New test.
-
-2011-12-06 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51431
- * g++.dg/other/abstract3.C: New.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49997
- * gcc.dg/torture/pr49997.c: New testcase.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51436
- * g++.dg/torture/pr51436.C: New testcase.
-
-2011-12-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51245
- * gcc.dg/torture/pr51245.c: New testcase.
-
-2011-12-06 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51427
- * g++.dg/diagnostic/wrong-tag-1.C
-
-2011-12-05 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/51319
- * g++.dg/lookup/using50.C: New.
- * g++.dg/lookup/using51.C: New.
-
-2011-12-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51396
- * g++.dg/opt/pr51396.C: New test.
-
- PR debug/51410
- * gcc.dg/debug/dwarf2/pr51410.c: New test.
-
- PR c/51339
- * gcc.dg/gomp/pr51339.c: New test.
-
-2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51399
- * g++.dg/cpp0x/initlist62.C: New.
-
-2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/51338
- * gfortran.dg/assumed_charlen_substring_1.f90: New test.
-
-2011-12-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- * g++.dg/debug/pr46338.C: Add dg-require-profiling.
- * g++.dg/torture/pr39732.C: Likewise.
- * g++.dg/torture/pr40642.C: Likewise.
- * gcc.c-torture/compile/pr44686.c: Likewise.
- * gcc.dg/20050309-1.c: Likewise.
- * gcc.dg/20050330-2.c: Likewise.
- * gcc.dg/20051201-1.c: Likewise.
- * gcc.dg/gomp/pr27573.c: Likewise.
- * gcc.dg/pr46255.c: Likewise.
- * gcc.dg/profile-dir-1.c: Likewise.
- * gcc.dg/profile-dir-2.c: Likewise.
- * gcc.dg/profile-dir-3.c: Likewise.
- * gcc.dg/profile-generate-1.c: Likewise.
- * gfortran.dg/gomp/pr27573.f90: Likewise.
- * gcc.dg/profile-generate-3.c: Be specific about the type of
- profiling required.
-
-2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51414
- * g++.dg/ext/underlying_type11.C: New.
-
-2011-12-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/51128
- * gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed.
- * gcc.dg/torture/pr39074.c: Ditto.
- * gcc.dg/torture/pr39074-2.c: Ditto.
- * gcc.dg/torture/pr42898.c: Ditto.
- * gcc.dg/torture/pr42898-2.c: Ditto.
- * gcc.dg/torture/pr45704.c: Ditto.
- * gcc.dg/torture/pr50472.c: Ditto.
- * gcc.dg/torture/pta-callused-1.c: Ditto.
- * gcc.dg/torture/pta-ptrarith-1.c: Ditto.
- * gcc.dg/torture/pta-ptrarith-2.c: Ditto.
- * gcc.dg/torture/pta-ptrarith-3.c: Ditto.
- * gcc.dg/torture/pta-escape-1.c: Ditto.
- * gcc.dg/torture/ipa-pta-1.c: Ditto.
- * gcc.dg/torture/ssa-pta-fn-1.c: Ditto.
-
-2011-12-05 Kazu Hirata <kazu@codesourcery.com>
-
- PR target/51408
- * gcc.dg/pr51408.c: New.
-
-2011-12-05 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/dc6.C: New.
-
-2011-12-05 Ville Voutilainen <ville.voutilainen@gmail.com>
- Pedro Lamarão <pedro.lamarao@gmail.com>
-
- * g++.dg/cpp0x/dc1.C: New test.
- * g++.dg/cpp0x/dc2.C: New test.
- * g++.dg/cpp0x/dc3.C: New test.
- * g++.dg/cpp0x/dc4.C: New test.
- * g++.dg/cpp0x/dc5.C: New test.
- * g++.dg/template/meminit1.C: Adjust expected error.
-
-2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51404
- * g++.dg/cpp0x/auto28.C: New.
-
-2011-12-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.dg/torture/vec-cvt-1.c (FLTTEST): Call rand instead of random.
-
-2011-12-05 Jakub Jelinek <jakub@redhat.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/51323
- PR middle-end/50074
- * gcc.c-torture/execute/pr51323.c: New test.
-
-2011-12-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51383
- * gfortran.dg/associate_10.f90: New.
-
-2011-12-04 Ira Rosen <ira.rosen@linaro.org>
-
- PR middle-end/51285
- * gfortran.dg/vect/pr51285.f90: New test.
-
-2011-12-04 Uros Bizjak <ubizjak@gmail.com>
- Jérémie Detrey <Jeremie.Detrey@loria.fr>
-
- PR target/51393
- * gcc.target/i386/pr51393.c: New test.
-
-2011-12-03 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR obj-c++/51349
- * obj-c++.dg/naming-3.mm: Adjust for changing error messages.
- * obj-c++.dg/naming-4.mm: Likewise.
-
-2011-12-03 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * gcc.dg/darwin-segaddr.c: Use -no-pie.
-
-2011-12-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51313
- * g++.dg/cpp0x/pr51313.C: New.
-
-2011-12-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48887
- * gfortran.dg/select_type_24.f90: New.
- * gfortran.dg/select_type_23.f03: Add dg-error.
- * gfortran.dg/class_45a.f03: Add missing TARGET attribute.
-
-2011-12-03 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vect/vect-122.c: New test.
-
-2011-12-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50684
- * gfortran.dg/move_alloc_8.f90: New.
-
-2011-12-03 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/select_type_23.f03: Revert Rev. 181801,
- i.e. remove the dg-error line.
- * gfortran.dg/move_alloc_5.f90: Ditto and change back to dg-do run.
- * gfortran.dg/move_alloc_9.f90: New.
- * gfortran.dg/move_alloc_10.f90: New
-
-2011-12-02 Nathan Sidwell <nathan@acm.org>
-
- * lib/gcov.exp (verify-lines): Allow = as a count char.
- * g++.dg/gcov/gcov-13.C: New.
-
-2011-12-02 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
-
- * gcc.dg/vect/slp-13.c: Increase array size, add initialization.
- * gcc.dg/vect/slp-24.c: Ditto.
- * gcc.dg/vect/slp-3.c: Likewise and fix scans.
- * gcc.dg/vect/slp-34.c: Ditto.
- * gcc.dg/vect/slp-4.c: Ditto.
- * gcc.dg/vect/slp-cond-2.c: Ditto.
- * gcc.dg/vect/slp-multitypes-11.c: Ditto.
- * gcc.dg/vect/vect-1.c: Ditto.
- * gcc.dg/vect/vect-10.c: Ditto.
- * gcc.dg/vect/vect-105.c: Ditto.
- * gcc.dg/vect/vect-112.c: Ditto.
- * gcc.dg/vect/vect-15.c: Ditto.
- * gcc.dg/vect/vect-2.c: Ditto.
- * gcc.dg/vect/vect-31.c: Ditto.
- * gcc.dg/vect/vect-32.c: Ditto.
- * gcc.dg/vect/vect-33.c: Ditto.
- * gcc.dg/vect/vect-34.c: Ditto.
- * gcc.dg/vect/vect-35.c: Ditto.
- * gcc.dg/vect/vect-36.c: Ditto.
- * gcc.dg/vect/vect-6.c: Ditto.
- * gcc.dg/vect/vect-73.c: Ditto.
- * gcc.dg/vect/vect-74.c: Ditto.
- * gcc.dg/vect/vect-75.c: Ditto.
- * gcc.dg/vect/vect-76.c: Ditto.
- * gcc.dg/vect/vect-80.c: Ditto.
- * gcc.dg/vect/vect-85.c: Ditto.
- * gcc.dg/vect/vect-89.c: Ditto.
- * gcc.dg/vect/vect-97.c: Ditto.
- * gcc.dg/vect/vect-98.c: Ditto.
- * gcc.dg/vect/vect-all.c: Ditto.
- * gcc.dg/vect/vect-double-reduc-6.c: Ditto.
- * gcc.dg/vect/vect-iv-8.c: Ditto.
- * gcc.dg/vect/vect-iv-8a.c: Ditto.
- * gcc.dg/vect/vect-outer-1.c: Ditto.
- * gcc.dg/vect/vect-outer-1a.c: Ditto.
- * gcc.dg/vect/vect-outer-1b.c: Ditto.
- * gcc.dg/vect/vect-outer-2.c: Ditto.
- * gcc.dg/vect/vect-outer-2a.c: Ditto.
- * gcc.dg/vect/vect-outer-2c.c: Ditto.
- * gcc.dg/vect/vect-outer-3.c: Ditto.
- * gcc.dg/vect/vect-outer-3a.c: Ditto.
- * gcc.dg/vect/vect-outer-4a.c: Ditto.
- * gcc.dg/vect/vect-outer-4b.c: Ditto.
- * gcc.dg/vect/vect-outer-4c.c: Ditto.
- * gcc.dg/vect/vect-outer-4d.c: Ditto.
- * gcc.dg/vect/vect-outer-4m.c: Ditto.
- * gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
- * gcc.dg/vect/vect-outer-fir.c: Ditto.
- * gcc.dg/vect/vect-over-widen-1.c: Ditto.
- * gcc.dg/vect/vect-over-widen-2.c: Ditto.
- * gcc.dg/vect/vect-over-widen-3.c: Ditto.
- * gcc.dg/vect/vect-over-widen-4.c: Ditto.
- * gcc.dg/vect/vect-reduc-1char.c: Ditto.
- * gcc.dg/vect/vect-reduc-2char.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
- * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
- * gcc.dg/vect/vect-shift-2.c: Ditto.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
- * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
-
-2011-12-02 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.c-torture/execute/vector-subscript-1.c (main): Fix
- __builtin_memcpy arguments to honor sizeof(a).
-
-2011-12-02 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c-torture/execute/doloop-1.c,
- gcc.c-torture/execute/doloop-2.c: New tests.
-
-2011-12-02 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50622
- * g++.dg/tree-ssa/pr50622.C: New test.
-
-2011-12-01 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/initlist61.C: New.
-
-2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51326
- * g++.dg/inherit/crash3.C: New.
-
-2011-12-01 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51113
- * lib/gcov.exp (verify-lines): Add support for xfailing.
- (run-gcov): Likewise.
- * gcc.misc-tests/gcov-13.c: Xfail weak function.
- * gcc.misc-tests/gcov-16.c: Remove.
- * gcc.misc-tests/gcov-17.c: Remove.
- * g++.dg/gcov-8.C: Remove.
- * g++.dg/gcov-9.C: Remove.
- * g++.dg/gcovpart-12b.C: New.
- * g++.dg/gcov-12.C: New.
-
-2011-12-01 Andrew Pinski <apinski@cavium.com>
-
- PR lto/51198
- * g++.dg/torture/pr51198.C: New testcase.
-
-2011-12-01 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51246
- * gcc.c-torture/compile/pr51246.c: New test.
-
- PR rtl-optimization/51014
- * g++.dg/opt/pr51014.C: New test.
-
-2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51367
- * g++.dg/template/error47.C: New.
-
-2011-11-30 Jason Merrill <jason@redhat.com>
-
- PR c++/51009
- * g++.dg/init/aggr8.C: New.
-
-2011-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50725
- * gcc.target/i386/pr50725.c: New test.
-
- PR middle-end/51089
- * gfortran.dg/gomp/pr51089.f90: New test.
-
-2011-11-30 Andrew Pinski <apinski@cavium.com>
-
- * gcc.dg/pr51321.c: New testcase.
-
-2011-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48721
- * gcc.target/i386/pr48721.c: New test.
-
-2011-11-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51299
- * g++.dg/warn/Wzero-as-null-pointer-constant-4.C: New.
-
-2011-11-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51247
- * gcc.c-torture/compile/pr51247.c: New test.
-
-2011-11-29 Andrew MacLeod <amacleod@redhat.com>
-
- PR target/50123
- * gcc.dg/atomic-op-optimize.c: New. Test for optimizations.
-
-2011-11-29 Yufeng Zhang <yufeng.zhang@arm.com>
-
- Use complex floating-point constant in CDBL.
-
- * gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i.
-
-2011-11-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51306
- PR fortran/48700
- * gfortran.dg/move_alloc_5.f90: Add dg-error.
- * gfortran.dg/select_type_23.f03: Add dg-error.
- * gfortran.dg/move_alloc_6.f90: New.
- * gfortran.dg/move_alloc_7.f90: New.
-
-2011-11-29 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/51301
- * gcc.dg/vect/pr51301.c: New test.
-
-2011-11-28 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/cdce3.C: Use dg-additional-options.
-
-2011-11-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/50907
- * gcc.dg/tree-prof/pr50907.c: New test.
-
- PR tree-optimization/50078
- * gcc.dg/pr50078.c: New test.
-
- PR tree-optimization/50682
- * g++.dg/opt/pr50682.C: New test.
-
-2011-11-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51308
- * gfortran.dg/iso_c_binding_compiler_4.f90: New.
-
-2011-11-27 Aldy Hernandez <aldyh@redhat.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc.dg/lto/trans-mem-2_0.c: Add dg-lto-do link. Add dummy
- functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
- * gcc.dg/lto/trans-mem-1_0.c: Add dg-lto-do link.
- * gcc.dg/lto/trans-mem-1_1.c: Add dummy functions for
- _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
-
-2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mult-2.c, gcc.target/mips/mult-3.c,
- gcc.target/mips/mult-4.c, gcc.target/mips/mult-5.c,
- gcc.target/mips/mult-6.c, gcc.target/mips/mult-7.c,
- gcc.target/mips/mult-8.c, gcc.target/mips/mult-9.c,
- gcc.target/mips/mult-10.c, gcc.target/mips/mult-11.c,
- gcc.target/mips/mult-12.c, gcc.target/mips/mult-13.c,
- gcc.target/mips/mult-14.c, gcc.target/mips/mult-15.c,
- gcc.target/mips/mult-16.c, gcc.target/mips/mult-17.c,
- gcc.target/mips/mult-18.c, gcc.target/mips/mult-19.c,
- gcc.target/mips/div-1.c, gcc.target/mips/div-2.c,
- gcc.target/mips/div-3.c, gcc.target/mips/div-4.c,
- gcc.target/mips/div-5.c, gcc.target/mips/div-6.c,
- gcc.target/mips/div-7.c, gcc.target/mips/div-8.c,
- gcc.target/mips/div-9.c, gcc.target/mips/div-10.c,
- gcc.target/mips/div-11.c, gcc.target/mips/div-12.c: New tests.
- * gcc.target/mips/fix-r4000-1.c (foo, bar): Add NOMIPS16.
- * gcc.target/mips/fix-r4000-2.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-3.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-4.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-5.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-6.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-7.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-8.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-9.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-10.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-11.c (foo): Likewise.
- * gcc.target/mips/fix-r4000-12.c (foo): Likewise.
-
-2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips.exp (mips-dg-options): Make -mno-dsp
- imply -mno-dspr2.
- * gcc.target/mips/no-dsp-1.c: New test.
- * gcc.target/mips/soft-float-1.c: Likewise.
-
-2011-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49912
- * g++.dg/other/pr49912.C: New test.
-
-2011-11-26 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
- effective target.
- * gcc.dg/vect/fast-math-bb-slp-call-2.c: Ditto.
-
-2011-11-25 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/51250
- PR fortran/43829
- * gfortran.dg/inline_sum_3.f90: New test.
-
-2011-11-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/51258
- * lib/target-supports.exp
- (check_effective_target_sync_long_long): Also supported on 32bit
- x86 targets. Add comment about required dg-options.
- Add alpha*-*-* targets.
- (check_effective_target_sync_long_long_runtime): Ditto.
-
- * gcc.dg/atomic-op-4.c (dg-options): Add -march=pentium for
- 32bit x86 targets.
- * gcc.dg/atomic-compare-exchange-4.c: Ditto.
- * gcc.dg/atomic-exchange-4.c: Ditto.
- * gcc.dg/atomic-load-4.c: Ditto.
- * gcc.dg/atomic-store-4.c: Ditto.
- * gcc.dg/di-longlong64-sync-1.c: Ditto.
- * gcc.dg/di-sync-multithread.c: Ditto.
- * gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
- * gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.
-
-2011-11-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/51258
- * lib/target-supports.exp
- (check_effective_target_sync_int_128_runtime): New procedure.
- (check_effective_target_sync_long_long_runtime): Ditto.
- (check_effective_target_sync_long_long): Add arm*-*-*.
- (check_effective_target_sync_longlong): Remove.
-
- * gcc.dg/atomic-op-5.c: Require sync_int_128_runtime effective target.
- * gcc.dg/atomic-compare-exchange-5.c: Ditto.
- * gcc.dg/atomic-exchange-5.c: Ditto.
- * gcc.dg/atomic-load-5.c: Ditto.
- * gcc.dg/atomic-store-5.c: Ditto.
- * gcc.dg/simulate-thread/atomic-load-int128.c: Ditto.
- * gcc.dg/simulate-thread/atomic-other-int128.c: Ditto.
- * gcc.dg/atomic-op-4.c: Require sync_long_long_runtime
- effective target.
- * gcc.dg/atomic-compare-exchange-4.c: Ditto.
- * gcc.dg/atomic-exchange-4.c: Ditto.
- * gcc.dg/atomic-load-4.c: Ditto.
- * gcc.dg/atomic-store-4.c: Ditto.
- * gcc.dg/di-longlong64-sync-1.c: Ditto.
- * gcc.dg/di-sync-multithread.c: Ditto.
- * gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
- * gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.
-
-2011-11-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50408
- * gfortran.dg/whole_file_35.f90: New.
-
-2011-11-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51302
- * gfortran.dg/volatile13.f90: New.
-
-2011-11-24 Andrew MacLeod <amacleod@redhat.com>
-
- PR c/51256
- * gcc.dg/atomic-pr51256.c: New. Test error conditions.
-
-2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51227
- * g++.dg/cpp0x/lambda/lambda-ice5.C: New.
-
-2011-11-24 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/51134
- * gcc.target/i386/sw-1.c: Revert revision 181357.
-
-2011-11-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/51218
- * gfortran.dg/implicit_pure_1.f90: New.
-
-2011-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/51258
- * gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
- * gcc.dg/atomic-exchange-5.c: Likewise.
- * gcc.dg/atomic-load-5.c: Likewise.
- * gcc.dg/atomic-op-5.c: Likewise.
- * gcc.dg/atomic-store-5.c: Likewise.
- * gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.
-
-2011-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/50290
- * gcc.dg/pr50290.c: New test.
-
-2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51290
- * g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.
-
-2011-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR target/51261
- * gcc.dg/pr51261.c: New test.
-
-2011-11-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51145
- * g++.dg/cpp0x/alias-decl-14.C: New test.
- * g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
- passing before.
- * g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
- change.
- * g++.dg/ext/attrib27.C: Adjust for diagnostic change.
- * g++.dg/lookup/struct1.C: Likewise.
- * g++.dg/parse/elab1.C: Likewise.
- * g++.dg/parse/elab2.C: Likewise.
- * g++.dg/parse/int-as-enum1.C: Likewise.
- * g++.dg/parse/typedef1.C: Likewise.
- * g++.dg/parse/typedef3.C: Likewise.
- * g++.dg/parse/typedef4.C: Likewise.
- * g++.dg/parse/typedef5.C: Likewise.
- * g++.dg/template/crash26.C: Likewise.
- * g++.dg/template/nontype4.C: Likewise.
- * g++.old-deja/g++.benjamin/typedef01.C: Likewise.
- * g++.old-deja/g++.brendan/line1.C: Likewise.
- * g++.old-deja/g++.other/elab1.C: Likewise.
- * g++.old-deja/g++.other/syntax4.C: Likewise.
-
-2011-11-22 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/50764
- * gcc.dg/pr50764.c: New test.
-
-2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51265
- * g++.dg/cpp0x/decltype36.C: New.
-
-2011-11-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51074
- * gcc.dg/vect/pr51074.c: New test.
-
-2011-11-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51143
- * g++.dg/cpp0x/alias-decl-16.C: New test.
-
-2011-11-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50765
- * gcc.dg/pr50765.c: New test.
-
-2011-11-22 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.dg/vshift-1.c (main): Call rand instead of random.
- * gcc.dg/vshift-3.c (main): Likewise.
-
-2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc.dg/tm/20100615.c: Adjust for Darwin tm_clone_table section name.
-
-2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
-
- * gcc.misc-tests/gcov-16.c: Adjust scan-assembler for Darwin.
- * gcc.misc-tests/gcov-17.c: Likewise.
- * g++.dg/gcov/gcov-8.C: Likewise.
- * g++.dg/gcov/gcov-9.C: Likewise.
-
-2011-11-21 Torvald Riegel <triegel@redhat.com>
-
- * g++.dg/tm/pr47747.C: New test.
-
-2011-11-21 Torvald Riegel <triegel@redhat.com>
-
- * g++.dg/tm/template-2.C: New test.
-
-2011-11-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/50827
- * gcc.dg/pr50827.c: New test.
-
-2011-11-21 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/50958
- * g++.dg/cpp0x/udlit-declare-neg.C: Adjust.
- * g++.dg/cpp0x/udlit-implicit-conv-neg.C: New.
- * g++.dg/cpp0x/udlit-member.C: Adjust.
- * g++.dg/cpp0x/udlit-raw-length.C: New.
- * g++.dg/cpp0x/udlit-raw-op-string-neg.C: Adjust.
- * g++.dg/cpp0x/udlit-resolve.C: New.
- * c-c++-common/dfp/pr33466.c: Adjust.
-
-2011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp
- (check_effective_target_ultrasparc_vis2_hw): Call check_runtime
- with ultrasparc_vis2_hw.
- (check_effective_target_ultrasparc_vis3_hw): Call check_runtime
- with ultrasparc_vis3_hw.
-
-2011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * c-c++-common/tm/malloc.c: Scan tree dumps for std::malloc if
- *-*-solaris2* && c++.
-
-2011-11-20 Joey Ye <joey.ye@arm.com>
-
- * gcc.dg/volatile-bitfields-1.c: New.
-
-2011-11-20 Jason Merrill <jason@redhat.com>
-
- PR c++/48322
- * g++.dg/cpp0x/variadic120.C: New.
- * g++.dg/cpp0x/sfinae26.C: Adjust.
-
- * g++.dg/cpp0x/sfinae11.C: Adjust.
- * g++.dg/cpp0x/sfinae26.C: Adjust.
- * g++.dg/template/unify11.C: Adjust.
-
-2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51230
- * g++.dg/template/error46.C: New.
-
-2011-11-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/51235
- * gcc.target/i386/pr51235.c: New test.
-
- PR target/51236
- * gcc.target/i386/pr51236.c: New test.
-
-2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr32.adb: New test.
- * gnat.dg/discr32_pkg.ads: New helper.
-
-2011-11-20 Nathan Sidwell <nathan@acm.org>
-
- PR gcov-profile/51113
- * gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage
- * gcc.misc-tests/gcov-16.c: New.
- * gcc.misc-tests/gcov-17.c: New.
- * g++.dg/gcov/gcov-8.C: New.
- * g++.dg/gcov/gcov-9.C: New.
- * g++.dg/gcov/gcov-10.C: New.
-
-2011-11-20 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51194
- * g++.dg/cpp0x/alias-decl-15.C: New test.
-
-2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51216
- * g++.dg/cpp0x/pr51216.C: New.
-
-2011-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/delay-slot-2.c: New test.
-
-2011-11-18 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/cpp/assert4.c: Test __linux__, not __gnu_linux__.
-
-2011-11-18 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/51188
- * g++.dg/lookup/using46.C: New.
- * g++.dg/lookup/using47.C: New.
- * g++.dg/lookup/using48.C: New.
- * g++.dg/lookup/using49.C: New.
- * g++.dg/lookup/using50.C: New.
-
-2011-11-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc.c-torture/compile/pr44707.c: Do not assume assembler
- supports /* ... */ comments.
-
-2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51150
- * g++.dg/cpp0x/pr51150.C: New.
-
-2011-11-18 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50605
- * g++.dg/ipa/pr50605.C: New test.
-
-2011-11-18 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51191
- * g++.dg/cpp0x/alias-decl-13.C: New test.
-
-2011-11-17 Jason Merrill <jason@redhat.com>
-
- PR c++/51186
- * g++.dg/cpp0x/auto27.C: New.
- * g++.dg/cpp0x/trailing2.C: Adjust messages.
-
-2011-11-17 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc.dg/atomic-generic-aux.c (__atomic_compare_exchange): Fail if
- memory model parameters don't match expected values.
- * gcc.dg/atomic-generic.c: Pass specific memory model parameters to
- __atomic_compare_exchange.
- * gcc.dg/atomic-noinline.c: Pass specific memory model parameters to
- __atomic_compare_exchange_n.
- * gcc.dg/atomic-noinline-aux.c (__atomic_compare_exchange_2): Remove
- weak/strong parameter and fail if memory models aren't correct.
-
-2011-10-17 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
- Look for simulate_thread_done to determine working gdb. Reduce timeout
- to 10 seconds and fail when timeout occurs. Improve error messages.
-
-2011-11-17 Jason Merrill <jason@redhat.com>
-
- PR c++/51137
- * g++.dg/template/virtual2.C: New.
-
-2011-11-17 Michael Matz <matz@suse.de>
-
- PR middle-end/50644
- PR middle-end/50741
- * g++.dg/tree-ssa/pr50741.C: New.
-
-2011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/gcc-simulate-thread.exp (simulate-thread): Skip on alpha*-*-*.
-
-2011-10-16 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tm/memopt-6.c: Cleanup tmedge tree dump.
- * gcc.dg/tm/memopt-13.c: Cleanup tmmark tree dump.
- * g++.dg/eh/array1.C: Cleanup gimple tree dump.
-
-2011-11-16 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/39427
- PR fortran/37829
- * gfortran.dg/constructor_1.f90: New.
- * gfortran.dg/constructor_2.f90: New.
- * gfortran.dg/constructor_3.f90: New.
- * gfortran.dg/constructor_4.f90: New.
- * gfortran.dg/constructor_5.f90: New.
- * gfortran.dg/constructor_6.f90: New.
- * gfortran.dg/use_only_5.f90: New.
- * gfortran.dg/c_ptr_tests_17.f90: New.
- * gfortran.dg/c_ptr_tests_18.f90: New.
- * gfortran.dg/used_types_25.f90: New.
- * gfortran.dg/used_types_26.f90: New
- * gfortran.dg/type_decl_3.f90: New.
- * gfortran.dg/function_types_3.f90: Update dg-error.
- * gfortran.dg/result_1.f90: Ditto.
- * gfortran.dg/structure_constructor_3.f03: Ditto.
- * gfortran.dg/structure_constructor_4.f03: Ditto.
-
-2011-10-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.dg/vect/pr30858.c: Update expected output for
- architectures with multiple vector sizes.
-
-2011-11-16 Richard Earnshaw <rearnsha@arm.com>
- Bernd Schmidt <bernds@coudesourcery.com>
- Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- PR target/49641
- * gcc.target/arm/pr49641.c: New test.
-
-2011-11-16 Razya Ladelsky <razya@il.ibm.com>
-
- PR tree-optimization/49960
- * gcc.dg/autopar/pr49960.c: New test.
- * gcc.dg/autopar/pr49960-1.c: New test.
-
-
-2011-11-16 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
- * gcc.dg/pr43864-2.c: Same.
- * gcc.dg/pr43864-3.c: Same.
- * gcc.dg/pr43864-4.c: Same.
-
-2011-11-15 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse2-cvt-vec.c: New test.
- * gcc.target/i386/avx-cvt-vec.c: Ditto.
- * gcc.target/i386/avx-cvt-2-vec.c: Ditto.
- * gcc.target/i386/avx-floor-sfix-2-vec.c: Ditto.
- * gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto.
- * gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto.
- * gcc.target/i386/avx-round-sfix-2-vec.c: Ditto.
-
-2011-11-15 Iain Sandoe <iains@gcc.gnu.org>
-
- * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
- powerpc*-*-darwin* targets.
-
-2011-11-15 Torvald Riegel <triegel@redhat.com>
-
- * c-c++-common/tm/trxn-expr-3.c: New test.
-
-2011-11-14 Torvald Riegel <triegel@redhat.com>
-
- * g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.
-
-2011-11-14 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx-recip-vec.c: New test.
- * gcc.target/i386/avx-lrintf-vec.c: Ditto.
- * gcc.target/i386/avx-lrint-vec.c: Ditto.
- * gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c.
- * gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c.
- * gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c.
- * gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c.
- * gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c.
- * gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c.
- * gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c.
- * gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c.
- * gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c.
- * gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c.
- * gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c.
- * gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c.
-
-2011-11-14 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/51107
- * g++.dg/cpp0x/udlit-args-neg.C: Add check for void argument
- non-template literal operator.
-
-2011-11-14 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
- * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
- * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
- * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
- * gcc.target/i386/sse4_1-rint-sfix-vec.c: Ditto.
- * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-rint-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-rintf-sfix-vec.c: Ditto.
- * gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
- * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-round-sfix-vec.c: Ditto.
- * gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.
-
-2011-11-14 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/6936
- PR c++/25994
- PR c++/26256
- PR c++/30195
- * g++.old-deja/g++.brendan/misc14.C: Adjust.
- * g++.old-deja/g++.jason/scoping16.C: Likewise.
- * g++.old-deja/g++.other/anon7.C: Likewise.
- * g++.old-deja/g++.other/using1.C: Likewise.
- * g++.old-deja/g++.other/redecl1.C: Likewise.
- * g++.old-deja/g++.other/typedef7.C: Likewise.
- * g++.old-deja/g++.bugs/900127_02.C: Likewise.
- * g++.dg/template/using2.C: Likewise.
- * g++.dg/template/static4.C: Likewise.
- * g++.dg/template/typedef1.C: Likewise.
- * g++.dg/lookup/name-clash9.C: Likewise.
- * g++.dg/abi/mangle41.C: Likewise.
- * g++.dg/parse/ctor5.C: Likewise.
- * g++.dg/inherit/using4.C: Likewise.
- * g++.dg/lookup/using24.C: New.
- * g++.dg/lookup/using25.C: New.
- * g++.dg/lookup/using26.C: New.
- * g++.dg/lookup/using27.C: New.
- * g++.dg/lookup/using28.C: New.
- * g++.dg/lookup/using29.C: New.
- * g++.dg/lookup/using30.C: New.
- * g++.dg/lookup/using31.C: New.
- * g++.dg/lookup/using32.C: New.
- * g++.dg/lookup/using33.C: New.
- * g++.dg/lookup/using34.C: New.
- * g++.dg/lookup/using35.C: New.
- * g++.dg/lookup/using36.C: New.
- * g++.dg/lookup/using37.C: New.
- * g++.dg/lookup/using38.C: New.
- * g++.dg/lookup/using39.C: New.
- * g++.dg/lookup/using40.C: New.
- * g++.dg/lookup/using41.C: New.
- * g++.dg/lookup/using42.C: New.
- * g++.dg/lookup/using43.C: New.
- * g++.dg/lookup/using44.C: New.
- * g++.dg/lookup/using45.C: New.
- * g++.dg/lookup/pr6936.C: New.
- * g++.dg/debug/using4.C: New.
- * g++.dg/debug/using5.C: New.
- * g++.dg/cpp0x/forw_enum10.C: New.
-
-2011-11-14 Zolotukhin Michael <michael.v.zolotukhin@gmail.com>
- Jan Hubicka <jh@suse.cz>
-
- * gcc.target/i386/sw-1.c: Force rep;movsb.
-
-2011-11-14 Iain Sandoe <iains@gcc.gnu.org>
-
- PR testsuite/51059
- * gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
- dg-additional-options.
-
-2011-11-13 Oleg Endo <oleg.endo@t-online.de>
-
- * gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
- specified. Remove redundant runtime checks.
- * gcc.target/sh/20080410-1.c: Skip if -mb is specified.
- Allow for other than -m4. Fix typos in comments.
-
-2011-11-12 Jason Merrill <jason@redhat.com>
-
- PR c++/986
- * g++.dg/warn/ref-temp1.C: New.
-
- PR c++/51060
- * g++.dg/opt/stack2.C: New.
-
-2011-11-12 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
- alpha*-*-linux* targets.
-
-2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
-
- PR testsuite/51059
- * gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
- Darwin targets and allow external symbols to be undefined.
-
-2011-11-12 Nathan Sidwell <nathan@acm.org>
-
- * gcc.misc-tests/gcov-15.c: New.
-
-2011-11-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51058
- * gcc.dg/vect/fast-math-vect-call-1.c: Add f4 test.
- * gfortran.dg/vect/pr51058-2.f90: New test.
-
-2011-11-10 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/linkage1.C: New.
- * g++.dg/ext/visibility/anon8.C: Adjust for C++11.
- * g++.old-deja/g++.other/linkage4.C: Likewise.
-
- PR c++/50973
- * g++.dg/cpp0x/defaulted33.C: New.
-
-2011-11-10 Andrew MacLeod <amacleod@redhat.com>
-
- PR middle-end/51038
- * gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
- * gcc.dg/atomic-flag.c: New. Test __atomic_test_and_set and
- __atomic_clear.
-
-2011-11-10 Andrew MacLeod <amacleod@redhat.com>
-
- PR rtl-optimization/51040
- * testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
- patchup code.
-
-2011-11-10 Jason Merrill <jason@redhat.com>
-
- PR c++/51079
- * g++.dg/template/conv12.C: New.
-
- PR debug/50983
- * gcc.dg/debug/dwarf2/asm-line1.c: New.
-
-2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/atomic6_1.adb: New test.
- * gnat.dg/atomic6_2.adb: Likewise.
- * gnat.dg/atomic6_3.adb: Likewise.
- * gnat.dg/atomic6_4.adb: Likewise.
- * gnat.dg/atomic6_5.adb: Likewise.
- * gnat.dg/atomic6_6.adb: Likewise.
- * gnat.dg/atomic6_7.adb: Likewise.
- * gnat.dg/atomic6_8.adb: Likewise.
- * gnat.dg/atomic6_pkg.ads: New helper.
-
-2011-11-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/51077
- * gcc.c-torture/compile/pr51077.c: New test.
-
- PR rtl-optimization/51023
- * gcc.c-torture/execute/pr51023.c: New test.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51042
- * gcc.dg/torture/pr51042.c: New testcase.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51070
- * gcc.dg/torture/pr51070.c: New testcase.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51030
- * gcc.dg/tree-ssa/phi-opt-6.c: New testcase.
-
-2011-11-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51071
- * gcc.dg/torture/pr51071.c: New testcase.
-
-2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/loop_optimization9.ad[sb]: New test.
-
-2011-11-10 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/51058
- * gfortran.dg/vect/pr51058.f90: New test.
-
-2011-11-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/51000
- * gcc.dg/vect/pr51000.c: New test.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50837
- * g++.dg/cpp0x/static_assert5.C: New.
- * g++.dg/template/nontype13.C: Tweak.
-
-2011-11-09 Jason Merrill <jason@redhat.com>
-
- PR c++/50972
- * g++.dg/cpp0x/noexcept16.C: New.
-
- PR c++/51046
- * g++.dg/cpp0x/variadic119.C: New.
-
-2011-11-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50911
- * gcc.dg/torture/vshuf-16.inc: Add interleave low and high
- permutations.
- * gcc.dg/torture/vshuf-32.inc: Likewise.
- * gcc.dg/torture/vshuf-4.inc: Likewise.
- * gcc.dg/torture/vshuf-8.inc: Likewise.
-
- * gcc.dg/tm/memopt-1.c: Fix up regexp.
-
-2011-11-09 Ian Lance Taylor <iant@google.com>
-
- * lib/target-supports.exp (check_effective_target_ucontext_h): New
- procedure.
- * gcc.dg/split-5.c: New test.
-
-2011-11-09 Patrick Marlier <patrick.marlier@gmail.com>
-
- * gcc.dg/tm/memopt-1.c: Adjust regexp.
-
-2011-11-09 Jason Merrill <jason@redhat.com>
-
- PR c++/51029
- * g++.dg/template/virtual1.C: New.
-
-2011-11-08 Jason Merrill <jason@redhat.com>
-
- Run most C++ tests in both C++98 and C++11 modes.
- * lib/target-supports.exp (check_effective_target_c++11): New.
- (check_effective_target_c++98): New.
- * lib/g++-dg.exp (g++-dg-runtest): New.
- * g++.dg/dg.exp: Use g++-dg-runtest.
- * g++.dg/charset/charset.exp: Likewise.
- * g++.dg/debug/dwarf2/dwarf2.exp: Likewise.
- * g++.dg/dfp/dfp.exp: Likewise.
- * g++.dg/gcov/gcov.exp: Likewise.
- * g++.dg/gomp/gomp.exp: Likewise.
- * g++.dg/graphite/graphite.exp: Likewise.
- * g++.dg/tls/tls.exp: Likewise.
- * g++.dg/tm/tm.exp: Likewise.
- * g++.dg/vect/vect.exp: Likewise.
- * g++.old-deja/old-deja.exp: Likewise.
- * g++.dg/simulate-thread/simulate-thread.exp: Pass -std flags
- with some of the torture options.
- * g++.dg/abi/mangle4.C: Move to template/nontype25.C.
- * g++.dg/template/sfinae6_neg.C: Add C++11 error.
- * g++.dg/init/null1.C: Only run in C++98.
- * g++.dg/warn/Wconversion-null-3.C: Likewise.
- * g++.old-deja/g++.benjamin/p12475.C: Likewise.
- * g++.old-deja/g++.brendan/crash64.C: Likewise.
- * g++.old-deja/g++.other/anon9.C: Likewise.
- * g++.old-deja/g++.other/linkage1.C: Likewise.
- * g++.old-deja/g++.other/linkage2.C: Likewise.
- * g++.old-deja/g++.pt/t29.C: Likewise.
- * g++.old-deja/g++.pt/t30.C: Likewise.
- * g++.dg/cpp0x/variadic60.C: Only error in C++98.
- * g++.dg/ext/anon-struct4.C: Likewise.
- * g++.dg/init/brace2.C: Likewise.
- * g++.dg/init/brace6.C: Likewise.
- * g++.dg/other/anon3.C: Likewise.
- * g++.dg/template/arg2.C: Likewise.
- * g++.old-deja/g++.brendan/cvt1.C: Likewise.
- * g++.old-deja/g++.brendan/enum11.C: Likewise.
- * g++.old-deja/g++.brendan/enum8.C: Likewise.
- * g++.old-deja/g++.brendan/enum9.C: Likewise.
- * g++.old-deja/g++.brendan/friend3.C: Likewise.
- * g++.old-deja/g++.brendan/init2.C: Likewise.
- * g++.old-deja/g++.brendan/init4.C: Likewise.
- * g++.old-deja/g++.brendan/misc14.C: Likewise.
- * g++.old-deja/g++.jason/cond.C: Likewise.
- * g++.old-deja/g++.law/init1.C: Likewise.
- * g++.old-deja/g++.law/operators32.C: Likewise.
- * g++.old-deja/g++.pt/enum6.C: Likewise.
- * g++.old-deja/g++.pt/explicit70.C: Likewise.
- * g++.old-deja/g++.pt/ptrmem6.C: Likewise.
-
- * g++.dg/eh/new1.C: Adjust for C++11 mode.
- * g++.dg/init/new11.C: Likewise.
- * g++.dg/init/pr29571.C: Likewise.
- * g++.dg/lookup/forscope2.C: Likewise.
- * g++.dg/parse/linkage1.C: Likewise.
- * g++.dg/parse/typedef8.C: Likewise.
- * g++.dg/template/error44.C: Likewise.
- * g++.dg/tls/diag-2.C: Likewise.
- * g++.dg/tls/diag-4.C: Likewise.
- * g++.dg/warn/anonymous-namespace-3.C: Likewise.
- * g++.old-deja/g++.abi/arraynew.C: Likewise.
- * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
- * g++.old-deja/g++.brendan/new3.C: Likewise.
- * g++.old-deja/g++.eh/new1.C: Likewise.
- * g++.old-deja/g++.eh/new2.C: Likewise.
- * g++.old-deja/g++.jason/new.C: Likewise.
- * g++.old-deja/g++.law/friend1.C: Likewise.
- * g++.old-deja/g++.mike/net46.C: Likewise.
- * g++.old-deja/g++.mike/p755.C: Likewise.
- * g++.old-deja/g++.other/new6.C: Likewise.
-
- * g++.dg/cpp0x/variadic74.C: Adjust diags.
- * g++.dg/template/crash53.C: Likewise.
- * g++.dg/template/void9.C: Likewise.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51045
- * g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.
-
-2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/51047
- * g++.dg/cpp0x/sfinae29.C: New.
-
-2011-11-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50960
- * gfortran.dg/typebound_call_22.f03: New test case.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/50016
- * gfortran.dg/inquire_size.f90: Don't flush the unit.
-
-2011-11-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51039
- * gcc.dg/pr51039.c: New testcase.
-
-2011-11-09 Jakub Jelinek <jakub@redhat.com>
-
- * lib/target-supports.exp (check_effective_target_vect_cond_mixed):
- Enable also for powerpc*-*-*.
-
-2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50540
- * gfortran.dg/forall_16.f90: New test.
-
-2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/38718
- * gfortran.dg/initialization_29.f90: Expand test.
-
-2011-11-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/51027
- * g++.dg/cpp0x/alias-decl-12.C: New test.
- * g++.dg/ext/alias-decl-attr4.C: Append missing ';'.
-
-2011-11-09 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/51032
- * g++.dg/cpp0x/alias-decl-debug-0.C: New test.
-
-2011-11-09 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/51015
- * gcc.dg/vect/pr51015.c: New test.
-
-2011-11-08 David S. Miller <davem@davemloft.net>
-
- * lib/target-supports.exp (check_effective_target_sparc_vis): New.
- (check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50404
- * gfortran.dg/io_constraints_3.f90: Improve testcase.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR fortran/50409
- * gfortran.dg/string_5.f90: Improve testcase.
-
-2011-10-23 Jason Merrill <jason@redhat.com>
-
- PR c++/50835
- * g++.dg/template/lvalue2.C: New.
-
-2011-11-08 Michael Matz <matz@suse.de>
-
- * gcc.dg/tree-ssa/20031015-1.c: Adjust.
- * g++.dg/tree-ssa/ehcleanup-1.C: Ditto.
- * g++.dg/eh/builtin1.C: Rewrite to not use local variables.
- * g++.dg/eh/builtin2.C: Ditto.
- * g++.dg/eh/builtin3.C: Ditto.
-
-2011-11-08 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/avx-cvt-2.c: Adjust for 32-byte integer vectors
- being prefered even for -mavx.
- * gcc.target/i386/avx-cvt-3.c: New test.
-
-2011-11-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/51012
- * gcc.dg/pr51012-1.c: New testcase.
- * gcc.dg/pr51012-2.c: Likewise.
-
-2011-11-08 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/51010
- * c-c++-common/uninit-pr51010.c: New testcase.
-
-2011-11-08 Jakub Jelinek <jakub@redhat.com>
-
- * lib/target-supports.exp (check_effective_target_vect_call_sqrtf,
- check_effective_target_vect_call_copysignf,
- check_effective_target_vect_call_lrint): New procedures.
- * gcc.dg/vect/vect.exp: Run fast-math-bb-slp* tests using
- $VECT_SLP_CFLAGS with -ffast-math.
- * gcc.dg/vect/fast-math-vect-call-1.c: New test.
- * gcc.dg/vect/fast-math-vect-call-2.c: New test.
- * gcc.dg/vect/fast-math-bb-slp-call-1.c: New test.
- * gcc.dg/vect/fast-math-bb-slp-call-2.c: New test.
-
-2011-11-07 Richard Henderson <rth@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
- Torvald Riegel <triegel@redhat.com>
-
- Merged from transactional-memory.
-
- * g++.dg/dg.exp: Run transactional memory tests.
- * g++.dg/tm: New directory with new tests.
- * gcc.dg/tm: New directory with new tests.
- * c-c++-common/tm: New directory with new tests.
-
-2011-11-08 Dodji Seketeli <dodji@redhat.com>
-
- Fix context handling of alias-declaration
- * g++.dg/cpp0x/alias-decl-11.C: New test.
-
-2011-11-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50864
- * g++.dg/parse/template26.C: New.
- * g++.dg/template/crash45.C: Adjust dg-error string.
-
-2011-11-07 Jason Merrill <jason@redhat.com>
-
- PR c++/50848
- * g++.dg/template/lookup9.C: New.
-
- PR c++/50863
- * g++.dg/cpp0x/lambda/lambda-initlist1.C: New.
-
- PR c++/50870
- * g++.dg/cpp0x/decltype35.C: New.
-
-2011-11-07 Dodji Seketeli <dodji@redhat.com>
-
- Support C++11 alias-declaration
- PR c++/45114
- * g++.dg/cpp0x/alias-decl-0.C: New test case.
- * g++.dg/cpp0x/alias-decl-1.C: Likewise.
- * g++.dg/cpp0x/alias-decl-3.C: Likewise.
- * g++.dg/cpp0x/alias-decl-4.C: Likewise.
- * g++.dg/cpp0x/alias-decl-6.C: Likewise.
- * g++.dg/cpp0x/alias-decl-7.C: Likewise.
- * g++.dg/cpp0x/alias-decl-8.C: Likewise.
- * g++.dg/cpp0x/alias-decl-9.C: Likewise.
- * g++.dg/cpp0x/alias-decl-10.C: Likewise.
- * g++.dg/ext/alias-decl-attr1.C: Likewise.
- * g++.dg/ext/alias-decl-attr2.C: Likewise.
- * g++.dg/ext/alias-decl-attr3.C: Likewise.
- * g++.dg/ext/alias-decl-attr4.C: Likewise.
-
-2011-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/pragma-align-2.c: Compile with -std=gnu99.
-
-2011-11-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50919
- * gfortran.dg/typebound_call_21.f03: New.
-
-2011-11-07 Nathan Sidwell <nathan@acm.org>
-
- * gcc.dg/profile-dir-1.c: Adjust final scan.
- * gcc.dg/profile-dir-2.c: Adjust final scan.
- * gcc.dg/profile-dir-3.c: Adjust final scan.
- * gcc.misc-tests/gcov.exp: Adjust regexp.
- * gcc.misc-tests/gcov-12.c: New.
- * gcc.misc-tests/gcov-13.c: New.
- * gcc.misc-tests/gcovpart-13b.c: New.
- * gcc.misc-tests/gcov-14.c: New.
-
-2011-11-07 Jason Merrill <jason@redhat.com>
-
- PR c++/35688
- * g++.dg/ext/visibility/template8.C: New.
-
-2011-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50789
- * gcc.target/i386/avx2-gather-1.c: New test.
- * gcc.target/i386/avx2-gather-2.c: New test.
- * gcc.target/i386/avx2-gather-3.c: New test.
- * gcc.target/i386/avx2-gather-4.c: New test.
-
-2011-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/pr49781-1.c (dg-options): Add -mtune=generic.
-
-2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/45723
- * gfortran.dg/open_dev_null.f90: Remove testcase.
-
-2011-11-07 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/target-supports.exp (check_effective_target_sync_int_128):
- Don't cache the result.
- (check_effective_target_sync_long_long): Ditto.
-
-2011-11-07 Sergey Ostanevich <sergos.gnu@gmail.com>
-
- PR rtl-optimization/47698
- * gcc.target/i386/47698.c: New test.
-
-2011-11-06 Jason Merrill <jason@redhat.com>
-
- PR c++/35688
- * g++.dg/ext/visibility/template7.C: New.
-
-2011-11-07 Terry Guo <terry.guo@arm.com>
-
- * gcc.target/arm/wmul-1.c: Adjust optimization level.
- * gcc.target/arm/wmul-2.c: Ditto.
- * gcc.target/arm/wmul-3.c: Ditto.
- * gcc.target/arm/wmul-4.c: Ditto.
-
-2011-11-06 Joseph Myers <joseph@codesourcery.com>
-
- * g++.dg/cpp0x/alignof3.C, gcc.dg/c1x-align-1.c,
- gcc.dg/c1x-align-2.c, gcc.dg/c1x-align-3.c, gcc.dg/c1x-align-4.c,
- gcc.dg/c90-align-1.c, gcc.dg/c99-align-1.c: New tests.
- * gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu90-const-expr-1.c,
- gcc.dg/gnu99-const-expr-1.c, gcc.dg/gnu99-static-1.c: Update
- expected diagnostics.
-
-2011-11-06 Andrew MacLeod <amacleod@redhat.com>
- Richard Henderson <rth@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- Merged from cxx-mem-model.
-
- * lib/target-supports.exp (check_effective_target_sync_int_128,
- check_effective_target_sync_long_long): Check whether the target
- supports 64 and 128 bit __sync builtins.
- (check_effective_target_cas_char): New.
- (check_effective_target_cas_int): New.
- * gcc.dg/dg.exp: Exclude simulate-thread tests.
- * gcc.dg/atomic-noinline[-aux].c: New. Make a variety of atomics calls.
- * gcc.dg/atomic-generic[-aux].c: New. Test that generic functions
- produce the expected library calls.
- * gcc.dg/atomic-fence.c: New functional tests.
- * gcc.dg/atomic-param.c: New. Checl for illegal number of parameters.
- * gcc.dg/atomic-invalid.c: New. Test invalid parameters.
- * gcc.dg/atomic-lockfree[-aux].c: New tests.
- * gcc.dg/atomic-compare-exchange-{1-5}.c: New functional tests.
- * gcc.dg/atomic-op-[1-5].c: New. Test atomic fetch functionality.
- * gcc.dg/atomic-exchange-{1-5}.c: New functional tests.
- * gcc.dg/atomic-load-{1-5}.c: New functional tests.
- * gcc.dg/atomic-store-{1-5}.c: New functional tests.
- * gcc.dg/simulate-thread/atomic-load-int128.c: New. Verify int128 loads
- are atomic.
- * gcc.dg/simulate-thread/atomic-load-longlong.c: New. Verify 8 byte
- loads are atomic.
- * gcc.dg/simulate-thread/atomic-load-int.c: New. Verify 4 byte loads
- are atomic.
- * gcc.dg/simulate-thread/atomic-load-short.c: New. Verify 2 byte loads
- are atomic.
- * gcc.dg/simulate-thread/atomic-other-int128.c: New. Verify other
- int128 operations are atomic.
- * gcc.dg/simulate-thread/atomic-other-int.c: New. Verify other 4 byte
- operations are atomic.
- * gcc.dg/simulate-thread/atomic-other-longlong.c: New. Verify 8 byte
- operations are atomic.
- * gcc.dg/simulate-thread/atomic-other-short.c: New. Verify other 2 byte
- operations are atomic.
- * gcc.dg/simulate-thread/speculative-store.c: New. Verify speculative
- stores aren't moved out of a loop.
- * gcc.dg/simulate-thread/strict-align-global.c: New. Verify small
- globals don't overwrite neighbouring globals.
- * gcc.dg/simulate-thread/subfields.c: New. Verify struct component
- writes dont overwrite neighbouring components.
- * c-c++-common/gomp/atomic-10.c: Use cas_int; match __atomic builtin.
- * c-c++-common/gomp/atomic-3.c: Likewise.
- * c-c++-common/gomp/atomic-9.c: Likewise.
- * gcc.dg/gomp/atomic-1.c, gcc.dg/gomp/atomic-2.c,
- gcc.dg/gomp/atomic-3.c, gcc.dg/gomp/atomic-4.c, gcc.dg/gomp/atomic-7.c,
- gcc.dg/gomp/atomic-8.c, gcc.dg/gomp/atomic-9.c,
- gcc.dg/gomp/atomic-10.c, gcc.dg/gomp/atomic-12.c,
- gcc.dg/gomp/atomic-13.c, gcc.dg/gomp/atomic-14.c,
- gcc.dg/gomp/atomic-15.c: Move to c-c++-common/gomp/.
- * g++.dg/gomp/atomic-1.C, g++.dg/gomp/atomic-2.C,
- g++.dg/gomp/atomic-3.C, g++.dg/gomp/atomic-4.C, g++.dg/gomp/atomic-7.C,
- g++.dg/gomp/atomic-8.C, g++.dg/gomp/atomic-9.C,
- g++.dg/gomp/atomic-10.C, g++.dg/gomp/atomic-11.C,
- g++.dg/gomp/atomic-12.C, g++.dg/gomp/atomic-13.C,
- g++.dg/gomp/atomic-15.C: Remove.
- * gcc.dg/gomp/gomp.exp, g++.dg/gomp/gomp.exp: Run c-c++-common tests.
- * gcc.dg/gomp/atomic-11.c: Remove test.
-
-2011-11-06 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/bb-slp-cond-1.c: New test.
- * gcc.dg/vect/slp-cond-1.c: New test.
- * gcc.dg/vect/slp-cond-2.c: New test.
-
-2011-11-05 David S. Miller <davem@davemloft.net>
-
- * lib/test-supports.exp
- (check_effective_target_ultrasparc_vis2_hw): New proc.
- (check_effective_target_ultrasparc_vis3_hw): New proc.
- * gcc.target/sparc/vec-init-1.inc: New vector init common code.
- * gcc.target/sparc/vec-init-2.inc: Likewise.
- * gcc.target/sparc/vec-init-3.inc: Likewise.
- * gcc.target/sparc/vec-init-1-vis1.c: New test.
- * gcc.target/sparc/vec-init-1-vis2.c: New test.
- * gcc.target/sparc/vec-init-1-vis3.c: New test.
- * gcc.target/sparc/vec-init-2-vis1.c: New test.
- * gcc.target/sparc/vec-init-2-vis2.c: New test.
- * gcc.target/sparc/vec-init-2-vis3.c: New test.
- * gcc.target/sparc/vec-init-3-vis1.c: New test.
- * gcc.target/sparc/vec-init-3-vis2.c: New test.
- * gcc.target/sparc/vec-init-3-vis3.c: New test.
-
-2011-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
- Disable test on Epiphany.
- * gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
- * gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
- * gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
- * g++.dg/parse/pragma3.C: Likewise.
- * stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
- (bar): Use it.
- * gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
- * gcc.dg/tls/thr-cse-1.c: Likewise.
- * g++.dg/opt/devirt2.C: Likewise.
- * gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
- * gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
- * gcc.target/epiphany: New directory.
-
-2011-11-05 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/quad_2.f90: New.
-
-2011-11-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/strlenopt-22g.c: New wrapper around...
- * gcc.dg/strlenopt-22.c: ...this. Do not define USE_GNU and adjust.
-
-2011-11-04 Jason Merrill <jason@redhat.com>
-
- PR c++/26714
- * g++.dg/init/lifetime2.C: New.
- * g++.dg/cpp0x/initlist-lifetime2.C: New.
-
- PR c++/48370
- * g++.dg/init/lifetime1.C: Test cleanup order.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/offsetof7.C: New test.
-
-2011-11-04 Hans-Peter Nilsson <hp@axis.com>
-
- * lib/gcc-dg.exp (gcc_force_conventional_output): New global
- variable, default empty, -ffat-lto-objects for effective_target_lto.
- (gcc-dg-test-1): Add options from dg-final methods.
- * lib/scanasm.exp (scan-assembler_required_options)
- (scan-assembler-not_required_options): New procs.
-
-2011-10-09 Magnus Fromreide <magfr@lysator.liu.se>
-
- * g++.dg/cpp0x/enum21a.C: Test that enum x { y, } does
- generate a pedwarn in c++98-mode.
- * g++.dg/cpp0x/enum21b.C: Test that enum x { y, }
- don't generate a pedwarn in c++0x-mode.
-
-2011-11-04 Olivier Goffart <olivier@woboq.com>
-
- PR c++/50965
- * g++.dg/cpp0x/nsdmi1.C: Add more cases.
-
-2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
-
- PR rtl-optimization/38644
- * gcc.target/arm/stack-red-zone.c: New.
-
-2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48420
- * g++.dg/warn/Wconversion-null-3.C: New.
-
-2011-11-04 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- PR c++/50941
- * g++.dg/cpp0x/udlit-strint-length.C: New.
-
-2011-11-04 Jason Merrill <jason@redhat.com>
-
- PR c++/48370
- * g++.dg/cpp0x/initlist-lifetime1.C: New.
- * g++.dg/init/lifetime1.C: New.
- * g++.dg/init/ref21.C: New.
- * g++.dg/eh/array1.C: New.
-
-2011-11-04 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * gcc.dg/pr50763-5.c: New test.
-
-2011-11-04 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * g++.dg/pr50763-4.C: New test.
-
-2011-11-04 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/torture/vec-cvt-1.c: Enable commented out inttoflttestui
- test.
-
- * gcc.dg/torture/vec-cvt-1.c: Enable flttointtestui test.
-
- * gcc.dg/torture/vec-cvt-1.c: New test.
-
-2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/private1[-sub].ads: New test.
-
-2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/43829
- * gfortran.dg/function_optimize_7.f90: Disable sum inlining.
- * gfortran.dg/inline_sum_1.f90: New.
- * gfortran.dg/inline_sum_2.f90: New.
- * gfortran.dg/inline_sum_bounds_check_1.f90: New.
- * gfortran.dg/inline_sum_bounds_check_2.f90: New.
- * gfortran.dg/inline_product_1.f90: New.
-
-2011-11-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50933
- * gfortran.dg/bind_c_dts_5.f90: New.
-
-2011-11-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50960
- * gfortran.dg/module_parameter_array_refs_2.f90: New.
-
-2011-11-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50079
- * g++.dg/init/copy7.C: Remove testcase.
-
-2011-11-03 Martin Jambor <mjambor@suse.cz>
-
- * g++.dg/ipa/devirt-c-1.C: Add dump scans.
- * g++.dg/ipa/devirt-c-2.C: Likewise.
- * g++.dg/ipa/devirt-c-7.C: New test.
- * g++.dg/ipa/devirt-c-8.C: Likewise.
-
-2011-11-03 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50912
- * gnat.dg/loop_optimization10.ad[sb]: New test.
- * gnat.dg/loop_optimization10_pkg.ads: New helper.
-
-2011-11-02 Jason Merrill <jason@redhat.com>
-
- PR c++/50930
- * g++.dg/cpp0x/nsdmi-list2.C: New.
-
-2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * g++.dg/cpp0x/warn_cxx0x2.C: New.
- * g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
-
-2011-11-02 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50769
- * gfortran.dg/pr50769.f90: New test.
-
-2011-11-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/sparc/20111102-1.c: New test.
-
-2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50956
- * g++.dg/warn/Wcast-qual2.C: New.
-
-2011-11-02 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * g++.dg/pr50763-3.C: New test.
-
-2011-11-02 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50672
- * g++.dg/pr50672.C: New test.
-
-2011-11-02 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx-cvt-2.c (dg-options): Add -mtune=generic.
- * gcc.target/i386/avx2-cvt-2.c (dg-options): Ditto.
- * gcc.target/i386/sse2-cvt-2.c (dg-options): Ditto.
-
- * gcc.target/i386/vectorize4-avx.c (scan-assembler): Remove xfail.
-
-2011-11-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50902
- * gcc.dg/torture/pr50902.c: New testcase.
-
-2010-11-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50890
- * gcc.dg/torture/pr50890.c: New testcase.
-
-2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44277
- * g++.dg/warn/Wzero-as-null-pointer-constant-1.C: New.
- * g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C: Likewise.
-
-2011-11-01 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50908
- * gcc.dg/pr50908.c: New test.
- * gcc.dg/pr50908-2.c: Same.
- * gcc.dg/pr50908-3.c: Same.
-
-2011-11-01 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/no-scevccp-outer-6-global.c: Expect to vectorize
- the outer loop. Remove comment. Don't check for widen-mult.
-
-2011-10-31 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/ipa/ipcp-4.c: New test.
-
-2011-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vshift-3.c: New test.
- * gcc.dg/vshift-4.c: New test.
- * gcc.dg/vshift-5.c: New test.
-
-2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- * gfortran.dg/inquire_5.f90: Update testcase to match the standard
- and current implementation.
-
-2011-10-31 Paul Brook <paul@codesourcery.com>
-
- * gcc.dg/constructor-1.c: New test.
-
-2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50753
- * gfortran.dg/dshift_3.f90: New test.
-
-2011-10-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * gcc.dg/scal-to-vec2.c (dg-options): Add -fno-common to options on
- hppa*-*-hpux*.
- * gcc.dg/torture/vshuf-v8hi.c: Likewise.
- * gcc.dg/torture/vshuf-v4si.c: Likewise.
- * gcc.dg/torture/vshuf-v8si.c: Likewise.
- * gcc.dg/torture/vshuf-v32qi.c: Likewise.
- * gcc.dg/torture/vshuf-v4di.c: Likewise.
- * gcc.dg/torture/vshuf-v2df.c: Likewise.
- * gcc.dg/torture/vshuf-v16qi.c: Likewise.
- * gcc.dg/torture/vshuf-v4sf.c: Likewise.
- * gcc.dg/torture/vshuf-v8sf.c: Likewise.
- * gcc.dg/torture/vshuf-v2di.c: Likewise.
- * gcc.dg/torture/vshuf-v16hi.c: Likewise.
- * gcc.dg/torture/vshuf-v4df.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-31.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
- * gcc.dg/vector-compare-2.c: Likewise.
-
-2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50901
- * g++.dg/cpp0x/pr50901.C: New.
-
-2011-10-29 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/fma-check.h (main): Use return 0 instead of exit (0).
- * gcc.target/i386/fma4-check.h (main): Ditto.
- * gcc.target/i386/xop-check.h (main): Ditto.
-
-2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- Revert:
- 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50864
- * g++.dg/template/crash109.C: New.
-
-2011-10-28 Jason Merrill <jason@redhat.com>
-
- * c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
-
-2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50864
- * g++.dg/template/crash109.C: New.
-
-2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/nearest_5.f90: New test.
-
-2011-10-28 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vshift-1.c: New test.
- * gcc.dg/vshift-2.c: New test.
- * gcc.target/i386/xop-vshift-1.c: New test.
- * gcc.target/i386/xop-vshift-2.c: New test.
- * gcc.target/i386/avx2-vshift-1.c: New test.
-
-2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
-
- PR rtl-optimization/49720
- * g++.dg/torture/pr49720.C: New test.
-
-2011-10-27 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/setcc-3.c: New test.
-
-2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
-
- PR c++/30066
- * g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C: New test.
-
-2011-10-27 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/sse2-cvt-1.c: New test.
- * gcc.target/i386/sse2-cvt-2.c: New test.
- * gcc.target/i386/avx-cvt-1.c: New test.
- * gcc.target/i386/avx-cvt-2.c: New test.
- * gcc.target/i386/avx2-cvt-1.c: New test.
- * gcc.target/i386/avx2-cvt-2.c: New test.
-
-2011-10-27 Martin Jambor <mjambor@suse.cz>
-
- * g++.dg/tree-ssa/pr45605.C: Scan fre1 dump and unxfail.
-
-2011-10-27 Uros Bizjak <ubizjak@gmail.com>
- Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR target/50875
- * gfortran.dg/pr50875.f90: New test.
-
-2011-10-26 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/fmaf-1.c: New test.
-
- * gcc.target/sparc/setcc-1.c: New test.
- * gcc.target/sparc/setcc-2.c: New test.
-
-2011-10-26 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple calls.
-
-2011-10-26 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/graphite/run-id-1.c: Pass -Wl,--stack,12582912 option for
- Windows targets.
-
-2011-10-26 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.target/i386/pr37843-4.c: Allow for leading underscores on
- symbol names.
-
-2011-10-26 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.target/i386/pad-4.c: Skip for Windows targets.
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/discr1.ads: New test.
- * gnat.dg/specs/discr1_pkg.ads: New helper.
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/unchecked_union.ads: Rename to...
- * gnat.dg/specs/unchecked_union1.ads: ...this.
- * gnat.dg/specs/unchecked_union2.ads: New test.
-
-2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/atomic1.ads: New test.
-
-2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
-
- Implement C++11 user-defined literals.
- * g++.dg/cpp0x/udlit-addr.C: New.
- * g++.dg/cpp0x/udlit-args.C: New.
- * g++.dg/cpp0x/udlit-args-neg.C: New.
- * g++.dg/cpp0x/udlit-clink-neg.C: New.
- * g++.dg/cpp0x/udlit-concat.C: New.
- * g++.dg/cpp0x/udlit-concat-neg.C: New.
- * g++.dg/cpp0x/udlit-constexpr.C: New.
- * g++.dg/cpp0x/udlit-cpp98-neg.C: New.
- * g++.dg/cpp0x/udlit-declare-neg.C: New.
- * g++.dg/cpp0x/udlit-friend.C: New.
- * g++.dg/cpp0x/udlit-general.C: New.
- * g++.dg/cpp0x/udlit-inline.C: New.
- * g++.dg/cpp0x/udlit-linkage-neg.C: New.
- * g++.dg/cpp0x/udlit-member-neg.C: New.
- * g++.dg/cpp0x/udlit-namespace.C: New.
- * g++.dg/cpp0x/udlit-nofunc-neg.C: New.
- * g++.dg/cpp0x/udlit-nonempty-str-neg.C: New.
- * g++.dg/cpp0x/udlit-nospace-neg.C: New.
- * g++.dg/cpp0x/udlit-nosuffix-neg.C: New.
- * g++.dg/cpp0x/udlit-nounder-neg.C: New.
- * g++.dg/cpp0x/udlit-operator-neg.C: New.
- * g++.dg/cpp0x/udlit-raw-str.C: New.
- * g++.dg/cpp0x/udlit-shadow-neg.C: New.
- * g++.dg/cpp0x/udlit-suffix-neg.C: New.
- * g++.dg/cpp0x/udlit-systemheader.C: New.
- * g++.dg/cpp0x/udlit-template.C: New.
- * g++.dg/cpp0x/udlit-tmpl-arg.C: New.
- * g++.dg/cpp0x/udlit-tmpl-arg-neg.C: New.
- * g++.dg/cpp0x/udlit-tmpl-parms.C: New.
- * g++.dg/cpp0x/udlit-tmpl-parms-neg.C: New.
- * g++.dg/cpp0x/udlit_system_header: New.
-
-2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50870
- * g++.dg/cpp0x/decltype34.C: New.
-
-2011-10-26 Tom de Vries <tom@codesourcery.com>
-
- * gcc.c-torture/unsorted/HIcmp.c: Fix unaligned pointer.
- * gcc.c-torture/unsorted/HIset.c: Same.
- * gcc.c-torture/unsorted/SIcmp.c: Same.
- * gcc.c-torture/unsorted/SIset.c: Same.
- * gcc.c-torture/unsorted/SFset.c: Same.
- * gcc.c-torture/unsorted/UHIcmp.c: Same.
- * gcc.c-torture/unsorted/USIcmp.c: Same.
- * gcc.c-torture/unsorted/DFcmp.c: Same.
-
-2011-10-26 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/avx2-i32gatherd-1.c: Adjust scan-assembler regex
- to work also with -masm=intel and additionally test the xmm vs. ymm
- register type combination on mask/dest and in vsib.
- * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq-3.c: Likewise.
-
-2011-10-26 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * gcc.dg/pr50763-2.c: New test.
-
-2011-10-25 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/format/ms_c90-printf-1.c, gcc.dg/format/ms_c90-scanf-1.c:
- Update expected messages.
-
-2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/vect/slp-multitypes-2.c: Do not XFAIL on SPARC 32-bit.
-
-2011-10-25 Jason Merrill <jason@redhat.com>
-
- PR c++/50866
- * g++.dg/init/aggr7.C: New.
-
- PR c++/49996
- * g++.dg/cpp0x/initlist59.C: New.
-
-2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50858
- * g++.dg/overload/operator5.C: New.
-
-2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50861
- * g++.dg/template/crash108.C: New.
-
-2011-10-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50596
- * gcc.dg/vect/vect-cond-10.c: New test.
-
-2011-10-24 Joey Ye <joey.ye@arm.com>
-
- * gcc.target/arm/pr42575.c: Remove architecture option.
-
-2011-10-24 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/vis3move-1.c: New test.
- * gcc.target/sparc/vis3move-2.c: New test.
- * gcc.target/sparc/vis3move-3.c: New test.
-
-2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/strlenopt-22.c: New testcase.
- * gcc.dg/strlenopt-4.c: Change scan value for s390(x).
-
-2011-10-24 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse-5.c (dg-options): Add -mno-sse.
- Remove -march=i386.
- (dg-skip-if): Remove.
- * gcc.target/i386/funcspec-1.c: Ditto.
- * gcc.target/i386/funcspec-3.c (dg-options): Add -mno-sse3.
-
-2011-10-24 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/vect/vect-bool-1.c: New testcase.
-
-2011-10-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50838
- * gcc.dg/torture/pr50838.c: New testcase.
-
-2011-10-24 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50730
- * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: New test.
- * gcc.dg/vect/vect.exp: Run no-tree-sra-bb-slp* tests with
- -fno-tree-sra and SLP flags.
-
-2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50841
- Revert:
- 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * g++.dg/cpp0x/warn_cxx0x2.C: New.
- * g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
-
-2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50810
- * g++.dg/cpp0x/warn_cxx0x2.C: New.
- * g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
-
-2011-10-23 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/50763
- * gcc.dg/pr50763.c: New test.
-
-2011-10-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50788
- * gcc.target/i386/pr50788.c: New test.
-
-2011-10-23 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50819
- * g++.dg/vect/vect.exp: Set target dependent flags for slp-* tests.
- * g++.dg/vect/slp-pr50819.cc: New test.
-
-2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/45385
- * g++.dg/warn/Wconversion4.C: New.
-
-2011-10-21 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50813
- * gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
- from element other than first and reverse permutation.
- * gcc.dg/torture/vshuf-16.inc: Likewise.
- * gcc.dg/torture/vshuf-8.inc: Likewise.
- * gcc.dg/torture/vshuf-4.inc: Likewise.
-
-2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/31423
- * g++.dg/parse/error43.C: New.
- * g++.dg/parse/error44.C: Likewise.
-
-2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/50740
- * gcc.target/i386/avx2-check.h (main): Check CPUID level correctly.
- * gcc.target/i386/bmi2-check.h: Ditto.
-
-2011-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- PR c++/50811
- * g++.dg/cpp0x/override2.C: Add test.
-
-2011-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/gcc-dg.exp (GCC_UNDER_TEST): Set before calling
- check_linker_plugin_available.
-
-2011-10-21 Kai Tietz <ktietz@redhat.com>
-
- * gcc.target/i386/branch-cost1.c: New test.
- * gcc.target/i386/branch-cost2.c: New test.
- * gcc.target/i386/branch-cost3.c: New test.
- * gcc.target/i386/branch-cost4.c: New test.
-
-2011-10-20 Steve Ellcey <sje@cup.hp.com>
-
- * gcc.dg/vect/vect-120.c: Add vect_floatint_cvt requirement.
-
-2011-10-20 Steve Ellcey <sje@cup.hp.com>
-
- PR testsuite/50722
- * gcc.dg/pr49994-3.c: Skip on HP-UX.
-
-2011-10-20 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/lto/pr46940_0.c (ASMNAME, ASMNAME2, STRING): Define.
- (_moz_foo, EXT__foo): Use ASMNAME.
-
-2011-10-20 Joseph Myers <joseph@codesourcery.com>
-
- * lib/lto.exp (lto-execute): Use .exe suffix for test executable
- names.
-
-2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/50766
- * gcc.target/i386/pr50766.c: New test.
-
-2011-10-20 Jason Merrill <jason@redhat.com>
-
- PR c++/41449
- * g++.dg/eh/partial1.C: New.
-
-2011-10-20 Richard Henderson <rth@redhat.com>
-
- * gcc.target/i386/vperm-v2df.c, gcc.target/i386/vperm-v2di.c,
- gcc.target/i386/vperm-v4sf-1.c, gcc.target/i386/vperm-v4sf-2.c,
- gcc.target/i386/vperm-v4si-1.c, gcc.target/i386/vperm-v4si-2.c:
- Use __builtin_shuffle.
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50514
- * gfortran.dg/ishft_3.f90: Update test.
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/50524
- * gfortran.dg/substring_integer_index.f90: New test.
-
-2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
-
- * gfortran.dg/format_string.f: New test.
-
-2011-10-20 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/ipa/ipa-sra-2.c: Add dg-require-effective-target
- non_strict_align.
- * gcc.dg/ipa/ipa-sra-6.c: Ditto.
-
-2011-10-20 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.target/i386/pr40906-1.c, gcc.target/i386/pr40906-2.c,
- gcc.target/i386/pr46226.c: Do not use
- -mno-accumulate-outgoing-args.
-
-2011-10-20 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/tree-prof/val-prof-7.c: Declare bzero instead of
- including <strings.h>.
-
-2011-10-19 Jan Hubicka <jh@suse.cz>
-
- * lib/lto.exp (lto_init): Test slim lto and no-linker-plugin path.
- * lib/gcc-dg.exp (check_effective_target_lto): Likewise.
- * lib/c-torture.exp: Likewise.
- * gcc.c-torture/execute/builtins/strstr-asm.c: Force fat LTO.
- * gcc.c-torture/compile/sync-1.c: Likewise.
- * gcc.c-torture/compile/sync-1.c: Likewise.
- * gcc.c-torture/compile/sync-3.c: Likewise.
- * gcc.dg/noncompile/invalid_asm.c: Likewise.
- * gcc.dg/noncompile/920507-1.c: Likewise.
- * gcc.dg/torture/pr36400.c: Likewise.
- * g++.dg/torture/pr34850.C: Likewise.
-
-2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/source_ref1.adb: New test.
- * gnat.dg/source_ref2.adb: Likewise.
-
-2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/13657
- * g++.dg/parse/error42.C: New.
- * g++.old-deja/g++.other/ptrmem7.C: Tweak dg-errors.
-
-2011-10-19 Jason Merrill <jason@redhat.com>
-
- PR c++/50793
- * g++.dg/init/value9.C: New.
-
-2011-10-19 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/torture/vshuf-32.inc: Add interleave permutations.
- * gcc.dg/torture/vshuf-16.inc: Likewise.
- * gcc.dg/torture/vshuf-8.inc: Likewise.
- * gcc.dg/torture/vshuf-4.inc: Likewise.
-
-2011-10-19 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- * gfortran.dg/sizeof_proc.f90: New.
-
-2011-10-19 Joseph Myers <joseph@codesourcery.com>
-
- * g++.dg/compat/struct-layout-1_generate.c: Also pass -mno-mmx
- -Wno-abi for i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin*.
-
-2011-10-19 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/50796
- * gcc.dg/plugin/plugindir?.c Update dg-prune-output.
-
-2011-10-19 Jason Merrill <jason@redhat.com>
-
- PR c++/50787
- * g++.dg/init/ref20.C: New.
-
-2011-10-19 Kai Tietz <ktietz@redhat.com>
-
- PR middle-end/50795
- * gcc.dg/tree-ssa/builtin-expect-1.c: Adjust test.
- * gcc.dg/tree-ssa/builtin-expect-2.c: Adjust test.
- * gcc.dg/tree-ssa/builtin-expect-3.c: Adjust test.
- * gcc.dg/tree-ssa/builtin-expect-4.c: Adjust test.
- * gcc.dg/tree-ssa/builtin-expect-5.c: Adjust test.
-
-2011-10-19 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50768
- * gcc.dg/torture/pr50768.c: New testcase.
-
-2011-10-19 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/50340
- * gcc.dg/pr50340.c: New.
-
-2011-10-18 Andrew Stubbs <ams@codesourcery.com>
-
- PR tree-optimization/50717
-
- * gcc.dg/pr50717-1.c: New file.
- * gcc.target/arm/wmul-12.c: Correct types.
- * gcc.target/arm/wmul-8.c: Correct types.
-
-2011-10-18 Jason Merrill <jason@redhat.com>
-
- PR c++/50531
- * g++.dg/cpp0x/defaulted32.C: New.
-
- PR c++/50742
- * g++.dg/lookup/using23.C: New.
-
- PR c++/50500
- * g++.dg/cpp0x/implicit12.C: New.
- * g++.dg/cpp0x/defaulted20.C: Adjust.
- * g++.dg/cpp0x/defaulted21.C: Adjust.
- * g++.dg/cpp0x/implicit-copy.C: Adjust.
- * g++.dg/cpp0x/implicit4.C: Adjust.
- * g++.dg/cpp0x/implicit5.C: Adjust.
- * g++.dg/cpp0x/implicit8.C: Adjust.
- * g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust.
- * g++.dg/cpp0x/not_special.C: Adjust.
- * g++.dg/cpp0x/rv-trivial-bug.C: Adjust.
- * g++.dg/cpp0x/rv1n.C: Adjust.
- * g++.dg/cpp0x/rv2n.C: Adjust.
- * g++.dg/cpp0x/rv3n.C: Adjust.
- * g++.dg/cpp0x/rv4n.C: Adjust.
- * g++.dg/cpp0x/rv5n.C: Adjust.
- * g++.dg/cpp0x/rv6n.C: Adjust.
- * g++.dg/cpp0x/rv7n.C: Adjust.
-
-2011-10-18 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/avx2-vpop-check.h: New header.
- * gcc.target/i386/avx2-vpaddd-3.c: New test.
- * gcc.target/i386/avx2-vpaddw-3.c: Ditto.
- * gcc.target/i386/avx2-vpaddb-3.c: Ditto.
- * gcc.target/i386/avx2-vpaddq-3.c: Ditto.
- * gcc.target/i386/avx2-vpand-3.c: Ditto.
- * gcc.target/i386/avx2-vpmulld-3.c: Ditto.
- * gcc.target/i386/avx2-vpmullw-3.c: Ditto.
- * gcc.target/i386/avx2-vpsrad-3.c: Ditto.
- * gcc.target/i386/avx2-vpsraw-3.c: Ditto.
- * gcc.target/i386/avx2-vpsrld-3.c: Ditto.
- * gcc.target/i386/avx2-vpsrlw-3.c: Ditto.
- * gcc.target/i386/avx2-vpsubb-3.c: Ditto.
- * gcc.target/i386/avx2-vpsubd-3.c: Ditto.
- * gcc.target/i386/avx2-vpsubq-3.c: Ditto.
- * gcc.target/i386/avx2-vpsubw-3.c: Ditto.
-
-2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/50420
- * gfortran.dg/coarray_subobject_1.f90: New test.
- * gfortran.dg/coarray/subobject_1.f90: New test.
-
-2011-10-18 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/50205
- * gcc.dg/pr50205.c: New.
-
-2011-10-18 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50767
- * gcc.dg/torture/pr50767.c: New testcase.
-
-2011-10-18 Julian Brown <julian@codesourcery.com>
-
- * lib/target-supports.exp (check_effective_target_arm_unaligned): New.
- * gcc.target/arm/unaligned-memcpy-1.c: New.
- * gcc.target/arm/unaligned-memcpy-2.c: New.
- * gcc.target/arm/unaligned-memcpy-3.c: New.
- * gcc.target/arm/unaligned-memcpy-4.c: New.
-
-2011-10-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- * gfortran.dg/iso_c_binding_class.f03: New.
-
-2011-10-18 Ira Rosen <ira.rosen@linaro.org>
-
- * testsuite/lib/target-supports.exp
- (check_effective_target_vect_widen_shift): New.
- * gcc.dg/vect/vect-widen-shift-s16.c: New.
- * gcc.dg/vect/vect-widen-shift-s8.c: New.
- * gcc.dg/vect/vect-widen-shift-u16.c: New.
- * gcc.dg/vect/vect-widen-shift-u8.c: New.
-
-2011-10-18 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/restrict-1.c: New testcase.
-
-2011-10-17 Michael Spertus <mike_spertus@symantec.com>
-
- * g++.dg/ext/bases.C: New test.
-
-2011-10-17 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/fand.c: Remove __LP64__ ifdefs and expect
- all operations to emit VIS instructions.
- * gcc.target/sparc/fandnot.c: Likewise.
- * gcc.target/sparc/fnot.c: Likewise.
- * gcc.target/sparc/for.c: Likewise.
- * gcc.target/sparc/fornot.c: Likewise.
- * gcc.target/sparc/fxnor.c: Likewise.
- * gcc.target/sparc/fxor.c: Likewise.
- * gcc.target/sparc/combined-1.c: Revert change to use -O2, no longer
- needed.
-
-2011-10-17 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.c-torture/execute/vshuf-v16hi.c: New test.
- * gcc.dg/torture/vshuf-16.inc: New file.
- * gcc.dg/torture/vshuf-2.inc: New file.
- * gcc.dg/torture/vshuf-32.inc: New file.
- * gcc.dg/torture/vshuf-4.inc: New file.
- * gcc.dg/torture/vshuf-8.inc: New file.
- * gcc.dg/torture/vshuf-main.inc: New file.
- * gcc.dg/torture/vshuf-v16hi.c: New test.
- * gcc.dg/torture/vshuf-v16qi.c: New test.
- * gcc.dg/torture/vshuf-v2df.c: New test.
- * gcc.dg/torture/vshuf-v2di.c: New test.
- * gcc.dg/torture/vshuf-v2sf.c: New test.
- * gcc.dg/torture/vshuf-v2si.c: New test.
- * gcc.dg/torture/vshuf-v32qi.c: New test.
- * gcc.dg/torture/vshuf-v4df.c: New test.
- * gcc.dg/torture/vshuf-v4di.c: New test.
- * gcc.dg/torture/vshuf-v4hi.c: New test.
- * gcc.dg/torture/vshuf-v4sf.c: New test.
- * gcc.dg/torture/vshuf-v4si.c: New test.
- * gcc.dg/torture/vshuf-v8hi.c: New test.
- * gcc.dg/torture/vshuf-v8qi.c: New test.
- * gcc.dg/torture/vshuf-v8sf.c: New test.
- * gcc.dg/torture/vshuf-v8si.c: New test.
-
-2011-10-17 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50746
- * gcc.dg/vect/vect-114.c: Remove vect_hw_misalign.
-
-2011-10-17 Jason Merrill <jason@redhat.com>
-
- PR c++/50736
- * g++.dg/cpp0x/lambda/lambda-capture-neg.C: New.
-
-2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44524
- * g++.dg/parse/error41.C: New.
- * g++.dg/parse/error20.C: Adjust.
-
-2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50757
- * g++.dg/warn/format7.C: New.
- * obj-c++.dg/warn7.mm: Likewise.
-
-2011-10-17 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50729
- * gcc.dg/torture/pr50729.c: New testcase.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * lib/prune.exp (prune_gcc_output): Prune output referring to
- included files.
- * gcc.dg/cpp/macro-exp-tracking-1.c: New test.
- * gcc.dg/cpp/macro-exp-tracking-2.c: Likewise.
- * gcc.dg/cpp/macro-exp-tracking-3.c: Likewise.
- * gcc.dg/cpp/pragma-diagnostic-2.c: Likewise.
-
-2011-10-15 Tom Tromey <tromey@redhat.com>
- Dodji Seketeli <dodji@redhat.com>
-
- * gcc.dg/cpp/pragma-diagnostic-1.c: New test.
-
-2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48489
- * g++.dg/inherit/error5.C: New.
-
-2011-10-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- PR fortran/50752
- * gfortran.dg/kind_tests_4.f90: New.
-
-2011-10-17 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-21.c: Expect the loops to get vectorized on
- targets that support vector condition.
-
-2011-10-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47023
- * gfortran.dg/c_kind_tests_3.f03: New.
-
-2011-10-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50547
- * gfortran.dg/elemental_args_check_4.f90: New.
-
-2011-10-16 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50727
- * gcc.dg/vect/pr50727.c: New test.
-
-2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/vla-23.c: New test.
-
-2011-10-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50596
- * gcc.dg/vect/vect-cond-9.c: New test.
-
-2011-10-16 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/bb-slp-29.c: New test.
-
-2011-10-15 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50732
- * g++.dg/ext/is_base_of_incomplete.C: New.
- * g++.dg/ext/is_base_of_diagnostic.C: Adjust dg-errors.
- * g++.dg/ext/unary_trait_incomplete.C: Likewise.
-
-2011-10-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.target/sparc/combined-1.c: Compile at -O2.
-
-2011-10-15 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/fma_float_?.c (dg-prune_output): Remove.
- (dg-options): Add -Wno-attributes.
- * gcc.target/i386/fma_double_?.c: Ditto.
- * gcc.target/i386/fma_run_float_?.c: Ditto.
- * gcc.target/i386/fma_run_double_?.c: Ditto.
- * gcc.target/i386/l_fma_float_?.c: Dtto.
- * gcc.target/i386/l_fma_double_?.c: Ditto.
- * gcc.target/i386/l_fma_run_float_?.c: Ditto.
- * gcc.target/i386/l_fma_run_double_?.c: Ditto.
-
-2011-10-15 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/bind_c_usage_23.f90: Change TR 29113 to TS 29113 in
- the comments.
- * gfortran.dg/bind_c_usage_24.f90: Ditto.
- * gfortran.dg/rank_3.f90: Ditto.
- * gfortran.dg/bind_c_usage_22.f90: Ditto, change -std=f2008tr to
- -std=f2008ts in dg-options.
- * gfortran.dg/rank_4.f90: Ditto.
-
-2011-10-15 Oleg Endo <oleg.endo@t-online.de>
-
- PR target/49263
- * gcc.target/sh/pr49263.c: New.
-
-2011-10-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/debug1.ads: Tweak.
-
-2011-10-14 Kai Tietz <ktietz@redhat.com>
-
- * gfortran.fortran-torture/compile/logical-2.f90: New test.
-
-2011-10-14 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/sse2-mul-1.c: New test.
- * gcc.target/i386/sse4_1-mul-1.c: New test.
- * gcc.target/i386/avx-mul-1.c: New test.
- * gcc.target/i386/xop-mul-1.c: New test.
- * gcc.target/i386/avx2-mul-1.c: New test.
-
-2011-10-14 Jason Merrill <jason@redhat.com>
-
- PR c++/50563
- * g++.dg/cpp0x/nsdmi-list1.C: New.
-
- PR c++/50707
- * g++.dg/cpp0x/nsdmi-const1.C: New.
-
-2011-10-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50570
- * gfortran.dg/pointer_intent_5.f90: New.
-
-2011-10-14 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * gcc.target/i386/warn-vect-op-3.c: Exclude 32-bit architectures.
- * gcc.target/i386/warn-vect-op-1.c: Ditto.
- * gcc.target/i386/warn-vect-op-2.c: Ditto.
-
-2011-10-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50718
- * gfortran.dg/pointer_check_11.f90: New.
- * gfortran.dg/pointer_check_12.f90: New.
-
-2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/38174
- * g++.dg/overload/operator4.C: New.
-
-2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
-
- * gcc.dg/di-longlong64-sync-1.c: New test.
- * gcc.dg/di-sync-multithread.c: New test.
- * gcc.target/arm/di-longlong64-sync-withhelpers.c: New test.
- * gcc.target/arm/di-longlong64-sync-withldrexd.c: New test.
- * lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target
- tests for v5, v6, v6k, and v7-a, and add-options helpers.
- (check_effective_target_arm_arm_ok): New helper.
- (check_effective_target_sync_longlong): New helper.
-
-2011-10-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50723
- * gcc.dg/torture/pr50723.c: New testcase.
-
-2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/17212
- * g++.dg/warn/format6.C: New.
- * obj-c++.dg/warn6.mm: Likewise.
-
-2011-10-13 Richard Henderson <rth@redhat.com>
-
- * lib/target-supports.exp (check_effective_target_vect_shift_scalar):
- Delete.
- * gcc.dg/vect/vec-scal-opt.c: Don't test vect_shift_scalar.
- * gcc.dg/vect/vec-scal-opt1.c: Likewise.
- * gcc.dg/vect/vec-scal-opt2.c: Likewise.
-
-2011-10-13 Jason Merrill <jason@redhat.com>
-
- PR c++/50614
- * g++.dg/cpp0x/nsdmi-template2.C: New.
-
- PR c++/50437
- * g++.dg/cpp0x/lambda/lambda-auto1.C: New.
-
- PR c++/50618
- * g++.dg/init/vbase1.C: New.
-
-2011-10-13 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/sse4_1-phminposuw-2.c: New test.
- * gcc.target/i386/sse4_1-phminposuw-3.c: New test.
- * gcc.target/i386/avx-vphminposuw-2.c: New test.
- * gcc.target/i386/avx-vphminposuw-3.c: New test.
-
-2011-10-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr50712.c: Check ia32 instead of ilp32.
-
-2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/builtins-67.c: Guard iround and irint with HAVE_C99_RUNTIME.
-
-2011-10-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50712
- * gcc.target/i386/pr50712.c: New testcase.
-
-2011-10-13 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/memcpy-4.c: New test.
-
-2011-10-13 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50698
- * g++.dg/vect/pr50698.cc: New testcase.
-
-2011-10-12 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/powerpc/warn-1.c: Skip if not powerpc_vsx_ok.
- * gcc.target/powerpc/warn-2.c: Ditto.
-
- * gcc.target/powerpc/ppc-fma-3.c: Require powerpc_fprs.
- * gcc.target/powerpc/ppc-fma-4.c: Likewise.
- * gcc.target/powerpc/ppc-fma-5.c: Likewise.
- * gcc.target/powerpc/ppc-fma-7.c: Likewise.
- * gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
- * gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
- * gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
- * gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
- * gcc.target/powerpc/ppc-pow.c: Likewise.
- * gcc.target/powerpc/recip-1.c: Likewise.
- * gcc.target/powerpc/recip-2.c: Likewise.
- * gcc.target/powerpc/recip-3.c: Likewise.
- * gcc.target/powerpc/recip-4.c: Likewise.
- * gcc.target/powerpc/recip-5.c: Likewise.
-
-2011-10-12 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/cmask.c: Remove 'vis3' target check and specify
- '-mvis3' instead of 'mcpu=niagara3' in options.
- * gcc.target/sparc/fhalve.c: Likewise.
- * gcc.target/sparc/fnegop.c: Likewise.
- * gcc.target/sparc/fpadds.c: Likewise.
- * gcc.target/sparc/fshift.c: Likewise.
- * gcc.target/sparc/fucmp.c: Likewise.
- * gcc.target/sparc/lzd.c: Likewise.
- * gcc.target/sparc/vis3misc.c: Likewise.
- * gcc.target/sparc/xmul.c: Likewise.
-
-2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/vect1.ad[sb]: New test.
- * gnat.dg/vect1_pkg.ads: New helper.
- * gnat.dg/vect2.ad[sb]: New test.
- * gnat.dg/vect2_pkg.ads: New helper.
- * gnat.dg/vect3.ad[sb]: New test.
- * gnat.dg/vect3_pkg.ads: New helper.
- * gnat.dg/vect4.ad[sb]: New test.
- * gnat.dg/vect4_pkg.ads: New helper.
- * gnat.dg/vect5.ad[sb]: New test.
- * gnat.dg/vect5_pkg.ads: New helper.
- * gnat.dg/vect6.ad[sb]: New test.
- * gnat.dg/vect6_pkg.ads: New helper.
-
-2011-10-12 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/fma_run_double_1.c: Add -mfpmath=sse.
- * gcc.target/i386/fma_run_double_2.c: Likewise.
- * gcc.target/i386/fma_run_double_3.c: Likewise.
- * gcc.target/i386/fma_run_double_4.c: Likewise.
- * gcc.target/i386/fma_run_double_5.c: Likewise.
- * gcc.target/i386/fma_run_double_6.c: Likewise.
- * gcc.target/i386/fma_run_float_1.c: Likewise.
- * gcc.target/i386/fma_run_float_2.c: Likewise.
- * gcc.target/i386/fma_run_float_3.c: Likewise.
- * gcc.target/i386/fma_run_float_4.c: Likewise.
- * gcc.target/i386/fma_run_float_5.c: Likewise.
- * gcc.target/i386/fma_run_float_6.c: Likewise.
-
- * gcc.target/i386/l_fma_double_1.c: Add -mtune=generic and
- remove the extra dg-options.
- * gcc.target/i386/l_fma_double_2.c: Likewise.
- * gcc.target/i386/l_fma_double_3.c: Likewise.
- * gcc.target/i386/l_fma_double_4.c: Likewise.
- * gcc.target/i386/l_fma_double_5.c: Likewise.
- * gcc.target/i386/l_fma_double_6.c: Likewise.
- * gcc.target/i386/l_fma_float_1.c: Likewise.
- * gcc.target/i386/l_fma_float_2.c: Likewise.
- * gcc.target/i386/l_fma_float_3.c: Likewise.
- * gcc.target/i386/l_fma_float_4.c: Likewise.
- * gcc.target/i386/l_fma_float_5.c: Likewise.
- * gcc.target/i386/l_fma_float_6.c: Likewise.
-
-2011-10-12 Paul Koning <pkoning@gcc.gnu.org>
-
- PR tree-optimization/50189
- * g++.dg/torture/pr50189.C: New testcase.
-
-2011-10-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50700
- * gcc.dg/builtin-object-size-12.c: New testcase.
-
-2011-10-12 Joseph Myers <joseph@codesourcery.com>
-
- PR c/50565
- * gcc.c-torture/compile/pr50565-1.c,
- gcc.c-torture/compile/pr50565-2.c: New tests.
-
-2011-10-11 Jason Merrill <jason@redhat.com>
-
- PR c++/49855
- PR c++/49896
- * g++.dg/template/constant1.C: New.
- * g++.dg/template/constant2.C: New.
- * g++.dg/cpp0x/constexpr-template3.C: New.
-
-2011-10-11 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * gcc.target/i386/warn-vect-op-3.c: New test.
- * gcc.target/i386/warn-vect-op-1.c: New test.
- * gcc.target/i386/warn-vect-op-2.c: New test.
-
-2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/pr49994-3.c: Add -mbackchain for s390 and s390x.
-
-2011-10-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50204
- * gcc.dg/tree-ssa/ssa-fre-36.c: New testcase.
-
-2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.target/s390/20090223-1.c: Add -Wno-attributes.
-
-2011-10-11 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/fma_double_1.c: Add -mfpmath=sse.
- * gcc.target/i386/fma_double_2.c: Ditto.
- * gcc.target/i386/fma_double_3.c: Ditto.
- * gcc.target/i386/fma_double_4.c: Ditto.
- * gcc.target/i386/fma_double_5.c: Ditto.
- * gcc.target/i386/fma_double_6.c: Ditto.
- * gcc.target/i386/fma_float_1.c: Ditto.
- * gcc.target/i386/fma_float_2.c: Ditto.
- * gcc.target/i386/fma_float_3.c: Ditto.
- * gcc.target/i386/fma_float_4.c: Ditto.
- * gcc.target/i386/fma_float_5.c: Ditto.
- * gcc.target/i386/fma_float_6.c: Ditto.
- * gcc.target/i386/l_fma_double_1.c: Ditto.
- * gcc.target/i386/l_fma_double_2.c: Ditto.
- * gcc.target/i386/l_fma_double_3.c: Ditto.
- * gcc.target/i386/l_fma_double_4.c: Ditto.
- * gcc.target/i386/l_fma_double_5.c: Ditto.
- * gcc.target/i386/l_fma_double_6.c: Ditto.
- * gcc.target/i386/l_fma_float_1.c: Ditto.
- * gcc.target/i386/l_fma_float_2.c: Ditto.
- * gcc.target/i386/l_fma_float_3.c: Ditto.
- * gcc.target/i386/l_fma_float_4.c: Ditto.
- * gcc.target/i386/l_fma_float_5.c: Ditto.
- * gcc.target/i386/l_fma_float_6.c: Ditto.
- * gcc.target/i386/l_fma_run_double_1.c: Ditto.
- * gcc.target/i386/l_fma_run_double_2.c: Ditto.
- * gcc.target/i386/l_fma_run_double_3.c: Ditto.
- * gcc.target/i386/l_fma_run_double_4.c: Ditto.
- * gcc.target/i386/l_fma_run_double_5.c: Ditto.
- * gcc.target/i386/l_fma_run_double_6.c: Ditto.
- * gcc.target/i386/l_fma_run_float_1.c: Ditto.
- * gcc.target/i386/l_fma_run_float_2.c: Ditto.
- * gcc.target/i386/l_fma_run_float_3.c: Ditto.
- * gcc.target/i386/l_fma_run_float_4.c: Ditto.
- * gcc.target/i386/l_fma_run_float_5.c: Ditto.
- * gcc.target/i386/l_fma_run_float_6.c: Ditto.
-
-2011-10-11 Tristan Gingold <gingold@adacore.com>
-
- * gcc.dg/va-arg-4.c: New test.
- * gcc.dg/va-arg-5.c: Ditto.
-
-2011-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/target-supports.exp (check_effective_target_fd_truncate):
- Close and unlink test file before exit.
-
-2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50564
- * gfortran.dg/forall_15.f90: New test case.
-
-2011-10-10 Aldy Hernandez <aldyh@redhat.com>
- Andrew Macleod <amacleod@redhat.com>
-
- * gcc.dg/simulate-thread/simulate-thread.gdb: Call
- wrappers for *other_threads() and *final_verify().
- * gcc.dg/simulate-thread/simulate-thread.h
- (simulate_thread_wrapper_other_threads): New.
- (simulate_thread_wrapper_final_verify): New.
-
-2011-10-10 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/gcc-gdb-test.exp (gdb-test): Delete $cmd_file before return.
-
-2011-10-10 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/graphite/id-pr46845.c: Include powerpc for warning options.
-
-2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
- Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
-
- * gcc.target/i386/fma_1.h: New file.
- * gcc.target/i386/fma_2.h: Likewise.
- * gcc.target/i386/fma_3.h: Likewise.
- * gcc.target/i386/fma_4.h: Likewise.
- * gcc.target/i386/fma_5.h: Likewise.
- * gcc.target/i386/fma_6.h: Likewise.
- * gcc.target/i386/fma_double_1.c: Likewise.
- * gcc.target/i386/fma_double_2.c: Likewise.
- * gcc.target/i386/fma_double_3.c: Likewise.
- * gcc.target/i386/fma_double_4.c: Likewise.
- * gcc.target/i386/fma_double_5.c: Likewise.
- * gcc.target/i386/fma_double_6.c: Likewise.
- * gcc.target/i386/fma_float_1.c: Likewise.
- * gcc.target/i386/fma_float_2.c: Likewise.
- * gcc.target/i386/fma_float_3.c: Likewise.
- * gcc.target/i386/fma_float_4.c: Likewise.
- * gcc.target/i386/fma_float_5.c: Likewise.
- * gcc.target/i386/fma_float_6.c: Likewise.
- * gcc.target/i386/fma_main.h: Likewise.
- * gcc.target/i386/fma_run_double_1.c: Likewise.
- * gcc.target/i386/fma_run_double_2.c: Likewise.
- * gcc.target/i386/fma_run_double_3.c: Likewise.
- * gcc.target/i386/fma_run_double_4.c: Likewise.
- * gcc.target/i386/fma_run_double_5.c: Likewise.
- * gcc.target/i386/fma_run_double_6.c: Likewise.
- * gcc.target/i386/fma_run_double_results_1.h: Likewise.
- * gcc.target/i386/fma_run_double_results_2.h: Likewise.
- * gcc.target/i386/fma_run_double_results_3.h: Likewise.
- * gcc.target/i386/fma_run_double_results_4.h: Likewise.
- * gcc.target/i386/fma_run_double_results_5.h: Likewise.
- * gcc.target/i386/fma_run_double_results_6.h: Likewise.
- * gcc.target/i386/fma_run_float_1.c: Likewise.
- * gcc.target/i386/fma_run_float_2.c: Likewise.
- * gcc.target/i386/fma_run_float_3.c: Likewise.
- * gcc.target/i386/fma_run_float_4.c: Likewise.
- * gcc.target/i386/fma_run_float_5.c: Likewise.
- * gcc.target/i386/fma_run_float_6.c: Likewise.
- * gcc.target/i386/fma_run_float_results_1.h: Likewise.
- * gcc.target/i386/fma_run_float_results_2.h: Likewise.
- * gcc.target/i386/fma_run_float_results_3.h: Likewise.
- * gcc.target/i386/fma_run_float_results_4.h: Likewise.
- * gcc.target/i386/fma_run_float_results_5.h: Likewise.
- * gcc.target/i386/fma_run_float_results_6.h: Likewise.
- * gcc.target/i386/l_fma_1.h: Likewise.
- * gcc.target/i386/l_fma_2.h: Likewise.
- * gcc.target/i386/l_fma_3.h: Likewise.
- * gcc.target/i386/l_fma_4.h: Likewise.
- * gcc.target/i386/l_fma_5.h: Likewise.
- * gcc.target/i386/l_fma_6.h: Likewise.
- * gcc.target/i386/l_fma_double_1.c: Likewise.
- * gcc.target/i386/l_fma_double_2.c: Likewise.
- * gcc.target/i386/l_fma_double_3.c: Likewise.
- * gcc.target/i386/l_fma_double_4.c: Likewise.
- * gcc.target/i386/l_fma_double_5.c: Likewise.
- * gcc.target/i386/l_fma_double_6.c: Likewise.
- * gcc.target/i386/l_fma_float_1.c: Likewise.
- * gcc.target/i386/l_fma_float_2.c: Likewise.
- * gcc.target/i386/l_fma_float_3.c: Likewise.
- * gcc.target/i386/l_fma_float_4.c: Likewise.
- * gcc.target/i386/l_fma_float_5.c: Likewise.
- * gcc.target/i386/l_fma_float_6.c: Likewise.
- * gcc.target/i386/l_fma_main.h: Likewise.
- * gcc.target/i386/l_fma_run_double_1.c: Likewise.
- * gcc.target/i386/l_fma_run_double_2.c: Likewise.
- * gcc.target/i386/l_fma_run_double_3.c: Likewise.
- * gcc.target/i386/l_fma_run_double_4.c: Likewise.
- * gcc.target/i386/l_fma_run_double_5.c: Likewise.
- * gcc.target/i386/l_fma_run_double_6.c: Likewise.
- * gcc.target/i386/l_fma_run_float_1.c: Likewise.
- * gcc.target/i386/l_fma_run_float_2.c: Likewise.
- * gcc.target/i386/l_fma_run_float_3.c: Likewise.
- * gcc.target/i386/l_fma_run_float_4.c: Likewise.
- * gcc.target/i386/l_fma_run_float_5.c: Likewise.
- * gcc.target/i386/l_fma_run_float_6.c: Likewise.
-
-2011-10-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50389
- * gcc.dg/torture/pr50389.c: New testcase.
-
-2011-10-10 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50195
- * gcc.dg/builtins-47.c: Optimize.
-
-2011-10-10 Aldy Hernandez <aldyh@redhat.com>
-
- * lib/gcc-simulate-thread.exp: New.
- * gcc.dg/simulate-thread/guality.h: New.
- * gcc.dg/simulate-thread/simulate-thread.h: New.
- * gcc.dg/simulate-thread/simulate-thread.exp: New.
- * gcc.dg/simulate-thread/simulate-thread.gdb: New.
- * gcc.dg/simulate-thread/README: New.
- * g++.dg/simulate-thread/guality.h: New.
- * g++.dg/simulate-thread/simulate-thread.h: New.
- * g++.dg/simulate-thread/simulate-thread.exp: New.
- * g++.dg/simulate-thread/simulate-thread.gdb: New.
- * c-c++-common/cxxbitfields-2.c: Remove.
- * c-c++-common/cxxbitfields.c: Remove.
- * c-c++-common/cxxbitfields-4.c: Remove.
- * c-c++-common/cxxbitfields-5.c: Remove.
- * c-c++-common/simulate-thread/bitfields-1.c: New.
- * c-c++-common/simulate-thread/bitfields-2.c: New.
- * c-c++-common/simulate-thread/bitfields-3.c: New.
- * c-c++-common/simulate-thread/bitfields-4.c: New.
-
-2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/38980
- * g++.dg/warn/format5.C: New.
-
-2011-10-09 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50273
- * gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
- * gfortran.dg/common_16.f90: New.
-
-2011-10-09 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/iso_c_binding_param_1.f90: New.
- * gfortran.dg/iso_c_binding_param_2.f90: New.
- * gfortran.dg/c_sizeof_2.f90: Update dg-error.
-
-2011-10-09 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50635
- * gcc.dg/vect/pr50635.c: New test.
-
-2011-10-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50659
- * gfortran.dg/proc_decl_27.f90: New.
-
-2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR libobjc/50428
- * objc/execute/initialize-1.m: New test.
-
-2011-10-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47844
- * gfortran.dg/pointer_function_result_1.f90 : New test.
-
-2011-10-07 David S. Miller <davem@davemloft.net>
-
- PR 50655
- * gcc.target/sparc/sparc.exp: Add vis3 target test.
- * gcc.target/sparc/cmask.c: Use it.
- * gcc.target/sparc/fhalve.c: Likewise.
- * gcc.target/sparc/fnegop.c: Likewise.
- * gcc.target/sparc/fpadds.c: Likewise.
- * gcc.target/sparc/fshift.c: Likewise.
- * gcc.target/sparc/fucmp.c: Likewise.
- * gcc.target/sparc/lzd.c: Likewise.
- * gcc.target/sparc/vis3misc.c: Likewise.
- * gcc.target/sparc/xmul.c: Likewise.
-
-2011-10-07 Richard Henderson <rth@redhat.com>
-
- * gcc.target/i386/avx256-unaligned-load-2.c: Tweek vinsert pattern
- match for avx2.
- * gcc.target/i386/avx256-unaligned-store-2.c: Similarly.
-
-2011-10-07 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.dg/pr50193-1.c: New file.
- * gcc.target/arm/shiftable.c: New file.
-
-2011-10-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50625
- * gfortran.dg/class_46.f03: New.
-
-2011-10-06 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
- (__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME.
- (syslog, vsyslog, __vsyslog_chk): Likewise.
-
- * gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define.
- (x, EXT_x): Use ASMNAME.
-
- * gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define.
- (a, c): Use ASMNAME.
-
-2011-10-07 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/50527
- * gcc.dg/pr50527.c: New test.
-
-2011-10-07 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50650
- * gcc.c-torture/compile/pr50650.c: New test.
-
-2011-10-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/50575
- * gcc.c-torture/execute/vector-compare-2.x: New file.
-
-2011-10-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR middle-end/50125
- * gcc.dg/uninit-B.c (baz): Remove xfail *-*-*.
- * gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*.
- (bar3): Likewise.
-
-2011-10-07 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/50637
- * gcc.dg/vect/vect-align-2.c: Increase array size.
-
-2011-10-07 Uros Bizjak <ubizjak@gmail.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/50603
- * gcc.target/i386/pr50603.c: New test.
-
-2011-10-06 Jason Merrill <jason@redhat.com>
-
- PR c++/39164
- * g++.dg/cpp0x/default31.C: New.
-
-2011-10-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50596
- * lib/target-supports.exp (check_effective_target_vect_cond_mixed):
- New.
- * gcc.dg/vect/vect-cond-8.c: New test.
-
-2011-10-06 Richard Henderson <rth@redhat.com>
-
- * gcc.c-torture/execute/vect-shuffle-1.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-2.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-3.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-4.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-5.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-6.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-7.c: Remove.
- * gcc.c-torture/execute/vect-shuffle-8.c: Remove.
- * gcc.c-torture/execute/vshuf-16.inc: New file.
- * gcc.c-torture/execute/vshuf-2.inc: New file.
- * gcc.c-torture/execute/vshuf-4.inc: New file.
- * gcc.c-torture/execute/vshuf-8.inc: New file.
- * gcc.c-torture/execute/vshuf-main.inc: New file.
- * gcc.c-torture/execute/vshuf-v16qi.c: New test.
- * gcc.c-torture/execute/vshuf-v2df.c: New test.
- * gcc.c-torture/execute/vshuf-v2di.c: New test.
- * gcc.c-torture/execute/vshuf-v2sf.c: New test.
- * gcc.c-torture/execute/vshuf-v2si.c: New test.
- * gcc.c-torture/execute/vshuf-v4df.c: New test.
- * gcc.c-torture/execute/vshuf-v4di.c: New test.
- * gcc.c-torture/execute/vshuf-v4hi.c: New test.
- * gcc.c-torture/execute/vshuf-v4sf.c: New test.
- * gcc.c-torture/execute/vshuf-v4si.c: New test.
- * gcc.c-torture/execute/vshuf-v8hi.c: New test.
- * gcc.c-torture/execute/vshuf-v8qi.c: New test.
- * gcc.c-torture/execute/vshuf-v8si.c: New test.
-
-2011-10-06 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49279
- * gcc.dg/tree-ssa/restrict-4.c: XFAIL.
- * gcc.c-torture/execute/pr49279.c: New test.
-
-2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/49049
- * gcc.c-torture/compile/pr49049.c: New test.
-
-2011-10-06 Ulrich Weigand <ulrich.weigand@linaro.org>
-
- PR target/50305
- * gcc.target/arm/pr50305.c: New test.
-
-2011-10-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/38884
- * gcc.dg/tree-ssa/ssa-fre-34.c: New testcase.
- * gcc.dg/tree-ssa/ssa-fre-35.c: Likewise.
-
-2011-10-05 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/lzd.c: New test.
- * gcc.target/sparc/popc.c: New test.
-
-2011-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
- * gcc.dg/ipa/inline-5.c: Cleanup inline ipa dump.
- * g++.dg/other/final1.C: Cleanup original tree dump.
-
-2011-10-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50613
- * gcc.dg/pr50613.c: New test.
-
-2011-10-05 Richard Henderson <rth@redhat.com>
-
- * gcc.c-torture/execute/vect-shuffle-1.c: Rewrite.
- * gcc.c-torture/execute/vect-shuffle-2.c: Rewrite.
- * gcc.c-torture/execute/vect-shuffle-3.c: Rewrite.
- * gcc.c-torture/execute/vect-shuffle-4.c: Rewrite.
- * gcc.c-torture/execute/vect-shuffle-5.c: Rewrite.
- * gcc.c-torture/execute/vect-shuffle-6.c: New test.
- * gcc.c-torture/execute/vect-shuffle-7.c: New test.
- * gcc.c-torture/execute/vect-shuffle-8.c: New test.
-
-2011-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
- DEFAULT_VECTFLAGS initialization. Append "-fdump-tree-veclower2".
- * gcc.dg/vect/vec-scal-opt.c: Scan and cleanup veclower2 tree dump.
- * gcc.dg/vect/vec-scal-opt1.c: Ditto.
- * gcc.dg/vect/vec-scal-opt2.c: Ditto.
-
-2011-10-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/38885
- * gcc.dg/tree-ssa/ssa-fre-33.c: New testcase.
-
-2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.target/i386/sw-1.c: New test.
-
-2011-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
- -mtune=generic.
- * gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.
-
-2011-10-05 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee.
-
-2011-10-04 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/fhalve.c: New test.
- * gcc.target/sparc/fnegop.c: New test.
- * gcc.target/sparc/xmul.c: New test.
-
-2011-10-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/35831
- * gfortran.dg/dummy_procedure_6.f90: New.
-
-2011-10-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50604
- * gcc.dg/pr50604.c: New test.
-
-2011-10-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/49662
- * gcc.dg/graphite/interchange-14.c: Remove xfail *-*-*.
- * gcc.dg/graphite/interchange-15.c: Likewise.
- * gcc.dg/graphite/interchange-mvt.c: Likewise.
-
-2011-10-04 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/tree-ssa/restrict-4.c: New test.
-
-2011-10-04 Artem Shinkarov <artyom.shinkaroff@gmail.com>
-
- * gcc.c-torture/execute/vector-compare-1.c: Fix trailing white spaces.
- (main): Use __typeof to get result type of comparison.
-
-2011-10-04 Ira Rosen <ira.rosen@linaro.org>
-
- * lib/target-supports.exp (check_effective_target_vect_multiple_sizes):
- Make et_vect_multiple_sizes_saved global.
- (check_effective_target_vect64): Make et_vect64_saved global.
-
-2011-10-03 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * gcc.c-torture/execute/vect-shuffle-2.c: New test.
- * gcc.c-torture/execute/vect-shuffle-4.c: New test.
- * gcc.c-torture/execute/vect-shuffle-1.c: New test.
- * gcc.dg/builtin-complex-err-1.c: Adjust.
-
-2011-10-02 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/range-for22.C: New.
-
- * g++.dg/cpp0x/variadic65.C: Remove xfails.
- * g++.dg/cpp0x/variadic82.C: Remove xfails.
- * g++.dg/cpp0x/variadic83.C: Remove xfails.
- * g++.dg/cpp0x/variadic105.C: Remove xfails.
-
- * g++.dg/cpp0x/nsdmi5.C: New.
-
-2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/50579
- * gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p):
- New procedures.
- (mips-dg-options): Force an ABI option if the current ABI is
- incompatible with the required -mlong setting. Likewise force
- a long setting if the current one is incompatible with the
- chosen ABI. Keep abi_test_option_p, abi and eabi_p updated
- throughout procedure.
- * gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls
- instead of addressing=absolute.
-
-2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/stack-1.c: New test.
-
-2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/pr49696.c: New test.
-
-2011-10-02 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/ctor-empty-1.c: Update dump file.
-
-2011-10-01 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/cmask.c: New test.
- * gcc.target/sparc/fpadds.c: New test.
- * gcc.target/sparc/fshift.c: New test.
- * gcc.target/sparc/fucmp.c: New test.
- * gcc.target/sparc/vis3misc.c: New test.
-
-2011-10-01 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50585
- * gfortran.dg/assumed_charlen_arg_2.f90: New.
-
-2011-09-30 Janis Johnson <janisjo@codesourcery.com>
-
- PR c++/44473
- * g++.dg/dfp/44473-1.C: New test.
- * g++.dg/dfp/44473-2.C: New test.
- * g++.dg/dfp/mangle-1.C: New test.
- * g++.dg/dfp/mangle-2.C: New test.
- * g++.dg/dfp/mangle-3.C: New test.
- * g++.dg/dfp/mangle-4.C: New test.
- * g++.dg/dfp/mangle-5.C: New test.
-
-2011-09-30 Jakub Jelinek <jakub@redhat.com>
-
- PR inline-asm/50571
- * gcc.dg/pr50571.c: New test.
-
- PR tree-optimization/46309
- * gcc.dg/pr46309.c: New test.
-
-2011-09-30 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/strlenopt-21.c: New test.
-
-2011-09-30 Revital Eres <revital.eres@linaro.org>
-
- * gcc.dg/sms-10.c: New file.
-
-2011-09-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/pr50099.c: New test.
-
-2011-09-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
-
- * gcc.target/arm/pr42835.c: Add -fno-tree-tail-merge.
-
-2011-09-30 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/bmaskbshuf.c: New test.
- * gcc.target/sparc/edgen.c: New test.
-
-2011-09-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50547
- * gfortran.dg/pure_formal_proc_3.f90: New.
-
- PR fortran/50553
- * gfortran.dg/stfunc_7.f90: New.
-
-2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
-
- * gcc.c-torture/execute/vector-compare-1.c: New testcase.
- * gcc.c-torture/execute/vector-compare-2.c: Likewise.
- * gcc.dg/vector-compare-1.c: Likewise.
- * gcc.dg/vector-compare-2.c: Likewise.
-
-2011-09-29 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/array.c: New test.
-
-2011-09-29 Jiangning Liu <jiangning.liu@arm.com>
-
- * gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c: Explicitly turn on
- loop unroll and set max unroll times to 8.
- * gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c: Likewise.
- * gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c: Likewise.
- * gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c: Likewise.
- * gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c: Likewise.
-
-2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/40145
- * g++.dg/ext/visibility/warn5.C: New.
-
-2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/45278
- * g++.dg/warn/Wextra-3.C: New.
-
-2011-09-28 Oleg Endo <oleg.endo@t-online.de>
-
- PR target/49486
- * gcc.target/sh/pr49468-si.c: New.
-
-2011-09-28 Tom de Vries <tom@codesourcery.com>
-
- PR testsuite/50485
- * gcc.target/i386/sse4_1-blendps.c: Include <stdlib.h>.
- (TEST): Initialize src3 with random floats.
- * gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove field i
- from union src3. Initialize src3 with random floats.
-
-2011-09-27 Oleg Endo <oleg.endo@t-online.de>
-
- * gcc.target/sh/mfmovd.c: Extend list of supported targets.
- * gcc.target/sh/struct-arg-dw2.c: Fix typo.
- * gcc.target/sh/sh4a-sincos.c: Make test SH4A only.
- * gcc.target/sh/sh4a-sincosf.c: Ditto.
- * gcc.target/sh/sh4a-cos.c: Ditto.
- * gcc.target/sh/sh4a-cosf.c: Ditto.
- * gcc.target/sh/sh4a-sin.c: Ditto.
- * gcc.target/sh/sh4a-sinf.c: Ditto.
- * gcc.target/sh/sh4a-fsrra.c: Ditto.
- * gcc.target/sh/sh4a-memmovua.c: Ditto.
- * gcc.target/sh/sh4a-bitmovua.c: Ditto.
-
-2011-09-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/31489
- * g++.dg/parse/error40.C: New.
- * g++.dg/warn/incomplete1.C: Adjust.
-
-2011-09-27 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49463
- * gcc.c-torture/execute/builtins/strstr-asm-lib.c (my_strstr):
- Mark used.
-
-2011-09-27 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/strlenopt-1.c: New test.
- * gcc.dg/strlenopt-1f.c: New test.
- * gcc.dg/strlenopt-2.c: New test.
- * gcc.dg/strlenopt-2f.c: New test.
- * gcc.dg/strlenopt-3.c: New test.
- * gcc.dg/strlenopt-4.c: New test.
- * gcc.dg/strlenopt-4g.c: New test.
- * gcc.dg/strlenopt-4gf.c: New test.
- * gcc.dg/strlenopt-5.c: New test.
- * gcc.dg/strlenopt-6.c: New test.
- * gcc.dg/strlenopt-7.c: New test.
- * gcc.dg/strlenopt-8.c: New test.
- * gcc.dg/strlenopt-9.c: New test.
- * gcc.dg/strlenopt-10.c: New test.
- * gcc.dg/strlenopt-11.c: New test.
- * gcc.dg/strlenopt-12.c: New test.
- * gcc.dg/strlenopt-12g.c: New test.
- * gcc.dg/strlenopt-13.c: New test.
- * gcc.dg/strlenopt-14g.c: New test.
- * gcc.dg/strlenopt-14gf.c: New test.
- * gcc.dg/strlenopt-15.c: New test.
- * gcc.dg/strlenopt-16g.c: New test.
- * gcc.dg/strlenopt-17g.c: New test.
- * gcc.dg/strlenopt-18g.c: New test.
- * gcc.dg/strlenopt.h: New file.
-
-2011-09-27 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/43864
- * gcc.dg/fold-compare-2.c (dg-options): Add -fno-tree-tail-merge.
- * gcc/testsuite/gcc.dg/uninit-pred-2_c.c: Same.
- * gcc.dg/pr43864.c: New test.
- * gcc.dg/pr43864-2.c: Same.
- * gcc.dg/pr43864-3.c: Same.
- * gcc.dg/pr43864-4.c: Same.
-
-2011-09-27 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/inline-5.c: New testcase.
-
-2011-09-27 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/bb-slp-11.c: Expect to get vectorized with 64-bit
- vectors.
- * gcc.dg/vect/bb-slp-27.c: New.
- * gcc.dg/vect/bb-slp-28.c: New.
-
-2011-09-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * testsuite/lib/target-supports.exp (check_profiling_available):
- Don't rely solely on TLS tests for -fprofile-generate, fall
- through to the other code.
-
-2011-09-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50363
- * gcc.dg/torture/pr50363.c: New testcase.
-
-2011-09-26 Jason Merrill <jason@redhat.com>
-
- PR c++/45012
- * g++.dg/template/partial13.C: New.
-
- PR c++/46105
- * g++.dg/template/partial12.C: New.
-
- PR c++/50508
- * g++.dg/cpp0x/constexpr-typedef1.C: New.
-
-2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/45487
- * g++.dg/diagnostic/bindings1.C: New.
- * g++.old-deja/g++.pt/memtemp77.C: Adjust.
-
-2011-09-26 David S. Miller <davem@davemloft.net>
-
- * gcc.target/sparc/wrgsr.c: New test.
- * gcc.target/sparc/rdgsr.c: New test.
- * gcc.target/sparc/edge.c: New test.
- * gcc.target/sparc/fcmp.c: New test.
-
- * gcc.target/sparc/edge.c: Update for new return types.
- * gcc.target/sparc/fcmp.c: Likewise.
-
- * gcc.target/sparc/fpaddsubi.c: New test.
-
-2011-09-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50515
- * gfortran.dg/common_15.f90: New.
-
- PR fortran/50517
- * gfortran.dg/dummy_procedure_5.f90: New.
- * gfortran.dg/interface_26.f90: Modified error message.
- * gfortran.dg/proc_ptr_11.f90: Ditto.
- * gfortran.dg/proc_ptr_15.f90: Ditto.
- * gfortran.dg/proc_ptr_comp_20.f90: Ditto.
- * gfortran.dg/proc_ptr_result_5.f90: Ditto.
-
-2011-09-26 Jason Merrill <jason@redhat.com>
-
- PR c++/50512
- * g++.dg/overload/rvalue3.C: New.
-
- PR c++/50523
- * g++.dg/overload/ref-conv2.C: New.
-
- * g++.dg/cpp0x/nsdmi-template1.C: New.
-
-2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/cpp0x/nullptr25.C: New.
-
-2011-09-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50472
- * gcc.dg/torture/pr50472.c: New testcase.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt22.adb: New test.
- * gnat.dg/opt22_pkg.ad[sb]: New helper.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt21.adb: New test.
- * gnat.dg/opt21_pkg.ad[sb]: New helper.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt20.ad[sb]: New test.
- * gnat.dg/opt20_pkg.ads: New helper.
-
-2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array17.adb: New test.
- * gnat.dg/array17_pkg.ads: New helper.
-
-2011-09-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/nsdmi-defer4.C: New.
-
-2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/frame_overflow.ads: New.
- * gnat.dg/frame_overflow.adb: Adjust.
- * gnat.dg/specs/addr1.ads: Likewise.
-
-2011-09-25 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/tree-ssa/restrict2.C: New test.
-
-2011-09-25 Ira Rosen <ira.rosen@linaro.org>
-
- * lib/target-supports.exp (check_effective_target_vect64): New.
- * gcc.dg/vect/bb-slp-11.c: Expect the error message twice in case
- of multiple vector sizes.
- * gcc.dg/vect/bb-slp-26.c: New.
-
-2011-09-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50280
- * g++.dg/template/bitfield1.C: New.
-
-2011-09-25 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/bb-slp-24.c: New.
-
-2011-09-24 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/nsdmi-eh1.C: New.
-
- * g++.dg/cpp0x/nsdmi-defer3.C: New.
-
- * g++.dg/cpp0x/nsdmi-defer1.C: New.
- * g++.dg/cpp0x/nsdmi-defer2.C: New.
-
- * g++.dg/cpp0x/nsdmi1.C: New.
- * g++.dg/cpp0x/nsdmi2.C: New.
- * g++.dg/cpp0x/nsdmi3.C: New.
- * g++.dg/cpp0x/nsdmi4.C: New.
- * g++.old-deja/g++.other/init4.C: New.
-
-2011-09-24 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44267
- * g++.dg/template/sfinae28.C: New.
-
-2011-09-23 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (errchk): Handle more cases of getting
- correct Tcl backslash quoting in regular expressions in test file.
-
-2011-09-23 Jason Merrill <jason@redhat.com>
-
- Core 253
- * g++.dg/init/const8.C: New.
- * g++.dg/cpp0x/constexpr-object1.C: Add a data member.
- * g++.dg/cpp0x/defaulted2.C: Likewise.
- * g++.dg/cpp0x/pr42844-2.C: Likewise.
- * g++.dg/init/pr20039.C: Likewise.
- * g++.dg/init/pr42844.C: Likewise.
-
-2011-09-23 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/ipa/inline-1.c: new testcase.
- * gcc.dg/ipa/inline-2.c: new testcase.
- * gcc.dg/ipa/inline-3.c: new testcase.
- * gcc.dg/ipa/inline-4.c: new testcase.
-
-2011-09-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50258
- * g++.dg/cpp0x/constexpr-static8.C: New.
-
-2011-09-23 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/avxfp-1.c: New test.
- * gcc.target/i386/avxfp-2.c: New test.
-
-2011-09-23 Terry Guo <terry.guo@arm.com>
-
- * gcc.c-torture/execute/941014-1.x: Deleted.
-
-2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50491
- * g++.dg/cpp0x/pr50491.C: New.
-
-2011-09-22 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR testsuite/50487
- * gfortran.dg/bessel_6.f90: Fix tolerance test.
-
-2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50371
- * g++.dg/cpp0x/nullptr24.C: New.
-
-2011-09-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50482
- * gcc.target/i386/pr50482.c: New test.
-
-2011-09-22 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.target/i386/pad-2.c, gcc.target/i386/pad-3.c,
- gcc.target/i386/pad-4.c, gcc.target/i386/pad-5a.c,
- gcc.target/i386/pad-5b.c, gcc.target/i386/pad-6a.c,
- gcc.target/i386/pad-6b.c, gcc.target/i386/pad-7.c,
- gcc.target/i386/pad-8.c, gcc.target/i386/pad-9.c,
- gcc.target/i386/pad-10.cm gcc.target/i386/vect-double-1.c: Skip if
- multilib options contain different -march= from dg-options.
-
-2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com>
- Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50344
- * g++.dg/template/friend52.C: New.
-
-2011-09-22 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.target/arm/cmp-1.c: New test.
- * gcc.target/arm/cmp-2.c: Likewise.
-
-2011-09-22 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/41733
- * gfortran.dg/impure_actual_1.f90: Modified error message.
- * gfortran.dg/proc_ptr_32.f90: New.
- * gfortran.dg/proc_ptr_33.f90: New.
-
-2011-09-22 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50451
- * gcc.dg/vect/pr50451.c: New test.
-
-2011-09-21 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (errchk): Add special case for bug332.
- (go-gc-tests): Add special cases for bug347 and bug348. Recognize
- some more test lines.
-
-2011-09-21 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/other/i386-3.C: Remove duplicated dg-options.
- * g++.dg/other/i386-4.C: Remove dg-require-effective-target directive.
- * g++.dg/other/i386-8.C: Ditto.
- * g++.dg/other/pr34435.C: Ditto.
- * g++.dg/other/pr39496.C: Ditto.
- * g++.dg/other/mmintrin.C: Ditto.
-
-2011-09-21 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vect/vect-cond-7.c: New test.
- * gcc.target/i386/sse4_1-cond-1.c: New test.
- * gcc.target/i386/avx-cond-1.c: New test.
-
-2011-09-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50464
- * g++.dg/other/pr50464.C: New test.
-
-2011-09-21 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/bmi2-mulx32-2.c: New test.
- * gcc.target/i386/bmi2-mulx32-2a.c: Ditto.
- * gcc.target/i386/bmi2-mulx64-2.c: Ditto.
- * gcc.target/i386/bmi2-mulx64-2a.c: Ditto.
-
-2011-09-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt19.adb: New test.
-
-2011-09-21 Terry Guo <terry.guo@arm.com>
-
- * gcc.target/arm/neon-thumb2-move.c: Skip the warning message
- on arch conflict when testing case on targets other than armv7-a.
-
-2011-09-21 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50454
- * g++.dg/ext/int128-1.C: New.
- * g++.dg/ext/int128-2.C: Likewise.
- * g++.dg/ext/int128-2.h: Likewise.
-
-2011-09-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR testsuite/50469
- * gfortran.dg/storage_size_2.f08: Replace "must be be" with "must be".
-
-2011-09-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-generated1.C: New.
-
- PR c++/50442
- * g++.dg/overload/ref-conv1.C: New.
-
-2011-09-20 Roberto Agostino Vitillo <ravitillo@lbl.gov>
-
- * g++.dg/other/final1.C: New.
-
-2011-09-20 Ira Rosen <ira.rosen@linaro.org>
-
- * g++.dg/vect/slp-pr50413.cc: Don't run the test. Remove main ()
- and get_bit ().
-
-2011-09-19 Ian Bolton <ian.bolton@arm.com>
-
- * gcc.dg/20100906-1.c: Use -fno-short-enums option for
- "target arm_eabi".
-
-2011-09-19 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50413
- * g++.dg/vect/vect.exp: Run slp-pr* tests with
- -fdump-tree-slp-details. Run other tests with
- -fdump-tree-vect-details.
- * g++.dg/vect/slp-pr50413.cc: New.
-
-2011-09-18 Dominique d'Humieres <dominiq@lps.ens.fr>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR testsuite/50435
- * gcc.dg/vect/bb-slp-25.c: Add an if to avoid loop vectorization.
- Fix underscores around restrict.
-
-2011-09-18 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50414
- * gfortran.dg/vect/Ofast-pr50414.f90: New.
- * gfortran.dg/vect/vect.exp: Run Ofast-* tests with -Ofast.
- * gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: New.
-
-2011-09-18 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50412
- * gfortran.dg/vect/pr50412.f90: New.
-
-2011-09-16 Jason Merrill <jason@redhat.com>
-
- PR c++/50424
- * g++.dg/eh/defarg1.C: New.
-
-2011-09-16 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/vect/vect-reduc-10.c: New test.
- * gcc.target/i386/avx-reduc-1.c: New test.
-
- * gcc.target/i386/sse2-extract-1.c: New test.
- * gcc.target/i386/avx-extract-1.c: New test.
-
-2011-09-16 Terry Guo <terry.guo@arm.com>
-
- * gcc.dg/tree-ssa/foldconst-3.c: Don't use short enums.
-
-2011-09-15 Diego Novillo <dnovillo@google.com>
-
- * lib/g++.exp (g++_init): Add $TEST_ALWAYS_FLAGS to
- ALWAYS_CXXFLAGS, if defined.
- * lib/gfortran.exp (gfortran_init): Add $TEST_ALWAYS_FLAGS to
- ALWAYS_GFORTRANFLAGS, if defined.
- * lib/go.exp (go_target_compile): Add $TEST_ALWAYS_FLAGS to
- ALWAYS_GOCFLAGS, if defined.
- * lib/obj-c++.exp (obj-c++_init): Add $TEST_ALWAYS_FLAGS to
- ALWAYS_OBJCXXFLAGS, if defined.
- * lib/gcc.exp (gcc_target_compile): Add $TEST_ALWAYS_FLAGS to
- additional_flags, if defined.
- * lib/gnat.exp (gnat_target_compile): Likewise.
- * lib/objc.exp (objc_target_compile): Likewise.
- * lib/target-supports-dg.exp (dg-add-options): Handle
- TEST_ALWAYS_FLAGS.
-
-2011-09-15 Tom de Vries <tom@codesourcery.com>
-
- PR testsuite/50322
- * gcc.dg/tree-ssa/ivopts-lt.c: require stdint_types. include stdint.h.
- Use uintptr_t in f1. Undo avr xfails.
-
-2011-09-15 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50401
- PR fortran/50403
- * gfortran.dg/function_types_3.f90: New.
-
-2011-09-15 Jason Merrill <jason@redhat.com>
-
- PR c++/50365
- * g++.dg/cpp0x/trailing7.C: New.
-
- PR c++/50361
- * g++.dg/cpp0x/nullptr23.C: New.
-
-2011-09-15 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/bb-slp-25.c: New.
-
-2011-09-14 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50391
- * g++.dg/cpp0x/noexcept15.C: New.
-
-2011-09-14 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/50251
- * gcc.dg/pr50251.c: New test.
-
-2011-09-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/34547
- PR fortran/50375
- * gfortran.dg/null_5.f90: New.
- * gfortran.dg/null_6.f90: New.
-
-2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c-torture/compile/20110913-1.c: New test.
-
-2011-09-13 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50379
- * gfortran.dg/result_2.f90: New.
-
-2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
-
- * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: New test.
-
-2011-09-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48320
- * g++.dg/cpp0x/variadic116.C: New test case.
-
-2011-09-12 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/mips.exp (mips_option_groups): Add debug options.
- * gcc.target/mips/interrupt_handler-2.c: New test.
- * gcc.target/mips/interrupt_handler-3.c: Likewise.
-
-2011-09-12 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/fntmpdefarg2.C: Add more tests.
-
- * g++.dg/cpp0x/explicit7.C: New.
-
-2011-09-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/50212
- * g++.dg/other/pr50212.C: New test.
-
-2011-09-12 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/43746
- * testsuite/gcc.target/avr/torture/avr-torture.exp
- (AVR_TORTURE_OPTIONS): Add test cases "-O2 -fdata-sections" and
- "-O2 -fmerge-all-constants".
-
-2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50327
- * gfortran.dg/do_while_1.f90: New test.
-
-2011-09-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/35831
- PR fortran/47978
- * gfortran.dg/dynamic_dispatch_5.f03: Fix invalid test case.
- * gfortran.dg/proc_decl_26.f90: New.
- * gfortran.dg/typebound_override_2.f90: New.
- * gfortran.dg/typebound_proc_6.f03: Changed wording in error message.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/cond_expr2.ad[sb]: New test.
-
-2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/atomic5.ad[sb]: New test.
-
-2011-09-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/sibcall-6.c: Check ia32 instead of ilp32.
-
-2011-09-09 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/49030
- * gcc.dg/torture/pr49030.c: Run only if target int32plus.
-
-2011-09-09 Iain Sandoe <iains@gcc.gnu.org>
-
- PR target/49614
- * gcc.dg/vmx/gcc-bug-i.c (inline_me): Declare 'inline'.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50328
- * gcc.dg/vect/fast-math-vect-outer-7.c: New testcase.
-
-2011-09-09 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/50333
- * gcc.dg/torture/pr50333.c: New testcase.
-
-2011-09-08 Andrew Stubbs <ams@codesourcery.com>
-
- PR tree-optimization/50318
- * gcc.target/arm/pr50318-1.c: New file.
-
-2011-09-08 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/all_one_m256i.c: New test.
-
-2011-09-08 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50324
- * g++.dg/cpp0x/sfinae28.C: New.
-
-2011-09-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c/50332
- * gcc.dg/attr-invalid.c: Adjust as __attribute__((used) is no
- longer ignored on typedefs.
-
- PR c++/33255 - Support -Wunused-local-typedefs warning
- * g++.dg/warn/Wunused-local-typedefs.C: New test file.
- * c-c++-common/Wunused-local-typedefs.c: Likewise.
-
-2011-09-08 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/50287
- * gcc.dg/torture/pr50287.c: New test.
-
-2011-09-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/19831
- * gcc.dg/tree-ssa/pr19831-1.c: New testcase.
- * gcc.dg/tree-ssa/pr19831-2.c: Likewise.
- * gcc.dg/tree-ssa/pr19831-3.c: Likewise.
- * gcc.dg/errno-1.c: Adjust.
-
-2011-09-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/19831
- * gcc.dg/tree-ssa/ssa-dce-8.c: New testcase.
-
-2011-09-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/44646
- * gfortran.dg/do_concurrent_1.f90: New.
- * gfortran.dg/do_concurrent_2.f90: New.
-
-2011-09-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50310
- * gcc.c-torture/execute/ieee/pr50310.c: New test.
- * gcc.dg/pr50310-2.c: New test.
-
-2011-09-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48095
- * gfortran.dg/derived_constructor_comps_2.f90: Modified.
- * gfortran.dg/impure_constructor_1.f90: Modified.
- * gfortran.dg/proc_ptr_comp_33.f90: New.
-
-2011-09-07 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50310
- * gcc.dg/pr50310-1.c: New test.
-
-2011-09-07 Georg-Johann Lay <avr@gjlay.de>
-
- PR middle-end/48571
- * gcc.c-torture/execute/pr48571-1.c (bar): Use offsets sizeof(int)
- instead of 4.
-
-2011-09-07 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/50309
- * g++.dg/cpp0x/noexcept14.C: New.
-
-2011-09-07 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-ref3.C: New.
-
- * g++.dg/cpp0x/sfinae11.C: Check for explanatory diagnostic.
-
-2011-09-07 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/section1.c: Don't xfail for avr.
-
-2011-09-07 Georg-Johann Lay <avr@gjlay.de>
-
- PR tree-optimization/50322
- * gcc.dg/tree-ssa/ivopts-lt.c: Add xfails for avr.
-
-2011-09-07 Martin Jambor <mjambor@suse.cz>
-
- * g++.dg/tree-ssa/pr49911.C: Added flag -fstrict-enums.
-
-2011-09-07 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/49911
- * g++.dg/tree-ssa/pr49911.C: New test.
-
-2011-09-07 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/49030
- * gcc.dg/torture/pr49030.c: New test.
-
-2011-09-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50288
- * gfortran.dg/class_4c.f03: Modified ("dg-do link" and "dg-final").
- * gfortran.dg/class_4d.f03: Deleted.
- * gfortran.dg/class_45b.f03: Modififed ("dg-do link").
-
-2011-09-07 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/forwprop-16.c: New testcase.
-
-2011-09-07 Jiangning Liu <jiangning.liu@arm.com>
-
- PR tree-optimization/46021
- * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on arm*-*-*.
-
-2011-09-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * g++.dg/ext/altivec-17.C: Fix dg-error to match current compiler.
-
-2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/compile/20110906-1.c: New test.
-
-2011-09-06 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/builtin-apply-mmx.c: Require ia32 effective target.
-
-2011-09-06 Enkovich Ilya <ilya.enkovich@intel.com>
-
- * gcc.dg/tree-ssa/pr38533.c (dg-options): Added option
- --param tree-reassoc-width=1.
-
- * gcc.dg/tree-ssa/reassoc-24.c: New test.
- * gcc.dg/tree-ssa/reassoc-25.c: Likewise.
-
-2011-09-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48149
- * gcc.dg/tree-ssa/ssa-fre-32.c: New testcase.
-
-2011-09-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48317
- * gcc.dg/tree-ssa/ssa-fre-31.c: New testcase.
-
-2011-09-06 Ira Rosen <ira.rosen@linaro.org>
-
- * lib/target-supports.exp (check_effective_target_vect_multiple_sizes):
- New procedure.
- (add_options_for_quad_vectors): Replace with ...
- (add_options_for_double_vectors): ... this.
- * gfortran.dg/vect/pr19049.f90: Expect more printings on targets that
- support multiple vector sizes since the vectorizer attempts to
- vectorize with both vector sizes.
- * gcc.dg/vect/no-vfa-vect-79.c,
- gcc.dg/vect/no-vfa-vect-102a.c, gcc.dg/vect/vect-outer-1a.c,
- gcc.dg/vect/vect-outer-1b.c, gcc.dg/vect/vect-outer-2b.c,
- gcc.dg/vect/vect-outer-3a.c, gcc.dg/vect/no-vfa-vect-37.c,
- gcc.dg/vect/vect-outer-3b.c, gcc.dg/vect/no-vfa-vect-101.c,
- gcc.dg/vect/no-vfa-vect-102.c, gcc.dg/vect/vect-reduc-dot-s8b.c,
- gcc.dg/vect/vect-outer-1.c, gcc.dg/vect/vect-104.c: Likewise.
- * gcc.dg/vect/vect-42.c: Run with 64 bit vectors if applicable.
- * gcc.dg/vect/vect-multitypes-6.c, gcc.dg/vect/vect-52.c,
- gcc.dg/vect/vect-54.c, gcc.dg/vect/vect-46.c, gcc.dg/vect/vect-48.c,
- gcc.dg/vect/vect-96.c, gcc.dg/vect/vect-multitypes-3.c,
- gcc.dg/vect/vect-40.c: Likewise.
- * gcc.dg/vect/vect-outer-5.c: Remove quad-vectors option as redundant.
- * gcc.dg/vect/vect-109.c, gcc.dg/vect/vect-peel-1.c,
- gcc.dg/vect/vect-peel-2.c, gcc.dg/vect/slp-25.c,
- gcc.dg/vect/vect-multitypes-1.c, gcc.dg/vect/slp-3.c,
- gcc.dg/vect/no-vfa-pr29145.c, gcc.dg/vect/vect-multitypes-4.c:
- Likewise.
- * gcc.dg/vect/vect-peel-4.c: Make ia global.
-
-2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/49606
- * gcc.target/mips/abi-main.h: New file.
- * gcc.target/mips/abi-o32-long32.c: New test.
- * gcc.target/mips/abi-o32-long64.c: Likewise.
- * gcc.target/mips/abi-o64-long32.c: Likewise.
- * gcc.target/mips/abi-o64-long64.c: Likewise.
- * gcc.target/mips/abi-n32-long32.c: Likewise.
- * gcc.target/mips/abi-n32-long64.c: Likewise.
- * gcc.target/mips/abi-n64-long32.c: Likewise.
- * gcc.target/mips/abi-n64-long64.c: Likewise.
- * gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
- * gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
- * gcc.target/mips/abi-o32-long32-pic.c: Likewise.
- * gcc.target/mips/abi-o32-long64-pic.c: Likewise.
- * gcc.target/mips/abi-o64-long32-pic.c: Likewise.
- * gcc.target/mips/abi-o64-long64-pic.c: Likewise.
- * gcc.target/mips/abi-n32-long32-pic.c: Likewise.
- * gcc.target/mips/abi-n32-long64-pic.c: Likewise.
- * gcc.target/mips/abi-n64-long32-pic.c: Likewise.
- * gcc.target/mips/abi-n64-long64-pic.c: Likewise.
- * gcc.target/mips/abi-eabi32-long32.c: Likewise.
- * gcc.target/mips/abi-eabi32-long64.c: Likewise.
- * gcc.target/mips/abi-eabi64-long32.c: Likewise.
- * gcc.target/mips/abi-eabi64-long64.c: Likewise.
- * gcc.target/mips/mips.exp: Make -mshared implied -mabicalls.
- * gcc.target/mips/branch-2.c: Remove -mabicalls.
- * gcc.target/mips/branch-3.c: Likewise.
- * gcc.target/mips/branch-4.c: Likewise.
- * gcc.target/mips/branch-5.c: Likewise.
- * gcc.target/mips/branch-6.c: Likewise.
- * gcc.target/mips/branch-7.c: Likewise.
- * gcc.target/mips/branch-8.c: Likewise.
- * gcc.target/mips/branch-9.c: Likewise.
- * gcc.target/mips/branch-10.c: Likewise.
- * gcc.target/mips/branch-11.c: Likewise.
- * gcc.target/mips/branch-12.c: Likewise.
- * gcc.target/mips/branch-13.c: Likewise.
- * gcc.target/mips/lazy-binding-1.c: Likewise.
-
-2011-09-05 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/ipa/ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1 << 18
- to avoid warning on int=16 platforms..
-
-2011-09-05 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
- to work even with -fshort-enums.
-
-2011-09-04 Jan Hubicka <jh@suse.cz>
-
- * gcc.c-torture/compile/20110902.c: new testcase.
-
-2011-09-04 Jason Merrill <jason@redhat.com>
-
- PR c++/49267
- * g++.dg/cpp0x/rv-conv1.C: New.
-
- DR 1328
- * g++.dg/cpp0x/rv-func3.C: New.
-
- * g++.dg/cpp0x/constexpr-default-ctor.C: New.
-
- PR c++/50248
- Core 1358
- * g++.dg/cpp0x/constexpr-template1.C: New.
- * g++.dg/cpp0x/constexpr-template2.C: New.
- * g++.dg/cpp0x/constexpr-48089.C: Adjust error markup.
- * g++.dg/cpp0x/constexpr-ex1.C: Adjust error markup.
-
-2011-09-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/debug1.ads: Tweak pattern.
-
-2011-09-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50227
- * gfortran.dg/class_45a.f03: New.
- * gfortran.dg/class_45b.f03: New.
-
-2011-09-04 Jakub Jelinek <jakub@redhat.com>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50208
- * gcc.dg/vect/no-fre-pre-pr50208.c: New test.
- * gcc.dg/vect/vect.exp: Run no-fre-pre-*.c tests with
- -fno-tree-fre -fno-tree-pre.
-
-2011-09-02 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/ipa/ipcp-3.c: New test.
-
-2011-09-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/27460
- PR middle-end/29269
- * gcc.dg/vect/vect-cond-7.c: New testcase.
-
-2011-09-02 Martin Jambor <mjambor@suse.cz>
-
- * g++.dg/ipa/devirt-3.C: Added a distraction method.
- * g++.dg/ipa/ivinline-7.C: Added a test for direct call discovery,
- xfailed test for inlining.
- * g++.dg/ipa/ivinline-9.C: Likewise.
-
-2011-09-01 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50178
- * gfortran.dg/vect/pr50178.f90: New test.
-
-2011-08-31 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/49886
- * gcc.c-torture/execute/pr49886.c: New testcase.
-
-2011-08-31 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/43513
- * gcc.dg/pr43513.c: New test.
-
-2011-08-30 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/45044
- * gfortran.dg/common_14.f90: New.
- * gfortran.dg/common_resize_1.f: Add two dg-warning.
-
-2011-08-30 Jason Merrill <jason@redhat.com>
-
- PR c++/50084
- * g++.dg/cpp0x/decltype33.C: New.
-
- PR c++/50089
- * g++.dg/cpp0x/lambda/lambda-qualified.C: New.
-
- PR c++/50114
- * g++.dg/cpp0x/lambda/lambda-for.C: New.
-
-2011-08-30 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/fma-compile.c: Escape [ and ] in scan strings.
-
-2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/aggr3.ads: New test.
- * gnat.dg/specs/aggr3_pkg.ads: New helper.
-
- * gnat.dg/specs/aggr1.ads: Remove superfluous space.
- * gnat.dg/specs/aggr2.ads: Likewise.
-
-2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/45170
- * gfortran.dg/allocate_with_source_2.f90: New test
-
-2011-08-30 Jason Merrill <jason@redhat.com>
-
- PR c++/50220
- * g++.dg/cpp0x/lambda/lambda-50220.C: New.
-
- PR c++/50234
- * g++.dg/cpp0x/constexpr-value3.C: New.
-
-2011-08-30 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48571
- * gcc.c-torture/execute/pr48571-1.c: New testcase.
- * gcc.dg/tree-ssa/ssa-ccp-25.c: Remove.
- * gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
- * gcc.dg/pr36902.c: XFAIL.
-
-2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
-
- * gcc.target/i386/fma-check.h: New.
- * gcc.target/i386/fma-256-fmaddXX.c: New testcase.
- * gcc.target/i386/fma-256-fmaddsubXX.c: Likewise.
- * gcc.target/i386/fma-256-fmsubXX.c: Likewise.
- * gcc.target/i386/fma-256-fmsubaddXX.c: Likewise.
- * gcc.target/i386/fma-256-fnmaddXX.c: Likewise.
- * gcc.target/i386/fma-256-fnmsubXX.c: Likewise.
- * gcc.target/i386/fma-fmaddXX.c: Likewise.
- * gcc.target/i386/fma-fmaddsubXX.c: Likewise.
- * gcc.target/i386/fma-fmsubXX.c: Likewise.
- * gcc.target/i386/fma-fmsubaddXX.c: Likewise.
- * gcc.target/i386/fma-fnmaddXX.c: Likewise.
- * gcc.target/i386/fma-fnmsubXX.c: Likewise.
- * gcc.target/i386/fma-compile.c: Likewise.
- * gcc.target/i386/i386.exp (check_effective_target_fma): New.
- * gcc.target/i386/sse-12.c: Add -mfma.
- * gcc.target/i386/sse-13.c: Likewise.
- * gcc.target/i386/sse-14.c: Likewise.
- * gcc.target/i386/sse-22.c: Likewise.
- * gcc.target/i386/sse-23.c: Likewise.
- * g++.dg/other/i386-2.C: Likewise.
- * g++.dg/other/i386-3.C: Likewise.
-
-2011-08-30 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR testsuite/50185
- * gcc.target/i386/avx2-vmovmskb-2.c: Rename to ...
- * gcc.target/i386/avx2-vpmovmskb-2.c: ... this. Update.
-
-2011-08-30 Christian Bruel <christian.bruel@st.com>
-
- * g++.dg/bprob/bprob.exp (feedback_options): Set
- -fbranch-probabilities.
- * gcc.misc-tests/bprob.exp (feedback_options): Likewise.
-
-2011-08-29 Jason Merrill <jason@redhat.com>
-
- PR c++/50224
- * g++.dg/cpp0x/lambda/lambda-use2.C: New.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
- Jason Merrill <jason@redhat.com>
-
- * g++.dg/dfp/base.C: New test.
-
-2011-08-29 Jason Merrill <jason@redhat.com>
-
- Core DR 994
- PR c++/50209
- * g++.dg/cpp0x/initlist58.C: New.
-
-2011-08-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50225
- * gfortran.dg/class_result_1.f03: New.
-
-2011-08-29 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48722
- * gcc.target/i386/pr48722.c: New test.
-
-2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/50192
- * gfortran.dg/widechar_compare_1.f90: New test.
-
-2011-08-26 Jason Merrill <jason@redhat.com>
-
- Core DR 342
- PR c++/48582
- * g++.dg/abi/mangle50.C: New.
-
-2011-08-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/50202
- * gcc.target/i386/pr50202.c: New test.
-
-2011-08-26 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse_4_1-round-vec.c: New test.
- * gcc.target/i386/sse_4_1-roundf-vec.c: New test.
- * gcc.target/i386/avx-round-vec.c: New test.
- * gcc.target/i386/avx-roundf-vec.c: New test.
-
-2011-08-26 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/cmpxchg16b-1.c: Match also space after the
- instruction.
-
- PR c/50179
- * c-c++-common/Wunused-var-14.c: New test.
-
-2011-08-26 Tom de Vries <tom@codesourcery.com>
-
- * gcc.dg/tree-ssa/ivopts-lt.c: New test.
-
-2011-08-26 Jiangning Liu <jiangning.liu@arm.com>
-
- * gcc.target/arm/thumb2-cond-cmp-1.c: New.
- * gcc.target/arm/thumb2-cond-cmp-2.c: Likewise.
- * gcc.target/arm/thumb2-cond-cmp-3.c: Likewise.
- * gcc.target/arm/thumb2-cond-cmp-4.c: Likewise.
-
-2011-08-26 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/thumb2-replicated-constant1.c: New file.
- * gcc.target/arm/thumb2-replicated-constant2.c: New file.
- * gcc.target/arm/thumb2-replicated-constant3.c: New file.
- * gcc.target/arm/thumb2-replicated-constant4.c: New file.
-
-2011-08-25 Mikael Morin <mikael.morin@gcc.gnu.org>
-
- PR fortran/50050
- * gfortran.dg/pointer_comp_init_1.f90: New test.
-
-2011-08-25 Jason Merrill <jason@redhat.com>
-
- PR c++/50157
- * g++.dg/cpp0x/sfinae27.C: New.
-
-2011-08-25 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_lib_token_4.f90: New.
-
-2011-08-25 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray/alloc_comp_1.f90: New.
-
-2011-08-25 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/Wshadow-3.c: Restore original content destroyed by r148442.
-
-2011-08-24 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50163
- * gfortran.dg/initialization_28.f90: New.
-
-2011-08-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/50067
- * gcc.dg/torture/pr50067-3.c: New testcase.
- * gcc.dg/torture/pr50067-4.c: Likewise.
- * gcc.dg/torture/pr50067-5.c: Likewise.
-
-2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * g++.dg/other/i386-2.C: Add -mavx2 check.
- * g++.dg/other/i386-3.C: Likewise.
- * gcc.target/i386/avx-1.c: Add AVX2.
- * gcc.target/i386/avx-2.c: Likewise.
- * gcc.target/i386/funcspec-5.c: Likewise.
- * gcc.target/i386/sse-12.c: Likewise.
- * gcc.target/i386/sse-13.c: Likewise.
- * gcc.target/i386/sse-14.c: Likewise.
- * gcc.target/i386/sse-22.c: Likewise.
- * gcc.target/i386/sse-23.c: Likewise.
- * gcc.target/i386/i386.exp (check_effective_target_avx2): Likewise.
- * gcc.target/i386/avx2-check.h: New.
- * gcc.target/i386/avx2-i32gatherd-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd256-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherd256-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd256-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherpd256-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps256-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherps256-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq-4.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq256-2.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
- * gcc.target/i386/avx2-i32gatherq256-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd256-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherd256-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd256-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps256-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherps256-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq-4.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq256-2.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
- * gcc.target/i386/avx2-i64gatherq256-4.c: Likewise.
- * gcc.target/i386/avx2-mpsadbw-1.c: Likewise.
- * gcc.target/i386/avx2-mpsadbw-2.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastsd_pd-1.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastsd_pd-2.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastsi128-1.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastsi128-2.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastss_ps-1.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastss_ps-2.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastss_ps256-1.c: Likewise.
- * gcc.target/i386/avx2-vbroadcastss_ps256-2.c: Likewise.
- * gcc.target/i386/avx2-vextracti128-1.c: Likewise.
- * gcc.target/i386/avx2-vextracti128-2.c: Likewise.
- * gcc.target/i386/avx2-vinserti128-1.c: Likewise.
- * gcc.target/i386/avx2-vinserti128-2.c: Likewise.
- * gcc.target/i386/avx2-vmovmskb-2.c: Likewise.
- * gcc.target/i386/avx2-vmovntdqa-1.c: Likewise.
- * gcc.target/i386/avx2-vmovntdqa-2.c: Likewise.
- * gcc.target/i386/avx2-vpabsb256-1.c: Likewise.
- * gcc.target/i386/avx2-vpabsb256-2.c: Likewise.
- * gcc.target/i386/avx2-vpabsd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpabsd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpabsw256-1.c: Likewise.
- * gcc.target/i386/avx2-vpabsw256-2.c: Likewise.
- * gcc.target/i386/avx2-vpackssdw-1.c: Likewise.
- * gcc.target/i386/avx2-vpackssdw-2.c: Likewise.
- * gcc.target/i386/avx2-vpacksswb-1.c: Likewise.
- * gcc.target/i386/avx2-vpacksswb-2.c: Likewise.
- * gcc.target/i386/avx2-vpackusdw-1.c: Likewise.
- * gcc.target/i386/avx2-vpackusdw-2.c: Likewise.
- * gcc.target/i386/avx2-vpackuswb-1.c: Likewise.
- * gcc.target/i386/avx2-vpackuswb-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddb-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddb-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddd-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddd-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddq-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddq-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddsb-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddsb-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddsw-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddsw-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddusb-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddusb-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddusw-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddusw-2.c: Likewise.
- * gcc.target/i386/avx2-vpaddw-1.c: Likewise.
- * gcc.target/i386/avx2-vpaddw-2.c: Likewise.
- * gcc.target/i386/avx2-vpalignr256-1.c: Likewise.
- * gcc.target/i386/avx2-vpalignr256-2.c: Likewise.
- * gcc.target/i386/avx2-vpand-1.c: Likewise.
- * gcc.target/i386/avx2-vpand-2.c: Likewise.
- * gcc.target/i386/avx2-vpandn-1.c: Likewise.
- * gcc.target/i386/avx2-vpandn-2.c: Likewise.
- * gcc.target/i386/avx2-vpavgb-1.c: Likewise.
- * gcc.target/i386/avx2-vpavgb-2.c: Likewise.
- * gcc.target/i386/avx2-vpavgw-1.c: Likewise.
- * gcc.target/i386/avx2-vpavgw-2.c: Likewise.
- * gcc.target/i386/avx2-vpblendd128-1.c: Likewise.
- * gcc.target/i386/avx2-vpblendd128-2.c: Likewise.
- * gcc.target/i386/avx2-vpblendd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpblendd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpblendvb-1.c: Likewise.
- * gcc.target/i386/avx2-vpblendvb-2.c: Likewise.
- * gcc.target/i386/avx2-vpblendw-1.c: Likewise.
- * gcc.target/i386/avx2-vpblendw-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastb128-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastb128-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastb256-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastb256-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastd128-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastd128-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastq128-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastq128-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastq256-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastq256-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastw128-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastw128-2.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastw256-1.c: Likewise.
- * gcc.target/i386/avx2-vpbroadcastw256-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqb-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqb-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqd-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqd-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqq-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqq-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqw-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpeqw-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtb-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtb-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtd-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtd-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtq-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtq-2.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtw-1.c: Likewise.
- * gcc.target/i386/avx2-vpcmpgtw-2.c: Likewise.
- * gcc.target/i386/avx2-vperm2i128-1.c: Likewise.
- * gcc.target/i386/avx2-vperm2i128-2.c: Likewise.
- * gcc.target/i386/avx2-vpermd-1.c: Likewise.
- * gcc.target/i386/avx2-vpermd-2.c: Likewise.
- * gcc.target/i386/avx2-vpermpd-1.c: Likewise.
- * gcc.target/i386/avx2-vpermpd-2.c: Likewise.
- * gcc.target/i386/avx2-vpermps-1.c: Likewise.
- * gcc.target/i386/avx2-vpermps-2.c: Likewise.
- * gcc.target/i386/avx2-vpermq-1.c: Likewise.
- * gcc.target/i386/avx2-vpermq-2.c: Likewise.
- * gcc.target/i386/avx2-vphaddd-1.c: Likewise.
- * gcc.target/i386/avx2-vphaddd-2.c: Likewise.
- * gcc.target/i386/avx2-vphaddsw-1.c: Likewise.
- * gcc.target/i386/avx2-vphaddsw-2.c: Likewise.
- * gcc.target/i386/avx2-vphaddw-1.c: Likewise.
- * gcc.target/i386/avx2-vphaddw-2.c: Likewise.
- * gcc.target/i386/avx2-vphsubd-1.c: Likewise.
- * gcc.target/i386/avx2-vphsubd-2.c: Likewise.
- * gcc.target/i386/avx2-vphsubsw-1.c: Likewise.
- * gcc.target/i386/avx2-vphsubsw-2.c: Likewise.
- * gcc.target/i386/avx2-vphsubw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaddubsw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaddubsw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaddwd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaddwd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadq256-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskloadq256-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstored-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstored-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstored256-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstored256-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstoreq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstoreq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstoreq256-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaskstoreq256-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaxsb-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaxsb-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaxsd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaxsd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaxsw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaxsw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaxub-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaxub-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaxud-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaxud-2.c: Likewise.
- * gcc.target/i386/avx2-vpmaxuw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmaxuw-2.c: Likewise.
- * gcc.target/i386/avx2-vpminsb-1.c: Likewise.
- * gcc.target/i386/avx2-vpminsb-2.c: Likewise.
- * gcc.target/i386/avx2-vpminsd-1.c: Likewise.
- * gcc.target/i386/avx2-vpminsd-2.c: Likewise.
- * gcc.target/i386/avx2-vpminsw-1.c: Likewise.
- * gcc.target/i386/avx2-vpminsw-2.c: Likewise.
- * gcc.target/i386/avx2-vpminub-1.c: Likewise.
- * gcc.target/i386/avx2-vpminub-2.c: Likewise.
- * gcc.target/i386/avx2-vpminud-1.c: Likewise.
- * gcc.target/i386/avx2-vpminud-2.c: Likewise.
- * gcc.target/i386/avx2-vpminuw-1.c: Likewise.
- * gcc.target/i386/avx2-vpminuw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovmskb-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxbd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxbd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxbq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxbq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxbw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxbw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxdq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxdq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxwd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxwd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxwq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovsxwq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxbd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxbd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxbq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxbq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxbw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxbw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxdq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxdq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxwd-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxwd-2.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxwq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmovzxwq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmuldq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmuldq-2.c: Likewise.
- * gcc.target/i386/avx2-vpmulhrsw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmulhrsw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmulhuw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmulhuw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmulhw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmulhw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmulld-1.c: Likewise.
- * gcc.target/i386/avx2-vpmulld-2.c: Likewise.
- * gcc.target/i386/avx2-vpmullw-1.c: Likewise.
- * gcc.target/i386/avx2-vpmullw-2.c: Likewise.
- * gcc.target/i386/avx2-vpmuludq-1.c: Likewise.
- * gcc.target/i386/avx2-vpmuludq-2.c: Likewise.
- * gcc.target/i386/avx2-vpor-1.c: Likewise.
- * gcc.target/i386/avx2-vpor-2.c: Likewise.
- * gcc.target/i386/avx2-vpsadbw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsadbw-2.c: Likewise.
- * gcc.target/i386/avx2-vpshufb-1.c: Likewise.
- * gcc.target/i386/avx2-vpshufb-2.c: Likewise.
- * gcc.target/i386/avx2-vpshufd-1.c: Likewise.
- * gcc.target/i386/avx2-vpshufd-2.c: Likewise.
- * gcc.target/i386/avx2-vpshufhw-1.c: Likewise.
- * gcc.target/i386/avx2-vpshufhw-2.c: Likewise.
- * gcc.target/i386/avx2-vpshuflw-1.c: Likewise.
- * gcc.target/i386/avx2-vpshuflw-2.c: Likewise.
- * gcc.target/i386/avx2-vpsignb-1.c: Likewise.
- * gcc.target/i386/avx2-vpsignb-2.c: Likewise.
- * gcc.target/i386/avx2-vpsignd-1.c: Likewise.
- * gcc.target/i386/avx2-vpsignd-2.c: Likewise.
- * gcc.target/i386/avx2-vpsignw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsignw-2.c: Likewise.
- * gcc.target/i386/avx2-vpslld-1.c: Likewise.
- * gcc.target/i386/avx2-vpslld-2.c: Likewise.
- * gcc.target/i386/avx2-vpslldi-1.c: Likewise.
- * gcc.target/i386/avx2-vpslldi-2.c: Likewise.
- * gcc.target/i386/avx2-vpslldq-1.c: Likewise.
- * gcc.target/i386/avx2-vpslldq-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllq-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllq-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllqi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllqi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllvd128-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllvd128-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllvd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllvd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllvq128-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllvq128-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllvq256-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllvq256-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllw-2.c: Likewise.
- * gcc.target/i386/avx2-vpsllwi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsllwi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrad-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrad-2.c: Likewise.
- * gcc.target/i386/avx2-vpsradi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsradi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsravd128-1.c: Likewise.
- * gcc.target/i386/avx2-vpsravd128-2.c: Likewise.
- * gcc.target/i386/avx2-vpsravd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpsravd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpsraw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsraw-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrawi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrawi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrld-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrld-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrldi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrldi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrldq-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrldq-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlq-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlq-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlqi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlqi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvd128-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvd128-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvd256-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvd256-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvq128-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvq128-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvq256-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlvq256-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlw-2.c: Likewise.
- * gcc.target/i386/avx2-vpsrlwi-1.c: Likewise.
- * gcc.target/i386/avx2-vpsrlwi-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubb-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubb-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubd-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubd-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubq-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubq-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubsb-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubsb-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubsw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubsw-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubusb-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubusb-2.c: Likewise.
- * gcc.target/i386/avx2-vpsubusw-1.c: Likewise.
- * gcc.target/i386/avx2-vpsubusw-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhbw-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhbw-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhdq-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhdq-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhqdq-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhqdq-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhwd-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpckhwd-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpcklbw-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpcklbw-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpckldq-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpckldq-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpcklqdq-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpcklqdq-2.c: Likewise.
- * gcc.target/i386/avx2-vpunpcklwd-1.c: Likewise.
- * gcc.target/i386/avx2-vpunpcklwd-2.c: Likewise.
- * gcc.target/i386/avx2-vpxor-1.c: Likewise.
- * gcc.target/i386/avx2-vpxor-2.c: Likewise.
- * gcc.target/i386/testimm-9.c: Likewise.
-
-2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * g++.dg/other/i386-2.C: Add -mbmi2 check.
- * g++.dg/other/i386-3.C: Likewise.
- * gcc.target/i386/bmi2-bzhi32-1.c: New testcase.
- * gcc.target/i386/bmi2-bzhi32-1a.c: Likewise.
- * gcc.target/i386/bmi2-bzhi64-1.c: Likewise.
- * gcc.target/i386/bmi2-bzhi64-1a.c: Likewise.
- * gcc.target/i386/bmi2-mulx32-1.c: Likewise.
- * gcc.target/i386/bmi2-mulx32-1a.c: Likewise.
- * gcc.target/i386/bmi2-mulx64-1.c: Likewise.
- * gcc.target/i386/bmi2-mulx64-1a.c: Likewise.
- * gcc.target/i386/bmi2-pdep32-1.c: Likewise.
- * gcc.target/i386/bmi2-pdep32-1a.c: Likewise.
- * gcc.target/i386/bmi2-pdep64-1.c: Likewise.
- * gcc.target/i386/bmi2-pdep64-1a.c: Likewise.
- * gcc.target/i386/bmi2-pext32-1.c: Likewise.
- * gcc.target/i386/bmi2-pext32-1a.c: Likewise.
- * gcc.target/i386/bmi2-pext64-1.c: Likewise.
- * gcc.target/i386/bmi2-pext64-1a.c: Likewise.
- * gcc.target/i386/bmi2-rorx32-1.c: Likewise.
- * gcc.target/i386/bmi2-rorx32-1a.c: Likewise.
- * gcc.target/i386/bmi2-rorx64-1.c: Likewise.
- * gcc.target/i386/bmi2-rorx64-1a.c: Likewise.
- * gcc.target/i386/bmi2-sarx32-1.c: Likewise.
- * gcc.target/i386/bmi2-sarx32-1a.c: Likewise.
- * gcc.target/i386/bmi2-sarx64-1.c: Likewise.
- * gcc.target/i386/bmi2-sarx64-1a.c: Likewise.
- * gcc.target/i386/bmi2-shlx32-1.c: Likewise.
- * gcc.target/i386/bmi2-shlx32-1a.c: Likewise.
- * gcc.target/i386/bmi2-shlx64-1.c: Likewise.
- * gcc.target/i386/bmi2-shlx64-1a.c: Likewise.
- * gcc.target/i386/bmi2-shrx32-1.c: Likewise.
- * gcc.target/i386/bmi2-shrx32-1a.c: Likewise.
- * gcc.target/i386/bmi2-shrx64-1.c: Likewise.
- * gcc.target/i386/bmi2-shrx64-1a.c: Likewise.
- * gcc.target/i386/i386.exp (check_effective_target_bmi2): New.
- * gcc.target/i386/sse-12.c: Add BMI2.
- * gcc.target/i386/sse-13.c: Likewise.
- * gcc.target/i386/sse-14.c: Likewise.
- * gcc.target/i386/sse-22.c: Likewise.
- * gcc.target/i386/sse-23.c: Likewise.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/crash7.C: Adjust expected errors.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- PR c++/49045
- Core 1321
- * g++.dg/cpp0x/overload2.C: New.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- Core 903
- * g++.dg/cpp0x/constexpr-nullptr.C: Now ill-formed.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- Core 975
- * g++.dg/cpp0x/lambda/lambda-deduce-ext-neg2.C: Now accepted.
- * g++.dg/cpp0x/lambda/lambda-deduce-ext-neg.C: Adjust.
- * g++.dg/cpp0x/lambda/lambda-deduce2.C: Test returning overload.
- * g++.dg/cpp0x/lambda/lambda-deduce-neg.C: Remove #include.
-
-2011-08-23 Jason Merrill <jason@redhat.com>
-
- PR c++/50024
- * g++.dg/cpp0x/constexpr-initlist5.C: New.
-
-2011-08-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/50158
- * g++.dg/warn/Wunused-var-16.C: New test.
-
- PR middle-end/50161
- * gcc.dg/pr50161.c: New test.
-
-2011-08-23 Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
-
- PR c++/50055
- * g++.dg/gcov/gcov-7.C: New test.
-
-2011-08-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/46862
- * g++.dg/dfp/nofields.C: New test.
-
-2011-08-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/31600
- * gfortran.dg/use_16.f90: New.
-
-2011-08-22 Uros Bizjak <ubizjak@gmail.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/50155
- * gcc.target/i386/pr50155.c: New test.
-
-2011-08-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/50133
- * gcc.dg/pr50133.c: New test.
-
- PR middle-end/50141
- * c-c++-common/cxxbitfields-6.c: New test.
-
-2011-08-22 Mikael Morin <mikael.morin@gcc.gnu.org>
-
- PR fortran/50050
- * gfortran.dg/alloc_comp_initializer_3.f90: New test.
-
-2011-08-22 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pr49994-2.c: Add dg-require-effective-target scheduling.
- * gcc.dg/pr49994-3.c: Ditto.
-
-2011-08-22 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/50145
- * gcc.dg/torture/pr50067-1.c: Run on little-endian systems only.
- * gcc.dg/torture/pr50067-2.c: Likewise.
-
-2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47659
- * gfortran.dg/warn_conversion_2.f90: Also warn about conversion
- of a constant resulting from simplification.
- * gfortran.dg/warn_conversion_3.f90: New test.
-
-2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/50130
- * gfortran.dg/zero_stride_1.f90: New test.
-
-2011-08-20 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49638
- * gfortran.dg/typebound_override_1.f90: Modified.
-
-2011-08-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48739
- * gcc.dg/pr48739-1.c: New test.
- * gcc.dg/pr48739-2.c: New test.
-
-2011-08-20 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/graphite/interchange-1.f: Remove xfail.
-
-2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/50129
- * gfortran.dg/where_3.f90: New test.
-
-2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/49721
- * gfortran.dg/pr49721-1.f: New.
- * gfortran.fortran-torture/compile/pr49721-1.f: Likewise.
-
-2011-08-19 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/builtin-complex-err-1.c, gcc.dg/builtin-complex-err-2.c,
- gcc.dg/dfp/builtin-complex.c, gcc.dg/torture/builtin-complex-1.c:
- New tests.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-11.c: New file.
- * gcc.target/arm/wmul-12.c: New file.
- * gcc.target/arm/wmul-13.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-10.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-9.c: New file.
- * gcc.target/arm/wmul-bitfield-2.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-8.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-7.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-6.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-5.c: New file.
- * gcc.target/arm/no-wmla-1.c: New file.
-
-2011-08-19 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/wmul-bitfield-1.c: New file.
-
-2011-08-19 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c90-noreturn-1.c, gcc.dg/c99-noreturn-1.c: New tests.
-
-2011-08-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/builtins-67.c: Use dg-add-options c99_runtime.
- * gcc.target/i386/conversion.c: Likewise.
-
-2011-08-19 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/pr50067-1.c: New testcase.
- * gcc.dg/torture/pr50067-2.c: Likewise.
-
-2011-08-19 Joey Ye <joey.ye@arm.com>
-
- PR target/49437
- * gcc.target/arm/handler-align.c: New test.
- * lib/target-supports.exp (check_effective_target_arm_cortex_m):
- New Function.
-
-2011-08-19 Joey Ye <joey.ye@arm.com>
-
- * gcc.c-torture/execute/20101011-1.c (DO_TEST): Skip on ARM.
-
-2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/50071
- * gfortran.dg/end_block_label_1.f90: New test.
- * gfortran.dg/end_associate_label_1.f90: New test.
-
-2011-08-18 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c1x-pointer-float-1.c: New test.
-
-2011-08-18 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/50071
- * gfortran.dg/duplicate_labels_2.f: New test.
-
-2011-08-18 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c1x-noreturn-1.c, gcc.dg/c1x-noreturn-2.c,
- gcc.dg/c1x-noreturn-3.c, gcc.dg/c1x-noreturn-4.c,
- gcc.dg/c1x-noreturn-5.c: New tests.
-
-2011-08-18 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c1x-uni-string-1.c, gcc.dg/c1x-uni-string-2.c: New tests.
-
-2011-08-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_lock_1.f90: Update dg-error.
- * gfortran.dg/coarray_lock_3.f90: Fix test.
- * gfortran.dg/coarray_lock_4.f90: New.
- * gfortran.dg/coarray_lock_5.f90: New.
-
-2011-08-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/50009
- * gcc.c-torture/compile/pr50009.c: New test.
-
- PR target/50092
- * gcc.dg/torture/pr50092.c: New test.
-
-2011-08-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50109
- * gfortran.dg/namelist_73.f90: New.
-
-2011-08-18 Jakub Jelinek <jakub@redhat.com>
-
- * g++.dg/plugin/decl_plugin.c: Include diagnostic.h.
-
- PR debug/50017
- * gcc.dg/pr50017.c: New test.
-
-2011-08-18 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/45625
- * g++.dg/lookup/hidden-var1.C: New test case.
-
-2011-08-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/31461
- * gfortran.dg/warn_unused_var_2.f90: New.
- * gfortran.dg/warn_unused_var_3.f90: New.
-
-2011-08-17 Tom de Vries <tom@codesourcery.com>
-
- PR target/43597
- * gcc.target/arm/pr43597.c: New test.
-
-2011-08-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50070
- * gfortran.dg/common_13.f90: New.
-
-2011-08-16 Jason Merrill <jason@redhat.com>
-
- PR c++/50086
- * g++.dg/cpp0x/variadic-unresolved.C: New.
-
- * g++.old-deja/g++.brendan/README: Add R.I.P.
-
- * g++.dg/ext/attr-used-1.C: New.
-
- PR c++/50054
- * g++.dg/cpp0x/initlist56.C: New.
-
-2011-08-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR testsuite/50085
- * g++.dg/opt/life1.C: Only run on Linux.
-
-2011-08-15 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_26.f90: New.
-
-2011-08-15 Hans-Peter Nilsson <hp@axis.com>
-
- * gcc.dg/tree-ssa/vrp61.c: Use -fdump-tree-vrp1-nouid instead of
- -fdump-tree-vrp1.
-
-2011-08-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/50073
- * gfortran.dg/func_result_7.f90: New.
-
-2011-08-13 Jason Merrill <jason@redhat.com>
-
- PR c++/50075
- * g++.dg/cpp0x/decltype32.C: New.
-
- PR c++/50059
- * g++.dg/diagnostic/expr1.C: New.
-
-2011-08-12 David Li <davidxl@google.com>
-
- * g++.dg/abi/vbase15.C: New test.
-
-2011-08-12 Jason Merrill <jason@redhat.com>
-
- PR c++/50034
- * g++.dg/cpp0x/defaulted28.C: Add unevaluated case.
-
-2011-08-12 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/builtins-67.c: New test.
- * gcc.target/i386/conversion.c: Ditto.
-
-2011-08-11 Romain Geissler <romain.geissler@gmail.com>
- Brian Hackett <bhackett1024@gmail.com>
-
- * g++.dg/plugin/decl_plugin.c: New.
- * g++.dg/plugin/decl-plugin-test.C: New.
- * g++.dg/plugin/plugin.exp: Add above testcase.
-
-2011-08-11 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/tree-ssa/pr41186.C: Un-XFAIL.
-
-2011-08-11 Michael Matz <matz@suse.de>
-
- * gcc.dg/graphite/run-id-pr47593.c: Remove -m32.
-
-2011-08-11 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50039
- * gcc.dg/vect/vect.exp: Run no-tree-fre-* tests with -fno-tree-fre.
- * gcc.dg/vect/no-tree-fre-pr50039.c: New test.
-
-2011-08-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/sse4_1-blendps-2.c: Include <stdlib.h>.
- (sse4_1_test): Initialize src3 with random value.
-
-2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
-
- * gcc.c-torture/execute/scal-to-vec1.c: New test.
- * gcc.c-torture/execute/scal-to-vec2.c: New test.
- * gcc.c-torture/execute/scal-to-vec3.c: New test.
- * gcc.dg/scal-to-vec1.c: New test.
- * gcc.dg/scal-to-vec2.c: New test.
-
-2011-08-09 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/vrp57.c: Disable CCP.
- * gcc.dg/tree-ssa/vrp60.c: New testcase.
- * gcc.dg/tree-ssa/vrp61.c: Likewise.
- * gcc.dg/tree-ssa/vrp62.c: Likewise.
-
-2011-08-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gfortran.dg/scratch_1.f90: Skip on spu-*-*.
-
-2011-08-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc.dg/pr49948.c: Require pthread effective target.
-
-2011-08-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc.dg/lto/20110201-1_0.c: Provide dummy sqrt.
-
-2011-08-09 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse-22a.c: New test.
-
-2011-08-09 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/50014
- * gcc.dg/vect/pr50014.c: New test.
-
-2011-08-08 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/49923
- * gcc.dg/tree-ssa/pr49923.c: New test.
-
-2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49781
- * gcc.target/i386/pr49781-1.c: New.
-
-2011-08-08 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/range-for20.C: Adjust to test 50020 as well.
-
- * g++.dg/cpp0x/initlist5.C: Add 50011 test.
-
-2011-08-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49638
- * gfortran.dg/typebound_override_1.f90: New.
-
-2011-08-07 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/tree-ssa/pr23455.c: Adjust testcases for LLP64 for
- x86_64 mingw target.
- * gcc.dg/tree-ssa/loop-1.c: Likewise.
- * gcc.dg/tree-ssa/ssa-store-ccp-2.c: Likewise.
- * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Likewise.
- * gcc.dg/tree-ssa/loop-33.c: Likewise.
- * gcc.dg/tree-ssa/ssa-store-ccp-4.c: Likewise.
- * gcc.dg/tree-ssa/loop-35.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-2.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-4.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-5.c: Likewise.
- * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
-
-2011-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR testsuite/48727
- * g++.dg/opt/devirt2.C: Use specific pattern for alpha*-*-*.
-
-2011-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/pr48770.c: Cleanup coverage files.
- * gfortran.dg/vect/O3-pr49957.f: Cleanup vect tree dump.
-
-2011-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse-22.c (dg-options): Add -march=k8.
- (pragma GCC target): Add avx, fma4, lzcnt and bmi options.
- * gcc.target/i386/sse-23.c (pragma GCC target): Add avx, fma4,
- lzcnt and bmi options.
-
-2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47381
- * gcc.dg/pr47381-1.c: New.
- * gcc.dg/pr47381-2.c: Likewise.
- * gcc.target/i386/pr47381.c: Likewise.
-
-2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47727
- * gcc.dg/pr47727.c: New.
-
- PR target/47372
- * gcc.dg/pr47372-1.c: New.
- * gcc.dg/pr47372-2.c: Likewise.
-
-2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47449
- * gcc.target/i386/pr47449.c: New.
-
- PR target/47446
- * gcc.dg/pr47446-1.c: New.
- * gcc.dg/pr47446-2.c: Likewise.
-
-2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47766
- * gcc.dg/pr47766.c: New.
-
- PR target/47715
- * gcc.dg/tls/pr47715-1.c: New.
- * gcc.dg/tls/pr47715-2.c: Likewise.
- * gcc.dg/tls/pr47715-3.c: Likewise.
- * gcc.dg/tls/pr47715-4.c: Likewise.
- * gcc.dg/tls/pr47715-5.c: Likewise.
-
-2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR libobjc/50002
- * objc.dg/gnu-api-2-class.m: Updated comments.
- * obj-c++.dg/gnu-api-2-class.mm: Likewise.
- * objc.dg/gnu-api-2-class-meta.m: New test.
- * obj-c++.dg/gnu-api-2-class-meta.mm: Likewise.
-
-2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR libobjc/49882
- * obj-c++.dg/gnu-api-2-class.mm (main): Test class_getSuperclass()
- with classes that are in construction.
-
-2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/48084
- * gcc.target/i386/pr48084-1.c: New.
- * gcc.target/i386/pr48084-2.c: Likewise.
- * gcc.target/i386/pr48084-3.c: Likewise.
- * gcc.target/i386/pr48084-4.c: Likewise.
- * gcc.target/i386/pr48084-5.c: Likewise.
-
- PR rtl-optimization/49504
- * gcc.target/i386/pr49504.c: New.
-
- PR target/49860
- * gcc.dg/pr49860.c: New.
-
-2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR libobjc/49882
- * objc.dg/gnu-api-2-class.m (main): Test class_getSuperclass()
- with classes that are in construction.
-
-2011-08-05 Jason Merrill <jason@redhat.com>
-
- PR c++/48993
- * g++.dg/cpp0x/constexpr-48089.C: Add cases.
-
- PR c++/49921
- * g++.dg/cpp0x/decltype31.C: New.
-
- PR c++/49669
- * g++.dg/init/array28.C: New.
-
- PR c++/49988
- * g++.dg/cpp0x/constexpr-non-const-arg3.C: New.
-
-2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47369
- * gcc.dg/pr47369-1.c: New.
-
-2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47364
- * gcc.dg/torture/pr47364-1.c: New.
- * gcc.c-torture/compile/pr47364-1.c: Likewise.
- * gcc.c-torture/compile/pr47364-2.c: Likewise.
-
-2011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/37211
- * gfortran.dg/transfer_check_2.f90: New test case.
-
-2011-08-05 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49494
- * gfortran.dg/pr49494.f90: New testcase.
-
-2011-08-05 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49735
- * gcc.c-torture/compile/pr49735.c: New testcase.
-
-2011-08-05 Jason Merrill <jason@redhat.com>
-
- PR c++/47453
- * g++.dg/cpp0x/initlist56.C: New.
-
- PR c++/49812
- * g++.dg/overload/rvalue2.C: New.
-
- PR c++/49983
- * g++.dg/cpp0x/range-for21.C: New.
-
- * g++.dg/ext/vla11.C: New.
-
-2011-08-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49984
- * gcc.dg/tree-ssa/vrp59.c: New testcase.
-
-2011-08-05 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/vrp51.c: Disable CCP.
- * gcc.dg/tree-ssa/vrp52.c: Likewise.
- * gcc.dg/tree-ssa/vrp53.c: Likewise.
-
-2011-08-04 Mikael Morin <mikael.morin@sfr.fr>
-
- * gfortran.dg/dependency_26.f90: Add a module to the cleanup directive.
- * gfortran.dg/trim_optimize_2.f90: Add a module cleanup directive.
- * gfortran.dg/ldist-pr43023.f90: Ditto.
- * gfortran.dg/namelist_52.f90: Ditto.
- * gfortran.dg/interface_proc_end.f90: Ditto.
- * gfortran.dg/vector_subscript_bound_1.f90: Ditto.
- * gfortran.dg/generic_typebound_operator_1.f90: Ditto.
-
-2011-08-04 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-over-widen-1.c: New test.
- * gcc.dg/vect/vect-over-widen-2.c: New test.
- * gcc.dg/vect/vect-over-widen-3.c: New test.
- * gcc.dg/vect/vect-over-widen-4.c: New test.
-
-2011-08-04 Richard Guenther <rguenther@suse.de>
-
- PR fortran/49957
- * gfortran.dg/vect/O3-pr49957.f: New testcase.
-
-2011-08-04 Ian Bolton <ian.bolton@arm.com>
-
- * gcc.target/arm/vfp-1.c: no large negative offsets on Thumb2.
-
-2011-08-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49905
- * g++.dg/ext/builtin-object-size3.C: New test.
-
-2011-08-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49948
- * gcc.dg/pr49948.c: New test.
-
-2011-08-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47383
- * gcc.dg/torture/pr47383.c: New.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * gnat.dg/specs/debug1.ads: Add missing -margs switch.
-
-2011-08-03 Arnaud Charlet <charlet@adacore.com>
-
- * lib/gnat-dg.exp: Use gnatmake -c -u to compile a single file.
-
-2011-08-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47744
- * gcc.dg/torture/pr47744-1.c: New.
- * gcc.dg/torture/pr47744-2.c: Likewise.
- * gcc.dg/torture/pr47744-3.c: Likewise.
-
-2011-08-03 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/49958
- * gcc.dg/torture/pr49958.c: New testcase.
-
-2011-08-03 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49938
- * g++.dg/torture/pr49938.C: New testcase.
-
-2011-08-02 Jason Merrill <jason@redhat.com>
-
- PR c++/43886
- * g++.dg/cpp0x/lambda/lambda-defarg2.C: New.
-
- PR c++/49577
- * g++.dg/cpp0x/initlist5.C: Add additional cases.
-
- PR c++/49593
- * g++.dg/cpp0x/variadic115.C: New.
-
- PR c++/49803
- * g++.dg/cpp0x/union5.C: New.
-
-2011-08-02 Daniel Kraft <d@domob.eu>
-
- PR fortran/49885
- * gfortran.dg/auto_char_dummy_array_3.f90: New test.
-
-2011-08-02 Kai Tietz <ktietz@redhat.com>
-
- PR middle-end/49947
- * gcc.dg/tree-ssa/forwprop-15.c
-
-2011-08-02 Jason Merrill <jason@redhat.com>
-
- PR c++/49834
- * g++.dg/cpp0x/range-for20.C: New.
-
-2011-08-02 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_lib_token_3.f90: New.
-
-2011-08-02 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/46752
- * gcc.dg/gomp/atomic-5.c: Adjust expected diagnostics.
- * gcc.dg/gomp/atomic-15.c: New test.
- * g++.dg/gomp/atomic-5.C: Adjust expected diagnostics.
- * g++.dg/gomp/atomic-15.C: New test.
- * g++.dg/gomp/private-1.C: New test.
- * g++.dg/gomp/sharing-2.C: New test.
- * gfortran.dg/gomp/crayptr1.f90: Don't expect error
- about Cray pointer in FIRSTPRIVATE/LASTPRIVATE.
- * gfortran.dg/gomp/omp_atomic2.f90: New test.
-
-2011-08-02 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/trim_optimize_5.f90: Remove spurious "use foo".
- * gfortran.dg/actual_array_vect_1.f90: Fix or add dg-final
- cleanup-module.
- * gfortran.dg/alloc_comp_assign_7.f90: Ditto.
- * gfortran.dg/allocatable_function_5.f90: Ditto.
- * gfortran.dg/allocate_stat.f90: Ditto.
- * gfortran.dg/array_constructor_20.f90: Ditto.
- * gfortran.dg/array_constructor_21.f90: Ditto.
- * gfortran.dg/array_constructor_22.f90: Ditto.
- * gfortran.dg/array_constructor_26.f03: Ditto.
- * gfortran.dg/array_function_4.f90: Ditto.
- * gfortran.dg/assumed_charlen_function_1.f90: Ditto.
- * gfortran.dg/assumed_size_dt_dummy.f90: Ditto.
- * gfortran.dg/bind_c_usage_15.f90: Ditto.
- * gfortran.dg/bind_c_usage_16.f03: Ditto.
- * gfortran.dg/bind_c_usage_3.f03: Ditto.
- * gfortran.dg/binding_label_tests_7.f03: Ditto.
- * gfortran.dg/class_15.f03: Ditto.
- * gfortran.dg/class_27.f03: Ditto.
- * gfortran.dg/class_33.f90: Ditto.
- * gfortran.dg/class_37.f03: Ditto.
- * gfortran.dg/class_40.f03: Ditto.
- * gfortran.dg/class_42.f03: Ditto.
- * gfortran.dg/class_defined_operator_1.f03: Ditto.
- * gfortran.dg/coarray/registering_1.f90: Ditto.
- * gfortran.dg/convert_1.f90: Ditto.
- * gfortran.dg/default_initialization_3.f90: Ditto.
- * gfortran.dg/dependency_25.f90: Ditto.
- * gfortran.dg/dependency_26.f90: Ditto.
- * gfortran.dg/dependency_36.f90: Ditto.
- * gfortran.dg/dependency_37.f90: Ditto.
- * gfortran.dg/derived_array_intrinisics_1.f90: Ditto.
- * gfortran.dg/dynamic_dispatch_10.f03: Ditto.
- * gfortran.dg/elemental_non_intrinsic_dummy_1.f90 |: Ditto.
- * gfortran.dg/elemental_pointer_1.f90: Ditto.
- * gfortran.dg/elemental_result_1.f90: Ditto.
- * gfortran.dg/empty_derived_type.f90: Ditto.
- * gfortran.dg/entry_7.f90: Ditto.
- * gfortran.dg/entry_dummy_ref_2.f90: Ditto.
- * gfortran.dg/equiv_constraint_3.f90: Ditto.
- * gfortran.dg/error_recovery_3.f90: Ditto.
- * gfortran.dg/extends_4.f03: Ditto.
- * gfortran.dg/func_assign.f90: Ditto.
- * gfortran.dg/func_assign_3.f90: Ditto.
- * gfortran.dg/generic_1.f90: Ditto.
- * gfortran.dg/generic_18.f90: Ditto.
- * gfortran.dg/generic_22.f03: Ditto.
- * gfortran.dg/generic_4.f90: Ditto.
- * gfortran.dg/generic_6.f90: Ditto.
- * gfortran.dg/generic_actual_arg.f90: Ditto.
- * gfortran.dg/graphite/id-21.f: Ditto.
- * gfortran.dg/graphite/pr45758.f90: Ditto.
- * gfortran.dg/host_assoc_call_2.f90: Ditto.
- * gfortran.dg/host_assoc_call_3.f90: Ditto.
- * gfortran.dg/host_assoc_call_4.f90: Ditto.
- * gfortran.dg/host_assoc_function_4.f90: Ditto.
- * gfortran.dg/host_used_types_1.f90: Ditto.
- * gfortran.dg/implicit_1.f90: Ditto.
- * gfortran.dg/implicit_11.f90: Ditto.
- * gfortran.dg/implicit_derived_type_1.f90: Ditto.
- * gfortran.dg/impure_actual_1.f90: Ditto.
- * gfortran.dg/impure_assignment_1.f90: Ditto.
- * gfortran.dg/impure_constructor_1.f90: Ditto.
- * gfortran.dg/initialization_10.f90: Ditto.
- * gfortran.dg/initialization_12.f90: Ditto.
- * gfortran.dg/interface_14.f90: Ditto.
- * gfortran.dg/interface_15.f90: Ditto.
- * gfortran.dg/interface_2.f90: Ditto.
- * gfortran.dg/interface_25.f90: Ditto.
- * gfortran.dg/interface_26.f90: Ditto.
- * gfortran.dg/interface_29.f90: Ditto.
- * gfortran.dg/interface_assignment_1.f90: Ditto.
- * gfortran.dg/internal_pack_6.f90: Ditto.
- * gfortran.dg/internal_pack_7.f90: Ditto.
- * gfortran.dg/internal_pack_8.f90: Ditto.
- * gfortran.dg/lto/pr45586_0.f90: Ditto.
- * gfortran.dg/lto/pr47839_0.f90: Ditto.
- * gfortran.dg/module_commons_3.f90: Ditto.
- * gfortran.dg/module_equivalence_4.f90: Ditto.
- * gfortran.dg/module_equivalence_6.f90: Ditto.
- * gfortran.dg/module_function_type_1.f90: Ditto.
- * gfortran.dg/module_naming_1.f90: Ditto.
- * gfortran.dg/namelist_4.f90: Ditto.
- * gfortran.dg/operator_c1202.f90: Ditto.
- * gfortran.dg/parens_7.f90: Ditto.
- * gfortran.dg/pr32921.f: Ditto.
- * gfortran.dg/pr33646.f90: Ditto.
- * gfortran.dg/pr41928.f90: Ditto.
- * gfortran.dg/pr42119.f90: Ditto.
- * gfortran.dg/pr43984.f90: Ditto.
- * gfortran.dg/present_1.f90: Ditto.
- * gfortran.dg/private_type_2.f90: Ditto.
- * gfortran.dg/proc_decl_2.f90: Ditto.
- * gfortran.dg/proc_ptr_10.f90: Ditto.
- * gfortran.dg/proc_ptr_22.f90: Ditto.
- * gfortran.dg/proc_ptr_8.f90: Ditto.
- * gfortran.dg/proc_ptr_comp_12.f90: Ditto.
- * gfortran.dg/proc_ptr_comp_pass_6.f90: Ditto.
- * gfortran.dg/pure_formal_proc_2.f90: Ditto.
- * gfortran.dg/realloc_on_assign_4.f03: Ditto.
- * gfortran.dg/substring_equivalence.f90: Ditto.
- * gfortran.dg/transfer_assumed_size_1.f90: Ditto.
- * gfortran.dg/transpose_optimization_1.f90: Ditto.
- * gfortran.dg/trim_optimize_6.f90: Ditto.
- * gfortran.dg/typebound_call_12.f03: Ditto.
- * gfortran.dg/typebound_operator_5.f03: Ditto.
- * gfortran.dg/typebound_operator_6.f03: Ditto.
- * gfortran.dg/typebound_proc_18.f03: Ditto.
- * gfortran.dg/unreferenced_use_assoc_1.f90: Ditto.
- * gfortran.dg/use_1.f90: Ditto.
- * gfortran.dg/use_10.f90: Ditto.
- * gfortran.dg/use_11.f90: Ditto.
- * gfortran.dg/use_14.f90: Ditto.
- * gfortran.dg/use_only_2.f90: Ditto.
- * gfortran.dg/use_rename_4.f90: Ditto.
- * gfortran.dg/use_rename_5.f90: Ditto.
- * gfortran.dg/used_dummy_types_3.f90: Ditto.
- * gfortran.dg/used_interface_ref.f90: Ditto.
- * gfortran.dg/used_types_11.f90: Ditto.
- * gfortran.dg/used_types_3.f90: Ditto.
- * gfortran.dg/used_types_4.f90: Ditto.
- * gfortran.dg/userdef_operator_2.f90: Ditto.
- * gfortran.dg/vect/fast-math-vect-8.f90: Ditto.
- * gfortran.dg/vect/pr46213.f90: Ditto.
- * gfortran.dg/whole_file_21.f90: Ditto.
- * gfortran.dg/whole_file_22.f90: Ditto.
- * gfortran.dg/coarray_lib_token_1.f90: Ditto. Add space before "}".
- * gfortran.dg/coarray_lib_token_2.f90: Ditto.
-
-2011-08-02 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/tree-ssa/forwprop-15.c: New testcase.
-
-2011-08-01 Jason Merrill <jason@redhat.com>
-
- PR c++/49932
- * g++.dg/abi/mangle49.C: New.
-
- PR c++/49924
- * g++.dg/cpp0x/constexpr-array4.C: New.
-
- PR c++/49813
- * g++.dg/cpp0x/constexpr-builtin1.C: New.
-
-2011-08-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49927
- * gcc.target/i386/pr49927.c: New test.
-
-2011-08-01 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49926
- * gcc.dg/vect/pr49926.c: New test.
-
-2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * gcc.target/i386/i386.exp (check_effective_target_lzcnt): New.
- * gcc.target/i386/lzcnt-1.c: New test.
- * gcc.target/i386/lzcnt-2.c: Likewise.
- * gcc.target/i386/lzcnt-2a.c: Likewise.
- * gcc.target/i386/lzcnt-3.c: Likewise.
- * gcc.target/i386/lzcnt-4.c: Likewise.
- * gcc.target/i386/lzcnt-4a.c: Likewise.
- * gcc.target/i386/lzcnt-5.c: Likewise.
- * gcc.target/i386/lzcnt-6.c: Likewise.
- * gcc.target/i386/lzcnt-6a.c: Likewise.
- * gcc.target/i386/lzcnt-check.h: Likewise.
-
- * gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt.
- * gcc.target/i386/sse-13.c: Likewise.
- * gcc.target/i386/sse-14.c: Likewise.
- * g++.dg/other/i386-2.C: Likewise.
- * g++.dg/other/i386-3.C: Likewise.
-
-2011-08-01 Julian Brown <julian@codesourcery.com>
-
- * gcc.target/arm/fixed-point-exec.c: New test.
-
-2011-07-31 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49920
- * gcc.target/i386/pr49920.c: New test.
-
-2011-07-31 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only.
- * gcc.dg/tree-ssa/pr23109.c: Ditto.
- * gcc.dg/tree-ssa/loop-7.c: Ditto.
- * gcc.dg/tree-ssa/loop-32.c: Ditto.
- * gcc.dg/tree-ssa/loop-33.c: Ditto.
- * gcc.dg/tree-ssa/loop-34.c: Ditto.
- * gcc.dg/tree-ssa/loop-35.c: Ditto.
- * gcc.dg/tree-ssa/restrict-3.c: Ditto.
- * gcc.dg/tree-ssa/ssa-lim-2.c: Ditto.
- * gcc.dg/tree-ssa/ssa-lim-1.c: Ditto.
- * gcc.dg/tree-ssa/ssa-lim-3.c: Ditto.
- * gcc.dg/tree-ssa/ssa-lim-6.c: Ditto.
- * gcc.dg/tree-ssa/structopt-1.c: Ditto.
- * g++.dg/tree-ssa/pr33615.C: Ditto.
- * g++.dg/tree-ssa/restrict1.C: Ditto.
- * c-c++-common/restrict-2.c: Ditto.
- * gfortran.dg/pr32921.f: Ditto.
- * gcc.dg/tree-ssa/ssa-dse-10.c: Dump and cleanup dse1 pass only.
- * gcc.dg/fold-compare-2.c: Dump and cleanup vrp1 pass only.
- * gcc.dg/tree-ssa/vrp47.c: Ditto.
- * gcc.dg/tree-ssa/pr25501.c: Dump and cleanup mergephi1 pass only.
- * gcc.dg/tree-ssa/pr15349.c: Dump and cleanup mergephi2 pass only.
- * gcc.dg/tree-ssa/tailrecursion-1.c: Dump and cleanup tailr1 pass only.
- * gcc.dg/tree-ssa/tailrecursion-2.c: Ditto.
- * gcc.dg/tree-ssa/tailrecursion-3.c: Ditto.
- * gcc.dg/tree-ssa/tailrecursion-4.c: Ditto.
- * gcc.dg/tree-ssa/tailrecursion-6.c: Ditto.
-
-2011-07-31 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and
- .exe.ltrans[0-9]*. dump files.
-
-2011-07-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49112
- * gfortran.dg/abstract_type_6.f03: Modified.
- * gfortran.dg/typebound_proc_24.f03: New.
-
-2011-07-30 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR testsuite/49917
- * g++.dg/init/for1.C: Fix.
-
-2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48876
- * gfortran.dg/string_5.f90: New test.
-
-2011-07-29 Jason Merrill <jason@redhat.com>
-
- PR c++/49867
- * g++.dg/cpp0x/lambda/lambda-switch.C: New.
-
-2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/47407
- * gcc.dg/tree-ssa/pr42585.c: XFAIL scan-tree-dump-times on
- alpha*-dec-osf*.
- Sort target list.
-
-2011-07-29 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/uninit-suppress.c: Also disable VRP.
- * gcc.dg/uninit-suppress_2.c: Likewise.
-
-2011-07-28 Jason Merrill <jason@redhat.com>
-
- PR c++/49808
- * g++.dg/template/nontype24.C: New.
-
-2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/47958
- * gcc.dg/torture/pr47958-1.c: New.
-
-2011-07-29 Wei Guozhi <carrot@google.com>
-
- PR rtl-optimization/49799
- * gcc.dg/pr49799.c: New test case.
-
-2011-07-22 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/48648
- * gcc.dg/graphite/id-pr48648.c: New.
-
-2011-07-28 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/31067
- * gfortran.dg/maxloc_2.f90: New test.
- * gfortran.dg/maxloc_3.f90: New test.
- * gfortran.dg/minloc_1.f90: New test.
- * gfortran.dg/minloc_2.f90: New test.
- * gfortran.dg/minloc_3.f90: New test.
- * gfortran.dg/minmaxloc_7.f90: New test.
-
- PR debug/49871
- * gcc.dg/debug/dwarf2/pr49871.c: New test.
-
-2011-07-28 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
- the builtin isn't optimized away.
-
-2011-07-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/45586
- * gfortran.dg/lto/pr45586-2_0.f90: New.
-
-2011-07-27 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/49875
- * c-c++-common/cxxbitfields-4.c: Check for smaller than long moves.
- * c-c++-common/cxxbitfields-5.c: Same.
-
-2011-07-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * lib/target-supports.exp (check_effective_target_mmap): Use
- check_function_available.
-
-2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
-
- * g++.old-deja/g++.pt/crash60.C: Updated.
-
-2011-07-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49866
- * gcc.target/i386/pr49866.c: New test.
-
-2011-07-27 Yukhin Kirill <kirill.yukhin@intel.com>
-
- * gcc.target/i386/i386.exp (check_effective_target_bmi): New.
- * gcc.target/i386/bmi-andn-1.c: New test.
- * gcc.target/i386/bmi-andn-1a.c: Likewise.
- * gcc.target/i386/bmi-andn-2.c: Likewise.
- * gcc.target/i386/bmi-andn-2a.c: Likewise.
- * gcc.target/i386/bmi-bextr-1.c: Likewise.
- * gcc.target/i386/bmi-bextr-1a.c: Likewise.
- * gcc.target/i386/bmi-bextr-2.c: Likewise.
- * gcc.target/i386/bmi-bextr-2a.c: Likewise.
- * gcc.target/i386/bmi-blsi-1.c: Likewise.
- * gcc.target/i386/bmi-blsi-1a.c: Likewise.
- * gcc.target/i386/bmi-blsi-2.c: Likewise.
- * gcc.target/i386/bmi-blsi-2a.c: Likewise.
- * gcc.target/i386/bmi-blsmsk-1.c: Likewise.
- * gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
- * gcc.target/i386/bmi-blsmsk-2.c: Likewise.
- * gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
- * gcc.target/i386/bmi-blsr-1.c: Likewise.
- * gcc.target/i386/bmi-blsr-1a.c: Likewise.
- * gcc.target/i386/bmi-blsr-2.c: Likewise.
- * gcc.target/i386/bmi-blsr-2a.c: Likewise.
- * gcc.target/i386/bmi-tzcnt-1.c: Likewise.
- * gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
- * gcc.target/i386/bmi-tzcnt-2.c: Likewise.
- * gcc.target/i386/bmi-tzcnt-2a.c: Likewise.
-
-2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47691
- * gfortran.dg/graphite/id-pr47691.f: New.
-
-2011-07-27 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx-os-support.h: New.
- * gcc.target/i386/avx-check.h: Include avx-os-support.h
- (main): Check avx_os_support before the test is run.
- * gcc.target/i386/aes-avx-check.h: Ditto.
- * gcc.target/i386/pclmul-avx-check.h: Ditto.
-
-2011-07-27 Kai Tietz <ktietz@redhat.com>
-
- * gcc.target/i386/aggregate-ret3.c: New test.
- * gcc.target/i386/aggregate-ret4.c: New test.
-
-2011-07-27 Daniel Carrera <dcarrera@gmail.com>
-
- PR fortran/49755
- * gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
- allocated array should *not* change its size.
- * gfortran.dg/multiple_allocation_3.f90: New test.
-
-2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49776
- * g++.dg/cpp0x/constexpr-49776.C: New.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47046
- * gcc.dg/graphite/id-pr47046.c: New.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47653
- * gcc.dg/graphite/run-id-pr47593.c: New.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47653
- * gcc.dg/graphite/run-id-pr47653.c: New.
- * gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
- induction variables.
- * gcc.dg/graphite/scop-16.c: Same.
- * gcc.dg/graphite/scop-17.c: Same.
- * gcc.dg/graphite/scop-21.c: Same.
-
-2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/48805
- * gcc.dg/graphite/id-pr48805.c: New.
-
-2011-07-26 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_lib_token_2.f90: New.
-
-2011-07-26 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-70.c: Reduce the data size to fit
- SPU local store.
-
-2011-07-25 Andrew Pinski <apinski@cavium.com>
-
- PR tree-opt/49671
- * gcc.dg/tree-ssa/pr49671-1.c: New testcase.
- * gcc.dg/tree-ssa/pr49671-2.c: New testcase.
-
-2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp (check_effective_target_mmap): New proc.
-
- * gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
- * gcc.c-torture/execute/loop-2g.c: Likewise.
- * gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
- Require mmap support.
- * gcc.c-torture/execute/loop-2g.x: Likewise.
- * gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
- (MAP_ANON): Provide default.
- * gcc.dg/20050826-1.c: Likewise.
- * gcc.target/i386/pr36533.c: Likewise.
- * gcc.dg/vect/pr49038.c: Remove dg-do run.
- Use dg-require-effective-target mmap.
-
-2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/49838
- * g++.dg/cpp0x/range-for19.C: New.
-
-2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/49753
- * g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options.
-
- Revert:
- 2011-07-15 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/49753
- * g++.dg/torture/pr49309.C: Remove.
-
-2011-07-25 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/49809
- * gnat.dg/opt18.adb, gnat.dg/opt18.ads, gnat.dg/opt18_pkg.ads: New
- test.
-
-2011-07-25 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49715
- * gcc.target/i386/pr49715-1.c: New testcase.
- * gcc.target/i386/pr49715-2.c: Likewise.
-
-2011-07-23 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/decltype21.C: Add 49823 examples.
-
-2011-07-22 Jason Merrill <jason@redhat.com>
-
- PR c++/49793
- * g++.dg/cpp0x/initlist55.C: New.
-
-2011-07-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49791
- * gfortran.dg/namelist_72.f: New.
-
-2011-07-23 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_25.f90: New.
-
-2011-07-22 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * override1.C: This test should use c++0x mode.
- * override3.C: New. Test the diagnostics in c++98 mode.
-
-2011-07-22 Jason Merrill <jason@redhat.com>
- Mark Glisse <marc.glisse@normalesup.org>
-
- PR c++/30112
- * g++.dg/other/pragma-re-1.C: Add namespace cases.
-
- PR c++/49813
- * g++.dg/opt/builtins2.C: New.
- * g++.dg/other/error27.C: Don't rely on __builtin.
-
-2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run
- on lp64 targets.
- * gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise.
- * gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise.
- * gcc/testsuite/gcc.target/i386/pr43662.c: Likewise.
- * gcc/testsuite/gcc.target/i386/pr43869.c: Likewise.
-
- * gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32
- instead of ia32.
-
-2011-07-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/45819
- * gcc.dg/pr45819.c: New testcase.
-
-2011-07-22 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/target-supports.exp (check_ifunc_available): Rewrite.
-
-2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
-
- PR middle-end/47654
- PR middle-end/49649
- * gcc.dg/graphite/run-id-pr47654.c: New.
-
-2011-07-21 Ian Lance Taylor <iant@google.com>
-
- PR middle-end/49705
- * gcc.dg/pr49705.c: New test.
-
-2011-07-21 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/target-supports.exp (check_avx_os_support_available): New.
- (check_effective_target_avx_runtime): Use it.
-
-2011-07-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49770
- * g++.dg/torture/pr49770.C: New testcase.
-
-2011-07-21 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/tree-ssa/pr30978.c: adjusted.
- * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
-
-2011-07-21 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_lib_token_1.f90: New.
-
-2011-07-21 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pr32912-2.c: Skip for AVR.
- * gcc.dg/pr44674.c: Add dg-require-profiling.
-
-2011-07-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/ext/desig2.C: New.
-
-2011-07-20 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/ppc-fma-1.c: Adjust to allow non-VSX fmas to
- be generated.
- * gcc.target/powerpc/ppc-fma-2.c: Ditto.
- * gcc.target/powerpc/recip-3.c: Ditto.
-
-2011-07-19 Jason Merrill <jason@redhat.com>
-
- PR c++/6709 (DR 743)
- PR c++/42603 (DR 950)
- * g++.dg/cpp0x/decltype21.C: New.
-
-2011-07-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/18908
- * gcc.dg/tree-ssa/pr18908.c: New testcase.
- * gcc.dg/tree-ssa/bitwise-sink.c: Adjust.
-
-2011-07-20 Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/arm/combine-movs.c: New.
- * gcc.target/arm/unsigned-extend-2.c: New.
-
-2011-07-19 Jason Merrill <jason@redhat.com>
-
- PR c++/49785
- * g++.dg/cpp0x/variadic114.C: New.
-
-2011-07-19 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_args_1.f90: New.
- * gfortran.dg/coarray_args_2.f90: New.
-
-2011-07-19 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49708
- * gfortran.dg/allocate_error_3.f90: New.
-
-2011-07-19 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/bool-10.c: Adjust expected pattern.
- * gcc.dg/tree-ssa/bool-11.c: Likewise.
- * gcc.dg/torture/20110719-1.c: New testcase.
-
-2011-07-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49768
- * gcc.c-torture/execute/pr49768.c: New test.
-
-2011-07-19 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49771
- * gcc.dg/vect/pr49771.c: New test.
-
-2011-07-18 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/ipa/ipa-1.c: Updated testcase dump scan.
- * gcc.dg/ipa/ipa-2.c: Likewise.
- * gcc.dg/ipa/ipa-3.c: Likewise and made functions static.
- * gcc.dg/ipa/ipa-4.c: Updated testcase dump scan.
- * gcc.dg/ipa/ipa-5.c: Likewise.
- * gcc.dg/ipa/ipa-7.c: Likewise.
- * gcc.dg/ipa/ipa-8.c: Updated testcase dump scan.
- * gcc.dg/ipa/ipacost-1.c: Likewise.
- * gcc.dg/ipa/ipacost-2.c: Likewise and increased sizes of some
- functions.
- * gcc.dg/ipa/ipcp-1.c: New test.
- * gcc.dg/ipa/ipcp-2.c: Likewise.
- * gcc.dg/tree-ssa/ipa-cp-1.c: Updated testcase.
-
-2011-07-18 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49675
- * gfortran.dg/pr49675.f90: New test.
-
-2011-07-18 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/20110718-1.c: New testcase.
-
-2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
- * g++.dg/ext/bitfield3.C: Likewise.
- * g++.dg/ext/bitfield4.C: Likewise.
- * g++.dg/ext/bitfield5.C: Likewise.
- * g++.dg/other/PR23205.C: Remove *-*-netware* support.
- * g++.dg/other/pr23205-2.C: Likewise.
- * gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
- * gcc.c-torture/compile/20001109-2.c: Likewise.
- * gcc.dg/20040813-1.c: Remove *-*-netware* support.
- * gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
- * gcc.dg/bitfld-16.c: Likewise.
- * gcc.dg/bitfld-17.c: Likewise.
- * gcc.dg/bitfld-18.c: Likewise.
- * gcc.dg/builtins-config.h: Remove Netware support.
- * gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number.
- * gcc.dg/cdce2.c: Likewise.
- * gcc.dg/cpp/assert4.c: Remove netware support.
- * gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
- * gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.
-
- * lib/target-supports.exp (check_visibility_available): Remove
- NetWare support.
- (check_profiling_available): Likewise.
-
-2011-07-18 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/pr49038.c: Run only on targets that support mmap.
-
-2011-07-17 Tobias Burnus <burnus@net-b.de>
- Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/34657
- * gfortran.dg/generic_17.f90: Fix testcase.
- * gfortran.dg/interface_3.f90: Add dg-error.
- * gfortran.dg/use_14.f90: New.
- * gfortran.dg/use_15.f90: New.
-
-2011-07-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/pointer_controlled.adb: New test.
-
-2011-07-17 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49624
- * gfortran.dg/pointer_remapping_7.f90: New.
-
-2011-07-16 Jason Merrill <jason@redhat.com>
-
- * lib/prune.exp (prune_gcc_output): Prune "In substitution" too.
-
-2011-07-16 Nathan Froyd <froydnj@codesourcery.com>
- Jason Merrill <jason@redhat.com>
-
- PR c++/45329
- PR c++/48934
- * g++.dg/cpp0x/decltype29.C: Adjust.
- * g++.dg/cpp0x/error4.C: Adjust.
- * g++.dg/cpp0x/sfinae26.C: Adjust.
- * g++.dg/cpp0x/variadic105.C: Adjust.
- * g++.dg/template/deduce3.C: Adjust.
- * g++.dg/template/error45.C: Adjust.
- * g++.dg/template/ptrmem2.C: Adjust.
- * g++.dg/template/sfinae2.C: Adjust.
- * g++.old-deja/g++.pt/crash60.C: Adjust.
- * g++.old-deja/g++.pt/unify6.C: Adjust.
- * g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust.
- * g++.dg/cpp0x/nullptr15.C: Adjust.
- * g++.dg/cpp0x/pr31431-2.C: Adjust.
- * g++.dg/cpp0x/pr31431.C: Adjust.
- * g++.dg/cpp0x/pr31434.C: Adjust.
- * g++.dg/cpp0x/sfinae11.C: Adjust
- * g++.dg/cpp0x/temp_default2.C: Adjust.
- * g++.dg/cpp0x/trailing4.C: Adjust.
- * g++.dg/cpp0x/variadic-ex3.C: Adjust.
- * g++.dg/cpp0x/variadic-ex4.C: Adjust.
- * g++.dg/cpp0x/variadic105.C: Adjust.
- * g++.dg/cpp0x/vt-37737-2.C: Adjust.
- * g++.dg/ext/vla2.C: Adjust.
- * g++.dg/other/ptrmem10.C: Adjust.
- * g++.dg/other/ptrmem11.C: Adjust.
- * g++.dg/overload/unknown1.C: Adjust.
- * g++.dg/template/conv11.C: Adjust.
- * g++.dg/template/dependent-expr5.C: Adjust.
- * g++.dg/template/friend.C: Adjust.
- * g++.dg/template/incomplete2.C: Adjust.
- * g++.dg/template/local4.C: Adjust.
- * g++.dg/template/local6.C: Adjust.
- * g++.dg/template/operator9.C: Adjust.
- * g++.dg/template/ttp25.C: Adjust.
- * g++.dg/template/unify10.C: Adjust.
- * g++.dg/template/unify11.C: Adjust.
- * g++.dg/template/unify6.C: Adjust.
- * g++.dg/template/unify9.C: Adjust.
- * g++.dg/template/varmod1.C: Adjust.
- * g++.old-deja/g++.brendan/crash56.C: Adjust.
- * g++.old-deja/g++.pt/crash28.C: Adjust.
- * g++.old-deja/g++.pt/explicit41.C: Adjust.
- * g++.old-deja/g++.pt/explicit77.C: Adjust.
- * g++.old-deja/g++.pt/expr2.C: Adjust.
- * g++.old-deja/g++.pt/ptrmem6.C: Adjust.
- * g++.old-deja/g++.pt/spec5.C: Adjust.
- * g++.old-deja/g++.pt/spec6.C: Adjust.
- * g++.old-deja/g++.pt/unify4.C: Adjust.
- * g++.old-deja/g++.pt/unify8.C: Adjust.
- * g++.old-deja/g++.robertl/eb98.C: Adjust.
- * g++.dg/overload/template5.C: New testcase.
- * g++.dg/template/overload12.C: New testcase.
-
-2011-07-11 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/coarray_14.f90: Remove dg-error "sorry not implemented".
- * gfortran.dg/coarray_7.f90: Ditto.
- * gfortran.dg/coarray/scalar_alloc_1.f90: New.
- * gfortran.dg/coarray/scalar_alloc_2.f90: New.
-
-2011-07-16 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Add tic6x-*-*
- case.
- * gcc.c-torture/execute/ieee/20000320-1.x: Likewise.
- * gcc.c-torture/execute/ieee/hugeval.x: Likewise.
- * gcc.c-torture/execute/ieee/mzero2.c: Comment out the divide tests for
- C67X.
- * gcc.c-torture/execute/ieee/pr29302.x: New file.
- * gcc.dg/torture/type-generic-1.c: Add -DUNSAFE for tic6x-*-*.
- * gcc.dg/torture/builtin-math-7.c: Add a comment.
-
-2011-07-15 Jason Merrill <jason@redhat.com>
-
- PR testsuite/49741
- * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Restore.
- Use --extra_opts instead of --additional_options.
-
-2011-07-15 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/49753
- * g++.dg/torture/pr49309.C: Remove.
-
-2011-07-15 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.target/tic6x/weak-call.c: New test.
- * gcc.target/tic6x/fpcmp.c: New test.
- * gcc.target/tic6x/fpdiv.c: New test.
- * gcc.target/tic6x/rotdi16-scan.c: New test.
- * gcc.target/tic6x/ffssi.c: New test.
- * gcc.target/tic6x/fpdiv-lib.c: New test.
- * gcc.target/tic6x/cold-lc.c: New test.
- * gcc.target/tic6x/longcalls.c: New test.
- * gcc.target/tic6x/abi-align-1.c: New test.
- * gcc.target/tic6x/fpcmp-finite.c: New test.
- * gcc.target/tic6x/rotdi16.c: New test.
- * gcc.target/tic6x/bswapl.c: New test.
- * gcc.target/tic6x/ffsdi.c: New test.
- * gcc.target/tic6x/tic6x.exp: New file.
- * gcc.target/tic6x/builtins/arith24.c: New test.
- * gcc.target/tic6x/builtins/smpy.c: New test.
- * gcc.target/tic6x/builtins/smpylh.c: New test.
- * gcc.target/tic6x/builtins/smpyh.c: New test.
- * gcc.target/tic6x/builtins/sarith1.c: New test.
- * gcc.target/tic6x/builtins/extclr.c: New test
- * gcc.target/tic6x/builtins/c6x-builtins.exp: New file.
- * gcc.target/tic6x/builtin-math-7.c: New test, adapted from gcc.dg.
- * lib/target-supports.exp (chck_profiling_available): Not on tic6x.
- (check_effective_target_ti_c67x, check_effective_target_ti_c64xp):
- New functions.
- * gcc.c-torture/execute/20101011-1.c: Add a condition for
- __TMS320C6X__.
- * gcc.dg/20020312-2.c: Likewise.
- * gcc.dg/pr27095.c: Handle tic6x like hppa.
- * gcc.dg/torture/pr37868.c: Skip on tic6x.
- * gcc.dg/torture/builtin-math-7.c: Likewise.
-
- PR testsuite/49757
- * gcc.target/tic6x/builtins/c6x-builtins.exp: Return if
- not testing tic6x-*-*.
-
-2011-07-14 Andrew Pinski <pinskia@gmail.com>
-
- PR tree-opt/49309
- * g++.dg/torture/pr49309.C: New testcase.
-
-2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.dg/pr48770.c: Add dg-require-effective-target fpic.
-
-2011-07-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49651
- * gcc.dg/torture/pr49651.c: New testcase.
-
-2011-07-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/43746
- * gcc.dg/array-quals-1.c: Don't xfail on AVR.
-
-2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/no-r11-1.c: Change -mno-r11 to
- -mno-pointers-to-nested-functions.
- * gcc.target/powerpc/no-r11-2.c: Ditto.
- * gcc.target/powerpc/no-r11-3.c: Ditto.
-
-2011-07-13 Jason Merrill <jason@redhat.com>
-
- * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Remove.
- * lib/lto.exp (lto_prune_warns): Prune warning about -std=c++0x
- when compiling C files.
- * g++.dg/debug/dwarf2/lineno-simple1.C: Avoid constexpr ctor.
- * g++.dg/debug/dwarf2/pr44641.C: Avoid constexpr ctor.
- * g++.dg/ext/utf-dflt.C: Specify -std=c++98.
- * g++.dg/lookup/anon2.C: Likewise.
- * g++.dg/tree-ssa/copyprop.C: Likewise.
- * g++.old-deja/g++.jason/rfg27.C: Likewise.
- * g++.dg/init/vector1.C: Ignore narrowing errors.
- * g++.dg/torture/pr35526.C: Likewise.
- * g++.old-deja/g++.ext/arrnew.C: Prune C++0x warning.
-
-2011-07-13 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/49296
- * gfortran.dg/read_list_eof_1.f90: Add tests for integer, real,
- and logical reads.
-
-2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.c-torture/execute/990127-2.x: Use -mpc64 on i?86-*-darwin*,
- i?86-*-solaris2*, x86_64-*-darwin*, x86_64-*-solaris2*.
-
-2011-07-13 Uros Bizjak <ubizjak@gmail.com>
-
- * lib/g++.exp (g++_init): Use istarget. Remove target_triplet global.
- * lib/obj-c++.exp (obj-c++_init): Ditto.
- * lib/file-format.exp (gcc_target_object_format): Ditto.
- * lib/target-supports-dg.exp (dg-require-dll): Ditto.
- * lib/target-supports-dg-exp (check_weak_available): Ditto.
- (check_visibility_available): Ditto.
- (check_effective_target_tls_native): Ditto.
- (check_effective_target_tls_emulated): Ditto.
- (check_effective_target_function_sections): Ditto.
-
-2011-07-13 Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/arm/pr48183.c: New test.
-
-2011-07-13 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/torture/20110713-1.c: New testcase.
-
-2011-07-12 Andrew Pinski <pinskia@gmail.com>
-
- PR rtl-opt/49474
- * gcc.c-torture/compile/pr49474.c: New testcase.
-
-2011-07-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49712
- * gcc.c-torture/execute/pr49712.c: New test.
-
-2011-07-11 Jason Merrill <jason@redhat.com>
-
- PR c++/44609
- * g++.dg/template/recurse3.C: New.
-
-2011-07-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49676
- * gcc.dg/guality/csttest.c: New test.
-
- PR fortran/49698
- * gfortran.dg/pr49698.f90: New test.
-
-2011-07-11 Jeff Law <law@redhat.com>
-
- * gcc.dg/uninit-pred-8_b.c: Disable dominator optimizations.
-
-2011-07-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Check ia32.
- * go.test/go-test.exp (go-set-goarch): Likewise.
-
-2011-07-11 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/39633
- * gcc.target/avr/torture/pr39633.c: New test case.
-
-2011-07-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_lock_3.f90: Remove bogus dg-error.
-
-2011-07-11 Georg-Johann Lay <avr@gjlay.de>
-
- * lib/target-supports.exp (check_effective_target_scheduling):
- New Function.
- * gcc.dg/pr46614.c: Add dg-require-effective-target scheduling.
- * gcc.dg/pr45055.c: Ditto.
- * gcc.dg/pr45353.c: Ditto.
- * g++.dg/pr45056.C: Ditto.
-
-2011-07-11 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/compat/struct-by-value-16_main.c: Skip AVR.
- * gcc.dg/compat/struct-by-value-17_main.c: Skip AVR.
- * gcc.dg/compat/struct-by-value-18_main.c: Skip AVR.
- * g++.dg/torture/pr31863.C: Skip AVR.
-
-2011-07-10 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49690
- * gfortran.dg/intrinsic_signal.f90: New.
-
-2011-07-09 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/regress6.C: New.
- * g++.dg/parse/crash45.C: Adjust message.
- * g++.dg/template/crash38.C: Adjust message.
- * g++.dg/template/crash64.C: Adjust message.
-
-2011-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * c-c++-common/dfp/func-vararg-alternate-d128-2.c: Support x32.
- * c-c++-common/dfp/func-vararg-mixed-2.c: Likewise.
- * g++.dg/abi/bitfield3.C: Likewise.
- * g++.dg/eh/pr38662.C: Likewise.
- * g++.dg/ext/attrib36.C: Likewise.
- * g++.dg/ext/attrib37.C: Likewise.
- * g++.dg/ext/attrib8.C: Likewise.
- * g++.dg/ext/tmplattr1.C: Likewise.
- * g++.dg/inherit/override-attribs.C: Likewise.
- * g++.dg/opt/inline9.C: Likewise.
- * g++.dg/opt/life1.C: Likewise.
- * g++.dg/opt/longbranch2.C: Likewise.
- * g++.dg/opt/nrv12.C: Likewise.
- * g++.dg/opt/reg-stack4.C: Likewise.
- * g++.dg/other/pr35504.C: Likewise.
- * g++.dg/other/pr39496.C: Likewise.
- * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
- * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
- * g++.dg/torture/stackalign/stdcall-1.C: Likewise.
- * g++.dg/torture/stackalign/unwind-0.C: Likewise.
- * g++.dg/torture/stackalign/unwind-1.C: Likewise.
- * g++.dg/torture/stackalign/unwind-2.C: Likewise.
- * g++.dg/torture/stackalign/unwind-3.C: Likewise.
- * g++.dg/torture/stackalign/unwind-4.C: Likewise.
- * g++.dg/torture/stackalign/unwind-5.C: Likewise.
- * g++.dg/torture/stackalign/unwind-6.C: Likewise.
- * g++.dg/warn/pr15774-1.C: Likewise.
- * g++.dg/warn/pr15774-2.C: Likewise.
- * g++.old-deja/g++.ext/attrib1.C: Likewise.
- * g++.old-deja/g++.ext/attrib2.C: Likewise.
- * g++.old-deja/g++.ext/attrib3.C: Likewise.
- * g++.old-deja/g++.pt/asm2.C: Likewise.
- * gcc.c-torture/compile/20000804-1.c: Likewise.
- * gcc.c-torture/compile/pr16566-2.c: Likewise.
- * gcc.c-torture/execute/ieee/ieee.exp: Likewise.
- * gcc.dg/20020108-1.c: Likewise.
- * gcc.dg/20020122-2.c: Likewise.
- * gcc.dg/20020122-3.c: Likewise.
- * gcc.dg/20020206-1.c: Likewise.
- * gcc.dg/20020219-1.c: Likewise.
- * gcc.dg/20020310-1.c: Likewise.
- * gcc.dg/20020411-1.c: Likewise.
- * gcc.dg/20020418-2.c: Likewise.
- * gcc.dg/20020426-2.c: Likewise.
- * gcc.dg/20020517-1.c: Likewise.
- * gcc.dg/20030204-1.c: Likewise.
- * gcc.dg/20030826-2.c: Likewise.
- * gcc.dg/20031102-1.c: Likewise.
- * gcc.dg/20031202-1.c: Likewise.
- * gcc.dg/20050111-1.c: Likewise.
- * gcc.dg/20050503-1.c: Likewise.
- * gcc.dg/array-init-1.c: Likewise.
- * gcc.dg/builtin-apply4.c: Likewise.
- * gcc.dg/dfp/pr31344.c: Likewise.
- * gcc.dg/gomp/atomic-11.c: Likewise.
- * gcc.dg/graphite/pr40281.c: Likewise.
- * gcc.dg/ia64-sync-1.c: Likewise.
- * gcc.dg/ia64-sync-2.c: Likewise.
- * gcc.dg/ia64-sync-3.c: Likewise.
- * gcc.dg/ia64-sync-4.c: Likewise.
- * gcc.dg/ifcvt-fabs-1.c: Likewise.
- * gcc.dg/invalid-call-1.c: Likewise.
- * gcc.dg/loop-3.c: Likewise.
- * gcc.dg/lower-subreg-1.c: Likewise.
- * gcc.dg/lto/pr47259_0.c: Likewise.
- * gcc.dg/nested-calls-1.c: Likewise.
- * gcc.dg/pr20017.c: Likewise.
- * gcc.dg/pr25023.c: Likewise.
- * gcc.dg/pr27671-2.c: Likewise.
- * gcc.dg/pr32176.c: Likewise.
- * gcc.dg/pr33676.c: Likewise.
- * gcc.dg/pr35045.c: Likewise.
- * gcc.dg/pr36015.c: Likewise.
- * gcc.dg/pr36584.c: Likewise.
- * gcc.dg/pr36998.c: Likewise.
- * gcc.dg/pr37438.c: Likewise.
- * gcc.dg/pr37908.c: Likewise.
- * gcc.dg/pr41241.c: Likewise.
- * gcc.dg/pr41340.c: Likewise.
- * gcc.dg/pr44136.c: Likewise.
- * gcc.dg/pr44194-1.c: Likewise.
- * gcc.dg/pr46212.c: Likewise.
- * gcc.dg/prefetch-loop-arrays-1.c: Likewise.
- * gcc.dg/setjmp-2.c: Likewise.
- * gcc.dg/short-compare-1.c: Likewise.
- * gcc.dg/short-compare-2.c: Likewise.
- * gcc.dg/smod-1.c: Likewise.
- * gcc.dg/sync-2.c: Likewise.
- * gcc.dg/sync-3.c: Likewise.
- * gcc.dg/tls/opt-1.c: Likewise.
- * gcc.dg/tls/opt-2.c: Likewise.
- * gcc.dg/tls/opt-3.c: Likewise.
- * gcc.dg/torture/badshift.c: Likewise.
- * gcc.dg/torture/fp-int-convert-float80-timode.c: Likewise.
- * gcc.dg/torture/pr20314-2.c: Likewise.
- * gcc.dg/torture/pr36891.c: Likewise.
- * gcc.dg/torture/pr38774.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-2.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-4.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-5.c: Likewise.
- * gcc.dg/torture/stackalign/alloca-6.c: Likewise.
- * gcc.dg/torture/stackalign/fastcall-1.c: Likewise.
- * gcc.dg/torture/stackalign/push-1.c: Likewise.
- * gcc.dg/torture/stackalign/regparm-1.c: Likewise.
- * gcc.dg/torture/stackalign/thiscall-1.c: Likewise.
- * gcc.dg/tree-ssa/loop-28.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-3.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-4.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-5.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-6.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-7.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-8.c: Likewise.
- * gcc.dg/tree-ssa/prefetch-9.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-2.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-3.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-4.c: Likewise.
- * gcc.dg/tree-ssa/stdarg-5.c: Likewise.
- * gcc.dg/tree-ssa/update-unroll-1.c: Likewise.
- * gcc.dg/unroll-1.c: Likewise.
- * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Likewise.
- * gcc.misc-tests/i386-pf-3dnow-1.c: Likewise.
- * gcc.misc-tests/i386-pf-athlon-1.c: Likewise.
- * gcc.misc-tests/i386-pf-none-1.c: Likewise.
- * gcc.misc-tests/i386-pf-sse-1.c: Likewise.
- * gcc.target/i386/20000609-1.c: Likewise.
- * gcc.target/i386/20000720-1.c: Likewise.
- * gcc.target/i386/20000724-1.c: Likewise.
- * gcc.target/i386/20011107-1.c: Likewise.
- * gcc.target/i386/20011119-1.c: Likewise.
- * gcc.target/i386/20020201-3.c: Likewise.
- * gcc.target/i386/20020218-1.c: Likewise.
- * gcc.target/i386/20020729-1.c: Likewise.
- * gcc.target/i386/20030926-1.c: Likewise.
- * gcc.target/i386/20060125-1.c: Likewise.
- * gcc.target/i386/20060125-2.c: Likewise.
- * gcc.target/i386/20060512-1.c: Likewise.
- * gcc.target/i386/20060512-2.c: Likewise.
- * gcc.target/i386/20060512-3.c: Likewise.
- * gcc.target/i386/20060512-4.c: Likewise.
- * gcc.target/i386/387-1.c: Likewise.
- * gcc.target/i386/387-2.c: Likewise.
- * gcc.target/i386/387-5.c: Likewise.
- * gcc.target/i386/387-6.c: Likewise.
- * gcc.target/i386/980312-1.c: Likewise.
- * gcc.target/i386/980313-1.c: Likewise.
- * gcc.target/i386/990117-1.c: Likewise.
- * gcc.target/i386/990424-1.c: Likewise.
- * gcc.target/i386/990524-1.c: Likewise.
- * gcc.target/i386/991129-1.c: Likewise.
- * gcc.target/i386/991214-1.c: Likewise.
- * gcc.target/i386/991230-1.c: Likewise.
- * gcc.target/i386/addr-sel-1.c: Likewise.
- * gcc.target/i386/aggregate-ret1.c: Likewise.
- * gcc.target/i386/aggregate-ret2.c: Likewise.
- * gcc.target/i386/align-main-3.c: Likewise.
- * gcc.target/i386/amd64-abi-1.c: Likewise.
- * gcc.target/i386/amd64-abi-2.c: Likewise.
- * gcc.target/i386/amd64-abi-4.c: Likewise.
- * gcc.target/i386/amd64-abi-5.c: Likewise.
- * gcc.target/i386/amd64-abi-6.c: Likewise.
- * gcc.target/i386/asm-1.c: Likewise.
- * gcc.target/i386/asm-3.c: Likewise.
- * gcc.target/i386/asm-5.c: Likewise.
- * gcc.target/i386/attributes-error.c: Likewise.
- * gcc.target/i386/avx-vcvtsd2si-2.c: Likewise.
- * gcc.target/i386/avx-vcvtsi2sd-2.c: Likewise.
- * gcc.target/i386/avx-vcvtsi2ss-2.c: Likewise.
- * gcc.target/i386/avx-vcvtss2si-2.c: Likewise.
- * gcc.target/i386/avx-vcvttsd2si-2.c: Likewise.
- * gcc.target/i386/avx-vcvttss2si-2.c: Likewise.
- * gcc.target/i386/avx-vinsertps-3.c: Likewise.
- * gcc.target/i386/avx-vmovd-2.c: Likewise.
- * gcc.target/i386/avx-vmovq-2.c: Likewise.
- * gcc.target/i386/avx-vmovq-3.c: Likewise.
- * gcc.target/i386/avx-vpextrq-1.c: Likewise.
- * gcc.target/i386/avx-vpinsrq-1.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-16.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-17.c: Likewise.
- * gcc.target/i386/avx-vzeroupper-18.c: Likewise.
- * gcc.target/i386/bitfield1.c: Likewise.
- * gcc.target/i386/bitfield2.c: Likewise.
- * gcc.target/i386/bmi-2.c: Likewise.
- * gcc.target/i386/bmi-5.c: Likewise.
- * gcc.target/i386/builtin-unreachable.c: Likewise.
- * gcc.target/i386/cleanup-2.c: Likewise.
- * gcc.target/i386/clobbers.c: Likewise.
- * gcc.target/i386/cmov8.c: Likewise.
- * gcc.target/i386/cmpxchg16b-1.c: Likewise.
- * gcc.target/i386/compress-float-387-pic.c: Likewise.
- * gcc.target/i386/compress-float-387.c: Likewise.
- * gcc.target/i386/compress-float-sse-pic.c: Likewise.
- * gcc.target/i386/compress-float-sse.c: Likewise.
- * gcc.target/i386/crc32-2.c: Likewise.
- * gcc.target/i386/crc32-3.c: Likewise.
- * gcc.target/i386/divmod-7.c: Likewise.
- * gcc.target/i386/divmod-8.c: Likewise.
- * gcc.target/i386/fastcall-sseregparm.c: Likewise.
- * gcc.target/i386/fma3-builtin.c: Likewise.
- * gcc.target/i386/fma3-fma.c: Likewise.
- * gcc.target/i386/fma4-256-vector.c: Likewise.
- * gcc.target/i386/fma4-builtin.c: Likewise.
- * gcc.target/i386/fma4-fma-2.c: Likewise.
- * gcc.target/i386/fma4-fma.c: Likewise.
- * gcc.target/i386/fma4-vector-2.c: Likewise.
- * gcc.target/i386/fma4-vector.c: Likewise.
- * gcc.target/i386/funcspec-1.c: Likewise.
- * gcc.target/i386/funcspec-10.c: Likewise.
- * gcc.target/i386/funcspec-11.c: Likewise.
- * gcc.target/i386/funcspec-2.c: Likewise.
- * gcc.target/i386/funcspec-5.c: Likewise.
- * gcc.target/i386/funcspec-6.c: Likewise.
- * gcc.target/i386/gcc-have-sync-compare-and-swap-1.c: Likewise.
- * gcc.target/i386/gcc-have-sync-compare-and-swap-2.c: Likewise.
- * gcc.target/i386/gcc-have-sync-compare-and-swap-3.c: Likewise.
- * gcc.target/i386/gcc-have-sync-compare-and-swap-4.c: Likewise.
- * gcc.target/i386/incoming-1.c: Likewise.
- * gcc.target/i386/incoming-10.c: Likewise.
- * gcc.target/i386/incoming-11.c: Likewise.
- * gcc.target/i386/incoming-12.c: Likewise.
- * gcc.target/i386/incoming-13.c: Likewise.
- * gcc.target/i386/incoming-14.c: Likewise.
- * gcc.target/i386/incoming-15.c: Likewise.
- * gcc.target/i386/incoming-2.c: Likewise.
- * gcc.target/i386/incoming-3.c: Likewise.
- * gcc.target/i386/incoming-4.c: Likewise.
- * gcc.target/i386/incoming-5.c: Likewise.
- * gcc.target/i386/incoming-6.c: Likewise.
- * gcc.target/i386/incoming-7.c: Likewise.
- * gcc.target/i386/incoming-8.c: Likewise.
- * gcc.target/i386/incoming-9.c: Likewise.
- * gcc.target/i386/lea.c: Likewise.
- * gcc.target/i386/local.c: Likewise.
- * gcc.target/i386/loop-1.c: Likewise.
- * gcc.target/i386/loop-2.c: Likewise.
- * gcc.target/i386/loop-3.c: Likewise.
- * gcc.target/i386/max-stack-align.c: Likewise.
- * gcc.target/i386/memcpy-1.c: Likewise.
- * gcc.target/i386/movbe-2.c: Likewise.
- * gcc.target/i386/movq-2.c: Likewise.
- * gcc.target/i386/movq.c: Likewise.
- * gcc.target/i386/nrv1.c: Likewise.
- * gcc.target/i386/pad-4.c: Likewise.
- * gcc.target/i386/pad-5a.c: Likewise.
- * gcc.target/i386/pad-5b.c: Likewise.
- * gcc.target/i386/pad-6a.c: Likewise.
- * gcc.target/i386/pad-6b.c: Likewise.
- * gcc.target/i386/pad-7.c: Likewise.
- * gcc.target/i386/pad-9.c: Likewise.
- * gcc.target/i386/pentium4-not-mull.c: Likewise.
- * gcc.target/i386/pic-1.c: Likewise.
- * gcc.target/i386/pr12092-1.c: Likewise.
- * gcc.target/i386/pr12329.c: Likewise.
- * gcc.target/i386/pr21518.c: Likewise.
- * gcc.target/i386/pr22362.c: Likewise.
- * gcc.target/i386/pr22585.c: Likewise.
- * gcc.target/i386/pr23098.c: Likewise.
- * gcc.target/i386/pr25196.c: Likewise.
- * gcc.target/i386/pr25293.c: Likewise.
- * gcc.target/i386/pr25654.c: Likewise.
- * gcc.target/i386/pr26449.c: Likewise.
- * gcc.target/i386/pr26778.c: Likewise.
- * gcc.target/i386/pr26826.c: Likewise.
- * gcc.target/i386/pr27266.c: Likewise.
- * gcc.target/i386/pr29978.c: Likewise.
- * gcc.target/i386/pr30505.c: Likewise.
- * gcc.target/i386/pr30961-1.c: Likewise.
- * gcc.target/i386/pr31628.c: Likewise.
- * gcc.target/i386/pr32000-2.c: Likewise.
- * gcc.target/i386/pr32661-1.c: Likewise.
- * gcc.target/i386/pr32708-2.c: Likewise.
- * gcc.target/i386/pr32708-3.c: Likewise.
- * gcc.target/i386/pr34256.c: Likewise.
- * gcc.target/i386/pr34312.c: Likewise.
- * gcc.target/i386/pr34522.c: Likewise.
- * gcc.target/i386/pr35160.c: Likewise.
- * gcc.target/i386/pr35281.c: Likewise.
- * gcc.target/i386/pr36246.c: Likewise.
- * gcc.target/i386/pr36786.c: Likewise.
- * gcc.target/i386/pr37275.c: Likewise.
- * gcc.target/i386/pr37843-3.c: Likewise.
- * gcc.target/i386/pr37843-4.c: Likewise.
- * gcc.target/i386/pr39082-1.c: Likewise.
- * gcc.target/i386/pr39431.c: Likewise.
- * gcc.target/i386/pr39496.c: Likewise.
- * gcc.target/i386/pr39543-2.c: Likewise.
- * gcc.target/i386/pr39911.c: Likewise.
- * gcc.target/i386/pr40718.c: Likewise.
- * gcc.target/i386/pr40906-1.c: Likewise.
- * gcc.target/i386/pr40906-2.c: Likewise.
- * gcc.target/i386/pr40906-3.c: Likewise.
- * gcc.target/i386/pr40934.c: Likewise.
- * gcc.target/i386/pr41900.c: Likewise.
- * gcc.target/i386/pr42589.c: Likewise.
- * gcc.target/i386/pr43662.c: Likewise.
- * gcc.target/i386/pr43671.c: Likewise.
- * gcc.target/i386/pr43766.c: Likewise.
- * gcc.target/i386/pr43869.c: Likewise.
- * gcc.target/i386/pr44942.c: Likewise.
- * gcc.target/i386/pr44948-2a.c: Likewise.
- * gcc.target/i386/pr45234.c: Likewise.
- * gcc.target/i386/pr45336-2.c: Likewise.
- * gcc.target/i386/pr45336-4.c: Likewise.
- * gcc.target/i386/pr45852.c: Likewise.
- * gcc.target/i386/pr46470.c: Likewise.
- * gcc.target/i386/pr48037-1.c: Likewise.
- * gcc.target/i386/pr48389.c: Likewise.
- * gcc.target/i386/pr49095.c: Likewise.
- * gcc.target/i386/pr9771-1.c: Likewise.
- * gcc.target/i386/rdfsbase-1.c: Likewise.
- * gcc.target/i386/rdfsbase-2.c: Likewise.
- * gcc.target/i386/rdgsbase-1.c: Likewise.
- * gcc.target/i386/rdgsbase-2.c: Likewise.
- * gcc.target/i386/rdrand-3.c: Likewise.
- * gcc.target/i386/regparm-stdcall.c: Likewise.
- * gcc.target/i386/regparm.c: Likewise.
- * gcc.target/i386/reload-1.c: Likewise.
- * gcc.target/i386/rotate-2.c: Likewise.
- * gcc.target/i386/sibcall-5.c: Likewise.
- * gcc.target/i386/signbit-1.c: Likewise.
- * gcc.target/i386/signbit-2.c: Likewise.
- * gcc.target/i386/signbit-3.c: Likewise.
- * gcc.target/i386/sse-5.c: Likewise.
- * gcc.target/i386/sse-8.c: Likewise.
- * gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
- * gcc.target/i386/sse-cvtss2si-2.c: Likewise.
- * gcc.target/i386/sse-cvttss2si-2.c: Likewise.
- * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
- * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
- * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
- * gcc.target/i386/sse2-init-v2di-2.c: Likewise.
- * gcc.target/i386/sse2-movq-2.c: Likewise.
- * gcc.target/i386/sse2-movq-3.c: Likewise.
- * gcc.target/i386/sse4_1-insertps-3.c: Likewise.
- * gcc.target/i386/sse4_1-pextrq.c: Likewise.
- * gcc.target/i386/sse4_1-pinsrq.c: Likewise.
- * gcc.target/i386/sse4_2-crc32q.c: Likewise.
- * gcc.target/i386/sse4_2-popcntq.c: Likewise.
- * gcc.target/i386/ssefn-1.c: Likewise.
- * gcc.target/i386/ssefn-2.c: Likewise.
- * gcc.target/i386/sseregparm-1.c: Likewise.
- * gcc.target/i386/sseregparm-2.c: Likewise.
- * gcc.target/i386/sseregparm-3.c: Likewise.
- * gcc.target/i386/sseregparm-4.c: Likewise.
- * gcc.target/i386/sseregparm-5.c: Likewise.
- * gcc.target/i386/sseregparm-6.c: Likewise.
- * gcc.target/i386/sseregparm-7.c: Likewise.
- * gcc.target/i386/sseregparm-8.c: Likewise.
- * gcc.target/i386/stack-realign.c: Likewise.
- * gcc.target/i386/stack-usage-realign.c: Likewise.
- * gcc.target/i386/stackalign/asm-1.c: Likewise.
- * gcc.target/i386/stackalign/longlong-1.c: Likewise.
- * gcc.target/i386/stackalign/longlong-2.c: Likewise.
- * gcc.target/i386/stackalign/return-1.c: Likewise.
- * gcc.target/i386/stackalign/return-2.c: Likewise.
- * gcc.target/i386/stackalign/return-3.c: Likewise.
- * gcc.target/i386/tailcall-1.c: Likewise.
- * gcc.target/i386/tbm-2.c: Likewise.
- * gcc.target/i386/udivmod-7.c: Likewise.
- * gcc.target/i386/udivmod-8.c: Likewise.
- * gcc.target/i386/unroll-1.c: Likewise.
- * gcc.target/i386/vararg-1.c: Likewise.
- * gcc.target/i386/vararg-2.c: Likewise.
- * gcc.target/i386/vect8-ret.c: Likewise.
- * gcc.target/i386/vectorize5.c: Likewise.
- * gcc.target/i386/wmul-1.c: Likewise.
- * gcc.target/i386/wmul-2.c: Likewise.
- * gcc.target/i386/wrfsbase-1.c: Likewise.
- * gcc.target/i386/wrfsbase-2.c: Likewise.
- * gcc.target/i386/wrgsbase-1.c: Likewise.
- * gcc.target/i386/wrgsbase-2.c: Likewise.
- * gcc.target/i386/xop-pcmov.c: Likewise.
- * gcc.target/i386/xop-pcmov2.c: Likewise.
- * gcc.target/i386/xop-rotate1-vector.c: Likewise.
- * gcc.target/i386/xop-rotate2-vector.c: Likewise.
- * gcc.target/i386/xop-rotate3-vector.c: Likewise.
- * gcc.target/i386/xop-shift1-vector.c: Likewise.
- * gcc.target/i386/xop-shift2-vector.c: Likewise.
- * gcc.target/i386/xop-shift3-vector.c: Likewise.
- * gcc.target/i386/zee.c: Likewise.
- * gcc.target/x86_64/abi/callabi/callabi.exp: Likewise.
- * gfortran.dg/compiler-directive_2.f: Likewise.
- * gfortran.dg/g77/20010216-1.f: Likewise.
- * gfortran.dg/gomp/pr39152.f90: Likewise.
- * gfortran.dg/pr33794.f90: Likewise.
-
-2011-07-09 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/regress5.C: New.
-
-2011-07-08 Jason Merrill <jason@redhat.com>
-
- PR c++/45437
- * g++.dg/expr/compound-asn1.C: New.
- * g++.dg/warn/sequence-pt-1.C: Change one dg-error to dg-bogus.
-
-2011-07-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49621
- * gcc.target/powerpc/altivec-34.c: New test.
-
-2011-07-08 Jason Merrill <jason@redhat.com>
-
- PR c++/45603
- * g++.dg/abi/guard3.C: New.
-
-2011-07-08 Julian Brown <julian@codesourcery.com>
-
- * lib/target-supports.exp
- (check_effective_target_arm_little_endian): New.
- (check_effective_target_vect_pack_trunc): Use above.
- (check_effective_target_vect_unpack): Likewise.
- (check_effective_target_vect_element_align): Test
- check_effective_target_arm_vect_no_misalign for ARM.
-
-2011-07-08 Jason Merrill <jason@redhat.com>
-
- PR c++/49673
- * g++.dg/cpp0x/constexpr-rom.C: New.
-
-2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR middle-end/49519
- * g++.dg/torture/pr49519.C: New test.
-
-2011-07-08 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/tree-ssa/sra-12.c: Skip dump scan on avr targets.
-
-2011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/48727
- * g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*.
-
-2011-07-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49662
- * gcc.dg/graphite/interchange-14.c: XFAIL.
- * gcc.dg/graphite/interchange-15.c: Likewise.
- * gcc.dg/graphite/interchange-mvt.c: Likewise.
-
-2011-07-06 Jason Merrill <jason@redhat.com>
-
- PR c++/49663
- * g++.dg/cpp0x/regress/regress4.C: New.
-
-2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/49648
- * gfortran.dg/result_in_spec_4.f90: New test.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/sparc/cas64.c: New test.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c/49644
- * g++.dg/torture/pr49644.C: New test.
-
- PR c/49644
- * gcc.c-torture/execute/pr49644.c: New test.
-
-2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * lib/target-supports.exp (check_effective_target_ia32): New.
- (check_effective_target_x32): Likewise.
- (check_effective_target_vect_cmdline_needed): Also check x32.
-
-2011-07-07 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/pr40657-2.c: Remove -march option and unneeded
- dg-prune-output.
- * gcc.target/arm/pr42235.c: Likewise.
- * gcc.target/arm/pr42495.c: Likewise.
- * gcc.target/arm/pr42574.c: Likewise.
- * gcc.target/arm/thumb-branch1.c: Likewise.
-
- * gcc.target/arm/pr39839.c: Don't specify -mthumb or -march, remove
- unneeded prune of possible warning.
- * gcc.target/arm/pr40956.c: Likewise.
- * gcc.target/arm/pr42505.c: Likewise.
-
- * gcc.c-torture/compile/pr41679.c: Move from gcc.target/arm.
- * gcc.c-torture/compile/pr46883.c: Likewise.
- * gcc.c-torture/compile/pr46934.c: Likewise.
-
- * gcc.target/arm/pr41679.c: Remove test directives in preparation
- for move to ../../gcc.c-torture/compile.
- * gcc.target/arm/pr46883.c: Likewise.
- * gcc.target/arm/pr46934.c: Likewise.
-
- * lib/target-supports.exp (check_effective_target_arm_dsp): New.
- * gcc.target/arm/mla-2.c: Use it instead of specific -march.
- * gcc.target/arm/wmul-1.c: Likewise.
- * gcc.target/arm/wmul-2.c: Likewise.
- * gcc.target/arm/wmul-3.c: Likewise.
- * gcc.target/arm/wmul-4.c: Likewise.
- * gcc.target/arm/smlaltb-1.c: Require arm_dsp, don't specify -march,
- add tab after scan target.
- * gcc.target/arm/smlaltt-1.c: Likewise.
- * gcc.target/arm/smlatb-1.c: Likewise.
- * gcc.target/arm/smlatt-1.c: Likewise.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49522
- * gcc.dg/debug/pr49522.c: New test.
-
-2011-07-07 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pragma-align.c: Run only if target !default_packed.
- * gcc.dg/pr46212.c: Run only if target int32plus.
- * gcc.dg/torture/pr48146.c: Ditto.
- * gcc.dg/tree-ssa/vrp51.c: Ditto.
- * c-c++-common/pr44832.c: Ditto.
- * gcc.dg/pr49544.c: Run only if target ptr32plus.
- * gcc.dg/pr31490.c: Ditto.
- * gcc.dg/torture/builtin-math-7.c: Run only if target
- large_double.
- * gcc.dg/torture/pr45764.c: Skip for AVR.
- * gcc.dg/pr47893.c: Ditto.
-
-2011-07-07 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/target-supports.exp (check_effective_target_arm_thumb1): New.
- (check_effective_target_arm_thumb2): Clarify comment, add valid code.
- * gcc.target/arm/mla-1.c: Skip for arm_thumb1, don't specify -march,
- add tab to scan target.
-
-2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.target/arm/neon-modes-3.c: New test.
-
-2011-07-07 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/graphite/pr37485.c (dg-options): Add -fno-loop-strip-mine
- -fno-loop-interchange -ffast-math.
-
-2011-07-07 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/ftrapv-3.c: New testcase.
-
-2011-07-07 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/vrp58.c: New testcase.
- * gcc.dg/tree-ssa/scev-cast.c: Adjust.
-
-2011-07-07 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/binop-notxor1.c: New test.
- * gcc.dg/binop-notand4a.c: New test.
- * gcc.dg/binop-notxor2.c: New test.
- * gcc.dg/binop-notand3a.c: New test.
- * gcc.dg/binop-notand2a.c: New test.
- * gcc.dg/binop-notand6a.c: New test.
- * gcc.dg/binop-notor1.c: New test.
- * gcc.dg/binop-notand1a.c: New test.
- * gcc.dg/binop-notand5a.c: New test.
- * gcc.dg/binop-notor2.c: New test.
-
-2011-07-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49640
- * gcc.dg/gomp/pr49640.c: New test.
-
-2011-07-07 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/graphite/pr37485.c: Add -floop-block.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/39150
- * gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*.
-
-2011-07-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/no-r11-1.c: New test for -mr11, -mno-r11.
- * gcc.target/powerpc/no-r11-2.c: Ditto.
- * gcc.target/powerpc/no-r11-3.c: Ditto.
-
-2011-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.dg/stack-layout-2.c: Cleanup expand rtl dump.
- * gfortran.dg/move_alloc_4.f90: Cleanup original tree dump.
-
-2011-07-06 Georg-Johann Lay <avr@gjlay.de>
-
- * lib/target-supports.exp (check_profiling_available): Disable
- profiling with -fprofile-generate for target avr.
-
-2011-07-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49645
- * g++.dg/tree-ssa/pr8781.C: Disable SRA.
-
-2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47383
- * gcc.dg/pr47383.c: New.
-
-2011-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/49647
- * gcc.dg/tree-ssa/20030807-7.c: Remove xfail *-*-*.
-
-2011-07-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR testsuite/49542
- * gcc.dg/vect/pr33804.c: XFAIL if vect_no_align unconditionally.
- * gcc.dg/vect/slp-multitypes-3.c: XFAIL on SPARC unconditionally.
-
-2011-07-05 Jason Merrill <jason@redhat.com>
-
- PR c++/48157
- * g++.dg/template/template-id-4.C: New.
-
-2011-07-05 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pr44023.c: Add dg-require-effective-target int32plus
- * gcc.dg/pr43402.c: Ditto.
-
-2011-07-05 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/cpp/pragma-3.c: Add dg-require-effective-target fopenmp.
-
-2011-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.target/powerpc/ppc-switch-1.c: New test for
- --param case-values-threshold.
- * gcc.target/powerpc/ppc-switch-2.c: Ditto.
-
-2011-07-05 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".
-
-2011-07-05 Jason Merrill <jason@redhat.com>
-
- * g++.dg/rtti/anon-ns1.C: Allow for null-termination.
-
-2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/47654
- * gcc.dg/graphite/block-pr47654.c: New.
-
-2011-07-05 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/lambda/lambda-ref2.C: New.
-
-2011-07-05 Razya Ladelsky <razya@il.ibm.com>
-
- PR tree-optimization/49580
- * gcc.dg/autopar/pr49580.c: New test.
-
-2011-07-05 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49518
- PR tree-optimization/49628
- * g++.dg/torture/pr49628.C: New testcase.
- * gcc.dg/torture/pr49518.c: Likewise.
-
-2011-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * ada/acats/run_acats (which): Extract last field from type -p,
- type output only if command succeeded.
-
-2011-07-04 Jason Merrill <jason@redhat.com>
-
- * g++.dg/abi/mangle48.C: New.
-
- * g++.dg/cpp0x/diag1.C: New.
-
- * g++.dg/diagnostic/aka1.C: New.
-
-2011-07-04 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49619
- * gcc.dg/pr49619.c: New test.
-
- PR rtl-optimization/49472
- * gfortran.dg/pr49472.f90: New test.
-
- PR debug/49602
- * gcc.dg/pr49602.c: New test.
-
-2011-07-04 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/34734
- PR target/44643
- * gcc.target/avr/avr.exp: Run over cpp files, too.
- * gcc.target/avr/torture/avr-torture.exp: Ditto.
- * gcc.target/avr/progmem.h: New file.
- * gcc.target/avr/exit-abort.h: New file.
- * gcc.target/avr/progmem-error-1.c: New file.
- * gcc.target/avr/progmem-error-1.cpp: New file.
- * gcc.target/avr/progmem-warning-1.c: New file.
- * gcc.target/avr/torture/progmem-1.c: New file.
- * gcc.target/avr/torture/progmem-1.cpp: New file.
-
-2011-07-04 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49615
- * g++.dg/torture/pr49615.C: New testcase.
-
-2011-07-03 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49610
- * gcc.dg/vect/pr49610.c: New test.
-
-2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/debug1.ads: New test.
-
-2011-07-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49562
- * gfortran.dg/typebound_proc_23.f90: New.
-
-2011-07-01 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/49605
- * g++.dg/warn/delete-non-virtual-dtor.C: Adjust.
-
-2011-07-01 Jason Merrill <jason@redhat.com>
-
- PR c++/48261
- * g++.dg/template/template-id-3.C: New.
-
- PR c++/48593
- * g++.dg/template/qualified-id4.C: New.
-
- PR c++/48883
- * g++.dg/template/explicit-args4.C: New.
-
- PR c++/49085
- * g++.dg/template/offsetof2.C: New.
-
-2011-07-01 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/tree-ssa/bitwise-sink.c: New test.
-
-2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libmudflap/49549
- * lib/target-supports.exp (check_effective_target_gld): New proc.
-
-2011-07-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49603
- * gcc.dg/torture/pr49603.c: New testcase.
-
-2011-06-30 Jason Merrill <jason@redhat.com>
-
- PR c++/49387
- * g++.dg/rtti/template1.C: New.
-
- PR c++/49569
- * g++.dg/cpp0x/regress/ctor1.C: New.
-
- PR c++/49355
- * g++.dg/cpp0x/initlist54.C: New.
-
-2011-06-30 Martin Jambor <mjambor@suse.cz>
-
- * gcc.dg/tree-ssa/sra-12.c: New test.
-
-2011-06-29 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/named.C: Test subobject of xvalue.
-
-2011-06-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46787
- * gcc.dg/vect/vect-121.c: New testcase.
-
-2011-06-30 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/49094
- * gcc.dg/tree-ssa/pr49094.c: New test.
-
-2011-06-30 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49540
- * gfortran.dg/pr49540-1.f90: New test.
- * gfortran.dg/pr49540-2.f90: New test.
-
-2011-06-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR ada/49511
- * ada/acats/run_acats (which): Use last field of type -p output.
-
-2011-06-30 Dominique d'Humieres <dominiq@lps.ens.fr>
- Iain Sandoe <iains@gcc.gnu.org>
-
- PR libobjc/36610
- * objc.dg/torture/forward-1.m: Remove dg-xfail-run-if.
- Only skip on 64-bit *-*-darwin8* && !objc2.
-
-2011-06-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/38752
- * gcc.c-torture/compile/pr38752.c: New testcase.
-
-2011-06-30 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/slp-widen-mult-half.c: New test.
- * gcc.dg/vect/vect-widen-mult-half.c: New test.
-
-2011-06-29 Jason Merrill <jason@redhat.com>
-
- PR c++/49216
- * g++.dg/cpp0x/initlist53.C: Use placement new.
- * g++.dg/cpp0x/initlist-value.C: Use placement new.
- * g++.old-deja/g++.ext/arrnew2.C: Remove xfail.
-
- PR c++/49003
- * g++.dg/cpp0x/trailing6.C: New.
- * g++.dg/cpp0x/pr45908.C: No error.
-
- PR c++/49272
- * g++.old-deja/g++.jason/rfg10.C: Accept other overflow error too.
-
- PR c++/49520
- * g++.dg/cpp0x/constexpr-using2.C: New.
-
- * g++.dg/cpp0x/lambda/lambda-template3.C: New.
-
- PR c++/45923
- * g++.dg/cpp0x/constexpr-diag3.C: New.
- * g++.dg/cpp0x/constexpr-diag1.C: Adjust error message.
- * g++.dg/cpp0x/constexpr-ex1.C: Adjust error message.
- * g++.dg/cpp0x/constexpr-friend.C: Adjust error message.
- * g++.dg/cpp0x/constexpr-incomplete2.C: Adjust error message.
-
-2011-06-29 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-is_literal.C: Adjust.
-
-2011-06-29 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/loop-17.c: Adjust.
-
-2011-06-29 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/initlist-value2.C: New.
-
- * g++.dg/cpp0x/constexpr-initlist4.C: New.
- * g++.dg/cpp0x/initlist-value.C: New.
-
-2011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.dg/torture/pr49169.c: Restrict to ARM and MIPS targets.
-
-2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/inline_1.c: Remove dg-excess-errors.
- * gcc.dg/inline_2.c: Likewise.
- * gcc.dg/unroll_1.c: Likewise.
-
-2011-06-29 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49567
- * gcc.target/i386/pr49567.c: New test.
-
-2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt17.ad[sb]: New test.
-
-2011-06-28 Janis Johnson <janisjo@codesourcery.com>
- Tom de Vries <tom@codesourcery.com>
-
- * lib/target-supports.exp (check_effective_target_arm_nothumb)
- (check_effective_target_arm_thumb2): New effective targets.
- * gcc.target/arm/ivopts.c: Remove -mthumb/-marm. Guard object-size
- properly. Clean up temporary files.
- * gcc.target/arm/ivopts-2.c: Likewise.
- * gcc.target/arm/ivopts-3.c: Likewise.
- * gcc.target/arm/ivopts-4.c: Likewise.
- * gcc.target/arm/ivopts-5.c: Likewise.
- * gcc.target/arm/ivopts-6.c: Remove duplicate of ivopts.c.
-
-2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49479
- * gfortran.dg/reshape_zerosize_3.f90: New test.
-
-2011-06-28 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/vfp-ldmdbs.c: Skip for soft float.
- * gcc.target/arm/vfp-ldmias.c: Likewise.
- * gcc.target/arm/vfp-ldmdbd.c: Likewise.
- * gcc.target/arm/vfp-stmdbs.c: Likewise.
- * gcc.target/arm/vfp-ldmiad.c: Likewise.
- * gcc.target/arm/vfp-stmias.c: Likewise.
- * gcc.target/arm/vfp-stmdbd.c: Likewise.
- * gcc.target/arm/vfp-stmiad.c: Likewise.
-
-2011-06-27 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/pr45701-1.c: Don't specify -march; remove
- dg-prune-output.
- * gcc.target/arm/pr45701-2.c: Ditto.
-
-2011-06-27 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49466
- * gfortran.dg/allocatable_scalar_9.f90: Modified.
- * gfortran.dg/extends_14.f03: Modified.
-
-2011-06-27 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/target-supports-dg.exp (dg-require-effective-target): Return
- early if the test is already being skipped.
-
- * lib/scanasm.exp (dg-scan, scan-assembler-times, scan-assembler-dem,
- scan-assembler-dem-not): For missing file, report unresolved with
- same message as for pass/fail, with reason reported in log file.
-
- * lib/target-supports.exp (add_options_for_arm_fp16): Renamed
- from add_options_for_arm_neon_fp16.
- (check_effective_target_arm_fp16_ok_nocache): Renamed from
- check_effective_target_arm_neon_fp16_ok_nocache.
- Check -mfpu and -mfloat-abi options from current multilib.
- Do not require neon support.
- (check_effective_target_arm_fp16_ok): Renamed from
- check_effecitve_target_arm_neon_fp16_ok.
- * g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Use new names for
- arm_neon_fp16_ok and arm_fp16.
- * g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
- * gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
- * gcc.dg/torture/arm-fp16-ops-6.c: Likewise.
- * gcc.target/arm/fp16-compile-vcvt.c: Likewise.
-
-2011-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/builtin-assume-aligned-1.c: New test.
- * gcc.dg/builtin-assume-aligned-2.c: New test.
- * gcc.target/i386/builtin-assume-aligned-1.c: New test.
-
- PR debug/49544
- * gcc.dg/pr49544.c: New test.
-
-2011-06-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49394
- * g++.dg/torture/pr49394.C: New testcase.
-
-2011-06-27 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/optimize-bswapdi-2.c: New test.
-
-2011-06-27 Michael Hope <michael.hope@linaro.org>
- Richard Sandiford <richard.sandiford@linaro.org>
-
- PR tree-optimization/49169
- * gcc.dg/torture/pr49169.c: New test.
-
-2011-06-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR testsuite/49529
- * gcc.dg/ipa/ipa-pta-17.c: Use dg-require-alias.
-
- * gcc.dg/debug/pr49294.c (dg-options): Add -fno-common to options on
- hppa*-*-hpux*.
-
-2011-06-26 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-cleanup.C: Tweak error message.
-
- PR c++/49528
- * g++.dg/init/ref19.C: New.
- * g++.dg/cpp0x/constexpr-cleanup.C: New.
-
-2011-06-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48377
- * gcc.dg/vect/pr48377.c: Add dg-require-effective-target
- non_strict_align.
-
-2011-06-26 Steve Ellcey <sje@cup.hp.com>
-
- PR middle-end/49191
- * lib/target-supports.exp (check_effective_target_non_strict_align):
- New.
- * gcc.dg/memcpy-3.c: Add dg-require-effective-target non_strict_align.
-
-2011-06-24 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimizations/49516
- * g++.dg/tree-ssa/pr49516.C: New test.
-
-2011-06-23 Jason Merrill <jason@redhat.com>
-
- PR c++/35255
- * g++.dg/template/partial10.C: New.
- * g++.dg/template/partial11.C: New.
-
-2011-06-23 Jeff Law <law@redhat.com>
-
- PR middle-end/48770
- * gcc.dg/pr48770.c: New test.
-
-2011-06-23 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/49373
- * g++.dg/torture/pr43879-1_1.C: Revert the xfail introduced yesterday.
-
-2011-06-23 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/49512
- * gcc.dg/tree-ssa/asm-1.c: Use -fdump-tree-optimized-nouid
- instead of -fdump-tree-optimized.
-
-2011-06-23 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44625
- * g++.dg/template/crash107.C: New.
- * g++.dg/template/error17.C: Adjust.
-
-2011-06-23 Jason Merrill <jason@redhat.com>
-
- PR c++/49507
- * g++.dg/cpp0x/defaulted30.C: New.
-
- PR c++/49440
- * g++.dg/rtti/anon-ns1.C: New.
-
- PR c++/49395
- * g++.dg/init/ref18.C: New.
-
- PR c++/36435
- * g++.dg/template/partial9.C: New.
-
-2011-06-22 Hans-Peter Nilsson <hp@axis.com>
-
- PR middle-end/49373
- * g++.dg/torture/pr43879-1_1.C: Xfail for -O1 and above, except -flto.
-
-2011-06-22 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/49496
- * gcc.dg/pr49496.c: New test.
-
-2011-06-22 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/scd42-3.c: Allow -march-xscale; skip if -mcpu
- is not xscale.
-
- * gcc.target/arm/thumb-bitfld1.c: Don't specify -march, require thumb1.
-
- * gcc.target/arm/ctz.c: Don't specify -march, require thumb2.
- * gcc.target/arm/pr42879.c: Likewise.
- * gcc.target/arm/pr45701-3.c: Likewise.
-
- * gcc.target/arm/20031108-1.c: Require thumb1 or thumb2.
- * gcc.target/arm/pr40482.c: Likewise.
- * gcc.target/arm/stack-corruption.c: Likewise.
-
-2011-06-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49493
- * gcc.dg/ipa/ipa-pta-17.c: New testcase.
-
-2011-06-22 Jason Merrill <jason@redhat.com>
-
- PR c++/49260
- * g++.dg/cpp0x/lambda/lambda-eh2.C: Change options.
-
-2011-06-22 Dmitry Plotnikov <dplotnikov@ispras.ru>
- Dmitry Melnik <dm@ispras.ru>
-
- * gcc.target/arm/neon-vshr-imm-1.c: New testcase.
- * gcc.target/arm/neon-vshl-imm-1.c: New testcase.
- * gcc.target/arm/neon-vlshr-imm-1.c: New testcase.
-
-2011-06-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * gcc.target/arm/tlscall.c: New.
-
-2011-06-21 Jason Merrill <jason@redhat.com>
-
- PR c++/49172
- * g++.dg/cpp0x/constexpr-ref1.C: New.
- * g++.dg/cpp0x/constexpr-ref2.C: New.
- * g++.dg/cpp0x/constexpr-ice2.C: Remove dg-error tag.
-
- PR c++/49482
- * g++.dg/cpp0x/lambda/lambda-warn3.C: New.
-
- PR c++/49418
- * g++.dg/template/param3.C: New.
-
-2011-06-21 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
- my_clrsb test functions.
- (main): Test clrsb.
- * gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
- test_sll, test_ull): Add clrsb tests.
- * gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
- clrsbll.
-
-2011-06-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49112
- * gfortran.dg/class_44.f03: New.
-
-2011-06-21 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49478
- * gcc.dg/vect/pr49478.c
-
-2011-06-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49483
- * gcc.dg/vect/vect-120.c: New testcase.
-
-2011-06-21 Ira Rosen <ira.rosen@linaro.org>
-
- PR testsuite/49443
- * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align targets.
- * gcc.dg/vect/vect-peel-4.c: Likewise.
-
-2011-06-22 Christian Bruel <christian.bruel@st.com>
-
- PR middle-end/49139
- * gcc.dg/always_inline.c: Removed -Winline. Update checks
- * gcc.dg/always_inline2.c: Likewise.
- * gcc.dg/always_inline3.c: Likewise.
- * gcc.dg/debug/pr41264-1.c: Add -Wno-attributes.
- * gcc.dg/inline_1.c: Likewise.
- * gcc.dg/inline_2.c: Likewise.
- * gcc.dg/inline_3.c: Likewise.
- * gcc.dg/inline_4.c: Likewise.
- * gcc.dg/20051201-1.c: Likewise.
- * gcc.dg/pr40087.c: Likewise.
- * gcc.dg/torture/pta-structcopy-1.c: Likewise.
- * gcc.dg/inline-22.c: Likewise.
- * gcc.dg/lto/20090218-1_0.c: Set inline keyword.
- * gcc.dg/lto/20090218-1_1.c: Likewise.
- * g++.dg/ipa/devirt-7.C: Likewise.
- * gcc.dg/uninit-pred-5_a.c: Likewise.
- * gcc.dg/uninit-pred-5_b.c: Likewise.
- * gcc.dg/fail_always_inline.c: New.
-
-2011-06-21 Jakub Jelinek <jakub@redhat.com>
-
- * Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
- into 6 jobs instead of 3.
-
-2011-06-20 Jason Merrill <jason@redhat.com>
-
- PR c++/49216
- * g++.dg/cpp0x/initlist53.C: New.
-
-2011-06-20 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_lock_1.f90: Update dg-error.
- * gfortran.dg/coarray_lock_3.f90: New.
- * gfortran.dg/coarray/lock_1.f90: New.
-
-2011-06-20 Janis Johnson <janisjo@codesourcery.com>
-
- * lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
- scan-dump-dem, scan-dump-dem-not): Treat a missing dump file as
- unresolved and report the reason to the log file.
-
- * lib/scanasm.exp (object-size): Move argument processing earlier
- to report errors before verifying that the file exists. Report
- problems detected at runtime as unresolved instead of error and
- report their reasons to the log file.
-
-2011-06-20 Jason Merrill <jason@redhat.com>
-
- PR c++/47080
- * g++.dg/cpp0x/explicit6.C: New.
-
- PR c++/47635
- * g++.dg/cpp0x/enum20.C: New.
-
- PR c++/48138
- * g++.dg/ext/attr-aligned01.C: New.
-
- PR c++/49205
- * g++.dg/cpp0x/variadic-default.C: New.
-
- PR c++/43321
- * g++.dg/cpp0x/auto26.C: New.
-
- PR c++/43831
- * g++.dg/cpp0x/lambda/lambda-capture-reduncancy.C: New.
-
-2011-06-20 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/binop-notand1.c: New test.
- * gcc.dg/binop-notand2.c: New test.
- * gcc.dg/binop-notand3.c: New test.
- * gcc.dg/binop-notand4.c: New test.
- * gcc.dg/binop-notand5.c: New test.
- * gcc.dg/binop-notand6.c: New test.
-
-2011-06-18 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/49432
- * obj-c++.dg/invalid-type-1.mm: Adjust for new error wording.
-
-2011-06-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49400
- * gfortran.dg/proc_ptr_31.f90: New.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/volatile6.adb: New test.
- * gnat.dg/volatile7.adb: Likewise.
- * gnat.dg/volatile8.adb: Likewise.
- * gnat.dg/volatile9.adb: Likewise.
-
-2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/constant3.adb: New test.
-
-2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/49296
- * gfortran.dg/read_list_eof_1.f90: New test.
-
-2011-06-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49411
- * gcc.target/i386/testimm-1.c: New test.
- * gcc.target/i386/testimm-2.c: New test.
- * gcc.target/i386/testimm-3.c: New test.
- * gcc.target/i386/testimm-4.c: New test.
- * gcc.target/i386/testimm-5.c: New test.
- * gcc.target/i386/testimm-6.c: New test.
- * gcc.target/i386/testimm-7.c: New test.
- * gcc.target/i386/testimm-8.c: New test.
- * gcc.target/i386/xop-vpermil2px-2.c: New test.
- * gcc.target/i386/xop-rotate1-int.c: New test.
- * gcc.target/i386/xop-rotate2-int.c: New test.
-
-2011-06-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/rv-func2.C: New.
-
- * g++.dg/debug/dwarf2/lambda1.C: New.
- * g++.dg/warn/Wshadow-6.C: Adjust.
-
-2011-06-17 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48699
- * gfortran.dg/move_alloc_5.f90: New.
-
-2011-06-17 Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/48542
- * gcc.dg/torture/pr48542.c: New test.
-
-2011-06-16 Jason Merrill <jason@redhat.com>
-
- PR c++/44160
- * g++.dg/cpp0x/lambda/lambda-__func__.C: New.
-
- PR c++/45378
- * g++.dg/cpp0x/initlist52.C New.
-
- PR c++/45399
- * c-c++-common/raw-string-12.c: New.
-
- PR c++/49229
- * g++.dg/cpp0x/sfinae26.C: New.
-
- PR c++/49251
- * g++.dg/cpp0x/variadic113.C: New.
-
- PR c++/49420
- * g++.dg/cpp0x/variadic112.C: New.
-
-2011-06-16 Jeff Law <law@redhat.com>
-
- * gcc.dg/builtin-object-size-1.c: Update to handle chances from
- improved jump threading.
- * gcc.dg/builtin-object-size-2.c: Likewise.
- * gcc.dg/tree-ssa/20030728-1.c: Likewise.
-
-2011-06-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49074
- * gfortran.dg/typebound_assignment_3.f03: New.
-
-2011-06-16 Steve Ellcey <sje@cup.hp.com>
-
- PR testsuite/48727
- * g++.dg/opt/devirt2.C: Change xfail rule to target.
-
-2011-06-16 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/49343
- * gnat.dg/discr31.ad[sb]: New test.
-
-2011-06-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/debug/pr49032.c: Prune mips-tfile warning.
-
-2011-06-16 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * gcc.target/arm/ivopts-3.c: Update test.
- * gcc.target/arm/ivopts-5.c: Same.
-
-2011-06-16 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- Revert:
- 2011-06-10 Wei Guozhi <carrot@google.com>
-
- PR target/45335
- * gcc.target/arm/pr45335.c: New test.
- * gcc.target/arm/pr45335-2.c: New test.
- * gcc.target/arm/pr45335-3.c: New test.
- * gcc.target/arm/pr40457-1.c: Add another possible output "ldrd".
- * gcc.target/arm/pr40457-2.c: Changed to store 3 words.
- * gcc.target/arm/pr40457-3.c: Changed to store 3 words.
-
-2011-06-16 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-widen-mult-half-u8.c: New test.
-
-2011-06-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/49417
- * gfortran.dg/class_43.f03: New.
-
-2011-06-16 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49419
- * gcc.c-torture/execute/pr49419.c: New test.
-
-2011-06-16 Revital Eres <revital.eres@linaro.org>
-
- * gcc.dg/sms-9.c: New file.
-
-2011-06-15 Easwaran Raman <eraman@google.com>
-
- PR rtl-optimization/49414
- * gcc.dg/pr44194-1.c: Restrict test to 64-bit targets.
-
-2011-06-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/noexcept13.C: New.
-
-2011-06-14 Easwaran Raman <eraman@google.com>
-
- PR rtl-optimization/44194
- * gcc.dg/pr44194-1.c: New test.
- * gcc.dg/pr44194-2.c: New test.
-
-2011-06-14 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/pr45701-1.c: Ignore warnings about conflicting
- switches.
- * gcc.target/arm/pr45701-2.c: Likewise.
- * gcc.target/arm/thumb-branch1.c: Likewise.
-
-2011-06-14 Steve Ellcey <sje@cup.hp.com>
-
- PR testsuite/48727
- * g++.dg/opt/devirt2.C: Fix scan rules for ia64*-*-hpux* and hppa*-*-*.
-
-2011-06-14 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/pr45701-1.c: Require thumb support.
- * gcc.target/arm/pr45701-2.c: Likewise.
- * gcc.target/arm/thumb-branch1.c: Likewise.
-
- * gcc.target/arm/mla-1.c: Ignore warnings about conflicting switches.
- * gcc.target/arm/pr39839.c: Likewise.
- * gcc.target/arm/pr40657-2.c: Likewise.
- * gcc.target/arm/pr40956.c: Likewise.
- * gcc.target/arm/pr41679.c: Likewise.
- * gcc.target/arm/pr42235.c: Likewise.
- * gcc.target/arm/pr42495.c: Likewise.
- * gcc.target/arm/pr42505.c: Likewise.
- * gcc.target/arm/pr42574.c: Likewise.
- * gcc.target/arm/pr46883.c: Likewise.
- * gcc.target/arm/pr46934.c: Likewise.
- * gcc.target/arm/xor-and.c: Likewise.
-
-2011-06-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/other/error23.C: Adjust error message.
- * g++.dg/other/error32.C: Likewise.
-
- PR c++/49389
- * g++.dg/cpp0x/rv-dotstar.C: New.
-
- PR c++/49369
- * g++.dg/cpp0x/decltype30.C: New.
-
- * g++.dg/cpp0x/constexpr-array-ptr7.C: New.
-
-2011-06-14 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/49103
- * gfortran.dg/pr49103.f90: New test.
-
-2011-06-14 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * gcc.target/arm/ivopts-3.c: New test.
- * gcc.target/arm/ivopts-4.c: New test.
- * gcc.target/arm/ivopts-5.c: New test.
-
-2011-06-14 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49390
- * gcc.c-torture/execute/pr49390.c: New test.
-
-2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/torture/pr48954.C: Use dg-require-effective-target lto.
-
-2011-06-14 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.c-torture/execute/cmpsi-2.c: Undo 172757.
- * gcc.c-torture/execute/cmpsi-2.x: New file.
- * gcc.c-torture/execute/pr45262.c: Undo 172757.
- * gcc.c-torture/execute/pr45262.x: New file.
- * gcc.c-torture/compile/pr46534.c: Skip for AVR.
- * gcc.c-torture/compile/pr49029.c: Add dg-require-effective-target
- int32plus
- * gcc.c-torture/compile/pr49163.c: Ditto.
-
-2011-06-14 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-16.c: Rename to...
- * gcc.dg/vect/no-fast-math-vect16.c: ...this.
- * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values
- for double-word vectors.
- * gcc.dg/vect/vect-peel-4.c: Likewise.
- * gcc.dg/vect/bb-slp-10.c: Replace vect_hw_misalign with
- vect_element_align.
- * gcc.dg/vect/vect.exp: Run no-fast-math-* tests with
- -fno-fast-math.
-
-2011-06-13 Edmar Wienskoski <edmar@freescale.com>
-
- PR target/44618
- * gcc.target/powerpc/outofline_rnreg.c: New testcase.
-
-2011-06-13 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.dg/h8300-bit-insn-ice2.c: Remove duplicated lines.
-
-2011-06-13 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
-
- * gcc.dg/h8300-bit-insn-ice2.c: New testcase.
-
-2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/trim_optimize_8.f90: New test case.
-
-2011-06-13 Jakub Jelinek <jakub@redhat.com>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49352
- * gcc.dg/vect/pr49352.c: New test.
-
-2011-06-12 Tobias Burnus
-
- PR fortran/49324
- * gfortran.dg/alloc_comp_assign_11.f90: New.
-
-2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/trim_optimize_7.f90: New test.
-
-2011-06-10 Wei Guozhi <carrot@google.com>
-
- PR target/45335
- * gcc.target/arm/pr45335.c: New test.
- * gcc.target/arm/pr45335-2.c: New test.
- * gcc.target/arm/pr45335-3.c: New test.
- * gcc.target/arm/pr40457-1.c: Add another possible output "ldrd".
- * gcc.target/arm/pr40457-2.c: Changed to store 3 words.
- * gcc.target/arm/pr40457-3.c: Changed to store 3 words.
-
-2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/41769
- * g++.dg/parse/error39.C: New.
-
-2011-06-10 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/20090811-1.c: Skip for incompatible
- options, do not override other options.
- * gcc.target/arm/combine-cmp-shift.c: Skip for
- incompatible options.
- * gcc.target/arm/pr45094.c: Likewise.
- * gcc.target/arm/scd42-1.c: Likewise.
- * gcc.target/arm/scd42-3.c: Likewise.
- * gcc.target/arm/thumb-ltu.c: Likewise.
-
- * lib/target-supports.exp
- (check_effective_target_arm_neon_fp16_ok_nocache): Return 0 if
- multilib flags use -mfpu with a value other than neon-fp16.
-
-2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/torture/tls/tls.exp: Load torture-options.exp.
- Run tests with -fpic/-fPIC, -pie -fpie/-fPIE if supported.
-
-2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp (check_effective_target_pie): New proc.
- * gcc.dg/pie-link.c: Use target pie.
-
-2011-06-10 Eric Botcazou <ebotcazou@adacore.com>
- Laurent Roug� <laurent.rouge@menta.fr>
-
- * gcc.dg/20020503-1.c: Add back -mflat option on the SPARC.
- * gcc.target/sparc/sparc-ret.c: Skip if -mflat is passed.
-
-2011-06-10 Daniel Carrera <dcarrera@gmail.com>
-
- * gfortran.dg/coarray/sync_1.f90: New test for
- "SYNC ALL", "SYNC MEMORY" and "SYNC IMAGES".
-
-2011-06-10 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49318
- * gcc.dg/vect/pr49318.c: New test.
-
-2011-06-09 David Krauss <potswa@mac.com>
-
- * g++.dg/template/arrow1.C: New.
-
-2011-06-09 Jason Merrill <jason@redhat.com>
-
- * lib/prune.exp: Prune "note"s.
- * g++.dg/uninit-pred-3_b.C: Remove dg-excess-errors.
-
- * g++.dg/ext/injected-ttp.C: Specify -std=c++98.
- * g++.dg/template/dependent-expr3.C: Likewise.
- * g++.dg/parse/template7.C: Likewise.
- * g++.old-deja/g++.bugs/900119_01.C: Likewise.
- * g++.old-deja/g++.jason/rfg10.C: Likewise.
- * g++.old-deja/g++.pt/friend38.C: Likewise.
- * g++.old-deja/g++.pt/crash32.C: Likewise.
- * g++.old-deja/g++.other/init4.C: Likewise.
- * g++.old-deja/g++.other/friend8.C: Likewise.
-
- * g++.dg/ext/complex7.C: Adjust expected output.
- * g++.dg/diagnostic/method1.C: Likewise.
- * g++.dg/parse/parameter-declaration-2.C: Likewise.
- * g++.dg/parse/crash33.C: Likewise.
- * g++.dg/other/warning1.C: Likewise.
- * g++.dg/init/pr29571.C: Likewise.
- * g++.dg/warn/overflow-warn-1.C: Likewise.
- * g++.dg/warn/overflow-warn-3.C: Likewise.
- * g++.dg/warn/overflow-warn-4.C: Likewise.
- * g++.old-deja/g++.oliva/template1.C: Likewise.
-
- * g++.dg/cpp0x/regress/error-recovery1.C: Adjust.
- * g++.dg/parse/template7.C: Adjust.
-
-2011-06-09 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49307
- * gcc.dg/pr49307.c: New.
-
-2011-06-09 Wei Guozhi <carrot@google.com>
-
- PR target/46975
- * gcc.target/arm/pr46975.c: New testcase.
-
-2011-06-09 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc-obj-c++-shared/objc-test-suite-next-encode-assist.h
- (PMETH, arglist_t): Removed.
- (method_get_number_of_arguments): Removed.
- (method_get_nth_argument): Removed.
- (method_get_first_argument): Removed.
- (method_get_next_argument): Removed.
- (method_get_sizeof_arguments): Removed.
- * objc-obj-c++-shared/objc-test-suite-next-encode-assist-impl.h
- (PMETH): Removed.
- (method_get_number_of_arguments): Removed.
- (method_get_nth_argument): Removed.
- (method_get_first_argument): Removed.
- (method_get_next_argument): Removed.
- (method_get_sizeof_arguments): Removed.
- * objc-obj-c++-shared/objc-test-suite-types.h (PMETH): Removed.
-
-2011-06-09 David Li <davidxl@google.com>
-
- * gcc.dg/dump-pass.c: New test.
-
-2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29003
- * g++.dg/parse/error38.C: New.
-
-2011-06-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49308
- * gfortran.dg/pr49308.f90: New test.
-
-2011-06-08 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/noexcept11.C: New.
- * g++.dg/cpp0x/noexcept12.C: New.
- * g++.dg/cpp0x/sfinae11.C: Adjust.
-
-2011-06-08 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/49323
- * g++.dg/debug/dwarf2/integer-typedef.C: Add -fno-merge-debug-strings
- to dg-options, match also DW_AT_linkage_name.
-
-2011-06-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR middle-end/21953
- * gcc.dg/compat/struct-layout-1_generate.c (dg-options): Use
- -fno-common on alpha*-dec-osf*.
- * g++.dg/compat/struct-layout-1_generate.c (dg-options): Likewise.
-
-2011-06-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/49303
- * gcc.target/ia64/pr49303.c: New test.
-
-2011-06-08 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_lock_1.f90: New.
- * gfortran.dg/coarray_lock_2.f90: New.
-
-2011-06-07 Jason Merrill <jason@redhat.com>
-
- * lib/prune.exp: Look for "required" rather than "instantiated".
- * g++.dg/abi/mangle11.C: Likewise.
- * g++.dg/abi/mangle12.C: Likewise.
- * g++.dg/abi/mangle17.C: Likewise.
- * g++.dg/abi/mangle20-2.C: Likewise.
- * g++.dg/abi/pragma-pack1.C: Likewise.
- * g++.dg/cpp0x/decltype26.C: Likewise.
- * g++.dg/cpp0x/decltype28.C: Likewise.
- * g++.dg/cpp0x/decltype29.C: Likewise.
- * g++.dg/cpp0x/enum11.C: Likewise.
- * g++.dg/cpp0x/forw_enum8.C: Likewise.
- * g++.dg/cpp0x/lambda/lambda-errloc2.C: Likewise.
- * g++.dg/cpp0x/pr47416.C: Likewise.
- * g++.dg/ext/case-range2.C: Likewise.
- * g++.dg/ext/case-range3.C: Likewise.
- * g++.dg/gomp/for-19.C: Likewise.
- * g++.dg/gomp/pr37533.C: Likewise.
- * g++.dg/gomp/pr38639.C: Likewise.
- * g++.dg/gomp/tpl-parallel-2.C: Likewise.
- * g++.dg/inherit/base3.C: Likewise.
- * g++.dg/inherit/using6.C: Likewise.
- * g++.dg/init/placement4.C: Likewise.
- * g++.dg/init/reference3.C: Likewise.
- * g++.dg/lookup/scoped6.C: Likewise.
- * g++.dg/lookup/using7.C: Likewise.
- * g++.dg/other/abstract1.C: Likewise.
- * g++.dg/other/error10.C: Likewise.
- * g++.dg/other/error5.C: Likewise.
- * g++.dg/other/field1.C: Likewise.
- * g++.dg/other/offsetof5.C: Likewise.
- * g++.dg/parse/bitfield2.C: Likewise.
- * g++.dg/parse/constant4.C: Likewise.
- * g++.dg/parse/crash20.C: Likewise.
- * g++.dg/parse/invalid-op1.C: Likewise.
- * g++.dg/parse/non-dependent2.C: Likewise.
- * g++.dg/parse/template18.C: Likewise.
- * g++.dg/tc1/dr152.C: Likewise.
- * g++.dg/tc1/dr166.C: Likewise.
- * g++.dg/tc1/dr176.C: Likewise.
- * g++.dg/tc1/dr213.C: Likewise.
- * g++.dg/template/access11.C: Likewise.
- * g++.dg/template/access2.C: Likewise.
- * g++.dg/template/access3.C: Likewise.
- * g++.dg/template/access7.C: Likewise.
- * g++.dg/template/arg7.C: Likewise.
- * g++.dg/template/cond2.C: Likewise.
- * g++.dg/template/crash13.C: Likewise.
- * g++.dg/template/crash40.C: Likewise.
- * g++.dg/template/crash7.C: Likewise.
- * g++.dg/template/crash84.C: Likewise.
- * g++.dg/template/ctor5.C: Likewise.
- * g++.dg/template/defarg13.C: Likewise.
- * g++.dg/template/defarg14.C: Likewise.
- * g++.dg/template/dtor7.C: Likewise.
- * g++.dg/template/eh2.C: Likewise.
- * g++.dg/template/error2.C: Likewise.
- * g++.dg/template/error43.C: Likewise.
- * g++.dg/template/friend32.C: Likewise.
- * g++.dg/template/injected1.C: Likewise.
- * g++.dg/template/instantiate1.C: Likewise.
- * g++.dg/template/instantiate3.C: Likewise.
- * g++.dg/template/instantiate5.C: Likewise.
- * g++.dg/template/instantiate7.C: Likewise.
- * g++.dg/template/local6.C: Likewise.
- * g++.dg/template/lookup2.C: Likewise.
- * g++.dg/template/member5.C: Likewise.
- * g++.dg/template/memfriend15.C: Likewise.
- * g++.dg/template/memfriend16.C: Likewise.
- * g++.dg/template/memfriend17.C: Likewise.
- * g++.dg/template/memfriend7.C: Likewise.
- * g++.dg/template/meminit1.C: Likewise.
- * g++.dg/template/nested3.C: Likewise.
- * g++.dg/template/non-type-template-argument-1.C: Likewise.
- * g++.dg/template/nontype12.C: Likewise.
- * g++.dg/template/nontype13.C: Likewise.
- * g++.dg/template/nontype6.C: Likewise.
- * g++.dg/template/pr23510.C: Likewise.
- * g++.dg/template/pr35240.C: Likewise.
- * g++.dg/template/ptrmem15.C: Likewise.
- * g++.dg/template/ptrmem6.C: Likewise.
- * g++.dg/template/qualified-id1.C: Likewise.
- * g++.dg/template/qualttp20.C: Likewise.
- * g++.dg/template/qualttp3.C: Likewise.
- * g++.dg/template/qualttp4.C: Likewise.
- * g++.dg/template/qualttp5.C: Likewise.
- * g++.dg/template/qualttp6.C: Likewise.
- * g++.dg/template/qualttp7.C: Likewise.
- * g++.dg/template/qualttp8.C: Likewise.
- * g++.dg/template/recurse.C: Likewise.
- * g++.dg/template/recurse2.C: Likewise.
- * g++.dg/template/ref5.C: Likewise.
- * g++.dg/template/scope2.C: Likewise.
- * g++.dg/template/sfinae10.C: Likewise.
- * g++.dg/template/sfinae3.C: Likewise.
- * g++.dg/template/sizeof3.C: Likewise.
- * g++.dg/template/static9.C: Likewise.
- * g++.dg/template/template-id-2.C: Likewise.
- * g++.dg/template/typedef13.C: Likewise.
- * g++.dg/template/typename4.C: Likewise.
- * g++.dg/template/using14.C: Likewise.
- * g++.dg/template/using2.C: Likewise.
- * g++.dg/template/warn1.C: Likewise.
- * g++.dg/warn/Wparentheses-13.C: Likewise.
- * g++.dg/warn/Wparentheses-15.C: Likewise.
- * g++.dg/warn/Wparentheses-16.C: Likewise.
- * g++.dg/warn/Wparentheses-17.C: Likewise.
- * g++.dg/warn/Wparentheses-18.C: Likewise.
- * g++.dg/warn/Wparentheses-19.C: Likewise.
- * g++.dg/warn/Wparentheses-20.C: Likewise.
- * g++.dg/warn/Wparentheses-23.C: Likewise.
- * g++.dg/warn/Wstrict-aliasing-3.C: Likewise.
- * g++.dg/warn/noeffect2.C: Likewise.
- * g++.dg/warn/noeffect4.C: Likewise.
- * g++.dg/warn/pr8570.C: Likewise.
- * g++.old-deja/g++.brendan/init2.C: Likewise.
- * g++.old-deja/g++.eh/spec6.C: Likewise.
- * g++.old-deja/g++.pt/crash10.C: Likewise.
- * g++.old-deja/g++.pt/crash36.C: Likewise.
- * g++.old-deja/g++.pt/derived3.C: Likewise.
- * g++.old-deja/g++.pt/error2.C: Likewise.
- * g++.old-deja/g++.pt/explicit70.C: Likewise.
- * g++.old-deja/g++.pt/infinite1.C: Likewise.
- * g++.old-deja/g++.pt/memtemp89.C: Likewise.
- * g++.old-deja/g++.pt/overload7.C: Likewise.
- * g++.old-deja/g++.pt/vaarg3.C: Likewise.
-
-2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- * objc-obj-c++-shared/runtime.h (protocol_getMethodDescription):
- Added code to deal with the case when [Protocol
- -descriptionForInstanceMethod:] or [Protocol
- -descriptionForClassMethod:] returns NULL.
-
-2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
- Iain Sandoe <iains@gcc.gnu.org>
-
- * objc-obj-c++-shared/TestsuiteObject.h ([-free]): Return 'id'.
- * objc-obj-c++-shared/TestsuiteObject.m ([-free]): Return 'id'.
- Added cast.
-
-2011-06-07 Xinliang David Li <davidxl@google.com>
-
- * gcc.dg/inline_2.c: New test.
- * gcc.dg/unroll_2.c: New test.
- * gcc.dg/inline_3.c: New test.
- * gcc.dg/unroll_3.c: New test.
- * gcc.dg/inline_4.c: New test.
- * gcc.dg/unroll_4.c: New test.
- * gcc.dg/inline_1.c: New test.
- * gcc.dg/unroll_1.c: New test.
-
-2011-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/48497
- * lib/gcc-defs.exp (dg-additional-options): New proc.
- * gfortran.dg/graphite/vect-pr40979.f90: Use dg-additional-options
- -msse2 on 32-bit x86.
-
-2011-06-06 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/enum19.C: New.
-
-2011-06-07 Sergey Grechanik <mouseentity@ispras.ru>
-
- * gcc.target/arm/neon-reload-class.c: New test.
-
-2011-06-07 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/49130
- * g++.dg/debug/dwarf2/integer-typedef.C: New test.
-
-2011-06-07 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/smlatb-1.c: New file.
- * gcc.target/arm/smlatt-1.c: New file.
- * gcc.target/arm/smlaltb-1.c: New file.
- * gcc.target/arm/smlaltt-1.c: New file.
-
-2011-06-07 Andrew Stubbs <ams@codesourcery.com>
-
- * gcc.target/arm/mla-2.c: New test.
-
-2011-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/49299
- * gcc.dg/tree-prof/pr49299-1.c: New test.
- * gcc.dg/tree-prof/pr49299-2.c: New test.
-
-2011-06-07 Ira Rosen <ira.rosen@linaro.org>
-
- * lib/target-supports.exp
- (check_effective_target_vect_widen_mult_qi_to_hi):
- Add NEON as supporting target.
- (check_effective_target_vect_widen_mult_hi_to_si): Likewise.
- (check_effective_target_vect_widen_mult_qi_to_hi_pattern): New.
- (check_effective_target_vect_widen_mult_hi_to_si_pattern): New.
- * gcc.dg/vect/vect-widen-mult-u8.c: Expect to be vectorized
- using widening multiplication on targets that support it.
- * gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
- * gcc.dg/vect/vect-widen-mult-const-s16.c: New test.
- * gcc.dg/vect/vect-widen-mult-const-u16.c: New test.
-
-2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>
-
- Updated all testcases in the ObjC/ObjC++ testsuites to use the
- Modern Objective-C runtime API.
- * objc/execute/next_mapping.h: Removed.
- * objc-obj-c++-shared/next-mapping.h: Removed.
- * objc-obj-c++-shared/Object1.h: Removed.
- * objc-obj-c++-shared/Object1.m: Removed.
- * objc-obj-c++-shared/Object1.mm: Removed.
- * objc-obj-c++-shared/Object1-implementation.h: Removed.
- * objc-obj-c++-shared/Protocol1.h: Removed.
- * objc-obj-c++-shared/objc-test-suite-types.h: Removed definition
- of ProtoBool, IVAR_T and METHOD.
- * objc-obj-c++-shared/runtime.h: New.
- * objc-obj-c++-shared/TestsuiteObject.h: New.
- * objc-obj-c++-shared/TestsuiteObject.m: New.
-
- * objc/compile/trivial.m: Use TestsuiteObject instead of Object.
- * objc/execute/IMP.m: Include ../../objc-obj-c++-shared/runtime.h.
- Use the Modern Objective-C runtime API. ([TestClass -next:]): Made
- it a class method.
- * objc/execute/_cmd.m: Include
- ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C
- runtime API. ([TestClass +initialize]): Include this method also
- with the GNU runtime.
- * objc/execute/accessing_ivars.m: Use TestsuiteObject instead of
- Object. ([-setValue:]): Return void.
- * objc/execute/bf-common.h: Do not include objc/objc-encoding.h
- with the GNU runtime. Include
- ../../objc-obj-c++-shared/runtime.h. Do not define objc_get_class
- for the NeXT runtime. Use the existing print_ivars() and
- compare_structures() implementations for the old NeXT runtime.
- Added new implementations for the Modern GNU and NeXT runtimes.
- Enable the testcase (and hence all the bf-* ones) for __OBJC2__ as
- well. (main): Use objc_getClass(). Use return instead of exit.
- * objc/execute/bycopy-1.m: Include objc/objc.h instead of
- ../../objc-obj-c++-shared/Protocol1.h. (main): Use return instead
- of exit().
- * objc/execute/bycopy-2.m: Include objc/objc.h instead of
- ../../objc-obj-c++-shared/Protocol1.h. Use TestsuiteObject
- instead of Object. (main): Use return instead of exit().
- * objc/execute/bycopy-3.m: Updated includes. Use TestsuiteObject
- instead of Object. Removed prototype for exit(). (main): Use
- return instead of exit(). Use the Modern Objective-C runtime API.
- * objc/execute/cascading-1.m: Use TestsuiteObject instead of
- Object.
- * objc/execute/class-tests-1.h: Include
- ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C
- runtime API. (test_class_with_superclass): Do not call [Object
- class]. There is no need to with the current libobjc.
- * objc/execute/class-tests-2.h: Include
- ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C
- runtime API.
- * objc/execute/class-1.m: Do not include <objc/objc-api.h> and
- ../../objc-obj-c++-shared/next-mapping.h.
- * objc/execute/class-2.m: Likewise.
- * objc/execute/class-3.m: Likewise.
- * objc/execute/class-4.m: Do not include <objc/objc-api.h> and
- ../../objc-obj-c++-shared/next-mapping.h. ([RootClass
- +initialize]): Include this method also with the GNU
- runtime. (main): Use the Modern Objective-C runtime API.
- * objc/execute/class-5.m: Likewise.
- * objc/execute/class-6.m: Likewise.
- * objc/execute/class-7.m: Likewise.
- * objc/execute/class-8.m: Likewise.
- * objc/execute/class-9.m: Likewise.
- * objc/execute/class-10.m: Likewise.
- * objc/execute/class-11.m: Likewise.
- * objc/execute/class-12.m: Likewise.
- * objc/execute/class-13.m: Likewise.
- * objc/execute/class-14.m: Likewise.
- * objc/execute/class_self-1.m ([TestClass +initialize]): Include
- this method also with the GNU runtime.
- * objc/execute/class_self-2.m: ([TestClass +initialize], [ClassA
- +initialize]): Include this method also with the GNU runtime.
- * objc/execute/compatibility_alias.m: Use TestsuiteObject instead
- of Object.
- * objc/execute/encode-1.m: Likewise.
- * objc/execute/enumeration-1.m: Likewise.
- * objc/execute/enumeration-2.m: Likewise.
- * objc/execute/exceptions/catchall-1.m: Likewise.
- * objc/execute/exceptions/finally-1.m: Likewise.
- * objc/execute/exceptions/foward-1.m: Likewise.
- * objc/execute/exceptions/local-variables-1.m: Likewise.
- * objc/execute/exceptions/throw-nil.m: Likewise.
- * objc/execute/exceptions/trivial.m: Likewise.
- * objc/execute/exceptions/handler-1.m: Use TestsuiteObject instead
- of Object. Include objc/runtime.h instead of objc/objc-api.h.
- * objc/execute/exceptions/matcher-1.m: Likewise.
- * objc/execute/formal_protocol-1.m: Use TestsuiteObject instead of
- Object.
- * objc/execute/formal_protocol-2.m: Likewise.
- * objc/execute/formal_protocol-3.m: Likewise.
- * objc/execute/formal_protocol-4.m: Likewise.
- * objc/execute/formal_protocol-5.m: Include
- ../../objc-obj-c++-shared/runtime.h. (main): Always use
- protocol_getName().
- * objc/execute/formal_protocol-6.m: Likewise.
- * objc/execute/formal_protocol-7.m: Use TestsuiteObject instead of
- Object. Include <objc/Protocol.h> instead of
- ../../objc-obj-c++-shared/Protocol1.h.
- * objc/execute/function-message-1.m: Use TestsuiteObject intead of
- Object.
- * objc/execute/informal_protocol.m: Likewise.
- * objc/execute/load-3.m: Likewise.
- * objc/execute/many_args_method.m ([TestClass +initialize]):
- Include this method with the GNU runtime as well.
- * objc/execute/nested-3.m ([Test +initialize]): Likewise.
- * objc/execute/nested-func-1.m: Use TestsuiteObject
- instead of Object.
- * objc/execute/nil_method-1.m: Likewise.
- * objc/execute/no_clash.m: Likewise.
- * objc/execute/np-1.m: Do not include
- ../../objc-obj-c++-shared/Protocol1.h.
- (main): Use return instead of exit().
- * objc/execute/np-2.m: Do not include
- ../../objc-obj-c++-shared/Protocol1.h.
- ([MyObject +initialize]): Include this method also with the GNU
- runtime. (main): Use return instead of exit().
- * objc/execute/object_is_class.m: Include
- ../../objc-obj-c++-shared/runtime.h. Use TestsuiteObject instead
- of Object. (main): Use the Modern Objective-C runtime API.
- * objc/execute/object_is_meta_class.m: Likewise.
- * objc/execute/private.m: Use TestsuiteObject instead of Object.
- * objc/execute/protocol-isEqual-1.m: Include objc/Protocol.h
- instead of ../objc-obj-c++-shared/Protocol1.h. Include
- ../../objc-obj-c++-shared/runtime.h. (main): Use the Modern
- Objective-C runtime API.
- * objc/execute/protocol-isEqual-2.m: Likewise.
- * objc/execute/protocol-isEqual-3.m: Likewise.
- * objc/execute/protocol-isEqual-4.m: Likewise.
- * objc/execute/redefining_self.m ([TestClass +initialize]):
- Include this method with the GNU runtime as well.
- * objc/execute/root_methods.m: Include
- ../../objc-obj-c++-shared/runtime.h. ([RootClass +initialize]):
- Include this method with the GNU runtime as well.
- (main): Use the Modern Objective-C runtime API.
- * objc/execute/selector-1.m: Include
- ../../objc-obj-c++-shared/runtime.h. Use TestsuiteObject instead
- of Object. (main): Use the Modern Objective-C runtime API.
- * objc/execute/static-1.m ([Test +initialize]): Include this
- method with the GNU runtime as well.
- * objc/execute/static-2.m: Likewise.
- * objc/execute/trivial.m: Use TestsuiteObject instead of Object.
- * objc/execute/va_method.m: Do not include objc/objc-api.h.
- ([MathClass +initialize]): Include this method with the GNU
- runtime as well.
- * objc.dg/attributes/categ-attribute-1.m: Use TestsuiteObject
- instead of Object.
- * obj-c++.dg/attributes/categ-attribute-1.mm: Likewise.
- * objc.dg/attributes/categ-attributes-2.m: Likewise.
- * obj-c++.dg/attributes/categ-attributes-2.mm: Likewise.
- * objc.dg/attributes/method-attribute-1.m: Likewise.
- * obj-c++.dg/attributes/method-attribute-1.mm: Likewise.
- * objc.dg/attributes/method-attribute-2.m: Likewise.
- * obj-c++.dg/attributes/method-attribute-2.mm: Likewise.
- * objc.dg/attributes/method-attribute-3.m: Likewise.
- * obj-c++.dg/attributes/method-attribute-3.mm: Likewise.
- * obj-c++.dg/basic.mm: Use TestsuiteObject instead of Object.
- * objc.dg/bitfield-1.m: Use TestsuiteObject instead of Object.
- * obj-c++.dg/bitfield-1.mm: Likewise.
- * obj-c++.dg/bitfield-2.mm: Likewise
- * objc.dg/bitfield-3.m: Likewise.
- * obj-c++.dg/bitfield-4.mm: Likewise.
- * objc.dg/bitfield-5.m: Likewise
- * objc.dg/call-super-1.m: Likewise.
- * objc.dg/call-super-2.m: Use TestsuiteObject instead of Object.
- Use objc_getClass() instead of objc_get_class(), but for the GNU
- runtime redefine objc_getClass as objc_get_class. Include
- ../objc-obj-c++-shared/runtime.h.
- * objc.dg/call-super-3.m: Use TestsuiteObject instead of Object.
- * objc.dg/category-1.m: Use TestsuiteObject instead of Object.
- Use the Modern Objective-C runtime API.
- * objc.dg/class-protocol-1.m: Include
- ../objc-obj-c++-shared/runtime.h instead of objc/objc-api.h.
- * obj-c++.dg/class-protocol-1.mm: Likewise.
- * objc.dg/comp-types-8.m: Use TestsuiteObject instead of Object.
- * objc.dg/comp-types-10.m: Likewise.
- * objc.dg/comp-types-11.m: Likewise.
- * objc.dg/comp-types-12.m: Likewise.
- * obj-c++.dg/comp-types-9.mm: Likewise.
- * obj-c++.dg/comp-types-11.mm: Likewise.
- * obj-c++.dg/comp-types-12.mm: Likewise.
- * obj-c++.dg/comp-types-13.mm: Likewise.
- * obj-c++.dg/cxx-ivars-1.mm: Likewise.
- * obj-c++.dg/cxx-ivars-2.mm: Likewise.
- * obj-c++.dg/cxx-scope-1.mm: Likewise.
- * obj-c++.dg/cxx-scope-2.mm: Likewise.
- * objc.dg/defs.m: Use TestsuiteObject instead of Object.
- * objc.dg/desig-init-1.m: Likewise.
- * obj-c++.dg/defs.mm: Likewise.
- * objc.dg/exceptions-2.m: Likewise.
- * obj-c++.dg/except-1.mm: Likewise.
- * obj-c++.dg/exceptions-2.mm: Likewise.
- * objc.dg/encode-2.m: Use TestsuiteObject instead of Object.
- Use the Modern Objective-C runtime API.
- * objc.dg/encode-3.m: Use TestsuiteObject instead of Object. Use
- the Modern Objective-C runtime API. Do not include
- ../objc-obj-c++-shared/objc-test-suite-types.h. Define ProtoBool.
- * objc.dg/encode-4.m: Use TestsuiteObject instead of Object. Use
- the Modern Objective-C runtime API except when using an older NeXT
- runtime.
- * objc.dg/encode-5.m: Use TestsuiteObject instead of Object. Use
- the Modern Objective-C runtime API.
- * objc.dg/encode-7.m: Include objc/runtime.h instead of
- objc/encoding.h.
- * objc.dg/encode-7-next.m: Use TestsuiteObject instead of Object.
- * objc.dg/encode-7-next-64bit.m: Updated include.
- * objc.dg/encode-8.m: Include objc/runtime.h instead of
- objc/encoding.h.
- * obj-c++.dg/encode-4.mm: Use TestsuiteObject instead of Object. Use
- the Modern Objective-C runtime API.
- * obj-c++.dg/encode-5.mm: Use TestsuiteObject instead of Object.
- Use the Modern Objective-C runtime API. Include objc/Protocol.h
- instead of ../objc-obj-c++-shared/Protocol1.h.
- * obj-c++.dg/encode-6.mm: Use TestsuiteObject instead of Object. Use
- the Modern Objective-C runtime API except when using an older NeXT
- runtime.
- * obj-c++.dg/encode-7.mm: Use TestsuiteObject instead of Object. Use
- the Modern Objective-C runtime API.
- * objc.dg/fix-and-continue-1.m: Use TestsuiteObject instead of
- Object.
- * obj-c++.dg/fix-and-continue-2.mm: Likewise.
- * objc.dg/fix-and-continue-2.m: Likewise.
- * objc.dg/foreach-1.m: Likewise.
- * objc.dg/foreach-2.m: Likewise.
- * objc.dg/foreach-3.m: Likewise.
- * objc.dg/foreach-4.m: Likewise.
- * objc.dg/foreach-5.m: Likewise.
- * objc.dg/foreach-6.m: Likewise.
- * objc.dg/foreach-7.m: Likewise.
- * objc.dg/func-ptr-1.m: Use TestsuiteObject instead of
- Object.
- * objc.dg/func-ptr-2.m: Likewise.
- * objc.dg/fsf-package-0.m: Use TestsuiteObject instead of Object.
- Do not include objc/objc-api.h.
- * obj-c++.dg/fsf-package-0.mm: Likewise.
- * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c
- (switchfiles): Include objc/runtime.h instead of objc/encoding.h.
- * objc.dg/gnu-runtime-1.m: Updated to use TestsuiteObject instead
- of Object.
- * obj-c++.dg/gnu-runtime-1.mm: Likewise.
- * objc.dg/gnu-runtime-3.m: Likewise.
- * obj-c++.dg/gnu-runtime-3.mm: Likewise.
- * objc.dg/headers.m: Include objc/runtime.h instead of
- objc/encoding.h for the GNU runtime. Include objc/objc-api.h only
- for the NeXT runtime.
- * objc.dg/isa-field-1.m: Use TestsuiteObject instead of Object.
- * obj-c++.dg/isa-field-1.mm: Likewise.
- * obj-c++.dg/ivar-list-semi.mm: Likewise.
- * objc.dg/layout-1.m: Likewise.
- * objc.dg/layout-2.m: Likewise.
- * objc.dg/local-decl-2.m: Likewise.
- * objc.dg/lookup-1.m: Use TestsuiteObject instead of
- Object. ([Container +elementForView:]): Use
- class_conformsToProtocol().
- * obj-c++.dg/lookup-2.mm: Likewise.
- * obj-c++.dg/layout-1.mm: Use TestsuiteObject instead of Object.
- * obj-c++.dg/local-decl-1.mm: Likewise.
- * objc.dg/method-3.m: Likewise.
- * objc.dg/method-4.m: Likewise.
- * objc.dg/method-6.m: Include objc/Protocol.h instead of
- ../objc-obj-c++-shared/Protocol1.h.
- * objc.dg/method-7.m: Use TestsuiteObject instead of Object.
- * objc.dg/method-9.m: Likewise.
- * objc.dg/method-10.m: Likewise.
- * objc.dg/method-13.m ([Root +initialize]): Include this method
- also for the GNU runtime. (main): Use objc_getClass() also for
- the GNU runtime.
- * objc.dg/method-15.m: Use TestsuiteObject instead of Object.
- * objc.dg/method-17.m: Likewise.
- * objc.dg/method-19.m: Likewise.
- * objc.dg/method-20b.m: Likewise.
- * obj-c++.dg/method-2.mm: Likewise.
- * obj-c++.dg/method-6.mm: Likewise.
- * obj-c++.dg/method-10.mm: Likewise.
- * obj-c++.dg/method-11.mm: Likewise.
- * obj-c++.dg/method-12.mm: Include objc/Protocol.h instead of
- ../objc-obj-c++-shared/Protocol1.h.
- * obj-c++.dg/method-13.mm: Use TestsuiteObject instead of Object.
- * obj-c++.dg/method-15.mm: Likewise.
- * obj-c++.dg/method-17.mm: Likewise.
- * obj-c++.dg/method-19.mm: Updated includes. ([Root
- +initialize]): Include this method also for the GNU
- runtime. (main): Use objc_getClass() also for the GNU runtime.
- * obj-c++.dg/method-21.mm: Use TestsuiteObject instead of Object.
- * obj-c++.dg/method-22.mm: Likewise.
- * obj-c++.dg/method-23.mm: Likewise.
- * obj-c++.dg/no-extra-load.mm: Likewise.
- * objc.dg/objc-fast-4.m: Likewise.
- * objc.dg/objc-gc-4.m: Likewise.
- * obj-c++.dg/objc-gc-3.mm: Likewise.
- * objc.dg/pr18255.m: Include objc/runtime.h. (main): Use
- protocol_getMethodDescription() instead of [Protocol
- -descriptionForInstanceMethod].
- * objc.dg/pr23214.m ([Object(TS_CAT) -class]): Renamed to test.
- Made it available with all runtimes. (main): Call -test instead
- of -class.
- * objc.dg/pr45878.m ([Object -isEqual:]): Renamed to testIsEqual,
- and put into a category.
- * objc.dg/proto-lossage-2.m: Use TestsuiteObject instead of
- Object. Include objc/objc.h.
- * obj-c++.dg/proto-lossage-2.mm: Likewise.
- * objc.dg/proto-lossage-3.m: Updated includes. (MyClass):
- New. (main): Use protocol_getMethodDescription() instead
- of [Protocol -descriptionForInstanceMethod] and [Protocol
- -descriptionForClassMethod].
- * obj-c++.dg/proto-lossage-3.mm: Likewise.
- * objc.dg/proto-qual-1.m: Updated includes. Use the Modern
- Objective-C runtime API.
- * obj-c++.dg/proto-qual-1.mm: Likewise.
- * objc.dg/property/property-1.m: Use TestsuiteObject instead of
- Object.
- * obj-c++.dg/property/property-1.mm: Likewise.
- * obj-c++.dg/qual-types-1.mm: Likewise.
- * objc.dg/selector-2.m: Include objc/objc.h instead of
- ../objc-obj-c++-shared/Object1.h.
- * obj-c++.dg/selector-2.mm: Likewise.
- * obj-c++.dg/selector-5.mm: Likewise.
- * obj-c++.dg/selector-6.mm: Likewise.
- * objc.dg/set-not-used-1.m: Use TestsuiteObject instead of
- Object. Do not include objc/objc-api.h.
- * obj-c++.dg/set-not-used-1.mm: Likewise.
- * objc.dg/sizeof-1.m: Use TestsuiteObject instead of Object.
- * objc.dg/stret-1.m: Likewise.
- * objc.dg/stret-2.m: Likewise.
- * obj-c++.dg/super-class-2.mm: Likewise.
- * objc.dg/super-class-3.m: Likewise.
- * objc.dg/super-class-4.m: Likewise.
- * objc.dg/sync-2.m: Likewise.
- * obj-c++.dg/sync-2.mm: Likewise.
- * objc.dg/sync-1.m: Include objc/objc.h instead of
- ../objc-obj-c++-shared/Object1.h.
- * objc.dg/special/unclaimed-category-1.h (TestClass): Always use
- 'Class' as the type of 'isa'.
- * objc.dg/special/unclaimed-category-1.m: Use the Modern
- Objective-C runtime API. ([TestClass +initialize]): Include this
- method with the GNU runtime as well.
- * objc.dg/strings/strings-1.m: Updated includes.
- * obj-c++.dg/strings/strings-1.mm: Likewise.
- * obj-c++.dg/strings/const-str-12.mm: Updated to be identical to
- objc.dg/strings/const-str-12b.m.
- * obj-c++.dg/template-1.mm: Use TestsuiteObject intead of Object.
- * obj-c++.dg/template-3.mm: Likewise.
- * obj-c++.dg/template-4.mm: Likewise.
- * objc.dg/threedotthree-abi-1.m: Updated includes. Use Modern
- Objective-C runtime API.
- * obj-c++.dg/threedotthree-abi-1.mm: Likewise.
- * objc.dg/try-catch-1.m: Use TestsuiteObject instead of Object.
- * obj-c++.dg/try-catch-1.mm: Likewise.
- * obj-c++.dg/try-catch-2.mm: Likewise.
- * objc.dg/try-catch-3.m: Likewise.
- * obj-c++.dg/try-catch-3.mm: Likewise.
- * objc.dg/try-catch-6.m: Likewise.
- * objc.dg/try-catch-7.m: Likewise.
- * obj-c++.dg/try-catch-7.mm: Likewise.
- * obj-c++.dg/try-catch-8.mm: Likewise.
- * obj-c++.dg/try-catch-9.mm: Likewise.
- * objc.dg/try-catch-10.m: Likewise.
- * obj-c++.dg/try-catch-11.mm: Likewise.
- * objc.dg/typedef-alias-1.m: Use TestsuiteObject instead of
- Object. Include objc/objc.h.
- * obj-c++.dg/typedef-alias-1.mm: Likewise.
- * objc.dg/type-size-2.m: Use the Modern Objective-C runtime API.
- * objc.dg/torture/forward-1.m: Use TestsuiteObject intead of
- Object. Use Modern Objective-C runtime API. Do not use
- performv::.
- * objc.dg/torture/trivial.m: Use TestsuiteObject intead of Object.
- * obj-c++.dg/torture/trivial.mm: Likewise.
- * objc.dg/torture/strings/const-str-10.m: Include objc/Object.h
- instead of ../objc-obj-c++-shared/Object1.h. Include
- ../objc-obj-c++-shared/runtime.h.
- * obj-c++.dg/torture/strings/const-str-10.mm: Likewise.
- * objc.dg/torture/strings/const-str-11.m: Likewise.
- * obj-c++.dg/torture/strings/const-str-11.mm: Likewise.
- * objc.dg/torture/strings/const-str-9.m: Likewise.
- * obj-c++.dg/torture/strings/const-str-9.mm: Likewise.
- * objc.dg/torture/strings/const-str-7.m: Use TestsuiteObject
- instead of Object. Only add _FooClassReference if
- __NEXT_RUNTIME__.
- * obj-c++.dg/torture/strings/const-str-7.mm: Likewise.
- * objc.dg/torture/strings/const-str-8.m: Likewise.
- * obj-c++.dg/torture/strings/const-str-8.mm: Likewise.
- * obj-c++.dg/torture/strings/string1.mm: Updated includes and
- additional sources.
- * objc.dg/torture/tls/thr-init-3.m: Use TestsuiteObject instead of
- Object.
- * obj-c++.dg/torture/tls/thr-init-3.mm: Likewise.
- * objc.dg/va-meth-1.m: Use TestsuiteObject instead of Object.
- * obj-c++.dg/va-meth-1.mm: Likewise.
- * objc.dg/zero-link-1.m: Include objc/Object.h instead of
- ../objc-obj-c++-shared/Object1.h.
- * objc.dg/zero-link-3.m: Likewise.
-
-2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * obj-c++.dg/try-catch-2.mm: Fixed unterminated comment.
-
-2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR obj-c++/48275
- * obj-c++.dg/property/cxx-property-1.mm: New.
- * obj-c++.dg/property/cxx-property-2.mm: New.
-
-2011-06-06 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/ptrmem1.C: New.
-
-2011-06-06 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR rtl-optimization/49145
- From Ryan Mansfield
- * gcc.c-torture/compile/pr49145.c: New test.
-
-2011-06-06 Jakub Jelinek <jakub@redhat.com>
-
- PR testsuite/49288
- * g++.dg/debug/dwarf2/cdtor-1.C: Add -fno-merge-debug-strings
- to dg-options, match also DW_AT_linkage_name.
-
- PR debug/49294
- * gcc.dg/debug/pr49294.c: New test.
-
- PR c++/49264
- * g++.dg/opt/pr49264.C: New test.
-
-2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
-
- PR tree-optimization/49243
- * gcc.dg/pr49243.c: New.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/cond_expr1.ads: New test.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/deferred_const4.ad[sb]: New test.
- * gnat.dg/deferred_const4_pkg.ads: New helper.
-
-2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/test_tamdt.adb: Rename to...
- * gnat.dg/taft_type1.adb: ...this.
- * gnat.dg/tamdt.ad[sb]: Rename to...
- * gnat.dg/taft_type1_pkg1.ad[sb]: ...this.
- * gnat.dg/tamdt_aux.ads: Rename to...
- * gnat.dg/taft_type1_pkg2.ads: ...this.
- * gnat.dg/taft_type2.ad[sb]: New test.
- * gnat.dg/taft_type2_pkg.ads: New helper.
- * gnat.dg/taft_type3.adb: New test.
- * gnat.dg/taft_type3_pkg.ads: New helper.
-
-2011-06-05 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49255
- * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
- for F2008.
-
-2011-06-05 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR testsuite/49287
- * objc.dg/gnu-api-2-class.m: Updated testcase silencing compiler
- warning.
- * objc.dg/gnu-api-2-objc.m: Likewise.
- * obj-c++.dg/gnu-api-2-class.mm: Likewise
- * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
-
-2011-06-05 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/gnu-api-2-objc.m: Fixed testcase. Use log2 of the
- alignment, not the alignment, when calling class_addIvar(). Add
- an 'isa' instance variable to the test root class.
- * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
-
-2011-06-04 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/48893
- PR tree-optimization/49091
- PR tree-optimization/49179
- * gfortran.dg/pr49179.f90: New testcase
-
-2011-06-04 Jan Hubicka <jh@suse.cz>
-
- PR lto/48954
- * g++.dg/torture/pr48954.C: New testcase.
-
-2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- * g++.dg/warn/delete-non-virtual-dtor.C: New.
-
-2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/33840
- * g++.dg/diagnostic/bitfld2.C: New.
-
-2011-06-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/49281
- * gcc.c-torture/execute/pr49281.c: New test.
-
-2011-06-04 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimize/48929
- * gcc.c-torture/compile/pr48929.c: New testcase.
-
-2011-06-04 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/guality/rotatetest.c (f5, f6): Fix up pastos.
-
-2011-06-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49276
- * g++.dg/cpp0x/lambda/lambda-mangle2.C: New test.
-
-2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/headers.m: Do not include sarray.h and hash.h.
-
-2011-06-03 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/target-supports.exp (check_sse_os_support_available): Use movaps.
-
-2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/headers.m: Do not include objc-list.h.
-
-2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/type-stream-1.m: Test removed.
- * objc.dg/headers.m: Do not include typedstream.h.
-
-2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/torture/forward-1.m (main): Updated testcase.
-
-2011-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49163
- * gcc.c-torture/compile/pr49163.c: New.
-
-2011-06-02 Asher Langton <langton2@llnl.gov>
-
- PR fortran/49268
- * gfortran.dg/PR49268.f90: New test.
-
-2011-06-02 Asher Langton <langton2@llnl.gov>
-
- PR fortran/37039
- * gfortran.dg/PR37039.f90: New test.
-
-2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/48539
- * objc.dg/method-5.m: Updated.
- * objc.dg/method-19.m: Updated.
- * objc.dg/method-lookup-1.m: New.
- * obj-c++.dg/method-6.mm: Updated.
- * obj-c++.dg/method-7.mm: Updated.
- * obj-c++.dg/method-lookup-1.mm: New.
-
-2011-06-02 DJ Delorie <dj@redhat.com>
-
- * lib/timeout.exp (timeout): Add board_info support.
-
-2011-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse2-init-v2di-2: Update scan-assembler-times string.
-
-2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
-
- PR fortran/49265
- * gfortran.dg/module_procedure_double_colon_1.f90: New test.
- * gfortran.dg/module_procedure_double_colon_2.f90: New test.
-
-2011-06-02 Eric Botcazou <ebotcazou@adacore.com>
- Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/48840
- * gcc.target/sparc/ultrasp13.c: New test.
-
-2011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49238
- * gcc.c-torture/compile/pr49238.c: New.
-
-2011-06-01 Sofiane Naci <sofiane.naci@arm.com>
-
- * gcc.target/arm/g2.c: Skip test in -mthumb.
- Skip test unless cpu is xscale.
- * gcc.target/arm/scd42-2.c: Likewise.
- * gcc.target/arm/mmx-1.c: Skip test in -mthumb.
-
-2011-06-01 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/decltype28.C: New.
- * g++.dg/cpp0x/decltype29.C: New.
-
-2011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/45074
- * gcc.target/mips/pr45074.c: New test.
-
-2011-06-01 Eric Botcazou <ebotcazou@adacore.com>
- Hans-Peter Nilsson <hp@axis.com>
-
- PR rtl-optimization/48830
- * gcc.target/sparc/ultrasp12.c: New test.
-
-2011-06-01 David Li <davidxl@google.com>
-
- * gcc.dg/profile-dir-1.c: Change pass name.
- * gcc.dg/profile-dir-2.c: Ditto.
- * gcc.dg/tree-ssa/dump-1.c: Ditto.
- * gcc.dg/tree-ssa/loop-25.c: Ditto.
- * gcc.dg/tree-prof/stringop-1.c: Ditto.
- * gcc.dg/tree-prof/update-loopch.c: Ditto.
- * gcc.dg/tree-prof/stringop-2.c: Ditto.
- * gcc.dg/tree-prof/ic-misattribution-1.c: Ditto.
- * gcc.dg/tree-prof/ic-misattribution-1a.c: Ditto.
- * gcc.dg/tree-prof/indir-call-prof.c: Ditto.
- * gcc.dg/tree-prof/val-prof-1.c: Ditto.
- * gcc.dg/tree-prof/val-prof-2.c: Ditto.
- * gcc.dg/tree-prof/val-prof-3.c: Ditto.
- * gcc.dg/tree-prof/val-prof-4.c: Ditto.
- * gcc.dg/tree-prof/val-prof-5.c: Ditto.
- * gcc.dg/tree-prof/val-prof-7.c: Ditto.
- * gcc.dg/profile-dir-3.c: Ditto.
- * g++.dg/tree-prof/indir-call-prof.C: Ditto.
-
-2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/attributes/method-nonnull-1.m: New test.
- * obj-c++.dg/attributes/method-nonnull-1.mm: New test.
-
-2011-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_atomic_1.f90: New.
- * gfortran.dg/coarray/atomic_1.f90: New.
-
-2011-05-31 Jakub Jelinek <jakub@redhat.com>
-
- * gcc.dg/guality/bswaptest.c: New test.
- * gcc.dg/guality/clztest.c: New test.
- * gcc.dg/guality/ctztest.c: New test.
- * gcc.dg/guality/rotatetest.c: New test.
-
- PR target/48688
- * gcc.target/i386/pr48688.c: New test.
-
-2010-11-15 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/48010
- * g++.dg/lookup/name-clash9.C: New.
-
-2011-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/dummy_1.f90: New.
-
-2011-05-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/save_1.f90: New.
- * gfortran.dg/coarray_4.f90: Update dg-error.
-
-2011-05-31 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/rv-template1.C: New.
-
-2011-05-31 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49235
- * gcc.dg/pr49235.c: New test.
-
-2011-05-31 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49093
- * gcc.dg/vect/pr49093.c: New test.
-
-2011-05-31 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/49047
- * g++.dg/debug/dwarf2/cdtor-1.C: New test.
-
-2011-05-31 Ira Rosen <ira.rosen@linaro.org>
-
- PR testsuite/49239
- * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Initialize the
- output array.
-
-2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/49186
- * gcc.c-torture/execute/pr49186.c: New.
-
-2011-05-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49168
- * gcc.target/i386/pr49168-1.c: New.
-
-2011-05-30 Jakub Jelinek <jakub@redhat.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/guality/drap.c: New test.
-
-2011-05-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49210
- * gnat.dg/boolean_subtype2.ad[sb]: New testcase.
- * gnat.dg/boolean_subtype2_pkg.ads: New helper.
-
-2011-05-30 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49223
- * g++.dg/gomp/pr49223-1.C: New test.
- * g++.dg/gomp/pr49223-2.C: New test.
-
-2011-05-30 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49218
- * gcc.c-torture/execute/pr49218.c: New testcase.
-
-2011-05-30 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49199
- * gcc.dg/vect/no-scevccp-pr49199.c: New test.
- * gcc.dg/vect/vect.exp: Run no-scevccp-pr* tests with
- -fno-tree-scev-cprop.
-
-2011-05-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47601
- * gfortran.dg/extends_13.f03: New.
-
-2011-05-29 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/49095
- * gcc.target/i386/pr49095.c: New test.
-
-2011-05-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_24.f90: New.
-
-2011-05-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_23.f90: New.
-
-2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
-
- From Ryan Mansfield
- * gcc.dg/pr48826.c: New test.
-
-2011-05-29 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49217
- * gcc.dg/torture/pr49217.c: New testcase.
-
-2011-05-29 Ira Rosen <ira.rosen@linaro.org>
-
- PR testsuite/49222
- * gcc.dg/vect/pr49038.c: Use MAP_ANON if MAP_ANONYMOUS is not defined.
-
-2011-05-29 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/boolean_subtype.adb: Rename to...
- * gnat.dg/boolean_subtype1.adb: ...this.
-
-2011-05-28 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/lambda/lambda-syntax1.C: New.
-
-2011-05-27 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/enum18.C: Adjust.
-
- * g++.dg/cpp0x/lambda/lambda-template2.C: New.
-
-2011-05-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_22.f90: New.
-
-2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR tree-optimization/46728
- * gcc.target/powerpc/pr46728-1.c: New.
- * gcc.target/powerpc/pr46728-2.c: New.
- * gcc.target/powerpc/pr46728-3.c: New.
- * gcc.target/powerpc/pr46728-4.c: New.
- * gcc.target/powerpc/pr46728-5.c: New.
- * gcc.dg/pr46728-6.c: New.
- * gcc.target/powerpc/pr46728-7.c: New.
- * gcc.target/powerpc/pr46728-8.c: New.
- * gcc.dg/pr46728-9.c: New.
- * gcc.target/powerpc/pr46728-10.c: New.
- * gcc.target/powerpc/pr46728-11.c: New.
- * gcc.dg/pr46728-12.c: New.
- * gcc.target/powerpc/pr46728-13.c: New.
- * gcc.target/powerpc/pr46728-14.c: New.
- * gcc.target/powerpc/pr46728-15.c: New.
- * gcc.target/powerpc/pr46728-16.c: New.
-
-2011-05-27 Jason Merrill <jason@redhat.com>
-
- * g++.dg/abi/mangle47.C: New.
-
- PR c++/49176
- * g++.dg/template/const5.C: New.
-
- * g++.dg/cpp0x/enum18.C: New.
-
- * g++.dg/cpp0x/lambda/lambda-nested4.C: New.
-
- * g++.dg/cpp0x/error6.C: New.
-
- * g++.dg/cpp0x/error5.C: New.
-
-2011-05-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49165
- * g++.dg/eh/cond6.C: New test.
-
-2011-05-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48820
- * gfortran.dg/rank_3.f90: New.
- * gfortran.dg/rank_4.f90: New.
-
-2011-05-27 Janis Johnson <janisjo@codesourcery.com>
-
- * g++.dg/tree-ssa-pr43411.C: Rename function to be inlined and
- replace dump search.
-
-2011-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/bit_packed_array5.ads: Move dg directive to...
- * gnat.dg/bit_packed_array5.adb: ...here.
-
-2011-05-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/42056
- * g++.dg/cpp0x/auto25.C: New.
-
-2011-05-27 Richard Guenther <rguenther@suse.de>
-
- * gcc.c-torture/execute/920711-1.x: Add -fwrapv.
-
-2011-05-27 Richard Guenther <rguenther@suse.de>
-
- * gcc.c-torture/execute/920612-1.x: Add -fwrapv.
-
-2011-05-27 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/49189
- * gnat.dg/bit_packed_array5.ad[sb]: New testcase.
-
-2011-05-26 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/friend1.C: New.
- * g++.dg/cpp0x/friend2.C: New.
-
- * g++.dg/cpp0x/auto7.C: Update.
- * g++.dg/template/crash50.C: Adjust.
- * g++.dg/template/static9.C: Adjust.
- * g++.old-deja/g++.ext/memconst.C: Adjust.
-
-2011-05-26 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.dg/march.c: Ignore a note for some targets.
-
-2011-05-26 Janis Johnson <janis187@us.ibm.com>
- Nathan Froyd <froydnj@codesourcery.com>
-
- PR c++/2288
- PR c++/18770
- * g++.old-deja/g++.jason/cond.C: Remove xfails.
- * g++.dg/parse/pr18770.C: New test.
- * g++.dg/cpp0x/range-for5.C: Add dg-error marker.
-
-2011-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48955
- * gfortran.dg/dependency_40.f90 : New test.
-
-2011-05-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/registering_1.f90: New.
-
-2011-05-26 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/variadic111.C: New.
- * g++.dg/cpp0x/variadic41.C: Adjust.
-
-2011-05-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48702
- * gcc.dg/torture/pr48702.c: New testcase.
-
-2011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR gcov-profile/48845
- * g++.dg/tree-prof/tree-prof.exp: Check for -fprofile-generate
- support.
- * gcc.dg/matrix/matrix.exp: Likewise.
- * gcc.dg/tree-prof/tree-prof.exp: Likewise.
- * lib/target-supports-dg.exp (dg-require-profiling): Don't pass
- line number to check_profiling_available.
- * lib/target-supports.exp (check_profiling_available): Account for
- this.
- Require TLS runtime support with -fprofile-generate.
- * lib/profopt.exp (profopt-execute): Add TLS options for
- -fprofile-generate.
- * gcc.dg/pr47793.c: Add dg-require-profiling "-fprofile-generate".
-
-2011-05-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49165
- * g++.dg/eh/cond5.C: New test.
-
- PR tree-optimization/49161
- * gcc.c-torture/execute/pr49161.c: New test.
-
-2011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/neon-vorn-vbic.c: New test.
-
-2011-05-26 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49038
- * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: New test.
- * gcc.dg/vect/pr49038.c: New test.
-
-2011-05-26 Fabien Chêne <fabien@gcc.gnu.org>
-
- * g++.dg/init/pr25811-3.C: New.
- * g++.dg/init/pr25811-4.C: New.
-
-2011-05-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/enum17.C: New.
- * g++.old-deja/g++.jason/rfg10.C: Adjust.
-
- * g++.dg/cpp0x/auto24.C: New.
-
- * g++.dg/cpp0x/error4.C: New.
-
- * g++.dg/cpp0x/rv-restrict.C: New.
-
- * g++.dg/cpp0x/enum15.C: New.
- * g++.dg/cpp0x/constexpr-switch2.C: New.
-
- * g++.dg/cpp0x/variadic110.C: New.
-
- * g++.dg/cpp0x/auto9.C: Add typedef test.
-
- * g++.dg/cpp0x/auto23.C: New.
- * g++.dg/cpp0x/auto9.C: Adjust.
-
- * g++.dg/cpp0x/defaulted29.C: New.
-
- * g++.dg/cpp0x/initlist51.C: New.
-
-2011-05-25 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/fp16-compile-none-1.c: Update expected error.
- * g++.dg/abi/packed1.C: Suppress warning.
- * g++.dg/warn/Wunused-parm-3.C: Likewise.
- * g++.dg/template/stdarg1.C: Likewise.
- * g++.dg/other/packed1.C: Remove arm from xfail list.
-
-2011-05-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/enum16.C: New.
- * g++.dg/parse/error15.C: Adjust.
-
- * g++.dg/cpp0x/initlist50.C: New.
-
- * g++.dg/cpp0x/lambda/lambda-conv5.C: New.
-
- * g++.dg/cpp0x/variadic109.C: New.
-
-2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pause-1.c: New.
-
-2011-05-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/stack-usage-1.c: Adjust comment.
- * gcc.dg/stack-usage-2.c: New test.
-
-2011-05-25 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/49136
- * g++.dg/cpp0x/constexpr-bitfield2.C: New test.
- * g++.dg/cpp0x/constexpr-bitfield3.C: New test.
-
-2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/48757
- * gfortran.dg/pr48757.f: New test case.
-
-2011-05-24 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/access01.C: New.
-
-2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR libobjc/48177
- * objc.dg/pr48177.m: New testcase.
-
-2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/48187
- * objc.dg/pr48187.m: New testcase.
- * obj-c++.dg/pr48187.mm: New testcase.
- * objc.dg/ivar-extra-semicolon.m: New testcase.
-
-2011-05-24 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/access21.C: New.
- * g++.dg/template/access22.C: New.
-
-2011-05-24 Michael Matz <matz@gcc.gnu.org>
-
- PR rtl-optimization/48633
- * g++.dg/pr48633.C: New test.
-
-2011-05-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/49133
- * g++.dg/other/pr49133.C: New test.
-
-2011-05-24 Uros Bizjak <ubizjak@gmail.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/torture/tls/run-gd.c: New test.
- * gcc.dg/torture/tls/run-ie.c: New test.
- * gcc.dg/torture/tls/run-ld.c: New test.
- * gcc.dg/torture/tls/run-le.c: New test.
- * lib/target-supports.exp (check_effective_target_tls_runtime):
- Build testcase with TLS options.
-
-2011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/vect/pr48172.c: Remove dg-do run.
-
-2011-05-24 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/49121
- * gcc.dg/tree-ssa/ivopt_infer_2.c: Adapt test.
-
-2011-05-23 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/defaulted28.C: New.
-
- * g++.dg/cpp0x/sfinae25.C: New.
-
- * g++.dg/cpp0x/rv-cast2.C: New.
-
- * g++.dg/cpp0x/enum14.C: New.
-
-2011-05-23 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/49123
- * gcc.c-torture/execute/pr49123.c: New test.
-
- PR debug/49032
- * gcc.dg/debug/pr49032.c: New test.
-
- PR c/49120
- * gcc.dg/pr49120.c: New test.
-
-2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47315
- * gcc.target/i386/pr47315.c: New test.
-
-2011-05-23 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/lambda/lambda-eh2.C: New.
-
- * g++.dg/cpp0x/sfinae24.C: New.
-
- * g++.dg/cpp0x/error3.C: New.
-
- * g++.dg/cpp0x/defaulted27.C: New.
-
- * g++.dg/cpp0x/decltype27.C: New.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/forwprop-11.c: Adjust and un-XFAIL.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/40874
- * g++.dg/tree-ssa/pr40874.C: New testcase.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49115
- * g++.dg/torture/pr49115.C: New testcase.
-
-2011-05-23 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/15419
- * gcc.dg/memcpy-3.c: New testcase.
-
-2011-05-23 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48973
- * gcc.c-torture/execute/pr48973-1.c: New test.
- * gcc.c-torture/execute/pr48973-2.c: New test.
-
-2011-05-23 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/18016
- * g++.dg/warn/pr18016.C: New.
-
-2011-05-23 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * gcc.target/arm/ivopts-6.c: New test.
-
-2011-05-22 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/49029
- * gcc.c-torture/compile/pr49029.c: New test.
-
-2011-05-22 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae23.C: New.
- * g++.dg/cpp0x/sfinae8.C: Correct.
-
-2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/function_optimize_8.f90: New test case.
-
-2011-05-22 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/49087
- * gcc.dg/vect/O3-pr49087.c: New test.
-
-2011-05-21 Jason Merrill <jason@redhat.com>
-
- * g++.dg/debug/const5.C: New.
-
-2011-05-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-static7.C: Extend.
-
- * g++.dg/cpp0x/constexpr-static7.C: New.
-
- * g++.dg/cpp0x/enum12.C: New.
- * g++.dg/cpp0x/enum13.C: New.
-
-2011-05-21 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48699
- * gfortran.dg/select_type_23.f03: New.
-
-2011-05-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/defaulted26.C: New.
-
- * g++.dg/cpp0x/noexcept02.C: Fix.
- * g++.dg/cpp0x/noexcept03.C: Fix.
- * g++.dg/cpp0x/noexcept08.C: Fix.
- * g++.dg/cpp0x/noexcept10.C: New.
-
-2011-05-20 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48706
- * gfortran.dg/extends_12.f03: New.
-
-2011-05-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/koenig9.C: New.
- * g++.dg/opt/pr47615.C: Fix.
- * g++.dg/overload/defarg1.C: Fix.
- * g++.dg/tc1/dr213.C: Remove xfail.
- * g++.dg/torture/pr34850.C: Fix.
- * g++.dg/torture/pr39362.C: Fix.
- * g++.old-deja/g++.brendan/crash56.C: Fix.
- * g++.old-deja/g++.pt/memtemp47.C: Fix.
-
-2011-05-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/49079
- * gcc.dg/torture/pr49079.c: New testcase.
-
-2011-05-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49073
- * gcc.c-torture/execute/pr49073.c: New test.
-
-2011-06-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_21.f90: New.
-
-2011-05-19 Joseph Myers <joseph@codesourcery.com>
-
- * lib/prune.exe (prune_gcc_output): Expect "error:" in collect2
- output.
-
-2011-05-19 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/49063
- * gcc.dg/builtin-object-size-11.c: Use -std=gnu89.
-
-2011-05-19 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48985
- * gcc.dg/builtin-object-size-11.c: New testcase.
-
-2011-05-19 Tom de Vries <tom@codesourcery.com>
-
- PR target/45098
- * gcc.target/arm/ivopts.c: New test.
- * gcc.target/arm/ivopts-2.c: New test.
-
-2011-05-19 Tom de Vries <tom@codesourcery.com>
-
- * lib/lib/scanasm.exp (object-size): Fix target selector handling.
-
-2011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.c-torture/execute/960321-1.x: Remove.
-
-2011-05-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48700
- * gfortran.dg/move_alloc_4.f90: New.
-
-2011-05-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/49002
- * gcc.target/i386/pr49002-1.c: New test.
- * gcc.target/i386/pr49002-2.c: Likewise.
-
-2011-05-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49039
- * gcc.c-torture/execute/pr49039.c: New test.
- * gcc.dg/tree-ssa/pr49039.c: New test.
- * g++.dg/torture/pr49039.C: New test.
-
-2011-05-18 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-incomplete3.C: New.
- * g++.dg/cpp0x/constexpr-incomplete2.C: Adjust.
- * g++.dg/cpp0x/constexpr-memfn1.C: Adjust.
-
-2011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
-
- * gcc.target/bfin/mcpu-bf592.c: New test.
-
-2011-05-18 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/41881
- * gcc.dg/vect/O3-pr41881.c: New test.
- * gcc.dg/vect/O3-slp-reduc-10.c: New test.
-
-2011-05-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/49000
- * gcc.dg/pr49000.c: New test.
-
-2011-05-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/invalid1.adb: New test.
-
-2011-05-16 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx-vzeroupper-16.c: Update scan-assembler-times
- scan pattern.
- * gcc.target/i386/avx-vzeroupper-17.c: Ditto.
- * gcc.target/i386/avx-vzeroupper-18.c: Ditto.
-
-2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/48994
- * g++.dg/cpp0x/range-for18.C: New.
-
-2011-05-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/image_index_2.f90: New.
-
-2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * g++.dg/cpp0x/override1.C: Move from inherit/virtual9.C.
- * g++.dg/cpp0x/override2.C: New.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.de/coarray_20.f90: New.
-
-2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/22572
- * function_optimize_7.f90: New test case.
-
-2011-05-13 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/decltype26.C: New.
- * g++.dg/cpp0x/enum11.C: New.
-
-2011-05-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48972
- PR fortran/48991
- * gfortran.dg/assign_8.f90: Update dg-error.
-
-2011-05-13 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48972
- * gfortran.dg/io_constraints_8.f90: New.
- * gfortran.dg/io_constraints_9.f90: New.
-
-2011-05-13 Martin Thuresson <martint@google.com>
-
- PR gcov-profile/47793
- * gcc.dg/pr47793.c: New.
-
-2011-05-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48975
- * gcc.dg/pr48975.c: New test.
-
-2011-05-12 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48972
- * gfortran.dg/iso_c_binding_compiler_3.f90: New.
-
-2011-05-12 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-incomplete2.C: New.
-
-2011-05-12 Geert Bosch <bosch@adacore.com>
-
- * gnat.dg/view_conversion1.adb: New test.
-
-2011-05-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48172
- * gcc.dg/vect/pr48172.c: New testcase.
-
-2011-05-12 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48967
- * g++.dg/opt/pr48967.C: New test.
-
-2011-05-11 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-friend.C: New.
- * g++.dg/cpp0x/constexpr-incomplete1.C: New.
-
- * g++.dg/cpp0x/sfinae22.C: New.
-
-2011-05-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48889
- * gfortran.dg/generic_24.f90: New.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/15256
- * gcc.dg/tree-ssa/forwprop-14.c: New testcase.
-
-2011-05-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48159
- * gcc.dg/pr48159-1.c: New test.
- * gcc.dg/pr48159-2.c: New test.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48953
- * gcc.dg/torture/pr48953.c: New testcase.
-
-2011-05-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/18041
- * gcc.dg/tree-ssa/forwprop-13.c: New testcase.
-
-2011-05-11 Alan Modra <amodra@gmail.com>
-
- PR target/47755
- * gcc.target/powerpc/pr47755-2.c: Require vsx_hw.
-
-2011-05-10 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/defaulted25.C: New.
- * g++.dg/template/crash7.C: Adjust.
-
- * g++.dg/cpp0x/variadic108.C: New.
-
-2011-05-10 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * g++.dg/inherit/virtual9.C: Extend.
-
-2011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48857
- * gcc.target/powerpc/pr48857.c: New file, make sure V2DI arguments
- are passed and returned in vector registers.
-
-2011-05-10 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-fre-2.c: Disable forwprop.
- * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
- * gcc.dg/tree-ssa/scev-cast.c: Adjust. Note what transformation
- applies.
-
-2011-05-10 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48611
- PR tree-optimization/48794
- * gfortran.dg/gomp/pr48611.f90: New test.
- * gfortran.dg/gomp/pr48794.f90: New test.
-
- PR debug/48928
- * gcc.dg/dfp/pr48928.c: New test.
-
-2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48522
- * g++.dg/cpp0x/pr48522.C: New.
-
-2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48735
- * g++.dg/cpp0x/sfinae21.C: New.
-
-2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/template/sfinae28.C: Rename to...
- * g++.dg/cpp0x/sfinae19.C: ... this.
- * g++.dg/template/sfinae29.C: Rename to...
- * g++.dg/cpp0x/sfinae20.C: ... this.
-
-2011-05-09 Jeff Law <law@redhat.com>
-
- * lib/gcc-gdb-test.exp (gdb-test): Reorder matchers to give more
- consistent results.
-
-2011-05-09 Fabien Chêne <fabien@gcc.gnu.org>
-
- PR c++/20039
- * g++.dg/init/pr20039.C: New.
-
-2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48737
- PR c++/48744
- * g++.dg/template/sfinae28.C: New.
- * g++.dg/template/sfinae29.C: Likewise.
-
-2011-05-09 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/nontype23.C: New.
-
-2011-05-07 Fabien Chêne <fabien@gcc.gnu.org>
- PR c++/48859
- * g++.dg/init/pr48859.C: New.
-
-2011-05-09 Jason Merrill <jason@redhat.com>
-
- * gcc.dg/gcc.dg/uninit-D.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-D-O0.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-E.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-E-O0.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-F.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-F-O0.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-G.c: Move to c-c++-common.
- * gcc.dg/gcc.dg/uninit-G-O0.c: Move to c-c++-common.
-
-2011-05-08 Ville Voutilainen <ville.voutilainen@gmail.com>
-
- * g++.dg/inherit/virtual9.C: New.
-
-2011-05-09 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48574
- * g++.dg/template/dependent-expr8.C: New test case.
-
-2011-05-07 Zdenek Dvorak <ook@ucw.cz>
-
- PR tree-optimization/48837
- * gcc.dg/pr48837.c: New testcase.
-
-2011-05-06 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-condition2.C: New.
-
- * g++.dg/cpp0x/constexpr-missing.C: New.
-
-2011-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/this_image_2.f90: New.
-
-2011-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48858
- PR fortran/48820
- * gfortran.dg/bind_c_usage_22.f90: New.
- * gfortran.dg/bind_c_usage_23.f90: New.
- * gfortran.dg/bind_c_usage_24.f90: New.
- * gfortran.dg/bind_c_usage_24_c.c: New.
-
-2011-05-06 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48838
- * g++.dg/template/member9.C: New test case.
-
-2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr29.ad[sb]: New test.
- * gnat.dg/discr30.adb: Likewise.
-
-2011-05-05 Julian Brown <julian@codesourcery.com>
-
- * gcc.target/arm/neon-vset_lanes8.c: New test.
-
-2011-05-05 Jason Merrill <jason@redhat.com>
-
- * g++.dg/init/new32.C: New.
-
-2011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortran.dg/fmt_g0_6.f08: Use dg-options "-ffloat-store".
- Fix typo.
-
-2011-05-05 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48381
- * gcc.c-torture/compile/pr48381.c: New test.
-
-2011-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/opt-1.c: Add --param min-insn-to-prefetch -ratio=0
- to dg-options.
- * gcc.target/i386/opt-1.c: Ditto.
-
-2011-05-04 Jason Merrill <jason@redhat.com>
-
- * g++.dg/conversion/base1.C: New.
-
-2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48787
- * gfortran.dg/round_3.f08: Add more checks to test case.
-
-2011-05-04 Hans-Peter Nilsson <hp@axis.com>
-
- * gfortran.dg/pr47878.f90, gfortran.dg/endfile_3.f90,
- gfortran.dg/endfile_4.f90, gfortran.dg/ftell_3.f90,
- gfortran.dg/fmt_cache_1.f, gfortran.dg/namelist_66.f90:
- Gate test on effective_target fd_truncate.
-
-2011-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/recip-vec-divf.c: Decrease array sizes.
- * gcc.target/i386/recip-vec-sqrtf.c: Ditto.
- * gcc.target/i386/recip-vec-divf-avx.c: Increase array sizes.
- * gcc.target/i386/recip-vec-sqrtf-avx.c: Ditto. Update scan times.
- * gcc.target/i386/ssefn-1.c: Add -mno-sse2 to dg-options.
- * gcc.target/i386/pr38824.c: Ditto.
- * gcc.target/i386/vecinit-1.c: Add -mno-sse4 to dg-options.
- * gcc.target/i386/vecinit-2.c: Ditto.
- * gcc.target/i386/sse-19.c: Add -mno-ssse3 to dg-options.
- * gcc.target/i386/parity-1.c: Add -mno-popcnt to dg-options.
- * gcc.target/i386/parity-2.c: Ditto.
- * gcc.target/i386/incoming-8.c: Add -mno-avx to dg-options.
-
-2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
-
- * gcc.target/bfin/mcpu-bf512.c: Update to latest silicon revision and
- remove duplication.
- * gcc.target/bfin/mcpu-bf514.c: Likewise.
- * gcc.target/bfin/mcpu-bf516.c: Likewise.
- * gcc.target/bfin/mcpu-bf518.c: Likewise.
-
-2011-05-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/this_image_1.f90: Remove dg-options.
-
-2011-05-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/this_image_1.f90: New.
-
-2011-05-03 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray/caf.dg: New.
- * gfortran.dg/coarray/image_index_1.f90: New, copied
- from ../coarray_16.f90.
-
-2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/28501
- * g++.dg/ext/complex9.C: New.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- From Mike Frysinger
- * gcc.target/bfin/mcpu-bf542.c: Check SILICON_REVISION is 0x0004.
- * gcc.target/bfin/mcpu-bf544.c, gcc.target/bfin/mcpu-bf547.c,
- gcc.target/bfin/mcpu-bf548.c, gcc.target/bfin/mcpu-bf549.c: Likewise.
-
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
-
- * gcc.target/bfin/builtins: Created.
- * gcc.target/bfin/hisilh-O0.c: Deleted.
- * gcc.target/bfin/hisilh.c: Moved to...
- * gcc.target/bfin/builtins/hisilh.c: ...here.
- * gcc.target/bfin/builtins/shl_fr1x16-6.c: New test.
- * gcc.target/bfin/builtins/shr_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-9.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-4.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-8.c: Ditto.
- * gcc.target/bfin/builtins/lshl_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/abs_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/norm32-1.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr1x16-3.c: Ditto.
- * gcc.target/bfin/builtins/norm_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/bfin-builtins.exp: Ditto.
- * gcc.target/bfin/builtins/norm16-2.c: Ditto.
- * gcc.target/bfin/builtins/norm32-5.c: Ditto.
- * gcc.target/bfin/builtins/norm_fr1x16-3.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x32x32-2.c: Ditto.
- * gcc.target/bfin/builtins/norm16-6.c: Ditto.
- * gcc.target/bfin/builtins/norm32-9.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/dspsubaddsat_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/min_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/max_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/norm32-10.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-3.c: Ditto.
- * gcc.target/bfin/builtins/mulhisihh_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/diff_hl_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-7.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/mulhisilh_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/lshl_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/cpmlx_mul_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr1x16-3.c: Ditto.
- * gcc.target/bfin/builtins/abs_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr2x16-4.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/max_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/min_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/max_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-3.c: Ditto.
- * gcc.target/bfin/builtins/add_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-6.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-7.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-5.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-9.c: Ditto.
- * gcc.target/bfin/builtins/abs_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/lshl_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/abs_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/cpmlx_msu_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/norm32-2.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr1x16-4.c: Ditto.
- * gcc.target/bfin/builtins/norm16-3.c: Ditto.
- * gcc.target/bfin/builtins/norm32-6.c: Ditto.
- * gcc.target/bfin/builtins/norm16-7.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/min_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/add_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/norm32-11.c: Ditto.
- * gcc.target/bfin/builtins/sub_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-4.c: Ditto.
- * gcc.target/bfin/builtins/mulhisihh_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/diff_lh_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-8.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr2x16-3.c: Ditto.
- * gcc.target/bfin/builtins/mulhisilh_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/lshl_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/cpmlx_mac_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/min_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/dspaddsubsat_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/max_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/min_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-3.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-4.c: Ditto.
- * gcc.target/bfin/builtins/sub_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/add_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-7.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-8.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x16-3.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-6.c: Ditto.
- * gcc.target/bfin/builtins/circptr.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/abs_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/multr_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/sum_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/cpmlx_msu_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/norm32-3.c: Ditto.
- * gcc.target/bfin/builtins/norm_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/norm16-4.c: Ditto.
- * gcc.target/bfin/builtins/norm32-7.c: Ditto.
- * gcc.target/bfin/builtins/norm16-8.c: Ditto.
- * gcc.target/bfin/builtins/add_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/add_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-5.c: Ditto.
- * gcc.target/bfin/builtins/norm32-12.c: Ditto.
- * gcc.target/bfin/builtins/sub_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/diff_lh_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/mulhisihl_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr2x16-4.c: Ditto.
- * gcc.target/bfin/builtins/mulhisill_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/multr_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/cpmlx_mac_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x32x32NS-1.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/min_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/dspaddsubsat_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/sub_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-4.c: Ditto.
- * gcc.target/bfin/builtins/sub_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-5.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-8.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-3.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x16-4.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr1x32-7.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/multr_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/sum_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/norm_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/norm16-1.c: Ditto.
- * gcc.target/bfin/builtins/norm_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x32x32-1.c: Ditto.
- * gcc.target/bfin/builtins/norm32-4.c: Ditto.
- * gcc.target/bfin/builtins/norm16-5.c: Ditto.
- * gcc.target/bfin/builtins/norm32-8.c: Ditto.
- * gcc.target/bfin/builtins/dspsubaddsat_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/max_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/add_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr2x16-6.c: Ditto.
- * gcc.target/bfin/builtins/diff_hl_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shr_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/mulhisihl_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/cpmlx_mul_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/multr_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/mulhisill_fr2x16-2.c: Ditto.
- * gcc.target/bfin/builtins/negate_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/abs_fr2x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shrl_fr2x16-3.c: Ditto.
- * gcc.target/bfin/builtins/mult_fr1x32x32NS-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-1.c: Ditto.
- * gcc.target/bfin/builtins/max_fr1x16-1.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x16-2.c: Ditto.
- * gcc.target/bfin/builtins/sub_fr1x32-2.c: Ditto.
- * gcc.target/bfin/builtins/shl_fr1x32-5.c: Ditto.
-
-2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.target/arm/cold-lc.c: New test.
-
-2011-05-03 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48774
- * gcc.dg/pr48774.c: New test.
-
-2011-05-03 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/large-size-array-5.c: New testcase.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.dg/vect/vect-strided-u16-i3.c: New test.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * lib/target-supports.exp (check_effective_target_vect_strided):
- Replace with...
- (check_effective_target_vect_strided2)
- (check_effective_target_vect_strided3)
- (check_effective_target_vect_strided4)
- (check_effective_target_vect_strided8): ...these new functions.
-
- * gcc.dg/vect/O3-pr39675-2.c: Update accordingly.
- * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Likewise.
- * gcc.dg/vect/fast-math-slp-27.c: Likewise.
- * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Likewise.
- * gcc.dg/vect/pr37539.c: Likewise.
- * gcc.dg/vect/slp-11a.c: Likewise.
- * gcc.dg/vect/slp-11b.c: Likewise.
- * gcc.dg/vect/slp-11c.c: Likewise.
- * gcc.dg/vect/slp-12a.c: Likewise.
- * gcc.dg/vect/slp-12b.c: Likewise.
- * gcc.dg/vect/slp-18.c: Likewise.
- * gcc.dg/vect/slp-19a.c: Likewise.
- * gcc.dg/vect/slp-19b.c: Likewise.
- * gcc.dg/vect/slp-21.c: Likewise.
- * gcc.dg/vect/slp-23.c: Likewise.
- * gcc.dg/vect/vect-cselim-1.c: Likewise.
-
- * gcc.dg/vect/fast-math-vect-complex-3.c: Use vect_stridedN
- instead of vect_interleave && vect_extract_even_odd.
- * gcc.dg/vect/no-scevccp-outer-10a.c: Likewise.
- * gcc.dg/vect/no-scevccp-outer-10b.c: Likewise.
- * gcc.dg/vect/no-scevccp-outer-20.c: Likewise.
- * gcc.dg/vect/vect-1.c: Likewise.
- * gcc.dg/vect/vect-10.c: Likewise.
- * gcc.dg/vect/vect-98.c: Likewise.
- * gcc.dg/vect/vect-107.c: Likewise.
- * gcc.dg/vect/vect-strided-a-mult.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u16-i2.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u16-i4.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u16-mult.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Likewise.
- * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise.
- * gcc.dg/vect/vect-strided-float.c: Likewise.
- * gcc.dg/vect/vect-strided-mult-char-ls.c: Likewise.
- * gcc.dg/vect/vect-strided-mult.c: Likewise.
- * gcc.dg/vect/vect-strided-same-dr.c: Likewise.
- * gcc.dg/vect/vect-strided-u16-i2.c: Likewise.
- * gcc.dg/vect/vect-strided-u16-i4.c: Likewise.
- * gcc.dg/vect/vect-strided-u32-i4.c: Likewise.
- * gcc.dg/vect/vect-strided-u32-i8.c: Likewise.
- * gcc.dg/vect/vect-strided-u32-mult.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i2.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Likewise.
- * gcc.dg/vect/vect-strided-u8-i8.c: Likewise.
- * gcc.dg/vect/vect-vfa-03.c: Likewise.
-
- * gcc.dg/vect/no-scevccp-outer-18.c: Add vect_stridedN to the
- target condition.
- * gcc.dg/vect/pr30843.c: Likewise.
- * gcc.dg/vect/pr33866.c: Likewise.
- * gcc.dg/vect/slp-reduc-6.c: Likewise.
- * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.
- * gcc.dg/vect/vect-strided-store-u16-i4.c: Likewise.
- * gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.dg/vect/slp-11.c: Split into...
- * gcc.dg/vect/slp-11a.c, gcc.dg/vect/slp-11b.c,
- gcc.dg/vect/slp-11c.c: ...these tests.
- * gcc.dg/vect/slp-12a.c: Split 4-stride loop into...
- * gcc.dg/vect/slp-12c.c: ...this new test.
- * gcc.dg/vect/slp-19.c: Split into...
- * gcc.dg/vect/slp-19a.c, gcc.dg/vect/slp-19b.c,
- gcc.dg/vect/slp-19c.c: ...these new tests.
-
-2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
-
- * lib/target-supports.exp
- (check_effective_target_vect_extract_even_odd_wide): Delete.
- (check_effective_target_vect_strided_wide): Likewise.
- * gcc.dg/vect/O3-pr39675-2.c: Use the non-wide versions instead.
- * gcc.dg/vect/fast-math-pr35982.c: Likewise.
- * gcc.dg/vect/fast-math-vect-complex-3.c: Likewise.
- * gcc.dg/vect/pr37539.c: Likewise.
- * gcc.dg/vect/slp-11.c: Likewise.
- * gcc.dg/vect/slp-12a.c: Likewise.
- * gcc.dg/vect/slp-12b.c: Likewise.
- * gcc.dg/vect/slp-19.c: Likewise.
- * gcc.dg/vect/slp-23.c: Likewise.
- * gcc.dg/vect/vect-1.c: Likewise.
- * gcc.dg/vect/vect-98.c: Likewise.
- * gcc.dg/vect/vect-107.c: Likewise.
- * gcc.dg/vect/vect-strided-float.c: Likewise.
-
-2011-05-02 Jason Merrill <jason@redhat.com>
-
- * g++.dg/init/new31.C: New.
-
-2011-05-02 Simon Martin <simartin@users.sourceforge.net>
-
- PR c/35445
- * gcc.dg/pr35445.c: New test.
-
-2011-05-02 Jason Merrill <jason@redhat.com>
-
- * c-c++-common/vla-1.c: New.
-
-2011-05-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48822
- * gcc.dg/torture/pr48822.c: New testcase.
-
-2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47969
- * g++.dg/cpp0x/constexpr-47969.C: New.
-
-2011-05-02 Ira Rosen <ira.rosen@linaro.org>
-
- PR testsuite/48498
- * gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail
- on vect_no_align targets.
- * gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
- vect_no_align targets.
-
-2011-05-01 Xinliang David Li <davidxl@google.com>
-
- * gcc.dg/tree-ssa/integer-addr.c: New test.
- * gcc.dg/tree-ssa/alias_bug.c: New test.
-
-2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48787
- * gfortran.dg/round_3.f08: Add more checks.
-
-2011-04-30 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48821
- * gfortran.dg/import9.f90: New, proper test.
- * gfortran.dg/interface_37.f90: Remove bogus
- test (bogus copy of interface_36.f90).
-
-2011-04-30 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48821
- * gfortran.dg/interface_37.f90: New.
-
-2011-04-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48746
- * gfortran.dg/realloc_on_assign_7.f03: Test bounds.
-
-2011-04-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48809
- * gcc.c-torture/execute/pr48809.c: New test.
-
-2011-04-29 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test.
-
-2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48606
- * g++.dg/init/ctor10.C: New.
-
-2011-04-29 Le-Chun Wu <lcwu@google.com>
-
- * g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL
- warning in implicitly instantiated templates.
-
-2011-04-29 Le-Chun Wu <lcwu@google.com>
-
- * g++.dg/warn/Wnull-conversion-1.C: New.
- * g++.dg/warn/Wnull-conversion-2.C: New.
-
-2011-04-29 Diego Novillo <dnovillo@google.com>
-
- * g++.old-deja/g++.other/null3.C: Expect warning about
- converting boolean to a pointer.
-
-2011-04-29 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48462
- * gfortran.dg/realloc_on_assign_7.f03: Modify to test for lhs
- being a target.
-
- PR fortran/48746
- * gfortran.dg/realloc_on_assign_7.f03: Add subroutine pr48746.
-
-2011-04-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48810
- * gfortran.dg/typebound_proc_22.f90: New.
-
- PR fortran/48800
- * gfortran.dg/interface_36.f90: New.
-
-2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48488
- PR libgfortran/48602
- PR libgfortran/48615
- PR libgfortran/48684
- PR libgfortran/48787
- * gfortran.dg/fmt_g.f: Adjust test.
- * gfortran.dg/fmt_g0_1.f08: Adjust test.
- * gfortran.dg/round_3.f08: New test.
- * gfortran.dg/namelist_print_1.f: Adjust test.
- * gfortran.dg/char4_iunit_1.f03: Adjust test.
- * gfortran.dg/f2003_io_5.f03: Adjust test.
- * gfortran.dg/coarray_15.f90: Adjust test.
- * gfortran.dg/namelist_65.f90: Adjust test.
- * gfortran.dg/fmt_cache_1.f: Adjust test.
- * gfortran.dg/char4_iunit_2.f03: Adjust test.
- * gfortran.dg/real_const_3.f90: Adjust test.
-
-2011-04-29 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/inline-10.c: New testcase.
- * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
-
-2011-04-28 Xinliang David Li <davidxl@google.com>
-
- * gcc.dg/tree-prof/prof-robust-1.c: New test.
- * g++.dg/prof-robust-1.C: New test.
-
-2011-04-28 Ira Rosen <ira.rosen@linaro.org>
-
- PR tree-optimization/48765
- * gcc.dg/vect/pr48765.c: New.
-
-2011-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/48775
- * gcc.dg/pr48616.c: Also add -fno-common on alpha*-dec-osf*.
-
-2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48798
- * g++.dg/inherit/pr48798.C: New.
- * g++.old-deja/g++.other/base1.C: Adjust.
-
-2011-04-28 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48656
- * g++.dg/template/inherit7.C: New test case.
-
-2011-04-28 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/40052
- PR tree-optimization/15347
- * gcc.dg/tree-ssa/vrp57.c: New testcase.
- * gcc.dg/pr15347.c: Likewise.
-
-2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48530
- * g++.dg/cpp0x/sfinae18.C: New.
-
-2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/48771
- * g++.dg/ext/is_literal_type1.C: New.
-
-2011-04-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48112
- PR fortran/48279
- * gfortran.dg/interface_35.f90: New.
- * gfortran.dg/erfc_scaled_1.f90: Don't compile with -pedantic.
- * gfortran.dg/func_result_6.f90: Add dg-warning.
- * gfortran.dg/bessel_1.f90: Ditto.
- * gfortran.dg/hypot_1.f90: Ditto.
- * gfortran.dg/proc_ptr_comp_20.f90: Ditto.
- * gfortran.dg/proc_ptr_comp_21.f90: Ditto.
- * gfortran.dg/interface_assignment_4.f90: Ditto.
-
-2011-04-27 Jason Merrill <jason@redhat.com>
-
- * g++.dg/ext/complex8.C: New.
-
- * g++.dg/cpp0x/initlist49.C: New.
- * g++.dg/init/new30.C: New.
-
-2011-04-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48788
- * gfortran.dg/whole_file_34.f90: New.
-
-2011-04-27 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/inline-9.c: New testcase.
-
-2011-04-27 Jason Merrill <jason@redhat.com>
-
- * g++.old-deja/g++.oliva/overload1.C: Adjust.
-
- * g++.dg/parse/ambig6.C: New.
-
-2011-04-27 Nick Clifton <nickc@redhat.com>
-
- * gcc.dg/20020312-2.c: Add definition for RX.
-
- * lib/target-supports.exp (add_options_for_ieee): Use -mnofpu
- option with RX targets.
-
- * gcc.target/rx/pack.c: Replace C++ style // comments with C style
- /* */ comments.
-
-2011-04-27 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/pr23382.c: Remove.
-
-2011-04-27 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/48767
- * gcc.c-torture/compile/pr48767.c: New test.
-
-2011-04-27 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48772
- * g++.dg/pr48772.C: New testcase.
-
-2011-04-27 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48742
- * gcc.c-torture/compile/pr48742.c: New test.
-
-2011-04-26 Jason Merrill <jason@redhat.com>
-
- * g++.dg/lookup/koenig13.C: New.
-
- * g++.dg/cpp0x/initlist48.C: New.
-
-2011-04-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae17.C: New.
-
-2011-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/48258
- * gcc.target/powerpc/pr48258-1.c: New file.
- * gcc.target/powerpc/pr48258-2.c: Ditto.
-
-2011-04-26 Xinliang David Li <davidxl@google.com>
-
- * gcc.dg/uninit-suppress.c: New test.
- * gcc.dg/uninit-suppress.c: New test.
-
-2011-04-26 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48768
- * gcc.dg/pr48768.c: New test.
-
- PR tree-optimization/48734
- * gcc.c-torture/compile/pr48734.c: New test.
-
- PR testsuite/48753
- * gcc.dg/tree-prof/val-prof-2.c: Adjust for 32-bit HWI.
-
-2011-04-26 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48731
- * gcc.dg/torture/pr48731.c: New testcase.
-
-2011-04-26 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/48753
- * gcc.dg/tree-prof/val-prof-2.c: Adjust.
-
-2011-04-26 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48694
- * gcc.dg/torture/pr48694-1.c: New testcase.
- * gcc.dg/torture/pr48694-2.c: Likewise.
-
-2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
-
- * g++.dg/ext/underlying_type1.C: New.
- * g++.dg/ext/underlying_type2.C: Likewise.
- * g++.dg/ext/underlying_type3.C: Likewise.
- * g++.dg/ext/underlying_type4.C: Likewise.
- * g++.dg/ext/underlying_type5.C: Likewise.
- * g++.dg/ext/underlying_type6.C: Likewise.
- * g++.dg/ext/underlying_type7.C: Likewise.
- * g++.dg/ext/underlying_type8.C: Likewise.
- * g++.dg/ext/underlying_type9.C: Likewise.
- * g++.dg/ext/underlying_type10.C: Likewise.
-
-2011-04-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/template-const2.C: New.
-
-2011-04-25 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/vrp56.c: new test.
-
-2011-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * go.test/go-test.exp (go-set-goarch): Accept mips*-*-*.
-
-2011-04-24 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/48740
- * c-c++-common/raw-string-11.c: New test.
-
-2011-04-23 John David Anglin <dave.anglin@nrc-cnrc.ca>
-
- * gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
- hppa*-*-hpux*.
-
-2011-04-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_19.f90: New.
-
-2011-04-23 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48685
- * gcc.dg/pr48685.c: New test.
-
-2011-04-22 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/tree-ssa/pr38699.c: Fix testcase.
-
-2011-04-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48717
- * gcc.c-torture/execute/pr48717.c: New test.
-
-2011-04-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48723
- * gcc.target/i386/pr48723.c: New test.
-
-2011-04-22 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48716
- * gcc.dg/gomp/pr48716.c: New test.
- * g++.dg/gomp/pr48716.C: New test.
-
-2011-04-22 Alexander Monakov <amonakov@ispras.ru>
-
- PR c/36750
- * gcc.dg/missing-field-init-2.c: Update testcase.
-
-2011-04-22 Alan Modra <amodra@gmail.com>
-
- * gcc.target/powerpc/ppc-pow.c: Allow for tail calls.
-
-2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48405
- * gfortran.dg/function_optimize_6.f90: New test.
-
-2011-04-21 Easwaran Raman <eraman@google.com>
-
- * gcc.dg/stack-layout-2.c: New test.
-
-2011-04-21 Richard Guenther <rguenther@suse.de>
-
- PR lto/48703
- * g++.dg/lto/pr48207-2_0.C: New testcase.
- * g++.dg/lto/pr48207-3_0.C: Likewise.
-
-2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/volatile5.adb: New test.
- * gnat.dg/volatile5_pkg.ads: New helper.
-
-2011-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48708
- * gcc.target/i386/pr48708.c: New test.
-
-2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.dg/vect/vect-119.c: New test.
-
-2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.dg/vect/vect.exp: Run the main tests twice, one with -flto
- and once without.
-
-2011-04-21 Richard Earnshaw <rearnsha@arm.com>
- Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/46329
- * gcc.target/arm/pr46329.c: New test.
-
-2011-04-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_18.f90: New.
-
-2011-04-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/initlist47.C: New.
-
- * g++.dg/init/dtor4.C: New.
-
-2011-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48678
- * gcc.target/i386/sse2-pinsrw.c: New test.
- * gcc.target/i386/avx-vpinsrw.c: Ditto.
- * gcc.target/i386/sse4_1-insvqi.c: Ditto.
- * gcc.target/i386/sse2-insvhi.c: Ditto.
- * gcc.target/i386/sse4_1-insvsi.c: Ditto.
- * gcc.target/i386/sse4_1-insvdi.c: Ditto.
-
-2011-04-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/const4.C: New.
-
-2011-04-20 Easwaran Raman <eraman@google.com>
-
- * gcc.dg/stack-layout-1.c: New test.
-
-2011-04-20 Daniel Jacobowitz <dan@codesourcery.com>
-
- * gcc.dg/vect/vect-shift-3.c, gcc.dg/vect/vect-shift-4.c: New.
- * lib/target-supports.exp (check_effective_target_vect_shift_char): New
- function.
-
-2011-04-20 Kai Tietz <ktietz@redhat.com>
-
- * gcc.dg/binop-xor1.c: New test.
- * gcc.dg/binop-xor2.c: New test.
- * gcc.dg/binop-xor3.c: New test.
- * gcc.dg/binop-xor4.c: New test.
- * gcc.dg/binop-xor5.c: New test.
-
-2011-04-20 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47892
- * gcc.dg/vect/fast-math-ifcvt-1.c: New testcase.
-
-2011-04-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48695
- * g++.dg/torture/pr48695.C: New testcase.
-
-2011-04-20 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/pr42629.c: Add dg-require-effective-target int32plus
- * gcc.c-torture/execute/cmpsi-2.c: Ditto
- * gcc.c-torture/execute/pr45262.c: Ditto
- * gcc.dg/torture/pr43165.c: Ditto.
- * gcc.dg/torture/pr47228.c: Ditto.
- * gcc.dg/tree-ssa/pr45144.c: Ditto.
- * gcc.dg/ipa/pr45644.c: Ditto.
- * gcc.c-torture/compile/pr43191.c: Ditto. Remove dg-skip-if for
- PDP11.
-
-2011-04-19 Jason Merrill <jason@redhat.com>
-
- * g++.dg/ext/complex7.C: New.
-
- * g++.dg/ext/attrib41.C: New.
-
-2011-04-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR testsuite/48676
- * gcc.dg/torture/pr37868.c: Skip on sh*-*-*.
-
-2011-04-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48678
- * gcc.target/i386/pr48678.c: New test.
-
-2011-04-19 Martin Jambor <mjambor@suse.cz>
-
- * g++.dg/opt/devirt1.C: Bump to -O2, remove XFAIL.
- * g++.dg/opt/devirt2.C: New test.
- * g++.dg/ipa/devirt-g-1.C: Likewise.
-
-2011-04-19 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48588
- * gfortran.dg/whole_file_33.f90: New.
-
-2011-04-19 Martin Jambor <mjambor@suse.cz>
-
- * g++.dg/ipa/devirt-7.C: New test.
-
-2011-04-19 Richard Guenther <rguenther@suse.de>
-
- PR lto/48207
- * g++.dg/lto/pr48207_0.C: New testcase.
-
-2011-04-18 Jason Merrill <jason@redhat.com>
-
- * g++.dg/init/void1.C: New.
-
- * g++.dg/cpp0x/union4.C: New.
-
-2011-04-18 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48661
- * g++.dg/torture/pr48661.C: New test.
-
- PR c++/48632
- * g++.dg/gomp/pr48632.C: New test.
-
-2011-04-18 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse2-maskmovdqu.c: New test.
- * gcc.target/i386/avx-vmaskmovdqu.c: Ditto.
-
-2011-04-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_17.f90: New.
- * gfortran.dg/coarray_10.f90: Update dg-error.
-
-2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/48251
- * gcc.dg/guality/guality.exp: Disable on alpha*-dec-osf*.
- * gfortran.dg/guality/guality.exp: Likewise.
-
-2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortran.dg/fmt_g0_5.f08: Use dg-add-options ieee.
-
-2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/vect/pr48377.c: Remove dg-do run.
-
-2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/ipa/pr48195.c: Add dg-require-effective-target lto.
-
-2011-04-18 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/46364
- * g++.dg/torture/pr46364.C: New testcase.
-
-2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * obj-c++.dg/dwarf-2.mm: Skip on alpha*-dec-osf*.
-
-2011-04-18 Alexander Monakov <amonakov@ispras.ru>
-
- * gcc.dg/pr48235.c: Add dg-require-effective-target freorder.
-
-2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
- Ira Rosen <ira.rosen@linaro.org>
-
- PR target/48252
- * gcc.target/arm/pr48252.c: New test.
-
-2011-04-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48616
- * gcc.dg/pr48616.c: New test.
-
-2011-04-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_16.f90: New.
-
-2011-04-18 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48462
- * gfortran.dg/realloc_on_assign_7.f03: New test.
-
-2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48602
- * gfortran.dg/fmt_g0_6.f08: New test.
-
-2011-04-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae16.C: New.
-
-2011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.target/mips/reg-var-1.c: New test.
-
-2011-04-17 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/winline-5.c: Update testcase.
-
-2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr27.ad[sb]: Move dg directive.
- * gnat.dg/discr28.ad[sb]: New test.
- * gnat.dg/discr28_pkg.ads: New helper.
-
-2011-04-17 Michael Matz <matz@suse.de>
-
- PR tree-optimization/48622
- PR lto/48645
- * gcc.dg/lto/pr48622_0.c: New test.
-
-2011-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/avx256-unaligned-load-1.c: Update scan patterns.
- * gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
- * gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
- * gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
-
-2011-04-15 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/range-for17.C: New.
-
-2011-04-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- * g++.dg/cpp0x/range-for2.C: Correct for declaration.
- * g++.dg/cpp0x/range-for3.C: Likewise.
- * g++.dg/cpp0x/range-for9.C: Correct error message.
- * g++.dg/cpp0x/range-for11.C: New.
- * g++.dg/cpp0x/range-for12.C: New.
- * g++.dg/cpp0x/range-for13.C: New.
- * g++.dg/cpp0x/range-for14.C: New.
- * g++.dg/cpp0x/range-for15.C: New.
- * g++.dg/cpp0x/range-for16.C: New.
-
-2011-04-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_15.f90: Change to dg-do run.
-
-2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/naming-4.m: Updated.
- * objc.dg/naming-5.m: Updated.
- * objc.dg/naming-6.m: New.
- * objc.dg/naming-7.m: New.
- * obj-c++.dg/naming-1.mm: Updated.
- * obj-c++.dg/naming-2.mm: Updated.
- * obj-c++.dg/naming-3.mm: New.
- * obj-c++.dg/naming-4.mm: New.
-
-2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48589
- * gfortran.dg/fmt_g0_5.f08: New test.
-
-2011-04-15 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/48286
- * gfortran.dg/cray_pointers_8.f90: Use -ffloat-store.
-
-2011-04-15 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/torture/pr41885.c (dg-options): Change
- -finline-limit=0 to -fno-inline
-
-2011-04-15 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48614
- * gcc.target/i386/pr46084.c: Require avx_runtime instead of
- just avx.
-
-2011-04-14 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48605
- * gcc.target/i386/sse4_1-insertps-3.c: New test.
- * gcc.target/i386/sse4_1-insertps-4.c: New test.
- * gcc.target/i386/avx-insertps-3.c: New test.
- * gcc.target/i386/avx-insertps-4.c: New test.
-
-2011-04-14 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/torture/pr41885.c (dg-options): Add
- -finline-limit=0
-
-2011-04-14 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/46779
- PR target/45291
- PR target/41894
- * gcc.target/avr/pr46779-1.c: New test case
- * gcc.target/avr/pr46779-2.c: New test case
-
-2011-04-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae15.C: New.
-
- * g++.dg/cpp0x/sfinae14.C: New.
-
- * g++.dg/ext/vla10.C: New.
-
-2011-04-14 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/ssa-dse-14.c: New testcase.
-
-2011-04-14 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/fold-bitand-4.c: Move ...
- * c-c++-common/fold-bitand-4.c: ... here. Adjust slightly.
-
-2011-04-14 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.target/avr/trivial.c: Fix line endings. Make PROGMEM
- variables const.
- * gcc.target/avr/torture/trivial.c: Ditto.
-
-2011-04-13 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/operator11.C: New.
-
-2011-04-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48591
- * gcc.dg/gomp/pr48591.c: New test.
-
- PR c++/48570
- * g++.dg/cpp0x/constexpr-wstring1.C: New test.
- * g++.dg/cpp0x/constexpr-wstring2.C: New test.
-
-2011-04-13 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/48574
- * g++.dg/template/dependent-expr7.C: New test case.
-
-2011-04-13 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae13.C: New.
-
-2011-04-13 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse2-init-v2di-2.c: Update scan pattern.
-
-2011-04-12 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/pr43698.c: Remove -march option.
-
-2011-04-12 Janis Johnson <janisjo@codesourcery.com>
-
- * gcc.target/arm/sync-1.c: Limit to sync_int_long, do not use
- -march option.
-
-2011-04-12 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/48360
- PR fortran/48456
- * gfortran.dg/realloc_on_assign_6.f03: New test.
-
-2011-04-12 Kai Tietz <ktietz@redhat.com>
-
- * g++.dg/ext/bitfield2.C: Add for i?86/x86_64-*-mingw*
- targets the additional -mno-ms-bitfields and
- -Wno-packed-bitfield-compat options.
- * g++.dg/ext/bitfield3.C: Likewise.
- * g++.dg/ext/bitfield4.C: Likewise.
- * g++.dg/ext/bitfield5.C: Likewise.
- * gcc.dg/bitfld-15.c: Likewise.
- * gcc.dg/bitfld-16.c: Likewise.
- * gcc.dg/bitfld-17.c: Likewise.
- * gcc.dg/bitfld-18.c: Likewise.
-
-2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
-
- * gcc.target/arm/neon-vld3-1.c: New test.
- * gcc.target/arm/neon-vst3-1.c: New test.
- * gcc.target/arm/neon/v*.c: Regenerate.
-
-2011-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48549
- * g++.dg/opt/pr48549.C: New test.
-
-2011-04-12 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46076
- * gcc.dg/tree-ssa/pr46076.c: Un-XFAIL.
-
-2011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/21164
- * lib/compat.exp (compat-execute): Declare unsupported after
- stripping path from src1.
- * lib/lto.exp (lto-execute): Likewise.
-
-2011-04-12 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48552
- * gcc.dg/pr48552-1.c: New test.
- * gcc.dg/pr48552-2.c: New test.
-
-2011-04-11 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae12.C: New.
-
- * g++.dg/cpp0x/enum10.C: New.
-
- * g++.dg/cpp0x/lambda/lambda-this4.C: New.
-
- * g++.dg/cpp0x/rv-func.C: New.
-
-2011-04-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/torture/pr47917.c: Define _ISO_C_SOURCE=19990L for
- alpha*-dec-osf5*.
-
-2011-04-11 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/48195
- * gcc.dg/ipa/pr48195.c: New test.
-
-2011-04-10 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/return3.adb: Remove unused switch.
-
-2011-04-08 Mike Stump <mikestump@comcast.net>
-
- PR testsuite/48506
- * gcc.dg/tree-ssa/ssa-ccp-17.c: Robustify against ports that
- default to fno-common.
-
-2011-04-08 Georg-Johann Lay <avr@gjlay.de>
-
- * gcc.dg/sibcall-3.c: Don't xfail on AVR.
- * gcc.dg/sibcall-4.c: Don't xfail on AVR.
-
-2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48448
- * gfortran.dg/function_optimize_5.f90: New test.
-
-2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/aggr17.adb: New test.
- * gnat.dg/aggr18.adb: Likewise.
-
-2011-04-08 Michael Matz <matz@suse.de>
-
- PR middle-end/48389
- * gcc.target/i386/pr48389.c: New test.
-
-2011-04-08 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48272
- * g++.dg/opt/pr48272.C: New.
-
-2011-04-08 Dmitry Melnik <dm@ispras.ru>
-
- PR rtl-optimization/48235
- * gcc.dg/pr48235.c: New.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/48302
- * g++.dg/opt/pr48302.C: New.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/48273
- * g++.dg/opt/pr48273.C: New.
-
-2011-04-08 Alexander Monakov <amonakov@ispras.ru>
-
- PR rtl-optimization/48442
- * gcc.dg/pr48442.c: New.
-
-2011-04-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48377
- * gcc.dg/vect/pr48377.c: New test.
-
-2011-04-07 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/call1.C: New.
-
- * g++.dg/cpp0x/variadic107.C: New.
-
- * g++.dg/cpp0x/sfinae11.C: New.
- * g++.dg/cpp0x/noexcept02.C: Fix.
-
- * g++.dg/cpp0x/sfinae10.C: New.
-
- * g++.dg/cpp0x/sfinae9.C: New.
-
- * c-c++-common/Wcast-qual-1.c: Move here from...
- * gcc.dg/cast-qual-3.c: ...here, and...
- * g++.dg/warn/Wcast-qual2.C: ...here.
-
- * g++.dg/cpp0x/sfinae8.C: New.
-
- * g++.dg/cpp0x/sfinae7.C: New.
-
- * g++.dg/cpp0x/enum9.C: New.
-
-2011-04-07 Mike Stump <mikestump@comcast.net>
-
- * gcc.dg/torture/stackalign/non-local-goto-5.c: Fix for targets
- with no trampolines.
-
-2011-04-07 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/48117
- * gfortran.dg/gomp/pr48117.f90: New test.
-
- PR debug/48343
- * gcc.dg/torture/pr48343.c: New test.
-
-2011-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/i386/asm-6.c: Remove dg-xfail-if.
-
-2011-04-07 Maxim Kuvyrkov <maxim@codesourcery.com>
-
- * gcc.dg/lto/20090210_0.c: Require tls_runtime target.
-
-2011-04-07 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * lib/scanasm.exp (object-size): New proc.
- * gcc.target/arm/pr43920-2.c: New test.
-
-2011-04-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- PR fortran/48477
- * gfortran.dg/coarray_13.f90: Avoid out-of-bounds access.
-
-2011-04-06 Steve Ellcey <sje@cup.hp.com>
-
- * gcc.dg/mtune.c: Prune note from output.
-
-2011-04-06 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48466
- * gcc.dg/guality/pr36977.c: New test.
- * gcc.dg/guality/pr48466.c: New test.
-
-2011-04-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * gcc.target/arm/pr43920-1.c: Fix accidental duplication.
-
-2011-04-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/return3.adb: New test.
-
-2011-04-06 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47663
- * gcc.dg/tree-ssa/inline-8.c: New testcase.
-
-2011-04-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/torture/pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for
- Solaris 8 and 9 as well.
-
-2011-04-05 Tom de Vries <tom@codesourcery.com>
-
- PR target/43920
- * gcc.target/arm/pr43920-1.c: New test.
-
-2011-04-04 Yufeng Zhang <yufeng.zhang@arm.com>
-
- * g++.dg/abi/arm_cxa_vec1.C (__ARM_EABI__): Fix typo.
- (cctor): Actually return the value.
- (main): Cast return values.
-
-2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/character_comparison_8.f90: New test.
-
-2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * frontend-passes: (optimize_lexical_comparison): New function.
- (optimize_expr): Call it.
- (optimize_comparison): Also handle lexical comparison functions.
- Return false instad of -2 for unequal comparison.
-
-2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48412
- * function_optimize_4.f90: New test.
-
-2011-04-04 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * gfortran.dg/coarray_10.f90: Add coarray descriptor diagnostic check.
- * gfortran.dg/coarray_13.f90: Add checks for run-time cobounds.
- * gfortran.dg/coarray_15.f90: New.
-
-2011-04-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortran.dg/bessel_6.f90: Use dg-add-options ieee.
- * gfortran.dg/bessel_7.f90: Likewise.
-
-2011-04-03 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/bessel_6.f90: Reduce mymax for Tru64.
-
-2011-04-03 Richard Guenther <rguenther@suse.de>
- Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: New test.
- * gcc.dg/vect/vect.exp: Run if-cvt-stores-vect* tests with
- -ftree-loop-if-convert-stores.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/aggr2.ads: New test.
-
-2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/debug2.ad[sb]: New test.
- * gnat.dg/debug2_pkg.ads: New helper.
- * gnat.dg/debug3.ad[sb]: New test.
-
-2011-04-01 Uros Bizjak <ubizjak@gmail.com>
-
- * go.test/go-test.exp (go-set-goarch): Recognize alpha*-*-*.
-
-2011-04-01 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48335
- * gcc.c-torture/compile/pr48335-1.c: New test.
- * gcc.dg/pr48335-1.c: New test.
- * gcc.dg/pr48335-2.c: New test.
- * gcc.dg/pr48335-3.c: New test.
- * gcc.dg/pr48335-4.c: New test.
- * gcc.dg/pr48335-5.c: New test.
- * gcc.dg/pr48335-6.c: New test.
- * gcc.dg/pr48335-7.c: New test.
- * gcc.dg/pr48335-8.c: New test.
- * gcc.target/i386/pr48335-1.c: New test.
-
-2011-04-01 Vincent Lefevre <vincent+gcc@vinc17.org>
-
- PR c/36299
- * gcc.dg/Waddress.c: New test.
-
-2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/48352
- * gfortran.dg/function_optimize_3.f90: New test.
-
-2011-04-01 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c-torture/compile/20110401-1.c: New test.
-
- * g++.dg/lto/20091002-1_0.C: Use "dg-require-effective-target fpic".
- * g++.dg/lto/20091002-2_0.C: Likewise.
- * g++.dg/lto/20090303_0.c: Likewise.
- * g++.dg/lto/20091004-1_0.C: Likewise.
- * g++.dg/lto/20091002-3_0.C: Likewise.
- * g++.dg/lto/20091004-2_0.C: Likewise.
- * g++.dg/lto/20081123_0.C: Likewise.
- * g++.dg/lto/20090313_0.C: Likewise.
- * g++.dg/lto/20081109-1_0.C: Likewise.
- * g++.dg/lto/20081219_0.C: Likewise.
- * g++.dg/lto/20081204-1_0.C: Likewise.
- * g++.dg/lto/20090302_0.C: Likewise.
- * g++.dg/lto/20081119-1_0.C: Likewise.
- * g++.dg/lto/20081118_0.C: Likewise.
- * gcc.dg/lto/20091020-2_0.c: Likewise.
- * gcc.dg/lto/20090210_0.c: Likewise.
- * gcc.dg/lto/20081204-1_0.c: Likewise.
- * gcc.dg/lto/20081224_0.c: Likewise.
- * gcc.dg/lto/20090219_0.c: Likewise.
- * gcc.dg/lto/20091014-1_0.c: Likewise.
- * gcc.dg/lto/20091016-1_0.c: Likewise.
- * gcc.dg/lto/20090206-2_0.c: Likewise.
- * gcc.dg/lto/20090116_0.c: Likewise.
- * gcc.dg/lto/20091013-1_0.c: Likewise.
- * gcc.dg/lto/20091015-1_0.c: Likewise.
- * gcc.dg/lto/20090126-2_0.c: Likewise.
-
-2011-03-31 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (go-set-goarch): Recognize MIPS ABIs.
-
-2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt16.adb: New test.
-
-2011-03-31 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/defaulted24.C: New.
-
-2011-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/16292
- * gfortran.dg/g77/cabs.f: Only xfail execution on mips-sgi-irix6*
- with -O0.
-
-2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/other/i386-9.C: New test.
-
-2011-03-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * go.test/go-test.exp (go-set-goarch): Use sparc64 for 64-bit SPARC.
-
-2011-03-30 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/error-recovery1.C: New.
-
- * g++.dg/cpp0x/regress/isnan.C: New.
-
- * g++.dg/cpp0x/initlist46.C: New.
-
-2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/47551
- * gcc.target/arm/neon-modes-2.c: New test.
-
-2011-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR c/48305
- * gcc.c-torture/compile/pr48305.c: New test.
-
-2011-03-29 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/value-dep1.C: New.
-
-2011-03-29 Steve Ellcey <sje@cup.hp.com>
-
- * gcc.dg/torture/pr47917.c: Use -std=gnu99 on HP-UX.
-
-2011-03-29 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp: Handle the test lines used in several new
- tests.
- (errchk): Add opts parameter. Change all callers. Handle parens
- in regexps.
-
-2011-03-29 Peter Bergner <bergner@vnet.ibm.com>
- Dominique d'Humieres <dominiq@lps.ens.fr>
-
- * gcc.dg/stack-usage-1.c (SIZE): Provide proper values for __ppc64__
- and __APPLE__ && __PPC__ && __ALTIVEC__.
-
-2011-03-29 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/dependent1.C: New.
-
- * g++.dg/cpp0x/constexpr-48089.C: Adjust.
-
- * g++.dg/cpp0x/constexpr-memfn1.C: New.
-
- * g++.dg/cpp0x/constexpr-diag1.C: Adjust error locations.
-
-2011-03-29 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48095
- * gfortran.dg/module_md5_1.f90: Modified MD5 sum.
- * gfortran.dg/proc_ptr_comp_32.f90: New.
-
-2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * gfortran.dg/function_optimize_1.f90: Add -Warray-temporaries,
- check for corresponding warning.
-
-2011-03-28 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/rv-deduce2.C: New.
-
-2011-03-29 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48203
- * gcc.dg/pr48203.c: New test.
-
-2011-03-28 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/ssa-dom-thread-3.c: New test.
-
-2011-03-28 Peter Bergner <bergner@vnet.ibm.com>
-
- * gcc.dg/stack-usage-1.c (SIZE): Provide proper values for __PPC64__
- and __PPC__ && __ALTIVEC__.
-
-2011-03-28 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR testsuite/48238
- * gcc.dg/debug/dwarf2/pr47939-1.c: Generalize scan-assembler regex.
- * gcc.dg/debug/dwarf2/pr47939-2.c: Likewise.
- * gcc.dg/debug/dwarf2/pr47939-3.c: Likewise.
- * gcc.dg/debug/dwarf2/pr47939-4.c: Likewise.
-
-2011-03-28 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/initlist-array2.C: New.
-
- * g++.dg/cpp0x/initlist-array1.C: New.
-
- * g++.dg/cpp0x/constexpr-compound.C: New.
-
- * g++.dg/cpp0x/constexpr-using.C: New.
-
- * g++.dg/cpp0x/constexpr-noexcept.C: New.
-
-2011-03-28 H.J. Lu <hongjiu.lu@intel.com>
-
- PR testsuite/48276
- * gcc.target/i386/pr47502-2.c: Add -fno-pic.
-
-2011-03-28 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/slp-1.c: New test.
-
-2011-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/avx256-unaligned-load-1.c: New.
- * gcc.target/i386/avx256-unaligned-load-2.c: Likewise.
- * gcc.target/i386/avx256-unaligned-load-3.c: Likewise.
- * gcc.target/i386/avx256-unaligned-load-4.c: Likewise.
- * gcc.target/i386/avx256-unaligned-load-5.c: Likewise.
- * gcc.target/i386/avx256-unaligned-load-6.c: Likewise.
- * gcc.target/i386/avx256-unaligned-load-7.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-2.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-3.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-4.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-5.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-6.c: Likewise.
- * gcc.target/i386/avx256-unaligned-store-7.c: Likewise.
-
-2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47065
- * gfortran.dg/trim_optimize_5.f90: New test.
- * gfortran.dg/trim_optimize_6.f90: New test.
-
-2011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
-
- PR target/38598
- * gcc.target/mips/madd-7.c: Remove -mlong32.
- * gcc.target/mips/msub-7.c: Likewise.
-
-2011-03-27 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-outer-5.c: Reduce the distance between data
- accesses to preserve the meaning of the test for doubleword vectors.
- * gcc.dg/vect/no-vfa-pr29145.c: Likewise.
- * gcc.dg/vect/slp-3.c: Reduce the loop bound for the same reason.
-
-2011-03-26 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48291
- * gfortran.dg/class_42.f03: New.
-
-2011-03-26 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-cselim-1.c: Fail on targets that don't support
- strided accesses.
-
-2011-03-26 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/48144
- * gcc.dg/pr48144.c: New test.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr27.ad[sb]: New test.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/limited_with2.ad[sb]: New test.
- * gnat.dg/limited_with2_pkg1.ads: New helper.
- * gnat.dg/limited_with2_pkg2.ads: Likewise.
-
-2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt15.adb: New test.
- * gnat.dg/opt15_pkg.ad[sb]: New helper.
-
-2011-03-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48174
- PR fortran/45304
- * gfortran.dg/ishft_4.f90: Adapt scan-tree-dump-times.
- * gfortran.dg/leadz_trailz_3.f90: Ditto
-
-2011-03-25 Martin Jambor <mjambor@suse.cz>
-
- * gcc.c-torture/compile/pr44686.c: Do not explicitely specify -O2.
-
-2011-03-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/defaulted22.C: New.
- * g++.dg/cpp0x/defaulted23.C: New.
- * g++.dg/cpp0x/defaulted15.C: Adjust.
-
-2011-03-25 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/move1.C: New.
-
-2011-03-25 Ira Rosen <ira.rosen@linaro.org>
-
- PR target/48287
- * gcc.dg/vect/vect-cselim-1.c: Fail for vect_no_align.
-
-2011-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/torture/pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options
- for mips-sgi-irix6.5.
- Replace snprintf prototype by <stdio.h>.
-
-2011-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/48283
- * gcc.dg/graphite/block-3.c: Add dg-require-effective-target
- run_expensive_tests.
- * gcc.dg/graphite/block-4.c: Likewise.
- * gcc.dg/graphite/block-7.c: Likewise.
- * gcc.dg/graphite/block-8.c: Likewise.
-
-2011-03-25 Richard Guenther <rguenther@suse.de>
-
- * g++.dg/tree-ssa/pr41186.C: Scan the appropriate FRE dump.
- * g++.dg/tree-ssa/pr8781.C: Likewise.
- * gcc.dg/ipa/ipa-pta-13.c: Likewise.
- * gcc.dg/ipa/ipa-pta-3.c: Likewise.
- * gcc.dg/ipa/ipa-pta-4.c: Likewise.
- * gcc.dg/tree-ssa/20041122-1.c: Likewise.
- * gcc.dg/tree-ssa/alias-18.c: Likewise.
- * gcc.dg/tree-ssa/foldstring-1.c: Likewise.
- * gcc.dg/tree-ssa/forwprop-10.c: Likewise.
- * gcc.dg/tree-ssa/forwprop-9.c: Likewise.
- * gcc.dg/tree-ssa/fre-vce-1.c: Likewise.
- * gcc.dg/tree-ssa/loadpre6.c: Likewise.
- * gcc.dg/tree-ssa/pr21574.c: Likewise.
- * gcc.dg/tree-ssa/ssa-dom-cse-1.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-11.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-12.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-16.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-17.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-18.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-19.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-21.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-22.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-23.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-26.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-27.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-7.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-10.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-8.c: Likewise.
- * gcc.dg/tree-ssa/ssa-pre-9.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sccvn-1.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
- * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
- * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
- * c-c++-common/pr46562-2.c: Likewise.
- * gfortran.dg/pr42108.f90: Likewise.
- * gcc.dg/torture/pta-structcopy-1.c: Scan ealias dump, force
- foo to be inlined even at -O1.
- * gcc.dg/tree-ssa/ssa-dce-4.c: Disable FRE.
- * gcc.dg/ipa/ipa-pta-14.c: Likewise.
- * gcc.dg/tree-ssa/ssa-fre-1.c: Adjust.
- * gcc.dg/matrix/matrix.exp: Disable FRE.
-
-2011-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/48204
- * gcc.dg/dfp/pr48204.c: New test.
-
-2011-03-24 Steve Ellcey <sje@cup.hp.com>
-
- PR target/48209
- * gcc.c-torture/execute/pr47917.c: Move this...
- * gcc.dg/torture/pr47917.c: to here and add xfails.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array16.ad[sb]: New test.
- * gnat.dg/array16.ads: New helper.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/derived_type2.adb: New test.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48271
- * g++.dg/torture/pr48271.C: New testcase.
-
-2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array15.ad[sb]: New test.
-
-2011-03-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/48237
- * gcc.target/i386/pr48237.c: New test.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48269
- * gcc.dg/builtin-object-size-10.c: New testcase.
-
-2011-03-24 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46562
- * c-c++-common/pr46562-2.c: New testcase.
- * c-c++-common/pr46562.c: Likewise.
-
-2011-03-24 Ira Rosen <ira.rosen@linaro.org>
-
- * gcc.dg/vect/vect-cselim-1.c: New test.
- * gcc.dg/vect/vect-cselim-2.c: New test.
-
-2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/arm/pr46934.c: New.
-
-2011-03-23 Ian Lance Taylor <iant@google.com>
-
- * go.test/go-test.exp (errchk): Ignore lines containing ////.
-
-2011-03-23 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/struct: Remove directory and contents.
-
-2011-03-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/48251
- * g++.dg/guality/guality.exp: Disable on alpha*-dec-osf*.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/discr26.ad[sb]: New test.
- * gnat.dg/discr26_pkg.ads: New helper.
-
-2011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR target/47553
- * gcc.target/arm/neon-vld-1.c: New test.
-
-2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/array14.ad[sb]: New test.
- * gnat.dg/array14_pkg.ads: New helper.
-
-2011-03-22 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.c-torture/execute/920501-8.x: Remove.
- * gcc.c-torture/execute/930513-1.x: Remove.
- * gcc.c-torture/execute/960312-1.x: Remove.
- * gcc.c-torture/compile/20000804-1.c,
- gcc.c-torture/compile/20001205-1.c,
- gcc.c-torture/compile/20001226-1.c,
- gcc.c-torture/compile/20010518-2.c,
- gcc.c-torture/compile/20020312-1.c,
- gcc.c-torture/compile/20020604-1.c,
- gcc.c-torture/compile/920501-12.c,
- gcc.c-torture/compile/920501-4.c,
- gcc.c-torture/compile/920520-1.c,
- gcc.c-torture/compile/980506-1.c,
- gcc.c-torture/execute/980709-1.x,
- gcc.c-torture/execute/990826-0.x: Don't XFAIL or use special
- options for m68hc11.
- * gcc.dg/cpp/assert4.c: Don't handle ARC.
- * gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: Don't XFAIL for arc or
- m68hc11.
-
-2011-03-22 Nick Clifton <nickc@redhat.com>
-
- * lib/target-supports.exp (check_profiling_available): Add MN10300
- to the list of targets that do not support profiling. Restore
- alpha sorting to this list.
-
-2011-03-22 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.dg/torture/vector-1.c: On powerpc add -fabi=altivec to avoid
- failure on 32-bit systems.
- * gcc.dg/torture/vector-2.c: Ditto.
-
-2011-03-22 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48228
- * gcc.dg/Wstrict-overflow-23.c: New testcase.
-
-2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * gcc.dg/torture/va-arg-25.c: Add -mabi=altivec -maltivec for
- powerpc.
-
- PR target/48226
- * gcc.target/powerpc/pr48226.c: New file.
-
-2011-03-21 Jack Howarth <howarth@bromo.med.uc.edu>
-
- * lib/prune.exp (prune_gcc_output): Prune "could not create
- compact unwind for" warnings.
-
-2011-03-20 Jakub Jelinek <jakub@redhat.com>
-
- PR c/42544
- PR c/48197
- * gcc.c-torture/execute/pr42544.c: New test.
- * gcc.c-torture/execute/pr48197.c: New test.
-
-2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR preprocessor/48192
- * gcc.target/powerpc/pr48192.c: New file.
-
- PR target/48053
- * gcc.target/powerpc/pr48053-3.c: New file, add test case for
- split problem of 0 being loaded in a VSX register.
-
-2011-03-21 Richard Guenther <rguenther@suse.de>
-
- PR c/47939
- * gcc.dg/debug/dwarf2/pr47939-1.c: New testcase.
- * gcc.dg/debug/dwarf2/pr47939-2.c: Likewise.
- * gcc.dg/debug/dwarf2/pr47939-3.c: Likewise.
- * gcc.dg/debug/dwarf2/pr47939-4.c: Likewise.
-
-2011-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR target/48213
- * gcc.dg/pr48213.c: New test.
-
-2011-03-21 Kai Tietz <ktietz@redhat.com>
-
- PR target/12171
- * g++.dg/plugin/attribute_plugin.c: Adjust test.
-
-2011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/arm/xor-and.c: New.
-
-2010-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/22572
- * gfortran.dg/function_optimize_1.f90: New test.
- * gfortran.dg/function_optimize_2.f90: New test.
-
-2011-03-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/47502
- * gcc.target/i386/pr47502-1.c: New.
- * gcc.target/i386/pr47502-2.c: Likewise.
-
-2011-03-20 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48156
- * gcc.dg/pr48156.c: New test.
-
-2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47439
- * gfortran.dg/scratch_1.f90: Adjust test.
-
-2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47439
- * gfortran.dg/scratch_1.f90: New test.
-
-2011-03-18 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c1x-typedef-1.c: Expect errors for redefinitions of
- variably modified typedefs.
- * gcc.dg/c1x-typedef-2.c: Remove.
-
-2011-03-18 Joseph Myers <joseph@codesourcery.com>
-
- * gcc.dg/c1x-anon-struct-1.c: Don't test use of typedefs.
- * gcc.dg/c1x-anon-struct-3.c: New test.
- * gcc.dg/anon-struct-11.c: Update.
-
-2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/vect/slp-multitypes-2.c: Replace dg-do run with
- dg-xfail-run-if.
- Only xfail with gas.
-
-2011-03-18 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/fn-ptr1.C: New.
-
- * g++.dg/overload/volatile1.C: New.
-
- * g++.dg/opt/pr23372.C: New.
-
- * g++.dg/ext/attrib32.C: Expect errors on the two-names case.
-
-2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR middle-end/47405
- * gcc.dg/torture/20090618-1.c: Skip on mips-sgi-irix*.
-
-2011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/arm/unsigned-extend-1.c: New.
-
-2011-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/48161
- * gcc.c-torture/compile/pr48161.c: New test.
-
-2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * gcc.dg/torture/pr47725.c: New.
-
-2011-03-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-overflow2.C: New.
- * g++.dg/cpp0x/constexpr-data2.C: Remove FIXME.
-
-2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/specs/elab2.ads: New test.
- * gnat.dg/specs/elab2_pkg.ads: New helper.
-
-2011-03-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/decltype-1212.C: New.
- * g++.dg/cpp0x/rv-return.C: Adjust expected type.
-
-2011-03-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/parse/memfnquals1.C: New.
-
-2011-03-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48134
- * gcc.dg/pr48134.c: New testcase.
-
-2011-03-17 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48165
- * g++.dg/torture/pr48165.C: New testcase.
-
-2011-03-17 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/48141
- * gcc.dg/pr48141.c: New test.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-48089.C: New.
-
- * g++.dg/cpp0x/constexpr-abi1.C: New.
-
- * g++.dg/cpp0x/constexpr-46336.C: New.
- * g++.dg/parse/friend5.C: Adjust expected errors.
-
- * g++.dg/cpp0x/constexpr-47570.C: New.
-
-2011-03-16 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/47510
- * ++.dg/debug/dwarf2/typedef6.C: New test.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/elision2.C: New.
-
- * g++.dg/cpp0x/constexpr-array3.C: New.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/sfinae6.C: New.
- * g++.dg/cpp0x/initlist38.C: Adjust expected error.
- * g++.dg/cpp0x/pr45908.C: Likewise.
- * g++.dg/cpp0x/sfinae6.C: Likewise.
- * g++.old-deja/g++.jason/conversion11.C: Likewise.
- * g++.old-deja/g++.law/arg11.C: Likewise.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/incomplete6.C: New.
-
-2011-03-16 Jeff Law <law@redhat.com>
-
- * gcc.dg/tree-ssa/vrp55.c: New test.
-
-2011-03-16 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/auto22.C: New.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/guality/vla-1.c (main): Use result of f1 to avoid
- optimizing it away if promoted to const.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48149
- * gcc.dg/fold-complex-1.c: New testcase.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/48147
- * gcc.dg/guality/pr45882.c: Really make sure no inlining
- or cloning happens.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/26134
- * gcc.dg/tree-ssa/complex-6.c: New testcase.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48146
- * gcc.dg/torture/pr48146.c: New testcase.
-
-2011-03-16 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/pr14814.c: Adjust.
- * gcc.dg/tree-ssa/ssa-ccp-19.c: Likewise.
-
-2011-03-16 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/48136
- * gcc.c-torture/compile/pr48136.c: New test.
-
- * g++.dg/debug/dwarf2/icf.C: Adjust for -fenable-icf-debug removal.
-
- PR debug/45882
- * gcc.dg/guality/pr45882.c: New test.
-
-2011-03-15 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-recursion.C: New.
-
- * g++.dg/cpp0x/implicit11.C: New.
-
-2011-03-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- * g++.dg/cpp0x/constexpr-attribute.C: New.
-
-2011-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * g++.dg/parse/pr34758.C: New.
-
-2011-03-15 Xinliang David Li <davidxl@google.com>
-
- PR c/47837
- * gcc.dg/uninit-pred-7_d.c: New test.
- * gcc.dg/uninit-pred-8_d.c: New test.
-
-2011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- PR target/46788
- * gcc.target/arm/pr46788.c: New.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47650
- * gfortran.dg/c_f_pointer_tests_3.f90: Adjust.
- * gfortran.dg/ishft_4.f90: Likewise.
- * gfortran.dg/leadz_trailz_3.f90: Likewise.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/13954
- * g++.dg/tree-ssa/pr13954.C: New testcase.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48037
- * gcc.target/i386/pr48037-1.c: New testcase.
-
-2011-03-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/41490
- * gcc.dg/tree-ssa/ssa-sink-6.c: New testcase.
- * gcc.dg/tree-ssa/ssa-sink-7.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sink-8.c: Likewise.
- * gcc.dg/tree-ssa/ssa-sink-9.c: Likewise.
- * g++.dg/tree-ssa/pr33604.C: Adjust.
-
-2011-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47917
- * gcc.c-torture/execute/pr47917.c: New test.
- * gcc.dg/pr47917.c: New test.
-
- PR middle-end/38878
- * gcc.dg/tree-ssa/foldaddr-1.c: Remove xfail.
-
-2011-03-14 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/sse4_1-floor-vec.c: New test.
- * gcc.target/i386/sse4_1-ceil-vec.c: Ditto.
- * gcc.target/i386/sse4_1-trunc-vec.c: Ditto.
- * gcc-target/i386/sse4_1-rint-vec.c: Ditto.
- * gcc.target/i386/sse4_1-floorf-vec.c: Ditto.
- * gcc.target/i386/sse4_1-ceilf-vec.c: Ditto.
- * gcc.target/i386/sse4_1-truncf-vec.c: Ditto.
- * gcc.target/i386/sse4_1-rintf-vec.c: Ditto.
- * gcc.target/i386/avx-floor-vec.c: Ditto.
- * gcc.target/i386/avx-ceil-vec.c: Ditto.
- * gcc.target/i386/avx-trunc-vec.c: Ditto.
- * gcc.target/i386/avx-rint-vec.c: Ditto.
- * gcc.target/i386/avx-floorf-vec.c: Ditto.
- * gcc.target/i386/avx-ceilf-vec.c: Ditto.
- * gcc.target/i386/avx-truncf-vec.c: Ditto.
- * gcc.target/i386/avx-rintf-vec.c: Ditto.
-
-2011-03-14 Tom Tromey <tromey@redhat.com>
-
- * gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file.
- * gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file.
- * gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file.
-
-2011-03-14 Tom Tromey <tromey@redhat.com>
-
- * gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
- * gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
- * gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.
-
-2011-03-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/builtin-copysign.c: Remove __LP64__ check.
-
-2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/47166
- * gcc.c-torture/execute/postmod-1.c: New test.
-
-2011-03-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/48098
- * gcc.dg/torture/pr48098.c: New testcase.
-
-2011-03-12 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/48053
- * gcc.target/powerpc/pr48053-1.c: New test.
- * gcc.target/powerpc/pr48053-2.c: Likewise.
-
-2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/48066
- * gfortran.dg/intrinsic_ifunction_2.f90: Correct PR number.
-
-2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/48066
- * gfortran.dg/intrinsic_ifunction_2.f90: New test case.
-
-2011-03-12 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/48059
- * gfortran.dg/class_41.f03: New.
-
-2011-03-11 Dodji Seketeli <dodji@redhat.com>
-
- * g++.dg/conversion/cast3.C: New test.
-
-2011-03-11 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/error45.C: New.
-
- * g++.dg/parse/no-type-defn1.C: New.
-
- * g++.dg/ext/attrib40.C: New.
-
- * g++.dg/cpp0x/regress/array1.C: New.
-
-2011-03-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/48067
- * gcc.dg/pr48067.c: New testcase.
-
-2011-03-11 Richard Guenther <rguenther@suse.de>
-
- PR lto/48073
- * g++.dg/lto/20110311-1_0.C: New testcase.
-
-2011-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/48035
- * g++.dg/inherit/virtual8.C: New test.
-
- PR middle-end/48044
- * gcc.dg/torture/pr48044.c: New test.
-
-2011-03-11 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47768
- * gfortran.dg/proc_ptr_comp_31.f90: New.
-
-2011-03-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47278
- * gcc.dg/torture/pr47278-1.c: New testcase.
- * gcc.dg/torture/pr47278-2.c: Likewise.
-
-2011-03-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48063
- * gcc.dg/torture/pr48063.c: New test.
-
-2011-03-10 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/array22.C: New.
-
- * g++.dg/cpp0x/syntax-err1.C: New.
- * g++.dg/parse/error36.C: Adjust expected errors.
- * g++.old-deja/g++.pt/ctor2.C: Likewise.
- * g++.old-deja/g++.pt/typename3.C: Likewise.
- * g++.old-deja/g++.pt/typename4.C: Likewise.
- * g++.old-deja/g++.pt/typename6.C: Likewise.
-
-2011-03-09 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/nontype22.C: New.
-
-2011-03-09 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/47714
- * g++.dg/torture/pr47714.C: New test.
-
-2011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47755
- * gcc.target/powerpc/pr47755-2.c: New file.
-
-2011-03-08 Jakub Jelinek <jakub@redhat.com>
-
- * go.test/go-test.exp: For goroutines.go test if GCCGO_RUN_ALL_TESTS
- is not set in the environment, pass 64 as first argument when not
- running expensive tests or pass max($[`ulimit -u`/4], 10000) on
- native where ulimit -u is supported.
-
-2011-03-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/optimize-bswapsi-1.c: Use -march=z900 on s390.
-
-2011-03-08 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/nontype21.C: New.
-
- * g++.dg/template/anon5.C: New.
-
-2011-03-08 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47881
- * gcc.dg/pr47881.c: New test.
-
-2011-03-08 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47957
- * g++.dg/lookup/template3.C: New test.
-
-2011-03-08 Kai Tietz <ktietz@redhat.com>
-
- * g++.dg/tree-ssa/pr21082.C: Use __INTPTR_TYPE__ instead of
- 'long' type.
-
-2011-03-08 Mikael Pettersson <mikpe@it.uu.se>
-
- PR testsuite/47954
- * gcc.dg/tree-ssa/ssa-ccp-33.c: Use __alignof__ not
- sizeof to compute alignment.
-
-2011-03-08 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/48022
- * gcc.dg/pr48022-1.c: New test.
- * gcc.dg/pr48022-2.c: New test.
-
-2011-03-07 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/nontype20.C: New.
- * g++.dg/init/member1.C: Adjust expected errors.
- * g++.dg/parse/constant4.C: Likewise.
- * g++.dg/template/qualified-id3.C: Likewise.
- * g++.old-deja/g++.pt/crash10.C: Likewise.
-
- * g++.dg/cpp0x/regress/non-const1.C: New.
-
-2011-03-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47991
- * gcc.dg/pr47991.c: New test.
-
-2011-03-07 Jason Merrill <jason@redhat.com>
-
- * g++.dg/abi/mangle46.C: New.
-
-2011-03-07 Pat Haugen <pthaugen@us.ibm.com>
-
- PR target/47862
- * gcc.target/powerpc/pr47862.c: New.
-
-2011-03-07 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/45413
- * gcc.target/i386/combine-mul.c: Require nonpic.
-
-2011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
- Nathan Froyd <froydnj@codesourcery.com>
-
- * gcc.dg/20001117-1.c: Abort on NULL call_sites.
-
-2011-03-06 Mark Mitchell <mark@codesourcery.com>
-
- * README.QMTEST: Remove.
-
-2011-03-06 Paul Thomas <pault@gcc.gnu.org>
- Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/47850
- * gfortran.dg/array_constructor_37.f90 : New test.
-
-2011-03-05 Jason Merrill <jason@redhat.com>
-
- * g++.dg/abi/mangle39.C: ABI v5, not 6.
- * g++.dg/abi/mangle45.C: Likewise.
- * g++.dg/cpp0x/trailing1.C: Likewise.
-
-2011-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * gcc.dg/torture/pr47975.c: Add -fno-common option on hppa*-*-hpux*.
-
-2011-03-05 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/47899
- * gcc.dg/pr47899.c: New test.
-
- * gcc.dg/torture/pr47968.c: Ignore warnings.
-
- PR tree-optimization/47967
- * gcc.c-torture/compile/pr47967.c: New test.
-
-2011-03-04 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/property/property-encoding-1.m: Tidied up testcase.
- * obj-c++.dg/property/property-encoding-1.mm: Likewise.
-
-2011-03-04 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/gnu-api-2-property.m: Added tests for property_getName()
- and property_getAttributes() if __OBJC2__.
- * obj-c++.dg/gnu-api-2-property.mm: Likewise.
- * objc.dg/property/property-encoding-1.m: New.
- * obj-c++.dg/property/property-encoding-1.mm: New.
-
-2011-03-04 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/pseudodtor6.C: New.
-
- * g++.dg/inherit/covariant19.C: New.
-
-2011-03-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47968
- * gcc.dg/torture/pr47968.c: New testcase.
-
-2011-03-04 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47975
- * gcc.dg/torture/pr47975.c: New testcase.
-
-2011-03-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47974
- * g++.dg/template/crash106.C: New.
-
-2011-03-03 Jakub Jelinek <jakub@redhat.com>
-
- PR c/47963
- * gcc.dg/gomp/pr47963.c: New test.
- * g++.dg/gomp/pr47963.C: New test.
-
-2011-03-02 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/condition1.C: New.
-
- * g++.dg/cpp0x/constexpr-ctor9.C: New.
-
-2011-03-01 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/lambda/lambda-98.C: New.
-
- * g++.dg/cpp0x/constexpr-non-const-arg2.C: New.
-
-2011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
-
- PR rtl-optimization/47925
- * gcc.c-torture/execute/pr47925.c: New test.
-
-2011-03-01 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/decltype25.C: New.
-
- * g++.dg/cpp0x/regress/bitfield-err1.C: New.
-
-2011-03-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47890
- * gcc.dg/torture/pr47890.c: New testcase.
-
-2011-03-01 Richard Guenther <rguenther@suse.de>
-
- PR lto/47924
- * gcc.dg/lto/pr47924_0.c: New testcase.
-
-2011-03-01 Richard Guenther <rguenther@suse.de>
-
- PR lto/46911
- * gfortran.dg/lto/pr46911_0.f: New testcase.
-
-2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47933
- * gfortran.dg/fmt_fw_d.f90: Fix test by adding dg-options to avoid
- compile errors from older code form.
-
-2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * gfortran.dg/fmt_fw_d.f90: New test.
-
-2011-02-28 Jason Merrill <jason@redhat.com>
-
- * g++.dg/inherit/covariant18.C: New.
-
-2011-02-28 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47893
- * gcc.dg/pr47893.c: New test.
-
-2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/gnu-api-2-sel.m: Test that sel_getTypedSelector return
- NULL in case of a selector with conflicting types.
- * obj-c++.dg/gnu-api-2-sel.mm: Same change.
-
-2011-02-28 Kazu Hirata <kazu@codesourcery.com>
-
- * gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c,
- gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c,
- gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c,
- gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: New.
-
-2011-02-28 Jason Merrill <jason@redhat.com>
-
- PR c++/47906
- * g++.dg/cpp0x/trailing1.C: Specify -fabi-version=6.
-
-2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47778
- * gfortran.dg/namelist_71.f90: New test.
-
-2011-02-27 Jason Merrill <jason@redhat.com>
-
- PR c++/47906
- * g++.dg/abi/mangle39.C: Specify -fabi-version=6.
- * g++.dg/abi/mangle45.C: Specify -fabi-version=6.
-
-2011-02-27 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/46466
- * g++.dg/cpp0x/constexpr-ctor8.C: New.
-
-2011-02-27 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/47886
- * gfortran.dg/gomp/task-1.f90: Removed.
-
-2011-02-26 Jason Merrill <jason@redhat.com>
-
- * g++.dg/template/this-targ1.C: New.
-
- * g++.dg/cpp0x/regress/template-const1.C: New.
- * g++.dg/cpp0x/regress/template-function1.C: Adjust.
- * g++.dg/template/function1.C: Adjust.
- * g++.dg/cpp0x/regress/debug-debug7.C: Adjust.
- * g++.dg/debug/debug7.C: Adjust.
-
-2011-02-26 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47886
- * gfortran.dg/gomp/task-1.f90: New.
-
-2011-02-25 Jie Zhang <jie@codesourcery.com>
-
- * gcc.target/arm/neon-thumb2-move.c: Add
- dg-require-effective-target arm_thumb2_ok.
-
-2011-02-24 Jason Merrill <jason@redhat.com>
-
- * g++.dg/parse/constant1.C: Specify C++98 mode.
- * g++.dg/parse/constant5.C: Likewise.
- * g++.dg/parse/error2.C: Likewise.
- * g++.dg/parse/semicolon3.C: Likewise.
- * g++.dg/template/crash14.C: Likewise.
- * g++.dg/template/local4.C: Likewise.
- * g++.dg/template/nontype3.C: Likewise.
- * g++.dg/parse/crash31.C: Adjust expected errors.
- * g++.dg/template/function1.C: Likewise.
- * g++.dg/template/ref3.C: Likewise.
- * g++.dg/template/static9.C: Likewise.
- * g++.old-deja/g++.pt/crash41.C: Instantiate template.
-
- * g++.dg/cpp0x/constexpr-array-tparm.C: New.
- * g++.dg/cpp0x/regress/parse-ambig5.C: Copy from parse/ambig5.C.
- * g++.dg/cpp0x/regress/debug-debug7.C: Copy from debug/debug7.C.
- * g++.dg/cpp0x/variadic20.C: Adjust expected errors.
- * g++.dg/cpp0x/regress/template-function1.C: Likewise.
-
-2011-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/47878
- * gfortran.dg/pr47878.f90: New test.
-
-2011-02-24 Richard Guenther <rguenther@suse.de>
-
- PR testsuite/47801
- * gcc.dg/guality/pr41353-1.c (vari): Mark as used.
- * gcc.dg/guality/pr41353-2.c (vari): Likewise.
-
-2011-02-24 Richard Guenther <rguenther@suse.de>
-
- PR fortran/47839
- * gfortran.dg/lto/pr47839_0.f90: New testcase.
- * gfortran.dg/lto/pr47839_1.f90: Likewise.
-
-2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * gfortran.dg/fmt_f0_1.f90: Update test.
-
-2011-02-23 Jason Merrill <jason@redhat.com>
-
- * g++.dg/abi/mangle39.C: Adjust parm mangling.
- * g++.dg/abi/mangle45.C: New.
-
- * g++.dg/cpp0x/trailing1.C: Mangle decltype.
- * g++.dg/template/canon-type-9.C: Match use of decltype
- between declaration and definition.
- * g++.dg/template/canon-type-12.C: Likewise.
-
-2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/40850
- * gfortran.dg/nested_allocatables_1.f90: New.
-
-2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
-
- PR c++/46868
- * g++.dg/pr46868.C: New test.
- * g++.dg/parse/parameter-declaration-1.C: Adjust.
- * g++.dg/parse/error14.C: Adjust.
-
-2011-02-23 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47838
- * gcc.dg/tree-ssa/foldconst-2.c: Scan tree-ch dump.
-
-2011-02-23 Uros Bizjak <ubizjak@gmail.com>
-
- * g++.dg/other/pr47218.C: Fix dg-options. Cleanup saved temps.
-
-2011-02-23 Uros Bizjak <ubizjak@gmail.com>
-
- * gfortran.dg/allocate_deferred_char_scalar_1.f03: Fix dg-do syntax.
- * gfortran.dg/count_init_expr.f03: Ditto.
- * gfortran.dg/gomp/pr43711.f90: Ditto.
- * gcc.dg/struct-parse-2.c: Ditto.
- * gcc.dg/parse-error-3.c: Ditto.
- * gcc.dg/Wlogical-op-1.c: Ditto.
- * gcc.dg/Walways-true-1.c: Ditto.
- * gcc.dg/pr24225.c: Ditto.
- * gcc.dg/Walways-true-2.c: Ditto.
- * gcc.dg/tree-ssa/foldcast-1.c: Ditto.
- * gcc.dg/tree-ssa/struct-aliasing-1.c: Ditto.
- * gcc.dg/tree-ssa/struct-aliasing-2.c: Ditto.
- * g++.dg/overload/defarg4.C: Ditto.
- * g++.dg/inherit/covariant16.C: Ditto.
- * g++.dg/inherit/virtual7.C: Ditto.
- * g++.dg/template/canon-type-9.C: Ditto.
- * g++.dg/template/access19.C: Ditto.
- * g++.dg/template/call7.C: Ditto.
- * g++.dg/template/canon-type-2.C: Ditto.
- * g++.dg/template/init7.C: Ditto.
- * g++.dg/template/sizeof-template-argument.C: Ditto.
- * g++.dg/template/const3.C: Ditto.
- * g++.dg/template/sfinae26.C: Ditto.
- * g++.dg/template/sfinae26.C: Ditto.
- * g++.dg/template/canon-type-11.C: Ditto.
- * g++.dg/template/union2.C: Ditto.
- * g++.dg/template/canon-type-3.C: Ditto.
- * g++.dg/template/canon-type-1.C: Ditto.
- * g++.dg/template/canon-type-5.C: Ditto.
- * g++.dg/template/canon-type-7.C: Ditto.
- * g++.dg/template/canon-type-10.C: Ditto.
- * g++.dg/template/spec36.C: Ditto.
- * g++.dg/template/typedef38.C: Ditto.
- * g++.dg/template/canon-type-4.C: Ditto.
- * g++.dg/template/canon-type-6.C: Ditto.
- * g++.dg/template/canon-type-13.C: Ditto.
- * g++.dg/template/instantiate9.C: Ditto.
- * g++.dg/template/ttp22.C: Ditto.
- * g++.dg/warn/Wreturn-type-6.C: Ditto.
- * g++.dg/warn/Walways-true-1.C: Ditto.
- * g++.dg/warn/Wlogical-op-1.C: Ditto.
- * g++.dg/warn/Walways-true-2.C: Ditto.
- * g++.dg/conversion/op4.C: Ditto.
- * g++.dg/opt/pr19650.C: Ditto.
- * g++.dg/lookup/friend11.C: Ditto.
- * g++.dg/other/default2.C: Ditto.
- * g++.dg/other/default3.C: Ditto.
- * g++.dg/other/dtor2.C: Ditto.
- * g++.dg/other/friend5.C: Ditto.
- * g++.dg/other/default5.C: Ditto.
- * g++.dg/init/brace6.C: Ditto.
- * g++.dg/init/aggr5.C: Ditto.
- * g++.dg/init/error2.C: Ditto.
- * g++.dg/expr/bound-mem-fun.C: Ditto.
- * g++.dg/expr/cond6.C: Ditto.
- * g++.dg/expr/stmt-expr-1.C: Ditto.
- * g++.dg/cpp0x/constexpr-object2.C: Ditto.
- * g++.dg/cpp0x/constexpr-data1.C: Ditto.
- * g++.dg/cpp0x/constexpr-function2.C: Ditto.
- * g++.dg/cpp0x/bracket1.C: Ditto.
- * g++.dg/cpp0x/variadic-mem-fn.C: Ditto.
- * g++.dg/cpp0x/pr38646.C: Ditto.
- * g++.dg/cpp0x/variadic73.C: Ditto.
- * g++.dg/cpp0x/constexpr-function1.C: Ditto.
- * g++.dg/cpp0x/bracket4.C: Ditto.
- * g++.dg/cpp0x/decltype4.C: Ditto.
- * g++.dg/cpp0x/constexpr-data2.C: Ditto.
- * g++.dg/cpp0x/constexpr-object1.C: Ditto.
- * g++.dg/cpp0x/variadic-crash2.C: Ditto.
- * g++.dg/cpp0x/variadic-new2.C: Ditto.
- * g++.dg/cpp0x/decltype2.C: Ditto.
- * g++.dg/cpp0x/decltype1.C: Ditto.
- * g++.dg/cpp0x/bracket2.C: Ditto.
- * g++.dg/cpp0x/decltype5.C: Ditto.
- * g++.dg/cpp0x/constexpr-function3.C: Ditto.
- * g++.dg/cpp0x/variadic70.C: Ditto.
- * g++.dg/cpp0x/decltype6.C: Ditto.
- * g++.dg/cpp0x/rvo.C: Ditto.
- * g++.dg/cpp0x/vt-40092.C: Ditto.
- * g++.dg/cpp0x/variadic-new.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-pass.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-mixed.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-nested.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-recursive.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-copy.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-non-const.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-ref-default.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-deduce.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-copy-default.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-nop.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-ref.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-const.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-mutable.C: Ditto.
- * g++.dg/cpp0x/lambda/lambda-in-class.C: Ditto.
- * g++.dg/cpp0x/pr39639.C: Ditto.
- * g++.dg/cpp0x/decltype3.C: Ditto.
- * g++.dg/cpp0x/variadic68.C: Ditto.
- * g++.dg/cpp0x/variadic-function.C: Ditto.
- * g++.dg/cpp0x/constexpr-ex1.C: Ditto.
- * g++.dg/cpp0x/variadic-bind.C: Ditto.
- * g++.dg/cpp0x/variadic-tuple.C: Ditto.
- * g++.dg/cpp0x/constexpr-ex2.C: Ditto.
- * g++.dg/parse/crash35.C: Ditto.
- * g++.dg/parse/crash40.C: Ditto.
- * g++.dg/parse/defarg12.C: Ditto.
- * g++.dg/parse/crash34.C: Ditto.
- * g++.dg/parse/constructor3.C: Ditto.
- * g++.dg/parse/template23.C: Ditto.
- * g++.dg/parse/crash56.C: Ditto.
- * g++.dg/parse/dtor13.C: Ditto.
- * g++.dg/parse/error33.C: Ditto.
- * g++.dg/parse/ctor9.C: Ditto.
- * g++.dg/parse/error32.C: Ditto.
- * g++.dg/parse/error37.C: Ditto.
- * g++.dg/parse/bitfield3.C: Ditto.
- * g++.dg/parse/struct-4.C: Ditto.
- * g++.dg/ext/has_trivial_copy.C: Ditto.
- * g++.dg/ext/is_polymorphic.C: Ditto.
- * g++.dg/ext/has_nothrow_copy_odr.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-4.C: Ditto.
- * g++.dg/ext/has_nothrow_assign.C: Ditto.
- * g++.dg/ext/is_union.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-1.C: Ditto.
- * g++.dg/ext/is_pod.C: Ditto.
- * g++.dg/ext/has_virtual_destructor.C: Ditto.
- * g++.dg/ext/has_trivial_constructor.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-3.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-5.C: Ditto.
- * g++.dg/ext/has_trivial_destructor-1.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-6.C: Ditto.
- * g++.dg/ext/is_abstract.C: Ditto.
- * g++.dg/ext/has_trivial_assign.C: Ditto.
- * g++.dg/ext/is_class.C: Ditto.
- * g++.dg/ext/has_nothrow_assign_odr.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-7.C: Ditto.
- * g++.dg/ext/is_base_of.C: Ditto.
- * g++.dg/ext/has_nothrow_copy-2.C: Ditto.
- * g++.dg/ext/has_nothrow_constructor.C: Ditto.
- * g++.dg/ext/is_empty.C: Ditto.
- * g++.dg/ext/is_enum.C: Ditto.
- * g++.dg/ext/has_nothrow_constructor_odr.C: Ditto.
- * gnat.dg/opt11.adb: Ditto.
- * obj-c++.dg/pr45735.mm: Ditto.
- * obj-c++.dg/pr24393.mm: Ditto.
- * obj-c++.dg/exceptions-2.mm: Ditto.
- * objc.dg/pr45735.m: Ditto.
- * objc.dg/pr24393.m: Ditto.
-
-2011-02-23 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/attributes/objc-exception-1.m: New.
-
-2011-02-23 Jie Zhang <jie@codesourcery.com>
-
- * gcc.dg/cpp/include7.c: New test.
-
-2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47242
- * g++.dg/cpp0x/lambda/lambda-ice4.C: New.
-
-2011-02-23 Jie Zhang <jie@codesourcery.com>
-
- PR rtl-optimization/47763
- * gcc.dg/pr47763.c: New test.
-
-2011-02-22 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/45743
- * gfortran.dg/whole_file_32.f90 : New test.
-
-2011-02-22 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47666
- * g++.dg/inherit/virtual7.C: New test.
-
-2011-02-22 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47832
- * objc.dg/type-size-3.m: Updated error message.
- * objc.dg/type-size-4.m: New test.
- * objc.dg/type-size-5.m: New test.
-
-2011-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/gnat.exp: Fix comments.
- Don't load libgloss.exp.
- (default_gnat_version): Call $compiler with --version.
- Adapt regexp for gnatmake output, insert version.
- (gnat_version): New proc.
- (gnat_init): Remove gnat_libgcc_s_path.
- (gnat_target_compile): Likewise.
- Remove ld_library_path.
- Log ADA_INCLUDE_PATH, ADA_OBJECTS_PATH.
- (gnat_pass): Remove.
- (gnat_pass): Remove.
- (gnat_finish): Remove.
- (gnat_exit): Remove.
- (local_find_gnatmake): Reindent.
- (runtest_file_p): Remove.
- (prune_warnings): Remove.
- (find_gnatclean): New proc.
- * lib/gnat-dg.exp (lremove): New proc.
- (gnat-dg-test): Reindent.
- Remove additional output files.
- (gnat-dg-runtest): Remove.
-
- * gnat.dg/array7.adb: Use cleanup-tree-dump "optimized".
- * gnat.dg/loop_optimization6.adb: Likewise.
- * gnat.dg/atomic1.adb: Use cleanup-tree-dump "gimple".
-
-2011-02-22 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47835
- * gcc.dg/pr46909.c: Check optimized dump instead of ifcombine.
-
-2011-02-22 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/abstract_type_1.f90: Fix dg-do syntax.
- * gfortran.dg/abstract_type_2.f03: Ditto.
- * gfortran.dg/abstract_type_3.f03: Ditto.
- * gfortran.dg/abstract_type_4.f03: Ditto.
- * gfortran.dg/abstract_type_5.f03: Ditto.
- * gfortran.dg/abstract_type_6.f03: Ditto.
- * gfortran.dg/alloc_comp_constraint_6.f90: Ditto.
- * gfortran.dg/alloc_comp_init_expr.f03: Ditto.
- * gfortran.dg/allocatable_scalar_11.f90: Ditto.
- * gfortran.dg/allocate_scalar_with_shape.f90: Ditto.
- * gfortran.dg/array_function_5.f90: Ditto.
- * gfortran.dg/asynchronous_3.f03: Ditto.
- * gfortran.dg/char_expr_1.f90: Ditto.
- * gfortran.dg/class_14.f03: Ditto.
- * gfortran.dg/data_array_6.f: Ditto.
- * gfortran.dg/data_invalid.f90: Ditto.
- * gfortran.dg/dot_product_1.f03: Ditto.
- * gfortran.dg/func_derived_5.f90: Ditto.
- * gfortran.dg/func_result_4.f90: Ditto.
- * gfortran.dg/implied_do_1.f90: Ditto.
- * gfortran.dg/initialization_25.f90: Ditto.
- * gfortran.dg/initialization_26.f90: Ditto.
- * gfortran.dg/interface_34.f90: Ditto.
- * gfortran.dg/iso_c_binding_init_expr.f03: Ditto.
- * gfortran.dg/keyword_symbol_1.f90: Ditto.
- * gfortran.dg/matmul_8.f03: Ditto.
- * gfortran.dg/merge_init_expr.f90: Ditto.
- * gfortran.dg/pack_assign_1.f90: Ditto.
- * gfortran.dg/pack_vector_1.f90: Ditto.
- * gfortran.dg/pointer_check_8.f90: Ditto.
- * gfortran.dg/product_init_expr.f03: Ditto.
- * gfortran.dg/reshape_order_5.f90: Ditto.
- * gfortran.dg/reshape_shape_1.f90: Ditto.
- * gfortran.dg/reshape_zerosize_2.f90: Ditto.
- * gfortran.dg/same_name_2.f90: Ditto.
- * gfortran.dg/selected_real_kind_1.f90: Ditto.
- * gfortran.dg/spread_init_expr.f03: Ditto.
- * gfortran.dg/stmt_func_1.f90: Ditto.
- * gfortran.dg/sum_init_expr.f03: Ditto.
- * gfortran.dg/transpose_3.f03: Ditto.
- * gfortran.dg/unpack_init_expr.f03: Ditto.
- * gfortran.dg/warn_conversion.f90: Ditto.
- * gfortran.dg/warn_conversion_2.f90: Ditto.
- * gfortran.dg/warn_intent_out_not_set.f90: Ditto.
- * gfortran.dg/warn_unused_dummy_argument_1.f90: Ditto.
- * gfortran.dg/warn_unused_dummy_argument_2.f90: Ditto.
- * gfortran.dg/whole_file_16.f90: Ditto.
- * gfortran.dg/whole_file_17.f90: Ditto.
- * gfortran.dg/whole_file_18.f90: Ditto.
- * gfortran.dg/whole_file_20.f03: Ditto.
- * gfortran.dg/whole_file_5.f90: Ditto.
- * gfortran.dg/whole_file_6.f90: Ditto.
- * gfortran.dg/write_invalid_format.f90: Ditto.
- * gfortran.dg/zero_sized_6.f90: Ditto.
-
-2011-02-21 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/46178
- * gcc.target/i386/pr46178.c: New test.
-
- PR rtl-optimization/46002
- * gcc.c-torture/compile/pr46002.c: New test.
-
-2011-02-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- * g++.dg/cpp0x/lambda/lambda-conv.C: Skip scan-assembler check on
- *-*-hpux10*.
-
-2011-02-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47106
- * g++.dg/debug/pr47106.C: Require effective target lto.
-
-2011-02-21 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-diag2.C: New.
-
-2011-02-20 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-ctor7.C: New.
-
- * g++.dg/cpp0x/fntmpdefarg2.C: New.
-
- * g++.dg/overload/conv-op1.C: New.
-
- * g++.dg/cpp0x/constexpr-synth1.C: New.
-
-2011-02-20 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/layout-2.m: New.
- * objc.dg/selector-3.m: Adjusted location of error message.
- * objc.dg/type-size-3.m: Same.
- * obj-c++.dg/selector-3.mm: Same.
-
-2011-02-20 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47784
- * objc.dg/property/dotsyntax-22.m: New.
- * obj-c++.dg/property/dotsyntax-22.mm: New.
-
-2011-02-20 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/46394
- * g++.dg/template/typedef38.C: New test.
-
-2011-02-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/46818
- * gfortran.dg/whole_file_30.f90 : New test.
- * gfortran.dg/whole_file_31.f90 : New test.
-
-2011-02-20 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/45077
- PR fortran/44945
- * gfortran.dg/whole_file_28.f90 : New test.
- * gfortran.dg/whole_file_29.f90 : New test.
-
-2011-02-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/44118
- * g++.dg/template/crash105.C: New.
-
-2011-02-19 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/no-elide1.C: New.
-
-2011-02-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR tree-optimization/46620
- * gcc.dg/pr46620.c: New.
-
-2011-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c/47809
- * gcc.target/i386/pr47809.c: New test.
-
-2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- Tobias Burnus <burnus@net-b.de>
-
- * lib/target-supports.exp
- (check_effective_target_fortran_large_real): New check for large reals.
- * gfortran.dg/nan_7.f90: New test.
-
-2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * gfortran.dg/fmt_f0_1.f90: Update test.
-
-2011-02-19 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47348
- * gfortran.dg/array_constructor_36.f90 : New test.
- * gfortran.dg/bounds_check_10.f90 : Change dg-output message to
- allow for comparison between different elements of the array
- constructor at different levels of optimization.
-
-2011-02-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.target/i386/pr31167.c: Require int128 instead of lp64.
- * gcc.target/i386/pr32280-1.c: Likewise.
-
-2011-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47800
- * gcc.target/i386/pr47800.c: New test.
-
-2011-02-18 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc/execute/exceptions/foward-1.x: New.
-
-2011-02-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47789
- * gfortran.dg/derived_constructor_comps_4.f90: New.
-
-2011-02-18 Tobias Burnus
-
- PR fortran/47775
- * gfortran.dg/func_result_6.f90: New.
-
-2011-02-18 Michael Matz <matz@suse.de>
-
- PR fortran/45586
- * gfortran.dg/lto/pr45586_0.f90: New test.
- * gfortran.dg/typebound_proc_20.f90: Ditto.
- * gfortran.dg/typebound_proc_21.f90: Ditto.
-
-2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/47795
- * g++.dg/cpp0x/lambda/lambda-ice3.C: New.
-
-2011-02-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47750
- * lib/gfortran.exp (gfortran_init): Set gcc_error_prefix and
- gcc_warning_prefix.
- * lib/gfortran-dg.exp (gfortran-dg-test): Update regexp for
- normalizing the error/warning output.
- * gfortran.dg/Wall.f90: Update dg-error/warning.
- * gfortran.dg/argument_checking_15.f90: Update dg-error/warning.
- * gfortran.dg/argument_checking_3.f90: Update dg-error/warning.
- * gfortran.dg/argument_checking_6.f90: Update dg-error/warning.
- * gfortran.dg/bounds_temporaries_1.f90: Update dg-error/warning.
- * gfortran.dg/class_30.f90: Update dg-error/warning.
- * gfortran.dg/continuation_1.f90: Update dg-error/warning.
- * gfortran.dg/continuation_9.f90: Update dg-error/warning.
- * gfortran.dg/do_check_5.f90: Update dg-error/warning.
- * gfortran.dg/entry_17.f90: Update dg-error/warning.
- * gfortran.dg/entry_19.f90: Update dg-error/warning.
- * gfortran.dg/fmt_error.f90: Update dg-error/warning.
- * gfortran.dg/fmt_read_2.f90: Update dg-error/warning.
- * gfortran.dg/g77/12632.f: Update dg-error/warning.
- * gfortran.dg/g77/970625-2.f: Update dg-error/warning.
- * gfortran.dg/g77/980615-0.f: Update dg-error/warning.
- * gfortran.dg/generic_actual_arg.f90: Update dg-error/warning.
- * gfortran.dg/global_references_1.f90: Update dg-error/warning.
- * gfortran.dg/goto_8.f90: Update dg-error/warning.
- * gfortran.dg/initialization_1.f90: Update dg-error/warning.
- * gfortran.dg/io_constraints_1.f90: Update dg-error/warning.
- * gfortran.dg/io_constraints_2.f90: Update dg-error/warning.
- * gfortran.dg/io_constraints_3.f90: Update dg-error/warning.
- * gfortran.dg/iostat_3.f90: Update dg-error/warning.
- * gfortran.dg/public_private_module.f90: Update dg-error/warning.
- * gfortran.dg/volatile3.f90: Update dg-error/warning.
- * gfortran.dg/warning-directive-2.F90: Update dg-error/warning.
- * gfortran.dg/warnings_are_errors_1.f: Update dg-error/warning.
- * gfortran.dg/whole_file_1.f90: Update dg-error/warning.
- * gfortran.dg/whole_file_2.f90: Update dg-error/warning.
- * gfortran.dg/whole_file_3.f90: Update dg-error/warning.
-
-2011-02-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47768
- * gfortran.dg/proc_ptr_comp_30.f90: New.
-
-2011-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47780
- * gcc.target/i386/pr47780.c: New test.
-
-2011-02-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47767
- * gfortran.dg/class_40.f03: New.
-
-2011-02-18 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47208
- * g++.dg/cpp0x/auto21.C: New test.
-
-2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc.dg/special/unclaimed-category-1.h: Updated for
- new ABI support.
- * objc.dg/special/unclaimed-category-1.m: Same.
- * objc.dg/zero-link-1.m: Same.
- * objc.dg/lookup-1.m: Same.
- * objc.dg/torture/strings/const-str-9.m
- * objc.dg/torture/strings/const-str-10.m: Same.
- * objc.dg/torture/strings/const-str-11.m: Same.
- * objc.dg/torture/forward-1.m: Same.
- * objc.dg/zero-link-2.m: Same.
- * objc.dg/encode-7-next-64bit.m: Same.
- * objc.dg/method-4.m: Same.
- * objc.dg/next-runtime-1.m: Same.
- * objc.dg/image-info.m: Same.
- * objc.dg/pr23214.m: Same.
- * objc.dg/symtab-1.m: Same.
- * obj-c++.dg/basic.m: Same.
- * obj-c++.dg/proto-lossage-3.m: Same.
- * obj-c++.dg/torture/strings/const-str-10.m: Same.
- * obj-c++.dg/torture/strings/const-str-11.m: Same.
- * obj-c++.dg/torture/strings/const-str-9.m: Same.
- * obj-c++.dg/method-11.m: Same.
- * objc/execute/enumeration-1.m: Same.
- * objc/execute/object_is_class.m: Same.
- * objc/execute/formal_protocol-2.m: Same.
- * objc/execute/formal_protocol-4.m: Same.
- * objc/execute/formal_protocol-6.m: Same.
- * objc/execute/bycopy-3.m: Same.
- * objc/execute/exceptions/catchall-1.m: Same.
- * objc/execute/exceptions/finally-1.m: Same.
- * objc/execute/exceptions/local-variables-1.m: Same.
- * objc/execute/exceptions/foward-1.m: Same.
- * objc/execute/bf-common.h
- * objc/execute/enumeration-2.m: Same.
- * objc/execute/formal_protocol-1.m: Same.
- * objc/execute/formal_protocol-3.m: Same.
- * objc/execute/formal_protocol-5.m: Same.
- * objc/execute/accessing_ivars.m: Same.
- * objc/execute/bycopy-2.m: Same.
- * objc/execute/formal_protocol-7.m: Same.
- * objc/execute/compatibility_alias.m: Same.
- * objc/execute/no_clash.m: Same.
- * objc/execute/object_is_meta_class.m: Same.
- * objc/execute/exceptions/exceptions.exp: Load target-supports.exp
- * objc/execute/class-tests-1.h: Include stdio.h.
- * objc/execute/class-tests-2.h: Same.
- * obj-c++.dg/try-catch-9.mm: xfail-run the test with both
- runtimes.
- * obj-c++.dg/try-catch-2.mm: Same.
-
-2011-02-17 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47783
- * g++.dg/warn/Wunused-parm-4.C: New test.
-
-2011-02-17 Alexandre Oliva <aoliva@redhat.com>
- Jan Hubicka <jh@suse.cz>
-
- PR debug/47106
- PR debug/47402
- * g++.dg/debug/pr47106.C: New.
-
-2011-02-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/43653
- * gcc.target/i386/pr43653.c: New test.
-
-2011-02-11 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47172
- * g++.dg/template/inherit6.C: New test.
-
-2011-02-16 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47745
- * gfortran.dg/class_39.f03: New.
-
-2011-02-16 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47326
- * g++.dg/cpp0x/variadic106.C: New test.
-
-2011-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR libfortran/47757
- * gfortran.dg/pr47757-1.f90: New test.
- * gfortran.dg/pr47757-2.f90: New test.
- * gfortran.dg/pr47757-3.f90: New test.
-
- PR c++/47704
- * g++.dg/cpp0x/enum8.C: New test.
-
-2011-02-15 Jason Merrill <jason@redhat.com>
-
- * g++.dg/inherit/implicit-trivial1.C: New.
- * g++.dg/cpp0x/implicit-trivial1.C: New.
-
-2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * gcc.dg/torture/pr47725.c: Removed.
-
-2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47755
- * gcc.target/powerpc/pr47755.c: New file, test all 0 vector
- constant does not generate a load from memory.
-
-2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/47725
- * gcc.dg/torture/pr47725.c: New.
-
-2011-02-15 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47743
- * gcc.dg/torture/pr47743.c: New testcase.
-
-2011-02-15 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47581
- * gcc.target/i386/pr47581.c: New test.
-
-2011-02-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47730
- * gfortran.dg/select_type_22.f03: New.
-
-2011-02-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/regress/enum1.C: New.
-
-2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/include.adb: New test.
-
-2011-02-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47728
- * gfortran.dg/class_38.f03: New.
-
-2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.dg/pr46494.c: New test.
-
-2011-02-14 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/attr-weak-hidden-1.c: Make definition of foo strong.
-
-2011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR ada/41929
- * gnat.dg/null_pointer_deref1.exp: Don't skip on
- sparc*-sun-solaris2.11.
-
-2011-02-14 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47349
- * gfortran.dg/argument_checking_18.f90: New.
-
-2011-02-13 Tobias Burnus <burnus@net-b.de>
-
- * gfortran.dg/argument_checking_13.f90: Update dg-error.
- * gfortran.dg/argument_checking_17.f90: New.
-
-2011-02-12 Janus Weil <janus@gcc.gnu.org>
-
- * gfortran.dg/allocate_derived_1.f90: Modified as polymorphic arrays
- are temporarily disabled.
- * gfortran.dg/class_7.f03: Ditto.
- * gfortran.dg/coarray_14.f90: Ditto.
- * gfortran.dg/typebound_proc_13.f03: Ditto.
-
-2011-02-12 Mikael Morin <mikael.morin@sfr.fr>
-
- PR fortran/45586
- * gfortran.dg/extends_11.f03: New.
-
-2011-02-11 Xinliang David Li <davidxl@google.com>
-
- PR tree-optimization/47707
- * g++.dg/tree-ssa/pr47707.C: New test.
-
-2011-02-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * g++.dg/opt/inline17.C: New test.
-
-2011-02-11 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47550
- * gfortran.dg/pure_formal_2.f90: New.
-
-2011-02-11 Pat Haugen <pthaugen@us.ibm.com>
-
- PR rtl-optimization/47614
- * gfortran.dg/pr47614.f: New.
-
-2011-02-11 Joseph Myers <joseph@codesourcery.com>
-
- PR driver/47678
- * gcc.dg/opts-6.c: New test.
-
-2011-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47684
- * gcc.dg/pr47684.c: New test.
-
-2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/47629
- * gcc.target/i386/pr47312.c: Use dg-require-effective-target
- c99_runtime, dg-add-options c99_runtime.
- (main): Use __asm__.
-
-2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/47400
- * lib/target-supports.exp (check_ascii_locale_available): New proc.
- * lib/target-supports-dg.exp (dg-require-ascii-locale): New proc.
- * gcc.dg/attr-alias-5.c: Use dg-require-ascii-locale.
- * gcc.dg/ucnid-10.c: Likewise.
- * gcc.dg/ucnid-13.c: Likewise.
- * gcc.dg/ucnid-7.c: Likewise.
- * gcc.dg/ucnid-8.c: Likewise.
- Adapt dg-warning line number.
-
-2011-02-10 Uros Bizjak <ubizjak@gmail.com>
-
- * gcc.target/i386/parity-1.c: Use -march=k8.
- * gcc.target/i386/parity-2.c: Ditto.
- * gcc.target/i386/vecinit-1.c: Ditto.
- * gcc.target/i386/vecinit-2.c: Ditto.
-
-2011-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/46610
- * gcc.target/mips/save-restore-1.c: Skip on mips-sgi-irix6*.
- * gcc.target/mips/save-restore-3.c: Likewise.
- * gcc.target/mips/save-restore-4.c: Likewise.
- * gcc.target/mips/save-restore-5.c: Likewise.
-
- PR target/47683
- * g++.dg/tree-prof/partition1.C: Skip on mips-sgi-irix*.
- * g++.dg/tree-prof/partition2.C: Likewise.
-
-2011-02-09 Jason Merrill <jason@redhat.com>
-
- * g++.dg/tree-ssa/inline-3.C: Use a normal function
- rather than misdeclare std::puts.
-
- * g++.dg/ext/vla1.C: Adjust for C++0x mode.
- * g++.dg/other/warning1.C: Likewise.
- * g++.old-deja/g++.bugs/900119_01.C: Likewise.
- * g++.old-deja/g++.gb/scope06.C: Likewise.
- * g++.old-deja/g++.law/cvt11.C: Likewise.
- * g++.old-deja/g++.law/init1.C: Likewise.
- * g++.dg/abi/mangle26.C: Likewise.
-
- * g++.dg/template/function1.C: Adjust for C++0x mode.
- * g++.dg/cpp0x/regress/template-function1.C: Copy it.
-
- * g++.dg/ext/label10.C: Adjust for C++0x mode.
- * g++.dg/cpp0x/regress/ext-label10.C: Copy it.
-
- * g++.dg/cpp0x/regress/ext-cond1.C: Copy from ext/cond1.C.
-
- * g++.dg/cpp0x/regress/abi-empty7.C: New.
-
- * g++.dg/cpp0x/regress: New directory.
- * g++.dg/cpp0x/constexpr-regress1.C: Move to regress/regress1.C.
- * g++.dg/cpp0x/constexpr-regress2.C: Move to regress/regress2.C.
- * g++.dg/cpp0x/regress/regress3.C: New.
-
-2011-02-10 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47677
- * gcc.dg/torture/pr47677.c: New testcase.
-
-2011-02-10 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc.dg/special/load-category-1.m: Remove unused header.
- * objc.dg/special/load-category-1a.m: Likewise.
- * objc.dg/special/load-category-2.m: Likewise.
- * objc.dg/special/load-category-2a.m: Likewise.
- * objc.dg/special/load-category-3.m: Likewise.
- * objc.dg/special/load-category-3a.m: Likewise.
- * objc.dg/attributes/proto-attribute-2.m: Likewise.
- * objc.dg/attributes/proto-attribute-3.m: Likewise.
- * objc.dg/attributes/class-attribute-1.m: Likewise.
- * objc.dg/property/property.exp: Don't run for Darwin < 9.
- * obj-c++.dg/property/property.exp: Likewise.
- * objc.dg/attributes/method-sentinel-1.m: Update type header.
- * obj-c++.dg/attributes/method-sentinel-1.mm: Likewise.
- * obj-c++.dg/attributes/proto-attribute-2.mm: Skip for Darwin < 9.
- * obj-c++.dg/attributes/class-attribute-1.mm: Likewise.
- * obj-c++.dg/attributes/proto-attribute-3.mm: Likewise.
- * obj-c++.dg/template-8.mm: Likewise.
-
-2011-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47665
- * gcc.target/i386/pr47665.c: New test.
-
-2011-02-10 Jie Zhang <jie@codesourcery.com>
-
- PR testsuite/47622
- Revert
- 2011-02-05 Jie Zhang <jie@codesourcery.com>
- PR debug/42631
- * gcc.dg/pr42631.c: Update test.
- * gcc.dg/pr42631-2.c: New test.
-
-2011-02-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47352
- * gfortran.dg/proc_decl_25.f90: New.
-
-2011-02-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47463
- * gfortran.dg/typebound_assignment_2.f03: New.
-
-2011-02-09 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47664
- * gcc.dg/tree-ssa/inline-7.c: New testcase.
-
-2011-02-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/47646
- * gnat.dg/uninit_func.adb: Adjust dg directive.
-
-2011-02-09 Dominique Dhumieres <dominiq@lps.ens.fr>
-
- PR middle-end/47646
- * obj-c++.dg/attributes/method-noreturn-1.mm: Adjust dg directives.
-
-2011-02-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47637
- * gfortran.dg/auto_dealloc_2.f90: New.
-
-2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/builtins-config.h: Remove __sgi handling.
- * lib/target-supports.exp (add_options_for_c99_runtime): Add
- -std=c99 for mips-sgi-irix6.5*.
-
-2011-02-09 Martin Jambor <mjambor@suse.cz>
-
- PR middle-end/45505
- * gfortran.dg/pr25923.f90: Remove xfails.
-
-2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR fortran/47583
- * gfortran.dg/inquire_14.f90: New test.
-
-2011-02-08 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/45290
- * gfortran.dg/pointer_init_6.f90: New.
-
-2011-02-08 Jeff Law <law@redhat.com>
-
- PR tree-optimization/42893
- * gcc.tree-ssa/pr42893.c: New test.
-
-2011-02-08 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46834
- PR tree-optimization/46994
- PR tree-optimization/46995
- * gcc.dg/graphite/id-pr46834.c: New.
- * gfortran.dg/graphite/id-pr46994.f90: New.
- * gfortran.dg/graphite/id-pr46995.f90: New.
-
-2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- PR middle-end/47646
- * gcc.dg/pr39666-2.c (foo2): If the location of the statement
- using the variable is known the warning is emitted there.
- * gcc.dg/uninit-pr19430.c (foo): Likewise.
- * g++.dg/warn/Wuninitialized-5.C (foo): Likewise.
-
- * c-c++-common/pr20000.c (g): Both warnings occur at the return
- statement.
- (vg): Likewise.
- * gcc.dg/noreturn-1.c (foo5): Likewise.
- * objc.dg/attributes/method-noreturn-1.m (method1): Likewise.
- (method2): Likewise.
-
- * gfortran.dg/pr25923.f90 (baz): The warning will now be issued for
- the return statement using the uninitialized variable.
- * gfortran.dg/pr39666-2.f90 (f): Likewise.
-
-2011-02-08 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47639
- * g++.dg/opt/pr47639.c: New testcase.
-
-2011-02-08 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47632
- * g++.dg/opt/pr47632.C: New testcase.
-
-2011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * g++.dg/abi/packed1.C: Expect warning on spu-*-* as well.
-
-2011-02-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47615
- * g++.dg/opt/pr47615.C: New testcase.
-
-2011-02-07 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47621
- * gcc.dg/torture/pr47621.c: New testcase.
-
-2011-02-07 Uros Bizjak <ubizjak@gmail.com>
-
- * gfortran.dg/transpose_optimization_2.f90: Cleanup original dump.
-
-2011-02-06 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47592
- * gfortran.dg/allocate_with_source_1 : New test.
-
-2011-02-05 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/47610
- * gcc.dg/pr47610.c: New test.
-
-2011-02-05 Jie Zhang <jie@codesourcery.com>
-
- PR debug/42631
- * gcc.dg/pr42631.c: Update test.
- * gcc.dg/pr42631-2.c: New test.
-
-2001-02-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/47574
- * gfortran.dg/pr47574.f90: New test.
-
-2011-02-04 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46194
- * gcc.dg/autopar/pr46194.c: New.
-
-2011-02-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR tree-optimization/43695
- * g++.dg/ipa/pr43695.C: New.
-
-2011-02-04 Jakub Jelinek <jakub@redhat.com>
-
- PR inline-asm/23200
- * gcc.dg/pr23200.c: New test.
-
-2011-02-03 Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/47589
- * g++.dg/pr47589.C: New test.
-
-2011-02-03 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47398
- * g++.dg/template/typedef37.C: New test.
- * g++.dg/template/param1.C: Adjust expected error message.
-
-2011-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/31490
- * gcc.dg/pr31490-2.c: New test.
- * gcc.dg/pr31490-3.c: New test.
- * gcc.dg/pr31490-4.c: New test.
-
-2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR c++/46890
- * g++.dg/parser/semicolon3.C: Adjust.
- * g++.dg/parser/semicolon4.C: New testcase.
- * g++.dg/pr46890.C: New testcase.
-
-2011-02-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/29571
- * g++.dg/init/pr29571.C: New.
-
-2011-02-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * gfortran.dg/graphite/vect-pr40979.f90: Require vect_double
- instead of vect_int.
-
-2011-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47312
- * gcc.target/i386/pr47312.c: New test.
-
- PR target/47564
- * gcc.target/i386/pr47564.c: New test.
-
-2011-02-03 Alexandre Oliva <aoliva@redhat.com>
-
- PR tree-optimization/45122
- * gcc.dg/tree-ssa/pr45122.c: New.
-
-2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47272
- * gcc.target/powerpc/vsx-builtin-8.c: New file, test vec_vsx_ld
- and vec_vsx_st.
-
- * gcc.target/powerpc/avoid-indexed-addresses.c: Disable altivec
- and vsx so a default --with-cpu=power7 doesn't give an error
- when -mavoid-indexed-addresses is used.
-
- * gcc.target/powerpc/ppc32-abi-dfp-1.c: Rewrite to use an asm
- wrapper function to save the arguments and then jump to the real
- function, rather than depending on the compiler not to move stuff
- before an asm.
- * gcc.target/powerpc/ppc64-abi-dfp-2.c: Ditto.
-
-2011-02-02 Janus Weil <janus@gcc.gnu.org>
- Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47082
- * gfortran.dg/class_37.f03 : New test.
-
-2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
- Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/40979
- PR bootstrap/47044
- * gcc.dg/graphite/graphite.exp (DEFAULT_VECTCFLAGS): Add -ffast-math.
- * gcc.dg/graphite/pr35356-2.c: Adjust pattern.
- * gfortran.dg/graphite/graphite.exp: Run vect_files conditionally to
- check_vect_support_and_set_flags.
- * gfortran.dg/graphite/vect-pr40979.f90: New.
-
-2011-02-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47572
- * gfortran.dg/class_36.f03: New.
-
-2011-02-02 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47566
- * gcc.dg/lto/20110201-1_0.c: New testcase.
-
-2011-02-02 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/47498
- PR debug/47501
- PR debug/45136
- PR debug/45130
- * debug/pr47498.c: New.
- * debug/pr47501.c: New.
-
-2011-02-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47559
- * g++.dg/torture/pr47559.C: New testcase.
-
-2011-02-01 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47565
- * gfortran.dg/typebound_call_20.f03: New.
-
-2011-02-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47555
- * gcc.dg/pr47555.c: New testcase.
-
-2011-02-01 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47541
- * g++.dg/torture/pr47541.C: New testcase.
-
-2011-01-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47455
- * gfortran.dg/typebound_call_19.f03: New.
-
-2011-01-31 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47416
- * g++.dg/cpp0x/pr47416.C: New test.
-
-2011-01-31 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47519
- * gfortran.dg/allocate_deferred_char_scalar_2.f03: New test.
-
-2011-01-31 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47463
- * gfortran.dg/typebound_assignment_1.f03: New.
-
-2011-01-31 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47538
- * gcc.c-torture/execute/pr47538.c: New test.
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/45325
- * gcc.target/i386/pr38240.c: Add dg-options "-msse".
-
-2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/abi/mangle40.C: Pass "" to dg-require-weak.
-
-2011-01-31 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/44031
- * gcc.c-torture/compile/20110131-1.c: New test.
-
-2011-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47042
- * gfortran.dg/stmt_func_1.f90: New.
-
-2011-01-31 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47042
- * gfortran.dg/interface_34.f90: New.
-
-2011-01-30 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47523
- * gfortran.dg/realloc_on_assign_5.f03: New test.
- * gfortran.dg/realloc_on_assign_5.f03: New test.
-
-2011-01-29 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gfortran.dg/bessel_6.f90: XFAIL on spu-*-*.
- * gfortran.dg/bessel_7.f90: Likewise.
- * gfortran.dg/erf_2.F90: Likewise. Always run with -O0.
-
- * gfortran.dg/complex_intrinsics_5.f90: Increase "epsilon".
- * gfortran.dg/sum_init_expr.f03: Likewise.
-
- * gfortran.dg/realloc_on_assign_2.f03: Skip on spu-*-*.
-
- * gfortran.dg/lto/20091016-1_0.f90: Replace -shared with
- -r -nostdlib.
-
- * gfortran.dg/vect/fast-math-vect-8.f90: Check for vectorized
- loop only on "vect_intfloat_cvt" targets.
-
-2011-01-29 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47531
- * gfortran.dg/shape_6.f90: New.
-
-2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47434
- * gfortran.dg/read_infnan_1.f90: Update test.
- * gfortran.dg/module_nan.f90: Update test.
- * gfortran.dg/char4_iunit_1.f03: Update test.
- * gfortran.dg/large_real_kind_1.f90: Update test.
- * gfortran.dg/real_const_3.f90: Update test.
- * gfortran.fortran-torture/execute/nan_inf_fmt.f90: Update test.
-
-2011-01-29 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47311
- * g++.dg/template/param2.C: New test.
-
-2011-01-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47285
- * gfortran.dg/fmt_g.f: New test.
-
-2011-01-28 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47507
- * gfortran.dg/pure_formal_1.f90: New.
-
-2011-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR target/42894
- * gcc.dg/tls/pr42894.c: New test.
-
-2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.dg/pr47276.c: Add dg-require-visibility.
-
-2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gcc.target/i386/asm-6.c: XFAIL on i?86-pc-solaris2.1[0-9] && ilp32.
-
-2011-01-28 Paul Thomas <pault@gcc.gnu.org>
- Tobias Burnus <burnus@gcc.gnu.org>
-
- PR fortran/45170
- PR fortran/35810
- PR fortran/47350
- * gfortran.dg/realloc_on_assign_3.f03: New test.
- * gfortran.dg/realloc_on_assign_4.f03: New test.
- * gfortran.dg/allocatable_function_5.f90: New test.
- * gfortran.dg/allocate_deferred_char_scalar_1.f03: New test.
- * gfortran.dg/deferred_type_param_2.f90: Remove two "not yet
- implemented" dg-errors.
-
-2011-01-27 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/46949
- * gcc.dg/attr-weakref-4.c: New testcase
-
-2011-01-27 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/47228
- * gcc.dg/torture/pr47228.c: New test.
-
-2011-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/tree-ssa/pr42585.c: Disable on s390 and s390x.
-
-2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * lib/compat.exp (compat-execute): Pass -Wl,--extra-stack-space=8192
- when using auto-overlay support on the SPU.
-
-2011-01-27 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/44174
- * gcc.target/i386/asm-6.c: New test.
-
-2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
-
- PR rtl-optimization/46856
- * gcc.c-torture/compile/pr46856.c: New test.
-
-2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
- Andrew Pinski <pinskia@gmail.com>
-
- PR c/43082
- * gcc.dg/pr43082.c: New.
-
-2011-01-26 DJ Delorie <dj@redhat.com>
-
- PR rtl-optimization/46878
- * gcc.dg/pr46878-1.c: New test.
-
-2011-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47476
- * g++.dg/cpp0x/pr47476.C: New test.
-
-2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * gcc.c-torture/compile/20110126-1.c: New test.
-
-2011-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR c/47473
- * gcc.dg/torture/pr47473.c: New test.
-
-2011-01-26 Jan Hubicka <jh@suse.cz>
-
- PR target/47237
- * gcc.c-torture/execute/pr47237.c: New testcase.
-
-2011-01-26 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/47190
- * gcc.dg/attr-weakref-3.c: New testcase.
-
-2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR c++/43601
- * gcc.dg/dll-9a.c: New test file.
- * gcc.dg/dll-11.c: Likewise.
- * gcc.dg/dll-12.c: Likewise.
- * gcc.dg/dll-12a.c: Likewise.
- * gcc.dg/dll-11a.c: Likewise.
- * gcc.dg/dll-9.c: Likewise.
- * gcc.dg/dll-10.c: Likewise.
- * gcc.dg/dll-10a.c: Likewise.
- * g++.dg/ext/dllexport4a.cc: Likewise.
- * g++.dg/ext/dllexport4.C: Likewise.
- * g++.dg/ext/dllexport5.C: Likewise.
- * g++.dg/ext/dllexport5a.cc: Likewise.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46970
- * gcc.dg/graphite/pr46970.c: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46215
- * gcc.dg/graphite/pr46215.c: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/46168
- * gcc.dg/graphite/pr46168.c: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/43657
- * gcc.dg/graphite/pr43657.c: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/29832
- * gfortran.dg/graphite/pr29832.f90: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- PR tree-optimization/43567
- * gcc.dg/graphite/pr43567.c: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * gfortran.dg/graphite/interchange-4.f: New.
- * gfortran.dg/graphite/interchange-5.f: New.
-
- * gcc.dg/tree-ssa/ltrans-1.c: Removed.
- * gcc.dg/tree-ssa/ltrans-2.c: Removed.
- * gcc.dg/tree-ssa/ltrans-3.c: Removed.
- * gcc.dg/tree-ssa/ltrans-4.c: Removed.
- * gcc.dg/tree-ssa/ltrans-5.c: Removed.
- * gcc.dg/tree-ssa/ltrans-6.c: Removed.
- * gcc.dg/tree-ssa/ltrans-8.c: Removed.
- * gfortran.dg/ltrans-7.f90: Removed.
- * gcc.dg/tree-ssa/data-dep-1.c: Removed.
-
- * gcc.dg/pr18792.c: -> gcc.dg/graphite/pr18792.c
- * gcc.dg/pr19910.c: -> gcc.dg/graphite/pr19910.c
- * gcc.dg/tree-ssa/20041110-1.c: -> gcc.dg/graphite/pr20041110-1.c
- * gcc.dg/tree-ssa/pr20256.c: -> gcc.dg/graphite/pr20256.c
- * gcc.dg/pr23625.c: -> gcc.dg/graphite/pr23625.c
- * gcc.dg/tree-ssa/pr23820.c: -> gcc.dg/graphite/pr23820.c
- * gcc.dg/tree-ssa/pr24309.c: -> gcc.dg/graphite/pr24309.c
- * gcc.dg/tree-ssa/pr26435.c: -> gcc.dg/graphite/pr26435.c
- * gcc.dg/pr29330.c: -> gcc.dg/graphite/pr29330.c
- * gcc.dg/pr29581-1.c: -> gcc.dg/graphite/pr29581-1.c
- * gcc.dg/pr29581-2.c: -> gcc.dg/graphite/pr29581-2.c
- * gcc.dg/pr29581-3.c: -> gcc.dg/graphite/pr29581-3.c
- * gcc.dg/pr29581-4.c: -> gcc.dg/graphite/pr29581-4.c
- * gcc.dg/tree-ssa/loop-27.c: -> gcc.dg/graphite/pr30565.c
- * gcc.dg/tree-ssa/pr31183.c: -> gcc.dg/graphite/pr31183.c
- * gcc.dg/tree-ssa/pr33576.c: -> gcc.dg/graphite/pr33576.c
- * gcc.dg/tree-ssa/pr33766.c: -> gcc.dg/graphite/pr33766.c
- * gcc.dg/pr34016.c: -> gcc.dg/graphite/pr34016.c
- * gcc.dg/tree-ssa/pr34017.c: -> gcc.dg/graphite/pr34017.c
- * gcc.dg/tree-ssa/pr34123.c: -> gcc.dg/graphite/pr34123.c
- * gcc.dg/tree-ssa/pr36287.c: -> gcc.dg/graphite/pr36287.c
- * gcc.dg/tree-ssa/pr37686.c: -> gcc.dg/graphite/pr37686.c
- * gcc.dg/pr42917.c: -> gcc.dg/graphite/pr42917.c
- * gcc.dg/tree-ssa/data-dep-1.c
- * gfortran.dg/loop_nest_1.f90: -> gfortran.dg/graphite/pr29290.f90
- * gfortran.dg/pr29581.f90: -> gfortran.dg/graphite/pr29581.f90
- * gfortran.dg/pr36286.f90: -> gfortran.dg/graphite/pr36286.f90
- * gfortran.dg/pr36922.f: -> gfortran.dg/graphite/pr36922.f
- * gfortran.dg/pr39516.f: -> gfortran.dg/graphite/pr39516.f
-
-2011-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47265
- PR tree-optimization/47443
- * gcc.c-torture/compile/pr47265.c: New test.
- * gcc.dg/pr47443.c: New test.
-
-2011-01-25 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/47382
- * g++.dg/torture/pr47382.C: New test.
- * g++.dg/opt/devirt1.C: Xfail.
-
-2011-01-25 Yao Qi <yao@codesourcery.com>
-
- PR target/45701
- * gcc.target/arm/pr45701-1.c: New test.
- * gcc.target/arm/pr45701-2.c: New test.
- * gcc.target/arm/pr45701-3.c: New test.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47271
- * gcc.dg/tree-ssa/ifc-pr47271.c: New.
-
-2011-01-25 Nick Clifton <nickc@redhat.com>
-
- * gcc.target/rx/builtins.c: Allow -fipa-cp-clone.
- (saturate_add): Delete.
- (exchange): Delete.
- (main): Do not run saturate_add.
- (set_interrupts): Delete.
-
-2011-01-25 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47448
- * gfortran.dg/redefined_intrinsic_assignment_2.f90: New.
-
-2011-01-25 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47427
- PR tree-optimization/47428
- * gcc.c-torture/compile/pr47427.c: New test.
- * gcc.c-torture/compile/pr47428.c: New test.
-
-2011-01-25 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47411
- * gcc.dg/torture/pr47411.c: New testcase.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * gfortran.dg/graphite/id-24.f: New.
- * gfortran.dg/graphite/id-25.f: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * gfortran.dg/graphite/id-23.f: New.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * gfortran.dg/graphite/interchange-3.f90: Un-XFAILed.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * gcc.dg/graphite/block-0.c: Un-XFAILed.
- * gcc.dg/graphite/block-1.c: Un-XFAILed.
- * gcc.dg/graphite/block-7.c: Un-XFAILed.
- * gcc.dg/graphite/block-8.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-12.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-14.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-15.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-8.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-mvt.c: Un-XFAILed.
-
-2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
-
- * gcc.dg/graphite/block-0.c: Add documentation.
- * gcc.dg/graphite/block-4.c: Same.
- * gcc.dg/graphite/block-7.c: Same.
- * gcc.dg/graphite/block-8.c: New.
- * gcc.dg/graphite/interchange-1.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-11.c: Un-XFAILed.
- * gcc.dg/graphite/interchange-12.c: Add documentation.
- * gcc.dg/graphite/interchange-13.c: New.
- * gcc.dg/graphite/interchange-14.c: New.
- * gcc.dg/graphite/interchange-15.c: New.
- * gcc.dg/graphite/interchange-8.c: Add documentation.
- * gcc.dg/graphite/interchange-mvt.c: Same.
-
-2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47408
- * gcc.target/powerpc/altivec-11.c: Add explicit -mno-vsx.
- * gcc.target/powerpc/altivec-14.c: Ditto.
- * gcc.target/powerpc/altivec-33.c: Ditto.
- * gcc.target/powerpc/altivec-types-1.c: Ditto.
- * gcc.target/powerpc/altivec-types-2.c: Ditto.
- * gcc.target/powerpc/altivec-types-3.c: Ditto.
- * gcc.target/powerpc/altivec-types-4.c: Ditto.
- * gcc.target/powerpc/ppc-vector-memcpy.c: Ditto.
- * gcc.target/powerpc/ppc-vector-memset.c: Ditto.
- * g++.dg/ext/altivec-15.C: Ditto.
- * g++.dg/ext/altivec-types-1.C: Ditto.
- * g++.dg/ext/altivec-types-2.C: Ditto.
- * g++.dg/ext/altivec-types-3.C: Ditto.
- * g++.dg/ext/altivec-types-4.C: Ditto.
-
-2011-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * lib/scanasm.exp (dg-function-on-line): Handle mips-sgi-irix*.
-
-2011-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortran.dg/cray_pointers_2.f90: Avoid cycling through
- optimization options.
-
-2011-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortran.dg/array_constructor_33.f90: Use dg-timeout-factor 4.
-
- PR testsuite/45988
- * gfortran.dg/vect/fast-math-pr38968.f90: Use dg-timeout-factor 2.
-
-2011-01-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47421
- * gfortran.dg/allocatable_scalar_12.f90: New.
-
-2011-01-23 Ira Rosen <irar@il.ibm.com>
-
- * gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: Expect
- vectorization to be not profitable if peeling is used to
- realign the memory access.
- * gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c: Increase
- loop bound to avoid loop unrolling.
- * gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c: Likewise.
-
-2011-01-22 Jan Hubicka <jh@suse.cz>
-
- PR lto/47333
- * g++.dg/lto/pr47333.C: New file.
-
-2011-01-22 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/43884
- PR lto/44334
- * gcc.dg/autopar/outer-2.c: Increase array size.
- * gcc.dg/tree-ssa/ldist-pr45948.c: Update test.
-
-2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/38536
- * gfortran.dg/c_loc_tests_16.f90: New test.
-
-2011-01-22 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47399
- * gfortran.dg/typebound_proc_19.f90: New.
-
-2011-01-21 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47053
- * g++.dg/pr47053.C: New test.
-
-2011-01-21 Jason Merrill <jason@redhat.com>
-
- PR c++/47041
- * g++.dg/cpp0x/constexpr-ctor6.C: New.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47388
- * g++.dg/cpp0x/range-for10.C: New test.
- * g++.dg/template/for1.C: New test.
-
- PR middle-end/45566
- * g++.dg/tree-prof/partition3.C: New test.
-
- * g++.dg/tree-prof/tree-prof.exp: Fix a comment.
-
- PR rtl-optimization/47366
- * g++.dg/opt/pr47366.C: New test.
-
-2011-01-21 Jason Merrill <jason@redhat.com>
-
- PR c++/46552
- * g++.dg/cpp0x/constexpr-regress2.C: New.
-
- * g++.dg/cpp0x/constexpr-stmtexpr.C: New.
-
-2011-01-21 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/41619
- * gcc.dg/pr41619.c: New.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47355
- * g++.dg/opt/pr47355.C: New test.
-
-2011-01-21 Richard Guenther <rguenther@suse.de>
-
- * gcc.dg/tree-ssa/pr47392.c: Make test non-static instead of
- making main hot.
-
-2011-01-21 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47365
- * gcc.dg/torture/pr47365.c: New testcase.
- * gcc.dg/tree-ssa/pr47392.c: Likewise.
-
-2011-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/other/anon5.C: Skip on mips-sgi-irix*.
-
-2011-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47391
- * gcc.dg/pr47391.c: New test.
-
-2011-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/template/char1.C: Use signed char.
-
-2011-01-21 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47377
- * gfortran.dg/pointer_target_4.f90: New.
-
-2011-01-20 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47251
- * gcc.target/powerpc/pr47251.c: Fixup test so that it runs on
- ILP32 system and not IP32.
-
-2011-01-20 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/46583
- * g++.dg/debug/pr46583.C: New.
-
-2011-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/47283
- * g++.dg/debug/pr47283.C: New test.
-
- PR testsuite/47371
- * gcc.target/i386/headmerge-1.c: Tighten up scan-assembler regex.
- * gcc.target/i386/headmerge-2.c: Likewise.
-
-2011-01-20 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47370
- * gcc.dg/torture/pr47370.c: New testcase.
-
-2011-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/46130
- * gcc.dg/pr46130-1.c: New test.
- * gcc.dg/pr46130-2.c: New test.
-
-2011-01-19 Dodji Seketeli <dodji@redhat.com>
-
- PR c++/47291
- * g++.dg/debug/dwarf2/template-params-10.C: New test.
-
-2011-01-19 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/46240
- * g++.dg/debug/pr46240.cc: New.
-
-2011-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47303
- * g++.dg/template/anonunion1.C: New test.
-
- PR rtl-optimization/47337
- * gcc.c-torture/execute/pr47337.c: New test.
-
-2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR testsuite/45342
- * gcc.dg/tls/thr-cse-1.c: Fix match on spu-*.*.
-
-2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- PR tree-optimization/46021
- * gcc.dg/tree-ssa/20040204-1.c: Do not XFAIL on spu-*-*.
-
-2011-01-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47290
- * g++.dg/torture/pr47290.C: New test.
-
-2011-01-18 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47240
- * gfortran.dg/proc_ptr_comp_29.f90: New.
-
-2011-01-18 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR testsuite/41146
- * gcc.target/powerpc/asm-es-2.c: Adjust regular expression for
- powerpc-apple-darwin9.
-
-2011-01-18 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/47299
- * gcc.c-torture/execute/pr47299.c: New test.
-
-2011-01-17 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-virtual.C: New.
-
-2011-01-17 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/47331
- * gfortran.dg/gomp/pr47331.f90: New test.
-
-2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47314
- * objc.dg/selector-warn-1.m: New.
- * obj-c++.dg/selector-warn-1.mm: New.
-
-2011-01-17 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/tree-ssa/vrp51.c: Prefix each "bug." string with "vrp.".
- Update dg-final accordingly.
-
-2011-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.old-deja/g++.other/init19.C: Don't XFAIL on mips-sgi-irix*.
-
-2011-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/guality/pr36728-1.c: Replace XFAIL for s390(x) with a
- target check.
- * gcc.dg/guality/pr36728-2.c: Likewise.
-
-2011-01-17 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47313
- * g++.dg/torture/pr47313.C: New testcase.
-
-2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/47318
- * gcc.target/i386/avx-vmaskmovpd-1.c: New.
- * gcc.target/i386/avx-vmaskmovpd-2.c: Likewise.
- * gcc.target/i386/avx-vmaskmovps-1.c: Likewise.
- * gcc.target/i386/avx-vmaskmovps-1.c: Likewise.
-
- * gcc.target/i386/avx-vmaskmovpd-256-1.c (avx_test): Load mask
- as __m256i.
- * gcc.target/i386/avx-vmaskmovpd-256-2.c (avx_test): Likewise.
- * gcc.target/i386/avx-vmaskmovps-256-1.c (avx_test): Likewise.
- * gcc.target/i386/avx-vmaskmovps-256-2.c (avx_test): Likewise.
-
-2011-01-17 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/45967
- * gcc.dg/torture/pr45967-2.c: New testcase.
- * gcc.dg/torture/pr45967-3.c: Likewise.
-
-2011-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR testsuite/47325
- * g++.dg/ext/pr47213.C: Require visibility.
-
-2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.dg/fixed-point/composite-type.c: Pass -Wno-unused.
- * gcc.dg/fixed-point/struct-union.c: Update error messages.
-
-2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
-
- * gcc.c-torture/execute/20101011-1.c: Skip test for MIPS16
- Linux-based targets.
-
-2011-01-13 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/47276
- * gcc.dg/pr47276.c: New testcase.
-
-2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
- Jonathan Wakely <jwakely.gcc@gmail.com>
-
- PR c++/33558
- * g++.dg/other/pr33558.C: New.
- * g++.dg/other/pr33558-2.C: New.
-
-2011-01-14 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/45934
- PR tree-optimization/46302
- * g++.dg/ipa/devirt-c-1.C: New test.
- * g++.dg/ipa/devirt-c-2.C: Likewise.
- * g++.dg/ipa/devirt-c-3.C: Likewise.
- * g++.dg/ipa/devirt-c-4.C: Likewise.
- * g++.dg/ipa/devirt-c-5.C: Likewise.
- * g++.dg/ipa/devirt-c-6.C: Likewise.
- * g++.dg/ipa/devirt-6.C: Likewise.
- * g++.dg/ipa/devirt-d-1.C: Likewise.
- * g++.dg/torture/pr45934.C: Likewise.
-
-2011-01-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/variadic105.C: New.
-
-2011-01-08 Dominique d'Humieres <dominiq@lps.ens.fr>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR objc/45989
- * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c
- (switchfiles): XFAIL objc.dg-struct-layout-encoding-1/t02[57-9]_main.m
- execution tests on i?86-*-*, x86_64-*-* and
- powerpc*-apple-darwin* && ilp32.
- XFAIL objc.dg-struct-layout-encoding-1/t03[01]_main.m execution
- tests on i?86-*-* and x86_64-*-*.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47280
- * g++.dg/opt/pr47280.C: New testcase.
-
-2011-01-14 Jason Merrill <jason@redhat.com>
-
- * g++.dg/cpp0x/constexpr-regress1.C: New.
-
- * g++.dg/ext/flexary2.C: New.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/47281
- * gcc.dg/torture/pr47281.c: New testcase.
- * gcc.dg/tree-ssa/pr46076.c: XFAIL.
-
-2011-01-14 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/47286
- * gcc.dg/tree-ssa/pr47286.c: New testcase.
-
-2011-01-13 Kai Tietz <kai.tietz@onevision.com>
-
- PR c++/47213
- * g++.dg/ext/pr47213.C: New.
-
-2011-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * gfortran.dg/cray_pointers_2.f90: Use dg-timeout-factor 4.
-
-2011-01-13 Tobias Burnus <burnus@net-b.de>
- Mikael Morin <mikael@gcc.gnu.org>
-
- PR fortran/45848
- PR fortran/47204
- * gfortran.dg/select_type_20.f90: New.
- * gfortran.dg/select_type_21.f90: New.
-
-2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/47251
- * gcc.target/powerpc/pr47251.c: New file, test PR 47251 fix.
-
-2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * gcc.dg/guality/pr36728-1.c: Disable arg1/2 checks for s390 and s390x.
- * gcc.dg/guality/pr36728-2.c: Likewise.
-
-2011-01-13 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/PR46973
- * g++.dg/debug/dwarf2/template-params-9.C: New test.
-
-2011-01-13 Andrey Belevantsev <abel@ispras.ru>
-
- PR rtl-optimization/45352
- * gcc.dg/pr45352-3.c: New.
-
-2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
-
- * g++.dg/cpp0x/range-for4.C: Delete useless include and duplicated
- comment.
- * g++.dg/cpp0x/range-for8.C: New.
- * g++.dg/cpp0x/range-for9.C: New.
-
-2011-01-12 Kai Tietz <kai.tietz@onevision.com>
-
- PR debug/47209
- * g++.dg/debug/pr47209.C: New.
-
-2011-01-12 Richard Guenther <rguenther@suse.de>
-
- PR lto/47259
- * gcc.dg/lto/pr47259_0.c: New testcase.
- * gcc.dg/lto/pr47259_1.c: Likewise.
-
-2011-01-12 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc-obj-c++-shared/Object1.h: Add copyright header, update
- comments. Add a TEST_SUITE_ADDITIONS category for GNU runtime.
- Amend NeXT version to declare a TEST_SUITE_ADDITIONS carrying the
- methods missing from the OBJC2 Object.
- * objc-obj-c++-shared/Object1-implementation.h: Add copyright header.
- Amend implementation to use a TEST_SUITE_ADDITIONS category for both
- GNU and NeXT runtimes.
- * objc-obj-c++-shared/Object1.mm: Remove redundant header, update
- comments.
- * objc-obj-c++-shared/Object1.m: Likewise.
- * objc.dg/encode-3.m: Update header use. Amend to be API2 compatible.
- * objc.dg/proto-qual-1.m: Likewise.
- * obj-c++.dg/proto-lossage-3.mm: Likewise.
- * obj-c++.dg/proto-qual-1.mm: Likewise.
-
-2011-01-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR testsuite/33033
- * gcc.dg/20061124-1.c: Pass -mcpu=v9 on the SPARC.
-
-2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- Fixed the Objective-C++ testsuite and updated all tests.
- * lib/obj-c++.exp (obj-c++_init): Declare and set
- gcc_warning_prefix and gcc_error_prefix.
- * obj-c++.dg/attributes/categ-attribute-2.mm: Fixed usage of
- 'dg-warning', 'dg-message' and 'dg-error'.
- * obj-c++.dg/class-extension-3.mm: Likewise.
- * obj-c++.dg/class-protocol-1.mm: Likewise.
- * obj-c++.dg/encode-7.mm: Likewise.
- * obj-c++.dg/exceptions-3.mm: Likewise.
- * obj-c++.dg/exceptions-5.mm: Likewise.
- * obj-c++.dg/method-12.mm: Likewise.
- * obj-c++.dg/method-13.mm: Likewise.
- * obj-c++.dg/method-15.mm: Likewise.
- * obj-c++.dg/method-16.mm: Likewise.
- * obj-c++.dg/method-4.mm: Likewise.
- * obj-c++.dg/method-8.mm: Likewise.
- * obj-c++.dg/method-conflict-1.mm: Likewise.
- * obj-c++.dg/method-conflict-2.mm: Likewise.
- * obj-c++.dg/method-conflict-3.mm: Likewise. Also, removed FIXME
- and uncommented second part of the testcase now that the testsuite
- works correctly.
- * obj-c++.dg/method-conflict-4.mm: Likewise. Also, removed FIXME
- and uncommented second part of the testcase now that the testsuite
- works correctly.
- * obj-c++.dg/private-1.mm: Likewise.
- * obj-c++.dg/proto-lossage-4.mm: Likewise.
- * obj-c++.dg/syntax-error-7.mm: Likewise.
- * obj-c++.dg/warn5.mm: Likewise.
- * obj-c++.dg/property/at-property-14.mm: Likewise.
- * obj-c++.dg/property/at-property-16.mm: Likewise, and removed
- FIXME.
- * obj-c++.dg/property/at-property-18.mm: Likewise.
- * obj-c++.dg/property/at-property-20.mm: Likewise, and removed
- FIXME.
- * obj-c++.dg/property/at-property-21.mm: Likewise.
- * obj-c++.dg/property/at-property-28.mm: Likewise.
- * obj-c++.dg/property/at-property-5.mm: Likewise.
- * obj-c++.dg/property/dynamic-2.mm: Likewise.
- * obj-c++.dg/property/property-neg-3.mm: Likewise.
- * obj-c++.dg/property/synthesize-11.mm: Likewise.
- * obj-c++.dg/property/synthesize-6.mm: Likewise.
- * obj-c++.dg/property/synthesize-8.mm: Likewise.
- * obj-c++.dg/property/synthesize-9.mm: Likewise.
- * obj-c++.dg/tls/diag-5.mm: Likewise.
- * obj-c++.dg/ivar-invalid-type-1.mm: Removed FIXME and uncommented
- dg-error, now matched correctly.
-
-2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/property/at-property-29.m: New.
- * obj-c++.dg/property/at-property-29.mm: New.
-
-2011-01-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * go.test/go-test.exp (go-set-goarch): New proc.
- (go-gc-tests): Use it.
-
-2011-01-11 Dodji Seketeli <dodji@redhat.com>
-
- PR debug/46955
- * g++.dg/debug/dwarf2/template-params-8.C: New test.
-
-2011-01-11 Richard Henderson <rth@redhat.com>
-
- * gcc-dg/tree-ssa/vrp47.c: Disable for mn10300 as well.
-
-2011-01-11 Jan Hubicka <jh@suse.cz>
-
- PR lto/45721
- PR lto/45375
- * gcc.dg/lto/pr45721_1.c: New file.
- * gcc.dg/lto/pr45721_0.c: New file.
-
-2011-01-11 Richard Guenther <rguenther@suse.de>
-
- PR tree-optimization/46076
- * gcc.dg/tree-ssa/pr46076.c: New testcase.
-
-2011-01-11 Jeff Law <law@redhat.com>
-
- * PR tree-optimization/47086
- * gcc.dg/pr47086.c: New test.
-
-2011-01-11 Jason Merrill <jason@redhat.com>
-
- PR c++/46658
- * g++.dg/template/new10.C: New.
-
- PR c++/45520
- * g++.dg/cpp0x/lambda/lambda-this3.C: New.
-
-2011-01-11 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc-obj-c++-shared/next-mapping.h: Add copyright header.
- Split type definitions and NSConstantString class into...
- * objc-obj-c++-shared/objc-test-suite-types.h: New.
- * objc-obj-c++-shared/nsconstantstring-class.h: New.
- * objc-obj-c++-shared/nsconstantstring-class-impl.h: New.
- * objc-obj-c++-shared/nsconstantstring-class-impl.m: New.
- * objc-obj-c++-shared/nsconstantstring-class-impl.mm: New.
- * objc-obj-c++-shared/next-abi.h: Add copyright header, minor update
- to comments.
- * objc-obj-c++-shared/objc-test-suite-next-encode-assist.h: Adjust
- encode defines for newer NeXT system headers.
- * obj-c++.dg/template-4.mm: Adjust to use nsconstantstring headers.
- * obj-c++.dg/torture/strings/string1.mm: Likewise.
- * objc.dg/foreach-5.m: Likewise.
- * objc.dg/foreach-2.m: Likewise.
- * objc.dg/foreach-4.m: Likewise.
- * objc.dg/torture/strings/string1.m: Likewise.
- * objc.dg/torture/strings/string2.m: Likewise.
- * objc.dg/torture/strings/string3.m: Likewise.
- * objc.dg/torture/strings/string4.m: Likewise.
- * obj-c++.dg/torture/strings/const-str-3.mm: Adjust to use type
- header and stand alone.
- * obj-c++.dg/strings/strings-2.mm: Likewise.
- * objc.dg/torture/strings/const-str-3.m: Likewise.
- * objc.dg/strings/strings-2.m: Likewise.
- * objc.dg/strings/const-str-12b.m: Likewise.
-
-2011-01-12 Richard Guenther <rguenther@suse.de>
-
- PR middle-end/32511
- * gcc.dg/attr-weak-1.c: Adjust.
-
-2011-01-11 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/47051
- * gfortran.dg/realloc_on_assign_2.f03 : Modify 'test1' to be
- standard compliant and comment.
-
-2011-01-10 Jan Hubicka <jh@suse.cz>
-
- PR lto/46083
- * gcc.dg/initpri3.c: New testcase.
-
-2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR lto/47222
- * g++.dg/torture/stackalign/test-unwind.h (g_edi): Mark it
- externally visible.
- (g_esi): Likewise.
- (g_ebx): Likewise.
- (g_ebp): Likewise.
- (g_esp): Likewise.
- (g_ebp_save): Likewise.
- (g_esp_save): Likewise.
-
-2011-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * g++.dg/ipa/pr46984.C: Add dg-require-effective-target lto.
-
-2011-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR tree-optimization/46021
- * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on alpha*-*-*,
- i?86-*-*, x86_64-*-*.
-
-2011-01-10 Jeff Law <law@redhat.com>
-
- * PR tree-optimization/47141
- * gcc.c-torture/compile/pr47141.c: New test.
-
-2011-01-10 Eric Botcazou <ebotcazou@adacore.com>
-
- PR testsuite/46230
- * gcc.dg/vect/vect-vfa-slp.c: Remove XFAIL.
- * gcc.dg/vect/slp-23.c: Remove XFAIL for SLP.
- * gcc.dg/vect/slp-35.c: Remove XFAILs.
- * gcc.dg/vect/no-tree-pre-slp-29.c: Likewise.
-
- PR testsuite/46230
- * gcc.dg/vect/vect-peel-1.c (main): Prevent initialization loop from
- being vectorized. Adjust dg-final pattern. Remove XFAIL.
- * gcc.dg/vect/vect-peel-2.c (main): Likewise.
- * gcc.dg/vect/vect-peel-4.c (main): Prevent initialization loop from
- being vectorized. Adjust dg-final pattern.
-
- PR testsuite/46230
- * gcc.dg/vect/pr33804.c: XFAIL only for ilp32.
- * gcc.dg/vect/slp-24.c: Likewise.
-
-2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
-
- PR c++/47218
- * g++.dg/other/pr47218-1.C: New test file.
- * g++.dg/other/pr47218.C: Likewise.
- * g++.dg/other/pr47218.h: New supporting header.
-
-2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47232
- * objc.dg/attributes/invalid-attribute-1.m: New.
- * obj-c++.dg/attributes/invalid-attribute-1.mm: New.
-
-2011-01-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47224
- * gfortran.dg/proc_ptr_comp_28.f90: New.
-
-2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
-
- * obj-c++.dg/gnu-api-2-class.mm: Skip for Darwin < 9.
- * obj-c++.dg/gnu-api-2-ivar.mm: Likewise.
- * obj-c++.dg/gnu-api-2-method.mm: Likewise.
- * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
- * obj-c++.dg/gnu-api-2-object.mm: Likewise.
- * obj-c++.dg/gnu-api-2-property.mm: Likewise.
- * obj-c++.dg/gnu-api-2-protocol.mm: Likewise.
- * obj-c++.dg/gnu-api-2-sel.mm: Likewise.
- * objc.dg/gnu-api-2-class.m: Likewise.
- * objc.dg/gnu-api-2-ivar.m: Likewise.
- * objc.dg/gnu-api-2-method.m: Likewise.
- * objc.dg/gnu-api-2-objc.m: Likewise.
- * objc.dg/gnu-api-2-object.m: Likewise.
- * objc.dg/gnu-api-2-property.m: Likewise.
- * objc.dg/gnu-api-2-protocol.m: Likewise.
- * objc.dg/gnu-api-2-sel.m: Likewise.
-
-2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc.dg/foreach-1.m: Skip for Darwin < 9.
- * objc.dg/objc-foreach-4.m: Likewise.
- * objc.dg/objc-foreach-5.m: Skip for Darwin < 9, adjust headers.
- * objc.dg/foreach-2.m: Skip for Darwin < 9, return self from init.
- * objc.dg/foreach-4.m: Likewise.
- * objc.dg/foreach-5.m: Likewise.
- * objc.dg/foreach-3.m: Return self from init.
-
-2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/38536
- * gfortran.dg/iso_c_binding_c_loc_char_1.f03: New test.
-
-2011-01-09 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/46313
- * gfortran.dg/class_35.f90: New.
-
-2011-01-08 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc.dg/foreach-1.m: Add "-Wall" to flags.
-
-2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
-
- PR objc/47078
- * objc.dg/invalid-method-2.m: New.
- * obj-c++.dg/invalid-method-2.mm: New.
-
-2011-01-08 Paul Thomas <pault@gcc.gnu.org>
-
- PR fortran/46896
- * gfortran.dg/transpose_optimization_2.f90 : New test.
-
-2011-01-08 Jan Hubicka <jh@suse.cz>
-
- PR tree-optmization/46469
- * g++.dg/torture/pr46469.C: New testcase.
-
-2011-01-08 Iain Sandoe <iains@gcc.gnu.org>
-
- * objc-obj-c++-shared/next-mapping.h: Move code and definitions for
- emulation of libobjc-gnu structure layout functionality to ..
- * objc-obj-c++-shared/objc-test-suite-next-encode-assist.h: New.
- * objc-obj-c++-shared/objc-test-suite-next-encode-assist-impl.h: New.
- * objc/execute/bf-common.h: Adjust headers.
- * objc/execute/bf-1.m: Likewise.
- * objc/execute/bf-2.m: Likewise.
- * objc/execute/bf-3.m: Likewise.
- * objc/execute/bf-4.m: Likewise.
- * objc/execute/bf-5.m: Likewise.
- * objc/execute/bf-6.m: Likewise.
- * objc/execute/bf-7.m: Likewise.
- * objc/execute/bf-8.m: Likewise.
- * objc/execute/bf-9.m: Likewise.
- * objc/execute/bf-10.m: Likewise.
- * objc/execute/bf-11.m: Likewise.
- * objc/execute/bf-12.m: Likewise.
- * objc/execute/bf-13.m: Likewise.
- * objc/execute/bf-14.m: Likewise.
- * objc/execute/bf-15.m: Likewise.
- * objc/execute/bf-16.m: Likewise.
- * objc/execute/bf-17.m: Likewise.
- * objc/execute/bf-18.m: Likewise.
- * objc/execute/bf-19.m: Likewise.
- * objc/execute/bf-20.m: Likewise.
- * objc/execute/bf-21.m: Likewise.
- * objc/execute/bycopy-3.m: Adjust headers, add next-specific code for
- objc_get_type_qualifiers ().
-
-2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/45777
- * gfortran.dg/dependency_39.f90: New test.
-
-2011-01-07 Jan Hubicka <jh@suse.cz>
-
- Get builtins tests ready for linker plugin.
- * gcc.c-torture/execute/builtins/memcpy-chk.c (s2,s3,l1): Mark volatile.
- * gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memcpy, my_bcopy,
- my_memset, my_bzero): Mark used.
- * gcc.c-torture/execute/builtins/memset-chk.c (l1, l3): Mark volatile.
- * gcc.c-torture/execute/builtins/memmove-chk.c (s1,s2,s3,l1): Mark
- volatile.
- * gcc.c-torture/execute/builtins/mempcpy-chk.c (s2,s3,l1): Mark
- volatile.
-
-2011-01-07 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/46367
- * g++.dg/torture/pr46367.C: New file.
-
-2011-01-07 Jakub Jelinek <jakub@redhat.com>
-
- PR target/47201
- * gcc.dg/pr47201.c: New test.
-
- PR bootstrap/47187
- * gcc.dg/tree-prof/pr47187.c: New test.
-
-2011-01-07 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/41580
- * gfortran.dg/extends_type_of_3.f90: New.
-
-2011-01-07 Kai Tietz <kai.tietz@onevision.com>
-
- * g++.dg/ext/dllexport-MI1.C: Adjust test.
- * g++.dg/ext/dllimport-MI1.C: Likewise.
- * g++.dg/ext/dllimport1.C: Add test for x86_64-*-mingw*.
- * g++.dg/ext/dllimport10.C: Likewise.
- * g++.dg/ext/dllimport11.C: Likewise.
- * g++.dg/ext/dllimport12.C: Likewise.
- * g++.dg/ext/dllimport13.C: Likewise.
- * g++.dg/ext/dllimport2.C: Likewise.
- * g++.dg/ext/dllimport3.C: Likewise.
- * g++.dg/ext/dllimport4.C: Likewise.
- * g++.dg/ext/dllimport5.C: Likewise.
- * g++.dg/ext/dllimport6.C: Likewise.
- * g++.dg/ext/dllimport8.C: Likewise.
- * g++.dg/ext/dllimport9.C: Likewise.
- * g++.dg/ext/selectany2.C: Enable test for x86_64-*-mingw*
- targets, too. Additionally enable test for i?86-*-mingw*.
- * g++.dg/ext/selectany1.C: Likewise.
- Remove guard variable check.
-
-2011-01-07 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47189
- PR fortran/47194
- * gfortran.dg/storage_size_3.f08: Extended.
-
-2011-01-07 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/47022
- * g++.dg/template/stdarg1.C: New test.
-
-2011-01-06 Daniel Franke <franke.daniel@gmail.com>
-
- PR fortran/47195
- * gfortran.dg/interface_33.f90: Fixed dg-error declarations.
- * gfortran.dg/defined_operators_1.f90: Split the subroutine
- from the interface of functions to not hide the errors that
- shall be tested.
-
-2011-01-06 Jan Hubicka <jh@suse.cz>
-
- * gcc.dg/lto/pr47188_0.c: New testcase.
- * gcc.dg/lto/pr47188_1.c: New testcase.
-
-2011-01-06 Daniel Franke <franke.daniel@gmail.com>
-
- PR fortran/33117
- PR fortran/46478
- * gfortran.dg/interface_33.f90: New test.
-
-2011-01-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c/47150
- * gcc.c-torture/compile/pr47150.c: New test.
-
-2011-01-06 Ira Rosen <irar@il.ibm.com>
-
- PR tree-optimization/47139
- * gcc.dg/vect/pr47139.c: New test.
-
-2011-01-05 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47180
- * gfortran.dg/extends_type_of_2.f03: New.
-
-2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc.dg/stack-usage-1.c (SIZE): Provide proper value for __SPU__.
-
-2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/opt14.adb: New test.
-
-2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/46017
- * gfortran.dg/allocate_error_2.f90: New test.
-
-2011-01-05 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/47024
- * gfortran.dg/storage_size_3.f08: New.
-
-2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47154
- * gfortran.dg/namelist_68.f90: New test.
-
-2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * gnat.dg/unchecked_convert8.ad[sb]: New test.
-
-2011-01-04 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/46448
- * gfortran.dg/class_34.f90: New.
-
-2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc.dg/torture/builtin-cproj-1.c: On the __SPU__ target, do not
- use __builtin_inff. Skip all single-precision tests that require
- Infinity.
-
-2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * g++.dg/torture/pr46111.C: Add dg-require-effective-target pthread.
-
-2011-01-03 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47148
- * gcc.c-torture/execute/pr47148.c: New test.
-
- PR tree-optimization/47155
- * gcc.c-torture/execute/pr47155.c: New test.
-
- PR rtl-optimization/47157
- * gcc.c-torture/compile/pr47157.c: New test.
-
-2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * gcc.dg/torture/vector-shift2.c (schar): Define.
- (main): Always use schar or uchar instead of plain "char" to avoid
- dependencies on implementation-defined char signedness.
-
-2011-01-03 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/46801
- * gnat.dg/pack9.adb: Remove xfail.
-
-2011-01-03 Martin Jambor <mjambor@suse.cz>
-
- PR tree-optimization/46984
- * g++.dg/ipa/pr46984.C: New test.
-
-2011-01-02 Janus Weil <janus@gcc.gnu.org>
-
- PR fortran/46408
- * gfortran.dg/class_19.f03: Adjust counting of __builtin_free.
-
-2011-01-02 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/47140
- * gcc.c-torture/compile/pr47140.c: New test.
-
- PR rtl-optimization/47028
- * gcc.dg/pr47028.c: New test.
-
-2011-01-02 Nicola Pero <nicola.pero@meta-innovation.com>
-
- * objc.dg/protocol-forward-1.m: Removed TODO.
- * objc.dg/protocol-forward-2.m: New.
- * obj-c++.dg/protocol-forward-2.mm: Removed TODO.
- * obj-c++.dg/protocol-forward-2.mm: New.
-
-2011-01-01 Kai Tietz <kai.tietz@onevision.com>
-
- PR target/38662
- * g++.dg/eh/pr38662.C: New testcase.
-
-2011-01-01 Chung-Lin Tang <cltang@codesourcery.com>
-
- * gcc.target/arm/vfp-1.c (test_ldst): Fixed fsts test to
- scan for newline '\n'.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/gcc/testsuite/ChangeLog-2011 b/gcc/testsuite/ChangeLog-2011
new file mode 100644
index 0000000..b1b7e37
--- /dev/null
+++ b/gcc/testsuite/ChangeLog-2011
@@ -0,0 +1,15870 @@
+2011-12-31 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51397
+ * g++.dg/cpp0x/static_assert6.C: New.
+
+2011-12-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/vrp47: Pass -march=i586 for ia32 target.
+
+2011-12-31 Thomas König <tkoenig@gcc.gnu.org>
+
+ PR fortran/51502
+ * lib/gcc-dg.exp (scan-module-absence): New function.
+ * gfortran.dg/implicit_pure_2.f90: New test.
+
+2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51316
+ * g++.dg/cpp0x/alignof4.C: New.
+
+2011-12-29 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR testsuite/51702
+ * gcc.dg/scal-to-vec1.c: If 32-bit powerpc-linux, add the
+ -mabi=altivec option, which suppresses a warning message about
+ passing vectors by reference. The extra warning causes some tests
+ to fail.
+ * gcc.dg/scal-to-vec2.c: Likewise.
+ * gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: Likewise.
+ * gcc.dg/pr35442.c: Likewise.
+ * gcc.dg/vector-compare-1.c: Likewise.
+ * gcc.dg/vector-compare-2.c: Likewise.
+ * gcc.dg/torture/pr36891.c: Likewise.
+
+2012-12-29 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/abi/bitfield3.C: Make sure test runs
+ for windows targets without activated ms-bitfields option.
+
+ * g++.old-deja/g++.brendan/new3.C: Adjust test for mingw
+ targets to use static-version.
+ * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
+ * g++.old-deja/g++.abi/arraynew.C: Likewise.
+ * g++.old-deja/g++.eh/new1.C: Likewise.
+ * g++.old-deja/g++.eh/new2.C: Likewise.
+
+2011-12-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/function_optimize_9.f90: New test.
+
+2011-12-27 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/23211
+ * g++.dg/template/using18.C: New.
+ * g++.dg/template/using19.C: New.
+ * g++.dg/template/nested3.C: Remove dg-message at instantiation.
+ * g++.dg/template/crash13.C: Likewise.
+
+2011-12-28 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/51623
+ * gcc.target/powerpc/pr51623.c: New file.
+
+2011-12-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/torture/pr50396.c: Use dg-add-options ieee.
+
+2011-12-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51547
+ * g++.dg/cpp0x/pr51547.C: New.
+
+2011-12-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/20111227-1.c: New test.
+
+2011-12-25 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/48641
+ * gcc.dg/compile/pr48641.c: New file.
+
+2011-12-26 Joey Ye <joey.ye@arm.com>
+
+ PR middle-end/51200
+ * gcc.dg/volatile-bitfields-2.c: New test.
+
+2011-12-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/51507
+ * g++.dg/cpp0x/variadic121.C: New.
+
+2011-12-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.
+
+2011-12-23 Dmitry Plotnikov <dplotnikov@ispras.ru>
+
+ * gcc.target/arm/vect-vcvt.c: New test.
+ * gcc.target/arm/vect-vcvtq.c: New test.
+
+ * gcc.dg/vect/fast-math-pr35982.c: Added vect_strided2 alternative
+ in final check.
+
+ * lib/target-supports.exp (check_effective_target_vect_intfloat_cvt):
+ True for ARM NEON.
+ (check_effective_target_vect_uintfloat_cvt): Likewise.
+ (check_effective_target_vect_floatuint_cvt): Likewise.
+ (check_effective_target_vect_floatint_cvt): Likewise.
+
+2011-12-23 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/50396
+ * gcc.dg/torture/pr50396.c: New testcase.
+
+2011-12-22 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/43491
+ * gcc.dg/tree-ssa/pr43491.c: New test.
+
+2011-12-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR testsuite/50722
+ * gcc.dg/pr49994-3.c: Skip on ia64-*-*-*, hppa*-*-* and *-*-hpux*.
+
+2011-12-22 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51650
+ * g++.dg/lto/pr51650-1_0.C: New testcase.
+ * g++.dg/lto/pr51650-2_0.C: Likewise.
+
+2011-12-21 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/51643
+ * gcc.target/arm/sibcall-2.c: New test.
+
+2011-12-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/51645
+ * g++.dg/cpp0x/alias-decl-debug-0.C: Add dg-skip-if.
+
+2011-12-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/pr50038.c: Move to ...
+ * gcc.target/i386/pr50038.c: ... here. Test on all targets.
+
+2011-12-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/51611
+ * g++.dg/cpp0x/nsdmi-virtual1.C: New.
+
+2011-12-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51305
+ * g++.dg/cpp0x/constexpr-noexcept6.C: New.
+
+2011-12-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51644
+ PR middle-end/51647
+ * gcc.dg/pr51644.c: New test.
+ * g++.dg/warn/Wreturn-4.C: New test.
+
+2011-12-21 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.dg/vect/no-section-anchors-vect-31.c: Adjust array size and test
+ diag-scans to fix fail on AVX.
+ * gcc.dg/vect/no-section-anchors-vect-36.c: Ditto.
+ * gcc.dg/vect/no-section-anchors-vect-64.c: Ditto.
+ * gcc.dg/vect/no-section-anchors-vect-66.c: Ditto.
+ * gcc.dg/vect/no-section-anchors-vect-68.c: Ditto.
+ * gcc.dg/vect/no-section-anchors-vect-69.c: Ditto.
+ * gcc.dg/vect/no-vfa-vect-dv-2.c: Adjust dg-scans.
+ * gcc.dg/vect/pr45752.c: Ditto.
+ * gcc.dg/vect/slp-perm-4.c: Ditto.
+ * gcc.dg/vect/slp-perm-9.c: Ditto.
+ * gcc.dg/vect/vect-33.c: Ditto.
+ * gcc.dg/vect/vect-35.c: Ditto.
+ * gcc.dg/vect/vect-6-big-array.c: Ditto.
+ * gcc.dg/vect/vect-6.c: Ditto.
+ * gcc.dg/vect/vect-91.c: Ditto.
+ * gcc.dg/vect/vect-all-big-array.c: Ditto.
+ * gcc.dg/vect/vect-all.c: Ditto.
+ * gcc.dg/vect/vect-multitypes-1.c: Ditto.
+ * gcc.dg/vect/vect-outer-4c.c: Ditto.
+ * gcc.dg/vect/vect-outer-5.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-1.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-3.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-4.c: Ditto.
+ * gcc.dg/vect/vect-peel-1.c: Ditto.
+ * gcc.dg/vect/vect-peel-2.c: Ditto.
+ * gcc.dg/vect/vect-peel-3.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
+ * gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c: Ditto.
+ * lib/target-supports.exp (check_avx_available): New function.
+ (check_effective_target_vect_sizes_32B_16B): Ditto.
+ (check_prefer_avx128): Ditto.
+ (check_effective_target_vect_aligned_arrays): Add handling of AVX.
+ (check_effective_target_vect_multiple_sizes): Ditto.
+
+2011-12-21 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ PR target/50038
+ * gcc.dg/pr50038.c: New test.
+
+2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51621
+ * g++.dg/cpp0x/constexpr-ice5.C: New.
+
+2011-12-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c11-version-1.c, gcc.dg/c11-version-2.c,
+ gcc.dg/c94-version-1.c, gcc.dg/c99-version-1.c,
+ gcc.dg/gnu11-version-1.c: New tests.
+
+2011-12-20 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR middle-end/51200
+ * gcc.target/arm/volatile-bitfields-4.c: New test.
+ * c-c++-common/abi-bf.c: New test.
+
+2011-12-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/49951
+ * g++.dg/gcov/gcov-2.C: Adjust.
+
+2011-12-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51612
+ * g++.dg/cpp0x/constexpr-ice4.C: New.
+
+2011-12-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51328
+ * g++.dg/template/crash109.C: New.
+
+2011-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51530
+ * g++.dg/cpp0x/nullptr26.C: New.
+
+2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mult-1.c: Require -O2.
+
+2011-12-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/ext-2.c: Add NOMIPS16.
+
+2011-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51526
+ * g++.dg/cpp0x/constexpr-delegating.C: New.
+
+2011-12-19 Sandra Loosemore <sandra@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-opt/50380
+ * gcc.c-torture/compile/pr50380.c: New testcase.
+
+2011-12-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51605
+ * gfortran.dg/block_10.f90: New.
+
+2011-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51553
+ * g++.dg/cpp0x/initlist64.C: New.
+
+ PR c++/51228
+ * c-c++-common/transparent-union-1.c: New.
+
+2011-12-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR tree-optimization/51580
+ * gnat.dg/specs/loop_optimization1.ads: New test.
+ * gnat.dg/specs/loop_optimization1_pkg.ad[sb]: New helper.
+
+2011-12-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51573
+ * gcc.dg/lto/20111207-2_0.c: Adjust.
+ * g++.dg/lto/pr51573-1_0.C: New testcase.
+
+2011-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51619
+ * g++.dg/cpp0x/pr51619.C: New test.
+
+2011-12-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51605
+ * gfortran.dg/select_type_25.f90: New.
+
+2011-12-19 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/51583
+ * gcc.dg/tree-ssa/pr51583.c: New test.
+
+2011-12-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51596
+ * g++.dg/opt/pr51596.C: New test.
+
+ PR middle-end/51590
+ PR tree-optimization/51606
+ * gcc.dg/vect/pr51590.c: New test.
+
+2011-12-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51572
+ * g++.dg/lto/pr51572-2_0.C: New testcase.
+
+2011-12-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51477
+ * g++.dg/cpp0x/nsdmi6.C: New test.
+
+2011-12-19 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_poly_3.f90: New.
+ * coarray/poly_run_1.f90: Enable some previously commented code.
+
+2011-12-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/51489
+ * g++.dg/cpp0x/constexpr-ptrsub.C: New.
+
+2011-12-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.dg/pr51491-2.c: Fix "cleanup-treee-dump" typo.
+
+2011-12-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51588
+ * g++.dg/parse/enum7.C: New.
+
+ PR c++/51586
+ * g++.dg/lookup/nested2.C: New.
+
+ PR c++/51587
+ * g++.dg/parse/enum6.C: New.
+
+2011-12-17 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51491
+ * gcc.dg/pr51491.c: New test.
+ * gcc.dg/pr51491-2.c: Same.
+
+2011-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51416
+ * g++.dg/cpp0x/auto31.C: New.
+
+2011-12-16 Ian Lance Taylor <iant@google.com>
+
+ PR middle-end/51592
+ * gcc.dg/20111216-1.c: New test.
+
+2011-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51461
+ * g++.dg/init/static4.C: New.
+
+2011-12-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/51331
+ * g++.dg/init/value10.C: New.
+
+2011-12-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/50803
+ * gcc.dg/ipa/inline-5.c: XFAIL for 32-bit hppa.
+
+ PR tree-optimization/51575
+ * g++.dg/opt/pr51575.C: New test.
+
+ PR debug/51557
+ * gcc.dg/pr51557.c: New test.
+
+2011-12-16 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51572
+ * gcc.dg/lto/pr51572-1_0.c: New testcase.
+
+2011-12-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/51458
+ * g++.dg/ext/desig4.C: New.
+
+2011-12-15 Paul Thomas <pault@gcc.gnu.org>
+
+ * gfortran.dg/class_array_3.f03: Remove explicit indexing of
+ A%disp() to use scalarizer.
+ * gfortran.dg/class_array_9.f03: New.
+
+2011-12-15 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vect/vect-sdivmod-1.c: New test.
+
+ PR c++/51463
+ * g++.dg/cpp0x/pr51463.C: New test.
+
+ PR c/51360
+ * c-c++-common/gomp/pr51360.c: New test.
+ * g++.dg/gomp/pr51360.C: New test.
+
+ PR middle-end/49806
+ * gcc.dg/tree-ssa/vrp47.c: Add -fdump-tree-dom2 to dg-options.
+ Check for x_? & y in dom2 dump and xfail the check in dom1 dump.
+
+ PR tree-optimization/51117
+ * g++.dg/opt/pr51117.C: New test.
+
+2011-12-15 Romain Geissler <romain.geissler@gmail.com>
+
+ * gcc.c-torture/execute/builtins/chk.h (stpncpy, stpncpy_disallowed):
+ New definitions.
+ * gcc.c-torture/execute/builtins/lib/chk.c (stpncpy_disallowed):
+ Likewise.
+ (stpncpy, __stpncpy_chk): New functions.
+ * gcc.c-torture/execute/builtins/stpncpy-chk-lib.c: New file.
+ * gcc.c-torture/execute/builtins/stpncpy-chk.c: Likewise.
+
+2011-12-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51567
+ * g++.dg/lto/pr51567-1_0.C: New testcase.
+
+2011-12-15 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51473
+ * g++.dg/cpp0x/auto30.C: New test.
+
+2011-12-15 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray/poly_run_3.f90: New.
+ * gfortran.dg/coarray/poly_run_2.f90: Enable comment-out test.
+
+2011-12-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51564
+ * g++.dg/lto/pr51564-1_0.C: New testcase.
+
+2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR libstdc++/51365
+ * g++.dg/ext/is_final.C: New.
+
+2012-12-15 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48508
+ * g++.dg/lto/pr48508-1_0.C: New testcase.
+ * g++.dg/lto/pr48508-1_1.C: Likewise.
+
+2011-12-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/51554
+ * g++.dg/init/constant1.C: New.
+
+ PR c++/51248
+ * g++.dg/other/enum2.C: New.
+
+2011-12-14 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51475
+ * g++.dg/cpp0x/initlist63.C: New test.
+
+2011-12-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/50931
+ * gcc.target/avr/torture/int24-mul.c: New.
+
+2011-12-14 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51476
+ * g++.dg/cpp0x/ptrmem-cst-arg1.C: New test.
+
+2011-12-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/51406
+ PR c++/51161
+ * g++.dg/cpp0x/rv-cast3.C: New.
+ * g++.dg/cpp0x/rv-cast4.C: New.
+
+2011-12-13 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51464
+ * g++.dg/cpp0x/lambda/lambda-ice6.C: New.
+
+2011-12-13 Andrew Pinski <apinski@cavium.com>
+ Adam Nemet <anemet@caviumnetworks.com>
+
+ * gcc.target/mips/mips.exp (mips_option_groups): Fix debug. Add
+ -fdump-* options.
+ * gcc.target/mips/octeon2-pipe-1.c: New testcase.
+ * gcc.target/mips/octeon-pipe-1.c: New testcase.
+
+2011-12-11 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/14258
+ * g++.dg/template/using16.C: New.
+ * g++.dg/template/using17.C: New.
+
+2011-12-13 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/51362
+ * gcc.dg/ipa/pr51362.c: New test.
+
+2011-12-13 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/51524
+ * gcc.target/i386/bmi2-mulx32-1.c (gen_mulx): Add attribute regparm(2).
+ * gcc.target/i386/bmi2-mulx32-2.c (calc_mulx_u32): Ditto.
+
+2011-12-13 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48354
+ * g++.dg/lto/pr48354-1_0.C: New testcase.
+
+2011-12-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51519
+ * gcc.dg/pr51519.c: New testcase.
+
+2011-12-13 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/lto/20111213-1_0.c: New testcase.
+
+2011-12-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect1.ad[sb]: Add more tests.
+ * gnat.dg/vect2.ad[sb]: Likewise.
+ * gnat.dg/vect3.ad[sb]: Likewise.
+ * gnat.dg/vect4.ad[sb]: Likewise.
+ * gnat.dg/vect5.ad[sb]: Likewise.
+ * gnat.dg/vect6.ad[sb]: Likewise.
+
+2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/51495
+ * gcc.c-torture/compile/pr51495.c: New test.
+
+ PR tree-optimization/51481
+ * gcc.dg/pr51481.c: New test.
+
+2011-12-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR tree-optimization/45830
+ * gcc.c-torture/execute/pr45830.c: Move from here to...
+ * gcc.dg/torture/pr45830.c: ...this new file. Add dg-do and
+ dg-additional-options magic.
+
+2011-12-12 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.dg/nested_modules_2.f90: Tighten test.
+
+2011-12-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/20111212-1.c: New test.
+
+2011-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/51511
+ * gcc.dg/pr45819.c: Add -w to dg-options.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
+ * g++.dg/tm/noexcept-1.C: New test.
+ * g++.dg/tm/noexcept-2.C: New test.
+ * g++.dg/tm/noexcept-3.C: New test.
+ * g++.dg/tm/noexcept-4.C: New test.
+ * g++.dg/tm/noexcept-5.C: New test.
+
+2011-12-12 Torvald Riegel <triegel@redhat.com>
+
+ * c-c++-common/tm/20111206.c: New test.
+
+2011-12-12 Richard Guenther <rguenther@suse.de>
+
+ PR lto/51262
+ * g++.dg/opt/pr51262.C: New testcase.
+
+2011-12-12 Revital Eres <revital.eres@linaro.org>
+
+ PR rtl-optimization/47013
+ * gcc.dg/sms-2.c: Change scan-tree-dump-times and the code itself
+ to preserve the function.
+ * gcc.dg/sms-6.c: Add --param sms-min-sc=1. Add dg-options for
+ powerpc*-*-*. Avoid superfluous spaces in dg-final.
+ * gcc.dg/sms-3.c: Add --param sms-min-sc=1 and
+ -fmodulo-sched-allow-regmoves flags.
+ * gcc.dg/sms-7.c: Likewise. Remove dg-final for powerpc*-*-*
+ and avoid superfluous spaces in dg-final for spu-*-*.
+ * gcc.dg/sms-4.c: Add dg-options for powerpc*-*-*.
+ * gcc.dg/sms-8.c: Add --param sms-min-sc=1. Add dg-options and
+ change scan-rtl-dump-times for powerpc*-*-*.
+ * gcc.dg/sms-5.c: Add --param sms-min-sc=1 flag, remove
+ powerpc*-*-* from dg-final and avoid superfluous spaces in dg-final.
+ * gcc.dg/sms-9.c: Remove -fno-auto-inc-dec.
+
+2011-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51485
+ * g++.dg/vect/pr51485.cc: New test.
+
+2011-12-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50923
+ * gfortran.dg/warn_function_without_result_2.f90: New.
+
+2011-12-11 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/41539
+ PR fortran/43214
+ PR fortran/43969
+ PR fortran/44568
+ PR fortran/46356
+ PR fortran/46990
+ PR fortran/49074
+ * gfortran.dg/class_array_1.f03: New.
+ * gfortran.dg/class_array_2.f03: New.
+ * gfortran.dg/class_array_3.f03: New.
+ * gfortran.dg/class_array_4.f03: New.
+ * gfortran.dg/class_array_5.f03: New.
+ * gfortran.dg/class_array_6.f03: New.
+ * gfortran.dg/class_array_7.f03: New.
+ * gfortran.dg/class_array_8.f03: New.
+ * gfortran.dg/coarray_poly_1.f90: New.
+ * gfortran.dg/coarray_poly_2.f90: New.
+ * gfortran.dg/coarray/poly_run_1.f90: New.
+ * gfortran.dg/coarray/poly_run_2.f90: New.
+ * gfortran.dg/class_to_type_1.f03: New.
+ * gfortran.dg/type_to_class_1.f03: New.
+ * gfortran.dg/typebound_assignment_3.f03: Remove the error.
+ * gfortran.dg/auto_dealloc_2.f90: Occurences of __builtin_free now 2.
+ * gfortran.dg/class_19.f03: Occurences of __builtin_free now 8.
+
+2011-12-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50690
+ * gfortran.dg/gomp/workshare2.f90: New test.
+ * gfortran.dg/gomp/workshare3.f90: New test.
+
+2011-12-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/elab3.ads: New test.
+
+2011-12-10 Richard Henderson <rth@redhat.com>
+
+ * gcc.target/powerpc/altivec-perm-1.c: New.
+ * gcc.target/powerpc/altivec-perm-2.c: New.
+ * gcc.target/powerpc/altivec-perm-4.c: New.
+
+2011-12-10 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * gcc.target/epiphany/interrupt.c: Add dg-options "-g".
+ Add a scan-assembler-time clause to test for the interupt vector jump.
+ (f): Rename to ...
+ (dma0_handler): ... this.
+
+2011-12-10 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51449
+ * g++.dg/gcov/gcov-14.C: New.
+
+2011-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/compile/20111209-1.c: New test.
+
+2011-12-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/51151
+ * g++.dg/warn/Woverflow-4.C: New.
+
+2011-12-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51289
+ * g++.dg/cpp0x/alias-decl-17.C: New test.
+
+2011-12-09 Michael Meissner <meissner@the-meissners.org>
+
+ * gcc.target/powerpc/recip-5.c: Disable running on any system that
+ does not support VSX.
+
+ * gcc.target/powerpc/ppc-target-4.c: New file to test target
+ specific functions enabling target specific builtins.
+
+2011-12-09 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.dg/vect/slp-13.c: Array size increase reverted.
+ * gcc.dg/vect/slp-24.c: Ditto.
+ * gcc.dg/vect/slp-3.c: Ditto.
+ * gcc.dg/vect/slp-34.c: Ditto.
+ * gcc.dg/vect/slp-4.c: Ditto.
+ * gcc.dg/vect/slp-cond-2.c: Ditto.
+ * gcc.dg/vect/slp-multitypes-11.c: Ditto.
+ * gcc.dg/vect/vect-1.c: Ditto.
+ * gcc.dg/vect/vect-10.c: Ditto.
+ * gcc.dg/vect/vect-105.c: Ditto.
+ * gcc.dg/vect/vect-112.c: Ditto.
+ * gcc.dg/vect/vect-15.c: Ditto.
+ * gcc.dg/vect/vect-2.c: Ditto.
+ * gcc.dg/vect/vect-31.c: Ditto.
+ * gcc.dg/vect/vect-32.c: Ditto.
+ * gcc.dg/vect/vect-33.c: Ditto.
+ * gcc.dg/vect/vect-34.c: Ditto.
+ * gcc.dg/vect/vect-35.c: Ditto.
+ * gcc.dg/vect/vect-36.c: Ditto.
+ * gcc.dg/vect/vect-6.c: Ditto.
+ * gcc.dg/vect/vect-73.c: Ditto.
+ * gcc.dg/vect/vect-74.c: Ditto.
+ * gcc.dg/vect/vect-75.c: Ditto.
+ * gcc.dg/vect/vect-76.c: Ditto.
+ * gcc.dg/vect/vect-80.c: Ditto.
+ * gcc.dg/vect/vect-85.c: Ditto.
+ * gcc.dg/vect/vect-89.c: Ditto.
+ * gcc.dg/vect/vect-97.c: Ditto.
+ * gcc.dg/vect/vect-98.c: Ditto.
+ * gcc.dg/vect/vect-all.c: Ditto.
+ * gcc.dg/vect/vect-double-reduc-6.c: Ditto.
+ * gcc.dg/vect/vect-iv-8.c: Ditto.
+ * gcc.dg/vect/vect-iv-8a.c: Ditto.
+ * gcc.dg/vect/vect-outer-1.c: Ditto.
+ * gcc.dg/vect/vect-outer-1a.c: Ditto.
+ * gcc.dg/vect/vect-outer-1b.c: Ditto.
+ * gcc.dg/vect/vect-outer-2.c: Ditto.
+ * gcc.dg/vect/vect-outer-2a.c: Ditto.
+ * gcc.dg/vect/vect-outer-2c.c: Ditto.
+ * gcc.dg/vect/vect-outer-3.c: Ditto.
+ * gcc.dg/vect/vect-outer-3a.c: Ditto.
+ * gcc.dg/vect/vect-outer-4a.c: Ditto.
+ * gcc.dg/vect/vect-outer-4b.c: Ditto.
+ * gcc.dg/vect/vect-outer-4c.c: Ditto.
+ * gcc.dg/vect/vect-outer-4d.c: Ditto.
+ * gcc.dg/vect/vect-outer-4m.c: Ditto.
+ * gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
+ * gcc.dg/vect/vect-outer-fir.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-1.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-2.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-3.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-4.c: Ditto.
+ * gcc.dg/vect/vect-reduc-1char.c: Ditto.
+ * gcc.dg/vect/vect-reduc-2char.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
+ * gcc.dg/vect/vect-shift-2.c: Ditto.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
+ * gcc.dg/vect/slp-13-big-array.c: New test.
+ * gcc.dg/vect/slp-24-big-array.c: Ditto.
+ * gcc.dg/vect/slp-3-big-array.c: Ditto.
+ * gcc.dg/vect/slp-34-big-array.c: Ditto.
+ * gcc.dg/vect/slp-4-big-array.c: Ditto.
+ * gcc.dg/vect/slp-cond-2-big-array.c: Ditto.
+ * gcc.dg/vect/slp-multitypes-11-big-array.c: Ditto.
+ * gcc.dg/vect/vect-1-big-array.c: Ditto.
+ * gcc.dg/vect/vect-10-big-array.c: Ditto.
+ * gcc.dg/vect/vect-105-big-array.c: Ditto.
+ * gcc.dg/vect/vect-112-big-array.c: Ditto.
+ * gcc.dg/vect/vect-15-big-array.c: Ditto.
+ * gcc.dg/vect/vect-2-big-array.c: Ditto.
+ * gcc.dg/vect/vect-31-big-array.c: Ditto.
+ * gcc.dg/vect/vect-32-big-array.c: Ditto.
+ * gcc.dg/vect/vect-33-big-array.c: Ditto.
+ * gcc.dg/vect/vect-34-big-array.c: Ditto.
+ * gcc.dg/vect/vect-35-big-array.c: Ditto.
+ * gcc.dg/vect/vect-36-big-array.c: Ditto.
+ * gcc.dg/vect/vect-6-big-array.c: Ditto.
+ * gcc.dg/vect/vect-73-big-array.c: Ditto.
+ * gcc.dg/vect/vect-74-big-array.c: Ditto.
+ * gcc.dg/vect/vect-75-big-array.c: Ditto.
+ * gcc.dg/vect/vect-76-big-array.c: Ditto.
+ * gcc.dg/vect/vect-80-big-array.c: Ditto.
+ * gcc.dg/vect/vect-85-big-array.c: Ditto.
+ * gcc.dg/vect/vect-89-big-array.c: Ditto.
+ * gcc.dg/vect/vect-97-big-array.c: Ditto.
+ * gcc.dg/vect/vect-98-big-array.c: Ditto.
+ * gcc.dg/vect/vect-all-big-array.c: Ditto.
+ * gcc.dg/vect/vect-double-reduc-6-big-array.c: Ditto.
+ * gcc.dg/vect/vect-iv-8-big-array.c: Ditto.
+ * gcc.dg/vect/vect-iv-8a-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-1-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-1a-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-1b-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-2-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-2a-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-2c-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-3-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-3a-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-4a-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-4b-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-4c-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-4d-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-4m-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-fir-lb-big-array.c: Ditto.
+ * gcc.dg/vect/vect-outer-fir-big-array.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-1-big-array.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-2-big-array.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-3-big-array.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-4-big-array.c: Ditto.
+ * gcc.dg/vect/vect-reduc-1char-big-array.c: Ditto.
+ * gcc.dg/vect/vect-reduc-2char-big-array.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto.
+ * gcc.dg/vect/vect-shift-2-big-array.c: Ditto.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap2-big-array.c: Ditto.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7-big-array.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap2-big-array.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap4-big-array.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap7-big-array.c: Ditto.
+
+2011-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48042
+ * g++.dg/lto/pr48042_0.C: New testcase.
+
+2011-12-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51482
+ * g++.dg/torture/pr51482.C: New testcase.
+
+2011-12-08 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.target/mips/mult-1.c: Forbid all Octeon processors.
+ * gcc.target/mips/dmult-1.c: Likewise.
+ * gcc.target/mips/branch-1.c: Likewise.
+ * gcc.target/mips/extend-1.c: Likewise.
+
+2011-12-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/51318
+ * g++.dg/template/cond8.C: New.
+
+ PR c++/51459
+ * g++.dg/cpp0x/lambda/lambda-template4.C: New.
+
+2011-12-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51466
+ * gcc.c-torture/execute/pr51466.c: New test.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50815
+ * gfortran.dg/bounds_check_16.f90: New.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51378
+ * gfortran.dg/private_type_14.f90: New.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51407
+ * gfortran.dg/io_real_boz_3.f90: New.
+ * gfortran.dg/io_real_boz_4.f90: New.
+ * gfortran.dg/io_real_boz_5.f90: New.
+
+2011-12-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51448
+ * gfortran.dg/realloc_on_assign_8.f90: New.
+
+2011-12-08 Teresa Johnson <tejohnson@google.com>
+
+ * gcc.target/i386/movdi-rex64.c: Remove unnecessary unused label.
+
+2011-12-08 Teresa Johnson <tejohnson@google.com>
+
+ * gcc.target/i386/movdi-rex64.c: Remove unnecessary
+ -Wwrite-strings option.
+
+2011-12-08 Teresa Johnson <tejohnson@google.com>
+
+ * gcc.target/i386/movdi-rex64.c: New.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/volatile3.c: New testcase.
+
+2011-12-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR tree-optimization/51315
+ * gcc.c-torture/execute/20111208-1.c (int16_t): Use __INT16_TYPE__
+ for typedef.
+ (int32_t): Use __INT32_TYPE__ for typedef.
+
+2011-12-08 Georg-Johann Lay <avr@gjlay.de>
+
+ PR tree-optimization/51315
+ * gcc.c-torture/execute/20111208-1.c: Fix wrong assumption
+ sizeof(int)==4.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/50747
+ * g++.dg/opt/pr50747-1_0.C: New testcase.
+ * g++.dg/opt/pr50747-2_0.C: Likewise.
+
+2011-12-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/execute/20111208-1.c: New test.
+
+2011-12-08 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48437
+ * gcc.dg/lto/20111207-2_0.c: New testcase.
+ * gcc.dg/guality/pr48437.c: Likewise.
+
+2011-12-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51401
+ * g++.dg/cpp0x/auto7.C: Adjust expected error message.
+ * g++.dg/cpp0x/auto29.C: New test.
+
+ PR c++/51429
+ * g++.dg/parse/error45.C: New test.
+
+ PR c++/51229
+ * g++.dg/ext/desig3.C: New test.
+
+ PR c++/51369
+ * g++.dg/cpp0x/constexpr-51369.C: New test.
+
+2011-12-07 Andrew Pinski <apinski@cavium.com>
+
+ PR middle-end/45416
+ * gcc.dg/pr45416.c: New testcase.
+
+2011-12-07 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/51420
+ * g++.dg/cpp0x/pr51420.C: New.
+
+2011-12-07 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48100
+ * gcc.dg/lto/20111207-1_0.c: New testcase.
+ * gcc.dg/lto/20111207-1_1.c: Likewise.
+ * gcc.dg/lto/20111207-1_2.c: Likewise.
+ * gcc.dg/lto/20111207-1_3.c: Likewise.
+
+2011-12-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50823
+ * gcc.dg/torture/pr50823.c: New testcase.
+
+2011-12-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50744
+ * gcc.dg/ipa/pr50744.c: New test.
+
+2011-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/51430
+ * g++.dg/template/static32.C: New test.
+
+2011-12-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/opt/pr51396.C: Use dg-additional-options.
+
+2011-12-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51435
+ * gfortran.dg/default_initialization_5.f90: New.
+
+2011-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51354
+ * gcc.c-torture/compile/pr51354.c: New test.
+
+2011-12-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51431
+ * g++.dg/other/abstract3.C: New.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49997
+ * gcc.dg/torture/pr49997.c: New testcase.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51436
+ * g++.dg/torture/pr51436.C: New testcase.
+
+2011-12-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51245
+ * gcc.dg/torture/pr51245.c: New testcase.
+
+2011-12-06 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51427
+ * g++.dg/diagnostic/wrong-tag-1.C
+
+2011-12-05 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/51319
+ * g++.dg/lookup/using50.C: New.
+ * g++.dg/lookup/using51.C: New.
+
+2011-12-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51396
+ * g++.dg/opt/pr51396.C: New test.
+
+ PR debug/51410
+ * gcc.dg/debug/dwarf2/pr51410.c: New test.
+
+ PR c/51339
+ * gcc.dg/gomp/pr51339.c: New test.
+
+2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51399
+ * g++.dg/cpp0x/initlist62.C: New.
+
+2011-12-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/51338
+ * gfortran.dg/assumed_charlen_substring_1.f90: New test.
+
+2011-12-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * g++.dg/debug/pr46338.C: Add dg-require-profiling.
+ * g++.dg/torture/pr39732.C: Likewise.
+ * g++.dg/torture/pr40642.C: Likewise.
+ * gcc.c-torture/compile/pr44686.c: Likewise.
+ * gcc.dg/20050309-1.c: Likewise.
+ * gcc.dg/20050330-2.c: Likewise.
+ * gcc.dg/20051201-1.c: Likewise.
+ * gcc.dg/gomp/pr27573.c: Likewise.
+ * gcc.dg/pr46255.c: Likewise.
+ * gcc.dg/profile-dir-1.c: Likewise.
+ * gcc.dg/profile-dir-2.c: Likewise.
+ * gcc.dg/profile-dir-3.c: Likewise.
+ * gcc.dg/profile-generate-1.c: Likewise.
+ * gfortran.dg/gomp/pr27573.f90: Likewise.
+ * gcc.dg/profile-generate-3.c: Be specific about the type of
+ profiling required.
+
+2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51414
+ * g++.dg/ext/underlying_type11.C: New.
+
+2011-12-05 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/51128
+ * gcc.dg/torture/pr23821.c: Skip if -fno-fat-lto-objects was passed.
+ * gcc.dg/torture/pr39074.c: Ditto.
+ * gcc.dg/torture/pr39074-2.c: Ditto.
+ * gcc.dg/torture/pr42898.c: Ditto.
+ * gcc.dg/torture/pr42898-2.c: Ditto.
+ * gcc.dg/torture/pr45704.c: Ditto.
+ * gcc.dg/torture/pr50472.c: Ditto.
+ * gcc.dg/torture/pta-callused-1.c: Ditto.
+ * gcc.dg/torture/pta-ptrarith-1.c: Ditto.
+ * gcc.dg/torture/pta-ptrarith-2.c: Ditto.
+ * gcc.dg/torture/pta-ptrarith-3.c: Ditto.
+ * gcc.dg/torture/pta-escape-1.c: Ditto.
+ * gcc.dg/torture/ipa-pta-1.c: Ditto.
+ * gcc.dg/torture/ssa-pta-fn-1.c: Ditto.
+
+2011-12-05 Kazu Hirata <kazu@codesourcery.com>
+
+ PR target/51408
+ * gcc.dg/pr51408.c: New.
+
+2011-12-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/dc6.C: New.
+
+2011-12-05 Ville Voutilainen <ville.voutilainen@gmail.com>
+ Pedro Lamarão <pedro.lamarao@gmail.com>
+
+ * g++.dg/cpp0x/dc1.C: New test.
+ * g++.dg/cpp0x/dc2.C: New test.
+ * g++.dg/cpp0x/dc3.C: New test.
+ * g++.dg/cpp0x/dc4.C: New test.
+ * g++.dg/cpp0x/dc5.C: New test.
+ * g++.dg/template/meminit1.C: Adjust expected error.
+
+2011-12-05 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51404
+ * g++.dg/cpp0x/auto28.C: New.
+
+2011-12-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.dg/torture/vec-cvt-1.c (FLTTEST): Call rand instead of random.
+
+2011-12-05 Jakub Jelinek <jakub@redhat.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/51323
+ PR middle-end/50074
+ * gcc.c-torture/execute/pr51323.c: New test.
+
+2011-12-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51383
+ * gfortran.dg/associate_10.f90: New.
+
+2011-12-04 Ira Rosen <ira.rosen@linaro.org>
+
+ PR middle-end/51285
+ * gfortran.dg/vect/pr51285.f90: New test.
+
+2011-12-04 Uros Bizjak <ubizjak@gmail.com>
+ Jérémie Detrey <Jeremie.Detrey@loria.fr>
+
+ PR target/51393
+ * gcc.target/i386/pr51393.c: New test.
+
+2011-12-03 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR obj-c++/51349
+ * obj-c++.dg/naming-3.mm: Adjust for changing error messages.
+ * obj-c++.dg/naming-4.mm: Likewise.
+
+2011-12-03 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * gcc.dg/darwin-segaddr.c: Use -no-pie.
+
+2011-12-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51313
+ * g++.dg/cpp0x/pr51313.C: New.
+
+2011-12-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48887
+ * gfortran.dg/select_type_24.f90: New.
+ * gfortran.dg/select_type_23.f03: Add dg-error.
+ * gfortran.dg/class_45a.f03: Add missing TARGET attribute.
+
+2011-12-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vect/vect-122.c: New test.
+
+2011-12-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50684
+ * gfortran.dg/move_alloc_8.f90: New.
+
+2011-12-03 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/select_type_23.f03: Revert Rev. 181801,
+ i.e. remove the dg-error line.
+ * gfortran.dg/move_alloc_5.f90: Ditto and change back to dg-do run.
+ * gfortran.dg/move_alloc_9.f90: New.
+ * gfortran.dg/move_alloc_10.f90: New
+
+2011-12-02 Nathan Sidwell <nathan@acm.org>
+
+ * lib/gcov.exp (verify-lines): Allow = as a count char.
+ * g++.dg/gcov/gcov-13.C: New.
+
+2011-12-02 Michael Zolotukhin <michael.v.zolotukhin@intel.com>
+
+ * gcc.dg/vect/slp-13.c: Increase array size, add initialization.
+ * gcc.dg/vect/slp-24.c: Ditto.
+ * gcc.dg/vect/slp-3.c: Likewise and fix scans.
+ * gcc.dg/vect/slp-34.c: Ditto.
+ * gcc.dg/vect/slp-4.c: Ditto.
+ * gcc.dg/vect/slp-cond-2.c: Ditto.
+ * gcc.dg/vect/slp-multitypes-11.c: Ditto.
+ * gcc.dg/vect/vect-1.c: Ditto.
+ * gcc.dg/vect/vect-10.c: Ditto.
+ * gcc.dg/vect/vect-105.c: Ditto.
+ * gcc.dg/vect/vect-112.c: Ditto.
+ * gcc.dg/vect/vect-15.c: Ditto.
+ * gcc.dg/vect/vect-2.c: Ditto.
+ * gcc.dg/vect/vect-31.c: Ditto.
+ * gcc.dg/vect/vect-32.c: Ditto.
+ * gcc.dg/vect/vect-33.c: Ditto.
+ * gcc.dg/vect/vect-34.c: Ditto.
+ * gcc.dg/vect/vect-35.c: Ditto.
+ * gcc.dg/vect/vect-36.c: Ditto.
+ * gcc.dg/vect/vect-6.c: Ditto.
+ * gcc.dg/vect/vect-73.c: Ditto.
+ * gcc.dg/vect/vect-74.c: Ditto.
+ * gcc.dg/vect/vect-75.c: Ditto.
+ * gcc.dg/vect/vect-76.c: Ditto.
+ * gcc.dg/vect/vect-80.c: Ditto.
+ * gcc.dg/vect/vect-85.c: Ditto.
+ * gcc.dg/vect/vect-89.c: Ditto.
+ * gcc.dg/vect/vect-97.c: Ditto.
+ * gcc.dg/vect/vect-98.c: Ditto.
+ * gcc.dg/vect/vect-all.c: Ditto.
+ * gcc.dg/vect/vect-double-reduc-6.c: Ditto.
+ * gcc.dg/vect/vect-iv-8.c: Ditto.
+ * gcc.dg/vect/vect-iv-8a.c: Ditto.
+ * gcc.dg/vect/vect-outer-1.c: Ditto.
+ * gcc.dg/vect/vect-outer-1a.c: Ditto.
+ * gcc.dg/vect/vect-outer-1b.c: Ditto.
+ * gcc.dg/vect/vect-outer-2.c: Ditto.
+ * gcc.dg/vect/vect-outer-2a.c: Ditto.
+ * gcc.dg/vect/vect-outer-2c.c: Ditto.
+ * gcc.dg/vect/vect-outer-3.c: Ditto.
+ * gcc.dg/vect/vect-outer-3a.c: Ditto.
+ * gcc.dg/vect/vect-outer-4a.c: Ditto.
+ * gcc.dg/vect/vect-outer-4b.c: Ditto.
+ * gcc.dg/vect/vect-outer-4c.c: Ditto.
+ * gcc.dg/vect/vect-outer-4d.c: Ditto.
+ * gcc.dg/vect/vect-outer-4m.c: Ditto.
+ * gcc.dg/vect/vect-outer-fir-lb.c: Ditto.
+ * gcc.dg/vect/vect-outer-fir.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-1.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-2.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-3.c: Ditto.
+ * gcc.dg/vect/vect-over-widen-4.c: Ditto.
+ * gcc.dg/vect/vect-reduc-1char.c: Ditto.
+ * gcc.dg/vect/vect-reduc-2char.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1b.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-1c.c: Ditto.
+ * gcc.dg/vect/vect-reduc-pattern-2b.c: Ditto.
+ * gcc.dg/vect/vect-shift-2.c: Ditto.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Ditto.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Ditto.
+ * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Ditto.
+
+2011-12-02 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.c-torture/execute/vector-subscript-1.c (main): Fix
+ __builtin_memcpy arguments to honor sizeof(a).
+
+2011-12-02 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c-torture/execute/doloop-1.c,
+ gcc.c-torture/execute/doloop-2.c: New tests.
+
+2011-12-02 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50622
+ * g++.dg/tree-ssa/pr50622.C: New test.
+
+2011-12-01 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/initlist61.C: New.
+
+2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51326
+ * g++.dg/inherit/crash3.C: New.
+
+2011-12-01 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51113
+ * lib/gcov.exp (verify-lines): Add support for xfailing.
+ (run-gcov): Likewise.
+ * gcc.misc-tests/gcov-13.c: Xfail weak function.
+ * gcc.misc-tests/gcov-16.c: Remove.
+ * gcc.misc-tests/gcov-17.c: Remove.
+ * g++.dg/gcov-8.C: Remove.
+ * g++.dg/gcov-9.C: Remove.
+ * g++.dg/gcovpart-12b.C: New.
+ * g++.dg/gcov-12.C: New.
+
+2011-12-01 Andrew Pinski <apinski@cavium.com>
+
+ PR lto/51198
+ * g++.dg/torture/pr51198.C: New testcase.
+
+2011-12-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51246
+ * gcc.c-torture/compile/pr51246.c: New test.
+
+ PR rtl-optimization/51014
+ * g++.dg/opt/pr51014.C: New test.
+
+2011-12-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51367
+ * g++.dg/template/error47.C: New.
+
+2011-11-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/51009
+ * g++.dg/init/aggr8.C: New.
+
+2011-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50725
+ * gcc.target/i386/pr50725.c: New test.
+
+ PR middle-end/51089
+ * gfortran.dg/gomp/pr51089.f90: New test.
+
+2011-11-30 Andrew Pinski <apinski@cavium.com>
+
+ * gcc.dg/pr51321.c: New testcase.
+
+2011-11-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48721
+ * gcc.target/i386/pr48721.c: New test.
+
+2011-11-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51299
+ * g++.dg/warn/Wzero-as-null-pointer-constant-4.C: New.
+
+2011-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51247
+ * gcc.c-torture/compile/pr51247.c: New test.
+
+2011-11-29 Andrew MacLeod <amacleod@redhat.com>
+
+ PR target/50123
+ * gcc.dg/atomic-op-optimize.c: New. Test for optimizations.
+
+2011-11-29 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ Use complex floating-point constant in CDBL.
+
+ * gcc.dg/compat/compat-common.h (CDBL): Replace 1i with 1.0i.
+
+2011-11-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51306
+ PR fortran/48700
+ * gfortran.dg/move_alloc_5.f90: Add dg-error.
+ * gfortran.dg/select_type_23.f03: Add dg-error.
+ * gfortran.dg/move_alloc_6.f90: New.
+ * gfortran.dg/move_alloc_7.f90: New.
+
+2011-11-29 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51301
+ * gcc.dg/vect/pr51301.c: New test.
+
+2011-11-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/cdce3.C: Use dg-additional-options.
+
+2011-11-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/50907
+ * gcc.dg/tree-prof/pr50907.c: New test.
+
+ PR tree-optimization/50078
+ * gcc.dg/pr50078.c: New test.
+
+ PR tree-optimization/50682
+ * g++.dg/opt/pr50682.C: New test.
+
+2011-11-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51308
+ * gfortran.dg/iso_c_binding_compiler_4.f90: New.
+
+2011-11-27 Aldy Hernandez <aldyh@redhat.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc.dg/lto/trans-mem-2_0.c: Add dg-lto-do link. Add dummy
+ functions for _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
+ * gcc.dg/lto/trans-mem-1_0.c: Add dg-lto-do link.
+ * gcc.dg/lto/trans-mem-1_1.c: Add dummy functions for
+ _ITM_registerTMCloneTable, _ITM_deregisterTMCloneTable.
+
+2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mult-2.c, gcc.target/mips/mult-3.c,
+ gcc.target/mips/mult-4.c, gcc.target/mips/mult-5.c,
+ gcc.target/mips/mult-6.c, gcc.target/mips/mult-7.c,
+ gcc.target/mips/mult-8.c, gcc.target/mips/mult-9.c,
+ gcc.target/mips/mult-10.c, gcc.target/mips/mult-11.c,
+ gcc.target/mips/mult-12.c, gcc.target/mips/mult-13.c,
+ gcc.target/mips/mult-14.c, gcc.target/mips/mult-15.c,
+ gcc.target/mips/mult-16.c, gcc.target/mips/mult-17.c,
+ gcc.target/mips/mult-18.c, gcc.target/mips/mult-19.c,
+ gcc.target/mips/div-1.c, gcc.target/mips/div-2.c,
+ gcc.target/mips/div-3.c, gcc.target/mips/div-4.c,
+ gcc.target/mips/div-5.c, gcc.target/mips/div-6.c,
+ gcc.target/mips/div-7.c, gcc.target/mips/div-8.c,
+ gcc.target/mips/div-9.c, gcc.target/mips/div-10.c,
+ gcc.target/mips/div-11.c, gcc.target/mips/div-12.c: New tests.
+ * gcc.target/mips/fix-r4000-1.c (foo, bar): Add NOMIPS16.
+ * gcc.target/mips/fix-r4000-2.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-3.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-4.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-5.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-6.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-7.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-8.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-9.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-10.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-11.c (foo): Likewise.
+ * gcc.target/mips/fix-r4000-12.c (foo): Likewise.
+
+2011-11-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips.exp (mips-dg-options): Make -mno-dsp
+ imply -mno-dspr2.
+ * gcc.target/mips/no-dsp-1.c: New test.
+ * gcc.target/mips/soft-float-1.c: Likewise.
+
+2011-11-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49912
+ * g++.dg/other/pr49912.C: New test.
+
+2011-11-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/vect/fast-math-vect-call-2.c: Require vect_double
+ effective target.
+ * gcc.dg/vect/fast-math-bb-slp-call-2.c: Ditto.
+
+2011-11-25 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/51250
+ PR fortran/43829
+ * gfortran.dg/inline_sum_3.f90: New test.
+
+2011-11-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/51258
+ * lib/target-supports.exp
+ (check_effective_target_sync_long_long): Also supported on 32bit
+ x86 targets. Add comment about required dg-options.
+ Add alpha*-*-* targets.
+ (check_effective_target_sync_long_long_runtime): Ditto.
+
+ * gcc.dg/atomic-op-4.c (dg-options): Add -march=pentium for
+ 32bit x86 targets.
+ * gcc.dg/atomic-compare-exchange-4.c: Ditto.
+ * gcc.dg/atomic-exchange-4.c: Ditto.
+ * gcc.dg/atomic-load-4.c: Ditto.
+ * gcc.dg/atomic-store-4.c: Ditto.
+ * gcc.dg/di-longlong64-sync-1.c: Ditto.
+ * gcc.dg/di-sync-multithread.c: Ditto.
+ * gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
+ * gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.
+
+2011-11-25 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/51258
+ * lib/target-supports.exp
+ (check_effective_target_sync_int_128_runtime): New procedure.
+ (check_effective_target_sync_long_long_runtime): Ditto.
+ (check_effective_target_sync_long_long): Add arm*-*-*.
+ (check_effective_target_sync_longlong): Remove.
+
+ * gcc.dg/atomic-op-5.c: Require sync_int_128_runtime effective target.
+ * gcc.dg/atomic-compare-exchange-5.c: Ditto.
+ * gcc.dg/atomic-exchange-5.c: Ditto.
+ * gcc.dg/atomic-load-5.c: Ditto.
+ * gcc.dg/atomic-store-5.c: Ditto.
+ * gcc.dg/simulate-thread/atomic-load-int128.c: Ditto.
+ * gcc.dg/simulate-thread/atomic-other-int128.c: Ditto.
+ * gcc.dg/atomic-op-4.c: Require sync_long_long_runtime
+ effective target.
+ * gcc.dg/atomic-compare-exchange-4.c: Ditto.
+ * gcc.dg/atomic-exchange-4.c: Ditto.
+ * gcc.dg/atomic-load-4.c: Ditto.
+ * gcc.dg/atomic-store-4.c: Ditto.
+ * gcc.dg/di-longlong64-sync-1.c: Ditto.
+ * gcc.dg/di-sync-multithread.c: Ditto.
+ * gcc.dg/simulate-thread/atomic-load-longlong.c: Ditto.
+ * gcc.dg/simulate-thread/atomic-other-longlong.c: Ditto.
+
+2011-11-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50408
+ * gfortran.dg/whole_file_35.f90: New.
+
+2011-11-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51302
+ * gfortran.dg/volatile13.f90: New.
+
+2011-11-24 Andrew MacLeod <amacleod@redhat.com>
+
+ PR c/51256
+ * gcc.dg/atomic-pr51256.c: New. Test error conditions.
+
+2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51227
+ * g++.dg/cpp0x/lambda/lambda-ice5.C: New.
+
+2011-11-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/51134
+ * gcc.target/i386/sw-1.c: Revert revision 181357.
+
+2011-11-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/51218
+ * gfortran.dg/implicit_pure_1.f90: New.
+
+2011-11-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/51258
+ * gcc.dg/atomic-compare-exchange-5.c: Add -mcx16 on i?86-*-*.
+ * gcc.dg/atomic-exchange-5.c: Likewise.
+ * gcc.dg/atomic-load-5.c: Likewise.
+ * gcc.dg/atomic-op-5.c: Likewise.
+ * gcc.dg/atomic-store-5.c: Likewise.
+ * gcc.dg/simulate-thread/atomic-other-int128.c: Fix typo.
+
+2011-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/50290
+ * gcc.dg/pr50290.c: New test.
+
+2011-11-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51290
+ * g++.dg/warn/Wzero-as-null-pointer-constant-3.C: New.
+
+2011-11-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/51261
+ * gcc.dg/pr51261.c: New test.
+
+2011-11-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51145
+ * g++.dg/cpp0x/alias-decl-14.C: New test.
+ * g++.dg/cpp0x/alias-decl-2.C: Adjust for tests that were wrongly
+ passing before.
+ * g++.dg/cpp0x/alias-decl-10.C: Likewise and adjust for diagnostic
+ change.
+ * g++.dg/ext/attrib27.C: Adjust for diagnostic change.
+ * g++.dg/lookup/struct1.C: Likewise.
+ * g++.dg/parse/elab1.C: Likewise.
+ * g++.dg/parse/elab2.C: Likewise.
+ * g++.dg/parse/int-as-enum1.C: Likewise.
+ * g++.dg/parse/typedef1.C: Likewise.
+ * g++.dg/parse/typedef3.C: Likewise.
+ * g++.dg/parse/typedef4.C: Likewise.
+ * g++.dg/parse/typedef5.C: Likewise.
+ * g++.dg/template/crash26.C: Likewise.
+ * g++.dg/template/nontype4.C: Likewise.
+ * g++.old-deja/g++.benjamin/typedef01.C: Likewise.
+ * g++.old-deja/g++.brendan/line1.C: Likewise.
+ * g++.old-deja/g++.other/elab1.C: Likewise.
+ * g++.old-deja/g++.other/syntax4.C: Likewise.
+
+2011-11-22 Tom de Vries <tom@codesourcery.com>
+
+ PR rtl-optimization/50764
+ * gcc.dg/pr50764.c: New test.
+
+2011-11-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51265
+ * g++.dg/cpp0x/decltype36.C: New.
+
+2011-11-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51074
+ * gcc.dg/vect/pr51074.c: New test.
+
+2011-11-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51143
+ * g++.dg/cpp0x/alias-decl-16.C: New test.
+
+2011-11-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50765
+ * gcc.dg/pr50765.c: New test.
+
+2011-11-22 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.dg/vshift-1.c (main): Call rand instead of random.
+ * gcc.dg/vshift-3.c (main): Likewise.
+
+2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc.dg/tm/20100615.c: Adjust for Darwin tm_clone_table section name.
+
+2011-11-22 Iain Sandoe <iains@gcc.gnu.org>
+
+ * gcc.misc-tests/gcov-16.c: Adjust scan-assembler for Darwin.
+ * gcc.misc-tests/gcov-17.c: Likewise.
+ * g++.dg/gcov/gcov-8.C: Likewise.
+ * g++.dg/gcov/gcov-9.C: Likewise.
+
+2011-11-21 Torvald Riegel <triegel@redhat.com>
+
+ * g++.dg/tm/pr47747.C: New test.
+
+2011-11-21 Torvald Riegel <triegel@redhat.com>
+
+ * g++.dg/tm/template-2.C: New test.
+
+2011-11-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/50827
+ * gcc.dg/pr50827.c: New test.
+
+2011-11-21 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/50958
+ * g++.dg/cpp0x/udlit-declare-neg.C: Adjust.
+ * g++.dg/cpp0x/udlit-implicit-conv-neg.C: New.
+ * g++.dg/cpp0x/udlit-member.C: Adjust.
+ * g++.dg/cpp0x/udlit-raw-length.C: New.
+ * g++.dg/cpp0x/udlit-raw-op-string-neg.C: Adjust.
+ * g++.dg/cpp0x/udlit-resolve.C: New.
+ * c-c++-common/dfp/pr33466.c: Adjust.
+
+2011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp
+ (check_effective_target_ultrasparc_vis2_hw): Call check_runtime
+ with ultrasparc_vis2_hw.
+ (check_effective_target_ultrasparc_vis3_hw): Call check_runtime
+ with ultrasparc_vis3_hw.
+
+2011-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * c-c++-common/tm/malloc.c: Scan tree dumps for std::malloc if
+ *-*-solaris2* && c++.
+
+2011-11-20 Joey Ye <joey.ye@arm.com>
+
+ * gcc.dg/volatile-bitfields-1.c: New.
+
+2011-11-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/48322
+ * g++.dg/cpp0x/variadic120.C: New.
+ * g++.dg/cpp0x/sfinae26.C: Adjust.
+
+ * g++.dg/cpp0x/sfinae11.C: Adjust.
+ * g++.dg/cpp0x/sfinae26.C: Adjust.
+ * g++.dg/template/unify11.C: Adjust.
+
+2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51230
+ * g++.dg/template/error46.C: New.
+
+2011-11-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/51235
+ * gcc.target/i386/pr51235.c: New test.
+
+ PR target/51236
+ * gcc.target/i386/pr51236.c: New test.
+
+2011-11-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr32.adb: New test.
+ * gnat.dg/discr32_pkg.ads: New helper.
+
+2011-11-20 Nathan Sidwell <nathan@acm.org>
+
+ PR gcov-profile/51113
+ * gcc.misc-tests/gcov-13.c: Check gcovpart-13b coverage
+ * gcc.misc-tests/gcov-16.c: New.
+ * gcc.misc-tests/gcov-17.c: New.
+ * g++.dg/gcov/gcov-8.C: New.
+ * g++.dg/gcov/gcov-9.C: New.
+ * g++.dg/gcov/gcov-10.C: New.
+
+2011-11-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51194
+ * g++.dg/cpp0x/alias-decl-15.C: New test.
+
+2011-11-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51216
+ * g++.dg/cpp0x/pr51216.C: New.
+
+2011-11-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/delay-slot-2.c: New test.
+
+2011-11-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/cpp/assert4.c: Test __linux__, not __gnu_linux__.
+
+2011-11-18 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/51188
+ * g++.dg/lookup/using46.C: New.
+ * g++.dg/lookup/using47.C: New.
+ * g++.dg/lookup/using48.C: New.
+ * g++.dg/lookup/using49.C: New.
+ * g++.dg/lookup/using50.C: New.
+
+2011-11-18 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gcc.c-torture/compile/pr44707.c: Do not assume assembler
+ supports /* ... */ comments.
+
+2011-11-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51150
+ * g++.dg/cpp0x/pr51150.C: New.
+
+2011-11-18 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50605
+ * g++.dg/ipa/pr50605.C: New test.
+
+2011-11-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51191
+ * g++.dg/cpp0x/alias-decl-13.C: New test.
+
+2011-11-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51186
+ * g++.dg/cpp0x/auto27.C: New.
+ * g++.dg/cpp0x/trailing2.C: Adjust messages.
+
+2011-11-17 Andrew MacLeod <amacleod@redhat.com>
+
+ * gcc.dg/atomic-generic-aux.c (__atomic_compare_exchange): Fail if
+ memory model parameters don't match expected values.
+ * gcc.dg/atomic-generic.c: Pass specific memory model parameters to
+ __atomic_compare_exchange.
+ * gcc.dg/atomic-noinline.c: Pass specific memory model parameters to
+ __atomic_compare_exchange_n.
+ * gcc.dg/atomic-noinline-aux.c (__atomic_compare_exchange_2): Remove
+ weak/strong parameter and fail if memory models aren't correct.
+
+2011-10-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/gcc-simulate-thread.exp (simulate-thread): Run on all targets.
+ Look for simulate_thread_done to determine working gdb. Reduce timeout
+ to 10 seconds and fail when timeout occurs. Improve error messages.
+
+2011-11-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/51137
+ * g++.dg/template/virtual2.C: New.
+
+2011-11-17 Michael Matz <matz@suse.de>
+
+ PR middle-end/50644
+ PR middle-end/50741
+ * g++.dg/tree-ssa/pr50741.C: New.
+
+2011-11-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/gcc-simulate-thread.exp (simulate-thread): Skip on alpha*-*-*.
+
+2011-10-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tm/memopt-6.c: Cleanup tmedge tree dump.
+ * gcc.dg/tm/memopt-13.c: Cleanup tmmark tree dump.
+ * g++.dg/eh/array1.C: Cleanup gimple tree dump.
+
+2011-11-16 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39427
+ PR fortran/37829
+ * gfortran.dg/constructor_1.f90: New.
+ * gfortran.dg/constructor_2.f90: New.
+ * gfortran.dg/constructor_3.f90: New.
+ * gfortran.dg/constructor_4.f90: New.
+ * gfortran.dg/constructor_5.f90: New.
+ * gfortran.dg/constructor_6.f90: New.
+ * gfortran.dg/use_only_5.f90: New.
+ * gfortran.dg/c_ptr_tests_17.f90: New.
+ * gfortran.dg/c_ptr_tests_18.f90: New.
+ * gfortran.dg/used_types_25.f90: New.
+ * gfortran.dg/used_types_26.f90: New
+ * gfortran.dg/type_decl_3.f90: New.
+ * gfortran.dg/function_types_3.f90: Update dg-error.
+ * gfortran.dg/result_1.f90: Ditto.
+ * gfortran.dg/structure_constructor_3.f03: Ditto.
+ * gfortran.dg/structure_constructor_4.f03: Ditto.
+
+2011-10-16 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.dg/vect/pr30858.c: Update expected output for
+ architectures with multiple vector sizes.
+
+2011-11-16 Richard Earnshaw <rearnsha@arm.com>
+ Bernd Schmidt <bernds@coudesourcery.com>
+ Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ PR target/49641
+ * gcc.target/arm/pr49641.c: New test.
+
+2011-11-16 Razya Ladelsky <razya@il.ibm.com>
+
+ PR tree-optimization/49960
+ * gcc.dg/autopar/pr49960.c: New test.
+ * gcc.dg/autopar/pr49960-1.c: New test.
+
+
+2011-11-16 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump.
+ * gcc.dg/pr43864-2.c: Same.
+ * gcc.dg/pr43864-3.c: Same.
+ * gcc.dg/pr43864-4.c: Same.
+
+2011-11-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse2-cvt-vec.c: New test.
+ * gcc.target/i386/avx-cvt-vec.c: Ditto.
+ * gcc.target/i386/avx-cvt-2-vec.c: Ditto.
+ * gcc.target/i386/avx-floor-sfix-2-vec.c: Ditto.
+ * gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto.
+ * gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto.
+ * gcc.target/i386/avx-round-sfix-2-vec.c: Ditto.
+
+2011-11-15 Iain Sandoe <iains@gcc.gnu.org>
+
+ * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
+ powerpc*-*-darwin* targets.
+
+2011-11-15 Torvald Riegel <triegel@redhat.com>
+
+ * c-c++-common/tm/trxn-expr-3.c: New test.
+
+2011-11-14 Torvald Riegel <triegel@redhat.com>
+
+ * g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.
+
+2011-11-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx-recip-vec.c: New test.
+ * gcc.target/i386/avx-lrintf-vec.c: Ditto.
+ * gcc.target/i386/avx-lrint-vec.c: Ditto.
+ * gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c.
+ * gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c.
+ * gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c.
+ * gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c.
+ * gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c.
+ * gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c.
+ * gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c.
+ * gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c.
+ * gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c.
+ * gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c.
+ * gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c.
+ * gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c.
+
+2011-11-14 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/51107
+ * g++.dg/cpp0x/udlit-args-neg.C: Add check for void argument
+ non-template literal operator.
+
+2011-11-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
+ * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-rint-sfix-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-rintf-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-rint-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-rintf-sfix-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-round-sfix-vec.c: Ditto.
+ * gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.
+
+2011-11-14 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/6936
+ PR c++/25994
+ PR c++/26256
+ PR c++/30195
+ * g++.old-deja/g++.brendan/misc14.C: Adjust.
+ * g++.old-deja/g++.jason/scoping16.C: Likewise.
+ * g++.old-deja/g++.other/anon7.C: Likewise.
+ * g++.old-deja/g++.other/using1.C: Likewise.
+ * g++.old-deja/g++.other/redecl1.C: Likewise.
+ * g++.old-deja/g++.other/typedef7.C: Likewise.
+ * g++.old-deja/g++.bugs/900127_02.C: Likewise.
+ * g++.dg/template/using2.C: Likewise.
+ * g++.dg/template/static4.C: Likewise.
+ * g++.dg/template/typedef1.C: Likewise.
+ * g++.dg/lookup/name-clash9.C: Likewise.
+ * g++.dg/abi/mangle41.C: Likewise.
+ * g++.dg/parse/ctor5.C: Likewise.
+ * g++.dg/inherit/using4.C: Likewise.
+ * g++.dg/lookup/using24.C: New.
+ * g++.dg/lookup/using25.C: New.
+ * g++.dg/lookup/using26.C: New.
+ * g++.dg/lookup/using27.C: New.
+ * g++.dg/lookup/using28.C: New.
+ * g++.dg/lookup/using29.C: New.
+ * g++.dg/lookup/using30.C: New.
+ * g++.dg/lookup/using31.C: New.
+ * g++.dg/lookup/using32.C: New.
+ * g++.dg/lookup/using33.C: New.
+ * g++.dg/lookup/using34.C: New.
+ * g++.dg/lookup/using35.C: New.
+ * g++.dg/lookup/using36.C: New.
+ * g++.dg/lookup/using37.C: New.
+ * g++.dg/lookup/using38.C: New.
+ * g++.dg/lookup/using39.C: New.
+ * g++.dg/lookup/using40.C: New.
+ * g++.dg/lookup/using41.C: New.
+ * g++.dg/lookup/using42.C: New.
+ * g++.dg/lookup/using43.C: New.
+ * g++.dg/lookup/using44.C: New.
+ * g++.dg/lookup/using45.C: New.
+ * g++.dg/lookup/pr6936.C: New.
+ * g++.dg/debug/using4.C: New.
+ * g++.dg/debug/using5.C: New.
+ * g++.dg/cpp0x/forw_enum10.C: New.
+
+2011-11-14 Zolotukhin Michael <michael.v.zolotukhin@gmail.com>
+ Jan Hubicka <jh@suse.cz>
+
+ * gcc.target/i386/sw-1.c: Force rep;movsb.
+
+2011-11-14 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR testsuite/51059
+ * gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
+ dg-additional-options.
+
+2011-11-13 Oleg Endo <oleg.endo@t-online.de>
+
+ * gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
+ specified. Remove redundant runtime checks.
+ * gcc.target/sh/20080410-1.c: Skip if -mb is specified.
+ Allow for other than -m4. Fix typos in comments.
+
+2011-11-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/986
+ * g++.dg/warn/ref-temp1.C: New.
+
+ PR c++/51060
+ * g++.dg/opt/stack2.C: New.
+
+2011-11-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
+ alpha*-*-linux* targets.
+
+2011-11-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR testsuite/51059
+ * gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
+ Darwin targets and allow external symbols to be undefined.
+
+2011-11-12 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.misc-tests/gcov-15.c: New.
+
+2011-11-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51058
+ * gcc.dg/vect/fast-math-vect-call-1.c: Add f4 test.
+ * gfortran.dg/vect/pr51058-2.f90: New test.
+
+2011-11-10 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/linkage1.C: New.
+ * g++.dg/ext/visibility/anon8.C: Adjust for C++11.
+ * g++.old-deja/g++.other/linkage4.C: Likewise.
+
+ PR c++/50973
+ * g++.dg/cpp0x/defaulted33.C: New.
+
+2011-11-10 Andrew MacLeod <amacleod@redhat.com>
+
+ PR middle-end/51038
+ * gcc.dg/atomic-invalid.c: Add test for invalid __atomic_clear models.
+ * gcc.dg/atomic-flag.c: New. Test __atomic_test_and_set and
+ __atomic_clear.
+
+2011-11-10 Andrew MacLeod <amacleod@redhat.com>
+
+ PR rtl-optimization/51040
+ * testsuite/gcc.dg/atomic-noinline[-aux].c: Test no-inline NAND and
+ patchup code.
+
+2011-11-10 Jason Merrill <jason@redhat.com>
+
+ PR c++/51079
+ * g++.dg/template/conv12.C: New.
+
+ PR debug/50983
+ * gcc.dg/debug/dwarf2/asm-line1.c: New.
+
+2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/atomic6_1.adb: New test.
+ * gnat.dg/atomic6_2.adb: Likewise.
+ * gnat.dg/atomic6_3.adb: Likewise.
+ * gnat.dg/atomic6_4.adb: Likewise.
+ * gnat.dg/atomic6_5.adb: Likewise.
+ * gnat.dg/atomic6_6.adb: Likewise.
+ * gnat.dg/atomic6_7.adb: Likewise.
+ * gnat.dg/atomic6_8.adb: Likewise.
+ * gnat.dg/atomic6_pkg.ads: New helper.
+
+2011-11-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/51077
+ * gcc.c-torture/compile/pr51077.c: New test.
+
+ PR rtl-optimization/51023
+ * gcc.c-torture/execute/pr51023.c: New test.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51042
+ * gcc.dg/torture/pr51042.c: New testcase.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51070
+ * gcc.dg/torture/pr51070.c: New testcase.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51030
+ * gcc.dg/tree-ssa/phi-opt-6.c: New testcase.
+
+2011-11-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51071
+ * gcc.dg/torture/pr51071.c: New testcase.
+
+2011-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/loop_optimization9.ad[sb]: New test.
+
+2011-11-10 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51058
+ * gfortran.dg/vect/pr51058.f90: New test.
+
+2011-11-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51000
+ * gcc.dg/vect/pr51000.c: New test.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50837
+ * g++.dg/cpp0x/static_assert5.C: New.
+ * g++.dg/template/nontype13.C: Tweak.
+
+2011-11-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/50972
+ * g++.dg/cpp0x/noexcept16.C: New.
+
+ PR c++/51046
+ * g++.dg/cpp0x/variadic119.C: New.
+
+2011-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50911
+ * gcc.dg/torture/vshuf-16.inc: Add interleave low and high
+ permutations.
+ * gcc.dg/torture/vshuf-32.inc: Likewise.
+ * gcc.dg/torture/vshuf-4.inc: Likewise.
+ * gcc.dg/torture/vshuf-8.inc: Likewise.
+
+ * gcc.dg/tm/memopt-1.c: Fix up regexp.
+
+2011-11-09 Ian Lance Taylor <iant@google.com>
+
+ * lib/target-supports.exp (check_effective_target_ucontext_h): New
+ procedure.
+ * gcc.dg/split-5.c: New test.
+
+2011-11-09 Patrick Marlier <patrick.marlier@gmail.com>
+
+ * gcc.dg/tm/memopt-1.c: Adjust regexp.
+
+2011-11-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/51029
+ * g++.dg/template/virtual1.C: New.
+
+2011-11-08 Jason Merrill <jason@redhat.com>
+
+ Run most C++ tests in both C++98 and C++11 modes.
+ * lib/target-supports.exp (check_effective_target_c++11): New.
+ (check_effective_target_c++98): New.
+ * lib/g++-dg.exp (g++-dg-runtest): New.
+ * g++.dg/dg.exp: Use g++-dg-runtest.
+ * g++.dg/charset/charset.exp: Likewise.
+ * g++.dg/debug/dwarf2/dwarf2.exp: Likewise.
+ * g++.dg/dfp/dfp.exp: Likewise.
+ * g++.dg/gcov/gcov.exp: Likewise.
+ * g++.dg/gomp/gomp.exp: Likewise.
+ * g++.dg/graphite/graphite.exp: Likewise.
+ * g++.dg/tls/tls.exp: Likewise.
+ * g++.dg/tm/tm.exp: Likewise.
+ * g++.dg/vect/vect.exp: Likewise.
+ * g++.old-deja/old-deja.exp: Likewise.
+ * g++.dg/simulate-thread/simulate-thread.exp: Pass -std flags
+ with some of the torture options.
+ * g++.dg/abi/mangle4.C: Move to template/nontype25.C.
+ * g++.dg/template/sfinae6_neg.C: Add C++11 error.
+ * g++.dg/init/null1.C: Only run in C++98.
+ * g++.dg/warn/Wconversion-null-3.C: Likewise.
+ * g++.old-deja/g++.benjamin/p12475.C: Likewise.
+ * g++.old-deja/g++.brendan/crash64.C: Likewise.
+ * g++.old-deja/g++.other/anon9.C: Likewise.
+ * g++.old-deja/g++.other/linkage1.C: Likewise.
+ * g++.old-deja/g++.other/linkage2.C: Likewise.
+ * g++.old-deja/g++.pt/t29.C: Likewise.
+ * g++.old-deja/g++.pt/t30.C: Likewise.
+ * g++.dg/cpp0x/variadic60.C: Only error in C++98.
+ * g++.dg/ext/anon-struct4.C: Likewise.
+ * g++.dg/init/brace2.C: Likewise.
+ * g++.dg/init/brace6.C: Likewise.
+ * g++.dg/other/anon3.C: Likewise.
+ * g++.dg/template/arg2.C: Likewise.
+ * g++.old-deja/g++.brendan/cvt1.C: Likewise.
+ * g++.old-deja/g++.brendan/enum11.C: Likewise.
+ * g++.old-deja/g++.brendan/enum8.C: Likewise.
+ * g++.old-deja/g++.brendan/enum9.C: Likewise.
+ * g++.old-deja/g++.brendan/friend3.C: Likewise.
+ * g++.old-deja/g++.brendan/init2.C: Likewise.
+ * g++.old-deja/g++.brendan/init4.C: Likewise.
+ * g++.old-deja/g++.brendan/misc14.C: Likewise.
+ * g++.old-deja/g++.jason/cond.C: Likewise.
+ * g++.old-deja/g++.law/init1.C: Likewise.
+ * g++.old-deja/g++.law/operators32.C: Likewise.
+ * g++.old-deja/g++.pt/enum6.C: Likewise.
+ * g++.old-deja/g++.pt/explicit70.C: Likewise.
+ * g++.old-deja/g++.pt/ptrmem6.C: Likewise.
+
+ * g++.dg/eh/new1.C: Adjust for C++11 mode.
+ * g++.dg/init/new11.C: Likewise.
+ * g++.dg/init/pr29571.C: Likewise.
+ * g++.dg/lookup/forscope2.C: Likewise.
+ * g++.dg/parse/linkage1.C: Likewise.
+ * g++.dg/parse/typedef8.C: Likewise.
+ * g++.dg/template/error44.C: Likewise.
+ * g++.dg/tls/diag-2.C: Likewise.
+ * g++.dg/tls/diag-4.C: Likewise.
+ * g++.dg/warn/anonymous-namespace-3.C: Likewise.
+ * g++.old-deja/g++.abi/arraynew.C: Likewise.
+ * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
+ * g++.old-deja/g++.brendan/new3.C: Likewise.
+ * g++.old-deja/g++.eh/new1.C: Likewise.
+ * g++.old-deja/g++.eh/new2.C: Likewise.
+ * g++.old-deja/g++.jason/new.C: Likewise.
+ * g++.old-deja/g++.law/friend1.C: Likewise.
+ * g++.old-deja/g++.mike/net46.C: Likewise.
+ * g++.old-deja/g++.mike/p755.C: Likewise.
+ * g++.old-deja/g++.other/new6.C: Likewise.
+
+ * g++.dg/cpp0x/variadic74.C: Adjust diags.
+ * g++.dg/template/crash53.C: Likewise.
+ * g++.dg/template/void9.C: Likewise.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51045
+ * g++.dg/warn/Wzero-as-null-pointer-constant-2.C: New.
+
+2011-11-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/51047
+ * g++.dg/cpp0x/sfinae29.C: New.
+
+2011-11-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50960
+ * gfortran.dg/typebound_call_22.f03: New test case.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/50016
+ * gfortran.dg/inquire_size.f90: Don't flush the unit.
+
+2011-11-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51039
+ * gcc.dg/pr51039.c: New testcase.
+
+2011-11-09 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/target-supports.exp (check_effective_target_vect_cond_mixed):
+ Enable also for powerpc*-*-*.
+
+2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50540
+ * gfortran.dg/forall_16.f90: New test.
+
+2011-11-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/38718
+ * gfortran.dg/initialization_29.f90: Expand test.
+
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/51027
+ * g++.dg/cpp0x/alias-decl-12.C: New test.
+ * g++.dg/ext/alias-decl-attr4.C: Append missing ';'.
+
+2011-11-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/51032
+ * g++.dg/cpp0x/alias-decl-debug-0.C: New test.
+
+2011-11-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/51015
+ * gcc.dg/vect/pr51015.c: New test.
+
+2011-11-08 David S. Miller <davem@davemloft.net>
+
+ * lib/target-supports.exp (check_effective_target_sparc_vis): New.
+ (check_effective_target_vect_cmdline_needed): Use it when sparc*-*-*
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50404
+ * gfortran.dg/io_constraints_3.f90: Improve testcase.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR fortran/50409
+ * gfortran.dg/string_5.f90: Improve testcase.
+
+2011-10-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/50835
+ * g++.dg/template/lvalue2.C: New.
+
+2011-11-08 Michael Matz <matz@suse.de>
+
+ * gcc.dg/tree-ssa/20031015-1.c: Adjust.
+ * g++.dg/tree-ssa/ehcleanup-1.C: Ditto.
+ * g++.dg/eh/builtin1.C: Rewrite to not use local variables.
+ * g++.dg/eh/builtin2.C: Ditto.
+ * g++.dg/eh/builtin3.C: Ditto.
+
+2011-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/avx-cvt-2.c: Adjust for 32-byte integer vectors
+ being prefered even for -mavx.
+ * gcc.target/i386/avx-cvt-3.c: New test.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/51012
+ * gcc.dg/pr51012-1.c: New testcase.
+ * gcc.dg/pr51012-2.c: Likewise.
+
+2011-11-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/51010
+ * c-c++-common/uninit-pr51010.c: New testcase.
+
+2011-11-08 Jakub Jelinek <jakub@redhat.com>
+
+ * lib/target-supports.exp (check_effective_target_vect_call_sqrtf,
+ check_effective_target_vect_call_copysignf,
+ check_effective_target_vect_call_lrint): New procedures.
+ * gcc.dg/vect/vect.exp: Run fast-math-bb-slp* tests using
+ $VECT_SLP_CFLAGS with -ffast-math.
+ * gcc.dg/vect/fast-math-vect-call-1.c: New test.
+ * gcc.dg/vect/fast-math-vect-call-2.c: New test.
+ * gcc.dg/vect/fast-math-bb-slp-call-1.c: New test.
+ * gcc.dg/vect/fast-math-bb-slp-call-2.c: New test.
+
+2011-11-07 Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+ Torvald Riegel <triegel@redhat.com>
+
+ Merged from transactional-memory.
+
+ * g++.dg/dg.exp: Run transactional memory tests.
+ * g++.dg/tm: New directory with new tests.
+ * gcc.dg/tm: New directory with new tests.
+ * c-c++-common/tm: New directory with new tests.
+
+2011-11-08 Dodji Seketeli <dodji@redhat.com>
+
+ Fix context handling of alias-declaration
+ * g++.dg/cpp0x/alias-decl-11.C: New test.
+
+2011-11-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50864
+ * g++.dg/parse/template26.C: New.
+ * g++.dg/template/crash45.C: Adjust dg-error string.
+
+2011-11-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/50848
+ * g++.dg/template/lookup9.C: New.
+
+ PR c++/50863
+ * g++.dg/cpp0x/lambda/lambda-initlist1.C: New.
+
+ PR c++/50870
+ * g++.dg/cpp0x/decltype35.C: New.
+
+2011-11-07 Dodji Seketeli <dodji@redhat.com>
+
+ Support C++11 alias-declaration
+ PR c++/45114
+ * g++.dg/cpp0x/alias-decl-0.C: New test case.
+ * g++.dg/cpp0x/alias-decl-1.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-3.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-4.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-6.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-7.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-8.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-9.C: Likewise.
+ * g++.dg/cpp0x/alias-decl-10.C: Likewise.
+ * g++.dg/ext/alias-decl-attr1.C: Likewise.
+ * g++.dg/ext/alias-decl-attr2.C: Likewise.
+ * g++.dg/ext/alias-decl-attr3.C: Likewise.
+ * g++.dg/ext/alias-decl-attr4.C: Likewise.
+
+2011-11-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pragma-align-2.c: Compile with -std=gnu99.
+
+2011-11-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50919
+ * gfortran.dg/typebound_call_21.f03: New.
+
+2011-11-07 Nathan Sidwell <nathan@acm.org>
+
+ * gcc.dg/profile-dir-1.c: Adjust final scan.
+ * gcc.dg/profile-dir-2.c: Adjust final scan.
+ * gcc.dg/profile-dir-3.c: Adjust final scan.
+ * gcc.misc-tests/gcov.exp: Adjust regexp.
+ * gcc.misc-tests/gcov-12.c: New.
+ * gcc.misc-tests/gcov-13.c: New.
+ * gcc.misc-tests/gcovpart-13b.c: New.
+ * gcc.misc-tests/gcov-14.c: New.
+
+2011-11-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/35688
+ * g++.dg/ext/visibility/template8.C: New.
+
+2011-11-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50789
+ * gcc.target/i386/avx2-gather-1.c: New test.
+ * gcc.target/i386/avx2-gather-2.c: New test.
+ * gcc.target/i386/avx2-gather-3.c: New test.
+ * gcc.target/i386/avx2-gather-4.c: New test.
+
+2011-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/pr49781-1.c (dg-options): Add -mtune=generic.
+
+2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/45723
+ * gfortran.dg/open_dev_null.f90: Remove testcase.
+
+2011-11-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/target-supports.exp (check_effective_target_sync_int_128):
+ Don't cache the result.
+ (check_effective_target_sync_long_long): Ditto.
+
+2011-11-07 Sergey Ostanevich <sergos.gnu@gmail.com>
+
+ PR rtl-optimization/47698
+ * gcc.target/i386/47698.c: New test.
+
+2011-11-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/35688
+ * g++.dg/ext/visibility/template7.C: New.
+
+2011-11-07 Terry Guo <terry.guo@arm.com>
+
+ * gcc.target/arm/wmul-1.c: Adjust optimization level.
+ * gcc.target/arm/wmul-2.c: Ditto.
+ * gcc.target/arm/wmul-3.c: Ditto.
+ * gcc.target/arm/wmul-4.c: Ditto.
+
+2011-11-06 Joseph Myers <joseph@codesourcery.com>
+
+ * g++.dg/cpp0x/alignof3.C, gcc.dg/c1x-align-1.c,
+ gcc.dg/c1x-align-2.c, gcc.dg/c1x-align-3.c, gcc.dg/c1x-align-4.c,
+ gcc.dg/c90-align-1.c, gcc.dg/c99-align-1.c: New tests.
+ * gcc.dg/gnu89-const-expr-1.c, gcc.dg/gnu90-const-expr-1.c,
+ gcc.dg/gnu99-const-expr-1.c, gcc.dg/gnu99-static-1.c: Update
+ expected diagnostics.
+
+2011-11-06 Andrew MacLeod <amacleod@redhat.com>
+ Richard Henderson <rth@redhat.com>
+ Aldy Hernandez <aldyh@redhat.com>
+
+ Merged from cxx-mem-model.
+
+ * lib/target-supports.exp (check_effective_target_sync_int_128,
+ check_effective_target_sync_long_long): Check whether the target
+ supports 64 and 128 bit __sync builtins.
+ (check_effective_target_cas_char): New.
+ (check_effective_target_cas_int): New.
+ * gcc.dg/dg.exp: Exclude simulate-thread tests.
+ * gcc.dg/atomic-noinline[-aux].c: New. Make a variety of atomics calls.
+ * gcc.dg/atomic-generic[-aux].c: New. Test that generic functions
+ produce the expected library calls.
+ * gcc.dg/atomic-fence.c: New functional tests.
+ * gcc.dg/atomic-param.c: New. Checl for illegal number of parameters.
+ * gcc.dg/atomic-invalid.c: New. Test invalid parameters.
+ * gcc.dg/atomic-lockfree[-aux].c: New tests.
+ * gcc.dg/atomic-compare-exchange-{1-5}.c: New functional tests.
+ * gcc.dg/atomic-op-[1-5].c: New. Test atomic fetch functionality.
+ * gcc.dg/atomic-exchange-{1-5}.c: New functional tests.
+ * gcc.dg/atomic-load-{1-5}.c: New functional tests.
+ * gcc.dg/atomic-store-{1-5}.c: New functional tests.
+ * gcc.dg/simulate-thread/atomic-load-int128.c: New. Verify int128 loads
+ are atomic.
+ * gcc.dg/simulate-thread/atomic-load-longlong.c: New. Verify 8 byte
+ loads are atomic.
+ * gcc.dg/simulate-thread/atomic-load-int.c: New. Verify 4 byte loads
+ are atomic.
+ * gcc.dg/simulate-thread/atomic-load-short.c: New. Verify 2 byte loads
+ are atomic.
+ * gcc.dg/simulate-thread/atomic-other-int128.c: New. Verify other
+ int128 operations are atomic.
+ * gcc.dg/simulate-thread/atomic-other-int.c: New. Verify other 4 byte
+ operations are atomic.
+ * gcc.dg/simulate-thread/atomic-other-longlong.c: New. Verify 8 byte
+ operations are atomic.
+ * gcc.dg/simulate-thread/atomic-other-short.c: New. Verify other 2 byte
+ operations are atomic.
+ * gcc.dg/simulate-thread/speculative-store.c: New. Verify speculative
+ stores aren't moved out of a loop.
+ * gcc.dg/simulate-thread/strict-align-global.c: New. Verify small
+ globals don't overwrite neighbouring globals.
+ * gcc.dg/simulate-thread/subfields.c: New. Verify struct component
+ writes dont overwrite neighbouring components.
+ * c-c++-common/gomp/atomic-10.c: Use cas_int; match __atomic builtin.
+ * c-c++-common/gomp/atomic-3.c: Likewise.
+ * c-c++-common/gomp/atomic-9.c: Likewise.
+ * gcc.dg/gomp/atomic-1.c, gcc.dg/gomp/atomic-2.c,
+ gcc.dg/gomp/atomic-3.c, gcc.dg/gomp/atomic-4.c, gcc.dg/gomp/atomic-7.c,
+ gcc.dg/gomp/atomic-8.c, gcc.dg/gomp/atomic-9.c,
+ gcc.dg/gomp/atomic-10.c, gcc.dg/gomp/atomic-12.c,
+ gcc.dg/gomp/atomic-13.c, gcc.dg/gomp/atomic-14.c,
+ gcc.dg/gomp/atomic-15.c: Move to c-c++-common/gomp/.
+ * g++.dg/gomp/atomic-1.C, g++.dg/gomp/atomic-2.C,
+ g++.dg/gomp/atomic-3.C, g++.dg/gomp/atomic-4.C, g++.dg/gomp/atomic-7.C,
+ g++.dg/gomp/atomic-8.C, g++.dg/gomp/atomic-9.C,
+ g++.dg/gomp/atomic-10.C, g++.dg/gomp/atomic-11.C,
+ g++.dg/gomp/atomic-12.C, g++.dg/gomp/atomic-13.C,
+ g++.dg/gomp/atomic-15.C: Remove.
+ * gcc.dg/gomp/gomp.exp, g++.dg/gomp/gomp.exp: Run c-c++-common tests.
+ * gcc.dg/gomp/atomic-11.c: Remove test.
+
+2011-11-06 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/bb-slp-cond-1.c: New test.
+ * gcc.dg/vect/slp-cond-1.c: New test.
+ * gcc.dg/vect/slp-cond-2.c: New test.
+
+2011-11-05 David S. Miller <davem@davemloft.net>
+
+ * lib/test-supports.exp
+ (check_effective_target_ultrasparc_vis2_hw): New proc.
+ (check_effective_target_ultrasparc_vis3_hw): New proc.
+ * gcc.target/sparc/vec-init-1.inc: New vector init common code.
+ * gcc.target/sparc/vec-init-2.inc: Likewise.
+ * gcc.target/sparc/vec-init-3.inc: Likewise.
+ * gcc.target/sparc/vec-init-1-vis1.c: New test.
+ * gcc.target/sparc/vec-init-1-vis2.c: New test.
+ * gcc.target/sparc/vec-init-1-vis3.c: New test.
+ * gcc.target/sparc/vec-init-2-vis1.c: New test.
+ * gcc.target/sparc/vec-init-2-vis2.c: New test.
+ * gcc.target/sparc/vec-init-2-vis3.c: New test.
+ * gcc.target/sparc/vec-init-3-vis1.c: New test.
+ * gcc.target/sparc/vec-init-3-vis2.c: New test.
+ * gcc.target/sparc/vec-init-3-vis3.c: New test.
+
+2011-11-05 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x:
+ Disable test on Epiphany.
+ * gcc.c-torture/execute/20101011-1.c: Disable test on Epiphany.
+ * gcc.dg/stack-usage-1.c [__epiphany__] (SIZE): Define.
+ * gcc.dg/pragma-pack-3.c: Disable test on Epiphany.
+ * g++.dg/parse/pragma3.C: Likewise.
+ * stackalign/builtin-apply-2.c (STACK_ARGUMENTS_SIZE): Define.
+ (bar): Use it.
+ * gcc.dg/weak/typeof-2.c [epiphany-*-*]: Add option -mshort-calls.
+ * gcc.dg/tls/thr-cse-1.c: Likewise.
+ * g++.dg/opt/devirt2.C: Likewise.
+ * gcc.dg/20020312-2.c [epiphany-*-*] (PIC_REG): Define.
+ * gcc.dg/builtin-apply2.c [__epiphany__]: (STACK_ARGUMENTS_SIZE): 20.
+ * gcc.target/epiphany: New directory.
+
+2011-11-05 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/quad_2.f90: New.
+
+2011-11-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/strlenopt-22g.c: New wrapper around...
+ * gcc.dg/strlenopt-22.c: ...this. Do not define USE_GNU and adjust.
+
+2011-11-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/26714
+ * g++.dg/init/lifetime2.C: New.
+ * g++.dg/cpp0x/initlist-lifetime2.C: New.
+
+ PR c++/48370
+ * g++.dg/init/lifetime1.C: Test cleanup order.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/offsetof7.C: New test.
+
+2011-11-04 Hans-Peter Nilsson <hp@axis.com>
+
+ * lib/gcc-dg.exp (gcc_force_conventional_output): New global
+ variable, default empty, -ffat-lto-objects for effective_target_lto.
+ (gcc-dg-test-1): Add options from dg-final methods.
+ * lib/scanasm.exp (scan-assembler_required_options)
+ (scan-assembler-not_required_options): New procs.
+
+2011-10-09 Magnus Fromreide <magfr@lysator.liu.se>
+
+ * g++.dg/cpp0x/enum21a.C: Test that enum x { y, } does
+ generate a pedwarn in c++98-mode.
+ * g++.dg/cpp0x/enum21b.C: Test that enum x { y, }
+ don't generate a pedwarn in c++0x-mode.
+
+2011-11-04 Olivier Goffart <olivier@woboq.com>
+
+ PR c++/50965
+ * g++.dg/cpp0x/nsdmi1.C: Add more cases.
+
+2011-11-04 Jiangning Liu <jiangning.liu@arm.com>
+
+ PR rtl-optimization/38644
+ * gcc.target/arm/stack-red-zone.c: New.
+
+2011-11-04 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48420
+ * g++.dg/warn/Wconversion-null-3.C: New.
+
+2011-11-04 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ PR c++/50941
+ * g++.dg/cpp0x/udlit-strint-length.C: New.
+
+2011-11-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/48370
+ * g++.dg/cpp0x/initlist-lifetime1.C: New.
+ * g++.dg/init/lifetime1.C: New.
+ * g++.dg/init/ref21.C: New.
+ * g++.dg/eh/array1.C: New.
+
+2011-11-04 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * gcc.dg/pr50763-5.c: New test.
+
+2011-11-04 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * g++.dg/pr50763-4.C: New test.
+
+2011-11-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/torture/vec-cvt-1.c: Enable commented out inttoflttestui
+ test.
+
+ * gcc.dg/torture/vec-cvt-1.c: Enable flttointtestui test.
+
+ * gcc.dg/torture/vec-cvt-1.c: New test.
+
+2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/private1[-sub].ads: New test.
+
+2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/43829
+ * gfortran.dg/function_optimize_7.f90: Disable sum inlining.
+ * gfortran.dg/inline_sum_1.f90: New.
+ * gfortran.dg/inline_sum_2.f90: New.
+ * gfortran.dg/inline_sum_bounds_check_1.f90: New.
+ * gfortran.dg/inline_sum_bounds_check_2.f90: New.
+ * gfortran.dg/inline_product_1.f90: New.
+
+2011-11-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50933
+ * gfortran.dg/bind_c_dts_5.f90: New.
+
+2011-11-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50960
+ * gfortran.dg/module_parameter_array_refs_2.f90: New.
+
+2011-11-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50079
+ * g++.dg/init/copy7.C: Remove testcase.
+
+2011-11-03 Martin Jambor <mjambor@suse.cz>
+
+ * g++.dg/ipa/devirt-c-1.C: Add dump scans.
+ * g++.dg/ipa/devirt-c-2.C: Likewise.
+ * g++.dg/ipa/devirt-c-7.C: New test.
+ * g++.dg/ipa/devirt-c-8.C: Likewise.
+
+2011-11-03 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50912
+ * gnat.dg/loop_optimization10.ad[sb]: New test.
+ * gnat.dg/loop_optimization10_pkg.ads: New helper.
+
+2011-11-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/50930
+ * g++.dg/cpp0x/nsdmi-list2.C: New.
+
+2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * g++.dg/cpp0x/warn_cxx0x2.C: New.
+ * g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
+
+2011-11-02 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50769
+ * gfortran.dg/pr50769.f90: New test.
+
+2011-11-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/sparc/20111102-1.c: New test.
+
+2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50956
+ * g++.dg/warn/Wcast-qual2.C: New.
+
+2011-11-02 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * g++.dg/pr50763-3.C: New test.
+
+2011-11-02 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50672
+ * g++.dg/pr50672.C: New test.
+
+2011-11-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx-cvt-2.c (dg-options): Add -mtune=generic.
+ * gcc.target/i386/avx2-cvt-2.c (dg-options): Ditto.
+ * gcc.target/i386/sse2-cvt-2.c (dg-options): Ditto.
+
+ * gcc.target/i386/vectorize4-avx.c (scan-assembler): Remove xfail.
+
+2011-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50902
+ * gcc.dg/torture/pr50902.c: New testcase.
+
+2010-11-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50890
+ * gcc.dg/torture/pr50890.c: New testcase.
+
+2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44277
+ * g++.dg/warn/Wzero-as-null-pointer-constant-1.C: New.
+ * g++.dg/cpp0x/Wzero-as-null-pointer-constant-1.C: Likewise.
+
+2011-11-01 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50908
+ * gcc.dg/pr50908.c: New test.
+ * gcc.dg/pr50908-2.c: Same.
+ * gcc.dg/pr50908-3.c: Same.
+
+2011-11-01 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/no-scevccp-outer-6-global.c: Expect to vectorize
+ the outer loop. Remove comment. Don't check for widen-mult.
+
+2011-10-31 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/ipa/ipcp-4.c: New test.
+
+2011-10-31 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vshift-3.c: New test.
+ * gcc.dg/vshift-4.c: New test.
+ * gcc.dg/vshift-5.c: New test.
+
+2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * gfortran.dg/inquire_5.f90: Update testcase to match the standard
+ and current implementation.
+
+2011-10-31 Paul Brook <paul@codesourcery.com>
+
+ * gcc.dg/constructor-1.c: New test.
+
+2011-10-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50753
+ * gfortran.dg/dshift_3.f90: New test.
+
+2011-10-30 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gcc.dg/scal-to-vec2.c (dg-options): Add -fno-common to options on
+ hppa*-*-hpux*.
+ * gcc.dg/torture/vshuf-v8hi.c: Likewise.
+ * gcc.dg/torture/vshuf-v4si.c: Likewise.
+ * gcc.dg/torture/vshuf-v8si.c: Likewise.
+ * gcc.dg/torture/vshuf-v32qi.c: Likewise.
+ * gcc.dg/torture/vshuf-v4di.c: Likewise.
+ * gcc.dg/torture/vshuf-v2df.c: Likewise.
+ * gcc.dg/torture/vshuf-v16qi.c: Likewise.
+ * gcc.dg/torture/vshuf-v4sf.c: Likewise.
+ * gcc.dg/torture/vshuf-v8sf.c: Likewise.
+ * gcc.dg/torture/vshuf-v2di.c: Likewise.
+ * gcc.dg/torture/vshuf-v16hi.c: Likewise.
+ * gcc.dg/torture/vshuf-v4df.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-31.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-33.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-34.c: Likewise.
+ * gcc.dg/vector-compare-2.c: Likewise.
+
+2011-10-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50901
+ * g++.dg/cpp0x/pr50901.C: New.
+
+2011-10-29 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/fma-check.h (main): Use return 0 instead of exit (0).
+ * gcc.target/i386/fma4-check.h (main): Ditto.
+ * gcc.target/i386/xop-check.h (main): Ditto.
+
+2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ Revert:
+ 2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50864
+ * g++.dg/template/crash109.C: New.
+
+2011-10-28 Jason Merrill <jason@redhat.com>
+
+ * c-c++-common/dfp/pr33466.c: Adjust for user-defined literals.
+
+2011-10-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50864
+ * g++.dg/template/crash109.C: New.
+
+2011-10-28 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/nearest_5.f90: New test.
+
+2011-10-28 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vshift-1.c: New test.
+ * gcc.dg/vshift-2.c: New test.
+ * gcc.target/i386/xop-vshift-1.c: New test.
+ * gcc.target/i386/xop-vshift-2.c: New test.
+ * gcc.target/i386/avx2-vshift-1.c: New test.
+
+2011-10-28 Chung-Lin Tang <cltang@codesourcery.com>
+
+ PR rtl-optimization/49720
+ * g++.dg/torture/pr49720.C: New test.
+
+2011-10-27 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/setcc-3.c: New test.
+
+2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
+
+ PR c++/30066
+ * g++.dg/ext/visibility/fvisibility-inlines-hidden-4.C: New test.
+
+2011-10-27 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/sse2-cvt-1.c: New test.
+ * gcc.target/i386/sse2-cvt-2.c: New test.
+ * gcc.target/i386/avx-cvt-1.c: New test.
+ * gcc.target/i386/avx-cvt-2.c: New test.
+ * gcc.target/i386/avx2-cvt-1.c: New test.
+ * gcc.target/i386/avx2-cvt-2.c: New test.
+
+2011-10-27 Martin Jambor <mjambor@suse.cz>
+
+ * g++.dg/tree-ssa/pr45605.C: Scan fre1 dump and unxfail.
+
+2011-10-27 Uros Bizjak <ubizjak@gmail.com>
+ Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR target/50875
+ * gfortran.dg/pr50875.f90: New test.
+
+2011-10-26 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/fmaf-1.c: New test.
+
+ * gcc.target/sparc/setcc-1.c: New test.
+ * gcc.target/sparc/setcc-2.c: New test.
+
+2011-10-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/tls/thr-cse-1.c: For i?86-*-mingw*, check for multiple calls.
+
+2011-10-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/graphite/run-id-1.c: Pass -Wl,--stack,12582912 option for
+ Windows targets.
+
+2011-10-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.target/i386/pr37843-4.c: Allow for leading underscores on
+ symbol names.
+
+2011-10-26 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.target/i386/pad-4.c: Skip for Windows targets.
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/discr1.ads: New test.
+ * gnat.dg/specs/discr1_pkg.ads: New helper.
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/unchecked_union.ads: Rename to...
+ * gnat.dg/specs/unchecked_union1.ads: ...this.
+ * gnat.dg/specs/unchecked_union2.ads: New test.
+
+2011-10-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/atomic1.ads: New test.
+
+2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
+
+ Implement C++11 user-defined literals.
+ * g++.dg/cpp0x/udlit-addr.C: New.
+ * g++.dg/cpp0x/udlit-args.C: New.
+ * g++.dg/cpp0x/udlit-args-neg.C: New.
+ * g++.dg/cpp0x/udlit-clink-neg.C: New.
+ * g++.dg/cpp0x/udlit-concat.C: New.
+ * g++.dg/cpp0x/udlit-concat-neg.C: New.
+ * g++.dg/cpp0x/udlit-constexpr.C: New.
+ * g++.dg/cpp0x/udlit-cpp98-neg.C: New.
+ * g++.dg/cpp0x/udlit-declare-neg.C: New.
+ * g++.dg/cpp0x/udlit-friend.C: New.
+ * g++.dg/cpp0x/udlit-general.C: New.
+ * g++.dg/cpp0x/udlit-inline.C: New.
+ * g++.dg/cpp0x/udlit-linkage-neg.C: New.
+ * g++.dg/cpp0x/udlit-member-neg.C: New.
+ * g++.dg/cpp0x/udlit-namespace.C: New.
+ * g++.dg/cpp0x/udlit-nofunc-neg.C: New.
+ * g++.dg/cpp0x/udlit-nonempty-str-neg.C: New.
+ * g++.dg/cpp0x/udlit-nospace-neg.C: New.
+ * g++.dg/cpp0x/udlit-nosuffix-neg.C: New.
+ * g++.dg/cpp0x/udlit-nounder-neg.C: New.
+ * g++.dg/cpp0x/udlit-operator-neg.C: New.
+ * g++.dg/cpp0x/udlit-raw-str.C: New.
+ * g++.dg/cpp0x/udlit-shadow-neg.C: New.
+ * g++.dg/cpp0x/udlit-suffix-neg.C: New.
+ * g++.dg/cpp0x/udlit-systemheader.C: New.
+ * g++.dg/cpp0x/udlit-template.C: New.
+ * g++.dg/cpp0x/udlit-tmpl-arg.C: New.
+ * g++.dg/cpp0x/udlit-tmpl-arg-neg.C: New.
+ * g++.dg/cpp0x/udlit-tmpl-parms.C: New.
+ * g++.dg/cpp0x/udlit-tmpl-parms-neg.C: New.
+ * g++.dg/cpp0x/udlit_system_header: New.
+
+2011-10-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50870
+ * g++.dg/cpp0x/decltype34.C: New.
+
+2011-10-26 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.c-torture/unsorted/HIcmp.c: Fix unaligned pointer.
+ * gcc.c-torture/unsorted/HIset.c: Same.
+ * gcc.c-torture/unsorted/SIcmp.c: Same.
+ * gcc.c-torture/unsorted/SIset.c: Same.
+ * gcc.c-torture/unsorted/SFset.c: Same.
+ * gcc.c-torture/unsorted/UHIcmp.c: Same.
+ * gcc.c-torture/unsorted/USIcmp.c: Same.
+ * gcc.c-torture/unsorted/DFcmp.c: Same.
+
+2011-10-26 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/avx2-i32gatherd-1.c: Adjust scan-assembler regex
+ to work also with -masm=intel and additionally test the xmm vs. ymm
+ register type combination on mask/dest and in vsib.
+ * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq-3.c: Likewise.
+
+2011-10-26 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * gcc.dg/pr50763-2.c: New test.
+
+2011-10-25 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/format/ms_c90-printf-1.c, gcc.dg/format/ms_c90-scanf-1.c:
+ Update expected messages.
+
+2011-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/vect/slp-multitypes-2.c: Do not XFAIL on SPARC 32-bit.
+
+2011-10-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/50866
+ * g++.dg/init/aggr7.C: New.
+
+ PR c++/49996
+ * g++.dg/cpp0x/initlist59.C: New.
+
+2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50858
+ * g++.dg/overload/operator5.C: New.
+
+2011-10-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50861
+ * g++.dg/template/crash108.C: New.
+
+2011-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50596
+ * gcc.dg/vect/vect-cond-10.c: New test.
+
+2011-10-24 Joey Ye <joey.ye@arm.com>
+
+ * gcc.target/arm/pr42575.c: Remove architecture option.
+
+2011-10-24 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/vis3move-1.c: New test.
+ * gcc.target/sparc/vis3move-2.c: New test.
+ * gcc.target/sparc/vis3move-3.c: New test.
+
+2011-10-24 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/strlenopt-22.c: New testcase.
+ * gcc.dg/strlenopt-4.c: Change scan value for s390(x).
+
+2011-10-24 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse-5.c (dg-options): Add -mno-sse.
+ Remove -march=i386.
+ (dg-skip-if): Remove.
+ * gcc.target/i386/funcspec-1.c: Ditto.
+ * gcc.target/i386/funcspec-3.c (dg-options): Add -mno-sse3.
+
+2011-10-24 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/vect/vect-bool-1.c: New testcase.
+
+2011-10-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50838
+ * gcc.dg/torture/pr50838.c: New testcase.
+
+2011-10-24 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50730
+ * gcc.dg/vect/no-tree-sra-bb-slp-pr50730.c: New test.
+ * gcc.dg/vect/vect.exp: Run no-tree-sra-bb-slp* tests with
+ -fno-tree-sra and SLP flags.
+
+2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50841
+ Revert:
+ 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * g++.dg/cpp0x/warn_cxx0x2.C: New.
+ * g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
+
+2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50810
+ * g++.dg/cpp0x/warn_cxx0x2.C: New.
+ * g++.dg/cpp0x/warn_cxx0x3.C: Likewise.
+
+2011-10-23 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/50763
+ * gcc.dg/pr50763.c: New test.
+
+2011-10-23 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50788
+ * gcc.target/i386/pr50788.c: New test.
+
+2011-10-23 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50819
+ * g++.dg/vect/vect.exp: Set target dependent flags for slp-* tests.
+ * g++.dg/vect/slp-pr50819.cc: New test.
+
+2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/45385
+ * g++.dg/warn/Wconversion4.C: New.
+
+2011-10-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50813
+ * gcc.dg/torture/vshuf-32.inc: Add broadcast permutation
+ from element other than first and reverse permutation.
+ * gcc.dg/torture/vshuf-16.inc: Likewise.
+ * gcc.dg/torture/vshuf-8.inc: Likewise.
+ * gcc.dg/torture/vshuf-4.inc: Likewise.
+
+2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/31423
+ * g++.dg/parse/error43.C: New.
+ * g++.dg/parse/error44.C: Likewise.
+
+2011-10-21 H.J. Lu <hongjiu.lu@intel.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/50740
+ * gcc.target/i386/avx2-check.h (main): Check CPUID level correctly.
+ * gcc.target/i386/bmi2-check.h: Ditto.
+
+2011-10-21 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ PR c++/50811
+ * g++.dg/cpp0x/override2.C: Add test.
+
+2011-10-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/gcc-dg.exp (GCC_UNDER_TEST): Set before calling
+ check_linker_plugin_available.
+
+2011-10-21 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.target/i386/branch-cost1.c: New test.
+ * gcc.target/i386/branch-cost2.c: New test.
+ * gcc.target/i386/branch-cost3.c: New test.
+ * gcc.target/i386/branch-cost4.c: New test.
+
+2011-10-20 Steve Ellcey <sje@cup.hp.com>
+
+ * gcc.dg/vect/vect-120.c: Add vect_floatint_cvt requirement.
+
+2011-10-20 Steve Ellcey <sje@cup.hp.com>
+
+ PR testsuite/50722
+ * gcc.dg/pr49994-3.c: Skip on HP-UX.
+
+2011-10-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/lto/pr46940_0.c (ASMNAME, ASMNAME2, STRING): Define.
+ (_moz_foo, EXT__foo): Use ASMNAME.
+
+2011-10-20 Joseph Myers <joseph@codesourcery.com>
+
+ * lib/lto.exp (lto-execute): Use .exe suffix for test executable
+ names.
+
+2011-10-20 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/50766
+ * gcc.target/i386/pr50766.c: New test.
+
+2011-10-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/41449
+ * g++.dg/eh/partial1.C: New.
+
+2011-10-20 Richard Henderson <rth@redhat.com>
+
+ * gcc.target/i386/vperm-v2df.c, gcc.target/i386/vperm-v2di.c,
+ gcc.target/i386/vperm-v4sf-1.c, gcc.target/i386/vperm-v4sf-2.c,
+ gcc.target/i386/vperm-v4si-1.c, gcc.target/i386/vperm-v4si-2.c:
+ Use __builtin_shuffle.
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50514
+ * gfortran.dg/ishft_3.f90: Update test.
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/50524
+ * gfortran.dg/substring_integer_index.f90: New test.
+
+2011-10-20 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ * gfortran.dg/format_string.f: New test.
+
+2011-10-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/ipa/ipa-sra-2.c: Add dg-require-effective-target
+ non_strict_align.
+ * gcc.dg/ipa/ipa-sra-6.c: Ditto.
+
+2011-10-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.target/i386/pr40906-1.c, gcc.target/i386/pr40906-2.c,
+ gcc.target/i386/pr46226.c: Do not use
+ -mno-accumulate-outgoing-args.
+
+2011-10-20 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/tree-prof/val-prof-7.c: Declare bzero instead of
+ including <strings.h>.
+
+2011-10-19 Jan Hubicka <jh@suse.cz>
+
+ * lib/lto.exp (lto_init): Test slim lto and no-linker-plugin path.
+ * lib/gcc-dg.exp (check_effective_target_lto): Likewise.
+ * lib/c-torture.exp: Likewise.
+ * gcc.c-torture/execute/builtins/strstr-asm.c: Force fat LTO.
+ * gcc.c-torture/compile/sync-1.c: Likewise.
+ * gcc.c-torture/compile/sync-1.c: Likewise.
+ * gcc.c-torture/compile/sync-3.c: Likewise.
+ * gcc.dg/noncompile/invalid_asm.c: Likewise.
+ * gcc.dg/noncompile/920507-1.c: Likewise.
+ * gcc.dg/torture/pr36400.c: Likewise.
+ * g++.dg/torture/pr34850.C: Likewise.
+
+2011-10-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/source_ref1.adb: New test.
+ * gnat.dg/source_ref2.adb: Likewise.
+
+2011-10-19 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/13657
+ * g++.dg/parse/error42.C: New.
+ * g++.old-deja/g++.other/ptrmem7.C: Tweak dg-errors.
+
+2011-10-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/50793
+ * g++.dg/init/value9.C: New.
+
+2011-10-19 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/torture/vshuf-32.inc: Add interleave permutations.
+ * gcc.dg/torture/vshuf-16.inc: Likewise.
+ * gcc.dg/torture/vshuf-8.inc: Likewise.
+ * gcc.dg/torture/vshuf-4.inc: Likewise.
+
+2011-10-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ * gfortran.dg/sizeof_proc.f90: New.
+
+2011-10-19 Joseph Myers <joseph@codesourcery.com>
+
+ * g++.dg/compat/struct-layout-1_generate.c: Also pass -mno-mmx
+ -Wno-abi for i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin*.
+
+2011-10-19 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/50796
+ * gcc.dg/plugin/plugindir?.c Update dg-prune-output.
+
+2011-10-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/50787
+ * g++.dg/init/ref20.C: New.
+
+2011-10-19 Kai Tietz <ktietz@redhat.com>
+
+ PR middle-end/50795
+ * gcc.dg/tree-ssa/builtin-expect-1.c: Adjust test.
+ * gcc.dg/tree-ssa/builtin-expect-2.c: Adjust test.
+ * gcc.dg/tree-ssa/builtin-expect-3.c: Adjust test.
+ * gcc.dg/tree-ssa/builtin-expect-4.c: Adjust test.
+ * gcc.dg/tree-ssa/builtin-expect-5.c: Adjust test.
+
+2011-10-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50768
+ * gcc.dg/torture/pr50768.c: New testcase.
+
+2011-10-19 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/50340
+ * gcc.dg/pr50340.c: New.
+
+2011-10-18 Andrew Stubbs <ams@codesourcery.com>
+
+ PR tree-optimization/50717
+
+ * gcc.dg/pr50717-1.c: New file.
+ * gcc.target/arm/wmul-12.c: Correct types.
+ * gcc.target/arm/wmul-8.c: Correct types.
+
+2011-10-18 Jason Merrill <jason@redhat.com>
+
+ PR c++/50531
+ * g++.dg/cpp0x/defaulted32.C: New.
+
+ PR c++/50742
+ * g++.dg/lookup/using23.C: New.
+
+ PR c++/50500
+ * g++.dg/cpp0x/implicit12.C: New.
+ * g++.dg/cpp0x/defaulted20.C: Adjust.
+ * g++.dg/cpp0x/defaulted21.C: Adjust.
+ * g++.dg/cpp0x/implicit-copy.C: Adjust.
+ * g++.dg/cpp0x/implicit4.C: Adjust.
+ * g++.dg/cpp0x/implicit5.C: Adjust.
+ * g++.dg/cpp0x/implicit8.C: Adjust.
+ * g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust.
+ * g++.dg/cpp0x/not_special.C: Adjust.
+ * g++.dg/cpp0x/rv-trivial-bug.C: Adjust.
+ * g++.dg/cpp0x/rv1n.C: Adjust.
+ * g++.dg/cpp0x/rv2n.C: Adjust.
+ * g++.dg/cpp0x/rv3n.C: Adjust.
+ * g++.dg/cpp0x/rv4n.C: Adjust.
+ * g++.dg/cpp0x/rv5n.C: Adjust.
+ * g++.dg/cpp0x/rv6n.C: Adjust.
+ * g++.dg/cpp0x/rv7n.C: Adjust.
+
+2011-10-18 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/avx2-vpop-check.h: New header.
+ * gcc.target/i386/avx2-vpaddd-3.c: New test.
+ * gcc.target/i386/avx2-vpaddw-3.c: Ditto.
+ * gcc.target/i386/avx2-vpaddb-3.c: Ditto.
+ * gcc.target/i386/avx2-vpaddq-3.c: Ditto.
+ * gcc.target/i386/avx2-vpand-3.c: Ditto.
+ * gcc.target/i386/avx2-vpmulld-3.c: Ditto.
+ * gcc.target/i386/avx2-vpmullw-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsrad-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsraw-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsrld-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsrlw-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsubb-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsubd-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsubq-3.c: Ditto.
+ * gcc.target/i386/avx2-vpsubw-3.c: Ditto.
+
+2011-10-18 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/50420
+ * gfortran.dg/coarray_subobject_1.f90: New test.
+ * gfortran.dg/coarray/subobject_1.f90: New test.
+
+2011-10-18 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/50205
+ * gcc.dg/pr50205.c: New.
+
+2011-10-18 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50767
+ * gcc.dg/torture/pr50767.c: New testcase.
+
+2011-10-18 Julian Brown <julian@codesourcery.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_unaligned): New.
+ * gcc.target/arm/unaligned-memcpy-1.c: New.
+ * gcc.target/arm/unaligned-memcpy-2.c: New.
+ * gcc.target/arm/unaligned-memcpy-3.c: New.
+ * gcc.target/arm/unaligned-memcpy-4.c: New.
+
+2011-10-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ * gfortran.dg/iso_c_binding_class.f03: New.
+
+2011-10-18 Ira Rosen <ira.rosen@linaro.org>
+
+ * testsuite/lib/target-supports.exp
+ (check_effective_target_vect_widen_shift): New.
+ * gcc.dg/vect/vect-widen-shift-s16.c: New.
+ * gcc.dg/vect/vect-widen-shift-s8.c: New.
+ * gcc.dg/vect/vect-widen-shift-u16.c: New.
+ * gcc.dg/vect/vect-widen-shift-u8.c: New.
+
+2011-10-18 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/restrict-1.c: New testcase.
+
+2011-10-17 Michael Spertus <mike_spertus@symantec.com>
+
+ * g++.dg/ext/bases.C: New test.
+
+2011-10-17 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/fand.c: Remove __LP64__ ifdefs and expect
+ all operations to emit VIS instructions.
+ * gcc.target/sparc/fandnot.c: Likewise.
+ * gcc.target/sparc/fnot.c: Likewise.
+ * gcc.target/sparc/for.c: Likewise.
+ * gcc.target/sparc/fornot.c: Likewise.
+ * gcc.target/sparc/fxnor.c: Likewise.
+ * gcc.target/sparc/fxor.c: Likewise.
+ * gcc.target/sparc/combined-1.c: Revert change to use -O2, no longer
+ needed.
+
+2011-10-17 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c-torture/execute/vshuf-v16hi.c: New test.
+ * gcc.dg/torture/vshuf-16.inc: New file.
+ * gcc.dg/torture/vshuf-2.inc: New file.
+ * gcc.dg/torture/vshuf-32.inc: New file.
+ * gcc.dg/torture/vshuf-4.inc: New file.
+ * gcc.dg/torture/vshuf-8.inc: New file.
+ * gcc.dg/torture/vshuf-main.inc: New file.
+ * gcc.dg/torture/vshuf-v16hi.c: New test.
+ * gcc.dg/torture/vshuf-v16qi.c: New test.
+ * gcc.dg/torture/vshuf-v2df.c: New test.
+ * gcc.dg/torture/vshuf-v2di.c: New test.
+ * gcc.dg/torture/vshuf-v2sf.c: New test.
+ * gcc.dg/torture/vshuf-v2si.c: New test.
+ * gcc.dg/torture/vshuf-v32qi.c: New test.
+ * gcc.dg/torture/vshuf-v4df.c: New test.
+ * gcc.dg/torture/vshuf-v4di.c: New test.
+ * gcc.dg/torture/vshuf-v4hi.c: New test.
+ * gcc.dg/torture/vshuf-v4sf.c: New test.
+ * gcc.dg/torture/vshuf-v4si.c: New test.
+ * gcc.dg/torture/vshuf-v8hi.c: New test.
+ * gcc.dg/torture/vshuf-v8qi.c: New test.
+ * gcc.dg/torture/vshuf-v8sf.c: New test.
+ * gcc.dg/torture/vshuf-v8si.c: New test.
+
+2011-10-17 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50746
+ * gcc.dg/vect/vect-114.c: Remove vect_hw_misalign.
+
+2011-10-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/50736
+ * g++.dg/cpp0x/lambda/lambda-capture-neg.C: New.
+
+2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44524
+ * g++.dg/parse/error41.C: New.
+ * g++.dg/parse/error20.C: Adjust.
+
+2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50757
+ * g++.dg/warn/format7.C: New.
+ * obj-c++.dg/warn7.mm: Likewise.
+
+2011-10-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50729
+ * gcc.dg/torture/pr50729.c: New testcase.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * lib/prune.exp (prune_gcc_output): Prune output referring to
+ included files.
+ * gcc.dg/cpp/macro-exp-tracking-1.c: New test.
+ * gcc.dg/cpp/macro-exp-tracking-2.c: Likewise.
+ * gcc.dg/cpp/macro-exp-tracking-3.c: Likewise.
+ * gcc.dg/cpp/pragma-diagnostic-2.c: Likewise.
+
+2011-10-15 Tom Tromey <tromey@redhat.com>
+ Dodji Seketeli <dodji@redhat.com>
+
+ * gcc.dg/cpp/pragma-diagnostic-1.c: New test.
+
+2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48489
+ * g++.dg/inherit/error5.C: New.
+
+2011-10-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ PR fortran/50752
+ * gfortran.dg/kind_tests_4.f90: New.
+
+2011-10-17 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-21.c: Expect the loops to get vectorized on
+ targets that support vector condition.
+
+2011-10-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47023
+ * gfortran.dg/c_kind_tests_3.f03: New.
+
+2011-10-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50547
+ * gfortran.dg/elemental_args_check_4.f90: New.
+
+2011-10-16 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50727
+ * gcc.dg/vect/pr50727.c: New test.
+
+2011-10-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/vla-23.c: New test.
+
+2011-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50596
+ * gcc.dg/vect/vect-cond-9.c: New test.
+
+2011-10-16 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/bb-slp-29.c: New test.
+
+2011-10-15 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50732
+ * g++.dg/ext/is_base_of_incomplete.C: New.
+ * g++.dg/ext/is_base_of_diagnostic.C: Adjust dg-errors.
+ * g++.dg/ext/unary_trait_incomplete.C: Likewise.
+
+2011-10-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.target/sparc/combined-1.c: Compile at -O2.
+
+2011-10-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/fma_float_?.c (dg-prune_output): Remove.
+ (dg-options): Add -Wno-attributes.
+ * gcc.target/i386/fma_double_?.c: Ditto.
+ * gcc.target/i386/fma_run_float_?.c: Ditto.
+ * gcc.target/i386/fma_run_double_?.c: Ditto.
+ * gcc.target/i386/l_fma_float_?.c: Dtto.
+ * gcc.target/i386/l_fma_double_?.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_?.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_?.c: Ditto.
+
+2011-10-15 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/bind_c_usage_23.f90: Change TR 29113 to TS 29113 in
+ the comments.
+ * gfortran.dg/bind_c_usage_24.f90: Ditto.
+ * gfortran.dg/rank_3.f90: Ditto.
+ * gfortran.dg/bind_c_usage_22.f90: Ditto, change -std=f2008tr to
+ -std=f2008ts in dg-options.
+ * gfortran.dg/rank_4.f90: Ditto.
+
+2011-10-15 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/49263
+ * gcc.target/sh/pr49263.c: New.
+
+2011-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: Tweak.
+
+2011-10-14 Kai Tietz <ktietz@redhat.com>
+
+ * gfortran.fortran-torture/compile/logical-2.f90: New test.
+
+2011-10-14 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/sse2-mul-1.c: New test.
+ * gcc.target/i386/sse4_1-mul-1.c: New test.
+ * gcc.target/i386/avx-mul-1.c: New test.
+ * gcc.target/i386/xop-mul-1.c: New test.
+ * gcc.target/i386/avx2-mul-1.c: New test.
+
+2011-10-14 Jason Merrill <jason@redhat.com>
+
+ PR c++/50563
+ * g++.dg/cpp0x/nsdmi-list1.C: New.
+
+ PR c++/50707
+ * g++.dg/cpp0x/nsdmi-const1.C: New.
+
+2011-10-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50570
+ * gfortran.dg/pointer_intent_5.f90: New.
+
+2011-10-14 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * gcc.target/i386/warn-vect-op-3.c: Exclude 32-bit architectures.
+ * gcc.target/i386/warn-vect-op-1.c: Ditto.
+ * gcc.target/i386/warn-vect-op-2.c: Ditto.
+
+2011-10-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50718
+ * gfortran.dg/pointer_check_11.f90: New.
+ * gfortran.dg/pointer_check_12.f90: New.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/38174
+ * g++.dg/overload/operator4.C: New.
+
+2011-10-14 David Alan Gilbert <david.gilbert@linaro.org>
+
+ * gcc.dg/di-longlong64-sync-1.c: New test.
+ * gcc.dg/di-sync-multithread.c: New test.
+ * gcc.target/arm/di-longlong64-sync-withhelpers.c: New test.
+ * gcc.target/arm/di-longlong64-sync-withldrexd.c: New test.
+ * lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target
+ tests for v5, v6, v6k, and v7-a, and add-options helpers.
+ (check_effective_target_arm_arm_ok): New helper.
+ (check_effective_target_sync_longlong): New helper.
+
+2011-10-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50723
+ * gcc.dg/torture/pr50723.c: New testcase.
+
+2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/17212
+ * g++.dg/warn/format6.C: New.
+ * obj-c++.dg/warn6.mm: Likewise.
+
+2011-10-13 Richard Henderson <rth@redhat.com>
+
+ * lib/target-supports.exp (check_effective_target_vect_shift_scalar):
+ Delete.
+ * gcc.dg/vect/vec-scal-opt.c: Don't test vect_shift_scalar.
+ * gcc.dg/vect/vec-scal-opt1.c: Likewise.
+ * gcc.dg/vect/vec-scal-opt2.c: Likewise.
+
+2011-10-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/50614
+ * g++.dg/cpp0x/nsdmi-template2.C: New.
+
+ PR c++/50437
+ * g++.dg/cpp0x/lambda/lambda-auto1.C: New.
+
+ PR c++/50618
+ * g++.dg/init/vbase1.C: New.
+
+2011-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/sse4_1-phminposuw-2.c: New test.
+ * gcc.target/i386/sse4_1-phminposuw-3.c: New test.
+ * gcc.target/i386/avx-vphminposuw-2.c: New test.
+ * gcc.target/i386/avx-vphminposuw-3.c: New test.
+
+2011-10-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr50712.c: Check ia32 instead of ilp32.
+
+2011-10-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/builtins-67.c: Guard iround and irint with HAVE_C99_RUNTIME.
+
+2011-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50712
+ * gcc.target/i386/pr50712.c: New testcase.
+
+2011-10-13 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/memcpy-4.c: New test.
+
+2011-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50698
+ * g++.dg/vect/pr50698.cc: New testcase.
+
+2011-10-12 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/powerpc/warn-1.c: Skip if not powerpc_vsx_ok.
+ * gcc.target/powerpc/warn-2.c: Ditto.
+
+ * gcc.target/powerpc/ppc-fma-3.c: Require powerpc_fprs.
+ * gcc.target/powerpc/ppc-fma-4.c: Likewise.
+ * gcc.target/powerpc/ppc-fma-5.c: Likewise.
+ * gcc.target/powerpc/ppc-fma-7.c: Likewise.
+ * gcc.target/powerpc/ppc-fpconv-11.c: Likewise.
+ * gcc.target/powerpc/ppc-fpconv-3.c: Likewise.
+ * gcc.target/powerpc/ppc-fpconv-7.c: Likewise.
+ * gcc.target/powerpc/ppc-fpconv-8.c: Likewise.
+ * gcc.target/powerpc/ppc-pow.c: Likewise.
+ * gcc.target/powerpc/recip-1.c: Likewise.
+ * gcc.target/powerpc/recip-2.c: Likewise.
+ * gcc.target/powerpc/recip-3.c: Likewise.
+ * gcc.target/powerpc/recip-4.c: Likewise.
+ * gcc.target/powerpc/recip-5.c: Likewise.
+
+2011-10-12 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/cmask.c: Remove 'vis3' target check and specify
+ '-mvis3' instead of 'mcpu=niagara3' in options.
+ * gcc.target/sparc/fhalve.c: Likewise.
+ * gcc.target/sparc/fnegop.c: Likewise.
+ * gcc.target/sparc/fpadds.c: Likewise.
+ * gcc.target/sparc/fshift.c: Likewise.
+ * gcc.target/sparc/fucmp.c: Likewise.
+ * gcc.target/sparc/lzd.c: Likewise.
+ * gcc.target/sparc/vis3misc.c: Likewise.
+ * gcc.target/sparc/xmul.c: Likewise.
+
+2011-10-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/vect1.ad[sb]: New test.
+ * gnat.dg/vect1_pkg.ads: New helper.
+ * gnat.dg/vect2.ad[sb]: New test.
+ * gnat.dg/vect2_pkg.ads: New helper.
+ * gnat.dg/vect3.ad[sb]: New test.
+ * gnat.dg/vect3_pkg.ads: New helper.
+ * gnat.dg/vect4.ad[sb]: New test.
+ * gnat.dg/vect4_pkg.ads: New helper.
+ * gnat.dg/vect5.ad[sb]: New test.
+ * gnat.dg/vect5_pkg.ads: New helper.
+ * gnat.dg/vect6.ad[sb]: New test.
+ * gnat.dg/vect6_pkg.ads: New helper.
+
+2011-10-12 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/fma_run_double_1.c: Add -mfpmath=sse.
+ * gcc.target/i386/fma_run_double_2.c: Likewise.
+ * gcc.target/i386/fma_run_double_3.c: Likewise.
+ * gcc.target/i386/fma_run_double_4.c: Likewise.
+ * gcc.target/i386/fma_run_double_5.c: Likewise.
+ * gcc.target/i386/fma_run_double_6.c: Likewise.
+ * gcc.target/i386/fma_run_float_1.c: Likewise.
+ * gcc.target/i386/fma_run_float_2.c: Likewise.
+ * gcc.target/i386/fma_run_float_3.c: Likewise.
+ * gcc.target/i386/fma_run_float_4.c: Likewise.
+ * gcc.target/i386/fma_run_float_5.c: Likewise.
+ * gcc.target/i386/fma_run_float_6.c: Likewise.
+
+ * gcc.target/i386/l_fma_double_1.c: Add -mtune=generic and
+ remove the extra dg-options.
+ * gcc.target/i386/l_fma_double_2.c: Likewise.
+ * gcc.target/i386/l_fma_double_3.c: Likewise.
+ * gcc.target/i386/l_fma_double_4.c: Likewise.
+ * gcc.target/i386/l_fma_double_5.c: Likewise.
+ * gcc.target/i386/l_fma_double_6.c: Likewise.
+ * gcc.target/i386/l_fma_float_1.c: Likewise.
+ * gcc.target/i386/l_fma_float_2.c: Likewise.
+ * gcc.target/i386/l_fma_float_3.c: Likewise.
+ * gcc.target/i386/l_fma_float_4.c: Likewise.
+ * gcc.target/i386/l_fma_float_5.c: Likewise.
+ * gcc.target/i386/l_fma_float_6.c: Likewise.
+
+2011-10-12 Paul Koning <pkoning@gcc.gnu.org>
+
+ PR tree-optimization/50189
+ * g++.dg/torture/pr50189.C: New testcase.
+
+2011-10-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50700
+ * gcc.dg/builtin-object-size-12.c: New testcase.
+
+2011-10-12 Joseph Myers <joseph@codesourcery.com>
+
+ PR c/50565
+ * gcc.c-torture/compile/pr50565-1.c,
+ gcc.c-torture/compile/pr50565-2.c: New tests.
+
+2011-10-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/49855
+ PR c++/49896
+ * g++.dg/template/constant1.C: New.
+ * g++.dg/template/constant2.C: New.
+ * g++.dg/cpp0x/constexpr-template3.C: New.
+
+2011-10-11 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * gcc.target/i386/warn-vect-op-3.c: New test.
+ * gcc.target/i386/warn-vect-op-1.c: New test.
+ * gcc.target/i386/warn-vect-op-2.c: New test.
+
+2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/pr49994-3.c: Add -mbackchain for s390 and s390x.
+
+2011-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50204
+ * gcc.dg/tree-ssa/ssa-fre-36.c: New testcase.
+
+2011-10-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.target/s390/20090223-1.c: Add -Wno-attributes.
+
+2011-10-11 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/fma_double_1.c: Add -mfpmath=sse.
+ * gcc.target/i386/fma_double_2.c: Ditto.
+ * gcc.target/i386/fma_double_3.c: Ditto.
+ * gcc.target/i386/fma_double_4.c: Ditto.
+ * gcc.target/i386/fma_double_5.c: Ditto.
+ * gcc.target/i386/fma_double_6.c: Ditto.
+ * gcc.target/i386/fma_float_1.c: Ditto.
+ * gcc.target/i386/fma_float_2.c: Ditto.
+ * gcc.target/i386/fma_float_3.c: Ditto.
+ * gcc.target/i386/fma_float_4.c: Ditto.
+ * gcc.target/i386/fma_float_5.c: Ditto.
+ * gcc.target/i386/fma_float_6.c: Ditto.
+ * gcc.target/i386/l_fma_double_1.c: Ditto.
+ * gcc.target/i386/l_fma_double_2.c: Ditto.
+ * gcc.target/i386/l_fma_double_3.c: Ditto.
+ * gcc.target/i386/l_fma_double_4.c: Ditto.
+ * gcc.target/i386/l_fma_double_5.c: Ditto.
+ * gcc.target/i386/l_fma_double_6.c: Ditto.
+ * gcc.target/i386/l_fma_float_1.c: Ditto.
+ * gcc.target/i386/l_fma_float_2.c: Ditto.
+ * gcc.target/i386/l_fma_float_3.c: Ditto.
+ * gcc.target/i386/l_fma_float_4.c: Ditto.
+ * gcc.target/i386/l_fma_float_5.c: Ditto.
+ * gcc.target/i386/l_fma_float_6.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_1.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_2.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_3.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_4.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_5.c: Ditto.
+ * gcc.target/i386/l_fma_run_double_6.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_1.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_2.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_3.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_4.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_5.c: Ditto.
+ * gcc.target/i386/l_fma_run_float_6.c: Ditto.
+
+2011-10-11 Tristan Gingold <gingold@adacore.com>
+
+ * gcc.dg/va-arg-4.c: New test.
+ * gcc.dg/va-arg-5.c: Ditto.
+
+2011-10-11 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/target-supports.exp (check_effective_target_fd_truncate):
+ Close and unlink test file before exit.
+
+2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50564
+ * gfortran.dg/forall_15.f90: New test case.
+
+2011-10-10 Aldy Hernandez <aldyh@redhat.com>
+ Andrew Macleod <amacleod@redhat.com>
+
+ * gcc.dg/simulate-thread/simulate-thread.gdb: Call
+ wrappers for *other_threads() and *final_verify().
+ * gcc.dg/simulate-thread/simulate-thread.h
+ (simulate_thread_wrapper_other_threads): New.
+ (simulate_thread_wrapper_final_verify): New.
+
+2011-10-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/gcc-gdb-test.exp (gdb-test): Delete $cmd_file before return.
+
+2011-10-10 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/graphite/id-pr46845.c: Include powerpc for warning options.
+
+2011-10-10 Kirill Yukhin <kirill.yukhin@intel.com>
+ Yakovlev Vladimir <vladimir.b.yakovlev@intel.com>
+
+ * gcc.target/i386/fma_1.h: New file.
+ * gcc.target/i386/fma_2.h: Likewise.
+ * gcc.target/i386/fma_3.h: Likewise.
+ * gcc.target/i386/fma_4.h: Likewise.
+ * gcc.target/i386/fma_5.h: Likewise.
+ * gcc.target/i386/fma_6.h: Likewise.
+ * gcc.target/i386/fma_double_1.c: Likewise.
+ * gcc.target/i386/fma_double_2.c: Likewise.
+ * gcc.target/i386/fma_double_3.c: Likewise.
+ * gcc.target/i386/fma_double_4.c: Likewise.
+ * gcc.target/i386/fma_double_5.c: Likewise.
+ * gcc.target/i386/fma_double_6.c: Likewise.
+ * gcc.target/i386/fma_float_1.c: Likewise.
+ * gcc.target/i386/fma_float_2.c: Likewise.
+ * gcc.target/i386/fma_float_3.c: Likewise.
+ * gcc.target/i386/fma_float_4.c: Likewise.
+ * gcc.target/i386/fma_float_5.c: Likewise.
+ * gcc.target/i386/fma_float_6.c: Likewise.
+ * gcc.target/i386/fma_main.h: Likewise.
+ * gcc.target/i386/fma_run_double_1.c: Likewise.
+ * gcc.target/i386/fma_run_double_2.c: Likewise.
+ * gcc.target/i386/fma_run_double_3.c: Likewise.
+ * gcc.target/i386/fma_run_double_4.c: Likewise.
+ * gcc.target/i386/fma_run_double_5.c: Likewise.
+ * gcc.target/i386/fma_run_double_6.c: Likewise.
+ * gcc.target/i386/fma_run_double_results_1.h: Likewise.
+ * gcc.target/i386/fma_run_double_results_2.h: Likewise.
+ * gcc.target/i386/fma_run_double_results_3.h: Likewise.
+ * gcc.target/i386/fma_run_double_results_4.h: Likewise.
+ * gcc.target/i386/fma_run_double_results_5.h: Likewise.
+ * gcc.target/i386/fma_run_double_results_6.h: Likewise.
+ * gcc.target/i386/fma_run_float_1.c: Likewise.
+ * gcc.target/i386/fma_run_float_2.c: Likewise.
+ * gcc.target/i386/fma_run_float_3.c: Likewise.
+ * gcc.target/i386/fma_run_float_4.c: Likewise.
+ * gcc.target/i386/fma_run_float_5.c: Likewise.
+ * gcc.target/i386/fma_run_float_6.c: Likewise.
+ * gcc.target/i386/fma_run_float_results_1.h: Likewise.
+ * gcc.target/i386/fma_run_float_results_2.h: Likewise.
+ * gcc.target/i386/fma_run_float_results_3.h: Likewise.
+ * gcc.target/i386/fma_run_float_results_4.h: Likewise.
+ * gcc.target/i386/fma_run_float_results_5.h: Likewise.
+ * gcc.target/i386/fma_run_float_results_6.h: Likewise.
+ * gcc.target/i386/l_fma_1.h: Likewise.
+ * gcc.target/i386/l_fma_2.h: Likewise.
+ * gcc.target/i386/l_fma_3.h: Likewise.
+ * gcc.target/i386/l_fma_4.h: Likewise.
+ * gcc.target/i386/l_fma_5.h: Likewise.
+ * gcc.target/i386/l_fma_6.h: Likewise.
+ * gcc.target/i386/l_fma_double_1.c: Likewise.
+ * gcc.target/i386/l_fma_double_2.c: Likewise.
+ * gcc.target/i386/l_fma_double_3.c: Likewise.
+ * gcc.target/i386/l_fma_double_4.c: Likewise.
+ * gcc.target/i386/l_fma_double_5.c: Likewise.
+ * gcc.target/i386/l_fma_double_6.c: Likewise.
+ * gcc.target/i386/l_fma_float_1.c: Likewise.
+ * gcc.target/i386/l_fma_float_2.c: Likewise.
+ * gcc.target/i386/l_fma_float_3.c: Likewise.
+ * gcc.target/i386/l_fma_float_4.c: Likewise.
+ * gcc.target/i386/l_fma_float_5.c: Likewise.
+ * gcc.target/i386/l_fma_float_6.c: Likewise.
+ * gcc.target/i386/l_fma_main.h: Likewise.
+ * gcc.target/i386/l_fma_run_double_1.c: Likewise.
+ * gcc.target/i386/l_fma_run_double_2.c: Likewise.
+ * gcc.target/i386/l_fma_run_double_3.c: Likewise.
+ * gcc.target/i386/l_fma_run_double_4.c: Likewise.
+ * gcc.target/i386/l_fma_run_double_5.c: Likewise.
+ * gcc.target/i386/l_fma_run_double_6.c: Likewise.
+ * gcc.target/i386/l_fma_run_float_1.c: Likewise.
+ * gcc.target/i386/l_fma_run_float_2.c: Likewise.
+ * gcc.target/i386/l_fma_run_float_3.c: Likewise.
+ * gcc.target/i386/l_fma_run_float_4.c: Likewise.
+ * gcc.target/i386/l_fma_run_float_5.c: Likewise.
+ * gcc.target/i386/l_fma_run_float_6.c: Likewise.
+
+2011-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50389
+ * gcc.dg/torture/pr50389.c: New testcase.
+
+2011-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50195
+ * gcc.dg/builtins-47.c: Optimize.
+
+2011-10-10 Aldy Hernandez <aldyh@redhat.com>
+
+ * lib/gcc-simulate-thread.exp: New.
+ * gcc.dg/simulate-thread/guality.h: New.
+ * gcc.dg/simulate-thread/simulate-thread.h: New.
+ * gcc.dg/simulate-thread/simulate-thread.exp: New.
+ * gcc.dg/simulate-thread/simulate-thread.gdb: New.
+ * gcc.dg/simulate-thread/README: New.
+ * g++.dg/simulate-thread/guality.h: New.
+ * g++.dg/simulate-thread/simulate-thread.h: New.
+ * g++.dg/simulate-thread/simulate-thread.exp: New.
+ * g++.dg/simulate-thread/simulate-thread.gdb: New.
+ * c-c++-common/cxxbitfields-2.c: Remove.
+ * c-c++-common/cxxbitfields.c: Remove.
+ * c-c++-common/cxxbitfields-4.c: Remove.
+ * c-c++-common/cxxbitfields-5.c: Remove.
+ * c-c++-common/simulate-thread/bitfields-1.c: New.
+ * c-c++-common/simulate-thread/bitfields-2.c: New.
+ * c-c++-common/simulate-thread/bitfields-3.c: New.
+ * c-c++-common/simulate-thread/bitfields-4.c: New.
+
+2011-10-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/38980
+ * g++.dg/warn/format5.C: New.
+
+2011-10-09 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50273
+ * gfortran.dg/common_14.f90: Compile with -Wno-align-commons.
+ * gfortran.dg/common_16.f90: New.
+
+2011-10-09 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/iso_c_binding_param_1.f90: New.
+ * gfortran.dg/iso_c_binding_param_2.f90: New.
+ * gfortran.dg/c_sizeof_2.f90: Update dg-error.
+
+2011-10-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50635
+ * gcc.dg/vect/pr50635.c: New test.
+
+2011-10-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50659
+ * gfortran.dg/proc_decl_27.f90: New.
+
+2011-10-08 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/50428
+ * objc/execute/initialize-1.m: New test.
+
+2011-10-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47844
+ * gfortran.dg/pointer_function_result_1.f90 : New test.
+
+2011-10-07 David S. Miller <davem@davemloft.net>
+
+ PR 50655
+ * gcc.target/sparc/sparc.exp: Add vis3 target test.
+ * gcc.target/sparc/cmask.c: Use it.
+ * gcc.target/sparc/fhalve.c: Likewise.
+ * gcc.target/sparc/fnegop.c: Likewise.
+ * gcc.target/sparc/fpadds.c: Likewise.
+ * gcc.target/sparc/fshift.c: Likewise.
+ * gcc.target/sparc/fucmp.c: Likewise.
+ * gcc.target/sparc/lzd.c: Likewise.
+ * gcc.target/sparc/vis3misc.c: Likewise.
+ * gcc.target/sparc/xmul.c: Likewise.
+
+2011-10-07 Richard Henderson <rth@redhat.com>
+
+ * gcc.target/i386/avx256-unaligned-load-2.c: Tweek vinsert pattern
+ match for avx2.
+ * gcc.target/i386/avx256-unaligned-store-2.c: Similarly.
+
+2011-10-07 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.dg/pr50193-1.c: New file.
+ * gcc.target/arm/shiftable.c: New file.
+
+2011-10-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50625
+ * gfortran.dg/class_46.f03: New.
+
+2011-10-06 Joern Rennecke <joern.rennecke@embecosm.com>
+
+ * gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
+ (__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME.
+ (syslog, vsyslog, __vsyslog_chk): Likewise.
+
+ * gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define.
+ (x, EXT_x): Use ASMNAME.
+
+ * gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define.
+ (a, c): Use ASMNAME.
+
+2011-10-07 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/50527
+ * gcc.dg/pr50527.c: New test.
+
+2011-10-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50650
+ * gcc.c-torture/compile/pr50650.c: New test.
+
+2011-10-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/50575
+ * gcc.c-torture/execute/vector-compare-2.x: New file.
+
+2011-10-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR middle-end/50125
+ * gcc.dg/uninit-B.c (baz): Remove xfail *-*-*.
+ * gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*.
+ (bar3): Likewise.
+
+2011-10-07 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/50637
+ * gcc.dg/vect/vect-align-2.c: Increase array size.
+
+2011-10-07 Uros Bizjak <ubizjak@gmail.com>
+ H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/50603
+ * gcc.target/i386/pr50603.c: New test.
+
+2011-10-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/39164
+ * g++.dg/cpp0x/default31.C: New.
+
+2011-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50596
+ * lib/target-supports.exp (check_effective_target_vect_cond_mixed):
+ New.
+ * gcc.dg/vect/vect-cond-8.c: New test.
+
+2011-10-06 Richard Henderson <rth@redhat.com>
+
+ * gcc.c-torture/execute/vect-shuffle-1.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-2.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-3.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-4.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-5.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-6.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-7.c: Remove.
+ * gcc.c-torture/execute/vect-shuffle-8.c: Remove.
+ * gcc.c-torture/execute/vshuf-16.inc: New file.
+ * gcc.c-torture/execute/vshuf-2.inc: New file.
+ * gcc.c-torture/execute/vshuf-4.inc: New file.
+ * gcc.c-torture/execute/vshuf-8.inc: New file.
+ * gcc.c-torture/execute/vshuf-main.inc: New file.
+ * gcc.c-torture/execute/vshuf-v16qi.c: New test.
+ * gcc.c-torture/execute/vshuf-v2df.c: New test.
+ * gcc.c-torture/execute/vshuf-v2di.c: New test.
+ * gcc.c-torture/execute/vshuf-v2sf.c: New test.
+ * gcc.c-torture/execute/vshuf-v2si.c: New test.
+ * gcc.c-torture/execute/vshuf-v4df.c: New test.
+ * gcc.c-torture/execute/vshuf-v4di.c: New test.
+ * gcc.c-torture/execute/vshuf-v4hi.c: New test.
+ * gcc.c-torture/execute/vshuf-v4sf.c: New test.
+ * gcc.c-torture/execute/vshuf-v4si.c: New test.
+ * gcc.c-torture/execute/vshuf-v8hi.c: New test.
+ * gcc.c-torture/execute/vshuf-v8qi.c: New test.
+ * gcc.c-torture/execute/vshuf-v8si.c: New test.
+
+2011-10-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49279
+ * gcc.dg/tree-ssa/restrict-4.c: XFAIL.
+ * gcc.c-torture/execute/pr49279.c: New test.
+
+2011-10-06 Bernd Schmidt <bernds@codesourcery.com>
+
+ PR target/49049
+ * gcc.c-torture/compile/pr49049.c: New test.
+
+2011-10-06 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR target/50305
+ * gcc.target/arm/pr50305.c: New test.
+
+2011-10-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38884
+ * gcc.dg/tree-ssa/ssa-fre-34.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-fre-35.c: Likewise.
+
+2011-10-05 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/lzd.c: New test.
+ * gcc.target/sparc/popc.c: New test.
+
+2011-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/strlenopt-21.c (dg-options): Remove -fdump-tree-optimized.
+ * gcc.dg/ipa/inline-5.c: Cleanup inline ipa dump.
+ * g++.dg/other/final1.C: Cleanup original tree dump.
+
+2011-10-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50613
+ * gcc.dg/pr50613.c: New test.
+
+2011-10-05 Richard Henderson <rth@redhat.com>
+
+ * gcc.c-torture/execute/vect-shuffle-1.c: Rewrite.
+ * gcc.c-torture/execute/vect-shuffle-2.c: Rewrite.
+ * gcc.c-torture/execute/vect-shuffle-3.c: Rewrite.
+ * gcc.c-torture/execute/vect-shuffle-4.c: Rewrite.
+ * gcc.c-torture/execute/vect-shuffle-5.c: Rewrite.
+ * gcc.c-torture/execute/vect-shuffle-6.c: New test.
+ * gcc.c-torture/execute/vect-shuffle-7.c: New test.
+ * gcc.c-torture/execute/vect-shuffle-8.c: New test.
+
+2011-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/vect/vect.exp (VEC_CFLAGS): Move initialization after
+ DEFAULT_VECTFLAGS initialization. Append "-fdump-tree-veclower2".
+ * gcc.dg/vect/vec-scal-opt.c: Scan and cleanup veclower2 tree dump.
+ * gcc.dg/vect/vec-scal-opt1.c: Ditto.
+ * gcc.dg/vect/vec-scal-opt2.c: Ditto.
+
+2011-10-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38885
+ * gcc.dg/tree-ssa/ssa-fre-33.c: New testcase.
+
+2011-10-05 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.target/i386/sw-1.c: New test.
+
+2011-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx256-unaligned-load-3.c (dg-options): Add
+ -mtune=generic.
+ * gcc.target/i386/avx256-unaligned-store-3.c (dg-options): Ditto.
+
+2011-10-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/torture/builtin-complex-1.c: Use dg-add-options ieee.
+
+2011-10-04 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/fhalve.c: New test.
+ * gcc.target/sparc/fnegop.c: New test.
+ * gcc.target/sparc/xmul.c: New test.
+
+2011-10-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/35831
+ * gfortran.dg/dummy_procedure_6.f90: New.
+
+2011-10-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50604
+ * gcc.dg/pr50604.c: New test.
+
+2011-10-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/49662
+ * gcc.dg/graphite/interchange-14.c: Remove xfail *-*-*.
+ * gcc.dg/graphite/interchange-15.c: Likewise.
+ * gcc.dg/graphite/interchange-mvt.c: Likewise.
+
+2011-10-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/tree-ssa/restrict-4.c: New test.
+
+2011-10-04 Artem Shinkarov <artyom.shinkaroff@gmail.com>
+
+ * gcc.c-torture/execute/vector-compare-1.c: Fix trailing white spaces.
+ (main): Use __typeof to get result type of comparison.
+
+2011-10-04 Ira Rosen <ira.rosen@linaro.org>
+
+ * lib/target-supports.exp (check_effective_target_vect_multiple_sizes):
+ Make et_vect_multiple_sizes_saved global.
+ (check_effective_target_vect64): Make et_vect64_saved global.
+
+2011-10-03 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * gcc.c-torture/execute/vect-shuffle-2.c: New test.
+ * gcc.c-torture/execute/vect-shuffle-4.c: New test.
+ * gcc.c-torture/execute/vect-shuffle-1.c: New test.
+ * gcc.dg/builtin-complex-err-1.c: Adjust.
+
+2011-10-02 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/range-for22.C: New.
+
+ * g++.dg/cpp0x/variadic65.C: Remove xfails.
+ * g++.dg/cpp0x/variadic82.C: Remove xfails.
+ * g++.dg/cpp0x/variadic83.C: Remove xfails.
+ * g++.dg/cpp0x/variadic105.C: Remove xfails.
+
+ * g++.dg/cpp0x/nsdmi5.C: New.
+
+2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/50579
+ * gcc.target/mips/mips.exp (mips_long32_abi_p, mips_long64_abi_p):
+ New procedures.
+ (mips-dg-options): Force an ABI option if the current ABI is
+ incompatible with the required -mlong setting. Likewise force
+ a long setting if the current one is incompatible with the
+ chosen ABI. Keep abi_test_option_p, abi and eabi_p updated
+ throughout procedure.
+ * gcc.target/mips/abi-o64-long64.c: Require -mno-abicalls
+ instead of addressing=absolute.
+
+2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/stack-1.c: New test.
+
+2011-10-02 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/pr49696.c: New test.
+
+2011-10-02 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/ctor-empty-1.c: Update dump file.
+
+2011-10-01 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/cmask.c: New test.
+ * gcc.target/sparc/fpadds.c: New test.
+ * gcc.target/sparc/fshift.c: New test.
+ * gcc.target/sparc/fucmp.c: New test.
+ * gcc.target/sparc/vis3misc.c: New test.
+
+2011-10-01 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50585
+ * gfortran.dg/assumed_charlen_arg_2.f90: New.
+
+2011-09-30 Janis Johnson <janisjo@codesourcery.com>
+
+ PR c++/44473
+ * g++.dg/dfp/44473-1.C: New test.
+ * g++.dg/dfp/44473-2.C: New test.
+ * g++.dg/dfp/mangle-1.C: New test.
+ * g++.dg/dfp/mangle-2.C: New test.
+ * g++.dg/dfp/mangle-3.C: New test.
+ * g++.dg/dfp/mangle-4.C: New test.
+ * g++.dg/dfp/mangle-5.C: New test.
+
+2011-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR inline-asm/50571
+ * gcc.dg/pr50571.c: New test.
+
+ PR tree-optimization/46309
+ * gcc.dg/pr46309.c: New test.
+
+2011-09-30 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/strlenopt-21.c: New test.
+
+2011-09-30 Revital Eres <revital.eres@linaro.org>
+
+ * gcc.dg/sms-10.c: New file.
+
+2011-09-30 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/pr50099.c: New test.
+
+2011-09-30 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * gcc.target/arm/pr42835.c: Add -fno-tree-tail-merge.
+
+2011-09-30 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/bmaskbshuf.c: New test.
+ * gcc.target/sparc/edgen.c: New test.
+
+2011-09-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50547
+ * gfortran.dg/pure_formal_proc_3.f90: New.
+
+ PR fortran/50553
+ * gfortran.dg/stfunc_7.f90: New.
+
+2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
+
+ * gcc.c-torture/execute/vector-compare-1.c: New testcase.
+ * gcc.c-torture/execute/vector-compare-2.c: Likewise.
+ * gcc.dg/vector-compare-1.c: Likewise.
+ * gcc.dg/vector-compare-2.c: Likewise.
+
+2011-09-29 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/array.c: New test.
+
+2011-09-29 Jiangning Liu <jiangning.liu@arm.com>
+
+ * gcc/testsuite/gcc.dg/tree-ssa/predcom-1.c: Explicitly turn on
+ loop unroll and set max unroll times to 8.
+ * gcc/testsuite/gcc.dg/tree-ssa/predcom-2.c: Likewise.
+ * gcc/testsuite/gcc.dg/tree-ssa/predcom-3.c: Likewise.
+ * gcc/testsuite/gcc.dg/tree-ssa/predcom-4.c: Likewise.
+ * gcc/testsuite/gcc.dg/tree-ssa/predcom-5.c: Likewise.
+
+2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/40145
+ * g++.dg/ext/visibility/warn5.C: New.
+
+2011-09-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/45278
+ * g++.dg/warn/Wextra-3.C: New.
+
+2011-09-28 Oleg Endo <oleg.endo@t-online.de>
+
+ PR target/49486
+ * gcc.target/sh/pr49468-si.c: New.
+
+2011-09-28 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/50485
+ * gcc.target/i386/sse4_1-blendps.c: Include <stdlib.h>.
+ (TEST): Initialize src3 with random floats.
+ * gcc.target/i386/sse4_1-blendps-2.c (sse4_1_test): Remove field i
+ from union src3. Initialize src3 with random floats.
+
+2011-09-27 Oleg Endo <oleg.endo@t-online.de>
+
+ * gcc.target/sh/mfmovd.c: Extend list of supported targets.
+ * gcc.target/sh/struct-arg-dw2.c: Fix typo.
+ * gcc.target/sh/sh4a-sincos.c: Make test SH4A only.
+ * gcc.target/sh/sh4a-sincosf.c: Ditto.
+ * gcc.target/sh/sh4a-cos.c: Ditto.
+ * gcc.target/sh/sh4a-cosf.c: Ditto.
+ * gcc.target/sh/sh4a-sin.c: Ditto.
+ * gcc.target/sh/sh4a-sinf.c: Ditto.
+ * gcc.target/sh/sh4a-fsrra.c: Ditto.
+ * gcc.target/sh/sh4a-memmovua.c: Ditto.
+ * gcc.target/sh/sh4a-bitmovua.c: Ditto.
+
+2011-09-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/31489
+ * g++.dg/parse/error40.C: New.
+ * g++.dg/warn/incomplete1.C: Adjust.
+
+2011-09-27 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49463
+ * gcc.c-torture/execute/builtins/strstr-asm-lib.c (my_strstr):
+ Mark used.
+
+2011-09-27 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/strlenopt-1.c: New test.
+ * gcc.dg/strlenopt-1f.c: New test.
+ * gcc.dg/strlenopt-2.c: New test.
+ * gcc.dg/strlenopt-2f.c: New test.
+ * gcc.dg/strlenopt-3.c: New test.
+ * gcc.dg/strlenopt-4.c: New test.
+ * gcc.dg/strlenopt-4g.c: New test.
+ * gcc.dg/strlenopt-4gf.c: New test.
+ * gcc.dg/strlenopt-5.c: New test.
+ * gcc.dg/strlenopt-6.c: New test.
+ * gcc.dg/strlenopt-7.c: New test.
+ * gcc.dg/strlenopt-8.c: New test.
+ * gcc.dg/strlenopt-9.c: New test.
+ * gcc.dg/strlenopt-10.c: New test.
+ * gcc.dg/strlenopt-11.c: New test.
+ * gcc.dg/strlenopt-12.c: New test.
+ * gcc.dg/strlenopt-12g.c: New test.
+ * gcc.dg/strlenopt-13.c: New test.
+ * gcc.dg/strlenopt-14g.c: New test.
+ * gcc.dg/strlenopt-14gf.c: New test.
+ * gcc.dg/strlenopt-15.c: New test.
+ * gcc.dg/strlenopt-16g.c: New test.
+ * gcc.dg/strlenopt-17g.c: New test.
+ * gcc.dg/strlenopt-18g.c: New test.
+ * gcc.dg/strlenopt.h: New file.
+
+2011-09-27 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43864
+ * gcc.dg/fold-compare-2.c (dg-options): Add -fno-tree-tail-merge.
+ * gcc/testsuite/gcc.dg/uninit-pred-2_c.c: Same.
+ * gcc.dg/pr43864.c: New test.
+ * gcc.dg/pr43864-2.c: Same.
+ * gcc.dg/pr43864-3.c: Same.
+ * gcc.dg/pr43864-4.c: Same.
+
+2011-09-27 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/inline-5.c: New testcase.
+
+2011-09-27 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/bb-slp-11.c: Expect to get vectorized with 64-bit
+ vectors.
+ * gcc.dg/vect/bb-slp-27.c: New.
+ * gcc.dg/vect/bb-slp-28.c: New.
+
+2011-09-27 Bernd Schmidt <bernds@codesourcery.com>
+
+ * testsuite/lib/target-supports.exp (check_profiling_available):
+ Don't rely solely on TLS tests for -fprofile-generate, fall
+ through to the other code.
+
+2011-09-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50363
+ * gcc.dg/torture/pr50363.c: New testcase.
+
+2011-09-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/45012
+ * g++.dg/template/partial13.C: New.
+
+ PR c++/46105
+ * g++.dg/template/partial12.C: New.
+
+ PR c++/50508
+ * g++.dg/cpp0x/constexpr-typedef1.C: New.
+
+2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/45487
+ * g++.dg/diagnostic/bindings1.C: New.
+ * g++.old-deja/g++.pt/memtemp77.C: Adjust.
+
+2011-09-26 David S. Miller <davem@davemloft.net>
+
+ * gcc.target/sparc/wrgsr.c: New test.
+ * gcc.target/sparc/rdgsr.c: New test.
+ * gcc.target/sparc/edge.c: New test.
+ * gcc.target/sparc/fcmp.c: New test.
+
+ * gcc.target/sparc/edge.c: Update for new return types.
+ * gcc.target/sparc/fcmp.c: Likewise.
+
+ * gcc.target/sparc/fpaddsubi.c: New test.
+
+2011-09-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50515
+ * gfortran.dg/common_15.f90: New.
+
+ PR fortran/50517
+ * gfortran.dg/dummy_procedure_5.f90: New.
+ * gfortran.dg/interface_26.f90: Modified error message.
+ * gfortran.dg/proc_ptr_11.f90: Ditto.
+ * gfortran.dg/proc_ptr_15.f90: Ditto.
+ * gfortran.dg/proc_ptr_comp_20.f90: Ditto.
+ * gfortran.dg/proc_ptr_result_5.f90: Ditto.
+
+2011-09-26 Jason Merrill <jason@redhat.com>
+
+ PR c++/50512
+ * g++.dg/overload/rvalue3.C: New.
+
+ PR c++/50523
+ * g++.dg/overload/ref-conv2.C: New.
+
+ * g++.dg/cpp0x/nsdmi-template1.C: New.
+
+2011-09-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/nullptr25.C: New.
+
+2011-09-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50472
+ * gcc.dg/torture/pr50472.c: New testcase.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt22.adb: New test.
+ * gnat.dg/opt22_pkg.ad[sb]: New helper.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt21.adb: New test.
+ * gnat.dg/opt21_pkg.ad[sb]: New helper.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt20.ad[sb]: New test.
+ * gnat.dg/opt20_pkg.ads: New helper.
+
+2011-09-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array17.adb: New test.
+ * gnat.dg/array17_pkg.ads: New helper.
+
+2011-09-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/nsdmi-defer4.C: New.
+
+2011-09-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/frame_overflow.ads: New.
+ * gnat.dg/frame_overflow.adb: Adjust.
+ * gnat.dg/specs/addr1.ads: Likewise.
+
+2011-09-25 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/tree-ssa/restrict2.C: New test.
+
+2011-09-25 Ira Rosen <ira.rosen@linaro.org>
+
+ * lib/target-supports.exp (check_effective_target_vect64): New.
+ * gcc.dg/vect/bb-slp-11.c: Expect the error message twice in case
+ of multiple vector sizes.
+ * gcc.dg/vect/bb-slp-26.c: New.
+
+2011-09-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50280
+ * g++.dg/template/bitfield1.C: New.
+
+2011-09-25 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/bb-slp-24.c: New.
+
+2011-09-24 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/nsdmi-eh1.C: New.
+
+ * g++.dg/cpp0x/nsdmi-defer3.C: New.
+
+ * g++.dg/cpp0x/nsdmi-defer1.C: New.
+ * g++.dg/cpp0x/nsdmi-defer2.C: New.
+
+ * g++.dg/cpp0x/nsdmi1.C: New.
+ * g++.dg/cpp0x/nsdmi2.C: New.
+ * g++.dg/cpp0x/nsdmi3.C: New.
+ * g++.dg/cpp0x/nsdmi4.C: New.
+ * g++.old-deja/g++.other/init4.C: New.
+
+2011-09-24 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44267
+ * g++.dg/template/sfinae28.C: New.
+
+2011-09-23 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (errchk): Handle more cases of getting
+ correct Tcl backslash quoting in regular expressions in test file.
+
+2011-09-23 Jason Merrill <jason@redhat.com>
+
+ Core 253
+ * g++.dg/init/const8.C: New.
+ * g++.dg/cpp0x/constexpr-object1.C: Add a data member.
+ * g++.dg/cpp0x/defaulted2.C: Likewise.
+ * g++.dg/cpp0x/pr42844-2.C: Likewise.
+ * g++.dg/init/pr20039.C: Likewise.
+ * g++.dg/init/pr42844.C: Likewise.
+
+2011-09-23 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/ipa/inline-1.c: new testcase.
+ * gcc.dg/ipa/inline-2.c: new testcase.
+ * gcc.dg/ipa/inline-3.c: new testcase.
+ * gcc.dg/ipa/inline-4.c: new testcase.
+
+2011-09-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50258
+ * g++.dg/cpp0x/constexpr-static8.C: New.
+
+2011-09-23 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/avxfp-1.c: New test.
+ * gcc.target/i386/avxfp-2.c: New test.
+
+2011-09-23 Terry Guo <terry.guo@arm.com>
+
+ * gcc.c-torture/execute/941014-1.x: Deleted.
+
+2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50491
+ * g++.dg/cpp0x/pr50491.C: New.
+
+2011-09-22 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR testsuite/50487
+ * gfortran.dg/bessel_6.f90: Fix tolerance test.
+
+2011-09-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50371
+ * g++.dg/cpp0x/nullptr24.C: New.
+
+2011-09-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50482
+ * gcc.target/i386/pr50482.c: New test.
+
+2011-09-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.target/i386/pad-2.c, gcc.target/i386/pad-3.c,
+ gcc.target/i386/pad-4.c, gcc.target/i386/pad-5a.c,
+ gcc.target/i386/pad-5b.c, gcc.target/i386/pad-6a.c,
+ gcc.target/i386/pad-6b.c, gcc.target/i386/pad-7.c,
+ gcc.target/i386/pad-8.c, gcc.target/i386/pad-9.c,
+ gcc.target/i386/pad-10.cm gcc.target/i386/vect-double-1.c: Skip if
+ multilib options contain different -march= from dg-options.
+
+2011-09-22 Jonathan Wakely <jwakely.gcc@gmail.com>
+ Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50344
+ * g++.dg/template/friend52.C: New.
+
+2011-09-22 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.target/arm/cmp-1.c: New test.
+ * gcc.target/arm/cmp-2.c: Likewise.
+
+2011-09-22 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/41733
+ * gfortran.dg/impure_actual_1.f90: Modified error message.
+ * gfortran.dg/proc_ptr_32.f90: New.
+ * gfortran.dg/proc_ptr_33.f90: New.
+
+2011-09-22 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50451
+ * gcc.dg/vect/pr50451.c: New test.
+
+2011-09-21 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (errchk): Add special case for bug332.
+ (go-gc-tests): Add special cases for bug347 and bug348. Recognize
+ some more test lines.
+
+2011-09-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/other/i386-3.C: Remove duplicated dg-options.
+ * g++.dg/other/i386-4.C: Remove dg-require-effective-target directive.
+ * g++.dg/other/i386-8.C: Ditto.
+ * g++.dg/other/pr34435.C: Ditto.
+ * g++.dg/other/pr39496.C: Ditto.
+ * g++.dg/other/mmintrin.C: Ditto.
+
+2011-09-21 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vect/vect-cond-7.c: New test.
+ * gcc.target/i386/sse4_1-cond-1.c: New test.
+ * gcc.target/i386/avx-cond-1.c: New test.
+
+2011-09-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50464
+ * g++.dg/other/pr50464.C: New test.
+
+2011-09-21 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/bmi2-mulx32-2.c: New test.
+ * gcc.target/i386/bmi2-mulx32-2a.c: Ditto.
+ * gcc.target/i386/bmi2-mulx64-2.c: Ditto.
+ * gcc.target/i386/bmi2-mulx64-2a.c: Ditto.
+
+2011-09-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt19.adb: New test.
+
+2011-09-21 Terry Guo <terry.guo@arm.com>
+
+ * gcc.target/arm/neon-thumb2-move.c: Skip the warning message
+ on arch conflict when testing case on targets other than armv7-a.
+
+2011-09-21 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50454
+ * g++.dg/ext/int128-1.C: New.
+ * g++.dg/ext/int128-2.C: Likewise.
+ * g++.dg/ext/int128-2.h: Likewise.
+
+2011-09-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR testsuite/50469
+ * gfortran.dg/storage_size_2.f08: Replace "must be be" with "must be".
+
+2011-09-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-generated1.C: New.
+
+ PR c++/50442
+ * g++.dg/overload/ref-conv1.C: New.
+
+2011-09-20 Roberto Agostino Vitillo <ravitillo@lbl.gov>
+
+ * g++.dg/other/final1.C: New.
+
+2011-09-20 Ira Rosen <ira.rosen@linaro.org>
+
+ * g++.dg/vect/slp-pr50413.cc: Don't run the test. Remove main ()
+ and get_bit ().
+
+2011-09-19 Ian Bolton <ian.bolton@arm.com>
+
+ * gcc.dg/20100906-1.c: Use -fno-short-enums option for
+ "target arm_eabi".
+
+2011-09-19 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50413
+ * g++.dg/vect/vect.exp: Run slp-pr* tests with
+ -fdump-tree-slp-details. Run other tests with
+ -fdump-tree-vect-details.
+ * g++.dg/vect/slp-pr50413.cc: New.
+
+2011-09-18 Dominique d'Humieres <dominiq@lps.ens.fr>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR testsuite/50435
+ * gcc.dg/vect/bb-slp-25.c: Add an if to avoid loop vectorization.
+ Fix underscores around restrict.
+
+2011-09-18 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50414
+ * gfortran.dg/vect/Ofast-pr50414.f90: New.
+ * gfortran.dg/vect/vect.exp: Run Ofast-* tests with -Ofast.
+ * gcc.dg/vect/no-scevccp-noreassoc-slp-reduc-7.c: New.
+
+2011-09-18 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50412
+ * gfortran.dg/vect/pr50412.f90: New.
+
+2011-09-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/50424
+ * g++.dg/eh/defarg1.C: New.
+
+2011-09-16 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/vect/vect-reduc-10.c: New test.
+ * gcc.target/i386/avx-reduc-1.c: New test.
+
+ * gcc.target/i386/sse2-extract-1.c: New test.
+ * gcc.target/i386/avx-extract-1.c: New test.
+
+2011-09-16 Terry Guo <terry.guo@arm.com>
+
+ * gcc.dg/tree-ssa/foldconst-3.c: Don't use short enums.
+
+2011-09-15 Diego Novillo <dnovillo@google.com>
+
+ * lib/g++.exp (g++_init): Add $TEST_ALWAYS_FLAGS to
+ ALWAYS_CXXFLAGS, if defined.
+ * lib/gfortran.exp (gfortran_init): Add $TEST_ALWAYS_FLAGS to
+ ALWAYS_GFORTRANFLAGS, if defined.
+ * lib/go.exp (go_target_compile): Add $TEST_ALWAYS_FLAGS to
+ ALWAYS_GOCFLAGS, if defined.
+ * lib/obj-c++.exp (obj-c++_init): Add $TEST_ALWAYS_FLAGS to
+ ALWAYS_OBJCXXFLAGS, if defined.
+ * lib/gcc.exp (gcc_target_compile): Add $TEST_ALWAYS_FLAGS to
+ additional_flags, if defined.
+ * lib/gnat.exp (gnat_target_compile): Likewise.
+ * lib/objc.exp (objc_target_compile): Likewise.
+ * lib/target-supports-dg.exp (dg-add-options): Handle
+ TEST_ALWAYS_FLAGS.
+
+2011-09-15 Tom de Vries <tom@codesourcery.com>
+
+ PR testsuite/50322
+ * gcc.dg/tree-ssa/ivopts-lt.c: require stdint_types. include stdint.h.
+ Use uintptr_t in f1. Undo avr xfails.
+
+2011-09-15 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50401
+ PR fortran/50403
+ * gfortran.dg/function_types_3.f90: New.
+
+2011-09-15 Jason Merrill <jason@redhat.com>
+
+ PR c++/50365
+ * g++.dg/cpp0x/trailing7.C: New.
+
+ PR c++/50361
+ * g++.dg/cpp0x/nullptr23.C: New.
+
+2011-09-15 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/bb-slp-25.c: New.
+
+2011-09-14 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50391
+ * g++.dg/cpp0x/noexcept15.C: New.
+
+2011-09-14 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/50251
+ * gcc.dg/pr50251.c: New test.
+
+2011-09-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/34547
+ PR fortran/50375
+ * gfortran.dg/null_5.f90: New.
+ * gfortran.dg/null_6.f90: New.
+
+2011-09-13 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c-torture/compile/20110913-1.c: New test.
+
+2011-09-13 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50379
+ * gfortran.dg/result_2.f90: New.
+
+2011-09-13 Sevak Sargsyan <sevak.sargsyan@ispras.ru>
+
+ * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: New test.
+
+2011-09-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48320
+ * g++.dg/cpp0x/variadic116.C: New test case.
+
+2011-09-12 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/mips.exp (mips_option_groups): Add debug options.
+ * gcc.target/mips/interrupt_handler-2.c: New test.
+ * gcc.target/mips/interrupt_handler-3.c: Likewise.
+
+2011-09-12 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/fntmpdefarg2.C: Add more tests.
+
+ * g++.dg/cpp0x/explicit7.C: New.
+
+2011-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/50212
+ * g++.dg/other/pr50212.C: New test.
+
+2011-09-12 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/43746
+ * testsuite/gcc.target/avr/torture/avr-torture.exp
+ (AVR_TORTURE_OPTIONS): Add test cases "-O2 -fdata-sections" and
+ "-O2 -fmerge-all-constants".
+
+2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50327
+ * gfortran.dg/do_while_1.f90: New test.
+
+2011-09-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/35831
+ PR fortran/47978
+ * gfortran.dg/dynamic_dispatch_5.f03: Fix invalid test case.
+ * gfortran.dg/proc_decl_26.f90: New.
+ * gfortran.dg/typebound_override_2.f90: New.
+ * gfortran.dg/typebound_proc_6.f03: Changed wording in error message.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/cond_expr2.ad[sb]: New test.
+
+2011-09-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/atomic5.ad[sb]: New test.
+
+2011-09-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/sibcall-6.c: Check ia32 instead of ilp32.
+
+2011-09-09 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/49030
+ * gcc.dg/torture/pr49030.c: Run only if target int32plus.
+
+2011-09-09 Iain Sandoe <iains@gcc.gnu.org>
+
+ PR target/49614
+ * gcc.dg/vmx/gcc-bug-i.c (inline_me): Declare 'inline'.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50328
+ * gcc.dg/vect/fast-math-vect-outer-7.c: New testcase.
+
+2011-09-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/50333
+ * gcc.dg/torture/pr50333.c: New testcase.
+
+2011-09-08 Andrew Stubbs <ams@codesourcery.com>
+
+ PR tree-optimization/50318
+ * gcc.target/arm/pr50318-1.c: New file.
+
+2011-09-08 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/all_one_m256i.c: New test.
+
+2011-09-08 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50324
+ * g++.dg/cpp0x/sfinae28.C: New.
+
+2011-09-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c/50332
+ * gcc.dg/attr-invalid.c: Adjust as __attribute__((used) is no
+ longer ignored on typedefs.
+
+ PR c++/33255 - Support -Wunused-local-typedefs warning
+ * g++.dg/warn/Wunused-local-typedefs.C: New test file.
+ * c-c++-common/Wunused-local-typedefs.c: Likewise.
+
+2011-09-08 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/50287
+ * gcc.dg/torture/pr50287.c: New test.
+
+2011-09-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/19831
+ * gcc.dg/tree-ssa/pr19831-1.c: New testcase.
+ * gcc.dg/tree-ssa/pr19831-2.c: Likewise.
+ * gcc.dg/tree-ssa/pr19831-3.c: Likewise.
+ * gcc.dg/errno-1.c: Adjust.
+
+2011-09-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/19831
+ * gcc.dg/tree-ssa/ssa-dce-8.c: New testcase.
+
+2011-09-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/44646
+ * gfortran.dg/do_concurrent_1.f90: New.
+ * gfortran.dg/do_concurrent_2.f90: New.
+
+2011-09-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50310
+ * gcc.c-torture/execute/ieee/pr50310.c: New test.
+ * gcc.dg/pr50310-2.c: New test.
+
+2011-09-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48095
+ * gfortran.dg/derived_constructor_comps_2.f90: Modified.
+ * gfortran.dg/impure_constructor_1.f90: Modified.
+ * gfortran.dg/proc_ptr_comp_33.f90: New.
+
+2011-09-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50310
+ * gcc.dg/pr50310-1.c: New test.
+
+2011-09-07 Georg-Johann Lay <avr@gjlay.de>
+
+ PR middle-end/48571
+ * gcc.c-torture/execute/pr48571-1.c (bar): Use offsets sizeof(int)
+ instead of 4.
+
+2011-09-07 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/50309
+ * g++.dg/cpp0x/noexcept14.C: New.
+
+2011-09-07 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-ref3.C: New.
+
+ * g++.dg/cpp0x/sfinae11.C: Check for explanatory diagnostic.
+
+2011-09-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/section1.c: Don't xfail for avr.
+
+2011-09-07 Georg-Johann Lay <avr@gjlay.de>
+
+ PR tree-optimization/50322
+ * gcc.dg/tree-ssa/ivopts-lt.c: Add xfails for avr.
+
+2011-09-07 Martin Jambor <mjambor@suse.cz>
+
+ * g++.dg/tree-ssa/pr49911.C: Added flag -fstrict-enums.
+
+2011-09-07 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/49911
+ * g++.dg/tree-ssa/pr49911.C: New test.
+
+2011-09-07 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/49030
+ * gcc.dg/torture/pr49030.c: New test.
+
+2011-09-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50288
+ * gfortran.dg/class_4c.f03: Modified ("dg-do link" and "dg-final").
+ * gfortran.dg/class_4d.f03: Deleted.
+ * gfortran.dg/class_45b.f03: Modififed ("dg-do link").
+
+2011-09-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/forwprop-16.c: New testcase.
+
+2011-09-07 Jiangning Liu <jiangning.liu@arm.com>
+
+ PR tree-optimization/46021
+ * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on arm*-*-*.
+
+2011-09-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * g++.dg/ext/altivec-17.C: Fix dg-error to match current compiler.
+
+2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/compile/20110906-1.c: New test.
+
+2011-09-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/builtin-apply-mmx.c: Require ia32 effective target.
+
+2011-09-06 Enkovich Ilya <ilya.enkovich@intel.com>
+
+ * gcc.dg/tree-ssa/pr38533.c (dg-options): Added option
+ --param tree-reassoc-width=1.
+
+ * gcc.dg/tree-ssa/reassoc-24.c: New test.
+ * gcc.dg/tree-ssa/reassoc-25.c: Likewise.
+
+2011-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48149
+ * gcc.dg/tree-ssa/ssa-fre-32.c: New testcase.
+
+2011-09-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48317
+ * gcc.dg/tree-ssa/ssa-fre-31.c: New testcase.
+
+2011-09-06 Ira Rosen <ira.rosen@linaro.org>
+
+ * lib/target-supports.exp (check_effective_target_vect_multiple_sizes):
+ New procedure.
+ (add_options_for_quad_vectors): Replace with ...
+ (add_options_for_double_vectors): ... this.
+ * gfortran.dg/vect/pr19049.f90: Expect more printings on targets that
+ support multiple vector sizes since the vectorizer attempts to
+ vectorize with both vector sizes.
+ * gcc.dg/vect/no-vfa-vect-79.c,
+ gcc.dg/vect/no-vfa-vect-102a.c, gcc.dg/vect/vect-outer-1a.c,
+ gcc.dg/vect/vect-outer-1b.c, gcc.dg/vect/vect-outer-2b.c,
+ gcc.dg/vect/vect-outer-3a.c, gcc.dg/vect/no-vfa-vect-37.c,
+ gcc.dg/vect/vect-outer-3b.c, gcc.dg/vect/no-vfa-vect-101.c,
+ gcc.dg/vect/no-vfa-vect-102.c, gcc.dg/vect/vect-reduc-dot-s8b.c,
+ gcc.dg/vect/vect-outer-1.c, gcc.dg/vect/vect-104.c: Likewise.
+ * gcc.dg/vect/vect-42.c: Run with 64 bit vectors if applicable.
+ * gcc.dg/vect/vect-multitypes-6.c, gcc.dg/vect/vect-52.c,
+ gcc.dg/vect/vect-54.c, gcc.dg/vect/vect-46.c, gcc.dg/vect/vect-48.c,
+ gcc.dg/vect/vect-96.c, gcc.dg/vect/vect-multitypes-3.c,
+ gcc.dg/vect/vect-40.c: Likewise.
+ * gcc.dg/vect/vect-outer-5.c: Remove quad-vectors option as redundant.
+ * gcc.dg/vect/vect-109.c, gcc.dg/vect/vect-peel-1.c,
+ gcc.dg/vect/vect-peel-2.c, gcc.dg/vect/slp-25.c,
+ gcc.dg/vect/vect-multitypes-1.c, gcc.dg/vect/slp-3.c,
+ gcc.dg/vect/no-vfa-pr29145.c, gcc.dg/vect/vect-multitypes-4.c:
+ Likewise.
+ * gcc.dg/vect/vect-peel-4.c: Make ia global.
+
+2011-09-05 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/49606
+ * gcc.target/mips/abi-main.h: New file.
+ * gcc.target/mips/abi-o32-long32.c: New test.
+ * gcc.target/mips/abi-o32-long64.c: Likewise.
+ * gcc.target/mips/abi-o64-long32.c: Likewise.
+ * gcc.target/mips/abi-o64-long64.c: Likewise.
+ * gcc.target/mips/abi-n32-long32.c: Likewise.
+ * gcc.target/mips/abi-n32-long64.c: Likewise.
+ * gcc.target/mips/abi-n64-long32.c: Likewise.
+ * gcc.target/mips/abi-n64-long64.c: Likewise.
+ * gcc.target/mips/abi-o32-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o32-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o64-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o64-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n32-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n32-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n64-long32-no-shared.c: Likewise.
+ * gcc.target/mips/abi-n64-long64-no-shared.c: Likewise.
+ * gcc.target/mips/abi-o32-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-o32-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-o64-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-o64-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-n32-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-n32-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-n64-long32-pic.c: Likewise.
+ * gcc.target/mips/abi-n64-long64-pic.c: Likewise.
+ * gcc.target/mips/abi-eabi32-long32.c: Likewise.
+ * gcc.target/mips/abi-eabi32-long64.c: Likewise.
+ * gcc.target/mips/abi-eabi64-long32.c: Likewise.
+ * gcc.target/mips/abi-eabi64-long64.c: Likewise.
+ * gcc.target/mips/mips.exp: Make -mshared implied -mabicalls.
+ * gcc.target/mips/branch-2.c: Remove -mabicalls.
+ * gcc.target/mips/branch-3.c: Likewise.
+ * gcc.target/mips/branch-4.c: Likewise.
+ * gcc.target/mips/branch-5.c: Likewise.
+ * gcc.target/mips/branch-6.c: Likewise.
+ * gcc.target/mips/branch-7.c: Likewise.
+ * gcc.target/mips/branch-8.c: Likewise.
+ * gcc.target/mips/branch-9.c: Likewise.
+ * gcc.target/mips/branch-10.c: Likewise.
+ * gcc.target/mips/branch-11.c: Likewise.
+ * gcc.target/mips/branch-12.c: Likewise.
+ * gcc.target/mips/branch-13.c: Likewise.
+ * gcc.target/mips/lazy-binding-1.c: Likewise.
+
+2011-09-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/ipa/ipcp-3.c (mark_cell): Use mask 1 << 14 instead of 1 << 18
+ to avoid warning on int=16 platforms..
+
+2011-09-05 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/compat/struct-layout-1_test.h: Decrease bitfield size
+ to work even with -fshort-enums.
+
+2011-09-04 Jan Hubicka <jh@suse.cz>
+
+ * gcc.c-torture/compile/20110902.c: new testcase.
+
+2011-09-04 Jason Merrill <jason@redhat.com>
+
+ PR c++/49267
+ * g++.dg/cpp0x/rv-conv1.C: New.
+
+ DR 1328
+ * g++.dg/cpp0x/rv-func3.C: New.
+
+ * g++.dg/cpp0x/constexpr-default-ctor.C: New.
+
+ PR c++/50248
+ Core 1358
+ * g++.dg/cpp0x/constexpr-template1.C: New.
+ * g++.dg/cpp0x/constexpr-template2.C: New.
+ * g++.dg/cpp0x/constexpr-48089.C: Adjust error markup.
+ * g++.dg/cpp0x/constexpr-ex1.C: Adjust error markup.
+
+2011-09-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: Tweak pattern.
+
+2011-09-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50227
+ * gfortran.dg/class_45a.f03: New.
+ * gfortran.dg/class_45b.f03: New.
+
+2011-09-04 Jakub Jelinek <jakub@redhat.com>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50208
+ * gcc.dg/vect/no-fre-pre-pr50208.c: New test.
+ * gcc.dg/vect/vect.exp: Run no-fre-pre-*.c tests with
+ -fno-tree-fre -fno-tree-pre.
+
+2011-09-02 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/ipa/ipcp-3.c: New test.
+
+2011-09-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/27460
+ PR middle-end/29269
+ * gcc.dg/vect/vect-cond-7.c: New testcase.
+
+2011-09-02 Martin Jambor <mjambor@suse.cz>
+
+ * g++.dg/ipa/devirt-3.C: Added a distraction method.
+ * g++.dg/ipa/ivinline-7.C: Added a test for direct call discovery,
+ xfailed test for inlining.
+ * g++.dg/ipa/ivinline-9.C: Likewise.
+
+2011-09-01 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50178
+ * gfortran.dg/vect/pr50178.f90: New test.
+
+2011-08-31 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/49886
+ * gcc.c-torture/execute/pr49886.c: New testcase.
+
+2011-08-31 Tom de Vries <tom@codesourcery.com>
+
+ PR middle-end/43513
+ * gcc.dg/pr43513.c: New test.
+
+2011-08-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45044
+ * gfortran.dg/common_14.f90: New.
+ * gfortran.dg/common_resize_1.f: Add two dg-warning.
+
+2011-08-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/50084
+ * g++.dg/cpp0x/decltype33.C: New.
+
+ PR c++/50089
+ * g++.dg/cpp0x/lambda/lambda-qualified.C: New.
+
+ PR c++/50114
+ * g++.dg/cpp0x/lambda/lambda-for.C: New.
+
+2011-08-30 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/fma-compile.c: Escape [ and ] in scan strings.
+
+2011-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/aggr3.ads: New test.
+ * gnat.dg/specs/aggr3_pkg.ads: New helper.
+
+ * gnat.dg/specs/aggr1.ads: Remove superfluous space.
+ * gnat.dg/specs/aggr2.ads: Likewise.
+
+2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/45170
+ * gfortran.dg/allocate_with_source_2.f90: New test
+
+2011-08-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/50220
+ * g++.dg/cpp0x/lambda/lambda-50220.C: New.
+
+ PR c++/50234
+ * g++.dg/cpp0x/constexpr-value3.C: New.
+
+2011-08-30 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48571
+ * gcc.c-torture/execute/pr48571-1.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-ccp-25.c: Remove.
+ * gcc.dg/tree-ssa/ssa-ccp-26.c: Likewise.
+ * gcc.dg/pr36902.c: XFAIL.
+
+2011-08-30 Ilya Tocar <ilya.tocar@intel.com>
+
+ * gcc.target/i386/fma-check.h: New.
+ * gcc.target/i386/fma-256-fmaddXX.c: New testcase.
+ * gcc.target/i386/fma-256-fmaddsubXX.c: Likewise.
+ * gcc.target/i386/fma-256-fmsubXX.c: Likewise.
+ * gcc.target/i386/fma-256-fmsubaddXX.c: Likewise.
+ * gcc.target/i386/fma-256-fnmaddXX.c: Likewise.
+ * gcc.target/i386/fma-256-fnmsubXX.c: Likewise.
+ * gcc.target/i386/fma-fmaddXX.c: Likewise.
+ * gcc.target/i386/fma-fmaddsubXX.c: Likewise.
+ * gcc.target/i386/fma-fmsubXX.c: Likewise.
+ * gcc.target/i386/fma-fmsubaddXX.c: Likewise.
+ * gcc.target/i386/fma-fnmaddXX.c: Likewise.
+ * gcc.target/i386/fma-fnmsubXX.c: Likewise.
+ * gcc.target/i386/fma-compile.c: Likewise.
+ * gcc.target/i386/i386.exp (check_effective_target_fma): New.
+ * gcc.target/i386/sse-12.c: Add -mfma.
+ * gcc.target/i386/sse-13.c: Likewise.
+ * gcc.target/i386/sse-14.c: Likewise.
+ * gcc.target/i386/sse-22.c: Likewise.
+ * gcc.target/i386/sse-23.c: Likewise.
+ * g++.dg/other/i386-2.C: Likewise.
+ * g++.dg/other/i386-3.C: Likewise.
+
+2011-08-30 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR testsuite/50185
+ * gcc.target/i386/avx2-vmovmskb-2.c: Rename to ...
+ * gcc.target/i386/avx2-vpmovmskb-2.c: ... this. Update.
+
+2011-08-30 Christian Bruel <christian.bruel@st.com>
+
+ * g++.dg/bprob/bprob.exp (feedback_options): Set
+ -fbranch-probabilities.
+ * gcc.misc-tests/bprob.exp (feedback_options): Likewise.
+
+2011-08-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/50224
+ * g++.dg/cpp0x/lambda/lambda-use2.C: New.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+ Jason Merrill <jason@redhat.com>
+
+ * g++.dg/dfp/base.C: New test.
+
+2011-08-29 Jason Merrill <jason@redhat.com>
+
+ Core DR 994
+ PR c++/50209
+ * g++.dg/cpp0x/initlist58.C: New.
+
+2011-08-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50225
+ * gfortran.dg/class_result_1.f03: New.
+
+2011-08-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48722
+ * gcc.target/i386/pr48722.c: New test.
+
+2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/50192
+ * gfortran.dg/widechar_compare_1.f90: New test.
+
+2011-08-26 Jason Merrill <jason@redhat.com>
+
+ Core DR 342
+ PR c++/48582
+ * g++.dg/abi/mangle50.C: New.
+
+2011-08-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/50202
+ * gcc.target/i386/pr50202.c: New test.
+
+2011-08-26 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse_4_1-round-vec.c: New test.
+ * gcc.target/i386/sse_4_1-roundf-vec.c: New test.
+ * gcc.target/i386/avx-round-vec.c: New test.
+ * gcc.target/i386/avx-roundf-vec.c: New test.
+
+2011-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/cmpxchg16b-1.c: Match also space after the
+ instruction.
+
+ PR c/50179
+ * c-c++-common/Wunused-var-14.c: New test.
+
+2011-08-26 Tom de Vries <tom@codesourcery.com>
+
+ * gcc.dg/tree-ssa/ivopts-lt.c: New test.
+
+2011-08-26 Jiangning Liu <jiangning.liu@arm.com>
+
+ * gcc.target/arm/thumb2-cond-cmp-1.c: New.
+ * gcc.target/arm/thumb2-cond-cmp-2.c: Likewise.
+ * gcc.target/arm/thumb2-cond-cmp-3.c: Likewise.
+ * gcc.target/arm/thumb2-cond-cmp-4.c: Likewise.
+
+2011-08-26 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/thumb2-replicated-constant1.c: New file.
+ * gcc.target/arm/thumb2-replicated-constant2.c: New file.
+ * gcc.target/arm/thumb2-replicated-constant3.c: New file.
+ * gcc.target/arm/thumb2-replicated-constant4.c: New file.
+
+2011-08-25 Mikael Morin <mikael.morin@gcc.gnu.org>
+
+ PR fortran/50050
+ * gfortran.dg/pointer_comp_init_1.f90: New test.
+
+2011-08-25 Jason Merrill <jason@redhat.com>
+
+ PR c++/50157
+ * g++.dg/cpp0x/sfinae27.C: New.
+
+2011-08-25 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_lib_token_4.f90: New.
+
+2011-08-25 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray/alloc_comp_1.f90: New.
+
+2011-08-25 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/Wshadow-3.c: Restore original content destroyed by r148442.
+
+2011-08-24 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50163
+ * gfortran.dg/initialization_28.f90: New.
+
+2011-08-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/50067
+ * gcc.dg/torture/pr50067-3.c: New testcase.
+ * gcc.dg/torture/pr50067-4.c: Likewise.
+ * gcc.dg/torture/pr50067-5.c: Likewise.
+
+2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * g++.dg/other/i386-2.C: Add -mavx2 check.
+ * g++.dg/other/i386-3.C: Likewise.
+ * gcc.target/i386/avx-1.c: Add AVX2.
+ * gcc.target/i386/avx-2.c: Likewise.
+ * gcc.target/i386/funcspec-5.c: Likewise.
+ * gcc.target/i386/sse-12.c: Likewise.
+ * gcc.target/i386/sse-13.c: Likewise.
+ * gcc.target/i386/sse-14.c: Likewise.
+ * gcc.target/i386/sse-22.c: Likewise.
+ * gcc.target/i386/sse-23.c: Likewise.
+ * gcc.target/i386/i386.exp (check_effective_target_avx2): Likewise.
+ * gcc.target/i386/avx2-check.h: New.
+ * gcc.target/i386/avx2-i32gatherd-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd256-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherd256-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd256-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherpd256-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps256-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherps256-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq-4.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq256-2.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise.
+ * gcc.target/i386/avx2-i32gatherq256-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd256-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherd256-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd256-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps256-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherps256-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq-4.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq256-2.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise.
+ * gcc.target/i386/avx2-i64gatherq256-4.c: Likewise.
+ * gcc.target/i386/avx2-mpsadbw-1.c: Likewise.
+ * gcc.target/i386/avx2-mpsadbw-2.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastsd_pd-1.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastsd_pd-2.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastsi128-1.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastsi128-2.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastss_ps-1.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastss_ps-2.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastss_ps256-1.c: Likewise.
+ * gcc.target/i386/avx2-vbroadcastss_ps256-2.c: Likewise.
+ * gcc.target/i386/avx2-vextracti128-1.c: Likewise.
+ * gcc.target/i386/avx2-vextracti128-2.c: Likewise.
+ * gcc.target/i386/avx2-vinserti128-1.c: Likewise.
+ * gcc.target/i386/avx2-vinserti128-2.c: Likewise.
+ * gcc.target/i386/avx2-vmovmskb-2.c: Likewise.
+ * gcc.target/i386/avx2-vmovntdqa-1.c: Likewise.
+ * gcc.target/i386/avx2-vmovntdqa-2.c: Likewise.
+ * gcc.target/i386/avx2-vpabsb256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpabsb256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpabsd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpabsd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpabsw256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpabsw256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpackssdw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpackssdw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpacksswb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpacksswb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpackusdw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpackusdw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpackuswb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpackuswb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddsb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddsb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddusb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddusb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddusw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddusw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpaddw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpaddw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpalignr256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpalignr256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpand-1.c: Likewise.
+ * gcc.target/i386/avx2-vpand-2.c: Likewise.
+ * gcc.target/i386/avx2-vpandn-1.c: Likewise.
+ * gcc.target/i386/avx2-vpandn-2.c: Likewise.
+ * gcc.target/i386/avx2-vpavgb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpavgb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpavgw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpavgw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpblendd128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpblendd128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpblendd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpblendd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpblendvb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpblendvb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpblendw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpblendw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastb128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastb128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastb256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastb256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastd128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastd128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastq128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastq128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastq256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastq256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastw128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastw128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastw256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpbroadcastw256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpeqw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpcmpgtw-2.c: Likewise.
+ * gcc.target/i386/avx2-vperm2i128-1.c: Likewise.
+ * gcc.target/i386/avx2-vperm2i128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpermd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpermd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpermpd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpermpd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpermps-1.c: Likewise.
+ * gcc.target/i386/avx2-vpermps-2.c: Likewise.
+ * gcc.target/i386/avx2-vpermq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpermq-2.c: Likewise.
+ * gcc.target/i386/avx2-vphaddd-1.c: Likewise.
+ * gcc.target/i386/avx2-vphaddd-2.c: Likewise.
+ * gcc.target/i386/avx2-vphaddsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vphaddsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vphaddw-1.c: Likewise.
+ * gcc.target/i386/avx2-vphaddw-2.c: Likewise.
+ * gcc.target/i386/avx2-vphsubd-1.c: Likewise.
+ * gcc.target/i386/avx2-vphsubd-2.c: Likewise.
+ * gcc.target/i386/avx2-vphsubsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vphsubsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vphsubw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaddubsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaddubsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaddwd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaddwd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadq256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskloadq256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstored-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstored-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstored256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstored256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstoreq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstoreq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstoreq256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaskstoreq256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxsb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxsb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxsd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxsd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxub-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxub-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxud-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxud-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxuw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmaxuw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpminsb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpminsb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpminsd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpminsd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpminsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpminsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpminub-1.c: Likewise.
+ * gcc.target/i386/avx2-vpminub-2.c: Likewise.
+ * gcc.target/i386/avx2-vpminud-1.c: Likewise.
+ * gcc.target/i386/avx2-vpminud-2.c: Likewise.
+ * gcc.target/i386/avx2-vpminuw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpminuw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovmskb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxbd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxbd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxbq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxbq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxbw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxbw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxdq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxdq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxwd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxwd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxwq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovsxwq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxbd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxbd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxbq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxbq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxbw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxbw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxdq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxdq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxwd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxwd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxwq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmovzxwq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmuldq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmuldq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmulhrsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmulhrsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmulhuw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmulhuw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmulhw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmulhw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmulld-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmulld-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmullw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmullw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpmuludq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpmuludq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpor-1.c: Likewise.
+ * gcc.target/i386/avx2-vpor-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsadbw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsadbw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpshufb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpshufb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpshufd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpshufd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpshufhw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpshufhw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpshuflw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpshuflw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsignb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsignb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsignd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsignd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsignw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsignw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpslld-1.c: Likewise.
+ * gcc.target/i386/avx2-vpslld-2.c: Likewise.
+ * gcc.target/i386/avx2-vpslldi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpslldi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpslldq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpslldq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllqi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllqi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvd128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvd128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvq128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvq128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvq256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllvq256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsllwi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsllwi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrad-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrad-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsradi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsradi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsravd128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsravd128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsravd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsravd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsraw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsraw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrawi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrawi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrld-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrld-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrldi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrldi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrldq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrldq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlqi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlqi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvd128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvd128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvd256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvd256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvq128-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvq128-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvq256-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlvq256-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlwi-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsrlwi-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubsb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubsb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubsw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubsw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubusb-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubusb-2.c: Likewise.
+ * gcc.target/i386/avx2-vpsubusw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpsubusw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhbw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhbw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhdq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhdq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhqdq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhqdq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhwd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckhwd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpcklbw-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpcklbw-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckldq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpckldq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpcklqdq-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpcklqdq-2.c: Likewise.
+ * gcc.target/i386/avx2-vpunpcklwd-1.c: Likewise.
+ * gcc.target/i386/avx2-vpunpcklwd-2.c: Likewise.
+ * gcc.target/i386/avx2-vpxor-1.c: Likewise.
+ * gcc.target/i386/avx2-vpxor-2.c: Likewise.
+ * gcc.target/i386/testimm-9.c: Likewise.
+
+2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * g++.dg/other/i386-2.C: Add -mbmi2 check.
+ * g++.dg/other/i386-3.C: Likewise.
+ * gcc.target/i386/bmi2-bzhi32-1.c: New testcase.
+ * gcc.target/i386/bmi2-bzhi32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-bzhi64-1.c: Likewise.
+ * gcc.target/i386/bmi2-bzhi64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-mulx32-1.c: Likewise.
+ * gcc.target/i386/bmi2-mulx32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-mulx64-1.c: Likewise.
+ * gcc.target/i386/bmi2-mulx64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-pdep32-1.c: Likewise.
+ * gcc.target/i386/bmi2-pdep32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-pdep64-1.c: Likewise.
+ * gcc.target/i386/bmi2-pdep64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-pext32-1.c: Likewise.
+ * gcc.target/i386/bmi2-pext32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-pext64-1.c: Likewise.
+ * gcc.target/i386/bmi2-pext64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-rorx32-1.c: Likewise.
+ * gcc.target/i386/bmi2-rorx32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-rorx64-1.c: Likewise.
+ * gcc.target/i386/bmi2-rorx64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-sarx32-1.c: Likewise.
+ * gcc.target/i386/bmi2-sarx32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-sarx64-1.c: Likewise.
+ * gcc.target/i386/bmi2-sarx64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-shlx32-1.c: Likewise.
+ * gcc.target/i386/bmi2-shlx32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-shlx64-1.c: Likewise.
+ * gcc.target/i386/bmi2-shlx64-1a.c: Likewise.
+ * gcc.target/i386/bmi2-shrx32-1.c: Likewise.
+ * gcc.target/i386/bmi2-shrx32-1a.c: Likewise.
+ * gcc.target/i386/bmi2-shrx64-1.c: Likewise.
+ * gcc.target/i386/bmi2-shrx64-1a.c: Likewise.
+ * gcc.target/i386/i386.exp (check_effective_target_bmi2): New.
+ * gcc.target/i386/sse-12.c: Add BMI2.
+ * gcc.target/i386/sse-13.c: Likewise.
+ * gcc.target/i386/sse-14.c: Likewise.
+ * gcc.target/i386/sse-22.c: Likewise.
+ * gcc.target/i386/sse-23.c: Likewise.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/crash7.C: Adjust expected errors.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/49045
+ Core 1321
+ * g++.dg/cpp0x/overload2.C: New.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ Core 903
+ * g++.dg/cpp0x/constexpr-nullptr.C: Now ill-formed.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ Core 975
+ * g++.dg/cpp0x/lambda/lambda-deduce-ext-neg2.C: Now accepted.
+ * g++.dg/cpp0x/lambda/lambda-deduce-ext-neg.C: Adjust.
+ * g++.dg/cpp0x/lambda/lambda-deduce2.C: Test returning overload.
+ * g++.dg/cpp0x/lambda/lambda-deduce-neg.C: Remove #include.
+
+2011-08-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/50024
+ * g++.dg/cpp0x/constexpr-initlist5.C: New.
+
+2011-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/50158
+ * g++.dg/warn/Wunused-var-16.C: New test.
+
+ PR middle-end/50161
+ * gcc.dg/pr50161.c: New test.
+
+2011-08-23 Siddhesh Poyarekar <siddhesh.poyarekar@gmail.com>
+
+ PR c++/50055
+ * g++.dg/gcov/gcov-7.C: New test.
+
+2011-08-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/46862
+ * g++.dg/dfp/nofields.C: New test.
+
+2011-08-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/31600
+ * gfortran.dg/use_16.f90: New.
+
+2011-08-22 Uros Bizjak <ubizjak@gmail.com>
+ Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR target/50155
+ * gcc.target/i386/pr50155.c: New test.
+
+2011-08-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/50133
+ * gcc.dg/pr50133.c: New test.
+
+ PR middle-end/50141
+ * c-c++-common/cxxbitfields-6.c: New test.
+
+2011-08-22 Mikael Morin <mikael.morin@gcc.gnu.org>
+
+ PR fortran/50050
+ * gfortran.dg/alloc_comp_initializer_3.f90: New test.
+
+2011-08-22 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pr49994-2.c: Add dg-require-effective-target scheduling.
+ * gcc.dg/pr49994-3.c: Ditto.
+
+2011-08-22 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/50145
+ * gcc.dg/torture/pr50067-1.c: Run on little-endian systems only.
+ * gcc.dg/torture/pr50067-2.c: Likewise.
+
+2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47659
+ * gfortran.dg/warn_conversion_2.f90: Also warn about conversion
+ of a constant resulting from simplification.
+ * gfortran.dg/warn_conversion_3.f90: New test.
+
+2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/50130
+ * gfortran.dg/zero_stride_1.f90: New test.
+
+2011-08-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49638
+ * gfortran.dg/typebound_override_1.f90: Modified.
+
+2011-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48739
+ * gcc.dg/pr48739-1.c: New test.
+ * gcc.dg/pr48739-2.c: New test.
+
+2011-08-20 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/graphite/interchange-1.f: Remove xfail.
+
+2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/50129
+ * gfortran.dg/where_3.f90: New test.
+
+2011-08-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/49721
+ * gfortran.dg/pr49721-1.f: New.
+ * gfortran.fortran-torture/compile/pr49721-1.f: Likewise.
+
+2011-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/builtin-complex-err-1.c, gcc.dg/builtin-complex-err-2.c,
+ gcc.dg/dfp/builtin-complex.c, gcc.dg/torture/builtin-complex-1.c:
+ New tests.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-11.c: New file.
+ * gcc.target/arm/wmul-12.c: New file.
+ * gcc.target/arm/wmul-13.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-10.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-9.c: New file.
+ * gcc.target/arm/wmul-bitfield-2.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-8.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-7.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-6.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-5.c: New file.
+ * gcc.target/arm/no-wmla-1.c: New file.
+
+2011-08-19 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/wmul-bitfield-1.c: New file.
+
+2011-08-19 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c90-noreturn-1.c, gcc.dg/c99-noreturn-1.c: New tests.
+
+2011-08-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/builtins-67.c: Use dg-add-options c99_runtime.
+ * gcc.target/i386/conversion.c: Likewise.
+
+2011-08-19 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/pr50067-1.c: New testcase.
+ * gcc.dg/torture/pr50067-2.c: Likewise.
+
+2011-08-19 Joey Ye <joey.ye@arm.com>
+
+ PR target/49437
+ * gcc.target/arm/handler-align.c: New test.
+ * lib/target-supports.exp (check_effective_target_arm_cortex_m):
+ New Function.
+
+2011-08-19 Joey Ye <joey.ye@arm.com>
+
+ * gcc.c-torture/execute/20101011-1.c (DO_TEST): Skip on ARM.
+
+2011-08-19 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/50071
+ * gfortran.dg/end_block_label_1.f90: New test.
+ * gfortran.dg/end_associate_label_1.f90: New test.
+
+2011-08-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c1x-pointer-float-1.c: New test.
+
+2011-08-18 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/50071
+ * gfortran.dg/duplicate_labels_2.f: New test.
+
+2011-08-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c1x-noreturn-1.c, gcc.dg/c1x-noreturn-2.c,
+ gcc.dg/c1x-noreturn-3.c, gcc.dg/c1x-noreturn-4.c,
+ gcc.dg/c1x-noreturn-5.c: New tests.
+
+2011-08-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c1x-uni-string-1.c, gcc.dg/c1x-uni-string-2.c: New tests.
+
+2011-08-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_lock_1.f90: Update dg-error.
+ * gfortran.dg/coarray_lock_3.f90: Fix test.
+ * gfortran.dg/coarray_lock_4.f90: New.
+ * gfortran.dg/coarray_lock_5.f90: New.
+
+2011-08-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/50009
+ * gcc.c-torture/compile/pr50009.c: New test.
+
+ PR target/50092
+ * gcc.dg/torture/pr50092.c: New test.
+
+2011-08-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50109
+ * gfortran.dg/namelist_73.f90: New.
+
+2011-08-18 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/plugin/decl_plugin.c: Include diagnostic.h.
+
+ PR debug/50017
+ * gcc.dg/pr50017.c: New test.
+
+2011-08-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/45625
+ * g++.dg/lookup/hidden-var1.C: New test case.
+
+2011-08-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/31461
+ * gfortran.dg/warn_unused_var_2.f90: New.
+ * gfortran.dg/warn_unused_var_3.f90: New.
+
+2011-08-17 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43597
+ * gcc.target/arm/pr43597.c: New test.
+
+2011-08-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50070
+ * gfortran.dg/common_13.f90: New.
+
+2011-08-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/50086
+ * g++.dg/cpp0x/variadic-unresolved.C: New.
+
+ * g++.old-deja/g++.brendan/README: Add R.I.P.
+
+ * g++.dg/ext/attr-used-1.C: New.
+
+ PR c++/50054
+ * g++.dg/cpp0x/initlist56.C: New.
+
+2011-08-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR testsuite/50085
+ * g++.dg/opt/life1.C: Only run on Linux.
+
+2011-08-15 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_26.f90: New.
+
+2011-08-15 Hans-Peter Nilsson <hp@axis.com>
+
+ * gcc.dg/tree-ssa/vrp61.c: Use -fdump-tree-vrp1-nouid instead of
+ -fdump-tree-vrp1.
+
+2011-08-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/50073
+ * gfortran.dg/func_result_7.f90: New.
+
+2011-08-13 Jason Merrill <jason@redhat.com>
+
+ PR c++/50075
+ * g++.dg/cpp0x/decltype32.C: New.
+
+ PR c++/50059
+ * g++.dg/diagnostic/expr1.C: New.
+
+2011-08-12 David Li <davidxl@google.com>
+
+ * g++.dg/abi/vbase15.C: New test.
+
+2011-08-12 Jason Merrill <jason@redhat.com>
+
+ PR c++/50034
+ * g++.dg/cpp0x/defaulted28.C: Add unevaluated case.
+
+2011-08-12 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/builtins-67.c: New test.
+ * gcc.target/i386/conversion.c: Ditto.
+
+2011-08-11 Romain Geissler <romain.geissler@gmail.com>
+ Brian Hackett <bhackett1024@gmail.com>
+
+ * g++.dg/plugin/decl_plugin.c: New.
+ * g++.dg/plugin/decl-plugin-test.C: New.
+ * g++.dg/plugin/plugin.exp: Add above testcase.
+
+2011-08-11 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/tree-ssa/pr41186.C: Un-XFAIL.
+
+2011-08-11 Michael Matz <matz@suse.de>
+
+ * gcc.dg/graphite/run-id-pr47593.c: Remove -m32.
+
+2011-08-11 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50039
+ * gcc.dg/vect/vect.exp: Run no-tree-fre-* tests with -fno-tree-fre.
+ * gcc.dg/vect/no-tree-fre-pr50039.c: New test.
+
+2011-08-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/sse4_1-blendps-2.c: Include <stdlib.h>.
+ (sse4_1_test): Initialize src3 with random value.
+
+2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
+
+ * gcc.c-torture/execute/scal-to-vec1.c: New test.
+ * gcc.c-torture/execute/scal-to-vec2.c: New test.
+ * gcc.c-torture/execute/scal-to-vec3.c: New test.
+ * gcc.dg/scal-to-vec1.c: New test.
+ * gcc.dg/scal-to-vec2.c: New test.
+
+2011-08-09 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/vrp57.c: Disable CCP.
+ * gcc.dg/tree-ssa/vrp60.c: New testcase.
+ * gcc.dg/tree-ssa/vrp61.c: Likewise.
+ * gcc.dg/tree-ssa/vrp62.c: Likewise.
+
+2011-08-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gfortran.dg/scratch_1.f90: Skip on spu-*-*.
+
+2011-08-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gcc.dg/pr49948.c: Require pthread effective target.
+
+2011-08-09 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gcc.dg/lto/20110201-1_0.c: Provide dummy sqrt.
+
+2011-08-09 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse-22a.c: New test.
+
+2011-08-09 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/50014
+ * gcc.dg/vect/pr50014.c: New test.
+
+2011-08-08 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/49923
+ * gcc.dg/tree-ssa/pr49923.c: New test.
+
+2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49781
+ * gcc.target/i386/pr49781-1.c: New.
+
+2011-08-08 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/range-for20.C: Adjust to test 50020 as well.
+
+ * g++.dg/cpp0x/initlist5.C: Add 50011 test.
+
+2011-08-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49638
+ * gfortran.dg/typebound_override_1.f90: New.
+
+2011-08-07 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/tree-ssa/pr23455.c: Adjust testcases for LLP64 for
+ x86_64 mingw target.
+ * gcc.dg/tree-ssa/loop-1.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-store-ccp-2.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Likewise.
+ * gcc.dg/tree-ssa/loop-33.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-store-ccp-4.c: Likewise.
+ * gcc.dg/tree-ssa/loop-35.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-2.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-4.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-5.c: Likewise.
+ * gcc.dg/tree-ssa/gen-vect-11c.c: Likewise.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR testsuite/48727
+ * g++.dg/opt/devirt2.C: Use specific pattern for alpha*-*-*.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/pr48770.c: Cleanup coverage files.
+ * gfortran.dg/vect/O3-pr49957.f: Cleanup vect tree dump.
+
+2011-08-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse-22.c (dg-options): Add -march=k8.
+ (pragma GCC target): Add avx, fma4, lzcnt and bmi options.
+ * gcc.target/i386/sse-23.c (pragma GCC target): Add avx, fma4,
+ lzcnt and bmi options.
+
+2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47381
+ * gcc.dg/pr47381-1.c: New.
+ * gcc.dg/pr47381-2.c: Likewise.
+ * gcc.target/i386/pr47381.c: Likewise.
+
+2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47727
+ * gcc.dg/pr47727.c: New.
+
+ PR target/47372
+ * gcc.dg/pr47372-1.c: New.
+ * gcc.dg/pr47372-2.c: Likewise.
+
+2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47449
+ * gcc.target/i386/pr47449.c: New.
+
+ PR target/47446
+ * gcc.dg/pr47446-1.c: New.
+ * gcc.dg/pr47446-2.c: Likewise.
+
+2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47766
+ * gcc.dg/pr47766.c: New.
+
+ PR target/47715
+ * gcc.dg/tls/pr47715-1.c: New.
+ * gcc.dg/tls/pr47715-2.c: Likewise.
+ * gcc.dg/tls/pr47715-3.c: Likewise.
+ * gcc.dg/tls/pr47715-4.c: Likewise.
+ * gcc.dg/tls/pr47715-5.c: Likewise.
+
+2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/50002
+ * objc.dg/gnu-api-2-class.m: Updated comments.
+ * obj-c++.dg/gnu-api-2-class.mm: Likewise.
+ * objc.dg/gnu-api-2-class-meta.m: New test.
+ * obj-c++.dg/gnu-api-2-class-meta.mm: Likewise.
+
+2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/49882
+ * obj-c++.dg/gnu-api-2-class.mm (main): Test class_getSuperclass()
+ with classes that are in construction.
+
+2011-08-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/48084
+ * gcc.target/i386/pr48084-1.c: New.
+ * gcc.target/i386/pr48084-2.c: Likewise.
+ * gcc.target/i386/pr48084-3.c: Likewise.
+ * gcc.target/i386/pr48084-4.c: Likewise.
+ * gcc.target/i386/pr48084-5.c: Likewise.
+
+ PR rtl-optimization/49504
+ * gcc.target/i386/pr49504.c: New.
+
+ PR target/49860
+ * gcc.dg/pr49860.c: New.
+
+2011-08-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/49882
+ * objc.dg/gnu-api-2-class.m (main): Test class_getSuperclass()
+ with classes that are in construction.
+
+2011-08-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/48993
+ * g++.dg/cpp0x/constexpr-48089.C: Add cases.
+
+ PR c++/49921
+ * g++.dg/cpp0x/decltype31.C: New.
+
+ PR c++/49669
+ * g++.dg/init/array28.C: New.
+
+ PR c++/49988
+ * g++.dg/cpp0x/constexpr-non-const-arg3.C: New.
+
+2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47369
+ * gcc.dg/pr47369-1.c: New.
+
+2011-08-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47364
+ * gcc.dg/torture/pr47364-1.c: New.
+ * gcc.c-torture/compile/pr47364-1.c: Likewise.
+ * gcc.c-torture/compile/pr47364-2.c: Likewise.
+
+2011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/37211
+ * gfortran.dg/transfer_check_2.f90: New test case.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49494
+ * gfortran.dg/pr49494.f90: New testcase.
+
+2011-08-05 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49735
+ * gcc.c-torture/compile/pr49735.c: New testcase.
+
+2011-08-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/47453
+ * g++.dg/cpp0x/initlist56.C: New.
+
+ PR c++/49812
+ * g++.dg/overload/rvalue2.C: New.
+
+ PR c++/49983
+ * g++.dg/cpp0x/range-for21.C: New.
+
+ * g++.dg/ext/vla11.C: New.
+
+2011-08-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49984
+ * gcc.dg/tree-ssa/vrp59.c: New testcase.
+
+2011-08-05 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/vrp51.c: Disable CCP.
+ * gcc.dg/tree-ssa/vrp52.c: Likewise.
+ * gcc.dg/tree-ssa/vrp53.c: Likewise.
+
+2011-08-04 Mikael Morin <mikael.morin@sfr.fr>
+
+ * gfortran.dg/dependency_26.f90: Add a module to the cleanup directive.
+ * gfortran.dg/trim_optimize_2.f90: Add a module cleanup directive.
+ * gfortran.dg/ldist-pr43023.f90: Ditto.
+ * gfortran.dg/namelist_52.f90: Ditto.
+ * gfortran.dg/interface_proc_end.f90: Ditto.
+ * gfortran.dg/vector_subscript_bound_1.f90: Ditto.
+ * gfortran.dg/generic_typebound_operator_1.f90: Ditto.
+
+2011-08-04 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-over-widen-1.c: New test.
+ * gcc.dg/vect/vect-over-widen-2.c: New test.
+ * gcc.dg/vect/vect-over-widen-3.c: New test.
+ * gcc.dg/vect/vect-over-widen-4.c: New test.
+
+2011-08-04 Richard Guenther <rguenther@suse.de>
+
+ PR fortran/49957
+ * gfortran.dg/vect/O3-pr49957.f: New testcase.
+
+2011-08-04 Ian Bolton <ian.bolton@arm.com>
+
+ * gcc.target/arm/vfp-1.c: no large negative offsets on Thumb2.
+
+2011-08-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49905
+ * g++.dg/ext/builtin-object-size3.C: New test.
+
+2011-08-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49948
+ * gcc.dg/pr49948.c: New test.
+
+2011-08-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47383
+ * gcc.dg/torture/pr47383.c: New.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: Add missing -margs switch.
+
+2011-08-03 Arnaud Charlet <charlet@adacore.com>
+
+ * lib/gnat-dg.exp: Use gnatmake -c -u to compile a single file.
+
+2011-08-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47744
+ * gcc.dg/torture/pr47744-1.c: New.
+ * gcc.dg/torture/pr47744-2.c: Likewise.
+ * gcc.dg/torture/pr47744-3.c: Likewise.
+
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49958
+ * gcc.dg/torture/pr49958.c: New testcase.
+
+2011-08-03 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49938
+ * g++.dg/torture/pr49938.C: New testcase.
+
+2011-08-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/43886
+ * g++.dg/cpp0x/lambda/lambda-defarg2.C: New.
+
+ PR c++/49577
+ * g++.dg/cpp0x/initlist5.C: Add additional cases.
+
+ PR c++/49593
+ * g++.dg/cpp0x/variadic115.C: New.
+
+ PR c++/49803
+ * g++.dg/cpp0x/union5.C: New.
+
+2011-08-02 Daniel Kraft <d@domob.eu>
+
+ PR fortran/49885
+ * gfortran.dg/auto_char_dummy_array_3.f90: New test.
+
+2011-08-02 Kai Tietz <ktietz@redhat.com>
+
+ PR middle-end/49947
+ * gcc.dg/tree-ssa/forwprop-15.c
+
+2011-08-02 Jason Merrill <jason@redhat.com>
+
+ PR c++/49834
+ * g++.dg/cpp0x/range-for20.C: New.
+
+2011-08-02 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_lib_token_3.f90: New.
+
+2011-08-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/46752
+ * gcc.dg/gomp/atomic-5.c: Adjust expected diagnostics.
+ * gcc.dg/gomp/atomic-15.c: New test.
+ * g++.dg/gomp/atomic-5.C: Adjust expected diagnostics.
+ * g++.dg/gomp/atomic-15.C: New test.
+ * g++.dg/gomp/private-1.C: New test.
+ * g++.dg/gomp/sharing-2.C: New test.
+ * gfortran.dg/gomp/crayptr1.f90: Don't expect error
+ about Cray pointer in FIRSTPRIVATE/LASTPRIVATE.
+ * gfortran.dg/gomp/omp_atomic2.f90: New test.
+
+2011-08-02 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/trim_optimize_5.f90: Remove spurious "use foo".
+ * gfortran.dg/actual_array_vect_1.f90: Fix or add dg-final
+ cleanup-module.
+ * gfortran.dg/alloc_comp_assign_7.f90: Ditto.
+ * gfortran.dg/allocatable_function_5.f90: Ditto.
+ * gfortran.dg/allocate_stat.f90: Ditto.
+ * gfortran.dg/array_constructor_20.f90: Ditto.
+ * gfortran.dg/array_constructor_21.f90: Ditto.
+ * gfortran.dg/array_constructor_22.f90: Ditto.
+ * gfortran.dg/array_constructor_26.f03: Ditto.
+ * gfortran.dg/array_function_4.f90: Ditto.
+ * gfortran.dg/assumed_charlen_function_1.f90: Ditto.
+ * gfortran.dg/assumed_size_dt_dummy.f90: Ditto.
+ * gfortran.dg/bind_c_usage_15.f90: Ditto.
+ * gfortran.dg/bind_c_usage_16.f03: Ditto.
+ * gfortran.dg/bind_c_usage_3.f03: Ditto.
+ * gfortran.dg/binding_label_tests_7.f03: Ditto.
+ * gfortran.dg/class_15.f03: Ditto.
+ * gfortran.dg/class_27.f03: Ditto.
+ * gfortran.dg/class_33.f90: Ditto.
+ * gfortran.dg/class_37.f03: Ditto.
+ * gfortran.dg/class_40.f03: Ditto.
+ * gfortran.dg/class_42.f03: Ditto.
+ * gfortran.dg/class_defined_operator_1.f03: Ditto.
+ * gfortran.dg/coarray/registering_1.f90: Ditto.
+ * gfortran.dg/convert_1.f90: Ditto.
+ * gfortran.dg/default_initialization_3.f90: Ditto.
+ * gfortran.dg/dependency_25.f90: Ditto.
+ * gfortran.dg/dependency_26.f90: Ditto.
+ * gfortran.dg/dependency_36.f90: Ditto.
+ * gfortran.dg/dependency_37.f90: Ditto.
+ * gfortran.dg/derived_array_intrinisics_1.f90: Ditto.
+ * gfortran.dg/dynamic_dispatch_10.f03: Ditto.
+ * gfortran.dg/elemental_non_intrinsic_dummy_1.f90 |: Ditto.
+ * gfortran.dg/elemental_pointer_1.f90: Ditto.
+ * gfortran.dg/elemental_result_1.f90: Ditto.
+ * gfortran.dg/empty_derived_type.f90: Ditto.
+ * gfortran.dg/entry_7.f90: Ditto.
+ * gfortran.dg/entry_dummy_ref_2.f90: Ditto.
+ * gfortran.dg/equiv_constraint_3.f90: Ditto.
+ * gfortran.dg/error_recovery_3.f90: Ditto.
+ * gfortran.dg/extends_4.f03: Ditto.
+ * gfortran.dg/func_assign.f90: Ditto.
+ * gfortran.dg/func_assign_3.f90: Ditto.
+ * gfortran.dg/generic_1.f90: Ditto.
+ * gfortran.dg/generic_18.f90: Ditto.
+ * gfortran.dg/generic_22.f03: Ditto.
+ * gfortran.dg/generic_4.f90: Ditto.
+ * gfortran.dg/generic_6.f90: Ditto.
+ * gfortran.dg/generic_actual_arg.f90: Ditto.
+ * gfortran.dg/graphite/id-21.f: Ditto.
+ * gfortran.dg/graphite/pr45758.f90: Ditto.
+ * gfortran.dg/host_assoc_call_2.f90: Ditto.
+ * gfortran.dg/host_assoc_call_3.f90: Ditto.
+ * gfortran.dg/host_assoc_call_4.f90: Ditto.
+ * gfortran.dg/host_assoc_function_4.f90: Ditto.
+ * gfortran.dg/host_used_types_1.f90: Ditto.
+ * gfortran.dg/implicit_1.f90: Ditto.
+ * gfortran.dg/implicit_11.f90: Ditto.
+ * gfortran.dg/implicit_derived_type_1.f90: Ditto.
+ * gfortran.dg/impure_actual_1.f90: Ditto.
+ * gfortran.dg/impure_assignment_1.f90: Ditto.
+ * gfortran.dg/impure_constructor_1.f90: Ditto.
+ * gfortran.dg/initialization_10.f90: Ditto.
+ * gfortran.dg/initialization_12.f90: Ditto.
+ * gfortran.dg/interface_14.f90: Ditto.
+ * gfortran.dg/interface_15.f90: Ditto.
+ * gfortran.dg/interface_2.f90: Ditto.
+ * gfortran.dg/interface_25.f90: Ditto.
+ * gfortran.dg/interface_26.f90: Ditto.
+ * gfortran.dg/interface_29.f90: Ditto.
+ * gfortran.dg/interface_assignment_1.f90: Ditto.
+ * gfortran.dg/internal_pack_6.f90: Ditto.
+ * gfortran.dg/internal_pack_7.f90: Ditto.
+ * gfortran.dg/internal_pack_8.f90: Ditto.
+ * gfortran.dg/lto/pr45586_0.f90: Ditto.
+ * gfortran.dg/lto/pr47839_0.f90: Ditto.
+ * gfortran.dg/module_commons_3.f90: Ditto.
+ * gfortran.dg/module_equivalence_4.f90: Ditto.
+ * gfortran.dg/module_equivalence_6.f90: Ditto.
+ * gfortran.dg/module_function_type_1.f90: Ditto.
+ * gfortran.dg/module_naming_1.f90: Ditto.
+ * gfortran.dg/namelist_4.f90: Ditto.
+ * gfortran.dg/operator_c1202.f90: Ditto.
+ * gfortran.dg/parens_7.f90: Ditto.
+ * gfortran.dg/pr32921.f: Ditto.
+ * gfortran.dg/pr33646.f90: Ditto.
+ * gfortran.dg/pr41928.f90: Ditto.
+ * gfortran.dg/pr42119.f90: Ditto.
+ * gfortran.dg/pr43984.f90: Ditto.
+ * gfortran.dg/present_1.f90: Ditto.
+ * gfortran.dg/private_type_2.f90: Ditto.
+ * gfortran.dg/proc_decl_2.f90: Ditto.
+ * gfortran.dg/proc_ptr_10.f90: Ditto.
+ * gfortran.dg/proc_ptr_22.f90: Ditto.
+ * gfortran.dg/proc_ptr_8.f90: Ditto.
+ * gfortran.dg/proc_ptr_comp_12.f90: Ditto.
+ * gfortran.dg/proc_ptr_comp_pass_6.f90: Ditto.
+ * gfortran.dg/pure_formal_proc_2.f90: Ditto.
+ * gfortran.dg/realloc_on_assign_4.f03: Ditto.
+ * gfortran.dg/substring_equivalence.f90: Ditto.
+ * gfortran.dg/transfer_assumed_size_1.f90: Ditto.
+ * gfortran.dg/transpose_optimization_1.f90: Ditto.
+ * gfortran.dg/trim_optimize_6.f90: Ditto.
+ * gfortran.dg/typebound_call_12.f03: Ditto.
+ * gfortran.dg/typebound_operator_5.f03: Ditto.
+ * gfortran.dg/typebound_operator_6.f03: Ditto.
+ * gfortran.dg/typebound_proc_18.f03: Ditto.
+ * gfortran.dg/unreferenced_use_assoc_1.f90: Ditto.
+ * gfortran.dg/use_1.f90: Ditto.
+ * gfortran.dg/use_10.f90: Ditto.
+ * gfortran.dg/use_11.f90: Ditto.
+ * gfortran.dg/use_14.f90: Ditto.
+ * gfortran.dg/use_only_2.f90: Ditto.
+ * gfortran.dg/use_rename_4.f90: Ditto.
+ * gfortran.dg/use_rename_5.f90: Ditto.
+ * gfortran.dg/used_dummy_types_3.f90: Ditto.
+ * gfortran.dg/used_interface_ref.f90: Ditto.
+ * gfortran.dg/used_types_11.f90: Ditto.
+ * gfortran.dg/used_types_3.f90: Ditto.
+ * gfortran.dg/used_types_4.f90: Ditto.
+ * gfortran.dg/userdef_operator_2.f90: Ditto.
+ * gfortran.dg/vect/fast-math-vect-8.f90: Ditto.
+ * gfortran.dg/vect/pr46213.f90: Ditto.
+ * gfortran.dg/whole_file_21.f90: Ditto.
+ * gfortran.dg/whole_file_22.f90: Ditto.
+ * gfortran.dg/coarray_lib_token_1.f90: Ditto. Add space before "}".
+ * gfortran.dg/coarray_lib_token_2.f90: Ditto.
+
+2011-08-02 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/tree-ssa/forwprop-15.c: New testcase.
+
+2011-08-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/49932
+ * g++.dg/abi/mangle49.C: New.
+
+ PR c++/49924
+ * g++.dg/cpp0x/constexpr-array4.C: New.
+
+ PR c++/49813
+ * g++.dg/cpp0x/constexpr-builtin1.C: New.
+
+2011-08-01 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49927
+ * gcc.target/i386/pr49927.c: New test.
+
+2011-08-01 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49926
+ * gcc.dg/vect/pr49926.c: New test.
+
+2011-08-01 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/i386.exp (check_effective_target_lzcnt): New.
+ * gcc.target/i386/lzcnt-1.c: New test.
+ * gcc.target/i386/lzcnt-2.c: Likewise.
+ * gcc.target/i386/lzcnt-2a.c: Likewise.
+ * gcc.target/i386/lzcnt-3.c: Likewise.
+ * gcc.target/i386/lzcnt-4.c: Likewise.
+ * gcc.target/i386/lzcnt-4a.c: Likewise.
+ * gcc.target/i386/lzcnt-5.c: Likewise.
+ * gcc.target/i386/lzcnt-6.c: Likewise.
+ * gcc.target/i386/lzcnt-6a.c: Likewise.
+ * gcc.target/i386/lzcnt-check.h: Likewise.
+
+ * gcc.target/i386/sse-12.c (dg-compile): Add -mlzcnt.
+ * gcc.target/i386/sse-13.c: Likewise.
+ * gcc.target/i386/sse-14.c: Likewise.
+ * g++.dg/other/i386-2.C: Likewise.
+ * g++.dg/other/i386-3.C: Likewise.
+
+2011-08-01 Julian Brown <julian@codesourcery.com>
+
+ * gcc.target/arm/fixed-point-exec.c: New test.
+
+2011-07-31 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49920
+ * gcc.target/i386/pr49920.c: New test.
+
+2011-07-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only.
+ * gcc.dg/tree-ssa/pr23109.c: Ditto.
+ * gcc.dg/tree-ssa/loop-7.c: Ditto.
+ * gcc.dg/tree-ssa/loop-32.c: Ditto.
+ * gcc.dg/tree-ssa/loop-33.c: Ditto.
+ * gcc.dg/tree-ssa/loop-34.c: Ditto.
+ * gcc.dg/tree-ssa/loop-35.c: Ditto.
+ * gcc.dg/tree-ssa/restrict-3.c: Ditto.
+ * gcc.dg/tree-ssa/ssa-lim-2.c: Ditto.
+ * gcc.dg/tree-ssa/ssa-lim-1.c: Ditto.
+ * gcc.dg/tree-ssa/ssa-lim-3.c: Ditto.
+ * gcc.dg/tree-ssa/ssa-lim-6.c: Ditto.
+ * gcc.dg/tree-ssa/structopt-1.c: Ditto.
+ * g++.dg/tree-ssa/pr33615.C: Ditto.
+ * g++.dg/tree-ssa/restrict1.C: Ditto.
+ * c-c++-common/restrict-2.c: Ditto.
+ * gfortran.dg/pr32921.f: Ditto.
+ * gcc.dg/tree-ssa/ssa-dse-10.c: Dump and cleanup dse1 pass only.
+ * gcc.dg/fold-compare-2.c: Dump and cleanup vrp1 pass only.
+ * gcc.dg/tree-ssa/vrp47.c: Ditto.
+ * gcc.dg/tree-ssa/pr25501.c: Dump and cleanup mergephi1 pass only.
+ * gcc.dg/tree-ssa/pr15349.c: Dump and cleanup mergephi2 pass only.
+ * gcc.dg/tree-ssa/tailrecursion-1.c: Dump and cleanup tailr1 pass only.
+ * gcc.dg/tree-ssa/tailrecursion-2.c: Ditto.
+ * gcc.dg/tree-ssa/tailrecursion-3.c: Ditto.
+ * gcc.dg/tree-ssa/tailrecursion-4.c: Ditto.
+ * gcc.dg/tree-ssa/tailrecursion-6.c: Ditto.
+
+2011-07-31 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and
+ .exe.ltrans[0-9]*. dump files.
+
+2011-07-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49112
+ * gfortran.dg/abstract_type_6.f03: Modified.
+ * gfortran.dg/typebound_proc_24.f03: New.
+
+2011-07-30 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR testsuite/49917
+ * g++.dg/init/for1.C: Fix.
+
+2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48876
+ * gfortran.dg/string_5.f90: New test.
+
+2011-07-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/49867
+ * g++.dg/cpp0x/lambda/lambda-switch.C: New.
+
+2011-07-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/47407
+ * gcc.dg/tree-ssa/pr42585.c: XFAIL scan-tree-dump-times on
+ alpha*-dec-osf*.
+ Sort target list.
+
+2011-07-29 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/uninit-suppress.c: Also disable VRP.
+ * gcc.dg/uninit-suppress_2.c: Likewise.
+
+2011-07-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/49808
+ * g++.dg/template/nontype24.C: New.
+
+2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/47958
+ * gcc.dg/torture/pr47958-1.c: New.
+
+2011-07-29 Wei Guozhi <carrot@google.com>
+
+ PR rtl-optimization/49799
+ * gcc.dg/pr49799.c: New test case.
+
+2011-07-22 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/48648
+ * gcc.dg/graphite/id-pr48648.c: New.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/31067
+ * gfortran.dg/maxloc_2.f90: New test.
+ * gfortran.dg/maxloc_3.f90: New test.
+ * gfortran.dg/minloc_1.f90: New test.
+ * gfortran.dg/minloc_2.f90: New test.
+ * gfortran.dg/minloc_3.f90: New test.
+ * gfortran.dg/minmaxloc_7.f90: New test.
+
+ PR debug/49871
+ * gcc.dg/debug/dwarf2/pr49871.c: New test.
+
+2011-07-28 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
+ the builtin isn't optimized away.
+
+2011-07-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/45586
+ * gfortran.dg/lto/pr45586-2_0.f90: New.
+
+2011-07-27 Aldy Hernandez <aldyh@redhat.com>
+
+ PR middle-end/49875
+ * c-c++-common/cxxbitfields-4.c: Check for smaller than long moves.
+ * c-c++-common/cxxbitfields-5.c: Same.
+
+2011-07-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * lib/target-supports.exp (check_effective_target_mmap): Use
+ check_function_available.
+
+2011-07-27 Jeffrey Yasskin <jyasskin@google.com>
+
+ * g++.old-deja/g++.pt/crash60.C: Updated.
+
+2011-07-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49866
+ * gcc.target/i386/pr49866.c: New test.
+
+2011-07-27 Yukhin Kirill <kirill.yukhin@intel.com>
+
+ * gcc.target/i386/i386.exp (check_effective_target_bmi): New.
+ * gcc.target/i386/bmi-andn-1.c: New test.
+ * gcc.target/i386/bmi-andn-1a.c: Likewise.
+ * gcc.target/i386/bmi-andn-2.c: Likewise.
+ * gcc.target/i386/bmi-andn-2a.c: Likewise.
+ * gcc.target/i386/bmi-bextr-1.c: Likewise.
+ * gcc.target/i386/bmi-bextr-1a.c: Likewise.
+ * gcc.target/i386/bmi-bextr-2.c: Likewise.
+ * gcc.target/i386/bmi-bextr-2a.c: Likewise.
+ * gcc.target/i386/bmi-blsi-1.c: Likewise.
+ * gcc.target/i386/bmi-blsi-1a.c: Likewise.
+ * gcc.target/i386/bmi-blsi-2.c: Likewise.
+ * gcc.target/i386/bmi-blsi-2a.c: Likewise.
+ * gcc.target/i386/bmi-blsmsk-1.c: Likewise.
+ * gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
+ * gcc.target/i386/bmi-blsmsk-2.c: Likewise.
+ * gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
+ * gcc.target/i386/bmi-blsr-1.c: Likewise.
+ * gcc.target/i386/bmi-blsr-1a.c: Likewise.
+ * gcc.target/i386/bmi-blsr-2.c: Likewise.
+ * gcc.target/i386/bmi-blsr-2a.c: Likewise.
+ * gcc.target/i386/bmi-tzcnt-1.c: Likewise.
+ * gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
+ * gcc.target/i386/bmi-tzcnt-2.c: Likewise.
+ * gcc.target/i386/bmi-tzcnt-2a.c: Likewise.
+
+2011-07-27 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47691
+ * gfortran.dg/graphite/id-pr47691.f: New.
+
+2011-07-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx-os-support.h: New.
+ * gcc.target/i386/avx-check.h: Include avx-os-support.h
+ (main): Check avx_os_support before the test is run.
+ * gcc.target/i386/aes-avx-check.h: Ditto.
+ * gcc.target/i386/pclmul-avx-check.h: Ditto.
+
+2011-07-27 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.target/i386/aggregate-ret3.c: New test.
+ * gcc.target/i386/aggregate-ret4.c: New test.
+
+2011-07-27 Daniel Carrera <dcarrera@gmail.com>
+
+ PR fortran/49755
+ * gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
+ allocated array should *not* change its size.
+ * gfortran.dg/multiple_allocation_3.f90: New test.
+
+2011-07-26 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49776
+ * g++.dg/cpp0x/constexpr-49776.C: New.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47046
+ * gcc.dg/graphite/id-pr47046.c: New.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47653
+ * gcc.dg/graphite/run-id-pr47593.c: New.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47653
+ * gcc.dg/graphite/run-id-pr47653.c: New.
+ * gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
+ induction variables.
+ * gcc.dg/graphite/scop-16.c: Same.
+ * gcc.dg/graphite/scop-17.c: Same.
+ * gcc.dg/graphite/scop-21.c: Same.
+
+2011-07-26 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/48805
+ * gcc.dg/graphite/id-pr48805.c: New.
+
+2011-07-26 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_lib_token_2.f90: New.
+
+2011-07-26 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-70.c: Reduce the data size to fit
+ SPU local store.
+
+2011-07-25 Andrew Pinski <apinski@cavium.com>
+
+ PR tree-opt/49671
+ * gcc.dg/tree-ssa/pr49671-1.c: New testcase.
+ * gcc.dg/tree-ssa/pr49671-2.c: New testcase.
+
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp (check_effective_target_mmap): New proc.
+
+ * gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
+ * gcc.c-torture/execute/loop-2g.c: Likewise.
+ * gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
+ Require mmap support.
+ * gcc.c-torture/execute/loop-2g.x: Likewise.
+ * gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
+ (MAP_ANON): Provide default.
+ * gcc.dg/20050826-1.c: Likewise.
+ * gcc.target/i386/pr36533.c: Likewise.
+ * gcc.dg/vect/pr49038.c: Remove dg-do run.
+ Use dg-require-effective-target mmap.
+
+2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/49838
+ * g++.dg/cpp0x/range-for19.C: New.
+
+2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/49753
+ * g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options.
+
+ Revert:
+ 2011-07-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/49753
+ * g++.dg/torture/pr49309.C: Remove.
+
+2011-07-25 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/49809
+ * gnat.dg/opt18.adb, gnat.dg/opt18.ads, gnat.dg/opt18_pkg.ads: New
+ test.
+
+2011-07-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49715
+ * gcc.target/i386/pr49715-1.c: New testcase.
+ * gcc.target/i386/pr49715-2.c: Likewise.
+
+2011-07-23 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/decltype21.C: Add 49823 examples.
+
+2011-07-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/49793
+ * g++.dg/cpp0x/initlist55.C: New.
+
+2011-07-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49791
+ * gfortran.dg/namelist_72.f: New.
+
+2011-07-23 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_25.f90: New.
+
+2011-07-22 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * override1.C: This test should use c++0x mode.
+ * override3.C: New. Test the diagnostics in c++98 mode.
+
+2011-07-22 Jason Merrill <jason@redhat.com>
+ Mark Glisse <marc.glisse@normalesup.org>
+
+ PR c++/30112
+ * g++.dg/other/pragma-re-1.C: Add namespace cases.
+
+ PR c++/49813
+ * g++.dg/opt/builtins2.C: New.
+ * g++.dg/other/error27.C: Don't rely on __builtin.
+
+2011-07-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run
+ on lp64 targets.
+ * gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise.
+ * gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise.
+ * gcc/testsuite/gcc.target/i386/pr43662.c: Likewise.
+ * gcc/testsuite/gcc.target/i386/pr43869.c: Likewise.
+
+ * gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32
+ instead of ia32.
+
+2011-07-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45819
+ * gcc.dg/pr45819.c: New testcase.
+
+2011-07-22 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/target-supports.exp (check_ifunc_available): Rewrite.
+
+2011-07-21 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR middle-end/47654
+ PR middle-end/49649
+ * gcc.dg/graphite/run-id-pr47654.c: New.
+
+2011-07-21 Ian Lance Taylor <iant@google.com>
+
+ PR middle-end/49705
+ * gcc.dg/pr49705.c: New test.
+
+2011-07-21 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/target-supports.exp (check_avx_os_support_available): New.
+ (check_effective_target_avx_runtime): Use it.
+
+2011-07-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49770
+ * g++.dg/torture/pr49770.C: New testcase.
+
+2011-07-21 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/tree-ssa/pr30978.c: adjusted.
+ * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
+
+2011-07-21 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_lib_token_1.f90: New.
+
+2011-07-21 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pr32912-2.c: Skip for AVR.
+ * gcc.dg/pr44674.c: Add dg-require-profiling.
+
+2011-07-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/ext/desig2.C: New.
+
+2011-07-20 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/ppc-fma-1.c: Adjust to allow non-VSX fmas to
+ be generated.
+ * gcc.target/powerpc/ppc-fma-2.c: Ditto.
+ * gcc.target/powerpc/recip-3.c: Ditto.
+
+2011-07-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/6709 (DR 743)
+ PR c++/42603 (DR 950)
+ * g++.dg/cpp0x/decltype21.C: New.
+
+2011-07-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/18908
+ * gcc.dg/tree-ssa/pr18908.c: New testcase.
+ * gcc.dg/tree-ssa/bitwise-sink.c: Adjust.
+
+2011-07-20 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/arm/combine-movs.c: New.
+ * gcc.target/arm/unsigned-extend-2.c: New.
+
+2011-07-19 Jason Merrill <jason@redhat.com>
+
+ PR c++/49785
+ * g++.dg/cpp0x/variadic114.C: New.
+
+2011-07-19 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_args_1.f90: New.
+ * gfortran.dg/coarray_args_2.f90: New.
+
+2011-07-19 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49708
+ * gfortran.dg/allocate_error_3.f90: New.
+
+2011-07-19 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/bool-10.c: Adjust expected pattern.
+ * gcc.dg/tree-ssa/bool-11.c: Likewise.
+ * gcc.dg/torture/20110719-1.c: New testcase.
+
+2011-07-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49768
+ * gcc.c-torture/execute/pr49768.c: New test.
+
+2011-07-19 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49771
+ * gcc.dg/vect/pr49771.c: New test.
+
+2011-07-18 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/ipa/ipa-1.c: Updated testcase dump scan.
+ * gcc.dg/ipa/ipa-2.c: Likewise.
+ * gcc.dg/ipa/ipa-3.c: Likewise and made functions static.
+ * gcc.dg/ipa/ipa-4.c: Updated testcase dump scan.
+ * gcc.dg/ipa/ipa-5.c: Likewise.
+ * gcc.dg/ipa/ipa-7.c: Likewise.
+ * gcc.dg/ipa/ipa-8.c: Updated testcase dump scan.
+ * gcc.dg/ipa/ipacost-1.c: Likewise.
+ * gcc.dg/ipa/ipacost-2.c: Likewise and increased sizes of some
+ functions.
+ * gcc.dg/ipa/ipcp-1.c: New test.
+ * gcc.dg/ipa/ipcp-2.c: Likewise.
+ * gcc.dg/tree-ssa/ipa-cp-1.c: Updated testcase.
+
+2011-07-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49675
+ * gfortran.dg/pr49675.f90: New test.
+
+2011-07-18 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/20110718-1.c: New testcase.
+
+2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
+ * g++.dg/ext/bitfield3.C: Likewise.
+ * g++.dg/ext/bitfield4.C: Likewise.
+ * g++.dg/ext/bitfield5.C: Likewise.
+ * g++.dg/other/PR23205.C: Remove *-*-netware* support.
+ * g++.dg/other/pr23205-2.C: Likewise.
+ * gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
+ * gcc.c-torture/compile/20001109-2.c: Likewise.
+ * gcc.dg/20040813-1.c: Remove *-*-netware* support.
+ * gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
+ * gcc.dg/bitfld-16.c: Likewise.
+ * gcc.dg/bitfld-17.c: Likewise.
+ * gcc.dg/bitfld-18.c: Likewise.
+ * gcc.dg/builtins-config.h: Remove Netware support.
+ * gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number.
+ * gcc.dg/cdce2.c: Likewise.
+ * gcc.dg/cpp/assert4.c: Remove netware support.
+ * gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
+ * gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.
+
+ * lib/target-supports.exp (check_visibility_available): Remove
+ NetWare support.
+ (check_profiling_available): Likewise.
+
+2011-07-18 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/pr49038.c: Run only on targets that support mmap.
+
+2011-07-17 Tobias Burnus <burnus@net-b.de>
+ Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/34657
+ * gfortran.dg/generic_17.f90: Fix testcase.
+ * gfortran.dg/interface_3.f90: Add dg-error.
+ * gfortran.dg/use_14.f90: New.
+ * gfortran.dg/use_15.f90: New.
+
+2011-07-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/pointer_controlled.adb: New test.
+
+2011-07-17 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49624
+ * gfortran.dg/pointer_remapping_7.f90: New.
+
+2011-07-16 Jason Merrill <jason@redhat.com>
+
+ * lib/prune.exp (prune_gcc_output): Prune "In substitution" too.
+
+2011-07-16 Nathan Froyd <froydnj@codesourcery.com>
+ Jason Merrill <jason@redhat.com>
+
+ PR c++/45329
+ PR c++/48934
+ * g++.dg/cpp0x/decltype29.C: Adjust.
+ * g++.dg/cpp0x/error4.C: Adjust.
+ * g++.dg/cpp0x/sfinae26.C: Adjust.
+ * g++.dg/cpp0x/variadic105.C: Adjust.
+ * g++.dg/template/deduce3.C: Adjust.
+ * g++.dg/template/error45.C: Adjust.
+ * g++.dg/template/ptrmem2.C: Adjust.
+ * g++.dg/template/sfinae2.C: Adjust.
+ * g++.old-deja/g++.pt/crash60.C: Adjust.
+ * g++.old-deja/g++.pt/unify6.C: Adjust.
+ * g++.dg/cpp0x/lambda/lambda-ice2.C: Adjust.
+ * g++.dg/cpp0x/nullptr15.C: Adjust.
+ * g++.dg/cpp0x/pr31431-2.C: Adjust.
+ * g++.dg/cpp0x/pr31431.C: Adjust.
+ * g++.dg/cpp0x/pr31434.C: Adjust.
+ * g++.dg/cpp0x/sfinae11.C: Adjust
+ * g++.dg/cpp0x/temp_default2.C: Adjust.
+ * g++.dg/cpp0x/trailing4.C: Adjust.
+ * g++.dg/cpp0x/variadic-ex3.C: Adjust.
+ * g++.dg/cpp0x/variadic-ex4.C: Adjust.
+ * g++.dg/cpp0x/variadic105.C: Adjust.
+ * g++.dg/cpp0x/vt-37737-2.C: Adjust.
+ * g++.dg/ext/vla2.C: Adjust.
+ * g++.dg/other/ptrmem10.C: Adjust.
+ * g++.dg/other/ptrmem11.C: Adjust.
+ * g++.dg/overload/unknown1.C: Adjust.
+ * g++.dg/template/conv11.C: Adjust.
+ * g++.dg/template/dependent-expr5.C: Adjust.
+ * g++.dg/template/friend.C: Adjust.
+ * g++.dg/template/incomplete2.C: Adjust.
+ * g++.dg/template/local4.C: Adjust.
+ * g++.dg/template/local6.C: Adjust.
+ * g++.dg/template/operator9.C: Adjust.
+ * g++.dg/template/ttp25.C: Adjust.
+ * g++.dg/template/unify10.C: Adjust.
+ * g++.dg/template/unify11.C: Adjust.
+ * g++.dg/template/unify6.C: Adjust.
+ * g++.dg/template/unify9.C: Adjust.
+ * g++.dg/template/varmod1.C: Adjust.
+ * g++.old-deja/g++.brendan/crash56.C: Adjust.
+ * g++.old-deja/g++.pt/crash28.C: Adjust.
+ * g++.old-deja/g++.pt/explicit41.C: Adjust.
+ * g++.old-deja/g++.pt/explicit77.C: Adjust.
+ * g++.old-deja/g++.pt/expr2.C: Adjust.
+ * g++.old-deja/g++.pt/ptrmem6.C: Adjust.
+ * g++.old-deja/g++.pt/spec5.C: Adjust.
+ * g++.old-deja/g++.pt/spec6.C: Adjust.
+ * g++.old-deja/g++.pt/unify4.C: Adjust.
+ * g++.old-deja/g++.pt/unify8.C: Adjust.
+ * g++.old-deja/g++.robertl/eb98.C: Adjust.
+ * g++.dg/overload/template5.C: New testcase.
+ * g++.dg/template/overload12.C: New testcase.
+
+2011-07-11 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/coarray_14.f90: Remove dg-error "sorry not implemented".
+ * gfortran.dg/coarray_7.f90: Ditto.
+ * gfortran.dg/coarray/scalar_alloc_1.f90: New.
+ * gfortran.dg/coarray/scalar_alloc_2.f90: New.
+
+2011-07-16 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c-torture/execute/ieee/mul-subnormal-single-1.x: Add tic6x-*-*
+ case.
+ * gcc.c-torture/execute/ieee/20000320-1.x: Likewise.
+ * gcc.c-torture/execute/ieee/hugeval.x: Likewise.
+ * gcc.c-torture/execute/ieee/mzero2.c: Comment out the divide tests for
+ C67X.
+ * gcc.c-torture/execute/ieee/pr29302.x: New file.
+ * gcc.dg/torture/type-generic-1.c: Add -DUNSAFE for tic6x-*-*.
+ * gcc.dg/torture/builtin-math-7.c: Add a comment.
+
+2011-07-15 Jason Merrill <jason@redhat.com>
+
+ PR testsuite/49741
+ * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Restore.
+ Use --extra_opts instead of --additional_options.
+
+2011-07-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/49753
+ * g++.dg/torture/pr49309.C: Remove.
+
+2011-07-15 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.target/tic6x/weak-call.c: New test.
+ * gcc.target/tic6x/fpcmp.c: New test.
+ * gcc.target/tic6x/fpdiv.c: New test.
+ * gcc.target/tic6x/rotdi16-scan.c: New test.
+ * gcc.target/tic6x/ffssi.c: New test.
+ * gcc.target/tic6x/fpdiv-lib.c: New test.
+ * gcc.target/tic6x/cold-lc.c: New test.
+ * gcc.target/tic6x/longcalls.c: New test.
+ * gcc.target/tic6x/abi-align-1.c: New test.
+ * gcc.target/tic6x/fpcmp-finite.c: New test.
+ * gcc.target/tic6x/rotdi16.c: New test.
+ * gcc.target/tic6x/bswapl.c: New test.
+ * gcc.target/tic6x/ffsdi.c: New test.
+ * gcc.target/tic6x/tic6x.exp: New file.
+ * gcc.target/tic6x/builtins/arith24.c: New test.
+ * gcc.target/tic6x/builtins/smpy.c: New test.
+ * gcc.target/tic6x/builtins/smpylh.c: New test.
+ * gcc.target/tic6x/builtins/smpyh.c: New test.
+ * gcc.target/tic6x/builtins/sarith1.c: New test.
+ * gcc.target/tic6x/builtins/extclr.c: New test
+ * gcc.target/tic6x/builtins/c6x-builtins.exp: New file.
+ * gcc.target/tic6x/builtin-math-7.c: New test, adapted from gcc.dg.
+ * lib/target-supports.exp (chck_profiling_available): Not on tic6x.
+ (check_effective_target_ti_c67x, check_effective_target_ti_c64xp):
+ New functions.
+ * gcc.c-torture/execute/20101011-1.c: Add a condition for
+ __TMS320C6X__.
+ * gcc.dg/20020312-2.c: Likewise.
+ * gcc.dg/pr27095.c: Handle tic6x like hppa.
+ * gcc.dg/torture/pr37868.c: Skip on tic6x.
+ * gcc.dg/torture/builtin-math-7.c: Likewise.
+
+ PR testsuite/49757
+ * gcc.target/tic6x/builtins/c6x-builtins.exp: Return if
+ not testing tic6x-*-*.
+
+2011-07-14 Andrew Pinski <pinskia@gmail.com>
+
+ PR tree-opt/49309
+ * g++.dg/torture/pr49309.C: New testcase.
+
+2011-07-14 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.dg/pr48770.c: Add dg-require-effective-target fpic.
+
+2011-07-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49651
+ * gcc.dg/torture/pr49651.c: New testcase.
+
+2011-07-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/43746
+ * gcc.dg/array-quals-1.c: Don't xfail on AVR.
+
+2011-07-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/no-r11-1.c: Change -mno-r11 to
+ -mno-pointers-to-nested-functions.
+ * gcc.target/powerpc/no-r11-2.c: Ditto.
+ * gcc.target/powerpc/no-r11-3.c: Ditto.
+
+2011-07-13 Jason Merrill <jason@redhat.com>
+
+ * lib/g++.exp (${tool}_option_help, ${tool}_option_proc): Remove.
+ * lib/lto.exp (lto_prune_warns): Prune warning about -std=c++0x
+ when compiling C files.
+ * g++.dg/debug/dwarf2/lineno-simple1.C: Avoid constexpr ctor.
+ * g++.dg/debug/dwarf2/pr44641.C: Avoid constexpr ctor.
+ * g++.dg/ext/utf-dflt.C: Specify -std=c++98.
+ * g++.dg/lookup/anon2.C: Likewise.
+ * g++.dg/tree-ssa/copyprop.C: Likewise.
+ * g++.old-deja/g++.jason/rfg27.C: Likewise.
+ * g++.dg/init/vector1.C: Ignore narrowing errors.
+ * g++.dg/torture/pr35526.C: Likewise.
+ * g++.old-deja/g++.ext/arrnew.C: Prune C++0x warning.
+
+2011-07-13 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/49296
+ * gfortran.dg/read_list_eof_1.f90: Add tests for integer, real,
+ and logical reads.
+
+2011-07-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.c-torture/execute/990127-2.x: Use -mpc64 on i?86-*-darwin*,
+ i?86-*-solaris2*, x86_64-*-darwin*, x86_64-*-solaris2*.
+
+2011-07-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * lib/g++.exp (g++_init): Use istarget. Remove target_triplet global.
+ * lib/obj-c++.exp (obj-c++_init): Ditto.
+ * lib/file-format.exp (gcc_target_object_format): Ditto.
+ * lib/target-supports-dg.exp (dg-require-dll): Ditto.
+ * lib/target-supports-dg-exp (check_weak_available): Ditto.
+ (check_visibility_available): Ditto.
+ (check_effective_target_tls_native): Ditto.
+ (check_effective_target_tls_emulated): Ditto.
+ (check_effective_target_function_sections): Ditto.
+
+2011-07-13 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/arm/pr48183.c: New test.
+
+2011-07-13 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/torture/20110713-1.c: New testcase.
+
+2011-07-12 Andrew Pinski <pinskia@gmail.com>
+
+ PR rtl-opt/49474
+ * gcc.c-torture/compile/pr49474.c: New testcase.
+
+2011-07-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49712
+ * gcc.c-torture/execute/pr49712.c: New test.
+
+2011-07-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/44609
+ * g++.dg/template/recurse3.C: New.
+
+2011-07-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49676
+ * gcc.dg/guality/csttest.c: New test.
+
+ PR fortran/49698
+ * gfortran.dg/pr49698.f90: New test.
+
+2011-07-11 Jeff Law <law@redhat.com>
+
+ * gcc.dg/uninit-pred-8_b.c: Disable dominator optimizations.
+
+2011-07-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Check ia32.
+ * go.test/go-test.exp (go-set-goarch): Likewise.
+
+2011-07-11 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/39633
+ * gcc.target/avr/torture/pr39633.c: New test case.
+
+2011-07-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_lock_3.f90: Remove bogus dg-error.
+
+2011-07-11 Georg-Johann Lay <avr@gjlay.de>
+
+ * lib/target-supports.exp (check_effective_target_scheduling):
+ New Function.
+ * gcc.dg/pr46614.c: Add dg-require-effective-target scheduling.
+ * gcc.dg/pr45055.c: Ditto.
+ * gcc.dg/pr45353.c: Ditto.
+ * g++.dg/pr45056.C: Ditto.
+
+2011-07-11 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/compat/struct-by-value-16_main.c: Skip AVR.
+ * gcc.dg/compat/struct-by-value-17_main.c: Skip AVR.
+ * gcc.dg/compat/struct-by-value-18_main.c: Skip AVR.
+ * g++.dg/torture/pr31863.C: Skip AVR.
+
+2011-07-10 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49690
+ * gfortran.dg/intrinsic_signal.f90: New.
+
+2011-07-09 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/regress6.C: New.
+ * g++.dg/parse/crash45.C: Adjust message.
+ * g++.dg/template/crash38.C: Adjust message.
+ * g++.dg/template/crash64.C: Adjust message.
+
+2011-07-09 H.J. Lu <hongjiu.lu@intel.com>
+
+ * c-c++-common/dfp/func-vararg-alternate-d128-2.c: Support x32.
+ * c-c++-common/dfp/func-vararg-mixed-2.c: Likewise.
+ * g++.dg/abi/bitfield3.C: Likewise.
+ * g++.dg/eh/pr38662.C: Likewise.
+ * g++.dg/ext/attrib36.C: Likewise.
+ * g++.dg/ext/attrib37.C: Likewise.
+ * g++.dg/ext/attrib8.C: Likewise.
+ * g++.dg/ext/tmplattr1.C: Likewise.
+ * g++.dg/inherit/override-attribs.C: Likewise.
+ * g++.dg/opt/inline9.C: Likewise.
+ * g++.dg/opt/life1.C: Likewise.
+ * g++.dg/opt/longbranch2.C: Likewise.
+ * g++.dg/opt/nrv12.C: Likewise.
+ * g++.dg/opt/reg-stack4.C: Likewise.
+ * g++.dg/other/pr35504.C: Likewise.
+ * g++.dg/other/pr39496.C: Likewise.
+ * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise.
+ * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise.
+ * g++.dg/torture/stackalign/stdcall-1.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-0.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-1.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-2.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-3.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-4.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-5.C: Likewise.
+ * g++.dg/torture/stackalign/unwind-6.C: Likewise.
+ * g++.dg/warn/pr15774-1.C: Likewise.
+ * g++.dg/warn/pr15774-2.C: Likewise.
+ * g++.old-deja/g++.ext/attrib1.C: Likewise.
+ * g++.old-deja/g++.ext/attrib2.C: Likewise.
+ * g++.old-deja/g++.ext/attrib3.C: Likewise.
+ * g++.old-deja/g++.pt/asm2.C: Likewise.
+ * gcc.c-torture/compile/20000804-1.c: Likewise.
+ * gcc.c-torture/compile/pr16566-2.c: Likewise.
+ * gcc.c-torture/execute/ieee/ieee.exp: Likewise.
+ * gcc.dg/20020108-1.c: Likewise.
+ * gcc.dg/20020122-2.c: Likewise.
+ * gcc.dg/20020122-3.c: Likewise.
+ * gcc.dg/20020206-1.c: Likewise.
+ * gcc.dg/20020219-1.c: Likewise.
+ * gcc.dg/20020310-1.c: Likewise.
+ * gcc.dg/20020411-1.c: Likewise.
+ * gcc.dg/20020418-2.c: Likewise.
+ * gcc.dg/20020426-2.c: Likewise.
+ * gcc.dg/20020517-1.c: Likewise.
+ * gcc.dg/20030204-1.c: Likewise.
+ * gcc.dg/20030826-2.c: Likewise.
+ * gcc.dg/20031102-1.c: Likewise.
+ * gcc.dg/20031202-1.c: Likewise.
+ * gcc.dg/20050111-1.c: Likewise.
+ * gcc.dg/20050503-1.c: Likewise.
+ * gcc.dg/array-init-1.c: Likewise.
+ * gcc.dg/builtin-apply4.c: Likewise.
+ * gcc.dg/dfp/pr31344.c: Likewise.
+ * gcc.dg/gomp/atomic-11.c: Likewise.
+ * gcc.dg/graphite/pr40281.c: Likewise.
+ * gcc.dg/ia64-sync-1.c: Likewise.
+ * gcc.dg/ia64-sync-2.c: Likewise.
+ * gcc.dg/ia64-sync-3.c: Likewise.
+ * gcc.dg/ia64-sync-4.c: Likewise.
+ * gcc.dg/ifcvt-fabs-1.c: Likewise.
+ * gcc.dg/invalid-call-1.c: Likewise.
+ * gcc.dg/loop-3.c: Likewise.
+ * gcc.dg/lower-subreg-1.c: Likewise.
+ * gcc.dg/lto/pr47259_0.c: Likewise.
+ * gcc.dg/nested-calls-1.c: Likewise.
+ * gcc.dg/pr20017.c: Likewise.
+ * gcc.dg/pr25023.c: Likewise.
+ * gcc.dg/pr27671-2.c: Likewise.
+ * gcc.dg/pr32176.c: Likewise.
+ * gcc.dg/pr33676.c: Likewise.
+ * gcc.dg/pr35045.c: Likewise.
+ * gcc.dg/pr36015.c: Likewise.
+ * gcc.dg/pr36584.c: Likewise.
+ * gcc.dg/pr36998.c: Likewise.
+ * gcc.dg/pr37438.c: Likewise.
+ * gcc.dg/pr37908.c: Likewise.
+ * gcc.dg/pr41241.c: Likewise.
+ * gcc.dg/pr41340.c: Likewise.
+ * gcc.dg/pr44136.c: Likewise.
+ * gcc.dg/pr44194-1.c: Likewise.
+ * gcc.dg/pr46212.c: Likewise.
+ * gcc.dg/prefetch-loop-arrays-1.c: Likewise.
+ * gcc.dg/setjmp-2.c: Likewise.
+ * gcc.dg/short-compare-1.c: Likewise.
+ * gcc.dg/short-compare-2.c: Likewise.
+ * gcc.dg/smod-1.c: Likewise.
+ * gcc.dg/sync-2.c: Likewise.
+ * gcc.dg/sync-3.c: Likewise.
+ * gcc.dg/tls/opt-1.c: Likewise.
+ * gcc.dg/tls/opt-2.c: Likewise.
+ * gcc.dg/tls/opt-3.c: Likewise.
+ * gcc.dg/torture/badshift.c: Likewise.
+ * gcc.dg/torture/fp-int-convert-float80-timode.c: Likewise.
+ * gcc.dg/torture/pr20314-2.c: Likewise.
+ * gcc.dg/torture/pr36891.c: Likewise.
+ * gcc.dg/torture/pr38774.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-2.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-4.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-5.c: Likewise.
+ * gcc.dg/torture/stackalign/alloca-6.c: Likewise.
+ * gcc.dg/torture/stackalign/fastcall-1.c: Likewise.
+ * gcc.dg/torture/stackalign/push-1.c: Likewise.
+ * gcc.dg/torture/stackalign/regparm-1.c: Likewise.
+ * gcc.dg/torture/stackalign/thiscall-1.c: Likewise.
+ * gcc.dg/tree-ssa/loop-28.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-3.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-4.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-5.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-6.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-7.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-8.c: Likewise.
+ * gcc.dg/tree-ssa/prefetch-9.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-2.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-3.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-4.c: Likewise.
+ * gcc.dg/tree-ssa/stdarg-5.c: Likewise.
+ * gcc.dg/tree-ssa/update-unroll-1.c: Likewise.
+ * gcc.dg/unroll-1.c: Likewise.
+ * gcc.dg/vect/costmodel/x86_64/x86_64-costmodel-vect.exp: Likewise.
+ * gcc.misc-tests/i386-pf-3dnow-1.c: Likewise.
+ * gcc.misc-tests/i386-pf-athlon-1.c: Likewise.
+ * gcc.misc-tests/i386-pf-none-1.c: Likewise.
+ * gcc.misc-tests/i386-pf-sse-1.c: Likewise.
+ * gcc.target/i386/20000609-1.c: Likewise.
+ * gcc.target/i386/20000720-1.c: Likewise.
+ * gcc.target/i386/20000724-1.c: Likewise.
+ * gcc.target/i386/20011107-1.c: Likewise.
+ * gcc.target/i386/20011119-1.c: Likewise.
+ * gcc.target/i386/20020201-3.c: Likewise.
+ * gcc.target/i386/20020218-1.c: Likewise.
+ * gcc.target/i386/20020729-1.c: Likewise.
+ * gcc.target/i386/20030926-1.c: Likewise.
+ * gcc.target/i386/20060125-1.c: Likewise.
+ * gcc.target/i386/20060125-2.c: Likewise.
+ * gcc.target/i386/20060512-1.c: Likewise.
+ * gcc.target/i386/20060512-2.c: Likewise.
+ * gcc.target/i386/20060512-3.c: Likewise.
+ * gcc.target/i386/20060512-4.c: Likewise.
+ * gcc.target/i386/387-1.c: Likewise.
+ * gcc.target/i386/387-2.c: Likewise.
+ * gcc.target/i386/387-5.c: Likewise.
+ * gcc.target/i386/387-6.c: Likewise.
+ * gcc.target/i386/980312-1.c: Likewise.
+ * gcc.target/i386/980313-1.c: Likewise.
+ * gcc.target/i386/990117-1.c: Likewise.
+ * gcc.target/i386/990424-1.c: Likewise.
+ * gcc.target/i386/990524-1.c: Likewise.
+ * gcc.target/i386/991129-1.c: Likewise.
+ * gcc.target/i386/991214-1.c: Likewise.
+ * gcc.target/i386/991230-1.c: Likewise.
+ * gcc.target/i386/addr-sel-1.c: Likewise.
+ * gcc.target/i386/aggregate-ret1.c: Likewise.
+ * gcc.target/i386/aggregate-ret2.c: Likewise.
+ * gcc.target/i386/align-main-3.c: Likewise.
+ * gcc.target/i386/amd64-abi-1.c: Likewise.
+ * gcc.target/i386/amd64-abi-2.c: Likewise.
+ * gcc.target/i386/amd64-abi-4.c: Likewise.
+ * gcc.target/i386/amd64-abi-5.c: Likewise.
+ * gcc.target/i386/amd64-abi-6.c: Likewise.
+ * gcc.target/i386/asm-1.c: Likewise.
+ * gcc.target/i386/asm-3.c: Likewise.
+ * gcc.target/i386/asm-5.c: Likewise.
+ * gcc.target/i386/attributes-error.c: Likewise.
+ * gcc.target/i386/avx-vcvtsd2si-2.c: Likewise.
+ * gcc.target/i386/avx-vcvtsi2sd-2.c: Likewise.
+ * gcc.target/i386/avx-vcvtsi2ss-2.c: Likewise.
+ * gcc.target/i386/avx-vcvtss2si-2.c: Likewise.
+ * gcc.target/i386/avx-vcvttsd2si-2.c: Likewise.
+ * gcc.target/i386/avx-vcvttss2si-2.c: Likewise.
+ * gcc.target/i386/avx-vinsertps-3.c: Likewise.
+ * gcc.target/i386/avx-vmovd-2.c: Likewise.
+ * gcc.target/i386/avx-vmovq-2.c: Likewise.
+ * gcc.target/i386/avx-vmovq-3.c: Likewise.
+ * gcc.target/i386/avx-vpextrq-1.c: Likewise.
+ * gcc.target/i386/avx-vpinsrq-1.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-16.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-17.c: Likewise.
+ * gcc.target/i386/avx-vzeroupper-18.c: Likewise.
+ * gcc.target/i386/bitfield1.c: Likewise.
+ * gcc.target/i386/bitfield2.c: Likewise.
+ * gcc.target/i386/bmi-2.c: Likewise.
+ * gcc.target/i386/bmi-5.c: Likewise.
+ * gcc.target/i386/builtin-unreachable.c: Likewise.
+ * gcc.target/i386/cleanup-2.c: Likewise.
+ * gcc.target/i386/clobbers.c: Likewise.
+ * gcc.target/i386/cmov8.c: Likewise.
+ * gcc.target/i386/cmpxchg16b-1.c: Likewise.
+ * gcc.target/i386/compress-float-387-pic.c: Likewise.
+ * gcc.target/i386/compress-float-387.c: Likewise.
+ * gcc.target/i386/compress-float-sse-pic.c: Likewise.
+ * gcc.target/i386/compress-float-sse.c: Likewise.
+ * gcc.target/i386/crc32-2.c: Likewise.
+ * gcc.target/i386/crc32-3.c: Likewise.
+ * gcc.target/i386/divmod-7.c: Likewise.
+ * gcc.target/i386/divmod-8.c: Likewise.
+ * gcc.target/i386/fastcall-sseregparm.c: Likewise.
+ * gcc.target/i386/fma3-builtin.c: Likewise.
+ * gcc.target/i386/fma3-fma.c: Likewise.
+ * gcc.target/i386/fma4-256-vector.c: Likewise.
+ * gcc.target/i386/fma4-builtin.c: Likewise.
+ * gcc.target/i386/fma4-fma-2.c: Likewise.
+ * gcc.target/i386/fma4-fma.c: Likewise.
+ * gcc.target/i386/fma4-vector-2.c: Likewise.
+ * gcc.target/i386/fma4-vector.c: Likewise.
+ * gcc.target/i386/funcspec-1.c: Likewise.
+ * gcc.target/i386/funcspec-10.c: Likewise.
+ * gcc.target/i386/funcspec-11.c: Likewise.
+ * gcc.target/i386/funcspec-2.c: Likewise.
+ * gcc.target/i386/funcspec-5.c: Likewise.
+ * gcc.target/i386/funcspec-6.c: Likewise.
+ * gcc.target/i386/gcc-have-sync-compare-and-swap-1.c: Likewise.
+ * gcc.target/i386/gcc-have-sync-compare-and-swap-2.c: Likewise.
+ * gcc.target/i386/gcc-have-sync-compare-and-swap-3.c: Likewise.
+ * gcc.target/i386/gcc-have-sync-compare-and-swap-4.c: Likewise.
+ * gcc.target/i386/incoming-1.c: Likewise.
+ * gcc.target/i386/incoming-10.c: Likewise.
+ * gcc.target/i386/incoming-11.c: Likewise.
+ * gcc.target/i386/incoming-12.c: Likewise.
+ * gcc.target/i386/incoming-13.c: Likewise.
+ * gcc.target/i386/incoming-14.c: Likewise.
+ * gcc.target/i386/incoming-15.c: Likewise.
+ * gcc.target/i386/incoming-2.c: Likewise.
+ * gcc.target/i386/incoming-3.c: Likewise.
+ * gcc.target/i386/incoming-4.c: Likewise.
+ * gcc.target/i386/incoming-5.c: Likewise.
+ * gcc.target/i386/incoming-6.c: Likewise.
+ * gcc.target/i386/incoming-7.c: Likewise.
+ * gcc.target/i386/incoming-8.c: Likewise.
+ * gcc.target/i386/incoming-9.c: Likewise.
+ * gcc.target/i386/lea.c: Likewise.
+ * gcc.target/i386/local.c: Likewise.
+ * gcc.target/i386/loop-1.c: Likewise.
+ * gcc.target/i386/loop-2.c: Likewise.
+ * gcc.target/i386/loop-3.c: Likewise.
+ * gcc.target/i386/max-stack-align.c: Likewise.
+ * gcc.target/i386/memcpy-1.c: Likewise.
+ * gcc.target/i386/movbe-2.c: Likewise.
+ * gcc.target/i386/movq-2.c: Likewise.
+ * gcc.target/i386/movq.c: Likewise.
+ * gcc.target/i386/nrv1.c: Likewise.
+ * gcc.target/i386/pad-4.c: Likewise.
+ * gcc.target/i386/pad-5a.c: Likewise.
+ * gcc.target/i386/pad-5b.c: Likewise.
+ * gcc.target/i386/pad-6a.c: Likewise.
+ * gcc.target/i386/pad-6b.c: Likewise.
+ * gcc.target/i386/pad-7.c: Likewise.
+ * gcc.target/i386/pad-9.c: Likewise.
+ * gcc.target/i386/pentium4-not-mull.c: Likewise.
+ * gcc.target/i386/pic-1.c: Likewise.
+ * gcc.target/i386/pr12092-1.c: Likewise.
+ * gcc.target/i386/pr12329.c: Likewise.
+ * gcc.target/i386/pr21518.c: Likewise.
+ * gcc.target/i386/pr22362.c: Likewise.
+ * gcc.target/i386/pr22585.c: Likewise.
+ * gcc.target/i386/pr23098.c: Likewise.
+ * gcc.target/i386/pr25196.c: Likewise.
+ * gcc.target/i386/pr25293.c: Likewise.
+ * gcc.target/i386/pr25654.c: Likewise.
+ * gcc.target/i386/pr26449.c: Likewise.
+ * gcc.target/i386/pr26778.c: Likewise.
+ * gcc.target/i386/pr26826.c: Likewise.
+ * gcc.target/i386/pr27266.c: Likewise.
+ * gcc.target/i386/pr29978.c: Likewise.
+ * gcc.target/i386/pr30505.c: Likewise.
+ * gcc.target/i386/pr30961-1.c: Likewise.
+ * gcc.target/i386/pr31628.c: Likewise.
+ * gcc.target/i386/pr32000-2.c: Likewise.
+ * gcc.target/i386/pr32661-1.c: Likewise.
+ * gcc.target/i386/pr32708-2.c: Likewise.
+ * gcc.target/i386/pr32708-3.c: Likewise.
+ * gcc.target/i386/pr34256.c: Likewise.
+ * gcc.target/i386/pr34312.c: Likewise.
+ * gcc.target/i386/pr34522.c: Likewise.
+ * gcc.target/i386/pr35160.c: Likewise.
+ * gcc.target/i386/pr35281.c: Likewise.
+ * gcc.target/i386/pr36246.c: Likewise.
+ * gcc.target/i386/pr36786.c: Likewise.
+ * gcc.target/i386/pr37275.c: Likewise.
+ * gcc.target/i386/pr37843-3.c: Likewise.
+ * gcc.target/i386/pr37843-4.c: Likewise.
+ * gcc.target/i386/pr39082-1.c: Likewise.
+ * gcc.target/i386/pr39431.c: Likewise.
+ * gcc.target/i386/pr39496.c: Likewise.
+ * gcc.target/i386/pr39543-2.c: Likewise.
+ * gcc.target/i386/pr39911.c: Likewise.
+ * gcc.target/i386/pr40718.c: Likewise.
+ * gcc.target/i386/pr40906-1.c: Likewise.
+ * gcc.target/i386/pr40906-2.c: Likewise.
+ * gcc.target/i386/pr40906-3.c: Likewise.
+ * gcc.target/i386/pr40934.c: Likewise.
+ * gcc.target/i386/pr41900.c: Likewise.
+ * gcc.target/i386/pr42589.c: Likewise.
+ * gcc.target/i386/pr43662.c: Likewise.
+ * gcc.target/i386/pr43671.c: Likewise.
+ * gcc.target/i386/pr43766.c: Likewise.
+ * gcc.target/i386/pr43869.c: Likewise.
+ * gcc.target/i386/pr44942.c: Likewise.
+ * gcc.target/i386/pr44948-2a.c: Likewise.
+ * gcc.target/i386/pr45234.c: Likewise.
+ * gcc.target/i386/pr45336-2.c: Likewise.
+ * gcc.target/i386/pr45336-4.c: Likewise.
+ * gcc.target/i386/pr45852.c: Likewise.
+ * gcc.target/i386/pr46470.c: Likewise.
+ * gcc.target/i386/pr48037-1.c: Likewise.
+ * gcc.target/i386/pr48389.c: Likewise.
+ * gcc.target/i386/pr49095.c: Likewise.
+ * gcc.target/i386/pr9771-1.c: Likewise.
+ * gcc.target/i386/rdfsbase-1.c: Likewise.
+ * gcc.target/i386/rdfsbase-2.c: Likewise.
+ * gcc.target/i386/rdgsbase-1.c: Likewise.
+ * gcc.target/i386/rdgsbase-2.c: Likewise.
+ * gcc.target/i386/rdrand-3.c: Likewise.
+ * gcc.target/i386/regparm-stdcall.c: Likewise.
+ * gcc.target/i386/regparm.c: Likewise.
+ * gcc.target/i386/reload-1.c: Likewise.
+ * gcc.target/i386/rotate-2.c: Likewise.
+ * gcc.target/i386/sibcall-5.c: Likewise.
+ * gcc.target/i386/signbit-1.c: Likewise.
+ * gcc.target/i386/signbit-2.c: Likewise.
+ * gcc.target/i386/signbit-3.c: Likewise.
+ * gcc.target/i386/sse-5.c: Likewise.
+ * gcc.target/i386/sse-8.c: Likewise.
+ * gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
+ * gcc.target/i386/sse-cvtss2si-2.c: Likewise.
+ * gcc.target/i386/sse-cvttss2si-2.c: Likewise.
+ * gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
+ * gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
+ * gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
+ * gcc.target/i386/sse2-init-v2di-2.c: Likewise.
+ * gcc.target/i386/sse2-movq-2.c: Likewise.
+ * gcc.target/i386/sse2-movq-3.c: Likewise.
+ * gcc.target/i386/sse4_1-insertps-3.c: Likewise.
+ * gcc.target/i386/sse4_1-pextrq.c: Likewise.
+ * gcc.target/i386/sse4_1-pinsrq.c: Likewise.
+ * gcc.target/i386/sse4_2-crc32q.c: Likewise.
+ * gcc.target/i386/sse4_2-popcntq.c: Likewise.
+ * gcc.target/i386/ssefn-1.c: Likewise.
+ * gcc.target/i386/ssefn-2.c: Likewise.
+ * gcc.target/i386/sseregparm-1.c: Likewise.
+ * gcc.target/i386/sseregparm-2.c: Likewise.
+ * gcc.target/i386/sseregparm-3.c: Likewise.
+ * gcc.target/i386/sseregparm-4.c: Likewise.
+ * gcc.target/i386/sseregparm-5.c: Likewise.
+ * gcc.target/i386/sseregparm-6.c: Likewise.
+ * gcc.target/i386/sseregparm-7.c: Likewise.
+ * gcc.target/i386/sseregparm-8.c: Likewise.
+ * gcc.target/i386/stack-realign.c: Likewise.
+ * gcc.target/i386/stack-usage-realign.c: Likewise.
+ * gcc.target/i386/stackalign/asm-1.c: Likewise.
+ * gcc.target/i386/stackalign/longlong-1.c: Likewise.
+ * gcc.target/i386/stackalign/longlong-2.c: Likewise.
+ * gcc.target/i386/stackalign/return-1.c: Likewise.
+ * gcc.target/i386/stackalign/return-2.c: Likewise.
+ * gcc.target/i386/stackalign/return-3.c: Likewise.
+ * gcc.target/i386/tailcall-1.c: Likewise.
+ * gcc.target/i386/tbm-2.c: Likewise.
+ * gcc.target/i386/udivmod-7.c: Likewise.
+ * gcc.target/i386/udivmod-8.c: Likewise.
+ * gcc.target/i386/unroll-1.c: Likewise.
+ * gcc.target/i386/vararg-1.c: Likewise.
+ * gcc.target/i386/vararg-2.c: Likewise.
+ * gcc.target/i386/vect8-ret.c: Likewise.
+ * gcc.target/i386/vectorize5.c: Likewise.
+ * gcc.target/i386/wmul-1.c: Likewise.
+ * gcc.target/i386/wmul-2.c: Likewise.
+ * gcc.target/i386/wrfsbase-1.c: Likewise.
+ * gcc.target/i386/wrfsbase-2.c: Likewise.
+ * gcc.target/i386/wrgsbase-1.c: Likewise.
+ * gcc.target/i386/wrgsbase-2.c: Likewise.
+ * gcc.target/i386/xop-pcmov.c: Likewise.
+ * gcc.target/i386/xop-pcmov2.c: Likewise.
+ * gcc.target/i386/xop-rotate1-vector.c: Likewise.
+ * gcc.target/i386/xop-rotate2-vector.c: Likewise.
+ * gcc.target/i386/xop-rotate3-vector.c: Likewise.
+ * gcc.target/i386/xop-shift1-vector.c: Likewise.
+ * gcc.target/i386/xop-shift2-vector.c: Likewise.
+ * gcc.target/i386/xop-shift3-vector.c: Likewise.
+ * gcc.target/i386/zee.c: Likewise.
+ * gcc.target/x86_64/abi/callabi/callabi.exp: Likewise.
+ * gfortran.dg/compiler-directive_2.f: Likewise.
+ * gfortran.dg/g77/20010216-1.f: Likewise.
+ * gfortran.dg/gomp/pr39152.f90: Likewise.
+ * gfortran.dg/pr33794.f90: Likewise.
+
+2011-07-09 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/regress5.C: New.
+
+2011-07-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/45437
+ * g++.dg/expr/compound-asn1.C: New.
+ * g++.dg/warn/sequence-pt-1.C: Change one dg-error to dg-bogus.
+
+2011-07-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49621
+ * gcc.target/powerpc/altivec-34.c: New test.
+
+2011-07-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/45603
+ * g++.dg/abi/guard3.C: New.
+
+2011-07-08 Julian Brown <julian@codesourcery.com>
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_little_endian): New.
+ (check_effective_target_vect_pack_trunc): Use above.
+ (check_effective_target_vect_unpack): Likewise.
+ (check_effective_target_vect_element_align): Test
+ check_effective_target_arm_vect_no_misalign for ARM.
+
+2011-07-08 Jason Merrill <jason@redhat.com>
+
+ PR c++/49673
+ * g++.dg/cpp0x/constexpr-rom.C: New.
+
+2011-07-08 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ PR middle-end/49519
+ * g++.dg/torture/pr49519.C: New test.
+
+2011-07-08 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/tree-ssa/sra-12.c: Skip dump scan on avr targets.
+
+2011-07-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/48727
+ * g++.dg/opt/devirt2.C: Use specific pattern for sparc*-*-*.
+
+2011-07-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49662
+ * gcc.dg/graphite/interchange-14.c: XFAIL.
+ * gcc.dg/graphite/interchange-15.c: Likewise.
+ * gcc.dg/graphite/interchange-mvt.c: Likewise.
+
+2011-07-06 Jason Merrill <jason@redhat.com>
+
+ PR c++/49663
+ * g++.dg/cpp0x/regress/regress4.C: New.
+
+2011-07-07 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/49648
+ * gfortran.dg/result_in_spec_4.f90: New test.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/sparc/cas64.c: New test.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/49644
+ * g++.dg/torture/pr49644.C: New test.
+
+ PR c/49644
+ * gcc.c-torture/execute/pr49644.c: New test.
+
+2011-07-07 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lib/target-supports.exp (check_effective_target_ia32): New.
+ (check_effective_target_x32): Likewise.
+ (check_effective_target_vect_cmdline_needed): Also check x32.
+
+2011-07-07 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/pr40657-2.c: Remove -march option and unneeded
+ dg-prune-output.
+ * gcc.target/arm/pr42235.c: Likewise.
+ * gcc.target/arm/pr42495.c: Likewise.
+ * gcc.target/arm/pr42574.c: Likewise.
+ * gcc.target/arm/thumb-branch1.c: Likewise.
+
+ * gcc.target/arm/pr39839.c: Don't specify -mthumb or -march, remove
+ unneeded prune of possible warning.
+ * gcc.target/arm/pr40956.c: Likewise.
+ * gcc.target/arm/pr42505.c: Likewise.
+
+ * gcc.c-torture/compile/pr41679.c: Move from gcc.target/arm.
+ * gcc.c-torture/compile/pr46883.c: Likewise.
+ * gcc.c-torture/compile/pr46934.c: Likewise.
+
+ * gcc.target/arm/pr41679.c: Remove test directives in preparation
+ for move to ../../gcc.c-torture/compile.
+ * gcc.target/arm/pr46883.c: Likewise.
+ * gcc.target/arm/pr46934.c: Likewise.
+
+ * lib/target-supports.exp (check_effective_target_arm_dsp): New.
+ * gcc.target/arm/mla-2.c: Use it instead of specific -march.
+ * gcc.target/arm/wmul-1.c: Likewise.
+ * gcc.target/arm/wmul-2.c: Likewise.
+ * gcc.target/arm/wmul-3.c: Likewise.
+ * gcc.target/arm/wmul-4.c: Likewise.
+ * gcc.target/arm/smlaltb-1.c: Require arm_dsp, don't specify -march,
+ add tab after scan target.
+ * gcc.target/arm/smlaltt-1.c: Likewise.
+ * gcc.target/arm/smlatb-1.c: Likewise.
+ * gcc.target/arm/smlatt-1.c: Likewise.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49522
+ * gcc.dg/debug/pr49522.c: New test.
+
+2011-07-07 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pragma-align.c: Run only if target !default_packed.
+ * gcc.dg/pr46212.c: Run only if target int32plus.
+ * gcc.dg/torture/pr48146.c: Ditto.
+ * gcc.dg/tree-ssa/vrp51.c: Ditto.
+ * c-c++-common/pr44832.c: Ditto.
+ * gcc.dg/pr49544.c: Run only if target ptr32plus.
+ * gcc.dg/pr31490.c: Ditto.
+ * gcc.dg/torture/builtin-math-7.c: Run only if target
+ large_double.
+ * gcc.dg/torture/pr45764.c: Skip for AVR.
+ * gcc.dg/pr47893.c: Ditto.
+
+2011-07-07 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_thumb1): New.
+ (check_effective_target_arm_thumb2): Clarify comment, add valid code.
+ * gcc.target/arm/mla-1.c: Skip for arm_thumb1, don't specify -march,
+ add tab to scan target.
+
+2011-07-07 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.target/arm/neon-modes-3.c: New test.
+
+2011-07-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/graphite/pr37485.c (dg-options): Add -fno-loop-strip-mine
+ -fno-loop-interchange -ffast-math.
+
+2011-07-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/ftrapv-3.c: New testcase.
+
+2011-07-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/vrp58.c: New testcase.
+ * gcc.dg/tree-ssa/scev-cast.c: Adjust.
+
+2011-07-07 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/binop-notxor1.c: New test.
+ * gcc.dg/binop-notand4a.c: New test.
+ * gcc.dg/binop-notxor2.c: New test.
+ * gcc.dg/binop-notand3a.c: New test.
+ * gcc.dg/binop-notand2a.c: New test.
+ * gcc.dg/binop-notand6a.c: New test.
+ * gcc.dg/binop-notor1.c: New test.
+ * gcc.dg/binop-notand1a.c: New test.
+ * gcc.dg/binop-notand5a.c: New test.
+ * gcc.dg/binop-notor2.c: New test.
+
+2011-07-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49640
+ * gcc.dg/gomp/pr49640.c: New test.
+
+2011-07-07 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/graphite/pr37485.c: Add -floop-block.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/39150
+ * gcc.misc-tests/linkage.exp: Handle x86_64-*-solaris2.1[0-9]*.
+
+2011-07-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/no-r11-1.c: New test for -mr11, -mno-r11.
+ * gcc.target/powerpc/no-r11-2.c: Ditto.
+ * gcc.target/powerpc/no-r11-3.c: Ditto.
+
+2011-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.dg/stack-layout-2.c: Cleanup expand rtl dump.
+ * gfortran.dg/move_alloc_4.f90: Cleanup original tree dump.
+
+2011-07-06 Georg-Johann Lay <avr@gjlay.de>
+
+ * lib/target-supports.exp (check_profiling_available): Disable
+ profiling with -fprofile-generate for target avr.
+
+2011-07-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49645
+ * g++.dg/tree-ssa/pr8781.C: Disable SRA.
+
+2011-07-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47383
+ * gcc.dg/pr47383.c: New.
+
+2011-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/49647
+ * gcc.dg/tree-ssa/20030807-7.c: Remove xfail *-*-*.
+
+2011-07-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR testsuite/49542
+ * gcc.dg/vect/pr33804.c: XFAIL if vect_no_align unconditionally.
+ * gcc.dg/vect/slp-multitypes-3.c: XFAIL on SPARC unconditionally.
+
+2011-07-05 Jason Merrill <jason@redhat.com>
+
+ PR c++/48157
+ * g++.dg/template/template-id-4.C: New.
+
+2011-07-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pr44023.c: Add dg-require-effective-target int32plus
+ * gcc.dg/pr43402.c: Ditto.
+
+2011-07-05 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/cpp/pragma-3.c: Add dg-require-effective-target fopenmp.
+
+2011-07-05 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.target/powerpc/ppc-switch-1.c: New test for
+ --param case-values-threshold.
+ * gcc.target/powerpc/ppc-switch-2.c: Ditto.
+
+2011-07-05 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/pr42093.c: Use "-fno-reorder-blocks".
+
+2011-07-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/rtti/anon-ns1.C: Allow for null-termination.
+
+2011-07-05 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/47654
+ * gcc.dg/graphite/block-pr47654.c: New.
+
+2011-07-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/lambda/lambda-ref2.C: New.
+
+2011-07-05 Razya Ladelsky <razya@il.ibm.com>
+
+ PR tree-optimization/49580
+ * gcc.dg/autopar/pr49580.c: New test.
+
+2011-07-05 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49518
+ PR tree-optimization/49628
+ * g++.dg/torture/pr49628.C: New testcase.
+ * gcc.dg/torture/pr49518.c: Likewise.
+
+2011-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * ada/acats/run_acats (which): Extract last field from type -p,
+ type output only if command succeeded.
+
+2011-07-04 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle48.C: New.
+
+ * g++.dg/cpp0x/diag1.C: New.
+
+ * g++.dg/diagnostic/aka1.C: New.
+
+2011-07-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49619
+ * gcc.dg/pr49619.c: New test.
+
+ PR rtl-optimization/49472
+ * gfortran.dg/pr49472.f90: New test.
+
+ PR debug/49602
+ * gcc.dg/pr49602.c: New test.
+
+2011-07-04 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/34734
+ PR target/44643
+ * gcc.target/avr/avr.exp: Run over cpp files, too.
+ * gcc.target/avr/torture/avr-torture.exp: Ditto.
+ * gcc.target/avr/progmem.h: New file.
+ * gcc.target/avr/exit-abort.h: New file.
+ * gcc.target/avr/progmem-error-1.c: New file.
+ * gcc.target/avr/progmem-error-1.cpp: New file.
+ * gcc.target/avr/progmem-warning-1.c: New file.
+ * gcc.target/avr/torture/progmem-1.c: New file.
+ * gcc.target/avr/torture/progmem-1.cpp: New file.
+
+2011-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49615
+ * g++.dg/torture/pr49615.C: New testcase.
+
+2011-07-03 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49610
+ * gcc.dg/vect/pr49610.c: New test.
+
+2011-07-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/debug1.ads: New test.
+
+2011-07-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49562
+ * gfortran.dg/typebound_proc_23.f90: New.
+
+2011-07-01 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/49605
+ * g++.dg/warn/delete-non-virtual-dtor.C: Adjust.
+
+2011-07-01 Jason Merrill <jason@redhat.com>
+
+ PR c++/48261
+ * g++.dg/template/template-id-3.C: New.
+
+ PR c++/48593
+ * g++.dg/template/qualified-id4.C: New.
+
+ PR c++/48883
+ * g++.dg/template/explicit-args4.C: New.
+
+ PR c++/49085
+ * g++.dg/template/offsetof2.C: New.
+
+2011-07-01 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/tree-ssa/bitwise-sink.c: New test.
+
+2011-07-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libmudflap/49549
+ * lib/target-supports.exp (check_effective_target_gld): New proc.
+
+2011-07-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49603
+ * gcc.dg/torture/pr49603.c: New testcase.
+
+2011-06-30 Jason Merrill <jason@redhat.com>
+
+ PR c++/49387
+ * g++.dg/rtti/template1.C: New.
+
+ PR c++/49569
+ * g++.dg/cpp0x/regress/ctor1.C: New.
+
+ PR c++/49355
+ * g++.dg/cpp0x/initlist54.C: New.
+
+2011-06-30 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.dg/tree-ssa/sra-12.c: New test.
+
+2011-06-29 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/named.C: Test subobject of xvalue.
+
+2011-06-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46787
+ * gcc.dg/vect/vect-121.c: New testcase.
+
+2011-06-30 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/49094
+ * gcc.dg/tree-ssa/pr49094.c: New test.
+
+2011-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49540
+ * gfortran.dg/pr49540-1.f90: New test.
+ * gfortran.dg/pr49540-2.f90: New test.
+
+2011-06-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR ada/49511
+ * ada/acats/run_acats (which): Use last field of type -p output.
+
+2011-06-30 Dominique d'Humieres <dominiq@lps.ens.fr>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ PR libobjc/36610
+ * objc.dg/torture/forward-1.m: Remove dg-xfail-run-if.
+ Only skip on 64-bit *-*-darwin8* && !objc2.
+
+2011-06-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38752
+ * gcc.c-torture/compile/pr38752.c: New testcase.
+
+2011-06-30 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/slp-widen-mult-half.c: New test.
+ * gcc.dg/vect/vect-widen-mult-half.c: New test.
+
+2011-06-29 Jason Merrill <jason@redhat.com>
+
+ PR c++/49216
+ * g++.dg/cpp0x/initlist53.C: Use placement new.
+ * g++.dg/cpp0x/initlist-value.C: Use placement new.
+ * g++.old-deja/g++.ext/arrnew2.C: Remove xfail.
+
+ PR c++/49003
+ * g++.dg/cpp0x/trailing6.C: New.
+ * g++.dg/cpp0x/pr45908.C: No error.
+
+ PR c++/49272
+ * g++.old-deja/g++.jason/rfg10.C: Accept other overflow error too.
+
+ PR c++/49520
+ * g++.dg/cpp0x/constexpr-using2.C: New.
+
+ * g++.dg/cpp0x/lambda/lambda-template3.C: New.
+
+ PR c++/45923
+ * g++.dg/cpp0x/constexpr-diag3.C: New.
+ * g++.dg/cpp0x/constexpr-diag1.C: Adjust error message.
+ * g++.dg/cpp0x/constexpr-ex1.C: Adjust error message.
+ * g++.dg/cpp0x/constexpr-friend.C: Adjust error message.
+ * g++.dg/cpp0x/constexpr-incomplete2.C: Adjust error message.
+
+2011-06-29 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-is_literal.C: Adjust.
+
+2011-06-29 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/loop-17.c: Adjust.
+
+2011-06-29 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/initlist-value2.C: New.
+
+ * g++.dg/cpp0x/constexpr-initlist4.C: New.
+ * g++.dg/cpp0x/initlist-value.C: New.
+
+2011-06-29 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.dg/torture/pr49169.c: Restrict to ARM and MIPS targets.
+
+2011-06-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/inline_1.c: Remove dg-excess-errors.
+ * gcc.dg/inline_2.c: Likewise.
+ * gcc.dg/unroll_1.c: Likewise.
+
+2011-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49567
+ * gcc.target/i386/pr49567.c: New test.
+
+2011-06-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt17.ad[sb]: New test.
+
+2011-06-28 Janis Johnson <janisjo@codesourcery.com>
+ Tom de Vries <tom@codesourcery.com>
+
+ * lib/target-supports.exp (check_effective_target_arm_nothumb)
+ (check_effective_target_arm_thumb2): New effective targets.
+ * gcc.target/arm/ivopts.c: Remove -mthumb/-marm. Guard object-size
+ properly. Clean up temporary files.
+ * gcc.target/arm/ivopts-2.c: Likewise.
+ * gcc.target/arm/ivopts-3.c: Likewise.
+ * gcc.target/arm/ivopts-4.c: Likewise.
+ * gcc.target/arm/ivopts-5.c: Likewise.
+ * gcc.target/arm/ivopts-6.c: Remove duplicate of ivopts.c.
+
+2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49479
+ * gfortran.dg/reshape_zerosize_3.f90: New test.
+
+2011-06-28 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/vfp-ldmdbs.c: Skip for soft float.
+ * gcc.target/arm/vfp-ldmias.c: Likewise.
+ * gcc.target/arm/vfp-ldmdbd.c: Likewise.
+ * gcc.target/arm/vfp-stmdbs.c: Likewise.
+ * gcc.target/arm/vfp-ldmiad.c: Likewise.
+ * gcc.target/arm/vfp-stmias.c: Likewise.
+ * gcc.target/arm/vfp-stmdbd.c: Likewise.
+ * gcc.target/arm/vfp-stmiad.c: Likewise.
+
+2011-06-27 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/pr45701-1.c: Don't specify -march; remove
+ dg-prune-output.
+ * gcc.target/arm/pr45701-2.c: Ditto.
+
+2011-06-27 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49466
+ * gfortran.dg/allocatable_scalar_9.f90: Modified.
+ * gfortran.dg/extends_14.f03: Modified.
+
+2011-06-27 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/target-supports-dg.exp (dg-require-effective-target): Return
+ early if the test is already being skipped.
+
+ * lib/scanasm.exp (dg-scan, scan-assembler-times, scan-assembler-dem,
+ scan-assembler-dem-not): For missing file, report unresolved with
+ same message as for pass/fail, with reason reported in log file.
+
+ * lib/target-supports.exp (add_options_for_arm_fp16): Renamed
+ from add_options_for_arm_neon_fp16.
+ (check_effective_target_arm_fp16_ok_nocache): Renamed from
+ check_effective_target_arm_neon_fp16_ok_nocache.
+ Check -mfpu and -mfloat-abi options from current multilib.
+ Do not require neon support.
+ (check_effective_target_arm_fp16_ok): Renamed from
+ check_effecitve_target_arm_neon_fp16_ok.
+ * g++.dg/ext/arm-fp16/arm-fp16-ops-5.C: Use new names for
+ arm_neon_fp16_ok and arm_fp16.
+ * g++.dg/ext/arm-fp16/arm-fp16-ops-6.C: Likewise.
+ * gcc.dg/torture/arm-fp16-ops-5.c: Likewise.
+ * gcc.dg/torture/arm-fp16-ops-6.c: Likewise.
+ * gcc.target/arm/fp16-compile-vcvt.c: Likewise.
+
+2011-06-27 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/builtin-assume-aligned-1.c: New test.
+ * gcc.dg/builtin-assume-aligned-2.c: New test.
+ * gcc.target/i386/builtin-assume-aligned-1.c: New test.
+
+ PR debug/49544
+ * gcc.dg/pr49544.c: New test.
+
+2011-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49394
+ * g++.dg/torture/pr49394.C: New testcase.
+
+2011-06-27 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/optimize-bswapdi-2.c: New test.
+
+2011-06-27 Michael Hope <michael.hope@linaro.org>
+ Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR tree-optimization/49169
+ * gcc.dg/torture/pr49169.c: New test.
+
+2011-06-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR testsuite/49529
+ * gcc.dg/ipa/ipa-pta-17.c: Use dg-require-alias.
+
+ * gcc.dg/debug/pr49294.c (dg-options): Add -fno-common to options on
+ hppa*-*-hpux*.
+
+2011-06-26 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-cleanup.C: Tweak error message.
+
+ PR c++/49528
+ * g++.dg/init/ref19.C: New.
+ * g++.dg/cpp0x/constexpr-cleanup.C: New.
+
+2011-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48377
+ * gcc.dg/vect/pr48377.c: Add dg-require-effective-target
+ non_strict_align.
+
+2011-06-26 Steve Ellcey <sje@cup.hp.com>
+
+ PR middle-end/49191
+ * lib/target-supports.exp (check_effective_target_non_strict_align):
+ New.
+ * gcc.dg/memcpy-3.c: Add dg-require-effective-target non_strict_align.
+
+2011-06-24 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimizations/49516
+ * g++.dg/tree-ssa/pr49516.C: New test.
+
+2011-06-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/35255
+ * g++.dg/template/partial10.C: New.
+ * g++.dg/template/partial11.C: New.
+
+2011-06-23 Jeff Law <law@redhat.com>
+
+ PR middle-end/48770
+ * gcc.dg/pr48770.c: New test.
+
+2011-06-23 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/49373
+ * g++.dg/torture/pr43879-1_1.C: Revert the xfail introduced yesterday.
+
+2011-06-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/49512
+ * gcc.dg/tree-ssa/asm-1.c: Use -fdump-tree-optimized-nouid
+ instead of -fdump-tree-optimized.
+
+2011-06-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44625
+ * g++.dg/template/crash107.C: New.
+ * g++.dg/template/error17.C: Adjust.
+
+2011-06-23 Jason Merrill <jason@redhat.com>
+
+ PR c++/49507
+ * g++.dg/cpp0x/defaulted30.C: New.
+
+ PR c++/49440
+ * g++.dg/rtti/anon-ns1.C: New.
+
+ PR c++/49395
+ * g++.dg/init/ref18.C: New.
+
+ PR c++/36435
+ * g++.dg/template/partial9.C: New.
+
+2011-06-22 Hans-Peter Nilsson <hp@axis.com>
+
+ PR middle-end/49373
+ * g++.dg/torture/pr43879-1_1.C: Xfail for -O1 and above, except -flto.
+
+2011-06-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/49496
+ * gcc.dg/pr49496.c: New test.
+
+2011-06-22 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/scd42-3.c: Allow -march-xscale; skip if -mcpu
+ is not xscale.
+
+ * gcc.target/arm/thumb-bitfld1.c: Don't specify -march, require thumb1.
+
+ * gcc.target/arm/ctz.c: Don't specify -march, require thumb2.
+ * gcc.target/arm/pr42879.c: Likewise.
+ * gcc.target/arm/pr45701-3.c: Likewise.
+
+ * gcc.target/arm/20031108-1.c: Require thumb1 or thumb2.
+ * gcc.target/arm/pr40482.c: Likewise.
+ * gcc.target/arm/stack-corruption.c: Likewise.
+
+2011-06-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49493
+ * gcc.dg/ipa/ipa-pta-17.c: New testcase.
+
+2011-06-22 Jason Merrill <jason@redhat.com>
+
+ PR c++/49260
+ * g++.dg/cpp0x/lambda/lambda-eh2.C: Change options.
+
+2011-06-22 Dmitry Plotnikov <dplotnikov@ispras.ru>
+ Dmitry Melnik <dm@ispras.ru>
+
+ * gcc.target/arm/neon-vshr-imm-1.c: New testcase.
+ * gcc.target/arm/neon-vshl-imm-1.c: New testcase.
+ * gcc.target/arm/neon-vlshr-imm-1.c: New testcase.
+
+2011-06-22 Nathan Sidwell <nathan@codesourcery.com>
+
+ * gcc.target/arm/tlscall.c: New.
+
+2011-06-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/49172
+ * g++.dg/cpp0x/constexpr-ref1.C: New.
+ * g++.dg/cpp0x/constexpr-ref2.C: New.
+ * g++.dg/cpp0x/constexpr-ice2.C: Remove dg-error tag.
+
+ PR c++/49482
+ * g++.dg/cpp0x/lambda/lambda-warn3.C: New.
+
+ PR c++/49418
+ * g++.dg/template/param3.C: New.
+
+2011-06-21 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
+ my_clrsb test functions.
+ (main): Test clrsb.
+ * gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
+ test_sll, test_ull): Add clrsb tests.
+ * gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
+ clrsbll.
+
+2011-06-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49112
+ * gfortran.dg/class_44.f03: New.
+
+2011-06-21 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49478
+ * gcc.dg/vect/pr49478.c
+
+2011-06-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49483
+ * gcc.dg/vect/vect-120.c: New testcase.
+
+2011-06-21 Ira Rosen <ira.rosen@linaro.org>
+
+ PR testsuite/49443
+ * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align targets.
+ * gcc.dg/vect/vect-peel-4.c: Likewise.
+
+2011-06-22 Christian Bruel <christian.bruel@st.com>
+
+ PR middle-end/49139
+ * gcc.dg/always_inline.c: Removed -Winline. Update checks
+ * gcc.dg/always_inline2.c: Likewise.
+ * gcc.dg/always_inline3.c: Likewise.
+ * gcc.dg/debug/pr41264-1.c: Add -Wno-attributes.
+ * gcc.dg/inline_1.c: Likewise.
+ * gcc.dg/inline_2.c: Likewise.
+ * gcc.dg/inline_3.c: Likewise.
+ * gcc.dg/inline_4.c: Likewise.
+ * gcc.dg/20051201-1.c: Likewise.
+ * gcc.dg/pr40087.c: Likewise.
+ * gcc.dg/torture/pta-structcopy-1.c: Likewise.
+ * gcc.dg/inline-22.c: Likewise.
+ * gcc.dg/lto/20090218-1_0.c: Set inline keyword.
+ * gcc.dg/lto/20090218-1_1.c: Likewise.
+ * g++.dg/ipa/devirt-7.C: Likewise.
+ * gcc.dg/uninit-pred-5_a.c: Likewise.
+ * gcc.dg/uninit-pred-5_b.c: Likewise.
+ * gcc.dg/fail_always_inline.c: New.
+
+2011-06-21 Jakub Jelinek <jakub@redhat.com>
+
+ * Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
+ into 6 jobs instead of 3.
+
+2011-06-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/49216
+ * g++.dg/cpp0x/initlist53.C: New.
+
+2011-06-20 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_lock_1.f90: Update dg-error.
+ * gfortran.dg/coarray_lock_3.f90: New.
+ * gfortran.dg/coarray/lock_1.f90: New.
+
+2011-06-20 Janis Johnson <janisjo@codesourcery.com>
+
+ * lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
+ scan-dump-dem, scan-dump-dem-not): Treat a missing dump file as
+ unresolved and report the reason to the log file.
+
+ * lib/scanasm.exp (object-size): Move argument processing earlier
+ to report errors before verifying that the file exists. Report
+ problems detected at runtime as unresolved instead of error and
+ report their reasons to the log file.
+
+2011-06-20 Jason Merrill <jason@redhat.com>
+
+ PR c++/47080
+ * g++.dg/cpp0x/explicit6.C: New.
+
+ PR c++/47635
+ * g++.dg/cpp0x/enum20.C: New.
+
+ PR c++/48138
+ * g++.dg/ext/attr-aligned01.C: New.
+
+ PR c++/49205
+ * g++.dg/cpp0x/variadic-default.C: New.
+
+ PR c++/43321
+ * g++.dg/cpp0x/auto26.C: New.
+
+ PR c++/43831
+ * g++.dg/cpp0x/lambda/lambda-capture-reduncancy.C: New.
+
+2011-06-20 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/binop-notand1.c: New test.
+ * gcc.dg/binop-notand2.c: New test.
+ * gcc.dg/binop-notand3.c: New test.
+ * gcc.dg/binop-notand4.c: New test.
+ * gcc.dg/binop-notand5.c: New test.
+ * gcc.dg/binop-notand6.c: New test.
+
+2011-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/49432
+ * obj-c++.dg/invalid-type-1.mm: Adjust for new error wording.
+
+2011-06-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49400
+ * gfortran.dg/proc_ptr_31.f90: New.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/volatile6.adb: New test.
+ * gnat.dg/volatile7.adb: Likewise.
+ * gnat.dg/volatile8.adb: Likewise.
+ * gnat.dg/volatile9.adb: Likewise.
+
+2011-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/constant3.adb: New test.
+
+2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/49296
+ * gfortran.dg/read_list_eof_1.f90: New test.
+
+2011-06-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49411
+ * gcc.target/i386/testimm-1.c: New test.
+ * gcc.target/i386/testimm-2.c: New test.
+ * gcc.target/i386/testimm-3.c: New test.
+ * gcc.target/i386/testimm-4.c: New test.
+ * gcc.target/i386/testimm-5.c: New test.
+ * gcc.target/i386/testimm-6.c: New test.
+ * gcc.target/i386/testimm-7.c: New test.
+ * gcc.target/i386/testimm-8.c: New test.
+ * gcc.target/i386/xop-vpermil2px-2.c: New test.
+ * gcc.target/i386/xop-rotate1-int.c: New test.
+ * gcc.target/i386/xop-rotate2-int.c: New test.
+
+2011-06-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/rv-func2.C: New.
+
+ * g++.dg/debug/dwarf2/lambda1.C: New.
+ * g++.dg/warn/Wshadow-6.C: Adjust.
+
+2011-06-17 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48699
+ * gfortran.dg/move_alloc_5.f90: New.
+
+2011-06-17 Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/48542
+ * gcc.dg/torture/pr48542.c: New test.
+
+2011-06-16 Jason Merrill <jason@redhat.com>
+
+ PR c++/44160
+ * g++.dg/cpp0x/lambda/lambda-__func__.C: New.
+
+ PR c++/45378
+ * g++.dg/cpp0x/initlist52.C New.
+
+ PR c++/45399
+ * c-c++-common/raw-string-12.c: New.
+
+ PR c++/49229
+ * g++.dg/cpp0x/sfinae26.C: New.
+
+ PR c++/49251
+ * g++.dg/cpp0x/variadic113.C: New.
+
+ PR c++/49420
+ * g++.dg/cpp0x/variadic112.C: New.
+
+2011-06-16 Jeff Law <law@redhat.com>
+
+ * gcc.dg/builtin-object-size-1.c: Update to handle chances from
+ improved jump threading.
+ * gcc.dg/builtin-object-size-2.c: Likewise.
+ * gcc.dg/tree-ssa/20030728-1.c: Likewise.
+
+2011-06-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49074
+ * gfortran.dg/typebound_assignment_3.f03: New.
+
+2011-06-16 Steve Ellcey <sje@cup.hp.com>
+
+ PR testsuite/48727
+ * g++.dg/opt/devirt2.C: Change xfail rule to target.
+
+2011-06-16 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/49343
+ * gnat.dg/discr31.ad[sb]: New test.
+
+2011-06-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/debug/pr49032.c: Prune mips-tfile warning.
+
+2011-06-16 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * gcc.target/arm/ivopts-3.c: Update test.
+ * gcc.target/arm/ivopts-5.c: Same.
+
+2011-06-16 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ Revert:
+ 2011-06-10 Wei Guozhi <carrot@google.com>
+
+ PR target/45335
+ * gcc.target/arm/pr45335.c: New test.
+ * gcc.target/arm/pr45335-2.c: New test.
+ * gcc.target/arm/pr45335-3.c: New test.
+ * gcc.target/arm/pr40457-1.c: Add another possible output "ldrd".
+ * gcc.target/arm/pr40457-2.c: Changed to store 3 words.
+ * gcc.target/arm/pr40457-3.c: Changed to store 3 words.
+
+2011-06-16 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-widen-mult-half-u8.c: New test.
+
+2011-06-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/49417
+ * gfortran.dg/class_43.f03: New.
+
+2011-06-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49419
+ * gcc.c-torture/execute/pr49419.c: New test.
+
+2011-06-16 Revital Eres <revital.eres@linaro.org>
+
+ * gcc.dg/sms-9.c: New file.
+
+2011-06-15 Easwaran Raman <eraman@google.com>
+
+ PR rtl-optimization/49414
+ * gcc.dg/pr44194-1.c: Restrict test to 64-bit targets.
+
+2011-06-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/noexcept13.C: New.
+
+2011-06-14 Easwaran Raman <eraman@google.com>
+
+ PR rtl-optimization/44194
+ * gcc.dg/pr44194-1.c: New test.
+ * gcc.dg/pr44194-2.c: New test.
+
+2011-06-14 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/pr45701-1.c: Ignore warnings about conflicting
+ switches.
+ * gcc.target/arm/pr45701-2.c: Likewise.
+ * gcc.target/arm/thumb-branch1.c: Likewise.
+
+2011-06-14 Steve Ellcey <sje@cup.hp.com>
+
+ PR testsuite/48727
+ * g++.dg/opt/devirt2.C: Fix scan rules for ia64*-*-hpux* and hppa*-*-*.
+
+2011-06-14 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/pr45701-1.c: Require thumb support.
+ * gcc.target/arm/pr45701-2.c: Likewise.
+ * gcc.target/arm/thumb-branch1.c: Likewise.
+
+ * gcc.target/arm/mla-1.c: Ignore warnings about conflicting switches.
+ * gcc.target/arm/pr39839.c: Likewise.
+ * gcc.target/arm/pr40657-2.c: Likewise.
+ * gcc.target/arm/pr40956.c: Likewise.
+ * gcc.target/arm/pr41679.c: Likewise.
+ * gcc.target/arm/pr42235.c: Likewise.
+ * gcc.target/arm/pr42495.c: Likewise.
+ * gcc.target/arm/pr42505.c: Likewise.
+ * gcc.target/arm/pr42574.c: Likewise.
+ * gcc.target/arm/pr46883.c: Likewise.
+ * gcc.target/arm/pr46934.c: Likewise.
+ * gcc.target/arm/xor-and.c: Likewise.
+
+2011-06-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/other/error23.C: Adjust error message.
+ * g++.dg/other/error32.C: Likewise.
+
+ PR c++/49389
+ * g++.dg/cpp0x/rv-dotstar.C: New.
+
+ PR c++/49369
+ * g++.dg/cpp0x/decltype30.C: New.
+
+ * g++.dg/cpp0x/constexpr-array-ptr7.C: New.
+
+2011-06-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/49103
+ * gfortran.dg/pr49103.f90: New test.
+
+2011-06-14 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * gcc.target/arm/ivopts-3.c: New test.
+ * gcc.target/arm/ivopts-4.c: New test.
+ * gcc.target/arm/ivopts-5.c: New test.
+
+2011-06-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49390
+ * gcc.c-torture/execute/pr49390.c: New test.
+
+2011-06-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/torture/pr48954.C: Use dg-require-effective-target lto.
+
+2011-06-14 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.c-torture/execute/cmpsi-2.c: Undo 172757.
+ * gcc.c-torture/execute/cmpsi-2.x: New file.
+ * gcc.c-torture/execute/pr45262.c: Undo 172757.
+ * gcc.c-torture/execute/pr45262.x: New file.
+ * gcc.c-torture/compile/pr46534.c: Skip for AVR.
+ * gcc.c-torture/compile/pr49029.c: Add dg-require-effective-target
+ int32plus
+ * gcc.c-torture/compile/pr49163.c: Ditto.
+
+2011-06-14 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-16.c: Rename to...
+ * gcc.dg/vect/no-fast-math-vect16.c: ...this.
+ * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values
+ for double-word vectors.
+ * gcc.dg/vect/vect-peel-4.c: Likewise.
+ * gcc.dg/vect/bb-slp-10.c: Replace vect_hw_misalign with
+ vect_element_align.
+ * gcc.dg/vect/vect.exp: Run no-fast-math-* tests with
+ -fno-fast-math.
+
+2011-06-13 Edmar Wienskoski <edmar@freescale.com>
+
+ PR target/44618
+ * gcc.target/powerpc/outofline_rnreg.c: New testcase.
+
+2011-06-13 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.dg/h8300-bit-insn-ice2.c: Remove duplicated lines.
+
+2011-06-13 Kaushik Phatak <kaushik.phatak@kpitcummins.com>
+
+ * gcc.dg/h8300-bit-insn-ice2.c: New testcase.
+
+2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/trim_optimize_8.f90: New test case.
+
+2011-06-13 Jakub Jelinek <jakub@redhat.com>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49352
+ * gcc.dg/vect/pr49352.c: New test.
+
+2011-06-12 Tobias Burnus
+
+ PR fortran/49324
+ * gfortran.dg/alloc_comp_assign_11.f90: New.
+
+2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/trim_optimize_7.f90: New test.
+
+2011-06-10 Wei Guozhi <carrot@google.com>
+
+ PR target/45335
+ * gcc.target/arm/pr45335.c: New test.
+ * gcc.target/arm/pr45335-2.c: New test.
+ * gcc.target/arm/pr45335-3.c: New test.
+ * gcc.target/arm/pr40457-1.c: Add another possible output "ldrd".
+ * gcc.target/arm/pr40457-2.c: Changed to store 3 words.
+ * gcc.target/arm/pr40457-3.c: Changed to store 3 words.
+
+2011-06-10 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/41769
+ * g++.dg/parse/error39.C: New.
+
+2011-06-10 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/20090811-1.c: Skip for incompatible
+ options, do not override other options.
+ * gcc.target/arm/combine-cmp-shift.c: Skip for
+ incompatible options.
+ * gcc.target/arm/pr45094.c: Likewise.
+ * gcc.target/arm/scd42-1.c: Likewise.
+ * gcc.target/arm/scd42-3.c: Likewise.
+ * gcc.target/arm/thumb-ltu.c: Likewise.
+
+ * lib/target-supports.exp
+ (check_effective_target_arm_neon_fp16_ok_nocache): Return 0 if
+ multilib flags use -mfpu with a value other than neon-fp16.
+
+2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/torture/tls/tls.exp: Load torture-options.exp.
+ Run tests with -fpic/-fPIC, -pie -fpie/-fPIE if supported.
+
+2011-06-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp (check_effective_target_pie): New proc.
+ * gcc.dg/pie-link.c: Use target pie.
+
+2011-06-10 Eric Botcazou <ebotcazou@adacore.com>
+ Laurent Roug� <laurent.rouge@menta.fr>
+
+ * gcc.dg/20020503-1.c: Add back -mflat option on the SPARC.
+ * gcc.target/sparc/sparc-ret.c: Skip if -mflat is passed.
+
+2011-06-10 Daniel Carrera <dcarrera@gmail.com>
+
+ * gfortran.dg/coarray/sync_1.f90: New test for
+ "SYNC ALL", "SYNC MEMORY" and "SYNC IMAGES".
+
+2011-06-10 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49318
+ * gcc.dg/vect/pr49318.c: New test.
+
+2011-06-09 David Krauss <potswa@mac.com>
+
+ * g++.dg/template/arrow1.C: New.
+
+2011-06-09 Jason Merrill <jason@redhat.com>
+
+ * lib/prune.exp: Prune "note"s.
+ * g++.dg/uninit-pred-3_b.C: Remove dg-excess-errors.
+
+ * g++.dg/ext/injected-ttp.C: Specify -std=c++98.
+ * g++.dg/template/dependent-expr3.C: Likewise.
+ * g++.dg/parse/template7.C: Likewise.
+ * g++.old-deja/g++.bugs/900119_01.C: Likewise.
+ * g++.old-deja/g++.jason/rfg10.C: Likewise.
+ * g++.old-deja/g++.pt/friend38.C: Likewise.
+ * g++.old-deja/g++.pt/crash32.C: Likewise.
+ * g++.old-deja/g++.other/init4.C: Likewise.
+ * g++.old-deja/g++.other/friend8.C: Likewise.
+
+ * g++.dg/ext/complex7.C: Adjust expected output.
+ * g++.dg/diagnostic/method1.C: Likewise.
+ * g++.dg/parse/parameter-declaration-2.C: Likewise.
+ * g++.dg/parse/crash33.C: Likewise.
+ * g++.dg/other/warning1.C: Likewise.
+ * g++.dg/init/pr29571.C: Likewise.
+ * g++.dg/warn/overflow-warn-1.C: Likewise.
+ * g++.dg/warn/overflow-warn-3.C: Likewise.
+ * g++.dg/warn/overflow-warn-4.C: Likewise.
+ * g++.old-deja/g++.oliva/template1.C: Likewise.
+
+ * g++.dg/cpp0x/regress/error-recovery1.C: Adjust.
+ * g++.dg/parse/template7.C: Adjust.
+
+2011-06-09 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49307
+ * gcc.dg/pr49307.c: New.
+
+2011-06-09 Wei Guozhi <carrot@google.com>
+
+ PR target/46975
+ * gcc.target/arm/pr46975.c: New testcase.
+
+2011-06-09 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc-obj-c++-shared/objc-test-suite-next-encode-assist.h
+ (PMETH, arglist_t): Removed.
+ (method_get_number_of_arguments): Removed.
+ (method_get_nth_argument): Removed.
+ (method_get_first_argument): Removed.
+ (method_get_next_argument): Removed.
+ (method_get_sizeof_arguments): Removed.
+ * objc-obj-c++-shared/objc-test-suite-next-encode-assist-impl.h
+ (PMETH): Removed.
+ (method_get_number_of_arguments): Removed.
+ (method_get_nth_argument): Removed.
+ (method_get_first_argument): Removed.
+ (method_get_next_argument): Removed.
+ (method_get_sizeof_arguments): Removed.
+ * objc-obj-c++-shared/objc-test-suite-types.h (PMETH): Removed.
+
+2011-06-09 David Li <davidxl@google.com>
+
+ * gcc.dg/dump-pass.c: New test.
+
+2011-06-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29003
+ * g++.dg/parse/error38.C: New.
+
+2011-06-09 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49308
+ * gfortran.dg/pr49308.f90: New test.
+
+2011-06-08 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/noexcept11.C: New.
+ * g++.dg/cpp0x/noexcept12.C: New.
+ * g++.dg/cpp0x/sfinae11.C: Adjust.
+
+2011-06-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/49323
+ * g++.dg/debug/dwarf2/integer-typedef.C: Add -fno-merge-debug-strings
+ to dg-options, match also DW_AT_linkage_name.
+
+2011-06-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR middle-end/21953
+ * gcc.dg/compat/struct-layout-1_generate.c (dg-options): Use
+ -fno-common on alpha*-dec-osf*.
+ * g++.dg/compat/struct-layout-1_generate.c (dg-options): Likewise.
+
+2011-06-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/49303
+ * gcc.target/ia64/pr49303.c: New test.
+
+2011-06-08 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_lock_1.f90: New.
+ * gfortran.dg/coarray_lock_2.f90: New.
+
+2011-06-07 Jason Merrill <jason@redhat.com>
+
+ * lib/prune.exp: Look for "required" rather than "instantiated".
+ * g++.dg/abi/mangle11.C: Likewise.
+ * g++.dg/abi/mangle12.C: Likewise.
+ * g++.dg/abi/mangle17.C: Likewise.
+ * g++.dg/abi/mangle20-2.C: Likewise.
+ * g++.dg/abi/pragma-pack1.C: Likewise.
+ * g++.dg/cpp0x/decltype26.C: Likewise.
+ * g++.dg/cpp0x/decltype28.C: Likewise.
+ * g++.dg/cpp0x/decltype29.C: Likewise.
+ * g++.dg/cpp0x/enum11.C: Likewise.
+ * g++.dg/cpp0x/forw_enum8.C: Likewise.
+ * g++.dg/cpp0x/lambda/lambda-errloc2.C: Likewise.
+ * g++.dg/cpp0x/pr47416.C: Likewise.
+ * g++.dg/ext/case-range2.C: Likewise.
+ * g++.dg/ext/case-range3.C: Likewise.
+ * g++.dg/gomp/for-19.C: Likewise.
+ * g++.dg/gomp/pr37533.C: Likewise.
+ * g++.dg/gomp/pr38639.C: Likewise.
+ * g++.dg/gomp/tpl-parallel-2.C: Likewise.
+ * g++.dg/inherit/base3.C: Likewise.
+ * g++.dg/inherit/using6.C: Likewise.
+ * g++.dg/init/placement4.C: Likewise.
+ * g++.dg/init/reference3.C: Likewise.
+ * g++.dg/lookup/scoped6.C: Likewise.
+ * g++.dg/lookup/using7.C: Likewise.
+ * g++.dg/other/abstract1.C: Likewise.
+ * g++.dg/other/error10.C: Likewise.
+ * g++.dg/other/error5.C: Likewise.
+ * g++.dg/other/field1.C: Likewise.
+ * g++.dg/other/offsetof5.C: Likewise.
+ * g++.dg/parse/bitfield2.C: Likewise.
+ * g++.dg/parse/constant4.C: Likewise.
+ * g++.dg/parse/crash20.C: Likewise.
+ * g++.dg/parse/invalid-op1.C: Likewise.
+ * g++.dg/parse/non-dependent2.C: Likewise.
+ * g++.dg/parse/template18.C: Likewise.
+ * g++.dg/tc1/dr152.C: Likewise.
+ * g++.dg/tc1/dr166.C: Likewise.
+ * g++.dg/tc1/dr176.C: Likewise.
+ * g++.dg/tc1/dr213.C: Likewise.
+ * g++.dg/template/access11.C: Likewise.
+ * g++.dg/template/access2.C: Likewise.
+ * g++.dg/template/access3.C: Likewise.
+ * g++.dg/template/access7.C: Likewise.
+ * g++.dg/template/arg7.C: Likewise.
+ * g++.dg/template/cond2.C: Likewise.
+ * g++.dg/template/crash13.C: Likewise.
+ * g++.dg/template/crash40.C: Likewise.
+ * g++.dg/template/crash7.C: Likewise.
+ * g++.dg/template/crash84.C: Likewise.
+ * g++.dg/template/ctor5.C: Likewise.
+ * g++.dg/template/defarg13.C: Likewise.
+ * g++.dg/template/defarg14.C: Likewise.
+ * g++.dg/template/dtor7.C: Likewise.
+ * g++.dg/template/eh2.C: Likewise.
+ * g++.dg/template/error2.C: Likewise.
+ * g++.dg/template/error43.C: Likewise.
+ * g++.dg/template/friend32.C: Likewise.
+ * g++.dg/template/injected1.C: Likewise.
+ * g++.dg/template/instantiate1.C: Likewise.
+ * g++.dg/template/instantiate3.C: Likewise.
+ * g++.dg/template/instantiate5.C: Likewise.
+ * g++.dg/template/instantiate7.C: Likewise.
+ * g++.dg/template/local6.C: Likewise.
+ * g++.dg/template/lookup2.C: Likewise.
+ * g++.dg/template/member5.C: Likewise.
+ * g++.dg/template/memfriend15.C: Likewise.
+ * g++.dg/template/memfriend16.C: Likewise.
+ * g++.dg/template/memfriend17.C: Likewise.
+ * g++.dg/template/memfriend7.C: Likewise.
+ * g++.dg/template/meminit1.C: Likewise.
+ * g++.dg/template/nested3.C: Likewise.
+ * g++.dg/template/non-type-template-argument-1.C: Likewise.
+ * g++.dg/template/nontype12.C: Likewise.
+ * g++.dg/template/nontype13.C: Likewise.
+ * g++.dg/template/nontype6.C: Likewise.
+ * g++.dg/template/pr23510.C: Likewise.
+ * g++.dg/template/pr35240.C: Likewise.
+ * g++.dg/template/ptrmem15.C: Likewise.
+ * g++.dg/template/ptrmem6.C: Likewise.
+ * g++.dg/template/qualified-id1.C: Likewise.
+ * g++.dg/template/qualttp20.C: Likewise.
+ * g++.dg/template/qualttp3.C: Likewise.
+ * g++.dg/template/qualttp4.C: Likewise.
+ * g++.dg/template/qualttp5.C: Likewise.
+ * g++.dg/template/qualttp6.C: Likewise.
+ * g++.dg/template/qualttp7.C: Likewise.
+ * g++.dg/template/qualttp8.C: Likewise.
+ * g++.dg/template/recurse.C: Likewise.
+ * g++.dg/template/recurse2.C: Likewise.
+ * g++.dg/template/ref5.C: Likewise.
+ * g++.dg/template/scope2.C: Likewise.
+ * g++.dg/template/sfinae10.C: Likewise.
+ * g++.dg/template/sfinae3.C: Likewise.
+ * g++.dg/template/sizeof3.C: Likewise.
+ * g++.dg/template/static9.C: Likewise.
+ * g++.dg/template/template-id-2.C: Likewise.
+ * g++.dg/template/typedef13.C: Likewise.
+ * g++.dg/template/typename4.C: Likewise.
+ * g++.dg/template/using14.C: Likewise.
+ * g++.dg/template/using2.C: Likewise.
+ * g++.dg/template/warn1.C: Likewise.
+ * g++.dg/warn/Wparentheses-13.C: Likewise.
+ * g++.dg/warn/Wparentheses-15.C: Likewise.
+ * g++.dg/warn/Wparentheses-16.C: Likewise.
+ * g++.dg/warn/Wparentheses-17.C: Likewise.
+ * g++.dg/warn/Wparentheses-18.C: Likewise.
+ * g++.dg/warn/Wparentheses-19.C: Likewise.
+ * g++.dg/warn/Wparentheses-20.C: Likewise.
+ * g++.dg/warn/Wparentheses-23.C: Likewise.
+ * g++.dg/warn/Wstrict-aliasing-3.C: Likewise.
+ * g++.dg/warn/noeffect2.C: Likewise.
+ * g++.dg/warn/noeffect4.C: Likewise.
+ * g++.dg/warn/pr8570.C: Likewise.
+ * g++.old-deja/g++.brendan/init2.C: Likewise.
+ * g++.old-deja/g++.eh/spec6.C: Likewise.
+ * g++.old-deja/g++.pt/crash10.C: Likewise.
+ * g++.old-deja/g++.pt/crash36.C: Likewise.
+ * g++.old-deja/g++.pt/derived3.C: Likewise.
+ * g++.old-deja/g++.pt/error2.C: Likewise.
+ * g++.old-deja/g++.pt/explicit70.C: Likewise.
+ * g++.old-deja/g++.pt/infinite1.C: Likewise.
+ * g++.old-deja/g++.pt/memtemp89.C: Likewise.
+ * g++.old-deja/g++.pt/overload7.C: Likewise.
+ * g++.old-deja/g++.pt/vaarg3.C: Likewise.
+
+2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/runtime.h (protocol_getMethodDescription):
+ Added code to deal with the case when [Protocol
+ -descriptionForInstanceMethod:] or [Protocol
+ -descriptionForClassMethod:] returns NULL.
+
+2011-06-07 Nicola Pero <nicola.pero@meta-innovation.com>
+ Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/TestsuiteObject.h ([-free]): Return 'id'.
+ * objc-obj-c++-shared/TestsuiteObject.m ([-free]): Return 'id'.
+ Added cast.
+
+2011-06-07 Xinliang David Li <davidxl@google.com>
+
+ * gcc.dg/inline_2.c: New test.
+ * gcc.dg/unroll_2.c: New test.
+ * gcc.dg/inline_3.c: New test.
+ * gcc.dg/unroll_3.c: New test.
+ * gcc.dg/inline_4.c: New test.
+ * gcc.dg/unroll_4.c: New test.
+ * gcc.dg/inline_1.c: New test.
+ * gcc.dg/unroll_1.c: New test.
+
+2011-06-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/48497
+ * lib/gcc-defs.exp (dg-additional-options): New proc.
+ * gfortran.dg/graphite/vect-pr40979.f90: Use dg-additional-options
+ -msse2 on 32-bit x86.
+
+2011-06-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/enum19.C: New.
+
+2011-06-07 Sergey Grechanik <mouseentity@ispras.ru>
+
+ * gcc.target/arm/neon-reload-class.c: New test.
+
+2011-06-07 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/49130
+ * g++.dg/debug/dwarf2/integer-typedef.C: New test.
+
+2011-06-07 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/smlatb-1.c: New file.
+ * gcc.target/arm/smlatt-1.c: New file.
+ * gcc.target/arm/smlaltb-1.c: New file.
+ * gcc.target/arm/smlaltt-1.c: New file.
+
+2011-06-07 Andrew Stubbs <ams@codesourcery.com>
+
+ * gcc.target/arm/mla-2.c: New test.
+
+2011-06-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR gcov-profile/49299
+ * gcc.dg/tree-prof/pr49299-1.c: New test.
+ * gcc.dg/tree-prof/pr49299-2.c: New test.
+
+2011-06-07 Ira Rosen <ira.rosen@linaro.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_widen_mult_qi_to_hi):
+ Add NEON as supporting target.
+ (check_effective_target_vect_widen_mult_hi_to_si): Likewise.
+ (check_effective_target_vect_widen_mult_qi_to_hi_pattern): New.
+ (check_effective_target_vect_widen_mult_hi_to_si_pattern): New.
+ * gcc.dg/vect/vect-widen-mult-u8.c: Expect to be vectorized
+ using widening multiplication on targets that support it.
+ * gcc.dg/vect/vect-widen-mult-u16.c: Likewise.
+ * gcc.dg/vect/vect-widen-mult-const-s16.c: New test.
+ * gcc.dg/vect/vect-widen-mult-const-u16.c: New test.
+
+2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Updated all testcases in the ObjC/ObjC++ testsuites to use the
+ Modern Objective-C runtime API.
+ * objc/execute/next_mapping.h: Removed.
+ * objc-obj-c++-shared/next-mapping.h: Removed.
+ * objc-obj-c++-shared/Object1.h: Removed.
+ * objc-obj-c++-shared/Object1.m: Removed.
+ * objc-obj-c++-shared/Object1.mm: Removed.
+ * objc-obj-c++-shared/Object1-implementation.h: Removed.
+ * objc-obj-c++-shared/Protocol1.h: Removed.
+ * objc-obj-c++-shared/objc-test-suite-types.h: Removed definition
+ of ProtoBool, IVAR_T and METHOD.
+ * objc-obj-c++-shared/runtime.h: New.
+ * objc-obj-c++-shared/TestsuiteObject.h: New.
+ * objc-obj-c++-shared/TestsuiteObject.m: New.
+
+ * objc/compile/trivial.m: Use TestsuiteObject instead of Object.
+ * objc/execute/IMP.m: Include ../../objc-obj-c++-shared/runtime.h.
+ Use the Modern Objective-C runtime API. ([TestClass -next:]): Made
+ it a class method.
+ * objc/execute/_cmd.m: Include
+ ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C
+ runtime API. ([TestClass +initialize]): Include this method also
+ with the GNU runtime.
+ * objc/execute/accessing_ivars.m: Use TestsuiteObject instead of
+ Object. ([-setValue:]): Return void.
+ * objc/execute/bf-common.h: Do not include objc/objc-encoding.h
+ with the GNU runtime. Include
+ ../../objc-obj-c++-shared/runtime.h. Do not define objc_get_class
+ for the NeXT runtime. Use the existing print_ivars() and
+ compare_structures() implementations for the old NeXT runtime.
+ Added new implementations for the Modern GNU and NeXT runtimes.
+ Enable the testcase (and hence all the bf-* ones) for __OBJC2__ as
+ well. (main): Use objc_getClass(). Use return instead of exit.
+ * objc/execute/bycopy-1.m: Include objc/objc.h instead of
+ ../../objc-obj-c++-shared/Protocol1.h. (main): Use return instead
+ of exit().
+ * objc/execute/bycopy-2.m: Include objc/objc.h instead of
+ ../../objc-obj-c++-shared/Protocol1.h. Use TestsuiteObject
+ instead of Object. (main): Use return instead of exit().
+ * objc/execute/bycopy-3.m: Updated includes. Use TestsuiteObject
+ instead of Object. Removed prototype for exit(). (main): Use
+ return instead of exit(). Use the Modern Objective-C runtime API.
+ * objc/execute/cascading-1.m: Use TestsuiteObject instead of
+ Object.
+ * objc/execute/class-tests-1.h: Include
+ ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C
+ runtime API. (test_class_with_superclass): Do not call [Object
+ class]. There is no need to with the current libobjc.
+ * objc/execute/class-tests-2.h: Include
+ ../../objc-obj-c++-shared/runtime.h. Use the Modern Objective-C
+ runtime API.
+ * objc/execute/class-1.m: Do not include <objc/objc-api.h> and
+ ../../objc-obj-c++-shared/next-mapping.h.
+ * objc/execute/class-2.m: Likewise.
+ * objc/execute/class-3.m: Likewise.
+ * objc/execute/class-4.m: Do not include <objc/objc-api.h> and
+ ../../objc-obj-c++-shared/next-mapping.h. ([RootClass
+ +initialize]): Include this method also with the GNU
+ runtime. (main): Use the Modern Objective-C runtime API.
+ * objc/execute/class-5.m: Likewise.
+ * objc/execute/class-6.m: Likewise.
+ * objc/execute/class-7.m: Likewise.
+ * objc/execute/class-8.m: Likewise.
+ * objc/execute/class-9.m: Likewise.
+ * objc/execute/class-10.m: Likewise.
+ * objc/execute/class-11.m: Likewise.
+ * objc/execute/class-12.m: Likewise.
+ * objc/execute/class-13.m: Likewise.
+ * objc/execute/class-14.m: Likewise.
+ * objc/execute/class_self-1.m ([TestClass +initialize]): Include
+ this method also with the GNU runtime.
+ * objc/execute/class_self-2.m: ([TestClass +initialize], [ClassA
+ +initialize]): Include this method also with the GNU runtime.
+ * objc/execute/compatibility_alias.m: Use TestsuiteObject instead
+ of Object.
+ * objc/execute/encode-1.m: Likewise.
+ * objc/execute/enumeration-1.m: Likewise.
+ * objc/execute/enumeration-2.m: Likewise.
+ * objc/execute/exceptions/catchall-1.m: Likewise.
+ * objc/execute/exceptions/finally-1.m: Likewise.
+ * objc/execute/exceptions/foward-1.m: Likewise.
+ * objc/execute/exceptions/local-variables-1.m: Likewise.
+ * objc/execute/exceptions/throw-nil.m: Likewise.
+ * objc/execute/exceptions/trivial.m: Likewise.
+ * objc/execute/exceptions/handler-1.m: Use TestsuiteObject instead
+ of Object. Include objc/runtime.h instead of objc/objc-api.h.
+ * objc/execute/exceptions/matcher-1.m: Likewise.
+ * objc/execute/formal_protocol-1.m: Use TestsuiteObject instead of
+ Object.
+ * objc/execute/formal_protocol-2.m: Likewise.
+ * objc/execute/formal_protocol-3.m: Likewise.
+ * objc/execute/formal_protocol-4.m: Likewise.
+ * objc/execute/formal_protocol-5.m: Include
+ ../../objc-obj-c++-shared/runtime.h. (main): Always use
+ protocol_getName().
+ * objc/execute/formal_protocol-6.m: Likewise.
+ * objc/execute/formal_protocol-7.m: Use TestsuiteObject instead of
+ Object. Include <objc/Protocol.h> instead of
+ ../../objc-obj-c++-shared/Protocol1.h.
+ * objc/execute/function-message-1.m: Use TestsuiteObject intead of
+ Object.
+ * objc/execute/informal_protocol.m: Likewise.
+ * objc/execute/load-3.m: Likewise.
+ * objc/execute/many_args_method.m ([TestClass +initialize]):
+ Include this method with the GNU runtime as well.
+ * objc/execute/nested-3.m ([Test +initialize]): Likewise.
+ * objc/execute/nested-func-1.m: Use TestsuiteObject
+ instead of Object.
+ * objc/execute/nil_method-1.m: Likewise.
+ * objc/execute/no_clash.m: Likewise.
+ * objc/execute/np-1.m: Do not include
+ ../../objc-obj-c++-shared/Protocol1.h.
+ (main): Use return instead of exit().
+ * objc/execute/np-2.m: Do not include
+ ../../objc-obj-c++-shared/Protocol1.h.
+ ([MyObject +initialize]): Include this method also with the GNU
+ runtime. (main): Use return instead of exit().
+ * objc/execute/object_is_class.m: Include
+ ../../objc-obj-c++-shared/runtime.h. Use TestsuiteObject instead
+ of Object. (main): Use the Modern Objective-C runtime API.
+ * objc/execute/object_is_meta_class.m: Likewise.
+ * objc/execute/private.m: Use TestsuiteObject instead of Object.
+ * objc/execute/protocol-isEqual-1.m: Include objc/Protocol.h
+ instead of ../objc-obj-c++-shared/Protocol1.h. Include
+ ../../objc-obj-c++-shared/runtime.h. (main): Use the Modern
+ Objective-C runtime API.
+ * objc/execute/protocol-isEqual-2.m: Likewise.
+ * objc/execute/protocol-isEqual-3.m: Likewise.
+ * objc/execute/protocol-isEqual-4.m: Likewise.
+ * objc/execute/redefining_self.m ([TestClass +initialize]):
+ Include this method with the GNU runtime as well.
+ * objc/execute/root_methods.m: Include
+ ../../objc-obj-c++-shared/runtime.h. ([RootClass +initialize]):
+ Include this method with the GNU runtime as well.
+ (main): Use the Modern Objective-C runtime API.
+ * objc/execute/selector-1.m: Include
+ ../../objc-obj-c++-shared/runtime.h. Use TestsuiteObject instead
+ of Object. (main): Use the Modern Objective-C runtime API.
+ * objc/execute/static-1.m ([Test +initialize]): Include this
+ method with the GNU runtime as well.
+ * objc/execute/static-2.m: Likewise.
+ * objc/execute/trivial.m: Use TestsuiteObject instead of Object.
+ * objc/execute/va_method.m: Do not include objc/objc-api.h.
+ ([MathClass +initialize]): Include this method with the GNU
+ runtime as well.
+ * objc.dg/attributes/categ-attribute-1.m: Use TestsuiteObject
+ instead of Object.
+ * obj-c++.dg/attributes/categ-attribute-1.mm: Likewise.
+ * objc.dg/attributes/categ-attributes-2.m: Likewise.
+ * obj-c++.dg/attributes/categ-attributes-2.mm: Likewise.
+ * objc.dg/attributes/method-attribute-1.m: Likewise.
+ * obj-c++.dg/attributes/method-attribute-1.mm: Likewise.
+ * objc.dg/attributes/method-attribute-2.m: Likewise.
+ * obj-c++.dg/attributes/method-attribute-2.mm: Likewise.
+ * objc.dg/attributes/method-attribute-3.m: Likewise.
+ * obj-c++.dg/attributes/method-attribute-3.mm: Likewise.
+ * obj-c++.dg/basic.mm: Use TestsuiteObject instead of Object.
+ * objc.dg/bitfield-1.m: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/bitfield-1.mm: Likewise.
+ * obj-c++.dg/bitfield-2.mm: Likewise
+ * objc.dg/bitfield-3.m: Likewise.
+ * obj-c++.dg/bitfield-4.mm: Likewise.
+ * objc.dg/bitfield-5.m: Likewise
+ * objc.dg/call-super-1.m: Likewise.
+ * objc.dg/call-super-2.m: Use TestsuiteObject instead of Object.
+ Use objc_getClass() instead of objc_get_class(), but for the GNU
+ runtime redefine objc_getClass as objc_get_class. Include
+ ../objc-obj-c++-shared/runtime.h.
+ * objc.dg/call-super-3.m: Use TestsuiteObject instead of Object.
+ * objc.dg/category-1.m: Use TestsuiteObject instead of Object.
+ Use the Modern Objective-C runtime API.
+ * objc.dg/class-protocol-1.m: Include
+ ../objc-obj-c++-shared/runtime.h instead of objc/objc-api.h.
+ * obj-c++.dg/class-protocol-1.mm: Likewise.
+ * objc.dg/comp-types-8.m: Use TestsuiteObject instead of Object.
+ * objc.dg/comp-types-10.m: Likewise.
+ * objc.dg/comp-types-11.m: Likewise.
+ * objc.dg/comp-types-12.m: Likewise.
+ * obj-c++.dg/comp-types-9.mm: Likewise.
+ * obj-c++.dg/comp-types-11.mm: Likewise.
+ * obj-c++.dg/comp-types-12.mm: Likewise.
+ * obj-c++.dg/comp-types-13.mm: Likewise.
+ * obj-c++.dg/cxx-ivars-1.mm: Likewise.
+ * obj-c++.dg/cxx-ivars-2.mm: Likewise.
+ * obj-c++.dg/cxx-scope-1.mm: Likewise.
+ * obj-c++.dg/cxx-scope-2.mm: Likewise.
+ * objc.dg/defs.m: Use TestsuiteObject instead of Object.
+ * objc.dg/desig-init-1.m: Likewise.
+ * obj-c++.dg/defs.mm: Likewise.
+ * objc.dg/exceptions-2.m: Likewise.
+ * obj-c++.dg/except-1.mm: Likewise.
+ * obj-c++.dg/exceptions-2.mm: Likewise.
+ * objc.dg/encode-2.m: Use TestsuiteObject instead of Object.
+ Use the Modern Objective-C runtime API.
+ * objc.dg/encode-3.m: Use TestsuiteObject instead of Object. Use
+ the Modern Objective-C runtime API. Do not include
+ ../objc-obj-c++-shared/objc-test-suite-types.h. Define ProtoBool.
+ * objc.dg/encode-4.m: Use TestsuiteObject instead of Object. Use
+ the Modern Objective-C runtime API except when using an older NeXT
+ runtime.
+ * objc.dg/encode-5.m: Use TestsuiteObject instead of Object. Use
+ the Modern Objective-C runtime API.
+ * objc.dg/encode-7.m: Include objc/runtime.h instead of
+ objc/encoding.h.
+ * objc.dg/encode-7-next.m: Use TestsuiteObject instead of Object.
+ * objc.dg/encode-7-next-64bit.m: Updated include.
+ * objc.dg/encode-8.m: Include objc/runtime.h instead of
+ objc/encoding.h.
+ * obj-c++.dg/encode-4.mm: Use TestsuiteObject instead of Object. Use
+ the Modern Objective-C runtime API.
+ * obj-c++.dg/encode-5.mm: Use TestsuiteObject instead of Object.
+ Use the Modern Objective-C runtime API. Include objc/Protocol.h
+ instead of ../objc-obj-c++-shared/Protocol1.h.
+ * obj-c++.dg/encode-6.mm: Use TestsuiteObject instead of Object. Use
+ the Modern Objective-C runtime API except when using an older NeXT
+ runtime.
+ * obj-c++.dg/encode-7.mm: Use TestsuiteObject instead of Object. Use
+ the Modern Objective-C runtime API.
+ * objc.dg/fix-and-continue-1.m: Use TestsuiteObject instead of
+ Object.
+ * obj-c++.dg/fix-and-continue-2.mm: Likewise.
+ * objc.dg/fix-and-continue-2.m: Likewise.
+ * objc.dg/foreach-1.m: Likewise.
+ * objc.dg/foreach-2.m: Likewise.
+ * objc.dg/foreach-3.m: Likewise.
+ * objc.dg/foreach-4.m: Likewise.
+ * objc.dg/foreach-5.m: Likewise.
+ * objc.dg/foreach-6.m: Likewise.
+ * objc.dg/foreach-7.m: Likewise.
+ * objc.dg/func-ptr-1.m: Use TestsuiteObject instead of
+ Object.
+ * objc.dg/func-ptr-2.m: Likewise.
+ * objc.dg/fsf-package-0.m: Use TestsuiteObject instead of Object.
+ Do not include objc/objc-api.h.
+ * obj-c++.dg/fsf-package-0.mm: Likewise.
+ * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c
+ (switchfiles): Include objc/runtime.h instead of objc/encoding.h.
+ * objc.dg/gnu-runtime-1.m: Updated to use TestsuiteObject instead
+ of Object.
+ * obj-c++.dg/gnu-runtime-1.mm: Likewise.
+ * objc.dg/gnu-runtime-3.m: Likewise.
+ * obj-c++.dg/gnu-runtime-3.mm: Likewise.
+ * objc.dg/headers.m: Include objc/runtime.h instead of
+ objc/encoding.h for the GNU runtime. Include objc/objc-api.h only
+ for the NeXT runtime.
+ * objc.dg/isa-field-1.m: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/isa-field-1.mm: Likewise.
+ * obj-c++.dg/ivar-list-semi.mm: Likewise.
+ * objc.dg/layout-1.m: Likewise.
+ * objc.dg/layout-2.m: Likewise.
+ * objc.dg/local-decl-2.m: Likewise.
+ * objc.dg/lookup-1.m: Use TestsuiteObject instead of
+ Object. ([Container +elementForView:]): Use
+ class_conformsToProtocol().
+ * obj-c++.dg/lookup-2.mm: Likewise.
+ * obj-c++.dg/layout-1.mm: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/local-decl-1.mm: Likewise.
+ * objc.dg/method-3.m: Likewise.
+ * objc.dg/method-4.m: Likewise.
+ * objc.dg/method-6.m: Include objc/Protocol.h instead of
+ ../objc-obj-c++-shared/Protocol1.h.
+ * objc.dg/method-7.m: Use TestsuiteObject instead of Object.
+ * objc.dg/method-9.m: Likewise.
+ * objc.dg/method-10.m: Likewise.
+ * objc.dg/method-13.m ([Root +initialize]): Include this method
+ also for the GNU runtime. (main): Use objc_getClass() also for
+ the GNU runtime.
+ * objc.dg/method-15.m: Use TestsuiteObject instead of Object.
+ * objc.dg/method-17.m: Likewise.
+ * objc.dg/method-19.m: Likewise.
+ * objc.dg/method-20b.m: Likewise.
+ * obj-c++.dg/method-2.mm: Likewise.
+ * obj-c++.dg/method-6.mm: Likewise.
+ * obj-c++.dg/method-10.mm: Likewise.
+ * obj-c++.dg/method-11.mm: Likewise.
+ * obj-c++.dg/method-12.mm: Include objc/Protocol.h instead of
+ ../objc-obj-c++-shared/Protocol1.h.
+ * obj-c++.dg/method-13.mm: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/method-15.mm: Likewise.
+ * obj-c++.dg/method-17.mm: Likewise.
+ * obj-c++.dg/method-19.mm: Updated includes. ([Root
+ +initialize]): Include this method also for the GNU
+ runtime. (main): Use objc_getClass() also for the GNU runtime.
+ * obj-c++.dg/method-21.mm: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/method-22.mm: Likewise.
+ * obj-c++.dg/method-23.mm: Likewise.
+ * obj-c++.dg/no-extra-load.mm: Likewise.
+ * objc.dg/objc-fast-4.m: Likewise.
+ * objc.dg/objc-gc-4.m: Likewise.
+ * obj-c++.dg/objc-gc-3.mm: Likewise.
+ * objc.dg/pr18255.m: Include objc/runtime.h. (main): Use
+ protocol_getMethodDescription() instead of [Protocol
+ -descriptionForInstanceMethod].
+ * objc.dg/pr23214.m ([Object(TS_CAT) -class]): Renamed to test.
+ Made it available with all runtimes. (main): Call -test instead
+ of -class.
+ * objc.dg/pr45878.m ([Object -isEqual:]): Renamed to testIsEqual,
+ and put into a category.
+ * objc.dg/proto-lossage-2.m: Use TestsuiteObject instead of
+ Object. Include objc/objc.h.
+ * obj-c++.dg/proto-lossage-2.mm: Likewise.
+ * objc.dg/proto-lossage-3.m: Updated includes. (MyClass):
+ New. (main): Use protocol_getMethodDescription() instead
+ of [Protocol -descriptionForInstanceMethod] and [Protocol
+ -descriptionForClassMethod].
+ * obj-c++.dg/proto-lossage-3.mm: Likewise.
+ * objc.dg/proto-qual-1.m: Updated includes. Use the Modern
+ Objective-C runtime API.
+ * obj-c++.dg/proto-qual-1.mm: Likewise.
+ * objc.dg/property/property-1.m: Use TestsuiteObject instead of
+ Object.
+ * obj-c++.dg/property/property-1.mm: Likewise.
+ * obj-c++.dg/qual-types-1.mm: Likewise.
+ * objc.dg/selector-2.m: Include objc/objc.h instead of
+ ../objc-obj-c++-shared/Object1.h.
+ * obj-c++.dg/selector-2.mm: Likewise.
+ * obj-c++.dg/selector-5.mm: Likewise.
+ * obj-c++.dg/selector-6.mm: Likewise.
+ * objc.dg/set-not-used-1.m: Use TestsuiteObject instead of
+ Object. Do not include objc/objc-api.h.
+ * obj-c++.dg/set-not-used-1.mm: Likewise.
+ * objc.dg/sizeof-1.m: Use TestsuiteObject instead of Object.
+ * objc.dg/stret-1.m: Likewise.
+ * objc.dg/stret-2.m: Likewise.
+ * obj-c++.dg/super-class-2.mm: Likewise.
+ * objc.dg/super-class-3.m: Likewise.
+ * objc.dg/super-class-4.m: Likewise.
+ * objc.dg/sync-2.m: Likewise.
+ * obj-c++.dg/sync-2.mm: Likewise.
+ * objc.dg/sync-1.m: Include objc/objc.h instead of
+ ../objc-obj-c++-shared/Object1.h.
+ * objc.dg/special/unclaimed-category-1.h (TestClass): Always use
+ 'Class' as the type of 'isa'.
+ * objc.dg/special/unclaimed-category-1.m: Use the Modern
+ Objective-C runtime API. ([TestClass +initialize]): Include this
+ method with the GNU runtime as well.
+ * objc.dg/strings/strings-1.m: Updated includes.
+ * obj-c++.dg/strings/strings-1.mm: Likewise.
+ * obj-c++.dg/strings/const-str-12.mm: Updated to be identical to
+ objc.dg/strings/const-str-12b.m.
+ * obj-c++.dg/template-1.mm: Use TestsuiteObject intead of Object.
+ * obj-c++.dg/template-3.mm: Likewise.
+ * obj-c++.dg/template-4.mm: Likewise.
+ * objc.dg/threedotthree-abi-1.m: Updated includes. Use Modern
+ Objective-C runtime API.
+ * obj-c++.dg/threedotthree-abi-1.mm: Likewise.
+ * objc.dg/try-catch-1.m: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/try-catch-1.mm: Likewise.
+ * obj-c++.dg/try-catch-2.mm: Likewise.
+ * objc.dg/try-catch-3.m: Likewise.
+ * obj-c++.dg/try-catch-3.mm: Likewise.
+ * objc.dg/try-catch-6.m: Likewise.
+ * objc.dg/try-catch-7.m: Likewise.
+ * obj-c++.dg/try-catch-7.mm: Likewise.
+ * obj-c++.dg/try-catch-8.mm: Likewise.
+ * obj-c++.dg/try-catch-9.mm: Likewise.
+ * objc.dg/try-catch-10.m: Likewise.
+ * obj-c++.dg/try-catch-11.mm: Likewise.
+ * objc.dg/typedef-alias-1.m: Use TestsuiteObject instead of
+ Object. Include objc/objc.h.
+ * obj-c++.dg/typedef-alias-1.mm: Likewise.
+ * objc.dg/type-size-2.m: Use the Modern Objective-C runtime API.
+ * objc.dg/torture/forward-1.m: Use TestsuiteObject intead of
+ Object. Use Modern Objective-C runtime API. Do not use
+ performv::.
+ * objc.dg/torture/trivial.m: Use TestsuiteObject intead of Object.
+ * obj-c++.dg/torture/trivial.mm: Likewise.
+ * objc.dg/torture/strings/const-str-10.m: Include objc/Object.h
+ instead of ../objc-obj-c++-shared/Object1.h. Include
+ ../objc-obj-c++-shared/runtime.h.
+ * obj-c++.dg/torture/strings/const-str-10.mm: Likewise.
+ * objc.dg/torture/strings/const-str-11.m: Likewise.
+ * obj-c++.dg/torture/strings/const-str-11.mm: Likewise.
+ * objc.dg/torture/strings/const-str-9.m: Likewise.
+ * obj-c++.dg/torture/strings/const-str-9.mm: Likewise.
+ * objc.dg/torture/strings/const-str-7.m: Use TestsuiteObject
+ instead of Object. Only add _FooClassReference if
+ __NEXT_RUNTIME__.
+ * obj-c++.dg/torture/strings/const-str-7.mm: Likewise.
+ * objc.dg/torture/strings/const-str-8.m: Likewise.
+ * obj-c++.dg/torture/strings/const-str-8.mm: Likewise.
+ * obj-c++.dg/torture/strings/string1.mm: Updated includes and
+ additional sources.
+ * objc.dg/torture/tls/thr-init-3.m: Use TestsuiteObject instead of
+ Object.
+ * obj-c++.dg/torture/tls/thr-init-3.mm: Likewise.
+ * objc.dg/va-meth-1.m: Use TestsuiteObject instead of Object.
+ * obj-c++.dg/va-meth-1.mm: Likewise.
+ * objc.dg/zero-link-1.m: Include objc/Object.h instead of
+ ../objc-obj-c++-shared/Object1.h.
+ * objc.dg/zero-link-3.m: Likewise.
+
+2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * obj-c++.dg/try-catch-2.mm: Fixed unterminated comment.
+
+2011-06-06 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR obj-c++/48275
+ * obj-c++.dg/property/cxx-property-1.mm: New.
+ * obj-c++.dg/property/cxx-property-2.mm: New.
+
+2011-06-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/ptrmem1.C: New.
+
+2011-06-06 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR rtl-optimization/49145
+ From Ryan Mansfield
+ * gcc.c-torture/compile/pr49145.c: New test.
+
+2011-06-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR testsuite/49288
+ * g++.dg/debug/dwarf2/cdtor-1.C: Add -fno-merge-debug-strings
+ to dg-options, match also DW_AT_linkage_name.
+
+ PR debug/49294
+ * gcc.dg/debug/pr49294.c: New test.
+
+ PR c++/49264
+ * g++.dg/opt/pr49264.C: New test.
+
+2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR tree-optimization/49243
+ * gcc.dg/pr49243.c: New.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/cond_expr1.ads: New test.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/deferred_const4.ad[sb]: New test.
+ * gnat.dg/deferred_const4_pkg.ads: New helper.
+
+2011-06-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/test_tamdt.adb: Rename to...
+ * gnat.dg/taft_type1.adb: ...this.
+ * gnat.dg/tamdt.ad[sb]: Rename to...
+ * gnat.dg/taft_type1_pkg1.ad[sb]: ...this.
+ * gnat.dg/tamdt_aux.ads: Rename to...
+ * gnat.dg/taft_type1_pkg2.ads: ...this.
+ * gnat.dg/taft_type2.ad[sb]: New test.
+ * gnat.dg/taft_type2_pkg.ads: New helper.
+ * gnat.dg/taft_type3.adb: New test.
+ * gnat.dg/taft_type3_pkg.ads: New helper.
+
+2011-06-05 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49255
+ * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer
+ for F2008.
+
+2011-06-05 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR testsuite/49287
+ * objc.dg/gnu-api-2-class.m: Updated testcase silencing compiler
+ warning.
+ * objc.dg/gnu-api-2-objc.m: Likewise.
+ * obj-c++.dg/gnu-api-2-class.mm: Likewise
+ * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
+
+2011-06-05 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/gnu-api-2-objc.m: Fixed testcase. Use log2 of the
+ alignment, not the alignment, when calling class_addIvar(). Add
+ an 'isa' instance variable to the test root class.
+ * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/48893
+ PR tree-optimization/49091
+ PR tree-optimization/49179
+ * gfortran.dg/pr49179.f90: New testcase
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR lto/48954
+ * g++.dg/torture/pr48954.C: New testcase.
+
+2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ * g++.dg/warn/delete-non-virtual-dtor.C: New.
+
+2011-06-04 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/33840
+ * g++.dg/diagnostic/bitfld2.C: New.
+
+2011-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/49281
+ * gcc.c-torture/execute/pr49281.c: New test.
+
+2011-06-04 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimize/48929
+ * gcc.c-torture/compile/pr48929.c: New testcase.
+
+2011-06-04 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/guality/rotatetest.c (f5, f6): Fix up pastos.
+
+2011-06-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49276
+ * g++.dg/cpp0x/lambda/lambda-mangle2.C: New test.
+
+2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/headers.m: Do not include sarray.h and hash.h.
+
+2011-06-03 Richard Henderson <rth@redhat.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/target-supports.exp (check_sse_os_support_available): Use movaps.
+
+2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/headers.m: Do not include objc-list.h.
+
+2011-06-03 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/type-stream-1.m: Test removed.
+ * objc.dg/headers.m: Do not include typedstream.h.
+
+2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/torture/forward-1.m (main): Updated testcase.
+
+2011-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49163
+ * gcc.c-torture/compile/pr49163.c: New.
+
+2011-06-02 Asher Langton <langton2@llnl.gov>
+
+ PR fortran/49268
+ * gfortran.dg/PR49268.f90: New test.
+
+2011-06-02 Asher Langton <langton2@llnl.gov>
+
+ PR fortran/37039
+ * gfortran.dg/PR37039.f90: New test.
+
+2011-06-02 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/48539
+ * objc.dg/method-5.m: Updated.
+ * objc.dg/method-19.m: Updated.
+ * objc.dg/method-lookup-1.m: New.
+ * obj-c++.dg/method-6.mm: Updated.
+ * obj-c++.dg/method-7.mm: Updated.
+ * obj-c++.dg/method-lookup-1.mm: New.
+
+2011-06-02 DJ Delorie <dj@redhat.com>
+
+ * lib/timeout.exp (timeout): Add board_info support.
+
+2011-06-02 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse2-init-v2di-2: Update scan-assembler-times string.
+
+2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/49265
+ * gfortran.dg/module_procedure_double_colon_1.f90: New test.
+ * gfortran.dg/module_procedure_double_colon_2.f90: New test.
+
+2011-06-02 Eric Botcazou <ebotcazou@adacore.com>
+ Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/48840
+ * gcc.target/sparc/ultrasp13.c: New test.
+
+2011-06-01 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49238
+ * gcc.c-torture/compile/pr49238.c: New.
+
+2011-06-01 Sofiane Naci <sofiane.naci@arm.com>
+
+ * gcc.target/arm/g2.c: Skip test in -mthumb.
+ Skip test unless cpu is xscale.
+ * gcc.target/arm/scd42-2.c: Likewise.
+ * gcc.target/arm/mmx-1.c: Skip test in -mthumb.
+
+2011-06-01 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/decltype28.C: New.
+ * g++.dg/cpp0x/decltype29.C: New.
+
+2011-06-01 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/45074
+ * gcc.target/mips/pr45074.c: New test.
+
+2011-06-01 Eric Botcazou <ebotcazou@adacore.com>
+ Hans-Peter Nilsson <hp@axis.com>
+
+ PR rtl-optimization/48830
+ * gcc.target/sparc/ultrasp12.c: New test.
+
+2011-06-01 David Li <davidxl@google.com>
+
+ * gcc.dg/profile-dir-1.c: Change pass name.
+ * gcc.dg/profile-dir-2.c: Ditto.
+ * gcc.dg/tree-ssa/dump-1.c: Ditto.
+ * gcc.dg/tree-ssa/loop-25.c: Ditto.
+ * gcc.dg/tree-prof/stringop-1.c: Ditto.
+ * gcc.dg/tree-prof/update-loopch.c: Ditto.
+ * gcc.dg/tree-prof/stringop-2.c: Ditto.
+ * gcc.dg/tree-prof/ic-misattribution-1.c: Ditto.
+ * gcc.dg/tree-prof/ic-misattribution-1a.c: Ditto.
+ * gcc.dg/tree-prof/indir-call-prof.c: Ditto.
+ * gcc.dg/tree-prof/val-prof-1.c: Ditto.
+ * gcc.dg/tree-prof/val-prof-2.c: Ditto.
+ * gcc.dg/tree-prof/val-prof-3.c: Ditto.
+ * gcc.dg/tree-prof/val-prof-4.c: Ditto.
+ * gcc.dg/tree-prof/val-prof-5.c: Ditto.
+ * gcc.dg/tree-prof/val-prof-7.c: Ditto.
+ * gcc.dg/profile-dir-3.c: Ditto.
+ * g++.dg/tree-prof/indir-call-prof.C: Ditto.
+
+2011-06-01 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/attributes/method-nonnull-1.m: New test.
+ * obj-c++.dg/attributes/method-nonnull-1.mm: New test.
+
+2011-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_atomic_1.f90: New.
+ * gfortran.dg/coarray/atomic_1.f90: New.
+
+2011-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/guality/bswaptest.c: New test.
+ * gcc.dg/guality/clztest.c: New test.
+ * gcc.dg/guality/ctztest.c: New test.
+ * gcc.dg/guality/rotatetest.c: New test.
+
+ PR target/48688
+ * gcc.target/i386/pr48688.c: New test.
+
+2010-11-15 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/48010
+ * g++.dg/lookup/name-clash9.C: New.
+
+2011-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/dummy_1.f90: New.
+
+2011-05-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/save_1.f90: New.
+ * gfortran.dg/coarray_4.f90: Update dg-error.
+
+2011-05-31 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/rv-template1.C: New.
+
+2011-05-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49235
+ * gcc.dg/pr49235.c: New test.
+
+2011-05-31 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49093
+ * gcc.dg/vect/pr49093.c: New test.
+
+2011-05-31 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/49047
+ * g++.dg/debug/dwarf2/cdtor-1.C: New test.
+
+2011-05-31 Ira Rosen <ira.rosen@linaro.org>
+
+ PR testsuite/49239
+ * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: Initialize the
+ output array.
+
+2011-05-30 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/49186
+ * gcc.c-torture/execute/pr49186.c: New.
+
+2011-05-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49168
+ * gcc.target/i386/pr49168-1.c: New.
+
+2011-05-30 Jakub Jelinek <jakub@redhat.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/guality/drap.c: New test.
+
+2011-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49210
+ * gnat.dg/boolean_subtype2.ad[sb]: New testcase.
+ * gnat.dg/boolean_subtype2_pkg.ads: New helper.
+
+2011-05-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49223
+ * g++.dg/gomp/pr49223-1.C: New test.
+ * g++.dg/gomp/pr49223-2.C: New test.
+
+2011-05-30 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49218
+ * gcc.c-torture/execute/pr49218.c: New testcase.
+
+2011-05-30 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49199
+ * gcc.dg/vect/no-scevccp-pr49199.c: New test.
+ * gcc.dg/vect/vect.exp: Run no-scevccp-pr* tests with
+ -fno-tree-scev-cprop.
+
+2011-05-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47601
+ * gfortran.dg/extends_13.f03: New.
+
+2011-05-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/49095
+ * gcc.target/i386/pr49095.c: New test.
+
+2011-05-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_24.f90: New.
+
+2011-05-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_23.f90: New.
+
+2011-05-29 Richard Sandiford <rdsandiford@googlemail.com>
+
+ From Ryan Mansfield
+ * gcc.dg/pr48826.c: New test.
+
+2011-05-29 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49217
+ * gcc.dg/torture/pr49217.c: New testcase.
+
+2011-05-29 Ira Rosen <ira.rosen@linaro.org>
+
+ PR testsuite/49222
+ * gcc.dg/vect/pr49038.c: Use MAP_ANON if MAP_ANONYMOUS is not defined.
+
+2011-05-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/boolean_subtype.adb: Rename to...
+ * gnat.dg/boolean_subtype1.adb: ...this.
+
+2011-05-28 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/lambda/lambda-syntax1.C: New.
+
+2011-05-27 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/enum18.C: Adjust.
+
+ * g++.dg/cpp0x/lambda/lambda-template2.C: New.
+
+2011-05-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_22.f90: New.
+
+2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ PR tree-optimization/46728
+ * gcc.target/powerpc/pr46728-1.c: New.
+ * gcc.target/powerpc/pr46728-2.c: New.
+ * gcc.target/powerpc/pr46728-3.c: New.
+ * gcc.target/powerpc/pr46728-4.c: New.
+ * gcc.target/powerpc/pr46728-5.c: New.
+ * gcc.dg/pr46728-6.c: New.
+ * gcc.target/powerpc/pr46728-7.c: New.
+ * gcc.target/powerpc/pr46728-8.c: New.
+ * gcc.dg/pr46728-9.c: New.
+ * gcc.target/powerpc/pr46728-10.c: New.
+ * gcc.target/powerpc/pr46728-11.c: New.
+ * gcc.dg/pr46728-12.c: New.
+ * gcc.target/powerpc/pr46728-13.c: New.
+ * gcc.target/powerpc/pr46728-14.c: New.
+ * gcc.target/powerpc/pr46728-15.c: New.
+ * gcc.target/powerpc/pr46728-16.c: New.
+
+2011-05-27 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle47.C: New.
+
+ PR c++/49176
+ * g++.dg/template/const5.C: New.
+
+ * g++.dg/cpp0x/enum18.C: New.
+
+ * g++.dg/cpp0x/lambda/lambda-nested4.C: New.
+
+ * g++.dg/cpp0x/error6.C: New.
+
+ * g++.dg/cpp0x/error5.C: New.
+
+2011-05-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49165
+ * g++.dg/eh/cond6.C: New test.
+
+2011-05-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48820
+ * gfortran.dg/rank_3.f90: New.
+ * gfortran.dg/rank_4.f90: New.
+
+2011-05-27 Janis Johnson <janisjo@codesourcery.com>
+
+ * g++.dg/tree-ssa-pr43411.C: Rename function to be inlined and
+ replace dump search.
+
+2011-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/bit_packed_array5.ads: Move dg directive to...
+ * gnat.dg/bit_packed_array5.adb: ...here.
+
+2011-05-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/42056
+ * g++.dg/cpp0x/auto25.C: New.
+
+2011-05-27 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c-torture/execute/920711-1.x: Add -fwrapv.
+
+2011-05-27 Richard Guenther <rguenther@suse.de>
+
+ * gcc.c-torture/execute/920612-1.x: Add -fwrapv.
+
+2011-05-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/49189
+ * gnat.dg/bit_packed_array5.ad[sb]: New testcase.
+
+2011-05-26 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/friend1.C: New.
+ * g++.dg/cpp0x/friend2.C: New.
+
+ * g++.dg/cpp0x/auto7.C: Update.
+ * g++.dg/template/crash50.C: Adjust.
+ * g++.dg/template/static9.C: Adjust.
+ * g++.old-deja/g++.ext/memconst.C: Adjust.
+
+2011-05-26 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.dg/march.c: Ignore a note for some targets.
+
+2011-05-26 Janis Johnson <janis187@us.ibm.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/2288
+ PR c++/18770
+ * g++.old-deja/g++.jason/cond.C: Remove xfails.
+ * g++.dg/parse/pr18770.C: New test.
+ * g++.dg/cpp0x/range-for5.C: Add dg-error marker.
+
+2011-05-26 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48955
+ * gfortran.dg/dependency_40.f90 : New test.
+
+2011-05-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/registering_1.f90: New.
+
+2011-05-26 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/variadic111.C: New.
+ * g++.dg/cpp0x/variadic41.C: Adjust.
+
+2011-05-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48702
+ * gcc.dg/torture/pr48702.c: New testcase.
+
+2011-05-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR gcov-profile/48845
+ * g++.dg/tree-prof/tree-prof.exp: Check for -fprofile-generate
+ support.
+ * gcc.dg/matrix/matrix.exp: Likewise.
+ * gcc.dg/tree-prof/tree-prof.exp: Likewise.
+ * lib/target-supports-dg.exp (dg-require-profiling): Don't pass
+ line number to check_profiling_available.
+ * lib/target-supports.exp (check_profiling_available): Account for
+ this.
+ Require TLS runtime support with -fprofile-generate.
+ * lib/profopt.exp (profopt-execute): Add TLS options for
+ -fprofile-generate.
+ * gcc.dg/pr47793.c: Add dg-require-profiling "-fprofile-generate".
+
+2011-05-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49165
+ * g++.dg/eh/cond5.C: New test.
+
+ PR tree-optimization/49161
+ * gcc.c-torture/execute/pr49161.c: New test.
+
+2011-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/neon-vorn-vbic.c: New test.
+
+2011-05-26 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49038
+ * gcc.dg/vect/vect-strided-u8-i8-gap4-unknown.c: New test.
+ * gcc.dg/vect/pr49038.c: New test.
+
+2011-05-26 Fabien Chêne <fabien@gcc.gnu.org>
+
+ * g++.dg/init/pr25811-3.C: New.
+ * g++.dg/init/pr25811-4.C: New.
+
+2011-05-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/enum17.C: New.
+ * g++.old-deja/g++.jason/rfg10.C: Adjust.
+
+ * g++.dg/cpp0x/auto24.C: New.
+
+ * g++.dg/cpp0x/error4.C: New.
+
+ * g++.dg/cpp0x/rv-restrict.C: New.
+
+ * g++.dg/cpp0x/enum15.C: New.
+ * g++.dg/cpp0x/constexpr-switch2.C: New.
+
+ * g++.dg/cpp0x/variadic110.C: New.
+
+ * g++.dg/cpp0x/auto9.C: Add typedef test.
+
+ * g++.dg/cpp0x/auto23.C: New.
+ * g++.dg/cpp0x/auto9.C: Adjust.
+
+ * g++.dg/cpp0x/defaulted29.C: New.
+
+ * g++.dg/cpp0x/initlist51.C: New.
+
+2011-05-25 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/fp16-compile-none-1.c: Update expected error.
+ * g++.dg/abi/packed1.C: Suppress warning.
+ * g++.dg/warn/Wunused-parm-3.C: Likewise.
+ * g++.dg/template/stdarg1.C: Likewise.
+ * g++.dg/other/packed1.C: Remove arm from xfail list.
+
+2011-05-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/enum16.C: New.
+ * g++.dg/parse/error15.C: Adjust.
+
+ * g++.dg/cpp0x/initlist50.C: New.
+
+ * g++.dg/cpp0x/lambda/lambda-conv5.C: New.
+
+ * g++.dg/cpp0x/variadic109.C: New.
+
+2011-05-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pause-1.c: New.
+
+2011-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/stack-usage-1.c: Adjust comment.
+ * gcc.dg/stack-usage-2.c: New test.
+
+2011-05-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49136
+ * g++.dg/cpp0x/constexpr-bitfield2.C: New test.
+ * g++.dg/cpp0x/constexpr-bitfield3.C: New test.
+
+2011-05-24 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/48757
+ * gfortran.dg/pr48757.f: New test case.
+
+2011-05-24 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/access01.C: New.
+
+2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR libobjc/48177
+ * objc.dg/pr48177.m: New testcase.
+
+2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/48187
+ * objc.dg/pr48187.m: New testcase.
+ * obj-c++.dg/pr48187.mm: New testcase.
+ * objc.dg/ivar-extra-semicolon.m: New testcase.
+
+2011-05-24 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/access21.C: New.
+ * g++.dg/template/access22.C: New.
+
+2011-05-24 Michael Matz <matz@gcc.gnu.org>
+
+ PR rtl-optimization/48633
+ * g++.dg/pr48633.C: New test.
+
+2011-05-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/49133
+ * g++.dg/other/pr49133.C: New test.
+
+2011-05-24 Uros Bizjak <ubizjak@gmail.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/torture/tls/run-gd.c: New test.
+ * gcc.dg/torture/tls/run-ie.c: New test.
+ * gcc.dg/torture/tls/run-ld.c: New test.
+ * gcc.dg/torture/tls/run-le.c: New test.
+ * lib/target-supports.exp (check_effective_target_tls_runtime):
+ Build testcase with TLS options.
+
+2011-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/vect/pr48172.c: Remove dg-do run.
+
+2011-05-24 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/49121
+ * gcc.dg/tree-ssa/ivopt_infer_2.c: Adapt test.
+
+2011-05-23 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/defaulted28.C: New.
+
+ * g++.dg/cpp0x/sfinae25.C: New.
+
+ * g++.dg/cpp0x/rv-cast2.C: New.
+
+ * g++.dg/cpp0x/enum14.C: New.
+
+2011-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR lto/49123
+ * gcc.c-torture/execute/pr49123.c: New test.
+
+ PR debug/49032
+ * gcc.dg/debug/pr49032.c: New test.
+
+ PR c/49120
+ * gcc.dg/pr49120.c: New test.
+
+2011-05-23 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47315
+ * gcc.target/i386/pr47315.c: New test.
+
+2011-05-23 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/lambda/lambda-eh2.C: New.
+
+ * g++.dg/cpp0x/sfinae24.C: New.
+
+ * g++.dg/cpp0x/error3.C: New.
+
+ * g++.dg/cpp0x/defaulted27.C: New.
+
+ * g++.dg/cpp0x/decltype27.C: New.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/forwprop-11.c: Adjust and un-XFAIL.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40874
+ * g++.dg/tree-ssa/pr40874.C: New testcase.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49115
+ * g++.dg/torture/pr49115.C: New testcase.
+
+2011-05-23 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/15419
+ * gcc.dg/memcpy-3.c: New testcase.
+
+2011-05-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48973
+ * gcc.c-torture/execute/pr48973-1.c: New test.
+ * gcc.c-torture/execute/pr48973-2.c: New test.
+
+2011-05-23 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/18016
+ * g++.dg/warn/pr18016.C: New.
+
+2011-05-23 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * gcc.target/arm/ivopts-6.c: New test.
+
+2011-05-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/49029
+ * gcc.c-torture/compile/pr49029.c: New test.
+
+2011-05-22 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae23.C: New.
+ * g++.dg/cpp0x/sfinae8.C: Correct.
+
+2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/function_optimize_8.f90: New test case.
+
+2011-05-22 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/49087
+ * gcc.dg/vect/O3-pr49087.c: New test.
+
+2011-05-21 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/debug/const5.C: New.
+
+2011-05-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-static7.C: Extend.
+
+ * g++.dg/cpp0x/constexpr-static7.C: New.
+
+ * g++.dg/cpp0x/enum12.C: New.
+ * g++.dg/cpp0x/enum13.C: New.
+
+2011-05-21 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48699
+ * gfortran.dg/select_type_23.f03: New.
+
+2011-05-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/defaulted26.C: New.
+
+ * g++.dg/cpp0x/noexcept02.C: Fix.
+ * g++.dg/cpp0x/noexcept03.C: Fix.
+ * g++.dg/cpp0x/noexcept08.C: Fix.
+ * g++.dg/cpp0x/noexcept10.C: New.
+
+2011-05-20 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48706
+ * gfortran.dg/extends_12.f03: New.
+
+2011-05-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/koenig9.C: New.
+ * g++.dg/opt/pr47615.C: Fix.
+ * g++.dg/overload/defarg1.C: Fix.
+ * g++.dg/tc1/dr213.C: Remove xfail.
+ * g++.dg/torture/pr34850.C: Fix.
+ * g++.dg/torture/pr39362.C: Fix.
+ * g++.old-deja/g++.brendan/crash56.C: Fix.
+ * g++.old-deja/g++.pt/memtemp47.C: Fix.
+
+2011-05-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/49079
+ * gcc.dg/torture/pr49079.c: New testcase.
+
+2011-05-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49073
+ * gcc.c-torture/execute/pr49073.c: New test.
+
+2011-06-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_21.f90: New.
+
+2011-05-19 Joseph Myers <joseph@codesourcery.com>
+
+ * lib/prune.exe (prune_gcc_output): Expect "error:" in collect2
+ output.
+
+2011-05-19 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/49063
+ * gcc.dg/builtin-object-size-11.c: Use -std=gnu89.
+
+2011-05-19 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48985
+ * gcc.dg/builtin-object-size-11.c: New testcase.
+
+2011-05-19 Tom de Vries <tom@codesourcery.com>
+
+ PR target/45098
+ * gcc.target/arm/ivopts.c: New test.
+ * gcc.target/arm/ivopts-2.c: New test.
+
+2011-05-19 Tom de Vries <tom@codesourcery.com>
+
+ * lib/lib/scanasm.exp (object-size): Fix target selector handling.
+
+2011-05-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.c-torture/execute/960321-1.x: Remove.
+
+2011-05-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48700
+ * gfortran.dg/move_alloc_4.f90: New.
+
+2011-05-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/49002
+ * gcc.target/i386/pr49002-1.c: New test.
+ * gcc.target/i386/pr49002-2.c: Likewise.
+
+2011-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49039
+ * gcc.c-torture/execute/pr49039.c: New test.
+ * gcc.dg/tree-ssa/pr49039.c: New test.
+ * g++.dg/torture/pr49039.C: New test.
+
+2011-05-18 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-incomplete3.C: New.
+ * g++.dg/cpp0x/constexpr-incomplete2.C: Adjust.
+ * g++.dg/cpp0x/constexpr-memfn1.C: Adjust.
+
+2011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
+
+ * gcc.target/bfin/mcpu-bf592.c: New test.
+
+2011-05-18 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/41881
+ * gcc.dg/vect/O3-pr41881.c: New test.
+ * gcc.dg/vect/O3-slp-reduc-10.c: New test.
+
+2011-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/49000
+ * gcc.dg/pr49000.c: New test.
+
+2011-05-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/invalid1.adb: New test.
+
+2011-05-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx-vzeroupper-16.c: Update scan-assembler-times
+ scan pattern.
+ * gcc.target/i386/avx-vzeroupper-17.c: Ditto.
+ * gcc.target/i386/avx-vzeroupper-18.c: Ditto.
+
+2011-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/48994
+ * g++.dg/cpp0x/range-for18.C: New.
+
+2011-05-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/image_index_2.f90: New.
+
+2011-05-13 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * g++.dg/cpp0x/override1.C: Move from inherit/virtual9.C.
+ * g++.dg/cpp0x/override2.C: New.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.de/coarray_20.f90: New.
+
+2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/22572
+ * function_optimize_7.f90: New test case.
+
+2011-05-13 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/decltype26.C: New.
+ * g++.dg/cpp0x/enum11.C: New.
+
+2011-05-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48972
+ PR fortran/48991
+ * gfortran.dg/assign_8.f90: Update dg-error.
+
+2011-05-13 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48972
+ * gfortran.dg/io_constraints_8.f90: New.
+ * gfortran.dg/io_constraints_9.f90: New.
+
+2011-05-13 Martin Thuresson <martint@google.com>
+
+ PR gcov-profile/47793
+ * gcc.dg/pr47793.c: New.
+
+2011-05-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48975
+ * gcc.dg/pr48975.c: New test.
+
+2011-05-12 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48972
+ * gfortran.dg/iso_c_binding_compiler_3.f90: New.
+
+2011-05-12 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-incomplete2.C: New.
+
+2011-05-12 Geert Bosch <bosch@adacore.com>
+
+ * gnat.dg/view_conversion1.adb: New test.
+
+2011-05-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48172
+ * gcc.dg/vect/pr48172.c: New testcase.
+
+2011-05-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48967
+ * g++.dg/opt/pr48967.C: New test.
+
+2011-05-11 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-friend.C: New.
+ * g++.dg/cpp0x/constexpr-incomplete1.C: New.
+
+ * g++.dg/cpp0x/sfinae22.C: New.
+
+2011-05-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48889
+ * gfortran.dg/generic_24.f90: New.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/15256
+ * gcc.dg/tree-ssa/forwprop-14.c: New testcase.
+
+2011-05-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48159
+ * gcc.dg/pr48159-1.c: New test.
+ * gcc.dg/pr48159-2.c: New test.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48953
+ * gcc.dg/torture/pr48953.c: New testcase.
+
+2011-05-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/18041
+ * gcc.dg/tree-ssa/forwprop-13.c: New testcase.
+
+2011-05-11 Alan Modra <amodra@gmail.com>
+
+ PR target/47755
+ * gcc.target/powerpc/pr47755-2.c: Require vsx_hw.
+
+2011-05-10 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/defaulted25.C: New.
+ * g++.dg/template/crash7.C: Adjust.
+
+ * g++.dg/cpp0x/variadic108.C: New.
+
+2011-05-10 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * g++.dg/inherit/virtual9.C: Extend.
+
+2011-05-10 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48857
+ * gcc.target/powerpc/pr48857.c: New file, make sure V2DI arguments
+ are passed and returned in vector registers.
+
+2011-05-10 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-fre-2.c: Disable forwprop.
+ * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
+ * gcc.dg/tree-ssa/scev-cast.c: Adjust. Note what transformation
+ applies.
+
+2011-05-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48611
+ PR tree-optimization/48794
+ * gfortran.dg/gomp/pr48611.f90: New test.
+ * gfortran.dg/gomp/pr48794.f90: New test.
+
+ PR debug/48928
+ * gcc.dg/dfp/pr48928.c: New test.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48522
+ * g++.dg/cpp0x/pr48522.C: New.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48735
+ * g++.dg/cpp0x/sfinae21.C: New.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/template/sfinae28.C: Rename to...
+ * g++.dg/cpp0x/sfinae19.C: ... this.
+ * g++.dg/template/sfinae29.C: Rename to...
+ * g++.dg/cpp0x/sfinae20.C: ... this.
+
+2011-05-09 Jeff Law <law@redhat.com>
+
+ * lib/gcc-gdb-test.exp (gdb-test): Reorder matchers to give more
+ consistent results.
+
+2011-05-09 Fabien Chêne <fabien@gcc.gnu.org>
+
+ PR c++/20039
+ * g++.dg/init/pr20039.C: New.
+
+2011-05-09 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48737
+ PR c++/48744
+ * g++.dg/template/sfinae28.C: New.
+ * g++.dg/template/sfinae29.C: Likewise.
+
+2011-05-09 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/nontype23.C: New.
+
+2011-05-07 Fabien Chêne <fabien@gcc.gnu.org>
+ PR c++/48859
+ * g++.dg/init/pr48859.C: New.
+
+2011-05-09 Jason Merrill <jason@redhat.com>
+
+ * gcc.dg/gcc.dg/uninit-D.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-D-O0.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-E.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-E-O0.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-F.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-F-O0.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-G.c: Move to c-c++-common.
+ * gcc.dg/gcc.dg/uninit-G-O0.c: Move to c-c++-common.
+
+2011-05-08 Ville Voutilainen <ville.voutilainen@gmail.com>
+
+ * g++.dg/inherit/virtual9.C: New.
+
+2011-05-09 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48574
+ * g++.dg/template/dependent-expr8.C: New test case.
+
+2011-05-07 Zdenek Dvorak <ook@ucw.cz>
+
+ PR tree-optimization/48837
+ * gcc.dg/pr48837.c: New testcase.
+
+2011-05-06 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-condition2.C: New.
+
+ * g++.dg/cpp0x/constexpr-missing.C: New.
+
+2011-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/this_image_2.f90: New.
+
+2011-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48858
+ PR fortran/48820
+ * gfortran.dg/bind_c_usage_22.f90: New.
+ * gfortran.dg/bind_c_usage_23.f90: New.
+ * gfortran.dg/bind_c_usage_24.f90: New.
+ * gfortran.dg/bind_c_usage_24_c.c: New.
+
+2011-05-06 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48838
+ * g++.dg/template/member9.C: New test case.
+
+2011-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr29.ad[sb]: New test.
+ * gnat.dg/discr30.adb: Likewise.
+
+2011-05-05 Julian Brown <julian@codesourcery.com>
+
+ * gcc.target/arm/neon-vset_lanes8.c: New test.
+
+2011-05-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/init/new32.C: New.
+
+2011-05-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortran.dg/fmt_g0_6.f08: Use dg-options "-ffloat-store".
+ Fix typo.
+
+2011-05-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48381
+ * gcc.c-torture/compile/pr48381.c: New test.
+
+2011-05-05 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/opt-1.c: Add --param min-insn-to-prefetch -ratio=0
+ to dg-options.
+ * gcc.target/i386/opt-1.c: Ditto.
+
+2011-05-04 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/conversion/base1.C: New.
+
+2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48787
+ * gfortran.dg/round_3.f08: Add more checks to test case.
+
+2011-05-04 Hans-Peter Nilsson <hp@axis.com>
+
+ * gfortran.dg/pr47878.f90, gfortran.dg/endfile_3.f90,
+ gfortran.dg/endfile_4.f90, gfortran.dg/ftell_3.f90,
+ gfortran.dg/fmt_cache_1.f, gfortran.dg/namelist_66.f90:
+ Gate test on effective_target fd_truncate.
+
+2011-05-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/recip-vec-divf.c: Decrease array sizes.
+ * gcc.target/i386/recip-vec-sqrtf.c: Ditto.
+ * gcc.target/i386/recip-vec-divf-avx.c: Increase array sizes.
+ * gcc.target/i386/recip-vec-sqrtf-avx.c: Ditto. Update scan times.
+ * gcc.target/i386/ssefn-1.c: Add -mno-sse2 to dg-options.
+ * gcc.target/i386/pr38824.c: Ditto.
+ * gcc.target/i386/vecinit-1.c: Add -mno-sse4 to dg-options.
+ * gcc.target/i386/vecinit-2.c: Ditto.
+ * gcc.target/i386/sse-19.c: Add -mno-ssse3 to dg-options.
+ * gcc.target/i386/parity-1.c: Add -mno-popcnt to dg-options.
+ * gcc.target/i386/parity-2.c: Ditto.
+ * gcc.target/i386/incoming-8.c: Add -mno-avx to dg-options.
+
+2011-05-04 Stuart Henderson <shenders@gcc.gnu.org>
+
+ * gcc.target/bfin/mcpu-bf512.c: Update to latest silicon revision and
+ remove duplication.
+ * gcc.target/bfin/mcpu-bf514.c: Likewise.
+ * gcc.target/bfin/mcpu-bf516.c: Likewise.
+ * gcc.target/bfin/mcpu-bf518.c: Likewise.
+
+2011-05-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/this_image_1.f90: Remove dg-options.
+
+2011-05-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/this_image_1.f90: New.
+
+2011-05-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray/caf.dg: New.
+ * gfortran.dg/coarray/image_index_1.f90: New, copied
+ from ../coarray_16.f90.
+
+2011-05-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/28501
+ * g++.dg/ext/complex9.C: New.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ From Mike Frysinger
+ * gcc.target/bfin/mcpu-bf542.c: Check SILICON_REVISION is 0x0004.
+ * gcc.target/bfin/mcpu-bf544.c, gcc.target/bfin/mcpu-bf547.c,
+ gcc.target/bfin/mcpu-bf548.c, gcc.target/bfin/mcpu-bf549.c: Likewise.
+
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+
+ * gcc.target/bfin/builtins: Created.
+ * gcc.target/bfin/hisilh-O0.c: Deleted.
+ * gcc.target/bfin/hisilh.c: Moved to...
+ * gcc.target/bfin/builtins/hisilh.c: ...here.
+ * gcc.target/bfin/builtins/shl_fr1x16-6.c: New test.
+ * gcc.target/bfin/builtins/shr_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-9.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-4.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-8.c: Ditto.
+ * gcc.target/bfin/builtins/lshl_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/abs_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-1.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr1x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/norm_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/bfin-builtins.exp: Ditto.
+ * gcc.target/bfin/builtins/norm16-2.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-5.c: Ditto.
+ * gcc.target/bfin/builtins/norm_fr1x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x32x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-6.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-9.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/dspsubaddsat_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/min_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/max_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-10.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisihh_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/diff_hl_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-7.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisilh_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/lshl_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/cpmlx_mul_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr1x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/abs_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr2x16-4.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/max_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/min_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/max_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/add_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-6.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-7.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-5.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-9.c: Ditto.
+ * gcc.target/bfin/builtins/abs_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/lshl_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/abs_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/cpmlx_msu_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-2.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr1x16-4.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-3.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-6.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-7.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/min_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/add_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-11.c: Ditto.
+ * gcc.target/bfin/builtins/sub_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-4.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisihh_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/diff_lh_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-8.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr2x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisilh_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/lshl_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/cpmlx_mac_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/min_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/dspaddsubsat_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/max_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/min_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-3.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-4.c: Ditto.
+ * gcc.target/bfin/builtins/sub_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/add_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-7.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-8.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-6.c: Ditto.
+ * gcc.target/bfin/builtins/circptr.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/abs_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/multr_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/sum_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/cpmlx_msu_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-3.c: Ditto.
+ * gcc.target/bfin/builtins/norm_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-4.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-7.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-8.c: Ditto.
+ * gcc.target/bfin/builtins/add_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/add_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-5.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-12.c: Ditto.
+ * gcc.target/bfin/builtins/sub_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/diff_lh_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisihl_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr2x16-4.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisill_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/multr_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/cpmlx_mac_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x32x32NS-1.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/min_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/dspaddsubsat_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/sub_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-4.c: Ditto.
+ * gcc.target/bfin/builtins/sub_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-5.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-8.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-3.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x16-4.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr1x32-7.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/multr_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/sum_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/norm_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x32x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-4.c: Ditto.
+ * gcc.target/bfin/builtins/norm16-5.c: Ditto.
+ * gcc.target/bfin/builtins/norm32-8.c: Ditto.
+ * gcc.target/bfin/builtins/dspsubaddsat_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/max_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/add_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr2x16-6.c: Ditto.
+ * gcc.target/bfin/builtins/diff_hl_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shr_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisihl_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/cpmlx_mul_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/multr_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/mulhisill_fr2x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/negate_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/abs_fr2x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shrl_fr2x16-3.c: Ditto.
+ * gcc.target/bfin/builtins/mult_fr1x32x32NS-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-1.c: Ditto.
+ * gcc.target/bfin/builtins/max_fr1x16-1.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x16-2.c: Ditto.
+ * gcc.target/bfin/builtins/sub_fr1x32-2.c: Ditto.
+ * gcc.target/bfin/builtins/shl_fr1x32-5.c: Ditto.
+
+2011-05-03 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.target/arm/cold-lc.c: New test.
+
+2011-05-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48774
+ * gcc.dg/pr48774.c: New test.
+
+2011-05-03 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/large-size-array-5.c: New testcase.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.dg/vect/vect-strided-u16-i3.c: New test.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * lib/target-supports.exp (check_effective_target_vect_strided):
+ Replace with...
+ (check_effective_target_vect_strided2)
+ (check_effective_target_vect_strided3)
+ (check_effective_target_vect_strided4)
+ (check_effective_target_vect_strided8): ...these new functions.
+
+ * gcc.dg/vect/O3-pr39675-2.c: Update accordingly.
+ * gcc.dg/vect/costmodel/ppc/costmodel-slp-12.c: Likewise.
+ * gcc.dg/vect/fast-math-slp-27.c: Likewise.
+ * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: Likewise.
+ * gcc.dg/vect/pr37539.c: Likewise.
+ * gcc.dg/vect/slp-11a.c: Likewise.
+ * gcc.dg/vect/slp-11b.c: Likewise.
+ * gcc.dg/vect/slp-11c.c: Likewise.
+ * gcc.dg/vect/slp-12a.c: Likewise.
+ * gcc.dg/vect/slp-12b.c: Likewise.
+ * gcc.dg/vect/slp-18.c: Likewise.
+ * gcc.dg/vect/slp-19a.c: Likewise.
+ * gcc.dg/vect/slp-19b.c: Likewise.
+ * gcc.dg/vect/slp-21.c: Likewise.
+ * gcc.dg/vect/slp-23.c: Likewise.
+ * gcc.dg/vect/vect-cselim-1.c: Likewise.
+
+ * gcc.dg/vect/fast-math-vect-complex-3.c: Use vect_stridedN
+ instead of vect_interleave && vect_extract_even_odd.
+ * gcc.dg/vect/no-scevccp-outer-10a.c: Likewise.
+ * gcc.dg/vect/no-scevccp-outer-10b.c: Likewise.
+ * gcc.dg/vect/no-scevccp-outer-20.c: Likewise.
+ * gcc.dg/vect/vect-1.c: Likewise.
+ * gcc.dg/vect/vect-10.c: Likewise.
+ * gcc.dg/vect/vect-98.c: Likewise.
+ * gcc.dg/vect/vect-107.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-mult.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u16-i2.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u16-i4.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u16-mult.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u32-mult.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u8-i2-gap.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap2.c: Likewise.
+ * gcc.dg/vect/vect-strided-a-u8-i8-gap7.c: Likewise.
+ * gcc.dg/vect/vect-strided-float.c: Likewise.
+ * gcc.dg/vect/vect-strided-mult-char-ls.c: Likewise.
+ * gcc.dg/vect/vect-strided-mult.c: Likewise.
+ * gcc.dg/vect/vect-strided-same-dr.c: Likewise.
+ * gcc.dg/vect/vect-strided-u16-i2.c: Likewise.
+ * gcc.dg/vect/vect-strided-u16-i4.c: Likewise.
+ * gcc.dg/vect/vect-strided-u32-i4.c: Likewise.
+ * gcc.dg/vect/vect-strided-u32-i8.c: Likewise.
+ * gcc.dg/vect/vect-strided-u32-mult.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i2-gap.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i2.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i8-gap2.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i8-gap4.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i8-gap7.c: Likewise.
+ * gcc.dg/vect/vect-strided-u8-i8.c: Likewise.
+ * gcc.dg/vect/vect-vfa-03.c: Likewise.
+
+ * gcc.dg/vect/no-scevccp-outer-18.c: Add vect_stridedN to the
+ target condition.
+ * gcc.dg/vect/pr30843.c: Likewise.
+ * gcc.dg/vect/pr33866.c: Likewise.
+ * gcc.dg/vect/slp-reduc-6.c: Likewise.
+ * gcc.dg/vect/vect-strided-store-a-u8-i2.c: Likewise.
+ * gcc.dg/vect/vect-strided-store-u16-i4.c: Likewise.
+ * gcc.dg/vect/vect-strided-store-u32-i2.c: Likewise.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.dg/vect/slp-11.c: Split into...
+ * gcc.dg/vect/slp-11a.c, gcc.dg/vect/slp-11b.c,
+ gcc.dg/vect/slp-11c.c: ...these tests.
+ * gcc.dg/vect/slp-12a.c: Split 4-stride loop into...
+ * gcc.dg/vect/slp-12c.c: ...this new test.
+ * gcc.dg/vect/slp-19.c: Split into...
+ * gcc.dg/vect/slp-19a.c, gcc.dg/vect/slp-19b.c,
+ gcc.dg/vect/slp-19c.c: ...these new tests.
+
+2011-05-03 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * lib/target-supports.exp
+ (check_effective_target_vect_extract_even_odd_wide): Delete.
+ (check_effective_target_vect_strided_wide): Likewise.
+ * gcc.dg/vect/O3-pr39675-2.c: Use the non-wide versions instead.
+ * gcc.dg/vect/fast-math-pr35982.c: Likewise.
+ * gcc.dg/vect/fast-math-vect-complex-3.c: Likewise.
+ * gcc.dg/vect/pr37539.c: Likewise.
+ * gcc.dg/vect/slp-11.c: Likewise.
+ * gcc.dg/vect/slp-12a.c: Likewise.
+ * gcc.dg/vect/slp-12b.c: Likewise.
+ * gcc.dg/vect/slp-19.c: Likewise.
+ * gcc.dg/vect/slp-23.c: Likewise.
+ * gcc.dg/vect/vect-1.c: Likewise.
+ * gcc.dg/vect/vect-98.c: Likewise.
+ * gcc.dg/vect/vect-107.c: Likewise.
+ * gcc.dg/vect/vect-strided-float.c: Likewise.
+
+2011-05-02 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/init/new31.C: New.
+
+2011-05-02 Simon Martin <simartin@users.sourceforge.net>
+
+ PR c/35445
+ * gcc.dg/pr35445.c: New test.
+
+2011-05-02 Jason Merrill <jason@redhat.com>
+
+ * c-c++-common/vla-1.c: New.
+
+2011-05-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48822
+ * gcc.dg/torture/pr48822.c: New testcase.
+
+2011-05-02 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47969
+ * g++.dg/cpp0x/constexpr-47969.C: New.
+
+2011-05-02 Ira Rosen <ira.rosen@linaro.org>
+
+ PR testsuite/48498
+ * gcc.dg/vect/slp-3.c: Increase loop bound. Don't expect to fail
+ on vect_no_align targets.
+ * gcc.dg/vect/no-vfa-pr29145.c: Don't expect to fail on
+ vect_no_align targets.
+
+2011-05-01 Xinliang David Li <davidxl@google.com>
+
+ * gcc.dg/tree-ssa/integer-addr.c: New test.
+ * gcc.dg/tree-ssa/alias_bug.c: New test.
+
+2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48787
+ * gfortran.dg/round_3.f08: Add more checks.
+
+2011-04-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48821
+ * gfortran.dg/import9.f90: New, proper test.
+ * gfortran.dg/interface_37.f90: Remove bogus
+ test (bogus copy of interface_36.f90).
+
+2011-04-30 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48821
+ * gfortran.dg/interface_37.f90: New.
+
+2011-04-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48746
+ * gfortran.dg/realloc_on_assign_7.f03: Test bounds.
+
+2011-04-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48809
+ * gcc.c-torture/execute/pr48809.c: New test.
+
+2011-04-29 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-4.c: New test.
+
+2011-04-29 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48606
+ * g++.dg/init/ctor10.C: New.
+
+2011-04-29 Le-Chun Wu <lcwu@google.com>
+
+ * g++.dg/warn/Wconversion-null-2.C: Do not expect a NULL
+ warning in implicitly instantiated templates.
+
+2011-04-29 Le-Chun Wu <lcwu@google.com>
+
+ * g++.dg/warn/Wnull-conversion-1.C: New.
+ * g++.dg/warn/Wnull-conversion-2.C: New.
+
+2011-04-29 Diego Novillo <dnovillo@google.com>
+
+ * g++.old-deja/g++.other/null3.C: Expect warning about
+ converting boolean to a pointer.
+
+2011-04-29 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48462
+ * gfortran.dg/realloc_on_assign_7.f03: Modify to test for lhs
+ being a target.
+
+ PR fortran/48746
+ * gfortran.dg/realloc_on_assign_7.f03: Add subroutine pr48746.
+
+2011-04-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48810
+ * gfortran.dg/typebound_proc_22.f90: New.
+
+ PR fortran/48800
+ * gfortran.dg/interface_36.f90: New.
+
+2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48488
+ PR libgfortran/48602
+ PR libgfortran/48615
+ PR libgfortran/48684
+ PR libgfortran/48787
+ * gfortran.dg/fmt_g.f: Adjust test.
+ * gfortran.dg/fmt_g0_1.f08: Adjust test.
+ * gfortran.dg/round_3.f08: New test.
+ * gfortran.dg/namelist_print_1.f: Adjust test.
+ * gfortran.dg/char4_iunit_1.f03: Adjust test.
+ * gfortran.dg/f2003_io_5.f03: Adjust test.
+ * gfortran.dg/coarray_15.f90: Adjust test.
+ * gfortran.dg/namelist_65.f90: Adjust test.
+ * gfortran.dg/fmt_cache_1.f: Adjust test.
+ * gfortran.dg/char4_iunit_2.f03: Adjust test.
+ * gfortran.dg/real_const_3.f90: Adjust test.
+
+2011-04-29 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/inline-10.c: New testcase.
+ * gcc.dg/tree-ssa/inline-9.c: Disable partial inlining.
+
+2011-04-28 Xinliang David Li <davidxl@google.com>
+
+ * gcc.dg/tree-prof/prof-robust-1.c: New test.
+ * g++.dg/prof-robust-1.C: New test.
+
+2011-04-28 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/48765
+ * gcc.dg/vect/pr48765.c: New.
+
+2011-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/48775
+ * gcc.dg/pr48616.c: Also add -fno-common on alpha*-dec-osf*.
+
+2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48798
+ * g++.dg/inherit/pr48798.C: New.
+ * g++.old-deja/g++.other/base1.C: Adjust.
+
+2011-04-28 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48656
+ * g++.dg/template/inherit7.C: New test case.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40052
+ PR tree-optimization/15347
+ * gcc.dg/tree-ssa/vrp57.c: New testcase.
+ * gcc.dg/pr15347.c: Likewise.
+
+2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48530
+ * g++.dg/cpp0x/sfinae18.C: New.
+
+2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/48771
+ * g++.dg/ext/is_literal_type1.C: New.
+
+2011-04-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48112
+ PR fortran/48279
+ * gfortran.dg/interface_35.f90: New.
+ * gfortran.dg/erfc_scaled_1.f90: Don't compile with -pedantic.
+ * gfortran.dg/func_result_6.f90: Add dg-warning.
+ * gfortran.dg/bessel_1.f90: Ditto.
+ * gfortran.dg/hypot_1.f90: Ditto.
+ * gfortran.dg/proc_ptr_comp_20.f90: Ditto.
+ * gfortran.dg/proc_ptr_comp_21.f90: Ditto.
+ * gfortran.dg/interface_assignment_4.f90: Ditto.
+
+2011-04-27 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/ext/complex8.C: New.
+
+ * g++.dg/cpp0x/initlist49.C: New.
+ * g++.dg/init/new30.C: New.
+
+2011-04-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48788
+ * gfortran.dg/whole_file_34.f90: New.
+
+2011-04-27 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/inline-9.c: New testcase.
+
+2011-04-27 Jason Merrill <jason@redhat.com>
+
+ * g++.old-deja/g++.oliva/overload1.C: Adjust.
+
+ * g++.dg/parse/ambig6.C: New.
+
+2011-04-27 Nick Clifton <nickc@redhat.com>
+
+ * gcc.dg/20020312-2.c: Add definition for RX.
+
+ * lib/target-supports.exp (add_options_for_ieee): Use -mnofpu
+ option with RX targets.
+
+ * gcc.target/rx/pack.c: Replace C++ style // comments with C style
+ /* */ comments.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/pr23382.c: Remove.
+
+2011-04-27 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR target/48767
+ * gcc.c-torture/compile/pr48767.c: New test.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48772
+ * g++.dg/pr48772.C: New testcase.
+
+2011-04-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48742
+ * gcc.c-torture/compile/pr48742.c: New test.
+
+2011-04-26 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/lookup/koenig13.C: New.
+
+ * g++.dg/cpp0x/initlist48.C: New.
+
+2011-04-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae17.C: New.
+
+2011-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/48258
+ * gcc.target/powerpc/pr48258-1.c: New file.
+ * gcc.target/powerpc/pr48258-2.c: Ditto.
+
+2011-04-26 Xinliang David Li <davidxl@google.com>
+
+ * gcc.dg/uninit-suppress.c: New test.
+ * gcc.dg/uninit-suppress.c: New test.
+
+2011-04-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48768
+ * gcc.dg/pr48768.c: New test.
+
+ PR tree-optimization/48734
+ * gcc.c-torture/compile/pr48734.c: New test.
+
+ PR testsuite/48753
+ * gcc.dg/tree-prof/val-prof-2.c: Adjust for 32-bit HWI.
+
+2011-04-26 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48731
+ * gcc.dg/torture/pr48731.c: New testcase.
+
+2011-04-26 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/48753
+ * gcc.dg/tree-prof/val-prof-2.c: Adjust.
+
+2011-04-26 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48694
+ * gcc.dg/torture/pr48694-1.c: New testcase.
+ * gcc.dg/torture/pr48694-2.c: Likewise.
+
+2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/ext/underlying_type1.C: New.
+ * g++.dg/ext/underlying_type2.C: Likewise.
+ * g++.dg/ext/underlying_type3.C: Likewise.
+ * g++.dg/ext/underlying_type4.C: Likewise.
+ * g++.dg/ext/underlying_type5.C: Likewise.
+ * g++.dg/ext/underlying_type6.C: Likewise.
+ * g++.dg/ext/underlying_type7.C: Likewise.
+ * g++.dg/ext/underlying_type8.C: Likewise.
+ * g++.dg/ext/underlying_type9.C: Likewise.
+ * g++.dg/ext/underlying_type10.C: Likewise.
+
+2011-04-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/template-const2.C: New.
+
+2011-04-25 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/vrp56.c: new test.
+
+2011-04-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * go.test/go-test.exp (go-set-goarch): Accept mips*-*-*.
+
+2011-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR preprocessor/48740
+ * c-c++-common/raw-string-11.c: New test.
+
+2011-04-23 John David Anglin <dave.anglin@nrc-cnrc.ca>
+
+ * gcc.dg/pr48616.c (dg-options): Add -fno-common to options on
+ hppa*-*-hpux*.
+
+2011-04-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_19.f90: New.
+
+2011-04-23 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48685
+ * gcc.dg/pr48685.c: New test.
+
+2011-04-22 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/tree-ssa/pr38699.c: Fix testcase.
+
+2011-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48717
+ * gcc.c-torture/execute/pr48717.c: New test.
+
+2011-04-22 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48723
+ * gcc.target/i386/pr48723.c: New test.
+
+2011-04-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48716
+ * gcc.dg/gomp/pr48716.c: New test.
+ * g++.dg/gomp/pr48716.C: New test.
+
+2011-04-22 Alexander Monakov <amonakov@ispras.ru>
+
+ PR c/36750
+ * gcc.dg/missing-field-init-2.c: Update testcase.
+
+2011-04-22 Alan Modra <amodra@gmail.com>
+
+ * gcc.target/powerpc/ppc-pow.c: Allow for tail calls.
+
+2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48405
+ * gfortran.dg/function_optimize_6.f90: New test.
+
+2011-04-21 Easwaran Raman <eraman@google.com>
+
+ * gcc.dg/stack-layout-2.c: New test.
+
+2011-04-21 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48703
+ * g++.dg/lto/pr48207-2_0.C: New testcase.
+ * g++.dg/lto/pr48207-3_0.C: Likewise.
+
+2011-04-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/volatile5.adb: New test.
+ * gnat.dg/volatile5_pkg.ads: New helper.
+
+2011-04-21 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48708
+ * gcc.target/i386/pr48708.c: New test.
+
+2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.dg/vect/vect-119.c: New test.
+
+2011-04-21 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.dg/vect/vect.exp: Run the main tests twice, one with -flto
+ and once without.
+
+2011-04-21 Richard Earnshaw <rearnsha@arm.com>
+ Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/46329
+ * gcc.target/arm/pr46329.c: New test.
+
+2011-04-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_18.f90: New.
+
+2011-04-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/initlist47.C: New.
+
+ * g++.dg/init/dtor4.C: New.
+
+2011-04-20 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48678
+ * gcc.target/i386/sse2-pinsrw.c: New test.
+ * gcc.target/i386/avx-vpinsrw.c: Ditto.
+ * gcc.target/i386/sse4_1-insvqi.c: Ditto.
+ * gcc.target/i386/sse2-insvhi.c: Ditto.
+ * gcc.target/i386/sse4_1-insvsi.c: Ditto.
+ * gcc.target/i386/sse4_1-insvdi.c: Ditto.
+
+2011-04-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/const4.C: New.
+
+2011-04-20 Easwaran Raman <eraman@google.com>
+
+ * gcc.dg/stack-layout-1.c: New test.
+
+2011-04-20 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * gcc.dg/vect/vect-shift-3.c, gcc.dg/vect/vect-shift-4.c: New.
+ * lib/target-supports.exp (check_effective_target_vect_shift_char): New
+ function.
+
+2011-04-20 Kai Tietz <ktietz@redhat.com>
+
+ * gcc.dg/binop-xor1.c: New test.
+ * gcc.dg/binop-xor2.c: New test.
+ * gcc.dg/binop-xor3.c: New test.
+ * gcc.dg/binop-xor4.c: New test.
+ * gcc.dg/binop-xor5.c: New test.
+
+2011-04-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47892
+ * gcc.dg/vect/fast-math-ifcvt-1.c: New testcase.
+
+2011-04-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48695
+ * g++.dg/torture/pr48695.C: New testcase.
+
+2011-04-20 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/pr42629.c: Add dg-require-effective-target int32plus
+ * gcc.c-torture/execute/cmpsi-2.c: Ditto
+ * gcc.c-torture/execute/pr45262.c: Ditto
+ * gcc.dg/torture/pr43165.c: Ditto.
+ * gcc.dg/torture/pr47228.c: Ditto.
+ * gcc.dg/tree-ssa/pr45144.c: Ditto.
+ * gcc.dg/ipa/pr45644.c: Ditto.
+ * gcc.c-torture/compile/pr43191.c: Ditto. Remove dg-skip-if for
+ PDP11.
+
+2011-04-19 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/ext/complex7.C: New.
+
+ * g++.dg/ext/attrib41.C: New.
+
+2011-04-19 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ PR testsuite/48676
+ * gcc.dg/torture/pr37868.c: Skip on sh*-*-*.
+
+2011-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48678
+ * gcc.target/i386/pr48678.c: New test.
+
+2011-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * g++.dg/opt/devirt1.C: Bump to -O2, remove XFAIL.
+ * g++.dg/opt/devirt2.C: New test.
+ * g++.dg/ipa/devirt-g-1.C: Likewise.
+
+2011-04-19 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48588
+ * gfortran.dg/whole_file_33.f90: New.
+
+2011-04-19 Martin Jambor <mjambor@suse.cz>
+
+ * g++.dg/ipa/devirt-7.C: New test.
+
+2011-04-19 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48207
+ * g++.dg/lto/pr48207_0.C: New testcase.
+
+2011-04-18 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/init/void1.C: New.
+
+ * g++.dg/cpp0x/union4.C: New.
+
+2011-04-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48661
+ * g++.dg/torture/pr48661.C: New test.
+
+ PR c++/48632
+ * g++.dg/gomp/pr48632.C: New test.
+
+2011-04-18 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse2-maskmovdqu.c: New test.
+ * gcc.target/i386/avx-vmaskmovdqu.c: Ditto.
+
+2011-04-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_17.f90: New.
+ * gfortran.dg/coarray_10.f90: Update dg-error.
+
+2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/48251
+ * gcc.dg/guality/guality.exp: Disable on alpha*-dec-osf*.
+ * gfortran.dg/guality/guality.exp: Likewise.
+
+2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortran.dg/fmt_g0_5.f08: Use dg-add-options ieee.
+
+2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/vect/pr48377.c: Remove dg-do run.
+
+2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/ipa/pr48195.c: Add dg-require-effective-target lto.
+
+2011-04-18 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/46364
+ * g++.dg/torture/pr46364.C: New testcase.
+
+2011-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * obj-c++.dg/dwarf-2.mm: Skip on alpha*-dec-osf*.
+
+2011-04-18 Alexander Monakov <amonakov@ispras.ru>
+
+ * gcc.dg/pr48235.c: Add dg-require-effective-target freorder.
+
+2011-04-18 Ulrich Weigand <ulrich.weigand@linaro.org>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ PR target/48252
+ * gcc.target/arm/pr48252.c: New test.
+
+2011-04-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48616
+ * gcc.dg/pr48616.c: New test.
+
+2011-04-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_16.f90: New.
+
+2011-04-18 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48462
+ * gfortran.dg/realloc_on_assign_7.f03: New test.
+
+2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48602
+ * gfortran.dg/fmt_g0_6.f08: New test.
+
+2011-04-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae16.C: New.
+
+2011-04-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.target/mips/reg-var-1.c: New test.
+
+2011-04-17 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/winline-5.c: Update testcase.
+
+2011-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr27.ad[sb]: Move dg directive.
+ * gnat.dg/discr28.ad[sb]: New test.
+ * gnat.dg/discr28_pkg.ads: New helper.
+
+2011-04-17 Michael Matz <matz@suse.de>
+
+ PR tree-optimization/48622
+ PR lto/48645
+ * gcc.dg/lto/pr48622_0.c: New test.
+
+2011-04-16 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/avx256-unaligned-load-1.c: Update scan patterns.
+ * gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
+ * gcc.target/i386/avx256-unaligned-store-3.c: Ditto.
+
+2011-04-15 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/range-for17.C: New.
+
+2011-04-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ * g++.dg/cpp0x/range-for2.C: Correct for declaration.
+ * g++.dg/cpp0x/range-for3.C: Likewise.
+ * g++.dg/cpp0x/range-for9.C: Correct error message.
+ * g++.dg/cpp0x/range-for11.C: New.
+ * g++.dg/cpp0x/range-for12.C: New.
+ * g++.dg/cpp0x/range-for13.C: New.
+ * g++.dg/cpp0x/range-for14.C: New.
+ * g++.dg/cpp0x/range-for15.C: New.
+ * g++.dg/cpp0x/range-for16.C: New.
+
+2011-04-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_15.f90: Change to dg-do run.
+
+2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/naming-4.m: Updated.
+ * objc.dg/naming-5.m: Updated.
+ * objc.dg/naming-6.m: New.
+ * objc.dg/naming-7.m: New.
+ * obj-c++.dg/naming-1.mm: Updated.
+ * obj-c++.dg/naming-2.mm: Updated.
+ * obj-c++.dg/naming-3.mm: New.
+ * obj-c++.dg/naming-4.mm: New.
+
+2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48589
+ * gfortran.dg/fmt_g0_5.f08: New test.
+
+2011-04-15 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/48286
+ * gfortran.dg/cray_pointers_8.f90: Use -ffloat-store.
+
+2011-04-15 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/torture/pr41885.c (dg-options): Change
+ -finline-limit=0 to -fno-inline
+
+2011-04-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48614
+ * gcc.target/i386/pr46084.c: Require avx_runtime instead of
+ just avx.
+
+2011-04-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48605
+ * gcc.target/i386/sse4_1-insertps-3.c: New test.
+ * gcc.target/i386/sse4_1-insertps-4.c: New test.
+ * gcc.target/i386/avx-insertps-3.c: New test.
+ * gcc.target/i386/avx-insertps-4.c: New test.
+
+2011-04-14 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/torture/pr41885.c (dg-options): Add
+ -finline-limit=0
+
+2011-04-14 Georg-Johann Lay <avr@gjlay.de>
+
+ PR target/46779
+ PR target/45291
+ PR target/41894
+ * gcc.target/avr/pr46779-1.c: New test case
+ * gcc.target/avr/pr46779-2.c: New test case
+
+2011-04-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae15.C: New.
+
+ * g++.dg/cpp0x/sfinae14.C: New.
+
+ * g++.dg/ext/vla10.C: New.
+
+2011-04-14 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/ssa-dse-14.c: New testcase.
+
+2011-04-14 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/fold-bitand-4.c: Move ...
+ * c-c++-common/fold-bitand-4.c: ... here. Adjust slightly.
+
+2011-04-14 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.target/avr/trivial.c: Fix line endings. Make PROGMEM
+ variables const.
+ * gcc.target/avr/torture/trivial.c: Ditto.
+
+2011-04-13 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/operator11.C: New.
+
+2011-04-13 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48591
+ * gcc.dg/gomp/pr48591.c: New test.
+
+ PR c++/48570
+ * g++.dg/cpp0x/constexpr-wstring1.C: New test.
+ * g++.dg/cpp0x/constexpr-wstring2.C: New test.
+
+2011-04-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/48574
+ * g++.dg/template/dependent-expr7.C: New test case.
+
+2011-04-13 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae13.C: New.
+
+2011-04-13 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse2-init-v2di-2.c: Update scan pattern.
+
+2011-04-12 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/pr43698.c: Remove -march option.
+
+2011-04-12 Janis Johnson <janisjo@codesourcery.com>
+
+ * gcc.target/arm/sync-1.c: Limit to sync_int_long, do not use
+ -march option.
+
+2011-04-12 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/48360
+ PR fortran/48456
+ * gfortran.dg/realloc_on_assign_6.f03: New test.
+
+2011-04-12 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/ext/bitfield2.C: Add for i?86/x86_64-*-mingw*
+ targets the additional -mno-ms-bitfields and
+ -Wno-packed-bitfield-compat options.
+ * g++.dg/ext/bitfield3.C: Likewise.
+ * g++.dg/ext/bitfield4.C: Likewise.
+ * g++.dg/ext/bitfield5.C: Likewise.
+ * gcc.dg/bitfld-15.c: Likewise.
+ * gcc.dg/bitfld-16.c: Likewise.
+ * gcc.dg/bitfld-17.c: Likewise.
+ * gcc.dg/bitfld-18.c: Likewise.
+
+2011-04-12 Richard Sandiford <richard.sandiford@linaro.org>
+
+ * gcc.target/arm/neon-vld3-1.c: New test.
+ * gcc.target/arm/neon-vst3-1.c: New test.
+ * gcc.target/arm/neon/v*.c: Regenerate.
+
+2011-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48549
+ * g++.dg/opt/pr48549.C: New test.
+
+2011-04-12 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46076
+ * gcc.dg/tree-ssa/pr46076.c: Un-XFAIL.
+
+2011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/21164
+ * lib/compat.exp (compat-execute): Declare unsupported after
+ stripping path from src1.
+ * lib/lto.exp (lto-execute): Likewise.
+
+2011-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48552
+ * gcc.dg/pr48552-1.c: New test.
+ * gcc.dg/pr48552-2.c: New test.
+
+2011-04-11 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae12.C: New.
+
+ * g++.dg/cpp0x/enum10.C: New.
+
+ * g++.dg/cpp0x/lambda/lambda-this4.C: New.
+
+ * g++.dg/cpp0x/rv-func.C: New.
+
+2011-04-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/torture/pr47917.c: Define _ISO_C_SOURCE=19990L for
+ alpha*-dec-osf5*.
+
+2011-04-11 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/48195
+ * gcc.dg/ipa/pr48195.c: New test.
+
+2011-04-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/return3.adb: Remove unused switch.
+
+2011-04-08 Mike Stump <mikestump@comcast.net>
+
+ PR testsuite/48506
+ * gcc.dg/tree-ssa/ssa-ccp-17.c: Robustify against ports that
+ default to fno-common.
+
+2011-04-08 Georg-Johann Lay <avr@gjlay.de>
+
+ * gcc.dg/sibcall-3.c: Don't xfail on AVR.
+ * gcc.dg/sibcall-4.c: Don't xfail on AVR.
+
+2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48448
+ * gfortran.dg/function_optimize_5.f90: New test.
+
+2011-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/aggr17.adb: New test.
+ * gnat.dg/aggr18.adb: Likewise.
+
+2011-04-08 Michael Matz <matz@suse.de>
+
+ PR middle-end/48389
+ * gcc.target/i386/pr48389.c: New test.
+
+2011-04-08 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48272
+ * g++.dg/opt/pr48272.C: New.
+
+2011-04-08 Dmitry Melnik <dm@ispras.ru>
+
+ PR rtl-optimization/48235
+ * gcc.dg/pr48235.c: New.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/48302
+ * g++.dg/opt/pr48302.C: New.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR target/48273
+ * g++.dg/opt/pr48273.C: New.
+
+2011-04-08 Alexander Monakov <amonakov@ispras.ru>
+
+ PR rtl-optimization/48442
+ * gcc.dg/pr48442.c: New.
+
+2011-04-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48377
+ * gcc.dg/vect/pr48377.c: New test.
+
+2011-04-07 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/call1.C: New.
+
+ * g++.dg/cpp0x/variadic107.C: New.
+
+ * g++.dg/cpp0x/sfinae11.C: New.
+ * g++.dg/cpp0x/noexcept02.C: Fix.
+
+ * g++.dg/cpp0x/sfinae10.C: New.
+
+ * g++.dg/cpp0x/sfinae9.C: New.
+
+ * c-c++-common/Wcast-qual-1.c: Move here from...
+ * gcc.dg/cast-qual-3.c: ...here, and...
+ * g++.dg/warn/Wcast-qual2.C: ...here.
+
+ * g++.dg/cpp0x/sfinae8.C: New.
+
+ * g++.dg/cpp0x/sfinae7.C: New.
+
+ * g++.dg/cpp0x/enum9.C: New.
+
+2011-04-07 Mike Stump <mikestump@comcast.net>
+
+ * gcc.dg/torture/stackalign/non-local-goto-5.c: Fix for targets
+ with no trampolines.
+
+2011-04-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/48117
+ * gfortran.dg/gomp/pr48117.f90: New test.
+
+ PR debug/48343
+ * gcc.dg/torture/pr48343.c: New test.
+
+2011-04-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/asm-6.c: Remove dg-xfail-if.
+
+2011-04-07 Maxim Kuvyrkov <maxim@codesourcery.com>
+
+ * gcc.dg/lto/20090210_0.c: Require tls_runtime target.
+
+2011-04-07 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * lib/scanasm.exp (object-size): New proc.
+ * gcc.target/arm/pr43920-2.c: New test.
+
+2011-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ PR fortran/48477
+ * gfortran.dg/coarray_13.f90: Avoid out-of-bounds access.
+
+2011-04-06 Steve Ellcey <sje@cup.hp.com>
+
+ * gcc.dg/mtune.c: Prune note from output.
+
+2011-04-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48466
+ * gcc.dg/guality/pr36977.c: New test.
+ * gcc.dg/guality/pr48466.c: New test.
+
+2011-04-06 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ * gcc.target/arm/pr43920-1.c: Fix accidental duplication.
+
+2011-04-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/return3.adb: New test.
+
+2011-04-06 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47663
+ * gcc.dg/tree-ssa/inline-8.c: New testcase.
+
+2011-04-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/torture/pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options for
+ Solaris 8 and 9 as well.
+
+2011-04-05 Tom de Vries <tom@codesourcery.com>
+
+ PR target/43920
+ * gcc.target/arm/pr43920-1.c: New test.
+
+2011-04-04 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * g++.dg/abi/arm_cxa_vec1.C (__ARM_EABI__): Fix typo.
+ (cctor): Actually return the value.
+ (main): Cast return values.
+
+2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/character_comparison_8.f90: New test.
+
+2010-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * frontend-passes: (optimize_lexical_comparison): New function.
+ (optimize_expr): Call it.
+ (optimize_comparison): Also handle lexical comparison functions.
+ Return false instad of -2 for unequal comparison.
+
+2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48412
+ * function_optimize_4.f90: New test.
+
+2011-04-04 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * gfortran.dg/coarray_10.f90: Add coarray descriptor diagnostic check.
+ * gfortran.dg/coarray_13.f90: Add checks for run-time cobounds.
+ * gfortran.dg/coarray_15.f90: New.
+
+2011-04-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortran.dg/bessel_6.f90: Use dg-add-options ieee.
+ * gfortran.dg/bessel_7.f90: Likewise.
+
+2011-04-03 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/bessel_6.f90: Reduce mymax for Tru64.
+
+2011-04-03 Richard Guenther <rguenther@suse.de>
+ Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/if-cvt-stores-vect-ifcvt-18.c: New test.
+ * gcc.dg/vect/vect.exp: Run if-cvt-stores-vect* tests with
+ -ftree-loop-if-convert-stores.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/aggr2.ads: New test.
+
+2011-04-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/debug2.ad[sb]: New test.
+ * gnat.dg/debug2_pkg.ads: New helper.
+ * gnat.dg/debug3.ad[sb]: New test.
+
+2011-04-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * go.test/go-test.exp (go-set-goarch): Recognize alpha*-*-*.
+
+2011-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48335
+ * gcc.c-torture/compile/pr48335-1.c: New test.
+ * gcc.dg/pr48335-1.c: New test.
+ * gcc.dg/pr48335-2.c: New test.
+ * gcc.dg/pr48335-3.c: New test.
+ * gcc.dg/pr48335-4.c: New test.
+ * gcc.dg/pr48335-5.c: New test.
+ * gcc.dg/pr48335-6.c: New test.
+ * gcc.dg/pr48335-7.c: New test.
+ * gcc.dg/pr48335-8.c: New test.
+ * gcc.target/i386/pr48335-1.c: New test.
+
+2011-04-01 Vincent Lefevre <vincent+gcc@vinc17.org>
+
+ PR c/36299
+ * gcc.dg/Waddress.c: New test.
+
+2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/48352
+ * gfortran.dg/function_optimize_3.f90: New test.
+
+2011-04-01 Bernd Schmidt <bernds@codesourcery.com>
+
+ * gcc.c-torture/compile/20110401-1.c: New test.
+
+ * g++.dg/lto/20091002-1_0.C: Use "dg-require-effective-target fpic".
+ * g++.dg/lto/20091002-2_0.C: Likewise.
+ * g++.dg/lto/20090303_0.c: Likewise.
+ * g++.dg/lto/20091004-1_0.C: Likewise.
+ * g++.dg/lto/20091002-3_0.C: Likewise.
+ * g++.dg/lto/20091004-2_0.C: Likewise.
+ * g++.dg/lto/20081123_0.C: Likewise.
+ * g++.dg/lto/20090313_0.C: Likewise.
+ * g++.dg/lto/20081109-1_0.C: Likewise.
+ * g++.dg/lto/20081219_0.C: Likewise.
+ * g++.dg/lto/20081204-1_0.C: Likewise.
+ * g++.dg/lto/20090302_0.C: Likewise.
+ * g++.dg/lto/20081119-1_0.C: Likewise.
+ * g++.dg/lto/20081118_0.C: Likewise.
+ * gcc.dg/lto/20091020-2_0.c: Likewise.
+ * gcc.dg/lto/20090210_0.c: Likewise.
+ * gcc.dg/lto/20081204-1_0.c: Likewise.
+ * gcc.dg/lto/20081224_0.c: Likewise.
+ * gcc.dg/lto/20090219_0.c: Likewise.
+ * gcc.dg/lto/20091014-1_0.c: Likewise.
+ * gcc.dg/lto/20091016-1_0.c: Likewise.
+ * gcc.dg/lto/20090206-2_0.c: Likewise.
+ * gcc.dg/lto/20090116_0.c: Likewise.
+ * gcc.dg/lto/20091013-1_0.c: Likewise.
+ * gcc.dg/lto/20091015-1_0.c: Likewise.
+ * gcc.dg/lto/20090126-2_0.c: Likewise.
+
+2011-03-31 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (go-set-goarch): Recognize MIPS ABIs.
+
+2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt16.adb: New test.
+
+2011-03-31 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/defaulted24.C: New.
+
+2011-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/16292
+ * gfortran.dg/g77/cabs.f: Only xfail execution on mips-sgi-irix6*
+ with -O0.
+
+2011-03-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/other/i386-9.C: New test.
+
+2011-03-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * go.test/go-test.exp (go-set-goarch): Use sparc64 for 64-bit SPARC.
+
+2011-03-30 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/error-recovery1.C: New.
+
+ * g++.dg/cpp0x/regress/isnan.C: New.
+
+ * g++.dg/cpp0x/initlist46.C: New.
+
+2011-03-30 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/47551
+ * gcc.target/arm/neon-modes-2.c: New test.
+
+2011-03-30 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/48305
+ * gcc.c-torture/compile/pr48305.c: New test.
+
+2011-03-29 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/value-dep1.C: New.
+
+2011-03-29 Steve Ellcey <sje@cup.hp.com>
+
+ * gcc.dg/torture/pr47917.c: Use -std=gnu99 on HP-UX.
+
+2011-03-29 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp: Handle the test lines used in several new
+ tests.
+ (errchk): Add opts parameter. Change all callers. Handle parens
+ in regexps.
+
+2011-03-29 Peter Bergner <bergner@vnet.ibm.com>
+ Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ * gcc.dg/stack-usage-1.c (SIZE): Provide proper values for __ppc64__
+ and __APPLE__ && __PPC__ && __ALTIVEC__.
+
+2011-03-29 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/dependent1.C: New.
+
+ * g++.dg/cpp0x/constexpr-48089.C: Adjust.
+
+ * g++.dg/cpp0x/constexpr-memfn1.C: New.
+
+ * g++.dg/cpp0x/constexpr-diag1.C: Adjust error locations.
+
+2011-03-29 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48095
+ * gfortran.dg/module_md5_1.f90: Modified MD5 sum.
+ * gfortran.dg/proc_ptr_comp_32.f90: New.
+
+2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * gfortran.dg/function_optimize_1.f90: Add -Warray-temporaries,
+ check for corresponding warning.
+
+2011-03-28 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/rv-deduce2.C: New.
+
+2011-03-29 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48203
+ * gcc.dg/pr48203.c: New test.
+
+2011-03-28 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/ssa-dom-thread-3.c: New test.
+
+2011-03-28 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gcc.dg/stack-usage-1.c (SIZE): Provide proper values for __PPC64__
+ and __PPC__ && __ALTIVEC__.
+
+2011-03-28 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR testsuite/48238
+ * gcc.dg/debug/dwarf2/pr47939-1.c: Generalize scan-assembler regex.
+ * gcc.dg/debug/dwarf2/pr47939-2.c: Likewise.
+ * gcc.dg/debug/dwarf2/pr47939-3.c: Likewise.
+ * gcc.dg/debug/dwarf2/pr47939-4.c: Likewise.
+
+2011-03-28 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/initlist-array2.C: New.
+
+ * g++.dg/cpp0x/initlist-array1.C: New.
+
+ * g++.dg/cpp0x/constexpr-compound.C: New.
+
+ * g++.dg/cpp0x/constexpr-using.C: New.
+
+ * g++.dg/cpp0x/constexpr-noexcept.C: New.
+
+2011-03-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR testsuite/48276
+ * gcc.target/i386/pr47502-2.c: Add -fno-pic.
+
+2011-03-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/slp-1.c: New test.
+
+2011-03-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/avx256-unaligned-load-1.c: New.
+ * gcc.target/i386/avx256-unaligned-load-2.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-load-3.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-load-4.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-load-5.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-load-6.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-load-7.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-2.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-3.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-4.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-5.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-6.c: Likewise.
+ * gcc.target/i386/avx256-unaligned-store-7.c: Likewise.
+
+2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47065
+ * gfortran.dg/trim_optimize_5.f90: New test.
+ * gfortran.dg/trim_optimize_6.f90: New test.
+
+2011-03-27 Richard Sandiford <rdsandiford@googlemail.com>
+
+ PR target/38598
+ * gcc.target/mips/madd-7.c: Remove -mlong32.
+ * gcc.target/mips/msub-7.c: Likewise.
+
+2011-03-27 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-outer-5.c: Reduce the distance between data
+ accesses to preserve the meaning of the test for doubleword vectors.
+ * gcc.dg/vect/no-vfa-pr29145.c: Likewise.
+ * gcc.dg/vect/slp-3.c: Reduce the loop bound for the same reason.
+
+2011-03-26 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48291
+ * gfortran.dg/class_42.f03: New.
+
+2011-03-26 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-cselim-1.c: Fail on targets that don't support
+ strided accesses.
+
+2011-03-26 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/48144
+ * gcc.dg/pr48144.c: New test.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr27.ad[sb]: New test.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/limited_with2.ad[sb]: New test.
+ * gnat.dg/limited_with2_pkg1.ads: New helper.
+ * gnat.dg/limited_with2_pkg2.ads: Likewise.
+
+2011-03-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt15.adb: New test.
+ * gnat.dg/opt15_pkg.ad[sb]: New helper.
+
+2011-03-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48174
+ PR fortran/45304
+ * gfortran.dg/ishft_4.f90: Adapt scan-tree-dump-times.
+ * gfortran.dg/leadz_trailz_3.f90: Ditto
+
+2011-03-25 Martin Jambor <mjambor@suse.cz>
+
+ * gcc.c-torture/compile/pr44686.c: Do not explicitely specify -O2.
+
+2011-03-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/defaulted22.C: New.
+ * g++.dg/cpp0x/defaulted23.C: New.
+ * g++.dg/cpp0x/defaulted15.C: Adjust.
+
+2011-03-25 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/move1.C: New.
+
+2011-03-25 Ira Rosen <ira.rosen@linaro.org>
+
+ PR target/48287
+ * gcc.dg/vect/vect-cselim-1.c: Fail for vect_no_align.
+
+2011-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/torture/pr47917.c: Add -D_XOPEN_SOURCE=500 to dg-options
+ for mips-sgi-irix6.5.
+ Replace snprintf prototype by <stdio.h>.
+
+2011-03-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/48283
+ * gcc.dg/graphite/block-3.c: Add dg-require-effective-target
+ run_expensive_tests.
+ * gcc.dg/graphite/block-4.c: Likewise.
+ * gcc.dg/graphite/block-7.c: Likewise.
+ * gcc.dg/graphite/block-8.c: Likewise.
+
+2011-03-25 Richard Guenther <rguenther@suse.de>
+
+ * g++.dg/tree-ssa/pr41186.C: Scan the appropriate FRE dump.
+ * g++.dg/tree-ssa/pr8781.C: Likewise.
+ * gcc.dg/ipa/ipa-pta-13.c: Likewise.
+ * gcc.dg/ipa/ipa-pta-3.c: Likewise.
+ * gcc.dg/ipa/ipa-pta-4.c: Likewise.
+ * gcc.dg/tree-ssa/20041122-1.c: Likewise.
+ * gcc.dg/tree-ssa/alias-18.c: Likewise.
+ * gcc.dg/tree-ssa/foldstring-1.c: Likewise.
+ * gcc.dg/tree-ssa/forwprop-10.c: Likewise.
+ * gcc.dg/tree-ssa/forwprop-9.c: Likewise.
+ * gcc.dg/tree-ssa/fre-vce-1.c: Likewise.
+ * gcc.dg/tree-ssa/loadpre6.c: Likewise.
+ * gcc.dg/tree-ssa/pr21574.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-dom-cse-1.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-11.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-12.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-13.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-14.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-15.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-16.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-17.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-18.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-19.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-2.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-21.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-22.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-23.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-24.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-25.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-26.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-27.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-6.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-7.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-8.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-9.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-10.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-26.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-7.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-8.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-pre-9.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sccvn-1.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sccvn-2.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sccvn-3.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sccvn-4.c: Likewise.
+ * gcc.dg/tree-ssa/struct-aliasing-1.c: Likewise.
+ * gcc.dg/tree-ssa/struct-aliasing-2.c: Likewise.
+ * c-c++-common/pr46562-2.c: Likewise.
+ * gfortran.dg/pr42108.f90: Likewise.
+ * gcc.dg/torture/pta-structcopy-1.c: Scan ealias dump, force
+ foo to be inlined even at -O1.
+ * gcc.dg/tree-ssa/ssa-dce-4.c: Disable FRE.
+ * gcc.dg/ipa/ipa-pta-14.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-fre-1.c: Adjust.
+ * gcc.dg/matrix/matrix.exp: Disable FRE.
+
+2011-03-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/48204
+ * gcc.dg/dfp/pr48204.c: New test.
+
+2011-03-24 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/48209
+ * gcc.c-torture/execute/pr47917.c: Move this...
+ * gcc.dg/torture/pr47917.c: to here and add xfails.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array16.ad[sb]: New test.
+ * gnat.dg/array16.ads: New helper.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/derived_type2.adb: New test.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48271
+ * g++.dg/torture/pr48271.C: New testcase.
+
+2011-03-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array15.ad[sb]: New test.
+
+2011-03-24 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/48237
+ * gcc.target/i386/pr48237.c: New test.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48269
+ * gcc.dg/builtin-object-size-10.c: New testcase.
+
+2011-03-24 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46562
+ * c-c++-common/pr46562-2.c: New testcase.
+ * c-c++-common/pr46562.c: Likewise.
+
+2011-03-24 Ira Rosen <ira.rosen@linaro.org>
+
+ * gcc.dg/vect/vect-cselim-1.c: New test.
+ * gcc.dg/vect/vect-cselim-2.c: New test.
+
+2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/arm/pr46934.c: New.
+
+2011-03-23 Ian Lance Taylor <iant@google.com>
+
+ * go.test/go-test.exp (errchk): Ignore lines containing ////.
+
+2011-03-23 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/struct: Remove directory and contents.
+
+2011-03-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/48251
+ * g++.dg/guality/guality.exp: Disable on alpha*-dec-osf*.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/discr26.ad[sb]: New test.
+ * gnat.dg/discr26_pkg.ads: New helper.
+
+2011-03-23 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR target/47553
+ * gcc.target/arm/neon-vld-1.c: New test.
+
+2011-03-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/array14.ad[sb]: New test.
+ * gnat.dg/array14_pkg.ads: New helper.
+
+2011-03-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.c-torture/execute/920501-8.x: Remove.
+ * gcc.c-torture/execute/930513-1.x: Remove.
+ * gcc.c-torture/execute/960312-1.x: Remove.
+ * gcc.c-torture/compile/20000804-1.c,
+ gcc.c-torture/compile/20001205-1.c,
+ gcc.c-torture/compile/20001226-1.c,
+ gcc.c-torture/compile/20010518-2.c,
+ gcc.c-torture/compile/20020312-1.c,
+ gcc.c-torture/compile/20020604-1.c,
+ gcc.c-torture/compile/920501-12.c,
+ gcc.c-torture/compile/920501-4.c,
+ gcc.c-torture/compile/920520-1.c,
+ gcc.c-torture/compile/980506-1.c,
+ gcc.c-torture/execute/980709-1.x,
+ gcc.c-torture/execute/990826-0.x: Don't XFAIL or use special
+ options for m68hc11.
+ * gcc.dg/cpp/assert4.c: Don't handle ARC.
+ * gcc.dg/sibcall-3.c, gcc.dg/sibcall-4.c: Don't XFAIL for arc or
+ m68hc11.
+
+2011-03-22 Nick Clifton <nickc@redhat.com>
+
+ * lib/target-supports.exp (check_profiling_available): Add MN10300
+ to the list of targets that do not support profiling. Restore
+ alpha sorting to this list.
+
+2011-03-22 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.dg/torture/vector-1.c: On powerpc add -fabi=altivec to avoid
+ failure on 32-bit systems.
+ * gcc.dg/torture/vector-2.c: Ditto.
+
+2011-03-22 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48228
+ * gcc.dg/Wstrict-overflow-23.c: New testcase.
+
+2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * gcc.dg/torture/va-arg-25.c: Add -mabi=altivec -maltivec for
+ powerpc.
+
+ PR target/48226
+ * gcc.target/powerpc/pr48226.c: New file.
+
+2011-03-21 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ * lib/prune.exp (prune_gcc_output): Prune "could not create
+ compact unwind for" warnings.
+
+2011-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/42544
+ PR c/48197
+ * gcc.c-torture/execute/pr42544.c: New test.
+ * gcc.c-torture/execute/pr48197.c: New test.
+
+2011-03-21 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR preprocessor/48192
+ * gcc.target/powerpc/pr48192.c: New file.
+
+ PR target/48053
+ * gcc.target/powerpc/pr48053-3.c: New file, add test case for
+ split problem of 0 being loaded in a VSX register.
+
+2011-03-21 Richard Guenther <rguenther@suse.de>
+
+ PR c/47939
+ * gcc.dg/debug/dwarf2/pr47939-1.c: New testcase.
+ * gcc.dg/debug/dwarf2/pr47939-2.c: Likewise.
+ * gcc.dg/debug/dwarf2/pr47939-3.c: Likewise.
+ * gcc.dg/debug/dwarf2/pr47939-4.c: Likewise.
+
+2011-03-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/48213
+ * gcc.dg/pr48213.c: New test.
+
+2011-03-21 Kai Tietz <ktietz@redhat.com>
+
+ PR target/12171
+ * g++.dg/plugin/attribute_plugin.c: Adjust test.
+
+2011-03-21 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/arm/xor-and.c: New.
+
+2010-03-21 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/22572
+ * gfortran.dg/function_optimize_1.f90: New test.
+ * gfortran.dg/function_optimize_2.f90: New test.
+
+2011-03-20 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/47502
+ * gcc.target/i386/pr47502-1.c: New.
+ * gcc.target/i386/pr47502-2.c: Likewise.
+
+2011-03-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48156
+ * gcc.dg/pr48156.c: New test.
+
+2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47439
+ * gfortran.dg/scratch_1.f90: Adjust test.
+
+2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47439
+ * gfortran.dg/scratch_1.f90: New test.
+
+2011-03-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c1x-typedef-1.c: Expect errors for redefinitions of
+ variably modified typedefs.
+ * gcc.dg/c1x-typedef-2.c: Remove.
+
+2011-03-18 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc.dg/c1x-anon-struct-1.c: Don't test use of typedefs.
+ * gcc.dg/c1x-anon-struct-3.c: New test.
+ * gcc.dg/anon-struct-11.c: Update.
+
+2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/vect/slp-multitypes-2.c: Replace dg-do run with
+ dg-xfail-run-if.
+ Only xfail with gas.
+
+2011-03-18 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/fn-ptr1.C: New.
+
+ * g++.dg/overload/volatile1.C: New.
+
+ * g++.dg/opt/pr23372.C: New.
+
+ * g++.dg/ext/attrib32.C: Expect errors on the two-names case.
+
+2011-03-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR middle-end/47405
+ * gcc.dg/torture/20090618-1.c: Skip on mips-sgi-irix*.
+
+2011-03-18 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/arm/unsigned-extend-1.c: New.
+
+2011-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/48161
+ * gcc.c-torture/compile/pr48161.c: New test.
+
+2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47725
+ * gcc.dg/torture/pr47725.c: New.
+
+2011-03-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-overflow2.C: New.
+ * g++.dg/cpp0x/constexpr-data2.C: Remove FIXME.
+
+2011-03-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/specs/elab2.ads: New test.
+ * gnat.dg/specs/elab2_pkg.ads: New helper.
+
+2011-03-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/decltype-1212.C: New.
+ * g++.dg/cpp0x/rv-return.C: Adjust expected type.
+
+2011-03-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/parse/memfnquals1.C: New.
+
+2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48134
+ * gcc.dg/pr48134.c: New testcase.
+
+2011-03-17 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48165
+ * g++.dg/torture/pr48165.C: New testcase.
+
+2011-03-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/48141
+ * gcc.dg/pr48141.c: New test.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-48089.C: New.
+
+ * g++.dg/cpp0x/constexpr-abi1.C: New.
+
+ * g++.dg/cpp0x/constexpr-46336.C: New.
+ * g++.dg/parse/friend5.C: Adjust expected errors.
+
+ * g++.dg/cpp0x/constexpr-47570.C: New.
+
+2011-03-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/47510
+ * ++.dg/debug/dwarf2/typedef6.C: New test.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/elision2.C: New.
+
+ * g++.dg/cpp0x/constexpr-array3.C: New.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/sfinae6.C: New.
+ * g++.dg/cpp0x/initlist38.C: Adjust expected error.
+ * g++.dg/cpp0x/pr45908.C: Likewise.
+ * g++.dg/cpp0x/sfinae6.C: Likewise.
+ * g++.old-deja/g++.jason/conversion11.C: Likewise.
+ * g++.old-deja/g++.law/arg11.C: Likewise.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/incomplete6.C: New.
+
+2011-03-16 Jeff Law <law@redhat.com>
+
+ * gcc.dg/tree-ssa/vrp55.c: New test.
+
+2011-03-16 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/auto22.C: New.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/guality/vla-1.c (main): Use result of f1 to avoid
+ optimizing it away if promoted to const.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48149
+ * gcc.dg/fold-complex-1.c: New testcase.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/48147
+ * gcc.dg/guality/pr45882.c: Really make sure no inlining
+ or cloning happens.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/26134
+ * gcc.dg/tree-ssa/complex-6.c: New testcase.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48146
+ * gcc.dg/torture/pr48146.c: New testcase.
+
+2011-03-16 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/pr14814.c: Adjust.
+ * gcc.dg/tree-ssa/ssa-ccp-19.c: Likewise.
+
+2011-03-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48136
+ * gcc.c-torture/compile/pr48136.c: New test.
+
+ * g++.dg/debug/dwarf2/icf.C: Adjust for -fenable-icf-debug removal.
+
+ PR debug/45882
+ * gcc.dg/guality/pr45882.c: New test.
+
+2011-03-15 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-recursion.C: New.
+
+ * g++.dg/cpp0x/implicit11.C: New.
+
+2011-03-15 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ * g++.dg/cpp0x/constexpr-attribute.C: New.
+
+2011-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * g++.dg/parse/pr34758.C: New.
+
+2011-03-15 Xinliang David Li <davidxl@google.com>
+
+ PR c/47837
+ * gcc.dg/uninit-pred-7_d.c: New test.
+ * gcc.dg/uninit-pred-8_d.c: New test.
+
+2011-03-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+
+ PR target/46788
+ * gcc.target/arm/pr46788.c: New.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47650
+ * gfortran.dg/c_f_pointer_tests_3.f90: Adjust.
+ * gfortran.dg/ishft_4.f90: Likewise.
+ * gfortran.dg/leadz_trailz_3.f90: Likewise.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/13954
+ * g++.dg/tree-ssa/pr13954.C: New testcase.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48037
+ * gcc.target/i386/pr48037-1.c: New testcase.
+
+2011-03-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/41490
+ * gcc.dg/tree-ssa/ssa-sink-6.c: New testcase.
+ * gcc.dg/tree-ssa/ssa-sink-7.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sink-8.c: Likewise.
+ * gcc.dg/tree-ssa/ssa-sink-9.c: Likewise.
+ * g++.dg/tree-ssa/pr33604.C: Adjust.
+
+2011-03-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47917
+ * gcc.c-torture/execute/pr47917.c: New test.
+ * gcc.dg/pr47917.c: New test.
+
+ PR middle-end/38878
+ * gcc.dg/tree-ssa/foldaddr-1.c: Remove xfail.
+
+2011-03-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/sse4_1-floor-vec.c: New test.
+ * gcc.target/i386/sse4_1-ceil-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-trunc-vec.c: Ditto.
+ * gcc-target/i386/sse4_1-rint-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-floorf-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-ceilf-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-truncf-vec.c: Ditto.
+ * gcc.target/i386/sse4_1-rintf-vec.c: Ditto.
+ * gcc.target/i386/avx-floor-vec.c: Ditto.
+ * gcc.target/i386/avx-ceil-vec.c: Ditto.
+ * gcc.target/i386/avx-trunc-vec.c: Ditto.
+ * gcc.target/i386/avx-rint-vec.c: Ditto.
+ * gcc.target/i386/avx-floorf-vec.c: Ditto.
+ * gcc.target/i386/avx-ceilf-vec.c: Ditto.
+ * gcc.target/i386/avx-truncf-vec.c: Ditto.
+ * gcc.target/i386/avx-rintf-vec.c: Ditto.
+
+2011-03-14 Tom Tromey <tromey@redhat.com>
+
+ * gcc.dg/Woverlength-strings-pedantic-c90-asm.c: New file.
+ * gcc.dg/Woverlength-strings-pedantic-c89-asm.c: New file.
+ * gcc.dg/Woverlength-strings-pedantic-c99-asm.c: New file.
+
+2011-03-14 Tom Tromey <tromey@redhat.com>
+
+ * gcc.dg/Woverlength-strings-pedantic-c89-ext.c: New file.
+ * gcc.dg/Woverlength-strings-pedantic-c90-ext.c: New file.
+ * gcc.dg/Woverlength-strings-pedantic-c99-ext.c: New file.
+
+2011-03-14 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/builtin-copysign.c: Remove __LP64__ check.
+
+2011-03-14 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/47166
+ * gcc.c-torture/execute/postmod-1.c: New test.
+
+2011-03-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/48098
+ * gcc.dg/torture/pr48098.c: New testcase.
+
+2011-03-12 Peter Bergner <bergner@vnet.ibm.com>
+
+ PR target/48053
+ * gcc.target/powerpc/pr48053-1.c: New test.
+ * gcc.target/powerpc/pr48053-2.c: Likewise.
+
+2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/48066
+ * gfortran.dg/intrinsic_ifunction_2.f90: Correct PR number.
+
+2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/48066
+ * gfortran.dg/intrinsic_ifunction_2.f90: New test case.
+
+2011-03-12 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/48059
+ * gfortran.dg/class_41.f03: New.
+
+2011-03-11 Dodji Seketeli <dodji@redhat.com>
+
+ * g++.dg/conversion/cast3.C: New test.
+
+2011-03-11 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/error45.C: New.
+
+ * g++.dg/parse/no-type-defn1.C: New.
+
+ * g++.dg/ext/attrib40.C: New.
+
+ * g++.dg/cpp0x/regress/array1.C: New.
+
+2011-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/48067
+ * gcc.dg/pr48067.c: New testcase.
+
+2011-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR lto/48073
+ * g++.dg/lto/20110311-1_0.C: New testcase.
+
+2011-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/48035
+ * g++.dg/inherit/virtual8.C: New test.
+
+ PR middle-end/48044
+ * gcc.dg/torture/pr48044.c: New test.
+
+2011-03-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47768
+ * gfortran.dg/proc_ptr_comp_31.f90: New.
+
+2011-03-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47278
+ * gcc.dg/torture/pr47278-1.c: New testcase.
+ * gcc.dg/torture/pr47278-2.c: Likewise.
+
+2011-03-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48063
+ * gcc.dg/torture/pr48063.c: New test.
+
+2011-03-10 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/array22.C: New.
+
+ * g++.dg/cpp0x/syntax-err1.C: New.
+ * g++.dg/parse/error36.C: Adjust expected errors.
+ * g++.old-deja/g++.pt/ctor2.C: Likewise.
+ * g++.old-deja/g++.pt/typename3.C: Likewise.
+ * g++.old-deja/g++.pt/typename4.C: Likewise.
+ * g++.old-deja/g++.pt/typename6.C: Likewise.
+
+2011-03-09 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/nontype22.C: New.
+
+2011-03-09 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/47714
+ * g++.dg/torture/pr47714.C: New test.
+
+2011-03-08 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47755
+ * gcc.target/powerpc/pr47755-2.c: New file.
+
+2011-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ * go.test/go-test.exp: For goroutines.go test if GCCGO_RUN_ALL_TESTS
+ is not set in the environment, pass 64 as first argument when not
+ running expensive tests or pass max($[`ulimit -u`/4], 10000) on
+ native where ulimit -u is supported.
+
+2011-03-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/optimize-bswapsi-1.c: Use -march=z900 on s390.
+
+2011-03-08 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/nontype21.C: New.
+
+ * g++.dg/template/anon5.C: New.
+
+2011-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47881
+ * gcc.dg/pr47881.c: New test.
+
+2011-03-08 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47957
+ * g++.dg/lookup/template3.C: New test.
+
+2011-03-08 Kai Tietz <ktietz@redhat.com>
+
+ * g++.dg/tree-ssa/pr21082.C: Use __INTPTR_TYPE__ instead of
+ 'long' type.
+
+2011-03-08 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR testsuite/47954
+ * gcc.dg/tree-ssa/ssa-ccp-33.c: Use __alignof__ not
+ sizeof to compute alignment.
+
+2011-03-08 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48022
+ * gcc.dg/pr48022-1.c: New test.
+ * gcc.dg/pr48022-2.c: New test.
+
+2011-03-07 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/nontype20.C: New.
+ * g++.dg/init/member1.C: Adjust expected errors.
+ * g++.dg/parse/constant4.C: Likewise.
+ * g++.dg/template/qualified-id3.C: Likewise.
+ * g++.old-deja/g++.pt/crash10.C: Likewise.
+
+ * g++.dg/cpp0x/regress/non-const1.C: New.
+
+2011-03-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47991
+ * gcc.dg/pr47991.c: New test.
+
+2011-03-07 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle46.C: New.
+
+2011-03-07 Pat Haugen <pthaugen@us.ibm.com>
+
+ PR target/47862
+ * gcc.target/powerpc/pr47862.c: New.
+
+2011-03-07 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/45413
+ * gcc.target/i386/combine-mul.c: Require nonpic.
+
+2011-03-07 Paul Wögerer <paul_woegerer@mentor.com>
+ Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc.dg/20001117-1.c: Abort on NULL call_sites.
+
+2011-03-06 Mark Mitchell <mark@codesourcery.com>
+
+ * README.QMTEST: Remove.
+
+2011-03-06 Paul Thomas <pault@gcc.gnu.org>
+ Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/47850
+ * gfortran.dg/array_constructor_37.f90 : New test.
+
+2011-03-05 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle39.C: ABI v5, not 6.
+ * g++.dg/abi/mangle45.C: Likewise.
+ * g++.dg/cpp0x/trailing1.C: Likewise.
+
+2011-03-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * gcc.dg/torture/pr47975.c: Add -fno-common option on hppa*-*-hpux*.
+
+2011-03-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/47899
+ * gcc.dg/pr47899.c: New test.
+
+ * gcc.dg/torture/pr47968.c: Ignore warnings.
+
+ PR tree-optimization/47967
+ * gcc.c-torture/compile/pr47967.c: New test.
+
+2011-03-04 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/property/property-encoding-1.m: Tidied up testcase.
+ * obj-c++.dg/property/property-encoding-1.mm: Likewise.
+
+2011-03-04 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/gnu-api-2-property.m: Added tests for property_getName()
+ and property_getAttributes() if __OBJC2__.
+ * obj-c++.dg/gnu-api-2-property.mm: Likewise.
+ * objc.dg/property/property-encoding-1.m: New.
+ * obj-c++.dg/property/property-encoding-1.mm: New.
+
+2011-03-04 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/pseudodtor6.C: New.
+
+ * g++.dg/inherit/covariant19.C: New.
+
+2011-03-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47968
+ * gcc.dg/torture/pr47968.c: New testcase.
+
+2011-03-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47975
+ * gcc.dg/torture/pr47975.c: New testcase.
+
+2011-03-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47974
+ * g++.dg/template/crash106.C: New.
+
+2011-03-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/47963
+ * gcc.dg/gomp/pr47963.c: New test.
+ * g++.dg/gomp/pr47963.C: New test.
+
+2011-03-02 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/condition1.C: New.
+
+ * g++.dg/cpp0x/constexpr-ctor9.C: New.
+
+2011-03-01 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/lambda/lambda-98.C: New.
+
+ * g++.dg/cpp0x/constexpr-non-const-arg2.C: New.
+
+2011-03-02 Richard Sandiford <richard.sandiford@linaro.org>
+
+ PR rtl-optimization/47925
+ * gcc.c-torture/execute/pr47925.c: New test.
+
+2011-03-01 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/decltype25.C: New.
+
+ * g++.dg/cpp0x/regress/bitfield-err1.C: New.
+
+2011-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47890
+ * gcc.dg/torture/pr47890.c: New testcase.
+
+2011-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47924
+ * gcc.dg/lto/pr47924_0.c: New testcase.
+
+2011-03-01 Richard Guenther <rguenther@suse.de>
+
+ PR lto/46911
+ * gfortran.dg/lto/pr46911_0.f: New testcase.
+
+2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47933
+ * gfortran.dg/fmt_fw_d.f90: Fix test by adding dg-options to avoid
+ compile errors from older code form.
+
+2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * gfortran.dg/fmt_fw_d.f90: New test.
+
+2011-02-28 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/inherit/covariant18.C: New.
+
+2011-02-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47893
+ * gcc.dg/pr47893.c: New test.
+
+2011-02-28 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/gnu-api-2-sel.m: Test that sel_getTypedSelector return
+ NULL in case of a selector with conflicting types.
+ * obj-c++.dg/gnu-api-2-sel.mm: Same change.
+
+2011-02-28 Kazu Hirata <kazu@codesourcery.com>
+
+ * gcc.target/arm/vfp-ldmdbd.c, gcc.target/arm/vfp-ldmdbs.c,
+ gcc.target/arm/vfp-ldmiad.c, gcc.target/arm/vfp-ldmias.c,
+ gcc.target/arm/vfp-stmdbd.c, gcc.target/arm/vfp-stmdbs.c,
+ gcc.target/arm/vfp-stmiad.c, gcc.target/arm/vfp-stmias.c: New.
+
+2011-02-28 Jason Merrill <jason@redhat.com>
+
+ PR c++/47906
+ * g++.dg/cpp0x/trailing1.C: Specify -fabi-version=6.
+
+2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47778
+ * gfortran.dg/namelist_71.f90: New test.
+
+2011-02-27 Jason Merrill <jason@redhat.com>
+
+ PR c++/47906
+ * g++.dg/abi/mangle39.C: Specify -fabi-version=6.
+ * g++.dg/abi/mangle45.C: Specify -fabi-version=6.
+
+2011-02-27 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/46466
+ * g++.dg/cpp0x/constexpr-ctor8.C: New.
+
+2011-02-27 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/47886
+ * gfortran.dg/gomp/task-1.f90: Removed.
+
+2011-02-26 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/template/this-targ1.C: New.
+
+ * g++.dg/cpp0x/regress/template-const1.C: New.
+ * g++.dg/cpp0x/regress/template-function1.C: Adjust.
+ * g++.dg/template/function1.C: Adjust.
+ * g++.dg/cpp0x/regress/debug-debug7.C: Adjust.
+ * g++.dg/debug/debug7.C: Adjust.
+
+2011-02-26 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47886
+ * gfortran.dg/gomp/task-1.f90: New.
+
+2011-02-25 Jie Zhang <jie@codesourcery.com>
+
+ * gcc.target/arm/neon-thumb2-move.c: Add
+ dg-require-effective-target arm_thumb2_ok.
+
+2011-02-24 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/parse/constant1.C: Specify C++98 mode.
+ * g++.dg/parse/constant5.C: Likewise.
+ * g++.dg/parse/error2.C: Likewise.
+ * g++.dg/parse/semicolon3.C: Likewise.
+ * g++.dg/template/crash14.C: Likewise.
+ * g++.dg/template/local4.C: Likewise.
+ * g++.dg/template/nontype3.C: Likewise.
+ * g++.dg/parse/crash31.C: Adjust expected errors.
+ * g++.dg/template/function1.C: Likewise.
+ * g++.dg/template/ref3.C: Likewise.
+ * g++.dg/template/static9.C: Likewise.
+ * g++.old-deja/g++.pt/crash41.C: Instantiate template.
+
+ * g++.dg/cpp0x/constexpr-array-tparm.C: New.
+ * g++.dg/cpp0x/regress/parse-ambig5.C: Copy from parse/ambig5.C.
+ * g++.dg/cpp0x/regress/debug-debug7.C: Copy from debug/debug7.C.
+ * g++.dg/cpp0x/variadic20.C: Adjust expected errors.
+ * g++.dg/cpp0x/regress/template-function1.C: Likewise.
+
+2011-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/47878
+ * gfortran.dg/pr47878.f90: New test.
+
+2011-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR testsuite/47801
+ * gcc.dg/guality/pr41353-1.c (vari): Mark as used.
+ * gcc.dg/guality/pr41353-2.c (vari): Likewise.
+
+2011-02-24 Richard Guenther <rguenther@suse.de>
+
+ PR fortran/47839
+ * gfortran.dg/lto/pr47839_0.f90: New testcase.
+ * gfortran.dg/lto/pr47839_1.f90: Likewise.
+
+2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * gfortran.dg/fmt_f0_1.f90: Update test.
+
+2011-02-23 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/abi/mangle39.C: Adjust parm mangling.
+ * g++.dg/abi/mangle45.C: New.
+
+ * g++.dg/cpp0x/trailing1.C: Mangle decltype.
+ * g++.dg/template/canon-type-9.C: Match use of decltype
+ between declaration and definition.
+ * g++.dg/template/canon-type-12.C: Likewise.
+
+2011-02-23 Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/40850
+ * gfortran.dg/nested_allocatables_1.f90: New.
+
+2011-02-23 Nathan Froyd <froydnj@codesourcery.com>
+
+ PR c++/46868
+ * g++.dg/pr46868.C: New test.
+ * g++.dg/parse/parameter-declaration-1.C: Adjust.
+ * g++.dg/parse/error14.C: Adjust.
+
+2011-02-23 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47838
+ * gcc.dg/tree-ssa/foldconst-2.c: Scan tree-ch dump.
+
+2011-02-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * g++.dg/other/pr47218.C: Fix dg-options. Cleanup saved temps.
+
+2011-02-23 Uros Bizjak <ubizjak@gmail.com>
+
+ * gfortran.dg/allocate_deferred_char_scalar_1.f03: Fix dg-do syntax.
+ * gfortran.dg/count_init_expr.f03: Ditto.
+ * gfortran.dg/gomp/pr43711.f90: Ditto.
+ * gcc.dg/struct-parse-2.c: Ditto.
+ * gcc.dg/parse-error-3.c: Ditto.
+ * gcc.dg/Wlogical-op-1.c: Ditto.
+ * gcc.dg/Walways-true-1.c: Ditto.
+ * gcc.dg/pr24225.c: Ditto.
+ * gcc.dg/Walways-true-2.c: Ditto.
+ * gcc.dg/tree-ssa/foldcast-1.c: Ditto.
+ * gcc.dg/tree-ssa/struct-aliasing-1.c: Ditto.
+ * gcc.dg/tree-ssa/struct-aliasing-2.c: Ditto.
+ * g++.dg/overload/defarg4.C: Ditto.
+ * g++.dg/inherit/covariant16.C: Ditto.
+ * g++.dg/inherit/virtual7.C: Ditto.
+ * g++.dg/template/canon-type-9.C: Ditto.
+ * g++.dg/template/access19.C: Ditto.
+ * g++.dg/template/call7.C: Ditto.
+ * g++.dg/template/canon-type-2.C: Ditto.
+ * g++.dg/template/init7.C: Ditto.
+ * g++.dg/template/sizeof-template-argument.C: Ditto.
+ * g++.dg/template/const3.C: Ditto.
+ * g++.dg/template/sfinae26.C: Ditto.
+ * g++.dg/template/sfinae26.C: Ditto.
+ * g++.dg/template/canon-type-11.C: Ditto.
+ * g++.dg/template/union2.C: Ditto.
+ * g++.dg/template/canon-type-3.C: Ditto.
+ * g++.dg/template/canon-type-1.C: Ditto.
+ * g++.dg/template/canon-type-5.C: Ditto.
+ * g++.dg/template/canon-type-7.C: Ditto.
+ * g++.dg/template/canon-type-10.C: Ditto.
+ * g++.dg/template/spec36.C: Ditto.
+ * g++.dg/template/typedef38.C: Ditto.
+ * g++.dg/template/canon-type-4.C: Ditto.
+ * g++.dg/template/canon-type-6.C: Ditto.
+ * g++.dg/template/canon-type-13.C: Ditto.
+ * g++.dg/template/instantiate9.C: Ditto.
+ * g++.dg/template/ttp22.C: Ditto.
+ * g++.dg/warn/Wreturn-type-6.C: Ditto.
+ * g++.dg/warn/Walways-true-1.C: Ditto.
+ * g++.dg/warn/Wlogical-op-1.C: Ditto.
+ * g++.dg/warn/Walways-true-2.C: Ditto.
+ * g++.dg/conversion/op4.C: Ditto.
+ * g++.dg/opt/pr19650.C: Ditto.
+ * g++.dg/lookup/friend11.C: Ditto.
+ * g++.dg/other/default2.C: Ditto.
+ * g++.dg/other/default3.C: Ditto.
+ * g++.dg/other/dtor2.C: Ditto.
+ * g++.dg/other/friend5.C: Ditto.
+ * g++.dg/other/default5.C: Ditto.
+ * g++.dg/init/brace6.C: Ditto.
+ * g++.dg/init/aggr5.C: Ditto.
+ * g++.dg/init/error2.C: Ditto.
+ * g++.dg/expr/bound-mem-fun.C: Ditto.
+ * g++.dg/expr/cond6.C: Ditto.
+ * g++.dg/expr/stmt-expr-1.C: Ditto.
+ * g++.dg/cpp0x/constexpr-object2.C: Ditto.
+ * g++.dg/cpp0x/constexpr-data1.C: Ditto.
+ * g++.dg/cpp0x/constexpr-function2.C: Ditto.
+ * g++.dg/cpp0x/bracket1.C: Ditto.
+ * g++.dg/cpp0x/variadic-mem-fn.C: Ditto.
+ * g++.dg/cpp0x/pr38646.C: Ditto.
+ * g++.dg/cpp0x/variadic73.C: Ditto.
+ * g++.dg/cpp0x/constexpr-function1.C: Ditto.
+ * g++.dg/cpp0x/bracket4.C: Ditto.
+ * g++.dg/cpp0x/decltype4.C: Ditto.
+ * g++.dg/cpp0x/constexpr-data2.C: Ditto.
+ * g++.dg/cpp0x/constexpr-object1.C: Ditto.
+ * g++.dg/cpp0x/variadic-crash2.C: Ditto.
+ * g++.dg/cpp0x/variadic-new2.C: Ditto.
+ * g++.dg/cpp0x/decltype2.C: Ditto.
+ * g++.dg/cpp0x/decltype1.C: Ditto.
+ * g++.dg/cpp0x/bracket2.C: Ditto.
+ * g++.dg/cpp0x/decltype5.C: Ditto.
+ * g++.dg/cpp0x/constexpr-function3.C: Ditto.
+ * g++.dg/cpp0x/variadic70.C: Ditto.
+ * g++.dg/cpp0x/decltype6.C: Ditto.
+ * g++.dg/cpp0x/rvo.C: Ditto.
+ * g++.dg/cpp0x/vt-40092.C: Ditto.
+ * g++.dg/cpp0x/variadic-new.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-pass.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-mixed.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-nested.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-recursive.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-copy.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-non-const.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-ref-default.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-deduce.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-copy-default.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-nop.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-capture-const-ref.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-ref.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-const.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-mutable.C: Ditto.
+ * g++.dg/cpp0x/lambda/lambda-in-class.C: Ditto.
+ * g++.dg/cpp0x/pr39639.C: Ditto.
+ * g++.dg/cpp0x/decltype3.C: Ditto.
+ * g++.dg/cpp0x/variadic68.C: Ditto.
+ * g++.dg/cpp0x/variadic-function.C: Ditto.
+ * g++.dg/cpp0x/constexpr-ex1.C: Ditto.
+ * g++.dg/cpp0x/variadic-bind.C: Ditto.
+ * g++.dg/cpp0x/variadic-tuple.C: Ditto.
+ * g++.dg/cpp0x/constexpr-ex2.C: Ditto.
+ * g++.dg/parse/crash35.C: Ditto.
+ * g++.dg/parse/crash40.C: Ditto.
+ * g++.dg/parse/defarg12.C: Ditto.
+ * g++.dg/parse/crash34.C: Ditto.
+ * g++.dg/parse/constructor3.C: Ditto.
+ * g++.dg/parse/template23.C: Ditto.
+ * g++.dg/parse/crash56.C: Ditto.
+ * g++.dg/parse/dtor13.C: Ditto.
+ * g++.dg/parse/error33.C: Ditto.
+ * g++.dg/parse/ctor9.C: Ditto.
+ * g++.dg/parse/error32.C: Ditto.
+ * g++.dg/parse/error37.C: Ditto.
+ * g++.dg/parse/bitfield3.C: Ditto.
+ * g++.dg/parse/struct-4.C: Ditto.
+ * g++.dg/ext/has_trivial_copy.C: Ditto.
+ * g++.dg/ext/is_polymorphic.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy_odr.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-4.C: Ditto.
+ * g++.dg/ext/has_nothrow_assign.C: Ditto.
+ * g++.dg/ext/is_union.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-1.C: Ditto.
+ * g++.dg/ext/is_pod.C: Ditto.
+ * g++.dg/ext/has_virtual_destructor.C: Ditto.
+ * g++.dg/ext/has_trivial_constructor.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-3.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-5.C: Ditto.
+ * g++.dg/ext/has_trivial_destructor-1.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-6.C: Ditto.
+ * g++.dg/ext/is_abstract.C: Ditto.
+ * g++.dg/ext/has_trivial_assign.C: Ditto.
+ * g++.dg/ext/is_class.C: Ditto.
+ * g++.dg/ext/has_nothrow_assign_odr.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-7.C: Ditto.
+ * g++.dg/ext/is_base_of.C: Ditto.
+ * g++.dg/ext/has_nothrow_copy-2.C: Ditto.
+ * g++.dg/ext/has_nothrow_constructor.C: Ditto.
+ * g++.dg/ext/is_empty.C: Ditto.
+ * g++.dg/ext/is_enum.C: Ditto.
+ * g++.dg/ext/has_nothrow_constructor_odr.C: Ditto.
+ * gnat.dg/opt11.adb: Ditto.
+ * obj-c++.dg/pr45735.mm: Ditto.
+ * obj-c++.dg/pr24393.mm: Ditto.
+ * obj-c++.dg/exceptions-2.mm: Ditto.
+ * objc.dg/pr45735.m: Ditto.
+ * objc.dg/pr24393.m: Ditto.
+
+2011-02-23 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/attributes/objc-exception-1.m: New.
+
+2011-02-23 Jie Zhang <jie@codesourcery.com>
+
+ * gcc.dg/cpp/include7.c: New test.
+
+2011-02-22 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47242
+ * g++.dg/cpp0x/lambda/lambda-ice4.C: New.
+
+2011-02-23 Jie Zhang <jie@codesourcery.com>
+
+ PR rtl-optimization/47763
+ * gcc.dg/pr47763.c: New test.
+
+2011-02-22 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/45743
+ * gfortran.dg/whole_file_32.f90 : New test.
+
+2011-02-22 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47666
+ * g++.dg/inherit/virtual7.C: New test.
+
+2011-02-22 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47832
+ * objc.dg/type-size-3.m: Updated error message.
+ * objc.dg/type-size-4.m: New test.
+ * objc.dg/type-size-5.m: New test.
+
+2011-02-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/gnat.exp: Fix comments.
+ Don't load libgloss.exp.
+ (default_gnat_version): Call $compiler with --version.
+ Adapt regexp for gnatmake output, insert version.
+ (gnat_version): New proc.
+ (gnat_init): Remove gnat_libgcc_s_path.
+ (gnat_target_compile): Likewise.
+ Remove ld_library_path.
+ Log ADA_INCLUDE_PATH, ADA_OBJECTS_PATH.
+ (gnat_pass): Remove.
+ (gnat_pass): Remove.
+ (gnat_finish): Remove.
+ (gnat_exit): Remove.
+ (local_find_gnatmake): Reindent.
+ (runtest_file_p): Remove.
+ (prune_warnings): Remove.
+ (find_gnatclean): New proc.
+ * lib/gnat-dg.exp (lremove): New proc.
+ (gnat-dg-test): Reindent.
+ Remove additional output files.
+ (gnat-dg-runtest): Remove.
+
+ * gnat.dg/array7.adb: Use cleanup-tree-dump "optimized".
+ * gnat.dg/loop_optimization6.adb: Likewise.
+ * gnat.dg/atomic1.adb: Use cleanup-tree-dump "gimple".
+
+2011-02-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47835
+ * gcc.dg/pr46909.c: Check optimized dump instead of ifcombine.
+
+2011-02-22 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/abstract_type_1.f90: Fix dg-do syntax.
+ * gfortran.dg/abstract_type_2.f03: Ditto.
+ * gfortran.dg/abstract_type_3.f03: Ditto.
+ * gfortran.dg/abstract_type_4.f03: Ditto.
+ * gfortran.dg/abstract_type_5.f03: Ditto.
+ * gfortran.dg/abstract_type_6.f03: Ditto.
+ * gfortran.dg/alloc_comp_constraint_6.f90: Ditto.
+ * gfortran.dg/alloc_comp_init_expr.f03: Ditto.
+ * gfortran.dg/allocatable_scalar_11.f90: Ditto.
+ * gfortran.dg/allocate_scalar_with_shape.f90: Ditto.
+ * gfortran.dg/array_function_5.f90: Ditto.
+ * gfortran.dg/asynchronous_3.f03: Ditto.
+ * gfortran.dg/char_expr_1.f90: Ditto.
+ * gfortran.dg/class_14.f03: Ditto.
+ * gfortran.dg/data_array_6.f: Ditto.
+ * gfortran.dg/data_invalid.f90: Ditto.
+ * gfortran.dg/dot_product_1.f03: Ditto.
+ * gfortran.dg/func_derived_5.f90: Ditto.
+ * gfortran.dg/func_result_4.f90: Ditto.
+ * gfortran.dg/implied_do_1.f90: Ditto.
+ * gfortran.dg/initialization_25.f90: Ditto.
+ * gfortran.dg/initialization_26.f90: Ditto.
+ * gfortran.dg/interface_34.f90: Ditto.
+ * gfortran.dg/iso_c_binding_init_expr.f03: Ditto.
+ * gfortran.dg/keyword_symbol_1.f90: Ditto.
+ * gfortran.dg/matmul_8.f03: Ditto.
+ * gfortran.dg/merge_init_expr.f90: Ditto.
+ * gfortran.dg/pack_assign_1.f90: Ditto.
+ * gfortran.dg/pack_vector_1.f90: Ditto.
+ * gfortran.dg/pointer_check_8.f90: Ditto.
+ * gfortran.dg/product_init_expr.f03: Ditto.
+ * gfortran.dg/reshape_order_5.f90: Ditto.
+ * gfortran.dg/reshape_shape_1.f90: Ditto.
+ * gfortran.dg/reshape_zerosize_2.f90: Ditto.
+ * gfortran.dg/same_name_2.f90: Ditto.
+ * gfortran.dg/selected_real_kind_1.f90: Ditto.
+ * gfortran.dg/spread_init_expr.f03: Ditto.
+ * gfortran.dg/stmt_func_1.f90: Ditto.
+ * gfortran.dg/sum_init_expr.f03: Ditto.
+ * gfortran.dg/transpose_3.f03: Ditto.
+ * gfortran.dg/unpack_init_expr.f03: Ditto.
+ * gfortran.dg/warn_conversion.f90: Ditto.
+ * gfortran.dg/warn_conversion_2.f90: Ditto.
+ * gfortran.dg/warn_intent_out_not_set.f90: Ditto.
+ * gfortran.dg/warn_unused_dummy_argument_1.f90: Ditto.
+ * gfortran.dg/warn_unused_dummy_argument_2.f90: Ditto.
+ * gfortran.dg/whole_file_16.f90: Ditto.
+ * gfortran.dg/whole_file_17.f90: Ditto.
+ * gfortran.dg/whole_file_18.f90: Ditto.
+ * gfortran.dg/whole_file_20.f03: Ditto.
+ * gfortran.dg/whole_file_5.f90: Ditto.
+ * gfortran.dg/whole_file_6.f90: Ditto.
+ * gfortran.dg/write_invalid_format.f90: Ditto.
+ * gfortran.dg/zero_sized_6.f90: Ditto.
+
+2011-02-21 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/46178
+ * gcc.target/i386/pr46178.c: New test.
+
+ PR rtl-optimization/46002
+ * gcc.c-torture/compile/pr46002.c: New test.
+
+2011-02-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * g++.dg/cpp0x/lambda/lambda-conv.C: Skip scan-assembler check on
+ *-*-hpux10*.
+
+2011-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47106
+ * g++.dg/debug/pr47106.C: Require effective target lto.
+
+2011-02-21 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-diag2.C: New.
+
+2011-02-20 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-ctor7.C: New.
+
+ * g++.dg/cpp0x/fntmpdefarg2.C: New.
+
+ * g++.dg/overload/conv-op1.C: New.
+
+ * g++.dg/cpp0x/constexpr-synth1.C: New.
+
+2011-02-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/layout-2.m: New.
+ * objc.dg/selector-3.m: Adjusted location of error message.
+ * objc.dg/type-size-3.m: Same.
+ * obj-c++.dg/selector-3.mm: Same.
+
+2011-02-20 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47784
+ * objc.dg/property/dotsyntax-22.m: New.
+ * obj-c++.dg/property/dotsyntax-22.mm: New.
+
+2011-02-20 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/46394
+ * g++.dg/template/typedef38.C: New test.
+
+2011-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/46818
+ * gfortran.dg/whole_file_30.f90 : New test.
+ * gfortran.dg/whole_file_31.f90 : New test.
+
+2011-02-20 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/45077
+ PR fortran/44945
+ * gfortran.dg/whole_file_28.f90 : New test.
+ * gfortran.dg/whole_file_29.f90 : New test.
+
+2011-02-20 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/44118
+ * g++.dg/template/crash105.C: New.
+
+2011-02-19 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/no-elide1.C: New.
+
+2011-02-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/46620
+ * gcc.dg/pr46620.c: New.
+
+2011-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/47809
+ * gcc.target/i386/pr47809.c: New test.
+
+2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ * lib/target-supports.exp
+ (check_effective_target_fortran_large_real): New check for large reals.
+ * gfortran.dg/nan_7.f90: New test.
+
+2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * gfortran.dg/fmt_f0_1.f90: Update test.
+
+2011-02-19 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47348
+ * gfortran.dg/array_constructor_36.f90 : New test.
+ * gfortran.dg/bounds_check_10.f90 : Change dg-output message to
+ allow for comparison between different elements of the array
+ constructor at different levels of optimization.
+
+2011-02-19 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gcc.target/i386/pr31167.c: Require int128 instead of lp64.
+ * gcc.target/i386/pr32280-1.c: Likewise.
+
+2011-02-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47800
+ * gcc.target/i386/pr47800.c: New test.
+
+2011-02-18 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc/execute/exceptions/foward-1.x: New.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47789
+ * gfortran.dg/derived_constructor_comps_4.f90: New.
+
+2011-02-18 Tobias Burnus
+
+ PR fortran/47775
+ * gfortran.dg/func_result_6.f90: New.
+
+2011-02-18 Michael Matz <matz@suse.de>
+
+ PR fortran/45586
+ * gfortran.dg/lto/pr45586_0.f90: New test.
+ * gfortran.dg/typebound_proc_20.f90: Ditto.
+ * gfortran.dg/typebound_proc_21.f90: Ditto.
+
+2011-02-18 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/47795
+ * g++.dg/cpp0x/lambda/lambda-ice3.C: New.
+
+2011-02-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47750
+ * lib/gfortran.exp (gfortran_init): Set gcc_error_prefix and
+ gcc_warning_prefix.
+ * lib/gfortran-dg.exp (gfortran-dg-test): Update regexp for
+ normalizing the error/warning output.
+ * gfortran.dg/Wall.f90: Update dg-error/warning.
+ * gfortran.dg/argument_checking_15.f90: Update dg-error/warning.
+ * gfortran.dg/argument_checking_3.f90: Update dg-error/warning.
+ * gfortran.dg/argument_checking_6.f90: Update dg-error/warning.
+ * gfortran.dg/bounds_temporaries_1.f90: Update dg-error/warning.
+ * gfortran.dg/class_30.f90: Update dg-error/warning.
+ * gfortran.dg/continuation_1.f90: Update dg-error/warning.
+ * gfortran.dg/continuation_9.f90: Update dg-error/warning.
+ * gfortran.dg/do_check_5.f90: Update dg-error/warning.
+ * gfortran.dg/entry_17.f90: Update dg-error/warning.
+ * gfortran.dg/entry_19.f90: Update dg-error/warning.
+ * gfortran.dg/fmt_error.f90: Update dg-error/warning.
+ * gfortran.dg/fmt_read_2.f90: Update dg-error/warning.
+ * gfortran.dg/g77/12632.f: Update dg-error/warning.
+ * gfortran.dg/g77/970625-2.f: Update dg-error/warning.
+ * gfortran.dg/g77/980615-0.f: Update dg-error/warning.
+ * gfortran.dg/generic_actual_arg.f90: Update dg-error/warning.
+ * gfortran.dg/global_references_1.f90: Update dg-error/warning.
+ * gfortran.dg/goto_8.f90: Update dg-error/warning.
+ * gfortran.dg/initialization_1.f90: Update dg-error/warning.
+ * gfortran.dg/io_constraints_1.f90: Update dg-error/warning.
+ * gfortran.dg/io_constraints_2.f90: Update dg-error/warning.
+ * gfortran.dg/io_constraints_3.f90: Update dg-error/warning.
+ * gfortran.dg/iostat_3.f90: Update dg-error/warning.
+ * gfortran.dg/public_private_module.f90: Update dg-error/warning.
+ * gfortran.dg/volatile3.f90: Update dg-error/warning.
+ * gfortran.dg/warning-directive-2.F90: Update dg-error/warning.
+ * gfortran.dg/warnings_are_errors_1.f: Update dg-error/warning.
+ * gfortran.dg/whole_file_1.f90: Update dg-error/warning.
+ * gfortran.dg/whole_file_2.f90: Update dg-error/warning.
+ * gfortran.dg/whole_file_3.f90: Update dg-error/warning.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47768
+ * gfortran.dg/proc_ptr_comp_30.f90: New.
+
+2011-02-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47780
+ * gcc.target/i386/pr47780.c: New test.
+
+2011-02-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47767
+ * gfortran.dg/class_40.f03: New.
+
+2011-02-18 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47208
+ * g++.dg/cpp0x/auto21.C: New test.
+
+2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc.dg/special/unclaimed-category-1.h: Updated for
+ new ABI support.
+ * objc.dg/special/unclaimed-category-1.m: Same.
+ * objc.dg/zero-link-1.m: Same.
+ * objc.dg/lookup-1.m: Same.
+ * objc.dg/torture/strings/const-str-9.m
+ * objc.dg/torture/strings/const-str-10.m: Same.
+ * objc.dg/torture/strings/const-str-11.m: Same.
+ * objc.dg/torture/forward-1.m: Same.
+ * objc.dg/zero-link-2.m: Same.
+ * objc.dg/encode-7-next-64bit.m: Same.
+ * objc.dg/method-4.m: Same.
+ * objc.dg/next-runtime-1.m: Same.
+ * objc.dg/image-info.m: Same.
+ * objc.dg/pr23214.m: Same.
+ * objc.dg/symtab-1.m: Same.
+ * obj-c++.dg/basic.m: Same.
+ * obj-c++.dg/proto-lossage-3.m: Same.
+ * obj-c++.dg/torture/strings/const-str-10.m: Same.
+ * obj-c++.dg/torture/strings/const-str-11.m: Same.
+ * obj-c++.dg/torture/strings/const-str-9.m: Same.
+ * obj-c++.dg/method-11.m: Same.
+ * objc/execute/enumeration-1.m: Same.
+ * objc/execute/object_is_class.m: Same.
+ * objc/execute/formal_protocol-2.m: Same.
+ * objc/execute/formal_protocol-4.m: Same.
+ * objc/execute/formal_protocol-6.m: Same.
+ * objc/execute/bycopy-3.m: Same.
+ * objc/execute/exceptions/catchall-1.m: Same.
+ * objc/execute/exceptions/finally-1.m: Same.
+ * objc/execute/exceptions/local-variables-1.m: Same.
+ * objc/execute/exceptions/foward-1.m: Same.
+ * objc/execute/bf-common.h
+ * objc/execute/enumeration-2.m: Same.
+ * objc/execute/formal_protocol-1.m: Same.
+ * objc/execute/formal_protocol-3.m: Same.
+ * objc/execute/formal_protocol-5.m: Same.
+ * objc/execute/accessing_ivars.m: Same.
+ * objc/execute/bycopy-2.m: Same.
+ * objc/execute/formal_protocol-7.m: Same.
+ * objc/execute/compatibility_alias.m: Same.
+ * objc/execute/no_clash.m: Same.
+ * objc/execute/object_is_meta_class.m: Same.
+ * objc/execute/exceptions/exceptions.exp: Load target-supports.exp
+ * objc/execute/class-tests-1.h: Include stdio.h.
+ * objc/execute/class-tests-2.h: Same.
+ * obj-c++.dg/try-catch-9.mm: xfail-run the test with both
+ runtimes.
+ * obj-c++.dg/try-catch-2.mm: Same.
+
+2011-02-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47783
+ * g++.dg/warn/Wunused-parm-4.C: New test.
+
+2011-02-17 Alexandre Oliva <aoliva@redhat.com>
+ Jan Hubicka <jh@suse.cz>
+
+ PR debug/47106
+ PR debug/47402
+ * g++.dg/debug/pr47106.C: New.
+
+2011-02-17 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/43653
+ * gcc.target/i386/pr43653.c: New test.
+
+2011-02-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47172
+ * g++.dg/template/inherit6.C: New test.
+
+2011-02-16 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47745
+ * gfortran.dg/class_39.f03: New.
+
+2011-02-16 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47326
+ * g++.dg/cpp0x/variadic106.C: New test.
+
+2011-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/47757
+ * gfortran.dg/pr47757-1.f90: New test.
+ * gfortran.dg/pr47757-2.f90: New test.
+ * gfortran.dg/pr47757-3.f90: New test.
+
+ PR c++/47704
+ * g++.dg/cpp0x/enum8.C: New test.
+
+2011-02-15 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/inherit/implicit-trivial1.C: New.
+ * g++.dg/cpp0x/implicit-trivial1.C: New.
+
+2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47725
+ * gcc.dg/torture/pr47725.c: Removed.
+
+2011-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47755
+ * gcc.target/powerpc/pr47755.c: New file, test all 0 vector
+ constant does not generate a load from memory.
+
+2011-02-15 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR middle-end/47725
+ * gcc.dg/torture/pr47725.c: New.
+
+2011-02-15 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47743
+ * gcc.dg/torture/pr47743.c: New testcase.
+
+2011-02-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47581
+ * gcc.target/i386/pr47581.c: New test.
+
+2011-02-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47730
+ * gfortran.dg/select_type_22.f03: New.
+
+2011-02-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/regress/enum1.C: New.
+
+2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/include.adb: New test.
+
+2011-02-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47728
+ * gfortran.dg/class_38.f03: New.
+
+2011-02-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.dg/pr46494.c: New test.
+
+2011-02-14 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/attr-weak-hidden-1.c: Make definition of foo strong.
+
+2011-02-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR ada/41929
+ * gnat.dg/null_pointer_deref1.exp: Don't skip on
+ sparc*-sun-solaris2.11.
+
+2011-02-14 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47349
+ * gfortran.dg/argument_checking_18.f90: New.
+
+2011-02-13 Tobias Burnus <burnus@net-b.de>
+
+ * gfortran.dg/argument_checking_13.f90: Update dg-error.
+ * gfortran.dg/argument_checking_17.f90: New.
+
+2011-02-12 Janus Weil <janus@gcc.gnu.org>
+
+ * gfortran.dg/allocate_derived_1.f90: Modified as polymorphic arrays
+ are temporarily disabled.
+ * gfortran.dg/class_7.f03: Ditto.
+ * gfortran.dg/coarray_14.f90: Ditto.
+ * gfortran.dg/typebound_proc_13.f03: Ditto.
+
+2011-02-12 Mikael Morin <mikael.morin@sfr.fr>
+
+ PR fortran/45586
+ * gfortran.dg/extends_11.f03: New.
+
+2011-02-11 Xinliang David Li <davidxl@google.com>
+
+ PR tree-optimization/47707
+ * g++.dg/tree-ssa/pr47707.C: New test.
+
+2011-02-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g++.dg/opt/inline17.C: New test.
+
+2011-02-11 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47550
+ * gfortran.dg/pure_formal_2.f90: New.
+
+2011-02-11 Pat Haugen <pthaugen@us.ibm.com>
+
+ PR rtl-optimization/47614
+ * gfortran.dg/pr47614.f: New.
+
+2011-02-11 Joseph Myers <joseph@codesourcery.com>
+
+ PR driver/47678
+ * gcc.dg/opts-6.c: New test.
+
+2011-02-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47684
+ * gcc.dg/pr47684.c: New test.
+
+2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/47629
+ * gcc.target/i386/pr47312.c: Use dg-require-effective-target
+ c99_runtime, dg-add-options c99_runtime.
+ (main): Use __asm__.
+
+2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/47400
+ * lib/target-supports.exp (check_ascii_locale_available): New proc.
+ * lib/target-supports-dg.exp (dg-require-ascii-locale): New proc.
+ * gcc.dg/attr-alias-5.c: Use dg-require-ascii-locale.
+ * gcc.dg/ucnid-10.c: Likewise.
+ * gcc.dg/ucnid-13.c: Likewise.
+ * gcc.dg/ucnid-7.c: Likewise.
+ * gcc.dg/ucnid-8.c: Likewise.
+ Adapt dg-warning line number.
+
+2011-02-10 Uros Bizjak <ubizjak@gmail.com>
+
+ * gcc.target/i386/parity-1.c: Use -march=k8.
+ * gcc.target/i386/parity-2.c: Ditto.
+ * gcc.target/i386/vecinit-1.c: Ditto.
+ * gcc.target/i386/vecinit-2.c: Ditto.
+
+2011-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/46610
+ * gcc.target/mips/save-restore-1.c: Skip on mips-sgi-irix6*.
+ * gcc.target/mips/save-restore-3.c: Likewise.
+ * gcc.target/mips/save-restore-4.c: Likewise.
+ * gcc.target/mips/save-restore-5.c: Likewise.
+
+ PR target/47683
+ * g++.dg/tree-prof/partition1.C: Skip on mips-sgi-irix*.
+ * g++.dg/tree-prof/partition2.C: Likewise.
+
+2011-02-09 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/tree-ssa/inline-3.C: Use a normal function
+ rather than misdeclare std::puts.
+
+ * g++.dg/ext/vla1.C: Adjust for C++0x mode.
+ * g++.dg/other/warning1.C: Likewise.
+ * g++.old-deja/g++.bugs/900119_01.C: Likewise.
+ * g++.old-deja/g++.gb/scope06.C: Likewise.
+ * g++.old-deja/g++.law/cvt11.C: Likewise.
+ * g++.old-deja/g++.law/init1.C: Likewise.
+ * g++.dg/abi/mangle26.C: Likewise.
+
+ * g++.dg/template/function1.C: Adjust for C++0x mode.
+ * g++.dg/cpp0x/regress/template-function1.C: Copy it.
+
+ * g++.dg/ext/label10.C: Adjust for C++0x mode.
+ * g++.dg/cpp0x/regress/ext-label10.C: Copy it.
+
+ * g++.dg/cpp0x/regress/ext-cond1.C: Copy from ext/cond1.C.
+
+ * g++.dg/cpp0x/regress/abi-empty7.C: New.
+
+ * g++.dg/cpp0x/regress: New directory.
+ * g++.dg/cpp0x/constexpr-regress1.C: Move to regress/regress1.C.
+ * g++.dg/cpp0x/constexpr-regress2.C: Move to regress/regress2.C.
+ * g++.dg/cpp0x/regress/regress3.C: New.
+
+2011-02-10 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47677
+ * gcc.dg/torture/pr47677.c: New testcase.
+
+2011-02-10 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc.dg/special/load-category-1.m: Remove unused header.
+ * objc.dg/special/load-category-1a.m: Likewise.
+ * objc.dg/special/load-category-2.m: Likewise.
+ * objc.dg/special/load-category-2a.m: Likewise.
+ * objc.dg/special/load-category-3.m: Likewise.
+ * objc.dg/special/load-category-3a.m: Likewise.
+ * objc.dg/attributes/proto-attribute-2.m: Likewise.
+ * objc.dg/attributes/proto-attribute-3.m: Likewise.
+ * objc.dg/attributes/class-attribute-1.m: Likewise.
+ * objc.dg/property/property.exp: Don't run for Darwin < 9.
+ * obj-c++.dg/property/property.exp: Likewise.
+ * objc.dg/attributes/method-sentinel-1.m: Update type header.
+ * obj-c++.dg/attributes/method-sentinel-1.mm: Likewise.
+ * obj-c++.dg/attributes/proto-attribute-2.mm: Skip for Darwin < 9.
+ * obj-c++.dg/attributes/class-attribute-1.mm: Likewise.
+ * obj-c++.dg/attributes/proto-attribute-3.mm: Likewise.
+ * obj-c++.dg/template-8.mm: Likewise.
+
+2011-02-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47665
+ * gcc.target/i386/pr47665.c: New test.
+
+2011-02-10 Jie Zhang <jie@codesourcery.com>
+
+ PR testsuite/47622
+ Revert
+ 2011-02-05 Jie Zhang <jie@codesourcery.com>
+ PR debug/42631
+ * gcc.dg/pr42631.c: Update test.
+ * gcc.dg/pr42631-2.c: New test.
+
+2011-02-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47352
+ * gfortran.dg/proc_decl_25.f90: New.
+
+2011-02-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47463
+ * gfortran.dg/typebound_assignment_2.f03: New.
+
+2011-02-09 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47664
+ * gcc.dg/tree-ssa/inline-7.c: New testcase.
+
+2011-02-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/47646
+ * gnat.dg/uninit_func.adb: Adjust dg directive.
+
+2011-02-09 Dominique Dhumieres <dominiq@lps.ens.fr>
+
+ PR middle-end/47646
+ * obj-c++.dg/attributes/method-noreturn-1.mm: Adjust dg directives.
+
+2011-02-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47637
+ * gfortran.dg/auto_dealloc_2.f90: New.
+
+2011-02-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/builtins-config.h: Remove __sgi handling.
+ * lib/target-supports.exp (add_options_for_c99_runtime): Add
+ -std=c99 for mips-sgi-irix6.5*.
+
+2011-02-09 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/45505
+ * gfortran.dg/pr25923.f90: Remove xfails.
+
+2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/47583
+ * gfortran.dg/inquire_14.f90: New test.
+
+2011-02-08 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/45290
+ * gfortran.dg/pointer_init_6.f90: New.
+
+2011-02-08 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/42893
+ * gcc.tree-ssa/pr42893.c: New test.
+
+2011-02-08 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46834
+ PR tree-optimization/46994
+ PR tree-optimization/46995
+ * gcc.dg/graphite/id-pr46834.c: New.
+ * gfortran.dg/graphite/id-pr46994.f90: New.
+ * gfortran.dg/graphite/id-pr46995.f90: New.
+
+2011-02-08 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR middle-end/47646
+ * gcc.dg/pr39666-2.c (foo2): If the location of the statement
+ using the variable is known the warning is emitted there.
+ * gcc.dg/uninit-pr19430.c (foo): Likewise.
+ * g++.dg/warn/Wuninitialized-5.C (foo): Likewise.
+
+ * c-c++-common/pr20000.c (g): Both warnings occur at the return
+ statement.
+ (vg): Likewise.
+ * gcc.dg/noreturn-1.c (foo5): Likewise.
+ * objc.dg/attributes/method-noreturn-1.m (method1): Likewise.
+ (method2): Likewise.
+
+ * gfortran.dg/pr25923.f90 (baz): The warning will now be issued for
+ the return statement using the uninitialized variable.
+ * gfortran.dg/pr39666-2.f90 (f): Likewise.
+
+2011-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47639
+ * g++.dg/opt/pr47639.c: New testcase.
+
+2011-02-08 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47632
+ * g++.dg/opt/pr47632.C: New testcase.
+
+2011-02-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * g++.dg/abi/packed1.C: Expect warning on spu-*-* as well.
+
+2011-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47615
+ * g++.dg/opt/pr47615.C: New testcase.
+
+2011-02-07 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47621
+ * gcc.dg/torture/pr47621.c: New testcase.
+
+2011-02-07 Uros Bizjak <ubizjak@gmail.com>
+
+ * gfortran.dg/transpose_optimization_2.f90: Cleanup original dump.
+
+2011-02-06 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47592
+ * gfortran.dg/allocate_with_source_1 : New test.
+
+2011-02-05 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/47610
+ * gcc.dg/pr47610.c: New test.
+
+2011-02-05 Jie Zhang <jie@codesourcery.com>
+
+ PR debug/42631
+ * gcc.dg/pr42631.c: Update test.
+ * gcc.dg/pr42631-2.c: New test.
+
+2001-02-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/47574
+ * gfortran.dg/pr47574.f90: New test.
+
+2011-02-04 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46194
+ * gcc.dg/autopar/pr46194.c: New.
+
+2011-02-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR tree-optimization/43695
+ * g++.dg/ipa/pr43695.C: New.
+
+2011-02-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR inline-asm/23200
+ * gcc.dg/pr23200.c: New test.
+
+2011-02-03 Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/47589
+ * g++.dg/pr47589.C: New test.
+
+2011-02-03 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47398
+ * g++.dg/template/typedef37.C: New test.
+ * g++.dg/template/param1.C: Adjust expected error message.
+
+2011-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/31490
+ * gcc.dg/pr31490-2.c: New test.
+ * gcc.dg/pr31490-3.c: New test.
+ * gcc.dg/pr31490-4.c: New test.
+
+2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/46890
+ * g++.dg/parser/semicolon3.C: Adjust.
+ * g++.dg/parser/semicolon4.C: New testcase.
+ * g++.dg/pr46890.C: New testcase.
+
+2011-02-03 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/29571
+ * g++.dg/init/pr29571.C: New.
+
+2011-02-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gfortran.dg/graphite/vect-pr40979.f90: Require vect_double
+ instead of vect_int.
+
+2011-02-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47312
+ * gcc.target/i386/pr47312.c: New test.
+
+ PR target/47564
+ * gcc.target/i386/pr47564.c: New test.
+
+2011-02-03 Alexandre Oliva <aoliva@redhat.com>
+
+ PR tree-optimization/45122
+ * gcc.dg/tree-ssa/pr45122.c: New.
+
+2011-02-02 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47272
+ * gcc.target/powerpc/vsx-builtin-8.c: New file, test vec_vsx_ld
+ and vec_vsx_st.
+
+ * gcc.target/powerpc/avoid-indexed-addresses.c: Disable altivec
+ and vsx so a default --with-cpu=power7 doesn't give an error
+ when -mavoid-indexed-addresses is used.
+
+ * gcc.target/powerpc/ppc32-abi-dfp-1.c: Rewrite to use an asm
+ wrapper function to save the arguments and then jump to the real
+ function, rather than depending on the compiler not to move stuff
+ before an asm.
+ * gcc.target/powerpc/ppc64-abi-dfp-2.c: Ditto.
+
+2011-02-02 Janus Weil <janus@gcc.gnu.org>
+ Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47082
+ * gfortran.dg/class_37.f03 : New test.
+
+2011-02-02 Sebastian Pop <sebastian.pop@amd.com>
+ Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/40979
+ PR bootstrap/47044
+ * gcc.dg/graphite/graphite.exp (DEFAULT_VECTCFLAGS): Add -ffast-math.
+ * gcc.dg/graphite/pr35356-2.c: Adjust pattern.
+ * gfortran.dg/graphite/graphite.exp: Run vect_files conditionally to
+ check_vect_support_and_set_flags.
+ * gfortran.dg/graphite/vect-pr40979.f90: New.
+
+2011-02-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47572
+ * gfortran.dg/class_36.f03: New.
+
+2011-02-02 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47566
+ * gcc.dg/lto/20110201-1_0.c: New testcase.
+
+2011-02-02 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/47498
+ PR debug/47501
+ PR debug/45136
+ PR debug/45130
+ * debug/pr47498.c: New.
+ * debug/pr47501.c: New.
+
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47559
+ * g++.dg/torture/pr47559.C: New testcase.
+
+2011-02-01 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47565
+ * gfortran.dg/typebound_call_20.f03: New.
+
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47555
+ * gcc.dg/pr47555.c: New testcase.
+
+2011-02-01 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47541
+ * g++.dg/torture/pr47541.C: New testcase.
+
+2011-01-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47455
+ * gfortran.dg/typebound_call_19.f03: New.
+
+2011-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47416
+ * g++.dg/cpp0x/pr47416.C: New test.
+
+2011-01-31 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47519
+ * gfortran.dg/allocate_deferred_char_scalar_2.f03: New test.
+
+2011-01-31 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47463
+ * gfortran.dg/typebound_assignment_1.f03: New.
+
+2011-01-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47538
+ * gcc.c-torture/execute/pr47538.c: New test.
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/45325
+ * gcc.target/i386/pr38240.c: Add dg-options "-msse".
+
+2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/abi/mangle40.C: Pass "" to dg-require-weak.
+
+2011-01-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/44031
+ * gcc.c-torture/compile/20110131-1.c: New test.
+
+2011-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47042
+ * gfortran.dg/stmt_func_1.f90: New.
+
+2011-01-31 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47042
+ * gfortran.dg/interface_34.f90: New.
+
+2011-01-30 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47523
+ * gfortran.dg/realloc_on_assign_5.f03: New test.
+ * gfortran.dg/realloc_on_assign_5.f03: New test.
+
+2011-01-29 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gfortran.dg/bessel_6.f90: XFAIL on spu-*-*.
+ * gfortran.dg/bessel_7.f90: Likewise.
+ * gfortran.dg/erf_2.F90: Likewise. Always run with -O0.
+
+ * gfortran.dg/complex_intrinsics_5.f90: Increase "epsilon".
+ * gfortran.dg/sum_init_expr.f03: Likewise.
+
+ * gfortran.dg/realloc_on_assign_2.f03: Skip on spu-*-*.
+
+ * gfortran.dg/lto/20091016-1_0.f90: Replace -shared with
+ -r -nostdlib.
+
+ * gfortran.dg/vect/fast-math-vect-8.f90: Check for vectorized
+ loop only on "vect_intfloat_cvt" targets.
+
+2011-01-29 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47531
+ * gfortran.dg/shape_6.f90: New.
+
+2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47434
+ * gfortran.dg/read_infnan_1.f90: Update test.
+ * gfortran.dg/module_nan.f90: Update test.
+ * gfortran.dg/char4_iunit_1.f03: Update test.
+ * gfortran.dg/large_real_kind_1.f90: Update test.
+ * gfortran.dg/real_const_3.f90: Update test.
+ * gfortran.fortran-torture/execute/nan_inf_fmt.f90: Update test.
+
+2011-01-29 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47311
+ * g++.dg/template/param2.C: New test.
+
+2011-01-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47285
+ * gfortran.dg/fmt_g.f: New test.
+
+2011-01-28 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47507
+ * gfortran.dg/pure_formal_1.f90: New.
+
+2011-01-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/42894
+ * gcc.dg/tls/pr42894.c: New test.
+
+2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.dg/pr47276.c: Add dg-require-visibility.
+
+2011-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc.target/i386/asm-6.c: XFAIL on i?86-pc-solaris2.1[0-9] && ilp32.
+
+2011-01-28 Paul Thomas <pault@gcc.gnu.org>
+ Tobias Burnus <burnus@gcc.gnu.org>
+
+ PR fortran/45170
+ PR fortran/35810
+ PR fortran/47350
+ * gfortran.dg/realloc_on_assign_3.f03: New test.
+ * gfortran.dg/realloc_on_assign_4.f03: New test.
+ * gfortran.dg/allocatable_function_5.f90: New test.
+ * gfortran.dg/allocate_deferred_char_scalar_1.f03: New test.
+ * gfortran.dg/deferred_type_param_2.f90: Remove two "not yet
+ implemented" dg-errors.
+
+2011-01-27 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/46949
+ * gcc.dg/attr-weakref-4.c: New testcase
+
+2011-01-27 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/47228
+ * gcc.dg/torture/pr47228.c: New test.
+
+2011-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/tree-ssa/pr42585.c: Disable on s390 and s390x.
+
+2011-01-27 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * lib/compat.exp (compat-execute): Pass -Wl,--extra-stack-space=8192
+ when using auto-overlay support on the SPU.
+
+2011-01-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/44174
+ * gcc.target/i386/asm-6.c: New test.
+
+2011-01-26 Mikael Pettersson <mikpe@it.uu.se>
+
+ PR rtl-optimization/46856
+ * gcc.c-torture/compile/pr46856.c: New test.
+
+2011-01-26 Nicola Pero <nicola.pero@meta-innovation.com>
+ Andrew Pinski <pinskia@gmail.com>
+
+ PR c/43082
+ * gcc.dg/pr43082.c: New.
+
+2011-01-26 DJ Delorie <dj@redhat.com>
+
+ PR rtl-optimization/46878
+ * gcc.dg/pr46878-1.c: New test.
+
+2011-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47476
+ * g++.dg/cpp0x/pr47476.C: New test.
+
+2011-01-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc.c-torture/compile/20110126-1.c: New test.
+
+2011-01-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/47473
+ * gcc.dg/torture/pr47473.c: New test.
+
+2011-01-26 Jan Hubicka <jh@suse.cz>
+
+ PR target/47237
+ * gcc.c-torture/execute/pr47237.c: New testcase.
+
+2011-01-26 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/47190
+ * gcc.dg/attr-weakref-3.c: New testcase.
+
+2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR c++/43601
+ * gcc.dg/dll-9a.c: New test file.
+ * gcc.dg/dll-11.c: Likewise.
+ * gcc.dg/dll-12.c: Likewise.
+ * gcc.dg/dll-12a.c: Likewise.
+ * gcc.dg/dll-11a.c: Likewise.
+ * gcc.dg/dll-9.c: Likewise.
+ * gcc.dg/dll-10.c: Likewise.
+ * gcc.dg/dll-10a.c: Likewise.
+ * g++.dg/ext/dllexport4a.cc: Likewise.
+ * g++.dg/ext/dllexport4.C: Likewise.
+ * g++.dg/ext/dllexport5.C: Likewise.
+ * g++.dg/ext/dllexport5a.cc: Likewise.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46970
+ * gcc.dg/graphite/pr46970.c: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46215
+ * gcc.dg/graphite/pr46215.c: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/46168
+ * gcc.dg/graphite/pr46168.c: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/43657
+ * gcc.dg/graphite/pr43657.c: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/29832
+ * gfortran.dg/graphite/pr29832.f90: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ PR tree-optimization/43567
+ * gcc.dg/graphite/pr43567.c: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gfortran.dg/graphite/interchange-4.f: New.
+ * gfortran.dg/graphite/interchange-5.f: New.
+
+ * gcc.dg/tree-ssa/ltrans-1.c: Removed.
+ * gcc.dg/tree-ssa/ltrans-2.c: Removed.
+ * gcc.dg/tree-ssa/ltrans-3.c: Removed.
+ * gcc.dg/tree-ssa/ltrans-4.c: Removed.
+ * gcc.dg/tree-ssa/ltrans-5.c: Removed.
+ * gcc.dg/tree-ssa/ltrans-6.c: Removed.
+ * gcc.dg/tree-ssa/ltrans-8.c: Removed.
+ * gfortran.dg/ltrans-7.f90: Removed.
+ * gcc.dg/tree-ssa/data-dep-1.c: Removed.
+
+ * gcc.dg/pr18792.c: -> gcc.dg/graphite/pr18792.c
+ * gcc.dg/pr19910.c: -> gcc.dg/graphite/pr19910.c
+ * gcc.dg/tree-ssa/20041110-1.c: -> gcc.dg/graphite/pr20041110-1.c
+ * gcc.dg/tree-ssa/pr20256.c: -> gcc.dg/graphite/pr20256.c
+ * gcc.dg/pr23625.c: -> gcc.dg/graphite/pr23625.c
+ * gcc.dg/tree-ssa/pr23820.c: -> gcc.dg/graphite/pr23820.c
+ * gcc.dg/tree-ssa/pr24309.c: -> gcc.dg/graphite/pr24309.c
+ * gcc.dg/tree-ssa/pr26435.c: -> gcc.dg/graphite/pr26435.c
+ * gcc.dg/pr29330.c: -> gcc.dg/graphite/pr29330.c
+ * gcc.dg/pr29581-1.c: -> gcc.dg/graphite/pr29581-1.c
+ * gcc.dg/pr29581-2.c: -> gcc.dg/graphite/pr29581-2.c
+ * gcc.dg/pr29581-3.c: -> gcc.dg/graphite/pr29581-3.c
+ * gcc.dg/pr29581-4.c: -> gcc.dg/graphite/pr29581-4.c
+ * gcc.dg/tree-ssa/loop-27.c: -> gcc.dg/graphite/pr30565.c
+ * gcc.dg/tree-ssa/pr31183.c: -> gcc.dg/graphite/pr31183.c
+ * gcc.dg/tree-ssa/pr33576.c: -> gcc.dg/graphite/pr33576.c
+ * gcc.dg/tree-ssa/pr33766.c: -> gcc.dg/graphite/pr33766.c
+ * gcc.dg/pr34016.c: -> gcc.dg/graphite/pr34016.c
+ * gcc.dg/tree-ssa/pr34017.c: -> gcc.dg/graphite/pr34017.c
+ * gcc.dg/tree-ssa/pr34123.c: -> gcc.dg/graphite/pr34123.c
+ * gcc.dg/tree-ssa/pr36287.c: -> gcc.dg/graphite/pr36287.c
+ * gcc.dg/tree-ssa/pr37686.c: -> gcc.dg/graphite/pr37686.c
+ * gcc.dg/pr42917.c: -> gcc.dg/graphite/pr42917.c
+ * gcc.dg/tree-ssa/data-dep-1.c
+ * gfortran.dg/loop_nest_1.f90: -> gfortran.dg/graphite/pr29290.f90
+ * gfortran.dg/pr29581.f90: -> gfortran.dg/graphite/pr29581.f90
+ * gfortran.dg/pr36286.f90: -> gfortran.dg/graphite/pr36286.f90
+ * gfortran.dg/pr36922.f: -> gfortran.dg/graphite/pr36922.f
+ * gfortran.dg/pr39516.f: -> gfortran.dg/graphite/pr39516.f
+
+2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47265
+ PR tree-optimization/47443
+ * gcc.c-torture/compile/pr47265.c: New test.
+ * gcc.dg/pr47443.c: New test.
+
+2011-01-25 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/47382
+ * g++.dg/torture/pr47382.C: New test.
+ * g++.dg/opt/devirt1.C: Xfail.
+
+2011-01-25 Yao Qi <yao@codesourcery.com>
+
+ PR target/45701
+ * gcc.target/arm/pr45701-1.c: New test.
+ * gcc.target/arm/pr45701-2.c: New test.
+ * gcc.target/arm/pr45701-3.c: New test.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47271
+ * gcc.dg/tree-ssa/ifc-pr47271.c: New.
+
+2011-01-25 Nick Clifton <nickc@redhat.com>
+
+ * gcc.target/rx/builtins.c: Allow -fipa-cp-clone.
+ (saturate_add): Delete.
+ (exchange): Delete.
+ (main): Do not run saturate_add.
+ (set_interrupts): Delete.
+
+2011-01-25 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47448
+ * gfortran.dg/redefined_intrinsic_assignment_2.f90: New.
+
+2011-01-25 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47427
+ PR tree-optimization/47428
+ * gcc.c-torture/compile/pr47427.c: New test.
+ * gcc.c-torture/compile/pr47428.c: New test.
+
+2011-01-25 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47411
+ * gcc.dg/torture/pr47411.c: New testcase.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gfortran.dg/graphite/id-24.f: New.
+ * gfortran.dg/graphite/id-25.f: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gfortran.dg/graphite/id-23.f: New.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gfortran.dg/graphite/interchange-3.f90: Un-XFAILed.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gcc.dg/graphite/block-0.c: Un-XFAILed.
+ * gcc.dg/graphite/block-1.c: Un-XFAILed.
+ * gcc.dg/graphite/block-7.c: Un-XFAILed.
+ * gcc.dg/graphite/block-8.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-12.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-14.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-15.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-8.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-mvt.c: Un-XFAILed.
+
+2011-01-25 Sebastian Pop <sebastian.pop@amd.com>
+
+ * gcc.dg/graphite/block-0.c: Add documentation.
+ * gcc.dg/graphite/block-4.c: Same.
+ * gcc.dg/graphite/block-7.c: Same.
+ * gcc.dg/graphite/block-8.c: New.
+ * gcc.dg/graphite/interchange-1.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-11.c: Un-XFAILed.
+ * gcc.dg/graphite/interchange-12.c: Add documentation.
+ * gcc.dg/graphite/interchange-13.c: New.
+ * gcc.dg/graphite/interchange-14.c: New.
+ * gcc.dg/graphite/interchange-15.c: New.
+ * gcc.dg/graphite/interchange-8.c: Add documentation.
+ * gcc.dg/graphite/interchange-mvt.c: Same.
+
+2011-01-24 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47408
+ * gcc.target/powerpc/altivec-11.c: Add explicit -mno-vsx.
+ * gcc.target/powerpc/altivec-14.c: Ditto.
+ * gcc.target/powerpc/altivec-33.c: Ditto.
+ * gcc.target/powerpc/altivec-types-1.c: Ditto.
+ * gcc.target/powerpc/altivec-types-2.c: Ditto.
+ * gcc.target/powerpc/altivec-types-3.c: Ditto.
+ * gcc.target/powerpc/altivec-types-4.c: Ditto.
+ * gcc.target/powerpc/ppc-vector-memcpy.c: Ditto.
+ * gcc.target/powerpc/ppc-vector-memset.c: Ditto.
+ * g++.dg/ext/altivec-15.C: Ditto.
+ * g++.dg/ext/altivec-types-1.C: Ditto.
+ * g++.dg/ext/altivec-types-2.C: Ditto.
+ * g++.dg/ext/altivec-types-3.C: Ditto.
+ * g++.dg/ext/altivec-types-4.C: Ditto.
+
+2011-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * lib/scanasm.exp (dg-function-on-line): Handle mips-sgi-irix*.
+
+2011-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortran.dg/cray_pointers_2.f90: Avoid cycling through
+ optimization options.
+
+2011-01-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortran.dg/array_constructor_33.f90: Use dg-timeout-factor 4.
+
+ PR testsuite/45988
+ * gfortran.dg/vect/fast-math-pr38968.f90: Use dg-timeout-factor 2.
+
+2011-01-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47421
+ * gfortran.dg/allocatable_scalar_12.f90: New.
+
+2011-01-23 Ira Rosen <irar@il.ibm.com>
+
+ * gcc.dg/vect/costmodel/spu/costmodel-vect-33.c: Expect
+ vectorization to be not profitable if peeling is used to
+ realign the memory access.
+ * gcc.dg/vect/costmodel/spu/costmodel-vect-76a.c: Increase
+ loop bound to avoid loop unrolling.
+ * gcc.dg/vect/costmodel/spu/costmodel-vect-76c.c: Likewise.
+
+2011-01-22 Jan Hubicka <jh@suse.cz>
+
+ PR lto/47333
+ * g++.dg/lto/pr47333.C: New file.
+
+2011-01-22 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/43884
+ PR lto/44334
+ * gcc.dg/autopar/outer-2.c: Increase array size.
+ * gcc.dg/tree-ssa/ldist-pr45948.c: Update test.
+
+2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/38536
+ * gfortran.dg/c_loc_tests_16.f90: New test.
+
+2011-01-22 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47399
+ * gfortran.dg/typebound_proc_19.f90: New.
+
+2011-01-21 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/47053
+ * g++.dg/pr47053.C: New test.
+
+2011-01-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/47041
+ * g++.dg/cpp0x/constexpr-ctor6.C: New.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47388
+ * g++.dg/cpp0x/range-for10.C: New test.
+ * g++.dg/template/for1.C: New test.
+
+ PR middle-end/45566
+ * g++.dg/tree-prof/partition3.C: New test.
+
+ * g++.dg/tree-prof/tree-prof.exp: Fix a comment.
+
+ PR rtl-optimization/47366
+ * g++.dg/opt/pr47366.C: New test.
+
+2011-01-21 Jason Merrill <jason@redhat.com>
+
+ PR c++/46552
+ * g++.dg/cpp0x/constexpr-regress2.C: New.
+
+ * g++.dg/cpp0x/constexpr-stmtexpr.C: New.
+
+2011-01-21 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/41619
+ * gcc.dg/pr41619.c: New.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47355
+ * g++.dg/opt/pr47355.C: New test.
+
+2011-01-21 Richard Guenther <rguenther@suse.de>
+
+ * gcc.dg/tree-ssa/pr47392.c: Make test non-static instead of
+ making main hot.
+
+2011-01-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47365
+ * gcc.dg/torture/pr47365.c: New testcase.
+ * gcc.dg/tree-ssa/pr47392.c: Likewise.
+
+2011-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/other/anon5.C: Skip on mips-sgi-irix*.
+
+2011-01-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47391
+ * gcc.dg/pr47391.c: New test.
+
+2011-01-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/template/char1.C: Use signed char.
+
+2011-01-21 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47377
+ * gfortran.dg/pointer_target_4.f90: New.
+
+2011-01-20 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47251
+ * gcc.target/powerpc/pr47251.c: Fixup test so that it runs on
+ ILP32 system and not IP32.
+
+2011-01-20 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46583
+ * g++.dg/debug/pr46583.C: New.
+
+2011-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/47283
+ * g++.dg/debug/pr47283.C: New test.
+
+ PR testsuite/47371
+ * gcc.target/i386/headmerge-1.c: Tighten up scan-assembler regex.
+ * gcc.target/i386/headmerge-2.c: Likewise.
+
+2011-01-20 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47370
+ * gcc.dg/torture/pr47370.c: New testcase.
+
+2011-01-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/46130
+ * gcc.dg/pr46130-1.c: New test.
+ * gcc.dg/pr46130-2.c: New test.
+
+2011-01-19 Dodji Seketeli <dodji@redhat.com>
+
+ PR c++/47291
+ * g++.dg/debug/dwarf2/template-params-10.C: New test.
+
+2011-01-19 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/46240
+ * g++.dg/debug/pr46240.cc: New.
+
+2011-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47303
+ * g++.dg/template/anonunion1.C: New test.
+
+ PR rtl-optimization/47337
+ * gcc.c-torture/execute/pr47337.c: New test.
+
+2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR testsuite/45342
+ * gcc.dg/tls/thr-cse-1.c: Fix match on spu-*.*.
+
+2011-01-19 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ PR tree-optimization/46021
+ * gcc.dg/tree-ssa/20040204-1.c: Do not XFAIL on spu-*-*.
+
+2011-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47290
+ * g++.dg/torture/pr47290.C: New test.
+
+2011-01-18 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47240
+ * gfortran.dg/proc_ptr_comp_29.f90: New.
+
+2011-01-18 Dominique d'Humieres <dominiq@lps.ens.fr>
+
+ PR testsuite/41146
+ * gcc.target/powerpc/asm-es-2.c: Adjust regular expression for
+ powerpc-apple-darwin9.
+
+2011-01-18 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/47299
+ * gcc.c-torture/execute/pr47299.c: New test.
+
+2011-01-17 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-virtual.C: New.
+
+2011-01-17 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/47331
+ * gfortran.dg/gomp/pr47331.f90: New test.
+
+2011-01-17 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47314
+ * objc.dg/selector-warn-1.m: New.
+ * obj-c++.dg/selector-warn-1.mm: New.
+
+2011-01-17 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/tree-ssa/vrp51.c: Prefix each "bug." string with "vrp.".
+ Update dg-final accordingly.
+
+2011-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.old-deja/g++.other/init19.C: Don't XFAIL on mips-sgi-irix*.
+
+2011-01-17 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/guality/pr36728-1.c: Replace XFAIL for s390(x) with a
+ target check.
+ * gcc.dg/guality/pr36728-2.c: Likewise.
+
+2011-01-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47313
+ * g++.dg/torture/pr47313.C: New testcase.
+
+2011-01-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/47318
+ * gcc.target/i386/avx-vmaskmovpd-1.c: New.
+ * gcc.target/i386/avx-vmaskmovpd-2.c: Likewise.
+ * gcc.target/i386/avx-vmaskmovps-1.c: Likewise.
+ * gcc.target/i386/avx-vmaskmovps-1.c: Likewise.
+
+ * gcc.target/i386/avx-vmaskmovpd-256-1.c (avx_test): Load mask
+ as __m256i.
+ * gcc.target/i386/avx-vmaskmovpd-256-2.c (avx_test): Likewise.
+ * gcc.target/i386/avx-vmaskmovps-256-1.c (avx_test): Likewise.
+ * gcc.target/i386/avx-vmaskmovps-256-2.c (avx_test): Likewise.
+
+2011-01-17 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/45967
+ * gcc.dg/torture/pr45967-2.c: New testcase.
+ * gcc.dg/torture/pr45967-3.c: Likewise.
+
+2011-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR testsuite/47325
+ * g++.dg/ext/pr47213.C: Require visibility.
+
+2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.dg/fixed-point/composite-type.c: Pass -Wno-unused.
+ * gcc.dg/fixed-point/struct-union.c: Update error messages.
+
+2011-01-16 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * gcc.c-torture/execute/20101011-1.c: Skip test for MIPS16
+ Linux-based targets.
+
+2011-01-13 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/47276
+ * gcc.dg/pr47276.c: New testcase.
+
+2011-01-15 Giovanni Funchal <gafunchal@gmail.com>
+ Jonathan Wakely <jwakely.gcc@gmail.com>
+
+ PR c++/33558
+ * g++.dg/other/pr33558.C: New.
+ * g++.dg/other/pr33558-2.C: New.
+
+2011-01-14 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/45934
+ PR tree-optimization/46302
+ * g++.dg/ipa/devirt-c-1.C: New test.
+ * g++.dg/ipa/devirt-c-2.C: Likewise.
+ * g++.dg/ipa/devirt-c-3.C: Likewise.
+ * g++.dg/ipa/devirt-c-4.C: Likewise.
+ * g++.dg/ipa/devirt-c-5.C: Likewise.
+ * g++.dg/ipa/devirt-c-6.C: Likewise.
+ * g++.dg/ipa/devirt-6.C: Likewise.
+ * g++.dg/ipa/devirt-d-1.C: Likewise.
+ * g++.dg/torture/pr45934.C: Likewise.
+
+2011-01-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/variadic105.C: New.
+
+2011-01-08 Dominique d'Humieres <dominiq@lps.ens.fr>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR objc/45989
+ * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c
+ (switchfiles): XFAIL objc.dg-struct-layout-encoding-1/t02[57-9]_main.m
+ execution tests on i?86-*-*, x86_64-*-* and
+ powerpc*-apple-darwin* && ilp32.
+ XFAIL objc.dg-struct-layout-encoding-1/t03[01]_main.m execution
+ tests on i?86-*-* and x86_64-*-*.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47280
+ * g++.dg/opt/pr47280.C: New testcase.
+
+2011-01-14 Jason Merrill <jason@redhat.com>
+
+ * g++.dg/cpp0x/constexpr-regress1.C: New.
+
+ * g++.dg/ext/flexary2.C: New.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/47281
+ * gcc.dg/torture/pr47281.c: New testcase.
+ * gcc.dg/tree-ssa/pr46076.c: XFAIL.
+
+2011-01-14 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/47286
+ * gcc.dg/tree-ssa/pr47286.c: New testcase.
+
+2011-01-13 Kai Tietz <kai.tietz@onevision.com>
+
+ PR c++/47213
+ * g++.dg/ext/pr47213.C: New.
+
+2011-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gfortran.dg/cray_pointers_2.f90: Use dg-timeout-factor 4.
+
+2011-01-13 Tobias Burnus <burnus@net-b.de>
+ Mikael Morin <mikael@gcc.gnu.org>
+
+ PR fortran/45848
+ PR fortran/47204
+ * gfortran.dg/select_type_20.f90: New.
+ * gfortran.dg/select_type_21.f90: New.
+
+2011-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ PR target/47251
+ * gcc.target/powerpc/pr47251.c: New file, test PR 47251 fix.
+
+2011-01-13 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * gcc.dg/guality/pr36728-1.c: Disable arg1/2 checks for s390 and s390x.
+ * gcc.dg/guality/pr36728-2.c: Likewise.
+
+2011-01-13 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/PR46973
+ * g++.dg/debug/dwarf2/template-params-9.C: New test.
+
+2011-01-13 Andrey Belevantsev <abel@ispras.ru>
+
+ PR rtl-optimization/45352
+ * gcc.dg/pr45352-3.c: New.
+
+2011-01-12 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
+
+ * g++.dg/cpp0x/range-for4.C: Delete useless include and duplicated
+ comment.
+ * g++.dg/cpp0x/range-for8.C: New.
+ * g++.dg/cpp0x/range-for9.C: New.
+
+2011-01-12 Kai Tietz <kai.tietz@onevision.com>
+
+ PR debug/47209
+ * g++.dg/debug/pr47209.C: New.
+
+2011-01-12 Richard Guenther <rguenther@suse.de>
+
+ PR lto/47259
+ * gcc.dg/lto/pr47259_0.c: New testcase.
+ * gcc.dg/lto/pr47259_1.c: Likewise.
+
+2011-01-12 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/Object1.h: Add copyright header, update
+ comments. Add a TEST_SUITE_ADDITIONS category for GNU runtime.
+ Amend NeXT version to declare a TEST_SUITE_ADDITIONS carrying the
+ methods missing from the OBJC2 Object.
+ * objc-obj-c++-shared/Object1-implementation.h: Add copyright header.
+ Amend implementation to use a TEST_SUITE_ADDITIONS category for both
+ GNU and NeXT runtimes.
+ * objc-obj-c++-shared/Object1.mm: Remove redundant header, update
+ comments.
+ * objc-obj-c++-shared/Object1.m: Likewise.
+ * objc.dg/encode-3.m: Update header use. Amend to be API2 compatible.
+ * objc.dg/proto-qual-1.m: Likewise.
+ * obj-c++.dg/proto-lossage-3.mm: Likewise.
+ * obj-c++.dg/proto-qual-1.mm: Likewise.
+
+2011-01-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR testsuite/33033
+ * gcc.dg/20061124-1.c: Pass -mcpu=v9 on the SPARC.
+
+2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ Fixed the Objective-C++ testsuite and updated all tests.
+ * lib/obj-c++.exp (obj-c++_init): Declare and set
+ gcc_warning_prefix and gcc_error_prefix.
+ * obj-c++.dg/attributes/categ-attribute-2.mm: Fixed usage of
+ 'dg-warning', 'dg-message' and 'dg-error'.
+ * obj-c++.dg/class-extension-3.mm: Likewise.
+ * obj-c++.dg/class-protocol-1.mm: Likewise.
+ * obj-c++.dg/encode-7.mm: Likewise.
+ * obj-c++.dg/exceptions-3.mm: Likewise.
+ * obj-c++.dg/exceptions-5.mm: Likewise.
+ * obj-c++.dg/method-12.mm: Likewise.
+ * obj-c++.dg/method-13.mm: Likewise.
+ * obj-c++.dg/method-15.mm: Likewise.
+ * obj-c++.dg/method-16.mm: Likewise.
+ * obj-c++.dg/method-4.mm: Likewise.
+ * obj-c++.dg/method-8.mm: Likewise.
+ * obj-c++.dg/method-conflict-1.mm: Likewise.
+ * obj-c++.dg/method-conflict-2.mm: Likewise.
+ * obj-c++.dg/method-conflict-3.mm: Likewise. Also, removed FIXME
+ and uncommented second part of the testcase now that the testsuite
+ works correctly.
+ * obj-c++.dg/method-conflict-4.mm: Likewise. Also, removed FIXME
+ and uncommented second part of the testcase now that the testsuite
+ works correctly.
+ * obj-c++.dg/private-1.mm: Likewise.
+ * obj-c++.dg/proto-lossage-4.mm: Likewise.
+ * obj-c++.dg/syntax-error-7.mm: Likewise.
+ * obj-c++.dg/warn5.mm: Likewise.
+ * obj-c++.dg/property/at-property-14.mm: Likewise.
+ * obj-c++.dg/property/at-property-16.mm: Likewise, and removed
+ FIXME.
+ * obj-c++.dg/property/at-property-18.mm: Likewise.
+ * obj-c++.dg/property/at-property-20.mm: Likewise, and removed
+ FIXME.
+ * obj-c++.dg/property/at-property-21.mm: Likewise.
+ * obj-c++.dg/property/at-property-28.mm: Likewise.
+ * obj-c++.dg/property/at-property-5.mm: Likewise.
+ * obj-c++.dg/property/dynamic-2.mm: Likewise.
+ * obj-c++.dg/property/property-neg-3.mm: Likewise.
+ * obj-c++.dg/property/synthesize-11.mm: Likewise.
+ * obj-c++.dg/property/synthesize-6.mm: Likewise.
+ * obj-c++.dg/property/synthesize-8.mm: Likewise.
+ * obj-c++.dg/property/synthesize-9.mm: Likewise.
+ * obj-c++.dg/tls/diag-5.mm: Likewise.
+ * obj-c++.dg/ivar-invalid-type-1.mm: Removed FIXME and uncommented
+ dg-error, now matched correctly.
+
+2011-01-12 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/property/at-property-29.m: New.
+ * obj-c++.dg/property/at-property-29.mm: New.
+
+2011-01-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * go.test/go-test.exp (go-set-goarch): New proc.
+ (go-gc-tests): Use it.
+
+2011-01-11 Dodji Seketeli <dodji@redhat.com>
+
+ PR debug/46955
+ * g++.dg/debug/dwarf2/template-params-8.C: New test.
+
+2011-01-11 Richard Henderson <rth@redhat.com>
+
+ * gcc-dg/tree-ssa/vrp47.c: Disable for mn10300 as well.
+
+2011-01-11 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45721
+ PR lto/45375
+ * gcc.dg/lto/pr45721_1.c: New file.
+ * gcc.dg/lto/pr45721_0.c: New file.
+
+2011-01-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/46076
+ * gcc.dg/tree-ssa/pr46076.c: New testcase.
+
+2011-01-11 Jeff Law <law@redhat.com>
+
+ * PR tree-optimization/47086
+ * gcc.dg/pr47086.c: New test.
+
+2011-01-11 Jason Merrill <jason@redhat.com>
+
+ PR c++/46658
+ * g++.dg/template/new10.C: New.
+
+ PR c++/45520
+ * g++.dg/cpp0x/lambda/lambda-this3.C: New.
+
+2011-01-11 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/next-mapping.h: Add copyright header.
+ Split type definitions and NSConstantString class into...
+ * objc-obj-c++-shared/objc-test-suite-types.h: New.
+ * objc-obj-c++-shared/nsconstantstring-class.h: New.
+ * objc-obj-c++-shared/nsconstantstring-class-impl.h: New.
+ * objc-obj-c++-shared/nsconstantstring-class-impl.m: New.
+ * objc-obj-c++-shared/nsconstantstring-class-impl.mm: New.
+ * objc-obj-c++-shared/next-abi.h: Add copyright header, minor update
+ to comments.
+ * objc-obj-c++-shared/objc-test-suite-next-encode-assist.h: Adjust
+ encode defines for newer NeXT system headers.
+ * obj-c++.dg/template-4.mm: Adjust to use nsconstantstring headers.
+ * obj-c++.dg/torture/strings/string1.mm: Likewise.
+ * objc.dg/foreach-5.m: Likewise.
+ * objc.dg/foreach-2.m: Likewise.
+ * objc.dg/foreach-4.m: Likewise.
+ * objc.dg/torture/strings/string1.m: Likewise.
+ * objc.dg/torture/strings/string2.m: Likewise.
+ * objc.dg/torture/strings/string3.m: Likewise.
+ * objc.dg/torture/strings/string4.m: Likewise.
+ * obj-c++.dg/torture/strings/const-str-3.mm: Adjust to use type
+ header and stand alone.
+ * obj-c++.dg/strings/strings-2.mm: Likewise.
+ * objc.dg/torture/strings/const-str-3.m: Likewise.
+ * objc.dg/strings/strings-2.m: Likewise.
+ * objc.dg/strings/const-str-12b.m: Likewise.
+
+2011-01-12 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/32511
+ * gcc.dg/attr-weak-1.c: Adjust.
+
+2011-01-11 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/47051
+ * gfortran.dg/realloc_on_assign_2.f03 : Modify 'test1' to be
+ standard compliant and comment.
+
+2011-01-10 Jan Hubicka <jh@suse.cz>
+
+ PR lto/46083
+ * gcc.dg/initpri3.c: New testcase.
+
+2011-01-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR lto/47222
+ * g++.dg/torture/stackalign/test-unwind.h (g_edi): Mark it
+ externally visible.
+ (g_esi): Likewise.
+ (g_ebx): Likewise.
+ (g_ebp): Likewise.
+ (g_esp): Likewise.
+ (g_ebp_save): Likewise.
+ (g_esp_save): Likewise.
+
+2011-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/ipa/pr46984.C: Add dg-require-effective-target lto.
+
+2011-01-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR tree-optimization/46021
+ * gcc.dg/tree-ssa/20040204-1.c: Don't XFAIL on alpha*-*-*,
+ i?86-*-*, x86_64-*-*.
+
+2011-01-10 Jeff Law <law@redhat.com>
+
+ * PR tree-optimization/47141
+ * gcc.c-torture/compile/pr47141.c: New test.
+
+2011-01-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR testsuite/46230
+ * gcc.dg/vect/vect-vfa-slp.c: Remove XFAIL.
+ * gcc.dg/vect/slp-23.c: Remove XFAIL for SLP.
+ * gcc.dg/vect/slp-35.c: Remove XFAILs.
+ * gcc.dg/vect/no-tree-pre-slp-29.c: Likewise.
+
+ PR testsuite/46230
+ * gcc.dg/vect/vect-peel-1.c (main): Prevent initialization loop from
+ being vectorized. Adjust dg-final pattern. Remove XFAIL.
+ * gcc.dg/vect/vect-peel-2.c (main): Likewise.
+ * gcc.dg/vect/vect-peel-4.c (main): Prevent initialization loop from
+ being vectorized. Adjust dg-final pattern.
+
+ PR testsuite/46230
+ * gcc.dg/vect/pr33804.c: XFAIL only for ilp32.
+ * gcc.dg/vect/slp-24.c: Likewise.
+
+2011-01-10 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ PR c++/47218
+ * g++.dg/other/pr47218-1.C: New test file.
+ * g++.dg/other/pr47218.C: Likewise.
+ * g++.dg/other/pr47218.h: New supporting header.
+
+2011-01-09 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47232
+ * objc.dg/attributes/invalid-attribute-1.m: New.
+ * obj-c++.dg/attributes/invalid-attribute-1.mm: New.
+
+2011-01-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47224
+ * gfortran.dg/proc_ptr_comp_28.f90: New.
+
+2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
+
+ * obj-c++.dg/gnu-api-2-class.mm: Skip for Darwin < 9.
+ * obj-c++.dg/gnu-api-2-ivar.mm: Likewise.
+ * obj-c++.dg/gnu-api-2-method.mm: Likewise.
+ * obj-c++.dg/gnu-api-2-objc.mm: Likewise.
+ * obj-c++.dg/gnu-api-2-object.mm: Likewise.
+ * obj-c++.dg/gnu-api-2-property.mm: Likewise.
+ * obj-c++.dg/gnu-api-2-protocol.mm: Likewise.
+ * obj-c++.dg/gnu-api-2-sel.mm: Likewise.
+ * objc.dg/gnu-api-2-class.m: Likewise.
+ * objc.dg/gnu-api-2-ivar.m: Likewise.
+ * objc.dg/gnu-api-2-method.m: Likewise.
+ * objc.dg/gnu-api-2-objc.m: Likewise.
+ * objc.dg/gnu-api-2-object.m: Likewise.
+ * objc.dg/gnu-api-2-property.m: Likewise.
+ * objc.dg/gnu-api-2-protocol.m: Likewise.
+ * objc.dg/gnu-api-2-sel.m: Likewise.
+
+2011-01-09 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc.dg/foreach-1.m: Skip for Darwin < 9.
+ * objc.dg/objc-foreach-4.m: Likewise.
+ * objc.dg/objc-foreach-5.m: Skip for Darwin < 9, adjust headers.
+ * objc.dg/foreach-2.m: Skip for Darwin < 9, return self from init.
+ * objc.dg/foreach-4.m: Likewise.
+ * objc.dg/foreach-5.m: Likewise.
+ * objc.dg/foreach-3.m: Return self from init.
+
+2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/38536
+ * gfortran.dg/iso_c_binding_c_loc_char_1.f03: New test.
+
+2011-01-09 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46313
+ * gfortran.dg/class_35.f90: New.
+
+2011-01-08 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc.dg/foreach-1.m: Add "-Wall" to flags.
+
+2011-01-08 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ PR objc/47078
+ * objc.dg/invalid-method-2.m: New.
+ * obj-c++.dg/invalid-method-2.mm: New.
+
+2011-01-08 Paul Thomas <pault@gcc.gnu.org>
+
+ PR fortran/46896
+ * gfortran.dg/transpose_optimization_2.f90 : New test.
+
+2011-01-08 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optmization/46469
+ * g++.dg/torture/pr46469.C: New testcase.
+
+2011-01-08 Iain Sandoe <iains@gcc.gnu.org>
+
+ * objc-obj-c++-shared/next-mapping.h: Move code and definitions for
+ emulation of libobjc-gnu structure layout functionality to ..
+ * objc-obj-c++-shared/objc-test-suite-next-encode-assist.h: New.
+ * objc-obj-c++-shared/objc-test-suite-next-encode-assist-impl.h: New.
+ * objc/execute/bf-common.h: Adjust headers.
+ * objc/execute/bf-1.m: Likewise.
+ * objc/execute/bf-2.m: Likewise.
+ * objc/execute/bf-3.m: Likewise.
+ * objc/execute/bf-4.m: Likewise.
+ * objc/execute/bf-5.m: Likewise.
+ * objc/execute/bf-6.m: Likewise.
+ * objc/execute/bf-7.m: Likewise.
+ * objc/execute/bf-8.m: Likewise.
+ * objc/execute/bf-9.m: Likewise.
+ * objc/execute/bf-10.m: Likewise.
+ * objc/execute/bf-11.m: Likewise.
+ * objc/execute/bf-12.m: Likewise.
+ * objc/execute/bf-13.m: Likewise.
+ * objc/execute/bf-14.m: Likewise.
+ * objc/execute/bf-15.m: Likewise.
+ * objc/execute/bf-16.m: Likewise.
+ * objc/execute/bf-17.m: Likewise.
+ * objc/execute/bf-18.m: Likewise.
+ * objc/execute/bf-19.m: Likewise.
+ * objc/execute/bf-20.m: Likewise.
+ * objc/execute/bf-21.m: Likewise.
+ * objc/execute/bycopy-3.m: Adjust headers, add next-specific code for
+ objc_get_type_qualifiers ().
+
+2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/45777
+ * gfortran.dg/dependency_39.f90: New test.
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ Get builtins tests ready for linker plugin.
+ * gcc.c-torture/execute/builtins/memcpy-chk.c (s2,s3,l1): Mark volatile.
+ * gcc.c-torture/execute/builtins/memops-asm-lib.c (my_memcpy, my_bcopy,
+ my_memset, my_bzero): Mark used.
+ * gcc.c-torture/execute/builtins/memset-chk.c (l1, l3): Mark volatile.
+ * gcc.c-torture/execute/builtins/memmove-chk.c (s1,s2,s3,l1): Mark
+ volatile.
+ * gcc.c-torture/execute/builtins/mempcpy-chk.c (s2,s3,l1): Mark
+ volatile.
+
+2011-01-07 Jan Hubicka <jh@suse.cz>
+
+ PR tree-optimization/46367
+ * g++.dg/torture/pr46367.C: New file.
+
+2011-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/47201
+ * gcc.dg/pr47201.c: New test.
+
+ PR bootstrap/47187
+ * gcc.dg/tree-prof/pr47187.c: New test.
+
+2011-01-07 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/41580
+ * gfortran.dg/extends_type_of_3.f90: New.
+
+2011-01-07 Kai Tietz <kai.tietz@onevision.com>
+
+ * g++.dg/ext/dllexport-MI1.C: Adjust test.
+ * g++.dg/ext/dllimport-MI1.C: Likewise.
+ * g++.dg/ext/dllimport1.C: Add test for x86_64-*-mingw*.
+ * g++.dg/ext/dllimport10.C: Likewise.
+ * g++.dg/ext/dllimport11.C: Likewise.
+ * g++.dg/ext/dllimport12.C: Likewise.
+ * g++.dg/ext/dllimport13.C: Likewise.
+ * g++.dg/ext/dllimport2.C: Likewise.
+ * g++.dg/ext/dllimport3.C: Likewise.
+ * g++.dg/ext/dllimport4.C: Likewise.
+ * g++.dg/ext/dllimport5.C: Likewise.
+ * g++.dg/ext/dllimport6.C: Likewise.
+ * g++.dg/ext/dllimport8.C: Likewise.
+ * g++.dg/ext/dllimport9.C: Likewise.
+ * g++.dg/ext/selectany2.C: Enable test for x86_64-*-mingw*
+ targets, too. Additionally enable test for i?86-*-mingw*.
+ * g++.dg/ext/selectany1.C: Likewise.
+ Remove guard variable check.
+
+2011-01-07 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47189
+ PR fortran/47194
+ * gfortran.dg/storage_size_3.f08: Extended.
+
+2011-01-07 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/47022
+ * g++.dg/template/stdarg1.C: New test.
+
+2011-01-06 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/47195
+ * gfortran.dg/interface_33.f90: Fixed dg-error declarations.
+ * gfortran.dg/defined_operators_1.f90: Split the subroutine
+ from the interface of functions to not hide the errors that
+ shall be tested.
+
+2011-01-06 Jan Hubicka <jh@suse.cz>
+
+ * gcc.dg/lto/pr47188_0.c: New testcase.
+ * gcc.dg/lto/pr47188_1.c: New testcase.
+
+2011-01-06 Daniel Franke <franke.daniel@gmail.com>
+
+ PR fortran/33117
+ PR fortran/46478
+ * gfortran.dg/interface_33.f90: New test.
+
+2011-01-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR c/47150
+ * gcc.c-torture/compile/pr47150.c: New test.
+
+2011-01-06 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/47139
+ * gcc.dg/vect/pr47139.c: New test.
+
+2011-01-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47180
+ * gfortran.dg/extends_type_of_2.f03: New.
+
+2011-01-05 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gcc.dg/stack-usage-1.c (SIZE): Provide proper value for __SPU__.
+
+2011-01-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/opt14.adb: New test.
+
+2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/46017
+ * gfortran.dg/allocate_error_2.f90: New test.
+
+2011-01-05 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/47024
+ * gfortran.dg/storage_size_3.f08: New.
+
+2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47154
+ * gfortran.dg/namelist_68.f90: New test.
+
+2011-01-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/unchecked_convert8.ad[sb]: New test.
+
+2011-01-04 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46448
+ * gfortran.dg/class_34.f90: New.
+
+2011-01-04 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gcc.dg/torture/builtin-cproj-1.c: On the __SPU__ target, do not
+ use __builtin_inff. Skip all single-precision tests that require
+ Infinity.
+
+2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * g++.dg/torture/pr46111.C: Add dg-require-effective-target pthread.
+
+2011-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47148
+ * gcc.c-torture/execute/pr47148.c: New test.
+
+ PR tree-optimization/47155
+ * gcc.c-torture/execute/pr47155.c: New test.
+
+ PR rtl-optimization/47157
+ * gcc.c-torture/compile/pr47157.c: New test.
+
+2011-01-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
+
+ * gcc.dg/torture/vector-shift2.c (schar): Define.
+ (main): Always use schar or uchar instead of plain "char" to avoid
+ dependencies on implementation-defined char signedness.
+
+2011-01-03 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46801
+ * gnat.dg/pack9.adb: Remove xfail.
+
+2011-01-03 Martin Jambor <mjambor@suse.cz>
+
+ PR tree-optimization/46984
+ * g++.dg/ipa/pr46984.C: New test.
+
+2011-01-02 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/46408
+ * gfortran.dg/class_19.f03: Adjust counting of __builtin_free.
+
+2011-01-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/47140
+ * gcc.c-torture/compile/pr47140.c: New test.
+
+ PR rtl-optimization/47028
+ * gcc.dg/pr47028.c: New test.
+
+2011-01-02 Nicola Pero <nicola.pero@meta-innovation.com>
+
+ * objc.dg/protocol-forward-1.m: Removed TODO.
+ * objc.dg/protocol-forward-2.m: New.
+ * obj-c++.dg/protocol-forward-2.mm: Removed TODO.
+ * obj-c++.dg/protocol-forward-2.mm: New.
+
+2011-01-01 Kai Tietz <kai.tietz@onevision.com>
+
+ PR target/38662
+ * g++.dg/eh/pr38662.C: New testcase.
+
+2011-01-01 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * gcc.target/arm/vfp-1.c (test_ldst): Fixed fsts test to
+ scan for newline '\n'.
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index f6b2a16..19a06cd 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -5,1488 +5,8 @@
* caf/mpi.c (_gfortran_caf_register, _gfortran_caf_deregister): Ditto.
* caf/libcaf.h (STAT_STOPPED_IMAGE): Sync with libgfortran.h.
(_gfortran_caf_register, _gfortran_caf_deregister): Update prototype.
-
-2011-12-22 Janne Blomqvist <jb@gcc.gnu.org>
- Tobias Burnus <burnus@net-b.de>
-
- PR libfortran/51646
- * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
- flags, omit mode argument when flags argument does not have
- O_CREAT.
- * io/unix.c (tempfile): Use POSIX mode flags.
- * configure: Regenerate.
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure: Regenerate.
-
-2011-11-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/51090
- * runtime/main.c (find_addr2line): NULL check before proceeding.
-
-2011-11-10 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
- * intrinsics/random.c (rnumber_4): Remove inline attribute.
- (rnumber_8, rnumber_10, rnumber_16): Likewise.
- * intrinsics/system_clock.c (gf_gettime_mono): Likewise.
- * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
- (gf_cputime): Add inline attribute for MingW version.
- * io/format.c (format_hash): Remove inline attribute.
- * io/io.h (memset4): Inline function from transfer.c and write.c
- moved here.
- * io/transfer.c (min_off): Remove inline attribute.
- (memset4): Move to io.h.
- * io/write.c (memset4): Likewise.
- (memcpy4): Remove inline attribute.
- * io/write_float.def (calculate_exp): Likewise.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/time_1.h (gf_gettime): Simplify time() usage.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- * configure.ac (AC_STDC_HEADERS): Remove.
- (AC_HEADER_TIME): Remove.
- (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
- of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
- (AC_CHECK_MEMBERS): Use single invocation.
- (AC_CHECK_FUNCS): Move into single invocation of
- AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * intrinsics/clock.c: Include time.h.
- (mclock): Assume clock() is present.
- (mclock8): Likewise.
- * intrinsics/ctime.c (strctime): Assume strftime is present.
- (fdate): Assume time() is present.
- (fdate_sub): Likewise.
- (ctime): Likewise.
- * intrinsics/date_and_time.c: Don't provide abs macro.
- (HAVE_NO_DATE_TIME): Remove code related to macro which is never
- set.
- * intrinsics/execute_command_line.c: Assume stdlib.h is present.
- * intrinsics/exit.c: Likewise.
- * intrinsics/extends_type_of.c: Likewise.
- * intrinsics/gerror.c: Assume strerror() is present.
- * intrinsics/kill.c: Assume signal.h is present.
- * intrinsics/malloc.c: Assume stdlib.h is present.
- * intrinsics/move_alloc.c: Likewise.
- * intrinsics/perror.c: Assume perror() is present.
- * intrinsics/signal.c: Assume signal.h is present.
- * intrinsics/stat.c: Assume stdlib.h is present.
- * intrinsics/system.c: Likewise.
- * intrinsics/time.c: Include time.h, assume time() is present.
- * intrinsics/time_1.h: Conditionally include sys/time.h,
- unconditionally time.h.
- (gf_cputime): Do division in double, fallback using clock().
- (gf_gettime): Assume time() is present.
- * intrinsics/umask.c: Assume stdlib.h is present.
- * runtime/backtrace.c: Likewise.
- * runtime/compile_options.c: Assume signal.h is present, assume
- C89 signals are present.
- * runtime/error.c: Assume signal.h and stdlib.h are present.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/46686
- * runtime/backtrace.c (show_backtrace): Fix incorrect comment.
-
-2011-11-09 Tobias Burnus <burnus@net-b.de>
-
- * configure.ac: Make more cross-compile friendly.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR fortran/46686
- * configure.ac: Don't check execinfo.h, backtrace,
- backtrace_symbols_fd. Check execve instead of execvp. Call
- GCC_CHECK_UNWIND_GETIPINFO.
- * runtime/backtrace.c: Don't include unused headers, include
- limits.h and unwind.h.
- (CAN_FORK): Check execve instead of execvp.
- (GLIBC_BACKTRACE): Remove.
- (bt_header): Conform to gdb backtrace format.
- (struct bt_state): New struct.
- (trace_function): New function.
- (show_backtrace): Use _Unwind_Backtrace from libgcc instead of
- glibc backtrace functions.
- * Makefile.in: Regenerated.
- * aclocal.m4: Regenerated.
- * config.h.in: Regenerated.
- * configure: Regenerated.
-
-2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/50016
- * io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
- * io/unix.c (buf_flush): Don't call _commit.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47972
- * runtime/error.c (gf_strerror): Silence warning.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47972
- * runtime/error.c (gf_strerror): Silence warning.
-
-2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47970
- * intrinsics/c99_functions.c (round): Move higher in the file.
-
-2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/45723
- * io/open.c (new_unit): Don't check file size before attempting
- seek.
-
-2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * Makefile.am (AM_CPPFLAGS): Add
- -I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc.
- * Makefile.in: Regenerate.
- * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove.
- * configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise.
- * configure: Regenerate.
- * config.h.in: Regenerate.
-
-2011-11-01 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/io.h (next_available_newunit): Remove prototype.
- * io/unit.h (next_available_newunit): Make variable static,
- initialize it.
- (init_units): Don't initialize next_available_newunit.
- (get_unique_unit_number): Use atomic builtin if available.
-
-2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/inquire.c (inquire_via_unit): Check whether we're at the
- beginning or end if the position is unspecified. If the position
- is not one of the 3 standard ones, return unspecified.
- * io/io.h (update_position): Remove prototype.
- * io/transfer.c (next_record): Set the position to unspecified,
- letting inquire figure it out more exactly when needed.
- * io/unit.c (update_position): Remove function.
-
-2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.h (struct stream): Add size function pointer.
- (ssize): New inline function.
- (file_length): Remove prototype.
- * io/unix.c (raw_size): New function.
- (raw_init): Initialize st.size pointer.
- (buf_size): New function.
- (buf_init): Initialize st.size pointer.
- (open_internal): Likewise.
- (open_internal4): Likewise.
- (file_length): Remove function.
- * io/file_pos.c (st_rewind): Use ssize instead of file_length.
- * io/open.c (test_endfile): Likewise.
- * io/transfer.c (data_transfer_init): Likewise.
- (next_record_r): Likewise.
- (next_record_w): Likewise.
- * io/unit.c (update_position): Likewise.
-
-2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/file_pos.c (st_rewind): Handle regular and special files
- identically.
- * io/intrinsics.c (fseek_sub): Don't check whether we think the
- file is seekable, just do what the caller says.
- * io/transfer.c (skip_record): First try to seek, then fallback to
- reading and throwing away what we read.
- * io/unit.c (update_position): Don't check whether file is
- seekable, just try to do what we're told.
- (unit_truncate): Likewise.
- * io/unix.c (struct unix_stream): Remove special_file flag.
- (buf_flush): Remove code for handling unseekable files.
- (buf_seek): Likewise.
- (fd_to_stream): Use buffered IO only for regular files.
- (file_length): Remove is_seekable() call.
- (is_seekable): Remove function.
- (is_special): Likewise.
- * io/unix.h: Remove prototypes for is_seekable and is_special.
-
-2011-09-10 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49479
- * generated/m4/ifunction.m4: Always call internal_malloc_size
- even when there is a zero-sized return array.
- * generated/generated/maxloc1_16_i16.c: Regenerated.
- * generated/generated/maxloc1_16_i1.c: Regenerated.
- * generated/generated/maxloc1_16_i2.c: Regenerated.
- * generated/generated/maxloc1_16_i4.c: Regenerated.
- * generated/generated/maxloc1_16_i8.c: Regenerated.
- * generated/generated/maxloc1_16_r10.c: Regenerated.
- * generated/generated/maxloc1_16_r16.c: Regenerated.
- * generated/generated/maxloc1_16_r4.c: Regenerated.
- * generated/generated/maxloc1_16_r8.c: Regenerated.
- * generated/generated/maxloc1_4_i16.c: Regenerated.
- * generated/generated/maxloc1_4_i1.c: Regenerated.
- * generated/generated/maxloc1_4_i2.c: Regenerated.
- * generated/generated/maxloc1_4_i4.c: Regenerated.
- * generated/generated/maxloc1_4_i8.c: Regenerated.
- * generated/generated/maxloc1_4_r10.c: Regenerated.
- * generated/generated/maxloc1_4_r16.c: Regenerated.
- * generated/generated/maxloc1_4_r4.c: Regenerated.
- * generated/generated/maxloc1_4_r8.c: Regenerated.
- * generated/generated/maxloc1_8_i16.c: Regenerated.
- * generated/generated/maxloc1_8_i1.c: Regenerated.
- * generated/generated/maxloc1_8_i2.c: Regenerated.
- * generated/generated/maxloc1_8_i4.c: Regenerated.
- * generated/generated/maxloc1_8_i8.c: Regenerated.
- * generated/generated/maxloc1_8_r10.c: Regenerated.
- * generated/generated/maxloc1_8_r16.c: Regenerated.
- * generated/generated/maxloc1_8_r4.c: Regenerated.
- * generated/generated/maxloc1_8_r8.c: Regenerated.
- * generated/generated/maxval_i16.c: Regenerated.
- * generated/generated/maxval_i1.c: Regenerated.
- * generated/generated/maxval_i2.c: Regenerated.
- * generated/generated/maxval_i4.c: Regenerated.
- * generated/generated/maxval_i8.c: Regenerated.
- * generated/generated/maxval_r10.c: Regenerated.
- * generated/generated/maxval_r16.c: Regenerated.
- * generated/generated/maxval_r4.c: Regenerated.
- * generated/generated/maxval_r8.c: Regenerated.
- * generated/generated/minloc1_16_i16.c: Regenerated.
- * generated/generated/minloc1_16_i1.c: Regenerated.
- * generated/generated/minloc1_16_i2.c: Regenerated.
- * generated/generated/minloc1_16_i4.c: Regenerated.
- * generated/generated/minloc1_16_i8.c: Regenerated.
- * generated/generated/minloc1_16_r10.c: Regenerated.
- * generated/generated/minloc1_16_r16.c: Regenerated.
- * generated/generated/minloc1_16_r4.c: Regenerated.
- * generated/generated/minloc1_16_r8.c: Regenerated.
- * generated/generated/minloc1_4_i16.c: Regenerated.
- * generated/generated/minloc1_4_i1.c: Regenerated.
- * generated/generated/minloc1_4_i2.c: Regenerated.
- * generated/generated/minloc1_4_i4.c: Regenerated.
- * generated/generated/minloc1_4_i8.c: Regenerated.
- * generated/generated/minloc1_4_r10.c: Regenerated.
- * generated/generated/minloc1_4_r16.c: Regenerated.
- * generated/generated/minloc1_4_r4.c: Regenerated.
- * generated/generated/minloc1_4_r8.c: Regenerated.
- * generated/generated/minloc1_8_i16.c: Regenerated.
- * generated/generated/minloc1_8_i1.c: Regenerated.
- * generated/generated/minloc1_8_i2.c: Regenerated.
- * generated/generated/minloc1_8_i4.c: Regenerated.
- * generated/generated/minloc1_8_i8.c: Regenerated.
- * generated/generated/minloc1_8_r10.c: Regenerated.
- * generated/generated/minloc1_8_r16.c: Regenerated.
- * generated/generated/minloc1_8_r4.c: Regenerated.
- * generated/generated/minloc1_8_r8.c: Regenerated.
- * generated/generated/minval_i16.c: Regenerated.
- * generated/generated/minval_i1.c: Regenerated.
- * generated/generated/minval_i2.c: Regenerated.
- * generated/generated/minval_i4.c: Regenerated.
- * generated/generated/minval_i8.c: Regenerated.
- * generated/generated/minval_r10.c: Regenerated.
- * generated/generated/minval_r16.c: Regenerated.
- * generated/generated/minval_r4.c: Regenerated.
- * generated/generated/minval_r8.c: Regenerated.
- * generated/generated/product_c10.c: Regenerated.
- * generated/generated/product_c16.c: Regenerated.
- * generated/generated/product_c4.c: Regenerated.
- * generated/generated/product_c8.c: Regenerated.
- * generated/generated/product_i16.c: Regenerated.
- * generated/generated/product_i1.c: Regenerated.
- * generated/generated/product_i2.c: Regenerated.
- * generated/generated/product_i4.c: Regenerated.
- * generated/generated/product_i8.c: Regenerated.
- * generated/generated/product_r10.c: Regenerated.
- * generated/generated/product_r16.c: Regenerated.
- * generated/generated/product_r4.c: Regenerated.
- * generated/generated/product_r8.c: Regenerated.
- * generated/generated/sum_c10.c: Regenerated.
- * generated/generated/sum_c16.c: Regenerated.
- * generated/generated/sum_c4.c: Regenerated.
- * generated/generated/sum_c8.c: Regenerated.
- * generated/generated/sum_i16.c: Regenerated.
- * generated/generated/sum_i1.c: Regenerated.
- * generated/generated/sum_i2.c: Regenerated.
- * generated/generated/sum_i4.c: Regenerated.
- * generated/generated/sum_i8.c: Regenerated.
- * generated/generated/sum_r10.c: Regenerated.
- * generated/generated/sum_r16.c: Regenerated.
- * generated/generated/sum_r4.c: Regenerated.
- * generated/generated/sum_r8.c: Regenerated.
-
-2011-09-01 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * generated/bessel_r4.c: Regenerated.
- * generated/bessel_r8.c: Regenerated.
- * generated/bessel_r10.c: Regenerated.
- * generated/bessel_r16.c: Regenerated.
-
-2011-08-29 Tobias Burnus <burnus@net-b.de>
-
- * caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
- * caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
- actually free memory and add error diagnostic.
- (_gfortran_caf_finalize): Add additional free calls.
- * caf/single.c (_gfortran_caf_deregister): Modify prototype,
- actually free memory and add error diagnostic.
- (_gfortran_caf_finalize): Add additional free calls.
-
-2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/50192
- * intrinsics/string_intrinsics.c (memcmp_char4): New function.
- * intrinsics/string_intrinsics_inc.c: New macro MEMCMP, either
- set to memcmp or memcmp_char4.
- (compare_string): Use MEMCMP, with correct size for it.
- * libgfortran.h: Add prototype for memcmp_char4.
-
-2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/40866
- * generated/iall_i1.c: Regenerated.
- * generated/iall_i16.c: Regenerated.
- * generated/iall_i2.c: Regenerated.
- * generated/iall_i4.c: Regenerated.
- * generated/iall_i8.c: Regenerated.
- * generated/iany_i1.c: Regenerated.
- * generated/iany_i16.c: Regenerated.
- * generated/iany_i2.c: Regenerated.
- * generated/iany_i4.c: Regenerated.
- * generated/iany_i8.c: Regenerated.
- * generated/iparity_i1.c: Regenerated.
- * generated/iparity_i16.c: Regenerated.
- * generated/iparity_i2.c: Regenerated.
- * generated/iparity_i4.c: Regenerated.
- * generated/iparity_i8.c: Regenerated.
- * generated/norm2_r10.c: Regenerated.
- * generated/norm2_r16.c: Regenerated.
- * generated/norm2_r4.c: Regenerated.
- * generated/norm2_r8.c: Regenerated.
- * generated/parity_l1.c: Regenerated.
- * generated/parity_l16.c: Regenerated.
- * generated/parity_l2.c: Regenerated.
- * generated/parity_l4.c: Regenerated.
- * generated/parity_l8.c: Regenerated.
- * generated/misc_specifics.F90: Regenerated (comment change).
- * generated/_abs_c10.F90: Regenerated (comment change).
- * generated/_abs_c16.F90: Regenerated (comment change).
- * generated/_abs_c4.F90: Regenerated (comment change).
- * generated/_abs_c8.F90: Regenerated (comment change).
- * generated/_abs_i16.F90: Regenerated (comment change).
- * generated/_abs_i4.F90: Regenerated (comment change).
- * generated/_abs_i8.F90: Regenerated (comment change).
- * generated/_abs_r10.F90: Regenerated (comment change).
- * generated/_abs_r16.F90: Regenerated (comment change).
- * generated/_abs_r4.F90: Regenerated (comment change).
- * generated/_abs_r8.F90: Regenerated (comment change).
- * generated/_acosh_r10.F90: Regenerated (comment change).
- * generated/_acosh_r16.F90: Regenerated (comment change).
- * generated/_acosh_r4.F90: Regenerated (comment change).
- * generated/_acosh_r8.F90: Regenerated (comment change).
- * generated/_acos_r10.F90: Regenerated (comment change).
- * generated/_acos_r16.F90: Regenerated (comment change).
- * generated/_acos_r4.F90: Regenerated (comment change).
- * generated/_acos_r8.F90: Regenerated (comment change).
- * generated/_aimag_c10.F90: Regenerated (comment change).
- * generated/_aimag_c16.F90: Regenerated (comment change).
- * generated/_aimag_c4.F90: Regenerated (comment change).
- * generated/_aimag_c8.F90: Regenerated (comment change).
- * generated/_aint_r10.F90: Regenerated (comment change).
- * generated/_aint_r16.F90: Regenerated (comment change).
- * generated/_aint_r4.F90: Regenerated (comment change).
- * generated/_aint_r8.F90: Regenerated (comment change).
- * generated/_anint_r10.F90: Regenerated (comment change).
- * generated/_anint_r16.F90: Regenerated (comment change).
- * generated/_anint_r4.F90: Regenerated (comment change).
- * generated/_anint_r8.F90: Regenerated (comment change).
- * generated/_asinh_r10.F90: Regenerated (comment change).
- * generated/_asinh_r16.F90: Regenerated (comment change).
- * generated/_asinh_r4.F90: Regenerated (comment change).
- * generated/_asinh_r8.F90: Regenerated (comment change).
- * generated/_asin_r10.F90: Regenerated (comment change).
- * generated/_asin_r16.F90: Regenerated (comment change).
- * generated/_asin_r4.F90: Regenerated (comment change).
- * generated/_asin_r8.F90: Regenerated (comment change).
- * generated/_atan2_r10.F90: Regenerated (comment change).
- * generated/_atan2_r16.F90: Regenerated (comment change).
- * generated/_atan2_r4.F90: Regenerated (comment change).
- * generated/_atan2_r8.F90: Regenerated (comment change).
- * generated/_atanh_r10.F90: Regenerated (comment change).
- * generated/_atanh_r16.F90: Regenerated (comment change).
- * generated/_atanh_r4.F90: Regenerated (comment change).
- * generated/_atanh_r8.F90: Regenerated (comment change).
- * generated/_atan_r10.F90: Regenerated (comment change).
- * generated/_atan_r16.F90: Regenerated (comment change).
- * generated/_atan_r4.F90: Regenerated (comment change).
- * generated/_atan_r8.F90: Regenerated (comment change).
- * generated/_conjg_c10.F90: Regenerated (comment change).
- * generated/_conjg_c16.F90: Regenerated (comment change).
- * generated/_conjg_c4.F90: Regenerated (comment change).
- * generated/_conjg_c8.F90: Regenerated (comment change).
- * generated/_cosh_r10.F90: Regenerated (comment change).
- * generated/_cosh_r16.F90: Regenerated (comment change).
- * generated/_cosh_r4.F90: Regenerated (comment change).
- * generated/_cosh_r8.F90: Regenerated (comment change).
- * generated/_cos_c10.F90: Regenerated (comment change).
- * generated/_cos_c16.F90: Regenerated (comment change).
- * generated/_cos_c4.F90: Regenerated (comment change).
- * generated/_cos_c8.F90: Regenerated (comment change).
- * generated/_cos_r10.F90: Regenerated (comment change).
- * generated/_cos_r16.F90: Regenerated (comment change).
- * generated/_cos_r4.F90: Regenerated (comment change).
- * generated/_cos_r8.F90: Regenerated (comment change).
- * generated/_dim_i16.F90: Regenerated (comment change).
- * generated/_dim_i4.F90: Regenerated (comment change).
- * generated/_dim_i8.F90: Regenerated (comment change).
- * generated/_dim_r10.F90: Regenerated (comment change).
- * generated/_dim_r16.F90: Regenerated (comment change).
- * generated/_dim_r4.F90: Regenerated (comment change).
- * generated/_dim_r8.F90: Regenerated (comment change).
- * generated/_exp_c10.F90: Regenerated (comment change).
- * generated/_exp_c16.F90: Regenerated (comment change).
- * generated/_exp_c4.F90: Regenerated (comment change).
- * generated/_exp_c8.F90: Regenerated (comment change).
- * generated/_exp_r10.F90: Regenerated (comment change).
- * generated/_exp_r16.F90: Regenerated (comment change).
- * generated/_exp_r4.F90: Regenerated (comment change).
- * generated/_exp_r8.F90: Regenerated (comment change).
- * generated/_log10_r10.F90: Regenerated (comment change).
- * generated/_log10_r16.F90: Regenerated (comment change).
- * generated/_log10_r4.F90: Regenerated (comment change).
- * generated/_log10_r8.F90: Regenerated (comment change).
- * generated/_log_c10.F90: Regenerated (comment change).
- * generated/_log_c16.F90: Regenerated (comment change).
- * generated/_log_c4.F90: Regenerated (comment change).
- * generated/_log_c8.F90: Regenerated (comment change).
- * generated/_log_r10.F90: Regenerated (comment change).
- * generated/_log_r16.F90: Regenerated (comment change).
- * generated/_log_r4.F90: Regenerated (comment change).
- * generated/_log_r8.F90: Regenerated (comment change).
- * generated/_mod_i16.F90: Regenerated (comment change).
- * generated/_mod_i4.F90: Regenerated (comment change).
- * generated/_mod_i8.F90: Regenerated (comment change).
- * generated/_mod_r10.F90: Regenerated (comment change).
- * generated/_mod_r16.F90: Regenerated (comment change).
- * generated/_mod_r4.F90: Regenerated (comment change).
- * generated/_mod_r8.F90: Regenerated (comment change).
- * generated/_sign_i16.F90: Regenerated (comment change).
- * generated/_sign_i4.F90: Regenerated (comment change).
- * generated/_sign_i8.F90: Regenerated (comment change).
- * generated/_sign_r10.F90: Regenerated (comment change).
- * generated/_sign_r16.F90: Regenerated (comment change).
- * generated/_sign_r4.F90: Regenerated (comment change).
- * generated/_sign_r8.F90: Regenerated (comment change).
- * generated/_sinh_r10.F90: Regenerated (comment change).
- * generated/_sinh_r16.F90: Regenerated (comment change).
- * generated/_sinh_r4.F90: Regenerated (comment change).
- * generated/_sinh_r8.F90: Regenerated (comment change).
- * generated/_sin_c10.F90: Regenerated (comment change).
- * generated/_sin_c16.F90: Regenerated (comment change).
- * generated/_sin_c4.F90: Regenerated (comment change).
- * generated/_sin_c8.F90: Regenerated (comment change).
- * generated/_sin_r10.F90: Regenerated (comment change).
- * generated/_sin_r16.F90: Regenerated (comment change).
- * generated/_sin_r4.F90: Regenerated (comment change).
- * generated/_sin_r8.F90: Regenerated (comment change).
- * generated/_sqrt_c10.F90: Regenerated (comment change).
- * generated/_sqrt_c16.F90: Regenerated (comment change).
- * generated/_sqrt_c4.F90: Regenerated (comment change).
- * generated/_sqrt_c8.F90: Regenerated (comment change).
- * generated/_sqrt_r10.F90: Regenerated (comment change).
- * generated/_sqrt_r16.F90: Regenerated (comment change).
- * generated/_sqrt_r4.F90: Regenerated (comment change).
- * generated/_sqrt_r8.F90: Regenerated (comment change).
- * generated/_tanh_r10.F90: Regenerated (comment change).
- * generated/_tanh_r16.F90: Regenerated (comment change).
- * generated/_tanh_r4.F90: Regenerated (comment change).
- * generated/_tanh_r8.F90: Regenerated (comment change).
- * generated/_tan_r10.F90: Regenerated (comment change).
- * generated/_tan_r16.F90: Regenerated (comment change).
- * generated/_tan_r4.F90: Regenerated (comment change).
- * generated/_tan_r8.F90: Regenerated (comment change).
-
-2011-08-18 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/50109
- * io/list_read.c (eat_separator): Fix skipping over "!" lines.
-
-2011-07-23 Andreas Schwab <schwab@linux-m68k.org>
-
- * intrinsics/ctime.c: Include <stdlib.h>.
- * intrinsics/getlog.c: Likewise.
- * runtime/stop.c: Likewise.
-
-2011-07-23 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/49791
- * io/list_read.c (nml_parse_qualifier): Remove check to
- enabled extended read for another case.
-
-2011-07-15 Daniel Carrera <dcarrera@gmail.com>
-
- * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
- * caf/single.c (caf_runtime_error): Ditto.
-
-2011-07-14 Daniel Carrera <dcarrera@gmail.com>
-
- * caf/single.c: Include stdarg.h header.
- (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)".
- (_gfortran_caf_register): Use caf_runtime_error.
- (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)".
- * caf/mpi.c (caf_runtime_error): Remove "error" parameter.
- Return EXIT_FAILURE instead.
- (_gfortran_caf_register): Update call to caf_runtime_error.
- (_gfortran_caf_sync_all): Ditto.
- (_gfortran_caf_sync_images): Ditto.
- (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)".
-
-2011-07-13 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/49296
- * io/list_read.c (read_logical): Don't error out if a valid value
- is followed by EOF instead of a normal separator.
- (read_integer): Likewise.
-
-2011-07-09 Tobias Burnus <burnus@net-b.de>
-
- * runtime/error.c (sys_abort): Change argument list
- from "()" to "(void)".
-
-2011-07-09 Tobias Burnus <burnus@net-b.de>
- Daniel Carrera <dcarrera@gmail.com>
-
- * caf/mpi.c (runtime_error): New function.
- (_gfortran_caf_register): Use it.
- (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
- as possible status value.
- (_gfortran_caf_sync_images): Ditto.
-
-2011-07-07 Tobias Burnus <burnus@net-b.de>
-
- * libcaf.h (__attribute__, unlikely, likely): New macros.
- (caf_register_t): Update comment.
- (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
- * single.c (_gfortran_caf_register): Ditto; add error diagnostics.
- * mpi.c (_gfortran_caf_register): Ditto.
- (caf_is_finalized): New global variable.
- (_gfortran_caf_finalize): Use it.
-
-2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- * runtime/memory.c (internal_malloc_size): If size is zero,
- allocate a single byte.
- * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
- for the argument of internal_malloc_size.
- * m4/spread.m4 (spread_'rtype_code`): Likewise.
- * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
- for zero size for the argument of internal_malloc_size.
- * m4/eoshift3.m4: Don't check for zero size for the argument of
- internal_malloc_size.
- * intrinsics/pack_generic.c (pack_internal): Likewise.
- (pack_s_internal): Likewise.
- * intrinsics/cshift0.c (cshift0): Likewise.
- * intrinsics/spread_generic.c (spread_internal): Likewise.
- * intrinsics/eoshift0.c (eoshift0): Likewise.
- * intrinsics/eoshift2.c (eoshift2): Likewise.
- * generated/eoshift1_16.c: Regenerated.
- * generated/eoshift1_4.c: Regenerated.
- * generated/eoshift1_8.c: Regenerated.
- * generated/eoshift3_16.c: Regenerated.
- * generated/eoshift3_4.c: Regenerated.
- * generated/eoshift3_8.c: Regenerated.
- * generated/pack_c10.c: Regenerated.
- * generated/pack_c16.c: Regenerated.
- * generated/pack_c4.c: Regenerated.
- * generated/pack_c8.c: Regenerated.
- * generated/pack_i16.c: Regenerated.
- * generated/pack_i1.c: Regenerated.
- * generated/pack_i2.c: Regenerated.
- * generated/pack_i4.c: Regenerated.
- * generated/pack_i8.c: Regenerated.
- * generated/pack_r10.c: Regenerated.
- * generated/pack_r16.c: Regenerated.
- * generated/pack_r4.c: Regenerated.
- * generated/pack_r8.c: Regenerated.
- * generated/spread_c10.c: Regenerated.
- * generated/spread_c16.c: Regenerated.
- * generated/spread_c4.c: Regenerated.
- * generated/spread_c8.c: Regenerated.
- * generated/spread_i16.c: Regenerated.
- * generated/spread_i1.c: Regenerated.
- * generated/spread_i2.c: Regenerated.
- * generated/spread_i4.c: Regenerated.
- * generated/spread_i8.c: Regenerated.
- * generated/spread_r10.c: Regenerated.
- * generated/spread_r16.c: Regenerated.
- * generated/spread_r4.c: Regenerated.
- * generated/spread_r8.c: Regenerated.
-
-2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR fortran/49479
- * m4/reshape.m4: If source allocation is smaller than one, set it
- to one.
- * intrinsics/reshape_generic.c: Likewise.
- * generated/reshape_r16.c: Regenerated.
- * generated/reshape_c4.c: Regenerated.
- * generated/reshape_c16.c: Regenerated.
- * generated/reshape_c8.c: Regenerated.
- * generated/reshape_r4.c: Regenerated.
- * generated/reshape_i4.c: Regenerated.
- * generated/reshape_r10.c: Regenerated.
- * generated/reshape_r8.c: Regenerated.
- * generated/reshape_c10.c: Regenerated.
- * generated/reshape_i8.c: Regenerated.
- * generated/reshape_i16.c: Regenerated.
-
-2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/49296
- * io/list_read.c (read_character): Accept EOF as a separator when
- reading string.
-
-2011-06-17 Daniel Carrera <dcarrera@gmail.com>
-
- * caf/single.c (_gfortran_caf_register): Store the address
- of all static coarrays in a linked list.
- (_gfortran_caf_finalize): Free memory of staic coarrays.
- * caf/mpi.c (_gfortran_caf_register): Store the address
- of all static coarrays in a linked list. Initialize MPI
- if necessary.
- (_gfortran_caf_finalize): Free memory of staic coarrays.
- (_gfortran_caf_init): Check if MPI is already initialized
- before initializing again.
- * caf/libcaf.h: Add a type to caf_register_t to distinguish
- static coarrays and add the type caf_static_t to make the
- linked list of static coarrays.
-
-2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.c (buf_seek): Return error if file is not seekable.
- (buf_tell): Call buf_seek.
-
-2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.c (fd_to_stream): Figure out if a fd is seekable by
- trying lseek().
-
-2011-06-10 Daniel Carrera <dcarrera@gmail.com>
-
- * caf/mpi.c (_gfortran_caf_sync_all,
- _gfortran_caf_sync_images): Functions have void return type
- and move status into parameter list.
- * caf/single.c (_gfortran_caf_sync_all,
- _gfortran_caf_sync_images): Functions have void return type
- and move status into parameter list.
- * caf/libcaf.h (_gfortran_caf_sync_all,
- _gfortran_caf_sync_images): Functions have void return type
- and move status into parameter list.
-
-2011-06-03 Richard Henderson <rth@redhat.com>
- Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
- insn, insn size.
- (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
-
-2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48931
- * libgfortran.h (find_addr2line): New prototype.
- * runtime/backtrace.c (show_backtrace): Use async-signal-safe
- execve and stored path of addr2line.
- * runtime/compile_options.c (maybe_find_addr2line): New function.
- (set_options): Call maybe_find_addr2line if backtracing is enabled.
- * runtime/main.c (find_addr2line): New function.
- (init): Call find_addr2line if backtracing is enabled.
- (cleanup): Free addr2line_path.
-
-2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/49214
- * runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
-
-2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/19155
- * io/read.c (convert_real): Check for invalid input by comparing
- endptr instead of EINVAL.
- (read_f): Fixup floating point input without significand.
-
-2011-05-22 Tobias Burnus <burnus@net-b.de>
-
- * runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
-
-2011-05-22 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48931
- * configure.ac: Check for backtrace_symbols_fd instead of
- backtrace_symbols, check for readlink.
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * runtime/backtrace.c (local_strcasestr): Remove.
- (bt_header): New function.
- (dump_glibc_backtrace): Remove.
- (fd_gets): New function.
- (show_backtrace): Rework to use backtrace_symbols_fd and pipes
- avoiding functions that are not async-signal-safe, reformat
- output.
- * runtime/main.c (store_exe_path): Try to check /proc/self/exe
- first.
-
-2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR libfortran/48977
- * configure.host: Swap order of glibc and x86 tests.
-
-2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
-
- * config/fpu-387.h (set_fpu): Use renamed inexact macro.
- * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
- inexact macro, set TRP_INEXACT for inexact exception instead of
- TRP_UNDERFLOW.
- * config/fpu-generic.h (set_fpu): Clarify error messages, use
- renamed inexact macro.
- * config/fpu-glibc.h (set_fpu): Likewise.
- * config/fpu-sysv.h (set_fpu): Likewise.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- * runtime/stop.c (error_stop_string, error_stop_numeric):
- Do not backtrace for ERROR STOP.
-
-2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48915
- * intrinsics/abort.c (abort): Call sys_abort().
- * io/unix.c (st_vprintf): Call sys_abort().
- * libgfortran.h (options_t): Remove dump_core member.
- (handler): Rename to backtrace_handler.
- (compile_options_t): Remove dump_core member.
- (sys_exit): Remove.
- (sys_abort): New function.
- * runtime/backtrace.c (show_backtrace): Print a message if
- backtrace is not available on target, update filter symbol name
- due to backtrace_handler renaming.
- * runtime/compile_options.c (backtrace_handler): New
- implementation based on example in Glibc manual.
- (set_options): Remove dump_core handling, make signal handler
- handle more signals.
- (init_compile_options): Remove dump_core.
- * runtime/environ.c (variable_table[]): Remove
- GFORTRAN_ERROR_DUMPCORE element.
- (show_variables): Update name, call exit().
- * runtime/error.c (sys_exit): Remove.
- (sys_abort): New function.
- (recursion_check): Call sys_abort().
- (os_error): Call exit().
- (runtime_error): Likewise.
- (runtime_error_at): Likewise.
- (internal_error): Likewise.
- (generate_error): Likewise.
- (notify_std): Likewise.
- * runtime/stop.c (stop_numeric): Call exit().
- (stop_numeric_f08): Likewise.
- (stop_string): Likewise.
- (error_stop_string): Call sys_abort().
- (error_stop_numeric): Print backtrace, exit with provided code.
-
-2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
- * libgfortran.h (struct options_t): Remove use_stderr field.
- (st_vprintf,st_printf): Move prototypes.
- (estr_write): New prototype.
- * runtime/error.c (sys_exit): Use estr_write instead of st_printf.
- (estr_write): New function.
- (st_vprintf): Move from io/unix.c, use stack allocated buffer,
- always output to stderr.
- (st_printf): Move from io/unix.c.
- (show_locus): Use a local variable instead of static.
- (os_error): Use estr_write instead of st_printf.
- (runtime_error): Likewise.
- (runtime_error_at): Likewise.
- (runtime_warning_at): Likewise.
- (internal_error): Likewise.
- (generate_error): Likewise.
- (generate_warning): Likewise.
- (notify_std): Likewise.
- * runtime/pause.c (do_pause): Likewise.
- (pause_string): Likewise.
- * runtime/stop.c (stop_string): Likewise.
- (error_stop_string): Likewise.
- * config/fpu_aix.h (set_fpu): Likewise.
- * config/fpu_generic.h (set_fpu): Likewise.
- * config/fpu_glibc.h (set_fpu): Likewise.
- * config/fpu-sysv.h (set_fpu): Likewise.
- * runtime/backtrace.c (dump_glibc_backtrace): Likewise.
- (show_backtrace): Likewise.
- * runtime/environ.c (print_spaces): Likewise.
- (show_string): Likewise.
- (show_variables): Likewise.
- (variable_table[]): Remove GFORTRAN_USE_STDERR entry.
-
-2011-05-14 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/48961
- * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
- synchronously executing with WAIT=.false.
- (execute_command_line): Fix setting of cmdstat and exitstat.
-
-2011-05-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * caf/libcaf.h: Cleanup headers.
- (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
- (caf_register_t): New enum.
- (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
- * caf/single.c (_gfortran_caf_critical,
- _gfortran_caf_end_critical): Remove.
- (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
- * caf/mpi.c (_gfortran_caf_critical,
- _gfortran_caf_end_critical): Remove.
- (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
- (caf_world_window): Remove global variable.
- (_gfortran_caf_init): Fix off-by-one error of this_image.
-
-2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48787
- * io/write_float.def (output_float): Adjust up and down rounding for
- cases where 'd' = 0. Gather common code to one location.
-
-2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48787
- * io/write_float.def (output_float): Gather up integer declarations and
- add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
- everywhere. For ROUND_UP scan the digit string and only perform
- rounding if something other than '0' is found.
-
-2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- * io/unix.c (min): New macro.
- (unpack_filename): Return errno number for errors.
- (regular_file): Use appropriately sized buffer for path.
- (compare_file_filename): Likewise.
- (find_file): Likewise.
- (delete_file): Likewise.
- (file_exists): Likewise.
- (file_size): Likewise.
- (inquire_sequential): Likewise.
- (inquire_direct): Likewise.
- (inquire_formatted): Likewise.
- (inquire_access): Likewise.
-
-2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/48488
- * io/write.c (write_real, write_real_g0): Update comments.
-
-2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
- Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libgfortran/48488
- PR libgfortran/48602
- PR libgfortran/48615
- PR libgfortran/48684
- PR libgfortran/48787
- * io/write.c (write_d, write_e, write_f, write_en,
- write_es): Add precision compemsation parameter to call.
- (set_fnode_default): Adjust default widths to assure
- round trip on write and read. (write_real): Adjust call to write_float.
- (write_real_g0): Calculate compensation for extra precision and adjust
- call to write_float.
- * io/write_float.def (output_float_FMT_G_): Use volatile rather than
- asm volatile to avoid optimization issue. Correctly calculate the
- number of blanks (nb) to be appended and simplify calculation logic.
- (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
- default widths. Eliminate the code that attempted to reduce the
- the precision used in later sprintf functions. Add call parameter to
- compensate for extra precision.
-
-2011-04-20 Jim Meyering <meyering@redhat.com>
-
- * intrinsics/move_alloc.c (move_alloc): Remove useless
- if-before-free test.
- * io/fbuf.c (fbuf_destroy): Likewise.
- * io/format.c (save_parsed_format): Likewise.
- * io/open.c (already_open): Likewise.
- * io/unit.c (free_internal_unit, close_unit_1): Likewise.
- * io/unix.c (mem_close): Likewise.
-
-2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48602
- * io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
- Use asm volatile to mark temp variable, avoiding optimization errors.
-
-2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48602
- * io/write_float.def (output_float_FMT_G): Use current rounding mode
- to set the rounding parameters. (output_float): Skip rounding
- if value is zero.
-
-2011-04-16 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
- branch.
- * io/format.c (format_error): Use snprintf instead of sprintf.
- * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
- (convert_integer): Use snprintf instead of sprintf.
- (parse_repeat): Likewise.
- (read_logical): Likewise.
- (read_integer): Likewise.
- (read_character): Likewise.
- (parse_real): Likewise.
- (read_complex): Likewise.
- (read_real): Likewise.
- (check_type): Likewise.
- (nml_parse_qualifier): Add string length argument, use snprintf
- instead of sprintf.
- (nml_get_obj_data): Use snprintf instead of sprintf.
- * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
- instead of sprintf.
- * io/transfer.c (require_type): Use snprintf instead of sprintf.
- * io/unix.c (tempfile): Likewise.
- * io/write.c (nml_write_obj): Likewise.
- * io/write_float.def (output_float): Remove sprintf CPP branch,
- use snprintf instead of sprintf.
- * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
- * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
- * runtime/main.c (store_exe_path): Use snprintf instead of
- sprintf.
-
-2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48589
- * io/write_float.def (write_infnan): Set width properly for G0.
-
-2011-04-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * Makefile.am: Build and install caf/single.c as
- libcaf_single.a.
- * Makefile.in: Regenerate.
-
-2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47571
- * configure: Regenerated.
- * config.h.in: Regenerated.
- * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
- * configure.ac: Use separate symbol for clock_gettime in librt.
- * intrinsics/system_clock.c: Use weakrefs only when needed and
- supported.
-
-2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
-
- * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
- check for ptrdiff_t.
- * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
- index_type, change cshift0* prototypes.
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
- * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
- * io/list_read.c (nml_parse_qualifier): Likewise.
- * io/write.c (nml_write_obj): Likewise.
- * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
- * generated/cshift0_*.c: Regenerated.
-
-2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
-
- * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
- * Makefile.in: Regenerated.
-
-2011-04-06 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
- Add global variable caf_mpi_initialized and use it for when
- finalizing.
-
-2011-04-04 Tobias Burnus <burnus@net-b.de>
-
- * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
- (fallback_access, open_internal4, compare_file_filename,
- find_file, file_size, inquire_sequential, inquire_direct,
- inquire_formatted): Use "struct stat" instead of gfstat_t.
-
-2011-03-27 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/18918
- * caf/libcaf.h: New - coarray communication library.
- * caf/mpi.c: New.
- * caf/single.c: New.
-
-2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48030
- * io/read.c (read_x): Re-implement using fbuf_getc.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/48135
- * configure.ac (gfortran_use_symver): Handle --disable-symvers.
- * configure: Regenerate.
-
-2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
-
- PR fortran/35667
- * io/io.h (convert_infnan): Declare.
- * io/read.c (convert_infnan): New.
- (read_f): Use convert_infnan to convert INFs and NANs.
- * list_read.c (parse_real, read_real): Likewise.
-
-2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47439
- * io/unix.c (tempfile): Work around poor mktemp() implementations.
-
-2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/47883
- * acinclude.m4: Don't use AC_TRY_ macros.
- * configure.ac: Likewise.
- * configure: Regenerate.
-
-2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
-
- PR libfortran/48066
- * m4/ifunction.m4: If return array is empty, return.
- * m4/ifunction_logical.m4: Likewise.
- * generated/all_l16.c: Regenerated.
- * generated/all_l1.c: Regenerated.
- * generated/all_l2.c: Regenerated.
- * generated/all_l4.c: Regenerated.
- * generated/all_l8.c: Regenerated.
- * generated/any_l16.c: Regenerated.
- * generated/any_l1.c: Regenerated.
- * generated/any_l2.c: Regenerated.
- * generated/any_l4.c: Regenerated.
- * generated/any_l8.c: Regenerated.
- * generated/count_16_l.c: Regenerated.
- * generated/count_1_l.c: Regenerated.
- * generated/count_2_l.c: Regenerated.
- * generated/count_4_l.c: Regenerated.
- * generated/count_8_l.c: Regenerated.
- * generated/maxloc1_16_i16.c: Regenerated.
- * generated/maxloc1_16_i1.c: Regenerated.
- * generated/maxloc1_16_i2.c: Regenerated.
- * generated/maxloc1_16_i4.c: Regenerated.
- * generated/maxloc1_16_i8.c: Regenerated.
- * generated/maxloc1_16_r10.c: Regenerated.
- * generated/maxloc1_16_r16.c: Regenerated.
- * generated/maxloc1_16_r4.c: Regenerated.
- * generated/maxloc1_16_r8.c: Regenerated.
- * generated/maxloc1_4_i16.c: Regenerated.
- * generated/maxloc1_4_i1.c: Regenerated.
- * generated/maxloc1_4_i2.c: Regenerated.
- * generated/maxloc1_4_i4.c: Regenerated.
- * generated/maxloc1_4_i8.c: Regenerated.
- * generated/maxloc1_4_r10.c: Regenerated.
- * generated/maxloc1_4_r16.c: Regenerated.
- * generated/maxloc1_4_r4.c: Regenerated.
- * generated/maxloc1_4_r8.c: Regenerated.
- * generated/maxloc1_8_i16.c: Regenerated.
- * generated/maxloc1_8_i1.c: Regenerated.
- * generated/maxloc1_8_i2.c: Regenerated.
- * generated/maxloc1_8_i4.c: Regenerated.
- * generated/maxloc1_8_i8.c: Regenerated.
- * generated/maxloc1_8_r10.c: Regenerated.
- * generated/maxloc1_8_r16.c: Regenerated.
- * generated/maxloc1_8_r4.c: Regenerated.
- * generated/maxloc1_8_r8.c: Regenerated.
- * generated/maxval_i16.c: Regenerated.
- * generated/maxval_i1.c: Regenerated.
- * generated/maxval_i2.c: Regenerated.
- * generated/maxval_i4.c: Regenerated.
- * generated/maxval_i8.c: Regenerated.
- * generated/maxval_r10.c: Regenerated.
- * generated/maxval_r16.c: Regenerated.
- * generated/maxval_r4.c: Regenerated.
- * generated/maxval_r8.c: Regenerated.
- * generated/minloc1_16_i16.c: Regenerated.
- * generated/minloc1_16_i1.c: Regenerated.
- * generated/minloc1_16_i2.c: Regenerated.
- * generated/minloc1_16_i4.c: Regenerated.
- * generated/minloc1_16_i8.c: Regenerated.
- * generated/minloc1_16_r10.c: Regenerated.
- * generated/minloc1_16_r16.c: Regenerated.
- * generated/minloc1_16_r4.c: Regenerated.
- * generated/minloc1_16_r8.c: Regenerated.
- * generated/minloc1_4_i16.c: Regenerated.
- * generated/minloc1_4_i1.c: Regenerated.
- * generated/minloc1_4_i2.c: Regenerated.
- * generated/minloc1_4_i4.c: Regenerated.
- * generated/minloc1_4_i8.c: Regenerated.
- * generated/minloc1_4_r10.c: Regenerated.
- * generated/minloc1_4_r16.c: Regenerated.
- * generated/minloc1_4_r4.c: Regenerated.
- * generated/minloc1_4_r8.c: Regenerated.
- * generated/minloc1_8_i16.c: Regenerated.
- * generated/minloc1_8_i1.c: Regenerated.
- * generated/minloc1_8_i2.c: Regenerated.
- * generated/minloc1_8_i4.c: Regenerated.
- * generated/minloc1_8_i8.c: Regenerated.
- * generated/minloc1_8_r10.c: Regenerated.
- * generated/minloc1_8_r16.c: Regenerated.
- * generated/minloc1_8_r4.c: Regenerated.
- * generated/minloc1_8_r8.c: Regenerated.
- * generated/minval_i16.c: Regenerated.
- * generated/minval_i1.c: Regenerated.
- * generated/minval_i2.c: Regenerated.
- * generated/minval_i4.c: Regenerated.
- * generated/minval_i8.c: Regenerated.
- * generated/minval_r10.c: Regenerated.
- * generated/minval_r16.c: Regenerated.
- * generated/minval_r4.c: Regenerated.
- * generated/minval_r8.c: Regenerated.
- * generated/product_c10.c: Regenerated.
- * generated/product_c16.c: Regenerated.
- * generated/product_c4.c: Regenerated.
- * generated/product_c8.c: Regenerated.
- * generated/product_i16.c: Regenerated.
- * generated/product_i1.c: Regenerated.
- * generated/product_i2.c: Regenerated.
- * generated/product_i4.c: Regenerated.
- * generated/product_i8.c: Regenerated.
- * generated/product_r10.c: Regenerated.
- * generated/product_r16.c: Regenerated.
- * generated/product_r4.c: Regenerated.
- * generated/product_r8.c: Regenerated.
- * generated/sum_c10.c: Regenerated.
- * generated/sum_c16.c: Regenerated.
- * generated/sum_c4.c: Regenerated.
- * generated/sum_c8.c: Regenerated.
- * generated/sum_i16.c: Regenerated.
- * generated/sum_i1.c: Regenerated.
- * generated/sum_i2.c: Regenerated.
- * generated/sum_i4.c: Regenerated.
- * generated/sum_i8.c: Regenerated.
- * generated/sum_r10.c: Regenerated.
- * generated/sum_r16.c: Regenerated.
- * generated/sum_r4.c: Regenerated.
- * generated/sum_r8.c: Regenerated.
-
-2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/48047
- * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
-
-2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47802
- * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
- return type.
-
-2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47802
- * intrinsics/ctime.c (strctime): Don't use return value of
- localtime_r.
-
-2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * io/write_float.def (output_float): Move handling of w = 0 to after
- output rounding. Check for zero and set zero_flag accordingly. Set
- width according to zero_flag. Add better comments.
-
-2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47778
- * io/list_read.c (namelist_read): Intialize the error string buffere.
- If pprev_nl was used during the previous namelist read and the rank
- was zero, reset the pointer to NULL for the next namelist read.
-
-2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR libfortran/45165
- * unix.c (fallback_access): Fix file descriptor leaks.
-
-2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
- tested in configure.host.
- * configure: Regenerate.
-
-2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47802
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Remove checks for ctime and ctime_r, add check for
- strftime.
- * intrinsics/date_and_time.c (localtime_r): Move fallback
- implementation to time_1.h.
- * intrinsics/time_1.h (localtime_r): Fallback implementation.
- * intrinsics/ctime.c: Include time_1.h.
- (ctime_r): Remove fallback implementation.
- (strctime): New function.
- (fdate): Use strctime instead of ctime_r.
- (fdate_sub): Likewise.
- (ctime): Likewise.
- (ctime_sub): Likewise.
-
-2011-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/47878
- * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
- and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
-
-2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47802
- * configure.ac: Add test for POSIX getpwuid_r.
- * intrinsics/getlog.c (getlog): CPP test for
- HAVE_POSIX_GETPWUID_R.
- * config.h.in: Regenerated.
- * configure: Regenerated.
-
-2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * io/write_float.def (output_float): Remove special case handling of
- zero with width 1.
-
-2011-02-23 Janne Blomqvist <jb@gcc.gnu.org>
- Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libfortran/47694
- * io/fbuf.h (fbuf_getptr): New inline function.
- * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
- through the string instead of fbuf_read.
-
-2011-02-22 Tobias Burnus <burnus@net-b.de>
- Kai-Uwe Eckhardt <kuehro@gmx.de>
-
- PR libfortran/47830
- * intrinsics/c99_functions.c (roundl): Make C valid for
- HAVE_NEXTAFTERL.
-
-2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * io/write_float.def (output_float): Adjust width for F0.d to
- allow space for negative signs on zero.
-
-2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47667
- * io/list_read.c (read_logical): Check for end of line before calling
- eat_line. (read_integer): Likewise. (parse_real): Don't unget the
- separator. Check for end of line before calling eat_line.
- (read_complex): Allow line-end before and after parenthesis and comma.
- Check for end of line before calling eat_line. (read_real): Check for
- end of line before calling eat_line.
-
-2011-02-16 Jakub Jelinek <jakub@redhat.com>
-
- PR libfortran/47757
- * gfortran.map (GFORTRAN_1.4): Export
- _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
- _gfortran_{cshift0,eoshift{0,2}}_16_char4.
-
-2011-02-15 Tobias Burnus <burnus@net-b.de>
-
- PR fortran/47716
- PR fortran/47648
- * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
- libquadmath, which uses more features.
- * configure: Regenerate.
-
-2011-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/47642
- * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
- quadmath_flt128tostr.
- * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
- of quadmath_flt128tostr.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * Makefile.in: Regenerate.
- * aclocal.m4: Likewise.
- * configure: Likewise.
-
-2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47567
- * io/write_float.def (output_float): Eliminate some redundant code.
- Adjust width for case of F0.X for values of zero and all other values.
- Expand cases where '*' is set to give cleaner results.
-
-2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47571
- * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
- (weak_gettime): Likewise.
- (gf_gettime): Change API, move weak_gettime() usage to
- system_clock.c
- * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
- (gf_gettime_mono): New function.
- (system_clock_4): Use gf_gettime_mono().
- (system_clock_8): Likewise.
- * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
- usage.
-
-2011-02-02 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47571
- * configure: Regenerated.
- * configure.ac: Don't add librt to LIBS.
- * intrinsics/time_1.h (weak_gettime): Weakref trickery for
- clock_gettime().
- (gf_gettime): Use weak_gettime() instead of clock_gettime().
-
-2011-02-01 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/time_1.h: Include errno.h needed by fallbacks.
-
-2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
-
-2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
-
- * configure.ac: Check for clock_gettime().
- * configure: Regenerated.
- * config.h.in: Regenerated.
- * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
- times() fallback.
- (gf_gettime): New function.
- * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
- * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
- * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
- * intrinsics/etime.c (etime_sub): Use gf_cputime.
- * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
- (system_clock_8): Use gf_gettime, increase count rate to allow
- nanosecond precision, remove overflow prone branch.
-
-2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47434
- * io/write_float.def (write_infnan): Use calculate_sign to determine
- if the sign should be given and check field widths accordingly.
-
-2011-01-29 Kai Tietz <kai.tietz@onevision.com>
-
- * intrinsics/ctime.c (ctime_r): Improve implementation.
-
-2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47431
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Add check for ctime_r().
- * intrinsics/ctime.c (ctime_r): Fallback implementation.
- (fdate): Use ctime_r() instead of ctime().
- (fdate_sub): Likewise.
- (ctime): Likewise.
- (ctime_sub): Likewise.
-
-2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47432
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Add check for ttyname_r.
- * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
- * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
- to new prototype.
- * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
- * io/intrinsics.c (ttynam_sub): Likewise.
- (ttynam): Likewise.
-
-2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47491
- * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
- extensions.
- * config.h.in: Regenerate.
- * configure: Regenerate.
-
-2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47285
- * io/write_float.def (write_infnan): Adjust processor selected width
- to 3 if NaN.
-
-2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47285
- * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
- the result to set the padding.
-
-2011-01-26 Kai Tietz <kai.tietz@onevision.com>
-
- * intrinsics/getlog.c (getlog): Fix label/statement issue.
-
-2011-01-25 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47375
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Add check for getpwuid_r.
- * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
-
-2011-01-22 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/46267
- * config.h.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Check presence of strerror_r.
- * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
- * io/unix.c (get_oserror): Remove.
- * libgfortran.h (gf_strerror): Add prototype.
- (get_oserror): Remove prototype.
- * runtime/error.c (gf_strerror): New function.
- (os_error): Use gf_strerror instead of get_oserror.
- (generate_errror): Likewise.
-
-2011-01-17 Janne Blomqvist <jb@gcc.gnu.org>
-
- PR libfortran/47296
- * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
- error occurs.
-
-2011-01-16 Jakub Jelinek <jakub@redhat.com>
-
- PR fortran/46625
- * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
- instead of quadmath_dtoa.
- * io/transfer128.c (tmp1, tmp2): New variables, bring in
- strtoflt128 and quadmath_flt128tostr.
- (transfer_real128, transfer_real128_write, transfer_complex128,
- transfer_complex128_write): Remove tmp1/tmp2 variables.
- * io/read.c (convert_real): Use strtoflt128 instead of
- quadmath_strtopQ, adjust for the changed arguments and return
- value.
-
-2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47296
- * io/unix.c (unpack_filename): Return non-zero if the filename passed
- in is NULL.
-
-2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
-
- PR libgfortran/47154
- * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
- duplicate calls via next_record.
-
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libgfortran/ChangeLog-2011 b/libgfortran/ChangeLog-2011
new file mode 100644
index 0000000..f516bad
--- /dev/null
+++ b/libgfortran/ChangeLog-2011
@@ -0,0 +1,1485 @@
+2011-12-22 Janne Blomqvist <jb@gcc.gnu.org>
+ Tobias Burnus <burnus@net-b.de>
+
+ PR libfortran/51646
+ * acinclude.m4 (LIBGFOR_CHECK_UNLINK_OPEN_FILE): Use POSIX mode
+ flags, omit mode argument when flags argument does not have
+ O_CREAT.
+ * io/unix.c (tempfile): Use POSIX mode flags.
+ * configure: Regenerate.
+
+2011-11-21 Andreas Tobler <andreast@fgznet.ch>
+
+ * configure: Regenerate.
+
+2011-11-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/51090
+ * runtime/main.c (find_addr2line): NULL check before proceeding.
+
+2011-11-10 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/cpu_time.c (__cpu_time_1): Don't force inlining.
+ * intrinsics/random.c (rnumber_4): Remove inline attribute.
+ (rnumber_8, rnumber_10, rnumber_16): Likewise.
+ * intrinsics/system_clock.c (gf_gettime_mono): Likewise.
+ * intrinsics/time_1.h (ATTRIBUTE_ALWAYS_INLINE): Remove macro.
+ (gf_cputime): Add inline attribute for MingW version.
+ * io/format.c (format_hash): Remove inline attribute.
+ * io/io.h (memset4): Inline function from transfer.c and write.c
+ moved here.
+ * io/transfer.c (min_off): Remove inline attribute.
+ (memset4): Move to io.h.
+ * io/write.c (memset4): Likewise.
+ (memcpy4): Remove inline attribute.
+ * io/write_float.def (calculate_exp): Likewise.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/time_1.h (gf_gettime): Simplify time() usage.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac (AC_STDC_HEADERS): Remove.
+ (AC_HEADER_TIME): Remove.
+ (AC_HAVE_HEADERS, AC_CHECK_HEADERS): Move into a single invocation
+ of AC_CHECK_HEADERS_ONCE, don't check for presence of C89 headers.
+ (AC_CHECK_MEMBERS): Use single invocation.
+ (AC_CHECK_FUNCS): Move into single invocation of
+ AC_CHEC_FUNCS_ONCE, don't check for presence of C89 functions.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * intrinsics/clock.c: Include time.h.
+ (mclock): Assume clock() is present.
+ (mclock8): Likewise.
+ * intrinsics/ctime.c (strctime): Assume strftime is present.
+ (fdate): Assume time() is present.
+ (fdate_sub): Likewise.
+ (ctime): Likewise.
+ * intrinsics/date_and_time.c: Don't provide abs macro.
+ (HAVE_NO_DATE_TIME): Remove code related to macro which is never
+ set.
+ * intrinsics/execute_command_line.c: Assume stdlib.h is present.
+ * intrinsics/exit.c: Likewise.
+ * intrinsics/extends_type_of.c: Likewise.
+ * intrinsics/gerror.c: Assume strerror() is present.
+ * intrinsics/kill.c: Assume signal.h is present.
+ * intrinsics/malloc.c: Assume stdlib.h is present.
+ * intrinsics/move_alloc.c: Likewise.
+ * intrinsics/perror.c: Assume perror() is present.
+ * intrinsics/signal.c: Assume signal.h is present.
+ * intrinsics/stat.c: Assume stdlib.h is present.
+ * intrinsics/system.c: Likewise.
+ * intrinsics/time.c: Include time.h, assume time() is present.
+ * intrinsics/time_1.h: Conditionally include sys/time.h,
+ unconditionally time.h.
+ (gf_cputime): Do division in double, fallback using clock().
+ (gf_gettime): Assume time() is present.
+ * intrinsics/umask.c: Assume stdlib.h is present.
+ * runtime/backtrace.c: Likewise.
+ * runtime/compile_options.c: Assume signal.h is present, assume
+ C89 signals are present.
+ * runtime/error.c: Assume signal.h and stdlib.h are present.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/46686
+ * runtime/backtrace.c (show_backtrace): Fix incorrect comment.
+
+2011-11-09 Tobias Burnus <burnus@net-b.de>
+
+ * configure.ac: Make more cross-compile friendly.
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Regenerate.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR fortran/46686
+ * configure.ac: Don't check execinfo.h, backtrace,
+ backtrace_symbols_fd. Check execve instead of execvp. Call
+ GCC_CHECK_UNWIND_GETIPINFO.
+ * runtime/backtrace.c: Don't include unused headers, include
+ limits.h and unwind.h.
+ (CAN_FORK): Check execve instead of execvp.
+ (GLIBC_BACKTRACE): Remove.
+ (bt_header): Conform to gdb backtrace format.
+ (struct bt_state): New struct.
+ (trace_function): New function.
+ (show_backtrace): Use _Unwind_Backtrace from libgcc instead of
+ glibc backtrace functions.
+ * Makefile.in: Regenerated.
+ * aclocal.m4: Regenerated.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+
+2011-11-09 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/50016
+ * io/inquire.c (inquire_via_unit): Flush the unit and use ssize.
+ * io/unix.c (buf_flush): Don't call _commit.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47972
+ * runtime/error.c (gf_strerror): Silence warning.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47972
+ * runtime/error.c (gf_strerror): Silence warning.
+
+2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47970
+ * intrinsics/c99_functions.c (round): Move higher in the file.
+
+2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/45723
+ * io/open.c (new_unit): Don't check file size before attempting
+ seek.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.am (AM_CPPFLAGS): Add
+ -I$(srcdir)/$(MULTISRCTOP)../libgcc, -I$(MULTIBUILDTOP)../libgcc.
+ * Makefile.in: Regenerate.
+ * acinclude.m4 (LIBGFOR_CHECK_GTHR_DEFAULT): Remove.
+ * configure.ac (LIBGFOR_CHECK_GTHR_DEFAULT): Likewise.
+ * configure: Regenerate.
+ * config.h.in: Regenerate.
+
+2011-11-01 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/io.h (next_available_newunit): Remove prototype.
+ * io/unit.h (next_available_newunit): Make variable static,
+ initialize it.
+ (init_units): Don't initialize next_available_newunit.
+ (get_unique_unit_number): Use atomic builtin if available.
+
+2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/inquire.c (inquire_via_unit): Check whether we're at the
+ beginning or end if the position is unspecified. If the position
+ is not one of the 3 standard ones, return unspecified.
+ * io/io.h (update_position): Remove prototype.
+ * io/transfer.c (next_record): Set the position to unspecified,
+ letting inquire figure it out more exactly when needed.
+ * io/unit.c (update_position): Remove function.
+
+2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.h (struct stream): Add size function pointer.
+ (ssize): New inline function.
+ (file_length): Remove prototype.
+ * io/unix.c (raw_size): New function.
+ (raw_init): Initialize st.size pointer.
+ (buf_size): New function.
+ (buf_init): Initialize st.size pointer.
+ (open_internal): Likewise.
+ (open_internal4): Likewise.
+ (file_length): Remove function.
+ * io/file_pos.c (st_rewind): Use ssize instead of file_length.
+ * io/open.c (test_endfile): Likewise.
+ * io/transfer.c (data_transfer_init): Likewise.
+ (next_record_r): Likewise.
+ (next_record_w): Likewise.
+ * io/unit.c (update_position): Likewise.
+
+2011-10-31 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/file_pos.c (st_rewind): Handle regular and special files
+ identically.
+ * io/intrinsics.c (fseek_sub): Don't check whether we think the
+ file is seekable, just do what the caller says.
+ * io/transfer.c (skip_record): First try to seek, then fallback to
+ reading and throwing away what we read.
+ * io/unit.c (update_position): Don't check whether file is
+ seekable, just try to do what we're told.
+ (unit_truncate): Likewise.
+ * io/unix.c (struct unix_stream): Remove special_file flag.
+ (buf_flush): Remove code for handling unseekable files.
+ (buf_seek): Likewise.
+ (fd_to_stream): Use buffered IO only for regular files.
+ (file_length): Remove is_seekable() call.
+ (is_seekable): Remove function.
+ (is_special): Likewise.
+ * io/unix.h: Remove prototypes for is_seekable and is_special.
+
+2011-09-10 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49479
+ * generated/m4/ifunction.m4: Always call internal_malloc_size
+ even when there is a zero-sized return array.
+ * generated/generated/maxloc1_16_i16.c: Regenerated.
+ * generated/generated/maxloc1_16_i1.c: Regenerated.
+ * generated/generated/maxloc1_16_i2.c: Regenerated.
+ * generated/generated/maxloc1_16_i4.c: Regenerated.
+ * generated/generated/maxloc1_16_i8.c: Regenerated.
+ * generated/generated/maxloc1_16_r10.c: Regenerated.
+ * generated/generated/maxloc1_16_r16.c: Regenerated.
+ * generated/generated/maxloc1_16_r4.c: Regenerated.
+ * generated/generated/maxloc1_16_r8.c: Regenerated.
+ * generated/generated/maxloc1_4_i16.c: Regenerated.
+ * generated/generated/maxloc1_4_i1.c: Regenerated.
+ * generated/generated/maxloc1_4_i2.c: Regenerated.
+ * generated/generated/maxloc1_4_i4.c: Regenerated.
+ * generated/generated/maxloc1_4_i8.c: Regenerated.
+ * generated/generated/maxloc1_4_r10.c: Regenerated.
+ * generated/generated/maxloc1_4_r16.c: Regenerated.
+ * generated/generated/maxloc1_4_r4.c: Regenerated.
+ * generated/generated/maxloc1_4_r8.c: Regenerated.
+ * generated/generated/maxloc1_8_i16.c: Regenerated.
+ * generated/generated/maxloc1_8_i1.c: Regenerated.
+ * generated/generated/maxloc1_8_i2.c: Regenerated.
+ * generated/generated/maxloc1_8_i4.c: Regenerated.
+ * generated/generated/maxloc1_8_i8.c: Regenerated.
+ * generated/generated/maxloc1_8_r10.c: Regenerated.
+ * generated/generated/maxloc1_8_r16.c: Regenerated.
+ * generated/generated/maxloc1_8_r4.c: Regenerated.
+ * generated/generated/maxloc1_8_r8.c: Regenerated.
+ * generated/generated/maxval_i16.c: Regenerated.
+ * generated/generated/maxval_i1.c: Regenerated.
+ * generated/generated/maxval_i2.c: Regenerated.
+ * generated/generated/maxval_i4.c: Regenerated.
+ * generated/generated/maxval_i8.c: Regenerated.
+ * generated/generated/maxval_r10.c: Regenerated.
+ * generated/generated/maxval_r16.c: Regenerated.
+ * generated/generated/maxval_r4.c: Regenerated.
+ * generated/generated/maxval_r8.c: Regenerated.
+ * generated/generated/minloc1_16_i16.c: Regenerated.
+ * generated/generated/minloc1_16_i1.c: Regenerated.
+ * generated/generated/minloc1_16_i2.c: Regenerated.
+ * generated/generated/minloc1_16_i4.c: Regenerated.
+ * generated/generated/minloc1_16_i8.c: Regenerated.
+ * generated/generated/minloc1_16_r10.c: Regenerated.
+ * generated/generated/minloc1_16_r16.c: Regenerated.
+ * generated/generated/minloc1_16_r4.c: Regenerated.
+ * generated/generated/minloc1_16_r8.c: Regenerated.
+ * generated/generated/minloc1_4_i16.c: Regenerated.
+ * generated/generated/minloc1_4_i1.c: Regenerated.
+ * generated/generated/minloc1_4_i2.c: Regenerated.
+ * generated/generated/minloc1_4_i4.c: Regenerated.
+ * generated/generated/minloc1_4_i8.c: Regenerated.
+ * generated/generated/minloc1_4_r10.c: Regenerated.
+ * generated/generated/minloc1_4_r16.c: Regenerated.
+ * generated/generated/minloc1_4_r4.c: Regenerated.
+ * generated/generated/minloc1_4_r8.c: Regenerated.
+ * generated/generated/minloc1_8_i16.c: Regenerated.
+ * generated/generated/minloc1_8_i1.c: Regenerated.
+ * generated/generated/minloc1_8_i2.c: Regenerated.
+ * generated/generated/minloc1_8_i4.c: Regenerated.
+ * generated/generated/minloc1_8_i8.c: Regenerated.
+ * generated/generated/minloc1_8_r10.c: Regenerated.
+ * generated/generated/minloc1_8_r16.c: Regenerated.
+ * generated/generated/minloc1_8_r4.c: Regenerated.
+ * generated/generated/minloc1_8_r8.c: Regenerated.
+ * generated/generated/minval_i16.c: Regenerated.
+ * generated/generated/minval_i1.c: Regenerated.
+ * generated/generated/minval_i2.c: Regenerated.
+ * generated/generated/minval_i4.c: Regenerated.
+ * generated/generated/minval_i8.c: Regenerated.
+ * generated/generated/minval_r10.c: Regenerated.
+ * generated/generated/minval_r16.c: Regenerated.
+ * generated/generated/minval_r4.c: Regenerated.
+ * generated/generated/minval_r8.c: Regenerated.
+ * generated/generated/product_c10.c: Regenerated.
+ * generated/generated/product_c16.c: Regenerated.
+ * generated/generated/product_c4.c: Regenerated.
+ * generated/generated/product_c8.c: Regenerated.
+ * generated/generated/product_i16.c: Regenerated.
+ * generated/generated/product_i1.c: Regenerated.
+ * generated/generated/product_i2.c: Regenerated.
+ * generated/generated/product_i4.c: Regenerated.
+ * generated/generated/product_i8.c: Regenerated.
+ * generated/generated/product_r10.c: Regenerated.
+ * generated/generated/product_r16.c: Regenerated.
+ * generated/generated/product_r4.c: Regenerated.
+ * generated/generated/product_r8.c: Regenerated.
+ * generated/generated/sum_c10.c: Regenerated.
+ * generated/generated/sum_c16.c: Regenerated.
+ * generated/generated/sum_c4.c: Regenerated.
+ * generated/generated/sum_c8.c: Regenerated.
+ * generated/generated/sum_i16.c: Regenerated.
+ * generated/generated/sum_i1.c: Regenerated.
+ * generated/generated/sum_i2.c: Regenerated.
+ * generated/generated/sum_i4.c: Regenerated.
+ * generated/generated/sum_i8.c: Regenerated.
+ * generated/generated/sum_r10.c: Regenerated.
+ * generated/generated/sum_r16.c: Regenerated.
+ * generated/generated/sum_r4.c: Regenerated.
+ * generated/generated/sum_r8.c: Regenerated.
+
+2011-09-01 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * generated/bessel_r4.c: Regenerated.
+ * generated/bessel_r8.c: Regenerated.
+ * generated/bessel_r10.c: Regenerated.
+ * generated/bessel_r16.c: Regenerated.
+
+2011-08-29 Tobias Burnus <burnus@net-b.de>
+
+ * caf/libcaf.h (_gfortran_caf_deregister): Update prototype.
+ * caf/mpi.c (_gfortran_caf_deregister): Modify prototype,
+ actually free memory and add error diagnostic.
+ (_gfortran_caf_finalize): Add additional free calls.
+ * caf/single.c (_gfortran_caf_deregister): Modify prototype,
+ actually free memory and add error diagnostic.
+ (_gfortran_caf_finalize): Add additional free calls.
+
+2011-08-29 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/50192
+ * intrinsics/string_intrinsics.c (memcmp_char4): New function.
+ * intrinsics/string_intrinsics_inc.c: New macro MEMCMP, either
+ set to memcmp or memcmp_char4.
+ (compare_string): Use MEMCMP, with correct size for it.
+ * libgfortran.h: Add prototype for memcmp_char4.
+
+2011-08-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/40866
+ * generated/iall_i1.c: Regenerated.
+ * generated/iall_i16.c: Regenerated.
+ * generated/iall_i2.c: Regenerated.
+ * generated/iall_i4.c: Regenerated.
+ * generated/iall_i8.c: Regenerated.
+ * generated/iany_i1.c: Regenerated.
+ * generated/iany_i16.c: Regenerated.
+ * generated/iany_i2.c: Regenerated.
+ * generated/iany_i4.c: Regenerated.
+ * generated/iany_i8.c: Regenerated.
+ * generated/iparity_i1.c: Regenerated.
+ * generated/iparity_i16.c: Regenerated.
+ * generated/iparity_i2.c: Regenerated.
+ * generated/iparity_i4.c: Regenerated.
+ * generated/iparity_i8.c: Regenerated.
+ * generated/norm2_r10.c: Regenerated.
+ * generated/norm2_r16.c: Regenerated.
+ * generated/norm2_r4.c: Regenerated.
+ * generated/norm2_r8.c: Regenerated.
+ * generated/parity_l1.c: Regenerated.
+ * generated/parity_l16.c: Regenerated.
+ * generated/parity_l2.c: Regenerated.
+ * generated/parity_l4.c: Regenerated.
+ * generated/parity_l8.c: Regenerated.
+ * generated/misc_specifics.F90: Regenerated (comment change).
+ * generated/_abs_c10.F90: Regenerated (comment change).
+ * generated/_abs_c16.F90: Regenerated (comment change).
+ * generated/_abs_c4.F90: Regenerated (comment change).
+ * generated/_abs_c8.F90: Regenerated (comment change).
+ * generated/_abs_i16.F90: Regenerated (comment change).
+ * generated/_abs_i4.F90: Regenerated (comment change).
+ * generated/_abs_i8.F90: Regenerated (comment change).
+ * generated/_abs_r10.F90: Regenerated (comment change).
+ * generated/_abs_r16.F90: Regenerated (comment change).
+ * generated/_abs_r4.F90: Regenerated (comment change).
+ * generated/_abs_r8.F90: Regenerated (comment change).
+ * generated/_acosh_r10.F90: Regenerated (comment change).
+ * generated/_acosh_r16.F90: Regenerated (comment change).
+ * generated/_acosh_r4.F90: Regenerated (comment change).
+ * generated/_acosh_r8.F90: Regenerated (comment change).
+ * generated/_acos_r10.F90: Regenerated (comment change).
+ * generated/_acos_r16.F90: Regenerated (comment change).
+ * generated/_acos_r4.F90: Regenerated (comment change).
+ * generated/_acos_r8.F90: Regenerated (comment change).
+ * generated/_aimag_c10.F90: Regenerated (comment change).
+ * generated/_aimag_c16.F90: Regenerated (comment change).
+ * generated/_aimag_c4.F90: Regenerated (comment change).
+ * generated/_aimag_c8.F90: Regenerated (comment change).
+ * generated/_aint_r10.F90: Regenerated (comment change).
+ * generated/_aint_r16.F90: Regenerated (comment change).
+ * generated/_aint_r4.F90: Regenerated (comment change).
+ * generated/_aint_r8.F90: Regenerated (comment change).
+ * generated/_anint_r10.F90: Regenerated (comment change).
+ * generated/_anint_r16.F90: Regenerated (comment change).
+ * generated/_anint_r4.F90: Regenerated (comment change).
+ * generated/_anint_r8.F90: Regenerated (comment change).
+ * generated/_asinh_r10.F90: Regenerated (comment change).
+ * generated/_asinh_r16.F90: Regenerated (comment change).
+ * generated/_asinh_r4.F90: Regenerated (comment change).
+ * generated/_asinh_r8.F90: Regenerated (comment change).
+ * generated/_asin_r10.F90: Regenerated (comment change).
+ * generated/_asin_r16.F90: Regenerated (comment change).
+ * generated/_asin_r4.F90: Regenerated (comment change).
+ * generated/_asin_r8.F90: Regenerated (comment change).
+ * generated/_atan2_r10.F90: Regenerated (comment change).
+ * generated/_atan2_r16.F90: Regenerated (comment change).
+ * generated/_atan2_r4.F90: Regenerated (comment change).
+ * generated/_atan2_r8.F90: Regenerated (comment change).
+ * generated/_atanh_r10.F90: Regenerated (comment change).
+ * generated/_atanh_r16.F90: Regenerated (comment change).
+ * generated/_atanh_r4.F90: Regenerated (comment change).
+ * generated/_atanh_r8.F90: Regenerated (comment change).
+ * generated/_atan_r10.F90: Regenerated (comment change).
+ * generated/_atan_r16.F90: Regenerated (comment change).
+ * generated/_atan_r4.F90: Regenerated (comment change).
+ * generated/_atan_r8.F90: Regenerated (comment change).
+ * generated/_conjg_c10.F90: Regenerated (comment change).
+ * generated/_conjg_c16.F90: Regenerated (comment change).
+ * generated/_conjg_c4.F90: Regenerated (comment change).
+ * generated/_conjg_c8.F90: Regenerated (comment change).
+ * generated/_cosh_r10.F90: Regenerated (comment change).
+ * generated/_cosh_r16.F90: Regenerated (comment change).
+ * generated/_cosh_r4.F90: Regenerated (comment change).
+ * generated/_cosh_r8.F90: Regenerated (comment change).
+ * generated/_cos_c10.F90: Regenerated (comment change).
+ * generated/_cos_c16.F90: Regenerated (comment change).
+ * generated/_cos_c4.F90: Regenerated (comment change).
+ * generated/_cos_c8.F90: Regenerated (comment change).
+ * generated/_cos_r10.F90: Regenerated (comment change).
+ * generated/_cos_r16.F90: Regenerated (comment change).
+ * generated/_cos_r4.F90: Regenerated (comment change).
+ * generated/_cos_r8.F90: Regenerated (comment change).
+ * generated/_dim_i16.F90: Regenerated (comment change).
+ * generated/_dim_i4.F90: Regenerated (comment change).
+ * generated/_dim_i8.F90: Regenerated (comment change).
+ * generated/_dim_r10.F90: Regenerated (comment change).
+ * generated/_dim_r16.F90: Regenerated (comment change).
+ * generated/_dim_r4.F90: Regenerated (comment change).
+ * generated/_dim_r8.F90: Regenerated (comment change).
+ * generated/_exp_c10.F90: Regenerated (comment change).
+ * generated/_exp_c16.F90: Regenerated (comment change).
+ * generated/_exp_c4.F90: Regenerated (comment change).
+ * generated/_exp_c8.F90: Regenerated (comment change).
+ * generated/_exp_r10.F90: Regenerated (comment change).
+ * generated/_exp_r16.F90: Regenerated (comment change).
+ * generated/_exp_r4.F90: Regenerated (comment change).
+ * generated/_exp_r8.F90: Regenerated (comment change).
+ * generated/_log10_r10.F90: Regenerated (comment change).
+ * generated/_log10_r16.F90: Regenerated (comment change).
+ * generated/_log10_r4.F90: Regenerated (comment change).
+ * generated/_log10_r8.F90: Regenerated (comment change).
+ * generated/_log_c10.F90: Regenerated (comment change).
+ * generated/_log_c16.F90: Regenerated (comment change).
+ * generated/_log_c4.F90: Regenerated (comment change).
+ * generated/_log_c8.F90: Regenerated (comment change).
+ * generated/_log_r10.F90: Regenerated (comment change).
+ * generated/_log_r16.F90: Regenerated (comment change).
+ * generated/_log_r4.F90: Regenerated (comment change).
+ * generated/_log_r8.F90: Regenerated (comment change).
+ * generated/_mod_i16.F90: Regenerated (comment change).
+ * generated/_mod_i4.F90: Regenerated (comment change).
+ * generated/_mod_i8.F90: Regenerated (comment change).
+ * generated/_mod_r10.F90: Regenerated (comment change).
+ * generated/_mod_r16.F90: Regenerated (comment change).
+ * generated/_mod_r4.F90: Regenerated (comment change).
+ * generated/_mod_r8.F90: Regenerated (comment change).
+ * generated/_sign_i16.F90: Regenerated (comment change).
+ * generated/_sign_i4.F90: Regenerated (comment change).
+ * generated/_sign_i8.F90: Regenerated (comment change).
+ * generated/_sign_r10.F90: Regenerated (comment change).
+ * generated/_sign_r16.F90: Regenerated (comment change).
+ * generated/_sign_r4.F90: Regenerated (comment change).
+ * generated/_sign_r8.F90: Regenerated (comment change).
+ * generated/_sinh_r10.F90: Regenerated (comment change).
+ * generated/_sinh_r16.F90: Regenerated (comment change).
+ * generated/_sinh_r4.F90: Regenerated (comment change).
+ * generated/_sinh_r8.F90: Regenerated (comment change).
+ * generated/_sin_c10.F90: Regenerated (comment change).
+ * generated/_sin_c16.F90: Regenerated (comment change).
+ * generated/_sin_c4.F90: Regenerated (comment change).
+ * generated/_sin_c8.F90: Regenerated (comment change).
+ * generated/_sin_r10.F90: Regenerated (comment change).
+ * generated/_sin_r16.F90: Regenerated (comment change).
+ * generated/_sin_r4.F90: Regenerated (comment change).
+ * generated/_sin_r8.F90: Regenerated (comment change).
+ * generated/_sqrt_c10.F90: Regenerated (comment change).
+ * generated/_sqrt_c16.F90: Regenerated (comment change).
+ * generated/_sqrt_c4.F90: Regenerated (comment change).
+ * generated/_sqrt_c8.F90: Regenerated (comment change).
+ * generated/_sqrt_r10.F90: Regenerated (comment change).
+ * generated/_sqrt_r16.F90: Regenerated (comment change).
+ * generated/_sqrt_r4.F90: Regenerated (comment change).
+ * generated/_sqrt_r8.F90: Regenerated (comment change).
+ * generated/_tanh_r10.F90: Regenerated (comment change).
+ * generated/_tanh_r16.F90: Regenerated (comment change).
+ * generated/_tanh_r4.F90: Regenerated (comment change).
+ * generated/_tanh_r8.F90: Regenerated (comment change).
+ * generated/_tan_r10.F90: Regenerated (comment change).
+ * generated/_tan_r16.F90: Regenerated (comment change).
+ * generated/_tan_r4.F90: Regenerated (comment change).
+ * generated/_tan_r8.F90: Regenerated (comment change).
+
+2011-08-18 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/50109
+ * io/list_read.c (eat_separator): Fix skipping over "!" lines.
+
+2011-07-23 Andreas Schwab <schwab@linux-m68k.org>
+
+ * intrinsics/ctime.c: Include <stdlib.h>.
+ * intrinsics/getlog.c: Likewise.
+ * runtime/stop.c: Likewise.
+
+2011-07-23 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/49791
+ * io/list_read.c (nml_parse_qualifier): Remove check to
+ enabled extended read for another case.
+
+2011-07-15 Daniel Carrera <dcarrera@gmail.com>
+
+ * caf/mpi.c (caf_runtime_error): Change fprintf to vfprintf.
+ * caf/single.c (caf_runtime_error): Ditto.
+
+2011-07-14 Daniel Carrera <dcarrera@gmail.com>
+
+ * caf/single.c: Include stdarg.h header.
+ (caf_runtime_error): New function. Use "exit(EXIT_FAILURE)".
+ (_gfortran_caf_register): Use caf_runtime_error.
+ (_gfortran_caf_sync_images): Use "exit(EXIT_FAILURE)".
+ * caf/mpi.c (caf_runtime_error): Remove "error" parameter.
+ Return EXIT_FAILURE instead.
+ (_gfortran_caf_register): Update call to caf_runtime_error.
+ (_gfortran_caf_sync_all): Ditto.
+ (_gfortran_caf_sync_images): Ditto.
+ (_gfortran_caf_error_stop_str): Use "exit(EXIT_FAILURE)".
+
+2011-07-13 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/49296
+ * io/list_read.c (read_logical): Don't error out if a valid value
+ is followed by EOF instead of a normal separator.
+ (read_integer): Likewise.
+
+2011-07-09 Tobias Burnus <burnus@net-b.de>
+
+ * runtime/error.c (sys_abort): Change argument list
+ from "()" to "(void)".
+
+2011-07-09 Tobias Burnus <burnus@net-b.de>
+ Daniel Carrera <dcarrera@gmail.com>
+
+ * caf/mpi.c (runtime_error): New function.
+ (_gfortran_caf_register): Use it.
+ (_gfortran_caf_sync_all): Use it, add STAT_STOPPED_IMAGE
+ as possible status value.
+ (_gfortran_caf_sync_images): Ditto.
+
+2011-07-07 Tobias Burnus <burnus@net-b.de>
+
+ * libcaf.h (__attribute__, unlikely, likely): New macros.
+ (caf_register_t): Update comment.
+ (_gfortran_caf_register): Add stat, errmsg, errmsg_len arguments.
+ * single.c (_gfortran_caf_register): Ditto; add error diagnostics.
+ * mpi.c (_gfortran_caf_register): Ditto.
+ (caf_is_finalized): New global variable.
+ (_gfortran_caf_finalize): Use it.
+
+2011-07-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ * runtime/memory.c (internal_malloc_size): If size is zero,
+ allocate a single byte.
+ * m4/pack.m4 (pack_'rtype_code`): Don't check for zero size
+ for the argument of internal_malloc_size.
+ * m4/spread.m4 (spread_'rtype_code`): Likewise.
+ * m4/eoshift1.m4 (eoshift1): Don't allocate twice. Don't check
+ for zero size for the argument of internal_malloc_size.
+ * m4/eoshift3.m4: Don't check for zero size for the argument of
+ internal_malloc_size.
+ * intrinsics/pack_generic.c (pack_internal): Likewise.
+ (pack_s_internal): Likewise.
+ * intrinsics/cshift0.c (cshift0): Likewise.
+ * intrinsics/spread_generic.c (spread_internal): Likewise.
+ * intrinsics/eoshift0.c (eoshift0): Likewise.
+ * intrinsics/eoshift2.c (eoshift2): Likewise.
+ * generated/eoshift1_16.c: Regenerated.
+ * generated/eoshift1_4.c: Regenerated.
+ * generated/eoshift1_8.c: Regenerated.
+ * generated/eoshift3_16.c: Regenerated.
+ * generated/eoshift3_4.c: Regenerated.
+ * generated/eoshift3_8.c: Regenerated.
+ * generated/pack_c10.c: Regenerated.
+ * generated/pack_c16.c: Regenerated.
+ * generated/pack_c4.c: Regenerated.
+ * generated/pack_c8.c: Regenerated.
+ * generated/pack_i16.c: Regenerated.
+ * generated/pack_i1.c: Regenerated.
+ * generated/pack_i2.c: Regenerated.
+ * generated/pack_i4.c: Regenerated.
+ * generated/pack_i8.c: Regenerated.
+ * generated/pack_r10.c: Regenerated.
+ * generated/pack_r16.c: Regenerated.
+ * generated/pack_r4.c: Regenerated.
+ * generated/pack_r8.c: Regenerated.
+ * generated/spread_c10.c: Regenerated.
+ * generated/spread_c16.c: Regenerated.
+ * generated/spread_c4.c: Regenerated.
+ * generated/spread_c8.c: Regenerated.
+ * generated/spread_i16.c: Regenerated.
+ * generated/spread_i1.c: Regenerated.
+ * generated/spread_i2.c: Regenerated.
+ * generated/spread_i4.c: Regenerated.
+ * generated/spread_i8.c: Regenerated.
+ * generated/spread_r10.c: Regenerated.
+ * generated/spread_r16.c: Regenerated.
+ * generated/spread_r4.c: Regenerated.
+ * generated/spread_r8.c: Regenerated.
+
+2011-06-28 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/49479
+ * m4/reshape.m4: If source allocation is smaller than one, set it
+ to one.
+ * intrinsics/reshape_generic.c: Likewise.
+ * generated/reshape_r16.c: Regenerated.
+ * generated/reshape_c4.c: Regenerated.
+ * generated/reshape_c16.c: Regenerated.
+ * generated/reshape_c8.c: Regenerated.
+ * generated/reshape_r4.c: Regenerated.
+ * generated/reshape_i4.c: Regenerated.
+ * generated/reshape_r10.c: Regenerated.
+ * generated/reshape_r8.c: Regenerated.
+ * generated/reshape_c10.c: Regenerated.
+ * generated/reshape_i8.c: Regenerated.
+ * generated/reshape_i16.c: Regenerated.
+
+2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/49296
+ * io/list_read.c (read_character): Accept EOF as a separator when
+ reading string.
+
+2011-06-17 Daniel Carrera <dcarrera@gmail.com>
+
+ * caf/single.c (_gfortran_caf_register): Store the address
+ of all static coarrays in a linked list.
+ (_gfortran_caf_finalize): Free memory of staic coarrays.
+ * caf/mpi.c (_gfortran_caf_register): Store the address
+ of all static coarrays in a linked list. Initialize MPI
+ if necessary.
+ (_gfortran_caf_finalize): Free memory of staic coarrays.
+ (_gfortran_caf_init): Check if MPI is already initialized
+ before initializing again.
+ * caf/libcaf.h: Add a type to caf_register_t to distinguish
+ static coarrays and add the type caf_static_t to make the
+ linked list of static coarrays.
+
+2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.c (buf_seek): Return error if file is not seekable.
+ (buf_tell): Call buf_seek.
+
+2011-06-11 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.c (fd_to_stream): Figure out if a fd is seekable by
+ trying lseek().
+
+2011-06-10 Daniel Carrera <dcarrera@gmail.com>
+
+ * caf/mpi.c (_gfortran_caf_sync_all,
+ _gfortran_caf_sync_images): Functions have void return type
+ and move status into parameter list.
+ * caf/single.c (_gfortran_caf_sync_all,
+ _gfortran_caf_sync_images): Functions have void return type
+ and move status into parameter list.
+ * caf/libcaf.h (_gfortran_caf_sync_all,
+ _gfortran_caf_sync_images): Functions have void return type
+ and move status into parameter list.
+
+2011-06-03 Richard Henderson <rth@redhat.com>
+ Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config/fpu-387.h [__sun__ && __svr4__] (sigill_hdlr): Correct
+ insn, insn size.
+ (has_sse) [!__x86_64__ && __sun__ && __svr4__]: Use movaps.
+
+2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48931
+ * libgfortran.h (find_addr2line): New prototype.
+ * runtime/backtrace.c (show_backtrace): Use async-signal-safe
+ execve and stored path of addr2line.
+ * runtime/compile_options.c (maybe_find_addr2line): New function.
+ (set_options): Call maybe_find_addr2line if backtracing is enabled.
+ * runtime/main.c (find_addr2line): New function.
+ (init): Call find_addr2line if backtracing is enabled.
+ (cleanup): Free addr2line_path.
+
+2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/49214
+ * runtime/backtrace.c (fd_gets): Return NULL if nothing was read.
+
+2011-05-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/19155
+ * io/read.c (convert_real): Check for invalid input by comparing
+ endptr instead of EINVAL.
+ (read_f): Fixup floating point input without significand.
+
+2011-05-22 Tobias Burnus <burnus@net-b.de>
+
+ * runtime/stop.c (stop_string,error_stop_string): Minor cleanup.
+
+2011-05-22 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48931
+ * configure.ac: Check for backtrace_symbols_fd instead of
+ backtrace_symbols, check for readlink.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * runtime/backtrace.c (local_strcasestr): Remove.
+ (bt_header): New function.
+ (dump_glibc_backtrace): Remove.
+ (fd_gets): New function.
+ (show_backtrace): Rework to use backtrace_symbols_fd and pipes
+ avoiding functions that are not async-signal-safe, reformat
+ output.
+ * runtime/main.c (store_exe_path): Try to check /proc/self/exe
+ first.
+
+2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR libfortran/48977
+ * configure.host: Swap order of glibc and x86 tests.
+
+2011-05-20 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * config/fpu-387.h (set_fpu): Use renamed inexact macro.
+ * config/fpu-aix.h (set_fpu): Clarify error messages, use renamed
+ inexact macro, set TRP_INEXACT for inexact exception instead of
+ TRP_UNDERFLOW.
+ * config/fpu-generic.h (set_fpu): Clarify error messages, use
+ renamed inexact macro.
+ * config/fpu-glibc.h (set_fpu): Likewise.
+ * config/fpu-sysv.h (set_fpu): Likewise.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ * runtime/stop.c (error_stop_string, error_stop_numeric):
+ Do not backtrace for ERROR STOP.
+
+2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48915
+ * intrinsics/abort.c (abort): Call sys_abort().
+ * io/unix.c (st_vprintf): Call sys_abort().
+ * libgfortran.h (options_t): Remove dump_core member.
+ (handler): Rename to backtrace_handler.
+ (compile_options_t): Remove dump_core member.
+ (sys_exit): Remove.
+ (sys_abort): New function.
+ * runtime/backtrace.c (show_backtrace): Print a message if
+ backtrace is not available on target, update filter symbol name
+ due to backtrace_handler renaming.
+ * runtime/compile_options.c (backtrace_handler): New
+ implementation based on example in Glibc manual.
+ (set_options): Remove dump_core handling, make signal handler
+ handle more signals.
+ (init_compile_options): Remove dump_core.
+ * runtime/environ.c (variable_table[]): Remove
+ GFORTRAN_ERROR_DUMPCORE element.
+ (show_variables): Update name, call exit().
+ * runtime/error.c (sys_exit): Remove.
+ (sys_abort): New function.
+ (recursion_check): Call sys_abort().
+ (os_error): Call exit().
+ (runtime_error): Likewise.
+ (runtime_error_at): Likewise.
+ (internal_error): Likewise.
+ (generate_error): Likewise.
+ (notify_std): Likewise.
+ * runtime/stop.c (stop_numeric): Call exit().
+ (stop_numeric_f08): Likewise.
+ (stop_string): Likewise.
+ (error_stop_string): Call sys_abort().
+ (error_stop_numeric): Print backtrace, exit with provided code.
+
+2011-05-14 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.c (st_vprintf,st_printf): Move to runtime/error.c.
+ * libgfortran.h (struct options_t): Remove use_stderr field.
+ (st_vprintf,st_printf): Move prototypes.
+ (estr_write): New prototype.
+ * runtime/error.c (sys_exit): Use estr_write instead of st_printf.
+ (estr_write): New function.
+ (st_vprintf): Move from io/unix.c, use stack allocated buffer,
+ always output to stderr.
+ (st_printf): Move from io/unix.c.
+ (show_locus): Use a local variable instead of static.
+ (os_error): Use estr_write instead of st_printf.
+ (runtime_error): Likewise.
+ (runtime_error_at): Likewise.
+ (runtime_warning_at): Likewise.
+ (internal_error): Likewise.
+ (generate_error): Likewise.
+ (generate_warning): Likewise.
+ (notify_std): Likewise.
+ * runtime/pause.c (do_pause): Likewise.
+ (pause_string): Likewise.
+ * runtime/stop.c (stop_string): Likewise.
+ (error_stop_string): Likewise.
+ * config/fpu_aix.h (set_fpu): Likewise.
+ * config/fpu_generic.h (set_fpu): Likewise.
+ * config/fpu_glibc.h (set_fpu): Likewise.
+ * config/fpu-sysv.h (set_fpu): Likewise.
+ * runtime/backtrace.c (dump_glibc_backtrace): Likewise.
+ (show_backtrace): Likewise.
+ * runtime/environ.c (print_spaces): Likewise.
+ (show_string): Likewise.
+ (show_variables): Likewise.
+ (variable_table[]): Remove GFORTRAN_USE_STDERR entry.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/48961
+ * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
+ synchronously executing with WAIT=.false.
+ (execute_command_line): Fix setting of cmdstat and exitstat.
+
+2011-05-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * caf/libcaf.h: Cleanup headers.
+ (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
+ (caf_register_t): New enum.
+ (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
+ * caf/single.c (_gfortran_caf_critical,
+ _gfortran_caf_end_critical): Remove.
+ (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
+ * caf/mpi.c (_gfortran_caf_critical,
+ _gfortran_caf_end_critical): Remove.
+ (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
+ (caf_world_window): Remove global variable.
+ (_gfortran_caf_init): Fix off-by-one error of this_image.
+
+2011-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48787
+ * io/write_float.def (output_float): Adjust up and down rounding for
+ cases where 'd' = 0. Gather common code to one location.
+
+2011-05-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48787
+ * io/write_float.def (output_float): Gather up integer declarations and
+ add new 'p' for scale factor. Use 'p' in place of the 'dtp' reference
+ everywhere. For ROUND_UP scan the digit string and only perform
+ rounding if something other than '0' is found.
+
+2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * io/unix.c (min): New macro.
+ (unpack_filename): Return errno number for errors.
+ (regular_file): Use appropriately sized buffer for path.
+ (compare_file_filename): Likewise.
+ (find_file): Likewise.
+ (delete_file): Likewise.
+ (file_exists): Likewise.
+ (file_size): Likewise.
+ (inquire_sequential): Likewise.
+ (inquire_direct): Likewise.
+ (inquire_formatted): Likewise.
+ (inquire_access): Likewise.
+
+2011-04-29 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/48488
+ * io/write.c (write_real, write_real_g0): Update comments.
+
+2011-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+ Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libgfortran/48488
+ PR libgfortran/48602
+ PR libgfortran/48615
+ PR libgfortran/48684
+ PR libgfortran/48787
+ * io/write.c (write_d, write_e, write_f, write_en,
+ write_es): Add precision compemsation parameter to call.
+ (set_fnode_default): Adjust default widths to assure
+ round trip on write and read. (write_real): Adjust call to write_float.
+ (write_real_g0): Calculate compensation for extra precision and adjust
+ call to write_float.
+ * io/write_float.def (output_float_FMT_G_): Use volatile rather than
+ asm volatile to avoid optimization issue. Correctly calculate the
+ number of blanks (nb) to be appended and simplify calculation logic.
+ (write_float): Increase MIN_FIELD_WIDTH by one to accomodate the new
+ default widths. Eliminate the code that attempted to reduce the
+ the precision used in later sprintf functions. Add call parameter to
+ compensate for extra precision.
+
+2011-04-20 Jim Meyering <meyering@redhat.com>
+
+ * intrinsics/move_alloc.c (move_alloc): Remove useless
+ if-before-free test.
+ * io/fbuf.c (fbuf_destroy): Likewise.
+ * io/format.c (save_parsed_format): Likewise.
+ * io/open.c (already_open): Likewise.
+ * io/unit.c (free_internal_unit, close_unit_1): Likewise.
+ * io/unix.c (mem_close): Likewise.
+
+2011-04-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48602
+ * io/write_float.def (output_float_FMT_G): Fix reversal in conditional.
+ Use asm volatile to mark temp variable, avoiding optimization errors.
+
+2011-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48602
+ * io/write_float.def (output_float_FMT_G): Use current rounding mode
+ to set the rounding parameters. (output_float): Skip rounding
+ if value is zero.
+
+2011-04-16 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/date_and_time.c (date_and_time): Remove sprintf CPP
+ branch.
+ * io/format.c (format_error): Use snprintf instead of sprintf.
+ * io/list_read.c: Move snprintf fallback macro to libgfortran.h.
+ (convert_integer): Use snprintf instead of sprintf.
+ (parse_repeat): Likewise.
+ (read_logical): Likewise.
+ (read_integer): Likewise.
+ (read_character): Likewise.
+ (parse_real): Likewise.
+ (read_complex): Likewise.
+ (read_real): Likewise.
+ (check_type): Likewise.
+ (nml_parse_qualifier): Add string length argument, use snprintf
+ instead of sprintf.
+ (nml_get_obj_data): Use snprintf instead of sprintf.
+ * io/open.c (new_unit): Remove sprintf CPP branch, use snprintf
+ instead of sprintf.
+ * io/transfer.c (require_type): Use snprintf instead of sprintf.
+ * io/unix.c (tempfile): Likewise.
+ * io/write.c (nml_write_obj): Likewise.
+ * io/write_float.def (output_float): Remove sprintf CPP branch,
+ use snprintf instead of sprintf.
+ * libgfortran.h: Add fallback snprintf macro from io/list_read.c.
+ * runtime/backtrace.c (show_backtrace): Remove sprintf CPP branch.
+ * runtime/main.c (store_exe_path): Use snprintf instead of
+ sprintf.
+
+2011-04-15 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48589
+ * io/write_float.def (write_infnan): Set width properly for G0.
+
+2011-04-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * Makefile.am: Build and install caf/single.c as
+ libcaf_single.a.
+ * Makefile.in: Regenerate.
+
+2011-04-15 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47571
+ * configure: Regenerated.
+ * config.h.in: Regenerated.
+ * acinclude.m4: Add alpha*-dec-osf* to gthread blacklist.
+ * configure.ac: Use separate symbol for clock_gettime in librt.
+ * intrinsics/system_clock.c: Use weakrefs only when needed and
+ supported.
+
+2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac: Use AC_TYPE_* to make sure we have (u)intptr_t,
+ check for ptrdiff_t.
+ * libgfortran.h: Remove (u)intptr_t definitions, use ptrdiff_t for
+ index_type, change cshift0* prototypes.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * intrinsics/cshift0.c (cshift0): Use ptrdiff_t instead of ssize_t.
+ * io/io.h (array_loop_spec): Use index_type instead of ssize_t.
+ * io/list_read.c (nml_parse_qualifier): Likewise.
+ * io/write.c (nml_write_obj): Likewise.
+ * m4/cshift0.c (cshift0_'rtype_code`): Likewise.
+ * generated/cshift0_*.c: Regenerated.
+
+2011-04-12 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * Makefile.am: Remove _GNU_SOURCE from AM_CPPFLAGS.
+ * Makefile.in: Regenerated.
+
+2011-04-06 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * caf/mpi.c (_gfortran_caf_init, _gfortran_caf_finalize):
+ Add global variable caf_mpi_initialized and use it for when
+ finalizing.
+
+2011-04-04 Tobias Burnus <burnus@net-b.de>
+
+ * unix.c: Adapt stat DEFINEs since MinGW64 supports LFS.
+ (fallback_access, open_internal4, compare_file_filename,
+ find_file, file_size, inquire_sequential, inquire_direct,
+ inquire_formatted): Use "struct stat" instead of gfstat_t.
+
+2011-03-27 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/18918
+ * caf/libcaf.h: New - coarray communication library.
+ * caf/mpi.c: New.
+ * caf/single.c: New.
+
+2011-03-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48030
+ * io/read.c (read_x): Re-implement using fbuf_getc.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/48135
+ * configure.ac (gfortran_use_symver): Handle --disable-symvers.
+ * configure: Regenerate.
+
+2011-03-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR fortran/35667
+ * io/io.h (convert_infnan): Declare.
+ * io/read.c (convert_infnan): New.
+ (read_f): Use convert_infnan to convert INFs and NANs.
+ * list_read.c (parse_real, read_real): Likewise.
+
+2011-03-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47439
+ * io/unix.c (tempfile): Work around poor mktemp() implementations.
+
+2011-03-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/47883
+ * acinclude.m4: Don't use AC_TRY_ macros.
+ * configure.ac: Likewise.
+ * configure: Regenerate.
+
+2011-03-12 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR libfortran/48066
+ * m4/ifunction.m4: If return array is empty, return.
+ * m4/ifunction_logical.m4: Likewise.
+ * generated/all_l16.c: Regenerated.
+ * generated/all_l1.c: Regenerated.
+ * generated/all_l2.c: Regenerated.
+ * generated/all_l4.c: Regenerated.
+ * generated/all_l8.c: Regenerated.
+ * generated/any_l16.c: Regenerated.
+ * generated/any_l1.c: Regenerated.
+ * generated/any_l2.c: Regenerated.
+ * generated/any_l4.c: Regenerated.
+ * generated/any_l8.c: Regenerated.
+ * generated/count_16_l.c: Regenerated.
+ * generated/count_1_l.c: Regenerated.
+ * generated/count_2_l.c: Regenerated.
+ * generated/count_4_l.c: Regenerated.
+ * generated/count_8_l.c: Regenerated.
+ * generated/maxloc1_16_i16.c: Regenerated.
+ * generated/maxloc1_16_i1.c: Regenerated.
+ * generated/maxloc1_16_i2.c: Regenerated.
+ * generated/maxloc1_16_i4.c: Regenerated.
+ * generated/maxloc1_16_i8.c: Regenerated.
+ * generated/maxloc1_16_r10.c: Regenerated.
+ * generated/maxloc1_16_r16.c: Regenerated.
+ * generated/maxloc1_16_r4.c: Regenerated.
+ * generated/maxloc1_16_r8.c: Regenerated.
+ * generated/maxloc1_4_i16.c: Regenerated.
+ * generated/maxloc1_4_i1.c: Regenerated.
+ * generated/maxloc1_4_i2.c: Regenerated.
+ * generated/maxloc1_4_i4.c: Regenerated.
+ * generated/maxloc1_4_i8.c: Regenerated.
+ * generated/maxloc1_4_r10.c: Regenerated.
+ * generated/maxloc1_4_r16.c: Regenerated.
+ * generated/maxloc1_4_r4.c: Regenerated.
+ * generated/maxloc1_4_r8.c: Regenerated.
+ * generated/maxloc1_8_i16.c: Regenerated.
+ * generated/maxloc1_8_i1.c: Regenerated.
+ * generated/maxloc1_8_i2.c: Regenerated.
+ * generated/maxloc1_8_i4.c: Regenerated.
+ * generated/maxloc1_8_i8.c: Regenerated.
+ * generated/maxloc1_8_r10.c: Regenerated.
+ * generated/maxloc1_8_r16.c: Regenerated.
+ * generated/maxloc1_8_r4.c: Regenerated.
+ * generated/maxloc1_8_r8.c: Regenerated.
+ * generated/maxval_i16.c: Regenerated.
+ * generated/maxval_i1.c: Regenerated.
+ * generated/maxval_i2.c: Regenerated.
+ * generated/maxval_i4.c: Regenerated.
+ * generated/maxval_i8.c: Regenerated.
+ * generated/maxval_r10.c: Regenerated.
+ * generated/maxval_r16.c: Regenerated.
+ * generated/maxval_r4.c: Regenerated.
+ * generated/maxval_r8.c: Regenerated.
+ * generated/minloc1_16_i16.c: Regenerated.
+ * generated/minloc1_16_i1.c: Regenerated.
+ * generated/minloc1_16_i2.c: Regenerated.
+ * generated/minloc1_16_i4.c: Regenerated.
+ * generated/minloc1_16_i8.c: Regenerated.
+ * generated/minloc1_16_r10.c: Regenerated.
+ * generated/minloc1_16_r16.c: Regenerated.
+ * generated/minloc1_16_r4.c: Regenerated.
+ * generated/minloc1_16_r8.c: Regenerated.
+ * generated/minloc1_4_i16.c: Regenerated.
+ * generated/minloc1_4_i1.c: Regenerated.
+ * generated/minloc1_4_i2.c: Regenerated.
+ * generated/minloc1_4_i4.c: Regenerated.
+ * generated/minloc1_4_i8.c: Regenerated.
+ * generated/minloc1_4_r10.c: Regenerated.
+ * generated/minloc1_4_r16.c: Regenerated.
+ * generated/minloc1_4_r4.c: Regenerated.
+ * generated/minloc1_4_r8.c: Regenerated.
+ * generated/minloc1_8_i16.c: Regenerated.
+ * generated/minloc1_8_i1.c: Regenerated.
+ * generated/minloc1_8_i2.c: Regenerated.
+ * generated/minloc1_8_i4.c: Regenerated.
+ * generated/minloc1_8_i8.c: Regenerated.
+ * generated/minloc1_8_r10.c: Regenerated.
+ * generated/minloc1_8_r16.c: Regenerated.
+ * generated/minloc1_8_r4.c: Regenerated.
+ * generated/minloc1_8_r8.c: Regenerated.
+ * generated/minval_i16.c: Regenerated.
+ * generated/minval_i1.c: Regenerated.
+ * generated/minval_i2.c: Regenerated.
+ * generated/minval_i4.c: Regenerated.
+ * generated/minval_i8.c: Regenerated.
+ * generated/minval_r10.c: Regenerated.
+ * generated/minval_r16.c: Regenerated.
+ * generated/minval_r4.c: Regenerated.
+ * generated/minval_r8.c: Regenerated.
+ * generated/product_c10.c: Regenerated.
+ * generated/product_c16.c: Regenerated.
+ * generated/product_c4.c: Regenerated.
+ * generated/product_c8.c: Regenerated.
+ * generated/product_i16.c: Regenerated.
+ * generated/product_i1.c: Regenerated.
+ * generated/product_i2.c: Regenerated.
+ * generated/product_i4.c: Regenerated.
+ * generated/product_i8.c: Regenerated.
+ * generated/product_r10.c: Regenerated.
+ * generated/product_r16.c: Regenerated.
+ * generated/product_r4.c: Regenerated.
+ * generated/product_r8.c: Regenerated.
+ * generated/sum_c10.c: Regenerated.
+ * generated/sum_c16.c: Regenerated.
+ * generated/sum_c4.c: Regenerated.
+ * generated/sum_c8.c: Regenerated.
+ * generated/sum_i16.c: Regenerated.
+ * generated/sum_i1.c: Regenerated.
+ * generated/sum_i2.c: Regenerated.
+ * generated/sum_i4.c: Regenerated.
+ * generated/sum_i8.c: Regenerated.
+ * generated/sum_r10.c: Regenerated.
+ * generated/sum_r16.c: Regenerated.
+ * generated/sum_r4.c: Regenerated.
+ * generated/sum_r8.c: Regenerated.
+
+2011-03-11 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/48047
+ * io/write_float.def (write_float): Change MIN_FIELD_WIDTH to 48.
+
+2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47802
+ * intrinsics/ctime.c (strctime): Use builtins to check localtime_r
+ return type.
+
+2011-03-04 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47802
+ * intrinsics/ctime.c (strctime): Don't use return value of
+ localtime_r.
+
+2011-02-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * io/write_float.def (output_float): Move handling of w = 0 to after
+ output rounding. Check for zero and set zero_flag accordingly. Set
+ width according to zero_flag. Add better comments.
+
+2011-02-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47778
+ * io/list_read.c (namelist_read): Intialize the error string buffere.
+ If pprev_nl was used during the previous namelist read and the rank
+ was zero, reset the pointer to NULL for the next namelist read.
+
+2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ PR libfortran/45165
+ * unix.c (fallback_access): Fix file descriptor leaks.
+
+2011-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * acinclude.m4 (LIBGFOR_CHECK_FPSETMASK): Set shell variable
+ tested in configure.host.
+ * configure: Regenerate.
+
+2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47802
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Remove checks for ctime and ctime_r, add check for
+ strftime.
+ * intrinsics/date_and_time.c (localtime_r): Move fallback
+ implementation to time_1.h.
+ * intrinsics/time_1.h (localtime_r): Fallback implementation.
+ * intrinsics/ctime.c: Include time_1.h.
+ (ctime_r): Remove fallback implementation.
+ (strctime): New function.
+ (fdate): Use strctime instead of ctime_r.
+ (fdate_sub): Likewise.
+ (ctime): Likewise.
+ (ctime_sub): Likewise.
+
+2011-02-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/47878
+ * io/transfer.c (read_sf): Call fbuf_getptr only at the end,
+ and subtract n, dtp->u.p.sf_seen_eor and seen_comma from it.
+
+2011-02-24 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47802
+ * configure.ac: Add test for POSIX getpwuid_r.
+ * intrinsics/getlog.c (getlog): CPP test for
+ HAVE_POSIX_GETPWUID_R.
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+
+2011-02-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * io/write_float.def (output_float): Remove special case handling of
+ zero with width 1.
+
+2011-02-23 Janne Blomqvist <jb@gcc.gnu.org>
+ Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libfortran/47694
+ * io/fbuf.h (fbuf_getptr): New inline function.
+ * io/transfer.c (read_sf): Use fbuf_getptr and fbuf_getc to scan
+ through the string instead of fbuf_read.
+
+2011-02-22 Tobias Burnus <burnus@net-b.de>
+ Kai-Uwe Eckhardt <kuehro@gmx.de>
+
+ PR libfortran/47830
+ * intrinsics/c99_functions.c (roundl): Make C valid for
+ HAVE_NEXTAFTERL.
+
+2011-02-19 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * io/write_float.def (output_float): Adjust width for F0.d to
+ allow space for negative signs on zero.
+
+2011-02-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47667
+ * io/list_read.c (read_logical): Check for end of line before calling
+ eat_line. (read_integer): Likewise. (parse_real): Don't unget the
+ separator. Check for end of line before calling eat_line.
+ (read_complex): Allow line-end before and after parenthesis and comma.
+ Check for end of line before calling eat_line. (read_real): Check for
+ end of line before calling eat_line.
+
+2011-02-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR libfortran/47757
+ * gfortran.map (GFORTRAN_1.4): Export
+ _gfortran_{m,s}i{all,any,parity}_i{1,2,4,8,16} and
+ _gfortran_{cshift0,eoshift{0,2}}_16_char4.
+
+2011-02-15 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/47716
+ PR fortran/47648
+ * acinclude.m4 (LIBGFOR_CHECK_FLOAT128): Use check from
+ libquadmath, which uses more features.
+ * configure: Regenerate.
+
+2011-02-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/47642
+ * io/write_float.def (DTOAQ): Use quadmath_snprintf instead of
+ quadmath_flt128tostr.
+ * io/transfer128.c (tmp2): Initialize to quadmath_snprintf instead
+ of quadmath_flt128tostr.
+
+2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Likewise.
+ * configure: Likewise.
+
+2011-02-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47567
+ * io/write_float.def (output_float): Eliminate some redundant code.
+ Adjust width for case of F0.X for values of zero and all other values.
+ Expand cases where '*' is set to give cleaner results.
+
+2011-02-05 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47571
+ * intrinsics/time_1.h (GF_CLOCK_MONOTONIC): Move to system_clock.c.
+ (weak_gettime): Likewise.
+ (gf_gettime): Change API, move weak_gettime() usage to
+ system_clock.c
+ * intrinsics/system_clock.c (GTHREAD_USE_WEAK): Define.
+ (gf_gettime_mono): New function.
+ (system_clock_4): Use gf_gettime_mono().
+ (system_clock_8): Likewise.
+ * intrinsics/date_and_time.c (date_and_time): Update gf_gettime()
+ usage.
+
+2011-02-02 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47571
+ * configure: Regenerated.
+ * configure.ac: Don't add librt to LIBS.
+ * intrinsics/time_1.h (weak_gettime): Weakref trickery for
+ clock_gettime().
+ (gf_gettime): Use weak_gettime() instead of clock_gettime().
+
+2011-02-01 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/time_1.h: Include errno.h needed by fallbacks.
+
+2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics/time_1.h: Fix definition of GF_CLOCK_MONOTONIC macro.
+
+2011-01-31 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * configure.ac: Check for clock_gettime().
+ * configure: Regenerated.
+ * config.h.in: Regenerated.
+ * intrinsics/time_1.h (__time_1): Rename to gf_cputime, add
+ times() fallback.
+ (gf_gettime): New function.
+ * intrinsics/cpu_time.c (__cpu_time_1): Update to call gf_cputime.
+ * intrinsics/date_and_time.c (date_and_time): Use gf_gettime.
+ * intrinsics/dtime.c (dtime_sub): Use gf_cputime.
+ * intrinsics/etime.c (etime_sub): Use gf_cputime.
+ * intrinsics/system_clock.c (system_clock_4): Use gf_gettime.
+ (system_clock_8): Use gf_gettime, increase count rate to allow
+ nanosecond precision, remove overflow prone branch.
+
+2011-01-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47434
+ * io/write_float.def (write_infnan): Use calculate_sign to determine
+ if the sign should be given and check field widths accordingly.
+
+2011-01-29 Kai Tietz <kai.tietz@onevision.com>
+
+ * intrinsics/ctime.c (ctime_r): Improve implementation.
+
+2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47431
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Add check for ctime_r().
+ * intrinsics/ctime.c (ctime_r): Fallback implementation.
+ (fdate): Use ctime_r() instead of ctime().
+ (fdate_sub): Likewise.
+ (ctime): Likewise.
+ (ctime_sub): Likewise.
+
+2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47432
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Add check for ttyname_r.
+ * io/unix.h: Add TTY_NAME_MAX, change stream_ttyname prototype.
+ * io/unix.c (stream_ttyname): Use ttyname_r if available, conform
+ to new prototype.
+ * io/inquire.c (inquire_via_unit): Use changed stream_ttyname.
+ * io/intrinsics.c (ttynam_sub): Likewise.
+ (ttynam): Likewise.
+
+2011-01-27 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47491
+ * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS to enable common
+ extensions.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+
+2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47285
+ * io/write_float.def (write_infnan): Adjust processor selected width
+ to 3 if NaN.
+
+2011-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47285
+ * io/write_float.def (output_float): Return SUCCESS or FAILURE and use
+ the result to set the padding.
+
+2011-01-26 Kai Tietz <kai.tietz@onevision.com>
+
+ * intrinsics/getlog.c (getlog): Fix label/statement issue.
+
+2011-01-25 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47375
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Add check for getpwuid_r.
+ * intrinsics/getlog.c (getlog): Use getpwuid_r() if available.
+
+2011-01-22 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/46267
+ * config.h.in: Regenerated.
+ * configure: Regenerated.
+ * configure.ac: Check presence of strerror_r.
+ * intrinsics/gerror.c (gerror): Use gf_strerror, modify logic.
+ * io/unix.c (get_oserror): Remove.
+ * libgfortran.h (gf_strerror): Add prototype.
+ (get_oserror): Remove prototype.
+ * runtime/error.c (gf_strerror): New function.
+ (os_error): Use gf_strerror instead of get_oserror.
+ (generate_errror): Likewise.
+
+2011-01-17 Janne Blomqvist <jb@gcc.gnu.org>
+
+ PR libfortran/47296
+ * io/unix.c (tempfile): Set opp->file and opp->file_len also if an
+ error occurs.
+
+2011-01-16 Jakub Jelinek <jakub@redhat.com>
+
+ PR fortran/46625
+ * io/write_float.def (DTOAQ): Use quadmath_flt128tostr
+ instead of quadmath_dtoa.
+ * io/transfer128.c (tmp1, tmp2): New variables, bring in
+ strtoflt128 and quadmath_flt128tostr.
+ (transfer_real128, transfer_real128_write, transfer_complex128,
+ transfer_complex128_write): Remove tmp1/tmp2 variables.
+ * io/read.c (convert_real): Use strtoflt128 instead of
+ quadmath_strtopQ, adjust for the changed arguments and return
+ value.
+
+2011-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47296
+ * io/unix.c (unpack_filename): Return non-zero if the filename passed
+ in is NULL.
+
+2011-01-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/47154
+ * io/list_read.c (namelist_read): Remove calls to hit_eof to avoid the
+ duplicate calls via next_record.
+
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 219e060..7ac0a66 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -3,249 +3,8 @@
* gnu/gcj/convert/Convert.java (version): Update copyright notice
dates.
* gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
-
-2011-12-27 Uros Bizjak <ubizjak@gmail.com>
-
- PR libgcj/49193
- * sysdep/alpha/locks.h (compare_and_swap): Call
- __sync_bool_compare_and_swap.
- (release_set): Call __sync_synchronize.
-
-2011-12-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (i?86-*-linux*): Set SIGNAL_HANDLER_AUX.
- * configure: Regenerate.
- * include/i386-signal.h: Wrap in __i386__, include
- java-signal-aux.h otherwise.
-
-2011-12-12 Kai Tietz <ktietz@redhat.com>
-
- PR libgcj/50053
- * java/lang/natClass.cc (java::lang::Class::newInstance): Special case
- member-call for 32-bit IA native Window target.
-
-2011-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/50888
- * prims.cc: Don't include ctype.h.
- (c_isspace): Define.
- (next_property_key, next_property_value): Use it instead
- of isspace.
-
-2011-11-21 Andreas Tobler <andreast@fgznet.ch>
-
- * configure.ac: Fix FreeBSD 10 detection.
- * configure: Regenerate.
-
-2011-10-17 Paul Brook <paul@codesourcery.com>
-
- * exception.cc (parse_lsda_header): hardcode ttype_encoding for older
- ARM EABI toolchains.
- (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
-
-2011-10-16 Uros Bizjak <ubizjak@gmail.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/50737
- * include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
- definition.
-
-2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * exception.cc (std::abort): Remove static.
-
-2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (THREADS): Remove posix95.
- * configure: Regenerate.
-
-2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (GCC_UNWIND_INCLUDE): Rename to
- LIBGCC_UNWIND_INCLUDE.
- Point to $(multi_basedir)/./libjava/../libgcc.
- * configure: Regenerate.
- * Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
- * Makefile.in: Regenerate.
-
-2011-07-12 Andrew Haley <aph@redhat.com>
-
- * interpret.cc (check_handler): Fix bit rot.
- (breakpoint_at): Likewise.
-
-2011-07-12 Andrew Haley <aph@redhat.com>
-
- * java/lang/natClass.cc (finalize): Make sure that the class
- really has an engine.
-
-2011-07-07 Matthias Klose <doko@ubuntu.com>
-
- * libtool-version: Bump soversion.
-
-2011-07-07 Matthias Klose <doko@ubuntu.com>
-
- * sysdep/x86-64: Remove empty directory.
-
-2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR target/39150
- * configure.host (x86_64-*): Add -Usun to libgcj_flags.
- (x86_64-*-solaris2.1[0-9]*): New case.
- (i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
-
-2011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libgcj/49314
- * gnu/gcj/convert/natIconv.cc (iconv_init): Pad in[] with NUL byte.
-
-2011-06-17 Jack Howarth <howarth@bromo.med.uc.edu>
-
- PR target/49461
- * libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
- * libjava/configure: Regenerate.
-
-2011-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR libgcj/49315
- * include/solaris-signal.h: Rename to ...
- * include/posix-signal.h: ... this.
- (SA_FLAGS): Define.
- (SIGNAL_HANDLER): Handle non-SA_SIGINFO case.
- (sa_signal_handler): Define.
- (_INIT_SIG_HANDLER): New macro.
- (INIT_SEGV, INIT_FPE): Use it.
- * configure.ac (SIGNAL_HANDLER): Use it on alpha*-dec-osf*,
- mips-sgi-irix*, *-*-solaris2*
- * configure: Regenerate.
- * include/aix-signal.h: Refer to AIX.
- * configure.host (alpha*-dec-osf*): Enable can_unwind_signal.
- (mips-sgi-irix6*): Likewise.
-
-2011-05-31 H.J. Lu <hongjiu.lu@intel.com>
-
- PR libgcj/49193
- * configure.host (sysdeps_dir): Set to i386 for x86_64.
-
- * sysdep/i386/locks.h (compare_and_swap): Call
- __sync_bool_compare_and_swap.
- (release_set): Call write_barrier ().
-
- * sysdep/x86-64/locks.h: Removed.
-
-2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
-
- * README: Refer to our generic bug reporting page.
-
-2011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (THREADS): Remove decosf1, irix, mach, os2.
- * configure: Regenerate
-
-2011-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
- Add $libiconv to cxxflags for alpha*-dec-osf*.
-
-2011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR testsuite/21164
- * testsuite/lib/libjava.exp: Load dg.exp.
- * testsuite/libjava.jar/jar.exp (gcj_jar_interpret): Strip srcdir
- from jarfile.
- Use result for messages.
- * testsuite/libjava.loader/loader.exp (gcj_loader_test_one): Pass
- errname to libjava_invoke, fix testname.
-
-2011-04-08 Kai Tietz <ktietz@redhat.com>
-
- * configure.ac (libgcj_ld_export_all): Set for windows
- native targets to export-all-symbols.
- (LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all.
- * Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL.
- * sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows
- native targets to DllMain.
- * gcj/javaprims.h (JNICALL): Define it dependent
- for different windows targets.
- * include/jni_md.h: Likewise.
- * headers.txt (_Jv_JNI_ToReflectedField): Mark
- JNICALLS for friends.
- (_Jv_JNI_ToReflectedMethod): Likewise.
- * java/lang/Class.h: Regenerated.
- * java/lang/reflect/Field.h: Regenerated.
- * java/lang/reflect/Constructor.h: Regenerated.
- * java/lang/reflect/Method.h: Regenerated.
- * configure: Regenerated.
- * Makefile.in: Regenerated.
- * include/Makefile.in: Regenerated.
- * testsuite/Makefile.in: Regenerated.
- * gcj/Makefile.in: Regenerated.
-
-2011-04-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac: Redirect $JAR -cf@ output to /dev/null.
- * configure: Regenerate.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (THREADS): Remove solaris.
- * configure: Regenerate.
-
-2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- PR bootstrap/48135
- * configure.ac (libjava_cv_anon_version_script): Handle
- --disable-symvers.
- * configure: Regenerate.
-
-2011-02-14 Gary Benson <gbenson@redhat.com>
-
- * libjava/contrib/aot-compile.in: Add our module directory
- to the start of the search path rather than the end.
- * libjava/contrib/aot-compile-rpm.in: Likewise.
-
-2011-02-14 Gary Benson <gbenson@redhat.com>
-
- PR libjava/47484
- * configure.ac (python_mod_dir, python_mod_dir_expanded):
- Install Python modules into versioned directory.
- * configure: Regenerate.
-
-2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- * configure: Regenerate.
- * shlibpath.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
- of freebsd1* which soon would incorrectly match FreeBSD 10.0.
-
-2011-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR java/21206
- * configure.ac (LDLIBICONV): New substituted variable, with
- instances of '-Wl,' removed from LIBICONV.
- * configure: Regenerate.
- * libgcj.spec.in: Use @LDLIBICONV@ not @LIBICONV@.
- * Makefile.in: Regenerate.
- * gcj/Makefile.in: Likewise.
- * include/Makefile.in: Likewise.
- * testsuite/Makefile.in: Likewise.
-
-2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac: Don't use libdl on mips-sgi-irix6*.
- * configure: Regenerate.
-
-2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
- Add -shared-libgcc to cxxflags for *-*-solaris*.
- Remove -lsocket.
-
-2011-01-03 Jakub Jelinek <jakub@redhat.com>
-
- * gnu/gcj/convert/Convert.java (version): Update copyright notice
- dates.
- * gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2012 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
diff --git a/libjava/ChangeLog-2011 b/libjava/ChangeLog-2011
new file mode 100644
index 0000000..841dfb7
--- /dev/null
+++ b/libjava/ChangeLog-2011
@@ -0,0 +1,246 @@
+2011-12-27 Uros Bizjak <ubizjak@gmail.com>
+
+ PR libgcj/49193
+ * sysdep/alpha/locks.h (compare_and_swap): Call
+ __sync_bool_compare_and_swap.
+ (release_set): Call __sync_synchronize.
+
+2011-12-20 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (i?86-*-linux*): Set SIGNAL_HANDLER_AUX.
+ * configure: Regenerate.
+ * include/i386-signal.h: Wrap in __i386__, include
+ java-signal-aux.h otherwise.
+
+2011-12-12 Kai Tietz <ktietz@redhat.com>
+
+ PR libgcj/50053
+ * java/lang/natClass.cc (java::lang::Class::newInstance): Special case
+ member-call for 32-bit IA native Window target.
+
+2011-11-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR bootstrap/50888
+ * prims.cc: Don't include ctype.h.
+ (c_isspace): Define.
+ (next_property_key, next_property_value): Use it instead
+ of isspace.
+
+2011-11-21 Andreas Tobler <andreast@fgznet.ch>
+
+ * configure.ac: Fix FreeBSD 10 detection.
+ * configure: Regenerate.
+
+2011-10-17 Paul Brook <paul@codesourcery.com>
+
+ * exception.cc (parse_lsda_header): hardcode ttype_encoding for older
+ ARM EABI toolchains.
+ (get_ttype_entry) Remove __ARM_EABI_UNWINDER__ variant.
+
+2011-10-16 Uros Bizjak <ubizjak@gmail.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/50737
+ * include/dwarf2-signal.h [__alpha__]: Remove MAKE_THROW_FRAME
+ definition.
+
+2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * exception.cc (std::abort): Remove static.
+
+2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (THREADS): Remove posix95.
+ * configure: Regenerate.
+
+2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (GCC_UNWIND_INCLUDE): Rename to
+ LIBGCC_UNWIND_INCLUDE.
+ Point to $(multi_basedir)/./libjava/../libgcc.
+ * configure: Regenerate.
+ * Makefile.am (GCC_UNWIND_INCLUDE): Reflect this.
+ * Makefile.in: Regenerate.
+
+2011-07-12 Andrew Haley <aph@redhat.com>
+
+ * interpret.cc (check_handler): Fix bit rot.
+ (breakpoint_at): Likewise.
+
+2011-07-12 Andrew Haley <aph@redhat.com>
+
+ * java/lang/natClass.cc (finalize): Make sure that the class
+ really has an engine.
+
+2011-07-07 Matthias Klose <doko@ubuntu.com>
+
+ * libtool-version: Bump soversion.
+
+2011-07-07 Matthias Klose <doko@ubuntu.com>
+
+ * sysdep/x86-64: Remove empty directory.
+
+2011-07-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR target/39150
+ * configure.host (x86_64-*): Add -Usun to libgcj_flags.
+ (x86_64-*-solaris2.1[0-9]*): New case.
+ (i?86-*-solaris2*): Also accept x86_64-*-solaris2.1[0-9]*.
+
+2011-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libgcj/49314
+ * gnu/gcj/convert/natIconv.cc (iconv_init): Pad in[] with NUL byte.
+
+2011-06-17 Jack Howarth <howarth@bromo.med.uc.edu>
+
+ PR target/49461
+ * libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
+ * libjava/configure: Regenerate.
+
+2011-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR libgcj/49315
+ * include/solaris-signal.h: Rename to ...
+ * include/posix-signal.h: ... this.
+ (SA_FLAGS): Define.
+ (SIGNAL_HANDLER): Handle non-SA_SIGINFO case.
+ (sa_signal_handler): Define.
+ (_INIT_SIG_HANDLER): New macro.
+ (INIT_SEGV, INIT_FPE): Use it.
+ * configure.ac (SIGNAL_HANDLER): Use it on alpha*-dec-osf*,
+ mips-sgi-irix*, *-*-solaris2*
+ * configure: Regenerate.
+ * include/aix-signal.h: Refer to AIX.
+ * configure.host (alpha*-dec-osf*): Enable can_unwind_signal.
+ (mips-sgi-irix6*): Likewise.
+
+2011-05-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR libgcj/49193
+ * configure.host (sysdeps_dir): Set to i386 for x86_64.
+
+ * sysdep/i386/locks.h (compare_and_swap): Call
+ __sync_bool_compare_and_swap.
+ (release_set): Call write_barrier ().
+
+ * sysdep/x86-64/locks.h: Removed.
+
+2011-04-24 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * README: Refer to our generic bug reporting page.
+
+2011-04-19 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (THREADS): Remove decosf1, irix, mach, os2.
+ * configure: Regenerate
+
+2011-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
+ Add $libiconv to cxxflags for alpha*-dec-osf*.
+
+2011-04-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/21164
+ * testsuite/lib/libjava.exp: Load dg.exp.
+ * testsuite/libjava.jar/jar.exp (gcj_jar_interpret): Strip srcdir
+ from jarfile.
+ Use result for messages.
+ * testsuite/libjava.loader/loader.exp (gcj_loader_test_one): Pass
+ errname to libjava_invoke, fix testname.
+
+2011-04-08 Kai Tietz <ktietz@redhat.com>
+
+ * configure.ac (libgcj_ld_export_all): Set for windows
+ native targets to export-all-symbols.
+ (LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all.
+ * Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL.
+ * sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows
+ native targets to DllMain.
+ * gcj/javaprims.h (JNICALL): Define it dependent
+ for different windows targets.
+ * include/jni_md.h: Likewise.
+ * headers.txt (_Jv_JNI_ToReflectedField): Mark
+ JNICALLS for friends.
+ (_Jv_JNI_ToReflectedMethod): Likewise.
+ * java/lang/Class.h: Regenerated.
+ * java/lang/reflect/Field.h: Regenerated.
+ * java/lang/reflect/Constructor.h: Regenerated.
+ * java/lang/reflect/Method.h: Regenerated.
+ * configure: Regenerated.
+ * Makefile.in: Regenerated.
+ * include/Makefile.in: Regenerated.
+ * testsuite/Makefile.in: Regenerated.
+ * gcj/Makefile.in: Regenerated.
+
+2011-04-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Redirect $JAR -cf@ output to /dev/null.
+ * configure: Regenerate.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac (THREADS): Remove solaris.
+ * configure: Regenerate.
+
+2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR bootstrap/48135
+ * configure.ac (libjava_cv_anon_version_script): Handle
+ --disable-symvers.
+ * configure: Regenerate.
+
+2011-02-14 Gary Benson <gbenson@redhat.com>
+
+ * libjava/contrib/aot-compile.in: Add our module directory
+ to the start of the search path rather than the end.
+ * libjava/contrib/aot-compile-rpm.in: Likewise.
+
+2011-02-14 Gary Benson <gbenson@redhat.com>
+
+ PR libjava/47484
+ * configure.ac (python_mod_dir, python_mod_dir_expanded):
+ Install Python modules into versioned directory.
+ * configure: Regenerate.
+
+2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * configure: Regenerate.
+ * shlibpath.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER): Remove handling
+ of freebsd1* which soon would incorrectly match FreeBSD 10.0.
+
+2011-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR java/21206
+ * configure.ac (LDLIBICONV): New substituted variable, with
+ instances of '-Wl,' removed from LIBICONV.
+ * configure: Regenerate.
+ * libgcj.spec.in: Use @LDLIBICONV@ not @LIBICONV@.
+ * Makefile.in: Regenerate.
+ * gcj/Makefile.in: Likewise.
+ * include/Makefile.in: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+2011-02-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * configure.ac: Don't use libdl on mips-sgi-irix6*.
+ * configure: Regenerate.
+
+2011-01-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * testsuite/libjava.jni/jni.exp (gcj_jni_get_cxxflags_invocation):
+ Add -shared-libgcc to cxxflags for *-*-solaris*.
+ Remove -lsocket.
+
+2011-01-03 Jakub Jelinek <jakub@redhat.com>
+
+ * gnu/gcj/convert/Convert.java (version): Update copyright notice
+ dates.
+ * gnu/gcj/tools/gcj_dbtool/Main.java (main): Likewise.
+
+Copyright (C) 2011 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.