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

Sergio Durigan Junior
2017-06-21T20:34:59Z

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.

>
> /* Try to parse a type expression from the type string. If
> this does not work then we set the type to `long
> --
> 2.7.4

--
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF 31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible