A opção g ++ -Wall inclui -Wreorder. O que essa opção faz é descrito abaixo. Não é óbvio para mim por que alguém se importaria (especialmente o suficiente para ativar isso por padrão em -Wall).
-Pedido (apenas C ++)
Avisar quando a ordem dos inicializadores de membros fornecida no código não
coincidir com a ordem em que eles devem ser executados. Por exemplo:
struct A {
int i;
int j;
A (): j (0), i (1) {}
};
O compilador irá reorganizar os inicializadores de membros para iej para
coincidir com a ordem de declaração dos membros, emitindo um aviso àquele
efeito. Este aviso é ativado por -Wall.
-Werror=reorder