Skip to content

Commit bd4de22

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

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
@@ -1266,19 +1266,30 @@ std::string expr2ct::convert_function(
12661266
const exprt &src,
12671267
const std::string &name,
12681268
unsigned precedence)
1269+
{
1270+
return convert_function(src.operands(), name, precedence);
1271+
}
1272+
1273+
std::string expr2ct::convert_function(
1274+
const exprt::operandst &ops,
1275+
const std::string &name,
1276+
unsigned precedence)
12691277
{
12701278
std::string dest=name;
12711279
dest+='(';
1280+
bool first = true;
12721281

1273-
forall_operands(it, src)
1282+
for(const auto &op : ops)
12741283
{
12751284
unsigned p;
1276-
std::string op=convert_with_precedence(*it, p);
1285+
const std::string op_str=convert_with_precedence(op, p);
12771286

1278-
if(it!=src.operands().begin())
1287+
if(first)
1288+
first=false;
1289+
else
12791290
dest+=", ";
12801291

1281-
dest+=op;
1292+
dest+=op_str;
12821293
}
12831294

12841295
dest+=')';
@@ -3011,7 +3022,7 @@ std::string expr2ct::convert_code(
30113022
if(statement=="set_may" ||
30123023
statement=="set_must")
30133024
return
3014-
indent_str(indent)+convert_function(src, id2string(statement), 16)+";";
3025+
indent_str(indent)+convert_function(src.operands(), id2string(statement), 16)+";";
30153026

30163027
unsigned precedence;
30173028
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
@@ -167,7 +167,13 @@ class expr2ct
167167
unsigned precedence);
168168

169169
std::string convert_function(
170-
const exprt &src, const std::string &symbol,
170+
const exprt::operandst &ops,
171+
const std::string &symbol,
172+
unsigned precedence);
173+
174+
std::string convert_function(
175+
const exprt &src,
176+
const std::string &symbol,
171177
unsigned precedence);
172178

173179
std::string convert_complex(

0 commit comments

Comments
 (0)