Cthulhu  0.2.10
Cthulhu compiler collection
emit.c File Reference
#include "cthulhu/broker/broker.h"
#include "base/util.h"
#include "c89.h"
#include "cthulhu/ssa/ssa.h"
#include "cthulhu/tree/ops.h"
#include "io/io.h"
#include "notify/notify.h"
#include "std/str.h"
#include "std/map.h"
#include "std/set.h"
#include "std/vector.h"
#include "std/typed/vector.h"
#include "os/os.h"
#include "fs/fs.h"
#include "arena/arena.h"
#include "base/panic.h"
#include "core/macros.h"
#include <limits.h>
Include dependency graph for emit.c:

Go to the source code of this file.

Functions

c89_source_tc89_get_source (c89_emit_t *emit, const ssa_module_t *mod)
 
c89_source_tc89_get_header (c89_emit_t *emit, const ssa_module_t *mod)
 
io_tc89_get_header_io (c89_emit_t *emit, const ssa_module_t *mod)
 
io_tc89_get_source_io (c89_emit_t *emit, const ssa_module_t *mod)
 
char * c89_format_integer_literal (arena_t *arena, const mpz_t value)
 
void c89_proto_type (c89_emit_t *emit, io_t *io, const ssa_type_t *type)
 
void c89_proto_global (c89_emit_t *emit, const ssa_module_t *mod, const ssa_symbol_t *global)
 
void c89_proto_function (c89_emit_t *emit, const ssa_module_t *mod, const ssa_symbol_t *symbol)
 
void c89_define_type (c89_emit_t *emit, io_t *io, const ssa_type_t *type)
 
void c89_define_global (c89_emit_t *emit, const ssa_module_t *mod, const ssa_symbol_t *symbol)
 
void c89_define_function (c89_emit_t *emit, const ssa_module_t *mod, const ssa_symbol_t *symbol)
 
emit_result_t cfamily_ssa (target_runtime_t *runtime, const ssa_result_t *ssa, target_emit_t *emit)
 

Function Documentation

◆ c89_define_function()

void c89_define_function ( c89_emit_t emit,
const ssa_module_t mod,
const ssa_symbol_t symbol 
)

Definition at line 1020 of file emit.c.

◆ c89_define_global()

void c89_define_global ( c89_emit_t emit,
const ssa_module_t mod,
const ssa_symbol_t symbol 
)

Definition at line 977 of file emit.c.

◆ c89_define_type()

void c89_define_type ( c89_emit_t emit,
io_t io,
const ssa_type_t type 
)

symbol definitions

Definition at line 946 of file emit.c.

◆ c89_format_integer_literal()

char* c89_format_integer_literal ( arena_t arena,
const mpz_t  value 
)

Definition at line 309 of file emit.c.

◆ c89_get_header()

c89_source_t* c89_get_header ( c89_emit_t emit,
const ssa_module_t mod 
)

Definition at line 92 of file emit.c.

◆ c89_get_header_io()

io_t* c89_get_header_io ( c89_emit_t emit,
const ssa_module_t mod 
)

Definition at line 103 of file emit.c.

◆ c89_get_source()

c89_source_t* c89_get_source ( c89_emit_t emit,
const ssa_module_t mod 
)

Definition at line 81 of file emit.c.

◆ c89_get_source_io()

io_t* c89_get_source_io ( c89_emit_t emit,
const ssa_module_t mod 
)

Definition at line 109 of file emit.c.

◆ c89_proto_function()

void c89_proto_function ( c89_emit_t emit,
const ssa_module_t mod,
const ssa_symbol_t symbol 
)

Definition at line 408 of file emit.c.

◆ c89_proto_global()

void c89_proto_global ( c89_emit_t emit,
const ssa_module_t mod,
const ssa_symbol_t global 
)

Definition at line 390 of file emit.c.

◆ c89_proto_type()

void c89_proto_type ( c89_emit_t emit,
io_t io,
const ssa_type_t type 
)

symbol foward declarations

Definition at line 361 of file emit.c.

◆ cfamily_ssa()

emit_result_t cfamily_ssa ( target_runtime_t runtime,
const ssa_result_t ssa,
target_emit_t emit 
)

Definition at line 1140 of file emit.c.