mes/scaffold/tests
Jan Nieuwenhuizen 12b41e0e86 mescc: Tinycc support: byte and word struct fields.
* stage0/x86.M1 (mov____%al,0x8(%edx)):
  (mov____%ax,(%edx)):
  (mov____%ax,0x32(%edx)):
  (mov____%ax,0x8(%edx)):
  (movzbl_0x32(%eax),%eax):
  (movzbl_0x8(%eax),%eax):
  (movzwl_0x32(%eax),%eax):
  (movzwl_0x8(%eax),%eax): New define.
* module/mes/as-i386.mes (i386:word-accu->base-mem):
  (i386:byte-accu->base-mem+n):
  (i386:word-accu->base-mem+n):
  (i386:byte-mem+n->accu):
  (i386:word-mem+n->accu): New function.
* module/mes/as-i386.scm: Export them.
* module/language/c99/compiler.mes (struct-field): Use actual size for
  simple types (WAS: 4).
  (decl->info):
  (expr->accu): Respect byte and word struct field sizes.
* scaffold/tests/7g-struct-byte-word-field.c: Test it.
* make.scm (add-scaffold-test): Build it.
2017-08-06 12:27:16 +02:00
..
00-exit-0.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
01-return-0.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
02-return-1.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
03-call.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
04-call-0.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
05-call-1.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
06-call-!1.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
7a-struct-char-array.c mescc: drop naive realloc. 2017-08-01 11:08:14 +02:00
7b-struct-int-array.c mescc: Tinycc support: ((foo*) p) + n. 2017-07-31 12:19:23 +02:00
7c-dynarray.c mescc: Tinycc support: fixes for foo.bar[baz]. 2017-08-05 21:09:19 +02:00
7d-cast-char.c mescc: Tinycc support: ((unsigned char*)str)[i]. 2017-08-04 11:40:04 +02:00
7e-struct-array-access.c mescc: Tinycc support: foo[index]->bar for array bar. 2017-08-04 21:45:29 +02:00
7f-struct-pointer-arithmetic.c mescc: Tinycc support: fixes for foo.bar[baz]. 2017-08-05 21:09:19 +02:00
7g-struct-byte-word-field.c mescc: Tinycc support: byte and word struct fields. 2017-08-06 12:27:16 +02:00
10-if-0.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
11-if-1.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
12-if-==.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
13-if-!=.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
14-if-goto.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
15-if-!f.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
16-if-t.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
20-while.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
21-char[].c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
22-while-char[].c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
23-pointer.c mescc: Tinycc support: bugfix struct pointer. 2017-07-26 11:36:45 +02:00
30-strlen.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
31-eputs.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
32-compare.c mescc: Tinycc support: fix accu value after comparison. 2017-07-29 20:46:16 +02:00
33-and-or.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
34-pre-post.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
35-compare-char.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
36-compare-arithmetic.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
37-compare-assign.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
38-compare-call.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
40-if-else.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
41-?.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
42-goto-label.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
43-for-do-while.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
44-switch.c mescc: Tinycc support: multiple statements in default case. 2017-07-26 11:36:44 +02:00
45-void-call.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
50-assert.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
51-strcmp.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
52-itoa.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
53-strcpy.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
54-argv.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
60-math.c mescc: Tinycc support: ~, ^=. 2017-07-26 11:36:08 +02:00
61-array.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
63-struct-cell.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
64-make-cell.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
65-read.c mescc: Refactor decl. 2017-07-26 11:36:08 +02:00
70-printf.c test: Split-up Mescc scaffold test. 2017-07-09 09:24:07 +02:00
71-struct-array.c mescc: Tinycc support: pointer arithmetic. 2017-07-28 10:40:30 +02:00
72-typedef-struct-def.c mescc: Tinycc support: fix foo[bar]->baz. 2017-07-29 08:37:34 +02:00
73-union.c mescc: Tinycc support: union. 2017-07-26 11:36:08 +02:00
74-multi-line-string.c mescc: Tinycc support: *global =. 2017-07-26 11:36:08 +02:00
75-struct-union.c mescc: Tinycc support: struct.union. 2017-07-26 11:36:08 +02:00
76-pointer-arithmetic.c mescc: Tinycc support: pointer arithmetic. 2017-07-28 10:40:30 +02:00
77-pointer-assign.c mescc: Tinycc support: foo.bar = foo.baz = bla. 2017-07-28 22:45:32 +02:00
78-union-struct.c mescc: Tinycc support: union.struct. 2017-07-29 22:50:00 +02:00
79-int-array.c mescc: Tinycc support: fixes for foo.bar[baz]. 2017-08-05 21:09:19 +02:00
t.c mescc: Refactor decl. 2017-07-26 11:36:08 +02:00