2 * TCC - Tiny C Compiler
4 * Copyright (c) 2001-2004 Fabrice Bellard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 void parse_expr_type(CType
*type
);
24 void expr_type(CType
*type
);
25 void unary_type(CType
*type
);
26 void block(int *bsym
, int *csym
, int *case_sym
, int *def_sym
,
27 int case_reg
, int is_expr
);
31 void gen_inline_functions(void);
32 int type_size(CType
*type
, int *a
);
33 int lvalue_type(int t
);
34 Sym
*external_global_sym(int v
, CType
*type
, int r
);
36 void decl_initializer(CType
*type
, Section
*sec
, unsigned long c
,
37 int first
, int size_only
);
38 void decl_initializer_alloc(CType
*type
, AttributeDef
*ad
, int r
,
39 int has_init
, int v
, int scope
);
41 void gv2(int rc1
, int rc2
);
42 void move_reg(int r
, int s
);
43 void save_regs(int n
);
49 int get_reg_ex(int rc
,int rc2
);
50 void mk_pointer(CType
*type
);
51 Sym
*get_sym_ref(CType
*type
, Section
*sec
,
52 unsigned long offset
, unsigned long size
);
55 void force_charshort_cast(int t
);
56 void gen_cast(CType
*type
);
59 #endif /* __TCCGEN_H__ */