-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Christopher Li wrote: [...] > I think what David need is just distinction of int vs pointer. Actually, I need to distinguish between ints, doubles, object pointers, function pointers, structures/arrays and void; the code for doing this is currently a pretty nasty set of heuristics, which is here if you're interested: http://cluecc.svn.sourceforge.net/viewvc/cluecc/clue/src/clue/typestore.c?revision=45&view=markup I'm sure there's a better way of doing it, but I just couldn't find one! So if you can think of any way to clean all this up I'd be delighted. The underlying issue, BTW, is that OP_LOAD doesn't carry enough information in its arguments to determine the type of the instruction. Incidentally, speaking of distinguishing arguments, one of the issues I have with Clue is that sparse can't distinguish between parameters of the different types but the same size in some situations --- e.g.: extern void foo(float i); ... foo(5); ...will call foo() with an *integer* parameter rather than a float one. This is preventing me doing certain optimisations (like being able to store ints in ints rather than doubles!). Is this related? (I vaguely recall mentioning this before, but can't find my message... is there a bug tracker for sparse?) - -- David Given dg@xxxxxxxxxxx -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFJUMo+f9E0noFvlzgRAqy/AJ40DRC4Cgzjml50KMw+Bk9i/hRcXwCdH0sK 2SSrZI19MCnrOhjcy9kYUbI= =NywA -----END PGP SIGNATURE----- -- 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