alexshap added a comment. 1.
For the code: struct TestBufferStruct { int Buffer[3]; }; struct TestBufferStruct GetTestBufferStruct() { struct TestBufferStruct a; return a; } void AcceptPointer(int *a) { } void TestFunc() { AcceptArray(((GetTestBufferStruct().Buffer))); } AST looks like this: `-ImplicitCastExpr 0x103879640 <col:15, col:46> 'int *' <ArrayToPointerDecay> `-ParenExpr 0x1038795b0 <col:15, col:46> 'int [3]' `-ParenExpr 0x103879590 <col:16, col:45> 'int [3]' `-MemberExpr 0x103879558 <col:17, col:39> 'int [3]' .Buffer 0x103833598 `-CallExpr 0x103879530 <col:17, col:37> 'struct TestBufferStruct':'struct TestBufferStruct' `-ImplicitCastExpr 0x103879518 <col:17> 'struct TestBufferStruct (*)()' <FunctionToPointerDecay> `-DeclRefExpr 0x103879498 <col:17> 'struct TestBufferStruct ()' Function 0x103878eb8 'GetTestBufferStruct' 'struct 1. Test plan: make -j8 check-clang-analysis. Without my changes it crashes (on the modified test): F2423801: Screen Shot 2016-09-12 at 5.09.47 PM.png <https://reviews.llvm.org/F2423801> With the patch all the tests are green. Repository: rL LLVM https://reviews.llvm.org/D24484 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits