On Thu, Sep 4, 2008 at 5:29 PM, Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> wrote: > On Thu, Sep 4, 2008 at 2:35 PM, Christopher Li <sparse@xxxxxxxxxxx> wrote: >> On Thu, Sep 4, 2008 at 2:41 AM, Alexey Zaytsev <alexey.zaytsev@xxxxxxxxx> wrote: >>> No, that's not how it works. ;) >>> Please compile and run the code. And look at what is actually generated. >>> Or wait a bit, I'll try to describe the serialization process in more detail. >>> >> >> I did. It generate C *source* code like this: >> >> =============cut ============= >> #include "test.sparse_declarations.c" >> >> #define NULL ((void *)0) >> static struct a_wrapper __a_0 = { >> .payload = { >> .d = 1, >> .b_ptr = &__b_0.payload, >> }, >> }; >> static struct b_wrapper __b_0 = { >> .payload = { >> .k = 11, >> .a_ptr = &__a_1.payload, >> }, >> }; >> ============ paste =========== >> >> I assume you intend to use a real compiler(gcc) to compile >> and link that code, no? >> >> I haven't fully understand how you use that piece of C code. But my >> gut feeling is that we shouldn't need to do that C source code >> generation at all. > Ok, let me try to explain how the stuff works. Please note that in Ugh, my pretty code listings got corrupted by the bloody gmail. Here is a better version: http://zaytsev.su/explanation.txt -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html