@@ -3824,6 +3824,9 @@ std::string expr2ct::convert_code(
3824
3824
if (statement==ID_array_copy)
3825
3825
return convert_code_array_copy (src, indent);
3826
3826
3827
+ if (statement==ID_array_replace)
3828
+ return convert_code_array_replace (src, indent);
3829
+
3827
3830
if (statement==" set_may" ||
3828
3831
statement==" set_must" )
3829
3832
return
@@ -4225,6 +4228,39 @@ std::string expr2ct::convert_code_array_copy(
4225
4228
4226
4229
/* ******************************************************************\
4227
4230
4231
+ Function: expr2ct::convert_code_array_replace
4232
+
4233
+ Inputs:
4234
+
4235
+ Outputs:
4236
+
4237
+ Purpose:
4238
+
4239
+ \*******************************************************************/
4240
+
4241
+ std::string expr2ct::convert_code_array_replace (
4242
+ const codet &src,
4243
+ unsigned indent)
4244
+ {
4245
+ std::string dest=indent_str (indent)+" ARRAY_REPLACE(" ;
4246
+
4247
+ forall_operands (it, src)
4248
+ {
4249
+ unsigned p;
4250
+ std::string arg_str=convert_with_precedence (*it, p);
4251
+
4252
+ if (it!=src.operands ().begin ())
4253
+ dest+=" , " ;
4254
+ dest+=arg_str;
4255
+ }
4256
+
4257
+ dest+=" );" ;
4258
+
4259
+ return dest;
4260
+ }
4261
+
4262
+ /* ******************************************************************\
4263
+
4228
4264
Function: expr2ct::convert_code_assert
4229
4265
4230
4266
Inputs:
@@ -4673,9 +4709,6 @@ std::string expr2ct::convert_with_precedence(
4673
4709
else if (src.id ()==" buffer_size" )
4674
4710
return convert_function (src, " BUFFER_SIZE" , precedence=16 );
4675
4711
4676
- else if (src.id ()==ID_pointer_offset)
4677
- return convert_function (src, " POINTER_OFFSET" , precedence=16 );
4678
-
4679
4712
else if (src.id ()==ID_isnan)
4680
4713
return convert_function (src, " isnan" , precedence=16 );
4681
4714
0 commit comments