diff options
Diffstat (limited to 'lld/lib/ReaderWriter/PECOFF/Atoms.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/PECOFF/Atoms.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/PECOFF/Atoms.cpp b/lld/lib/ReaderWriter/PECOFF/Atoms.cpp new file mode 100644 index 00000000000..13c58f7ee60 --- /dev/null +++ b/lld/lib/ReaderWriter/PECOFF/Atoms.cpp @@ -0,0 +1,30 @@ +//===- lib/ReaderWriter/PECOFF/Atoms.cpp ----------------------------------===// +// +// The LLVM Linker +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "Atoms.h" + +namespace lld { +namespace coff { + +namespace { +void addEdge(COFFDefinedAtom *a, COFFDefinedAtom *b, + lld::Reference::Kind kind) { + auto ref = new COFFReference(kind); + ref->setTarget(b); + a->addReference(std::unique_ptr<COFFReference>(ref)); +} +} + +void connectAtomsWithLayoutEdge(COFFDefinedAtom *a, COFFDefinedAtom *b) { + addEdge(a, b, lld::Reference::kindLayoutAfter); + addEdge(b, a, lld::Reference::kindLayoutBefore); +} + +} // namespace coff +} // namespace lld |