~/talk

Converting to C++20 Modules

Talkat CppCon 2019 · 2019-09-15..09-20· [compilers-and-language-design]
links:none on file
slides:none on file

Converts tinyxml2 using GCC experimental modules to show an incremental path: create a header unit mapping file, generate a CMI (compiled module interface), tweak the Makefile to feed include-translation, then replace #include with import and fix errors from missing stdio and macro visibility. Resolves internal-linkage and export scope issues, folds implementation into a single interface module, and runs the original tests successfully. Repository contains the commit-by-commit conversion and the exact build flags used.

AI-written summary · about

  1. 0:00Introduction to modules
  2. 1:15GCC modules implementation
  3. 2:45Building unchanged code
  4. 3:31Module artifacts and dependencies
  5. 4:35Header units conversion
  6. 8:37Header unit compilation
  7. 10:23Header unit macro behavior
  8. 13:11Testing header unit conversion
  9. 14:43Explicit header unit import
  10. 15:50Named module structure
  11. 19:00Interface unit setup
  12. 20:23Implementation unit changes
  13. 21:06Build system updates
  14. 22:52Compilation errors and fixes
  15. 27:11Named module completion
  16. 27:54Single file module conversion
  17. 30:23Optimizing module structure
  18. 31:27Exporting specific symbols
  19. 33:17Repository and resources
  20. 33:39Distributing modules
  21. 35:07Dependency management
  22. 36:35Include to import conversion
  23. 38:02Module name collisions
  24. 39:07Conversion strategies
  25. 40:28System vs user modules
  26. 41:54Finding module interfaces
  27. 42:16Online compiler support
  28. 42:42Inspecting module files
  29. 44:30Build parallelism impact
  30. 46:16Private module access
  31. 47:46Friendship and module boundaries
  32. 48:30Q&A session
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.