Files
mercury/tests/hard_coded/needs_init.m
2020-10-03 17:43:38 +10:00

46 lines
1.0 KiB
Mathematica

%---------------------------------------------------------------------------%
% vim: ts=4 sw=4 et ft=mercury
%---------------------------------------------------------------------------%
:- module needs_init.
:- interface.
:- import_module io.
:- pred main(io::di, io::uo) is det.
:- implementation.
:- pred init_modules(io::di, io::uo) is det.
:- pragma import(init_modules(di, uo), "do_init_modules").
main(!IO) :-
init_modules(!IO),
io.write_string("world!\n", !IO).
:- pred hello(io::di, io::uo) is det.
:- pragma export(hello(di, uo), "run_at_init_time_init").
hello(!IO) :-
io.write_string("hello, ", !IO).
:- pragma c_header_code("
#include <stdio.h>
void run_at_init_time_init_type_tables(void);
void run_at_init_time_write_out_proc_statics(FILE *);
void run_at_init_time_init_debugger(void);
").
:- pragma c_code("
/*
INIT run_at_init_time
ENDINIT
*/
void run_at_init_time_init_type_tables() {}
void run_at_init_time_write_out_proc_statics(FILE *f) {}
void run_at_init_time_init_debugger() {}
").