balazske marked an inline comment as done. balazske added inline comments.
================ Comment at: clang/test/Analysis/cfg.cpp:570 } +// CHECK-LABEL: void vla_simple(int x) ---------------- balazske wrote: > aaron.ballman wrote: > > Can you also add tests for: > > ``` > > int vla_unevaluated(int x) { > > // Evaluates the ++x > > sizeof(int[++x]); > > // Does not evaluate the ++x > > _Alignof(int[++x]); > > _Generic((int(*)[++x])0, default : 0); > > > > return x; > > } > > ``` > > > > Also, it's a bit strange to find these VLA tests in a .cpp file. VLAs are a > > C++ extension and we should have some testing for them for constructs that > > are C++-specific, but I would have expected many of these tests to be in a > > C file instead. > Could be there platforms (on buildbot?) where the VLA code (in cpp file) does > not compile? Is it worth to have a test with VLA type alias then? I have this output for the test above (without the new code), is it correct? (The `++` seems to be evaluated for the `alignof` statement too.) ``` int vla_unevaluated(int x) [B2 (ENTRY)] Succs (1): B1 [B1] 1: x 2: ++[B1.1] 3: [B1.2] (ImplicitCastExpr, LValueToRValue, int) 4: sizeof(int [++x]) 5: x 6: ++[B1.5] 7: [B1.6] (ImplicitCastExpr, LValueToRValue, int) 8: alignof(int [++x]) 9: 0 10: x 11: [B1.10] (ImplicitCastExpr, LValueToRValue, int) 12: return [B1.11]; Preds (1): B2 Succs (1): B0 [B0 (EXIT)] Preds (1): B1 ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77809/new/ https://reviews.llvm.org/D77809 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits