blob: 0de245ae44045b6906f24a6ccfc31737179d897e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
(* *********************************************************************)
(* *)
(* The Compcert verified compiler *)
(* *)
(* Xavier Leroy, INRIA Paris-Rocquencourt *)
(* *)
(* Copyright Institut National de Recherche en Informatique et en *)
(* Automatique. All rights reserved. This file is distributed *)
(* under the terms of the GNU General Public License as published by *)
(* the Free Software Foundation, either version 2 of the License, or *)
(* (at your option) any later version. This file is also distributed *)
(* under the terms of the INRIA Non-Commercial License Agreement. *)
(* *)
(* *********************************************************************)
(* A simple control flow analysis for C statements.
Main purpose: emit warnings for _Noreturn functions. *)
val function_returns: Env.t -> C.stmt -> bool * bool
(** Given a function body, returns two Booleans:
- the first says whether the function can return
- the second says whether the function can return by falling through
the end of its body.
Both are over-approximations. *)
|