Most people are familiar with the "undefined" and "unspecified" behaviour notes in C++, but what about "no diagnostic required"?
I note this question and answer, dealing with ill formed programs, but not much detail on the root of "no diagnostic required" statements.
What is the general approach applied by the committee when classifying something as "no diagnostic required"?
Examples of "undefined" and "unspecified" behaviour are not in short supply; short of the ODR, what practical example(s) are there for the "no diagnostic required" type errors?
There was a discussion here: https://groups.google.com/a/isocpp.org/forum/#!topic/std-discussion/lk1qAvCiviY with utterances by various committee members.
The general consensus appears to be
As I said in that thread, I did once hear in a discussion (I can't remember anymore in which one, but I'm certain there were insightful committee members involved)
The rough guide for me is; if it is at compile time, it tends to be "ill-formed; no diagnostic required" and if it is at runtime, it always is "undefined behavior".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With