Re: __attribute__((warn_unused_result)) for NetBSD?
David Holland <[email protected]>
| Newsgroups | gmane.os.netbsd.devel.general |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Sep 16, 2008 at 12:56:01AM +0300, Aleksey Cheusov wrote: > I already made my desicion years ago - in programming paranoia is good. There's necessarily a tradeoff between paranoia and pragmatism. Finding the right balance is essential. > The original question was... Do you like an idea of marking functions > (conditionally! e.g. if WARNS=4 etc.) with "warn_unused_result" IN > GENERAL? And if yes, _what kind of functions_ you WILL mark with it. Yes, but cautiously. > Variants: > 1) this mark is useless at all > 2) only for functions with no side effects > 3) for some functions that may fail (read, write etc.) > 4) 2 + 3 Setting warn-unused-result on that may fail is nearly useless. You want warn-missing-failure-check, which is a lot harder to implement. Warn-unused-result is not an adequate substitute; consider these code fragments: (1) int *x = malloc(sizeof(*x)); *x = 3; (2) int result = read(fd, buf, maxlen-1); buf[result] = 0; -- David A. Holland [email protected]