2017-05-05 03:18:21 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -stdlib=libstdc++ -rtlib=compiler-rt -o /dev/null %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-BASIC-LIBCXX
|
|
|
|
|
|
|
|
// CHECK-BASIC-LIBCXX: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-Bdynamic" "--entry" "mainCRTStartup" "--allow-multiple-definition" "-o" "{{[^"]*}}" "{{[^"]*}}.o" "-lmsvcrt"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2018-02-28 03:42:19 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -stdlib=libstdc++ -rtlib=compiler-rt -static -o /dev/null %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-STATIC
|
|
|
|
|
|
|
|
// CHECK-STATIC: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-Bstatic" "--entry" "mainCRTStartup" "--allow-multiple-definition" "-o" "{{[^"]*}}" "{{[^"]*}}.o" "-lmsvcrt"
|
|
|
|
|
2017-01-08 18:04:07 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %s/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -rtlib=compiler-rt -stdlib=libstdc++ -o /dev/null %s 2>&1 \
|
2014-10-24 11:13:37 +08:00
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-RTLIB
|
|
|
|
|
2017-05-05 03:18:21 +08:00
|
|
|
// CHECK-RTLIB: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-Bdynamic" "--entry" "mainCRTStartup" "--allow-multiple-definition" "-o" "{{[^"]*}}" "{{.*}}.o" "-lmsvcrt" "{{.*[\\/]}}clang_rt.builtins-arm.lib"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2017-01-08 18:04:07 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -rtlib=compiler-rt -stdlib=libc++ -o /dev/null %s 2>&1 \
|
2014-10-24 11:13:37 +08:00
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-C-LIBCXX
|
|
|
|
|
2017-04-08 04:47:06 +08:00
|
|
|
// CHECK-C-LIBCXX: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-Bdynamic" "--entry" "mainCRTStartup" "--allow-multiple-definition" "-o" "{{[^"]*}}" "{{.*}}.o" "-lmsvcrt" "{{.*[\\/]}}clang_rt.builtins-arm.lib"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2017-01-08 18:04:07 +08:00
|
|
|
// RUN: %clangxx -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -rtlib=compiler-rt -stdlib=libc++ -o /dev/null %s 2>&1 \
|
2014-10-24 11:13:37 +08:00
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-LIBCXX
|
|
|
|
|
2017-04-08 04:47:06 +08:00
|
|
|
// CHECK-LIBCXX: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-Bdynamic" "--entry" "mainCRTStartup" "--allow-multiple-definition" "-o" "{{[^"]*}}" "{{.*}}.o" "-lc++" "-lmsvcrt" "{{.*[\\/]}}clang_rt.builtins-arm.lib"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2017-01-08 18:04:07 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -shared -rtlib=compiler-rt -stdlib=libc++ -o shared.dll %s 2>&1 \
|
2014-10-24 11:13:37 +08:00
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-SHARED
|
|
|
|
|
2017-04-08 04:47:06 +08:00
|
|
|
// CHECK-SHARED: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-shared" "-Bdynamic" "--enable-auto-image-base" "--entry" "_DllMainCRTStartup" "--allow-multiple-definition" "-o" "shared.dll" "--out-implib" "shared.lib" "{{.*}}.o" "-lmsvcrt" "{{.*[\\/]}}clang_rt.builtins-arm.lib"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2018-02-28 03:42:19 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -shared -rtlib=compiler-rt -stdlib=libc++ -static -o shared.dll %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-SHARED-STATIC
|
|
|
|
|
|
|
|
// CHECK-SHARED-STATIC: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-shared" "-Bstatic" "--enable-auto-image-base" "--entry" "_DllMainCRTStartup" "--allow-multiple-definition" "-o" "shared.dll" "--out-implib" "shared.lib" "{{.*}}.o" "-lmsvcrt" "{{.*[\\/]}}clang_rt.builtins-arm.lib"
|
|
|
|
|
2017-01-08 18:04:07 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %s/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -shared -rtlib=compiler-rt -stdlib=libc++ -nostartfiles -o shared.dll %s 2>&1 \
|
2014-10-24 11:13:37 +08:00
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-NOSTARTFILES
|
|
|
|
|
2016-09-01 03:27:07 +08:00
|
|
|
// CHECK-NOSTARTFILES: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-shared" "-Bdynamic" "--enable-auto-image-base" "--entry" "_DllMainCRTStartup" "--allow-multiple-definition" "-o" "shared.dll" "--out-implib" "shared.lib" "{{.*}}.o" "-lmsvcrt" "{{.*[\\/]}}clang_rt.builtins-arm.lib"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2017-01-08 18:04:07 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=ld -shared -rtlib=compiler-rt -stdlib=libc++ -nostartfiles -nodefaultlibs -o shared.dll %s 2>&1 \
|
2014-10-24 11:13:37 +08:00
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-STANDALONE
|
|
|
|
|
2014-10-28 11:15:02 +08:00
|
|
|
// CHECK-STANDALONE: armv7-windows-itanium-ld" "--sysroot={{.*}}/Inputs/Windows/ARM/8.1" "-m" "thumb2pe" "-shared" "-Bdynamic" "--enable-auto-image-base" "--entry" "_DllMainCRTStartup" "--allow-multiple-definition" "-o" "shared.dll" "--out-implib" "shared.lib" "{{.*}}.o"
|
2014-10-24 11:13:37 +08:00
|
|
|
|
2015-10-28 12:45:58 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -x c++ %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-FUSE-LD
|
2015-10-29 11:36:38 +08:00
|
|
|
|
2015-10-28 12:45:58 +08:00
|
|
|
// CHECK-FUSE-LD: "{{.*}}lld-link2"
|
|
|
|
|
2015-10-29 11:36:38 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -fsanitize=address -x c++ %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-ADDRESS
|
|
|
|
|
|
|
|
// CHECK-SANITIZE-ADDRESS: "-fsanitize=address"
|
2015-10-29 11:36:45 +08:00
|
|
|
// CHECK-SANITIZE-ADDRESS: "{{.*}}clang_rt.asan_dll_thunk-arm.lib"
|
|
|
|
|
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -o test.exe -fsanitize=address -x c++ %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-ADDRESS-EXE
|
|
|
|
|
|
|
|
// CHECK-SANITIZE-ADDRESS-EXE: "-fsanitize=address"
|
|
|
|
// CHECK-SANITIZE-ADDRESS-EXE: "{{.*}}clang_rt.asan_dynamic-arm.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-arm.lib" "--undefined" "__asan_seh_interceptor"
|
|
|
|
|
|
|
|
// RUN: %clang -### -target i686-windows-itanium -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -o test.exe -fsanitize=address -x c++ %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-ADDRESS-EXE-X86
|
|
|
|
|
|
|
|
// CHECK-SANITIZE-ADDRESS-EXE-X86: "-fsanitize=address"
|
2017-08-29 04:29:52 +08:00
|
|
|
// CHECK-SANITIZE-ADDRESS-EXE-X86: "{{.*}}clang_rt.asan_dynamic-i386.lib" "{{.*}}clang_rt.asan_dynamic_runtime_thunk-i386.lib" "--undefined" "___asan_seh_interceptor"
|
2015-10-29 11:36:38 +08:00
|
|
|
|
|
|
|
// RUN: %clang -### -target armv7-windows-itanium --sysroot %S/Inputs/Windows/ARM/8.1 -B %S/Inputs/Windows/ARM/8.1/usr/bin -fuse-ld=lld-link2 -shared -o shared.dll -fsanitize=tsan -x c++ %s 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-SANITIZE-TSAN
|
|
|
|
|
2015-10-29 11:52:14 +08:00
|
|
|
// CHECK-SANITIZE-TSAN: error: unsupported argument 'tsan' to option 'fsanitize='
|
2015-10-29 11:36:38 +08:00
|
|
|
// CHECK-SANITIZE-TSAN-NOT: "-fsanitize={{.*}}"
|
|
|
|
|
2016-06-18 01:23:16 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium -isystem-after "Windows Kits/10/Include/10.0.10586.0/ucrt" -isystem-after "Windows Kits/10/Include/10.0.10586.0/um" -isystem-after "Windows Kits/10/Include/10.0.10586.0/shared" -c %s -o /dev/null 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-ISYSTEM-AFTER
|
2016-06-20 22:33:49 +08:00
|
|
|
// CHECK-ISYSTEM-AFTER: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
|
|
// CHECK-ISYSTEM-AFTER: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include"
|
2016-06-18 03:59:01 +08:00
|
|
|
// CHECK-ISYSTEM-AFTER: "-internal-isystem" "Windows Kits{{[/\\]}}10{{[/\\]}}Include{{[/\\]}}10.0.10586.0{{[/\\]}}ucrt"
|
|
|
|
// CHECK-ISYSTEM-AFTER: "-internal-isystem" "Windows Kits{{[/\\]}}10{{[/\\]}}Include{{[/\\]}}10.0.10586.0{{[/\\]}}um"
|
|
|
|
// CHECK-ISYSTEM-AFTER: "-internal-isystem" "Windows Kits{{[/\\]}}10{{[/\\]}}Include{{[/\\]}}10.0.10586.0{{[/\\]}}shared"
|
2016-06-18 01:23:16 +08:00
|
|
|
|
2017-06-30 23:15:38 +08:00
|
|
|
// RUN: %clang -### -target armv7-windows-itanium -nostdinc -isystem-after "Windows Kits/10/Include/10.0.10586.0/ucrt" -c %s -o /dev/null 2>&1 \
|
|
|
|
// RUN: | FileCheck %s --check-prefix CHECK-NOSTDINC-ISYSTEM-AFTER
|
|
|
|
// CHECK-NOSTDINC-ISYSTEM-AFTER: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"
|
|
|
|
// CHECK-NOSTDINC-ISYSTEM-AFTER-NOT: "-internal-isystem" "[[RESOURCE_DIR]]{{(/|\\\\)}}include"
|
|
|
|
// CHECK-NOSTDINC-ISYSTEM-AFTER: "-internal-isystem" "Windows Kits{{[/\\]}}10{{[/\\]}}Include{{[/\\]}}10.0.10586.0{{[/\\]}}ucrt"
|