1. 09 Sep, 2019 12 commits
    • match.pd: Add flag_unsafe_math_optimizations check before deciding on the widest type in... · a6edd18c
      2019-09-09  Barnaby Wilks  <barnaby.wilks@arm.com>
      
      	* match.pd: Add flag_unsafe_math_optimizations check
      	before deciding on the widest type in a binary math operation.
      
      	* gcc.dg/fold-binary-math-casts.c: New test.
      
      From-SVN: r275518
      Barnaby Wilks committed
    • Update comment of removed options. · f48ef52e
      2019-09-09  Martin Liska  <mliska@suse.cz>
      
      	* config/i386/i386.opt: Update comment of removed
      	options that are preserved only for backward
      	compatibility.
      2019-09-09  Martin Liska  <mliska@suse.cz>
      
      	* c.opt: Update comment of removed
      	options that are preserved only for backward
      	compatibility.
      
      From-SVN: r275517
      Martin Liska committed
    • Minor std::to_chars optimisation for base 10 · d0e086ae
      __to_chars_10_impl is quite fast. According to the IACA the main loop
      takes only 6.0 cycles, the whole function with one iteration takes
      10.0 cycles. Replacing the __first[pos] and __first[pos - 1] with
      __first[0] and __first[1] drops the function time to 7.53 cycles.
      
      2019-09-09  Antony Polukhin  <antoshkka@gmail.com>
      
      	* include/bits/charconv.h (__detail::__to_chars_10_impl): Replace
      	final offsets with constants.
      
      From-SVN: r275514
      Antony Polukhin committed
    • Improve constraints for std::span constructors · 27dada7d
      This patch simplifies the constraints on the constructors from arrays by
      removing the redundant checks that element_type and value_type are
      convertible to element_type. The incorrect uses of __adl_data in those
      constructors are removed as well (they should use std::data not
      std::ranges::data, and the former doesn't use ADL).
      
      The range/container constructors are now constrained to exclude all
      specializations of std::span, not just the current instantiation. The
      range constructor now also checks s subset of the contiguous_range
      requirements.
      
      All relevant constructor constraints now use the _Require helper in
      order to short circuit and avoid unnecessary instantiations after the
      first failed constraint.
      
      A new constructor supports initialization from different specializations
      of std::span<OtherType, OtherExtent>, as specified in the C++20 draft.
      
      	* include/bits/range_access.h (__adl_to_address): Remove.
      	* include/std/span (__is_base_derived_safe_convertible_v): Replace
      	with span::__is_compatible.
      	(__is_std_array_v): Replace with __is_std_array class template and
      	partial specializations.
      	(__is_std_array, __is_std_span): New class templates and partial
      	specializations.
      	(span::__is_compatible): New alias template for SFINAE constraints.
      	(span::span(element_type (&)[N])): Remove redundant constraints. Do
      	not use __adl_data to obtain a pointer.
      	(span::span(array<value_type, N>&)): Likewise.
      	(span::span(const array<value_type, N>&)): Likewise.
      	[_GLIBCXX_P1394] (span::iter_reference_t, span::iterator_t)
      	(span::iter_value_t, span::derived_from): New alias templates for
      	SFINAE constraints, until the equivalents are supported in <concepts>
      	and <iterator>.
      	[_GLIBCXX_P1394] (span::__is_compatible_iterator): New alias template
      	for SFINAE constraints.
      	[_GLIBCXX_P1394] (span::is_compatible_range): New class template for
      	SFINAE constraints.
      	[_GLIBCXX_P1394] (span::span(Range&&)): Improve constraints.
      	[_GLIBCXX_P1394] (span::span(ContiguousIterator, Sentinel)): Likewise.
      	Use std::to_address instead of __adl_to_address.
      	[_GLIBCXX_P1394] (span::span(ContiguousIterator, size_type)): Likewise.
      	[!_GLIBCXX_P1394] (span::__is_compatible_container): New alias
      	template for SFINAE constraints.
      	[!_GLIBCXX_P1394] (span::span(Container&))
      	(span::span(const Container&)): Improve constraints.
      	[!_GLIBCXX_P1394] (span::span(pointer, size_type))
      	(span::span(pointer, pointer)): Remove redundant cast of pointer.
      	(span(const span<OType, OExtent>&)): New constructor.
      
      From-SVN: r275513
      Jonathan Wakely committed
    • re PR target/87853 (_mm_cmpgt_epi8 broken with -funsigned-char) · ca47c398
      	PR target/87853
      	* config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi
      	instead of __v16qs.
      
      	* gcc.target/i386/pr87853.c: New test.
      
      From-SVN: r275508
      Jakub Jelinek committed
    • re PR target/91704 ([X86] Codegen for _mm256_cmpgt_epi8 is affected by -funsigned-char) · b245befc
      	PR target/91704
      	* config/i386/avxintrin.h (__v32qs): New typedef.
      	* config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs
      	instead of __v32qi.
      
      	* gcc.target/i386/pr91704.c: New test.
      
      From-SVN: r275507
      Jakub Jelinek committed
    • GCC port for eBPF · 91dfef96
      This patch series introduces a port of GCC to eBPF, which is a virtual
      machine that resides in the Linux kernel.  Initially intended for
      user-level packet capture and filtering, eBPF is nowadays generalized
      to serve as a general-purpose infrastructure also for non-networking
      purposes.
      
      The binutils support is already upstream.  See
      https://sourceware.org/ml/binutils/2019-05/msg00306.html.
      
      ChangeLog:
      
      	* MAINTAINERS: Add myself as the maintainer of the eBPF port.
      	Remove myself from Write After Approval section.
      	* configure.ac: Support for bpf-*-* targets.
      	* configure: Regenerate.
      
      contrib/ChangeLog:
      
      	* config-list.mk (LIST): Disable go in bpf-*-* targets.
      
      gcc/ChangeLog:
      
      	* doc/invoke.texi (Option Summary): Cover eBPF.
      	(eBPF Options): New section.
      	* doc/extend.texi (BPF Built-in Functions): Likewise.
      	(BPF Kernel Helpers): Likewise.
      	* config.gcc: Support for bpf-*-* targets.
      	* common/config/bpf/bpf-common.c: New file.
      	* config/bpf/t-bpf: Likewise.
      	* config/bpf/predicates.md: Likewise.
      	* config/bpf/constraints.md: Likewise.
      	* config/bpf/bpf.opt: Likewise.
      	* config/bpf/bpf.md: Likewise.
      	* config/bpf/bpf.h: Likewise.
      	* config/bpf/bpf.c: Likewise.
      	* config/bpf/bpf-protos.h: Likewise.
      	* config/bpf/bpf-opts.h: Likewise.
      	* config/bpf/bpf-helpers.h: Likewise.
      	* config/bpf/bpf-helpers.def: Likewise.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/builtins-config.h: eBPF doesn't support C99 standard
      	functions.
      	* gcc.c-torture/compile/20101217-1.c: Add a function prototype for
      	printf.
      	* gcc.c-torture/compile/20000211-1.c: Skip if target bpf-*-*.
      	* gcc.c-torture/compile/poor.c: Likewise.
      	* gcc.c-torture/compile/pr25311.c: Likewise.
      	* gcc.c-torture/compile/pr39928-1.c: Likewise.
      	* gcc.c-torture/compile/pr70061.c: Likewise.
      	* gcc.c-torture/compile/920501-7.c: Likewise.
      	* gcc.c-torture/compile/20000403-1.c: Likewise.
      	* gcc.c-torture/compile/20001226-1.c: Likewise.
      	* gcc.c-torture/compile/20030903-1.c: Likewise.
      	* gcc.c-torture/compile/20031125-1.c: Likewise.
      	* gcc.c-torture/compile/20040101-1.c: Likewise.
      	* gcc.c-torture/compile/20040317-2.c: Likewise.
      	* gcc.c-torture/compile/20040726-1.c: Likewise.
      	* gcc.c-torture/compile/20051216-1.c: Likewise.
      	* gcc.c-torture/compile/900313-1.c: Likewise.
      	* gcc.c-torture/compile/920625-1.c: Likewise.
      	* gcc.c-torture/compile/930421-1.c: Likewise.
      	* gcc.c-torture/compile/930623-1.c: Likewise.
      	* gcc.c-torture/compile/961004-1.c: Likewise.
      	* gcc.c-torture/compile/980504-1.c: Likewise.
      	* gcc.c-torture/compile/980816-1.c: Likewise.
      	* gcc.c-torture/compile/990625-1.c: Likewise.
      	* gcc.c-torture/compile/DFcmp.c: Likewise.
      	* gcc.c-torture/compile/HIcmp.c: Likewise.
      	* gcc.c-torture/compile/HIset.c: Likewise.
      	* gcc.c-torture/compile/QIcmp.c: Likewise.
      	* gcc.c-torture/compile/QIset.c: Likewise.
      	* gcc.c-torture/compile/SFset.c: Likewise.
      	* gcc.c-torture/compile/SIcmp.c: Likewise.
      	* gcc.c-torture/compile/SIset.c: Likewise.
      	* gcc.c-torture/compile/UHIcmp.c: Likewise.
      	* gcc.c-torture/compile/UQIcmp.c: Likewise.
      	* gcc.c-torture/compile/USIcmp.c: Likewise.
      	* gcc.c-torture/compile/consec.c: Likewise.
      	* gcc.c-torture/compile/limits-fndefn.c: Likewise.
      	* gcc.c-torture/compile/lll.c: Likewise.
      	* gcc.c-torture/compile/parms.c: Likewise.
      	* gcc.c-torture/compile/pass.c: Likewise.
      	* gcc.c-torture/compile/pp.c: Likewise.
      	* gcc.c-torture/compile/pr32399.c: Likewise.
      	* gcc.c-torture/compile/pr34091.c: Likewise.
      	* gcc.c-torture/compile/pr34688.c: Likewise.
      	* gcc.c-torture/compile/pr37258.c: Likewise.
      	* gcc.c-torture/compile/pr37327.c: Likewise.
      	* gcc.c-torture/compile/pr37381.c: Likewise.
      	* gcc.c-torture/compile/pr37669-2.c: Likewise.
      	* gcc.c-torture/compile/pr37669.c: Likewise.
      	* gcc.c-torture/compile/pr37742-3.c: Likewise.
      	* gcc.c-torture/compile/pr44063.c: Likewise.
      	* gcc.c-torture/compile/pr48596.c: Likewise.
      	* gcc.c-torture/compile/pr51856.c: Likewise.
      	* gcc.c-torture/compile/pr54428.c: Likewise.
      	* gcc.c-torture/compile/pr54713-1.c: Likewise.
      	* gcc.c-torture/compile/pr54713-2.c: Likewise.
      	* gcc.c-torture/compile/pr54713-3.c: Likewise.
      	* gcc.c-torture/compile/pr55921.c: Likewise.
      	* gcc.c-torture/compile/pr70240.c: Likewise.
      	* gcc.c-torture/compile/pr70355.c: Likewise.
      	* gcc.c-torture/compile/pr82052.c: Likewise.
      	* gcc.c-torture/compile/pr83487.c: Likewise.
      	* gcc.c-torture/compile/pr86122.c: Likewise.
      	* gcc.c-torture/compile/pret-arg.c: Likewise.
      	* gcc.c-torture/compile/regs-arg-size.c: Likewise.
      	* gcc.c-torture/compile/structret.c: Likewise.
      	* gcc.c-torture/compile/uuarg.c: Likewise.
      	* gcc.dg/20001009-1.c: Likewise.
      	* gcc.dg/20020418-1.c: Likewise.
      	* gcc.dg/20020426-2.c: Likewise.
      	* gcc.dg/20020430-1.c: Likewise.
      	* gcc.dg/20040306-1.c: Likewise.
      	* gcc.dg/20040622-2.c: Likewise.
      	* gcc.dg/20050603-2.c: Likewise.
      	* gcc.dg/20050629-1.c: Likewise.
      	* gcc.dg/20061026.c: Likewise.
      	* gcc.dg/Warray-bounds-3.c: Likewise.
      	* gcc.dg/Warray-bounds-30.c: Likewise.
      	* gcc.dg/Wframe-larger-than-2.c: Likewise.
      	* gcc.dg/Wframe-larger-than.c: Likewise.
      	* gcc.dg/Wrestrict-11.c: Likewise.
      	* gcc.c-torture/compile/20000804-1.c: Likewise.
      	* lib/target-supports.exp (check_effective_target_trampolines):
      	Adapt to eBPF.
      	(check_effective_target_indirect_jumps): Likewise.
      	(check_effective_target_nonlocal_goto): Likewise.
      	(check_effective_target_global_constructor): Likewise.
      	(check_effective_target_return_address): Likewise.
      	* gcc.target/bpf/bpf.exp: New file.
      	* gcc.target/bpf/builtin-load.c: Likewise.
      	* cc.target/bpf/constant-calls.c: Likewise.
      	* gcc.target/bpf/diag-funargs.c: Likewise.
      	* gcc.target/bpf/diag-funargs-2.c: Likewise.
      	* gcc.target/bpf/diag-funargs-3.c: Likewise.
      	* gcc.target/bpf/diag-indcalls.c: Likewise.
      	* gcc.target/bpf/helper-bind.c: Likewise.
      	* gcc.target/bpf/helper-bpf-redirect.c: Likewise.
      	* gcc.target/bpf/helper-clone-redirect.c: Likewise.
      	* gcc.target/bpf/helper-csum-diff.c: Likewise.
      	* gcc.target/bpf/helper-csum-update.c: Likewise.
      	* gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise.
      	* gcc.target/bpf/helper-fib-lookup.c: Likewise.
      	* gcc.target/bpf/helper-get-cgroup-classid.c: Likewise.
      	* gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
      	* gcc.target/bpf/helper-get-current-comm.c: Likewise.
      	* gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise.
      	* gcc.target/bpf/helper-get-current-task.c: Likewise.
      	* gcc.target/bpf/helper-get-current-uid-gid.c: Likewise.
      	* gcc.target/bpf/helper-get-hash-recalc.c: Likewise.
      	* gcc.target/bpf/helper-get-listener-sock.c: Likewise.
      	* gcc.target/bpf/helper-get-local-storage.c: Likewise.
      	* gcc.target/bpf/helper-get-numa-node-id.c: Likewise.
      	* gcc.target/bpf/helper-get-prandom-u32.c: Likewise.
      	* gcc.target/bpf/helper-get-route-realm.c: Likewise.
      	* gcc.target/bpf/helper-get-smp-processor-id.c: Likewise.
      	* gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
      	* gcc.target/bpf/helper-get-socket-uid.c: Likewise.
      	* gcc.target/bpf/helper-getsockopt.c: Likewise.
      	* gcc.target/bpf/helper-get-stack.c: Likewise.
      	* gcc.target/bpf/helper-get-stackid.c: Likewise.
      	* gcc.target/bpf/helper-ktime-get-ns.c: Likewise.
      	* gcc.target/bpf/helper-l3-csum-replace.c: Likewise.
      	* gcc.target/bpf/helper-l4-csum-replace.c: Likewise.
      	* gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
      	* gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
      	* gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
      	* gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
      	* gcc.target/bpf/helper-map-delete-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-lookup-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-peek-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-pop-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-push-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-update-elem.c: Likewise.
      	* gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
      	* gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
      	* gcc.target/bpf/helper-msg-pop-data.c: Likewise.
      	* gcc.target/bpf/helper-msg-pull-data.c: Likewise.
      	* gcc.target/bpf/helper-msg-push-data.c: Likewise.
      	* gcc.target/bpf/helper-msg-redirect-hash.c: Likewise.
      	* gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
      	* gcc.target/bpf/helper-override-return.c: Likewise.
      	* gcc.target/bpf/helper-perf-event-output.c: Likewise.
      	* gcc.target/bpf/helper-perf-event-read.c: Likewise.
      	* gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
      	* gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
      	* gcc.target/bpf/helper-probe-read.c: Likewise.
      	* gcc.target/bpf/helper-probe-read-str.c: Likewise.
      	* gcc.target/bpf/helper-probe-write-user.c: Likewise.
      	* gcc.target/bpf/helper-rc-keydown.c: Likewise.
      	* gcc.target/bpf/helper-rc-pointer-rel.c: Likewise.
      	* gcc.target/bpf/helper-rc-repeat.c: Likewise.
      	* gcc.target/bpf/helper-redirect-map.c: Likewise.
      	* gcc.target/bpf/helper-set-hash.c: Likewise.
      	* gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
      	* gcc.target/bpf/helper-setsockopt.c: Likewise.
      	* gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
      	* gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-head.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-proto.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-tail.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-type.c: Likewise.
      	* gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise.
      	* gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise.
      	* gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise.
      	* gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise.
      	* gcc.target/bpf/helper-skb-load-bytes.c: Likewise.
      	* gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise.
      	* gcc.target/bpf/helper-skb-pull-data.c: Likewise.
      	* gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise.
      	* gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise.
      	* gcc.target/bpf/helper-skb-store-bytes.c: Likewise.
      	* gcc.target/bpf/helper-skb-under-cgroup.c: Likewise.
      	* gcc.target/bpf/helper-skb-vlan-pop.c: Likewise.
      	* gcc.target/bpf/helper-skb-vlan-push.c: Likewise.
      	* gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise.
      	* gcc.target/bpf/helper-sk-fullsock.c: Likewise.
      	* gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
      	* gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
      	* gcc.target/bpf/helper-sk-redirect-hash.c: Likewise.
      	* gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
      	* gcc.target/bpf/helper-sk-release.c: Likewise.
      	* gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
      	* gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
      	* gcc.target/bpf/helper-sk-storage-get.c: Likewise.
      	* gcc.target/bpf/helper-sock-hash-update.c: Likewise.
      	* gcc.target/bpf/helper-sock-map-update.c: Likewise.
      	* gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise.
      	* gcc.target/bpf/helper-spin-lock.c: Likewise.
      	* gcc.target/bpf/helper-spin-unlock.c: Likewise.
      	* gcc.target/bpf/helper-strtol.c: Likewise.
      	* gcc.target/bpf/helper-strtoul.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
      	* gcc.target/bpf/helper-tail-call.c: Likewise.
      	* gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
      	* gcc.target/bpf/helper-tcp-sock.c: Likewise.
      	* gcc.target/bpf/helper-trace-printk.c: Likewise.
      	* gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
      	* gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
      	* gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise.
      	* gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
      	* gcc.target/bpf/sync-fetch-and-add.c: Likewise.
      
      libgcc/ChangeLog:
      
      	* config.host: Set cpu_type for bpf-*-* targets.
      	* config/bpf/t-bpf: Likewise.
      	* config/bpf/crtn.S: Likewise.
      	* config/bpf/crti.S: New file.
      
      From-SVN: r275506
      Jose E. Marchesi committed
    • testsuite: new require effective target indirect_calls · a5362c6a
          
      This patch adds a new dg_require_effective_target procedure to the
      testsuite infrastructure: indirect_calls.  This new function tells
      whether a target supports calls to non-constant call targets.
          
      This patch also annotates the tests in the gcc.c-torture testuite that
      require support for indirect calls.
          
          gcc/ChangeLog:
          
                  * doc/sourcebuild.texi (Effective-Target Keywords): Document
                  indirect_calls.
          
          gcc/testsuite/ChangeLog:
          
                  * lib/target-supports.exp (check_effective_target_indirect_calls):
                  New proc.
                  * gcc.c-torture/compile/20010102-1.c: Annotate with
                  dg-require-effective-target indirect_calls.
                  * gcc.c-torture/compile/20010107-1.c: Likewise.
                  * gcc.c-torture/compile/20011109-1.c: Likewise.
                  * gcc.c-torture/compile/20011218-1.c: Likewise.
                  * gcc.c-torture/compile/20011229-1.c: Likewise.
                  * gcc.c-torture/compile/20020129-1.c: Likewise.
                  * gcc.c-torture/compile/20020320-1.c: Likewise.
                  * gcc.c-torture/compile/20020706-1.c: Likewise.
                  * gcc.c-torture/compile/20020706-2.c: Likewise.
                  * gcc.c-torture/compile/20021205-1.c: Likewise.
                  * gcc.c-torture/compile/20030921-1.c: Likewise.
                  * gcc.c-torture/compile/20031023-1.c: Likewise.
                  * gcc.c-torture/compile/20031023-2.c: Likewise.
                  * gcc.c-torture/compile/20031023-3.c: Likewise.
                  * gcc.c-torture/compile/20031023-4.c: Likewise.
                  * gcc.c-torture/compile/20040614-1.c: Likewise.
                  * gcc.c-torture/compile/20040909-1.c: Likewise.
                  * gcc.c-torture/compile/20050122-1.c: Likewise.
                  * gcc.c-torture/compile/20050202-1.c: Likewise.
                  * gcc.c-torture/compile/20060208-1.c: Likewise.
                  * gcc.c-torture/compile/20081108-1.c: Likewise.
                  * gcc.c-torture/compile/20150327.c: Likewise.
                  * gcc.c-torture/compile/920428-2.c: Likewise.
                  * gcc.c-torture/compile/920928-5.c: Likewise.
                  * gcc.c-torture/compile/930117-1.c: Likewise.
                  * gcc.c-torture/compile/930607-1.c: Likewise.
                  * gcc.c-torture/compile/991213-2.c: Likewise.
                  * gcc.c-torture/compile/callind.c: Likewise.
                  * gcc.c-torture/compile/calls-void.c: Likewise.
                  * gcc.c-torture/compile/calls.c: Likewise.
                  * gcc.c-torture/compile/pr21840.c: Likewise.
                  * gcc.c-torture/compile/pr32139.c: Likewise.
                  * gcc.c-torture/compile/pr35607.c: Likewise.
                  * gcc.c-torture/compile/pr37433-1.c: Likewise.
                  * gcc.c-torture/compile/pr37433.c: Likewise.
                  * gcc.c-torture/compile/pr39941.c: Likewise.
                  * gcc.c-torture/compile/pr40080.c: Likewise.
                  * gcc.c-torture/compile/pr43635.c: Likewise.
                  * gcc.c-torture/compile/pr43791.c: Likewise.
                  * gcc.c-torture/compile/pr43845.c: Likewise.
                  * gcc.c-torture/compile/pr44043.c: Likewise.
                  * gcc.c-torture/compile/pr51694.c: Likewise.
                  * gcc.c-torture/compile/pr77754-2.c: Likewise.
                  * gcc.c-torture/compile/pr77754-3.c: Likewise.
                  * gcc.c-torture/compile/pr77754-4.c: Likewise.
                  * gcc.c-torture/compile/pr89663-2.c: Likewise.
                  * gcc.c-torture/compile/pta-1.c: Likewise.
                  * gcc.c-torture/compile/stack-check-1.c: Likewise.
                  * gcc.dg/Walloc-size-larger-than-18.c: Likewise.
      
      From-SVN: r275505
      Jose E. Marchesi committed
    • testsuite: annotate c-torture/compile tests with dg-require-stack-size · e9b8025b
          
      This patch annotates tests that make use of a significant a mount of
      stack space.  Embedded and other restricted targets may have problems
      compiling and running these tests.  Note that the annotations are in
      many cases not exact.
          
      testsuite/ChangeLog:
          
              * gcc.c-torture/compile/20000609-1.c: Annotate with
              dg-require-stack-size.
              * gcc.c-torture/compile/20000804-1.c: Likewise.
              * gcc.c-torture/compile/20020304-1.c: Likewise.
              * gcc.c-torture/compile/20020604-1.c: Likewise.
              * gcc.c-torture/compile/20021015-1.c: Likewise.
              * gcc.c-torture/compile/20050303-1.c: Likewise.
              * gcc.c-torture/compile/20060421-1.c: Likewise.
              * gcc.c-torture/compile/20071207-1.c: Likewise.
              * gcc.c-torture/compile/20080903-1.c: Likewise.
              * gcc.c-torture/compile/20121027-1.c: Likewise.
              * gcc.c-torture/compile/20151204.c: Likewise.
              * gcc.c-torture/compile/920501-12.c: Likewise.
              * gcc.c-torture/compile/920501-4.c: Likewise.
              * gcc.c-torture/compile/920723-1.c: Likewise.
              * gcc.c-torture/compile/921202-1.c: Likewise.
              * gcc.c-torture/compile/931003-1.c: Likewise.
              * gcc.c-torture/compile/931004-1.c: Likewise.
              * gcc.c-torture/compile/950719-1.c: Likewise.
              * gcc.c-torture/compile/951222-1.c: Likewise.
              * gcc.c-torture/compile/990517-1.c: Likewise.
              * gcc.c-torture/compile/bcopy.c: Likewise.
              * gcc.c-torture/compile/pr23929.c: Likewise.
              * gcc.c-torture/compile/pr25310.c: Likewise.
              * gcc.c-torture/compile/pr34458.c: Likewise.
              * gcc.c-torture/compile/pr39937.c: Likewise.
              * gcc.c-torture/compile/pr41181.c: Likewise.
              * gcc.c-torture/compile/pr41634.c: Likewise.
              * gcc.c-torture/compile/pr43415.c: Likewise.
              * gcc.c-torture/compile/pr43417.c: Likewise.
              * gcc.c-torture/compile/pr44788.c: Likewise.
              * gcc.c-torture/compile/sound.c: Likewise.
      
      From-SVN: r275504
      Jose E. Marchesi committed
    • opt-functions.awk: fix comparison of limit, begin and end · 4bc8aadf
         
      The function integer_range_info makes sure that, if provided, the
      initial value fills in the especified range.  However, it is necessary
      to convert the values to a numerical context before comparing, to make
      sure awk is using arithmetical order and not lexicographical order.
          
      gcc/ChangeLog:
          
            * opt-functions.awk (integer_range_info): Make sure values are in
            numeric context before operating with them.
      
      From-SVN: r275503
      Jose E. Marchesi committed
    • Update config.sub and config.guess. · b7b1f657
          
          * config.sub: Import upstream version 2019-06-30.
          * config.guess: Import upstream version 2019-07-24.
      
      From-SVN: r275502
      Jose E. Marchesi committed
    • Daily bump. · 108d64ad
      From-SVN: r275501
      GCC Administrator committed
  2. 08 Sep, 2019 2 commits
  3. 07 Sep, 2019 7 commits
  4. 06 Sep, 2019 17 commits
  5. 05 Sep, 2019 2 commits
    • RISC-V: Fix bad insn splits with paradoxical subregs. · 36ec3f57
      Shifting by more than the size of a SUBREG_REG doesn't work, so we either
      need to disable splits if an input is paradoxical, or else we need to
      generate a clean temporary for intermediate results.
      
      Jakub wrote the first version of this patch, so gets primary credit for it.
      
      	gcc/
      	PR target/91635
      	* config/riscv/riscv.md (zero_extendsidi2, zero_extendhi<GPR:mode>2,
      	extend<SHORT:mode><SUPERQI:mode>2): Don't split if
      	paradoxical_subreg_p (operands[0]).
      	(*lshrsi3_zero_extend_3+1, *lshrsi3_zero_extend_3+2): Add clobber and
      	use as intermediate value.
      
      	gcc/testsuite/
      	PR target/91635
      	* gcc.c-torture/execute/pr91635.c: New test.
      	* gcc.target/riscv/shift-shift-4.c: New test.
      	* gcc.target/riscv/shift-shift-5.c: New test.
      
      Co-Authored-By: Jim Wilson <jimw@sifive.com>
      
      From-SVN: r275444
      Jakub Jelinek committed
    • re PR fortran/91496 (!GCC$ directives error if mistyped or unknown) · 3c0f0265
      2019-09-05  Harald Anlauf  <anlauf@gmx.de>
      
      	PR fortran/91496
      	* parse.c (parse_executable): Improve error messages for
      	improperly placed pragmas not preceeding a loop.
      
      	PR fortran/91496
      	* gfortran.dg/directive_unroll_5.f90: Adjust error message.
      
      From-SVN: r275442
      Harald Anlauf committed