1. 03 Oct, 2018 2 commits
    • 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 15 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
    • allocator.xml: Adjust link to "Reconsidering Custom Memory Allocation". · 3553df86
      	* doc/xml/manual/allocator.xml: Adjust link to "Reconsidering
      	Custom Memory Allocation".
      
      From-SVN: r264761
      Gerald Pfeifer committed
    • Regenerate libstdc++ HTML pages · 8e4d333b
      	* doc/html/*: Regenerate.
      
      From-SVN: r264760
      Jonathan Wakely committed
    • re PR fortran/65677 (Incomplete assignment on deferred-length character variable) · b093d688
      2018-10-01  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/65677
      	* trans-expr.c (gfc_trans_assignment_1): Set the 'identical'
      	flag in the call to gfc_check_dependency.
      
      
      2018-10-01  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/65677
      	* gfortran.dg/dependency_52.f90 : Expand the test to check both
      	the call to adjustl and direct assignment of the substring.
      
      From-SVN: r264759
      Paul Thomas committed
    • re PR tree-optimization/87465 (Loop removal regression) · fd5c626c
      2018-10-01  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/87465
      	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix typo
      	causing branch miscounts.
      
      	* gcc.dg/tree-ssa/cunroll-15.c: New testcase.
      
      From-SVN: r264758
      Richard Biener committed
    • Validate and set default parameters for stack-clash. · 329130cc
      This patch defines the default parameters and validation for the aarch64
      stack clash probing interval and guard sizes.  It cleans up the previous
      implementation and insures that at no point the invalidate arguments are
      present in the pipeline for AArch64.  Currently they are only corrected once
      cc1 initalizes the back-end.
      
      The default for AArch64 is 64 KB for both of these and we only support 4 KB and 64 KB
      probes.  We also enforce that any value you set here for the parameters must be
      in sync.
      
      If an invalid value is specified an error will be generated and compilation aborted.
      
      gcc/
      
      	* common/config/aarch64/aarch64-common.c (TARGET_OPTION_DEFAULT_PARAM,
      	aarch64_option_default_param):	New.
      	(params.h): Include.
      	(TARGET_OPTION_VALIDATE_PARAM, aarch64_option_validate_param): New.
      	* config/aarch64/aarch64.c (aarch64_override_options_internal): Simplify
      	stack-clash protection validation code.
      
      From-SVN: r264757
      Tamar Christina committed
    • Update options framework for parameters to properly handle and validate configure time params. · f622a56b
      
      This patch changes it so that default parameters are validated during
      initialization. This change is needed to ensure parameters set via by the
      target specific common initialization routines still keep the parameters within
      the valid range.
      
      gcc/
      
      	* params.c (validate_param): New.
      	(add_params): Use it.
      	(set_param_value): Refactor param validation into validate_param.
      	(diagnostic.h): Include.
      	* diagnostic.h (diagnostic_ready_p): New.
      
      From-SVN: r264756
      Tamar Christina committed
    • Allow back-ends to be able to do custom validations on params. · 03ced4ab
      This patch adds the ability for backends to add custom constrains to the param
      values by defining a new hook option_validate_param.
      
      This hook is invoked on every set_param_value which allows the back-end to
      ensure that the parameters are always within it's desired state.
      
      gcc/
      
      	* params.c (set_param_value):
      	Add index of parameter being validated.
      	* common/common-target.def (option_validate_param): New.
      	* common/common-targhooks.h (default_option_validate_param): New.
      	* common/common-targhooks.c (default_option_validate_param): New.
      	* doc/tm.texi.in (TARGET_OPTION_VALIDATE_PARAM): New.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r264755
      Tamar Christina committed
    • Cleanup the AArch64 testsuite when stack-clash is on. · c98f502f
      This patch cleans up the testsuite when a run is done with stack clash
      protection turned on.
      
      Concretely this switches off -fstack-clash-protection for a couple of tests:
      
      * assembler scan: some tests are quite fragile in that they check for exact
             assembly output, e.g. check for exact amount of sub etc.  These won't
             match now.
      * vla: Some of the ubsan tests negative array indices. Because the arrays weren't
             used before the incorrect $sp wouldn't have been used. The correct value is
             restored on ret.  Now however we probe the $sp which causes a segfault.
      * params: When testing the parameters we have to skip these on AArch64 because of our
                custom constraints on them.  We already test them separately so this isn't a
                loss.
      
      Note that the testsuite is not entire clean due to gdb failure caused by alloca with
      stack clash. On AArch64 we output an incorrect .loc directive, but this is already the
      case with the current implementation in GCC and is a bug unrelated to this patch series.
      
      gcc/testsuite/
      
      	PR target/86486
      	* gcc.dg/pr82788.c: Skip for AArch64.
      	* gcc.dg/guality/vla-1.c: Turn off stack-clash.
      	* gcc.target/aarch64/subsp.c: Likewise.
      	* gcc.dg/params/blocksort-part.c: Skip stack-clash checks
      	on AArch64.
      	* gcc.dg/stack-check-10.c: Add AArch64 specific checks.
      	* gcc.dg/stack-check-12.c: ILP32 fixup.
      	* gcc.dg/stack-check-5.c: Add AArch64 specific checks.
      	* gcc.dg/stack-check-6a.c: Skip on AArch64, we don't support this.
      	* testsuite/lib/target-supports.exp
      	(check_effective_target_frame_pointer_for_non_leaf): AArch64 does not
      	require frame pointer for non-leaf functions.
      
      From-SVN: r264754
      Tamar Christina committed