Gibt es irgendwo ein frei verwendbares / zugängliches Skript, eine Quelldatei oder was auch immer, das die Kompatibilität eines bestimmten C ++ - Compilers messen kann?
Zum Beispiel der Acid3-Test für Browser: http://acid3.acidtests.org/
Das Ergebnis, von dem ich träume, ist ein globaler Prozentsatz (oder mehrere Noten, eine für jeden Standard, z. B. C ++ 98, C ++ 11, C ++ 14 usw.) und dann detaillierte Tests mit "Erfolg". oder "Fehler" für jeden von ihnen.
Hintergrund: Ich hatte eine Diskussion über Boost und einige herausgeforderte Compiler. Mein Gesprächspartner sprach davon, dass boost ein akademisches Projekt ist, da es in großen C ++ - Compilern nicht funktioniert, und ich antwortete, dass geistig herausgeforderte Compiler nicht zählen sollten. In der Lage zu sein, die tatsächliche Konformität eines Compilers mit Code zu messen, würde sowohl bei der Bewertung des Compilers als auch bei der Ermittlung der "Eckfälle" helfen, die bei plattformübergreifendem Code, der mit ihnen kompiliert wird, vermieden werden sollten.
Edit: 2013-06-22
Keine Antwort, aber anscheinend arbeitet das C ++ - Komitee an dem Thema:
SG10, Funktionstest: Clark Nelson (Intel). Untersuchung, ob und wie ein Weg für portablen Code standardisiert werden kann, um zu überprüfen, ob ein bestimmtes C ++ - Produkt eine Funktion implementiert, während der Standard weiter ausgebaut wird.
Antworten:
Eine Möglichkeit, die Kompatibilität eines bestimmten C ++ - Compilers zu testen, besteht darin, eine (große) Testsuite auszuführen, dh eine Reihe von C ++ - Dateien, die alle Aspekte der Sprache testen.
Bekannte Testsuiten sind die gcc- und llvm-Testsuiten. Diese testen alle Arten von Aspekten des Compilers, natürlich auch die Konformität. Es ist jedoch schwierig, die Konformität speziell zu bewerten, da meines Wissens keine speziellen Berichte über die Konformität erstellt wurden.
In diesem Bereich haben Sie:
Es gibt einige umfangreiche Testsuiten, mit denen die C / C ++ - Konformität getestet werden kann. Leider sind dies alles kommerzielle Lizenzen in der Größenordnung von 10.000 bis 40.000.
quelle
Mir ist am nächsten bewusst, dass es sich um eine bestimmte Standardversion handelt . Ebenso gibt es Blogposts , die ähnliche Inhalte enthalten. Mir ist jedoch keine de facto oder de jure Stelle, kein Test oder keine Testsuite bekannt, die solche Angelegenheiten regeln. Sogar isocpp.org scheint derzeit keine Ressourcen für Konformität zu haben. Am ehesten können Sie die spezifischen Konformitätstabellen der einzelnen Anbieter ermitteln, was bestenfalls inkonsistent ist.
zB Clang , GCC , MSVC , Intel
Es gibt wirklich nur wenige kompetitive Compiler (zumindest im x86 / x64-Bereich - ich nehme an, dass dies auch für weniger beliebte Plattformen der Fall ist), aber ich stimme zu, dass es sehr schön wäre, eine Referenz zu haben, besonders jetzt, wo der Standard ist Geschwindigkeit aufnehmen.
quelle
Ich kenne keine Normenprüfungen, obwohl die folgende URL die offizielle Normenwebsite des Komitees http://www.open-std.org/jtc1/sc22/wg21/ ist .
Viele Dinge, die in Boost zu finden sind, finden Eingang in den C ++ - Standard. Laut Dr. Kenneth Sundberg von der Utah State University.
Ich kann die Richtigkeit der Informationen auch noch nicht überprüfen. Ich versuche immer noch herauszufinden, ob sie glaubwürdig sind, aber die Google-Gruppe unter https://groups.google.com/forum/?fromgroups#!forum/comp.std .c ++ behauptet, dass kein offizieller Test existiert.
quelle