Como fazer o gcc avisar sobre passar enum errado para uma função

O gcc parece não produzir um aviso com o seguinte código. Como posso obter um aviso?

typedef enum
{
    REG8_A,
    REG8_B,
    REG8_C
}REG8;

typedef enum
{
    REG16_A,
    REG16_B,
    REG16_C
}REG16;

void function(REG8 reg8)
{

}

int main(void)
{
    function(REG16_A);    // Should warn about wrong enum
}

questionAnswers(6)

yourAnswerToTheQuestion