platform/upstream/gcc.git
12 years agore PR tree-optimization/51684 (ICE in gfortran.dg/maxloc_bounds_5 on ia64)
Ira Rosen [Wed, 28 Dec 2011 09:20:16 +0000 (09:20 +0000)]
re PR tree-optimization/51684 (ICE in gfortran.dg/maxloc_bounds_5 on ia64)

        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.

From-SVN: r182705

12 years agore PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
Uros Bizjak [Wed, 28 Dec 2011 09:16:24 +0000 (10:16 +0100)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))

PR testsuite/50722
* gcc.dg/pr49994-3.c: Skip on ia64-*-*-*, hppa*-*-* and *-*-hpux*.

From-SVN: r182704

12 years agocompiler: Prohibit comparisons of funcs, maps, and slices to non-nil.
Ian Lance Taylor [Wed, 28 Dec 2011 03:46:20 +0000 (03:46 +0000)]
compiler: Prohibit comparisons of funcs, maps, and slices to non-nil.

From-SVN: r182703

12 years agoDaily bump.
GCC Administrator [Wed, 28 Dec 2011 00:19:04 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182702

12 years agogo-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use build_distinct_type_copy...
Ian Lance Taylor [Wed, 28 Dec 2011 00:06:10 +0000 (00:06 +0000)]
go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use build_distinct_type_copy rather than build_variant_type_copy.

* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
build_distinct_type_copy rather than build_variant_type_copy.
(Gcc_backend::set_placeholder_array_type): Likewise.
(Gcc_backend::named_type): Add special handling for builtin
basic types.

From-SVN: r182698

12 years agocompiler: Rework range over slice.
Ian Lance Taylor [Wed, 28 Dec 2011 00:02:39 +0000 (00:02 +0000)]
compiler: Rework range over slice.

From-SVN: r182697

12 years agoUse work email address for December 2 and 9th changes
Michael Meissner [Tue, 27 Dec 2011 22:56:18 +0000 (22:56 +0000)]
Use work email address for December 2 and 9th changes

From-SVN: r182696

12 years agore PR c++/51547 (auto, type deduction, reference collapsing and const: invalid initia...
Paolo Carlini [Tue, 27 Dec 2011 19:04:24 +0000 (19:04 +0000)]
re PR c++/51547 (auto, type deduction, reference collapsing and const: invalid initialization of reference of type 'const X&&' from expression of type 'const X')

2011-12-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51547
* g++.dg/cpp0x/pr51547.C: New.

From-SVN: r182695

12 years agore PR rtl-optimization/51667 (new FAIL: 27_io/basic_*stream/* execution test with...
Eric Botcazou [Tue, 27 Dec 2011 16:25:43 +0000 (16:25 +0000)]
re PR rtl-optimization/51667 (new FAIL: 27_io/basic_*stream/* execution test with -m32)

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.

From-SVN: r182694

12 years agore PR tree-optimization/48641 (ICE: verify_flow_info failed: Wrong frequency of block...
Jan Hubicka [Tue, 27 Dec 2011 10:41:58 +0000 (11:41 +0100)]
re PR tree-optimization/48641 (ICE: verify_flow_info failed: Wrong frequency of block 77 -419530 with -O -fno-tree-ccp -fno-tree-copy-prop)

PR middle-end/48641
* tree-ssa-threadupdate.c (redirect_edges): Watch for overflow.
* gcc.dg/compile/pr48641.c: New file.

From-SVN: r182693

12 years agore PR libgcj/49193 (__sync_xxxx builtins aren't used in sysdep/*/locks.h)
Uros Bizjak [Tue, 27 Dec 2011 09:40:23 +0000 (10:40 +0100)]
re PR libgcj/49193 (__sync_xxxx builtins aren't used in sysdep/*/locks.h)

PR libgcj/49193
* sysdep/alpha/locks.h (compare_and_swap): Call
__sync_bool_compare_and_swap.
(release_set): Call __sync_synchronize.

From-SVN: r182692

12 years agoDaily bump.
GCC Administrator [Tue, 27 Dec 2011 00:18:39 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182690

12 years agosync.md: Add soft atomics ABI description.
Oleg Endo [Mon, 26 Dec 2011 23:00:14 +0000 (23:00 +0000)]
sync.md: Add soft atomics ABI description.

* 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.

From-SVN: r182686

12 years agore PR middle-end/51200 (Wrong code sequence to store restrict volatile bitfield)
Joey Ye [Mon, 26 Dec 2011 08:43:48 +0000 (08:43 +0000)]
re PR middle-end/51200 (Wrong code sequence to store restrict volatile bitfield)

2011-12-26  Joey Ye  <joey.ye@arm.com>

PR middle-end/51200
* gcc.dg/volatile-bitfields-2.c: New test.

From-SVN: r182685

12 years agoDaily bump.
GCC Administrator [Mon, 26 Dec 2011 00:18:57 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182684

12 years agoDaily bump.
GCC Administrator [Sun, 25 Dec 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182680

12 years agolibitm: Don't enforce privatization safety if already in serial mode.
Torvald Riegel [Sat, 24 Dec 2011 01:42:48 +0000 (01:42 +0000)]
libitm: Don't enforce privatization safety if already in serial mode.

libitm/
* beginend.cc (GTM::gtm_thread::trycommit): Don't enforce
privatization safety if already in serial mode.

From-SVN: r182676

12 years agolibitm: Fix privatization safety during upgrades to serial mode.
Torvald Riegel [Sat, 24 Dec 2011 01:42:35 +0000 (01:42 +0000)]
libitm: Fix privatization safety during upgrades to serial mode.

libitm/
* beginend.cc (GTM::gtm_thread::restart): Add and handle
finish_serial_upgrade parameter.
* libitm.h (GTM::gtm_thread::restart): Adapt declaration.
* config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic):
Don't unset reader flag.
(GTM::gtm_rwlock::write_upgrade_finish): New.
* config/posix/rwlock.cc: Same.
* config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish):
Declare.
* config/posix/rwlock.h: Same.
* method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader
flag after commit or after rollback when restarting.

From-SVN: r182675

12 years agolibitm: Fixed conversion to C++11 atomics.
Torvald Riegel [Sat, 24 Dec 2011 01:42:20 +0000 (01:42 +0000)]
libitm: Fixed conversion to C++11 atomics.

libitm/
* beginend.cc (GTM::gtm_thread::begin_transaction): Add comment.
(GTM::gtm_thread::try_commit): Changed memory order.
* config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int
as parameter.
* config/linux/x86/futex_bits.h (sys_futex0): Same.
* config/linux/sh/futex_bits.h (sys_futex0): Same.
* config/linux/futex_bits.h (sys_futex0): Same.
* config/linux/futex.cc (futex_wait, futex_wake): Same.
* config/linux/futex.h (futex_wait, futex_wake): Same.
* config/linux/rwlock.h (gtm_rwlock::writers,
gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic
ints.
* config/linux/rwlock.cc (gtm_rwlock::read_lock,
gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
gtm_rwlock::write_unlock): Fix memory orders and fences.
* config/posix/rwlock.cc (gtm_rwlock::read_lock,
gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock,
gtm_rwlock::write_unlock): Same.
* config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int.
* method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static,
gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart):
Add comments.
(gl_wt_dispatch::pre_write, gl_wt_dispatch::validate,
gl_wt_dispatch::load, gl_wt_dispatch::store,
gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory
orders and fences.  Add comments.

From-SVN: r182674

12 years agoDaily bump.
GCC Administrator [Sat, 24 Dec 2011 00:18:54 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182673

12 years agoDelete VEC_EXTRACT_EVEN/ODD_EXPR.
Richard Henderson [Fri, 23 Dec 2011 22:07:16 +0000 (14:07 -0800)]
Delete VEC_EXTRACT_EVEN/ODD_EXPR.

* 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.

From-SVN: r182669

12 years agore PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument...
Jason Merrill [Fri, 23 Dec 2011 22:00:13 +0000 (17:00 -0500)]
re PR c++/51507 ([C++0x] Function parameter pack doesn't use in template-argument-list)

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): Clear current_function_decl.

From-SVN: r182668

12 years agotree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names.
Jason Merrill [Fri, 23 Dec 2011 22:00:02 +0000 (17:00 -0500)]
tree.c (dependent_name): OFFSET_REF and BASELINK are not dependent names.

* tree.c (dependent_name): OFFSET_REF and BASELINK
are not dependent names.

From-SVN: r182667

12 years agoscore.h (REGISTER_MOVE_COST, [...]): Remove.
Anatoly Sokolov [Fri, 23 Dec 2011 21:40:42 +0000 (01:40 +0400)]
score.h (REGISTER_MOVE_COST, [...]): Remove.

* 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.

From-SVN: r182666

12 years agofast-math-pr35982.c: Fix parenthesis in target selectors.
Uros Bizjak [Fri, 23 Dec 2011 21:11:15 +0000 (22:11 +0100)]
fast-math-pr35982.c: Fix parenthesis in target selectors.

2011-12-23  Uros Bizjak  <ubizjak@gmail.com>

* gcc.dg/vect/fast-math-pr35982.c: Fix parenthesis in target selectors.

From-SVN: r182665

12 years agoDelete VEC_INTERLEAVE_*_EXPR.
Jakub Jelinek [Fri, 23 Dec 2011 18:38:03 +0000 (10:38 -0800)]
Delete VEC_INTERLEAVE_*_EXPR.

* 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.

From-SVN: r182663

12 years agomips: Improved vectorization support for Loongson and mips3d-ps.
Richard Henderson [Fri, 23 Dec 2011 18:36:07 +0000 (10:36 -0800)]
mips: Improved vectorization support for Loongson and mips3d-ps.

* 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.

From-SVN: r182662

12 years agoweak_ptr_expired.cc: Modify to PASS instead of XFAIL.
Jonathan Wakely [Fri, 23 Dec 2011 17:31:00 +0000 (17:31 +0000)]
weak_ptr_expired.cc: Modify to PASS instead of XFAIL.

* testsuite/tr1/2_general_utilities/shared_ptr/cons/
weak_ptr_expired.cc: Modify to PASS instead of XFAIL.

From-SVN: r182661

12 years ago* config/os/mingw32-w64/os_defines.h (__USE_MINGW_ANSI_STDIO): Define.
Kai Tietz [Fri, 23 Dec 2011 17:23:38 +0000 (18:23 +0100)]
* config/os/mingw32-w64/os_defines.h (__USE_MINGW_ANSI_STDIO): Define.

From-SVN: r182660

12 years ago* include/c_global/cinttypes: Update comments that refer to TR1.
Jonathan Wakely [Fri, 23 Dec 2011 17:20:44 +0000 (17:20 +0000)]
* include/c_global/cinttypes: Update comments that refer to TR1.

From-SVN: r182659

12 years agore PR libstdc++/49204 ([C++0x] remaining issues in <future>)
Jonathan Wakely [Fri, 23 Dec 2011 16:10:48 +0000 (16:10 +0000)]
re PR libstdc++/49204 ([C++0x] remaining issues in <future>)

PR libstdc++/49204
* include/std/future (future_errc): Implement LWG 2056.

From-SVN: r182658

12 years agoneon.md (float<mode><V_cvtto>2): New.
Dmitry Plotnikov [Fri, 23 Dec 2011 13:53:17 +0000 (13:53 +0000)]
neon.md (float<mode><V_cvtto>2): 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.

gcc/testsuite/:
* 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.

From-SVN: r182657

12 years ago[multiple changes]
Arnaud Charlet [Fri, 23 Dec 2011 09:36:49 +0000 (10:36 +0100)]
[multiple changes]

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.

From-SVN: r182656

12 years agognatcmd.adb, [...]: Minor reformatting.
Pascal Obry [Fri, 23 Dec 2011 09:34:21 +0000 (09:34 +0000)]
gnatcmd.adb, [...]: Minor reformatting.

2011-12-23  Pascal Obry  <obry@adacore.com>

* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.

From-SVN: r182655

12 years agore PR rtl-optimization/50396 (SSE division by zero generates incorrect code with...
Richard Guenther [Fri, 23 Dec 2011 09:10:18 +0000 (09:10 +0000)]
re PR rtl-optimization/50396 (SSE division by zero generates incorrect code with optimizations enabled)

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.

* gcc.dg/torture/pr50396.c: New testcase.

From-SVN: r182653

12 years agovms-crtlmap.map (log10): Fix typo.
Tristan Gingold [Fri, 23 Dec 2011 08:27:22 +0000 (08:27 +0000)]
vms-crtlmap.map (log10): Fix typo.

2011-12-23  Tristan Gingold  <gingold@adacore.com>

* config/vms/vms-crtlmap.map (log10): Fix typo.

From-SVN: r182652

12 years agovms.h (SUPPORTS_ONE_ONLY): Define.
Tristan Gingold [Fri, 23 Dec 2011 08:24:42 +0000 (08:24 +0000)]
vms.h (SUPPORTS_ONE_ONLY): Define.

2011-12-23  Tristan Gingold  <gingold@adacore.com>

* config/ia64/vms.h (SUPPORTS_ONE_ONLY): Define.

From-SVN: r182651

12 years agore PR tree-optimization/43491 (Unnecessary temporary for global register variable)
Bin Cheng [Fri, 23 Dec 2011 05:43:09 +0000 (05:43 +0000)]
re PR tree-optimization/43491 (Unnecessary temporary for global register variable)

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.

testsuite:
* gcc.dg/tree-ssa/pr43491.c: New test.

Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r182650

12 years agotoplev.c (process_options): Fix typo.
Joey Ye [Fri, 23 Dec 2011 02:18:17 +0000 (02:18 +0000)]
toplev.c (process_options): Fix typo.

2011-12-22  Joey Ye  <joey.ye@arm.com>

    * toplev.c (process_options): Fix typo.

From-SVN: r182649

12 years agoCommit missing log entry.
John David Anglin [Fri, 23 Dec 2011 02:17:39 +0000 (02:17 +0000)]
Commit missing log entry.

From-SVN: r182648

12 years agore PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))
John David Anglin [Fri, 23 Dec 2011 02:10:52 +0000 (02:10 +0000)]
re PR testsuite/50722 (FAIL: gcc.dg/pr49994-3.c (test for excess errors))

PR testsuite/50722
gcc.dg/pr49994-3.c: xfail on hppa*-*-*.

From-SVN: r182647

12 years agore PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error))
John David Anglin [Fri, 23 Dec 2011 01:53:13 +0000 (01:53 +0000)]
re PR middle-end/51252 (FAIL: c-c++-common/tm/freq.c (internal compiler error))

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.

From-SVN: r182646

12 years agoregex.h (match_results::size_type): Use allocator_traits.
Jonathan Wakely [Fri, 23 Dec 2011 01:47:41 +0000 (01:47 +0000)]
regex.h (match_results::size_type): Use allocator_traits.

* include/bits/regex.h (match_results::size_type): Use
allocator_traits.

From-SVN: r182645

12 years agoDaily bump.
GCC Administrator [Fri, 23 Dec 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r182644

12 years agotm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.
Richard Sandiford [Thu, 22 Dec 2011 21:28:40 +0000 (21:28 +0000)]
tm.texi.in (TARGET_PREPARE_PCH_SAVE): New hook.

gcc/
* 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.

From-SVN: r182640

12 years agogo-gcc.cc (set_placeholder_pointer_type): Arrange for the type name to have a DECL_OR...
Ian Lance Taylor [Thu, 22 Dec 2011 20:49:18 +0000 (20:49 +0000)]
go-gcc.cc (set_placeholder_pointer_type): Arrange for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.

* go-gcc.cc (set_placeholder_pointer_type): Arrange for the type
name to have a DECL_ORIGINAL_TYPE as gcc expects.
(set_placeholder_struct_type): Likewise.
(set_placeholder_array_type): Likewise.
(named_type): Set DECL_ORIGINAL_TYPE.

From-SVN: r182639

12 years agoPR 51646 Use POSIX mode flags in open() argument.
Janne Blomqvist [Thu, 22 Dec 2011 20:44:32 +0000 (22:44 +0200)]
PR 51646 Use POSIX mode flags in open() argument.

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.

Co-Authored-By: Tobias Burnus <burnus@net-b.de>
From-SVN: r182638

12 years agolibgo: Use -std=gnu99 on Solaris 10.
Ian Lance Taylor [Thu, 22 Dec 2011 20:39:29 +0000 (20:39 +0000)]
libgo: Use -std=gnu99 on Solaris 10.

From Rainer Orth.

From-SVN: r182637

12 years agore PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has...
Aldy Hernandez [Thu, 22 Dec 2011 20:18:11 +0000 (20:18 +0000)]
re PR middle-end/51212 (ICE: verify_flow_info failed: BB 3 can not throw but has an EH edge with -fgnu-tm -fnon-call-exceptions and transaction_callable)

PR middle-end/51212
* opts.c (finish_options): Call sorry on -fgnu-tm and
-fnon-call-exceptions combination.

From-SVN: r182636

12 years agoruntime: Fix missing USING_SPLIT_STACK ifdef.
Ian Lance Taylor [Thu, 22 Dec 2011 19:07:12 +0000 (19:07 +0000)]
runtime: Fix missing USING_SPLIT_STACK ifdef.

From Uros Bizjak.

From-SVN: r182633

12 years agore PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
Jonathan Wakely [Thu, 22 Dec 2011 18:58:15 +0000 (18:58 +0000)]
re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)

PR libstdc++/48362
* testsuite/libstdc++-prettyprinters/48362.cc: New.

From-SVN: r182632

12 years agoinvoke.texi (C++ Dialect Options): Add missing options and move -Wzero-as-null-pointe...
Jonathan Wakely [Thu, 22 Dec 2011 17:52:36 +0000 (17:52 +0000)]
invoke.texi (C++ Dialect Options): Add missing options and move -Wzero-as-null-pointer-constant to ...

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.

From-SVN: r182631

12 years agore PR target/47643 (x86 -mtune docs still imply i386 is the default for codegen)
Jonathan Wakely [Thu, 22 Dec 2011 17:35:05 +0000 (17:35 +0000)]
re PR target/47643 (x86 -mtune docs still imply i386 is the default for codegen)

PR target/47643
* doc/invoke.texi (i386 and x86-64 Options): Fix description of
-mtune without -march.

From-SVN: r182630

12 years agore PR target/51643 (Incorrect code produced for tail-call of weak function with ...
Richard Earnshaw [Thu, 22 Dec 2011 17:31:50 +0000 (17:31 +0000)]
re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)

PR target/51643
* arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
change.

From-SVN: r182628

12 years agoia64.c (ia64_promote_function_mode): Remove.
Tristan Gingold [Thu, 22 Dec 2011 16:40:11 +0000 (16:40 +0000)]
ia64.c (ia64_promote_function_mode): Remove.

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.

From-SVN: r182627

12 years agore PR rtl-optimization/27468 (sign-extending Alpha instructions not exploited)
Uros Bizjak [Thu, 22 Dec 2011 16:35:16 +0000 (17:35 +0100)]
re PR rtl-optimization/27468 (sign-extending Alpha instructions not exploited)

PR target/27468
* common/config/alpha/alpha-common.c (alpha_option_optimization_table):
Enable flag_ree at -O2 or higher.

From-SVN: r182626

12 years agore PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building...
Richard Guenther [Thu, 22 Dec 2011 15:28:24 +0000 (15:28 +0000)]
re PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building libxul)

2011-12-22  Richard Guenther  <rguenther@suse.de>

PR lto/51650
* lto.c (uniquify_nodes): Register TYPE_DECLs with the
debuginfo machinery.

* g++.dg/lto/pr51650-1_0.C: New testcase.
* g++.dg/lto/pr51650-2_0.C: Likewise.

From-SVN: r182625

12 years agotree-pass.h (pass_reload): Declare.
Bernd Schmidt [Thu, 22 Dec 2011 15:01:25 +0000 (15:01 +0000)]
tree-pass.h (pass_reload): Declare.

* 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.

From-SVN: r182624

12 years agoi386-common.c (ix86_option_optimization_table): Move OPT_free processing from ...
Uros Bizjak [Thu, 22 Dec 2011 14:39:35 +0000 (15:39 +0100)]
i386-common.c (ix86_option_optimization_table): Move OPT_free processing from ...

* common/config/i386/i386-common.c (ix86_option_optimization_table):
Move OPT_free processing from ...
* config/i386/i386.c (ix86_option_override_internal):  ... here.

From-SVN: r182623

12 years agore PR target/51643 (Incorrect code produced for tail-call of weak function with ...
Richard Earnshaw [Thu, 22 Dec 2011 14:13:09 +0000 (14:13 +0000)]
re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)

PR target/51643
* arm.c (arm_function_ok_for_sibcall): Don't try to tailcall a
weak function on bare-metal EABI targets.

* gcc.target/arm/sibcall-2.c: New test.

From-SVN: r182621

12 years agore PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)
Jonathan Wakely [Thu, 22 Dec 2011 12:33:15 +0000 (12:33 +0000)]
re PR libstdc++/48362 (pretty printer fails for zero-size std::tuple<>)

PR libstdc++/48362
* python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle empty
tuples.

From-SVN: r182620

12 years ago[multiple changes]
Arnaud Charlet [Thu, 22 Dec 2011 11:52:00 +0000 (12:52 +0100)]
[multiple changes]

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.

From-SVN: r182619

12 years ago* s-osinte-hpux-dce.ads: Update header to GPLv3
Arnaud Charlet [Thu, 22 Dec 2011 11:48:21 +0000 (11:48 +0000)]
* s-osinte-hpux-dce.ads: Update header to GPLv3

From-SVN: r182618

12 years agoa-cohase.ads, [...]: Update to latest RM version.
Ed Schonberg [Thu, 22 Dec 2011 08:54:26 +0000 (08:54 +0000)]
a-cohase.ads, [...]: Update to latest RM version.

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.

From-SVN: r182617

12 years ago[multiple changes]
Arnaud Charlet [Thu, 22 Dec 2011 08:49:14 +0000 (09:49 +0100)]
[multiple changes]

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.

From-SVN: r182616

12 years agore PR testsuite/51645 (FAIL: g++.dg/cpp0x/alias-decl-debug-0.C (test for excess errors))
Uros Bizjak [Thu, 22 Dec 2011 08:16:12 +0000 (09:16 +0100)]
re PR testsuite/51645 (FAIL: g++.dg/cpp0x/alias-decl-debug-0.C (test for excess errors))

PR testsuite/51645
* g++.dg/cpp0x/alias-decl-debug-0.C: Add dg-skip-if.

From-SVN: r182615

12 years agoDaily bump.
GCC Administrator [Thu, 22 Dec 2011 00:19:15 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r182613

12 years ago* config/i386/morestack.S: Simplify CFI opcodes throughout.
Ian Lance Taylor [Thu, 22 Dec 2011 00:09:39 +0000 (00:09 +0000)]
* config/i386/morestack.S: Simplify CFI opcodes throughout.

From-SVN: r182609

12 years agoextend.texi (__builtin_expect): Improve example.
Jonathan Wakely [Thu, 22 Dec 2011 00:08:09 +0000 (00:08 +0000)]
extend.texi (__builtin_expect): Improve example.

2011-12-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
    Jim Avera  <james_avera@yahoo.com>

* doc/extend.texi (__builtin_expect): Improve example.

Co-Authored-By: Jim Avera <james_avera@yahoo.com>
From-SVN: r182608

12 years agoruntime: Catch signals on altstack, disable splitstack signal blocking.
Ian Lance Taylor [Wed, 21 Dec 2011 22:24:47 +0000 (22:24 +0000)]
runtime: Catch signals on altstack, disable splitstack signal blocking.

From-SVN: r182607

12 years agoi386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets.
Uros Bizjak [Wed, 21 Dec 2011 20:56:30 +0000 (21:56 +0100)]
i386.c (ix86_option_override_internal): Enable flag_ree also for 32bit targets.

* config/i386/i386.c (ix86_option_override_internal): Enable flag_ree
also for 32bit targets.

testsuite/ChangeLog:

* gcc.dg/pr50038.c: Move to ...
* gcc.target/i386/pr50038.c: ... here.  Test on all targets.

From-SVN: r182605

12 years agore PR target/51552 (bfin generates bad assembly)
Richard Henderson [Wed, 21 Dec 2011 20:21:00 +0000 (12:21 -0800)]
re PR target/51552 (bfin generates bad assembly)

PR target/51552
        * dwarf2cfi.c (dwarf2out_frame_debug): Move any_cfis_emitted code...
        (scan_trace): ... here.

From-SVN: r182604

12 years agore PR c++/51611 ([c++0x] ICE with non-static data member initializer and virtual...
Jason Merrill [Wed, 21 Dec 2011 19:19:47 +0000 (14:19 -0500)]
re PR c++/51611 ([c++0x] ICE with non-static data member initializer and virtual base class)

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.

From-SVN: r182602

12 years ago* doc/standards.texi (C++ language): Update for C++11.
Jason Merrill [Wed, 21 Dec 2011 17:53:58 +0000 (12:53 -0500)]
* doc/standards.texi (C++ language): Update for C++11.

From-SVN: r182599

12 years agoAdd reference to PR middle-end/48660
Richard Sandiford [Wed, 21 Dec 2011 16:34:41 +0000 (16:34 +0000)]
Add reference to PR middle-end/48660

From-SVN: r182595

12 years agore PR c++/51305 ([C++11][constexpr] noexcept-specifier overconstraints constexpr...
Paolo Carlini [Wed, 21 Dec 2011 16:28:08 +0000 (16:28 +0000)]
re PR c++/51305 ([C++11][constexpr] noexcept-specifier overconstraints constexpr functions)

/cp
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.

/testsuite
2011-12-21  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51305
* g++.dg/cpp0x/constexpr-noexcept6.C: New.

From-SVN: r182594

12 years agoMakefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
Jakub Jelinek [Wed, 21 Dec 2011 16:14:11 +0000 (17:14 +0100)]
Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.

* Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first.
* Makefile.in: Regenerated.

From-SVN: r182593

12 years agoProvide CLOCK_REALTIME on Tru64 UNIX
Rainer Orth [Wed, 21 Dec 2011 16:08:19 +0000 (16:08 +0000)]
Provide CLOCK_REALTIME on Tru64 UNIX

* s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.

From-SVN: r182592

12 years agolto.c (GIMPLE_REGISTER_TYPE): New define.
Richard Guenther [Wed, 21 Dec 2011 15:56:11 +0000 (15:56 +0000)]
lto.c (GIMPLE_REGISTER_TYPE): New define.

2011-12-21  Richard Guenther  <rguenther@suse.de>

lto/
* lto.c (GIMPLE_REGISTER_TYPE): New define.
(LTO_FIXUP_TREE): Use it.
(uniquify_nodes): Mark new non-prevailing types and avoid
calling gimple_register_type on others.
(lto_read_decls): Add comment.

From-SVN: r182591

12 years agotree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize *op0 and *op1...
Jakub Jelinek [Wed, 21 Dec 2011 14:52:34 +0000 (15:52 +0100)]
tree-vect-patterns.c (vect_operation_fits_smaller_type): Initialize *op0 and *op1 to NULL_TREE first to avoid warnings.

* 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.

From-SVN: r182590

12 years agore PR middle-end/51644 (va_list vs. warning: ‘noreturn’ function does return is not...
Jakub Jelinek [Wed, 21 Dec 2011 14:51:19 +0000 (15:51 +0100)]
re PR middle-end/51644 (va_list vs. warning: ‘noreturn’ function does return is not fixable)

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.

* gcc.dg/pr51644.c: New test.
* g++.dg/warn/Wreturn-4.C: New test.

From-SVN: r182589

12 years agore PR middle-end/51472 (ICE: verify_gimple failed: invalid rhs for gimple memory...
Aldy Hernandez [Wed, 21 Dec 2011 14:30:07 +0000 (14:30 +0000)]
re PR middle-end/51472 (ICE: verify_gimple failed: invalid rhs for gimple memory store with -fgnu-tm --param tm-max-aggregate-size=32)

        PR middle-end/51472
        * trans-mem.c (tm_log_add): Use create_tmp_var_reg.

From-SVN: r182588

12 years agosem_ch3.ads, [...] (Check_CPP_Type): New subprogram.
Javier Miranda [Wed, 21 Dec 2011 13:54:55 +0000 (13:54 +0000)]
sem_ch3.ads, [...] (Check_CPP_Type): New subprogram.

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.

From-SVN: r182587

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:51:03 +0000 (14:51 +0100)]
[multiple changes]

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.

From-SVN: r182586

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:45:42 +0000 (14:45 +0100)]
[multiple changes]

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.

From-SVN: r182585

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:42:22 +0000 (14:42 +0100)]
[multiple changes]

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.

From-SVN: r182584

12 years agono-section-anchors-vect-31.c: Adjust array size and test diag-scans to fix fail on...
Michael Zolotukhin [Wed, 21 Dec 2011 13:34:40 +0000 (13:34 +0000)]
no-section-anchors-vect-31.c: Adjust array size and test diag-scans to fix fail on AVX.

gcc/testsuite

        * 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.

From-SVN: r182583

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 13:34:12 +0000 (14:34 +0100)]
[multiple changes]

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.

From-SVN: r182582

12 years agotree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.
Martin Jambor [Wed, 21 Dec 2011 12:44:31 +0000 (13:44 +0100)]
tree-into-ssa.c (rewrite_update_stmt): Do not dump extra newlines.

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.

From-SVN: r182581

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 12:08:32 +0000 (13:08 +0100)]
[multiple changes]

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.

From-SVN: r182578

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 12:03:53 +0000 (13:03 +0100)]
[multiple changes]

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

