Was this broken condition something that could have been detected statically?  
I've encountered plenty of broken conditions, but I've never had a compiler 
correctly flag one such.

Sent from my iPhone

On Aug 21, 2011, at 12:39 PM, Don <nos...@nospam.com> wrote:

> Sean Kelly wrote:
>> On Aug 18, 2011, at 10:29 AM, Nick Sabalausky wrote:
>>> "Bernard Helyer" <b.hel...@gmail.com> wrote in message 
>>> news:j2ithq$12kd$1...@digitalmars.com...
>>>> I asked the Ars forums ( http://arstechnica.com/civis/viewtopic.php?
>>>> f=20&t=1153378&p=21965411 ) and I ask the same of you: should
>>>> unambiguously unreachable code be an error or a warning? ( see the linked
>>>> forum post for more details ).
>>> No. That would be a royal pain in the ass during debugging. I expect to be 
>>> able to stick a "return xxxx;" anywhere I want to test something and not 
>>> have the compiler crap out because I didn't deal with the overhead of 
>>> commenting out the rest.
>>> 
>>> A warning might be nice, though.
>> A warning if anything.  I've never encountered a situation where code was 
>> made unreachable by accident.  I also get "unreachable code" warnings 
>> periodically, for code that is absolutely reachable.  I don't want my code 
>> to not compile simply because the compiler can't perform adequate flow 
>> analysis.
> 
> I have encountered bugs of the form:
> if (cond) { /* unreachable */ }
> and the cond was unintentionally always false. The last time I encountered 
> such a bug was last week. I'm surprised your experience is so different.
> 
> It's crucial that it should never report "unreachable" if it is unsure (not 
> even a warning).
> But I think conditional compilation is a huge problem -- code may be valid 
> under different compilation conditions. I suspect that to eliminate all the 
> false positives, it'd have to be so conservative, that it wouldn't catch any 
> bugs.
> 

Reply via email to