1. 21 Mar, 2018 31 commits
  2. 20 Mar, 2018 9 commits
    • re PR target/84838 (Minor grammar fixes for x86 options) · 1527df58
      	PR target/84838
      	* Minor grammar fixes for x86 options.
      
      From-SVN: r258694
      David H. Gutteridge committed
    • re PR libstdc++/84998 (std::hash<std::bitset<N>> fails in Debug Mode) · 5dfb5e5b
      2018-03-20  François Dumont  <fdumont@gcc.gnu.org>
      
      	PR libstdc++/84998
      	* include/bits/stl_bvector.h: Fix std::hash friend declaration.
      	* include/std/bitset: Likewise.
      	* include/bits/stl_map.h (std::map<>): Fix _Rb_tree_merge_helper friend
      	declaration.
      	* include/bits/stl_multimap.h (std::multimap<>): Likewise.
      	* include/bits/stl_multiset.h (std::multiset<>): Likewise.
      	* include/bits/stl_set.h (std::set<>): Likewise.
      	* include/bits/unordered_map.h (std::unordered_map<>): Fix
      	_Hash_merge_helper friend declaration.
      	(std::unordered_multimap<>): Likewise.
      	* include/bits/unordered_set.h (std::unordered_set<>): Likewise.
      	(std::unordered_multiset<>): Likewise.
      
      From-SVN: r258693
      François Dumont committed
    • re PR debug/84875 (ICE in maybe_record_trace_start, at dwarf2cfi.c:2348 on s390x) · 6f21dc3c
      	PR debug/84875
      	* dce.c (delete_unmarked_insns): Don't remove frame related noop moves
      	holding REG_CFA_RESTORE notes, instead turn them into a USE.
      
      	* gcc.dg/pr84875.c: New test.
      
      From-SVN: r258692
      Jakub Jelinek committed
    • re PR c++/84927 (ICE with NSDMI and reference) · 1efb1dc2
      	PR c++/84927
      	* constexpr.c (cxx_eval_bare_aggregate): Update constructor's flags
      	as we evaluate the elements.
      	(cxx_eval_constant_expression): Verify constructor's flags
      	unconditionally.
      
      	* g++.dg/cpp1y/nsdmi-aggr9.C: New test.
      
      From-SVN: r258691
      Marek Polacek committed
    • PR c++/84978, ICE with NRVO. · f5f035a3
      	* cvt.c (cp_get_fndecl_from_callee): Add fold parameter.
      	(cp_get_callee_fndecl_nofold): New.
      	* cp-gimplify.c (cp_genericize_r): Use it instead.
      	* call.c (check_self_delegation): Likewise.
      
      From-SVN: r258689
      Jason Merrill committed
    • re PR target/83789 (__builtin_altivec_lvx fails for powerpc for altivec-4.c) · 91d014ff
      	PR target/83789
      	* config/rs6000/altivec.md (altivec_lvx_<mode>_2op): Delete define_insn.
      	(altivec_lvx_<mode>_1op): Likewise.
      	(altivec_stvx_<mode>_2op): Likewise.
      	(altivec_stvx_<mode>_1op): Likewise.
      	(altivec_lvx_<VM2:mode>): New define_expand.
      	(altivec_stvx_<VM2:mode>): Likewise.
      	(altivec_lvx_<VM2:mode>_2op_<P:mptrsize>): New define_insn.
      	(altivec_lvx_<VM2:mode>_1op_<P:mptrsize>): Likewise.
      	(altivec_stvx_<VM2:mode>_2op_<P:mptrsize>): Likewise.
      	(altivec_stvx_<VM2:mode>_1op_<P:mptrsize>): Likewise.
      	* config/rs6000/rs6000-p8swap.c (rs6000_gen_stvx): Use new expanders.
      	(rs6000_gen_lvx): Likewise.
      	* config/rs6000/rs6000.c (altivec_expand_lv_builtin): Likewise.
      	(altivec_expand_stv_builtin): Likewise.
      	(altivec_expand_builtin): Likewise.
      	* config/rs6000/vector.md: Likewise.
      
      From-SVN: r258688
      Peter Bergner committed
    • This PR shows that we get the load/store_lanes logic wrong for arm big-endian. · 770ebe99
      It is tricky to get right. Aarch64 does it by adding the appropriate lane-swapping
      operations during expansion.
      
      I'd like to do the same on arm eventually, but we'd need to port and validate the VTBL-generating
      code and add it to all the right places and I'm not comfortable enough doing it for GCC 8, but I am keen
      in getting the wrong-code fixed.
      As I say in the PR, vectorisation on armeb is already severely restricted (we disable many patterns on BYTES_BIG_ENDIAN)
      and the load/store_lanes patterns really were not working properly at all, so disabling them is not
      a radical approach.
      
      The way to do that is to return false in ARRAY_MODE_SUPPORTED_P for BYTES_BIG_ENDIAN.
      
      Bootstrapped and tested on arm-none-linux-gnueabihf.
      Also tested on armeb-none-eabi.
      
      
           PR target/82518
           * config/arm/arm.c (arm_array_mode_supported_p): Return false for
           BYTES_BIG_ENDIAN.
      
           * lib/target-supports.exp (check_effective_target_vect_load_lanes):
           Disable for armeb targets.
           * gcc.target/arm/pr82518.c: New test.
      
      From-SVN: r258687
      Kyrylo Tkachov committed
    • [PR c++/84962] ICE with anon-struct member · 6f87580f
      https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00961.html
      	PR c++/84962
      	* name-lookup.c (pushdecl_class_level): Push anon-struct's
      	member_vec, if there is one.
      
      	PR c++/84962
      	* g++.dg/lookup/pr84962.C: New.
      
      From-SVN: r258686
      Nathan Sidwell committed
    • [PR c++/84970] lookup marking · 5770bbac
      https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00973.html
      	PR c++/84970
      	* cp-tree.h (lookup_list_keep): Declare.
      	* tree.c (lookup_list_keep): New, broken out of ...
      	(build_min): ... here.  Call it.
      	* decl.c (cp_finish_decl): Call lookup_list_keep.
      
      	PR c++/84970
      	* g++.dg/lookup/pr84970.C: New.
      
      From-SVN: r258685
      Nathan Sidwell committed