This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 0/5] Remove a few hurdles of compiling with clang


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.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]