From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id C9692385828E for ; Sat, 21 Oct 2023 11:16:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C9692385828E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C9692385828E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697887006; cv=none; b=bcvppvEkPWjQcl5RN7RfAvCK5gSZdEIOhVJOHqHGRkYomQspa9tGIwX6jGeBg2DsBY+g8dnJxgIP/+x3qSJK8aJRTLtzi2lq66YqXr4nuGYqTQCTRKNXliFL+KJ8pHV8Is8eBeR/UG6e9pRQVWTK2MHFkvV8O0Tpx1knE9DeZEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697887006; c=relaxed/simple; bh=+FiGFzrPbxgpSA6h4uq4RdwYApxVQ8sS26F+JMWG0ec=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=NlbjzCQzXLLiN5r0/xd5mByHa7Lo3Zw/d0FQXLXXB/5IeZbZ5nJxsNuhsmAGzRG1SIYr7ZG9vzqZWTsYAq6YK3sM86xs/GR0hB2gRytLD+DGfIGUCChxCErL3vbbNHmObp+n6RoWyuRqRgsuuzwbL80/8GVp1D3RZZZWw9ouxQw= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1697887002; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HsZpZNj7aJdFCFROEDja27JiTgo2aoi0F5gexPDUefQ=; b=G+C2RraSAJtcFwoWIQgGVcfrI7JmToWxqrzk2Iwz/D/YJ4cOAqhLaoJaKilYEgBdlWu1is Rg+X7dgDLbxG3qr5b5EWNEne2cQFaWL+sm4ZQSSGvQFHWIWQNagTuMC6jYFick7pE86oNX 3gnukP90ICUB2brYxcqcoGMEzU5uW8E= Received: from mail-lj1-f198.google.com (mail-lj1-f198.google.com [209.85.208.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-568-K3j1jMXyNzWA1C_yVizEWA-1; Sat, 21 Oct 2023 07:16:24 -0400 X-MC-Unique: K3j1jMXyNzWA1C_yVizEWA-1 Received: by mail-lj1-f198.google.com with SMTP id 38308e7fff4ca-2c563a2a4f0so8956481fa.2 for ; Sat, 21 Oct 2023 04:16:23 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697886982; x=1698491782; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=HsZpZNj7aJdFCFROEDja27JiTgo2aoi0F5gexPDUefQ=; b=rteoLySANa03hRl5nEyWSfFnBJmpdul+hgI/+seSOMM23zJ198gW/x1O8yrEVFqauA 7P9juQK7dMy0JZNm8cie9mHAFpD+PxytcPwyAb8KNZmWCDksTCL2oQEkjQDNM8OjN6h5 ElKQgCOz1tytxqxlq2tMc4KaVYbNQbTyeNgq+94FhUNBcLHxOjfWzZO8a+m5OpE88owC Qpzle9yzLhaWBpJjfcJmIbv9M8LHGrzE7wfOAbGsiFnYPNbwriS671YdjN0vw0hoKTQ8 5IcboDP1y3Ra2cimo1wYnn9FPilXRCS6ChUOoKokMlL+KNKEazbIDgxeuvQ7fmaLVgia 7kgw== X-Gm-Message-State: AOJu0YztQY1pGcfsgpQxGNgbH9j+yN38ki5ooBPYAjx7UVo7b30rT24Y UQdwoHG8CFrPs6ussOZJ/haZjqF1sndEXTLqt3XuLlfXy14k5DWGL+29BiBD9KobARq7HhqwPsc cfu+ZZiVlHwjB40EsYW3A0DUW4C2dzI4= X-Received: by 2002:a2e:a374:0:b0:2c5:175f:6466 with SMTP id i20-20020a2ea374000000b002c5175f6466mr3221021ljn.34.1697886982631; Sat, 21 Oct 2023 04:16:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHhaNuTWWYY3liPpd+rNGQqmZ9ozrbKBBFvNOhGhAi9q++3YP0s97Pcf9rC58fBstjd6HMXPk4NkZ6Ap/a79vg= X-Received: by 2002:a2e:a374:0:b0:2c5:175f:6466 with SMTP id i20-20020a2ea374000000b002c5175f6466mr3221007ljn.34.1697886982318; Sat, 21 Oct 2023 04:16:22 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Sat, 21 Oct 2023 12:16:11 +0100 Message-ID: Subject: Re: [PATCH v2] libstdc++: Workaround for LLVM-61763 in ranges To: Benjamin Acker Brock Cc: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org, jwakely.gcc@gmail.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Mon, 16 Oct 2023 at 04:56, Benjamin Acker Brock wro= te: > > > I don't think this patch counts as legally significant, but if you cont= ribute again in future you should be aware of https://gcc.gnu.org/contribut= e.html#legal and either complete the copyright assignment paperwork, or add= a DCO sign-off to the commit message. > > Thanks for the reminder. I just added a sign-off. Thanks. > > This should be a complete sentence, so capital letter and full stop. > > Fixed! I actually adjusted the ChangeLog further, to name the modified components: * include/std/ranges (zip_view, adjacent_view): Implement workaround for LLVM-61763. This is the usual convention. Pushed to trunk now, thanks again for the fix! > --- > > Signed-off-by: Benjamin Brock > > libstdc++-v3/ChangeLog: > > * include/std/ranges: Implement workaround for LLVM-61763 in > zip_view and adjacency_view. > > --- > > diff --git a/libstdc++-v3/include/std/ranges b/libstdc++-v3/include/std/r= anges > index 1d529a886be..7893e3a84c9 100644 > --- a/libstdc++-v3/include/std/ranges > +++ b/libstdc++-v3/include/std/ranges > @@ -4632,6 +4632,9 @@ namespace views::__adaptor > class zip_view<_Vs...>::_Iterator > : public __detail::__zip_view_iter_cat<_Const, _Vs...> > { > +#ifdef __clang__ // LLVM-61763 workaround > + public: > +#endif > __detail::__tuple_or_pair_t _Vs>>...> _M_current; > > constexpr explicit > @@ -4652,11 +4655,13 @@ namespace views::__adaptor > return input_iterator_tag{}; > } > > +#ifndef __clang__ // LLVM-61763 workaround > template > requires (view<_Ws> && ...) && (sizeof...(_Ws) > 0) && is_object_v= <_Fp> > && regular_invocable<_Fp&, range_reference_t<_Ws>...> > && std::__detail::__can_reference range_reference_t<_Ws>...>> > friend class zip_transform_view; > +#endif > > public: > // iterator_category defined in __zip_view_iter_cat > @@ -5327,6 +5332,9 @@ namespace views::__adaptor > template > class adjacent_view<_Vp, _Nm>::_Iterator > { > +#ifdef __clang__ // LLVM-61763 workaround > + public: > +#endif > using _Base =3D __detail::__maybe_const_t<_Const, _Vp>; > array, _Nm> _M_current =3D array= , _Nm>(); > > @@ -5367,12 +5375,14 @@ namespace views::__adaptor > > friend class adjacent_view; > > +#ifndef __clang__ // LLVM-61763 workaround > template > requires view<_Wp> && (_Mm > 0) && is_object_v<_Fp> > && regular_invocable<__detail::__unarize<_Fp&, _Mm>, > range_reference_t<_Wp>> > && std::__detail::__can_reference _Mm>, > > range_reference_t<_Wp>>> > friend class adjacent_transform_view; > +#endif > > public: > using iterator_category =3D input_iterator_tag; >