EDG Open-Sources Its C/C++ Compiler and Winds Down

Translated by a model; the original is in Russian.

· Linux and open source
Edison Design Group has announced it is shutting down and releasing its C/C++ front end — the very one behind Visual Studio's IntelliSense. The code is now on GitHub.

cover.svg

At the November 2025 C++ ISO standards meeting, Edison Design Group (EDG) announced that it is winding down and open-sourcing its C/C++ front end. The repository is already available on GitHub, and it ships not only the front end itself but a number of accompanying components.

What the front end is

The EDG front end is one of just four surviving C++ parsers in existence (alongside Clang, GCC, and MSVC). Its hallmarks are excellent parsing compatibility — including emulation of other compilers' bugs, so that source accepted by Clang, GCC, and MSVC is also accepted by EDG — along with extensive documentation and extreme configurability. It was built specifically to be embedded and derived into a wide range of C/C++ oriented products.

Its best-known use is exactly that kind of embedding: EDG powers IntelliSense in Visual Studio. Intel's compiler also relied on the front end before switching to Clang.

What's in the repository

Beyond the front end, the project includes a C-generating back end (which can turn C++ programs into C), a C++-generating back end (useful for source-to-source transformations), a prelinker that handles automatic template instantiation, a minimal runtime support library (but no "real" libraries, such as stream I/O), utilities to write the intermediate language to a file and read it back, a name demangler, and a collection of purpose-built development tools. The documentation lives on a separate site, which also has a page explaining the transition to the open model.

A historical footnote

EDG has a curious line in the standard's history. It was the only front end to implement the export keyword for templates from C++98. That very experience was later cited as an argument for removing the feature — it had proven that troublesome in practice. In the end, export templates were dropped in C++11.


Source: Lobsters

Comments

Sign in, to comment.

  • No comments yet.