<HTML><BODY><P>Hello,<BR>i am testing the template instance matching in version 0.9 of ac++.</P>
<P>The simple tracing aspect of the AC++ Quick Reference Guide instantiated in this way</P>
<P><FONT face="courier new, courier, mono">aspect TraceMain: public Trace<BR>{<BR>   pointcut functions() = call("% Value<int>::%(...)") && within("% main(...)");<BR>};</FONT></P>
<P>has no effect. In this way:</P>
<P><FONT face="courier new, courier, mono">aspect TraceMain: public Trace<BR>{<BR>   //pointcut functions() = execution("Value<int>");<BR>};</FONT></P>
<P>it cause ac++.exe crash for memory access violation.</P>
<P>I am using ac++ on Win32 platform with --vc and --skip-bodies-non-prj flags.</P>
<P>The main.cpp is the following:</P>
<P><FONT face="courier new, courier, mono">#include <iostream><BR></FONT><FONT face="courier new, courier, mono"><BR>template <class T><BR>class Value<BR>{<BR>public:<BR>   Value(T value): value_(value) {}<BR>   </FONT><FONT face="courier new, courier, mono">~Value() {}</FONT></P>
<P><FONT face="courier new, courier, mono">   void dummy()<BR>   {<BR>   }<BR></FONT><FONT face="courier new, courier, mono">private:<BR>   T value_;<BR>};</FONT></P>
<P><FONT face="courier new, courier, mono">int main ()<BR>{<BR>   std::cout << "in main\n";</FONT></P>
<P><FONT face="courier new, courier, mono">   Value<int> a(1);</FONT></P>
<P><FONT face="courier new, courier, mono">   a.dummy();</FONT></P>
<P><FONT face="courier new, courier, mono">   std::cout << "Press return to exit...";<BR>   std::cin.get();<BR>   return 0;<BR>}</FONT></P>
<P>Thanks,<BR>michelangelo riccobene</P></BODY></HTML>