[m-rev.] for review: standardizing event and call sequence numbers
Zoltan Somogyi
zs at cs.mu.OZ.AU
Fri Sep 6 16:21:00 AEST 2002
Add a mechanism for standardizing the event and call sequence numbers in
debugger output. The mechanism is a global flag whose value is set from
MERCURY_OPTIONS. It is intended to be used only in our own internal testing.
runtime/mercury_trace_base.[ch]:
Define the global, MR_standardize_event_details.
Move the documentation of several globals from the .c to the .h file,
since that is where their users will look. Put those globals in a
consistent order.
Add functions for standardizing event and call sequence numbers,
and use them when printing event details.
runtime/mercury_wrapper.c:
Set MR_standardize_event_details when given the option -de.
runtime/mercury_stack_trace.c:
library/exception.m:
trace/mercury_trace_internal.m:
Respect MR_standardize_event_details.
tests/Mmake.common:
Define the make variable MDB_STD, which is like MDB except it also
puts -de in MERCURY_OPTIONS.
tests/debugger/Mmakefile:
Use MDB_STD instead of MDB for test cases that can benefit from
standardizing event and call sequence numbers.
Put the rules for the test cases in alphabetical order.
tests/debugger/*.exp*:
Update expected outputs after this change.
cvs diff: Diffing .
cvs diff: Diffing bench
cvs diff: Diffing bench/progs
cvs diff: Diffing bench/progs/compress
cvs diff: Diffing bench/progs/icfp2000
cvs diff: Diffing bench/progs/icfp2001
cvs diff: Diffing bench/progs/nuc
cvs diff: Diffing bench/progs/ray
cvs diff: Diffing bench/progs/tree234
cvs diff: Diffing bindist
cvs diff: Diffing boehm_gc
cvs diff: Diffing boehm_gc/Mac_files
cvs diff: Diffing boehm_gc/cord
cvs diff: Diffing boehm_gc/cord/private
cvs diff: Diffing boehm_gc/doc
cvs diff: Diffing boehm_gc/include
cvs diff: Diffing boehm_gc/include/private
cvs diff: Diffing boehm_gc/tests
cvs diff: Diffing browser
cvs diff: Diffing bytecode
cvs diff: Diffing compiler
cvs diff: Diffing compiler/notes
cvs diff: Diffing debian
cvs diff: Diffing deep_profiler
cvs diff: Diffing deep_profiler/notes
cvs diff: Diffing doc
cvs diff: Diffing extras
cvs diff: Diffing extras/aditi
cvs diff: Diffing extras/cgi
cvs diff: Diffing extras/complex_numbers
cvs diff: Diffing extras/complex_numbers/samples
cvs diff: Diffing extras/complex_numbers/tests
cvs diff: Diffing extras/concurrency
cvs diff: Diffing extras/curs
cvs diff: Diffing extras/curs/samples
cvs diff: Diffing extras/curses
cvs diff: Diffing extras/curses/sample
cvs diff: Diffing extras/dynamic_linking
cvs diff: Diffing extras/graphics
cvs diff: Diffing extras/graphics/mercury_opengl
cvs diff: Diffing extras/graphics/mercury_tcltk
cvs diff: Diffing extras/graphics/samples
cvs diff: Diffing extras/graphics/samples/calc
cvs diff: Diffing extras/graphics/samples/maze
cvs diff: Diffing extras/graphics/samples/pent
cvs diff: Diffing extras/lazy_evaluation
cvs diff: Diffing extras/lex
cvs diff: Diffing extras/lex/samples
cvs diff: Diffing extras/logged_output
cvs diff: Diffing extras/moose
cvs diff: Diffing extras/moose/samples
cvs diff: Diffing extras/morphine
cvs diff: Diffing extras/morphine/non-regression-tests
cvs diff: Diffing extras/morphine/scripts
cvs diff: Diffing extras/morphine/source
cvs diff: Diffing extras/odbc
cvs diff: Diffing extras/posix
cvs diff: Diffing extras/quickcheck
cvs diff: Diffing extras/quickcheck/tutes
cvs diff: Diffing extras/references
cvs diff: Diffing extras/references/samples
cvs diff: Diffing extras/references/tests
cvs diff: Diffing extras/stream
cvs diff: Diffing extras/trailed_update
cvs diff: Diffing extras/trailed_update/samples
cvs diff: Diffing extras/trailed_update/tests
cvs diff: Diffing extras/xml
cvs diff: Diffing extras/xml/samples
cvs diff: Diffing java
cvs diff: Diffing java/library
cvs diff: Diffing java/runtime
cvs diff: Diffing library
Index: library/exception.m
===================================================================
RCS file: /home/mercury1/repository/mercury/library/exception.m,v
retrieving revision 1.69
diff -u -b -r1.69 exception.m
--- library/exception.m 2002/08/07 03:18:48 1.69
+++ library/exception.m 2002/09/05 01:44:42
@@ -1819,10 +1819,19 @@
MR_succip = save_succip;
MR_trace_report(stderr);
if (exception_event_number > 0) {
- fprintf(stderr, ""Last trace event before ""
+ if (MR_standardize_event_details) {
+ fprintf(stderr,
+ ""Last trace event before ""
""the unhandled exception was ""
+ ""event #E%ld.\\n"",
+ (long) MR_standardize_event_num( exception_event_number));
+ } else {
+ fprintf(stderr,
+ ""Last trace event before ""
+ ""the unhandled exception was ""
""event #%ld.\\n"",
(long) exception_event_number);
+ }
}
if (MR_trace_enabled) {
/*
cvs diff: Diffing profiler
cvs diff: Diffing robdd
cvs diff: Diffing runtime
Index: runtime/mercury_stack_trace.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_stack_trace.c,v
retrieving revision 1.48
diff -u -b -r1.48 mercury_stack_trace.c
--- runtime/mercury_stack_trace.c 2002/08/19 06:42:09 1.48
+++ runtime/mercury_stack_trace.c 2002/09/05 02:14:59
@@ -18,6 +18,7 @@
#include "mercury_stack_layout.h"
#include "mercury_debug.h"
#include "mercury_array_macros.h"
+#include "mercury_trace_base.h"
#include <stdio.h>
#ifndef MR_HIGHLEVEL_CODE
@@ -886,16 +887,32 @@
}
if (print_details) {
+ unsigned long event_num;
+ unsigned long call_num;
+ unsigned long depth;
+
if (MR_DETISM_DET_STACK(entry->MR_sle_detism)) {
- fprintf(fp, "%7lu %7lu %4lu ",
- (unsigned long) MR_event_num_stackvar(base_sp) + 1,
- (unsigned long) MR_call_num_stackvar(base_sp),
- (unsigned long) MR_call_depth_stackvar(base_sp));
- } else {
- fprintf(fp, "%7lu %7lu %4lu ",
- (unsigned long) MR_event_num_framevar(base_curfr) + 1,
- (unsigned long) MR_call_num_framevar(base_curfr),
- (unsigned long) MR_call_depth_framevar(base_curfr));
+ event_num = MR_event_num_stackvar(base_sp) + 1;
+ call_num = MR_call_num_stackvar(base_sp);
+ depth = MR_call_depth_stackvar(base_sp);
+ } else {
+ event_num = MR_event_num_framevar(base_curfr) + 1;
+ call_num = MR_call_num_framevar(base_curfr);
+ depth = MR_call_depth_framevar(base_curfr);
+ }
+
+ if (MR_standardize_event_details) {
+ char buf[64]; /* plenty big enough */
+
+ event_num = MR_standardize_event_num(event_num);
+ call_num = MR_standardize_call_num(call_num);
+ snprintf(buf, 64, "E%lu", event_num);
+ fprintf(fp, "%7s ", buf);
+ snprintf(buf, 64, "C%lu", call_num);
+ fprintf(fp, "%7s ", buf);
+ fprintf(fp, "%4lu ", depth);
+ } else {
+ fprintf(fp, "%7lu %7lu %4lu ", event_num, call_num, depth);
}
} else {
/* ensure that the remaining columns line up */
Index: runtime/mercury_trace_base.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_trace_base.c,v
retrieving revision 1.45
diff -u -b -r1.45 mercury_trace_base.c
--- runtime/mercury_trace_base.c 2002/07/26 04:20:12 1.45
+++ runtime/mercury_trace_base.c 2002/09/05 11:19:04
@@ -22,6 +22,7 @@
#include "mercury_engine.h"
#include "mercury_wrapper.h"
#include "mercury_misc.h"
+#include "mercury_hash_table.h"
#include "mercury_layout_util.h" /* for MR_generate_proc_name_from_layout */
#include "mercury_runtime_util.h" /* for strerror() on some systems */
#include "mercury_signal.h" /* for MR_setup_signal() */
@@ -37,79 +38,16 @@
#include <sys/wait.h> /* for the wait system call */
#endif
-/*
-** Do we want to use the debugger within this process, or do want to use
-** the Opium-style trace analyzer debugger implemented by an external process.
-** This variable is set in mercury_wrapper.c and never modified afterwards.
-*/
-
-MR_Trace_Type MR_trace_handler = MR_TRACE_INTERNAL;
-
-/*
-** Compiler generated tracing code will check whether MR_trace_enabled is true,
-** before calling MR_trace.
-**
-** MR_trace_enabled should keep the same value throughout the execution of
-** the entire program after being set in mercury_wrapper.c. There are two
-** exceptions to this. First, the Mercury routines called as part of the
-** functionality of the tracer itself (e.g. the term browser) should always be
-** executed with MR_trace_enabled set to MR_FALSE. Second, when a procedure
-** implemented in foreign code has the tabled_for_io_unitize annotation,
-** which means that it can both do I/O and call Mercury code, then we turn the
-** procedure and its descendants into a single unit by turning off tracing
-** within the descendants. This is required to prevent the I/O tabling problems
-** that could otherwise arise if we got retries from within the descendants.
-*/
-
-MR_bool MR_trace_enabled = MR_FALSE;
-
MR_bool MR_have_mdb_window = MR_FALSE;
pid_t MR_mdb_window_pid = 0;
-/*
-** MR_trace_call_seqno counts distinct calls. The prologue of every
-** procedure assigns the current value of this counter as the sequence number
-** of that invocation and increments the counter. This and retry are the only
-** ways that MR_trace_call_seqno is modified.
-**
-** MR_trace_call_depth records the current depth of the call tree. The prologue
-** of every procedure assigns the current value of this variable plus one
-** as the depth of that invocation. Just before making a call, the caller
-** will set MR_trace_call_depth to its own remembered depth value.
-** These and retry are the only ways in which MR_trace_call_depth is modified.
-**
-** Although neither MR_trace_call_seqno nor MR_trace_call_depth are used
-** directly in this module, the seqno and depth arguments of MR_trace
-** always derive their values from the saved values of these two global
-** variables.
-*/
-
+MR_bool MR_trace_enabled = MR_FALSE;
MR_Unsigned MR_trace_call_seqno = 0;
MR_Unsigned MR_trace_call_depth = 0;
-
-/*
-** MR_trace_event_number is a simple counter of events. This is used in
-** two places: in the debugger for display to the user and for skipping
-** a given number of events, and when printing an abort message, so that
-** the programmer can zero in on the source of the problem more quickly.
-*/
-
MR_Unsigned MR_trace_event_number = 0;
-
-/*
-** MR_trace_from_full is a boolean that is set before every call;
-** it states whether the caller is being deep traced, or only shallow
-** traced. If the called code is shallow traced, it will generate
-** interface trace events only if MR_trace_from_full is true.
-** (It will never generate internal events.) If the called code is deep
-** traced, it will always generate all trace events, external and internal,
-** regardless of the setting of this variable on entry.
-**
-** The initial value is set to MR_TRUE to allow the programmer to gain
-** control in the debugger when main/2 is called.
-*/
-
MR_bool MR_trace_from_full = MR_TRUE;
+MR_bool MR_standardize_event_details = MR_FALSE;
+MR_Trace_Type MR_trace_handler = MR_TRACE_INTERNAL;
/*
** I/O tabling is documented in library/table_builtin.m
@@ -155,6 +93,14 @@
"NONE",
};
+static const void *MR_get_orig_number(const void *record);
+static int MR_hash_orig_number(const void *orig_number);
+static MR_bool MR_equal_orig_number(const void *orig_number1,
+ const void *orig_number2);
+static MR_Unsigned MR_standardize_num(MR_Unsigned num,
+ MR_Hash_Table *table_ptr, MR_bool *init_ptr,
+ int *next_ptr);
+
MR_Code *
MR_trace(const MR_Label_Layout *layout)
{
@@ -288,6 +234,91 @@
MR_trace_enabled = MR_FALSE;
}
+#define MR_STANDARD_HASH_TABLE_SIZE 1024
+
+typedef struct {
+ MR_Unsigned MR_std_orig_number;
+ MR_Unsigned MR_std_std_number;
+} MR_Standard_Hash_Record;
+
+static const void *
+MR_get_orig_number(const void *record)
+{
+ return (const void *)
+ ((MR_Standard_Hash_Record *) record)->MR_std_orig_number;
+}
+
+static int
+MR_hash_orig_number(const void *orig_number)
+{
+ return (int) (((MR_Unsigned) orig_number)
+ % MR_STANDARD_HASH_TABLE_SIZE);
+}
+
+static MR_bool
+MR_equal_orig_number(const void *orig_number1, const void *orig_number2)
+{
+ return (MR_Unsigned) orig_number1 == (MR_Unsigned) orig_number2;
+}
+
+static MR_Hash_Table MR_standard_event_num_table = {
+ MR_STANDARD_HASH_TABLE_SIZE, NULL,
+ MR_get_orig_number, MR_hash_orig_number, MR_equal_orig_number
+};
+
+static MR_Hash_Table MR_standard_call_num_table = {
+ MR_STANDARD_HASH_TABLE_SIZE, NULL,
+ MR_get_orig_number, MR_hash_orig_number, MR_equal_orig_number
+};
+
+static MR_bool MR_init_event_num_hash = MR_FALSE;
+static MR_bool MR_init_call_num_hash = MR_FALSE;
+
+static int MR_next_std_event_num = 1;
+static int MR_next_std_call_num = 1;
+
+static MR_Unsigned
+MR_standardize_num(MR_Unsigned num, MR_Hash_Table *table_ptr,
+ MR_bool *init_ptr, int *next_ptr)
+{
+ const MR_Standard_Hash_Record *record;
+ MR_Standard_Hash_Record *new_record;
+ int std_num;
+
+ if (! *init_ptr) {
+ *init_ptr = MR_TRUE;
+ MR_init_hash_table(*table_ptr);
+ }
+
+ record = MR_lookup_hash_table(*table_ptr, num);
+ if (record != NULL) {
+ return record->MR_std_std_number;
+ }
+
+ std_num = *next_ptr;
+ (*next_ptr)++;
+
+ new_record = MR_GC_NEW(MR_Standard_Hash_Record);
+ new_record->MR_std_orig_number = num;
+ new_record->MR_std_std_number = std_num;
+ (void) MR_insert_hash_table(*table_ptr, new_record);
+ return std_num;
+}
+
+MR_Unsigned
+MR_standardize_event_num(MR_Unsigned event_num)
+{
+ return MR_standardize_num(event_num, &MR_standard_event_num_table,
+ &MR_init_event_num_hash, &MR_next_std_event_num);
+}
+
+MR_Unsigned
+MR_standardize_call_num(MR_Unsigned call_num)
+{
+ return MR_standardize_num(call_num, &MR_standard_call_num_table,
+ &MR_init_call_num_hash, &MR_next_std_call_num);
+}
+
void
MR_trace_report(FILE *fp)
{
@@ -297,8 +328,14 @@
** which implies that the user wants trace info on abort.
*/
+ if (MR_standardize_event_details) {
+ fprintf(fp, "Last trace event was event #E%ld.\n",
+ (long) MR_standardize_event_num(
+ MR_trace_event_number));
+ } else {
fprintf(fp, "Last trace event was event #%ld.\n",
(long) MR_trace_event_number);
+ }
#ifdef MR_TRACE_HISTOGRAM
{
@@ -340,8 +377,14 @@
** which implies that the user wants trace info on abort.
*/
+ if (MR_standardize_event_details) {
+ sprintf(buf, "Last trace event was event #E%ld.\n",
+ (long) MR_standardize_event_num(
+ MR_trace_event_number));
+ } else {
sprintf(buf, "Last trace event was event #%ld.\n",
(long) MR_trace_event_number);
+ }
write(fd, buf, strlen(buf));
}
}
Index: runtime/mercury_trace_base.h
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_trace_base.h,v
retrieving revision 1.25
diff -u -b -r1.25 mercury_trace_base.h
--- runtime/mercury_trace_base.h 2002/07/22 07:13:10 1.25
+++ runtime/mercury_trace_base.h 2002/09/04 02:16:03
@@ -114,19 +114,99 @@
** XXX They should probably be in MercuryEngine.
*/
+/*
+** Compiler generated tracing code will check whether MR_trace_enabled is true,
+** before calling MR_trace.
+**
+** MR_trace_enabled should keep the same value throughout the execution of
+** the entire program after being set in mercury_wrapper.c. There are two
+** exceptions to this. First, the Mercury routines called as part of the
+** functionality of the tracer itself (e.g. the term browser) should always be
+** executed with MR_trace_enabled set to MR_FALSE. Second, when a procedure
+** implemented in foreign code has the tabled_for_io_unitize annotation,
+** which means that it can both do I/O and call Mercury code, then we turn the
+** procedure and its descendants into a single unit by turning off tracing
+** within the descendants. This is required to prevent the I/O tabling problems
+** that could otherwise arise if we got retries from within the descendants.
+*/
+
+extern MR_bool MR_trace_enabled;
+
+/*
+** MR_trace_call_seqno counts distinct calls. The prologue of every
+** procedure assigns the current value of this counter as the sequence number
+** of that invocation and increments the counter. This and retry are the only
+** ways that MR_trace_call_seqno is modified.
+**
+** MR_trace_call_depth records the current depth of the call tree. The prologue
+** of every procedure assigns the current value of this variable plus one
+** as the depth of that invocation. Just before making a call, the caller
+** will set MR_trace_call_depth to its own remembered depth value.
+** These and retry are the only ways in which MR_trace_call_depth is modified.
+**
+** Although neither MR_trace_call_seqno nor MR_trace_call_depth are used
+** directly in this module, the seqno and depth arguments of MR_trace
+** always derive their values from the saved values of these two global
+** variables.
+*/
+
extern MR_Unsigned MR_trace_call_seqno;
extern MR_Unsigned MR_trace_call_depth;
+/*
+** MR_trace_event_number is a simple counter of events. This is used in
+** two places: in the debugger for display to the user and for skipping
+** a given number of events, and when printing an abort message, so that
+** the programmer can zero in on the source of the problem more quickly.
+*/
+
+extern MR_Unsigned MR_trace_event_number;
+
+/*
+** MR_trace_from_full is a boolean that is set before every call;
+** it states whether the caller is being deep traced, or only shallow
+** traced. If the called code is shallow traced, it will generate
+** interface trace events only if MR_trace_from_full is true.
+** (It will never generate internal events.) If the called code is deep
+** traced, it will always generate all trace events, external and internal,
+** regardless of the setting of this variable on entry.
+**
+** The initial value is set to MR_TRUE to allow the programmer to gain
+** control in the debugger when main/2 is called.
+*/
+
+extern MR_bool MR_trace_from_full;
+
+/*
+** If set to true, MR_standardize_event_details modifies how functions that
+** print event numbers and call sequence numbers operate, making them
+** standardize these numbers. The Nth event number to be printed will be
+** printed as E<N> and the Nth call sequence number will be printed as C<N>
+** regardless of their actual values. This is intended to avoid hardcoding
+** concrete event and call numbers in the expected outputs of the debugger
+** test cases.
+**
+** The functions MR_standardize_event_num and MR_standardize_call_num implement
+** the standardization itself.
+*/
+
+extern MR_bool MR_standardize_event_details;
+
+extern MR_Unsigned MR_standardize_event_num(MR_Unsigned event_num);
+extern MR_Unsigned MR_standardize_call_num(MR_Unsigned call_num);
+
+/*
+** Do we want to use the debugger within this process, or do want to use
+** the Opium-style trace analyzer debugger implemented by an external process.
+** This variable is set in mercury_wrapper.c and never modified afterwards.
+*/
+
typedef enum {
MR_TRACE_INTERNAL,
MR_TRACE_EXTERNAL
} MR_Trace_Type;
extern MR_Trace_Type MR_trace_handler;
-extern MR_bool MR_trace_enabled;
-
-extern MR_Unsigned MR_trace_event_number;
-extern MR_bool MR_trace_from_full;
/*
** The details of I/O tabling are documented in library/table_builtin.m.
Index: runtime/mercury_wrapper.c
===================================================================
RCS file: /home/mercury1/repository/mercury/runtime/mercury_wrapper.c,v
retrieving revision 1.109
diff -u -b -r1.109 mercury_wrapper.c
--- runtime/mercury_wrapper.c 2002/08/21 11:27:43 1.109
+++ runtime/mercury_wrapper.c 2002/09/03 15:33:46
@@ -1047,6 +1047,8 @@
MR_calldebug = MR_TRUE;
} else if (MR_streq(MR_optarg, "d")) {
MR_detaildebug = MR_TRUE;
+ } else if (MR_streq(MR_optarg, "e")) {
+ MR_standardize_event_details = MR_TRUE;
} else if (MR_streq(MR_optarg, "f")) {
MR_finaldebug = MR_TRUE;
} else if (MR_streq(MR_optarg, "g")) {
cvs diff: Diffing runtime/GETOPT
cvs diff: Diffing runtime/machdeps
cvs diff: Diffing samples
cvs diff: Diffing samples/c_interface
cvs diff: Diffing samples/c_interface/c_calls_mercury
cvs diff: Diffing samples/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/c_interface/mercury_calls_c
cvs diff: Diffing samples/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/diff
cvs diff: Diffing samples/muz
cvs diff: Diffing samples/rot13
cvs diff: Diffing samples/solutions
cvs diff: Diffing samples/tests
cvs diff: Diffing samples/tests/c_interface
cvs diff: Diffing samples/tests/c_interface/c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/cplusplus_calls_mercury
cvs diff: Diffing samples/tests/c_interface/mercury_calls_c
cvs diff: Diffing samples/tests/c_interface/mercury_calls_cplusplus
cvs diff: Diffing samples/tests/c_interface/mercury_calls_fortran
cvs diff: Diffing samples/tests/c_interface/simpler_c_calls_mercury
cvs diff: Diffing samples/tests/c_interface/simpler_cplusplus_calls_mercury
cvs diff: Diffing samples/tests/diff
cvs diff: Diffing samples/tests/muz
cvs diff: Diffing samples/tests/rot13
cvs diff: Diffing samples/tests/solutions
cvs diff: Diffing samples/tests/toplevel
cvs diff: Diffing scripts
cvs diff: Diffing tests
Index: tests/Mmake.common
===================================================================
RCS file: /home/mercury1/repository/tests/Mmake.common,v
retrieving revision 1.29
diff -u -b -r1.29 Mmake.common
--- tests/Mmake.common 2002/09/05 12:35:59 1.29
+++ tests/Mmake.common 2002/09/06 04:16:59
@@ -59,6 +59,11 @@
MDB = HOME=/nonexistent MERCURY_SUPPRESS_MDB_BANNER=yes mdb
+# Debugger test cases can standardize the reported event numbers and call
+# sequence numbers by using $(MDB_STD) instead of $(MDB) on the command line.
+
+MDB_STD = MERCURY_OPTIONS="$$MERCURY_OPTIONS -de" $(MDB)
+
#-----------------------------------------------------------------------------#
# .PRECIOUS: %.c %.o %_init.c
cvs diff: Diffing tests/benchmarks
cvs diff: Diffing tests/debugger
Index: tests/debugger/Mmakefile
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/Mmakefile,v
retrieving revision 1.84
diff -u -b -r1.84 Mmakefile
--- tests/debugger/Mmakefile 2002/09/02 05:43:22 1.84
+++ tests/debugger/Mmakefile 2002/09/04 02:47:45
@@ -117,7 +117,7 @@
$(MDB) ./all_solutions < all_solutions.inp > all_solutions.out 2>&1
breakpoints.out: breakpoints breakpoints.inp
- $(MDB) ./breakpoints < breakpoints.inp > breakpoints.out 2>&1
+ $(MDB_STD) ./breakpoints < breakpoints.inp > breakpoints.out 2>&1
# We need to pipe the output through sed to avoid hard-coding dependencies on
# particular line numbers in the standard library source code.
@@ -128,7 +128,7 @@
# We need to pipe the output through sed to avoid hard-coding dependencies on
# particular line numbers in the standard library source code.
browser_test.out: browser_test browser_test.inp
- $(MDB) ./browser_test < browser_test.inp 2>&1 | \
+ $(MDB_STD) ./browser_test < browser_test.inp 2>&1 | \
sed 's/io.m:[0-9]*/io.m:NNNN/g' > browser_test.out 2>&1
# We need to pipe the output through sed to avoid hard-coding dependencies on
@@ -145,20 +145,13 @@
debugger_regs.out: debugger_regs debugger_regs.inp
$(MDB) ./debugger_regs < debugger_regs.inp > debugger_regs.out 2>&1
-# We need to pipe the output through sed to avoid hard-coding dependencies on
-# particular line numbers in the standard library source code.
-exception_value.out: exception_value exception_value.inp
- $(MDB) ./exception_value < exception_value.inp 2>&1 | \
- sed -e 's/exception.m:[0-9]*/exception.m:NNNN/g' | \
- sed -e '/EXCP/s/).*/)/' > exception_value.out 2>&1
-
# The exception_cmd, exception_vars, polymorphic_output and loopcheck tests
# are supposed to return a non-zero exit status, since they exit by throwing
# an exception. We strip the goal paths from their exception events, since
# the exact goal paths are dependent on optimization level. The stripping
# must be done outside the condition of the if-then-else.
exception_cmd.out: exception_cmd exception_cmd.inp
- if $(MDB) ./exception_cmd < exception_cmd.inp \
+ if $(MDB_STD) ./exception_cmd < exception_cmd.inp \
> exception_cmd.tmp 2>&1; \
then \
sed -e '/EXCP/s/).*/)/' < exception_cmd.tmp \
@@ -172,8 +165,15 @@
true; \
fi
+# We need to pipe the output through sed to avoid hard-coding dependencies on
+# particular line numbers in the standard library source code.
+exception_value.out: exception_value exception_value.inp
+ $(MDB_STD) ./exception_value < exception_value.inp 2>&1 | \
+ sed -e 's/exception.m:[0-9]*/exception.m:NNNN/g' | \
+ sed -e '/EXCP/s/).*/)/' > exception_value.out 2>&1
+
exception_vars.out: exception_vars exception_vars.inp
- if $(MDB) ./exception_vars < exception_vars.inp \
+ if $(MDB_STD) ./exception_vars < exception_vars.inp \
> exception_vars.tmp 2>&1; \
then \
sed -e '/EXCP/s/).*/)/' < exception_vars.tmp \
@@ -187,20 +187,23 @@
true; \
fi
-polymorphic_output.out: polymorphic_output polymorphic_output.inp
- if $(MDB) ./polymorphic_output < polymorphic_output.inp \
- > polymorphic_output.tmp 2>&1; \
- then \
- sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
- > polymorphic_output.out 2>&1; \
- rm polymorphic_output.tmp; \
- false; \
- else \
- sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
- > polymorphic_output.out 2>&1; \
- rm polymorphic_output.tmp; \
- true; \
- fi
+# We need to pipe the output through sed to avoid hard-coding dependencies on
+# particular line numbers in the standard library source code.
+existential_type_classes.out: existential_type_classes \
+ existential_type_classes.inp
+ $(MDB_STD) ./existential_type_classes < existential_type_classes.inp \
+ 2>&1 | sed 's/string.m:[0-9]*/string.m:NNNN/g' \
+ > existential_type_classes.out
+
+field_names.out: field_names field_names.inp
+ $(MDB) ./field_names < field_names.inp > field_names.out 2>&1
+
+higher_order.out: higher_order higher_order.inp
+ $(MDB_STD) ./higher_order < higher_order.inp > higher_order.out 2>&1
+
+implied_instance.out: implied_instance implied_instance.inp
+ $(MDB) ./implied_instance < implied_instance.inp \
+ > implied_instance.out 2>&1
loopcheck.out: loopcheck loopcheck.inp
if $(MDB) ./loopcheck < loopcheck.inp \
@@ -219,25 +222,8 @@
true; \
fi
-# We need to pipe the output through sed to avoid hard-coding dependencies on
-# particular line numbers in the standard library source code.
-existential_type_classes.out: existential_type_classes \
- existential_type_classes.inp
- $(MDB) ./existential_type_classes < existential_type_classes.inp 2>&1 | \
- sed 's/string.m:[0-9]*/string.m:NNNN/g' > existential_type_classes.out
-
-field_names.out: field_names field_names.inp
- $(MDB) ./field_names < field_names.inp > field_names.out 2>&1
-
-higher_order.out: higher_order higher_order.inp
- $(MDB) ./higher_order < higher_order.inp > higher_order.out 2>&1
-
-implied_instance.out: implied_instance implied_instance.inp
- $(MDB) ./implied_instance < implied_instance.inp \
- > implied_instance.out 2>&1
-
interpreter.out: interpreter interpreter.inp
- $(MDB) ./interpreter interpreter.m < interpreter.inp \
+ $(MDB_STD) ./interpreter interpreter.m < interpreter.inp \
> interpreter.out 2>&1
lval_desc_array.out: lval_desc_array lval_desc_array.inp
@@ -256,11 +242,26 @@
$(MDB) ./output_term_dep < output_term_dep.inp 2>&1 | \
sed 's/io.m:[0-9]*/io.m:NNNN/g' > output_term_dep.out 2>&1
+polymorphic_output.out: polymorphic_output polymorphic_output.inp
+ if $(MDB_STD) ./polymorphic_output < polymorphic_output.inp \
+ > polymorphic_output.tmp 2>&1; \
+ then \
+ sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
+ > polymorphic_output.out 2>&1; \
+ rm polymorphic_output.tmp; \
+ false; \
+ else \
+ sed -e '/EXCP/s/).*/)/' < polymorphic_output.tmp\
+ > polymorphic_output.out 2>&1; \
+ rm polymorphic_output.tmp; \
+ true; \
+ fi
+
print_goal.out: print_goal print_goal.inp
- $(MDB) ./print_goal < print_goal.inp > print_goal.out 2>&1
+ $(MDB_STD) ./print_goal < print_goal.inp > print_goal.out 2>&1
queens.out: queens queens.inp
- $(MDB) ./queens < queens.inp > queens.out 2>&1
+ $(MDB_STD) ./queens < queens.inp > queens.out 2>&1
queens_rep.out: queens_rep queens_rep.inp
$(MDB) ./queens_rep < queens_rep.inp > queens_rep.out 2>&1
@@ -287,20 +288,20 @@
$(MDB) ./shallow < shallow.inp > shallow.out 2>&1
tabled_read.out: tabled_read tabled_read.inp tabled_read.data
- $(MDB) ./tabled_read < tabled_read.inp > tabled_read.out 2>&1
+ $(MDB_STD) ./tabled_read < tabled_read.inp > tabled_read.out 2>&1
tabled_read_unitize.out: tabled_read_unitize.data
tabled_read_unitize.out: tabled_read_unitize tabled_read_unitize.inp
- $(MDB) ./tabled_read_unitize < tabled_read_unitize.inp \
+ $(MDB_STD) ./tabled_read_unitize < tabled_read_unitize.inp \
> tabled_read_unitize.out 2>&1
tabled_read_decl.out: tabled_read_decl tabled_read_decl.inp tabled_read_decl.data
- $(MDB) ./tabled_read_decl < tabled_read_decl.inp \
+ $(MDB_STD) ./tabled_read_decl < tabled_read_decl.inp \
> tabled_read_decl.out 2>&1
type_desc_test.out: type_desc_test type_desc_test.inp
- $(MDB) ./type_desc_test < type_desc_test.inp \
+ $(MDB_STD) ./type_desc_test < type_desc_test.inp \
> type_desc_test.out 2>&1
# When WORKSPACE is set, use $(WORKSPACE)/tools/lmc to compile the query.
Index: tests/debugger/breakpoints.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/breakpoints.exp,v
retrieving revision 1.7
diff -u -b -r1.7 breakpoints.exp
--- tests/debugger/breakpoints.exp 2002/02/11 12:52:54 1.7
+++ tests/debugger/breakpoints.exp 2002/09/05 12:31:20
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
+ E1: C1 1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -22,7 +22,7 @@
Which do you want to put a breakpoint on (0-1 or *)? 0
0: + stop interface pred breakpoints:data/1-0 (det)
mdb> continue
- 3: 3 3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
+ E2: C2 3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
mdb> disable 0
0: - stop interface pred breakpoints:data/1-0 (det)
mdb> break info
@@ -91,21 +91,21 @@
mdb> break nodiag
0: + stop interface pred breakpoints:nodiag/3-0 (semidet)
mdb> continue
- 7: 5 3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+ E3: C3 3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
mdb> continue
- 8: 5 3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
+ E4: C3 3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
mdb> finish -N
- 12: 7 4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E5: C4 4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> finish -n
- 38: 7 4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E6: C4 4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> continue
- 39: 5 3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+ E7: C3 3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
mdb> continue
- 40: 16 3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+ E8: C5 3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
mdb> finish
- 42: 17 4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
- 45: 17 4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
- 46: 16 3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+ E9: C6 4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+ E10: C6 4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+ E11: C5 3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
mdb> delete *
0: E stop interface pred breakpoints:nodiag/3-0 (semidet)
1: E stop interface pred breakpoints:qperm/2-0 (nondet)
@@ -127,14 +127,14 @@
0: + stop interface pred breakpoints:qperm/2-0 (nondet)
(ignore next 3 interface events)
mdb> continue
- 50: 11 6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E12: C7 6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> print *
HeadVar__1 [4, 5]
mdb> ignore -E4 0
0: + stop interface pred breakpoints:qperm/2-0 (nondet)
(ignore next 4 call events)
mdb> continue
- 123: 32 8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E13: C8 8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> print *
HeadVar__1 []
mdb> delete *
Index: tests/debugger/breakpoints.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/breakpoints.exp2,v
retrieving revision 1.3
diff -u -b -r1.3 breakpoints.exp2
--- tests/debugger/breakpoints.exp2 2002/08/01 06:05:00 1.3
+++ tests/debugger/breakpoints.exp2 2002/09/05 16:55:44
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
+ E1: C1 1 CALL pred breakpoints:main/2-0 (cc_multi) breakpoints.m:17
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -22,7 +22,7 @@
Which do you want to put a breakpoint on (0-1 or *)? 0
0: + stop interface pred breakpoints:data/1-0 (det)
mdb> continue
- 3: 3 3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
+ E2: C2 3 CALL pred breakpoints:data/1-0 (det) breakpoints.m:44 (breakpoints.m:42)
mdb> disable 0
0: - stop interface pred breakpoints:data/1-0 (det)
mdb> break info
@@ -99,21 +99,21 @@
mdb> break nodiag
0: + stop interface pred breakpoints:nodiag/3-0 (semidet)
mdb> continue
- 7: 5 3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+ E3: C3 3 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
mdb> continue
- 8: 5 3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
+ E4: C3 3 SWTC pred breakpoints:qperm/2-0 (nondet) s2; breakpoints.m:51
mdb> finish -N
- 12: 7 4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E5: C4 4 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> finish -n
- 38: 7 4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E6: C4 4 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> continue
- 39: 5 3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
+ E7: C3 3 EXIT pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:47)
mdb> continue
- 40: 16 3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+ E8: C5 3 CALL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
mdb> finish
- 42: 17 4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
- 45: 17 4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
- 46: 16 3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
+ E9: C6 4 CALL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+ E10: C6 4 FAIL pred breakpoints:nodiag/3-0 (semidet) breakpoints.m:65 (breakpoints.m:62)
+ E11: C5 3 FAIL pred breakpoints:safe/1-0 (semidet) breakpoints.m:60 (breakpoints.m:48)
mdb> delete *
0: E stop interface pred breakpoints:nodiag/3-0 (semidet)
1: E stop interface pred breakpoints:qperm/2-0 (nondet)
@@ -135,14 +135,14 @@
0: + stop interface pred breakpoints:qperm/2-0 (nondet)
(ignore next 3 interface events)
mdb> continue
- 50: 11 6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E12: C7 6 REDO pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> print *
HeadVar__1 [4, 5]
mdb> ignore -E4 0
0: + stop interface pred breakpoints:qperm/2-0 (nondet)
(ignore next 4 call events)
mdb> continue
- 123: 32 8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
+ E13: C8 8 CALL pred breakpoints:qperm/2-0 (nondet) breakpoints.m:50 (breakpoints.m:54)
mdb> print *
HeadVar__1 []
mdb> delete *
Index: tests/debugger/browser_test.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/browser_test.exp,v
retrieving revision 1.12
diff -u -b -r1.12 browser_test.exp
--- tests/debugger/browser_test.exp 2002/06/05 16:41:21 1.12
+++ tests/debugger/browser_test.exp 2002/09/05 12:33:06
@@ -1,8 +1,8 @@
- 1: 1 1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
+ E1: C1 1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
mdb> echo on
Command echo enabled.
mdb> goto 3
- 3: 2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+ E2: C2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
mdb> set format pretty
mdb> print *
Data (arg 1)
@@ -97,8 +97,8 @@
mdb> print 1^1^2^3
mdb: the path 3 does not exist.
mdb> retry
- 2: 2 2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+ E3: C2 2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
mdb> continue -a
- 3: 2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+ E2: C2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small)).
- 4: 1 1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
+ E4: C1 1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
Index: tests/debugger/browser_test.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/browser_test.exp2,v
retrieving revision 1.13
diff -u -b -r1.13 browser_test.exp2
--- tests/debugger/browser_test.exp2 2002/06/05 16:41:21 1.13
+++ tests/debugger/browser_test.exp2 2002/09/05 16:58:13
@@ -1,8 +1,8 @@
- 1: 1 1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
+ E1: C1 1 CALL pred browser_test:main/2-0 (det) browser_test.m:11
mdb> echo on
Command echo enabled.
mdb> goto 3
- 3: 2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+ E2: C2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
mdb> set format pretty
mdb> print *
Data (arg 1)
@@ -97,12 +97,12 @@
mdb> print 1^1^2^3
mdb: the path 3 does not exist.
mdb> retry
- 2: 2 2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+ E3: C2 2 CALL pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
mdb> continue -a
- 3: 2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
- 4: 3 2 CALL pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
-big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small)) 5: 3 2 EXIT pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
- 6: 4 2 CALL pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
+ E2: C2 2 EXIT pred browser_test:big_data/1-0 (det) browser_test.m:18 (browser_test.m:12)
+ E4: C3 2 CALL pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
+big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small)) E5: C3 2 EXIT pred io:print/3-0 (det) io.m:NNNN (browser_test.m:13)
+ E6: C4 2 CALL pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
.
- 7: 4 2 EXIT pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
- 8: 1 1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
+ E7: C4 2 EXIT pred io:write_string/3-0 (det) io.m:NNNN (browser_test.m:14)
+ E8: C1 1 EXIT pred browser_test:main/2-0 (det) browser_test.m:11
Index: tests/debugger/exception_cmd.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_cmd.exp,v
retrieving revision 1.5
diff -u -b -r1.5 exception_cmd.exp
--- tests/debugger/exception_cmd.exp 2002/07/25 16:20:53 1.5
+++ tests/debugger/exception_cmd.exp 2002/09/05 12:31:40
@@ -1,12 +1,12 @@
- 1: 1 1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
+ E1: C1 1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
mdb> echo on
Command echo enabled.
mdb> exception
- 4: 2 2 EXCP pred exception_cmd:test/2-0 (det)
+ E2: C2 2 EXCP pred exception_cmd:test/2-0 (det)
mdb> print *
X (arg 1) 42
mdb> continue
Uncaught Mercury exception:
Software Error: oops
-Last trace event was event #5.
-Last trace event before the unhandled exception was event #3.
+Last trace event was event #E3.
+Last trace event before the unhandled exception was event #E4.
Index: tests/debugger/exception_cmd.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_cmd.exp2,v
retrieving revision 1.5
diff -u -b -r1.5 exception_cmd.exp2
--- tests/debugger/exception_cmd.exp2 2002/07/25 16:20:53 1.5
+++ tests/debugger/exception_cmd.exp2 2002/09/05 16:56:15
@@ -1,12 +1,12 @@
- 1: 1 1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
+ E1: C1 1 CALL pred exception_cmd:main/2-0 (det) exception_cmd.m:12
mdb> echo on
Command echo enabled.
mdb> exception
- 5: 3 3 EXCP pred require:error/1-0 (erroneous)
+ E2: C2 3 EXCP pred require:error/1-0 (erroneous)
mdb> print *
Message (arg 1) "oops"
mdb> continue
Uncaught Mercury exception:
Software Error: oops
-Last trace event was event #9.
-Last trace event before the unhandled exception was event #4.
+Last trace event was event #E3.
+Last trace event before the unhandled exception was event #E4.
Index: tests/debugger/exception_value.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_value.exp,v
retrieving revision 1.5
diff -u -b -r1.5 exception_value.exp
--- tests/debugger/exception_value.exp 2001/09/25 09:37:10 1.5
+++ tests/debugger/exception_value.exp 2002/09/05 12:31:44
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
+ E1: C1 1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -7,9 +7,9 @@
mdb> break q
1: + stop interface pred exception_value:q/1-0 (det)
mdb> continue
- 3: 3 3 CALL pred exception_value:p/1-0 (det) exception_value.m:30
+ E2: C2 3 CALL pred exception_value:p/1-0 (det) exception_value.m:30
mdb> finish
- 4: 3 3 EXCP pred exception_value:p/1-0 (det)
+ E3: C2 3 EXCP pred exception_value:p/1-0 (det)
mdb> print exception
"p exception"
mdb> continue
@@ -17,9 +17,9 @@
This may result in some exception events
being omitted from the trace.
exception(univ_cons("p exception"))
- 7: 5 3 CALL pred exception_value:q/1-0 (det) exception_value.m:35
+ E4: C3 3 CALL pred exception_value:q/1-0 (det) exception_value.m:35
mdb> finish
- 8: 5 3 EXCP pred exception_value:q/1-0 (det)
+ E5: C3 3 EXCP pred exception_value:q/1-0 (det)
mdb> browse exception
browser> set depth 9
browser> set size 99
Index: tests/debugger/exception_value.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_value.exp2,v
retrieving revision 1.5
diff -u -b -r1.5 exception_value.exp2
--- tests/debugger/exception_value.exp2 2001/09/25 09:37:10 1.5
+++ tests/debugger/exception_value.exp2 2002/09/05 16:56:22
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
+ E1: C1 1 CALL pred exception_value:main/2-0 (cc_multi) exception_value.m:12
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -7,16 +7,16 @@
mdb> break q
1: + stop interface pred exception_value:q/1-0 (det)
mdb> continue
- 4: 4 4 CALL pred exception_value:p/1-0 (det) exception_value.m:30 (exception.m:NNNN)
+ E2: C2 4 CALL pred exception_value:p/1-0 (det) exception_value.m:30 (exception.m:NNNN)
mdb> finish
- 7: 4 4 EXCP pred exception_value:p/1-0 (det)
+ E3: C2 4 EXCP pred exception_value:p/1-0 (det)
mdb> print exception
"p exception"
mdb> continue
exception(univ_cons("p exception"))
- 18: 11 4 CALL pred exception_value:q/1-0 (det) exception_value.m:35 (exception.m:NNNN)
+ E4: C3 4 CALL pred exception_value:q/1-0 (det) exception_value.m:35 (exception.m:NNNN)
mdb> finish
- 21: 11 4 EXCP pred exception_value:q/1-0 (det)
+ E5: C3 4 EXCP pred exception_value:q/1-0 (det)
mdb> browse exception
browser> set depth 9
browser> set size 99
Index: tests/debugger/exception_vars.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/exception_vars.exp,v
retrieving revision 1.8
diff -u -b -r1.8 exception_vars.exp
--- tests/debugger/exception_vars.exp 2002/07/25 16:20:53 1.8
+++ tests/debugger/exception_vars.exp 2002/09/05 12:31:47
@@ -1,14 +1,14 @@
- 1: 1 1 CALL pred exception_vars:main/2-0 (det) exception_vars.m:12
+ E1: C1 1 CALL pred exception_vars:main/2-0 (det) exception_vars.m:12
mdb> echo on
Command echo enabled.
mdb> goto 2
- 2: 2 2 CALL pred exception_vars:test/2-0 (det) exception_vars.m:19 (exception_vars.m:12)
+ E2: C2 2 CALL pred exception_vars:test/2-0 (det) exception_vars.m:19 (exception_vars.m:12)
mdb> finish
- 4: 2 2 EXCP pred exception_vars:test/2-0 (det)
+ E3: C2 2 EXCP pred exception_vars:test/2-0 (det)
mdb> print *
X (arg 1) 42
mdb> continue
Uncaught Mercury exception:
Software Error: oops
-Last trace event was event #5.
-Last trace event before the unhandled exception was event #3.
+Last trace event was event #E4.
+Last trace event before the unhandled exception was event #E5.
Index: tests/debugger/existential_type_classes.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/existential_type_classes.exp,v
retrieving revision 1.12
diff -u -b -r1.12 existential_type_classes.exp
--- tests/debugger/existential_type_classes.exp 2002/06/05 16:41:22 1.12
+++ tests/debugger/existential_type_classes.exp 2002/09/05 12:31:52
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
+ E1: C1 1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
mdb> echo on
Command echo enabled.
mdb> alias P print *
@@ -9,192 +9,192 @@
mdb> break -i do_foo
0: + stop interface pred existential_type_classes:do_foo/2-0 (det)
mdb> continue -a
- 2: 2 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
+ E2: C2 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 42
mdb>
- 3: 3 3 CALL (from existential_type_classes.m:68)
+ E3: C3 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 42
mdb>
- 4: 4 4 CALL existential_type_classes.m:21
+ E4: C4 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 42
mdb> continue -a
- 5: 5 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E5: C5 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 6: 5 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E6: C5 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 7: 4 4 EXIT existential_type_classes.m:21
+ E7: C4 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 8: 3 3 EXIT (from existential_type_classes.m:68)
+ E8: C3 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 9: 2 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
+ E9: C2 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 42
N (arg 2) 84
mdb> continue -a
- 10: 6 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
+ E10: C6 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) "blah"
mdb>
- 11: 7 3 CALL (from existential_type_classes.m:68)
+ E11: C7 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 "blah"
mdb>
- 12: 8 4 CALL existential_type_classes.m:25
+ E12: C8 4 CALL existential_type_classes.m:25
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 "blah"
mdb> continue -a
- 13: 9 5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
+ E13: C9 5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
pred existential_type_classes:string_foo/2-0 (det)
- 14: 9 5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
+ E14: C9 5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
pred existential_type_classes:string_foo/2-0 (det)
- 15: 8 4 EXIT existential_type_classes.m:25
+ E15: C8 4 EXIT existential_type_classes.m:25
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
- 16: 7 3 EXIT (from existential_type_classes.m:68)
+ E16: C7 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 17: 6 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
+ E17: C6 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) "blah"
N (arg 2) 4
mdb> continue -a
- 18: 10 2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
+ E18: C10 2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
func existential_type_classes:my_exist_t/0-0 (det)
- 19: 10 2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
+ E19: C10 2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
func existential_type_classes:my_exist_t/0-0 (det)
- 20: 11 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
+ E20: C11 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
mdb>
- 21: 12 3 CALL (from existential_type_classes.m:68)
+ E21: C12 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 43
mdb>
- 22: 13 4 CALL existential_type_classes.m:21
+ E22: C13 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 43
mdb> continue -a
- 23: 14 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E23: C14 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 24: 14 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E24: C14 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 25: 13 4 EXIT existential_type_classes.m:21
+ E25: C13 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 26: 12 3 EXIT (from existential_type_classes.m:68)
+ E26: C12 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 27: 11 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
+ E27: C11 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
N (arg 2) 86
mdb> continue -a
- 28: 15 2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
+ E28: C15 2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
func existential_type_classes:call_my_exist_t/0-0 (det)
- 29: 16 3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
+ E29: C16 3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
func existential_type_classes:my_exist_t/0-0 (det)
- 30: 16 3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
+ E30: C16 3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
func existential_type_classes:my_exist_t/0-0 (det)
- 31: 15 2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
+ E31: C15 2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
func existential_type_classes:call_my_exist_t/0-0 (det)
- 32: 17 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
+ E32: C17 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
mdb>
- 33: 18 3 CALL (from existential_type_classes.m:68)
+ E33: C18 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 43
mdb>
- 34: 19 4 CALL existential_type_classes.m:21
+ E34: C19 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 43
mdb> continue -a
- 35: 20 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E35: C20 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 36: 20 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E36: C20 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 37: 19 4 EXIT existential_type_classes.m:21
+ E37: C19 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 38: 18 3 EXIT (from existential_type_classes.m:68)
+ E38: C18 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 39: 17 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
+ E39: C17 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
N (arg 2) 86
mdb> continue -a
- 40: 21 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
+ E40: C21 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
func existential_type_classes:my_univ/1-0 (det)
- 41: 21 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
+ E41: C21 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
func existential_type_classes:my_univ/1-0 (det)
- 42: 22 2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
+ E42: C22 2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
func existential_type_classes:my_univ_value/1-0 (det)
- 43: 22 2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
+ E43: C22 2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
func existential_type_classes:my_univ_value/1-0 (det)
- 44: 23 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
+ E44: C23 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 45
mdb>
- 45: 24 3 CALL (from existential_type_classes.m:68)
+ E45: C24 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 45
mdb>
- 46: 25 4 CALL existential_type_classes.m:21
+ E46: C25 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 45
mdb> continue -a
- 47: 26 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E47: C26 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 48: 26 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E48: C26 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 49: 25 4 EXIT existential_type_classes.m:21
+ E49: C25 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 50: 24 3 EXIT (from existential_type_classes.m:68)
+ E50: C24 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 51: 23 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
+ E51: C23 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 45
N (arg 2) 90
mdb>
- 52: 27 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
+ E52: C27 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
func existential_type_classes:my_univ/1-0 (det)
mdb>
- 53: 27 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
+ E53: C27 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
func existential_type_classes:my_univ/1-0 (det)
mdb>
- 54: 28 2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
+ E54: C28 2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
func existential_type_classes:call_my_univ_value/1-0 (det)
mdb> P
Univ (arg 1) my_univ('<<c_pointer>>')
mdb>
- 55: 29 3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
+ E55: C29 3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
func existential_type_classes:my_univ_value/1-0 (det)
mdb> P
HeadVar__1 my_univ('<<c_pointer>>')
mdb> continue -a
- 56: 29 3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
+ E56: C29 3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
func existential_type_classes:my_univ_value/1-0 (det)
- 57: 28 2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
+ E57: C28 2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
func existential_type_classes:call_my_univ_value/1-0 (det)
- 58: 30 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
+ E58: C30 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) "something"
Index: tests/debugger/existential_type_classes.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/existential_type_classes.exp2,v
retrieving revision 1.12
diff -u -b -r1.12 existential_type_classes.exp2
--- tests/debugger/existential_type_classes.exp2 2002/06/05 16:41:22 1.12
+++ tests/debugger/existential_type_classes.exp2 2002/09/05 16:56:34
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
+ E1: C1 1 CALL pred existential_type_classes:main/2-0 (det) existential_type_classes.m:49
mdb> echo on
Command echo enabled.
mdb> alias P print *
@@ -9,196 +9,196 @@
mdb> break -i do_foo
0: + stop interface pred existential_type_classes:do_foo/2-0 (det)
mdb> continue -a
- 2: 2 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
+ E2: C2 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:51)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 42
mdb>
- 3: 3 3 CALL (from existential_type_classes.m:68)
+ E3: C3 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 42
mdb>
- 4: 4 4 CALL existential_type_classes.m:21
+ E4: C4 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 42
mdb> continue -a
- 5: 5 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E5: C5 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 6: 5 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E6: C5 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 7: 4 4 EXIT existential_type_classes.m:21
+ E7: C4 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 8: 3 3 EXIT (from existential_type_classes.m:68)
+ E8: C3 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 9: 2 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
+ E9: C2 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:51)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 42
N (arg 2) 84
mdb> continue -a
- 10: 6 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
+ E10: C6 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:52)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) "blah"
mdb>
- 11: 7 3 CALL (from existential_type_classes.m:68)
+ E11: C7 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 "blah"
mdb>
- 12: 8 4 CALL existential_type_classes.m:25
+ E12: C8 4 CALL existential_type_classes.m:25
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 "blah"
mdb> continue -a
- 13: 9 5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
+ E13: C9 5 CALL existential_type_classes.m:47 (from existential_type_classes.m:25)
pred existential_type_classes:string_foo/2-0 (det)
- 14: 10 6 CALL string.m:NNNN (from existential_type_classes.m:47)
+ E14: C10 6 CALL string.m:NNNN (from existential_type_classes.m:47)
pred string:length/2-0 (det)
- 15: 10 6 EXIT string.m:NNNN (from existential_type_classes.m:47)
+ E15: C10 6 EXIT string.m:NNNN (from existential_type_classes.m:47)
pred string:length/2-0 (det)
- 16: 9 5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
+ E16: C9 5 EXIT existential_type_classes.m:47 (from existential_type_classes.m:25)
pred existential_type_classes:string_foo/2-0 (det)
- 17: 8 4 EXIT existential_type_classes.m:25
+ E17: C8 4 EXIT existential_type_classes.m:25
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____string__arity0______existential_type_classes__foo_2/2-0 (det)
- 18: 7 3 EXIT (from existential_type_classes.m:68)
+ E18: C7 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 19: 6 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
+ E19: C6 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:52)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) "blah"
N (arg 2) 4
mdb> continue -a
- 20: 11 2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
+ E20: C11 2 CALL existential_type_classes.m:74 (from existential_type_classes.m:53)
func existential_type_classes:my_exist_t/0-0 (det)
- 21: 11 2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
+ E21: C11 2 EXIT existential_type_classes.m:74 (from existential_type_classes.m:53)
func existential_type_classes:my_exist_t/0-0 (det)
- 22: 12 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
+ E22: C12 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:53)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
mdb>
- 23: 13 3 CALL (from existential_type_classes.m:68)
+ E23: C13 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 43
mdb>
- 24: 14 4 CALL existential_type_classes.m:21
+ E24: C14 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 43
mdb> continue -a
- 25: 15 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E25: C15 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 26: 15 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E26: C15 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 27: 14 4 EXIT existential_type_classes.m:21
+ E27: C14 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 28: 13 3 EXIT (from existential_type_classes.m:68)
+ E28: C13 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 29: 12 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
+ E29: C12 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:53)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
N (arg 2) 86
mdb> continue -a
- 30: 16 2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
+ E30: C16 2 CALL existential_type_classes.m:70 (from existential_type_classes.m:54)
func existential_type_classes:call_my_exist_t/0-0 (det)
- 31: 17 3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
+ E31: C17 3 CALL existential_type_classes.m:74 (from existential_type_classes.m:70)
func existential_type_classes:my_exist_t/0-0 (det)
- 32: 17 3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
+ E32: C17 3 EXIT existential_type_classes.m:74 (from existential_type_classes.m:70)
func existential_type_classes:my_exist_t/0-0 (det)
- 33: 16 2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
+ E33: C16 2 EXIT existential_type_classes.m:70 (from existential_type_classes.m:54)
func existential_type_classes:call_my_exist_t/0-0 (det)
- 34: 18 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
+ E34: C18 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:54)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
mdb>
- 35: 19 3 CALL (from existential_type_classes.m:68)
+ E35: C19 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 43
mdb>
- 36: 20 4 CALL existential_type_classes.m:21
+ E36: C20 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 43
mdb> continue -a
- 37: 21 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E37: C21 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 38: 21 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E38: C21 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 39: 20 4 EXIT existential_type_classes.m:21
+ E39: C20 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 40: 19 3 EXIT (from existential_type_classes.m:68)
+ E40: C19 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 41: 18 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
+ E41: C18 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:54)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 43
N (arg 2) 86
mdb> continue -a
- 42: 22 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
+ E42: C22 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:55)
func existential_type_classes:my_univ/1-0 (det)
- 43: 22 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
+ E43: C22 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:55)
func existential_type_classes:my_univ/1-0 (det)
- 44: 23 2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
+ E44: C23 2 CALL existential_type_classes.m:76 (from existential_type_classes.m:55)
func existential_type_classes:my_univ_value/1-0 (det)
- 45: 23 2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
+ E45: C23 2 EXIT existential_type_classes.m:76 (from existential_type_classes.m:55)
func existential_type_classes:my_univ_value/1-0 (det)
- 46: 24 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
+ E46: C24 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:55)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 45
mdb>
- 47: 25 3 CALL (from existential_type_classes.m:68)
+ E47: C25 3 CALL (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
mdb> P
HeadVar__1 45
mdb>
- 48: 26 4 CALL existential_type_classes.m:21
+ E48: C26 4 CALL existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
mdb> P
HeadVar__1 45
mdb> continue -a
- 49: 27 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E49: C27 5 CALL existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 50: 27 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
+ E50: C27 5 EXIT existential_type_classes.m:44 (from existential_type_classes.m:21)
pred existential_type_classes:int_foo/2-0 (det)
- 51: 26 4 EXIT existential_type_classes.m:21
+ E51: C26 4 EXIT existential_type_classes.m:21
pred existential_type_classes:ClassMethod_for_existential_type_classes__fooable____int__arity0______existential_type_classes__foo_2/2-0 (det)
- 52: 25 3 EXIT (from existential_type_classes.m:68)
+ E52: C25 3 EXIT (from existential_type_classes.m:68)
pred existential_type_classes:foo/2-0 (det)
- 53: 24 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
+ E53: C24 2 EXIT existential_type_classes.m:68 (from existential_type_classes.m:55)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) 45
N (arg 2) 90
mdb>
- 54: 28 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
+ E54: C28 2 CALL existential_type_classes.m:82 (from existential_type_classes.m:56)
func existential_type_classes:my_univ/1-0 (det)
mdb>
- 55: 28 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
+ E55: C28 2 EXIT existential_type_classes.m:82 (from existential_type_classes.m:56)
func existential_type_classes:my_univ/1-0 (det)
mdb>
- 56: 29 2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
+ E56: C29 2 CALL existential_type_classes.m:72 (from existential_type_classes.m:56)
func existential_type_classes:call_my_univ_value/1-0 (det)
mdb> P
Univ (arg 1) my_univ('<<c_pointer>>')
mdb>
- 57: 30 3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
+ E57: C30 3 CALL existential_type_classes.m:76 (from existential_type_classes.m:72)
func existential_type_classes:my_univ_value/1-0 (det)
mdb> P
HeadVar__1 my_univ('<<c_pointer>>')
mdb> continue -a
- 58: 30 3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
+ E58: C30 3 EXIT existential_type_classes.m:76 (from existential_type_classes.m:72)
func existential_type_classes:my_univ_value/1-0 (det)
- 59: 29 2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
+ E59: C29 2 EXIT existential_type_classes.m:72 (from existential_type_classes.m:56)
func existential_type_classes:call_my_univ_value/1-0 (det)
- 60: 31 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
+ E60: C31 2 CALL existential_type_classes.m:68 (from existential_type_classes.m:56)
pred existential_type_classes:do_foo/2-0 (det)
mdb> P
X (arg 1) "something"
Index: tests/debugger/higher_order.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/higher_order.exp,v
retrieving revision 1.1
diff -u -b -r1.1 higher_order.exp
--- tests/debugger/higher_order.exp 2002/02/24 11:53:39 1.1
+++ tests/debugger/higher_order.exp 2002/09/05 12:32:02
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred higher_order:main/2-0 (det) higher_order.m:12
+ E1: C1 1 CALL pred higher_order:main/2-0 (det) higher_order.m:12
mdb> echo on
Command echo enabled.
mdb> context none
@@ -7,56 +7,56 @@
mdb> set depth 100
mdb> set format flat
mdb> step
- 2: 2 2 CALL pred higher_order:domap/3-0 (det)
+ E2: C2 2 CALL pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 float_add2(3.00000000000000)
HeadVar__2 [|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
mdb> finish
- 29: 2 2 EXIT pred higher_order:domap/3-0 (det)
+ E3: C2 2 EXIT pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 float_add2(3.00000000000000)
HeadVar__2 [|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
HeadVar__3 [|](4.00000000000000, [|](5.00000000000000, [|](6.00000000000000, [|](7.00000000000000, [|](8.00000000000000, [])))))
mdb> step
- 30: 13 2 CALL pred higher_order:domap/3-0 (det)
+ E4: C3 2 CALL pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 float_op3(4.00000000000000, 5.00000000000000)
HeadVar__2 [|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
mdb> finish
- 57: 13 2 EXIT pred higher_order:domap/3-0 (det)
+ E5: C3 2 EXIT pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 float_op3(4.00000000000000, 5.00000000000000)
HeadVar__2 [|](1.00000000000000, [|](2.00000000000000, [|](3.00000000000000, [|](4.00000000000000, [|](5.00000000000000, [])))))
HeadVar__3 [|](9.00000000000000, [|](14.0000000000000, [|](19.0000000000000, [|](24.0000000000000, [|](29.0000000000000, [])))))
mdb> step
- 58: 24 2 CALL pred higher_order:domap/3-0 (det)
+ E6: C4 2 CALL pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 max(3)
HeadVar__2 [1, 2, 3, 4, 5]
mdb> finish
- 75: 24 2 EXIT pred higher_order:domap/3-0 (det)
+ E7: C4 2 EXIT pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 max(3)
HeadVar__2 [1, 2, 3, 4, 5]
HeadVar__3 [3, 3, 3, 4, 5]
mdb> step
- 76: 30 2 CALL pred higher_order:domap/3-0 (det)
+ E8: C5 2 CALL pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 'IntroducedFrom__pred__main__21__1'([6])
HeadVar__2 [[1, 2], [3, 4, 5]]
mdb> finish
- 92: 30 2 EXIT pred higher_order:domap/3-0 (det)
+ E9: C5 2 EXIT pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 'IntroducedFrom__pred__main__21__1'([6])
HeadVar__2 [[1, 2], [3, 4, 5]]
HeadVar__3 [|]([|](6, [|](1, [|](2, []))), [|]([|](6, [|](3, [|](4, [|](5, [])))), []))
mdb> step
- 93: 37 2 CALL pred higher_order:domap/3-0 (det)
+ E10: C6 2 CALL pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 'IntroducedFrom__pred__main__22__2'(["a"])
HeadVar__2 [|]([|]("one", [|]("two", [])), [|]([|]("three", [|]("four", [|]("five", []))), []))
mdb> finish
- 109: 37 2 EXIT pred higher_order:domap/3-0 (det)
+ E11: C6 2 EXIT pred higher_order:domap/3-0 (det)
mdb> print *
HeadVar__1 'IntroducedFrom__pred__main__22__2'(["a"])
HeadVar__2 [|]([|]("one", [|]("two", [])), [|]([|]("three", [|]("four", [|]("five", []))), []))
Index: tests/debugger/interpreter.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/interpreter.exp,v
retrieving revision 1.15
diff -u -b -r1.15 interpreter.exp
--- tests/debugger/interpreter.exp 2002/06/21 16:47:32 1.15
+++ tests/debugger/interpreter.exp 2002/09/05 12:32:13
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
+ E1: C1 1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
mdb> echo on
Command echo enabled.
mdb> context none
@@ -8,7 +8,7 @@
Pure Prolog Interpreter.
Consulting file `interpreter.m'...
- 11: 6 5 SWTC pred interpreter:consult_until_eof_2/5-0 (det) s3;
+ E2: C2 5 SWTC pred interpreter:consult_until_eof_2/5-0 (det) s3;
mdb> vars
1 HeadVar__1
2 HeadVar__2
@@ -18,26 +18,26 @@
HeadVar__2 []
DCG_0 (arg 4) state('<<c_pointer>>')
mdb> goto 30
- 30: 16 12 CALL pred interpreter:database_assert_clause/4-0 (det)
+ E3: C3 12 CALL pred interpreter:database_assert_clause/4-0 (det)
mdb> print *
Database (arg 1) [|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [|](clause(varset/3, functor/3, functor/3), [|](clause/3, [])))
VarSet (arg 2) varset(var_supply(0), empty, empty)
Term (arg 3) functor(atom(":-"), [|](functor(atom/1, [|]/2, context/2), []), context("interpreter.m", 26))
mdb> finish -a
- 31: 16 12 ELSE pred interpreter:database_assert_clause/4-0 (det) e;
- 32: 16 12 EXIT pred interpreter:database_assert_clause/4-0 (det)
+ E4: C3 12 ELSE pred interpreter:database_assert_clause/4-0 (det) e;
+ E5: C3 12 EXIT pred interpreter:database_assert_clause/4-0 (det)
mdb> print *
Database (arg 1) [|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [|](clause(varset/3, functor/3, functor/3), [|](clause/3, [])))
VarSet (arg 2) varset(var_supply(0), empty, empty)
Term (arg 3) functor(atom(":-"), [|](functor(atom/1, [|]/2, context/2), []), context("interpreter.m", 26))
HeadVar__4 [|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [|](clause(varset/3, functor/3, functor/3), [|](clause/3, [|]/2)))
mdb>
- 33: 17 12 CALL pred interpreter:consult_until_eof/4-0 (det)
+ E6: C4 12 CALL pred interpreter:consult_until_eof/4-0 (det)
mdb> finish -n
- 677: 17 12 EXIT pred interpreter:consult_until_eof/4-0 (det)
+ E7: C4 12 EXIT pred interpreter:consult_until_eof/4-0 (det)
mdb>
- 678: 15 11 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
+ E8: C5 11 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
mdb>
- 679: 14 10 EXIT pred interpreter:consult_until_eof/4-0 (det)
+ E9: C6 10 EXIT pred interpreter:consult_until_eof/4-0 (det)
mdb> continue
?-
Index: tests/debugger/interpreter.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/interpreter.exp2,v
retrieving revision 1.13
diff -u -b -r1.13 interpreter.exp2
--- tests/debugger/interpreter.exp2 2002/06/05 16:41:22 1.13
+++ tests/debugger/interpreter.exp2 2002/09/05 16:57:03
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
+ E1: C1 1 CALL pred interpreter:main/2-0 (det) interpreter.m:34
mdb> echo on
Command echo enabled.
mdb> context none
@@ -7,7 +7,7 @@
mdb> 10 step
Pure Prolog Interpreter.
- 11: 6 3 CALL pred interpreter:consult/5-0 (det)
+ E2: C2 3 CALL pred interpreter:consult/5-0 (det)
mdb> vars
1 File (arg 1)
2 Database0 (arg 2)
@@ -18,7 +18,7 @@
DCG_0 (arg 4) state('<<c_pointer>>')
mdb> goto 30
Consulting file `interpreter.m'...
- 30: 14 6 EXIT pred interpreter:database_assert_clause/4-0 (det)
+ E3: C3 6 EXIT pred interpreter:database_assert_clause/4-0 (det)
mdb> print *
Database (arg 1) []
VarSet (arg 2) varset(var_supply(0), empty, empty)
@@ -32,12 +32,12 @@
Term (arg 3) functor(atom(":-"), [|](functor(atom/1, [|]/2, context/2), []), context("interpreter.m", 22))
HeadVar__4 [|](clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2)), [])
mdb>
- 31: 16 6 CALL pred interpreter:consult_until_eof/4-0 (det)
+ E4: C4 6 CALL pred interpreter:consult_until_eof/4-0 (det)
mdb> finish -n
- 1009: 16 6 EXIT pred interpreter:consult_until_eof/4-0 (det)
+ E5: C4 6 EXIT pred interpreter:consult_until_eof/4-0 (det)
mdb>
- 1010: 13 5 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
+ E6: C5 5 EXIT pred interpreter:consult_until_eof_2/5-0 (det)
mdb>
- 1011: 11 4 EXIT pred interpreter:consult_until_eof/4-0 (det)
+ E7: C6 4 EXIT pred interpreter:consult_until_eof/4-0 (det)
mdb> continue
?-
Index: tests/debugger/polymorphic_output.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/polymorphic_output.exp,v
retrieving revision 1.8
diff -u -b -r1.8 polymorphic_output.exp
--- tests/debugger/polymorphic_output.exp 2002/07/25 16:20:53 1.8
+++ tests/debugger/polymorphic_output.exp 2002/09/05 12:32:40
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
+ E1: C1 1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -7,7 +7,7 @@
mdb> b functor_names
0: + stop interface func polymorphic_output:functor_names/1-0 (det)
mdb> c
- 2: 2 2 CALL func polymorphic_output:functor_names/1-0 (det)
+ E2: C2 2 CALL func polymorphic_output:functor_names/1-0 (det)
mdb> delete 0
0: E stop interface func polymorphic_output:functor_names/1-0 (det)
mdb> p goal
@@ -38,15 +38,15 @@
mdb> browse goal
browser> ^1
browser> p
-two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two("two", 2, empty, empty))
+two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
browser> ^..^2
error: cannot change to subterm
browser> p
-two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two("two", 2, empty, empty))
+two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
browser> ^..^3
error: cannot change to subterm
browser> p
-two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two("two", 2, empty, empty))
+two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
browser> ^..^r
browser> p
'_'
@@ -56,5 +56,5 @@
mdb> c
Uncaught Mercury exception:
Software Error: det_arg: argument has wrong type
-Last trace event was event #7.
-Last trace event before the unhandled exception was event #4.
+Last trace event was event #E3.
+Last trace event before the unhandled exception was event #E4.
Index: tests/debugger/polymorphic_output.exp2
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/polymorphic_output.exp2,v
retrieving revision 1.12
diff -u -b -r1.12 polymorphic_output.exp2
--- tests/debugger/polymorphic_output.exp2 2002/07/25 16:20:53 1.12
+++ tests/debugger/polymorphic_output.exp2 2002/09/05 16:57:40
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
+ E1: C1 1 CALL pred polymorphic_output:main/2-0 (det) polymorphic_output.m:20
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -7,7 +7,7 @@
mdb> b functor_names
0: + stop interface func polymorphic_output:functor_names/1-0 (det)
mdb> c
- 4: 3 2 CALL func polymorphic_output:functor_names/1-0 (det)
+ E2: C2 2 CALL func polymorphic_output:functor_names/1-0 (det)
mdb> delete 0
0: E stop interface func polymorphic_output:functor_names/1-0 (det)
mdb> p goal
@@ -54,17 +54,17 @@
mdb> b std_util__det_arg
0: + stop interface func std_util:det_arg/2-0 (det)
mdb> c
- 9: 6 4 CALL func std_util:det_arg/2-0 (det)
+ E3: C3 4 CALL func std_util:det_arg/2-0 (det)
mdb> P
Type (arg 1) two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
Index (arg 2) 3
mdb> f
- 10: 6 4 EXCP func std_util:det_arg/2-0 (det)
+ E4: C3 4 EXCP func std_util:det_arg/2-0 (det)
mdb> P
Type (arg 1) two("three", 3, three("four", 4, "one", 1, empty, empty, empty), two/4)
Index (arg 2) 3
mdb> c
Uncaught Mercury exception:
Software Error: det_arg: argument has wrong type
-Last trace event was event #15.
-Last trace event before the unhandled exception was event #9.
+Last trace event was event #E5.
+Last trace event before the unhandled exception was event #E3.
Index: tests/debugger/print_goal.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/print_goal.exp,v
retrieving revision 1.3
diff -u -b -r1.3 print_goal.exp
--- tests/debugger/print_goal.exp 2002/06/21 16:47:33 1.3
+++ tests/debugger/print_goal.exp 2002/09/05 12:32:44
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred print_goal:main/2-0 (det) print_goal.m:12
+ E1: C1 1 CALL pred print_goal:main/2-0 (det) print_goal.m:12
mdb> echo on
Command echo enabled.
mdb> context none
@@ -9,16 +9,16 @@
mdb> b print_goal
1: + stop interface pred print_goal:print_goal/9-0 (det)
mdb> c
- 2: 2 2 CALL pred print_goal:big_data/1-0 (det)
+ E2: C2 2 CALL pred print_goal:big_data/1-0 (det)
mdb> p goal
big_data('_')
mdb> finish
- 3: 2 2 EXIT pred print_goal:big_data/1-0 (det)
+ E3: C2 2 EXIT pred print_goal:big_data/1-0 (det)
mdb> p goal
big_data(big(big(big/3, 2, small), 3, big(big/3, 6, small)))
mdb> c
big(big(big(small, 1, small), 2, small), 3, big(big(small, 4, big(small, 5, small)), 6, small)).
- 4: 3 2 CALL pred print_goal:print_goal/9-0 (det)
+ E4: C3 2 CALL pred print_goal:print_goal/9-0 (det)
mdb> v
1 HeadVar__1
2 _W (arg 2)
@@ -28,7 +28,7 @@
mdb> p goal
print_goal(yes, 100, 101, _, _, 102, _, state(<<c_pointer>>), _)
mdb> finish
- 6: 3 2 EXIT pred print_goal:print_goal/9-0 (det)
+ E5: C3 2 EXIT pred print_goal:print_goal/9-0 (det)
mdb> v
1 HeadVar__1
2 _W (arg 2)
@@ -43,7 +43,7 @@
mdb> c
103.
103.
- 7: 4 2 CALL pred print_goal:print_goal/9-0 (det)
+ E6: C4 2 CALL pred print_goal:print_goal/9-0 (det)
mdb> v
1 HeadVar__1
2 _W (arg 2)
@@ -51,7 +51,7 @@
4 Y (arg 6)
5 DCG_0 (arg 8)
mdb> finish
- 9: 4 2 EXIT pred print_goal:print_goal/9-0 (det)
+ E7: C4 2 EXIT pred print_goal:print_goal/9-0 (det)
mdb> v
1 HeadVar__1
2 _W (arg 2)
Index: tests/debugger/queens.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/queens.exp,v
retrieving revision 1.22
diff -u -b -r1.22 queens.exp
--- tests/debugger/queens.exp 2002/06/05 16:41:22 1.22
+++ tests/debugger/queens.exp 2002/09/05 12:33:15
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred queens:main/2-0 (cc_multi) queens.m:17
+ E1: C1 1 CALL pred queens:main/2-0 (cc_multi) queens.m:17
mdb> echo on
Command echo enabled.
mdb> retry 1
@@ -6,19 +6,19 @@
mdb> print *
DCG_0 (arg 1) state('<<c_pointer>>')
mdb>
- 2: 2 2 CALL pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
+ E2: C2 2 CALL pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
mdb> print *
mdb: there are no live variables.
mdb>
- 3: 2 2 EXIT pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
+ E3: C2 2 EXIT pred queens:data/1-0 (det) queens.m:39 (queens.m:15)
mdb> print *
HeadVar__1 [1, 2, 3, 4, 5]
mdb>
- 4: 3 2 CALL pred queens:queen/2-0 (nondet) queens.m:41 (queens.m:15)
+ E4: C3 2 CALL pred queens:queen/2-0 (nondet) queens.m:41 (queens.m:15)
mdb> print *
Data (arg 1) [1, 2, 3, 4, 5]
mdb>
- 5: 4 3 CALL pred queens:qperm/2-0 (nondet) queens.m:45 (queens.m:42)
+ E5: C4 3 CALL pred queens:qperm/2-0 (nondet) queens.m:45 (queens.m:42)
mdb> print *
HeadVar__1 [1, 2, 3, 4, 5]
mdb> print_optionals on
@@ -31,15 +31,15 @@
mdb> print *
HeadVar__1 [1, 2, 3, 4, 5]
mdb>
- 6: 4 3 SWTC pred queens:qperm/2-0 (nondet) s2; queens.m:46
+ E6: C4 3 SWTC pred queens:qperm/2-0 (nondet) s2; queens.m:46
mdb> print *
HeadVar__1 [1, 2, 3, 4, 5]
mdb>
- 7: 5 4 CALL pred queens:qdelete/3-0 (nondet) queens.m:51 (queens.m:47)
+ E7: C5 4 CALL pred queens:qdelete/3-0 (nondet) queens.m:51 (queens.m:47)
mdb> print *
HeadVar__2 [1, 2, 3, 4, 5]
mdb>
- 8: 5 4 DISJ pred queens:qdelete/3-0 (nondet) c2;d1; queens.m:51
+ E8: C5 4 DISJ pred queens:qdelete/3-0 (nondet) c2;d1; queens.m:51
mdb> print *
HeadVar__2 [1, 2, 3, 4, 5]
mdb> level 1
@@ -47,7 +47,7 @@
1 pred queens:qperm/2-0 (nondet) queens.m:47
mdb> level -d 1
Ancestor level set to 1:
- 1 5 4 3 pred queens:qperm/2-0 (nondet) queens.m:47
+ 1 E5 C4 3 pred queens:qperm/2-0 (nondet) queens.m:47
mdb> context nextline
Contexts will be printed on the next line.
mdb> level 1
@@ -56,7 +56,7 @@
queens.m:47
mdb> level -d 1
Ancestor level set to 1:
- 1 5 4 3 pred queens:qperm/2-0 (nondet)
+ 1 E5 C4 3 pred queens:qperm/2-0 (nondet)
queens.m:47
mdb> context prevline
Contexts will be printed on the previous line.
@@ -66,7 +66,7 @@
pred queens:qperm/2-0 (nondet)
mdb> level -d 1
Ancestor level set to 1:
- 1 5 4 3 queens.m:47
+ 1 E5 C4 3 queens.m:47
pred queens:qperm/2-0 (nondet)
mdb> print *
HeadVar__1 [1, 2, 3, 4, 5]
@@ -80,7 +80,7 @@
mdb> print *
Data (arg 1) [1, 2, 3, 4, 5]
mdb>
- 9: 5 4 EXIT queens.m:51 (from queens.m:47)
+ E9: C5 4 EXIT queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
mdb> print HeadVar__1
HeadVar__1 1
@@ -89,95 +89,95 @@
mdb> print HeadVar__3
HeadVar__3 [2, 3, 4, 5]
mdb>
- 10: 6 4 CALL queens.m:45 (from queens.m:49)
+ E10: C6 4 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> print *
HeadVar__1 [2, 3, 4, 5]
mdb>
- 11: 6 4 SWTC queens.m:46
+ E11: C6 4 SWTC queens.m:46
pred queens:qperm/2-0 (nondet) s2;
mdb> print *
HeadVar__1 [2, 3, 4, 5]
mdb>
- 12: 7 5 CALL queens.m:51 (from queens.m:47)
+ E12: C7 5 CALL queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
mdb> print *
HeadVar__2 [2, 3, 4, 5]
mdb>
- 13: 7 5 DISJ queens.m:51
+ E13: C7 5 DISJ queens.m:51
pred queens:qdelete/3-0 (nondet) c2;d1;
mdb> print *
HeadVar__2 [2, 3, 4, 5]
mdb>
- 14: 7 5 EXIT queens.m:51 (from queens.m:47)
+ E14: C7 5 EXIT queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
mdb> print *
HeadVar__1 2
HeadVar__2 [2, 3, 4, 5]
HeadVar__3 [3, 4, 5]
mdb>
- 15: 8 5 CALL queens.m:45 (from queens.m:49)
+ E15: C8 5 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> goto -a 20
- 16: 8 5 SWTC queens.m:46
+ E16: C8 5 SWTC queens.m:46
pred queens:qperm/2-0 (nondet) s2;
- 17: 9 6 CALL queens.m:51 (from queens.m:47)
+ E17: C9 6 CALL queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 18: 9 6 DISJ queens.m:51
+ E18: C9 6 DISJ queens.m:51
pred queens:qdelete/3-0 (nondet) c2;d1;
- 19: 9 6 EXIT queens.m:51 (from queens.m:47)
+ E19: C9 6 EXIT queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 20: 10 6 CALL queens.m:45 (from queens.m:49)
+ E20: C10 6 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> stack
0 4* pred queens:qperm/2-0 (nondet) (queens.m:45 and others)
4 pred queens:queen/2-0 (nondet) (queens.m:42)
5 pred queens:main/2-0 (cc_multi) (queens.m:15)
mdb> stack -d
- 0 20 10 6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
- 1 15 8 5 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
- 2 10 6 4 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
- 3 5 4 3 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
- 4 4 3 2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
- 5 1 1 1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;
+ 0 E20 C10 6 pred queens:qperm/2-0 (nondet) (queens.m:45) (empty)
+ 1 E15 C8 5 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
+ 2 E10 C6 4 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
+ 3 E5 C4 3 pred queens:qperm/2-0 (nondet) (queens.m:49) s2;c3;
+ 4 E4 C3 2 pred queens:queen/2-0 (nondet) (queens.m:42) c2;
+ 5 E1 C1 1 pred queens:main/2-0 (cc_multi) (queens.m:15) ?;c2;q!;
mdb> print *
HeadVar__1 [4, 5]
mdb>
- 21: 10 6 SWTC queens.m:46
+ E21: C10 6 SWTC queens.m:46
pred queens:qperm/2-0 (nondet) s2;
mdb> retry
- 20: 10 6 CALL queens.m:45 (from queens.m:49)
+ E20: C10 6 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> print *
HeadVar__1 [4, 5]
mdb> finish -a
- 21: 10 6 SWTC queens.m:46
+ E21: C10 6 SWTC queens.m:46
pred queens:qperm/2-0 (nondet) s2;
- 22: 11 7 CALL queens.m:51 (from queens.m:47)
+ E22: C11 7 CALL queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 23: 11 7 DISJ queens.m:51
+ E23: C11 7 DISJ queens.m:51
pred queens:qdelete/3-0 (nondet) c2;d1;
- 24: 11 7 EXIT queens.m:51 (from queens.m:47)
+ E24: C11 7 EXIT queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 25: 12 7 CALL queens.m:45 (from queens.m:49)
+ E25: C12 7 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 26: 12 7 SWTC queens.m:46
+ E26: C12 7 SWTC queens.m:46
pred queens:qperm/2-0 (nondet) s2;
- 27: 13 8 CALL queens.m:51 (from queens.m:47)
+ E27: C13 8 CALL queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 28: 13 8 DISJ queens.m:51
+ E28: C13 8 DISJ queens.m:51
pred queens:qdelete/3-0 (nondet) c2;d1;
- 29: 13 8 EXIT queens.m:51 (from queens.m:47)
+ E29: C13 8 EXIT queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 30: 14 8 CALL queens.m:45 (from queens.m:49)
+ E30: C14 8 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 31: 14 8 SWTC queens.m:45
+ E31: C14 8 SWTC queens.m:45
pred queens:qperm/2-0 (nondet) s1;
- 32: 14 8 EXIT queens.m:45 (from queens.m:49)
+ E32: C14 8 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 33: 12 7 EXIT queens.m:45 (from queens.m:49)
+ E33: C12 7 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 34: 10 6 EXIT queens.m:45 (from queens.m:49)
+ E34: C10 6 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> register --quiet
mdb> break print_list
@@ -185,41 +185,41 @@
mdb> break qdelete
1: + stop interface pred queens:qdelete/3-0 (nondet)
mdb> continue -a
- 35: 8 5 EXIT queens.m:45 (from queens.m:49)
+ E35: C8 5 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 36: 6 4 EXIT queens.m:45 (from queens.m:49)
+ E36: C6 4 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 37: 4 3 EXIT queens.m:45 (from queens.m:42)
+ E37: C4 3 EXIT queens.m:45 (from queens.m:42)
pred queens:qperm/2-0 (nondet)
- 38: 15 3 CALL queens.m:55 (from queens.m:43)
+ E38: C15 3 CALL queens.m:55 (from queens.m:43)
pred queens:safe/1-0 (semidet)
- 39: 15 3 SWTC queens.m:56
+ E39: C15 3 SWTC queens.m:56
pred queens:safe/1-0 (semidet) s2;
- 40: 16 4 CALL queens.m:60 (from queens.m:57)
+ E40: C16 4 CALL queens.m:60 (from queens.m:57)
pred queens:nodiag/3-0 (semidet)
- 41: 16 4 SWTC queens.m:61
+ E41: C16 4 SWTC queens.m:61
pred queens:nodiag/3-0 (semidet) s2;
- 42: 16 4 THEN queens.m:65
+ E42: C16 4 THEN queens.m:65
pred queens:nodiag/3-0 (semidet) s2;c6;t;
- 43: 16 4 FAIL queens.m:60 (from queens.m:57)
+ E43: C16 4 FAIL queens.m:60 (from queens.m:57)
pred queens:nodiag/3-0 (semidet)
- 44: 15 3 FAIL queens.m:55 (from queens.m:43)
+ E44: C15 3 FAIL queens.m:55 (from queens.m:43)
pred queens:safe/1-0 (semidet)
- 45: 4 3 REDO queens.m:45 (from queens.m:42)
+ E45: C4 3 REDO queens.m:45 (from queens.m:42)
pred queens:qperm/2-0 (nondet)
- 46: 6 4 REDO queens.m:45 (from queens.m:49)
+ E46: C6 4 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 47: 8 5 REDO queens.m:45 (from queens.m:49)
+ E47: C8 5 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 48: 10 6 REDO queens.m:45 (from queens.m:49)
+ E48: C10 6 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 49: 12 7 REDO queens.m:45 (from queens.m:49)
+ E49: C12 7 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 50: 14 8 REDO queens.m:45 (from queens.m:49)
+ E50: C14 8 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 51: 14 8 FAIL queens.m:45 (from queens.m:49)
+ E51: C14 8 FAIL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 52: 13 8 REDO queens.m:51 (from queens.m:47)
+ E52: C13 8 REDO queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
mdb> break info
0: + stop interface pred queens:print_list/3-0 (det)
@@ -228,74 +228,74 @@
0: + stop interface pred queens:print_list/3-0 (det)
1: + stop interface pred queens:qdelete/3-0 (nondet)
mdb> step -aS 5
- 53: 13 8 DISJ queens.m:52
+ E53: C13 8 DISJ queens.m:52
pred queens:qdelete/3-0 (nondet) c2;d2;
- 54: 17 9 CALL queens.m:51 (from queens.m:53)
+ E54: C17 9 CALL queens.m:51 (from queens.m:53)
pred queens:qdelete/3-0 (nondet)
- 55: 17 9 FAIL queens.m:51 (from queens.m:53)
+ E55: C17 9 FAIL queens.m:51 (from queens.m:53)
pred queens:qdelete/3-0 (nondet)
- 56: 13 8 FAIL queens.m:51 (from queens.m:47)
+ E56: C13 8 FAIL queens.m:51 (from queens.m:47)
pred queens:qdelete/3-0 (nondet)
- 57: 12 7 FAIL queens.m:45 (from queens.m:49)
+ E57: C12 7 FAIL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> disable 1
1: - stop interface pred queens:qdelete/3-0 (nondet)
mdb> retry 4
- 5: 4 3 CALL queens.m:45 (from queens.m:42)
+ E5: C4 3 CALL queens.m:45 (from queens.m:42)
pred queens:qperm/2-0 (nondet)
mdb> break 49
2: + stop linenumber queens.m:49
mdb> continue -n
- 10: 6 4 CALL queens.m:45 (from queens.m:49)
+ E10: C6 4 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 15: 8 5 CALL queens.m:45 (from queens.m:49)
+ E15: C8 5 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 20: 10 6 CALL queens.m:45 (from queens.m:49)
+ E20: C10 6 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 25: 12 7 CALL queens.m:45 (from queens.m:49)
+ E25: C12 7 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 30: 14 8 CALL queens.m:45 (from queens.m:49)
+ E30: C14 8 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 32: 14 8 EXIT queens.m:45 (from queens.m:49)
+ E32: C14 8 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> return
- 33: 12 7 EXIT queens.m:45 (from queens.m:49)
+ E33: C12 7 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 34: 10 6 EXIT queens.m:45 (from queens.m:49)
+ E34: C10 6 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 35: 8 5 EXIT queens.m:45 (from queens.m:49)
+ E35: C8 5 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 36: 6 4 EXIT queens.m:45 (from queens.m:49)
+ E36: C6 4 EXIT queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 38: 15 3 CALL queens.m:55 (from queens.m:43)
+ E38: C15 3 CALL queens.m:55 (from queens.m:43)
pred queens:safe/1-0 (semidet)
mdb> continue -n
- 46: 6 4 REDO queens.m:45 (from queens.m:49)
+ E46: C6 4 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 47: 8 5 REDO queens.m:45 (from queens.m:49)
+ E47: C8 5 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> forward
- 48: 10 6 REDO queens.m:45 (from queens.m:49)
+ E48: C10 6 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 49: 12 7 REDO queens.m:45 (from queens.m:49)
+ E49: C12 7 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 50: 14 8 REDO queens.m:45 (from queens.m:49)
+ E50: C14 8 REDO queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 51: 14 8 FAIL queens.m:45 (from queens.m:49)
+ E51: C14 8 FAIL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
- 53: 13 8 DISJ queens.m:52
+ E53: C13 8 DISJ queens.m:52
pred queens:qdelete/3-0 (nondet) c2;d2;
mdb> continue -n
- 57: 12 7 FAIL queens.m:45 (from queens.m:49)
+ E57: C12 7 FAIL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> continue -n
- 64: 19 7 CALL queens.m:45 (from queens.m:49)
+ E58: C18 7 CALL queens.m:45 (from queens.m:49)
pred queens:qperm/2-0 (nondet)
mdb> delete *
0: E stop interface pred queens:print_list/3-0 (det)
@@ -305,12 +305,12 @@
0: + stop interface pred queens:main/2-0 (cc_multi)
mdb> continue -n
[1, 3, 5, 2, 4]
- 698: 1 1 EXIT queens.m:17
+ E59: C1 1 EXIT queens.m:17
pred queens:main/2-0 (cc_multi)
mdb> retry
Retry across I/O operations is not always safe.
Are you sure you want to do it? yes
- 1: 1 1 CALL queens.m:17
+ E1: C1 1 CALL queens.m:17
pred queens:main/2-0 (cc_multi)
mdb> continue -n -S
[1, 3, 5, 2, 4]
Index: tests/debugger/tabled_read.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/tabled_read.exp,v
retrieving revision 1.3
diff -u -b -r1.3 tabled_read.exp
--- tests/debugger/tabled_read.exp 2002/06/05 16:41:23 1.3
+++ tests/debugger/tabled_read.exp 2002/09/05 12:33:25
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred tabled_read:main/2-0 (det) tabled_read.m:17
+ E1: C1 1 CALL pred tabled_read:main/2-0 (det) tabled_read.m:17
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -11,9 +11,9 @@
mdb> table_io start
io tabling started
mdb> continue
- 8: 4 3 CALL pred tabled_read:test/5-0 (det)
+ E2: C2 3 CALL pred tabled_read:test/5-0 (det)
mdb> finish -n
- 35: 4 3 EXIT pred tabled_read:test/5-0 (det)
+ E3: C2 3 EXIT pred tabled_read:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
@@ -22,13 +22,13 @@
mdb> retry
Retry across I/O operations is not always safe.
Are you sure you want to do it? y
- 8: 4 3 CALL pred tabled_read:test/5-0 (det)
+ E2: C2 3 CALL pred tabled_read:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
DCG_0 (arg 4) state('<<c_pointer>>')
mdb> finish -n
- 35: 4 3 EXIT pred tabled_read:test/5-0 (det)
+ E3: C2 3 EXIT pred tabled_read:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
@@ -39,9 +39,9 @@
mdb> continue
123
456
- 66: 23 3 CALL pred tabled_read:test/5-0 (det)
+ E4: C3 3 CALL pred tabled_read:test/5-0 (det)
mdb> finish -n
- 89: 23 3 EXIT pred tabled_read:test/5-0 (det)
+ E5: C3 3 EXIT pred tabled_read:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
@@ -50,9 +50,9 @@
mdb> retry
Retry across I/O operations is not always safe.
Are you sure you want to do it? y
- 66: 23 3 CALL pred tabled_read:test/5-0 (det)
+ E4: C3 3 CALL pred tabled_read:test/5-0 (det)
mdb> finish -n
- 83: 23 3 EXIT pred tabled_read:test/5-0 (det)
+ E6: C3 3 EXIT pred tabled_read:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
Index: tests/debugger/tabled_read_decl.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/tabled_read_decl.exp,v
retrieving revision 1.3
diff -u -b -r1.3 tabled_read_decl.exp
--- tests/debugger/tabled_read_decl.exp 2002/06/05 16:41:23 1.3
+++ tests/debugger/tabled_read_decl.exp 2002/09/05 12:33:36
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred tabled_read_decl:main/2-0 (det) tabled_read_decl.m:17
+ E1: C1 1 CALL pred tabled_read_decl:main/2-0 (det) tabled_read_decl.m:17
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -11,9 +11,9 @@
mdb> table_io start
io tabling started
mdb> continue
- 8: 4 3 CALL pred tabled_read_decl:test/5-0 (det)
+ E2: C2 3 CALL pred tabled_read_decl:test/5-0 (det)
mdb> finish -n
- 35: 4 3 EXIT pred tabled_read_decl:test/5-0 (det)
+ E3: C2 3 EXIT pred tabled_read_decl:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
@@ -22,13 +22,13 @@
mdb> retry
Retry across I/O operations is not always safe.
Are you sure you want to do it? y
- 8: 4 3 CALL pred tabled_read_decl:test/5-0 (det)
+ E2: C2 3 CALL pred tabled_read_decl:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
DCG_0 (arg 4) state('<<c_pointer>>')
mdb> finish -n
- 35: 4 3 EXIT pred tabled_read_decl:test/5-0 (det)
+ E3: C2 3 EXIT pred tabled_read_decl:test/5-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
SoFar (arg 2) 0
@@ -38,9 +38,9 @@
1: + stop interface pred tabled_read_decl:poly_test/6-0 (det)
mdb> continue
123
- 38: 13 3 CALL pred tabled_read_decl:poly_test/6-0 (det)
+ E4: C3 3 CALL pred tabled_read_decl:poly_test/6-0 (det)
mdb> finish -n
- 65: 13 3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
+ E5: C3 3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
Unused (arg 2) ['a', 'b', 'c']
@@ -50,9 +50,9 @@
mdb> retry
Retry across I/O operations is not always safe.
Are you sure you want to do it? y
- 38: 13 3 CALL pred tabled_read_decl:poly_test/6-0 (det)
+ E4: C3 3 CALL pred tabled_read_decl:poly_test/6-0 (det)
mdb> finish -n
- 65: 13 3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
+ E5: C3 3 EXIT pred tabled_read_decl:poly_test/6-0 (det)
mdb> print *
Stream (arg 1) '<<c_pointer>>'
Unused (arg 2) ['a', 'b', 'c']
@@ -66,7 +66,7 @@
0: + stop interface pred tabled_read_decl:part_2/3-0 (det)
mdb> continue
456
- 69: 22 2 CALL pred tabled_read_decl:part_2/3-0 (det)
+ E6: C4 2 CALL pred tabled_read_decl:part_2/3-0 (det)
mdb> table_io end
io tabling ended
mdb> print action 0
Index: tests/debugger/tabled_read_unitize.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/tabled_read_unitize.exp,v
retrieving revision 1.2
diff -u -b -r1.2 tabled_read_unitize.exp
--- tests/debugger/tabled_read_unitize.exp 2002/07/29 11:16:00 1.2
+++ tests/debugger/tabled_read_unitize.exp 2002/09/05 12:33:30
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred tabled_read_unitize:main/2-0 (det) tabled_read_unitize.m:17
+ E1: C1 1 CALL pred tabled_read_unitize:main/2-0 (det) tabled_read_unitize.m:17
mdb> echo on
Command echo enabled.
mdb> register --quiet
@@ -9,13 +9,13 @@
mdb> break unitize
0: + stop interface pred tabled_read_unitize:unitize/4-0 (det)
mdb> continue
- 37: 12 2 CALL pred tabled_read_unitize:unitize/4-0 (det)
+ E2: C2 2 CALL pred tabled_read_unitize:unitize/4-0 (det)
mdb> finish -a
- 38: 12 2 THEN pred tabled_read_unitize:unitize/4-0 (det) t;
- 39: 12 2 ELSE pred tabled_read_unitize:unitize/4-0 (det) t;c2;e;
- 40: 12 2 EXIT pred tabled_read_unitize:unitize/4-0 (det)
+ E3: C2 2 THEN pred tabled_read_unitize:unitize/4-0 (det) t;
+ E4: C2 2 ELSE pred tabled_read_unitize:unitize/4-0 (det) t;c2;e;
+ E5: C2 2 EXIT pred tabled_read_unitize:unitize/4-0 (det)
mdb> retry -f
- 37: 12 2 CALL pred tabled_read_unitize:unitize/4-0 (det)
+ E2: C2 2 CALL pred tabled_read_unitize:unitize/4-0 (det)
mdb> continue -S
123
4506
Index: tests/debugger/type_desc_test.exp
===================================================================
RCS file: /home/mercury1/repository/tests/debugger/type_desc_test.exp,v
retrieving revision 1.2
diff -u -b -r1.2 type_desc_test.exp
--- tests/debugger/type_desc_test.exp 2002/06/05 16:41:23 1.2
+++ tests/debugger/type_desc_test.exp 2002/09/05 12:32:58
@@ -1,4 +1,4 @@
- 1: 1 1 CALL pred type_desc_test:main/2-0 (det) type_desc_test.m:21
+ E1: C1 1 CALL pred type_desc_test:main/2-0 (det) type_desc_test.m:21
mdb> echo on
Command echo enabled.
mdb> context none
@@ -9,33 +9,33 @@
mdb> break get_type_ctor_desc
1: + stop interface func type_desc_test:get_type_ctor_desc/1-0 (det)
mdb> continue
- 3: 3 3 CALL func type_desc_test:get_type_desc/1-0 (det)
+ E2: C2 3 CALL func type_desc_test:get_type_desc/1-0 (det)
mdb> finish
- 4: 3 3 EXIT func type_desc_test:get_type_desc/1-0 (det)
+ E3: C2 3 EXIT func type_desc_test:get_type_desc/1-0 (det)
mdb> print *
Val (arg 1) [1, 2]
HeadVar__2 list:list(int)
mdb> continue
type_desc: list:list(int)
- 5: 4 3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
+ E4: C3 3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
mdb> finish
- 6: 4 3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
+ E5: C3 3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
mdb> print *
TypeDesc (arg 1) list:list(int)
HeadVar__2 list:list/1
mdb> continue
type_ctor_desc: list:list/1
- 9: 6 3 CALL func type_desc_test:get_type_desc/1-0 (det)
+ E6: C4 3 CALL func type_desc_test:get_type_desc/1-0 (det)
mdb> finish
- 10: 6 3 EXIT func type_desc_test:get_type_desc/1-0 (det)
+ E7: C4 3 EXIT func type_desc_test:get_type_desc/1-0 (det)
mdb> print *
Val (arg 1) ["one", "two", "three"]
HeadVar__2 list:list(string)
mdb> continue
type_desc: list:list(string)
- 11: 7 3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
+ E8: C5 3 CALL func type_desc_test:get_type_ctor_desc/1-0 (det)
mdb> finish
- 12: 7 3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
+ E9: C5 3 EXIT func type_desc_test:get_type_ctor_desc/1-0 (det)
mdb> print *
TypeDesc (arg 1) list:list(string)
HeadVar__2 list:list/1
cvs diff: Diffing tests/debugger/declarative
cvs diff: Diffing tests/dppd
cvs diff: Diffing tests/general
cvs diff: Diffing tests/general/accumulator
cvs diff: Diffing tests/general/structure_reuse
cvs diff: Diffing tests/hard_coded
cvs diff: Diffing tests/hard_coded/exceptions
cvs diff: Diffing tests/hard_coded/purity
cvs diff: Diffing tests/hard_coded/sub-modules
cvs diff: Diffing tests/hard_coded/typeclasses
cvs diff: Diffing tests/invalid
cvs diff: Diffing tests/invalid/purity
cvs diff: Diffing tests/misc_tests
cvs diff: Diffing tests/recompilation
cvs diff: Diffing tests/tabling
cvs diff: Diffing tests/term
cvs diff: Diffing tests/valid
cvs diff: Diffing tests/warnings
cvs diff: Diffing tools
cvs diff: Diffing trace
Index: trace/mercury_trace_internal.c
===================================================================
RCS file: /home/mercury1/repository/mercury/trace/mercury_trace_internal.c,v
retrieving revision 1.133
diff -u -b -r1.133 mercury_trace_internal.c
--- trace/mercury_trace_internal.c 2002/08/07 03:18:57 1.133
+++ trace/mercury_trace_internal.c 2002/09/05 02:14:35
@@ -4864,11 +4864,30 @@
filename = "";
parent_filename = "";
+ if (MR_standardize_event_details) {
+ char buf[64];
+ MR_Unsigned event_num;
+ MR_Unsigned call_num;
+
+ event_num = MR_standardize_event_num(
+ event_info->MR_event_number);
+ call_num = MR_standardize_call_num(
+ event_info->MR_call_seqno);
+ snprintf(buf, 64, "E%ld", (long) event_num);
+ fprintf(MR_mdb_out, "%8s: ", buf);
+ snprintf(buf, 64, "C%ld", (long) call_num);
+ fprintf(MR_mdb_out, "%6s ", buf);
+ fprintf(MR_mdb_out, "%2ld %s",
+ (long) event_info->MR_call_depth,
+ MR_port_names[event_info->MR_trace_port]);
+ } else {
fprintf(MR_mdb_out, "%8ld: %6ld %2ld %s",
(long) event_info->MR_event_number,
(long) event_info->MR_call_seqno,
(long) event_info->MR_call_depth,
MR_port_names[event_info->MR_trace_port]);
+ }
+
/* the printf printed 24 characters */
indent = 24;
cvs diff: Diffing util
cvs diff: Diffing vim
cvs diff: Diffing vim/after
cvs diff: Diffing vim/ftplugin
cvs diff: Diffing vim/syntax
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list