我正在使用他们分发的clang 3.5。我正在使用以下命令行将其安装在我的travis vm中:
sudo apt-add-repository 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.5 main'
sudo apt-add-repository 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.5 main'
当我在启用优化的情况下运行我的测试版本时,我收到此错误:
clang: error: optimization flag '-finline-functions' is not supported
"clang++" -c -x c++ -std=c++1y -Werror -O3 -finline-functions -Wno-inline -Wall -Werror -pthread -fPIC -std=c++1y -DBOOST_ALL_DYN_LINK -DNDEBUG -I"." -I"gamgee" -I"lib/htslib" -o "test/bin/run.test/clang-linux-3.5.0/release/threading-multi/sam_builder_test.o" "test/sam_builder_test.cpp"
我的mac上运行较旧的3.4版本的clang时没有出现同样的错误。
clang是否已切断对3.5中-finline-functions的支持?这是关于这个包构建的具体内容吗?如何用clang-3.5 +替换-finline-functions选项来优化构建?
答案 0 :(得分:12)
请参阅此提交:http://llvm.org/klaus/clang/commit/6590426aeb5275ec33dac2877f9349bbbb2d4b2e/#0-L-571
以前,该标志被忽略,用户未收到通知。现在通知用户它被忽略。在使用或不使用该标志的情况下,您不应该看到代码生成的任何差异。
它应该只是一个警告,但您已使用-Werror
将其升级为错误。