1. 03 Oct, 2018 10 commits
    • i386.md (*<absneg:code>extendsfdf2): Remove. · f707a037
      	* config/i386/i386.md (*<absneg:code>extendsfdf2): Remove.
      	(*<absneg:code>extend<mode>xf2): Ditto.
      
      From-SVN: r264818
      Uros Bizjak committed
    • re PR tree-optimization/87415 (wrong code at -O1 and above on x86_64-linux-gnu) · 9b918e82
      	PR tree-optimization/87415
      	* tree-vrp.c (set_value_range_with_overflow): Special case one bit
      	precision fields.
      
      From-SVN: r264817
      Aldy Hernandez committed
    • gimple-fold.c (get_range_strlen): Only set *nonstr when an unterminated string is discovered. · 78125561
      	* gimple-fold.c (get_range_strlen): Only set *nonstr when
      	an unterminated string is discovered.  Bubble up range
      	even for unterminated strings.
      	(gimple_fold_builtin_strlen): Do not fold if get_range_strlen
      	indicates the string was not terminated via NONSTR.
      
      From-SVN: r264816
      Jeff Law committed
    • tree-vrp.c (extract_range_from_unary_expr): Special case all pointer conversions. · 2e103ae2
      	* tree-vrp.c (extract_range_from_unary_expr): Special case all
      	pointer conversions.
      	Do not do anything special for anti-ranges.
      
      From-SVN: r264815
      Aldy Hernandez committed
    • Implement P0840, language support for empty objects. · bedf03a2
      	The [[no_unique_address]] attribute on a non-static data member
      	enables the equivalent of the empty base optimization.
      
      gcc/cp/
      	* tree.c (handle_no_unique_addr_attribute): New.
      	(cxx_attribute_table): Add [[no_unique_address]].
      	* class.c (field_poverlapping_p): New.
      	(layout_class_type): Check it.  Adjust DECL_SIZE of potentially
      	overlapping fields.
      	(layout_empty_base_or_field): Rename from layout_empty_base, handle
      	FIELD_DECL as well.
      	(build_base_field, record_subobject_offsets): Adjust.
      c-family/
      	* c-lex.c (c_common_has_attribute): Add no_unique_address.
      
      From-SVN: r264813
      Jason Merrill committed
    • PR libstdc++/59439 optimize uses of classic ("C") std::locale · 749c0e1d
      The global locale::_Impl that represents the "C" locale is never
      destroyed, so there is no need to keep track of reference count updates
      for that object. This greatly reduce contention between threads that
      refer to the classic locale. Since the global std::locale initially uses
      the classic locale, this benefits the common case for any code using the
      global locale, such as construction/destruction of iostream objects.
      
      All these updates are done inside libstdc++.so so there's no need to
      worry about users' objects having inlined old versions of the code which
      still update the reference count for the classic locale.
      
      	PR libstdc++/59439
      	* src/c++98/locale.cc (locale::locale(const locale&)): Bypass
      	reference count updates for the classic locale.
      	(locale::~locale()): Likewise.
      	(locale::operator=(const locale&)): Likewise.
      	* src/c++98/locale_init.cc (locale::locale()): Likewise.
      	(locale::global(const locale&)): Likewise.
      
      From-SVN: r264811
      Jonathan Wakely committed
    • Fix ARM_TARGET2_DWARF_FORMAT for vxworks · e7df9e44
      2018-10-03  Jérôme Lambourg  <lambourg@adacore.com>
      
      	* config/arm/vxworks.h (ARM_TARGET2_DWARF_FORMAT): Adjust to
      	DW_EH_PE_pcrel | DW_EH_PE_indirect for RTPs.
      
      From-SVN: r264808
      Jerome Lambourg committed
    • Properly mark lambdas in GCOV (PR gcov-profile/86109). · f2db4602
      2018-10-03  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/86109
      	* coverage.c (coverage_begin_function): Do not
      	mark lambdas as artificial.
      	* tree-core.h (struct GTY): Remove tm_clone_flag
      	and introduce new lambda_function.
      	* tree.h (DECL_LAMBDA_FUNCTION): New macro.
      2018-10-03  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/86109
      	* parser.c (cp_parser_lambda_declarator_opt):
      	Set DECL_LAMBDA_FUNCTION for lambdas.
      2018-10-03  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/86109
      	* g++.dg/gcov/pr86109.C: New test.
      
      From-SVN: r264806
      Martin Liska committed
    • 2018-10-03 François Dumont <fdumont@gcc.gnu.org> · 784779d4
      	* include/debug/map.h
      	(map<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
      	(map<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
      	(map<>::insert(value_type&&)): Likewise.
      	(map<>::insert<>(_Pair&&)): Likewise.
      	(map<>::insert<>(const_iterator, _Pair&&)): Likewise.
      	(map<>::try_emplace): Likewise.
      	(map<>::insert_or_assign): Likewise.
      	(map<>::insert(node_type&&)): Likewise.
      	(map<>::insert(const_iterator, node_type&&)): Likewise.
      	(map<>::erase(const_iterator)): Likewise.
      	(map<>::erase(const_iterator, const_iterator)): Likewise.
      	* include/debug/multimap.h
      	(multimap<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
      	(multimap<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
      	(multimap<>::insert<>(_Pair&&)): Likewise.
      	(multimap<>::insert<>(const_iterator, _Pair&&)): Likewise.
      	(multimap<>::insert(node_type&&)): Likewise.
      	(multimap<>::insert(const_iterator, node_type&&)): Likewise.
      	(multimap<>::erase(const_iterator)): Likewise.
      	(multimap<>::erase(const_iterator, const_iterator)): Likewise.
      	* include/debug/set.h
      	(set<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
      	(set<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
      	(set<>::insert(value_type&&)): Likewise.
      	(set<>::insert<>(const_iterator, value_type&&)): Likewise.
      	(set<>::insert(const_iterator, node_type&&)): Likewise.
      	(set<>::erase(const_iterator)): Likewise.
      	(set<>::erase(const_iterator, const_iterator)): Likewise.
      	* include/debug/multiset.h
      	(multiset<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
      	(multiset<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
      	(multiset<>::insert<>(value_type&&)): Likewise.
      	(multiset<>::insert<>(const_iterator, value_type&&)): Likewise.
      	(multiset<>::insert(node_type&&)): Likewise.
      	(multiset<>::insert(const_iterator, node_type&&)): Likewise.
      	(multiset<>::erase(const_iterator)): Likewise.
      	(multiset<>::erase(const_iterator, const_iterator)): Likewise.
      
      From-SVN: r264805
      François Dumont committed
    • Daily bump. · da76e70f
      From-SVN: r264804
      GCC Administrator committed
  2. 02 Oct, 2018 23 commits
  3. 01 Oct, 2018 7 commits
    • compiler: use the underlying type to build placeholder type for alias · b1d88684
          
          When asking for a placeholder type of an alias type, build a
          placeholder for the underlying type, instead of treating the
          alias as a named type and calling get_backend. The latter may
          fail as we may not be ready to build a complete backend type. We
          have already used a unified backend type for alias type and its
          underlying type. Do the same for placeholders as well.
          
          Reviewed-on: https://go-review.googlesource.com/138635
      
      From-SVN: r264773
      Ian Lance Taylor committed
    • libgo: support x32 as GOARCH=amd64p32 GOOS=linux · 44ef0300
          
          This is enough to let libgo build when configured using
          --with-multilib-list=m64,m32,mx32.  I don't have an x32-enabled kernel
          so I haven't tested whether it executes correctly.
          
          For https://gcc.gnu.org/PR87470
          
          Reviewed-on: https://go-review.googlesource.com/138817
      
      From-SVN: r264772
      Ian Lance Taylor committed
    • runtime: add arm64 version of AES hash code · 1b282533
          
          Rewrite the arm64 AES hashing code from gc assembler to C code using
          intrinsics.  The resulting code generates the same hash code for the
          same input as the gc code--that doesn't matter as such, but testing it
          ensures that the C code does something useful.
          
          Reviewed-on: https://go-review.googlesource.com/138535
      
      From-SVN: r264771
      Ian Lance Taylor committed
    • [libiberty] Use pipe inside pex_run · df1346b4
      https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00039.html
      	* configure.ac (checkfuncs): Add pipe2.
      	* config.in, configure: Rebuilt.
      	* pex-unix.c (pex_unix_exec_child): Comminicate errors from child
      	to parent with a pipe, when possible.
      
      From-SVN: r264769
      Nathan Sidwell committed
    • * ru.po: Update. · 2649038c
      From-SVN: r264766
      Joseph Myers committed
    • Update, forgot to put the PR number in the Change Log. · 84eea0f7
      gcc/ChangeLog:
      
      2018-10-01  Carl Love  <cel@us.ibm.com>
      
      	PR 69431
      	* config/rs6000/rs6000-builtin.def (__builtin_mffsl): New.
      	(__builtin_mtfsb0): New.
      	(__builtin_mtfsb1): New.
      	( __builtin_set_fpscr_rn): New.
      	(__builtin_set_fpscr_drn): New.
      	* config/rs6000/rs6000.c (rs6000_expand_mtfsb_builtin): Add.
      	(rs6000_expand_set_fpscr_rn_builtin): Add.
      	(rs6000_expand_set_fpscr_drn_builtin): Add.
      	(rs6000_expand_builtin): Add case statement entries for
      	RS6000_BUILTIN_MTFSB0, RS6000_BUILTIN_MTFSB1,
      	RS6000_BUILTIN_SET_FPSCR_RN, RS6000_BUILTIN_SET_FPSCR_DRN,
      	RS6000_BUILTIN_MFFSL.
      	(rs6000_init_builtins): Add ftype initialization and def_builtin
      	calls for __builtin_mffsl, __builtin_mtfsb0, __builtin_mtfsb1,
      	__builtin_set_fpscr_rn, __builtin_set_fpscr_drn.
      	* config/rs6000.md (rs6000_mtfsb0, rs6000_mtfsb1, rs6000_mffscrn,
      	rs6000_mffscdrn): Add define_insn.
      	(rs6000_set_fpscr_rn, rs6000_set_fpscr_drn): Add define_expand.
      	* doc/extend.texi: Add documentation for the builtins.
      
      gcc/testsuite/ChangeLog:
      
      2018-10-01  Carl Love  <cel@us.ibm.com>
      
      	PR 69431
      	* gcc.target/powerpc/test_mffsl-p9.c: New file.
      	* gcc.target/powerpc/test_fpscr_rn_builtin.c: New file.
      	* gcc.target/powerpc/test_fpscr_drn_builtin.c: New file.
      	* gcc.target/powerpc/test_fpscr_rn_builtin_error.c: New file.
      	* gcc.target/powerpc/test_fpscr_drn_builtin_error.c: New file.
      
      From-SVN: r264764
      Carl Love committed
    • rs6000-builtin.def (__builtin_mffsl): New. · 2da14663
      gcc/ChangeLog:
      
      2018-10-01  Carl Love  <cel@us.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (__builtin_mffsl): New.
      	(__builtin_mtfsb0): New.
      	(__builtin_mtfsb1): New.
      	( __builtin_set_fpscr_rn): New.
      	(__builtin_set_fpscr_drn): New.
      	* config/rs6000/rs6000.c (rs6000_expand_mtfsb_builtin): Add.
      	(rs6000_expand_set_fpscr_rn_builtin): Add.
      	(rs6000_expand_set_fpscr_drn_builtin): Add.
      	(rs6000_expand_builtin): Add case statement entries for
      	RS6000_BUILTIN_MTFSB0, RS6000_BUILTIN_MTFSB1,
      	RS6000_BUILTIN_SET_FPSCR_RN, RS6000_BUILTIN_SET_FPSCR_DRN,
      	RS6000_BUILTIN_MFFSL.
      	(rs6000_init_builtins): Add ftype initialization and def_builtin
      	calls for __builtin_mffsl, __builtin_mtfsb0, __builtin_mtfsb1,
      	__builtin_set_fpscr_rn, __builtin_set_fpscr_drn.
      	* config/rs6000.md (rs6000_mtfsb0, rs6000_mtfsb1, rs6000_mffscrn,
      	rs6000_mffscdrn): Add define_insn.
      	(rs6000_set_fpscr_rn, rs6000_set_fpscr_drn): Add define_expand.
      	* doc/extend.texi: Add documentation for the builtins.
      
      gcc/testsuite/ChangeLog:
      
      2018-10-01  Carl Love  <cel@us.ibm.com>
      
      	* gcc.target/powerpc/test_mffsl-p9.c: New file.
      	* gcc.target/powerpc/test_fpscr_rn_builtin.c: New file.
      	* gcc.target/powerpc/test_fpscr_drn_builtin.c: New file.
      	* gcc.target/powerpc/test_fpscr_rn_builtin_error.c: New file.
      	* gcc.target/powerpc/test_fpscr_drn_builtin_error.c: New file.
      
      From-SVN: r264762
      Carl Love committed