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.