MinGWDocumentation

The information on this page supplements User Docuementation. It is geared towards changes made by mingw-gdc.

Table of Contents:

Introduction

mingw-gdc started as a means to experiment with features relating to MinGW without disturbing GDC. Some features will never find a home within GDC and others are awaiting third party patch acceptance.

mingw-gdc differences

The features listed here are only available from the mingw-gdc patches.

  • Ability to have one installation for D1 and D2.
  • Removal of 'main' function from Phobos. This caused issues when trying to link with -mwindows.
  • OS TLS support. Currently GCC TLS emulation cannot work with garbage collectors.
  • Various changes required for MinGW64 support.
  • Phobos links with libws2_32.a. Required by std.socket.
  • dllexport applied to a modules 'ModuleInfoZ' symbol.
  • Replacement for stdio family of functions to avoid deficiencies with MSVCRT.

MinGW Command line switches

A list of the available command line switches specific to MinGW GDC:

SwitchDescription
-v1Compile using D1.
-v2Compile using D2. (default)
-fno-dmainDo not link 'main' function from phobos.

MinGW Samples

Known Issues

  • 64-bit field-less structs will throw a null this exception when used with varargs.
  • TLS support is currently only available with the mingw-gdc patches.

Compilation

Updated

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.