llvm-project/clang/lib/Driver
Scott Linder de6beb02a5 Implement -frecord-command-line (-frecord-gcc-switches)
Implement options in clang to enable recording the driver command-line
in an ELF section.

Implement a new special named metadata, llvm.commandline, to support
frontends embedding their command-line options in IR/ASM/ELF.

This differs from the GCC implementation in some key ways:

* In GCC there is only one command-line possible per compilation-unit,
  in LLVM it mirrors llvm.ident and multiple are allowed.
* In GCC individual options are separated by NULL bytes, in LLVM entire
  command-lines are separated by NULL bytes. The advantage of the GCC
  approach is to clearly delineate options in the face of embedded
  spaces. The advantage of the LLVM approach is to support merging
  multiple command-lines unambiguously, while handling embedded spaces
  with escaping.

Differential Revision: https://reviews.llvm.org/D54487
Clang Differential Revision: https://reviews.llvm.org/D54489

llvm-svn: 349155
2018-12-14 15:38:15 +00:00
..
ToolChains Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
Action.cpp [modules] Driver support for precompiling a collection of files as a single 2018-09-15 01:21:16 +00:00
CMakeLists.txt Add Hurd target to Clang driver (2/2) 2018-11-29 03:49:14 +00:00
Compilation.cpp Fix MSVC 2015 ambiguous symbol warning introduced by rL344337. NFCI. 2018-10-12 15:16:25 +00:00
Distro.cpp Add support of the next Ubuntu (Ubuntu 19.04 - Disco Dingo) 2018-11-04 17:41:41 +00:00
Driver.cpp Misc typos fixes in ./lib folder 2018-12-10 12:37:46 +00:00
DriverOptions.cpp Revert "Revert r311552: [Bash-autocompletion] Add support for static analyzer flags" 2017-08-29 00:09:31 +00:00
InputInfo.h Add an Action* member to InputInfo. 2016-01-11 23:15:21 +00:00
Job.cpp Re-commit r344234 "clang-cl: Add /showFilenames option (PR31957)" 2018-10-13 19:13:14 +00:00
Multilib.cpp [Driver] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2018-03-20 21:08:59 +00:00
Phases.cpp
SanitizerArgs.cpp [asan] Add clang flag -fsanitize-address-use-odr-indicator 2018-12-05 01:44:31 +00:00
Tool.cpp Rename the version of ConstructJob for multiple outputs to ConstructJobMultipleOutputs. 2016-11-03 15:41:50 +00:00
ToolChain.cpp Misc typos fixes in ./lib folder 2018-12-10 12:37:46 +00:00
Types.cpp [modules] Driver support for precompiling a collection of files as a single 2018-09-15 01:21:16 +00:00
XRayArgs.cpp [Driver] Support XRay on Fuchsia 2018-11-22 02:36:47 +00:00