[PATCH] D11275: Fix quoting of #pragma comment for PS4
Aaron Ballman
aaron at aaronballman.com
Thu Jul 16 14:48:21 PDT 2015
On Thu, Jul 16, 2015 at 5:00 PM, Yunzhong Gao
<Yunzhong_Gao at playstation.sony.com> wrote:
> 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;
> +}
Would this be more clear as:
return (Lib.find(" ") != StringRef::npos) ? "\"" + Lib.str() + "\"" : Lib;
~Aaron
> +
> 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);
> }
> };
>
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
More information about the cfe-commits
mailing list