2015-07-21 61 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?