From: Joe Buck <Joe.Buck@synopsys.COM>
To: Jason Merrill <jason@redhat.com>
Cc: gcc-patches List <gcc-patches@gcc.gnu.org>,
Benjamin Kosnik <bkoz@redhat.com>,
libstdc++ <libstdc++@gcc.gnu.org>
Subject: Re: RFA (libstdc++): C++/v3 PATCH for c++/24163 (lookup in dependent bases) and c++/29131
Date: Sat, 21 May 2011 00:32:00 -0000 [thread overview]
Message-ID: <20110520193035.GA30195@synopsys.com> (raw)
In-Reply-To: <4DD69790.8070101@redhat.com>
On Fri, May 20, 2011 at 09:32:16AM -0700, Jason Merrill wrote:
> G++ has had a long-standing bug with unqualified name resolution in
> templates: if we didn't find any declaration when looking up a name in
> the template definition, we would do an additional unqualified lookup at
> the point of instantiation. This led to incorrectly finding
> namespace-scope functions declared later (29131) and member functions of
> dependent bases (24163). This patch fixes that bug.
I get the impression that most competing C++ compilers (other than the
old HP compiler) were (or are) very loose about that rule.
> To be friendly to users, the patch also allows affected code to compile
> with -fpermissive and provides suggestions about how to fix the code:
> either declaring the desired function earlier (29131) or explicitly
> qualifying the name with this-> or Class:: (24163).
I think that it's quite likely that there is a lot of C++ code out there
that depends on this bug to compile. So I'm glad that you've included
user guidance in the error messages, and it would be interesting to see
how much code is affected when, say, compiling a distro.
next prev parent reply other threads:[~2011-05-20 19:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-20 17:09 Jason Merrill
2011-05-20 18:26 ` Paolo Carlini
2011-05-20 19:46 ` Gabriel Dos Reis
2011-05-20 20:39 ` Jason Merrill
2011-05-20 21:56 ` Gabriel Dos Reis
2011-05-21 0:32 ` Joe Buck [this message]
2011-05-21 3:01 ` Christopher Jefferson
2011-05-21 3:44 ` Jason Merrill
2011-05-24 9:41 ` Jason Merrill
2011-05-24 11:50 ` Paolo Carlini
2011-05-24 18:51 ` Jason Merrill
2011-05-27 10:30 ` Jonathan Wakely
2011-05-27 12:26 ` Paolo Carlini
2011-05-27 12:34 ` Paolo Carlini
2011-05-28 1:08 ` Jonathan Wakely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110520193035.GA30195@synopsys.com \
--to=joe.buck@synopsys.com \
--cc=bkoz@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jason@redhat.com \
--cc=libstdc++@gcc.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).