2011-11-09 3 views
11

Je veux faire une fonction pour obtenir un pointeur sur une structure. je fait ceci:Masquer l'avertissement GCC "définir mais pas utilisé"?

void *getTokenList() { 
    static t_token *list; 

    return &list; 
} 

A la compilation, je cet avertissement: warning: variable ‘list’ set but not used [-Wunused-but-set-variable]

Est-il possible de désactiver cet avertissement pour cette fonction (uniquement celui-ci), ou mettre un GCC attribut cette variable pour masquer cet avertissement?

J'avais mis #pragma GCC diagnostic ignored "-Wunused-but-set-variable" en haut de mon fichier mais je veux cacher cet avertissement SEULEMENT pour cette variable dans cette fonction.

Merci, Jean

+1

quelle version de gcc vous donne cela? Le mien (gcc 4.5.2) ne le fait pas. C'est définitivement faux, si vous renvoyez vraiment une adresse de cette variable à l'appelant. –

+0

'' 'J'avais mis '#pragma GCC diagnostic ignoré" -Wunused-but-set-variable "' en haut de mon fichier' '', c'est un super truc. Cela a fonctionné parfaitement pour moi car les variables inutilisées étaient dans un fichier que je prenais d'un développeur externe et je voulais y ajouter des changements minimes ... –

Répondre

15

Vous pouvez l'utiliser pour le fermer:

(void)list; 

Alternativement et moins vous pouvez utiliser portably __attribute__((unused)).

+0

+1 Bien que __attribute __ ((inutilisé)) soit beaucoup plus clair, il n'est définitivement pas portable ! – Macmade

1

static t_token *__attribute__((unused)) list;

Questions connexes