From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) by sourceware.org (Postfix) with ESMTPS id 755453858D3C for ; Thu, 29 Sep 2022 11:43:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 755453858D3C Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=acm.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-x82f.google.com with SMTP id gb14so571647qtb.3 for ; Thu, 29 Sep 2022 04:43:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:sender:from:to:cc:subject:date; bh=3q246OnYSdbRtL7Xslo9rsnxh6vfPyLYrCyWKGJE4Os=; b=Qm7ZmRK1DcOHVaf9prgFM2ctzCbW2nnVv4ASHiYGwEoqfq1oaEBMdO1z0tPQNEg8Gs xjBsylglWZ461ceIxFAtoniGte1uMDufEmS5x3tnF90AUcqVQW+xz+a90dUgWOs1t0qd neb5KsImsVHVPBu/QUvBkGiP73aevRD0O0xn0Ig6IvGQ5aPIjXUid3/m36ss4SxpR3yP T76Qd+A8KWINnumRMsvpcgpav2ub7X31dtNJTr1pJTv1jCuxPX77uQFPOGFHRHXyBCKO hNcKa9pY7m9DA0OgF/1w/envoxaL+8mW9UtTn7mCOWwK7eAE+lFqFqOhHyQMVAskrkJs 8nbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:sender:x-gm-message-state:from:to:cc:subject:date; bh=3q246OnYSdbRtL7Xslo9rsnxh6vfPyLYrCyWKGJE4Os=; b=MgW+fYi8T0Fisbnh2mC406AwRqSrsvWWPZP3kAKy5wQBe64UsfyR1cpQrPPGJYEIao ht6+gtXsR0YxIz5Osx11UmUIjnENuQVxGHn98KpHwyn7jtNkRrHCZoVXiurcpiY/3JLo HGcHyJF2yV6KOxvHA8PAKA+pOts0lcTAOdkzMOFPtkjda6y7qaB0a8Jtbjxw+aVATRDy LGdz2a5BOq9hM+EKjsvFk6qNvCVDlZlnPhATYTBFTFNDGA24HiPS+fkH0kWBdpFPA0RA bIvpQHMxCfQNaxS7BhCJN64oZIsghak8S1E9fM7zk/TzKnYqN6IHkRKpEg1xqY7XXVwj gAOQ== X-Gm-Message-State: ACrzQf3Nm0LpGvTTp0vqpE1vLGNtBPCbEkvdvCsJAdDVjHqPKyzCYv3M PPAMAEboO1QvrYrZeIl7Sec= X-Google-Smtp-Source: AMsMyM6NJdwHDc55ebF0vT1Pdfeq+l1PveEVt2xEQo2UtXAZB45Mb/yCf9KbgJS8H16wWr7F6BshEA== X-Received: by 2002:a05:622a:591:b0:35d:472e:7338 with SMTP id c17-20020a05622a059100b0035d472e7338mr1949677qtb.164.1664451820781; Thu, 29 Sep 2022 04:43:40 -0700 (PDT) Received: from ?IPV6:2620:10d:c0a3:1407:d655:7607:59b:b7ab? ([2620:10d:c091:500::4:6688]) by smtp.googlemail.com with ESMTPSA id t6-20020a37ea06000000b006cbbc3daaacsm5709196qkj.113.2022.09.29.04.43.39 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 29 Sep 2022 04:43:40 -0700 (PDT) Sender: Nathan Sidwell Content-Type: multipart/mixed; boundary="------------8F43C5G2BKCyly4ySYkR8AGt" Message-ID: <31defc3d-cc4f-f42f-8f7e-a2272998513e@acm.org> Date: Thu, 29 Sep 2022 07:43:38 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.0 Content-Language: en-US To: Patrick Palka Cc: GCC Patches From: Nathan Sidwell Subject: c++: import/export NTTP objects X-Spam-Status: No, score=-3038.8 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,GIT_PATCH_0,HEADER_FROM_DIFFERENT_DOMAINS,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: This is a multi-part message in MIME format. --------------8F43C5G2BKCyly4ySYkR8AGt Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit This adds smarts to the module machinery to handle NTTP object VAR_DECLs. Like typeinfo objects, these must be ignored in the symbol table, streamed specially and recreated on stream in. Patrick, thanks for the testcase, I don't know how to attribute that to you in the changelog anymore. nathan -- Nathan Sidwell --------------8F43C5G2BKCyly4ySYkR8AGt Content-Type: text/x-patch; charset=UTF-8; name="0001-c-import-export-NTTP-objects.patch" Content-Disposition: attachment; filename="0001-c-import-export-NTTP-objects.patch" Content-Transfer-Encoding: base64 RnJvbSBhMWY3Zjk1NDFjMmIyMGViNDQ3NTBiOWMxNWNkODMxYzYyZDY3ZjIxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gU2lkd2VsbCA8bmF0aGFuQGFjbS5vcmc+ CkRhdGU6IFdlZCwgMjggU2VwIDIwMjIgMDk6MjE6MTQgLTA3MDAKU3ViamVjdDogW1BBVENI XSBjKys6IGltcG9ydC9leHBvcnQgTlRUUCBvYmplY3RzCgpUaGlzIGFkZHMgc21hcnRzIHRv IHRoZSBtb2R1bGUgbWFjaGluZXJ5IHRvIGhhbmRsZSBOVFRQIG9iamVjdApWQVJfREVDTHMu ICBMaWtlIHR5cGVpbmZvIG9iamVjdHMsIHRoZXNlIG11c3QgYmUgaWdub3JlZCBpbiB0aGUg c3ltYm9sCnRhYmxlLCBzdHJlYW1lZCBzcGVjaWFsbHkgYW5kIHJlY3JlYXRlZCBvbiBzdHJl YW0gaW4uCgoJZ2NjL2NwLwoJUFIgYysrLzEwMDYxNgoJKiBtb2R1bGUuY2MgKGVudW0gdHJl ZV90YWcpOiBBZGQgdHRfbnR0cF92YXIuCgkodHJlZXNfb3V0OjpkZWNsX25vZGUpOiBIYW5k bGUgTlRUUCBvYmplY3RzLgoJKHRyZWVzX2luOjp0cmVlX25vZGUpOiBIYW5kbGUgdHRfbnR0 cF92YXIuCgkoZGVwc2V0OjpoYXNoOjphZGRfYmluZGluZ19lbnRyeSk6IFNraXAgTlRUUCBv YmplY3RzLgoKCWdjYy90ZXN0c3VpdGUvCglQUiBjKysvMTAwNjE2CgkqIGcrKy5kZy9tb2R1 bGVzLzEwMDYxNl9hLkg6IE5ldy4KCSogZysrLmRnL21vZHVsZXMvMTAwNjE2X2IuQzogTmV3 LgoJKiBnKysuZGcvbW9kdWxlcy8xMDA2MTZfYy5DOiBOZXcuCgkqIGcrKy5kZy9tb2R1bGVz LzEwMDYxNl9kLkM6IE5ldy4KLS0tCiBnY2MvY3AvbW9kdWxlLmNjICAgICAgICAgICAgICAg ICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrCiBnY2MvdGVzdHN1aXRl L2crKy5kZy9tb2R1bGVzLzEwMDYxNl9hLkggfCAgNSArKysrCiBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9tb2R1bGVzLzEwMDYxNl9iLkMgfCAgNyArKysrKwogZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvbW9kdWxlcy8xMDA2MTZfYy5DIHwgIDcgKysrKysKIGdjYy90ZXN0c3VpdGUvZysrLmRn L21vZHVsZXMvMTAwNjE2X2QuQyB8IDEwICsrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNjQg aW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZysrLmRn L21vZHVsZXMvMTAwNjE2X2EuSAogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUv ZysrLmRnL21vZHVsZXMvMTAwNjE2X2IuQwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0 c3VpdGUvZysrLmRnL21vZHVsZXMvMTAwNjE2X2MuQwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdj Yy90ZXN0c3VpdGUvZysrLmRnL21vZHVsZXMvMTAwNjE2X2QuQwoKZGlmZiAtLWdpdCBhL2dj Yy9jcC9tb2R1bGUuY2MgYi9nY2MvY3AvbW9kdWxlLmNjCmluZGV4IGQ5NjUwMTc5NDBhLi5j YmYzYTc3ZGUwMSAxMDA2NDQKLS0tIGEvZ2NjL2NwL21vZHVsZS5jYworKysgYi9nY2MvY3Av bW9kdWxlLmNjCkBAIC0yNzM3LDYgKzI3MzcsNyBAQCBlbnVtIHRyZWVfdGFnIHsKICAgdHRf dGluZm9fdmFyLAkJLyogVHlwZWluZm8gb2JqZWN0LiAqLwogICB0dF90aW5mb190eXBlZGVm LAkvKiBUeXBlaW5mbyB0eXBlZGVmLiAgKi8KICAgdHRfcHRybWVtX3R5cGUsCS8qIFBvaW50 ZXIgdG8gbWVtYmVyIHR5cGUuICAqLworICB0dF9udHRwX3ZhciwJCS8qIE5UVFBfT0JKRUNU IFZBUl9ERUNMLiAgKi8KIAogICB0dF9wYXJtLAkJLyogRnVuY3Rpb24gcGFyYW1ldGVyIG9y IHJlc3VsdC4gICovCiAgIHR0X2VudW1fdmFsdWUsCS8qIEFuIGVudW0gdmFsdWUuICAqLwpA QCAtODU0OCw2ICs4NTQ5LDIxIEBAIHRyZWVzX291dDo6ZGVjbF9ub2RlICh0cmVlIGRlY2ws IHdhbGtfa2luZCByZWYpCiAJICAgIH0KIAkgIHJldHVybiBmYWxzZTsKIAl9CisKKyAgICAg IGlmIChERUNMX05UVFBfT0JKRUNUX1AgKGRlY2wpKQorCXsKKwkgIC8qIEEgTlRUUCBwYXJt IG9iamVjdC4gICovCisJICBpZiAoc3RyZWFtaW5nX3AgKCkpCisJICAgIGkgKHR0X250dHBf dmFyKTsKKwkgIHRyZWVfbm9kZSAodHBhcm1fb2JqZWN0X2FyZ3VtZW50IChkZWNsKSk7CisJ ICB0cmVlX25vZGUgKERFQ0xfTkFNRSAoZGVjbCkpOworCSAgaW50IHRhZyA9IGluc2VydCAo ZGVjbCk7CisJICBpZiAoc3RyZWFtaW5nX3AgKCkpCisJICAgIGR1bXAgKGR1bXBlcjo6VFJF RSkKKwkgICAgICAmJiBkdW1wICgiV3JvdGUgbnR0cCBvYmplY3Q6JWQgJU4iLCB0YWcsIERF Q0xfTkFNRSAoZGVjbCkpOworCSAgcmV0dXJuIGZhbHNlOworCX0KKwogICAgICAgYnJlYWs7 CiAKICAgICBjYXNlIFRZUEVfREVDTDoKQEAgLTk2MjcsNiArOTY0MywyMSBAQCB0cmVlc19p bjo6dHJlZV9ub2RlIChib29sIGlzX3VzZSkKICAgICAgIH0KICAgICAgIGJyZWFrOwogCisg ICAgY2FzZSB0dF9udHRwX3ZhcjoKKyAgICAgIC8qIEFuIE5UVFAgb2JqZWN0LiAqLworICAg ICAgeworCXRyZWUgaW5pdCA9IHRyZWVfbm9kZSAoKTsKKwl0cmVlIG5hbWUgPSB0cmVlX25v ZGUgKCk7CisJaWYgKCFnZXRfb3ZlcnJ1biAoKSkKKwkgIHsKKwkgICAgcmVzID0gZ2V0X3Rl bXBsYXRlX3Bhcm1fb2JqZWN0IChpbml0LCBuYW1lKTsKKwkgICAgaW50IHRhZyA9IGluc2Vy dCAocmVzKTsKKwkgICAgZHVtcCAoZHVtcGVyOjpUUkVFKQorCSAgICAgICYmIGR1bXAgKCJD cmVhdGVkIG50dHAgb2JqZWN0OiVkICVOIiwgdGFnLCBuYW1lKTsKKwkgIH0KKyAgICAgIH0K KyAgICAgIGJyZWFrOworCiAgICAgY2FzZSB0dF9lbnVtX3ZhbHVlOgogICAgICAgLyogQW4g ZW51bSBjb25zdCB2YWx1ZS4gICovCiAgICAgICB7CkBAIC0xMjc2MCw2ICsxMjc5MSwxMCBA QCBkZXBzZXQ6Omhhc2g6OmFkZF9iaW5kaW5nX2VudGl0eSAodHJlZSBkZWNsLCBXTUJfRmxh Z3MgZmxhZ3MsIHZvaWQgKmRhdGFfKQogCS8qIElnbm9yZSBUSU5GTyB0aGluZ3MuICAqLwog CXJldHVybiBmYWxzZTsKIAorICAgICAgaWYgKFRSRUVfQ09ERSAoZGVjbCkgPT0gVkFSX0RF Q0wgJiYgREVDTF9OVFRQX09CSkVDVF9QIChkZWNsKSkKKwkvKiBJZ25vcmUgTlRUUCBvYmpl Y3RzLiAgKi8KKwlyZXR1cm4gZmFsc2U7CisKICAgICAgIGlmICghKGZsYWdzICYgV01CX1Vz aW5nKSAmJiBDUF9ERUNMX0NPTlRFWFQgKGRlY2wpICE9IGRhdGEtPm5zKQogCXsKIAkgIC8q IEEgdXNpbmcgdGhhdCBsb3N0IGl0cyB3cmFwcGVyIG9yIGFuIHVuc2NvcGVkIGVudW0KZGlm ZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL21vZHVsZXMvMTAwNjE2X2EuSCBiL2dj Yy90ZXN0c3VpdGUvZysrLmRnL21vZHVsZXMvMTAwNjE2X2EuSApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMC4uOWJjNDJiY2MwNWIKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2MvdGVzdHN1aXRlL2crKy5kZy9tb2R1bGVzLzEwMDYxNl9hLkgKQEAgLTAsMCArMSw1 IEBACisvLyB7IGRnLWFkZGl0aW9uYWwtb3B0aW9ucyB7LXN0ZD1jKysyMCAtZm1vZHVsZS1o ZWFkZXJ9IH0KKy8vIHsgZGctbW9kdWxlLWNtaSB7fSB9CisKK3RlbXBsYXRlPGF1dG8+IHN0 cnVjdCBDIHsgfTsKK3N0cnVjdCBBIHsgfTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUv ZysrLmRnL21vZHVsZXMvMTAwNjE2X2IuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL21vZHVs ZXMvMTAwNjE2X2IuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4u NDE2ZmQ1MjRiMmMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9t b2R1bGVzLzEwMDYxNl9iLkMKQEAgLTAsMCArMSw3IEBACisvLyB7IGRnLWFkZGl0aW9uYWwt b3B0aW9ucyB7LXN0ZD1jKysyMCAtZm1vZHVsZXMtdHN9IH0KKworZXhwb3J0IG1vZHVsZSBw cjEwMDYxNl9iOworLy8geyBkZy1tb2R1bGUtY21pIHByMTAwNjE2X2IgfQorCitpbXBvcnQg IjEwMDYxNl9hLkgiOworZXhwb3J0IEM8QXt9PiBjMTsKZGlmZiAtLWdpdCBhL2djYy90ZXN0 c3VpdGUvZysrLmRnL21vZHVsZXMvMTAwNjE2X2MuQyBiL2djYy90ZXN0c3VpdGUvZysrLmRn L21vZHVsZXMvMTAwNjE2X2MuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMC4uNWM3OWY1ZWVmNjgKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2cr Ky5kZy9tb2R1bGVzLzEwMDYxNl9jLkMKQEAgLTAsMCArMSw3IEBACisvLyB7IGRnLWFkZGl0 aW9uYWwtb3B0aW9ucyB7LXN0ZD1jKysyMCAtZm1vZHVsZXMtdHN9IH0KKworZXhwb3J0IG1v ZHVsZSBwcjEwMDYxNl9jOworLy8geyBkZy1tb2R1bGUtY21pIHByMTAwNjE2X2MgfQorCitp bXBvcnQgIjEwMDYxNl9hLkgiOworZXhwb3J0IEM8QXt9PiBjMjsKZGlmZiAtLWdpdCBhL2dj Yy90ZXN0c3VpdGUvZysrLmRnL21vZHVsZXMvMTAwNjE2X2QuQyBiL2djYy90ZXN0c3VpdGUv ZysrLmRnL21vZHVsZXMvMTAwNjE2X2QuQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uZDk1MTVkYjExNDAKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1 aXRlL2crKy5kZy9tb2R1bGVzLzEwMDYxNl9kLkMKQEAgLTAsMCArMSwxMCBAQAorLy8geyBk Zy1hZGRpdGlvbmFsLW9wdGlvbnMgey1zdGQ9YysrMjAgLWZtb2R1bGVzLXRzfSB9CisKK2lt cG9ydCAiMTAwNjE2X2EuSCI7CitpbXBvcnQgcHIxMDA2MTZfYjsKK2ltcG9ydCBwcjEwMDYx Nl9jOworCitDPEF7fT4gYzA7Cit1c2luZyB0eXBlID0gZGVjbHR5cGUoYzApOwordXNpbmcg dHlwZSA9IGRlY2x0eXBlKGMxKTsKK3VzaW5nIHR5cGUgPSBkZWNsdHlwZShjMik7IC8vIGJv Z3VzIGVycm9yOiB0eXBlcyBvZiBjMSBhbmQgYzIgZG9uJ3QgbWF0Y2gKLS0gCjIuMzAuMgoK --------------8F43C5G2BKCyly4ySYkR8AGt--