]>
Commit | Line | Data |
---|---|---|
d8a07487 JM |
1 | 2010-11-10 Joseph Myers <joseph@codesourcery.com> |
2 | ||
3 | * trans-array.c (gfc_trans_deferred_array): Use "front-end" | |
4 | spelling in diagnostic. | |
5 | * trans.c (gfc_allocate_array_with_status): Add missing space in | |
6 | diagnostic. | |
7 | ||
d5478783 JM |
8 | 2010-11-10 Joseph Myers <joseph@codesourcery.com> |
9 | ||
10 | * cpp.c (asm_file_name): Don't declare here. | |
11 | ||
1d3a84ce TB |
12 | 2010-11-10 Tobias Burnus <burnus@net-b.de> |
13 | ||
14 | PR fortran/46411 | |
15 | * intrinsic.c (gfc_intrinsic_sub_interface): Check for attr.pure | |
16 | and not for attr.elemental. | |
17 | * intrinsic.texi (move_alloc): Document as being pure. | |
18 | ||
0149d8cc TB |
19 | 2010-11-10 Tobias Burnus <burnus@net-b.de> |
20 | ||
21 | PR fortran/46244 | |
22 | * resolve.c (resolve_fl_derived): Don't allow CLASS in | |
23 | sequence/BIND(C) types. | |
24 | ||
83f3bd62 JD |
25 | 2010-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
26 | Mikael Morin <mikael@gcc.gnu.org> | |
27 | ||
28 | PR fortran/46331 | |
29 | * intrinsic.c: Correctly set the pure attributes for intrinsic | |
30 | functions. | |
31 | * expr.c (check_specification_function): Remove this function and move | |
32 | its code into gfc_is_constant_expr. (gfc_is_constant_expr): Change the | |
33 | order of checks by checking for non-constant arguments first. Then, | |
34 | check for initialization functions, followed by intrinsics. | |
35 | ||
b04533af JW |
36 | 2010-11-09 Janus Weil <janus@gcc.gnu.org> |
37 | ||
38 | PR fortran/46313 | |
39 | * gfortran.h (gfc_add_data_component,gfc_add_vptr_component, | |
40 | gfc_add_hash_component,gfc_add_size_component, | |
41 | gfc_add_def_init_component): New macros. | |
42 | * class.c (gfc_add_component_ref): Renamed data component. | |
43 | (get_unique_type_string): New function. | |
44 | (gfc_build_class_symbol): Use 'get_unique_type_string' to construct | |
45 | uniques names for the class containers. Rename components. | |
46 | (gfc_find_derived_vtab): Use 'get_unique_type_string' to construct | |
47 | uniques names for the vtab symbols. Rename components. | |
48 | * decl.c (attr_decl1): Renamed class container components. | |
49 | * iresolve.c (gfc_resolve_extends_type_of): Ditto. | |
50 | * match.c (select_type_set_tmp): Renamed temporaries. | |
51 | * module.c (read_module): Renamed vtab and vtype symbols. | |
52 | * resolve.c (resolve_structure_cons,resolve_typebound_function, | |
53 | resolve_typebound_subroutine,resolve_deallocate_expr, | |
54 | resolve_select_type,resolve_fl_derived): Renamed class container and | |
55 | vtab components. | |
56 | * trans-array.c (structure_alloc_comps): Ditto. | |
57 | * trans-decl.c (gfc_trans_deferred_vars): Ditto. | |
58 | * trans-expr.c (gfc_conv_derived_to_class,gfc_conv_structure, | |
59 | gfc_trans_class_init_assign,gfc_trans_class_assign): Ditto. | |
60 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof, | |
61 | gfc_conv_intrinsic_storage_size,gfc_conv_allocated,gfc_conv_associated, | |
62 | gfc_conv_same_type_as): Ditto. | |
63 | * trans-stmt.c (gfc_trans_allocate): Ditto. | |
64 | ||
f585b0d3 JD |
65 | 2010-11-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
66 | ||
67 | PR fortran/43899 | |
68 | * trans-decl.c (generate_local_decl): Do not generate unused warning | |
69 | for variables in namelists. | |
70 | ||
17643884 JW |
71 | 2010-11-08 Janus Weil <janus@gcc.gnu.org> |
72 | ||
73 | PR fortran/46344 | |
74 | * decl.c (build_struct): Build vtab immediately if derived type | |
75 | has already been declared. | |
76 | ||
78a1d149 JW |
77 | 2010-11-08 Janus Weil <janus@gcc.gnu.org> |
78 | ||
79 | PR fortran/46344 | |
80 | * trans-types.c (gfc_copy_dt_decls_ifequal): Handle CLASS components. | |
81 | ||
fbc7f9df JW |
82 | 2010-11-06 Janus Weil <janus@gcc.gnu.org> |
83 | ||
84 | PR fortran/46330 | |
85 | * trans-expr.c (gfc_trans_class_assign): Find 'vtab' symbol in correct | |
86 | namespace. | |
87 | ||
611c64f0 JW |
88 | 2010-11-05 Janus Weil <janus@gcc.gnu.org> |
89 | ||
90 | PR fortran/45451 | |
91 | PR fortran/46174 | |
92 | * class.c (gfc_find_derived_vtab): Improved search for existing vtab. | |
93 | Add component '$copy' to vtype symbol for polymorphic deep copying. | |
94 | * expr.c (gfc_check_pointer_assign): Make sure the vtab is generated | |
95 | during resolution stage. | |
96 | * resolve.c (resolve_codes): Don't resolve code if namespace is already | |
97 | resolved. | |
98 | * trans-stmt.c (gfc_trans_allocate): Call '$copy' procedure for | |
99 | polymorphic ALLOCATE statements with SOURCE. | |
100 | ||
8cf8ca52 TK |
101 | 2010-11-03 Thomas Koenig <tkoenig@gcc.gnu.org> |
102 | Paul Thomas <pault@gcc.gnu.org> | |
103 | ||
104 | * dump-parse-tree.c (code_indent): Take label into acount | |
105 | when calculating indent. | |
106 | (show_typespec): Also display class. | |
107 | (show_attr): Add module name to argument. | |
108 | Don't show UNKNOWN for flavor, access and save. Don't show | |
109 | SAVE_NONE. Don't show INTENT_UNKNOWN. Show module for use | |
110 | association. Show intent only for dummy arguments. | |
111 | Set length of shown symbol names to minimum of 12. | |
112 | Show attributes header. | |
113 | (show_symbol): Adjust show_level. | |
114 | (show_symtree): Clear up display for ambiguous. Show if symbol | |
115 | was imported from namespace. | |
116 | (show_code_node): Clear up indenting. Traverse symtree and | |
117 | show code directly instead of calling show_namespace. | |
118 | ||
e8160c9a NF |
119 | 2010-11-02 Nathan Froyd <froydnj@codesourcery.com> |
120 | ||
121 | * trans-decl.c (add_argument_checking): Use build_zero_cst instead of | |
122 | fold_convert. | |
123 | * trans-expr.c (gfc_conv_missing_dummy, fill_with_spaces): Likewise. | |
124 | * trans-stmt.c (gfc_trans_do): Likewise. | |
125 | ||
e69afb29 SK |
126 | 2010-11-02 Steven G. Kargl < kargl@gcc.gnu.org> |
127 | Tobias Burnus <burnus@net-b.de> | |
128 | ||
129 | PR fortran/45170 | |
130 | * array.c (gfc_match_array_constructor): Reject deferred type | |
131 | parameter (DTP) in type-spec. | |
132 | * decl.c (char_len_param_value, match_char_length, | |
133 | gfc_match_char_spec, build_sym, variable_decl, | |
134 | enumerator_decl): Support DTP. | |
135 | * expr.c (check_inquiry): Fix check due to support for DTP. | |
136 | * gfortran.h (gfc_typespec): Add Boolean 'deferred'. | |
137 | * misc.c (gfc_clear_ts): Set it to false. | |
138 | * match.c (gfc_match_allocate): Support DTP. | |
139 | * resolve.c (resolve_allocate_expr): Not-implemented error for DTP. | |
140 | (resolve_fl_variable): Add DTP constraint check. | |
141 | * trans-decl.c (gfc_trans_deferred_vars): Add not-implemented | |
142 | error for DTP. | |
143 | ||
1fccc6c3 SK |
144 | 2010-11-01 Steven G. Kargl <kargl@gcc.gnu.org> |
145 | ||
146 | PR fortran/46152 | |
147 | * fortran/match.c (match_derived_type_spec): Reoplace gfc_match_symbol | |
148 | with a gfc_find_symbol to prevent namespace pollution. Remove dead | |
149 | code. | |
150 | (match_type_spec): Remove parsing of '::'. Collapse character | |
151 | kind checking to one location. | |
152 | (gfc_match_allocate): Use correct locus in error message. | |
153 | ||
1607a827 TK |
154 | 2010-10-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
155 | ||
156 | * gfortran.h (gfc_option_t): Replace dump_parse_tree by | |
157 | dump_fortran_original and add dump_fortran_optimized. | |
158 | * lang.opt: Add fdump-fortran-original and | |
159 | fdump-fortran-optimized. Document that fdump-parse-tree is | |
160 | deprecated. | |
161 | * gfortran.texi: Add -fdump-fortran-original and | |
162 | -fdump-fortran-optimized. -fdump-parse-tree is deprecated. | |
163 | * frontend-passes.c (gfc_run_passes): If optimizing and | |
164 | if gfc_option.dump_fortran_optimized is set, dump the parse tree | |
165 | after optimization. | |
166 | * parse.c: Rename gfc_option.dump_parse_tree to | |
167 | gfc_option.dump_fortran_original. | |
168 | * options.c (gfc_init_options): Rename gfc_option.dump_parse_tree | |
169 | to gfc_option.dump_fortran_original and handle | |
170 | gfc_option.dump_fortran_optimize. | |
171 | (gfc_post_options): Rename gfc_option.dump_parse_tree | |
172 | to gfc_option.dump_fortran_original. | |
173 | (gfc_handle_option): Rename OPT_fdump_parse_tree to | |
174 | OPT_fdump_fortran_original and gfc_option.dump_parse_tree | |
175 | to gfc_option.dump_fortran_original. Handle | |
176 | OPT_fdump_fortran_optimized. | |
177 | ||
2b603773 JW |
178 | 2010-10-30 Janus Weil <janus@gcc.gnu.org> |
179 | ||
180 | PR fortran/44917 | |
181 | PR fortran/44926 | |
182 | PR fortran/46196 | |
183 | * interface.c (count_types_test): Symmetrize type check. | |
184 | (generic_correspondence): Ditto. | |
185 | ||
5ac13b8e JW |
186 | 2010-10-27 Janus Weil <janus@gcc.gnu.org> |
187 | ||
188 | PR fortran/46161 | |
189 | * interface.c (compare_allocatable): Handle polymorphic allocatables. | |
190 | (compare_parameter): Add two error messages for polymorphic dummies. | |
191 | ||
2c807128 JW |
192 | 2010-10-26 Janus Weil <janus@gcc.gnu.org> |
193 | ||
194 | PR fortran/42647 | |
195 | * trans.h (gfc_deallocate_scalar_with_status): New prototype. | |
196 | * trans.c (gfc_deallocate_scalar_with_status): New function for | |
197 | deallocation of allocatable scalars. | |
198 | * trans-array.c (structure_alloc_comps): Call it here ... | |
199 | * trans-decl.c (gfc_trans_deferred_vars): ... here ... | |
200 | * trans-stmt.c (gfc_trans_deallocate): ... and here. | |
201 | ||
6739e9ec TB |
202 | 2010-10-26 Tobias Burnus <burnus@net-b.de> |
203 | ||
204 | PR fortran/45451 | |
205 | * trans-stmt.c (gfc_trans_allocate): Do a deep-copy for SOURCE=. | |
206 | ||
207 | PR fortran/43018 | |
208 | * trans-array.c (duplicate_allocatable): Use size of type and not | |
209 | the size of the pointer to the type. | |
210 | ||
570f4691 SK |
211 | 2010-10-25 Steven G. Kargl <kargl@gcc.gnu.org> |
212 | ||
213 | PR fortran/46140 | |
214 | * fortran/scanner.c (include_line): Check return value of load_file. | |
215 | ||
67f67405 TB |
216 | 2010-10-23 Tobias Burnus <burnus@net-b.de> |
217 | ||
218 | PR fortran/46122 | |
219 | * expr.c (gfc_check_vardef_context): Fix PROTECTED check. | |
220 | ||
837c4b78 JW |
221 | 2010-10-21 Janus Weil <janus@gcc.gnu.org> |
222 | ||
223 | PR fortran/46060 | |
224 | * match.h (gfc_matching_ptr_assignment): New global variable to indicate | |
225 | we're currently matching a (non-proc-)pointer assignment. | |
226 | * decl.c (match_pointer_init): Set it. | |
227 | * match.c (gfc_match_pointer_assignment): Ditto. | |
228 | * primary.c (matching_actual_arglist): New global variable to indicate | |
229 | we're currently matching an actual argument list. | |
230 | (gfc_match_actual_arglist): Set it. | |
231 | (gfc_match_varspec): Reject procedure pointer component calls with | |
232 | missing argument list. | |
233 | ||
acee8486 JW |
234 | 2010-10-21 Janus Weil <janus@gcc.gnu.org> |
235 | ||
236 | PR fortran/46067 | |
237 | * interface.c (gfc_compare_interfaces): Switch arguments of type | |
238 | comparison (important for polymorphic variables). | |
239 | ||
9b565d65 TB |
240 | 2010-10-21 Tobias Burnus <burnus@net-b.de> |
241 | ||
242 | PR fortran/46100 | |
243 | * expr.c (gfc_check_vardef_context): Treat pointer functions | |
244 | as variables. | |
245 | ||
cea59ace JD |
246 | 2010-10-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
247 | ||
248 | PR fortran/46079 | |
249 | * trans_stmt.c (gfc_trans_stop): Fix whitespace. Build a call to new | |
250 | F08 numeric stop function. | |
251 | * trans.h: Add declaration for gfor_fndecl_stop_numeric_f08. | |
252 | * trans-decl.c (gfc_build_builtin_function_decls): Build declaration | |
253 | for stop_numeric_f08. | |
254 | ||
a11930ba JD |
255 | 2010-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
256 | ||
257 | * gfortran.h: Remove definition of bt enumerator. | |
258 | * libgfortran.h: Add bt enumerator type alighned with defintion. | |
259 | Remove the dtype enumerator, no longer used. | |
260 | previously given in libgfortran/io.h | |
261 | * trans-types.c: Use new bt enumerator. | |
262 | * trans-io.c: Likewise. | |
263 | ||
d4d9b0a6 TK |
264 | 2010-10-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
265 | ||
266 | * trans-io.c (gfc_build_io_library_fndecls): | |
267 | Array descriptor arguments to transfer_array can be | |
268 | dereferenced recursively. | |
269 | ||
6eb6875d TK |
270 | 2010-10-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
271 | ||
272 | PR fortran/20165 | |
273 | PR fortran/31593 | |
274 | PR fortran/43665 | |
275 | * trans-io.c (enum iocall): Add IOCALL_X_INTEGER_WRITE, | |
276 | IOCALL_X_LOGICAL_WRITE, IOCALL_X_CHARACTER_WRITE, | |
277 | IOCALL_X_CHARACTER_WIDE_WRIE, IOCALL_X_REAL_WRITE, | |
278 | IOCALL_X_COMPLEX_WRITE and IOCALL_X_ARRAY_WRITE. | |
279 | (gfc_build_io_library_fndecls): Add corresponding function | |
280 | decls. | |
281 | (transfer_expr): If the current transfer is a READ, use | |
282 | the iocall with the original version, otherwise the version | |
283 | with _WRITE. | |
284 | (transfer_array_desc): Likewise. | |
a11930ba | 285 | |
55bd9c35 TB |
286 | 2010-10-15 Tobias Burnus <burnus@net-b.de> |
287 | ||
288 | PR fortran/45186 | |
289 | * trans.h (gfc_add_modify_loc, gfc_evaluate_now_loc): New prototypes. | |
290 | (gfc_trans_runtime_error_vararg): Remove prototype. | |
291 | * trans.c (gfc_add_modify_loc, gfc_evaluate_now_loc): New functions. | |
292 | (gfc_add_modify, gfc_evaluate_now): Use them. | |
293 | (trans_runtime_error_vararg): Renamed from | |
294 | gfc_trans_runtime_error_vararg, made static and use locus. | |
295 | (gfc_trans_runtime_error): Use it. | |
296 | (gfc_trans_runtime_check): Ditto and make use of locus. | |
297 | * trans-stmt.c (gfc_trans_if_1, gfc_trans_simple_do, | |
298 | gfc_trans_do, gfc_trans_do_while): Improve line number | |
299 | associated with generated expressions. | |
300 | ||
a81f4b67 DK |
301 | 2010-10-12 Daniel Kraft <d@domob.eu> |
302 | ||
303 | PR fortran/38936 | |
304 | * parse.c (parse_associate): Set typespec of associate-name if that of | |
305 | the target is already available. | |
306 | ||
d3735479 JW |
307 | 2010-10-10 Janus Weil <janus@gcc.gnu.org> |
308 | ||
309 | PR fortran/45961 | |
310 | * resolve.c (resolve_typebound_function): Bugfix for type-bound | |
311 | operators. | |
312 | ||
32af57e2 TK |
313 | 2010-10-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
314 | ||
315 | * frontend-passes.c: Include opts.h. | |
316 | (optimize_comparison): Renamed from optimize_equality. | |
317 | Change second argument to operation to be compared. | |
318 | Use flag_finite_math_only to avoid comparing REAL and | |
319 | COMPLEX only when NANs are honored. Simplify comparing | |
320 | of string concatenations where left or right operands are | |
321 | equal. Simplify all comparison operations, based on the result | |
322 | of gfc_dep_compare_expr. | |
323 | * dependency.c: Include arith.h. | |
324 | (gfc_are_identical_variables): Volatile variables should not | |
325 | compare equal to themselves. | |
326 | (gfc_dep_compare_expr): Handle string constants and string | |
327 | concatenations. | |
328 | ||
a75bfaa6 JM |
329 | 2010-10-08 Joseph Myers <joseph@codesourcery.com> |
330 | ||
331 | * f95-lang.c (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define. | |
332 | * gfortran.h (gfc_init_options_struct): Declare. | |
333 | * options.c (gfc_init_options_struct): New. Split out from | |
334 | gfc_init_options. | |
335 | ||
061e60bd JW |
336 | 2010-10-07 Janus Weil <janus@gcc.gnu.org> |
337 | ||
338 | PR fortran/45933 | |
339 | * resolve.c (resolve_typebound_function): Use correct declared type | |
340 | for type-bound operators. | |
341 | ||
9f23af48 MM |
342 | 2010-10-07 Mikael Morin <mikael@gcc.gnu.org> |
343 | ||
344 | PR fortran/45916 | |
345 | Revert revision 165026: | |
346 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> | |
347 | ||
348 | * decl.c (match_procedure_in_type): Assertify if conditions. | |
349 | ||
6cf860a2 JD |
350 | 2010-10-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
351 | ||
352 | PR fortran/45889 | |
353 | * resolve.c (resolve_transfer): Use expression inside parenthesis to | |
354 | find acutal component to be transgferred. | |
355 | ||
c956e9af MM |
356 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
357 | ||
358 | * trans-stmt.c (gfc_trans_allocate): free lhs expr. | |
359 | ||
fcba5509 MM |
360 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
361 | ||
362 | * trans-array.c (gfc_free_ss_chain): Made non-static. | |
363 | * trans-array.h (gfc_free_ss_chain): New prototype. | |
364 | * trans-stmt.c (gfc_trans_where_2): Free ss chains. | |
365 | ||
cebd5ce4 MM |
366 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
367 | ||
368 | * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Also free symbol's | |
369 | subcomponents. | |
370 | ||
3231fe90 MM |
371 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
372 | ||
373 | * trans-stmt.c (gfc_trans_forall_1): Free forall struct at the end. | |
374 | ||
c12ee5df MM |
375 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
376 | ||
377 | * trans-expr.c (get_proc_ptr_comp): Restore initial expression type | |
378 | before calling gfc_free_expr. | |
379 | ||
3db5d687 MM |
380 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
381 | ||
382 | * trans-array.c (gfc_conv_tmp_array_ref): Add factorized call to | |
383 | gfc_advance_se_ss_chain. | |
384 | * trans-expr.c (gfc_conv_subref_array_ref, gfc_conv_procedure_call, | |
385 | gfc_conv_array_constructor_expr, gfc_trans_assignment_1): Remove | |
386 | calls to gfc_advance_se_ss_chain after gfc_conv_tmp_array_ref. | |
387 | * trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto. | |
388 | * trans-stmt.c (gfc_trans_where_assign, gfc_trans_where_3): Ditto. | |
389 | ||
363aab21 MM |
390 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
391 | ||
392 | * trans.c (gfc_restore_backend_locus): New function. | |
393 | (gfc_get_backend_locus): Renamed to ... | |
394 | (gfc_save_backend_locus): ... this. | |
395 | * trans.h (gfc_restore_backend_locus, gfc_get_backend_locus, | |
396 | gfc_save_backend_locus): Same. | |
397 | * trans-array.c (gfc_trans_g77_array, gfc_trans_dummy_array_bias, | |
398 | gfc_trans_deferred_array): Rename gfc_get_backend_locus to | |
399 | gfc_save_backend_locus. | |
400 | (gfc_trans_dummy_array_bias): Call gfc_restore_backend_locus at the | |
401 | end. | |
402 | (gfc_trans_g77_array, gfc_trans_deferred_array): Use | |
403 | gfc_restore_backend_locus instead of gfc_set_backend_locus. | |
404 | (gfc_trans_deferred_array): Call gfc_restore_backend_locus on early | |
405 | return. | |
406 | * trans-decl.c (gfc_get_extern_function_decl, build_entry_thunks, | |
407 | gfc_trans_deferred_vars): | |
408 | Rename gfc_get_backend_locus to gfc_save_backend_locus. | |
409 | Use gfc_restore_backend_locus insted of gfc_set_backend_locus. | |
410 | ||
1b4544b7 MM |
411 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
412 | ||
413 | * trans-array.c (gfc_build_constant_array_constructor): Free array | |
414 | spec when done. | |
415 | ||
9ce32b25 MM |
416 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
417 | ||
418 | * symbol.c (gfc_copy_formal_args_ppc): Free previous formal arg list | |
419 | before overwriting it. | |
420 | ||
40a33e3f MM |
421 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
422 | ||
423 | * array.c (gfc_match_array_spec): Don't re-initialize cleared struct. | |
424 | * symbol.c (gen_shape_param): Ditto. | |
425 | ||
1b02e401 MM |
426 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
427 | ||
428 | * symbol.c (free_entry_list): New function. | |
429 | (gfc_free_namespace): Free list of entries. | |
430 | ||
4f2b3d28 MM |
431 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
432 | ||
433 | * symbol.c (free_components): Free list of formal args and formal | |
434 | namespace. | |
435 | ||
9231ff56 MM |
436 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
437 | ||
438 | * simplify.c (gfc_simplify_size): Clear temporary mpz int before | |
439 | returning. | |
440 | ||
f372a0c0 MM |
441 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
442 | ||
443 | * resolve.c (add_dt_to_dt_list): Remove unneeded if. | |
444 | ||
99b41d52 MM |
445 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
446 | ||
447 | * resolve.c (check_typebound_baseobject): Free local expr before | |
448 | returning. | |
449 | ||
3bf9ef1b MM |
450 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
451 | ||
452 | * primary.c (gfc_match_structure_constructor): Invert the assert logic. | |
453 | ||
3d2e4fe6 MM |
454 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
455 | ||
456 | * primary.c (gfc_free_structure_ctor_component): Also free the | |
457 | component structure itself. | |
458 | ||
5919751c MM |
459 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
460 | ||
461 | * module.c (gfc_use_module): Free atom_string when done with it. | |
462 | ||
3e212b5d MM |
463 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
464 | ||
465 | * module.c (read_module): Remove useless string duplication. | |
466 | ||
476bed66 MM |
467 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
468 | ||
469 | * gfortranspec.c (append_arg): Remove commented code. | |
470 | ||
c9ab240e MM |
471 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
472 | ||
473 | * decl.c (match_procedure_in_type): Assertify if conditions. | |
474 | ||
adb18384 MM |
475 | 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> |
476 | ||
477 | * cpp.c (gfc_cpp_post_options): Don't create a cpp reader if | |
478 | preprocessing is disabled. | |
479 | ||
d724c876 JJ |
480 | 2010-10-06 Jakub Jelinek <jakub@redhat.com> |
481 | ||
482 | PR middle-end/45838 | |
483 | * f95-lang.c (ATTR_NOTHROW_LEAF_LIST, ATTR_CONST_NOTHROW_LEAF_LIST, | |
484 | ATTR_NOTHROW_LIST, ATTR_CONST_NOTHROW_LIST): Define. | |
485 | (gfc_define_builtin): Change last argument to int bitmask from bool, | |
486 | control addition of TREE_NOTHROW and leaf attribute as well. | |
487 | (DO_DEFINE_MATH_BUILTIN): Adjust callers. | |
488 | (gfc_init_builtin_functions): Likewise. Remove | |
489 | ATTR_{,CONST_}NOTHROW_LIST enum. | |
490 | ||
a90163e9 AK |
491 | 2010-10-04 Andi Kleen <ak@linux.intel.com> |
492 | ||
493 | * Make-lang.in (gfortran, f951): Add + to build rule. | |
494 | ||
e5b16755 RG |
495 | 2010-10-04 Richard Guenther <rguenther@suse.de> |
496 | ||
497 | * f95-lang.c (current_translation_unit): New global variable. | |
498 | (gfc_create_decls): Build a translation-unit decl. | |
499 | (pushdecl): In the global binding-level use the | |
500 | translation-unit decl as DECL_CONTEXT. | |
501 | * trans-decl.c (gfc_get_symbol_decl): Use DECL_FILE_SCOPE_P. | |
502 | (build_function_decl): Likewise. Delay setting the assembler | |
503 | name, leave setting of DECL_CONTEXT to pushdecl. | |
504 | (trans_function_start): Use DECL_FILE_SCOPE_P. | |
505 | (gfc_create_module_variable): Likewise. Remove questionable | |
506 | asserts. | |
507 | * trans.c (gfc_generate_module_code): Likewise. | |
508 | ||
82a1c2fe FXC |
509 | 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
510 | ||
511 | * cpp.c (cpp_define_builtins): Call functions from cppbuiltin.c | |
512 | instead of duplicating code. | |
513 | * Make-lang.in: Add dependency on cppbuiltin.h. Don't define | |
514 | BASEVER. | |
515 | ||
8b932a71 JW |
516 | 2010-10-02 Janus Weil <janus@gcc.gnu.org> |
517 | ||
518 | PR fortran/45748 | |
519 | * resolve.c (resolve_formal_arglist): Avoid setting default type for | |
520 | formal arguments of intrinsic procedures. | |
521 | ||
03d79dc3 JW |
522 | 2010-09-30 Janus Weil <janus@gcc.gnu.org> |
523 | ||
524 | PR fortran/45828 | |
525 | * resolve.c (resolve_allocate_expr): Do not use | |
526 | 'gfc_has_default_initializer'. | |
527 | ||
e9853e1c TB |
528 | 2010-09-30 Tobias Burnus <burnus@net-b.de> |
529 | ||
530 | * gfortran.tex (Fortran 2008 status): Update list of | |
531 | implemented features. | |
532 | ||
f0036cca JM |
533 | 2010-09-29 Joseph Myers <joseph@codesourcery.com> |
534 | ||
535 | * lang.opt: Don't use VarExists. | |
536 | ||
e3339d0f JM |
537 | 2010-09-29 Joseph Myers <joseph@codesourcery.com> |
538 | ||
539 | * cpp.c (cpp_define_builtins): Update names of gfc_option_t | |
540 | members. | |
541 | (gfc_cpp_post_options): Update names of cpp_options members. | |
542 | (cb_cpp_error): Update names of diagnostic_context members. | |
543 | * f95-lang.c (gfc_init_builtin_functions): Update names of | |
544 | gfc_option_t members. | |
545 | * gfortran.h (gfc_option_t): Rename warn_conversion and | |
546 | flag_openmp. | |
547 | * intrinsic.c (gfc_convert_type_warn): Update names of | |
548 | gfc_option_t members. | |
549 | * options.c (gfc_init_options, gfc_post_options, set_Wall, | |
550 | gfc_handle_option): Update names of gfc_option_t members. | |
551 | * parse.c (next_free, next_fixed): Update names of gfc_option_t | |
552 | members. | |
553 | * scanner.c (pedantic): Remove extern declaration. | |
554 | (skip_free_comments, skip_fixed_comments, include_line): Update | |
555 | names of gfc_option_t members. | |
556 | * trans-decl.c (gfc_generate_function_code): Update names of | |
557 | gfc_option_t members. | |
558 | ||
41804a5b TB |
559 | 2010-09-28 Tobias Burnus <burnus@net-b.de> |
560 | ||
561 | PR fortran/40569 | |
562 | PR fortran/40568 | |
563 | * intrinsic.c (add_functions): Make compiler_version and | |
564 | compiler_options CLASS_INQUIRY. | |
565 | * gfortran.h (gfc_get_option_string): New prototype. | |
566 | * intrinsic.texi (COMPILER_VERSION, COMPILER_OPTIONS): | |
567 | Add documentation. | |
568 | (C_SIZEOF): Mark as inquiry function of ISO_C_BINDING. | |
569 | (ISO_FORTRAN_ENV): Refer to COMPILER_VERSION and COMPILER_OPTIONS. | |
570 | (ISO_C_BINDING): Refer to C_SIZEOF. | |
571 | * options.c (gfc_get_option_string): New function. | |
572 | * simplify.c (gfc_simplify_compiler_options): Use it. | |
573 | (gfc_simplify_compiler_version): Include compiler name. | |
574 | ||
0d6e14fd JH |
575 | 2010-09-28 Jan Hubicka <jh@suse.cz> |
576 | ||
577 | * f95-lang.c (gfc_define_builtin): Make leaf. | |
578 | (gfc_init_builtin_functions): Handle only ATTR_CONST_NOTHROW_LEAF_LIST | |
579 | and ATTR_NOTHROW_LEAF_LIST. | |
580 | (DEF_SYNC_BUILTIN): Check ATTR_CONST_NOTHROW_LEAF_LIST. | |
581 | (DEF_GOMP_BUILTIN): Likewise. | |
582 | ||
4ed5664e TB |
583 | 2010-09-28 Tobias Burnus <burnus@net-b.de> |
584 | ||
585 | PR fortran/45756 | |
586 | * trans-decl.c (gfc_get_symbol_decl): Use gsym for decl of | |
587 | module parameters. | |
588 | ||
d000aa67 TB |
589 | 2010-09-27 Tobias Burnus <burnus@net-b.de> |
590 | ||
591 | PR fortran/40569 | |
592 | PR fortran/40568 | |
593 | * intrinsic.h (gfc_simplify_compiler_options, | |
594 | gfc_simplify_compiler_version): New prototypes. | |
595 | * intrinsic.c (gfc_intrinsic_function_by_id, | |
596 | make_from_module): New functions. | |
597 | (gfc_find_function, gfc_find_subroutine, gfc_generic_intrinsic, | |
598 | gfc_specific_intrinsic): Don't return module intrinsics. | |
599 | (add_functions): Add compiler_options, compiler_version. | |
600 | (gfc_intrinsic_func_interface): Also lookup symbol by ISYM ID. | |
601 | * symbol.c (std_for_isocbinding_symbol): Add version check for | |
602 | NAMED_FUNCTIONS. | |
603 | * iso-fortran-env.def: Add compiler_options, compiler_version. | |
604 | * iso-c-binding.def: Add c_sizeof. | |
605 | * gfortran.h (gfc_intrinsic_sym): Add from_module:1. | |
606 | (iso_c_binding_symbol, iso_fortran_env_symbol): Add NAMED_FUNCTIONS. | |
607 | (gfc_intrinsic_function_by_id): New prototype. | |
608 | * module.c (create_intrinsic_function): New function. | |
609 | (import_iso_c_binding_module, use_iso_fortran_env_module): Use it. | |
610 | * trans-types.c (init_c_interop_kinds): Add NAMED_FUNCTIONS. | |
611 | * resolve.c (resolve_intrinsic): Try also to resolve intrinsics | |
612 | by ISYM ID. | |
613 | * simplify.c (gfc_simplify_compiler_options, | |
614 | gfc_simplify_compiler_version): New functions. | |
615 | ||
414e8be2 DK |
616 | 2010-09-26 Daniel Kraft <d@domob.eu> |
617 | ||
618 | PR fortran/45783 | |
619 | PR fortran/45795 | |
620 | * resolve.c (resolve_select_type): Clarify code. | |
621 | (resolve_assoc_var): Only set typespec if it is currently unknown. | |
622 | ||
d6f3358f JD |
623 | 2010-09-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
624 | ||
625 | PR fortran/45793 | |
626 | * module.c (create_int_parameter_array): Set the array value shape. | |
627 | ||
de514255 TB |
628 | 2010-09-25 Tobias Burnus <burnus@net-b.de> |
629 | ||
630 | * gfortran.texi: Re-add accidently removed \input line. | |
631 | ||
8e8dc060 DK |
632 | 2010-09-25 Daniel Kraft <d@domob.eu> |
633 | ||
634 | PR fortran/45776 | |
635 | * gfortran.h (struct gfc_dt): New member `dt_io_kind'. | |
636 | * io.c (resolve_tag): F2008 check for NEWUNIT and variable | |
637 | definition checks for NEWUNIT, IOSTAT, SIZE and IOMSG. | |
638 | (gfc_free_dt): Correctly handle freeing of `dt_io_kind' and | |
639 | `extra_comma' with changed semantics. | |
640 | (gfc_resolve_dt): Check variable definitions. | |
641 | (match_io_element): Remove INTENT and PURE checks here and | |
642 | initialize code->ext.dt member. | |
643 | (match_io): Set dt->dt_io_kind. | |
644 | (gfc_resolve_inquire): Check variable definition for all tags | |
645 | except UNIT, FILE and ID. | |
646 | * resolve.c (resolve_transfer): Variable definition check. | |
647 | ||
915acec4 TB |
648 | 2010-09-25 Tobias Burnus <burnus@net-b.de> |
649 | ||
650 | * interface.c (gfc_match_end_interface): Constify char pointer | |
651 | to fix warning. | |
652 | ||
c6d6e62f SK |
653 | 2010-09-24 Steven G. Kargl < kargl@gcc.gnu.org> |
654 | ||
915acec4 | 655 | * interface.c (gfc_match_end_interface): Deal with user defined |
c6d6e62f SK |
656 | operators that overload rational operators and C1202. |
657 | ||
3994c6b1 TB |
658 | 2010-09-24 Tobias Burnus <burnus@net-b.de> |
659 | ||
660 | * gfortran.texi: Add second space after end-of-sentence period; | |
661 | change / to /@/ to allow hyphenation of URLs. | |
662 | (Standards): Remove duplicated OpenMP, update wording given that | |
663 | Fortran 2008 now released. | |
664 | (Fortran 2008 status): Update and add list of implemented features. | |
665 | ||
be1f1ed9 TB |
666 | 2010-09-24 Tobias Burnus <burnus@net-b.de> |
667 | ||
668 | PR fortran/40571 | |
669 | * iso-fortran-env.def: Add NAMED_KINDARRAY with | |
670 | character_kinds, integer_kinds, logical_kinds and | |
671 | real_kinds. | |
672 | * gfortran.h: Add them to iso_fortran_env_symbol. | |
673 | * libgfortran.h: Rename GFC_INQUIRE_INTERNAL_UNIT to | |
674 | LIBERROR_INQUIRE_INTERNAL_UNIT and move it from | |
675 | libgfortran_stat_codes to libgfortran_error_codes. | |
676 | * module.c (create_int_parameter_array): New function. | |
677 | (use_iso_fortran_env_module): Use it for | |
678 | NAMED_KINDARRAY of iso-fortran-env.def. | |
679 | * trans-decl.c (gfc_get_symbol_decl): Parameter | |
680 | arrays of intrinsics modules become local static variables. | |
681 | * intrinsic.texi (ISO_FORTRAN_ENV): Add character_kinds, | |
682 | integer_kinds, logical_kinds and real_kinds. | |
683 | ||
962b8a0e TK |
684 | 2010-09-23 Thomas Koenig <tkoenig@gcc.gnu.org> |
685 | ||
686 | PR fortran/45744 | |
687 | * frontend-passes.c (optimize_binop_array_assignment): | |
688 | Only re-use lhs as intermediate storage if kind and type | |
689 | parameters match. | |
690 | ||
bef6486a MM |
691 | 2010-09-23 Mikael Morin <mikael@gcc.gnu.org> |
692 | ||
693 | PR fortran/45745 | |
694 | PR fortran/45648 | |
962b8a0e TK |
695 | * trans-array.c (gfc_conv_expr_descriptor): Handle |
696 | ss->type == GFC_SS_INTRINSIC (for {l,u}bound intrinsics) case. | |
bef6486a | 697 | |
87350d4a TB |
698 | 2010-09-23 Tobias Burnus <burnus@net-b.de> |
699 | ||
700 | * intrinsic.texi (OpenMP modules): Add named constants of | |
701 | OMP_LIB. | |
702 | ||
8c91ab34 DK |
703 | 2010-09-23 Daniel Kraft <d@domob.eu> |
704 | ||
705 | PR fortran/38936 | |
706 | PR fortran/44044 | |
707 | PR fortran/45474 | |
708 | * gfortran.h (gfc_check_vardef_context): New method. | |
709 | (struct symbol_attribute): New flag `select_type_temporary'. | |
710 | * primary.c (gfc_variable_attr): Clarify initialization of ref. | |
711 | (match_variable): Remove PROTECTED check and assignment check | |
712 | for PARAMETERs (this is now done later). | |
713 | * match.c (gfc_match_iterator): Remove INTENT(IN) check. | |
714 | (gfc_match_associate): Defer initialization of newAssoc->variable. | |
715 | (gfc_match_nullify): Remove PURE definability check. | |
716 | (select_type_set_tmp): Set new `select_type_temporary' flag. | |
717 | * expr.c (gfc_check_assign): Remove INTENT(IN) check here. | |
718 | (gfc_check_pointer_assign): Ditto (and other checks removed). | |
719 | (gfc_check_vardef_context): New method. | |
720 | * interface.c (compare_parameter_protected): Removed. | |
721 | (compare_actual_formal): Use `gfc_check_vardef_context' for checks | |
722 | related to INTENT([IN]OUT) arguments. | |
723 | * intrinsic.c (check_arglist): Check INTENT for intrinsics. | |
724 | * resolve.c (gfc_resolve_iterator): Use `gfc_check_vardef_context'. | |
725 | (remove_last_array_ref): New method. | |
726 | (resolve_deallocate_expr), (resolve_allocate_expr): Ditto. | |
727 | (resolve_allocate_deallocate): Ditto (for STAT and ERRMSG). | |
728 | (resolve_assoc_var): Remove checks for definability here. | |
729 | (resolve_select_type): Handle resolving of code->block here. | |
730 | (resolve_ordinary_assign): Remove PURE check. | |
731 | (resolve_code): Do not resolve code->blocks for SELECT TYPE here. | |
732 | Use `gfc_check_vardef_context' for assignments and pointer-assignments. | |
733 | ||
ab940b73 RW |
734 | 2010-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
735 | ||
736 | * gfortran.texi (Argument list functions): Allow URL to wrap. | |
737 | * intrinsic.texi (GETGID, GETPID, GETUID, IMAGE_INDEX) | |
738 | (IS_IOSTAT_END, IS_IOSTAT_EOR, NUM_IMAGES, THIS_IMAGE) | |
739 | (ISO_FORTRAN_ENV): Fix markup in index entries, and a couple of | |
740 | code markups in the text. | |
741 | * invoke.texi (Fortran Dialect Options) | |
742 | (Error and Warning Options, Directory Options, Code Gen Options): | |
743 | Likewise. Remove @code inside @smallexample. | |
744 | ||
e200444e JM |
745 | 2010-09-22 Joseph Myers <joseph@codesourcery.com> |
746 | ||
747 | * gfortranspec.c (lang_specific_driver): Handle OPT__version and | |
748 | OPT__help instead of OPT_fversion and OPT_fhelp. | |
749 | * lang.opt (-all-warnings, -assert, -assert=, -comments, | |
750 | -comments-in-macros, -define-macro, -define-macro=, -dependencies, | |
751 | -dump, -dump=, -include-barrier, -include-directory, | |
752 | -include-directory=, -include-directory-after, | |
753 | -include-directory-after=, -include-prefix, -include-prefix=, | |
754 | -no-line-commands, -no-standard-includes, -output, -output=, | |
755 | -preprocess, -print-missing-file-dependencies, -trace-includes, | |
756 | -undefine-macro, -undefine-macro=, -user-dependencies, -verbose, | |
757 | -write-dependencies, -write-user-dependencies): New. | |
758 | ||
ec5e67bf JB |
759 | 2010-09-21 Jason Blevins <jrblevin@sdf.org> |
760 | ||
761 | * intrinsics.texi (HYPOT, IMAGE_INDEX, BESSEL_JN, BESSEL_YN, | |
762 | execute_command_line, IEOR, IOR, NORM2, NOT, NULL, PARITY): | |
763 | Correct spelling. | |
764 | ||
0b4f2770 MM |
765 | 2010-09-21 Mikael Morin <mikael@gcc.gnu.org> |
766 | ||
767 | PR fortran/45648 | |
768 | * trans-array.c (gfc_conv_expr_descriptor): Calculate dim out of n and | |
769 | info->dim. | |
770 | ||
771 | PR fortran/45648 | |
772 | * trans-array.c (gfc_conv_expr_descriptor): Unset full if we are | |
773 | accessing dimensions in reversed order. | |
774 | ||
775 | PR fortran/45648 | |
776 | * trans-array.c (gfc_conv_expr_descriptor): Special case noncopying | |
777 | intrinsic function call. | |
778 | ||
779 | * trans-array.c (gfc_conv_expr_descriptor): Remove ss lookup. | |
780 | Update asserts accordingly. | |
781 | ||
782 | PR fortran/45648 | |
783 | * trans.h (gfc_se): New field force_tmp. | |
784 | * trans-expr.c (gfc_conv_procedure_call): Check for argument alias | |
785 | and set parmse.force_tmp if some alias is found. | |
786 | * trans-array.c (gfc_conv_expr_descriptor): Force a temporary creation | |
787 | if se->force_tmp is set. | |
788 | ||
48dbbcd6 JW |
789 | 2010-09-20 Janus Weil <janus@gcc.gnu.org> |
790 | ||
791 | PR fortran/45438 | |
792 | * trans-expr.c (gfc_conv_procedure_call): Fix pointer checking for | |
793 | TBPs, PPCs and pointer/allocatable components. | |
794 | ||
15c2ef5a PT |
795 | 2010-09-20 Paul Thomas <pault@gcc.gnu.org> |
796 | ||
797 | PR fortran/45081 | |
798 | * simplify.c (is_constant_array_expr): Allow structure array | |
799 | elements as well as constants. | |
800 | (gfc_simplify_pack, gfc_simplify_reshape, gfc_simplify_spread, | |
801 | gfc_simplify_transpose, gfc_simplify_unpack): Copy the derived | |
802 | type of source to the result. | |
803 | ||
1151446c TK |
804 | 2010-09-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
805 | ||
806 | * frontend-passes.c (gfc_expr_walker): Also | |
807 | handle EXPR_SUBSTRING. | |
808 | ||
809 | 2010-09-19 Thomas Koenig <tkoenig@gcc.gnu.org> | |
46f19baf TK |
810 | |
811 | * frontend-passes.c (gfc_expr_walker): Handle | |
812 | constructors and references. | |
813 | ||
6dfd24f7 TB |
814 | 2010-09-16 Tobias Burnus <burnus@net-b.de> |
815 | ||
816 | PR fortran/43665 | |
817 | * trans-types.c (create_fn_spec): New function. | |
818 | (gfc_get_function_type): Call it. | |
819 | ||
4d42b5cd JJ |
820 | 2010-09-16 Jakub Jelinek <jakub@redhat.com> |
821 | ||
822 | * gfortran.h (walk_code_fn_t, walk_expr_fn_t): New types. | |
823 | (gfc_expr_walker, gfc_code_walker): New prototypes. | |
824 | * frontend-passes.c (gfc_expr_walker, gfc_code_walker): New functions. | |
825 | (WALK_SUBEXPR, WALK_SUBEXPR_TAIL, WALK_SUBCODE): Define. | |
826 | (optimize_namespace): Use gfc_code_walker. | |
827 | (optimize_code, optimize_expr): Rewritten as gfc_code_walker hooks. | |
828 | (optimize_expr_0, optimize_code_node, | |
829 | optimize_actual_arglist): Removed. | |
830 | (optimize_assignment): Don't call optimize_expr_0. | |
831 | ||
7d58b9e7 JW |
832 | 2010-09-16 Janus Weil <janus@gcc.gnu.org> |
833 | ||
834 | PR fortran/45674 | |
835 | * interface.c (compare_parameter): Create vtab for actual argument, | |
836 | instead of formal (if needed). | |
837 | ||
edd2b56a JW |
838 | 2010-09-15 Janus Weil <janus@gcc.gnu.org> |
839 | ||
840 | PR fortran/45577 | |
841 | * resolve.c (resolve_allocate_expr): Do default initialization via | |
842 | EXEC_INIT_ASSIGN. | |
843 | ||
a67189d4 FXC |
844 | 2010-09-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
845 | ||
846 | * mathbuiltins.def: Do not defined huge_val built-in. | |
847 | * trans-const.c (gfc_build_inf_or_huge): New function. | |
848 | * trans-const.h (gfc_build_inf_or_huge): New prototype. | |
849 | * f95-lang.c (gfc_init_builtin_functions): Don't defined | |
850 | huge_val built-ins. | |
851 | * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): We don't | |
852 | have functions of type (*) (void) anymore. | |
853 | (gfc_conv_intrinsic_minmaxloc): Call gfc_build_inf_or_huge. | |
854 | (gfc_conv_intrinsic_nearest): Call gfc_build_inf_or_huge instead | |
855 | of generating a call to huge_val(). | |
856 | ||
712efae1 MM |
857 | 2010-09-11 Mikael Morin <mikael@gcc.gnu.org> |
858 | ||
859 | * gfortran.h (gfc_expr): Remove inline_noncopying_intrinsic attribute. | |
860 | * dependency.c (gfc_check_dependency): Don't depend on | |
861 | expr's inline_noncopying_intrinsic_attribute. | |
862 | * dependency.c (gfc_check_argument_var_dependency, | |
863 | gfc_check_argument_dependency): Ditto. Recursively check dependency | |
864 | as NOT_ELEMENTAL in the non-copying (=transpose) case. | |
865 | * trans-intrinsic.c (gfc_conv_intrinsic_function): Ditto. | |
866 | * resolve.c (find_noncopying_intrinsics): Remove. | |
867 | (resolve_function, resolve_call): Remove call to | |
868 | find_noncopying_intrinsics. | |
869 | ||
870 | * trans-array.c (gfc_conv_array_transpose): Remove. | |
871 | (gfc_walk_subexpr): Make non-static. Move prototype... | |
872 | * trans-array.h (gfc_walk_subexpr): ... here. | |
873 | * trans-intrinsic.c (gfc_conv_intrinsic_function): Update transpose | |
874 | handling. | |
875 | (walk_inline_intrinsic_transpose, walk_inline_intrinsic_function, | |
876 | gfc_inline_intrinsic_function_p): New. | |
877 | (gfc_is_intrinsic_libcall): Return early in inline intrinsic case. | |
878 | Remove transpose from the libcall list. | |
879 | (gfc_walk_intrinsic_function): Special case inline intrinsic. | |
880 | * trans.h (gfc_inline_intrinsic_function_p): New prototype. | |
881 | ||
0ae6242f MM |
882 | 2010-09-10 Mikael Morin <mikael@gcc.gnu.org> |
883 | ||
884 | * trans-expr.c (expr_is_variable): New function taking non-copying | |
885 | intrinsic functions into account. | |
886 | (gfc_trans_assignment_1): Use expr_is_variable. | |
887 | ||
4b4c18e2 MM |
888 | 2010-09-10 Mikael Morin <mikael@gcc.gnu.org> |
889 | ||
890 | * trans-array.c (gfc_conv_loop_setup): Access the shape along the | |
891 | real array dimension instead of the scalarizer (loop) dimension. | |
892 | ||
af804603 MM |
893 | 2010-09-10 Mikael Morin <mikael@gcc.gnu.org> |
894 | ||
895 | * trans-array.c (gfc_conv_resolve_dependencies): Handle same-array | |
896 | transposed references. | |
897 | ||
5d44e5c8 TB |
898 | 2010-09-10 Tobias Burnus <burnus@net-b.de> |
899 | ||
900 | PR fortran/45186 | |
901 | * trans.h (build1_stat_loc, build2_stat_loc, build3_stat_loc, | |
902 | build4_stat_loc): New inline functions. | |
903 | (build1_loc, build2_loc, build3_loc, build4_loc): New macros. | |
904 | (build1_v, build2_v, build3_v, build4_v): Use input_location | |
905 | as locus. | |
906 | * trans-array.c (gfc_trans_scalarized_loop_end, | |
907 | gfc_conv_array_parameter): Replace build[1-4] by build[1-4]_loc. | |
908 | * trans.c (gfc_build_addr_expr, gfc_build_array_ref, | |
909 | gfc_finish_wrapped_block): Ditto. | |
910 | * trans-decl.c (gfc_init_default_dt, init_intent_out_dt): Ditto. | |
911 | * trans-expr.c (gfc_conv_missing_dummy, | |
912 | gfc_trans_alloc_subarray_assign, gfc_trans_zero_assign): Ditto. | |
913 | * trans-openmp.c (gfc_omp_clause_default_ctor, | |
914 | gfc_trans_omp_critical, gfc_trans_omp_parallel, | |
915 | gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, | |
916 | gfc_trans_omp_parallel_workshare, gfc_trans_omp_sections | |
917 | gfc_trans_omp_single, gfc_trans_omp_task, | |
918 | gfc_trans_omp_workshare): Ditto. | |
919 | ||
26865ab4 SK |
920 | 2010-09-09 Steven G. Kargl <kargl@gcc.gnu.org> |
921 | ||
922 | * fortran/expr.c (check_inquiry): OPTIONAL attribute is not allowed | |
923 | for dummy argument that appears in a specification statement. | |
924 | ||
99da3840 MM |
925 | 2010-09-09 Mikael Morin <mikael@gcc.gnu.org> |
926 | ||
927 | * trans-array.c (gfc_get_array_ref_dim): New function. | |
928 | (gfc_trans_create_temp_array): Reconstruct array | |
929 | bounds from loop bounds. Use array bounds instead of loop bounds. | |
930 | ||
e3cdb7cf MM |
931 | 2010-09-09 Mikael Morin <mikael@gcc.gnu.org> |
932 | ||
933 | * trans-array.c (gfc_set_loop_bounds_from_array_spec): | |
934 | Get the array dimension from the dim array. | |
935 | ||
79c3dc5f MM |
936 | 2010-09-09 Mikael Morin <mikael@gcc.gnu.org> |
937 | ||
938 | * trans-array.c (gfc_trans_preloop_setup): Unconditionally use the | |
939 | dim array to get the stride in the innermost loop. | |
940 | ||
ffc3bba4 MM |
941 | 2010-09-09 Mikael Morin <mikael@gcc.gnu.org> |
942 | ||
943 | * trans-array.c (gfc_trans_create_temp_array): Don't set dim array. | |
944 | (gfc_conv_loop_setup, gfc_walk_function_expr): Set dim array. | |
945 | * trans-intrinsic.c (gfc_walk_intrinsic_libfunc): Ditto. | |
946 | ||
ea5e803f MM |
947 | 2010-09-09 Mikael Morin <mikael@gcc.gnu.org> |
948 | ||
949 | * trans-array.c (gfc_trans_create_temp_array): Assert loop dimension | |
950 | and info dimension are the same. Loop over loop dimension. | |
951 | * trans-stmt.c (gfc_conv_elemental_dependencies): Set loop dimension | |
952 | ||
d09b9f67 MM |
953 | 2010-09-09 Mikael Morin <mikael@gcc.gnu.org> |
954 | ||
955 | * trans-array.c (gfc_conv_array_transpose): Change generated descriptor | |
956 | name | |
957 | ||
1a14a58c TB |
958 | 2010-09-09 Tobias Burnus <burnus@net-b.de> |
959 | ||
960 | PR fortran/43665 | |
961 | * intrincic.texi (FGET, FGETC, FPUT, FPUTC, FSTAT, GETCWD, KILL, | |
962 | STAT): Show also syntax for the function version. | |
963 | * intrinsic.c (add_sym_1s_intent, add_sym_2s_intent, | |
964 | add_sym_3s_intent): Remove function. | |
965 | (add_sym_1s, add_sym_2s, add_sym_3s): Take always the intent | |
966 | as argument. | |
967 | (add_sym_2_intent): New function. | |
968 | (add_functions): Set intent for functions which modify | |
969 | the argument: fstat, fgetc, fget, hostnm, lstat, stat. Change | |
970 | argument name of hostnm from "a" to "c" | |
971 | (add_subroutines): Change add_sym_*s_intent to | |
972 | add_sym_*s and add intent to the add_sym_*s calls. | |
973 | ||
88a95a11 FXC |
974 | 2010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
975 | ||
976 | PR fortran/38282 | |
977 | * intrinsic.c (add_functions): Add B{G,L}{E,T}, DSHIFT{L,R}, | |
978 | MASK{L,R}, MERGE_BITS and SHIFT{A,L,R}. | |
979 | * gfortran.h: Define ISYM values for above intrinsics. | |
980 | * intrinsic.h (gfc_check_bge_bgt_ble_blt, gfc_check_dshift, | |
981 | gfc_check_mask, gfc_check_merge_bits, gfc_check_shift, | |
982 | gfc_simplify_bge, gfc_simplify_bgt, gfc_simplify_ble, | |
983 | gfc_simplify_blt, gfc_simplify_dshiftl, gfc_simplify_dshiftr, | |
984 | gfc_simplify_lshift, gfc_simplify_maskl, gfc_simplify_maskr, | |
985 | gfc_simplify_merge_bits, gfc_simplify_rshift, | |
986 | gfc_simplify_shifta, gfc_simplify_shiftl, gfc_simplify_shiftr, | |
987 | gfc_resolve_dshift, gfc_resolve_mask, gfc_resolve_merge_bits, | |
988 | gfc_resolve_shift): New prototypes. | |
989 | * iresolve.c (gfc_resolve_dshift, gfc_resolve_mask, | |
990 | gfc_resolve_merge_bits, gfc_resolve_shift): New functions. | |
991 | * check.c (gfc_check_bge_bgt_ble_blt, gfc_check_dshift, | |
992 | gfc_check_mask, gfc_check_merge_bits, gfc_check_shift): New | |
993 | functions. | |
994 | * trans-intrinsic.c (gfc_conv_intrinsic_dshift, | |
995 | gfc_conv_intrinsic_bitcomp, gfc_conv_intrinsic_shift, | |
996 | gfc_conv_intrinsic_merge_bits, gfc_conv_intrinsic_mask): New | |
997 | functions. | |
998 | (gfc_conv_intrinsic_function): Call above static functions. | |
999 | * intrinsic.texi: Document new intrinsics. | |
1000 | * simplify.c (gfc_simplify_bge, gfc_simplify_bgt, gfc_simplify_ble, | |
1001 | gfc_simplify_blt, gfc_simplify_dshiftl, gfc_simplify_dshiftr, | |
1002 | gfc_simplify_lshift, gfc_simplify_maskl, gfc_simplify_maskr, | |
1003 | gfc_simplify_merge_bits, gfc_simplify_rshift, | |
1004 | gfc_simplify_shifta, gfc_simplify_shiftl, gfc_simplify_shiftr): | |
1005 | New functions. | |
1006 | ||
9c2934f4 JJ |
1007 | 2010-09-08 Jakub Jelinek <jakub@redhat.com> |
1008 | ||
7d124e66 JJ |
1009 | * frontend-passes.c (optimize_code_node): Walk block chain by default. |
1010 | ||
7602cb87 JJ |
1011 | PR fortran/45597 |
1012 | * trans-openmp.c (gfc_trans_omp_do): Store exit/cycle labels on code | |
1013 | instead of code->block. | |
1014 | ||
9c2934f4 JJ |
1015 | PR fortran/45595 |
1016 | * openmp.c (resolve_omp_do): Report not enough do loops for | |
1017 | collapse even if block->next is NULL. | |
1018 | ||
c56c0853 TK |
1019 | 2010-09-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
1020 | ||
1021 | PR fortran/45576 | |
1022 | * dependency.c (gfc_deb_compare_expr): Take missing optional | |
1023 | arguments into account. | |
1024 | ||
16c0e295 FXC |
1025 | 2010-09-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1026 | ||
1027 | * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): Remove. | |
1028 | * trans-decl.c (gfor_fndecl_clz128, gfor_fndecl_ctz128): Remove. | |
1029 | (gfc_build_intrinsic_function_decls): Don't build the | |
1030 | gfor_fndecl_clz128 and gfor_fndecl_ctz128. | |
1031 | * trans-intrinsic.c (gfc_conv_intrinsic_leadz, | |
1032 | gfc_conv_intrinsic_trailz): Generate inline arithmetic instead | |
1033 | of calling clz128/ctz128 library functions. | |
1034 | ||
fa9a7193 JH |
1035 | 2010-09-07 Jan Hubicka <jh@suse.cz> |
1036 | ||
16c0e295 FXC |
1037 | * trans-expr.c (gfc_conv_initializer): Set STATIC flags for |
1038 | initializers. | |
fa9a7193 | 1039 | |
21e92849 TB |
1040 | 2010-09-07 Tobias Burnus <burnus@net-b.de> |
1041 | ||
1042 | PR fortran/45583 | |
1043 | * intrinsic.texi (COS): Remove superfluous "n". | |
1044 | ||
94471a56 TB |
1045 | 2010-09-07 Tobias Burnus <burnus@net-b.de> |
1046 | ||
1047 | PR fortran/45186 | |
1048 | * trans-array.c (gfc_conv_descriptor_data_get, | |
1049 | gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr, | |
1050 | gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype, | |
1051 | gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride, | |
1052 | gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound, | |
1053 | gfc_conv_shift_descriptor_lbound, | |
1054 | gfc_set_loop_bounds_from_array_spec, | |
1055 | gfc_trans_allocate_array_storage, gfc_trans_create_temp_array, | |
1056 | gfc_conv_array_transpose, gfc_get_iteration_count, | |
1057 | gfc_grow_array, gfc_trans_array_ctor_element, | |
1058 | gfc_trans_array_constructor_subarray, | |
1059 | gfc_trans_array_constructor_value, | |
1060 | constant_array_constructor_loop_size, gfc_trans_array_constructor, | |
1061 | gfc_set_vector_loop_bounds, gfc_trans_array_bound_check, | |
1062 | gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref, | |
1063 | gfc_conv_array_ref, gfc_trans_preloop_setup, | |
1064 | gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride, | |
1065 | gfc_conv_loop_setup, gfc_conv_array_extent_dim, | |
1066 | gfc_conv_descriptor_size, gfc_array_init_size, | |
1067 | gfc_array_allocate, gfc_array_deallocate, | |
1068 | gfc_trans_array_bounds, gfc_trans_auto_array_allocation, | |
1069 | gfc_trans_dummy_array_bias, gfc_get_dataptr_offset, | |
1070 | get_array_charlen, gfc_conv_expr_descriptor, | |
1071 | array_parameter_size, gfc_conv_array_parameter, | |
1072 | gfc_trans_dealloc_allocated, get_full_array_size, | |
1073 | duplicate_allocatable, | |
1074 | structure_alloc_comps): Change fold_build[0-9] to | |
1075 | fold_build[0-9]_loc. | |
1076 | (duplicate_allocatable, structure_alloc_comps, | |
1077 | gfc_duplicate_allocatable): Add space after function name. | |
1078 | ||
86e033e2 MM |
1079 | 2010-09-07 Mikael Morin <mikael@gcc.gnu.org> |
1080 | ||
1081 | * trans-stmt.c (gfc_trans_character_select): Be conversion-safe while | |
1082 | checking string length value. | |
1083 | * trans-intrinsic.c (gfc_conv_intrinsic_char): Build integer using | |
1084 | gfc_charlen_type_node type. | |
1085 | ||
1086 | PR fortran/45564 | |
1087 | * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Convert string | |
1088 | length to gfc_charlen_type_node. | |
1089 | ||
5c599206 TK |
1090 | 2010-09-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
1091 | ||
1092 | PR fortran/36931 | |
1093 | * frontend-passes.c (optimize_binop_array_assignment): New | |
1094 | function. | |
1095 | (optimize_assignment): Call it. | |
1096 | ||
f884552b TK |
1097 | 2010-09-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
1098 | ||
1099 | PR fortran/34145 | |
1100 | * trans-expr.c (gfc_conv_substring): If start and end | |
1101 | of the string reference are equal, set the length to one. | |
1102 | ||
f973b648 TB |
1103 | 2010-09-06 Tobias Burnus <burnus@net-b.de> |
1104 | ||
1105 | PR fortran/45560 | |
1106 | * dump-parse-tree.c (gfc_debug_expr): Use stderr instead of stdout. | |
1107 | ||
3c7ac37e TB |
1108 | 2010-09-06 Tobias Burnus <burnus@net-b.de> |
1109 | ||
1110 | PR fortran/45560 | |
1111 | * dump-parse-tree.c (gfc_debug_expr): New function. | |
1112 | ||
195a95c4 TB |
1113 | 2010-09-06 Tobias Burnus <burnus@net-b.de> |
1114 | ||
1115 | PR fortran/38282 | |
1116 | * intrinsic.c (add_functions): Support IALL, IANY, IPARITY. | |
1117 | (check_specific): Special case for those intrinsics. | |
1118 | * gfortran.h (gfc_isym_id): Add new intrinsics | |
1119 | * intrinsic.h (gfc_check_transf_bit_intrins, | |
1120 | gfc_simplify_iall, gfc_simplify_iany, gfc_simplify_iparity, | |
1121 | gfc_resolve_iall, gfc_resolve_iany, gfc_resolve_iparity): | |
1122 | New prototypes. | |
1123 | * iresolve.c (gfc_resolve_iall, gfc_resolve_iany, | |
1124 | gfc_resolve_iparity, resolve_transformational): New functions. | |
1125 | (gfc_resolve_product, gfc_resolve_sum, | |
1126 | gfc_resolve_parity): Use resolve_transformational. | |
1127 | * check.c (gfc_check_transf_bit_intrins): New function. | |
1128 | * simplify.c (gfc_simplify_iall, gfc_simplify_iany, | |
1129 | gfc_simplify_iparity, do_bit_any, do_bit_ior, | |
1130 | do_bit_xor, simplify_transformation): New functions. | |
1131 | (gfc_simplify_all, gfc_simplify_any, gfc_simplify_parity, | |
1132 | gfc_simplify_sum, gfc_simplify_product): Use simplify_transformation. | |
1133 | * trans-intrinsic.c (gfc_conv_intrinsic_arith, | |
1134 | gfc_conv_intrinsic_function, gfc_is_intrinsic_libcall): | |
1135 | Handle IALL, IANY and IPARITY intrinsics. | |
1136 | * intrinsic.texi (IMAGE_INDEX): Move up to fix alphabetic | |
1137 | order. | |
1138 | (IALL, IANY, IPARITY): Document new intrinsics. | |
1139 | ||
433ce291 TB |
1140 | 2010-09-05 Tobias Burnus <burnus@net-b.de> |
1141 | ||
1142 | PR fortran/45186 | |
1143 | * f95-lang.c (gfc_truthvalue_conversion): Use | |
1144 | fold_build[0-9]_loc instead of fold_build[0-9]. | |
1145 | * convert.c (convert): Ditto. | |
1146 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
1147 | build_fixbound_expr, build_fix_expr, gfc_conv_intrinsic_aint, | |
1148 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_imagpart, | |
1149 | gfc_conv_intrinsic_conjg, gfc_trans_same_strlen_check, | |
1150 | gfc_conv_intrinsic_bound, gfc_conv_intrinsic_abs, | |
1151 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod, | |
1152 | gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign, | |
1153 | gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_char, | |
1154 | gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, | |
1155 | gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax, | |
1156 | gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_anyall, | |
1157 | gfc_conv_intrinsic_count, gfc_conv_intrinsic_arith, | |
1158 | gfc_conv_intrinsic_dot_product, gfc_conv_intrinsic_minmaxloc, | |
1159 | gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest, | |
1160 | gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_not, | |
1161 | gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits, | |
1162 | gfc_conv_intrinsic_rlshift, gfc_conv_intrinsic_ishft, | |
1163 | gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_leadz, | |
1164 | gfc_conv_intrinsic_trailz, gfc_conv_intrinsic_popcnt_poppar, | |
1165 | gfc_conv_intrinsic_ichar, gfc_conv_has_intvalue, | |
1166 | gfc_conv_intrinsic_merge, gfc_conv_intrinsic_spacing, | |
1167 | gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_size, | |
1168 | size_of_string_in_bytes, gfc_conv_intrinsic_sizeof, | |
1169 | gfc_conv_intrinsic_storage_size, gfc_conv_intrinsic_strcmp, | |
1170 | gfc_conv_intrinsic_transfer, gfc_conv_allocated, | |
1171 | gfc_conv_associated, gfc_conv_same_type_as, | |
1172 | gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat): Ditto. | |
1173 | ||
e0608471 TB |
1174 | 2010-09-04 Tobias Burnus <burnus@net-b.de> |
1175 | ||
1176 | PR fortran/45530 | |
1177 | * resolve.c (resolve_fl_namelist): Change constraint checking | |
1178 | order to prevent endless loop. | |
1179 | ||
b6ff8128 JW |
1180 | 2010-09-04 Janus Weil <janus@gcc.gnu.org> |
1181 | ||
1182 | PR fortran/45507 | |
1183 | * resolve.c (resolve_allocate_expr): Generate default initializers | |
1184 | already at this point, resolve them and put them into expr3, ... | |
1185 | * trans-stmt.c (gfc_trans_allocate): ... instead of waiting until | |
1186 | translation stage. | |
1187 | ||
65a9ca82 TB |
1188 | 2010-09-03 Tobias Burnus <burnus@net-b.de> |
1189 | ||
1190 | PR fortran/45186 | |
1191 | * trans-intrinsic.c (gfc_conv_intrinsic_sign, | |
1192 | gfc_conv_intrinsic_leadz): Use build_call_expr_loc instead | |
1193 | of build_call_expr. | |
1194 | * trans-expr.c (gfc_conv_expr_present, gfc_conv_missing_dummy, | |
1195 | gfc_conv_string_length, gfc_conv_substring, | |
1196 | gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi, | |
1197 | gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op, | |
1198 | gfc_conv_expr_op, gfc_build_compare_string, | |
1199 | gfc_set_interface_mapping_bounds, gfc_conv_subref_array_arg, | |
1200 | gfc_conv_derived_to_class, conv_isocbinding_procedure, | |
1201 | gfc_conv_procedure_call, fill_with_spaces, | |
1202 | gfc_trans_string_copy, gfc_trans_alloc_subarray_assign, | |
1203 | gfc_trans_structure_assign, gfc_trans_pointer_assignment, | |
1204 | gfc_trans_scalar_assign, gfc_trans_zero_assign, | |
1205 | gfc_trans_array_copy, gfc_trans_array_constructor_copy): Change | |
1206 | fold_build[0-9] to fold_build[0-9]_loc. | |
1207 | * trans-io.c (set_parameter_const, set_parameter_value, | |
1208 | set_parameter_ref, gfc_convert_array_to_string, set_string, | |
1209 | set_internal_unit, io_result, set_error_locus, | |
1210 | nml_get_addr_expr, build_dt): Ditto. | |
1211 | * trans-openmp.c (gfc_omp_clause_default_ctor, | |
1212 | gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
1213 | gfc_trans_omp_array_reduction, gfc_trans_omp_atomic, | |
1214 | gfc_trans_omp_do): Ditto. | |
1215 | * trans.c (gfc_add_modify, gfc_build_addr_expr, | |
1216 | gfc_build_array_ref, gfc_trans_runtime_error_vararg, | |
1217 | gfc_trans_runtime_check, gfc_call_malloc, | |
1218 | gfc_allocate_with_status, gfc_allocate_array_with_status, | |
1219 | gfc_call_free, gfc_deallocate_with_status, | |
1220 | gfc_call_realloc): Ditto. | |
1221 | ||
124a8ce6 TK |
1222 | 2010-09-03 Thomas Koenig <tkoenig@gcc.gnu.org> |
1223 | ||
1224 | PR fortran/45159 | |
1225 | * dependency.c (gfc_deb_compare_expr): Compare equal for equal | |
1226 | arglists for pure user functions, or for those intrinsic | |
1227 | functions which are also pure. | |
1228 | * intrinsics.c (add_conv): Mark conversion functions as pure. | |
1229 | (add_char_conversions): Likewise. | |
1230 | ||
5792039f DK |
1231 | 2010-09-03 Daniel Kraft <d@domob.eu> |
1232 | ||
1233 | PR fortran/34162 | |
1234 | * resolve.c (resolve_actual_arglist): Allow internal procedure | |
1235 | as actual argument with Fortran 2008. | |
1236 | ||
e5ca9693 DK |
1237 | 2010-09-03 Daniel Kraft <d@domob.eu> |
1238 | ||
1239 | PR fortran/44602 | |
1240 | * gfortran.h (struct gfc_code): Renamed `whichloop' to | |
1241 | `which_construct' as this is no longer restricted to loops. | |
1242 | * parse.h (struct gfc_state_data): New field `construct'. | |
1243 | * match.c (match_exit_cycle): Handle EXIT from non-loops. | |
1244 | * parse.c (push_state): Set `construct' field. | |
1245 | * resolve.c (resolve_select_type): Extend comment. | |
1246 | * trans-stmt.c (gfc_trans_if): Add exit label. | |
1247 | (gfc_trans_block_construct), (gfc_trans_select): Ditto. | |
1248 | (gfc_trans_simple_do): Store exit/cycle labels on the gfc_code itself. | |
1249 | (gfc_trans_do), (gfc_trans_do_while): Ditto. | |
1250 | (gfc_trans_exit): Use new name `which_construct' instead of `whichloop'. | |
1251 | (gfc_trans_cycle): Ditto. | |
1252 | (gfc_trans_if_1): Use fold_build3_loc instead of fold_build3. | |
1253 | ||
36d9e52f FXC |
1254 | 2010-09-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1255 | ||
1256 | * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix whitespace. | |
1257 | (gfc_conv_intrinsic_ishft): Only evaluate arguments once. | |
1258 | (gfc_conv_intrinsic_ishftc): Only evaluate arguments once. | |
1259 | * intrinsic.texi (RSHIFT): Fix documentation. | |
1260 | ||
bc98ed60 TB |
1261 | 2010-09-02 Tobias Burnus <burnus@net-b.de> |
1262 | ||
1263 | PR fortran/45186 | |
1264 | * trans-common.c (create_common): Change build[0-9] to | |
1265 | build[0-9]_loc. | |
1266 | * trans-const.c (gfc_conv_constant_to_tree, | |
1267 | gfc_conv_constant_to_tree): Ditto. | |
1268 | * trans-decl.c (gfc_build_qualified_array, build_entry_thunks, | |
1269 | gfc_get_fake_result_decl, gfc_trans_auto_character_variable, | |
1270 | add_argument_checking, create_main_function, | |
1271 | gfc_generate_return): Ditto. | |
1272 | * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Ditto. | |
1273 | * trans-stmt.c (allocate_temp_for_forall_nest_1, | |
1274 | compute_inner_temp_size, compute_overall_iter_number, | |
1275 | generate_loop_for_rhs_to_temp, generate_loop_for_temp_to_lhs, | |
1276 | gfc_conv_elemental_dependencies, gfc_do_allocate, | |
1277 | gfc_evaluate_where_mask, gfc_trans_allocate, | |
1278 | gfc_trans_arithmetic_if, gfc_trans_call, | |
1279 | gfc_trans_character_select, gfc_trans_deallocate, | |
1280 | gfc_trans_do, gfc_trans_do_while, gfc_trans_forall_1, | |
1281 | gfc_trans_forall_loop, gfc_trans_goto, gfc_trans_if_1, | |
1282 | gfc_trans_integer_select, gfc_trans_logical_select, | |
1283 | gfc_trans_pointer_assign_need_temp, gfc_trans_return, | |
1284 | gfc_trans_simple_do, gfc_trans_sync, gfc_trans_where_2, | |
1285 | gfc_trans_where_assign) Ditto. | |
1286 | ||
c330d181 JW |
1287 | 2010-09-02 Janus Weil <janus@gcc.gnu.org> |
1288 | ||
1289 | PR fortran/44541 | |
1290 | * resolve.c (resolve_symbol): Correct check for attributes of CLASS | |
1291 | variable. | |
1292 | ||
86e6a239 TB |
1293 | 2010-09-02 Tobias Burnus <burnus@net-b.de> |
1294 | ||
1295 | PR fortran/45489 | |
1296 | * resolve.c (apply_default_init): Mark symbol as referenced, | |
1297 | if it is initialized. | |
1298 | (resolve_symbol): Change intialized check for BT_DERIVED such | |
1299 | that also function results get initialized; remove now obsolete | |
1300 | gfc_set_sym_referenced for BT_CLASS. | |
1301 | ||
50f30801 JW |
1302 | 2010-09-01 Janus Weil <janus@gcc.gnu.org> |
1303 | ||
1304 | PR fortran/44541 | |
1305 | * class.c (gfc_find_derived_vtab): Add component '$def_init'. | |
1306 | * resolve.c (resolve_allocate_expr): Defer handling of default | |
1307 | initialization to 'gfc_trans_allocate'. | |
1308 | (apply_default_init,resolve_symbol): Handle polymorphic dummies. | |
1309 | (resolve_fl_derived): Suppress error messages for vtypes. | |
1310 | * trans-stmt.c (gfc_trans_allocate): Handle initialization via | |
1311 | polymorphic MOLD expression. | |
1312 | * trans-expr.c (gfc_trans_class_init_assign): Now only used for | |
1313 | dummy initialization. | |
1314 | ||
f39168b3 TB |
1315 | 2010-09-01 Tobias Burnus <burnus@net-b.de> |
1316 | ||
1317 | * gfortran.texi (preprocessing): Update URL to COCO. | |
1318 | ||
eacbdaaa FXC |
1319 | 2010-09-01 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1320 | ||
1321 | * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Resize | |
1322 | array quad_decls. Remove unnecessary assignment. | |
1323 | ||
166d08bd FXC |
1324 | 2010-09-01 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1325 | ||
1326 | * trans-expr.c (gfc_conv_power_op): Handle floating-point types | |
1327 | other than long double. | |
1328 | * mathbuiltins.def: Add builtins from the POW and CPOW family. | |
1329 | * trans.h (gfc_builtin_decl_for_float_kind): New prototype. | |
1330 | * trans-intrinsic.c (gfc_builtin_decl_for_float_kind): Add gfc_ | |
1331 | prefix to function name. | |
1332 | (gfc_build_intrinsic_lib_fndecls): Add cpow prototype. | |
1333 | (gfc_conv_intrinsic_aint): Use gfc_builtin_decl_for_float_kind | |
1334 | function name. | |
1335 | (gfc_conv_intrinsic_exponent): Likewise. | |
1336 | (gfc_conv_intrinsic_abs): Likewise. | |
1337 | (gfc_conv_intrinsic_mod): Likewise. | |
1338 | (gfc_conv_intrinsic_sign): Likewise. | |
1339 | (gfc_conv_intrinsic_arith): Likewise. | |
1340 | (gfc_conv_intrinsic_fraction): Likewise. | |
1341 | (gfc_conv_intrinsic_nearest): Likewise. | |
1342 | (gfc_conv_intrinsic_spacing): Likewise. | |
1343 | (gfc_conv_intrinsic_rrspacing): Likewise. | |
1344 | (gfc_conv_intrinsic_scale): Likewise. | |
1345 | (gfc_conv_intrinsic_set_exponent): Likewise. | |
1346 | ||
c14c8155 FXC |
1347 | 2010-09-01 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1348 | ||
1349 | * intrinsic.c: Add EXECUTE_COMMAND_LINE intrinsic. | |
1350 | * intrinsic.h (gfc_resolve_execute_command_line): New function. | |
1351 | * iresolve.c (gfc_resolve_execute_command_line): New function. | |
1352 | * gfortran.h (GFC_ISYM_EXECUTE_COMMAND_LINE): New value. | |
1353 | * intrinsic.texi: Document EXECUTE_COMMAND_LINE. | |
1354 | ||
ad5f4de2 FXC |
1355 | 2010-08-31 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1356 | ||
1357 | PR fortran/38282 | |
1358 | * f95-lang.c (gfc_init_builtin_functions): Define popcount{,l,ll} | |
1359 | and parity{,l,ll} builtins. | |
1360 | * trans-intrinsic.c (gfc_conv_intrinsic_popcnt_poppar): New function. | |
1361 | (gfc_conv_intrinsic_function): Call above new functions. | |
1362 | * simplify.c (gfc_simplify_popcnt, gfc_simplify_poppar): New | |
1363 | functions. | |
1364 | * intrinsic.texi: Document POPCNT and POPPAR. | |
1365 | ||
e8cd3983 JW |
1366 | 2010-08-30 Janus Weil <janus@gcc.gnu.org> |
1367 | ||
1368 | PR fortran/45456 | |
1369 | * resolve.c (resolve_structure_cons): Handle pointer-valued PPCs. | |
1370 | ||
f024c89f FXC |
1371 | 2010-08-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1372 | ||
1373 | * Make-lang.in: Add frontend-passes.o dependencies. | |
1374 | ||
bd48f123 JW |
1375 | 2010-08-29 Janus Weil <janus@gcc.gnu.org> |
1376 | ||
1377 | PR fortran/42769 | |
1378 | * resolve.c (resolve_structure_cons): For derived types, make sure the | |
1379 | type has been resolved. | |
1380 | (resolve_typebound_procedures): Make sure the vtab has been generated. | |
1381 | ||
f08f8b6a JW |
1382 | 2010-08-29 Janus Weil <janus@gcc.gnu.org> |
1383 | ||
1384 | PR fortran/45439 | |
1385 | * match.c (gfc_match_select_type): Give the associate-name the | |
1386 | FL_VARIABLE attribute. | |
1387 | ||
bd48f123 | 1388 | 2010-08-28 Steven G. Kargl <kargl@gcc.gnu.org> |
4c6e913c SK |
1389 | |
1390 | * simplify.c (gfc_simplify_bessel_n2): Fix indention | |
1391 | and argument type. | |
1392 | ||
e84f122f FXC |
1393 | 2010-08-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1394 | ||
1395 | PR fortran/45436 | |
1396 | * trans-types.c (gfc_init_kinds): Disable TFmode. | |
1397 | ||
b052cbd0 JW |
1398 | 2010-08-27 Janus Weil <janus@gcc.gnu.org> |
1399 | ||
1400 | PR fortran/45432 | |
1401 | * match.c (gfc_match_allocate): Avoid double free on error. | |
1402 | ||
a3c85b74 FXC |
1403 | 2010-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1404 | ||
1405 | PR fortran/32049 | |
1406 | * gfortran.h (gfc_real_info): Add c_float128 field. | |
1407 | * mathbuiltins.def: Indicate which builtins are const. | |
1408 | * trans-types.h (float128_type_node, complex_float128_type_node, | |
1409 | gfc_real16_is_float128): New variables. | |
1410 | * trans-types.c (float128_type_node, complex_float128_type_node, | |
1411 | gfc_real16_is_float128): New variables. | |
1412 | (gfc_init_kinds): Allow TFmode. | |
1413 | (gfc_build_real_type): Mark __float128 types as such. | |
1414 | (gfc_init_types): Initialize float128_type_node and | |
1415 | complex_float128_type_node | |
1416 | * f95-lang.c (gfc_init_builtin_functions): Adjust for new | |
1417 | argument of OTHER_BUILTIN macro. | |
1418 | * trans-intrinsic.c (gfc_intrinsic_map_t): Likewise. | |
1419 | (builtin_decl_for_precision): Special case for __float128. | |
1420 | (builtin_decl_for_float_kind): Likewise. | |
1421 | (define_quad_builtin): New function. | |
1422 | (gfc_build_intrinsic_lib_fndecls): Create all __float128 | |
1423 | library decls if necessary. Store them in the real16_decl and | |
1424 | complex16_decl builtin map fields. | |
1425 | (gfc_get_intrinsic_lib_fndecl): Handle q-suffixed __float128 | |
1426 | library function names. | |
1427 | ||
0cd0559e TB |
1428 | 2010-08-27 Tobias Burnus <burnus@net-b.de> |
1429 | ||
1430 | PR fortran/33197 | |
1431 | * gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity. | |
1432 | * gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity): | |
1433 | gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2, | |
1434 | gfc_resolve_parity): New prototypes. | |
1435 | * gcc/fortran/gfortran.h (gfc_isym_id): New enum items | |
1436 | GFC_ISYM_NORM2 and GFC_ISYM_PARITY. | |
1437 | * gcc/fortran/iresolve.c (gfc_resolve_norm2, | |
1438 | gfc_resolve_parity): New functions. | |
1439 | * gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity): | |
1440 | New functions. | |
1441 | * gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith, | |
1442 | gfc_conv_intrinsic_function): Handle NORM2 and PARITY. | |
1443 | * gcc/fortran/intrinsic.texi (NORM2, PARITY): Add. | |
1444 | * gcc/fortran/simplify.c (simplify_transformation_to_array): | |
1445 | Add post-processing opterator. | |
1446 | (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count, | |
1447 | gfc_simplify_product, gfc_simplify_sum): Update call. | |
1448 | (add_squared, do_sqrt, gfc_simplify_norm2, do_xor, | |
1449 | gfc_simplify_parity): New functions. | |
1450 | ||
cbadd64a JW |
1451 | 2010-08-27 Janus Weil <janus@gcc.gnu.org> |
1452 | ||
1453 | PR fortran/45420 | |
1454 | * match.c (select_type_set_tmp): Add the possibility to reset the | |
1455 | temporary to NULL. | |
1456 | (gfc_match_class_is): Reset the temporary in CLASS DEFAULT clauses. | |
1457 | ||
e240f0f4 TK |
1458 | 2010-08-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
1459 | ||
1460 | PR fortran/45159 | |
1461 | * dependency.c (check_section_vs_section): Single test for | |
1462 | identical strides which takes into account that only one | |
1463 | of the strides may be NULL. | |
1464 | ||
401fcd3b JD |
1465 | 2010-08-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1466 | ||
1467 | PR fortran/43217 | |
1468 | * primary.c (match_hollerith_constant): Calculate padding needed to | |
1469 | fill default integer and allocate string for that size. Set pad bytes | |
1470 | to ' '. | |
1471 | * gfortran.h: Add hollerith pad value to type spec union. | |
1472 | * data.c (create_character_initializer): Fix spelling of function name. | |
1473 | Use hollerith pad value to calculate length. | |
1474 | * arith.c (hollerith2representation); Use hollerith pad value to | |
1475 | calculate length. | |
1476 | ||
3e78238a DK |
1477 | 2010-08-26 Daniel Kraft <d@domob.eu> |
1478 | ||
1479 | PR fortran/38936 | |
1480 | PR fortran/44047 | |
1481 | PR fortran/45384 | |
1482 | * gfortran.h (struct gfc_association_list): New flag `dangling'. | |
1483 | (gfc_build_block_ns): Declared here... | |
1484 | * parse.h (gfc_build_block_ns): ...instead of here. | |
1485 | * trans.h (gfc_process_block_locals): Expect additionally the | |
1486 | gfc_association_list of BLOCK (if present). | |
1487 | * match.c (select_type_set_tmp): Create sym->assoc for temporary. | |
1488 | * resolve.c (resolve_variable): Only check for invalid *array* | |
1489 | references on associate-names. | |
1490 | (resolve_assoc_var): New method with code previously in resolve_symbol. | |
1491 | (resolve_select_type): Use association to give the selector and | |
1492 | temporaries their values instead of ordinary assignment. | |
1493 | (resolve_fl_var_and_proc): Allow CLASS associate-names. | |
1494 | (resolve_symbol): Use new `resolve_assoc_var' instead of inlining here. | |
1495 | * trans-stmt.c (gfc_trans_block_construct): Pass association-list | |
1496 | to `gfc_process_block_locals' to match new interface. | |
1497 | * trans-decl.c (gfc_get_symbol_decl): Don't defer associate-names | |
1498 | here automatically. | |
1499 | (gfc_process_block_locals): Defer them rather here when linked to | |
1500 | from the BLOCK's association list. | |
1501 | ||
22b139e1 JJ |
1502 | 2010-08-25 Jakub Jelinek <jakub@redhat.com> |
1503 | ||
1504 | * trans-decl.c (gfc_build_intrinsic_function_decls): Set | |
1505 | TREE_NOTHROW on fndecls that can't throw. Set | |
1506 | TREE_READONLY on gfor_fndecl_math_ishftc{4,8,16}. | |
1507 | (gfc_build_builtin_function_decls): Set TREE_NOTHROW on | |
1508 | gfor_fndecl_associated. | |
1509 | ||
c0d15a77 MM |
1510 | 2010-08-23 Mikael Morin <mikael@gcc.gnu.org> |
1511 | ||
1512 | PR fortran/45380 | |
1513 | * frontend-passes.c (optimize_equality): Don't optimize array equality | |
1514 | ||
2fcac97d JW |
1515 | 2010-08-23 Janus Weil <janus@gcc.gnu.org> |
1516 | ||
1517 | PR fortran/45366 | |
1518 | * resolve.c (resolve_procedure_interface): New function split off from | |
1519 | 'resolve_symbol'. | |
1520 | (resolve_formal_arglist): Call it here ... | |
1521 | (resolve_symbol): ... and here. | |
1522 | ||
d9d16a19 JM |
1523 | 2010-08-22 Joseph Myers <joseph@codesourcery.com> |
1524 | ||
1525 | * Make-lang.in (gfortranspec.o): Update dependencies. | |
1526 | * gfortranspec.c: Include coretypes.h before gcc.h. Include | |
1527 | opts.h. | |
1528 | (MATH_LIBRARY, FORTRAN_LIBRARY): Remove initial "-l". | |
1529 | (ADD_ARG_LIBGFORTRAN, Option, lookup_option): Remove. | |
1530 | (g77_xargc): Make unsigned. | |
1531 | (g77_xargv): Change to g77_x_decoded_options. | |
1532 | (g77_newargc): Make unsigned. | |
1533 | (g77_newargv): Change to g77_new_decoded_options. | |
1534 | (strings_same, options_same): New. | |
1535 | (append_arg): Use cl_decoded_option structures. | |
1536 | (append_option): New. | |
1537 | (add_arg_libgfortran): New. | |
1538 | (lang_specific_driver): Use cl_decoded_option structures. | |
1539 | ||
1d0134b3 JW |
1540 | 2010-08-21 Janus Weil <janus@gcc.gnu.org> |
1541 | ||
1542 | PR fortran/45271 | |
1543 | PR fortran/45290 | |
1544 | * class.c (add_proc_comp): Add static initializer for PPCs. | |
1545 | (add_procs_to_declared_vtab): Modified comment. | |
1546 | * module.c (mio_component): Add argument 'vtype'. Don't read/write the | |
1547 | initializer if the component is part of a vtype. | |
1548 | (mio_component_list): Add argument 'vtype', pass it on to | |
1549 | 'mio_component'. | |
1550 | (mio_symbol): Modified call to 'mio_component_list'. | |
1551 | * trans.h (gfc_conv_initializer): Modified prototype. | |
1552 | (gfc_trans_assign_vtab_procs): Removed. | |
1553 | * trans-common.c (create_common): Modified call to | |
1554 | 'gfc_conv_initializer'. | |
1555 | * trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl, | |
1556 | gfc_emit_parameter_debug_info): Modified call to | |
1557 | 'gfc_conv_initializer'. | |
1558 | (build_function_decl): Remove assertion. | |
1559 | * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign): | |
1560 | Removed call to 'gfc_trans_assign_vtab_procs'. | |
1561 | (gfc_conv_initializer): Add argument 'procptr'. | |
1562 | (gfc_conv_structure): Modified call to 'gfc_conv_initializer'. | |
1563 | (gfc_trans_assign_vtab_procs): Removed. | |
1564 | * trans-stmt.c (gfc_trans_allocate): Removed call to | |
1565 | 'gfc_trans_assign_vtab_procs'. | |
1566 | ||
47b99694 TB |
1567 | 2010-08-21 Tobias Burnus <burnus@net-b.de> |
1568 | ||
1569 | PR fortran/36158 | |
1570 | PR fortran/33197 | |
1571 | * intrinsic.c (add_sym): Init value attribute. | |
1572 | (set_attr_value): New function. | |
1573 | (add_functions) Use it and add JN/YN resolvers. | |
1574 | * symbol.c (gfc_copy_formal_args_intr): Copy value attr. | |
1575 | * intrinsic.h (gfc_resolve_bessel_n2): New prototype. | |
1576 | * gfortran.h (gfc_intrinsic_arg): Add value attribute. | |
1577 | * iresolve.c (gfc_resolve_bessel_n2): New function. | |
1578 | * trans-intrinsic.c (gfc_get_symbol_for_expr): Create | |
1579 | formal arg list. | |
1580 | (gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall): | |
1581 | Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value. | |
1582 | * simplify.c (): For YN set to -INF if previous values | |
1583 | was -INF. | |
1584 | * trans-expr.c (gfc_conv_procedure_call): Don't crash | |
1585 | if sym->as is NULL. | |
1586 | * iresolve.c (gfc_resolve_extends_type_of): Set the | |
1587 | type of the dummy argument to the one of the actual. | |
1588 | ||
ca865c2b JM |
1589 | 2010-08-20 Joseph Myers <joseph@codesourcery.com> |
1590 | ||
1591 | * lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver. | |
1592 | ||
1d4d9588 JM |
1593 | 2010-08-20 Joseph Myers <joseph@codesourcery.com> |
1594 | ||
1595 | * gfortranspec.c (lang_specific_driver): Refer to -lgfortran in | |
1596 | comment, not -lg2c. | |
1597 | ||
ac47786e NF |
1598 | 2010-08-20 Nathan Froyd <froydnj@codesourcery.com> |
1599 | ||
1600 | * trans-openmp.c: Use FOR_EACH_VEC_ELT. | |
1601 | ||
99d821c0 DK |
1602 | 2010-08-19 Daniel Kraft <d@domob.eu> |
1603 | ||
1604 | PR fortran/29785 | |
1605 | PR fortran/45016 | |
1606 | * trans.h (struct gfc_se): New flag `byref_noassign'. | |
1607 | * trans-array.h (gfc_conv_shift_descriptor_lbound): New method. | |
1608 | (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods. | |
1609 | * expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping | |
1610 | and check for compile-time errors with those. | |
1611 | * trans-decl.c (trans_associate_var): Use new routine | |
1612 | `gfc_conv_shift_descriptor_lbound' instead of doing it manually. | |
1613 | * trans-array.c (gfc_conv_shift_descriptor_lbound): New method. | |
1614 | (gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods. | |
1615 | (gfc_array_init_size): Use new `gfc_conv_array_extent_dim'. | |
1616 | (gfc_conv_expr_descriptor): Handle new flag `byref_noassign'. | |
1617 | * trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and | |
1618 | rank remapping for assignment. | |
1619 | ||
d76799c7 TB |
1620 | 2010-08-19 Tobias Burnus <burnus@net-b.de> |
1621 | ||
1622 | * intrinsic.texi (Bessel_jn, Bessel_yn): Fix typo. | |
1623 | * * simplify.c (gfc_simplify_bessel_yn): Change recursive | |
1624 | into recurrence. | |
1625 | ||
29698e0f TB |
1626 | 2010-08-19 Tobias Burnus <burnus@net-b.de> |
1627 | ||
1628 | PR fortran/36158 | |
1629 | PR fortran/33197 | |
1630 | * check.c (gfc_check_bessel_n2): New function. | |
1631 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_JN2 and GFC_ISYM_YN2. | |
1632 | * intrinsic.c (add_functions): Add transformational version | |
1633 | of the Bessel_jn/yn intrinsics. | |
1634 | * intrinsic.h (gfc_check_bessel_n2,gfc_simplify_bessel_jn2, | |
1635 | gfc_simplify_bessel_yn2): New prototypes. | |
1636 | * intrinsic.texi (Bessel_jn, Bessel_yn): Document | |
1637 | transformational variant. | |
1638 | * simplify.c (gfc_simplify_bessel_jn, gfc_simplify_bessel_yn): | |
1639 | Check for negative order. | |
1640 | (gfc_simplify_bessel_n2,gfc_simplify_bessel_jn2, | |
1641 | gfc_simplify_bessel_yn2): New functions. | |
1642 | ||
771c5727 JD |
1643 | 2010-08-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1644 | ||
1645 | PR fortran/41859 | |
1646 | * resolve.c (resolve_transfer): Traverse operands and set expression | |
1647 | to be checked to a non EXPR_OP type. | |
1648 | ||
80f95228 JW |
1649 | 2010-08-19 Janus Weil <janus@gcc.gnu.org> |
1650 | ||
1651 | PR fortran/45290 | |
1652 | * gfortran.h (gfc_add_save): Modified prototype. | |
1653 | * decl.c (add_init_expr_to_sym): Defer checking of proc pointer init. | |
1654 | (match_pointer_init): New function to match F08 pointer initialization. | |
1655 | (variable_decl,match_procedure_decl,match_ppc_decl): Use | |
1656 | 'match_pointer_init'. | |
1657 | (match_attr_spec): Module variables are implicitly SAVE. | |
1658 | (gfc_match_save): Modified call to 'gfc_add_save'. | |
1659 | * expr.c (gfc_check_assign_symbol): Extra checks for pointer | |
1660 | initialization. | |
1661 | * primary.c (gfc_variable_attr): Handle SAVE attribute. | |
1662 | * resolve.c (resolve_structure_cons): Add new argument and do pointer | |
1663 | initialization checks. | |
1664 | (gfc_resolve_expr): Modified call to 'resolve_structure_cons'. | |
1665 | (resolve_values): Call 'resolve_structure_cons' directly with init arg. | |
1666 | (resolve_fl_variable): Handle SAVE_IMPLICIT. | |
1667 | * symbol.c (gfc_add_save,gfc_copy_attr,save_symbol): Handle | |
1668 | SAVE_IMPLICIT. | |
1669 | * trans-decl.c (gfc_create_module_variable): Module variables with | |
1670 | TARGET can already exist. | |
1671 | * trans-expr.c (gfc_conv_variable): Check for 'current_function_decl'. | |
1672 | (gfc_conv_initializer): Implement non-NULL pointer | |
1673 | initialization. | |
1674 | ||
9a18b99b TB |
1675 | 2010-08-18 Tobias Burnus <burnus@net-b.de> |
1676 | ||
1677 | PR fortran/45295 | |
1678 | * intrinsic.texi (selected_char_kind): Document ISO_10646 | |
1679 | support. | |
1680 | ||
35d3d688 JJ |
1681 | 2010-08-17 Jakub Jelinek <jakub@redhat.com> |
1682 | ||
1683 | PR fortran/45304 | |
1684 | * trans-decl.c (build_library_function_decl_1): Chain on | |
1685 | void_list_node instead of creating a new TREE_LIST. | |
1686 | * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise. | |
1687 | * trans-types.c (gfc_get_function_type): Likewise. Set | |
1688 | typelist to void_list_node for the main program. | |
1689 | ||
571d54de DK |
1690 | 2010-08-17 Daniel Kraft <d@domob.eu> |
1691 | ||
1692 | PR fortran/38936 | |
1693 | * gfortran.h (struct gfc_association_list): New member `where'. | |
1694 | (gfc_is_associate_pointer) New method. | |
1695 | * match.c (gfc_match_associate): Remember locus for each associate | |
1696 | name matched and do not try to set variable flag. | |
1697 | * parse.c (parse_associate): Use remembered locus for symbols. | |
1698 | * primary.c (match_variable): Instead of variable-flag check for | |
1699 | associate names set it for all such names used. | |
1700 | * symbol.c (gfc_is_associate_pointer): New method. | |
1701 | * resolve.c (resolve_block_construct): Don't generate assignments | |
1702 | to give associate-names their values. | |
1703 | (resolve_fl_var_and_proc): Allow associate-names to be deferred-shape. | |
1704 | (resolve_symbol): Set some more attributes for associate variables, | |
1705 | set variable flag here and check it and don't try to build an | |
1706 | explicitely shaped array-spec for array associate variables. | |
1707 | * trans-expr.c (gfc_conv_variable): Dereference in case of association | |
1708 | to scalar variable. | |
1709 | * trans-types.c (gfc_is_nodesc_array): Handle array association symbols. | |
1710 | (gfc_sym_type): Return pointer type for association to scalar vars. | |
1711 | * trans-decl.c (gfc_get_symbol_decl): Defer association symbols. | |
1712 | (trans_associate_var): New method. | |
1713 | (gfc_trans_deferred_vars): Handle association symbols. | |
1714 | ||
c878765b JM |
1715 | 2010-08-16 Joseph Myers <joseph@codesourcery.com> |
1716 | ||
1717 | * lang.opt (MDX): Change back to MD. Mark NoDriverArg instead of | |
1718 | RejectDriver. | |
1719 | (MMDX): Change back to MMD. Mark NoDriverArg instead of | |
1720 | RejectDriver. | |
1721 | * cpp.c (gfc_cpp_handle_option): Use OPT_MD and OPT_MMD instead of | |
1722 | OPT_MDX and OPT_MMDX. | |
1723 | ||
603349bf JM |
1724 | 2010-08-16 Joseph Myers <joseph@codesourcery.com> |
1725 | ||
1726 | * lang.opt (MDX, MMDX): Mark RejectDriver. | |
1727 | ||
d44d2f9a JW |
1728 | 2010-08-15 Janus Weil <janus@gcc.gnu.org> |
1729 | ||
1730 | * trans-expr.c (gfc_trans_assign_vtab_procs): Clean up (we don't have | |
1731 | vtabs for generics any more). | |
1732 | ||
52bf62f9 DK |
1733 | 2010-08-15 Daniel Kraft <d@domob.eu> |
1734 | ||
1735 | PR fortran/38936 | |
1736 | * gfortran.h (gfc_find_proc_namespace): New method. | |
1737 | * expr.c (gfc_build_intrinsic_call): No need to build symtree messing | |
1738 | around with namespace. | |
1739 | * symbol.c (gfc_find_proc_namespace): New method. | |
1740 | * trans-decl.c (gfc_build_qualified_array): Use it for correct | |
1741 | value of nest. | |
1742 | * primary.c (gfc_match_varspec): Handle associate-names as arrays. | |
1743 | * parse.c (parse_associate): Removed assignment-generation here... | |
1744 | * resolve.c (resolve_block_construct): ...and added it here. | |
1745 | (resolve_variable): Handle names that are arrays but were not parsed | |
1746 | as such because of association. | |
1747 | (resolve_code): Fix BLOCK resolution. | |
1748 | (resolve_symbol): Generate array-spec for associate-names. | |
1749 | ||
ba3721c1 TB |
1750 | 2010-08-15 Tobias Burnus <burnus@net-b.de> |
1751 | ||
1752 | PR fortran/45211 | |
1753 | * decl.c (verify_c_interop_param): Remove superfluous space (" "). | |
1754 | (verify_c_interop): Handle unresolved DT with bind(C). | |
1755 | ||
08857b61 TB |
1756 | 2010-08-15 Tobias Burnus <burnus@net-b.de> |
1757 | ||
1758 | * trans-expr.c (gfc_conv_expr_present): Regard nullified | |
1759 | pointer arrays as absent. | |
1760 | (gfc_conv_procedure_call): Handle EXPR_NULL for non-pointer | |
1761 | dummys as absent argument. | |
1762 | * interface.c (compare_actual_formal,compare_parameter): | |
1763 | Ditto. | |
1764 | ||
7d54ef80 TB |
1765 | 2010-08-15 Tobias Burnus <burnus@net-b.de> |
1766 | ||
1767 | * interface.c (compare_pointer, ): Allow passing TARGETs to pointers | |
1768 | dummies with intent(in). | |
1769 | ||
e6c14898 DK |
1770 | 2010-08-15 Daniel Kraft <d@domob.eu> |
1771 | ||
1772 | PR fortran/45197 | |
1773 | * decl.c (gfc_match_prefix): Match IMPURE prefix and mark ELEMENTAL | |
1774 | routines not IMPURE also as PURE. | |
1775 | * intrinsic.c (enum klass): New class `CLASS_PURE' and renamed | |
1776 | `NO_CLASS' in `CLASS_IMPURE'. | |
1777 | (add_sym): Set symbol-attributes `pure' and `elemental' correctly. | |
1778 | (add_sym_0s): Renamed `NO_CLASS' in `CLASS_IMPURE'. | |
1779 | (add_functions): Ditto. | |
1780 | (add_subroutines): Ditto and mark `MOVE_ALLOC' as CLASS_PURE. | |
1781 | * resolve.c (gfc_pure): Do not treat ELEMENTAL as automatically PURE. | |
1782 | (resolve_formal_arglist): Check that arguments to ELEMENTAL procedures | |
1783 | are not ALLOCATABLE and have their INTENT specified. | |
1784 | ||
f5ca06e6 DK |
1785 | 2010-08-13 Daniel Kraft <d@domob.eu> |
1786 | ||
1787 | * gfortran.h (array_type): New type `AS_IMPLIED_SHAPE'. | |
1788 | * array.c (gfc_match_array_spec): Match implied-shape specification and | |
1789 | handle AS_IMPLIED_SHAPE correctly otherwise. | |
1790 | * decl.c (add_init_expr_to_sym): Set upper bounds for implied-shape. | |
1791 | (variable_decl): Some checks for implied-shape declaration. | |
1792 | * resolve.c (resolve_symbol): Assert that array-spec is no longer | |
1793 | AS_IMPLIED_SHAPE in any case. | |
1794 | ||
644fa7ac JM |
1795 | 2010-08-12 Joseph Myers <joseph@codesourcery.com> |
1796 | ||
1797 | * lang.opt (MD, MMD): Change to MDX and MMDX. | |
1798 | * cpp.c (gfc_cpp_handle_option): Use OPT_MMD and OPT_MMDX. | |
1799 | ||
c4aa95f8 JW |
1800 | 2010-08-11 Janus Weil <janus@gcc.gnu.org> |
1801 | ||
1802 | PR fortran/44595 | |
1803 | * intrinsic.c (gfc_current_intrinsic_arg): Change type from 'char' to | |
1804 | 'gfc_intrinsic_arg'. | |
1805 | (check_arglist,check_specific): Add reference to 'name' field. | |
1806 | (init_arglist): Remove reference to 'name' field. | |
1807 | * intrinsic.h (gfc_current_intrinsic_arg): Modify prototype. | |
1808 | * check.c (variable_check): Reverse order of checks. Respect intent of | |
1809 | formal arg. | |
1810 | (int_or_proc_check): New function. | |
1811 | (coarray_check): New function. | |
1812 | (allocatable_check): New function. | |
1813 | (gfc_check_allocated,gfc_check_move_alloc): Use 'allocatable_check'. | |
1814 | (gfc_check_complex): Use 'int_or_real_check'. | |
1815 | (gfc_check_lcobound,gfc_check_image_index,gfc_check_this_image, | |
1816 | gfc_check_ucobound): Use 'coarray_check'. | |
1817 | (gfc_check_pack): Use 'real_or_complex_check'. | |
1818 | (gfc_check_alarm_sub,gfc_check_signal,gfc_check_signal_sub): Use | |
1819 | 'int_or_proc_check'. | |
1820 | (scalar_check,type_check,numeric_check,int_or_real_check, | |
1821 | real_or_complex_check,kind_check,double_check,logical_array_check, | |
1822 | array_check,same_type_check,rank_check,nonoptional_check, | |
1823 | kind_value_check,gfc_check_a_p,gfc_check_associated,gfc_check_cmplx, | |
1824 | gfc_check_cshift,gfc_check_dcmplx,gfc_check_dot_product,gfc_check_dprod, | |
1825 | gfc_check_eoshift,gfc_check_fn_rc2008,gfc_check_index,gfc_check_kind, | |
1826 | gfc_check_matmul,gfc_check_minloc_maxloc,check_reduction,gfc_check_null, | |
1827 | gfc_check_present,gfc_check_reshape,gfc_check_same_type_as, | |
1828 | gfc_check_spread,gfc_check_unpack,gfc_check_random_seed, | |
1829 | gfc_check_getarg,gfc_check_and,gfc_check_storage_size): Add reference | |
1830 | to 'name' field. | |
1831 | ||
da4dbc25 DK |
1832 | 2010-08-10 Daniel Kraft <d@domob.eu> |
1833 | ||
1834 | * gfortran.texi (Interoperability with C): Fix ordering in menu | |
1835 | and add new subsection about pointers. | |
1836 | (Interoperable Subroutines and Functions): Split off the pointer part. | |
1837 | (working with Pointers): New subsection with extended discussion | |
1838 | of pointers (especially procedure pointers). | |
1839 | ||
ee247636 TK |
1840 | 2010-08-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
1841 | ||
1842 | PR fortran/44235 | |
1843 | * array.c (gfc_ref_dimen_size): Add end argument. | |
1844 | If end is non-NULL, calculate it. | |
1845 | (ref_size): Adjust call to gfc_ref_dimen_size. | |
1846 | (gfc_array_dimen_size): Likewise. | |
1847 | (gfc_array_res_shape): Likewise. | |
1848 | * gfortran.h: Adjust prototype for gfc_ref_dimen_size. | |
1849 | * resolve.c (resolve_array_ref): For stride not equal to -1, | |
1850 | fill in the lowest possible end. | |
1851 | ||
1ddfdcf2 JW |
1852 | 2010-08-09 Janus Weil <janus@gcc.gnu.org> |
1853 | ||
1854 | * intrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH. | |
1855 | ||
1145e690 NF |
1856 | 2010-08-07 Nathan Froyd <froydnj@codesourcery.com> |
1857 | ||
1858 | * interface.c (compare_actual_formal): Use XALLOCAVEC instead of | |
1859 | alloca. | |
1860 | (check_some_aliasing): Likewise. | |
1861 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion): Likewise. | |
1862 | (gfc_conv_intrinsic_int): Likewise. | |
1863 | (gfc_conv_intrinsic_lib_function): Likewise. | |
1864 | (gfc_conv_intrinsic_cmplx): Likewise. | |
1865 | (gfc_conv_intrinsic_ctime): Likewise. | |
1866 | (gfc_conv_intrinsic_fdate): Likewise. | |
1867 | (gfc_conv_intrinsic_ttynam): Likewise. | |
1868 | (gfc_conv_intrinsic_minmax): Likewise. | |
1869 | (gfc_conv_intrinsic_minmax_char): Likewise. | |
1870 | (gfc_conv_intrinsic_ishftc): Likewise. | |
1871 | (gfc_conv_intrinsic_index_scan_verify): Likewise. | |
1872 | (gfc_conv_intrinsic_merge): Likewise. | |
1873 | (gfc_conv_intrinsic_trim): Likewise. | |
1874 | * trans.c (gfc_trans_runtime_error_vararg): Likewise. | |
1875 | ||
8a0f25c3 TK |
1876 | 2010-08-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
1877 | ||
1878 | PR fortran/45159 | |
1879 | * dependency.c (check_section_vs_section): Handle cases where | |
1880 | the start expression coincides with the lower or upper | |
1881 | bound of the array. | |
1882 | ||
e10f52d0 JW |
1883 | 2010-08-04 Janus Weil <janus@gcc.gnu.org> |
1884 | ||
1885 | PR fortran/42207 | |
1886 | PR fortran/44064 | |
1887 | PR fortran/44065 | |
1888 | * class.c (gfc_find_derived_vtab): Do not generate vtabs for class | |
1889 | container types. Do not artificially increase refs. Commit symbols one | |
1890 | by one. | |
1891 | * interface.c (compare_parameter): Make sure vtabs are present before | |
1892 | generating module variables. | |
1893 | * resolve.c (resolve_allocate_expr): Ditto. | |
1894 | ||
c130efd5 TB |
1895 | 2010-08-04 Tobias Burnus <burnus@net-b.de> |
1896 | ||
1897 | PR fortran/45183 | |
1898 | PR fortran/44857 | |
1899 | * resolve.c (resolve_structure_cons): Fix | |
1900 | freeing of charlen. | |
1901 | ||
4bc20f3a MM |
1902 | 2010-08-04 Mikael Morin <mikael@gcc.gnu.org> |
1903 | ||
1904 | PR fortran/42051 | |
1905 | PR fortran/44064 | |
1906 | * symbol.c (changed_syms): Made static again. | |
ea5e803f | 1907 | (gfc_symbol_state): Don't conditionalize on GFC_DEBUG. |
4bc20f3a MM |
1908 | Changed conditional internal error into assert. |
1909 | Rename function to ... | |
1910 | (gfc_enforce_clean_symbol_state): ... this. | |
ea5e803f | 1911 | * gfortran.h (gfc_symbol_state, gfc_enforce_clean_symbol_state): |
4bc20f3a MM |
1912 | Rename the former to the latter. |
1913 | * parse.c (decode_statement, decode_omp_directive, | |
1914 | decode_gcc_attribute): Update callers accordingly. Don't conditionalize | |
1915 | on GFC_DEBUG. | |
1916 | (changed_syms): Remove declaration. | |
1917 | (next_statement): Use gfc_enforce_clean_symbol_state. | |
1918 | ||
a48a9173 TB |
1919 | 2010-08-04 Tobias Burnus <burnus@net-b.de> |
1920 | ||
1921 | PR fortran/44857 | |
1922 | * resolve.c (resolve_structure_cons): Fix handling of | |
4bc20f3a | 1923 | initialization structure constructors with character |
a48a9173 TB |
1924 | elements of the wrong length. |
1925 | * array.c (gfc_check_iter_variable): Add NULL check. | |
1926 | (gfc_resolve_character_array_constructor): Also truncate | |
1927 | character length. | |
1928 | ||
a19d2b95 TB |
1929 | 2010-08-04 Tobias Burnus <burnus@net-b.de> |
1930 | ||
1931 | * trans-io.c (gfc_build_io_library_fndecls): Fix return | |
1932 | value of some libgfortran functions. | |
1933 | ||
15b71db3 TK |
1934 | 2010-08-03 Thomas Koenig <tkoenig@gcc.gnu.org> |
1935 | ||
1936 | PR fortran/45159 | |
1937 | * dependency.c (gfc_deb_compare_expr): Remove any integer | |
1938 | conversion functions to larger types from both arguments. | |
1939 | Remove handling these functions futher down. | |
1940 | ||
aea18e92 JW |
1941 | 2010-08-03 Janus Weil <janus@gcc.gnu.org> |
1942 | ||
1943 | PR fortran/44584 | |
1944 | PR fortran/45161 | |
1945 | * class.c (add_procs_to_declared_vtab1): Don't add erroneous procedures. | |
1946 | * resolve.c (resolve_tb_generic_targets): Check for errors. | |
1947 | ||
1d100230 TK |
1948 | 2010-08-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
1949 | ||
1950 | PR fortran/45159 | |
1951 | * depencency.c (gfc_dep_resolver): Fix logic for when a loop | |
1952 | can be reversed. | |
1953 | ||
071bdb5f TK |
1954 | 2010-08-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
1955 | ||
1956 | PR fortran/36854 | |
1957 | * dependency.h: Add prototype for gfc_are_identical_variables. | |
1958 | * frontend-passes.c: Include depencency.h. | |
1959 | (optimimize_equality): Use gfc_are_identical_variables. | |
1960 | * dependency.c (identical_array_ref): New function. | |
1961 | (gfc_are_identical_variables): New function. | |
1962 | (gfc_deb_compare_expr): Use gfc_are_identical_variables. | |
1963 | * dependency.c (gfc_check_section_vs_section). Rename gfc_ | |
1964 | prefix from statc function. | |
1965 | (check_section_vs_section): Change arguments to gfc_array_ref, | |
1966 | adjust function body accordingly. | |
1967 | ||
ef973f3f MM |
1968 | 2010-08-02 Mikael Morin <mikael@gcc.gnu.org> |
1969 | Janus Weil <janus@gcc.gnu.org> | |
1970 | ||
1971 | PR fortran/42051 | |
1972 | PR fortran/44064 | |
1973 | PR fortran/45151 | |
ea5e803f | 1974 | * intrinsic.c (gfc_get_intrinsic_sub_symbol): Commit changed symbol. |
ef973f3f MM |
1975 | * symbol.c (gen_cptr_param, gen_fptr_param, gen_shape_param, |
1976 | gfc_copy_formal_args, gfc_copy_formal_args_intr, | |
1977 | gfc_copy_formal_args_ppc, generate_isocbinding_symbol): Ditto. | |
ea5e803f MM |
1978 | * parse.c (parse_derived_contains, parse_spec, parse_progunit): |
1979 | Call reject_statement in case of error. | |
ef973f3f MM |
1980 | (match_deferred_characteritics): Call gfc_undo_symbols in case match |
1981 | fails. | |
1982 | ||
f3f98a1e JW |
1983 | 2010-08-01 Janus Weil <janus@gcc.gnu.org> |
1984 | ||
1985 | PR fortran/44912 | |
1986 | * class.c (gfc_build_class_symbol): Make '$vptr' component private. | |
1987 | (gfc_find_derived_vtab): Make vtabs and vtypes public. | |
1988 | * module.c (read_module): When reading module files, always import | |
1989 | vtab and vtype symbols. | |
1990 | ||
951d6341 MM |
1991 | 2010-07-31 Mikael Morin <mikael@gcc.gnu.org> |
1992 | ||
1993 | PR fortran/42051 | |
1994 | PR fortran/44064 | |
1995 | * symbol.c (changed_syms): Made non-static. | |
ea5e803f | 1996 | * parse.c (changed_syms): Declare new external. |
951d6341 MM |
1997 | (next_statement): Assert changed_syms is NULL at the beginning. |
1998 | ||
1107bd38 JW |
1999 | 2010-07-30 Janus Weil <janus@gcc.gnu.org> |
2000 | Steven G. Kargl <kargl@gcc.gnu.org> | |
2001 | ||
2002 | PR fortran/44929 | |
2003 | * match.c (match_type_spec): Try to parse derived types before | |
2004 | intrinsic types. | |
2005 | ||
3cb595ac MM |
2006 | 2010-07-30 Mikael Morin <mikael@gcc.gnu.org> |
2007 | ||
2008 | * gfortran.h (gfc_release_symbol): New prototype. | |
2009 | * symbol.c (gfc_release_symbol): New. Code taken from free_sym_tree. | |
2010 | (gfc_undo_symbols, free_sym_tree, gfc_free_finalizer): | |
2011 | Use gfc_release_symbol. | |
2012 | * parse.c (gfc_fixup_sibling_symbols): Ditto. | |
2013 | * resolve.c (resolve_symbol): Ditto. | |
2014 | ||
6a018495 TB |
2015 | 2010-07-29 Tobias Burnus <burnus@net-b.de> |
2016 | ||
2017 | PR fortran/45087 | |
2018 | PR fortran/45125 | |
2019 | * trans-decl.c (gfc_get_extern_function_decl): Correctly handle | |
2020 | external procedure declarations in modules. | |
2021 | (gfc_get_symbol_decl): Modify assert. | |
2022 | ||
6a68e29d JW |
2023 | 2010-07-29 Janus Weil <janus@gcc.gnu.org> |
2024 | ||
2025 | PR fortran/44962 | |
2026 | * resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec. | |
2027 | ||
b2a5eb75 JW |
2028 | 2010-07-29 Janus Weil <janus@gcc.gnu.org> |
2029 | ||
2030 | PR fortran/45004 | |
2031 | * trans-stmt.h (gfc_trans_class_init_assign): New prototype. | |
2032 | (gfc_trans_class_assign): Modified prototype. | |
2033 | * trans.h (gfc_conv_intrinsic_move_alloc): New prototype. | |
2034 | * trans-expr.c (gfc_trans_class_init_assign): Split off from ... | |
2035 | (gfc_trans_class_assign): ... here. Modified actual arguments. | |
2036 | * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to | |
2037 | handle the MOVE_ALLOC intrinsic with scalar and class arguments. | |
2038 | * trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'. | |
2039 | ||
81fb8a48 MM |
2040 | 2010-07-29 Mikael Morin <mikael@gcc.gnu.org> |
2041 | ||
2042 | PR fortran/42051 | |
2043 | PR fortran/44064 | |
2044 | * class.c (gfc_find_derived_vtab): Accept or discard newly created | |
2045 | symbols before returning. | |
2046 | ||
6cfcf3ed JM |
2047 | 2010-07-29 Joseph Myers <joseph@codesourcery.com> |
2048 | ||
2049 | * lang.opt (cpp): Remove Joined and Separate markers. | |
2050 | (cpp=): New internal option. | |
2051 | * lang-specs.h (F951_CPP_OPTIONS): Generate -cpp= option. | |
2052 | * cpp.c (gfc_cpp_handle_option): Handle OPT_cpp_ instead of | |
2053 | OPT_cpp. | |
2054 | ||
2b868bf5 DK |
2055 | 2010-07-29 Daniel Kraft <d@domob.eu> |
2056 | ||
2057 | PR fortran/45117 | |
2058 | * array.c (resolve_array_bound): Fix error message to properly handle | |
2059 | non-variable expressions. | |
2060 | ||
c9d75a48 MM |
2061 | 2010-07-28 Mikael Morin <mikael@gcc.gnu.org> |
2062 | ||
2063 | * decl.c (free_value): Also free repeat field. | |
2064 | * data.c (gfc_assign_data_value): Always free offset before returning. | |
2065 | ||
69dcd06a DK |
2066 | 2010-07-28 Daniel Kraft <d@domob.eu> |
2067 | ||
2068 | * gfortran.h (gfc_build_intrinsic_call): New method. | |
2069 | * expr.c (gfc_build_intrinsic_call): New method. | |
2070 | * simplify.c (range_check): Ignore non-constant value. | |
2071 | (simplify_bound_dim): Handle non-variable expressions and | |
2072 | fix memory leak with non-free'ed expression. | |
2073 | (simplify_bound): Handle non-variable expressions. | |
2074 | (gfc_simplify_shape): Ditto. | |
2075 | (gfc_simplify_size): Ditto, but only in certain cases possible. | |
2076 | ||
eea13ead JM |
2077 | 2010-07-28 Joseph Myers <joseph@codesourcery.com> |
2078 | ||
2079 | * gfortranspec.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): | |
2080 | Remove. | |
2081 | ||
57e15568 TB |
2082 | 2010-07-28 Tobias Burnus <burnus@net-b.de> |
2083 | ||
2084 | PR fortran/45077 | |
2085 | * trans-types.c (gfc_get_derived_type): Fix DT declaration | |
2086 | from modules for whole-file mode. | |
2087 | ||
5f20c657 JM |
2088 | 2010-07-27 Joseph Myers <joseph@codesourcery.com> |
2089 | ||
2090 | * gfortran.h (gfc_handle_option): Update prototype and return | |
2091 | value type. | |
2092 | * options.c (gfc_handle_option): Update prototype and return value | |
2093 | type. | |
2094 | ||
7a9bf9a4 JM |
2095 | 2010-07-27 Joseph Myers <joseph@codesourcery.com> |
2096 | ||
2097 | * cpp.c (gfc_cpp_init_options): Update prototype. Use number of | |
2098 | decoded options in allocating deferred_opt. | |
2099 | * cpp.h (gfc_cpp_init_options): Update prototype. | |
2100 | * f95-lang.c (LANG_HOOKS_OPTION_LANG_MASK): Define. | |
2101 | * gfortran.h (gfc_option_lang_mask): New. | |
2102 | (gfc_init_options): Update prototype. | |
2103 | * options.c (gfc_option_lang_mask): New. | |
2104 | (gfc_init_options): Update prototype. Pass new arguments to | |
2105 | gfc_cpp_init_options. | |
2106 | ||
fb55ca75 TB |
2107 | 2010-07-26 Tobias Burnus <burnus@net-b.de> |
2108 | ||
2109 | PR fortran/40873 | |
2110 | * trans-decl.c (gfc_get_extern_function_decl): Fix generation | |
2111 | for functions which are later in the same file. | |
2112 | (gfc_create_function_decl, build_function_decl, | |
2113 | build_entry_thunks): Add global argument. | |
2114 | * trans.c (gfc_generate_module_code): Update | |
2115 | gfc_create_function_decl call. | |
2116 | * trans.h (gfc_create_function_decl): Update prototype. | |
2117 | * resolve.c (resolve_global_procedure): Also resolve for | |
2118 | IFSRC_IFBODY. | |
2119 | ||
8b84c596 RH |
2120 | 2010-07-26 Richard Henderson <rth@redhat.com> |
2121 | ||
2122 | PR target/44132 | |
2123 | * f95-lang.c (LANG_HOOKS_WRITE_GLOBALS): New. | |
2124 | (gfc_write_global_declarations): New. | |
2125 | ||
71ff73f3 TB |
2126 | 2010-07-26 Tobias Burnus <burnus@net-b.de> |
2127 | ||
2128 | PR fortran/45066 | |
2129 | * trans-io.c (build_dt): Use NULL_TREE rather than NULL | |
2130 | for call to transfer_namelist_element. | |
2131 | * trans-decl.c (gfc_get_symbol_decl): Also set sym->backend_decl | |
2132 | for -fwhole-file. | |
2133 | ||
601d98be TK |
2134 | 2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org> |
2135 | ||
2136 | PR fortran/40628 | |
2137 | * Make-lang.in: Add fortran/frontend-passes.o. | |
2138 | * gfortran.h: Add prototype for gfc_run_passes. | |
2139 | * resolve.c (gfc_resolve): Call gfc_run_passes. | |
2140 | * frontend-passes.c: New file. | |
2141 | ||
32e4257f JD |
2142 | 2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2143 | ||
2144 | PR fortran/42852 | |
2145 | * scanner.c (gfc_next_char_literal): Enable truncation warning for | |
2146 | free-form '&'. | |
2147 | ||
9c15986b JD |
2148 | 2010-07-25 Mikael Morin <mikael@gcc.gnu.org> |
2149 | ||
2150 | PR fortran/44660 | |
2151 | * gfortran.h (gfc_namespace): New field old_equiv. | |
2152 | (gfc_free_equiv_until): New prototype. | |
2153 | * match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with | |
2154 | a parameterized stop condition. | |
2155 | (gfc_free_equiv): Use gfc_free_equiv_until. | |
2156 | * parse.c (next_statement): Save equivalence list. | |
ea5e803f | 2157 | (reject_statement): Restore equivalence list. |
9c15986b | 2158 | |
ac64eec4 JD |
2159 | 2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2160 | ||
2161 | PR fortran/42852 | |
2162 | * scanner.c (gfc_next_char_literal): Move check for truncation earlier | |
2163 | in the function so that it does not get missed by early exits. | |
2164 | (load_line): Add checks for quoted strings and free form comments to | |
2165 | disable warnings on comments. Add check for ampersand as first | |
2166 | character after truncation and don't warn for this case, but warn if | |
2167 | there are subsequent non-whitespace characters. | |
2168 | ||
8569c753 TB |
2169 | 2010-07-24 Tobias Burnus <burnus@net-b.de> |
2170 | ||
2171 | PR fortran/40011 | |
2172 | * parse.c (gfc_parse_file): Do not override | |
2173 | gfc_global_ns_list items. | |
2174 | ||
df161b69 TB |
2175 | 2010-07-24 Tobias Burnus <burnus@net-b.de> |
2176 | ||
2177 | * options.c (gfc_init_options): Enable -fwhole-file by default. | |
2178 | * interface.c (compare_parameter): Assume a Hollerith constant is | |
2179 | compatible with all other argument types. | |
2180 | ||
43afc047 TB |
2181 | 2010-07-23 Tobias Burnus <burnus@net-b.de> |
2182 | ||
2183 | PR fortran/44945 | |
2184 | * trans-decl.c (gfc_get_symbol_decl): Use module decl with | |
2185 | -fwhole-file also for derived types. | |
2186 | * trans-types.c (copy_dt_decls_ifequal): Remove static and | |
2187 | rename to gfc_copy_dt_decls_ifequal. | |
2188 | (gfc_get_derived_type): Update call. | |
2189 | * trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype. | |
2190 | ||
48a32c49 TB |
2191 | 2010-07-23 Tobias Burnus <burnus@net-b.de> |
2192 | ||
2193 | PR fortran/45030 | |
2194 | * resolve.c (resolve_global_procedure): Properly handle ENTRY. | |
2195 | ||
cd3f04c8 JJ |
2196 | 2010-07-23 Jakub Jelinek <jakub@redhat.com> |
2197 | ||
2198 | * trans-types.c (gfc_get_array_descriptor_base, | |
2199 | gfc_get_array_type_bounds): Set TYPE_NAMELESS. | |
2200 | * trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS | |
2201 | instead of clearing DECL_NAME. | |
2202 | (gfc_build_dummy_array_decl): Set DECL_NAMELESS. | |
2203 | ||
3d03ead0 PT |
2204 | 2009-07-23 Paul Thomas <pault@gcc.gnu.org> |
2205 | ||
2206 | PR fortran/24524 | |
2207 | * trans-array.c (gfc_init_loopinfo): Initialize the reverse | |
2208 | field. | |
2209 | gfc_trans_scalarized_loop_end: If reverse set in dimension n, | |
2210 | reverse the scalarization loop. | |
2211 | gfc_conv_resolve_dependencies: Pass the reverse field of the | |
2212 | loopinfo to gfc_dep_resolver. | |
2213 | trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for | |
2214 | assignment by resetting loop.reverse. | |
2215 | gfortran.h : Add the gfc_reverse enum. | |
2216 | trans.h : Add the reverse field to gfc_loopinfo. | |
2217 | dependency.c (gfc_check_dependency): Pass null to the new arg | |
2218 | of gfc_dep_resolver. | |
2219 | (gfc_check_section_vs_section): Check for reverse dependencies. | |
2220 | (gfc_dep_resolver): Add reverse argument and deal with the loop | |
2221 | reversal logic. | |
2222 | dependency.h : Modify prototype for gfc_dep_resolver to include | |
2223 | gfc_reverse *. | |
2224 | ||
61b644c2 DK |
2225 | 2010-07-23 Daniel Kraft <d@domob.eu> |
2226 | ||
2227 | PR fortran/44709 | |
2228 | * gfortran.h (gfc_find_symtree_in_proc): New method. | |
2229 | * symbol.c (gfc_find_symtree_in_proc): New method. | |
2230 | * match.c (match_exit_cycle): Look for loop name also in parent | |
2231 | namespaces within current procedure. | |
2232 | ||
e1d818f7 TB |
2233 | 2010-07-22 Tobias Burnus <burnus@net-b.de> |
2234 | ||
2235 | PR fortran/45019 | |
2236 | * dependency.c (gfc_check_dependency): Add argument alising check. | |
2237 | * symbol.c (gfc_symbols_could_alias): Add argument alising check. | |
2238 | ||
ba3ff5c2 DK |
2239 | 2010-07-22 Daniel Kraft <d@domob.eu> |
2240 | ||
2241 | * trans-stmt.c (gfc_trans_return): Put back in the handling of se.post, | |
2242 | now in the correct place. | |
2243 | ||
6168fc43 SK |
2244 | 2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org> |
2245 | ||
2246 | PR fortran/44929 | |
2247 | * Revert my commit r162325. | |
2248 | ||
d74d8807 DK |
2249 | 2010-07-21 Daniel Kraft <d@domob.eu> |
2250 | ||
2251 | * trans.h (gfc_get_return_label): Removed. | |
2252 | (gfc_generate_return): New method. | |
2253 | (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than | |
2254 | returning a tree directly. | |
2255 | * trans-stmt.c (gfc_trans_return): Use `gfc_generate_return'. | |
2256 | (gfc_trans_block_construct): Update for new interface to | |
2257 | `gfc_trans_deferred_vars'. | |
2258 | * trans-decl.c (current_function_return_label): Removed. | |
2259 | (current_procedure_symbol): New variable. | |
2260 | (gfc_get_return_label): Removed. | |
2261 | (gfc_trans_deferred_vars): Update gfc_wrapped_block rather than | |
2262 | returning a tree directly. | |
2263 | (get_proc_result), (gfc_generate_return): New methods. | |
2264 | (gfc_generate_function_code): Clean up and do init/cleanup here | |
2265 | also with gfc_wrapped_block. Remove return-label but rather | |
2266 | return directly. | |
2267 | ||
13411c9d SK |
2268 | 2010-07-19 Steven G. Kargl <kargl@gcc.gnu.org> |
2269 | ||
2270 | PR fortran/44929 | |
2271 | * fortran/match.c (match_type_spec): Check for derived type before | |
2272 | intrinsic types. | |
2273 | ||
974df0f8 PT |
2274 | 2010-07-19 Paul Thomas <pault@gcc.gnu.org> |
2275 | ||
2276 | PR fortran/42385 | |
2277 | * interface.c (matching_typebound_op): Add argument for the | |
2278 | return of the generic name for the procedure. | |
2279 | (build_compcall_for_operator): Add an argument for the generic | |
2280 | name of an operator procedure and supply it to the expression. | |
2281 | (gfc_extend_expr, gfc_extend_assign): Use the generic name in | |
2282 | calls to the above procedures. | |
2283 | * resolve.c (resolve_typebound_function): Catch procedure | |
2284 | component calls for CLASS objects, check that the vtable is | |
2285 | complete and insert the $vptr and procedure components, to make | |
2286 | the call. | |
2287 | (resolve_typebound_function): The same. | |
2288 | * trans-decl.c (gfc_trans_deferred_vars): Do not deallocate | |
2289 | an allocatable scalar if it is a result. | |
2290 | ||
44c9c01f PT |
2291 | 2010-07-19 Paul Thomas <pault@gcc.gnu.org> |
2292 | ||
2293 | PR fortran/44353 | |
2294 | * match.c (gfc_match_iterator): Reverted. | |
2295 | ||
91e2faaf PT |
2296 | 2010-07-18 Paul Thomas <pault@gcc.gnu.org> |
2297 | ||
2298 | PR fortran/44353 | |
2299 | * match.c (gfc_match_iterator): Remove error that iterator | |
2300 | cannot be INTENT(IN). | |
2301 | ||
9157ccb2 MM |
2302 | 2010-07-17 Mikael Morin <mikael@gcc.gnu.org> |
2303 | ||
2304 | * trans-array.c (gfc_free_ss): Don't free beyond ss rank. | |
2305 | Access subscript through the "dim" field index. | |
2306 | (gfc_trans_create_temp_array): Access ss info through the "dim" field | |
2307 | index. | |
2308 | (gfc_conv_array_index_offset): Ditto. | |
2309 | (gfc_conv_loop_setup): Ditto. | |
2310 | (gfc_conv_expr_descriptor): Ditto. | |
2311 | (gfc_conv_ss_startstride): Ditto. Update call to | |
2312 | gfc_conv_section_startstride. | |
2313 | (gfc_conv_section_startstride): Set values along the array dimension. | |
2314 | Get array dimension directly from the argument. | |
2315 | ||
d2886bc7 JJ |
2316 | 2010-07-15 Jakub Jelinek <jakub@redhat.com> |
2317 | ||
2318 | * trans.h (gfc_string_to_single_character): New prototype. | |
2319 | * trans-expr.c (string_to_single_character): Renamed to ... | |
2320 | (gfc_string_to_single_character): ... this. No longer static. | |
2321 | (gfc_conv_scalar_char_value, gfc_build_compare_string, | |
2322 | gfc_trans_string_copy): Adjust callers. | |
2323 | * config-lang.in (gtfiles): Add fortran/trans-stmt.c. | |
2324 | * trans-stmt.c: Include ggc.h and gt-fortran-trans-stmt.h. | |
2325 | (select_struct): Move to toplevel, add GTY(()). | |
2326 | (gfc_trans_character_select): Optimize SELECT CASE | |
2327 | with character length 1. | |
2328 | ||
910ad8de NF |
2329 | 2010-07-15 Nathan Froyd <froydnj@codesourcery.com> |
2330 | ||
2331 | * f95-lang.c: Carefully replace TREE_CHAIN with DECL_CHAIN. | |
2332 | * trans-common.c: Likewise. | |
2333 | * trans-decl.c: Likewise. | |
2334 | * trans-types.c: Likewise. | |
2335 | * trans.c: Likewise. | |
2336 | ||
ab7306ed JW |
2337 | 2010-07-15 Janus Weil <janus@gcc.gnu.org> |
2338 | ||
2339 | PR fortran/44936 | |
2340 | * resolve.c (resolve_typebound_generic_call): Resolve generic | |
2341 | non-polymorphic type-bound procedure calls to the correct specific | |
2342 | procedure. | |
2343 | (resolve_typebound_subroutine): Remove superfluous code. | |
2344 | ||
0019d498 DK |
2345 | 2010-07-15 Daniel Kraft <d@domob.eu> |
2346 | ||
2347 | PR fortran/44709 | |
2348 | * trans.h (struct gfc_wrapped_block): New struct. | |
2349 | (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods. | |
2350 | (gfc_finish_wrapped_block): New method. | |
2351 | (gfc_init_default_dt): Add new init code to block rather than | |
2352 | returning it. | |
2353 | * trans-array.h (gfc_trans_auto_array_allocation): Use gfc_wrapped_block | |
2354 | (gfc_trans_dummy_array_bias): Ditto. | |
2355 | (gfc_trans_g77_array): Ditto. | |
2356 | (gfc_trans_deferred_array): Ditto. | |
2357 | * trans.c (gfc_add_expr_to_block): Call add_expr_to_chain. | |
2358 | (add_expr_to_chain): New method based on old gfc_add_expr_to_block. | |
2359 | (gfc_start_wrapped_block), (gfc_add_init_cleanup): New methods. | |
2360 | (gfc_finish_wrapped_block): New method. | |
2361 | * trans-array.c (gfc_trans_auto_array_allocation): use gfc_wrapped_block | |
2362 | (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto. | |
2363 | (gfc_trans_deferred_array): Ditto. | |
2364 | * trans-decl.c (gfc_trans_dummy_character): Ditto. | |
2365 | (gfc_trans_auto_character_variable), (gfc_trans_assign_aux_var): Ditto. | |
2366 | (init_intent_out_dt): Ditto. | |
2367 | (gfc_init_default_dt): Add new init code to block rather than | |
2368 | returning it. | |
2369 | (gfc_trans_deferred_vars): Use gfc_wrapped_block to collect all init | |
2370 | and cleanup code and put it all together. | |
2371 | ||
23b10420 JJ |
2372 | 2010-07-15 Jakub Jelinek <jakub@redhat.com> |
2373 | ||
2374 | * trans.h (gfc_build_compare_string): Add CODE argument. | |
2375 | * trans-intrinsic.c (gfc_conv_intrinsic_strcmp): Pass OP to | |
2376 | gfc_build_compare_string. | |
2377 | * trans-expr.c (gfc_conv_expr_op): Pass CODE to | |
2378 | gfc_build_compare_string. | |
2379 | (string_to_single_character): Rename len variable to length. | |
2380 | (gfc_optimize_len_trim): New function. | |
2381 | (gfc_build_compare_string): Add CODE argument. If it is EQ_EXPR | |
2382 | or NE_EXPR and one of the strings is string literal with LEN_TRIM | |
2383 | bigger than the length of the other string, they compare unequal. | |
2384 | ||
79c74300 JJ |
2385 | PR fortran/40206 |
2386 | * trans-stmt.c (gfc_trans_character_select): Always use NULL for high | |
2387 | in CASE_LABEL_EXPR and use NULL for low for the default case. | |
2388 | ||
859b6600 MM |
2389 | 2010-07-14 Mikael Morin <mikael@gcc.gnu.org> |
2390 | ||
2391 | * trans-array.c (gfc_conv_section_upper_bound): Remove | |
ea5e803f | 2392 | (gfc_conv_section_startstride): Don't set the upper bound in the |
9157ccb2 | 2393 | vector subscript case. |
859b6600 MM |
2394 | (gfc_conv_loop_setup): Don't use gfc_conv_section_upper_bound |
2395 | ||
f6199e63 JW |
2396 | 2010-07-14 Janus Weil <janus@gcc.gnu.org> |
2397 | ||
2398 | PR fortran/44925 | |
2399 | * gfortran.h (gfc_is_data_pointer): Remove prototype. | |
2400 | * dependency.c (gfc_is_data_pointer): Make it static. | |
2401 | * intrinsic.texi: Update documentation on C_LOC. | |
2402 | * resolve.c (gfc_iso_c_func_interface): Fix pointer and target checks | |
2403 | and add a check for polymorphic variables. | |
2404 | ||
4ca4be7f JJ |
2405 | 2010-07-14 Jakub Jelinek <jakub@redhat.com> |
2406 | ||
48b19537 JJ |
2407 | * trans-expr.c (string_to_single_character): Also optimize |
2408 | string literals containing a single char followed only by spaces. | |
2409 | (gfc_trans_string_copy): Remove redundant string_to_single_character | |
2410 | calls. | |
2411 | ||
4ca4be7f JJ |
2412 | * trans-decl.c (gfc_build_intrinsic_function_decls, |
2413 | gfc_build_builtin_function_decls): Mark functions as | |
2414 | DECL_PURE_P or TREE_READONLY. | |
2415 | ||
3bb06db4 NF |
2416 | 2010-07-13 Nathan Froyd <froydnj@codesourcery.com> |
2417 | ||
2418 | * trans-decl.c (build_entry_thunks): Call build_call_expr_loc_vec | |
2419 | instead of build_function_call_expr. | |
2420 | * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Likewise. | |
2421 | ||
3f34855a TB |
2422 | 2010-07-13 Tobias Burnus <burnus@net-b.de> |
2423 | Daniel Franke <franke.daniel@gmail.com> | |
2424 | ||
2425 | PR fortran/43665 | |
2426 | * trans.h (gfc_build_library_function_decl_with_spec): New prototype. | |
2427 | * trans-decl.c (gfc_build_library_function_decl_with_spec): Removed | |
2428 | static. | |
2429 | * trans-io (gfc_build_io_library_fndecls): Add "fn spec" annotations. | |
2430 | ||
6368f166 DF |
2431 | 2010-07-13 Daniel Franke <franke.daniel@gmail.com> |
2432 | Tobias Burnus <burnus@net-b.de> | |
2433 | ||
2434 | PR fortran/43665 | |
2435 | * trans-decl.c (gfc_build_intrinsic_function_decls): Add | |
2436 | noclobber/noescape annotations to function calls. | |
2437 | (gfc_build_builtin_function_decls): Likewise. | |
2438 | ||
88ce8031 JW |
2439 | 2010-07-13 Janus Weil <janus@gcc.gnu.org> |
2440 | ||
2441 | PR fortran/44434 | |
2442 | PR fortran/44565 | |
2443 | PR fortran/43945 | |
2444 | PR fortran/44869 | |
2445 | * gfortran.h (gfc_find_derived_vtab): Modified prototype. | |
2446 | * class.c (gfc_build_class_symbol): Modified call to | |
2447 | 'gfc_find_derived_vtab'. | |
2448 | (add_proc_component): Removed, moved code into 'add_proc_comp'. | |
2449 | (add_proc_comps): Renamed to 'add_proc_comp', removed treatment of | |
2450 | generics. | |
2451 | (add_procs_to_declared_vtab1): Removed unnecessary argument 'resolved'. | |
2452 | Removed treatment of generics. | |
2453 | (copy_vtab_proc_comps): Removed unnecessary argument 'resolved'. | |
2454 | Call 'add_proc_comp' instead of duplicating code. | |
2455 | (add_procs_to_declared_vtab): Removed unnecessary arguments 'resolved' | |
2456 | and 'declared'. | |
2457 | (add_generic_specifics,add_generics_to_declared_vtab): Removed. | |
2458 | (gfc_find_derived_vtab): Removed unnecessary argument 'resolved'. | |
2459 | Removed treatment of generics. | |
2460 | * iresolve.c (gfc_resolve_extends_type_of): Modified call to | |
2461 | 'gfc_find_derived_vtab'. | |
2462 | * resolve.c (resolve_typebound_function,resolve_typebound_subroutine): | |
2463 | Removed treatment of generics. | |
2464 | (resolve_select_type,resolve_fl_derived): Modified call to | |
2465 | 'gfc_find_derived_vtab'. | |
2466 | * trans-decl.c (gfc_get_symbol_decl): Ditto. | |
2467 | * trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign): | |
2468 | Ditto. | |
2469 | * trans-stmt.c (gfc_trans_allocate): Ditto. | |
2470 | ||
c8dce2cf JD |
2471 | 2010-07-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2472 | ||
2473 | PR fortran/37077 | |
2474 | * trans-io.c (build_dt): Set common.unit to flag chracter(kind=4) | |
2475 | internal unit. | |
2476 | ||
04a17bb6 MM |
2477 | 2010-07-12 Mikael Morin <mikael@gcc.gnu.org> |
2478 | ||
2479 | * expr.c (gfc_get_int_expr): Don't initialize mpfr data twice. | |
2480 | * resolve.c (build_default_init_expr): Ditto. | |
2481 | ||
ee08f2e5 TB |
2482 | 2010-07-11 Tobias Burnus <burnus@net-b.de> |
2483 | ||
2484 | PR fortran/44702 | |
2485 | * module.c (sort_iso_c_rename_list): Remove. | |
2486 | (import_iso_c_binding_module,use_iso_fortran_env_module): | |
2487 | Allow multiple imports of the same symbol. | |
2488 | ||
f67df2ca MM |
2489 | 2010-07-11 Mikael Morin <mikael@gcc.gnu.org> |
2490 | ||
2491 | * arith.c (gfc_arith_done_1): Release mpfr internal caches. | |
2492 | ||
d40477b4 JW |
2493 | 2010-07-11 Janus Weil <janus@gcc.gnu.org> |
2494 | ||
160ea5dd | 2495 | PR fortran/44869 |
d40477b4 JW |
2496 | * decl.c (build_sym,attr_decl1): Only build the class container if the |
2497 | symbol has sufficient attributes. | |
2498 | * expr.c (gfc_check_pointer_assign): Use class_pointer instead of | |
2499 | pointer attribute for classes. | |
2500 | * match.c (gfc_match_allocate,gfc_match_deallocate): Ditto. | |
2501 | * module.c (MOD_VERSION): Bump. | |
2502 | (enum ab_attribute,attr_bits): Add AB_CLASS_POINTER. | |
2503 | (mio_symbol_attribute): Handle class_pointer attribute. | |
2504 | * parse.c (parse_derived): Use class_pointer instead of pointer | |
2505 | attribute for classes. | |
2506 | * primary.c (gfc_variable_attr,gfc_expr_attr): Ditto. | |
2507 | * resolve.c (resolve_structure_cons,resolve_deallocate_expr, | |
2508 | resolve_allocate_expr,resolve_fl_derived): Ditto. | |
2509 | (resolve_fl_var_and_proc): Check for class_ok attribute. | |
2510 | ||
35151cd5 MM |
2511 | 2010-07-10 Mikael Morin <mikael@gcc.gnu.org> |
2512 | ||
2513 | * trans-io.c (gfc_build_st_parameter): Update calls to | |
2514 | gfc_add_field_to_struct. | |
2515 | * trans-stmt.c (ADD_FIELD): Ditto. | |
2516 | * trans-types.c | |
2517 | (gfc_get_derived_type): Ditto. Don't create backend_decl for C_PTR's | |
9157ccb2 | 2518 | C_ADDRESS field. |
35151cd5 MM |
2519 | (gfc_add_field_to_struct_1): Set TYPE_FIELDS(context) instead of |
2520 | fieldlist, remove fieldlist from argument list. | |
2521 | (gfc_add_field_to_struct): Update call to gfc_add_field_to_struct_1 | |
9157ccb2 | 2522 | and remove fieldlist from argument list. |
35151cd5 MM |
2523 | (gfc_get_desc_dim_type, gfc_get_array_descriptor_base, |
2524 | gfc_get_mixed_entry_union): Move setting | |
2525 | TYPE_FIELDS to gfc_add_field_to_struct_1 and update calls to it. | |
2526 | * trans-types.h (gfc_add_field_to_struct): Update prototype. | |
2527 | ||
022e30c0 PT |
2528 | 2010-07-10 Paul Thomas <pault@gcc.gnu.org> |
2529 | ||
2530 | PR fortran/44773 | |
2531 | * trans-expr.c (arrayfunc_assign_needs_temporary): No temporary | |
2532 | if the lhs has never been host associated, as well as not being | |
2533 | use associated, a pointer or a target. | |
2534 | * resolve.c (resolve_variable): Mark variables that are host | |
2535 | associated. | |
2536 | * gfortran.h: Add the host_assoc bit to the symbol_attribute | |
2537 | structure. | |
2538 | ||
6685e806 JW |
2539 | 2010-07-09 Janus Weil <janus@gcc.gnu.org> |
2540 | ||
2541 | * intrinsic.texi: Add documentation for SAME_TYPE_AS, EXTENDS_TYPE_OF, | |
2542 | STORAGE_SIZE, C_NULL_PTR and C_NULL_FUNPTR. Modify documentation of | |
2543 | SIZEOF and C_SIZEOF. | |
2544 | ||
048510c8 JW |
2545 | 2010-07-08 Janus Weil <janus@gcc.gnu.org> |
2546 | ||
2547 | PR fortran/44649 | |
2548 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_C_SIZEOF,GFC_ISYM_STORAGE_SIZE. | |
2549 | * intrinsic.h (gfc_check_c_sizeof,gfc_check_storage_size, | |
2550 | gfc_resolve_storage_size): New prototypes. | |
2551 | * check.c (gfc_check_c_sizeof,gfc_check_storage_size): New functions. | |
2552 | * intrinsic.c (add_functions): Add STORAGE_SIZE. | |
2553 | * iresolve.c (gfc_resolve_storage_size): New function. | |
2554 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Handle polymorphic | |
2555 | arguments. | |
2556 | (gfc_conv_intrinsic_storage_size): New function. | |
2557 | (gfc_conv_intrinsic_function): Handle STORAGE_SIZE. | |
2558 | ||
84fa59a7 JJ |
2559 | 2010-07-08 Jakub Jelinek <jakub@redhat.com> |
2560 | ||
2561 | PR fortran/44847 | |
2562 | * match.c (match_exit_cycle): Error on EXIT also from collapsed | |
2563 | !$omp do loops. Error on CYCLE to non-innermost collapsed | |
2564 | !$omp do loops. | |
2565 | ||
7aa0849a TB |
2566 | 2010-07-08 Tobias Burnus <burnus@net-b.de> |
2567 | ||
2568 | PR fortran/18918 | |
2569 | * array.c (gfc_match_array_ref): Better error message for | |
2570 | coarrays with too few ranks. | |
2571 | (match_subscript): Move one diagnostic to caller. | |
2572 | * gfortran.h (gfc_get_corank): Add prottype. | |
2573 | * expr.c (gfc_get_corank): New function. | |
2574 | * iresolve.c (resolve_bound): Fix rank for cobounds. | |
2575 | (gfc_resolve_lbound,gfc_resolve_lcobound, gfc_resolve_ubound, | |
2576 | gfc_resolve_ucobound, gfc_resolve_this_image): Update | |
2577 | resolve_bound call. | |
2578 | ||
928f0490 TB |
2579 | 2010-07-06 Tobias Burnus <burnus@net-b.de> |
2580 | ||
2581 | PR fortran/44742 | |
2582 | * array.c (gfc_expand_constructor): Add optional diagnostic. | |
2583 | * gfortran.h (gfc_expand_constructor): Update prototype. | |
2584 | * expr.c (gfc_simplify_expr, check_init_expr, | |
2585 | gfc_reduce_init_expr): Update gfc_expand_constructor call. | |
2586 | * resolve.c (gfc_resolve_expr): Ditto. | |
2587 | ||
c829d016 TB |
2588 | 2010-07-06 Tobias Burnus <burnus@net-b.de> |
2589 | ||
2590 | * trans-decl.c: Include diagnostic-core.h besides toplev.h. | |
2591 | * trans-intrinsic.c: Ditto. | |
2592 | * trans-types.c: Ditto. | |
2593 | * convert.c: Include diagnostic-core.h instead of toplev.h. | |
2594 | * options.c: Ditto. | |
2595 | * trans-array.c: Ditto. | |
2596 | * trans-const.c: Ditto. | |
2597 | * trans-expr.c: Ditto. | |
2598 | * trans-io.c: Ditto. | |
2599 | * trans-openmp.c: Ditto. | |
2600 | * trans.c: Ditto. | |
2601 | ||
7114ab45 TK |
2602 | 2010-07-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
2603 | ||
2604 | PR fortran/PR44693 | |
2605 | * check.c (dim_rank_check): Also check intrinsic functions. | |
2606 | Adjust permissible rank for functions which reduce the rank of | |
2607 | their argument. Spread is an exception, where DIM can | |
2608 | be one larger than the rank of array. | |
2609 | ||
92336ae1 SK |
2610 | 2010-07-05 Steven G. Kargl <kargl@gcc.gnu.org> |
2611 | ||
9e6d8a0d | 2612 | PR fortran/44797 |
92336ae1 SK |
2613 | * fortran/io.c (resolve_tag): Check EXIST tag is a default logical. |
2614 | ||
0a8c9a13 PT |
2615 | 2010-07-05 Paul Thomas <pault@gcc.gnu.org> |
2616 | ||
2617 | PR fortran/44596 | |
2618 | * trans-types.c (gfc_get_derived_type): Derived type fields | |
2619 | with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set | |
2620 | but build_pointer_type_for_mode must be used for this. | |
2621 | ||
989ea525 NF |
2622 | 2010-07-05 Nathan Froyd <froydnj@codesourcery.com> |
2623 | ||
2624 | * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree. | |
2625 | * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new | |
2626 | type of gfc_conv_procedure_call. | |
2627 | (conv_generic_with_optional_char_arg): Likewise. | |
2628 | * trans-stmt.c (gfc_trans_call): Likewise. | |
2629 | * trans-expr.c (gfc_conv_function_expr): Likewise. | |
2630 | (gfc_conv_procedure_call): Use build_call_vec instead of | |
2631 | build_call_list. | |
2632 | ||
b8e0aa85 DK |
2633 | 2010-07-04 Daniel Kraft <d@domob.eu> |
2634 | ||
2635 | * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE. | |
2636 | ||
c9dfc414 PT |
2637 | 2010-07-04 Paul Thomas <pault@gcc.gnu.org> |
2638 | ||
2639 | PR fortran/44596 | |
2640 | PR fortran/44745 | |
2641 | * trans-types.c (gfc_get_derived_type): Derived type fields | |
2642 | with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set. | |
2643 | ||
ff5b6492 MM |
2644 | 2010-07-02 Mikael Morin <mikael@gcc.gnu.org> |
2645 | ||
2646 | PR fortran/44662 | |
2647 | * decl.c (match_procedure_in_type): Clear structure before using. | |
2648 | (gfc_match_generic): Ditto. | |
2649 | ||
dfd6ece2 NF |
2650 | 2010-07-02 Nathan Froyd <froydnj@codesourcery.com> |
2651 | ||
2652 | * trans-types.h (gfc_add_field_to_struct): Add tree ** parameter. | |
2653 | * trans-types.c (gfc_add_field_to_struct_1): New function, most | |
2654 | of which comes from... | |
2655 | (gfc_add_field_to_struct): ...here. Call it. Add new parameter. | |
2656 | (gfc_get_desc_dim_type): Call gfc_add_field_to_struct_1 for | |
2657 | building fields. | |
2658 | (gfc_get_array_descriptor_base): Likewise. | |
2659 | (gfc_get_mixed_entry_union): Likewise. | |
2660 | (gfc_get_derived_type): Add extra chain parameter for | |
2661 | gfc_add_field_to_struct. | |
2662 | * trans-stmt.c (gfc_trans_character_select): Likewise. | |
2663 | * trans-io.c (gfc_build_st_parameter): Likewise. | |
2664 | ||
68d8db77 JW |
2665 | 2010-06-29 Janus Weil <janus@gcc.gnu.org> |
2666 | ||
2667 | PR fortran/44718 | |
2668 | * resolve.c (is_external_proc): Prevent procedure pointers from being | |
2669 | regarded as external procedures. | |
2670 | ||
0e3b941e JW |
2671 | 2010-06-29 Janus Weil <janus@gcc.gnu.org> |
2672 | ||
2673 | PR fortran/44696 | |
2674 | * trans-intrinsic.c (gfc_conv_associated): Handle polymorphic variables | |
2675 | passed as second argument of ASSOCIATED. | |
2676 | ||
42488c1b PT |
2677 | 2010-06-29 Paul Thomas <pault@gcc.gnu.org> |
2678 | ||
2679 | PR fortran/44582 | |
2680 | * trans-expr.c (arrayfunc_assign_needs_temporary): New function | |
2681 | to determine if a function assignment can be made without a | |
2682 | temporary. | |
2683 | (gfc_trans_arrayfunc_assign): Move all the conditions that | |
2684 | suppress the direct function call to the above new functon and | |
2685 | call it. | |
2686 | ||
a516520c PT |
2687 | 2010-06-28 Paul Thomas <pault@gcc.gnu.org> |
2688 | ||
2689 | PR fortran/40158 | |
2690 | * interface.c (argument_rank_mismatch): New function. | |
2691 | (compare_parameter): Call new function instead of generating | |
2692 | the error directly. | |
2693 | ||
04924d6a NF |
2694 | 2010-06-28 Nathan Froyd <froydnj@codesourcery.com> |
2695 | ||
2696 | * trans-openmp.c (dovar_init): Define. Define VECs containing it. | |
2697 | (gfc_trans_omp_do): Use a VEC to accumulate variables and their | |
2698 | initializers. | |
2699 | ||
3b06d379 SB |
2700 | 2010-06-28 Steven Bosscher <steven@gcc.gnu.org> |
2701 | ||
2702 | * Make-lang.in: Update dependencies. | |
2703 | ||
e7041633 NF |
2704 | 2010-06-27 Nathan Froyd <froydnj@codesourcery.com> |
2705 | ||
2706 | * gfortran.h (gfc_code): Split backend_decl field into cycle_label | |
2707 | and exit_label fields. | |
2708 | * trans-openmp.c (gfc_trans_omp_do): Assign to new fields | |
2709 | individually. | |
2710 | * trans-stmt.c (gfc_trans_simple_do): Likewise. | |
2711 | (gfc_trans_do): Likewise. | |
2712 | (gfc_trans_do_while): Likewise. | |
2713 | (gfc_trans_cycle): Use cycle_label directly. | |
2714 | (gfc_trans_exit): Use exit_label directly. | |
2715 | ||
7ed979b9 DK |
2716 | 2010-06-27 Daniel Kraft <d@domob.eu> |
2717 | ||
2718 | * dump-parse-tree.c (show_symbol): Dump target-expression for | |
2719 | associate names. | |
2720 | (show_code_node): Make distinction between BLOCK and ASSOCIATE. | |
2721 | (show_namespace): Use show_level for correct indentation of | |
2722 | "inner namespaces" (contained procedures or BLOCK). | |
2723 | ||
c6c15a14 TK |
2724 | 2010-06-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
2725 | ||
2726 | PR fortran/44678 | |
2727 | * dump-parse-tree.c (show_code_node): Show namespace for | |
2728 | EXEC_BLOCK. | |
2729 | ||
0fb56814 TB |
2730 | 2010-06-26 Tobias Burnus <burnus@net-b.de> |
2731 | ||
2732 | * decl.c (gfc_match_decl_type_spec): Support | |
2733 | TYPE(intrinsic-type-spec). | |
2734 | ||
01349049 TB |
2735 | 2010-06-25 Tobias Burnus <burnus@net-b.de> |
2736 | ||
2737 | * intrinsic.h (gfc_check_selected_real_kind, | |
2738 | gfc_simplify_selected_real_kind): Update prototypes. | |
2739 | * intrinsic.c (add_functions): Add radix support to | |
2740 | selected_real_kind. | |
2741 | * check.c (gfc_check_selected_real_kind): Ditto. | |
2742 | * simplify.c (gfc_simplify_selected_real_kind): Ditto. | |
2743 | * trans-decl.c (gfc_build_intrinsic_function_decls): | |
2744 | Change call from selected_real_kind to selected_real_kind2008. | |
2745 | * intrinsic.texi (SELECTED_REAL_KIND): Update for radix. | |
2746 | (PRECISION, RANGE, RADIX): Add cross @refs. | |
2747 | ||
58fc89f6 TB |
2748 | 2010-06-25 Tobias Burnus <burnus@net-b.de> |
2749 | ||
2750 | * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS. | |
2751 | * gfortran.texi (_gfortran_set_options): Update for | |
2752 | GFC_STD_F2008_OBS addition. | |
2753 | * libgfortran.h: Add GFC_STD_F2008_OBS. | |
2754 | * options.c (set_default_std_flags, gfc_handle_option): Handle | |
2755 | GFC_STD_F2008_OBS. | |
2756 | io.c (check_format): Fix allow_std check. | |
2757 | ||
272001a2 TB |
2758 | 2010-06-25 Tobias Burnus <burnus@net-b.de> |
2759 | ||
2760 | * decl.c (gfc_match_entry): Allow END besides | |
2761 | END SUBROUTINE/END FUNCTION for contained procedures. | |
2762 | ||
c6c73c51 TB |
2763 | 2010-06-25 Tobias Burnus <burnus@net-b.de> |
2764 | ||
2765 | * parse.c (next_free, next_fixed): Allow ";" as first character. | |
2766 | ||
d646bbce TB |
2767 | 2010-06-24 Tobias Burnus <burnus@net-b.de> |
2768 | ||
2769 | PR fortran/44614 | |
2770 | * decl.c (variable_decl): Fix IMPORT diagnostic for CLASS. | |
2771 | ||
5cd2f815 JW |
2772 | 2010-06-22 Janus Weil <janus@gcc.gnu.org> |
2773 | ||
2774 | PR fortran/44616 | |
2775 | * resolve.c (resolve_fl_derived): Avoid checking for abstract on class | |
2776 | containers. | |
2777 | ||
fe4e525c TB |
2778 | 2010-06-21 Tobias Burnus <burnus@net-b.de> |
2779 | ||
2780 | PR fortran/40632 | |
2781 | * interface.c (compare_parameter): Add gfc_is_simply_contiguous | |
2782 | checks. | |
2783 | * symbol.c (gfc_add_contiguous): New function. | |
2784 | (gfc_copy_attr, check_conflict): Handle contiguous attribute. | |
2785 | * decl.c (match_attr_spec): Ditto. | |
2786 | (gfc_match_contiguous): New function. | |
2787 | * resolve.c (resolve_fl_derived, resolve_symbol): Handle | |
2788 | contiguous. | |
2789 | * gfortran.h (symbol_attribute): Add contiguous. | |
2790 | (gfc_is_simply_contiguous): Add prototype. | |
2791 | (gfc_add_contiguous): Add prototype. | |
2792 | * match.h (gfc_match_contiguous): Add prototype. | |
2793 | * parse.c (decode_specification_statement, | |
2794 | decode_statement): Handle contiguous attribute. | |
2795 | * expr.c (gfc_is_simply_contiguous): New function. | |
2796 | * dump-parse-tree.c (show_attr): Handle contiguous. | |
2797 | * module.c (ab_attribute, attr_bits, mio_symbol_attribute): | |
2798 | Ditto. | |
2799 | * trans-expr.c (gfc_add_interface_mapping): Copy | |
2800 | attr.contiguous. | |
2801 | * trans-array.c (gfc_conv_descriptor_stride_get, | |
2802 | gfc_conv_array_parameter): Handle contiguous arrays. | |
2803 | * trans-types.c (gfc_build_array_type, gfc_build_array_type, | |
2804 | gfc_sym_type, gfc_get_derived_type, gfc_get_array_descr_info): | |
2805 | Ditto. | |
2806 | * trans.h (gfc_array_kind): Ditto. | |
2807 | * trans-decl.c (gfc_get_symbol_decl): Ditto. | |
2808 | ||
6e2f1956 JM |
2809 | 2010-06-20 Joseph Myers <joseph@codesourcery.com> |
2810 | ||
2811 | * options.c (gfc_handle_option): Don't handle N_OPTS. | |
2812 | ||
1304f582 JW |
2813 | 2010-06-19 Janus Weil <janus@gcc.gnu.org> |
2814 | ||
2815 | PR fortran/44584 | |
2816 | * resolve.c (resolve_fl_derived): Reverse ordering of conditions | |
2817 | to avoid ICE. | |
2818 | ||
ddf58e42 TB |
2819 | 2010-06-18 Tobias Burnus <burnus@net-b.de> |
2820 | ||
2821 | PR fortran/44556 | |
2822 | * resolve.c (resolve_allocate_deallocate): Properly check | |
2823 | part-refs in stat=/errmsg= for invalid use. | |
2824 | ||
8399a0cc JW |
2825 | 2010-06-17 Janus Weil <janus@gcc.gnu.org> |
2826 | ||
2827 | PR fortran/44558 | |
2828 | * resolve.c (resolve_typebound_function,resolve_typebound_subroutine): | |
2829 | Return directly in case of an error. | |
2830 | ||
3e15518b JW |
2831 | 2010-06-16 Janus Weil <janus@gcc.gnu.org> |
2832 | ||
2833 | PR fortran/44549 | |
2834 | * gfortran.h (gfc_get_typebound_proc): Modified Prototype. | |
2835 | * decl.c (match_procedure_in_type): Give a unique gfc_typebound_proc | |
2836 | structure to each procedure in a procedure list. | |
2837 | * module.c (mio_typebound_proc): Add NULL argument to | |
2838 | 'gfc_get_typebound_proc'. | |
2839 | * symbol.c (gfc_get_typebound_proc): Add a new argument, which is used | |
2840 | to initialize the new structure. | |
2841 | ||
94bff632 JW |
2842 | 2010-06-15 Janus Weil <janus@gcc.gnu.org> |
2843 | ||
2844 | PR fortran/43388 | |
2845 | * gfortran.h (gfc_expr): Add new member 'mold'. | |
2846 | * match.c (gfc_match_allocate): Implement the MOLD tag. | |
2847 | * resolve.c (resolve_allocate_expr): Ditto. | |
2848 | * trans-stmt.c (gfc_trans_allocate): Ditto. | |
2849 | ||
79943d19 JJ |
2850 | 2010-06-15 Jakub Jelinek <jakub@redhat.com> |
2851 | ||
2852 | PR fortran/44536 | |
2853 | * trans-openmp.c (gfc_omp_predetermined_sharing): Don't return | |
2854 | OMP_CLAUSE_DEFAULT_SHARED for artificial vars with | |
2855 | GFC_DECL_SAVED_DESCRIPTOR set. | |
2856 | (gfc_omp_report_decl): New function. | |
2857 | * trans.h (gfc_omp_report_decl): New prototype. | |
2858 | * f95-lang.c (LANG_HOOKS_OMP_REPORT_DECL): Redefine. | |
2859 | ||
d8ddea40 DF |
2860 | 2010-06-13 Daniel Franke <franke.daniel@gmail.com> |
2861 | ||
2862 | PR fortran/31588 | |
2863 | PR fortran/43954 | |
2864 | * gfortranspec.c (lang_specific_driver): Removed deprecation | |
2865 | warning for -M. | |
2866 | * lang.opt: Add options -M, -MM, -MD, -MMD, -MF, -MG, -MP, -MT, -MQ. | |
2867 | * lang-specs.h (CPP_FORWARD_OPTIONS): Add -M* options. | |
2868 | * cpp.h (gfc_cpp_makedep): New. | |
2869 | (gfc_cpp_add_dep): New. | |
2870 | (gfc_cpp_add_target): New. | |
2871 | * cpp.c (gfc_cpp_option): Add deps* members. | |
2872 | (gfc_cpp_makedep): New. | |
2873 | (gfc_cpp_add_dep): New. | |
2874 | (gfc_cpp_add_target): New. | |
2875 | (gfc_cpp_init_options): Initialize new options. | |
2876 | (gfc_cpp_handle_option): Handle new options. | |
2877 | (gfc_cpp_post_options): Map new options to libcpp-options. | |
2878 | (gfc_cpp_init): Handle deferred -MQ and -MT options. | |
2879 | (gfc_cpp_done): If requested, write dependencies to file. | |
2880 | * module.c (gfc_dump_module): Add a module filename as target. | |
2881 | * scanner.c (open_included_file): New parameter system; add the | |
2882 | included file as dependency. | |
2883 | (gfc_open_included_file): Add the included file as dependency. | |
2884 | (gfc_open_intrinsic_module): Likewise. | |
2885 | * invoke.texi: Removed deprecation warning for -M. | |
2886 | * gfortran.texi: Removed Makefile-dependencies project. | |
2887 | ||
1b1a6626 DF |
2888 | 2010-06-12 Daniel Franke <franke.daniel@gmail.com> |
2889 | ||
2890 | * resolve.c (resolve_global_procedure): Improved checking if an | |
2891 | explicit interface is required. | |
2892 | ||
6cd8d93a FXC |
2893 | 2010-06-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2894 | ||
2895 | * trans-decl.c (gfc_build_intrinsic_function_decls): Fix | |
2896 | return type. | |
2897 | * trans-intrinsic.c (gfc_conv_intrinsic_fdate): Fix argument type. | |
2898 | (gfc_conv_intrinsic_ttynam): Likewise. | |
2899 | (gfc_conv_intrinsic_trim): Likewise. | |
2900 | ||
1be17993 JW |
2901 | 2010-06-12 Janus Weil <janus@gcc.gnu.org> |
2902 | ||
2903 | PR fortran/40117 | |
2904 | * decl.c (match_procedure_in_type): Allow procedure lists (F08). | |
2905 | ||
1826e883 FXC |
2906 | 2010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2907 | ||
2908 | * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Fix comment. | |
2909 | ||
2921157d FXC |
2910 | 2010-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2911 | ||
2912 | * mathbuiltins.def: Add builtins that do not directly correspond | |
2913 | to a Fortran intrinsic, with new macro OTHER_BUILTIN. | |
2914 | * f95-lang.c (gfc_init_builtin_functions): Define OTHER_BUILTIN. | |
2915 | * trans-intrinsic.c (gfc_intrinsic_map_t): Remove | |
2916 | code_{r,c}{4,8,10,16} fields. Add | |
2917 | {,complex}{float,double,long_double}_built_in fields. | |
2918 | (gfc_intrinsic_map): Adjust definitions of DEFINE_MATH_BUILTIN, | |
2919 | DEFINE_MATH_BUILTIN_C and LIB_FUNCTION accordingly. Add | |
2920 | definition of OTHER_BUILTIN. | |
2921 | (real_compnt_info): Remove unused struct. | |
2922 | (builtin_decl_for_precision, builtin_decl_for_float_kind): New | |
2923 | functions. | |
2924 | (build_round_expr): Call builtin_decl_for_precision instead of | |
2925 | series of if-else. | |
2926 | (gfc_conv_intrinsic_aint): Call builtin_decl_for_float_kind | |
2927 | instead of a switch. | |
2928 | (gfc_build_intrinsic_lib_fndecls): Match | |
2929 | {real,complex}{4,8,10,16}decl into the C-style built_in_decls. | |
2930 | (gfc_get_intrinsic_lib_fndecl): Do not hardcode floating-point | |
2931 | kinds. | |
2932 | (gfc_conv_intrinsic_lib_function): Go through all the extended | |
2933 | gfc_intrinsic_map. | |
2934 | (gfc_trans_same_strlen_check): Call builtin_decl_for_float_kind | |
2935 | instead of a switch. | |
2936 | (gfc_conv_intrinsic_abs): Likewise. | |
2937 | (gfc_conv_intrinsic_mod): Likewise. | |
2938 | (gfc_conv_intrinsic_sign): Likewise. | |
2939 | (gfc_conv_intrinsic_fraction): Likewise. | |
2940 | (gfc_conv_intrinsic_nearest): Likewise. | |
2941 | (gfc_conv_intrinsic_spacing): Likewise. | |
2942 | (gfc_conv_intrinsic_rrspacing): Likewise. | |
2943 | (gfc_conv_intrinsic_scale): Likewise. | |
2944 | (gfc_conv_intrinsic_set_exponent): Likewise. | |
2945 | ||
92bb7768 PT |
2946 | 2010-06-11 Paul Thomas <pault@gcc.gnu.org> |
2947 | ||
2948 | PR fortran/42051 | |
2949 | PR fortran/43896 | |
2950 | * trans-expr.c (gfc_conv_derived_to_class): Handle array-valued | |
2951 | functions with CLASS formal arguments. | |
2952 | ||
66051b60 JW |
2953 | 2010-06-10 Janus Weil <janus@gcc.gnu.org> |
2954 | ||
2955 | PR fortran/44207 | |
2956 | * resolve.c (conformable_arrays): Handle allocatable components. | |
2957 | ||
f14b9067 FXC |
2958 | 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2959 | ||
2960 | PR fortran/38273 | |
2961 | * gfortran.texi: Document that Cray pointers cannot be function | |
2962 | results. | |
2963 | ||
2964 | 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
2965 | ||
2966 | PR fortran/36234 | |
2967 | * gfortran.texi: Document lack of support for syntax | |
2968 | "complex FUNCTION name*16()", and existence of alternative | |
2969 | legacy syntax "complex*16 FUNCTION name()". | |
2970 | ||
da12c997 FXC |
2971 | 2010-06-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2972 | ||
2973 | PR fortran/43032 | |
2974 | * intrinsic.texi (FLUSH): Note the difference between FLUSH and | |
2975 | POSIX's fsync(), and how to call the latter from Fortran code. | |
2976 | ||
84efddb2 DF |
2977 | 2010-06-10 Daniel Franke <franke.daniel@gmail.com> |
2978 | ||
2979 | PR fortran/44457 | |
2980 | * interface.c (compare_actual_formal): Reject actual arguments with | |
2981 | array subscript passed to ASYNCHRONOUS dummys. | |
2982 | ||
03af1e4c DK |
2983 | 2010-06-10 Daniel Kraft <d@domob.eu> |
2984 | ||
2985 | PR fortran/38936 | |
2986 | * gfortran.h (enum gfc_statement): Add ST_ASSOCIATE, ST_END_ASSOCIATE. | |
2987 | (struct gfc_symbol): New field `assoc'. | |
2988 | (struct gfc_association_list): New struct. | |
2989 | (struct gfc_code): New struct `block' in union, move `ns' there | |
2990 | and add association list. | |
2991 | (gfc_free_association_list): New method. | |
2992 | (gfc_has_vector_subscript): Made public; | |
2993 | * match.h (gfc_match_associate): New method. | |
2994 | * parse.h (enum gfc_compile_state): Add COMP_ASSOCIATE. | |
2995 | * decl.c (gfc_match_end): Handle ST_END_ASSOCIATE. | |
2996 | * interface.c (gfc_has_vector_subscript): Made public. | |
2997 | (compare_actual_formal): Rename `has_vector_subscript' accordingly. | |
2998 | * match.c (gfc_match_associate): New method. | |
2999 | (gfc_match_select_type): Change reference to gfc_code's `ns' field. | |
3000 | * primary.c (match_variable): Don't allow names associated to expr here. | |
3001 | * parse.c (decode_statement): Try matching ASSOCIATE statement. | |
3002 | (case_exec_markers, case_end): Add ASSOCIATE statement. | |
3003 | (gfc_ascii_statement): Hande ST_ASSOCIATE and ST_END_ASSOCIATE. | |
3004 | (parse_associate): New method. | |
3005 | (parse_executable): Handle ST_ASSOCIATE. | |
3006 | (parse_block_construct): Change reference to gfc_code's `ns' field. | |
3007 | * resolve.c (resolve_select_type): Ditto. | |
3008 | (resolve_code): Ditto. | |
3009 | (resolve_block_construct): Ditto and add comment. | |
3010 | (resolve_select_type): Set association list in generated BLOCK to NULL. | |
3011 | (resolve_symbol): Resolve associate names. | |
3012 | * st.c (gfc_free_statement): Change reference to gfc_code's `ns' field | |
3013 | and free association list. | |
3014 | (gfc_free_association_list): New method. | |
3015 | * symbol.c (gfc_new_symbol): NULL new field `assoc'. | |
3016 | * trans-stmt.c (gfc_trans_block_construct): Change reference to | |
3017 | gfc_code's `ns' field. | |
3018 | ||
acaed831 KT |
3019 | 2010-06-10 Kai Tietz <kai.tietz@onevision.com> |
3020 | ||
3021 | * error.c (error_print): Pre-initialize loc by NULL. | |
3022 | * openmp.c (resolve_omp_clauses): Add explicit | |
3023 | braces to avoid ambigous else. | |
3024 | * array.c (match_subscript): Pre-initialize m to MATCH_ERROR. | |
3025 | ||
07a67d6a GP |
3026 | 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com> |
3027 | ||
3028 | * gfc-internals.texi: Move to GFDL 1.3. | |
3029 | * gfortran.texi: Ditto. | |
3030 | * intrinsic.texi: Ditto. | |
3031 | * invoke.texi: Ditto. | |
3032 | ||
70987f62 DF |
3033 | 2010-06-09 Daniel Franke <franke.daniel@gmail.com> |
3034 | ||
3035 | PR fortran/44347 | |
3036 | * check.c (gfc_check_selected_real_kind): Verify that the | |
3037 | actual arguments are scalar. | |
3038 | ||
33169a22 DF |
3039 | 2010-06-09 Daniel Franke <franke.daniel@gmail.com> |
3040 | ||
3041 | PR fortran/44359 | |
3042 | * intrinsic.c (gfc_convert_type_warn): Further improve -Wconversion. | |
3043 | ||
b51789fe JW |
3044 | 2010-06-09 Janus Weil <janus@gcc.gnu.org> |
3045 | ||
3046 | PR fortran/44430 | |
3047 | * dump-parse-tree.c (show_symbol): Avoid infinite loop. | |
3048 | ||
87b18909 SK |
3049 | 2010-06-09 Steven G. Kargl <kargl@gcc.gnu.org> |
3050 | ||
3051 | * fortran/symbol.c (check_conflict): Remove an invalid conflict check. | |
3052 | ||
289e52fd SK |
3053 | 2010-06-09 Steven G. Kargl <kargl@gcc.gnu.org> |
3054 | ||
3055 | * fortran/intrinsic.c (add_functions): Change gfc_check_btest, | |
3056 | gfc_check_ibclr, and gfc_check_ibset to gfc_check_bitfcn. | |
3057 | * fortran/intrinsic.h: Remove prototypes for gfc_check_btest, | |
3058 | gfc_check_ibclr, and gfc_check_ibset. Add prototype for | |
3059 | gfc_check_bitfcn. | |
3060 | * fortran/check.c (nonnegative_check, less_than_bitsize1, | |
3061 | less_than_bitsize2): New functions. | |
3062 | (gfc_check_btest): Renamed to gfc_check_bitfcn. Use | |
3063 | nonnegative_check and less_than_bitsize1. | |
3064 | (gfc_check_ibclr, gfc_check_ibset): Removed. | |
3065 | (gfc_check_ibits,gfc_check_mvbits): Use nonnegative_check and | |
3066 | less_than_bitsize1. | |
3067 | ||
f1a0b754 JW |
3068 | 2010-06-09 Janus Weil <janus@gcc.gnu.org> |
3069 | ||
3070 | PR fortran/44211 | |
3071 | * resolve.c (resolve_typebound_function,resolve_typebound_subroutine): | |
3072 | Resolve references. | |
3073 | ||
37b28a35 KT |
3074 | 2010-06-09 Kai Tietz <kai.tietz@onevision.com> |
3075 | ||
3076 | * resolve.c (resolve_deallocate_expr): Avoid warning | |
3077 | about possible use of iunitialized sym. | |
3078 | (resolve_allocate_expr): Pre-initialize sym by NULL. | |
3079 | ||
07b7ede0 FXC |
3080 | 2010-06-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3081 | ||
3082 | PR fortran/43040 | |
3083 | * f95-lang.c (gfc_init_builtin_functions): Remove comment. | |
3084 | ||
a9429e29 LB |
3085 | 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
3086 | ||
3087 | * trans-types.c (gfc_get_nodesc_array_type): Use typed GC | |
3088 | allocation. | |
3089 | (gfc_get_array_type_bounds): Likewise. | |
3090 | ||
3091 | * trans-decl.c (gfc_allocate_lang_decl): Likewise. | |
3092 | (gfc_find_module): Likewise. | |
3093 | ||
3094 | * f95-lang.c (pushlevel): Likewise. | |
3095 | ||
3096 | * trans.h (struct lang_type): Add variable_size GTY option. | |
3097 | (struct lang_decl): Likewise. | |
3098 | ||
c064bf1c TB |
3099 | 2010-06-08 Tobias Burnus <burnus@net-b.de> |
3100 | ||
3101 | PR fortran/44446 | |
3102 | * symbol.c (check_conflict): Move protected--external/procedure check ... | |
3103 | * resolve.c (resolve_select_type): ... to the resolution stage. | |
3104 | ||
e7105ec5 TB |
3105 | 2010-06-07 Tobias Burnus <burnus@net-b.de> |
3106 | ||
3107 | * options.c (gfc_handle_option): Fix -fno-recursive. | |
3108 | ||
d233147b TB |
3109 | 2010-06-07 Tobias Burnus <burnus@net-b.de> |
3110 | ||
3111 | * gfc-internals.texi (copyrights-gfortran): Fix copyright year format. | |
3112 | * gfortran.texi (copyrights-gfortran): Ditto. | |
3113 | ||
5498f011 JM |
3114 | 2010-06-07 Joseph Myers <joseph@codesourcery.com> |
3115 | ||
3116 | * lang.opt (fshort-enums): Define using Var and VarExists. | |
3117 | * options.c (gfc_handle_option): Don't set flag_short_enums here. | |
3118 | ||
15d774f9 PT |
3119 | 2010-06-05 Paul Thomas <pault@gcc.gnu.org> |
3120 | Janus Weil <janus@gcc.gnu.org> | |
3121 | ||
3122 | PR fortran/43945 | |
3123 | * resolve.c (get_declared_from_expr): Move to before | |
3124 | resolve_typebound_generic_call. Make new_ref and class_ref | |
3125 | ignorable if set to NULL. | |
3126 | (resolve_typebound_generic_call): Once we have resolved the | |
3127 | generic call, check that the specific instance is that which | |
3128 | is bound to the declared type. | |
3129 | (resolve_typebound_function,resolve_typebound_subroutine): Avoid | |
3130 | freeing 'class_ref->next' twice. | |
3131 | ||
546a65d9 PT |
3132 | 2010-06-05 Paul Thomas <pault@gcc.gnu.org> |
3133 | ||
3134 | PR fortran/43895 | |
3135 | * trans-array.c (structure_alloc_comps): Dereference scalar | |
3136 | 'decl' if it is a REFERENCE_TYPE. Tidy expressions containing | |
3137 | TREE_TYPE (decl). | |
3138 | ||
bdc6b402 JM |
3139 | 2010-06-04 Joseph Myers <joseph@codesourcery.com> |
3140 | ||
3141 | * gfortranspec.c (append_arg, lang_specific_driver): Use | |
3142 | GCC-specific formats in diagnostics. | |
3143 | ||
aac18c02 TB |
3144 | 2010-06-02 Tobias Burnus <burnus@net-b.de> |
3145 | ||
3146 | PR fortran/44360 | |
3147 | * parse.c (gfc_fixup_sibling_symbols): Do not "fix" use-associated | |
3148 | symbols. | |
3149 | ||
022d9260 JD |
3150 | 2010-06-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3151 | ||
3152 | PR fortran/44371 | |
3153 | * match.c (gfc_match_stopcode): Move gfc_match_eos call inside | |
3154 | condition block. | |
3155 | ||
87187539 SK |
3156 | 2010-05-31 Steven G. Kargl <kargl@gcc.gnu.org> |
3157 | ||
3158 | * fortran/gfortran.texi: Fix typos in description of variable-format- | |
3159 | expressions. | |
3160 | ||
e2113565 TK |
3161 | 2010-05-31 Thomas Koenig <tkoenig@gcc.gnu.org> |
3162 | ||
3163 | PR fortran/36928 | |
3164 | * dependency.c (gfc_check_section_vs_section): Check | |
3165 | for interleaving array assignments without conflicts. | |
3166 | ||
7a08eda1 JW |
3167 | 2010-05-30 Janus Weil <janus@gcc.gnu.org> |
3168 | ||
3169 | * gcc/fortran/gfortran.h (CLASS_DATA): New macro for accessing the | |
3170 | $data component of a class container. | |
3171 | * gcc/fortran/decl.c (attr_decl1): Use macro CLASS_DATA. | |
3172 | * gcc/fortran/expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol, | |
3173 | gfc_has_ultimate_allocatable,gfc_has_ultimate_pointer): Ditto. | |
3174 | * gcc/fortran/interface.c (matching_typebound_op): Ditto. | |
3175 | * gcc/fortran/match.c (gfc_match_allocate, gfc_match_deallocate): Ditto. | |
3176 | * gcc/fortran/parse.c (parse_derived): Ditto. | |
3177 | * gcc/fortran/primary.c (gfc_match_varspec, gfc_variable_attr, | |
3178 | gfc_expr_attr): Ditto. | |
3179 | * gcc/fortran/resolve.c (resolve_structure_cons, find_array_spec, | |
3180 | resolve_deallocate_expr, resolve_allocate_expr, resolve_select_type, | |
3181 | resolve_fl_var_and_proc, resolve_typebound_procedure, | |
3182 | resolve_fl_derived): Ditto. | |
3183 | * gcc/fortran/symbol.c (gfc_type_compatible): Restructured. | |
3184 | * gcc/fortran/trans-array.c (structure_alloc_comps): Use macro | |
3185 | CLASS_DATA. | |
3186 | * gcc/fortran/trans-decl.c (gfc_get_symbol_decl, | |
3187 | gfc_trans_deferred_vars): Ditto. | |
3188 | * gcc/fortran/trans-stmt.c (gfc_trans_allocate): Ditto. | |
3189 | ||
984ad449 TB |
3190 | 2010-05-28 Tobias Burnus <burnus@net-b.de> |
3191 | ||
3192 | * options.c (gfc_handle_option): Fix handling of -fno-whole-file. | |
3193 | ||
2dec80c7 JM |
3194 | 2010-05-28 Joseph Myers <joseph@codesourcery.com> |
3195 | ||
3196 | * gfortranspec.c (append_arg, lang_specific_driver): Use | |
3197 | fatal_error instead of fatal. Use warning instead of fprintf for | |
3198 | warnings. | |
3199 | ||
7ca92787 JM |
3200 | 2010-05-28 Joseph Myers <joseph@codesourcery.com> |
3201 | ||
3202 | * cpp.c (gfc_cpp_init_0): Use xstrerror instead of strerror. | |
3203 | * module.c (write_char, gfc_dump_module, gfc_use_module): Use | |
3204 | xstrerror instead of strerror. | |
3205 | ||
5f0f4a3b JM |
3206 | 2010-05-26 Joseph Myers <joseph@codesourcery.com> |
3207 | ||
3208 | * cpp.c (cb_cpp_error): Save and restore | |
3209 | global_dc->warn_system_headers, not variable warn_system_headers. | |
3210 | ||
140b7433 SB |
3211 | 2010-05-26 Steven Bosscher <steven@gcc.gnu.org> |
3212 | ||
3213 | * fortran/f95-lang.c: Do not include libfuncs.h, expr.h, and except.h. | |
3214 | ||
d347d97e SB |
3215 | 2010-05-26 Steven Bosscher <steven@gcc.gnu.org> |
3216 | ||
3217 | * trans-common.c: Do not include rtl.h, include output.h instead. | |
3218 | * trans-decl.c: Likewise. | |
3219 | ||
cc9a4ca9 PT |
3220 | 2010-05-26 Paul Thomas <pault@gcc.gnu.org> |
3221 | ||
3222 | PR fortran/40011 | |
3223 | * resolve.c (resolve_global_procedure): Resolve the gsymbol's | |
3224 | namespace before trying to reorder the gsymbols. | |
3225 | ||
30145da5 DF |
3226 | 2010-05-25 Daniel Franke <franke.daniel@gmail.com> |
3227 | ||
3228 | PR fortran/30668 | |
3229 | PR fortran/31346 | |
3230 | PR fortran/34260 | |
3231 | * resolve.c (resolve_global_procedure): Add check for global | |
3232 | procedures with implicit interfaces and assumed-shape or optional | |
3233 | dummy arguments. Verify that function return type, kind and string | |
3234 | lengths match. | |
3235 | ||
7274feea TB |
3236 | 2010-05-21 Tobias Burnus <burnus@net-b.de> |
3237 | ||
3238 | * gfortran.h: Do not include system.h. | |
3239 | * bbt.c: Include system.h. | |
3240 | * data.c: Ditto. | |
3241 | * dependency.c: Ditto. | |
3242 | * dump-parse-tree.c: Ditto. | |
3243 | * arith.h: Do not include gfortran.h. | |
3244 | * constructor.h: Do not include gfortran.h and splay-tree.h. | |
3245 | * match.h: Do not include gfortran.h. | |
3246 | * parse.h: Ditto. | |
3247 | * target-memory.h: Ditto. | |
3248 | * openmp.c: Do not include toplev.h and target.h. | |
3249 | * trans-stmt.c: Ditto not include toplev.h. | |
3250 | * primary.c: Ditto. | |
3251 | * trans-common.c: Tell why toplev.h is needed. And | |
3252 | do not include target.h. | |
3253 | * trans-expr.c: Tell why toplev.h is needed. | |
3254 | * trans-array.c: Ditto. | |
3255 | * trans-openmp.c: Ditto. | |
3256 | * trans-const.c: Ditto. | |
3257 | * trans.c: Ditto. | |
3258 | * trans-types.c: Ditto. | |
3259 | * trans-io.c: Ditto. | |
3260 | * trans-decl.c: Ditto. | |
3261 | * scanner.c: Ditto. | |
3262 | * convert.c: Ditto. | |
3263 | * trans-intrinsic.c: Ditto. | |
3264 | * options.c: Ditto. | |
3265 | ||
5d2d72cb JD |
3266 | 2010-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3267 | ||
3268 | PR fortran/43851 | |
3269 | * match.c (gfc_match_stopcode): Use gfc_match_init_expr. Go to cleanup | |
3270 | before returning MATCH_ERROR. Add check for scalar. Add check for | |
3271 | default integer kind. | |
3272 | ||
bc382218 JW |
3273 | 2010-05-22 Janus Weil <janus@gcc.gnu.org> |
3274 | ||
3275 | PR fortran/44212 | |
3276 | * match.c (gfc_match_select_type): On error jump back out of the local | |
3277 | namespace. | |
3278 | * parse.c (parse_derived): Defer creation of vtab symbols to resolution | |
3279 | stage, more precisely to ... | |
3280 | * resolve.c (resolve_fl_derived): ... this place. | |
3281 | ||
7c9b8fb9 JW |
3282 | 2010-05-22 Janus Weil <janus@gcc.gnu.org> |
3283 | ||
3284 | PR fortran/44213 | |
3285 | * resolve.c (ensure_not_abstract): Allow abstract types with | |
3286 | non-abstract ancestors. | |
3287 | ||
d49b6e1e SB |
3288 | 2010-05-21 Steven Bosscher <steven@gcc.gnu.org> |
3289 | ||
3290 | * trans-const.c: Include realmpfr.h. | |
3291 | * Make-lang.in: Update dependencies. | |
3292 | ||
40013784 SB |
3293 | 2010-05-21 Steven Bosscher <steven@gcc.gnu.org> |
3294 | ||
3295 | * trans-const.c, trans-types.c, trans-intrinsic.c: | |
3296 | Clean up redundant includes. | |
3297 | ||
4ed44ccc DF |
3298 | 2010-05-20 Daniel Franke <franke.daniel@gmail.com> |
3299 | ||
3300 | PR fortran/38407 | |
3301 | * lang.opt (Wunused-dummy-argument): New option. | |
3302 | * gfortran.h (gfc_option_t): Add warn_unused_dummy_argument. | |
3303 | * options.c (gfc_init_options): Disable warn_unused_dummy_argument. | |
3304 | (set_Wall): Enable warn_unused_dummy_argument. | |
3305 | (gfc_handle_option): Set warn_unused_dummy_argument according to | |
3306 | command line. | |
3307 | * trans-decl.c (generate_local_decl): Separate warnings about | |
3308 | unused variables and unused dummy arguments. | |
3309 | * invoke.texi: Documented new option. | |
3310 | ||
a48ba7e1 SB |
3311 | 2010-05-20 Steven Bosscher <steven@gcc.gnu.org> |
3312 | ||
3313 | * trans-expr.c: Do not include convert.h, ggc.h, real.h, and gimple.h. | |
3314 | (gfc_conv_string_tmp): Do not assert type comparibilty. | |
3315 | * trans-array.c: Do not include gimple.h, ggc.h, and real.h. | |
3316 | (gfc_conv_expr_descriptor): Remove assert. | |
3317 | * trans-common.c: Clarify why rtl.h and tm.h are included. | |
3318 | * trans-openmp.c: Do not include ggc.h and real.h. | |
3319 | Explain why gimple.h is included. | |
3320 | * trans-const.c: Do not include ggc.h. | |
3321 | * trans-stmt.c: Do not include gimple.h, ggc.h, and real.h. | |
3322 | * trans.c: Do not include ggc.h and real.h. | |
3323 | Explain why gimple.h is included. | |
3324 | * trans-types.c: Do not include tm.h. Explain why langhooks.h | |
3325 | and dwarf2out.h are included. | |
3326 | * trans-io.c: Do not include gimple.h and real.h. | |
3327 | * trans-decl.c: Explain why gimple.h, tm.h, and rtl.h are included. | |
3328 | * trans-intrinsic.c: Do not include gimple.h. Explain why tm.h | |
3329 | is included. | |
3330 | ||
feef2551 TB |
3331 | 2010-05-20 Tobias Burnus <burnus@net-b.de> |
3332 | ||
3333 | * options.c (gfc_init_options,gfc_post_options): Enable | |
3334 | flag_associative_math by default. | |
3335 | ||
6d1b0f92 JD |
3336 | 2010-05-19 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3337 | ||
3338 | PR fortran/43851 | |
3339 | * trans-stmt.c (gfc_trans_stop): Add generation of call to | |
3340 | gfortran_error_stop_numeric. Fix up some whitespace. Use stop_string for | |
3341 | blank STOP, handling a null expression. (gfc_trans_pause): Use | |
3342 | pause_string for blank PAUSE. | |
3343 | * trans.h: Add external function declaration for error_stop_numeric. | |
3344 | * trans-decl.c (gfc_build_builtin_function_decls): Add the building of | |
3345 | the declaration for the library call. Adjust whitespaces. | |
3346 | * match.c (gfc_match_stopcode): Remove use of the actual stop code to | |
3347 | signal no stop code. Match the expression following the stop and pass | |
3348 | that to the translators. Remove the old use of digit matching. Add | |
3349 | checks that the stop_code expression is INTEGER or CHARACTER, constant, | |
3350 | and if CHARACTER, default character KIND. | |
3351 | ||
daf8c6f0 DF |
3352 | 2010-05-19 Daniel Franke <franke.daniel@gmail.com> |
3353 | ||
3354 | PR fortran/44055 | |
3355 | * lang.opt (Wconversion-extra): New option. | |
3356 | * gfortran.h (gfc_option_t): Add warn_conversion_extra. | |
3357 | * options.c (gfc_init_options): Disable -Wconversion-extra by default. | |
3358 | (set_Wall): Enable -Wconversion. | |
3359 | (gfc_handle_option): Set warn_conversion_extra. | |
3360 | * intrinsic.c (gfc_convert_type_warn): Ignore kind conditions | |
3361 | introduced for -Wconversion if -Wconversion-extra is present. | |
3362 | * invoke.texi: Add -Wconversion to -Wall; document new behaviour of | |
3363 | -Wconversion; document -Wconversion-extra. | |
3364 | ||
16e520b6 DF |
3365 | 2010-05-19 Daniel Franke <franke.daniel@gmail.com> |
3366 | ||
3367 | PR fortran/42360 | |
3368 | * gfortran.h (gfc_has_default_initializer): New. | |
3369 | * expr.c (gfc_has_default_initializer): New. | |
3370 | * resolve.c (has_default_initializer): Removed, use | |
3371 | gfc_has_default_initializer() instead. Updated all callers. | |
3372 | * trans-array.c (has_default_initializer): Removed, use | |
3373 | gfc_has_default_initializer() instead. Updated all callers. | |
3374 | * trans-decl.c (generate_local_decl): Do not check the | |
3375 | first component only to check for initializers, but use | |
3376 | gfc_has_default_initializer() instead. | |
3377 | ||
66faed76 DF |
3378 | 2010-05-19 Daniel Franke <franke.daniel@gmail.com> |
3379 | ||
3380 | PR fortran/38404 | |
3381 | * primary.c (match_string_constant): Move start_locus just inside | |
3382 | the string. | |
3383 | * data.c (create_character_intializer): Clarified truncation warning. | |
3384 | ||
c9018c71 DF |
3385 | 2010-05-19 Daniel Franke <franke.daniel@gmail.com> |
3386 | ||
3387 | PR fortran/34505 | |
3388 | * intrinsic.h (gfc_check_float): New prototype. | |
3389 | (gfc_check_sngl): New prototype. | |
3390 | * check.c (gfc_check_float): New. | |
3391 | (gfc_check_sngl): New. | |
3392 | * intrinsic.c (add_functions): Moved DFLOAT from aliasing DBLE | |
3393 | to be a specific for REAL. Added check routines for FLOAT, DFLOAT | |
3394 | and SNGL. | |
3395 | * intrinsic.texi: Removed individual nodes of FLOAT, DFLOAT and SNGL, | |
3396 | added them to the list of specifics of REAL instead. | |
3397 | ||
94ea6939 JW |
3398 | 2010-05-17 Janus Weil <janus@gcc.gnu.org> |
3399 | ||
3400 | PR fortran/43990 | |
3401 | * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code. | |
3402 | This is now handled via 'gfc_class_null_initializer'. | |
3403 | ||
d15bac21 JW |
3404 | 2010-05-17 Janus Weil <janus@gcc.gnu.org> |
3405 | ||
3406 | * class.c (gfc_add_component_ref,gfc_class_null_initializer, | |
3407 | gfc_build_class_symbol,add_proc_component,add_proc_comps, | |
3408 | add_procs_to_declared_vtab1,copy_vtab_proc_comps, | |
3409 | add_procs_to_declared_vtab,add_generic_specifics, | |
3410 | add_generics_to_declared_vtab,gfc_find_derived_vtab, | |
3411 | find_typebound_proc_uop,gfc_find_typebound_proc, | |
3412 | gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op, | |
3413 | gfc_get_tbp_symtree): Moved here from other places. | |
3414 | * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to | |
3415 | class.c. | |
3416 | * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab, | |
3417 | gfc_find_typebound_proc,gfc_find_typebound_user_op, | |
3418 | gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree, | |
3419 | gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c. | |
3420 | * Make-lang.in: Add class.o. | |
3421 | * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps, | |
3422 | add_procs_to_declared_vtab1,copy_vtab_proc_comps, | |
3423 | add_procs_to_declared_vtab,add_generic_specifics, | |
3424 | add_generics_to_declared_vtab,gfc_find_derived_vtab, | |
3425 | find_typebound_proc_uop,gfc_find_typebound_proc, | |
3426 | gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op, | |
3427 | gfc_get_tbp_symtree): Move to class.c. | |
3428 | ||
1eabc6be | 3429 | 2010-05-17 Nathan Froyd <froydnj@codesourcery.com> |
b64fca63 NF |
3430 | |
3431 | * trans-types.c (gfc_init_types): Use build_function_type_list. | |
3432 | (gfc_get_ppc_type): Likewise. | |
3433 | * trans-decl.c (gfc_generate_constructors): Likewise. | |
3434 | * f95-lang.c (build_builtin_fntypes): Likewise. | |
3435 | (gfc_init_builtin_functions): Likewise. | |
3436 | (DEF_FUNCTION_TYPE_0): Likewise. | |
3437 | (DEF_FUNCTION_TYPE_1): Likewise. | |
3438 | (DEF_FUNCTION_TYPE_2): Likewise. | |
3439 | (DEF_FUNCTION_TYPE_3): Likewise. | |
3440 | (DEF_FUNCTION_TYPE_4): Likewise. | |
3441 | (DEF_FUNCTION_TYPE_5): Likewise. | |
3442 | (DEF_FUNCTION_TYPE_6): Likewise. | |
3443 | (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7. | |
3444 | (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list. | |
3445 | ||
8341deb5 | 3446 | 2010-05-17 Nathan Froyd <froydnj@codesourcery.com> |
8748ad99 NF |
3447 | |
3448 | * trans-array.c (gfc_trans_array_constructor_value): Use | |
3449 | build_constructor instead of build_constructor_from_list. | |
3450 | (gfc_build_constant_array_constructor): Likewise. | |
3451 | * trans-decl.c (create_main_function): Likewise. | |
3452 | * trans-stmt.c (gfc_trans_character_select): Likewise. | |
3453 | ||
233961db JW |
3454 | 2010-05-17 Janus Weil <janus@gcc.gnu.org> |
3455 | ||
3456 | PR fortran/44044 | |
3457 | * resolve.c (resolve_fl_var_and_proc): Move error messages here from ... | |
3458 | (resolve_fl_variable_derived): ... this place. | |
3459 | (resolve_symbol): Make sure function symbols (and their result | |
3460 | variables) are not resolved twice. | |
3461 | ||
cdc6637d DF |
3462 | 2010-05-16 Daniel Franke <franke.daniel@gmail.com> |
3463 | ||
feef2551 | 3464 | PR fortran/35779 |
cdc6637d DF |
3465 | * array.c (match_array_list): Revert change from 2010-05-13. |
3466 | ||
afdda4b4 RG |
3467 | 2010-05-16 Richard Guenther <rguenther@suse.de> |
3468 | ||
3469 | * trans-decl.c (module_htab_decls_hash): Revert last change. | |
3470 | ||
6456e26e RG |
3471 | 2010-05-16 Richard Guenther <rguenther@suse.de> |
3472 | ||
3473 | * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE. | |
3474 | ||
fa36ce9c MLI |
3475 | 2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> |
3476 | ||
3477 | * options.c (set_Wall): Remove special logic for Wuninitialized | |
3478 | without -O. | |
3479 | ||
3a28464c JW |
3480 | 2010-05-15 Janus Weil <janus@gcc.gnu.org> |
3481 | ||
3482 | PR fortran/44154 | |
3483 | PR fortran/42647 | |
3484 | * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of | |
3485 | if branches. | |
3486 | ||
f8dde8af JW |
3487 | 2010-05-15 Janus Weil <janus@gcc.gnu.org> |
3488 | ||
3489 | PR fortran/43207 | |
3490 | PR fortran/43969 | |
3491 | * gfortran.h (gfc_class_null_initializer): New prototype. | |
3492 | * expr.c (gfc_class_null_initializer): New function to build a NULL | |
3493 | initializer for CLASS pointers. | |
3494 | * symbol.c (gfc_build_class_symbol): Modify internal naming of class | |
3495 | containers. Remove default NULL initialization of $data component. | |
3496 | * trans.c (gfc_allocate_array_with_status): Fix wording of an error | |
3497 | message. | |
3498 | * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign): | |
3499 | Use new function 'gfc_class_null_initializer'. | |
3500 | * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar | |
3501 | class variables. | |
3502 | ||
c13af44b SK |
3503 | 2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org> |
3504 | ||
3505 | PR fortran/44135 | |
3506 | * fortran/interface.c (get_sym_storage_size): Use signed instead of | |
3507 | unsigned mpz_get_?i routines. | |
3508 | ||
88e09c79 JJ |
3509 | 2010-05-14 Jakub Jelinek <jakub@redhat.com> |
3510 | ||
3511 | * trans.c (trans_code): Set backend locus early. | |
3512 | * trans-decl.c (gfc_get_fake_result_decl): Use source location | |
3513 | of the function instead of current input_location. | |
3514 | ||
f2cbd86c DF |
3515 | 2010-05-13 Daniel Franke <franke.daniel@gmail.com> |
3516 | ||
feef2551 TB |
3517 | PR fortran/35779 |
3518 | * intrinsic.c (gfc_init_expr): Renamed to gfc_init_expr_flag. | |
3519 | Updated all usages. | |
3520 | * expr.c (init_flag): Removed; use gfc_init_expr_flag everywhere. | |
3521 | * array.c (match_array_list): Pass on gfc_init_expr_flag when matching | |
3522 | iterators. | |
f2cbd86c | 3523 | |
2b45bf21 JJ |
3524 | 2010-05-13 Jakub Jelinek <jakub@redhat.com> |
3525 | ||
3526 | PR fortran/44036 | |
3527 | * openmp.c (resolve_omp_clauses): Allow procedure pointers in clause | |
3528 | variable lists. | |
3529 | * trans-openmp.c (gfc_omp_privatize_by_reference): Don't privatize | |
3530 | by reference dummy procedures or non-dummy procedure pointers. | |
3531 | (gfc_omp_predetermined_sharing): Return | |
3532 | OMP_CLAUSE_DEFAULT_FIRSTPRIVATE for dummy procedures. | |
3533 | ||
edf86ec1 DF |
3534 | 2010-05-11 Daniel Franke <franke.daniel@gmail.com> |
3535 | ||
feef2551 TB |
3536 | PR fortran/43711 |
3537 | * openmp.c (gfc_match_omp_taskwait): Report unexpected characters | |
3538 | after OMP statement. | |
3539 | (gfc_match_omp_critical): Likewise. | |
3540 | (gfc_match_omp_flush): Likewise. | |
3541 | (gfc_match_omp_workshare): Likewise. | |
3542 | (gfc_match_omp_master): Likewise. | |
3543 | (gfc_match_omp_ordered): Likewise. | |
3544 | (gfc_match_omp_atomic): Likewise. | |
3545 | (gfc_match_omp_barrier): Likewise. | |
3546 | (gfc_match_omp_end_nowait): Likewise. | |
edf86ec1 | 3547 | |
ad1614a7 DF |
3548 | 2010-05-11 Daniel Franke <franke.daniel@gmail.com> |
3549 | ||
3550 | PR fortran/31820 | |
3551 | * resolve.c (validate_case_label_expr): Removed FIXME. | |
3552 | (resolve_select): Raise default warning on case labels out of range | |
3553 | of the case expression. | |
3554 | ||
4e42ad66 DF |
3555 | 2010-05-10 Daniel Franke <franke.daniel@gmail.com> |
3556 | ||
3557 | PR fortran/27866 | |
3558 | PR fortran/35003 | |
3559 | PR fortran/42809 | |
ad1614a7 | 3560 | * intrinsic.c (gfc_convert_type_warn): Be more discriminative |
4e42ad66 DF |
3561 | about conversion warnings. |
3562 | ||
f5dbb57c JW |
3563 | 2010-05-10 Janus Weil <janus@gcc.gnu.org> |
3564 | ||
3565 | PR fortran/44044 | |
3566 | * match.c (gfc_match_select_type): Move error message to | |
3567 | resolve_select_type. | |
3568 | * resolve.c (resolve_select_type): Error message moved here from | |
3569 | gfc_match_select_type. Correctly set type of temporary. | |
3570 | ||
0b7b376d RG |
3571 | 2010-05-10 Richard Guenther <rguenther@suse.de> |
3572 | ||
3573 | * trans-decl.c (gfc_build_library_function_decl): Split out | |
3574 | worker to ... | |
3575 | (build_library_function_decl_1): ... this new function. | |
3576 | Set a fnspec attribute if a specification was provided. | |
3577 | (gfc_build_library_function_decl_with_spec): New function. | |
3578 | (gfc_build_intrinsic_function_decls): Annotate internal_pack | |
3579 | and internal_unpack. | |
3580 | ||
db7d7dc1 DF |
3581 | 2010-05-07 Daniel Franke <franke.daniel@gmail.com> |
3582 | ||
3583 | PR fortran/40728 | |
3584 | * intrinc.c (gfc_is_intrinsic): Do not prematurely mark symbol | |
feef2551 | 3585 | as external. |
db7d7dc1 | 3586 | |
2cd5965f JM |
3587 | 2010-05-07 Jason Merrill <jason@redhat.com> |
3588 | ||
3589 | * trans-expr.c (gfc_conv_procedure_call): Rename nullptr to null_ptr | |
3590 | to avoid -Wc++-compat warning. | |
3591 | ||
3734d960 MLI |
3592 | 2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org> |
3593 | ||
3594 | PR 40989 | |
3595 | * options.c (gfc_handle_option): Add argument kind. | |
3596 | * gfortran.h (gfc_handle_option): Update declaration. | |
3597 | ||
3598 | 2010-05-06 Tobias Burnus <burnus@net-b.de> | |
5e7b92b9 TB |
3599 | |
3600 | PR fortran/43985 | |
3601 | * trans-types.c (gfc_sym_type): Mark Cray pointees as | |
3602 | GFC_POINTER_TYPE_P. | |
3603 | ||
147a19a9 DF |
3604 | 2010-05-05 Daniel Franke <franke.daniel@gmail.com> |
3605 | ||
db7d7dc1 | 3606 | PR fortran/32331 |
5e7b92b9 TB |
3607 | * resolve.c (traverse_data_list): Rephrase error message for |
3608 | non-constant bounds in data-implied-do. | |
147a19a9 | 3609 | |
e5880243 DF |
3610 | 2010-05-05 Daniel Franke <franke.daniel@gmail.com> |
3611 | ||
3612 | PR fortran/24978 | |
3613 | * gfortran.h: Removed repeat count from constructor, removed | |
3614 | all usages. | |
3615 | * data.h (gfc_assign_data_value_range): Changed return value from | |
3616 | void to gfc_try. | |
3617 | * data.c (gfc_assign_data_value): Add location to constructor element. | |
3618 | (gfc_assign_data_value_range): Call gfc_assign_data_value() | |
3619 | for each element in range. Return early if an error was generated. | |
3620 | * resolve.c (check_data_variable): Stop early if range assignment | |
3621 | generated an error. | |
3622 | ||
371b334e JW |
3623 | 2010-05-05 Janus Weil <janus@gcc.gnu.org> |
3624 | ||
3625 | PR fortran/43696 | |
3626 | * resolve.c (resolve_fl_derived): Some fixes for class variables. | |
3627 | * symbol.c (gfc_build_class_symbol): Add separate class container for | |
3628 | class pointers. | |
3629 | ||
431f5969 SK |
3630 | 2010-05-03 Steven G. Kargl <kargl@gcc.gnu.org> |
3631 | ||
3632 | PR fortran/43592 | |
3633 | * fortran/parse.c (parse_interface): Do not dereference a NULL pointer. | |
3634 | ||
0d6d8e00 TB |
3635 | 2010-05-02 Tobias Burnus <burnus@net-b.de> |
3636 | ||
3637 | PR fortran/18918 | |
3638 | * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls | |
3639 | for lcobound, ucobound, image_index and this_image. | |
3640 | * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image, | |
3641 | gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes. | |
3642 | * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image, | |
3643 | gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New | |
3644 | functions. | |
3645 | (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound. | |
3646 | ||
3647 | 2010-04-30 Tobias Burnus <burnus@net-b.de> | |
bf65e4b1 TB |
3648 | |
3649 | PR fortran/18918 | |
3650 | PR fortran/43931 | |
3651 | * trans-types.c (gfc_get_array_descriptor_base): Fix index | |
3652 | calculation for array descriptor types. | |
3653 | ||
eece1eb9 PT |
3654 | 2010-04-29 Janus Weil <janus@gcc.gnu.org> |
3655 | ||
3656 | PR fortran/43896 | |
3657 | * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove | |
3658 | initializers for PPC members of the vtabs. | |
3659 | ||
3660 | 2010-04-29 Janus Weil <janus@gcc.gnu.org> | |
3661 | ||
3662 | PR fortran/42274 | |
3663 | * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc' | |
3664 | attribute for all PPC members of the vtypes. | |
3665 | (copy_vtab_proc_comps): Copy the correct interface. | |
3666 | * trans.h (gfc_trans_assign_vtab_procs): Modified prototype. | |
3667 | * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as | |
3668 | a dummy argument and make sure all PPC members of the vtab are | |
3669 | initialized correctly. | |
3670 | (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument | |
3671 | in call to gfc_trans_assign_vtab_procs. | |
3672 | * trans-stmt.c (gfc_trans_allocate): Ditto. | |
3673 | ||
3674 | 2010-04-29 Paul Thomas <pault@gcc.gnu.org> | |
3675 | ||
3676 | PR fortran/43326 | |
3677 | * resolve.c (resolve_typebound_function): Renamed | |
3678 | resolve_class_compcall.Do all the detection of class references | |
3679 | here. | |
3680 | (resolve_typebound_subroutine): resolve_class_typebound_call | |
3681 | renamed. Otherwise same as resolve_typebound_function. | |
3682 | (gfc_resolve_expr): Call resolve_typebound_function. | |
3683 | (resolve_code): Call resolve_typebound_subroutine. | |
3684 | ||
3685 | 2010-04-29 Janus Weil <janus@gcc.gnu.org> | |
3686 | ||
3687 | PR fortran/43492 | |
3688 | * resolve.c (resolve_typebound_generic_call): For CLASS methods | |
3689 | pass back the specific symtree name, rather than the target | |
3690 | name. | |
3691 | ||
3692 | 2010-04-29 Paul Thomas <pault@gcc.gnu.org> | |
3693 | ||
3694 | PR fortran/42353 | |
3695 | * resolve.c (resolve_structure_cons): Make the initializer of | |
3696 | the vtab component 'extends' the same type as the component. | |
3697 | ||
3698 | 2010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
3699 | ||
3700 | PR fortran/42680 | |
3701 | * interface.c (check_interface1): Pass symbol name rather than NULL to | |
3702 | gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to | |
3703 | trap MULL. (gfc_compare_derived_types): Revert previous change | |
3704 | incorporated incorrectly during merge from trunk, r155778. | |
3705 | * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather | |
3706 | than NULL to gfc_compare_interfaces. | |
3707 | * symbol.c (add_generic_specifics): Likewise. | |
3708 | ||
3709 | 2010-02-29 Janus Weil <janus@gcc.gnu.org> | |
3710 | ||
3711 | PR fortran/42353 | |
3712 | * interface.c (gfc_compare_derived_types): Add condition for vtype. | |
3713 | * symbol.c (gfc_find_derived_vtab): Sey access to private. | |
3714 | (gfc_find_derived_vtab): Likewise. | |
3715 | * module.c (ab_attribute): Add enumerator AB_VTAB. | |
3716 | (mio_symbol_attribute): Use new attribute, AB_VTAB. | |
3717 | (check_for_ambiguous): Likewise. | |
3718 | ||
3719 | 2010-04-29 Paul Thomas <pault@gcc.gnu.org> | |
3720 | Janus Weil <janus@gcc.gnu.org> | |
3721 | ||
3722 | PR fortran/41829 | |
3723 | * trans-expr.c (select_class_proc): Remove function. | |
3724 | (conv_function_val): Delete reference to previous. | |
3725 | (gfc_conv_derived_to_class): Add second argument to the call to | |
3726 | gfc_find_derived_vtab. | |
3727 | (gfc_conv_structure): Exclude proc_pointer components when | |
3728 | accessing $data field of class objects. | |
3729 | (gfc_trans_assign_vtab_procs): New function. | |
3730 | (gfc_trans_class_assign): Add second argument to the call to | |
3731 | gfc_find_derived_vtab. | |
3732 | * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and | |
3733 | implement holding off searching for the vptr derived type. | |
3734 | (add_proc_component): New function. | |
3735 | (add_proc_comps): New function. | |
3736 | (add_procs_to_declared_vtab1): New function. | |
3737 | (copy_vtab_proc_comps): New function. | |
3738 | (add_procs_to_declared_vtab): New function. | |
3739 | (void add_generic_specifics): New function. | |
3740 | (add_generics_to_declared_vtab): New function. | |
3741 | (gfc_find_derived_vtab): Add second argument to the call to | |
3742 | gfc_find_derived_vtab. Add the calls to | |
3743 | add_procs_to_declared_vtab and add_generics_to_declared_vtab. | |
3744 | * decl.c (build_sym, build_struct): Use new arg in calls to | |
3745 | gfc_build_class_symbol. | |
3746 | * gfortran.h : Add vtype bitfield to symbol_attr. Remove the | |
3747 | definition of struct gfc_class_esym_list. Modify prototypes | |
3748 | of gfc_build_class_symbol and gfc_find_derived_vtab. | |
3749 | * trans-stmt.c (gfc_trans_allocate): Add second argument to the | |
3750 | call to gfc_find_derived_vtab. | |
3751 | * module.c : Add the vtype attribute. | |
3752 | * trans.h : Add prototype for gfc_trans_assign_vtab_procs. | |
3753 | * resolve.c (resolve_typebound_generic_call): Add second arg | |
3754 | to pass along the generic name for class methods. | |
3755 | (resolve_typebound_call): The same. | |
3756 | (resolve_compcall): Use the second arg to carry the generic | |
3757 | name from the above. Remove the reference to class_esym. | |
3758 | (check_members, check_class_members, resolve_class_esym, | |
3759 | hash_value_expr): Remove functions. | |
3760 | (resolve_class_compcall, resolve_class_typebound_call): Modify | |
3761 | to use vtable rather than member by member calls. | |
3762 | (gfc_resolve_expr): Modify second arg in call to | |
3763 | resolve_compcall. | |
3764 | (resolve_select_type): Add second arg in call to | |
3765 | gfc_find_derived_vtab. | |
3766 | (resolve_code): Add second arg in call resolve_typebound_call. | |
3767 | (resolve_fl_derived): Exclude vtypes from check for late | |
3768 | procedure definitions. Likewise for checking of explicit | |
3769 | interface and checking of pass arg. | |
3770 | * iresolve.c (gfc_resolve_extends_type_of): Add second arg in | |
3771 | calls to gfc_find_derived_vtab. | |
3772 | * match.c (select_type_set_tmp): Use new arg in call to | |
3773 | gfc_build_class_symbol. | |
3774 | * trans-decl.c (gfc_get_symbol_decl): Complete vtable if | |
3775 | necessary. | |
3776 | * parse.c (endType): Finish incomplete classes. | |
3777 | ||
a10da381 TB |
3778 | 2010-04-28 Tobias Burnus <burnus@net-b.de> |
3779 | ||
3780 | PR fortran/18918 | |
3781 | PR fortran/43919 | |
3782 | * simplify.c (simplify_cobound): Handle scalar coarrays. | |
3783 | ||
ecb9d36f TB |
3784 | 2010-04-27 Tobias Burnus <burnus@net-b.de> |
3785 | ||
3786 | * gfc-internals.texi: Update copyright year. | |
3787 | * gfortran.texi: Ditto. | |
3788 | * invoke.texi: Ditto. | |
3789 | ||
f33beee9 TB |
3790 | 2010-04-27 Tobias Burnus <burnus@net-b.de> |
3791 | ||
3792 | PR fortran/18918 | |
3793 | * resolve.c (resolve_allocate_expr): Allow array coarrays. | |
3794 | * trans-types.h (gfc_get_array_type_bounds): Update prototype. | |
3795 | * trans-types.c (gfc_get_array_type_bounds, | |
3796 | gfc_get_array_descriptor_base): Add corank argument. | |
3797 | * trans-array.c (gfc_array_init_size): Handle corank. | |
3798 | (gfc_trans_create_temp_array, gfc_array_allocate, | |
3799 | gfc_conv_expr_descriptor): Add corank argument to call. | |
3800 | * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto. | |
3801 | ||
8583a512 SK |
3802 | 2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org> |
3803 | ||
3804 | PR fortran/30073 | |
3805 | PR fortran/43793 | |
3806 | * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead | |
3807 | of mucking with a tree directly. | |
3808 | ||
2b8f356c JD |
3809 | 2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3810 | ||
3811 | PR fortran/43832 | |
3812 | * io.c (gfc_match_open): Remove branch to syntax error. Add call to | |
3813 | gfc_error with new error message. | |
3814 | ||
991b4da1 PT |
3815 | 2010-04-24 Paul Thomas <pault@gcc.gnu.org> |
3816 | ||
3817 | PR fortran/43841 | |
3818 | PR fortran/43843 | |
3819 | * trans-expr.c (gfc_conv_expr): Supply an address expression for | |
3820 | GFC_SS_REFERENCE. | |
3821 | (gfc_conv_expr_reference): Call gfc_conv_expr and return for | |
3822 | GFC_SS_REFERENCE. | |
3823 | * trans-array.c (gfc_add_loop_ss_code): Store the value rather | |
3824 | than the address of a GFC_SS_REFERENCE. | |
3825 | * trans.h : Change comment on GFC_SS_REFERENCE. | |
3826 | ||
92375a20 RG |
3827 | 2010-04-22 Richard Guenther <rguenther@suse.de> |
3828 | ||
3829 | PR fortran/43829 | |
3830 | * resolve.c (gfc_resolve_index): Wrap around ... | |
3831 | (gfc_resolve_index_1): ... this. Add parameter to allow | |
3832 | any integer kind index type. | |
3833 | (resolve_array_ref): Allow any integer kind for the start | |
3834 | index of an array ref. | |
3835 | ||
2b65cd83 JJ |
3836 | 2010-04-21 Jakub Jelinek <jakub@redhat.com> |
3837 | ||
3838 | PR fortran/43836 | |
3839 | * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on | |
3840 | the decl. | |
3841 | ||
b41f8489 HA |
3842 | 2010-04-20 Harald Anlauf <anlauf@gmx.de> |
3843 | ||
3844 | * intrinsic.c (sort_actual): Remove 'is' in error message. | |
3845 | ||
9c4174d8 PT |
3846 | 2010-04-20 Paul Thomas <pault@gcc.gnu.org> |
3847 | ||
3848 | PR fortran/43227 | |
3849 | * resolve.c (resolve_fl_derived): If a component character | |
3850 | length has not been resolved, do so now. | |
3851 | (resolve_symbol): The same as above for a symbol character | |
3852 | length. | |
3853 | * trans-decl.c (gfc_create_module_variable): A 'length' decl is | |
3854 | not needed for a character valued, procedure pointer. | |
3855 | ||
3856 | PR fortran/43266 | |
3857 | * resolve.c (ensure_not_abstract_walker): If 'overriding' is | |
3858 | not found, return FAILURE rather than ICEing. | |
3859 | ||
310e4472 JJ |
3860 | 2010-04-19 Jakub Jelinek <jakub@redhat.com> |
3861 | ||
3862 | PR fortran/43339 | |
3863 | * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for | |
3864 | sequential loops private in the innermost containing task region. | |
3865 | ||
3b9e5d95 EB |
3866 | 2010-04-18 Eric Botcazou <ebotcazou@adacore.com> |
3867 | ||
3868 | * f95-lang.c (gfc_init_decl_processing): Remove second argument in call | |
3869 | to build_common_tree_nodes. | |
3870 | ||
6c559604 SK |
3871 | 2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org> |
3872 | ||
3b9e5d95 EB |
3873 | PR fortran/31538 |
3874 | * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of | |
3875 | gfc_msg_bounds by using 'Array bound mismatch' directly. | |
3876 | (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword | |
3877 | error message to include the mismatch in the extent of array bound. | |
3878 | * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place. | |
3879 | * fortran/trans.h: Remove extern definition of gfc_msg_bounds. | |
6c559604 | 3880 | |
0e9496cc JD |
3881 | 2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3882 | ||
3883 | * gfortran.texi: Update information on temporary file locations. | |
3884 | ||
fcd3c5a9 JJ |
3885 | 2010-04-16 Jakub Jelinek <jakub@redhat.com> |
3886 | ||
3887 | * trans-decl.c (gfc_build_qualified_array): Ensure | |
3888 | ubound.N and lbound.N artificial variable names don't appear | |
3889 | in debug info. | |
3890 | ||
e3e529d1 SK |
3891 | 2010-04-15 Steven G. Kargl <kargl@gcc.gnu.org> |
3892 | ||
3893 | PR fortran/30073 | |
3894 | * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant | |
3895 | block of code. Set name to the variable associated with the descriptor. | |
3896 | ||
e429bb49 JJ |
3897 | 2010-04-15 Jakub Jelinek <jakub@redhat.com> |
3898 | ||
3899 | * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P | |
3900 | on VAR_DECL LBOUND and/or UBOUND, even for -O1. | |
3901 | ||
17fb1a8c SK |
3902 | 2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org> |
3903 | ||
e429bb49 | 3904 | * intrinsic.texi: Add the missing specific name of intrinsic |
17fb1a8c SK |
3905 | procedure where the specific name is identical to the generic name. |
3906 | Fix inconsistent or mismatch in the argument names in intrinsic | |
3907 | procedure descriptions. Add the SCALAR allocatable description to | |
3908 | ALLOCATED. | |
3909 | ||
64f002ed TB |
3910 | 2010-04-14 Tobias Burnus <burnus@net-b.de> |
3911 | ||
3912 | PR fortran/18918 | |
3913 | * array.c (gfc_find_array_ref): Handle codimensions. | |
3914 | (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error. | |
3915 | * check.c (is_coarray, dim_corank_check, gfc_check_lcobound, | |
3916 | gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound): | |
3917 | New functions. | |
3918 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX, | |
3919 | GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE, | |
3920 | GFC_ISYM_UCOBOUND. | |
3921 | * intrinsic.h (add_functions): Add this_image, image_index, | |
3922 | lcobound and ucobound intrinsics. | |
3923 | * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound, | |
3924 | gfc_check_image_index, gfc_check_this_image, | |
3925 | gfc_simplify_image_index, gfc_simplify_lcobound, | |
3926 | gfc_simplify_this_image, gfc_simplify_ucobound): | |
3927 | New function prototypes. | |
3928 | * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE | |
3929 | IMAGE_INDEX): Document new intrinsic functions. | |
3930 | * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none | |
3931 | error fatal. | |
3932 | * simplify.c (simplify_bound_dim): Handle coarrays. | |
3933 | (simplify_bound): Update simplify_bound_dim call. | |
3934 | (gfc_simplify_num_images): Add -fcoarray=none check. | |
3935 | (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound, | |
3936 | gfc_simplify_ucobound, gfc_simplify_ucobound): New functions. | |
3937 | ||
b1ccc24e JD |
3938 | 2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3939 | ||
3940 | PR fortran/43747 | |
3941 | * constructor.c: Fix typo in comment. | |
3942 | * expr.c (find_array_section): Add check for max array limit. | |
3943 | ||
5f1c83e1 IS |
3944 | 2010-04-13 Iain Sandoe <iains@gcc.gnu.org> |
3945 | ||
3946 | PR bootstrap/31400 | |
3947 | * gfortranspec.c (lookup_option): Check for -static and return | |
3948 | OPTION_static. | |
3949 | (lang_specific_driver): Break when OPTION_static is discovered. | |
3950 | ||
b7e75771 JD |
3951 | 2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3952 | ||
3953 | * array.c (extract_element): Restore function from trunk. | |
3954 | (gfc_get_array_element): Restore function from trunk. | |
3955 | (gfc_expand_constructor): Restore check against | |
3956 | flag_max_array_constructor. | |
3957 | * constructor.c (node_copy_and_append): Delete unused. | |
3958 | * gfortran.h: Delete comment and extra include. | |
3959 | * constructor.h: Bump copyright and clean up TODO comments. | |
3960 | * resolve.c: Whitespace. | |
3961 | ||
3962 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
3963 | ||
3964 | * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro | |
3965 | with direct access access to elements. Adjusted prototype, fixed all | |
3966 | callers. | |
3967 | (gfc_simplify_dot_product): Removed duplicate check for zero-sized | |
3968 | array. | |
3969 | (gfc_simplify_matmul): Removed usage of ADVANCE macro. | |
3970 | (gfc_simplify_spread): Removed workaround, directly insert elements | |
3971 | at a given array position. | |
3972 | (gfc_simplify_transpose): Likewise. | |
3973 | (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding | |
3974 | function calls. | |
3975 | (gfc_simplify_unpack): Likewise. | |
3976 | ||
3977 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
3978 | ||
3979 | * simplify.c (only_convert_cmplx_boz): Renamed to ... | |
3980 | (convert_boz): ... this and moved to start of file. | |
3981 | (gfc_simplify_abs): Whitespace fix. | |
3982 | (gfc_simplify_acos): Whitespace fix. | |
3983 | (gfc_simplify_acosh): Whitespace fix. | |
3984 | (gfc_simplify_aint): Whitespace fix. | |
3985 | (gfc_simplify_dint): Whitespace fix. | |
3986 | (gfc_simplify_anint): Whitespace fix. | |
3987 | (gfc_simplify_and): Replaced if-gate by more common switch-over-type. | |
3988 | (gfc_simplify_dnint): Whitespace fix. | |
3989 | (gfc_simplify_asin): Whitespace fix. | |
3990 | (gfc_simplify_asinh): Moved creation of result-expr out of switch. | |
3991 | (gfc_simplify_atan): Likewise. | |
3992 | (gfc_simplify_atanh): Whitespace fix. | |
3993 | (gfc_simplify_atan2): Whitespace fix. | |
3994 | (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED. | |
3995 | (gfc_simplify_bessel_j1): Likewise. | |
3996 | (gfc_simplify_bessel_jn): Likewise. | |
3997 | (gfc_simplify_bessel_y0): Likewise. | |
3998 | (gfc_simplify_bessel_y1): Likewise. | |
3999 | (gfc_simplify_bessel_yn): Likewise. | |
4000 | (gfc_simplify_ceiling): Reorderd statements. | |
4001 | (simplify_cmplx): Use convert_boz(), check for constant arguments. | |
4002 | Whitespace fix. | |
4003 | (gfc_simplify_cmplx): Use correct default kind. Removed check for | |
4004 | constant arguments. | |
4005 | (gfc_simplify_complex): Replaced if-gate. Removed check for | |
4006 | constant arguments. | |
4007 | (gfc_simplify_conjg): Whitespace fix. | |
4008 | (gfc_simplify_cos): Whitespace fix. | |
4009 | (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type. | |
4010 | (gfc_simplify_dcmplx): Removed check for constant arguments. | |
4011 | (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant(). | |
4012 | (gfc_simplify_digits): Whitespace fix. | |
4013 | (gfc_simplify_dim): Whitespace fix. | |
4014 | (gfc_simplify_dprod): Reordered statements. | |
4015 | (gfc_simplify_erf): Whitespace fix. | |
4016 | (gfc_simplify_erfc): Whitespace fix. | |
4017 | (gfc_simplify_epsilon): Whitespace fix. | |
4018 | (gfc_simplify_exp): Whitespace fix. | |
4019 | (gfc_simplify_exponent): Use convert_boz(). | |
4020 | (gfc_simplify_floor): Reorderd statements. | |
4021 | (gfc_simplify_gamma): Whitespace fix. | |
4022 | (gfc_simplify_huge): Whitespace fix. | |
4023 | (gfc_simplify_iand): Whitespace fix. | |
4024 | (gfc_simplify_ieor): Whitespace fix. | |
4025 | (simplify_intconv): Use gfc_convert_constant(). | |
4026 | (gfc_simplify_int): Use simplify_intconv(). | |
4027 | (gfc_simplify_int2): Reorderd statements. | |
4028 | (gfc_simplify_idint): Reorderd statements. | |
4029 | (gfc_simplify_ior): Whitespace fix. | |
4030 | (gfc_simplify_ishftc): Removed duplicate type check. | |
4031 | (gfc_simplify_len): Use range_check() instead of manual range check. | |
4032 | (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix. | |
4033 | (gfc_simplify_log): Whitespace fix. | |
4034 | (gfc_simplify_log10): Whitespace fix. | |
4035 | (gfc_simplify_minval): Whitespace fix. | |
4036 | (gfc_simplify_maxval): Whitespace fix. | |
4037 | (gfc_simplify_mod): Whitespace fix. | |
4038 | (gfc_simplify_modulo): Whitespace fix. | |
4039 | (simplify_nint): Reorderd statements. | |
4040 | (gfc_simplify_not): Whitespace fix. | |
4041 | (gfc_simplify_or): Replaced if-gate by more common switch-over-type. | |
4042 | (gfc_simplify_radix): Removed unused result-variable. Whitespace fix. | |
4043 | (gfc_simplify_range): Removed unused result-variable. Whitespace fix. | |
4044 | (gfc_simplify_real): Use convert_boz() and gfc_convert_constant(). | |
4045 | (gfc_simplify_realpart): Whitespace fix. | |
4046 | (gfc_simplify_selected_char_kind): Removed unused result-variable. | |
4047 | (gfc_simplify_selected_int_kind): Removed unused result-variable. | |
4048 | (gfc_simplify_selected_real_kind): Removed unused result-variable. | |
4049 | (gfc_simplify_sign): Whitespace fix. | |
4050 | (gfc_simplify_sin): Whitespace fix. | |
4051 | (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type. | |
4052 | (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix. | |
4053 | (gfc_simplify_tan): Replaced if-gate by more common switch-over-type. | |
4054 | (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type. | |
4055 | (gfc_simplify_xor): Replaced if-gate by more common switch-over-type. | |
4056 | ||
4057 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
4058 | ||
4059 | * gfortran.h (gfc_start_constructor): Removed. | |
4060 | (gfc_get_array_element): Removed. | |
4061 | * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr | |
4062 | instead. Fixed all callers. | |
4063 | (extract_element): Removed. | |
4064 | (gfc_expand_constructor): Temporarily removed check for | |
4065 | max-array-constructor. Will be re-introduced later if still required. | |
4066 | (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr | |
4067 | instead. Fixed all callers. | |
4068 | * expr.c (find_array_section): Replaced manual lookup of elements | |
4069 | by gfc_constructor_lookup. | |
4070 | ||
4071 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
4072 | ||
feef2551 TB |
4073 | * gfortran.h (gfc_get_null_expr): New prototype. |
4074 | (gfc_get_operator_expr): New prototype. | |
4075 | (gfc_get_character_expr): New prototype. | |
4076 | (gfc_get_iokind_expr): New prototype. | |
4077 | * expr.c (gfc_get_null_expr): New. | |
4078 | (gfc_get_character_expr): New. | |
4079 | (gfc_get_iokind_expr): New. | |
4080 | (gfc_get_operator_expr): Moved here from matchexp.c (build_node). | |
4081 | * matchexp.c (build_node): Renamed and moved to | |
4082 | expr.c (gfc_get_operator_expr). Reordered arguments to match | |
4083 | other functions. Fixed all callers. | |
4084 | (gfc_get_parentheses): Use specific function to build expr. | |
4085 | * array.c (gfc_match_array_constructor): Likewise. | |
4086 | * arith.c (eval_intrinsic): Likewise. | |
4087 | (gfc_hollerith2int): Likewise. | |
4088 | (gfc_hollerith2real): Likewise. | |
4089 | (gfc_hollerith2complex): Likewise. | |
4090 | (gfc_hollerith2logical): Likewise. | |
4091 | * data.c (create_character_intializer): Likewise. | |
4092 | * decl.c (gfc_match_null): Likewise. | |
4093 | (enum_initializer): Likewise. | |
4094 | * io.c (gfc_match_format): Likewise. | |
4095 | (match_io): Likewise. | |
4096 | * match.c (gfc_match_nullify): Likewise. | |
4097 | * primary.c (match_string_constant): Likewise. | |
4098 | (match_logical_constant): Likewise. | |
4099 | (build_actual_constructor): Likewise. | |
4100 | * resolve.c (build_default_init_expr): Likewise. | |
4101 | * symbol.c (generate_isocbinding_symbol): Likewise. | |
4102 | (gfc_build_class_symbol): Likewise. | |
4103 | (gfc_find_derived_vtab): Likewise. | |
4104 | * simplify.c (simplify_achar_char): Likewise. | |
4105 | (gfc_simplify_adjustl): Likewise. | |
4106 | (gfc_simplify_adjustr): Likewise. | |
4107 | (gfc_simplify_and): Likewise. | |
4108 | (gfc_simplify_bit_size): Likewise. | |
4109 | (gfc_simplify_is_iostat_end): Likewise. | |
4110 | (gfc_simplify_is_iostat_eor): Likewise. | |
4111 | (gfc_simplify_isnan): Likewise. | |
4112 | (simplify_bound): Likewise. | |
4113 | (gfc_simplify_leadz): Likewise. | |
4114 | (gfc_simplify_len_trim): Likewise. | |
4115 | (gfc_simplify_logical): Likewise. | |
4116 | (gfc_simplify_maxexponent): Likewise. | |
4117 | (gfc_simplify_minexponent): Likewise. | |
4118 | (gfc_simplify_new_line): Likewise. | |
4119 | (gfc_simplify_null): Likewise. | |
4120 | (gfc_simplify_or): Likewise. | |
4121 | (gfc_simplify_precision): Likewise. | |
4122 | (gfc_simplify_repeat): Likewise. | |
4123 | (gfc_simplify_scan): Likewise. | |
4124 | (gfc_simplify_size): Likewise. | |
4125 | (gfc_simplify_trailz): Likewise. | |
4126 | (gfc_simplify_trim): Likewise. | |
4127 | (gfc_simplify_verify): Likewise. | |
4128 | (gfc_simplify_xor): Likewise. | |
4129 | * trans-io.c (build_dt): Likewise. | |
4130 | (gfc_new_nml_name_expr): Removed. | |
b7e75771 JD |
4131 | |
4132 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
4133 | ||
4134 | * arith.h (gfc_constant_result): Removed prototype. | |
4135 | * constructor.h (gfc_build_array_expr): Removed prototype. | |
4136 | (gfc_build_structure_constructor_expr): Removed prototype. | |
4137 | * gfortran.h (gfc_int_expr): Removed prototype. | |
4138 | (gfc_logical_expr): Removed prototype. | |
4139 | (gfc_get_array_expr): New prototype. | |
4140 | (gfc_get_structure_constructor_expr): New prototype. | |
4141 | (gfc_get_constant_expr): New prototype. | |
4142 | (gfc_get_int_expr): New prototype. | |
4143 | (gfc_get_logical_expr): New prototype. | |
4144 | * arith.c (gfc_constant_result): Moved and renamed to | |
4145 | expr.c (gfc_get_constant_expr). Fixed all callers. | |
4146 | * constructor.c (gfc_build_array_expr): Moved and renamed to | |
4147 | expr.c (gfc_get_array_expr). Split gfc_typespec argument to type | |
4148 | and kind. Fixed all callers. | |
4149 | (gfc_build_structure_constructor_expr): Moved and renamed to | |
4150 | expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument | |
4151 | to type and kind. Fixed all callers. | |
4152 | * expr.c (gfc_logical_expr): Renamed to ... | |
4153 | (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers. | |
4154 | (gfc_int_expr): Renamed to ... | |
4155 | (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all | |
4156 | callers. | |
4157 | (gfc_get_constant_expr): New. | |
4158 | (gfc_get_array_expr): New. | |
4159 | (gfc_get_structure_constructor_expr): New. | |
4160 | * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr | |
4161 | instead. | |
4162 | ||
4163 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
4164 | ||
4165 | * constructor.h: New. | |
4166 | * constructor.c: New. | |
4167 | * Make-lang.in: Add new files to F95_PARSER_OBJS. | |
4168 | * arith.c (reducy_unary): Use constructor API. | |
4169 | (reduce_binary_ac): Likewise. | |
4170 | (reduce_binary_ca): Likewise. | |
4171 | (reduce_binary_aa): Likewise. | |
4172 | * check.c (gfc_check_pack): Likewise. | |
4173 | (gfc_check_reshape): Likewise. | |
4174 | (gfc_check_unpack): Likewise. | |
4175 | * decl.c (add_init_expr_to_sym): Likewise. | |
4176 | (build_struct): Likewise. | |
4177 | * dependency.c (gfc_check_dependency): Likewise. | |
4178 | (contains_forall_index_p): Likewise. | |
4179 | * dump-parse-tree.c (show_constructor): Likewise. | |
4180 | * expr.c (free_expr0): Likewise. | |
4181 | (gfc_copy_expr): Likewise. | |
4182 | (gfc_is_constant_expr): Likewise. | |
4183 | (simplify_constructor): Likewise. | |
4184 | (find_array_element): Likewise. | |
4185 | (find_component_ref): Likewise. | |
4186 | (find_array_section): Likewise. | |
4187 | (find_substring_ref): Likewise. | |
4188 | (simplify_const_ref): Likewise. | |
4189 | (scalarize_intrinsic_call): Likewise. | |
4190 | (check_alloc_comp_init): Likewise. | |
4191 | (gfc_default_initializer): Likewise. | |
4192 | (gfc_traverse_expr): Likewise. | |
4193 | * iresolve.c (check_charlen_present): Likewise. | |
4194 | (gfc_resolve_reshape): Likewise. | |
4195 | (gfc_resolve_transfer): Likewise. | |
4196 | * module.c (mio_constructor): Likewise. | |
4197 | * primary.c (build_actual_constructor): Likewise. | |
4198 | (gfc_match_structure_constructor): Likewise. | |
4199 | * resolve.c (resolve_structure_cons): Likewise. | |
4200 | * simplify.c (is_constant_array_expr): Likewise. | |
4201 | (init_result_expr): Likewise. | |
4202 | (transformational_result): Likewise. | |
4203 | (simplify_transformation_to_scalar): Likewise. | |
4204 | (simplify_transformation_to_array): Likewise. | |
4205 | (gfc_simplify_dot_product): Likewise. | |
4206 | (simplify_bound): Likewise. | |
4207 | (simplify_matmul): Likewise. | |
4208 | (simplify_minval_maxval): Likewise. | |
4209 | (gfc_simplify_pack): Likewise. | |
4210 | (gfc_simplify_reshape): Likewise. | |
4211 | (gfc_simplify_shape): Likewise. | |
4212 | (gfc_simplify_spread): Likewise. | |
4213 | (gfc_simplify_transpose): Likewise. | |
4214 | (gfc_simplify_unpack): Likewise.q | |
4215 | (gfc_convert_constant): Likewise. | |
4216 | (gfc_convert_char_constant): Likewise. | |
4217 | * target-memory.c (size_array): Likewise. | |
4218 | (encode_array): Likewise. | |
4219 | (encode_derived): Likewise. | |
4220 | (interpret_array): Likewise. | |
4221 | (gfc_interpret_derived): Likewise. | |
4222 | (expr_to_char): Likewise. | |
4223 | (gfc_merge_initializers): Likewise. | |
4224 | * trans-array.c (gfc_get_array_constructor_size): Likewise. | |
4225 | (gfc_trans_array_constructor_value): Likewise. | |
4226 | (get_array_ctor_strlen): Likewise. | |
4227 | (gfc_constant_array_constructor_p): Likewise. | |
4228 | (gfc_build_constant_array_constructor): Likewise. | |
4229 | (gfc_trans_array_constructor): Likewise. | |
4230 | (gfc_conv_array_initializer): Likewise. | |
4231 | * trans-decl.c (check_constant_initializer): Likewise. | |
4232 | * trans-expr.c (flatten_array_ctors_without_strlen): Likewise. | |
4233 | (gfc_apply_interface_mapping_to_cons): Likewise. | |
4234 | (gfc_trans_structure_assign): Likewise. | |
4235 | (gfc_conv_structure): Likewise. | |
4236 | * array.c (check_duplicate_iterator): Likewise. | |
4237 | (match_array_list): Likewise. | |
4238 | (match_array_cons_element): Likewise. | |
4239 | (gfc_match_array_constructor): Likewise. | |
4240 | (check_constructor_type): Likewise. | |
4241 | (check_constructor): Likewise. | |
4242 | (expand): Likewise. | |
4243 | (expand_constructor): Likewise. | |
4244 | (extract_element): Likewise. | |
4245 | (gfc_expanded_ac): Likewise. | |
4246 | (resolve_array_list): Likewise. | |
4247 | (gfc_resolve_character_array_constructor): Likewise. | |
4248 | (copy_iterator): Renamed to ... | |
4249 | (gfc_copy_iterator): ... this. | |
4250 | (gfc_append_constructor): Removed. | |
4251 | (gfc_insert_constructor): Removed unused function. | |
4252 | (gfc_get_constructor): Removed. | |
4253 | (gfc_free_constructor): Removed. | |
4254 | (qgfc_copy_constructor): Removed. | |
4255 | * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'. | |
4256 | Removed all references. Replaced constructor list by splay-tree. | |
4257 | (struct gfc_constructor): Removed member 'next', moved 'offset' from | |
4258 | the inner struct, added member 'base'. | |
4259 | (gfc_append_constructor): Removed prototype. | |
4260 | (gfc_insert_constructor): Removed prototype. | |
4261 | (gfc_get_constructor): Removed prototype. | |
4262 | (gfc_free_constructor): Removed prototype. | |
4263 | (qgfc_copy_constructor): Removed prototype. | |
4264 | (gfc_copy_iterator): New prototype. | |
4265 | * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype. | |
4266 | ||
687ea68f TB |
4267 | 2010-04-10 Tobias Burnus <burnus@net-b.de> |
4268 | ||
4269 | PR fortran/43591 | |
4270 | * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle | |
4271 | proc-pointers and type-bound procedures. | |
4272 | (gfc_specification_expr): Check proc-pointers for pureness. | |
4273 | ||
8351bca7 IS |
4274 | 2010-04-09 Iain Sandoe <iains@gcc.gnu.org> |
4275 | ||
4276 | PR bootstrap/43684 | |
4277 | * gfortranspec.c (lang_specific_driver): Do not expose vars | |
4278 | only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling | |
4279 | for such. | |
4280 | ||
d3a9eea2 TB |
4281 | 2010-04-09 Tobias Burnus <burnus@net-b.de> |
4282 | ||
4283 | PR fortran/18918 | |
4284 | * decl.c (variable_decl, match_attr_spec): Fix setting the array | |
4285 | spec. | |
4286 | * array.c (match_subscript,gfc_match_array_ref): Add coarray support. | |
4287 | * data.c (gfc_assign_data_value): Ditto. | |
4288 | * expr.c (gfc_check_pointer_assign): Add check for coarray constraint. | |
4289 | (gfc_traverse_expr): Traverse also through codimension expressions. | |
4290 | (gfc_is_coindexed, gfc_has_ultimate_allocatable, | |
4291 | gfc_has_ultimate_pointer): New functions. | |
4292 | * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays. | |
4293 | (gfc_array_ref): Add codimen. | |
4294 | (gfc_array_ref): Add in_allocate. | |
4295 | (gfc_is_coindexed, gfc_has_ultimate_allocatable, | |
4296 | gfc_has_ultimate_pointer): Add prototypes. | |
4297 | * interface.c (compare_parameter, compare_actual_formal, | |
4298 | check_intents): Add coarray constraints. | |
4299 | * match.c (gfc_match_iterator): Add coarray constraint. | |
4300 | * match.h (gfc_match_array_ref): Update interface. | |
4301 | * primary.c (gfc_match_varspec): Handle codimensions. | |
4302 | * resolve.c (coarray_alloc, inquiry_argument): New static variables. | |
4303 | (check_class_members): Return gfc_try instead for error recovery. | |
4304 | (resolve_typebound_function,resolve_typebound_subroutine, | |
4305 | check_members): Handle return value of check_class_members. | |
4306 | (resolve_structure_cons, resolve_actual_arglist, resolve_function, | |
4307 | check_dimension, compare_spec_to_ref, resolve_array_ref, | |
4308 | resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays, | |
4309 | resolve_allocate_expr, resolve_ordinary_assign): Add coarray | |
4310 | support. | |
4311 | * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr): | |
4312 | Skip over coarray refs. | |
4313 | (gfc_array_allocate) Add support for references containing coindexes. | |
4314 | * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute. | |
4315 | (gfc_map_intrinsic_function): Ignore codimensions. | |
4316 | ||
d0a2c5a9 BD |
4317 | 2010-04-08 Bud Davis <bdavis9659@sbcglobal.net> |
4318 | ||
4319 | PR fortran/28039 | |
4320 | * io.c (check_format_string): Added check for additional non | |
4321 | blank characters after the format string was successfully | |
4322 | parsed. | |
4323 | * io.c (check_format): Changed the error messages for positive | |
4324 | int required and period required to drop through the error logic | |
4325 | and report with gfc_error instead of gfc_error_now. Corrected | |
4326 | format postion for hollerith strings. | |
4327 | ||
3e2f637e TB |
4328 | 2010-04-08 Tobias Burnus <burnus@net-b.de> |
4329 | ||
4330 | * module.c (use_iso_fortran_env_module): Fix standard check. | |
4331 | ||
60d3aec4 JJ |
4332 | 2010-04-07 Jakub Jelinek <jakub@redhat.com> |
4333 | ||
4334 | * parse.c (parse_derived, parse_enum): Avoid set but not used | |
4335 | warning. | |
4336 | ||
927f4842 JB |
4337 | 2010-04-07 Janne Blomqvist <jb@gcc.gnu.org> |
4338 | ||
4339 | PR fortran/40539 | |
4340 | * gfortran.texi: Add section about representation of | |
3e2f637e | 4341 | LOGICAL variables. |
927f4842 | 4342 | |
87cf0651 SB |
4343 | 2010-04-07 Simon Baldwin <simonb@google.com> |
4344 | ||
4345 | * cpp.c (cb_cpp_error): Add warning reason argument, set a value | |
4346 | for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE. | |
4347 | ||
0d3c82d6 RG |
4348 | 2010-04-07 Richard Guenther <rguenther@suse.de> |
4349 | ||
4350 | * options.c (gfc_init_options): Do not set. | |
4351 | ||
f4d1d50a TB |
4352 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
4353 | ||
4354 | PR fortran/18918 | |
4355 | * array.c (gfc_match_array_spec): Add error for -fcoarray=none. | |
4356 | * match.c (gfc_match_critical, sync_statement): Ditto. | |
4357 | * gfortran.h (gfc_fcoarray): New enum. | |
4358 | (gfc_option_t): Use it. | |
4359 | * lang.opt (fcoarray): Add new flag. | |
4360 | * invoke.texi (fcoarray): Document it. | |
4361 | * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=. | |
4362 | (gfc_handle_coarray_option): New function. | |
4363 | ||
178f9aa1 TB |
4364 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
4365 | ||
4366 | PR fortran/18918 | |
4367 | * gfortran.h (gfc_array_spec): Add cotype. | |
4368 | * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it | |
4369 | and defer error diagnostic. | |
4370 | * resolve.c (resolve_fl_derived): Add missing check. | |
4371 | (resolve_symbol): Add cotype/type check. | |
4372 | * parse.c (parse_derived): Fix setting of coarray_comp. | |
4373 | ||
be59db2d TB |
4374 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
4375 | ||
4376 | PR fortran/18918 | |
4377 | * array.c (gfc_free_array_spec,gfc_resolve_array_spec, | |
4378 | match_array_element_spec,gfc_copy_array_spec, | |
4379 | gfc_compare_array_spec): Include corank. | |
4380 | (match_array_element_spec,gfc_set_array_spec): Support codimension. | |
4381 | * decl.c (build_sym,build_struct,variable_decl, | |
4382 | match_attr_spec,attr_decl1,cray_pointer_decl, | |
4383 | gfc_match_volatile): Add codimension. | |
4384 | (gfc_match_codimension): New function. | |
4385 | * dump-parse-tree.c (show_array_spec,show_attr): Support codimension. | |
4386 | * gfortran.h (symbol_attribute,gfc_array_spec): Ditto. | |
4387 | (gfc_add_codimension): New function prototype. | |
4388 | * match.h (gfc_match_codimension): New function prototype. | |
4389 | (gfc_match_array_spec): Update prototype | |
4390 | * match.c (gfc_match_common): Update gfc_match_array_spec call. | |
4391 | * module.c (MOD_VERSION): Bump. | |
4392 | (mio_symbol_attribute): Support coarray attributes. | |
4393 | (mio_array_spec): Add corank support. | |
4394 | * parse.c (decode_specification_statement,decode_statement, | |
4395 | parse_derived): Add coarray support. | |
4396 | * resolve.c (resolve_formal_arglist, was_declared, | |
4397 | is_non_constant_shape_array, resolve_fl_variable, | |
4398 | resolve_fl_derived, resolve_symbol): Add coarray support. | |
4399 | * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr, | |
4400 | gfc_build_class_symbol): Add coarray support. | |
4401 | (gfc_add_codimension): New function. | |
4402 | ||
385e8144 TB |
4403 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
4404 | ||
4405 | PR fortran/18918 | |
4406 | * iso-fortran-env.def: Add the integer parameters atomic_int_kind, | |
4407 | atomic_logical_kind, iostat_inquire_internal_unit, stat_locked, | |
4408 | stat_locked_other_image, stat_stopped_image and stat_unlocked of | |
4409 | Fortran 2008. | |
4410 | * intrinsic.texi (iso_fortran_env): Ditto. | |
4411 | * libgfortran.h (libgfortran_stat_codes): New enum. | |
4412 | * module.c (use_iso_fortran_env_module): Honour -std= when loading | |
4413 | constants from the intrinsic module. | |
4414 | ||
d0a4a61c TB |
4415 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
4416 | ||
4417 | PR fortran/39997 | |
4418 | * intrinsic.c (add_functions): Add num_images. | |
4419 | * decl.c (gfc_match_end): Handle END CRITICAL. | |
4420 | * intrinsic.h (gfc_simplify_num_images): Add prototype. | |
4421 | * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP, | |
4422 | and SYNC. | |
4423 | * gfortran.h (gfc_statement): Add enum items for those. | |
4424 | (gfc_exec_op) Ditto. | |
4425 | (gfc_isym_id): Add num_images. | |
4426 | * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP. | |
4427 | (gfc_trans_sync,gfc_trans_critical): New functions. | |
4428 | * trans-stmt.h (gfc_trans_stop,gfc_trans_sync, | |
4429 | gfc_trans_critical): Add/update prototypes. | |
4430 | * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP, | |
4431 | and SYNC statements. | |
4432 | * trans.h (gfor_fndecl_error_stop_string) Add variable. | |
4433 | * resolve.c (resolve_sync): Add function. | |
4434 | (gfc_resolve_blocks): Handle CRITICAL. | |
4435 | (resolve_code): Handle CRITICAL, ERROR STOP, | |
4436 | (resolve_branch): Add CRITICAL constraint check. | |
4437 | and SYNC statements. | |
4438 | * st.c (gfc_free_statement): Add new statements. | |
4439 | * trans-decl.c (gfor_fndecl_error_stop_string): Global variable. | |
4440 | (gfc_build_builtin_function_decls): Initialize it. | |
4441 | * match.c (gfc_match_if): Handle ERROR STOP and SYNC. | |
4442 | (gfc_match_critical, gfc_match_error_stop, sync_statement, | |
4443 | gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory): | |
4444 | New functions. | |
4445 | (match_exit_cycle): Handle CRITICAL constraint. | |
4446 | (gfc_match_stopcode): Handle ERROR STOP. | |
4447 | * match.h (gfc_match_critical, gfc_match_error_stop, | |
4448 | gfc_match_sync_all, gfc_match_sync_images, | |
4449 | gfc_match_sync_memory): Add prototype. | |
4450 | * parse.c (decode_statement, gfc_ascii_statement, | |
4451 | parse_executable): Handle new statements. | |
4452 | (parse_critical_block): New function. | |
4453 | * parse.h (gfc_compile_state): Add COMP_CRITICAL. | |
4454 | * intrinsic.texi (num_images): Document new function. | |
4455 | * simplify.c (gfc_simplify_num_images): Add function. | |
4456 | ||
2b56d6a4 TB |
4457 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
4458 | ||
4459 | PR fortran/43178 | |
4460 | * trans-array.c (gfc_conv_expr_descriptor): Update | |
4461 | gfc_trans_scalar_assign call. | |
4462 | (has_default_initializer): New function. | |
4463 | (gfc_trans_deferred_array): Nullify less often. | |
4464 | * trans-expr.c (gfc_conv_subref_array_arg, | |
4465 | gfc_trans_subcomponent_assign): Update call to | |
4466 | gfc_trans_scalar_assign. | |
4467 | (gfc_trans_scalar_assign): Add parameter and pass it on. | |
4468 | (gfc_trans_assignment_1): Optionally, do not dealloc before | |
4469 | assignment. | |
4470 | * trans-openmp.c (gfc_trans_omp_array_reduction): Update | |
4471 | call to gfc_trans_scalar_assign. | |
4472 | * trans-decl.c (gfc_get_symbol_decl): Do not always apply | |
4473 | initializer to static variables. | |
4474 | (gfc_init_default_dt): Add dealloc parameter and pass it on. | |
4475 | * trans-stmt.c (forall_make_variable_temp, | |
4476 | generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, | |
4477 | gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3 | |
4478 | gfc_trans_allocate): Update gfc_trans_assignment call. | |
4479 | * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt, | |
4480 | gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc | |
4481 | parameter to prototype. | |
4482 | ||
0a261912 PT |
4483 | 2010-03-31 Paul Thomas <pault@gcc.gnu.org> |
4484 | ||
4485 | * ioparm.def : Update copyright. | |
4486 | * lang.opt : ditto | |
4487 | * trans-array.c : ditto | |
4488 | * trans-array.h : ditto | |
4489 | * expr.c: ditto | |
4490 | * trans-types.c: ditto | |
4491 | * dependency.c : ditto | |
4492 | * gfortran.h : ditto | |
4493 | * options.c : ditto | |
4494 | * trans-io.c : ditto | |
4495 | * trans-intrinsic.c : ditto | |
4496 | * libgfortran.h : ditto | |
4497 | * invoke.texi : ditto | |
4498 | * intrinsic.texi : ditto | |
4499 | * trans.c : ditto | |
4500 | * trans.h : ditto | |
4501 | * intrinsic.c : ditto | |
4502 | * interface.c : ditto | |
4503 | * iresolve.c : ditto | |
4504 | * trans-stmt.c : ditto | |
4505 | * trans-stmt.h : ditto | |
4506 | * parse,c : ditto | |
4507 | * match.h : ditto | |
4508 | * error.c : ditto | |
4509 | ||
b8849663 PT |
4510 | 2010-03-20 Paul Thomas <pault@gcc.gnu.org> |
4511 | ||
4512 | PR fortran/43450 | |
4513 | * trans-decl.c (gfc_create_module_variable): With -fwhole-file | |
4514 | do not assert the context of derived types. | |
4515 | ||
41c3cddc JD |
4516 | 2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
4517 | ||
4518 | PR fortran/43409 | |
4519 | * ioparm.def: Change inquire size variable to type pointer to | |
4520 | GFC_IO_INT type. | |
4521 | ||
1821bcfc PT |
4522 | 2010-03-18 Paul Thomas <pault@gcc.gnu.org> |
4523 | ||
feef2551 TB |
4524 | PR fortran/43039 |
4525 | * trans-expr.c (conv_parent_component_references): Ensure that | |
1821bcfc PT |
4526 | 'dt' has a backend_decl. |
4527 | ||
feef2551 TB |
4528 | PR fortran/43043 |
4529 | * trans-expr.c (gfc_conv_structure): Ensure that the derived | |
1821bcfc PT |
4530 | type has a backend_decl. |
4531 | ||
feef2551 TB |
4532 | PR fortran/43044 |
4533 | * resolve.c (resolve_global_procedure): Check that the 'cl' | |
1821bcfc PT |
4534 | structure is not NULL. |
4535 | ||
316fc112 SZ |
4536 | 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com> |
4537 | ||
4538 | * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove | |
4539 | redundant tab. | |
4540 | ||
b3aefde2 TB |
4541 | 2010-03-17 Tobias Burnus <burnus@net-b.de> |
4542 | ||
4543 | PR fortran/43331 | |
4544 | * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref, | |
4545 | gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed | |
4546 | check. | |
4547 | * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray | |
4548 | pointees as having explizit size. | |
4549 | * expr.c (gfc_check_assign): Remove now unreachable Cray pointee | |
4550 | check. | |
4551 | * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert. | |
4552 | (gfc_sym_type): Don't mark Cray pointees as restricted pointers. | |
4553 | * resolve.c (resolve_symbol): Handle cp_was_assumed. | |
4554 | * trans-decl.c (gfc_trans_deferred_vars): Ditto. | |
4555 | (gfc_finish_var_decl): Don't mark Cray pointees as restricted | |
4556 | pointers. | |
4557 | ||
4eceddd7 TB |
4558 | 2010-03-14 Tobias Burnus <burnus@net-b.de> |
4559 | ||
4560 | PR fortran/43362 | |
4561 | * resolve.c (resolve_structure_cons): Add missing PURE constraint. | |
4562 | (resolve_ordinary_assign): Add check to avoid segfault. | |
4563 | ||
6a943ee7 PT |
4564 | 2010-03-12 Paul Thomas <pault@gcc.gnu.org> |
4565 | ||
4566 | PR fortran/43291 | |
4567 | PR fortran/43326 | |
4568 | * resolve.c (resolve_compcall): Add new boolean dummy argument | |
4569 | 'class_members'. Only resolve expression at end if false. | |
4570 | Remove redundant, static variable 'class_object'. | |
4571 | (check_class_members): Add extra argument to call of | |
4572 | resolve_compcall. | |
4573 | (resolve_typebound_function): Renamed resolve_class_compcall. | |
4574 | Do all the detection of class references here. Correct calls to | |
4575 | resolve_compcall for extra argument. | |
4576 | (resolve_typebound_subroutine): resolve_class_typebound_call | |
4577 | renamed. Otherwise same as resolve_typebound_function. | |
4578 | (gfc_resolve_expr): Call resolve_typebound_function. | |
4579 | (resolve_code): Call resolve_typebound_subroutine. | |
4580 | ||
abf4d60b TB |
4581 | 2010-03-10 Tobias Burnus <burnus@net-b.de |
4582 | ||
4583 | PR fortran/43303 | |
4584 | * symbol.c (get_iso_c_sym): Set sym->result. | |
4585 | ||
b3d286ba JW |
4586 | 2010-03-08 Janus Weil <janus@gcc.gnu.org> |
4587 | ||
4588 | PR fortran/43256 | |
4589 | * resolve.c (resolve_compcall): Don't set 'value.function.name' here | |
4590 | for TBPs, otherwise they will not be resolved properly. | |
4591 | (resolve_function): Use 'value.function.esym' instead of | |
abf4d60b | 4592 | 'value.function.name' to check if we're dealing with a TBP. |
b3d286ba JW |
4593 | (check_class_members): Set correct type of passed object for all TBPs, |
4594 | not only generic ones, except if the type is abstract. | |
4595 | ||
33344e0f JW |
4596 | 2010-03-04 Janus Weil <janus@gcc.gnu.org> |
4597 | ||
4598 | PR fortran/43244 | |
4599 | * decl.c (gfc_match_final_decl): Make sure variable names starting with | |
4600 | 'final...' are not misinterpreted as FINAL statements. | |
4601 | ||
ba461991 PT |
4602 | 2010-03-03 Paul Thomas <pault@gcc.gnu.org> |
4603 | ||
4604 | PR fortran/43243 | |
4605 | * trans-array.c (gfc_conv_array_parameter): Contiguous refs to | |
4606 | allocatable ultimate components do not need temporaries, whilst | |
4607 | ultimate pointer components do. | |
4608 | ||
d1039125 JW |
4609 | 2010-03-03 Janus Weil <janus@gcc.gnu.org> |
4610 | ||
4611 | PR fortran/43169 | |
4612 | * resolve.c (resolve_code): Correctly set gfc_current_ns for | |
4613 | EXEC_SELECT_TYPE. | |
4614 | (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc). | |
4615 | (gfc_pure): Ditto. | |
4616 | ||
2542496c PT |
4617 | 2010-03-02 Paul Thomas <pault@gcc.gnu.org> |
4618 | ||
4619 | PR fortran/43180 | |
4620 | * trans-array.c (gfc_conv_array_parameter): A full array of | |
4621 | derived type need not be restricted to a symbol without an | |
4622 | array spec to use the call to gfc_conv_expr_descriptor. | |
4623 | ||
4624 | PR fortran/43173 | |
4625 | * trans-array.c (gfc_conv_array_parameter): Contiguous refs to | |
4626 | allocatable arrays do not need temporaries. | |
4627 | ||
fef06326 TB |
4628 | 2010-03-01 Tobias Burnus <burnus@net-b.de> |
4629 | ||
4630 | PR fortran/43199 | |
4631 | * resolve.c (find_array_spec): Handle REF_COMPONENT with | |
4632 | CLASS components. | |
4633 | ||
dfd65514 TB |
4634 | 2010-02-28 Tobias Burnus <burnus@net-b.de> |
4635 | ||
4636 | PR fortran/43205 | |
4637 | * trans-expr.c (is_zero_initializer_p): Move up in the file. | |
4638 | (gfc_conv_initializer): Handle zero initializer as special case. | |
4639 | ||
cea2d589 TB |
4640 | 2010-02-27 Tobias Burnus <burnus@net-b.de> |
4641 | ||
4642 | PR fortran/43185 | |
4643 | * resolve.c (resolve_fl_variable_derived): Imply SAVE | |
4644 | for module variables for Fortran 2008. | |
4645 | ||
06796564 JJ |
4646 | 2010-02-25 Jakub Jelinek <jakub@redhat.com> |
4647 | ||
4648 | PR debug/43166 | |
4649 | * trans-common.c (build_common_decl): Also update DECL_MODE, | |
4650 | and DECL_SIZE when encountering a larger common block and call | |
4651 | layout_decl. | |
4652 | ||
feef2551 | 4653 | 2010-02-24 Tobias Burnus <burnus@net-b.de> |
505a36f9 TB |
4654 | |
4655 | PR fortran/43042 | |
4656 | * trans-expr.c (gfc_conv_initializer): Call directly | |
feef2551 | 4657 | gfc_conv_constant for C_NULL_(FUN)PTR. |
505a36f9 | 4658 | |
f80c558f PT |
4659 | 2010-02-22 Paul Thomas <pault@gcc.gnu.org> |
4660 | ||
4661 | PR fortran/43072 | |
4662 | * dependency.c (gfc_full_array_ref_p): Check for contiguous by | |
4663 | checking the rest of the dimensions for elements. | |
4664 | ||
72bd130e TB |
4665 | 2010-02-21 Tobias Burnus <burnus@net-b.de> |
4666 | ||
4667 | PR fortran/35259 | |
4668 | * gfortran.h (gfc_option_t): New flag -fprotect-parens. | |
4669 | * lang.opt: Ditto. | |
4670 | * option.c (gfc_init_options,gfc_handle_option): Ditto. | |
4671 | * trans-expr.c (gfc_conv_expr_op): Use the flag. | |
4672 | * invoke.texi: Document new -fno-protect-parens flag. | |
4673 | ||
f7172b55 PT |
4674 | 2010-02-20 Paul Thomas <pault@gcc.gnu.org> |
4675 | ||
4676 | PR fortran/36932 | |
4677 | PR fortran/36933 | |
4678 | PR fortran/43072 | |
4679 | PR fortran/43111 | |
4680 | * dependency.c (gfc_check_argument_var_dependency): Use enum | |
4681 | value instead of arithmetic vaue for 'elemental'. | |
4682 | (check_data_pointer_types): New function. | |
4683 | (gfc_check_dependency): Call check_data_pointer_types. | |
4684 | * trans-array.h : Change fourth argument of | |
4685 | gfc_conv_array_parameter to boolean. | |
4686 | * trans-array.c (gfc_conv_array_parameter): A contiguous array | |
4687 | can be a dummy but it must not be assumed shape or deferred. | |
4688 | Change fourth argument to boolean. Array constructor exprs will | |
4689 | always be contiguous and do not need packing and unpacking. | |
4690 | * trans-expr.c (gfc_conv_procedure_call): Clean up some white | |
4691 | space and change fourth argument of gfc_conv_array_parameter | |
4692 | to boolean. | |
4693 | (gfc_trans_arrayfunc_assign): Change fourth argument of | |
4694 | gfc_conv_array_parameter to boolean. | |
4695 | * trans-io.c (gfc_convert_array_to_string): The same. | |
4696 | * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same. | |
4697 | ||
22bdbb0f TB |
4698 | 2010-02-20 Tobias Burnus <burnus@net-b.de> |
4699 | ||
4700 | PR fortran/42958 | |
4701 | * libgfortran.h: Add GFC_RTCHECK_MEM. | |
4702 | * invoke.texi (-fcheck=): Document -fcheck=mem. | |
4703 | * tranc.c (gfc_call_malloc): Remove negative-size run-time error | |
4704 | and enable malloc-success check only with -fcheck=mem. | |
4705 | * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem. | |
4706 | ||
7bc19392 TB |
4707 | 2010-02-16 Tobias Burnus <burnus@net-b.de> |
4708 | ||
4709 | PR fortran/43040 | |
4710 | * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA. | |
4711 | * intrinsic.c (add_functions): Ditto. | |
4712 | * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma. | |
4713 | * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma". | |
4714 | ||
bc51e726 JD |
4715 | 2010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
4716 | ||
4717 | PR fortran/32382 | |
4718 | * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to | |
4719 | gfc_trans_do prototype. | |
4720 | * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in | |
4721 | a loop exit condition. If exit condition is given, build the loop exit | |
4722 | code, checking IO results of implied do loops in READ and WRITE. | |
4723 | (gfc_trans_do): Likewise. | |
4724 | * trans.c (trans_code): New static work function, previously | |
4725 | gfc_trans_code. Passes exit condition to gfc_trans_do. | |
4726 | (gfc_trans_code): Calls trans_code with NULL_TREE condition. | |
4727 | (gfc_trans_code_cond): Calls trans_code with loop exit condition. | |
4728 | * trans-io.c (build_dt): Build an exit condition to allow checking IO | |
4729 | result status bits in the dtparm structure. Use this condition in call | |
4730 | to gfc_trans_code_cond. | |
4731 | ||
17555e7e PT |
4732 | 2010-02-13 Paul Thomas <pault@gcc.gnu.org> |
4733 | ||
4734 | PR fortran/41113 | |
4735 | PR fortran/41117 | |
4736 | * trans-array.c (gfc_conv_array_parameter): Use | |
4737 | gfc_full_array_ref_p to detect full and contiguous variable | |
4738 | arrays. Full array components and contiguous arrays do not need | |
4739 | internal_pack and internal_unpack. | |
4740 | ||
01e64c3d JJ |
4741 | 2010-02-11 Jakub Jelinek <jakub@redhat.com> |
4742 | ||
a79ff094 JJ |
4743 | PR fortran/43030 |
4744 | * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts. | |
4745 | ||
01e64c3d JJ |
4746 | PR fortran/43029 |
4747 | * decl.c (enumerator_decl): Don't call gfc_free_enum_history | |
4748 | here. | |
4749 | (gfc_match_enumerator_def): But here whenever enumerator_decl returns | |
4750 | MATCH_ERROR. | |
4751 | ||
7fcd5ad5 TB |
4752 | 2010-02-10 Joost VandeVondele <jv244@cam.ac.uk> |
4753 | Tobias Burnus <burnus@net-b.de> | |
4754 | ||
4755 | PR fortran/40823 | |
4756 | * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at. | |
4757 | ||
975d3303 TB |
4758 | 2010-02-10 Tobias Burnus <burnus@net-b.de> |
4759 | ||
4760 | PR fortran/43015 | |
4761 | * trans-decl.c (gfc_generate_function_code): Only check | |
4762 | actual-vs.-dummy character bounds if not bind(C). | |
4763 | ||
45406a12 JJ |
4764 | 2010-02-10 Jakub Jelinek <jakub@redhat.com> |
4765 | ||
4766 | PR fortran/42309 | |
4767 | * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing | |
4768 | info->dimen after info has been freed. | |
4769 | ||
cbb1ab10 | 4770 | 2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
db9633ec JD |
4771 | |
4772 | PR fortran/42999 | |
4773 | * array.c (gfc_constant_ac): Do not prevent expansion of constructors | |
4774 | with iterators. | |
4775 | ||
b16be5f2 JJ |
4776 | 2010-02-09 Jakub Jelinek <jakub@redhat.com> |
4777 | ||
4778 | * module.c (fix_mio_expr): Declare sym. | |
4779 | ||
6f117ca5 TB |
4780 | 2010-02-09 Paul Thomas <pault@gcc.gnu.org> |
4781 | ||
4782 | PR fortran/41869 | |
4783 | * module.c (fix_mio_expr): Fix for private generic procedures. | |
4784 | ||
5e1d6b4c DK |
4785 | 2010-02-09 Daniel Kraft <d@domob.eu> |
4786 | ||
4787 | PR fortran/39171 | |
4788 | * resolve.c (resolve_charlen): Change warning about negative CHARACTER | |
4789 | length to be correct and issue only with -Wsurprising. | |
4790 | * invoke.texi (Wsurprising): Mention this new warning that is | |
4791 | turned on by -Wsurprising. | |
4792 | ||
d0d4124c DK |
4793 | 2010-02-09 Daniel Kraft <d@domob.eu> |
4794 | ||
4795 | PR fortran/41507 | |
4796 | * intrinsic.texi (MAXVAL): Remove wrong claim that array argument | |
4797 | can be CHARACTER type. | |
4798 | (MINVAL), (MAXLOC), (MINLOC): Ditto. | |
4799 | ||
430f2d1f PT |
4800 | 2010-02-05 Paul Thomas <pault@gcc.gnu.org> |
4801 | ||
4802 | PR fortran/42309 | |
4803 | * trans-expr.c (gfc_conv_subref_array_arg): Add new argument | |
4804 | 'formal_ptr'. If this is true, give returned descriptor unity | |
4805 | lbounds, in all dimensions, and the appropriate offset. | |
4806 | (gfc_conv_procedure_call); If formal is a pointer, set the last | |
4807 | argument of gfc_conv_subref_array_arg to true. | |
4808 | * trans.h : Add last argument for gfc_conv_subref_array_arg. | |
4809 | * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the | |
4810 | new arg of gfc_conv_subref_array_arg to false. | |
4811 | * trans-stmt.c (forall_make_variable_temp): The same. | |
4812 | ||
d8a8dab3 TB |
4813 | 2010-02-03 Tobias Burnus <burnus@net-b.de> |
4814 | ||
4815 | PR fortran/42936 | |
4816 | * interface.c (compare_parameter): Disable rank-checking | |
4817 | for NULL(). | |
4818 | ||
096bfdb1 TB |
4819 | 2010-02-02 Tobias Burnus <burnus@net-b.de> |
4820 | ||
4821 | PR fortran/42650 | |
4822 | * parse.c (decode_specification_statement): Use sym->result not sym. | |
4823 | ||
ade20620 TB |
4824 | 2010-02-01 Tobias Burnus <burnus@net-b.de> |
4825 | ||
4826 | PR fortran/42922 | |
4827 | * decl.c (variable_decl): Allow default initializer in | |
4828 | TYPE declarations in PURE functions. | |
4829 | ||
7adac79a JW |
4830 | 2010-01-31 Janus Weil <janus@gcc.gnu.org> |
4831 | ||
4832 | PR fortran/42888 | |
4833 | * resolve.c (resolve_allocate_expr): Move default initialization code | |
4834 | here from gfc_trans_allocate. | |
4835 | * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for | |
4836 | EXEC_INIT_ASSIGN. | |
4837 | * trans-expr.c (gfc_trans_class_assign): Handle default initialization | |
4838 | of CLASS variables via memcpy. | |
4839 | * trans-stmt.c (gfc_trans_allocate): Move default initialization code | |
4840 | to resolve_allocate_expr. | |
4841 | ||
b7d1d8b4 PT |
4842 | 2010-01-31 Paul Thomas <pault@gcc.gnu.org> |
4843 | ||
ade20620 | 4844 | PR fortran/38324 |
b7d1d8b4 PT |
4845 | * expr.c (gfc_get_full_arrayspec_from_expr): New function. |
4846 | * gfortran.h : Add prototype for above. | |
ade20620 | 4847 | * trans-expr.c (gfc_trans_alloc_subarray_assign): New function. |
b7d1d8b4 PT |
4848 | (gfc_trans_subcomponent_assign): Call new function to replace |
4849 | the code to deal with allocatable components. | |
4850 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call | |
4851 | gfc_get_full_arrayspec_from_expr to replace existing code. | |
4852 | ||
03d838ba TB |
4853 | 2010-01-25 Tobias Burnus <burnus@net-b.de> |
4854 | ||
4855 | PR fortran/42858 | |
4856 | * array.c (gfc_array_dimen_size): Fix intrinsic procedure | |
4857 | check. | |
4858 | ||
ff015c5b PT |
4859 | 2010-01-24 Paul Thomas <pault@gcc.gnu.org> |
4860 | ||
4861 | PR fortran/41044 | |
4862 | PR fortran/41167 | |
4863 | * expr.c (remove_subobject_ref): If the constructor is NULL use | |
4864 | the expression as the source. | |
4865 | (simplify_const_ref): Change the type of expression if | |
4866 | there are component references. Allow for substring to be at | |
4867 | the end of an arbitrarily long chain of references. If an | |
4868 | element is found that is not in an EXPR_ARRAY, assume that this | |
4869 | is scalar initialization of array. Call remove_subobject_ref in | |
4870 | this case with NULL second argument. | |
4871 | ||
23f6293e TB |
4872 | 2010-01-24 Tobias Burnus <burnus@net-b.de> |
4873 | ||
4874 | PR fortran/39304 | |
4875 | * array.c (gfc_array_dimen_size): Use correct specific | |
4876 | function in the check. | |
4877 | ||
3c3b62d1 PT |
4878 | 2010-01-21 Paul Thomas <pault@gcc.gnu.org> |
4879 | ||
4880 | PR fortran/42736 | |
4881 | * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary | |
4882 | is required, turn any trailing array elements after a range | |
4883 | into ranges so that offsets can be calculated. | |
4884 | ||
e80b7e74 JR |
4885 | 2010-01-20 Joern Rennecke <amylaar@spamcop.net> |
4886 | ||
4887 | * module.c (mio_f2k_derived): Use enumerator as initializer of | |
4888 | enum variable. | |
4889 | ||
204803dc JR |
4890 | PR bootstrap/42812 |
4891 | * gfortran.h (struct gfc_namespace) <resolved>: Change to signed | |
4892 | bitfield of width 2. | |
4893 | ||
63894de2 JW |
4894 | 2010-01-19 Janus Weil <janus@gcc.gnu.org> |
4895 | ||
4896 | PR fortran/42804 | |
4897 | * resolve.c (extract_compcall_passed_object): Set locus for | |
4898 | passed-object argument. | |
4899 | (extract_ppc_passed_object): Set locus and correctly remove PPC | |
4900 | reference. | |
4901 | ||
702a738b PT |
4902 | 2010-01-19 Paul Thomas <pault@gcc.gnu.org> |
4903 | ||
4904 | PR fortran/42783 | |
4905 | * trans-decl.c (add_argument_checking): Do not use the backend | |
4906 | decl directly to test for the presence of an optional dummy | |
4907 | argument. Use gfc_conv_expr_present, remembering to set the | |
4908 | symbol referenced. | |
4909 | ||
4910 | PR fortran/42772 | |
4911 | * trans-decl.c (gfc_generate_function_code): Small white space | |
4912 | changes. If 'recurcheckvar' is NULL do not try to reset it. | |
4913 | ||
f89cc1a3 JW |
4914 | 2010-01-19 Janus Weil <janus@gcc.gnu.org> |
4915 | ||
4916 | PR fortran/42545 | |
4917 | * resolve.c (resolve_fl_derived): Set the accessibility of the parent | |
4918 | component for extended types. | |
4919 | * symbol.c (gfc_find_component): Remove a wrongly-worded error message | |
4920 | and take care of parent component accessibility. | |
4921 | ||
ae7c61de JW |
4922 | 2010-01-17 Janus Weil <janus@gcc.gnu.org> |
4923 | ||
4924 | PR fortran/42677 | |
4925 | * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'. | |
4926 | * interface.c (check_interface1): Move a warning message here from | |
4927 | resolve_fl_procedure. | |
4928 | (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'. | |
4929 | * module.c (read_module): Remove call to gfc_check_interfaces, since | |
4930 | this comes too early here. | |
4931 | * resolve.c (resolve_fl_procedure): Move warning message to | |
4932 | check_interface1. | |
4933 | ||
0175478d JD |
4934 | 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
4935 | ||
4936 | PR fortran/42684 | |
4937 | * interface.c (check_interface1): Pass symbol name rather than NULL to | |
4938 | gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to | |
4939 | trap MULL. | |
4940 | * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather | |
4941 | than NULL to gfc_compare_interfaces. | |
4942 | ||
40c32948 PT |
4943 | 2010-01-14 Paul Thomas <pault@gcc.gnu.org> |
4944 | ||
feef2551 TB |
4945 | PR fortran/41478 |
4946 | * trans-array.c (duplicate_allocatable): Static version of | |
40c32948 PT |
4947 | gfc_duplicate_allocatable with provision to handle scalar |
4948 | components. New boolean argument to switch off call to malloc | |
4949 | if true. | |
4950 | (gfc_duplicate_allocatable): New function to call above with | |
4951 | new argument false. | |
4952 | (gfc_copy_allocatable_data): New function to call above with | |
4953 | new argument true. | |
4954 | (structure_alloc_comps): Do not apply indirect reference to | |
4955 | scalar pointers. Add new section to copy allocatable components | |
4956 | of arrays. Extend copying of allocatable components to include | |
4957 | scalars. | |
4958 | (gfc_copy_only_alloc_comp): New function to copy allocatable | |
4959 | component derived types, without allocating the base structure. | |
4960 | * trans-array.h : Add primitive for gfc_copy_allocatable_data. | |
4961 | Add primitive for gfc_copy_only_alloc_comp. | |
4962 | * trans-expr.c (gfc_conv_procedure_call): After calls to | |
4963 | transformational functions with results that are derived types | |
4964 | with allocatable components, copy the components in the result. | |
4965 | (gfc_trans_arrayfunc_assign): Deallocate allocatable components | |
4966 | of lhs derived types before allocation. | |
4967 | ||
08b02036 PT |
4968 | 2010-01-14 Paul Thomas <pault@gcc.gnu.org> |
4969 | ||
4970 | PR fortran/42481 | |
4971 | * module.c (load_generic_interfaces): If a procedure that is | |
4972 | use associated but not generic is given an interface that | |
4973 | includes itself, then make it generic. | |
4974 | ||
feef2551 | 4975 | 2010-01-11 Joseph Myers <joseph@codesourcery.com> |
f94e1d66 JM |
4976 | Shujing Zhao <pearly.zhao@oracle.com> |
4977 | ||
4978 | PR translation/42469 | |
4979 | * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=, | |
4980 | finit-logical=, finit-real=, fmax-array-constructor=): Use tab | |
4981 | character between option name and help text. | |
4982 | ||
f2ff577a JD |
4983 | 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
4984 | ||
4985 | PR fortran/20923 | |
4986 | PR fortran/32489 | |
4987 | * trans-array.c (gfc_conv_array_initializer): Change call to | |
4988 | gfc_error_now to call to gfc_fatal_error. | |
4989 | * array.c (count_elements): Whitespace. (extract_element): Whitespace. | |
4990 | (is_constant_element): Changed name from constant_element. | |
4991 | (gfc_constant_ac): Only use expand_construuctor for expression | |
4992 | types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to | |
4993 | call gfc_is_constant_expr. | |
4994 | * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error | |
4995 | message. | |
4996 | * resolve.c (gfc_is_expandable_expr): New function that determiners if | |
4997 | array expressions should have their constructors expanded. | |
4998 | (gfc_resolve_expr): Use new function to determine whether or not to call | |
4999 | gfc_expand_constructor. | |
5000 | ||
3d876aba TB |
5001 | 2010-01-09 Tobias Burnus <burnus@net-b.de> |
5002 | ||
5003 | PR fortran/41298 | |
5004 | * trans-expr.c (gfc_trans_structure_assign): Handle | |
5005 | c_null_(fun)ptr. | |
5006 | * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR | |
5007 | to the constructor for c_null_(fun)ptr. | |
5008 | * resolve.c (resolve_structure_cons): Add special case | |
5009 | for c_null_(fun)ptr. | |
5010 | ||
bd5c3aa5 JJ |
5011 | 2010-01-09 Jakub Jelinek <jakub@redhat.com> |
5012 | ||
5013 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
5014 | dates. | |
5015 | ||
5016 | 2010-01-08 Tobias Burnus <burnus@net-b.de> | |
1eee5628 TB |
5017 | |
5018 | PR/fortran 25829 | |
5019 | * symbol.c (check_conflict, gfc_copy_attr): Add | |
5020 | ASYNCHRONOUS support. | |
5021 | (gfc_add_asynchronous): New function. | |
5022 | * decl.c (match_attr_spec): Add ASYNCHRONOUS support. | |
5023 | (gfc_match_asynchronous): New function. | |
5024 | * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support. | |
5025 | * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit. | |
5026 | (gfc_add_asynchronous): New Prototype. | |
5027 | * module.c (ab_attribute, mio_symbol_attribute): Add | |
5028 | ASYNCHRONOUS support. | |
5029 | * resolve.c (was_declared): Ditto. | |
5030 | * match.h (gfc_match_asynchronous): New prototype. | |
5031 | * parse.c (decode_specification_statement,decode_statement): | |
5032 | Add ASYNCHRONOUS support. | |
5033 | ||
2a3c437d TB |
5034 | 2010-01-07 Tobias Burnus <burnus@net-b.de> |
5035 | ||
5036 | PR fortran/42597 | |
5037 | * trans-decl.c (get_proc_pointer_decl): Fix call to | |
5038 | gfc_conv_initializer for array-valued proc-pointer funcs. | |
5039 | ||
64b33a7e TB |
5040 | 2010-01-07 Tobias Burnus <burnus@net-b.de> |
5041 | ||
5042 | PR fortran/41872 | |
5043 | * trans-decl.c (gfc_trans_deferred_vars): Don't initialize | |
5044 | allocatable scalars with SAVE attribute. | |
5045 | ||
653f6dc5 TB |
5046 | 2010-01-05 Tobias Burnus <burnus@net-b.de> |
5047 | ||
5048 | PR fortran/42517 | |
5049 | * options.c (gfc_post_options): Set -frecursion | |
5050 | when -fopenmp is used. | |
5051 | ||
11492349 TB |
5052 | 2010-01-05 Tobias Burnus <burnus@net-b.de> |
5053 | ||
5054 | PR fortran/41872 | |
5055 | * trans-expr.c (gfc_conv_procedure_call): Nullify | |
5056 | return value for allocatable-scalar character functions. | |
5057 | ||
d6de356a TB |
5058 | 2010-01-04 Tobias Burnus <burnus@net-b.de> |
5059 | ||
5060 | PR fortran/36161 | |
5061 | * error.c (error_printf, gfc_warning, gfc_notify_std, | |
5062 | gfc_warning_now, gfc_error, gfc_error_now, | |
5063 | gfc_fatal_error): Change argument name from nocmsgid to | |
5064 | gmsgid to enable (x)gettext's % checking. | |
5065 | ||
93c71688 TB |
5066 | 2010-01-04 Tobias Burnus <burnus@net-b.de> |
5067 | ||
5068 | * trans-decl.c (gfc_trans_deferred_vars): Fix spelling. | |
5069 | ||
5b130807 TB |
5070 | 2010-01-04 Tobias Burnus <burnus@net-b.de> |
5071 | ||
5072 | PR fortran/41872 | |
5073 | * trans-expr.c (gfc_conv_procedure_call): Add indirect ref | |
5074 | for functions returning allocatable scalars. | |
5075 | * trans-stmt.c (gfc_trans_allocate): Emmit error when | |
5076 | reallocating an allocatable scalar. | |
5077 | * trans.c (gfc_allocate_with_status): Fix pseudocode syntax | |
5078 | in comment. | |
5079 | * trans-decl.c (gfc_trans_deferred_vars): Nullify local | |
5080 | allocatable scalars. | |
5081 | (gfc_generate_function_code): Nullify result variable for | |
5082 | allocatable scalars. | |
5083 | ||
5084 | PR fortran/40849 | |
5085 | * module.c (gfc_use_module): Fix warning string to allow | |
5086 | for translation. | |
5087 | ||
5088 | PR fortran/42517 | |
5089 | * invoke.texi (-fcheck=recursion): Mention that the checking | |
5090 | is also disabled for -frecursive. | |
5091 | * trans-decl.c (gfc_generate_function_code): Disable | |
5092 | -fcheck=recursion when -frecursive is used. | |
5093 | ||
5094 | * intrinsic.texi (iso_c_binding): Improve wording. | |
ad41bd84 JM |
5095 | |
5096 | \f | |
0bdf1263 | 5097 | Copyright (C) 2010 Free Software Foundation, Inc. |
ad41bd84 JM |
5098 | |
5099 | Copying and distribution of this file, with or without modification, | |
5100 | are permitted in any medium without royalty provided the copyright | |
5101 | notice and this notice are preserved. |