----------------
Allowed features are based on what these compilers support. Features that are ok
-to ommit (such as final or = delete) may be conditionally used via macros.
+to omit (such as final or = delete) may be conditionally used via macros.
* All of the C++11 standard library, including threading and atomics
* auto
* Range based for loop
* final via LLVM_FINAL
-Note that some of these features may not be fullly or correctly implemented in
+Note that some of these features may not be fully or correctly implemented in
all compilers. Issues using these features should be added here as they are
encountered.
Flavors
-------
-Each of these different interfaces is refered to as a flavor. There is also an
-extra flavor for ``lld -core``. This is eqivilent to ``-cc1`` in clang.
+Each of these different interfaces is referred to as a flavor. There is also an
+extra flavor for ``lld -core``. This is equivalent to ``-cc1`` in clang.
The current flavors are.
* ld
#. If there is no ``lld -core`` option, add the option to
:file:`lib/Driver/CoreOptions.td`. All ``lld -core`` start with a single -
and if they have a value, it is joined with a =. ``lld -core`` options should
- have sensible, non-abbrivated names and should be shared between flavors
+ have sensible, non-abbreviated names and should be shared between flavors
where possible.
#. Modify the ``{flavor}Driver::transform`` function to transform the added
#. Add a tablegen file called :file:`lib/Driver/{flavor}Options.td` that
describes the options. If the options are a superset of another driver, that
driver's td file can simply be included. The :file:`{flavor}Options.td` file
- must also be added to :file:`lib/Driver/CMakeListst.txt`.
+ must also be added to :file:`lib/Driver/CMakeLists.txt`.
#. Add a ``{flavor}::{flavor}OptTable`` as a subclass of
:cpp:class:`llvm::opt::OptTable` in :file:`lib/Driver/Drivers.cpp`.
* AbsoluteAtom
This is for embedded support where some stuff is implemented in ROM at
some fixed address. This atom has no content. It is just an address
- that the Writer needs to fixup any references to point to.
+ that the Writer needs to fix up any references to point to.
File Model
one-and-only way to control how the Reader operates when parsing an input file
into an Atom graph. For instance, you may want the Reader to only accept
certain architectures. The options class can be instantiated from command
-line options, or it can be subclassed and the ivars programatically set.
+line options, or it can be subclassed and the ivars programmatically set.
Resolving
* TLV instantiation (Darwin specific)
- * dtrace probe processing (Darwin specific)
+ * DTrace probe processing (Darwin specific)
* compact unwind encoding (Darwin specific)
place the content of the atoms into it.
lld uses a plug-in model for writing output files. All concrete writers (e.g.
-ELF, mach-o, etc) are subclasses of the lld::Writer classs.
+ELF, mach-o, etc) are subclasses of the lld::Writer class.
Unlike the Reader class which has just one method to instantiate an lld::File,
the Writer class has multiple methods. The crucial method is to generate the
file from an Atom graph. For instance, you may want the Writer to optimize
the output for certain OS versions, or strip local symbols, etc. The options
class can be instantiated from command line options, or it can be subclassed
-and the ivars programatically set.
+and the ivars programmatically set.
lld::File representations
For more information on using CMake see the `LLVM CMake guide`_.
-.. _LLVM Cmake guide: http://llvm.org/docs/CMake.html
+.. _LLVM CMake guide: http://llvm.org/docs/CMake.html
to install it using:
Linux
- Use your distributions standard package managament tool to install it, i.e.,
- ``apt-get install easy_install`` or ``yum install easy_install``.
+ Use your distribution's standard package management tool to install it,
+ i.e., ``apt-get install easy_install`` or ``yum install easy_install``.
Mac OS X
All modern Mac OS X systems come with ``easy_install`` as part of the base