Goodbye to typinf.c, todt.c, toobj.c

Iain Buclaw ibuclaw at ubuntu.com
Fri Feb 15 10:05:12 PST 2013


After months of putting it off (maybe a year), I've gotten round 
to throwing myself at this and stubbing out all these functions 
that do a lot of DMD-backend calls that until now GDC has 
provided for internally to generate the initial values for static 
symbols in D code.

Benefits:
- Lose all the ugly code that uses, and drop struct dt_t's 
intermediate representation and instead directly build gcc trees 
directly from the toDt stage.
- Removes all SC*; DT_*; FL* stubs that are ignored by gdc, 
meaning we can free up a lot of the logic in the existing 
functions when copying the implementation across.
- Removes all dt* wrapper functions, and the Obj interface.
- Remove the source files dt.cc, dt.h, and symbol.h.
- Should fix -fsection-anchors bug on ARM in the process.

Cons:
- Changes to ABI has to be kept in sync when upgrading object.di. 
  Though this should be trivial once everything is in place as 
there are no erratic changes made to D2 anymore [sic]™


Going to be branching this to gcc_dt in GDC. Initially will be 
mostly incomplete, but feel free to help speed this major re-work 
in development along.


Thanks
Iain.


More information about the D.gnu mailing list