Index: lib/CodeGen/TargetInfo.cpp =================================================================== --- lib/CodeGen/TargetInfo.cpp +++ lib/CodeGen/TargetInfo.cpp @@ -1647,6 +1647,13 @@ } }; +static std::string qualifyPSLibrary(llvm::StringRef Lib) { + // If the argument contains a space, enclose it in quotes. + if (Lib.find(" ") == StringRef::npos) + return Lib.str(); + return "\"" + Lib.str() + "\""; +} + class PS4TargetCodeGenInfo : public X86_64TargetCodeGenInfo { public: PS4TargetCodeGenInfo(CodeGen::CodeGenTypes &CGT, X86AVXABILevel AVXLevel) @@ -1655,7 +1662,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"}