let flush_globals () =
let (before,after)=List.fold_left
(fun (b,a) elem ->
match elem with
| GFun(_,_) as func -> (b,func::a)
| _ as other -> (other::b,a)
)
([],[])
!file.globals in
!file.globals <- (List.rev before)@(List.rev !globals_queue)@(List.rev after);
(* !file.globals <- (List.rev !globals_queue)@(!file.globals);*)
globals_queue:=[]