llvm-project/clang/lib
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
..
ARCMigrate Misc typos fixes in ./lib folder 2018-12-10 12:37:46 +00:00
AST Fix up diagnostics. 2018-12-14 03:35:10 +00:00
ASTMatchers [clang] Add AST matcher for block expressions 🔍 2018-12-13 03:35:10 +00:00
Analysis Change CallGraph print to show the fully qualified name 2018-12-12 18:11:36 +00:00
Basic Basic: make `int_least64_t` and `int_fast64_t` match on Darwin 2018-12-12 17:05:20 +00:00
CodeGen Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
CrossTU Fix up diagnostics. 2018-12-14 03:35:10 +00:00
Driver Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
Edit [Fixed Point Arithmetic] Fixed Point to Boolean Cast 2018-10-23 17:55:35 +00:00
Format [clang-format] Do not treat asm clobber [ as ObjCExpr, refined 2018-11-22 14:49:55 +00:00
Frontend Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
FrontendTool PTH-- Remove feature entirely- 2018-12-04 14:34:09 +00:00
Headers [Builltins][X86] Provide implementations of __lzcnt16, __lzcnt, __lzcnt64 for MS compatibility. Remove declarations from intrin.h and implementations from lzcntintrin.h 2018-12-14 00:21:02 +00:00
Index [OpenCL] Add generic AS to 'this' pointer 2018-12-13 10:15:27 +00:00
Lex Misc typos fixes in ./lib folder 2018-12-10 12:37:46 +00:00
Parse Fix up diagnostics. 2018-12-14 03:35:10 +00:00
Rewrite Misc typos fixes in ./lib folder 2018-12-10 12:37:46 +00:00
Sema Revert "Make -Wstring-plus-int warns even if when the result is not out of bounds" 2018-12-14 00:43:34 +00:00
Serialization Fix up diagnostics. 2018-12-14 03:35:10 +00:00
StaticAnalyzer [analyzer][CStringChecker] evaluate explicit_bzero 2018-12-11 18:57:07 +00:00
Tooling Add explicit dependency on clangSerialization for a bunch of components to fix -DBUILD_SHARED_LIBS=on build 2018-12-12 08:02:18 +00:00
CMakeLists.txt