[GCC-XML]Including typedefs in the type graph.

Paul Ross paul at paulross.demon.co.uk
Mon Nov 17 17:42:09 EST 2003


At 4:17 pm -0500 17/11/03, Brad King wrote:
>Hi Paul,
>
>On Sun, 26 Oct 2003, Paul Ross wrote:
>>  I am using gccxml (great product by the way!) for an API documentation
>>  project and I was wondering whether it was possible to include typedef
>>  information in the graph that resolves type information.
>
>I've now implemented this feature and it is in the CVS version.  It seems
>to work well in most cases I've tested.  However, GCC throws away the
>typedef in the motivating example, and I have not found any way to recover
>it.
>
>If the function definition is not present and the typedef is the top-level
>type, GCC throws away the fact that the typedef was the type used in the
>source.  I suspect this has to do with the implementation of C++ standard
>rules about adjusting the top-level type of a function argument to remove
>cv-qualifiers and change an array type to a pointer type.  For example:
>
>typedef int INT;
>void foo1(INT); // references "int"
>void foo2(INT) {} // references "INT"
>void foo3(INT*); // references "pointer to INT"
>
>I think this is the best that can be done.  Please prove me wrong if you
>can.
>
>-Brad
>
>_______________________________________________
>gccxml mailing list
>gccxml at gccxml.org
>http://www.gccxml.org/mailman/listinfo/gccxml

Brad,

Thanks a lot, your solution is far more elegant than mine. It works 
on all my test cases. I can't see a flaw in your reasoning about 
whether gccxml has access to the implementation and how gcc behaves 
according to the C++ standard.

Cheers,

Paul.



More information about the gccxml mailing list