This fixes the following errors in a MinGW cross-build.
libtool: compile: i586-mingw32msvc-gcc -DHAVE_CONFIG_H -I.. -I.. -I.. -I/usr/local/i586-mingw32msvc/include -I/usr/local/i586-mingw32msvc/include -g -O2 -Wall -Wmissing-prototypes -Werror -MT libguile_la-discouraged.lo -MD -MP -MF .deps/libguile_la-discouraged.Tpo -c discouraged.c -DDLL_EXPORT -DPIC -o .libs/libguile_la-discouraged.o
discouraged.c:75: error: conflicting types for 'scm_ptrdiff2num'
../libguile/discouraged.h:75: error: previous declaration of 'scm_ptrdiff2num' was here
discouraged.c:123: error: conflicting types for 'scm_num2ptrdiff'
../libguile/discouraged.h:89: error: previous declaration of 'scm_num2ptrdiff' was here
* libguile/discouraged.c (scm_ptrdiff2num, scm_num2ptrdiff): Use
scm_t_ptrdiff instead of ptrdiff_t.
(scm_number_p): Export as "number?" to Scheme.
(scm_is_complex, scm_is_number): New.
(scm_c_make_rectangular, scm_c_make_polar): New.
(scm_make_rectangular, scm_make_polar): Use above.
(scm_c_real_part, scm_c_imag_part, scm_c_magnitude, scm_c_angle):
New.
(scm_make_complex): Discouraged by moving to discouraged.h and
discouraged.c. Replaced all uses with scm_c_make_rectangular.
(scm_i_short2big, scm_i_int2big, scm_i_uint2big, scm_i_size2big,
scm_i_ptrdiff2big, scm_i_long_long2big, scm_i_ulong_long2big):
Removed prototypes.
(scm_make_real, scm_num2dbl, scm_float2num, scm_double2num):
Discouraged by moving to discouraged.h and discouraged.c.
Replaced all uses with scm_from_double.
(scm_num2float, scm_num2double): Discouraged by moving prototype
to discouraged.h and rewriting in terms of scm_to_double.
Replaced all uses with scm_to_double.
(scm_to_double): Do not implement in terms of scm_num2dbl, use
explicit code.
(scm_from_double): Do not implement in terms of scm_make_real, use
explicit code.