mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-13 21:04:00 +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.
54 lines
1.7 KiB
Mathematica
54 lines
1.7 KiB
Mathematica
% vim: ft=mercury ts=4 sw=4 et wm=0 tw=0
|
|
%
|
|
% This module results in the following error message from the Erlang compiler
|
|
% when compiled in the erlang grade:
|
|
%
|
|
% Mercury/erls/zf_erlang_bug.erl:64:
|
|
% variable 'STATE_VARIABLE_IO_1_12' unsafe in 'case' (line 43)
|
|
%
|
|
% This was with Mercury rotd-2009-06-02 (+ a few of the diffs posted that day).
|
|
% To reproduce:
|
|
%
|
|
% mmc --grade erlang --make zf_erlang_bug.beam
|
|
%
|
|
% This test case is a cut-down version of the module zinc_frontend from
|
|
% rotd-2009-05-31 of the MiniZinc distribution.
|
|
%
|
|
%---------------------------------------------------------------------------%
|
|
|
|
:- module zf_erlang_bug.
|
|
:- interface.
|
|
|
|
:- import_module list.
|
|
:- import_module io.
|
|
|
|
%---------------------------------------------------------------------------%
|
|
%---------------------------------------------------------------------------%
|
|
|
|
:- type writer(T) == ( pred( T, io, io) ).
|
|
:- inst writer == ( pred(in, di, uo) is det ).
|
|
|
|
:- pred do_io_stage(list(string), writer(A), A, io, io).
|
|
:- mode do_io_stage(in, in(writer), in, di, uo) is det.
|
|
|
|
%---------------------------------------------------------------------------%
|
|
%---------------------------------------------------------------------------%
|
|
|
|
:- implementation.
|
|
|
|
do_io_stage(StageNames, PreDumper, Input, !IO) :-
|
|
( if member("foo", StageNames) then
|
|
PreDumper(Input, !IO)
|
|
else
|
|
true
|
|
),
|
|
( if member("bar", StageNames) then
|
|
PreDumper(Input, !IO)
|
|
else
|
|
true
|
|
).
|
|
|
|
%---------------------------------------------------------------------------%
|
|
:- end_module zf_erlang_bug.
|
|
%---------------------------------------------------------------------------%
|