[aspectc-user] RE: cannot compile a simple program
Panu Bloigu
panu.bloigu at gmail.com
Tue Jan 8 16:52:40 CET 2008
Hello again.
In the case I demonstrated in my previous post to the list, it seems now
that when ac++ generates the neworder.acc file, the forward declarations
of the function templates in the namespace AC are inserted *after* the
point where they are needed.
There's this code in neworder.acc (generated by 1.0pre3):
=================================================
struct TJP__ZN4testEv_1 : TJP__ZN4testEv_0 {
void proceed () {
AC::invoke_Derived_Base_a0_around<TJP__ZN4testEv_0> (this);
}
};
#line 1 "neworder.cpp"
#line 85 "neworder.acc"
#ifndef __ac_fwd_Derived__
#define __ac_fwd_Derived__
class Derived;
namespace AC {
template <class JoinPoint>
inline void invoke_Derived_Derived_a0_around (JoinPoint *tjp);
template <class JoinPoint>
inline void invoke_Derived_Base_a0_around (JoinPoint *tjp);
}
=================================================
As you can see, the members of the namespace AC are needed before they
are declared. Is this a bug or have I done something wrong? I haven't
been able to find a corresponding bug in the Bugzilla yet.
--Panu.
More information about the aspectc-user
mailing list