[PATCH] PR19601: return value for std::remove_if not used

Artyom Skrobov Artyom.Skrobov at arm.com
Wed Apr 30 07:46:13 PDT 2014


>>> In clang/lib/Tooling/CompilationDatabase.cpp:241, this really looks
weird:
>>>
>>>    // Remove -no-integrated-as; it's not used for syntax checking,
>>>    // and it confuses targets which don't support this option.
>>>    std::remove_if(Args.begin(), Args.end(),
>>>                  MatchesAny(std::string("-no-integrated-as")));
>>>
>>> The attached patch adds the extra erase step necessary to really remove
>>> the elements --- as the comment states. But it bothers me to see that
the
>>> current code seems to work as it is, hinting that those lines may no
longer
>>> be necessary.
>>
>> I don't see how those lines work as is. I think they are only working in
>> the absence of that flag.
>
> I guess integrated-as works on Win32 now? Either that, or the test is
> broken too.

I don't immediately see why those lines work as is, but I can confirm that
removing them causes a failure in Tooling/multi-jobs.cpp; while adding
Args.erase() keeps the test passing.






More information about the cfe-commits mailing list