[M3devel] "pragmas being ignorable"

Tony Hosking hosking at cs.purdue.edu
Mon Feb 22 23:46:14 CET 2010


On 22 Feb 2010, at 16:31, Jay K wrote:

>  > I thought that was the point of pragmas, that the compiler could freely ignore them and that they
>  > did not involve the correctness of the program.
>  
> This confuses me. I'm not sure I see the line between having
> important meaning and having ignorable meaning.
> Is it like, they affect only codegen and diagnostics but not
> front end type/semantic analysis? Like "inline" and "nowarn"?

Yes.

>  <* asserts *> definitely change the behavior of a program.
> But I guess "behavior" and "correctness" are different?

Asserts are benign so long as the program never violates the assertion.

> A "correct" program will never fail an assert, therefore
> removing them from a "correct" program makes no difference?

Correct!

And there is a compiler flag that lets you compile with assertions turned off...

>  
>  
>  - Jay
>  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100222/25ca9e5e/attachment-0002.html>


More information about the M3devel mailing list