Files
mercury/tests/invalid/foreign_enum_invalid.m
Zoltan Somogyi ce3e48d5ed Fix an ninth batch of C# invalid test failures.
tests/invalid/foreign_enum_invalid.{m,err_exp}:
    Delete the "foreign enum in interface" error from this test case,
    moving it to invalid_make_int/bad_in_interface.

tests/invalid/foreign_type_visibility.err_exp2:
tests/invalid/foreign_type_visibility.err_exp3:
    Add these expected outputs for Java and C# respectively.
tests/invalid/foreign_type_visibility.m:
    Document the new expected output files.
tests/invalid/foreign_type_visibility.err_exp:
    Update for changed line numbers.

tests/invalid/foreign_include_file_missing.m:
    Fix indentation.

tests/invalid/Mercury.options:
    Allow a test case to get past the creation of interface files.

tests/invalid_make_int/bad_in_interface.{m,int_err_exp}:
    Move the "foreign enum in interface" part of invalid/foreign_enum_invalid
    here.
2023-10-30 15:54:22 +11:00

41 lines
876 B
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module foreign_enum_invalid.
:- interface.
:- type incomplete
---> foo
; bar
; baz.
:- type not_a_bijection
---> a
; b
; c.
:- type in_int
---> in_int.
:- type dup_foreign_enum ---> dup_foreign_enum.
:- implementation.
:- pragma foreign_enum("C", in_int/0, [in_int - "300"]).
:- pragma foreign_enum("C", incomplete/0, [
foo - "3",
bar - "4"
]).
:- pragma foreign_enum("C", not_a_bijection/0, [
a - "30",
a - "40",
b - "60",
c - "60"
]).
:- pragma foreign_enum("C", dup_foreign_enum/0, [dup_foreign_enum - "400"]).
:- pragma foreign_enum("C", dup_foreign_enum/0, [dup_foreign_enum - "500"]).