The llvm-g++ command is the LLVM C++ front end. It is a modified
version of g++ that compiles C++/ObjC++ programs into native code,
LLVM bitcode or assembly language, depending upon the options.
By default, llvm-g++ compiles to native objects just like GCC does. If the
-emit-llvm option is given then it will generate LLVM bitcode files instead.
If -S (assembly) is also given, then it will generate LLVM assembly.
Being derived from the GNU Compiler Collection, llvm-g++ has many
of g++'s features and accepts most of g++'s options. It handles a
number of g++'s extensions to the C++ programming language.
OPTIONS
--help
Print a summary of command line options.
-S
Do not generate an LLVM bitcode file. Rather, compile the source
file into an LLVM assembly language file.
-c
Do not generate a linked executable. Rather, compile the source
file into an LLVM bitcode file. This bitcode file can then be
linked with other bitcode files later on to generate a full LLVM
executable.
-ofilename
Specify the output file to be filename.
-Idirectory
Add a directory to the header file search path. This option can be
repeated.
-Ldirectory
Add directory to the library search path. This option can be
repeated.
-lname
Link in the library libname.[bc | a | so]. This library should
be a bitcode library.
-emit-llvm
Make the output be LLVM bitcode (or assembly) instead of native object (or
assembly).
EXIT STATUS
If llvm-g++ succeeds, it will exit with 0. Otherwise, if an error
occurs, it will exit with a non-zero value.