|
Notes |
|
|
(0008323)
|
|
Brad King
|
|
2007-08-01 11:25
|
|
GCC-XML does not seem to be traversing the part of the GCC internal representation that references explicit member template instantiations. This is a bug but I don't know off the top of my head how to get this information.
I do not have time to investigate this in detail now but I can get you started.
Look in gccxml/GCC/gcc/cp/xml.c for the actual xml dump code. The function xml_output_record_type is dumping the outer class template instantiation. The member template instantiation does not get listed as a member even in the internal representation though.
Try this:
gccxml value.h -fxml=value.xml -fdump-translation-unit
This will produce an extra file dumped by GCC itself (with a .tu extension). Look for the "mult" identifer_node in there. From that you can trace back the connectivity of the internal representation. Then look in cp-tree.h for the macro that provides access to the information.
|
|
|
|
(0008328)
|
|
Aron Bierbaum
|
|
2007-08-01 13:28
|
|
|
You are correct that the class does not list member template instantiations as members currently. It is a slightly larger problem through, the function is never ever placed in the xml. I think that there is something different because I have a class template and a member template. If I eliminate the class template then the function atleast gets put in the xml. |
|
|
|
(0008329)
|
|
Brad King
|
|
2007-08-01 13:39
|
|
I meant that the GCC internal representation does not even list them. The members list internally contains the "template_decl" representing the member template, but for some reason that declaration's list of instantiations is empty. Something strange is going on though because the connectivity seems to be there in the .tu output I mentioned.
|
|
|
|
(0012251)
|
|
Aron Bierbaum
|
|
2008-06-04 17:36
|
|
What is the status of this bug after the move to gcc4.2? It appears that I am seeing the same problems. I don't know if it is related or not but I now get the following output:
"sorry, unimplemented: call_expr cannot be mangled due to a defect in the C++ ABI" |
|
|
|
(0012253)
|
|
Brad King
|
|
2008-06-04 18:33
|
|
I'm not surprised it hasn't changed.
I don't see the call_expr message using the value2.zip example. Can you reproduce this in a small test case? If so, please open a separate bug for it because it is a different issue. |
|
|
|
(0038328)
|
|
Brad King
|
|
2015-03-26 11:59
|
|
|