summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/global-region-invalidation.c
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Introduce clang_analyzer_eval for regression test constraint checks.Jordy Rose2012-05-161-1/+12
| | | | | | | | | | The new debug.ExprInspection checker looks for calls to clang_analyzer_eval, and emits a warning of TRUE, FALSE, or UNKNOWN (or UNDEFINED) based on the constrained value of its (boolean) argument. It does not modify the analysis state though the conditions tested can result in branches (e.g. through the use of short-circuit operators). llvm-svn: 156919
* [analyzer] Be less pessimistic about invalidation of global variablesAnna Zaks2012-01-041-0/+75
as a result of a call. Problem: Global variables, which come in from system libraries should not be invalidated by all calls. Also, non-system globals should not be invalidated by system calls. Solution: The following solution to invalidation of globals seems flexible enough for taint (does not invalidate stdin) and should not lead to too many false positives. We split globals into 3 classes: * immutable - values are preserved by calls (unless the specific global is passed in as a parameter): A : Most system globals and const scalars * invalidated by functions defined in system headers: B: errno * invalidated by all other functions (note, these functions may in turn contain system calls): B: errno C: all other globals (which are not in A nor B) llvm-svn: 147569
OpenPOWER on IntegriCloud