$ cat tmp.c<div><div>typedef struct Queue Queue;</div><div>const int MAXQ = 123;</div><div>void f() {</div><div>  Queue *ltab[MAXQ];</div><div>  Queue *q;</div><div>  ltab[4] = q;</div><div>}</div><div>$ clang tmp.c -Xclang -ast-dump -fsyntax-only</div>
<div><div>TranslationUnitDecl 0x5648c00 <<invalid sloc>></div><div>|-TypedefDecl 0x5649100 <<invalid sloc>> __int128_t '__int128'</div><div>|-TypedefDecl 0x5649160 <<invalid sloc>> __uint128_t 'unsigned __int128'</div>
<div>|-TypedefDecl 0x56494b0 <<invalid sloc>> __builtin_va_list '__va_list_tag [1]'</div><div>|-RecordDecl 0x5649500 <tmp.c:1:9, col:16> struct Queue</div><div>|-TypedefDecl 0x56495f0 <col:1, col:22> Queue 'struct Queue':'struct Queue'</div>
<div>|-VarDecl 0x5649660 <line:2:1, col:18> MAXQ 'const int'</div><div>| `-IntegerLiteral 0x56496b8 <col:18> 'int' 123</div><div>`-FunctionDecl 0x5649730 <line:3:1, line:7:1> f 'void ()'</div>
<div>  `-CompoundStmt 0x567b350 <line:3:10, line:7:1></div><div>    |-DeclStmt 0x567b168 <line:4:3, col:20></div><div>    | `-VarDecl 0x567b110 <col:3, col:19> ltab 'Queue *[123]'</div><div>    |-DeclStmt 0x567b1e8 <line:5:3, col:11></div>
<div>    | `-VarDecl 0x567b190 <col:3, col:10> q 'Queue *'</div><div>    `-BinaryOperator 0x567b328 <line:6:3, col:13> 'Queue *' '='</div><div><b>      |-ArraySubscriptExpr 0x567b2c0 <col:3, col:9> 'Queue *' lvalue</b></div>
<div><b>      | |-ImplicitCastExpr 0x567b2a8 <col:3> 'Queue **' <ArrayToPointerDecay></b></div><div><b>      | | `-DeclRefExpr 0x567b200 <col:3> 'Queue *[123]' lvalue Var 0x567b110 'ltab' 'Queue *[123]'</b></div>
<div><b>      | `-IntegerLiteral 0x567b228 <col:8> 'int' 4</b></div><div>      `-ImplicitCastExpr 0x567b310 <col:13> 'Queue *' <LValueToRValue></div><div>        `-DeclRefExpr 0x567b2e8 <col:13> 'Queue *' lvalue Var 0x567b190 'q' 'Queue *'</div>
</div><div><br></div><br><div class="gmail_quote">On Sun, Mar 31, 2013 at 5:05 AM, Rambo <span dir="ltr"><<a href="mailto:hunanlwm@sina.cn" target="_blank">hunanlwm@sina.cn</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
some codes like this<br>
<br>
Queue *ltab[MAXQ];<br>
Queue *q;<br>
ltab[4] = q;<br>
<br>
somebody can tell me what type it is about ltab[4],it is a simple<br>
ArraySubscriptExpr type?if not,How can I get it by clang API?<br>
thank you!<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://clang-developers.42468.n3.nabble.com/what-type-it-is-about-ltab-4-tp4031232.html" target="_blank">http://clang-developers.42468.n3.nabble.com/what-type-it-is-about-ltab-4-tp4031232.html</a><br>

Sent from the Clang Developers mailing list archive at Nabble.com.<br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</blockquote></div><br></div>