From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115236 invoked by alias); 9 Aug 2016 22:03: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 114511 invoked by uid 89); 9 Aug 2016 22:03:11 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.8 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=VAR_DECL, cptreeh, defer, cp-tree.h X-HELO: mail-oi0-f50.google.com Received: from mail-oi0-f50.google.com (HELO mail-oi0-f50.google.com) (209.85.218.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Tue, 09 Aug 2016 22:03:09 +0000 Received: by mail-oi0-f50.google.com with SMTP id f189so36166232oig.3 for ; Tue, 09 Aug 2016 15:03:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Xg42aWHEGMBoFcMwtJ2mycW41PZmj3R6yxBeXf/rEiA=; b=imsttDXGlOfEtxphi7PlD3JnfLCPg26klgsThYeJ7u/623XYWzx6ceMLQoNx6E9il9 fT1hGHfGLrD9k/TileXc73tW+wK2unyesomzrTqZvnhzCScsRM1eCqb/uZPjDZvspeuw 2oyX9to1Psl/F8zvTnum3sKUX/9a0do18R6wswYgyouOlUoutkWap7ebN/mM0QAXOW0c C+EQaQdPd1+dratKkXCyRrlTzqW1qUFDELxucCEr7zALYa8pLMEJdm0e3ts0O/oDOhUa T3/Ehr1JmMILjsjD2OnNcHRn8n5EW5WZdb9LUsS9hjP4dGdIoNk8N009NEC3/rpO/YXm O7FQ== X-Gm-Message-State: AEkoousgTgeuVmLoQuTiepEKRyyNnTup3ye1FYXn+tz8KvUbLEOFKxnjEwfVlyXVW+lkNW0HPhGomaH7uuaah/YM X-Received: by 10.202.56.130 with SMTP id f124mr315045oia.82.1470780186646; Tue, 09 Aug 2016 15:03:06 -0700 (PDT) MIME-Version: 1.0 Received: by 10.182.105.169 with HTTP; Tue, 9 Aug 2016 15:02:45 -0700 (PDT) From: Jason Merrill Date: Tue, 09 Aug 2016 22:03:00 -0000 Message-ID: Subject: C++ PATCH for c++/68703 (dependent vector length) To: gcc-patches List Content-Type: multipart/mixed; boundary=001a113cdb7692234e0539aab220 X-IsSubscribed: yes X-SW-Source: 2016-08/txt/msg00766.txt.bz2 --001a113cdb7692234e0539aab220 Content-Type: text/plain; charset=UTF-8 Content-length: 269 When we defer dependent attributes, we need to take that into account for determining whether something is dependent. Furthermore, such an attribute means that the TREE_TYPE is incomplete, so we shouldn't use it at all. Tested x86_64-pc-linux-gnu, applying to trunk. --001a113cdb7692234e0539aab220 Content-Type: text/plain; charset=US-ASCII; name="68703.diff" Content-Disposition: attachment; filename="68703.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iro0hm4v0 Content-length: 7991 Y29tbWl0IDkzMTU1NWRjN2FiMDgxZWE3YWYxZTRiNTcwMjU2ZDVlOTcyOWMx OWYKQXV0aG9yOiBKYXNvbiBNZXJyaWxsIDxqYXNvbkByZWRoYXQuY29tPgpE YXRlOiAgIFR1ZSBBdWcgOSAxNzowMjo1NyAyMDE2IC0wNDAwCgogICAgCVBS IGMrKy82ODcwMyAtIGJvZ3VzIGVycm9yIHdpdGggZGVwZW5kZW50IHZlY3Rv ciBsZW5ndGgKICAgIAogICAgZ2NjL2MtZmFtaWx5LwogICAgCSogYy1jb21t b24uYyAoY19jb21tb25fYXR0cmlidXRlX3RhYmxlKTogdmVjdG9yX3NpemUg YWZmZWN0cyB0eXBlCiAgICAJaWRlbnRpdHkuCiAgICBnY2MvY3AvCiAgICAJ KiBkZWNsMi5jIChhbnlfZGVwZW5kZW50X3R5cGVfYXR0cmlidXRlc19wKTog TmV3LgogICAgCSogcHQuYyAoZGVwZW5kZW50X3R5cGVfcF9yLCB0eXBlX2Rl cGVuZGVudF9leHByZXNzaW9uX3ApOiBDaGVjayBpdC4KICAgIAkqIHNlbWFu dGljcy5jIChmaW5pc2hfaWRfZXhwcmVzc2lvbik6IENoZWNrIGl0LgogICAg CSogdHlwZWNrLmMgKGZpbmlzaF9jbGFzc19tZW1iZXJfYWNjZXNzX2V4cHIp OiBDaGVjayBpdC4KCmRpZmYgLS1naXQgYS9nY2MvYy1mYW1pbHkvYy1jb21t b24uYyBiL2djYy9jLWZhbWlseS9jLWNvbW1vbi5jCmluZGV4IDU2OWYwMDAu LjdmZDg0ZWUgMTAwNjQ0Ci0tLSBhL2djYy9jLWZhbWlseS9jLWNvbW1vbi5j CisrKyBiL2djYy9jLWZhbWlseS9jLWNvbW1vbi5jCkBAIC03NTQsNyArNzU0 LDcgQEAgY29uc3Qgc3RydWN0IGF0dHJpYnV0ZV9zcGVjIGNfY29tbW9uX2F0 dHJpYnV0ZV90YWJsZVtdID0KICAgeyAiZGVwcmVjYXRlZCIsICAgICAgICAg ICAgIDAsIDEsIGZhbHNlLCBmYWxzZSwgZmFsc2UsCiAJCQkgICAgICBoYW5k bGVfZGVwcmVjYXRlZF9hdHRyaWJ1dGUsIGZhbHNlIH0sCiAgIHsgInZlY3Rv cl9zaXplIiwJICAgICAgMSwgMSwgZmFsc2UsIHRydWUsIGZhbHNlLAotCQkJ ICAgICAgaGFuZGxlX3ZlY3Rvcl9zaXplX2F0dHJpYnV0ZSwgZmFsc2UgfSwK KwkJCSAgICAgIGhhbmRsZV92ZWN0b3Jfc2l6ZV9hdHRyaWJ1dGUsIHRydWUg fSwKICAgeyAidmlzaWJpbGl0eSIsCSAgICAgIDEsIDEsIGZhbHNlLCBmYWxz ZSwgZmFsc2UsCiAJCQkgICAgICBoYW5kbGVfdmlzaWJpbGl0eV9hdHRyaWJ1 dGUsIGZhbHNlIH0sCiAgIHsgInRsc19tb2RlbCIsCSAgICAgIDEsIDEsIHRy dWUsICBmYWxzZSwgZmFsc2UsCmRpZmYgLS1naXQgYS9nY2MvY3AvY3AtdHJl ZS5oIGIvZ2NjL2NwL2NwLXRyZWUuaAppbmRleCBmMzI2MTNjLi5mOThiMWM0 IDEwMDY0NAotLS0gYS9nY2MvY3AvY3AtdHJlZS5oCisrKyBiL2djYy9jcC9j cC10cmVlLmgKQEAgLTU4NTIsNiArNTg1Miw3IEBAIGV4dGVybiB0cmVlIGdy b2tmaWVsZCAoY29uc3QgY3BfZGVjbGFyYXRvciAqLCBjcF9kZWNsX3NwZWNp Zmllcl9zZXEgKiwKIAkJICAgICAgIHRyZWUsIGJvb2wsIHRyZWUsIHRyZWUp OwogZXh0ZXJuIHRyZWUgZ3Jva2JpdGZpZWxkIChjb25zdCBjcF9kZWNsYXJh dG9yICosIGNwX2RlY2xfc3BlY2lmaWVyX3NlcSAqLAogCQkJICB0cmVlLCB0 cmVlKTsKK2V4dGVybiBib29sIGFueV9kZXBlbmRlbnRfdHlwZV9hdHRyaWJ1 dGVzX3AJKHRyZWUpOwogZXh0ZXJuIHRyZWUgY3BfcmVjb25zdHJ1Y3RfY29t cGxleF90eXBlCQkodHJlZSwgdHJlZSk7CiBleHRlcm4gYm9vbCBhdHRyaWJ1 dGVzX25hbWluZ190eXBlZGVmX29rCSh0cmVlKTsKIGV4dGVybiB2b2lkIGNw bHVzX2RlY2xfYXR0cmlidXRlcwkJKHRyZWUgKiwgdHJlZSwgaW50KTsKZGlm ZiAtLWdpdCBhL2djYy9jcC9kZWNsMi5jIGIvZ2NjL2NwL2RlY2wyLmMKaW5k ZXggMWRhYTlmNS4uNTViYjk4NyAxMDA2NDQKLS0tIGEvZ2NjL2NwL2RlY2wy LmMKKysrIGIvZ2NjL2NwL2RlY2wyLmMKQEAgLTEzMDUsNiArMTMwNSwyMiBA QCBzYXZlX3RlbXBsYXRlX2F0dHJpYnV0ZXMgKHRyZWUgKmF0dHJfcCwgdHJl ZSAqZGVjbF9wKQogICAgIH0KIH0KIAorLyogVHJ1ZSBpZiBBVFRSUyBjb250 YWlucyBhbnkgZGVwZW5kZW50IGF0dHJpYnV0ZXMgdGhhdCBhZmZlY3QgdHlw ZQorICAgaWRlbnRpdHkuICAqLworCitib29sCithbnlfZGVwZW5kZW50X3R5 cGVfYXR0cmlidXRlc19wICh0cmVlIGF0dHJzKQoreworICBmb3IgKHRyZWUg YSA9IGF0dHJzOyBhOyBhID0gVFJFRV9DSEFJTiAoYSkpCisgICAgaWYgKEFU VFJfSVNfREVQRU5ERU5UIChhKSkKKyAgICAgIHsKKwljb25zdCBhdHRyaWJ1 dGVfc3BlYyAqYXMgPSBsb29rdXBfYXR0cmlidXRlX3NwZWMgKFRSRUVfUFVS UE9TRSAoYSkpOworCWlmIChhcyAmJiBhcy0+YWZmZWN0c190eXBlX2lkZW50 aXR5KQorCSAgcmV0dXJuIHRydWU7CisgICAgICB9CisgIHJldHVybiBmYWxz ZTsKK30KKwogLyogUmV0dXJuIHRydWUgaWZmIEFUVFJTIGFyZSBhY2NlcHRh YmxlIGF0dHJpYnV0ZXMgdG8gYmUgYXBwbGllZCBpbi1wbGFjZQogICAgdG8g YSB0eXBlZGVmIHdoaWNoIGdpdmVzIGEgcHJldmlvdXNseSB1bm5hbWVkIGNs YXNzIG9yIGVudW0gYSBuYW1lIGZvcgogICAgbGlua2FnZSBwdXJwb3Nlcy4g ICovCmRpZmYgLS1naXQgYS9nY2MvY3AvcHQuYyBiL2djYy9jcC9wdC5jCmlu ZGV4IDM4ODQwODIuLjI2Mzg1NjQgMTAwNjQ0Ci0tLSBhL2djYy9jcC9wdC5j CisrKyBiL2djYy9jcC9wdC5jCkBAIC0yMjY3Myw2ICsyMjY3Myw5IEBAIGRl cGVuZGVudF90eXBlX3BfciAodHJlZSB0eXBlKQogICBpZiAoVFJFRV9DT0RF ICh0eXBlKSA9PSBUWVBFX1BBQ0tfRVhQQU5TSU9OKQogICAgIHJldHVybiB0 cnVlOwogCisgIGlmIChhbnlfZGVwZW5kZW50X3R5cGVfYXR0cmlidXRlc19w IChUWVBFX0FUVFJJQlVURVMgKHR5cGUpKSkKKyAgICByZXR1cm4gdHJ1ZTsK KwogICAvKiBUaGUgc3RhbmRhcmQgZG9lcyBub3Qgc3BlY2lmaWNhbGx5IG1l bnRpb24gdHlwZXMgdGhhdCBhcmUgbG9jYWwKICAgICAgdG8gdGVtcGxhdGUg ZnVuY3Rpb25zIG9yIGxvY2FsIGNsYXNzZXMsIGJ1dCB0aGV5IHNob3VsZCBi ZQogICAgICBjb25zaWRlcmVkIGRlcGVuZGVudCB0b28uICBGb3IgZXhhbXBs ZToKQEAgLTIzMjI1LDYgKzIzMjI4LDEyIEBAIHR5cGVfZGVwZW5kZW50X2V4 cHJlc3Npb25fcCAodHJlZSBleHByZXNzaW9uKQogCiAgIGdjY19hc3NlcnQg KFRSRUVfQ09ERSAoZXhwcmVzc2lvbikgIT0gVFlQRV9ERUNMKTsKIAorICAv KiBEZXBlbmRlbnQgdHlwZSBhdHRyaWJ1dGVzIG1pZ2h0IG5vdCBoYXZlIG1h ZGUgaXQgZnJvbSB0aGUgZGVjbCB0bworICAgICB0aGUgdHlwZSB5ZXQuICAq LworICBpZiAoREVDTF9QIChleHByZXNzaW9uKQorICAgICAgJiYgYW55X2Rl cGVuZGVudF90eXBlX2F0dHJpYnV0ZXNfcCAoREVDTF9BVFRSSUJVVEVTIChl eHByZXNzaW9uKSkpCisgICAgcmV0dXJuIHRydWU7CisKICAgcmV0dXJuIChk ZXBlbmRlbnRfdHlwZV9wIChUUkVFX1RZUEUgKGV4cHJlc3Npb24pKSk7CiB9 CiAKZGlmZiAtLWdpdCBhL2djYy9jcC9zZW1hbnRpY3MuYyBiL2djYy9jcC9z ZW1hbnRpY3MuYwppbmRleCA0YmZmZTZkLi5iZmZkZGRiIDEwMDY0NAotLS0g YS9nY2MvY3Avc2VtYW50aWNzLmMKKysrIGIvZ2NjL2NwL3NlbWFudGljcy5j CkBAIC0zNTQ4LDYgKzM1NDgsMTIgQEAgZmluaXNoX2lkX2V4cHJlc3Npb24g KHRyZWUgaWRfZXhwcmVzc2lvbiwKIAkgcmVzb2x2ZSB0aGUgbmFtZSBhdCBp bnN0YW50aWF0aW9uIHRpbWUuICAqLwogICAgICAgaWYgKGRlcGVuZGVudF9w KQogCXsKKwkgIGlmIChERUNMX1AgKGRlY2wpCisJICAgICAgJiYgYW55X2Rl cGVuZGVudF90eXBlX2F0dHJpYnV0ZXNfcCAoREVDTF9BVFRSSUJVVEVTIChk ZWNsKSkpCisJICAgIC8qIERlcGVuZGVudCB0eXBlIGF0dHJpYnV0ZXMgb24g dGhlIGRlY2wgbWVhbiB0aGF0IHRoZSBUUkVFX1RZUEUgaXMKKwkgICAgICAg d3JvbmcsIHNvIGp1c3QgcmV0dXJuIHRoZSBpZGVudGlmaWVyLiAgKi8KKwkg ICAgcmV0dXJuIGlkX2V4cHJlc3Npb247CisKIAkgIC8qIElmIHdlIGZvdW5k IGEgdmFyaWFibGUsIHRoZW4gbmFtZSBsb29rdXAgZHVyaW5nIHRoZQogCSAg ICAgaW5zdGFudGlhdGlvbiB3aWxsIGFsd2F5cyByZXNvbHZlIHRvIHRoZSBz YW1lIFZBUl9ERUNMCiAJICAgICAob3IgYW4gaW5zdGFudGlhdGlvbiB0aGVy ZW9mKS4gICovCmRpZmYgLS1naXQgYS9nY2MvY3AvdHlwZWNrLmMgYi9nY2Mv Y3AvdHlwZWNrLmMKaW5kZXggYmVkYzQ1My4uYTU5MWQyOSAxMDA2NDQKLS0t IGEvZ2NjL2NwL3R5cGVjay5jCisrKyBiL2djYy9jcC90eXBlY2suYwpAQCAt Mjg1Myw2ICsyODUzLDExIEBAIGZpbmlzaF9jbGFzc19tZW1iZXJfYWNjZXNz X2V4cHIgKGNwX2V4cHIgb2JqZWN0LCB0cmVlIG5hbWUsIGJvb2wgdGVtcGxh dGVfcCwKIAkgICAgfQogCSAgaWYgKG1lbWJlciA9PSBlcnJvcl9tYXJrX25v ZGUpCiAJICAgIHJldHVybiBlcnJvcl9tYXJrX25vZGU7CisJICBpZiAoREVD TF9QIChtZW1iZXIpCisJICAgICAgJiYgYW55X2RlcGVuZGVudF90eXBlX2F0 dHJpYnV0ZXNfcCAoREVDTF9BVFRSSUJVVEVTIChtZW1iZXIpKSkKKwkgICAg LyogRGVwZW5kZW50IHR5cGUgYXR0cmlidXRlcyBvbiB0aGUgZGVjbCBtZWFu IHRoYXQgdGhlIFRSRUVfVFlQRSBpcworCSAgICAgICB3cm9uZywgc28gZG9u J3QgdXNlIGl0LiAgKi8KKwkgICAgZ290byBkZXBlbmRlbnQ7CiAJICBpZiAo VFJFRV9DT0RFIChtZW1iZXIpID09IFVTSU5HX0RFQ0wgJiYgREVDTF9ERVBF TkRFTlRfUCAobWVtYmVyKSkKIAkgICAgZ290byBkZXBlbmRlbnQ7CiAJfQpk aWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L3ZlY3RvcjMy LkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvdmVjdG9yMzIuQwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTAxZDBiCi0tLSAv ZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L3ZlY3Rv cjMyLkMKQEAgLTAsMCArMSwxOCBAQAorLy8gUFIgYysrLzY4NzAzCisKK3Rl bXBsYXRlIDxpbnQgTj4KK3N0cnVjdCBEIHsKKyAgaW50IHYgX19hdHRyaWJ1 dGVfXygodmVjdG9yX3NpemUgKE4gKiBzaXplb2YgKGludCkpKSk7CisgIGlu dCBmMSAoKSB7IHJldHVybiB0aGlzLT52W04tMV07IH0KKyAgaW50IGYyICgp IHsgcmV0dXJuIHZbTi0xXTsgfQorfTsKKworaW50CittYWluICgpCit7Cisg IEQ8ND4gYSA9IHsgeyAwLCAxLCAyLCAzIH0gfTsKKyAgRDw4PiBiID0geyB7 IDAsIDEsIDIsIDMsIDQsIDUsIDYsIDcgfSB9OworICBpZiAoYS5mMSAoKSAh PSAzIHx8IGEuZjIgKCkgIT0gMworICAgICAgfHwgYi5mMSAoKSAhPSA3IHx8 IGIuZjIgKCkgIT0gNykKKyAgICBfX2J1aWx0aW5fYWJvcnQgKCk7Cit9CmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvdmVjdG9yMzJh LkMgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvdmVjdG9yMzJhLkMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODkwMWQwYgotLS0g L2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL2V4dC92ZWN0 b3IzMmEuQwpAQCAtMCwwICsxLDE4IEBACisvLyBQUiBjKysvNjg3MDMKKwor dGVtcGxhdGUgPGludCBOPgorc3RydWN0IEQgeworICBpbnQgdiBfX2F0dHJp YnV0ZV9fKCh2ZWN0b3Jfc2l6ZSAoTiAqIHNpemVvZiAoaW50KSkpKTsKKyAg aW50IGYxICgpIHsgcmV0dXJuIHRoaXMtPnZbTi0xXTsgfQorICBpbnQgZjIg KCkgeyByZXR1cm4gdltOLTFdOyB9Cit9OworCitpbnQKK21haW4gKCkKK3sK KyAgRDw0PiBhID0geyB7IDAsIDEsIDIsIDMgfSB9OworICBEPDg+IGIgPSB7 IHsgMCwgMSwgMiwgMywgNCwgNSwgNiwgNyB9IH07CisgIGlmIChhLmYxICgp ICE9IDMgfHwgYS5mMiAoKSAhPSAzCisgICAgICB8fCBiLmYxICgpICE9IDcg fHwgYi5mMiAoKSAhPSA3KQorICAgIF9fYnVpbHRpbl9hYm9ydCAoKTsKK30K --001a113cdb7692234e0539aab220--