1 diff -rup mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.c mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.c
2 --- mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.c 2008-04-24 13:59:01.000000000 -0400
3 +++ mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.c 2008-09-02 07:31:12.000000000 -0400
4 @@ -536,7 +536,7 @@ read_integral_parameter (const char *p,
5 for floor_log2 and exact_log2; see toplev.h. That construct, however,
6 conflicts with the ISO C++ One Definition Rule. */
8 -#if GCC_VERSION < 3004 || !defined (__cplusplus)
9 +#if GCC_VERSION < 3004
11 /* Given X, an unsigned number, return the largest int Y such that 2**Y <= X.
12 If X is 0, return -1. */
13 diff -rup mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.h mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.h
14 --- mingw-gcc-4.3.2.orig/gcc-4.3.2/gcc/toplev.h 2007-09-23 15:18:27.000000000 -0400
15 +++ mingw-gcc-4.3.2.new/gcc-4.3.2/gcc/toplev.h 2008-09-03 07:08:46.000000000 -0400
16 @@ -154,12 +154,6 @@ extern void decode_d_option (const char
17 /* Return true iff flags are set as if -ffast-math. */
18 extern bool fast_math_flags_set_p (void);
20 -/* Return log2, or -1 if not exact. */
21 -extern int exact_log2 (unsigned HOST_WIDE_INT);
23 -/* Return floor of log2, with -1 for zero. */
24 -extern int floor_log2 (unsigned HOST_WIDE_INT);
26 /* Inline versions of the above for speed. */
27 #if GCC_VERSION >= 3004
28 # if HOST_BITS_PER_WIDE_INT == HOST_BITS_PER_LONG
29 @@ -173,17 +167,23 @@ extern int floor_log2 (
30 # define CTZ_HWI __builtin_ctz
35 floor_log2 (unsigned HOST_WIDE_INT x)
37 return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
42 exact_log2 (unsigned HOST_WIDE_INT x)
44 return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
47 +/* Return log2, or -1 if not exact. */
48 +extern int exact_log2 (unsigned HOST_WIDE_INT);
50 +/* Return floor of log2, with -1 for zero. */
51 +extern int floor_log2 (unsigned HOST_WIDE_INT);
52 #endif /* GCC_VERSION >= 3004 */
54 /* Functions used to get and set GCC's notion of in what directory