mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-16 18:03:36 +00:00
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.
63 lines
1.3 KiB
Mathematica
63 lines
1.3 KiB
Mathematica
%---------------------------------------------------------------------------%
|
|
% vim: ts=4 sw=4 et ft=mercury
|
|
%---------------------------------------------------------------------------%
|
|
%
|
|
% Test separate `:- pred' and `:- mode' declarations
|
|
% for predicates with no arguments.
|
|
% The compiler of 25/8/1999 reported a spurious duplicate
|
|
% mode error for this test case.
|
|
|
|
:- module zero_arity.
|
|
|
|
:- interface.
|
|
|
|
% bar has one mode, with determinism semidet.
|
|
:- pred bar is semidet.
|
|
|
|
% baz has one mode, with determinism semidet.
|
|
:- pred baz.
|
|
:- mode baz is semidet.
|
|
|
|
:- pred use_asm_labels.
|
|
:- mode use_asm_labels is semidet.
|
|
|
|
:- implementation.
|
|
|
|
:- import_module std_util.
|
|
|
|
bar :-
|
|
semidet_fail.
|
|
|
|
baz :-
|
|
semidet_fail.
|
|
|
|
% foo has no modes, or the modes for foo will be inferred.
|
|
:- pred foo.
|
|
|
|
% The mode error here should not be detected because this predicate
|
|
% has no modes and is not called, so no modes will be inferred.
|
|
foo :-
|
|
X = 1,
|
|
unify(X, _).
|
|
|
|
% quux has one mode, whose determinism will be inferred.
|
|
:- pred quux.
|
|
:- mode quux.
|
|
|
|
quux :-
|
|
semidet_fail.
|
|
|
|
:- pragma foreign_proc("C",
|
|
use_asm_labels,
|
|
[promise_pure, will_not_call_mercury, thread_safe],
|
|
"
|
|
#ifdef MR_USE_ASM_LABELS
|
|
SUCCESS_INDICATOR = MR_TRUE;
|
|
#else
|
|
SUCCESS_INDICATOR = MR_FALSE;
|
|
#endif
|
|
").
|
|
|
|
use_asm_labels :-
|
|
fail.
|