<div dir="ltr"><div>Hi everyone,</div><div><br></div>I included a C++11 attribute in clang, however I cannot see its integer parameters in the AST.<div><br></div><div><div>Example:</div><div><br></div><div><i><font face="monospace">int main(){</font></i></div></div><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><div><div><i><font face="monospace">int i = 0;</font></i></div></div><div><div><i><font face="monospace">int j=1;</font></i></div></div><div><div><i><b><font face="monospace">[[own::myattr(1,2,3)]]</font></b></i></div></div><div><i><font face="monospace">int a = i + j;</font></i></div><div><i><font face="monospace">return 0;</font></i></div></blockquote><div><i><font face="monospace">}</font></i></div><div><br></div><div>AST output is:</div><div><br></div><div><font face="monospace">clang++ test.cpp  -std=c++11 -Xclang -ast-dump -fsyntax-only</font><br></div><div><br></div><div><br></div><div><div><i><font face="monospace">TranslationUnitDecl 0x894a230 <<invalid sloc>> <invalid sloc></font></i></div><div><i><font face="monospace">|-TypedefDecl 0x894a770 <<invalid sloc>> <invalid sloc> implicit __int128_t '__int128'</font></i></div><div><i><font face="monospace">|-TypedefDecl 0x894a7d0 <<invalid sloc>> <invalid sloc> implicit __uint128_t 'unsigned __int128'</font></i></div><div><i><font face="monospace">|-TypedefDecl 0x894ab90 <<invalid sloc>> <invalid sloc> implicit __builtin_va_list '__va_list_tag [1]'</font></i></div><div><i><font face="monospace">`-FunctionDecl 0x894ac30 <hello.cpp:3:1, line:10:1> line:3:5 main 'int (void)'</font></i></div><div><i><font face="monospace">  `-CompoundStmt 0x898e668 <line:4:1, line:10:1></font></i></div><div><i><font face="monospace">    |-DeclStmt 0x894adb8 <line:5:5, col:14></font></i></div><div><i><font face="monospace">    | `-VarDecl 0x894ad40 <col:5, col:13> col:9 used i 'int' cinit</font></i></div><div><i><font face="monospace">    |   `-IntegerLiteral 0x894ad98 <col:13> 'int' 0</font></i></div><div><i><font face="monospace">    |-DeclStmt 0x894ae58 <line:6:5, col:14></font></i></div><div><i><font face="monospace">    | `-VarDecl 0x894ade0 <col:5, col:13> col:9 used j 'int' cinit</font></i></div><div><i><font face="monospace">    |   `-IntegerLiteral 0x894ae38 <col:13> 'int' 1</font></i></div><div><i><font face="monospace">    |-DeclStmt 0x898e610 <line:8:5, col:18></font></i></div><div><i><font face="monospace">    | `-VarDecl 0x894aee0 <col:5, col:16> col:10 a 'int':'int' cinit</font></i></div><div><i><font face="monospace">    |   |-BinaryOperator 0x898e528 <col:14, col:16> 'int' '+'</font></i></div><div><i><font face="monospace">    |   | |-ImplicitCastExpr 0x898e4f8 <col:14> 'int' <LValueToRValue></font></i></div><div><i><font face="monospace">    |   | | `-DeclRefExpr 0x898e4a8 <col:14> 'int' lvalue Var 0x894ad40 'i' 'int'</font></i></div><div><i><font face="monospace">    |   | `-ImplicitCastExpr 0x898e510 <col:16> 'int' <LValueToRValue></font></i></div><div><i><font face="monospace">    |   |   `-DeclRefExpr 0x898e4d0 <col:16> 'int' lvalue Var 0x894ade0 'j' 'int'</font></i></div><div><i><font face="monospace">    |   <b>`-OWNMyattrAttr 0x894af40 <line:7:7, col:20>//</b></font></i><i><font face="monospace"><b>missing </b></font></i><i><font face="monospace"><b>parameters 1,2,3</b></font></i></div><div><i><font face="monospace">    `-ReturnStmt 0x898e648 <line:9:5, col:12></font></i></div><div><i><font face="monospace">      `-IntegerLiteral 0x898e628 <col:12> 'int' 0</font></i></div></div><div><br></div><div><br></div><div><br></div><div>I modified include/clang/Basic/Attr.td like this:</div><div><br></div><div><i><font face="monospace">//own::attr<br></font></i></div><div><div><i><font face="monospace">def OWNAttr : Attr {</font></i></div><div><i><font face="monospace">  let Spellings = [CXX11<"own", "attr">];</font></i></div><div><i><font face="monospace">  let Args = [VariadicUnsignedArgument<"Args">];<br></font></i></div><div><i><font face="monospace">  let Documentation = [Undocumented];</font></i></div><div><i><font face="monospace">}</font></i></div></div><div><br></div><div><br></div><div>Any help?</div><div><br></div><div><br></div><div>Regards,</div><div>Luis.</div><div><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-family:arial;font-size:small">-- </span><br style="font-family:arial;font-size:small"><span style="font-family:arial;font-size:small">-- </span><br style="font-family:arial;font-size:small"><span style="font-family:arial;font-size:small">--------------------------------------------------</span><br style="font-family:arial;font-size:small"><span style="font-family:arial;font-size:small">Luis Miguel Sánchez García</span><br style="font-family:arial;font-size:small"><span style="font-family:arial;font-size:small;border-collapse:collapse">Computer Architecture and Technology Area.</span><div style="font-family:arial;font-size:small">Office 2.2.B08<br><div>Computer Science Department. UNIVERSIDAD CARLOS III DE MADRID<br>Universidad Carlos III de Madrid<br>Avda. de la Universidad, 30<br>28911 Leganés - Madrid - Spain<br>e-mail: <a href="mailto:lmsan@arcos.inf.uc3m.es" style="color:rgb(17,85,204)" target="_blank">lmsan@arcos.inf.uc3m.es</a><br>        <a href="mailto:luismiguel.sanchez@uc3m.es" style="color:rgb(17,85,204)" target="_blank">luismiguel.sanchez@uc3m.es</a><br><br></div><div>Phone: (+34) 91 624 5951<br><div> <br>Linked-In: <a href="http://es.linkedin.com/in/lmsan" style="color:rgb(17,85,204)" target="_blank">http://es.linkedin.com/in/lmsan</a><br>Twitter: <a href="http://twitter.com/lmsanchezgarcia" style="color:rgb(17,85,204)" target="_blank">http://twitter.com/lmsanchezgarcia</a><br>--------------------------------------------------</div></div></div></div></div></div>
</div></div>