111
|
1 2002-12-29 Paul Brook <paul@nowt.org>
|
|
2
|
|
3 * trans-array.c: Document calling convention for arrays.
|
|
4
|
|
5 2002-12-19 Paul Brook <paul@nowt.org>
|
|
6
|
|
7 * trans-intrinsic.c (g95_conv_intrsinsic_function): Remove incorrect
|
|
8 assertion. Remove intrinsic subroutine G95_ISYM_* cases. Always pass
|
|
9 optional parameters for some intrinsics.
|
|
10 (g95_is_intrinsic_libcall): Add G95_ISYM_RESHAPE.
|
|
11 * trans-expr.c (g95_conv_function_call): Pass NULL for absent
|
|
12 optional parameters.
|
|
13 * trans.h (g95_se): Add ignore_optional flag.
|
|
14
|
|
15 2002-12-15 Paul Brook <paul@nowt.org>
|
|
16
|
|
17 * trans-array.c (g95_conv_array_parameter): Fix partial rank sections.
|
|
18 * trans-decl.c (g95_generate_function_code): Use TDI_original.
|
|
19
|
|
20 2002-12-14 Paul Brook <paul@nowt.org>
|
|
21
|
|
22 * trans-stmt.c (g95_trans_call): Use resolved symbol name.
|
|
23
|
|
24 2002-12-12 Paul Brook <paul@nowt.org>
|
|
25
|
|
26 * trans-array.c (g95_trans_array_constructor_subarray): Fully
|
|
27 initialize the scalarizer.
|
|
28 (various): Update to new format of g95_expr->value.constructor.
|
|
29
|
|
30 2002-12-08 Paul Brook <paul@nowt.org>
|
|
31
|
|
32 * trans-array.c (g95_put_offset_into_var): New function.
|
|
33 (g95_trans_array_constructor_subarray): New function.
|
|
34 (g95_trans_array_constructor_value): Use it.
|
|
35 (g95_array_cons_size): Don't abort() on array components.
|
|
36
|
|
37 2002-12-08 Paul Brook <paul@nowt.org>
|
|
38
|
|
39 * Make-lang.in (F95_ADDITIONAL_OBJS): Remove tree-dchain.o.
|
|
40 * support.c: Update #includes.
|
|
41 (statement_code_p, c_size_in_bytes, s_size_type_node): Remove.
|
|
42 * trans-array.c: Update #includes.
|
|
43 * trans.c: Ditto.
|
|
44 * trans-const.c: Ditto.
|
|
45 * trans-io.c: Ditto.
|
|
46 * trans-types.c: Ditto.
|
|
47 (g95_init_types): Set size_type_node.
|
|
48 * trans-decl.c: Update #includes.
|
|
49 (gfor_fndecl_adjust{l,r}): Declare and initialize.
|
|
50 * trans-stmt.c: Update #includes.
|
|
51 (g95_trans_do_while): Generate LABEL_EXPR, not GOTO_EXPR.
|
|
52 (g95_trans_select): Fix check for unbounded ranges.
|
|
53 * trans-expr.c: Update #includes.
|
|
54 (g95_conv_string_tmp): New function.
|
|
55 (g95_conv_concat_op): Use it.
|
|
56 * trans.h (g95_conv_string_tmp, gfor_fndecl_adjust{l,r}): Declare.
|
|
57 * Trans-intrisic.c: Update #includes.
|
|
58 (g95_conv_intrinsic_strcmp): New function.
|
|
59 (g95_conv_intrinsic_adjust): Ditto.
|
|
60 (g95_conv_intrinsic_function: Use them.
|
|
61
|
|
62 2002-11-30 Paul Brook <paul@nowt.org>
|
|
63
|
|
64 * trans-array.c (g95_walk_function_expr): Handle non-array return by
|
|
65 reference.
|
|
66 * trans-dec.c (g95_build_function_decl): Handle character return
|
|
67 parammeters.
|
|
68 (g95_get_fake_result_decl): Ditto.
|
|
69 (g95_trans_deferred_vars): Ditto.
|
|
70 * trans-expr.c (g95_conv_function_call): Ditto.
|
|
71 (g95_trans_arrayfunc_assign) Limit to array valued functions.
|
|
72 * trans-intrinsic.c (g95_conv_intrinsic_char): New function.
|
|
73 (g95_conv_intrinsic_function): Use it.
|
|
74 * trans-types.c (g95_sym_type): Handle functions returning strings.
|
|
75 (g95_return_by_reference): Ditto.
|
|
76 (g95_get_function_type): Ditto.
|
|
77
|
|
78 2002-11-18 Paul Brook <paul@nowt.org>
|
|
79
|
|
80 * trans-stmt.c (g95_trans_if): Fix IF statements when the condition
|
|
81 requires a temporary.
|
|
82 (g95_trans_select): Handle computed gotos.
|
|
83 * trans-types.c (g95_build_array_type): Warn about non-functional
|
|
84 assumed shape arrays.
|
|
85 * trans-expr.c (g95_trans_scalar_assign): Correctly handle post
|
|
86 blocks.
|
|
87 * trans-intrinsic.c (g95_conv_intrinsic_round): New function.
|
|
88 (g95_conv_intrinsic_int): New function.
|
|
89 (g95_conv_intrinsic_mod): New function.
|
|
90 (g95_conv_intrinsic_ichar): New function.
|
|
91 (g95_conv_intrinsic_function): Use them.
|
|
92 (g95_conv_intrinsic_dim): Use g95_evaluate_now.
|
|
93
|
|
94 2002-11-17 Toon Moene <toon@moene.indiv.nluug.nl>
|
|
95
|
|
96 * trans-types.c (g95_build_array_type): Assumed
|
|
97 sized arrays can have rank > 1.
|
|
98 * trans.c (g95_trans_code): Remove erroneous
|
|
99 warning about CONTINUE.
|
|
100 * trans-expr.c (g95_conv_variable): Remove
|
|
101 erroneous assert.
|
|
102
|
|
103 2002-11-15 Paul Brook <paul@nowt.org>
|
|
104
|
|
105 * trans-array.c (g95_conv_array_parameter): Check for NULL stride.
|
|
106
|
|
107 2002-10-31 Paul Brook <paul@nowt.org>
|
|
108
|
|
109 * f95-tree.c: Remove tree copying stuff that's now in gimple.c
|
|
110 * trans-expr.c (g95_conv_component_ref): Handle character string
|
|
111 components.
|
|
112 (g95_conv_string_parameter): Ditto.
|
|
113 * trans-types.c (g95_get_derived_type): Add length decl to caracter
|
|
114 string components.
|
|
115
|
|
116 2002-10-10 Paul Brook <paul@nowt.org>
|
|
117
|
|
118 * trans-decl.c (gfor_fndecl_size?): Declare and initialize.
|
|
119 * trans-expr.c (g95_conv_function_call): Remove unreliable return value
|
|
120 check.
|
|
121 * trans-intrinsic.c (g95_conv_intrinsic_size): New function.
|
|
122 (g95_conv_intrinsic_function): Handle size and shape intrinsics.
|
|
123 (g95_is_intrinsic_libcall): Add G95_ISYM_SHAPE.
|
|
124 * trans-types.c (pvoid_type_node): Declare and initialize.
|
|
125 * trans-array.c: Fix typo COMPONENT_REF->REF_COMPONENT
|
|
126 (g95_array_allocate): Fix when base==data.
|
|
127 (g95_conv_array_parameter): Correctly handle reduced rank sections.
|
|
128 * trans-io.c (g95_trans_write): Correctly handle string modifiers.
|
|
129
|
|
130 2002-10-09 Paul Brook <paul@nowt.org>
|
|
131
|
|
132 * (g95_conv_expr_reference): Handle character strings correctly.
|
|
133
|
|
134 2002-10-07 Paul Brook <paul@nowt.org>
|
|
135
|
|
136 (g95_expand_decl): Rename from f95_expand_decl_stmt and use as
|
|
137 langhook.
|
|
138 * trans-array.c (g95_build_array_initializer): Remove.
|
|
139 (g95_conv_array_initializer): New Function.
|
|
140 (g95_trans_auto_arry_allocation): Cleanup.
|
|
141 (g95_trans_init_character_array): Remove.
|
|
142 * g95spec.c: Link in libgforbegin.
|
|
143 * trans.c (g95_generate_code): Rename main function to MAIN__.
|
|
144 (g95_create_var): New function.
|
|
145 (g95_create_var_np): New function.
|
|
146 (g95_evaluate_now): New function.
|
|
147 (g95_start_block): New function.
|
|
148 (g95_finish_block): New function.
|
|
149 (g95_add_expr_to_block): New function.
|
|
150 (g95_add_block_to_block): New function.
|
|
151 * trans-expr.c (g95_conv_componen_ref): New function.
|
|
152 * Make-lang.in (F95_ADDITIONAL_OBJS): Add gimplify.o.
|
|
153 (F95_OBJS): Add dependency.o.
|
|
154 * f95-lang.c (g95_is_simple_stmt): Remove.
|
|
155 * f95-tree.c (mark_not_simple): New function.
|
|
156 (unshare_all_trees): New function.
|
|
157 (create_tmp_var, create_tmp_alias_var): Remove.
|
|
158 * support.c (declare_tmp_vars, tree_last_decl): Remove.
|
|
159 * trans*: Convert to new IR using GENERIC trees. Don't bother about
|
|
160 SIMPLE/GIMPLE rules, this is now done by Lang-independant code.
|
|
161
|
|
162 2002-10-01 Paul Brook <paul@nowt.org>
|
|
163
|
|
164 * trans-array.c: Add support for descriptorless arrays.
|
|
165 (g95_conv_array_data): New function.
|
|
166 (g95_conv_array_base): New function.
|
|
167 * trans-array.h: Declare these here.
|
|
168 * trans-decl.c(g95_create_mopdule_variable): Perform variable
|
|
169 initialization and creation here.
|
|
170 (g95_create_module_vars): Instead of here.
|
|
171 * trans.h (G95_TYPE_ARRAY_*: Rename from G95_TYPE_DESCRIPTOR_*.
|
|
172 * trans-intrinsic.c: Ditto.
|
|
173 * trans-types.c (g95_is_nodesc_array): New function.
|
|
174 (g95_get_nodesc_array_type): New function.
|
|
175 (g95_sym_type, g95_get_derived_type): Use them.
|
|
176 * trans-const.c (g95_conv_mpf_to_tree): Remove workaround.
|
|
177
|
|
178 2002-09-28 Paul Brook <paul@nowt.org>
|
|
179
|
|
180 * trans-const.c (g95_conv_mpf_to_tree): Work around backend bug.
|
|
181 * trans-intrinsic.c (g95_conv_intrinsic_abs): Correctly detect complex
|
|
182 parameters.
|
|
183
|
|
184 2002-09-24 Paul Brook <paul@nowt.org>
|
|
185
|
|
186 * f95-lang.c (listify): Remove declaration.
|
|
187 (expand_function_body): Use optimize >=1 instead of flag_tree_saa.
|
|
188 (listify)
|
|
189 * f95-tree.c (get_name): New function.
|
|
190 * trans.c (module_namespace): Remove.
|
|
191 * trans-decl.c: Use g95_chainon_list rather than chainon(listify()).
|
|
192 * trans-types.c: Ditto.
|
|
193
|
|
194 2002-09-19 Paul Brook <paul@nowt.org>
|
|
195
|
|
196 * trans-array.c (g95_get_array_cons_size): New Function.
|
|
197 (g95_con_ss_startstride): Handle Array constructors.
|
|
198 (g95_conv_loop_setup): Ditto.
|
|
199 (g95_conv_array_parameter): Ditto.
|
|
200 * tras-decl.c (g95_finish_var_decl): Make initializes variables
|
|
201 static.
|
|
202
|
|
203 2002-09-19 Paul Brook <paul@nowt.org>
|
|
204
|
|
205 * trans.c (g95_simple_fold_tmp): Detect variables inside
|
|
206 NON_LVALUE_EXPR.
|
|
207 * trans-stmt.c (g95_trans_arithmetic_if): Implement this.
|
|
208
|
|
209 2002-09-18 Steven Bosscher <s.bosscher@student.tudelft.nl>
|
|
210
|
|
211 * Make-lang.in (F95_ADDITIONAL_OBJS): Add tree-ssa-dce.o
|
|
212
|
|
213 2002-09-14 Paul Brook <paul@nowt.org>
|
|
214
|
|
215 * trans.c (g95_create_module_variable): Move to trans-decl.c.
|
|
216 * trans-const.c (g95_conv_string_init): New Function.
|
|
217 * trans-const.h: Declare it.
|
|
218 * trans-decl.c (g95_get_symbol_decl): Handle initializers for static
|
|
219 variables. Don't bail on intrinsic symbols.
|
|
220 (get_extern_function_decl): Handle specific intrinsic functions.
|
|
221 * trans-types.c (g95_sym_type): Dummy functions don't return
|
|
222 reference types.
|
|
223 * trans-array.c (g95_build_array_initializer): New Function.
|
|
224 (g95_trans_auto_array_allocation): Build initializer for static decls.
|
|
225 Don't use mpz_addmul, it's GMP4 only.
|
|
226
|
|
227 2002-09-12 Paul Brook <paul@nowt.org>
|
|
228
|
|
229 * trans-decl.c (g95_generate_code): Fix thinko with return variable.
|
|
230 (g95_get_extern_function_decl, g95_build_function_decl): Mangle
|
|
231 assembler names for module procedures.
|
|
232
|
|
233 2002-09-11 Tobias Schlueter <Tobias.Schlueter@physik.uni-muenchen.de>
|
|
234
|
|
235 * trans-array.c,h trans-expr.c, trans-stmt.c: Correct spelling of
|
|
236 dependency/
|
|
237
|
|
238 2002-09-10 Paul Brook <paul@nowt.org>
|
|
239
|
|
240 * trans-array.c: Change format of G95_SS_TEMP strictures.
|
|
241 (g95_check_fncall_dependancy): New function.
|
|
242 (trans_dummy_array_bias): stride[n], not stride[n-1]. for calculating
|
|
243 offsets.
|
|
244 * trans-decl.c (g95_get_symbol_decl): move assertion after handling of
|
|
245 result variables.
|
|
246 (g95_build_function_decl): Don't assume result arrays are packed.
|
|
247 (g95_trans-deferred-vars): Handle array result variables.
|
|
248 (g95_generate_fuction_code): Clear saved_function_decls.
|
|
249 * trans-expr.c (g95_conv_fnction_call): Handle direct array return by
|
|
250 reference.
|
|
251 (g95_trans_arrayfunc_assign): New function.
|
|
252 (g95_trans_assignment): Use it.
|
|
253 * trans.h (g95_ss): Add temp struct for G95_SS_TEMP.
|
|
254 (g95_se): Add direct_byref.
|
|
255 * trans-types.c: Use sym->result rather than sym where appropriate.
|
|
256 * trans-intrinsic.c (g95_conv_intrinsic_funcall): New function.
|
|
257 Update other functions to use this.
|
|
258 (g95_is_intrinsic_libcall): New function.
|
|
259 (g95_conv_intrinsic_function): Add MATMUL and PRODUCT intrinsics.
|
|
260 (g95_walk_intrinsic_function): Ditto.
|
|
261
|
|
262 2002-09-08 Paul Brook <paul@nowt.org>
|
|
263
|
|
264 * trans-types.c: Change rank field to dtype field in array descriptor.
|
|
265 * trans-array.c: Implement filling of dtype array descriptor field.
|
|
266 * trans-intrinsic.c: Fix broken LEN intrinsic.
|
|
267
|
|
268 2002-09-07 Paul Brook <paul@nowt.org>
|
|
269
|
|
270 * trans-intrinsic.c: Remove outdated todo intrinsic list.
|
|
271 (g95_get_symbol_for_expr): Remove hack for fortran based intrinsics.
|
|
272 (g95_walk_intrinsic_function): Add MINLOC and MAXLOC.
|
|
273
|
|
274 2002-09-06 Paul Brook <paul@nowt.org>
|
|
275
|
|
276 * Make-lang.in (F95_ADDITIONAL_OBJS): Add tree_alias_comon.o.
|
|
277 (gt-f95-trans-types.h): Add dependancy information.
|
|
278 * config-lang.in (gtfiles): Add trans-types.c
|
|
279 * f95-lang.c (g95_be_parse_file): Pass error and warning counts
|
|
280 back to top-level code.
|
|
281 * trans-array.c, trans-types.c: Change format of array descriptor.
|
|
282 (g95_conv_descriptor_dimension): New function.
|
|
283 * trans-types.h (g95_conv_descriptor_rank): define.
|
|
284 * trans-intrinsic.c: Implement PRODUCT, COUNT. MINLOC and MAXLOC
|
|
285 intrinsics.
|
|
286
|
|
287 2002-09-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
|
|
288
|
|
289 * trans-array.c, trans-types.c: Add rank information to descriptor.
|
|
290
|
|
291 2002-09-06 Tobias Schlueter <Tobias.Schlueter@physik.uni-muenchen.de>
|
|
292
|
|
293 * trans-stmt.c (g95_trans_allocate): Fix when ref==NULL.
|
|
294
|
|
295 2002-09-04 Paul Brook <paul@nowt.org>
|
|
296
|
|
297 * f95-lang.c (g95_create_decls): New function.
|
|
298 (g95_init): Move initialization of external decls to above, and call
|
|
299 from g95_be_parse_file.
|
|
300 * trans.c (g95_finish_stmt): Don't amputate the decl chain.
|
|
301 * trans-types.c (g95_init_types): Always name integer and char types.
|
|
302 (g95_get_array_type_bounds): TYPE_NAME may be a TYPE_DECL.
|
|
303
|
|
304 2002-09-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
|
|
305
|
|
306 * Make-lang.in: Add options.c to F95_PARSER_OBJS
|
|
307
|
|
308 2002-09-02 Paul Brook <paul@nowt.org>
|
|
309
|
|
310 * g95_generate_code: Clear the attr for __fortran_main.
|
|
311 * trans-types.c (g95_finish_type): New function.
|
|
312 * g95_init_io_state_type: Use g95_finish_type.
|
|
313 * g95_conv_intrinsic_anyall: Fix thinko in result initialization.
|
|
314
|
|
315 2002-09-01 Paul Brook <paul@nowt.org>
|
|
316
|
|
317 * README.backend: Warn about the dangers of extra config.h files.
|
|
318 Remove obsolete libgfor stuff.
|
|
319 * config-lang.in: Add target-libgfor dependancy.
|
|
320 * g95_conv_mpf_to_tree: Use & free allocated buffer p rather than buff.
|
|
321
|
|
322 2002-09-01 Toon Moene <toon@moene.indiv.nluug.nl>
|
|
323
|
|
324 * g95_conv_mpz_to_tree: Free storage pointed to by q,
|
|
325 not by buff.
|
|
326
|
|
327 2002-08-30 Paul Brook <paul@nowt.org>
|
|
328
|
|
329 * trans-intrinsic.c (g95_conv_intrinsic_function,
|
|
330 g95_walk_intrinsic_function): Added ANY and ALL.
|
|
331 (g95_conv_intrinsic_anyall): New function.
|
|
332 * iresolve.c (g95_resolve_any, g95_resolve_all): Include rank in
|
|
333 mangled name
|
|
334
|
|
335
|
|
336 Copyright (C) 2002 Free Software Foundation, Inc.
|
|
337
|
|
338 Copying and distribution of this file, with or without modification,
|
|
339 are permitted in any medium without royalty provided the copyright
|
|
340 notice and this notice are preserved.
|