memcpy never returns void. Read ISO C. If you mean the replacement of memcpy by bcopy, then you have to fix the macro to return the destination pointer. Not all of the world is ISO C. GCC is required to be compilable by all current vendor compilers. Try "man memcpy" on Digital Unix on Alpha: it returns void there.