aboutsummaryrefslogtreecommitdiff
path: root/gcc/f/ste.h
blob: 0ee0d0fb1604989e8b72a908d47403a20e8c92df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
/* ste.h -- Private #include File (module.h template V1.0)
   Copyright (C) 1995 Free Software Foundation, Inc.
   Contributed by James Craig Burley (burley@gnu.org).

This file is part of GNU Fortran.

GNU Fortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Fortran is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Fortran; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.

   Owning Modules:
      ste.c

   Modifications:
*/

/* Allow multiple inclusion to work. */

#ifndef _H_f_ste
#define _H_f_ste

/* Simple definitions and enumerations. */


/* Typedefs. */


/* Include files needed by this one. */

#include "bld.h"
#include "lab.h"
#include "lex.h"
#include "stp.h"
#include "str.h"
#include "sts.h"
#include "stt.h"
#include "stv.h"
#include "stw.h"
#include "symbol.h"

/* Structure definitions. */


/* Global objects accessed by users of this module. */


/* Declare functions with prototypes. */

void ffeste_do (ffestw block);
void ffeste_end_R807 (void);
void ffeste_labeldef_branch (ffelab label);
void ffeste_labeldef_format (ffelab label);
void ffeste_R737A (ffebld dest, ffebld source);
void ffeste_R803 (ffebld expr);
void ffeste_R804 (ffebld expr);
void ffeste_R805 (void);
void ffeste_R806 (void);
void ffeste_R807 (ffebld expr);
void ffeste_R809 (ffestw block, ffebld expr);
void ffeste_R810 (ffestw block, unsigned long casenum);
void ffeste_R811 (ffestw block);
void ffeste_R819A (ffestw block, ffelab label, ffebld var,
		   ffebld start, ffelexToken start_token,
		   ffebld end, ffelexToken end_token,
		   ffebld incr, ffelexToken incr_token);
void ffeste_R819B (ffestw block, ffelab label, ffebld expr);
void ffeste_R825 (void);
void ffeste_R834 (ffestw block);
void ffeste_R835 (ffestw block);
void ffeste_R836 (ffelab label);
void ffeste_R837 (ffelab *labels, int count, ffebld expr);
void ffeste_R838 (ffelab label, ffebld target);
void ffeste_R839 (ffebld target);
void ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos);
void ffeste_R841 (void);
void ffeste_R842 (ffebld expr);
void ffeste_R843 (ffebld expr);
void ffeste_R904 (ffestpOpenStmt *info);
void ffeste_R907 (ffestpCloseStmt *info);
void ffeste_R909_start (ffestpReadStmt *info, bool only_format,
		  ffestvUnit unit, ffestvFormat format, bool rec, bool key);
void ffeste_R909_item (ffebld expr, ffelexToken expr_token);
void ffeste_R909_finish (void);
void ffeste_R910_start (ffestpWriteStmt *info, ffestvUnit unit,
			ffestvFormat format, bool rec);
void ffeste_R910_item (ffebld expr, ffelexToken expr_token);
void ffeste_R910_finish (void);
void ffeste_R911_start (ffestpPrintStmt *info, ffestvFormat format);
void ffeste_R911_item (ffebld expr, ffelexToken expr_token);
void ffeste_R911_finish (void);
void ffeste_R919 (ffestpBeruStmt *info);
void ffeste_R920 (ffestpBeruStmt *info);
void ffeste_R921 (ffestpBeruStmt *info);
void ffeste_R923A (ffestpInquireStmt *info, bool by_file);
void ffeste_R923B_start (ffestpInquireStmt *info);
void ffeste_R923B_item (ffebld expr);
void ffeste_R923B_finish (void);
void ffeste_R1001 (ffests s);
void ffeste_R1103 (void);
void ffeste_R1112 (void);
void ffeste_R1212 (ffebld expr);
void ffeste_R1221 (void);
void ffeste_R1225 (void);
void ffeste_R1226 (ffesymbol entry);
void ffeste_R1227 (ffestw block, ffebld expr);
#if FFESTR_VXT
void ffeste_V018_start (ffestpRewriteStmt *info, ffestvFormat format);
void ffeste_V018_item (ffebld expr);
void ffeste_V018_finish (void);
void ffeste_V019_start (ffestpAcceptStmt *info, ffestvFormat format);
void ffeste_V019_item (ffebld expr);
void ffeste_V019_finish (void);
#endif
void ffeste_V020_start (ffestpTypeStmt *info, ffestvFormat format);
void ffeste_V020_item (ffebld expr);
void ffeste_V020_finish (void);
#if FFESTR_VXT
void ffeste_V021 (ffestpDeleteStmt *info);
void ffeste_V022 (ffestpBeruStmt *info);
void ffeste_V023_start (ffestpVxtcodeStmt *info);
void ffeste_V023_item (ffebld expr);
void ffeste_V023_finish (void);
void ffeste_V024_start (ffestpVxtcodeStmt *info);
void ffeste_V024_item (ffebld expr);
void ffeste_V024_finish (void);
void ffeste_V025_start (void);
void ffeste_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv);
void ffeste_V025_finish (void);
void ffeste_V026 (ffestpFindStmt *info);
#endif

/* Define macros. */

#define ffeste_init_0()
#define ffeste_init_1()
#define ffeste_init_2()
#define ffeste_init_3()
#define ffeste_init_4()
#if FFECOM_targetCURRENT == FFECOM_targetGCC
#define ffeste_filename() input_filename
#define ffeste_filelinenum() lineno
#define ffeste_set_line(name,num) \
  (input_filename = (name), lineno = (num))
#elif FFECOM_targetCURRENT == FFECOM_targetFFE
#define ffeste_set_line(name,num)
#else
#error
#endif	/* FFECOM_targetCURRENT == FFECOM_targetFFE */
#define ffeste_terminate_0()
#define ffeste_terminate_1()
#define ffeste_terminate_2()
#define ffeste_terminate_3()
#define ffeste_terminate_4()

/* End of #include file. */

#endif