Merge from vendor branch GCC:
[dragonfly.git] / contrib / gcc-3.4 / gcc / f / std.h
1 /* std.h -- Private #include File (module.h template V1.0)
2    Copyright (C) 1995, 2003 Free Software Foundation, Inc.
3    Contributed by James Craig Burley.
4
5 This file is part of GNU Fortran.
6
7 GNU Fortran is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 GNU Fortran 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 GNU Fortran; see the file COPYING.  If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
20 02111-1307, USA.
21
22    Owning Modules:
23       std.c
24
25    Modifications:
26 */
27
28 /* Allow multiple inclusion to work. */
29
30 #ifndef GCC_F_STD_H
31 #define GCC_F_STD_H
32
33 /* Simple definitions and enumerations. */
34
35
36 /* Typedefs. */
37
38
39 /* Include files needed by this one. */
40
41 #include "bld.h"
42 #include "lab.h"
43 #include "lex.h"
44 #include "stp.h"
45 #include "str.h"
46 #include "stt.h"
47 #include "stv.h"
48 #include "stw.h"
49 #include "symbol.h"
50
51 /* Structure definitions. */
52
53
54 /* Global objects accessed by users of this module. */
55
56
57 /* Declare functions with prototypes. */
58
59 void ffestd_begin_uses (void);
60 void ffestd_do (bool ok);
61 void ffestd_end_R807 (bool ok);
62 void ffestd_exec_begin (void);
63 void ffestd_exec_end (void);
64 void ffestd_init_3 (void);
65 void ffestd_labeldef_any (ffelab label);
66 void ffestd_labeldef_branch (ffelab label);
67 void ffestd_labeldef_format (ffelab label);
68 void ffestd_labeldef_useless (ffelab label);
69 void ffestd_R522 (void);
70 void ffestd_R522start (void);
71 void ffestd_R522item_object (ffelexToken name);
72 void ffestd_R522item_cblock (ffelexToken name);
73 void ffestd_R522finish (void);
74 void ffestd_R524_start (bool virtual);
75 void ffestd_R524_item (ffelexToken name, ffesttDimList dims);
76 void ffestd_R524_finish (void);
77 void ffestd_R537_start (void);
78 void ffestd_R537_item (ffebld dest, ffebld source);
79 void ffestd_R537_finish (void);
80 void ffestd_R539 (void);
81 void ffestd_R539start (void);
82 void ffestd_R539item (ffestpType type, ffebld kind, ffelexToken kindt,
83                       ffebld len, ffelexToken lent, ffesttImpList letters);
84 void ffestd_R539finish (void);
85 void ffestd_R542_start (void);
86 void ffestd_R542_item_nlist (ffelexToken name);
87 void ffestd_R542_item_nitem (ffelexToken name);
88 void ffestd_R542_finish (void);
89 void ffestd_R544_start (void);
90 void ffestd_R544_item (ffesttExprList exprlist);
91 void ffestd_R544_finish (void);
92 void ffestd_R547_start (void);
93 void ffestd_R547_item_object (ffelexToken name, ffesttDimList dims);
94 void ffestd_R547_item_cblock (ffelexToken name);
95 void ffestd_R547_finish (void);
96 void ffestd_R737A (ffebld dest, ffebld source);
97 void ffestd_R803 (ffelexToken construct_name, ffebld expr);
98 void ffestd_R804 (ffebld expr, ffelexToken name);
99 void ffestd_R805 (ffelexToken name);
100 void ffestd_R806 (bool ok);
101 void ffestd_R807 (ffebld expr);
102 void ffestd_R809 (ffelexToken construct_name, ffebld expr);
103 void ffestd_R810 (unsigned long casenum);
104 void ffestd_R811 (bool ok);
105 void ffestd_R819A (ffelexToken construct_name, ffelab label, ffebld var,
106                    ffebld start, ffelexToken start_token,
107                    ffebld end, ffelexToken end_token,
108                    ffebld incr, ffelexToken incr_token);
109 void ffestd_R819B (ffelexToken construct_name, ffelab label, ffebld expr);
110 void ffestd_R825 (ffelexToken name);
111 void ffestd_R834 (ffestw block);
112 void ffestd_R835 (ffestw block);
113 void ffestd_R836 (ffelab label);
114 void ffestd_R837 (ffelab *labels, int count, ffebld expr);
115 void ffestd_R838 (ffelab label, ffebld target);
116 void ffestd_R839 (ffebld target, ffelab *labels, int count);
117 void ffestd_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos);
118 void ffestd_R841 (bool in_where);
119 void ffestd_R842 (ffebld expr);
120 void ffestd_R843 (ffebld expr);
121 void ffestd_R904 (void);
122 void ffestd_R907 (void);
123 void ffestd_R909_start (bool only_format, ffestvUnit unit,
124                         ffestvFormat format, bool rec, bool key);
125 void ffestd_R909_item (ffebld expr, ffelexToken expr_token);
126 void ffestd_R909_finish (void);
127 void ffestd_R910_start (ffestvUnit unit, ffestvFormat format, bool rec);
128 void ffestd_R910_item (ffebld expr, ffelexToken expr_token);
129 void ffestd_R910_finish (void);
130 void ffestd_R911_start (ffestvFormat format);
131 void ffestd_R911_item (ffebld expr, ffelexToken expr_token);
132 void ffestd_R911_finish (void);
133 void ffestd_R919 (void);
134 void ffestd_R920 (void);
135 void ffestd_R921 (void);
136 void ffestd_R923A (bool by_file);
137 void ffestd_R923B_start (void);
138 void ffestd_R923B_item (ffebld expr);
139 void ffestd_R923B_finish (void);
140 void ffestd_R1001 (ffesttFormatList f);
141 void ffestd_R1102 (ffesymbol s, ffelexToken name);
142 void ffestd_R1103 (bool ok);
143 void ffestd_R1111 (ffesymbol s, ffelexToken name);
144 void ffestd_R1112 (bool ok);
145 void ffestd_R1207_start (void);
146 void ffestd_R1207_item (ffelexToken name);
147 void ffestd_R1207_finish (void);
148 void ffestd_R1208_start (void);
149 void ffestd_R1208_item (ffelexToken name);
150 void ffestd_R1208_finish (void);
151 void ffestd_R1212 (ffebld expr);
152 void ffestd_R1219 (ffesymbol s, ffelexToken funcname,
153                    ffesttTokenList args, ffestpType type, ffebld kind,
154                    ffelexToken kindt, ffebld len, ffelexToken lent,
155                    bool recursive, ffelexToken result,
156                    bool separate_result);
157 void ffestd_R1221 (bool ok);
158 void ffestd_R1223 (ffesymbol s, ffelexToken subrname, ffesttTokenList args,
159                    ffelexToken final, bool recursive);
160 void ffestd_R1225 (bool ok);
161 void ffestd_R1226 (ffesymbol entry);
162 void ffestd_R1227 (ffebld expr);
163 void ffestd_R1229_start (ffelexToken name, ffesttTokenList args);
164 void ffestd_R1229_finish (ffesymbol s);
165 void ffestd_S3P4 (ffebld filename);
166 void ffestd_V014_start (void);
167 void ffestd_V014_item_object (ffelexToken name);
168 void ffestd_V014_item_cblock (ffelexToken name);
169 void ffestd_V014_finish (void);
170 void ffestd_V020_start (ffestvFormat format);
171 void ffestd_V020_item (ffebld expr);
172 void ffestd_V020_finish (void);
173 void ffestd_V027_start (void);
174 void ffestd_V027_item (ffelexToken dest_token, ffebld source);
175 void ffestd_V027_finish (void);
176 void ffestd_any (void);
177
178 /* Define macros. */
179
180 #define ffestd_init_0()
181 #define ffestd_init_1()
182 #define ffestd_init_2()
183 #define ffestd_init_4()
184 #define ffestd_labeldef_notloop(l) ffestd_labeldef_branch(l)
185 #define ffestd_labeldef_endif(l) ffestd_labeldef_branch(l)
186 #define ffestd_terminate_0()
187 #define ffestd_terminate_1()
188 #define ffestd_terminate_2()
189 #define ffestd_terminate_3()
190 #define ffestd_terminate_4()
191
192 /* End of #include file. */
193
194 #endif /* ! GCC_F_STD_H */