%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
%
% Ensure that the foreign_decl is placed into the .opt file for procedures
% which are defined by both a foreign proc and a mercury clause.
%

:- module intermod_pragma_clause_sub.

:- interface.

:- pred f(int::out) is det.
:- pred g(int::out) is det.

:- implementation.

:- pragma foreign_decl("C", "
    #define ML_NUMBER   5
").

f(5).
:- pragma foreign_proc("C",
    f(X::out),
    [will_not_call_mercury, promise_pure, thread_safe],
"
    X = ML_NUMBER;
").

g(5).
:- pragma foreign_proc("C",
    g(X::out),
    [will_not_call_mercury, promise_pure, thread_safe],
"
    X = ML_NUMBER;
").

