[Coco] Update for the CMOC compiler

Pierre Sarrazin sarrazip at sarrazip.com
Sat Jun 6 11:37:51 EDT 2015


Greetings,

I have published version 0.1.1 of CMOC, my 6809-generating
cross-compiler for a subset of the C language:

http://sarrazip.com/dev/cmoc.html

Starting with version 0.1.1, CMOC can now use LWTOOLS's LWASM
assembler (version 4.11 or later).  There are three ways to make
cmoc use lwasm:

- Pass the --lwasm option to cmoc.
- Define the CMOC_LWASM environment variable.
- Make sure as6809 (FrankASM) is not in the execution path when
  you compile CMOC. CMOC will then use lwasm by defaut.

My thanks to William Astle for assistance with this.

Other release notes:

Fixed compilation errors involving GCC 4.9.2.

Fixed a bug where bad code was generated when the right-hand
side of a +=, -= or *= operator was of pointer type.

Fixed a bug where character literals were considered unsigned
even though CMOC's char type is signed.

Fixed the lack of error message when passing a non-zero integer
as an argument to a function that expects a pointer.

Fixed the lack of error message when passing a pointer of the
wrong type to a function that expects a non-void pointer.

The source code for Color Eights has been updated accordingly:

http://sarrazip.com/dev/color8.html

The CMOC manual now documents:
- inline assembly;
- how to redirect the output of printf();
- the default origin address, which is 0x2800;
- the "interrupt" keyword, to end a function with RTI.

See http://sarrazip.com/dev/cmoc-manual.html

-- 
Pierre Sarrazin <sarrazip @ sarrazip . com>


More information about the Coco mailing list