Nah that was mostly about extern "C" functions which technically can't throw (so the noexcept runtime stuff would be optimized out) but in practice there is a ton of code marked extern "C" which throws
Well, yeah, things can be related to many things, but throwing extern "C"s was one of the motivations as I recall for 'r'. r is about a compiler optimization where we elide the runtime terminate check if we can statically "prove" a function can never throw. To prove it statically we depend on things like extern "C" functions not throwing, even though users can (and do) totally write that code.
Arech|1 year ago
Obviously, a random programmer could do any evil things, but does that apply to standard code, such as C standard library used from C++?
leni536|1 year ago
dataflow|1 year ago
terrymah|1 year ago