On Mon, Sep 14, 2009 at 10:32 AM, Kamil Dudka <kdudka@xxxxxxxxxx> wrote: > As for the long term solution, I don't think it's possible without breaking > the current API/ABI. What about using a bitfield instead? I can see it solved > this way in <gcc/tree.h>. I am actually not afraid of breaking current API/ABI because there is not enough sparse user application to worry about. Just recompile the apps should be fine. Please warn me if any one disagree. As for long term, here is my plan, it will go will with Al's replace same type with same type pointer plan as well. We need to have a different structure to support the extended attributes for ctype. Current "contexts" and "as" should go into that extended attribute as well. Then ctype should have one pointer for extended attributes. For most common case, the extended attribute pointer is just NULL. Because the extended attribute pointer is possibles to be shared between different ctypes. It is not allow to modify the extended attribute struct from ctype directly. Instead it should replace with a new one. We can even hash the extended attribute struct so same attribute struct will have the same pointer, just like ident. That will make comparing attribute is the same much easier. I try it before, it is hard to do because current code does implicit assign for the ctype. Chris -- 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