This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

questions


Hi !

First, I would like to thank you about this great documentation
(http://gcc.gnu.org/onlinedocs/gccint/Trees.html#Trees).
It's helpful !

I need some enlightments about somethings. Sorry for my bad english
speaking...

1) pointers/references
I can't understand how are used the nodes indirectref, nop, convert,
mustnotthow, nonlvalue, addr.
I have done some tests with pointers and references. I can't know when the
node describe the unreference action or address computing action.
indirect seems to be like * C operator and addr seems to be like & C
operator but it's not true.
Could i get an explain ?

2) plus operator
The "plus" node has 2 behaviors.
The first one is the standard +. It describes an expression like a + b. a
and b are 2 integers or any arithmetic types.
The second one is an address computing operator. It describes an expression
like p + i. p is a pointer and i is an index.

struct a {
  int x;
  int y;
};

if i write the expression "a.y", the internal GCC represention is sometimes
a set of nodes using 'plus' node instead of a single 'ComponentRef' node.
Why ? Some informations seems to be lost. I can't get the name of the field.
In others words, i get "&a+4" instead of "a.y". Can i retrieve this
information ?

Best regards
Richard Buchmann


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]