Cthulhu  0.2.10
Cthulhu compiler collection
c89.h File Reference
#include "common.h"
#include "cthulhu/broker/broker.h"
Include dependency graph for c89.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  c89_source_t
 
struct  c89_emit_t
 

Enumerations

enum  type_format_t { eFormatEmitNone = 0 , eFormatEmitConst = 1 << 0 , eFormatIsConst = 1 << 1 }
 

Functions

const char * c89_format_type (c89_emit_t *emit, const ssa_type_t *type, const char *name, type_format_t flags)
 
const char * c89_format_params (c89_emit_t *emit, typevec_t *params, bool variadic)
 
const char * c89_printf_specifier (digit_t digit, sign_t sign)
 
const char * c89_format_storage (c89_emit_t *emit, ssa_storage_t storage, const char *name, type_format_t flags)
 
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)
 
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)
 

Enumeration Type Documentation

◆ type_format_t

type formatting

Enumerator
eFormatEmitNone 
eFormatEmitConst 
eFormatIsConst 

Definition at line 47 of file c89.h.

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_params()

const char* c89_format_params ( c89_emit_t emit,
typevec_t params,
bool  variadic 
)

Definition at line 142 of file type.c.

◆ c89_format_storage()

const char* c89_format_storage ( c89_emit_t emit,
ssa_storage_t  storage,
const char *  name,
type_format_t  flags 
)

Definition at line 136 of file type.c.

◆ c89_format_type()

const char* c89_format_type ( c89_emit_t emit,
const ssa_type_t type,
const char *  name,
type_format_t  flags 
)

Definition at line 97 of file type.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_printf_specifier()

const char* c89_printf_specifier ( digit_t  digit,
sign_t  sign 
)

◆ 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.