我有一个执行以下操作的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是否应该尝试解释汇编程序选项?或者我错过了一些明显(或不那么明显)的东西?
答案 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?。