aboutsummaryrefslogtreecommitdiff
path: root/include/clang/CodeGen/ModuleBuilder.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-03-03 22:53:40 +0000
committerDouglas Gregor <dgregor@apple.com>2010-03-03 22:53:40 +0000
commitb29b37d7e5bba50acc3a6642a2c90db080c22b90 (patch)
treec72154a18cc19f4bfab7047b11e6a5ce39d4718d /include/clang/CodeGen/ModuleBuilder.h
parent9f9efe6d58f49bce01b548bf81245f053b632a02 (diff)
Implement disambiguation of base class members via a
nested-name-specifier. For example, this allows member access in diamond-shaped hierarchies like: struct Base { void Foo(); int Member; }; struct D1 : public Base {}; struct D2 : public Base {}; struct Derived : public D1, public D2 { } void Test(Derived d) { d.Member = 17; // error: ambiguous cast from Derived to Base d.D1::Member = 17; // error: okay, modify D1's Base's Member } Fixes PR5820 and <rdar://problem/7535045>. Also, eliminate some redundancy between Sema::PerformObjectMemberConversion() and Sema::PerformObjectArgumentInitialization() -- the latter now calls the former. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97674 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/CodeGen/ModuleBuilder.h')
0 files changed, 0 insertions, 0 deletions