Existe, em algum lugar, um script, arquivo de origem ou qualquer outra coisa que possa ser usado / acessível livremente, capaz de medir a conformidade de um determinado compilador C ++?
Por exemplo, o teste Acid3 para navegadores: http://acid3.acidtests.org/
Os resultados com os quais eu sonho são uma nota percentual global (ou várias notas, uma para cada padrão, por exemplo, c ++ 98, c ++ 11, c ++ 14 etc.) e, em seguida, testes detalhados com "sucesso" ou "falha" para cada um deles.
Antecedentes: Tive uma discussão em andamento sobre o boost e alguns compiladores desafiados. Meu interlocutor falou sobre o boost ser um projeto acadêmico, porque não funcionará nos principais compiladores C ++, e eu respondi que os compiladores com problemas mentais não deveriam contar. Ser capaz de medir com código a conformidade real de um compilador ajudaria na avaliação do compilador e na descoberta dos "casos de canto" que devem ser evitados no código de plataforma cruzada compilado com eles.
Edição: 22/06/2013
Não é uma resposta, mas, aparentemente, o comitê C ++ está trabalhando no assunto:
SG10, Teste de recursos: Clark Nelson (Intel). Investigação sobre se e como padronizar uma maneira do código portátil verificar se um determinado produto C ++ implementa um recurso ainda, à medida que continuamos estendendo o padrão.
Respostas:
Uma maneira de testar a conformidade de um determinado compilador C ++ é executar um (grande) testinguite, ou seja, vários arquivos C ++ que testam todos os aspectos da linguagem.
Os kits de testes bem conhecidos são os kits de teste gcc e llvm. Eles testam todos os tipos de aspectos do compilador, obviamente incluindo a conformidade. No entanto, é difícil avaliar especificamente a conformidade especificamente, pois (pelo que sei) não há relatórios especiais gerados sobre conformidade.
Nesta região você tem:
Existem alguns testes completos para testar a conformidade com C / C ++ disponível. Infelizmente, essas são todas as licenças comerciais da ordem de 10k-40k.
fonte
A coisa mais próxima que eu conheço é no contexto de uma versão padrão específica . Da mesma forma, existem postagens de blog que contêm conteúdo semelhante. No entanto, não conheço um corpo, teste ou conjunto de testes de fato ou de jure que decida sobre esses assuntos. Até o isocpp.org não parece ter recursos de conformidade atualmente. O mais próximo que você pode chegar é provavelmente os gráficos de conformidade específicos de cada fornecedor, que são inconsistentes na melhor das hipóteses.
por exemplo , Clang , GCC , MSVC , Intel
Na verdade, existem apenas alguns compiladores competitivos (pelo menos no espaço x86 / x64 - presumo que também seja o caso de plataformas menos populares), mas concordo que seria muito bom ter uma referência, especialmente agora que o padrão é ganhando velocidade.
fonte
Não conheço nenhum teste de padrões, embora o seguinte URL seja o site oficial do site de padrões http://www.open-std.org/jtc1/sc22/wg21/ .
Além disso, muitas coisas encontradas no Boost entram no padrão C ++. Segundo o Dr. Kenneth Sundberg, da Universidade Estadual de Utah.
Também não posso verificar a credibilidade ainda, ainda estou tentando descobrir se é credível, mas o Grupo do Google em https://groups.google.com/forum/?fromgroups#!forum/comp.std .c ++ afirma que não existe teste oficial.
fonte