Hi Willem, If you look at line 411 and 412 you will have variables k and m defined. They are not changed anywhere(I think), so the sizes must be big enough. As Xinze mentioned just add const in front of it: const int k = 12 const int m = 4 and it should fix the compile error. buffer::ptr enc[k + m] works with gcc, because of the compiler extension, but it's not standard c++(https://gcc.gnu.org/onlinedocs/gcc/Variable-Length.html) I will submit patch to change it. Thanks, Michal On Mon, Dec 7, 2015 at 9:44 PM, Willem Jan Withagen <wjw@xxxxxxxxxxx> wrote: > On 5-12-2015 14:02, Xinze Chi (信泽) wrote: >> >> I think "const int k = 12; const int m = 4" would pass the compile? > > > > Are these sizes big enough?? > > --WjW > >> 2015-12-05 20:56 GMT+08:00 Willem Jan Withagen <wjw@xxxxxxxxxxx>: >>> >>> src/test/erasure-code/TestErasureCodeIsa.cc >>> >>> contains snippets, function definition like: >>> >>> buffer::ptr enc[k + m]; >>> // create buffers with a copy of the original data to be able to >>> compare >>> it after decoding >>> { >>> for (int i = 0; i < (k + m); i++) { >>> >>> Clang refuses because the [k+m] size in not known at compiletime. >>> Suggesting to tempate this. >>> >>> How would one normally handle this? >>> >>> I've temporarily made it fixed size 1024*1024. >>> But I'm not sure if that is big enough > > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html