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.129.124]) by sourceware.org (Postfix) with ESMTPS id 932053858425 for ; Mon, 17 Jan 2022 10:45:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 932053858425 Received: from mail-yb1-f197.google.com (mail-yb1-f197.google.com [209.85.219.197]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-275-tUO0Tp_3OKCZBh51XXsBrA-1; Mon, 17 Jan 2022 05:45:41 -0500 X-MC-Unique: tUO0Tp_3OKCZBh51XXsBrA-1 Received: by mail-yb1-f197.google.com with SMTP id y4-20020a5b0f44000000b00611862e546dso32163126ybr.7 for ; Mon, 17 Jan 2022 02:45:41 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=/MYe4GQjDhD8XMxbGkRkfGBxcPahm5+l5LWFcehyOiY=; b=EFf9+dSjm8eFAiGVvFm0oFrUGIlaHaeA1sx41jk4BewnG78XEI/naZiEaf7XTV5ue9 +dSOHdzLt6ImoP5ltybyBgldLMANUGY7gISI7/mUHGOoeC6WvXy9LpRWH9mMfEmm1qhc NtSUlxUJw6optAX3aLPbJeLeeqMv/pnFW2x/jDWWuiz3OEOjjgTGY6TkqiiG7gWa0R5A C025a1+8OIpX7rE6aBSMSGbXceaoQzUNYRfTw1c4YD4oVbr0frkJXF4SzbsPHeYB3hXD I4OIaXhOUCPLiQgM3DilN+zEeU3+YDgyaknJHItNZNe8zWaJm8ARPfaBpIYmolub3eEP Nfww== X-Gm-Message-State: AOAM530tAjzychvpu93WdieBUzn1pWr391892+76inXop6gJarmkNiig 2zgm7yXrv+FrpntWSBM3dGAUu/TjgcyO2KL0g6rIDLDz9APMAY/UK7QfIb9rYv8KLckElQbhM8X 05YJB7gApA55UAnyt/kKfXJviJy0r2y8= X-Received: by 2002:a05:6902:702:: with SMTP id k2mr26856618ybt.66.1642416340918; Mon, 17 Jan 2022 02:45:40 -0800 (PST) X-Google-Smtp-Source: ABdhPJx//dsxsiZn0IzJpjX5kJVXpBMDp86TfVGD5od/PQnN3ZB/EUHtZEgzEU9/Ido1giuuqz1Wn6cm/rMNNi4oVk0= X-Received: by 2002:a05:6902:702:: with SMTP id k2mr26856608ybt.66.1642416340740; Mon, 17 Jan 2022 02:45:40 -0800 (PST) MIME-Version: 1.0 References: <20220116180652.3694791-1-ppalka@redhat.com> <20220116180652.3694791-2-ppalka@redhat.com> In-Reply-To: <20220116180652.3694791-2-ppalka@redhat.com> From: Jonathan Wakely Date: Mon, 17 Jan 2022 10:45:29 +0000 Message-ID: Subject: Re: [PATCH 2/6] libstdc++: Import the fast_float library To: Patrick Palka Cc: gcc Patches , "libstdc++" X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-7.1 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, HTML_MESSAGE, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, 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 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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: Mon, 17 Jan 2022 10:45:47 -0000 On Sun, 16 Jan 2022 at 18:13, Patrick Palka via Libstdc++ < libstdc++@gcc.gnu.org> wrote: > We're going to use the fast_float library in our (compiled-in) > floating-point std::from_chars implementation for faster and more > portable parsing of binary32/64 decimal strings. > > The single file fast_float.h is an amalgamation of the entire library, > which can be (re)generated with the command > > python3 ./script/amalgamate.py --license=MIT \ > > $GCC_SRC/libstdc++-v3/c++17/fast_float/fast_float.h > Please mention that the script is in the fast_float repo (so people don't look for it in our repo). Please mention in the commit log that the code has a GPL-compatible licence. > > [1]: https://github.com/fastfloat/fast_float > > libstdc++-v3/ChangeLog: > > * src/c++17/fast_float/LOCAL_PATCHES: New file. > * src/c++17/fast_float/MERGE: New file. > * src/c++17/fast_float/README.fd: New file, copied from the > fast_float library sources. > * src/c++17/fast_float/fast_float.h: New file, an amalgamation > of the fast_float library. > > Signed-off-by: Patrick Palka > This project is great. The licence is compatible, and the licence text and copyright notices are preserved in the code being imported. The entire license text is present in the header, so there is no need for a separate licence file. The symbols that will be added to libstdc++ are not uglified, but the header is included inside an unnamed namespace, so we will not define any non-reserved symbols in libstdc++.a (and they aren't exported from libstdc++.so anyway). OK for trunk.