assert semantic change proposal

John Carter via Digitalmars-d digitalmars-d at puremagic.com
Sun Aug 3 19:31:35 PDT 2014


On Monday, 4 August 2014 at 02:18:12 UTC, David Bregman wrote:
>
> His post basically says that his real life experience leads him 
> to believe that a static analyzer based on using information 
> from asserts will very likely generate a ton of 
> warnings/errors, because real life code is imperfect.
>
> In other words, if you use that information to optimize 
> instead, you are going to get a ton of bugs, because the 
> asserts are inconsistent with the code.

No.

My experience says deeper optimization comes from deeper 
understanding of the dataflow, with deeper understanding of the 
dataflow comes stricter warnings about defective usage.

ie. A Good compiler writer, as Walter and the gcc guys clearly 
are, don't just slap in an optimization pass out of nowhere.

They are all too painfully aware that if their optimization pass 
breaks anything, they will be fending off thousands of complaints 
that "Optimization X broke....".

Compiler users always blame the optimizer long before they blame 
their crappy code.

Watching the gcc mailing list over the years, those guys bend 
over backwards to prevent that happening.

But since an optimization has to be based on additional hard 
information, they have, with every new version of gcc, used that 
information both for warnings and optimization.



More information about the Digitalmars-d mailing list