X-Git-Url: https://git.ralfj.de/web.git/blobdiff_plain/80c8c2547685046f77d14c63682e60d723a6cd62..541a2b6f4ce2373ba4ae9c7878d510c9074a03a9:/personal/_posts/2017-07-14-undefined-behavior.md diff --git a/personal/_posts/2017-07-14-undefined-behavior.md b/personal/_posts/2017-07-14-undefined-behavior.md index e93a608..1da732e 100644 --- a/personal/_posts/2017-07-14-undefined-behavior.md +++ b/personal/_posts/2017-07-14-undefined-behavior.md @@ -39,7 +39,7 @@ This could be the end of the game: No alias information, no way to verify our a ## Shifting responsibility -However, it turns out that compilers writers consider these optimizations important enough that they came up with an alternative solution: +However, it turns out that compiler writers consider these optimizations important enough that they came up with an alternative solution: Instead of having the compiler verify such assumptions, they declared the programmer responsible. For example, the C standard says that memory accesses have to happen with the right "effective type": If data was stored with a `float` pointer, it must not be read with an `int` pointer. @@ -87,4 +87,4 @@ Such a specification would describe the additional state that is needed at run-t It is with such considerations in my mind that I have previously written about [miri as an executable specification]({{ site.baseurl }}{% post_url 2017-06-06-MIR-semantics %}). Coming up next on this channel: During my [internship]({{ site.baseurl }}{% post_url 2017-05-23-internship-starting %}), I am working on such a specification. -I have a draft ready now, and I will share it with the world to see what the world thinks about it. +My ideas are concrete enough now that I can write down a draft, which I will share with the world to see what the world thinks about it.