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 3755E3858C2C for ; Thu, 28 Apr 2022 09:35:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3755E3858C2C Received: from mail-yw1-f200.google.com (mail-yw1-f200.google.com [209.85.128.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-219-VvLH_bY6MaK_DIq9kuDAkg-1; Thu, 28 Apr 2022 05:35:29 -0400 X-MC-Unique: VvLH_bY6MaK_DIq9kuDAkg-1 Received: by mail-yw1-f200.google.com with SMTP id 00721157ae682-2f16f3a7c34so41278887b3.17 for ; Thu, 28 Apr 2022 02:35:29 -0700 (PDT) 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=i0KsEEdNWxpB32prMvSj54sERRS4U0zjTXjolzE5s4U=; b=M1e1a/6MJa7t9QiJe3aQJgnT+oWqi1v7qOYB2nkc+vEoqsiCSRLWEStFS9YEr06aWq iB656wpNxSkvtuMEVcibKHaO/LQAC8BJU52ZKg5QE+WenOjfpukIeWx/2KBlhx/EpsNx t3Izs02ca51ojT3zGdyM3OkndZdCssOJ2436cvRdCN4aFV6Lo679ayo3ggJO69Z0jnee wMv57ma6aA/96MqgX1dscfayHHKJnPO9bKezkMlMkDciPeeWVFkWG7kf6twDLWtmx1Kw mpNeLmaLiO94qm9C9Vi8IaSP+P+xfxejC8PzwCMqNLGS33i44QXmUs8Xa6DtfdWKmTTe knUw== X-Gm-Message-State: AOAM533EKB6h2W83hyBr0jelTs5wqjQqMW1Ul9JbdazBRcmrWa6I9xB6 zbqASMy2oMQsJFuElra9PLcoNdBuoVCjYzniduy2gyQyeijuefXuWDCy4i2Cju/GnY5tDLEwFXT cTi0FYHdVpkMvAqmW3HwdTsDmSIBpyeQ= X-Received: by 2002:a25:858a:0:b0:648:dfcd:ac60 with SMTP id x10-20020a25858a000000b00648dfcdac60mr5676548ybk.320.1651138528654; Thu, 28 Apr 2022 02:35:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwC23A+R33WIxogH9BucWeMqDU44amKKod5duZcRxtvNCn8mqCGv1wjTrzlJEZSHOklEb0XhHLWkU+h992kn5k= X-Received: by 2002:a25:858a:0:b0:648:dfcd:ac60 with SMTP id x10-20020a25858a000000b00648dfcdac60mr5676539ybk.320.1651138528464; Thu, 28 Apr 2022 02:35:28 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Thu, 28 Apr 2022 10:35:16 +0100 Message-ID: Subject: Re: [PATCH][_GLIBCXX_INLINE_VERSION] Fix std::random_device definition 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: multipart/mixed; boundary="00000000000077043205ddb3a59e" X-Spam-Status: No, score=-13.3 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP autolearn=unavailable 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: Thu, 28 Apr 2022 09:35:34 -0000 --00000000000077043205ddb3a59e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 28 Apr 2022 at 05:56, Fran=C3=A7ois Dumont via Libstdc++ wrote: > > Hi > > Still time for this fix for gcc 12 ? What needs fixing? std::random_device is already declared in the versioned namespace in : namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION ... /** * A standard interface to a platform-specific non-deterministic * random number generator (if any are available). */ class random_device { So that means the definitions of its member functions will be exported as std::__8::random_device::* already, the macros are not needed in the src/*/*.cc files. So it seems to me that the only "problem" is a redundant line in config/abi/pre/gnu-versioned-namespace.ver. That line has no effect, and can be removed. I've pushed the attached patch instead. > > If so I'll make sure to run tests quickly, especially the abi.exp > one to confirm that the cleanup in gnu-versioned-namespace.ver do not > need to be replaced by the same in __8 namespace. > > libstdc++: [_GLIBCXX_INLINE_VERSION] Fix std::random_device definition > > Definition shall be put in _GLIBCXX_BEGIN_VERSION_NAMESPACE/ > _GLIBCXX_END_VERSION_NAMESPACE like the declaration. > > libstdc++-v3/ChangeLog > > * src/c++11/cow-string-inst.cc: Put random_device member definitions > in versioned namespace. > * src/c++11/random.cc: Likewise. > * config/abi/pre/gnu-versioned-namespace.ver: Remove std::random_dev= ice > symbols. > > Fran=C3=A7ois --00000000000077043205ddb3a59e Content-Type: text/plain; charset="UTF-8"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l2it8hzt0 Y29tbWl0IGYzOWZjYWZiYzBkMmM0OTU5M2RkODM1MWI4N2NmNDNkYTkyMjc5NTMKQXV0aG9yOiBG cmFuw6dvaXMgRHVtb250IDxmZHVtb250QGdjYy5nbnUub3JnPgpEYXRlOiAgIFRodSBBcHIgMjgg MTA6MDE6MTQgMjAyMgoKICAgIGxpYnN0ZGMrKzogUmVtb3ZlIHJlZHVuZGFudCBsaW5lIGluIHZl cnNpb25lZCBuYW1lc3BhY2UgbGlua2VyIHNjcmlwdAogICAgCiAgICBUaGlzIGRvZXNuJ3QgbWF0 Y2ggYW55dGhpbmcuCiAgICAKICAgIGxpYnN0ZGMrKy12My9DaGFuZ2VMb2c6CiAgICAKICAgICAg ICAgICAgKiBjb25maWcvYWJpL3ByZS9nbnUtdmVyc2lvbmVkLW5hbWVzcGFjZS52ZXI6IFJlbW92 ZQogICAgICAgICAgICBzdGQ6OnJhbmRvbV9kZXZpY2U6OiogcGF0dGVybi4KCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvY29uZmlnL2FiaS9wcmUvZ251LXZlcnNpb25lZC1uYW1lc3BhY2UudmVy IGIvbGlic3RkYysrLXYzL2NvbmZpZy9hYmkvcHJlL2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZl cgppbmRleCBlOTUyMGE2NDIxZS4uYjM3MTk5ZWNlNzIgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12 My9jb25maWcvYWJpL3ByZS9nbnUtdmVyc2lvbmVkLW5hbWVzcGFjZS52ZXIKKysrIGIvbGlic3Rk YysrLXYzL2NvbmZpZy9hYmkvcHJlL2dudS12ZXJzaW9uZWQtbmFtZXNwYWNlLnZlcgpAQCAtMjgs NyArMjgsNiBAQCBHTElCQ1hYXzguMCB7CiAgICAgewogICAgICAgc3RkOjoqOwogICAgICAgc3Rk OjpfXzg6Oio7Ci0gICAgICBzdGQ6OnJhbmRvbV9kZXZpY2U6OioKICAgICB9OwogCiAgICAgIyBv cGVyYXRvciBuZXcoc2l6ZV90KQo= --00000000000077043205ddb3a59e--