]>
Commit | Line | Data |
---|---|---|
22f51792 | 1 | /* TREELANG Compiler definitions for interfacing to treetree.c |
6cfea11b TJ |
2 | (compiler back end interface). |
3 | ||
22f51792 JM |
4 | Copyright (C) 1986, 87, 89, 92-96, 1997, 1999, 2000, 2001, 2002, 2003, |
5 | 2004, 2005 Free Software Foundation, Inc. | |
6cfea11b TJ |
6 | |
7 | This program is free software; you can redistribute it and/or modify it | |
8 | under the terms of the GNU General Public License as published by the | |
9 | Free Software Foundation; either version 2, or (at your option) any | |
10 | later version. | |
11 | ||
12 | This program is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with this program; if not, write to the Free Software | |
1788952f KC |
19 | Foundation, 51 Franklin Street, Fifth Floor, |
20 | Boston, MA 02110-1301, USA. | |
6cfea11b TJ |
21 | |
22 | In other words, you are welcome to use, share and improve this program. | |
23 | You are forbidden to forbid anyone else to use, share and improve | |
24 | what you give them. Help stamp out software-hoarding! | |
25 | ||
26 | --------------------------------------------------------------------------- | |
27 | ||
28 | Written by Tim Josling 1999, 2000, 2001, based in part on other | |
22f51792 | 29 | parts of the GCC compiler. */ |
6cfea11b | 30 | |
6cfea11b TJ |
31 | tree tree_code_init_parameters (void); |
32 | tree tree_code_add_parameter (tree list, tree proto_exp, tree exp); | |
33 | tree tree_code_get_integer_value (unsigned char *chars, unsigned int length); | |
34 | void tree_code_generate_return (tree type, tree exp); | |
35 | void tree_ggc_storage_always_used (void *m); | |
b12d3a19 JM |
36 | tree tree_code_get_expression (unsigned int exp_type, tree type, tree op1, |
37 | tree op2, tree op3, location_t loc); | |
6cfea11b TJ |
38 | tree tree_code_get_numeric_type (unsigned int size1, unsigned int sign1); |
39 | void tree_code_create_function_initial (tree prev_saved, | |
a10d44d9 | 40 | location_t loc); |
c2e39602 | 41 | void tree_code_create_function_wrapup (location_t loc); |
6cfea11b | 42 | tree tree_code_create_function_prototype (unsigned char* chars, |
c2e39602 NS |
43 | unsigned int storage_class, |
44 | unsigned int ret_type, | |
a10d44d9 JM |
45 | struct prod_token_parm_item* parms, |
46 | location_t loc); | |
6cfea11b | 47 | tree tree_code_create_variable (unsigned int storage_class, |
c2e39602 NS |
48 | unsigned char* chars, |
49 | unsigned int length, | |
50 | unsigned int expression_type, | |
51 | tree init, | |
52 | location_t loc); | |
53 | void tree_code_output_expression_statement (tree code, | |
54 | location_t loc); | |
c2e39602 NS |
55 | void tree_code_if_start (tree exp, location_t loc); |
56 | void tree_code_if_else (location_t loc); | |
57 | void tree_code_if_end (location_t loc); | |
6cfea11b TJ |
58 | tree tree_code_get_type (int type_num); |
59 | void treelang_init_decl_processing (void); | |
60 | void treelang_finish (void); | |
4bfec483 | 61 | bool treelang_init (void); |
b86f6cd9 | 62 | unsigned int treelang_init_options (unsigned int, const char **); |
7fb26bb0 | 63 | int treelang_handle_option (size_t scode, const char *arg, int value); |
6cfea11b TJ |
64 | void treelang_parse_file (int debug_flag); |
65 | void push_var_level (void); | |
66 | void pop_var_level (void); | |
27f94314 | 67 | const char* get_string (const char *s, size_t l); |