Open asiekierka opened 1 year ago
Hello @asiekierka,
This is hard to fix unfortunately. Named address spaces are simply not supported by G++ at the moment — the C++ middle-end basically assumes that all pointers are compatible with void *
. And -mno-callee-assume-ss-data-segment
implicitly uses a named address space (__seg_ss
).
I guess for the time being I should make gcc-ia16
show a clearer error message for such situations, rather than crashing on a null pointer...
Thank you!
Ah, I understand now. I thought the problem is only at the level of code parsing, not throughout the entire middle-end. Thank you!
I wonder: wouldn't adding support for the large memory model effectively work around this "cheaper" than making major patches to the C++ middle-end? That is to say, if void *
is a far pointer...
Does not occur without
-mno-callee-assume-ss-data-segment
. Admittedly, this is a personal build of the toolchain.Code (sourced from ccleste - this portion is WTFPL-licensed as per issue):