我正在使用由他们分发的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"
我在运行较旧的3.4版本的clang的Mac上没有得到相同的错误。
clang是否在3.5中削减了对-finline-functions的支持?这是关于此软件包构建的特定内容吗?如何用clang-3.5 +替代-finline-functions选项来优化构建?
最佳答案
看到这个提交:http://llvm.org/klaus/clang/commit/6590426aeb5275ec33dac2877f9349bbbb2d4b2e/#0-L-571
以前,该标志被忽略,并且未通知用户。现在,通知用户它被忽略了。带有或不带有该标志的代码生成都不会有任何区别。
它仅是警告,但已使用-Werror
将其升级为错误。
关于c++ - 在clang 3.5中不支持-finline-functions吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26108606/