fdumont [Wed, 24 Sep 2014 19:55:35 +0000 (19:55 +0000)]
2014-09-24 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/29988
* include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
(_Rb_tree_alloc_node<>): New.
(_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
(_Rb_tree<>::_M_assign_unique): New.
(_Rb_tree<>::_M_assign_equal): New.
(_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
* include/bits/stl_map.h
(std::map<>::operator=(std::map<>&&)): Default implementation.
(std::map<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_unique.
* include/bits/stl_multimap.h
(std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
(std::multimap<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_equal.
* include/bits/stl_set.h
(std::set<>::operator=(std::set<>&&)): Default implementation.
(std::set<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_unique.
* include/bits/stl_multiset.h
(std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
(std::multiset<>::operator=(initializer_list<>)): Adapt to use
_Rb_tree::_M_assign_equal.
* testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
* testsuite/23_containers/map/allocator/init-list.cc: New.
* testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
* testsuite/23_containers/multimap/allocator/copy_assign.cc
(test03): New.
* testsuite/23_containers/multimap/allocator/init-list.cc: New.
* testsuite/23_containers/multimap/allocator/move_assign.cc
(test03): New.
* testsuite/23_containers/multiset/allocator/copy_assign.cc
(test03): New.
* testsuite/23_containers/multiset/allocator/init-list.cc: New.
* testsuite/23_containers/multiset/allocator/move_assign.cc
(test03): New.
* testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
* testsuite/23_containers/set/allocator/init-list.cc: New.
* testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215568
138bc75d-0d04-0410-961f-
82ee72b054a4
aldyh [Wed, 24 Sep 2014 19:50:24 +0000 (19:50 +0000)]
* cgraph.h, dbxout.c, dwarfout2.c, gimple-fold.c,
lto-streamer-out.c, print-tree.c, symtab.c, tree-inline.c,
tree-streamer-in.c, tree-streamer-out.c, tree.c, tree.h,
varpool.c: Rename all instances of DECL_ABSTRACT to
DECL_ABSTRACT_P.
cp/
* class.c, decl.c, optimize.c: Rename all instances of
DECL_ABSTRACT to DECL_ABSTRACT_P.
lto/
* lto-symtab.c, lto.c: Rename all instances of DECL_ABSTRACT to
DECL_ABSTRACT_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215567
138bc75d-0d04-0410-961f-
82ee72b054a4
wschmidt [Wed, 24 Sep 2014 18:35:33 +0000 (18:35 +0000)]
[gcc]
2014-09-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (insn_is_swappable_p): Don't provide
special handling for stores whose SET_SRC is an UNSPEC (such as
UNSPEC_STVE).
[gcc/testsuite]
2014-09-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.target/powerpc/swaps-p8-17.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215564
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 24 Sep 2014 18:30:34 +0000 (18:30 +0000)]
Improve prepare_shrink_wrap to sink more instructions
gcc/
* shrink-wrap.c (move_insn_for_shrink_wrap): Add further check when
!REG_P (src) to release more instruction sink opportunities.
gcc/testsuite/
* gcc.target/aarch64/shrink_wrap_symbol_ref_1.c: New testcase.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215563
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Wed, 24 Sep 2014 18:22:50 +0000 (18:22 +0000)]
[AArch64] Improve regmove_costs for 128-bit types.
2014-09-24 Wilco Dijkstra <wdijkstr@arm.com>
gcc/
* config/aarch64/aarch64.c (aarch64_register_move_cost): Add register move
costs for 128-bit types.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215562
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Wed, 24 Sep 2014 17:49:16 +0000 (17:49 +0000)]
2014-09-24 Martin Jambor <mjambor@suse.cz>
* ipa-prop.c (ipa_edge_duplication_hook): Update controlled_use_count
when duplicating a PASS_THROUGH jump function when creating a
speculative edge.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215560
138bc75d-0d04-0410-961f-
82ee72b054a4
mpolacek [Wed, 24 Sep 2014 17:23:56 +0000 (17:23 +0000)]
PR c/61405
PR c/53874
gcc/
* asan.c (maybe_instrument_call): Add default case.
* ipa-pure-const.c (special_builtin_state): Likewise.
* predict.c (expr_expected_value_1): Likewise.
* lto-streamer-out.c (write_symbol): Initialize variable.
gcc/c-family/
* c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
gcc/c/
* c-parser.c: Don't define CPP_KEYWORD.
(c_parser_switch_statement): Pass original type to c_finish_case.
* c-tree.h (c_finish_case): Update declaration.
* c-typeck.c (c_finish_case): Add TYPE parameter. Pass it
conditionally to c_do_switch_warnings.
gcc/cp/
* semantics.c (finish_switch_cond): Call unlowered_expr_type.
* tree.c (bot_manip): Add default case.
* parser.c (cp_parser_primary_expression): Cast the controlling
expression of a switch to an int.
(cp_parser_unqualified_id): Likewise.
gcc/testsuite/
* c-c++-common/pr53874.c: New test.
* c-c++-common/pr61405.c: New test.
libcpp/
* include/cpplib.h (enum cpp_ttype): Define CPP_KEYWORD.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215559
138bc75d-0d04-0410-961f-
82ee72b054a4
ktkachov [Wed, 24 Sep 2014 12:47:59 +0000 (12:47 +0000)]
[AArch64] Use __aarch64_vget_lane* macros for getting the lane in some lane multiply intrinsics.
* config/aarch64/arm_neon.h (vmuld_lane_f64): Use macro for getting
the lane.
(vmuld_laneq_f64): Likewise.
(vmuls_lane_f32): Likewise.
(vmuls_laneq_f32): Likewise.
* gcc.target/aarch64/simd/vmul_lane_const_lane_1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215553
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 24 Sep 2014 12:27:30 +0000 (12:27 +0000)]
PR bootstrap/63235
gcc/
* varpool.c (varpool_node::add): Pass decl attributes
to lookup_attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215552
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Wed, 24 Sep 2014 09:40:10 +0000 (09:40 +0000)]
PR libstdc++/63353
* src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215549
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Wed, 24 Sep 2014 09:14:17 +0000 (09:14 +0000)]
PR sanitizer/63316
* asan.c (asan_expand_check_ifn): Fix up align >= 8 optimization.
* c-c++-common/asan/pr63316.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215547
138bc75d-0d04-0410-961f-
82ee72b054a4
thopre01 [Wed, 24 Sep 2014 08:27:21 +0000 (08:27 +0000)]
2014-09-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
gcc/
PR tree-optimization/63266
* tree-ssa-math-opts.c (struct symbolic_number): Add comment about
marker for unknown byte value.
(MARKER_MASK): New macro.
(MARKER_BYTE_UNKNOWN): New macro.
(HEAD_MARKER): New macro.
(do_shift_rotate): Mark bytes with unknown values due to sign
extension when doing an arithmetic right shift. Replace hardcoded
mask for marker by new MARKER_MASK macro.
(find_bswap_or_nop_1): Likewise and adjust ORing of two symbolic
numbers accordingly.
gcc/testsuite/
PR tree-optimization/63266
* gcc.dg/optimize-bswapsi-1.c (swap32_d): New bswap pass test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215546
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 24 Sep 2014 08:06:30 +0000 (08:06 +0000)]
AVX-512. Add cvtps2 insn patterns.
gcc/
* config/i386/sse.md
(define_insn
"<sse2_avx_avx512f>_fix_notrunc<sf2simodelower><mode><mask_name>"):
Add masking.
(define_insn "fix_truncv8sfv8si2<mask_name>"): Ditto.
(define_insn "fix_truncv4sfv4si2<mask_name>"): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215545
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 24 Sep 2014 08:05:17 +0000 (08:05 +0000)]
AVX-512. Add vpshuf[lh]w insn patterns.
gcc/
* config/i386/sse.md
(define_c_enum "unspec"): Add UNSPEC_PSHUFHW, UNSPEC_PSHUFLW.
(define_insn "<mask_codefor>avx512bw_pshuflwv32hi<mask_name>"): New.
(define_expand "avx512vl_pshuflwv3_mask"): Ditto.
(define_insn "avx2_pshuflw_1<mask_name>"): Add masking.
(define_expand "avx512vl_pshuflw_mask"): New.
(define_insn "sse2_pshuflw_1<mask_name>"): Add masking.
(define_insn "<mask_codefor>avx512bw_pshufhwv32hi<mask_name>"): New.
(define_expand "avx512vl_pshufhwv3_mask"): Ditto.
(define_insn "avx2_pshufhw_1<mask_name>"): Add masking.
(define_expand "avx512vl_pshufhw_mask"): New.
(define_insn "sse2_pshufhw_1<mask_name>"): Add masking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215544
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 24 Sep 2014 08:04:04 +0000 (08:04 +0000)]
AVX-512. Add shuffles (pd, 32x4, etc.).
gcc/
* config/i386/i386.c
(ix86_expand_args_builtin): Handle CODE_FOR_sse2_shufpd,
CODE_FOR_sse2_sse2_shufpd_mask, CODE_FOR_sse2_avx512dq_shuf_f64x2_mask,
CODE_FOR_sse2_avx512dq_shuf_i64x2_mask,
CODE_FOR_sse2_avx512vl_shuf_i32x4_mask and
CODE_FOR_sse2_avx512vl_shuf_f32x4_mask.
* config/i386/sse.md
(define_expand "avx512dq_shuf_<shuffletype>64x2_mask"): New.
(define_insn
"<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>"): Ditto.
(define_expand "avx512vl_shuf_<shuffletype>32x4_mask"): Ditto.
(define_insn
"<mask_codefor>avx512vl_shuf_<shuffletype>32x4_1<mask_name>"): Ditto.
(define_expand "avx512vl_pshufdv3_mask"): Ditto.
(define_insn "avx2_pshufd_1<mask_name>"): Add masking.
(define_expand "avx512vl_pshufd_mask"): New.
(define_insn "sse2_pshufd_1<mask_name>"): Add masking.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215543
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 24 Sep 2014 08:02:30 +0000 (08:02 +0000)]
AVX-512. Add insert insn patterns.
gcc/
* config/i386/i386.c
(CODE_FOR_avx2_extracti128): Rename to ...
(CODE_FOR_avx_vextractf128v4di): this.
(CODE_FOR_avx2_inserti128): Rename to ...
(CODE_FOR_avx_vinsertf128v4di): this.
(ix86_expand_args_builtin): Handle CODE_FOR_avx_vinsertf128v4di,
CODE_FOR_avx_vextractf128v4di.
(ix86_expand_args_builtin): Handle CODE_FOR_avx512dq_vinsertf32x8_mask,
CODE_FOR_avx512dq_vinserti32x8_mask, CODE_FOR_avx512vl_vinsertv4df,
CODE_FOR_avx512vl_vinsertv4di, CODE_FOR_avx512vl_vinsertv8sf,
CODE_FOR_avx512vl_vinsertv8si.
* config/i386/sse.md
(define_expand
"<extract_type>_vinsert<shuffletype><extract_suf>_mask"): Use
AVX512_VEC mode iterator.
(define_insn
"<mask_codefor><extract_type>_vinsert<shuffletype><extract_suf>_1<mask_name>"):
Ditto.
(define_expand
"<extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask"): Use
AVX512_VEC_2 mode iterator.
(define_insn "vec_set_lo_<mode><mask_name>"): New.
(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
(define_expand "avx512vl_vinsert<mode>"): Ditto.
(define_insn "avx2_vec_set_lo_v4di"): Delete.
(define_insn "avx2_vec_set_hi_v4di"): Ditto.
(define_insn "vec_set_lo_<mode><mask_name>"): Add masking.
(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
(define_insn "vec_set_lo_<mode><mask_name>"): Ditto.
(define_insn "vec_set_hi_<mode><mask_name>"): Ditto.
(define_expand "avx2_extracti128"): Delete.
(define_expand "avx2_inserti128"): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215542
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Wed, 24 Sep 2014 08:00:35 +0000 (08:00 +0000)]
AVX-512. Add widening pmov.
gcc/
* config/i386/sse.md
(define_insn "avx2_<code>v16qiv16hi2<mask_name>"): Add masking.
(define_insn "avx512bw_<code>v32qiv32hi2<mask_name>"): New.
(define_insn "sse4_1_<code>v8qiv8hi2<mask_name>"): Add masking.
(define_insn "avx2_<code>v8qiv8si2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v4qiv4si2<mask_name>"): Ditto.
(define_insn "avx2_<code>v8hiv8si2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v4hiv4si2<mask_name>"): Ditto.
(define_insn "avx2_<code>v4qiv4di2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v2qiv2di2<mask_name>"): Ditto.
(define_insn "avx2_<code>v4hiv4di2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v2hiv2di2<mask_name>"): Ditto.
(define_insn "avx2_<code>v4siv4di2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v2siv2di2<mask_name>"): Ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215541
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Wed, 24 Sep 2014 07:00:55 +0000 (07:00 +0000)]
ChangeLog:
2014-09-24 Zhenqiang Chen <zhenqiang.chen@arm.com>
PR rtl-optimization/63210
* ira-color.c (assign_hard_reg): Ignore conflict cost if the
HARD_REGNO is not availabe for CONFLICT_A.
testsuite/ChangeLog:
2014-09-24 Zhenqiang Chen <zhenqiang.chen@arm.com>
* gcc.target/arm/pr63210.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215540
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 24 Sep 2014 03:29:37 +0000 (03:29 +0000)]
Add test cases for noreorder
Add some simple test cases for noreorder behaving like
-fno-toplevel-reorder and -fno-toplevel-reorder still working.
gcc/testsuite/:
2014-09-23 Andi Kleen <ak@linux.intel.com>
* gcc.dg/noreorder.c: New test.
* gcc.dg/noreorder2.c: New test.
* gcc.dg/noreorder3.c: New test.
* gcc.dg/noreorder4.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215538
138bc75d-0d04-0410-961f-
82ee72b054a4
ak [Wed, 24 Sep 2014 03:29:24 +0000 (03:29 +0000)]
Add an no_reorder attribute for LTO
Some projects need to prevent reordering of specific top level
declarations with LTO, in particular declarations defining init calls.
The only way to do that with LTO was to use -fno-toplevel-reorder,
which stops reordering for all declarations and makes LTO partitioning
less efficient.
This patch adds a new no_reorder attribute that stops reordering only
for the marked declaration. The program can then only mark e.g. the
initcalls and leave all the other declarations alone.
The patch does:
- Adds the new no_reorder attribute for the C family.
- Initializes a new no_reorder flag in the symtab_nodes in the
function visibility flag.
- Maintains the no_reorder flag when creating new nodes.
- Changes the partition code to always keep a separate
sorted queue of ordered nodes and flush them in order with the other
nodes. This is used by all nodes with -fno-toplevel-reorder,
and only the marked ones without it.
Parts of the old -fno-toplevel-reorder code paths are reused.
- Adds various checks throughout the tree to make no_reorder
marked functions behave the same as with -fno-toplevel-reorder
- Changes the LTO streamer to serialize the no_reorder attribute.
gcc/c-family/:
2014-09-23 Andi Kleen <ak@linux.intel.com>
* c-common.c (handle_no_reorder_attribute): New function.
(c_common_attribute_table): Add no_reorder attribute.
gcc/:
2014-09-23 Andi Kleen <ak@linux.intel.com>
* cgraph.h (symtab_node): Add no_reorder attribute.
(symbol_table::output_asm_statements): Remove.
* cgraphclones.c (cgraph_node::create_clone): Copy no_reorder.
(cgraph_node::create_version_clone): Dito.
(symbol_table::output_asm_statements): Remove.
* trans-mem.c (ipa_tm_create_version_alias): Dito.
* cgraphunit.c (varpool_node::finalize_decl): Check no_reorder.
(output_in_order): Add no_reorder flag. Only handle no_reorder
nodes when set.
(symbol_table::compile): Add separate pass for no_reorder nodes.
(process_common_attributes): Set no_reorder flag in symtab node.
Add node argument.
(process_function_and_variable_attributes): Pass symtab nodes to
process_common_attributes.
* doc/extend.texi (no_reorder): Document no_reorder attribute.
* lto-cgraph.c (lto_output_node): Serialize no_reorder.
(lto_output_varpool_node): Dito.
(input_overwrite_node): Dito.
(input_varpool_node): Dito.
* varpool.c (varpool_node::add): Set no_reorder attribute.
(symbol_table::remove_unreferenced_decls): Handle no_reorder.
(symbol_table::output_variables): Dito.
* symtab.c (symtab_node::dump_base): Print no_reorder.
gcc/lto/:
2014-09-23 Andi Kleen <ak@linux.intel.com>
* lto-partition.c (node_cmp): Update comment.
(varpool_node_cmp): Use symtab_node for comparison.
(add_sorted_nodes): New function.
(lto_balanced_map): Change to keep ordered queue
of ordered node. Handle no_reorder attribute.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215537
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Wed, 24 Sep 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215536
138bc75d-0d04-0410-961f-
82ee72b054a4
jiwang [Tue, 23 Sep 2014 21:19:28 +0000 (21:19 +0000)]
Fix compile time warning caused by PIC_OFFSET_TABLE_REGNUM be INVALID_REGNUM
2014-09-23 Jiong Wang <jiong.wang@arm.com>
gcc/
* shrink-wrap.c (try_shrink_wrapping): Check PIC_OFFSET_TABLE_REGNUM not
be INVALID_REGNUM.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215533
138bc75d-0d04-0410-961f-
82ee72b054a4
tschwinge [Tue, 23 Sep 2014 21:15:36 +0000 (21:15 +0000)]
Properly regenerate gcc/configure.
gcc/
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215532
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Tue, 23 Sep 2014 18:48:50 +0000 (18:48 +0000)]
Relax check against commuting XOR and ASHIFTRT in combine.c
gcc/:
* combine.c (simplify_shift_const_1): Allow commuting (ashiftrt (xor))
when result_mode == shift_mode.
gcc/testsuite/:
* gcc.dg/combine_ashiftrt_1.c: New test.
* gcc.dg/combine_ashiftrt_2.c: Likewise.
* gcc.target/aarch64/singleton_intrinsics_1.c: Remove scan-assembler
workarounds for cmge.
* gcc.target/aarch64/simd/int_comparisons_1.c: Likewise; also check for
absence of mvn.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215531
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Tue, 23 Sep 2014 18:36:14 +0000 (18:36 +0000)]
include/:
* demangle.h (DMGL_DLANG): New macro.
(DMGL_STYLE_MASK): Add DMGL_DLANG.
(demangling_styles): Add dlang_demangling.
(DLANG_DEMANGLING_STYLE_STRING): New macro.
(DLANG_DEMANGLING): New macro.
(dlang_demangle): New prototype.
libiberty/:
* Makefile.in (CFILES): Add d-demangle.c.
(REQUIRED_OFILES): Add d-demangle.o.
* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
(cplus_demangle): Likewise.
* d-demangle.c: New file.
* testsuite/Makefile.in (really-check): Add check-d-demangle.
* testsuite/d-demangle-expected: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215530
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 23 Sep 2014 18:07:59 +0000 (18:07 +0000)]
/cp
2014-09-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61857
* parser.c (cp_parser_skip_to_closing_square_bracket,
cp_parser_array_designator_p): New.
(cp_parser_initializer_list): Use the latter.
/testsuite
2014-09-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/61857
* g++.dg/cpp1y/lambda-init10.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215528
138bc75d-0d04-0410-961f-
82ee72b054a4
kcc [Tue, 23 Sep 2014 17:59:53 +0000 (17:59 +0000)]
[libsanitizer merge from upstream r218156]
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215527
138bc75d-0d04-0410-961f-
82ee72b054a4
meissner [Tue, 23 Sep 2014 17:11:07 +0000 (17:11 +0000)]
2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.md (f32_vsx): New mode attributes to
refine the constraints used on 32/64-bit floating point moves.
(f32_av): Likewise.
(f64_vsx): Likewise.
(f64_dm): Likewise.
(f64_av): Likewise.
(BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
(BOOL_REGS_OP1): Likewise.
(BOOL_REGS_OP2): Likewise.
(BOOL_REGS_UNARY): Likewise.
(mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
32/64-bit floating point moves. Do not use wa, instead use ww/ws
for moves involving VSX registers. Do not use constraints that
target VSX registers for decimal types.
(mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
(mov<mode>_hardfloat64, DFmode/DDmode): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215521
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Tue, 23 Sep 2014 16:08:16 +0000 (16:08 +0000)]
* tree.h (int_bit_position): Turn into inline function;
implement using wide int.
* tree.c (int_bit_position): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215518
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 23 Sep 2014 15:25:55 +0000 (15:25 +0000)]
PR fortran/63331
* trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
instead of VAR_DECL for base_decl.
* gfortran.dg/pr63331.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215516
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Tue, 23 Sep 2014 14:47:45 +0000 (14:47 +0000)]
gcc/
PR bootstrap/63280
* target-globals.c (target_globals::~target_globals): Fix location
of ira_int destruction.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215515
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Tue, 23 Sep 2014 13:17:42 +0000 (13:17 +0000)]
* config/abi/pre/gnu.ver: Adjust basic_ostream exports.
* include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
to ostream constructor.
* include/std/ostream (basic_ostream(basic_iostream*)): Change to take
parameter by reference, to avoid ambiguity.
* testsuite/27_io/basic_ostream/cons/char/null.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215510
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [Tue, 23 Sep 2014 12:38:37 +0000 (12:38 +0000)]
[AArch64] Enable shrink wrapping.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215508
138bc75d-0d04-0410-961f-
82ee72b054a4
mshawcroft [Tue, 23 Sep 2014 11:14:42 +0000 (11:14 +0000)]
[AArch64] Default to -fsched-pressure
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215503
138bc75d-0d04-0410-961f-
82ee72b054a4
mark [Tue, 23 Sep 2014 11:07:08 +0000 (11:07 +0000)]
Make all gcc.dg/guality/const-volatile.c subtests PASS under LTO.
Some subtests were reported as UNSUPPORTED when running under LTO.
That was just because the relevant variables were optimized out.
Mark those variables as used. Now const-volatile reports 192 PASS.
gcc/testsuite/ChangeLog
* gcc.dg/guality/const-volatile.c (i): Mark as used.
(ci): Likewise.
(pci): Likewise.
(pvi): Likewise.
(pcvi): Likewise.
(cip): Likewise.
(foo): Likewise.
(cfoo): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215502
138bc75d-0d04-0410-961f-
82ee72b054a4
mark [Tue, 23 Sep 2014 11:06:57 +0000 (11:06 +0000)]
gcc-gdb-test.exp: Handle old GDB "short int" and "long int" types.
Old GDB might show short and long as short int and long int. This made
gcc.dg/guality/const-volatile.c ans restrict.c fail on older GDBs.
According to the patch that changed this in newer versions of GDB
this was a bug: https://sourceware.org/ml/gdb-patches/2012-09/msg00455.html
The patch transforms the types "short int" and "long int" coming from
GDB to plain "short" and "long". And a variant has been added to the
const-volatile.c testcase to make sure short and long long are handled
correctly now with older GDB.
gcc/testsuite/ChangeLog
* lib/gcc-gdb-test.exp (gdb-test): Transform gdb types "short int"
and "long int" to plain "short" and "long".
* gcc.dg/guality/const-volatile.c (struct bar): New struct
containing short and long long fields.
(bar): New variable to test the type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215501
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 23 Sep 2014 08:26:34 +0000 (08:26 +0000)]
gcc/
* cfgcleanup.c (try_optimize_cfg): Do not remove label
with LABEL_PRESERVE_P flag set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215498
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Tue, 23 Sep 2014 08:09:14 +0000 (08:09 +0000)]
2014-09-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62155
* g++.dg/cpp0x/lambda/lambda-62155.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215497
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 23 Sep 2014 07:21:32 +0000 (07:21 +0000)]
AVX-512. Add vshufpd insn patterns.
gcc/
* config/i386/sse.md
(define_expand "avx_shufpd256<mask_expand4_name>"): Add masking.
(define_insn "avx_shufpd256_1<mask_name>"): Ditto.
(define_expand "sse2_shufpd<mask_expand4_name>"): Ditto.
(define_insn "sse2_shufpd_v2df_mask"): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215496
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 23 Sep 2014 07:20:37 +0000 (07:20 +0000)]
AVX-512. Add vshufps insn patterns.
gcc/
* config/i386/sse.md
(define_expand "avx_shufps256<mask_expand4_name>"): Add masking.
(define_insn "avx_shufps256_1<mask_name>"): Ditto.
(define_expand "sse_shufps<mask_expand4_name>"): Ditto.
(define_insn "sse_shufps_v4sf_mask"): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215495
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 23 Sep 2014 07:19:00 +0000 (07:19 +0000)]
AVX-512. Add rest of vunpck[lh]ps.
gcc/
* config/i386/sse.md
(define_insn "avx_unpckhps256<mask_name>"): Add masking.
(define_insn "vec_interleave_highv4sf<mask_name>"): Ditto.
(define_insn "avx_unpcklps256<mask_name>"): Ditto.
(define_insn "unpcklps128_mask"): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215494
138bc75d-0d04-0410-961f-
82ee72b054a4
kyukhin [Tue, 23 Sep 2014 07:17:19 +0000 (07:17 +0000)]
AVX-512. Add masked vunpck[lh]pd.
gcc/
* config/i386/sse.md
(define_insn "avx_unpckhpd256<mask_name>"): Add masking.
(define_insn "avx512vl_unpckhpd128_mask"): New.
(define_expand "avx_movddup256<mask_name>"): Add masking.
(define_expand "avx_unpcklpd256<mask_name>"): Ditto.
(define_insn "*avx_unpcklpd256<mask_name>"): Ditto.
(define_insn "avx512vl_unpcklpd128_mask"): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215493
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 23 Sep 2014 00:48:46 +0000 (00:48 +0000)]
Remove LIBGCC2_LONG_DOUBLE_TYPE_SIZE target macro.
This patch removes the target macro LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
After recent changes, this macro was used in two ways in libgcc: to
determine the mode of long double in dfp-bit.h, and to determine
whether a particular mode has excess precision for use in complex
multiplication.
The former is concerned specifically with long double: it relates to
use of strtold for converting between decimal and binary floating
point. This is replaced by comparing __LDBL_MANT_DIG__ with the
appropriate __LIBGCC_*_MANT_DIG__ macro. The latter is replaced
__LIBGCC_*_EXCESS_PRECISION__ predefined macros.
Remarks:
* Comparing (__LDBL_MANT_DIG__ == __LIBGCC_XF_MANT_DIG__) is more
fragile than it looks; it's possible for XFmode to have 53-bit
mantissa (TARGET_96_ROUND_53_LONG_DOUBLE, on FreeBSD and
DragonFlyBSD 32-bit), in which case such a comparison would not
distinguish XFmode and DFmode as possible modes for long double.
Fortunately, no target supporting that form of XFmode also supports
long double = double (but if some target did, we'd need e.g. an
additional macro giving the exponent range of each mode).
Furthermore, this code doesn't actually get used for x86 (or any
other target with XFmode support), because x86 uses BID not DPD and
BID has its own conversion code (which handles conversions for both
XFmode and TFmode without needing to go via strtold). And FreeBSD
and DragonFlyBSD aren't among the targets with DFP support. So
while in principle this code is fragile and it's a deficiency that
it can't support both XFmode and TFmode at once (something that
can't be solved with the string conversion approach without libc
having TS 18661 functions such as strtof128), all these issues
should not be a problem in practice.
* If other cases of excess precision are supported in future, the code
for defining __LIBGCC_*_EXCESS_PRECISION__ may need updating.
Although the most likely such cases might not actually involve
excess precision for any mode used in libgcc - FLT_EVAL_METHOD being
32 to do _Float16 arithmetic on _Float32 should have the effect of
_Complex _Float16 arithmetic using __mulsc3 and __divsc3, rather
than currently nonexistent __mulhc3 and __divhc3 as in bug 63250 for
ARM.
* As has been noted in the context of simultaneous support for
__float128 and __ibm128 on Power, the semantics of macros such as
LONG_DOUBLE_TYPE_SIZE are problematic because they rely on a
poorly-defined precision value for floating-point modes (which seems
to be intended as the number of significant bits in the
representation, e.g. 80 for XFmode which may be either 12 or 16
bytes) uniquely identifying a mode (although defining an arbitrarily
different value for one of the modes you wish to distinguish may
work as a hack). It would be cleaner to have a target hook that
gives a machine mode directly for float, double and long double,
rather than going via these precision values. By eliminating all
use of these macros (FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
LONG_DOUBLE_TYPE_SIZE) from code built for the target, this patch
facilitates such a conversion to a hook (which I suppose would take
some suitable enum as an argument to identify which of the three
types to return a mode for).
(The issue of multiple type support for DFP conversions would apply
in that Power case.
<https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01084.html> doesn't
seem to touch on it, but it would seem reasonable to punt on it
initially as hard to fix. There would also be the issue of getting
functions such as __powikf2, __mulkc3, __divkc3 defined, but that's
rather easier to address.)
Bootstrapped with no regressions on x86_64-unknown-linux-gnu.
gcc:
* doc/tm.texi.in (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* doc/tm.texi: Regenerate.
* system.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Poison.
* config/alpha/alpha.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/i386/i386-interix.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
Remove.
* config/i386/i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/i386/rtemself.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/ia64/ia64.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/m68k/m68k.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
Remove.
* config/mips/mips.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/mips/n32-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/msp430/msp430.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/rl78/rl78.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/rs6000/rs6000.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/rx/rx.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/s390/s390.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/freebsd.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/linux.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/linux64.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
Remove.
gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Define
__LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
modes.
libgcc:
* dfp-bit.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
(__LIBGCC_XF_MANT_DIG__): Define if not already defined.
(LONG_DOUBLE_HAS_XF_MODE): Define in terms of
__LIBGCC_XF_MANT_DIG__.
(__LIBGCC_TF_MANT_DIG__): Define if not already defined.
(LONG_DOUBLE_HAS_TF_MODE): Define in terms of
__LIBGCC_TF_MANT_DIG__.
* libgcc2.c (NOTRUNC): Define in terms of
__LIBGCC_*_EXCESS_PRECISION__, not LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
* libgcc2.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215491
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 23 Sep 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215489
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Mon, 22 Sep 2014 21:14:43 +0000 (21:14 +0000)]
runtime: Mark runtime_goexit function as noinline.
If the compiler inlines this function into kickoff, it may reuse
the TLS block address to load g. However, this is not necessarily
correct, as the call to g->entry in kickoff may cause the TLS
address to change. If the wrong value is loaded for g->status in
runtime_goexit, it may cause a runtime panic.
By marking the function as noinline we prevent the compiler from
reusing the TLS address.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215484
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 22 Sep 2014 19:43:02 +0000 (19:43 +0000)]
* charset.c (conversion): Rename to ...
(cpp_conversion): ... this one; update.
* files.c (file_hash_entry): Rename to ...
(cpp_file_hash_entry): ... this one ; update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215482
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 22 Sep 2014 19:41:02 +0000 (19:41 +0000)]
* tree-ssa-ccp.c (prop_value_d): Rename to ...
(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
* ipa-prop.c (struct type_change_info): Rename to ...
(prop_type_change_info): ... this; update uses.
* ggc-page.c (globals): Rename to ...
(static struct ggc_globals): ... this; update uses.
* tree-ssa-loop-im.c (mem_ref): Rename to ...
(im_mem_ref): ... this; update uses.
* ggc-common.c (loc_descriptor): Rename to ...
(ggc_loc_descriptor): ... this; update uses.
* lra-eliminations.c (elim_table): Rename to ...
(lra_elim_table): ... this; update uses.
* bitmap.c (output_info): Rename to ...
(bitmap_output_info): ... this; update uses.
* gcse.c (expr): Rename to ...
(gcse_expr) ... this; update uses.
(occr): Rename to ...
(gcse_occr): .. this; update uses.
* tree-ssa-copy.c (prop_value_d): Rename to ...
(prop_value_t): ... this.
* predict.c (block_info_def): Rename to ...
(block_info): ... this; update uses.
(edge_info_def): Rename to ...
(edge_info): ... this; update uses.
* profile.c (bb_info): Rename to ...
(bb_profile_info): ... this; update uses.
* alloc-pool.c (output_info): Rename to ...
(pool_output_info): ... this; update uses.
* ipa-cp.c (topo_info): Rename to ..
(ipa_topo_info): ... this; update uses.
* tree-nrv.c (nrv_data): Rename to ...
(nrv_data_t): ... this; update uses.
* ipa-split.c (bb_info): Rename to ...
(split_bb_info): ... this one.
* profile.h (edge_info): Rename to ...
(edge_profile_info): ... this one; update uses.
* dse.c (bb_info): Rename to ...
(dse_bb_info): ... this one; update uses.
* cprop.c (occr): Rename to ...
(cprop_occr): ... this one; update uses.
(expr): Rename to ...
(cprop_expr): ... this one; update uses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215481
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Mon, 22 Sep 2014 19:39:44 +0000 (19:39 +0000)]
* tree-ssa-ccp.c (prop_value_d): Rename to ...
(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
* ipa-prop.c (struct type_change_info): Rename to ...
(prop_type_change_info): ... this; update uses.
* ggc-page.c (globals): Rename to ...
(static struct ggc_globals): ... this; update uses.
* tree-ssa-loop-im.c (mem_ref): Rename to ...
(im_mem_ref): ... this; update uses.
* ggc-common.c (loc_descriptor): Rename to ...
(ggc_loc_descriptor): ... this; update uses.
* lra-eliminations.c (elim_table): Rename to ...
(lra_elim_table): ... this; update uses.
* bitmap.c (output_info): Rename to ...
(bitmap_output_info): ... this; update uses.
* gcse.c (expr): Rename to ...
(gcse_expr) ... this; update uses.
(occr): Rename to ...
(gcse_occr): .. this; update uses.
* tree-ssa-copy.c (prop_value_d): Rename to ...
(prop_value_t): ... this.
* predict.c (block_info_def): Rename to ...
(block_info): ... this; update uses.
(edge_info_def): Rename to ...
(edge_info): ... this; update uses.
* profile.c (bb_info): Rename to ...
(bb_profile_info): ... this; update uses.
* alloc-pool.c (output_info): Rename to ...
(pool_output_info): ... this; update uses.
* ipa-cp.c (topo_info): Rename to ..
(ipa_topo_info): ... this; update uses.
* tree-nrv.c (nrv_data): Rename to ...
(nrv_data_t): ... this; update uses.
* ipa-split.c (bb_info): Rename to ...
(split_bb_info): ... this one.
* profile.h (edge_info): Rename to ...
(edge_profile_info): ... this one; update uses.
* dse.c (bb_info): Rename to ...
(dse_bb_info): ... this one; update uses.
* cprop.c (occr): Rename to ...
(cprop_occr): ... this one; update uses.
(expr): Rename to ...
(cprop_expr): ... this one; update uses.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215480
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 22 Sep 2014 19:22:37 +0000 (19:22 +0000)]
* semantics.c (finish_non_static_data_member): In diagnostic, give
error at point of use and note at point of declaration.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215479
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 22 Sep 2014 19:22:11 +0000 (19:22 +0000)]
PR c++/63320
PR c++/60463
PR c++/60755
* lambda.c (maybe_resolve_dummy, lambda_expr_this_capture): Handle
not finding 'this'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215478
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 22 Sep 2014 19:21:20 +0000 (19:21 +0000)]
/cp
2014-09-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62219
* pt.c (check_default_tmpl_args): Check LAMBDA_FUNCTION_P.
/testsuite
2014-09-22 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/62219
* g++.dg/cpp0x/lambda/lambda-template14.C: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215477
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 22 Sep 2014 16:36:06 +0000 (16:36 +0000)]
[Testsuite] Add tests of reductions using whole-vector-shifts (ior)
* gcc.dg/vect/vect-reduc-or_1.c: New test.
* gcc.dg/vect/vect-reduc-or_2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215475
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 22 Sep 2014 16:33:35 +0000 (16:33 +0000)]
gcc/
* Makefile.in (check-parallel-%): Add @.
libstdc++-v3/
* testsuite/Makefile.am (%/site.exp): Add @.
(check-DEJAGNU): Likewise.
* testsuite/Makefile.in: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215474
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 22 Sep 2014 16:33:05 +0000 (16:33 +0000)]
[Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)
* lib/target-supports.exp (check_effective_target_whole_vector_shift):
New.
* gcc.dg/vect/vect-reduc-mul_1.c: New test.
* gcc.dg/vect/vect-reduc-mul_2.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215473
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 22 Sep 2014 16:31:09 +0000 (16:31 +0000)]
* decl.c (poplevel): Don't warn about unused vars in template scope.
* error.c (dump_decl): Handle variable templates.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215472
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 22 Sep 2014 16:24:57 +0000 (16:24 +0000)]
[AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c
gcc/
* config/aarch64/geniterators.sh: New.
* config/aarch64/iterators.md (VDQF_DF): New.
* config/aarch64/t-aarch64: Generate aarch64-builtin-iterators.h.
* config/aarch64/aarch64-builtins.c (BUILTIN_*) Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215471
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 22 Sep 2014 16:01:53 +0000 (16:01 +0000)]
Include <bits/uses_allocator.h> in <stack> and <queue>.
* include/bits/stl_queue.h: Include missing header.
* include/bits/stl_stack.h: Likewise.
* testsuite/23_containers/priority_queue/requirements/
uses_allocator.cc: New.
* testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
* testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215470
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Mon, 22 Sep 2014 15:47:31 +0000 (15:47 +0000)]
* config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of
-lnosys when -msim absent.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215469
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 22 Sep 2014 15:25:37 +0000 (15:25 +0000)]
* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
* doc/xml/manual/status_cxx2014.xml: Update TS status.
* doc/html/manual/status.html: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215468
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 22 Sep 2014 14:54:35 +0000 (14:54 +0000)]
* include/std/mutex (try_lock): Do not swallow exceptions.
* testsuite/30_threads/try_lock/4.cc: Fix test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215467
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 22 Sep 2014 14:21:43 +0000 (14:21 +0000)]
Fix ChangeLog date in my last commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215466
138bc75d-0d04-0410-961f-
82ee72b054a4
alalaw01 [Mon, 22 Sep 2014 14:20:16 +0000 (14:20 +0000)]
Workaround following [PATCH] Pul all constants last in tree_swap_operands_p
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
gcc/:
* fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215465
138bc75d-0d04-0410-961f-
82ee72b054a4
redi [Mon, 22 Sep 2014 13:34:09 +0000 (13:34 +0000)]
Make streams movable and swappable.
PR libstdc++/54316
PR libstdc++/53626
* config/abi/pre/gnu.ver: Add new exports.
* config/io/basic_file_stdio.h (__basic_file): Support moving and
swapping.
* include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
Likewise.
* include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
Likewise.
* include/bits/fstream.tcc (basic_filebuf): Likewise.
* include/bits/move.h (__exchange): Define for C++11 mode.
* include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
swapping.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
* include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
basic_fstream): Likewise.
* include/std/ios: Remove whitespace.
* include/std/istream (basic_istream, basic_iostream): Support moving
and swapping.
* include/std/ostream (basic_ostream): Likewise.
* include/std/sstream (basic_stringbuf, basic_istringstream,
basic_ostringstream, basic_stringstream): Likewise.
* include/std/streambuf (basic_streambuf): Do not default copy
constructor and assignment on first declaration.
* include/std/utility (exchange): Forward to __exchange.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* src/c++11/Makefile.am: Add stream-related files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
New file for explicit instantiation definitions.
* src/c++11/ios.cc: Move from src/c++98 to here.
(ios_base::_M_move, ios_base::_M_swap): Define.
* src/c++11/ios-inst.cc: Move from src/c++98 to here.
* src/c++11/iostream-inst.cc: Likewise.
* src/c++11/istream-inst.cc: Likewise.
* src/c++11/ostream-inst.cc: Likewise.
* src/c++11/sstream-inst.cc: Likewise.
* src/c++11/streambuf-inst.cc: Likewise.
* src/c++98/Makefile.am: Remove stream-related files.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
instantiations.
* src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
* src/c++98/ios-inst.cc: Move to src/c++11/.
* src/c++98/ios.cc: Move to src/c++11/.
* src/c++98/iostream-inst.cc: Likewise.
* src/c++98/istream-inst.cc: Likewise.
* src/c++98/ostream-inst.cc: Likewise.
* src/c++98/sstream-inst.cc: Likewise.
* src/c++98/streambuf-inst.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* testsuite/27_io/basic_fstream/cons/move.cc: New.
* testsuite/27_io/basic_fstream/assign/1.cc: New.
* testsuite/27_io/basic_ifstream/cons/move.cc: New.
* testsuite/27_io/basic_ifstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/cons/move.cc: New.
* testsuite/27_io/basic_stringstream/assign/1.cc: New.
* testsuite/27_io/basic_stringstream/cons/move.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215463
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Mon, 22 Sep 2014 12:53:12 +0000 (12:53 +0000)]
Add --inline option to contrib/mklog
2014-09-22 Tom de Vries <tom@codesourcery.com>
* mklog: Add --inline option.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215462
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Mon, 22 Sep 2014 12:49:16 +0000 (12:49 +0000)]
2014-09-22 Richard Biener <rguenther@suse.de>
* gimplify.c (gimplify_init_constructor): Do not leave
non-GIMPLE vector constructors around.
* tree-cfg.c (verify_gimple_assign_single): Verify that
CONSTRUCTORs have gimple elements.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215461
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Mon, 22 Sep 2014 11:08:03 +0000 (11:08 +0000)]
PR target/63312
* config/ia64/sfp-machine.h (FE_EX_ALL, FP_TRAPPING_EXCEPTIONS):
New macros.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215458
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Mon, 22 Sep 2014 10:32:09 +0000 (10:32 +0000)]
PR debug/63328
* omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
insert a debug source bind stmt setting DEBUG_EXPR_DECL
instead of a normal gimple assignment stmt.
* c-c++-common/gomp/pr63328.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215454
138bc75d-0d04-0410-961f-
82ee72b054a4
jgreenhalgh [Mon, 22 Sep 2014 10:23:42 +0000 (10:23 +0000)]
[Patch bfin] Fixup use of constraints in define_split
gcc/
* config/bfin/bfin.md: Fix use of constraints in define_split.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215453
138bc75d-0d04-0410-961f-
82ee72b054a4
dominiq [Mon, 22 Sep 2014 10:05:37 +0000 (10:05 +0000)]
2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
* resolve.c (resolve_fl_procedure): Remove duplicated lines.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215452
138bc75d-0d04-0410-961f-
82ee72b054a4
marxin [Mon, 22 Sep 2014 09:39:20 +0000 (09:39 +0000)]
PR lto/63270 - new test
* g++.dg/lto/pr63270_0.C: New test.
* g++.dg/lto/pr63270_1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215451
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 22 Sep 2014 07:38:46 +0000 (07:38 +0000)]
gcc/
* config/i386/i386.c (ix86_cannot_change_mode_class): Remove
GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215450
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 22 Sep 2014 07:38:12 +0000 (07:38 +0000)]
gcc/
* hard-reg-set.h: Include hash-table.h.
(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
field.
* target-globals.c (target_globals::~target_globals): Call
hard_regs->finalize.
* rtl.h (subreg_shape): New structure.
(shape_of_subreg): New function.
(simplifiable_subregs): Declare.
* reginfo.c (simplifiable_subreg): New structure.
(simplifiable_subregs_hasher): Likewise.
(simplifiable_subregs): New function.
(invalid_mode_changes): Delete.
(alid_mode_changes, valid_mode_changes_obstack): New variables.
(record_subregs_of_mode): Remove subregs_of_mode parameter.
Record valid mode changes in valid_mode_changes.
(find_subregs_of_mode): Remove subregs_of_mode parameter.
Update calls to record_subregs_of_mode.
(init_subregs_of_mode): Remove invalid_mode_changes and bitmap
handling. Initialize new variables. Update call to
find_subregs_of_mode.
(invalid_mode_change_p): Check new variables instead of
invalid_mode_changes.
(finish_subregs_of_mode): Finalize new variables instead of
invalid_mode_changes.
(target_hard_regs::finalize): New function.
* ira-costs.c (print_allocno_costs): Call invalid_mode_change_p
even when CLASS_CANNOT_CHANGE_MODE is undefined.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215449
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 22 Sep 2014 07:36:59 +0000 (07:36 +0000)]
gcc/
* combine.c (subst): Use simplify_subreg_regno rather than
REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215448
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 22 Sep 2014 07:36:51 +0000 (07:36 +0000)]
gcc/
* rtl.h (subreg_info): Expand commentary
* rtlanal.c (subreg_get_info): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215447
138bc75d-0d04-0410-961f-
82ee72b054a4
rsandifo [Mon, 22 Sep 2014 07:36:42 +0000 (07:36 +0000)]
gcc/
* hard-reg-set.h (COPY_HARD_REG_SET, COMPL_HARD_REG_SET)
(AND_HARD_REG_SET, AND_COMPL_HARD_REG_SET, IOR_HARD_REG_SET)
(IOR_COMPL_HARD_REG_SET): Allow the "from" set to be constant.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215446
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Mon, 22 Sep 2014 07:02:24 +0000 (07:02 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
* gcc-interface/utils.c (gnat_write_global_declarations): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215445
138bc75d-0d04-0410-961f-
82ee72b054a4
zqchen [Mon, 22 Sep 2014 02:54:45 +0000 (02:54 +0000)]
2014-09-22 Zhenqiang Chen <zhenqiang.chen@arm.com>
* config/arm/arm.c: #include "tm-constrs.h"
(thumb1_size_rtx_costs): Adjust rtx costs.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215444
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Mon, 22 Sep 2014 00:49:01 +0000 (00:49 +0000)]
* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
override USE_PT_GNU_EH_FRAME.
[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
check USE_EH_FRAME_REGISTRY_ALWAYS against
__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
variable for substituted force_explicit_eh_registry.
(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
* configure.ac (explicit-exception-frame-registration):
New AC_ARG_ENABLE.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215443
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 22 Sep 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215442
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Sun, 21 Sep 2014 23:38:05 +0000 (23:38 +0000)]
* configure.ac (target_header_dir): Move block defining
this to before the block setting inhibit_libc.
(inhibit_libc): When considering $with_headers, just
check it it's explicitly "no". If not, also check if
$target_header_dir/stdio.h is present. If not, set
inhibit_libc=true.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215439
138bc75d-0d04-0410-961f-
82ee72b054a4
dje [Sun, 21 Sep 2014 22:29:00 +0000 (22:29 +0000)]
* config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215438
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 18:04:53 +0000 (18:04 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (div<mode>3): Fix comment. Use a different
insn for divides by integer powers of two.
(div<mode>3_sra, *div<mode>3_sra_dot, *div<mode>3_sra_dot2): New.
(mod<mode>3): Fix formatting.
(three anonymous define_insn and two define_split): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215437
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 18:03:52 +0000 (18:03 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (ashr<mode>3, *ashr<mode>3, *ashrsi3_64,
*ashr<mode>3_dot, *ashr<mode>3_dot2): Clobber CA_REGNO.
(floatdisf2_internal2): Ditto.
(ashrdi3_no_power): Ditto. Fix formatting.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215436
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 18:02:54 +0000 (18:02 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
Tidy.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215435
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 18:01:59 +0000 (18:01 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
constant, use addsi3 directly.
(three anonymous define_insn, two define_split): Delete.
(sub<mode>3): Move. Do not allow constant second operand.
Generate different insn for constant first operand.
(*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
(subf<mode>3_imm): New.
(ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
(*plus_ltu<mode>): Only handle registers.
(*plus_ltu<mode>_1): New. Handle integer third operand.
(*plus_gtu<mode>): Only handle registers.
(*plus_gtu<mode>_1): New. Handle integer third operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215434
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 18:01:01 +0000 (18:01 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (iorxor): New code_iterator.
(iorxor): New code_attr.
(IORXOR): New code_attr.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): Delete.
(ior<mode>3, xor<mode>3): Delete.
(<iorxor><mode>3): New.
(splitter for "big" integer ior, xor): New.
(*bool<mode>3): Move. Also handle AND.
(*bool<mode>3_dot, *bool<mode>3_dot2): Also handle AND.
(splitter for "big" integer ior, xor): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215433
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 17:59:40 +0000 (17:59 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (*neg<mode>2_internal): Delete.
(two anonymous define_insn and two define_split): Delete.
(*neg<mode>2, *neg<mode>2_dot, *neg<mode>2_dot2): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215432
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 17:58:41 +0000 (17:58 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
(two anonymous define_insn and two define_split): Delete.
(*one_cmpl<mode>2_dot, *one_cmpl<mode>2_dot2): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215431
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 17:57:28 +0000 (17:57 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.c (rs6000_rtx_costs) <NE>: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215430
138bc75d-0d04-0410-961f-
82ee72b054a4
segher [Sun, 21 Sep 2014 17:56:25 +0000 (17:56 +0000)]
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/predicates.md (ca_operand): Allow subregs.
(input_operand): Do not allow ca_operand.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the
carry bit, allow SImode and Pmode.
(rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215429
138bc75d-0d04-0410-961f-
82ee72b054a4
uros [Sun, 21 Sep 2014 15:13:14 +0000 (15:13 +0000)]
* config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra
clobbered registers using clobber_reg. Remove UNSPEC decoration.
* config/i386/i386.md (unspec) <UNSPEC_MS_TO_SYSV_CALL>: Remove.
(*call_rex64_ms_sysv): Remove.
(*call_value_rex64_ms_sysv): Ditto.
* config/i386/predicates.md (call_rex64_ms_sysv_operation): Remove.
testsuite/ChangeLog:
* gcc.target/i386/avx-vzeroupper-16.c (dg-final): Remove check
for call_value_rex64_ms_sysv.
* gcc.target/i386/avx-vzeroupper-17.c (dg-final): Ditto.
* gcc.target/i386/avx-vzeroupper-18.c (dg-final): Remove check
for call_rex64_ms_sysv.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215428
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sun, 21 Sep 2014 02:42:40 +0000 (02:42 +0000)]
PR c++/62017
* decl.c (begin_destructor_body): Only clobber the as-base part of
*this.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215427
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 21 Sep 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215426
138bc75d-0d04-0410-961f-
82ee72b054a4
ian [Sat, 20 Sep 2014 20:42:59 +0000 (20:42 +0000)]
runtime: Restore copyright notice accidentally removed from mgc0.c.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215423
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Sat, 20 Sep 2014 19:37:10 +0000 (19:37 +0000)]
* config/epiphany/epiphany.md (sub_f_add_imm): Change constraint of
operand 3 to "CnL".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215422
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Sat, 20 Sep 2014 14:14:08 +0000 (14:14 +0000)]
2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
Tobias Burnus <burnus@net-b.de>
gcc/fortran
* trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
generating temporary for value argument.
gcc/testsuite/
* gfortran.dg/coarray_atomic_5.f90: New
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215421
138bc75d-0d04-0410-961f-
82ee72b054a4
vondele [Sat, 20 Sep 2014 11:48:00 +0000 (11:48 +0000)]
2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
* trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
(gfc_conv_class_to_class): Likewise.
(gfc_conv_procedure_call): Likewise.
(arrayfunc_assign_needs_temporary): Likewise.
(realloc_lhs_loop_for_fcn_call): Likewise.
(gfc_trans_assignment_1): Likewise.
* trans-array.c (gfc_conv_array_ref): Likewise.
(gfc_array_allocate): Likewise.
(gfc_alloc_allocatable_for_assignment): Likewise.
* symbol.c (generate_isocbinding_symbol): Likewise.
* class.c (finalization_scalarizer): Likewise.
(finalizer_insert_packed_call): Likewise.
(generate_finalization_wrapper): Likewise.
(find_intrinsic_vtab): Likewise.
* decl.c (gfc_match_import): Likewise.
(match_procedure_decl): Likewise.
(gfc_match_subroutine): Likewise.
(gfc_match_bind_c): Likewise.
(gfc_match_volatile): Likewise.
* trans-common.c (create_common): Likewise.
* error.c (gfc_diagnostic_starter): Likewise.
* trans-stmt.c (gfc_trans_sync): Likewise.
(gfc_trans_critical): Likewise.
(gfc_trans_simple_do): Likewise.
(gfc_trans_do): Likewise.
(gfc_trans_where_assign): Likewise.
* expr.c (gfc_is_simply_contiguous): Likewise.
* module.c (unquote_string): Likewise.
* trans.c (gfc_add_finalizer_call): Likewise.
* trans-types.c (gfc_init_kinds): Likewise.
* scanner.c (preprocessor_line): Likewise.
* gfortranspec.c (lang_specific_driver): Likewise.
* frontend-passes.c (create_var): Likewise.
(cfe_expr_0): Likewise.
* resolve.c (check_host_association): Likewise.
(gfc_resolve_code): Likewise.
(resolve_fl_derived0): Likewise.
(resolve_symbol): Likewise.
* f95-lang.c (poplevel): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-io.c (transfer_expr): Likewise.
* arith.c (gfc_arith_divide): Likewise.
* parse.c (resolve_all_program_units): Likewise.
* check.c (gfc_check_rank): Likewise.
(gfc_check_sizeof): Likewise.
(is_c_interoperable): Likewise.
* dependency.c (gfc_dep_difference): Likewise.
* primary.c (gfc_match_rvalue): Likewise.
* trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
(conv_isocbinding_subroutine): Likewise.
* options.c (gfc_post_options): Likewise.
(gfc_handle_fpe_option): Likewise.
(gfc_get_option_string): Likewise.
* simplify.c (simplify_transformation_to_scalar): Likewise.
(gfc_simplify_spread): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215420
138bc75d-0d04-0410-961f-
82ee72b054a4
schwab [Sat, 20 Sep 2014 06:52:45 +0000 (06:52 +0000)]
* config/ia64/ia64.md: Remove constraints from define_split
patterns.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215419
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 20 Sep 2014 06:22:58 +0000 (06:22 +0000)]
* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215418
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 20 Sep 2014 03:11:04 +0000 (03:11 +0000)]
* ipa-visibility.c (varpool_node::externally_visible_p): Do not
privatize dynamic TLS variables.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215417
138bc75d-0d04-0410-961f-
82ee72b054a4