Bug #169

ccall bug with stack management after a call

Added by J. Templ over 2 years ago. Updated over 2 years ago.

Status:ClosedStart date:08/11/2017
Priority:NormalDue date:
Assignee:J. Templ% Done:

0%

Category:-
Target version:1.7.1
Forum topic:https://forum.blackboxframework.org/viewtopic.php?f=40&t=654

Description

If a procedure marked as [ccall] is called then the stack is not reset correctly after the call if:
1. a VAR-parameter (incl. IN and OUT) is used and
2. the type of the VAR-parameter is an open array or a record and
3. the VAR-parameter type is not marked as 'untagged'.

Reported by luowy, 2017-08-04.

Associated revisions

Revision dd5023a9
Added by J. Templ over 2 years ago

ccall bug with stack management after a call. Refs: #169.
The additional meta data (length vector for open arrays and type tag for records)
is now counted when cleaning up stack space after a procedure call that uses the 'ccall' calling conventions.

Signed-off-by: Josef Templ <>

Revision 9bf51b4d
Added by J. Templ over 2 years ago

detection of 'untagged' fixed. Refs: #169.
as suggested by luowy.
And a line of debug code removed.

Signed-off-by: Josef Templ <>

History

#1 Updated by R. Campbell over 2 years ago

  • Forum topic set to https://forum.blackboxframework.org/viewtopic.php?f=40&t=654

#2 Updated by R. Campbell over 2 years ago

  • Status changed from New to Closed

Also available in: Atom PDF