https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95703
Bug ID: 95703 Summary: Please backport 0998d2fd59e7a5eb3a3566c57625702bbdc6a05f to gcc 9 Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rafael at espindo dot la CC: jason at redhat dot com Target Milestone: --- We (seastar) recently hit a build error with gcc 9 because the fix in 0998d2fd59e7a5eb3a3566c57625702bbdc6a05f is missing. Given that P1286R2 is about c++11 and newer, could the fix be backported to gcc 9? The original commit message is: Implement P1286R2, Contra CWG1778 The C++11 requirement that an explicit exception-specification on a defaulted function match the implicit one was found to be problematic for std::atomic. This paper, adopted in February, simply removes that requirement: if an explicitly defaulted function has a different exception-specification, that now works just like a user-written function: either it isn't noexcept when it could be, or it is noexcept and will call terminate if an exception is thrown.