@@ -122,7 +122,6 @@ static jl_array_t *_new_array_(jl_value_t *atype, uint32_t ndims, size_t *dims,
122
122
a -> flags .ndims = ndims ;
123
123
a -> flags .ptrarray = !isunboxed ;
124
124
a -> elsize = elsz ;
125
- a -> elalign = elalign ;
126
125
a -> flags .isshared = 0 ;
127
126
a -> flags .isaligned = 1 ;
128
127
a -> offset = 0 ;
@@ -197,7 +196,6 @@ JL_DLLEXPORT jl_array_t *jl_reshape_array(jl_value_t *atype, jl_array_t *data,
197
196
assert (isboxed == data -> flags .ptrarray );
198
197
if (!isboxed ) {
199
198
a -> elsize = elsz ;
200
- a -> elalign = align ;
201
199
jl_value_t * ownerty = jl_typeof (owner );
202
200
size_t oldelsz = 0 , oldalign = 0 ;
203
201
if (ownerty == (jl_value_t * )jl_string_type ) {
@@ -214,7 +212,6 @@ JL_DLLEXPORT jl_array_t *jl_reshape_array(jl_value_t *atype, jl_array_t *data,
214
212
}
215
213
else {
216
214
a -> elsize = sizeof (void * );
217
- a -> elalign = sizeof (void * );
218
215
a -> flags .ptrarray = 1 ;
219
216
}
220
217
@@ -268,7 +265,6 @@ JL_DLLEXPORT jl_array_t *jl_string_to_array(jl_value_t *str)
268
265
a -> data = jl_string_data (str );
269
266
a -> flags .isaligned = 0 ;
270
267
a -> elsize = 1 ;
271
- a -> elalign = 0 ;
272
268
a -> flags .ptrarray = 0 ;
273
269
jl_array_data_owner (a ) = str ;
274
270
a -> flags .how = 3 ;
@@ -316,7 +312,6 @@ JL_DLLEXPORT jl_array_t *jl_ptr_to_array_1d(jl_value_t *atype, void *data,
316
312
a -> length = nel ;
317
313
#endif
318
314
a -> elsize = elsz ;
319
- a -> elalign = align ;
320
315
a -> flags .ptrarray = !isunboxed ;
321
316
a -> flags .ndims = 1 ;
322
317
a -> flags .isshared = 1 ;
@@ -383,7 +378,6 @@ JL_DLLEXPORT jl_array_t *jl_ptr_to_array(jl_value_t *atype, void *data,
383
378
a -> length = nel ;
384
379
#endif
385
380
a -> elsize = elsz ;
386
- a -> elalign = align ;
387
381
a -> flags .ptrarray = !isunboxed ;
388
382
a -> flags .ndims = ndims ;
389
383
a -> offset = 0 ;
@@ -1047,7 +1041,7 @@ JL_DLLEXPORT void jl_array_sizehint(jl_array_t *a, size_t sz)
1047
1041
JL_DLLEXPORT jl_array_t * jl_array_copy (jl_array_t * ary )
1048
1042
{
1049
1043
size_t elsz = ary -> elsize ;
1050
- size_t elalign = ary -> elalign ;
1044
+ size_t elalign = ary -> flags . ptrarray ? sizeof ( void * ) : jl_datatype_align ( jl_tparam0 ( jl_typeof ( ary ))) ;
1051
1045
size_t len = jl_array_len (ary );
1052
1046
jl_array_t * new_ary = _new_array_ (jl_typeof (ary ), jl_array_ndims (ary ),
1053
1047
& ary -> nrows , !ary -> flags .ptrarray , elsz , elalign );
0 commit comments