summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/docs/open_projects.rst3
-rw-r--r--lld/include/lld/Core/TODO.txt9
-rw-r--r--lld/lib/Core/TODO.txt11
-rw-r--r--lld/tools/lld/TODO.txt14
4 files changed, 30 insertions, 7 deletions
diff --git a/lld/docs/open_projects.rst b/lld/docs/open_projects.rst
index fd3a681ecd3..e7b631bea39 100644
--- a/lld/docs/open_projects.rst
+++ b/lld/docs/open_projects.rst
@@ -5,8 +5,9 @@ Open Projects
.. include:: ../include/lld/Core/TODO.txt
.. include:: ../lib/Core/TODO.txt
+.. include:: ../tools/lld/TODO.txt
Documentation TODOs
--------------------
+~~~~~~~~~~~~~~~~~~~
.. todolist::
diff --git a/lld/include/lld/Core/TODO.txt b/lld/include/lld/Core/TODO.txt
index 6a194392ba0..8888c763ef6 100644
--- a/lld/include/lld/Core/TODO.txt
+++ b/lld/include/lld/Core/TODO.txt
@@ -6,5 +6,12 @@ include/lld/Core
abstraction only works for returning low level OS errors. It does not
work for describing formatting issues.
+* We need to design a diagnostics interface. It would be nice to share code
+ with Clang_ where possible.
+
* We need to add more attributes to File. In particular, we need cpu
- and OS information (like target triples).
+ 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
diff --git a/lld/lib/Core/TODO.txt b/lld/lib/Core/TODO.txt
index 6853e417d0c..4a5decbac6a 100644
--- a/lld/lib/Core/TODO.txt
+++ b/lld/lib/Core/TODO.txt
@@ -17,9 +17,10 @@ lib/Core
to map disk values to in-memory values.
* The Platform interface needs to be refactored. There should be less work
- done in the platform. Instead the Platform should just be a bunch of bool
- methods which direct the Resolver in how to operate. Subclasses of
- Platform can set the bool values in their constructors.
+ done in the platform. Instead the Platform should just be a bunch of
+ predicate member functcions which direct the Resolver in how to operate.
+ Subclasses of Platform can set the predicate values in their constructors. An
+ alternative to having the platform provide this directly is to have the
+ Platform return a LinkInfo object similar to MCAsmInfo and friends.
-* The YamlReader should be converted to use Michael's yaml parser once
- that goes into LLVM.
+* The YamlReader should be converted to use LLVM's Support::YAMLParser.
diff --git a/lld/tools/lld/TODO.txt b/lld/tools/lld/TODO.txt
new file mode 100644
index 00000000000..07e5b0a8f0b
--- /dev/null
+++ b/lld/tools/lld/TODO.txt
@@ -0,0 +1,14 @@
+tools/lld
+~~~~~~~~~
+
+Driver
+------
+
+lld needs a driver that supports gnu-ld_, ld64_, and link.exe_ arguments. It
+would be nice to refactor the argument parsing parts of `Clang's`_ driver support
+out to LLVM's Support library.
+
+.. _gnu-ld: http://sourceware.org/binutils/docs-2.22/ld/Options.html#Options
+.. _ld64: https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/Xcode-3.2.5/man1/ld.1.html
+.. _link.exe: http://msdn.microsoft.com/en-us/library/y0zzbyt4(v=vs.110).aspx
+.. _Clang's: http://clang.llvm.org/docs/DriverInternals.html
OpenPOWER on IntegriCloud