diff options
| author | Douglas Gregor <dgregor@apple.com> | 2010-05-14 04:08:48 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2010-05-14 04:08:48 +0000 |
| commit | 83de20f5e3d6db070415f4f529620a6863904e09 (patch) | |
| tree | 7e6b161ddb58b24acdbe4a235473da999fe30e31 /clang/lib/Sema | |
| parent | 64585cdb66aec62b8212ddbb36274b898e2c76d1 (diff) | |
| download | bcm5719-llvm-83de20f5e3d6db070415f4f529620a6863904e09.tar.gz bcm5719-llvm-83de20f5e3d6db070415f4f529620a6863904e09.zip | |
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
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
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); } } |

