Hello, I have a tiny suggestion. Why not define __GMP_ATTRIBUTE_PURE to be: __attribute__((__pure__, __warn_unused_result__)) ? (Of course if this attribute is supported by the used GCC - ie GCC 3.3.3 at least, I think). For a pure function, I think it is an error not to use the result. Sincerely, Patrick Pelissier