@@ -30,7 +30,7 @@ static exprt unpack_rec(
30
30
// / \param src: array/vector to unpack
31
31
// / \param src_size: array/vector size; if not a constant, \p max_bytes must be
32
32
// / a constant value, otherwise we fail with an exception
33
- // / \param element_width : bit width of array/vector elements
33
+ // / \param element_bits : bit width of array/vector elements
34
34
// / \param little_endian: true, iff assumed endianness is little-endian
35
35
// / \param offset_bytes: if not nil, bytes prior to this offset will be filled
36
36
// / with nil values
@@ -41,7 +41,7 @@ static exprt unpack_rec(
41
41
static array_exprt unpack_array_vector (
42
42
const exprt &src,
43
43
const exprt &src_size,
44
- const mp_integer &element_width ,
44
+ const mp_integer &element_bits ,
45
45
bool little_endian,
46
46
const exprt &offset_bytes,
47
47
const exprt &max_bytes,
@@ -61,9 +61,9 @@ static array_exprt unpack_array_vector(
61
61
// refine the number of elements to extract in case the element width is known
62
62
// and a multiple of bytes; otherwise we will expand the entire array/vector
63
63
optionalt<mp_integer> max_elements;
64
- if (element_width > 0 && element_width % 8 == 0 )
64
+ if (element_bits > 0 && element_bits % 8 == 0 )
65
65
{
66
- mp_integer el_bytes = element_width / 8 ;
66
+ mp_integer el_bytes = element_bits / 8 ;
67
67
68
68
// turn bytes into elements
69
69
if (!num_elements)
@@ -85,7 +85,7 @@ static array_exprt unpack_array_vector(
85
85
}
86
86
87
87
// the maximum number of bytes is an upper bound in case the size of the
88
- // array/vector is unknown; if the element_width was usable above this will
88
+ // array/vector is unknown; if element_bits was usable above this will
89
89
// have been turned into a number of elements already
90
90
if (!num_elements)
91
91
num_elements = *max_elements;
@@ -149,16 +149,16 @@ static exprt unpack_rec(
149
149
const array_typet &array_type=to_array_type (src.type ());
150
150
const typet &subtype=array_type.subtype ();
151
151
152
- auto element_width = pointer_offset_bits (subtype, ns);
153
- CHECK_RETURN (element_width .has_value ());
152
+ auto element_bits = pointer_offset_bits (subtype, ns);
153
+ CHECK_RETURN (element_bits .has_value ());
154
154
155
- if (!unpack_byte_array && *element_width == 8 )
155
+ if (!unpack_byte_array && *element_bits == 8 )
156
156
return src;
157
157
158
158
return unpack_array_vector (
159
159
src,
160
160
array_type.size (),
161
- *element_width ,
161
+ *element_bits ,
162
162
little_endian,
163
163
offset_bytes,
164
164
max_bytes,
@@ -169,16 +169,16 @@ static exprt unpack_rec(
169
169
const vector_typet &vector_type = to_vector_type (src.type ());
170
170
const typet &subtype = vector_type.subtype ();
171
171
172
- auto element_width = pointer_offset_bits (subtype, ns);
173
- CHECK_RETURN (element_width .has_value ());
172
+ auto element_bits = pointer_offset_bits (subtype, ns);
173
+ CHECK_RETURN (element_bits .has_value ());
174
174
175
- if (!unpack_byte_array && *element_width == 8 )
175
+ if (!unpack_byte_array && *element_bits == 8 )
176
176
return src;
177
177
178
178
return unpack_array_vector (
179
179
src,
180
180
vector_type.size (),
181
- *element_width ,
181
+ *element_bits ,
182
182
little_endian,
183
183
offset_bytes,
184
184
max_bytes,
@@ -194,14 +194,14 @@ static exprt unpack_rec(
194
194
exprt::operandst byte_operands;
195
195
for (const auto &comp : components)
196
196
{
197
- auto element_width = pointer_offset_bits (comp.type (), ns);
197
+ auto component_bits = pointer_offset_bits (comp.type (), ns);
198
198
199
199
// the next member would be misaligned, abort
200
200
if (
201
- !element_width .has_value () || *element_width == 0 ||
202
- *element_width % 8 != 0 )
201
+ !component_bits .has_value () || *component_bits == 0 ||
202
+ *component_bits % 8 != 0 )
203
203
{
204
- throw non_byte_alignedt (struct_type, comp, *element_width );
204
+ throw non_byte_alignedt (struct_type, comp, *component_bits );
205
205
}
206
206
207
207
exprt offset_in_member = nil_exprt ();
@@ -240,7 +240,7 @@ static exprt unpack_rec(
240
240
byte_operands.insert (
241
241
byte_operands.end (), sub.operands ().begin (), sub.operands ().end ());
242
242
243
- member_offset_bits += *element_width ;
243
+ member_offset_bits += *component_bits ;
244
244
}
245
245
246
246
const std::size_t size = byte_operands.size ();
@@ -372,25 +372,23 @@ exprt lower_byte_extract(const byte_extract_exprt &src, const namespacet &ns)
372
372
const array_typet &array_type=to_array_type (src.type ());
373
373
const typet &subtype=array_type.subtype ();
374
374
375
- auto element_width = pointer_offset_bits (subtype, ns);
375
+ auto element_bits = pointer_offset_bits (subtype, ns);
376
376
auto num_elements = numeric_cast<mp_integer>(array_type.size ());
377
377
if (!num_elements.has_value ())
378
378
num_elements = mp_integer (unpacked.op ().operands ().size ());
379
379
380
380
// consider ways of dealing with arrays of unknown subtype size or with a
381
381
// subtype size that does not fit byte boundaries; currently we fall back to
382
382
// stitching together consecutive elements down below
383
- if (
384
- element_width.has_value () && *element_width >= 1 &&
385
- *element_width % 8 == 0 )
383
+ if (element_bits.has_value () && *element_bits >= 1 && *element_bits % 8 == 0 )
386
384
{
387
385
array_exprt array ({}, array_type);
388
386
389
387
for (mp_integer i=0 ; i< *num_elements; ++i)
390
388
{
391
389
plus_exprt new_offset (
392
390
unpacked.offset (),
393
- from_integer (i * (*element_width ) / 8 , unpacked.offset ().type ()));
391
+ from_integer (i * (*element_bits ) / 8 , unpacked.offset ().type ()));
394
392
395
393
byte_extract_exprt tmp (unpacked);
396
394
tmp.type ()=subtype;
@@ -409,23 +407,21 @@ exprt lower_byte_extract(const byte_extract_exprt &src, const namespacet &ns)
409
407
410
408
mp_integer num_elements = numeric_cast_v<mp_integer>(vector_type.size ());
411
409
412
- auto element_width = pointer_offset_bits (subtype, ns);
413
- CHECK_RETURN (element_width .has_value ());
410
+ auto element_bits = pointer_offset_bits (subtype, ns);
411
+ CHECK_RETURN (element_bits .has_value ());
414
412
415
413
// consider ways of dealing with vectors of unknown subtype size or with a
416
414
// subtype size that does not fit byte boundaries; currently we fall back to
417
415
// stitching together consecutive elements down below
418
- if (
419
- element_width.has_value () && *element_width >= 1 &&
420
- *element_width % 8 == 0 )
416
+ if (element_bits.has_value () && *element_bits >= 1 && *element_bits % 8 == 0 )
421
417
{
422
418
vector_exprt vector (vector_type);
423
419
424
420
for (mp_integer i = 0 ; i < num_elements; ++i)
425
421
{
426
422
plus_exprt new_offset (
427
423
unpacked.offset (),
428
- from_integer (i * (*element_width ) / 8 , unpacked.offset ().type ()));
424
+ from_integer (i * (*element_bits ) / 8 , unpacked.offset ().type ()));
429
425
430
426
byte_extract_exprt tmp (unpacked);
431
427
tmp.type () = subtype;
@@ -447,12 +443,12 @@ exprt lower_byte_extract(const byte_extract_exprt &src, const namespacet &ns)
447
443
448
444
for (const auto &comp : components)
449
445
{
450
- auto element_width = pointer_offset_bits (comp.type (), ns);
446
+ auto component_bits = pointer_offset_bits (comp.type (), ns);
451
447
452
448
// the next member would be misaligned, abort
453
449
if (
454
- !element_width .has_value () || *element_width == 0 ||
455
- *element_width % 8 != 0 )
450
+ !component_bits .has_value () || *component_bits == 0 ||
451
+ *component_bits % 8 != 0 )
456
452
{
457
453
failed=true ;
458
454
break ;
0 commit comments