aboutsummaryrefslogtreecommitdiff
path: root/clang/test/Parser/altivec.c
diff options
context:
space:
mode:
authorJohn Thompson <John.Thompson.JTSoftware@gmail.com>2010-06-30 22:55:51 +0000
committerJohn Thompson <John.Thompson.JTSoftware@gmail.com>2010-06-30 22:55:51 +0000
commit781ad17ba98f8ce399fe3b93da6b6ede54fef4a1 (patch)
tree0a67c7fc56c854cecd135086aa8f8854acdf4558 /clang/test/Parser/altivec.c
parente0dfb98ea0db7147ed51ee082dc0595f982e7d8d (diff)
downloadllvm-781ad17ba98f8ce399fe3b93da6b6ede54fef4a1.zip
llvm-781ad17ba98f8ce399fe3b93da6b6ede54fef4a1.tar.gz
llvm-781ad17ba98f8ce399fe3b93da6b6ede54fef4a1.tar.bz2
Fix vector literal/cast confusion - bug 6895.
llvm-svn: 107347
Diffstat (limited to 'clang/test/Parser/altivec.c')
-rw-r--r--clang/test/Parser/altivec.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/test/Parser/altivec.c b/clang/test/Parser/altivec.c
index d8744b8..92ec688 100644
--- a/clang/test/Parser/altivec.c
+++ b/clang/test/Parser/altivec.c
@@ -101,3 +101,11 @@ void f() {
gccv = v;
gccvector unsigned int tgv = v;
}
+
+// bug 6895 - Vectorl literal casting confusion.
+vector char v1 = (vector char)((vector int)(1, 2, 3, 4));
+vector char v2 = (vector char)((vector float)(1.0f, 2.0f, 3.0f, 4.0f));
+vector char v3 = (vector char)((vector int)('a', 'b', 'c', 'd'));
+vector int v4 = (vector int)(1, 2, 3, 4);
+vector float v5 = (vector float)(1.0f, 2.0f, 3.0f, 4.0f);
+vector char v6 = (vector char)((vector int)(1+2, -2, (int)(2.0 * 3), -(5-3)));