mes/scaffold/tests
Jan Nieuwenhuizen be60b3e49b
mescc: Support function-static variables.
* module/language/c99/info.scm (make): Add statics field.
  (<global>): Add name and function fields.  Update callers.
  (global->string): New function.
* module/mes/M1.mes (object->M1): Update.
* module/language/c99/compiler.mes (clone): Add statics field.
  (ident->accu): For <global>, use global in text (WAS: name).
  (ident-address->accu): Likewise.
  (ident-address->base): Likewise.
  (decl-local->info): New function.
  (decl->info): New function.
  (ast->info): Use them.
  (function->info): Keep globals in object (WAS: global:value only).
* scaffold/tests/46-function-static.c: Test it.
2018-05-04 20:45:27 +02:00
..
00-exit-0.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
01-return-0.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
02-return-1.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
02-return-1.exit test: enable all tests, use expect count, add tinycc tests. 2018-05-01 16:50:29 +02:00
03-call.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
04-call-0.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
05-call-1.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
05-call-1.exit test: enable all tests, use expect count, add tinycc tests. 2018-05-01 16:50:29 +02:00
06-call-!1.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
07-include.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7a-struct-char-array.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7b-struct-int-array.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7c-dynarray.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7d-cast-char.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7e-struct-array-access.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7f-struct-pointer-arithmetic.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7g-struct-byte-word-field.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7h-struct-assign.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7i-struct-struct.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7j-strtoull.c mescc: scaffold: misc cleanups. 2017-12-03 23:03:09 +01:00
7k-for-each-elem.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7l-struct-any-size-array.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7m-struct-char-array-assign.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
7n-struct-struct-array.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
10-if-0.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
11-if-1.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
12-if-==.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
13-if-!=.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
14-if-goto.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
15-if-!f.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
16-if-t.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
20-while.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
21-char[].c doc: Release udpate. 2017-11-21 19:22:26 +01:00
22-while-char[].c doc: Release udpate. 2017-11-21 19:22:26 +01:00
23-pointer.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
30-strlen.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
31-eputs.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
32-compare.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
33-and-or.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
34-pre-post.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
35-compare-char.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
36-compare-arithmetic.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
37-compare-assign.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
38-compare-call.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
40-if-else.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
41-?.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
42-goto-label.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
43-for-do-while.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
44-switch.c mescc: scaffold: misc cleanups. 2017-12-03 23:03:09 +01:00
45-void-call.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
46-function-static.c mescc: Support function-static variables. 2018-05-04 20:45:27 +02:00
50-assert.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
51-strcmp.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
52-itoa.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
53-strcpy.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
54-argv.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
60-math.c core: Fixes for int-max, int-min. 2018-05-02 23:11:27 +02:00
61-array.c core: Add setenv. 2018-04-07 09:21:51 +02:00
63-struct-cell.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
64-make-cell.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
65-read.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
66-local-char-array.c mescc: Mescc-tools support: char foo[BAR] = {'a', 'b', 'c'}. 2017-11-27 19:51:18 +01:00
70-printf.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
71-struct-array.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
72-typedef-struct-def.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
73-union.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
74-multi-line-string.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
75-struct-union.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
76-pointer-arithmetic.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
77-pointer-assign.c mescc: scaffold: misc cleanups. 2017-12-03 23:03:09 +01:00
78-union-struct.c doc: Release udpate. 2017-11-21 19:22:26 +01:00
79-int-array.c mescc: scaffold: misc cleanups. 2017-12-03 23:03:09 +01:00
80-setjmp.c mlibc: GNU Gcc support: setjmp, longjmp. 2017-11-26 13:10:46 +01:00
81-qsort.c mlibc: Tinycc support: qsort. 2017-12-04 19:01:39 +01:00
82-define.c mescc: M4 support: scaffold/tests/82-define.c. 2017-12-04 23:19:32 +01:00
exit-42.i doc: Release udpate. 2017-11-21 19:22:26 +01:00
t.c doc: Release udpate. 2017-11-21 19:22:26 +01:00