[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