COFF: Implement DLL symbol exports for bitcode files.

Differential Revision: http://reviews.llvm.org/D10530

llvm-svn: 239994
diff --git a/lld/COFF/InputFiles.cpp b/lld/COFF/InputFiles.cpp
index c012236..b0a13fb 100644
--- a/lld/COFF/InputFiles.cpp
+++ b/lld/COFF/InputFiles.cpp
@@ -269,6 +269,14 @@
       bool Replaceable = (SymbolDef == LTO_SYMBOL_DEFINITION_TENTATIVE ||
                           (Attrs & LTO_SYMBOL_COMDAT));
       SymbolBodies.push_back(new (Alloc) DefinedBitcode(SymName, Replaceable));
+
+      const llvm::GlobalValue *GV = M->getSymbolGV(I);
+      if (GV && GV->hasDLLExportStorageClass()) {
+        Directives += " /export:";
+        Directives += SymName;
+        if (!GV->getValueType()->isFunctionTy())
+          Directives += ",data";
+      }
     }
   }