https://gcc.gnu.org/bugzilla/show_bug.cgi?id=41759
--- Comment #6 from W E Brown <webrown.cpp at gmail dot com> --- I hadn't realized this was still open :) FWIW, my paper N3846 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3846.pdf) summarizes on p. 3 my recommended "guidelines for programmers to follow in crafting diagnostic messages for users" as follows: • Provide explicit indication that something has gone wrong: – Users are lost when they make mistakes with no feedback. – Be specific in describing the exact problem; avoid vague generalities or generic messages (e.g., "syntax error"). • Use human-readable (i.e., comprehensible) language: – Avoid abbr’s and codes (e.g., "type 2 error"). – Use polite and grammatically correct phrasing. – Neither blame users nor imply they are stupid or doing something wrong (e.g., "illegal command"). – Be affirmative. • Above all, be helpful; provide constructive advice: – Tell users how to address the problem. – Use error messages as an educational resource to impart a small amount of knowledge to users. [To give due credit, I many years ago paraphrased, rearranged, and reformatted these based in significant part on Jakob Nielsen's article “Error Message Guidelines.” (Nielsen Norman Group, 2001-06-24. http://www. nngroup.com/articles/error-message-guidelines/).]