================ @@ -3,40 +3,40 @@ typedef int __attribute__((vector_size(16))) VI4; constexpr VI4 A = {1,2,3,4}; -static_assert(A[0] == 1, ""); // ref-error {{not an integral constant expression}} -static_assert(A[1] == 2, ""); // ref-error {{not an integral constant expression}} -static_assert(A[2] == 3, ""); // ref-error {{not an integral constant expression}} -static_assert(A[3] == 4, ""); // ref-error {{not an integral constant expression}} +static_assert(A[0] == 1, ""); +static_assert(A[1] == 2, ""); +static_assert(A[2] == 3, ""); +static_assert(A[3] == 4, ""); /// FIXME: It would be nice if the note said 'vector' instead of 'array'. -static_assert(A[12] == 4, ""); // ref-error {{not an integral constant expression}} \ - // expected-error {{not an integral constant expression}} \ - // expected-note {{cannot refer to element 12 of array of 4 elements in a constant expression}} +static_assert(A[12] == 4, ""); // both-error {{not an integral constant expression}} \ + // expected-note {{cannot refer to element 12 of array of 4 elements in a constant expression}} \ + // ref-note {{read of dereferenced one-past-the-end pointer is not allowed in a constant expression}} ---------------- vikramRH wrote:
I just kept the original version of the PR, but the message "cannot refer to element 12 of array of 4 elements" seems correct here. I shall update this https://github.com/llvm/llvm-project/pull/101126 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits