Skip to content

Commit a43e5b6

Browse files
authored
ALLOW_UNALIGNED should be scoped (#724)
1 parent e8d944f commit a43e5b6

File tree

9 files changed

+24
-24
lines changed

9 files changed

+24
-24
lines changed

include/roaring/containers/array.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void array_container_free(array_container_t *array);
7070
array_container_t *array_container_clone(const array_container_t *src);
7171

7272
/* Get the cardinality of `array'. */
73-
ALLOW_UNALIGNED
73+
CROARING_ALLOW_UNALIGNED
7474
static inline int array_container_cardinality(const array_container_t *array) {
7575
return array->cardinality;
7676
}
@@ -208,7 +208,7 @@ int32_t array_container_read(int32_t cardinality, array_container_t *container,
208208
* that the cardinality of the container is already known.
209209
*
210210
*/
211-
ALLOW_UNALIGNED
211+
CROARING_ALLOW_UNALIGNED
212212
static inline int32_t array_container_size_in_bytes(
213213
const array_container_t *container) {
214214
return container->cardinality * sizeof(uint16_t);
@@ -217,7 +217,7 @@ static inline int32_t array_container_size_in_bytes(
217217
/**
218218
* Return true if the two arrays have the same content.
219219
*/
220-
ALLOW_UNALIGNED
220+
CROARING_ALLOW_UNALIGNED
221221
static inline bool array_container_equals(const array_container_t *container1,
222222
const array_container_t *container2) {
223223
if (container1->cardinality != container2->cardinality) {

include/roaring/containers/bitset.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ static inline bool bitset_container_contains_range(
234234
}
235235

236236
/* Get the number of bits set */
237-
ALLOW_UNALIGNED
237+
CROARING_ALLOW_UNALIGNED
238238
static inline int bitset_container_cardinality(
239239
const bitset_container_t *bitset) {
240240
return bitset->cardinality;

include/roaring/containers/run.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -480,7 +480,7 @@ int32_t run_container_read(int32_t cardinality, run_container_t *container,
480480
* Return the serialized size in bytes of a container (see run_container_write).
481481
* This is meant to be compatible with the Java and Go versions of Roaring.
482482
*/
483-
ALLOW_UNALIGNED
483+
CROARING_ALLOW_UNALIGNED
484484
static inline int32_t run_container_size_in_bytes(
485485
const run_container_t *container) {
486486
return run_container_serialized_size_in_bytes(container->n_runs);
@@ -489,7 +489,7 @@ static inline int32_t run_container_size_in_bytes(
489489
/**
490490
* Return true if the two containers have the same content.
491491
*/
492-
ALLOW_UNALIGNED
492+
CROARING_ALLOW_UNALIGNED
493493
static inline bool run_container_equals(const run_container_t *container1,
494494
const run_container_t *container2) {
495495
if (container1->n_runs != container2->n_runs) {

include/roaring/portability.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -372,9 +372,9 @@ static inline int roaring_hamming(uint64_t x) {
372372

373373
// Allow unaligned memory access
374374
#if defined(__GNUC__) || defined(__clang__)
375-
#define ALLOW_UNALIGNED __attribute__((no_sanitize("alignment")))
375+
#define CROARING_ALLOW_UNALIGNED __attribute__((no_sanitize("alignment")))
376376
#else
377-
#define ALLOW_UNALIGNED
377+
#define CROARING_ALLOW_UNALIGNED
378378
#endif
379379

380380
#if defined(__BYTE_ORDER__) && defined(__ORDER_BIG_ENDIAN__)

src/array_util.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ int32_t intersect_vector16(const uint16_t *__restrict__ A, size_t s_a,
459459
return (int32_t)count;
460460
}
461461

462-
ALLOW_UNALIGNED
462+
CROARING_ALLOW_UNALIGNED
463463
int array_container_to_uint32_array_vector16(void *vout, const uint16_t *array,
464464
size_t cardinality,
465465
uint32_t base) {
@@ -2136,7 +2136,7 @@ bool memequals(const void *s1, const void *s2, size_t n) {
21362136
#if CROARING_IS_X64
21372137
#if CROARING_COMPILER_SUPPORTS_AVX512
21382138
CROARING_TARGET_AVX512
2139-
ALLOW_UNALIGNED
2139+
CROARING_ALLOW_UNALIGNED
21402140
int avx512_array_container_to_uint32_array(void *vout, const uint16_t *array,
21412141
size_t cardinality, uint32_t base) {
21422142
int outpos = 0;

src/containers/array.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ array_container_t *array_container_create_range(uint32_t min, uint32_t max) {
8686
}
8787

8888
/* Duplicate container */
89-
ALLOW_UNALIGNED
89+
CROARING_ALLOW_UNALIGNED
9090
array_container_t *array_container_clone(const array_container_t *src) {
9191
array_container_t *newcontainer =
9292
array_container_create_given_capacity(src->capacity);
@@ -396,7 +396,7 @@ void array_container_intersection_inplace(array_container_t *src_1,
396396
}
397397
}
398398

399-
ALLOW_UNALIGNED
399+
CROARING_ALLOW_UNALIGNED
400400
int array_container_to_uint32_array(void *vout, const array_container_t *cont,
401401
uint32_t base) {
402402
#if CROARING_IS_X64

src/containers/bitset.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ void bitset_container_free(bitset_container_t *bitset) {
133133
}
134134

135135
/* duplicate container. */
136-
ALLOW_UNALIGNED
136+
CROARING_ALLOW_UNALIGNED
137137
bitset_container_t *bitset_container_clone(const bitset_container_t *src) {
138138
bitset_container_t *bitset =
139139
(bitset_container_t *)roaring_malloc(sizeof(bitset_container_t));
@@ -928,7 +928,7 @@ CROARING_BITSET_CONTAINER_FN(andnot, &~, _mm256_andnot_si256, vbicq_u64)
928928
// clang-format On
929929

930930

931-
ALLOW_UNALIGNED
931+
CROARING_ALLOW_UNALIGNED
932932
int bitset_container_to_uint32_array(
933933
uint32_t *out,
934934
const bitset_container_t *bc,
@@ -1091,7 +1091,7 @@ bool bitset_container_iterate64(const bitset_container_t *cont, uint32_t base, r
10911091
#if CROARING_IS_X64
10921092
#if CROARING_COMPILER_SUPPORTS_AVX512
10931093
CROARING_TARGET_AVX512
1094-
ALLOW_UNALIGNED
1094+
CROARING_ALLOW_UNALIGNED
10951095
static inline bool _avx512_bitset_container_equals(const bitset_container_t *container1, const bitset_container_t *container2) {
10961096
const __m512i *ptr1 = (const __m512i*)container1->words;
10971097
const __m512i *ptr2 = (const __m512i*)container2->words;
@@ -1108,7 +1108,7 @@ static inline bool _avx512_bitset_container_equals(const bitset_container_t *con
11081108
CROARING_UNTARGET_AVX512
11091109
#endif // CROARING_COMPILER_SUPPORTS_AVX512
11101110
CROARING_TARGET_AVX2
1111-
ALLOW_UNALIGNED
1111+
CROARING_ALLOW_UNALIGNED
11121112
static inline bool _avx2_bitset_container_equals(const bitset_container_t *container1, const bitset_container_t *container2) {
11131113
const __m256i *ptr1 = (const __m256i*)container1->words;
11141114
const __m256i *ptr2 = (const __m256i*)container2->words;
@@ -1125,7 +1125,7 @@ static inline bool _avx2_bitset_container_equals(const bitset_container_t *conta
11251125
CROARING_UNTARGET_AVX2
11261126
#endif // CROARING_IS_X64
11271127

1128-
ALLOW_UNALIGNED
1128+
CROARING_ALLOW_UNALIGNED
11291129
bool bitset_container_equals(const bitset_container_t *container1, const bitset_container_t *container2) {
11301130
if((container1->cardinality != BITSET_UNKNOWN_CARDINALITY) && (container2->cardinality != BITSET_UNKNOWN_CARDINALITY)) {
11311131
if(container1->cardinality != container2->cardinality) {

src/containers/run.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ run_container_t *run_container_create(void) {
120120
return run_container_create_given_capacity(RUN_DEFAULT_INIT_SIZE);
121121
}
122122

123-
ALLOW_UNALIGNED
123+
CROARING_ALLOW_UNALIGNED
124124
run_container_t *run_container_clone(const run_container_t *src) {
125125
run_container_t *run = run_container_create_given_capacity(src->capacity);
126126
if (run == NULL) return NULL;
@@ -932,7 +932,7 @@ int run_container_get_index(const run_container_t *container, uint16_t x) {
932932
#if defined(CROARING_IS_X64) && CROARING_COMPILER_SUPPORTS_AVX512
933933

934934
CROARING_TARGET_AVX512
935-
ALLOW_UNALIGNED
935+
CROARING_ALLOW_UNALIGNED
936936
/* Get the cardinality of `run'. Requires an actual computation. */
937937
static inline int _avx512_run_container_cardinality(
938938
const run_container_t *run) {
@@ -974,7 +974,7 @@ static inline int _avx512_run_container_cardinality(
974974
CROARING_UNTARGET_AVX512
975975

976976
CROARING_TARGET_AVX2
977-
ALLOW_UNALIGNED
977+
CROARING_ALLOW_UNALIGNED
978978
/* Get the cardinality of `run'. Requires an actual computation. */
979979
static inline int _avx2_run_container_cardinality(const run_container_t *run) {
980980
const int32_t n_runs = run->n_runs;
@@ -1004,7 +1004,7 @@ static inline int _avx2_run_container_cardinality(const run_container_t *run) {
10041004
return sum;
10051005
}
10061006

1007-
ALLOW_UNALIGNED
1007+
CROARING_ALLOW_UNALIGNED
10081008
int _avx2_run_container_to_uint32_array(void *vout, const run_container_t *cont,
10091009
uint32_t base) {
10101010
int outpos = 0;
@@ -1105,7 +1105,7 @@ int run_container_to_uint32_array(void *vout, const run_container_t *cont,
11051105
#else
11061106

11071107
/* Get the cardinality of `run'. Requires an actual computation. */
1108-
ALLOW_UNALIGNED
1108+
CROARING_ALLOW_UNALIGNED
11091109
int run_container_cardinality(const run_container_t *run) {
11101110
const int32_t n_runs = run->n_runs;
11111111
const rle16_t *runs = run->runs;
@@ -1119,7 +1119,7 @@ int run_container_cardinality(const run_container_t *run) {
11191119
return sum;
11201120
}
11211121

1122-
ALLOW_UNALIGNED
1122+
CROARING_ALLOW_UNALIGNED
11231123
int run_container_to_uint32_array(void *vout, const run_container_t *cont,
11241124
uint32_t base) {
11251125
int outpos = 0;

src/roaring.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3192,7 +3192,7 @@ const roaring_bitmap_t *roaring_bitmap_frozen_view(const char *buf,
31923192
return rb;
31933193
}
31943194

3195-
ALLOW_UNALIGNED
3195+
CROARING_ALLOW_UNALIGNED
31963196
roaring_bitmap_t *roaring_bitmap_portable_deserialize_frozen(const char *buf) {
31973197
char *start_of_buf = (char *)buf;
31983198
uint32_t cookie;

0 commit comments

Comments
 (0)