Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

# dmd.mars

Compiler implementation of the D programming language. Entry point for DMD.
This modules defines the entry point (main) for DMD, as well as related utilities needed for arguments parsing, path manipulation, etc... This file is not shared with other compilers which use the DMD front-end.
Authors:
Walter Bright
License:
Boost License 1.0

Source mars.d

Documentation https://dlang.org/phobos/dmd_mars.html

Coverage https://codecov.io/gh/dlang/dmd/src/master/src/dmd/mars.d

Module `entrypoint`;
  DMD-generated module __entrypoint where the C main resides
Module `rootHasMain`;
  Module in which the D main is
void `genCmain`(Scope* `sc`);
  Generate C main() in response to seeing D main().
  This function will generate a module called __entrypoint, and set the globals entrypoint and rootHasMain.
  This used to be in druntime, but contained a reference to Dmain which didn't work when druntime was made into a dll and was linked to a program, such as a C++ program, that didn't have a Dmain.
  Parameters:

  Scope* `sc` | Scope which triggered the generation of the C main, used to get the module where the D main is.

int `main`();
  Entry point which forwards to tryMain.
  Returns:
  Return code of the application
void `addDefaultVersionIdentifiers`();
  Add default version identifier for dmd, and set the target platform in global. https://dlang.org/spec/version.html#predefined-versions
  Needs to be run after all arguments parsing (command line, DFLAGS environment variable and config file) in order to add final flags (such as X86_64 or the CRuntime used).

Copyright © 1999-2018 by the D Language Foundation | Page generated by Ddoc on Fri Mar 2 18:16:36 2018