]> granicus.if.org Git - clang/commitdiff
minor refactoring of -fapple-kext stuff.
authorFariborz Jahanian <fjahanian@apple.com>
Fri, 4 Feb 2011 00:32:39 +0000 (00:32 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Fri, 4 Feb 2011 00:32:39 +0000 (00:32 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124837 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CodeGenModule.cpp

index 150d0c46abc3e7e42d4ca641eb28809845579878..a086badfa87a1f069e957141286a21be6f3ee97d 100644 (file)
@@ -1119,6 +1119,9 @@ CodeGenModule::getVTableLinkage(const CXXRecordDecl *RD) {
     }
   }
   
+  if (Context.getLangOptions().AppleKext)
+    return llvm::Function::InternalLinkage;
+  
   switch (RD->getTemplateSpecializationKind()) {
   case TSK_Undeclared:
   case TSK_ExplicitSpecialization:
@@ -1127,19 +1130,14 @@ CodeGenModule::getVTableLinkage(const CXXRecordDecl *RD) {
     // breaks LLVM's build due to undefined symbols.
     //   return llvm::GlobalVariable::AvailableExternallyLinkage;
   case TSK_ExplicitInstantiationDeclaration:
-    break;
+    return llvm::GlobalVariable::LinkOnceODRLinkage;
 
   case TSK_ExplicitInstantiationDefinition:
-    return !Context.getLangOptions().AppleKext ?
-             llvm::GlobalVariable::WeakODRLinkage :
-             llvm::Function::InternalLinkage;
-    
+      return llvm::GlobalVariable::WeakODRLinkage;
   }
   
   // Silence GCC warning.
-  return !Context.getLangOptions().AppleKext ?
-           llvm::GlobalVariable::LinkOnceODRLinkage :
-           llvm::Function::InternalLinkage;
+  return llvm::GlobalVariable::LinkOnceODRLinkage;
 }
 
 CharUnits CodeGenModule::GetTargetTypeStoreSize(const llvm::Type *Ty) const {