On Mon, May 18, 2020 at 5:57 PM Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> wrote: > > So, mainly in preparation for some incoming changes, let > function_scope's parent be NULL instead of the builtin scope. Hmm. Gcc nested functions? Sparse doesn't _support_ them, but the symbol nesting part actually does work, afaik. This looks like it might break it. Yes, gcc function nesting is disgusting. But it's a thing. Stupid test-case that almost works with sparse: int test(int a, int b) { inline int nested(int i) { return a*2 + i; } return nested(b); } and by "almost works with sparse" I mean that it actually linearizes correctly, even if it's mostly by mistake, and you get a warning about t.c:5:24: warning: unreplaced symbol 'a' because sparse really doesn't support nested functions and it really only works because of inlining. Linus