Re: Tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 4 July 2011 16:30, Philip Herron <redbrain@xxxxxxxxxxx> wrote:
> On 4 July 2011 16:13, Jonathan Wakely <jwakely.gcc@xxxxxxxxx> wrote:
>> On 4 July 2011 15:28, konica sarker wrote:
>>> "A tree is a pointer type, but the object to which it points may be of
>>> a variety of types"
>>>
>>> suppose i have a tree t;
>>> can you help me, how to identify the object type of the tree?
>>
>> From http://gcc.gnu.org/onlinedocs/gccint/Tree-overview.html
>>
>> "You can tell what kind of node a particular tree is by using the
>> TREE_CODE macro."
>>
>>> what does the function TREE_TYPE() do?
>>
>> From http://gcc.gnu.org/onlinedocs/gccint/Macros-and-Functions.html
>>
>> "Many trees store the type of an expression or declaration in this field."
>>
>> And from gcc/tree.h:
>>
>> /* In all nodes that are expressions, this is the data type of the expression.
>>   In POINTER_TYPE nodes, this is the type that the pointer points to.
>>   In ARRAY_TYPE nodes, this is the type of the elements.
>>   In VECTOR_TYPE nodes, this is the type of the elements.  */
>> #define TREE_TYPE(NODE) __extension__ \
>> (*({__typeof (NODE) const __t = CONTAINS_STRUCT_CHECK (NODE, TS_TYPED); \
>>    &__t->typed.type; }))
>>
>
> The way i tend to think of tree's is just DAG's,
> http://gcc.gnu.org/wiki/GenericAPI
> I started documenting more there, but i will continue to add to that
> as its no where near complete.
>

Also: debug_tree (tree), is a useful function!



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux