From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4341 invoked by alias); 1 Jan 2011 22:34:57 -0000 Received: (qmail 4105 invoked by uid 22791); 1 Jan 2011 22:34:54 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST X-Spam-Check-By: sourceware.org Received: from mail-wy0-f175.google.com (HELO mail-wy0-f175.google.com) (74.125.82.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 01 Jan 2011 22:34:50 +0000 Received: by wyb40 with SMTP id 40so12788249wyb.20 for ; Sat, 01 Jan 2011 14:34:48 -0800 (PST) MIME-Version: 1.0 Received: by 10.216.163.11 with SMTP id z11mr5068892wek.36.1293921287758; Sat, 01 Jan 2011 14:34:47 -0800 (PST) Received: by 10.216.160.131 with HTTP; Sat, 1 Jan 2011 14:34:47 -0800 (PST) In-Reply-To: References: Date: Sat, 01 Jan 2011 22:34:00 -0000 Message-ID: Subject: Re: PING: [patch] fix c++/33558 - references cannot be mutable From: Jonathan Wakely To: gcc-patches Content-Type: multipart/mixed; boundary=00163641780bb962d40498d0868c 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 X-SW-Source: 2011-01/txt/msg00023.txt.bz2 --00163641780bb962d40498d0868c Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 1800 On 22 December 2010 14:53, Jonathan Wakely wrote: > This is a very small patch to fix a standard conformance issue. > > I've made it a permerror so broken code can use -fpermissive and > doesn't need to be fixed. > > I'd really like to get this in 4.6, so pinging for review ... again > On 18 December 2010 18:57, Jonathan Wakely wrote: >> This is a slightly modified version of the patch attached to PR33558 >> which was posted to gcc-patches but apparently never reviewed. =A0I >> don't know if the author of the original patch, Giovanni, has a >> copyright assignment but I think the change is obvious and I hope is >> sufficiently small to not need an assignment. I was in the process of >> making the same change when I found his patch on the PR and copied the >> wording of his diagnostic and testcase. >> >> Sun CC and g++ both incorrectly accept mutable references, so it might >> not be uncommon in the wild (I found a use in some production code >> yesterday.) =A0This version of the patch allows mutable on reference >> members when -fpermissive is used, giving old code a transition path. >> I'll add a note to changes.html if this is approved. >> >> tested x86_64-linux, OK for trunk? >> >> >> cp/ChangeLog entry: >> >> 2010-12-18 =A0Giovanni Funchal =A0 >> =A0 =A0 =A0 =A0 =A0 =A0Jonathan Wakely =A0 >> >> =A0 =A0 =A0 =A0PR c++/33558 >> =A0 =A0 =A0 =A0* decl.c (grokdeclarator): Reject mutable reference membe= rs. >> >> testsuite/ChangeLog entry: >> >> 2010-12-18 =A0Giovanni Funchal =A0 >> =A0 =A0 =A0 =A0 =A0 =A0Jonathan Wakely =A0 >> >> =A0 =A0 =A0 =A0PR c++/33558 >> =A0 =A0 =A0 =A0* testsuite/g++.dg/other/pr33558.C: New. >> =A0 =A0 =A0 =A0* testsuite/g++.dg/other/pr33558-2.C: New. >> > --00163641780bb962d40498d0868c Content-Type: text/plain; charset=US-ASCII; name="33558.txt" Content-Disposition: attachment; filename="33558.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gif3b9zl0 Content-length: 1749 SW5kZXg6IGNwL2RlY2wuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBj cC9kZWNsLmMJKHJldmlzaW9uIDE2NzgxNykKKysrIGNwL2RlY2wuYwkod29y a2luZyBjb3B5KQpAQCAtOTIxMCw2ICs5MjEwLDEyIEBAIGdyb2tkZWNsYXJh dG9yIChjb25zdCBjcF9kZWNsYXJhdG9yICpkZWMKIAkgIGVycm9yICgiY29u c3QgJXFzIGNhbm5vdCBiZSBkZWNsYXJlZCAlPG11dGFibGUlPiIsIG5hbWUp OwogCSAgc3RvcmFnZV9jbGFzcyA9IHNjX25vbmU7CiAJfQorICAgICAgZWxz ZSBpZiAoVFJFRV9DT0RFICh0eXBlKSA9PSBSRUZFUkVOQ0VfVFlQRSkKKwl7 CisJICBwZXJtZXJyb3IgKGlucHV0X2xvY2F0aW9uLCAicmVmZXJlbmNlICVx cyBjYW5ub3QgYmUgZGVjbGFyZWQgIgorCSAgICAgICAgICAgICAiJTxtdXRh YmxlJT4iLCBuYW1lKTsKKwkgIHN0b3JhZ2VfY2xhc3MgPSBzY19ub25lOwor CX0KICAgICB9CiAKICAgLyogSWYgdGhpcyBpcyBkZWNsYXJpbmcgYSB0eXBl ZGVmIG5hbWUsIHJldHVybiBhIFRZUEVfREVDTC4gICovCkluZGV4OiB0ZXN0 c3VpdGUvZysrLmRnL290aGVyL3ByMzM1NTguQwo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSB0ZXN0c3VpdGUvZysrLmRnL290aGVyL3ByMzM1NTguQwko cmV2aXNpb24gMCkKKysrIHRlc3RzdWl0ZS9nKysuZGcvb3RoZXIvcHIzMzU1 OC5DCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKKy8qIHsgZGctZG8g Y29tcGlsZSB9ICovCisKK2NsYXNzIFggeworICBtdXRhYmxlIGludCAmcTsg LyogeyBkZy1lcnJvciAiY2Fubm90IGJlIGRlY2xhcmVkICdtdXRhYmxlJyIg fSAqLworfTsKSW5kZXg6IHRlc3RzdWl0ZS9nKysuZGcvb3RoZXIvcHIzMzU1 OC0yLkMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gdGVzdHN1aXRlL2cr Ky5kZy9vdGhlci9wcjMzNTU4LTIuQwkocmV2aXNpb24gMCkKKysrIHRlc3Rz dWl0ZS9nKysuZGcvb3RoZXIvcHIzMzU1OC0yLkMJKHJldmlzaW9uIDApCkBA IC0wLDAgKzEsNiBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsg ZGctb3B0aW9ucyAiLWZwZXJtaXNzaXZlIiB9ICovCisKK2NsYXNzIFggewor ICBtdXRhYmxlIGludCAmcTsgLyogeyBkZy13YXJuaW5nICJjYW5ub3QgYmUg ZGVjbGFyZWQgJ211dGFibGUnIiB9ICovCit9Owo= --00163641780bb962d40498d0868c--