[aspectc-user] template instantiation regression
Michael Stilkerich
stilkerich at cs.fau.de
Mon Mar 8 14:15:54 CET 2010
Hi again,
in the course of updating AC++ to a current revision I discovered a regression related to template instantiation. Consider the following example (I tried to strip down the example as much as possible while still producing the problem):
------------------ test.cpp ------------------
class ERROR_inttype_not_available {
};
template< bool FIRST, class A, class B > struct select {
typedef A T;
};
template< class A, class B > struct select< false, A, B > {
typedef B T;
};
template< unsigned BYTES > struct int_t {
typedef typename select< sizeof(int)==BYTES, int, ERROR_inttype_not_available>::T T;
};
void testfunc(int_t<4>::T i);
void test() {
testfunc(3);
}
------------------ test.ah ------------------
aspect Test {
advice call("% testfunc(...)"): around() {
}
};
While the above pointcut expression matches the call testfunc(3) with the old AC++ version (ac++ 1.0pre4 (Jun 21 2007)), it does not match with recent builds anymore.
Regards,
-Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4809 bytes
Desc: not available
URL: <http://www.aspectc.org/pipermail/aspectc-user/attachments/20100308/6718d42a/attachment.bin>
More information about the aspectc-user
mailing list