]>
Commit | Line | Data |
---|---|---|
e60a6f7b | 1 | 2009-06-12 Aldy Hernandez <aldyh@redhat.com> |
2 | ||
3 | * trans-array.c (gfc_trans_allocate_array_storage): Pass | |
4 | location on down. | |
5 | (gfc_trans_array_constructor_value): Same. | |
6 | (gfc_trans_scalarized_loop_end): Same. | |
7 | (gfc_conv_ss_startstride): Same. | |
8 | (gfc_trans_g77_array): Same. | |
9 | (gfc_trans_dummy_array_bias): Same. | |
10 | (gfc_conv_array_parameter): Same. | |
11 | (structure_alloc_comps): Same. | |
12 | * trans-expr.c (gfc_conv_function_call): Same. | |
13 | (fill_with_spaces): Same. | |
14 | (gfc_trans_string_copy): Same. | |
15 | (gfc_trans_scalar_assign): Same. | |
16 | * trans-stmt.c (gfc_trans_goto): Same. | |
17 | (gfc_trans_if_1): Same. | |
18 | (gfc_trans_simple_do): Same. | |
19 | (gfc_trans_do): Same. | |
20 | (gfc_trans_do_while): Same. | |
21 | (gfc_trans_logical_select): Same. | |
22 | (gfc_trans_select): Same. | |
23 | (gfc_trans_forall_loop): Same. | |
24 | (gfc_trans_nested_forall_loop): Same. | |
25 | (generate_loop_for_temp_to_lhs): Same. | |
26 | (generate_loop_for_rhs_to_temp): Same. | |
27 | (gfc_trans_forall_1): Same. | |
28 | (gfc_trans_where_assign): Same. | |
29 | (gfc_trans_where_3): Same. | |
30 | (gfc_trans_allocate): Same. | |
31 | * trans.c (gfc_finish_block): Same. | |
32 | (gfc_trans_runtime_check): Same. | |
33 | (gfc_call_malloc): Same. | |
34 | (gfc_allocate_with_status): Same. | |
35 | (gfc_call_free): Same. | |
36 | (gfc_deallocate_with_status): Same. | |
37 | (gfc_call_realloc): Same. | |
38 | (gfc_trans_code): Same. | |
39 | * trans-decl.c (gfc_init_default_dt): Same. | |
40 | (gfc_generate_constructors): Same. | |
41 | * trans-io.c (gfc_trans_io_runtime_check): Same. | |
42 | * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Same. | |
43 | (gfc_conv_intrinsic_fdate): Same. | |
44 | (gfc_conv_intrinsic_ttynam): Same. | |
45 | (gfc_conv_intrinsic_minmax): Same. | |
46 | (gfc_conv_intrinsic_minmax_char): Same. | |
47 | (gfc_conv_intrinsic_anyall): Same. | |
48 | (gfc_conv_intrinsic_count): Same. | |
49 | (gfc_conv_intrinsic_arith): Same. | |
50 | (gfc_conv_intrinsic_minmaxloc): Same. | |
51 | (gfc_conv_intrinsic_minmaxval): Same. | |
52 | (gfc_conv_intrinsic_rrspacing): Same. | |
53 | (gfc_conv_intrinsic_array_transfer): Same. | |
54 | (gfc_conv_intrinsic_trim): Same. | |
55 | (gfc_conv_intrinsic_repeat): Same. | |
56 | ||
13e80622 | 57 | 2009-06-12 Janus Weil <janus@gcc.gnu.org> |
58 | ||
59 | PR fortran/40176 | |
60 | * resolve.c (resolve_symbol): Additional error check, preventing an | |
61 | infinite loop. | |
62 | ||
a733be02 | 63 | 2009-06-11 Paul Thomas <pault@gcc.gnu.org> |
64 | ||
65 | PR fortran/40402 | |
66 | * resolve.c (next_data_value): It is an error if the value is | |
67 | not constant. | |
68 | ||
96098ab0 | 69 | 2009-06-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
70 | ||
71 | PR fortran/38718 | |
72 | * intrinsic.c (add_functions): Add simplifiers for ISNAN, | |
73 | IS_IOSTAT_END and IS_IOSTAT_EOR. | |
74 | * intrinsic.h (gfc_simplify_is_iostat_end, gfc_simplify_is_iostat_eor, | |
75 | gfc_simplify_isnan): New prototypes. | |
76 | * intrinsic.c (gfc_simplify_is_iostat_end, gfc_simplify_is_iostat_eor, | |
77 | gfc_simplify_isnan): New functions. | |
78 | ||
9e6639e6 | 79 | 2009-06-11 Jakub Jelinek <jakub@redhat.com> |
80 | ||
81 | * interface.c (fold_unary): Rename to... | |
82 | (fold_unary_intrinsic): ... this. | |
83 | (gfc_extend_expr): Adjust caller. | |
84 | (gfc_match_generic_spec): Likewise. Initialize *op to INTRINSIC_NONE | |
85 | to avoid warnings. | |
86 | * expr.c (gfc_simplify_expr): Initialize start and end before calling | |
87 | gfc_extract_int. | |
88 | ||
e62a9fe5 | 89 | 2009-06-10 Dave Korn <dave.korn.cygwin@gmail.com> |
90 | ||
91 | * trans-decl.c (create_main_function): Don't build main decl twice. | |
92 | ||
6ba3bda4 | 93 | 2009-06-09 Tobias Burnus <burnus@net-b.de> |
94 | ||
95 | * trans-decl.c (gfc_generate_function_code): Use gfc_option.rtcheck | |
96 | instead of flag_bounds_check. | |
97 | * intrinsic.texi (ISO_FORTRAN_ENV): Document INT{8,16,32,64} and | |
98 | REAL{32,64,128}. | |
99 | ||
cf47b176 | 100 | 2009-06-08 Paul Thomas <pault@gcc.gnu.org> |
101 | ||
102 | * trans-array.h : Replace prototypes for | |
103 | gfc_conv_descriptor_offset, gfc_conv_descriptor_stride, | |
104 | gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound with new | |
105 | prototypes of the same names with _get or _set appended. | |
106 | * trans-array.c : Make the originals of the above static and | |
107 | new functions for the _get and _set functions. Update all the | |
108 | references to these descriptor access functions. | |
109 | * trans-expr.c : Update references to the above descriptor | |
110 | access functions. | |
111 | * trans-intrinsic.c : The same. | |
112 | * trans-openmp.c : The same. | |
113 | * trans-stmt.c : The same. | |
114 | ||
71278019 | 115 | 2009-06-08 Alexandre Oliva <aoliva@redhat.com> |
116 | ||
117 | * options.c (gfc_post_options): Disable dump_parse_tree | |
118 | during -fcompare-debug-second. | |
119 | ||
25ccfed3 | 120 | 2009-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
82b12af7 | 121 | |
122 | PR fortran/40008 | |
123 | * gfortran.h (gfc_open): Add newunit expression to structure. | |
124 | * io.c (io_tag): Add new unit tag and fix whitespace. | |
125 | (match_open_element): Add matching for newunit. | |
126 | (gfc_free_open): Free the newunit expression. | |
127 | (gfc_resolve_open): Add newunit to resolution and check constraints. | |
128 | (gfc_resolve_close): Add check for non-negative unit. | |
129 | (gfc_resolve_filepos): Likewise. | |
130 | (gfc_resolve_dt): Likewise. | |
131 | * trans-io.c (set_parameter_value): Build runtime checks for unit | |
132 | numbers within range of kind=4 integer. (gfc_trans_open) Set the | |
133 | newunit parameter. | |
134 | * ioparm.def (IOPARM): Define the newunit parameter as a pointer | |
135 | to GFC_INTEGER_4, pint4. | |
136 | ||
7a236826 | 137 | 2009-06-07 Daniel Franke <franke.daniel@gmail.com> |
138 | ||
139 | PR fortran/25104 | |
140 | PR fortran/29962 | |
141 | * array.c (gfc_append_constructor): Added NULL-check. | |
142 | * check.c (gfc_check_spread): Check DIM. | |
143 | (gfc_check_unpack): Check that the ARRAY arguments provides enough | |
144 | values for MASK. | |
145 | * intrinsic.h (gfc_simplify_spread): New prototype. | |
146 | (gfc_simplify_unpack): Likewise. | |
147 | * intrinsic.c (add_functions): Added new simplifier callbacks. | |
148 | * simplify.c (gfc_simplify_spread): New. | |
149 | (gfc_simplify_unpack): New. | |
150 | * expr.c (check_transformational): Allow additional transformational | |
151 | intrinsics in initialization expression. | |
152 | ||
9a94ba56 | 153 | 2009-06-07 Daniel Franke <franke.daniel@gmail.com> |
154 | ||
155 | PR fortran/25104 | |
156 | PR fortran/29962 | |
157 | * check.c (gfc_check_all_any): Check rank of DIM. | |
158 | (gfc_check_count): Likewise. | |
159 | * intrinsic.h (gfc_simplify_all): New prototype. | |
160 | (gfc_simplify_any): Likewise. | |
161 | (gfc_simplify_count): Likewise. | |
162 | (gfc_simplify_sum): Likewise. | |
163 | (gfc_simplify_product): Likewise. | |
164 | * intrinsic.c (add_functions): Added new simplifier callbacks. | |
165 | * simplify.c (transformational_result): New. | |
166 | (simplify_transformation_to_scalar): New. | |
167 | (simplify_transformation_to_array): New. | |
168 | (gfc_count): New. | |
169 | (gfc_simplify_all): New. | |
170 | (gfc_simplify_any): New. | |
171 | (gfc_simplify_count): New. | |
172 | (gfc_simplify_sum): New. | |
173 | (gfc_simplify_product): New. | |
174 | * expr.c (check_transformational): Allow additional transformational | |
175 | intrinsics in initialization expression. | |
176 | ||
8828904b | 177 | 2009-06-07 Daniel Franke <franke.daniel@gmail.com> |
178 | ||
179 | * check.c (dim_rank_check): Return SUCCESS if DIM=NULL. | |
180 | (gfc_check_lbound): Removed (now) redundant check for DIM=NULL. | |
181 | (gfc_check_minloc_maxloc): Likewise. | |
182 | (check_reduction): Likewise. | |
183 | (gfc_check_size): Likewise. | |
184 | (gfc_check_ubound): Likewise. | |
185 | (gfc_check_cshift): Added missing shape-conformance checks. | |
186 | (gfc_check_eoshift): Likewise. | |
187 | * gfortran.h (gfc_check_conformance): Modified prototype to printf-style. | |
188 | * expr.c (gfc_check_conformance): Accept error-message chunks in | |
189 | printf-style. Changed all callers. | |
190 | ||
191 | ||
2702253a | 192 | 2009-06-07 Daniel Franke <franke.daniel@gmail.com> |
193 | ||
194 | PR fortran/25104 | |
195 | PR fortran/29962 | |
196 | * intrinsic.h (gfc_simplify_dot_product): New prototype. | |
197 | (gfc_simplify_matmul): Likewise. | |
198 | (gfc_simplify_transpose): Likewise. | |
199 | * intrinsic.c (add_functions): Added new simplifier callbacks. | |
200 | * simplify.c (init_result_expr): New. | |
201 | (compute_dot_product): New. | |
202 | (gfc_simplify_dot_product): New. | |
203 | (gfc_simplify_matmul): New. | |
204 | (gfc_simplify_transpose): New. | |
205 | * expr.c (check_transformational): Allow transformational intrinsics | |
206 | with simplifier in initialization expression. | |
207 | ||
c77b5b3c | 208 | 2009-06-06 Daniel Franke <franke.daniel@gmail.com> |
209 | ||
210 | PR fortran/37203 | |
211 | * simplify.c (gfc_simplify_reshape): Fixed reshaping of empty arrays | |
212 | without padding. | |
213 | ||
37a44ee4 | 214 | 2009-06-06 Daniel Franke <franke.daniel@gmail.com> |
215 | ||
216 | PR fortran/32890 | |
217 | * intrinsic.h (gfc_simplify_pack): New prototype. | |
218 | * intrinsic.c (add_functions): Added | |
219 | simplifier-callback to PACK. | |
220 | * simplify.c (is_constant_array_expr): Moved | |
221 | to beginning of file. | |
222 | (gfc_simplify_pack): New. | |
223 | * check.c (gfc_check_pack): Check that VECTOR has enough elements. | |
224 | Added safeguards for empty arrays. | |
225 | ||
c3cfad90 | 226 | 2009-06-05 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
227 | ||
228 | * simplify.c (call_mpc_func): Use mpc_realref/mpc_imagref | |
229 | instead of MPC_RE/MPC_IM. | |
230 | ||
9b8d733a | 231 | 2009-06-05 Alexandre Oliva <aoliva@redhat.com> |
232 | ||
233 | * trans-decl.c (gfc_build_qualified_array): Don't skip generation | |
234 | of range types. | |
235 | * trans.h (struct lang_type): Add base_decls. | |
236 | (GFC_TYPE_ARRAY_BASE_DECL): New. | |
237 | * trans-types.c (gfc_get_array_type_bounds): Initialize base decls | |
238 | proactively and excessively. | |
239 | (gfc_get_array_descr_info): Use existing base decls if available. | |
240 | ||
fc509e4c | 241 | 2009-06-04 Daniel Franke <franke.daniel@gmail.com> |
242 | ||
243 | PR fortran/37203 | |
244 | * check.c (gfc_check_reshape): Additional checks for the | |
245 | SHAPE and ORDER arguments. | |
246 | * simplify.c (gfc_simplify_reshape): Converted argument checks | |
247 | to asserts. | |
248 | ||
0c7efac1 | 249 | 2009-06-03 Tobias Burnus <burnus@net-b.de> |
250 | ||
251 | * gfortran.texi: Add mixed-language programming, mention | |
252 | varying string lengths, some clean up of introduction parts. | |
253 | * intrinsic.texi (instrinsic modules): Create @menu for subsections. | |
254 | (ISO_C_BINDING): Support ISOCBINDING_INT_FAST128_T. | |
255 | * libgfortran.h: Comment to rember to keep gfortran.texi in sync. | |
256 | * iso-c-binding.def: Support ISOCBINDING_INT_FAST128_T. | |
257 | ||
8f843aad | 258 | 2009-06-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
259 | Tobias Burnus <burnus@net-b.de> | |
260 | ||
261 | * iso-c-binding.def: Use INTMAX_TYPE instead of intmax_type_node. | |
262 | * trans-types.c (init_c_interop_kinds): Remove intmax_type_node. | |
263 | ||
15880c04 | 264 | 2009-06-03 Alexandre Oliva <aoliva@redhat.com> |
265 | ||
266 | * module.c (mio_f2k_derived): Initialize cur. | |
267 | ||
0509d0ee | 268 | 2009-06-01 Tobias Burnus <burnus@net-b.de> |
269 | ||
270 | PR fortran/40309 | |
271 | * trans-decl.c (gfc_sym_identifier): Use "MAIN__" for PROGRAM "main". | |
272 | (create_main_function): Set main_identifier_node. | |
273 | ||
70eb4f1a | 274 | 2009-05-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
275 | ||
276 | PR fortran/40019 | |
277 | * trans-types.c (gfc_build_uint_type): Make nonstatic. | |
278 | * trans.h (gfor_fndecl_clz128, gfor_fndecl_ctz128): New prototypes. | |
279 | * trans-types.h (gfc_build_uint_type): Add prototype. | |
280 | * trans-decl.c (gfc_build_intrinsic_function_decls): Build | |
281 | gfor_fndecl_clz128 and gfor_fndecl_ctz128. | |
282 | * trans-intrinsic.c (gfc_conv_intrinsic_leadz, | |
283 | gfc_conv_intrinsic_trailz): Call the right builtins or library | |
284 | functions, and cast arguments to unsigned types first. | |
285 | * simplify.c (gfc_simplify_leadz): Deal with negative arguments. | |
286 | ||
40b6e20e | 287 | 2009-05-27 Ian Lance Taylor <iant@google.com> |
288 | ||
289 | * Make-lang.in (gfortran$(exeext)): Change $(COMPILER) to | |
290 | $(LINKER). | |
291 | (f951$(exeext)): Likewise. | |
292 | ||
43702da6 | 293 | 2009-05-27 Tobias Burnus <burnus@net-b.de> |
294 | ||
295 | PR fortran/40270 | |
296 | * trans-decl.c (create_main_function): Mark MAIN__ and | |
297 | argc/argv as TREE_USED and push/pop function_decl context | |
298 | if needed. | |
299 | ||
7257a5d2 | 300 | 2009-05-26 Tobias Burnus <burnus@net-b.de> |
301 | ||
302 | PR fortran/39178 | |
303 | * gfortranspec.c (lang_specific_driver): Stop linking | |
304 | libgfortranbegin. | |
305 | * trans-decl.c (gfc_build_builtin_function_decls): Stop | |
306 | making MAIN__ publicly visible. | |
307 | (gfc_build_builtin_function_decls): Add | |
308 | gfor_fndecl_set_args. | |
309 | (create_main_function) New function. | |
310 | (gfc_generate_function_code): Use it. | |
311 | ||
645899f2 | 312 | 2009-05-26 Tobias Burnus <burnus@net-b.de> |
313 | ||
314 | PR fortran/40246 | |
315 | * match.c (gfc_match_nullify): NULLify freed pointer. | |
316 | ||
585d4848 | 317 | 2009-05-26 Ian Lance Taylor <iant@google.com> |
318 | ||
319 | * Make-lang.in (gfortranspec.o): Use $(COMPILER). | |
320 | (gfortran$(exeext), f951$(exeext), fortran/cpp.o): Likewise. | |
321 | ||
819a5ac9 | 322 | 2009-05-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
323 | ||
324 | * gfortran.h (GFC_MPC_RND_MODE): New. | |
325 | * simplify.c (call_mpc_func): New helper function. | |
326 | (gfc_simplify_cos, gfc_simplify_exp, gfc_simplify_log, | |
327 | gfc_simplify_sin, gfc_simplify_sqrt): Add MPC support. | |
328 | ||
85d1c108 | 329 | 2009-05-25 Janus Weil <janus@gcc.gnu.org> |
330 | ||
331 | PR fortran/40176 | |
332 | * primary.c (gfc_match_varspec): Handle procedure pointer components | |
333 | with array return value. | |
334 | * resolve.c (resolve_expr_ppc): Ditto. | |
335 | (resolve_symbol): Make sure the interface of a procedure pointer has | |
336 | been resolved. | |
337 | * trans-array.c (gfc_walk_function_expr): Handle procedure pointer | |
338 | components with array return value. | |
339 | * trans-expr.c (gfc_conv_component_ref,gfc_conv_procedure_call, | |
340 | gfc_trans_arrayfunc_assign): Ditto. | |
341 | (gfc_trans_pointer_assignment): Handle procedure pointer assignments, | |
342 | where the rhs is a dummy argument. | |
343 | * trans-types.c (gfc_get_ppc_type,gfc_get_derived_type): Handle | |
344 | procedure pointer components with array return value. | |
345 | ||
1eb4ddaf | 346 | 2009-05-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
347 | Dominique Dhumieres | |
348 | ||
349 | PR fortran/35732 | |
350 | PR fortran/39872 | |
351 | * trans-array.c (gfc_conv_ss_startstride): Add one to index. | |
352 | ||
f9b3b191 | 353 | 2009-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
354 | ||
355 | PR fortran/40195 | |
356 | * module.c (read_md5_from_module_file): Close file before returning. | |
357 | ||
9f65c497 | 358 | 2009-05-18 Janus Weil <janus@gcc.gnu.org> |
359 | ||
360 | PR fortran/40164 | |
361 | * primary.c (gfc_match_rvalue): Handle procedure pointer components in | |
362 | arrays. | |
363 | * resolve.c (resolve_ppc_call,resolve_expr_ppc): Resolve component and | |
364 | array references. | |
365 | (resolve_fl_derived): Procedure pointer components are not required to | |
366 | have constant array bounds in their return value. | |
367 | ||
8c89d502 | 368 | 2009-05-18 Janus Weil <janus@gcc.gnu.org> |
369 | ||
370 | * intrinsic.c (add_sym): Fix my last commit (r147655), | |
371 | which broke bootstrap. | |
372 | ||
1d9f9adc | 373 | 2009-05-18 Richard Guenther <rguenther@suse.de> |
374 | ||
375 | PR fortran/40168 | |
376 | * trans-expr.c (gfc_trans_zero_assign): For local array | |
377 | destinations use an assignment from an empty constructor. | |
378 | ||
66110e37 | 379 | 2009-05-18 Janus Weil <janus@gcc.gnu.org> |
380 | ||
381 | PR fortran/36947 | |
382 | PR fortran/40039 | |
383 | * expr.c (gfc_check_pointer_assign): Check intents when comparing | |
384 | interfaces. | |
385 | * gfortran.h (typedef struct gfc_intrinsic_arg): Add 'intent' member. | |
386 | (gfc_compare_interfaces): Additional argument. | |
387 | * interface.c (operator_correspondence): Add check for equality of | |
388 | intents, and new argument 'intent_check'. | |
389 | (gfc_compare_interfaces): New argument 'intent_check', which is passed | |
390 | on to operator_correspondence. | |
391 | (check_interface1): Don't check intents when comparing interfaces. | |
392 | (compare_parameter): Do check intents when comparing interfaces. | |
393 | * intrinsic.c (add_sym): Add intents for arguments of intrinsic | |
394 | procedures. | |
395 | (add_sym_1,add_sym_1s,add_sym_1m,add_sym_2,add_sym_2s,add_sym_3, | |
396 | add_sym_3ml,add_sym_3red,add_sym_3s,add_sym_4): Use INTENT_IN by | |
397 | default. | |
398 | (add_sym_1_intent,add_sym_1s_intent,add_sym_2s_intent,add_sym_3s_intent) | |
399 | : New functions to add intrinsic symbols, specifying custom intents. | |
400 | (add_sym_4s,add_sym_5s): Add new arguments to specify intents. | |
401 | (add_functions,add_subroutines): Add intents for various intrinsics. | |
402 | * resolve.c (check_generic_tbp_ambiguity): Don't check intents when | |
403 | comparing interfaces. | |
404 | * symbol.c (gfc_copy_formal_args_intr): Copy intent. | |
405 | ||
db3eb703 | 406 | 2009-05-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
407 | ||
408 | * iso-fortran-env.def: Define INT8, INT16, INT32, INT64, REAL32, | |
409 | REAL64 and REAL128. | |
410 | * gfortran.h (gfc_get_int_kind_from_width_isofortranenv, | |
411 | gfc_get_real_kind_from_width_isofortranenv): New prototypes. | |
412 | * iso-c-binding.def: Update definitions for the INT*_T, | |
413 | INT_LEAST*_T and INT_FAST*_T named parameters. | |
414 | * trans-types.c (get_typenode_from_name, get_int_kind_from_name, | |
415 | gfc_get_real_kind_from_width_isofortranenv): New functions. | |
416 | ||
2cd8ef8b | 417 | 2009-05-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
418 | ||
419 | PR fortran/36260 | |
420 | * intrinsic.c (add_functions, add_subroutines): Fix argument | |
421 | names and wrap long lines. | |
422 | * intrinsic.texi: Fix documentation and argument names of | |
423 | LOG_GAMMA, DATAN2, DBESJN, DTIME, ETIME, FSTAT, STAT, LSTAT, | |
424 | GET_COMMAND, IDATE, LTIME, MOVE_ALLOC, NINT, OR, PRODUCT, | |
425 | SUM, RAND, RANDOM_SEED, REAL, SELECTED_INT_KIND, | |
426 | SELECTED_REAL_KIND and XOR. | |
427 | ||
79cfd821 | 428 | 2009-05-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
429 | ||
430 | PR fortran/33197 | |
431 | * intrinsic.c (add_functions): Use ERFC_SCALED simplification. | |
432 | * intrinsic.h (gfc_simplify_erfc_scaled): New prototype. | |
433 | * simplify.c (fullprec_erfc_scaled, asympt_erfc_scaled, | |
434 | gfc_simplify_erfc_scaled): New functions. | |
435 | ||
7ad1f5f6 | 436 | 2009-05-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
437 | ||
438 | PR fortran/31243 | |
439 | * resolve.c (resolve_substring): Don't allow too large substring | |
440 | indexes. | |
441 | (gfc_resolve_substring_charlen): Fix typo. | |
442 | (gfc_resolve_character_operator): Fix typo. | |
443 | (resolve_charlen): Catch unreasonably large string lengths. | |
444 | * simplify.c (gfc_simplify_len): Don't error out on LEN | |
445 | range checks. | |
446 | ||
23ffc751 | 447 | 2009-05-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
448 | ||
449 | PR fortran/36031 | |
450 | * decl.c (set_enum_kind): Use global short-enums flag. | |
451 | * gfortran.h (gfc_option_t): Remove short_enums flag. | |
452 | * lang.opt (-fshort-enums): Refer to C documentation. | |
453 | * options.c (gfc_init_options, gfc_handle_option): Use global | |
454 | short-enums flag. | |
455 | ||
c8dd516d | 456 | 2009-05-15 Tobias Burnus <burnus@net-b.de> |
457 | ||
458 | PR fortran/39352 | |
459 | * f95-lang.c: Add gfc_maybe_initialize_eh. | |
460 | * gfortran.h: Add gfc_maybe_initialize_eh prototype. | |
461 | * Make-lang.in: Add new .h dendencies for f95-lang.c | |
462 | * openmp.c (resolve_omp_do): Call gfc_maybe_initialize_eh. | |
463 | * misc.c (gfc_free): Avoid #define trickery for free. | |
464 | ||
ab1f213d | 465 | 2009-05-14 Steven G. Kargl <kargl@gcc.gnu.org> |
466 | ||
467 | * dump-parse-tree.c (show_code_node): Add ERRMSG to the dumping | |
468 | of allocate and deallocate statements. | |
469 | ||
9f1b7d17 | 470 | 2009-05-14 Ian Lance Taylor <iant@google.com> |
471 | ||
472 | * decl.c (match_attr_spec): Change d to unsigned int. | |
473 | * dump-parse-tree.c (show_namespace): Change op to int. Add cast. | |
474 | * interface.c (gfc_check_interfaces): Change i to int. Add casts. | |
475 | * module.c (read_module): Change i to int. Add cast. | |
476 | (write_module): Change i to int. | |
477 | * symbol.c (gfc_get_namespace): Change in to int. | |
478 | (gfc_free_namespace): Change i to int. | |
479 | * trans-io.c (gfc_build_io_library_fndecls): Change ptype to | |
480 | unsigned int. Add cast. | |
481 | * trans-types.c (gfc_init_kinds): Change mode to unsigned int. | |
482 | Add casts. | |
483 | ||
728685bb | 484 | 2009-05-14 Daniel Kraft <d@domob.eu> |
485 | ||
486 | PR fortran/40045 | |
487 | * dump-parse-tree.c (show_typebound): Fix missing adaption to new | |
488 | type-bound procedure storage structure. | |
489 | ||
0477d42d | 490 | 2009-05-14 Janus Weil <janus@gcc.gnu.org> |
491 | ||
492 | PR fortran/39996 | |
493 | * decl.c (gfc_match_function_decl): Use gfc_add_type. | |
494 | * symbol.c (gfc_add_type): Better checking for duplicate types in | |
495 | function declarations. And: Always give an error for duplicte types, | |
496 | not just a warning with -std=gnu. | |
497 | ||
bc56d052 | 498 | 2009-05-14 Jakub Jelinek <jakub@redhat.com> |
499 | ||
500 | PR fortran/39865 | |
501 | * io.c (resolve_tag_format): CHARACTER array in FMT= argument | |
502 | isn't an extension. Reject non-CHARACTER array element of | |
503 | assumed shape or pointer or assumed size array. | |
504 | * trans-array.c (array_parameter_size): New function. | |
505 | (gfc_conv_array_parameter): Add size argument. Call | |
506 | array_parameter_size if it is non-NULL. | |
507 | * trans-array.h (gfc_conv_array_parameter): Adjust prototype. | |
508 | * trans-expr.c (gfc_conv_function_call, gfc_trans_arrayfunc_assign): | |
509 | Adjust callers. | |
510 | * trans-intrinsic.c (gfc_conv_intrinsic_loc): Likewise. | |
511 | * trans-io.c (gfc_convert_array_to_string): Rewritten. | |
512 | ||
578d3f19 | 513 | 2009-05-13 Steven G. Kargl <kargl@gcc.gnu.org> |
514 | ||
515 | * gfortran.h (gfc_code): Rename struct member expr to expr1. | |
516 | * openmp.c (resolve_omp_atomic): Update expr to expr1. | |
517 | * interface.c (gfc_extend_assign): Ditto. | |
518 | * trans-expr.c (gfc_conv_expr_reference, gfc_trans_assignment, | |
519 | gfc_trans_init_assign): Ditto. | |
520 | * dump-parse-tree.c (show_code_node): Ditto. | |
521 | * trans-openmp.c (gfc_trans_omp_atomic): Ditto. | |
522 | * trans-stmt.c ( gfc_trans_label_assign, gfc_trans_goto, gfc_trans_call, | |
523 | gfc_trans_return, gfc_trans_pause, gfc_trans_stop, gfc_trans_if_1, | |
524 | gfc_trans_arithmetic_if, gfc_trans_do_while, gfc_trans_integer_select, | |
525 | gfc_trans_logical_select, gfc_trans_character_select | |
526 | forall_make_variable_temp, check_forall_dependencies | |
527 | gfc_trans_forall_1, gfc_trans_where_2, gfc_trans_where_3 | |
528 | gfc_trans_where, gfc_trans_allocate, gfc_trans_deallocate): Ditto. | |
529 | * io.c (match_io_element, gfc_match_inquire): Ditto. | |
530 | * resolve.c (resolve_typebound_call, resolve_ppc_call, | |
531 | resolve_allocate_expr, resolve_allocate_deallocate, resolve_select, | |
532 | resolve_transfer, resolve_where, gfc_resolve_assign_in_forall, | |
533 | gfc_resolve_blocks, resolve_code, build_init_assign): Ditto. | |
534 | * st.c (gfc_free_statement): Ditto. | |
535 | * match.c (gfc_match_assignment, gfc_match_pointer_assignment, | |
536 | match_arithmetic_if, gfc_match_if, gfc_match_elseif | |
537 | gfc_match_stopcode, gfc_match_assign, gfc_match_goto, | |
538 | gfc_match_nullify, match_typebound_call, gfc_match_call | |
539 | gfc_match_select, match_simple_where, gfc_match_where | |
540 | gfc_match_elsewhere, match_simple_forall, gfc_match_forall): Ditto. | |
541 | * trans-io.c (gfc_trans_transfer): Ditto. | |
542 | * parse.c (parse_where_block, parse_if_block): Ditto. | |
543 | ||
13b33c16 | 544 | 2009-05-13 Steven G. Kargl <kargl@gcc.gnu.org> |
545 | ||
546 | * gfortran.h (gfc_code): Rename struct member label to label1. | |
547 | * dump-parse-tree.c (show_code_node): Update symbol. | |
548 | * trans-stmt.c (gfc_trans_label_assign, gfc_trans_goto, | |
f9b3b191 | 549 | gfc_trans_arithmetic_if): Ditto. |
13b33c16 | 550 | * resolve.c (gfc_resolve_blocks, resolve_code): Ditto. |
551 | * match.c (match_arithmetic_if, gfc_match_if, gfc_reference_st_label, | |
552 | gfc_match_assign, gfc_match_goto): Ditto. | |
553 | * parse.c (parse_do_block): Ditto. | |
554 | ||
9286e713 | 555 | 2009-05-13 Tobias Burnus <burnus@net-b.de> |
556 | ||
557 | PR fortran/34153 | |
558 | * gfortran.h (gfc_exec_op): Add EXEC_END_PROCEDURE. | |
559 | * dump-parse-tree.c (show_code_node): Use EXEC_END_PROCEDURE. | |
560 | * trans.c (gfc_trans_code): Ditto. | |
561 | * resolve.c (resolve_code): Ditto. | |
562 | * st.c (gfc_free_statement): Ditto. | |
563 | * parse.c (accept_statement): Ditto. | |
564 | ||
ded233a6 | 565 | 2009-05-12 Tobias Burnus <burnus@net-b.de> |
566 | ||
567 | PR fortran/40110 | |
568 | * decl.c (gfc_match_kind_spec): Turn C kind error into a warning. | |
569 | ||
5390b584 | 570 | 2009-05-11 Steve Ellcey <sje@cup.hp.com> |
571 | ||
572 | * resolve.c (check_host_association): Initialize tail. | |
573 | ||
898b1c72 | 574 | 2009-05-11 Janus Weil <janus@gcc.gnu.org> |
575 | ||
576 | PR fortran/40089 | |
577 | * resolve.c (resolve_fl_derived): Only return FAILURE if | |
578 | gfc_notify_std fails. | |
579 | ||
0b09525f | 580 | 2009-05-10 Ian Lance Taylor <iant@google.com> |
581 | ||
582 | * gfortran.h (enum gfc_omp_sched_kind): New enum, broken out of | |
583 | gfc_omp_clauses. | |
584 | (enum gfc_omp_default_sharing): Likewise. | |
585 | * module.c (enum gfc_rsym_state): New enum, broken out of | |
586 | pointer_info. | |
587 | (enum gfc_wsym_state): Likewise. | |
588 | * parse.c (enum state_order): New enum, broken out of st_state. | |
589 | ||
49c5eba1 | 590 | 2009-05-10 Paul Thomas <pault@gcc.gnu.org> |
591 | ||
592 | PR fortran/40018 | |
593 | * trans-array.c (gfc_trans_array_constructor_value): Fold | |
594 | convert numeric constants. | |
595 | (gfc_build_constant_array_constructor): The same. | |
596 | ||
b36b5dd2 | 597 | 2009-05-10 Paul Thomas <pault@gcc.gnu.org> |
598 | ||
599 | PR fortran/38863 | |
600 | * trans-expr.c (gfc_conv_operator_assign): Remove function. | |
601 | * trans.h : Remove prototype for gfc_conv_operator_assign. | |
602 | * trans-stmt.c (gfc_conv_elemental_dependencies): Initialize | |
603 | derivde types with intent(out). | |
604 | (gfc_trans_call): Add mask, count1 and invert arguments. Add | |
605 | code to use mask for WHERE assignments. | |
606 | (gfc_trans_forall_1): Use new arguments for gfc_trans_call. | |
607 | (gfc_trans_where_assign): The gfc_symbol argument is replaced | |
608 | by the corresponding code. If this has a resolved_sym, then | |
609 | gfc_trans_call is called. The call to gfc_conv_operator_assign | |
610 | is removed. | |
611 | (gfc_trans_where_2): Change the last argument in the call to | |
612 | gfc_trans_where_assign. | |
613 | * trans-stmt.h : Modify prototype for gfc_trans_call. | |
614 | * trans.c (gfc_trans_code): Use new args for gfc_trans_call. | |
615 | ||
9039f113 | 616 | 2009-05-08 Janus Weil <janus@gcc.gnu.org> |
617 | ||
618 | PR fortran/39876 | |
619 | * intrinsic.c (gfc_is_intrinsic): Do not add the EXTERNAL attribute if | |
620 | the symbol is a module procedure. | |
621 | ||
6bcf3f71 | 622 | 2009-05-08 Tobias Burnus <burnus@net-b.de> |
623 | ||
624 | * invoke.texi: Add do/recursion to the -fcheck= summary. | |
625 | ||
b00f7875 | 626 | 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
627 | ||
628 | PR fortran/38830 | |
629 | * gfortran.texi: Document that we don't support variable FORMAT | |
630 | expressions. | |
631 | ||
5fde53e5 | 632 | 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
633 | ||
634 | PR fortran/39576 | |
635 | * error.c (error_print): Add missing break statement. | |
636 | ||
30186817 | 637 | 2009-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
638 | ||
639 | PR fortran/36382 | |
640 | * invoke.texi: Document that -fdollar-ok does not allow $ to be | |
641 | used in IMPLICIT statement. | |
642 | ||
64e93293 | 643 | 2009-05-06 Janus Weil <janus@gcc.gnu.org> |
644 | Paul Thomas <pault@gcc.gnu.org> | |
645 | ||
646 | PR fortran/39630 | |
647 | * decl.c (match_procedure_interface): New function to match the | |
648 | interface for a PROCEDURE statement. | |
649 | (match_procedure_decl): Call match_procedure_interface. | |
650 | (match_ppc_decl): New function to match the declaration of a | |
651 | procedure pointer component. | |
652 | (gfc_match_procedure): Call match_ppc_decl. | |
653 | (match_binding_attributes): Add new argument 'ppc' and handle the | |
654 | POINTER attribute for procedure pointer components. | |
655 | (match_procedure_in_type,gfc_match_generic): Added new argument to | |
656 | match_binding_attributes. | |
657 | * dump-parse-tree.c (show_expr,show_components,show_code_node): Handle | |
658 | procedure pointer components. | |
659 | * expr.c (free_expr0,gfc_copy_expr,gfc_simplify_expr): Handle EXPR_PPC. | |
660 | (gfc_check_pointer_assign): Handle procedure pointer components, but no | |
661 | full checking yet. | |
662 | (is_proc_ptr_comp): New function to determine if an expression is a | |
663 | procedure pointer component. | |
664 | * gfortran.h (expr_t): Add EXPR_PPC. | |
665 | (symbol_attribute): Add new member 'proc_pointer_comp'. | |
666 | (gfc_component): Add new member 'formal'. | |
667 | (gfc_exec_op): Add EXEC_CALL_PPC. | |
668 | (gfc_get_default_type): Changed first argument. | |
669 | (is_proc_ptr_comp): Add prototype. | |
670 | (gfc_match_varspec): Add new argument. | |
671 | * interface.c (compare_actual_formal): Handle procedure pointer | |
672 | components. | |
673 | * match.c (gfc_match_pointer_assignment,match_typebound_call): Handle | |
674 | procedure pointer components. | |
675 | * module.c (mio_expr): Handle EXPR_PPC. | |
676 | * parse.c (parse_derived): Handle procedure pointer components. | |
677 | * primary.c (gfc_match_varspec): Add new argument 'ppc_arg' and handle | |
678 | procedure pointer components. | |
679 | (gfc_variable_attr): Handle procedure pointer components. | |
680 | (gfc_match_rvalue): Added new argument to gfc_match_varspec and changed | |
681 | first argument of gfc_get_default_type. | |
682 | (match_variable): Added new argument to gfc_match_varspec. | |
683 | * resolve.c (resolve_entries,set_type,resolve_fl_parameter): Changed | |
684 | first argument of gfc_get_default_type. | |
685 | (resolve_structure_cons,resolve_actual_arglist): Handle procedure | |
686 | pointer components. | |
687 | (resolve_ppc_call): New function to resolve a call to a procedure | |
688 | pointer component (subroutine). | |
689 | (resolve_expr_ppc): New function to resolve a call to a procedure | |
690 | pointer component (function). | |
691 | (gfc_resolve_expr): Handle EXPR_PPC. | |
692 | (resolve_code): Handle EXEC_CALL_PPC. | |
693 | (resolve_fl_derived): Copy the interface for a procedure pointer | |
694 | component. | |
695 | (resolve_symbol): Fix overlong line. | |
696 | * st.c (gfc_free_statement): Handle EXEC_CALL_PPC. | |
697 | * symbol.c (gfc_get_default_type): Changed first argument. | |
698 | (gfc_set_default_type): Changed first argument of gfc_get_default_type. | |
699 | (gfc_add_component): Initialize ts.type to BT_UNKNOWN. | |
700 | * trans.h (gfc_conv_function_call): Renamed. | |
701 | * trans.c (gfc_trans_code): Handle EXEC_CALL_PPC. | |
702 | * trans-expr.c (gfc_conv_component_ref): Ditto. | |
703 | (gfc_conv_function_val): Rename to 'conv_function_val', add new | |
704 | argument 'expr' and handle procedure pointer components. | |
705 | (gfc_conv_operator_assign): Renamed gfc_conv_function_val. | |
706 | (gfc_apply_interface_mapping_to_expr): Handle EXPR_PPC. | |
707 | (gfc_conv_function_call): Rename to 'gfc_conv_procedure_call', add new | |
708 | argument 'expr' and handle procedure pointer components. | |
709 | (gfc_get_proc_ptr_comp): New function to get the backend decl for a | |
710 | procedure pointer component. | |
711 | (gfc_conv_function_expr): Renamed gfc_conv_function_call. | |
712 | (gfc_conv_structure): Handle procedure pointer components. | |
713 | * trans-intrinsic.c (gfc_conv_intrinsic_funcall, | |
714 | conv_generic_with_optional_char_arg): Renamed gfc_conv_function_call. | |
715 | * trans-stmt.h (gfc_get_proc_ptr_comp): Add prototype. | |
716 | * trans-stmt.c (gfc_trans_call): Renamed gfc_conv_function_call. | |
717 | * trans-types.h (gfc_get_ppc_type): Add prototype. | |
718 | * trans-types.c (gfc_get_ppc_type): New function to build a tree node | |
719 | for a procedure pointer component. | |
720 | (gfc_get_derived_type): Handle procedure pointer components. | |
721 | ||
07a202c2 | 722 | 2009-05-06 Tobias Burnus <burnus@net-b.de> |
723 | ||
724 | PR fortran/40041 | |
725 | * resolve.c (resolve_symbol): Print no warning for implicitly | |
726 | typed intrinsic functions. | |
727 | ||
9664884e | 728 | 2009-05-05 Janus Weil <janus@gcc.gnu.org> |
729 | ||
730 | PR fortran/39998 | |
731 | * expr.c (gfc_check_pointer_assign): Check for statement functions and | |
732 | internal procedures in procedure pointer assignments. | |
733 | ||
65a8cc66 | 734 | 2009-04-28 Janus Weil <janus@gcc.gnu.org> |
735 | ||
736 | PR fortran/39946 | |
737 | * resolve.c (resolve_symbol): Correctly copy the interface of a | |
738 | PROCEDURE statement if the interface involves a RESULT variable. | |
739 | ||
81f278c3 | 740 | 2009-04-28 Janus Weil <janus@gcc.gnu.org> |
741 | ||
742 | PR fortran/39930 | |
743 | PR fortran/39931 | |
744 | * expr.c (gfc_check_pointer_assign): Correctly detect if the left hand | |
745 | side is a pointer. | |
746 | * parse.c (gfc_fixup_sibling_symbols): Don't check for ambiguity. | |
747 | ||
e5387fb9 | 748 | 2009-04-28 Paul Thomas <pault@gcc.gnu.org> |
749 | ||
750 | PR fortran/39879 | |
751 | * trans_expr.c (gfc_conv_procedure_call): Deep copy a derived | |
752 | type parentheses argument if it is a variable with allocatable | |
753 | components. | |
754 | ||
bc620c5c | 755 | 2009-04-27 Ian Lance Taylor <iant@google.com> |
756 | ||
757 | * trans-intrinsic.c (DEFINE_MATH_BUILTIN): Add casts to enum | |
758 | type. | |
759 | * trans-io.c (st_parameter_field): Add casts to enum type. | |
760 | ||
e1b99971 | 761 | 2009-04-26 Steven G. Kargl <kargl@gcc.gnu.org> |
762 | ||
763 | PR fortran/39893 | |
764 | fortran/data.c (gfc_assign_data_value): If the lvalue is an | |
765 | assumed character length entity in a data statement, then | |
766 | return FAILURE to prevent segmentation fault. | |
767 | ||
a1d07e97 | 768 | 2009-04-26 Jakub Jelinek <jakub@redhat.com> |
769 | ||
770 | * trans-decl.c: Include pointer-set.h. | |
771 | (nonlocal_dummy_decl_pset, tree nonlocal_dummy_decls): New variables. | |
772 | (gfc_nonlocal_dummy_array_decl): New function. | |
773 | (gfc_get_symbol_decl): Call it for non-local dummy args with saved | |
774 | descriptor. | |
775 | (gfc_get_symbol_decl): Set DECL_BY_REFERENCE when needed. | |
776 | (gfc_generate_function_code): Initialize nonlocal_dummy_decl{s,_pset}, | |
777 | chain it to outermost block's vars, destroy it afterwards. | |
778 | * Make-lang.in (trans-decl.o): Depend on pointer-set.h. | |
779 | ||
a15d1caf | 780 | 2009-04-25 Janus Weil <janus@gcc.gnu.org> |
781 | ||
782 | PR fortran/39688 | |
783 | * decl.c (gfc_match_import): Use 'sym->name' instead of 'name'. | |
784 | They differ if the symbol has been use-renamed. | |
785 | ||
8458f4ca | 786 | 2009-04-24 Ian Lance Taylor <iant@google.com> |
787 | ||
788 | * gfortran.h (enum gfc_symbol_type): New named enum type, broken | |
789 | out of struct gfc_symbol. | |
790 | (struct gfc_symbol): Use enum gfc_symbol_type. | |
791 | (enum gfc_array_ref_dimen_type): New named enum type, broken out | |
792 | of struct gfc_array_ref). | |
793 | (struct gfc_array_ref): Use enum gfc_array_ref_dimen_type. | |
794 | (mod_pointee_as): Update declaration. | |
795 | * decl.c (add_global_entry): Change type to enum gfc_symbol_type. | |
796 | (gfc_mod_pointee_as): Change return type to "match". | |
797 | * module.c (mio_array_ref): Add cast to enum type. | |
798 | (mio_symbol): Likewise. | |
799 | * resolve.c (resolve_global_procedure): Change type to enum | |
800 | gfc_symbol_type. | |
801 | * trans-io.c (gfc_build_st_parameter): Change type to unsigned | |
802 | int. | |
803 | ||
3323e9b1 | 804 | 2009-04-24 Daniel Kraft <d@domob.eu> |
805 | ||
806 | * gfortran.h (gfc_get_typebound_proc): Removed as macro, now a function. | |
f9b3b191 | 807 | (struct gfc_symtree): Moved "typebound" member inside union. |
808 | (struct gfc_namespace): Add "tb_sym_root" as new symtree to sort out | |
3323e9b1 | 809 | type-bound procedures there. |
810 | (gfc_get_tbp_symtree): New procedure. | |
811 | * symbol.c (tentative_tbp_list): New global. | |
f9b3b191 | 812 | (gfc_get_namespace): NULL new "tb_sym_root" member. |
813 | (gfc_new_symtree): Removed initialization of "typebound" member. | |
3323e9b1 | 814 | (gfc_undo_symbols): Process list of tentative tbp's. |
815 | (gfc_commit_symbols): Ditto. | |
816 | (free_tb_tree): New method. | |
817 | (gfc_free_namespace): Call it. | |
818 | (gfc_get_typebound_proc): New method. | |
819 | (gfc_get_tbp_symtree): New method. | |
820 | (gfc_find_typebound_proc): Adapt to structural changes of gfc_symtree | |
821 | and gfc_namespace with regards to tbp's. | |
822 | * dump-parse-tree.c (show_typebound): Ditto. | |
823 | * primary.c (gfc_match_varspec): Ditto. Don't reference tbp-symbol | |
824 | as it isn't a symbol any longer. | |
825 | * module.c (mio_typebound_symtree): Adapt to changes. | |
f9b3b191 | 826 | (mio_typebound_proc): Ditto, create symtrees using "gfc_get_tbp_symtree" |
827 | rather than "gfc_get_sym_tree". | |
3323e9b1 | 828 | (mio_f2k_derived): Ditto. |
829 | * decl.c (match_procedure_in_type): Ditto. | |
830 | (gfc_match_generic): Ditto. Don't reference tbp-symbol. | |
831 | * resolve.c (check_typebound_override): Adapt to changes. | |
832 | (resolve_typebound_generic): Ditto. | |
833 | (resolve_typebound_procedures): Ditto. | |
834 | (ensure_not_abstract_walker): Ditto. | |
835 | (ensure_not_abstract): Ditto. | |
836 | (resolve_typebound_procedure): Ditto, ignore erraneous symbols (for | |
837 | instance, through removed tentative ones). | |
838 | * gfc-internals.texi (Type-bound procedures): Document changes. | |
839 | ||
d483863c | 840 | 2009-04-24 Janus Weil <janus@gcc.gnu.org> |
841 | ||
842 | PR fortran/39861 | |
843 | PR fortran/39864 | |
844 | * symbol.c (gfc_copy_formal_args_intr): Set attr.flavor and attr.dummy | |
845 | for the formal arguments. | |
846 | ||
fb1e4f4a | 847 | 2009-04-21 Taras Glek <tglek@mozilla.com> |
848 | ||
849 | * f95-lang.c: Update GTY annotations to new syntax. | |
850 | * trans-intrinsic.c: Likewise. | |
851 | * trans-io.c: Likewise. | |
852 | * trans.h: Likewise. | |
853 | ||
180a5dc0 | 854 | 2009-04-22 Janus Weil <janus@gcc.gnu.org> |
855 | ||
856 | PR fortran/39735 | |
857 | * decl.c (add_hidden_procptr_result): Bugfix for procptr results. | |
858 | (match_procedure_decl): Set if_source. | |
859 | * expr.c (gfc_check_pointer_assign): Bugfix: Return after error. | |
860 | And: Check interface also for IFSRC_UNKNOWN (return type may be known). | |
861 | * gfortran.h (typedef enum ifsrc): Remove IFSRC_USAGE, | |
862 | add documentation. Rename copy_formal_args and copy_formal_args_intr. | |
863 | * interface.c (gfc_compare_interfaces): Check for return types, | |
864 | handle IFSRC_UNKNOWN. | |
865 | (compare_intr_interfaces,compare_actual_formal_intr): Obsolete, removed. | |
866 | (gfc_procedure_use): Modified handling of intrinsics. | |
867 | * intrinsic.c (add_functions): Bugfix for "dim". | |
868 | * resolve.c (resolve_intrinsic): New function to resolve intrinsics, | |
869 | which copies the interface from isym to sym. | |
870 | (resolve_procedure_expression,resolve_function): Use new function | |
871 | 'resolve_intrinsic'. | |
872 | (resolve_symbol): Add function attribute for externals with return type | |
873 | and use new function 'resolve_intrinsic'. | |
874 | * symbol.c (ifsrc_types): Remove string for IFSRC_USAGE. | |
875 | (copy_formal_args): Renamed to gfc_copy_formal_args. | |
876 | (copy_formal_args_intr): Renamed to gfc_copy_formal_args_intr. | |
877 | * trans-const.c (gfc_conv_const_charlen): Handle cl==NULL. | |
878 | ||
7dfbd804 | 879 | 2009-04-21 Joseph Myers <joseph@codesourcery.com> |
880 | ||
881 | * ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, | |
882 | ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, | |
883 | ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add | |
884 | copyright and license notices. | |
885 | * ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, | |
886 | ChangeLog-2008: Correct dates. | |
887 | ||
379349af | 888 | 2009-04-20 Tobias Burnus <burnus@net-b.de> |
889 | ||
890 | PR fortran/39811 | |
891 | * scanner.c (load_line): Fix bogus "&" compile-time diagnostic. | |
892 | ||
9386f343 | 893 | 2009-04-20 Paul Thomas <pault@gcc.gnu.org> |
894 | ||
895 | PR fortran/39800 | |
896 | * resolve.c (is_sym_host_assoc): New function. | |
897 | (resolve_fl_derived): Call it when checking PRIVATE components | |
898 | of PUBLIC derived types. Change gfc_error to a gfc_notify_std | |
899 | with std=f2003. | |
900 | (resolve_fl_namelist): Call it twice to check for host | |
901 | association. | |
902 | ||
d62fb8de | 903 | 2009-04-20 Ian Lance Taylor <iant@google.com> |
904 | ||
905 | * module.c (import_iso_c_binding_module): Add casts to enum type. | |
906 | * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum | |
907 | tree_code. | |
908 | (gfc_conv_intrinsic_anyall): Likewise. | |
909 | (gfc_conv_intrinsic_arith): Likewise. | |
910 | (gfc_conv_intrinsic_minmaxloc): Likewise. | |
911 | (gfc_conv_intrinsic_minmaxval): Likewise. | |
912 | (gfc_conv_intrinsic_bitop): Likewise. | |
913 | (gfc_conv_intrinsic_singlebitop): Likewise. | |
914 | (gfc_conv_intrinsic_strcmp): Likewise. | |
915 | ||
e2720a06 | 916 | 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> |
917 | Jakub Jelinek <jakub@redhat.com> | |
918 | ||
919 | PR fortran/35423 | |
920 | * trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT, | |
921 | OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define. | |
922 | (ompws_flags): New extern decl. | |
923 | * trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR | |
924 | for the outer dimension if ompws_flags allow it. | |
925 | * trans.c (gfc_generate_code): Clear ompws_flags. | |
926 | * trans-expr.c (gfc_trans_assignment_1): Allow worksharing | |
927 | array assignments inside of !$omp workshare. | |
928 | * trans-stmt.c (gfc_trans_where_3): Similarly for where statements | |
929 | and constructs. | |
930 | * trans-openmp.c (ompws_flags): New variable. | |
931 | (gfc_trans_omp_workshare): Rewritten. | |
932 | ||
a4abf8a0 | 933 | 2009-04-11 Daniel Kraft <d@domob.eu> |
934 | ||
935 | PR fortran/37746 | |
f9b3b191 | 936 | * gfortran.h (struct gfc_charlen): New field "passed_length" to store |
a4abf8a0 | 937 | the actual passed string length for dummy arguments. |
938 | * trans-decl.c (gfc_create_string_length): Formatting fixes and added | |
939 | assertion, moved a local variable into the innermost block it is needed. | |
940 | (create_function_arglist): Removed TODO about the check being | |
941 | implemented and initialize cl->passed_length here. | |
942 | (add_argument_checking): New method. | |
943 | (gfc_generate_function_code): Call the argument checking method. | |
944 | ||
72ac71f6 | 945 | 2009-04-11 Janus Weil <janus@gcc.gnu.org> |
946 | ||
947 | PR fortran/39692 | |
948 | * symbol.c (check_conflict): Reject procedure pointers for -std=f95. | |
949 | ||
950 | 2009-04-11 Daniel Franke <franke.daniel@gmail.com> | |
f5cd2fee | 951 | |
952 | * resolve.c (resolve_global_procedure): Enable whole-file checking for | |
953 | procedures that are declared later in the file. | |
954 | ||
ec193676 | 955 | 2009-04-10 Paolo Bonzini <bonzini@gnu.org> |
956 | ||
957 | PR middle-end/39701 | |
958 | * trans.c (gfc_allocate_with_status): Fix type mismatches | |
959 | on "pstat == 0". | |
960 | ||
77ca2008 | 961 | 2009-04-10 Daniel Franke <franke.daniel@gmail.com> |
962 | ||
963 | PR fortran/38709 | |
964 | * expr.c (find_array_section): Leave early on zero-sized arrays. | |
965 | ||
1e057e9b | 966 | 2009-04-09 Janus Weil <janus@gcc.gnu.org> |
967 | ||
968 | PR fortran/36704 | |
969 | * decl.c (add_hidden_procptr_result): New function for handling | |
970 | procedure pointer return values by adding a hidden result variable. | |
971 | (variable_decl,match_procedure_decl,gfc_match_function_decl, | |
972 | gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer | |
973 | return values. | |
974 | * parse.c (parse_interface): Add EXTERNAL attribute only after | |
975 | FUNCTION/SUBROUTINE declaration is complete. | |
976 | * primary.c (replace_hidden_procptr_result): New function for replacing | |
977 | function symbol by hidden result variable. | |
978 | (gfc_match_rvalue,match_variable): Replace symbol by hidden result | |
979 | variable. | |
980 | * resolve.c (resolve_contained_fntype,resolve_function,resolve_variable, | |
981 | resolve_symbol): Allow for procedure pointer function results. | |
982 | (resolve_fl_procedure): Conflict detection moved here from | |
983 | 'check_conflict'. | |
984 | * symbol.c (gfc_check_function_type): Allow for procedure pointer | |
985 | function results. | |
986 | (check_conflict): Move some conflict detection to resolution stage. | |
987 | * trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden | |
988 | result variables. | |
989 | ||
7ca4e853 | 990 | 2009-04-08 Jakub Jelinek <jakub@redhat.com> |
991 | ||
992 | * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't | |
993 | contain TYPE_STRING_FLAG types. | |
994 | ||
dd34c843 | 995 | 2009-04-08 Janne Blomqvist <jb@gcc.gnu.org> |
996 | ||
997 | PR fortran/39670 | |
998 | * invoke.texi (fdollar-ok): Fix typo. | |
999 | ||
fee96e90 | 1000 | 2009-04-08 Daniel Franke <franke.daniel@gmail.com> |
1001 | ||
1002 | PR fortran/39670 | |
1003 | * invoke.texi (fdollar-ok): Clarify limitations. | |
1004 | ||
1285d852 | 1005 | 2009-04-08 Paul Thomas <pault@gcc.gnu.org> |
1006 | ||
1007 | PR fortran/38863 | |
1008 | * trans-array.c (gfc_trans_deferred_array): Return if this | |
1009 | is a result variable. | |
1010 | ||
7251ca54 | 1011 | 2009-04-07 Janus Weil <janus@gcc.gnu.org> |
1012 | ||
1013 | PR fortran/38152 | |
1014 | * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for | |
1015 | procedure pointer decls. | |
1016 | ||
4f197fce | 1017 | 2009-04-07 Janus Weil <janus@gcc.gnu.org> |
1018 | ||
31ca515c | 1019 | PR fortran/38290 |
4f197fce | 1020 | * expr.c (gfc_check_pointer_assign): Enable interface check for |
1021 | procedure pointers. | |
1022 | * gfortran.h: Add copy_formal_args_intr. | |
1023 | * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces | |
1024 | if second argument is an intrinsic. | |
1025 | (compare_intr_interfaces): Correctly set attr.function, attr.subroutine | |
1026 | and ts. | |
1027 | (compare_parameter): Call gfc_compare_interfaces also for intrinsics. | |
1028 | * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve | |
1029 | intrinsic interfaces here. Must happen earlier. | |
1030 | (resolve_symbol): Resolution of intrinsic interfaces moved here from | |
1031 | resolve_specific_..., and formal args are now copied from intrinsic | |
1032 | interfaces. | |
1033 | * symbol.c (copy_formal_args_intr): New function to copy the formal | |
1034 | arguments from an intinsic procedure. | |
1035 | ||
4992c81a | 1036 | 2009-04-06 Paul Thomas <pault@gcc.gnu.org> |
1037 | ||
1038 | PR fortran/38863 | |
1039 | * dependency.c (ref_same_as_full_array): New function. | |
1040 | (gfc_dep_resolver): Call it. | |
1041 | ||
13a834aa | 1042 | 2009-04-06 Janus Weil <janus@gcc.gnu.org> |
1043 | ||
f9b3b191 | 1044 | PR fortran/39414 |
1045 | * decl.c (match_procedure_decl): Fix double declaration problems with | |
1046 | PROCEDURE statements. | |
1047 | * symbol.c (gfc_add_type): Ditto. | |
13a834aa | 1048 | |
d6fd607d | 1049 | 2009-04-06 Paul Thomas <pault@gcc.gnu.org> |
1050 | ||
f9b3b191 | 1051 | PR fortran/36091 |
1052 | * trans-array.c (gfc_conv_array_ref): If the symbol has the | |
d6fd607d | 1053 | temporary attribute use the array_spec for the bounds. |
1054 | * gfortran.h : Add the temporary field to the structure | |
1055 | 'symbol_attribute'. | |
1056 | * trans-stmt.c (forall_make_variable_temp): Set the symbol's | |
1057 | temporary attribute. | |
1058 | ||
20fcf76b | 1059 | 2009-04-05 Daniel Franke <franke.daniel@gmail.com> |
1060 | ||
1061 | PR fortran/29458 | |
1062 | * trans-array.c (gfc_trans_array_constructor_value): Shadow | |
1063 | implied do-loop variable to avoid spurious middle-end warnings. | |
1064 | ||
e50e62f5 | 1065 | 2009-04-04 Tobias Burnus <burnus@net-b.de> |
1066 | ||
1067 | PR fortran/39577 | |
1068 | * trans-decl.c (gfc_generate_function_code): Move recursive | |
1069 | check to the right position. | |
1070 | ||
a9f59e79 | 1071 | 2009-04-04 Paul Thomas <pault@gcc.gnu.org> |
1072 | ||
1073 | PR fortran/37614 | |
1074 | * trans-common.c (translate_common): Do not offset the whole | |
1075 | coomon block. | |
1076 | ||
bb80cc66 | 1077 | 2009-04-03 Tobias Burnus <burnus@net-b.de> |
1078 | ||
1079 | PR fortran/39594 | |
1080 | * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol | |
1081 | if it is not a procedure pointer. | |
1082 | * primary.c (match_actual_arg): Ditto. | |
1083 | ||
ff903809 | 1084 | 2009-03-31 Joseph Myers <joseph@codesourcery.com> |
1085 | ||
1086 | PR preprocessor/15638 | |
1087 | * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL. | |
1088 | ||
e9d30d9c | 1089 | 2009-03-30 Steven G. Kargl <kargls@comcast.net> |
1090 | ||
1091 | PR fortran/38389 | |
1092 | * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG. | |
1093 | (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale | |
1094 | comments. Minor whitespace cleanup. | |
1095 | * resolve.c(is_scalar_expr_ptr): Whitespace cleanup. | |
1096 | (resolve_deallocate_expr (gfc_expr *e): Update error message. | |
1097 | (resolve_allocate_expr): Remove dead code. Update error message. | |
1098 | Move error checking to ... | |
1099 | (resolve_allocate_deallocate): ... here. Add additional error | |
1100 | checking for STAT, ERRMSG, and allocate-objects. | |
1101 | * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG. | |
1102 | Check for redundant uses of STAT and ERRMSG. Reword error message | |
1103 | and add checking for pointer, allocatable, and proc_pointer attributes. | |
1104 | ||
83aeedb9 | 1105 | 2009-03-30 Paul Thomas <pault@gcc.gnu.org> |
1106 | ||
1107 | PR fortran/22571 | |
1108 | PR fortran/26227 | |
1109 | PR fortran/24886 | |
1110 | * symbol.c : Add gfc_global_ns_list. | |
1111 | * decl.c (add_global_entry): Set the namespace ('ns') field. | |
1112 | * gfortran.h : Add the resolved field to gfc_namespace. Add the | |
1113 | namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to | |
1114 | gfc_option_t. Add the prototype for gfc_free_dt_list. | |
1115 | * lang.opt : Add the whole-file option. | |
1116 | * invoke.texi : Document the whole-file option. | |
1117 | * resolve.c (resolve_global_procedure): If the fwhole-file | |
1118 | option is set, reorder gsymbols to ensure that translation is | |
1119 | in the right order. Resolve the gsymbol's namespace if that | |
1120 | has not occurred and then check interfaces. | |
1121 | (resolve_function): Move call to resolve_global_procedure. | |
1122 | (resolve_call): The same. | |
1123 | (resolve_codes): Store the current labels_obstack. | |
1124 | (gfc_resolve) : Return if the namespace is already resolved. | |
1125 | trans-decl.c (gfc_get_extern_function_decl): If the whole_file | |
1126 | option is selected, use the backend_decl of a gsymbol, if it is | |
1127 | available. | |
1128 | parse.c (add_global_procedure, add_global_program): If the flag | |
1129 | whole-file is set, add the namespace to the gsymbol. | |
1130 | (gfc_parse_file): On -fwhole-file, put procedure namespaces on | |
1131 | the global namespace list. Rearrange to do resolution of all | |
1132 | the procedures in a file, followed by their translation. | |
1133 | * options.c (gfc_init_options): Add -fwhole-file. | |
1134 | (gfc_handle_option): The same. | |
1135 | ||
4792ff6e | 1136 | 2009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
1137 | ||
1138 | * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL | |
1139 | family of intrinsics instead of BUILT_IN_INF family. | |
1140 | * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use | |
1141 | BUILT_IN_HUGE_VAL instead of BUILT_IN_INF. | |
1142 | ||
a59b7afb | 1143 | 2009-03-30 Jakub Jelinek <jakub@redhat.com> |
1144 | ||
1145 | * trans-types.c (gfc_sym_type, gfc_return_by_reference): For | |
1146 | sym->attr.result check sym->ns->proc_name->attr.is_bind_c. | |
1147 | ||
c6418a4e | 1148 | 2009-03-30 Joseph Myers <joseph@codesourcery.com> |
1149 | ||
1150 | PR rtl-optimization/323 | |
1151 | * options.c (gfc_post_options): Set | |
1152 | flag_excess_precision_cmdline. Give an error for | |
1153 | -fexcess-precision=standard for processors where the option is | |
1154 | significant. | |
1155 | ||
7f5f3953 | 1156 | 2009-03-29 Joseph Myers <joseph@codesourcery.com> |
1157 | ||
1158 | PR preprocessor/34695 | |
1159 | * cpp.c (cb_cpp_error): New. | |
1160 | (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings. | |
1161 | Don't check cpp_errors (cpp_in). | |
1162 | (gfc_cpp_init_0): Set cb->error. | |
1163 | ||
786b9ac5 | 1164 | 2009-03-29 Steven G. Kargl <kargl@gcc.gnu.org> |
1165 | ||
1166 | PR fortran/38823 | |
1167 | * gfortran.h: Add ARITH_PROHIBIT to arith enum. | |
1168 | expr.c (gfc_match_init_expr): Add global variable init_flag to | |
1169 | flag matching an initialization expression. | |
1170 | (check_intrinsic_op): Move no longer reachable error message to ... | |
1171 | * arith.c (arith_power): ... here. Remove gfc_ prefix in | |
1172 | gfc_arith_power. Use init_flag. Allow constant folding of x**y | |
1173 | when y is REAL or COMPLEX. | |
1174 | (eval_intrinsic): Remove restriction that y in x**y must be INTEGER | |
1175 | for constant folding. | |
1176 | * gfc_power: Update gfc_arith_power to arith_power | |
1177 | ||
61c3b81d | 1178 | 2009-03-29 Daniel Kraft <d@domob.eu> |
1179 | ||
1180 | PR fortran/37423 | |
f9b3b191 | 1181 | * gfortran.h (struct gfc_typebound_proc): Added new flag "deferred" and |
61c3b81d | 1182 | added a comment explaining DEFERRED binding handling. |
1183 | * decl.c (match_binding_attributes): Really match DEFERRED attribute. | |
1184 | (match_procedure_in_type): Really match PROCEDURE(interface) syntax | |
1185 | and do some validity checks for DEFERRED and this construct. | |
1186 | * module.c (binding_overriding): New string constant for DEFERRED. | |
1187 | (mio_typebound_proc): Module-IO DEFERRED flag. | |
1188 | * resolve.c (check_typebound_override): Ensure that a non-DEFERRED | |
1189 | binding is not overridden by a DEFERRED one. | |
1190 | (resolve_typebound_procedure): Allow abstract interfaces as targets | |
1191 | for DEFERRED bindings. | |
1192 | (ensure_not_abstract_walker), (ensure_not_abstract): New methods. | |
f9b3b191 | 1193 | (resolve_fl_derived): Use new "ensure_not_abstract" method for |
61c3b81d | 1194 | non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED |
1195 | binding is overridden. | |
1196 | (check_typebound_baseobject): New method. | |
1197 | (resolve_compcall), (resolve_typebound_call): Check base-object of | |
1198 | the type-bound procedure call. | |
1199 | * gfc-internals.texi (Type-bound procedures): Document a little bit | |
1200 | about internal handling of DEFERRED bindings. | |
1201 | ||
f9b3b191 | 1202 | 2009-03-29 Tobias Schlueter <tobi@gcc.gnu.org> |
8581350b | 1203 | |
1204 | PR fortran/38507 | |
1205 | * gfortran.h (gfc_st_label): Fix comment. | |
1206 | (gfc_exec_op): Add statement code EXEC_END_BLOCK for end of block. | |
1207 | * parse.c (accept_statement): Use EXEC_END_BLOCK for END IF and | |
1208 | END SELECT with labels. | |
1209 | (check_do_closure): Fix formatting. | |
1210 | (parse_do_block): Fix typo in error message. | |
1211 | * resolve.c (code_stack): Remove tail member. Update comment to | |
1212 | new use of reachable_labels. | |
1213 | (reachable_labels): Rename to ... | |
1214 | (find_reachable_labels): ... this. Overhaul. Update preceding | |
1215 | comment. | |
1216 | (resolve_branch): Fix comment preceding function. Rewrite. | |
1217 | (resolve_code): Update call to find_reachable_labels. Add code to | |
1218 | deal with EXEC_END_BLOCK. | |
1219 | * st.c (gfc_free_statement): Add code to deal with EXEC_END_BLOCK. | |
1220 | Add 2009 to copyright years. | |
1221 | * trans.c (gfc_trans_code): Likewise on both counts. | |
1222 | ||
95002c27 | 1223 | 2009-03-31 Paul Thomas <pault@gcc.gnu.org> |
1224 | ||
1225 | PR fortran/38917 | |
1226 | * expr.c (gfc_check_assign): Allow pointer components when | |
1227 | checking for NULL. | |
1228 | ||
1229 | PR fortran/38918 | |
1230 | * resolve.c (check_data_variable): Treat pointer arrays with | |
1231 | scalars. | |
1232 | ||
bd619047 | 1233 | 2009-03-31 Paul Thomas <pault@gcc.gnu.org> |
1234 | ||
1235 | PR fortran/38915 | |
1236 | * trans-expr.c (gfc_trans_assignment_1): Ensure temporaries | |
1237 | have a string_length. | |
1238 | ||
7f1bd03f | 1239 | 2009-03-28 Tobias Burnus <burnus@net-b.de> |
1240 | ||
1241 | PR fortran/34656 | |
1242 | * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do): | |
1243 | Add GFC_RTCHECK_DO support. | |
1244 | * option.c (gfc_handle_runtime_check_option): Enable GFC_RTCHECK_DO. | |
1245 | * invoke.texi (-fcheck): Document "do" option. | |
1246 | ||
41d817a1 | 1247 | 2009-03-28 Paul Thomas <pault@gcc.gnu.org> |
1248 | ||
7f1bd03f | 1249 | PR fortran/38538 |
1250 | * trans-array.c (get_elemental_fcn_charlen): Remove. | |
41d817a1 | 1251 | (get_array_charlen): New function to replace previous. |
1252 | ||
2dda651c | 1253 | 2009-03-28 Paul Thomas <pault@gcc.gnu.org> |
1254 | ||
1255 | PR fortran/38765 | |
1256 | * parse.c (parse_derived): Do not break on finding pointer, | |
1257 | allocatable or private components. | |
1258 | ||
a466adc9 | 1259 | 2009-03-28 Tobias Burnus <burnus@net-b.de> |
1260 | ||
1261 | PR fortran/32626 | |
1262 | * option.c (gfc_handle_runtime_check_option): Enable recursion check. | |
1263 | * trans-decl.c (gfc_generate_function_code): Add recursion check. | |
1264 | * invoke.texi (-fcheck): Add recursive option. | |
1265 | ||
f4084ad8 | 1266 | 2009-03-28 Tobias Burnus <burnus@net-b.de> |
1267 | ||
1268 | PR fortran/38432 | |
1269 | * resolve.c (gfc_resolve_iterator): Add zero-loop warning. | |
1270 | ||
ad8ed98e | 1271 | 2009-03-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
1272 | Paul Thomas <pault@gcc.gnu.org> | |
1273 | Tobias Burnus <burnus@net-b.de> | |
1274 | ||
1275 | * gfortran.h (gfc_option_t): Add rtcheck. | |
a466adc9 | 1276 | * lang.opt: New option -fcheck. |
ad8ed98e | 1277 | * libgfortran.h: Add GFC_RTCHECK_* constants. |
a466adc9 | 1278 | * invoke.texi: Document -fcheck. |
ad8ed98e | 1279 | * options.c (gfc_handle_runtime_check_option): New function. |
1280 | (gfc_init_options,gfc_post_options,gfc_handle_option): | |
a466adc9 | 1281 | Add -fcheck option. |
ad8ed98e | 1282 | |
86f2ad37 | 1283 | 2009-03-27 Richard Guenther <rguenther@suse.de> |
1284 | ||
1285 | * trans-array.c (gfc_conv_descriptor_data_addr): Use | |
1286 | gfc_build_addr_expr instead of build_fold_addr_expr. | |
1287 | (gfc_trans_allocate_array_storage, gfc_trans_array_constructor_value, | |
1288 | gfc_trans_constant_array_constructor, gfc_conv_array_data, | |
1289 | gfc_conv_expr_descriptor, gfc_conv_array_parameter): Likewise. | |
1290 | * trans-expr.c (gfc_conv_missing_dummy, gfc_conv_variable, | |
1291 | gfc_conv_function_val, gfc_conv_operator_assign, | |
1292 | gfc_conv_subref_array_arg, gfc_conv_function_call, | |
1293 | gfc_conv_expr_reference, gfc_trans_scalar_assign): Likewise. | |
1294 | * trans-intrinsic.c (gfc_conv_intrinsic_exponent, | |
1295 | gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, | |
1296 | gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax_char, | |
1297 | gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_spacing, | |
1298 | gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_set_exponent, | |
1299 | gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer, | |
1300 | gfc_conv_intrinsic_si_kind, gfc_conv_intrinsic_trim): Likewise. | |
1301 | * trans-io.c (gfc_trans_io_runtime_check, set_parameter_ref, | |
1302 | gfc_convert_array_to_string, gfc_trans_open, gfc_trans_close, | |
1303 | build_filepos, gfc_trans_inquire, gfc_trans_wait, | |
1304 | nml_get_addr_expr, transfer_namelist_element, build_dt, | |
1305 | gfc_trans_dt_end, transfer_array_component, transfer_expr, | |
1306 | transfer_array_desc, gfc_trans_transfer): Likewise. | |
1307 | * trans-stmt.c (gfc_trans_allocate, gfc_trans_deallocate): Likewise. | |
1308 | * trans.c (gfc_build_addr_expr): Mark the base of the address | |
1309 | TREE_ADDRESSABLE. | |
1310 | ||
2b6bc4f2 | 1311 | 2009-03-27 Tobias Burnus <burnus@net-b.de> |
1312 | ||
1313 | * gfortran.h (enum init_local_real.): Add GFC_INIT_REAL_SNAN. | |
1314 | (gfc_expr): Add is_snan. | |
1315 | * trans-const.c (gfc_conv_mpfr_to_tree): Support SNaN. | |
1316 | (gfc_conv_constant_to_tree): Update call to gfc_conv_mpfr_to_tree. | |
1317 | * trans-const.h (gfc_conv_mpfr_to_tree): Update prototype. | |
1318 | * resolve.c (build_default_init_expr): Update call. | |
1319 | * target-memory.c (encode_float): Ditto. | |
1320 | * trans-intrinsic.c (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod, | |
1321 | ||
286c29e2 | 1322 | 2009-03-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1323 | ||
1324 | * lang.opt: Unify help texts for -I, -Wconversion, -d, -fopenmp, | |
1325 | and -fpreprocessed. | |
1326 | ||
b3045279 | 1327 | 2009-03-06 Alexandre Oliva <aoliva@redhat.com> |
1328 | ||
1329 | * simplify.c (gfc_simplify_transfer): Zero-initialize the | |
1330 | buffer. | |
1331 | ||
e08db3bb | 1332 | 2009-02-27 Tobias Burnus <burnus@net-b.de> |
1333 | ||
1334 | PR fortran/39309 | |
1335 | * module.c (read_md5_from_module_file): Add missing quote. | |
1336 | ||
eab3fab2 | 1337 | 2009-02-27 Tobias Burnus <burnus@net-b.de> |
1338 | ||
1339 | PR fortran/39309 | |
1340 | * module.c (read_md5_from_module_file): Include mod version | |
1341 | in had-changed test. | |
1342 | ||
dd967011 | 1343 | 2009-02-26 Paul Thomas <pault@gcc.gnu.org> |
1344 | ||
1345 | PR fortran/39295 | |
1346 | * interface.c (compare_type_rank_if): Return 1 if the symbols | |
1347 | are the same and deal with external procedures where one is | |
1348 | identified to be a function or subroutine by usage but the | |
1349 | other is not. | |
1350 | ||
692b9a1a | 1351 | 2009-02-26 Paul Thomas <pault@gcc.gnu.org> |
1352 | ||
1353 | PR fortran/39292 | |
1354 | * trans-array.c (gfc_conv_array_initializer): Convert all | |
1355 | expressions rather than ICEing. | |
1356 | ||
a330630f | 1357 | 2009-02-21 Thomas Koenig <tkoenig@gcc.gnu.org> |
b9bcea64 | 1358 | |
1359 | PR fortran/38914 | |
1360 | * array.c (ref_dimen_size): Rename to gfc_ref_dimen_size, | |
1361 | make global. Change function name in error messages. | |
1362 | (ref_size): Change ref_dimen_size to gfc_ref_dimen_size. | |
1363 | (gfc_array_ref_shape): Likewise. | |
1364 | * gfortran.h: Add prototype for gfc_ref_dimen_size. | |
1365 | * simplify.c (simplify_bound_dim): Add ref argument. | |
1366 | If the reference isn't a full array, return one for | |
1367 | the lower bound and the extent for the upper bound. | |
1368 | (simplify_bound): For array sections, take as from the | |
1369 | argument. Add reference to all to simplify_bound_dim. | |
1370 | ||
7cbd63f1 | 1371 | 2009-02-19 Daniel Franke <franke.daniel@gmail.com> |
1372 | ||
1373 | * scanner.c (load_line): At end of line, skip '\r' without setting | |
1374 | the truncation flag. | |
1375 | ||
049d6ee8 | 1376 | 2009-02-18 Daniel Kraft <d@domob.eu> |
1377 | ||
1378 | * gfortran.texi: New chapter about compiler characteristics. | |
1379 | (Compiler Characteristics): Document KIND type parameters here. | |
1380 | ||
3c3f2fcc | 1381 | 2009-02-18 Tobias Burnus <burnus@net-b.de> |
1382 | ||
1383 | * intrinsic.texi (MALLOC): Make example more portable. | |
1384 | ||
a6f624bd | 1385 | 2009-02-13 Mikael Morin <mikael.morin@tele2.fr> |
1386 | ||
1387 | PR fortran/38259 | |
1388 | * module.c (gfc_dump_module,gfc_use_module): Add module | |
1389 | version number. | |
1390 | ||
623416e8 | 1391 | 2009-02-13 Paul Thomas <pault@gcc.gnu.org> |
1392 | ||
1393 | PR fortran/36703 | |
1394 | PR fortran/36528 | |
1395 | * trans-expr.c (gfc_conv_function_val): Stabilize Cray-pointer | |
1396 | function references to ensure that a valid expression is used. | |
1397 | (gfc_conv_function_call): Pass Cray pointers to procedures. | |
1398 | ||
5a371c77 | 1399 | 2009-02-03 Jakub Jelinek <jakub@redhat.com> |
1400 | ||
1401 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
1402 | dates. | |
1403 | ||
0163eeb8 | 1404 | 2009-01-28 Paul Thomas <pault@gcc.gnu.org> |
1405 | ||
1406 | PR fortran/38852 | |
1407 | PR fortran/39006 | |
1408 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Use the array | |
1409 | descriptor ubound for UBOUND, when the array lbound == 1. | |
1410 | ||
437ffc03 | 1411 | 2009-01-27 Daniel Kraft <d@domob.eu> |
1412 | ||
1413 | PR fortran/38883 | |
1414 | * trans-stmt.c (gfc_conv_elemental_dependencies): Create temporary | |
1415 | for the real type needed to make it work for subcomponent-references. | |
1416 | ||
edfaa9e3 | 1417 | 2009-01-21 Daniel Kraft <d@domob.eu> |
1418 | ||
1419 | * trans-stmt.c (gfc_conv_elemental_dependencies): Cleaned up comment. | |
1420 | ||
f6eeace7 | 1421 | 2009-01-20 Paul Thomas <pault@gcc.gnu.org> |
1422 | ||
1423 | PR fortran/38907 | |
1424 | * resolve.c (check_host_association): Remove the matching to | |
1425 | correct an incorrect host association and use manipulation of | |
1426 | the expression instead. | |
1427 | ||
67bc85bf | 1428 | 2009-01-20 Tobias Burnus <burnus@net-b.de> |
1429 | ||
1430 | * invoke.texi (RANGE): RANGE also takes INTEGER arguments. | |
1431 | ||
fef578d4 | 1432 | 2009-01-19 Mikael Morin <mikael.morin@tele2.fr> |
1433 | ||
1434 | PR fortran/38859 | |
1435 | * simplify.c (simplify_bound): Don't use array specification | |
1436 | if variable or component has subsequent references. | |
1437 | ||
e9d67b60 | 1438 | 2009-01-17 Paul Thomas <pault@gcc.gnu.org> |
1439 | ||
1440 | PR fortran/38657 | |
1441 | * module.c (write_common_0): Add argument 'this_module' and | |
1442 | check that non-use associated common blocks are written first. | |
1443 | (write_common): Call write_common_0 twice, once with true and | |
1444 | then with false. | |
1445 | ||
891756c7 | 1446 | 2009-01-17 Paul Thomas <pault@gcc.gnu.org> |
1447 | ||
1448 | PR fortran/34955 | |
1449 | * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Has | |
1450 | been absorbed into gfc_conv_intrinsic_transfer. All | |
1451 | references to it in trans-intrinsic.c have been changed | |
1452 | accordingly. PR fixed by using a temporary for scalar | |
1453 | character transfer, when the source is shorter than the | |
1454 | destination. | |
1455 | ||
7d88211b | 1456 | 2009-01-17 Paul Thomas <pault@gcc.gnu.org> |
1457 | ||
1458 | PR fortran/38657 | |
1459 | * module.c (write_common_0): Revert patch of 2009-01-05. | |
1460 | ||
cf269acc | 1461 | 2009-01-16 Janus Weil <janus@gcc.gnu.org> |
1462 | ||
1463 | PR fortran/38152 | |
1464 | * expr.c (gfc_check_pointer_assign): Allow use-associated procedure | |
1465 | pointers as lvalue. | |
1466 | * trans-decl.c (get_proc_pointer_decl,gfc_create_module_variable): | |
1467 | Enable procedure pointers as module variables. | |
1468 | ||
f0b1891a | 1469 | 2009-01-14 Steven G. Kargl <kargl@gcc.gnu.org> |
1470 | ||
1471 | * ChangeLog-2007: Clean out svn merge droppings. | |
1472 | ||
7e9a4b05 | 1473 | 2009-01-10 Paul Thomas <pault@gcc.gnu.org> |
1474 | ||
1475 | PR fortran/38763 | |
1476 | * target-memory.c (encode_derived): Encode NULL. | |
1477 | ||
6f307f34 | 1478 | 2009-01-10 Paul Thomas <pault@gcc.gnu.org> |
1479 | ||
1480 | PR fortran/38765 | |
1481 | * resolve.c (check_host_association): Use the symtree name to | |
1482 | search for a potential contained procedure, since this is the | |
1483 | name by which it would be referenced. | |
1484 | ||
f23a14d4 | 1485 | 2009-01-06 Thomas Koenig <tkoenig@gcc.gnu.org> |
1486 | ||
1487 | PR fortran/38220 | |
1488 | * interface.c (gfc_procedure_use): Don't warn about functions | |
1489 | from ISO_C_BINDING. | |
1490 | * symbol.c (generate_isocbinding_symbol): Mark c_loc and | |
1491 | c_funloc as pure. | |
1492 | ||
8529b316 | 1493 | 2009-01-05 Paul Thomas <pault@gcc.gnu.org> |
1494 | ||
1495 | PR fortran/38657 | |
1496 | * module.c (write_common_0): Use the name of the symtree rather | |
1497 | than the common block, to determine if the common has been | |
1498 | written. | |
1499 | ||
2daf21fd | 1500 | 2009-01-05 Daniel Franke <franke.daniel@gmail.com> |
1501 | ||
1502 | PR fortran/37159 | |
1503 | * check.c (gfc_check_random_seed): Added size check for GET | |
1504 | dummy argument, reworded error messages to follow common pattern. | |
1505 | ||
fc12e066 | 1506 | 2009-01-05 Thomas Koenig <tkoenig@gcc.gnu.org> |
1507 | ||
1508 | PR fortran/38672 | |
1509 | * trans-types.c (gfc_get_derived_type): Check for the | |
1510 | presence of derived->ns->proc_name before | |
1511 | accessing derived->ns->proc_name->attr.flavor . | |
1512 | * resolve.c (resolve_symbol): Likewise. | |
1513 | ||
499335e4 | 1514 | 2009-01-05 Paul Thomas <pault@gcc.gnu.org> |
1515 | ||
1516 | PR fortran/38665 | |
1517 | * gfortran.h : Add bit to gfc_expr 'user_operator' | |
1518 | * interface.c (gfc_extend_expr): Set the above if the operator | |
1519 | is substituted by a function. | |
1520 | * resolve.c (check_host_association): Return if above is set. | |
1521 | ||
9ed3ad48 | 1522 | 2009-01-04 Mikael Morin <mikael.morin@tele2.fr> |
1523 | ||
1524 | PR fortran/35681 | |
1525 | * ChangeLog-2008: Fix function name. | |
1526 | ||
1527 | PR fortran/38487 | |
1528 | * dependency.c (gfc_check_argument_var_dependency): | |
1529 | Move the check for pointerness inside the if block | |
1530 | so that it doesn't affect the return value. | |
1531 | ||
1532 | PR fortran/38669 | |
1533 | * trans-stmt.c (gfc_trans_call): | |
1534 | Add the dependency code after the loop bounds calculation one. | |
1535 | ||
e48f3020 | 1536 | 2009-01-04 Daniel Franke <franke.daniel@gmail.com> |
1537 | ||
1538 | * intrinsic.c (do_simplify): Removed already implemented TODO. | |
1539 | ||
0ebb06f4 | 1540 | 2009-01-04 Daniel Franke <franke.daniel@gmail.com> |
1541 | ||
1542 | PR fortran/38718 | |
1543 | * simplify.c (gfc_simplify_merge): New. | |
1544 | * intrinsic.h (gfc_simplify_merge): New prototype. | |
1545 | * intrinsic.c (add_functions): Added simplification for MERGE. | |
1546 | ||
1b922cfc | 1547 | 2009-01-04 Mikael Morin <mikael.morin@tele2.fr> |
1548 | ||
1549 | PR fortran/38536 | |
1550 | * gfortran.h (gfc_is_data_pointer): Added prototype | |
1551 | * resolve.c (gfc_iso_c_func_interface): | |
1552 | Use gfc_is_data_pointer to test for pointer attribute. | |
1553 | * dependency.c (gfc_is_data_pointer): | |
1554 | Support pointer-returning functions. | |
1555 | ||
ebdbcbb1 | 1556 | 2009-01-03 Daniel Franke <franke.daniel@gmail.com> |
1557 | ||
1558 | * symbol.c (save_symbol): Don't SAVE function results. | |
1559 | ||
0f5aadbe | 1560 | 2009-01-03 Paul Thomas <pault@gcc.gnu.org> |
3e434bf6 | 1561 | |
0f5aadbe | 1562 | PR fortran/38594 |
1563 | * resolve.c (resolve_call): When searching for proper host | |
1564 | association, use symtree rather than symbol. For everything | |
1565 | except generic subroutines, substitute the symtree in the call | |
1566 | rather than the symbol. | |
7dfbd804 | 1567 | |
1568 | \f | |
1569 | Copyright (C) 2009 Free Software Foundation, Inc. | |
1570 | ||
1571 | Copying and distribution of this file, with or without modification, | |
1572 | are permitted in any medium without royalty provided the copyright | |
1573 | notice and this notice are preserved. |