Os avisos de "conjunto de variáveis, mas não usado" são informativos.
De acordo com a documentação oficial , -Wunused-but-set-variable
controla o comportamento de:
Warn[ing] whenever a local variable is assigned to, but otherwise unused (aside from its declaration). This warning is enabled by
-Wall
.
O objetivo é capturar situações em que o programador atribui um valor a uma variável e, em seguida, nunca faz mais nada com ela. O kernel é bastante especial na medida em que nas profundas trincheiras da programação do sistema operacional de baixo nível, até eu posso imaginar situações em que fazer algo assim pode ser perfeitamente legítimo e até mesmo necessário para alcançar o resultado que você está procurando. .
Se a declaração de atribuição de variável for realmente desnecessária, é provável que o compilador a otimize.
A linha inferior, a menos que você seja o desenvolvedor, deve ser seguro ignorar essa classe de avisos. Se você é o desenvolvedor, você deve considerar se a atribuição é necessária. Se a portabilidade para compiladores não-GCC não for uma prioridade, considere adicionar o __attribute__((unused))
à declaração para suprimir o aviso para essa variável; veja também Atributos Variáveis .