[llvm] r311113 - [docs] Tweak phrasing of the varargs explanation in the command section of the

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 17 11:21:53 PDT 2017


Author: lhames
Date: Thu Aug 17 11:21:53 2017
New Revision: 311113

URL: http://llvm.org/viewvc/llvm-project?rev=311113&view=rev
Log:
[docs] Tweak phrasing of the varargs explanation in the command section of the
CMake primer.

This moves the introduction of the ARGV/ARGN variables up to immmediately follow
the introduction of the concept of variable argument functions, and explicitly
connects this concept to C varargs functions.


Modified:
    llvm/trunk/docs/CMakePrimer.rst

Modified: llvm/trunk/docs/CMakePrimer.rst
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/CMakePrimer.rst?rev=311113&r1=311112&r2=311113&view=diff
==============================================================================
--- llvm/trunk/docs/CMakePrimer.rst (original)
+++ llvm/trunk/docs/CMakePrimer.rst Thu Aug 17 11:21:53 2017
@@ -333,10 +333,13 @@ When defining a CMake command handling a
 in this section will all use the CMake ``function`` block, but this all applies
 to the ``macro`` block as well.
 
-CMake commands can have named arguments, but all commands are implicitly
-variable argument. If the command has named arguments they are required and must
-be specified at every call site. Below is a trivial example of providing a
-wrapper function for CMake's built in function ``add_dependencies``.
+CMake commands can have named arguments that are requried at every call site. In
+addition, all commands will implicitly accept a variable number of extra
+arguments (In C parlance, all commands are varargs functions). When a command is
+invoked with extra arguments (beyond the named ones) CMake will store the extra
+arguments in a list named ``ARGV``, and the count of the extra arguments in
+``ARGN``. Below is a trivial example of providing a wrapper function for CMake's
+built in function ``add_dependencies``.
 
 .. code-block:: cmake
 
@@ -346,8 +349,7 @@ wrapper function for CMake's built in fu
 
 This example defines a new macro named ``add_deps`` which takes a required first
 argument, and just calls another function passing through the first argument and
-all trailing arguments. When variable arguments are present CMake defines them
-in a list named ``ARGV``, and the count of the arguments is defined in ``ARGN``.
+all trailing arguments.
 
 CMake provides a module ``CMakeParseArguments`` which provides an implementation
 of advanced argument parsing. We use this all over LLVM, and it is recommended




More information about the llvm-commits mailing list