---
name: "x86_64-linux-gnu-gdc-4.6"
section: "1"
platform: "linux"
package: "gdc-4.6"
version: "0.29.1-4.6.3-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/gdc-4.6"
---

# x86\_64-linux-gnu-gdc-4.6(1)

D Front End for GCC

Part of [gdc-4.6(1)](/gdc-4.6/1.md).

## NAME

gdc - D Front End for GCC

## SYNOPSIS

gdc \[-switches\] \[-o outfile\] files.d ...

For any given input file, the file name suffix determines what kind of compilation is done:

- *file*.d

  - *file*.htm

  - *file*.html

  D source files

- *files*.di

  D interface files

- *files*.o

  Object files to link in

- *files*.a

  Library files to link in

## OPTIONS

### Option Summary

Only the new options are listed here; gdc accepts mostly the same options as gcc.  Most of these have both positive and negative forms; the negative form of -ffoo would be -fno-foo. This manual documents only one of these two forms, whichever one is not the default.

- **D Language Options**

  - **-frelease**

  Compile release version.

- **-funittest**

  Compile in unittest code.

- **-fno-assert**

  Generate runtime code for assert()'s.

- **-fno-bounds-check**

  Turns off array bounds checking for all functions.

- **-fdebug-c**

  With -g, generate C debug information.

- **-fdeprecated**

  Allow use of deprecated features.

- **-fd-verbose**

  Print information about D language processing to stdout.

- **-fd-version=1**

  Compile as D language version 1.

- **-fd-vtls**

  List all variables going into thread local storage.

- **-fignore-unknown-pragmas**

  Ignore unsupported pragmas.

- **-femit-templates**\[=all\|normal\|private\|none\|auto\]

  Control template emission. These are the supported options:

  - **all**

    Emit templates, expecting multiple copies to be merged by the linker.

  - **normal**

    Emits templates, but only if the compiler determines that it needs to.

  - **private**

    Emit templates, but make them private to the translation unit. The executable will have multiple copies of code and data.

  - **none**

    Do not emit templates at all.

  - **auto**

    For targets that support templates, the "all" mode is used. Otherwise, the "private" mode is used.

- **-fdebug**\[=level\|ident\]

  Compile in debug code into the program. These are supported options:

  - **level**

    Compile in debug code \<= level.

  - **ident**

    Compile in debug code identified by ident.

- **-fdeps=**\<filename\>

  Write module dependencies to filename.

- **-fonly=**\<filename\>

  Process all modules specified on the command line, but only generate code for the module specified by the argument.

- **-fversion=**\<level\|ident\>

  Compile in version code \>= level or identified by ident.

- **-fintfc**

  Generate D interface files.

- **-fintfc-dir=**\<directory\>

  Write D interface files to directory.

- **-fintfc-file=**\<filename\>

  Write D interface file to filename.

- **-fdoc**

  Generate documentation.

- **-fdoc-dir=**\<directory\>

  Write documentation file in directory.

- **-fdoc-file=**\<filename\>

  Write documentation file to filename.

- **-fdoc-inc=**\<filename\>

  Include a Ddoc macro file.

- **-fXf=**\<filename\>

  Write JSON file to filename.

- **-fdump-source**

  Dump decoded UTF-8 text and source from HTML.

## SEE ALSO

**[gcc(1)](/gcc/1.md)**

## AUTHOR

GDC was written by, and copyright:\
   David Friedman (C) 2004-2007

Maintained by:\
   Iain Buclaw (C) 2010\
   Michael Parrott (C) 2010\
   Vincenzo Ampolo (C) 2010
