1. 20 Nov, 2019 28 commits
    • Fix host-to-device copies from rodata for AMD GCN · 8d2f4ddf
      	libgomp/
      	* plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
      	(copy_data, GOMP_OFFLOAD_host2dev): Use above function.
      	(GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
      	return code.
      
      Reviewed-by: Andrew Stubbs <ams@codesourcery.com>
      
      From-SVN: r278516
      Julian Brown committed
    • jit: fix ICE with GCC_JIT_BOOL_OPTION_SELFCHECK_GC since r278084 (PR jit/92483) · 56e04525
      Since r278084 (part of the params refactoring), most of libgccjit's
      test suite has been ICEing.
      
      The root cause is that jit-playback.c injects params to its fake_args
      here:
      
        /* Aggressively garbage-collect, to shake out bugs: */
        if (get_bool_option (GCC_JIT_BOOL_OPTION_SELFCHECK_GC))
          {
            ADD_ARG ("--param");
            ADD_ARG ("ggc-min-expand=0");
            ADD_ARG ("--param");
            ADD_ARG ("ggc-min-heapsize=0");
          }
      
      (building a vec of char * where the char * are allocated using xstrdup)
      
      and r278084 added this logic to decode_cmdline_options_to_array:
      
      964	      /* Interpret "--param" "key=name" as "--param=key=name".  */
      965	      const char *needle = "--param";
      966	      if (i + 1 < argc && strcmp (opt, needle) == 0)
      967		{
      968		  const char *replacement
      969		    = opts_concat (needle, "=", argv[i + 1], NULL);
      970		  argv[++i] = replacement;
      971		}
      
      Note that at line 970 it manipulates the argv in-place, inserting a
      new option allocated with opts_concat, which uses opts_obstack
      (itself initialized from toplev::main).
      
      jit-playback.c cleans up its fake arguments using "free", at which
      point we have a free of the middle of an obstack and an ICE.
      
      This patch fixes the issue by using the new syntax for the params.
      
      Fixes all 60 FAILs in jit.sum, restoring the number of PASS results
      from 2033 to 10469.
      
      gcc/jit/ChangeLog:
      	PR jit/92483
      	* jit-playback.c (gcc::jit::playback::context::make_fake_args):
      	Update GCC_JIT_BOOL_OPTION_SELFCHECK_GC for new --param syntax.
      
      From-SVN: r278515
      David Malcolm committed
    • OpenACC "present" subarrays: runtime API return value and unmapping fixes · e307b05f
      	PR libgomp/92511
      
      	libgomp/
      	* oacc-mem.c (present_create_copy): Fix device pointer return value in
      	case of "present" subarray.  Use tgt->tgt_start instead of tgt->to_free
      	in non-present/create case.
      	(delete_copyout): Change error condition to fail only on copies outside
      	of mapped block.  Adjust error message accordingly.
      	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
      	message.
      	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
      	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
      
      Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
      
      From-SVN: r278514
      Julian Brown committed
    • Implement inline call summaries. · 070e3489
      	* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Add CALL
      	parameter and update call_size_time_table.
      	(ipa_fn_summary::max_size_time_table_size): New constant.
      	(estimate_calls_size_and_time_1): Break out from ...
      	(estimate_calls_size_and_time): ... here; implement summary production.
      	(summarize_calls_size_and_time): New function.
      	(ipa_call_context::estimate_size_and_time): Bypass
      	estimate_calls_size_and_time for leaf functions.
      	(ipa_update_overall_fn_summary): Likewise.
      	* ipa-fnsummary.h (call_size_time_table): New.
      	(ipa_fn_summary::account_size_time): Update prototype.
      
      From-SVN: r278513
      Jan Hubicka committed
    • Document -Wc11-c2x-compat. · 73248b1d
      My patch that added initial C2X support and associated command-line
      options missed documenting -Wc11-c2x-compat although the other options
      were properly documented.  This patch adds the missing documentation.
      
      Tested with "make info" and "make pdf".
      
      	* doc/invoke.texi (-Wc11-c2x-compat): Document.
      
      From-SVN: r278510
      Joseph Myers committed
    • PR85678: Change default to -fno-common · 6271dd98
      GCC currently defaults to -fcommon.  As discussed in the PR, this is an ancient
      C feature which is not conforming with the latest C standards.  On many targets
      this means global variable accesses have a codesize and performance penalty.
      This applies to C code only, C++ code is not affected by -fcommon.  It is about
      time to change the default.
      
          gcc/
      	PR85678
      	* common.opt (fcommon): Change init to 1.
      	* invoke.texi (-fcommon): Update documentation.
      
          testsuite/
      	* g++.dg/lto/odr-6_1.c: Add -fcommon.
      	* gcc.dg/alias-15.c: Likewise.
      	* gcc.dg/fdata-sections-1.c: Likewise.	
      	* gcc.dg/ipa/pr77653.c: Likewise.
      	* gcc.dg/lto/20090729_0.c: Likewise.
      	* gcc.dg/lto/20111207-1_0.c: Likewise.
      	* gcc.dg/lto/c-compatible-types-1_0.c: Likewise.
      	* gcc.dg/lto/pr55525_0.c: Likewise.
      	* gcc.dg/lto/pr88077_0.c: Use long to avoid alignment warning.
      	* gcc.dg/lto/pr88077_1.c: Add -fcommon.
      	* gcc.target/aarch64/sve/peel_ind_1.c: Allow ANCHOR0.
      	* gcc.target/aarch64/sve/peel_ind_2.c: Likewise.
      	* gcc.target/aarch64/sve/peel_ind_3.c: Likewise.
      	* gcc.target/i386/volatile-bitfields-2.c: Allow movl or movq.
      
      From-SVN: r278509
      Wilco Dijkstra committed
    • libgomp/test: Add flags to find libatomic in build-tree testing · 83115e9e
      Add flags to find libatomic in build-tree testing, fixing a catastrophic
      libgomp testsuite failure with `riscv*-*-linux*' targets, which imply
      `-latomic' with the `-pthread' GCC option, implied in turn by the
      `-fopenacc' and `-fopenmp' options, removing failures like:
      
      .../bin/riscv64-linux-gnu-ld: cannot find -latomic
      collect2: error: ld returned 1 exit status
      compiler exited with status 1
      FAIL: libgomp.c/../libgomp.c-c++-common/atomic-18.c (test for excess errors)
      Excess errors:
      .../bin/riscv64-linux-gnu-ld: cannot find -latomic
      
      UNRESOLVED: libgomp.c/../libgomp.c-c++-common/atomic-18.c compilation failed to produce executable
      
      and bringing overall test results for the `riscv64-linux-gnu' target
      (here with the `x86_64-linux-gnu' host and RISC-V QEMU in the Linux user
      emulation mode as the target board) from:
      
      		=== libgomp Summary ===
      
      # of expected passes		90
      # of unexpected failures	3267
      # of expected failures		2
      # of unresolved testcases	3247
      # of unsupported tests		548
      
      to:
      
      		=== libgomp Summary ===
      
      # of expected passes		6834
      # of unexpected failures	4
      # of expected failures		4
      # of unsupported tests		518
      
      	libgomp/
      	* testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
      	libatomic in build-tree testing.
      
      From-SVN: r278505
      Maciej W. Rozycki committed
    • Workaround bogus warning in fibonacci_heap<K,V>::consolidate. · 8e361de1
      	* fibonacci_heap.h (fibonacci_heap<K,V>::consolidate): Turn auto_vec
      	to ordinary array.
      
      From-SVN: r278504
      Jan Hubicka committed
    • Add pool_allocator for fibonaci heaps. · 516fd7ce
      	* fibonacci_heap.h (fibonacci_heap<K,V>::fibonacci_heap):
      	Add allocator parameter.
      	(fibonacci_heap<K,V>::~fibonacci_heap): Optimize destruction.
      	(fibonacci_heap<K,V>::m_allocator): New.
      	(fibonacci_heap<K,V>::m_own_allocator): New.
      	(fibonacci_heap<K,V>::insert): Use allocator.
      	(fibonacci_heap<K,V>::extract_min): Likewise.
      	(fibonacci_heap<K,V>::union_with): Assert that both heaps share
      	allocator.
      	(fibonacci_heap<K,V>::consolidate): Allocate constant sized vector
      	on stack.
      	* fibonacci_heap.c: Include alloc-pool
      	(test_empty_heap): Initialize allocator.
      	(test_union): Likewise.
      	* bb-reorder.c: Include alloc-pool.h.
      	* tracer.c: Inlclude alloc-pool.h.
      
      From-SVN: r278501
      Jan Hubicka committed
    • Update comment in libsanitizer/*/libtool-version files. · f6fbdc38
      2019-11-20  Martin Liska  <mliska@suse.cz>
      
      	* libtool-version: Remove.
      	* lsan/libtool-version: Upate comment to not mention libmudflap.
      	* tsan/libtool-version: Likewise.
      	* ubsan/libtool-version: Likewise.
      
      From-SVN: r278500
      Martin Liska committed
    • lto-streamer-out.c (DFS::sccstack): Turn into auto-vec. · 17b95f0e
      	* lto-streamer-out.c (DFS::sccstack): Turn into auto-vec.
      	Preallocate for 32 entries.
      	(DFS::worklist): Likewise.
      	(DFS::DFS): Do not initialize sccstack and worklist.
      	(DFS::~DFS): Do not release sccstack.
      
      From-SVN: r278498
      Jan Hubicka committed
    • rs6000: Fix UNORDERED without NaNs, for DFP (PR92573) · bcb4b4b4
      This is the analogue of r278103, but for DFP.
      
      
      	PR target/92573
      	* config/rs6000/dfp.md (dfptstsfi_<code>_<mode> for DFP_TEST and DDTD):
      	Handle UNORDERED if !HONOR_NANS.
      
      From-SVN: r278497
      Segher Boessenkool committed
    • Optimize updating of badness after applying inline · 041cb615
              * ipa-inline.c (wrapper_heuristics_may_apply): Break out from ...
      	(edge_badness): ... here.
      	(inline_small_functions): Use monotonicity of badness calculation
      	to avoid redundant updates.
      
      From-SVN: r278496
      Jan Hubicka committed
    • tree-vect-slp.c (vect_analyze_slp_instance): Dump constructors we are actually analyzing. · 140ee00a
      2019-11-20  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_analyze_slp_instance): Dump
      	constructors we are actually analyzing.
      	(vect_slp_check_for_constructors): Do not vectorize uniform
      	constuctors, do not dump here.
      
      	* gcc.dg/vect/bb-slp-42.c: Adjust.
      	* gcc.dg/vect/bb-slp-40.c: Likewise.
      
      From-SVN: r278495
      Richard Biener committed
    • re PR tree-optimization/92537 (ICE in vect_slp_analyze_node_operations, at tree-vect-slp.c:2775) · 2439d584
      2019-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92537
      	* tree-vect-slp.c (vect_analyze_slp_instance): Move CTOR
      	vectorization validity check...
      	(vect_slp_analyze_operations): ... here.
      
      	* gfortran.dg/pr92537.f90: New testcase.
      
      From-SVN: r278494
      Richard Biener committed
    • [testsuite][arm] Fix asm-flag-[45].c tests · 8d8ae265
      In asm-flag-4.c, we need to use dg-message instead of dg-error because
      we have to match "sorry, unimplemented:" rather than "error:".  In
      asm-flag-5.c, fix the dg-error syntax.
      
      2019-11-20  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	* gcc.target/arm/asm-flag-4.c: Replace dg-error with dg-message.
      	* gcc.target/arm/asm-flag-5.c: Add quotes around dg-error
      	messages.
      
      From-SVN: r278487
      Christophe Lyon committed
    • Remove my name from AArch64 port maintainers · 267d7432
      	* MAINTAINERS (aarch64 port): Remove my name, move to...
      	(Write After Approval): ...Here.
      
      From-SVN: r278486
      James Greenhalgh committed
    • [ARC] Register ARC specific passes with a .def file. · f60689fa
      New arc-passes.def to register ARC specific passes.
      
      gcc/
      xxxx-xx-xx  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-protos.h (make_pass_arc_ifcvt): Declare.
      	(make_pass_arc_predicate_delay_insns): Likewise.
      	* config/arc/arc.c (class pass_arc_ifcvt): Reformat text, add gate
      	method, remove clone.
      	(class pass_arc_predicate_delay_insns): Likewise.
      	(arc_init): Remove registering of ARC specific passes.
      	* config/arc/t-arc (PASSES_EXTRA): Add arc-passes.def.
      	* config/arc/arc-passes.def: New file.
      
      From-SVN: r278485
      Claudiu Zissulescu committed
    • re PR c++/90767 (jumbled error message with this and const) · ee686729
      	PR c++/90767
      	* call.c (complain_about_no_candidates_for_method_call): If
      	conv->from is not a type, pass to complain_about_bad_argument
      	lvalue_type of conv->from.
      
      	* g++.dg/diagnostic/pr90767-1.C: New test.
      	* g++.dg/diagnostic/pr90767-2.C: New test.
      
      From-SVN: r278484
      Jakub Jelinek committed
    • re PR middle-end/90840 (ICE in simplify_subreg, at simplify-rtx.c:6441) · d742b0c1
      	PR middle-end/90840
      	* expmed.c (store_bit_field_1): Handle the case where op0 is not a MEM
      	and has a mode that doesn't have corresponding integral type.
      
      	* gcc.c-torture/compile/pr90840.c: New test.
      
      From-SVN: r278483
      Jakub Jelinek committed
    • re PR target/90867 (Multiplication or typecast of integer and double always zero when...) · 94cdd3b7
      	PR target/90867
      	* config/i386/i386-options.c (ix86_valid_target_attribute_tree): Don't
      	clear opts->x_ix86_isa_flags{,2} here...
      	(ix86_valid_target_attribute_inner_p): ... but here when seeing
      	arch=.  Also clear opts->x_ix86_isa_flags{,2}_explicit.
      
      	* gcc.target/i386/pr90867.c: New test.
      
      From-SVN: r278482
      Jakub Jelinek committed
    • re PR c/90898 (ICE in insert_clobber_before_stack_restore, at tree-ssa-ccp.c:2112) · 7313f6cf
      	PR c/90898
      	* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Remove
      	assertion.
      	(insert_clobbers_for_var): Fix a typo in function comment.
      
      	* gcc.dg/pr90898.c: New test.
      
      From-SVN: r278481
      Jakub Jelinek committed
    • re PR middle-end/91195 (incorrect may be used uninitialized smw (272711, 273474]) · 06e8db10
      	PR middle-end/91195
      	* tree-ssa-phiopt.c (cond_store_replacement): Move lhs unsharing
      	earlier.  Set TREE_NO_WARNING on the rhs1 of the artificially added
      	load.
      
      	* gcc.dg/pr91195.c: New test.
      
      From-SVN: r278479
      Jakub Jelinek committed
    • Make 0-series device specs work with older versions of avr-gcc. · c04341ec
      	PR target/92545
      	* config/avr/specs.h (LINK_SPEC) <%(link_pm_base_address)>: Remove.
      	* config/avr/gen-avr-mmcu-specs.c (print_mcu)
      	<*link_pm_base_address>: Don't write spec.
      	<*link_arch>: Add --defsym=__RODATA_PM_OFFSET__= as needed.
      
      From-SVN: r278478
      Georg-Johann Lay committed
    • re PR c/92088 (aggregates with VLAs and nested functions are broken) · 3e00ba47
      2019-11-20  Richard Biener  <rguenther@suse.de>
      
      	PR c/92088
      	c/
      	* c-decl.c (grokdeclarator): Prevent inlining of nested
      	function with VLA arguments.
      
      	* builtins.c (compute_objsize): Deal with VLAs.
      
      	* gcc.dg/torture/pr92088-1.c: New testcase.
      	* gcc.dg/torture/pr92088-2.c: Likewise.
      
      From-SVN: r278477
      Richard Biener committed
    • cvt.c (ocp_convert): Use additional warning sentinel. · 54bf2539
      /cp
      2019-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* cvt.c (ocp_convert): Use additional warning sentinel.
      
      /testsuite
      2019-11-20  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/warn/multiple-sign-compare-warn-1.C: New.
      
      From-SVN: r278475
      Paolo Carlini committed
    • Daily bump. · 56d475ca
      From-SVN: r278474
      GCC Administrator committed
    • Add more pedwarns for [[]] C attributes on types. · 8c5b727a
      The standard [[]] attributes currently defined in C2x are all not
      valid on types not being defined at the time.
      
      Use on such types results in a warning from attribs.c about attributes
      appertaining to types (the warning that I think is bogus in general
      for both C and C++, applying as it does to all [[]] attributes
      including gnu:: ones that are perfectly meaningful on types not being
      defined and work fine when __attribute__ syntax is used instead).  If
      that warning is removed (as I intend to do in a subsequent patch),
      warnings may or may not result from the attribute handlers, depending
      on whether those particular attribute handlers consider the attributes
      meaningful in such a context.  In C, however, the rules about where
      each [[]] attribute is valid are constraints, so a pedwarn, not a
      warning, is required.
      
      Because some handlers are shared between standard and gnu::
      attributes, there can be cases that are valid for the GNU attribute
      variant but not for the standard one.  So in general it is not correct
      to rely on the attribute handlers to give all required pedwarns
      (although in some cases, a pedwarn in the attribute handler is in
      appropriate way of diagnosing an invalid use); they not have the
      information about whether the attribute was a gnu:: one and can
      legitimately accept a wider range of uses for the gnu:: attributes.
      
      This patch ensures appropriate diagnostics for invalid uses of C2x
      standard attributes on types, and so helps pave the way for the
      subsequent removal of the bogus check in attribs.c, by adding a check
      run in the front end before calling decl_attributes; this check
      removes the attributes from the list after calling pedwarn to avoid
      subsequent duplicate warnings.
      
      Bootstrapped with no regressions for x86_64-pc-linux-gnu.
      
      gcc/c:
      	* c-decl.c (c_warn_type_attributes): New function.
      	(groktypename, grokdeclarator, finish_declspecs): Call
      	c_warn_type_attributes before applying attributes to types.
      	* c-tree.h (c_warn_type_attributes): Declare.
      
      gcc/testsuite:
      	* gcc.dg/c2x-attr-deprecated-2.c, gcc.dg/c2x-attr-fallthrough-2.c,
      	gcc.dg/c2x-attr-maybe_unused-2.c: Expect errors for invalid uses
      	of standard attributes on types.  Add more tests of invalid uses
      	on types.
      
      From-SVN: r278471
      Joseph Myers committed
  2. 19 Nov, 2019 12 commits
    • libgo: better cmd/cgo handling for '.' in pkgpath · 0c6ce0ae
          
          Updates cgo's gccgoPkgpathToSymbolNew() to bring it into
          conformance with the way that gccgo now handles package
          paths with embedded dots (see CL 200838). See also
          https://gcc.gnu.org/PR61880, a related bug. This CL is a
          copy of CL 207957 in the main Go repo.
          
          Updates golang/go#35623.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/207977
      
      From-SVN: r278470
      Ian Lance Taylor committed
    • re PR c++/92414 (internal compiler error: tree check: expected constructor, have… · fce6467b
      re PR c++/92414 (internal compiler error: tree check: expected constructor, have error_mark in cxx_eval_store_expression, at cp/constexpr.c:4009)
      
      	PR c++/92414
      	* constexpr.c (cxx_eval_outermost_constant_expr): If DECL_INITIAL
      	on object is erroneous, return t without trying to evaluate
      	a constexpr dtor.
      
      	* g++.dg/cpp2a/constexpr-dtor4.C: New test.
      
      From-SVN: r278468
      Jakub Jelinek committed
    • Consider parm types equivalence for operator rewrite tiebreaker. · 8d5d9087
      The C++ committee continues to discuss how best to avoid breaking existing
      code with the new rules for reversed operators.  A recent suggestion was to
      base the tie-breaker on the parameter types of the candidates, which made a
      lot of sense to me, so this patch implements that.
      
      This patch also mentions that a candidate was reversed or rewritten when
      printing the list of candidates, and warns about a comparison that becomes
      recursive under the new rules.  There is no flag for this warning; people
      can silence it by swapping the operands.
      
      	* call.c (same_fn_or_template): Change to cand_parms_match.
      	(joust): Adjust.
      	(print_z_candidate): Mark rewritten/reversed candidates.
      	(build_new_op_1): Warn about recursive call with reversed arguments.
      
      From-SVN: r278465
      Jason Merrill committed
    • rs6000.c (move_to_end_of_ready): New, factored out from common code. · 9a8819b8
      	* config/rs6000/rs6000.c (move_to_end_of_ready): New, factored out
      	from common code.
      	(power6_sched_reorder2): Factored out from rs6000_sched_reorder2,
      	call new function.
      	(power9_sched_reorder2): Call new function.
      	(rs6000_sched_reorder2): Likewise.
      
      From-SVN: r278463
      Pat Haugen committed
    • Move ChangeLog entry to correct file · dd46a542
      From-SVN: r278461
      Richard Sandiford committed
    • Remove unused parameter PROB in ipa-fnsummary.c · 98450d19
              * ipa-fnsummary.c (estimate_edge_size_and_time): Drop parameter PROB.
      	(estimate_calls_size_and_time): Update.
      
      From-SVN: r278460
      Jan Hubicka committed
    • Avoid redundant computations in edge_badness. · ea8dd3b6
              * ipa-inline.c (inlining_speedup): New function.
      	(edge_badness): Use it.
      
      From-SVN: r278459
      Jan Hubicka committed
    • [MIPS] Prevent MSA branches from being put into delay slots · 4aa5fd8a
       This patch tightens the instruction definitions to make sure
       that MSA branch instructions cannot be put into delay slots and have their
       delay slots eligible for being filled. Also, MSA *div*3 patterns use MSA
       branches for zero checks but are not marked as being multi instruction and
       thus could be put into delay slots. This patch fixes that.
      
      gcc/ChangeLog:
      
      2019-11-19  Zoran Jovanovic <zoran.jovanovic@mips.com>
      		Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
      
      	* config/mips/mips-msa.md (msa_<msabr>_<msafmt_f>, msa_<msabr>_v_<msafmt_f>):
      	Mark as not having "likely" version.
      	* config/mips/mips.md (insn_count): The simd_div instruction with
      	TARGET_CHECK_ZERO_DIV consists of 3 instructions.
      	(can_delay): Exclude simd_branch.
      	(defile_delay *): Add simd_branch instructions.
      	They have one regular delay slot.
      
      gcc/testsuite/ChangeLog:
      
      2019-11-19  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>
      
      	* gcc.target/mips/msa-ds.c: New test.
      
      From-SVN: r278458
      Dragan Mladjenovic committed
    • Revert r278441 · aa535578
      To restore powerpc bootstrap.
      
      2019-11-19  Richard Sandiford  <richard.sandiford@arm.com>
      gcc/
      	Revert:
      	2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      	* cse.c (cse_insn): Delete no-op register moves too.
      	* simplify-rtx.c (comparison_to_mask): Handle unsigned comparisons.
      	Take a second comparison to control the value for NE.
      	(mask_to_comparison): Handle unsigned comparisons.
      	(simplify_logical_relational_operation): Likewise.  Update call
      	to comparison_to_mask.  Handle AND if !HONOR_NANs.
      	(simplify_binary_operation_1): Call the above for AND too.
      
      gcc/testsuite/
      	Revert:
      	2019-11-18  Richard Sandiford  <richard.sandiford@arm.com>
      
      	* gcc.target/aarch64/sve/acle/asm/ptest_pmore.c: New test.
      
      From-SVN: r278455
      Richard Sandiford committed
    • [AArch64] PR79262: Adjust vector cost · 4bf29d15
      PR79262 has been fixed for almost all AArch64 cpus, however the example is still
      vectorized in a few cases, resulting in lower performance.  Adjust the vector
      cost slightly so that so that -mcpu=cortex-a53 now has identical performance as
      -mcpu=cortex-a57 on libquantum.
      
          gcc/
      	PR target/79262
      	* config/aarch64/aarch64.c (generic_vector_cost): Adjust
      	vec_to_scalar_cost.
      
      From-SVN: r278452
      Wilco Dijkstra committed
    • re PR c++/89913 (ICE with invalid using declaration) · c286fb4e
      PR c++/89913
      
      gcc/cp/
      	* pt.c (get_underlying_template): Exit loop if the original type
      	of the alias is null.
      
      gcc/testsuite/
      	* g++.dg/cpp2a/pr89913.C: New test.
      
      From-SVN: r278451
      Andrew Sutton committed
    • re PR c++/92078 (error: 'struct std::ptr<Iter>' redeclared with different access) · cce3c9db
      PR c++/92078
      
      gcc/cp/
      	* pt.c (maybe_new_partial_specialization): Apply access to newly
      	created partial specializations. Update comment style.
      
      gcc/testsuite/
      	* g++.dg/cpp2a/concepts-pr92078.C: New.
        * g++.dg/cpp2a/concepts-requires18.C: Update diagnostics.
      
      From-SVN: r278450
      Andrew Sutton committed