Clang是否应该尝试解释汇编程序选项?

时间:2015-07-21 14:08:15

标签: assembly clang options

我有一个执行以下操作的GNU Makefile:

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设置定义。我注意到一些定义在Clang下是错误的(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

我正在尝试确定是否应该针对Clang填写错误报告。 Clang是否应该尝试解释汇编程序选项?或者我错过了一些明显(或不那么明显)的东西?

1 个答案:

答案 0 :(得分:0)

  

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

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

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

相关,请参阅Stack Overflow上的How to switch off LLVM's integrated assembler?