OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [fortran/] [types.def] - Blame information for rev 712

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 712 jeremybenn
/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
2
   Free Software Foundation, Inc.
3
 
4
This file is part of GCC.
5
 
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
 
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14
for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3.  If not see
18
.  */
19
 
20
/* This header contains a subset of ../builtin-types.def needed for
21
   Fortran frontend builtins.
22
 
23
   Before including this header, you must define the following macros:
24
 
25
   DEF_PRIMITIVE_TYPE (ENUM, TYPE)
26
 
27
     The ENUM is an identifier indicating which type is being defined.
28
     TYPE is an expression for a `tree' that represents the type.
29
 
30
   DEF_FUNCTION_TYPE_0 (ENUM, RETURN)
31
   DEF_FUNCTION_TYPE_1 (ENUM, RETURN, ARG1)
32
   DEF_FUNCTION_TYPE_2 (ENUM, RETURN, ARG1, ARG2)
33
   DEF_FUNCTION_TYPE_3 (ENUM, RETURN, ARG1, ARG2, ARG3)
34
   DEF_FUNCTION_TYPE_4 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4)
35
   DEF_FUNCTION_TYPE_5 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5)
36
   DEF_FUNCTION_TYPE_6 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6)
37
   DEF_FUNCTION_TYPE_7 (ENUM, RETURN, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7)
38
 
39
     These macros describe function types.  ENUM is as above.  The
40
     RETURN type is one of the enumerals already defined.  ARG1, ARG2,
41
     and ARG3 give the types of the arguments, similarly.
42
 
43
   DEF_FUNCTION_TYPE_VAR_0 (ENUM, RETURN)
44
 
45
     Similar, but for function types that take variable arguments.
46
 
47
  DEF_POINTER_TYPE (ENUM, TYPE)
48
 
49
    This macro describes a pointer type.  ENUM is as above; TYPE is
50
    the type pointed to.  */
51
 
52
DEF_PRIMITIVE_TYPE (BT_VOID, void_type_node)
53
DEF_PRIMITIVE_TYPE (BT_BOOL,
54
                    (*lang_hooks.types.type_for_size) (BOOL_TYPE_SIZE, 1))
55
DEF_PRIMITIVE_TYPE (BT_INT, integer_type_node)
56
DEF_PRIMITIVE_TYPE (BT_UINT, unsigned_type_node)
57
DEF_PRIMITIVE_TYPE (BT_LONG, long_integer_type_node)
58
DEF_PRIMITIVE_TYPE (BT_ULONGLONG, long_long_unsigned_type_node)
59
DEF_PRIMITIVE_TYPE (BT_WORD, (*lang_hooks.types.type_for_mode) (word_mode, 1))
60
DEF_PRIMITIVE_TYPE (BT_SIZE, size_type_node)
61
 
62
DEF_PRIMITIVE_TYPE (BT_I1, builtin_type_for_size (BITS_PER_UNIT*1, 1))
63
DEF_PRIMITIVE_TYPE (BT_I2, builtin_type_for_size (BITS_PER_UNIT*2, 1))
64
DEF_PRIMITIVE_TYPE (BT_I4, builtin_type_for_size (BITS_PER_UNIT*4, 1))
65
DEF_PRIMITIVE_TYPE (BT_I8, builtin_type_for_size (BITS_PER_UNIT*8, 1))
66
DEF_PRIMITIVE_TYPE (BT_I16, builtin_type_for_size (BITS_PER_UNIT*16, 1))
67
 
68
DEF_PRIMITIVE_TYPE (BT_PTR, ptr_type_node)
69
DEF_PRIMITIVE_TYPE (BT_CONST_PTR, const_ptr_type_node)
70
DEF_PRIMITIVE_TYPE (BT_VOLATILE_PTR,
71
                    build_pointer_type
72
                     (build_qualified_type (void_type_node,
73
                                            TYPE_QUAL_VOLATILE)))
74
DEF_PRIMITIVE_TYPE (BT_CONST_VOLATILE_PTR,
75
                    build_pointer_type
76
                     (build_qualified_type (void_type_node,
77
                                          TYPE_QUAL_VOLATILE|TYPE_QUAL_CONST)))
78
DEF_POINTER_TYPE (BT_PTR_LONG, BT_LONG)
79
DEF_POINTER_TYPE (BT_PTR_ULONGLONG, BT_ULONGLONG)
80
DEF_POINTER_TYPE (BT_PTR_PTR, BT_PTR)
81
DEF_FUNCTION_TYPE_0 (BT_FN_BOOL, BT_BOOL)
82
DEF_FUNCTION_TYPE_0 (BT_FN_PTR, BT_PTR)
83
DEF_FUNCTION_TYPE_0 (BT_FN_INT, BT_INT)
84
DEF_FUNCTION_TYPE_0 (BT_FN_UINT, BT_UINT)
85
DEF_FUNCTION_TYPE_0 (BT_FN_VOID, BT_VOID)
86
 
