# dmd.glue

Generate the object file for function declarations and critical sections.

#### Discussion

generateCodeAndWrite() is the only function seen by the front end.

#### Authors

Walter Bright

#### License

Boost License 1.0

Source: glue.d

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

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

- `generateCodeAndWrite`

  #### Declaration

  `void `generateCodeAndWrite`(Module[] `modules`, const(char)*[] `libmodules`, const(char)[] `libname`, const(char)[] `objdir`, bool `writeLibrary`, bool `obj`, bool `oneobj`, bool `multiobj`, bool `verbose`);`

  Generate code for ``modules`` and write objects/libraries

  #### Parameters

  `Module[] `modules`` | array of `Module`s to generate code for
  `const(char)*[] `libmodules`` | array of objects/libraries already generated (passed on command line)
  `const(char)[] `libname`` | {.lib,.a} file output name
  `const(char)[] `objdir`` | directory to write object files to
  `bool `writeLibrary`` | write library file instead of object file(s)
  `bool `obj`` | generate object files
  `bool `oneobj`` | write one object file instead of multiple ones
  `bool `multiobj`` | break one object file into multiple ones
  `bool `verbose`` | print progress message when generatig code

- `bzeroSymbol`

  #### Declaration

  `Symbol* `bzeroSymbol`;`

  common location for immutable zeros

- `obj_append`

  #### Declaration

  `void `obj_append`(Dsymbol `s`);`

  Append `s` to list of object files to generate later. Only happens with multiobj.

- `totym`

  #### Declaration

  `tym_t `totym`(Type `tx`);`

  Return back end type corresponding to D front end type.

- `getBzeroSymbol`

  #### Declaration

  `Symbol* `getBzeroSymbol`();`

  Generate readonly symbol that consists of a bunch of zeros. Immutable Symbol instances can be mapped over it. Only one is generated per object file.

  #### Return Value

  bzero symbol