Request for Review: DI Generation Improvements

Adam Wilson flyboynw at gmail.com
Mon May 14 23:03:20 PDT 2012


On Mon, 14 May 2012 16:50:24 -0700, Adam Wilson <flyboynw at gmail.com> wrote:

> 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:
> https://github.com/D-Programming-Language/druntime/pull/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.

I have updated the make files so that only core.thread and core.sync.* are  
run through DI generation. ALL other core.* modules are copied into the  
import directory now.

Git wrecked my branch on a rebase so I had to recreate the pull.
Pull DRuntime/218:  
https://github.com/D-Programming-Language/druntime/pull/218

-- 
Adam Wilson
IRC: LightBender
Project Coordinator
The Horizon Project
http://www.thehorizonproject.org/


More information about the Digitalmars-d mailing list