87
DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTR, BT_VOID, BT_PTR)
88
DEF_FUNCTION_TYPE_1 (BT_FN_VOID_PTRPTR, BT_VOID, BT_PTR_PTR)
89
DEF_FUNCTION_TYPE_1 (BT_FN_VOID_VPTR, BT_VOID, BT_VOLATILE_PTR)
90
DEF_FUNCTION_TYPE_1 (BT_FN_UINT_UINT, BT_UINT, BT_UINT)
91
DEF_FUNCTION_TYPE_1 (BT_FN_PTR_PTR, BT_PTR, BT_PTR)
92
DEF_FUNCTION_TYPE_1 (BT_FN_VOID_INT, BT_VOID, BT_INT)
93
 
94
 
95
DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR, BT_FN_VOID_PTR)
96
 
97
DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_LONGPTR_LONGPTR,
98
                     BT_BOOL, BT_PTR_LONG, BT_PTR_LONG)
99
DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR,
100
                     BT_BOOL, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
101
DEF_FUNCTION_TYPE_2 (BT_FN_I1_VPTR_I1, BT_I1, BT_VOLATILE_PTR, BT_I1)
102
DEF_FUNCTION_TYPE_2 (BT_FN_I2_VPTR_I2, BT_I2, BT_VOLATILE_PTR, BT_I2)
103
DEF_FUNCTION_TYPE_2 (BT_FN_I4_VPTR_I4, BT_I4, BT_VOLATILE_PTR, BT_I4)
104
DEF_FUNCTION_TYPE_2 (BT_FN_I8_VPTR_I8, BT_I8, BT_VOLATILE_PTR, BT_I8)
105
DEF_FUNCTION_TYPE_2 (BT_FN_I16_VPTR_I16, BT_I16, BT_VOLATILE_PTR, BT_I16)
106
DEF_FUNCTION_TYPE_2 (BT_FN_VOID_PTR_PTR, BT_VOID, BT_PTR, BT_PTR)
107
DEF_FUNCTION_TYPE_2 (BT_FN_I1_CONST_VPTR_INT, BT_I1, BT_CONST_VOLATILE_PTR,
108
                     BT_INT)
109
DEF_FUNCTION_TYPE_2 (BT_FN_I2_CONST_VPTR_INT, BT_I2, BT_CONST_VOLATILE_PTR,
110
                     BT_INT)
111
DEF_FUNCTION_TYPE_2 (BT_FN_I4_CONST_VPTR_INT, BT_I4, BT_CONST_VOLATILE_PTR,
112
                     BT_INT)
113
DEF_FUNCTION_TYPE_2 (BT_FN_I8_CONST_VPTR_INT, BT_I8, BT_CONST_VOLATILE_PTR,
114
                     BT_INT)
115
DEF_FUNCTION_TYPE_2 (BT_FN_I16_CONST_VPTR_INT, BT_I16, BT_CONST_VOLATILE_PTR,
116
                     BT_INT)
117
DEF_FUNCTION_TYPE_2 (BT_FN_VOID_VPTR_INT, BT_VOID, BT_VOLATILE_PTR, BT_INT)
118
DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_VPTR_INT, BT_BOOL, BT_VOLATILE_PTR, BT_INT)
119
DEF_FUNCTION_TYPE_2 (BT_FN_BOOL_SIZE_CONST_VPTR, BT_BOOL, BT_SIZE,
120
                     BT_CONST_VOLATILE_PTR)
121
 
122
 
123
DEF_POINTER_TYPE (BT_PTR_FN_VOID_PTR_PTR, BT_FN_VOID_PTR_PTR)
124
 
125
DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I1_I1, BT_BOOL, BT_VOLATILE_PTR,
126
                     BT_I1, BT_I1)
127
DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I2_I2, BT_BOOL, BT_VOLATILE_PTR,
128
                     BT_I2, BT_I2)
129
DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I4_I4, BT_BOOL, BT_VOLATILE_PTR,
130
                     BT_I4, BT_I4)
131
DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I8_I8, BT_BOOL, BT_VOLATILE_PTR,
132
                     BT_I8, BT_I8)
133
DEF_FUNCTION_TYPE_3 (BT_FN_BOOL_VPTR_I16_I16, BT_BOOL, BT_VOLATILE_PTR,
134
                     BT_I16, BT_I16)
135
DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_I1, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_I1)
136
DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_I2, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_I2)
137
DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_I4, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_I4)
138
DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_I8, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_I8)
139
DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_I16, BT_I16, BT_VOLATILE_PTR,
140
                     BT_I16, BT_I16)
141
DEF_FUNCTION_TYPE_3 (BT_FN_VOID_OMPFN_PTR_UINT, BT_VOID, BT_PTR_FN_VOID_PTR,
142
                     BT_PTR, BT_UINT)
