diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/www/analyzer/potential_checkers.html | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/clang/www/analyzer/potential_checkers.html b/clang/www/analyzer/potential_checkers.html index 5b32dd0329d..6ec68a99096 100644 --- a/clang/www/analyzer/potential_checkers.html +++ b/clang/www/analyzer/potential_checkers.html @@ -314,6 +314,34 @@ int foo(bool cond) { </table> +<!-- =============================== POSIX ================================= --> +<h3>POSIX</h3> +<table class="checkers"> +<col class="namedescr"><col class="example"><col class="progress"> +<thead><tr><td>Name, Description</td><td>Example</td><td>Progress</td></tr></thead> + +<tr><td><span class="name">posix.Errno</span><br><br> +Record that <code>errno</code> is non-zero when certain functions fail. +</td><td><pre> +#include <stdlib.h> + +int readWrapper(int fd, int *count) { + int lcount = read(fd, globalBuf, sizeof(globalBuf)); + if (lcount < 0) + return errno; + *count = lcount; + return 0; +} + +void use(int fd) { + int count; + if (!readWrapper(fd)) + print("%d", count); // should not warn +} +</pre></td><td class="aligned"><a href="http://llvm.org/bugs/show_bug.cgi?id=18701">PR18701</a></td></tr> + +</table> + <!-- ========================= undefined behavior ========================== --> <h3>undefined behavior</h3> <table class="checkers"> |

