Why assert is in the language?

Ellery Newcomer ellery-newcomer at utulsa.edu
Tue Jun 22 19:00:14 PDT 2010

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


// test.d
void main(){

$ dmd test -release
$ ./test
Segmentation fault (core dumped)

good job, dmd. Can anyone see if anything is going on here?

More information about the Digitalmars-d-learn mailing list