> The patch simply enabled type checking by default. As I don't see how > we can easily address the underlying problem can you try the following > which simply makes this typechecking weaker?
That seems to work. FYI test results show 98% pass rate for C++ and 98.6% pass rate for C, so I'm not sure what the "underlying problem" is, other than inappropriate assumptions about what backends do. To recap: the m32c/80 family of chips does not have an integer type which is the same size as pointer types, and which has sufficient math support in the chip to satisfy gcc's assumption of riscness. Thus, sizeof(size_t) < sizeof(void *) (16 < 24). Yes, it really does have 24 bit address registers.