On 25/02/2013 02:01, Jonathan M Davis wrote:
<snip>
There's a more important way in which it isn't quite "treat warnings as
errors": if you use an IsExpression to test the validity of a snippet of
code, a pass with warnings must still be a pass.  Otherwise, you'll get
code that compiles with or without -w, but behaves differently in each
case.  There have been bugs in DMD in this respect - I'm not sure if there
still are.

That behavior is on purpose. It really is meant that the warnings be treated
exactly as errors. I pointed out this particular issue to Walter in the past
(within the past month even IIRC), and he agreed that it wasn't good, but it
was clear from what he said that it was the intended behavior and not a bug.

So according to what you're saying, it's deliberate that -w doesn't compile D, but rather a vendor-specific language that is confusingly similar to D and admits some code that is legal in D with different behaviour.

Please supply a link to Walter's statement.

The problem is really that -w exists at all.

Together with the omission of a switch that simply causes warnings to be emitted and then returns an error status if any were.

Stewart.

Reply via email to