Author: Timm Bäder
Date: 2024-04-22T10:35:45+02:00
New Revision: 6b6c7e46cc1e97b678e969bad78825dd02c11ff9

URL: 
https://github.com/llvm/llvm-project/commit/6b6c7e46cc1e97b678e969bad78825dd02c11ff9
DIFF: 
https://github.com/llvm/llvm-project/commit/6b6c7e46cc1e97b678e969bad78825dd02c11ff9.diff

LOG: [clang][Interp][NFC] Test out-of-bounds access on vectors

Added: 
    

Modified: 
    clang/test/AST/Interp/vectors.cpp

Removed: 
    


################################################################################
diff  --git a/clang/test/AST/Interp/vectors.cpp 
b/clang/test/AST/Interp/vectors.cpp
index 5c4694f122d812..cb8bcd4fdda768 100644
--- a/clang/test/AST/Interp/vectors.cpp
+++ b/clang/test/AST/Interp/vectors.cpp
@@ -8,6 +8,13 @@ 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}}
 
+
+/// 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}}
+
+
 /// VectorSplat casts
 typedef __attribute__(( ext_vector_type(4) )) float float4;
 constexpr float4 vec4_0 = (float4)0.5f;


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to