[cc65] New major version

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2005-08-22 19:34:50
After comparing the big topics on my todo list to the current state of the
modules in question, I have decided that the list will have to wait, since I
cannot give a realistic time schedule for these features. This means that I
there will be a new major version in the next few weeks, provided that there
is nothing really important missing.

So:

  - if you have any things you want to contribute, please hurry.

  - if you have made any contributions and not already done so, please check
    if they're included in the current snapshot and in the state you expect
    them to be.

  - if you have sent me bug reports, that are important for you, please
    recheck that I have fixed the problems.

  - if you need a specific feature, make sure it's in the snapshot, since
    otherwise it won't be in the next version.

  - if you're a candidate for the CREDITS file and not already included there,
    please tell me.

There is still JRD code left in expr.c that won't get removed, so the next
version will be named 2.11 despite the large changes compared to 2.10.

I will attach the list of changes compared to 2.10 at the bottom of the mail.
If you notice any missing items, please tell me.

Regards


        Uz

                                                                            
----------------------------------------------------------------------------

  * Assembler:

    - New feature missing_char_term.

    - New feature ubiquitous_idents.

    - Optional curly braces allowed as delimiters for token lists.
      Incompatible change: Brace matching in some cases is gone.

    - New 6502X cpu that includes 6502 illegal opcodes.

    - Better error messages in case of a range error.

    - Assembler defines target system symbols (__C64__ etc.) similar to the
      C compiler.

    - Handle foreign newline sequences (cr/lf under Unix) more gracefully.

    - Fixed problems with unnamed labels.

    - The assembler does now support the SWEET16 16 bit pseudo CPU.

    - Support for zilog/intel style hex numbers (trailing 'h').

    - New .ident and .sprintf pseudo functions.

    - Variable symbols using .set.




  * Compiler:

    - Rewrite of input and preprocessor routines. Among other things, this
      adds variadic macros and removes the input line limit.

    - Stackable pragmas using #pragma(push, val) and #pragma(pop)

    - New pragmas codesize, optimize, regvars, and warn (all stackable)

    - New option --writable-strings

    - Rewrote part of the parser allowing better code generation in a few
      places.

    - The "inline standard functions" option (-Os) has slightly changed its
      meaning: In older versions it controlled inlining. Now, the compiler
      will always inline if it considers it safe to do so, and the flag does
      only control inlining in situations where inlining is not always
      completely safe.

    - More and better inlining of known standard functions. The following
      functions may get inlined: strcpy, strlen, memcpy, memset.

    - Inline assembly can now reference C labels with the %g format specifier.

    - The -A and --ansi switches are gone, together with the __STRICT_ANSI__
      predefined macro. Instead there is now a command line option --standard
      that allows to set c89, c99 or cc65 as language standard. The compiler
      defines a macro __CC65_STD__ that is one of __CC65_STD_C89__,
      __CC65_STD_C99__ or __CC65_STD_CC65__ depending on the command line
      option. Default is cc65 (all extensions) as before.

    - Improved code for shifts.



  * Linker

    - Start Oric programs at $500 (Stefan Haubenthal)

    - Added library groups (this feature is not available from cl65).

    - Simple expressions now supported in the config files.



  * cl65 utility:

    - Extended to support additional command line switches of the
      underlying tools as needed.

    - New -Wa and -Wl switches to pass options to the assembler and linker.



  * Disassembler

    - New "asminc" directive that allows to read in a file containing assembler
      symbol assignments in the form "name = value".

    - New "comment" attribute for several directives.



  * ca65html



  * Library

    - Mouse support as loadable drivers

    - Changed command line argument syntax for C64.

    - Command line parameters are now working for: C64, C128, Plus/4, C16,
      VIC20

    - ungetc is available. Read functions on streams support pushed back
      characters.

    - New apple2enh target by Oliver Schmidt.

    - Lots of Apple2 improvements by Oliver Schmidt.

    - Oric TGI driver by Stefan Haubenthal.

    - New _heapblocksize function that returns the size of an allocated block.

    - New lynx target by Karri Kaksonen and Shawn Jefferson based on
      Bastian Schicks cc65 port.

    - Joystick and TGI drivers do now have an interrupt entry. The API version
      has been changed which means that old drivers will need an update.

    - Full set of scanf functions available (base work by me, lots of
      improvements by Greg King).

    - scanf functions for conio (Greg King).

    - New function posix_memalign.



  * Documentation

    - Lots of additions to the function reference.

    - Several target specific docs (one prominent contributor was Stefan
      Haubenthal).


  * Other

    - Poor mans windows installer.

    - The output of --help goes to stdout instead of stderr.

----------------------------------------------------------------------------
-- 
Ullrich von Bassewitz                                  uz@musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon Aug 22 19:35:04 2005

This archive was generated by hypermail 2.1.8 : 2005-08-22 19:35:07 CEST