Need help?
<- Back

Comments (45)

  • jabl
    What's not mentioned in the announcement (at least based on a quick skim) is that EDG the company is winding down, which is likely the reason why they're open sourcing the front end.https://en.wikipedia.org/wiki/Edison_Design_Group ref 9: https://herbsutter.com/2025/11/10/trip-report-november-2025-...
  • Almondsetat
    For the uninitiated, what are/were the strong points of this frontend wrt the others? Why would anyone use it?
  • ninkendo
    No comment about the substance of the article but I just have to give props: this site loaded incredibly quickly for me. Like it felt like a handful of milliseconds between tapping the link on my phone and it showing up, already scrolled to the right anchor within the article. Bravo on making it snappy.
  • vintagedave
    Wow. This is big news for C++.For background -- and I am not an expert here -- their C++ frontend is widely known. I first heard of it because Visual C++'s Intellisense uses it, which was notable because VC does not use the msvc frontend for its own completion. I understand it's been either used or evaluated for other frontends in the past too. I worked as PM for one C++ product, and was fortunate to be able to learn a lot from our engineers; we didn't use it, but they thought highly of EDG.It has a very strong reputation for being correct. And as such, I think open sourcing it will be a very beneficial thing for the C++ community.
  • OneDeuxTriSeiGo
    Announcement: https://edgcpp.org/#transitionThe source code itself: https://github.com/edgcpp/compilerDocumentation: https://edgcpp.org/doc/And for those curious the license SPDX is: Apache-2.0 WITH LLVM-exceptioni.e.- https://spdx.org/licenses/Apache-2.0.html- https://spdx.org/licenses/LLVM-exception.html
  • cryptolobster
    I like this emulation feature. A frontend capable of mimicking MSVC or GCC behavior seems very useful for porting code or developing tools that need to exactly replicate the operation of another compiler.
  • trebligdivad
    It's got history! That's really unusual for moves to open-source; the dates on the earliest commits are in 1990 and they do go forward in time so that's really unusual to have that much history. I bet there's some fun stuff in there.
  • kccqzy
    If I remember correctly, EDG was the only C++ implementation that actually attempted to implement the export keyword for templates in old C++. It was this implementation experience that informed the deprecation of export. EDG is a major influence in the development of C++.
  • andrewaylett
    I have fond memories of working on an embedded systems compiler that used the EDG front-end — that would be almost 20 years ago now.We certainly held it in high regard. It was rare that a compiler bug was in their code rather than ours :).
  • etyp
    Ah, I used EDG for static analysis, but joined when we were switching over to using Clang for the frontend. I can't say for sure, but part of it was definitely just to save money using open source. The code that was hacked on top of EDG was also ridiculous, so there was a lot of accumulated tech debt there.Looking back at that code definitely brings back memories. As a consumer of both frontends, I will say I much preferred working with Clang's. Both needed extra work on top to support everything we needed. Maybe I'm just not as acquainted with C as I would like to be. It's cool to look at this again, though.
  • compiler-guy
    One interesting thing about the EDG front end is that it can emulate all the others (and in various versions of the others) and what they support, and the errors they might detect.It isn't perfect, but it is awfully good.Another interesting thing is that in 1999ish, when SGI open-sourced the Irix compiler (known as sgicc) into open-64, the it used a terribly hacked version of gcc as a front end to generate its internal intermediate representation.This was because sgicc, even back then, used EDG as a front end, and EDG wasn't open and couldn't be opened up at the time.The combination worked OK, but was pretty hacky, and I wonder if open64 would have gotten more traction than it did if it had been able to use EDG, or perhaps some other front end actually designed as a front end instead of the hacky thing.
  • stuaxo
    "Three tracks, one codebase" this is such an LLM written sentence.EDIT: But in this case it seems something significant is being released, it would be better with less writing and more human if possible.
  • suid
    Ooh, fond (and some not so fond) memories of when Silicon Graphics' (MIPS) C and C++ compilers were based on EDG's frontend, with a custom ucode-generating backend, and integrated into CASEVision. Early 1990s.EDG was just 3 guys back then.
  • layer8
    The only implementation to ever support the C++98 “export template” feature, as far as I know. I wonder if that’s still in the open-sourced version.
  • dgrunwald
    Despite using C++ for a few years now, the EDG source code is still mostly C code (and in fact, the C++ code is still using the old .c file names). In particular, there's no usage of the C++ standard library.Where other languages might use inheritance, EDG still uses the C-style `union { ... } variant;`.On a related note, compiling EDG is extremely fast: on my machine, the EDG frontend compiles in <10s; whereas clang takes >10min (caution unfair comparison: clang includes much more than just a frontend).
  • anon
    undefined
  • my-next-account
    What is this?
  • cyberax
    It has an interesting code style, the comments go _after_ the function definition but before the opening bracket.It looks weird, but it actually makes sense! The flow is more natural - first the function definition, and then the explanation of what it does. It also avoids repeating the function name.
  • ritualdevin
    [dead]