Skip to content

Commit 0bb2d02

Browse files
authored
Merge pull request #8657 from tautschnig/fixup-linker-script-merge
fixup! fix exprt::opX accesses in linker_script_merge
2 parents 7e1a97a + 2e054be commit 0bb2d02

File tree

1 file changed

+21
-23
lines changed

1 file changed

+21
-23
lines changed

src/goto-cc/linker_script_merge.cpp

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,13 @@ linker_script_merget::linker_script_merget(
134134
replacement_predicates(
135135
{replacement_predicatet(
136136
"address of array's first member",
137-
[](const exprt &expr) -> const symbol_exprt & {
137+
[](const exprt &expr) -> const symbol_exprt &
138+
{
138139
return to_symbol_expr(
139-
to_index_expr(to_address_of_expr(expr).object()).index());
140+
to_index_expr(to_address_of_expr(expr).object()).array());
140141
},
141-
[](const exprt &expr) {
142+
[](const exprt &expr)
143+
{
142144
return expr.id() == ID_address_of &&
143145
expr.type().id() == ID_pointer &&
144146

@@ -164,10 +166,10 @@ linker_script_merget::linker_script_merget(
164166
}),
165167
replacement_predicatet(
166168
"address of array",
167-
[](const exprt &expr) -> const symbol_exprt & {
168-
return to_symbol_expr(to_address_of_expr(expr).object());
169-
},
170-
[](const exprt &expr) {
169+
[](const exprt &expr) -> const symbol_exprt &
170+
{ return to_symbol_expr(to_address_of_expr(expr).object()); },
171+
[](const exprt &expr)
172+
{
171173
return expr.id() == ID_address_of &&
172174
expr.type().id() == ID_pointer &&
173175

@@ -176,10 +178,10 @@ linker_script_merget::linker_script_merget(
176178
}),
177179
replacement_predicatet(
178180
"address of struct",
179-
[](const exprt &expr) -> const symbol_exprt & {
180-
return to_symbol_expr(to_address_of_expr(expr).object());
181-
},
182-
[](const exprt &expr) {
181+
[](const exprt &expr) -> const symbol_exprt &
182+
{ return to_symbol_expr(to_address_of_expr(expr).object()); },
183+
[](const exprt &expr)
184+
{
183185
return expr.id() == ID_address_of &&
184186
expr.type().id() == ID_pointer &&
185187

@@ -190,20 +192,16 @@ linker_script_merget::linker_script_merget(
190192
}),
191193
replacement_predicatet(
192194
"array variable",
193-
[](const exprt &expr) -> const symbol_exprt & {
194-
return to_symbol_expr(expr);
195-
},
196-
[](const exprt &expr) {
197-
return expr.id() == ID_symbol && expr.type().id() == ID_array;
198-
}),
195+
[](const exprt &expr) -> const symbol_exprt &
196+
{ return to_symbol_expr(expr); },
197+
[](const exprt &expr)
198+
{ return expr.id() == ID_symbol && expr.type().id() == ID_array; }),
199199
replacement_predicatet(
200200
"pointer (does not need pointerizing)",
201-
[](const exprt &expr) -> const symbol_exprt & {
202-
return to_symbol_expr(expr);
203-
},
204-
[](const exprt &expr) {
205-
return expr.id() == ID_symbol && expr.type().id() == ID_pointer;
206-
})})
201+
[](const exprt &expr) -> const symbol_exprt &
202+
{ return to_symbol_expr(expr); },
203+
[](const exprt &expr)
204+
{ return expr.id() == ID_symbol && expr.type().id() == ID_pointer; })})
207205
{}
208206

209207
int linker_script_merget::pointerize_linker_defined_symbols(

0 commit comments

Comments
 (0)