https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108324
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- MSVC rejects it for the same reason as GCC: <source>(15): error C2131: expression did not evaluate to a constant <source>(11): note: a non-constant (sub-)expression was encountered <source>(16): error C2369: 'k': redefinition; different subscripts <source>(15): note: see declaration of 'k' Note clang rejects both array definitions thinking it is a VLA ....