COFF: Print out module-definition files if /verbose is given.

This is useful for testing.

llvm-svn: 246032
This commit is contained in:
Rui Ueyama 2015-08-26 12:37:54 +00:00
parent 56baef3fa8
commit c0c74e1b8a
1 changed files with 10 additions and 7 deletions

View File

@ -483,18 +483,18 @@ static std::string writeToTempFile(StringRef Contents) {
static std::string createModuleDefinitionFile() {
std::string S;
llvm::raw_string_ostream OS(S);
OS << "LIBRARY \"" << llvm::sys::path::filename(Config->OutputFile) << "\"\n"
<< "EXPORTS\n";
OS << " LIBRARY \"" << llvm::sys::path::filename(Config->OutputFile) << "\"\n"
<< " EXPORTS\n";
for (Export &E : Config->Exports) {
OS << " " << E.ExtLibName;
OS << " " << E.ExtLibName;
if (E.Ordinal > 0)
OS << " @" << E.Ordinal;
OS << " @" << E.Ordinal;
if (E.Noname)
OS << " NONAME";
OS << " NONAME";
if (E.Data)
OS << " DATA";
OS << " DATA";
if (E.Private)
OS << " PRIVATE";
OS << " PRIVATE";
OS << "\n";
}
OS.flush();
@ -507,6 +507,9 @@ void writeImportLibrary() {
std::string Def = writeToTempFile(Contents);
llvm::FileRemover TempFile(Def);
if (Config->Verbose)
llvm::outs() << "Module-definition file:" << Contents;
Executor E("lib.exe");
E.add("/nologo");
E.add("/machine:" + machineToStr(Config->Machine));