| #ifndef ANALYZER_DECLS_H |
| #define ANALYZER_DECLS_H |
| |
| /* Function decls with special meaning to the analyzer. |
| None of these are actually implemented. */ |
| |
| /* Trigger a breakpoint in the analyzer when reached. */ |
| extern void __analyzer_break (void); |
| |
| /* Emit a warning describing the 2nd argument (which can be of any |
| type), at the given verbosity level. This is for use when |
| debugging, and may be of use in DejaGnu tests. */ |
| extern void __analyzer_describe (int verbosity, ...); |
| |
| /* Dump copious information about the analyzer’s state when reached. */ |
| extern void __analyzer_dump (void); |
| |
| /* Emit a warning describing the size of the base region of (*ptr). */ |
| extern void __analyzer_dump_capacity (const void *ptr); |
| |
| /* Dump information after analysis on all of the exploded nodes at this |
| program point. |
| |
| __analyzer_dump_exploded_nodes (0); |
| will dump just the number of nodes, and their IDs. |
| |
| __analyzer_dump_exploded_nodes (1); |
| will also dump all of the states within those nodes. */ |
| extern void __analyzer_dump_exploded_nodes (int); |
| |
| /* Emit a placeholder "note" diagnostic with a path to this call site, |
| if the analyzer finds a feasible path to it. */ |
| extern void __analyzer_dump_path (void); |
| |
| /* Dump the region_model's state to stderr. */ |
| extern void __analyzer_dump_region_model (void); |
| |
| /* Emit a warning describing the state of the 2nd argument |
| (which can be of any type) with respect to NAME. |
| This is for use when debugging, and may be of use in DejaGnu tests. */ |
| extern void __analyzer_dump_state (const char *name, ...); |
| |
| /* Emit a warning with text "TRUE", FALSE" or "UNKNOWN" based on the |
| truthfulness of the argument. */ |
| extern void __analyzer_eval (int); |
| |
| #endif /* #ifndef ANALYZER_DECLS_H. */ |