mjplusplus  v0.4.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Macros | Typedefs | Enumerations | Functions
ast2firm.c File Reference
#include "ast2firm.h"
#include <assert.h>
#include <libfirm/adt/obst.h>
#include <libfirm/be.h>
#include <libfirm/firm.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include "adt/array.h"
#include "adt/error.h"
#include "adt/strutil.h"
#include "adt/unicode.h"
#include "adt/util.h"
#include "ast/ast_t.h"
#include "ast/constfold.h"
#include "ast/constfoldbits.h"
#include "ast/entity_t.h"
#include "ast/position.h"
#include "ast/printer.h"
#include "ast/string_hash.h"
#include "ast/symbol_table.h"
#include "ast/symbol_t.h"
#include "ast/types.h"
#include "ast/type_t.h"
#include "ast/walk.h"
#include "driver/diagnostic.h"
#include "driver/lang_features.h"
#include "driver/warning.h"
#include "entitymap_t.h"
#include "firm/firm_opt.h"
#include "jump_target.h"
#include "mangle.h"
#include "parser/parser.h"

Classes

struct  complex_value
 
struct  type_path_entry_t
 
struct  type_path_t
 

Macros

#define PUSH_BREAK(val)
 
#define POP_BREAK()   ((void)(break_target = old_break_target))
 
#define PUSH_CONTINUE(val)
 
#define POP_CONTINUE()   ((void)(continue_target = old_continue_target))
 
#define PUSH_IRG(val)
 
#define POP_IRG()   (assert(current_ir_graph == new_irg), (void)(current_ir_graph = old_irg))
 

Typedefs

typedef struct complex_value complex_value
 
typedef enum declaration_kind_t declaration_kind_t
 
typedef complex_value(* new_complex_binop )(dbg_info *dbgi, complex_value left, complex_value right, ir_mode *mode)
 
typedef complex_value(* new_complex_unop )(dbg_info *dbgi, complex_value value, ir_mode *mode)
 
typedef struct type_path_entry_t type_path_entry_t
 
typedef struct type_path_t type_path_t
 

Enumerations

enum  declaration_kind_t {
  DECLARATION_KIND_UNKNOWN, DECLARATION_KIND_VARIABLE_LENGTH_ARRAY, DECLARATION_KIND_GLOBAL_VARIABLE, DECLARATION_KIND_LOCAL_VARIABLE,
  DECLARATION_KIND_LOCAL_VARIABLE_ENTITY, DECLARATION_KIND_PARAMETER, DECLARATION_KIND_PARAMETER_ENTITY, DECLARATION_KIND_FUNCTION,
  DECLARATION_KIND_COMPOUND_MEMBER, DECLARATION_KIND_INNER_FUNCTION
}
 

Functions

void set_create_ld_ident (ident *(*func)(entity_t *))
 
void determine_literal_type (literal_expression_t *const literal)
 
void exit_ast2firm (void)
 
void translation_unit_to_firm (translation_unit_t *unit)
 

Macro Definition Documentation

#define POP_BREAK ( )    ((void)(break_target = old_break_target))
#define POP_CONTINUE ( )    ((void)(continue_target = old_continue_target))
#define POP_IRG ( )    (assert(current_ir_graph == new_irg), (void)(current_ir_graph = old_irg))
#define PUSH_BREAK (   val)
Value:
jump_target const old_break_target = break_target; \
(init_jump_target(&break_target, (val)))
#define PUSH_CONTINUE (   val)
Value:
jump_target const old_continue_target = continue_target; \
(init_jump_target(&continue_target, (val)))
#define PUSH_IRG (   val)
Value:
ir_graph *const old_irg = current_ir_graph; \
ir_graph *const new_irg = (val); \
((void)(current_ir_graph = new_irg))

Typedef Documentation

typedef struct complex_value complex_value
typedef complex_value(* new_complex_binop)(dbg_info *dbgi, complex_value left, complex_value right, ir_mode *mode)
typedef complex_value(* new_complex_unop)(dbg_info *dbgi, complex_value value, ir_mode *mode)
typedef struct type_path_t type_path_t

Enumeration Type Documentation

Enumerator
DECLARATION_KIND_UNKNOWN 
DECLARATION_KIND_VARIABLE_LENGTH_ARRAY 
DECLARATION_KIND_GLOBAL_VARIABLE 
DECLARATION_KIND_LOCAL_VARIABLE 
DECLARATION_KIND_LOCAL_VARIABLE_ENTITY 
DECLARATION_KIND_PARAMETER 
DECLARATION_KIND_PARAMETER_ENTITY 
DECLARATION_KIND_FUNCTION 
DECLARATION_KIND_COMPOUND_MEMBER 
DECLARATION_KIND_INNER_FUNCTION 

Function Documentation

void determine_literal_type ( literal_expression_t *const  literal)
void exit_ast2firm ( void  )
void set_create_ld_ident ( ident *(*)(entity_t *)  func)
void translation_unit_to_firm ( translation_unit_t *  unit)

Variable Documentation

unsigned flags

language flags

int id

the rts id

int n_params

number of parameters

int n_res

number of return values

const char* name

the name of the rts function