On Wed, Apr 18, 2018 at 10:12:54AM +0200, Martin Wilck wrote: > On Tue, 2018-04-17 at 17:07 -0700, Linus Torvalds wrote: > > On Tue, Apr 17, 2018 at 4:35 PM, Martin Wilck <mwilck@xxxxxxxx> > > wrote: > > > Sparse emits errors about ilog2() in array indices because of the > > > use of > > > __ilog2_32() and __ilog2_64(), > > > > If sparse warns about it, then presumably gcc with -Wvla warns about > > it too? > > No, it doesn't (gcc 7.3.0). -> https://paste.opensuse.org/27471594 > It doesn't even warn on an expression like this: > > #define SIZE (1<<10) > static int foo[ilog2(SIZE)]; > > sparse 0.5.2 doesn't warn about that either. It emits "error: bad > integer constant expression" only if ilog2 is used in an array sparse supports VLAs at syntaxic level but not much more. Anything needing directly or indirectly the array size will give this error. -- Luc Van Oostenryck