[aspectc-user] error: Bad argument(s) for the `cpp_move' manipulator
Dmitry Ratnikov
ratndmi at iit.edu
Sat Sep 10 01:54:02 CEST 2005
Hi,
I am trying to use aspectc in conjunction with mysql. While doing
that, I have run into the error mentioned in the subject.
Here is the code for a simpler example that reproduces the error:
main.c:
#include <stdio.h>
void print(const char* str) {
printf("%s\n", str);
}
#define MACRO(a) print(a);
int main() {
MACRO("Hello world!");
return 0;
}
debug.ah:
#include <stdio.h>
aspect DebugAspect {
advice
call("% %(...)")
: around() {
printf("am before %s\n", JoinPoint::signature());
tjp->proceed();
printf("am after %s\n", JoinPoint::signature());
}
};
Output (it's pretty long):
<...>/aspectc/mysql-5.0.12-beta/dev > ls
<...>/aspectc/mysql-5.0.12-beta/dev/test
debug.ah main.c
<...>/aspectc/mysql-5.0.12-beta/dev > make
cd <...>/aspectc/mysql-5.0.12-beta/dev/test; <...>/aspectc/ac-0.9.3/ac++
-v1 --gnu --config <...>/aspectc/ac-0.9.3/puma.config -e c -I.
-I/usr/kerberos/include -I<...>/aspectc/mysql-5.0.12-beta/include -p .
-d <...>/aspectc/mysql-5.0.12-beta/test
* Running ac++ 0.9.3
* Simple Dependency Check
- new or modified: ./debug.ah
* Handling Translation Unit `main.c'.
- Path "./main.c"
- Inserting namespace AC
- Parsing ...
- Setting Aspect Access Priviledges ...
- Weaving Introductions ...
- intros for DebugAspect
- Aspect ordering ...
- Final checks before weaving introductions
- Class Join Points
- Weaving Advice Declarations ...
DebugAspect::%a0_around
- Weaving Singleton Aspects ...
- Aspect Includes ...
- Commiting
- Parsing again ...
- Weaving Join Points ...
Advicecode manipulation
Collecting Advice
Setting up thisJoinPoint for aspectof
Supplying aspectof() with JoinPoint and tjp if needed
DebugAspect: __a0_around
Evaluate Pointcut
Aspect ordering ...
Final checks before weaving code join points
Type Check Functions
Call Join Points
int printf(const char *,...)
int printf(const char *,...)
int printf(const char *,...)
void print(const char *)
Execution Join Points
Construction Join Points
Destruction Join Points
- Aspect Includes ...
- Final cleanup
- Commiting
error: Bad argument(s) for the `cpp_move' manipulator (Args: <anonymous
unit>:1, <anonymous unit>:1).
<<<<<<<<--------------------- (The error)
* Handling include files
- Handling Translation Unit `ac_gen.c'.
Path "./ac_gen.c"
Inserting namespace AC
Parsing ...
Setting Aspect Access Priviledges ...
Weaving Introductions ...
intros for DebugAspect
Aspect ordering ...
Final checks before weaving introductions
Class Join Points
Weaving Advice Declarations ...
DebugAspect::%a0_around
Weaving Singleton Aspects ...
Aspect Includes ...
Commiting
Parsing again ...
Weaving Join Points ...
Advicecode manipulation
Collecting Advice
Setting up thisJoinPoint for aspectof
Supplying aspectof() with JoinPoint and tjp if needed
DebugAspect: __a0_around
Evaluate Pointcut
Aspect ordering ...
Final checks before weaving code join points
Type Check Functions
Call Join Points
int printf(const char *,...)
int printf(const char *,...)
Execution Join Points
Construction Join Points
Destruction Join Points
Aspect Includes ...
Final cleanup
Commiting
* Saving
- Project tree
* Done
<...>/aspectc/mysql-5.0.12-beta/dev >
Any ideas what causes it?
Thanks,
Dmitry
More information about the aspectc-user
mailing list