[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [RFC] Replacement for "assert" in the libraries

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Fri, 13 Jun 2008 12:57:33 -0400

So ... we meet again. I knew we couldn't get 10 messages into this thread
without you weighing in. :-)

(No, I don't have anything more useful to say on the matter right now.)

Stefan Küng wrote:
> Branko Čibej wrote:
>> I disagree with this idea. Very very much in fact. It's contrary to
>> the API implementation rules we set up from day one -- one of which
>> says that our API will not validate parameters. Also it would mean
>> that all functions that use assert but happen not to return an
>> svn_eror_t would have to be revved.
>>
>> The above implies that
>>
>> * assert should only be used for "this can't happen" sanity checks
>
> I disagree: assert should *never* be used, unless it's enclosed in
> #ifdef _DEBUG statements.
>
>> * it should be turned off in production code (which is what we do on
>> Windows, IIRC).
>
> Not really. The c-runtime assert() function is still used in a release
> build.
>
> See issue 2780:
> http://subversion.tigris.org/issues/show_bug.cgi?id=2780
>
> I've asked for the removal of asserts and aborts several times already,
> and I think I made my reasons very clear for that.
> And as you can see from that issue, I'm not the only one who has many
> problems because of those asserts and aborts.
>
> (that's also why I'm still considering dropping serf for the TSVN 1.5
> release - it has way too many aborts in places where an error should be
> returned instead).
>
>
> Stefan
>

-- 
C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2008-06-13 18:57:49 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.