2014-09-29 7 views
8

Używam clang 3.5 jako dystrybuowane przez nich. Używam następujące wiersze poleceń, aby zainstalować go w moim Travis VM:Brak obsługi funkcji -finline w clang 3.5?

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' 

Kiedy uruchomić mój testu budować z optymalizacje włączona, otrzymuję ten błąd:

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" 

ja nie wiem dostaję ten sam błąd na moim mac, który uruchamia starszą wersję 3.4 clang.

Czy obsługa cięć w clang do funkcji -finline w 3.5? Czy jest to coś konkretnego w tej kompilacji pakietu? Jak zastąpić opcję -finline-functions dla zoptymalizowanych kompilacji za pomocą clang-3.5 +?

Odpowiedz

12

Zobacz ten popełnić: http://llvm.org/klaus/clang/commit/6590426aeb5275ec33dac2877f9349bbbb2d4b2e/#0-L-571

Poprzednio, że flaga została zignorowana, a użytkownik nie został powiadomiony. Teraz użytkownik jest powiadamiany, że jest ignorowany. Nie powinieneś widzieć żadnej różnicy w generowaniu kodu z tą flagą lub bez niej.

Powinien być tylko ostrzeżeniem, ale uaktualniono go do błędu z -Werror.

+0

Czy możesz podzielić się lub wskazać właściwy kierunek, dlaczego jest on ignorowany? Czy jest to tylko osx, czy musi istnieć warunek wstępny, aby nie został zignorowany? –

+0

Nie mam pojęcia. –