Update the tutorial to match changes to examples/Kaleidoscope.
[oota-llvm.git] / docs / CommandGuide / llvmgcc.pod
1 =pod
2
3 =head1 NAME
4
5 llvm-gcc - LLVM C front-end
6
7 =head1 SYNOPSIS
8
9 B<llvm-gcc> [I<options>] I<filename>
10
11 =head1 DESCRIPTION
12
13 The B<llvm-gcc> command is the LLVM C front end.  It is a modified
14 version of gcc that compiles C/ObjC programs into native objects, LLVM
15 bitcode or LLVM assembly language, depending upon the options.
16
17 By default, B<llvm-gcc> compiles to native objects just like GCC does. If the
18 B<-emit-llvm> and B<-c> options are given then it will generate LLVM bitcode files
19 instead. If B<-emit-llvm> and B<-S> are given, then it will generate LLVM
20 assembly.
21
22 Being derived from the GNU Compiler Collection, B<llvm-gcc> has many
23 of gcc's features and accepts most of gcc's options.  It handles a
24 number of gcc's extensions to the C programming language.  See the gcc
25 documentation for details.
26
27 =head1 OPTIONS
28
29 =over
30
31 =item B<--help>
32
33 Print a summary of command line options.
34
35 =item B<-o> I<filename>
36
37 Specify the output file to be I<filename>.
38
39 =item B<-I> I<directory>
40
41 Add a directory to the header file search path.  This option can be
42 repeated.
43
44 =item B<-L> I<directory>
45
46 Add I<directory> to the library search path.  This option can be
47 repeated.
48
49 =item B<-l>I<name>
50
51 Link in the library libI<name>.[bc | a | so].  This library should
52 be a bitcode library.
53
54 =item B<-emit-llvm>
55
56 Make the output be LLVM bitcode (with B<-c>) or assembly (with B<-s>) instead
57 of native object (or assembly).  If B<-emit-llvm> is given without either B<-c>
58 or B<-S> it has no effect.
59
60 =back
61
62 =head1 EXIT STATUS
63
64 If B<llvm-gcc> succeeds, it will exit with 0.  Otherwise, if an error
65 occurs, it will exit with a non-zero value.
66
67 =head1 SEE ALSO
68
69 L<llvm-g++|llvmgxx>
70
71 =head1 AUTHORS
72
73 Maintained by the LLVM Team (L<http://llvm.org>).
74
75 =cut
76