1 /* std.h -- Private #include File (module.h template V1.0) 2 Copyright (C) 1995 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 #if FFESTR_F90 62 void ffestd_end_uses (bool ok); 63 void ffestd_end_R740 (bool ok); 64 #endif 65 void ffestd_end_R807 (bool ok); 66 void ffestd_exec_begin (void); 67 void ffestd_exec_end (void); 68 void ffestd_init_3 (void); 69 void ffestd_labeldef_any (ffelab label); 70 void ffestd_labeldef_branch (ffelab label); 71 void ffestd_labeldef_format (ffelab label); 72 void ffestd_labeldef_useless (ffelab label); 73 #if FFESTR_F90 74 void ffestd_R423A (void); 75 void ffestd_R423B (void); 76 void ffestd_R424 (ffelexToken access, ffestrOther access_kw, ffelexToken name); 77 void ffestd_R425 (bool ok); 78 void ffestd_R519_start (ffestrOther intent_kw); 79 void ffestd_R519_item (ffelexToken name); 80 void ffestd_R519_finish (void); 81 void ffestd_R520_start (void); 82 void ffestd_R520_item (ffelexToken name); 83 void ffestd_R520_finish (void); 84 void ffestd_R521A (void); 85 void ffestd_R521Astart (void); 86 void ffestd_R521Aitem (ffelexToken name); 87 void ffestd_R521Afinish (void); 88 void ffestd_R521B (void); 89 void ffestd_R521Bstart (void); 90 void ffestd_R521Bitem (ffelexToken name); 91 void ffestd_R521Bfinish (void); 92 #endif 93 void ffestd_R522 (void); 94 void ffestd_R522start (void); 95 void ffestd_R522item_object (ffelexToken name); 96 void ffestd_R522item_cblock (ffelexToken name); 97 void ffestd_R522finish (void); 98 void ffestd_R524_start (bool virtual); 99 void ffestd_R524_item (ffelexToken name, ffesttDimList dims); 100 void ffestd_R524_finish (void); 101 #if FFESTR_F90 102 void ffestd_R525_start (void); 103 void ffestd_R525_item (ffelexToken name, ffesttDimList dims); 104 void ffestd_R525_finish (void); 105 void ffestd_R526_start (void); 106 void ffestd_R526_item (ffelexToken name, ffesttDimList dims); 107 void ffestd_R526_finish (void); 108 void ffestd_R527_start (void); 109 void ffestd_R527_item (ffelexToken name, ffesttDimList dims); 110 void ffestd_R527_finish (void); 111 #endif 112 void ffestd_R537_start (void); 113 void ffestd_R537_item (ffebld dest, ffebld source); 114 void ffestd_R537_finish (void); 115 void ffestd_R539 (void); 116 void ffestd_R539start (void); 117 void ffestd_R539item (ffestpType type, ffebld kind, ffelexToken kindt, 118 ffebld len, ffelexToken lent, ffesttImpList letters); 119 void ffestd_R539finish (void); 120 void ffestd_R542_start (void); 121 void ffestd_R542_item_nlist (ffelexToken name); 122 void ffestd_R542_item_nitem (ffelexToken name); 123 void ffestd_R542_finish (void); 124 void ffestd_R544_start (void); 125 void ffestd_R544_item (ffesttExprList exprlist); 126 void ffestd_R544_finish (void); 127 void ffestd_R547_start (void); 128 void ffestd_R547_item_object (ffelexToken name, ffesttDimList dims); 129 void ffestd_R547_item_cblock (ffelexToken name); 130 void ffestd_R547_finish (void); 131 #if FFESTR_F90 132 void ffestd_R620 (ffesttExprList exprlist, ffebld stat); 133 void ffestd_R624 (ffesttExprList pointers); 134 void ffestd_R625 (ffesttExprList exprlist, ffebld stat); 135 #endif 136 void ffestd_R737A (ffebld dest, ffebld source); 137 #if FFESTR_F90 138 void ffestd_R737B (ffebld dest, ffebld source); 139 void ffestd_R738 (ffebld dest, ffebld source); 140 void ffestd_R740 (ffebld expr); 141 void ffestd_R742 (ffebld expr); 142 void ffestd_R744 (void); 143 void ffestd_R745 (bool ok); 144 #endif 145 void ffestd_R803 (ffelexToken construct_name, ffebld expr); 146 void ffestd_R804 (ffebld expr, ffelexToken name); 147 void ffestd_R805 (ffelexToken name); 148 void ffestd_R806 (bool ok); 149 void ffestd_R807 (ffebld expr); 150 void ffestd_R809 (ffelexToken construct_name, ffebld expr); 151 void ffestd_R810 (unsigned long casenum); 152 void ffestd_R811 (bool ok); 153 void ffestd_R819A (ffelexToken construct_name, ffelab label, ffebld var, 154 ffebld start, ffelexToken start_token, 155 ffebld end, ffelexToken end_token, 156 ffebld incr, ffelexToken incr_token); 157 void ffestd_R819B (ffelexToken construct_name, ffelab label, ffebld expr); 158 void ffestd_R825 (ffelexToken name); 159 void ffestd_R834 (ffestw block); 160 void ffestd_R835 (ffestw block); 161 void ffestd_R836 (ffelab label); 162 void ffestd_R837 (ffelab *labels, int count, ffebld expr); 163 void ffestd_R838 (ffelab label, ffebld target); 164 void ffestd_R839 (ffebld target, ffelab *labels, int count); 165 void ffestd_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos); 166 void ffestd_R841 (bool in_where); 167 void ffestd_R842 (ffebld expr); 168 void ffestd_R843 (ffebld expr); 169 void ffestd_R904 (void); 170 void ffestd_R907 (void); 171 void ffestd_R909_start (bool only_format, ffestvUnit unit, 172 ffestvFormat format, bool rec, bool key); 173 void ffestd_R909_item (ffebld expr, ffelexToken expr_token); 174 void ffestd_R909_finish (void); 175 void ffestd_R910_start (ffestvUnit unit, ffestvFormat format, bool rec); 176 void ffestd_R910_item (ffebld expr, ffelexToken expr_token); 177 void ffestd_R910_finish (void); 178 void ffestd_R911_start (ffestvFormat format); 179 void ffestd_R911_item (ffebld expr, ffelexToken expr_token); 180 void ffestd_R911_finish (void); 181 void ffestd_R919 (void); 182 void ffestd_R920 (void); 183 void ffestd_R921 (void); 184 void ffestd_R923A (bool by_file); 185 void ffestd_R923B_start (void); 186 void ffestd_R923B_item (ffebld expr); 187 void ffestd_R923B_finish (void); 188 void ffestd_R1001 (ffesttFormatList f); 189 void ffestd_R1102 (ffesymbol s, ffelexToken name); 190 void ffestd_R1103 (bool ok); 191 #if FFESTR_F90 192 void ffestd_R1105 (ffelexToken name); 193 void ffestd_R1106 (bool ok); 194 void ffestd_R1107_start (ffelexToken name, bool only); 195 void ffestd_R1107_item (ffelexToken local, ffelexToken use); 196 void ffestd_R1107_finish (void); 197 #endif 198 void ffestd_R1111 (ffesymbol s, ffelexToken name); 199 void ffestd_R1112 (bool ok); 200 #if FFESTR_F90 201 void ffestd_R1202 (ffestpDefinedOperator operator, ffelexToken name); 202 void ffestd_R1203 (bool ok); 203 void ffestd_R1205_start (void); 204 void ffestd_R1205_item (ffelexToken name); 205 void ffestd_R1205_finish (void); 206 #endif 207 void ffestd_R1207_start (void); 208 void ffestd_R1207_item (ffelexToken name); 209 void ffestd_R1207_finish (void); 210 void ffestd_R1208_start (void); 211 void ffestd_R1208_item (ffelexToken name); 212 void ffestd_R1208_finish (void); 213 void ffestd_R1212 (ffebld expr); 214 #if FFESTR_F90 215 void ffestd_R1213 (ffebld dest, ffebld source); 216 #endif 217 void ffestd_R1219 (ffesymbol s, ffelexToken funcname, 218 ffesttTokenList args, ffestpType type, ffebld kind, 219 ffelexToken kindt, ffebld len, ffelexToken lent, 220 bool recursive, ffelexToken result, 221 bool separate_result); 222 void ffestd_R1221 (bool ok); 223 void ffestd_R1223 (ffesymbol s, ffelexToken subrname, ffesttTokenList args, 224 ffelexToken final, bool recursive); 225 void ffestd_R1225 (bool ok); 226 void ffestd_R1226 (ffesymbol entry); 227 void ffestd_R1227 (ffebld expr); 228 #if FFESTR_F90 229 void ffestd_R1228 (void); 230 #endif 231 void ffestd_R1229_start (ffelexToken name, ffesttTokenList args); 232 void ffestd_R1229_finish (ffesymbol s); 233 void ffestd_S3P4 (ffebld filename); 234 #if FFESTR_VXT 235 void ffestd_V003_start (ffelexToken structure_name); 236 void ffestd_V003_item (ffelexToken name, ffesttDimList dims); 237 void ffestd_V003_finish (void); 238 void ffestd_V004 (bool ok); 239 void ffestd_V009 (void); 240 void ffestd_V010 (bool ok); 241 void ffestd_V012 (void); 242 void ffestd_V013 (bool ok); 243 #endif 244 void ffestd_V014_start (void); 245 void ffestd_V014_item_object (ffelexToken name); 246 void ffestd_V014_item_cblock (ffelexToken name); 247 void ffestd_V014_finish (void); 248 #if FFESTR_VXT 249 void ffestd_V016_start (void); 250 void ffestd_V016_item_structure (ffelexToken name); 251 void ffestd_V016_item_object (ffelexToken name, ffesttDimList dims); 252 void ffestd_V016_finish (void); 253 void ffestd_V018_start (ffestvFormat format); 254 void ffestd_V018_item (ffebld expr); 255 void ffestd_V018_finish (void); 256 void ffestd_V019_start (ffestvFormat format); 257 void ffestd_V019_item (ffebld expr); 258 void ffestd_V019_finish (void); 259 #endif 260 void ffestd_V020_start (ffestvFormat format); 261 void ffestd_V020_item (ffebld expr); 262 void ffestd_V020_finish (void); 263 #if FFESTR_VXT 264 void ffestd_V021 (void); 265 void ffestd_V022 (void); 266 void ffestd_V023_start (void); 267 void ffestd_V023_item (ffebld expr); 268 void ffestd_V023_finish (void); 269 void ffestd_V024_start (void); 270 void ffestd_V024_item (ffebld expr); 271 void ffestd_V024_finish (void); 272 void ffestd_V025_start (void); 273 void ffestd_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv); 274 void ffestd_V025_finish (void); 275 void ffestd_V026 (void); 276 #endif 277 void ffestd_V027_start (void); 278 void ffestd_V027_item (ffelexToken dest_token, ffebld source); 279 void ffestd_V027_finish (void); 280 void ffestd_any (void); 281 282 /* Define macros. */ 283 284 #define ffestd_init_0() 285 #define ffestd_init_1() 286 #define ffestd_init_2() 287 #define ffestd_init_4() 288 #define ffestd_labeldef_notloop(l) ffestd_labeldef_branch(l) 289 #define ffestd_labeldef_endif(l) ffestd_labeldef_branch(l) 290 #define ffestd_terminate_0() 291 #define ffestd_terminate_1() 292 #define ffestd_terminate_2() 293 #define ffestd_terminate_3() 294 #define ffestd_terminate_4() 295 296 /* End of #include file. */ 297 298 #endif /* ! GCC_F_STD_H */ 299