https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99058
Bug ID: 99058 Summary: Consider adding a note about std::optional ABI break to the C++17 status table Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: bspencer at blackberry dot com Target Milestone: --- In this table https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2017 the row labelled "Library Fundamentals V1 TS Components: optional" says it's supported since "7.1" and references Note 1, but there's no mention of the ABI break between 7.x and 8.x. Perhaps I was misusing this table, but I interpreted "supported since 7.1" to mean that if I compile against 7.1 headers, my code will remain ABI compatible against future versions of the library _and_ other code compiled against future versions of the headers. This ABI break caught me by surprise, and even though these versions are older now, it seems worthwhile to at least mention the break in a note to help others. BTW, this particular example also happens to come up as a question in Marshall Clow's recent talk on the topic of standard library ABIs. See https://youtu.be/7RoTDjLLXJQ?t=3191 Thanks.