tree.h (alias_sets_might_conflict_p): Rename into alias_sets_must_conflict_p.
[gcc.git] / gcc / fortran / ChangeLog-2002
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