]>
Commit | Line | Data |
---|---|---|
bf65e4b1 TB |
1 | 2010-04-30 Tobias Burnus Mburnus@net-b.de> |
2 | ||
3 | PR fortran/18918 | |
4 | PR fortran/43931 | |
5 | * trans-types.c (gfc_get_array_descriptor_base): Fix index | |
6 | calculation for array descriptor types. | |
7 | ||
eece1eb9 PT |
8 | 2010-04-29 Janus Weil <janus@gcc.gnu.org> |
9 | ||
10 | PR fortran/43896 | |
11 | * symbol.c (add_proc_component,copy_vtab_proc_comps): Remove | |
12 | initializers for PPC members of the vtabs. | |
13 | ||
14 | 2010-04-29 Janus Weil <janus@gcc.gnu.org> | |
15 | ||
16 | PR fortran/42274 | |
17 | * symbol.c (add_proc_component,add_proc_comps): Correctly set the 'ppc' | |
18 | attribute for all PPC members of the vtypes. | |
19 | (copy_vtab_proc_comps): Copy the correct interface. | |
20 | * trans.h (gfc_trans_assign_vtab_procs): Modified prototype. | |
21 | * trans-expr.c (gfc_trans_assign_vtab_procs): Pass the derived type as | |
22 | a dummy argument and make sure all PPC members of the vtab are | |
23 | initialized correctly. | |
24 | (gfc_conv_derived_to_class,gfc_trans_class_assign): Additional argument | |
25 | in call to gfc_trans_assign_vtab_procs. | |
26 | * trans-stmt.c (gfc_trans_allocate): Ditto. | |
27 | ||
28 | 2010-04-29 Paul Thomas <pault@gcc.gnu.org> | |
29 | ||
30 | PR fortran/43326 | |
31 | * resolve.c (resolve_typebound_function): Renamed | |
32 | resolve_class_compcall.Do all the detection of class references | |
33 | here. | |
34 | (resolve_typebound_subroutine): resolve_class_typebound_call | |
35 | renamed. Otherwise same as resolve_typebound_function. | |
36 | (gfc_resolve_expr): Call resolve_typebound_function. | |
37 | (resolve_code): Call resolve_typebound_subroutine. | |
38 | ||
39 | 2010-04-29 Janus Weil <janus@gcc.gnu.org> | |
40 | ||
41 | PR fortran/43492 | |
42 | * resolve.c (resolve_typebound_generic_call): For CLASS methods | |
43 | pass back the specific symtree name, rather than the target | |
44 | name. | |
45 | ||
46 | 2010-04-29 Paul Thomas <pault@gcc.gnu.org> | |
47 | ||
48 | PR fortran/42353 | |
49 | * resolve.c (resolve_structure_cons): Make the initializer of | |
50 | the vtab component 'extends' the same type as the component. | |
51 | ||
52 | 2010-04-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
53 | ||
54 | PR fortran/42680 | |
55 | * interface.c (check_interface1): Pass symbol name rather than NULL to | |
56 | gfc_compare_interfaces.(gfc_compare_interfaces): Add assert to | |
57 | trap MULL. (gfc_compare_derived_types): Revert previous change | |
58 | incorporated incorrectly during merge from trunk, r155778. | |
59 | * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather | |
60 | than NULL to gfc_compare_interfaces. | |
61 | * symbol.c (add_generic_specifics): Likewise. | |
62 | ||
63 | 2010-02-29 Janus Weil <janus@gcc.gnu.org> | |
64 | ||
65 | PR fortran/42353 | |
66 | * interface.c (gfc_compare_derived_types): Add condition for vtype. | |
67 | * symbol.c (gfc_find_derived_vtab): Sey access to private. | |
68 | (gfc_find_derived_vtab): Likewise. | |
69 | * module.c (ab_attribute): Add enumerator AB_VTAB. | |
70 | (mio_symbol_attribute): Use new attribute, AB_VTAB. | |
71 | (check_for_ambiguous): Likewise. | |
72 | ||
73 | 2010-04-29 Paul Thomas <pault@gcc.gnu.org> | |
74 | Janus Weil <janus@gcc.gnu.org> | |
75 | ||
76 | PR fortran/41829 | |
77 | * trans-expr.c (select_class_proc): Remove function. | |
78 | (conv_function_val): Delete reference to previous. | |
79 | (gfc_conv_derived_to_class): Add second argument to the call to | |
80 | gfc_find_derived_vtab. | |
81 | (gfc_conv_structure): Exclude proc_pointer components when | |
82 | accessing $data field of class objects. | |
83 | (gfc_trans_assign_vtab_procs): New function. | |
84 | (gfc_trans_class_assign): Add second argument to the call to | |
85 | gfc_find_derived_vtab. | |
86 | * symbol.c (gfc_build_class_symbol): Add delayed_vtab arg and | |
87 | implement holding off searching for the vptr derived type. | |
88 | (add_proc_component): New function. | |
89 | (add_proc_comps): New function. | |
90 | (add_procs_to_declared_vtab1): New function. | |
91 | (copy_vtab_proc_comps): New function. | |
92 | (add_procs_to_declared_vtab): New function. | |
93 | (void add_generic_specifics): New function. | |
94 | (add_generics_to_declared_vtab): New function. | |
95 | (gfc_find_derived_vtab): Add second argument to the call to | |
96 | gfc_find_derived_vtab. Add the calls to | |
97 | add_procs_to_declared_vtab and add_generics_to_declared_vtab. | |
98 | * decl.c (build_sym, build_struct): Use new arg in calls to | |
99 | gfc_build_class_symbol. | |
100 | * gfortran.h : Add vtype bitfield to symbol_attr. Remove the | |
101 | definition of struct gfc_class_esym_list. Modify prototypes | |
102 | of gfc_build_class_symbol and gfc_find_derived_vtab. | |
103 | * trans-stmt.c (gfc_trans_allocate): Add second argument to the | |
104 | call to gfc_find_derived_vtab. | |
105 | * module.c : Add the vtype attribute. | |
106 | * trans.h : Add prototype for gfc_trans_assign_vtab_procs. | |
107 | * resolve.c (resolve_typebound_generic_call): Add second arg | |
108 | to pass along the generic name for class methods. | |
109 | (resolve_typebound_call): The same. | |
110 | (resolve_compcall): Use the second arg to carry the generic | |
111 | name from the above. Remove the reference to class_esym. | |
112 | (check_members, check_class_members, resolve_class_esym, | |
113 | hash_value_expr): Remove functions. | |
114 | (resolve_class_compcall, resolve_class_typebound_call): Modify | |
115 | to use vtable rather than member by member calls. | |
116 | (gfc_resolve_expr): Modify second arg in call to | |
117 | resolve_compcall. | |
118 | (resolve_select_type): Add second arg in call to | |
119 | gfc_find_derived_vtab. | |
120 | (resolve_code): Add second arg in call resolve_typebound_call. | |
121 | (resolve_fl_derived): Exclude vtypes from check for late | |
122 | procedure definitions. Likewise for checking of explicit | |
123 | interface and checking of pass arg. | |
124 | * iresolve.c (gfc_resolve_extends_type_of): Add second arg in | |
125 | calls to gfc_find_derived_vtab. | |
126 | * match.c (select_type_set_tmp): Use new arg in call to | |
127 | gfc_build_class_symbol. | |
128 | * trans-decl.c (gfc_get_symbol_decl): Complete vtable if | |
129 | necessary. | |
130 | * parse.c (endType): Finish incomplete classes. | |
131 | ||
a10da381 TB |
132 | 2010-04-28 Tobias Burnus <burnus@net-b.de> |
133 | ||
134 | PR fortran/18918 | |
135 | PR fortran/43919 | |
136 | * simplify.c (simplify_cobound): Handle scalar coarrays. | |
137 | ||
ecb9d36f TB |
138 | 2010-04-27 Tobias Burnus <burnus@net-b.de> |
139 | ||
140 | * gfc-internals.texi: Update copyright year. | |
141 | * gfortran.texi: Ditto. | |
142 | * invoke.texi: Ditto. | |
143 | ||
f33beee9 TB |
144 | 2010-04-27 Tobias Burnus <burnus@net-b.de> |
145 | ||
146 | PR fortran/18918 | |
147 | * resolve.c (resolve_allocate_expr): Allow array coarrays. | |
148 | * trans-types.h (gfc_get_array_type_bounds): Update prototype. | |
149 | * trans-types.c (gfc_get_array_type_bounds, | |
150 | gfc_get_array_descriptor_base): Add corank argument. | |
151 | * trans-array.c (gfc_array_init_size): Handle corank. | |
152 | (gfc_trans_create_temp_array, gfc_array_allocate, | |
153 | gfc_conv_expr_descriptor): Add corank argument to call. | |
154 | * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Ditto. | |
155 | ||
8583a512 SK |
156 | 2010-04-24 Steven G. Kargl <kargl@gcc.gnu.org> |
157 | ||
158 | PR fortran/30073 | |
159 | PR fortran/43793 | |
160 | * trans-array.c (gfc_trans_array_bound_check): Use TREE_CODE instead | |
161 | of mucking with a tree directly. | |
162 | ||
2b8f356c JD |
163 | 2010-04-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
164 | ||
165 | PR fortran/43832 | |
166 | * io.c (gfc_match_open): Remove branch to syntax error. Add call to | |
167 | gfc_error with new error message. | |
168 | ||
991b4da1 PT |
169 | 2010-04-24 Paul Thomas <pault@gcc.gnu.org> |
170 | ||
171 | PR fortran/43841 | |
172 | PR fortran/43843 | |
173 | * trans-expr.c (gfc_conv_expr): Supply an address expression for | |
174 | GFC_SS_REFERENCE. | |
175 | (gfc_conv_expr_reference): Call gfc_conv_expr and return for | |
176 | GFC_SS_REFERENCE. | |
177 | * trans-array.c (gfc_add_loop_ss_code): Store the value rather | |
178 | than the address of a GFC_SS_REFERENCE. | |
179 | * trans.h : Change comment on GFC_SS_REFERENCE. | |
180 | ||
92375a20 RG |
181 | 2010-04-22 Richard Guenther <rguenther@suse.de> |
182 | ||
183 | PR fortran/43829 | |
184 | * resolve.c (gfc_resolve_index): Wrap around ... | |
185 | (gfc_resolve_index_1): ... this. Add parameter to allow | |
186 | any integer kind index type. | |
187 | (resolve_array_ref): Allow any integer kind for the start | |
188 | index of an array ref. | |
189 | ||
2b65cd83 JJ |
190 | 2010-04-21 Jakub Jelinek <jakub@redhat.com> |
191 | ||
192 | PR fortran/43836 | |
193 | * f95-lang.c (gfc_define_builtin): Set TREE_NOTHROW on | |
194 | the decl. | |
195 | ||
b41f8489 HA |
196 | 2010-04-20 Harald Anlauf <anlauf@gmx.de> |
197 | ||
198 | * intrinsic.c (sort_actual): Remove 'is' in error message. | |
199 | ||
9c4174d8 PT |
200 | 2010-04-20 Paul Thomas <pault@gcc.gnu.org> |
201 | ||
202 | PR fortran/43227 | |
203 | * resolve.c (resolve_fl_derived): If a component character | |
204 | length has not been resolved, do so now. | |
205 | (resolve_symbol): The same as above for a symbol character | |
206 | length. | |
207 | * trans-decl.c (gfc_create_module_variable): A 'length' decl is | |
208 | not needed for a character valued, procedure pointer. | |
209 | ||
210 | PR fortran/43266 | |
211 | * resolve.c (ensure_not_abstract_walker): If 'overriding' is | |
212 | not found, return FAILURE rather than ICEing. | |
213 | ||
310e4472 JJ |
214 | 2010-04-19 Jakub Jelinek <jakub@redhat.com> |
215 | ||
216 | PR fortran/43339 | |
217 | * openmp.c (gfc_resolve_do_iterator): Only make iteration vars for | |
218 | sequential loops private in the innermost containing task region. | |
219 | ||
3b9e5d95 EB |
220 | 2010-04-18 Eric Botcazou <ebotcazou@adacore.com> |
221 | ||
222 | * f95-lang.c (gfc_init_decl_processing): Remove second argument in call | |
223 | to build_common_tree_nodes. | |
224 | ||
6c559604 SK |
225 | 2010-04-17 Steven G. Kargl <kargl@gcc.gnu.org> |
226 | ||
3b9e5d95 EB |
227 | PR fortran/31538 |
228 | * fortran/trans-array.c (gfc_conv_ss_startstride): Remove the use of | |
229 | gfc_msg_bounds by using 'Array bound mismatch' directly. | |
230 | (gfc_trans_dummy_array_bias): Remove the use of gfc_msg_bounds. Reword | |
231 | error message to include the mismatch in the extent of array bound. | |
232 | * fortran/trans.c: Remove gfc_msg_bounds. It is only used in one place. | |
233 | * fortran/trans.h: Remove extern definition of gfc_msg_bounds. | |
6c559604 | 234 | |
0e9496cc JD |
235 | 2010-04-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
236 | ||
237 | * gfortran.texi: Update information on temporary file locations. | |
238 | ||
fcd3c5a9 JJ |
239 | 2010-04-16 Jakub Jelinek <jakub@redhat.com> |
240 | ||
241 | * trans-decl.c (gfc_build_qualified_array): Ensure | |
242 | ubound.N and lbound.N artificial variable names don't appear | |
243 | in debug info. | |
244 | ||
e3e529d1 SK |
245 | 2010-04-15 Steven G. Kargl <kargl@gcc.gnu.org> |
246 | ||
247 | PR fortran/30073 | |
248 | * trans-array.c (gfc_trans_array_bound_check): Eliminate a redundant | |
249 | block of code. Set name to the variable associated with the descriptor. | |
250 | ||
e429bb49 JJ |
251 | 2010-04-15 Jakub Jelinek <jakub@redhat.com> |
252 | ||
253 | * trans-decl.c (gfc_build_qualified_array): Clear DECL_IGNORED_P | |
254 | on VAR_DECL LBOUND and/or UBOUND, even for -O1. | |
255 | ||
17fb1a8c SK |
256 | 2010-04-14 Steven G. Kargl <kargl@gcc.gnu.org> |
257 | ||
e429bb49 | 258 | * intrinsic.texi: Add the missing specific name of intrinsic |
17fb1a8c SK |
259 | procedure where the specific name is identical to the generic name. |
260 | Fix inconsistent or mismatch in the argument names in intrinsic | |
261 | procedure descriptions. Add the SCALAR allocatable description to | |
262 | ALLOCATED. | |
263 | ||
64f002ed TB |
264 | 2010-04-14 Tobias Burnus <burnus@net-b.de> |
265 | ||
266 | PR fortran/18918 | |
267 | * array.c (gfc_find_array_ref): Handle codimensions. | |
268 | (gfc_match_array_spec,gfc_match_array_ref): Use gfc_fatal_error. | |
269 | * check.c (is_coarray, dim_corank_check, gfc_check_lcobound, | |
270 | gfc_check_image_index, gfc_check_this_image, gfc_check_ucobound): | |
271 | New functions. | |
272 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_IMAGE_INDEX, | |
273 | GFC_ISYM_LCOBOUND, GFC_ISYM_THIS_IMAGE, | |
274 | GFC_ISYM_UCOBOUND. | |
275 | * intrinsic.h (add_functions): Add this_image, image_index, | |
276 | lcobound and ucobound intrinsics. | |
277 | * intrinsic.c (gfc_check_lcobound,gfc_check_ucobound, | |
278 | gfc_check_image_index, gfc_check_this_image, | |
279 | gfc_simplify_image_index, gfc_simplify_lcobound, | |
280 | gfc_simplify_this_image, gfc_simplify_ucobound): | |
281 | New function prototypes. | |
282 | * intrinsic.texi (IMAGE_INDEX, LCOBOUND, THIS_IMAGE | |
283 | IMAGE_INDEX): Document new intrinsic functions. | |
284 | * match.c (gfc_match_critical, sync_statement): Make -fcoarray=none | |
285 | error fatal. | |
286 | * simplify.c (simplify_bound_dim): Handle coarrays. | |
287 | (simplify_bound): Update simplify_bound_dim call. | |
288 | (gfc_simplify_num_images): Add -fcoarray=none check. | |
289 | (simplify_cobound, gfc_simplify_lcobound, gfc_simplify_ucobound, | |
290 | gfc_simplify_ucobound, gfc_simplify_ucobound): New functions. | |
291 | ||
b1ccc24e JD |
292 | 2010-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
293 | ||
294 | PR fortran/43747 | |
295 | * constructor.c: Fix typo in comment. | |
296 | * expr.c (find_array_section): Add check for max array limit. | |
297 | ||
5f1c83e1 IS |
298 | 2010-04-13 Iain Sandoe <iains@gcc.gnu.org> |
299 | ||
300 | PR bootstrap/31400 | |
301 | * gfortranspec.c (lookup_option): Check for -static and return | |
302 | OPTION_static. | |
303 | (lang_specific_driver): Break when OPTION_static is discovered. | |
304 | ||
b7e75771 JD |
305 | 2010-04-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
306 | ||
307 | * array.c (extract_element): Restore function from trunk. | |
308 | (gfc_get_array_element): Restore function from trunk. | |
309 | (gfc_expand_constructor): Restore check against | |
310 | flag_max_array_constructor. | |
311 | * constructor.c (node_copy_and_append): Delete unused. | |
312 | * gfortran.h: Delete comment and extra include. | |
313 | * constructor.h: Bump copyright and clean up TODO comments. | |
314 | * resolve.c: Whitespace. | |
315 | ||
316 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
317 | ||
318 | * simplify.c (compute_dot_product): Replaced usage of ADVANCE macro | |
319 | with direct access access to elements. Adjusted prototype, fixed all | |
320 | callers. | |
321 | (gfc_simplify_dot_product): Removed duplicate check for zero-sized | |
322 | array. | |
323 | (gfc_simplify_matmul): Removed usage of ADVANCE macro. | |
324 | (gfc_simplify_spread): Removed workaround, directly insert elements | |
325 | at a given array position. | |
326 | (gfc_simplify_transpose): Likewise. | |
327 | (gfc_simplify_pack): Replaced usage of ADVANCE macro with corresponding | |
328 | function calls. | |
329 | (gfc_simplify_unpack): Likewise. | |
330 | ||
331 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
332 | ||
333 | * simplify.c (only_convert_cmplx_boz): Renamed to ... | |
334 | (convert_boz): ... this and moved to start of file. | |
335 | (gfc_simplify_abs): Whitespace fix. | |
336 | (gfc_simplify_acos): Whitespace fix. | |
337 | (gfc_simplify_acosh): Whitespace fix. | |
338 | (gfc_simplify_aint): Whitespace fix. | |
339 | (gfc_simplify_dint): Whitespace fix. | |
340 | (gfc_simplify_anint): Whitespace fix. | |
341 | (gfc_simplify_and): Replaced if-gate by more common switch-over-type. | |
342 | (gfc_simplify_dnint): Whitespace fix. | |
343 | (gfc_simplify_asin): Whitespace fix. | |
344 | (gfc_simplify_asinh): Moved creation of result-expr out of switch. | |
345 | (gfc_simplify_atan): Likewise. | |
346 | (gfc_simplify_atanh): Whitespace fix. | |
347 | (gfc_simplify_atan2): Whitespace fix. | |
348 | (gfc_simplify_bessel_j0): Removed ATTRIBUTE_UNUSED. | |
349 | (gfc_simplify_bessel_j1): Likewise. | |
350 | (gfc_simplify_bessel_jn): Likewise. | |
351 | (gfc_simplify_bessel_y0): Likewise. | |
352 | (gfc_simplify_bessel_y1): Likewise. | |
353 | (gfc_simplify_bessel_yn): Likewise. | |
354 | (gfc_simplify_ceiling): Reorderd statements. | |
355 | (simplify_cmplx): Use convert_boz(), check for constant arguments. | |
356 | Whitespace fix. | |
357 | (gfc_simplify_cmplx): Use correct default kind. Removed check for | |
358 | constant arguments. | |
359 | (gfc_simplify_complex): Replaced if-gate. Removed check for | |
360 | constant arguments. | |
361 | (gfc_simplify_conjg): Whitespace fix. | |
362 | (gfc_simplify_cos): Whitespace fix. | |
363 | (gfc_simplify_cosh): Replaced if-gate by more common switch-over-type. | |
364 | (gfc_simplify_dcmplx): Removed check for constant arguments. | |
365 | (gfc_simplify_dble): Use convert_boz() and gfc_convert_constant(). | |
366 | (gfc_simplify_digits): Whitespace fix. | |
367 | (gfc_simplify_dim): Whitespace fix. | |
368 | (gfc_simplify_dprod): Reordered statements. | |
369 | (gfc_simplify_erf): Whitespace fix. | |
370 | (gfc_simplify_erfc): Whitespace fix. | |
371 | (gfc_simplify_epsilon): Whitespace fix. | |
372 | (gfc_simplify_exp): Whitespace fix. | |
373 | (gfc_simplify_exponent): Use convert_boz(). | |
374 | (gfc_simplify_floor): Reorderd statements. | |
375 | (gfc_simplify_gamma): Whitespace fix. | |
376 | (gfc_simplify_huge): Whitespace fix. | |
377 | (gfc_simplify_iand): Whitespace fix. | |
378 | (gfc_simplify_ieor): Whitespace fix. | |
379 | (simplify_intconv): Use gfc_convert_constant(). | |
380 | (gfc_simplify_int): Use simplify_intconv(). | |
381 | (gfc_simplify_int2): Reorderd statements. | |
382 | (gfc_simplify_idint): Reorderd statements. | |
383 | (gfc_simplify_ior): Whitespace fix. | |
384 | (gfc_simplify_ishftc): Removed duplicate type check. | |
385 | (gfc_simplify_len): Use range_check() instead of manual range check. | |
386 | (gfc_simplify_lgamma): Removed ATTRIBUTE_UNUSED. Whitespace fix. | |
387 | (gfc_simplify_log): Whitespace fix. | |
388 | (gfc_simplify_log10): Whitespace fix. | |
389 | (gfc_simplify_minval): Whitespace fix. | |
390 | (gfc_simplify_maxval): Whitespace fix. | |
391 | (gfc_simplify_mod): Whitespace fix. | |
392 | (gfc_simplify_modulo): Whitespace fix. | |
393 | (simplify_nint): Reorderd statements. | |
394 | (gfc_simplify_not): Whitespace fix. | |
395 | (gfc_simplify_or): Replaced if-gate by more common switch-over-type. | |
396 | (gfc_simplify_radix): Removed unused result-variable. Whitespace fix. | |
397 | (gfc_simplify_range): Removed unused result-variable. Whitespace fix. | |
398 | (gfc_simplify_real): Use convert_boz() and gfc_convert_constant(). | |
399 | (gfc_simplify_realpart): Whitespace fix. | |
400 | (gfc_simplify_selected_char_kind): Removed unused result-variable. | |
401 | (gfc_simplify_selected_int_kind): Removed unused result-variable. | |
402 | (gfc_simplify_selected_real_kind): Removed unused result-variable. | |
403 | (gfc_simplify_sign): Whitespace fix. | |
404 | (gfc_simplify_sin): Whitespace fix. | |
405 | (gfc_simplify_sinh): Replaced if-gate by more common switch-over-type. | |
406 | (gfc_simplify_sqrt): Avoided goto by inlining check. Whitespace fix. | |
407 | (gfc_simplify_tan): Replaced if-gate by more common switch-over-type. | |
408 | (gfc_simplify_tanh): Replaced if-gate by more common switch-over-type. | |
409 | (gfc_simplify_xor): Replaced if-gate by more common switch-over-type. | |
410 | ||
411 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
412 | ||
413 | * gfortran.h (gfc_start_constructor): Removed. | |
414 | (gfc_get_array_element): Removed. | |
415 | * array.c (gfc_start_constructor): Removed, use gfc_get_array_expr | |
416 | instead. Fixed all callers. | |
417 | (extract_element): Removed. | |
418 | (gfc_expand_constructor): Temporarily removed check for | |
419 | max-array-constructor. Will be re-introduced later if still required. | |
420 | (gfc_get_array_element): Removed, use gfc_constructor_lookup_expr | |
421 | instead. Fixed all callers. | |
422 | * expr.c (find_array_section): Replaced manual lookup of elements | |
423 | by gfc_constructor_lookup. | |
424 | ||
425 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
426 | ||
427 | * gfortran.h (gfc_get_null_expr): New prototype. | |
428 | (gfc_get_operator_expr): New prototype. | |
429 | (gfc_get_character_expr): New prototype. | |
430 | (gfc_get_iokind_expr): New prototype. | |
431 | * expr.c (gfc_get_null_expr): New. | |
432 | (gfc_get_character_expr): New. | |
433 | (gfc_get_iokind_expr): New. | |
434 | (gfc_get_operator_expr): Moved here from matchexp.c (build_node). | |
435 | * matchexp.c (build_node): Renamed and moved to | |
436 | expr.c (gfc_get_operator_expr). Reordered arguments to match | |
437 | other functions. Fixed all callers. | |
438 | (gfc_get_parentheses): Use specific function to build expr. | |
439 | * array.c (gfc_match_array_constructor): Likewise. | |
440 | * arith.c (eval_intrinsic): Likewise. | |
441 | (gfc_hollerith2int): Likewise. | |
442 | (gfc_hollerith2real): Likewise. | |
443 | (gfc_hollerith2complex): Likewise. | |
444 | (gfc_hollerith2logical): Likewise. | |
445 | * data.c (create_character_intializer): Likewise. | |
446 | * decl.c (gfc_match_null): Likewise. | |
447 | (enum_initializer): Likewise. | |
448 | * io.c (gfc_match_format): Likewise. | |
449 | (match_io): Likewise. | |
450 | * match.c (gfc_match_nullify): Likewise. | |
451 | * primary.c (match_string_constant): Likewise. | |
452 | (match_logical_constant): Likewise. | |
453 | (build_actual_constructor): Likewise. | |
454 | * resolve.c (build_default_init_expr): Likewise. | |
455 | * symbol.c (generate_isocbinding_symbol): Likewise. | |
456 | (gfc_build_class_symbol): Likewise. | |
457 | (gfc_find_derived_vtab): Likewise. | |
458 | * simplify.c (simplify_achar_char): Likewise. | |
459 | (gfc_simplify_adjustl): Likewise. | |
460 | (gfc_simplify_adjustr): Likewise. | |
461 | (gfc_simplify_and): Likewise. | |
462 | (gfc_simplify_bit_size): Likewise. | |
463 | (gfc_simplify_is_iostat_end): Likewise. | |
464 | (gfc_simplify_is_iostat_eor): Likewise. | |
465 | (gfc_simplify_isnan): Likewise. | |
466 | (simplify_bound): Likewise. | |
467 | (gfc_simplify_leadz): Likewise. | |
468 | (gfc_simplify_len_trim): Likewise. | |
469 | (gfc_simplify_logical): Likewise. | |
470 | (gfc_simplify_maxexponent): Likewise. | |
471 | (gfc_simplify_minexponent): Likewise. | |
472 | (gfc_simplify_new_line): Likewise. | |
473 | (gfc_simplify_null): Likewise. | |
474 | (gfc_simplify_or): Likewise. | |
475 | (gfc_simplify_precision): Likewise. | |
476 | (gfc_simplify_repeat): Likewise. | |
477 | (gfc_simplify_scan): Likewise. | |
478 | (gfc_simplify_size): Likewise. | |
479 | (gfc_simplify_trailz): Likewise. | |
480 | (gfc_simplify_trim): Likewise. | |
481 | (gfc_simplify_verify): Likewise. | |
482 | (gfc_simplify_xor): Likewise. | |
483 | * trans-io.c (build_dt): Likewise. | |
484 | (gfc_new_nml_name_expr): Removed. | |
485 | ||
486 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
487 | ||
488 | * arith.h (gfc_constant_result): Removed prototype. | |
489 | * constructor.h (gfc_build_array_expr): Removed prototype. | |
490 | (gfc_build_structure_constructor_expr): Removed prototype. | |
491 | * gfortran.h (gfc_int_expr): Removed prototype. | |
492 | (gfc_logical_expr): Removed prototype. | |
493 | (gfc_get_array_expr): New prototype. | |
494 | (gfc_get_structure_constructor_expr): New prototype. | |
495 | (gfc_get_constant_expr): New prototype. | |
496 | (gfc_get_int_expr): New prototype. | |
497 | (gfc_get_logical_expr): New prototype. | |
498 | * arith.c (gfc_constant_result): Moved and renamed to | |
499 | expr.c (gfc_get_constant_expr). Fixed all callers. | |
500 | * constructor.c (gfc_build_array_expr): Moved and renamed to | |
501 | expr.c (gfc_get_array_expr). Split gfc_typespec argument to type | |
502 | and kind. Fixed all callers. | |
503 | (gfc_build_structure_constructor_expr): Moved and renamed to | |
504 | expr.c (gfc_get_structure_constructor_expr). Split gfc_typespec argument | |
505 | to type and kind. Fixed all callers. | |
506 | * expr.c (gfc_logical_expr): Renamed to ... | |
507 | (gfc_get_logical_expr): ... this. Added kind argument. Fixed all callers. | |
508 | (gfc_int_expr): Renamed to ... | |
509 | (gfc_get_int_expr): ... this. Added kind and where arguments. Fixed all | |
510 | callers. | |
511 | (gfc_get_constant_expr): New. | |
512 | (gfc_get_array_expr): New. | |
513 | (gfc_get_structure_constructor_expr): New. | |
514 | * simplify.c (int_expr_with_kind): Removed, callers use gfc_get_int_expr | |
515 | instead. | |
516 | ||
517 | 2010-04-12 Daniel Franke <franke.daniel@gmail.com> | |
518 | ||
519 | * constructor.h: New. | |
520 | * constructor.c: New. | |
521 | * Make-lang.in: Add new files to F95_PARSER_OBJS. | |
522 | * arith.c (reducy_unary): Use constructor API. | |
523 | (reduce_binary_ac): Likewise. | |
524 | (reduce_binary_ca): Likewise. | |
525 | (reduce_binary_aa): Likewise. | |
526 | * check.c (gfc_check_pack): Likewise. | |
527 | (gfc_check_reshape): Likewise. | |
528 | (gfc_check_unpack): Likewise. | |
529 | * decl.c (add_init_expr_to_sym): Likewise. | |
530 | (build_struct): Likewise. | |
531 | * dependency.c (gfc_check_dependency): Likewise. | |
532 | (contains_forall_index_p): Likewise. | |
533 | * dump-parse-tree.c (show_constructor): Likewise. | |
534 | * expr.c (free_expr0): Likewise. | |
535 | (gfc_copy_expr): Likewise. | |
536 | (gfc_is_constant_expr): Likewise. | |
537 | (simplify_constructor): Likewise. | |
538 | (find_array_element): Likewise. | |
539 | (find_component_ref): Likewise. | |
540 | (find_array_section): Likewise. | |
541 | (find_substring_ref): Likewise. | |
542 | (simplify_const_ref): Likewise. | |
543 | (scalarize_intrinsic_call): Likewise. | |
544 | (check_alloc_comp_init): Likewise. | |
545 | (gfc_default_initializer): Likewise. | |
546 | (gfc_traverse_expr): Likewise. | |
547 | * iresolve.c (check_charlen_present): Likewise. | |
548 | (gfc_resolve_reshape): Likewise. | |
549 | (gfc_resolve_transfer): Likewise. | |
550 | * module.c (mio_constructor): Likewise. | |
551 | * primary.c (build_actual_constructor): Likewise. | |
552 | (gfc_match_structure_constructor): Likewise. | |
553 | * resolve.c (resolve_structure_cons): Likewise. | |
554 | * simplify.c (is_constant_array_expr): Likewise. | |
555 | (init_result_expr): Likewise. | |
556 | (transformational_result): Likewise. | |
557 | (simplify_transformation_to_scalar): Likewise. | |
558 | (simplify_transformation_to_array): Likewise. | |
559 | (gfc_simplify_dot_product): Likewise. | |
560 | (simplify_bound): Likewise. | |
561 | (simplify_matmul): Likewise. | |
562 | (simplify_minval_maxval): Likewise. | |
563 | (gfc_simplify_pack): Likewise. | |
564 | (gfc_simplify_reshape): Likewise. | |
565 | (gfc_simplify_shape): Likewise. | |
566 | (gfc_simplify_spread): Likewise. | |
567 | (gfc_simplify_transpose): Likewise. | |
568 | (gfc_simplify_unpack): Likewise.q | |
569 | (gfc_convert_constant): Likewise. | |
570 | (gfc_convert_char_constant): Likewise. | |
571 | * target-memory.c (size_array): Likewise. | |
572 | (encode_array): Likewise. | |
573 | (encode_derived): Likewise. | |
574 | (interpret_array): Likewise. | |
575 | (gfc_interpret_derived): Likewise. | |
576 | (expr_to_char): Likewise. | |
577 | (gfc_merge_initializers): Likewise. | |
578 | * trans-array.c (gfc_get_array_constructor_size): Likewise. | |
579 | (gfc_trans_array_constructor_value): Likewise. | |
580 | (get_array_ctor_strlen): Likewise. | |
581 | (gfc_constant_array_constructor_p): Likewise. | |
582 | (gfc_build_constant_array_constructor): Likewise. | |
583 | (gfc_trans_array_constructor): Likewise. | |
584 | (gfc_conv_array_initializer): Likewise. | |
585 | * trans-decl.c (check_constant_initializer): Likewise. | |
586 | * trans-expr.c (flatten_array_ctors_without_strlen): Likewise. | |
587 | (gfc_apply_interface_mapping_to_cons): Likewise. | |
588 | (gfc_trans_structure_assign): Likewise. | |
589 | (gfc_conv_structure): Likewise. | |
590 | * array.c (check_duplicate_iterator): Likewise. | |
591 | (match_array_list): Likewise. | |
592 | (match_array_cons_element): Likewise. | |
593 | (gfc_match_array_constructor): Likewise. | |
594 | (check_constructor_type): Likewise. | |
595 | (check_constructor): Likewise. | |
596 | (expand): Likewise. | |
597 | (expand_constructor): Likewise. | |
598 | (extract_element): Likewise. | |
599 | (gfc_expanded_ac): Likewise. | |
600 | (resolve_array_list): Likewise. | |
601 | (gfc_resolve_character_array_constructor): Likewise. | |
602 | (copy_iterator): Renamed to ... | |
603 | (gfc_copy_iterator): ... this. | |
604 | (gfc_append_constructor): Removed. | |
605 | (gfc_insert_constructor): Removed unused function. | |
606 | (gfc_get_constructor): Removed. | |
607 | (gfc_free_constructor): Removed. | |
608 | (qgfc_copy_constructor): Removed. | |
609 | * gfortran.h (struct gfc_expr): Removed member 'con_by_offset'. | |
610 | Removed all references. Replaced constructor list by splay-tree. | |
611 | (struct gfc_constructor): Removed member 'next', moved 'offset' from | |
612 | the inner struct, added member 'base'. | |
613 | (gfc_append_constructor): Removed prototype. | |
614 | (gfc_insert_constructor): Removed prototype. | |
615 | (gfc_get_constructor): Removed prototype. | |
616 | (gfc_free_constructor): Removed prototype. | |
617 | (qgfc_copy_constructor): Removed prototype. | |
618 | (gfc_copy_iterator): New prototype. | |
619 | * trans-array.h (gfc_constant_array_constructor_p): Adjusted prototype. | |
620 | ||
687ea68f TB |
621 | 2010-04-10 Tobias Burnus <burnus@net-b.de> |
622 | ||
623 | PR fortran/43591 | |
624 | * expr.c (gfc_is_constant_expr, gfc_traverse_expr): Handle | |
625 | proc-pointers and type-bound procedures. | |
626 | (gfc_specification_expr): Check proc-pointers for pureness. | |
627 | ||
8351bca7 IS |
628 | 2010-04-09 Iain Sandoe <iains@gcc.gnu.org> |
629 | ||
630 | PR bootstrap/43684 | |
631 | * gfortranspec.c (lang_specific_driver): Do not expose vars | |
632 | only used by HAVE_LD_STATIC_DYNAMIC targets unless compiling | |
633 | for such. | |
634 | ||
d3a9eea2 TB |
635 | 2010-04-09 Tobias Burnus <burnus@net-b.de> |
636 | ||
637 | PR fortran/18918 | |
638 | * decl.c (variable_decl, match_attr_spec): Fix setting the array | |
639 | spec. | |
640 | * array.c (match_subscript,gfc_match_array_ref): Add coarray support. | |
641 | * data.c (gfc_assign_data_value): Ditto. | |
642 | * expr.c (gfc_check_pointer_assign): Add check for coarray constraint. | |
643 | (gfc_traverse_expr): Traverse also through codimension expressions. | |
644 | (gfc_is_coindexed, gfc_has_ultimate_allocatable, | |
645 | gfc_has_ultimate_pointer): New functions. | |
646 | * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_STAR for coarrays. | |
647 | (gfc_array_ref): Add codimen. | |
648 | (gfc_array_ref): Add in_allocate. | |
649 | (gfc_is_coindexed, gfc_has_ultimate_allocatable, | |
650 | gfc_has_ultimate_pointer): Add prototypes. | |
651 | * interface.c (compare_parameter, compare_actual_formal, | |
652 | check_intents): Add coarray constraints. | |
653 | * match.c (gfc_match_iterator): Add coarray constraint. | |
654 | * match.h (gfc_match_array_ref): Update interface. | |
655 | * primary.c (gfc_match_varspec): Handle codimensions. | |
656 | * resolve.c (coarray_alloc, inquiry_argument): New static variables. | |
657 | (check_class_members): Return gfc_try instead for error recovery. | |
658 | (resolve_typebound_function,resolve_typebound_subroutine, | |
659 | check_members): Handle return value of check_class_members. | |
660 | (resolve_structure_cons, resolve_actual_arglist, resolve_function, | |
661 | check_dimension, compare_spec_to_ref, resolve_array_ref, | |
662 | resolve_ref, resolve_variable, gfc_resolve_expr, conformable_arrays, | |
663 | resolve_allocate_expr, resolve_ordinary_assign): Add coarray | |
664 | support. | |
665 | * trans-array.c (gfc_conv_array_ref, gfc_walk_variable_expr): | |
666 | Skip over coarray refs. | |
667 | (gfc_array_allocate) Add support for references containing coindexes. | |
668 | * trans-expr.c (gfc_add_interface_mapping): Copy coarray attribute. | |
669 | (gfc_map_intrinsic_function): Ignore codimensions. | |
670 | ||
d0a2c5a9 BD |
671 | 2010-04-08 Bud Davis <bdavis9659@sbcglobal.net> |
672 | ||
673 | PR fortran/28039 | |
674 | * io.c (check_format_string): Added check for additional non | |
675 | blank characters after the format string was successfully | |
676 | parsed. | |
677 | * io.c (check_format): Changed the error messages for positive | |
678 | int required and period required to drop through the error logic | |
679 | and report with gfc_error instead of gfc_error_now. Corrected | |
680 | format postion for hollerith strings. | |
681 | ||
3e2f637e TB |
682 | 2010-04-08 Tobias Burnus <burnus@net-b.de> |
683 | ||
684 | * module.c (use_iso_fortran_env_module): Fix standard check. | |
685 | ||
60d3aec4 JJ |
686 | 2010-04-07 Jakub Jelinek <jakub@redhat.com> |
687 | ||
688 | * parse.c (parse_derived, parse_enum): Avoid set but not used | |
689 | warning. | |
690 | ||
927f4842 JB |
691 | 2010-04-07 Janne Blomqvist <jb@gcc.gnu.org> |
692 | ||
693 | PR fortran/40539 | |
694 | * gfortran.texi: Add section about representation of | |
3e2f637e | 695 | LOGICAL variables. |
927f4842 | 696 | |
87cf0651 SB |
697 | 2010-04-07 Simon Baldwin <simonb@google.com> |
698 | ||
699 | * cpp.c (cb_cpp_error): Add warning reason argument, set a value | |
700 | for diagnostic_override_option_index if CPP_W_WARNING_DIRECTIVE. | |
701 | ||
0d3c82d6 RG |
702 | 2010-04-07 Richard Guenther <rguenther@suse.de> |
703 | ||
704 | * options.c (gfc_init_options): Do not set. | |
705 | ||
f4d1d50a TB |
706 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
707 | ||
708 | PR fortran/18918 | |
709 | * array.c (gfc_match_array_spec): Add error for -fcoarray=none. | |
710 | * match.c (gfc_match_critical, sync_statement): Ditto. | |
711 | * gfortran.h (gfc_fcoarray): New enum. | |
712 | (gfc_option_t): Use it. | |
713 | * lang.opt (fcoarray): Add new flag. | |
714 | * invoke.texi (fcoarray): Document it. | |
715 | * options.c (gfc_init_options,gfc_handle_option): Handle -fcoarray=. | |
716 | (gfc_handle_coarray_option): New function. | |
717 | ||
178f9aa1 TB |
718 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
719 | ||
720 | PR fortran/18918 | |
721 | * gfortran.h (gfc_array_spec): Add cotype. | |
722 | * array.c (gfc_match_array_spec,gfc_set_array_spec): Use it | |
723 | and defer error diagnostic. | |
724 | * resolve.c (resolve_fl_derived): Add missing check. | |
725 | (resolve_symbol): Add cotype/type check. | |
726 | * parse.c (parse_derived): Fix setting of coarray_comp. | |
727 | ||
be59db2d TB |
728 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
729 | ||
730 | PR fortran/18918 | |
731 | * array.c (gfc_free_array_spec,gfc_resolve_array_spec, | |
732 | match_array_element_spec,gfc_copy_array_spec, | |
733 | gfc_compare_array_spec): Include corank. | |
734 | (match_array_element_spec,gfc_set_array_spec): Support codimension. | |
735 | * decl.c (build_sym,build_struct,variable_decl, | |
736 | match_attr_spec,attr_decl1,cray_pointer_decl, | |
737 | gfc_match_volatile): Add codimension. | |
738 | (gfc_match_codimension): New function. | |
739 | * dump-parse-tree.c (show_array_spec,show_attr): Support codimension. | |
740 | * gfortran.h (symbol_attribute,gfc_array_spec): Ditto. | |
741 | (gfc_add_codimension): New function prototype. | |
742 | * match.h (gfc_match_codimension): New function prototype. | |
743 | (gfc_match_array_spec): Update prototype | |
744 | * match.c (gfc_match_common): Update gfc_match_array_spec call. | |
745 | * module.c (MOD_VERSION): Bump. | |
746 | (mio_symbol_attribute): Support coarray attributes. | |
747 | (mio_array_spec): Add corank support. | |
748 | * parse.c (decode_specification_statement,decode_statement, | |
749 | parse_derived): Add coarray support. | |
750 | * resolve.c (resolve_formal_arglist, was_declared, | |
751 | is_non_constant_shape_array, resolve_fl_variable, | |
752 | resolve_fl_derived, resolve_symbol): Add coarray support. | |
753 | * symbol.c (check_conflict, gfc_add_volatile, gfc_copy_attr, | |
754 | gfc_build_class_symbol): Add coarray support. | |
755 | (gfc_add_codimension): New function. | |
756 | ||
385e8144 TB |
757 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
758 | ||
759 | PR fortran/18918 | |
760 | * iso-fortran-env.def: Add the integer parameters atomic_int_kind, | |
761 | atomic_logical_kind, iostat_inquire_internal_unit, stat_locked, | |
762 | stat_locked_other_image, stat_stopped_image and stat_unlocked of | |
763 | Fortran 2008. | |
764 | * intrinsic.texi (iso_fortran_env): Ditto. | |
765 | * libgfortran.h (libgfortran_stat_codes): New enum. | |
766 | * module.c (use_iso_fortran_env_module): Honour -std= when loading | |
767 | constants from the intrinsic module. | |
768 | ||
d0a4a61c TB |
769 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
770 | ||
771 | PR fortran/39997 | |
772 | * intrinsic.c (add_functions): Add num_images. | |
773 | * decl.c (gfc_match_end): Handle END CRITICAL. | |
774 | * intrinsic.h (gfc_simplify_num_images): Add prototype. | |
775 | * dump-parse-tree.c (show_code_node): Dump CRITICAL, ERROR STOP, | |
776 | and SYNC. | |
777 | * gfortran.h (gfc_statement): Add enum items for those. | |
778 | (gfc_exec_op) Ditto. | |
779 | (gfc_isym_id): Add num_images. | |
780 | * trans-stmt.c (gfc_trans_stop): Handle ERROR STOP. | |
781 | (gfc_trans_sync,gfc_trans_critical): New functions. | |
782 | * trans-stmt.h (gfc_trans_stop,gfc_trans_sync, | |
783 | gfc_trans_critical): Add/update prototypes. | |
784 | * trans.c (gfc_trans_code): Handle CRITICAL, ERROR STOP, | |
785 | and SYNC statements. | |
786 | * trans.h (gfor_fndecl_error_stop_string) Add variable. | |
787 | * resolve.c (resolve_sync): Add function. | |
788 | (gfc_resolve_blocks): Handle CRITICAL. | |
789 | (resolve_code): Handle CRITICAL, ERROR STOP, | |
790 | (resolve_branch): Add CRITICAL constraint check. | |
791 | and SYNC statements. | |
792 | * st.c (gfc_free_statement): Add new statements. | |
793 | * trans-decl.c (gfor_fndecl_error_stop_string): Global variable. | |
794 | (gfc_build_builtin_function_decls): Initialize it. | |
795 | * match.c (gfc_match_if): Handle ERROR STOP and SYNC. | |
796 | (gfc_match_critical, gfc_match_error_stop, sync_statement, | |
797 | gfc_match_sync_all, gfc_match_sync_images, gfc_match_sync_memory): | |
798 | New functions. | |
799 | (match_exit_cycle): Handle CRITICAL constraint. | |
800 | (gfc_match_stopcode): Handle ERROR STOP. | |
801 | * match.h (gfc_match_critical, gfc_match_error_stop, | |
802 | gfc_match_sync_all, gfc_match_sync_images, | |
803 | gfc_match_sync_memory): Add prototype. | |
804 | * parse.c (decode_statement, gfc_ascii_statement, | |
805 | parse_executable): Handle new statements. | |
806 | (parse_critical_block): New function. | |
807 | * parse.h (gfc_compile_state): Add COMP_CRITICAL. | |
808 | * intrinsic.texi (num_images): Document new function. | |
809 | * simplify.c (gfc_simplify_num_images): Add function. | |
810 | ||
2b56d6a4 TB |
811 | 2010-04-06 Tobias Burnus <burnus@net-b.de> |
812 | ||
813 | PR fortran/43178 | |
814 | * trans-array.c (gfc_conv_expr_descriptor): Update | |
815 | gfc_trans_scalar_assign call. | |
816 | (has_default_initializer): New function. | |
817 | (gfc_trans_deferred_array): Nullify less often. | |
818 | * trans-expr.c (gfc_conv_subref_array_arg, | |
819 | gfc_trans_subcomponent_assign): Update call to | |
820 | gfc_trans_scalar_assign. | |
821 | (gfc_trans_scalar_assign): Add parameter and pass it on. | |
822 | (gfc_trans_assignment_1): Optionally, do not dealloc before | |
823 | assignment. | |
824 | * trans-openmp.c (gfc_trans_omp_array_reduction): Update | |
825 | call to gfc_trans_scalar_assign. | |
826 | * trans-decl.c (gfc_get_symbol_decl): Do not always apply | |
827 | initializer to static variables. | |
828 | (gfc_init_default_dt): Add dealloc parameter and pass it on. | |
829 | * trans-stmt.c (forall_make_variable_temp, | |
830 | generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp, | |
831 | gfc_trans_forall_1, gfc_trans_where_assign, gfc_trans_where_3 | |
832 | gfc_trans_allocate): Update gfc_trans_assignment call. | |
833 | * trans.h (gfc_trans_scalar_assign, gfc_init_default_dt, | |
834 | gfc_init_default_dt, gfc_trans_assignment): Add bool dealloc | |
835 | parameter to prototype. | |
836 | ||
0a261912 PT |
837 | 2010-03-31 Paul Thomas <pault@gcc.gnu.org> |
838 | ||
839 | * ioparm.def : Update copyright. | |
840 | * lang.opt : ditto | |
841 | * trans-array.c : ditto | |
842 | * trans-array.h : ditto | |
843 | * expr.c: ditto | |
844 | * trans-types.c: ditto | |
845 | * dependency.c : ditto | |
846 | * gfortran.h : ditto | |
847 | * options.c : ditto | |
848 | * trans-io.c : ditto | |
849 | * trans-intrinsic.c : ditto | |
850 | * libgfortran.h : ditto | |
851 | * invoke.texi : ditto | |
852 | * intrinsic.texi : ditto | |
853 | * trans.c : ditto | |
854 | * trans.h : ditto | |
855 | * intrinsic.c : ditto | |
856 | * interface.c : ditto | |
857 | * iresolve.c : ditto | |
858 | * trans-stmt.c : ditto | |
859 | * trans-stmt.h : ditto | |
860 | * parse,c : ditto | |
861 | * match.h : ditto | |
862 | * error.c : ditto | |
863 | ||
b8849663 PT |
864 | 2010-03-20 Paul Thomas <pault@gcc.gnu.org> |
865 | ||
866 | PR fortran/43450 | |
867 | * trans-decl.c (gfc_create_module_variable): With -fwhole-file | |
868 | do not assert the context of derived types. | |
869 | ||
41c3cddc JD |
870 | 2010-03-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
871 | ||
872 | PR fortran/43409 | |
873 | * ioparm.def: Change inquire size variable to type pointer to | |
874 | GFC_IO_INT type. | |
875 | ||
1821bcfc PT |
876 | 2010-03-18 Paul Thomas <pault@gcc.gnu.org> |
877 | ||
878 | PR fortran/43039 | |
879 | * trans-expr.c (conv_parent_component_references): Ensure that | |
880 | 'dt' has a backend_decl. | |
881 | ||
882 | PR fortran/43043 | |
883 | * trans-expr.c (gfc_conv_structure): Ensure that the derived | |
884 | type has a backend_decl. | |
885 | ||
886 | PR fortran/43044 | |
887 | * resolve.c (resolve_global_procedure): Check that the 'cl' | |
888 | structure is not NULL. | |
889 | ||
316fc112 SZ |
890 | 2010-03-18 Shujing Zhao <pearly.zhao@oracle.com> |
891 | ||
892 | * lang.opt (-ffixed-line-length-, ffree-line-length-): Remove | |
893 | redundant tab. | |
894 | ||
b3aefde2 TB |
895 | 2010-03-17 Tobias Burnus <burnus@net-b.de> |
896 | ||
897 | PR fortran/43331 | |
898 | * trans-array.c (gfc_conv_array_index_offset,gfc_conv_array_ref, | |
899 | gfc_conv_ss_startstride): Remove no-longer-needed cp_was_assumed | |
900 | check. | |
901 | * decl.c (gfc_match_derived_decl): Don't mark assumed-size Cray | |
902 | pointees as having explizit size. | |
903 | * expr.c (gfc_check_assign): Remove now unreachable Cray pointee | |
904 | check. | |
905 | * trans-types.c (gfc_is_nodesc_array): Add cp_was_assumed to assert. | |
906 | (gfc_sym_type): Don't mark Cray pointees as restricted pointers. | |
907 | * resolve.c (resolve_symbol): Handle cp_was_assumed. | |
908 | * trans-decl.c (gfc_trans_deferred_vars): Ditto. | |
909 | (gfc_finish_var_decl): Don't mark Cray pointees as restricted | |
910 | pointers. | |
911 | ||
4eceddd7 TB |
912 | 2010-03-14 Tobias Burnus <burnus@net-b.de> |
913 | ||
914 | PR fortran/43362 | |
915 | * resolve.c (resolve_structure_cons): Add missing PURE constraint. | |
916 | (resolve_ordinary_assign): Add check to avoid segfault. | |
917 | ||
6a943ee7 PT |
918 | 2010-03-12 Paul Thomas <pault@gcc.gnu.org> |
919 | ||
920 | PR fortran/43291 | |
921 | PR fortran/43326 | |
922 | * resolve.c (resolve_compcall): Add new boolean dummy argument | |
923 | 'class_members'. Only resolve expression at end if false. | |
924 | Remove redundant, static variable 'class_object'. | |
925 | (check_class_members): Add extra argument to call of | |
926 | resolve_compcall. | |
927 | (resolve_typebound_function): Renamed resolve_class_compcall. | |
928 | Do all the detection of class references here. Correct calls to | |
929 | resolve_compcall for extra argument. | |
930 | (resolve_typebound_subroutine): resolve_class_typebound_call | |
931 | renamed. Otherwise same as resolve_typebound_function. | |
932 | (gfc_resolve_expr): Call resolve_typebound_function. | |
933 | (resolve_code): Call resolve_typebound_subroutine. | |
934 | ||
abf4d60b TB |
935 | 2010-03-10 Tobias Burnus <burnus@net-b.de |
936 | ||
937 | PR fortran/43303 | |
938 | * symbol.c (get_iso_c_sym): Set sym->result. | |
939 | ||
b3d286ba JW |
940 | 2010-03-08 Janus Weil <janus@gcc.gnu.org> |
941 | ||
942 | PR fortran/43256 | |
943 | * resolve.c (resolve_compcall): Don't set 'value.function.name' here | |
944 | for TBPs, otherwise they will not be resolved properly. | |
945 | (resolve_function): Use 'value.function.esym' instead of | |
abf4d60b | 946 | 'value.function.name' to check if we're dealing with a TBP. |
b3d286ba JW |
947 | (check_class_members): Set correct type of passed object for all TBPs, |
948 | not only generic ones, except if the type is abstract. | |
949 | ||
33344e0f JW |
950 | 2010-03-04 Janus Weil <janus@gcc.gnu.org> |
951 | ||
952 | PR fortran/43244 | |
953 | * decl.c (gfc_match_final_decl): Make sure variable names starting with | |
954 | 'final...' are not misinterpreted as FINAL statements. | |
955 | ||
ba461991 PT |
956 | 2010-03-03 Paul Thomas <pault@gcc.gnu.org> |
957 | ||
958 | PR fortran/43243 | |
959 | * trans-array.c (gfc_conv_array_parameter): Contiguous refs to | |
960 | allocatable ultimate components do not need temporaries, whilst | |
961 | ultimate pointer components do. | |
962 | ||
d1039125 JW |
963 | 2010-03-03 Janus Weil <janus@gcc.gnu.org> |
964 | ||
965 | PR fortran/43169 | |
966 | * resolve.c (resolve_code): Correctly set gfc_current_ns for | |
967 | EXEC_SELECT_TYPE. | |
968 | (gfc_impure_variable): Make it work with sub-namespaces (BLOCK etc). | |
969 | (gfc_pure): Ditto. | |
970 | ||
2542496c PT |
971 | 2010-03-02 Paul Thomas <pault@gcc.gnu.org> |
972 | ||
973 | PR fortran/43180 | |
974 | * trans-array.c (gfc_conv_array_parameter): A full array of | |
975 | derived type need not be restricted to a symbol without an | |
976 | array spec to use the call to gfc_conv_expr_descriptor. | |
977 | ||
978 | PR fortran/43173 | |
979 | * trans-array.c (gfc_conv_array_parameter): Contiguous refs to | |
980 | allocatable arrays do not need temporaries. | |
981 | ||
fef06326 TB |
982 | 2010-03-01 Tobias Burnus <burnus@net-b.de> |
983 | ||
984 | PR fortran/43199 | |
985 | * resolve.c (find_array_spec): Handle REF_COMPONENT with | |
986 | CLASS components. | |
987 | ||
dfd65514 TB |
988 | 2010-02-28 Tobias Burnus <burnus@net-b.de> |
989 | ||
990 | PR fortran/43205 | |
991 | * trans-expr.c (is_zero_initializer_p): Move up in the file. | |
992 | (gfc_conv_initializer): Handle zero initializer as special case. | |
993 | ||
cea2d589 TB |
994 | 2010-02-27 Tobias Burnus <burnus@net-b.de> |
995 | ||
996 | PR fortran/43185 | |
997 | * resolve.c (resolve_fl_variable_derived): Imply SAVE | |
998 | for module variables for Fortran 2008. | |
999 | ||
06796564 JJ |
1000 | 2010-02-25 Jakub Jelinek <jakub@redhat.com> |
1001 | ||
1002 | PR debug/43166 | |
1003 | * trans-common.c (build_common_decl): Also update DECL_MODE, | |
1004 | and DECL_SIZE when encountering a larger common block and call | |
1005 | layout_decl. | |
1006 | ||
505a36f9 TB |
1007 | 2010-02-24 Tobias Burnus <burnus@net-b.de> |
1008 | ||
1009 | PR fortran/43042 | |
1010 | * trans-expr.c (gfc_conv_initializer): Call directly | |
1011 | gfc_conv_constant for C_NULL_(FUN)PTR. | |
1012 | ||
f80c558f PT |
1013 | 2010-02-22 Paul Thomas <pault@gcc.gnu.org> |
1014 | ||
1015 | PR fortran/43072 | |
1016 | * dependency.c (gfc_full_array_ref_p): Check for contiguous by | |
1017 | checking the rest of the dimensions for elements. | |
1018 | ||
72bd130e TB |
1019 | 2010-02-21 Tobias Burnus <burnus@net-b.de> |
1020 | ||
1021 | PR fortran/35259 | |
1022 | * gfortran.h (gfc_option_t): New flag -fprotect-parens. | |
1023 | * lang.opt: Ditto. | |
1024 | * option.c (gfc_init_options,gfc_handle_option): Ditto. | |
1025 | * trans-expr.c (gfc_conv_expr_op): Use the flag. | |
1026 | * invoke.texi: Document new -fno-protect-parens flag. | |
1027 | ||
f7172b55 PT |
1028 | 2010-02-20 Paul Thomas <pault@gcc.gnu.org> |
1029 | ||
1030 | PR fortran/36932 | |
1031 | PR fortran/36933 | |
1032 | PR fortran/43072 | |
1033 | PR fortran/43111 | |
1034 | * dependency.c (gfc_check_argument_var_dependency): Use enum | |
1035 | value instead of arithmetic vaue for 'elemental'. | |
1036 | (check_data_pointer_types): New function. | |
1037 | (gfc_check_dependency): Call check_data_pointer_types. | |
1038 | * trans-array.h : Change fourth argument of | |
1039 | gfc_conv_array_parameter to boolean. | |
1040 | * trans-array.c (gfc_conv_array_parameter): A contiguous array | |
1041 | can be a dummy but it must not be assumed shape or deferred. | |
1042 | Change fourth argument to boolean. Array constructor exprs will | |
1043 | always be contiguous and do not need packing and unpacking. | |
1044 | * trans-expr.c (gfc_conv_procedure_call): Clean up some white | |
1045 | space and change fourth argument of gfc_conv_array_parameter | |
1046 | to boolean. | |
1047 | (gfc_trans_arrayfunc_assign): Change fourth argument of | |
1048 | gfc_conv_array_parameter to boolean. | |
1049 | * trans-io.c (gfc_convert_array_to_string): The same. | |
1050 | * trans-intrinsic.c (gfc_conv_intrinsic_loc): The same. | |
1051 | ||
22bdbb0f TB |
1052 | 2010-02-20 Tobias Burnus <burnus@net-b.de> |
1053 | ||
1054 | PR fortran/42958 | |
1055 | * libgfortran.h: Add GFC_RTCHECK_MEM. | |
1056 | * invoke.texi (-fcheck=): Document -fcheck=mem. | |
1057 | * tranc.c (gfc_call_malloc): Remove negative-size run-time error | |
1058 | and enable malloc-success check only with -fcheck=mem. | |
1059 | * option.c (gfc_handle_runtime_check_option): Add -fcheck=mem. | |
1060 | ||
7bc19392 TB |
1061 | 2010-02-16 Tobias Burnus <burnus@net-b.de> |
1062 | ||
1063 | PR fortran/43040 | |
1064 | * gfortran.h (gfc_isym_id): Rename GFS_ISYM_GAMMA to GFS_ISYM_TGAMMA. | |
1065 | * intrinsic.c (add_functions): Ditto. | |
1066 | * iresolve.c (gfc_resolve_gamma): Call tgamma instead of gamma. | |
1067 | * mathbuiltins.def: Use TGAMMA instead of GAMMA with "tgamma". | |
1068 | ||
bc51e726 JD |
1069 | 2010-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1070 | ||
1071 | PR fortran/32382 | |
1072 | * trans-stmt.h: Add prototype for gfc_trans_code_cond. Add tree cond to | |
1073 | gfc_trans_do prototype. | |
1074 | * trans-stmt.c (gfc_trans_simple_do): Add optional argument to pass in | |
1075 | a loop exit condition. If exit condition is given, build the loop exit | |
1076 | code, checking IO results of implied do loops in READ and WRITE. | |
1077 | (gfc_trans_do): Likewise. | |
1078 | * trans.c (trans_code): New static work function, previously | |
1079 | gfc_trans_code. Passes exit condition to gfc_trans_do. | |
1080 | (gfc_trans_code): Calls trans_code with NULL_TREE condition. | |
1081 | (gfc_trans_code_cond): Calls trans_code with loop exit condition. | |
1082 | * trans-io.c (build_dt): Build an exit condition to allow checking IO | |
1083 | result status bits in the dtparm structure. Use this condition in call | |
1084 | to gfc_trans_code_cond. | |
1085 | ||
17555e7e PT |
1086 | 2010-02-13 Paul Thomas <pault@gcc.gnu.org> |
1087 | ||
1088 | PR fortran/41113 | |
1089 | PR fortran/41117 | |
1090 | * trans-array.c (gfc_conv_array_parameter): Use | |
1091 | gfc_full_array_ref_p to detect full and contiguous variable | |
1092 | arrays. Full array components and contiguous arrays do not need | |
1093 | internal_pack and internal_unpack. | |
1094 | ||
01e64c3d JJ |
1095 | 2010-02-11 Jakub Jelinek <jakub@redhat.com> |
1096 | ||
a79ff094 JJ |
1097 | PR fortran/43030 |
1098 | * resolve.c (gfc_resolve_dim_arg): Call gfc_clear_ts. | |
1099 | ||
01e64c3d JJ |
1100 | PR fortran/43029 |
1101 | * decl.c (enumerator_decl): Don't call gfc_free_enum_history | |
1102 | here. | |
1103 | (gfc_match_enumerator_def): But here whenever enumerator_decl returns | |
1104 | MATCH_ERROR. | |
1105 | ||
7fcd5ad5 TB |
1106 | 2010-02-10 Joost VandeVondele <jv244@cam.ac.uk> |
1107 | Tobias Burnus <burnus@net-b.de> | |
1108 | ||
1109 | PR fortran/40823 | |
1110 | * decl.c (gfc_match_subroutine): Explicitly set sym->declared_at. | |
1111 | ||
975d3303 TB |
1112 | 2010-02-10 Tobias Burnus <burnus@net-b.de> |
1113 | ||
1114 | PR fortran/43015 | |
1115 | * trans-decl.c (gfc_generate_function_code): Only check | |
1116 | actual-vs.-dummy character bounds if not bind(C). | |
1117 | ||
45406a12 JJ |
1118 | 2010-02-10 Jakub Jelinek <jakub@redhat.com> |
1119 | ||
1120 | PR fortran/42309 | |
1121 | * trans-expr.c (gfc_conv_subref_array_arg): Avoid accessing | |
1122 | info->dimen after info has been freed. | |
1123 | ||
cbb1ab10 | 1124 | 2010-02-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
db9633ec JD |
1125 | |
1126 | PR fortran/42999 | |
1127 | * array.c (gfc_constant_ac): Do not prevent expansion of constructors | |
1128 | with iterators. | |
1129 | ||
b16be5f2 JJ |
1130 | 2010-02-09 Jakub Jelinek <jakub@redhat.com> |
1131 | ||
1132 | * module.c (fix_mio_expr): Declare sym. | |
1133 | ||
6f117ca5 TB |
1134 | 2010-02-09 Paul Thomas <pault@gcc.gnu.org> |
1135 | ||
1136 | PR fortran/41869 | |
1137 | * module.c (fix_mio_expr): Fix for private generic procedures. | |
1138 | ||
5e1d6b4c DK |
1139 | 2010-02-09 Daniel Kraft <d@domob.eu> |
1140 | ||
1141 | PR fortran/39171 | |
1142 | * resolve.c (resolve_charlen): Change warning about negative CHARACTER | |
1143 | length to be correct and issue only with -Wsurprising. | |
1144 | * invoke.texi (Wsurprising): Mention this new warning that is | |
1145 | turned on by -Wsurprising. | |
1146 | ||
d0d4124c DK |
1147 | 2010-02-09 Daniel Kraft <d@domob.eu> |
1148 | ||
1149 | PR fortran/41507 | |
1150 | * intrinsic.texi (MAXVAL): Remove wrong claim that array argument | |
1151 | can be CHARACTER type. | |
1152 | (MINVAL), (MAXLOC), (MINLOC): Ditto. | |
1153 | ||
430f2d1f PT |
1154 | 2010-02-05 Paul Thomas <pault@gcc.gnu.org> |
1155 | ||
1156 | PR fortran/42309 | |
1157 | * trans-expr.c (gfc_conv_subref_array_arg): Add new argument | |
1158 | 'formal_ptr'. If this is true, give returned descriptor unity | |
1159 | lbounds, in all dimensions, and the appropriate offset. | |
1160 | (gfc_conv_procedure_call); If formal is a pointer, set the last | |
1161 | argument of gfc_conv_subref_array_arg to true. | |
1162 | * trans.h : Add last argument for gfc_conv_subref_array_arg. | |
1163 | * trans-io.c (set_internal_unit, gfc_trans_transfer): Set the | |
1164 | new arg of gfc_conv_subref_array_arg to false. | |
1165 | * trans-stmt.c (forall_make_variable_temp): The same. | |
1166 | ||
d8a8dab3 TB |
1167 | 2010-02-03 Tobias Burnus <burnus@net-b.de> |
1168 | ||
1169 | PR fortran/42936 | |
1170 | * interface.c (compare_parameter): Disable rank-checking | |
1171 | for NULL(). | |
1172 | ||
096bfdb1 TB |
1173 | 2010-02-02 Tobias Burnus <burnus@net-b.de> |
1174 | ||
1175 | PR fortran/42650 | |
1176 | * parse.c (decode_specification_statement): Use sym->result not sym. | |
1177 | ||
ade20620 TB |
1178 | 2010-02-01 Tobias Burnus <burnus@net-b.de> |
1179 | ||
1180 | PR fortran/42922 | |
1181 | * decl.c (variable_decl): Allow default initializer in | |
1182 | TYPE declarations in PURE functions. | |
1183 | ||
7adac79a JW |
1184 | 2010-01-31 Janus Weil <janus@gcc.gnu.org> |
1185 | ||
1186 | PR fortran/42888 | |
1187 | * resolve.c (resolve_allocate_expr): Move default initialization code | |
1188 | here from gfc_trans_allocate. | |
1189 | * trans.c (gfc_trans_code): Call gfc_trans_class_assign also for | |
1190 | EXEC_INIT_ASSIGN. | |
1191 | * trans-expr.c (gfc_trans_class_assign): Handle default initialization | |
1192 | of CLASS variables via memcpy. | |
1193 | * trans-stmt.c (gfc_trans_allocate): Move default initialization code | |
1194 | to resolve_allocate_expr. | |
1195 | ||
b7d1d8b4 PT |
1196 | 2010-01-31 Paul Thomas <pault@gcc.gnu.org> |
1197 | ||
ade20620 | 1198 | PR fortran/38324 |
b7d1d8b4 PT |
1199 | * expr.c (gfc_get_full_arrayspec_from_expr): New function. |
1200 | * gfortran.h : Add prototype for above. | |
ade20620 | 1201 | * trans-expr.c (gfc_trans_alloc_subarray_assign): New function. |
b7d1d8b4 PT |
1202 | (gfc_trans_subcomponent_assign): Call new function to replace |
1203 | the code to deal with allocatable components. | |
1204 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Call | |
1205 | gfc_get_full_arrayspec_from_expr to replace existing code. | |
1206 | ||
03d838ba TB |
1207 | 2010-01-25 Tobias Burnus <burnus@net-b.de> |
1208 | ||
1209 | PR fortran/42858 | |
1210 | * array.c (gfc_array_dimen_size): Fix intrinsic procedure | |
1211 | check. | |
1212 | ||
ff015c5b PT |
1213 | 2010-01-24 Paul Thomas <pault@gcc.gnu.org> |
1214 | ||
1215 | PR fortran/41044 | |
1216 | PR fortran/41167 | |
1217 | * expr.c (remove_subobject_ref): If the constructor is NULL use | |
1218 | the expression as the source. | |
1219 | (simplify_const_ref): Change the type of expression if | |
1220 | there are component references. Allow for substring to be at | |
1221 | the end of an arbitrarily long chain of references. If an | |
1222 | element is found that is not in an EXPR_ARRAY, assume that this | |
1223 | is scalar initialization of array. Call remove_subobject_ref in | |
1224 | this case with NULL second argument. | |
1225 | ||
23f6293e TB |
1226 | 2010-01-24 Tobias Burnus <burnus@net-b.de> |
1227 | ||
1228 | PR fortran/39304 | |
1229 | * array.c (gfc_array_dimen_size): Use correct specific | |
1230 | function in the check. | |
1231 | ||
3c3b62d1 PT |
1232 | 2010-01-21 Paul Thomas <pault@gcc.gnu.org> |
1233 | ||
1234 | PR fortran/42736 | |
1235 | * trans-stmt.c (gfc_conv_elemental_dependencies): If temporary | |
1236 | is required, turn any trailing array elements after a range | |
1237 | into ranges so that offsets can be calculated. | |
1238 | ||
e80b7e74 JR |
1239 | 2010-01-20 Joern Rennecke <amylaar@spamcop.net> |
1240 | ||
1241 | * module.c (mio_f2k_derived): Use enumerator as initializer of | |
1242 | enum variable. | |
1243 | ||
204803dc JR |
1244 | PR bootstrap/42812 |
1245 | * gfortran.h (struct gfc_namespace) <resolved>: Change to signed | |
1246 | bitfield of width 2. | |
1247 | ||
63894de2 JW |
1248 | 2010-01-19 Janus Weil <janus@gcc.gnu.org> |
1249 | ||
1250 | PR fortran/42804 | |
1251 | * resolve.c (extract_compcall_passed_object): Set locus for | |
1252 | passed-object argument. | |
1253 | (extract_ppc_passed_object): Set locus and correctly remove PPC | |
1254 | reference. | |
1255 | ||
702a738b PT |
1256 | 2010-01-19 Paul Thomas <pault@gcc.gnu.org> |
1257 | ||
1258 | PR fortran/42783 | |
1259 | * trans-decl.c (add_argument_checking): Do not use the backend | |
1260 | decl directly to test for the presence of an optional dummy | |
1261 | argument. Use gfc_conv_expr_present, remembering to set the | |
1262 | symbol referenced. | |
1263 | ||
1264 | PR fortran/42772 | |
1265 | * trans-decl.c (gfc_generate_function_code): Small white space | |
1266 | changes. If 'recurcheckvar' is NULL do not try to reset it. | |
1267 | ||
f89cc1a3 JW |
1268 | 2010-01-19 Janus Weil <janus@gcc.gnu.org> |
1269 | ||
1270 | PR fortran/42545 | |
1271 | * resolve.c (resolve_fl_derived): Set the accessibility of the parent | |
1272 | component for extended types. | |
1273 | * symbol.c (gfc_find_component): Remove a wrongly-worded error message | |
1274 | and take care of parent component accessibility. | |
1275 | ||
ae7c61de JW |
1276 | 2010-01-17 Janus Weil <janus@gcc.gnu.org> |
1277 | ||
1278 | PR fortran/42677 | |
1279 | * gfortran.h (symbol_attribute): Remove 'ambiguous_interfaces'. | |
1280 | * interface.c (check_interface1): Move a warning message here from | |
1281 | resolve_fl_procedure. | |
1282 | (check_sym_interfaces): Removed 'attr.ambiguous_interfaces'. | |
1283 | * module.c (read_module): Remove call to gfc_check_interfaces, since | |
1284 | this comes too early here. | |
1285 | * resolve.c (resolve_fl_procedure): Move warning message to | |
1286 | check_interface1. | |
1287 | ||
0175478d JD |
1288 | 2010-01-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1289 | ||
1290 | PR fortran/42684 | |
1291 | * interface.c (check_interface1): Pass symbol name rather than NULL to | |
1292 | gfc_compare_interfaces. (gfc_compare_interfaces): Add assert to | |
1293 | trap MULL. | |
1294 | * resolve.c (check_generic_tbp_ambiguity): Pass symbol name rather | |
1295 | than NULL to gfc_compare_interfaces. | |
1296 | ||
40c32948 PT |
1297 | 2010-01-14 Paul Thomas <pault@gcc.gnu.org> |
1298 | ||
1299 | PR fortran/41478 | |
1300 | * trans-array.c (duplicate_allocatable): Static version of | |
1301 | gfc_duplicate_allocatable with provision to handle scalar | |
1302 | components. New boolean argument to switch off call to malloc | |
1303 | if true. | |
1304 | (gfc_duplicate_allocatable): New function to call above with | |
1305 | new argument false. | |
1306 | (gfc_copy_allocatable_data): New function to call above with | |
1307 | new argument true. | |
1308 | (structure_alloc_comps): Do not apply indirect reference to | |
1309 | scalar pointers. Add new section to copy allocatable components | |
1310 | of arrays. Extend copying of allocatable components to include | |
1311 | scalars. | |
1312 | (gfc_copy_only_alloc_comp): New function to copy allocatable | |
1313 | component derived types, without allocating the base structure. | |
1314 | * trans-array.h : Add primitive for gfc_copy_allocatable_data. | |
1315 | Add primitive for gfc_copy_only_alloc_comp. | |
1316 | * trans-expr.c (gfc_conv_procedure_call): After calls to | |
1317 | transformational functions with results that are derived types | |
1318 | with allocatable components, copy the components in the result. | |
1319 | (gfc_trans_arrayfunc_assign): Deallocate allocatable components | |
1320 | of lhs derived types before allocation. | |
1321 | ||
08b02036 PT |
1322 | 2010-01-14 Paul Thomas <pault@gcc.gnu.org> |
1323 | ||
1324 | PR fortran/42481 | |
1325 | * module.c (load_generic_interfaces): If a procedure that is | |
1326 | use associated but not generic is given an interface that | |
1327 | includes itself, then make it generic. | |
1328 | ||
f94e1d66 JM |
1329 | 2010-01-11 Joseph Myers <joseph@codesourcery.com> |
1330 | Shujing Zhao <pearly.zhao@oracle.com> | |
1331 | ||
1332 | PR translation/42469 | |
1333 | * lang.opt (fblas-matmul-limit=, finit-character=, finit-integer=, | |
1334 | finit-logical=, finit-real=, fmax-array-constructor=): Use tab | |
1335 | character between option name and help text. | |
1336 | ||
f2ff577a JD |
1337 | 2010-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1338 | ||
1339 | PR fortran/20923 | |
1340 | PR fortran/32489 | |
1341 | * trans-array.c (gfc_conv_array_initializer): Change call to | |
1342 | gfc_error_now to call to gfc_fatal_error. | |
1343 | * array.c (count_elements): Whitespace. (extract_element): Whitespace. | |
1344 | (is_constant_element): Changed name from constant_element. | |
1345 | (gfc_constant_ac): Only use expand_construuctor for expression | |
1346 | types of EXPR_ARRAY. If expression type is EXPR_CONSTANT, no need to | |
1347 | call gfc_is_constant_expr. | |
1348 | * expr.c (gfc_reduce_init_expr): Adjust conditionals and delete error | |
1349 | message. | |
1350 | * resolve.c (gfc_is_expandable_expr): New function that determiners if | |
1351 | array expressions should have their constructors expanded. | |
1352 | (gfc_resolve_expr): Use new function to determine whether or not to call | |
1353 | gfc_expand_constructor. | |
1354 | ||
3d876aba TB |
1355 | 2010-01-09 Tobias Burnus <burnus@net-b.de> |
1356 | ||
1357 | PR fortran/41298 | |
1358 | * trans-expr.c (gfc_trans_structure_assign): Handle | |
1359 | c_null_(fun)ptr. | |
1360 | * symbol.c (gen_special_c_interop_ptr): Add NULL_EXPR | |
1361 | to the constructor for c_null_(fun)ptr. | |
1362 | * resolve.c (resolve_structure_cons): Add special case | |
1363 | for c_null_(fun)ptr. | |
1364 | ||
bd5c3aa5 JJ |
1365 | 2010-01-09 Jakub Jelinek <jakub@redhat.com> |
1366 | ||
1367 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
1368 | dates. | |
1369 | ||
1370 | 2010-01-08 Tobias Burnus <burnus@net-b.de> | |
1eee5628 TB |
1371 | |
1372 | PR/fortran 25829 | |
1373 | * symbol.c (check_conflict, gfc_copy_attr): Add | |
1374 | ASYNCHRONOUS support. | |
1375 | (gfc_add_asynchronous): New function. | |
1376 | * decl.c (match_attr_spec): Add ASYNCHRONOUS support. | |
1377 | (gfc_match_asynchronous): New function. | |
1378 | * dump-parse-tree.c (show_attr): Add ASYNCHRONOUS support. | |
1379 | * gfortran.h (symbol_attribute): New ASYNCHRONOUS bit. | |
1380 | (gfc_add_asynchronous): New Prototype. | |
1381 | * module.c (ab_attribute, mio_symbol_attribute): Add | |
1382 | ASYNCHRONOUS support. | |
1383 | * resolve.c (was_declared): Ditto. | |
1384 | * match.h (gfc_match_asynchronous): New prototype. | |
1385 | * parse.c (decode_specification_statement,decode_statement): | |
1386 | Add ASYNCHRONOUS support. | |
1387 | ||
2a3c437d TB |
1388 | 2010-01-07 Tobias Burnus <burnus@net-b.de> |
1389 | ||
1390 | PR fortran/42597 | |
1391 | * trans-decl.c (get_proc_pointer_decl): Fix call to | |
1392 | gfc_conv_initializer for array-valued proc-pointer funcs. | |
1393 | ||
64b33a7e TB |
1394 | 2010-01-07 Tobias Burnus <burnus@net-b.de> |
1395 | ||
1396 | PR fortran/41872 | |
1397 | * trans-decl.c (gfc_trans_deferred_vars): Don't initialize | |
1398 | allocatable scalars with SAVE attribute. | |
1399 | ||
653f6dc5 TB |
1400 | 2010-01-05 Tobias Burnus <burnus@net-b.de> |
1401 | ||
1402 | PR fortran/42517 | |
1403 | * options.c (gfc_post_options): Set -frecursion | |
1404 | when -fopenmp is used. | |
1405 | ||
11492349 TB |
1406 | 2010-01-05 Tobias Burnus <burnus@net-b.de> |
1407 | ||
1408 | PR fortran/41872 | |
1409 | * trans-expr.c (gfc_conv_procedure_call): Nullify | |
1410 | return value for allocatable-scalar character functions. | |
1411 | ||
d6de356a TB |
1412 | 2010-01-04 Tobias Burnus <burnus@net-b.de> |
1413 | ||
1414 | PR fortran/36161 | |
1415 | * error.c (error_printf, gfc_warning, gfc_notify_std, | |
1416 | gfc_warning_now, gfc_error, gfc_error_now, | |
1417 | gfc_fatal_error): Change argument name from nocmsgid to | |
1418 | gmsgid to enable (x)gettext's % checking. | |
1419 | ||
93c71688 TB |
1420 | 2010-01-04 Tobias Burnus <burnus@net-b.de> |
1421 | ||
1422 | * trans-decl.c (gfc_trans_deferred_vars): Fix spelling. | |
1423 | ||
5b130807 TB |
1424 | 2010-01-04 Tobias Burnus <burnus@net-b.de> |
1425 | ||
1426 | PR fortran/41872 | |
1427 | * trans-expr.c (gfc_conv_procedure_call): Add indirect ref | |
1428 | for functions returning allocatable scalars. | |
1429 | * trans-stmt.c (gfc_trans_allocate): Emmit error when | |
1430 | reallocating an allocatable scalar. | |
1431 | * trans.c (gfc_allocate_with_status): Fix pseudocode syntax | |
1432 | in comment. | |
1433 | * trans-decl.c (gfc_trans_deferred_vars): Nullify local | |
1434 | allocatable scalars. | |
1435 | (gfc_generate_function_code): Nullify result variable for | |
1436 | allocatable scalars. | |
1437 | ||
1438 | PR fortran/40849 | |
1439 | * module.c (gfc_use_module): Fix warning string to allow | |
1440 | for translation. | |
1441 | ||
1442 | PR fortran/42517 | |
1443 | * invoke.texi (-fcheck=recursion): Mention that the checking | |
1444 | is also disabled for -frecursive. | |
1445 | * trans-decl.c (gfc_generate_function_code): Disable | |
1446 | -fcheck=recursion when -frecursive is used. | |
1447 | ||
1448 | * intrinsic.texi (iso_c_binding): Improve wording. | |
ad41bd84 JM |
1449 | |
1450 | \f | |
0bdf1263 | 1451 | Copyright (C) 2010 Free Software Foundation, Inc. |
ad41bd84 JM |
1452 | |
1453 | Copying and distribution of this file, with or without modification, | |
1454 | are permitted in any medium without royalty provided the copyright | |
1455 | notice and this notice are preserved. |