Frage

Laufende Schiene

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

Halt auf dieser Linie:

__thread int cpfs_errno;

Mit einem Parse-Fehler:

cpfs.c:127:13: Parse Error: Non-function declaration: __thread :
               int. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.

Überprüfen der Dokumentation und Gurgeln kommt ohne Erwähnung von __thread auf. Jedoch __thread ist Teil der C99-Spezifikation , die Stützen Splint angeblich (insert Referenz).

Was ist hier los? Wie kann ich Schiene bekommen __thread zu erkennen?

War es hilfreich?

Lösung

Von der Schiene FAQ , fügen Sie einfach -D__thread= auf die Schiene Kommandozeile. Dadurch wird die Wirkung des Entfernens des __thread Schlüsselwort aus dem Code haben, während Schiene es prüft. Ich gehe davon aus, dass hier Schiene ist nicht besonders Gewinde bewusst, und würde nicht die Informationen nutzen kann, die durch das Schlüsselwort zu GCC befördert wurde.

Andere Tipps

__thread ist nicht in C99. Es ist eine GNU C-Erweiterung - der Abschnitt, den Sie innerhalb von Erweiterungen der C Sprachfamilie . Es beschreibt die Erweiterung in Bezug auf den Änderungen an den C99-Standard, vermutlich als Vorbereitung es in einer zukünftigen Überarbeitung der Norm angenommen zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top