File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -18,9 +18,10 @@ int main(int argc, char **argv) {
1818 { // for the definition of global functions
1919 printf (".globl " );
2020 for (int i = 0 ; code [i ]; i ++ ) {
21- printf ("%.*s " , code [i ]-> len , code [i ]-> name );
21+ if (i > 0 ) printf (", " );
22+ printf ("%.*s" , code [i ]-> len , code [i ]-> name );
2223 }
23- printf ("\n" );
24+ printf ("\n\n " );
2425 }
2526
2627
@@ -40,7 +41,7 @@ int main(int argc, char **argv) {
4041 // rax is still valid without dealing with it.
4142 printf (" mov rsp, rbp\n" );
4243 printf (" pop rbp\n" );
43- printf (" ret\n" );
44+ printf (" ret\n\n " );
4445 }
4546
4647 return 0 ;
Original file line number Diff line number Diff line change @@ -6,8 +6,7 @@ assert() {
66 ./9cc " $input " > tmp.s
77 cc -o tmp tmp.s
88 ./tmp
9- actual=" $? "
10-
9+ actual=" $? "
1110 if [ " $actual " = " $expected " ]; then
1211 echo " $input => $actual "
1312 else
@@ -93,4 +92,10 @@ assert 10 'main() { a = 0; for(i = 0; i < 10; i = i+1) { a = a + 1; } return a;}
9392assert 10 ' main() { a = 0; b = 0; for(i = 0; i < 10; i = i+1) { a = a + 1; b = b + 2;} return a;}'
9493assert 20 ' main() { a = 0; b = 0; for(i = 0; i < 10; i = i+1) { a = a + 1; b = b + 2;} return b;}'
9594
95+ assert 2 ' ident(a) { return a; }
96+ main() { return ident(2); }'
97+ assert 3 ' add(a, b) { return a+b; }
98+ main() { return add(1, 2); }'
99+
100+
96101echo OK
You can’t perform that action at this time.
0 commit comments