Конечно, дело за компилятором, но как бы то ни было, все будет примерно так же, как если бы вы присвоили значение переменной в выражении. То есть, если вы скажете
void foo()
{
uint8_t x = 2u;
}
это как если бы ты сказал
void foo()
{
uint8_t x; /* uninitialized */
x = 2u;
}