GDC/GCCSubmission

From D Wiki
Revision as of 17:59, 17 June 2017 by Ibuclaw (talk | contribs) (Change Requests Status)
Jump to: navigation, search


Since the initial submission of the D front-end to GCC, this aims to keep a record of the current status of both policy and technical review.


Patch Approval Status

Patch Number Patch Version Patch Description Status
001 v1 The front-end (DMD) language implementation and license. Pending
002 v1 The front-end (GDC) implementation. Technical Review
003 v1 The front-end (GDC) changelogs. Pending
004 v1 The front-end (GDC) config, makefile, and manpages. Pending
005 v1 GCC configuration file changes and documentation. Pending
006 v1 Add D language support to GCC proper. Pending
007 v1 Add D language support to GCC targets. Pending
008 v1 D2 Testsuite tests. Pending
009 v1 D2 Testsuite Dejagnu files. Approved
010 v1 The D runtime library and license. Pending
011 v1 GCC builtins and runtime support (part of D runtime) Technical Review
012 v1 The Phobos runtime library and license. Pending
013 v1 Phobos config, makefiles, and testsuite. Technical Review


Change Requests Status

Change Request Change Status Change Notes
GCC steering committee approval of accepting the FE contribution and appointing a FE maintainer. Issue raised
Create a GDC svn/git branch on GCC for platform integration testing. Proposal Requires approval of the SC.
GCC-specific files in D runtime (gcc.builtins, etc) should have the GCC Runtime Library Exception notice. Done GDC#493
There appear to be various GPLv2 notices with old FSF addresses. Where those are on source files (as opposed to generated files), they should be updated to the usual GPLv3+ notice for GCC. Done GDC#493, GDC#495
DMD front end has functions with names such as error, but no useful i18n will actually occur because GDC formats the messages with xvasprintf before passing to the common diagnostic code. The DMD front end should be disabled, to prevent exgettext from extracting and putting messages in gcc.pot that won't actually be translated. Needs Action
  • Add DMD sources to list of sources disabled for translation. The file that controls this appears to be gcc/po/EXCLUDES.
  • Improve GDC diagnostic to use diagnostic_report_diagnostic() directly, GDC#497
Target::critsecsize should have its code belonging to the gcc/config/ configuration for each target as a target hook returning the required information, not in the D front end code. Needs Action
  • See list of changes required to implement.
  • For the worst case (unsupported target), should set the target hook to default to returning a large enough buffer size, e.g: 64.

Other Maintenance Tasks

Change Request Change Status Change Notes
Create a dmd-cxx git branch on dlang/dmd to host GDC's forked C++ front end sources. Needs Action
  • Create a new branch based on dmd/2.068
  • Merge all changes during 2.069 development up until the switch-over.
  • Merge or cherry-pick in backports that have been applied on the GDC branch.