Microsoft hält an Bemühungen um eigenen C/C++-Compiler fest
Nicht nur in den Clang-Support will das Unternehmen weiterhin Zeit investieren, auch der eigene C++-Compiler soll weitere Aufmerksamkeit erhalten, sodass er auf lange Sicht als standardkonformes Tool zur Verfügung steht.
- Julia Schmidt
Auf dem Blog des Visual-C++-Teams hat Microsofts Jim Springfield über den Stand der Dinge der Arbeiten am C/C++-Compiler des Unternehmens informiert. Bereits seit drei Jahren arbeite man wohl schon an der grundlegenden Erneuerung des Tools, wobei die ersten Ergebnisse im diesjährigen Visual-Studio-Release zu finden waren. Weitere Verbesserungen und auch Updates bezüglich der Zusammenarbeit der IDE mit dem Open-Source-Projekt Clang sollen C- und C++-Entwickler in den kommenden Updates der Entwicklungsumgebung erwarten.
Mit Altlasten kämpfen
Eine Überarbeitung sei notwendig gewesen, da der Code seit Beginn des Projekts 1982 historisch gewachsen sei und sich einige architektonische Entscheidungen im Verlauf im Rückblick als eher unglücklich herausstellten – etwa beim Einführen der Funktionen zur statischen Codeanalyse, bei der alle entsprechenden Elemente mit #if-Präprozessorblöcken in den Compiler-Code eingebaut wurden.
Beim Beginn der Umgestaltungsarbeiten war die Anzahl dieser Blöcke auf rund 6000 angewachsen, die seitdem alle entfernt wurden. Das Tool zur statischen Analyse erstellte zudem Syntaxbäume, die von dem des echten Compiler abwichen, weshalb es sein konnte, das beim Ergänzen neuer Sprachfunktionen einzelne Implementierungen für Compiler und Analysetool zu erstellen waren. Vorgabe war daher, zu ändern, wie der Compiler Code parst und analysiert, wobei alle Erneuerungsmaßnahmen im Entwicklungszweig der neuen Feature stattzufinden hatte. Aus dem Grund war in einigen der Release-Kandidaten wohl auch die Codeanalyse ausgeschaltet.
Wie geht's weiter?
Derzeit arbeite man unter anderem daran, Templates in abstrakte Syntaxbäume zu parsen. Ziel sei es, den Compiler auf lange Sicht komplett standardkonform zu gestalten. Außerdem wolle man weiterhin an der Unterstützung für Clang arbeiten, unter anderem, da es in einigen der Cross-Plattform-Funktionen von Visual Studio vorkommt. Darf man dem Inhalt eines Vortrags von Microsofts James Radigan glauben, will das Unternehmen die Architektur, die zur Kombination des Clang-Frontends mit den Optimierungsmechanismen des Microsoft-Backends eingesetzt wird, zu einem späteren Zeitpunkt anhand einer Community Preview vorstellen. (jul)