1. 13 Aug, 2018 14 commits
  2. 12 Aug, 2018 7 commits
    • re PR fortran/66679 ([OOP] ICE with class(*) and transfer) · 9a8013d1
      2018-08-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/66679
      	* trans-intrinsic.c (gfc_conv_intrinsic_transfer): Class array
      	elements are returned as references to the data element. Get
      	the class expression by stripping back the references. Use this
      	for the element size.
      
      2018-08-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/66679
      	* gfortran.dg/transfer_class_3.f90: New test.
      
      From-SVN: r263499
      Paul Thomas committed
    • [NDS32] Change return type of predicator to bool. · 5b774d92
      gcc/
      	* config/nds32/nds32-predicates.c
      	(nds32_can_use_bclr_p): Change return type as bool.
      	(nds32_can_use_bset_p): Ditto.
      	(nds32_can_use_btgl_p): Ditto.
      	(nds32_can_use_bitci_p): Ditto.
      	* config/nds32/nds32-protos.h
      	(nds32_can_use_bclr_p): Change declaration.
      	(nds32_can_use_bset_p): Ditto.
      	(nds32_can_use_btgl_p): Ditto.
      	(nds32_can_use_bitci_p): Ditto.
      
      From-SVN: r263497
      Chung-Ju Wu committed
    • [NDS32] Add new option: -msched-prolog-epilog · d057a470
      gcc/
      	* config/nds32/nds32.c (nds32_expand_prologue, nds32_expand_epilogue):
      	Support -msched-prolog-epilog option.
      	* config/nds32/nds32.opt (msched-prolog-epilog): New option.
      
      From-SVN: r263496
      Chung-Ju Wu committed
    • [NDS32] Enable -malways-align by default at -O1 and above. · 68acadb1
      gcc/
      	* common/config/nds32/nds32-common.c
      	(nds32_option_optimization_table): Enalbe -malways-align.
      
      From-SVN: r263495
      Chung-Ju Wu committed
    • re PR fortran/86906 (erroneous name clash with renaming in use statement) · 8532a010
      2018-08-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/86906
      	* resolve.c (resolve_fl_variable_derived): Check if the derived
      	type is use associated before checking for the host association
      	error.
      
      2018-08-12  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/86906
      	* gfortran.dg/use_rename_9.f90: New test.
      
      From-SVN: r263494
      Paul Thomas committed
    • [NDS32] Implement more C ISR extension. · a4931745
      gcc/
      	* config.gcc (nds32*): Add nds32_isr.h and nds32_init.inc in
      	extra_headers.
      	* common/config/nds32/nds32-common.c (nds32_handle_option): Handle
      	OPT_misr_secure_ case.
      	* config/nds32/nds32-isr.c: Implementation of backward compatibility.
      	* config/nds32/nds32-protos.h (nds32_isr_function_critical_p): New.
      	* config/nds32/nds32.c (nds32_attribute_table): Add critical and
      	secure attribute.
      	* config/nds32/nds32.h (nds32_isr_nested_type): Add NDS32_CRITICAL.
      	(nds32_isr_info): New field security_level.
      	(TARGET_ISR_VECTOR_SIZE_4_BYTE): New macro.
      	* config/nds32/nds32.md (return_internal): Consider critical attribute.
      	* config/nds32/nds32.opt (misr-secure): New option.
      	* config/nds32/nds32_init.inc: New file.
      	* config/nds32/nds32_isr.h: New file.
      
      libgcc/
      	* config/nds32/t-nds32-isr: Rearrange object dependency.
      	* config/nds32/initfini.c: Add dwarf2 unwinding support.
      	* config/nds32/isr-library/adj_intr_lvl.inc: Consider new extensions
      	and registers usage.
      	* config/nds32/isr-library/excp_isr.S: Ditto.
      	* config/nds32/isr-library/intr_isr.S: Ditto.
      	* config/nds32/isr-library/reset.S: Ditto.
      	* config/nds32/isr-library/restore_all.inc: Ditto.
      	* config/nds32/isr-library/restore_mac_regs.inc: Ditto.
      	* config/nds32/isr-library/restore_partial.inc: Ditto.
      	* config/nds32/isr-library/restore_usr_regs.inc: Ditto.
      	* config/nds32/isr-library/save_all.inc: Ditto.
      	* config/nds32/isr-library/save_mac_regs.inc: Ditto.
      	* config/nds32/isr-library/save_partial.inc: Ditto.
      	* config/nds32/isr-library/save_usr_regs.inc: Ditto.
      	* config/nds32/isr-library/vec_vid*.S: Consider 4-byte vector size.
      
      From-SVN: r263493
      Chung-Ju Wu committed
    • Daily bump. · 39d2c7ed
      From-SVN: r263492
      GCC Administrator committed
  3. 11 Aug, 2018 4 commits
    • pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum. · 2b1969f6
      	gcc
      	* config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum.
      	Update comment for atomic instructions.
      	(atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf,
      	atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1):
      	Remove.
      	(atomic_loaddi): Revise fence expansion to only emit fence prior to
      	load for __ATOMIC_SEQ_CST model.
      	(atomic_loaddi_1): Remove float register target.
      	(atomic_storedi): Handle CONST_INT values.
      	(atomic_storedi_1): Remove float register source.  Add special case
      	for zero value.
      	(memory_barrier): New expander and insn.
      
      	libgcc
      	* config/pa/linux-atomic.c: Update comment.
      	(FETCH_AND_OP_2, OP_AND_FETCH_2, FETCH_AND_OP_WORD, OP_AND_FETCH_WORD,
      	COMPARE_AND_SWAP_2, __sync_val_compare_and_swap_4,
      	SYNC_LOCK_TEST_AND_SET_2, __sync_lock_test_and_set_4): Use
      	__ATOMIC_RELAXED for atomic loads.
      	(SYNC_LOCK_RELEASE_1): New define.  Use __sync_synchronize() and
      	unordered store to release lock.
      	(__sync_lock_release_8): Likewise.
      	(SYNC_LOCK_RELEASE_2): Remove define.
      
      From-SVN: r263488
      John David Anglin committed
    • re PR tree-optimization/86835 (Bogus "is used uninitialized" warning with -ffast-math) · 8be591a9
      	PR tree-optimization/86835
      	* tree-ssa-math-opts.c (insert_reciprocals): Even when inserting
      	new_stmt after def_gsi, make sure to insert new_square_stmt after
      	that stmt, not 2 stmts before it.
      
      	* gcc.dg/pr86835.c: New test.
      
      From-SVN: r263487
      Jakub Jelinek committed
    • PR c++/86728 - C variadic generic lambda. · fc186cbd
      	* parser.c (cp_parser_parameter_declaration): Don't turn 'auto' into
      	a pack if it's followed by a declarator-id.
      
      From-SVN: r263484
      Jason Merrill committed
    • Daily bump. · 1d03ff3f
      From-SVN: r263483
      GCC Administrator committed
  4. 10 Aug, 2018 12 commits
    • PR libstdc++/68210 adjust operator new and delete for LWG 206 · b66e5a95
      Ensure that nothrow versions of new and delete call the ordinary
      versions of new or delete, instead of calling malloc or free directly.
      
      These files are all compiled with -std=gnu++14 so can use noexcept and
      nullptr to make the code more readable.
      
      	PR libstdc++/68210
      	* doc/xml/manual/intro.xml: Document LWG 206 change.
      	* libsupc++/del_op.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept.
      	* libsupc++/del_opa.cc: Likewise.
      	* libsupc++/del_opant.cc: Likewise.
      	* libsupc++/del_opnt.cc: Likewise. Call operator delete(ptr) instead
      	of free(ptr).
      	* libsupc++/del_ops.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept.
      	* libsupc++/del_opsa.cc: Likewise.
      	* libsupc++/del_opva.cc: Likewise.
      	* libsupc++/del_opvant.cc: Likewise.
      	* libsupc++/del_opvnt.cc: Likewise. Call operator delete[](ptr)
      	instead of operator delete(ptr).
      	* libsupc++/del_opvs.cc: Replace _GLIBCXX_USE_NOEXCEPT with noexcept.
      	* libsupc++/del_opvsa.cc: Likewise.
      	* libsupc++/new_op.cc: Use __builtin_expect in check for zero size.
      	* libsupc++/new_opa.cc: Use nullptr instead of literal 0.
      	* libsupc++/new_opant.cc: Likewise. Replace _GLIBCXX_USE_NOEXCEPT
      	with noexcept.
      	* libsupc++/new_opnt.cc: Likewise. Call operator new(sz) instead of
      	malloc(sz).
      	* libsupc++/new_opvant.cc: Use nullptr and noexcept.
      	* libsupc++/new_opvnt.cc: Likewise. Call operator new[](sz) instead of
      	operator new(sz, nothrow).
      	* testsuite/18_support/new_nothrow.cc: New test.
      
      From-SVN: r263478
      Jonathan Wakely committed
    • Fix formatting in ChangeLog · 6894c57b
      From-SVN: r263476
      Jonathan Wakely committed
    • re PR fortran/57160 (short-circuit IF only with -ffrontend-optimize) · bf9197df
      2018-08-10  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/57160
      	* invoke.texi (frontend-optimize): Mention short-circuiting.
      	* options.c (gfc_post_options): Disable -ffrontend-optimize with -Og.
      	* resolve.c (resolve_operator): Warn about short-circuiting only with
      	-ffrontend-optimize.
      	* trans-expr.c (gfc_conv_expr_op): Use short-circuiting operators only
      	with -ffrontend-optimize. Without that flag, make sure that both
      	operands are evaluated.
      
      2018-08-10  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/57160
      	* gfortran.dg/actual_pointer_function_1.f90: Fix invalid test case.
      	* gfortran.dg/inline_matmul_23.f90: Add option "-ffrontend-optimize".
      	* gfortran.dg/short_circuiting_2.f90: New test case.
      	* gfortran.dg/short_circuiting_3.f90: New test case.
      
      From-SVN: r263471
      Janus Weil committed
    • Remove not needed __builtin_expect due to malloc predictor. · 8b9a5b5e
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
      	* libsupc++/new_op.cc (new): Remove __builtin_expect as malloc
              predictor can handle that.
      	* libsupc++/new_opa.cc: Likewise.
      	* libsupc++/new_opnt.cc (new): Likewise.
      
      From-SVN: r263470
      Martin Liska committed
    • Fix wrongly removed line. · aa405905
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
      	* MAINTAINERS: Revert change in previous commit and
              join lines.
      
      From-SVN: r263469
      Martin Liska committed
    • Fix extra line in MAINTAINERS. · 04e2b41d
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
      	* MAINTAINERS: Remove extra line.
      
      From-SVN: r263468
      Martin Liska committed
    • i386: do not use SImode mul-highpart on 64-bit (PR 82418) · f80d6a17
      	PR target/82418
      	* config/i386/i386.md (<s>mul<mode>3_highpart): Use DWIH mode iterator
      	instead of SWI48.
      
      testsuite/
      	* gcc.target/i386/pr82418.c: New test.
      
      From-SVN: r263467
      Alexander Monakov committed
    • Introduce __builtin_expect_with_probability (PR target/83610). · 1e9168b2
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
              PR target/83610
      	* builtin-types.def (BT_FN_LONG_LONG_LONG_DOUBLE): Add new
              function type.
      	* builtins.c (expand_builtin_expect_with_probability):
              New function.
      	(expand_builtin_expect_with_probability): New function.
      	(build_builtin_expect_predicate): Add new argumnet probability
              for BUILT_IN_EXPECT_WITH_PROBABILITY.
      	(fold_builtin_expect):
      	(fold_builtin_2):
      	(fold_builtin_3):
      	* builtins.def (BUILT_IN_EXPECT_WITH_PROBABILITY):
      	* builtins.h (fold_builtin_expect): Set new argument.
      	* doc/extend.texi: Document __builtin_expect_with_probability.
      	* doc/invoke.texi: Likewise.
      	* gimple-fold.c (gimple_fold_call): Pass new argument.
      	* ipa-fnsummary.c (find_foldable_builtin_expect): Handle
              also BUILT_IN_EXPECT_WITH_PROBABILITY.
      	* predict.c (get_predictor_value): New function.
      	(expr_expected_value): Add new argument probability. Assume
              that predictor and probability are always non-null.
      	(expr_expected_value_1): Likewise.  For __builtin_expect and
              __builtin_expect_with_probability set probability.  Handle
              combination in binary expressions.
      	(tree_predict_by_opcode): Simplify code by simply calling
              get_predictor_value.
      	(pass_strip_predict_hints::execute): Add handling of
              BUILT_IN_EXPECT_WITH_PROBABILITY.
      	* predict.def (PRED_BUILTIN_EXPECT_WITH_PROBABILITY): Add
              new predictor.
      	* tree.h (DECL_BUILT_IN_P): New function.
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
              PR target/83610
      	* gcc.dg/predict-17.c: New test.
      	* gcc.dg/predict-18.c: New test.
      	* gcc.dg/predict-19.c: New test.
      
      From-SVN: r263466
      Martin Liska committed
    • Strip only selected predictors after early tree passes (PR tree-optimization/85799). · 7a096965
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
              PR tree-optimization/85799
      	* passes.def: Add argument for pass_strip_predict_hints.
      	* predict.c (class pass_strip_predict_hints): Add new argument
              early_p.
      	(strip_predictor_early): New function.
      	(pass_strip_predict_hints::execute): Call the function to
              strip predictors.
      	(strip_predict_hints): New function.
      	* predict.def: Fix comment.
      2018-08-10  Martin Liska  <mliska@suse.cz>
      
              PR tree-optimization/85799
      	* gcc.dg/pr85799.c: New test.
      
      From-SVN: r263465
      Martin Liska committed
    • Clarify source of tm.texi to copy for GFDL grant · d568f0b6
      When tm.texi.in is updated in the source tree, the following message
      gets displayed:
      
      Verify that you have permission to grant a GFDL license for all
      new text in tm.texi, then copy it to <gcc src dir>/gcc/doc/tm.texi.
      
      Having been myself and some colleagues confused several time by that
      message as to what tm.texi to copy, I think it would be clearer to
      indicate the absolute path for the source as well. This patch achieves
      that.
      
      2018-08-10  Thomas Preud'homme  <thomas.preudhomme@linaro.org>
      
          gcc/
          * Makefile.in: Clarify which tm.texi to copy over to assert the
          right to grant a GFDL license for all.
      
      From-SVN: r263464
      Thomas Preud'homme committed
    • libstdc++-v3: Have aligned_alloc() on Newlib · ee6ad3e7
      While building for Newlib, some configure checks must be hard coded.
      The aligned_alloc() is supported since 2015 in Newlib.
      
      libstdc++-v3/
      
      	PR target/85904
      	* configure.ac: Define HAVE_ALIGNED_ALLOC if building for
      	Newlib.
      	* configure: Regenerate.
      
      From-SVN: r263461
      Sebastian Huber committed
    • Daily bump. · f047d28a
      From-SVN: r263460
      GCC Administrator committed
  5. 09 Aug, 2018 3 commits
    • Define aliases for containers using polymorphic_allocator · 1fc9d0b0
      These aliases are placed in the top-level header, e.g. <vector> not
      <bits/stl_vector.h>. This ensures that they refer to whichever of
      std::vector or __debug::vector or __profile::vector is in use when the
      header is included.
      
      	* include/std/deque (std::pmr::deque): Declare alias.
      	* include/std/forward_list (std::pmr::forward_list): Likewise.
      	* include/std/list (std::pmr::list): Likewise.
      	* include/std/map (std::pmr::map, std::pmr::multimap): Likewise.
      	* include/std/regex (std::pmr::match_results, std::pmr::cmatch)
      	(std::pmr::smatch, std::pmr::wcmatch, std::pmr::wsmatch): Likewise.
      	* include/std/set (std::pmr::set, std::pmr::multiset): Likewise.
      	* include/std/string (std::pmr::basic_string, std::pmr::string)
      	(std::pmr::u16string, std::pmr::u32string, std::pmr::wstring):
      	Likewise.
      	* include/std/unordered_map (std::pmr::unordered_map)
      	(std::pmr::unordered_multimap): Likewise.
      	* include/std/unordered_set (std::pmr::unordered_set)
      	(std::pmr::unordered_multiset): Likewise.
      	* include/std/vector (std::pmr::vector): Likewise.
      	* testsuite/21_strings/basic_string/types/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/deque/types/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/forward_list/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/list/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/map/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/multimap/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/multiset/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/set/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/unordered_map/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/unordered_multimap/pmr_typedefs.cc: New
      	test.
      	* testsuite/23_containers/unordered_multiset/pmr_typedefs.cc: New
      	test.
      	* testsuite/23_containers/unordered_set/pmr_typedefs.cc: New test.
      	* testsuite/23_containers/vector/pmr_typedefs.cc: New test.
      	* testsuite/28_regex/match_results/pmr_typedefs.cc: New test.
      
      From-SVN: r263456
      Jonathan Wakely committed
    • m68k.c (m68k_adjust_decorated_operand): Remove unused variable. · 093f71db
      	* config/m68k/m68k.c (m68k_adjust_decorated_operand): Remove
      	unused variable.
      
      From-SVN: r263455
      Jeff Law committed
    • re PR middle-end/86897 (gcc.dg/uninit-suppress_2.c FAILs) · 568f6ad5
      	PR middle-end/86897
      	* gcc.dg/uninit-suppress_2.c: Disable DOM.
      
      From-SVN: r263454
      Jeff Law committed