diff --git a/test/classes/elliot/non-captured-virtual-return.bad b/test/classes/elliot/non-captured-virtual-return.bad new file mode 100644 index 000000000000..c914e6e2334f --- /dev/null +++ b/test/classes/elliot/non-captured-virtual-return.bad @@ -0,0 +1,7 @@ +internal error: MIS0558 chpl Version 1.16.0 pre-release (45e89ca37f) + +Internal errors indicate a bug in the Chapel compiler ("It's us, not you"), +and we're sorry for the hassle. We would appreciate your reporting this bug -- +please see http://chapel.cray.com/bugs.html for instructions. In the meantime, +the filename + line number above may be useful in working around the issue. + diff --git a/test/classes/elliot/non-captured-virtual-return.chpl b/test/classes/elliot/non-captured-virtual-return.chpl new file mode 100644 index 000000000000..2dc17ec5ad2c --- /dev/null +++ b/test/classes/elliot/non-captured-virtual-return.chpl @@ -0,0 +1,10 @@ +class Parent { + proc foo() { return (3, 3); } +} + +class Child: Parent { + proc foo() { return (1,1); } +} + +var child: Parent = new Child(); +child.foo(); diff --git a/test/classes/elliot/non-captured-virtual-return.future b/test/classes/elliot/non-captured-virtual-return.future new file mode 100644 index 000000000000..391b38bb188e --- /dev/null +++ b/test/classes/elliot/non-captured-virtual-return.future @@ -0,0 +1 @@ +bug: not capturing return value of virtual calls casues compiler segfault (#6542) diff --git a/test/classes/elliot/non-captured-virtual-return.good b/test/classes/elliot/non-captured-virtual-return.good new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.bad b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.bad new file mode 100644 index 000000000000..6b39612930ad --- /dev/null +++ b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.bad @@ -0,0 +1,7 @@ +internal error: BAS0313 chpl Version 1.16.0 pre-release (f8e9da11d6) + +Internal errors indicate a bug in the Chapel compiler ("It's us, not you"), +and we're sorry for the hassle. We would appreciate your reporting this bug -- +please see http://chapel.cray.com/bugs.html for instructions. In the meantime, +the filename + line number above may be useful in working around the issue. + diff --git a/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.chpl b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.chpl new file mode 100644 index 000000000000..a88363184fcb --- /dev/null +++ b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.chpl @@ -0,0 +1,19 @@ +class Parent { + iter these(): int { halt("Should not be called..."); yield 1; } + iter these(param tag: iterKind): int where tag == iterKind.standalone { halt("Should not be called..."); yield 2;} + iter these(param tag: iterKind): int where tag == iterKind.leader { halt("Should not be called..."); yield 3; } + iter these(param tag: iterKind, followThis): int where tag == iterKind.follower { halt("Should not be called..."); yield 4; } +} + +class Child: Parent { + iter these(): int { yield 1; } + iter these(param tag: iterKind): int where tag == iterKind.standalone { yield 2;} + iter these(param tag: iterKind): int where tag == iterKind.leader { yield 3; } + iter these(param tag: iterKind, followThis): int where tag == iterKind.follower { yield 4; } +} + +var child: Parent = new Child(); + +for c in child do writeln(c); +forall c in child do writeln(c); +forall c in zip(child, child) do writeln(c); diff --git a/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.future b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.future new file mode 100644 index 000000000000..d059cb2f6d68 --- /dev/null +++ b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.future @@ -0,0 +1 @@ +bug: virtual parallel iterators cause compiler segfault (#6998) diff --git a/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.good b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.good new file mode 100644 index 000000000000..ee20251c0e15 --- /dev/null +++ b/test/functions/iterators/elliot/dynamicDispatch/virtual-par-iters.good @@ -0,0 +1,3 @@ +1 +2 +(4, 4)