Add __assert2 function to include the function name when reporting assertion failures.
This is required by C99 and later. The old __assert function is retained for compatibility with existing object code.
This commit is contained in:
parent
690ee7137f
commit
869f8726a6
35
assert.asm
35
assert.asm
|
@ -22,11 +22,12 @@ Assert start dummy routine
|
||||||
|
|
||||||
****************************************************************
|
****************************************************************
|
||||||
*
|
*
|
||||||
* void __assert (char *f, int l)
|
* void __assert (char *f, unsigned l, char *s)
|
||||||
*
|
*
|
||||||
* Inputs:
|
* Inputs:
|
||||||
* f - pointer to the file name
|
* f - pointer to the file name
|
||||||
* l - line number
|
* l - line number
|
||||||
|
* s - assertion string
|
||||||
*
|
*
|
||||||
****************************************************************
|
****************************************************************
|
||||||
*
|
*
|
||||||
|
@ -44,5 +45,35 @@ __assert start
|
||||||
|
|
||||||
creturn
|
creturn
|
||||||
|
|
||||||
msg dc c'Assertion failed: file %s, line %d; assertion: %s',i1'10,0'
|
msg dc c'Assertion failed: file %s, line %u; assertion: %s',i1'10,0'
|
||||||
|
end
|
||||||
|
|
||||||
|
****************************************************************
|
||||||
|
*
|
||||||
|
* void __assert2 (char *f, unsigned l, char *fn, char *s)
|
||||||
|
*
|
||||||
|
* Inputs:
|
||||||
|
* f - pointer to the file name
|
||||||
|
* l - line number
|
||||||
|
* fn - function name
|
||||||
|
* s - assertion string
|
||||||
|
*
|
||||||
|
****************************************************************
|
||||||
|
*
|
||||||
|
__assert2 start
|
||||||
|
|
||||||
|
csubroutine (4:f,2:l,4:fn,4:s),0
|
||||||
|
|
||||||
|
ph4 <s
|
||||||
|
ph4 <fn
|
||||||
|
ph2 <l
|
||||||
|
ph4 <f
|
||||||
|
ph4 #msg
|
||||||
|
ph4 >stderr
|
||||||
|
jsl fprintf
|
||||||
|
jsl abort
|
||||||
|
|
||||||
|
creturn
|
||||||
|
|
||||||
|
msg dc c'Assertion failed: file %s, line %u, function %s; assertion: %s',i1'10,0'
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue