aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-12-06 00:23:49 +0000
committerAnders Carlsson <andersca@mac.com>2009-12-06 00:23:49 +0000
commit3527225899adf04e7b966e533da72e4550f9c7e5 (patch)
tree75e2268d3982e13e2aad98992afffd1b19ab5662 /lib/Sema/SemaDecl.cpp
parent8c2d36ffc82c6c616c02f4a231a39f0fe5ab4e54 (diff)
Pass the desired vtable linkage to GenerateVtable directly. Only call MaybeMarkVirtualImplicitMembersReferenced for non-inline functions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90686 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDecl.cpp')
-rw-r--r--lib/Sema/SemaDecl.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index c5bebcc951..d05340a426 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/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)) {