LINUX.ORG.RU

Такое ощущение, что у тебя очень древний Eclipse CDT. Последний прекрасно индексирует массу C++11 фишек и сваливается разве что на определении __cplusplus, фикс против этого уже показал анонимус выше. А ключевое слово override контекстно-зависимое и не подсвечивается просто так в произвольном участке кода.

m0rph ★★★★★ ()
Ответ на: комментарий от m0rph

Кхм, ставил текущую версию из кеплеровского репозитория, может надо отдельно выставить реп?

Version: 4.3.1
Build id: M20130911-1000
C/C++ Development Tools	8.2.1.201309180223
Не подсказывает даже с опцией от анона, rebuild индекса делал.

deterok ★★★★★ ()
Ответ на: комментарий от deterok

Потому что CDT запускает команду для получения некоторой информации, включаяя значение __cplusplus. Посмотри скриншот анонимуса, там как раз эта команда и добавленный параметр -std=c++11. Тебе нужно написать туда аналог для clang.

m0rph ★★★★★ ()

Наорать на него.

anonymous ()
Ответ на: комментарий от m0rph

Тебе нужно написать туда аналог для clang.

Там либо -std=c++11 либо -std=gnu++11.

Boy_from_Jungle ★★★★ ()
Ответ на: комментарий от m0rph

Убедился, что команда рабочая:

clang++ -std=c++11 -E -P -v -dD "${INPUTS}"
Вот, что вы водит:
http://pastebin.com/gUuUyMDz
(http://pastebin.com/gUuUyMDz)

Но состояние переменной __cplusplus не меняется.

А вот что выводит, если оставить команду прежнюю, без замены переменной ${COMMAND}(g++) на clang++(${COMMAND} -std=c++11 -E -P -v -dD «${INPUTS}»):
http://pastebin.com/cQuCZtfJ

Здесь опять видно, что все должно быть хорошо(#define __cplusplus 201103L), но не работае. Внутри среды объявление не меняется.
Я бы не стал просить помощи в этом, если бы дело было просто в неправильно составленном запросе.

deterok ★★★★★ ()

Эврика!
Поставил ниже cdt managed build system entries и значения возвращаемые компилятором переопределили встроенные. Всем спасибо.

deterok ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.