~/talk

Deprecating volatile

Talkat CppCon 2019 · 2019-09-15..09-20· [c-and-cpp, embedded-and-hardware]
github:jfbastien
slides:none on file

Argues for deprecating many volatile uses in C and C++, documents actual edits accepted for C++20 (language and library papers split), shows LLVM semantics where volatility is an instruction property not a type property, and gives concrete examples that will appear in the standard (volatile bitfields, unions, structured bindings). Proposes deprecated volatile compound assignments and removing top-level volatile qualifiers, plans a replacement that treats volatile as instruction property and notes which changes land in C++20 versus those deferred.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05How did this get started
  3. 4:13Motivation examples
  4. 4:30Example
  5. 8:45What does it do
  6. 10:15Another example
  7. 10:54Toplevel volatile qualified
  8. 12:42Constructor volatile
  9. 13:16Load volatile
  10. 14:36What does volatile mean
  11. 15:01Knowing your own ignorance
  12. 15:12Volatile optimizer
  13. 16:06Memory can tear
  14. 17:03Is it guarantees instruction ordering
  15. 17:57Is it guarantees synchronization
  16. 18:55Early unix
  17. 19:05Early C
  18. 22:13Volatile
  19. 25:43Documentation
  20. 26:42Models
  21. 27:07Variables
  22. 28:53Semantic similarities
  23. 29:26Threads
  24. 29:55Atomicity
  25. 30:11Standards
  26. 30:31Poetry
  27. 31:09Abstract
  28. 38:21What do compilers do
  29. 39:44What do optimizers do
  30. 40:48Target specific semantics
  31. 41:16Side effects of volatile operations
  32. 41:34Explicit dereferencing
  33. 43:01CV
  34. 43:31Corner cases
  35. 44:26Do not break good code
  36. 45:00Remove confusion
  37. 45:16Remove useless abstractions
  38. 45:34No replacement for volatile
  39. 46:05Remove complexity from the language
  40. 46:35Make volatile useful
  41. 48:51Remove truly useless
  42. 49:10Remove cons
  43. 49:46Volatile load and volatile stores
  44. 52:13Structured bindings
  45. 53:20Final paper
  46. 53:35National body
  47. 54:00Examples
~/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.