~/talk

How to Implement Your First Compiler Feature:The Story of Concepts in Clang

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

Implements C++20 Concepts in Clang end-to-end: parses concept definitions, adds AST nodes, wires requires clauses, abbreviated templates and the new requires expression into parsing and semantic checking, and drives overload resolution and diagnostics to match the standard. Before that a tooling detour collapses gigantic diagnostics (a reported 1.2 GB of errors), a temporary static_print hack is added to GCC for compile-time debugging. Work spans about a month of initial hacking and ~18 months to reach feature-complete per C++20 and begin merging into mainline.

AI-written summary · about

  1. 0:00Introduction
  2. 4:46About the speaker
  3. 7:14GCC concepts struggles
  4. 14:40Adding static print to GCC
  5. 25:56Deciding to implement concepts
  6. 28:49First steps in Clang
  7. 37:15Compiler design principles
  8. 41:22Planning the implementation
  9. 46:04Requires expressions challenge
  10. 47:34Finalizing the feature
  11. 50:09Key takeaways
  12. 52:37Q&A
~/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.