erichkeane added inline comments.
================ Comment at: clang/lib/CodeGen/CGDecl.cpp:346 + else if (!D.getFlexibleArrayInitChars(getContext()).isZero()) + CGM.ErrorUnsupported(D.getInit(), "flexible array init"); else if (HaveInsertPoint()) { ---------------- Can you write a test for this with a 'fixme'? I don't see a reason why we shouldn't support this eventually. ================ Comment at: clang/lib/CodeGen/CodeGenModule.cpp:4617 if (getLangOpts().CPlusPlus) { + if (!InitDecl->getFlexibleArrayInitChars(getContext()).isZero()) + ErrorUnsupported(D, "flexible array initializer"); ---------------- Same comment here. ================ Comment at: clang/test/SemaCXX/constant-expression-cxx11.cpp:2388 + // evaluation. Make sure we emit a sane error message, for now. + constexpr A c = {1, 2, 3}; // expected-warning {{flexible array initialization is a GNU extension}} + static_assert(c.arr[0] == 1, ""); // expected-error {{constant expression}} expected-note {{array member without known bound}} ---------------- I would expect this to be an error, not the static-assert. The constexpr variable means 'initializable as a constant expression'. I'm guessing the problem is ACTUALLY that we support constexpr init, but not the operator[]. I think I'd like to have us have the initialization fail here, since it isn't otherwise usable. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123649/new/ https://reviews.llvm.org/D123649 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits