Promoção inteira com o operador <<

Similar à perguntaPromoção Bitshift e Integer?Eu tenho uma pergunta sobre a promoção de números inteiros ao usar bitshifts à esquerda.

unsigned int test(void)
{
  unsigned char value8;
  unsigned int result;

  value8 = 0x12;
  result = value8 << 8;
  return result;
}

Nesse caso, o valor8 será primeiro promovido para int não classificado ou será a implementação específica?

6.5.7 Operadores de deslocamento bit a bit... 3 Sematics ...
As promoções inteiras são realizadas em cada um dos operandos. O tipo do resultado é o do operando esquerdo promovido. Se o valor do operando direito for negativo ou for maior ou igual à largura do operando esquerdo promovido, o comportamento é indefinido.

Diz que o"As promoções inteiras são realizadas em cada um dos operandos.", mas o que é aqui a regra de promoção?

Eu suponho que deveria serconvert to int if lesser rank than int, mas não consigo encontrar.

Eu pergunto isso, como um compilador (Renesas nc30wa) não promove int, então o resultado é sempre 0 para minha amostra.

Nesta plataforma, um caractere é de 8 bits de largura e int de 16 bits.

questionAnswers(2)

yourAnswerToTheQuestion