2011-11-09 13 views
11

Quiero hacer una función para obtener un puntero en una estructura. he hecho esto:¿Ocultar advertencia GCC "establecer pero no usar"?

void *getTokenList() { 
    static t_token *list; 

    return &list; 
} 

En la compilación, tengo esta advertencia: warning: variable ‘list’ set but not used [-Wunused-but-set-variable]

¿Es posible desactivar esta advertencia para esta función (sólo éste), o poner GCC atributo en esta variable para ocultar esta advertencia?

He puesto #pragma GCC diagnostic ignored "-Wunused-but-set-variable" en la parte superior de mi archivo, pero quiero ocultar esta advertencia SÓLO para esta variable en esta función.

Gracias, Jean

+1

¿Qué versión de gcc le está dando eso? El mío (gcc 4.5.2) no. Esto es definitivamente falso, si realmente devuelve una dirección de esa variable a la persona que llama. –

+0

'' 'Puse el diagnóstico '#pragma GCC ignorado" -Wunused-but-set-variable "' en la parte superior de mi archivo' '', eso es un gran truco. Funcionó perfectamente para mí ya que las variables no utilizadas estaban en un archivo que tomé de un desarrollador externo y quería agregarle cambios mínimos ... –

Respuesta

15

Usted puede usar esto para apagarlo:

(void)list; 

alternativa y menos portable puede utilizar __attribute__((unused)).

+0

+1 Aunque __attribute __ ((no utilizado)) es mucho más claro, definitivamente no es portátil ! – Macmade

1

static t_token *__attribute__((unused)) list;

Cuestiones relacionadas