[llvm] r220364 - Handle spaces and quotes in file names in MRI scripts.

Rafael Espindola rafael.espindola at gmail.com
Tue Oct 21 20:10:57 PDT 2014


Author: rafael
Date: Tue Oct 21 22:10:56 2014
New Revision: 220364

URL: http://llvm.org/viewvc/llvm-project?rev=220364&view=rev
Log:
Handle spaces and quotes in file names in MRI scripts.

Modified:
    llvm/trunk/test/Object/mri-addmod.test
    llvm/trunk/tools/llvm-ar/llvm-ar.cpp

Modified: llvm/trunk/test/Object/mri-addmod.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/mri-addmod.test?rev=220364&r1=220363&r2=220364&view=diff
==============================================================================
--- llvm/trunk/test/Object/mri-addmod.test (original)
+++ llvm/trunk/test/Object/mri-addmod.test Tue Oct 21 22:10:56 2014
@@ -1,5 +1,5 @@
 ; RUN: echo create %t.a > %t.mri
-; RUN: echo addmod %p/Inputs/trivial-object-test.elf-x86-64 >> %t.mri
+; RUN: echo "addmod  \"%p/Inputs/trivial-object-test.elf-x86-64\" " >> %t.mri
 ; RUN: echo save >> %t.mri
 ; RUN: echo end >> %t.mri
 

Modified: llvm/trunk/tools/llvm-ar/llvm-ar.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-ar/llvm-ar.cpp?rev=220364&r1=220363&r2=220364&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-ar/llvm-ar.cpp (original)
+++ llvm/trunk/tools/llvm-ar/llvm-ar.cpp Tue Oct 21 22:10:56 2014
@@ -961,6 +961,9 @@ static void runMRIScript() {
     StringRef Line = *I;
     StringRef CommandStr, Rest;
     std::tie(CommandStr, Rest) = Line.split(' ');
+    Rest = Rest.trim();
+    if (!Rest.empty() && Rest.front() == '"' && Rest.back() == '"')
+      Rest = Rest.drop_front().drop_back();
     auto Command = StringSwitch<MRICommand>(CommandStr.lower())
                        .Case("addlib", MRICommand::AddLib)
                        .Case("addmod", MRICommand::AddMod)





More information about the llvm-commits mailing list