clang не может разобрать источники, которые включают libstdc ++ (gcc4.4) - PullRequest
0 голосов
/ 01 ноября 2011

Я недавно скомпилировал новый clang (сейчас 3.1) и попытался использовать его для анализа моего проекта, однако он не может выполнить синтаксический анализ стандартных библиотек / включает в себя ... например, я вижу следующие ошибки:

/ usr / include / c ++ / 4.4 / cstddef: 51: 9: ошибка: ожидается ';' после декларатора верхнего уровня или же /usr/include/c++/4.4/bits/cpp_type_traits.h:71:3: ошибка: неизвестное имя типа 'template'

Очевидно, что clang не может проанализировать эти файлы, но это стандартные файлы libstc ... что мне делать с этим?

1 Ответ

0 голосов
/ 02 ноября 2011

Хорошо, у меня есть свой ответ: Во-первых, я не представил проблему правильно. Я использовал библиотеку libclang, а не сам компилятор. Во-вторых, решение состоит в том, чтобы при синтаксическом анализе кода C ++ всегда принудительно вызывать язык c ++, поскольку сам синтаксический анализатор иногда решает, что он выполняет синтаксический анализ кода c, даже если его код c ++.

решение состоит в том, чтобы передать аргумент -xc ++ парсеру.

...