diff options
author | Anders Carlsson <andersca@mac.com> | 2009-12-06 00:23:49 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@mac.com> | 2009-12-06 00:23:49 +0000 |
commit | 0911ae8ef20f0251d51cb840cbe41b4255565351 (patch) | |
tree | 16119fee7e3c33cd3f92757363d9e1fcc79d30e2 /clang/lib/Sema/SemaDecl.cpp | |
parent | 58eea20f47c54ff0f230234cddac70dec44da16c (diff) | |
download | bcm5719-llvm-0911ae8ef20f0251d51cb840cbe41b4255565351.tar.gz bcm5719-llvm-0911ae8ef20f0251d51cb840cbe41b4255565351.zip |
Pass the desired vtable linkage to GenerateVtable directly. Only call MaybeMarkVirtualImplicitMembersReferenced for non-inline functions.
llvm-svn: 90686
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDecl.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp index c5bebcc9516..d05340a4267 100644 --- a/clang/lib/Sema/SemaDecl.cpp +++ b/clang/lib/Sema/SemaDecl.cpp @@ -4120,7 +4120,9 @@ Sema::DeclPtrTy Sema::ActOnFinishFunctionBody(DeclPtrTy D, StmtArg BodyArg, if (Method->isVirtual() && !Method->isPure()) MarkDeclarationReferenced(Method->getLocation(), Method); - MaybeMarkVirtualImplicitMembersReferenced(Method->getLocation(), Method); + if (!Method->isInlined()) + MaybeMarkVirtualImplicitMembersReferenced(Method->getLocation(), + Method); } assert(FD == getCurFunctionDecl() && "Function parsing confused"); } else if (ObjCMethodDecl *MD = dyn_cast_or_null<ObjCMethodDecl>(dcl)) { |