CppCon 2018: Tony Wasserka “Teaching Old Compilers New Tricks: Transpiling C++17 to C++11”
2,038 views · Published 7 November 2018 · 31:55 · Indexed 28 September 2026
Channel: CppCon · 2018 · Education
http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018 — With all the new features C++14 and C++17 offer, it can be frustrating to be stuck with an old compiler that doesn't support them yet. Instead of forgoing structured bindings, fold expressions, and other additions, what if we could use them even on pre-2014 compilers? Enter clang-from-the-future, a transpiler that reads C++17 programs and outputs standard C++11 source code. When used as a preprocessing step, it allows any compiler with C++11 support to compile a subset of C++14/17 programs. To enable this, CTFT rewrites new language features based on the program's abstract syntax tree and provides drop-in implementations for standard library additions. In this talk, I will show how specifically this is achieved, how well it works in practice, and what's left to be done in the future. The source code for CFTF can be downloaded here: https://github.com/neobrain/cftf — Tony Wasserka, Freelance Software Developer Low-level anything: Tony is a freelancer and long-term C++ enthusiast who has worked on the console emulator projects Dolphin (GameCube/Wii), PPSSPP (PSP), and Citra (3DS) since 2010. More recently, he has worked on Vulkan graphics drivers for PowerVR graphics processors. His main interest is exploring C++'s zero-cost abstraction capabilities and applying them to create better software for resource-constrained environments. — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com *-----* *--* *-----*
More from this channel
-
1:03:17
Elevate Your Code to Modern C++11 with Automated Tooling - Peter Sommerlad [ CppCon 2014 ]
-
50:09
CppCon 2015: Joel Falcou PART 3 “Expression Templates: Past, Present, Future”
-
51:27
Simple, Extensible Pattern Matching in C++14 - John R. Bandela [ CppCon 2015 ]
-
44:35
CppCon 2015: Jens Weller “An Overview on Encryption in C++"
-
6:30
CppCon 2015: Reid Kleckner "Clang on Windows: a status update"
-
8:41
Introducing brigand - Edouard Alligand & Joel Falcou [ CppCon 2015 ]
-
12:05
Traits Go Mainstream... Leor Zolman - [ CppCon 2015 ]
-
1:01:32
CppCon 2016: Bob Steagall “Lightweight Object Persistence With Relocatable Heaps in Modern C++"