【问题标题】:No support to -finline-functions in clang 3.5?clang 3.5 不支持 -finline-functions?
【发布时间】:2014-09-29 20:48:09
【问题描述】:

我正在使用他们分发的 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 选项来优化构建?

【问题讨论】:

    标签: c++ c++11 clang inline


    【解决方案1】:

    查看此提交:http://llvm.org/klaus/clang/commit/6590426aeb5275ec33dac2877f9349bbbb2d4b2e/#0-L-571

    以前,该标志被忽略并且用户没有收到通知。现在通知用户它被忽略了。无论有没有该标志,您都不应该看到代码生成有任何区别。

    这应该只是一个警告,但您已将其升级为带有-Werror 的错误。

    【讨论】:

    • 您能否分享或指出正确的方向,为什么它被忽略?是只有osx还是必须有一个不被忽略的先决条件?
    • 我不知道。
    猜你喜欢
    • 1970-01-01
    • 2014-11-27
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多