Release 1.9, patchlevel 6

Official release date: April 17th, 2006.

Features

This release of CodeSurfer introduces several new features:

  • C API
    • The Core API for CodeSurfer is now available in C.
    • A tutorial for the C API is included in the release.
    • The full Scheme API remains available.
  • Upgrade to EDG 3.7
    • This improvement to the C/C++ front end provides better compatibility with GNU and MSVC compilers.
  • Memory-only building
    • Accommodates larger projects than can be handled by the conventional CodeSurfer build process, but the built projects are not saved on disk.
  • Improved hardware support
    • Mouse wheels are now supported.
  • Improved compiler support
    • MSVC 2005 is now supported.

Representation Changes

  • Unnormalized ASTS
    • Added:
      • cc:type-expr
      • cc:builtin-operation, with subclasses cc:gnu-builtin-operation and cc:microsoft-builtin-operation
      • Classes for GNU complex numbers: cc:xconj, cc:real-part, cc:imag-part, cc:lvalue-real-part, cc:lvalue-imag-part.
    • Changed:
      • cc:vla-dealloc is now a subclass of cc:expr
      • cc:type no longer has :based-types attribute.
  • Normalized ASTS
    • Added:
      • Complex number classes c:complex-conj, c:complex-real-part, c:complex-imag-part.
      • asm classes c:asm-entry, c:asm-generic-entry, c:asm-gnu-entry, c:asm-gnu-operands, c:asm-gnu-operand.
  • New expression types
  • Positions have changed for:
    • for
    • do...while
    • if...else
  • A label node is now generated for each else.

API Changes

  • Core API functionality now available in C, as well as Scheme.
  • New procedures provide access to the compiler warning and error counts by source file and by project.
    • C:
      • cs_file_error_count(uid)
      • cs_file_warning_count(uid)
      • sdg_error_count()
      • sdg_warning_count()
    • Scheme:
      • (file-error-count uid)
      • (file-warning-count uid)
      • (sdg-error-count)
      • (sdg-warning-count)

GUI

  • Changed:
    • Styles (fonts) can now inherit some or all of their properties from designated base styles (fonts).
    • Some GUI windows can now "remember" their previous geometry when reopened.

Fixes

The following have been fixed since 1.9p5:

  • C++ variable names
    • Performance problems caused by extremely long compiler-generated names for C++ variables have been fixed.
  • Front end
    • Performance improvements have reduced analysis times in some cases by many orders of magnitude.
    • Several causes of front end crashes have been eliminated.
  • Library models
    • Some library models have been modified to improve precision.

Free Trial | Products | Customers | Support | News | Jobs | About Us         © 2007, GrammaTech, Inc. All rights reserved.