Tag: 叮当

用Clang 3.4和C ++ 11的Travis CI

是否有可能得到特拉维斯CI与铿锵能够C + + 11的工作? (我想要Clang,而不是GCC,我已经在Travis CI中使用了GCC 4.8)。看来预装的版本不是C ++ 11的能力。 我所有的安装任何新版本的尝试都因为这个而失败 : In file included from /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/move.h:57: /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/type_traits:269:39: error: use of undeclared identifier '__float128' struct __is_floating_point_helper<__float128> 我已经看到了-D__STRICT_ANSI__窍门,但是和其他的东西冲突。 是否有可能得到它的工作? 另见我的.travis.yml 。

如何在英特尔语法中使用clang生成汇编代码?

正如这个问题所示,用g ++,我可以做g++ -S -masm=intel test.cpp 。 此外,与铿锵声,我可以做clang++ -S test.cpp ,但-masm=intel不支持铛( warning argument unused during compilation: -masm=intel )。 如何获得与clang英特尔语法?

铛:如何列出支持的目标架构?

目前我一般对ARM有兴趣,特别是iphone / android目标。 但是我只想更多地了解铿锵声,因为它感觉在未来几年发挥重要作用。 我试过了 clang -cc1 –help|grep -i list clang -cc1 –help|grep arch|grep -v search clang -cc1 –help|grep target -triple <value> Specify target triple (eg i686-apple-darwin9) 我知道铿有三元参数,但我怎么能列出所有可能的值? 我发现clang与gcc在交叉编译方面有很大的不同,在GCC世界里,你应该为每个东西都分开二进制文件,比如PLATFORM_make或者PLATFORM_ld(我* 86-pc-cygwin我* 86 – * – linux-gnu等等http ://git.savannah.gnu.org/cgit/libtool.git/tree/doc/PLATFORMS ) 在叮当世界,这只是一个二进制(正如我在一些论坛上看到的)。 但是,如何获得支持的目标列表? 如果我的目标不支持我的发行版(linux / windows / macos /其他),我怎么能得到支持更多平台的? 如果我SVN最新的铿锵这样的: svn co http://llvm.org/svn/llvm-project/cfe/trunk clang 我会获得大部分的平台吗? 看起来Clang并不是立刻用交叉编译来构build的,但是因为它是基于llvm的,理论上应该是非常交叉友好的? 谢谢!

我可以用什么预定义macros来检测叮当声?

我试图检测用于编译我的源代码的编译器。 我可以很容易地find预定义macros来检查MSVC或GCC(例如,请参阅http://predef.sourceforge.net/ ),但是我找不到任何macros来检查clang。 是否有人知道,如果clang定义了一个像__CLANG__这样的macros,以便知道当前正在编译我的代码?