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