Commit Graph

3 Commits

Author SHA1 Message Date
Zoltan Somogyi
fdd141bf77 Clean up the tests in the other test directories.
tests/invalid/*.{m,err_exp}:
tests/misc_tests/*.m:
tests/mmc_make/*.m:
tests/par_conj/*.m:
tests/purity/*.m:
tests/stm/*.m:
tests/string_format/*.m:
tests/structure_reuse/*.m:
tests/submodules/*.m:
tests/tabling/*.m:
tests/term/*.m:
tests/trailing/*.m:
tests/typeclasses/*.m:
tests/valid/*.m:
tests/warnings/*.{m,exp}:
    Make these tests use four-space indentation, and ensure that
    each module is imported on its own line. (I intend to use the latter
    to figure out which subdirectories' tests can be executed in parallel.)

    These changes usually move code to different lines. For the tests
    that check compiler error messages, expect the new line numbers.

browser/cterm.m:
browser/tree234_cc.m:
    Import only one module per line.

tests/hard_coded/boyer.m:
    Fix something I missed.
2015-02-16 12:32:18 +11:00
Julien Fischer
9ccc76015d Emit an error if abstract instances in the implementation of a module do
Estimated hours taken: 1
Branches: main

Emit an error if abstract instances in the implementation of a module do
not have a corresponding concrete instance.

compiler/check_typeclass.m:
	Check that abstract instance declarations in the implementation
	section of a module have a corresponding concrete instance
	declaration somewhere.  Emit an error if they don't.

tests/invalid/missing_concrete_instance.{m,err_exp}:
	Extend this test case to cover the above situation.
2006-10-25 14:08:59 +00:00
Julien Fischer
df11eb7a3c Have the compiler emit an error if an abstract instance declaration
Estimated hours taken: 3
Branches: main, release

Have the compiler emit an error if an abstract instance declaration
in the interface of a module does not have a corresponding concrete
instance declaration in the implementation of the module.  Currently
the compiler just ignores this situation which leads to C compilation
errors in the MLDS grades and link-time errors in the LLDS grades.

compiler/check_typeclass.m:
	Emit an error message if an abstract instance declaration
	in the interface of a module does not have a corresponding
	concrete instance in the implementation.

	Use unexpected/2 in place of error/2.

	Fix the positioning of a few comments.

	Add an end_module declaration.

compiler/hlds_data.m:
	Make the instance_table type a multi_map (which it
	already effectively was).

tests/invalid/Mmakefile:
tests/invalid/missing_concrete_instance.m:
tests/invalid/missing_concrete_instance.err_exp:
	Test case for the above.
2005-04-13 07:41:28 +00:00