[cfe-users] two copies of class with dependent base - one is "unusable"
Zac Hansen via cfe-users
cfe-users at lists.llvm.org
Wed Jul 20 00:49:10 PDT 2016
if I have something like
template<class T>
class V8TOOLKIT_WRAPPED_CLASS
MyTemplate {};
template<class T>
class V8TOOLKIT_WRAPPED_CLASS DerivedFromMyTemplate : public MyTemplate<T> {};
and then DerivedFromMyTemplate<int> some_var;
I get two CXXRecordDecl's from my matcher which just matches all classes
and structs -- one with a base of
MyTemplate<T>
and it has no associated cxxrecorddecl or tagdecl. It has typeclass 32
(which I don't know what means).
Then I get another one with with a base of: MyTemplate<int> (notice <T> vs
<int>). This one also has typeclass 32 but does have a cxxrecorddel and
tagdecl.
If I instantiate another type, DerivedFromMyTemplate<short> some_other_var;
I do not get another "bad" type, I just get 3 - bad, int, short.
I've gotten what I need by simply skipping the "bad" one but I'd like to
know what's going on.
Thank you.
--Zac
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-users/attachments/20160720/5c4ad1bb/attachment.html>
More information about the cfe-users
mailing list