Barfs attelle __thread, qui fait partie du C99
-
01-10-2019 - |
Question
attelle Exécution
matt@stanley:~/cpfs$ splint -paramuse +gnuextensions cpfs.c
Haltes sur cette ligne:
__thread int cpfs_errno;
Avec une erreur d'analyse:
cpfs.c:127:13: Parse Error: Non-function declaration: __thread : int. (For help on parse errors, see splint -help parseerrors.) *** Cannot continue.
Vérification de la documentation et gargarisme arrive sans mention __thread
. Cependant __thread
fait partie de la spécification C99 , ce qui aurait Attelle supports (insert référence).
Qu'est-ce qui se passe ici? Comment puis-je obtenir attelle à reconnaître __thread
?
La solution
De la attelle FAQ , il suffit d'ajouter -D__thread=
à la ligne de commande attelle. Cela aura pour effet de supprimer le mot-clé __thread
du code tout en attelle l'examine. Je suppose ici que l'attelle est pas thread particulièrement sensible, et ne serait pas en mesure d'utiliser l'information qui a été transmise à GCC par le mot-clé.
Autres conseils
__thread
est pas C99. Il est une extension GNU C - la section que vous avez lié à est dans Extensions à la famille C Langue . Il décrit l'extension en termes de changements à la norme C99, probablement que la préparation de l'avoir adopté une révision future de la norme.