[PATCH] D11275: Fix quoting of #pragma comment for PS4

Yunzhong Gao Yunzhong_Gao at playstation.sony.com
Thu Jul 16 15:11:34 PDT 2015


ygao updated this revision to Diff 29953.
ygao added a comment.

> Would this be more clear as:

>  return (Lib.find(" ") != StringRef::npos) ?  "\"" + Lib.str() + "\"" : Lib;

>  ~Aaron


Seems like a good idea. I have a slight preference of if statement over the ternary operator if that is okay with you.


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,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);
   }
 };



-------------- next part --------------
A non-text attachment was scrubbed...
Name: D11275.29953.patch
Type: text/x-patch
Size: 1119 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150716/3576f8dc/attachment.bin>


More information about the cfe-commits mailing list