If I manually undef HAVE_GMP at the top of factor.c, then...
$ make src/factor.o src/factor.c:154:0: error: macro "__GMP_GNUC_PREREQ" is not used [-Werror=unused-macros] $ make CFLAGS=-m32 src/factor.o src/factor.c: In function 'factor_using_division': src/factor.c:755:33: error: variable 'lo' set but not used [-Werror=unused-but-set-variable] src/factor.c: In function 'mulredc': src/factor.c:945:28: error: variable 'tl' set but not used [-Werror=unused-but-set-variable] src/factor.c: In function 'mulredc2': src/factor.c:965:28: error: variable 'p0' set but not used [-Werror=unused-but-set-variable] src/factor.c: In function 'prime2_p': src/factor.c:1323:17: error: variable '_p0' set but not used [-Werror=unused-but-set-variable] src/factor.c: In function 'factor_using_pollard_rho2': src/factor.c:1579:11: error: variable '_p0' set but not used [-Werror=unused-but-set-variable] src/factor.c: In function 'factor_using_squfof': src/factor.c:2146:19: error: variable '_p0' set but not used [-Werror=unused-but-set-variable] The above point to redundant processing in umul_ppmm() (or at least our use of it). src/factor.c: At top level: src/factor.c:151:0: error: macro "ASSERT" is not used [-Werror=unused-macros] src/factor.c:154:0: error: macro "__GMP_GNUC_PREREQ" is not used [-Werror=unused-macros] I'll clean up these tomorrow. thanks, Pádraig.