aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-07-13Fix return type handling for Proxy classesMatthew Fortune9-5/+117
libjava/ * java/lang/reflect/natVMProxy.cc (unbox): Use ffi_arg for integer return types smaller than a word. * testsuite/libjava.jar/ReturnInvocationHandler.java: New file. * testsuite/libjava.jar/ReturnProxyTest.jar: Likewise. * testsuite/libjava.jar/ReturnProxyTest.java: Likewise. * testsuite/libjava.jar/ReturnProxyTest.out: Likewise. * testsuite/libjava.jar/ReturnProxyTest.xfail: Likewise. * testsuite/libjava.jar/ReturnTypes.java: Likewise. * testsuite/libjava.jar/ReturnTypesImpl.java: Likewise. From-SVN: r238312
2016-07-13Fix the use of FFI closures in the java interpreter for integer returnsMatthew Fortune6-1/+64
libjava/ * interpret-run.cc: Use ffi_arg for FFI integer return types. * testsuite/libjava.jar/arraysort.java: New file. * testsuite/libjava.jar/arraysort.jar: New file. * testsuite/libjava.jar/arraysort.out: New file. * testsuite/libjava.jar/arraysort.xfail: New file. From-SVN: r238311
2016-07-13libstdc++/71856 Define _GLIBCXX_PARALLEL_ASSERTIONSJonathan Wakely11-50/+97
PR libstdc++/71856 * include/bits/c++config (_GLIBCXX_ASSERTIONS): Define to 1 not empty. * include/parallel/compiletime_settings.h (_GLIBCXX_ASSERTIONS): Rename to _GLIBCXX_PARALLEL_ASSERTIONS and make default value depend on _GLIBCXX_ASSERTIONS. * include/parallel/balanced_quicksort.h: Rename _GLIBCXX_ASSERTIONS. Include <unistd.h> for sleep. * include/parallel/losertree.h: Rename _GLIBCXX_ASSERTIONS. * include/parallel/merge.h: Likewise. * include/parallel/multiway_merge.h: Likewise. * include/parallel/partition.h: Likewise. * include/parallel/queue.h: Likewise. * include/parallel/sort.h: Likewise. * testsuite/25_algorithms/headers/algorithm/ parallel_algorithm_assert.cc: New. From-SVN: r238307
2016-07-13Make basic_string::replace forward to different overloadJonathan Wakely2-1/+5
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (replace(__const_iterator, __const_iterator, initializer_list<C>)): Forward to different overload. From-SVN: r238306
2016-07-13Make __allocated_ptr::_S_raw_ptr staticJonathan Wakely2-2/+8
* include/bits/allocated_ptr.h (__allocated_ptr::_S_raw_ptr): Make static. From-SVN: r238305
2016-07-13Revert "Add non-const overload of std::string::data()"Jonathan Wakely6-182/+29
This reverts r238291 aka 4300aa2087d90cd2d55852fa38f082a89bc7e72d. From-SVN: r238303
2016-07-13tree-vect-data-refs.c (vect_no_alias_p): New function.Bin Cheng7-19/+130
* tree-vect-data-refs.c (vect_no_alias_p): New function. (vect_prune_runtime_alias_test_list): Call vect_no_alias_p to resolve alias checks which are known at compilation time. Truncate vector LOOP_VINFO_MAY_ALIAS_DDRS(loop_vinfo) if all alias checks are resolved. Move dump info for too many runtime alias checks to here... * tree-vect-loop.c (vect_analyze_loop_2): ...From here. gcc/testsuite * gcc.dg/vect/vect-35-big-array.c: Refine comment and test. * gcc.dg/vect/vect-35.c: Ditto. * gcc.dg/vect/vect-alias-check-2.c: New test. From-SVN: r238301
2016-07-13Fix Fortran DO loop fallbackMartin Liska4-4/+9
* gfortran.dg/ldist-1.f90: Revert change introduces in r238114. * gfortran.dg/vect/pr62283.f: Add -fno-ipa-icf to additional options. * gfortran.dg/pr42108.f90: Update expected dump scan. From-SVN: r238300
2016-07-13re PR tree-optimization/24574 (a!=0?a/10:0 is not reduced to a/10)Richard Biener4-4/+69
2016-07-13 Richard Biener <rguenther@suse.de> PR tree-optimization/24574 * tree-ssa-phiopt.c (absorbing_element_p): Pass in argument position and add shift, rotate, divison and modulo support for left zero. (value_replacement): Pass in argument position to absorbing_element_p. * gcc.dg/pr24574.c: New testcase. From-SVN: r238299
2016-07-13Fix some bogus testsuite failures for avr.Senthil Kumar Selvaraj7-1/+16
gcc/testsuite/ * c-c++-common/Wduplicated-cond-3.c (fn10): Use smaller const literal. * c-c++-common/builtin-arith-overflow-2.c: Skip for avr. * c-c++-common/pr68833-1.c: Require int32plus. * gcc.dg/ipa/pr63551.c: Likewise. * gcc.dg/ipa/pr63595.c: Require ptr32plus. * gcc.dg/ipa/pr64041.c: Require int32plus. From-SVN: r238294
2016-07-13Fix ChangeLog.Ville Voutilainen1-0/+2
From-SVN: r238293
2016-07-13Implement P0307R2, Making Optional Greater Equal Again.Ville Voutilainen10-52/+283
* include/experimental/optional (_Has_addressof): Fix the comment. * include/std/optional (_Has_addressof): Likewise. (operator=(_Up&&)): Constrain. (operator=(const optional<_Up>&)): Likewise. (operator=(optional<_Up>&&)): Likewise. (__optional_relop_t): New. (operator==(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator!=(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<(const optional<_Tp>&, const optional<_Tp>&)): Constrain. (operator>(const optional<_Tp>&, const optional<_Tp>&)): Constrain and make transparent. (operator<=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const optional<_Tp>&)): Likewise. (operator==(const optional<_Tp>&, const _Tp&): Constrain. (operator==(const _Tp&, const optional<_Tp>&)): Likewise. (operator!=(const optional<_Tp>&, _Tp const&)): Constrain and make transparent. (operator!=(const _Tp&, const optional<_Tp>&)): Likewise. (operator<(const optional<_Tp>&, const _Tp&)): Constrain. (operator<(const _Tp&, const optional<_Tp>&)): Likewise. (operator>(const optional<_Tp>&, const _Tp&)): Constrain and make transparent. (operator>(const _Tp&, const optional<_Tp>&)): Likewise. (operator<=(const optional<_Tp>&, const _Tp&)): Likewise. (operator<=(const _Tp&, const optional<_Tp>&)): Likewise. (operator>=(const optional<_Tp>&, const _Tp&)): Likewise. (operator>=(const _Tp&, const optional<_Tp>&)): Likewise. * testsuite/20_util/optional/constexpr/relops/2.cc: Adjust. * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. * testsuite/20_util/optional/relops/1.cc: Likewise. * testsuite/20_util/optional/relops/2.cc: Likewise. * testsuite/20_util/optional/relops/3.cc: Likewise. * testsuite/20_util/optional/relops/4.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Add tests to verify that optional's relops are transparent and don't synthesize operators. Also test that assignment sfinaes. From-SVN: r238292
2016-07-13Add non-const overload of std::string::data()Jonathan Wakely6-25/+214
Also fix confusion between pointer and _CharT*, so that allocators with fancy pointers work correctly. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (_M_c_str): New function. (_M_disjunct, basic_string(const basic_string&, size_t)): Use data() instead of _M_data(). (basic_string(const basic_string&, size_t, size_t, const _Alloc&)): Likewise. (append(const basic_string&)): Likewise. (append(const basic_string&, size_type, size_type)): Likewise. (assign(const basic_string&, size_type, size_type)): Likewise. (insert(size_type, const basic_string&)): Likewise. (insert(size_type, const basic_string&, size_type, size_type)): Likewise. (replace(size_type, size_type, const basic_string&, size_type, size_type)): Likewise. (replace(__const_iterator, __const_iterator, const basic_string&)): Likewise. (c_str(), data()): Use c_str() instead of _M_data(). (data()): Add non-const overload as per LWG 2391 and P0272R1. (compare(const basic_string&)): Use data() instead of _M_data(). [!_GLIBCXX_USE_CXX11_ABI] (data()): Add non-const overload. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (_M_mutate): Pass raw pointers to _S_copy. (_M_erase, _M_replace_aux): Pass raw pointers to _S_move and _S_assign. (find(const _CharT*, size_type, size_type)): Use data instead of _M_data(). * testsuite/21_strings/basic_string/allocator/char/ext_ptr.cc: New. * testsuite/21_strings/basic_string/operations/data/char/2.cc: New. * testsuite/21_strings/basic_string/operations/data/wchar_t/2.cc: New. From-SVN: r238291
2016-07-13re PR ipa/71633 ([CHKP] internal compiler error: in inline_call)Ilya Enkovich4-1/+44
gcc/ PR ipa/71633 * ipa-inline-transform.c (inline_call): Support instrumented thunks. gcc/testsuite/ PR ipa/71633 * g++.dg/pr71633.C: New test. From-SVN: r238290
2016-07-13arm.h (TARGET_HAVE_CBZ): Define.Thomas Preud'homme8-11/+156
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_HAVE_CBZ): Define. (TARGET_IDIV): Set for all Thumb targets provided they have hardware divide feature. * config/arm/arm.md (divsi3): New unpredicable alternative for ARMv8-M Baseline. Make initial alternative TARGET_32BIT only. (udivsi3): Likewise. * config/arm/thumb1.md (thumb1_cbz): New define_insn. * doc/sourcebuild.texi (arm_thumb1_cbz_ok): Document new effective target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_thumb1_cbz_ok): Add new arm_thumb1_cbz_ok effective target. * gcc.target/arm/cbz.c: New test. From-SVN: r238289
2016-07-13arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT.Thomas Preud'homme12-44/+174
2016-07-13 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/arm.h (TARGET_HAVE_MOVT): Include ARMv8-M as having MOVT. * config/arm/arm.c (arm_arch_name): (const_ok_for_op): Check MOVT/MOVW availability with TARGET_HAVE_MOVT. (thumb_legitimate_constant_p): Strip the high part of a label_ref. (thumb1_rtx_costs): Also return 0 if setting a half word constant and MOVW is available and replace (unsigned HOST_WIDE_INT) INTVAL by UINTVAL. (thumb1_size_rtx_costs): Make set of half word constant also cost 1 extra instruction if MOVW is available. Use a cost variable incremented by COSTS_N_INSNS (1) when the condition match rather than returning an arithmetic expression based on COSTS_N_INSNS. Make constant with bottom half word zero cost 2 instruction if MOVW is available. * config/arm/arm.md (define_attr "arch"): Add v8mb. (define_attr "arch_enabled"): Set to yes if arch value is v8mb and target is ARMv8-M Baseline. (arm_movt): New unpredicable alternative for ARMv8-M Baseline. (arm_movtas_ze): Likewise. * config/arm/thumb1.md (thumb1_movdi_insn): Add ARMv8-M Baseline only alternative for constants satisfying j constraint. (thumb1_movsi_insn): Likewise. (movsi splitter for K alternative): Tighten condition to not trigger if movt is available and j constraint is satisfied. (Pe immediate splitter): Likewise. (thumb1_movhi_insn): Add ARMv8-M Baseline only alternative for constant fitting in an halfword to use MOVW. * doc/sourcebuild.texi (arm_thumb1_movt_ok): Document new ARM effective target. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_arm_thumb1_movt_ok): Define effective target. * gcc.target/arm/pr42574.c: Require arm_thumb1_ok and !arm_thumb1_movt_ok to exclude ARMv8-M Baseline. * gcc.target/arm/movhi_movw.c: New test. * gcc.target/arm/movsi_movw.c: Likewise. * gcc.target/arm/movdi_movw.c: Likewise. From-SVN: r238288
2016-07-13re PR tree-optimization/71104 (ICE: verify_ssa failed (with vfork / error: ↵Richard Biener5-0/+48
definition in block 3 does not dominate use in block 7 )) 2016-07-13 Richard Biener <rguenther@suse.de> PR middle-end/71104 * gimplify.c (gimplify_modify_expr): Gimplify the RHS before gimplifying the LHS. Make sure to gimplify a returning twice call LHS without using SSA names. * gcc.dg/pr71104-1.c: New testcase. * gcc.dg/pr71104-2.c: Likewise. From-SVN: r238287
2016-07-13remove unnecessary calls to vec::releaseTrevor Saunders4-16/+15
There's no point in calling release () on an auto_vec just before it goes out of scope. gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree-data-ref.c (find_data_references_in_stmt): Remove unnecessary call to vec::release. (graphite_find_data_references_in_stmt): Likewise. * tree-ssa-alias.c (nonoverlapping_component_refs_of_decl_p): Likewise. * tree-vect-stmts.c (vectorizable_condition): Likewise. From-SVN: r238286
2016-07-13use auto_vec for more local variablesTrevor Saunders13-71/+50
gcc/c/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * c-parser.c (c_parser_generic_selection): Make type of variable auto_vec. (c_parser_omp_declare_simd): Likewise. gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgexpand.c (expand_used_vars): Make the type of a local variable auto_vec. * genmatch.c (lower_for): Likewise. * haifa-sched.c (haifa_sched_init): Likewise. (add_to_speculative_block): Likewise. (create_check_block_twin): Likewise. * predict.c (handle_missing_profiles): Likewise. * tree-data-ref.c (loop_nest_has_data_refs): Likewise. * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Likewise. * tree-ssa-loop-niter.c (discover_iteration_bound_by_body_walk): Likewise. (maybe_lower_iteration_bound): Likewise. * tree-ssa-sccvn.c (DFS): Likewise. * tree-stdarg.c (reachable_at_most_once): Likewise. * tree-vect-stmts.c (vectorizable_conversion): Likewise. (vectorizable_store): Likewise. From-SVN: r238285
2016-07-13tree-ssa-sccvn.c: use auto_vec for sccvn_dom_walker::cond_stackTrevor Saunders2-8/+7
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree-ssa-sccvn.c (sccvn_dom_walker::~sccvn_dom_walker): remove. (sccvn_dom_walker): make cond_stack an auto_vec. From-SVN: r238284
2016-07-13ree.c: use auto_vec in ext_stateTrevor Saunders2-13/+11
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * ree.c (struct ext_state): Make type of members auto_vec. (find_and_remove_re): Adjust. From-SVN: r238283
2016-07-13cfgexpand.c: use auto_vec in stack_vars_dataTrevor Saunders2-7/+8
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * cfgexpand.c (struct stack_vars_data): Make type of fields auto_vec. (expand_used_vars): Adjust. From-SVN: r238282
2016-07-13ipa.c: remove static_{ctors,dtors} globalsTrevor Saunders2-20/+24
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * ipa.c (record_cdtor_fn): Adjust. (build_cdtor_fns): Likewise. (ipa_cdtor_merge): Make static_ctors and static_dtors local variables. From-SVN: r238281
2016-07-13genextract.c: add [cd]tors to accum_extractTrevor Saunders2-16/+13
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * genextract.c (struct accum_extract): Add constructor and make members auto_vec. (gen_insn): Adjust. From-SVN: r238280
2016-07-13c-decl.c: add [cd]tors to c_struct_parse_infoTrevor Saunders2-11/+12
gcc/c/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * c-decl.c (struct c_struct_parse_info): Change member types from vec to auto_vec. (start_struct): Adjust. (finish_struct): Likewise. From-SVN: r238279
2016-07-13tree.c: add [cd]tors to free_lang_data_dTrevor Saunders2-21/+22
gcc/ChangeLog: 2016-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> * tree.c (struct free_lang_data_d): Add constructor and change types of members to ones that automatically manage resources. (fld_worklist_push): Adjust. (find_decls_types): Likewise. (find_decls_types_in_eh_region): Likewise. (free_lang_data_in_cgraph): Stop manually creating and destroying members of free_lang_data_d. From-SVN: r238278
2016-07-13Daily bump.GCC Administrator1-1/+1
From-SVN: r238277
2016-07-13re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails ↵Uros Bizjak2-5/+23
since r231674) PR rtl-optimization/68961 * config/i386/sse.md (movsd/movhpd to movupd peephole2s): Add new peephole variant. Use sse_reg_operand predicates. From-SVN: r238268
2016-07-12escape: Add escape notes to export data.Ian Lance Taylor6-5/+75
Reviewed-on: https://go-review.googlesource.com/22375 From-SVN: r238266
2016-07-12predicates.md (x86_64_immediate_operand): Remove unneeded truncation to DImode.Uros Bizjak2-5/+10
* config/i386/predicates.md (x86_64_immediate_operand) <case CONST_INT>: Remove unneeded truncation to DImode. <case CONST>: Ditto. (x86_64_zext_immediate_operand) <case CONST>: Ditto. From-SVN: r238259
2016-07-12re PR target/71805 (incorrect code for test pr45752.c with -mcpu=power9)Michael Meissner4-18/+148
[gcc] 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71805 * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): The xxperm and xxpermr instructions require that the 2nd input operand overlap with the output operand, and not the 1st. (altivec_vperm_v8hiv16qi): Likewise. (altivec_vperm_<mode>_uns_internal): Likewise. (altivec_vpermr_<mode>_internal): Likewise. (vperm_v8hiv4si): Likewise. (vperm_v16qiv8hi): Likewise. [gcc/testsuite] 2016-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71805 * gcc.target/powerpc/pr71805.c: New test. From-SVN: r238256
2016-07-12arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE when ↵Nathan Sidwell5-7/+54
-mno-pic-data-is-text-relative is in effect... gcc/ * config/arm/arm.c (arm_option_override): Set MASK_SINGLE_PIC_BASE when -mno-pic-data-is-text-relative is in effect, by default. * doc/invoke.texi (mpic-data-is-text-relative): Document new behavior and clarify. gcc/testsuite/ * gcc.target/arm/data-rel-1.c: New. * gcc.target/arm/data-rel-2.c: New. * gcc.target/arm/data-rel-3.c: New. From-SVN: r238254
2016-07-12_divkc3.c: New.Bill Schmidt8-1/+200
[libgcc] 2016-07-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/_divkc3.c: New. * config/rs6000/_mulkc3.c: New. * config/rs6000/quad-float128.h: Define TFtype; declare _mulkc3 and _divkc3. * config/rs6000/t-float128: Add _mulkc3 and _divkc3 to fp128_ppc_funcs. [gcc/testsuite] 2016-07-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/divkc3-1.c: New. * gcc.target/powerpc/mulkc3-1.c: New. From-SVN: r238253
2016-07-12Introduce new param: AVG_LOOP_NITERMartin Liska5-9/+22
* params.def: Add avg-loop niter. * tree-ssa-loop-ivopts.c (avg_loop_niter): Use the param. * cfgloopanal.c (expected_loop_iterations_unbounded): Likewise. * doc/invoke.texi: Document the new parameter. From-SVN: r238252
2016-07-12Add tests that test boundary values of paramsMartin Liska6-1/+815
* Makefile.in: Append rule for params-options.h. * params-options.h: New file. * gcc.dg/params/blocksort-part.c: New test. * gcc.dg/params/params.exp: New file. From-SVN: r238249
2016-07-12[expr.c] PR middle-end/71700: zero-extend sub-word value when widening ↵Kyrylo Tkachov4-0/+37
constructor element PR middle-end/71700 * expr.c (store_constructor): Mask sign-extended bits when widening sub-word constructor element at the start of a word. * gcc.c-torture/execute/pr71700.c: New test. From-SVN: r238248
2016-07-12re PR rtl-optimization/71634 (Invalid write with in mark_loops_for_removal ↵Martin Liska2-1/+6
(ira-build.c:2256) with --param ira-max-loops-num=0) Fix PR rtl-optimization/71634 * ira-build.c (mark_loops_for_removal): Properly iterate loops. From-SVN: r238247
2016-07-12Remove unused operator delete overloads (LWG 2458)Jonathan Wakely4-6/+15
* libsupc++/new: Remove nothrow sized deletes (LWG 2458). * doc/xml/manual/intro.xml: Document DR 2458 status. * doc/html*: Regenerate. From-SVN: r238246
2016-07-12Fix ChangeLog entry for r238244Jonathan Wakely1-1/+1
From-SVN: r238245
2016-07-12Add tests and docs for LWG 2212 supportJonathan Wakely6-6/+37
* testsuite/20_util/pair/astuple/astuple.cc: Only include <utility>. * testsuite/23_containers/array/tuple_interface/tuple_element.cc: Only include <array>. * testsuite/23_containers/array/tuple_interface/tuple_size.cc: Likewise. * doc/xml/manual/intro.xml; Document LWG 2212 support. * doc/html*: Regenerate. From-SVN: r238244
2016-07-12Add std::vector::emplace() testcase from LWG 2164Jonathan Wakely2-0/+19
* testsuite/23_containers/vector/modifiers/emplace/self_emplace.cc: Add testcase from LWG 2164. From-SVN: r238243
2016-07-12re PR tree-optimization/23286 (Missed code hoisting optimization)Steven Bosscher30-48/+447
2016-07-12 Steven Bosscher <steven@gcc.gnu.org> Richard Biener <rguenther@suse.de> PR tree-optimization/23286 PR tree-optimization/70159 * doc/invoke.texi: Document -fcode-hoisting. * common.opt (fcode-hoisting): New flag. * opts.c (default_options_table): Enable -fcode-hoisting at -O2+. * tree-ssa-pre.c (pre_stats): Add hoist_insert. (do_regular_insertion): Rename to ... (do_pre_regular_insertion): ... this and amend general comments on insertion strathegy. (do_partial_partial_insertion): Rename to ... (do_pre_partial_partial_insertion): ... this. (do_hoist_insertion): New function. (insert_aux): Take flags on whether to do PRE and/or hoist insertion and call do_hoist_insertion properly. (insert): Adjust. (pass_pre::gate): Enable also if -fcode-hoisting is enabled. (pass_pre::execute): Register hoist_insert stats. * gcc.dg/tree-ssa/ssa-pre-11.c: Disable code hosting. * gcc.dg/tree-ssa/ssa-pre-27.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-28.c: Likewise. * gcc.dg/tree-ssa/ssa-pre-2.c: Likewise. * gcc.dg/tree-ssa/pr35286.c: Likewise. * gcc.dg/tree-ssa/pr35287.c: Likewise. * gcc.dg/hoist-register-pressure-1.c: Likewise. * gcc.dg/hoist-register-pressure-2.c: Likewise. * gcc.dg/hoist-register-pressure-3.c: Likewise. * gcc.dg/pr51879-12.c: Likewise. * gcc.dg/strlenopt-9.c: Likewise. * gcc.dg/tree-ssa/pr47392.c: Likewise. * gcc.dg/tree-ssa/pr68619-4.c: Likewise. * gcc.dg/tree-ssa/split-path-5.c: Likewise. * gcc.dg/tree-ssa/slsr-35.c: Likewise. * gcc.dg/tree-ssa/slsr-36.c: Likewise. * gcc.dg/tree-ssa/loadpre3.c: Adjust so hosting doesn't apply. * gcc.dg/tree-ssa/pr43491.c: Scan optimized dump for desired result. * gcc.dg/tree-ssa/ssa-pre-31.c: Adjust expected outcome for hoisting. * gcc.dg/tree-ssa/ssa-hoist-1.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-2.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-3.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-4.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-5.c: New testcase. * gcc.dg/tree-ssa/ssa-hoist-6.c: New testcase. * gfortran.dg/pr43984.f90: Adjust expected outcome. Co-Authored-By: Richard Biener <rguenther@suse.de> From-SVN: r238242
2016-07-12re PR middle-end/71716 (gcc.dg/atomic/c11-atomic-exec-4.c is miscompiled ↵Jakub Jelinek2-7/+20
with -march=corei7) PR middle-end/71716 * gimple-fold.c (optimize_atomic_compare_exchange_p): Return false for SCALAR_FLOAT_TYPE_P type of expected var, or if TYPE_PRECISION is different from mode's bitsize. Small cleanup. From-SVN: r238239
2016-07-12re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails ↵Richard Biener4-0/+39
since r231674) 2016-07-12 Richard Biener <rguenther@suse.de> PR rtl-optimization/68961 * fwprop.c (propagate_rtx): Allow SUBREGs of VEC_CONCAT and CONCAT to simplify to a non-constant. * gcc.target/i386/pr68961.c: New testcase. From-SVN: r238238
2016-07-12Daily bump.GCC Administrator1-1/+1
From-SVN: r238237
2016-07-11cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs.Brooks Moses2-2/+11
2016-06-12 Brooks Moses <bmoses@google.com> * cp-demangle.c (cplus_demangle_print_callback): Avoid zero-length VLAs. From-SVN: r238233
2016-07-11re PR middle-end/71758 (ICE in verify_gimple_in_cfg, at tree-cfg.c:5212)Jakub Jelinek5-1/+34
PR middle-end/71758 * omp-low.c (expand_omp_target): Gimplify device. * c-c++-common/gomp/pr71758.c: New test. * gfortran.dg/gomp/pr71758.f90: New test. From-SVN: r238231
2016-07-11re PR tree-optimization/71823 (g++ segfaults with -mfma and ↵Jakub Jelinek4-5/+27
-ftree-slp-vectorize) PR tree-optimization/71823 * tree-vect-stmts.c (vectorizable_operation): Use vect_get_vec_defs to get vec_oprnds2 from op2. * gcc.dg/vect/pr71823.c: New test. From-SVN: r238229
2016-07-11stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert.François Dumont4-156/+147
2016-07-11 François Dumont <fdumont@gcc.gnu.org> * include/bits/stl_vector.h (push_back(const value_type&)): Forward to _M_realloc_insert. (insert(const_iterator, value_type&&)): Forward to _M_insert_rval. (_M_realloc_insert): Declare new function. (_M_emplace_back_aux): Remove definition. * include/bits/vector.tcc (emplace_back(_Args...)): Use _M_realloc_insert. (insert(const_iterator, const value_type&)): Likewise. (_M_insert_rval, _M_emplace_aux): Likewise. (_M_emplace_back_aux): Remove declaration. (_M_realloc_insert): Define. * testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: Adjust expected results for emplacing an lvalue with reallocation. From-SVN: r238226
2016-07-11predicates.md (x86_64_immediate_operand): Hoist common subexpressions.Uros Bizjak2-27/+35
* config/i386/predicates.md (x86_64_immediate_operand) <case CONST>: Hoist common subexpressions. (x86_64_zext_immediate_operand) <case CONST>: Ditto. From-SVN: r238224