1 (* *********************************************************************)
3 (* The Compcert verified compiler *)
5 (* Xavier Leroy, INRIA Paris-Rocquencourt *)
7 (* Copyright Institut National de Recherche en Informatique et en *)
8 (* Automatique. All rights reserved. This file is distributed *)
9 (* under the terms of the GNU General Public License as published by *)
10 (* the Free Software Foundation, either version 2 of the License, or *)
11 (* (at your option) any later version. This file is also distributed *)
12 (* under the terms of the INRIA Non-Commercial License Agreement. *)
14 (* *********************************************************************)
16 (* Generic program transformation *)
18 val reset_temps : unit -> unit
19 val new_temp_var : ?name:string -> C.typ -> C.ident
20 val new_temp : ?name:string -> C.typ -> C.exp
21 val get_temps : unit -> C.decl list
24 ?decl:(Env.t -> C.decl -> C.decl) ->
25 ?fundef:(Env.t -> C.fundef -> C.fundef) ->
27 C.struct_or_union -> C.ident -> C.field list -> C.field list) ->
28 ?typedef:(Env.t -> C.ident -> Env.typedef_info -> Env.typedef_info) ->