dmd.mars

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.

Members

Functions

_Dmain
int _Dmain(char[][] )

Manual D main (for druntime initialization), which forwards to tryMain.

flushMixins
void flushMixins()

we want to write the mixin expansion file also on error, but there are too many ways to terminate dmd (e.g. fatal() which calls exit(EXIT_FAILURE)), so we can't rely on scope(exit) ... in tryMain() actually being executed so we add atexit(&flushMixins); for those fatal exits (with the GC still valid)

getenv_setargv
void getenv_setargv(const(char)* envvalue, Strings* args)

Parses an environment variable containing command-line flags and append them to args.

main
int main(int argc, char** argv)

DMD's entry point, C main.

moduleWithEmptyMain
Module moduleWithEmptyMain()
parseCommandLine
bool parseCommandLine(Strings arguments, size_t argc, Param params, Strings files, Target target)

Parse command line arguments.

parse_arch_arg
const(char)[] parse_arch_arg(Strings* args, const(char)[] arch)

Parse command line arguments for the last instance of -m32, -m64, -m32mscoff or -m32omfobj to detect the desired architecture.

parse_conf_arg
const(char)[] parse_conf_arg(Strings* args)

Parse command line arguments for the last instance of -conf=path.

Meta