>I am trying to port nhc98 the bytecode haskell compiler. i see. that makes it much harder to try my suggestion. i wonder why the compiler doesn't generate char* (or unsigned char*) for those defines? perhaps directly changing that would be better. if it needed a void* result then
#define CT_v249 ((void*)((char*)startLabel+464)) would make the addition portable (between byte-oriented machines, but that was anyway assumed) and leave the result void*