From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 100380 invoked by alias); 27 May 2016 14:43:54 -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 100361 invoked by uid 89); 27 May 2016 14:43:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=surgery, xy, recommendation, irc X-HELO: mail-vk0-f45.google.com Received: from mail-vk0-f45.google.com (HELO mail-vk0-f45.google.com) (209.85.213.45) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 27 May 2016 14:43:52 +0000 Received: by mail-vk0-f45.google.com with SMTP id k1so90730543vka.3 for ; Fri, 27 May 2016 07:43:52 -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:in-reply-to:references:date :message-id:subject:from:to:cc; bh=Jj3o51u0U3azgbSBWkr4JAVlDjkIfpK4Gj/6AHKXwQw=; b=awRAinPw6r5g3dsJpH7E4buWqKPY89Rbe9NsFc3GlOGt8rGxqKX4Ga9+G9Y+eRuGqS rFp5YVGpWlwhX+sbIIJC2Zz6gOSu9R5eBJVkT6wDSv5BS2RkTigMfQ35rLqQ+t2E8YAy Aw/1mY+skBg1ua0GcBSSbskjlX+uOXEv8L2ig14HGMA1VbwtzqYR2F1fW2W2kOjJ10ha npjYq/KEP1bfQcaLY1HeUfPI93yexfNJm/2L+X2kQXow5o5eRT5t2kIT313P6Wv8b83n by+UTfWV1olbsqCxHKyxn1pSH9JdoJ+b9h30ly4orIE0jHMo1dgLUBUlKPUVIRebtYI6 FWsg== X-Gm-Message-State: ALyK8tIPSJTyt2k5oJwByYeOyZ6luZcp2G9dgfjL9GKP11kmwd+ZxTLpZ1Zh/Lal77hu6cAhspRSvgsMq45prw== MIME-Version: 1.0 X-Received: by 10.31.78.5 with SMTP id c5mr8710828vkb.41.1464360230075; Fri, 27 May 2016 07:43:50 -0700 (PDT) Received: by 10.103.126.194 with HTTP; Fri, 27 May 2016 07:43:49 -0700 (PDT) In-Reply-To: References: <572B2210.2020801@oracle.com> Date: Fri, 27 May 2016 15:54:00 -0000 Message-ID: Subject: Re: [C++ PATCH] PR c++/69855 From: Ville Voutilainen To: Jason Merrill Cc: Paolo Carlini , "gcc-patches@gcc.gnu.org" Content-Type: multipart/mixed; boundary=001a114847da5669840533d3efb9 X-SW-Source: 2016-05/txt/msg02205.txt.bz2 --001a114847da5669840533d3efb9 Content-Type: text/plain; charset=UTF-8 Content-length: 745 On 20 May 2016 at 07:05, Ville Voutilainen wrote: > On 19 May 2016 at 19:40, Jason Merrill wrote: >> Any thoughts on doing something similar for extern variable declarations? > > Ah, we diagnose local extern variable declarations that clash with > previous declarations, > but we don't diagnose cases where a subsequent declaration clashes > with a previous > local extern declaration. I'll take a look. As discussed on irc, this requires teaching variable declarations to work with DECL_ANTICIPATED and is thus some amounts of surgery, so the recommendation was to go ahead with this patch. I added a comment to the new code block, an updated patch attached. Changelog as before. Ok for trunk? --001a114847da5669840533d3efb9 Content-Type: text/plain; charset=US-ASCII; name="69855_6.diff" Content-Disposition: attachment; filename="69855_6.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iopu8zm00 Content-length: 4157 ZGlmZiAtLWdpdCBhL2djYy9jcC9uYW1lLWxvb2t1cC5jIGIvZ2NjL2NwL25h bWUtbG9va3VwLmMKaW5kZXggZWIxMjhkYi4uNTY4Yzc1ZSAxMDA2NDQKLS0t IGEvZ2NjL2NwL25hbWUtbG9va3VwLmMKKysrIGIvZ2NjL2NwL25hbWUtbG9v a3VwLmMKQEAgLTkyOSw2ICs5MjksMjQgQEAgcHVzaGRlY2xfbWF5YmVfZnJp ZW5kXzEgKHRyZWUgeCwgYm9vbCBpc19mcmllbmQpCiAJICAgICAgREVDTF9B TlRJQ0lQQVRFRCAodCkgPSAxOwogCSAgICAgIERFQ0xfSElEREVOX0ZSSUVO RF9QICh0KSA9IDE7CiAJICAgIH0KKworCSAgaWYgKFRSRUVfQ09ERSAoeCkg PT0gRlVOQ1RJT05fREVDTAorCSAgICAgICYmIERFQ0xfTE9DQUxfRlVOQ1RJ T05fUCAoeCkKKwkgICAgICAmJiAhREVDTF9PTVBfREVDTEFSRV9SRURVQ1RJ T05fUCAoeCkKKwkgICAgICAmJiAhdHlwZV9kZXBlbmRlbnRfZXhwcmVzc2lv bl9wICh4KSkKKwkgICAgeworCSAgICAgIC8qIFBSIGMrKy82OTg1NSwgYSBs b2NhbCBmdW5jdGlvbiBkZWNsYXJhdGlvbgorCQkgaXMgc3RyaXBwZWQgZnJv bSB0ZW1wbGF0ZSBpbmZvIGFuZCBwdXNoZWQgdG8KKwkJIHRoZSBsb2NhbCBz Y29wZSBhcyBhIGhpZGRlbiBkZWNsYXJhdGlvbi4gVGhpcworCQkgYWxsb3dz IGlsbC1mb3JtZWQgb3ZlcmxvYWRzIGV2ZW4gaW4gb3RoZXIgc2NvcGVzCisJ CSB0byBiZSBkaWFnbm9zZWQgYm90aCBhdCB0aGUgbG9jYWwgZGVjbGFyYXRp b24gc2l0ZQorCQkgYW5kIGFmdGVyIGl0LiAgKi8KKwkgICAgICB0cmVlIHQy ID0gY29weV9kZWNsICh0KTsKKwkgICAgICBERUNMX1VTRV9URU1QTEFURSAo dDIpID0gMDsKKwkgICAgICBERUNMX1RFTVBMQVRFX0lORk8gKHQyKSA9IE5V TExfVFJFRTsKKwkgICAgICBERUNMX0FOVElDSVBBVEVEICh0MikgPSAxOwor CSAgICAgIHB1c2hfb3ZlcmxvYWRlZF9kZWNsICh0MiwgUFVTSF9HTE9CQUws IGlzX2ZyaWVuZCk7CisJICAgIH0KIAl9CiAKICAgICAgIGlmICh0ICE9IHgg fHwgREVDTF9GVU5DVElPTl9URU1QTEFURV9QICh0KSkKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvZysrLmRnL292ZXJsb2FkLzY5ODU1LkMgYi9nY2Mv dGVzdHN1aXRlL2crKy5kZy9vdmVybG9hZC82OTg1NS5DCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjMmQ3MzMKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2crKy5kZy9vdmVybG9hZC82OTg1NS5D CkBAIC0wLDAgKzEsNDQgQEAKKy8vIFBSIGMrKy82OTg1NQorLy8geyBkZy1k byBjb21waWxlIH0KKworaW50IGdldCgpOwordm9pZCBmKCkgeworICBjaGFy IGdldCgpOyAvLyB7IGRnLWVycm9yICJhbWJpZ3VhdGluZyIgfQorfQorCitp bnQgZ2V0MigpOworY2hhciBnZXQyKGludCk7Cit2b2lkIGYyKCkgeworICBj aGFyIGdldDIoKTsgLy8geyBkZy1lcnJvciAiYW1iaWd1YXRpbmciIH0KK30K KworY2hhciBnZXQzKGludCk7Cit2b2lkIGYzKCkgeworICBjaGFyIGdldDMo KTsKK30KKwordm9pZCBmNCgpIHsKKyAgY2hhciBnZXQ0KCk7Cit9CitpbnQg Z2V0NCgpOyAvLyB7IGRnLWVycm9yICJhbWJpZ3VhdGluZyIgfQorCit2b2lk IGdldDUoKTsKKwordGVtcGxhdGUgPGNsYXNzIFQ+IHN0cnVjdCBYCit7Cisg IHZvaWQgZygpCisgIHsKKyAgICBpbnQgZ2V0NSgpOyAvLyB7IGRnLWVycm9y ICJhbWJpZ3VhdGluZyIgfQorICB9Cit9OworCisKK3RlbXBsYXRlIDxjbGFz cyBUPiBzdHJ1Y3QgWDIKK3sKKyAgdm9pZCBnKCkKKyAgeworICAgIGludCBn ZXQ2KCk7CisgIH0KK307CisKK3ZvaWQgZ2V0NigpOyAvLyB7IGRnLWVycm9y ICJhbWJpZ3VhdGluZyIgfQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Kysub2xkLWRlamEvZysrLmxhdy9taXNzZWQtZXJyb3IyLkMgYi9nY2MvdGVz dHN1aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L21pc3NlZC1lcnJvcjIuQwpp bmRleCA0MmY3MGFlLi4yNmFlODdkIDEwMDY0NAotLS0gYS9nY2MvdGVzdHN1 aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L21pc3NlZC1lcnJvcjIuQworKysg Yi9nY2MvdGVzdHN1aXRlL2crKy5vbGQtZGVqYS9nKysubGF3L21pc3NlZC1l cnJvcjIuQwpAQCAtMjUsOSArMjUsMTAgQEAgaW50IG1haW4oKSB7CiAgICBm b28oNCwgLTM3LCAxNC4zOSwgMTQuMzgpOwogfQogCi0vLyA5NzEwMDYgd2Ug bm8gbG9uZ2VyIGdpdmUgYW4gZXJyb3IgZm9yIHRoaXMgc2luY2Ugd2UgZW1p dCBhIGhhcmQgZXJyb3IKLS8vIGFib3V0IHRoZSBkZWNsYXJhdGlvbiBhYm92 ZQotc3RhdGljIHZvaWQgZm9vKGludCBpLCBpbnQgaiwgZG91YmxlIHgsIGRv dWJsZSB5KSB7IAorLy8gOTcxMDA2IHdlIG5vIGxvbmdlciBnYXZlIGFuIGVy cm9yIGZvciB0aGlzIHNpbmNlIHdlIGVtaXQgYSBoYXJkIGVycm9yCisvLyBh Ym91dCB0aGUgZGVjbGFyYXRpb24gYWJvdmUsIGJ1dCBhZnRlciB0aGUgZml4 IGZvciBQUiBjKysvNjk4NTUKKy8vIHRoaXMgZGVjbGFyYXRpb24gZW1pdHMg YSBkaWFnbm9zdGljIGFnYWluCitzdGF0aWMgdm9pZCBmb28oaW50IGksIGlu dCBqLCBkb3VibGUgeCwgZG91YmxlIHkpIHsgLy8geyBkZy1lcnJvciAiZXh0 ZXJufHN0YXRpYyIgfQogCiAgICBzdGQ6OmNvdXQgPDwgIk1heChpbnQpOiAi IDw8IG1heChpLGopIDw8ICIgTWF4KGRvdWJsZSk6ICIgPDwKIG1heCh4LHkp IDw8ICdcbic7CmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2crKy5vbGQt ZGVqYS9nKysucHQvY3Jhc2gzLkMgYi9nY2MvdGVzdHN1aXRlL2crKy5vbGQt ZGVqYS9nKysucHQvY3Jhc2gzLkMKaW5kZXggMTYwY2JlNS4uMmJhNjFkOSAx MDA2NDQKLS0tIGEvZ2NjL3Rlc3RzdWl0ZS9nKysub2xkLWRlamEvZysrLnB0 L2NyYXNoMy5DCisrKyBiL2djYy90ZXN0c3VpdGUvZysrLm9sZC1kZWphL2cr Ky5wdC9jcmFzaDMuQwpAQCAtMTAsNyArMTAsNyBAQCBwdWJsaWM6CiAgICAg fQogICAgIENWZWN0b3I8bG9uZz4gZygpIGNvbnN0CiAgICAgewotICAgICAg IENWZWN0b3I8bG9uZz4gdigpOwotICAgICAgIHJldHVybiB2OworICAgICAg IENWZWN0b3I8bG9uZz4gdjIoKTsKKyAgICAgICByZXR1cm4gdjI7CiAgICAg fQogfTsK --001a114847da5669840533d3efb9--