mescc: Mescc-tools support: char foo[BAR] = {'a', 'b', 'c'}.
authorJan Nieuwenhuizen <janneke@gnu.org>
Mon, 27 Nov 2017 18:51:18 +0000 (19:51 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Mon, 27 Nov 2017 18:51:18 +0000 (19:51 +0100)
commit74c419746778996426766c40aeff479c8309566b
treeb57b6f8efe224eb894b0a2afc00732bf2e89744d
parent49d01a46fa02e7a6ae06dd652f8299529ae2c8c8
mescc: Mescc-tools support: char foo[BAR] = {'a', 'b', 'c'}.

* stage0/x86.M1 (mov____%al,0x8(%ebp), mov____%al,0x32(%ebp),
  mov____%ax,0x8(%ebp), mov____%ax,0x32(%ebp)): New define.
* module/mes/as-i386.mes (i386:accu->local+n,i386:byte-accu->local+n,
  i386:word-accu->local+n): New function.
* module/language/c99/compiler.mes (accu->local+n): New function.
  (initzer->data): Return char as single byte.
  (decl->info): Support char foo[BAR] = {'a', 'b', 'c'}.
* scaffold/tests/66-local-char-array.c: Test it.
* make.scm (add-scaffold-test): Build it.
make.scm
module/language/c99/compiler.mes
module/mes/as-i386.mes
module/mes/as-i386.scm
scaffold/tests/66-local-char-array.c [new file with mode: 0644]
stage0/x86.M1