Commit Graph

10 Commits

Author SHA1 Message Date
Ralph Becket
a8ffd3680c Change the compiler and tools so that .' and not :' is now used as the
Estimated hours taken: 14
Branches: main

Change the compiler and tools so that `.' and not `:' is now used as the
module separator in all output.

Infix `.' now has associativity yfx and priority 10.

NEWS:
	Report the change.

configure.in:
	Amend the test for an up-to-date Mercury compiler to check whether
	it recognises `.' as a module qualifier.

compiler/code_gen.m:
compiler/error_util.m:
compiler/hlds_out.m:
compiler/prog_out.m:
compiler/prog_util.m:
compiler/rl_exprn.m:
compiler/rl_gen.m:
compiler/source_file_map.m:
compiler/unused_args.m:
library/io.m:
library/rtti_implementation.m:
library/type_desc.m:
runtime/mercury_debug.c:
runtime/mercury_deconstruct.c:
runtime/mercury_stack_trace.c:
	Change `:' to `.' as module separator for output.

compiler/mercury_to_mercury.m:
compiler/prog_io_typeclass.m:
	As above.
	Fixed a bug where `.' was not being recognised as a module separator.

doc/reference_manual.texi:
	Report the change.

library/term_io.m:
	Ensure that infix `.' is written without surrounding spaces.

tests/hard_coded/dot_separator.m:
tests/hard_coded/dot_separator.exp:
tests/hard_coded/Mmakefile:
	Test case added.
2003-01-17 05:57:20 +00:00
Peter Ross
1167698388 Changes now that we report that an Uncaught exception comes
Estimated hours taken: 3
Branches: main


debugger/exception_cmd.exp:
debugger/exception_cmd.exp2:
debugger/exception_vars.exp:
debugger/exception_vars.exp2:
debugger/loopcheck.exp:
debugger/loopcheck.exp2:
debugger/polymorphic_output.exp:
debugger/polymorphic_output.exp2:
debugger/polymorphic_output.exp3:
general/string_format_test_2.exp:
general/string_format_test_2.exp2:
general/string_format_test_2.exp3:
general/string_format_test_2.exp4:
general/string_format_test_3.exp:
general/string_format_test_3.exp2:
general/string_format_test_3.exp3:
general/string_format_test_3.exp4:
hard_coded/foreign_type.m:
hard_coded/no_fully_strict.exp:
hard_coded/no_fully_strict.exp2:
hard_coded/no_fully_strict.exp3:
hard_coded/no_fully_strict.exp4:
hard_coded/exceptions/test_uncaught_exception.exp:
hard_coded/exceptions/test_uncaught_exception.exp2:
hard_coded/exceptions/test_uncaught_exception.exp3:
hard_coded/exceptions/test_uncaught_exception.exp4:
tabling/loopcheck.exp:
tabling/loopcheck.exp2:
tabling/loopcheck.exp3:
tabling/loopcheck.exp4:
	Changes now that we report that an Uncaught exception comes
	from Mercury.
2002-07-25 16:20:56 +00:00
Simon Taylor
07c0cf8ba6 Improve variable naming in the debugger. Where possible, use
Estimated hours taken: 10
Branches: main

Improve variable naming in the debugger. Where possible, use
the user's argument names rather than `HeadVar__N'.

compiler/clause_to_proc.m:
	Use the user's names for the arguments of
	`:- pragma foreign_proc' procedures.

compiler/simplify.m:
	When performing excess assignment elimination with `--trace deep',
	don't replace a variable with a meaningful name with `HeadVar__N'
	or an unnamed variable.

compiler/trace_params.m:
	Add a predicate `trace_level_needs_meaningful_var_names'
	for use by simplify.m.

compiler/typecheck.m:
	For predicates with a single clause, attempt to replace the
	`HeadVar__N' variables with the user's original head variables.

trace/mercury_trace_declarative.c:
trace/mercury_trace_vars.c:
	Don't assume head variables have names of the form `HeadVar__N'.

	Print the argument number when printing the names of
	head variables.

