From 8e7e7d11dfca0e26c7ebf4e651f82f33ea3476d2 Mon Sep 17 00:00:00 2001 From: Fergus Henderson Date: Wed, 31 Jul 1996 21:12:11 +0000 Subject: [PATCH] Add a description of the bug with tests/hard_coded/cc_nondet_disj.m. Estimated hours taken: 0.25 mercury/BUGS: Add a description of the bug with tests/hard_coded/cc_nondet_disj.m. --- BUGS | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/BUGS b/BUGS index dfb6b6122..44f28a9d3 100644 --- a/BUGS +++ b/BUGS @@ -104,7 +104,6 @@ Date: Sat, 25 May 1996 19:24:12 +1000 (EST) :- func f(int) = foo. f(_) = g. - ----------------------------------------------------------------------------- Subject: missed mode error Date: Tue, 28 May 1996 02:27:34 +1000 (EST) @@ -142,7 +141,6 @@ Date: Wed, 12 Jun 1996 15:45:59 +1000 On the alpha, if the Mercury runtime catches a signal, it sometimes prints out the wrong value for the PC. - ----------------------------------------------------------------------------- Subject: inference bug Date: Mon, 24 Jun 1996 15:48:12 +1000 (EST) @@ -158,3 +156,18 @@ relation__atsort does not correctly compute the topological sort for disconnected cliques. These cliques do not appear in the output list. ----------------------------------------------------------------------------- +Subject: cc_nondet and cc_multi disjunctions + +The code generator aborts with "Software Error: map__lookup failed" +when compiling certain code involving disjunctions with output +variables that occur in single-solution contexts, e.g. + +:- pred main(io__state::di, io__state::uo) is cc_multi. + +main --> io__read_line(Res), + ( { Res = ok(['y']) }, io__write_string("Yes\n") + ; { Res = ok(['n']) }, io__write_string("No\n") + ; io__write_string("Huh?\n") + ). + +-----------------------------------------------------------------------------