On 18 December 2012 21:36, Artur Skawina <art.08.09@gmail.com> wrote:
On 12/18/12 21:33, Iain Buclaw wrote:
>  b) No one infact uses GDC (go figure!).

> Similarly, no one has noticed that most of the pragma GDC supported have mysterious vanished either.  The ones left at kept only for gcc.builtins support until a time I re-implement the attributes in a better way that I haven't decided on yet (hence why raising this thread).

See above - that's one thing that became completely clear after I first tried GDC and
filed the ~third gdc bugreport... Right now the situation is even worse, as dealing
with an experimental language is enough - having to also work with an unstable
compiler is not a practical option. If gdc is upstreamed hopefully some users will
return and new ones will come.


A lot of these erratic changes stems from code in GDC written during gcc-3.3 / gcc-3.4 era when GCC frontends typically could include ties to a particular backend, or when useful parts of the backend could be fleshed out to the frontend and didn't depend on the frontend language being part of the C family.

What's left is a fair amount of duplicated code between GDC and GCC (C/C++ front-end's) code base, which core devs don't like.  TARGET macros in GDC, which core devs especially don't like.  And a balancing act between keeping the cool features GDC *could* do in the past and what GDC *should* do in the future to ensure that the frontend should generate code agnostic to any platform or architecture, pushing out things that can't be done in any other way into gcc-proper.

Though things have been pretty stable since October... not for long though as I plan to do another huge face lift in the new year. :-)

--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';