From-SVN: r182577

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 12:01:28 +0000 (13:01 +0100)]
[multiple changes]

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.

From-SVN: r182576

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 11:53:33 +0000 (12:53 +0100)]
[multiple changes]

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.

From-SVN: r182575

12 years agore PR target/50038 (redundant zero extensions)
Enkovich Ilya [Wed, 21 Dec 2011 11:52:27 +0000 (11:52 +0000)]
re PR target/50038 (redundant zero extensions)

gcc/

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.

gcc/testsuite/

2011-12-21  Enkovich Ilya  <ilya.enkovich@intel.com>

        PR target/50038

From-SVN: r182574

12 years ago[multiple changes]
Arnaud Charlet [Wed, 21 Dec 2011 11:50:02 +0000 (12:50 +0100)]
[multiple changes]

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.

From-SVN: r182573

12 years agovms-protos.h (vms_function_section): New prototype.
Tristan Gingold [Wed, 21 Dec 2011 09:44:27 +0000 (09:44 +0000)]
vms-protos.h (vms_function_section): New prototype.

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.

From-SVN: r182571

12 years agore PR lto/41159 ([LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225)
Richard Guenther [Wed, 21 Dec 2011 09:22:58 +0000 (09:22 +0000)]
re PR lto/41159 ([LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225)

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.

From-SVN: r182570

12 years agofde-vms.c (UNW_IVMS_MODE): Define.
Tristan Gingold [Wed, 21 Dec 2011 08:52:47 +0000 (08:52 +0000)]
fde-vms.c (UNW_IVMS_MODE): Define.

2011-12-21  Tristan Gingold  <gingold@adacore.com>

* config/ia64/fde-vms.c (UNW_IVMS_MODE): Define.

From-SVN: r182568

12 years agoxm-vms.h (STANDARD_EXEC_PREFIX): Remove define.
Tristan Gingold [Wed, 21 Dec 2011 08:42:12 +0000 (08:42 +0000)]
xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.

2011-12-21  Tristan Gingold  <gingold@adacore.com>

* config/vms/xm-vms.h (STANDARD_EXEC_PREFIX): Remove define.

From-SVN: r182567

12 years agoia64: Implement vec_perm_const.
Richard Henderson [Wed, 21 Dec 2011 01:03:00 +0000 (17:03 -0800)]
ia64: Implement vec_perm_const.

        * 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.

From-SVN: r182564