On 06/22/2010 05:36 PM, Ali Çehreli wrote:
Jonathan M Davis wrote:
> Steven Schveighoffer wrote:
>> all calls to assert are removed by the compiler in release mode. I
don't
>> think there's a way to implement that via a library (it would be nice
>> though!)
> Also IIRC, the compiler uses assert(0) to ensure that functions blow
up at
> runtime if you manage to hit the end of them without a return statement.
I just read in TDPL that the assert(0) calls in user code are not
removed even in release mode.
Ali
Really?
// test.d
void main(){
assert(0);
}
$ dmd test -release
$ ./test
Segmentation fault (core dumped)
good job, dmd. Can anyone see if anything is going on here?