1. 18 Jun, 2018 3 commits
  2. 17 Jun, 2018 3 commits
    • Remove superfluous prefix · ebd94f7a
      From-SVN: r261688
      Eric Botcazou committed
    • gimplify.c (nonlocal_vlas): Delete. · d70ba0c1
      	* gimplify.c (nonlocal_vlas): Delete.
      	(nonlocal_vla_vars): Likewise.
      	(gimplify_var_or_parm_decl): Do not add debug VAR_DECLs for non-local
      	referenced VLAs.
      	(gimplify_body): Do not create and destroy nonlocal_vlas.
      	* tree-nested.c: Include diagnostic.h.
      	(use_pointer_in_frame): Tweak.
      	(lookup_field_for_decl): Add assertion and declare the transformation.
      	(convert_nonlocal_reference_op) <PARM_DECL>: Rework and issue an
      	internal error when the reference is in a wrong context.  Do not
      	create a debug decl by default.
      	(note_nonlocal_block_vlas): Delete.
      	(convert_nonlocal_reference_stmt) <GIMPLE_BIND>: Do not call it.
      	(convert_local_reference_op) <PARM_DECL>: Skip the frame decl.  Do not
      	create a debug decl by default.
      	(convert_gimple_call) <GIMPLE_CALL>: Issue an internal error when the
      	call is in a wrong context.
      	(fixup_vla_decls): New function.
      	(finalize_nesting_tree_1): Adjust comment.  Call fixup_vla_decls if no
      	debug variables were created.
      	* tree.c (decl_value_expr_lookup): Add checking assertion.
      	(decl_value_expr_insert): Likewise.
      fortran/
      	* fortran/trans-decl.c (nonlocal_dummy_decl_pset): Delete.
      	(nonlocal_dummy_decls): Likewise.
      	(gfc_nonlocal_dummy_array_decl): Likewise.
      	(gfc_get_symbol_decl): Do not call gfc_nonlocal_dummy_array_decl.
      	(gfc_get_fake_result_decl): Do not generate a new DECL if simply
      	reusing the result of a recursive call.
      	(gfc_generate_function_code): Do not create, insert and destroy
      	nonlocal_dummy_decls.
      
      From-SVN: r261687
      Eric Botcazou committed
    • Daily bump. · f6a4a25f
      From-SVN: r261686
      GCC Administrator committed
  3. 16 Jun, 2018 7 commits
    • re PR middle-end/82479 (missing popcount builtin detection) · 5126ae0c
      gcc/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/82479
      	* ipa-fnsummary.c (will_be_nonconstant_expr_predicate): Handle CALL_EXPR.
      	* tree-scalar-evolution.c (interpret_expr): Likewise.
      	(expression_expensive_p): Likewise.
      	* tree-ssa-loop-ivopts.c (contains_abnormal_ssa_name_p): Likewise.
      	* tree-ssa-loop-niter.c (number_of_iterations_popcount): New.
      	(number_of_iterations_exit_assumptions): Use number_of_iterations_popcount.
      	(ssa_defined_by_minus_one_stmt_p): New.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/82479
      	* gcc.dg/tree-ssa/popcount.c: New test.
      	* gcc.dg/tree-ssa/popcount2.c: New test.
      
      From-SVN: r261682
      Kugan Vivekanandarajah committed
    • re PR tree-optimization/64946 ([AArch64] gcc.target/aarch64/vect-abs-compile.c -… · e197e64e
      re PR tree-optimization/64946 ([AArch64] gcc.target/aarch64/vect-abs-compile.c - "abs" vectorization fails for char/short types)
      
      gcc/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/64946
      	* cfgexpand.c (expand_debug_expr): Hande ABSU_EXPR.
      	* config/i386/i386.c (ix86_add_stmt_cost): Likewise.
      	* dojump.c (do_jump): Likewise.
      	* expr.c (expand_expr_real_2): Check operand type's sign.
      	* fold-const.c (const_unop): Handle ABSU_EXPR.
      	(fold_abs_const): Likewise.
      	* gimple-pretty-print.c (dump_unary_rhs): Likewise.
      	* gimple-ssa-backprop.c (backprop::process_assign_use): Likesie.
      	(strip_sign_op_1): Likesise.
      	* match.pd: Add new pattern to generate ABSU_EXPR.
      	* optabs-tree.c (optab_for_tree_code): Handle ABSU_EXPR.
      	* tree-cfg.c (verify_gimple_assign_unary): Likewise.
      	* tree-eh.c (operation_could_trap_helper_p): Likewise.
      	* tree-inline.c (estimate_operator_cost): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Likewise.
      	* tree-vect-patterns.c (vect_recog_sad_pattern): Likewise.
      	* tree.def (ABSU_EXPR): New.
      
      gcc/c-family/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
      
      gcc/c/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* c-typeck.c (build_unary_op): Handle ABSU_EXPR;
      	* gimple-parser.c (c_parser_gimple_statement): Likewise.
      	(c_parser_gimple_unary_expression): Likewise.
      
      gcc/cp/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* constexpr.c (potential_constant_expression_1): Handle ABSU_EXPR.
      	* cp-gimplify.c (cp_fold): Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2018-06-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	PR middle-end/64946
      	* gcc.dg/absu.c: New test.
      	* gcc.dg/gimplefe-29.c: New test.
      	* gcc.target/aarch64/pr64946.c: New test.
      
      From-SVN: r261681
      Kugan Vivekanandarajah committed
    • re PR middle-end/86095 (documentation for -Wunsafe-loop-optimizations references… · ee79110c
      re PR middle-end/86095 (documentation for -Wunsafe-loop-optimizations references options which have no effect any more)
      
      	PR middle-end/86095
      	* common.opt (Wunsafe-loop-optimizations): Add Ignore, remove Var,
      	documented as preserved for backward compatibility only.
      	* doc/invoke.texi: Remove -Wunsafe-loop-optimizations documentation.
      
      From-SVN: r261679
      Jakub Jelinek committed
    • re PR rtl-optimization/86108 (crash during unwinding with -O2) · 81e99446
      	PR rtl-optimization/86108
      	* bb-reorder.c (create_forwarder_block): Renamed to ...
      	(create_eh_forwarder_block): ... this.  Split OLD_BB after labels and
      	jump from new landing pad to the second part.
      	(sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad):
      	Adjust callers.
      
      From-SVN: r261678
      Jakub Jelinek committed
    • PR c++/86147 - wrong capture for template argument. · 94aedc1c
      	* expr.c (mark_use): Look through NOP_EXPR.
      
      From-SVN: r261676
      Jason Merrill committed
    • config.guess: Import latest version. · 29305f60
      	* config.guess: Import latest version.
      	* config.sub: Likewise.
      
      From-SVN: r261675
      Ben Elliston committed
    • Daily bump. · 8b1d1393
      From-SVN: r261674
      GCC Administrator committed
  4. 15 Jun, 2018 24 commits
    • LWG 3076 basic_string CTAD ambiguity · 5d84e6c5
      When deduction guides are supported by the compiler (i.e. for C++17 and
      later) replace two basic_string constructors by constrained function
      templates as required by LWG 3075. In order to ensure that the pre-C++17
      non-template constructors are still exported from the shared library
      define a macro in src/c++11/string-inst.cc to force the non-template
      declarations (this isn't strictly needed yet, because the string
      instantiations are compiled with -std=gnu++11, but that is likely to
      change).
      
      	LWG 3076 basic_string CTAD ambiguity
      	* doc/xml/manual/intro.xml: Document LWG 3076 change.
      	* include/bits/basic_string.h
      	[__cpp_deduction_guides && !_GLIBCXX_DEFINING_STRING_INSTANTIATIONS]
      	(basic_string(const _CharT*, const _Alloc&)): Turn into a function
      	template constrained by _RequireAllocator.
      	(basic_string(size_type, _CharT, const _Alloc&)): Likewise.
      	* src/c++11/string-inst.cc (_GLIBCXX_DEFINING_STRING_INSTANTIATIONS):
      	Define.
      	* testsuite/21_strings/basic_string/cons/char/deduction.cc: Test
      	deduction
      	* testsuite/21_strings/basic_string/cons/wchar_t/deduction.cc:
      	Likewise.
      
      From-SVN: r261670
      Jonathan Wakely committed
    • re PR c/86093 (volatile ignored on pointer in C) · 487f2f61
      	PR c/86093
      	* c-typeck.c (pointer_diff): Cast both pointers to unqualified types
      	before doing POINTER_DIFF_EXPR.
      
      	* c-c++-common/pr86093.c: New test.
      
      From-SVN: r261663
      Jakub Jelinek committed
    • re PR middle-end/85878 (ICE in convert_mode_scalar, at expr.c:287) · da8ea71e
      	PR middle-end/85878
      	* expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P
      	check from first store_expr, use to_mode instead of GET_MODE (to_rtx).
      	Only call store_expr for halves if the mode is the same.
      
      	* gfortran.fortran-torture/compile/pr85878.f90: New test.
      
      From-SVN: r261659
      Jakub Jelinek committed
    • pt.c (tsubst_default_argument): Use push_to/pop_from_top_level. · fe7a23a6
      	* pt.c (tsubst_default_argument): Use push_to/pop_from_top_level.
      
      	* name-lookup.c (do_pushtag): Don't look through complete types, but
      	don't add to them either.  Get context from current_binding_level.
      
      From-SVN: r261656
      Jason Merrill committed
    • * decl.c (start_enum): Do compare dependent underlying type. · b4cf2e42
      From-SVN: r261655
      Jason Merrill committed
    • PR c++/82882 - ICE with lambda in template default argument. · 582f844c
      	* lambda.c (record_null_lambda_scope): New.
      	* pt.c (tsubst_lambda_expr): Use it.
      	* name-lookup.c (do_pushtag): Don't give a lambda DECL_CONTEXT of a
      	function that isn't open.
      
      From-SVN: r261654
      Jason Merrill committed
    • re PR middle-end/86123 (ICE in prepare_cmp_insn, at optabs.c:3967) · b8d85005
      	PR middle-end/86123
      	* match.pd ((X / Y) == 0 -> X < Y): Don't transform complex divisions.
      	Fix up comment formatting.
      
      	* gcc.c-torture/compile/pr86123.c: New test.
      
      From-SVN: r261647
      Jakub Jelinek committed
    • typed-splay-tree.h (typed_splay_tree::remove): New function. · b48f2352
      2018-06-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * typed-splay-tree.h (typed_splay_tree::remove): New function.
              (typed_splay_tree::closure,
              typed_splay_tree::inner_foreach_fn, typed_splay_tree::m_inner): Deleted.
              (typed_splay_tree::typed_splay_tree,
              typed_splay_tree::operator =): Declared private.
              (typed_splay_tree::splay_tree_key, typed_splay_tree::splay_tree_value,
              typed_splay_tree::splay_tree_node_s, typed_splay_tree::KDEL,
              typed_splay_tree::VDEL, typed_splay_tree::splay_tree_delete_helper,
              typed_splay_tree::rotate_left, typed_splay_tree::rotate_right,
              typed_splay_tree::splay_tree_splay,
              typed_splay_tree::splay_tree_foreach_helper,
              typed_splay_tree::splay_tree_insert,
              typed_splay_tree::splay_tree_remove,
              typed_splay_tree::splay_tree_lookup,
              typed_splay_tree::splay_tree_predecessor,
              typed_splay_tree::splay_tree_successor,
              typed_splay_tree::splay_tree_min,
              typed_splay_tree::splay_tree_max): Took over from splay-tree.c/.h.
              (typed_splay_tree::root, typed_splay_tree::comp,
              typed_splay_tree::delete_key,
              typed_splay_tree::delete_value): New data members.
              * typed-splay-tree.c (selftest::test_str_to_int): Add a test for
              typed_splay_tree::remove.
      
      From-SVN: r261645
      Bernd Edlinger committed
    • [testsuite] Run dg-final.exp sequentially · df25ffcc
      2018-06-15  Tom de Vries  <tdevries@suse.de>
      
      	* gcc.dg-selftests/dg-final.exp: Force sequential execution.
      
      From-SVN: r261643
      Tom de Vries committed
    • PR libstdc++/86169 unshare COW string when non-const data() called · 525d67d4
      	PR libstdc++/86169
      	* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI]
      	(basic_string::data()): Unshare string.
      	* testsuite/21_strings/basic_string/operations/data/char/86169.cc:
      	New.
      
      From-SVN: r261642
      Jonathan Wakely committed
    • Decorate string_view members with nonnull attribute · 36eec25a
      The C++ committee has confirmed that passing a null pointer to the
      unary basic_string_view constructor is undefined. This removes the check
      from our implementation, and adds the nonnull attribute to warn when the
      compiler can detect undefined input.
      
      	* include/std/string_view (basic_string_view(const CharT*)): Remove
      	check for null pointer and add nonnull attribute.
      	(compare(const CharT*), compare(size_type, size_type, const CharT*))
      	(find(const CharT*, size_type), rfind(const CharT*, size_type))
      	(find_first_of(const CharT*, size_type))
      	(find_last_of(const CharT*, size_type))
      	(find_first_not_of(const CharT*, size_type))
      	(find_last_not_of(const CharT*, size_type)): Add nonnull attribute.
      	* testsuite/21_strings/basic_string_view/cons/char/nonnull.cc: New.
      	* testsuite/21_strings/basic_string_view/operations/compare/char/
      	nonnull.cc: New.
      	* testsuite/21_strings/basic_string_view/operations/find/char/
      	nonnull.cc: New.
      	* testsuite/21_strings/basic_string_view/operations/rfind/char/
      	nonnull.cc: New.
      
      From-SVN: r261638
      Jonathan Wakely committed
    • PR libstdc++/86168 fix ambiguous default constructor · 3438bf7b
      	PR libstdc++/86168
      	* include/bits/random.h (random_device(const string&)): Remove
      	default argument.
      
      From-SVN: r261636
      Jonathan Wakely committed
    • MIPS: Add support for -mcrc and -mginv options. · 9e9e6264
      gcc/ChangeLog:
      
      2018-06-15  Matthew Fortune  <matthew.fortune@mips.com>
      
      	* config/mips/mips.h (ASM_SPEC): Pass through -mcrc, -mno-crc,
      	-mginv and -mno-ginv to the assembler.
      	* config/mips/mips.opt (-mcrc): New option.
      	(-mginv): Likewise.
      	* doc/invoke.text (-mcrc): Document.
      	(-mginv): Likewise.
      
      From-SVN: r261635
      Matthew Fortune committed
    • Only define __cpp_lib_constexpr_char_traits for C++17 · 5a95794c
      	* include/bits/char_traits.h (__cpp_lib_constexpr_char_traits): Only
      	define for C++17 and above.
      
      From-SVN: r261634
      Jonathan Wakely committed
    • Force user provided warning and error messages to only occupy one line. · 490cced4
       	PR 84195
      gcc: 	* tree.c (escaped_string): New class.  Converts an unescaped
       	string into its escaped equivalent.
       	(warn_deprecated_use): Use the new class to convert the
       	deprecation message, if present.
       	(test_escaped_strings): New self test.
       	(test_c_tests): Add test_escaped_strings.
       	* doc/extend.texi (deprecated): Add a note that the
       	deprecation message is affected by the -fmessage-length
       	option, and that control characters will be escaped.
       	(#pragma GCC error): Document this pragma.
       	(#pragma GCC warning): Likewise.
       	* doc/invoke.texi (-fmessage-length): Document this option's
       	effect on the #warning and #error preprocessor directives and
       	the deprecated attribute.
      	
      testsuite;
       	* gcc.c-torture/compile/pr84195.c: New test.
      
      From-SVN: r261633
      Nick Clifton committed
    • LWG 2993 reference_wrapper<T> conversion from T&& · 7f93abd8
      	* doc/xml/manual/intro.xml: Document LWG 2993 change.
      	* include/bits/refwrap.h (reference_wrapper(_Tp&)): Remove.
      	(reference_wrapper(_Tp&&)): Remove.
      	(reference_wrapper<_Up>(_Up&&)): Define new constructor as constrained
      	template.
      	(reference_wrapper): Add deduction guide.
      	* testsuite/20_util/reference_wrapper/deduction.cc: New.
      	* testsuite/20_util/reference_wrapper/lwg2993.cc: New.
      
      From-SVN: r261632
      Jonathan Wakely committed
    • tree-vect-slp.c (vect_slp_bb): Dump MSG_OPTIMIZED_LOCATIONS here, also noting vector size used. · d1ac60d5
      2018-06-15  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_slp_bb): Dump MSG_OPTIMIZED_LOCATIONS
      	here, also noting vector size used.
      	* tree-vectorizer.c (vectorize_loops): Adjust.  Note vector
      	size used in MSG_OPTIMIZED_LOCATIONS dump.
      	(pass_slp_vectorize::execute): Adjust.
      
      From-SVN: r261626
      Richard Biener committed
    • [ARC] Fix warning in arc_return_address_register. · 738cb232
      The if condition in arc_return_address_register which selects the arc
      return address is not correct. The issue is signalized in bugzilla 85968.
      
      gcc/
      2018-06-15  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc.c (arc_return_address_register): Fix if-condition.
      
      From-SVN: r261623
      Claudiu Zissulescu committed
    • re PR tree-optimization/86159 (g++ ICE at -O1 and above on valid code: incorrect… · fa685231
      re PR tree-optimization/86159 (g++ ICE at -O1 and above on valid code: incorrect type of vector CONSTRUCTOR elements)
      
      2018-06-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/86159
      	* tree-cfg.c (gimplify_build3): Do not strip sign conversions,
      	leave useless conversion stripping to force_gimple_operand_gsi.
      	(gimplify_build2): Likewise.
      	(gimplify_build1): Likewise.
      
      	* g++.dg/pr86159.C: New testcase.
      
      From-SVN: r261622
      Richard Biener committed
    • re PR tree-optimization/86076 (ICE: verify_gimple failed (error: location… · 5b32ec10
      re PR tree-optimization/86076 (ICE: verify_gimple failed (error: location references block not in block tree))
      
      2018-06-15  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/86076
      	* tree-cfg.c (move_stmt_op): unshare invariant addresses
      	before adjusting their block.
      
      	* gcc.dg/pr86076.c: New testcase.
      
      From-SVN: r261620
      Richard Biener committed
    • RISC-V: Add custom RTEMS multilibs · a8ef8061
      Add multilib variants for -march=rv64imafd, e.g. to support the BOOMv2 core.
      
      Add -mcmodel=medany as a variant of the 64-bit multilibs for RTEMS.  The
      rationale for this change is that several existing RISC-V chips map the
      RAM at 0x80000000.  In RTEMS, we do not use virtual memory, so
      applications will run at this location which is outside the +-2GiB range
      in a 64-bit configuration.
      
      gcc/
      	* config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom
      	multilibs for *-*-rtems*.
      	* config/riscv/t-rtems: New file.
      
      From-SVN: r261619
      Sebastian Huber committed
    • LWG 3039 Unnecessary decay in thread and packaged_task · cb4f9a8c
      	* include/std/future (__constrain_pkgdtask): Replace with ...
      	(packaged_task::__not_same): New alias template, using
      	__remove_cvref_t instead of decay.
      	* include/std/thread (thread::__not_same): Add comment.
      
      From-SVN: r261618
      Jonathan Wakely committed
    • Daily bump. · 024e96b9
      From-SVN: r261617
      GCC Administrator committed
  5. 14 Jun, 2018 3 commits