Index: lib/CodeGen/TargetInfo.cpp =================================================================== --- lib/CodeGen/TargetInfo.cpp +++ lib/CodeGen/TargetInfo.cpp @@ -1647,6 +1647,15 @@ } }; +static std::string qualifyPSLibrary(llvm::StringRef Lib) { + // If the argument contains a space, enclose it in quotes. + bool Quote = (Lib.find(" ") != StringRef::npos); + std::string ArgStr = Quote ? "\"" : ""; + ArgStr += Lib; + ArgStr += Quote ? "\"" : ""; + return ArgStr; +} + class PS4TargetCodeGenInfo : public X86_64TargetCodeGenInfo { public: PS4TargetCodeGenInfo(CodeGen::CodeGenTypes &CGT, X86AVXABILevel AVXLevel) @@ -1655,7 +1664,7 @@ void getDependentLibraryOption(llvm::StringRef Lib, llvm::SmallString<24> &Opt) const override { Opt = "\01"; - Opt += Lib; + Opt += qualifyPSLibrary(Lib); } }; Index: test/CodeGen/pragma-comment.c =================================================================== --- test/CodeGen/pragma-comment.c +++ test/CodeGen/pragma-comment.c @@ -30,3 +30,4 @@ // PS4: !{!"\01msvcrt.lib"} // PS4: !{!"\01kernel32"} // PS4: !{!"\01USER32.LIB"} +// PS4: !{!"\01\22with space\22"}