]>
Commit | Line | Data |
---|---|---|
fbe468a5 JW |
1 | 2011-10-17 Janus Weil <janus@gcc.gnu.org> |
2 | ||
3 | PR fortran/47023 | |
4 | PR fortran/50752 | |
5 | * primary.c (match_kind_param): Avoid segfault. | |
6 | ||
930d4d4e TK |
7 | 2011-10-16 Thomas Koenig <tkoenig@gcc.gnu.org> |
8 | ||
9 | * frontend-passes.c (current_ns): Make static. | |
10 | (create_var): Note parent of newly created namespace. | |
11 | (optimize_namespace): Don't wak sibling namespaces | |
12 | if they are EXEC_BLOCK because this is handled... | |
13 | (gfc_code_walker): ... here. Also walk ASSOCIATE lists. | |
14 | ||
bee64a2b JW |
15 | 2011-10-16 Janus Weil <janus@gcc.gnu.org> |
16 | ||
17 | PR fortran/47023 | |
18 | * primary.c (match_kind_param): Detect ISO_C_BINDING kinds. | |
19 | (get_kind): Pass on 'is_iso_c' flag. | |
20 | (match_integer_constant,match_real_constant,match_logical_constant): | |
21 | Set 'ts.is_c_interop'. | |
22 | ||
fe445bf7 JW |
23 | 2011-10-16 Janus Weil <janus@gcc.gnu.org> |
24 | ||
25 | PR fortran/50547 | |
26 | * resolve.c (resolve_formal_arglist): Remove unneeded error message. | |
27 | Some reshuffling. | |
28 | ||
4650947d TB |
29 | 2011-10-15 Tobias Burnus <burnus@net-b.de> |
30 | ||
31 | * gfortran.texi (Fortran 2008 status, TS 29113 status, | |
32 | Further Interoperability of Fortran with C): Update implementation | |
33 | status, change references from TR 29113 to TS 29113. | |
34 | * intrinsic.texi (RANK): Change TR 29113 to TS 29113. | |
35 | * invoke.text (-std=): Ditto, change -std=f2008tr to -std=f2008ts. | |
36 | * lang.opt (std=): Ditto. | |
37 | * options.c (gfc_handle_option, set_default_std_flags): Ditto and | |
38 | change GFC_STD_F2008_TR to GFC_STD_F2008_TS. | |
39 | * libgfortran.h: Ditto. | |
40 | * intrinsic.c (add_functions, gfc_check_intrinsic_standard): Ditto. | |
41 | * decl.c (verify_c_interop_param): Ditto. | |
42 | ||
6fd7dd57 JW |
43 | 2011-10-14 Janus Weil <janus@gcc.gnu.org> |
44 | ||
45 | PR fortran/50570 | |
46 | * expr.c (gfc_check_vardef_context): Don't throw an error on | |
47 | non-pointer assignments involving an intent(in) pointer dummy. | |
48 | ||
85ff2938 TB |
49 | 2011-10-14 Tobias Burnus <burnus@net-b.de> |
50 | ||
51 | PR fortran/50718 | |
52 | * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer | |
53 | for dummy arguments with VALUE attribute. | |
54 | ||
7e191522 TB |
55 | 2011-10-11 Tobias Burnus <burnus@net-b.de> |
56 | Janus Weil <janus@gcc.gnu.org> | |
57 | ||
58 | * invoke.texi (-fwhole-file): Update wording since -fwhole-file | |
59 | is now enabled by default. | |
60 | ||
e79983f4 MM |
61 | 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
62 | ||
63 | * trans-expr.c (gfc_conv_power_op): Delete old interface with two | |
64 | parallel arrays to hold standard builtin declarations, and replace | |
65 | it with a function based interface that can support creating | |
66 | builtins on the fly in the future. Change all uses, and poison | |
67 | the old names. Make sure 0 is not a legitimate builtin index. | |
68 | (fill_with_spaces): Ditto. | |
69 | (gfc_trans_string_copy): Ditto. | |
70 | (gfc_trans_zero_assign): Ditto. | |
71 | (gfc_build_memcpy_call): Ditto. | |
72 | (alloc_scalar_allocatable_for_assignment): Ditto. | |
73 | * trans-array.c (gfc_trans_array_constructor_value): Ditto. | |
74 | (duplicate_allocatable): Ditto. | |
75 | (gfc_alloc_allocatable_for_assignment): Ditto. | |
76 | * trans-openmp.c (gfc_omp_clause_copy_ctor): Ditto. | |
77 | (gfc_omp_clause_assign_op): Ditto. | |
78 | (gfc_trans_omp_atomic): Ditto. | |
79 | (gfc_trans_omp_do): Ditto. | |
80 | (gfc_trans_omp_task): Ditto. | |
81 | * trans-stmt.c (gfc_trans_stop): Ditto. | |
82 | (gfc_trans_sync): Ditto. | |
83 | (gfc_trans_allocate): Ditto. | |
84 | (gfc_trans_deallocate): Ditto. | |
85 | * trans.c (gfc_call_malloc): Ditto. | |
86 | (gfc_allocate_using_malloc): Ditto. | |
87 | (gfc_call_free): Ditto. | |
88 | (gfc_deallocate_with_status): Ditto. | |
89 | (gfc_deallocate_scalar_with_status): Ditto. | |
90 | * f95-lang.c (gfc_define_builtin): Ditto. | |
91 | (gfc_init_builtin_functions): Ditto. | |
92 | * trans-decl.c (create_main_function): Ditto. | |
93 | * trans-intrinsic.c (builtin_decl_for_precision): Ditto. | |
94 | ||
2855325f TK |
95 | 2011-10-10 Thomas Koenig <tkoenig@gcc.gnu.org> |
96 | ||
97 | PR fortran/50564 | |
98 | * frontend-passes (forall_level): New variable. | |
99 | (cfe_register_funcs): Don't register functions if we | |
100 | are within a forall loop. | |
101 | (optimize_namespace): Set forall_level to 0 before entry. | |
102 | (gfc_code_walker): Increase/decrease forall_level. | |
103 | ||
7de61dc6 TB |
104 | 2011-10-09 Tobias Burnus <burnus@net-b.de> |
105 | ||
10d1dc24 | 106 | PR fortran/50273 |
7de61dc6 TB |
107 | * trans-common.c (translate_common): Fix -Walign-commons check. |
108 | ||
46a9f26b MM |
109 | 2011-10-09 Mikael Morin <mikael.morin@sfr.fr> |
110 | ||
111 | * interface.c (check_dummy_characteristics): Count dimensions starting | |
112 | from one in diagnostic. | |
113 | ||
28d0b595 TB |
114 | 2011-10-09 Tobias Burnus <burnus@net-b.de> |
115 | ||
116 | * Make-lang.in (F95_PARSER_OBJS, GFORTRAN_TRANS_DEPS): Add | |
117 | dependency on iso-c-binding.def and iso-fortran-env.def. | |
118 | * module.c (import_iso_c_binding_module): Add error when | |
119 | explicitly importing a nonstandard symbol; extend standard- | |
120 | depending loading. | |
121 | * iso-c-binding.def: Add c_float128 and c_float128_complex | |
122 | integer parameters (for -std=gnu). | |
123 | * intrinsic.texi (ISO_C_Binding): Document them. | |
124 | * symbol.c (generate_isocbinding_symbol): Change macros | |
125 | to ignore GFC_STD_* data. | |
126 | * trans-types.c (gfc_init_c_interop_kinds): Ditto; make | |
127 | nonstatic and renamed from "init_c_interop_kinds". | |
128 | (gfc_init_kinds): Don't call it | |
129 | * trans-types.h (gfc_init_c_interop_kinds): Add prototype. | |
130 | * f95-lang.c (gfc_init_decl_processing): Call it. | |
131 | ||
4e5d3db2 JW |
132 | 2011-10-09 Janus Weil <janus@gcc.gnu.org> |
133 | ||
134 | PR fortran/50659 | |
135 | * expr.c (replace_symbol): Only do replacement if the symbol is a dummy. | |
136 | ||
30a390c8 PT |
137 | 2011-10-08 Paul Thomas <pault@gcc.gnu.org> |
138 | ||
139 | PR fortran/47844 | |
140 | * trans-array.c (gfc_conv_array_index_offset): Use descriptor | |
141 | stride for pointer function results. | |
142 | ||
621babd8 MM |
143 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
144 | ||
145 | * trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace. | |
146 | ||
c2eb5b53 MM |
147 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
148 | ||
149 | * trans-array.c (gfc_conv_ss_startstride): Merge two switch cases. | |
150 | ||
065c6f9d MM |
151 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
152 | ||
153 | * trans-array.c (gfc_conv_section_startstride): Remove coarray argument. | |
154 | Remove conditions on coarray. | |
155 | (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride. | |
156 | (gfc_conv_expr_descriptor): Ditto. Add assertions before the call. | |
157 | ||
6cb0246c MM |
158 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
159 | ||
160 | * trans-array.c (gfc_conv_section_startstride): Remove coarray_last | |
161 | argument. Remove condition on coarray_last. | |
162 | (gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride. | |
163 | (gfc_conv_expr_descriptor): Ditto. | |
164 | ||
d7baf647 MM |
165 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
166 | ||
167 | * trans-array.c (gfc_walk_variable_expr): Remove scalar coarray | |
168 | handling. Don't reset array ref's corank and codimensions' types | |
169 | in the full array ref case. Update loop upper limit. | |
170 | Remove DIMEN_THIS_IMAGE case. Remove unnecessary conditions. | |
171 | ||
677e2dae MM |
172 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
173 | ||
174 | * trans.h (gfc_ss_info): Remove codimen field. | |
175 | * trans-array.c (gfc_get_array_ss): Don't set codimen field. | |
176 | (gfc_trans_create_temp_array): Don't set descriptor's cobounds. | |
177 | (gfc_trans_constant_array_constructor): Update loop upper limit. | |
178 | (gfc_conv_ss_startstride): Don't set codimen field. | |
179 | Don't get descriptor's cobounds. | |
180 | (gfc_walk_variable_expr): Update dimension index. | |
181 | * trans-intrinsic.c (trans_this_image, trans_image_index, | |
182 | conv_intrinsic_cobound): Don't set codimen field | |
183 | ||
c6d741b8 MM |
184 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
185 | ||
186 | * trans.h (gfc_loopinfo): Remove codimen field. | |
187 | * trans-array.c (gfc_set_vector_loop_bounds, | |
188 | gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper | |
189 | limit. | |
190 | (gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last | |
191 | codimension. | |
192 | (gfc_start_scalarized_body): Update loop lower limit. | |
193 | (gfc_conv_ss_startstride): Don't set loop's codimen field. | |
194 | (gfc_conv_loop_setup): Remove unnecessary condition. | |
195 | (gfc_conv_expr_descriptor): Don't use loop's codimen field as corank. | |
196 | ||
8e50858e MM |
197 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
198 | ||
199 | * trans.h (gfc_ss): Remove data.temp.codimen field. | |
200 | * trans-array.c (gfc_conv_resolve_dependencies, | |
201 | gfc_conv_expr_descriptor): Don't set temp's codimen field. | |
202 | ||
5551a54e MM |
203 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
204 | ||
205 | * resolve.c (resolve_array_ref): Set array_ref's dimen field (and the | |
206 | associated dimen_type) in the full array ref case. | |
207 | ||
9b701a45 MM |
208 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
209 | ||
210 | * trans-intrinsic.c (walk_coarray): New function. | |
211 | (convert_element_to_coarray_ref): Move code to walk_coarray. Remove. | |
212 | (trans-this_image, trans_image_index, conv_intrinsic_cobound): | |
213 | Use walk_coarray. | |
214 | ||
6bd0ce7b MM |
215 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
216 | ||
217 | * trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer | |
218 | cobounds evaluation. | |
219 | ||
199c387d MM |
220 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
221 | ||
222 | * trans-array.c (gfc_conv_ss_startstride): Support zero rank loop. | |
223 | ||
287b3dd2 MM |
224 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
225 | ||
226 | * trans-array.c (gfc_conv_section_startstride): Move code to | |
227 | evaluate_bound. Use evaluate_bound. | |
228 | (evaluate_bound): New function. | |
229 | ||
b0ac6998 MM |
230 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
231 | ||
232 | * trans-array.c (gfc_conv_section_startstride): Update assertion to | |
233 | also accept coarrays. | |
234 | ||
3ca39858 MM |
235 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
236 | ||
237 | * trans-array.c (gfc_conv_section_startstride): Factor common | |
238 | array ref references. | |
239 | ||
a7525708 MM |
240 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
241 | ||
242 | * trans-array.c (gfc_conv_expr_descriptor): Use codim instead of | |
243 | loop.codimen as argument to gfc_get_array_type_bounds. | |
244 | ||
23c3d0f9 MM |
245 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
246 | ||
247 | * trans-array.h (struct gfc_se): New flag want_coarray. | |
248 | * trans-intrinsic.c (trans_this_image, trans_image_index, | |
249 | conv_intrinsic_cobound): Set want_coarray. | |
250 | * trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension | |
251 | earlier and without relying on the scalarizer. | |
252 | ||
89010691 MM |
253 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
254 | ||
255 | * expr.c (gfc_get_corank): Return 0 if input expression is not a | |
256 | coarray. | |
257 | ||
bb033c9a MM |
258 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
259 | ||
260 | * trans-array.c (gfc_conv_expr_descriptor): Simplify coarray | |
677e2dae | 261 | descriptor setup code. |
bb033c9a | 262 | |
b78a06b2 MM |
263 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
264 | ||
265 | * resolve.c (compare_spec_to_ref): Move coarray ref initialization | |
266 | code... | |
267 | (resolve_array_ref): ... here. | |
268 | ||
266edc7e MM |
269 | 2011-10-07 Mikael Morin <mikael.morin@sfr.fr> |
270 | ||
271 | * check.c (is_coarray): Remove. | |
272 | (coarray_check): Use gfc_is_coarray. | |
273 | ||
58eba515 JW |
274 | 2011-10-07 Janus Weil <janus@gcc.gnu.org> |
275 | ||
276 | PR fortran/50625 | |
277 | * class.c (gfc_build_class_symbol): Fix whitespace. | |
278 | * module.c (mio_symbol): Set 'class_ok' attribute. | |
279 | * trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has | |
280 | been built for class symbols. | |
281 | ||
97f26732 JW |
282 | 2011-10-04 Janus Weil <janus@gcc.gnu.org> |
283 | ||
284 | PR fortran/35831 | |
285 | * interface.c (check_dummy_characteristics): Check the array shape. | |
286 | ||
e323640f JW |
287 | 2011-10-01 Janus Weil <janus@gcc.gnu.org> |
288 | ||
289 | PR fortran/50585 | |
290 | * interface.c (get_expr_storage_size): Check if 'length' component is | |
291 | associated. | |
292 | ||
4056cc1b JW |
293 | 2011-09-29 Janus Weil <janus@gcc.gnu.org> |
294 | ||
295 | PR fortran/50547 | |
296 | * resolve.c (resolve_formal_arglist): Fix pureness check for dummy | |
297 | functions. | |
298 | ||
299 | PR fortran/50553 | |
300 | * symbol.c (check_conflict): Forbid TARGET attribute for statement | |
301 | functions. | |
302 | ||
82aa8722 JJ |
303 | 2011-09-27 Jakub Jelinek <jakub@redhat.com> |
304 | ||
305 | * trans-types.c (gfc_type_for_size): Return wider type | |
306 | if no suitable narrower type has been found. | |
307 | (gfc_type_for_mode): Return NULL_TREE if gfc_type_for_size | |
308 | returned type doesn't have expected TYPE_MODE. | |
309 | ||
ef71fdd9 JW |
310 | 2011-09-26 Janus Weil <janus@gcc.gnu.org> |
311 | ||
312 | PR fortran/50515 | |
313 | * resolve.c (resolve_common_blocks): Check for EXTERNAL attribute. | |
314 | ||
315 | PR fortran/50517 | |
316 | * interface.c (gfc_compare_interfaces): Bugfix in check for result type. | |
317 | ||
58c1ae36 JW |
318 | 2011-09-22 Janus Weil <janus@gcc.gnu.org> |
319 | ||
320 | PR fortran/41733 | |
321 | * expr.c (gfc_check_pointer_assign): Check for nonintrinsic elemental | |
322 | procedures. | |
323 | * interface.c (gfc_compare_interfaces): Rename 'intent_flag'. Check | |
324 | for PURE and ELEMENTAL attributes. | |
325 | (compare_actual_formal): Remove pureness check here. | |
326 | ||
40ebf57b SK |
327 | 2011-09-20 Steven G. Kargl <kargl@gcc.gnu.org> |
328 | ||
329 | * check.c (gfc_check_c_sizeof): Remove redundant word. | |
330 | ||
0274cf27 SB |
331 | 2011-09-20 Simon Baldwin <simonb@google.com> |
332 | ||
333 | * module.c (gfc_dump_module): Omit timestamp from output. | |
334 | ||
7214727c JW |
335 | 2011-09-17 Janus Weil <janus@gcc.gnu.org> |
336 | ||
337 | PR fortran/50403 | |
338 | * symbol.c (gfc_use_derived): Fix coding style. | |
339 | ||
f2ce74d1 JW |
340 | 2011-09-15 Janus Weil <janus@gcc.gnu.org> |
341 | ||
342 | PR fortran/50401 | |
343 | * resolve.c (resolve_transfer): Check if component 'ref' is defined. | |
344 | ||
345 | PR fortran/50403 | |
346 | * symbol.c (gfc_use_derived): Check if argument 'sym' is defined. | |
347 | ||
ea8ad3e5 TB |
348 | 2011-09-14 Tobias Burnus <burnus@net-b.de> |
349 | ||
350 | PR fortran/34547 | |
351 | PR fortran/50375 | |
352 | * check.c (gfc_check_null): Allow allocatables as MOLD to NULL. | |
353 | * resolve.c (resolve_transfer): Reject NULL without MOLD. | |
354 | * interface.c (gfc_procedure_use): Reject NULL without MOLD | |
355 | if no explicit interface is known. | |
356 | (gfc_search_interface): Reject NULL without MOLD if it would | |
357 | lead to ambiguity. | |
358 | ||
94c4133a JW |
359 | 2011-09-13 Janus Weil <janus@gcc.gnu.org> |
360 | ||
361 | PR fortran/50379 | |
362 | * symbol.c (check_conflict): Check conflict between GENERIC and RESULT | |
363 | attributes. | |
364 | ||
fa11ae6c TK |
365 | 2011-09-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
366 | ||
367 | PR fortran/50327 | |
368 | * frontend-passes.c (dummy_expr_callback): New function. | |
369 | (convert_do_while): New function. | |
370 | (optimize_namespace): Call code walker to convert do while loops. | |
371 | ||
9795c594 JW |
372 | 2011-09-11 Janus Weil <janus@gcc.gnu.org> |
373 | ||
374 | PR fortran/35831 | |
375 | PR fortran/47978 | |
376 | * interface.c (check_dummy_characteristics): New function to check the | |
377 | characteristics of dummy arguments. | |
378 | (gfc_compare_interfaces,gfc_check_typebound_override): Call it here. | |
379 | ||
e97b61c2 MM |
380 | 2011-09-08 Mikael Morin <mikael.morin@sfr.fr> |
381 | ||
382 | * trans-array.c (gfc_trans_constant_array_constructor): Remove | |
383 | superfluous initialisation of DIM field. | |
384 | (gfc_trans_array_constructor): Assert that DIMEN field is properly set. | |
385 | (gfc_conv_expr_descriptor): Ditto. | |
386 | * trans-expr.c (gfc_conv_procedure_call): Ditto. | |
387 | ||
26f77530 MM |
388 | 2011-09-08 Mikael Morin <mikael.morin@sfr.fr> |
389 | ||
390 | * trans-array.h (gfc_get_scalar_ss): New prototype. | |
391 | * trans-array.c (gfc_get_scalar_ss): New function. | |
392 | (gfc_walk_variable_expr, gfc_walk_op_expr, | |
393 | gfc_walk_elemental_function_args): Re-use gfc_get_scalar_ss. | |
394 | * trans-expr.c (gfc_trans_subarray_assign): Ditto. | |
395 | (gfc_trans_assignment_1): Ditto. | |
396 | * trans-stmt.c (compute_inner_temp_size, gfc_trans_where_assign, | |
397 | gfc_trans_where_3): Ditto. | |
398 | ||
a1ae4f43 MM |
399 | 2011-09-08 Mikael Morin <mikael.morin@sfr.fr> |
400 | ||
401 | * trans-array.h (gfc_get_temp_ss): New prototype. | |
402 | * trans-array.c (gfc_get_temp_ss): New function. | |
403 | (gfc_conv_resolve_dependencies): Re-use gfc_get_temp_ss. | |
404 | (gfc_conv_expr_descriptor): Ditto. | |
405 | * trans-expr.c (gfc_conv_subref_array_arg): Ditto. | |
406 | ||
66877276 MM |
407 | 2011-09-08 Mikael Morin <mikael.morin@sfr.fr> |
408 | ||
409 | * trans-array.h (gfc_get_array_ss): New prototype. | |
410 | * trans-array.c (gfc_get_array_ss): New function. | |
411 | (gfc_walk_variable_expr, gfc_walk_function_expr, | |
412 | gfc_walk_array_constructor): Re-use gfc_get_array_ss. | |
413 | * trans-expr.c (gfc_trans_subarray_assign): Ditto. | |
414 | * trans-intrinsic.c (gfc_walk_intrinsic_bound, | |
415 | gfc_walk_intrinsic_libfunc): Ditto. | |
416 | * trans-io.c (transfer_array_component): Ditto. | |
417 | ||
8c6a85e3 TB |
418 | 2011-09-08 Tobias Burnus <burnus@net-b.de> |
419 | ||
420 | PR fortran/44646 | |
421 | * decl.c (gfc_match_entry, gfc_match_end): Handle COMP_DO_CONCURRENT. | |
422 | * dump-parse-tree.c (show_code_node): Handle EXEC_DO_CONCURRENT. | |
423 | * gfortran.h (gfc_exec_op): Add EXEC_DO_CONCURRENT. | |
424 | * match.c (gfc_match_critical, match_exit_cycle, gfc_match_stopcode, | |
425 | lock_unlock_statement, sync_statement, gfc_match_allocate, | |
426 | gfc_match_deallocate, gfc_match_return): Add DO CONCURRENT diagnostic. | |
427 | (gfc_match_do): Match DO CONCURRENT. | |
428 | (match_derived_type_spec, match_type_spec, gfc_free_forall_iterator, | |
429 | match_forall_iterator, match_forall_header, match_simple_forall, | |
430 | gfc_match_forall): Move up in the file. | |
431 | * parse.c (check_do_closure, parse_do_block): Handle do concurrent. | |
432 | * parse.h (gfc_compile_state): Add COMP_DO_CONCURRENT. | |
433 | * resolve.c (do_concurrent_flag): New global variable. | |
434 | (resolve_function, pure_subroutine, resolve_branch, | |
435 | gfc_resolve_blocks, resolve_code, resolve_types): Add do concurrent | |
436 | diagnostic. | |
437 | * st.c (gfc_free_statement): Handle EXEC_DO_CONCURRENT. | |
438 | * trans-stmt.c (gfc_trans_do_concurrent): New function. | |
439 | (gfc_trans_forall_1): Handle do concurrent. | |
440 | * trans-stmt.h (gfc_trans_do_concurrent): New function prototype. | |
441 | * trans.c (trans_code): Call it. | |
442 | * frontend-passes.c (gfc_code_walker): Handle EXEC_DO_CONCURRENT. | |
443 | ||
6a38e151 JW |
444 | 2011-09-07 Janus Weil <janus@gcc.gnu.org> |
445 | ||
446 | PR fortran/48095 | |
447 | * primary.c (gfc_match_structure_constructor): Handle parsing of | |
448 | procedure pointers components in structure constructors. | |
449 | * resolve.c (resolve_structure_cons): Check interface of procedure | |
450 | pointer components. Changed wording of some error messages. | |
451 | ||
30ff79fa JW |
452 | 2011-09-04 Janus Weil <janus@gcc.gnu.org> |
453 | ||
454 | PR fortran/50227 | |
455 | * trans-types.c (gfc_sym_type): Check for proc_name. | |
456 | ||
dc8c7978 TB |
457 | 2011-08-30 Tobias Burnus <burnus@net-b.de> |
458 | ||
459 | PR fortran/45044 | |
460 | * trans-common.c (build_common_decl): Warn if named common | |
461 | block's size is not everywhere the same. | |
462 | ||
505920d6 SK |
463 | 2011-08-30 Steven G. Kargl <kargl@gcc.gnu.org> |
464 | ||
465 | PR fortran/45170 | |
466 | * trans-stmt.c (gfc_trans_allocate): Evaluate the substring. | |
467 | ||
7a3eeb85 JW |
468 | 2011-08-29 Janus Weil <janus@gcc.gnu.org> |
469 | ||
470 | PR fortran/50225 | |
471 | * trans-decl.c (gfc_generate_function_code): Nullify polymorphic | |
472 | allocatable function results. | |
473 | ||
86187d0f TB |
474 | 2011-08-29 Tobias Burnus <burnus@net-b.de> |
475 | ||
476 | * trans-decl.c (generate_coarray_sym_init): Use | |
477 | GFC_CAF_COARRAY_STATIC for static coarrays. | |
478 | ||
892a371f DS |
479 | 2011-08-28 Dodji Seketeli <dodji@redhat.com> |
480 | ||
481 | * scanner.c (load_file): Don't abuse LC_RENAME reason while | |
86187d0f | 482 | (indirectly) calling linemap_add. |
892a371f | 483 | |
a6c975bd JJ |
484 | 2011-08-26 Jakub Jelinek <jakub@redhat.com> |
485 | ||
486 | * trans-decl.c (get_proc_pointer_decl): Set DECL_TLS_MODEL | |
487 | if threadprivate. | |
488 | * symbol.c (check_conflict): Allow threadprivate attribute with | |
489 | FL_PROCEDURE if proc_pointer. | |
490 | ||
30d50718 | 491 | 2011-08-25 Mikael Morin <mikael@gcc.gnu.org> |
d54e80ce MM |
492 | |
493 | PR fortran/50050 | |
494 | * expr.c (gfc_free_shape): Do nothing if shape is NULL. | |
495 | (free_expr0): Remove redundant NULL shape check. | |
496 | * resolve.c (check_host_association): Ditto. | |
497 | * trans-expr.c (gfc_trans_subarray_assign): Assert that shape is | |
498 | non-NULL. | |
499 | * trans-io.c (transfer_array_component): Ditto. | |
500 | ||
aa13dc3c TB |
501 | 2011-08-25 Tobias Burnus <burnus@net-b.de> |
502 | ||
503 | * trans-array.c (gfc_conv_descriptor_token): Add assert. | |
504 | * trans-decl.c (gfc_build_qualified_array, | |
505 | create_function_arglist): Handle assumed-shape arrays. | |
506 | * trans-expr.c (gfc_conv_procedure_call): Ditto. | |
507 | * trans-types.c (gfc_get_array_descriptor_base): Ditto, don't | |
508 | add "caf_token" to assumed-shape descriptors, new akind argument. | |
509 | (gfc_get_array_type_bounds): Pass akind. | |
510 | * trans.h (lang_decl): New elements caf_offset and token. | |
511 | (GFC_DECL_TOKEN, GFC_DECL_CAF_OFFSET): New macros. | |
512 | ||
241e79cf TB |
513 | 2011-08-25 Tobias Burnus <burnus@net-b.de> |
514 | ||
515 | * trans-array.c (structure_alloc_comps): Fix for allocatable | |
516 | scalar coarray components. | |
517 | * trans-expr.c (gfc_conv_component_ref): Ditto. | |
518 | * trans-type.c (gfc_get_derived_type): Ditto. | |
519 | ||
40885767 TB |
520 | 2011-08-24 Tobias Burnus <burnus@net-b.de> |
521 | ||
522 | PR fortran/50163 | |
523 | * expr.c (check_init_expr): Return when an error occured. | |
524 | ||
c5bc3df6 JM |
525 | 2011-08-24 Joseph Myers <joseph@codesourcery.com> |
526 | ||
527 | * Make-lang.in (fortran/cpp.o): Remove explicit compilation rule. | |
528 | ||
0fcbc86b TB |
529 | 2011-08-23 Tobias Burnus <burnus@net-b.de> |
530 | ||
531 | PR fortran/31600 | |
532 | * symbol.c (gfc_add_type): Better diagnostic if redefining | |
533 | use-associated symbol. | |
534 | * module.c (gfc_use_module): Use module name as locus. | |
535 | ||
e3dfef44 GC |
536 | 2011-08-22 Gabriel Charette <gchare@google.com> |
537 | ||
538 | * cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens | |
539 | defined in cpp_define_builtins. | |
540 | ||
30d50718 | 541 | 2011-08-22 Mikael Morin <mikael@gcc.gnu.org> |
7d7212ec MM |
542 | |
543 | PR fortran/50050 | |
544 | * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes. | |
545 | * expr.c (gfc_clear_shape, gfc_free_shape): New functions. | |
546 | (free_expr0): Re-use gfc_free_shape. | |
547 | * trans-expr.c (gfc_trans_subarray_assign): Ditto. | |
548 | * trans-io.c (transfer_array_component): Ditto. | |
549 | * resolve.c (check_host_association): Ditto. | |
550 | (gfc_expr_to_initialize): Don't force the rank value and free the shape | |
551 | after updating the expression. Recalculate shape and rank. | |
552 | (resolve_where_shape): Re-use gfc_clear_shape. | |
553 | * array.c (gfc_array_ref_shape): Ditto. | |
554 | ||
6cd1d48e TK |
555 | 2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
556 | ||
557 | PR fortran/47659 | |
558 | * expr.c (gfc_check_assign): Check for type conversions when the | |
559 | right-hand side is a constant REAL/COMPLEX contstant the left-hand | |
560 | side is also REAL/COMPLEX. Don't warn when a narrowing conversion | |
561 | for REAL does not change the value of the constant. | |
562 | ||
2d27cb44 TK |
563 | 2011-08-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
564 | ||
565 | PR fortran/50130 | |
566 | * resolve.c (resolve_array_ref): Don't calculate upper bound | |
567 | if the stride is zero. | |
568 | ||
13001f33 JW |
569 | 2011-08-20 Janus Weil <janus@gcc.gnu.org> |
570 | ||
571 | PR fortran/49638 | |
572 | * dependency.c (gfc_dep_compare_expr): Add new result value "-3". | |
573 | (gfc_check_element_vs_section,gfc_check_element_vs_element): Handle | |
574 | result value "-3". | |
7d7212ec | 575 | * frontend-passes.c (optimize_comparison): Ditto. |
13001f33 JW |
576 | * interface.c (gfc_check_typebound_override): Ditto. |
577 | ||
176a6603 MM |
578 | 2011-08-19 Mikael Morin <mikael.morin@sfr.fr> |
579 | ||
580 | PR fortran/50129 | |
581 | * parse.c (parse_where): Undo changes after emitting an error. | |
582 | ||
c26dffff JJ |
583 | 2011-08-19 Jakub Jelinek <jakub@redhat.com> |
584 | ||
585 | PR fortran/49792 | |
586 | * trans-expr.c (gfc_trans_assignment_1): Set OMPWS_SCALARIZER_WS | |
587 | bit in ompws_flags only if loop.temp_ss is NULL, and clear it if | |
588 | lhs needs reallocation. | |
589 | * trans-openmp.c (gfc_trans_omp_workshare): Don't return early if | |
590 | code is NULL, emit a barrier if workshare emitted no code at all | |
591 | and NOWAIT clause isn't present. | |
592 | ||
df1a69f6 MM |
593 | 2011-08-19 Mikael Morin <mikael.morin@sfr.fr> |
594 | ||
595 | PR fortran/50071 | |
596 | * gfortran.h (gfc_exec_op): New constant EXEC_END_NESTED_BLOCK. | |
597 | * parse.c (check_statement_label): Accept ST_END_BLOCK and | |
598 | ST_END_ASSOCIATE as valid branch target. | |
599 | (accept_statement): Change EXEC_END_BLOCK to EXEC_END_NESTED_BLOCK. | |
600 | Add EXEC_END_BLOCK code in the ST_END_BLOCK and ST_END_ASSOCIATE cases. | |
601 | * resolve.c (find_reachable_labels): Change EXEC_END_BLOCK to | |
602 | EXEC_END_NESTED_BLOCK. | |
603 | (resolve_branch): Ditto. | |
604 | (resolve_code): Add EXEC_END_NESTED_BLOCK case. | |
605 | * st.c (gfc_free_statement): Ditto. | |
606 | * trans.c (trans_code): Ditto. | |
607 | ||
4ee3237e MM |
608 | 2011-08-18 Mikael Morin <mikael.morin@sfr.fr> |
609 | ||
610 | PR fortran/50071 | |
611 | * symbol.c (gfc_get_st_label): Use the derived type namespace when | |
612 | we are parsing a derived type definition. | |
613 | ||
3b6fa7a5 TB |
614 | 2011-08-18 Tobias Burnus <burnus@net-b.de> |
615 | ||
616 | PR fortran/18918 | |
617 | * parse.c (parse_derived): Add lock_type | |
618 | checks, improve coarray_comp handling. | |
619 | * resolve.c (resolve_allocate_expr, | |
620 | resolve_lock_unlock, resolve_symbol): Fix lock_type | |
621 | constraint checks. | |
622 | ||
dbad8e71 TB |
623 | 2011-08-17 Tobias Burnus <burnus@net-b.de> |
624 | ||
625 | PR fortran/31461 | |
626 | * trans-decl.c (generate_local_decl): Warn about | |
627 | unused explicitly imported module variables/parameters. | |
628 | ||
30228b61 JW |
629 | 2011-08-17 Janus Weil <janus@gcc.gnu.org> |
630 | ||
631 | PR fortran/50070 | |
632 | * resolve.c (resolve_fl_variable): Reject non-constant character lengths | |
633 | in COMMON variables. | |
634 | ||
565fc114 TB |
635 | 2011-08-16 Tobias Burnus <burnus@net-b.de> |
636 | Dominique Dhumieres <dominiq@lps.ens.fr> | |
637 | ||
638 | PR fortran/50094 | |
639 | * resolve.c (resolve_symbol): Fix stupid typo. | |
640 | ||
e535f1b2 TB |
641 | 2011-08-15 Tobias Burnus <burnus@net-b.de> |
642 | ||
643 | * resolve.c (resolve_symbol): Fix coarray result-var check. | |
644 | ||
8533a1ca SK |
645 | 2011-08-14 Steven G. Kargl <kargl@gcc.gnu.org> |
646 | ||
647 | * module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly. | |
648 | ||
bb9de0c4 JW |
649 | 2011-08-14 Janus Weil <janus@gcc.gnu.org> |
650 | ||
651 | PR fortran/50073 | |
652 | * decl.c (check_function_name): New function, separated off from | |
653 | 'variable_decl' and slightly extended. | |
654 | (variable_decl,attr_decl1): Call it. | |
655 | ||
e3b3fa45 RO |
656 | 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
657 | ||
658 | * Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS). | |
659 | ||
2240d1cf JW |
660 | 2011-08-07 Janus Weil <janus@gcc.gnu.org> |
661 | Thomas Koenig <tkoenig@gcc.gnu.org> | |
662 | ||
663 | PR fortran/49638 | |
664 | * dependency.c (are_identical_variables): For dummy arguments only | |
665 | check for equal names, not equal symbols. | |
666 | * interface.c (gfc_check_typebound_override): Add checking for rank | |
667 | and character length. | |
668 | ||
99fc1b90 JW |
669 | 2011-08-07 Janus Weil <janus@gcc.gnu.org> |
670 | ||
671 | PR fortran/49638 | |
672 | * dependency.h (gfc_is_same_range,gfc_are_identical_variables): Remove | |
673 | two prototypes. | |
674 | * dependency.c (gfc_are_identical_variables,are_identical_variables): | |
675 | Renamed the former to the latter and made static. | |
676 | (gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handle | |
677 | commutativity of multiplication. | |
678 | (gfc_is_same_range,is_same_range): Renamed the former to the latter, | |
679 | made static and removed argument 'def'. | |
680 | (check_section_vs_section): Renamed 'gfc_is_same_range'. | |
681 | * gfortran.h (gfc_check_typebound_override): New prototype. | |
682 | * interface.c (gfc_check_typebound_override): Moved here from ... | |
683 | * resolve.c (check_typebound_override): ... here (and renamed). | |
684 | (resolve_typebound_procedure): Renamed 'check_typebound_override'. | |
685 | ||
48b155b9 TK |
686 | 2011-08-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
687 | ||
688 | PR fortran/50004 | |
689 | * target-memory.c (gfc_target_expr-size): Don't clobber typespec | |
690 | for derived types. | |
691 | * simplify.c (gfc_simplify_transfer): Don't calculate source_size | |
692 | twice. | |
693 | ||
86dbed7d TK |
694 | 2011-08-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
695 | ||
5f7c4bd7 | 696 | PR fortran/37211 |
86dbed7d TK |
697 | * gfortran.h (gfc_calculate_transfer_sizes): Add prototype. |
698 | * target-memory.h (gfc_target_interpret_expr): Add boolean | |
699 | argument wether to convert wide characters. | |
700 | * target-memory.c (gfc_target_expr_size): Also return length | |
701 | of characters for non-constant expressions if these can be | |
702 | determined from the cl. | |
703 | (interpret_array): Add argument for gfc_target_interpret_expr. | |
704 | (gfc_interpret_derived): Likewise. | |
705 | (gfc_target_interpret_expr): Likewise. | |
706 | * check.c: Include target-memory.h. | |
707 | (gfc_calculate_transfer_sizes): New function. | |
708 | (gfc_check_transfer): When -Wsurprising is in force, calculate | |
709 | sizes and warn if result is larger than size (check moved from | |
710 | gfc_simplify_transfer). | |
711 | * simplify.c (gfc_simplify_transfer): Use | |
712 | gfc_calculate_transfer_sizes. Remove warning. | |
713 | ||
428f80e6 RG |
714 | 2011-08-04 Richard Guenther <rguenther@suse.de> |
715 | ||
716 | PR fortran/49957 | |
717 | * trans-array.c (add_to_offset): New function. | |
718 | (gfc_conv_array_ref): Build the array index expression in optimally | |
719 | associated order. | |
720 | (gfc_walk_variable_expr): Adjust for the backward walk. | |
721 | ||
f315a6b4 DK |
722 | 2011-08-02 Daniel Kraft <d@domob.eu> |
723 | ||
724 | PR fortran/49885 | |
725 | * trans-array.c (gfc_trans_auto_array_allocation): Change | |
726 | gfc_start_block to gfc_init_block to avoid spurious extra-scope. | |
727 | ||
979d4598 TB |
728 | 2011-08-02 Tobias Burnus <burnus@net-b.de> |
729 | ||
730 | * trans-array.c (gfc_array_allocate): Pass token to | |
731 | gfc_allocate_allocatable for -fcoarray=lib. | |
732 | * trans-stmt.c (gfc_trans_allocate): Update | |
733 | gfc_allocate_allocatable call. | |
734 | * trans.h (gfc_allocate_allocatable): Update prototype. | |
735 | (gfc_allocate_using_lib): Remove. | |
736 | * trans.c (gfc_allocate_using_lib): Make static, handle token. | |
737 | (gfc_allocate_allocatable): Ditto. | |
738 | ||
20906c66 JJ |
739 | 2011-08-02 Jakub Jelinek <jakub@redhat.com> |
740 | ||
741 | PR fortran/46752 | |
742 | * cpp.c (cpp_define_builtins): Change _OPENMP to 201107. | |
743 | * openmp.c (gfc_free_omp_clauses): Free also final_expr. | |
744 | (OMP_CLAUSE_FINAL, OMP_CLAUSE_MERGEABLE): Define. | |
745 | (gfc_match_omp_clauses): Handle parsing final and mergeable | |
746 | clauses. | |
747 | (OMP_TASK_CLAUSES): Allow final and mergeable clauses. | |
748 | (gfc_match_omp_taskyield): New function. | |
749 | (resolve_omp_clauses): Resolve final clause. Allow POINTERs and | |
750 | Cray pointers in clauses other than REDUCTION. | |
751 | (gfc_match_omp_atomic): Match optional | |
752 | read/write/update/capture keywords after !$omp atomic. | |
753 | (resolve_omp_atomic): Handle all OpenMP 3.1 atomic forms. | |
754 | * dump-parse-tree.c (show_omp_node): Handle EXEC_OMP_TASKYIELD, | |
755 | print final and mergeable clauses. | |
756 | (show_code_node): Handle EXEC_OMP_TASKYIELD. | |
757 | * trans-openmp.c (gfc_trans_omp_clauses): Handle final and | |
758 | mergeable clauses. | |
759 | (gfc_trans_omp_taskyield): New function. | |
760 | (gfc_trans_omp_directive): Handle EXEC_OMP_TASKYIELD. | |
761 | (gfc_trans_omp_atomic): Handle all OpenMP 3.1 atomic forms. | |
762 | (gfc_omp_clause_copy_ctor): Handle non-allocated allocatable. | |
763 | (gfc_omp_predetermined_sharing): Adjust comment. | |
764 | * gfortran.h (gfc_statement): Add ST_OMP_TASKYIELD and | |
765 | ST_OMP_END_ATOMIC. | |
766 | (gfc_omp_clauses): Add final_expr and mergeable fields. | |
767 | (gfc_exec_op): Add EXEC_OMP_TASKYIELD. | |
768 | (gfc_omp_atomic_op): New enum typedef. | |
769 | (struct gfc_code): Add ext.omp_atomic. | |
770 | * trans.c (trans_code): Handle EXEC_OMP_TASKYIELD. | |
771 | * frontend-passes.c (gfc_code_walker): Also walk final_expr. | |
772 | * resolve.c (gfc_resolve_blocks, resolve_code): Handle | |
773 | EXEC_OMP_TASKYIELD. | |
774 | * st.c (gfc_free_statement): Likewise. | |
775 | * match.h (gfc_match_omp_taskyield): New prototype. | |
776 | * parse.c (decode_omp_directive): Handle taskyield directive. | |
777 | Handle !$omp end atomic. | |
778 | (case_executable): Add ST_OMP_TASKYIELD case. | |
779 | (gfc_ascii_statement): Handle ST_OMP_TASKYIELD. | |
780 | (parse_omp_atomic): Return gfc_statement instead of void. | |
781 | For !$omp atomic capture parse two assignments instead of | |
782 | just one and require !$omp end atomic afterwards, for | |
783 | other !$omp atomic forms just allow !$omp end atomic at the | |
784 | end. | |
785 | (parse_omp_structured_block, parse_executable): Adjust | |
786 | parse_omp_atomic callers. | |
787 | ||
788 | 2011-08-02 Tobias Burnus <burnus@net-b.de> | |
789 | ||
790 | * intrinsic.c (OMP_LIB): Updated openmp_version's | |
791 | value to 201107. | |
792 | * gfortran.texi (OpenMP): Update ref to OpenMP 3.1. | |
793 | * intrinsic.texi (OpenMP Modules): Update ref to OpenMP 3.1; | |
794 | remove deleted omp_integer_kind and omp_logical_kind constants. | |
795 | ||
0291fa25 JW |
796 | 2011-07-31 Janus Weil <janus@gcc.gnu.org> |
797 | ||
798 | PR fortran/49112 | |
799 | * resolve.c (resolve_structure_cons): Don't do the full dt resolution, | |
800 | only call 'resolve_fl_derived0'. | |
801 | (resolve_typebound_procedures): Resolve typebound procedures of | |
802 | parent type. | |
803 | (resolve_fl_derived0): New function, which does a part of the work | |
804 | for 'resolve_fl_derived'. | |
805 | (resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional | |
806 | things. | |
807 | ||
7d0300ed TK |
808 | 2011-07-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
809 | ||
810 | PR fortran/48876 | |
811 | * expr.c (gfc_simplify_expr): If end of a string is less | |
812 | than zero, set it to zero. | |
813 | ||
d2663912 JJ |
814 | 2011-07-28 Jakub Jelinek <jakub@redhat.com> |
815 | ||
816 | PR fortran/31067 | |
817 | * frontend-passes.c (optimize_minmaxloc): New function. | |
818 | (optimize_expr): Call it. | |
819 | ||
4bfd470b TB |
820 | 2011-07-27 Tobias Burnus <burnus@net-b.de> |
821 | ||
822 | PR fortran/45586 | |
823 | * trans-types.c (gfc_get_derived_type): Ensure that pointer | |
824 | component types are marked as nonrestricted. | |
825 | ||
4f13e17f DC |
826 | 2011-07-27 Daniel Carrera <dcarrera@gmail.com> |
827 | ||
828 | PR fortran/49755 | |
829 | * trans.c (gfc_allocate_using_malloc): Change function signature. | |
830 | Return nothing. New parameter "pointer". Eliminate temorary variables. | |
831 | (gfc_allocate_using_lib): Ditto. | |
832 | (gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib | |
833 | and gfc_allocate_using_malloc. Do not free and then reallocate a | |
834 | variable that is already allocated. | |
835 | (gfc_likely): New function. Basedon gfc_unlikely. | |
836 | * trans-array.c (gfc_array_init_size): New parameter "descriptor_block". | |
837 | Instructions to modify the array descriptor are stored in this block | |
838 | while other instructions continue to be stored in "pblock". | |
839 | (gfc_array_allocate): Update call to gfc_array_init_size. Move the | |
840 | descriptor_block so that the array descriptor is only updated if | |
841 | the array was allocated successfully. | |
842 | Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc. | |
843 | * trans.h (gfc_allocate_allocatable): Change function signature. | |
844 | Function now returns void. | |
845 | (gfc_allocate_using_lib): Ditto, and new function parameter. | |
846 | (gfc_allocate_using_malloc): Ditto. | |
847 | * trans-openmp.c (gfc_omp_clause_default_ctor, | |
848 | gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call | |
849 | to gfc_allocate_allocatable with gfc_allocate_using_malloc. | |
850 | * trans-stmt.c (gfc_trans_allocate): Update function calls for | |
851 | gfc_allocate_allocatable and gfc_allocate_using_malloc. | |
852 | ||
af232d48 TB |
853 | 2011-07-26 Tobias Burnus <burnus@net-b.de> |
854 | ||
855 | * trans-array.c (CAF_TOKEN_FIELD): New macro constant. | |
856 | (gfc_conv_descriptor_token): New function. | |
857 | * trans-array.h (gfc_conv_descriptor_token): New prototype. | |
858 | * trans-types.c (gfc_get_array_descriptor_base): For coarrays | |
859 | with -fcoarray=lib, append "void *token" to the array descriptor. | |
860 | (gfc_array_descriptor_base_caf): New static variable. | |
861 | * trans-expr.c (gfc_conv_procedure_call): Handle token and offset | |
862 | when passing a descriptor coarray to a nondescriptor dummy. | |
863 | ||
efc694a7 TB |
864 | 2011-07-23 Tobias Burnus <burnus@net-b.de> |
865 | ||
866 | * resolve.c (resolve_symbol): Fix coarray var decl check. | |
867 | ||
8f992d64 DC |
868 | 2011-07-21 Daniel Carrera <dcarrera@gmail.com> |
869 | ||
870 | * trans.c (gfc_allocate_with_status): Split into two functions | |
871 | gfc_allocate_using_malloc and gfc_allocate_usig_lib. | |
872 | (gfc_allocate_using_malloc): The status parameter is now the | |
873 | actual status rather than a pointer. Code cleanup. | |
874 | (gfc_allocate_using_lib): Ditto. Add new parametrs errmsg and | |
875 | errlen. Pass these to the coarray lib. | |
876 | * trans-openmp.c (gfc_omp_clause_default_ctor): Update calls to | |
877 | gfc_allocate_allocatable. | |
878 | (gfc_omp_clause_copy_ctor): Ditto. | |
879 | (gfc_trans_omp_array_reduction): Ditto. | |
880 | * trans-stmt.c (gfc_trans_allocate): Ditto. Update call to | |
881 | gfc_allocate_using_malloc. Pass stat rather than pstat to the allocate | |
882 | fuctions. If using coarray lib, pass errmsg and errlen to the allocate | |
883 | functions. Move error checking outside the if (!gfc_array_allocate) | |
884 | block so that it also affects trees produced by gfc_array_allocate. | |
885 | * trans-array.c (gfc_array_allocate): Add new parameters errmsg | |
886 | and errlen. Replace parameter pstat by status. Code cleanup. Update | |
887 | calls to gfc_allocate_allocatable and gfc_allocate_using_malloc. | |
888 | * trans-array.h (gfc_array_allocate): Update signature of | |
889 | gfc_array_allocate. | |
890 | ||
1f1c0dbd SK |
891 | 2011-07-21 Steven G. Kargl <kargl@gcc.gnu.org> |
892 | ||
893 | * gfortran.texi: Remove a duplicate word. | |
894 | ||
0c53708e TB |
895 | 2011-07-21 Tobias Burnus <burnus@net-b.de> |
896 | ||
897 | * check.c (gfc_check_present): Allow coarrays. | |
898 | * trans-array.c (gfc_conv_array_ref): Avoid casting | |
899 | when a pointer is wanted. | |
900 | * trans-decl.c (create_function_arglist): For -fcoarray=lib, | |
901 | handle hidden token and offset arguments for nondescriptor | |
902 | coarrays. | |
903 | * trans-expr.c (get_tree_for_caf_expr): New function. | |
904 | (gfc_conv_procedure_call): For -fcoarray=lib pass the | |
905 | token and offset for nondescriptor coarray dummies. | |
906 | * trans.h (lang_type): Add caf_offset tree. | |
907 | (GFC_TYPE_ARRAY_CAF_OFFSET): New macro. | |
908 | ||
394d3a2e TB |
909 | 2011-07-19 Tobias Burnus <burnus@net-b.de> |
910 | ||
911 | * expr.c (gfc_is_coarray): New function. | |
912 | * gfortran.h (gfc_is_coarray): New prototype. | |
913 | * interface.c (compare_parameter): Use it. | |
914 | ||
5d49b6a7 RG |
915 | 2011-07-19 Richard Guenther <rguenther@suse.de> |
916 | ||
917 | * trans-expr.c (fill_with_spaces): Use fold_build_pointer_plus. | |
918 | (gfc_trans_string_copy): Likewise. | |
919 | * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Likewise. | |
920 | * trans-types.c (gfc_get_array_descr_info): Likewise. | |
921 | * trans.c (gfc_build_array_ref): Likewise. | |
922 | ||
b21a544b JW |
923 | 2011-07-19 Janus Weil <janus@gcc.gnu.org> |
924 | ||
925 | PR fortran/49708 | |
926 | * resolve.c (resolve_allocate_expr): Fix diagnostics for pointers. | |
927 | ||
15e2b595 TB |
928 | 2011-07-18 Tobias Burnus <burnus@net-b.de> |
929 | ||
930 | * trans-decl.c (gfc_build_qualified_array): Make coarray's | |
931 | token TYPE_QUAL_RESTRICT. | |
932 | ||
d8155bf5 TB |
933 | 2011-07-18 Tobias Burnus <burnus@net-b.de> |
934 | ||
935 | * resolve.c (resolve_transfer): Mention defined I/O | |
936 | in the diagnostic for alloc_comp/pointer_comp. | |
937 | ||
63523a1f TB |
938 | 2011-07-17 Tobias Burnus <burnus@net-b.de> |
939 | ||
940 | PR fortran/34657 | |
941 | * module.c (check_for_ambiguous): Check whether the name is matches | |
942 | the current program unit. | |
943 | ||
73cd74f8 TB |
944 | 2011-07-17 Tobias Burnus <burnus@net-b.de> |
945 | ||
946 | PR fortran/49624 | |
947 | * expr.c (gfc_check_pointer_assign): Fix checking for invalid | |
948 | pointer bounds. | |
949 | ||
badd9e69 TB |
950 | 2011-07-16 Tobias Burnus <burnus@net-b.de> |
951 | ||
952 | * expr.c (gfc_ref_this_image): New function. | |
953 | (gfc_is_coindexed): Use it. | |
954 | * gfortran.h (gfc_ref_this_image): New prototype. | |
955 | * resolve.c (resolve_deallocate_expr, | |
956 | resolve_allocate_expr): Support alloc scalar coarrays. | |
957 | * trans-array.c (gfc_conv_array_ref, gfc_array_init_size, | |
958 | gfc_conv_descriptor_cosize, gfc_array_allocate, | |
959 | gfc_trans_deferred_array): Ditto. | |
960 | * trans-expr.c (gfc_conv_variable) Ditto.: | |
961 | * trans-stmt.c (gfc_trans_deallocate): Ditto. | |
962 | * trans-types.c (gfc_get_element_type, gfc_get_array_type_bounds | |
963 | gfc_get_array_descr_info): Ditto. | |
964 | * trans-decl.c (gfc_get_symbol_decl): Ditto. | |
965 | ||
932ebb94 JJ |
966 | 2011-07-11 Jakub Jelinek <jakub@redhat.com> |
967 | ||
968 | PR fortran/49698 | |
969 | * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Initialize | |
970 | inner_size to gfc_index_one_node instead of integer_one_node. | |
971 | ||
89560a3c TB |
972 | 2011-07-10 Tobias Burnus <burnus@net-b.de> |
973 | ||
974 | PR fortran/49690 | |
975 | * intrinsic.c (add_functions): Use BT_VOID for 2nd argument of SIGNAL. | |
976 | ||
4dc694b2 UB |
977 | 2011-07-09 Uros Bizjak <ubizjak@gmail.com> |
978 | ||
979 | PR fortran/48926 | |
980 | * expr.c (gfc_get_corank): Change return value to int. | |
981 | * gfortran.h (gfc_get_corank): Update function prototype. | |
982 | ||
e3d748dd MM |
983 | 2011-07-07 Mikael Morin <mikael.morin@sfr.fr> |
984 | ||
985 | PR fortran/49648 | |
986 | * resolve.c (resolve_symbol): Force resolution of function result's | |
987 | array specification. | |
988 | ||
4054bc52 TB |
989 | 2011-07-07 Tobias Burnus <burnus@net-b.de> |
990 | ||
991 | * trans.c (gfc_allocate_with_status): Call _gfortran_caf_register | |
992 | with NULL arguments for (new) stat=/errmsg= arguments. | |
993 | ||
badd9e69 | 994 | 2011-07-06 Daniel Carrera <dcarrera@gmail.com> |
ea6363a3 DC |
995 | |
996 | * trans-array.c (gfc_array_allocate): Rename allocatable_array to | |
4dc694b2 | 997 | allocatable. Rename function gfc_allocate_array_with_status to |
ea6363a3 DC |
998 | gfc_allocate_allocatable_with_status. Update function call for |
999 | gfc_allocate_with_status. | |
1000 | * trans-opemp.c (gfc_omp_clause_default_ctor): Rename function | |
1001 | gfc_allocate_array_with_status to gfc_allocate_allocatable_with_status. | |
1002 | * trans-stmt.c (gfc_trans_allocate): Update function call for | |
1003 | gfc_allocate_with_status. Rename function gfc_allocate_array_with_status | |
1004 | to gfc_allocate_allocatable_with_status. | |
1005 | * trans.c (gfc_call_malloc): Add new parameter gfc_allocate_with_status | |
1006 | so it uses the library for memory allocation when -fcoarray=lib. | |
1007 | (gfc_allocate_allocatable_with_status): Renamed from | |
1008 | gfc_allocate_array_with_status. | |
1009 | (gfc_allocate_allocatable_with_status): Update function call for | |
1010 | gfc_allocate_with_status. | |
1011 | * trans.h (gfc_coarray_type): New enum. | |
1012 | (gfc_allocate_with_status): Update prototype. | |
1013 | (gfc_allocate_allocatable_with_status): Renamed from | |
1014 | gfc_allocate_array_with_status. | |
1015 | * trans-decl.c (generate_coarray_sym_init): Use the new constant | |
1016 | GFC_CAF_COARRAY_ALLOC in the call to gfor_fndecl_caf_register. | |
1017 | ||
1a072294 RG |
1018 | 2011-07-06 Richard Guenther <rguenther@suse.de> |
1019 | ||
1020 | * f95-lang.c (gfc_init_decl_processing): | |
1021 | Merge calls to build_common_tree_nodes and build_common_tree_nodes_2. | |
1022 | ||
bc947511 JJ |
1023 | 2011-07-04 Jakub Jelinek <jakub@redhat.com> |
1024 | ||
1025 | PR fortran/49623 | |
1026 | * gfortranspec.c (lang_specific_driver): Ignore options with | |
1027 | CL_ERR_MISSING_ARG errors. | |
1028 | ||
49860194 JW |
1029 | 2011-07-02 Janus Weil <janus@gcc.gnu.org> |
1030 | ||
1031 | PR fortran/49562 | |
1032 | * expr.c (gfc_check_vardef_context): Handle type-bound procedures. | |
1033 | ||
21ea4922 JJ |
1034 | 2011-06-30 Jakub Jelinek <jakub@redhat.com> |
1035 | ||
1036 | PR fortran/49540 | |
1037 | * gfortran.h (gfc_constructor): Add repeat field. | |
1038 | * trans-array.c (gfc_conv_array_initializer): Handle repeat > 1. | |
1039 | * array.c (current_expand): Add repeat field. | |
1040 | (expand_constructor): Copy repeat. | |
1041 | * constructor.c (node_free, node_copy, gfc_constructor_get, | |
1042 | gfc_constructor_lookup): Handle repeat field. | |
1043 | (gfc_constructor_lookup_next, gfc_constructor_remove): New functions. | |
1044 | * data.h (gfc_assign_data_value): Add mpz_t * argument. | |
1045 | (gfc_assign_data_value_range): Removed. | |
1046 | * constructor.h (gfc_constructor_advance): Removed. | |
1047 | (gfc_constructor_lookup_next, gfc_constructor_remove): New prototypes. | |
1048 | * data.c (gfc_assign_data_value): Add REPEAT argument, handle it and | |
1049 | also handle overwriting a range with a single entry. | |
1050 | (gfc_assign_data_value_range): Removed. | |
1051 | * resolve.c (check_data_variable): Adjust gfc_assign_data_value | |
1052 | call. Use gfc_assign_data_value instead of | |
1053 | gfc_assign_data_value_expr. | |
1054 | ||
dbb7247b JW |
1055 | 2011-06-27 Janus Weil <janus@gcc.gnu.org> |
1056 | ||
1057 | PR fortran/49466 | |
1058 | * trans-array.c (structure_alloc_comps): Make sure sub-components | |
1059 | and extended types are correctly deallocated. | |
1060 | ||
e0a8ecf2 AM |
1061 | 2011-06-21 Andrew MacLeod <amacleod@redhat.com> |
1062 | ||
1063 | * trans-openmp.c: Add sync_ or SYNC__ to builtin names. | |
1064 | * trans-stmt.c: Add sync_ or SYNC__ to builtin names. | |
1065 | * trans-decl.c: Add sync_ or SYNC__ to builtin names. | |
1066 | ||
95f5c775 JW |
1067 | 2011-06-21 Janus Weil <janus@gcc.gnu.org> |
1068 | ||
1069 | PR fortran/49112 | |
1070 | * class.c (gfc_find_derived_vtab): Make vtab and default initialization | |
1071 | symbols SAVE_IMPLICIT. | |
1072 | ||
fea54935 TB |
1073 | 2011-06-20 Tobias Burnus <burnus@net-b.de> |
1074 | ||
1075 | PR fortran/18918 | |
1076 | * gfortran.h (gfc_check_vardef_context): Update prototype. | |
1077 | (iso_fortran_env_symbol): Handle derived types. | |
1078 | (symbol_attribute): Add lock_comp. | |
1079 | * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check. | |
1080 | * interface.c (compare_parameter, gfc_procedure_use): Handle | |
1081 | LOCK_TYPE. | |
1082 | (compare_actual_formal): Update | |
1083 | gfc_check_vardef_context call. | |
1084 | * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto. | |
1085 | * intrinsic.c (check_arglist): Ditto. | |
1086 | * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire): Ditto. | |
1087 | * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add. | |
1088 | * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE. | |
1089 | * module.c (mio_symbol_attribute): Handle lock_comp. | |
1090 | (create_derived_type): New function. | |
1091 | (use_iso_fortran_env_module): Call it to handle LOCK_TYPE. | |
1092 | * parse.c (parse_derived): Add constraint check for LOCK_TYPE. | |
1093 | * resolve.c (resolve_symbol, resolve_lock_unlock): Add constraint | |
1094 | checks for LOCK_TYPE. | |
1095 | (gfc_resolve_iterator, resolve_deallocate_expr, | |
1096 | resolve_allocate_expr, resolve_code, resolve_transfer): Update | |
1097 | gfc_check_vardef_context call. | |
1098 | * trans-stmt.h (gfc_trans_lock_unlock): New prototype. | |
1099 | * trans-stmt.c (gfc_trans_lock_unlock): New function. | |
1100 | * trans.c (trans_code): Handle LOCK and UNLOCK. | |
1101 | ||
3547d57e JW |
1102 | 2011-06-18 Janus Weil <janus@gcc.gnu.org> |
1103 | ||
1104 | PR fortran/49400 | |
1105 | * decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside | |
1106 | BLOCK constructs. | |
1107 | ||
b53abf71 JW |
1108 | 2011-06-17 Janus Weil <janus@gcc.gnu.org> |
1109 | ||
1110 | PR fortran/48699 | |
1111 | * check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic, | |
1112 | make sure the vtab is present. | |
1113 | ||
67a7c837 JW |
1114 | 2011-06-16 Janus Weil <janus@gcc.gnu.org> |
1115 | ||
1116 | PR fortran/49074 | |
1117 | * interface.c (gfc_extend_assign): Propagate the locus from the | |
1118 | assignment to the type-bound procedure call. | |
1119 | ||
9c9eacb9 JW |
1120 | 2011-06-16 Janus Weil <janus@gcc.gnu.org> |
1121 | ||
1122 | PR fortran/49417 | |
1123 | * module.c (mio_component): Make sure the 'class_ok' attribute is set | |
1124 | for use-associated CLASS components. | |
1125 | * parse.c (parse_derived): Check for 'class_ok' attribute. | |
1126 | * resolve.c (resolve_fl_derived): Ditto. | |
1127 | ||
4f21f0da TK |
1128 | 2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org> |
1129 | ||
1130 | * frontend-passes.c (remove_trim): New function. | |
1131 | (optimize_assignment): Use it. | |
1132 | (optimize_comparison): Likewise. Return correct status | |
1133 | for previous change. | |
1134 | ||
73039f89 TB |
1135 | 2011-06-12 Tobias Burnus |
1136 | ||
1137 | PR fortran/49324 | |
1138 | * trans-expr.c (gfc_trans_assignment_1): Tell | |
1139 | gfc_trans_scalar_assign to also deep-copy RHS nonvariables | |
1140 | with allocatable components. | |
1141 | * trans-array.c (gfc_conv_expr_descriptor): Ditto. | |
1142 | ||
b5ee9d1c TK |
1143 | 2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
1144 | ||
1145 | * frontend-passes.c (optimize_assignment): Follow chains | |
1146 | of concatenation operators to the end for removing trailing | |
1147 | TRIMS for assignments. | |
1148 | ||
f5c01f5b DC |
1149 | 2011-06-10 Daniel Carrera <dcarrera@gmail.com> |
1150 | ||
1151 | * trans-decl.c (gfc_build_builtin_function_decls): | |
1152 | Updated declaration of caf_sync_all and caf_sync_images. | |
1153 | * trans-stmt.c (gfc_trans_sync): Function | |
1154 | can now handle a "stat" variable that has an integer type | |
1155 | different from integer_type_node. | |
1156 | ||
9ef0b98e RG |
1157 | 2011-06-09 Richard Guenther <rguenther@suse.de> |
1158 | ||
1159 | * trans.c (gfc_allocate_array_with_status): Mark error path | |
1160 | as unlikely. | |
1161 | ||
5493aa17 TB |
1162 | 2011-06-08 Tobias Burnus <burnus@net-b.de> |
1163 | ||
1164 | PR fortran/18918 | |
1165 | * gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK. | |
1166 | (gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK. | |
1167 | (gfc_code): Add expr4. | |
1168 | * match.h (gfc_match_lock, gfc_match_unlock): New prototypes. | |
1169 | * match.c (gfc_match_lock, gfc_match_unlock, | |
1170 | lock_unlock_statement): New functions. | |
1171 | (sync_statement): Bug fix, avoiding double freeing. | |
1172 | (gfc_match_if): Handle LOCK/UNLOCK statement. | |
1173 | * parse.c (decode_statement, next_statement, | |
1174 | gfc_ascii_statement): Ditto. | |
1175 | * st.c (gfc_free_statement): Handle LOCK and UNLOCK. | |
1176 | * resolve.c (resolve_lock_unlock): New function. | |
1177 | (resolve_code): Call it. | |
1178 | * dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK. | |
1179 | ||
009db074 RG |
1180 | 2011-06-07 Richard Guenther <rguenther@suse.de> |
1181 | ||
1182 | * f95-lang.c (gfc_init_decl_processing): Do not set | |
1183 | size_type_node or call set_sizetype. | |
1184 | ||
8d231ff2 TB |
1185 | 2011-06-05 Tobias Burnus <burnus@net-b.de> |
1186 | ||
1187 | PR fortran/49255 | |
1188 | * trans-expr.c (gfc_conv_procedure_call): Fix -fcheck=pointer | |
1189 | for F2008. | |
1190 | ||
142f5e4a AS |
1191 | 2011-06-05 Andreas Schmidt <andreas.schmidt.42@gmx.net> |
1192 | Thomas Koenig <tkoenig@gcc.gnu.org> | |
1193 | ||
1194 | * dump-parse-tree.c (show_symbol): Don't dump namespace | |
1195 | for ENTRY to avoid infinite recursion. | |
1196 | ||
cde3a7a9 AL |
1197 | 2011-06-02 Asher Langton <langton2@llnl.gov> |
1198 | ||
1199 | PR fortran/49268 | |
1200 | * trans-decl.c (gfc_trans_deferred_vars): Treat assumed-size Cray | |
1201 | pointees as AS_EXPLICIT. | |
1202 | ||
11126dc0 AL |
1203 | 2011-06-02 Asher Langton <langton2@llnl.gov> |
1204 | ||
1205 | PR fortran/37039 | |
1206 | * decl.c (variable_decl): Merge current_as before copying to cp_as. | |
1207 | ||
162b5a21 SK |
1208 | 2011-06-02 Steven G. Kargl <kargl@gcc.gnu.org> |
1209 | ||
1210 | PR fortran/49265 | |
1211 | * decl.c (gfc_match_modproc): Allow for a double colon in a module | |
1212 | procedure statement. | |
1213 | * parse.c ( decode_statement): Deal with whitespace around :: in | |
1214 | gfc_match_modproc. | |
142f5e4a | 1215 | |
da661a58 TB |
1216 | 2011-05-31 Tobias Burnus <burnus@net-b.de> |
1217 | ||
1218 | PR fortran/18918 | |
1219 | * intrinsic.c (klass): Add CLASS_ATOMIC. | |
1220 | (add_subroutines): Add atomic_ref/atomic_define. | |
1221 | * intrinsic.texi (ATOMIC_REF, ATOMIC_DEFINE): Document. | |
1222 | * intrinsic.h (gfc_check_atomic_def, gfc_check_atomic_ref, | |
1223 | gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New prototypes. | |
1224 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_ATOMIC_DEF | |
1225 | and GFC_ISYM_ATOMIC_REF. | |
1226 | (gfc_atomic_int_kind, gfc_atomic_logical_kind): New global vars. | |
1227 | * iresolve.c (gfc_resolve_atomic_def, gfc_resolve_atomic_ref): New | |
1228 | functions. | |
1229 | * check.c (gfc_check_atomic, gfc_check_atomic_def, | |
1230 | gfc_check_atomic_ref): New functions. | |
1231 | * iso-fortran-env.def (ISOFORTRANENV_FILE_ATOMIC_INT_KIND, | |
1232 | ISOFORTRANENV_FILE_ATOMIC_LOGICAL_KIND): Change kind value. | |
1233 | * trans-intrinsic.c (conv_intrinsic_atomic_def, | |
1234 | conv_intrinsic_atomic_ref, gfc_conv_intrinsic_subroutine): New | |
1235 | functions. | |
1236 | (conv_intrinsic_move_alloc) Renamed from | |
1237 | gfc_conv_intrinsic_move_alloc - and made static. | |
1238 | * trans.h (gfc_conv_intrinsic_move_alloc): Remove. | |
1239 | (gfc_conv_intrinsic_subroutine) Add prototype. | |
1240 | * trans.c (trans_code): Call gfc_conv_intrinsic_subroutine. | |
1241 | * trans-types (gfc_atomic_int_kind, gfc_atomic_logical_kind): New | |
1242 | global vars. | |
1243 | (gfc_init_kinds): Set them. | |
1244 | ||
d73b65b6 TB |
1245 | 2011-05-31 Tobias Burnus <burnus@net-b.de> |
1246 | ||
1247 | PR fortran/18918 | |
1248 | * trans-array.c (gfc_trans_dummy_array_bias): Handle | |
1249 | cobounds of assumed-shape arrays. | |
1250 | ||
9f3761c5 TB |
1251 | 2011-05-31 Tobias Burnus <burnus@net-b.de> |
1252 | ||
1253 | PR fortran/18918 | |
1254 | * resolve.c (resolve_fl_variable): Handle static coarrays | |
1255 | with non-constant cobounds. | |
1256 | ||
5e7bb2b9 JW |
1257 | 2011-05-29 Janus Weil <janus@gcc.gnu.org> |
1258 | ||
1259 | PR fortran/47601 | |
1260 | * module.c (mio_component_ref): Handle components of extended types. | |
1261 | * symbol.c (gfc_find_component): Return is sym is NULL. | |
1262 | ||
427180d2 TB |
1263 | 2011-05-29 Tobias Burnus <burnus@net-b.de> |
1264 | ||
1265 | PR fortran/18918 | |
1266 | * interface.c (compare_parameter): Add check for passing coarray | |
1267 | to allocatable noncoarray dummy. | |
1268 | ||
8a5c4899 TB |
1269 | 2011-05-29 Tobias Burnus <burnus@net-b.de> |
1270 | Richard Guenther <rguenther@suse.de> | |
1271 | ||
1272 | PR fortran/18918 | |
1273 | * trans-types.c (gfc_get_nodesc_array_type): Don't mess with | |
1274 | the type's TREE_TYPE. | |
1275 | * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT. | |
1276 | * trans.c (gfc_build_array_ref): Ditto. | |
1277 | ||
5aacb11e TB |
1278 | 2011-05-27 Tobias Burnus <burnus@net-b.de> |
1279 | ||
1280 | PR fortran/18918 | |
1281 | * check.c (gfc_check_associated, gfc_check_null): Add coindexed check. | |
1282 | * match.c (gfc_match_nullify): Ditto. | |
1283 | * resolve.c (resolve_deallocate_expr): Ditto. | |
1284 | * trans-types.c (gfc_get_nodesc_array_type): Don't set restricted | |
1285 | for nonpointers. | |
1286 | ||
2514987f TB |
1287 | 2011-05-27 Tobias Burnus <burnus@net-b.de> |
1288 | ||
1289 | PR fortran/48820 | |
1290 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK. | |
1291 | * intrinsic.c (add_functions): Add rank intrinsic. | |
1292 | (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR. | |
1293 | * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add prototypes. | |
1294 | * simplify.c (gfc_simplify_rank): New function. | |
1295 | * intrinsic.texi (RANK): Add description for rank intrinsic. | |
1296 | * check.c (gfc_check_rank): New function. | |
1297 | ||
aed5574e PT |
1298 | 2011-05-26 Paul Thomas <pault@gcc.gnu.org> |
1299 | Thomas Koenig <tkoenig@gcc.gnu.org> | |
1300 | ||
1301 | PR fortran/48955 | |
1302 | * trans-expr.c (gfc_trans_assignment_1): GFC_REVERSE_NOT_SET | |
1303 | changed to GFC_ENABLE_REVERSE. | |
1304 | * trans-array.c (gfc_init_loopinfo): GFC_CANNOT_REVERSE changed | |
1305 | to GFC_INHIBIT_REVERSE. | |
1306 | * gfortran.h : Enum gfc_reverse is now GFC_ENABLE_REVERSE, | |
1307 | GFC_FORWARD_SET, GFC_REVERSE_SET and GFC_INHIBIT_REVERSE. | |
1308 | * dependency.c (gfc_dep_resolver): Change names for elements of | |
1309 | gfc_reverse as necessary. Change the logic so that forward | |
1310 | dependences are remembered as well as backward ones. When both | |
1311 | have appeared, force a temporary. | |
1312 | ||
b8ff4e88 TB |
1313 | 2011-05-26 Tobias Burnus <burnus@net-b.de> |
1314 | ||
1315 | PR fortran/18918 | |
1316 | * trans-array.c (gfc_conv_array_ref): Handle pointer coarrays. | |
1317 | * trans-decl.c (has_coarray_vars, caf_init_block, | |
1318 | gfor_fndecl_caf_register): New file-global variables. | |
1319 | (gfc_finish_var_decl): Make sure that coarrays in main are static. | |
1320 | (gfc_build_qualified_array): Generate coarray token variable. | |
1321 | (gfc_get_symbol_decl): Don't use a static initializer for coarrays. | |
1322 | (gfc_build_builtin_function_decls): Set gfor_fndecl_caf_register. | |
1323 | (gfc_trans_deferred_vars, gfc_emit_parameter_debug_info): Skip for | |
1324 | static coarrays. | |
1325 | (generate_local_decl): Check for local coarrays. | |
1326 | (create_main_function): SYNC ALL before calling MAIN. | |
1327 | (generate_coarray_sym_init): Register static coarray. | |
1328 | (generate_coarray_init): Generate CAF registering constructor | |
1329 | function. | |
1330 | (gfc_generate_function_code): Call it, if needed, do not create | |
1331 | cgraph twice. | |
1332 | (gfc_generate_module_vars, gfc_process_block_locals): Call | |
1333 | generate_coarray_init. | |
1334 | * trans-types.c (gfc_get_nodesc_array_type): Generate pointers for | |
1335 | -fcoarray=lib. | |
1336 | * trans.h (gfor_fndecl_caf_register): New variable. | |
1337 | (lang_type): New element caf_token. | |
1338 | (GFC_TYPE_ARRAY_CAF_TOKEN): New macro. | |
1339 | ||
1ed1641d JM |
1340 | 2011-05-24 Joseph Myers <joseph@codesourcery.com> |
1341 | ||
1342 | * Make-lang.in (GFORTRAN_D_OBJS): Remove prefix.o. | |
1343 | (gfortran$(exeext)): Use libcommon-target.a. | |
1344 | ||
42a2717c TK |
1345 | 2011-05-22 Thomas Koenig <tkoenig@gcc.gnu.org> |
1346 | ||
1347 | * frontend-passes.c (cfe_register_funcs): Also register | |
1348 | character functions if their charlens are known and constant. | |
1349 | Also register allocatable functions. | |
1350 | ||
43a9eec7 JW |
1351 | 2011-05-21 Janus Weil <janus@gcc.gnu.org> |
1352 | ||
1353 | PR fortran/48699 | |
1354 | * match.c (select_type_set_tmp): Make the temporary ALLOCATABLE if the | |
1355 | selector is ALLOCATABLE. | |
1356 | ||
54381af7 JW |
1357 | 2011-05-20 Janus Weil <janus@gcc.gnu.org> |
1358 | ||
1359 | PR fortran/48706 | |
1360 | * module.c (write_dt_extensions): Do not write extended types which | |
1361 | are local to a subroutine. | |
1362 | ||
2691e6d7 JM |
1363 | 2011-05-20 Joseph Myers <joseph@codesourcery.com> |
1364 | ||
1365 | * Make-lang.in (GFORTRAN_D_OBJS): Remove version.o and intl.o. | |
1366 | ||
57b4d355 JB |
1367 | 2011-05-20 Janne Blomqvist <jb@gcc.gnu.org> |
1368 | ||
b8ff4e88 TB |
1369 | * gfortran.texi (set_fpe): Update documentation. |
1370 | * invoke.texi (-ffpe-trap): Likewise. | |
1371 | * libgfortran.h (GFC_FPE_PRECISION): Rename to GFC_FPE_INEXACT. | |
1372 | * options.c (gfc_handle_fpe_trap_option): Handle inexact and make | |
1373 | precision an alias for it. | |
57b4d355 JB |
1374 | |
1375 | 2011-05-19 Tobias Burnus <burnus@net-b.de> | |
4409de24 TB |
1376 | |
1377 | PR fortran/18918 | |
1378 | * trans-types.c (gfc_get_element_type): Handle scalar coarrays. | |
1379 | (gfc_get_nodesc_array_type): Make a variant-type copy for scalar | |
1380 | coarrays. | |
1381 | * trans.c (gfc_build_array_ref): Return original type not variant | |
1382 | copy for scalar coarrays. | |
1383 | * trans-array.c (gfc_conv_array_ref): Ditto. | |
1384 | ||
54381af7 JW |
1385 | 2011-05-18 Janus Weil <janus@gcc.gnu.org> |
1386 | ||
1387 | PR fortran/48700 | |
1388 | * trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): Deallocate 'TO' | |
1389 | argument to avoid memory leaks. | |
1390 | ||
20c97ec9 TB |
1391 | 2011-05-16 Tobias Burnus <burnus@net-b.de> |
1392 | ||
1393 | * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR. | |
1394 | (Fortran 2008 status): Multi-image support for coarrays. | |
1395 | (TR 19113 status): New section. | |
1396 | ||
4ca9939b TB |
1397 | 2011-05-15 Tobias Burnus <burnus@net-b.de> |
1398 | ||
1399 | PR fortran/18918 | |
1400 | actual argument is not an array; rank mismatch is diagnosted later. | |
1401 | * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars): Handle | |
1402 | scalar coarrays. | |
1403 | * trans-types.c (gfc_get_array_type_bounds): Ditto. | |
1404 | ||
29eabd78 JR |
1405 | 2011-05-15 Joern Rennecke <amylaar@spamcop.net> |
1406 | ||
1407 | PR middle-end/46500 | |
1408 | * trans-types.c: Include "tm.h". | |
1409 | [0] (c_size_t_size): Remove. | |
1410 | ||
817f24d9 JB |
1411 | 2011-05-15 Janne Blomqvist <jb@gcc.gnu.org> |
1412 | ||
1413 | PR libfortran/48915 | |
1414 | * gfortran.texi (_gfortran_set_options): Even though -fbacktrace | |
1415 | is now the default, the library defaults to backtracing disabled. | |
1416 | ||
ade2e403 TB |
1417 | 2011-05-14 Tobias Burnus <burnus@net-b.de> |
1418 | ||
1419 | * lang.opt (fdump-core): Re-add as ignored option | |
1420 | for backward compatibility. | |
1421 | ||
7daa7b1d JB |
1422 | 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> |
1423 | ||
1424 | PR libfortran/48915 | |
1425 | * gfortran.texi: Update mixed-language programming section | |
1426 | reflecting the removal of the fdump-core option, and that | |
1427 | -fbacktrace is now enabled by default. | |
1428 | ||
222c2a63 TK |
1429 | 2011-05-14 Thomas Koenig <tkoenig@gcc.gnu.org> |
1430 | ||
1431 | PR fortran/22572 | |
1432 | * frontend-passes.c (cfe_register_funcs): Also register functions | |
1433 | for potential elimination if the rank is > 0, the shape is unknown | |
1434 | and reallocate on assignment is active. | |
1435 | (create_var): For rank > 0 functions with unknown shape, create | |
1436 | an allocatable temporary. | |
1437 | ||
e6242bc7 TB |
1438 | 2011-05-14 Tobias Burnus <burnus@net-b.de> |
1439 | ||
1440 | PR fortran/18918 | |
1441 | * interface.c (compare_parameter): Skip diagnostic if | |
1442 | actual argument is not an array; rank mismatch is diagnosted later. | |
1443 | ||
2d8c9ad5 TB |
1444 | 2011-05-14 Tobias Burnus <burnus@net-b.de> |
1445 | ||
1446 | * options.c (gfc_init_options, gfc_post_options): Enable | |
1447 | -fstack-arrays by default if -Ofast is used. | |
1448 | * invoke.texi (-fstack-arrays): Document this. | |
1449 | ||
de8bd142 JB |
1450 | 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> |
1451 | ||
2d8c9ad5 TB |
1452 | PR libfortran/48915 |
1453 | * gfortran.h (gfc_option_t): Remove flag_dump_core. | |
1454 | * gfortran.texi (GFORTRAN_ERROR_DUMPCORE): Remove section. | |
1455 | (GFORTRAN_ERROR_BACKTRACE): Document that it's enabled by default. | |
1456 | * intrinsic.texi (ABORT): Remove explanation of -fdump-core. | |
1457 | * invoke.texi: Remove -fdump-core, document that -fbacktrace is | |
1458 | enabled by default. | |
1459 | * lang.opt: Remove -fdump-core. | |
1460 | * options.c (gfc_init_options): Make backtrace default to enabled, | |
1461 | remove dump_core. | |
1462 | (gfc_handle_option): Remove OPT_fdump-core. | |
1463 | * trans-decl.c: Pass a 0 to preserve ABI. | |
de8bd142 | 1464 | |
1028b2bd JB |
1465 | 2011-05-14 Janne Blomqvist <jb@gcc.gnu.org> |
1466 | ||
2d8c9ad5 | 1467 | * gfortran.texi: Remove GFORTRAN_USE_STDERR documentation. |
1028b2bd | 1468 | |
75933b07 TB |
1469 | 2011-05-13 Tobias Burnus <burnus@net-b.de> |
1470 | ||
1471 | PR fortran/48972 | |
1472 | * io.c (resolve_tag_format, resolve_tag): Make sure | |
1473 | that the string is of default kind. | |
1474 | (gfc_resolve_inquire): Also resolve decimal tag. | |
1475 | ||
13157033 TB |
1476 | 2011-05-12 Tobias Burnus <burnus@net-b.de> |
1477 | ||
1478 | PR fortran/48972 | |
1479 | * resolve.c (resolve_intrinsic): Don't resolve module | |
1480 | intrinsics multiple times. | |
1481 | ||
0126595f TB |
1482 | 2011-05-11 Tobias Burnus <burnus@net-b.de> |
1483 | ||
1484 | PR fortran/48889 | |
1485 | * expr.c (gfc_is_constant_expr): Use e->value.function.esym | |
1486 | instead of e->symtree->n.sym, if available. | |
1487 | ||
c99c0026 EB |
1488 | 2011-05-07 Eric Botcazou <ebotcazou@adacore.com> |
1489 | ||
1490 | * f95-lang.c (global_bindings_p): Return bool and simplify. | |
1491 | ||
6f4d39bb TB |
1492 | 2011-05-07 Tobias Burnus <burnus@net-b.de> |
1493 | ||
1494 | PR fortran/18918 | |
1495 | PR fortran/48919 | |
1496 | * trans.h: Move gfc_init_coarray_decl prototype ... | |
1497 | * gfortran.h: ... to here. | |
1498 | * parse.c (translate_all_program_units): Call gfc_init_coarray_decl. | |
1499 | (gfc_parse_file): Update translate_all_program_units call. | |
1500 | * trans-decl.c (gfc_init_coarray_decl): Fix variable declaration, | |
1501 | new argument whether DECL_EXTERNAL should be used. | |
1502 | (create_main_function): Update gfc_init_coarray_decl call. | |
1503 | * trans-intrinsic.c (trans_this_image, trans_image_index, | |
1504 | conv_intrinsic_cobound): Ditto. | |
1505 | ||
c81e79b5 TB |
1506 | 2011-05-06 Tobias Burnus <burnus@net-b.de> |
1507 | ||
1508 | PR fortran/18918 | |
1509 | * trans-array.c (gfc_walk_variable_expr): Continue walking | |
1510 | for scalar coarrays. | |
1511 | * trans-intrinsic.c (convert_element_to_coarray_ref): New function. | |
1512 | (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it. | |
1513 | (trans_this_image): Fix algorithm. | |
1514 | * trans-types.c (gfc_get_element_type, gfc_get_array_descriptor_base, | |
1515 | gfc_sym_type): Handle scalar coarrays. | |
1516 | ||
2e8d9212 TB |
1517 | 2011-05-06 Tobias Burnus <burnus@net-b.de> |
1518 | ||
1519 | PR fortran/48858 | |
1520 | PR fortran/48820 | |
1521 | * lang.opt (std=f2008tr): New. | |
1522 | * libgfortran.h (GFC_STD_F2008_TR): New macro constant. | |
1523 | * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C) | |
1524 | procedures for -std=f2008tr/gnu/legacy. | |
1525 | (gfc_match_import): Set sym to NULL. | |
1526 | * options.c (set_default_std_flags,gfc_handle_option): Handle | |
1527 | -std=f2008tr. | |
1528 | * invoke.texi (-std=): Document -std=f2008tr. | |
1529 | ||
3d528853 NF |
1530 | 2011-05-05 Nathan Froyd <froydnj@codesourcery.com> |
1531 | ||
1532 | * trans-decl.c (gfc_trans_entry_master_switch): Call build_case_label. | |
1533 | * trans-io.c (add_case): Likewise. | |
1534 | * trans-stmt.c (gfc_trans_integer_select): Likewise. | |
1535 | (gfc_trans_character_select): Likewise. | |
1536 | ||
907a08d9 EB |
1537 | 2011-05-05 Eric Botcazou <ebotcazou@adacore.com> |
1538 | ||
1539 | * trans-decl.c (trans_function_start): Do not set | |
1540 | dont_save_pending_sizes_p. | |
1541 | ||
42375e2e NF |
1542 | 2011-05-04 Nathan Froyd <froydnj@codesourcery.com> |
1543 | ||
1544 | * trans.h (gfc_chainon_list): Delete. | |
1545 | * trans.c (gfc_chainon_list): Delete. | |
1546 | ||
7a994646 TB |
1547 | 2011-05-04 Tobias Burnus <burnus@net-b.de> |
1548 | ||
1549 | PR fortran/48864 | |
1550 | * invoke.texi (fno-protect-parens): Document | |
1551 | that -Ofast implies -fno-protect-parens. | |
1552 | * options.c (gfc_init_options, gfc_post_options): | |
1553 | Make -Ofast imply -fno-protect-parens. | |
1554 | ||
6c32445b NF |
1555 | 2011-05-04 Nathan Froyd <froydnj@codesourcery.com> |
1556 | ||
1557 | * trans-decl.c (build_library_function_decl_1): Call | |
1558 | build_function_type_vec. Adjust argument list building accordingly. | |
1559 | * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Likewise. | |
1560 | * trans-types.c (gfc_get_function_type): Likewise. | |
1561 | ||
df09d1d5 RG |
1562 | 2011-05-04 Richard Guenther <rguenther@suse.de> |
1563 | ||
1564 | * trans-array.c (gfc_trans_array_constructor_value): Use | |
1565 | size_int for bounds of range types. | |
1566 | (gfc_trans_array_constructor_value): Use size_type_node | |
1567 | for memcpy argument. | |
1568 | * trans-common.c (build_field): Use gfc_charlen_type_node | |
1569 | for lengths. | |
1570 | * trans-openmp.c (gfc_trans_omp_clauses): Do not pass NULL | |
1571 | as type to build_int_cst. | |
1572 | * trans-const.c (gfc_build_string_const): Use size_int | |
1573 | for bounds of range types. | |
1574 | (gfc_build_wide_string_const): Likewise. | |
1575 | * trans-stmt.c (gfc_trans_label_assign): Use gfc_charlen_type_node | |
1576 | for lengths. | |
1577 | (gfc_trans_character_select): Likewise. | |
1578 | (gfc_trans_character_select): Do not pass NULL | |
1579 | as type to build_int_cst. | |
1580 | (gfc_trans_character_select): Use size_int for bounds of range types. | |
1581 | * trans-io.c (gfc_build_io_library_fndecls): Likewise. | |
1582 | (add_case): Do not pass NULL as type to build_int_cst. | |
1583 | (transfer_expr): Likewise. | |
1584 | (transfer_array_desc): Likewise. | |
1585 | * trans-decl.c (gfc_add_assign_aux_vars): Use gfc_charlen_type_node | |
1586 | for lengths. | |
1587 | (gfc_trans_assign_aux_var): Likewise. | |
1588 | (create_main_function): Use size_int for bounds of range types. | |
1589 | * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char): Do not pass | |
1590 | NULL as type to build_int_cst. | |
1591 | (gfc_conv_intrinsic_spacing): Likewise. | |
1592 | (gfc_conv_intrinsic_rrspacing): Likewise. | |
1593 | (gfc_conv_intrinsic_len): Use gfc_charlen_type_node for lengths. | |
1594 | ||
d35936ab RG |
1595 | 2011-05-04 Richard Guenther <rguenther@suse.de> |
1596 | ||
1597 | * trans-types.c (gfc_get_array_type_bounds): Remove zero notrunc | |
1598 | argument to int_const_binop. | |
1599 | ||
0e3184ac TB |
1600 | 2011-05-03 Tobias Burnus <burnus@net-b.de> |
1601 | ||
1602 | PR fortran/18918 | |
1603 | * trans-intrinsic.c (trans_this_image): Implement version with | |
1604 | coarray argument. | |
1605 | (conv_intrinsic_cobound): Simplify code. | |
1606 | (gfc_conv_intrinsic_function): Call trans_this_image for | |
1607 | this_image(coarray) except for -fcoarray=single. | |
1608 | ||
5a17346a SK |
1609 | 2011-05-02 Steven G. Kargl <kargl@gcc.gnu.org> |
1610 | ||
1611 | PR fortran/48720 | |
1612 | * gfortran.texi: Document the 'Q' exponent-letter extension. | |
1613 | * invoke.texi: Document -Wreal-q-constant. | |
1614 | * lang.opt: Add -Wreal-q-constant option. | |
1615 | * gfortran.h: Add warn_real_q_constant to option struct. | |
1616 | * primary.c (match_real_constant): Use it. Accept 'Q' as | |
1617 | exponent-letter for REAL(16) real-literal-constant with a | |
1618 | fallback to REAL(10) or error if REAL(10) is not available. | |
1619 | * options.c (gfc_init_options, set_Wall) Set it. | |
1620 | (gfc_handle_option): Handle new option. | |
1621 | ||
03cf9837 TK |
1622 | 2011-04-30 Thomas Koenig <tkoenig@gcc.gnu.org> |
1623 | ||
1624 | * dump-prase-tree.c (show_code_node): Set the current | |
1625 | namespace to the BLOCK before displaying it; restore | |
1626 | afterwards. | |
1627 | ||
4e2cf5f5 TB |
1628 | 2011-04-30 Tobias Burnus <burnus@net-b.de> |
1629 | ||
2ad7ae18 | 1630 | PR fortran/48821 |
4e2cf5f5 TB |
1631 | * decl.c (gfc_match_import): Don't try to find the |
1632 | symbol if already found. | |
1633 | ||
b972d95b PT |
1634 | 2011-04-30 Paul Thomas <pault@gcc.gnu.org> |
1635 | ||
1636 | PR fortran/48746 | |
1637 | * trans-expr.c (fcncall_realloc_result): Set the bounds and the | |
1638 | offset so that the lbounds are one. | |
1639 | (gfc_trans_arrayfunc_assign): Add rank to arguments of above. | |
1640 | ||
7097b041 PT |
1641 | 2011-04-29 Paul Thomas <pault@gcc.gnu.org> |
1642 | ||
1643 | PR fortran/48462 | |
1644 | * trans-expr.c (arrayfunc_assign_needs_temporary): Deal with | |
1645 | automatic reallocation when the lhs is a target. | |
1646 | ||
1647 | PR fortran/48746 | |
1648 | * trans-expr.c (fcncall_realloc_result): Make sure that the | |
1649 | result dtype field is set before the function call. | |
1650 | ||
12578be7 TB |
1651 | 2011-04-29 Tobias Burnus <burnus@net-b.de> |
1652 | ||
1653 | PR fortran/48810 | |
1654 | * resolve.c (resolve_typebound_generic_call): Don't check access | |
1655 | flags of the specific function. | |
1656 | ||
1657 | PR fortran/48800 | |
1658 | * resolve.c (resolve_formal_arglist): Don't change AS_DEFERRED | |
1659 | to AS_ASSUMED_SHAPE for function results. | |
1660 | (resolve_fl_var_and_proc): Print also for function results with | |
1661 | AS_DEFERRED an error, if they are not a pointer or allocatable. | |
1662 | (resolve_types): Make sure arguments of procedures in interface | |
1663 | blocks are resolved. | |
1664 | ||
fa5e5a76 MM |
1665 | 2011-04-29 Michael Matz <matz@suse.de> |
1666 | ||
1667 | * options.c (options.c): Set warn_maybe_uninitialized. | |
1668 | ||
a300121e TB |
1669 | 2011-04-28 Tobias Burnus <burnus@net-b.de> |
1670 | ||
1671 | PR fortran/48112 | |
1672 | * resolve.c (resolve_fl_var_and_proc): Print diagnostic of | |
1673 | function results only once. | |
1674 | (resolve_symbol): Always resolve function results. | |
1675 | ||
1676 | PR fortran/48279 | |
1677 | * expr.c (gfc_check_vardef_context): Fix handling of generic | |
1678 | EXPR_FUNCTION. | |
1679 | * interface.c (check_interface0): Reject internal functions | |
1680 | in generic interfaces, unless -std=gnu. | |
1681 | ||
fa9f7c70 TB |
1682 | 2011-04-27 Tobias Burnus <burnus@net-b.de> |
1683 | ||
1684 | PR fortran/48788 | |
1685 | * resolve.c (resolve_global_procedure): Error recovery - | |
1686 | avoid segfault for (non)character-returning functions. | |
1687 | ||
3a1fd30c TK |
1688 | 2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
1689 | ||
1690 | * decl.c (gfc_match_end): Check that the block name starts | |
1691 | with "block@". | |
1692 | * parse.c (gfc_build_block_ns): Make block names unique by | |
1693 | numbering them. | |
1694 | ||
5a87ca71 TK |
1695 | 2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org> |
1696 | ||
1697 | * frontend-passes.c (inserted_block): New variable. | |
1698 | (changed_statement): Likewise. | |
1699 | (create_var): Encase statement to be operated on in a BLOCK. | |
1700 | Adjust code insertion for BLOCK. | |
1701 | (cfe_code): Set inserted_block and changed_statement to NULL. | |
1702 | ||
c49eaa23 TB |
1703 | 2011-04-23 Tobias Burnus <burnus@net-b.de> |
1704 | ||
1705 | PR fortran/18918 | |
1706 | * module.c (mio_array_spec): Set as->cotype on reading. | |
1707 | * resolve.c (resolve_allocate_expr): Fix allocating coarray | |
1708 | components. | |
1709 | ||
82358e09 TK |
1710 | 2011-04-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
1711 | ||
1712 | PR fortran/48405 | |
1713 | * frontend_passes (cfe_register_funcs): Remove workaround for DO | |
1714 | loops. | |
1715 | (gfc_code_walker): Make sure the pointer to the current | |
1716 | statement doen't change when other statements are inserted. | |
1717 | ||
e85df92e TB |
1718 | 2011-04-21 Tobias Burnus <burnus@net-b.de> |
1719 | ||
1720 | PR fortran/18918 | |
1721 | * array.c (gfc_match_array_spec): Fix maximal rank(+corank) check. | |
1722 | ||
04695783 JM |
1723 | 2011-04-20 Jim Meyering <meyering@redhat.com> |
1724 | ||
1725 | * expr.c (free_expr0): Remove useless if-before-free. | |
1726 | * gfortranspec.c (lang_specific_pre_link): Likewise. | |
1727 | * interface.c (gfc_extend_expr): Likewise. | |
1728 | * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise. | |
1729 | ||
8721a387 TB |
1730 | 2011-04-19 Tobias Burnus <burnus@net-b.de> |
1731 | ||
1732 | PR fortran/48588 | |
1733 | PR fortran/48692 | |
1734 | ||
1735 | * module.c (fix_mio_expr): Commit created symbol. | |
1736 | ||
f7d2e5d4 JB |
1737 | 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org> |
1738 | ||
1739 | * scanner.c (load_file): Use XCNEWVAR instead of xcalloc. | |
1740 | ||
6c13c5f2 JB |
1741 | 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org> |
1742 | ||
1743 | * frontend-passes.c (gfc_run_passes): Use XDELETEVEC instead of | |
1744 | free. | |
1745 | ||
93acb62c JB |
1746 | 2011-04-19 Janne Blomqvist <jb@gcc.gnu.org> |
1747 | ||
1748 | * misc.c (gfc_getmem): Remove function. | |
1749 | * gfortran.h: Remove gfc_getmem prototype. Replace gfc_getmem | |
1750 | usage with XCNEW or XCNEWVEC. | |
1751 | * expr.c (gfc_check_assign_symbol): Replace gfc_getmem usage with | |
1752 | XCNEW or XCNEWVEC. | |
1753 | * options.c (gfc_handle_module_path_options) | |
1754 | (gfc_get_option_string): Likewise. | |
1755 | * resolve.c (gfc_resolve_forall): Likewise. | |
1756 | * simplify.c (simplify_transformation_to_array): Likewise. | |
1757 | * target-memory.c (gfc_target_interpret_expr): Likewise. | |
1758 | * trans-common.c (get_segment_info, copy_equiv_list_to_ns) | |
1759 | (get_init_field): Likewise. | |
1760 | * trans-expr.c (gfc_conv_statement_function): Likewise. | |
1761 | * trans-io.c (nml_full_name): Likewise. | |
1762 | * trans-stmt.c (gfc_trans_forall_1): Likewise. | |
1763 | * scanner.c (load_file): Replace gfc_getmem usage with xcalloc. | |
1764 | ||
9714ca72 TB |
1765 | 2011-04-19 Tobias Burnus <burnus@net-b.de> |
1766 | ||
1767 | PR fortran/48588 | |
1768 | * parse.c (resolve_all_program_units): Skip modules. | |
1769 | (translate_all_program_units): Handle modules. | |
1770 | (gfc_parse_file): Defer code generation for modules. | |
1771 | ||
7c589800 MJ |
1772 | 2011-04-19 Martin Jambor <mjambor@suse.cz> |
1773 | ||
1774 | * trans-decl.c (gfc_generate_function_code): Call cgraph_create_node | |
1775 | instead of cgraph_get_create_node. | |
1776 | ||
513db953 JM |
1777 | 2011-04-18 Jim Meyering <meyering@redhat.com> |
1778 | ||
1779 | remove now-unused definition of gfc_free | |
1780 | * misc.c (gfc_free): Remove function. | |
1781 | * gfortran.h (gfc_free): Remove its prototype. | |
1782 | ||
cede9502 JM |
1783 | 2011-04-18 Jim Meyering <meyering@redhat.com> |
1784 | ||
1785 | convert each use of gfc_free (p) to free (p) | |
1786 | Do that by running this command: | |
1787 | perl -pi -e 's/\bgfc_free ?\(/free (/' \ | |
1788 | $(git grep -El '\bgfc_free ?\(') | |
1789 | which also corrects the few uses that lacked a space between | |
1790 | the function name and the open parenthesis. | |
1791 | Manually undo the change to the function definition itself | |
1792 | and its prototype. They'll be removed next. | |
1793 | * array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/ | |
1794 | * constructor.c (node_free): Likewise. | |
1795 | * cpp.c (dump_queued_macros): Likewise. | |
1796 | * data.c (gfc_assign_data_value): Likewise. | |
1797 | * decl.c (free_variable, free_value, gfc_free_data): Likewise. | |
1798 | (gfc_free_data_all, match_old_style_init): Likewise. | |
1799 | (gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL): | |
1800 | Likewise. | |
1801 | (gfc_match_modproc): Likewise. | |
1802 | * dependency.c (check_section_vs_section): Likewise. | |
1803 | * error.c (gfc_pop_error, gfc_free_error): Likewise. | |
1804 | * expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise. | |
1805 | (gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise. | |
1806 | (find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol): | |
1807 | Likewise. | |
1808 | * frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise. | |
1809 | (strip_function_call, optimize_comparison): Likewise. | |
1810 | * interface.c (gfc_free_interface, arginfo, check_interface0): Likewise. | |
1811 | (CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist): | |
1812 | Likewise. | |
1813 | * intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise. | |
1814 | (gfc_convert_chartype): Likewise. | |
1815 | * io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close): | |
1816 | Likewise. | |
1817 | (gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise. | |
1818 | * match.c (gfc_free_iterator, gfc_match_associate): Likewise. | |
1819 | (gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until): | |
1820 | Likewise. | |
1821 | (free_case, gfc_free_forall_iterator): Likewise. | |
1822 | * misc.c: Likewise. | |
1823 | * module.c (free_pi_tree, resolve_fixups, free_rename): Likewise. | |
1824 | (free_true_name, peek_atom, mio_allocated_wide_string): Likewise. | |
1825 | (mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise. | |
1826 | (mio_gmp_real, mio_expr, mio_typebound_proc): Likewise. | |
1827 | (mio_full_typebound_tree, skip_list, load_equiv): Likewise. | |
1828 | (free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise. | |
1829 | * openmp.c (gfc_free_omp_clauses): Likewise. | |
1830 | * options.c (gfc_post_options): Likewise. | |
1831 | * parse.c (select_type_pop, parse_omp_structured_block): Likewise. | |
1832 | * primary.c (gfc_free_structure_ctor_component): Likewise. | |
1833 | * resolve.c (resolve_structure_cons, check_host_association): Likewise. | |
1834 | (gfc_resolve_forall, resolve_equivalence): Likewise. | |
1835 | * scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise. | |
1836 | (gfc_define_undef_line, preprocessor_line, include_line): Likewise. | |
1837 | (load_file, gfc_read_orig_filename): Likewise. | |
1838 | * simplify.c (simplify_transformation_to_array): Likewise. | |
1839 | (gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING): | |
1840 | Likewise. | |
1841 | (gfc_simplify_compiler_options): Likewise. | |
1842 | * st.c (gfc_free_statement, gfc_free_statements): Likewise. | |
1843 | (gfc_free_association_list): Likewise. | |
1844 | * symbol.c (free_components, gfc_free_st_label, free_st_labels): | |
1845 | Likewise. | |
1846 | (gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise. | |
1847 | (free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise. | |
1848 | (free_common_tree, free_uop_tree, free_sym_tree): Likewise. | |
1849 | (gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists): | |
1850 | Likewise. | |
1851 | (gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise. | |
1852 | (gfc_free_namespace): Likewise. | |
1853 | * trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise. | |
1854 | (gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise. | |
1855 | (gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise. | |
1856 | * trans-common.c (get_init_field, create_common): Likewise. | |
1857 | * trans-const.c (gfc_build_wide_string_const): Likewise. | |
1858 | (gfc_conv_string_init): Likewise. | |
1859 | * trans-decl.c (gfc_generate_function_code): Likewise. | |
1860 | * trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping): | |
1861 | Likewise. | |
1862 | (SCALAR_POINTER, gfc_conv_statement_function): Likewise. | |
1863 | (gfc_trans_subarray_assign): Likewise. | |
1864 | * trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise. | |
1865 | * trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise. | |
1866 | (transfer_namelist_element, transfer_array_component): Likewise. | |
1867 | * trans-openmp.c (gfc_trans_omp_array_reduction): Likewise. | |
1868 | * trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise. | |
1869 | * trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus): | |
1870 | Likewise. | |
1871 | ||
5cc124fe JM |
1872 | 2011-04-15 Jim Meyering <meyering@redhat.com> |
1873 | ||
1874 | gfortran: remove cpp definition of free, ... | |
1875 | in preparation for the s/gfc_free/free/ transformation. | |
1876 | * gfortran.h (free): Remove macro definition that would otherwise | |
1877 | prevent direct use of the function. | |
1878 | ||
e84b920c TB |
1879 | 2011-04-18 Tobias Burnus <burnus@net-b.de> |
1880 | ||
1881 | PR fortran/18918 | |
1882 | * array.c (gfc_match_array_ref): Check for too many codimensions. | |
1883 | * check.c (gfc_check_image_index): Check number of elements | |
1884 | in SUB argument. | |
1885 | * simplify.c (gfc_simplify_image_index): Remove unreachable checks. | |
1886 | ||
5af07930 TB |
1887 | 2011-04-18 Tobias Burnus <burnus@net-b.de> |
1888 | ||
1889 | PR fortran/18918 | |
1890 | * iresolve.c (gfc_resolve_image_index): Set ts.type. | |
1891 | * simplify.c (gfc_simplify_image_index): Don't abort if the bounds | |
1892 | are not known at compile time and handle -fcoarray=lib. | |
1893 | * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle | |
1894 | IMAGE_INDEX. | |
1895 | (conv_intrinsic_cobound): Fix comment typo. | |
1896 | (trans_this_image): New function. | |
1897 | * trans-array.c (gfc_unlikely): Move to trans.c. | |
1898 | * trans.c (gfc_unlikely): Function moved from trans-array.c. | |
1899 | (gfc_trans_runtime_check): Use it. | |
1900 | * trans-io.c (gfc_trans_io_runtime_check): Ditto. | |
1901 | * trans.h (gfc_unlikely): Add prototype. | |
1902 | ||
12df8d01 PT |
1903 | 2011-04-18 Paul Thomas <pault@gcc.gnu.org> |
1904 | ||
1905 | PR fortran/48462 | |
1906 | * trans-expr.c (fcncall_realloc_result): Renamed version of | |
1907 | realloc_lhs_bounds_for_intrinsic_call that does not touch the | |
1908 | descriptor bounds anymore but makes a temporary descriptor to | |
1909 | hold the result. | |
1910 | (gfc_trans_arrayfunc_assign): Modify the reference to above | |
1911 | renamed function. | |
1912 | ||
0a826db3 TB |
1913 | 2011-05-17 Tobias Burnus <burnus@net-b.de> |
1914 | ||
1915 | PR fortran/48624 | |
1916 | * trans-decl.c (gfc_get_extern_function_decl): Fix decl | |
1917 | for external procedures with proc arguments. | |
1918 | ||
c76f8d52 MM |
1919 | 2011-04-15 Michael Matz <matz@suse.de> |
1920 | ||
1921 | * trans-array.c (toplevel): Include gimple.h. | |
1922 | (gfc_trans_allocate_array_storage): Check flag_stack_arrays, | |
1923 | properly expand variable length arrays. | |
1924 | (gfc_trans_auto_array_allocation): If flag_stack_arrays create | |
1925 | variable length decls and associate them with their scope. | |
1926 | * gfortran.h (gfc_option_t): Add flag_stack_arrays member. | |
1927 | * options.c (gfc_init_options): Handle -fstack_arrays option. | |
1928 | * lang.opt (fstack-arrays): Add option. | |
1929 | * invoke.texi (Code Gen Options): Document it. | |
1930 | * Make-lang.in (trans-array.o): Depend on GIMPLE_H. | |
1931 | ||
4d15cfbc TB |
1932 | 2011-04-15 Tobias Burnus <burnus@net-b.de> |
1933 | ||
1934 | PR fortran/18918 | |
1935 | * trans-intrinsic.c (conv_intrinsic_cobound): Remove unused | |
1936 | code which is also causing an ICE. | |
1937 | ||
61e46a7d NF |
1938 | 2011-04-14 Nathan Froyd <froydnj@codesourcery.com> |
1939 | ||
1940 | * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon. | |
1941 | ||
81f653d6 NF |
1942 | 2011-04-12 Nathan Froyd <froydnj@codesourcery.com> |
1943 | ||
1944 | * f95-lang.c (union lang_tree_node): Check for TS_COMMON before | |
1945 | calling TREE_CHAIN. | |
1946 | ||
99ee0251 PT |
1947 | 2011-04-12 Paul Thomas <pault@gcc.gnu.org> |
1948 | ||
1949 | PR fortran/48360 | |
1950 | PR fortran/48456 | |
1951 | * trans-array.c (get_std_lbound): For derived type variables | |
1952 | return array valued component lbound. | |
1953 | ||
a358e188 MJ |
1954 | 2011-04-12 Martin Jambor <mjambor@suse.cz> |
1955 | ||
1956 | * trans-decl.c (gfc_generate_function_code): Call | |
1957 | cgraph_get_create_node instead of cgraph_node. | |
1958 | ||
155e5d5f TB |
1959 | 2011-04-11 Tobias Burnus <burnus@net-b.de> |
1960 | ||
1961 | PR fortran/18918 | |
1962 | * simplify.c (simplify_bound_dim): Exit for | |
1963 | ucobound's last dimension unless -fcoarray=single. | |
1964 | * trans-array (gfc_conv_descriptor_size_1): Renamed from | |
1965 | gfc_conv_descriptor_size, made static, has now from_dim and | |
1966 | to_dim arguments. | |
1967 | (gfc_conv_descriptor_size): Call gfc_conv_descriptor_size. | |
1968 | (gfc_conv_descriptor_cosize): New function. | |
1969 | * trans-array.h (gfc_conv_descriptor_cosize): New prototype. | |
1970 | * trans-intrinsic.c (conv_intrinsic_cobound): Add input_location | |
1971 | and handle last codim of ucobound for when -fcoarray is not "single". | |
1972 | ||
51a30b32 TK |
1973 | 2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
1974 | ||
1975 | PR fortran/48448 | |
1976 | * gfortran.h (gfc_option_t): Add warn_function_elimination and | |
1977 | flag_frontend_optimize. | |
1978 | * lang.opt (Wfunction-elimination): Add. | |
1979 | (ffrontend-optimize): Add. | |
1980 | * invoke.texi: Add documentation for -Wfunction-elimination | |
1981 | and -ffrontend-optimize. Add -faggressive-function-elimination | |
1982 | to list of code generation options. | |
1983 | * frontend-passes.c (gfc_run_passes): Run optimizations if | |
1984 | flag_frontend_optimize is set. | |
1985 | (warn_function_elimination): New function. | |
1986 | (cfe_expr_0): Call it if requested to do so. | |
1987 | * options.c (gfc_init_options): Initiate warn_function_elimination | |
1988 | and flag_frontend_optimize. | |
1989 | (gfc_post_options): Set flag_frontend_optimize if not specified | |
1990 | by user, depending on the optimization level. | |
1991 | (gfc_handle_option): Handle -Wfunction-elimination and | |
1992 | -ffrontend-optimize. | |
1993 | ||
7b7c0f2a TB |
1994 | 2011-04-06 Tobias Burnus <burnus@net-b.de> |
1995 | ||
1996 | PR fortran/18918 | |
1997 | * trans-intrinsic.c (gfc_conv_intrinsic_function): Fix | |
1998 | call for this_image. | |
1999 | ||
a4437d18 NF |
2000 | 2011-04-05 Nathan Froyd <froydnj@codesourcery.com> |
2001 | ||
2002 | * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Use | |
2003 | build_function_type_list instead of build_function_type. Correct | |
2004 | argument order for func_frexp and func_scalbn. | |
2005 | ||
db7f455b DS |
2006 | 2011-04-05 Duncan Sands <baldrick@free.fr> |
2007 | ||
2008 | * f95-lang.c (build_builtin_fntypes): Swap frexp parameter types. | |
2009 | ||
15e2b595 | 2010 | 2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org> |
0bcd8186 TK |
2011 | |
2012 | * frontend-passes: (optimize_lexical_comparison): New function. | |
2013 | (optimize_expr): Call it. | |
2014 | (optimize_comparison): Also handle lexical comparison functions. | |
2015 | Return false instad of -2 for unequal comparison. | |
2016 | ||
128e09f9 TK |
2017 | 2011-04-04 Thomas Koenig <tkoenig@gcc.gnu.org> |
2018 | ||
2019 | PR fortran/48412 | |
2020 | * frontend-passes (cfe_expr_0): Reverse the order of going | |
2021 | through the loops. | |
2022 | ||
a3935ffc TB |
2023 | 2011-04-04 Tobias Burnus <burnus@net-b.de> |
2024 | Mikael Morin <mikael.morin@sfr.fr> | |
2025 | ||
2026 | PR fortran/18918 | |
2027 | * check.c (is_coarray): Update - because of DIMEN_THIS_IMAGE. | |
2028 | * expr.c (gfc_is_coindexed): Ditto. | |
2029 | * gfortran.h (gfc_array_ref_dimen_type): Add DIMEN_THIS_IMAGE. | |
2030 | * interface.c (compare_parameter): Use gfc_expr_attr and | |
2031 | gfc_is_coindexed. | |
2032 | * resolve.c (check_dimension, compare_spec_to_ref, | |
2033 | resolve_allocate_expr, check_data_variable): Update for | |
2034 | DIMEN_THIS_IMAGE. | |
2035 | * simplify.c (gfc_simplify_lcobound, gfc_simplify_this_image, | |
2036 | gfc_simplify_ucobound): Allow non-constant bounds. | |
2037 | * trans-array.c (gfc_set_loop_bounds_from_array_spec, | |
2038 | gfc_trans_create_temp_array, gfc_trans_constant_array_constructor, | |
2039 | gfc_set_vector_loop_bounds, gfc_conv_array_index_offset, | |
2040 | gfc_start_scalarized_body, gfc_trans_scalarizing_loops, | |
2041 | gfc_trans_scalarized_loop_boundary, gfc_conv_section_startstride, | |
2042 | gfc_conv_ss_startstride, gfc_conv_loop_setup, | |
2043 | gfc_trans_array_bounds, gfc_conv_expr_descriptor, | |
2044 | gfc_walk_variable_expr): Handle codimen. | |
2045 | * trans-decl.c (gfc_build_qualified_array): Save cobounds. | |
2046 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use arg2. | |
2047 | (conv_intrinsic_cobound): New function. | |
2048 | (gfc_conv_intrinsic_function): Call it. | |
2049 | (gfc_walk_intrinsic_function, gfc_add_intrinsic_ss_code): Handle | |
2050 | ucobound, lcobound, this_image. | |
2051 | * fortran/trans-types.c (gfc_build_array_type): Save cobounds. | |
2052 | (gfc_get_dtype): Honour corank. | |
2053 | (gfc_get_nodesc_array_type): Save corank and codimensions. | |
2054 | (gfc_get_array_type_bounds): Save cobound. | |
2055 | * fortran/trans.h (gfc_ss_info,gfc_loopinfo): Add codimen item. | |
2056 | (gfc_array_kind): Add corank item. | |
2057 | (GFC_TYPE_ARRAY_CORANK): New macro. | |
2058 | ||
3edf1dd5 KT |
2059 | 2011-04-03 Kai Tietz <ktietz@redhat.com> |
2060 | ||
2061 | PR middle-end/48422 | |
2062 | * Make-lang.in (f95-lang.o): Add some missing dependencies. | |
2063 | ||
6e98bce4 TK |
2064 | 2011-04-01 Thomas Koenig <tkoenig@gcc.gnu.org> |
2065 | ||
2066 | PR fortran/48352 | |
2067 | * frontend-passes (cfe_register_funcs): Don't | |
2068 | register functions if they appear as iterators in DO loops. | |
2069 | ||
2070 | 2011-03-30 Michael Matz <matz@suse.de> | |
83799a47 MM |
2071 | |
2072 | PR fortran/47516 | |
2073 | * trans-expr.c (realloc_lhs_loop_for_fcn_call): Take loop as parameter, | |
2074 | don't use local variable. | |
2075 | (gfc_trans_arrayfunc_assign): Adjust caller. | |
2076 | ||
d91909c0 JW |
2077 | 2011-03-29 Janus Weil <janus@gcc.gnu.org> |
2078 | ||
2079 | PR fortran/48095 | |
2080 | * decl.c (match_procedure_decl,match_ppc_decl): Set flavor of interface. | |
2081 | * module.c (MOD_VERSION): Bump. | |
2082 | (mio_typespec): Read/write 'interface' field. | |
2083 | * primary.c (match_string_constant,match_logical_constant): Remove | |
2084 | unneeded code. | |
2085 | (match_complex_constant): Make sure to clear the typespec. | |
2086 | ||
23360fe4 TK |
2087 | 2011-03-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
2088 | ||
2089 | * frontend-passes.c (create_var): Warn about creating an | |
2090 | array temporary if requested. | |
2091 | ||
7e3b6543 TK |
2092 | 2011-03-27 Thomas Koenig <tkoenig@gcc.gnu.org> |
2093 | ||
2094 | PR fortran/47065 | |
23360fe4 | 2095 | * frontend-passes.c (optimize_trim): Also follow references, except |
7e3b6543 TK |
2096 | when they are substring references or array references. |
2097 | ||
60386f50 TB |
2098 | 2011-03-27 Tobias Burnus <burnus@net-b.de> |
2099 | ||
2100 | PR fortran/18918 | |
2101 | * gfortran.h (gfc_isym_id): Rename GFC_ISYM_NUMIMAGES to | |
2102 | GFC_ISYM_NUM_IMAGES. | |
2103 | (gfc_fcoarray): Add GFC_FCOARRAY_LIB. | |
2104 | * intrinsic.c (add_functions): Update due to GFC_ISYM_NUM_IMAGES | |
2105 | rename. | |
2106 | * invoke.texi (-fcoarray=): Document "lib" argument. | |
2107 | * iresolve.c (gfc_resolve_this_image): Fix THIS IMAGE(). | |
2108 | * libgfortran.h (libgfortran_stat_codes): Add comments. | |
2109 | * options.c (gfc_handle_coarray_option): Add -fcoarray=lib. | |
2110 | * simplify.c (gfc_simplify_num_images, gfc_simplify_this_image): | |
2111 | Handle GFC_FCOARRAY_LIB. | |
2112 | * trans.h (gfc_init_coarray_decl): New prototype. | |
2113 | (gfor_fndecl_caf_init, gfor_fndecl_caf_finalize, | |
2114 | gfor_fndecl_caf_critical, gfor_fndecl_caf_end_critical, | |
2115 | gfor_fndecl_caf_sync_all, gfor_fndecl_caf_sync_images, | |
2116 | gfor_fndecl_caf_error_stop, gfor_fndecl_caf_error_stop_str, | |
2117 | gfort_gvar_caf_num_images, gfort_gvar_caf_this_image): | |
2118 | New global variables. | |
2119 | * trans-decl.c: Declare several CAF functions (cf. above). | |
2120 | (gfc_build_builtin_function_decls): Initialize those. | |
2121 | (gfc_init_coarray_decl): New function. | |
2122 | (create_main_function): Call CAF init/finalize functions. | |
2123 | * trans-intrinsic.c (trans_this_image, trans_num_images): New. | |
2124 | (gfc_conv_intrinsic_function): Call those. | |
2125 | * trans-stmt.c (gfc_trans_stop, gfc_trans_sync, gfc_trans_critical): | |
2126 | Add code for GFC_FCOARRAY_LIB. | |
2127 | ||
cb83a137 JW |
2128 | 2011-03-26 Janus Weil <janus@gcc.gnu.org> |
2129 | ||
2130 | PR fortran/48291 | |
2131 | * class.c (get_unique_hashed_string): Adjust maximum allowable length | |
2132 | for unique type string. | |
2133 | ||
ba78087b KT |
2134 | 2011-03-25 Kai Tietz <ktietz@redhat.com> |
2135 | ||
2136 | * scanner.c (preprocessor_line): Use filename_cmp | |
2137 | instead of strcmp. | |
2138 | ||
3ec1c379 TB |
2139 | 2011-03-25 Tobias Burnus <burnus@net-b.de> |
2140 | ||
2141 | PR fortran/48174 | |
2142 | PR fortran/45304 | |
2143 | * trans-types.c (gfc_get_function_type): Don't use varargs if the | |
2144 | procedure is known to have no arguments. | |
2145 | ||
15e2b595 | 2146 | 2011-03-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
2757d5ec TK |
2147 | |
2148 | PR fortran/22572 | |
2149 | * gfortran.h (gfc_option_t) : Add | |
2150 | flag_aggressive_function_elimination. | |
2151 | (gfc_dep_compare_functions): Add prototype. | |
2152 | * lang.opt: Add faggressive-function-elimination. | |
2153 | * invoke.texi: Document -faggressive-function-elimination. | |
2154 | * frontend_passes (expr_array): New static variable. | |
2155 | (expr_size): Likewise. | |
2156 | (expr_count): Likewise. | |
2157 | (current_code): Likewise. | |
2158 | (current_ns): Likewise. | |
2159 | (gfc_run_passes): Allocate and free space for expressions. | |
2160 | (cfe_register_funcs): New function. | |
2161 | (create_var): New function. | |
2162 | (cfc_expr_0): New function. | |
2163 | (cfe_code): New function. | |
2164 | (optimize_namespace): Invoke gfc_code_walker with cfe_code | |
2165 | and cfe_expr_0. | |
2166 | * dependency.c (gfc_dep_compare_functions): New function. | |
2167 | (gfc_dep_compare_expr): Use it. | |
2168 | * options.c (gfc_init_options): Handle | |
2169 | flag_aggressive_function_elimination. | |
2170 | (gfc_handle_option): Likewise. | |
2171 | ||
cc9ce9ff FXC |
2172 | 2011-03-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2173 | ||
2174 | * arith.c (arith_power): Plug memory leak. | |
2175 | ||
2e49964f JW |
2176 | 2011-03-12 Janus Weil <janus@gcc.gnu.org> |
2177 | ||
2178 | PR fortran/48059 | |
2179 | * trans-expr.c (gfc_apply_interface_mapping_to_expr): Replace base type | |
2180 | for polymorphic arguments. | |
2181 | ||
28a0157c FXC |
2182 | 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2183 | ||
2184 | PR fortran/48054 | |
2185 | * intrinsic.texi: Clarify doc of logarithm functions. | |
2186 | ||
8e421af9 FXC |
2187 | 2011-03-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2188 | ||
2189 | PR fortran/47552 | |
2190 | * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Fix type of | |
2191 | the string length variable. | |
2192 | ||
0f2a6198 JW |
2193 | 2011-03-11 Janus Weil <janus@gcc.gnu.org> |
2194 | ||
2195 | PR fortran/47768 | |
2196 | * module.c (ab_attribute,attr_bits): Add AB_PROC_POINTER_COMP. | |
2197 | (mio_symbol_attribute): Handle attribute 'proc_pointer_comp'. | |
2198 | ||
8e1e41e7 PT |
2199 | 2011-03-06 Paul Thomas <pault@gcc.gnu.org> |
2200 | Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
2201 | ||
2202 | PR fortran/47850 | |
2203 | * expr.c (gfc_is_constant_expr): Only use gfc_constant_ac if | |
2204 | the expression has an iterator. Otherwise, iterate through the | |
2205 | array, checking for constant expressions for each element. | |
2206 | ||
d9d114ec JB |
2207 | 2011-03-04 Janne Blomqvist <jb@gcc.gnu.org> |
2208 | ||
2209 | PR libfortran/47802 | |
2210 | * intrinsic.texi: Update CTIME and FDATE documentation. | |
2211 | ||
4d04d67a RW |
2212 | 2011-03-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2213 | ||
2214 | * invoke.texi (Option Summary, Fortran Dialect Options) | |
2215 | (Preprocessing Options, Runtime Options, Code Gen Options): | |
2216 | Fix vertical list spacing by using @itemx for additinoal | |
2217 | items, empty line before @table. Fix typos. | |
2218 | ||
96fa6d31 FXC |
2219 | 2011-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2220 | ||
2221 | PR fortran/47894 | |
2222 | * intrinsic.texi: Fix doc of the VERIFY intrinsic. | |
2223 | ||
2573aab9 TB |
2224 | 2011-02-26 Tobias Burnus <burnus@net-b.de> |
2225 | ||
2226 | PR fortran/47846 | |
2227 | * trans-stmt.c (gfc_trans_allocate): Fix allocation with | |
2228 | type-spec of deferred-length strings. | |
2229 | ||
adb3f093 TB |
2230 | 2011-02-26 Tobias Burnus <burnus@net-b.de> |
2231 | ||
2232 | PR fortran/47886 | |
2233 | * openmp.c (gfc_resolve_omp_directive): Resolve if() | |
2234 | condition of OpenMP's task. | |
2235 | ||
1eabb08e FXC |
2236 | 2011-02-26 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2237 | ||
2238 | PR fortran/47894 | |
2239 | * intrinsic.texi: Fix doc of the VERIFY intrinsic. | |
2240 | ||
0d44b8be TB |
2241 | 2011-02-24 Tobias Burnus <burnus@net-b.de> |
2242 | ||
2243 | PR fortran/47872 | |
2244 | * intrinsic.texi (ALLOCATED, ATAN, BESSEL_JN, BESSEL_YN): Add | |
2245 | multitable for linebreak between different syntax variants. | |
2246 | ||
5b1cce91 RG |
2247 | 2011-02-24 Richard Guenther <rguenther@suse.de> |
2248 | ||
2249 | PR fortran/47839 | |
2250 | * f95-lang.c (pushdecl): For externs in non-global scope push | |
2251 | a copy of the decl into the BLOCK. | |
2252 | ||
46b2c440 MM |
2253 | 2011-02-23 Mikael Morin <mikael@gcc.gnu.org> |
2254 | ||
2255 | PR fortran/40850 | |
2256 | * trans.c (gfc_prepend_expr_to_block): New function. | |
2257 | * trans.h (gfc_prepend_expr_to_block): Declare. | |
2258 | * trans-array.c (gfc_conv_array_parameter): Replace | |
2259 | gfc_add_expr_to_block with gfc_prepend_expr_to_block. | |
2260 | ||
0b3b617e PT |
2261 | 2011-02-22 Paul Thomas <pault@gcc.gnu.org> |
2262 | ||
2263 | PR fortran/45743 | |
2264 | * trans-decl.c (gfc_get_extern_function_decl): Don't use the | |
2265 | gsymbol backend_decl if the procedure has a formal argument | |
2266 | that is a procedure. | |
2267 | ||
e84589e1 TB |
2268 | 2011-02-22 Tobias Burnus <burnus@net-b.de> |
2269 | ||
2270 | PR fortran/41359 | |
2271 | * trans-stmt.c (gfc_trans_if_1): Use correct line for | |
2272 | expressions in the if condition. | |
2273 | ||
ceccaacf TB |
2274 | 2011-02-20 Tobias Burnus <burnus@net-b.de> |
2275 | ||
2276 | PR fortran/47797 | |
2277 | * trans-decl.c (gfc_trans_deferred_vars): Use gfc_set_backend_locus and | |
2278 | gfc_restore_backend_locus to have better debug locations. | |
2279 | * trans-array.c (gfc_trans_deferred_array): Ditto. | |
2280 | ||
0101807c PT |
2281 | 2011-02-20 Paul Thomas <pault@gcc.gnu.org> |
2282 | ||
2283 | PR fortran/45077 | |
2284 | PR fortran/44945 | |
2285 | * trans-types.c (gfc_get_derived_type): Remove code that looks | |
2286 | for decls in gsym and add call to gfc_get_module_backend_decl. | |
2287 | * trans.h : Add prototype for gfc_get_module_backend_decl. | |
2288 | * trans-decl.c (gfc_get_module_backend_decl): New function. | |
2289 | (gfc_get_symbol_decl): Call it. | |
2290 | ||
6c1b5781 PT |
2291 | 2011-02-19 Paul Thomas <pault@gcc.gnu.org> |
2292 | ||
2293 | PR fortran/47348 | |
2294 | * trans-array.c (get_array_ctor_all_strlen): Move up in file. | |
2295 | (get_array_ctor_var_strlen): Add block dummy and add call to | |
2296 | get_array_ctor_all_strlen instead of giving up on substrings. | |
2297 | Call gcc_unreachable for default case. | |
2298 | (get_array_ctor_strlen): Add extra argument to in call to | |
2299 | get_array_ctor_var_strlen. | |
2300 | ||
34c10b3b JW |
2301 | 2011-02-18 Janus Weil <janus@gcc.gnu.org> |
2302 | ||
2303 | PR fortran/47789 | |
2304 | * primary.c (gfc_match_structure_constructor): Handle empty parent | |
2305 | types. | |
2306 | ||
56ee2f5a TB |
2307 | 2011-02-18 Tobias Burnus |
2308 | ||
2309 | PR fortran/47775 | |
2310 | * trans-expr.c (arrayfunc_assign_needs_temporary): Use | |
2311 | esym to check whether the specific procedure returns an | |
2312 | allocatable or pointer. | |
2313 | ||
b3c1b8a1 MM |
2314 | 2011-02-18 Michael Matz <matz@suse.de> |
2315 | ||
2316 | PR fortran/45586 | |
2317 | * gfortran.h (struct gfc_component): Add norestrict_decl member. | |
2318 | * trans.h (struct lang_type): Add nonrestricted_type member. | |
2319 | * trans-expr.c (gfc_conv_component_ref): Search fields with correct | |
2320 | parent type. | |
2321 | * trans-types.c (mirror_fields, gfc_nonrestricted_type): New. | |
2322 | (gfc_sym_type): Use it. | |
2323 | ||
357f98e5 JW |
2324 | 2011-02-18 Janus Weil <janus@gcc.gnu.org> |
2325 | ||
2326 | PR fortran/47768 | |
2327 | * resolve.c (resolve_transfer): Reject variables with procedure pointer | |
2328 | components. | |
2329 | ||
6e2062b0 JW |
2330 | 2011-02-18 Janus Weil <janus@gcc.gnu.org> |
2331 | ||
2332 | PR fortran/47767 | |
2333 | * gfortran.h (gfc_check_access): Removed prototype. | |
2334 | (gfc_check_symbol_access): Added prototype. | |
2335 | * module.c (gfc_check_access): Renamed to 'check_access', made static. | |
2336 | (gfc_check_symbol_access): New function, basically a shortcut for | |
2337 | 'check_access'. | |
2338 | (write_dt_extensions,write_symbol0,write_generic,write_symtree): Use | |
2339 | 'gfc_check_symbol_access'. | |
2340 | (write_operator,write_module): Renamed 'gfc_check_access'. | |
2341 | * resolve.c (resolve_fl_procedure,resolve_fl_derived, | |
2342 | resolve_fl_namelist,resolve_symbol,resolve_fntype): Use | |
2343 | 'gfc_check_symbol_access'. | |
2344 | ||
528622fd JW |
2345 | 2011-02-16 Janus Weil <janus@gcc.gnu.org> |
2346 | ||
2347 | PR fortran/47745 | |
2348 | * class.c (gfc_build_class_symbol): Set 'class_ok' attribute. | |
2349 | * decl.c (build_sym,attr_decl1): Move setting of 'class_ok' into | |
2350 | 'gfc_build_class_symbol'. | |
2351 | (gfc_match_decl_type_spec): Reject unlimited polymorphism. | |
2352 | * interface.c (matching_typebound_op): Check for 'class_ok' attribute. | |
2353 | * match.c (select_type_set_tmp): Move setting of 'class_ok' into | |
2354 | 'gfc_build_class_symbol'. | |
2355 | * primary.c (gfc_variable_attr): Check for 'class_ok' attribute. | |
2356 | ||
ed17fc41 SK |
2357 | 2011-02-15 Steven G. Kargl <kargl@gcc.gnu.org> |
2358 | ||
2359 | PR fortran/47633 | |
2360 | . simplify.c (gfc_simplify_compiler_version): Fix off-by-one issue. | |
2361 | ||
01efe923 JW |
2362 | 2011-02-14 Janus Weil <janus@gcc.gnu.org> |
2363 | ||
2364 | PR fortran/47730 | |
2365 | * parse.c (gfc_build_block_ns): Commit 'block@' symbol. | |
2366 | ||
ce2ab24c JW |
2367 | 2011-02-14 Janus Weil <janus@gcc.gnu.org> |
2368 | ||
2369 | PR fortran/47728 | |
2370 | * class.c (gfc_build_class_symbol): Give a fatal error on polymorphic | |
2371 | arrays. | |
2372 | * primary.c (gfc_match_varspec): Avoid ICE for invalid class | |
2373 | declaration. | |
2374 | ||
93302a24 JW |
2375 | 2011-02-14 Janus Weil <janus@gcc.gnu.org> |
2376 | ||
2377 | PR fortran/47349 | |
2378 | * interface.c (get_expr_storage_size): Handle derived-type components. | |
2379 | ||
975b975b TB |
2380 | 2011-02-13 Tobias Burnus <burnus@net-b.de> |
2381 | ||
2382 | PR fortran/47569 | |
2383 | * interface.c (compare_parameter): Avoid ICE with | |
2384 | character components. | |
2385 | ||
96d9b22c JW |
2386 | 2011-02-12 Janus Weil <janus@gcc.gnu.org> |
2387 | ||
2388 | * class.c (gfc_build_class_symbol): Reject polymorphic arrays. | |
2389 | * decl.c (build_sym,build_struct,attr_decl1): Use return value of | |
2390 | 'gfc_build_class_symbol'. | |
2391 | ||
0143a784 MM |
2392 | 2011-02-12 Michael Matz <matz@suse.de> |
2393 | Janus Weil <janus@gcc.gnu.org> | |
2394 | Tobias Burnus <burnus@net-b.de> | |
2395 | ||
2396 | PR fortran/45586 | |
2397 | * trans-expr.c (conv_parent_component_references): Avoid unintendent | |
2398 | skipping of parent compounds. | |
2399 | ||
a26e8df4 TB |
2400 | 2011-02-11 Tobias Burnus <burnus@net-b.de> |
2401 | ||
2402 | PR fortran/47550 | |
2403 | * resolve.c (resolve_formal_arglist): PURE with VALUE | |
2404 | and no INTENT: Add -std= diagnostics. | |
2405 | ||
c79bb355 JW |
2406 | 2011-02-09 Janus Weil <janus@gcc.gnu.org> |
2407 | ||
2408 | PR fortran/47352 | |
2409 | * resolve.c (resolve_procedure_interface): If interface has a result | |
2410 | variable, copy the typespec and set result pointer to self. | |
2411 | ||
15167bba JW |
2412 | 2011-02-09 Janus Weil <janus@gcc.gnu.org> |
2413 | ||
2414 | PR fortran/47463 | |
2415 | * resolve.c (resolve_typebound_subroutine): Remove erroneous line. | |
2416 | ||
c7f17815 JW |
2417 | 2011-02-09 Janus Weil <janus@gcc.gnu.org> |
2418 | ||
2419 | PR fortran/47637 | |
2420 | * trans-decl.c (init_intent_out_dt): Handle CLASS arguments. | |
2421 | ||
70b9ed88 JD |
2422 | 2011-02-08 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2423 | ||
2424 | * io.c (match_io_element): Do not set dt if not inquire. | |
2425 | ||
7522a064 JW |
2426 | 2011-02-08 Janus Weil <janus@gcc.gnu.org> |
2427 | ||
2428 | PR fortran/45290 | |
2429 | * expr.c (gfc_check_assign_symbol): Reject pointers as pointer | |
2430 | initialization target. | |
2431 | ||
f3f2c465 JB |
2432 | 2011-02-07 Janne Blomqvist <jb@gcc.gnu.org> |
2433 | Ralf Wildenhues <Ralf.Wildenhues@gmx.de> | |
2434 | ||
2435 | * gfortran.texi (Thread-safety): texinfo styling fixes. | |
2436 | * intrinsic.texi: Likewise. | |
2437 | ||
85883d65 JB |
2438 | 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org> |
2439 | ||
2440 | * gfortran.texi (Compiler Characteristics): Add reference to | |
2441 | thread-safety section. | |
2442 | ||
6985b4a1 JB |
2443 | 2011-02-06 Janne Blomqvist <jb@gcc.gnu.org> |
2444 | ||
2445 | * gfortran.texi (Thread-safety): New section. | |
2446 | * intrinsic.texi (EXECUTE_COMMAND_LINE): Mention thread-safety. | |
2447 | (GETENV): Likewise. | |
2448 | (GET_ENVIRONMENT_VARIABLE): Likewise. | |
2449 | (SYSTEM): Likewise. | |
2450 | ||
90cf3ecc PT |
2451 | 2011-02-06 Paul Thomas <pault@gcc.gnu.org> |
2452 | ||
2453 | PR fortran/47592 | |
2454 | * trans-stmt.c (gfc_trans_allocate): For deferred character | |
2455 | length allocations with SOURCE, store to the values and string | |
2456 | length to avoid calculating twice. Replace gfc_start_block | |
2457 | with gfc_init_block to avoid unnecessary contexts and to keep | |
2458 | declarations of temporaries where they should be. Tidy up the | |
2459 | code a bit. | |
2460 | ||
4a9b1f8e JB |
2461 | 2011-02-05 Janne Blomqvist <jb@gcc.gnu.org> |
2462 | ||
2463 | PR fortran/42434 | |
2464 | * intrinsic.texi (SYSTEM_CLOCK): Update documentation. | |
2465 | ||
8e2bc95b JW |
2466 | 2011-02-02 Janus Weil <janus@gcc.gnu.org> |
2467 | Paul Thomas <pault@gcc.gnu.org> | |
2468 | ||
2469 | PR fortran/47082 | |
2470 | * trans-expr.c (gfc_trans_class_init_assign): Add call to | |
2471 | gfc_get_derived_type. | |
2472 | * module.c (read_cleanup): Do not use unique_symtrees for vtabs | |
2473 | or vtypes. | |
2474 | ||
da285ce8 JW |
2475 | 2011-02-02 Janus Weil <janus@gcc.gnu.org> |
2476 | ||
2477 | PR fortran/47572 | |
2478 | * resolve.c (resolve_fl_variable): Handle polymorphic allocatables. | |
2479 | ||
0f0a4367 JW |
2480 | 2011-02-01 Janus Weil <janus@gcc.gnu.org> |
2481 | ||
2482 | PR fortran/47565 | |
2483 | * trans-expr.c (gfc_conv_structure): Handle constructors for procedure | |
2484 | pointer components with allocatable result. | |
2485 | ||
463ec822 JW |
2486 | 2011-01-31 Janus Weil <janus@gcc.gnu.org> |
2487 | ||
2488 | PR fortran/47455 | |
2489 | * trans-expr.c (gfc_conv_procedure_call): Handle procedure pointers | |
2490 | with pointer or allocatable result. | |
2491 | ||
fabb6f8e PT |
2492 | 2011-01-31 Paul Thomas <pault@gcc.gnu.org> |
2493 | ||
2494 | PR fortran/47519 | |
2495 | * trans-stmt.c (gfc_trans_allocate): Improve handling of | |
2496 | deferred character lengths with SOURCE. | |
2497 | * iresolve.c (gfc_resolve_repeat): Calculate character | |
2498 | length from source length and ncopies. | |
2499 | * dump-parse-tree.c (show_code_node): Show MOLD and SOURCE | |
2500 | expressions for ALLOCATE. | |
2501 | ||
b6c77bcb JW |
2502 | 2011-01-31 Janus Weil <janus@gcc.gnu.org> |
2503 | ||
2504 | PR fortran/47463 | |
2505 | * resolve.c (resolve_typebound_subroutine): Bug fix for the case of | |
2506 | an argument of a typebound assignment being a component. | |
2507 | ||
c6092243 RO |
2508 | 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
2509 | ||
2510 | * gfortranspec.c (add_arg_libgfortran) [HAVE_LD_STATIC_DYNAMIC] Use | |
2511 | LD_STATIC_OPTION, LD_DYNAMIC_OPTION. | |
2512 | ||
1ca99f75 TB |
2513 | 2011-01-31 Tobias Burnus <burnus@net-b.de> |
2514 | ||
2515 | PR fortran/47042 | |
2516 | * resolve.c (resolve_fl_procedure): Reject stmt functions | |
2517 | with pointer/allocatable attribute. | |
2518 | ||
86d7449c TB |
2519 | 2011-01-31 Tobias Burnus <burnus@net-b.de> |
2520 | ||
2521 | PR fortran/47042 | |
2522 | * interface.c (gfc_procedure_use): Add explicit interface check for | |
2523 | pointer/allocatable functions. | |
2524 | ||
dafdf269 PT |
2525 | 2011-01-30 Paul Thomas <pault@gcc.gnu.org> |
2526 | ||
2527 | PR fortran/47523 | |
2528 | * trans-expr.c (gfc_trans_assignment_1): If the rhs is an op | |
2529 | expr and is assigned to a deferred character length scalar, | |
2530 | make sure that the function is called before reallocation, | |
2531 | so that the length is available. Include procedure pointer | |
2532 | and procedure pointer component rhs as well. | |
2533 | ||
2534 | PR fortran/45170 | |
2535 | PR fortran/35810 | |
2536 | PR fortran/47350 | |
2537 | * gfortran.dg/allocatable_function_5.f90: New test not added by | |
2538 | mistake on 2011-01-28. | |
2539 | ||
7320cf09 TB |
2540 | 2011-01-29 Tobias Burnus <burnus@net-b.de> |
2541 | ||
2542 | PR fortran/47531 | |
2543 | * check.c (gfc_check_shape): Support kind argument in SHAPE. | |
2544 | * intrinsic.c (add_functions): Ditto. | |
2545 | * resolve.c (gfc_resolve_shape): Ditto. | |
2546 | * simplify.c (gfc_simplify_shape): Ditto. | |
2547 | * intrinsic.h (gfc_check_shape, gfc_resolve_shape, | |
2548 | gfc_simplify_shape): Update prototypes. | |
2549 | * intrinisc.text (SHAPE): Document kind argument. | |
2550 | ||
36ea267b TB |
2551 | 2011-01-28 Tobias Burnus <burnus@net-b.de> |
2552 | ||
2553 | PR fortran/47507 | |
2554 | * resolve.c (resolve_formal_arglist): Allow arguments with VALUE | |
2555 | attribute also without INTENT. | |
2556 | ||
5582f599 TB |
2557 | 2011-01-28 Tobias Burnus <burnus@net-b.de> |
2558 | ||
2559 | * gfortran.texi (Fortran 2003 status): Mention support for | |
2560 | nonconstant namelist variables. | |
2561 | ||
8d51f26f PT |
2562 | 2011-01-28 Paul Thomas <pault@gcc.gnu.org> |
2563 | Tobias Burnus <burnus@gcc.gnu.org> | |
2564 | ||
2565 | PR fortran/45170 | |
2566 | PR fortran/35810 | |
2567 | PR fortran/47350 | |
2568 | * interface.c (compare_actual_formal): An allocatable or pointer | |
2569 | deferred length actual is only allowed if the formal argument | |
2570 | is also deferred length. Clean up whitespace. | |
2571 | * trans-expr.c (gfc_conv_procedure_call): Pass string length for | |
2572 | deferred character length formal arguments by reference. Do the | |
2573 | same for function results. | |
2574 | (gfc_trans_pointer_assignment): Do not do runtime check of lhs | |
2575 | and rhs character lengths, if deferred length lhs. In this case | |
2576 | set the lhs character length to that of the rhs. | |
2577 | (gfc_conv_string_parameter): Remove assert that string length is | |
2578 | an integer type. | |
2579 | (is_scalar_reallocatable_lhs): New function. | |
2580 | (alloc_scalar_allocatable_for_assignment): New function. | |
2581 | (gfc_trans_assignment_1): Call above new function. If the rhs is | |
2582 | a deferred character length itself, makes ure that the function | |
2583 | is called before reallocation, so that the length is available. | |
2584 | (gfc_trans_asssignment): Remove error about assignment to | |
2585 | deferred length character variables. | |
2586 | * gfortran.texi : Update entry about (re)allocation on | |
2587 | assignment. | |
2588 | * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred | |
2589 | length character variables. | |
2590 | * module.c (mio_typespec): Transfer deferred characteristic. | |
2591 | * trans-types.c (gfc_get_function_type): New code to generate | |
2592 | hidden typelist, so that those character lengths that are | |
2593 | passed by reference get the right type. | |
2594 | * resolve.c (resolve_contained_fntype): Supress error for | |
2595 | deferred character length functions. | |
2596 | (resolve_function, resolve_fl_procedure) The same. | |
2597 | (check_symbols): Remove the error that support for | |
2598 | entity with deferred type parameter is not yet implemented. | |
2599 | (resolve_fl_derived): The same. | |
2600 | match.c (alloc_opt_list): Allow MOLD for deferred length object. | |
2601 | * trans-decl.c (gfc_get_symbol_decl): For deferred character | |
2602 | length dummies, generate a local variable for string length. | |
2603 | (create_function_arglist): Hidden length can be a pointer. | |
2604 | (gfc_trans_deferred_vars): For deferred character length | |
2605 | results and dummies, assign the string length to the local | |
2606 | variable from the hidden argument on entry and the other way | |
2607 | round on exit, as appropriate. | |
2608 | ||
f18694de TB |
2609 | 2011-01-27 Tobias Burnus <burnus@net-b.de> |
2610 | ||
2611 | PR fortran/47474 | |
2612 | * trans-decl.c (gfc_generate_function_code): Fix init | |
2613 | of allocatable result variable with allocatable components. | |
2614 | ||
22b00a9f TB |
2615 | 2011-01-27 Tobias Burnus <burnus@net-b.de> |
2616 | ||
2617 | PR fortran/47472 | |
2618 | * options.c (gfc_handle_module_path_options): Save | |
2619 | module path without trailing slash as include path. | |
2620 | ||
315d905f TB |
2621 | 2011-01-25 Tobias Burnus <burnus@net-b.de> |
2622 | ||
2623 | PR fortran/47448 | |
2624 | * interface.c (gfc_check_operator_interface): Fix | |
2625 | defined-assignment check. | |
2626 | ||
25cbe58f TB |
2627 | 2011-01-23 Tobias Burnus <burnus@net-b.de> |
2628 | ||
2629 | PR fortran/47421 | |
2630 | * trans-decl.c (gfc_trans_deferred_vars): Do not nullify | |
2631 | scalar allocatable dummy arguments. | |
2632 | ||
8a9adf2c TK |
2633 | 2011-01-22 Thomas Koenig <tkoenig@gcc.gnu.org> |
2634 | ||
2635 | PR fortran/38536 | |
2636 | * resolve.c (gfc_iso_c_func_interface): For C_LOC, | |
2637 | check for array sections followed by component references | |
2638 | which are illegal. Also check for coindexed arguments. | |
2639 | ||
4618de23 TB |
2640 | 2011-01-22 Tobias Burnus <burnus@net-b.de> |
2641 | ||
2642 | PR fortran/47399 | |
2643 | * primary.c (gfc_match_varspec): Relax gcc_assert to allow for | |
2644 | PARAMETER TBP. | |
2645 | ||
abba1823 TB |
2646 | 2011-01-21 Tobias Burnus <burnus@net-b.de> |
2647 | ||
2648 | PR fortran/47394 | |
2649 | * error.c (gfc_error_now, gfc_fatal_error, gfc_error_check): | |
2650 | Use defined instead of magic number exit status codes. | |
2651 | * scanner.c (include_line, gfc_new_file): Ditto. | |
2652 | ||
7f1f7ffb TB |
2653 | 2011-01-21 Tobias Burnus <burnus@net-b.de> |
2654 | ||
2655 | PR fortran/47377 | |
2656 | * expr.c (gfc_check_pointer_assign): Reject expr data-targets | |
2657 | without pointer attribute. | |
2658 | ||
2d300fac JW |
2659 | 2011-01-18 Janus Weil <janus@gcc.gnu.org> |
2660 | ||
2661 | PR fortran/47240 | |
2662 | * resolve.c (expression_rank): Fix rank of procedure poiner components. | |
2663 | * trans-expr.c (gfc_conv_procedure_call): Take care of procedure | |
2664 | pointer components as actual arguments. | |
2665 | ||
c7d3bb76 JJ |
2666 | 2011-01-17 Jakub Jelinek <jakub@redhat.com> |
2667 | ||
2668 | PR fortran/47331 | |
2669 | * gfortran.h (struct gfc_omp_saved_state): New type. | |
2670 | (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New prototypes. | |
2671 | * resolve.c (resolve_global_procedure): Call it around gfc_resolve | |
2672 | call. | |
2673 | * openmp.c (gfc_omp_save_and_clear_state, gfc_omp_restore_state): New | |
2674 | functions. | |
2675 | ||
4f7d9db8 TB |
2676 | 2011-01-17 Tobias Burnus <burnus@net-b.de> |
2677 | ||
2678 | PR fortran/47327 | |
2679 | * invoke.texi (Options to request or suppress errors | |
2680 | and warnings): Fix cross link. | |
2681 | ||
fc1e05d2 TB |
2682 | 2011-01-15 Tobias Burnus <burnus@net-b.de> |
2683 | ||
2684 | * gfortran.texi: Update Fortran 2003 Status section. | |
2685 | ||
2686 | PR fortran/47177 | |
2687 | * invoke.texi: Add missing "-E" to the -dM example. | |
2688 | ||
4975dfd9 TB |
2689 | 2011-01-13 Tobias Burnus <burnus@net-b.de> |
2690 | ||
2691 | PR fortran/47268 | |
2692 | * intrinsic.texi (get_command_argument, get_environment_variable): | |
2693 | Mark arguments as optional in the Arguments section. | |
2694 | ||
384f586a KT |
2695 | 2011-01-13 Kai Tietz <kai.tietz@onevision.com> |
2696 | Tobias Burnus <burnus@net-b.de> | |
2697 | ||
2698 | PR fortran/47260 | |
2699 | * trans-decl.c (gfc_get_extern_function_decl, | |
2700 | build_function_decl): Set TREE_PUBLIC/TREE_EXTERNAL before | |
2701 | calling decl_attributes. | |
2702 | ||
29a63d67 TB |
2703 | 2011-01-13 Tobias Burnus <burnus@net-b.de> |
2704 | Mikael Morin <mikael@gcc.gnu.org> | |
2705 | ||
2706 | PR fortran/45848 | |
2707 | PR fortran/47204 | |
2708 | * gfortran.h (gfc_code): Move union ext's case_list into | |
2709 | the struct block. | |
2710 | * dump-parse-tree.c (show_code_node): Adapt by prefixing case_list | |
2711 | by "block.". | |
2712 | * frontend-passes.c (gfc_code_walker): Ditto. | |
2713 | * match.c (gfc_match_goto, gfc_match_call, gfc_match_case, | |
2714 | gfc_match_type_is, gfc_match_class_is): Ditto. | |
2715 | * resolve.c (resolve_select, resolve_select_type): Ditto. | |
2716 | * st.c (gfc_free_statement): Ditto. | |
2717 | * trans-stmt.c (gfc_trans_integer_select, gfc_trans_logical_select, | |
2718 | gfc_trans_character_select): Ditto. | |
2719 | * parse.c (resolve_all_program_units): For error recovery, avoid | |
2720 | segfault is proc_name is NULL. | |
2721 | ||
93c3bf47 PT |
2722 | 2011-01-11 Paul Thomas <pault@gcc.gnu.org> |
2723 | ||
2724 | PR fortran/47051 | |
2725 | * trans-array.c (gfc_alloc_allocatable_for_assignment): Change | |
2726 | to be standard compliant by testing for shape rather than size | |
2727 | before skipping reallocation. Improve comments. | |
2728 | ||
8977b4bb JW |
2729 | 2011-01-09 Janus Weil <janus@gcc.gnu.org> |
2730 | ||
2731 | PR fortran/47224 | |
2732 | * resolve.c (resolve_actual_arglist): Remove unneeded and buggy piece | |
2733 | of code. | |
2734 | ||
32df61ae TK |
2735 | 2011-01-09 Thomas Koenig <tkoenig@gcc.gnu.org> |
2736 | ||
2737 | PR fortran/38536 | |
2738 | * resolve.c (is_scalar_expr_ptr): For a substring reference, | |
2739 | use gfc_dep_compare_expr to compare start and end expession. | |
2740 | Add FIXME for using gfc_deb_compare_expr elsewhere. | |
2741 | ||
b52956be JW |
2742 | 2011-01-09 Janus Weil <janus@gcc.gnu.org> |
2743 | ||
2744 | PR fortran/46313 | |
2745 | * class.c (get_unique_type_string): Make type name start with upper | |
2746 | case letter. | |
2747 | ||
f90b55a6 TK |
2748 | 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
2749 | ||
2750 | PR fortran/46405 | |
2751 | * invoke.texi: Mention -ffree-line-length-none and | |
2752 | -ffixed-line-length-none for preprocessing. | |
2753 | ||
f1f39033 PT |
2754 | 2011-01-08 Paul Thomas <pault@gcc.gnu.org> |
2755 | ||
2756 | PR fortran/46896 | |
2757 | * trans-expr.c (gfc_conv_procedure_call): With a non-copying | |
2758 | procedure argument (eg TRANSPOSE) use a temporary if there is | |
2759 | any chance of aliasing due to host or use association. | |
2760 | (arrayfunc_assign_needs_temporary): Correct logic for function | |
2761 | results and do not use a temporary for implicitly PURE | |
2762 | variables. Use a temporary for Cray pointees. | |
2763 | * symbol.c (gfc_add_save): Explicit SAVE not compatible with | |
2764 | implicit pureness of containing procedure. | |
2765 | * decl.c (match_old_style_init, gfc_match_data): Where decl | |
2766 | would fail in PURE procedure, set implicit_pure to zero. | |
2767 | * gfortran.h : Add implicit_pure to structure symbol_attr and | |
2768 | add prototype for function gfc_implicit_pure. | |
2769 | * expr.c (gfc_check_pointer_assign, gfc_check_vardef_context): | |
2770 | Where decl would fail in PURE procedure, reset implicit_pure. | |
2771 | * io.c (match_vtag, gfc_match_open, gfc_match_close, | |
2772 | gfc_match_print, gfc_match_inquire, gfc_match_wait): The same. | |
2773 | * match.c (gfc_match_critical, gfc_match_stopcode, | |
2774 | sync_statement, gfc_match_allocate, gfc_match_deallocate): The | |
2775 | same. | |
2776 | * parse.c (decode_omp_directive): The same. | |
2777 | (parse_contained): If not PURE, set implicit pure attribute. | |
2778 | * resolve.c (resolve_formal_arglist, resolve_structure_cons, | |
2779 | resolve_function, resolve_ordinary_assign) : The same. | |
2780 | (gfc_implicit_pure): New function. | |
2781 | * module.c (mio_symbol_attribute): Introduce AB_IMPLICIT_PURE | |
2782 | to ab_attribute enum and use it in this function. | |
2783 | ||
ecb3baaa TK |
2784 | 2011-01-08 Thomas Koenig <tkoenig@gcc.gnu.org> |
2785 | ||
2786 | PR fortran/45777 | |
2787 | * symbol.c (gfc_symbols_could_alias): Strip gfc_ prefix, | |
2788 | make static and move in front of its only caller, to ... | |
2789 | * trans-array.c (symbols_could_alias): ... here. | |
2790 | Pass information about pointer and target status as | |
2791 | arguments. Allocatable arrays don't alias anything | |
2792 | unless they have the POINTER attribute. | |
2793 | (gfc_could_be_alias): Keep track of pointer and target | |
2794 | status when following references. Also check if typespecs | |
2795 | of components match those of other components or symbols. | |
2796 | ||
eaf31d82 TB |
2797 | 2011-01-07 Tobias Burnus <burnus@net-b.de> |
2798 | ||
2799 | PR fortran/41580 | |
2800 | * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab. | |
2801 | * intrinsic.c (add_functions): Use simplify functions for | |
2802 | EXTENDS_TYPE_OF and SAME_TYPE_AS. | |
2803 | * intrinsic.h (gfc_simplify_extends_type_of, | |
2804 | gfc_simplify_same_type_as): New prototypes. | |
2805 | * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of, | |
2806 | gfc_simplify_same_type_as): New functions. | |
2807 | ||
0d87fa8c JW |
2808 | 2011-01-07 Janus Weil <janus@gcc.gnu.org> |
2809 | ||
2810 | PR fortran/47189 | |
2811 | PR fortran/47194 | |
2812 | * gfortran.h (gfc_lval_expr_from_sym): Moved prototype. | |
2813 | * class.c (gfc_class_null_initializer): Initialize _vptr to declared | |
2814 | type. | |
2815 | * expr.c (gfc_lval_expr_from_sym): Moved here from symbol.c. | |
2816 | * resolve.c (resolve_deallocate_expr): _data component will be added | |
2817 | at translation stage. | |
2818 | * symbol.c (gfc_lval_expr_from_sym): Moved to expr.c. | |
2819 | * trans-stmt.c (gfc_trans_deallocate): Reset _vptr to declared type. | |
2820 | ||
284d58f1 DF |
2821 | 2011-01-06 Daniel Franke <franke.daniel@gmail.com> |
2822 | ||
2823 | PR fortran/33117 | |
2824 | PR fortran/46478 | |
2825 | * parse.c (parse_interface): Remove check for procedure types. | |
2826 | * interface.c (check_interface0): Verify that procedures are | |
2827 | either all SUBROUTINEs or all FUNCTIONs. | |
2828 | ||
a29f38ce JW |
2829 | 2011-01-05 Janus Weil <janus@gcc.gnu.org> |
2830 | ||
2831 | PR fortran/47180 | |
2832 | * trans-expr.c (gfc_trans_class_assign): Bugfix for r168524 (make sure | |
2833 | 'vtab' is initialized). | |
2834 | ||
01738cee JW |
2835 | 2011-01-05 Janus Weil <janus@gcc.gnu.org> |
2836 | ||
2837 | PR fortran/47180 | |
2838 | * trans-expr.c (gfc_trans_class_assign): For a polymorphic NULL pointer | |
2839 | assignment, set the _vptr component to the declared type. | |
2840 | ||
75fee9f2 TK |
2841 | 2011-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
2842 | ||
2843 | PR fortran/46017 | |
2844 | * resolve.c (resolve_allocate_deallocate): Follow references to | |
2845 | check for duplicate occurence of allocation/deallocation objects. | |
2846 | ||
8c077737 JW |
2847 | 2011-01-05 Janus Weil <janus@gcc.gnu.org> |
2848 | ||
2849 | PR fortran/47024 | |
2850 | * trans-decl.c (gfc_trans_deferred_vars): Initialize the _vpr component | |
2851 | of polymorphic allocatables according to their declared type. | |
2852 | ||
844ba455 JW |
2853 | 2011-01-04 Janus Weil <janus@gcc.gnu.org> |
2854 | ||
2855 | PR fortran/46448 | |
2856 | * class.c (gfc_find_derived_vtab): Set the module field for the copying | |
2857 | routine to make sure it receives module name mangling. | |
2858 | ||
9f8e43c0 JJ |
2859 | 2011-01-03 Jakub Jelinek <jakub@redhat.com> |
2860 | ||
2861 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
2862 | dates. | |
2863 | ||
d9ace2ef JW |
2864 | 2011-01-03 Janus Weil <janus@gcc.gnu.org> |
2865 | ||
2866 | * intrinsic.texi (LEADZ): Fix example. | |
2867 | ||
2e85ae0d JW |
2868 | 2011-01-02 Janus Weil <janus@gcc.gnu.org> |
2869 | ||
2870 | PR fortran/46408 | |
2871 | * class.c (gfc_find_derived_vtab): Use EXEC_INIT_ASSIGN for __copy_ | |
2872 | routine. | |
2873 | ||
ad41bd84 | 2874 | \f |
797103eb | 2875 | Copyright (C) 2011 Free Software Foundation, Inc. |
ad41bd84 JM |
2876 | |
2877 | Copying and distribution of this file, with or without modification, | |
2878 | are permitted in any medium without royalty provided the copyright | |
2879 | notice and this notice are preserved. |