mirror of
https://github.com/systemd/systemd
synced 2024-09-30 05:15:19 +00:00
fundamental: declare flex array updated for gcc15 and clang 19
Silly workaround that:
- allowed flexible arrays in unions
- allowed flexible arrays in otherwise empty structs
Is no longer needed since https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=adb1c8a0f167c3a1f7593d75f5a10eb07a5d741a
(GCC15) or clang 19 14ba782a87
This commit is contained in:
parent
432977a0a4
commit
3c2f2146f5
|
@ -517,6 +517,10 @@ static inline uint64_t ALIGN_OFFSET_U64(uint64_t l, uint64_t ali) {
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Restriction/bug (see above) was fixed in GCC 15 and clang 19.*/
|
||||||
|
#if __GNUC__ >= 15 || (defined(__clang__) && __clang_major__ >= 19)
|
||||||
|
#define DECLARE_FLEX_ARRAY(type, name) type name[];
|
||||||
|
#else
|
||||||
/* Declare a flexible array usable in a union.
|
/* Declare a flexible array usable in a union.
|
||||||
* This is essentially a work-around for a pointless constraint in C99
|
* This is essentially a work-around for a pointless constraint in C99
|
||||||
* and might go away in some future version of the standard.
|
* and might go away in some future version of the standard.
|
||||||
|
@ -528,6 +532,7 @@ static inline uint64_t ALIGN_OFFSET_U64(uint64_t l, uint64_t ali) {
|
||||||
dummy_t __empty__ ## name; \
|
dummy_t __empty__ ## name; \
|
||||||
type name[]; \
|
type name[]; \
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Declares an ELF read-only string section that does not occupy memory at runtime. */
|
/* Declares an ELF read-only string section that does not occupy memory at runtime. */
|
||||||
#define DECLARE_NOALLOC_SECTION(name, text) \
|
#define DECLARE_NOALLOC_SECTION(name, text) \
|
||||||
|
|
Loading…
Reference in a new issue