Skip to content

Commit c2d2070

Browse files
author
Daniel Kroening
committed
expr2ct::convert_function now has variant with operands only
1 parent d2b28c7 commit c2d2070

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

src/ansi-c/expr2c.cpp

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1222,19 +1222,30 @@ std::string expr2ct::convert_function(
12221222
const exprt &src,
12231223
const std::string &name,
12241224
unsigned precedence)
1225+
{
1226+
return convert_function(src.operands(), name, precedence);
1227+
}
1228+
1229+
std::string expr2ct::convert_function(
1230+
const exprt::operandst &ops,
1231+
const std::string &name,
1232+
unsigned precedence)
12251233
{
12261234
std::string dest=name;
12271235
dest+='(';
1236+
bool first = true;
12281237

1229-
forall_operands(it, src)
1238+
for(const auto &op : ops)
12301239
{
12311240
unsigned p;
1232-
std::string op=convert_with_precedence(*it, p);
1241+
const std::string op_str=convert_with_precedence(op, p);
12331242

1234-
if(it!=src.operands().begin())
1243+
if(first)
1244+
first=false;
1245+
else
12351246
dest+=", ";
12361247

1237-
dest+=op;
1248+
dest+=op_str;
12381249
}
12391250

12401251
dest+=')';
@@ -2956,7 +2967,7 @@ std::string expr2ct::convert_code(
29562967
if(statement=="set_may" ||
29572968
statement=="set_must")
29582969
return
2959-
indent_str(indent)+convert_function(src, id2string(statement), 16)+";";
2970+
indent_str(indent)+convert_function(src.operands(), id2string(statement), 16)+";";
29602971

29612972
unsigned precedence;
29622973
return convert_norep(src, precedence);

src/ansi-c/expr2c_class.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,13 @@ class expr2ct
169169
unsigned precedence);
170170

171171
std::string convert_function(
172-
const exprt &src, const std::string &symbol,
172+
const exprt::operandst &ops,
173+
const std::string &symbol,
174+
unsigned precedence);
175+
176+
std::string convert_function(
177+
const exprt &src,
178+
const std::string &symbol,
173179
unsigned precedence);
174180

175181
std::string convert_complex(

0 commit comments

Comments
 (0)