From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23041 invoked by alias); 20 Feb 2018 13:53:12 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 23017 invoked by uid 89); 20 Feb 2018 13:53:11 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.1 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=257743 X-HELO: mail-wr0-f174.google.com Received: from mail-wr0-f174.google.com (HELO mail-wr0-f174.google.com) (209.85.128.174) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 20 Feb 2018 13:53:09 +0000 Received: by mail-wr0-f174.google.com with SMTP id l43so14615611wrc.2 for ; Tue, 20 Feb 2018 05:53:08 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=iK28mrcLdJJc24n9HXEmmAC8+PSHXh+kCPS+fhhNbGo=; b=W0gOeQ7BECwxf/HRdJdRfWzMJhN7TVAXVScuOqHy2Io0ggu9HiyXen6Zem/y/dHL+q 45I3l+OxC1pMRmFCNhssVQphELSVNbHuMFPIIid2ZQUYQQT1fRKQqO5pjDbqFHl7c6y+ LC8Hm2OhqPn94XKV7eaJBz9WLjTDKlvP1M0NuclEDACANUM9IlyPYAmoRJXz+t6GP1nz 9Tj/kCF1HCNvqiaNt3R5X2NtEN02B/hsq+fSbLE/ODtVdaPy/GS0v4IqM1ZbCAF+y3fo 80OtkNOeEnsOY3R3v32NJjmt+wy1bhsGc0WIPBXsGIZPUSZ7hbBx4ZoY498sLoWA24GI TqLA== X-Gm-Message-State: APf1xPDvV+y3V8JN9d9sXpW6v3s0RpNwShqLprgW0WnybsUrx1VnMk6d GrmzQeVIbGZNchs+shBELIzsls/1AUSoZRhot8FW4isb X-Google-Smtp-Source: AH8x227XB3mi7t2vDSjyAiDCFh3GDkwBCMrv3pzQcH0KJ+YGkGaawa3fXKBBxxmrKwnpy3pavLCNvhYcbFie0WprNXE= X-Received: by 10.80.244.178 with SMTP id s47mr451333edm.106.1519134786684; Tue, 20 Feb 2018 05:53:06 -0800 (PST) MIME-Version: 1.0 Received: by 10.80.144.132 with HTTP; Tue, 20 Feb 2018 05:53:05 -0800 (PST) From: Ian Lance Taylor Date: Tue, 20 Feb 2018 13:53:00 -0000 Message-ID: Subject: Go patch committed: Look through aliases for type compatibility To: gcc-patches , gofrontend-dev@googlegroups.com Content-Type: multipart/mixed; boundary="001a114c0bc053bd3a0565a52180" X-SW-Source: 2018-02/txt/msg01166.txt.bz2 --001a114c0bc053bd3a0565a52180 Content-Type: text/plain; charset="UTF-8" Content-length: 410 In Go, aliases are supposed to be identical to the type being aliased, so questions about type compatibility need to always ignore aliases, except for error messages involving the type name. This patch implements that. This test case for this is https://golang.org/cl/94995. This fixes https://golang.org/issue/23912. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian --001a114c0bc053bd3a0565a52180 Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jdvpmiil0 Content-length: 4026 SW5kZXg6IGdjYy9nby9nb2Zyb250ZW5kL01FUkdFCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGdjYy9nby9nb2Zyb250ZW5kL01FUkdFCShyZXZpc2lv biAyNTc3NDMpCisrKyBnY2MvZ28vZ29mcm9udGVuZC9NRVJHRQkod29ya2lu ZyBjb3B5KQpAQCAtMSw0ICsxLDQgQEAKLWNlZjM5MzRmYmM2M2Y1ZTEyMWFi YjhmODhkMzc5OTk2MWFjOTViNTkKKzQ1OWE4YTk0ZTA0YTE5YmRlNzE3M2Vm N2NmMmRiMzY5YzJlNjJlMmQKIAogVGhlIGZpcnN0IGxpbmUgb2YgdGhpcyBm aWxlIGhvbGRzIHRoZSBnaXQgcmV2aXNpb24gbnVtYmVyIG9mIHRoZSBsYXN0 CiBtZXJnZSBkb25lIGZyb20gdGhlIGdvZnJvbnRlbmQgcmVwb3NpdG9yeS4K SW5kZXg6IGdjYy9nby9nb2Zyb250ZW5kL3R5cGVzLmNjCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGdjYy9nby9nb2Zyb250ZW5kL3R5cGVzLmNjCShy ZXZpc2lvbiAyNTc1NDApCisrKyBnY2MvZ28vZ29mcm9udGVuZC90eXBlcy5j Ywkod29ya2luZyBjb3B5KQpAQCAtNTk3LDEwICs1OTcsMTAgQEAgVHlwZTo6 YXJlX2NvbXBhdGlibGVfZm9yX2NvbXBhcmlzb24oYm9vbAogCSAgcmV0dXJu IGZhbHNlOwogCX0KIAotICAgICAgaWYgKHQxLT5uYW1lZF90eXBlKCkgIT0g TlVMTCkKLQlyZXR1cm4gdDEtPm5hbWVkX3R5cGUoKS0+bmFtZWRfdHlwZV9p c19jb21wYXJhYmxlKHJlYXNvbik7Ci0gICAgICBlbHNlIGlmICh0Mi0+bmFt ZWRfdHlwZSgpICE9IE5VTEwpCi0JcmV0dXJuIHQyLT5uYW1lZF90eXBlKCkt Pm5hbWVkX3R5cGVfaXNfY29tcGFyYWJsZShyZWFzb24pOworICAgICAgaWYg KHQxLT51bmFsaWFzKCktPm5hbWVkX3R5cGUoKSAhPSBOVUxMKQorCXJldHVy biB0MS0+dW5hbGlhcygpLT5uYW1lZF90eXBlKCktPm5hbWVkX3R5cGVfaXNf Y29tcGFyYWJsZShyZWFzb24pOworICAgICAgZWxzZSBpZiAodDItPnVuYWxp YXMoKS0+bmFtZWRfdHlwZSgpICE9IE5VTEwpCisJcmV0dXJuIHQyLT51bmFs aWFzKCktPm5hbWVkX3R5cGUoKS0+bmFtZWRfdHlwZV9pc19jb21wYXJhYmxl KHJlYXNvbik7CiAgICAgICBlbHNlIGlmICh0MS0+c3RydWN0X3R5cGUoKSAh PSBOVUxMKQogCXsKIAkgIGlmICh0MS0+c3RydWN0X3R5cGUoKS0+aXNfc3Ry dWN0X2luY29tcGFyYWJsZSgpKQpAQCAtNjc4LDYgKzY3OCwxMiBAQCBUeXBl OjphcmVfYXNzaWduYWJsZShjb25zdCBUeXBlKiBsaHMsIGNvCiAgIGlmIChU eXBlOjphcmVfaWRlbnRpY2FsKGxocywgcmhzLCB0cnVlLCByZWFzb24pKQog ICAgIHJldHVybiB0cnVlOwogCisgIC8vIElnbm9yZSBhbGlhc2VzLCBleGNl cHQgZm9yIGVycm9yIG1lc3NhZ2VzLgorICBjb25zdCBUeXBlKiBsaHNfb3Jp ZyA9IGxoczsKKyAgY29uc3QgVHlwZSogcmhzX29yaWcgPSByaHM7CisgIGxo cyA9IGxocy0+dW5hbGlhcygpOworICByaHMgPSByaHMtPnVuYWxpYXMoKTsK KwogICAvLyBUaGUgdHlwZXMgYXJlIGFzc2lnbmFibGUgaWYgdGhleSBoYXZl IGlkZW50aWNhbCB1bmRlcmx5aW5nIHR5cGVzCiAgIC8vIGFuZCBlaXRoZXIg TEhTIG9yIFJIUyBpcyBub3QgYSBuYW1lZCB0eXBlLgogICBpZiAoKChsaHMt Pm5hbWVkX3R5cGUoKSAhPSBOVUxMICYmIHJocy0+bmFtZWRfdHlwZSgpID09 IE5VTEwpCkBAIC03NDAsMTUgKzc0NiwxNiBAQCBUeXBlOjphcmVfYXNzaWdu YWJsZShjb25zdCBUeXBlKiBsaHMsIGNvCiAgICAgewogICAgICAgaWYgKHJo cy0+aW50ZXJmYWNlX3R5cGUoKSAhPSBOVUxMKQogCXJlYXNvbi0+YXNzaWdu KF8oIm5lZWQgZXhwbGljaXQgY29udmVyc2lvbiIpKTsKLSAgICAgIGVsc2Ug aWYgKGxocy0+bmFtZWRfdHlwZSgpICE9IE5VTEwgJiYgcmhzLT5uYW1lZF90 eXBlKCkgIT0gTlVMTCkKKyAgICAgIGVsc2UgaWYgKGxoc19vcmlnLT5uYW1l ZF90eXBlKCkgIT0gTlVMTAorCSAgICAgICAmJiByaHNfb3JpZy0+bmFtZWRf dHlwZSgpICE9IE5VTEwpCiAJewotCSAgc2l6ZV90IGxlbiA9IChsaHMtPm5h bWVkX3R5cGUoKS0+bmFtZSgpLmxlbmd0aCgpCi0JCQkrIHJocy0+bmFtZWRf dHlwZSgpLT5uYW1lKCkubGVuZ3RoKCkKKwkgIHNpemVfdCBsZW4gPSAobGhz X29yaWctPm5hbWVkX3R5cGUoKS0+bmFtZSgpLmxlbmd0aCgpCisJCQkrIHJo c19vcmlnLT5uYW1lZF90eXBlKCktPm5hbWUoKS5sZW5ndGgoKQogCQkJKyAx MDApOwogCSAgY2hhciogYnVmID0gbmV3IGNoYXJbbGVuXTsKIAkgIHNucHJp bnRmKGJ1ZiwgbGVuLCBfKCJjYW5ub3QgdXNlIHR5cGUgJXMgYXMgdHlwZSAl cyIpLAotCQkgICByaHMtPm5hbWVkX3R5cGUoKS0+bWVzc2FnZV9uYW1lKCku Y19zdHIoKSwKLQkJICAgbGhzLT5uYW1lZF90eXBlKCktPm1lc3NhZ2VfbmFt ZSgpLmNfc3RyKCkpOworCQkgICByaHNfb3JpZy0+bmFtZWRfdHlwZSgpLT5t ZXNzYWdlX25hbWUoKS5jX3N0cigpLAorCQkgICBsaHNfb3JpZy0+bmFtZWRf dHlwZSgpLT5tZXNzYWdlX25hbWUoKS5jX3N0cigpKTsKIAkgIHJlYXNvbi0+ YXNzaWduKGJ1Zik7CiAJICBkZWxldGVbXSBidWY7CiAJfQpAQCAtNzY4LDYg Kzc3NSwxMCBAQCBUeXBlOjphcmVfY29udmVydGlibGUoY29uc3QgVHlwZSog bGhzLCBjCiAgIGlmIChUeXBlOjphcmVfYXNzaWduYWJsZShsaHMsIHJocywg cmVhc29uKSkKICAgICByZXR1cm4gdHJ1ZTsKIAorICAvLyBJZ25vcmUgYWxp YXNlcy4KKyAgbGhzID0gbGhzLT51bmFsaWFzKCk7CisgIHJocyA9IHJocy0+ dW5hbGlhcygpOworCiAgIC8vIEEgcG9pbnRlciB0byBhIHJlZ3VsYXIgdHlw ZSBtYXkgbm90IGJlIGNvbnZlcnRlZCB0byBhIHBvaW50ZXIgdG8KICAgLy8g YSB0eXBlIHRoYXQgbWF5IG5vdCBsaXZlIGluIHRoZSBoZWFwLCBleGNlcHQg d2hlbiBjb252ZXJ0aW5nIGZyb20KICAgLy8gdW5zYWZlLlBvaW50ZXIuCg== --001a114c0bc053bd3a0565a52180--