]>
Commit | Line | Data |
---|---|---|
52f49934 DK |
1 | 2008-09-02 Daniel Kraft <d@domob.eu> |
2 | ||
3 | * gfortran.h (struct gfc_namespace): New member `implicit_loc'. | |
4 | (gfc_add_abstract): New method. | |
5 | * decl.c (gfc_get_type_attr_spec): Match ABSTRACT attribute. | |
6 | (gfc_match_derived_decl): Copy abstract attribute in derived symbol. | |
7 | * dump-parse-tree.c (show_attr): Show ABSTRACT attribute as `ABSTRACT' | |
8 | only to allow for ABSTRACT types. | |
9 | * parse.c (parse_interface): Use new gfc_add_abstract. | |
10 | * primary.c (gfc_match_structure_constructor): Check that no ABSTRACT | |
11 | type is constructed. | |
12 | * resolve.c (resolve_typespec_used): New method. | |
13 | (resolve_fl_derived): Check type in respect to ABSTRACT attribute and | |
14 | check that no component is of an ABSTRACT type. | |
15 | (resolve_symbol): Check that no symbol is of an ABSTRACT type. | |
16 | (resolve_types): Check IMPLICIT declarations for ABSTRACT types. | |
17 | * symbol.c (gfc_merge_new_implicit): Remember loci of IMPLICIT's. | |
18 | (gfc_add_abstract): New method. | |
19 | ||
3e1e5626 DK |
20 | 2008-09-01 Daniel Kraft <d@domob.eu> |
21 | ||
22 | PR fortran/37193 | |
23 | * module.c (read_module): Initialize use_only flag on used symbols. | |
24 | ||
a64a8f2f DK |
25 | 2008-09-01 Daniel Kraft <d@domob.eu> |
26 | ||
27 | * gfc-internals.texi (F2003 OOP), (Type-bound Procedures): New chapter | |
28 | and section to document the internals of type-bound procedures. | |
29 | (gfc_expr): Document EXPR_COMPCALL. | |
30 | * gfortran.h (struct gfc_expr): Remove unused `derived' from compcall. | |
31 | * dump-parse-tree.c (show_compcall): New method. | |
32 | (show_expr): Call it for EXPR_COMPCALL. | |
33 | (show_typebound), (show_f2k_derived): New methods. | |
34 | (show_symbol): Call show_f2k_derived. | |
35 | (show_code_node): Handle EXEC_COMPCALL. | |
36 | * primary.c (gfc_match_varspec): Don't initialize removed `derived' in | |
37 | primary->value.compcall. | |
38 | ||
eb829078 RG |
39 | 2008-08-31 Richard Guenther <rguenther@suse.de> |
40 | ||
41 | * trans-expr.c (gfc_trans_string_copy): Use the correct types | |
42 | to compute slen and dlen. | |
43 | ||
e157f736 DK |
44 | 2008-08-31 Daniel Kraft <d@domob.eu> |
45 | ||
46 | * gfortran.h (enum gfc_statement): New entry `ST_GENERIC'. | |
47 | (struct gfc_tbp_generic): New type. | |
48 | (struct gfc_typebound_proc): Removed `target' and added union with | |
49 | `specific' and `generic' members; new members `overridden', | |
50 | `subroutine', `function' and `is_generic'. | |
51 | (struct gfc_expr): New members `derived' and `name' in compcall union | |
52 | member and changed type of `tbp' to gfc_typebound_proc. | |
53 | (gfc_compare_interfaces), (gfc_compare_actual_formal): Made public. | |
54 | * match.h (gfc_typebound_default_access): New global. | |
55 | (gfc_match_generic): New method. | |
56 | * decl.c (gfc_match_generic): New method. | |
57 | (match_binding_attributes): New argument `generic' and handle it. | |
58 | (match_procedure_in_type): Mark matched binding as non-generic. | |
59 | * interface.c (gfc_compare_interfaces): Made public. | |
60 | (gfc_compare_actual_formal): Ditto. | |
61 | (check_interface_1), (compare_parameter): Use new public names. | |
62 | (gfc_procedure_use), (gfc_search_interface): Ditto. | |
63 | * match.c (match_typebound_call): Set base-symbol referenced. | |
64 | * module.c (binding_generic): New global array. | |
65 | (current_f2k_derived): New global. | |
66 | (mio_typebound_proc): Handle IO of GENERIC bindings. | |
67 | (mio_f2k_derived): Record current f2k-namespace in current_f2k_derived. | |
68 | * parse.c (decode_statement): Handle GENERIC statement. | |
69 | (gfc_ascii_statement): Ditto. | |
70 | (typebound_default_access), (set_typebound_default_access): Removed. | |
71 | (gfc_typebound_default_access): New global. | |
72 | (parse_derived_contains): New default-access implementation and handle | |
73 | GENERIC statements encountered. | |
74 | * primary.c (gfc_match_varspec): Adapted to new gfc_typebound_proc | |
75 | structure and removed check for SUBROUTINE/FUNCTION from here. | |
76 | * resolve.c (extract_compcall_passed_object): New method. | |
77 | (update_compcall_arglist): Use it. | |
78 | (resolve_typebound_static): Adapted to new gfc_typebound_proc structure. | |
79 | (resolve_typebound_generic_call): New method. | |
80 | (resolve_typebound_call): Check target is a SUBROUTINE and handle calls | |
81 | to GENERIC bindings. | |
82 | (resolve_compcall): Ditto (check for target being FUNCTION). | |
83 | (check_typebound_override): Handle GENERIC bindings. | |
84 | (check_generic_tbp_ambiguity), (resolve_typebound_generic): New methods. | |
85 | (resolve_typebound_procedure): Handle GENERIC bindings and set new | |
86 | attributes subroutine, function and overridden in gfc_typebound_proc. | |
87 | (resolve_fl_derived): Ensure extended type is resolved before the | |
88 | extending one is. | |
89 | * st.c (gfc_free_statement): Fix bug with free'ing EXEC_COMPCALL's. | |
90 | * symbol.c (gfc_find_typebound_proc): Adapt for GENERIC changes. | |
91 | ||
041f300d JH |
92 | 2008-08-29 Jan Hubicka <jh@suse.cz> |
93 | ||
8bcf15f6 | 94 | * parse.c (parse_interface): Silence uninitialized var warning. |
041f300d | 95 | |
a64f5186 JJ |
96 | 2008-08-29 Jakub Jelinek <jakub@redhat.com> |
97 | ||
de870512 JJ |
98 | * trans.h (struct lang_type): Add span. |
99 | (GFC_TYPE_ARRAY_SPAN): Define. | |
100 | * trans-decl.c (gfc_get_symbol_decl): For subref array pointers, | |
101 | copy TREE_STATIC from decl to span instead of setting it | |
102 | unconditionally, set DECL_ARTIFICIAL, fix type of initializer | |
103 | and set GFC_TYPE_ARRAY_SPAN on decl's type. | |
104 | * trans-types.c (gfc_get_array_descr_info): If | |
105 | GFC_TYPE_ARRAY_SPAN is non-NULL, use it as element size. | |
106 | ||
bd11e37d JJ |
107 | * trans-decl.c (check_constant_initializer, |
108 | gfc_emit_parameter_debug_info): New functions. | |
109 | (gfc_generate_module_vars, gfc_generate_function_code): Emit | |
110 | PARAMETERs and unreferenced variables with initializers into | |
111 | debug info. | |
112 | ||
9268ba9a JJ |
113 | * gfortran.h (gfc_use_list): Add where field. |
114 | * module.c (use_locus): New static variable. | |
115 | (gfc_match_use): Set it. | |
116 | (gfc_use_module): Copy it to gfc_use_list's where field. | |
117 | * trans-decl.c (gfc_generate_module_vars): Call gfc_trans_use_stmts. | |
118 | (gfc_trans_use_stmts): Set backend locus before calling the debug | |
119 | hook. Allow non-VAR_DECLs to be created even for non-external | |
120 | module. Don't emit anything so far for renames from different | |
121 | modules. | |
122 | ||
714495cd JJ |
123 | PR fortran/24790 |
124 | * trans-decl.c (create_function_arglist): Set DECL_BY_REFERENCE on | |
125 | PARM_DECLs with pointer or reference type. | |
126 | ||
25c29c56 JJ |
127 | * trans-decl.c (gfc_build_qualified_array): Build non-flat |
128 | array type for debug info purposes. | |
129 | ||
a64f5186 JJ |
130 | PR fortran/29635 |
131 | PR fortran/23057 | |
132 | * f95-lang.c (gfc_init_ts): New function. | |
133 | (LANG_HOOKS_INIT_TS): Define. | |
134 | * gfortran.h (gfc_use_rename): New type, moved from module.c. | |
135 | (gfc_get_use_rename): New macro, moved from module.c. | |
136 | (gfc_use_list): New type. | |
137 | (gfc_get_use_list): New macro. | |
138 | (gfc_namespace): Add use_stmts field. | |
139 | (gfc_free_use_stmts): New prototype. | |
140 | * Make-lang.in (fortran/trans-decl.o): Depend on debug.h. | |
141 | * module.c (gfc_use_rename, gfc_get_use_rename): Moved to | |
142 | gfortran.h. | |
143 | (gfc_use_module): Chain the USE statement info to | |
144 | ns->use_stmts. | |
145 | (gfc_free_use_stmts): New function. | |
146 | * symbol.c (gfc_free_namespace): Call gfc_free_use_stmts. | |
147 | * trans.h (struct module_htab_entry): New type. | |
148 | (gfc_find_module, gfc_module_add_decl): New functions. | |
149 | * trans.c (gfc_generate_module_code): Create NAMESPACE_DECL for | |
150 | the module, adjust DECL_CONTEXTs of module procedures and | |
151 | call gfc_module_add_decl for them. | |
152 | * trans-common.c (build_common_decl): Set DECL_IGNORED_P | |
153 | on the common variable. | |
154 | (create_common): Set DECL_IGNORED_P for use associated vars. | |
155 | * trans-decl.c: Include debug.h. | |
156 | (gfc_get_symbol_decl): Set DECL_IGNORED_P on use_assoc vars from | |
157 | modules. | |
158 | (build_function_decl): Allow current_function_decl's context | |
159 | to be a NAMESPACE_DECL. | |
160 | (module_htab, cur_module): New variables. | |
161 | (module_htab_do_hash, module_htab_eq, module_htab_decls_hash, | |
162 | module_htab_decls_eq, gfc_find_module, gfc_module_add_decl): New | |
163 | functions. | |
164 | (gfc_create_module_variable): Adjust DECL_CONTEXTs of module | |
165 | variables and types and call gfc_module_add_decl for them. | |
166 | (gfc_generate_module_vars): Temporarily set cur_module. | |
167 | (gfc_trans_use_stmts): New function. | |
168 | (gfc_generate_function_code): Call it. | |
169 | (gfc_generate_block_data): Set DECL_IGNORED_P on decl. | |
170 | * trans-types.c (gfc_get_derived_type): Adjust DECL_CONTEXT | |
171 | and TYPE_CONTEXT of module derived types. | |
172 | ||
8e1f752a DK |
173 | 2008-08-28 Daniel Kraft <d@domob.eu> |
174 | ||
175 | * gfortran.h (enum expr_t): New value `EXPR_COMPCALL'. | |
176 | (gfc_get_typebound_proc): New macro. | |
177 | (struct gfc_expr): New union-member `compcall' for EXPR_COMPCALL. | |
178 | (enum gfc_exec_op): New value `EXEC_COMPCALL'. | |
179 | (gfc_find_typebound_proc): New argument. | |
180 | (gfc_copy_ref), (gfc_match_varspec): Made public. | |
181 | * decl.c (match_procedure_in_type): Use gfc_get_typebound_proc. | |
182 | * expr.c (free_expr0), (gfc_copy_expr): Handle EXPR_COMPCALL. | |
183 | (gfc_copy_ref): Made public and use new name. | |
184 | (simplify_const_ref): Use new name of gfc_copy_ref. | |
185 | (simplify_parameter_variable): Ditto. | |
186 | (gfc_simplify_expr): gcc_unreachable for EXPR_COMPCALL. | |
187 | * match.c (match_typebound_call): New method. | |
188 | (gfc_match_call): Allow for CALL's to typebound procedures. | |
189 | * module.c (binding_passing), (binding_overriding): New variables. | |
190 | (expr_types): Add EXPR_COMPCALL. | |
191 | (mio_expr): gcc_unreachable for EXPR_COMPCALL. | |
192 | (mio_typebound_proc), (mio_typebound_symtree): New methods. | |
193 | (mio_f2k_derived): Handle type-bound procedures. | |
194 | * primary.c (gfc_match_varspec): Made public and parse trailing | |
195 | references to type-bound procedures; new argument `sub_flag'. | |
196 | (gfc_match_rvalue): New name and argument of gfc_match_varspec. | |
197 | (match_variable): Ditto. | |
198 | * resolve.c (update_arglist_pass): New method. | |
199 | (update_compcall_arglist), (resolve_typebound_static): New methods. | |
200 | (resolve_typebound_call), (resolve_compcall): New methods. | |
201 | (gfc_resolve_expr): Handle EXPR_COMPCALL. | |
202 | (resolve_code): Handle EXEC_COMPCALL. | |
203 | (resolve_fl_derived): New argument to gfc_find_typebound_proc. | |
204 | (resolve_typebound_procedure): Ditto and removed not-implemented error. | |
205 | * st.c (gfc_free_statement): Handle EXEC_COMPCALL. | |
206 | * symbol.c (gfc_find_typebound_proc): New argument `noaccess' and | |
207 | implement access-checking. | |
208 | * trans-expr.c (gfc_apply_interface_mapping_to_expr): gcc_unreachable | |
209 | on EXPR_COMPCALL. | |
210 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Add missing break. | |
211 | * trans-openmp.c (gfc_trans_omp_array_reduction): Add missing | |
212 | intialization of ref->type. | |
213 | ||
b7fdeec9 JW |
214 | 2008-08-28 Janus Weil <janus@gcc.gnu.org> |
215 | ||
216 | PR fortran/37253 | |
217 | * module.c (ab_attribute,attr_bits,mio_symbol_attribute): Take care of | |
218 | saving attr.procedure and attr.proc_ptr to the module file. | |
219 | ||
9d1210f4 DK |
220 | 2008-08-25 Daniel Kraft <d@domob.eu> |
221 | ||
222 | * gfortran.h (gfc_find_component): Add new arguments. | |
223 | * parse.c (parse_derived_contains): Check if the derived-type containing | |
224 | the CONTAINS section is SEQUENCE/BIND(C). | |
225 | * resolve.c (resolve_typebound_procedure): Check for name collision with | |
226 | components. | |
227 | (resolve_fl_derived): Check for name collision with inherited | |
228 | type-bound procedures. | |
229 | * symbol.c (gfc_find_component): New arguments `noaccess' and `silent'. | |
230 | (gfc_add_component): Adapt for new arguments. | |
231 | * primary.c (match_varspec), (gfc_match_structure_constructor): Ditto. | |
232 | ||
8327f9c2 TB |
233 | 2008-08-24 Tobias Burnus <burnus@net-b.de> |
234 | ||
235 | PR fortran/37201 | |
236 | * decl.c (verify_bind_c_sym): Reject array/string returning | |
237 | functions. | |
238 | ||
3a73a540 TB |
239 | 2008-08-24 Tobias Burnus <burnus@net-b.de> |
240 | ||
241 | PR fortran/37201 | |
242 | * trans-expr.c (gfc_conv_function_call): Add string_length | |
243 | for character-returning bind(C) functions. | |
244 | ||
30b608eb DK |
245 | 2008-08-24 Daniel Kraft <d@domob.eu> |
246 | ||
247 | * gfortran.h (gfc_typebound_proc): New struct. | |
248 | (gfc_symtree): New member typebound. | |
249 | (gfc_find_typebound_proc): Prototype for new method. | |
250 | (gfc_get_derived_super_type): Prototype for new method. | |
251 | * parse.h (gfc_compile_state): New state COMP_DERIVED_CONTAINS. | |
252 | * decl.c (gfc_match_procedure): Handle PROCEDURE inside derived-type | |
253 | CONTAINS section. | |
254 | (gfc_match_end): Handle new context COMP_DERIVED_CONTAINS. | |
255 | (gfc_match_private): Ditto. | |
256 | (match_binding_attributes), (match_procedure_in_type): New methods. | |
257 | (gfc_match_final_decl): Rewrote to make use of new | |
258 | COMP_DERIVED_CONTAINS parser state. | |
259 | * parse.c (typebound_default_access): New global helper variable. | |
260 | (set_typebound_default_access): New callback method. | |
261 | (parse_derived_contains): New method. | |
262 | (parse_derived): Extracted handling of CONTAINS to new parser state | |
263 | and parse_derived_contains. | |
264 | * resolve.c (resolve_bindings_derived), (resolve_bindings_result): New. | |
265 | (check_typebound_override), (resolve_typebound_procedure): New methods. | |
266 | (resolve_typebound_procedures): New method. | |
267 | (resolve_fl_derived): Call new resolving method for typebound procs. | |
268 | * symbol.c (gfc_new_symtree): Initialize new member typebound to NULL. | |
269 | (gfc_find_typebound_proc): New method. | |
270 | (gfc_get_derived_super_type): New method. | |
271 | ||
d4b7d0f0 JW |
272 | 2008-08-23 Janus Weil <janus@gcc.gnu.org> |
273 | ||
274 | * gfortran.h (gfc_component): Add field "symbol_attribute attr", remove | |
275 | fields "pointer", "allocatable", "dimension", "access". | |
276 | Remove functions "gfc_set_component_attr" and "gfc_get_component_attr". | |
277 | * interface.c (gfc_compare_derived_types): Ditto. | |
278 | * trans-array.c (gfc_array_allocate,structure_alloc_comps): Ditto. | |
279 | * trans-expr.c (gfc_conv_component_ref,gfc_trans_subcomponent_assign, | |
280 | gfc_conv_structure): Ditto. | |
281 | * symbol.c (gfc_find_component,free_components,gfc_set_component_attr, | |
282 | gfc_get_component_attr,verify_bind_c_derived_type, | |
283 | generate_isocbinding_symbol): Ditto. | |
284 | * decl.c (build_struct): Ditto. | |
285 | * dump-parse-tree.c (show_components): Ditto. | |
286 | * trans-stmt.c (gfc_trans_deallocate): Ditto. | |
287 | * expr.c (gfc_check_assign,gfc_check_pointer_assign, | |
288 | gfc_default_initializer): Ditto. | |
289 | * module.c (mio_component): Ditto. | |
290 | * trans-types.c (copy_dt_decls_ifequal,gfc_get_derived_type): Ditto. | |
291 | * resolve.c (has_default_initializer,resolve_structure_cons, | |
292 | gfc_iso_c_func_interface,find_array_spec,resolve_ref, | |
293 | resolve_deallocate_expr,resolve_allocate_expr,resolve_fl_derived, | |
294 | resolve_equivalence_derived): Ditto. | |
295 | * trans-io.c (transfer_expr): Ditto. | |
296 | * parse.c (parse_derived): Ditto. | |
297 | * dependency.c (gfc_check_dependency): Ditto. | |
298 | * primary.c (gfc_variable_attr): Ditto. | |
299 | ||
3434e9a4 TB |
300 | 2008-08-23 Tobias Burnus <burnus@net-b.de> |
301 | ||
302 | PR fortran/37076 | |
303 | * arith.c (gfc_arith_concat): Fix concat of kind=4 strings. | |
304 | ||
12ba225d TB |
305 | 2008-08-23 Tobias Burnus <burnus@net-b.de> |
306 | ||
307 | PR fortran/37025 | |
308 | * target-memory.c (gfc_interpret_character): Support | |
309 | kind=4 characters. | |
310 | ||
fee3292b DK |
311 | 2008-08-22 Daniel Kraft <d@domob.eu> |
312 | ||
313 | PR fortran/30239 | |
314 | * symbol.c (gfc_add_type): Warn on -Wsurprising if a function-result | |
315 | type is re-declared but neither -pedantic nor -std=f* is given and so | |
316 | this is no error. | |
317 | * invoke.texi (-Wsurprising): Document this new behaviour. | |
318 | ||
3df684e2 DK |
319 | 2008-08-22 Daniel Kraft <d@domob.eu> |
320 | ||
321 | * gfortran.h (in_prefix): Removed from this header. | |
322 | * match.h (gfc_matching_prefix): Moved and renamed from `in_prefix'. | |
323 | * decl.c (in_prefix): Removed from here. | |
324 | (gfc_match_prefix): Use new name of `gfc_matching_prefix'. | |
325 | * symbol.c (gfc_check_symbol_typed): Ditto. | |
326 | * expr.c (check_typed_ns): New helper variable. | |
327 | (expr_check_typed_help): New helper method. | |
328 | (gfc_expr_check_typed): Rewrote to use gfc_traverse_expr to do the | |
329 | work, fixing a minor problem. | |
330 | * match.c (gfc_matching_prefix): New variable. | |
331 | ||
f37e928c DK |
332 | 2008-08-22 Daniel Kraft <d@domob.eu> |
333 | ||
334 | PR fortran/32095 | |
335 | PR fortran/34228 | |
336 | * gfortran.h (in_prefix): New global. | |
337 | (gfc_check_symbol_typed), (gfc_check_expr_typed): New methods. | |
338 | * array.c (match_array_element_spec): Check that bounds-expressions | |
339 | don't have symbols not-yet-typed in them. | |
340 | * decl.c (var_element): Check that variable used is already typed. | |
341 | (char_len_param_value): Check that expression does not contain | |
342 | not-yet-typed symbols. | |
343 | (in_prefix): New global. | |
344 | (gfc_match_prefix): Record using `in_prefix' if we're at the moment | |
345 | parsing a prefix or not. | |
346 | * expr.c (gfc_expr_check_typed): New method. | |
347 | * parse.c (verify_st_order): New argument to disable error output. | |
348 | (check_function_result_typed): New helper method. | |
349 | (parse_spec): Check that the function-result declaration, if given in | |
350 | a prefix, contains no not-yet-typed symbols when the IMPLICIT rules are | |
351 | parsed. | |
352 | * symbol.c (gfc_check_symbol_typed): Check that a symbol already has | |
353 | a type associated to it, otherwise use the IMPLICIT rules or signal | |
354 | an error. | |
355 | ||
509c9d60 MLI |
356 | 2008-08-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
357 | ||
358 | * f95-lang.c: Update all calls to pedwarn. | |
359 | ||
f34cf28d DF |
360 | 2008-08-18 Daniel Franke <franke.daniel@gmail.com> |
361 | ||
362 | PR fortran/37032 | |
363 | * gfortran.texi: Document decision on include file handling in | |
364 | preprocessed files. | |
365 | ||
6c397102 TB |
366 | 2008-08-16 Tobias Burnus <burnus@net-b.de> |
367 | ||
368 | PR fortran/36825 | |
369 | * libgfortran.h: Reduce GFC_MAX_DIMENSIONS to 7. | |
370 | ||
dad80a1b JD |
371 | 2008-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
372 | ||
373 | PR fortran/35863 | |
374 | * io.c (gfc_match_open): Enable UTF-8 in checks. | |
375 | * simplify.c (gfc_simplify_selected_char_kind): Enable iso_10646. | |
376 | ||
beb4bd6c JW |
377 | 2008-08-14 Janus Weil <janus@gcc.gnu.org> |
378 | ||
379 | PR fortran/36705 | |
380 | * symbol.c (check_conflict): Move conflict checks for (procedure,save) | |
381 | and (procedure,intent) to resolve_fl_procedure. | |
382 | * resolve.c (resolve_fl_procedure): Ditto. | |
383 | ||
71205d17 MLI |
384 | 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
385 | ||
386 | PR 36901 | |
387 | * f95-lang.c (gfc_mark_addressable): Use "pedwarn (0," instead of | |
388 | 'pedwarn0'. | |
389 | ||
63a3341a PT |
390 | 2008-08-09 Paul Thomas <pault@gcc.gnu.org> |
391 | ||
392 | PR fortran/37011 | |
393 | * symbol.c (gfc_add_extension): New function. | |
394 | * decl.c (gfc_get_type_attr_spec): Call it. | |
395 | (gfc_match_derived_decl): Set symbol extension attribute from | |
396 | attr.extension. | |
397 | * gfortran.h : Add prototype for gfc_add_extension. | |
398 | ||
e73f7547 MLI |
399 | 2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
400 | ||
401 | PR 28875 | |
402 | * options.c (set_Wall): Replace set_Wunused by warn_unused. | |
403 | ||
f6fad28e DK |
404 | 2008-08-08 Daniel Kraft <d@domob.eu> |
405 | ||
406 | * gfortran.h (gfc_finalizer): Replaced member `procedure' by two | |
407 | new members `proc_sym' and `proc_tree' to store the symtree after | |
408 | resolution. | |
409 | (gfc_find_sym_in_symtree): Made public. | |
410 | * decl.c (gfc_match_final_decl): Adapted for new member name. | |
411 | * interface.c (gfc_find_sym_in_symtree): Made public. | |
412 | (gfc_extend_expr), (gfc_extend_assign): Changed call accordingly. | |
413 | * module.c (mio_finalizer), (mio_f2k_derived), (mio_full_f2k_derived): | |
414 | New methods for module-file IO of f2k_derived. | |
415 | (mio_symbol): Do IO of f2k_derived namespace. | |
416 | * resolve.c (gfc_resolve_finalizers): Adapted for new member name and | |
417 | finding the symtree for the symbol here. | |
418 | * symbol.c (gfc_free_finalizer): Adapted for new members. | |
419 | ||
70b1e376 RW |
420 | 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
421 | ||
422 | * gfc-internals.texi: Update to GFDL 1.2. Do not list GPL as | |
423 | Invariant Section. | |
424 | * gfortran.texi: Likewise. | |
425 | * intrinsic.texi: Do not list GPL as Invariant Section. | |
426 | * invoke.texi: Likewise. Update copyright years. | |
427 | ||
7d1f1e61 PT |
428 | 2008-07-29 Paul Thomas <pault@gcc.gnu.org> |
429 | ||
430 | * trans-expr.c (conv_parent_component_references): New function | |
431 | to build missing parent references. | |
432 | (gfc_conv_variable): Call it | |
433 | * symbol.c (gfc_add_component): Check that component name in a | |
434 | derived type extension does not appear in parent. | |
435 | (gfc_find_component): For a derived type extension, check if | |
436 | the component appears in the parent derived type by calling | |
437 | self. Separate errors for private components and private types. | |
438 | * decl.c (match_data_constant): Add extra arg to call to | |
439 | gfc_match_structure_constructor. | |
440 | (check_extended_derived_type): New function to check that a | |
441 | parent derived type exists and that it is OK for exension. | |
442 | (gfc_get_type_attr_spec): Add extra argument 'name' and return | |
443 | it if extends is specified. | |
444 | (gfc_match_derived_decl): Match derived type extension and | |
445 | build a first component of the parent derived type if OK. Add | |
446 | the f2k namespace if not present. | |
447 | * gfortran.h : Add the extension attribute. | |
448 | * module.c : Handle attribute 'extension'. | |
449 | * match.h : Modify prototypes for gfc_get_type_attr_spec and | |
450 | gfc_match_structure_constructor. | |
451 | * primary.c (build_actual_constructor): New function extracted | |
452 | from gfc_match_structure_constructor and modified to call self | |
453 | iteratively to build derived type extensions, when f2k named | |
454 | components are used. | |
455 | (gfc_match_structure_constructor): Do not throw error for too | |
456 | many components if a parent type is being handled. Use | |
457 | gfc_find_component to generate errors for non-existent or | |
458 | private components. Iteratively call self for derived type | |
459 | extensions so that parent constructor is built. If extension | |
460 | and components left over, throw error. | |
461 | (gfc_match_rvalue): Add extra arg to call to | |
462 | gfc_match_structure_constructor. | |
463 | ||
464 | * trans-array.c (gfc_conv_resolve_dependencies): If lhs and rhs | |
465 | are the same symbol, aliassing does not matter. | |
466 | ||
e90acd93 JH |
467 | 2008-07-29 Jan Hubicka <jh@suse.cz> |
468 | ||
469 | * options.c (gfc_post_options): Do not set flag_no_inline. | |
470 | ||
1fbfb0e2 DK |
471 | 2008-07-29 Daniel Kraft <d@domob.eu> |
472 | ||
473 | PR fortran/36403 | |
474 | * trans-intrinsic.c (conv_generic_with_optional_char_arg): New method | |
475 | to append a string-length even if the string argument is missing, e.g. | |
476 | for EOSHIFT. | |
477 | (gfc_conv_intrinsic_function): Call the new method for EOSHIFT, PACK | |
478 | and RESHAPE. | |
479 | ||
17b1d2a0 KG |
480 | 2008-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
481 | ||
482 | * gfortran.h (try): Remove macro. Replace try with gfc_try | |
483 | throughout. | |
484 | * array.c: Likewise. | |
485 | * check.c: Likewise. | |
486 | * cpp.c: Likewise. | |
487 | * cpp.h: Likewise. | |
488 | * data.c: Likewise. | |
489 | * data.h: Likewise. | |
490 | * decl.c: Likewise. | |
491 | * error.c: Likewise. | |
492 | * expr.c: Likewise. | |
493 | * interface.c: Likewise. | |
494 | * intrinsic.c: Likewise. | |
495 | * intrinsic.h: Likewise. | |
496 | * io.c: Likewise. | |
497 | * match.h: Likewise. | |
498 | * parse.c: Likewise. | |
499 | * parse.h: Likewise. | |
500 | * resolve.c: Likewise. | |
501 | * scanner.c: Likewise. | |
502 | * simplify.c: Likewise. | |
503 | * symbol.c: Likewise. | |
504 | * trans-openmp.c: Likewise. | |
505 | * trans-types.c: Likewise. | |
506 | ||
8604e2cf TB |
507 | 2008-07-28 Tobias Burnus <burnus@net-b.de> |
508 | ||
509 | * Make-lang.in: Remove -Wno-* from fortran-warn. | |
510 | ||
726a989a RB |
511 | 2008-07-28 Richard Guenther <rguenther@suse.de> |
512 | ||
513 | Merge from gimple-tuples-branch. | |
514 | ||
515 | 2008-07-18 Aldy Hernandez <aldyh@redhat.com> | |
516 | ||
517 | * trans-expr.c: Include gimple.h instead of tree-gimple.h. | |
518 | * trans-array.c: Same. | |
519 | * trans-openmp.c: Same. | |
520 | * trans-stmt.c: Same. | |
521 | * f95-lang.c: Same. | |
522 | * trans-io.c: Same. | |
523 | * trans-decl.c: Same. | |
524 | * trans-intrinsic.c: Same. | |
525 | * trans.c: Same. Include tree-iterator.h. | |
526 | * Make-lang.in (trans.o): Depend on tree-iterator.h | |
527 | ||
528 | 2008-07-14 Aldy Hernandez <aldyh@redhat.com> | |
529 | ||
530 | * trans-array.h (gfc_conv_descriptor_data_set_internal): | |
531 | Rename to gfc_conv_descriptor_data_set. | |
532 | (gfc_conv_descriptor_data_set_tuples): Remove. | |
533 | * trans-array.c (gfc_conv_descriptor_data_get): Rename | |
534 | from gfc_conv_descriptor_data_set_internal. | |
535 | Remove last argument to gfc_add_modify. | |
536 | (gfc_trans_allocate_array_storage): Rename gfc_add_modify_expr to | |
537 | gfc_add_modify. | |
538 | (gfc_trans_create_temp_array): Same. | |
539 | (gfc_conv_array_transpose): Same. | |
540 | (gfc_grow_array): Same. | |
541 | (gfc_put_offset_into_var): Same. | |
542 | (gfc_trans_array_ctor_element): Same. | |
543 | (gfc_trans_array_constructor_subarray): Same. | |
544 | (gfc_trans_array_constructor_value): Same. | |
545 | (gfc_trans_scalarized_loop_end): Same. | |
546 | (gfc_array_init_size): Same. | |
547 | (gfc_array_allocate): Same. | |
548 | (gfc_trans_array_bounds): Same. | |
549 | (gfc_trans_auto_array_allocation): Same. | |
550 | (gfc_trans_g77_array): Same. | |
551 | (gfc_trans_dummy_array_bias): Same. | |
552 | (gfc_conv_expr_descriptor): Same. | |
553 | (structure_alloc_comps): Same. | |
554 | * trans-expr.c: Same. | |
555 | * trans-openmp.c (gfc_omp_clause_default_ctor): Same. | |
556 | Rename gfc_conv_descriptor_data_set_tuples to | |
557 | gfc_conv_descriptor_data_set. | |
558 | (gfc_omp_clause_copy_ctor): Change build_gimple_modify_stmt to | |
559 | build2_v. | |
560 | (gfc_omp_clause_assign_op): Same. | |
561 | (gfc_trans_omp_array_reduction): Rename gfc_add_modify_expr to | |
562 | gfc_add_modify. | |
563 | (gfc_trans_omp_atomic): Same. | |
564 | (gfc_trans_omp_do): Same. Change GIMPLE_MODIFY_STMT to MODIFY_EXPR. | |
565 | Rename gfc_add_modify_stmt to gfc_add_modify. | |
566 | * trans-stmt.c: Rename gfc_add_modify_expr to | |
567 | gfc_add_modify. | |
568 | * trans.c: Rename gfc_add_modify_expr to | |
569 | gfc_add_modify. | |
570 | (gfc_add_modify): Remove last argument. | |
571 | Rename GIMPLE_MODIFY_STMT to MODIFY_EXPR. | |
572 | * trans.h: Remove gfc_add_modify_expr, gfc_add_modify_stmt. | |
573 | Add prototype for gfc_add_modify. | |
574 | * f95-lang.c (union lang_tree_node): Rename GENERIC_NEXT to TREE_CHAIN. | |
575 | * trans-decl.c: Rename gfc_add_modify_stmt to gfc_add_modify. | |
576 | * trans-io.c: Same. | |
577 | * trans-intrinsic.c: Same. | |
578 | ||
579 | 2008-02-25 Aldy Hernandez <aldyh@redhat.com> | |
580 | ||
581 | * Make-lang.in (fortran-warn): Add -Wno-format. | |
582 | ||
583 | 2008-02-19 Diego Novillo <dnovillo@google.com> | |
584 | ||
585 | http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00804.html | |
586 | ||
587 | * fortran/Make-lang.in (fortran-warn): Remove. | |
588 | ||
589 | 2007-11-22 Aldy Hernandez <aldyh@redhat.com> | |
590 | ||
591 | * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a | |
592 | memset. | |
593 | ||
594 | 2007-11-10 Aldy Hernandez <aldyh@redhat.com> | |
595 | ||
596 | * Make-lang.in (fortran-warn): Set to -Wno-format. | |
597 | * trans.c (gfc_trans_code): Update comment to say GENERIC. | |
598 | Call tree_annotate_all_with_locus instead of annotate_all_with_locus. | |
599 | ||
0d52899f TB |
600 | 2008-07-27 Tobias Burnus <burnus@net-b.de> |
601 | ||
602 | PR fortran/36132 | |
603 | PR fortran/29952 | |
604 | PR fortran/36909 | |
605 | * trans.c (gfc_trans_runtime_check): Allow run-time warning besides | |
606 | run-time error. | |
607 | * trans.h (gfc_trans_runtime_check): Update declaration. | |
608 | * trans-array.c (gfc_trans_array_ctor_element,gfc_trans_array_bound_check, | |
609 | gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias): | |
610 | Updated gfc_trans_runtime_check calls. | |
611 | (gfc_conv_array_parameter): Implement flag_check_array_temporaries, | |
612 | fix packing/unpacking for nonpresent optional actuals to optional | |
613 | formals. | |
614 | * trans-array.h (gfc_conv_array_parameter): Update declaration. | |
615 | * trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign, | |
616 | gfc_conv_function_call): Updated gfc_trans_runtime_check calls. | |
617 | (gfc_conv_function_call): Update gfc_conv_array_parameter calls. | |
618 | * trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check | |
619 | calls. | |
620 | * trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto. | |
621 | (gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for | |
622 | gfc_conv_array_parameter. | |
623 | * trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto. | |
624 | * trans-decl.c (gfc_build_builtin_function_decls): Add | |
625 | gfor_fndecl_runtime_warning_at. | |
626 | * lang.opt: New option fcheck-array-temporaries. | |
627 | * gfortran.h (gfc_options): New flag_check_array_temporaries. | |
628 | * options.c (gfc_init_options, gfc_handle_option): Handle flag. | |
629 | * invoke.texi: New option fcheck-array-temporaries. | |
630 | ||
7e8b322a JH |
631 | 2008-07-24 Jan Hubicka <jh@suse.cz> |
632 | ||
633 | * fortran/options.c (gfc_post_options): Remove flag_unline_trees code. | |
634 | ||
c3005b0f DK |
635 | 2008-07-24 Daniel Kraft <d@domob.eu> |
636 | ||
637 | PR fortran/33141 | |
638 | * lang.opt (Wnonstd-intrinsics): Removed option. | |
639 | (Wintrinsics-std), (Wintrinsic-shadow): New options. | |
640 | * invoke.texi (Option Summary): Removed -Wnonstd-intrinsics | |
641 | from the list and added -Wintrinsics-std and -Wintrinsic-shadow. | |
642 | (Error and Warning Options): Documented the new options and removed | |
643 | the documentation for -Wnonstd-intrinsics. | |
644 | * gfortran.h (gfc_option_t): New members warn_intrinsic_shadow and | |
645 | warn_intrinsics_std, removed warn_nonstd_intrinsics. | |
646 | (gfc_is_intrinsic): Renamed from gfc_intrinsic_name. | |
647 | (gfc_warn_intrinsic_shadow), (gfc_check_intrinsic_standard): New. | |
648 | * decl.c (match_procedure_decl): Replaced gfc_intrinsic_name by | |
649 | the new name gfc_is_intrinsic. | |
650 | (warn_intrinsic_shadow): New helper method. | |
651 | (gfc_match_function_decl), (gfc_match_subroutine): Call the new method | |
652 | warn_intrinsic_shadow to check the just-parsed procedure. | |
653 | * expr.c (check_init_expr): Call new gfc_is_intrinsic to check whether | |
654 | the function called is really an intrinsic in the selected standard. | |
655 | * intrinsic.c (gfc_is_intrinsic): Renamed from gfc_intrinsic_name and | |
656 | extended to take into account the selected standard settings when trying | |
657 | to find out whether a symbol is an intrinsic or not. | |
658 | (gfc_check_intrinsic_standard): Made public and extended. | |
659 | (gfc_intrinsic_func_interface), (gfc_intrinsic_sub_interface): Removed | |
660 | the calls to check_intrinsic_standard, this check now happens inside | |
661 | gfc_is_intrinsic. | |
662 | (gfc_warn_intrinsic_shadow): New method defined. | |
663 | * options.c (gfc_init_options): Initialize new warning flags to false | |
664 | and removed intialization of Wnonstd-intrinsics flag. | |
665 | (gfc_post_options): Removed logic for Wnonstd-intrinsics flag. | |
666 | (set_Wall): Set new warning flags and removed Wnonstd-intrinsics flag. | |
667 | (gfc_handle_option): Handle the new flags and removed handling of the | |
668 | old Wnonstd-intrinsics flag. | |
669 | * primary.c (gfc_match_rvalue): Replaced call to gfc_intrinsic_name by | |
670 | the new name gfc_is_intrinsic. | |
671 | * resolve.c (resolve_actual_arglist): Ditto. | |
672 | (resolve_generic_f), (resolve_unknown_f): Ditto. | |
673 | (is_external_proc): Ditto. | |
674 | (resolve_generic_s), (resolve_unknown_s): Ditto. | |
675 | (resolve_symbol): Ditto and ensure for symbols declared INTRINSIC that | |
676 | they are really available in the selected standard setting. | |
677 | ||
befdf741 DK |
678 | 2008-07-24 Daniel Kraft <d@domob.eu> |
679 | ||
680 | * match.c (gfc_match): Add assertion to catch wrong calls trying to | |
681 | match upper-case characters. | |
682 | ||
bdfd2ff0 TK |
683 | 2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
684 | ||
685 | PR fortran/29952 | |
686 | * gfortran.h: Add "warn_array_temp" to gfc_option_t. | |
687 | * lang.opt: Add -Warray-temporaries. | |
688 | * invoke.texi: Document -Warray-temporaries | |
689 | * trans-array.h (gfc_trans_create_temp_array): Add argument of | |
690 | type *locus. | |
691 | (gfc_conv_loop_setup): Likewise. | |
692 | * trans-array.c (gfc_trans_create_temp_array): If | |
693 | -Warray-temporaries is given and locus is present, warn about | |
694 | creation of array temporaries. | |
695 | (gfc_trans_array_constructor_subarray): Add locus to call | |
696 | of gfc_conv_loop_setup. | |
697 | (gfc_trans_array_constructor): Add where argument. Pass where | |
698 | argument to call of gfc_trans_create_temp_array. | |
699 | (gfc_add_loop_ss_code): Add where argument. Pass where argument | |
700 | to recursive call of gfc_add_loop_ss_code and to call of | |
701 | gfc_trans_array_constructor. | |
702 | (gfc_conv_loop_setup): Add where argument. Pass where argument | |
703 | to calls to gfc_add_loop_ss_code and to gfc_trans_create_temp_array. | |
704 | (gfc_conv_expr_descriptor): Pass location to call of | |
705 | gfc_conv_loop_setup. | |
706 | (gfc_conv_array_parameter): If -Warray-temporaries is given, | |
707 | warn about creation of temporary arrays. | |
708 | * trans-expr.c (gfc_conv_subref_array_arg): Add where argument | |
709 | to call to gfc_conv_loop_setup. | |
710 | (gfc_conv_function_call): Add where argument to call to | |
711 | gfc_trans_creat_temp_array. | |
712 | (gfc_trans_subarray_assign): Likewise. | |
713 | (gfc_trans_assignment_1): Add where argument to call to | |
714 | gfc_conv_loop_setup. | |
715 | * trans-stmt.c (gfc_conv_elemental_dependencies): Add where | |
716 | argument to call to gfc_trans_create_temp_array. | |
717 | (gfc_trans_call): Add where argument to call to gfc_conv_loop_setup. | |
718 | (generate_loop_for_temp_to_lhs): Likewise. | |
719 | (generate_loop_for_rhs_to_temp): Likewise. | |
720 | (compute_inner_temp_size): Likewise. | |
721 | (gfc_trans-pointer_assign_need_temp): Likewise. | |
722 | (gfc_evaluate_where_mask): Likewise. | |
723 | (gfc_trans_where_assign): Likewise. | |
724 | (gfc_trans_where_3): Likewise. | |
725 | * trans-io.c (transfer_srray_component): Add where argument | |
726 | to function. Add where argument to call to gfc_conv_loop_setup. | |
727 | (transfer_expr): Add where argument to call to | |
728 | transfer_array_component. | |
729 | (gfc_trans_transfer): Add where expression to call to | |
730 | gfc_conv_loop_setup. | |
731 | * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Add | |
732 | where argument to call to gfc_conv_loop_setup. | |
733 | (gfc_conv_intrinsic_count): Likewise. | |
734 | (gfc_conv_intrinsic_arith): Likewise. | |
735 | (gfc_conv_intrinsic_dot_product): Likewise. | |
736 | (gfc_conv_intrinsic_minmaxloc): Likewise. | |
737 | (gfc_conv_intrinsic_minmaxval): Likewise. | |
738 | (gfc_conv_intrinsic_array_transfer): Warn about | |
739 | creation of temporary array. | |
740 | Add where argument to call to gfc_trans_create_temp_array. | |
741 | * options.c (gfc_init_options): Initialize gfc_option.warn_array_temp. | |
742 | (gfc_handle_option): Set gfc_option.warn_array_temp. | |
743 | ||
fcf73884 MLI |
744 | 2008-07-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
745 | ||
746 | PR 35058 | |
747 | * f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed. | |
748 | ||
9cad01ce DK |
749 | 2008-07-22 Daniel Kraft <d@domob.eu> |
750 | ||
751 | PR fortran/29835 | |
752 | * io.c (error_element), (format_locus): New static globals. | |
753 | (unexpected_element): Spelled out this message fully. | |
754 | (next_char): Keep track of locus when not MODE_STRING. | |
755 | (next_char_not_space): Remember last parsed element in error_element. | |
756 | (format_lex): Fix two indentation errors. | |
757 | (check_format): Use format_locus and possibly error_element for a | |
758 | slightly better error message on invalid format. | |
759 | (check_format_string): Set format_locus to start of the string | |
760 | expression used as format. | |
761 | ||
df2fba9e RW |
762 | 2008-07-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
763 | ||
764 | * expr.c (gfc_check_pointer_assign): Fix typo in string. | |
765 | * io.c (check_format): Fix typo in string. Fix comment typos. | |
766 | * parse.c (gfc_global_used): Likewise. | |
767 | * resolve.c (resolve_allocate_expr): Likewise. | |
768 | * symbol.c (gfc_set_default_type): Likewise. | |
769 | * arith.c: Fix typos in comments. | |
770 | * array.c: Likewise. | |
771 | * data.c: Likewise. | |
772 | * decl.c: Likewise. | |
773 | * dependency.c: Likewise. | |
774 | * f95-lang.c: Likewise. | |
775 | * gfortran.h: Likewise. | |
776 | * matchexp.c: Likewise. | |
777 | * module.c: Likewise. | |
778 | * primary.c: Likewise. | |
779 | * scanner.c: Likewise. | |
780 | * trans-array.c: Likewise. | |
781 | * trans-common.c: Likewise. | |
782 | * trans-decl.c: Likewise. | |
783 | * trans-expr.c: Likewise. | |
784 | * trans-intrinsic.c: Likewise. | |
785 | * trans-types.c: Likewise. | |
786 | * trans.c: Likewise. | |
787 | * trans.h: Likewise. | |
788 | ||
5e2be41f TB |
789 | 2008-07-19 Tobias Burnus <burnus@net-b.de> |
790 | ||
791 | PR fortran/36795 | |
792 | * matchexp.c (gfc_get_parentheses): Remove obsolete workaround, | |
793 | which caused the generation of wrong code. | |
794 | ||
e513a086 TB |
795 | 2008-07-19 Tobias Burnus <burnus@net-b.de> |
796 | ||
797 | PR fortran/36342 | |
798 | * scanner.c (load_file): Add argument to destinguish between | |
799 | true filename and displayed filename. | |
800 | (include_line,gfc_new_file): Adapt accordingly. | |
801 | ||
d1a296c1 TB |
802 | 2008-07-19 Tobias Burnus <burnus@net-b.de> |
803 | ||
804 | * check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add rank | |
805 | checks for cshift's shift and eoshift's shift and boundary args. | |
806 | (gfc_check_unpack): Add rank and shape tests for unpack. | |
807 | ||
7b901ac4 KG |
808 | 2008-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
809 | ||
810 | * gfortran.h (new): Remove macro. | |
811 | * array.c (gfc_append_constructor, match_array_list, | |
812 | gfc_match_array_constructor): Likewise. | |
813 | * bbt.c (insert, gfc_insert_bbt): Likewise. | |
814 | * decl.c (var_element, top_var_list, top_val_list, gfc_match_data, | |
815 | get_proc_name): Likewise. | |
816 | * expr.c (gfc_copy_actual_arglist): Likewise. | |
817 | * interface.c (compare_actual_formal, check_new_interface, | |
818 | gfc_add_interface): Likewise. | |
819 | * intrinsic.c gfc_convert_type_warn, gfc_convert_chartype): | |
820 | Likewise. | |
821 | * io.c (match_io_iterator, match_io_list): Likewise. | |
822 | * match.c (match_forall_header): Likewise. | |
823 | * matchexp.c (build_node): Likewise. | |
824 | * module.c (gfc_match_use): Likewise. | |
825 | * scanner.c (load_file): Likewise. | |
826 | * st.c (gfc_append_code): Likewise. | |
827 | * symbol.c (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols, | |
828 | gfc_commit_symbols): Likewise. | |
829 | * trans-common.c (build_field): Likewise. | |
830 | * trans-decl.c (gfc_finish_var_decl): Likewise. | |
831 | * trans-expr.c (gfc_free_interface_mapping, | |
832 | gfc_get_interface_mapping_charlen, gfc_add_interface_mapping, | |
833 | gfc_finish_interface_mapping, | |
834 | gfc_apply_interface_mapping_to_expr): Likewise. | |
835 | * trans.h (gfc_interface_sym_mapping): Likewise. | |
836 | ||
a1ee985f KG |
837 | 2008-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
838 | ||
839 | * gfortran.h (operator): Remove macro. | |
840 | (gfc_namespace, gfc_expr): Avoid C++ keywords. | |
841 | * arith.c (eval_intrinsic, eval_intrinsic_f2, eval_intrinsic_f3): | |
842 | Likewise. | |
843 | * decl.c (access_attr_decl): Likewise. | |
844 | * dependency.c (gfc_dep_compare_expr): Likewise. | |
845 | * dump-parse-tree.c (show_expr, show_uop, show_namespace): | |
846 | Likewise. | |
847 | * expr.c (gfc_copy_expr, gfc_type_convert_binary, | |
848 | simplify_intrinsic_op, check_intrinsic_op): Likewise. | |
849 | * interface.c (fold_unary, gfc_match_generic_spec, | |
850 | gfc_match_interface, gfc_match_end_interface, | |
851 | check_operator_interface, check_uop_interfaces, | |
852 | gfc_check_interfaces, gfc_extend_expr, gfc_extend_assign, | |
853 | gfc_add_interface, gfc_current_interface_head, | |
854 | gfc_set_current_interface_head): Likewise. | |
855 | * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul): | |
856 | Likewise. | |
857 | * matchexp.c (gfc_get_parentheses, build_node): Likewise. | |
858 | * module.c (gfc_use_rename, gfc_match_use, find_use_name_n, | |
859 | number_use_names, mio_expr, load_operator_interfaces, read_module, | |
860 | write_operator, write_module): Likewise. | |
861 | * openmp.c (resolve_omp_atomic): Likewise. | |
862 | * resolve.c (resolve_operator, gfc_resolve_character_operator, | |
863 | gfc_resolve_uops): Likewise. | |
864 | * symbol.c (free_uop_tree, gfc_free_namespace): Likewise. | |
865 | * trans-expr.c (gfc_conv_expr_op): Likewise. | |
866 | * trans-openmp.c (gfc_trans_omp_atomic): Likewise. | |
867 | ||
9aa433c2 KG |
868 | 2008-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
869 | ||
870 | * gfortran.h (protected): Remove macro. | |
871 | * dump-parse-tree.c (show_attr): Avoid C++ keywords. | |
872 | * expr.c (gfc_check_pointer_assign): Likewise. | |
873 | * interface.c (compare_parameter_protected): Likewise. | |
874 | * intrinsic.c (enum class, add_sym, add_sym_0, add_sym_1, | |
875 | add_sym_1s, add_sym_1m, add_sym_2, add_sym_2s, add_sym_3, | |
876 | add_sym_3ml, add_sym_3red, add_sym_3s, add_sym_4, add_sym_4s, | |
877 | add_sym_5s): Likewise. | |
878 | * match.c (gfc_match_assignment, gfc_match_pointer_assignment): | |
879 | Likewise. | |
880 | * module.c (mio_symbol_attribute): Likewise. | |
881 | * primary.c (match_variable): Likewise. | |
882 | * resolve.c (resolve_equivalence): Likewise. | |
883 | * symbol.c (check_conflict, gfc_add_protected, gfc_copy_attr): | |
884 | Likewise. | |
885 | * trans-types.c (gfc_get_array_type_bounds): Likewise. | |
886 | ||
8b11b59f KG |
887 | 2008-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
888 | ||
889 | * arith.c (eval_type_intrinsic0): Avoid C++ keywords. | |
890 | * gfortran.h (try, protected, operator, new): Likewise. | |
891 | ||
bdad0683 TB |
892 | 2008-07-17 Tobias Burnus <burnus@net-b.de> |
893 | ||
894 | PR fortran/36825 | |
895 | PR fortran/36824 | |
896 | * array.c (gfc_match_array_spec): Fix array-rank check. | |
897 | * resolve.c (resolve_fl_derived): Fix constentness check | |
898 | for the array dimensions. | |
899 | ||
e63ea00c RW |
900 | 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
901 | ||
902 | * Make-lang.in (gfortranspec.o): Fix dependencies. | |
903 | ||
41d6f399 JD |
904 | 2008-07-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
905 | ||
906 | PR fortran/36725 | |
907 | * io.c: Add error check for g0 edit descriptor followed by '.'. | |
908 | ||
4b156631 DK |
909 | 2008-07-12 Daniel Kraft <d@domob.eu> |
910 | ||
911 | * resolve.c (resolve_fl_derived): Allow pointer components to empty | |
912 | derived types fixing a missing part of PR fortran/33221. | |
913 | ||
b1caaefc DK |
914 | 2008-07-10 Daniel Kraft <d@domob.eu> |
915 | ||
916 | * gfc-internals.texi (section gfc_expr): Created documentation about | |
917 | the gfc_expr internal data structure. | |
918 | ||
27696218 TK |
919 | 2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
920 | ||
921 | PR fortran/36670 | |
922 | * iresolve.c (gfc_resolve_product): Set shape of return | |
923 | value from array. | |
924 | (gfc_resolve_sum): Likewise. | |
925 | ||
77092cda JJ |
926 | 2008-07-07 Jakub Jelinek <jakub@redhat.com> |
927 | ||
928 | PR middle-end/36726 | |
929 | * f95-lang.c (poplevel): Don't ever add subblocks to | |
930 | global_binding_level. | |
931 | ||
8fb74da4 JW |
932 | 2008-07-02 Janus Weil <janus@gcc.gnu.org> |
933 | Tobias Burnus <burnus@net-b.de> | |
934 | Paul Thomas <pault@gcc.gnu.org> | |
935 | ||
936 | PR fortran/32580 | |
937 | * gfortran.h (struct gfc_symbol): New member "proc_pointer". | |
938 | * check.c (gfc_check_associated,gfc_check_null): Implement | |
939 | procedure pointers. | |
940 | * decl.c (match_procedure_decl): Ditto. | |
941 | * expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol): Ditto. | |
942 | * interface.c (compare_actual_formal): Ditto. | |
943 | * match.h: Ditto. | |
944 | * match.c (gfc_match_pointer_assignment): Ditto. | |
945 | * parse.c (parse_interface): Ditto. | |
946 | * primary.c (gfc_match_rvalue,match_variable): Ditto. | |
947 | * resolve.c (resolve_fl_procedure): Ditto. | |
948 | * symbol.c (check_conflict,gfc_add_external,gfc_add_pointer, | |
949 | gfc_copy_attr,gen_fptr_param,build_formal_args): Ditto. | |
950 | * trans-decl.c (get_proc_pointer_decl,gfc_get_extern_function_decl, | |
951 | create_function_arglist): Ditto. | |
952 | * trans-expr.c (gfc_conv_variable,gfc_conv_function_val, | |
953 | gfc_conv_function_call,gfc_trans_pointer_assignment): Ditto. | |
954 | ||
04f2b606 TK |
955 | 2008-07-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
956 | ||
957 | PR fortran/36590 | |
958 | PR fortran/36681 | |
959 | * iresolve.c (resolve_mask_arg): Don't convert mask to | |
960 | kind=1 logical if it is of that type already. | |
961 | ||
986a8d11 TK |
962 | 2008-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
963 | ||
964 | PR fortran/36341 | |
965 | * iresolve.c (gfc_resolve_matmul): Copy shapes | |
966 | from arguments. | |
967 | ||
082b0571 JD |
968 | 2008-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
969 | ||
970 | * invoke.texi: Add documentation for runtime behavior of | |
971 | -fno-range-check. | |
972 | ||
b66c86cb DK |
973 | 2008-06-28 Daniel Kraft <d@domob.eu> |
974 | ||
975 | * gfc-internals.texi (section gfc_code): Extended documentation about | |
976 | gfc_code in the internal datastructures chapter including details about | |
977 | how IF, DO and SELECT blocks look like and an example for how the | |
978 | block-chaining works. | |
979 | ||
811d3cd3 PT |
980 | 2008-06-25 Paul Thomas <pault@gcc.gnu.org> |
981 | ||
982 | PR fortran/36526 | |
983 | * interface.c (check_intents): Correct error where the actual | |
984 | arg was checked for a pointer argument, rather than the formal. | |
985 | ||
c4e3543d PT |
986 | 2008-06-24 Paul Thomas <pault@gcc.gnu.org> |
987 | ||
988 | PR fortran/34371 | |
989 | * expr.c (gfc_check_assign): Change message and locus for | |
990 | error when conform == 0. | |
991 | ||
94b12901 JJ |
992 | 2008-06-23 Jakub Jelinek <jakub@redhat.com> |
993 | ||
994 | PR fortran/36597 | |
995 | * cpp.c (cpp_define_builtins): Change _OPENMP value to 200805. | |
996 | ||
95213750 LB |
997 | 2008-06-20 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
998 | Tobias Burnus <burnus@net-b.de> | |
999 | ||
1000 | PR fortran/34908 | |
1001 | PR fortran/36276 | |
1002 | * scanner.c (preprocessor_line): do not call gfc_free for | |
1003 | current_file->filename if it differs from filename. | |
1004 | ||
ece3f663 KG |
1005 | 2008-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1006 | ||
1007 | * arith.c (hollerith2representation): Fix for -Wc++-compat. | |
1008 | * array.c (gfc_get_constructor): Likewise. | |
1009 | * decl.c (gfc_get_data_variable, gfc_get_data_value, gfc_get_data, | |
1010 | create_enum_history, gfc_match_final_decl): Likewise. | |
1011 | * error.c (error_char): Likewise. | |
1012 | * expr.c (gfc_get_expr, gfc_copy_expr): Likewise. | |
1013 | * gfortran.h (gfc_get_charlen, gfc_get_array_spec, | |
1014 | gfc_get_component, gfc_get_formal_arglist, gfc_get_actual_arglist, | |
1015 | gfc_get_namelist, gfc_get_omp_clauses, gfc_get_interface, | |
1016 | gfc_get_common_head, gfc_get_dt_list, gfc_get_array_ref, | |
1017 | gfc_get_ref, gfc_get_equiv, gfc_get_case, gfc_get_iterator, | |
1018 | gfc_get_alloc, gfc_get_wide_string): Likewise. | |
1019 | * interface.c (count_types_test): Likewise. | |
1020 | * intrinsic.c (add_char_conversions, gfc_intrinsic_init_1): | |
1021 | Likewise. | |
1022 | * io.c (gfc_match_open, gfc_match_close, match_filepos, match_io, | |
1023 | gfc_match_inquire, gfc_match_wait): Likewise. | |
1024 | * match.c (gfc_match, match_forall_iterator): Likewise. | |
1025 | * module.c (gfc_get_pointer_info, gfc_get_use_rename, add_fixup, | |
1026 | add_true_name, parse_string, write_atom, quote_string, | |
1027 | mio_symtree_ref, mio_gmp_real, write_common_0): Likewise. | |
1028 | * options.c (gfc_post_options): Likewise. | |
1029 | * primary.c (match_integer_constant, match_hollerith_constant, | |
1030 | match_boz_constant, match_real_constant, | |
1031 | gfc_get_structure_ctor_component, gfc_match_structure_constructor): Likewise. | |
1032 | * scanner.c (gfc_widechar_to_char, add_path_to_list, | |
1033 | add_file_change, load_line, get_file, preprocessor_line, | |
1034 | load_file, unescape_filename, gfc_read_orig_filename): Likewise. | |
1035 | * simplify.c (gfc_simplify_ibits, gfc_simplify_ishft, | |
1036 | gfc_simplify_ishftc): Likewise. | |
1037 | * symbol.c (gfc_get_st_label, gfc_get_namespace, gfc_new_symtree, | |
1038 | gfc_get_uop, gfc_new_symbol, save_symbol_data, gfc_get_gsymbol): | |
1039 | Likewise. | |
1040 | * target-memory.c (gfc_target_interpret_expr): Likewise. | |
1041 | * trans-const.c (gfc_build_wide_string_const): Likewise. | |
1042 | * trans-expr.c (gfc_add_interface_mapping): Likewise. | |
1043 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
1044 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_lib_function, | |
1045 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_ctime, | |
1046 | gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, | |
1047 | gfc_conv_intrinsic_minmax, gfc_conv_intrinsic_minmax_char, | |
1048 | gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_index_scan_verify, | |
1049 | gfc_conv_intrinsic_merge, gfc_conv_intrinsic_trim): Likewise. | |
1050 | * trans.c (gfc_get_backend_locus): Likewise. | |
1051 | * trans.h (gfc_get_ss): Likewise. | |
1052 | ||
d2848082 DK |
1053 | 2008-06-18 Daniel Kraft <d@domob.eu> |
1054 | ||
1055 | PR fortran/36517, fortran/36492 | |
1056 | * array.c (gfc_resolve_character_array_constructor): Call | |
1057 | gfc_set_constant_character_len with changed length-chec argument. | |
1058 | * decl.c (gfc_set_constant_character_len): Changed array argument to | |
1059 | be a generic length-checking argument that can be used for correct | |
1060 | checking with typespec and in special cases where the should-be length | |
1061 | is different from the target length. | |
1062 | (build_struct): Call gfc_set_constant_character_len with changed length | |
1063 | checking argument and introduced additional checks for exceptional | |
1064 | conditions on invalid code. | |
1065 | (add_init_expr_to_sym), (do_parm): Call gfc_set_constant_character_len | |
1066 | with changed argument. | |
1067 | * match.h (gfc_set_constant_character_len): Changed third argument to | |
1068 | int for the should-be length rather than bool. | |
1069 | ||
88fec49f DK |
1070 | 2008-06-17 Daniel Kraft <d@domob.eu> |
1071 | ||
1072 | PR fortran/36112 | |
1073 | * array.c (gfc_resolve_character_array_constructor): Check that all | |
1074 | elements with constant character length have the same one rather than | |
1075 | fixing it if no typespec is given, emit an error if they don't. Changed | |
1076 | return type to "try" and return FAILURE for the case above. | |
1077 | (gfc_resolve_array_constructor): Removed unneeded call to | |
1078 | gfc_resolve_character_array_constructor in this function. | |
1079 | * gfortran.h (gfc_resolve_character_array_constructor): Returns try. | |
1080 | * trans-array.c (get_array_ctor_strlen): Return length of first element | |
1081 | rather than last element. | |
1082 | * resolve.c (gfc_resolve_expr): Handle FAILURE return from | |
1083 | gfc_resolve_character_array_constructor. | |
1084 | ||
9d5c21c1 PT |
1085 | 2008-06-17 Paul Thomas <pault@gcc.gnu.org> |
1086 | ||
1087 | PR fortran/34396 | |
1088 | * resolve.c (add_dt_to_dt_list): New function. | |
1089 | (resolve_fl_derived): Call new function for pointer components | |
1090 | and when derived type resolved. | |
1091 | ||
a60658ba JD |
1092 | 2008-06-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1093 | ||
1094 | PR fortran/36515 | |
1095 | * trans-decl.c (gfc_generate_function_code): Add range_check to options | |
1096 | array. | |
1097 | ||
6ccde948 RW |
1098 | 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1099 | ||
1100 | * gfc-internals.texi: Expand TABs, drop indentation outside examples. | |
1101 | * gfortran.texi: Likewise. | |
1102 | * intrinsic.texi: Likewise. | |
1103 | * invoke.texi: Likewise. | |
1104 | ||
8a221914 JD |
1105 | 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1106 | ||
1107 | PR fortran/35863 | |
1108 | * trans-io.c (gfc_build_io_library_fndecls): Build declaration for | |
1109 | transfer_character_wide which includes passing in the character kind to | |
1110 | support wide character IO. (transfer_expr): If the kind == 4, create the | |
1111 | argument and build the call. | |
1112 | * gfortran.texi: Fix typo. | |
1113 | ||
357ad64f TB |
1114 | 2008-06-13 Tobias Burnus <burnus@net-b.de> |
1115 | ||
1116 | PR fortran/36476 | |
1117 | * decl.c (do_parm): Handle init expression for len=*. | |
1118 | ||
f5dce797 TB |
1119 | 2008-06-12 Tobias Burnus <burnus@net-b.de> |
1120 | ||
1121 | PR fortran/36462 | |
1122 | * trans-intrinsic.c (gfc_conv_intrinsic_index_scan_verify): | |
1123 | Fix passing of the BACK= argument. | |
1124 | ||
a1968bf9 JD |
1125 | 2008-06-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1126 | ||
1127 | * cpp.c: Add copyright notice. | |
1128 | * cpp.h: Add copyright notice. | |
1129 | ||
c1db9545 JW |
1130 | 2008-06-08 Janus Weil <janus@gcc.gnu.org> |
1131 | ||
1132 | PR fortran/36459 | |
1133 | * decl.c (match_procedure_decl): Correctly recognize if the interface | |
1134 | is an intrinsic procedure. | |
1135 | ||
2d9bbb6b TB |
1136 | 2008-06-08 Tobias Burnus <burnus@net-b.de> |
1137 | ||
1138 | PR fortran/35830 | |
1139 | * resolve.c (resolve_symbol): Copy more attributes for | |
1140 | PROCEDUREs with interfaces. | |
1141 | ||
8955a005 JD |
1142 | 2008-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1143 | ||
29d3b5ff JD |
1144 | PR fortran/36420 |
1145 | PR fortran/36422 | |
8955a005 JD |
1146 | * io.c (check_format): Add new error message for zero width. |
1147 | Use new error message for FMT_A and with READ, FMT_G. Allow | |
1148 | FMT_G with WRITE except when -std=F95 and -std=F2003. | |
1149 | ||
8d82b242 TB |
1150 | 2008-06-07 Tobias Burnus <burnus@net-b.de> |
1151 | ||
8cec30d3 | 1152 | PR fortran/36437 |
8d82b242 TB |
1153 | * intrinsic.c (add_functions): Implement c_sizeof. |
1154 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Do not | |
1155 | create unneeded variable in the scalar case. | |
1156 | * intrinsic.texi: Add C_SIZEOF documentation. | |
1157 | ||
41870ac5 TB |
1158 | 2008-06-06 Tobias Burnus <burnus@net-b.de> |
1159 | ||
1160 | * intrinsic.texi (BESSEL_J1): Fix BES(S)EL_J1 typo. | |
1161 | ||
a68ab351 JJ |
1162 | 2008-06-06 Jakub Jelinek <jakub@redhat.com> |
1163 | ||
1164 | * scanner.c (skip_free_comments, skip_fixed_comments): Handle tabs. | |
1165 | * parse.c (next_free): Allow tab after !$omp. | |
1166 | (decode_omp_directive): Handle !$omp task, !$omp taskwait | |
1167 | and !$omp end task. | |
1168 | (case_executable): Add ST_OMP_TASKWAIT. | |
1169 | (case_exec_markers): Add ST_OMP_TASK. | |
1170 | (gfc_ascii_statement): Handle ST_OMP_TASK, ST_OMP_END_TASK and | |
1171 | ST_OMP_TASKWAIT. | |
1172 | (parse_omp_structured_block, parse_executable): Handle ST_OMP_TASK. | |
1173 | * gfortran.h (gfc_find_sym_in_expr): New prototype. | |
1174 | (gfc_statement): Add ST_OMP_TASK, ST_OMP_END_TASK and ST_OMP_TASKWAIT. | |
1175 | (gfc_omp_clauses): Add OMP_SCHED_AUTO to sched_kind, | |
1176 | OMP_DEFAULT_FIRSTPRIVATE to default_sharing. Add collapse and | |
1177 | untied fields. | |
1178 | (gfc_exec_op): Add EXEC_OMP_TASK and EXEC_OMP_TASKWAIT. | |
1179 | * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, | |
1180 | LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, LANG_HOOKS_OMP_CLAUSE_DTOR, | |
1181 | LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define. | |
1182 | * trans.h (gfc_omp_clause_default_ctor): Add another argument. | |
1183 | (gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
1184 | gfc_omp_clause_dtor, gfc_omp_private_outer_ref): New prototypes. | |
1185 | * types.def (BT_ULONGLONG, BT_PTR_ULONGLONG, | |
1186 | BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, | |
1187 | BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, | |
1188 | BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, | |
1189 | BT_FN_VOID_PTR_PTR, BT_PTR_FN_VOID_PTR_PTR, | |
1190 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): New. | |
1191 | (BT_BOOL): Use integer type with BOOL_TYPE_SIZE rather | |
1192 | than boolean_type_node. | |
1193 | * dump-parse-tree.c (gfc_show_omp_node): Handle EXEC_OMP_TASK, | |
1194 | EXEC_OMP_TASKWAIT, OMP_SCHED_AUTO, OMP_DEFAULT_FIRSTPRIVATE, | |
1195 | untied and collapse clauses. | |
1196 | (gfc_show_code_node): Handle EXEC_OMP_TASK and EXEC_OMP_TASKWAIT. | |
1197 | * trans.c (gfc_trans_code): Handle EXEC_OMP_TASK and | |
1198 | EXEC_OMP_TASKWAIT. | |
1199 | * st.c (gfc_free_statement): Likewise. | |
1200 | * resolve.c (gfc_resolve_blocks, resolve_code): Likewise. | |
1201 | (find_sym_in_expr): Rename to... | |
1202 | (gfc_find_sym_in_expr): ... this. No longer static. | |
1203 | (resolve_allocate_expr, resolve_ordinary_assign): Adjust caller. | |
1204 | * match.h (gfc_match_omp_task, gfc_match_omp_taskwait): New | |
1205 | prototypes. | |
1206 | * openmp.c (resolve_omp_clauses): Allow allocatable arrays in | |
1207 | firstprivate, lastprivate, reduction, copyprivate and copyin | |
1208 | clauses. | |
1209 | (omp_current_do_code): Made static. | |
1210 | (omp_current_do_collapse): New variable. | |
1211 | (gfc_resolve_omp_do_blocks): Compute omp_current_do_collapse, | |
1212 | clear omp_current_do_code and omp_current_do_collapse on return. | |
1213 | (gfc_resolve_do_iterator): Handle collapsed do loops. | |
1214 | (resolve_omp_do): Likewise, diagnose errorneous collapsed do loops. | |
1215 | (OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): Define. | |
1216 | (gfc_match_omp_clauses): Handle default (firstprivate), | |
1217 | schedule (auto), untied and collapse (n) clauses. | |
1218 | (OMP_DO_CLAUSES): Add OMP_CLAUSE_COLLAPSE. | |
1219 | (OMP_TASK_CLAUSES): Define. | |
1220 | (gfc_match_omp_task, gfc_match_omp_taskwait): New functions. | |
1221 | * trans-openmp.c (gfc_omp_private_outer_ref): New function. | |
1222 | (gfc_omp_clause_default_ctor): Add outer argument. For allocatable | |
1223 | arrays allocate them with the bounds of the outer var if outer | |
1224 | var is allocated. | |
1225 | (gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
1226 | gfc_omp_clause_dtor): New functions. | |
1227 | (gfc_trans_omp_array_reduction): If decl is allocatable array, | |
1228 | allocate it with outer var's bounds in OMP_CLAUSE_REDUCTION_INIT | |
1229 | and deallocate it in OMP_CLAUSE_REDUCTION_MERGE. | |
1230 | (gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED | |
1231 | for assumed-size arrays. | |
1232 | (gfc_trans_omp_do): Add par_clauses argument. If dovar is | |
1233 | present in lastprivate clause and do loop isn't simple, | |
1234 | set OMP_CLAUSE_LASTPRIVATE_STMT. If dovar is present in | |
1235 | parallel's lastprivate clause, change it to shared and add | |
1236 | lastprivate clause to OMP_FOR_CLAUSES. Handle collapsed do loops. | |
1237 | (gfc_trans_omp_directive): Adjust gfc_trans_omp_do callers. | |
1238 | (gfc_trans_omp_parallel_do): Likewise. Move collapse clause to | |
1239 | OMP_FOR from OMP_PARALLEL. | |
1240 | (gfc_trans_omp_clauses): Handle OMP_SCHED_AUTO, | |
1241 | OMP_DEFAULT_FIRSTPRIVATE, untied and collapse clauses. | |
1242 | (gfc_trans_omp_task, gfc_trans_omp_taskwait): New functions. | |
1243 | (gfc_trans_omp_directive): Handle EXEC_OMP_TASK and | |
1244 | EXEC_OMP_TASKWAIT. | |
1245 | ||
7db5da56 JW |
1246 | 2008-06-04 Janus Weil <janus@gcc.gnu.org> |
1247 | ||
1248 | PR fortran/36322 | |
1249 | PR fortran/36275 | |
1250 | * resolve.c (resolve_symbol): Correctly copy the interface for a | |
1251 | PROCEDURE declaration. | |
1252 | ||
e62532af JW |
1253 | 2008-06-02 Janus Weil <janus@gcc.gnu.org> |
1254 | ||
1255 | PR fortran/36361 | |
1256 | * symbol.c (gfc_add_allocatable,gfc_add_dimension, | |
1257 | gfc_add_explicit_interface): Added checks. | |
1258 | * decl.c (attr_decl1): Added missing "var_locus". | |
1259 | * parse.c (parse_interface): Checking for errors. | |
1260 | ||
34523524 DK |
1261 | 2008-06-02 Daniel Kraft <d@domob.eu> |
1262 | ||
1263 | * gfortran.h: New statement-type ST_FINAL for FINAL declarations. | |
1264 | (struct gfc_symbol): New member f2k_derived. | |
1265 | (struct gfc_namespace): New member finalizers, for use in the above | |
1266 | mentioned f2k_derived namespace. | |
1267 | (struct gfc_finalizer): New type defined for finalizers linked list. | |
1268 | * match.h (gfc_match_final_decl): New function header. | |
1269 | * decl.c (gfc_match_derived_decl): Create f2k_derived namespace on | |
1270 | constructed symbol node. | |
1271 | (gfc_match_final_decl): New function to match a FINAL declaration line. | |
1272 | * parse.c (decode_statement): match-call for keyword FINAL. | |
1273 | (parse_derived): Parse CONTAINS section and accept FINAL statements. | |
1274 | * resolve.c (gfc_resolve_finalizers): New function to resolve (that is | |
1275 | in this case, check) a list of finalizer procedures. | |
1276 | (resolve_fl_derived): Call gfc_resolve_finalizers here. | |
1277 | * symbol.c (gfc_get_namespace): Initialize new finalizers to NULL. | |
1278 | (gfc_free_namespace): Free finalizers list. | |
1279 | (gfc_new_symbol): Initialize new f2k_derived to NULL. | |
1280 | (gfc_free_symbol): Free f2k_derived namespace. | |
1281 | (gfc_free_finalizer): New function to free a single gfc_finalizer node. | |
1282 | (gfc_free_finalizer_list): New function to free a linked list of | |
1283 | gfc_finalizer nodes. | |
1284 | ||
1e60697f DF |
1285 | 2008-06-02 Daniel Franke <franke.daniel@gmail.com> |
1286 | ||
1287 | PR fortran/36375 | |
1288 | PR fortran/36377 | |
1289 | * cpp.c (gfc_cpp_init): Do not initialize builtins if | |
1290 | processing already preprocessed input. | |
1291 | (gfc_cpp_preprocess): Finalize output with newline. | |
1292 | ||
d2d586f9 JD |
1293 | 2008-05-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1294 | ||
1295 | * intrinsic.texi: Revert wrong commit. | |
1296 | ||
7306494a SK |
1297 | 2008-05-31 Steven G. Kargl <kargls@comcast.net> |
1298 | ||
1299 | * arith.c (gfc_arith_init_1): Remove now unused r and c variables. | |
1300 | Cleanup numerical inquiry function initialization. | |
1301 | (gfc_arith_done_1): Replace multiple mpfr_clear() invocations with | |
1302 | a single mpfr_clears(). | |
1303 | (gfc_check_real_range): Re-arrange logic to eliminate multiple | |
1304 | unnecessary branching and assignments. | |
1305 | (gfc_arith_times): Use mpfr_clears() in preference to multiple | |
1306 | mpfr_clear(). | |
1307 | (gfc_arith_divide): Ditto. | |
1308 | (complex_reciprocal): Eliminate now unused variables a, re, im. | |
1309 | Cleanup the mpfr abuse. Use mpfr_clears() in preference to | |
1310 | multiple mpfr_clear(). | |
1311 | (complex_pow): Fix comment whitespace. Use mpfr_clears() in | |
1312 | preference to multiple mpfr_clear(). | |
1313 | * simplify.c (gfc_simplify_and): Remove blank line. | |
1314 | (gfc_simplify_atan2): Move error checking earlier to eliminate | |
1315 | a now unnecessay gfc_free_expr(). | |
1316 | (gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind(). | |
1317 | (gfc_simplify_bessel_j1): Ditto. | |
1318 | (gfc_simplify_bessel_jn): Ditto. | |
1319 | (gfc_simplify_bessel_y0): Ditto. | |
1320 | (gfc_simplify_bessel_y1): Ditto. | |
1321 | (gfc_simplify_bessel_yn): Ditto. | |
1322 | (only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and | |
1323 | combine nested if statement rational expressions. | |
1324 | (gfc_simplify_cos): Use mpfr_clears() in preference to multiple | |
1325 | mpfr_clear(). | |
1326 | (gfc_simplify_exp): Ditto. | |
1327 | (gfc_simplify_fraction): Move gfc_set_model_kind() to after the | |
1328 | special case of 0. Use mpfr_clears() in preference to multiple | |
1329 | mpfr_clear(). | |
1330 | (gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind(). | |
1331 | (gfc_simplify_lgamma): Ditto. | |
1332 | (gfc_simplify_log10): Ditto. | |
1333 | (gfc_simplify_log): Move gfc_set_model_kind () inside switch | |
1334 | statement. Use mpfr_clears() in preference to multiple mpfr_clear(). | |
1335 | (gfc_simplify_mod): Eliminate now unused variables quot, iquot, | |
1336 | and term. Simplify the mpfr magic. | |
1337 | (gfc_simplify_modulo): Ditto. | |
1338 | (gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind(). | |
1339 | (gfc_simplify_scale): Use mpfr_clears() in preference to multiple | |
1340 | mpfr_clear(). | |
1341 | (gfc_simplify_sin): Ditto | |
1342 | (gfc_simplify_sqrt): Ditto | |
1343 | (gfc_simplify_set_exponent): Move gfc_set_model_kind() to after the | |
1344 | special case of 0. Use mpfr_clears() in preference to multiple | |
1345 | mpfr_clear(). | |
1346 | ||
c776a6d0 DF |
1347 | 2008-05-29 Daniel Franke <franke.daniel@gmail.com> |
1348 | ||
1349 | PR target/36348 | |
1350 | * Make-lang.in (F95_OBJS): Added dependency on FORTRAN_TARGET_OBJS. | |
1351 | ||
f2f5443c FXC |
1352 | 2008-05-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1353 | ||
1354 | * scanner.c (load_line): Add first_char argument. Don't call ungetc. | |
1355 | (gfc_read_orig_filename): Adjust call to load_line. Don't call | |
1356 | ungetc. | |
1357 | (load_file): Adjust call to load_line. | |
1358 | ||
e6895430 JW |
1359 | 2008-05-28 Janus Weil <janus@gcc.gnu.org> |
1360 | ||
1361 | PR fortran/36325 | |
1362 | PR fortran/35830 | |
1363 | * interface.c (gfc_procedure_use): Enable argument checking for | |
1364 | external procedures with explicit interface. | |
1365 | * symbol.c (check_conflict): Fix conflict checking for externals. | |
1366 | (copy_formal_args): Fix handling of arrays. | |
1367 | * resolve.c (resolve_specific_f0, resolve_specific_s0): Fix handling | |
1368 | of intrinsics. | |
1369 | * parse.c (parse_interface): Non-abstract INTERFACE statement implies | |
1370 | EXTERNAL attribute. | |
1371 | ||
691da334 FXC |
1372 | 2008-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1373 | ||
1374 | PR fortran/36319 | |
1375 | * intrinsic.c (gfc_convert_chartype): Don't mark conversion | |
1376 | function as pure. | |
1377 | * trans-array.c (gfc_trans_array_ctor_element): Divide element | |
1378 | size by the size of one character to obtain length. | |
1379 | * iresolve.c (gfc_resolve_cshift): Call the _char4 variant when | |
1380 | appropriate. | |
1381 | (gfc_resolve_eoshift): Likewise. | |
1382 | * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Minor beautification. | |
1383 | (gfc_conv_intrinsic_fdate): Minor beautification. | |
1384 | (gfc_conv_intrinsic_ttynam): Minor beautification. | |
1385 | (gfc_conv_intrinsic_minmax_char): Allow all character kinds. | |
1386 | (size_of_string_in_bytes): New function. | |
1387 | (gfc_conv_intrinsic_size): Call size_of_string_in_bytes for | |
1388 | character expressions. | |
1389 | (gfc_conv_intrinsic_sizeof): Likewise. | |
1390 | (gfc_conv_intrinsic_array_transfer): Likewise. | |
1391 | (gfc_conv_intrinsic_trim): Allow all character kinds. Minor | |
1392 | beautification. | |
1393 | (gfc_conv_intrinsic_repeat): Fix comment typo. | |
1394 | * simplify.c (gfc_convert_char_constant): Take care of conversion | |
1395 | of array constructors. | |
1396 | ||
795dc587 TB |
1397 | 2008-05-27 Tobias Burnus <burnus@net-b.de> |
1398 | ||
1399 | PR fortran/36316 | |
1400 | * trans-array.c (gfc_set_loop_bounds_from_array_spec): | |
1401 | Add missing fold_convert. | |
1402 | ||
3c2a68b3 DF |
1403 | 2008-05-26 Daniel Franke <franke.daniel@gmail.com> |
1404 | ||
1405 | * fortran/cpp.c (cpp_define_builtins): Remove usage of TARGET_* macros, | |
1406 | added FIXME instead. | |
1407 | ||
670637ee DF |
1408 | 2008-05-26 Daniel Franke <franke.daniel@gmail.com> |
1409 | ||
1410 | PR fortran/18428 | |
1411 | * lang.opt (A, C, CC, D, E, H, P, U, cpp, d, fworking-directory, | |
1412 | imultilib, iprefix, iquote, isysroot, isystem, nocpp, nostdinc, | |
1413 | o, undef, v): New options. | |
1414 | * options.c (gfc_init_options): Also initialize preprocessor | |
1415 | options. | |
1416 | (gfc_post_options): Also handle post-initialization of preprocessor | |
1417 | options. | |
1418 | (gfc_handle_option): Check if option is a preprocessor option. | |
1419 | If yes, let gfc_cpp_handle_option() handle the option. | |
1420 | * lang-specs.h: Reorganized to handle new options. | |
1421 | * scanner.c (gfc_new_file): Read temporary file instead of | |
1422 | input source if preprocessing is enabled. | |
1423 | * f95-lang.c (gfc_init): Initialize preprocessor. | |
1424 | (gfc_finish): Clean up preprocessor. | |
1425 | * cpp.c: New. | |
1426 | * cpp.h: New. | |
1427 | * Make-lang.in: Added new objects and dependencies. | |
1428 | * gfortran.texi: Updated section "Preprocessing and | |
1429 | conditional compilation". | |
1430 | * invoke.texi: Added new section "Preprocessing Options", | |
1431 | listed and documented the preprocessing options handled | |
1432 | by gfortran. | |
1433 | ||
5ec81069 TB |
1434 | 2008-05-25 Tobias Burnus <burnus@net-b.de> |
1435 | ||
1436 | PR fortran/32600 | |
1437 | * trans-expr.c (gfc_conv_function_call): Remove library | |
1438 | call for c_f_pointer with scalar Fortran pointers and for | |
1439 | c_f_procpointer. | |
1440 | ||
31579a22 FXC |
1441 | 2008-05-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1442 | ||
1443 | PR fortran/36257 | |
1444 | * iresolve.c (check_charlen_present): Don't force the rank to 1. | |
1445 | ||
16a55411 FXC |
1446 | 2008-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1447 | ||
1448 | PR fortran/36265 | |
1449 | * trans-expr.c (gfc_conv_string_tmp): Pick the correct type for | |
1450 | the temporary variable. | |
1451 | ||
9e23c1aa FXC |
1452 | 2008-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1453 | ||
1454 | * simplify.c (gfc_simplify_dble, gfc_simplify_real): Initialize | |
1455 | result variable to avoid warnings. | |
1456 | ||
d393bbd7 FXC |
1457 | 2008-05-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1458 | ||
1459 | * intrinsic.c (char_conversions, ncharconv): New static variables. | |
1460 | (find_char_conv): New function. | |
1461 | (add_functions): Add simplification functions for ADJUSTL and | |
1462 | ADJUSTR. Don't check the kind of their argument. Add checking for | |
1463 | LGE, LLE, LGT and LLT. | |
1464 | (add_subroutines): Fix argument type for SLEEP. Fix argument name | |
1465 | for SYSTEM. | |
1466 | (add_char_conversions): New function. | |
1467 | (gfc_intrinsic_init_1): Call add_char_conversions. | |
1468 | (gfc_intrinsic_done_1): Free char_conversions. | |
1469 | (check_arglist): Use kind == 0 as a signal that we don't want | |
1470 | the kind value to be checked. | |
1471 | (do_simplify): Also simplify character functions. | |
1472 | (gfc_convert_chartype): New function | |
1473 | * trans-array.c (gfc_trans_array_ctor_element): Don't force the | |
1474 | use of default character type. | |
1475 | (gfc_trans_array_constructor_value): Likewise. | |
1476 | (get_array_ctor_var_strlen): Use integer kind to build an integer | |
1477 | instead of a character kind! | |
1478 | (gfc_build_constant_array_constructor): Don't force the use of | |
1479 | default character type. | |
1480 | (gfc_conv_loop_setup): Likewise. | |
1481 | * trans-expr.c (gfc_conv_string_tmp): Don't force the use of | |
1482 | default character type. Allocate enough memory for wide strings. | |
1483 | (gfc_conv_concat_op): Make sure operand kind are the same. | |
1484 | (string_to_single_character): Remove gfc_ prefix. Reindent. | |
1485 | Don't force the use of default character type. | |
1486 | (gfc_conv_scalar_char_value): Likewise. | |
1487 | (gfc_build_compare_string): Call string_to_single_character. | |
1488 | (fill_with_spaces): New function | |
1489 | (gfc_trans_string_copy): Add kind arguments. Use them to deal | |
1490 | with wide character kinds. | |
1491 | (gfc_conv_statement_function): Whitespace fix. Call | |
1492 | gfc_trans_string_copy with new kind arguments. | |
1493 | (gfc_conv_substring_expr): Call gfc_build_wide_string_const | |
1494 | instead of using gfc_widechar_to_char. | |
1495 | (gfc_conv_string_parameter): Don't force the use of default | |
1496 | character type. | |
1497 | (gfc_trans_scalar_assign): Pass kind args to gfc_trans_string_copy. | |
1498 | * intrinsic.h (gfc_check_lge_lgt_lle_llt, gfc_convert_char_constant, | |
1499 | gfc_resolve_adjustl, gfc_resolve_adjustr): New prototypes. | |
1500 | * decl.c (gfc_set_constant_character_len): Don't assert the | |
1501 | existence of a single character kind. | |
1502 | * trans-array.h (gfc_trans_string_copy): New prototype. | |
1503 | * gfortran.h (gfc_check_character_range, gfc_convert_chartype): | |
1504 | New prototypes. | |
1505 | * error.c (print_wide_char_into_buffer): New function lifting | |
1506 | code from gfc_print_wide_char. Fix order to output '\x??' instead | |
1507 | of 'x\??'. | |
1508 | (gfc_print_wide_char): Call print_wide_char_into_buffer. | |
1509 | (show_locus): Call print_wide_char_into_buffer with buffer local | |
1510 | to this function. | |
1511 | * trans-const.c (gfc_build_wide_string_const): New function. | |
1512 | (gfc_conv_string_init): Deal with wide characters strings | |
1513 | constructors. | |
1514 | (gfc_conv_constant_to_tree): Call gfc_build_wide_string_const. | |
1515 | * trans-stmt.c (gfc_trans_label_assign): Likewise. | |
1516 | (gfc_trans_character_select): Deal with wide strings. | |
1517 | * expr.c (gfc_check_assign): Allow conversion between character | |
1518 | kinds on assignment. | |
1519 | * trans-const.h (gfc_build_wide_string_const): New prototype. | |
1520 | * trans-types.c (gfc_get_character_type_len_for_eltype, | |
1521 | gfc_get_character_type_len): Create too variants of the old | |
1522 | gfc_get_character_type_len, one getting kind argument and the | |
1523 | other one directly taking a type tree. | |
1524 | * trans.h (gfor_fndecl_select_string_char4, | |
1525 | gfor_fndecl_convert_char1_to_char4, | |
1526 | gfor_fndecl_convert_char4_to_char1): New prototypes. | |
1527 | * trans-types.h (gfc_get_character_type_len_for_eltype): New | |
1528 | prototype. | |
1529 | * resolve.c (resolve_operator): Exit early when kind mismatches | |
1530 | are detected, because that makes us issue an error message later. | |
1531 | (validate_case_label_expr): Fix wording of error message. | |
1532 | * iresolve.c (gfc_resolve_adjustl, gfc_resolve_adjustr): New | |
1533 | functions. | |
1534 | (gfc_resolve_pack): Call _char4 variants of library function | |
1535 | when dealing with wide characters. | |
1536 | (gfc_resolve_reshape): Likewise. | |
1537 | (gfc_resolve_spread): Likewise. | |
1538 | (gfc_resolve_transpose): Likewise. | |
1539 | (gfc_resolve_unpack): Likewise. | |
1540 | * target-memory.c (size_character): Take character kind bit size | |
1541 | correctly into account (not that it changes anything for now, but | |
1542 | it's more generic). | |
1543 | (gfc_encode_character): Added gfc_ prefix. Encoding each | |
1544 | character of a string by calling native_encode_expr for the | |
1545 | corresponding unsigned integer. | |
1546 | (gfc_target_encode_expr): Add gfc_ prefix to encode_character. | |
1547 | * trans-decl.c (gfc_build_intrinsic_function_decls): Build | |
1548 | gfor_fndecl_select_string_char4, gfor_fndecl_convert_char1_to_char4 | |
1549 | and gfor_fndecl_convert_char4_to_char1. | |
1550 | * target-memory.h (gfc_encode_character): New prototype. | |
1551 | * arith.c (gfc_check_character_range): New function. | |
1552 | (eval_intrinsic): Allow non-default character kinds. | |
1553 | * check.c (gfc_check_access_func): Only allow default | |
1554 | character kind arguments. | |
1555 | (gfc_check_chdir): Likewise. | |
1556 | (gfc_check_chdir_sub): Likewise. | |
1557 | (gfc_check_chmod): Likewise. | |
1558 | (gfc_check_chmod_sub): Likewise. | |
1559 | (gfc_check_lge_lgt_lle_llt): New function. | |
1560 | (gfc_check_link): Likewise. | |
1561 | (gfc_check_link_sub): Likewise. | |
1562 | (gfc_check_symlnk): Likewise. | |
1563 | (gfc_check_symlnk_sub): Likewise. | |
1564 | (gfc_check_rename): Likewise. | |
1565 | (gfc_check_rename_sub): Likewise. | |
1566 | (gfc_check_fgetputc_sub): Likewise. | |
1567 | (gfc_check_fgetput_sub): Likewise. | |
1568 | (gfc_check_stat): Likewise. | |
1569 | (gfc_check_stat_sub): Likewise. | |
1570 | (gfc_check_date_and_time): Likewise. | |
1571 | (gfc_check_ctime_sub): Likewise. | |
1572 | (gfc_check_fdate_sub): Likewise. | |
1573 | (gfc_check_gerror): Likewise. | |
1574 | (gfc_check_getcwd_sub): Likewise. | |
1575 | (gfc_check_getarg): Likewise. | |
1576 | (gfc_check_getlog): Likewise. | |
1577 | (gfc_check_hostnm): Likewise. | |
1578 | (gfc_check_hostnm_sub): Likewise. | |
1579 | (gfc_check_ttynam_sub): Likewise. | |
1580 | (gfc_check_perror): Likewise. | |
1581 | (gfc_check_unlink): Likewise. | |
1582 | (gfc_check_unlink_sub): Likewise. | |
1583 | (gfc_check_system_sub): Likewise. | |
1584 | * primary.c (got_delim): Perform correct character range checking | |
1585 | for all kinds. | |
1586 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion): Generate | |
1587 | calls to library functions convert_char4_to_char1 and | |
1588 | convert_char1_to_char4 for character conversions. | |
1589 | (gfc_conv_intrinsic_char): Allow all character kings. | |
1590 | (gfc_conv_intrinsic_strcmp): Fix whitespace. | |
1591 | (gfc_conv_intrinsic_repeat): Take care of all character kinds. | |
1592 | * intrinsic.texi: For all GNU intrinsics accepting character | |
1593 | arguments, mention that they're restricted to the default kind. | |
1594 | * simplify.c (simplify_achar_char): New function. | |
1595 | (gfc_simplify_achar, gfc_simplify_char): Call simplify_achar_char. | |
1596 | gfc_simplify_ichar): Don't error out for wide characters. | |
1597 | (gfc_convert_char_constant): New function. | |
1598 | ||
e7bff0d1 TB |
1599 | 2008-05-18 Steven G. Kargl <kargls@comcast.net> |
1600 | ||
1601 | PR fortran/36251 | |
1602 | * symbol.c (check_conflict): Issue errors for abuse of PUBLIC, PRIVATE, | |
1603 | and BIND(C). | |
1604 | * resolve.c (gfc_verify_binding_labels): Fix NULL pointer dereference. | |
1605 | ||
1606 | 2008-05-17 Tobias Burnus <burnus@net-b.de> | |
7d4cf3d9 TB |
1607 | |
1608 | * intrinsic.texi: Correct description of GET_COMMAND_ARGUMENT | |
1609 | and GET_ENVIRONMENT_VARIABLE; fix keyword= name for GETENV, | |
1610 | GETLOG, GMTIME, HOSTNM, IRAND, ITIME, KILL. | |
1611 | Move LOG_GAMMA after LOG10. | |
1612 | ||
e7bff0d1 | 1613 | 2008-05-17 Tobias Burnus <burnus@net-b.de> |
ca41838c TB |
1614 | |
1615 | * intrinsic.c (add_functions): Change FLUSH(C) to FLUSH(UNIT). | |
1616 | * intrinsic.texi: Change INTEGER(*) to INTEGER; fix keyword= name for | |
1617 | ABS, ADJUSTL, AINT, ALLOCATED, ANINT, ASSOCIATED, C_ASSOCIATED, | |
1618 | CEILING, DBLE, DFLOAT, DOT_PRODUCT, DREAL, FLOAT, FLOOR, GET_COMMAND. | |
1619 | ||
ae772c2d PT |
1620 | 2008-05-16 Paul Thomas <pault@gcc.gnu.org> |
1621 | ||
1622 | PR fortran/35756 | |
1623 | PR fortran/35759 | |
1624 | * trans-stmt.c (gfc_trans_where): Tighten up the dependency | |
1625 | check for calling gfc_trans_where_3. | |
1626 | ||
1627 | PR fortran/35743 | |
1628 | * trans-stmt.c (gfc_trans_where_2): Set the mask size to zero | |
1629 | if it is calculated to be negative. | |
1630 | ||
1631 | PR fortran/35745 | |
1632 | * trans-stmt.c (gfc_trans_where_3, gfc_trans_where_assign): Set | |
1633 | ss->where for scalar right hand sides. | |
1634 | * trans-array.c (gfc_add_loop_ss_code): If ss->where is set do | |
1635 | not evaluate scalars outside the loop. Clean up whitespace. | |
1636 | * trans.h : Add a bitfield 'where' to gfc_ss. | |
1637 | ||
a4cd1610 TB |
1638 | 2008-05-16 Tobias Burnus <burnus@net-b.de> |
1639 | ||
1640 | * libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15. | |
1641 | * array.c (gfc_match_array_spec): Error with -std=f2003 if rank > 7. | |
1642 | ||
c03fc95d DK |
1643 | 2008-04-16 Daniel Kraft <d@domob.eu> |
1644 | ||
1645 | PR fortran/27997 | |
1646 | * gfortran.h: Added field "length_from_typespec" to gfc_charlength. | |
1647 | * aray.c (gfc_match_array_constructor): Added code to parse typespec. | |
1648 | (check_element_type, check_constructor_type, gfc_check_constructor_type): | |
1649 | Extended to support explicit typespec on constructor. | |
1650 | (gfc_resolve_character_array_constructor): Pad strings correctly for | |
1651 | explicit, constant character length. | |
1652 | * trans-array.c: New static global variable "typespec_chararray_ctor" | |
1653 | (gfc_trans_array_constructor): New code to support explicit but dynamic | |
1654 | character lengths. | |
1655 | ||
acb388a0 JD |
1656 | 2008-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1657 | ||
c03fc95d DK |
1658 | PR fortran/34325 |
1659 | * decl.c (match_attr_spec): Check for matching pairs of parenthesis. | |
1660 | * expr.c (gfc_specification_expr): Supplement the error message with the | |
1661 | type that was found. | |
1662 | * resolve.c (gfc_resolve_index): Likewise. | |
1663 | * match.c (gfc_match_parens): Clarify error message with "at or before". | |
1664 | (gfc_match_do): Check for matching pairs of parenthesis. | |
acb388a0 | 1665 | |
d1325932 TB |
1666 | 2008-05-16 Tobias Burnus <burnus@net-b.de |
1667 | ||
1668 | * intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95; | |
1669 | add missing KIND argument to ACHAR and NINT; and state that | |
1670 | the KIND argument is a F2003 extension for ACHAR, COUNT, IACHAR, | |
1671 | ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND, VERIFY. | |
1672 | ||
fa9290d3 DK |
1673 | 2008-05-16 Daniel Kraft <d@domob.eu> |
1674 | ||
1675 | * primary.c: New private structure "gfc_structure_ctor_component". | |
1676 | (gfc_free_structure_ctor_component): New helper function. | |
1677 | (gfc_match_structure_constructor): Extended largely to support named | |
1678 | arguments and default initialization for structure constructors. | |
1679 | ||
d93712d9 SK |
1680 | 2008-05-15 Steven G. Kargl <kargls@comcast.net> |
1681 | ||
1682 | * simplify.c (gfc_simplify_dble, gfc_simplify_float, | |
1683 | simplify_bound, gfc_simplify_nearest, gfc_simplify_real): Plug | |
1684 | possible memory leaks. | |
1685 | (gfc_simplify_reshape): Plug possible memory leaks and dereferencing | |
1686 | of NULL pointers. | |
1687 | ||
1688 | 2008-05-15 Steven G. Kargl <kargls@comcast.net> | |
1689 | ||
1690 | PR fortran/36239 | |
1691 | * simplify.c (gfc_simplify_int, gfc_simplify_intconv): Replaced hand | |
1692 | rolled integer conversion with gfc_int2int, gfc_real2int, and | |
1693 | gfc_complex2int. | |
1694 | (gfc_simplify_intconv): Renamed to simplify_intconv. | |
1695 | ||
1696 | 2008-05-15 Steven G. Kargl, <kargl@comcast.net> | |
1697 | * gfortran.dg/and_or_xor.f90: New test | |
1698 | ||
1699 | * fortran/simplify.c (gfc_simplify_and, gfc_simplify_or, | |
1700 | gfc_simplify_xor): Don't range check logical results. | |
1701 | ||
374929b2 FXC |
1702 | 2008-05-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1703 | ||
1704 | * trans-expr.c (gfc_conv_concat_op): Take care of nondefault | |
1705 | character kinds. | |
1706 | (gfc_build_compare_string): Add kind argument and use it. | |
1707 | (gfc_conv_statement_function): Fix indentation. | |
1708 | * gfortran.h (gfc_character_info): New structure. | |
1709 | (gfc_character_kinds): New array. | |
1710 | * trans-types.c (gfc_character_kinds, gfc_character_types, | |
1711 | gfc_pcharacter_types): New array. | |
1712 | (gfc_init_kinds): Fill character kinds array. | |
1713 | (validate_character): Take care of nondefault character kinds. | |
1714 | (gfc_build_uint_type): New function. | |
1715 | (gfc_init_types): Take care of nondefault character kinds. | |
1716 | (gfc_get_char_type, gfc_get_pchar_type): New functions. | |
1717 | (gfc_get_character_type_len): Use gfc_get_char_type. | |
1718 | * trans.h (gfc_build_compare_string): Adjust prototype. | |
1719 | (gfor_fndecl_compare_string_char4, gfor_fndecl_concat_string_char4, | |
1720 | gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4, | |
1721 | gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4, | |
1722 | gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4, | |
1723 | gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4): New | |
1724 | prototypes. | |
1725 | * trans-types.h (gfc_get_char_type, gfc_get_pchar_type): New | |
1726 | prototypes. | |
1727 | * trans-decl.c (gfor_fndecl_compare_string_char4, | |
1728 | gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4, | |
1729 | gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4, | |
1730 | gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4, | |
1731 | gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4, | |
1732 | gfor_fndecl_concat_string_char4): New function decls. | |
1733 | (gfc_build_intrinsic_function_decls): Define new *_char4 function | |
1734 | decls. | |
1735 | * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char, | |
1736 | gfc_conv_intrinsic_len_trim, gfc_conv_intrinsic_ichar, | |
1737 | gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_trim, | |
1738 | gfc_conv_intrinsic_function): Deal with nondefault character kinds. | |
1739 | ||
d06abff5 SL |
1740 | 2008-05-15 Sa Liu <saliu@de.ibm.com> |
1741 | ||
1742 | * iso-c-binding.def: Add standard parameter to macro NAMED_INTCST. | |
1743 | All existing NAMED_INTCST definitions has standard GFC_STD_F2003, | |
1744 | c_int128_t, c_int_least128_t and c_int_fast128_t are added as | |
1745 | GNU extensions. | |
1746 | * iso-fortran-evn.def: Add standard parameter GFC_STD_F2003 | |
1747 | to macro NAMED_INTCST. | |
1748 | * symbol.c (std_for_isocbinding_symbol): New helper function to | |
1749 | return the standard that supports this isocbinding symbol. | |
1750 | (generate_isocbinding_symbol): Do not generate GNU extension symbols | |
1751 | if std=f2003. Add new parameter to NAMED_INTCST. | |
1752 | * module.c (use_iso_fortran_env_module): Add new parameter to | |
1753 | NAMED_INTCST and new field standard to struct intmod_sym. | |
1754 | * gfortran.h: Add new parameter to NAMED_INTCST. | |
1755 | * trans-types.c (init_c_interop_kinds): Add new parameter to | |
1756 | NAMED_INTCST. | |
1757 | * intrinsic.texi: Documented new types C_INT128_T, C_INT_LEASE128_T | |
1758 | and C_INT_FAST128_T. | |
1759 | ||
1c3339af FXC |
1760 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1761 | ||
1762 | PR fortran/36059 | |
1763 | * trans-decl.c (gfc_build_dummy_array_decl): Don't repack | |
1764 | arrays that have the TARGET attribute. | |
1765 | ||
6401bf9c FXC |
1766 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1767 | ||
1768 | PR fortran/36186 | |
1769 | * simplify.c (only_convert_cmplx_boz): New function. | |
1770 | (gfc_simplify_cmplx, gfc_simplify_complex, gfc_simplify_dcmplx): | |
1771 | Call only_convert_cmplx_boz. | |
1772 | ||
16f2a7a4 PT |
1773 | 2008-05-14 Paul Thomas <pault@gcc.gnu.org> |
1774 | ||
6401bf9c FXC |
1775 | PR fortran/36233 |
1776 | * interface.c (compare_actual_formal): Do not check sizes if the | |
1777 | actual is BT_PROCEDURE. | |
16f2a7a4 | 1778 | |
4c7382bb FXC |
1779 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1780 | ||
1781 | PR fortran/35682 | |
1782 | * trans-array.c (gfc_conv_ss_startstride): Any negative size is | |
1783 | the same as zero size. | |
1784 | (gfc_conv_loop_setup): Fix size calculation. | |
1785 | ||
f10827b1 FXC |
1786 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1787 | ||
1788 | PR fortran/35685 | |
1789 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Correctly | |
1790 | handle zero-size sections. | |
1791 | ||
b0b14c7b FXC |
1792 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1793 | ||
1794 | PR fortran/36215 | |
1795 | * scanner.c (preprocessor_line): Allocate enough memory for a | |
1796 | wide string. | |
1797 | ||
b7d36ea3 FXC |
1798 | 2008-05-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1799 | ||
1800 | PR fortran/36176 | |
1801 | * target-memory.c (gfc_target_expr_size): Correctly treat | |
1802 | substrings. | |
1803 | (gfc_target_encode_expr): Likewise. | |
1804 | (gfc_interpret_complex): Whitespace change. | |
1805 | ||
8f0aaee5 TK |
1806 | 2008-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
1807 | ||
1808 | PR fortran/35719 | |
1809 | * trans.c (gfc_call_malloc): If size equals zero, allocate one | |
1810 | byte; don't return a null pointer. | |
1811 | ||
1ed5323b FXC |
1812 | 2008-05-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1813 | ||
1814 | PR fortran/36197 | |
1815 | * module.c (quote_string): Fix sprintf format. | |
1816 | ||
3ee6cb3f FXC |
1817 | 2008-05-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1818 | ||
1819 | PR fortran/36162 | |
1820 | * module.c (quote_string, unquote_string, | |
1821 | mio_allocated_wide_string): New functions. | |
1822 | (mio_expr): Call mio_allocated_wide_string where needed. | |
1823 | ||
becfd6e5 KZ |
1824 | 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com> |
1825 | ||
1826 | * trans-decl.c (gfc_get_extern_function_decl, build_function_decl): | |
1827 | Rename DECL_IS_PURE to DECL_PURE_P. | |
1828 | ||
00660189 FXC |
1829 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1830 | ||
1831 | * arith.c: (gfc_arith_concat, gfc_compare_string, | |
1832 | gfc_compare_with_Cstring, hollerith2representation, | |
1833 | gfc_hollerith2int, gfc_hollerith2real, gfc_hollerith2complex, | |
1834 | gfc_hollerith2character, gfc_hollerith2logical): Use wide | |
1835 | characters for character constants. | |
1836 | * data.c (create_character_intializer): Likewise. | |
1837 | * decl.c (gfc_set_constant_character_len): Likewise. | |
1838 | * dump-parse-tree.c (show_char_const): Correctly dump wide | |
1839 | character strings. | |
1840 | error.c (print_wide_char): Rename into gfc_print_wide_char. | |
1841 | (show_locus): Adapt to new prototype of gfc_print_wide_char. | |
1842 | expr.c (free_expr0): Representation is now disjunct from | |
1843 | character string value, so we always free it. | |
1844 | (gfc_copy_expr, find_substring_ref, gfc_simplify_expr): Adapt | |
1845 | to wide character strings. | |
1846 | * gfortran.h (gfc_expr): Make value.character.string a wide string. | |
1847 | (gfc_wide_toupper, gfc_wide_strncasecmp, gfc_wide_memset, | |
1848 | gfc_widechar_to_char, gfc_char_to_widechar): New prototypes. | |
1849 | (gfc_get_wide_string): New macro. | |
1850 | (gfc_print_wide_char): New prototype. | |
1851 | * io.c (format_string): Make a wide string. | |
1852 | (next_char, gfc_match_format, compare_to_allowed_values, | |
1853 | gfc_match_open): Deal with wide strings. | |
1854 | * module.c (mio_expr): Convert between wide strings and ASCII ones. | |
1855 | * primary.c (match_hollerith_constant, match_charkind_name): | |
1856 | Handle wide strings. | |
1857 | * resolve.c (build_default_init_expr): Likewise. | |
1858 | * scanner.c (gfc_wide_toupper, gfc_wide_memset, | |
1859 | gfc_char_to_widechar): New functions. | |
1860 | (wide_strchr, gfc_widechar_to_char, gfc_wide_strncasecmp): | |
1861 | Changes in prototypes. | |
1862 | (gfc_define_undef_line, load_line, preprocessor_line, | |
1863 | include_line, load_file, gfc_read_orig_filename): Handle wide | |
1864 | strings. | |
1865 | * simplify.c (gfc_simplify_achar, gfc_simplify_adjustl, | |
1866 | gfc_simplify_adjustr, gfc_simplify_char, gfc_simplify_iachar, | |
1867 | gfc_simplify_ichar, simplify_min_max, gfc_simplify_new_line, | |
1868 | gfc_simplify_repeat): Handle wide strings. | |
1869 | (wide_strspn, wide_strcspn): New helper functions. | |
1870 | (gfc_simplify_scan, gfc_simplify_trim, gfc_simplify_verify): | |
1871 | Handle wide strings. | |
1872 | * symbol.c (generate_isocbinding_symbol): Likewise. | |
1873 | * target-memory.c (size_character, gfc_target_expr_size, | |
1874 | encode_character, gfc_target_encode_expr, gfc_interpret_character, | |
1875 | gfc_target_interpret_expr): Handle wide strings. | |
1876 | * trans-const.c (gfc_conv_string_init): Lower wide strings to | |
1877 | narrow ones. | |
1878 | (gfc_conv_constant_to_tree): Likewise. | |
1879 | * trans-expr.c (gfc_conv_substring_expr): Handle wide strings. | |
1880 | * trans-io.c (gfc_new_nml_name_expr): Likewise. | |
1881 | * trans-stmt.c (gfc_trans_label_assign): Likewise. | |
1882 | ||
1b38192d FXC |
1883 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1884 | ||
1885 | * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, | |
1886 | gfc_simplify_bessel_jn,gfc_simplify_bessel_y0, | |
1887 | gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): Mark arguments | |
1888 | with ATTRIBUTE_UNUSED. | |
1889 | ||
37a2dc42 FXC |
1890 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1891 | ||
1892 | * check.c (gfc_check_sizeof): Switch to ATTRIBUTE_UNUSED. | |
1893 | * simplify.c (gfc_simplify_lgamma): Likewise. | |
1894 | ||
1895 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
8fc541d3 FXC |
1896 | |
1897 | * openmp.c (gfc_match_omp_eos): Use gfc_next_ascii_char and | |
1898 | gfc_peek_ascii_char. | |
1899 | * decl.c (gfc_match_kind_spec, gfc_match_type_spec, | |
1900 | gfc_match_implicit_none, match_implicit_range, gfc_match_implicit, | |
1901 | match_string_p, match_attr_spec, gfc_match_suffix, | |
1902 | match_procedure_decl, gfc_match_entry, gfc_match_subroutine): | |
1903 | Likewise. | |
1904 | * gfortran.h (gfc_char_t): New type. | |
1905 | (gfc_linebuf): Make line member a gfc_char_t. | |
1906 | (locus): Make nextc member a gfc_char_t. | |
1907 | (gfc_wide_is_printable, gfc_wide_is_digit, gfc_wide_fits_in_byte, | |
1908 | gfc_wide_tolower, gfc_wide_strlen, gfc_next_ascii_char, | |
1909 | gfc_peek_ascii_char, gfc_check_digit): New prototypes. | |
1910 | * error.c (print_wide_char): New function. | |
1911 | (show_locus): Use print_wide_char and gfc_wide_strlen. | |
1912 | * io.c (next_char): Use gfc_char_t type. | |
1913 | (match_io): Use gfc_peek_ascii_char and gfc_next_ascii_char. | |
1914 | * match.c (gfc_match_parens, gfc_match_eos, | |
1915 | gfc_match_small_literal_int, gfc_match_name, gfc_match_name_C, | |
1916 | gfc_match_intrinsic_op, gfc_match_char, gfc_match_return, | |
1917 | gfc_match_common): Likewise. | |
1918 | * match.h (gfc_match_special_char): Change prototype. | |
1919 | * parse.c (decode_specification_statement, decode_statement, | |
1920 | decode_omp_directive, next_free, next_fixed): Use | |
1921 | gfc_peek_ascii_char and gfc_next_ascii_char. | |
1922 | * primary.c (gfc_check_digit): Change name. | |
1923 | (match_digits, match_hollerith_constant, match_boz_constant, | |
1924 | match_real_constant, next_string_char, match_charkind_name, | |
1925 | match_string_constant, match_logical_constant_string, | |
1926 | match_complex_constant, match_actual_arg, match_varspec, | |
1927 | gfc_match_rvalue, match_variable): Use gfc_peek_ascii_char and | |
1928 | gfc_next_ascii_char. | |
1929 | * scanner.c (gfc_wide_fits_in_byte, wide_is_ascii, | |
1930 | gfc_wide_is_printable, gfc_wide_tolower, gfc_wide_is_digit, | |
1931 | gfc_wide_is_digit, wide_atoi, gfc_wide_strlen, wide_strcpy, | |
1932 | wide_strchr, widechar_to_char, wide_strncmp, wide_strncasecmp, | |
1933 | gfc_next_ascii_char, gfc_peek_ascii_char): | |
1934 | New functions. | |
1935 | (next_char, gfc_define_undef_line, skip_free_comments, | |
1936 | gfc_next_char_literal, gfc_next_char, gfc_peek_char, | |
1937 | gfc_error_recovery, load_line, preprocessor_line, include_line, | |
1938 | load_file, gfc_read_orig_filename): Use gfc_char_t for source | |
1939 | characters and the {gfc_,}wide_* functions to manipulate wide | |
1940 | strings. | |
1941 | ||
3c3f4265 TB |
1942 | 2008-05-06 Tobias Burnus <burnus@net-b.de> |
1943 | ||
1944 | PR fortran/36117 | |
1945 | * intrinsic.c (add_functions): Call gfc_simplify_bessel_*. | |
1946 | * intrinsic.h: Add prototypes for gfc_simplify_bessel_*. | |
1947 | * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, | |
1948 | gfc_simplify_bessel_jn,gfc_simplify_bessel_y0, | |
1949 | gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): New. | |
1950 | ||
ed54a884 JW |
1951 | 2008-05-03 Janus Weil <jaydub66@gmail.com> |
1952 | ||
1953 | * misc.c (gfc_clear_ts): Set interface to NULL. | |
1954 | ||
ad7ee6f8 JD |
1955 | 2008-05-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1956 | ||
1957 | PR fortran/33268 | |
1958 | * gfortran.h: Add extra_comma pointer to gfc_dt structure. Add iokind to | |
1959 | gfc_expr value union. Add io_kind enum to here from io.c. | |
1960 | * io.c (gfc_free_dt): Free extra_comma. | |
1961 | (gfc_resolve_dt): If an extra comma was encountered and io_unit is type | |
1962 | BT_CHARACTER, resolve to format_expr and set default unit. Error if | |
1963 | io_kind is M_WRITE. (match_io): Match the extra comma and set new | |
1964 | pointer, extra_comma. | |
1965 | ||
00113de8 BD |
1966 | 2008-05-01 Bud Davis <bdavis9659@sbcglobal.net> |
1967 | ||
1968 | PR35940/Fortran | |
1969 | * simplify.c (gfc_simplify_index): Check for direction argument | |
1970 | being a constant. | |
1971 | ||
32d99e68 JW |
1972 | 2008-05-01 Janus Weil <jaydub66@gmail.com> |
1973 | ||
1974 | * gfortran.h (struct gfc_symbol): Moving "interface" member to | |
1975 | gfc_typespec (plus fixing a small docu error). | |
1976 | * interface.c (gfc_procedure_use): Ditto. | |
1977 | * decl.c (match_procedure_decl): Ditto. | |
1978 | * resolve.c (resolve_specific_f0, | |
1979 | resolve_specific_f0, resolve_symbol): Ditto. | |
1980 | ||
a39fafac FXC |
1981 | 2008-04-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1982 | ||
1983 | * intrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic. | |
1984 | * intrinsic.h (gfc_check_selected_char_kind, | |
1985 | gfc_simplify_selected_char_kind): New prototypes. | |
1986 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_SC_KIND. | |
1987 | * trans.h (gfor_fndecl_sc_kind): New function decl. | |
1988 | * trans-decl.c (gfor_fndecl_sc_kind): Build new decl. | |
1989 | * arith.c (gfc_compare_with_Cstring): New function. | |
1990 | * arith.h (gfc_compare_with_Cstring): New prototype. | |
1991 | * check.c (gfc_check_selected_char_kind): New function. | |
1992 | * primary.c (match_string_constant, match_kind_param): Mark | |
1993 | symbols used as literal constant kind param as referenced. | |
1994 | * trans-intrinsic.c (gfc_conv_intrinsic_sc_kind): New function. | |
1995 | (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_sc_kind. | |
1996 | * intrinsic.texi (SELECTED_CHAR_KIND): Document new intrinsic. | |
1997 | * simplify.c (gfc_simplify_selected_char_kind): New function. | |
1998 | ||
29d40637 PT |
1999 | 2008-04-28 Paul Thomas <pault@gcc.gnu.org> |
2000 | ||
a39fafac FXC |
2001 | PR fortran/35997 |
2002 | * module.c (find_symbol): Do not return a result for a symbol | |
2003 | that has been renamed in another module. | |
29d40637 | 2004 | |
da69cc91 GH |
2005 | 2008-04-26 George Helffrich <george@gcc.gnu.org> |
2006 | ||
2007 | PR fortran/35892 | |
2008 | PR fortran/35154 | |
2009 | * trans-common.c (create_common): Add decl to function | |
2010 | chain (if inside one) to preserve identifier scope in debug output. | |
2011 | ||
e3b5732b JH |
2012 | 2008-04-25 Jan Hubicka <jh@suse.cz> |
2013 | ||
2014 | * trans-decl.c (trans_function_start): Update. | |
2015 | ||
ccc2ed87 TB |
2016 | 2008-04-25 Tobias Burnus <burnus@net-b.de> |
2017 | Daniel Franke <franke.daniel@gmail.com> | |
2018 | ||
2019 | PR fortran/35156 | |
2020 | * gfortranspec.c (lang_specific_driver): Deprecate | |
2021 | -M option; fix ICE when "-M" is last argument and | |
2022 | make "-M<dir>" work. | |
2023 | * options.c (gfc_handle_module_path_options): | |
2024 | Use -J instead of -M in error messages. | |
2025 | * invoke.texi: Mark -M as depecated. | |
2026 | ||
4e77ad24 JD |
2027 | 2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2028 | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
2029 | ||
2030 | PR fortran/35994 | |
2031 | * trans-instrinsic.c (gfc_conv_intrinsic_minmaxloc): Correctly adjust | |
2032 | loop counter offset. | |
2033 | ||
51eed280 PB |
2034 | 2008-04-23 Paolo Bonzini <bonzini@gnu.org> |
2035 | ||
2036 | * trans-expr.c (gfc_conv_structure): Don't set TREE_INVARIANT. | |
2037 | * trans-array.c (gfc_build_null_descriptor): Don't set TREE_INVARIANT. | |
2038 | (gfc_trans_array_constructor_value): Don't set TREE_INVARIANT. | |
2039 | (gfc_build_constant_array_constructor): Don't set TREE_INVARIANT. | |
2040 | (gfc_conv_array_initializer): Don't set TREE_INVARIANT. | |
2041 | * trans-common.c (get_init_field): Don't set TREE_INVARIANT. | |
2042 | (create_common): Don't set TREE_INVARIANT. | |
2043 | * trans-stmt.c (gfc_trans_character_select): Don't set TREE_INVARIANT. | |
2044 | * trans-decl.c (gfc_generate_function_code): Don't set TREE_INVARIANT. | |
2045 | ||
6384205f SE |
2046 | 2008-04-21 Steve Ellcey <sje@cup.hp.com> |
2047 | ||
2048 | * f95-lang.c (gfc_init_decl_processing): use ptr_mode instead of Pmode. | |
2049 | ||
3d4cb550 DF |
2050 | 2008-04-21 Daniel Franke <franke.daniel@gmail.com> |
2051 | ||
2052 | PR fortran/35019 | |
2053 | * gfortranspec.c (lookup_option): Properly handle separated arguments | |
2054 | in -J option, print missing argument message when necessary. | |
2055 | ||
f449022d JD |
2056 | 2008-04-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2057 | ||
2058 | PR fortran/35882 | |
2059 | * scanner.c (skip_fixed_comments): Update continue_line when comment is | |
2060 | detected. (gfc_next_char_literal): Likewise. | |
2061 | ||
f40eccb0 PT |
2062 | 2008-04-19 Paul Thomas <pault@gcc.gnu.org> |
2063 | ||
2064 | PR fortran/35944 | |
2065 | PR fortran/35946 | |
2066 | PR fortran/35947 | |
2067 | * trans_array.c (gfc_trans_array_constructor): Temporarily | |
2068 | realign loop, if loop->from is not zero, before creating | |
2069 | the temporary array and provide an offset. | |
2070 | ||
2071 | PR fortran/35959 | |
2072 | * trans-decl.c (gfc_init_default_dt): Add gfc_ prefix to name | |
2073 | and allow for NULL body. Change all references from | |
2074 | init_default_dt to gfc_init_default_dt. | |
2075 | * trans.h : Add prototype for gfc_init_default_dt. | |
2076 | * trans-array.c (gfc_trans_deferred_vars): After nullification | |
2077 | call gfc_init_default_dt for derived types with allocatable | |
2078 | components. | |
2079 | ||
6c0c6ecc JD |
2080 | 2008-04-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2081 | ||
766cb661 | 2082 | PR fortran/35892 |
6c0c6ecc JD |
2083 | * trans-common.c (create_common): Revert patch causing regression. |
2084 | ||
554ef027 JD |
2085 | 2008-04-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2086 | ||
2087 | PR fortran/35724 | |
2088 | * iresolve.c (gfc_resolve_eoshift): Check for NULL symtree in test for | |
2089 | optional argument attribute. | |
2090 | ||
c2408681 PT |
2091 | 2008-04-16 Paul Thomas <pault@gcc.gnu.org> |
2092 | ||
2093 | PR fortran/35932 | |
2094 | * trans-intrinsic.c (gfc_conv_intrinsic_char): Even though KIND | |
2095 | is not used, the argument must be converted. | |
2096 | ||
fc207c37 JJ |
2097 | 2008-04-16 Jakub Jelinek <jakub@redhat.com> |
2098 | ||
2099 | PR target/35662 | |
2100 | * f95-lang.c (gfc_init_builtin_functions): Make sure | |
2101 | BUILT_IN_SINCOS{,F,L} types aren't varargs. | |
2102 | ||
05e6ff80 PT |
2103 | 2008-04-15 Paul Thomas <pault@gcc.gnu.org> |
2104 | ||
2105 | PR fortran/35864 | |
2106 | * expr.c (scalarize_intrinsic_call): Reorder identification of | |
2107 | array argument so that if one is not found a segfault does not | |
2108 | occur. Return FAILURE if all scalar arguments. | |
2109 | ||
dfbfb630 JD |
2110 | 2008-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2111 | Tobias Burnus <burnus@net-b.de> | |
2112 | ||
2113 | PR fortran/35882 | |
2114 | * options.c (gfc_init_options): Set the default maximum continuation | |
2115 | lines to 255 for both free and fixed form source for warnings. | |
2116 | (gfc_handle_option): Set -std=f95 fixed form max continuations to 19 and | |
2117 | the -std=f95 free form max continuations to 39 for warnings. | |
2118 | * scanner.c (gfc_next_char_literal): Adjust the current_line number only | |
2119 | if it is less than the current locus. | |
2120 | ||
d06b3496 JD |
2121 | 2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2122 | ||
2123 | PR fortran/25829 28655 | |
2124 | * io.c (io_tag): Add new tags for decimal, encoding, asynchronous, | |
2125 | round, sign, and id. (match_open_element): Match new tags. | |
2126 | (gfc_resolve_open): Resolve new tags. (gfc_match_open): Enable encoding | |
2127 | for DEFAULT only. Update error messages. (match_dt_element): Fix match | |
2128 | tag for asynchronous. Update error messages. (gfc_free_inquire): Free | |
2129 | new expressions. (match_inquire_element): Match new tags. | |
2130 | (gfc_match_inquire): Add constraint for ID and PENDING. | |
2131 | (gfc_resolve_inquire): Resolve new tags. | |
2132 | * trans-io.c (gfc_trans_inquire): Clean up whitespace and fix setting of | |
2133 | mask for ID parameter. | |
2134 | * ioparm.def: Fix order of parameters for pending, round, and sign. | |
2135 | NOTE: These must line up with the definitions in libgfortran/io/io.h. or | |
2136 | things don't work. | |
2137 | ||
679d9637 PT |
2138 | 2008-04-06 Paul Thomas <pault@gcc.gnu.org> |
2139 | ||
2140 | PR fortran/35780 | |
2141 | * expr.c (scalarize_intrinsic_call): Identify which argument is | |
2142 | an array and use that as the template. | |
2143 | (check_init_expr): Remove tests that first argument is an array | |
2144 | in the call to scalarize_intrinsic_call. | |
2145 | ||
95213750 | 2146 | 2008-04-06 Tobias Schlüter <tobi@gcc.gnu.org> |
9b8d1901 TS |
2147 | |
2148 | PR fortran/35832 | |
2149 | * io.c (io_tag): Add field 'value'. Split 'spec' field in | |
2150 | existing io_tags. | |
2151 | (match_etag, match_vtag, match_ltag): Split parsing in two steps | |
2152 | to give better error messages. | |
2153 | ||
fbe88ffa TB |
2154 | 2008-04-06 Tobias Burnus <burnus@net-b.de> |
2155 | ||
2156 | * io.c (check_io_constraints): Add constrains. ID= requires | |
2157 | asynchronous= and asynchronous= must be init expression. | |
2158 | ||
3135ce84 FXC |
2159 | 2008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2160 | ||
2161 | * f95-lang.c: Set LANG_HOOKS_NAME to "GNU Fortran". | |
2162 | ||
6c1abb5c FXC |
2163 | 2008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2164 | ||
2165 | * dump-parse-tree.c: Use fprintf, fputs and fputc instead of | |
2166 | gfc_status and gfc_status_char. Remove gfc_ prefix of the gfc_show_* | |
2167 | functions and make them static. Add new gfc_dump_parse_tree | |
2168 | function. | |
2169 | * gfortran.h (gfc_option_t): Rename verbose into dump_parse_tree. | |
2170 | (gfc_status, gfc_status_char): Delete prototypes. | |
2171 | * error.c (gfc_status, gfc_status_char): Remove functions. | |
2172 | * scanner.c (gfc_new_file): Use printf instead of gfc_status. | |
2173 | * options.c (gfc_init_options): Rename verbose into dump_parse_tree. | |
2174 | (gfc_handle_module_path_options): Use gfc_fatal_error instead of | |
2175 | gfc_status and exit. | |
2176 | (gfc_handle_option): Rename verbose into dump_parse_tree. | |
daf5afd4 | 2177 | * parse.c (gfc_parse_file): Use gfc_dump_parse_tree. |
6c1abb5c | 2178 | |
6f0f0b2e JD |
2179 | 2008-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2180 | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
2181 | ||
2182 | PR fortran/25829 28655 | |
2183 | * dump-parse-tree.c (gfc_show_code_node): Show new I/O parameters. | |
2184 | * gfortran.h (gfc_statement): Add ST_WAIT enumerator. | |
2185 | (gfc_open): Add pointers for decimal, encoding, round, sign, | |
2186 | asynchronous. (gfc_inquire): Add pointers for asynchronous, decimal, | |
2187 | encoding, pending, round, sign, size, id. | |
2188 | (gfc_wait): New typedef struct. (gfc_dt): Add pointers for id, pos, | |
2189 | asynchronous, blank, decimal, delim, pad, round, sign. | |
2190 | (gfc_exec_op): Add EXEC_WAIT enumerator. (gfc_code): Add pointer for | |
2191 | wait. (gfc_free_wait), (gfc_resolve_wait): New function prototypes. | |
2192 | * trans-stmt.h (gfc_trans_wait): New function prototype. | |
2193 | * trans.c (gfc_trans_code): Add case for EXEC_WAIT. | |
2194 | * io.c (io_tag): Add new tags for DECIMAL, ENCODING, ROUND, SIGN, | |
2195 | ASYCHRONOUS, ID. (match_open_element): Add matchers for new tags. | |
2196 | (gfc_free_open): Free new pointers. (gfc_resolve_open): Resolve new | |
2197 | tags. (gfc_resolve_open): Remove comment around check for allowed | |
2198 | values and ASYNCHRONOUS, update it. Likewise for DECIMAL, ENCODING, | |
2199 | ROUND, and SIGN. (match_dt_element): Add matching for new tags. | |
2200 | (gfc_free_wait): New function. (gfc_resolve_wait): New function. | |
2201 | (match_wait_element): New function. (gfc_match_wait): New function. | |
2202 | * resolve.c (gfc_resolve_blocks): Add case for EXEC_WAIT. | |
2203 | (resolve_code): Add case for EXEC_WAIT. | |
2204 | * st.c (gfc_free_statement): Add case for EXEC_WAIT. | |
2205 | * trans-io.c (ioparam_type): Add IOPARM_ptype_wait. (gfc_st_parameter): | |
2206 | Add "wait" entry. (iocall): Add IOCALL_WAIT enumerator. | |
2207 | (gfc_build_io_library_fndecls): Add function declaration for st_wait. | |
2208 | (gfc_trans_open): Add mask bits for new I/O tags. | |
2209 | (gfc_trans_inquire): Add mask bits for new I/O tags. | |
2210 | (gfc_trans_wait): New translation function. | |
2211 | (build_dt): Add mask bits for new I/O tags. | |
2212 | * match.c (gfc_match_if) Add matcher for "wait". | |
2213 | * match.h (gfc_match_wait): Prototype for new function. | |
2214 | * ioparm.def: Add new I/O parameter definitions. | |
2215 | * parse.c (decode_statement): Add match for "wait" statement. | |
2216 | (next_statement): Add case for ST_WAIT. (gfc_ascii_statement): Same. | |
2217 | ||
637b5a8e JJ |
2218 | 2008-04-03 Jakub Jelinek <jakub@redhat.com> |
2219 | ||
2220 | PR fortran/35786 | |
2221 | * openmp.c (resolve_omp_clauses): Diagnose if a clause symbol | |
2222 | isn't a variable. | |
2223 | ||
6cba282a TT |
2224 | 2008-04-03 Tom Tromey <tromey@redhat.com> |
2225 | ||
2226 | * Make-lang.in (fortran_OBJS): New variable. | |
2227 | ||
9ff420f1 PB |
2228 | 2008-04-03 Paolo Bonzini <bonzini@gnu.org> |
2229 | ||
6c1abb5c | 2230 | * f95-lang.c (insert_block): Kill. |
9ff420f1 | 2231 | |
7151ffbe GH |
2232 | 2008-04-01 George Helffrich <george@gcc.gnu.org> |
2233 | ||
623f8e39 | 2234 | PR fortran/35154, fortran/23057 |
7151ffbe GH |
2235 | * trans-common.c (create_common): Add decl to function |
2236 | chain to preserve identifier scope in debug output. | |
2237 | ||
7f9766e4 JM |
2238 | 2008-04-01 Joseph Myers <joseph@codesourcery.com> |
2239 | ||
2240 | * gfortran.texi: Include gpl_v3.texi instead of gpl.texi | |
2241 | * Make-lang.in (GFORTRAN_TEXI): Include gpl_v3.texi instead of | |
2242 | gpl.texi. | |
2243 | ||
23d1b451 PT |
2244 | 2008-03-30 Paul Thomas <pault@gcc.gnu.org> |
2245 | ||
2246 | PR fortran/35740 | |
2247 | * resolve.c (resolve_function, resolve_call): If the procedure | |
2248 | is elemental do not look for noncopying intrinsics. | |
2249 | ||
067feae3 PT |
2250 | 2008-03-29 Paul Thomas <pault@gcc.gnu.org> |
2251 | ||
2252 | PR fortran/35698 | |
2253 | * trans-array.c (gfc_array_init_size): Set 'size' zero if | |
2254 | negative in one dimension. | |
2255 | ||
2256 | PR fortran/35702 | |
2257 | * trans-expr.c (gfc_trans_string_copy): Only assign a char | |
2258 | directly if the lhs and rhs types are the same. | |
2259 | ||
01d2a7d7 DF |
2260 | 2008-03-28 Daniel Franke <franke.daniel@gmail.com> |
2261 | Paul Richard Thomas <paul.richard.thomas@gmail.com> | |
2262 | ||
2263 | PR fortran/34714 | |
2264 | * primary.c (match_variable): Improved matching of function | |
2265 | result variables. | |
2266 | * resolve.c (resolve_allocate_deallocate): Removed checks if | |
2267 | the actual argument for STAT is a variable. | |
2268 | ||
b0be8e5c TB |
2269 | 2008-03-28 Tobias Burnus <burnus@net-b.de> |
2270 | ||
2271 | * symbol.c (gfc_get_default_type): Fix error message; option | |
2272 | -fallow_leading_underscore should be -fallow-leading-underscore | |
2273 | ||
97d650cc JD |
2274 | 2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2275 | ||
2276 | PR fortran/35724 | |
2277 | * iresolve.c (gfc_resolve_cshift): Check for NULL symtree in test for | |
2278 | optional argument attribute. | |
2279 | ||
e980df8e TT |
2280 | 2008-03-27 Tom Tromey <tromey@redhat.com> |
2281 | ||
2282 | * Make-lang.in: Revert automatic dependency patch. | |
2283 | ||
2fe3178b TT |
2284 | 2008-03-25 Tom Tromey <tromey@redhat.com> |
2285 | ||
2286 | * Make-lang.in: Remove .o targets. | |
2287 | (fortran_OBJS): New variable. | |
2288 | (fortran/gfortranspec.o): Move to fortran/. Reduce to variable | |
2289 | setting. | |
2290 | (GFORTRAN_D_OBJS): Update. | |
2291 | (GFORTRAN_TRANS_DEPS): Remove. | |
2292 | ||
c1203a70 PT |
2293 | 2008-03-24 Paul Thomas <pault@gcc.gnu.org> |
2294 | ||
2295 | PR fortran/34813 | |
2296 | * resolve.c (resolve_structure_cons): It is an error to assign | |
2297 | NULL to anything other than a pointer or allocatable component. | |
2298 | ||
2299 | PR fortran/33295 | |
2300 | * resolve.c (resolve_symbol): If the symbol is a derived type, | |
2301 | resolve the derived type. If the symbol is a derived type | |
2302 | function, ensure that the derived type is visible in the same | |
2303 | namespace as the function. | |
2304 | ||
95213750 | 2305 | 2008-03-23 Tobias Schlüter <tobi@gcc.gnu.org> |
47056774 TS |
2306 | |
2307 | * trans.h: Use fold_build in build1_v, build2_v and build3_v | |
2308 | macros. | |
2309 | * trans-openmp.c (gfc_trans_omp_critical, gfc_trans_omp_single): | |
2310 | Don't use build2_v macro. | |
2311 | ||
ac05557c DF |
2312 | 2008-03-19 Daniel Franke <franke.daniel@gmail.com> |
2313 | ||
2314 | PR fortran/35152 | |
2315 | * interface.c (gfc_procedure_use): Check for keyworded arguments in | |
2316 | procedures without explicit interfaces. | |
2317 | ||
c52938ec PT |
2318 | 2008-03-16 Paul Thomas <pault@gcc.gnu.org> |
2319 | ||
2320 | PR fortran/35470 | |
2321 | * resolve.c (check_assumed_size_reference): Only visit the | |
2322 | first reference and look directly at the highest dimension. | |
2323 | ||
db5cf0c7 JD |
2324 | 2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2325 | ||
2326 | PR fortran/35184 | |
2327 | * trans-array.c (gfc_conv_array_index_offset): Remove unnecessary | |
2328 | assert. | |
2329 | ||
ab551054 DF |
2330 | 2008-03-15 Daniel Franke <franke.daniel@gmail.com> |
2331 | ||
2332 | PR fortran/35584 | |
2333 | * resolve.c (resolve_branch): Less strict and pessimistic warning | |
2334 | message. | |
2335 | ||
30e257e5 PB |
2336 | 2008-03-11 Paolo Bonzini <bonzini@gnu.org> |
2337 | ||
ab551054 DF |
2338 | * f95-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK): Delete. |
2339 | (gfc_be_parse_file): Call clear_binding_stack from here. | |
30e257e5 PB |
2340 | (gfc_clear_binding_stack): Rename to clear_binding_stack. |
2341 | ||
81c10953 PT |
2342 | 2008-03-09 Paul Thomas <pault@gcc.gnu.org> |
2343 | ||
2344 | PR fortran/35474 | |
2345 | * module.c (mio_symtree_ref): After providing a symbol for a | |
2346 | missing equivalence member, resolve and NULL the fixups. | |
2347 | ||
802e3f8c RW |
2348 | 2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2349 | ||
2350 | * invoke.texi (Error and Warning Options): Document | |
2351 | -Wline-truncation. | |
2352 | ||
ba4698e1 FXC |
2353 | 2008-03-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2354 | ||
2355 | PR fortran/34956 | |
2356 | * trans-array.c (gfc_conv_ss_startstride): Fix the logic to avoid | |
2357 | checking bounds of absent optional arguments. | |
2358 | ||
fdc54e88 FXC |
2359 | 2008-03-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2360 | ||
2361 | PR fortran/33197 | |
2362 | * intrinsic.c (add_functions): Add simplification routines for | |
2363 | ERF, DERF, ERFC and DERFC. | |
2364 | * decl.c (gfc_match_suffix, gfc_match_subroutine): Change GNU | |
2365 | extensions into Fortran 2008 features. | |
2366 | * intrinsic.h (gfc_simplify_erf, gfc_simplify_erfc): New | |
2367 | prototypes. | |
2368 | * simplify.c (gfc_simplify_erf, gfc_simplify_erfc): New functions. | |
2369 | ||
f489fba1 FXC |
2370 | 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2371 | ||
2372 | PR fortran/33197 | |
2373 | * intrinsic.c (add_functions): Modify intrinsics ACOSH, ASINH, | |
2374 | ATANH, ERF, ERFC and GAMMA. Add intrinsics BESSEL_{J,Y}{0,1,N}, | |
2375 | ERFC_SCALED, LOG_GAMMA and HYPOT. | |
2376 | * intrinsic.h (gfc_check_hypot, gfc_simplify_hypot, | |
2377 | gfc_resolve_hypot): New prototypes. | |
2378 | * mathbuiltins.def: Add HYPOT builtin. Make complex versions of | |
2379 | ACOSH, ASINH and ATANH available. | |
2380 | * gfortran.h (GFC_ISYM_ERFC_SCALED, GFC_ISYM_HYPOT): New values. | |
2381 | * lang.opt: Add -std=f2008 option. | |
2382 | * libgfortran.h: Define GFC_STD_F2008. | |
2383 | * lang-specs.h: Add .f08 and .F08 file suffixes. | |
2384 | * iresolve.c (gfc_resolve_hypot): New function. | |
2385 | * parse.c (parse_contained): Allow empty CONTAINS for Fortran 2008. | |
2386 | * check.c (gfc_check_hypot): New function. | |
2387 | * trans-intrinsic.c (gfc_intrinsic_map): Define ERFC_SCALE builtin. | |
2388 | * options.c (set_default_std_flags): Allow Fortran 2008 by default. | |
2389 | (form_from_filename): Add .f08 suffix. | |
2390 | (gfc_handle_option): Handle -std=f2008 option. | |
2391 | * simplify.c (gfc_simplify_hypot): New function. | |
2392 | * gfortran.texi: Document Fortran 2008 status and file extensions. | |
2393 | * intrinsic.texi: Document new BESSEL_{J,Y}{0,1,N} intrinsics, | |
2394 | as well as HYPOT and ERFC_SCALED. Update documentation of ERF, | |
2395 | ERFC, GAMMA, LGAMMA, ASINH, ACOSH and ATANH. | |
2396 | * invoke.texi: Document the new -std=f2008 option. | |
2397 | ||
0e5997c0 JJ |
2398 | 2008-03-02 Jakub Jelinek <jakub@redhat.com> |
2399 | ||
2400 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
2401 | dates. | |
2402 | ||
44000dbb JD |
2403 | 2008-02-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2404 | ||
2405 | PR fortran/35059 | |
2406 | * expr.c (find_array_element): Modify traversing the constructor to | |
2407 | avoid trying to access NULL memory pointed to by next for the | |
2408 | last element. (find_array_section): Exit while loop if cons->next is | |
2409 | NULL. | |
2410 | * trans-expr.c (gfc_conv_scalar_char_value): Initialize gfc_typespec. | |
2411 | (gfc_conv_function_call): Same. | |
2412 | * decl.c (gfc_match_implicit): Same. | |
2413 | * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Same. | |
2414 | ||
766d0c8c DF |
2415 | 2008-02-28 Daniel Franke <franke.daniel@gmail.com> |
2416 | ||
2417 | PR fortran/31463 | |
2418 | PR fortran/33950 | |
2419 | PR fortran/34296 | |
2420 | * lang.opt: Added -Wreturn-type. | |
2421 | * options.c (gfc_handle_option): Recognize -Wreturn-type. | |
2422 | * trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions | |
2423 | where the result value is not set. | |
2424 | (gfc_generate_function_code): Likewise. | |
2425 | (generate_local_decl): Emit warnings for funtions whose RESULT | |
2426 | variable is not set. | |
2427 | ||
43e7fd21 FXC |
2428 | 2008-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2429 | ||
2430 | PR fortran/34868 | |
2431 | * trans-expr.c (gfc_conv_variable): Don't build indirect | |
2432 | references when explicit interface is mandated. | |
2433 | * resolve.c (resolve_formal_arglist): Set attr.always_explicit | |
2434 | on the result symbol as well as the procedure symbol. | |
2435 | ||
b5a4419c FXC |
2436 | 2008-02-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2437 | ||
2438 | PR fortran/33387 | |
2439 | * trans.h: Remove prototypes for gfor_fndecl_math_exponent4, | |
2440 | gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and | |
2441 | gfor_fndecl_math_exponent16. | |
2442 | * f95-lang.c (build_builtin_fntypes): Add new function types. | |
2443 | (gfc_init_builtin_functions): Add new builtins for nextafter, | |
2444 | frexp, ldexp, fabs, scalbn and inf. | |
2445 | * iresolve.c (gfc_resolve_rrspacing): Don't add hidden arguments. | |
2446 | (gfc_resolve_scale): Don't convert type of second argument. | |
2447 | (gfc_resolve_set_exponent): Likewise. | |
2448 | (gfc_resolve_size): Don't add hidden arguments. | |
2449 | * trans-decl.c: Remove gfor_fndecl_math_exponent4, | |
2450 | gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and | |
2451 | gfor_fndecl_math_exponent16. | |
2452 | * trans-intrinsic.c (gfc_intrinsic_map): Remove intrinsics | |
2453 | for scalbn, fraction, nearest, rrspacing, set_exponent and | |
2454 | spacing. | |
2455 | (gfc_conv_intrinsic_exponent): Directly call frexp. | |
2456 | (gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_nearest, | |
2457 | gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, | |
2458 | gfc_conv_intrinsic_scale, gfc_conv_intrinsic_set_exponent): New | |
2459 | functions. | |
2460 | (gfc_conv_intrinsic_function): Use the new functions above. | |
2461 | ||
e19bb186 TB |
2462 | 2008-02-26 Tobias Burnus <burnus@net-b.de> |
2463 | ||
2464 | PR fortran/35033 | |
2465 | * interface.c (check_operator_interface): Show better line for error | |
2466 | messages; fix constrains for user-defined assignment operators. | |
2467 | (gfc_extend_assign): Fix constrains for user-defined assignment | |
2468 | operators. | |
2469 | ||
2d593c86 TT |
2470 | 2008-02-26 Tom Tromey <tromey@redhat.com> |
2471 | ||
2472 | * trans-io.c (set_error_locus): Remove old location code. | |
2473 | * trans-decl.c (gfc_set_decl_location): Remove old location code. | |
2474 | * f95-lang.c (gfc_init): Remove test of USE_MAPPED_LOCATION. | |
2475 | * scanner.c (gfc_gobble_whitespace): Remove old location code. | |
2476 | (get_file): Likewise. | |
2477 | (preprocessor_line): Likewise. | |
2478 | (load_file): Likewise. | |
2479 | (gfc_new_file): Likewise. | |
2480 | * trans.c (gfc_trans_runtime_check): Remove old location code. | |
2481 | (gfc_get_backend_locus): Likewise. | |
2482 | (gfc_set_backend_locus): Likewise. | |
2483 | * data.c (gfc_assign_data_value): Remove old location code. | |
2484 | * error.c (show_locus): Remove old location code. | |
2485 | * gfortran.h (gfc_linebuf): Remove old location code. | |
2486 | (gfc_linebuf_linenum): Remove old-location variant. | |
2487 | ||
ee37d2f5 FXC |
2488 | 2008-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2489 | ||
2490 | PR fortran/34729 | |
2491 | * trans-const.c (gfc_build_string_const): Don't call gettext. | |
2492 | (gfc_build_localized_string_const): New function. | |
2493 | * trans-const.h (gfc_build_localized_string_const): New prototype. | |
2494 | * trans.c (gfc_trans_runtime_check): Use | |
2495 | gfc_build_localized_string_const instead of gfc_build_string_const. | |
2496 | (gfc_call_malloc): Likewise. | |
2497 | (gfc_allocate_with_status): Likewise. | |
2498 | (gfc_allocate_array_with_status): Likewise. | |
2499 | (gfc_deallocate_with_status): Likewise. | |
2500 | (gfc_call_realloc): Likewise. | |
2501 | * trans-io.c (gfc_trans_io_runtime_check): Likewise. | |
2502 | ||
95213750 | 2503 | 2008-02-24 Tobias Schlüter <tobi@gcc.gnu.org> |
835aac92 TS |
2504 | |
2505 | * arith.c: Update copyright years. | |
2506 | * arith.h: Likewise. | |
2507 | * array.c: Likewise. | |
2508 | * bbt.c: Likewise. | |
2509 | * check.c: Likewise. | |
2510 | * data.c: Likewise. | |
2511 | * data.h: Likewise. | |
2512 | * decl.c: Likewise. | |
2513 | * dependency.c: Likewise. | |
2514 | * dependency.h: Likewise. | |
2515 | * dump-parse-tree.c: Likewise. | |
2516 | * error.c: Likewise. | |
2517 | * expr.c: Likewise. | |
2518 | * gfc-internals.texi: Likewise. | |
2519 | * gfortran.h: Likewise. | |
2520 | * gfortran.texi: Likewise. | |
2521 | * gfortranspec.c: Likewise. | |
2522 | * interface.c: Likewise. | |
2523 | * intrinsic.c: Likewise. | |
2524 | * intrinsic.h: Likewise. | |
2525 | * intrinsic.texi: Likewise. | |
2526 | * invoke.texi: Likewise. | |
2527 | * io.c: Likewise. | |
2528 | * iresolve.c: Likewise. | |
2529 | * iso-c-binding.def: Likewise. | |
2530 | * iso-fortran-env.def: Likewise. | |
2531 | * lang-specs.h: Likewise. | |
2532 | * lang.opt: Likewise. | |
2533 | * libgfortran.h: Likewise. | |
2534 | * match.c: Likewise. | |
2535 | * match.h: Likewise. | |
2536 | * matchexp.c: Likewise. | |
2537 | * misc.c: Likewise. | |
2538 | * module.c: Likewise. | |
2539 | * openmp.c: Likewise. | |
2540 | * options.c: Likewise. | |
2541 | * parse.c: Likewise. | |
2542 | * parse.h: Likewise. | |
2543 | * primary.c: Likewise. | |
2544 | * resolve.c: Likewise. | |
2545 | * scanner.c: Likewise. | |
2546 | * simplify.c: Likewise. | |
2547 | * st.c: Likewise. | |
2548 | * symbol.c: Likewise. | |
2549 | * target-memory.c: Likewise. | |
2550 | * target-memory.h: Likewise. | |
2551 | * trans-array.h: Likewise. | |
2552 | * trans-const.h: Likewise. | |
2553 | * trans-stmt.h: Likewise. | |
2554 | * trans-types.c: Likewise. | |
2555 | * trans-types.h: Likewise. | |
2556 | * types.def: Likewise. | |
2557 | ||
c05800b6 JD |
2558 | 2008-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2559 | ||
2560 | PR fortran/35223 | |
2561 | * simplify.c (gfc_simplify_ibclr), (gfc_simplify_ibits), | |
2562 | (gfc_simplify_ibset): Remove call to range_check. | |
2563 | (simplify_cmplx), (gfc_simplify_dble), (gfc_simplify_float) | |
2564 | (gfc_simplify_real): Add call gfc_clear_ts to initialize the | |
2565 | temporary gfc_typspec variable. | |
2566 | ||
95213750 | 2567 | 2008-02-24 Tobias Schlüter <tobi@gcc.gnu.org> |
0418b811 TS |
2568 | |
2569 | * trans-array.c (gfc_conv_descriptor_data_get, | |
2570 | gfc_conv_descriptor_data_set_internal, | |
2571 | gfc_conv_descriptor_data_addr, gfc_conv_descriptor_offset, | |
2572 | gfc_conv_descriptor_dtype, gfc_conv_descriptor_dimension, | |
2573 | gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound, | |
2574 | gfc_conv_descriptor_ubound, gfc_trans_create_temp_array, | |
2575 | gfc_conv_array_transpose, gfc_grow_array, | |
2576 | gfc_trans_array_constructor_subarray, | |
2577 | gfc_trans_array_constructor_value, gfc_trans_scalarized_loop_end, | |
2578 | gfc_array_init_size, gfc_array_allocate, gfc_array_deallocate, | |
2579 | gfc_conv_array_initializer, gfc_trans_array_bounds, | |
2580 | gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, | |
2581 | gfc_get_dataptr_offset, gfc_conv_array_parameter, | |
2582 | gfc_trans_dealloc_allocated, get_full_array_size, | |
2583 | gfc_duplicate_allocatable, structure_alloc_comps): Use fold_buildN | |
2584 | instead of buildN. | |
2585 | * trans-expr.c (gfc_conv_expr_present, gfc_conv_missing_dummy, | |
2586 | gfc_conv_component_ref, gfc_conv_cst_int_power, | |
2587 | gfc_conv_function_call, gfc_trans_structur_assign): Likewise. | |
2588 | * trans-common.c (create_common): Likewise. | |
2589 | * trans-openmp.c (gfc_trans_omp_atomic, gfc_trans_omp_do): | |
2590 | Likewise. | |
2591 | * trans-const.c (gfc_conv_constant_to_tree): Likewise. | |
2592 | * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_do, | |
2593 | gfc_trans_integer_select, gfc_trans_character_select, | |
2594 | gfc_trans_forall_loop, compute_overall_iter_number, | |
2595 | gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_allocate, | |
2596 | gfc_trans_deallocate): Likewise. | |
2597 | * trans.c (gfc_build_addr_expr, gfc_trans_runtime_check, | |
2598 | gfc_allocate_with_status, gfc_allocate_array_with_status, | |
2599 | gfc_deallocate_with_status): Likewise. | |
2600 | * f95-lang.c (gfc_truthvalue_conversion): Likewise. | |
2601 | * trans-io.c (set_parameter_const, set_parameter_value, | |
2602 | set_parameter_ref, set_string, set_internal_unit, io_result, | |
2603 | set_error_locus, nml_get_addr_expr, transfer_expr): Likewise. | |
2604 | * trans-decl.c (gfc_build_qualified_array, build_entry_thunks, | |
2605 | gfc_get_fake_result_decl, gfc_trans_auto_character_variable, | |
2606 | gfc_generate_function_code): Likewise. | |
2607 | * convert.c (convert): Likewise. | |
2608 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
2609 | build_fixbound_expr, build_fix_expr, gfc_conv_intrinsic_aint, | |
2610 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_imagpart, | |
2611 | gfc_conv_intrinsic_conjg, gfc_conv_intrinsic_abs, | |
2612 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod, | |
2613 | gfc_conv_intrinsic_dim, gfc_conv_intrinsic_dprod, | |
2614 | gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, | |
2615 | gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax, | |
2616 | gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_count, | |
2617 | gfc_conv_intrinsic_arith, gfc_conv_intrinsic_dot_product, | |
2618 | gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, | |
2619 | gfc_conv_intrinsic_btest, gfc_conv_intrinsic_not, | |
2620 | gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft, | |
2621 | gfc_conv_intrinsic_ichar, gfc_conv_intrinsic_size, | |
2622 | gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer, | |
2623 | gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_trim, | |
2624 | gfc_conv_intrinsic_repeat): Likewise. | |
2625 | ||
37a2dc42 | 2626 | 2008-02-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
fb220235 FXC |
2627 | |
2628 | PR target/25477 | |
2629 | * trans-expr.c (gfc_conv_power_op): Use BUILT_IN_CPOW{F,,L}. | |
2630 | * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_CPOW{F,,L}. | |
2631 | * trans.h (gfor_fndecl_math_cpow, gfor_fndecl_math_cpowf, | |
2632 | gfor_fndecl_math_cpowl10, gfor_fndecl_math_cpowl16): Remove. | |
2633 | * trans-decl.c: Likewise. | |
2634 | ||
c05800b6 JD |
2635 | 2008-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2636 | ||
2637 | PR fortran/35059 | |
2638 | * expr.c (find_array_element): Modify traversing the constructor to | |
2639 | avoid trying to access NULL memory pointed to by next for the | |
2640 | last element. (find_array_section): Exit while loop if cons->next is | |
2641 | NULL. | |
2642 | ||
2643 | 2008-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
4af63337 JD |
2644 | |
2645 | PR fortran/34907 | |
2646 | * iresolve.c (resolve_mask_arg): Add gfc_clear_ts to initialize | |
2647 | structure. | |
2648 | (gfc_resolve_aint): Likewise. | |
2649 | (gfc_resolve_anint): Likewise. | |
2650 | (gfc_resolve_besn): Likewise. | |
2651 | (gfc_resolve_cshift): Likewise. | |
2652 | (gfc_resolve_ctime): Likewise. | |
2653 | (gfc_resolve_eoshift): Likewise. | |
2654 | (gfc_resolve_index_func): Likewise. | |
2655 | (gfc_resolve_isatty): Likewise. | |
2656 | (gfc_resolve_malloc): Likewise. | |
2657 | (gfc_resolve_rrspacing): Likewise. | |
2658 | (gfc_resolve_scale): Likewise. | |
2659 | (gfc_resolve_set_exponent): Likewise. | |
2660 | (gfc_resolve_spacing): Likewise. | |
2661 | (gfc_resolve_spacing): Likewise. | |
2662 | (gfc_resolve_fgetc): Likewise. | |
2663 | (gfc_resolve_fputc): Likewise. | |
2664 | (gfc_resolve_ftell): Likewise. | |
2665 | (gfc_resolve_ttynam): Likewise. | |
2666 | (gfc_resolve_alarm_sub): Likewise. | |
2667 | (gfc_resolve_mvbits): Likewise. | |
2668 | (gfc_resolve_getarg): Likewise. | |
2669 | (gfc_resolve_signal_sub): Likewise. | |
2670 | (gfc_resolve_exit): Likewise. | |
2671 | (gfc_resolve_flush): Likewise. | |
2672 | (gfc_resolve_free): Likewise. | |
2673 | (gfc_resolve_ctime_sub): Likewise. | |
2674 | (gfc_resolve_fgetc_sub): Likewise. | |
2675 | (gfc_resolve_fputc_sub): Likewise. | |
2676 | (gfc_resolve_fseek_sub): Likewise. | |
2677 | (gfc_resolve_ftell_sub): Likewise. | |
2678 | (gfc_resolve_ttynam_sub): Likewise. | |
2679 | ||
24219f12 RW |
2680 | 2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2681 | ||
2682 | * gfc-internals.texi: Fix typos and markup nits. | |
2683 | * gfortran.texi: Likewise. | |
2684 | * intrinsic.texi: Likewise. | |
2685 | ||
dedd42d5 RG |
2686 | 2008-02-21 Richard Guenther <rguenther@suse.de> |
2687 | ||
2688 | * trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES | |
2689 | as unary PAREN_EXPR for real and complex typed expressions. | |
2690 | (gfc_conv_unary_op): Fold the built tree. | |
2691 | ||
89a5afda TB |
2692 | 2008-02-20 Tobias Burnus <burnus@net-b.de> |
2693 | ||
2694 | PR fortran/34997 | |
2695 | * match.c (gfc_match_name): Improve error message for '$'. | |
2696 | ||
606c2c03 DF |
2697 | 2008-02-19 Daniel Franke <franke.daniel@gmail.com> |
2698 | ||
2699 | PR fortran/35030 | |
2700 | * expr.c (gfc_check_pointer_assign): Add type and kind information | |
2701 | to type-mismatch message. | |
2702 | (gfc_check_assign): Unify error messages. | |
2703 | ||
49309826 FXC |
2704 | 2008-02-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2705 | ||
2706 | PR fortran/34952 | |
2707 | * gfortran.texi: Create new section for unimplemented extensions. | |
2708 | Add "STRUCTURE and RECORD" and "ENCODE and DECODE statements". | |
2709 | Remove "smaller projects" list. Fix a few typos. | |
2710 | ||
6b45fd61 FXC |
2711 | 2008-02-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2712 | ||
2713 | * intrinsic.texi: Rename INDEX node to avoid clashing with | |
2714 | index.html on case-insensitive systems. | |
2715 | ||
750606c6 FXC |
2716 | 2008-02-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2717 | ||
2718 | PR fortran/35150 | |
2719 | * trans-expr.c (gfc_conv_function_call): Force evaluation of | |
2720 | se->expr. | |
2721 | ||
3d39d415 DF |
2722 | 2008-02-10 Daniel Franke <franke.daniel@gmail.com> |
2723 | ||
606c2c03 | 2724 | PR fortran/35019 |
3d39d415 DF |
2725 | * lang.opt: Allow '-J<dir>' next to '-J <dir>', |
2726 | likewise '-I <dir>' and '-I<dir>'. | |
2727 | ||
72fb133f KG |
2728 | 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
2729 | ||
2730 | PR other/35107 | |
2731 | * Make-lang.in (f951): Add $(GMPLIBS). | |
2732 | ||
e3ac9b24 FXC |
2733 | 2008-02-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2734 | ||
2735 | PR fortran/35037 | |
2736 | * trans-common.c (build_field): Mark fields as volatile when needed. | |
2737 | ||
da36ba27 TB |
2738 | 2008-02-05 Tobias Burnus <burnus@net-b.de> |
2739 | ||
2740 | PR fortran/35093 | |
2741 | * data.c (gfc_assign_data_value): Only free "size" if | |
2742 | it has not already been freed. | |
2743 | ||
52f56431 PT |
2744 | 2008-02-05 Paul Thomas <pault@gcc.gnu.org> |
2745 | ||
2746 | PR fortran/34945 | |
2747 | * array.c (match_array_element_spec): Remove check for negative | |
2748 | array size. | |
2749 | (gfc_resolve_array_spec): Add check for negative size. | |
2750 | ||
3969f765 PT |
2751 | 2008-02-05 Paul Thomas <pault@gcc.gnu.org> |
2752 | ||
2753 | PR fortran/32315 | |
2754 | * data.c (gfc_assign_data_value): Add bounds check for array | |
2755 | references. | |
2756 | ||
ba6e57ba DF |
2757 | 2008-02-04 Daniel Franke <franke.daniel@gmail.com> |
2758 | ||
2759 | * resolve.c (resolve_where): Fix typo. | |
2760 | (gfc_resolve_where_code_in_forall): Likewise. | |
2761 | ||
b9332b09 PT |
2762 | 2008-02-03 Paul Thomas <pault@gcc.gnu.org> |
2763 | ||
2764 | PR fortran/32760 | |
2765 | * resolve.c (resolve_allocate_deallocate): New function. | |
2766 | (resolve_code): Call it for allocate and deallocate. | |
2767 | * match.c (gfc_match_allocate, gfc_match_deallocate) : Remove | |
2768 | the checking of the STAT tag and put in above new function. | |
2769 | * primary,c (match_variable): Do not fix flavor of host | |
2770 | associated symbols yet if the type is not known. | |
2771 | ||
db39d0c2 PT |
2772 | 2008-01-31 Paul Thomas <pault@gcc.gnu.org> |
2773 | ||
2774 | PR fortran/34910 | |
2775 | * expr.c (gfc_check_assign): It is an error to assign | |
2776 | to a sibling procedure. | |
2777 | ||
a99d95a2 PT |
2778 | 2008-01-30 Paul Thomas <pault@gcc.gnu.org> |
2779 | ||
2780 | PR fortran/34975 | |
2781 | * symbol.c (gfc_delete_symtree, gfc_undo_symbols): Rename | |
2782 | delete_symtree to gfc_delete_symtree. | |
2783 | * gfortran.h : Add prototype for gfc_delete_symtree. | |
2784 | * module.c (load_generic_interfaces): Transfer symbol to a | |
2785 | unique symtree and delete old symtree, instead of renaming. | |
2786 | (read_module): The rsym and the found symbol are the same, so | |
2787 | the found symtree can be deleted. | |
2788 | ||
2789 | PR fortran/34429 | |
2790 | * decl.c (match_char_spec): Remove the constraint on deferred | |
2791 | matching of functions and free the length expression. | |
2792 | delete_symtree to gfc_delete_symtree. | |
2793 | (gfc_match_type_spec): Whitespace. | |
2794 | (gfc_match_function_decl): Defer characteristic association for | |
2795 | all types except BT_UNKNOWN. | |
2796 | * parse.c (decode_specification_statement): Only derived type | |
2797 | function matching is delayed to the end of specification. | |
2798 | ||
64a96f5b TB |
2799 | 2008-01-28 Tobias Burnus <burnus@net-b.de> |
2800 | ||
2801 | PR libfortran/34980 | |
2802 | * simplify.c (gfc_simplify_shape): Simplify rank zero arrays. | |
2803 | ||
938f31f1 JD |
2804 | 2008-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2805 | ||
2806 | PR fortran/34990 | |
2807 | * array.c (gfc_check_constructor_type): Revert clearing the expression. | |
2808 | ||
2c80cb0e TB |
2809 | 2008-01-26 Tobias Burnus <burnus@net-b.de> |
2810 | ||
2811 | PR fortran/34848 | |
2812 | * trans-expr.c (gfc_conv_function_call): Don't call | |
2813 | gfc_add_interface_mapping if the expression is NULL. | |
2814 | ||
bdfc46af JD |
2815 | 2008-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2816 | ||
2817 | PR fortran/31610 | |
2818 | * trans-array.c (gfc_trans_create_temp_array): Remove call to | |
2819 | gcc_assert (integer_zerop (loop->from[n])). | |
2820 | ||
42cd23cb DF |
2821 | 2008-01-25 Daniel Franke <franke.daniel@gmail.com> |
2822 | ||
2823 | PR fortran/34661 | |
2824 | * resolve.c (resolve_where): Added check if user-defined assignment | |
2825 | operator is an elemental subroutine. | |
2826 | (gfc_resolve_where_code_in_forall): Likewise. | |
2827 | ||
79f40de6 DF |
2828 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
2829 | ||
2830 | PR fortran/33375 | |
2831 | PR fortran/34858 | |
2832 | * gfortran.h: Revert changes from 2008-01-17. | |
2833 | * match.c: Likewise. | |
2834 | * symbol.c: Likewise. | |
2835 | (gfc_undo_symbols): Undo namespace changes related to common blocks. | |
2836 | ||
7c8d2703 DF |
2837 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
2838 | ||
2839 | PR fortran/34202 | |
2840 | * data.c (formalize_structure_cons): Skip formalization on | |
2841 | empty structures. | |
2842 | ||
3b303683 DF |
2843 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
2844 | ||
2845 | * gfortran.texi (OpenMP): Extended existing documentation. | |
2846 | (contributors): Added major contributors of 2008 that were | |
2847 | not listed yet. | |
2848 | (proposed extensions): Removed implemented items. | |
2849 | ||
2850 | 2008-01-24 Paul Thomas <pault@gcc.gnu.org> | |
2851 | ||
2852 | PR fortran/34872 | |
2853 | * parse.c (next_statement) : If ST_GET_FCN_CHARACTERISTICS is | |
2854 | seen, check for a statement label and, if present, delete it | |
2855 | and set the locus to the start of the statement. | |
2856 | ||
c63173dd PT |
2857 | 2008-01-22 Paul Thomas <pault@gcc.gnu.org> |
2858 | ||
2859 | PR fortran/34875 | |
2860 | * trans-io.c (gfc_trans_transfer): If the array reference in a | |
2861 | read has a vector subscript, use gfc_conv_subref_array_arg to | |
2862 | copy back the temporary. | |
2863 | ||
b5ca4fd2 TB |
2864 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
2865 | ||
2866 | PR fortran/34848 | |
2867 | * interface.c (compare_actual_formal): Fix adding type | |
2868 | to missing_arg_type for absent optional arguments. | |
2869 | ||
2ddd2871 TB |
2870 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
2871 | ||
2872 | PR fortran/34907 | |
2873 | * parse.c (parse_spec): Change = into ==. | |
2874 | ||
c2916401 DF |
2875 | 2008-01-22 Daniel Franke <franke.daniel@gmail.com> |
2876 | ||
2877 | PR fortran/34915 | |
2878 | * expr.c (check_elemental): Fix check for valid data types. | |
2879 | ||
fd1935d5 TB |
2880 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
2881 | ||
2882 | PR fortran/34899 | |
2883 | * scanner.c (load_line): Support <tab><digit> continuation lines. | |
2884 | * invoke.texi (-Wtabs): Document this. | |
2885 | ||
87a64f53 PT |
2886 | 2008-01-22 Paul Thomas <pault@gcc.gnu.org> |
2887 | ||
2888 | PR fortran/34896 | |
2889 | * module.c (read_module): Set use_rename attribute. | |
2890 | ||
d68e117b TB |
2891 | 2007-01-21 Tobias Burnus <burnus@net-b.de> |
2892 | ||
2893 | PR fortran/34901 | |
2894 | * interface.c (compare_parameter): Improved error message | |
2895 | for arguments of same type and mismatched kinds. | |
2896 | ||
f5d67ede PT |
2897 | 2008-01-20 Paul Thomas <pault@gcc.gnu.org> |
2898 | ||
2899 | PR fortran/34861 | |
2900 | * resolve.c (resolve_entries): Do not do an array bounds check | |
2901 | if the result symbols are the same. | |
2902 | ||
2903 | PR fortran/34854 | |
2904 | * module.c (read_module) : Hide the symtree of the previous | |
2905 | version of the symbol if this symbol is renamed. | |
2906 | ||
f2d3cb25 PT |
2907 | 2008-01-20 Paul Thomas <pault@gcc.gnu.org> |
2908 | ||
2909 | PR fortran/34784 | |
2910 | * array.c (gfc_check_constructor_type): Clear the expression ts | |
2911 | so that the checking starts from the deepest level of array | |
2912 | constructor. | |
2913 | * primary.c (match_varspec): If an unknown type is changed to | |
2914 | default character and the attempt to match a substring fails, | |
2915 | change it back to unknown. | |
2916 | ||
2917 | PR fortran/34785 | |
2918 | * trans-array.c (gfc_add_loop_ss_code) : If ss->string_length is | |
2919 | NULL for an array constructor, use the cl.length expression to | |
2920 | build it. | |
2921 | (gfc_conv_array_parameter): Change call to gfc_evaluate_now to | |
2922 | a tree assignment. | |
2923 | ||
c613d540 TK |
2924 | 2008-01-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
2925 | ||
2926 | PR fortran/34817 | |
2927 | PR fortran/34838 | |
2928 | * iresolve.c (gfc_resolve_all): Remove conversion of mask | |
2929 | argument to kind=1 by removing call to resolve_mask_arg(). | |
2930 | (gfc_resolve_any): Likewise. | |
2931 | ||
d7e2fcd0 TB |
2932 | 2008-01-19 Tobias Burnus <burnus@net-b.de> |
2933 | ||
2934 | PR fortran/34760 | |
2935 | * primary.c (match_variable): Handle FL_UNKNOWN without | |
2936 | uneducated guessing. | |
2937 | (match_variable): Improve error message. | |
2938 | ||
a0710c29 TB |
2939 | 2008-01-18 Tobias Burnus <burnus@net-b.de> |
2940 | ||
2941 | PR fortran/32616 | |
2942 | * interface.c (get_expr_storage_size): Return storage size | |
2943 | for array element designators. | |
2944 | (compare_actual_formal): Reject unequal string sizes for | |
2945 | assumed-shape dummy arguments. And fix error message for | |
2946 | array-sections with vector subscripts. | |
2947 | ||
207bde5f JD |
2948 | 2008-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2949 | ||
2950 | PR fortran/34556 | |
2951 | * simplify.c (is_constant_array_expr): New static function that returns | |
2952 | true if the given expression is an array and is constant. | |
2953 | (gfc_simplify_reshape): Use new function. | |
2954 | ||
c0184444 L |
2955 | 2008-01-17 H.J. Lu <hongjiu.lu@intel.com> |
2956 | ||
2957 | PR fortran/33375 | |
2958 | * symbol.c (free_common_tree): Renamed to ... | |
2959 | (gfc_free_common_tree): This. Remove static. | |
2960 | (gfc_free_namespace): Updated. | |
2961 | ||
2962 | * gfortran.h (gfc_free_common_tree): New. | |
2963 | ||
2964 | * match.c (gfc_match_common): Call gfc_free_common_tree () with | |
2965 | gfc_current_ns->common_root and set gfc_current_ns->common_root | |
2966 | to NULL on syntax error. | |
2967 | ||
5cc5439e RS |
2968 | 2008-01-18 Richard Sandiford <rsandifo@nildram.co.uk> |
2969 | ||
2970 | PR fortran/34686 | |
2971 | * trans-expr.c (gfc_conv_function_call): Use proper | |
2972 | type for returned character pointers. | |
2973 | ||
1c8bcdf7 PT |
2974 | 2008-01-17 Paul Thomas <pault@gcc.gnu.org> |
2975 | ||
2976 | PR fortran/34429 | |
2977 | PR fortran/34431 | |
2978 | PR fortran/34471 | |
2979 | * decl.c : Remove gfc_function_kind_locus and | |
2980 | gfc_function_type_locus. Add gfc_matching_function. | |
2981 | (match_char_length): If matching a function and the length | |
2982 | does not match, return MATCH_YES and try again later. | |
2983 | (gfc_match_kind_spec): The same. | |
2984 | (match_char_kind): The same. | |
2985 | (gfc_match_type_spec): The same for numeric and derived types. | |
2986 | (match_prefix): Rename as gfc_match_prefix. | |
2987 | (gfc_match_function_decl): Except for function valued character | |
2988 | lengths, defer applying kind, type and charlen info until the | |
2989 | end of specification block. | |
2990 | gfortran.h (gfc_statement): Add ST_GET_FCN_CHARACTERISTICS. | |
2991 | parse.c (decode_specification_statement): New function. | |
2992 | (decode_statement): Call it when a function has kind = -1. Set | |
2993 | and reset gfc_matching function, as function statement is being | |
2994 | matched. | |
2995 | (match_deferred_characteristics): Simplify with a single call | |
2996 | to gfc_match_prefix. Do appropriate error handling. In any | |
2997 | case, make sure that kind = -1 is reset or corrected. | |
2998 | (parse_spec): Call above on seeing ST_GET_FCN_CHARACTERISTICS. | |
2999 | Throw an error if kind = -1 after last specification statement. | |
3000 | parse.h : Prototype for gfc_match_prefix. | |
3001 | ||
6da0839a TB |
3002 | 2008-01-16 Tobias Burnus <burnus@net-b.de> |
3003 | ||
3004 | PR fortran/34796 | |
3005 | * interface.c (compare_parameter): Allow AS_DEFERRED array | |
3006 | elements and reject attr.pointer array elemenents. | |
3007 | (get_expr_storage_size): Return storage size of elements of | |
3008 | assumed-shape and pointer arrays. | |
3009 | ||
e0e8ce7a SP |
3010 | 2008-01-15 Sebastian Pop <sebastian.pop@amd.com> |
3011 | ||
3012 | * f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins | |
3013 | for flag_tree_parallelize_loops. | |
3014 | ||
90469382 TK |
3015 | 2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
3016 | ||
3017 | PR libfortran/34671 | |
3018 | * iresolve.c (gfc_resolve_all): Call resolve_mask_arg. | |
3019 | (gfc_resolve_any): Likewise. | |
3020 | (gfc_resolve_count): Likewise. Don't append kind of | |
3021 | argument to function name. | |
3022 | ||
5ad6345e TB |
3023 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
3024 | ||
3025 | PR fortran/34665 | |
3026 | * resolve.c (resolve_actual_arglist): For expressions, | |
3027 | also check for assume-sized arrays. | |
3028 | * interface.c (compare_parameter): Move F2003 character checks | |
3029 | here, print error messages here, reject elements of | |
3030 | assumed-shape array as argument to dummy arrays. | |
3031 | (compare_actual_formal): Update for the changes above. | |
3032 | ||
083de129 TB |
3033 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
3034 | ||
3035 | PR fortran/34763 | |
3036 | * decl.c (contained_procedure): Only check directly preceeding state. | |
3037 | ||
86288ff0 TB |
3038 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
3039 | ||
3040 | PR fortran/34759 | |
3041 | * check.c (gfc_check_shape): Accept array ranges of | |
3042 | assumed-size arrays. | |
3043 | ||
9a528648 JD |
3044 | 2008-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3045 | ||
9a27aa90 | 3046 | PR fortran/34432 |
9a528648 JD |
3047 | * match.c (gfc_match_name): Don't error if leading character is a '(', |
3048 | just return MATCH_NO. | |
3049 | ||
bc9d9552 JD |
3050 | 2008-01-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3051 | ||
3052 | PR fortran/34722 | |
3053 | * trans-io.c (create_dummy_iostat): Commit the symbol. | |
3054 | ||
d9183bb7 PT |
3055 | 2008-01-11 Paul Thomas <pault@gcc.gnu.org> |
3056 | ||
3057 | PR fortran/34537 | |
3058 | * simplify.c (gfc_simplify_transfer): Return NULL if the size | |
3059 | of the element is unavailable and only assign character length | |
3060 | to the result, if 'mold' is constant. | |
3061 | ||
32be9f94 PT |
3062 | 2008-01-10 Paul Thomas <pault@gcc.gnu.org> |
3063 | ||
3064 | PR fortran/34396 | |
3065 | * trans-array.c (gfc_trans_array_ctor_element): Use gfc_trans_string_copy | |
3066 | to assign strings and perform bounds checks on the string length. | |
3067 | (get_array_ctor_strlen): Remove bounds checking. | |
3068 | (gfc_trans_array_constructor): Initialize string length checking. | |
3069 | * trans-array.h : Add prototype for gfc_trans_string_copy. | |
3070 | ||
416a8af4 RG |
3071 | 2008-01-08 Richard Guenther <rguenther@suse.de> |
3072 | ||
3073 | PR fortran/34706 | |
3074 | PR tree-optimization/34683 | |
3075 | * trans-types.c (gfc_get_array_type_bounds): Use an array type | |
3076 | with known size for accesses if that is known. | |
3077 | ||
0c6ce8b0 PT |
3078 | 2008-01-08 Paul Thomas <pault@gcc.gnu.org> |
3079 | ||
3080 | PR fortran/34476 | |
3081 | * expr.c (find_array_element): Check that the array bounds are | |
3082 | constant before using them. Use lower, as well as upper bound. | |
3083 | (check_restricted): Allow implied index variable. | |
3084 | ||
3672065a PT |
3085 | 2008-01-08 Paul Thomas <pault@gcc.gnu.org> |
3086 | ||
3087 | PR fortran/34681 | |
3088 | * trans_array.c (gfc_trans_deferred_array): Do not null the | |
3089 | data pointer on entering scope, nor deallocate it on leaving | |
3090 | scope, if the symbol has the 'save' attribute. | |
3091 | ||
3092 | PR fortran/34704 | |
3093 | * trans_decl.c (gfc_finish_var_decl): Derived types with | |
3094 | allocatable components and an initializer must be TREE_STATIC. | |
3095 | ||
3a7b9fda PT |
3096 | 2008-01-07 Paul Thomas <pault@gcc.gnu.org> |
3097 | ||
3098 | PR fortran/34672 | |
3099 | * module.c (write_generic): Rewrite completely. | |
3100 | (write_module): Change call to write_generic. | |
3101 | ||
bd5db9de JD |
3102 | 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3103 | ||
3104 | PR fortran/34659 | |
3105 | * scanner.c (load_line): Do not count ' ' as printable when checking for | |
3106 | continuations. | |
3107 | ||
5989df83 | 3108 | 2008-01-06 Paul Thomas <pault@gcc.gnu.org> |
ac61ba6a | 3109 | |
5989df83 PT |
3110 | PR fortran/34545 |
3111 | * module.c (load_needed): If the namespace has no proc_name | |
3112 | give it the module symbol. | |
ac61ba6a | 3113 | |
9b09c4de JD |
3114 | 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3115 | ||
3116 | PR fortran/34387 | |
3117 | * trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert | |
3118 | the dummy variable expression, test for NULL, and pass the variable | |
3119 | address to the called function. | |
3120 | ||
346ecba8 TB |
3121 | 2007-01-06 Tobias Burnus <burnus@net-b.de> |
3122 | ||
3123 | PR fortran/34658 | |
3124 | * match.c (gfc_match_common): Remove blank common in | |
3125 | DATA BLOCK warning. | |
3126 | * resolve.c (resolve_common_vars): New function. | |
3127 | (resolve_common_blocks): Move checks to resolve_common_vars | |
3128 | and invoke that function. | |
3129 | (resolve_types): Call resolve_common_vars for blank commons. | |
3130 | ||
cddcf0d4 TB |
3131 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
3132 | ||
3133 | PR fortran/34655 | |
3134 | * resolve.c (resolve_equivalence_derived): Reject derived types with | |
3135 | default initialization if equivalenced with COMMON variable. | |
3136 | ||
89c32b0f TB |
3137 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
3138 | ||
3139 | PR fortran/34654 | |
3140 | * io.c (check_io_constraints): Disallow unformatted I/O for | |
3141 | internal units. | |
3142 | ||
242633d6 TB |
3143 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
3144 | ||
3145 | PR fortran/34660 | |
3146 | * resolve.c (resolve_formal_arglist): Reject dummy procedure in | |
3147 | ELEMENTAL functions. | |
3148 | ||
a5c655e8 TB |
3149 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
3150 | ||
3151 | PR fortran/34662 | |
3152 | * interface.c (compare_actual_formal): Reject parameter | |
3153 | actual to intent(out) dummy. | |
3154 | ||
3c721513 TB |
3155 | 2008-01-04 Tobias Burnus <burnus@net-b.de> |
3156 | ||
3157 | PR fortran/34557 | |
3158 | * primary.c (match_varspec): Gobble whitespace before | |
3159 | checking for '('. |