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