---
name: "llvm-gcc-2.9"
section: "1"
platform: "linux"
package: "llvm-2.9"
version: "2.9+dfsg-7"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/llvm-gcc-2.9"
---

# llvm-gcc-2.9(1)

LLVM C front-end

## NAME

llvm-gcc - LLVM C front-end

## SYNOPSIS

**llvm-gcc** \[*options*\] *filename*

## DESCRIPTION

The **llvm-gcc** command is the LLVM C front end.  It is a modified version of gcc that compiles C/ObjC programs into native objects, LLVM bitcode or LLVM assembly language, depending upon the options.

By default, **llvm-gcc** compiles to native objects just like GCC does. If the **-emit-llvm** and **-c** options are given then it will generate LLVM bitcode files instead. If **-emit-llvm** and **-S** are given, then it will generate LLVM assembly.

Being derived from the GNU Compiler Collection, **llvm-gcc** has many of gcc's features and accepts most of gcc's options.  It handles a number of gcc's extensions to the C programming language.  See the gcc documentation for details.

## OPTIONS

- **--help**

  Print a summary of command line options.

- **-o** *filename*

  Specify the output file to be *filename*.

- **-I** *directory*

  Add a directory to the header file search path.  This option can be repeated.

- **-L** *directory*

  Add *directory* to the library search path.  This option can be repeated.

- **-l***name*

  Link in the library lib*name*.\[bc \| a \| so\].  This library should be a bitcode library.

- **-emit-llvm**

  Make the output be LLVM bitcode (with **-c**) or assembly (with **-s**) instead of native object (or assembly).  If **-emit-llvm** is given without either **-c** or **-S** it has no effect.

## EXIT STATUS

If **llvm-gcc** succeeds, it will exit with 0.  Otherwise, if an error occurs, it will exit with a non-zero value.

## SEE ALSO

llvm-g++

## AUTHORS

Maintained by the LLVM Team (\<http://llvm.org\>).
