Lines Matching +full:unused +full:- +full:command +full:- +full:line +full:- +full:argument
19 providing access to the Clang compiler and tools, with a command line
29 -----------------
35 the gcc command line interface was worth it in order to allow users to
39 --------
51 ------------
59 - Avoid memory allocation and string copying when possible.
60 - Don't parse arguments more than once.
61 - Provide a few simple interfaces for efficiently searching arguments.
64 ------
81 ----------------------
87 driver-driver, which is used to implement support for building universal
91 command line arguments to child processes correctly.
94 ---------------
107 -------------
113 The command line argument strings are decomposed into arguments
116 classes of options through (like ``-Wl,``).
118 Each argument corresponds to exactly one abstract ``Option``
125 For example, a command line like "-Ifoo -I foo" would parse to two
137 argument strings. Each Arg itself only needs to contain an index into
141 ``-###`` flag (which must precede any actual command
142 line arguments). For example:
144 .. code-block:: console
146 $ clang -### -Xarch_i386 -fomit-frame-pointer -Wa,-fast -Ifoo -I foo t.c
147 Option 0 - Name: "-Xarch_", Values: {"i386", "-fomit-frame-pointer"}
148 Option 1 - Name: "-Wa,", Values: {"-fast"}
149 Option 2 - Name: "-I", Values: {"foo"}
150 Option 3 - Name: "-I", Values: {"foo"}
151 Option 4 - Name: "<input>", Values: {"t.c"}
153 After this stage is complete the command line should be broken down
165 or more top-level actions, each of which generally corresponds to a
170 adapt an input argument for use as an input to other Actions. The
175 ``-ccc-print-phases`` flag. For example:
177 .. code-block:: console
179 $ clang -ccc-print-phases -x c t.c -x assembler t.s
181 1: preprocessor, {0}, cpp-output
197 .. code-block:: console
199 $ clang -ccc-print-phases -c -arch i386 -arch x86_64 t0.c t1.c
201 1: preprocessor, {0}, cpp-output
204 4: bind-arch, "i386", {3}, object
205 5: bind-arch, "x86_64", {3}, object
208 8: preprocessor, {7}, cpp-output
211 11: bind-arch, "i386", {10}, object
212 12: bind-arch, "x86_64", {10}, object
217 intermediate or final outputs (in some cases, like ``-fsyntax-only``,
236 options such as ``-save-temps``).
246 can print the results via the ``-ccc-print-bindings`` option. For
249 .. code-block:: console
251 $ clang -ccc-print-bindings -arch i386 -arch ppc t0.c
252 # "i386-apple-darwin9" - "clang", inputs: ["t0.c"], output: "/tmp/cc-Sn4RKF.s"
253 …# "i386-apple-darwin9" - "darwin::Assemble", inputs: ["/tmp/cc-Sn4RKF.s"], output: "/tmp/cc-gvSnbS…
254 …# "i386-apple-darwin9" - "darwin::Link", inputs: ["/tmp/cc-gvSnbS.o"], output: "/tmp/cc-jgHQxi.out"
255 # "ppc-apple-darwin9" - "gcc::Compile", inputs: ["t0.c"], output: "/tmp/cc-Q0bTox.s"
256 … # "ppc-apple-darwin9" - "gcc::Assemble", inputs: ["/tmp/cc-Q0bTox.s"], output: "/tmp/cc-WCdicw.o"
257 … # "ppc-apple-darwin9" - "gcc::Link", inputs: ["/tmp/cc-WCdicw.o"], output: "/tmp/cc-HHBEBh.out"
258 …# "i386-apple-darwin9" - "darwin::Lipo", inputs: ["/tmp/cc-jgHQxi.out", "/tmp/cc-HHBEBh.out"], out…
266 #. **Translate: Tool Specific Argument Translation**
271 command line options to whatever options the subprocess expects.
284 argument strings) to execute.
290 ``-pipe``, ``-pass-exit-codes`` and ``-time``.
293 ----------------
298 The driver constructs a Compilation object for each set of command line
317 ToolChain Argument Translation
321 tool chains to perform their own translation of the argument list (into
327 For example, on Darwin ``-gfull`` gets translated into two separate
328 arguments, ``-g`` and ``-fno-eliminate-unused-debug-symbols``. Trying to
329 write Tool logic to do something with ``-gfull`` will not work, because
330 Tool argument translation is done after the arguments have been
337 Unused Argument Warnings
343 about which options to use, some command line arguments the user really
344 cared about may go unused. This problem is particularly important when
350 argument of whether it has been used (at all) during the compilation.
355 checks the bit and emits an "unused argument" warning for any arguments
356 which were never accessed. This is conservative (the argument may not
361 -------------------------------
366 - **Driver Driver**
370 during the *Pipeline* phase. The tool chain specific argument
371 translation is responsible for handling ``-Xarch_``.
373 The one caveat is that this approach requires ``-Xarch_`` not be used
375 ``-S`` as an ``-Xarch_`` argument). The driver attempts to reject
377 ``-Xarch_`` to that end in practice.
383 - **Specs**
387 Tool specific argument translation routines. The parts of specs which
391 - **Toolchains**