Index: clang/lib/Driver/ToolChains/Clang.cpp =================================================================== --- clang/lib/Driver/ToolChains/Clang.cpp +++ clang/lib/Driver/ToolChains/Clang.cpp @@ -792,8 +792,9 @@ CmdArgs.push_back("-fprofile-instrument=clang"); if (TC.getTriple().isWindowsMSVCEnvironment()) { // Add dependent lib for clang_rt.profile + std::string ClangRtProfilePath = TC.getCompilerRT(Args, "profile"); CmdArgs.push_back(Args.MakeArgString( - "--dependent-lib=" + TC.getCompilerRTBasename(Args, "profile"))); + "--dependent-lib=" + llvm::sys::path::filename(ClangRtProfilePath))); } } Index: clang/test/Driver/cl-options.c =================================================================== --- clang/test/Driver/cl-options.c +++ clang/test/Driver/cl-options.c @@ -58,11 +58,11 @@ // RUN: %clang_cl -### /FA -fprofile-instr-generate -- %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-INSTR-GENERATE %s // RUN: %clang_cl -### /FA -fprofile-instr-generate=/tmp/somefile.profraw -- %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-INSTR-GENERATE-FILE %s -// CHECK-PROFILE-INSTR-GENERATE: "-fprofile-instrument=clang" "--dependent-lib=clang_rt.profile-{{[^"]*}}.lib" +// CHECK-PROFILE-INSTR-GENERATE: "-fprofile-instrument=clang" "--dependent-lib=clang_rt.profile{{[^"]*}}.lib" // CHECK-PROFILE-INSTR-GENERATE-FILE: "-fprofile-instrument-path=/tmp/somefile.profraw" // RUN: %clang_cl -### /FA -fprofile-generate -- %s 2>&1 | FileCheck -check-prefix=CHECK-PROFILE-GENERATE %s -// CHECK-PROFILE-GENERATE: "-fprofile-instrument=llvm" "--dependent-lib=clang_rt.profile-{{[^"]*}}.lib" +// CHECK-PROFILE-GENERATE: "-fprofile-instrument=llvm" "--dependent-lib=clang_rt.profile{{[^"]*}}.lib" // RUN: %clang_cl -### /FA -fprofile-instr-generate -fprofile-instr-use -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s // RUN: %clang_cl -### /FA -fprofile-instr-generate -fprofile-instr-use=file -- %s 2>&1 | FileCheck -check-prefix=CHECK-NO-MIX-GEN-USE %s Index: clang/test/Driver/instrprof-ld.c =================================================================== --- clang/test/Driver/instrprof-ld.c +++ clang/test/Driver/instrprof-ld.c @@ -112,7 +112,7 @@ // RUN: | FileCheck --check-prefix=CHECK-WINDOWS-I386 %s // // CHECK-WINDOWS-I386: "{{.*}}link{{(.exe)?}}" -// CHECK-WINDOWS-I386: "{{.*}}clang_rt.profile-i386.lib" +// CHECK-WINDOWS-I386: "{{.*}}clang_rt.profile{{(-i386)?}}.lib" // // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ // RUN: -target x86_64-pc-win32 -fprofile-instr-generate \ @@ -120,7 +120,7 @@ // RUN: | FileCheck --check-prefix=CHECK-WINDOWS-X86-64 %s // // CHECK-WINDOWS-X86-64: "{{.*}}link{{(.exe)?}}" -// CHECK-WINDOWS-X86-64: "{{.*}}clang_rt.profile-x86_64.lib" +// CHECK-WINDOWS-X86-64: "{{.*}}clang_rt.profile{{(-x86_64)?}}.lib" // // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ // RUN: -target x86_64-mingw32 -fprofile-instr-generate -fuse-ld=ld \ @@ -136,7 +136,7 @@ // RUN: -fprofile-instr-generate 2>&1 \ // RUN: | FileCheck --check-prefix=CHECK-WINDOWS-X86-64-DEPENDENT-LIB %s // -// CHECK-WINDOWS-X86-64-DEPENDENT-LIB: "--dependent-lib={{[^"]*}}clang_rt.profile-{{[^"]*}}.lib" +// CHECK-WINDOWS-X86-64-DEPENDENT-LIB: "--dependent-lib={{[^"]*}}clang_rt.profile{{[^"]*}}.lib" // // RUN: %clang %s -### -o %t.o -target x86_64-mingw32 \ // RUN: -fprofile-instr-generate 2>&1 \