On 20 April 2011 08:37, Boris Kolpackov wrote:
> Hi,
>
> I am trying to figure out how to get a typedef hierarchy from the C/C++
> tree in GCC. Consider the following declarations:
>
> struct s {};
>
> typedef s s_t;
> typedef s_t my_s_t;

I don't know if GCC keeps the information you want, but according to
the language rules there is no hierarchy. There's a type, and zero or
more alternative names for it.  The example above makes my_s_t a
synonym for s, not s_t.

Consider this valid code:

typedef int foo;
typedef int bar;
typedef foo bar;
typedef bar foo;

What do you expect to see here?

You want to track size_t, what if someone uses __typeof__(sizeof(1)),
does that count?  What about std::size_t?  That could be defined as a
synonym for __SIZE_TYPE__ or decltype(sizeof(1)) so is not in a
sequence of typedef declarations that includes size_t.

Reply via email to