summaryrefslogtreecommitdiff
path: root/COFF/MinGW.h
diff options
context:
space:
mode:
Diffstat (limited to 'COFF/MinGW.h')
-rw-r--r--COFF/MinGW.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/COFF/MinGW.h b/COFF/MinGW.h
new file mode 100644
index 0000000000000..fe6cc5588ebcf
--- /dev/null
+++ b/COFF/MinGW.h
@@ -0,0 +1,38 @@
+//===- MinGW.h --------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Linker
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLD_COFF_MINGW_H
+#define LLD_COFF_MINGW_H
+
+#include "Config.h"
+#include "Symbols.h"
+#include "lld/Common/LLVM.h"
+
+namespace lld {
+namespace coff {
+
+// Logic for deciding what symbols to export, when exporting all
+// symbols for MinGW.
+class AutoExporter {
+public:
+ AutoExporter();
+
+ llvm::StringSet<> ExcludeSymbols;
+ llvm::StringSet<> ExcludeLibs;
+ llvm::StringSet<> ExcludeObjects;
+
+ bool shouldExport(Defined *Sym) const;
+};
+
+void writeDefFile(StringRef Name);
+
+} // namespace coff
+} // namespace lld
+
+#endif