diff options
author | Eric Christopher <echristo@apple.com> | 2010-08-26 00:42:16 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2010-08-26 00:42:16 +0000 |
commit | e84f9ebf8c89d5600f5930b65a0df0de890791b2 (patch) | |
tree | 88cc9391370f201d3d557ae5556fd62b11e5a141 /test/SemaCXX/vector.cpp | |
parent | 9214819c7d4b24fd1b38480d845d8e345d8f0196 (diff) |
With lax vector conversions (the default) make sure we convert between two
vectors that are the same size. Fix up testcases accordingly and add a new one
to make sure we still error if lax vector conversions are disabled.
Fixes rdar://8328190
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@112122 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/vector.cpp')
-rw-r--r-- | test/SemaCXX/vector.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/test/SemaCXX/vector.cpp b/test/SemaCXX/vector.cpp index 66b2d680d2..9ae2c82fc5 100644 --- a/test/SemaCXX/vector.cpp +++ b/test/SemaCXX/vector.cpp @@ -51,10 +51,10 @@ void conditional(bool Cond, char16 c16, longlong16 ll16, char16_e c16e, __typeof__(Cond? ll16 : ll16e) *ll16ep2 = &ll16e; __typeof__(Cond? ll16e : ll16) *ll16ep3 = &ll16e; - // Conditional operators with incompatible types. - (void)(Cond? c16 : ll16); // expected-error{{can't convert between vector values}} - (void)(Cond? ll16e : c16e); // expected-error{{can't convert between vector values}} - (void)(Cond? ll16e : c16); // expected-error{{can't convert between vector values}} + // Conditional operators with compatible types under -flax-vector-conversions (default) + (void)(Cond? c16 : ll16); + (void)(Cond? ll16e : c16e); + (void)(Cond? ll16e : c16); } // Test C++ cast'ing of vector types. @@ -183,8 +183,10 @@ void test_implicit_conversions(bool Cond, char16 c16, longlong16 ll16, (void)(Cond? to_c16 : to_c16e); (void)(Cond? to_ll16e : to_ll16); - (void)(Cond? to_c16 : to_ll16); // expected-error{{can't convert between vector values of different size}} - (void)(Cond? to_c16e : to_ll16e); // expected-error{{can't convert between vector values of different size}} + + // These 2 are convertable with -flax-vector-conversions (default) + (void)(Cond? to_c16 : to_ll16); + (void)(Cond? to_c16e : to_ll16e); } typedef float fltx2 __attribute__((__vector_size__(8))); |