Open ecm-pushbx opened 3 years ago
Hello @ecm-pushbx,
It appears that the C++ compiler does not support the
__far
keyword.
Yes, unfortunately. 🙁 The G++ parser and middle-end do not support named address spaces, at least not yet. This affects all the ports of G++, not just IA-16.
I guess this means you will have to work around the lack of support somehow. (My libi86
tries to do that by defining a partial implementation of far pointers as a C++ class template.)
Thank you!
Hello @ecm-pushbx,
By the way, a straightforward way to test for __far
support, is to check if a __FAR
macro (caps) is defined.
Thank you!
Nothing something down which seems relevant: It seems Clang, when faced with a similar dilemma, drafted support on top of __attribute__
: __attribute__((address_space(1)))
, for example. (source)
Maybe this would be "cheaper" than adding named address spaces; though certainly not as "nice" as __far
in a typical 16-bit C compiler.
It appears that the C++ compiler does not support the
__far
keyword.