On 3/21/23 11:00, Qing Zhao via Gcc-patches wrote:
On Mar 21, 2023, at 12:56 PM, Paul Koning <paulkon...@comcast.net> wrote:
On Mar 21, 2023, at 11:01 AM, Qing Zhao via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
...
Most of the compiler users are not familiar with language standards, or no
access to language standards. Without clearly documenting such warnings along
with the option explicitly, the users have not way to know such potential
impact.
With modern highly optimized languages, not knowing the standard is going to
get you in trouble. There was a wonderful paper from MIT a few years ago
describing all the many ways C can bite you if you don't know the rules.
Yes, it’s better to know the details of languages standard. -:)
However, I don’t think that this is a realistic expectation to the compiler
users: to know all the details of a language standard.
Umm, they really do need to know that stuff.
If the developer fails to understand the language standard, then they're
likely going to write code that is ultimately undefined or doesn't
behave in they expect. How is the compiler supposed to guess what the
developer originally intended? How should the compiler handle the case
when two developers have different understandings of how a particular
piece of code should work? In the end it's the language standard that
defines how all this stuff should work.
Failure to understand the language is a common problem and we do try to
emit various diagnostics to help developers avoid writing non-conformant
code. But ultimately if a developer fails to understand the language
standard, then they're going to be surprised by the behavior of their code.
Jeff