Вопрос

Бегущий шин

matt@stanley:~/cpfs$ splint -paramuse +gnuextensions cpfs.c

Останавливает на этой строке:

__thread int cpfs_errno;

С ошибкой разбора:

CPFS.C: 127: 13: Ошибка разбора: нефункциональная декларация: __THREAD: int. (Для помощи на ошибках разбора см. В Splint -Help ParseErrors.) *** Не может продолжаться.

Проверка документации и поломчика поднимается без упоминаний __thread. Отказ Однако __thread является частью спецификации C99, который шин предположительно поддерживает (вставьте ссылку).

Что тут происходит? Как я могу получить шину, чтобы узнать __thread?

Это было полезно?

Решение

Из FAQ FAQ, просто добавь -D__thread= к командной строке шины. Это будет влиять на удаление __thread Ключевое слово из кода во время расщепления его изучает. Я предполагаю, что Splint не особо подробно осознает, и не сможет использовать информацию, которая была передана в GCC по ключевому слову.

Другие советы

__thread не в C99. Это расширение GNU C - раздел, которому вы связали, находится в пределах Расширения к семейству языка C. Отказ Он описывает расширение с точки зрения изменений в стандарт C99, предположительно, поскольку подготовка к его принятому в будущем ревизии стандарта.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top