"Just switch the compiler", they said
summary
Describes concrete migration work: setting up new toolchains and CI, using Dockerized builds to run old and new compilers in parallel, tracking costly licenses like 3.5k per license, and wrestling with Yocto/BSP vendor lock‑in. Lists real failures — DLL symbol issues, iterator/size_t mismatches that crash devices and a case where a CAN message made a motor moved into wall — and prescribes fixes: crank warnings, run UB sanitizer, refactor dependencies, and start with unit tests.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 1:49Reasons to switch
- 6:46Infrastructure setup
- 11:45CI and dev environments
- 15:19Handling dependencies
- 23:21Porting the project and fixing compilation errors
- 27:17Standard compliance
- 33:12Runtime behavior
- 42:36Preventing surprises
- 47:22Q&A
- 50:57Q&A: Modules
- 51:40Q&A: GCC memory regions
- 52:02Q&A: Modern CMake
- 54:25Q&A: Team learning
- 56:31Q&A: New projects
related talks
04mLightning Talk: Upgrading The Compiler Isn't Free
01h 01m10 Problems Large Companies Have Managing C++ Dependencies and How to Solve Them
37mCross-Building Strategies in the Age of C++ Package Managers
01h 00mCompiler Explorer: Behind The Scenes
16mMind the Gap (Between Your Code and Your Toolchain)
34mScheduling in CI/CD systems
01h 00m“Deploying C++ modules to 100s of millions of lines of code"
32mBalancing Developer Fre...
