Updating expectations for the new constexpr engine

Hey all!

As you may know, we’ve been working on a new bytecode-based constant expression evaluation engine in Clang for the past few years. Big thanks to @tbaeder for being the main driving force behind this gargantuan effort!

While the new engine is not quite yet ready to enable by default, it is far enough along that we have decided to make it a requirement to maintain it as part of our regular community work. That is, from now on, if a change is made to the existing ExprConstant.cpp constant evaluator, authors and reviewers should now expect that work to also be done in the new constant expression engine. This will help us get to the finish line with the new engine so that we can enable it by default and progress to our goal of removing the old engine.

If you have questions or troubles with efforts in this space, please reach out to Timm (his contact info is listed in the Clang maintainers file). Thank you!

14 Likes