aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/lld/Common/Args.h3
-rw-r--r--include/lld/Common/ErrorHandler.h2
-rw-r--r--include/lld/Common/LLVM.h100
-rw-r--r--include/lld/Common/Strings.h3
-rw-r--r--include/lld/Common/TargetOptionsCommandFlags.h1
-rw-r--r--include/lld/Common/Threads.h2
-rw-r--r--include/lld/Core/TODO.txt14
7 files changed, 64 insertions, 61 deletions
diff --git a/include/lld/Common/Args.h b/include/lld/Common/Args.h
index c49a6a7e17e7..769d4840cf06 100644
--- a/include/lld/Common/Args.h
+++ b/include/lld/Common/Args.h
@@ -29,6 +29,9 @@ uint64_t getZOptionValue(llvm::opt::InputArgList &Args, int Id, StringRef Key,
uint64_t Default);
std::vector<StringRef> getLines(MemoryBufferRef MB);
+
+StringRef getFilenameWithoutExe(StringRef Path);
+
} // namespace args
} // namespace lld
diff --git a/include/lld/Common/ErrorHandler.h b/include/lld/Common/ErrorHandler.h
index f17f7cc99035..c169f7b50de8 100644
--- a/include/lld/Common/ErrorHandler.h
+++ b/include/lld/Common/ErrorHandler.h
@@ -153,7 +153,7 @@ T check2(Expected<T> E, llvm::function_ref<std::string()> Prefix) {
inline std::string toString(const Twine &S) { return S.str(); }
// To evaluate the second argument lazily, we use C macro.
-#define CHECK(E, S) check2(E, [&] { return toString(S); })
+#define CHECK(E, S) check2((E), [&] { return toString(S); })
} // namespace lld
diff --git a/include/lld/Common/LLVM.h b/include/lld/Common/LLVM.h
index b5d0e2bffb03..95a2aa903957 100644
--- a/include/lld/Common/LLVM.h
+++ b/include/lld/Common/LLVM.h
@@ -22,53 +22,69 @@
#include <utility>
namespace llvm {
- // ADT's.
- class Error;
- class StringRef;
- class Twine;
- class MemoryBuffer;
- class MemoryBufferRef;
- template<typename T> class ArrayRef;
- template<unsigned InternalLen> class SmallString;
- template<typename T, unsigned N> class SmallVector;
- template<typename T> class SmallVectorImpl;
+// ADT's.
+class raw_ostream;
+class Error;
+class StringRef;
+class Twine;
+class MemoryBuffer;
+class MemoryBufferRef;
+template <typename T> class ArrayRef;
+template <unsigned InternalLen> class SmallString;
+template <typename T, unsigned N> class SmallVector;
+template <typename T> class ErrorOr;
+template <typename T> class Expected;
- template<typename T>
- struct SaveAndRestore;
+namespace object {
+class WasmObjectFile;
+struct WasmSection;
+struct WasmSegment;
+class WasmSymbol;
+} // namespace object
- template<typename T>
- class ErrorOr;
-
- template<typename T>
- class Expected;
-
- class raw_ostream;
- // TODO: DenseMap, ...
-}
+namespace wasm {
+struct WasmEvent;
+struct WasmEventType;
+struct WasmFunction;
+struct WasmGlobal;
+struct WasmGlobalType;
+struct WasmRelocation;
+struct WasmSignature;
+} // namespace wasm
+} // namespace llvm
namespace lld {
- // Casting operators.
- using llvm::isa;
- using llvm::cast;
- using llvm::dyn_cast;
- using llvm::dyn_cast_or_null;
- using llvm::cast_or_null;
+// Casting operators.
+using llvm::cast;
+using llvm::cast_or_null;
+using llvm::dyn_cast;
+using llvm::dyn_cast_or_null;
+using llvm::isa;
- // ADT's.
- using llvm::Error;
- using llvm::StringRef;
- using llvm::Twine;
- using llvm::MemoryBuffer;
- using llvm::MemoryBufferRef;
- using llvm::ArrayRef;
- using llvm::SmallString;
- using llvm::SmallVector;
- using llvm::SmallVectorImpl;
- using llvm::SaveAndRestore;
- using llvm::ErrorOr;
- using llvm::Expected;
+// ADT's.
+using llvm::ArrayRef;
+using llvm::Error;
+using llvm::ErrorOr;
+using llvm::Expected;
+using llvm::MemoryBuffer;
+using llvm::MemoryBufferRef;
+using llvm::raw_ostream;
+using llvm::SmallString;
+using llvm::SmallVector;
+using llvm::StringRef;
+using llvm::Twine;
- using llvm::raw_ostream;
+using llvm::object::WasmObjectFile;
+using llvm::object::WasmSection;
+using llvm::object::WasmSegment;
+using llvm::object::WasmSymbol;
+using llvm::wasm::WasmEvent;
+using llvm::wasm::WasmEventType;
+using llvm::wasm::WasmFunction;
+using llvm::wasm::WasmGlobal;
+using llvm::wasm::WasmGlobalType;
+using llvm::wasm::WasmRelocation;
+using llvm::wasm::WasmSignature;
} // end namespace lld.
namespace std {
@@ -78,6 +94,6 @@ public:
return llvm::hash_value(s);
}
};
-}
+} // namespace std
#endif
diff --git a/include/lld/Common/Strings.h b/include/lld/Common/Strings.h
index e17b25763781..566030e43aa6 100644
--- a/include/lld/Common/Strings.h
+++ b/include/lld/Common/Strings.h
@@ -41,9 +41,6 @@ private:
std::vector<llvm::GlobPattern> Patterns;
};
-inline llvm::ArrayRef<uint8_t> toArrayRef(llvm::StringRef S) {
- return {reinterpret_cast<const uint8_t *>(S.data()), S.size()};
-}
} // namespace lld
#endif
diff --git a/include/lld/Common/TargetOptionsCommandFlags.h b/include/lld/Common/TargetOptionsCommandFlags.h
index 8443b184aa70..2eaecb72759e 100644
--- a/include/lld/Common/TargetOptionsCommandFlags.h
+++ b/include/lld/Common/TargetOptionsCommandFlags.h
@@ -19,4 +19,5 @@ namespace lld {
llvm::TargetOptions InitTargetOptionsFromCodeGenFlags();
llvm::Optional<llvm::CodeModel::Model> GetCodeModelFromCMModel();
std::string GetCPUStr();
+std::vector<std::string> GetMAttrs();
}
diff --git a/include/lld/Common/Threads.h b/include/lld/Common/Threads.h
index 854590753143..1425abd12922 100644
--- a/include/lld/Common/Threads.h
+++ b/include/lld/Common/Threads.h
@@ -74,7 +74,7 @@ template <typename R, class FuncTy> void parallelForEach(R &&Range, FuncTy Fn) {
}
inline void parallelForEachN(size_t Begin, size_t End,
- std::function<void(size_t)> Fn) {
+ llvm::function_ref<void(size_t)> Fn) {
if (ThreadsEnabled)
for_each_n(llvm::parallel::par, Begin, End, Fn);
else
diff --git a/include/lld/Core/TODO.txt b/include/lld/Core/TODO.txt
deleted file mode 100644
index 2aa61ff8612d..000000000000
--- a/include/lld/Core/TODO.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-include/lld/Core
-~~~~~~~~~~~~~~~~
-
-* The yaml reader/writer interfaces should be changed to return
- an explanatory string if there is an error. The existing error_code
- abstraction only works for returning low level OS errors. It does not
- work for describing formatting issues.
-
-* We need to add more attributes to File. In particular, we need cpu
- and OS information (like target triples). We should also provide explicit
- support for `LLVM IR module flags metadata`__.
-
-.. __: http://llvm.org/docs/LangRef.html#module_flags
-.. _Clang: http://clang.llvm.org/docs/InternalsManual.html#Diagnostics