Re: [PATCH 3/4] dtrace-probe: Put semicolon after while on its own line

Simon Marchi
2017-06-21T21:08:14Z

On 2017-06-21 22:34, Sergio Durigan Junior wrote:
> On Wednesday, June 21 2017, Simon Marchi wrote:
>
>> clang shows this warning.
>>
>> /home/emaisin/src/binutils-gdb/gdb/dtrace-probe.c:424:52: error:
>> while loop has empty body [-Werror,-Wempty-body]
>> while (*p++ != '\0' && p - strtab < strtab_size);
>> ^
>> /home/emaisin/src/binutils-gdb/gdb/dtrace-probe.c:424:52: note: put
>> the semicolon on a separate line to silence this warning
>>
>> Putting the semicolon on its own line is not a big sacrifice to get
>> rid of this
>> warning. I think it's also useful to keep this, because it can catch
>> errors
>> like this:
>>
>> while (something);
>> {
>> ...
>> }
>>
>> although gcc would warn about it in a different way (misleading
>> indentation).
>>
>> This warning is already discussed here in the GCC bugzilla:
>>
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62184
>>
>> gdb/ChangeLog:
>>
>> * dtrace-probe.c (dtrace_process_dof_probe): Put semi-colon on
>> its own line.
>> ---
>> gdb/dtrace-probe.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/gdb/dtrace-probe.c b/gdb/dtrace-probe.c
>> index 122f8de..9a02694 100644
>> --- a/gdb/dtrace-probe.c
>> +++ b/gdb/dtrace-probe.c
>> @@ -421,7 +421,8 @@ dtrace_process_dof_probe (struct objfile *objfile,
>> arg.type_str = xstrdup (p);
>>
>> /* Use strtab_size as a sentinel. */
>> - while (*p++ != '\0' && p - strtab < strtab_size);
>> + while (*p++ != '\0' && p - strtab < strtab_size)
>> + ; /* Silence clang's -Wempty-body warning. */
>
> Lately I've been choosing to explicitly put "continue;" when the body
> doesn't contain anything, like:
>
> while (*p++ != '\0' && p - strtab < strtab_size)
> continue;
>
> I don't know what others think about it, but it would solve this
> problem
> and also be more verbose that we're just iterating without a body.

I also looks good, but I don't have a preference. I'll do that if
others like it too.

Thanks,

Simon