Documentation update.
authorMikhail Glushenkov <foldr@codedgers.com>
Fri, 30 May 2008 06:28:00 +0000 (06:28 +0000)
committerMikhail Glushenkov <foldr@codedgers.com>
Fri, 30 May 2008 06:28:00 +0000 (06:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51758 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llvmc2/doc/LLVMC-Reference.rst

index b0f88fc7ab6a54b092e703fbf19306fe9413caf7..f2c5a34bfd6747199a77c642c62883f38a28756b 100644 (file)
@@ -231,6 +231,11 @@ currently implemented option types and properties are described below:
    - ``prefix_list_option`` - same as the above, but more than one
      occurence of the option is allowed; example: ``-lm -lpthread``.
 
+   - ``alias_option`` - a special option type for creating
+     aliases. Unlike other option types, aliases are not allowed to
+     have any properties besides the aliased option name. Usage
+     example: ``(alias_option "preprocess", "E")``
+
 
 * Possible option properties:
 
@@ -254,6 +259,28 @@ currently implemented option types and properties are described below:
    - ``required`` - this option is obligatory.
 
 
+Option list - specifying all options in a single place
+======================================================
+
+It can be handy to have all information about options gathered in a
+single place to provide an overview. This can be achieved by using a
+so-called ``OptionList``::
+
+    def Options : OptionList<[
+    (switch_option "E", (help "Help string")),
+    (alias_option "quiet", "q")
+    ...
+    ]>;
+
+``OptionList`` is also a good place to specify option aliases.
+
+Tool-specific option properties like ``append_cmd`` have (obviously)
+no meaning in the context of ``OptionList``, so the only properties
+allowed there are ``help`` and ``required``.
+
+Option lists are used at the file scope. See file
+``examples/Clang.td`` for an example of ``OptionList`` usage.
+
 Using hooks and environment variables in the ``cmd_line`` property
 ==================================================================