Cthulhu  0.2.10
Cthulhu compiler collection
type.c File Reference
#include "base/util.h"
#include "common.h"
#include "cthulhu/tree/query.h"
#include "std/map.h"
#include "std/vector.h"
#include "std/typed/vector.h"
#include "arena/arena.h"
#include "memory/memory.h"
#include "base/panic.h"
#include <stdio.h>
Include dependency graph for type.c:

Go to the source code of this file.

Functions

ssa_type_tssa_type_new (ssa_kind_t kind, const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_empty (const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_unit (const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_bool (const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_digit (const char *name, tree_quals_t quals, sign_t sign, digit_t digit)
 
ssa_type_tssa_type_closure (const char *name, tree_quals_t quals, ssa_type_t *result, typevec_t *params, bool variadic)
 
ssa_type_tssa_type_pointer (const char *name, tree_quals_t quals, ssa_type_t *pointer, size_t length)
 
ssa_type_tssa_type_opaque_pointer (const char *name, tree_quals_t quals)
 
ssa_type_tssa_type_struct (const char *name, tree_quals_t quals, typevec_t *fields)
 
ssa_type_tssa_type_union (const char *name, tree_quals_t quals, typevec_t *fields)
 
ssa_type_tssa_type_enum (const char *name, tree_quals_t quals, ssa_type_t *underlying, typevec_t *cases)
 
ssa_type_tssa_type_create_cached (map_t *cache, const tree_t *type)
 

Function Documentation

◆ ssa_type_closure()

ssa_type_t* ssa_type_closure ( const char *  name,
tree_quals_t  quals,
ssa_type_t result,
typevec_t params,
bool  variadic 
)

Definition at line 50 of file type.c.

◆ ssa_type_create_cached()

ssa_type_t* ssa_type_create_cached ( map_t cache,
const tree_t type 
)

Definition at line 226 of file type.c.

◆ ssa_type_empty()

ssa_type_t* ssa_type_empty ( const char *  name,
tree_quals_t  quals 
)

Definition at line 27 of file type.c.

◆ ssa_type_enum()

ssa_type_t* ssa_type_enum ( const char *  name,
tree_quals_t  quals,
ssa_type_t underlying,
typevec_t cases 
)

Definition at line 96 of file type.c.

◆ ssa_type_new()

ssa_type_t* ssa_type_new ( ssa_kind_t  kind,
const char *  name,
tree_quals_t  quals 
)

type api

Definition at line 17 of file type.c.

◆ ssa_type_opaque_pointer()

ssa_type_t* ssa_type_opaque_pointer ( const char *  name,
tree_quals_t  quals 
)

Definition at line 75 of file type.c.

◆ ssa_type_struct()

ssa_type_t* ssa_type_struct ( const char *  name,
tree_quals_t  quals,
typevec_t fields 
)

Definition at line 80 of file type.c.

◆ ssa_type_union()

ssa_type_t* ssa_type_union ( const char *  name,
tree_quals_t  quals,
typevec_t fields 
)

Definition at line 88 of file type.c.

◆ ssa_type_unit()

ssa_type_t* ssa_type_unit ( const char *  name,
tree_quals_t  quals 
)

Definition at line 32 of file type.c.