<div dir="ltr"><div>Thanks!</div><div><br></div><div>Basically macro info (e.g. whether MAX or 10) is not needed, but info about <span style="color:rgb(0,0,0);white-space:pre-wrap">BinaryOperator would be quite useful.</span></div></div><br><div class="gmail_quote"><div dir="ltr">po 1. 10. 2018 o 12:35 Dávid Bolvanský <<a href="mailto:david.bolvansky@gmail.com">david.bolvansky@gmail.com</a>> napísal(a):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>Hello,<div style="color:rgb(0,0,0);background-color:rgb(255,255,254)"><span style="color:rgb(0,0,255)"><br></span></div>#define MAX 10<br><br>int main() // (int n)<br>{<br>char arr[MAX * 3]; // arr[n + 3]<br>}<br><br>I expected that AST would be more detailed (e.g. Binary Operator) but Clang seems to fold it:<br>TranslationUnitDecl<br>`-FunctionDecl <line:11:1, line:14:1> line:11:5 main 'int ()'<br>`-CompoundStmt <line:12:1, line:14:1><br>`-DeclStmt <line:13:3, col:20><br>`-VarDecl <col:3, col:19> col:8 arr 'char [30]'</div><div><br></div><div>or raw output</div><div><div style="color:rgb(0,0,0);background-color:rgb(255,255,254)"><div>`-VarDecl <col:<span style="color:rgb(9,136,90)">3</span>, col:<span style="color:rgb(9,136,90)">15</span>> col:<span style="color:rgb(9,136,90)">8</span> a <span style="color:rgb(163,21,21)">'</span><span style="color:rgb(0,0,255)">char</span> [n * <span style="color:rgb(9,136,90)">3</span>]<span style="color:rgb(163,21,21)">'</span></div></div></div><div><br></div><div>So with the current AST output we are unable to determine overflowing in array sizes, as requested in <a href="https://bugs.llvm.org/show_bug.cgi?id=27439" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=27439</a>, right?</div><div><br></div><div>Is it possible to disable that folding / enhance VarDecl for arrays?</div></div></div>
</blockquote></div>