[PATCH 0/5] Remove a few hurdles of compiling with clang
Simon Marchi
simon.marchi@polymtl.ca
Tue Jun 13 17:07:00 GMT 2017
On 2017-06-13 16:38, Eli Zaretskii wrote:
> Let's not forget that code submitted by someone who is willing to do
> the work stays in GDB even when that someone is no longer willing to
> support that compiler. So there are additional factors to consider
> when making this decision.
Indeed. As Pedro said, we shouldn't do the same kind of efforts for
$OBSCURE_COMPILER than to support a widely used one (like Clang).
>
>> /home/emaisin/src/binutils-gdb/gdb/nat/x86-dregs.c:209:7: error:
>> variable 'i' is incremented both in the loop header and in the loop
>> body [-Werror,-Wfor-loop-analysis]
>> i++;
>> ^
>> /home/emaisin/src/binutils-gdb/gdb/nat/x86-dregs.c:199:32: note:
>> incremented here
>> ALL_DEBUG_ADDRESS_REGISTERS (i)
>> ^
>
> Why is incrementing a loop variable in the body an error? It's
> perfectly valid code.
It's an error only because we use -Werror for development, otherwise it
would be a warning. Warnings are meant to point out valid code that may
not be very good, or a common mistake, or a probable source of bugs.
>> I think
>> that eliminating the error like this is better than adding
>> -Wno-for-loop-analysis, because
>> if I wrote code like this and it was actually a mistake, I would like
>> the compiler to tell
>> me.
>
> Does clang have the equivalent of "#pragma push"? If it does, we
> could disable this warning only for clang and only for that code
> snippet.
That's indeed a solution, but I'd keep that for the cases where we can't
find an elegant solution that pleases both GCC and Clang.
More information about the Gdb-patches
mailing list