[cfe-commits] r141202 - /cfe/trunk/lib/Driver/Compilation.cpp
Chad Rosier
mcrosier at apple.com
Wed Oct 5 13:11:55 PDT 2011
Sure. Done so in revision 141205.
Chad
On Oct 5, 2011, at 1:02 PM, Daniel Dunbar wrote:
> Hey Chad,
>
> For consistency, it probably makes sense for this to also handle all
> the cases that the quoting code handles (currently [\$" ]).
>
> Thanks,
> - Daniel
>
> On Wed, Oct 5, 2011 at 12:51 PM, Chad Rosier <mcrosier at apple.com> wrote:
>> Author: mcrosier
>> Date: Wed Oct 5 14:51:41 2011
>> New Revision: 141202
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=141202&view=rev
>> Log:
>> [driver] The -v option doesn't quoted the command line arguments for historical
>> reasons. However, it does seems practical to quote strings that need it.
>> rdar://10221951
>>
>> Modified:
>> cfe/trunk/lib/Driver/Compilation.cpp
>>
>> Modified: cfe/trunk/lib/Driver/Compilation.cpp
>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Compilation.cpp?rev=141202&r1=141201&r2=141202&view=diff
>> ==============================================================================
>> --- cfe/trunk/lib/Driver/Compilation.cpp (original)
>> +++ cfe/trunk/lib/Driver/Compilation.cpp Wed Oct 5 14:51:41 2011
>> @@ -70,6 +70,13 @@
>> return *Entry;
>> }
>>
>> +static bool needsQuote(const char *s) {
>> + for (const char *c = s; *c; ++c)
>> + if (*c == ' ')
>> + return true;
>> + return false;
>> +}
>> +
>> void Compilation::PrintJob(raw_ostream &OS, const Job &J,
>> const char *Terminator, bool Quote) const {
>> if (const Command *C = dyn_cast<Command>(&J)) {
>> @@ -77,7 +84,7 @@
>> for (ArgStringList::const_iterator it = C->getArguments().begin(),
>> ie = C->getArguments().end(); it != ie; ++it) {
>> OS << ' ';
>> - if (!Quote) {
>> + if (!Quote && !needsQuote(*it)) {
>> OS << *it;
>> continue;
>> }
>>
>>
>> _______________________________________________
>> 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