X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ast2firm.h;h=2271f66347c138708e63ca4341def99a65dcb344;hb=296ba6e16420b89723d1a5b1217d6ecfc2fb0c7d;hp=64c7ac1429919120957585757f5e250615452f7e;hpb=678b596e15fa892a3166a6d33a952d6208723875;p=cparser diff --git a/ast2firm.h b/ast2firm.h index 64c7ac1..2271f66 100644 --- a/ast2firm.h +++ b/ast2firm.h @@ -1,15 +1,45 @@ +/* + * This file is part of cparser. + * Copyright (C) 2007-2009 Matthias Braun + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ #ifndef AST2FIRM_H #define AST2FIRM_H +#include #include "ast.h" +#include "type.h" void translation_unit_to_firm(translation_unit_t *unit); void init_ast2firm(void); void exit_ast2firm(void); -const char *retrieve_dbg(const dbg_info *dbg, unsigned *line); -ir_node *uninitialized_local_var(ir_graph *irg, ir_mode *mode, int pos); -unsigned dbg_snprint(char *buf, unsigned len, const dbg_info *dbg); +ir_mode *get_atomic_mode(atomic_type_kind_t kind); +ir_type *get_ir_type(type_t *type); + +typedef ident* (*create_ld_ident_func)(entity_t *entity); + +void set_create_ld_ident(create_ld_ident_func func); + +ir_tarval *fold_constant_to_tarval(const expression_t *expression); +void determine_enum_values(enum_type_t *type); + +extern fp_model_t firm_fp_model; +extern ir_mode *atomic_modes[ATOMIC_TYPE_LAST+1]; #endif