summaryrefslogtreecommitdiff
path: root/ecomp-c/ec.c
diff options
context:
space:
mode:
authorAndreas Baumann <mail@andreasbaumann.cc>2020-09-03 17:16:45 +0200
committerAndreas Baumann <mail@andreasbaumann.cc>2020-09-03 17:16:45 +0200
commitc72f836f6d7319222c45e2c60e08de6d089ea131 (patch)
treeffc45f083a5b77342952d3b36bc24f417d0c2f98 /ecomp-c/ec.c
parentcb3c6769befb6806f567fb7e1cfd0f349e8fb3ff (diff)
downloadcompilertests-c72f836f6d7319222c45e2c60e08de6d089ea131.tar.gz
compilertests-c72f836f6d7319222c45e2c60e08de6d089ea131.tar.bz2
sorted out parameter push order on stack
Diffstat (limited to 'ecomp-c/ec.c')
-rw-r--r--ecomp-c/ec.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/ecomp-c/ec.c b/ecomp-c/ec.c
index 2e5b288..3b044df 100644
--- a/ecomp-c/ec.c
+++ b/ecomp-c/ec.c
@@ -1666,10 +1666,10 @@ static void parseProcedureCall( Scope *scope )
Emit( "; CALL %s", symbol->label );
if( nof_actual_params > 0 ) {
Emit( "( " );
- node = list.head;
+ node = list.tail;
while( node != NULL ) {
generate_expression_comment( node );
- node = node->next;
+ node = node->prev;
}
Emit( ")" );
}
@@ -1677,10 +1677,10 @@ static void parseProcedureCall( Scope *scope )
/* emit assembly to push parameters onto stack and call procedure */
if( nof_actual_params > 0 ) {
- node = list.head;
+ node = list.tail;
while( node != NULL ) {
emit_expression_code( node, scope );
- node = node->next;
+ node = node->prev;
}
free_expression_node( list.head );