Hi Linus, On 29 March 2017 at 17:41, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Wed, Mar 29, 2017 at 9:21 AM, Dibyendu Majumdar > <mobile@xxxxxxxxxxxxxxx> wrote: >> >> I am trying out an approach. If a SYM_NODE has a base type of SYM_NODE >> then which of the nodes should be used as the source for information >> you mention? > > Does that actually happen? It shouldn't. A symbol node contains the C > name of the symbol, but you should never have a SYM_NODE that points > to another SYM_NODE, it always points to some actual type (ie ptr, > whatever). > > So the rule should be that the node can have specific information > about that particular named symbol (so: name, array size, modifiers, > address space, initializer etc), and then the node->ctype.base_type > should point to a non-NODE symbol describing the base type. > Okay thank you - that's good to know. It wasn't obvious to me looking at the code, and I thought I had seen an example where a node contained another node ... but I cannot find this now, so I may have been mistaken. I will add an assertion in sparse-llvm to check this - hopefully that way if any instance occurs I will see it. Thanks and Regards Dibyendu -- 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