[aspectc-user] Defining an Aspect Instantiation Model with ac++1.0

Olaf Spinczyk Olaf.Spinczyk at informatik.uni-erlangen.de
Wed Nov 2 09:07:20 CET 2005


Hi Sergio,

I tried to compile your example and got the following error message:

<ac>: In member function `void 
TJP__ZN6DCache16page_replacementEv_0::proceed()
    ':
<ac>:26: error: `_that' undeclared (first use this function)

Did you mean this problem? It seems to be a code generation bug :-(. The 
member _that is referenced but not generated.

As a workaround (until 1.0pre2) you can add the following line to your 
execution/around advice:

if (0) tjp->proceed()

After adding this line I was able to compile your example.

-Olaf


Sergio Queiroz wrote:
> 
> Hi!
> 
> I downloaded the new AspectC++ version and I was trying to compile some code
> that worked pretty nice with version 0.92.
> 
> The problem is that ac++ 1.0 could not compile my examples :(
> 
> I tried to reduce the source code and I am sending my files, some problem
> occurred during parsing. I am using linux.
> 
> This is the output of the command "g++ -v":
> 
> Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
> Configured with: ../src/configure -v
> --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr
> --mandir=/usr/share/man --infodir=/usr/share/info
> --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib
> --enable-nls --without-included-gettext --enable-__cxa_atexit
> --enable-clocale=gnu --enable-debug --enable-java-gc=boehm
> --enable-java-awt=xlib --enable-objc-gc i486-linux
> Thread model: posix
> gcc version 3.3.5 (Debian 1:3.3.5-8)
> 
> 
> 
> Sérgio
> 
> 
> 
> ------------------------------------------------------------------------
> 
> #include "DCache.h"
> 
> void DCache::doit()
> {
> 	total_cycles++;
>  	
> }
> 
> void DCache::reset()
> {   
>  	total_cycles = 0;
> }
> 
> 
> int DCache::page_replacement()
> {
> 	return 0;
> }
> 
> 
> 
> ------------------------------------------------------------------------
> 
> #ifndef DCACHE_H
> #define DCACHE_H
> 
> #include "systemc.h"
> #include <iostream.h>
> 
> SC_MODULE (DCache)
> {
>    sc_in<bool> clock;
>    
>    void doit();
>    void reset();
>    int page_replacement();
>    
>    float total_cycles;
> 	 
> 	 SC_CTOR(DCache)
> 	 {
> 		 reset();
> 		 
> 		 SC_METHOD(doit);
> 		 sensitive_pos << clock;
> 	 }
> };
> 
> #endif
> 
> 
> ------------------------------------------------------------------------
> 
> #include "DCache.h"
> 
> int
> sc_main (int argc, char **argv) {
> 	sc_signal <bool> clock;
> 	
> 	DCache dcache ("dcache");
> 	dcache.clock (clock);
> 	
> 	int i = 0;
> 
> 	sc_initialize ();
> 	
> 	while (i++ < 10) {
> 		clock.write (0);
> 
> 		cout << dcache.page_replacement () << endl;
> 		
> 		clock.write (1);
> 	}
> 	
> 	return 0;
> }
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user




More information about the aspectc-user mailing list