[cfe-users] Two usage questions. 1) lld. 2) win-64 C++14 builds.

Simon Hill sikryl at gmail.com
Wed May 14 12:58:08 PDT 2014


I'm trying to compile and build a maximally trivial main.cpp in a
couple of different scenarios.

(If the answers are on google somewhere please point me in the right
direction, I couldn't find anything that worked).



1. For a trivial C++14 main.cpp file (ie: "int main() {}"), what are
the commands to build this for linux-64 using (trunk) clang, llvm-mc,
and lld. (ie, using only LLVM tools).

Is it something like:

<LLVM-DIRECTORY>/clang -x c++ -std=c++1y -S -o main.s main.cpp

<LLVM-DIRECTORY>/llvm-mc -arch=x86-64 -triple=x86_64-linux-gnu -o main.o main.s

<LLVM-DIRECTORY>/lld -flavor gnu --eh-frame-hdr -m elf_x86_64
-dynamic-linker /lib64/ld-linux-x86-64.so.2
-L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/x86_64-linux-gnu
-L/lib/x86_64-linux-gnu -L/lib64 -L/usr/lib/x86_64-linux-gnu
-L/usr/lib -L<LLVM-DIRECTORY>/lib -L/lib -L/usr/lib -lstdc++ -lm
-lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/x86_64-linux-gnu/crt1.o
/usr/lib/x86_64-linux-gnu/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.8/crtbegin.o
/usr/lib/gcc/x86_64-linux-gnu/4.8/crtend.o
/usr/lib/x86_64-linux-gnu/crtn.o -o main0.run main.o

(NOTE: I'm not sure if I'm even remotely close. I got the lld
parameters (apart from flavor) from using clang with -###, except they
were for ld.)



2. Is it possible to build full C++14 code for native x86-64 /
Windows-64 yet using LLVM (and, say, MinGW-64)?
   Is it possible when building from linux?
   If not, what about targetting x86-32?

(NOTE: I have got C++11 code working fine using the Clang (3.4) and
the GNU toolchain, but the latest LLVM (3.5 - needed for full C++14
support) emits assembly code that my GNU toolchain can't read).


Thanks for all help.


(NOTE: This is a cross-post from an unanswered stackoverflow - I will
update that if & when I get the answers).



More information about the cfe-users mailing list