]>
Commit | Line | Data |
---|---|---|
fbdeeaac JW |
1 | 2013-04-04 Janus Weil <janus@gcc.gnu.org> |
2 | ||
3 | PR fortran/40881 | |
4 | * match.c (gfc_match_return): Remove standard notification. | |
5 | * primary.c (gfc_match_actual_arglist): Add standard notification. | |
6 | ||
6082753e TB |
7 | 2013-04-04 Tobias Burnus <burnus@net-b.de> |
8 | ||
9 | PR fortran/50269 | |
10 | * gcc/fortran/check.c (is_c_interoperable, | |
11 | gfc_check_c_loc): Correct c_loc array checking | |
12 | for Fortran 2003 and Fortran 2008. | |
13 | ||
9362a03b JW |
14 | 2013-04-03 Janus Weil <janus@gcc.gnu.org> |
15 | ||
16 | PR fortran/56284 | |
17 | PR fortran/40881 | |
18 | * decl.c (gfc_match_formal_arglist): Warn about alternate-return | |
19 | arguments. | |
20 | * interface.c (check_dummy_characteristics): Return if symbols are NULL. | |
21 | ||
c03e6b52 JW |
22 | 2013-04-01 Janus Weil <janus@gcc.gnu.org> |
23 | ||
24 | PR fortran/56500 | |
25 | * symbol.c (gfc_set_default_type): Build class container for | |
26 | IMPLICIT CLASS. | |
27 | ||
cbde6c0f TB |
28 | 2013-03-31 Tobias Burnus <burnus@net-b.de> |
29 | ||
30 | * class.c (finalization_scalarizer, finalizer_insert_packed_call, | |
31 | generate_finalization_wrapper): Avoid segfault with absent SIZE= | |
32 | argment to TRANSFER and use correct result kind for SIZE. | |
33 | * intrinsic.c (gfc_isym_id_by_intmod): Also handle ids of | |
34 | nonmodules. | |
35 | * trans.c (gfc_build_final_call): Handle coarrays. | |
36 | ||
244fdda0 TK |
37 | 2013-03-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
38 | ||
39 | * trans-expr.c (build_memcmp_call): New function. | |
40 | (gfc_build_compare_string): If the strings | |
41 | compared have constant and equal lengths and | |
42 | the strings are kind=1, or, for kind=4 strings, | |
43 | the test is for (in)equality, use memcmp(). | |
44 | ||
60f97ac8 TB |
45 | 2013-03-29 Tobias Burnus <burnus@net-b.de> |
46 | ||
47 | PR fortran/35203 | |
48 | * trans-decl.c (create_function_arglist): Pass hidden argument | |
49 | for passed-by-value optional+value dummies. | |
50 | * trans-expr.c (gfc_conv_expr_present, | |
51 | gfc_conv_procedure_call): Handle those. | |
52 | ||
eab19a1a TK |
53 | 2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
54 | ||
55 | PR fortran/45159 | |
56 | * gfortran.h (gfc_dep_difference): Add prototype. | |
57 | * dependency.c (discard_nops): New function. | |
58 | (gfc_dep_difference): New function. | |
59 | (check_section_vs_section): Use gfc_dep_difference | |
60 | to calculate the difference of starting indices. | |
61 | * trans-expr.c (gfc_conv_substring): Use | |
62 | gfc_dep_difference to calculate the length of | |
63 | substrings where possible. | |
64 | ||
4099436d TK |
65 | 2013-03-28 Thomas Koenig <tkoenig@gcc.gnu.org> |
66 | ||
67 | PR fortran/55806 | |
68 | * frontend-passes.c (optimize_code): Keep track of | |
69 | current code to make code insertion possible. | |
70 | (combine_array_constructor): New function. | |
71 | (optimize_op): Call it. | |
72 | ||
1a8c1e35 TB |
73 | 2013-03-27 Tobias Burnus <burnus@net-b.de> |
74 | ||
75 | PR fortran/56650 | |
76 | PR fortran/36437 | |
77 | * check.c (gfc_check_sizeof, gfc_check_c_sizeof, | |
78 | gfc_check_storage_size): Update checks. | |
79 | * intrinsic.texi (SIZEOF): Correct class. | |
80 | * intrinsic.h (gfc_simplify_sizeof, | |
81 | gfc_simplify_storage_size): New prototypes. | |
82 | * intrinsic.c (add_functions): Use them. | |
83 | * simplify.c (gfc_simplify_sizeof, | |
84 | gfc_simplify_storage_size): New functions. | |
85 | ||
092e08c0 JB |
86 | 2013-03-27 Janne Blomqvist <jb@gcc.gnu.org> |
87 | ||
88 | PR fortran/25708 | |
1a8c1e35 TB |
89 | * module.c (module_locus): Use long for position. |
90 | (module_content): New variable. | |
91 | (module_pos): Likewise. | |
92 | (prev_character): Remove. | |
93 | (bad_module): Free data instead of closing mod file. | |
94 | (set_module_locus): Use module_pos. | |
95 | (get_module_locus): Likewise. | |
96 | (module_char): use buffer rather than stdio file. | |
97 | (module_unget_char): Likewise. | |
98 | (read_module_to_tmpbuf): New function. | |
99 | (gfc_use_module): Call read_module_to_tmpbuf. | |
092e08c0 | 100 | |
03580130 TB |
101 | 2013-03-26 Tobias Burnus <burnus@net-b.de> |
102 | ||
103 | PR fortran/56649 | |
104 | * simplify.c (gfc_simplify_merge): Simplify more. | |
105 | ||
cadddfdd TB |
106 | 2013-03-25 Tobias Burnus <burnus@net-b.de> |
107 | ||
108 | PR fortran/38536 | |
109 | PR fortran/38813 | |
110 | PR fortran/38894 | |
111 | PR fortran/39288 | |
112 | PR fortran/40963 | |
113 | PR fortran/45824 | |
114 | PR fortran/47023 | |
115 | PR fortran/47034 | |
116 | PR fortran/49023 | |
117 | PR fortran/50269 | |
118 | PR fortran/50612 | |
119 | PR fortran/52426 | |
120 | PR fortran/54263 | |
121 | PR fortran/55343 | |
122 | PR fortran/55444 | |
123 | PR fortran/55574 | |
124 | PR fortran/56079 | |
125 | PR fortran/56378 | |
126 | * check.c (gfc_var_strlen): Properly handle 0-sized string. | |
127 | (gfc_check_c_sizeof): Use is_c_interoperable, add checks. | |
128 | (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer, | |
129 | gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New | |
130 | functions. | |
131 | * expr.c (check_inquiry): Add c_sizeof, compiler_version and | |
132 | compiler_options. | |
133 | (gfc_check_pointer_assign): Refine function result check. | |
134 | gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED, | |
135 | GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC, | |
136 | GFC_ISYM_C_LOC. | |
137 | (iso_fortran_env_symbol, iso_c_binding_symbol): Handle | |
138 | NAMED_SUBROUTINE. | |
139 | (generate_isocbinding_symbol): Update prototype. | |
140 | (get_iso_c_sym): Remove. | |
141 | (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes. | |
142 | * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function. | |
143 | (gfc_intrinsic_sub_interface): Use it. | |
144 | (add_functions, add_subroutines): Add missing C-binding intrinsics. | |
145 | (gfc_intrinsic_func_interface): Add special case for c_loc. | |
146 | gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions. | |
147 | (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them. | |
148 | * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer, | |
149 | gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc, | |
150 | gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes. | |
151 | * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New | |
152 | functions. | |
153 | * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and | |
154 | NAMED_FUNCTION. | |
155 | * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness. | |
156 | * module.c (create_intrinsic_function): Support subroutines and | |
157 | derived-type results. | |
158 | (use_iso_fortran_env_module): Update calls. | |
159 | (import_iso_c_binding_module): Ditto; update calls to | |
160 | generate_isocbinding_symbol. | |
161 | * resolve.c (find_arglists): Skip for intrinsic symbols. | |
162 | (gfc_resolve_intrinsic): Find intrinsic subs via id. | |
163 | (is_scalar_expr_ptr, gfc_iso_c_func_interface, | |
164 | set_name_and_label, gfc_iso_c_sub_interface): Remove. | |
165 | (resolve_function, resolve_specific_s0): Remove calls to those. | |
166 | (resolve_structure_cons): Fix handling. | |
167 | * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr | |
168 | generation. | |
169 | (gen_cptr_param, gen_fptr_param, gen_shape_param, | |
170 | build_formal_args, get_iso_c_sym): Remove. | |
171 | (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE. | |
172 | (generate_isocbinding_symbol): Support hidden symbols and | |
173 | using c_ptr/c_funptr symtrees for nullptr defs. | |
174 | * target-memory.c (gfc_target_encode_expr): Fix handling | |
175 | of c_ptr/c_funptr. | |
176 | * trans-expr.c (conv_isocbinding_procedure): Remove. | |
177 | (gfc_conv_procedure_call): Remove call to it. | |
178 | (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling | |
179 | of c_ptr/c_funptr. | |
180 | * trans-intrinsic.c (conv_isocbinding_function, | |
181 | conv_isocbinding_subroutine): New. | |
182 | (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine): | |
183 | Call them. | |
184 | * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr. | |
185 | * trans-types.c (gfc_typenode_for_spec, | |
186 | gfc_get_derived_type): Ditto. | |
187 | (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE. | |
188 | ||
9fa52231 TB |
189 | 2013-03-18 Tobias Burnus <burnus@net-b.de> |
190 | ||
191 | * gfortran.h (gfc_option_t): Remove flag_whole_file. | |
192 | * invoke.texi (-fno-whole-file): Remove. | |
193 | * lang.opt (fwhole-file): Change to Ignore. | |
194 | * options.c (gfc_init_options, gfc_post_options, | |
195 | gfc_handle_option): Remove !flag_whole_file handling | |
196 | * parse.c (resolve_all_program_units, translate_all_program_units, | |
197 | gfc_parse_file): Ditto. | |
198 | * resolve.c (resolve_global_procedure): Ditto. | |
199 | * trans-decl.c (gfc_get_symbol_decl, gfc_get_extern_function_decl, | |
200 | gfc_create_module_variable): Ditto. | |
201 | * trans-types.c (gfc_get_derived_type): Ditto. | |
202 | ||
4b4a1012 TB |
203 | 2013-03-15 Tobias Burnus <burnus@net-b.de> |
204 | ||
205 | PR fortran/56615 | |
206 | * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Pack arrays | |
207 | if they are not simply contiguous. | |
208 | ||
87f56a65 TB |
209 | 2013-03-11 Tobias Burnus <burnus@net-b.de> |
210 | ||
211 | * gfortran.texi (STRUCTURE and RECORD): State more clearly how | |
212 | to convert them into derived types. | |
213 | ||
8ec4321f PT |
214 | 2013-03-10 Paul Thomas <pault@gcc.gnu.org> |
215 | ||
216 | PR fortran/56575 | |
217 | * expr.c (gfc_default_initializer): Check that a class declared | |
218 | type has any components. | |
219 | * resolve.c (resolve_fl_derived0): On failing the test for C437 | |
220 | set the type to BT_UNKNOWN to prevent repeat error messages. | |
221 | ||
1216b4d2 MM |
222 | 2013-03-03 Mikael Morin <mikael@gcc.gnu.org> |
223 | ||
224 | PR fortran/56477 | |
225 | * expr.c (gfc_check_pointer_assign): Avoid NULL pointer dereference. | |
226 | ||
d6a5de16 MM |
227 | 2013-03-03 Mikael Morin <mikael@gcc.gnu.org> |
228 | ||
229 | PR fortran/54730 | |
230 | * array.c (gfc_match_array_constructor): Set a checkpoint before | |
231 | matching a typespec. Drop it on success, restore it otherwise. | |
232 | ||
ab68a73e MM |
233 | 2013-03-03 Mikael Morin <mikael@gcc.gnu.org> |
234 | ||
235 | PR fortran/54730 | |
236 | * gfortran.h (struct gfc_undo_change_set): New field 'previous'. | |
237 | (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint, | |
238 | gfc_restore_last_undo_checkpoint): New prototypes. | |
239 | * symbol.c (default_undo_chgset_var): Update initialization. | |
240 | (single_undo_checkpoint_p, gfc_new_undo_checkpoint, | |
241 | free_undo_change_set_data, pop_undo_change_set, | |
242 | gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint): | |
243 | New functions. | |
244 | (save_symbol_data): Handle multiple change sets. Make sure old_symbol | |
245 | field's previous value is not overwritten. Clear gfc_new field. | |
246 | (restore_old_symbol): Restore previous old_symbol field. | |
247 | (gfc_restore_last_undo_checkpoint): New function, using body renamed | |
248 | from gfc_undo_symbols. Restore the previous change set as current one. | |
249 | (gfc_undo_symbols): New body. | |
250 | (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state): | |
251 | Call enforce_single_undo_checkpoint. | |
252 | (gfc_symbol_done_2): Ditto. Free change set data. | |
253 | ||
4ef9b950 MM |
254 | 2013-03-03 Mikael Morin <mikael@gcc.gnu.org> |
255 | ||
256 | * symbol.c (restore_old_symbol): Fix thinko. | |
257 | ||
dd355a42 MM |
258 | 2013-03-03 Mikael Morin <mikael@gcc.gnu.org> |
259 | ||
718e305d MM |
260 | * symbol.c (gfc_undo_symbols): Move code... |
261 | (restore_old_symbol): ... here as a new function. | |
262 | ||
263 | 2013-03-03 Mikael Morin <mikael@gcc.gnu.org> | |
264 | ||
265 | * Make-lang.in (F95_PARSER_OBJS): Add dependency to vec.h. | |
266 | * gfortran.h: Include vec.h. | |
dd355a42 MM |
267 | (gfc_undo_change_set): New struct. |
268 | * symbol.c (tentative_tbp): Remove struct. | |
269 | (changed_syms, tentative_tbp_list): Remove variables. | |
270 | (default_undo_chgset_var, latest_undo_chgset): New variables. | |
271 | (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols, | |
272 | gfc_commit_symbols, gfc_commit_symbol, | |
273 | gfc_enforce_clean_symbol_state, gfc_get_typebound_proc): | |
274 | Use latest_undo_chgset instead of changed_syms and tentative_tbp_list. | |
275 | ||
2b62c97f TB |
276 | 2013-03-01 Tobias Burnus <burnus@net-b.de> |
277 | ||
40bf31ed | 278 | PR fortran/56491 |
2b62c97f TB |
279 | * iresolve.c (resolve_bound): Use gfc_get_string instead of xstrdup. |
280 | * symbol.c (free_components): Free proc-pointer components. | |
281 | ||
76c1a7ec TB |
282 | 2013-03-01 Tobias Burnus <burnus@net-b.de> |
283 | ||
284 | * trans-decl.c (gfc_trans_deferred_vars): Free expr after use. | |
285 | * trans-io.c (build_dt): Ditto. | |
286 | ||
f4aef5ac JM |
287 | 2013-02-24 Joseph Myers <joseph@codesourcery.com> |
288 | ||
289 | * resolve.c (generate_component_assignments): Don't use UTF-8 | |
290 | ligature in diagnostic. | |
291 | ||
84b286d0 JW |
292 | 2013-02-21 Janus Weil <janus@gcc.gnu.org> |
293 | ||
294 | PR fortran/56385 | |
295 | * trans-array.c (structure_alloc_comps): Handle procedure-pointer | |
296 | components with allocatable result. | |
297 | ||
6082753e | 298 | 2013-02-21 Tobias Burnus <burnus@net-b.de> |
58edd811 TB |
299 | |
300 | PR fortran/56416 | |
301 | * gfortran.texi (Part II: Language Reference, Extensions, | |
302 | Non-Fortran Main Program): Sort @menu to match actual section order. | |
303 | * intrinsic.texi (Intrinsic Procedures): Ditto. | |
304 | (C_F_POINTER, PRECISION): Move to the alphabetically correct place. | |
305 | ||
711db0a6 TB |
306 | 2013-02-15 Tobias Burnus <burnus@net-b.de> |
307 | Mikael Morin <mikael@gcc.gnu.org> | |
308 | ||
309 | PR fortran/56318 | |
310 | * simplify.c (gfc_simplify_matmul): Fix result shape | |
311 | and matmul result. | |
312 | ||
fab99ea2 TB |
313 | 2013-02-15 Tobias Burnus <burnus@net-b.de> |
314 | ||
315 | PR fortran/53818 | |
316 | * resolve.c (apply_default_init_local): Don't create an | |
317 | initializer for a result variable. | |
318 | ||
308f961b TK |
319 | 2013-02-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
320 | ||
321 | PR fortran/56224 | |
322 | * gfortran.h (gfc_add_include_path): Add boolean argument | |
323 | for warn. | |
324 | * scanner.c (gfc_add_include_path): Pass along warn argument | |
325 | to add_path_to_list. | |
326 | * options.c (gfc_post_options): Add true warn argument to | |
327 | gfc_add_include_path. | |
328 | (gfc_handle_module_path_options): Likewise. | |
329 | (gfc_handle_option): Also gfc_add_include_path for intrinsic | |
330 | modules, without warning. | |
331 | ||
431e4685 TB |
332 | 2013-02-14 Paul Thomas <pault@gcc.gnu.org> |
333 | Tobias Burnus <burnus@net-b.de> | |
334 | ||
335 | PR testsuite/56138 | |
336 | * trans-decl.c (gfc_get_symbol_decl): Fix deferred-length | |
337 | results for functions without extra result variable. | |
338 | ||
339 | Revert: | |
340 | 2013-01-30 Tobias Burnus <burnus@net-b.de> | |
341 | ||
342 | PR fortran/56138 | |
343 | * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length | |
344 | results for functions without extra result variable. | |
345 | ||
fdb1fa9e JW |
346 | 2013-02-12 Janus Weil <janus@gcc.gnu.org> |
347 | ||
348 | PR fortran/46952 | |
349 | * resolve.c (resolve_call): Do not check deferred procedures for | |
350 | recursiveness. | |
351 | ||
52880d11 PT |
352 | 2013-02-09 Paul Thomas <pault@gcc.gnu.org> |
353 | ||
354 | PR fortran/55362 | |
355 | * check.c (array_check): It is an error if a procedure is | |
356 | passed. | |
357 | ||
3434c119 MM |
358 | 2013-02-08 Mikael Morin <mikael@gcc.gnu.org> |
359 | ||
360 | PR fortran/54107 | |
361 | * trans-types.c (gfc_get_function_type): Change a NULL backend_decl | |
362 | to error_mark_node on entry. Detect recursive types. Build a variadic | |
363 | procedure type if the type is recursive. Restore the initial | |
364 | backend_decl. | |
365 | ||
3e508131 TB |
366 | 2013-02-07 Tobias Burnus <burnus@net-b.de> |
367 | ||
52880d11 | 368 | PR fortran/54339 |
3e508131 TB |
369 | * gfortran.texi (Standards): Mention TS29113. |
370 | (Varying Length Character): Mention deferred-length | |
371 | strings. | |
372 | (Fortran 2003 Status): Add unlimited polymorphic. | |
373 | (TS 29113 Status): Add TYPE(*) and DIMENSION(..). | |
374 | (C Interop): Update the section about TS29113. | |
375 | ||
d0c4e310 PT |
376 | 2013-02-06 Paul Thomas <pault@gcc.gnu.org> |
377 | ||
378 | PR fortran/55789 | |
379 | * trans-array.c (trans_array_constructor): Remove condition | |
380 | 'dynamic' = true if the loop ubound is a VAR_DECL. | |
381 | ||
16e24756 PT |
382 | 2013-02-04 Paul Thomas <pault@gcc.gnu.org> |
383 | ||
384 | PR fortran/56008 | |
385 | PR fortran/47517 | |
386 | * trans-array.c (gfc_alloc_allocatable_for_assignment): Save | |
387 | the lhs descriptor before it is modified for reallocation. Use | |
388 | it to deallocate allocatable components in the reallocation | |
389 | block. Nullify allocatable components for newly (re)allocated | |
390 | arrays. | |
391 | ||
49c8d79b MM |
392 | 2013-02-04 Mikael Morin <mikael@gcc.gnu.org> |
393 | ||
394 | PR fortran/54195 | |
395 | * resolve.c (resolve_typebound_procedures): Recurse through | |
396 | resolve_symbol. | |
397 | ||
4af8d042 MM |
398 | 2013-02-04 Mikael Morin <mikael@gcc.gnu.org> |
399 | ||
400 | PR fortran/54107 | |
401 | PR fortran/54195 | |
402 | * gfortran.h (struct gfc_symbol): New field 'resolved'. | |
403 | * resolve.c (resolve_fl_var_and_proc): Don't skip result symbols. | |
404 | (resolve_symbol): Skip duplicate calls. Don't check the current | |
405 | namespace. | |
406 | ||
0cab6b73 TK |
407 | 2013-02-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
408 | ||
409 | PR fortran/50627 | |
410 | PR fortran/56054 | |
411 | * decl.c (gfc_match_end): Remove half-ready namespace | |
412 | from parent if the end of a block is missing. | |
413 | * parse.c (parse_module): Do not put namespace into | |
414 | gsymbol on error. | |
415 | ||
4af8d042 | 416 | 2013-01-30 Tobias Burnus <burnus@net-b.de> |
e18547a1 TB |
417 | |
418 | PR fortran/56138 | |
419 | * trans-decl.c (gfc_trans_deferred_vars): Fix deferred-length | |
420 | results for functions without extra result variable. | |
421 | ||
4cbc9039 | 422 | 2013-01-29 Janus Weil <janus@gcc.gnu.org> |
3c08e9c5 | 423 | Mikael Morin <mikael@gcc.gnu.org> |
4cbc9039 JW |
424 | |
425 | PR fortran/54107 | |
426 | * gfortran.h (gfc_component): Delete members 'formal' and 'formal_ns'. | |
427 | (gfc_copy_formal_args,gfc_copy_formal_args_ppc,gfc_expr_replace_symbols, | |
428 | gfc_expr_replace_comp): Delete. | |
429 | (gfc_sym_get_dummy_args): New prototype. | |
430 | * dependency.c (gfc_check_fncall_dependency): Use | |
431 | 'gfc_sym_get_dummy_args'. | |
432 | * expr.c (gfc_is_constant_expr): Ditto. | |
433 | (replace_symbol,gfc_expr_replace_symbols,replace_comp, | |
434 | gfc_expr_replace_comp): Deleted. | |
435 | * frontend-passes.c (doloop_code,do_function): Use | |
436 | 'gfc_sym_get_dummy_args'. | |
437 | * interface.c (gfc_check_operator_interface,gfc_compare_interfaces, | |
438 | gfc_procedure_use,gfc_ppc_use,gfc_arglist_matches_symbol, | |
439 | gfc_check_typebound_override): Ditto. | |
440 | * module.c (MOD_VERSION): Bump module version. | |
441 | (mio_component): Do not read/write 'formal' and 'formal_ns'. | |
442 | * resolve.c (resolve_procedure_interface,resolve_fl_derived0): Do not | |
443 | copy formal args, but just keep a pointer to the interface. | |
444 | (resolve_function,resolve_call,resolve_typebound_generic_call, | |
445 | resolve_ppc_call,resolve_expr_ppc,generate_component_assignments, | |
446 | resolve_fl_procedure,gfc_resolve_finalizers,check_generic_tbp_ambiguity, | |
447 | resolve_typebound_procedure,check_uop_procedure): Use | |
448 | 'gfc_sym_get_dummy_args'. | |
449 | * symbol.c (free_components): Do not free 'formal' and 'formal_ns'. | |
450 | (gfc_copy_formal_args,gfc_copy_formal_args_ppc): Deleted. | |
451 | (gfc_sym_get_dummy_args): New function. | |
452 | * trans-array.c (get_array_charlen,gfc_walk_elemental_function_args): | |
453 | Use 'gfc_sym_get_dummy_args'. | |
454 | * trans-decl.c (build_function_decl,create_function_arglist, | |
455 | build_entry_thunks,init_intent_out_dt,gfc_trans_deferred_vars, | |
456 | add_argument_checking): Ditto. | |
457 | * trans-expr.c (gfc_map_fcn_formal_to_actual,gfc_conv_procedure_call, | |
458 | gfc_conv_statement_function): Ditto. | |
459 | * trans-stmt.c (gfc_conv_elemental_dependencies): Ditto. | |
460 | * trans-types.c (create_fn_spec,gfc_get_function_type): Ditto. | |
461 | ||
dd8b9dde TB |
462 | 2013-01-28 Tobias Burnus <burnus@net-b.de> |
463 | Mikael Morin <mikael@gcc.gnu.org> | |
464 | ||
465 | PR fortran/53537 | |
466 | * symbol.c (gfc_find_sym_tree): Don't look for the symbol outside an | |
467 | interface block. | |
468 | (gfc_get_ha_symtree): Let gfc_find_sym_tree lookup the parent namespace. | |
469 | * decl.c (gfc_match_data_decl): Ditto. | |
470 | (variable_decl): Remove undeclared type error. | |
471 | (gfc_match_import): Use renamed instead of original name. | |
472 | ||
aa271860 PT |
473 | 2013-01-27 Paul Thomas <pault@gcc.gnu.org> |
474 | ||
ca322749 | 475 | PR fortran/55984 |
aa271860 PT |
476 | PR fortran/56047 |
477 | * gfortran.h : Add associate_var to symbol_attr. | |
478 | * resolve.c (resolve_assoc_var): Set associate_var attribute. | |
479 | If the target class_ok is set, set it for the associate | |
480 | variable. | |
481 | * check.c (allocatable_check): Associate variables should not | |
482 | have the allocatable attribute even if their symbols do. | |
483 | * class.c (gfc_build_class_symbol): Symbols with associate_var | |
484 | set will always have a good class container. | |
485 | ||
ad3e2ad2 JW |
486 | 2013-01-23 Janus Weil <janus@gcc.gnu.org> |
487 | ||
488 | PR fortran/56081 | |
489 | * resolve.c (resolve_select): Add argument 'select_type', reject | |
490 | non-scalar expressions. | |
491 | (resolve_select_type,resolve_code): Pass new argument to | |
492 | 'resolve_select'. | |
493 | ||
b3996898 JJ |
494 | 2013-01-23 Jakub Jelinek <jakub@redhat.com> |
495 | ||
496 | PR fortran/56052 | |
497 | * trans-decl.c (gfc_get_symbol_decl): Set DECL_ARTIFICIAL | |
498 | and DECL_IGNORED_P on select_type_temporary and don't set | |
499 | DECL_BY_REFERENCE. | |
500 | ||
bfc16654 TK |
501 | 2013-01-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
502 | ||
503 | PR fortran/55919 | |
a70418fc JJ |
504 | * scanner.c (add_path_to_list): Copy path to temporary and strip |
505 | trailing directory separators before calling stat(). | |
bfc16654 | 506 | |
c5e7e996 RB |
507 | 2013-01-17 Richard Biener <rguenther@suse.de> |
508 | ||
509 | * trans-stmt.c (gfc_trans_do): Conditionally compute countm1 | |
510 | dependent on sign of step, avoids repeated evaluation of | |
511 | step sign test. Avoid undefined overflow issues by using unsigned | |
512 | arithmetic. | |
513 | ||
9b940c6d JW |
514 | 2013-01-16 Janus Weil <janus@gcc.gnu.org> |
515 | ||
516 | PR fortran/55983 | |
517 | * class.c (find_typebound_proc_uop): Check for f2k_derived instead of | |
518 | asserting it. | |
519 | ||
f34dea03 JJ |
520 | 2013-01-16 Jakub Jelinek <jakub@redhat.com> |
521 | Tobias Burnus <burnus@net-b.de> | |
522 | ||
523 | PR driver/55884 | |
524 | * lang.opt (fintrinsic-modules-path): Don't accept Joined. | |
525 | (fintrinsic-modules-path=): New. | |
526 | * options.c (gfc_handle_option, gfc_get_option_string, | |
527 | gfc_get_option_string): Handle the latter. | |
528 | ||
8c01de7f JJ |
529 | 2013-01-16 Jakub Jelinek <jakub@redhat.com> |
530 | ||
531 | PR fortran/52865 | |
532 | * trans-stmt.c (gfc_trans_do): Put countm1-- before conditional | |
533 | and use value of countm1 before the decrement in the condition. | |
534 | ||
feb6eab0 PT |
535 | 2013-01-15 Paul Thomas <pault@gcc.gnu.org> |
536 | ||
537 | PR fortran/54286 | |
538 | * expr.c (gfc_check_pointer_assign): Check for presence of | |
539 | 's2' before using it. | |
540 | ||
e81e4b43 TK |
541 | 2013-01-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
542 | ||
543 | PR fortran/55806 | |
544 | * frontend-passes.c (optimize_reduction): New function, | |
545 | including prototype. | |
546 | (callback_reduction): Likewise. | |
547 | (gfc_run_passes): Also run optimize_reduction. | |
548 | (copy_walk_reduction_arg): New function. | |
549 | (dummy_code_callback): New function. | |
550 | ||
9d60be38 JJ |
551 | 2013-01-13 Jakub Jelinek <jakub@redhat.com> |
552 | ||
553 | PR fortran/55935 | |
554 | * trans-expr.c (gfc_conv_structure): Call | |
555 | unshare_expr_without_location on the ctor elements. | |
556 | ||
899d52c6 PT |
557 | 2013-01-13 Paul Thomas <pault@gcc.gnu.org> |
558 | ||
559 | PR fortran/54286 | |
560 | * expr.c (gfc_check_pointer_assign): Ensure that both lvalue | |
561 | and rvalue interfaces are presented to gfc_compare_interfaces. | |
562 | Simplify references to interface names by using the symbols | |
563 | themselves. Call gfc_compare_interfaces with s1 and s2 inter- | |
564 | changed to overcome the asymmetry of this function. Do not | |
565 | repeat the check for the presence of s1 and s2. | |
566 | ||
ea73447a JW |
567 | 2013-01-12 Janus Weil <janus@gcc.gnu.org> |
568 | ||
569 | PR fortran/55072 | |
570 | * trans-array.c (gfc_conv_array_parameter): No packing was done for | |
571 | full arrays of derived type. | |
572 | ||
f5acf0f2 PT |
573 | 2013-01-08 Paul Thomas <pault@gcc.gnu.org> |
574 | ||
575 | PR fortran/55868 | |
576 | * class.c (get_unique_type_string): Change $tar to STAR and | |
577 | replace sprintf by strcpy where there is no formatting. | |
578 | * decl.c (gfc_match_decl_type_spec): Change $tar to STAR. | |
579 | ||
ba29dca9 MM |
580 | 2013-01-09 Mikael Morin <mikael@gcc.gnu.org> |
581 | ||
582 | PR fortran/47203 | |
583 | * module.c (check_for_ambiguous): Get the current program unit using | |
584 | gfc_current_ns. | |
585 | ||
d0841b5b TB |
586 | 2013-01-09 Tobias Burnus <burnus@net-b.de> |
587 | ||
588 | PR fortran/55758 | |
589 | * resolve.c (resolve_symbol): Reject non-C_Bool logicals | |
590 | in BIND(C) procedures with -std=f*. | |
591 | ||
ec947dd3 PT |
592 | 2013-01-08 Paul Thomas <pault@gcc.gnu.org> |
593 | ||
594 | PR fortran/55618 | |
595 | * trans-expr.c (gfc_conv_procedure_call): Dereference scalar | |
596 | character function arguments to elemental procedures in | |
597 | scalarization loops. | |
598 | ||
e35e87dc TB |
599 | 2013-01-07 Tobias Burnus <burnus@net-b.de> |
600 | ||
601 | PR fortran/55763 | |
602 | * gfortran.h (gfc_check_assign_symbol): Update prototype. | |
603 | * decl.c (add_init_expr_to_sym, do_parm): Update call. | |
604 | * expr.c (gfc_check_assign_symbol): Handle BT_CLASS and | |
605 | improve error location; support components. | |
606 | (gfc_check_pointer_assign): Handle component assignments. | |
607 | * resolve.c (resolve_fl_derived0): Call gfc_check_assign_symbol. | |
608 | (resolve_values): Update call. | |
609 | (resolve_structure_cons): Avoid double diagnostic. | |
610 | ||
6838c137 TB |
611 | 2013-01-07 Tobias Burnus <burnus@net-b.de> |
612 | Thomas Koenig <tkoenig@gcc.gnu.org> | |
613 | ||
614 | PR fortran/55852 | |
615 | * expr.c (gfc_build_intrinsic_call): Avoid clashes | |
616 | with user's procedures. | |
617 | * gfortran.h (gfc_build_intrinsic_call): Update prototype. | |
618 | * simplify.c (gfc_simplify_size): Update call. | |
619 | * class.c (finalization_scalarizer, finalization_get_offset, | |
620 | finalizer_insert_packed_call, generate_finalization_wrapper): | |
621 | Clean up by using gfc_build_intrinsic_call. | |
622 | ||
4af8d042 | 623 | 2013-01-07 Tobias Burnus <burnus@net-b.de> |
55d8631b TB |
624 | |
625 | PR fortran/55763 | |
626 | * resolve.c (resolve_select_type): Reject intrinsic types for | |
627 | a non-unlimited-polymorphic selector. | |
628 | ||
f04986a9 PT |
629 | 2013-01-06 Paul Thomas <pault@gcc.gnu.org> |
630 | ||
02a1cc65 PT |
631 | PR fortran/53876 |
632 | PR fortran/54990 | |
633 | PR fortran/54992 | |
f04986a9 PT |
634 | * trans-array.c (build_array_ref): Check the TYPE_CANONICAL |
635 | to see if it is GFC_CLASS_TYPE_P. | |
636 | * trans-expr.c (gfc_get_vptr_from_expr): The same. | |
637 | (gfc_conv_class_to_class): If the types are not the same, | |
638 | cast parmese->expr to the type of ctree. | |
639 | * trans-types.c (gfc_get_derived_type): GFC_CLASS_TYPE_P of | |
640 | CLASS components must be set. | |
641 | ||
d932cea8 MM |
642 | 2013-01-06 Mikael Morin <mikael@gcc.gnu.org> |
643 | ||
644 | PR fortran/42769 | |
645 | PR fortran/45836 | |
646 | PR fortran/45900 | |
647 | * module.c (read_module): Don't reuse local symtree if the associated | |
648 | symbol isn't exactly the one wanted. Don't reuse local symtree if it is | |
649 | ambiguous. | |
650 | * resolve.c (resolve_call): Use symtree's name instead of symbol's to | |
651 | lookup the symtree. | |
652 | ||
d00be3a3 SK |
653 | 2013-01-05 Steven G. Kargl <kargl@gcc.gnu.org> |
654 | Mikael Morin <mikael@gcc.gnu.org> | |
655 | ||
1742d2b2 | 656 | PR fortran/55827 |
d00be3a3 SK |
657 | * class.c (gfc_fix_class_refs): Adapt ts initialization for the case |
658 | e->symtree == NULL. | |
659 | * trans-expr.c (gfc_conv_function_expr): Init sym earlier. Use it. | |
660 | ||
9e04287b TB |
661 | 2013-01-05 Tobias Burnus <burnus@net-b.de> |
662 | ||
663 | * class.c (finalize_component): Used passed offset expr. | |
664 | (finalization_get_offset): New static function. | |
665 | (finalizer_insert_packed_call, generate_finalization_wrapper): Use it | |
666 | to handle noncontiguous arrays. | |
667 | ||
429cb994 TB |
668 | 2013-01-04 Tobias Burnus <burnus@net-b.de> |
669 | ||
670 | * trans.c (gfc_build_final_call): New function. | |
671 | * trans.h (gfc_build_final_call, gfc_conv_scalar_to_descriptor): | |
672 | New function prototypes. | |
673 | * trans-expr.c (gfc_conv_scalar_to_descriptor): Renamed from | |
674 | conv_scalar_to_descriptor, removed static attribute. | |
675 | (gfc_conv_procedure_call): Honor renaming. | |
676 | ||
0881224e TB |
677 | 2013-01-04 Tobias Burnus <burnus@net-b.de> |
678 | ||
679 | * intrinsic.c (add_functions): New internal intrinsic | |
680 | function GFC_PREFIX ("stride"). | |
681 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_STRIDE. | |
682 | * intrinsic.h (gfc_resolve_stride): New prototypes. | |
683 | * iresolve.c (gfc_resolve_stride): New function. | |
684 | * trans-intrinsic.c (conv_intrinsic_stride): New static | |
685 | function. | |
686 | (gfc_conv_intrinsic_function): Use it. | |
687 | ||
94241120 TB |
688 | 2013-01-04 Tobias Burnus <burnus@net-b.de> |
689 | ||
690 | * class.c (gfc_find_intrinsic_vtab): Add _final | |
691 | component. | |
0881224e TB |
692 | * decl.c (gfc_match_null): Remove superfluous |
693 | variadic argument to gfc_match. | |
94241120 | 694 | |
e4821cd8 PT |
695 | 2013-01-04 Paul Thomas <pault@gcc.gnu.org> |
696 | ||
697 | PR fortran/55172 | |
698 | * match.c (copy_ts_from_selector_to_associate): Remove call to | |
699 | gfc_resolve_expr and replace it with explicit setting of the | |
700 | array reference type. | |
701 | * resolve.c (resolve_select_type): It is an error if the | |
702 | selector is coindexed. | |
703 | ||
576f6da6 TB |
704 | 2013-01-04 Tobias Burnus <burnus@net-b.de> |
705 | ||
706 | PR fortran/55763 | |
707 | * decl.c (gfc_match_null): Parse and reject MOLD. | |
708 | ||
15115f7a TB |
709 | 2013-01-04 Tobias Burnus <burnus@net-b.de> |
710 | ||
711 | PR fortran/55854 | |
712 | PR fortran/55763 | |
713 | * class.c (gfc_class_null_initializer): Fix finding the vtab. | |
714 | (gfc_find_intrinsic_vtab): Use BT_VOID for some components. | |
715 | ||
8988cde6 JW |
716 | 2013-01-03 Janus Weil <janus@gcc.gnu.org> |
717 | ||
718 | PR fortran/55855 | |
719 | * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes | |
720 | of rvalue. Correct hyphenation in error message. | |
721 | ||
df8e2b4f JJ |
722 | 2013-01-03 Jakub Jelinek <jakub@redhat.com> |
723 | ||
724 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
725 | dates. | |
ad41bd84 | 726 | \f |
86a2db33 | 727 | Copyright (C) 2013 Free Software Foundation, Inc. |
ad41bd84 JM |
728 | |
729 | Copying and distribution of this file, with or without modification, | |
730 | are permitted in any medium without royalty provided the copyright | |
731 | notice and this notice are preserved. |