diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-12 02:17:52 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-08-12 02:17:52 +0000 |
commit | dd55b95fb2c2d3d65cf37c3cd8173380a97dd673 (patch) | |
tree | 3e3083e814672c88bd71ab5483adf5ab21909d30 /clang/lib/Analysis/ThreadSafetyCommon.cpp | |
parent | 9e5f2a96f1c2e0ba2456b86102d5f558bcfc01dc (diff) | |
download | llvm-dd55b95fb2c2d3d65cf37c3cd8173380a97dd673.zip llvm-dd55b95fb2c2d3d65cf37c3cd8173380a97dd673.tar.gz llvm-dd55b95fb2c2d3d65cf37c3cd8173380a97dd673.tar.bz2 |
[modules] Fix thread safety analysis to cope with merging of FieldDecls across modules.
llvm-svn: 244714
Diffstat (limited to 'clang/lib/Analysis/ThreadSafetyCommon.cpp')
-rw-r--r-- | clang/lib/Analysis/ThreadSafetyCommon.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp b/clang/lib/Analysis/ThreadSafetyCommon.cpp index d4b1ce2..3c4d6b3 100644 --- a/clang/lib/Analysis/ThreadSafetyCommon.cpp +++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp @@ -344,7 +344,8 @@ til::SExpr *SExprBuilder::translateMemberExpr(const MemberExpr *ME, til::SExpr *BE = translate(ME->getBase(), Ctx); til::SExpr *E = new (Arena) til::SApply(BE); - const ValueDecl *D = ME->getMemberDecl(); + const ValueDecl *D = + cast<ValueDecl>(ME->getMemberDecl()->getCanonicalDecl()); if (auto *VD = dyn_cast<CXXMethodDecl>(D)) D = getFirstVirtualDecl(VD); |