c++ - Can I use CLang and libstdc++ (emmintrin.h) -


the following code

#include <iostream>  int main(void) {     std::cout << "hello world!" << std::endl;     return 0; } 

compiles fine both g++ , clang

g++ test.cpp clang -i /usr/lib/gcc/x86_64-linux-gnu/4.7/include -i /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed -lstdc++ test.cpp 

where /usr/lib/gcc/x86_64-linux-gnu/4.7/ points include files of libstdc++

however, when add additional #include <emmintrin.h>

the clang compilations fails

in file included test.cpp:2: in file included /usr/lib/gcc/x86_64-linux-gnu/4.7/include/emmintrin.h:36: in file included /usr/lib/gcc/x86_64-linux-gnu/4.7/include/xmmintrin.h:36: /usr/lib/gcc/x86_64-linux-gnu/4.7/include/mmintrin.h:46:72: warning: unknown attribute '__artificial__' ignored [-wunknown-attributes] extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))                                                                    ^ /usr/lib/gcc/x86_64-linux-gnu/4.7/include/mmintrin.h:52:72: warning: unknown attribute '__artificial__' ignored [-wunknown-attributes] extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))  ...  /usr/lib/gcc/x86_64-linux-gnu/4.7/include/xmmintrin.h:120:19: error: use of undeclared identifier '__builtin_ia32_divss'; did mean '__builtin_ia32_minss'? return (__m128) __builtin_ia32_divss ((__v4sf)__a, (__v4sf)__b);  ... 

according http://en.cppreference.com/w/cpp/header, `xmmintrin.h' not part of interface of standard c++ library , hence guess contains gnu specific stuff. can somehow compile code using clang?

if not, how can install clang libc++?
sudo aptitude install libc++-dev doesn't find package (while work on ubuntu 16.04)

i'm using

"debian gnu/linux 7 (wheezy)" gcc version 4.7.2 (debian 4.7.2-5) // target: x86_64-linux-gnu clang version 3.6.0 (trunk 224504) // target: x86_64-unknown-linux-gnu 

apparently, clang installation incomplete.

after downloading llvm , clang (v3.7.1 since v4.0.1 required gcc4.8 while have 4.7) , building locally clang -lstdc++ test.cpp works fine in both cases.


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -