Richard, Then the only possible solution is to create some temp var for array size and capture it (or make it global) + rebuild the original type to make it use this temp var. Another solution is to learn the capturing machinery to capture expressions.
Best regards, Alexey Bataev ============= Software Engineer Intel Compiler Team 14.07.2014 4:17, Richard Smith пишет: > The [C++ Array Extensions draft > TS](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3639.html) > specifies how the C++ committee thinks VLAs in C++ ("Arrays of Runtime > Bound") should work, and I think it has different semantics for lambda > captures from those provided here =( In particular, it only allows the array > bound expression to be evaluated a single time, so the array bound itself > must be captured, rather than the variables that it references. > > So, we have a choice: we can go with what you have here (which seems > reasonable if we're providing the C-style VLAs), and we should do something > different if instead we want to align ourselves with the Array Extensions > draft TS and ARB semantics. If Array Extensions is going to become a full TS, > then we'll want to align with it eventually, and it doesn't make sense to me > to differ from it now, but it's not completely clear if that's going to > happen (there seemed to be weak consensus at the previous committee meeting > to abandon it). > > Thoughts? > > http://reviews.llvm.org/D4368 > > http://reviews.llvm.org/D4368 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
