On Tue, 29 Oct 2013, Mark Johnston wrote:
Log: Revert r257248 and fix the problem in a way that doesn't violate style(9).
Why did gcc complain about the original version?
Modified: head/lib/libproc/_libproc.h ============================================================================== --- head/lib/libproc/_libproc.h Tue Oct 29 02:25:18 2013 (r257297) +++ head/lib/libproc/_libproc.h Tue Oct 29 03:12:31 2013 (r257298) @@ -52,6 +52,6 @@ struct proc_handle { #define DPRINTF(...) warn(__VA_ARGS__) #define DPRINTFX(...) warnx(__VA_ARGS__) #else -#define DPRINTF(...) -#define DPRINTFX(...) +#define DPRINTF(...) do { } while (0) +#define DPRINTFX(...) do { } while (0) #endif Modified: head/lib/libproc/proc_util.c ============================================================================== --- head/lib/libproc/proc_util.c Tue Oct 29 02:25:18 2013 (r257297) +++ head/lib/libproc/proc_util.c Tue Oct 29 03:12:31 2013 (r257298) @@ -145,9 +145,8 @@ proc_wstatus(struct proc_handle *phdl) if (phdl == NULL) return (-1); if (waitpid(phdl->pid, &status, WUNTRACED) < 0) { - if (errno != EINTR) { + if (errno != EINTR) DPRINTF("waitpid"); - } return (-1); } if (WIFSTOPPED(status))
Unlike some buggy macros, the null macro expanded to syntactically correct code: if (errno != EINTR) ; so it doesn't need the do-while hack. Empty statements are common in some contexts, so compilers shouldn't warn about them. In all versions, the macro isn't completely function-like and the if statement is dead code, so if compilers warn about too many things then the do-while hack wouldn't work here or in most places that it is used. Nearby style bugs: - the error check is for "< 0" instead of for "== -1" - the error message is not as loud as old ones. All old ones begin with "ERROR: ". The new style is better. "ERROR" is not even redundant. It is wrong, since the errors are just warnings. Bruce _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"