oops - omitted from previous delta fixing UNIQUE_SECTION
[official-gcc.git] / gcc / f / stb.h
blob6ee761d588cf7f607fbd08d9eedd75567eadea63
1 /* stb.h -- Private #include File (module.h template V1.0)
2 Copyright (C) 1995, 1996 Free Software Foundation, Inc.
3 Contributed by James Craig Burley.
5 This file is part of GNU Fortran.
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.
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.
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.
22 Owning Modules:
23 stb.c
25 Modifications:
28 /* Allow multiple inclusion to work. */
30 #ifndef _H_f_stb
31 #define _H_f_stb
33 /* Simple definitions and enumerations. */
36 /* Typedefs. */
39 /* Include files needed by this one. */
41 #include "bad.h"
42 #include "expr.h"
43 #include "lex.h"
44 #include "stp.h"
45 #include "str.h"
47 /* Structure definitions. */
49 struct _ffestb_args_
51 struct
53 const char *badname;
54 ffeTokenLength len; /* Length of "ENTRY/FUNCTION/SUBROUTINE". */
55 bool is_subr; /* TRUE if SUBROUTINE or if ENTRY within
56 SUBROUTINE. */
58 dummy;
59 struct
61 const char *badname;
62 ffeTokenLength len; /* Length of
63 "BACKSPACE/ENDFILE/REWIND/UNLOCK". */
65 beru;
66 struct
68 ffeTokenLength len; /* Length of keyword including "END". */
69 ffestrSecond second; /* Second keyword. */
71 endxyz;
72 struct
74 ffestrSecond second; /* Second keyword. */
76 elsexyz;
77 struct
79 ffeTokenLength len; /* Length of "STOP/PAUSE". */
81 halt;
82 #if FFESTR_F90
83 struct
85 const char *badname;
86 ffeTokenLength len; /* Length of "ALLOCATE/DEALLOCATE". */
87 ffeexprContext ctx; /* Either ALLOCATE or DEALLOCATE. */
89 heap;
90 #endif
91 struct
93 const char *badname;
94 ffeTokenLength len; /* Length of
95 "EXTERNAL/INTENT/INTRINSIC/OPTIONAL/PUBLIC/
96 PRIVATE". */
98 varlist;
99 #if FFESTR_VXT
100 struct
102 const char *badname;
103 ffeTokenLength len; /* Length of "ENCODE/DECODE". */
105 vxtcode;
106 #endif
107 #if FFESTR_F90
108 struct
110 const char *badname;
111 ffeTokenLength len; /* Length of "ALLOCATABLE/POINTER/TARGET". */
113 dimlist;
114 #endif
115 struct
117 const char *badname;
118 ffeTokenLength len; /* Length of "DIMENSION/VIRTUAL". */
120 R524;
121 struct
123 ffeTokenLength len; /* Length of first keyword. */
124 ffestpType type; /* Type of declaration. */
126 decl;
129 /* Global objects accessed by users of this module. */
131 extern struct _ffestb_args_ ffestb_args;
133 /* Declare functions with prototypes. */
135 ffelexHandler ffestb_beru (ffelexToken t);
136 ffelexHandler ffestb_block (ffelexToken t);
137 ffelexHandler ffestb_blockdata (ffelexToken t);
138 ffelexHandler ffestb_decl_chartype (ffelexToken t);
139 ffelexHandler ffestb_construct (ffelexToken t);
140 ffelexHandler ffestb_decl_dbltype (ffelexToken t);
141 ffelexHandler ffestb_decl_double (ffelexToken t);
142 ffelexHandler ffestb_dimlist (ffelexToken t);
143 ffelexHandler ffestb_do (ffelexToken t);
144 ffelexHandler ffestb_dowhile (ffelexToken t);
145 ffelexHandler ffestb_dummy (ffelexToken t);
146 ffelexHandler ffestb_else (ffelexToken t);
147 ffelexHandler ffestb_elsexyz (ffelexToken t);
148 ffelexHandler ffestb_end (ffelexToken t);
149 ffelexHandler ffestb_endxyz (ffelexToken t);
150 ffelexHandler ffestb_decl_gentype (ffelexToken t);
151 ffelexHandler ffestb_goto (ffelexToken t);
152 ffelexHandler ffestb_halt (ffelexToken t);
153 #if FFESTR_F90
154 ffelexHandler ffestb_heap (ffelexToken t);
155 #endif
156 ffelexHandler ffestb_if (ffelexToken t);
157 ffelexHandler ffestb_let (ffelexToken t);
158 #if FFESTR_F90
159 ffelexHandler ffestb_module (ffelexToken t);
160 #endif
161 #if FFESTR_F90
162 ffelexHandler ffestb_decl_recursive (ffelexToken t);
163 #endif
164 #if FFESTR_F90
165 ffelexHandler ffestb_type (ffelexToken t);
166 #endif
167 #if FFESTR_F90
168 ffelexHandler ffestb_decl_typetype (ffelexToken t);
169 #endif
170 ffelexHandler ffestb_varlist (ffelexToken t);
171 #if FFESTR_VXT
172 ffelexHandler ffestb_vxtcode (ffelexToken t);
173 #endif
174 #if FFESTR_F90
175 ffelexHandler ffestb_where (ffelexToken t);
176 #endif
177 #if HARD_F90
178 ffelexHandler ffestb_R423B (ffelexToken t);
179 #endif
180 ffelexHandler ffestb_R522 (ffelexToken t);
181 ffelexHandler ffestb_R524 (ffelexToken t);
182 ffelexHandler ffestb_R528 (ffelexToken t);
183 ffelexHandler ffestb_R537 (ffelexToken t);
184 ffelexHandler ffestb_decl_R539 (ffelexToken t);
185 ffelexHandler ffestb_R542 (ffelexToken t);
186 ffelexHandler ffestb_R544 (ffelexToken t);
187 ffelexHandler ffestb_R547 (ffelexToken t);
188 #if FFESTR_F90
189 ffelexHandler ffestb_R624 (ffelexToken t);
190 #endif
191 ffelexHandler ffestb_R809 (ffelexToken t);
192 ffelexHandler ffestb_R810 (ffelexToken t);
193 ffelexHandler ffestb_R834 (ffelexToken t);
194 ffelexHandler ffestb_R835 (ffelexToken t);
195 ffelexHandler ffestb_R838 (ffelexToken t);
196 ffelexHandler ffestb_R840 (ffelexToken t);
197 ffelexHandler ffestb_R841 (ffelexToken t);
198 ffelexHandler ffestb_R904 (ffelexToken t);
199 ffelexHandler ffestb_R907 (ffelexToken t);
200 ffelexHandler ffestb_R909 (ffelexToken t);
201 ffelexHandler ffestb_R910 (ffelexToken t);
202 ffelexHandler ffestb_R911 (ffelexToken t);
203 ffelexHandler ffestb_R923 (ffelexToken t);
204 ffelexHandler ffestb_R1001 (ffelexToken t);
205 ffelexHandler ffestb_R1102 (ffelexToken t);
206 #if FFESTR_F90
207 ffelexHandler ffestb_R1107 (ffelexToken t);
208 #endif
209 #if FFESTR_F90
210 ffelexHandler ffestb_R1202 (ffelexToken t);
211 #endif
212 ffelexHandler ffestb_R1212 (ffelexToken t);
213 ffelexHandler ffestb_R1227 (ffelexToken t);
214 #if FFESTR_F90
215 ffelexHandler ffestb_R1228 (ffelexToken t);
216 #endif
217 ffelexHandler ffestb_R1229 (ffelexToken t);
218 ffelexHandler ffestb_S3P4 (ffelexToken t);
219 #if FFESTR_VXT
220 ffelexHandler ffestb_V003 (ffelexToken t);
221 ffelexHandler ffestb_V009 (ffelexToken t);
222 ffelexHandler ffestb_V012 (ffelexToken t);
223 #endif
224 ffelexHandler ffestb_V014 (ffelexToken t);
225 #if FFESTR_VXT
226 ffelexHandler ffestb_V016 (ffelexToken t);
227 ffelexHandler ffestb_V018 (ffelexToken t);
228 ffelexHandler ffestb_V019 (ffelexToken t);
229 #endif
230 ffelexHandler ffestb_V020 (ffelexToken t);
231 #if FFESTR_VXT
232 ffelexHandler ffestb_V021 (ffelexToken t);
233 ffelexHandler ffestb_V025 (ffelexToken t);
234 ffelexHandler ffestb_V026 (ffelexToken t);
235 #endif
236 ffelexHandler ffestb_V027 (ffelexToken t);
238 /* Define macros. */
240 #define ffestb_init_0()
241 #define ffestb_init_1()
242 #define ffestb_init_2()
243 #define ffestb_init_3()
244 #define ffestb_init_4()
245 #define ffestb_terminate_0()
246 #define ffestb_terminate_1()
247 #define ffestb_terminate_2()
248 #define ffestb_terminate_3()
249 #define ffestb_terminate_4()
251 /* End of #include file. */
253 #endif