tests/debugger/browser_test.inp:
tests/debugger/completion.inp:
	Change names of variables in `print' commands.

tests/debugger/*.exp:
tests/debugger/*.exp2:
tests/debugger/declarative/dependency.exp:
tests/invalid/aditi_errors.err_exp:
tests/invalid/mode_inf.err_exp:
tests/invalid/record_syntax_errors.err_exp:
	Update expected output.
2002-06-05 16:41:31 +00:00
Zoltan Somogyi
518e6e46db Strip away goal paths from exception events in the test cases that
Estimated hours taken: 0.5

tests/debugger/Mmakefile:
tests/debugger/declarative/Mmakefile:
	Strip away goal paths from exception events in the test cases that
	generate them, because different optimization levels cause different
	goals paths to be associated with exceptions.

tests/debugger/*.exp{,2}:
tests/debugger/declarative/*.exp{,2}:
	Strip away goal paths from exception events in the expected outputs
	of those test cases.
2000-11-01 04:26:32 +00:00
Mark Brown
250a3026da Update the expected output for these test cases in debug grades,
Estimated hours taken: 0.2

tests/debugger/*.exp2:
tests/debugger/declarative/*.exp2:
	Update the expected output for these test cases in debug grades,
	after Zoltan's recent change to `retry'.
2000-10-18 14:38:04 +00:00
Zoltan Somogyi
2cb6650e4e New test case to test the "exception" command.
Estimated hours taken:

tests/debugger/exception_cmd.*:
	New test case to test the "exception" command.

tests/debugger/exception_vars.*:
	Put this test case back the way it was.

Mmakefile:
	Enable the new test case.
2000-07-22 08:20:09 +00:00
Zoltan Somogyi
d968ceaf14 Add a new debugger command, excp, that continues forward execution until it
Estimated hours taken: 0.5

Add a new debugger command, excp, that continues forward execution until it
reaches an exception event (or the program exits). This command was requested
by MC.

doc/user_guide.texi:
	Document the new command.

trace/mercury_trace.[ch]:
	Add a forward movement operation that stops only at the first exception
	event.

trace/mercury_trace_internal.c:
	Implement the excp command using the new operation.

tests/debugger/exception_vars.{inp,exp,exp2}:
	Test the operation of the new command.

tests/debugger/mdb_command_test.inp:
	Test the documentation of the new command.
2000-07-18 03:58:32 +00:00
Fergus Henderson
629b855145 Add "echo on" at the start of the test case,
Estimated hours taken: 0.25

tests/debugger/exception_vars.inp:
tests/debugger/exception_vars.exp:
tests/debugger/exception_vars.exp2:
	Add "echo on" at the start of the test case,
	so that it gets the right results when the
	compiler is configured without readline support.
1999-12-19 19:02:57 +00:00
Fergus Henderson
3596164040 Add a `.exp2' file for this test case, since the
Estimated hours taken: 0.25

tests/debugger/exception_vars.exp2:
	Add a `.exp2' file for this test case, since the
	event numbers differ depending on whether it is
	compiled in debug grade or not.
1999-12-15 20:53:42 +00:00
Zoltan Somogyi
e9fa3f8792 Fix two related bugs in the debugger. The first was that the code in jumpopt.m
Estimated hours taken: 3

Fix two related bugs in the debugger. The first was that the code in jumpopt.m
for preventing the redirecting of call returns away from labels with layout
structures was only partially effective, since some call return sites have
their layout structures generated only *after* optimization. The second bug
was that the exception events generated by library/exception.m took the label
layouts of call return sites within a predicate and passed them to MR_trace
as if they were the layouts of compiler-generated trace events. However,
while at compiler-generated trace events, all the variables mentioned in the
associated layout structure are supposed to be live, at return sites only
the variables stored in stack slots are live.

compiler/jumpopt.m:
	Do not redirect call returns if execution tracing is enabled.

compiler/optimize.m:
	Pass the trace level to jumpopt.m.

trace/mercury_trace_vars.[ch]:
	Remember the port type of the event, and do not consider the registers
	to contain valid contents even at ancestor level zero if the port type
	is exception.

trace/mercury_trace_{in,ex}ternal.c:
	Pass the port type to mercury_trace_vars.c.

tests/debugger/exception_vars.{m,inp,exp,exp2}:
	Regression test for the fixed bugs. The .exp2 file is not yet filled
	in.

tests/debugger/Mmakefile:
	Enable the new test case.
1999-12-10 04:24:09 +00:00