mirror of
https://github.com/byteworksinc/ORCALib.git
synced 2024-06-15 10:29:36 +00:00
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:
|
||||
* f - pointer to the file name
|
||||
* l - line number
|
||||
* s - assertion string
|
||||
*
|
||||
****************************************************************
|
||||
*
|
||||
|
@ -44,5 +45,35 @@ __assert start
|
|||
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue
Block a user