[GCC-XML] string in gccxml

Brad King brad.king at kitware.com
Fri Nov 12 17:44:38 EST 2004

Kedar Joshi wrote:
> I am still getting a lot of extra structs, methods,
> constructors/destructors, typedefs in the XML output file. Is there
> any way to get rid of these easily or not to produce them at all and
> still use the string class? (The generated output is not as big when i
> only use the Fundamental types like int, float, double, etc.)

The dump with -fxml-start dumps the declaration specified, everything it 
references, everything referenced by things it references, etc.  In 
practice this is usually needed to get anything useful out of the file 
anyway.  If you really do not want the extra declarations, it is easy to 
ignore them with a proper XML parser.

> Also, why does the struct show the name as below? instead of just
> something simple, like "basic_string"?
> <Struct id="_2"
> name="basic_string<char,std::char_traits<char>,std::allocator<char>
> >" context="_5"...>

basic_string is a template.  Only instantiations of templates are 
dumped.  The full name of the instantiation that is referenced by the 
std::string typedef is the long basic_string<....> name because it has 
all the template arguments.  This is a consequence of the C++ standard 
library and has nothing to do with GCC-XML.

> I just want to get the method signatures of all the functions in my
> input file by parsing the XML output produced by gccxml.

You can use the file="fXX" attribute on each declaration to identify it 
as being in your source file.  That attribute references the File 
elements at the bottom of the dump.


More information about the gccxml mailing list