Teaching old compilers new tricks
summary
Claims a working preprocessor called clang from the future that uses libclang AST transforms to transpile C++14/17 features into C++11 source so legacy compilers can compile them. Implements structured bindings, binary literals, digit separators, fold expressions, if constexpr via generated explicit template specializations and rewrites, integrates with make and CMake integration, and even emits object files for embedded toolchains (demo on an ESP32 object file). Prototype exists; production version is proprietary; debug-info roundtrips are planned but not yet implemented.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 0:49What do you do
- 2:07Where are we today
- 7:21The problem
- 8:41Classical solution
- 10:32What is CFDF
- 13:40How does CFDF work
- 15:37CFDF abstract syntax
- 16:47AST visitors
- 18:43cat or dog
- 20:58clang from the future
- 26:02inplace
- 28:37regular if statement
- 33:52forward expressions
- 40:40future
- 43:54developers
- 45:25use cases
- 48:11summary
related talks
02h 02mPeering forward: C++'s next decade
01h 36mPlenary: Cooperative C++ Evolution - Toward a Typescript for C++
01h 01mBringing CLANG/LLVM To Windows
01h 37mPeering Forward - C++’s Next Decade
01h 02mEmbedded Friendly C++: Features That Make a Difference
55mC++ 20 Innovations: High-Performance Cross-Platform Architecture in C++
59mHow to understand modern C++ features in practice? Let's create a compiler!
01h 05mC++ Reflection Based Libraries to Look Forward To
