Commit Graph

4 Commits

Author SHA1 Message Date
Zoltan Somogyi
59cf3a51e1 Don't accept `:- external' items.
compiler/parse_item.m:
    Don't accept `:- external' items.

compiler/prog_item.m:
    Require the presence of a pred_or_func flag on external pragmas.
    They are specified by `:- pragma external_{pred/func}' pragmas,
    which are still supported.

compiler/parse_pragma.m:
    When parsing external_{pred/func} pragmas, allow the predicate name
    to contain a module qualifier; they were allowed on `:- external' items.
    We do require the module qualifier to specify the expected (i.e. the
    current)  module.

compiler/add_pragma.m:
compiler/parse_tree_out_pragma.m:
compiler/recompilation.version.m:
    Conform to the changes above.

tests/hard_coded/backend_external.m:
tests/hard_coded/constant_prop_2.m:
tests/invalid/external.err_exp:
tests/invalid/external.m:
tests/invalid/io_in_ite_cond.err_exp:
tests/invalid/io_in_ite_cond.m:
tests/invalid/overloading.m:
tests/invalid/tricky_assert1.m:
tests/invalid/type_spec.err_exp:
tests/invalid/type_spec.m:
tests/invalid/uniq_neg.err_exp:
tests/invalid/uniq_neg.m:
tests/valid/dcg_test.m:
tests/valid/inst_perf_bug_1.m:
tests/valid/lambda_recompute.m:
tests/valid/semidet_disj.m:
tests/valid/solv.m:
tests/valid/solver_type_bug.m:
tests/valid/stack_alloc.m:
tests/valid/tricky_assert2.m:
    Replace `:- external' items with external_{pred/func} pragmas.
    Modernize the code where needed, replacing DCGs with state variables.
2016-03-13 01:11:05 +11:00
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
Peter Ross
7e76fb58cc Change from using :- assertion' to :- promise'.
Estimated hours taken: 1

Change from using `:- assertion' to `:- promise'.

invalid/assert_in_interface.err_exp:
invalid/assert_in_interface.m:
invalid/tricky_assert1.err_exp:
invalid/tricky_assert1.m:
valid/tricky_assert2.m:
    Make the required changes.
1999-11-12 09:31:54 +00:00
Peter Ross
167ac098d7 Tests of assertions which are in the interface section of a module.
Estimated hours taken: 1

Tests of assertions which are in the interface section of a module.

tests/invalid/Mmakefile:
tests/valid/Mmakefile:
    Call the new tests.

tests/invalid/assert_in_interface.m:
tests/invalid/assert_in_interface.err_exp:
   Test that an assertion in the interface detects that one of the
   symbols in the assertion comes from a module imported in the
   implementation.

tests/invalid/tricky_assert1.m:
tests/invalid/tricky_assert1.err_exp:
    Test that `:- external' declarations are handled correctly.

tests/valid/tricky_assert2.m:
    Test that `:- external' declarations are handled correctly.
1999-11-11 23:18:40 +00:00