danielmarjamaki added a comment. > Could you do a similar analysis that I did above to check why does this not > work for the multidimensional case? (I.e.: checking what constraints are > generated and what the analyzer does with them.)
the "location.dump()" will just say "x". the ProgramState is: Expressions: (0x2acd12a78a0,0x2acd1478b80) buf : &buf (0x2acd12a78a0,0x2acd1478bf8) buf : &element{buf,0 S64b,int [3]} (0x2acd12a78a0,0x2acd1478c10) buf[1] : &element{buf,1 S64b,int [3]} (0x2acd12a78a0,0x2acd1478c38) x : &x (0x2acd12a78a0,0x2acd1478c88) buf[1] : &element{element{buf,1 S64b,int [3]},0 S64b,int} Ranges of symbol values: reg_$0<int x> : { [4, 10] } rawOffsetVal => 0 extentBegin => 0 For getSimplifiedOffset() , the offset is not a SymIntExpr it will just return 0. Repository: rL LLVM https://reviews.llvm.org/D39049 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits