1*67e74705SXin Li // Test instrumented profiling ld flags. 2*67e74705SXin Li // 3*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 4*67e74705SXin Li // RUN: -target i386-unknown-linux -fprofile-instr-generate \ 5*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 6*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 7*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-LINUX-I386 %s 8*67e74705SXin Li // 9*67e74705SXin Li // CHECK-LINUX-I386: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 10*67e74705SXin Li // CHECK-LINUX-I386: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.profile-i386.a" {{.*}} "-lc" 11*67e74705SXin Li // 12*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 13*67e74705SXin Li // RUN: -target x86_64-unknown-linux -fprofile-instr-generate \ 14*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 15*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 16*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-LINUX-X86-64 %s 17*67e74705SXin Li // 18*67e74705SXin Li // CHECK-LINUX-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 19*67e74705SXin Li // CHECK-LINUX-X86-64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.profile-x86_64.a" {{.*}} "-lc" 20*67e74705SXin Li // 21*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 22*67e74705SXin Li // RUN: -target x86_64-unknown-linux -fprofile-instr-generate -nostdlib \ 23*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 24*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 25*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-LINUX-NOSTDLIB-X86-64 %s 26*67e74705SXin Li // 27*67e74705SXin Li // CHECK-LINUX-NOSTDLIB-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 28*67e74705SXin Li // CHECK-LINUX-NOSTDLIB-X86-64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.profile-x86_64.a" 29*67e74705SXin Li // 30*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 31*67e74705SXin Li // RUN: -target x86_64-unknown-freebsd -fprofile-instr-generate \ 32*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 33*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_freebsd64_tree \ 34*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-FREEBSD-X86-64 %s 35*67e74705SXin Li // 36*67e74705SXin Li // CHECK-FREEBSD-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 37*67e74705SXin Li // CHECK-FREEBSD-X86-64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}freebsd{{/|\\\\}}libclang_rt.profile-x86_64.a" 38*67e74705SXin Li // 39*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 40*67e74705SXin Li // RUN: -shared \ 41*67e74705SXin Li // RUN: -target i386-unknown-linux -fprofile-instr-generate \ 42*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 43*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 44*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-LINUX-I386-SHARED %s 45*67e74705SXin Li // 46*67e74705SXin Li // CHECK-LINUX-I386-SHARED: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 47*67e74705SXin Li // CHECK-LINUX-I386-SHARED: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.profile-i386.a" {{.*}} "-lc" 48*67e74705SXin Li // 49*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 50*67e74705SXin Li // RUN: -shared \ 51*67e74705SXin Li // RUN: -target x86_64-unknown-linux -fprofile-instr-generate \ 52*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 53*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 54*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-LINUX-X86-64-SHARED %s 55*67e74705SXin Li // 56*67e74705SXin Li // CHECK-LINUX-X86-64-SHARED: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 57*67e74705SXin Li // CHECK-LINUX-X86-64-SHARED: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}linux{{/|\\\\}}libclang_rt.profile-x86_64.a" {{.*}} "-lc" 58*67e74705SXin Li // 59*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 60*67e74705SXin Li // RUN: -shared \ 61*67e74705SXin Li // RUN: -target x86_64-unknown-freebsd -fprofile-instr-generate \ 62*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 63*67e74705SXin Li // RUN: --sysroot=%S/Inputs/basic_freebsd64_tree \ 64*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-FREEBSD-X86-64-SHARED %s 65*67e74705SXin Li // 66*67e74705SXin Li // CHECK-FREEBSD-X86-64-SHARED: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 67*67e74705SXin Li // CHECK-FREEBSD-X86-64-SHARED: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}freebsd{{/|\\\\}}libclang_rt.profile-x86_64.a" 68*67e74705SXin Li // 69*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 70*67e74705SXin Li // RUN: -target x86_64-apple-darwin14 -fprofile-instr-generate \ 71*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 72*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-DARWIN-X86-64 %s 73*67e74705SXin Li // 74*67e74705SXin Li // CHECK-DARWIN-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 75*67e74705SXin Li // CHECK-DARWIN-X86-64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_osx.a" 76*67e74705SXin Li // 77*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 78*67e74705SXin Li // RUN: -target x86_64-apple-darwin14 -fprofile-instr-generate -nostdlib \ 79*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 80*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-DARWIN-NOSTDLIB-X86-64 %s 81*67e74705SXin Li // 82*67e74705SXin Li // CHECK-DARWIN-NOSTDLIB-X86-64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 83*67e74705SXin Li // CHECK-DARWIN-NOSTDLIB-X86-64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_osx.a" 84*67e74705SXin Li // 85*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 86*67e74705SXin Li // RUN: -target arm64-apple-ios -fprofile-instr-generate \ 87*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 88*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-DARWIN-ARM64 %s 89*67e74705SXin Li // 90*67e74705SXin Li // CHECK-DARWIN-ARM64: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 91*67e74705SXin Li // CHECK-DARWIN-ARM64: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_ios.a" 92*67e74705SXin Li // 93*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 94*67e74705SXin Li // RUN: -target armv7-apple-darwin -mtvos-version-min=8.3 -fprofile-instr-generate \ 95*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 96*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-TVOS-ARMV7 %s 97*67e74705SXin Li // 98*67e74705SXin Li // CHECK-TVOS-ARMV7: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 99*67e74705SXin Li // CHECK-TVOS-ARMV7: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_tvos.a" 100*67e74705SXin Li // 101*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 102*67e74705SXin Li // RUN: -target armv7s-apple-darwin10 -mwatchos-version-min=2.0 -arch armv7k -fprofile-instr-generate \ 103*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 104*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-WATCHOS-ARMV7 %s 105*67e74705SXin Li // 106*67e74705SXin Li // CHECK-WATCHOS-ARMV7: "{{(.*[^-.0-9A-Z_a-z])?}}ld{{(.exe)?}}" 107*67e74705SXin Li // CHECK-WATCHOS-ARMV7: "{{.*}}/Inputs/resource_dir{{/|\\\\}}lib{{/|\\\\}}darwin{{/|\\\\}}libclang_rt.profile_watchos.a" 108*67e74705SXin Li // 109*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 110*67e74705SXin Li // RUN: -target i386-pc-win32 -fprofile-instr-generate \ 111*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 112*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-WINDOWS-I386 %s 113*67e74705SXin Li // 114*67e74705SXin Li // CHECK-WINDOWS-I386: "{{.*}}link{{(.exe)?}}" 115*67e74705SXin Li // CHECK-WINDOWS-I386: "{{.*}}clang_rt.profile-i386.lib" 116*67e74705SXin Li // 117*67e74705SXin Li // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 118*67e74705SXin Li // RUN: -target x86_64-pc-win32 -fprofile-instr-generate \ 119*67e74705SXin Li // RUN: -resource-dir=%S/Inputs/resource_dir \ 120*67e74705SXin Li // RUN: | FileCheck --check-prefix=CHECK-WINDOWS-X86-64 %s 121*67e74705SXin Li // 122*67e74705SXin Li // CHECK-WINDOWS-X86-64: "{{.*}}link{{(.exe)?}}" 123*67e74705SXin Li // CHECK-WINDOWS-X86-64: "{{.*}}clang_rt.profile-x86_64.lib" 124