|
|
|
|
|
by fusiongyro
4701 days ago
|
|
I don't think that's the message here at all. The only way to prove code correct is by reference to some kind of specification. If that spec is a standard full of implementation-defined behavior (and worse, contradicted in practice by all the other vendors) a correctness proof is not really going to convey what it sounds like it would. What Miod is really asking for is an open source compiler that puts stability and portability over compiler optimization. If it weren't for optimizations and the endless fiddling that goes with them, gcc would have remained stable. It is already the only option that meets their portability requirements. |
|
> The only way to prove code correct is by reference to some kind of specification.
there are other interesting properties to prove besides "correctness of the entire compiler".
you could prove the entire compiler version n+1 emits the same code as version n, modulo $bugfix.
you could prove that individual optimizations are, on their own, correct with regards to the AST or IR that gcc operates on.
neither of those require a formalized spec of C. the first would probably make miod pretty happy. sadly one isn't going to get gcc man handled into a proof assistant, ever.