I assume this is a size_t vs int type problem, but the diagnostic points to the function declaration, not to an actual binary expression, and I can't figure out what it's complaining about:
/greed/dj/m32c/gcc/h8300-elf/./gcc/xgcc -shared-libgcc -B/greed/dj/m32c/gcc/h8300-elf/./gcc -nostdinc++ -L/greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/src -L/greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/src/.libs -B/greed/dj/m32c/install/h8300-elf/bin/ -B/greed/dj/m32c/install/h8300-elf/lib/ -isystem /greed/dj/m32c/install/h8300-elf/include -isystem /greed/dj/m32c/install/h8300-elf/sys-include -mh -mn -mint32 -x c++-header -nostdinc++ -g -O2 -I/greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/h8300-elf -I/greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include -I/greed/dj/m32c/gcc/gcc/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /greed/dj/m32c/gcc/gcc/libstdc++-v3/include/precompiled/stdc++.h \ -o h8300-elf/bits/stdc++.h.gch/O2ggnu++0x.gch In file included from /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/vector:70:0, from /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bits/random.h:34, from /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/random:50, from /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bits/stl_algo.h:67, from /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/algorithm:63, from /greed/dj/m32c/gcc/gcc/libstdc++-v3/include/precompiled/stdc++.h:65: /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bits/vector.tcc: In member function 'void std::vector<_Tp, _Alloc>::_M_emplace_back_aux(_Args&& ...) [with _Args = {const int&}; _Tp = int; _Alloc = std::allocator<int>]': /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bits/vector.tcc:397:7: error: type mismatch in binary expression vector<_Tp, _Alloc>:: ^ /greed/dj/m32c/gcc/h8300-elf/h8300-elf/h8300h/normal/int32/libstdc++-v3/include/bits/vector.tcc:397:7: internal compiler error: verify_gimple failed vector<_Tp, _Alloc>:: ^ Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [h8300-elf/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1 Note: my current patchset is: Index: libstdc++-v3/include/std/bitset =================================================================== --- libstdc++-v3/include/std/bitset (revision 186562) +++ libstdc++-v3/include/std/bitset (working copy) @@ -1374,13 +1374,13 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER void bitset<_Nb>:: _M_copy_from_ptr(const _CharT* __s, size_t __len, size_t __pos, size_t __n, _CharT __zero, _CharT __one) { reset(); - const size_t __nbits = std::min(_Nb, std::min(__n, __len - __pos)); + const size_t __nbits = std::min(_Nb, std::min(__n, (size_t)(__len - __pos))); for (size_t __i = __nbits; __i > 0; --__i) { const _CharT __c = __s[__pos + __nbits - __i]; if (_Traits::eq(__c, __zero)) ; else if (_Traits::eq(__c, __one)) Index: libstdc++-v3/include/bits/random.tcc =================================================================== --- libstdc++-v3/include/bits/random.tcc (revision 186562) +++ libstdc++-v3/include/bits/random.tcc (working copy) @@ -2786,13 +2786,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION : (__n >= 68) ? 7 : (__n >= 39) ? 5 : (__n >= 7) ? 3 : (__n - 1) / 2; const size_t __p = (__n - __t) / 2; const size_t __q = __p + __t; - const size_t __m = std::max(__s + 1, __n); + const size_t __m = std::max((size_t)(__s + 1), __n); for (size_t __k = 0; __k < __m; ++__k) { _Type __arg = (__begin[__k % __n] ^ __begin[(__k + __p) % __n] ^ __begin[(__k - 1) % __n]); Index: gcc/config/h8300/h8300.h =================================================================== --- gcc/config/h8300/h8300.h (revision 186534) +++ gcc/config/h8300/h8300.h (working copy) @@ -126,12 +126,13 @@ extern const char * const *h8_reg_names; /* The return address is pushed on the stack. */ #define INCOMING_RETURN_ADDR_RTX gen_rtx_MEM (Pmode, gen_rtx_REG (Pmode, STACK_POINTER_REGNUM)) #define INCOMING_FRAME_SP_OFFSET (POINTER_SIZE / 8) #define DWARF_CIE_DATA_ALIGNMENT 2 +#define DWARF2_ADDR_SIZE 4 /* Define this if addresses of constant functions shouldn't be put through pseudo regs where they can be cse'd. Desirable on machines where ordinary constants are expensive but a CALL with constant address is cheap.