Messages in this thread | | | From | John Garry <> | Subject | Question on FIELD_PREP() for static array | Date | Wed, 10 Oct 2018 18:16:32 +0100 |
| |
(to: get_maintainers -f include/linux/bitfield.h)
Hi,
I would like to use FIELD_PREP() macro for assigning a static array, like this: function() { static u32 val[2] = {FIELD_PREP(GENMASK_ULL(10, 0), 5), 0};
}
However the compiler complains of non-const expression: ./include/linux/bitfield.h:88:2: error: initializer element is not constant ({ \
Specifically it doesn't like the __BF_FIELD_CHECK() in FIELD_PREP().
Any ideas on compiler trickery we could do with the FIELD_PREP() definition to avoid this issue (i.e. enforce the check but only use the constant value)?
Thanks in advance, John
| |