我遇到了这个错误消息:'regparm'在这个平台上无效

时间:2016-06-14 12:49:09

标签: clang llvm

我的构建和主机平台是X86_64和suse Linux。我的目标平台是arm-linux-gnueabi。 我用版本3.6.0的clang编译源代码。编译器使用-target = arm-linux-gnueabi运行 我没有使用下面的信息

/usr/include/pthread.h:655:6: error: 'regparm' is not valid on this platform
     __cleanup_fct_attribute;
     ^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/bits/pthreadtypes.h:222:50: note: expanded from macro '__cleanup_fct_attribute'
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
                                                 ^            ~

问题是什么?

1 个答案:

答案 0 :(得分:1)

你的问题是什么? ' regparm'是x86-only属性,所以编译器在这里是正确的,你的代码被破坏了。很可能您没有为目标平台使用正确的标头。