OSDN Git Service

PR fortran/13930
[pf3gnuchains/gcc-fork.git] / gcc / f / ste.h
1 /* ste.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       ste.c
24
25    Modifications:
26 */
27
28 /* Allow multiple inclusion to work. */
29
30 #ifndef GCC_F_STE_H
31 #define GCC_F_STE_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 "sts.h"
47 #include "stt.h"
48 #include "stv.h"
49 #include "stw.h"
50 #include "symbol.h"
51
52 /* Structure definitions. */
53
54
55 /* Global objects accessed by users of this module. */
56
57
58 /* Declare functions with prototypes. */
59
60 void ffeste_do (ffestw block);
61 void ffeste_end_R807 (void);
62 void ffeste_labeldef_branch (ffelab label);
63 void ffeste_labeldef_format (ffelab label);
64 void ffeste_R737A (ffebld dest, ffebld source);
65 void ffeste_R803 (ffestw block, ffebld expr);
66 void ffeste_R804 (ffestw block, ffebld expr);
67 void ffeste_R805 (ffestw block);
68 void ffeste_R806 (ffestw block);
69 void ffeste_R807 (ffebld expr);
70 void ffeste_R809 (ffestw block, ffebld expr);
71 void ffeste_R810 (ffestw block, unsigned long casenum);
72 void ffeste_R811 (ffestw block);
73 void ffeste_R819A (ffestw block, ffelab label, ffebld var,
74                    ffebld start, ffelexToken start_token,
75                    ffebld end, ffelexToken end_token,
76                    ffebld incr, ffelexToken incr_token);
77 void ffeste_R819B (ffestw block, ffelab label, ffebld expr);
78 void ffeste_R825 (void);
79 void ffeste_R834 (ffestw block);
80 void ffeste_R835 (ffestw block);
81 void ffeste_R836 (ffelab label);
82 void ffeste_R837 (ffelab *labels, int count, ffebld expr);
83 void ffeste_R838 (ffelab label, ffebld target);
84 void ffeste_R839 (ffebld target);
85 void ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos);
86 void ffeste_R841 (void);
87 void ffeste_R842 (ffebld expr);
88 void ffeste_R843 (ffebld expr);
89 void ffeste_R904 (ffestpOpenStmt *info);
90 void ffeste_R907 (ffestpCloseStmt *info);
91 void ffeste_R909_start (ffestpReadStmt *info, bool only_format,
92                   ffestvUnit unit, ffestvFormat format, bool rec, bool key);
93 void ffeste_R909_item (ffebld expr, ffelexToken expr_token);
94 void ffeste_R909_finish (void);
95 void ffeste_R910_start (ffestpWriteStmt *info, ffestvUnit unit,
96                         ffestvFormat format, bool rec);
97 void ffeste_R910_item (ffebld expr, ffelexToken expr_token);
98 void ffeste_R910_finish (void);
99 void ffeste_R911_start (ffestpPrintStmt *info, ffestvFormat format);
100 void ffeste_R911_item (ffebld expr, ffelexToken expr_token);
101 void ffeste_R911_finish (void);
102 void ffeste_R919 (ffestpBeruStmt *info);
103 void ffeste_R920 (ffestpBeruStmt *info);
104 void ffeste_R921 (ffestpBeruStmt *info);
105 void ffeste_R923A (ffestpInquireStmt *info, bool by_file);
106 void ffeste_R923B_start (ffestpInquireStmt *info);
107 void ffeste_R923B_item (ffebld expr);
108 void ffeste_R923B_finish (void);
109 void ffeste_R1001 (ffests s);
110 void ffeste_R1103 (void);
111 void ffeste_R1112 (void);
112 void ffeste_R1212 (ffebld expr);
113 void ffeste_R1221 (void);
114 void ffeste_R1225 (void);
115 void ffeste_R1226 (ffesymbol entry);
116 void ffeste_R1227 (ffestw block, ffebld expr);
117 void ffeste_V020_start (ffestpTypeStmt *info, ffestvFormat format);
118 void ffeste_V020_item (ffebld expr);
119 void ffeste_V020_finish (void);
120
121 /* Define macros. */
122
123 #define ffeste_init_0()
124 #define ffeste_init_1()
125 #define ffeste_init_2()
126 #define ffeste_init_3()
127 #define ffeste_init_4()
128 #define ffeste_filename() input_filename
129 #define ffeste_filelinenum() input_line
130 #define ffeste_set_line(name,num) \
131   (input_filename = (name), input_line = (num))
132 #define ffeste_terminate_0()
133 #define ffeste_terminate_1()
134 #ifdef ENABLE_CHECKING
135 void ffeste_terminate_2 (void);
136 #else
137 #define ffeste_terminate_2()
138 #endif
139 #define ffeste_terminate_3()
140 #define ffeste_terminate_4()
141
142 /* End of #include file. */
143
144 #endif /* ! GCC_F_STE_H */