Casos de teste do compilador ou como testar um compilador

Compiladores como todos os softwares, também seriam propensos a erros, erros lógicos.

Como se valida a saída gerada pelo compilador? Normalmente, minha pergunta é (são)

Como validar se o código de máquina gerado está correto?

Como garantir que o código de máquina gerado esteja de acordo com a especificação da linguagem.

Faz sentido apenas escolher um projeto de código aberto (em C, se um também estiver escrevendo um compilador em C) para compilá-lo apenas através do "compilador". Nesse caso também, como julgar que o compilador está se comportando como esperado.

Há algum caso de teste formal (literatura) fornecido pelo comitê de padrões de linguagem que um compilador "em conformidade com a linguagem" deve satisfazer?

Quais são as "desistências" seguras que o problema em um programa compilado por umcompilador é um bug do compilador e não um bug do programa.

- Algum exemplo onde os compiladores do mainstream se confundem e compilam o código errado?

Links para qualquer literatura seriam apreciados.

questionAnswers(7)

yourAnswerToTheQuestion