1. 04 Oct, 2018 11 commits
  2. 03 Oct, 2018 17 commits
    • i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Change operand 2 predicate to… · c7d53a7c
      i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Change operand 2 predicate to nonimmediate_operand.
      
      	* config/i386/i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387):
      	Change operand 2 predicate to nonimmediate_operand.
      	(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto.
      
      From-SVN: r264827
      Uros Bizjak committed
    • libgcc2.c (isnan): Use __builtin_isnan. · af8096fc
      	* libgcc2.c (isnan): Use __builtin_isnan.
      	(isfinite): Use __builtin_isfinite.
      	(isinf): Use __builtin_isinf.
      
      From-SVN: r264823
      Uros Bizjak committed
    • gimple-ssa-sprintf.c (struct fmtresult): Add new member and initialize it. · a41cc59d
      	* gimple-ssa-sprintf.c (struct fmtresult): Add new member and
      	initialize it.
      	(get_string_length): Detect unterminated arrays.
      	(format_string): Same.
      	(format_directive): Warn about unterminated arrays.
      	(handle_gimple_call): Mark statements with no_warning as needed.
      
      	* gcc.dg/warn-sprintf-no-nul.c: New test.
      
      Co-Authored-By: Jeff Law <law@redhat.com>
      
      From-SVN: r264822
      Martin Sebor committed
    • RISC-V: Add macro for ilp32e ABI. Cleanup white space. · 119b4963
      	gcc/
      	* config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): For ABI_ILP32E,
      	also define __riscv_abi_rve.  Delete trailing white space.
      
      From-SVN: r264821
      Jim Wilson committed
    • Enable LRA register allocator for PDP11. · 5079ff15
          Enable LRA register allocator for PDP11. -- missed checking in
          ChangeLog.
      
      From-SVN: r264820
      Paul Koning committed
    • Enable LRA register allocator for PDP11. · 0a7eb8df
          * config/pdp11/constraints.md (Q): Use define_memory_constraints.
          (R): Likewise.
          (D): Likewise.
          * config/pdp11/pdp11.c (pdp11_lra_p): New function.
          * config/pdp11/pdp11.opt (-mlra): New option.
          * doc/invoke.texi (PDP-11 Options): Document -mlra.
      
      From-SVN: r264819
      Paul Koning committed
    • 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
  3. 02 Oct, 2018 12 commits