llvm-g++ - LLVM C++ front-end


llvm-g++ [options] filename


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.



Print a summary of command line options.


Do not generate an LLVM bitcode file. Rather, compile the source file into an LLVM assembly language file.


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.

-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.


Link in the library libname.[bc | a | so]. This library should be a bitcode library.


Make the output be LLVM bitcode (or assembly) instead of native object (or assembly).


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




Maintained by the LLVM Team (