Skip to content

Commit 33f412c

Browse files
committed
portable static asserts
1 parent fdf6c64 commit 33f412c

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

include/roaring/portability.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,13 @@ static inline uint32_t croaring_refcount_get(const croaring_refcount_t *val) {
587587
{ 0 }
588588
#endif
589589

590+
#if defined(__cplusplus)
591+
#define CROARING_STATIC_ASSERT(x,y) static_assert(x, y)
592+
#else
593+
#define CROARING_STATIC_ASSERT(x,y) _Static_assert(x, y)
594+
#endif
595+
596+
590597
// We need portability.h to be included first,
591598
// but we also always want isadetection.h to be
592599
// included (right after).

src/art/art.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2284,13 +2284,13 @@ bool art_internal_validate(const art_t *art, const char **reason,
22842284
return art_internal_validate_at(art, art->root, validator);
22852285
}
22862286

2287-
_Static_assert(alignof(art_leaf_t) == alignof(art_node4_t),
2287+
CROARING_STATIC_ASSERT(alignof(art_leaf_t) == alignof(art_node4_t),
22882288
"Serialization assumes node type alignment is equal");
2289-
_Static_assert(alignof(art_leaf_t) == alignof(art_node16_t),
2289+
CROARING_STATIC_ASSERT(alignof(art_leaf_t) == alignof(art_node16_t),
22902290
"Serialization assumes node type alignment is equal");
2291-
_Static_assert(alignof(art_leaf_t) == alignof(art_node48_t),
2291+
CROARING_STATIC_ASSERT(alignof(art_leaf_t) == alignof(art_node48_t),
22922292
"Serialization assumes node type alignment is equal");
2293-
_Static_assert(alignof(art_leaf_t) == alignof(art_node256_t),
2293+
CROARING_STATIC_ASSERT(alignof(art_leaf_t) == alignof(art_node256_t),
22942294
"Serialization assumes node type alignment is equal");
22952295

22962296
size_t art_size_in_bytes(const art_t *art) {
@@ -2363,7 +2363,7 @@ size_t art_frozen_view(const char *buf, size_t maxbytes, art_t *art) {
23632363
if (maxbytes < sizeof(art->capacities)) {
23642364
return 0;
23652365
}
2366-
_Static_assert(sizeof(art->first_free) == sizeof(art->capacities),
2366+
CROARING_STATIC_ASSERT(sizeof(art->first_free) == sizeof(art->capacities),
23672367
"first_free is read from capacities");
23682368
memcpy(art->first_free, buf, sizeof(art->capacities));
23692369
memcpy(art->capacities, buf, sizeof(art->capacities));

0 commit comments

Comments
 (0)