Existing AspeCt-oriented C features and the road-map ahead are summarized below.
We welcome new feature suggestions for AspeCt-oriented C. Just
us if you have
a suggestion. Thank you.
|
Release
|
Feature List
|
|---|
No Name Release.
Download Version 0.8
Jan, 2008.
|
- result() pointcut can be used to modify the return value of a join point.
- Support for accessing arguments' type/value and return type through the "this" structure inside advice.
- Match call/execution join points of a function returning a function pointer.
|
1st Birthday Release.
Download Version 0.7
July, 2007.
|
- set()/get() join point and pointcut support for global variables
- new compiler option , "-a", to support matching join points inside aspects
- new compiler option , "-m", to output join point-advice matching information
- new compiler option , "-n", to suppress the output of "#line" directives
|
No Name Release.
Download Version 0.6
May, 2007.
|
- preturn() support: allows an immediate return from the parent function of a matched function
- exception handling mechanism: try() pointcut, catch() advice, and throw() statement
- add "fileName" and "targetName" to thisJoinPoint structure
- add following support:
- symbolic symbols used in asm statement
- keyword:
__signed__ , __attribute, __typeof__
- use ellipsis when designated initializer is used to initialize a range of elements
- conditional expression with omitted operands
- empty initializer braces
|
AOSD 2007 Release.
Download Version 0.5
March, 2007.
|
- added a set of experimental Weave Adapters, as separate tool chain
-
__volatile__ keyword
- C99 complex type, hexadecimal floating point constant
- recognize mixing of declarations and statements (K&R feature)
- use
args() pointcut inside cflow() to expose contexts
- change default suffix for aspect file to be .acc
- added
-af and -mf commandline options to allow the user to specify
- file suffix for aspect file and non-aspect file
- identify the token when emitting syntax error message
- support debugging on the original files instead of the generated / transformed files
- map gcc error reporting to original source file
|
No Name Release.
Download Version 0.4
January, 2007.
|
- semantic check
- match a function declared with K&R syntax.
- add
callp() pointcut: capture a function call join point through a function pointer.
- add following support:
- unnamed struct/union type as a member inside another struct/union type.
- __builtin_offsetof
- compound literal
- designated initializer
- typeof,
__typeof operator
- __builtin_va_arg function
- wide character/string literal
- asm label
- empty structure
- _Bool type
|
CASCON 2006 Release.
Download Version 0.3
October 17th, 2006.
|
- runTest shows the testing progress.
- added
-t (--thread-safe) option to generate thread-safe code for cflow() support.
- added static crosscutting support: use
intype() pointcut and introduce() advice to add new member for struct/union type.
- incorporate type qualifier information in the join point matching.
|
ECE344 Release.
Download Version 0.2
September 8th, 2006.
|
- cflow() pointcut support.
- reflective information at join points.
- multiple around advice with
proceed().
- support for gcc extended asm statement.
- recognize gcc keywords:
__alignof__ , __asm, asm.
- support a ";" after function definition.
|
Friends-and-Family Release.
Download Version 0.1
July 30th, 2006.
|
- call and
execution join points
- before,
after and around advice
- call(),
execution(), args(), infile(), infunc(), result() pointcuts
- args() to expose the address of an argument
- &&,
||, ! operators for composite pointcut definition
- named pointcut definition
- proceed() call
- wildcard character matching in pointcut declarations by using
$ and ...
- support call join points for functions only having declarations, without definition available
- recognize the following extended gcc keywords:
-
-
__extension__, __const, __attribute__, __builtin_va_list, __restrict, __inline, __inline__.
|