[aspectc-user] Announcement of AspectC++ 2.0
Olaf Spinczyk
os at aspectc.org
Sun Feb 21 21:20:33 CET 2016
Dear AspectC++ users!
The new release, AspectC++ 2.0, is now available for download at
www.aspectc.org ...
Version 2.0 (2016-02-21)
The last release of ac++ was a long time ago. Therefore, we can't list
all changes here. This is just an overview about the most important
improvements. For details refer to the subversion log.
* The Clang parser from the LLVM framework is now the default
front-end. As an alternative, AspectC++ 2.0 still supports the Puma
front-end, which was used by the 1.x releases. The build process is
now configurable and the environment variable FRONTEND=Clang or
FRONTEND=Puma selects the respective front-end.
The Clang versions 3.4 and 3.6.2 are currently supported. There is
experimental support for version 3.7.1.
* The Clang-based configuration (default) supports the C++11
standard. There is no specific advice for C++11 language
features, yet.
* The build process has been simplified, since there is no need for
ac++ or woven sources anymore (Clang configuration). See README-LLVM
for building the Clang configuration.
* We offer MacOS X binaries, again, now supporting 64-bit architecure.
* The Windows binaries have also been moved to 64-bit versions only.
* The new command line option --builtin_operators enables the new
pointcut function builtin(), which allows advice for calls to builtin
operators. For example, builtin("int operator +(int,int)") matches
the addition of integer variables.
* The new command line option --data_joinpoints enables advice for
data access. New pointcut function get(), set(), and ref() are
introduced that enable advice for variable access. Please refer
to the AspectC++ language reference manual for more information.
* The class matching has been changed. For example, the pointcut
expression "Parser" matches a class that is defined in the global
scope, but nested classes within "Parser" are not matched. To match
nested classes, the new pointcut function member() has been
introduced. For example, member("Parser") matches all nested classes
within parser (and member functions and data members). See language
reference manual, section 3.2, for details.
* Fixed many parser and weaver bugs.
I hope you find it useful.
Best regards,
Olaf Spinczyk
More information about the aspectc-user
mailing list