diff options
Diffstat (limited to 'include/lld/ReaderWriter/ELFTargets.h')
-rw-r--r-- | include/lld/ReaderWriter/ELFTargets.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/include/lld/ReaderWriter/ELFTargets.h b/include/lld/ReaderWriter/ELFTargets.h new file mode 100644 index 0000000000000..3d00339818e26 --- /dev/null +++ b/include/lld/ReaderWriter/ELFTargets.h @@ -0,0 +1,38 @@ +//===- lld/ReaderWriter/ELFTargets.h --------------------------------------===// +// +// The LLVM Linker +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLD_READER_WRITER_ELF_TARGETS_H +#define LLD_READER_WRITER_ELF_TARGETS_H + +#include "ELFLinkingContext.h" + +namespace lld { +namespace elf { + +#define LLVM_TARGET(TargetName) \ + class TargetName##LinkingContext final : public ELFLinkingContext { \ + public: \ + static std::unique_ptr<ELFLinkingContext> create(llvm::Triple); \ + }; + +// FIXME: #include "llvm/Config/Targets.def" +LLVM_TARGET(AArch64) +LLVM_TARGET(ARM) +LLVM_TARGET(Hexagon) +LLVM_TARGET(Mips) +LLVM_TARGET(X86) +LLVM_TARGET(Example) +LLVM_TARGET(X86_64) + +#undef LLVM_TARGET + +} // end namespace elf +} // end namespace lld + +#endif |