Domanda

Esecuzione stecca

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

Ferma su questa linea:

__thread int cpfs_errno;

Con un errore di analisi:

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

Controllo della documentazione e gargarismi esce con alcuna menzione di __thread. Tuttavia __thread fa parte della C99 spec , che stecca presumibilmente supporti (inserto di riferimento).

Che cosa sta succedendo qui? Come posso ottenere stecca di riconoscere __thread?

È stato utile?

Soluzione

stecca FAQ , basta aggiungere -D__thread= alla riga di comando stecca. Ciò avrà l'effetto di eliminare la parola chiave __thread dal codice, mentre stecca sta esaminando esso. Sto assumendo qui che stecca non è particolarmente filo consapevoli, e non sarebbe in grado di utilizzare le informazioni che è stato trasmesso a GCC dalla parola chiave.

Altri suggerimenti

__thread non è in C99. Si tratta di un'estensione GNU C - la sezione che avete collegato a è all'interno di estensioni per il linguaggio C Famiglia . Descrive l'estensione in termini di modifiche allo standard C99, presumibilmente come preparazione di averlo adottato in una futura revisione della norma.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top