diff options
| author | Douglas Gregor <dgregor@apple.com> | 2008-12-10 21:26:49 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2008-12-10 21:26:49 +0000 | 
| commit | 9aa8b55d10234892c8427f23bca13cb2cc8e313a (patch) | |
| tree | 3939d9f9a231f914b263543c3fe43126bcba3715 /clang/lib/Sema/SemaExpr.cpp | |
| parent | 872ffce2578cec519a1220e99f17e33c9515da2c (diff) | |
| download | bcm5719-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.cpp | 5 | 
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");    } | 

