From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by sourceware.org (Postfix) with ESMTPS id 124583854179; Thu, 17 Aug 2023 17:40:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 124583854179 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-986d8332f50so1316166b.0; Thu, 17 Aug 2023 10:40:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692294035; x=1692898835; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=P69X67IO5YIsa/C+aC31wZc1DwNnWFtQtIr9SEvSwds=; b=qPq06nA3SXGKP4OCrecWZWX+oPhAtiMaZbb/lutooinSXX6rK5vXR7CcVE7y8Ng9rI LFVFdw8BVAzBsTKIFwmtSjXNxjHHTI+GHhZrHiw02REOP9Q8hmIZfh7/OqfB0P/bs94N uED8onppvhzJ11kX/n4/ygQJtlAINrYJNLtsBUc/p1LxWZUoEOyPhsFrgk9lMf8jx4N8 Og77wZcq3hXQTOEdbgsNzbhsynRvN9EMXu6JsRpRPBkB2lA3QhbQ8Cz234/viiyIwrXW L2HCzViMIy1+ZU7JVh7IMrDuO5+jMFwjrKzCaAxHw4Hd4J9JosTU9gtSG05JFAkQSRZr BKOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692294035; x=1692898835; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P69X67IO5YIsa/C+aC31wZc1DwNnWFtQtIr9SEvSwds=; b=DI1hBh4NO201lBkvBlRJaCHZoA6tQBeMJ/eBIYe8zSXxl+NVhwT+KCmWLQQ9R+PBBw fxshivAE7XOEDjvv9hSA36qYMH/FjvP3rVt1muDXg09zt5EilRYtsmA1Stc9HN2XNeZQ fjMFsbi/J7uD+B5Zcsljt7kQCRBNpRKX8B81fyfthPgj3wywqxMO3+SAB9thdcoXTufi cL/U+lXKPix5wbrAGx+okubmucqzAtnll3T5eG2Z77no/MkKFyKYMRLyg5HOn4Il9bmi HywxuyNGlAMtNyeAAVfMngIp7oWPuKxX46TCIHNprlrGvl0/XMUOgj5zLaIolDjhUelN 4w6A== X-Gm-Message-State: AOJu0YzPsLlKiSjl8YrtXpLk0N+OFXQFhIGTcRlLWD4ZPC+CIkjbLU1A dNQQhzf3Hp3ue+QLvX+oErg= X-Google-Smtp-Source: AGHT+IFMg5sskxg92fgsUG/kgx/5xdlpNKXExsaRHVGXLya7AZ1tnnva4KuvypPLkdaap6iGABOMvA== X-Received: by 2002:a17:906:5d:b0:99c:20f0:dec0 with SMTP id 29-20020a170906005d00b0099c20f0dec0mr103771ejg.43.1692294034542; Thu, 17 Aug 2023 10:40:34 -0700 (PDT) Received: from [10.34.1.57] ([89.207.171.102]) by smtp.gmail.com with ESMTPSA id l1-20020a1709060e0100b0099b6becb107sm9718eji.95.2023.08.17.10.40.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 17 Aug 2023 10:40:34 -0700 (PDT) Message-ID: <698fb340-2457-585f-f375-709491faf43e@gmail.com> Date: Thu, 17 Aug 2023 19:40:28 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: [PATCH] sso-string@gnu-versioned-namespace [PR83077] Content-Language: en-US To: Jonathan Wakely Cc: Jonathan Wakely , libstdc++ , gcc-patches References: <1dc681f4-41b7-d171-02ac-b0194617bdee@gmail.com> <91dc6383-6bff-ce6c-b24d-81cd2ab2dce8@gmail.com> From: =?UTF-8?Q?Fran=c3=a7ois_Dumont?= In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A,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: On 17/08/2023 19:22, Jonathan Wakely wrote: > On Sun, 13 Aug 2023 at 14:27, François Dumont via Libstdc++ > wrote: >> Here is the fixed patch tested in all 3 modes: >> >> - _GLIBCXX_USE_DUAL_ABI >> >> - !_GLIBCXX_USE_DUAL_ABI && !_GLIBCXX_USE_CXX11_ABI >> >> - !_GLIBCXX_USE_DUAL_ABI && _GLIBCXX_USE_CXX11_ABI >> >> I don't know what you have in mind for the change below but I wanted to >> let you know that I tried to put COW std::basic_string into a nested >> __cow namespace when _GLIBCXX_USE_CXX11_ABI. But it had more impact on >> string-inst.cc so I preferred the macro substitution approach. > I was thinking of implementing the necessary special members functions > of __cow_string directly, so they are ABI compatible with the COW > std::basic_string but don't actually reuse the code. That would mean > we don't need to compile and instantiate the whole COW string just to > use a few members from it. But that can be done later, the macro > approach seems OK for now. You'll see that when cow_string.h is included while _GLIBCXX_USE_CXX11_ABI == 1 then I am hiding a big part of the basic_string definition. Initially it was to avoid to have to include basic_string.tcc but it is also a lot of useless code indeed. > >> There are some test failing when !_GLIBCXX_USE_CXX11_ABI that are >> unrelated with my changes. I'll propose fixes in coming days. > Which tests? I run the entire testsuite with > -D_GLIBCXX_USE_CXX11_ABI=0 several times per day and I'm not seeing > failures. > > I'll review the patch ASAP, thanks for working on it. > So far the only issue I found are in the mode !_GLIBCXX_USE_DUAL_ABI && !_GLIBCXX_USE_CXX11_ABI. They are: 23_containers/unordered_map/96088.cc 23_containers/unordered_multimap/96088.cc 23_containers/unordered_multiset/96088.cc 23_containers/unordered_set/96088.cc ext/debug_allocator/check_new.cc ext/malloc_allocator/check_new.cc ext/malloc_allocator/deallocate_local.cc ext/new_allocator/deallocate_local.cc ext/pool_allocator/allocate_chunk.cc ext/throw_allocator/deallocate_local.cc but not sure I'll try to fix those in this context. François