[llvm-dev] Why can't clang -emit-llvm when linking?

David Blaikie via llvm-dev llvm-dev at lists.llvm.org
Mon May 30 09:17:14 PDT 2016

There is no single LLVM IR for the entire compilation process in such a
command line - separate IR is created for each source file, an object file
is created, then those (native, non-IR) object files are linked together.
So it's somewhat a invalid concept.

In your case, since there's only one file anyway, just add -c and you
should be fine (your IR won't include the standard library/other thingsn
that would be linked into the program - but those would be native objects
and not IR in any case)

- Dave

On Mon, May 30, 2016 at 5:33 AM, Lorenzo Laneve via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> When I try to do
> clang++ main.cpp -emit-llvm
> without -S, clang says that he can’t:
> clang: error: -emit-llvm cannot be used when linking
> why can’t it emit the IR in a complete compilation process?
> Is there a particular technical reason or just to avoid confusing jobs?
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160530/4d78177f/attachment.html>

More information about the llvm-dev mailing list