www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Request for Review: DI Generation Improvements

I am formally requesting review of the two pull requests that make up my
DI Generation Improvements patch.

The first pull is against the DRuntime and modifies the makefiles such
some files in the DRT are not generated as DI files but copied from the D
source files directly into the DI file. This solves a problem where
certain portions of Phobos the CTFE into the DRT cause a build failure
when using the new DI generation. The files that are copied instead of
generated are all of core and core.stdc, EXCEPT core.atomic, core.cpuid,
core.demangle, and core.thread.

Pull DRuntime/210:

The second pull is against DMD itself and consists of the actual changes
to the current DI generation. The improvements consist of removing all
function implementations, EXCEPT for those of template and auto-return
functions, and improved indenting. These changes represent the closest I
can come to agreement from the community as to the proper contents of a DI
file. This patch fixes the biggest problems of DI generation and provides
a baseline for future improvements to DI generation. Currently being
discussed are modifications to include a limited form of semantic analysis
of the source code during DI generation to improve the usefulness of the
output as well as the addition of an attribute to direct DI generation to
include a function implementation for CTFE or inlining purposes.

Pull DMD/945: https://github.com/D-Programming-Language/dmd/pull/945

I welcome all comments on these pulls and it is my goal to see them merged
into DMD 2.060.

Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
May 14 2012