Qual é o tipo de um campo de bits?

Não consigo encontrar em qualquer lugar no padrão C onde isso é especificado. Por exemplo, em

struct { signed int x:1; } foo;

éfoo.x um lvalue do tipoint, ou alguma outra coisa? Parece antinatural que seja um lvalue do tipoint desde que você não pode armazenar qualquer valor do tipoint nela, apenas 0 ou -1, mas não consigo encontrar nenhum idioma que possa atribuir um tipo diferente. Claro, usado na maioria das expressões, seria promovido aint de qualquer forma, mas o tipo real faz a diferença em C11 com_Generic, e não consigo encontrar nenhuma linguagem no padrão sobre como os bitfields interagem com_Generic ou.

questionAnswers(7)

yourAnswerToTheQuestion