8
8
9
9
// external dependencies
10
10
extern __CPROVER_size_t __CPROVER_max_malloc_size ;
11
- extern void * __CPROVER_alloca_object ;
11
+ extern const void * __CPROVER_alloca_object ;
12
12
extern const void * __CPROVER_deallocated ;
13
13
extern const void * __CPROVER_new_object ;
14
14
extern __CPROVER_bool __CPROVER_malloc_is_new_array ;
15
15
int __builtin_clzll (unsigned long long );
16
- char __VERIFIER_nondet_char ();
17
16
__CPROVER_bool __VERIFIER_nondet_CPROVER_bool ();
18
17
19
18
/// \brief A conditionally writable range of bytes.
@@ -245,8 +244,8 @@ __CPROVER_HIDE:;
245
244
// symex state from the number of object_bits/offset_bits
246
245
// the number of object bits is determined by counting the number of leading
247
246
// zeroes of the built-in constant __CPROVER_max_malloc_size;
248
- __CPROVER_size_t object_bits = __builtin_clzll (__CPROVER_max_malloc_size );
249
- __CPROVER_size_t nof_objects = 1UL << object_bits ;
247
+ int object_bits = __builtin_clzll (__CPROVER_max_malloc_size );
248
+ __CPROVER_size_t nof_objects = 1ULL << object_bits ;
250
249
* set = (__CPROVER_contracts_obj_set_t ){
251
250
.max_elems = nof_objects ,
252
251
.watermark = 0 ,
@@ -1143,7 +1142,6 @@ void *__CPROVER_contracts_malloc(
1143
1142
__CPROVER_size_t ,
1144
1143
__CPROVER_contracts_write_set_ptr_t );
1145
1144
1146
- __CPROVER_bool __VERIFIER_nondet_bool ();
1147
1145
/// \brief Implementation of the `is_fresh` front-end predicate.
1148
1146
///
1149
1147
/// The behaviour depends on the boolean flags carried by \p set
@@ -1170,7 +1168,7 @@ __CPROVER_bool __CPROVER_contracts_is_fresh(
1170
1168
__CPROVER_contracts_write_set_ptr_t write_set )
1171
1169
{
1172
1170
if (!write_set )
1173
- return __VERIFIER_nondet_bool ();
1171
+ return __VERIFIER_nondet_CPROVER_bool ();
1174
1172
__CPROVER_HIDE :;
1175
1173
#ifdef DFCC_DEBUG
1176
1174
__CPROVER_assert (
0 commit comments