[aspectc-user] Announcement of AspectC++ 1.0pre3

Olaf Spinczyk Olaf.Spinczyk at informatik.uni-erlangen.de
Thu Mar 16 16:06:51 CET 2006


the new AspectC++ release 1.0pre3 is now available from www.aspectc.org.
We uploaded binaries for Linux, Solaris, MacOS X and Win32 (all
statically linked). The sources and woven sources (for compilation
without ac++) are also available.

The new version comes with the following new features:

Version 1.0pre3 (2006-03-16)

        * support for 'slices' - a new language feature for
          introductions. It has many benefits ...
          - extensible: in the future not only class slices
            shall be supported
          - solves the 'include cycle problem': slices can
            be implemented in separate header files
          - an important step towards plain C support
          - more comprehensive member access control
          - avoids code redundancy: pointcut expressions don't
            have to be repeated for every introduced element

        * the old-style introduction syntax now yields warnings
          (can be suppressed with --no_warn_deprecated)

        * filenames in generated #line directives now always use
          '/' as a separator to avoid problems with g++ under

        * implemented infrastructure to enable and disable warnings
          - supported: --[no_]warn_macro and --[no_]warn_deprecated

        * improved #line number generation for introductions

        * added variable ACOPTFLAGS to the test program Makefile

        * implemented new policy to deal with AspectC++ keywords
          - by default they are now handled as keywords only in
            aspect header files. In normal project files they are
            interpreted as identifiers.
          - implemented -k/--keywords to control the policy

        * fixed code generation bug for nested around advice with
          a cflow condition, which caused back-end compiler error

        * fixed crash that was caused by empty input files

        * parser now resolves calls to conversion functions that
          return pointers

        * a warning is issued when ac++ tries to insert friend
          declarations into macro-generated classes

        * some code improvements in order to work on 64 bit

        * fixed Puma examples and their Makefiles

        * fixed various Puma bugs
          #290, #291, #280, #282, and many others, especially in
          the function lookup code

        * solved ag++ problem with whitespace in arguments of -D

        * updated the manuals to cover slices and the new command
          line options.

Besides lots of bug fixes, this release comes with a new language
feature called 'slices'. A 'class slice' is a fragment of a class that
can be used by aspects for introductions. As class slices have a name,
their implementation can be completely separated from the aspect that
contains the introduction advice. This feature can always be used to
avoid the generation of cyclic includes.

The support for weaving in plain C code, which was planned for the
1.0pre3 release, is on the way, but the implementation is not yet in
useful state. We sorry for this delay.

Please continue to help us improve the ac++ implementation by entering
bug reports at http://www.aspectc.org/bugzilla or simply asking
questions on this mailing list.

Have fun,

Olaf Spinczyk

More information about the aspectc-user mailing list