aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gcc.gnu.org>2019-06-16 07:48:42 +0000
committerIain Buclaw <ibuclaw@gcc.gnu.org>2019-06-16 07:48:42 +0000
commit70106db92654b83cd0ea62a078805e84ef2d8ee8 (patch)
tree2e03c2d660192915711756cca92458e004d5c1ee /gcc/testsuite
parente7c6715ec82458cf0b9a362bf9b068d0574607f9 (diff)
downloadgcc-70106db92654b83cd0ea62a078805e84ef2d8ee8.zip
gcc-70106db92654b83cd0ea62a078805e84ef2d8ee8.tar.gz
gcc-70106db92654b83cd0ea62a078805e84ef2d8ee8.tar.bz2
re PR d/90604 (ICE in sizemask, at d/dmd/mtype.c:2542)
PR d/90604 d/dmd: Merge upstream dmd f30c5dc79 Fixes internal compiler error in Type::sizemask. Reviewed-on: https://github.com/dlang/dmd/pull/9998 From-SVN: r272343
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/gdc.test/fail_compilation/fail19898a.d14
-rw-r--r--gcc/testsuite/gdc.test/fail_compilation/fail19898b.d21
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/gdc.test/fail_compilation/fail19898a.d b/gcc/testsuite/gdc.test/fail_compilation/fail19898a.d
new file mode 100644
index 0000000..406e468
--- /dev/null
+++ b/gcc/testsuite/gdc.test/fail_compilation/fail19898a.d
@@ -0,0 +1,14 @@
+/*
+PERMUTE_ARGS:
+REQUIRED_ARGS: -m64
+TEST_OUTPUT:
+---
+fail_compilation/fail19898a.d(11): Error: incompatible types for `(__key2) < (__limit3)`: both operands are of type `__vector(int[4])`
+---
+*/
+void f (__vector(int[4]) n)
+{
+ foreach (i; 0 .. n)
+ cast(void)n;
+}
+
diff --git a/gcc/testsuite/gdc.test/fail_compilation/fail19898b.d b/gcc/testsuite/gdc.test/fail_compilation/fail19898b.d
new file mode 100644
index 0000000..0b47fb78
--- /dev/null
+++ b/gcc/testsuite/gdc.test/fail_compilation/fail19898b.d
@@ -0,0 +1,21 @@
+/*
+PERMUTE_ARGS:
+REQUIRED_ARGS: -m64
+TEST_OUTPUT:
+---
+fail_compilation/fail19898b.d(18): Error: cannot implicitly convert expression `m` of type `S` to `__vector(int[4])`
+fail_compilation/fail19898b.d(18): Error: incompatible types for `(__key2) != (__limit3)`: both operands are of type `__vector(int[4])`
+fail_compilation/fail19898b.d(18): Error: cannot cast expression `__key2` of type `__vector(int[4])` to `S`
+---
+*/
+struct S
+{
+ int a;
+}
+
+void f (__vector(int[4]) n, S m)
+{
+ foreach (i; m .. n)
+ cast(void)n;
+}
+