1. 07 May, 2019 2 commits
    • Fix a typo in two_value_replacement function · b65307e9
      GCC revision 267634 implemented two_value_replacement function.
      However, a typo occurred during the parameter check, which caused
      us to miss some optimizations.
      
      The intent of the code might be to check that the input parameters
      are const int and their difference is one.  However, when I read
      the code, I found that it is wrong to detect whether an input data
      plus one is equal to itself.  This could be a typo.
      
      2019-05-07  Li Jia He  <helijia@linux.ibm.com>
      
      	* tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter
      	detection.
      	* gcc.dg/tree-ssa/pr37508.c: Add the no-ssa-phiopt option to skip phi
      	optimization.
      	* gcc.dg/tree-ssa/pr88676-2.c: New testcase.
      
      From-SVN: r270934
      Li Jia He committed
    • Daily bump. · caa3bffa
      From-SVN: r270933
      GCC Administrator committed
  2. 06 May, 2019 27 commits
    • rs6000: Renumber the registers · 33463137
      This renumbers the registers.
      
      It moves the VRs to 64..95, right after the GPRs and the FPRS.  This
      means that the VSRs (which are aliases to the FPRs and the VRs, in
      that order) are consecutive now.
      
      It removes MQ, which has been just a stub for ages (it is a leftover
      from RIOS, old POWER).
      
      It moves the CR fields to 100..107, which is a bit easier to read
      than the 68..75 is was before.
      
      The rest fills the holes.  It should be easy to move anything else
      after this series, so the exact order isn't very important anymore,
      we aren't stuck with it if we dislike it.
      
      Many things still want the GPRs to be at 0..31, and some things want
      the FPRs at 32..63.  I don't think we'll ever want to change that,
      so I left it be.
      
      Small things...  It removes DWARF_FRAME_REGISTERS, it used to save
      1000 or so words of memory, but it has been just a handful for a
      while, and now it is one.  Some whitespace fixes.  Testing showed one
      or two places where register allocation was different (not worse, not
      better, just different).
      
      
      	* config/rs6000/rs6000.md (FIRST_ALTIVEC_REGNO, LAST_ALTIVEC_REGNO)
      	(LR_REGNO, CTR_REGNO, CA_REGNO, ARG_POINTER_REGNUM, CR0_REGNO)
      	(CR1_REGNO, CR2_REGNO, CR3_REGNO, CR4_REGNO, CR5_REGNO, CR6_REGNO)
      	(CR7_REGNO, MAX_CR_REGNO, VRSAVE_REGNO, VSCR_REGNO)
      	(FRAME_POINTER_REGNUM): Change numbering.
      	* config/rs6000/rs6000.c (rs6000_reg_names): Adjust.
      	(alt_reg_names): Adjust.
      	(rs6000_conditional_register_usage): Don't mark hard register 64 as
      	fixed.
      	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust.
      	(DWARF_FRAME_REGISTERS): Delete.
      	(DWARF2_FRAME_REG_OUT): Fix whitespace.
      	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
      	Adjust.
      	(REG_ALLOC_ORDER): Adjust.
      	(FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Adjust.
      	(REG_CLASS_CONTENTS): Adjust.
      	(RETURN_ADDR_RTX): Change comment.
      	(REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Use ARG_POINTER_REGNUM
      	instead of 67.
      	(REGISTER_NAMES): Adjust.
      	(ADDITIONAL_REGISTER_NAMES): Adjust.
      	* config/rs6000/darwin.h (REGISTER_NAMES): Adjust.
      
      From-SVN: r270929
      Segher Boessenkool committed
    • re PR fortran/90290 (-std=f2008 should reject non-constant stop and error stop codes) · c21ffa3e
      2019-05-06  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90290
      	* match.c (gfc_match_stopcode): Check F2008 condition on stop code.
      
      2019-05-06  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90290
      	* gfortran.dg/pr90290.f90: New test.
      
      From-SVN: r270928
      Steven G. Kargl committed
    • rs6000: Remove TM regs · b56be669
      We do not need to expose the TM registers in debug info.  It isn't
      actually useful there, because none of the things that can modify
      these registers (other than explicit moves) are marked.
      
      We also do not need the registers for GCC itself internally.  This
      patch deletes them.
      
      
      	* config/rs6000/rs6000.md (TFHAR_REGNO, TFIAR_REGNO, TEXASR_REGNO):
      	Delete.
      	* config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Adjust.
      	(DWARF_FRAME_REGISTERS): Adjust.
      	(FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS):
      	Adjust.
      	(REG_ALLOC_ORDER): Adjust.
      	(enum reg_class): Delete SPR_REGS.
      	(REG_CLASS_NAMES): Delete SPR_REGS.
      	(REG_CLASS_CONTENTS): Delete SPR_REGS.  Adjust for deleted TM regs.
      	(REGISTER_NAMES): Adjust.
      	(ADDITIONAL_REGISTER_NAMES): Adjust.
      	* config/rs6000/darwin.h (REGISTER_NAMES): Adjust.
      	* config/rs6000/htm.md (htm_mfspr_<mode>, htm_mtspr_<mode>): Adjust.
      	* config/rs6000/predicates.md (htm_spr_reg_operand): Delete.
      	* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Adjust.
      	(htm_spr_regno): Delete.
      	(htm_expand_builtin): Adjust: the HTM builtins now have one fewer
      	argument.
      	(rs6000_dbx_register_number): Adjust.
      
      From-SVN: r270927
      Segher Boessenkool committed
    • rs6000: Delete PRE_GCC3_DWARF_FRAME_REGISTERS · 7da118f1
      We don't need this.
      
      
      	* config/rs6000/rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): Delete.
      
      From-SVN: r270926
      Segher Boessenkool committed
    • rs6000: rs6000_dbx_register_number for fp/ap/mq · e294835a
      The frame pointer and the argument pointer aren't real registers.  MQ
      was a register on old POWER.  All three are still used as arguments to
      rs6000_dbx_register_number during initialisation.  If we handle them
      explicitly we can do a gcc_unreachable to catch other unexpected
      registers.
      
      
      	* config/rs6000/rs6000.c (rs6000_dbx_register_number): Handle
      	FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM, and 64 (which was MQ).
      
      From-SVN: r270925
      Segher Boessenkool committed
    • re PR tree-optimization/88709 (Improve store-merging) · 3afd514b
      	PR tree-optimization/88709
      	PR tree-optimization/90271
      	* params.def (PARAM_STORE_MERGING_MAX_SIZE): New parameter.
      	* gimple-ssa-store-merging.c (encode_tree_to_bitpos): Handle
      	non-clobber CONSTRUCTORs with no elts.  Remove useless tmp_int
      	variable.
      	(imm_store_chain_info::coalesce_immediate_stores): Punt if the size
      	of the store merging group is larger than
      	PARAM_STORE_MERGING_MAX_SIZE parameter.
      	(split_group): Add bzero_first argument.  If set, always emit first
      	the first store which must be = {} of the whole area and then for the
      	rest of the stores consider all zero bytes as paddings.
      	(imm_store_chain_info::output_merged_store): Check if first store
      	is = {} of the whole area and if yes, determine which setting of
      	bzero_first for split_group gives smaller number of stores.  Adjust
      	split_group callers.
      	(lhs_valid_for_store_merging_p): Allow decls.
      	(rhs_valid_for_store_merging_p): Allow non-clobber CONTRUCTORs with
      	no elts.
      	(pass_store_merging::process_store): Likewise.
      
      	* gcc.dg/store_merging_26.c: New test.
      	* gcc.dg/store_merging_27.c: New test.
      	* gcc.dg/store_merging_28.c: New test.
      	* gcc.dg/store_merging_29.c: New test.
      
      From-SVN: r270924
      Jakub Jelinek committed
    • re PR target/89424 (__builtin_vec_ext_v1ti (v, i) results in ICE with variable i (RS6000)) · 839c480a
      gcc/ChangeLog:
      
      2019-05-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/89424
      	* config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
      	handling of V1TImode.
      
      gcc/testsuite/ChangeLog:
      
      2019-05-06  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/89424
      	* gcc.target/powerpc/pr89424-0.c: New test.
      	* gcc.target/powerpc/vsx-builtin-13a.c: Define macro PR89424 to
      	enable testing of newly patched capability.
      	* gcc.target/powerpc/vsx-builtin-13b.c: Likewise.
      	* gcc.target/powerpc/vsx-builtin-20a.c: Likewise.
      	* gcc.target/powerpc/vsx-builtin-20b.c: Likewise.
      
      From-SVN: r270918
      Kelvin Nilsen committed
    • PR c++/90265 - ICE with generic lambda. · cd0a831c
      	* pt.c (tsubst_copy_and_build): Use a dedicated variable for the last
      	element in the vector.
      
      	* g++.dg/cpp1y/lambda-generic-90265.C: New test.
      
      From-SVN: r270917
      Marek Polacek committed
    • re PR target/89221 (--enable-frame-pointer does not work as intended) · fd661a34
      	PR target/89221
      	* config.gcc (i[34567]86-*-*, x86_64-*-*): Move tests for enable_cld
      	and enable_frame_pointer ...
      	* configure.ac: ... here.  Update help strings for
      	--enable-frame-pointer.
      	* configure: Regenerate.
      	* config/i386/i386-options.c (ix86_option_override_internal): Remove
      	USE_X86_64_FRAME_POINTER define, use USE_IX86_FRAME_POINTER instead.
      	* config/i386/sol2.h (USE_IX86_FRAME_POINTER): Remove.
      	(USE_X86_64_FRAME_POINTER): Ditto.
      
      From-SVN: r270914
      Uros Bizjak committed
    • Append to target_gtfiles in order to fix Darwin bootstrap. · 7c0b7150
      2019-05-06  Martin Liska  <mliska@suse.cz>
      
      	* config.gcc: Append to target_gtfiles and fix indentation.
      
      From-SVN: r270913
      Martin Liska committed
    • re PR tree-optimization/90358 (526.blender_r train run does not finish after r270847 on znver1) · 89875850
      2019-05-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90358
      	* tree-vect-stmts.c (get_group_load_store_type): Properly
      	detect unused upper half of load.
      	(vectorizable_load): Likewise.
      
      	* gcc.target/i386/pr90358.c: New testcase.
      
      From-SVN: r270911
      Richard Biener committed
    • re PR tree-optimization/88828 (Inefficient update of the first element of vector registers) · 3bc104bd
      2019-05-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/88828
      	* tree-ssa-forwprop.c (get_bit_field_ref_def): Split out from...
      	(simplify_vector_constructor): ...here.  Handle constants in
      	the constructor.
      
      	* gcc.target/i386/pr88828-0.c: New testcase.
      
      From-SVN: r270908
      Richard Biener committed
    • re PR tree-optimization/90328 (Wrong loop distribution with aliasing) · 1d0b81c6
      2019-05-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90328
      	* tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest.
      	* tree-data-ref.c (dr_may_alias_p): Check whether the clique
      	is valid in the loop nest before using it.
      	(initialize_data_dependence_relation): Adjust.
      	* graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing
      	loop as loop-nest to dr_may_alias_p.
      
      	* gcc.dg/torture/pr90328.c: New testcase.
      
      From-SVN: r270906
      Richard Biener committed
    • [libcpp] struct deps renaming · b744fc85
      https://gcc.gnu.org/ml/gcc-patches/2019-05/msg00199.html
      	libcpp/
      	* include/mkdeps.h: Rename struct deps to struct mkdeps.
      	* mkdeps.c: Likewise.
      	* include/cpplib.h (cpp_get_deps): Rename return type..
      	* directives.c (cpp_get_deps): Likewise.
      	* internal.h (struct cpp_reader): Rename deps field type.
      
      	gcc/c-family/
      	* c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
      
      From-SVN: r270905
      Nathan Sidwell committed
    • dwarf2out.c (mem_loc_descriptor): Initialize int_mode. · 1b5e2d7b
      2019-05-06  Richard Biener  <rguenther@suse.de>
      
      	* dwarf2out.c (mem_loc_descriptor): Initialize int_mode.
      
      From-SVN: r270903
      Richard Biener committed
    • re PR tree-optimization/90316 (large compile time increase in opt / alias stmt… · f5b73599
      re PR tree-optimization/90316 (large compile time increase in opt / alias stmt walking for Go example)
      
      2019-05-06  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90316
      	* tree-ssa-alias.c (maybe_skip_until): Pass in target BB,
      	compute target on demand.
      	(get_continuation_for_phi): Remove code walking stmts to
      	get to a target virtual operand which could end up being
      	quadratic.
      
      From-SVN: r270902
      Richard Biener committed
    • Clean up libgomp GCC 5 legacy support · 2bbbfa4e
      	libgomp/
      	* oacc-parallel.c: Add comments to legacy entry points (GCC 5).
      
      From-SVN: r270901
      Thomas Schwinge committed
    • re PR testsuite/90331 (New test case gcc.dg/pr87314-1.c fails) · 33a0bfcd
      2019-05-06  Richard Biener  <rguenther@suse.de>
      
      	PR testsuite/90331
      	* gcc.dg/pr87314-1.c: Align the substring to open up
      	string merging for targets aligning strings to 8 bytes.
      
      From-SVN: r270900
      Richard Biener committed
    • Error only when a non-default -mabi is used with sanitizers (PR sanitizer/90312). · 080629d3
      2019-05-06  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/90312
      	* config/i386/i386-options.c (ix86_option_override_internal): Error only
      	when -mabi is selected to a non-default version.
      2019-05-06  Martin Liska  <mliska@suse.cz>
      
      	PR sanitizer/90312
      	* gcc.dg/asan/pr87930.c: Run the test only on *linux or *gnu
      	systems.
      	* gcc.dg/tsan/pr88017.c: Likewise.
      
      From-SVN: r270899
      Martin Liska committed
    • Fix GNU coding style in lto-common.c. · ee7a003f
      2019-05-06  Martin Liska  <mliska@suse.cz>
      
      	* lto-common.c: Update coding style.
      	* lto.c (materialize_cgraph): Likewise.
      
      From-SVN: r270898
      Martin Liska committed
    • Add lto-dump tool. · 66d62d9f
      2019-05-06  Hrishikesh Kulkarni  <hrishikeshparag@gmail.com>
      	    Martin Liska  <mliska@suse.cz>
      
      	* Makefile.in: Add lto-dump.texi.
      	* cgraph.h: Add new functions get_visibility_string and
      	get_symtab_type_string.
      	* doc/gcc.texi: Include lto-dump section.
      	* doc/lto-dump.texi: New file.
      	* dumpfile.c (dump_switch_p_1): Use parse_dump_option.
      	(parse_dump_option): Factor out this function.
      	* dumpfile.h (enum dump_flag): Add new value TDF_ERROR.
      	(parse_dump_option): Export the function.
      	* symtab.c (symtab_node::get_visibility_string): New function.
      	(symtab_node::get_symtab_type_string): Likewise.
      2019-05-06  Hrishikesh Kulkarni  <hrishikeshparag@gmail.com>
      	    Martin Liska  <mliska@suse.cz>
      
      	* Make-lang.in: Add lto_dump-related definition.
      	* config-lang.in: Likewise.
      	* lang.opt: Add new language LTODump and options related
      	to LTO dump tool.
      	* lto-common.c (lto_read_decls): Support type statistics dump.
      	(lto_file_read): Likewise for object files.
      	* lto-dump.c: New file.
      	* lto-lang.c (lto_option_lang_mask): Move from ..
      	* lto.c (lto_option_lang_mask): .. here.
      	* lto.h (lto_option_lang_mask): New declaration.
      
      Co-Authored-By: Martin Liska <mliska@suse.cz>
      
      From-SVN: r270897
      Hrishikesh Kulkarni committed
    • Split part of functionality from lto.c to lto-common.c. · a79420f9
      2019-05-06  Martin Liska  <mliska@suse.cz>
      	    Hrishikesh Kulkarni  <hrishikeshparag@gmail.com>
      
      	* Make-lang.in: Add lto-common.o.
      	* config-lang.in: Likewise for gtfiles.
      	* lto-common.c: New file.
      	* lto-common.h: New file.
      	* lto-lang.c: Include lto-common.h.
      	* lto.c: Move most of the functionality
      	into lto-common.c file.
      
      Co-Authored-By: Hrishikesh Kulkarni <hrishikeshparag@gmail.com>
      
      From-SVN: r270896
      Martin Liska committed
    • Split i386.c. · 2bf6d935
      2019-05-06  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386-builtins.c: New file.
      	* config/i386/i386-builtins.h: New file.
      	* config/i386/i386-expand.c: New file.
      	* config/i386/i386-expand.h: New file.
      	* config/i386/i386-features.c: New file.
      	* config/i386/i386-features.h: New file.
      	* config/i386/i386-options.c: New file.
      	* config/i386/i386-options.h: New file.
      	* config.gcc: Add new files into extra_objs and
      	target_gtfiles.
      	* config/i386/i386.c: Split content of the file
      	into newly introduced files.
      	* config/i386/i386.h: Declare common variables
      	and macros.
      	* config/i386/t-i386: Define dependencies for new files.
      
      From-SVN: r270895
      Martin Liska committed
    • Fix a typo in two_value_replacement function · 94adc935
      GCC revision 267634 implemented two_value_replacement function.
      However, a typo occurred during the parameter check, which caused
      us to miss some optimizations.
      
      The intent of the code might be to check that the input parameters
      are const int and their difference is one.  However, when I read
      the code, I found that it is wrong to detect whether an input data
      plus one is equal to itself.  This could be a typo.
      
      2019-05-06  Li Jia He  <helijia@linux.ibm.com>
      
      	* tree-ssa-phiopt.c (two_value_replacement): Fix a typo in parameter
      	detection.
      	* gcc.dg/tree-ssa/pr37508.c: Add the no-ssa-phiopt option to skip phi
      	optimization.
      	* gcc.dg/tree-ssa/pr88676-2.c: New testcase.
      
      From-SVN: r270894
      Li Jia He committed
    • printers.py (add_one_template_type_printer): Add type printer for container… · 3997383b
      printers.py (add_one_template_type_printer): Add type printer for container types in std::__debug namespace.
      
      2019-05-06  François Dumont  <fdumont@gcc.gnu.org>
      
      	* python/libstdcxx/v6/printers.py (add_one_template_type_printer):
      	Add type printer for container types in std::__debug namespace.
      	* testsuite/lib/gdb-test.exp (whatis-regexp-test): New.
      	(gdb-tests): Use distinct parameters for the type of test and use of
      	regex.
      	(gdb-test): Check for regex test even if 'whatis' test.
      	* testsuite/libstdc++-prettyprinters/80276.cc: Adapt for _GLIBCXX_DEBUG
      	mode.
      	* testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
      	* testsuite/libstdc++-prettyprinters/whatis2.cc: Likewise.
      
      From-SVN: r270893
      François Dumont committed
    • Daily bump. · 95ae8efb
      From-SVN: r270892
      GCC Administrator committed
  3. 05 May, 2019 2 commits
  4. 04 May, 2019 9 commits
    • Fix reference to wrong class in comment · 5b503252
              * include/std/system_error (error_category): Fix comment.
      
      From-SVN: r270877
      Jonathan Wakely committed
    • PR libstdc++/90299 make filesystem::absolute overloads consistent · 854a5c77
      In this implementation it is an error to pass the empty path to absolute,
      because the empty path doesn't represent any file in the filesystem so
      the function cannot meet its postcondition.
      
      Currently the absolute(const path&, error_code&) overload reports an
      error for the empty path, but using errc::no_such_file_or_directory, and
      the other overload does not report an error. This patch makes them
      consistntly report an errc::invalid_argument error for the empty path.
      
      	PR libstdc++/90299
      	* src/c++17/fs_ops.cc (absolute(const path&)): Report an error if the
      	argument is an empty path.
      	(absolute(const path&, error_code&)): Use invalid_argument as error
      	code instead of no_such_file_or_directory.
      	* testsuite/27_io/filesystem/operations/absolute.cc: Check handling
      	of non-existent paths and empty paths with both overloads of absolute.
      
      From-SVN: r270874
      Jonathan Wakely committed
    • Improve API docs for <system_error> header · 2f7f1aca
      	* include/std/system_error (error_category, error_code)
      	(error_condition): Improve docs.
      	* libsupc++/exception: Add missing @addtogroup Doxygen command.
      	* libsupc++/exception_ptr.h (exception_ptr): Link equality operators
      	to class documentation. Suppress documentation for implementation
      	details.
      	* libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
      	Suppress documentation for implementation details.
      
      From-SVN: r270873
      Jonathan Wakely committed
    • Fix std::hash<std::error_condition> · fe6fb0d1
      The hash value should be based on the identity (i.e. address) of the
      error_category member, not its object representation (i.e. underlying
      bytes).
      
      	* include/std/system_error (error_code): Remove friend declaration
      	for hash<error_code>.
      	(hash<error_code>::operator()): Use public member functions to access
      	value and category.
      	(hash<error_condition>::operator()): Use address of category, not
      	its object representation.
      	* src/c++11/compatibility-c++0x.cc (hash<error_code>::operator()):
      	Use public member functions to access value and category.
      	* testsuite/19_diagnostics/error_condition/hash.cc: New test.
      
      From-SVN: r270872
      Jonathan Wakely committed
    • crontab: Snapshots from trunk are now GCC 10 related. · 34d9c2c2
      	* crontab: Snapshots from trunk are now GCC 10 related.
      	Add GCC 9 snapshots from the respective branch.
      
      From-SVN: r270871
      Gerald Pfeifer committed
    • Add missing PR libstdc++/90277 reference. · 9db3f73d
      From-SVN: r270870
      François Dumont committed
    • Add myself to MAINTAINERS. · d1b65077
      2019-05-04  Roland Illig  <roland.illig@gmx.de>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r270869
      Roland Illig committed
    • hashtable.h (_Hashtable<>::rehash): Review comment. · de6f5f57
      2019-05-04  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/hashtable.h (_Hashtable<>::rehash): Review comment.
      	* include/bits/hashtable_policy.h
      	(_Prime_rehash_policy::_M_bkt_for_elements): Use __builtin_ceill.
      	(_Power2_rehash_policy::_M_bkt_for_elements): Likewise.
      	(_Power2_rehash_policy::_M_next_bkt): Enforce returning a result not
      	smaller than input value rather than always greater. Preserve
      	_M_next_resize if called with 0 input. Use __builtin_floorl.
      	(_Power2_rehash_policy::_M_need_rehash): Rehash only if number of
      	elements + number of insertions is greater than _M_next_resize. Start
      	with 11 buckets if not told otherwise. Use __builtin_floorl.
      	(_Rehash_base<>::reserve): Use rehash policy _M_bkt_for_elements.
      	* src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
      	Preserve _M_next_resize if called with 0 input. Use __builtin_floorl.
      	(_Prime_rehash_policy::_M_need_rehash): Start with 11 buckets if not
      	told otherwise. Use __builtin_floorl.
      	* testsuite/23_containers/unordered_set/hash_policy/71181.cc: Adapt test
      	to also validate _Power2_rehash_policy.
      	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
      	Adapt.
      
      From-SVN: r270868
      François Dumont committed
    • Daily bump. · a3871acd
      From-SVN: r270867
      GCC Administrator committed