143
DEF_FUNCTION_TYPE_3 (BT_FN_I1_VPTR_I1_INT, BT_I1, BT_VOLATILE_PTR, BT_I1, BT_INT)
144
DEF_FUNCTION_TYPE_3 (BT_FN_I2_VPTR_I2_INT, BT_I2, BT_VOLATILE_PTR, BT_I2, BT_INT)
145
DEF_FUNCTION_TYPE_3 (BT_FN_I4_VPTR_I4_INT, BT_I4, BT_VOLATILE_PTR, BT_I4, BT_INT)
146
DEF_FUNCTION_TYPE_3 (BT_FN_I8_VPTR_I8_INT, BT_I8, BT_VOLATILE_PTR, BT_I8, BT_INT)
147
DEF_FUNCTION_TYPE_3 (BT_FN_I16_VPTR_I16_INT, BT_I16, BT_VOLATILE_PTR, BT_I16, BT_INT)
148
DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I1_INT, BT_VOID, BT_VOLATILE_PTR, BT_I1, BT_INT)
149
DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I2_INT, BT_VOID, BT_VOLATILE_PTR, BT_I2, BT_INT)
150
DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I4_INT, BT_VOID, BT_VOLATILE_PTR, BT_I4, BT_INT)
151
DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I8_INT, BT_VOID, BT_VOLATILE_PTR, BT_I8, BT_INT)
152
DEF_FUNCTION_TYPE_3 (BT_FN_VOID_VPTR_I16_INT, BT_VOID, BT_VOLATILE_PTR, BT_I16, BT_INT)
153
 
154
DEF_FUNCTION_TYPE_4 (BT_FN_VOID_OMPFN_PTR_UINT_UINT,
155
                     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT, BT_UINT)
156
DEF_FUNCTION_TYPE_4 (BT_FN_VOID_PTR_WORD_WORD_PTR,
157
                     BT_VOID, BT_PTR, BT_WORD, BT_WORD, BT_PTR)
158
DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_VPTR_PTR_INT, BT_VOID, BT_SIZE,
159
                     BT_VOLATILE_PTR, BT_PTR, BT_INT)
160
DEF_FUNCTION_TYPE_4 (BT_FN_VOID_SIZE_CONST_VPTR_PTR_INT, BT_VOID, BT_SIZE,
161
                     BT_CONST_VOLATILE_PTR, BT_PTR, BT_INT)
162
 
163
DEF_FUNCTION_TYPE_5 (BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR,
164
                     BT_BOOL, BT_LONG, BT_LONG, BT_LONG,
165
                     BT_PTR_LONG, BT_PTR_LONG)
166
DEF_FUNCTION_TYPE_5 (BT_FN_VOID_SIZE_VPTR_PTR_PTR_INT, BT_VOID, BT_SIZE,
167
                     BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT)
168
 
169
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR,
170
                     BT_BOOL, BT_LONG, BT_LONG, BT_LONG, BT_LONG,
171
                     BT_PTR_LONG, BT_PTR_LONG)
172
DEF_FUNCTION_TYPE_6 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG,
173
                     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
174
                     BT_LONG, BT_LONG, BT_LONG)
175
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR,
176
                     BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
177
                     BT_ULONGLONG, BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
178
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I1_BOOL_INT_INT,
179
                     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I1, BT_BOOL, BT_INT,
180
                     BT_INT)
181
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I2_BOOL_INT_INT,
182
                     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I2, BT_BOOL, BT_INT,
183
                     BT_INT)
184
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I4_BOOL_INT_INT,
185
                     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I4, BT_BOOL, BT_INT,
186
                     BT_INT)
187
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I8_BOOL_INT_INT,
188
                     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I8, BT_BOOL, BT_INT,
189
                     BT_INT)
190
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_VPTR_PTR_I16_BOOL_INT_INT,
191
                     BT_BOOL, BT_VOLATILE_PTR, BT_PTR, BT_I16, BT_BOOL, BT_INT,
192
                     BT_INT)
193
DEF_FUNCTION_TYPE_6 (BT_FN_BOOL_SIZE_VPTR_PTR_PTR_INT_INT, BT_BOOL, BT_SIZE,
194
                     BT_VOLATILE_PTR, BT_PTR, BT_PTR, BT_INT, BT_INT)
195
 
196
DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG,
197
                     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR, BT_UINT,
198
                     BT_LONG, BT_LONG, BT_LONG, BT_LONG)
199
DEF_FUNCTION_TYPE_7 (BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT,
200
                     BT_VOID, BT_PTR_FN_VOID_PTR, BT_PTR,
201
                     BT_PTR_FN_VOID_PTR_PTR, BT_LONG, BT_LONG,
202
                     BT_BOOL, BT_UINT)
203
DEF_FUNCTION_TYPE_7 (BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR,
204
                     BT_BOOL, BT_BOOL, BT_ULONGLONG, BT_ULONGLONG,
205
                     BT_ULONGLONG, BT_ULONGLONG,
206
                     BT_PTR_ULONGLONG, BT_PTR_ULONGLONG)
207
 
208
DEF_FUNCTION_TYPE_VAR_0 (BT_FN_VOID_VAR, BT_VOID)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.