mirror of https://github.com/aamine/cbc
* net/loveruby/cflat/compiler/TypeChecker.java: int-ptr is invalid. * net/loveruby/cflat/compiler/CodeGenerator.java: implement pointer arithmetic correctly (e.g. *(ptr+1) for various types work now). * net/loveruby/cflat/ast/PrefixOpNode.java: inherit UnaryArithmeticOpNode. * net/loveruby/cflat/ast/SuffixOpNode.java: ditto. * net/loveruby/cflat/ast/UnaryArithmeticOpNode.java: new file. * net/loveruby/cflat/ast/CastNode.java: is not assignable. * net/loveruby/cflat/type/TypeTable.java: new method #pointerSize, #ptrDiffTypeRef. * net/loveruby/cflat/type/ArrayType.java: fetch pointer size from a TypeTable. * net/loveruby/cflat/type/ArrayType.java: we can cast any pointers to void*. * net/loveruby/cflat/type/PointerType.java: ditto. * net/loveruby/cflat/type/IntegerTypeRef.java (equals): check name equality by #equals, not ==. * test: test pointer arithmetic. * test: CastNode does not becomes LHS, do not check it. * import/string.hb: add mem* functions. git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@3979 1b9489fe-b721-0410-924e-b54b9192deb8 |
||
|---|---|---|
| .. | ||
| sys | ||
| errno.hb | ||
| stddef.hb | ||
| stdio.hb | ||
| stdlib.hb | ||
| string.hb | ||
| strings.hb | ||
| unistd.hb | ||