Am Mittwoch, dem 05.07.2023 um 11:11 +0200 schrieb David Brown: > On 05/07/2023 10:05, Rafał Pietrak via Gcc wrote:
... > > In my personal opinion (which you are all free to disregard), named > address spaces were an interesting idea that failed. I was > enthusiastic > about a number of the extensions in TR 18307 "C Extensions to support > embedded processors" when the paper was first published. As I > learned > more, however, I saw it was a dead-end. The features are too > under-specified to be useful or portable, gave very little of use to > embedded programmers, and fit badly with C. It was an attempt to > standardise and generalise some of the mess of different extensions > that > proprietary toolchain developers had for a variety of 8-bit CISC > microcontrollers that could not use standard C very effectively. But > it > was all too little, too late - and AFAIK none of these proprietary > toolchains support it. GCC supports some of the features to some > extent > - a few named address spaces on a few devices, for "gnuc" only (not > standard C, and not C++), and has some fixed point support for some > targets (with inefficient generated code - it appears to be little > more > than an initial "proof of concept" implementation). > > I do not think named address spaces have a future - in GCC or > anywhere > else. The only real use of them at the moment is for the AVR for > accessing data in flash, and even then it is of limited success since > it > does not work in C++. Can you explain a little bit why you think it is a dead-end? It seems an elegant solution to a range of problems to me. I have no idea how much the GCC features are actually used, but other compilers for embedded systems such as SDCC also support named address spaces. Martin