From 83de20f5e3d6db070415f4f529620a6863904e09 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Fri, 14 May 2010 04:08:48 +0000 Subject: A vtable is used if the key function is defined... even if that key function's definition is an out-of-class definition marked "inline". Fixes an assertion in WebKit. llvm-svn: 103763 --- clang/lib/Sema/SemaDeclCXX.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'clang/lib/Sema') diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index 558746b0fea..fd61a1a3a9f 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -6066,8 +6066,7 @@ bool Sema::DefineUsedVTables() { if (const CXXMethodDecl *KeyFunction = Context.getKeyFunction(DynamicClasses[I])) { const FunctionDecl *Definition = 0; - if (KeyFunction->getBody(Definition) && !Definition->isInlined() && - !Definition->isImplicit()) + if (KeyFunction->getBody(Definition)) MarkVTableUsed(Definition->getLocation(), DynamicClasses[I], true); } } -- cgit v1.2.3