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 ESMTP id 1E5263858435 for ; Sat, 28 Aug 2021 10:50:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1E5263858435 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-28-3TUbZ-H0PxWvnVOrCw90nw-1; Sat, 28 Aug 2021 06:50:09 -0400 X-MC-Unique: 3TUbZ-H0PxWvnVOrCw90nw-1 Received: by mail-wm1-f72.google.com with SMTP id v2-20020a7bcb420000b02902e6b108fcf1so7154328wmj.8 for ; Sat, 28 Aug 2021 03:50:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=0ipYEoE8T8oAfg0KvmHAxIclER6DqoY5AFjDZ3W6DJA=; b=tqjgSF7+nS0W5CyKuS8s3ITaNOYvr21NKKXYC3ENod7i4Ky4Tf4F3eGUF7xslm7nsq 8+Uf4c73twzm+5B3ykyReqrRxHN74QzbDjWybILL8saCwSqXENAQGdJIMqNgHgX55A8Z Ek2sFF1ND7IWe67EKIvR1xPjA/D9GjFDOJ0TQZWo4SgdRQj4UKP3Gf08cAW2BgC+Inr4 FNsdrkjFoiM4tMfNsbfRXRwt6o6tbQhlv3d+Rm3rQ7ma+trcAXh2gjrZ7j4s78O8Az0J NJMroOP+gX8O/52kmRaje08a7egtwoBKBzXBzGNf2H6qy+WQQQi659TwGUN0PmWOP1G1 6Kzg== X-Gm-Message-State: AOAM531joyKCVoPdnwr+6QP41HOeA+6srohzNgeu1qNbiRB0HBcRK3C8 F3VZpaEPNYeRkBHpLKaxI9pztMapIl7JcjeVnT0Ch5h46eQxnfxhz2jsSLYWBdEnq5XzSZoz6+w JuFPsD1mtpiF82XHXJiklgvKx/X47pv4= X-Received: by 2002:a5d:5452:: with SMTP id w18mr15391271wrv.221.1630147808269; Sat, 28 Aug 2021 03:50:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwuHsO9HStaOIZEXceArym0FzumbMaA6HQrOl96Mb3Zm8e/LhS+vcy1e1uQRUvKnwzyeeepxTycSrxDcf6cLtI= X-Received: by 2002:a5d:5452:: with SMTP id w18mr15391260wrv.221.1630147808065; Sat, 28 Aug 2021 03:50:08 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Sat, 28 Aug 2021 11:49:57 +0100 Message-ID: Subject: Re: [PATCH] Fix inline versioned namespace bootstrap To: =?UTF-8?Q?Fran=C3=A7ois_Dumont?= Cc: "libstdc++@gcc.gnu.org" , gcc-patches 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=-6.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libstdc++@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++ mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2021 10:50:12 -0000 On Sat, 28 Aug 2021 at 10:26, Jonathan Wakely wrote: > > On Fri, 27 Aug 2021 at 22:17, Jonathan Wakely wrote: > > > > On Fri, 27 Aug 2021 at 21:58, Fran=C3=A7ois Dumont via Libstdc++ > > wrote: > > > > > > Since std::allocator is not specialized anymore in > > > _GLIBCXX_INLINE_VERSION mode _ExtPtr_allocator specialization d= o > > > not compile > > > > > > because std::allocator is incomplete. > > > > That doesn't look right ... it should be complete. This suggests there > > is a deeper problem, which I'll look into. > > This is the correct fix: > > --- a/libstdc++-v3/include/bits/memoryfwd.h > +++ b/libstdc++-v3/include/bits/memoryfwd.h > @@ -63,8 +63,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > template > class allocator; > > +#if ! _GLIBCXX_INLINE_VERSION > template<> > class allocator; > +#endif > > #if __cplusplus >=3D 201103L > /// Declare uses_allocator so it can be specialized in `` etc. Actually, the allocator specialization is still needed for pre-C++20 with the versioned namespace, and that means there's the same trivial default ctor ABI concern for the versioned namespace. I'm testing a fix now, but it might not be committed until I'm back at work on Tuesday.