File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change @@ -341,6 +341,14 @@ optionalt<exprt> string_to_upper_case_builtin_functiont::eval(
341
341
return make_string (input_opt.value (), type);
342
342
}
343
343
344
+ // / Set of constraints ensuring `result` corresponds to `input` in which
345
+ // / lowercase characters of Basic Latin and Latin-1 supplement of unicode
346
+ // / have been converted to uppercase. These constraints are:
347
+ // / 1. res.length = str.length && return_code = 0
348
+ // / 2. forall i < str.length.
349
+ // / is_lower_case(str[i]) ? res[i] = str[i] - 0x20 : res[i] = str[i]
350
+ // /
351
+ // / \param fresh_symbol: generator of fresh symbols
344
352
string_constraintst string_to_upper_case_builtin_functiont::constraints (
345
353
string_constraint_generatort &generator) const
346
354
{
Original file line number Diff line number Diff line change @@ -63,8 +63,8 @@ class string_builtin_functiont
63
63
string_builtin_functiont () = default ;
64
64
65
65
protected:
66
- explicit string_builtin_functiont (const exprt & return_code)
67
- : return_code(return_code)
66
+ explicit string_builtin_functiont (exprt return_code)
67
+ : return_code(std::move( return_code) )
68
68
{
69
69
}
70
70
};
@@ -76,6 +76,16 @@ class string_transformation_builtin_functiont : public string_builtin_functiont
76
76
array_string_exprt result;
77
77
array_string_exprt input;
78
78
79
+ string_transformation_builtin_functiont (
80
+ exprt return_code,
81
+ array_string_exprt result,
82
+ array_string_exprt input)
83
+ : string_builtin_functiont(std::move(return_code)),
84
+ result (std::move(result)),
85
+ input(std::move(result))
86
+ {
87
+ }
88
+
79
89
// / Constructor from arguments of a function application.
80
90
// / The arguments in `fun_args` should be in order:
81
91
// / an integer `result.length`, a character pointer `&result[0]`,
You can’t perform that action at this time.
0 commit comments