CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
294 lines
13 KiB
C++
294 lines
13 KiB
C++
// UNSUPPORTED: system-windows
|
|
|
|
/// Check default header and linker paths for each supported triple.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=PATHS
|
|
|
|
// RUN: %clang -### %s --target=aarch64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=PATHS
|
|
|
|
// RUN: %clang -### %s --target=riscv64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=PATHS
|
|
|
|
// PATHS: "-resource-dir" "[[RESOURCE:[^"]+]]"
|
|
// PATHS-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// PATHS-SAME: "-internal-isystem" "[[RESOURCE]]/include"
|
|
// PATHS-SAME: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
// PATHS: "-L[[SYSROOT]]/usr/lib"
|
|
|
|
/// Check include paths with -nostdinc.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: -fsyntax-only -nostdinc 2>&1 | FileCheck %s --check-prefix=PATH_NOSTDINC
|
|
// PATH_NOSTDINC: "-nostdsysteminc" "-nobuiltininc"
|
|
// PATH_NOSTDINC-NOT: /include
|
|
|
|
/// Check include paths with -nobuiltininc.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: -fsyntax-only -nobuiltininc 2>&1 | FileCheck %s --check-prefix=PATH_NOBUILTIN
|
|
// PATH_NOBUILTIN: "-nobuiltininc"
|
|
// PATH_NOBUILTIN-SAME: "-resource-dir" "[[RESOURCE:[^"]+]]"
|
|
// PATH_NOBUILTIN-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// PATH_NOBUILTIN-NOT: "-internal-isystem" "[[RESOURCE]]/include"
|
|
// PATH_NOBUILTIN-SAME: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
|
|
/// Check include paths with -nostdlibinc.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir \
|
|
// RUN: -fsyntax-only -nostdlibinc 2>&1 | FileCheck %s --check-prefix=PATH_NOSTDLIBINC
|
|
// PATH_NOSTDLIBINC: "-nostdsysteminc"
|
|
// PATH_NOSTDLIBINC-SAME: "-resource-dir" "[[RESOURCE:[^"]+]]"
|
|
// PATH_NOSTDLIBINC-SAME: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// PATH_NOSTDLIBINC-NOT: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v1"
|
|
// PATH_NOSTDLIBINC-SAME: "-internal-isystem" "[[RESOURCE]]/include"
|
|
// PATH_NOSTDLIBINC-NOT: "-internal-isystem" "[[SYSROOT]]/usr/include"
|
|
|
|
/// Check that PIC and PIE are enabled by default.
|
|
// RUN: %clang -c %s --target=x86_64-unkown-serenity -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-PIE2
|
|
// RUN: %clang -c %s --target=aarch64-unkown-serenity -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-PIE2
|
|
// RUN: %clang -c %s --target=riscv64-unkown-serenity -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=CHECK-PIE2
|
|
|
|
// CHECK-PIE2: "-mrelocation-model" "pic"
|
|
// CHECK-PIE2-SAME: "-pic-level" "2"
|
|
// CHECK-PIE2-SAME: "-pic-is-pie"
|
|
|
|
/// Check default linker args for each supported triple.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity \
|
|
// RUN: --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=SERENITY_X86_64,DEFAULT_LINKER
|
|
// SERENITY_X86_64: "-cc1" "-triple" "[[TRIPLE:x86_64-unknown-serenity]]"
|
|
|
|
// RUN: %clang -### %s --target=aarch64-unknown-serenity \
|
|
// RUN: --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=SERENITY_AARCH64,DEFAULT_LINKER
|
|
// SERENITY_AARCH64: "-cc1" "-triple" "[[TRIPLE:aarch64-unknown-serenity]]"
|
|
|
|
// RUN: %clang -### %s --target=riscv64-unknown-serenity \
|
|
// RUN: --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=SERENITY_RISCV64,DEFAULT_LINKER
|
|
// SERENITY_RISCV64: "-cc1" "-triple" "[[TRIPLE:riscv64-unknown-serenity]]"
|
|
|
|
// DEFAULT_LINKER: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// DEFAULT_LINKER: ld.lld"
|
|
// DEFAULT_LINKER-SAME: "-pie"
|
|
// DEFAULT_LINKER-SAME: "-dynamic-linker" "/usr/lib/Loader.so" "--eh-frame-hdr"
|
|
// DEFAULT_LINKER-SAME: "-o" "a.out"
|
|
// DEFAULT_LINKER-SAME: "-z" "pack-relative-relocs"
|
|
// DEFAULT_LINKER-SAME: "[[SYSROOT]]/usr/lib/crt0.o"
|
|
// DEFAULT_LINKER-SAME: "[[RESOURCE:[^"]+]]/lib/[[TRIPLE]]/clang_rt.crtbegin.o"
|
|
// DEFAULT_LINKER-SAME: "[[RESOURCE]]/lib/[[TRIPLE]]/libclang_rt.builtins.a"
|
|
// DEFAULT_LINKER-SAME: "-lc" "[[RESOURCE]]/lib/[[TRIPLE]]/clang_rt.crtend.o"
|
|
|
|
/// Check if the sysroot is passed to the linker.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=TestSysroot \
|
|
// RUN: -static-pie 2>&1 | FileCheck %s --check-prefix=LINKER_SYSROOT
|
|
// LINKER_SYSROOT: ld.lld"
|
|
// LINKER_SYSROOT-SAME: "--sysroot=TestSysroot"
|
|
|
|
/// Check that we find crt*.o files in the sysroot, use -static-pie to
|
|
/// be able to check for crtbeginS.o and crtendS.o too.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity \
|
|
// RUN: --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -static-pie 2>&1 | FileCheck %s --check-prefix=CRT_SYSROOT
|
|
// CRT_SYSROOT: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// CRT_SYSROOT: "[[SYSROOT]]/usr/lib/crt0.o"
|
|
// CRT_SYSROOT-SAME: "[[SYSROOT]]/usr/lib/crtbeginS.o"
|
|
// CRT_SYSROOT-SAME: "[[SYSROOT]]/usr/lib/crtendS.o"
|
|
|
|
/// -static-pie suppresses -dynamic-linker.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -static-pie 2>&1 | FileCheck %s --check-prefix=STATIC_PIE
|
|
// STATIC_PIE: "-static" "-pie"
|
|
// STATIC_PIE-NOT: "-dynamic-linker"
|
|
// STATIC_PIE-SAME: "--no-dynamic-linker" "-z" "text"
|
|
// STATIC_PIE-SAME: "--eh-frame-hdr"
|
|
// STATIC_PIE-SAME: "-z" "pack-relative-relocs"
|
|
// STATIC_PIE-SAME: "crt0.o" "crtbeginS.o"
|
|
// STATIC_PIE-SAME: "-lc" "crtendS.o"
|
|
|
|
/// -shared forces use of shared crt files.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -shared 2>&1 | FileCheck %s --check-prefix=SHARED
|
|
// SHARED: "-shared"
|
|
// SHARED-SAME: "--eh-frame-hdr"
|
|
// SHARED-SAME: "-z" "pack-relative-relocs"
|
|
// SHARED-NOT: "crt0.o"
|
|
// SHARED-SAME: "crtbeginS.o"
|
|
// SHARED-SAME: "-lc" "crtendS.o"
|
|
|
|
/// -static forces use of static crt files.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -static 2>&1 | FileCheck %s --check-prefix=STATIC
|
|
// STATIC: "-static"
|
|
// STATIC-SAME: "--eh-frame-hdr"
|
|
// STATIC-SAME: "-z" "pack-relative-relocs"
|
|
// STATIC-SAME: "crt0.o" "crtbeginS.o"
|
|
// STATIC-SAME: "-lc" "crtendS.o"
|
|
|
|
/// -rdynamic passes -export-dynamic.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -rdynamic 2>&1 | FileCheck %s --check-prefix=RDYNAMIC,RDYNAMIC_SHARED
|
|
// RDYNAMIC: "-export-dynamic" "-pie"
|
|
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -no-pie -rdynamic 2>&1 | FileCheck %s --check-prefix=RDYNAMIC_NOPIE,RDYNAMIC_SHARED
|
|
// RDYNAMIC_NOPIE: "-export-dynamic"
|
|
// RDYNAMIC_NOPIE-NOT: "-pie"
|
|
|
|
// RDYNAMIC_SHARED-SAME: "-dynamic-linker" "/usr/lib/Loader.so" "--eh-frame-hdr"
|
|
// RDYNAMIC_SHARED-SAME: "-o" "a.out"
|
|
// RDYNAMIC_SHARED-SAME: "-z" "pack-relative-relocs"
|
|
// RDYNAMIC_SHARED-SAME: "crt0.o" "crtbeginS.o"
|
|
// RDYNAMIC_SHARED-SAME: "-lc" "crtendS.o"
|
|
|
|
/// -nostdlib suppresses default -l and crt*.o.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir= -nostdlib --rtlib=compiler-rt \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=NOSTDLIB
|
|
// NOSTDLIB: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// NOSTDLIB-NOT: crt{{[^./]+}}.o
|
|
// NOSTDLIB: "-L
|
|
// NOSTDLIB-SAME: {{^}}[[SYSROOT]]/usr/lib"
|
|
// NOSTDLIB-NOT: "-l
|
|
// NOSTDLIB-NOT: libclang_rt.builtins
|
|
// NOSTDLIB-NOT: crt{{[^./]+}}.o
|
|
|
|
/// -nostartfiles suppresses crt*.o, but not default -l.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir -nostartfiles --rtlib=compiler-rt \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=NOSTARTFILES
|
|
// NOSTARTFILES: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// NOSTARTFILES-SAME: {{^}}
|
|
// NOSTARTFILES-NOT: crt{{[^./]+}}.o
|
|
// NOSTARTFILES: "-L
|
|
// NOSTARTFILES-SAME: {{^}}[[SYSROOT]]/usr/lib"
|
|
// NOSTARTFILES: lib/x86_64-unknown-serenity/libclang_rt.builtins.a"
|
|
// NOSTARTFILES: "-lc"
|
|
// NOSTARTFILES-NOT: crt{{[^./]+}}.o
|
|
|
|
/// -r suppresses -dynamic-linker, default -l, and crt*.o like -nostdlib.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir -r --rtlib=compiler-rt \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=RELOCATABLE
|
|
// RELOCATABLE-NOT: "-dynamic-linker"
|
|
// RELOCATABLE: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// RELOCATABLE: "-internal-isystem"
|
|
// RELOCATABLE-NOT: crt{{[^./]+}}.o
|
|
// RELOCATABLE: "-L
|
|
// RELOCATABLE-SAME: {{^}}[[SYSROOT]]/usr/lib"
|
|
// RELOCATABLE-NOT: "-l
|
|
// RELOCATABLE-NOT: crt{{[^./]+}}.o
|
|
// RELOCATABLE-NOT: libclang_rt.builtins
|
|
|
|
/// -nolibc suppresses -lc but not other default -l.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir -nolibc --rtlib=compiler-rt \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=NOLIBC
|
|
// NOLIBC: "-isysroot" "[[SYSROOT:[^"]+]]"
|
|
// NOLIBC: "-internal-isystem"
|
|
// NOLIBC: "[[SYSROOT]]/usr/lib/crt0.o" "[[SYSROOT]]/usr/lib/crtbeginS.o"
|
|
// NOLIBC: "-L
|
|
// NOLIBC-SAME: {{^}}[[SYSROOT]]/usr/lib"
|
|
// NOLIBC-NOT: "-lc"
|
|
// NOLIBC: "[[RESOURCE:[^"]+]]/lib/x86_64-unknown-serenity/libclang_rt.builtins.a"
|
|
// NOLIBC: "[[SYSROOT]]/usr/lib/crtendS.o"
|
|
|
|
/// -fsanitize=undefined redirects to Serenity-custom UBSAN runtime.
|
|
// RUN: %clang -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/serenity_tree \
|
|
// RUN: -resource-dir=%S/Inputs/resource_dir -fsanitize=undefined --rtlib=compiler-rt \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=UBSAN
|
|
// UBSAN-NOT: "libclang_rt.ubsan"
|
|
// UBSAN: "-lubsan"
|
|
|
|
/// Support for KASAN.
|
|
// RUN: %clang -target x86_64-unknown-serenity -fsanitize=kernel-address -### %s \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=KASAN
|
|
// KASAN: "-fsanitize=kernel-address"
|
|
// KASAN-SAME: "-fsanitize-recover=kernel-address"
|
|
|
|
/// Check C++ stdlib behavior.
|
|
// RUN: %clangxx -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: 2>&1 | FileCheck %s --check-prefix=DEFAULT_LIBCXX
|
|
// DEFAULT_LIBCXX: "-dynamic-linker" "/usr/lib/Loader.so" "--eh-frame-hdr"
|
|
// DEFAULT_LIBCXX: "-z" "pack-relative-relocs"
|
|
// DEFAULT_LIBCXX: "crt0.o" "crtbeginS.o"
|
|
// DEFAULT_LIBCXX: "--push-state"
|
|
// DEFAULT_LIBCXX: "--as-needed"
|
|
// DEFAULT_LIBCXX: "-lc++"
|
|
// DEFAULT_LIBCXX: "--pop-state"
|
|
// DEFAULT_LIBCXX: "-lc" "crtendS.o"
|
|
|
|
// RUN: %clangxx -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -static 2>&1 | FileCheck %s --check-prefix=STATIC_LIBCXX
|
|
// STATIC_LIBCXX: "-z" "pack-relative-relocs"
|
|
// STATIC_LIBCXX: "crt0.o" "crtbeginS.o"
|
|
// STATIC_LIBCXX: "--push-state"
|
|
// STATIC_LIBCXX: "--as-needed"
|
|
// STATIC_LIBCXX: "-lc++"
|
|
// STATIC_LIBCXX: "--pop-state"
|
|
// STATIC_LIBCXX: "-lc" "crtendS.o"
|
|
|
|
// RUN: %clangxx -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -static-libstdc++ 2>&1 | FileCheck %s --check-prefix=STATIC_LIBSTDCXX
|
|
// STATIC_LIBSTDCXX: "-z" "pack-relative-relocs"
|
|
// STATIC_LIBSTDCXX: "crt0.o" "crtbeginS.o"
|
|
// STATIC_LIBSTDCXX: "--push-state"
|
|
// STATIC_LIBSTDCXX: "--as-needed"
|
|
// STATIC_LIBSTDCXX: "-Bstatic"
|
|
// STATIC_LIBSTDCXX: "-lc++"
|
|
// STATIC_LIBSTDCXX: "-Bdynamic"
|
|
// STATIC_LIBSTDCXX: "--pop-state"
|
|
// STATIC_LIBSTDCXX: "-lc" "crtendS.o"
|
|
|
|
// RUN: %clangxx -### %s --target=x86_64-unknown-serenity --sysroot=%S/Inputs/empty_tree \
|
|
// RUN: -nostdlib++ 2>&1 | FileCheck %s --check-prefix=NO_LIBCXX
|
|
// NO_LIBCXX: "-z" "pack-relative-relocs"
|
|
// NO_LIBCXX: "crt0.o" "crtbeginS.o"
|
|
// NO_LIBCXX-NOT: "-lc++"
|
|
// NO_LIBCXX-SAME: "-lc" "crtendS.o"
|
|
|
|
/// Check that unwind tables are enabled.
|
|
// RUN: %clang --target=x86_64-unknown-serenity -### -S %s 2>&1 | \
|
|
// RUN: FileCheck -check-prefix=UNWIND-TABLES %s
|
|
// RUN: %clang --target=aarch64-unknown-serenity -### -S %s 2>&1 | \
|
|
// RUN: FileCheck -check-prefix=UNWIND-TABLES %s
|
|
// RUN: %clang --target=riscv64-unknown-serenity -### -S %s 2>&1 | \
|
|
// RUN: FileCheck -check-prefix=UNWIND-TABLES %s
|
|
// UNWIND-TABLES: "-funwind-tables=2"
|
|
|
|
/// Check that parameters are forwarded to the linker.
|
|
// RUN: %clang --target=x86_64-unknown-serenity -### %s -L/foo -u bar -T script.ld -s -t -r 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LINK
|
|
// LINK: ld.lld"
|
|
// LINK-SAME: "-L/foo"
|
|
// LINK-SAME: "-u" "bar"
|
|
// LINK-SAME: "-T" "script.ld"
|
|
// LINK-SAME: "-s"
|
|
// LINK-SAME: "-t"
|
|
// LINK-SAME: "-r"
|
|
|
|
// RUN: %clang --target=x86_64-unknown-serenity -### %s -Wl,--compress-debug-sections=zlib 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=COMPRESS
|
|
// COMPRESS: ld.lld"
|
|
// COMPRESS: "--compress-debug-sections=zlib"
|
|
|
|
/// Check LTO.
|
|
// RUN: %clang --target=x86_64-unknown-serenity -flto %s -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LTO_FULL
|
|
// LTO_FULL: "-plugin-opt=
|
|
// LTO_FULL-NOT: "-plugin-opt=thinlto"
|
|
|
|
// RUN: %clang --target=x86_64-unknown-serenity -flto=thin %s -### 2>&1 \
|
|
// RUN: | FileCheck %s --check-prefix=LTO_THIN
|
|
// LTO_THIN: "-plugin-opt=thinlto"
|