diff options
author | Rui Ueyama <ruiu@google.com> | 2015-08-05 23:24:46 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2015-08-05 23:24:46 +0000 |
commit | afff74e2286cb81be4d78ea9704b96779c302dc7 (patch) | |
tree | c70fb5c95d81557978211990e29ab15e5d8d6a36 /lld/ELF/Driver.cpp | |
parent | 2705097e47c6289c8d636a678a6bff3d691bcb12 (diff) | |
download | bcm5719-llvm-afff74e2286cb81be4d78ea9704b96779c302dc7.tar.gz bcm5719-llvm-afff74e2286cb81be4d78ea9704b96779c302dc7.zip |
ELF2: Simplify Writer interface.
We are using Writer more like a function instead of a class.
This patch makes it a function to simplify the interface.
All details of Writer class is now hidden from other parts of the linker.
llvm-svn: 244169
Diffstat (limited to 'lld/ELF/Driver.cpp')
-rw-r--r-- | lld/ELF/Driver.cpp | 28 |
1 files changed, 11 insertions, 17 deletions
diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index 99646305865..ab4fc2ec998 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -7,8 +7,10 @@ // //===----------------------------------------------------------------------===// -#include "Driver.h" #include "Config.h" +#include "Driver.h" +#include "InputFiles.h" +#include "SymbolTable.h" #include "Writer.h" #include "llvm/ADT/STLExtras.h" @@ -116,25 +118,17 @@ void LinkerDriver::link(ArrayRef<const char *> ArgsArr) { // Write the result. ObjectFileBase &FirstObj = *Symtab.ObjectFiles[0]; switch (FirstObj.kind()) { - case InputFile::Object32LEKind: { - Writer<object::ELF32LE> Out(&Symtab); - Out.write(Config->OutputFile); + case InputFile::Object32LEKind: + writeResult<object::ELF32LE>(&Symtab, Config->OutputFile); return; - } - case InputFile::Object32BEKind: { - Writer<object::ELF32BE> Out(&Symtab); - Out.write(Config->OutputFile); + case InputFile::Object32BEKind: + writeResult<object::ELF32BE>(&Symtab, Config->OutputFile); return; - } - case InputFile::Object64LEKind: { - Writer<object::ELF64LE> Out(&Symtab); - Out.write(Config->OutputFile); + case InputFile::Object64LEKind: + writeResult<object::ELF64LE>(&Symtab, Config->OutputFile); return; - } - case InputFile::Object64BEKind: { - Writer<object::ELF64BE> Out(&Symtab); - Out.write(Config->OutputFile); + case InputFile::Object64BEKind: + writeResult<object::ELF64BE>(&Symtab, Config->OutputFile); return; } - } } |