diff options
author | Reid Kleckner <rnk@google.com> | 2015-10-17 00:19:04 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2015-10-17 00:19:04 +0000 |
commit | f438a020bfc1cfe0ecabd996e2f05fcc809955de (patch) | |
tree | 181dcb7d49bb4f2a08daea80939e9730430032b7 /lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h | |
parent | 4f43e80ecef00cc150e177bb0cdf8a2685b264a0 (diff) | |
download | bcm5719-llvm-f438a020bfc1cfe0ecabd996e2f05fcc809955de.tar.gz bcm5719-llvm-f438a020bfc1cfe0ecabd996e2f05fcc809955de.zip |
Diagnose UnresolvedLookupExprs that resolve to instance members in static methods
During the initial template parse for this code, 'member' is unresolved
and we don't know anything about it:
struct A { int member };
template <typename T>
struct B : public T {
using T::member;
static void f() {
(void)member; // Could be static or non-static.
}
};
template class B<A>;
The pattern declaration contains an UnresolvedLookupExpr rather than an
UnresolvedMemberExpr because `f` is static, and `member` should never be
a field. However, if the code is invalid, it may become a field, in
which case we should diagnose it.
Reviewers: rjmccall, rsmith
Differential Revision: http://reviews.llvm.org/D6700
llvm-svn: 250592
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h')
0 files changed, 0 insertions, 0 deletions