assert or sqAssert? [was: Re: Source Forge Changes for 3.2.1]

John M McIntosh johnmci at smalltalkconsulting.com
Mon Dec 24 06:39:30 UTC 2001


At 7:10 AM +0100 12/24/01, Stephan Rudlof wrote:
>Marcus Denker wrote:
>>
>>  On Fri, Dec 21, 2001 at 01:14:47PM -0800, John M McIntosh wrote:
>...
>>  >
>>  > Ah, could you submit a change set for that I must have changed that a
>>  > few months ago. The problem is assert is also defined in the mac bsd
>>  > headers somewhere. The assert should really be changes to
>>  > SqueakAssert or something versus being deleted.
>>
>>  Ok.
>>
>
>The current workaround is to have >>sqAssert: in the LargeIntergersPlugin.
>I'm not happy with this.
>
>I just want to have an assert function, which does exactly what you expect
>from such a function.

Well in the bsd <assert.h> we have
#define assert(expression)  \
   ((void) ((expression) ? 0 : __assert (#expression, __FILE__, __LINE__)))

then you do
static int assert(int aBool) {
	/* missing DebugCode */;
}

Then the GNU compiler gets grumpy.

Note that assert is also used in
b3dAlloc.c which is one of the places the #include <assert.h> is 
invoked to pickup the BSD definition.

I'm assuming you could revert to use #include <assert.h> then use 
assert as defined for BSD assert versus your own version. Mmm right 
now it appears your assert doesn't do anything? Should it?

-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================




More information about the Squeak-dev mailing list