mstorsjo created this revision. mstorsjo added reviewers: rnk, amccarth. Herald added a project: clang. mstorsjo requested review of this revision.
If invoking clang-cl, both libcmt (or another lib, depending on the /M[TD](|d) options) and oldnames are passed as dependent libs. If compiling and linking via the clang driver, we used to just pass libcmt when linking; include oldnames consistently there. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D89702 Files: clang/lib/Driver/ToolChains/MSVC.cpp clang/test/Driver/msvc-link.c Index: clang/test/Driver/msvc-link.c =================================================================== --- clang/test/Driver/msvc-link.c +++ clang/test/Driver/msvc-link.c @@ -2,6 +2,7 @@ // BASIC: link.exe" // BASIC: "-out:a.exe" // BASIC: "-defaultlib:libcmt" +// BASIC: "-defaultlib:oldnames" // BASIC: "-nologo" // BASIC-NOT: "-Brepro" @@ -9,6 +10,7 @@ // DLL: link.exe" // DLL: "-out:a.dll" // DLL: "-defaultlib:libcmt" +// DLL: "-defaultlib:oldnames" // DLL: "-nologo" // DLL: "-dll" Index: clang/lib/Driver/ToolChains/MSVC.cpp =================================================================== --- clang/lib/Driver/ToolChains/MSVC.cpp +++ clang/lib/Driver/ToolChains/MSVC.cpp @@ -333,8 +333,10 @@ Args.MakeArgString(std::string("-out:") + Output.getFilename())); if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles) && - !C.getDriver().IsCLMode()) + !C.getDriver().IsCLMode()) { CmdArgs.push_back("-defaultlib:libcmt"); + CmdArgs.push_back("-defaultlib:oldnames"); + } if (!llvm::sys::Process::GetEnv("LIB")) { // If the VC environment hasn't been configured (perhaps because the user
Index: clang/test/Driver/msvc-link.c =================================================================== --- clang/test/Driver/msvc-link.c +++ clang/test/Driver/msvc-link.c @@ -2,6 +2,7 @@ // BASIC: link.exe" // BASIC: "-out:a.exe" // BASIC: "-defaultlib:libcmt" +// BASIC: "-defaultlib:oldnames" // BASIC: "-nologo" // BASIC-NOT: "-Brepro" @@ -9,6 +10,7 @@ // DLL: link.exe" // DLL: "-out:a.dll" // DLL: "-defaultlib:libcmt" +// DLL: "-defaultlib:oldnames" // DLL: "-nologo" // DLL: "-dll" Index: clang/lib/Driver/ToolChains/MSVC.cpp =================================================================== --- clang/lib/Driver/ToolChains/MSVC.cpp +++ clang/lib/Driver/ToolChains/MSVC.cpp @@ -333,8 +333,10 @@ Args.MakeArgString(std::string("-out:") + Output.getFilename())); if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles) && - !C.getDriver().IsCLMode()) + !C.getDriver().IsCLMode()) { CmdArgs.push_back("-defaultlib:libcmt"); + CmdArgs.push_back("-defaultlib:oldnames"); + } if (!llvm::sys::Process::GetEnv("LIB")) { // If the VC environment hasn't been configured (perhaps because the user
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits