Junio C Hamano wrote: > Brandon Casey <casey@xxxxxxxxxxxxxxx> writes: > >> Linus Torvalds wrote: >>> I suspect it might as well be cast to "const char *", and then >>> hopefully you only need one cast. >>> >>> So maybe it could be written as >>> >>> data = (const char *) data + len; >>> >>> instead, and avoid the second cast (because the assignment should be ok, >>> since it's assigning back to a "const void *"). >> Yep, that's enough. It produces an identical binary on all platforms >> except Solaris x86 using SUNWspro compiler. > > Casting to "const char *" to tell compilers that we are interested in byte > address differences/increments makes sense to me, Yes, I agree. > but I do not know how to interpret your last comment. > Do you mean that SUNWspro compiler misbehave with the "cast to char *" and > do you meed your "casting to uintptr_t to explicitly compute byte > addresses as int" to make it behave? No, sorry, the SUNWspro compiler produces a working binary with any of the three versions: the original, cast to uintptr_t, or cast to const char*. Though it emits a warning with the original. I was just pointing out that the SUNWspro compiler does not produce an identical binary on x86 for each of the three versions like the GNU compiler does. Sorry for the confusion. Linus's suggestion of casting to "const char*" should be adopted. -brandon -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html