2015-07-21 51 views
0

我有一个GNU Makefile文件执行以下操作:Clang是否应尝试解释汇编选项?

GAS210_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])") 

后来,定义是建立基于GAS210_OR_LATER。我注意到一些定义锵下是错误的(Ubuntu的14.04提供GAS 2.24),所以我进行:

$ clang++ -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 
clang: error: unsupported argument '-v' to option 'Wa,' 

当通过GCC编译器的驱动程序发送该选项似乎都很正常:

$ g++ -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 
GNU assembler version 2.24 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.24 

我m试图确定是否应该对Clang填充错误报告。 Clang是否试图解释汇编选项?或者我错过了一些明显的东西(或者不那么明显)?

回答

0

我想确定一个错误报告是否应该填补对叮当。 Clang是否试图解释汇编选项?或者我错过了一些明显的东西(或者不那么明显)?

Clang有一个集成的汇编程序,可以选择关闭。这就解释了它试图解释汇编选项的原因。

但是,没有回应-Wa,-v似乎是一个单独的问题。有关此问题,请参阅LLVM Bug 24200 - With integrated assembler enabled, fail to fetch version string of assembler。它是针对-Wa,-v问题提交的。

有关堆栈溢出的相关内容,请参阅How to switch off LLVM's integrated assembler?