[PATCH] D11275: Fix quoting of #pragma comment for PS4
Yunzhong Gao
Yunzhong_Gao at playstation.sony.com
Thu Jul 16 14:00:36 PDT 2015
ygao created this revision.
ygao added a reviewer: alexr.
ygao added subscribers: cfe-commits, mkuper.
Hi,
This is the PS4 counterpart to r229376, which quotes the library name if the name contains space.
Can someone take a look whether this looks good to go in?
- Gao
http://reviews.llvm.org/D11275
Files:
lib/CodeGen/TargetInfo.cpp
test/CodeGen/pragma-comment.c
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"}
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);
}
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11275.29941.patch
Type: text/x-patch
Size: 1183 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150716/2ee97e39/attachment.bin>
More information about the cfe-commits
mailing list