Damien Fagnou wrote: > I am trying to use gccxml on the OpenEXR Libraries . > its an heavily templated project and in case like : > > template <class T> class Matrix44 > { > public: > > T x[4][4]; > > // this is not > template <class S> > const Matrix44 & setAxisAngle (const Vec3<S>& ax, S ang); > > /// this is seen by gccxml > const Matrix44 & setScale (T s); > } > > > I make sure that Matrix44<float > is instanciate doing > sizeof(Matrix44<float >) somewhere in my code . > > I also make sure I use the template member function : > > Matrix44<float > myMat; > myMat.setAxisAngle( Imath::V3f(1.0,0.0,0.0) , 20.0 ); > > but nothing does it , > > setScale is in the xml output but not setAxisAngle.
Unfortunately this is a case that I've never been able to solve in the gccxml dump implementation. It works for members of class templates, and for member templates of non-template classes. It does not work for member templates within class templates. I have simply been unable to discover the incantation inside GCC's source code to get a reference to such instantiations. The class template instantiation lists the member template, but the member template does not list its instantiations. If you want to try to fix it, I can get you started. -Brad _______________________________________________ gccxml mailing list gccxml@gccxml.org http://www.gccxml.org/mailman/listinfo/gccxml