[lld] r268569 - Make --reproduce to not produce undesired whitespace.
Rafael EspĂndola via llvm-commits
llvm-commits at lists.llvm.org
Thu May 5 06:11:20 PDT 2016
Thanks!
On 4 May 2016 at 19:12, Rui Ueyama via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: ruiu
> Date: Wed May 4 18:12:55 2016
> New Revision: 268569
>
> URL: http://llvm.org/viewvc/llvm-project?rev=268569&view=rev
> Log:
> Make --reproduce to not produce undesired whitespace.
>
> Fixes bug 27648.
>
> Modified:
> lld/trunk/ELF/DriverUtils.cpp
> lld/trunk/test/ELF/reproduce.s
>
> Modified: lld/trunk/ELF/DriverUtils.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/DriverUtils.cpp?rev=268569&r1=268568&r2=268569&view=diff
> ==============================================================================
> --- lld/trunk/ELF/DriverUtils.cpp (original)
> +++ lld/trunk/ELF/DriverUtils.cpp Wed May 4 18:12:55 2016
> @@ -17,6 +17,7 @@
> #include "Error.h"
> #include "lld/Config/Version.h"
> #include "llvm/ADT/STLExtras.h"
> +#include "llvm/Option/Option.h"
> #include "llvm/Support/CommandLine.h"
> #include "llvm/Support/FileSystem.h"
> #include "llvm/Support/Path.h"
> @@ -173,6 +174,16 @@ static std::string rewritePath(StringRef
> return S;
> }
>
> +static std::string stringize(opt::Arg *Arg) {
> + std::string K = Arg->getSpelling();
> + if (Arg->getNumValues() == 0)
> + return K;
> + std::string V = quote(Arg->getValue());
> + if (Arg->getOption().getRenderStyle() == opt::Option::RenderJoinedStyle)
> + return K + V;
> + return K + " " + V;
> +}
> +
> // Copies all input files to Config->Reproduce directory and
> // create a response file as "response.txt", so that you can re-run
> // the same command with the same inputs just by executing
> @@ -198,10 +209,7 @@ void elf::createResponseFile(const opt::
> << quote(rewritePath(Arg->getValue())) << "\n";
> break;
> default:
> - OS << Arg->getSpelling();
> - if (Arg->getNumValues() > 0)
> - OS << " " << quote(Arg->getValue());
> - OS << "\n";
> + OS << stringize(Arg) << "\n";
> }
> }
>
>
> Modified: lld/trunk/test/ELF/reproduce.s
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/reproduce.s?rev=268569&r1=268568&r2=268569&view=diff
> ==============================================================================
> --- lld/trunk/test/ELF/reproduce.s (original)
> +++ lld/trunk/test/ELF/reproduce.s Wed May 4 18:12:55 2016
> @@ -32,7 +32,7 @@
> # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o 'foo bar'
> # RUN: ld.lld --reproduce repro2 'foo bar' -L"foo bar" -Lfile \
> # RUN: --dynamic-list dyn -rpath file --script file --version-script ver \
> -# RUN: --dynamic-linker "some unusual/path"
> +# RUN: --dynamic-linker "some unusual/path" -soname 'foo bar' -soname='foo bar'
> # RUN: cpio -id < repro2.cpio
> # RUN: FileCheck %s --check-prefix=RSP2 < repro2/response.txt
> # RSP2: "{{.*}}foo bar"
> @@ -43,6 +43,8 @@
> # RSP2-NEXT: --script {{.+}}file
> # RSP2-NEXT: --version-script {{.+}}ver
> # RSP2-NEXT: --dynamic-linker "some unusual/path"
> +# RSP2-NEXT: -soname="foo bar"
> +# RSP2-NEXT: -soname="foo bar"
>
> .globl _start
> _start:
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list