llvm-project/clang/test/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
..
Inputs Add Hurd target to Clang driver (2/2) 2018-11-29 03:49:14 +00:00
XRay
B-opt.c
O.c
Ofast.c
Wp-args.c
Xarch.c
Xlinker-args.c
aarch64-call-saved-x-register.c
aarch64-cpus.c
aarch64-dotprod.c
aarch64-features.c
aarch64-fix-cortex-a53-835769.c
aarch64-fixed-call-saved-x-register.c
aarch64-fixed-x-register.c
aarch64-mgeneral_regs_only.c
aarch64-mte.c
aarch64-outliner.c
aarch64-rand.c
aarch64-ras.c
aarch64-rcpc.s
aarch64-rdm.c
aarch64-security-options.c [NFC][Clang][Aarch64] Add missing test file 2018-11-07 11:42:02 +00:00
aarch64-ssbs.c [AArch64] Add command-line option for SSBS 2018-12-03 14:40:37 +00:00
addrsig.c
altivec-asm.S
amdgcn-toolchain-pic.cl
amdgpu-features.c AMDGPU: Add sram-ecc feature options 2018-11-05 22:44:59 +00:00
amdgpu-macros.cl AMDGPU: Handle gfx909 in AMDGPUTargetInfo::initFeatureMap 2018-10-24 19:07:56 +00:00
amdgpu-mcpu.cl AMDGPU: Handle gfx909 in AMDGPUTargetInfo::initFeatureMap 2018-10-24 19:07:56 +00:00
amdgpu-toolchain-opencl.cl
amdgpu-toolchain.c
amdgpu-visibility.cl
analyze.c
analyzer-target-enabled-checkers.cpp
ananas.c
android-aarch64-link.cpp set default max-page-size to 4KB in lld for Android Aarch64 2018-11-29 18:52:22 +00:00
android-gcc-toolchain.c
android-ndk-standalone.cpp [Driver] Reland again again: Default Android toolchains to libc++. 2018-11-05 20:57:46 +00:00
android-pie.c
android-standalone.cpp
apple-kext-mkernel.c
appletvos-version-min.c
arc-exceptions.m
arc.c
arch-armv7k.c
arch-specific-libdir-rpath.c
arch-specific-libdir.c
arch.c
arclite-link.c
arm-abi.c
arm-alignment.c
arm-arch-darwin.c
arm-compiler-rt.c
arm-cortex-cpus.c
arm-default-build-attributes.s
arm-dotprod.c
arm-execute-only.c
arm-features.c
arm-fixed-r9.c
arm-float-abi.c
arm-hwdiv.c
arm-ias-Wa.s
arm-implicit-it.s
arm-long-calls.c
arm-mfpu.c
arm-multilibs.c
arm-no-movt.c
arm-no-neg-immediates.c
arm-ras.c
arm-restrict-it.c
arm-target-as-mthumb.s
arm-thumb-only-cores.c
arm-wchar_t-defaults.c
arm-xscale.c
arm64-as.s
arm64-darwinpcs.c
armv8-crc.c
as-default-dwarf.s
as-dwarf-cie.s
as-mcpu.c
as-options.s
asan.c
ast.c
at_file.c
at_file.c.args
at_file.c.args.utf16le
at_file_missing.c
at_file_win.c
at_file_win.c.args
autocomplete.c [autocompletion] Handle the space before pressing tab 2018-10-24 12:43:25 +00:00
autolink_integrated_as.c
avr-mmcu.c
avr-toolchain.c
baremetal.cpp
biarch.c
bindings.c
cc-log-diagnostics.c
cc-print-options.c
cc1-response-files.c
ccc-as-cpp.c
ccc-host-triple-no-integrated-as.c
cf-runtime-abi.c Driver,CodeGen: introduce support for Swift CFString layout 2018-10-24 23:28:28 +00:00
cl-cc-flags.c
cl-diagnostics.c
cl-eh.cpp
cl-fallback.c
cl-include.c
cl-inputs.c
cl-link-at-file.c
cl-link.c
cl-options.c [clang-cl] Do not allow using both /Zc:dllexportInlines- and /fallback flag 2018-11-13 04:14:09 +00:00
cl-outputs.c
cl-pch-errorhandling.cpp
cl-pch-search.cpp
cl-pch-showincludes.cpp
cl-pch.c
cl-pch.cpp
cl-response-file.c
cl-runtime-flags.c
cl-showfilenames.c
cl-x86-flags.c
cl-zc.cpp
cl.c
claim-unused.c
clang-c-as-cxx.c
clang-exception-flags.cpp
clang-g-opts.c
clang-offload-bundler.c Revert "[PowerPC] Make no-PIC default to match GCC - CLANG" 2018-12-11 15:47:57 +00:00
clang-offload-bundler.c.o
clang-s-opts.s
clang-translation.c
clang-translation.cppm
clang_cpp.c
clang_f_opts.c Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
clang_f_opts.h
clang_wrapv_opts.c
cloudabi.c
cloudabi.cpp
code-model.c
codeview-column-info.c
color-diagnostics.c
compilation_database.c
complete-member-pointers.cpp
compress-noias.c
compress.c
config-file-errs.c
config-file.c
config-file2.c
config-file3.c
config-file4.c
constructors.c
coroutines.c
coroutines.cpp
coverage-ld.c
coverage.c
coverage_no_integrated_as.c
cpath.c
cpp-precomp.c
crash-diagnostics-dir.c
crash-report-crashfile.m
crash-report-header.h
crash-report-modules.m
crash-report-null.test
crash-report-spaces.c
crash-report.c
cross-linux.c
cuda-arch-translation.cu
cuda-bad-arch.cu
cuda-bail-out.cu
cuda-bindings.cu
cuda-constructor-alias.cu
cuda-detect-path.cu
cuda-detect.cu
cuda-dwarf-2.cu [CUDA][OPENMP][NVPTX]Improve logic of the debug info support. 2018-12-12 14:52:27 +00:00
cuda-external-tools.cu
cuda-macosx.cu
cuda-march.cu
cuda-no-pgo-or-coverage.cu
cuda-no-sanitizers.cu
cuda-no-stack-protector.cu
cuda-not-found.cu
cuda-options.cu
cuda-output-asm.cu
cuda-phases.cu [HIP] Fix device only compilation 2018-11-14 04:47:31 +00:00
cuda-ptxas-path.cu
cuda-simple.cu
cuda-unsupported-debug-options.cu
cuda-unused-arg-warning.cu
cuda-version-check.cu
cuda-windows.cu
cxa-atexit.cpp
darwin-arch-default.c
darwin-as.c
darwin-asan-nofortify.c
darwin-debug-flags.c
darwin-dsymutil.c
darwin-embedded.c
darwin-infer-simulator-sdkroot.c
darwin-iphone-defaults.m
darwin-ld-dedup.c
darwin-ld-demangle.c
darwin-ld-lto.c
darwin-ld-pthread.c
darwin-ld.c [gcov/Darwin] Ensure external symbols are exported when using an export list 2018-12-03 20:53:58 +00:00
darwin-max-type-align.c
darwin-multiarch-arm.c
darwin-objc-defaults.m
darwin-objc-options.m
darwin-sanitizer-ld.c
darwin-sdk-vs-os-version.c
darwin-sdkroot.c
darwin-simulator-macro.c
darwin-stdlib.cpp Fix test change from r348365 to deal with Windows paths correctly. 2018-12-05 23:10:14 +00:00
darwin-verify-debug.c
darwin-version.c
darwin-xarch.c
debug-comp-dir.S
debug-main-file.S
debug-options-as.c
debug-options.c Implement -frecord-command-line (-frecord-gcc-switches) 2018-12-14 15:38:15 +00:00
debug-prefix-map.S
debug-prefix-map.c
debug-unsupported.c
debug.c
default-image-name.c
default-toolchain.c
defsym.s
denormal-fp-math.c
diagnostics.c
disable-llvm.c
dragonfly.c
dyld-prefix.c
dynamic-linker.c
eabi.c
elfiamcu-header-search.c
embed-bitcode.c
embed-bitcode.s [Driver] Add support for -fembed-bitcode for assembly file 2018-12-12 17:30:16 +00:00
emulated-tls.cpp
env.c
esan.c
exceptions.m
fast-math.c
fatal-warnings.c
fcomment-block-commands.c
fembed-bitcode.c
flags.c
fno-escaping-block-tail-calls.c
fno-rtti-data.cpp
fopenmp.c
fortran.f95
fpack-struct.c
fparse-all-comments.c
fplugin.c
frame-pointer-elim.c
frame-pointer.c
freebsd-mips-as.c
freebsd.c
freebsd.cpp
fsanitize-blacklist.c
fsanitize-coverage.c
fsanitize-object-size.c
fsanitize.c [asan] Add clang flag -fsanitize-address-use-odr-indicator 2018-12-05 01:44:31 +00:00
fsjlj-exceptions.c
fubsan-strip-path-components.cpp
fuchsia.c [Driver] Support XRay on Fuchsia 2018-11-22 02:36:47 +00:00
fuchsia.cpp [Driver] Use -Bstatic/dynamic for libc++ on Fuchsia 2018-11-04 22:38:47 +00:00
function-alignment.c
function-sections.c
fuse-ld-windows.c
fuse-ld.c
fuzzer.c
fveclib.c
gcc-toolchain.cpp
gcc-version-debug.c
gcc_forward.c
gcodeview-ghash.c Add missing test for r347072 -gcodeview-ghash 2018-11-16 23:17:11 +00:00
gfortran.f90
global-isel.c
gnu-runtime.m
gold-lto-new-pass-man.c
gold-lto-samplepgo.c
gold-lto-sections.c
gold-lto.c
header-module.cpp Reapply "Fix regression in behavior of clang -x c++-header -fmodule-name=XXX" 2018-11-05 12:46:02 +00:00
hexagon-hvx.c [Hexagon] Add support for Hexagon V66 2018-12-05 21:38:35 +00:00
hexagon-long-calls.c
hexagon-memops.c
hexagon-nvj.c
hexagon-nvs.c
hexagon-packets.c
hexagon-toolchain-elf.c [Hexagon] Add support for Hexagon V66 2018-12-05 21:38:35 +00:00
hexagon-vectorize.c Revert r345170 [along with its llvm counterpart r345169] as it makes Halide builds timeout. 2018-10-27 04:51:09 +00:00
hip-binding.hip
hip-device-libs.hip
hip-inputs.hip
hip-output-file-name.hip
hip-toolchain-no-rdc.hip
hip-toolchain-rdc.hip
hurd.c Add Hurd target to Clang driver (2/2) 2018-11-29 03:49:14 +00:00
ident_md.c
immediate-options.c
implicit-function-as-error.c
include-default-header.cl
incompatible_sysroot.c
incremental-linker-compatible.c
index-header-map.c
indirect-tls-seg-refs.c
inhibit-downstream-commands.c
inline-asm.c
instrprof-ld.c
integrated-as.c
integrated-as.s Allow forwarding -fdebug-compilation-dir to cc1as 2018-12-06 18:50:39 +00:00
ios-simulator-arcruntime.c
ios-version-min.c
krait-cpu.c
lanai-toolchain.c
lanai-unknown-unknown.cpp
le32-toolchain.c
le32-unknown-nacl.cpp
le64-unknown-unknown.cpp
linker-opts.c
linux-as.c
linux-header-search.cpp [Driver] Support g++ headers in include/g++ 2018-11-13 21:38:45 +00:00
linux-ld.c
linux-per-target-runtime-dir.c
lit.local.cfg
lto-dwo.c
lto-jobs.c
lto-plugin-darwin.c
lto-plugin-linux.c
lto-plugin-windows.c
lto-unit.c
lto.c
lto.cu
m_and_mm.c
macho-embedded.c
masm.c
masm.s
mbig-obj.c
mg.c
mglobal-merge.c
miamcu-opt.c
miamcu-opt.cpp
mingw-libgcc.c
mingw-lto.c
mingw-msvcrt.c
mingw-sanitizers.c
mingw-sysroot.cpp
mingw-windowsapp.c
mingw.cpp
mips-abi.c
mips-abicalls-error.c Replace the UTF-8 characters in the error message. 2018-11-18 22:30:58 +00:00
mips-abicalls-warning.c
mips-as.c
mips-cs.cpp
mips-eleb.c
mips-features.c
mips-float.c
mips-fsf.cpp
mips-gpopt-warning.c
mips-ias-Wa.s
mips-img-v2.cpp
mips-img.cpp
mips-indirect-branch.c
mips-integrated-as.s
mips-mabs-warning.c
mips-mti-linux.c
mips-mti.cpp
mips-reduced-toolchain.cpp
mipsel-nacl-defines.cpp
modules-cache-path.m
modules-ts.cpp
modules.m
modules.mm
montavista-gcc-toolchain.c
mprefer-vector-width.c
mrecip.c
ms-bitfields.c
msan.c
msc-version.c
msvc-compiler-rt.c
msvc-link.c
msvc-triple.c
msvc_forward.c
myriad-toolchain.c
nacl-direct.c
netbsd.c
netbsd.cpp
nios2-cpu.c
no-arc-exception-silence.m
no-canonical-prefixes.c
no-integrated-as-win.c
no-integrated-as.c
no-integrated-as.s
no-objc-arr.m
no-objc-default-synthesize-properties.m
no-sibling-calls.c
nodefaultlib.c
noexecstack.c
noinline.c
nostdincxx.cpp
nostdlib.c
nostdlibinc.c
nostdlibxx.cpp
nozlibcompress.c
objc++-cpp-output.mm
objc-convert-messages-to-runtime-calls.m Convert some ObjC msgSends to runtime calls. 2018-12-08 05:13:50 +00:00
objc-cpp-output.m
objc-sdk-migration-options.m
objc-weak.m
offloading-interoperability.c
openbsd.c [PowerPC] Set the default PLT mode on OpenBSD/powerpc to Secure PLT. 2018-11-19 00:21:06 +00:00
openbsd.cpp
opencl.cl
openmp-offload-gpu.c [CUDA][OPENMP][NVPTX]Improve logic of the debug info support. 2018-12-12 14:52:27 +00:00
openmp-offload.c
openmp-unsupported-debug-options.c
opt-record.c
option-aliases.c
output-file-cleanup.c
output-file-is-dir.c
parse-progname.c
pch-deps.c
phases.c
pic.c
ppc-abi.c Revert "[PowerPC] Make no-PIC default to match GCC - CLANG" 2018-12-11 15:47:57 +00:00
ppc-dependent-options.cpp
ppc-endian.c
ppc-f128-support-check.c
ppc-features.cpp
prefixed-tools.c
preprocess-multiple.c
preprocessor.c
preserve-as-comments.c
preserve-uselistorder.c
print-effective-triple.c
print-empty-prog-name.c
print-libgcc-file-name-clangrt.c
print-libgcc-file-name-libgcc.c
print-multi-directory.c
print-target-triple.c
ps4-analyzer-defaults.cpp
ps4-cpu-defaults.cpp
ps4-header-search.c
ps4-linker-non-win.c
ps4-linker-win.c
ps4-pic.c
ps4-runtime-flags.c
ps4-sdk-root.c
qa_override.c
redundant-args.c
redzone.c
relax.c
relax.s
reloc-model.c
renderscript.rs
response-file-extra-whitespace.c
response-file.c
retain-comments-from-system-headers.c
rewrite-legacy-objc.m [darwin] remove version number check when enabling -fobjc-subscripting-legacy-runtime 2018-12-06 02:44:23 +00:00
rewrite-map-files.c
rewrite-map-in-diagnostics.c
rewrite-objc.m
riscv-abi.c Revert "[RISCV] Mark unit tests as "requires: riscv-registered-target"" 2018-12-05 19:19:38 +00:00
riscv-arch.c Revert "[RISCV] Mark unit tests as "requires: riscv-registered-target"" 2018-12-05 19:19:38 +00:00
riscv-features.c Revert "[RISCV] Mark unit tests as "requires: riscv-registered-target"" 2018-12-05 19:19:38 +00:00
riscv-gnutools.c Revert "[RISCV] Mark unit tests as "requires: riscv-registered-target"" 2018-12-05 19:19:38 +00:00
riscv32-toolchain.c Revert "[RISCV] Mark unit tests as "requires: riscv-registered-target"" 2018-12-05 19:19:38 +00:00
riscv64-toolchain.c Revert "[RISCV] Mark unit tests as "requires: riscv-registered-target"" 2018-12-05 19:19:38 +00:00
ropi-rwpi.c
rtti-options.cpp
sanitize_unwind_tables.c
sanitizer-ld.c Revert "[Driver] Use --push/pop-state with Sanitizer link deps" 2018-11-21 21:59:39 +00:00
save-stats.c
save-temps.c
show-option-names.c
solaris-header-search.cpp
solaris-ld.c
solaris-opts.c
sparc-as.c
sparc-float.c
sparcv9-as.c
split-debug.c [Clang] - Add '-gsplit-dwarf[=split,=single]' version for '-gsplit-dwarf' option. 2018-11-14 09:22:16 +00:00
split-debug.h
split-debug.s [Clang] - Add '-gsplit-dwarf[=split,=single]' version for '-gsplit-dwarf' option. 2018-11-14 09:22:16 +00:00
split-stack-ld.c
stack-arg-probe.c
stack-protector.c
stack-size-section.c
stackrealign.c
std.c
std.cpp
symbol-rewriter.c
sysroot-flags.c
sysroot.c
systemz-as.s
systemz-features.cpp
systemz-march.c
target-abi-cc1as.s
target-as.s
target-override.c
target-triple-deployment.c
target.c
thinlto.c
thinlto.cu
thinlto_backend.c
thread-model.c
tsan.c
types.c
unavailable_aligned_allocation.cpp
unix-conformance.c
unknown-arg.c
unknown-gcc-arch.c
unknown-std.S
unknown-std.c
unknown-std.cl
unknown-std.cpp
unsupported-faltivec.c
unsupported-option.c
unsupported-target-arch.c
verify_pch.m
vfsoverlay.c
via-file-asm.c
visibility.cpp
warning-options.cpp
warning-options_pedantic.cpp
wasm-toolchain.c
wasm-toolchain.cpp
wasm32-unknown-unknown.cpp
wasm64-unknown-unknown.cpp
watchos-version-min.c
whole-program-vtables.c
win-macho-unwind.c
windows-arm-minimal-arch.c
windows-cross.c
windows-exceptions.cpp
windows-pic.cpp
windows-thumb.s
windows-wildcard-expansion.c
woa-fp.c
woa-restrict-it.c
working-directory-and-abs.c
working-directory.c
x86-march.c [X86] Add -march=cascadelake support in clang. 2018-11-27 18:05:14 +00:00
x86-target-features.c
x86_64-nacl-defines.cpp
x86_features.c
x86_m16.c
xcore-opts.c