From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com [IPv6:2607:f8b0:4864:20::830]) by sourceware.org (Postfix) with ESMTPS id 153853858D35 for ; Fri, 20 Oct 2023 18:32:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 153853858D35 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cs.berkeley.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=berkeley.edu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 153853858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::830 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697826769; cv=none; b=cfQHIbqPgbS1w36gjPqwliW1OwZqE5CK05+sxOT9qchcAnMPJ1nPNsiMKyA3u1kj/Ety4cX4JgbuG/t48jIm6JbFyrJnNHvfD56QZ5KpfY0KMHzQERI+GPYGnwTUtKFntjhEbuK9AsygdTcV/u7WDAKniEfL0HDLAAXRD1+nwZE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1697826769; c=relaxed/simple; bh=PX5tDCgFfQxGi44FNBwpSqyjbNFeD0ctQa1BvMm9pOE=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=n2eiWu5DJCJ6NGm2K868x2jI1PS7cr7WdeQWQHBLF7ayxfPC5zbFJmjRylMeceS4fHomz8MqdMSqI6bVf0t61k79ADzozAq7BkTXlUCvXeM+LA40ERuG9fOCPg2vM5FAuhwAcYofMzZNC1jtDR3Pfc1xGklUQuFUm+1QfAdh0/0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-qt1-x830.google.com with SMTP id d75a77b69052e-41cd4cc515fso6924591cf.1 for ; Fri, 20 Oct 2023 11:32:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.berkeley.edu; s=google; t=1697826766; x=1698431566; darn=gcc.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Sr1Lo1md0UDA6ZNDflnLOn/1H8RpL0pGB9C/O6NCVho=; b=UCUEY6Zqp+GZbr6QuGM8BIi1hVvJTT8wnyt4MQRoU22ZBXB5amgMcQGqrYirK8DdIo JMUETA9IXzXs6StHQTa+Y/d/OyEgz+AWislhF8GNzJgKeOgLSizUEXaaDKGa4Za3aeX+ Md/gJWQ16bcRt8BcYxy9/kgJyjfYbLWQpdTwIUIQLehdZluW8oYPWmEVygrPEwaJ85NT LQbiMxa1BMdbBCF4Ggbwpyj2nTFzKXgWbOq08jjSFlkShOUrBzHG8kfdw5NvK/3iY0az 7i1MVqFg2AUOZ+vNYbBTkKTv96YtCnOz8ZjxWVJ1WUbtbMXJ+viuyYGTBYG2a4OpdG1A Q4BQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697826766; x=1698431566; 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=Sr1Lo1md0UDA6ZNDflnLOn/1H8RpL0pGB9C/O6NCVho=; b=XRmCgULAqd5gfPdTZc9CUkk12MZbKbKN9To7DSfiq5UOYKAGMr7hh+fM3MClNW4I7D sk/Gu21xJX2N6a/uCsTDBbxUqz2+35Yyyj9B1RdarNSeCAPxBXwMRbghKqfmylgrJiHl ShNkMpmAMtXpzJ3VQ6M3zCzukW7VucSsu7H2HDEyt8Ru5BJwDeubZ4nvD7MSnUXWuRfc EFgJFy5Qd4OtgC98axOnDJ5RyQat4cneqDkDcbJtBIpSmIXVtCxW7QmNlUcdm5IrRqf7 arBuugm1wXJhwfKndYiaPwA1JKLx5BiAmImUF/NU7hyIUaH33K0ky3y4y2atc2HA6Hk7 HnFw== X-Gm-Message-State: AOJu0YxxYg05H4DDsIOEG1yNRTtWFPJ+qUv5h0qrvtFCZUPcIFIjuWMr q3Zl+HO2s03GI6wT6zEqNqVYVrMcw6YPzqpxiq99 X-Google-Smtp-Source: AGHT+IGZRJV4QehXZtfD8taIgmOz5vUcaS2Iy2IPP+FeioNepcKltHUILjDysIeBYjIvfmf8phHjLR6DTMUsT9MLpx8= X-Received: by 2002:ac8:5946:0:b0:41c:e009:6ad7 with SMTP id 6-20020ac85946000000b0041ce0096ad7mr1320791qtz.52.1697826765944; Fri, 20 Oct 2023 11:32:45 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Benjamin Brock Date: Fri, 20 Oct 2023 11:32:35 -0700 Message-ID: Subject: Re: [PATCH] libstdc++: Workaround for LLVM-61763 in ranges To: Jonathan Wakely Cc: gcc-patches , "libstdc++" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,GIT_PATCH_0,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,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: > I don't think this patch counts as legally significant, but if you contri= bute again in future you should be aware of https://gcc.gnu.org/contribute.= 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. > This should be a complete sentence, so capital letter and full stop. Fixed! --- 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/ran= ges 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>...> _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...>> 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, range_reference_t<_Wp>>> friend class adjacent_transform_view; +#endif public: using iterator_category =3D input_iterator_tag;