[cfe-dev] WIP patch for qualified-ids in class member access
James Porter
porterj at alum.rit.edu
Fri Jul 10 23:37:02 PDT 2009
I've updated my patch (attached). The main change is that this version
supports qualified-ids with overloaded operator->. Other than that, most
of the changes are merely organizational.
Douglas Gregor wrote:
> Oh, great! I was afraid that my original suggestion would have made it
> uglier. I'm happy with whatever is clean :)
Yeah, honestly my original code was organized that way just because
that's how it looked when I had hacked the feature when I was still
trying to figure out what was going on. That's where my curious use of
passing ExprArg by reference came from too. :)
That said, the new patch has a few things that are less-than-clean, like
how I handle overloaded operator->, which needed to happen before
parsing the nested-name-specifier, so it got moved into
ActOnCXXEnterMemberScope.
> Ah, right. There's similar wording in [class.qual]p1 when parsing
> nested-name-specifiers (that aren't for class member access), but in
> that case we don't try to "enter" the context of the class/namespace
> in the nested-name-specifier, so we should get this right. Perhaps
> that's what we missed: maybe we need special name-lookup routines for
> the identifier that follows the -> (to deal with all of those weird
> semantics), rather than trying to enter a different context.
That's what I'm thinking. Currently (Enter|Exit)DeclaratorContext is a
black box to me, and I've just been using it because it "works",
more-or-less.
- Jim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: qualified-ids.patch
Type: text/x-patch
Size: 13148 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20090711/e131f20b/attachment.bin>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: qual-id-test.cpp
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20090711/e131f20b/attachment.ksh>
More information about the cfe-dev
mailing list