Skip to content

Commit 66726f8

Browse files
author
Daniel Kroening
committed
expr2ct::convert_function now has variant with operands only
1 parent dec3da4 commit 66726f8

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
@@ -1224,19 +1224,30 @@ std::string expr2ct::convert_function(
12241224
const exprt &src,
12251225
const std::string &name,
12261226
unsigned precedence)
1227+
{
1228+
return convert_function(src.operands(), name, precedence);
1229+
}
1230+
1231+
std::string expr2ct::convert_function(
1232+
const exprt::operandst &ops,
1233+
const std::string &name,
1234+
unsigned precedence)
12271235
{
12281236
std::string dest=name;
12291237
dest+='(';
1238+
bool first = true;
12301239

1231-
forall_operands(it, src)
1240+
for(const auto &op : ops)
12321241
{
12331242
unsigned p;
1234-
std::string op=convert_with_precedence(*it, p);
1243+
const std::string op_str=convert_with_precedence(op, p);
12351244

1236-
if(it!=src.operands().begin())
1245+
if(first)
1246+
first=false;
1247+
else
12371248
dest+=", ";
12381249

1239-
dest+=op;
1250+
dest+=op_str;
12401251
}
12411252

12421253
dest+=')';
@@ -2957,7 +2968,7 @@ std::string expr2ct::convert_code(
29572968
if(statement=="set_may" ||
29582969
statement=="set_must")
29592970
return
2960-
indent_str(indent)+convert_function(src, id2string(statement), 16)+";";
2971+
indent_str(indent)+convert_function(src.operands(), id2string(statement), 16)+";";
29612972

29622973
unsigned precedence;
29632974
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)