:- module foo1.
:- interface.

:- import_module io.

:- pred main(io::di, io::uo) is det.

%-----------------------------------------------------------------------------%
%-----------------------------------------------------------------------------%

:- implementation.

:- import_module foo2.

main(!IO) :-
    main2(!IO),
    callfoo2(!IO).

:- pred callfoo2(io::di, io::uo) is det.

:- pragma foreign_proc("C",
    callfoo2(_IO0::di, _IO::uo),
    [will_not_call_mercury, promise_pure, thread_safe, tabled_for_io],
"
    foo2(1);
").

%-----------------------------------------------------------------------------%
% vim: ft=mercury ts=4 sts=4 sw=4 et
