let_=Builtin.register"__builtin_va_arg"execute___builtin_va_arg(* model va_arg *)
"__assert_fail"execute___assert_fail
let_=Builtin.register"__builtin_va_copy"execute_skip(** NOTE: __builtin_va_copy should have been handled in the translation already (see frontend.ml)*)
let_=Builtin.register
let_=Builtin.register"__builtin_va_end"execute_skip(* model va_end as skip *)
(* model for va_arg *)
let_=Builtin.register"__builtin_va_start"execute_skip(** NOTE: __builtin_va_start should have been handled in the translation already (see frontend.ml)*)
"__builtin_va_arg"execute___builtin_va_arg
let__create_tuple=Builtin.register"__create_tuple"execute___create_tuple(* create a tuple value from the arguments *)
let_=Builtin.register
let__delete=Builtin.register"__delete"(execute_freeSil.Mnew)(* like free *)
"__builtin_va_copy"execute_skip
let__delete_array=Builtin.register"__delete_array"(execute_freeSil.Mnew_array)(* like free *)
let_=Builtin.register
let__exit=Builtin.register"_exit"execute_exit(* _exit from C library *)
(* model va_end as skip *)
let__get_array_size=Builtin.register"__get_array_size"execute___get_array_size(* return the size of the array passed as a parameter *)
"__builtin_va_end"execute_skip
let_=Builtin.register"__get_hidden_field"execute___get_hidden_field(* return the value of a hidden field in the struct *)
let_=Builtin.register
let__get_type_of=Builtin.register"__get_type_of"execute___get_type_of(* return the get the type of the allocated object passed as a parameter *)
let__new=Builtin.register"__new"(execute_allocSil.Mnewfalse)(* like malloc, but always succeeds *)
"__cast"execute___cast
let__new_array=Builtin.register"__new_array"(execute_allocSil.Mnew_arrayfalse)(* like malloc, but always succeeds *)
let_=Builtin.register
let__objc_alloc=Builtin.register"__objc_alloc"(execute_allocSil.Mobjctrue)(* Objective C alloc *)
(* report a taint error if the parameter is tainted, and assume it is untainted afterward *)
let__objc_alloc_no_fail=Builtin.register"__objc_alloc_no_fail"(execute_allocSil.Mobjcfalse)(* like __objc_alloc, but does not return nil *)
"__check_untainted"execute___check_untainted
let__placement_delete=Builtin.register"__placement_delete"execute_skip(* placement delete is skip *)
let__create_tuple=Builtin.register
let__placement_new=Builtin.register"__placement_new"execute_return_first_argument(* placement new returns the first argument *)
(* create a tuple value from the arguments *)
let_=Builtin.register"__print_value"execute___print_value(* print a value as seen by the engine *)
"__create_tuple"execute___create_tuple
let__set_array_size=Builtin.register"__set_array_size"execute___set_array_size(* set the size of the array passed as a parameter *)
let__delete=Builtin.register
let__set_file_attribute=Builtin.register"__set_file_attribute"execute___set_file_attribute(* set the attribute of the parameter as file *)
(* like free *)
let__set_lock_attribute=Builtin.register"__set_lock_attribute"execute___set_lock_attribute(* set the attribute of the parameter as file *)
"__delete"(execute_freeSil.Mnew)
let__set_mem_attribute=Builtin.register"__set_mem_attribute"execute___set_mem_attribute(* set the attribute of the parameter as memory *)
let__delete_array=Builtin.register
let__set_autorelease_attribute=Builtin.register"__set_autorelease_attribute"execute___set_autorelease_attribute(* set the attribute of the parameter as autorelease *)
(* set the unregistered observer attribute of the parameter *)
"__set_unsubscribed_observer_attribute"
(execute___set_attrSil.Aunsubscribed_observer)
(execute___set_attrSil.Aunsubscribed_observer)
let__objc_release_autorelease_pool=Builtin.register"__objc_release_autorelease_pool"execute___release_autorelease_pool(* set the attribute of the parameter as autorelease *)
let__split_get_nth=Builtin.register
let__split_get_nth=Builtin.register"__split_get_nth"execute___split_get_nth(* splits a string given a separator and returns the nth string *)
(* splits a string given a separator and returns the nth string *)
"__split_get_nth"execute___split_get_nth
(* builtin function to externally create new errors *)
let_=Builtin.register"__check_untainted"execute___check_untainted(* report a taint error if the parameter is tainted, and assume it is untainted afterward *)
let_=Builtin.register"__throw"execute_skip(** NOTE: __throw should have been handled in the translation already (see frontend.ml)*)
"__unwrap_exception"execute__unwrap_exception
let__tuple_get_nth=Builtin.register"__tuple_get_nth"execute___tuple_get_nth(* return the nth element of a tuple *)
let_=Builtin.register
let__unwrap_exception=Builtin.register"__unwrap_exception"execute__unwrap_exception(* the correct function to unwrapp execption remains to be written *)