diff options
author | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-06-16 07:48:42 +0000 |
---|---|---|
committer | Iain Buclaw <ibuclaw@gcc.gnu.org> | 2019-06-16 07:48:42 +0000 |
commit | 70106db92654b83cd0ea62a078805e84ef2d8ee8 (patch) | |
tree | 2e03c2d660192915711756cca92458e004d5c1ee /gcc/testsuite | |
parent | e7c6715ec82458cf0b9a362bf9b068d0574607f9 (diff) | |
download | gcc-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.d | 14 | ||||
-rw-r--r-- | gcc/testsuite/gdc.test/fail_compilation/fail19898b.d | 21 |
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; +} + |