summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2008-12-10 21:26:49 +0000
committerDouglas Gregor <dgregor@apple.com>2008-12-10 21:26:49 +0000
commit9aa8b55d10234892c8427f23bca13cb2cc8e313a (patch)
tree3939d9f9a231f914b263543c3fe43126bcba3715 /clang/lib/Sema/SemaExpr.cpp
parent872ffce2578cec519a1220e99f17e33c9515da2c (diff)
downloadbcm5719-llvm-9aa8b55d10234892c8427f23bca13cb2cc8e313a.tar.gz
bcm5719-llvm-9aa8b55d10234892c8427f23bca13cb2cc8e313a.zip
Fix PR clang/3175: CheckAddressOfOperand does not handle references to class vars
llvm-svn: 60849
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index a36bcf58806..8cbbca3fbf0 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2876,8 +2876,11 @@ QualType Sema::CheckAddressOfOperand(Expr *op, SourceLocation OpLoc) {
<< "register variable" << op->getSourceRange();
return QualType();
}
- } else if (isa<OverloadedFunctionDecl>(dcl))
+ } else if (isa<OverloadedFunctionDecl>(dcl)) {
return Context.OverloadTy;
+ } else if (isa<FieldDecl>(dcl)) {
+ // Okay: we can take the address of a field.
+ }
else
assert(0 && "Unknown/unexpected decl type");
}
OpenPOWER on IntegriCloud