]>
Commit | Line | Data |
---|---|---|
618f4f46 MM |
1 | 2008-12-15 Mikael Morin <mikael.morin@tele2.fr> |
2 | ||
3 | PR fortran/38113 | |
4 | * error.c (show_locus): Start counting columns at 0. | |
5 | * primary.c (match_actual_arg): Eat spaces | |
6 | before copying the current locus. | |
7 | (match_variable): Copy the locus before matching. | |
8 | ||
18dd272d PT |
9 | 2008-12-14 Paul Thomas <pault@gcc.gnu.org> |
10 | ||
11 | PR fortran/35937 | |
12 | * trans-expr.c (gfc_finish_interface_mapping): Fold convert the | |
13 | character length to gfc_charlen_type_node. | |
14 | ||
bf4f96e6 DF |
15 | 2008-12-12 Daniel Franke <franke.daniel@gmail.com> |
16 | ||
17 | PR fortran/36355 | |
18 | * check.c (gfc_check_matmul): Fixed error message for invalid | |
19 | types to correctly identify the offending argument, added check | |
20 | for mismatching types. | |
21 | ||
150da9f4 RG |
22 | 2008-12-11 Richard Guenther <rguenther@suse.de> |
23 | ||
24 | * Make-lang.in (install-finclude-dir): Use correct mode argument | |
25 | for mkinstalldirs. | |
26 | ||
c9071863 DF |
27 | 2008-12-09 Daniel Franke <franke.daniel@gmail.com> |
28 | ||
29 | PR fortran/36376 | |
30 | PR fortran/37468 | |
31 | * lang-specs.h: Pass on -i* options to f951 to (probably) report | |
32 | them as unknown. Duplicate gcc.c (cpp_options), but omit | |
33 | -fpch-preprocess on -save-temps. | |
34 | ||
c3280643 DF |
35 | 2008-12-09 Daniel Franke <franke.daniel@gmail.com> |
36 | ||
37 | PR fortran/36457 | |
38 | * lang.opt: Added option idirafter. | |
39 | * cpp.h (gfc_cpp_add_include_path_after): New prototype. | |
40 | * cpp.c (gfc_cpp_handle_option): Recognize and handle OPT_dirafter. | |
41 | (gfc_cpp_add_include_path_after): New, adds user-defined search path | |
42 | after any other paths. | |
43 | * invoke.texi (idirafter): New. | |
44 | (no-range-check): Fixed entry in option-index. | |
45 | ||
138b3340 MM |
46 | 2008-12-09 Mikael Morin <mikael.morin@tele2.fr> |
47 | ||
48 | PR fortran/37469 | |
49 | * expr.c (find_array_element): Simplify array bounds. | |
50 | Assert that both bounds are constant expressions. | |
51 | ||
fe7a047c MM |
52 | 2008-12-09 Mikael Morin <mikael.morin@tele2.fr> |
53 | ||
54 | PR fortran/35983 | |
55 | * trans-expr.c (gfc_trans_subcomponent_assign): | |
56 | Add se's pre and post blocks to current block. | |
57 | (gfc_trans_structure_assign): Remove specific handling | |
58 | of C_NULL_PTR and C_NULL_FUNPTR. | |
59 | ||
f5c64803 JD |
60 | 2008-12-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
61 | ||
62 | PR fortran/38425 | |
63 | * io.c (check_io_constraints): Check constraints on REC=, POS=, and | |
64 | internal unit with POS=. Fix punctuation on a few error messages. | |
65 | ||
fb7ca5a7 JW |
66 | 2008-12-06 Janus Weil <janus@gcc.gnu.org> |
67 | ||
68 | PR fortran/38415 | |
69 | * expr.c (gfc_check_pointer_assign): Added a check for abstract | |
70 | interfaces in procedure pointer assignments, removed check involving | |
71 | gfc_compare_interfaces until PR38290 is fixed completely. | |
72 | ||
4c934d41 JD |
73 | 2008-12-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
74 | ||
75 | PR fortran/38291 | |
76 | * io.c (match_dt_element): Use dt->pos in matcher. | |
77 | (gfc_free_dt): Free dt->pos after use. | |
78 | (gfc_resolve_dt): Use dt->pos in resolution of stream position tag. | |
79 | ||
9ff4a9da | 80 | 2008-12-05 Sebastian Pop <sebastian.pop@amd.com> |
250d2fb5 JJ |
81 | |
82 | PR bootstrap/38262 | |
83 | * Make-lang.in (f951): Add BACKENDLIBS, remove GMPLIBS. | |
84 | ||
f2830e80 JJ |
85 | 2008-12-02 Jakub Jelinek <jakub@redhat.com> |
86 | Diego Novillo <dnovillo@google.com> | |
87 | ||
88 | * Make-lang.in (install-finclude-dir): Use mkinstalldirs | |
89 | and don't remove the finclude directory beforehand. | |
90 | ||
726d8566 JW |
91 | 2008-12-02 Janus Weil <janus@gcc.gnu.org> |
92 | ||
93 | PR fortran/36704 | |
94 | PR fortran/38290 | |
95 | * decl.c (match_result): Result may be a standard variable or a | |
96 | procedure pointer. | |
97 | * expr.c (gfc_check_pointer_assign): Additional checks for procedure | |
98 | pointer assignments. | |
99 | * primary.c (gfc_match_rvalue): Bugfix for procedure pointer | |
100 | assignments. | |
101 | * resolve.c (resolve_function): Check for attr.subroutine. | |
102 | * symbol.c (check_conflict): Addtional checks for RESULT statements. | |
103 | * trans-types.c (gfc_sym_type,gfc_get_function_type): Support procedure | |
104 | pointers as function result. | |
105 | ||
34d5d958 MM |
106 | 2008-12-01 Mikael Morin <mikael.morin@tele2.fr> |
107 | ||
108 | PR fortran/38252 | |
109 | * parse.c (parse_spec): Skip statement order check in case | |
110 | of a CONTAINS statement. | |
111 | ||
1933ba0f DK |
112 | 2008-11-30 Daniel Kraft <d@domob.eu> |
113 | ||
114 | PR fortran/37779 | |
115 | * gfortran.h (struct gfc_entry_list): Fixed typo in comment. | |
116 | * resolve.c (is_illegal_recursion): New method. | |
117 | (resolve_procedure_expression): Use new is_illegal_recursion instead of | |
118 | direct check and handle function symbols correctly. | |
119 | (resolve_actual_arglist): Removed useless recursion check. | |
120 | (resolve_function): Use is_illegal_recursion instead of direct check. | |
121 | (resolve_call): Ditto. | |
122 | ||
71690b03 EB |
123 | 2008-11-29 Eric Botcazou <ebotcazou@adacore.com> |
124 | ||
125 | * trans-array.c (gfc_conv_array_parameter): Guard union access. | |
126 | ||
f4256439 JW |
127 | 2008-11-29 Janus Weil <janus@gcc.gnu.org> |
128 | Mikael Morin <mikael@gcc.gnu.org> | |
129 | ||
130 | PR fortran/38289 | |
131 | PR fortran/38290 | |
132 | * decl.c (match_procedure_decl): Handle whitespaces. | |
133 | * resolve.c (resolve_specific_s0): Bugfix in check for intrinsic | |
134 | interface. | |
135 | ||
5308fd74 L |
136 | 2008-11-25 H.J. Lu <hongjiu.lu@intel.com> |
137 | ||
138 | * module.c (gfc_dump_module): Report error on unlink only if | |
139 | errno != ENOENT. | |
140 | ||
bc0f8bd4 MM |
141 | 2008-11-25 Mikael Morin <mikael.morin@tele2.fr> |
142 | ||
143 | PR fortran/36463 | |
144 | * expr.c (replace_symbol): Don't replace the symtree | |
145 | if the expresion is an intrinsic function. Don't create | |
146 | non-existent symtrees. Use symbol's name instead of symtree's, | |
147 | different in case of module procedure dummy arguments. | |
148 | ||
056c1652 JK |
149 | 2008-11-25 Jan Kratochvil <jan.kratochvil@redhat.com> |
150 | ||
151 | PR fortran/38248 | |
152 | * module.c (gfc_dump_module): Check rename/unlink syscalls errors. | |
153 | ||
abb370e4 EB |
154 | 2008-11-25 Eric Botcazou <ebotcazou@adacore.com> |
155 | ||
156 | PR fortran/37319 | |
157 | * parse.c (match_deferred_characteristics): Make sure 'name' is | |
158 | initialized before reading it. | |
159 | ||
ca430085 JD |
160 | 2008-11-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
161 | ||
162 | PR fortran/37803 | |
163 | * arith.c (gfc_check_real_range): Add mpfr_check_range. | |
164 | * simplify.c (gfc_simplify_nearest): Add mpfr_check_range. | |
165 | ||
6e7cc036 MM |
166 | 2008-11-24 Mikael Morin <mikael.morin@tele2.fr> |
167 | ||
168 | PR fortran/38184 | |
169 | * simplify.c (is_constant_array_expr): Return true instead of false | |
170 | if the array constructor is empty. | |
171 | ||
a03826d1 DK |
172 | 2008-11-24 Daniel Kraft <d@domob.eu> |
173 | ||
174 | PR fortran/37779 | |
175 | * resolve.c (resolve_procedure_expression): New method. | |
176 | (resolve_variable): Call it. | |
177 | (resolve_actual_arglist): Call gfc_resolve_expr for procedure arguments. | |
178 | ||
2c69d527 PT |
179 | 2008-11-24 Paul Thomas <pault@gcc.gnu.org> |
180 | ||
181 | PR fortran/34820 | |
182 | * trans-expr.c (gfc_conv_function_call): Remove all code to | |
183 | deallocate intent out derived types with allocatable | |
184 | components. | |
185 | (gfc_trans_assignment_1): An assignment from a scalar to an | |
186 | array of derived types with allocatable components, requires | |
187 | a deep copy to each array element and deallocation of the | |
188 | converted rhs expression afterwards. | |
189 | * trans-array.c : Minor whitespace. | |
190 | * trans-decl.c (init_intent_out_dt): Add code to deallocate | |
191 | allocatable components of derived types with intent out. | |
192 | (generate_local_decl): If these types are unused, set them | |
193 | referenced anyway but allow the uninitialized warning. | |
194 | ||
195 | PR fortran/34143 | |
196 | * trans-expr.c (gfc_trans_subcomponent_assign): If a conversion | |
197 | expression has a null data pointer argument, nullify the | |
198 | allocatable component. | |
199 | ||
200 | PR fortran/32795 | |
201 | * trans-expr.c (gfc_trans_subcomponent_assign): Only nullify | |
202 | the data pointer if the source is not a variable. | |
203 | ||
b945f9f3 PT |
204 | 2008-11-23 Paul Thomas <pault@gcc.gnu.org> |
205 | ||
206 | PR fortran/37735 | |
207 | * trans-array.c (structure_alloc_comps): Do not duplicate the | |
208 | descriptor if this is a descriptorless array! | |
209 | ||
2ec855f1 TB |
210 | 2008-11-12 Tobias Burnus <burnus@net-b.de> |
211 | ||
212 | PR fortran/38160 | |
213 | * trans-types.c (gfc_validate_c_kind): Remove function. | |
214 | * decl.c (gfc_match_kind_spec): Add C kind parameter check. | |
215 | (verify_bind_c_derived_type): Remove gfc_validate_c_kind call. | |
216 | (verify_c_interop_param): Update call. | |
217 | * gfortran.h (verify_bind_c_derived_type): Update prototype. | |
218 | (gfc_validate_c_kind): Remove. | |
219 | * symbol.c (verify_bind_c_derived_type): Update verify_c_interop call. | |
220 | * resolve.c (gfc_iso_c_func_interface): Ditto. | |
221 | ||
e1456843 JJ |
222 | 2008-11-22 Jakub Jelinek <jakub@redhat.com> |
223 | ||
224 | PR libfortran/37839 | |
225 | * trans-io.c (gfc_build_io_library_fndecls): Decrease pad size back | |
226 | to 16 pointers plus 32 integers. Don't use max integer kind | |
227 | alignment, only gfc_intio_kind's alignment. | |
228 | (gfc_trans_inquire): Only set flags2 if mask2 is non-zero. | |
229 | * ioparm.def: Fix order, bitmasks and types of inquire round, sign | |
230 | and pending fields. Move u in dt before id. | |
231 | * io.c (gfc_free_inquire): Free decimal and size exprs. | |
232 | (match_inquire_element): Match size instead of matching blank twice. | |
233 | (gfc_resolve_inquire): Resolve size. | |
234 | ||
b41b10e5 JJ |
235 | 2008-11-20 Jakub Jelinek <jakub@redhat.com> |
236 | ||
81f5094d JJ |
237 | PR middle-end/29215 |
238 | * trans-array.c (trans_array_constructor_value, | |
239 | gfc_build_constant_array_constructor): Fill in TREE_PURPOSE. | |
240 | ||
8c3ed71e JJ |
241 | * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use |
242 | gfc_index_one_node. | |
243 | (gfc_conv_intrinsic_size): Use gfc_index_{zero,one}_node. | |
244 | ||
b41b10e5 JJ |
245 | PR fortran/38181 |
246 | * trans-intrinsic.c (gfc_conv_intrinsic_size): Inline 2 argument | |
247 | size if the second argument is not optional and one argument size | |
248 | for rank 1 arrays. | |
249 | ||
81a7154e PT |
250 | 2008-11-19 Paul Thomas <pault@gcc.gnu.org> |
251 | ||
cfdf8f1a | 252 | PR fortran/38171 |
81a7154e PT |
253 | * module.c (load_equiv): Regression fix; check that equivalence |
254 | members come from the same module only. | |
255 | ||
2b0bd714 MM |
256 | 2008-11-16 Mikael Morin <mikael.morin@tele2.fr> |
257 | ||
258 | PR fortran/35681 | |
259 | * dependency.c (gfc_check_argument_var_dependency): Add | |
260 | elemental check flag. Issue a warning if we find a dependency | |
261 | but don't generate a temporary. Add the case of an elemental | |
262 | function call as actual argument to an elemental procedure. | |
263 | Add the case of an operator expression as actual argument | |
264 | to an elemental procedure. | |
265 | (gfc_check_argument_dependency): Add elemental check flag. | |
266 | Update calls to gfc_check_argument_var_dependency. | |
267 | (gfc_check_fncall_dependency): Add elemental check flag. | |
268 | Update call to gfc_check_argument_dependency. | |
269 | * trans-stmt.c (gfc_trans_call): Make call to | |
270 | gfc_conv_elemental_dependency unconditional, but with a flag | |
271 | whether we should check dependencies between variables. | |
272 | (gfc_conv_elemental_dependency): Add elemental check flag. | |
273 | Update call to gfc_check_fncall_dependency. | |
274 | * trans-expr.c (gfc_trans_arrayfunc_assign): Update call to | |
275 | gfc_check_fncall_dependency. | |
276 | * resolve.c (find_noncopying_intrinsics): Update call to | |
277 | gfc_check_fncall_dependency. | |
278 | * dependency.h (enum gfc_dep_check): New enum. | |
279 | (gfc_check_fncall_dependency): Update prototype. | |
280 | ||
27f31e39 MM |
281 | 2008-11-16 Mikael Morin <mikael.morin@tele2.fr> |
282 | ||
283 | PR fortran/37992 | |
284 | * gfortran.h (gfc_namespace): Added member old_cl_list, | |
285 | backup of cl_list. | |
286 | (gfc_free_charlen): Added prototype. | |
287 | * symbol.c (gfc_free_charlen): New function. | |
288 | (gfc_free_namespace): Use gfc_free_charlen. | |
289 | * parse.c (next_statement): Backup gfc_current_ns->cl_list. | |
290 | (reject_statement): Restore gfc_current_ns->cl_list. | |
291 | Free cl_list's elements before dropping them. | |
292 | ||
06919226 TB |
293 | 2008-11-16 Tobias Burnus <burnus@net-b.de> |
294 | ||
295 | PR fortran/38095 | |
296 | * trans-expr.c (gfc_map_intrinsic_function): Fix pointer access. | |
297 | ||
22089905 PT |
298 | 2008-11-16 Paul Thomas <pault@gcc.gnu.org> |
299 | ||
300 | PR fortran/38119 | |
301 | * trans-array.c (gfc_trans_create_temp_array): Set the | |
302 | loop->from to zero and the renormalisation of loop->to for all | |
303 | dimensions. | |
304 | ||
b800fd64 PT |
305 | 2008-11-16 Paul Thomas <pault@gcc.gnu.org> |
306 | ||
307 | PR fortran/37926 | |
308 | * trans-expr.c (gfc_free_interface_mapping): Null sym->formal | |
309 | (gfc_add_interface_mapping): Copy the pointer to the formal | |
310 | arglist, rather than using copy_formal_args - fixes regression. | |
311 | ||
4d45d495 PT |
312 | 2008-11-15 Paul Thomas <pault@gcc.gnu.org> |
313 | ||
06919226 TB |
314 | PR fortran/37926 |
315 | * trans-expr.c (gfc_add_interface_mapping): Transfer the formal | |
4d45d495 PT |
316 | arglist and the always_explicit attribute if the dummy arg is a |
317 | procedure. | |
318 | ||
74657812 JD |
319 | 2008-11-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
320 | ||
321 | PR fortran/37988 | |
322 | * io.c (enum format_token): For readability replace FMT_POS with FMT_T, | |
323 | FMT_TL, and FMT_TR. (format_lex): Use new enumerators. (check_format): | |
324 | Add check for missing positive integer. | |
325 | ||
993ac38b PT |
326 | 2008-10-14 Paul Thomas <pault@gcc.gnu.org> |
327 | ||
328 | PR fortran/38033 | |
329 | * trans-array.c (gfc_trans_create_temp_array): Stabilize the | |
330 | 'to' expression. | |
331 | (gfc_conv_loop_setup): Use the end expression for the loop 'to' | |
332 | if it is available. | |
333 | ||
27a4e072 JJ |
334 | 2008-11-12 Jakub Jelinek <jakub@redhat.com> |
335 | ||
336 | PR target/35366 | |
337 | PR fortran/33759 | |
338 | * trans-const.c (gfc_conv_constant_to_tree): Warn when | |
339 | converting an integer outside of LOGICAL's range to | |
340 | LOGICAL. | |
341 | * trans-intrinsic.c (gfc_conv_intrinsic_function, | |
342 | gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer): | |
343 | Use INTEGER_TYPE instead of BOOLEAN_TYPE for TRANSFER as | |
344 | argument of another TRANSFER. | |
345 | ||
0d6872cb TB |
346 | 2008-11-12 Tobias Burnus <burnus@net-b.de> |
347 | ||
348 | PR fortran/38065 | |
349 | * resolve.c (resolve_fntype): Fix private derived type checking. | |
350 | ||
5a0193ee PT |
351 | 2008-11-09 Paul Thomas <pault@gcc.gnu.org> |
352 | ||
0d6872cb TB |
353 | PR fortran/37836 |
354 | * intrinsic.c (add_functions): Reference gfc_simplify._minval | |
5a0193ee PT |
355 | and gfc_simplify_maxval. |
356 | * intrinsic.h : Add prototypes for gfc_simplify._minval and | |
357 | gfc_simplify_maxval. | |
358 | * simplify.c (min_max_choose): New function extracted from | |
359 | simplify_min_max. | |
360 | (simplify_min_max): Call it. | |
361 | (simplify_minval_maxval, gfc_simplify_minval, | |
362 | gfc_simplify_maxval): New functions. | |
363 | ||
50d6ceda PT |
364 | 2008-11-04 Paul Thomas <pault@gcc.gnu.org> |
365 | ||
0d6872cb TB |
366 | PR fortran/37597 |
367 | * parse.c (gfc_fixup_sibling_symbols ): Fixup contained, even | |
50d6ceda PT |
368 | when symbol not found. |
369 | ||
0ee1b105 TB |
370 | 2008-11-03 Tobias Burnus <burnus@net-b.de> |
371 | ||
372 | PR fortran/37821 | |
373 | * cpp.c (gfc_cpp_add_include_path): Use BRACKET. | |
374 | * scanner.c (add_path_to_list): Argument to add at head. | |
375 | (gfc_add_include_path): Add new argument. | |
376 | (gfc_add_intrinsic_modules_path) Update call. | |
377 | (load_file): Print filename/line in the error message. | |
378 | * gfortran.h (gfc_add_include_path): Update prototype. | |
379 | * options.c (gfc_post_options,gfc_handle_module_path_options, | |
380 | gfc_handle_option): Update call. | |
381 | * lang-spec.h (F951_OPTIONS): Don't insert include path twice. | |
382 | ||
383 | * arith.c (arith_error): Add -fno-range-error to the message. | |
384 | ||
67cec813 PT |
385 | 2008-11-03 Paul Thomas <pault@gcc.gnu.org> |
386 | ||
387 | PR fortran/37445 | |
388 | * resolve.c (resolve_actual_arglist ): Correct comparison of | |
389 | FL_VARIABLE with e->expr_type. | |
390 | (resolve_call): Check that host association is correct. | |
391 | (resolve_actual_arglist ): Remove return is old_sym is use | |
392 | associated. Only reparse expression if old and new symbols | |
393 | have different types. | |
394 | ||
395 | PR fortran/PR35769 | |
396 | * resolve.c (gfc_resolve_assign_in_forall): Change error to a | |
397 | warning. | |
398 | ||
6f6e26a8 JW |
399 | 2008-11-01 Janus Weil <janus@gcc.gnu.org> |
400 | ||
401 | PR fortran/36426 | |
402 | * expr.c (replace_symbol): Replace all symbols which lie in the | |
403 | formal namespace of the interface and copy their attributes. | |
404 | * resolve.c (resolve_symbol): Add charlen to namespace. | |
405 | ||
63346ddb SK |
406 | 2008-11-01 Steven G. Kargl <kargls@comcast.net> |
407 | ||
408 | PR fortran/19925 | |
409 | * trans-array.c (gfc_trans_array_constructor_value): Fix comment. | |
410 | (gfc_conv_array_initializer): Convert internal_error() to gfc_error_now. | |
411 | * array.c: Remove GFC_MAX_AC_EXPAND macro. | |
412 | (gfc_expand_constructor): Use gfc_option.flag_max_array_constructor. | |
413 | * gfortran.h (gfc_option): Add flag_max_array_constructor member. | |
414 | * lang.opt: Add -fmax-array-constructor option. | |
415 | * expr.c (gfc_match_init_expr): Fix error message to mention new option. | |
416 | * invoke.texi: Document new option. | |
417 | * options.c (gfc_init_options): Set default value for new option. | |
418 | (gfc_handle_option): Deal with commandline. | |
419 | ||
12f681a0 DK |
420 | 2008-11-01 Daniel Kraft <d@domob.eu> |
421 | ||
422 | PR fortran/35681 | |
423 | * gfortran.h (struct gfc_code): New field `resolved_isym'. | |
424 | * trans.h (gfc_build_memcpy_call): Made public. | |
425 | * trans-array.h (gfc_trans_create_temp_array): New argument `initial'. | |
426 | * intrinsic.c (gfc_intrinsic_sub_interface): Set resolved_isym. | |
427 | * iresolve.c (create_formal_for_intents): New helper method. | |
428 | (gfc_resolve_mvbits): Put dummy formal arglist on resolved_sym. | |
429 | * resolve.c (resolve_call): Initialize resolved_isym to NULL. | |
430 | * trans-array.c (gfc_trans_allocate_array_storage): New argument | |
431 | `initial' to allow initializing the allocated storage to some initial | |
432 | value copied from another array. | |
433 | (gfc_trans_create_temp_array): Allow initialization of the temporary | |
434 | with a copy of some other array by using the new extension. | |
435 | (gfc_trans_array_constructor): Pass NULL_TREE for initial argument. | |
436 | (gfc_conv_loop_setup): Ditto. | |
437 | * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Ditto. | |
438 | * trans-expr.c (gfc_conv_function_call): Ditto. | |
439 | (gfc_build_memcpy_call): Made public. | |
440 | * trans-stmt.c (gfc_conv_elemental_dependencies): Initialize created | |
441 | temporary for INTENT(INOUT) arguments to the value of the mirrored | |
442 | array and clean up the temporary as very last intructions in the created | |
443 | block. | |
444 | * trans.c (gfc_trans_code): For EXEC_CALL, see if we have a MVBITS call | |
445 | and enable elemental dependency checking if we have. | |
446 | ||
c6acea9d JW |
447 | 2008-11-01 Janus Weil <janus@gcc.gnu.org> |
448 | ||
449 | PR fortran/36322 | |
450 | PR fortran/36463 | |
451 | * gfortran.h: New function gfc_expr_replace_symbols. | |
452 | * decl.c (match_procedure_decl): Increase reference count for interface. | |
453 | * expr.c: New functions replace_symbol and gfc_expr_replace_symbols. | |
454 | * resolve.c (resolve_symbol): Correctly copy array spec and char len | |
455 | of PROCEDURE declarations from their interface. | |
456 | * symbol.c (gfc_get_default_type): Enhanced error message. | |
457 | (copy_formal_args): Call copy_formal_args recursively for arguments. | |
458 | * trans-expr.c (gfc_conv_function_call): Bugfix. | |
459 | ||
1b867ae7 DW |
460 | 2008-11-01 Dennis Wassel <dennis.wassel@gmail.com> |
461 | ||
462 | PR fortran/37159 | |
463 | * fortran/check.c (gfc_check_random_seed): Check PUT size | |
464 | at compile time. | |
465 | ||
d3d0b9e0 MM |
466 | 2008-10-31 Mikael Morin <mikael.morin@tele2.fr> |
467 | ||
468 | PR fortran/35840 | |
469 | * expr.c (gfc_reduce_init_expr): New function, containing checking code | |
470 | from gfc_match_init_expr, so that checking can be deferred. | |
471 | (gfc_match_init_expr): Use gfc_reduce_init_expr. | |
472 | * io.c (check_io_constraints): Use gfc_reduce_init_expr instead of | |
473 | checking that the expression is a constant. | |
474 | * match.h (gfc_reduce_init_expr): Prototype added. | |
475 | ||
0e6834af MM |
476 | 2008-10-31 Mikael Morin <mikael.morin@tele2.fr> |
477 | ||
478 | PR fortran/35820 | |
479 | * resolve.c (gfc_count_forall_iterators): New function. | |
480 | (gfc_resolve_forall): Use gfc_count_forall_iterators to evaluate | |
481 | the needed memory amount to allocate. Don't forget to free allocated | |
482 | memory. Add an assertion to check for memory leaks. | |
483 | ||
7278e4dc SK |
484 | 2008-10-30 Steven G. Kargl <kargls@comcast.net> |
485 | ||
486 | PR fortran/37930 | |
487 | * fortran/arith.c (gfc_mpfr_to_mpz): Test for NaN and Inf values. | |
488 | Remove stale comment and kludge code for MPFR 2.0.1 and older. | |
489 | (gfc_real2int): Error on conversion of NaN or Inf. | |
490 | (gfc_complex2int): Ditto. | |
491 | * fortran/arith.h: Update mpfr_to_mpz prototype. | |
492 | * fortran/simplify.c (gfc_simplify_ceiling, gfc_simplify_floor, | |
493 | gfc_simplify_ifix, gfc_simplify_idint, simplify_nint): Update function | |
63346ddb | 494 | calls to include locus. |
7278e4dc | 495 | |
45bc572c MM |
496 | 2008-10-30 Mikael Morin <mikael.morin@tele2.fr> |
497 | ||
498 | PR fortran/37903 | |
499 | * trans-array.c (gfc_trans_create_temp_array): If n is less | |
500 | than the temporary dimension, assert that loop->from is | |
501 | zero (reverts to earlier versions). If there is at least one | |
502 | null loop->to[n], it is a callee allocated array so set the | |
503 | size to NULL and break. | |
504 | (gfc_trans_constant_array_constructor): Set the offset to zero. | |
505 | (gfc_trans_array_constructor): Remove loop shifting around the | |
506 | temporary creation. | |
507 | (gfc_conv_loop_setup): Prefer zero-based descriptors if | |
508 | possible. Calculate the translation from loop variables to | |
509 | array indices if an array constructor. | |
510 | ||
511 | 2008-10-30 Mikael Morin <mikael.morin@tele2.fr> | |
512 | ||
513 | PR fortran/37749 | |
514 | * trans-array.c (gfc_trans_create_temp_array): If size is NULL | |
515 | use the array bounds for loop->to. | |
516 | ||
e18f73cd TB |
517 | 2008-10-28 Tobias Burnus <burnus@net-b.de> |
518 | ||
519 | * intrinsic.texi: Update OpenMP section for OMPv3. | |
520 | ||
7134e605 JJ |
521 | 2008-10-24 Jakub Jelinek <jakub@redhat.com> |
522 | ||
523 | * Make-lang.in (check-f95-subtargets, check-fortran-subtargets): New | |
524 | aliases for check-gfortran-subtargets. | |
525 | (lang_checks_parallelized): Add check-gfortran. | |
526 | (check_gfortran_parallelize): New variable. | |
527 | ||
18c87fd5 PT |
528 | 2008-10-19 Paul Thomas <pault@gcc.gnu.org> |
529 | ||
e18f73cd TB |
530 | PR fortran/37723 |
531 | * dependency.c (gfc_dep_resolver ): If we find equal array | |
18c87fd5 PT |
532 | element references, go on to the next reference. |
533 | ||
dd9315de DK |
534 | 2008-10-16 Daniel Kraft <d@domob.eu> |
535 | ||
536 | * resolve.c (resolve_elemental_actual): Handle calls to intrinsic | |
537 | subroutines correctly. | |
538 | ||
36c713e0 KG |
539 | 2008-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
540 | ||
541 | * simplify.c: Remove MPFR_VERSION_NUM(2,3,0) conditionals. | |
542 | ||
ed42adef DK |
543 | 2008-10-12 Daniel Kraft <d@domob.eu> |
544 | ||
545 | PR fortran/37688 | |
546 | * expr.c (gfc_expr_check_typed): Extend permission of untyped | |
547 | expressions to both top-level variable and basic arithmetic expressions. | |
548 | ||
b803690a PT |
549 | 2008-10-12 Paul Thomas <pault@gcc.gnu.org> |
550 | ||
551 | PR fortran/37787 | |
552 | * dependency.c (gfc_are_equivalenced_arrays): Look in symbol | |
553 | namespace rather than current namespace, if it is available. | |
554 | ||
7a99defe SK |
555 | 2008-10-12 Steven G. Kargl <kargls@comcast.net> |
556 | ||
557 | PR fortran/37792 | |
558 | * fortran/resolve.c (resolve_fl_variable): Simplify the | |
559 | initializer if there is one. | |
560 | ||
91a9632c PT |
561 | 2008-10-11 Paul Thomas <pault@gcc.gnu.org> |
562 | ||
563 | PR fortran/37794 | |
564 | * module.c (check_for_ambiguous): Remove redundant code. | |
565 | ||
a3d3c0f5 DK |
566 | 2008-10-09 Daniel Kraft <d@domob.eu> |
567 | ||
568 | PR fortran/35723 | |
569 | * gfortran.h (gfc_suppress_error): Removed from header. | |
570 | (gfc_push_suppress_errors), (gfc_pop_suppress_errors): New methods. | |
571 | * array.c (gfc_array_size): Use new gfc_push/pop_suppress_errors | |
572 | instead of directly changing gfc_suppress_error. | |
573 | * intrinsic.c (gfc_intrinsic_func_interface): Ditto. | |
574 | (gfc_intrinsic_sub_interface): Ditto. | |
575 | * error.c (suppress_errors): Made static from `gfc_suppress_error'. | |
576 | (gfc_push_suppress_errors), (gfc_pop_suppress_errors): New methods. | |
577 | (gfc_notify_std), (gfc_error): Use new static name of global. | |
578 | * expr.c (check_arglist), (check_references): New methods. | |
579 | (check_restricted): Check arglists and references of EXPR_FUNCTIONs | |
580 | and EXPR_VARAIBALEs, respectively. Allow PARAMETER symbols. | |
581 | ||
c7c79a09 JJ |
582 | 2008-10-07 Jakub Jelinek <jakub@redhat.com> |
583 | ||
584 | * f95-lang.c (poplevel): Don't clear BLOCK_VARS if functionbody. | |
585 | * trans-decl.c (gfc_build_qualified_array): Build accurate debug type | |
586 | even if nest. | |
587 | (build_entry_thunks, gfc_generate_function_code, | |
588 | gfc_generate_constructors): Ensure DECL_SAVED_TREE is a BIND_EXPR | |
589 | with DECL_INITIAL as its BLOCK. | |
590 | ||
ebb479cd PT |
591 | 2008-10-05 Paul Thomas <pault@gcc.gnu.org> |
592 | ||
593 | PR fortran/35680 | |
594 | * gfortran.h : Add 'error' bit field to gfc_expr structure. | |
595 | * expr.c (check_inquiry): When checking a restricted expression | |
596 | check that arguments are either variables or restricted. | |
597 | (check_restricted): Do not emit error if the expression has | |
598 | 'error' set. Clean up detection of host-associated variable. | |
599 | ||
b82657f4 DK |
600 | 2008-10-05 Daniel Kraft <d@domob.eu> |
601 | ||
602 | PR fortran/37638 | |
603 | * gfortran.h (struct gfc_typebound_proc): New flag `error'. | |
604 | * resolve.c (update_arglist_pass): Added assertion. | |
605 | (update_compcall_arglist): Fail early for erraneous procedures to avoid | |
606 | confusion later. | |
607 | (resolve_typebound_generic_call): Ignore erraneous specific targets | |
608 | and added assertions. | |
609 | (resolve_typebound_procedure): Set new `error' flag. | |
610 | ||
ee9ef103 PT |
611 | 2008-10-04 Paul Thomas <pault@gcc.gnu.org> |
612 | ||
613 | PR fortran/37706 | |
614 | * module.c (load_equiv): Check the module before negating the | |
615 | unused flag. | |
616 | ||
414f00e9 SB |
617 | 2008-10-02 Steven Bosscher <steven@gcc.gnu.org> |
618 | ||
619 | PR fortran/37635 | |
620 | * intrinsic.c (add_functions): Add LEADZ and TRAILZ as generics. | |
621 | * intrinsic.h (gfc_simplify_leadz, gfc_simplify_trailz): New protos. | |
622 | * gfortran.h <enum gfc_isym_id>: (GFC_ISYM_LEADZ, GFC_ISYM_TRAILZ): New. | |
623 | * f95-lang (gfc_init_builtin_functions): Add BUILT_IN_CLZ, | |
624 | BUILT_IN_CLZL, BUILT_IN_CLZLL, BUILT_IN_CTZ, BUILT_IN_CTZL, and | |
625 | BUILT_IN_CTZLL. | |
626 | * trans-intrinsic.c (gfc_conv_intrinsic_leadz, | |
627 | gfc_conv_intrinsic_trails): New code-generation functions for LEADZ | |
628 | and TRAILZ intrinsics. | |
629 | (gfc_conv_intrinsic_function): Use them | |
630 | * intrinsic.texi: Add documentation for LEADZ and TRAILZ. | |
631 | * simplify.c (gfc_simplify_leadz, gfc_simplify_trailz): New functions. | |
632 | ||
00625fae JW |
633 | 2008-09-30 Janus Weil <janus@gcc.gnu.org> |
634 | ||
635 | PR fortran/36592 | |
636 | * symbol.c (check_conflict): If a symbol in a COMMON block is a | |
637 | procedure, it must be a procedure pointer. | |
638 | (gfc_add_in_common): Symbols in COMMON blocks may be variables or | |
639 | procedure pointers. | |
640 | * trans-types.c (gfc_sym_type): Make procedure pointers in COMMON | |
641 | blocks work. | |
642 | ||
5e1bdeb7 JD |
643 | 2008-09-25 Jerry DeLisle <jvdelisle@gcc.gnu.org |
644 | ||
645 | PR fortran/37498 | |
646 | * trans-io.c (build_dt): Revert previous patch.. | |
647 | * ioparm.def: Delete IOPARM_dt_f2003. | |
648 | ||
3dcc3ef2 TB |
649 | 2008-09-25 Tobias Burnus <burnus@net-b.de> |
650 | ||
651 | PR fortran/37504 | |
652 | * expr.c (gfc_check_pointer_assign): Allow assignment of | |
653 | protected pointers. | |
654 | * match.c (gfc_match_assignment,gfc_match_pointer_assignment): | |
655 | Remove unreachable code. | |
656 | ||
5fb41e29 TB |
657 | 2008-09-24 Tobias Burnus <burnus@net-b.de> |
658 | ||
659 | * options.c (set_default_std_flags,gfc_init_options): | |
660 | Add comment: keep in sync with libgfortran. | |
661 | ||
a9b98c2c TB |
662 | 2008-09-24 Tobias Burnus <burnus@net-b.de> |
663 | ||
664 | PR fortran/37626 | |
665 | * trans-array.c (gfc_trans_deferred_array): Don't auto-deallocate | |
666 | result variables. | |
667 | ||
f0ac18b7 DK |
668 | 2008-09-23 Daniel Kraft <d@domob.eu> |
669 | ||
670 | PR fortran/37588 | |
671 | * gfortran.h (gfc_compare_actual_formal): Removed, made private. | |
672 | (gfc_arglist_matches_symbol): New method. | |
673 | * interface.c (compare_actual_formal): Made static. | |
674 | (gfc_procedure_use): Use new name of compare_actual_formal. | |
675 | (gfc_arglist_matches_symbol): New method. | |
676 | (gfc_search_interface): Moved code partially to new | |
677 | gfc_arglist_matches_symbol. | |
678 | * resolve.c (resolve_typebound_generic_call): Resolve actual arglist | |
679 | before checking against formal and use new gfc_arglist_matches_symbol | |
680 | for checking. | |
681 | (resolve_compcall): Set type-spec of generated expression. | |
682 | ||
54799fcd TB |
683 | 2008-09-23 Tobias Burnus <burnus@net-b.de> |
684 | ||
685 | PR fortran/37580 | |
686 | * expr.c (gfc_check_pointer_assign): Add checks for pointer | |
687 | remapping. | |
688 | ||
d7445152 JD |
689 | 2008-09-22 Jerry DeLisle <jvdelisle@gcc.gnu.org |
690 | ||
691 | PR fortran/37498 | |
692 | * trans-io.c (gfc_build_io_library_fndecls): Bump pad size. | |
693 | (build_dt): Set mask bit for IOPARM_dt_f2003. | |
694 | * ioparm.def: Add IOPARM_dt_f2003. | |
695 | ||
f613cea7 JW |
696 | 2008-09-22 Janus Weil <janus@gcc.gnu.org> |
697 | ||
698 | PR fortran/37486 | |
699 | * gfortran.h (gfc_option_t): New members flag_align_commons and | |
700 | warn_align_commons. | |
701 | * lang.opt: New options falign-commons and Walign-commons. | |
702 | * invoke.texi: Documentation for new options. | |
703 | * options.c (gfc_init_options): Initialize new options. | |
704 | (gfc_handle_options): Handle new options. | |
705 | * trans-common.c (translate_common): Implement new options. | |
706 | (gfc_trans_common): Set correct locus. | |
707 | ||
ecd3b73c PT |
708 | 2008-09-21 Paul Thomas <pault@gcc.gnu.org> |
709 | ||
710 | PR fortran/37583 | |
711 | * decl.c (scalarize_intrinsic_call): Both subroutines and | |
712 | functions can give a true for get_proc_mame's last argument so | |
713 | remove the &&gfc_current_ns->proc_name->attr.function. | |
714 | resolve.c (resolve_actual_arglist): Add check for recursion by | |
715 | reference to procedure as actual argument. | |
716 | ||
4b7f8314 DK |
717 | 2008-09-21 Daniel Kraft <d@domob.eu> |
718 | ||
719 | PR fortran/35846 | |
720 | * trans.h (gfc_conv_string_length): New argument `expr'. | |
721 | * trans-expr.c (flatten_array_ctors_without_strlen): New method. | |
722 | (gfc_conv_string_length): New argument `expr' that is used in a new | |
723 | special case handling if cl->length is NULL. | |
724 | (gfc_conv_subref_array_arg): Pass expr to gfc_conv_string_length. | |
725 | * trans-array.c (gfc_conv_expr_descriptor): Ditto. | |
726 | (gfc_trans_auto_array_allocation): Pass NULL as new expr. | |
727 | (gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto. | |
728 | (gfc_trans_deferred_array): Ditto. | |
729 | (gfc_trans_array_constructor): Save and restore old values of globals | |
730 | used for bounds checking. | |
731 | * trans-decl.c (gfc_trans_dummy_character): Ditto. | |
732 | (gfc_trans_auto_character_variable): Ditto. | |
733 | ||
74a9b897 DK |
734 | 2008-09-21 Daniel Kraft <d@domob.eu> |
735 | ||
736 | * decl.c (match_procedure_in_type): Changed misleading error message | |
737 | for not yet implemented PROCEDURE(interface) syntax. | |
738 | ||
334e912a PT |
739 | 2008-09-18 Paul Thomas <pault@gcc.gnu.org> |
740 | ||
741 | PR fortran/35945 | |
742 | * resolve.c (resolve_fl_variable_derived): Remove derived type | |
743 | comparison for use associated derived types. Host association | |
744 | of a derived type will not arise if there is a local derived type | |
745 | whose use name is the same. | |
746 | ||
747 | PR fortran/36700 | |
748 | * match.c (gfc_match_call): Use the existing symbol even if | |
749 | it is a function. | |
750 | ||
f25a62a5 DK |
751 | 2008-09-18 Daniel Kraft <d@domob.eu> |
752 | ||
753 | PR fortran/37507 | |
754 | * trans.h (gfc_trans_runtime_error): New method. | |
755 | (gfc_trans_runtime_error_vararg): New method. | |
756 | (gfc_allocate_array_with_status): New argument `expr' for locus/varname. | |
757 | (gfc_deallocate_array_with_status): Ditto. | |
758 | * trans-array.h (gfc_array_deallocate): Ditto. | |
759 | * trans.c (gfc_trans_runtime_error): New method. | |
760 | (gfc_trans_runtime_error_vararg): New method, moved parts of the code | |
761 | from gfc_trans_runtime_check here. | |
762 | (gfc_trans_runtime_error_check): Moved code partly to new method. | |
763 | (gfc_call_malloc): Fix tab-indentation. | |
764 | (gfc_allocate_array_with_status): New argument `expr' and call | |
765 | gfc_trans_runtime_error for error reporting to include locus. | |
766 | (gfc_deallocate_with_status): Ditto. | |
767 | * trans-stmt.c (gfc_trans_deallocate): Pass expr as new argument. | |
768 | * trans-array.c (gfc_array_allocate): Ditto. | |
769 | (gfc_array_deallocate): New argument `expr', passed on. | |
770 | (gfc_trans_dealloc_allocated): Pass NULL for expr. | |
771 | * trans-openmp.c (gfc_omp_clause_default): Ditto. | |
772 | ||
0b4e2af7 PT |
773 | 2008-09-18 Paul Thomas <pault@gcc.gnu.org> |
774 | ||
775 | PR fortran/37274 | |
776 | PR fortran/36374 | |
777 | * module.c (check_for_ambiguous): New function to test loaded | |
778 | symbol for ambiguity with fixup symbol. | |
779 | (read_module): Call check_for_ambiguous. | |
780 | (write_symtree): Do not write the symtree for symbols coming | |
781 | from an interface body. | |
782 | ||
783 | PR fortran/36374 | |
784 | * resolve.c (count_specific_procs ): New function to count the | |
785 | number of specific procedures with the same name as the generic | |
786 | and emit appropriate errors for and actual argument reference. | |
787 | (resolve_assumed_size_actual): Add new argument no_formal_args. | |
788 | Correct logic around passing generic procedures as arguments. | |
789 | Call count_specific_procs from two locations. | |
790 | (resolve_function): Evaluate and pass no_formal_args. | |
791 | (resolve call): The same and clean up a bit by using csym more | |
792 | widely. | |
793 | ||
794 | PR fortran/36454 | |
795 | * symbol.c (gfc_add_access): Access can be updated if use | |
796 | associated and not private. | |
797 | ||
c0b29099 JJ |
798 | 2008-09-17 Jakub Jelinek <jakub@redhat.com> |
799 | ||
800 | PR fortran/37536 | |
801 | * trans-stmt.c (gfc_trans_do): Optimize integer type non-simple | |
802 | do loop initialization. | |
803 | ||
3446fc50 JD |
804 | 2008-09-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
805 | Tobias Burnus <burnus@net.b.de> | |
806 | ||
807 | PR fortran/35840 | |
808 | * io.c (match_vtag): Add tag name to error message. | |
809 | (match_out_tag): Cleanup whitespace. | |
810 | (gfc_resolve_dt): Resolve id and async tags. | |
811 | ||
858f1fa2 DK |
812 | 2008-09-13 Daniel Kraft <d@domob.eu> |
813 | ||
814 | PR fortran/35770 | |
815 | * primary.c (gfc_match_varspec): Added missing type-spec clearing | |
816 | after wrong implicit character typing. | |
817 | ||
29442589 RG |
818 | 2008-09-12 Richard Guenther <rguenther@suse.de> |
819 | ||
820 | * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Use | |
821 | build_fold_addr_expr to properly mark the argument | |
822 | addressable. | |
823 | ||
ace428e3 DK |
824 | 2008-09-11 Daniel Kraft <d@domob.eu> |
825 | ||
826 | PR fortran/36214 | |
827 | * simplify.c (simplify_cmplx): Added linebreak to long line. | |
828 | * target-memory.c (gfc_convert_boz): Fix indentation. | |
829 | (gfc_interpret_float): Set mpfr precision to right value before | |
830 | calling mpfr_init. | |
831 | ||
5bcb0cc3 L |
832 | 2008-09-10 H.J. Lu <hongjiu.lu@intel.com> |
833 | ||
834 | * expr.c (find_array_element): Reformat comment. | |
835 | ||
3b35a6f8 L |
836 | 2008-09-10 H.J. Lu <hongjiu.lu@intel.com> |
837 | ||
838 | * expr.c (find_array_element): Reformat. | |
839 | ||
06c7153f TB |
840 | 2008-09-10 Tobias Burnus <burnus@net-b.de> |
841 | ||
842 | PR fortran/37420 | |
843 | * trans-decl.c (get_proc_pointer_decl): Fix -Wunused-variable. | |
844 | ||
00ca6640 DK |
845 | 2008-09-09 Daniel Kraft <d@domob.eu> |
846 | ||
847 | PR fortran/37429 | |
848 | * resolve.c (expression_rank): Added assertion to guard against | |
849 | EXPR_COMPCALL expressions. | |
850 | (resolve_compcall): Set expression's rank from the target procedure's. | |
851 | ||
18b0679f DK |
852 | 2008-09-09 Daniel Kraft <d@domob.eu> |
853 | ||
854 | PR fortran/37411 | |
855 | * trans-array.c (gfc_conv_array_parameter): Added assertion that the | |
856 | symbol has an array spec. | |
857 | ||
0a991dec DK |
858 | 2008-09-08 Daniel Kraft <d@domob.eu> |
859 | ||
860 | PR fortran/37199 | |
861 | * trans-expr.c (gfc_add_interface_mapping): Set new_sym->as. | |
862 | (gfc_map_intrinsic_function): Added checks against NULL bounds in | |
863 | array specs. | |
864 | ||
10c17e8f TB |
865 | 2008-09-08 Tobias Burnus <burnus@net.b.de> |
866 | ||
867 | PR fortran/37400 | |
868 | * symbol.c (gfc_set_default_type): Copy char len. | |
869 | ||
7a687b22 TB |
870 | 2008-09-06 Steven G. Kargl <kargls@comcast.net> |
871 | ||
872 | PR fortran/36153 | |
873 | * fortran/resolve.c (resolve_function): Shortcircuit for SIZE and | |
874 | UBOUND if 2nd argument is KIND. | |
875 | ||
2c68bc89 SK |
876 | 2008-09-06 Steven G. Kargl <kargls@comcast.net> |
877 | ||
878 | PR fortran/33229 | |
879 | * resolve.c (resolve_function): An intrinsic subroutine should not be | |
880 | called as a function. | |
881 | ||
a82f1f2e DK |
882 | 2008-09-05 Daniel Kraft <d@domob.eu> |
883 | ||
884 | PR fortran/35837 | |
885 | * resolve.c (resolve_types): Restore gfc_current_ns on exit. | |
886 | * symbol.c (gfc_save_all): Removed blank line. | |
887 | ||
ebac6d9c DK |
888 | 2008-09-05 Daniel Kraft <d@domob.eu> |
889 | ||
890 | PR fortran/36746 | |
891 | * primary.c (gfc_match_rvalue): Removed logic to handle implicit | |
892 | typing to a derived-type if a component reference is found. | |
893 | (gfc_match_varspec): Moved it here. | |
894 | ||
6e1b67b3 RG |
895 | 2008-09-04 Richard Guenther <rguenther@suse.de> |
896 | ||
897 | * trans-array.c (gfc_conv_array_parameter): Use correct types | |
898 | in building COND_EXPRs. | |
899 | * trans-expr.c (gfc_conv_missing_dummy): Likewise. | |
900 | * trans-intrinsics.c (gfc_conv_intrinsic_merge): Likewise. | |
901 | ||
d5551618 DK |
902 | 2008-09-04 Daniel Kraft <d@domob.eu> |
903 | ||
904 | * PR fortran/37099 | |
905 | * expr.c (simplify_const_ref): Update expression's character length | |
906 | when pulling out a substring reference. | |
907 | ||
e0c68ce9 ILT |
908 | 2008-09-04 Ian Lance Taylor <iant@google.com> |
909 | ||
910 | * symbol.c (generate_isocbinding_symbol): Compare | |
911 | gfc_notification_std with ERROR rather than FAILURE. | |
912 | * resolve.c (check_assumed_size_reference): Compare array type | |
913 | with AR_FULL rather than DIMEN_ELEMENT. | |
914 | (resolve_actual_arglist): Compare with EXPR_VARIABLE rather than | |
915 | FL_VARIABLE. | |
916 | ||
900e887f JD |
917 | 2008-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
918 | ||
919 | PR fortran/37228 | |
920 | * io.c (check_format): Allow specifying precision with g0 format. | |
921 | ||
52f49934 DK |
922 | 2008-09-02 Daniel Kraft <d@domob.eu> |
923 | ||
924 | * gfortran.h (struct gfc_namespace): New member `implicit_loc'. | |
925 | (gfc_add_abstract): New method. | |
926 | * decl.c (gfc_get_type_attr_spec): Match ABSTRACT attribute. | |
927 | (gfc_match_derived_decl): Copy abstract attribute in derived symbol. | |
928 | * dump-parse-tree.c (show_attr): Show ABSTRACT attribute as `ABSTRACT' | |
929 | only to allow for ABSTRACT types. | |
930 | * parse.c (parse_interface): Use new gfc_add_abstract. | |
931 | * primary.c (gfc_match_structure_constructor): Check that no ABSTRACT | |
932 | type is constructed. | |
933 | * resolve.c (resolve_typespec_used): New method. | |
934 | (resolve_fl_derived): Check type in respect to ABSTRACT attribute and | |
935 | check that no component is of an ABSTRACT type. | |
936 | (resolve_symbol): Check that no symbol is of an ABSTRACT type. | |
937 | (resolve_types): Check IMPLICIT declarations for ABSTRACT types. | |
938 | * symbol.c (gfc_merge_new_implicit): Remember loci of IMPLICIT's. | |
939 | (gfc_add_abstract): New method. | |
940 | ||
3e1e5626 DK |
941 | 2008-09-01 Daniel Kraft <d@domob.eu> |
942 | ||
943 | PR fortran/37193 | |
944 | * module.c (read_module): Initialize use_only flag on used symbols. | |
945 | ||
a64a8f2f DK |
946 | 2008-09-01 Daniel Kraft <d@domob.eu> |
947 | ||
948 | * gfc-internals.texi (F2003 OOP), (Type-bound Procedures): New chapter | |
949 | and section to document the internals of type-bound procedures. | |
950 | (gfc_expr): Document EXPR_COMPCALL. | |
951 | * gfortran.h (struct gfc_expr): Remove unused `derived' from compcall. | |
952 | * dump-parse-tree.c (show_compcall): New method. | |
953 | (show_expr): Call it for EXPR_COMPCALL. | |
954 | (show_typebound), (show_f2k_derived): New methods. | |
955 | (show_symbol): Call show_f2k_derived. | |
956 | (show_code_node): Handle EXEC_COMPCALL. | |
957 | * primary.c (gfc_match_varspec): Don't initialize removed `derived' in | |
958 | primary->value.compcall. | |
959 | ||
eb829078 RG |
960 | 2008-08-31 Richard Guenther <rguenther@suse.de> |
961 | ||
962 | * trans-expr.c (gfc_trans_string_copy): Use the correct types | |
963 | to compute slen and dlen. | |
964 | ||
e157f736 DK |
965 | 2008-08-31 Daniel Kraft <d@domob.eu> |
966 | ||
967 | * gfortran.h (enum gfc_statement): New entry `ST_GENERIC'. | |
968 | (struct gfc_tbp_generic): New type. | |
969 | (struct gfc_typebound_proc): Removed `target' and added union with | |
970 | `specific' and `generic' members; new members `overridden', | |
971 | `subroutine', `function' and `is_generic'. | |
972 | (struct gfc_expr): New members `derived' and `name' in compcall union | |
973 | member and changed type of `tbp' to gfc_typebound_proc. | |
974 | (gfc_compare_interfaces), (gfc_compare_actual_formal): Made public. | |
975 | * match.h (gfc_typebound_default_access): New global. | |
976 | (gfc_match_generic): New method. | |
977 | * decl.c (gfc_match_generic): New method. | |
978 | (match_binding_attributes): New argument `generic' and handle it. | |
979 | (match_procedure_in_type): Mark matched binding as non-generic. | |
980 | * interface.c (gfc_compare_interfaces): Made public. | |
981 | (gfc_compare_actual_formal): Ditto. | |
982 | (check_interface_1), (compare_parameter): Use new public names. | |
983 | (gfc_procedure_use), (gfc_search_interface): Ditto. | |
984 | * match.c (match_typebound_call): Set base-symbol referenced. | |
985 | * module.c (binding_generic): New global array. | |
986 | (current_f2k_derived): New global. | |
987 | (mio_typebound_proc): Handle IO of GENERIC bindings. | |
988 | (mio_f2k_derived): Record current f2k-namespace in current_f2k_derived. | |
989 | * parse.c (decode_statement): Handle GENERIC statement. | |
990 | (gfc_ascii_statement): Ditto. | |
991 | (typebound_default_access), (set_typebound_default_access): Removed. | |
992 | (gfc_typebound_default_access): New global. | |
993 | (parse_derived_contains): New default-access implementation and handle | |
994 | GENERIC statements encountered. | |
995 | * primary.c (gfc_match_varspec): Adapted to new gfc_typebound_proc | |
996 | structure and removed check for SUBROUTINE/FUNCTION from here. | |
997 | * resolve.c (extract_compcall_passed_object): New method. | |
998 | (update_compcall_arglist): Use it. | |
999 | (resolve_typebound_static): Adapted to new gfc_typebound_proc structure. | |
1000 | (resolve_typebound_generic_call): New method. | |
1001 | (resolve_typebound_call): Check target is a SUBROUTINE and handle calls | |
1002 | to GENERIC bindings. | |
1003 | (resolve_compcall): Ditto (check for target being FUNCTION). | |
1004 | (check_typebound_override): Handle GENERIC bindings. | |
1005 | (check_generic_tbp_ambiguity), (resolve_typebound_generic): New methods. | |
1006 | (resolve_typebound_procedure): Handle GENERIC bindings and set new | |
1007 | attributes subroutine, function and overridden in gfc_typebound_proc. | |
1008 | (resolve_fl_derived): Ensure extended type is resolved before the | |
1009 | extending one is. | |
1010 | * st.c (gfc_free_statement): Fix bug with free'ing EXEC_COMPCALL's. | |
1011 | * symbol.c (gfc_find_typebound_proc): Adapt for GENERIC changes. | |
1012 | ||
041f300d JH |
1013 | 2008-08-29 Jan Hubicka <jh@suse.cz> |
1014 | ||
8bcf15f6 | 1015 | * parse.c (parse_interface): Silence uninitialized var warning. |
041f300d | 1016 | |
a64f5186 JJ |
1017 | 2008-08-29 Jakub Jelinek <jakub@redhat.com> |
1018 | ||
de870512 JJ |
1019 | * trans.h (struct lang_type): Add span. |
1020 | (GFC_TYPE_ARRAY_SPAN): Define. | |
1021 | * trans-decl.c (gfc_get_symbol_decl): For subref array pointers, | |
1022 | copy TREE_STATIC from decl to span instead of setting it | |
1023 | unconditionally, set DECL_ARTIFICIAL, fix type of initializer | |
1024 | and set GFC_TYPE_ARRAY_SPAN on decl's type. | |
1025 | * trans-types.c (gfc_get_array_descr_info): If | |
1026 | GFC_TYPE_ARRAY_SPAN is non-NULL, use it as element size. | |
1027 | ||
bd11e37d JJ |
1028 | * trans-decl.c (check_constant_initializer, |
1029 | gfc_emit_parameter_debug_info): New functions. | |
1030 | (gfc_generate_module_vars, gfc_generate_function_code): Emit | |
1031 | PARAMETERs and unreferenced variables with initializers into | |
1032 | debug info. | |
1033 | ||
9268ba9a JJ |
1034 | * gfortran.h (gfc_use_list): Add where field. |
1035 | * module.c (use_locus): New static variable. | |
1036 | (gfc_match_use): Set it. | |
1037 | (gfc_use_module): Copy it to gfc_use_list's where field. | |
1038 | * trans-decl.c (gfc_generate_module_vars): Call gfc_trans_use_stmts. | |
1039 | (gfc_trans_use_stmts): Set backend locus before calling the debug | |
1040 | hook. Allow non-VAR_DECLs to be created even for non-external | |
1041 | module. Don't emit anything so far for renames from different | |
1042 | modules. | |
1043 | ||
714495cd JJ |
1044 | PR fortran/24790 |
1045 | * trans-decl.c (create_function_arglist): Set DECL_BY_REFERENCE on | |
1046 | PARM_DECLs with pointer or reference type. | |
1047 | ||
25c29c56 JJ |
1048 | * trans-decl.c (gfc_build_qualified_array): Build non-flat |
1049 | array type for debug info purposes. | |
1050 | ||
a64f5186 JJ |
1051 | PR fortran/29635 |
1052 | PR fortran/23057 | |
1053 | * f95-lang.c (gfc_init_ts): New function. | |
1054 | (LANG_HOOKS_INIT_TS): Define. | |
1055 | * gfortran.h (gfc_use_rename): New type, moved from module.c. | |
1056 | (gfc_get_use_rename): New macro, moved from module.c. | |
1057 | (gfc_use_list): New type. | |
1058 | (gfc_get_use_list): New macro. | |
1059 | (gfc_namespace): Add use_stmts field. | |
1060 | (gfc_free_use_stmts): New prototype. | |
1061 | * Make-lang.in (fortran/trans-decl.o): Depend on debug.h. | |
1062 | * module.c (gfc_use_rename, gfc_get_use_rename): Moved to | |
1063 | gfortran.h. | |
1064 | (gfc_use_module): Chain the USE statement info to | |
1065 | ns->use_stmts. | |
1066 | (gfc_free_use_stmts): New function. | |
1067 | * symbol.c (gfc_free_namespace): Call gfc_free_use_stmts. | |
1068 | * trans.h (struct module_htab_entry): New type. | |
1069 | (gfc_find_module, gfc_module_add_decl): New functions. | |
1070 | * trans.c (gfc_generate_module_code): Create NAMESPACE_DECL for | |
1071 | the module, adjust DECL_CONTEXTs of module procedures and | |
1072 | call gfc_module_add_decl for them. | |
1073 | * trans-common.c (build_common_decl): Set DECL_IGNORED_P | |
1074 | on the common variable. | |
1075 | (create_common): Set DECL_IGNORED_P for use associated vars. | |
1076 | * trans-decl.c: Include debug.h. | |
1077 | (gfc_get_symbol_decl): Set DECL_IGNORED_P on use_assoc vars from | |
1078 | modules. | |
1079 | (build_function_decl): Allow current_function_decl's context | |
1080 | to be a NAMESPACE_DECL. | |
1081 | (module_htab, cur_module): New variables. | |
1082 | (module_htab_do_hash, module_htab_eq, module_htab_decls_hash, | |
1083 | module_htab_decls_eq, gfc_find_module, gfc_module_add_decl): New | |
1084 | functions. | |
1085 | (gfc_create_module_variable): Adjust DECL_CONTEXTs of module | |
1086 | variables and types and call gfc_module_add_decl for them. | |
1087 | (gfc_generate_module_vars): Temporarily set cur_module. | |
1088 | (gfc_trans_use_stmts): New function. | |
1089 | (gfc_generate_function_code): Call it. | |
1090 | (gfc_generate_block_data): Set DECL_IGNORED_P on decl. | |
1091 | * trans-types.c (gfc_get_derived_type): Adjust DECL_CONTEXT | |
1092 | and TYPE_CONTEXT of module derived types. | |
1093 | ||
8e1f752a DK |
1094 | 2008-08-28 Daniel Kraft <d@domob.eu> |
1095 | ||
1096 | * gfortran.h (enum expr_t): New value `EXPR_COMPCALL'. | |
1097 | (gfc_get_typebound_proc): New macro. | |
1098 | (struct gfc_expr): New union-member `compcall' for EXPR_COMPCALL. | |
1099 | (enum gfc_exec_op): New value `EXEC_COMPCALL'. | |
1100 | (gfc_find_typebound_proc): New argument. | |
1101 | (gfc_copy_ref), (gfc_match_varspec): Made public. | |
1102 | * decl.c (match_procedure_in_type): Use gfc_get_typebound_proc. | |
1103 | * expr.c (free_expr0), (gfc_copy_expr): Handle EXPR_COMPCALL. | |
1104 | (gfc_copy_ref): Made public and use new name. | |
1105 | (simplify_const_ref): Use new name of gfc_copy_ref. | |
1106 | (simplify_parameter_variable): Ditto. | |
1107 | (gfc_simplify_expr): gcc_unreachable for EXPR_COMPCALL. | |
1108 | * match.c (match_typebound_call): New method. | |
1109 | (gfc_match_call): Allow for CALL's to typebound procedures. | |
1110 | * module.c (binding_passing), (binding_overriding): New variables. | |
1111 | (expr_types): Add EXPR_COMPCALL. | |
1112 | (mio_expr): gcc_unreachable for EXPR_COMPCALL. | |
1113 | (mio_typebound_proc), (mio_typebound_symtree): New methods. | |
1114 | (mio_f2k_derived): Handle type-bound procedures. | |
1115 | * primary.c (gfc_match_varspec): Made public and parse trailing | |
1116 | references to type-bound procedures; new argument `sub_flag'. | |
1117 | (gfc_match_rvalue): New name and argument of gfc_match_varspec. | |
1118 | (match_variable): Ditto. | |
1119 | * resolve.c (update_arglist_pass): New method. | |
1120 | (update_compcall_arglist), (resolve_typebound_static): New methods. | |
1121 | (resolve_typebound_call), (resolve_compcall): New methods. | |
1122 | (gfc_resolve_expr): Handle EXPR_COMPCALL. | |
1123 | (resolve_code): Handle EXEC_COMPCALL. | |
1124 | (resolve_fl_derived): New argument to gfc_find_typebound_proc. | |
1125 | (resolve_typebound_procedure): Ditto and removed not-implemented error. | |
1126 | * st.c (gfc_free_statement): Handle EXEC_COMPCALL. | |
1127 | * symbol.c (gfc_find_typebound_proc): New argument `noaccess' and | |
1128 | implement access-checking. | |
1129 | * trans-expr.c (gfc_apply_interface_mapping_to_expr): gcc_unreachable | |
1130 | on EXPR_COMPCALL. | |
1131 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Add missing break. | |
1132 | * trans-openmp.c (gfc_trans_omp_array_reduction): Add missing | |
1133 | intialization of ref->type. | |
1134 | ||
b7fdeec9 JW |
1135 | 2008-08-28 Janus Weil <janus@gcc.gnu.org> |
1136 | ||
1137 | PR fortran/37253 | |
1138 | * module.c (ab_attribute,attr_bits,mio_symbol_attribute): Take care of | |
1139 | saving attr.procedure and attr.proc_ptr to the module file. | |
1140 | ||
9d1210f4 DK |
1141 | 2008-08-25 Daniel Kraft <d@domob.eu> |
1142 | ||
1143 | * gfortran.h (gfc_find_component): Add new arguments. | |
1144 | * parse.c (parse_derived_contains): Check if the derived-type containing | |
1145 | the CONTAINS section is SEQUENCE/BIND(C). | |
1146 | * resolve.c (resolve_typebound_procedure): Check for name collision with | |
1147 | components. | |
1148 | (resolve_fl_derived): Check for name collision with inherited | |
1149 | type-bound procedures. | |
1150 | * symbol.c (gfc_find_component): New arguments `noaccess' and `silent'. | |
1151 | (gfc_add_component): Adapt for new arguments. | |
1152 | * primary.c (match_varspec), (gfc_match_structure_constructor): Ditto. | |
1153 | ||
8327f9c2 TB |
1154 | 2008-08-24 Tobias Burnus <burnus@net-b.de> |
1155 | ||
1156 | PR fortran/37201 | |
1157 | * decl.c (verify_bind_c_sym): Reject array/string returning | |
1158 | functions. | |
1159 | ||
3a73a540 TB |
1160 | 2008-08-24 Tobias Burnus <burnus@net-b.de> |
1161 | ||
1162 | PR fortran/37201 | |
1163 | * trans-expr.c (gfc_conv_function_call): Add string_length | |
1164 | for character-returning bind(C) functions. | |
1165 | ||
30b608eb DK |
1166 | 2008-08-24 Daniel Kraft <d@domob.eu> |
1167 | ||
1168 | * gfortran.h (gfc_typebound_proc): New struct. | |
1169 | (gfc_symtree): New member typebound. | |
1170 | (gfc_find_typebound_proc): Prototype for new method. | |
1171 | (gfc_get_derived_super_type): Prototype for new method. | |
1172 | * parse.h (gfc_compile_state): New state COMP_DERIVED_CONTAINS. | |
1173 | * decl.c (gfc_match_procedure): Handle PROCEDURE inside derived-type | |
1174 | CONTAINS section. | |
1175 | (gfc_match_end): Handle new context COMP_DERIVED_CONTAINS. | |
1176 | (gfc_match_private): Ditto. | |
1177 | (match_binding_attributes), (match_procedure_in_type): New methods. | |
1178 | (gfc_match_final_decl): Rewrote to make use of new | |
1179 | COMP_DERIVED_CONTAINS parser state. | |
1180 | * parse.c (typebound_default_access): New global helper variable. | |
1181 | (set_typebound_default_access): New callback method. | |
1182 | (parse_derived_contains): New method. | |
1183 | (parse_derived): Extracted handling of CONTAINS to new parser state | |
1184 | and parse_derived_contains. | |
1185 | * resolve.c (resolve_bindings_derived), (resolve_bindings_result): New. | |
1186 | (check_typebound_override), (resolve_typebound_procedure): New methods. | |
1187 | (resolve_typebound_procedures): New method. | |
1188 | (resolve_fl_derived): Call new resolving method for typebound procs. | |
1189 | * symbol.c (gfc_new_symtree): Initialize new member typebound to NULL. | |
1190 | (gfc_find_typebound_proc): New method. | |
1191 | (gfc_get_derived_super_type): New method. | |
1192 | ||
d4b7d0f0 JW |
1193 | 2008-08-23 Janus Weil <janus@gcc.gnu.org> |
1194 | ||
1195 | * gfortran.h (gfc_component): Add field "symbol_attribute attr", remove | |
1196 | fields "pointer", "allocatable", "dimension", "access". | |
1197 | Remove functions "gfc_set_component_attr" and "gfc_get_component_attr". | |
1198 | * interface.c (gfc_compare_derived_types): Ditto. | |
1199 | * trans-array.c (gfc_array_allocate,structure_alloc_comps): Ditto. | |
1200 | * trans-expr.c (gfc_conv_component_ref,gfc_trans_subcomponent_assign, | |
1201 | gfc_conv_structure): Ditto. | |
1202 | * symbol.c (gfc_find_component,free_components,gfc_set_component_attr, | |
1203 | gfc_get_component_attr,verify_bind_c_derived_type, | |
1204 | generate_isocbinding_symbol): Ditto. | |
1205 | * decl.c (build_struct): Ditto. | |
1206 | * dump-parse-tree.c (show_components): Ditto. | |
1207 | * trans-stmt.c (gfc_trans_deallocate): Ditto. | |
1208 | * expr.c (gfc_check_assign,gfc_check_pointer_assign, | |
1209 | gfc_default_initializer): Ditto. | |
1210 | * module.c (mio_component): Ditto. | |
1211 | * trans-types.c (copy_dt_decls_ifequal,gfc_get_derived_type): Ditto. | |
1212 | * resolve.c (has_default_initializer,resolve_structure_cons, | |
1213 | gfc_iso_c_func_interface,find_array_spec,resolve_ref, | |
1214 | resolve_deallocate_expr,resolve_allocate_expr,resolve_fl_derived, | |
1215 | resolve_equivalence_derived): Ditto. | |
1216 | * trans-io.c (transfer_expr): Ditto. | |
1217 | * parse.c (parse_derived): Ditto. | |
1218 | * dependency.c (gfc_check_dependency): Ditto. | |
1219 | * primary.c (gfc_variable_attr): Ditto. | |
1220 | ||
3434e9a4 TB |
1221 | 2008-08-23 Tobias Burnus <burnus@net-b.de> |
1222 | ||
1223 | PR fortran/37076 | |
1224 | * arith.c (gfc_arith_concat): Fix concat of kind=4 strings. | |
1225 | ||
12ba225d TB |
1226 | 2008-08-23 Tobias Burnus <burnus@net-b.de> |
1227 | ||
1228 | PR fortran/37025 | |
1229 | * target-memory.c (gfc_interpret_character): Support | |
1230 | kind=4 characters. | |
1231 | ||
fee3292b DK |
1232 | 2008-08-22 Daniel Kraft <d@domob.eu> |
1233 | ||
1234 | PR fortran/30239 | |
1235 | * symbol.c (gfc_add_type): Warn on -Wsurprising if a function-result | |
1236 | type is re-declared but neither -pedantic nor -std=f* is given and so | |
1237 | this is no error. | |
1238 | * invoke.texi (-Wsurprising): Document this new behaviour. | |
1239 | ||
3df684e2 DK |
1240 | 2008-08-22 Daniel Kraft <d@domob.eu> |
1241 | ||
1242 | * gfortran.h (in_prefix): Removed from this header. | |
1243 | * match.h (gfc_matching_prefix): Moved and renamed from `in_prefix'. | |
1244 | * decl.c (in_prefix): Removed from here. | |
1245 | (gfc_match_prefix): Use new name of `gfc_matching_prefix'. | |
1246 | * symbol.c (gfc_check_symbol_typed): Ditto. | |
1247 | * expr.c (check_typed_ns): New helper variable. | |
1248 | (expr_check_typed_help): New helper method. | |
1249 | (gfc_expr_check_typed): Rewrote to use gfc_traverse_expr to do the | |
1250 | work, fixing a minor problem. | |
1251 | * match.c (gfc_matching_prefix): New variable. | |
1252 | ||
f37e928c DK |
1253 | 2008-08-22 Daniel Kraft <d@domob.eu> |
1254 | ||
1255 | PR fortran/32095 | |
1256 | PR fortran/34228 | |
1257 | * gfortran.h (in_prefix): New global. | |
1258 | (gfc_check_symbol_typed), (gfc_check_expr_typed): New methods. | |
1259 | * array.c (match_array_element_spec): Check that bounds-expressions | |
1260 | don't have symbols not-yet-typed in them. | |
1261 | * decl.c (var_element): Check that variable used is already typed. | |
1262 | (char_len_param_value): Check that expression does not contain | |
1263 | not-yet-typed symbols. | |
1264 | (in_prefix): New global. | |
1265 | (gfc_match_prefix): Record using `in_prefix' if we're at the moment | |
1266 | parsing a prefix or not. | |
1267 | * expr.c (gfc_expr_check_typed): New method. | |
1268 | * parse.c (verify_st_order): New argument to disable error output. | |
1269 | (check_function_result_typed): New helper method. | |
1270 | (parse_spec): Check that the function-result declaration, if given in | |
1271 | a prefix, contains no not-yet-typed symbols when the IMPLICIT rules are | |
1272 | parsed. | |
1273 | * symbol.c (gfc_check_symbol_typed): Check that a symbol already has | |
1274 | a type associated to it, otherwise use the IMPLICIT rules or signal | |
1275 | an error. | |
1276 | ||
509c9d60 MLI |
1277 | 2008-08-21 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
1278 | ||
1279 | * f95-lang.c: Update all calls to pedwarn. | |
1280 | ||
f34cf28d DF |
1281 | 2008-08-18 Daniel Franke <franke.daniel@gmail.com> |
1282 | ||
1283 | PR fortran/37032 | |
1284 | * gfortran.texi: Document decision on include file handling in | |
1285 | preprocessed files. | |
1286 | ||
6c397102 TB |
1287 | 2008-08-16 Tobias Burnus <burnus@net-b.de> |
1288 | ||
1289 | PR fortran/36825 | |
1290 | * libgfortran.h: Reduce GFC_MAX_DIMENSIONS to 7. | |
1291 | ||
dad80a1b JD |
1292 | 2008-08-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1293 | ||
1294 | PR fortran/35863 | |
1295 | * io.c (gfc_match_open): Enable UTF-8 in checks. | |
1296 | * simplify.c (gfc_simplify_selected_char_kind): Enable iso_10646. | |
1297 | ||
beb4bd6c JW |
1298 | 2008-08-14 Janus Weil <janus@gcc.gnu.org> |
1299 | ||
1300 | PR fortran/36705 | |
1301 | * symbol.c (check_conflict): Move conflict checks for (procedure,save) | |
1302 | and (procedure,intent) to resolve_fl_procedure. | |
1303 | * resolve.c (resolve_fl_procedure): Ditto. | |
1304 | ||
71205d17 MLI |
1305 | 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
1306 | ||
1307 | PR 36901 | |
1308 | * f95-lang.c (gfc_mark_addressable): Use "pedwarn (0," instead of | |
1309 | 'pedwarn0'. | |
1310 | ||
63a3341a PT |
1311 | 2008-08-09 Paul Thomas <pault@gcc.gnu.org> |
1312 | ||
1313 | PR fortran/37011 | |
1314 | * symbol.c (gfc_add_extension): New function. | |
1315 | * decl.c (gfc_get_type_attr_spec): Call it. | |
1316 | (gfc_match_derived_decl): Set symbol extension attribute from | |
1317 | attr.extension. | |
1318 | * gfortran.h : Add prototype for gfc_add_extension. | |
1319 | ||
e73f7547 MLI |
1320 | 2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
1321 | ||
1322 | PR 28875 | |
1323 | * options.c (set_Wall): Replace set_Wunused by warn_unused. | |
1324 | ||
f6fad28e DK |
1325 | 2008-08-08 Daniel Kraft <d@domob.eu> |
1326 | ||
1327 | * gfortran.h (gfc_finalizer): Replaced member `procedure' by two | |
1328 | new members `proc_sym' and `proc_tree' to store the symtree after | |
1329 | resolution. | |
1330 | (gfc_find_sym_in_symtree): Made public. | |
1331 | * decl.c (gfc_match_final_decl): Adapted for new member name. | |
1332 | * interface.c (gfc_find_sym_in_symtree): Made public. | |
1333 | (gfc_extend_expr), (gfc_extend_assign): Changed call accordingly. | |
1334 | * module.c (mio_finalizer), (mio_f2k_derived), (mio_full_f2k_derived): | |
1335 | New methods for module-file IO of f2k_derived. | |
1336 | (mio_symbol): Do IO of f2k_derived namespace. | |
1337 | * resolve.c (gfc_resolve_finalizers): Adapted for new member name and | |
1338 | finding the symtree for the symbol here. | |
1339 | * symbol.c (gfc_free_finalizer): Adapted for new members. | |
1340 | ||
70b1e376 RW |
1341 | 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1342 | ||
1343 | * gfc-internals.texi: Update to GFDL 1.2. Do not list GPL as | |
1344 | Invariant Section. | |
1345 | * gfortran.texi: Likewise. | |
1346 | * intrinsic.texi: Do not list GPL as Invariant Section. | |
1347 | * invoke.texi: Likewise. Update copyright years. | |
1348 | ||
7d1f1e61 PT |
1349 | 2008-07-29 Paul Thomas <pault@gcc.gnu.org> |
1350 | ||
1351 | * trans-expr.c (conv_parent_component_references): New function | |
1352 | to build missing parent references. | |
1353 | (gfc_conv_variable): Call it | |
1354 | * symbol.c (gfc_add_component): Check that component name in a | |
1355 | derived type extension does not appear in parent. | |
1356 | (gfc_find_component): For a derived type extension, check if | |
1357 | the component appears in the parent derived type by calling | |
1358 | self. Separate errors for private components and private types. | |
1359 | * decl.c (match_data_constant): Add extra arg to call to | |
1360 | gfc_match_structure_constructor. | |
1361 | (check_extended_derived_type): New function to check that a | |
1362 | parent derived type exists and that it is OK for exension. | |
1363 | (gfc_get_type_attr_spec): Add extra argument 'name' and return | |
1364 | it if extends is specified. | |
1365 | (gfc_match_derived_decl): Match derived type extension and | |
1366 | build a first component of the parent derived type if OK. Add | |
1367 | the f2k namespace if not present. | |
1368 | * gfortran.h : Add the extension attribute. | |
1369 | * module.c : Handle attribute 'extension'. | |
1370 | * match.h : Modify prototypes for gfc_get_type_attr_spec and | |
1371 | gfc_match_structure_constructor. | |
1372 | * primary.c (build_actual_constructor): New function extracted | |
1373 | from gfc_match_structure_constructor and modified to call self | |
1374 | iteratively to build derived type extensions, when f2k named | |
1375 | components are used. | |
1376 | (gfc_match_structure_constructor): Do not throw error for too | |
1377 | many components if a parent type is being handled. Use | |
1378 | gfc_find_component to generate errors for non-existent or | |
1379 | private components. Iteratively call self for derived type | |
1380 | extensions so that parent constructor is built. If extension | |
1381 | and components left over, throw error. | |
1382 | (gfc_match_rvalue): Add extra arg to call to | |
1383 | gfc_match_structure_constructor. | |
1384 | ||
1385 | * trans-array.c (gfc_conv_resolve_dependencies): If lhs and rhs | |
1386 | are the same symbol, aliassing does not matter. | |
1387 | ||
e90acd93 JH |
1388 | 2008-07-29 Jan Hubicka <jh@suse.cz> |
1389 | ||
1390 | * options.c (gfc_post_options): Do not set flag_no_inline. | |
1391 | ||
1fbfb0e2 DK |
1392 | 2008-07-29 Daniel Kraft <d@domob.eu> |
1393 | ||
1394 | PR fortran/36403 | |
1395 | * trans-intrinsic.c (conv_generic_with_optional_char_arg): New method | |
1396 | to append a string-length even if the string argument is missing, e.g. | |
1397 | for EOSHIFT. | |
1398 | (gfc_conv_intrinsic_function): Call the new method for EOSHIFT, PACK | |
1399 | and RESHAPE. | |
1400 | ||
17b1d2a0 KG |
1401 | 2008-07-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1402 | ||
1403 | * gfortran.h (try): Remove macro. Replace try with gfc_try | |
1404 | throughout. | |
1405 | * array.c: Likewise. | |
1406 | * check.c: Likewise. | |
1407 | * cpp.c: Likewise. | |
1408 | * cpp.h: Likewise. | |
1409 | * data.c: Likewise. | |
1410 | * data.h: Likewise. | |
1411 | * decl.c: Likewise. | |
1412 | * error.c: Likewise. | |
1413 | * expr.c: Likewise. | |
1414 | * interface.c: Likewise. | |
1415 | * intrinsic.c: Likewise. | |
1416 | * intrinsic.h: Likewise. | |
1417 | * io.c: Likewise. | |
1418 | * match.h: Likewise. | |
1419 | * parse.c: Likewise. | |
1420 | * parse.h: Likewise. | |
1421 | * resolve.c: Likewise. | |
1422 | * scanner.c: Likewise. | |
1423 | * simplify.c: Likewise. | |
1424 | * symbol.c: Likewise. | |
1425 | * trans-openmp.c: Likewise. | |
1426 | * trans-types.c: Likewise. | |
1427 | ||
8604e2cf TB |
1428 | 2008-07-28 Tobias Burnus <burnus@net-b.de> |
1429 | ||
1430 | * Make-lang.in: Remove -Wno-* from fortran-warn. | |
1431 | ||
726a989a RB |
1432 | 2008-07-28 Richard Guenther <rguenther@suse.de> |
1433 | ||
1434 | Merge from gimple-tuples-branch. | |
1435 | ||
1436 | 2008-07-18 Aldy Hernandez <aldyh@redhat.com> | |
1437 | ||
1438 | * trans-expr.c: Include gimple.h instead of tree-gimple.h. | |
1439 | * trans-array.c: Same. | |
1440 | * trans-openmp.c: Same. | |
1441 | * trans-stmt.c: Same. | |
1442 | * f95-lang.c: Same. | |
1443 | * trans-io.c: Same. | |
1444 | * trans-decl.c: Same. | |
1445 | * trans-intrinsic.c: Same. | |
1446 | * trans.c: Same. Include tree-iterator.h. | |
1447 | * Make-lang.in (trans.o): Depend on tree-iterator.h | |
1448 | ||
1449 | 2008-07-14 Aldy Hernandez <aldyh@redhat.com> | |
1450 | ||
1451 | * trans-array.h (gfc_conv_descriptor_data_set_internal): | |
1452 | Rename to gfc_conv_descriptor_data_set. | |
1453 | (gfc_conv_descriptor_data_set_tuples): Remove. | |
1454 | * trans-array.c (gfc_conv_descriptor_data_get): Rename | |
1455 | from gfc_conv_descriptor_data_set_internal. | |
1456 | Remove last argument to gfc_add_modify. | |
1457 | (gfc_trans_allocate_array_storage): Rename gfc_add_modify_expr to | |
1458 | gfc_add_modify. | |
1459 | (gfc_trans_create_temp_array): Same. | |
1460 | (gfc_conv_array_transpose): Same. | |
1461 | (gfc_grow_array): Same. | |
1462 | (gfc_put_offset_into_var): Same. | |
1463 | (gfc_trans_array_ctor_element): Same. | |
1464 | (gfc_trans_array_constructor_subarray): Same. | |
1465 | (gfc_trans_array_constructor_value): Same. | |
1466 | (gfc_trans_scalarized_loop_end): Same. | |
1467 | (gfc_array_init_size): Same. | |
1468 | (gfc_array_allocate): Same. | |
1469 | (gfc_trans_array_bounds): Same. | |
1470 | (gfc_trans_auto_array_allocation): Same. | |
1471 | (gfc_trans_g77_array): Same. | |
1472 | (gfc_trans_dummy_array_bias): Same. | |
1473 | (gfc_conv_expr_descriptor): Same. | |
1474 | (structure_alloc_comps): Same. | |
1475 | * trans-expr.c: Same. | |
1476 | * trans-openmp.c (gfc_omp_clause_default_ctor): Same. | |
1477 | Rename gfc_conv_descriptor_data_set_tuples to | |
1478 | gfc_conv_descriptor_data_set. | |
1479 | (gfc_omp_clause_copy_ctor): Change build_gimple_modify_stmt to | |
1480 | build2_v. | |
1481 | (gfc_omp_clause_assign_op): Same. | |
1482 | (gfc_trans_omp_array_reduction): Rename gfc_add_modify_expr to | |
1483 | gfc_add_modify. | |
1484 | (gfc_trans_omp_atomic): Same. | |
1485 | (gfc_trans_omp_do): Same. Change GIMPLE_MODIFY_STMT to MODIFY_EXPR. | |
1486 | Rename gfc_add_modify_stmt to gfc_add_modify. | |
1487 | * trans-stmt.c: Rename gfc_add_modify_expr to | |
1488 | gfc_add_modify. | |
1489 | * trans.c: Rename gfc_add_modify_expr to | |
1490 | gfc_add_modify. | |
1491 | (gfc_add_modify): Remove last argument. | |
1492 | Rename GIMPLE_MODIFY_STMT to MODIFY_EXPR. | |
1493 | * trans.h: Remove gfc_add_modify_expr, gfc_add_modify_stmt. | |
1494 | Add prototype for gfc_add_modify. | |
1495 | * f95-lang.c (union lang_tree_node): Rename GENERIC_NEXT to TREE_CHAIN. | |
1496 | * trans-decl.c: Rename gfc_add_modify_stmt to gfc_add_modify. | |
1497 | * trans-io.c: Same. | |
1498 | * trans-intrinsic.c: Same. | |
1499 | ||
1500 | 2008-02-25 Aldy Hernandez <aldyh@redhat.com> | |
1501 | ||
1502 | * Make-lang.in (fortran-warn): Add -Wno-format. | |
1503 | ||
1504 | 2008-02-19 Diego Novillo <dnovillo@google.com> | |
1505 | ||
1506 | http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00804.html | |
1507 | ||
1508 | * fortran/Make-lang.in (fortran-warn): Remove. | |
1509 | ||
1510 | 2007-11-22 Aldy Hernandez <aldyh@redhat.com> | |
1511 | ||
1512 | * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a | |
1513 | memset. | |
1514 | ||
1515 | 2007-11-10 Aldy Hernandez <aldyh@redhat.com> | |
1516 | ||
1517 | * Make-lang.in (fortran-warn): Set to -Wno-format. | |
1518 | * trans.c (gfc_trans_code): Update comment to say GENERIC. | |
1519 | Call tree_annotate_all_with_locus instead of annotate_all_with_locus. | |
1520 | ||
0d52899f TB |
1521 | 2008-07-27 Tobias Burnus <burnus@net-b.de> |
1522 | ||
1523 | PR fortran/36132 | |
1524 | PR fortran/29952 | |
1525 | PR fortran/36909 | |
1526 | * trans.c (gfc_trans_runtime_check): Allow run-time warning besides | |
1527 | run-time error. | |
1528 | * trans.h (gfc_trans_runtime_check): Update declaration. | |
1529 | * trans-array.c (gfc_trans_array_ctor_element,gfc_trans_array_bound_check, | |
1530 | gfc_conv_array_ref,gfc_conv_ss_startstride,gfc_trans_dummy_array_bias): | |
1531 | Updated gfc_trans_runtime_check calls. | |
1532 | (gfc_conv_array_parameter): Implement flag_check_array_temporaries, | |
1533 | fix packing/unpacking for nonpresent optional actuals to optional | |
1534 | formals. | |
1535 | * trans-array.h (gfc_conv_array_parameter): Update declaration. | |
1536 | * trans-expr.c (gfc_conv_substring,gfc_trans_arrayfunc_assign, | |
1537 | gfc_conv_function_call): Updated gfc_trans_runtime_check calls. | |
1538 | (gfc_conv_function_call): Update gfc_conv_array_parameter calls. | |
1539 | * trans-expr.c (gfc_trans_goto): Updated gfc_trans_runtime_check | |
1540 | calls. | |
1541 | * trans-io.c (set_string,gfc_conv_intrinsic_repeat): Ditto. | |
1542 | (gfc_conv_intrinsic_transfer,gfc_conv_intrinsic_loc): Same for | |
1543 | gfc_conv_array_parameter. | |
1544 | * trans-intrinsics.c (gfc_conv_intrinsic_bound): Ditto. | |
1545 | * trans-decl.c (gfc_build_builtin_function_decls): Add | |
1546 | gfor_fndecl_runtime_warning_at. | |
1547 | * lang.opt: New option fcheck-array-temporaries. | |
1548 | * gfortran.h (gfc_options): New flag_check_array_temporaries. | |
1549 | * options.c (gfc_init_options, gfc_handle_option): Handle flag. | |
1550 | * invoke.texi: New option fcheck-array-temporaries. | |
1551 | ||
7e8b322a JH |
1552 | 2008-07-24 Jan Hubicka <jh@suse.cz> |
1553 | ||
1554 | * fortran/options.c (gfc_post_options): Remove flag_unline_trees code. | |
1555 | ||
c3005b0f DK |
1556 | 2008-07-24 Daniel Kraft <d@domob.eu> |
1557 | ||
1558 | PR fortran/33141 | |
1559 | * lang.opt (Wnonstd-intrinsics): Removed option. | |
1560 | (Wintrinsics-std), (Wintrinsic-shadow): New options. | |
1561 | * invoke.texi (Option Summary): Removed -Wnonstd-intrinsics | |
1562 | from the list and added -Wintrinsics-std and -Wintrinsic-shadow. | |
1563 | (Error and Warning Options): Documented the new options and removed | |
1564 | the documentation for -Wnonstd-intrinsics. | |
1565 | * gfortran.h (gfc_option_t): New members warn_intrinsic_shadow and | |
1566 | warn_intrinsics_std, removed warn_nonstd_intrinsics. | |
1567 | (gfc_is_intrinsic): Renamed from gfc_intrinsic_name. | |
1568 | (gfc_warn_intrinsic_shadow), (gfc_check_intrinsic_standard): New. | |
1569 | * decl.c (match_procedure_decl): Replaced gfc_intrinsic_name by | |
1570 | the new name gfc_is_intrinsic. | |
1571 | (warn_intrinsic_shadow): New helper method. | |
1572 | (gfc_match_function_decl), (gfc_match_subroutine): Call the new method | |
1573 | warn_intrinsic_shadow to check the just-parsed procedure. | |
1574 | * expr.c (check_init_expr): Call new gfc_is_intrinsic to check whether | |
1575 | the function called is really an intrinsic in the selected standard. | |
1576 | * intrinsic.c (gfc_is_intrinsic): Renamed from gfc_intrinsic_name and | |
1577 | extended to take into account the selected standard settings when trying | |
1578 | to find out whether a symbol is an intrinsic or not. | |
1579 | (gfc_check_intrinsic_standard): Made public and extended. | |
1580 | (gfc_intrinsic_func_interface), (gfc_intrinsic_sub_interface): Removed | |
1581 | the calls to check_intrinsic_standard, this check now happens inside | |
1582 | gfc_is_intrinsic. | |
1583 | (gfc_warn_intrinsic_shadow): New method defined. | |
1584 | * options.c (gfc_init_options): Initialize new warning flags to false | |
1585 | and removed intialization of Wnonstd-intrinsics flag. | |
1586 | (gfc_post_options): Removed logic for Wnonstd-intrinsics flag. | |
1587 | (set_Wall): Set new warning flags and removed Wnonstd-intrinsics flag. | |
1588 | (gfc_handle_option): Handle the new flags and removed handling of the | |
1589 | old Wnonstd-intrinsics flag. | |
1590 | * primary.c (gfc_match_rvalue): Replaced call to gfc_intrinsic_name by | |
1591 | the new name gfc_is_intrinsic. | |
1592 | * resolve.c (resolve_actual_arglist): Ditto. | |
1593 | (resolve_generic_f), (resolve_unknown_f): Ditto. | |
1594 | (is_external_proc): Ditto. | |
1595 | (resolve_generic_s), (resolve_unknown_s): Ditto. | |
1596 | (resolve_symbol): Ditto and ensure for symbols declared INTRINSIC that | |
1597 | they are really available in the selected standard setting. | |
1598 | ||
befdf741 DK |
1599 | 2008-07-24 Daniel Kraft <d@domob.eu> |
1600 | ||
1601 | * match.c (gfc_match): Add assertion to catch wrong calls trying to | |
1602 | match upper-case characters. | |
1603 | ||
bdfd2ff0 TK |
1604 | 2008-07-24 Thomas Koenig <tkoenig@gcc.gnu.org> |
1605 | ||
1606 | PR fortran/29952 | |
1607 | * gfortran.h: Add "warn_array_temp" to gfc_option_t. | |
1608 | * lang.opt: Add -Warray-temporaries. | |
1609 | * invoke.texi: Document -Warray-temporaries | |
1610 | * trans-array.h (gfc_trans_create_temp_array): Add argument of | |
1611 | type *locus. | |
1612 | (gfc_conv_loop_setup): Likewise. | |
1613 | * trans-array.c (gfc_trans_create_temp_array): If | |
1614 | -Warray-temporaries is given and locus is present, warn about | |
1615 | creation of array temporaries. | |
1616 | (gfc_trans_array_constructor_subarray): Add locus to call | |
1617 | of gfc_conv_loop_setup. | |
1618 | (gfc_trans_array_constructor): Add where argument. Pass where | |
1619 | argument to call of gfc_trans_create_temp_array. | |
1620 | (gfc_add_loop_ss_code): Add where argument. Pass where argument | |
1621 | to recursive call of gfc_add_loop_ss_code and to call of | |
1622 | gfc_trans_array_constructor. | |
1623 | (gfc_conv_loop_setup): Add where argument. Pass where argument | |
1624 | to calls to gfc_add_loop_ss_code and to gfc_trans_create_temp_array. | |
1625 | (gfc_conv_expr_descriptor): Pass location to call of | |
1626 | gfc_conv_loop_setup. | |
1627 | (gfc_conv_array_parameter): If -Warray-temporaries is given, | |
1628 | warn about creation of temporary arrays. | |
1629 | * trans-expr.c (gfc_conv_subref_array_arg): Add where argument | |
1630 | to call to gfc_conv_loop_setup. | |
1631 | (gfc_conv_function_call): Add where argument to call to | |
1632 | gfc_trans_creat_temp_array. | |
1633 | (gfc_trans_subarray_assign): Likewise. | |
1634 | (gfc_trans_assignment_1): Add where argument to call to | |
1635 | gfc_conv_loop_setup. | |
1636 | * trans-stmt.c (gfc_conv_elemental_dependencies): Add where | |
1637 | argument to call to gfc_trans_create_temp_array. | |
1638 | (gfc_trans_call): Add where argument to call to gfc_conv_loop_setup. | |
1639 | (generate_loop_for_temp_to_lhs): Likewise. | |
1640 | (generate_loop_for_rhs_to_temp): Likewise. | |
1641 | (compute_inner_temp_size): Likewise. | |
1642 | (gfc_trans-pointer_assign_need_temp): Likewise. | |
1643 | (gfc_evaluate_where_mask): Likewise. | |
1644 | (gfc_trans_where_assign): Likewise. | |
1645 | (gfc_trans_where_3): Likewise. | |
1646 | * trans-io.c (transfer_srray_component): Add where argument | |
1647 | to function. Add where argument to call to gfc_conv_loop_setup. | |
1648 | (transfer_expr): Add where argument to call to | |
1649 | transfer_array_component. | |
1650 | (gfc_trans_transfer): Add where expression to call to | |
1651 | gfc_conv_loop_setup. | |
1652 | * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Add | |
1653 | where argument to call to gfc_conv_loop_setup. | |
1654 | (gfc_conv_intrinsic_count): Likewise. | |
1655 | (gfc_conv_intrinsic_arith): Likewise. | |
1656 | (gfc_conv_intrinsic_dot_product): Likewise. | |
1657 | (gfc_conv_intrinsic_minmaxloc): Likewise. | |
1658 | (gfc_conv_intrinsic_minmaxval): Likewise. | |
1659 | (gfc_conv_intrinsic_array_transfer): Warn about | |
1660 | creation of temporary array. | |
1661 | Add where argument to call to gfc_trans_create_temp_array. | |
1662 | * options.c (gfc_init_options): Initialize gfc_option.warn_array_temp. | |
1663 | (gfc_handle_option): Set gfc_option.warn_array_temp. | |
1664 | ||
fcf73884 MLI |
1665 | 2008-07-23 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
1666 | ||
1667 | PR 35058 | |
1668 | * f95-lang.c (gfc_mark_addressable): All calls to pedwarn changed. | |
1669 | ||
9cad01ce DK |
1670 | 2008-07-22 Daniel Kraft <d@domob.eu> |
1671 | ||
1672 | PR fortran/29835 | |
1673 | * io.c (error_element), (format_locus): New static globals. | |
1674 | (unexpected_element): Spelled out this message fully. | |
1675 | (next_char): Keep track of locus when not MODE_STRING. | |
1676 | (next_char_not_space): Remember last parsed element in error_element. | |
1677 | (format_lex): Fix two indentation errors. | |
1678 | (check_format): Use format_locus and possibly error_element for a | |
1679 | slightly better error message on invalid format. | |
1680 | (check_format_string): Set format_locus to start of the string | |
1681 | expression used as format. | |
1682 | ||
df2fba9e RW |
1683 | 2008-07-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1684 | ||
1685 | * expr.c (gfc_check_pointer_assign): Fix typo in string. | |
1686 | * io.c (check_format): Fix typo in string. Fix comment typos. | |
1687 | * parse.c (gfc_global_used): Likewise. | |
1688 | * resolve.c (resolve_allocate_expr): Likewise. | |
1689 | * symbol.c (gfc_set_default_type): Likewise. | |
1690 | * arith.c: Fix typos in comments. | |
1691 | * array.c: Likewise. | |
1692 | * data.c: Likewise. | |
1693 | * decl.c: Likewise. | |
1694 | * dependency.c: Likewise. | |
1695 | * f95-lang.c: Likewise. | |
1696 | * gfortran.h: Likewise. | |
1697 | * matchexp.c: Likewise. | |
1698 | * module.c: Likewise. | |
1699 | * primary.c: Likewise. | |
1700 | * scanner.c: Likewise. | |
1701 | * trans-array.c: Likewise. | |
1702 | * trans-common.c: Likewise. | |
1703 | * trans-decl.c: Likewise. | |
1704 | * trans-expr.c: Likewise. | |
1705 | * trans-intrinsic.c: Likewise. | |
1706 | * trans-types.c: Likewise. | |
1707 | * trans.c: Likewise. | |
1708 | * trans.h: Likewise. | |
1709 | ||
5e2be41f TB |
1710 | 2008-07-19 Tobias Burnus <burnus@net-b.de> |
1711 | ||
1712 | PR fortran/36795 | |
1713 | * matchexp.c (gfc_get_parentheses): Remove obsolete workaround, | |
1714 | which caused the generation of wrong code. | |
1715 | ||
e513a086 TB |
1716 | 2008-07-19 Tobias Burnus <burnus@net-b.de> |
1717 | ||
1718 | PR fortran/36342 | |
1719 | * scanner.c (load_file): Add argument to destinguish between | |
1720 | true filename and displayed filename. | |
1721 | (include_line,gfc_new_file): Adapt accordingly. | |
1722 | ||
d1a296c1 TB |
1723 | 2008-07-19 Tobias Burnus <burnus@net-b.de> |
1724 | ||
1725 | * check.c (gfc_check_cshift,gfc_check_eoshift,gfc_check_unpack): Add rank | |
1726 | checks for cshift's shift and eoshift's shift and boundary args. | |
1727 | (gfc_check_unpack): Add rank and shape tests for unpack. | |
1728 | ||
7b901ac4 KG |
1729 | 2008-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1730 | ||
1731 | * gfortran.h (new): Remove macro. | |
1732 | * array.c (gfc_append_constructor, match_array_list, | |
1733 | gfc_match_array_constructor): Likewise. | |
1734 | * bbt.c (insert, gfc_insert_bbt): Likewise. | |
1735 | * decl.c (var_element, top_var_list, top_val_list, gfc_match_data, | |
1736 | get_proc_name): Likewise. | |
1737 | * expr.c (gfc_copy_actual_arglist): Likewise. | |
1738 | * interface.c (compare_actual_formal, check_new_interface, | |
1739 | gfc_add_interface): Likewise. | |
1740 | * intrinsic.c gfc_convert_type_warn, gfc_convert_chartype): | |
1741 | Likewise. | |
1742 | * io.c (match_io_iterator, match_io_list): Likewise. | |
1743 | * match.c (match_forall_header): Likewise. | |
1744 | * matchexp.c (build_node): Likewise. | |
1745 | * module.c (gfc_match_use): Likewise. | |
1746 | * scanner.c (load_file): Likewise. | |
1747 | * st.c (gfc_append_code): Likewise. | |
1748 | * symbol.c (save_symbol_data, gfc_get_sym_tree, gfc_undo_symbols, | |
1749 | gfc_commit_symbols): Likewise. | |
1750 | * trans-common.c (build_field): Likewise. | |
1751 | * trans-decl.c (gfc_finish_var_decl): Likewise. | |
1752 | * trans-expr.c (gfc_free_interface_mapping, | |
1753 | gfc_get_interface_mapping_charlen, gfc_add_interface_mapping, | |
1754 | gfc_finish_interface_mapping, | |
1755 | gfc_apply_interface_mapping_to_expr): Likewise. | |
1756 | * trans.h (gfc_interface_sym_mapping): Likewise. | |
1757 | ||
a1ee985f KG |
1758 | 2008-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1759 | ||
1760 | * gfortran.h (operator): Remove macro. | |
1761 | (gfc_namespace, gfc_expr): Avoid C++ keywords. | |
1762 | * arith.c (eval_intrinsic, eval_intrinsic_f2, eval_intrinsic_f3): | |
1763 | Likewise. | |
1764 | * decl.c (access_attr_decl): Likewise. | |
1765 | * dependency.c (gfc_dep_compare_expr): Likewise. | |
1766 | * dump-parse-tree.c (show_expr, show_uop, show_namespace): | |
1767 | Likewise. | |
1768 | * expr.c (gfc_copy_expr, gfc_type_convert_binary, | |
1769 | simplify_intrinsic_op, check_intrinsic_op): Likewise. | |
1770 | * interface.c (fold_unary, gfc_match_generic_spec, | |
1771 | gfc_match_interface, gfc_match_end_interface, | |
1772 | check_operator_interface, check_uop_interfaces, | |
1773 | gfc_check_interfaces, gfc_extend_expr, gfc_extend_assign, | |
1774 | gfc_add_interface, gfc_current_interface_head, | |
1775 | gfc_set_current_interface_head): Likewise. | |
1776 | * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul): | |
1777 | Likewise. | |
1778 | * matchexp.c (gfc_get_parentheses, build_node): Likewise. | |
1779 | * module.c (gfc_use_rename, gfc_match_use, find_use_name_n, | |
1780 | number_use_names, mio_expr, load_operator_interfaces, read_module, | |
1781 | write_operator, write_module): Likewise. | |
1782 | * openmp.c (resolve_omp_atomic): Likewise. | |
1783 | * resolve.c (resolve_operator, gfc_resolve_character_operator, | |
1784 | gfc_resolve_uops): Likewise. | |
1785 | * symbol.c (free_uop_tree, gfc_free_namespace): Likewise. | |
1786 | * trans-expr.c (gfc_conv_expr_op): Likewise. | |
1787 | * trans-openmp.c (gfc_trans_omp_atomic): Likewise. | |
1788 | ||
9aa433c2 KG |
1789 | 2008-07-19 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1790 | ||
1791 | * gfortran.h (protected): Remove macro. | |
1792 | * dump-parse-tree.c (show_attr): Avoid C++ keywords. | |
1793 | * expr.c (gfc_check_pointer_assign): Likewise. | |
1794 | * interface.c (compare_parameter_protected): Likewise. | |
1795 | * intrinsic.c (enum class, add_sym, add_sym_0, add_sym_1, | |
1796 | add_sym_1s, add_sym_1m, add_sym_2, add_sym_2s, add_sym_3, | |
1797 | add_sym_3ml, add_sym_3red, add_sym_3s, add_sym_4, add_sym_4s, | |
1798 | add_sym_5s): Likewise. | |
1799 | * match.c (gfc_match_assignment, gfc_match_pointer_assignment): | |
1800 | Likewise. | |
1801 | * module.c (mio_symbol_attribute): Likewise. | |
1802 | * primary.c (match_variable): Likewise. | |
1803 | * resolve.c (resolve_equivalence): Likewise. | |
1804 | * symbol.c (check_conflict, gfc_add_protected, gfc_copy_attr): | |
1805 | Likewise. | |
1806 | * trans-types.c (gfc_get_array_type_bounds): Likewise. | |
1807 | ||
8b11b59f KG |
1808 | 2008-07-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1809 | ||
1810 | * arith.c (eval_type_intrinsic0): Avoid C++ keywords. | |
1811 | * gfortran.h (try, protected, operator, new): Likewise. | |
1812 | ||
bdad0683 TB |
1813 | 2008-07-17 Tobias Burnus <burnus@net-b.de> |
1814 | ||
1815 | PR fortran/36825 | |
1816 | PR fortran/36824 | |
1817 | * array.c (gfc_match_array_spec): Fix array-rank check. | |
1818 | * resolve.c (resolve_fl_derived): Fix constentness check | |
1819 | for the array dimensions. | |
1820 | ||
e63ea00c RW |
1821 | 2008-07-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
1822 | ||
1823 | * Make-lang.in (gfortranspec.o): Fix dependencies. | |
1824 | ||
41d6f399 JD |
1825 | 2008-07-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1826 | ||
1827 | PR fortran/36725 | |
1828 | * io.c: Add error check for g0 edit descriptor followed by '.'. | |
1829 | ||
4b156631 DK |
1830 | 2008-07-12 Daniel Kraft <d@domob.eu> |
1831 | ||
1832 | * resolve.c (resolve_fl_derived): Allow pointer components to empty | |
1833 | derived types fixing a missing part of PR fortran/33221. | |
1834 | ||
b1caaefc DK |
1835 | 2008-07-10 Daniel Kraft <d@domob.eu> |
1836 | ||
1837 | * gfc-internals.texi (section gfc_expr): Created documentation about | |
1838 | the gfc_expr internal data structure. | |
1839 | ||
27696218 TK |
1840 | 2008-07-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
1841 | ||
1842 | PR fortran/36670 | |
1843 | * iresolve.c (gfc_resolve_product): Set shape of return | |
1844 | value from array. | |
1845 | (gfc_resolve_sum): Likewise. | |
1846 | ||
77092cda JJ |
1847 | 2008-07-07 Jakub Jelinek <jakub@redhat.com> |
1848 | ||
1849 | PR middle-end/36726 | |
1850 | * f95-lang.c (poplevel): Don't ever add subblocks to | |
1851 | global_binding_level. | |
1852 | ||
8fb74da4 JW |
1853 | 2008-07-02 Janus Weil <janus@gcc.gnu.org> |
1854 | Tobias Burnus <burnus@net-b.de> | |
1855 | Paul Thomas <pault@gcc.gnu.org> | |
1856 | ||
1857 | PR fortran/32580 | |
1858 | * gfortran.h (struct gfc_symbol): New member "proc_pointer". | |
1859 | * check.c (gfc_check_associated,gfc_check_null): Implement | |
1860 | procedure pointers. | |
1861 | * decl.c (match_procedure_decl): Ditto. | |
1862 | * expr.c (gfc_check_pointer_assign,gfc_check_assign_symbol): Ditto. | |
1863 | * interface.c (compare_actual_formal): Ditto. | |
1864 | * match.h: Ditto. | |
1865 | * match.c (gfc_match_pointer_assignment): Ditto. | |
1866 | * parse.c (parse_interface): Ditto. | |
1867 | * primary.c (gfc_match_rvalue,match_variable): Ditto. | |
1868 | * resolve.c (resolve_fl_procedure): Ditto. | |
1869 | * symbol.c (check_conflict,gfc_add_external,gfc_add_pointer, | |
1870 | gfc_copy_attr,gen_fptr_param,build_formal_args): Ditto. | |
1871 | * trans-decl.c (get_proc_pointer_decl,gfc_get_extern_function_decl, | |
1872 | create_function_arglist): Ditto. | |
1873 | * trans-expr.c (gfc_conv_variable,gfc_conv_function_val, | |
1874 | gfc_conv_function_call,gfc_trans_pointer_assignment): Ditto. | |
1875 | ||
04f2b606 TK |
1876 | 2008-07-02 Thomas Koenig <tkoenig@gcc.gnu.org> |
1877 | ||
1878 | PR fortran/36590 | |
1879 | PR fortran/36681 | |
1880 | * iresolve.c (resolve_mask_arg): Don't convert mask to | |
1881 | kind=1 logical if it is of that type already. | |
1882 | ||
986a8d11 TK |
1883 | 2008-06-29 Thomas Koenig <tkoenig@gcc.gnu.org> |
1884 | ||
1885 | PR fortran/36341 | |
1886 | * iresolve.c (gfc_resolve_matmul): Copy shapes | |
1887 | from arguments. | |
1888 | ||
082b0571 JD |
1889 | 2008-06-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
1890 | ||
1891 | * invoke.texi: Add documentation for runtime behavior of | |
1892 | -fno-range-check. | |
1893 | ||
b66c86cb DK |
1894 | 2008-06-28 Daniel Kraft <d@domob.eu> |
1895 | ||
1896 | * gfc-internals.texi (section gfc_code): Extended documentation about | |
1897 | gfc_code in the internal datastructures chapter including details about | |
1898 | how IF, DO and SELECT blocks look like and an example for how the | |
1899 | block-chaining works. | |
1900 | ||
811d3cd3 PT |
1901 | 2008-06-25 Paul Thomas <pault@gcc.gnu.org> |
1902 | ||
1903 | PR fortran/36526 | |
1904 | * interface.c (check_intents): Correct error where the actual | |
1905 | arg was checked for a pointer argument, rather than the formal. | |
1906 | ||
c4e3543d PT |
1907 | 2008-06-24 Paul Thomas <pault@gcc.gnu.org> |
1908 | ||
1909 | PR fortran/34371 | |
1910 | * expr.c (gfc_check_assign): Change message and locus for | |
1911 | error when conform == 0. | |
1912 | ||
94b12901 JJ |
1913 | 2008-06-23 Jakub Jelinek <jakub@redhat.com> |
1914 | ||
1915 | PR fortran/36597 | |
1916 | * cpp.c (cpp_define_builtins): Change _OPENMP value to 200805. | |
1917 | ||
95213750 LB |
1918 | 2008-06-20 Laurynas Biveinis <laurynas.biveinis@gmail.com> |
1919 | Tobias Burnus <burnus@net-b.de> | |
1920 | ||
1921 | PR fortran/34908 | |
1922 | PR fortran/36276 | |
1923 | * scanner.c (preprocessor_line): do not call gfc_free for | |
1924 | current_file->filename if it differs from filename. | |
1925 | ||
ece3f663 KG |
1926 | 2008-06-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
1927 | ||
1928 | * arith.c (hollerith2representation): Fix for -Wc++-compat. | |
1929 | * array.c (gfc_get_constructor): Likewise. | |
1930 | * decl.c (gfc_get_data_variable, gfc_get_data_value, gfc_get_data, | |
1931 | create_enum_history, gfc_match_final_decl): Likewise. | |
1932 | * error.c (error_char): Likewise. | |
1933 | * expr.c (gfc_get_expr, gfc_copy_expr): Likewise. | |
1934 | * gfortran.h (gfc_get_charlen, gfc_get_array_spec, | |
1935 | gfc_get_component, gfc_get_formal_arglist, gfc_get_actual_arglist, | |
1936 | gfc_get_namelist, gfc_get_omp_clauses, gfc_get_interface, | |
1937 | gfc_get_common_head, gfc_get_dt_list, gfc_get_array_ref, | |
1938 | gfc_get_ref, gfc_get_equiv, gfc_get_case, gfc_get_iterator, | |
1939 | gfc_get_alloc, gfc_get_wide_string): Likewise. | |
1940 | * interface.c (count_types_test): Likewise. | |
1941 | * intrinsic.c (add_char_conversions, gfc_intrinsic_init_1): | |
1942 | Likewise. | |
1943 | * io.c (gfc_match_open, gfc_match_close, match_filepos, match_io, | |
1944 | gfc_match_inquire, gfc_match_wait): Likewise. | |
1945 | * match.c (gfc_match, match_forall_iterator): Likewise. | |
1946 | * module.c (gfc_get_pointer_info, gfc_get_use_rename, add_fixup, | |
1947 | add_true_name, parse_string, write_atom, quote_string, | |
1948 | mio_symtree_ref, mio_gmp_real, write_common_0): Likewise. | |
1949 | * options.c (gfc_post_options): Likewise. | |
1950 | * primary.c (match_integer_constant, match_hollerith_constant, | |
1951 | match_boz_constant, match_real_constant, | |
1952 | gfc_get_structure_ctor_component, gfc_match_structure_constructor): Likewise. | |
1953 | * scanner.c (gfc_widechar_to_char, add_path_to_list, | |
1954 | add_file_change, load_line, get_file, preprocessor_line, | |
1955 | load_file, unescape_filename, gfc_read_orig_filename): Likewise. | |
1956 | * simplify.c (gfc_simplify_ibits, gfc_simplify_ishft, | |
1957 | gfc_simplify_ishftc): Likewise. | |
1958 | * symbol.c (gfc_get_st_label, gfc_get_namespace, gfc_new_symtree, | |
1959 | gfc_get_uop, gfc_new_symbol, save_symbol_data, gfc_get_gsymbol): | |
1960 | Likewise. | |
1961 | * target-memory.c (gfc_target_interpret_expr): Likewise. | |
1962 | * trans-const.c (gfc_build_wide_string_const): Likewise. | |
1963 | * trans-expr.c (gfc_add_interface_mapping): Likewise. | |
1964 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
1965 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_lib_function, | |
1966 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_ctime, | |
1967 | gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam, | |
1968 | gfc_conv_intrinsic_minmax, gfc_conv_intrinsic_minmax_char, | |
1969 | gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_index_scan_verify, | |
1970 | gfc_conv_intrinsic_merge, gfc_conv_intrinsic_trim): Likewise. | |
1971 | * trans.c (gfc_get_backend_locus): Likewise. | |
1972 | * trans.h (gfc_get_ss): Likewise. | |
1973 | ||
d2848082 DK |
1974 | 2008-06-18 Daniel Kraft <d@domob.eu> |
1975 | ||
1976 | PR fortran/36517, fortran/36492 | |
1977 | * array.c (gfc_resolve_character_array_constructor): Call | |
1978 | gfc_set_constant_character_len with changed length-chec argument. | |
1979 | * decl.c (gfc_set_constant_character_len): Changed array argument to | |
1980 | be a generic length-checking argument that can be used for correct | |
1981 | checking with typespec and in special cases where the should-be length | |
1982 | is different from the target length. | |
1983 | (build_struct): Call gfc_set_constant_character_len with changed length | |
1984 | checking argument and introduced additional checks for exceptional | |
1985 | conditions on invalid code. | |
1986 | (add_init_expr_to_sym), (do_parm): Call gfc_set_constant_character_len | |
1987 | with changed argument. | |
1988 | * match.h (gfc_set_constant_character_len): Changed third argument to | |
1989 | int for the should-be length rather than bool. | |
1990 | ||
88fec49f DK |
1991 | 2008-06-17 Daniel Kraft <d@domob.eu> |
1992 | ||
1993 | PR fortran/36112 | |
1994 | * array.c (gfc_resolve_character_array_constructor): Check that all | |
1995 | elements with constant character length have the same one rather than | |
1996 | fixing it if no typespec is given, emit an error if they don't. Changed | |
1997 | return type to "try" and return FAILURE for the case above. | |
1998 | (gfc_resolve_array_constructor): Removed unneeded call to | |
1999 | gfc_resolve_character_array_constructor in this function. | |
2000 | * gfortran.h (gfc_resolve_character_array_constructor): Returns try. | |
2001 | * trans-array.c (get_array_ctor_strlen): Return length of first element | |
2002 | rather than last element. | |
2003 | * resolve.c (gfc_resolve_expr): Handle FAILURE return from | |
2004 | gfc_resolve_character_array_constructor. | |
2005 | ||
9d5c21c1 PT |
2006 | 2008-06-17 Paul Thomas <pault@gcc.gnu.org> |
2007 | ||
2008 | PR fortran/34396 | |
2009 | * resolve.c (add_dt_to_dt_list): New function. | |
2010 | (resolve_fl_derived): Call new function for pointer components | |
2011 | and when derived type resolved. | |
2012 | ||
a60658ba JD |
2013 | 2008-06-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2014 | ||
2015 | PR fortran/36515 | |
2016 | * trans-decl.c (gfc_generate_function_code): Add range_check to options | |
2017 | array. | |
2018 | ||
6ccde948 RW |
2019 | 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
2020 | ||
2021 | * gfc-internals.texi: Expand TABs, drop indentation outside examples. | |
2022 | * gfortran.texi: Likewise. | |
2023 | * intrinsic.texi: Likewise. | |
2024 | * invoke.texi: Likewise. | |
2025 | ||
8a221914 JD |
2026 | 2008-06-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2027 | ||
2028 | PR fortran/35863 | |
2029 | * trans-io.c (gfc_build_io_library_fndecls): Build declaration for | |
2030 | transfer_character_wide which includes passing in the character kind to | |
2031 | support wide character IO. (transfer_expr): If the kind == 4, create the | |
2032 | argument and build the call. | |
2033 | * gfortran.texi: Fix typo. | |
2034 | ||
357ad64f TB |
2035 | 2008-06-13 Tobias Burnus <burnus@net-b.de> |
2036 | ||
2037 | PR fortran/36476 | |
2038 | * decl.c (do_parm): Handle init expression for len=*. | |
2039 | ||
f5dce797 TB |
2040 | 2008-06-12 Tobias Burnus <burnus@net-b.de> |
2041 | ||
2042 | PR fortran/36462 | |
2043 | * trans-intrinsic.c (gfc_conv_intrinsic_index_scan_verify): | |
2044 | Fix passing of the BACK= argument. | |
2045 | ||
a1968bf9 JD |
2046 | 2008-06-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2047 | ||
2048 | * cpp.c: Add copyright notice. | |
2049 | * cpp.h: Add copyright notice. | |
2050 | ||
c1db9545 JW |
2051 | 2008-06-08 Janus Weil <janus@gcc.gnu.org> |
2052 | ||
2053 | PR fortran/36459 | |
2054 | * decl.c (match_procedure_decl): Correctly recognize if the interface | |
2055 | is an intrinsic procedure. | |
2056 | ||
2d9bbb6b TB |
2057 | 2008-06-08 Tobias Burnus <burnus@net-b.de> |
2058 | ||
2059 | PR fortran/35830 | |
2060 | * resolve.c (resolve_symbol): Copy more attributes for | |
2061 | PROCEDUREs with interfaces. | |
2062 | ||
8955a005 JD |
2063 | 2008-06-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2064 | ||
29d3b5ff JD |
2065 | PR fortran/36420 |
2066 | PR fortran/36422 | |
8955a005 JD |
2067 | * io.c (check_format): Add new error message for zero width. |
2068 | Use new error message for FMT_A and with READ, FMT_G. Allow | |
2069 | FMT_G with WRITE except when -std=F95 and -std=F2003. | |
2070 | ||
8d82b242 TB |
2071 | 2008-06-07 Tobias Burnus <burnus@net-b.de> |
2072 | ||
8cec30d3 | 2073 | PR fortran/36437 |
8d82b242 TB |
2074 | * intrinsic.c (add_functions): Implement c_sizeof. |
2075 | * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): Do not | |
2076 | create unneeded variable in the scalar case. | |
2077 | * intrinsic.texi: Add C_SIZEOF documentation. | |
2078 | ||
41870ac5 TB |
2079 | 2008-06-06 Tobias Burnus <burnus@net-b.de> |
2080 | ||
2081 | * intrinsic.texi (BESSEL_J1): Fix BES(S)EL_J1 typo. | |
2082 | ||
a68ab351 JJ |
2083 | 2008-06-06 Jakub Jelinek <jakub@redhat.com> |
2084 | ||
2085 | * scanner.c (skip_free_comments, skip_fixed_comments): Handle tabs. | |
2086 | * parse.c (next_free): Allow tab after !$omp. | |
2087 | (decode_omp_directive): Handle !$omp task, !$omp taskwait | |
2088 | and !$omp end task. | |
2089 | (case_executable): Add ST_OMP_TASKWAIT. | |
2090 | (case_exec_markers): Add ST_OMP_TASK. | |
2091 | (gfc_ascii_statement): Handle ST_OMP_TASK, ST_OMP_END_TASK and | |
2092 | ST_OMP_TASKWAIT. | |
2093 | (parse_omp_structured_block, parse_executable): Handle ST_OMP_TASK. | |
2094 | * gfortran.h (gfc_find_sym_in_expr): New prototype. | |
2095 | (gfc_statement): Add ST_OMP_TASK, ST_OMP_END_TASK and ST_OMP_TASKWAIT. | |
2096 | (gfc_omp_clauses): Add OMP_SCHED_AUTO to sched_kind, | |
2097 | OMP_DEFAULT_FIRSTPRIVATE to default_sharing. Add collapse and | |
2098 | untied fields. | |
2099 | (gfc_exec_op): Add EXEC_OMP_TASK and EXEC_OMP_TASKWAIT. | |
2100 | * f95-lang.c (LANG_HOOKS_OMP_CLAUSE_COPY_CTOR, | |
2101 | LANG_HOOKS_OMP_CLAUSE_ASSIGN_OP, LANG_HOOKS_OMP_CLAUSE_DTOR, | |
2102 | LANG_HOOKS_OMP_PRIVATE_OUTER_REF): Define. | |
2103 | * trans.h (gfc_omp_clause_default_ctor): Add another argument. | |
2104 | (gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
2105 | gfc_omp_clause_dtor, gfc_omp_private_outer_ref): New prototypes. | |
2106 | * types.def (BT_ULONGLONG, BT_PTR_ULONGLONG, | |
2107 | BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, | |
2108 | BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, | |
2109 | BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, | |
2110 | BT_FN_VOID_PTR_PTR, BT_PTR_FN_VOID_PTR_PTR, | |
2111 | BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT): New. | |
2112 | (BT_BOOL): Use integer type with BOOL_TYPE_SIZE rather | |
2113 | than boolean_type_node. | |
2114 | * dump-parse-tree.c (gfc_show_omp_node): Handle EXEC_OMP_TASK, | |
2115 | EXEC_OMP_TASKWAIT, OMP_SCHED_AUTO, OMP_DEFAULT_FIRSTPRIVATE, | |
2116 | untied and collapse clauses. | |
2117 | (gfc_show_code_node): Handle EXEC_OMP_TASK and EXEC_OMP_TASKWAIT. | |
2118 | * trans.c (gfc_trans_code): Handle EXEC_OMP_TASK and | |
2119 | EXEC_OMP_TASKWAIT. | |
2120 | * st.c (gfc_free_statement): Likewise. | |
2121 | * resolve.c (gfc_resolve_blocks, resolve_code): Likewise. | |
2122 | (find_sym_in_expr): Rename to... | |
2123 | (gfc_find_sym_in_expr): ... this. No longer static. | |
2124 | (resolve_allocate_expr, resolve_ordinary_assign): Adjust caller. | |
2125 | * match.h (gfc_match_omp_task, gfc_match_omp_taskwait): New | |
2126 | prototypes. | |
2127 | * openmp.c (resolve_omp_clauses): Allow allocatable arrays in | |
2128 | firstprivate, lastprivate, reduction, copyprivate and copyin | |
2129 | clauses. | |
2130 | (omp_current_do_code): Made static. | |
2131 | (omp_current_do_collapse): New variable. | |
2132 | (gfc_resolve_omp_do_blocks): Compute omp_current_do_collapse, | |
2133 | clear omp_current_do_code and omp_current_do_collapse on return. | |
2134 | (gfc_resolve_do_iterator): Handle collapsed do loops. | |
2135 | (resolve_omp_do): Likewise, diagnose errorneous collapsed do loops. | |
2136 | (OMP_CLAUSE_COLLAPSE, OMP_CLAUSE_UNTIED): Define. | |
2137 | (gfc_match_omp_clauses): Handle default (firstprivate), | |
2138 | schedule (auto), untied and collapse (n) clauses. | |
2139 | (OMP_DO_CLAUSES): Add OMP_CLAUSE_COLLAPSE. | |
2140 | (OMP_TASK_CLAUSES): Define. | |
2141 | (gfc_match_omp_task, gfc_match_omp_taskwait): New functions. | |
2142 | * trans-openmp.c (gfc_omp_private_outer_ref): New function. | |
2143 | (gfc_omp_clause_default_ctor): Add outer argument. For allocatable | |
2144 | arrays allocate them with the bounds of the outer var if outer | |
2145 | var is allocated. | |
2146 | (gfc_omp_clause_copy_ctor, gfc_omp_clause_assign_op, | |
2147 | gfc_omp_clause_dtor): New functions. | |
2148 | (gfc_trans_omp_array_reduction): If decl is allocatable array, | |
2149 | allocate it with outer var's bounds in OMP_CLAUSE_REDUCTION_INIT | |
2150 | and deallocate it in OMP_CLAUSE_REDUCTION_MERGE. | |
2151 | (gfc_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED | |
2152 | for assumed-size arrays. | |
2153 | (gfc_trans_omp_do): Add par_clauses argument. If dovar is | |
2154 | present in lastprivate clause and do loop isn't simple, | |
2155 | set OMP_CLAUSE_LASTPRIVATE_STMT. If dovar is present in | |
2156 | parallel's lastprivate clause, change it to shared and add | |
2157 | lastprivate clause to OMP_FOR_CLAUSES. Handle collapsed do loops. | |
2158 | (gfc_trans_omp_directive): Adjust gfc_trans_omp_do callers. | |
2159 | (gfc_trans_omp_parallel_do): Likewise. Move collapse clause to | |
2160 | OMP_FOR from OMP_PARALLEL. | |
2161 | (gfc_trans_omp_clauses): Handle OMP_SCHED_AUTO, | |
2162 | OMP_DEFAULT_FIRSTPRIVATE, untied and collapse clauses. | |
2163 | (gfc_trans_omp_task, gfc_trans_omp_taskwait): New functions. | |
2164 | (gfc_trans_omp_directive): Handle EXEC_OMP_TASK and | |
2165 | EXEC_OMP_TASKWAIT. | |
2166 | ||
7db5da56 JW |
2167 | 2008-06-04 Janus Weil <janus@gcc.gnu.org> |
2168 | ||
2169 | PR fortran/36322 | |
2170 | PR fortran/36275 | |
2171 | * resolve.c (resolve_symbol): Correctly copy the interface for a | |
2172 | PROCEDURE declaration. | |
2173 | ||
e62532af JW |
2174 | 2008-06-02 Janus Weil <janus@gcc.gnu.org> |
2175 | ||
2176 | PR fortran/36361 | |
2177 | * symbol.c (gfc_add_allocatable,gfc_add_dimension, | |
2178 | gfc_add_explicit_interface): Added checks. | |
2179 | * decl.c (attr_decl1): Added missing "var_locus". | |
2180 | * parse.c (parse_interface): Checking for errors. | |
2181 | ||
34523524 DK |
2182 | 2008-06-02 Daniel Kraft <d@domob.eu> |
2183 | ||
2184 | * gfortran.h: New statement-type ST_FINAL for FINAL declarations. | |
2185 | (struct gfc_symbol): New member f2k_derived. | |
2186 | (struct gfc_namespace): New member finalizers, for use in the above | |
2187 | mentioned f2k_derived namespace. | |
2188 | (struct gfc_finalizer): New type defined for finalizers linked list. | |
2189 | * match.h (gfc_match_final_decl): New function header. | |
2190 | * decl.c (gfc_match_derived_decl): Create f2k_derived namespace on | |
2191 | constructed symbol node. | |
2192 | (gfc_match_final_decl): New function to match a FINAL declaration line. | |
2193 | * parse.c (decode_statement): match-call for keyword FINAL. | |
2194 | (parse_derived): Parse CONTAINS section and accept FINAL statements. | |
2195 | * resolve.c (gfc_resolve_finalizers): New function to resolve (that is | |
2196 | in this case, check) a list of finalizer procedures. | |
2197 | (resolve_fl_derived): Call gfc_resolve_finalizers here. | |
2198 | * symbol.c (gfc_get_namespace): Initialize new finalizers to NULL. | |
2199 | (gfc_free_namespace): Free finalizers list. | |
2200 | (gfc_new_symbol): Initialize new f2k_derived to NULL. | |
2201 | (gfc_free_symbol): Free f2k_derived namespace. | |
2202 | (gfc_free_finalizer): New function to free a single gfc_finalizer node. | |
2203 | (gfc_free_finalizer_list): New function to free a linked list of | |
2204 | gfc_finalizer nodes. | |
2205 | ||
1e60697f DF |
2206 | 2008-06-02 Daniel Franke <franke.daniel@gmail.com> |
2207 | ||
2208 | PR fortran/36375 | |
2209 | PR fortran/36377 | |
2210 | * cpp.c (gfc_cpp_init): Do not initialize builtins if | |
2211 | processing already preprocessed input. | |
2212 | (gfc_cpp_preprocess): Finalize output with newline. | |
2213 | ||
d2d586f9 JD |
2214 | 2008-05-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2215 | ||
2216 | * intrinsic.texi: Revert wrong commit. | |
2217 | ||
7306494a SK |
2218 | 2008-05-31 Steven G. Kargl <kargls@comcast.net> |
2219 | ||
2220 | * arith.c (gfc_arith_init_1): Remove now unused r and c variables. | |
2221 | Cleanup numerical inquiry function initialization. | |
2222 | (gfc_arith_done_1): Replace multiple mpfr_clear() invocations with | |
2223 | a single mpfr_clears(). | |
2224 | (gfc_check_real_range): Re-arrange logic to eliminate multiple | |
2225 | unnecessary branching and assignments. | |
2226 | (gfc_arith_times): Use mpfr_clears() in preference to multiple | |
2227 | mpfr_clear(). | |
2228 | (gfc_arith_divide): Ditto. | |
2229 | (complex_reciprocal): Eliminate now unused variables a, re, im. | |
2230 | Cleanup the mpfr abuse. Use mpfr_clears() in preference to | |
2231 | multiple mpfr_clear(). | |
2232 | (complex_pow): Fix comment whitespace. Use mpfr_clears() in | |
2233 | preference to multiple mpfr_clear(). | |
2234 | * simplify.c (gfc_simplify_and): Remove blank line. | |
2235 | (gfc_simplify_atan2): Move error checking earlier to eliminate | |
2236 | a now unnecessay gfc_free_expr(). | |
2237 | (gfc_simplify_bessel_j0): Remove unnecessary gfc_set_model_kind(). | |
2238 | (gfc_simplify_bessel_j1): Ditto. | |
2239 | (gfc_simplify_bessel_jn): Ditto. | |
2240 | (gfc_simplify_bessel_y0): Ditto. | |
2241 | (gfc_simplify_bessel_y1): Ditto. | |
2242 | (gfc_simplify_bessel_yn): Ditto. | |
2243 | (only_convert_cmplx_boz): Eliminate unnecessary duplicate code, and | |
2244 | combine nested if statement rational expressions. | |
2245 | (gfc_simplify_cos): Use mpfr_clears() in preference to multiple | |
2246 | mpfr_clear(). | |
2247 | (gfc_simplify_exp): Ditto. | |
2248 | (gfc_simplify_fraction): Move gfc_set_model_kind() to after the | |
2249 | special case of 0. Use mpfr_clears() in preference to multiple | |
2250 | mpfr_clear(). | |
2251 | (gfc_simplify_gamma): Eliminate unnecessary gfc_set_model_kind(). | |
2252 | (gfc_simplify_lgamma): Ditto. | |
2253 | (gfc_simplify_log10): Ditto. | |
2254 | (gfc_simplify_log): Move gfc_set_model_kind () inside switch | |
2255 | statement. Use mpfr_clears() in preference to multiple mpfr_clear(). | |
2256 | (gfc_simplify_mod): Eliminate now unused variables quot, iquot, | |
2257 | and term. Simplify the mpfr magic. | |
2258 | (gfc_simplify_modulo): Ditto. | |
2259 | (gfc_simplify_nearest): Eliminate unnecessary gfc_set_model_kind(). | |
2260 | (gfc_simplify_scale): Use mpfr_clears() in preference to multiple | |
2261 | mpfr_clear(). | |
2262 | (gfc_simplify_sin): Ditto | |
2263 | (gfc_simplify_sqrt): Ditto | |
2264 | (gfc_simplify_set_exponent): Move gfc_set_model_kind() to after the | |
2265 | special case of 0. Use mpfr_clears() in preference to multiple | |
2266 | mpfr_clear(). | |
2267 | ||
c776a6d0 DF |
2268 | 2008-05-29 Daniel Franke <franke.daniel@gmail.com> |
2269 | ||
2270 | PR target/36348 | |
2271 | * Make-lang.in (F95_OBJS): Added dependency on FORTRAN_TARGET_OBJS. | |
2272 | ||
f2f5443c FXC |
2273 | 2008-05-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2274 | ||
2275 | * scanner.c (load_line): Add first_char argument. Don't call ungetc. | |
2276 | (gfc_read_orig_filename): Adjust call to load_line. Don't call | |
2277 | ungetc. | |
2278 | (load_file): Adjust call to load_line. | |
2279 | ||
e6895430 JW |
2280 | 2008-05-28 Janus Weil <janus@gcc.gnu.org> |
2281 | ||
2282 | PR fortran/36325 | |
2283 | PR fortran/35830 | |
2284 | * interface.c (gfc_procedure_use): Enable argument checking for | |
2285 | external procedures with explicit interface. | |
2286 | * symbol.c (check_conflict): Fix conflict checking for externals. | |
2287 | (copy_formal_args): Fix handling of arrays. | |
2288 | * resolve.c (resolve_specific_f0, resolve_specific_s0): Fix handling | |
2289 | of intrinsics. | |
2290 | * parse.c (parse_interface): Non-abstract INTERFACE statement implies | |
2291 | EXTERNAL attribute. | |
2292 | ||
691da334 FXC |
2293 | 2008-05-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2294 | ||
2295 | PR fortran/36319 | |
2296 | * intrinsic.c (gfc_convert_chartype): Don't mark conversion | |
2297 | function as pure. | |
2298 | * trans-array.c (gfc_trans_array_ctor_element): Divide element | |
2299 | size by the size of one character to obtain length. | |
2300 | * iresolve.c (gfc_resolve_cshift): Call the _char4 variant when | |
2301 | appropriate. | |
2302 | (gfc_resolve_eoshift): Likewise. | |
2303 | * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Minor beautification. | |
2304 | (gfc_conv_intrinsic_fdate): Minor beautification. | |
2305 | (gfc_conv_intrinsic_ttynam): Minor beautification. | |
2306 | (gfc_conv_intrinsic_minmax_char): Allow all character kinds. | |
2307 | (size_of_string_in_bytes): New function. | |
2308 | (gfc_conv_intrinsic_size): Call size_of_string_in_bytes for | |
2309 | character expressions. | |
2310 | (gfc_conv_intrinsic_sizeof): Likewise. | |
2311 | (gfc_conv_intrinsic_array_transfer): Likewise. | |
2312 | (gfc_conv_intrinsic_trim): Allow all character kinds. Minor | |
2313 | beautification. | |
2314 | (gfc_conv_intrinsic_repeat): Fix comment typo. | |
2315 | * simplify.c (gfc_convert_char_constant): Take care of conversion | |
2316 | of array constructors. | |
2317 | ||
795dc587 TB |
2318 | 2008-05-27 Tobias Burnus <burnus@net-b.de> |
2319 | ||
2320 | PR fortran/36316 | |
2321 | * trans-array.c (gfc_set_loop_bounds_from_array_spec): | |
2322 | Add missing fold_convert. | |
2323 | ||
3c2a68b3 DF |
2324 | 2008-05-26 Daniel Franke <franke.daniel@gmail.com> |
2325 | ||
2326 | * fortran/cpp.c (cpp_define_builtins): Remove usage of TARGET_* macros, | |
2327 | added FIXME instead. | |
2328 | ||
670637ee DF |
2329 | 2008-05-26 Daniel Franke <franke.daniel@gmail.com> |
2330 | ||
2331 | PR fortran/18428 | |
2332 | * lang.opt (A, C, CC, D, E, H, P, U, cpp, d, fworking-directory, | |
2333 | imultilib, iprefix, iquote, isysroot, isystem, nocpp, nostdinc, | |
2334 | o, undef, v): New options. | |
2335 | * options.c (gfc_init_options): Also initialize preprocessor | |
2336 | options. | |
2337 | (gfc_post_options): Also handle post-initialization of preprocessor | |
2338 | options. | |
2339 | (gfc_handle_option): Check if option is a preprocessor option. | |
2340 | If yes, let gfc_cpp_handle_option() handle the option. | |
2341 | * lang-specs.h: Reorganized to handle new options. | |
2342 | * scanner.c (gfc_new_file): Read temporary file instead of | |
2343 | input source if preprocessing is enabled. | |
2344 | * f95-lang.c (gfc_init): Initialize preprocessor. | |
2345 | (gfc_finish): Clean up preprocessor. | |
2346 | * cpp.c: New. | |
2347 | * cpp.h: New. | |
2348 | * Make-lang.in: Added new objects and dependencies. | |
2349 | * gfortran.texi: Updated section "Preprocessing and | |
2350 | conditional compilation". | |
2351 | * invoke.texi: Added new section "Preprocessing Options", | |
2352 | listed and documented the preprocessing options handled | |
2353 | by gfortran. | |
2354 | ||
5ec81069 TB |
2355 | 2008-05-25 Tobias Burnus <burnus@net-b.de> |
2356 | ||
2357 | PR fortran/32600 | |
2358 | * trans-expr.c (gfc_conv_function_call): Remove library | |
2359 | call for c_f_pointer with scalar Fortran pointers and for | |
2360 | c_f_procpointer. | |
2361 | ||
31579a22 FXC |
2362 | 2008-05-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2363 | ||
2364 | PR fortran/36257 | |
2365 | * iresolve.c (check_charlen_present): Don't force the rank to 1. | |
2366 | ||
16a55411 FXC |
2367 | 2008-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2368 | ||
2369 | PR fortran/36265 | |
2370 | * trans-expr.c (gfc_conv_string_tmp): Pick the correct type for | |
2371 | the temporary variable. | |
2372 | ||
9e23c1aa FXC |
2373 | 2008-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2374 | ||
2375 | * simplify.c (gfc_simplify_dble, gfc_simplify_real): Initialize | |
2376 | result variable to avoid warnings. | |
2377 | ||
d393bbd7 FXC |
2378 | 2008-05-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2379 | ||
2380 | * intrinsic.c (char_conversions, ncharconv): New static variables. | |
2381 | (find_char_conv): New function. | |
2382 | (add_functions): Add simplification functions for ADJUSTL and | |
2383 | ADJUSTR. Don't check the kind of their argument. Add checking for | |
2384 | LGE, LLE, LGT and LLT. | |
2385 | (add_subroutines): Fix argument type for SLEEP. Fix argument name | |
2386 | for SYSTEM. | |
2387 | (add_char_conversions): New function. | |
2388 | (gfc_intrinsic_init_1): Call add_char_conversions. | |
2389 | (gfc_intrinsic_done_1): Free char_conversions. | |
2390 | (check_arglist): Use kind == 0 as a signal that we don't want | |
2391 | the kind value to be checked. | |
2392 | (do_simplify): Also simplify character functions. | |
2393 | (gfc_convert_chartype): New function | |
2394 | * trans-array.c (gfc_trans_array_ctor_element): Don't force the | |
2395 | use of default character type. | |
2396 | (gfc_trans_array_constructor_value): Likewise. | |
2397 | (get_array_ctor_var_strlen): Use integer kind to build an integer | |
2398 | instead of a character kind! | |
2399 | (gfc_build_constant_array_constructor): Don't force the use of | |
2400 | default character type. | |
2401 | (gfc_conv_loop_setup): Likewise. | |
2402 | * trans-expr.c (gfc_conv_string_tmp): Don't force the use of | |
2403 | default character type. Allocate enough memory for wide strings. | |
2404 | (gfc_conv_concat_op): Make sure operand kind are the same. | |
2405 | (string_to_single_character): Remove gfc_ prefix. Reindent. | |
2406 | Don't force the use of default character type. | |
2407 | (gfc_conv_scalar_char_value): Likewise. | |
2408 | (gfc_build_compare_string): Call string_to_single_character. | |
2409 | (fill_with_spaces): New function | |
2410 | (gfc_trans_string_copy): Add kind arguments. Use them to deal | |
2411 | with wide character kinds. | |
2412 | (gfc_conv_statement_function): Whitespace fix. Call | |
2413 | gfc_trans_string_copy with new kind arguments. | |
2414 | (gfc_conv_substring_expr): Call gfc_build_wide_string_const | |
2415 | instead of using gfc_widechar_to_char. | |
2416 | (gfc_conv_string_parameter): Don't force the use of default | |
2417 | character type. | |
2418 | (gfc_trans_scalar_assign): Pass kind args to gfc_trans_string_copy. | |
2419 | * intrinsic.h (gfc_check_lge_lgt_lle_llt, gfc_convert_char_constant, | |
2420 | gfc_resolve_adjustl, gfc_resolve_adjustr): New prototypes. | |
2421 | * decl.c (gfc_set_constant_character_len): Don't assert the | |
2422 | existence of a single character kind. | |
2423 | * trans-array.h (gfc_trans_string_copy): New prototype. | |
2424 | * gfortran.h (gfc_check_character_range, gfc_convert_chartype): | |
2425 | New prototypes. | |
2426 | * error.c (print_wide_char_into_buffer): New function lifting | |
2427 | code from gfc_print_wide_char. Fix order to output '\x??' instead | |
2428 | of 'x\??'. | |
2429 | (gfc_print_wide_char): Call print_wide_char_into_buffer. | |
2430 | (show_locus): Call print_wide_char_into_buffer with buffer local | |
2431 | to this function. | |
2432 | * trans-const.c (gfc_build_wide_string_const): New function. | |
2433 | (gfc_conv_string_init): Deal with wide characters strings | |
2434 | constructors. | |
2435 | (gfc_conv_constant_to_tree): Call gfc_build_wide_string_const. | |
2436 | * trans-stmt.c (gfc_trans_label_assign): Likewise. | |
2437 | (gfc_trans_character_select): Deal with wide strings. | |
2438 | * expr.c (gfc_check_assign): Allow conversion between character | |
2439 | kinds on assignment. | |
2440 | * trans-const.h (gfc_build_wide_string_const): New prototype. | |
2441 | * trans-types.c (gfc_get_character_type_len_for_eltype, | |
2442 | gfc_get_character_type_len): Create too variants of the old | |
2443 | gfc_get_character_type_len, one getting kind argument and the | |
2444 | other one directly taking a type tree. | |
2445 | * trans.h (gfor_fndecl_select_string_char4, | |
2446 | gfor_fndecl_convert_char1_to_char4, | |
2447 | gfor_fndecl_convert_char4_to_char1): New prototypes. | |
2448 | * trans-types.h (gfc_get_character_type_len_for_eltype): New | |
2449 | prototype. | |
2450 | * resolve.c (resolve_operator): Exit early when kind mismatches | |
2451 | are detected, because that makes us issue an error message later. | |
2452 | (validate_case_label_expr): Fix wording of error message. | |
2453 | * iresolve.c (gfc_resolve_adjustl, gfc_resolve_adjustr): New | |
2454 | functions. | |
2455 | (gfc_resolve_pack): Call _char4 variants of library function | |
2456 | when dealing with wide characters. | |
2457 | (gfc_resolve_reshape): Likewise. | |
2458 | (gfc_resolve_spread): Likewise. | |
2459 | (gfc_resolve_transpose): Likewise. | |
2460 | (gfc_resolve_unpack): Likewise. | |
2461 | * target-memory.c (size_character): Take character kind bit size | |
2462 | correctly into account (not that it changes anything for now, but | |
2463 | it's more generic). | |
2464 | (gfc_encode_character): Added gfc_ prefix. Encoding each | |
2465 | character of a string by calling native_encode_expr for the | |
2466 | corresponding unsigned integer. | |
2467 | (gfc_target_encode_expr): Add gfc_ prefix to encode_character. | |
2468 | * trans-decl.c (gfc_build_intrinsic_function_decls): Build | |
2469 | gfor_fndecl_select_string_char4, gfor_fndecl_convert_char1_to_char4 | |
2470 | and gfor_fndecl_convert_char4_to_char1. | |
2471 | * target-memory.h (gfc_encode_character): New prototype. | |
2472 | * arith.c (gfc_check_character_range): New function. | |
2473 | (eval_intrinsic): Allow non-default character kinds. | |
2474 | * check.c (gfc_check_access_func): Only allow default | |
2475 | character kind arguments. | |
2476 | (gfc_check_chdir): Likewise. | |
2477 | (gfc_check_chdir_sub): Likewise. | |
2478 | (gfc_check_chmod): Likewise. | |
2479 | (gfc_check_chmod_sub): Likewise. | |
2480 | (gfc_check_lge_lgt_lle_llt): New function. | |
2481 | (gfc_check_link): Likewise. | |
2482 | (gfc_check_link_sub): Likewise. | |
2483 | (gfc_check_symlnk): Likewise. | |
2484 | (gfc_check_symlnk_sub): Likewise. | |
2485 | (gfc_check_rename): Likewise. | |
2486 | (gfc_check_rename_sub): Likewise. | |
2487 | (gfc_check_fgetputc_sub): Likewise. | |
2488 | (gfc_check_fgetput_sub): Likewise. | |
2489 | (gfc_check_stat): Likewise. | |
2490 | (gfc_check_stat_sub): Likewise. | |
2491 | (gfc_check_date_and_time): Likewise. | |
2492 | (gfc_check_ctime_sub): Likewise. | |
2493 | (gfc_check_fdate_sub): Likewise. | |
2494 | (gfc_check_gerror): Likewise. | |
2495 | (gfc_check_getcwd_sub): Likewise. | |
2496 | (gfc_check_getarg): Likewise. | |
2497 | (gfc_check_getlog): Likewise. | |
2498 | (gfc_check_hostnm): Likewise. | |
2499 | (gfc_check_hostnm_sub): Likewise. | |
2500 | (gfc_check_ttynam_sub): Likewise. | |
2501 | (gfc_check_perror): Likewise. | |
2502 | (gfc_check_unlink): Likewise. | |
2503 | (gfc_check_unlink_sub): Likewise. | |
2504 | (gfc_check_system_sub): Likewise. | |
2505 | * primary.c (got_delim): Perform correct character range checking | |
2506 | for all kinds. | |
2507 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion): Generate | |
2508 | calls to library functions convert_char4_to_char1 and | |
2509 | convert_char1_to_char4 for character conversions. | |
2510 | (gfc_conv_intrinsic_char): Allow all character kings. | |
2511 | (gfc_conv_intrinsic_strcmp): Fix whitespace. | |
2512 | (gfc_conv_intrinsic_repeat): Take care of all character kinds. | |
2513 | * intrinsic.texi: For all GNU intrinsics accepting character | |
2514 | arguments, mention that they're restricted to the default kind. | |
2515 | * simplify.c (simplify_achar_char): New function. | |
2516 | (gfc_simplify_achar, gfc_simplify_char): Call simplify_achar_char. | |
2517 | gfc_simplify_ichar): Don't error out for wide characters. | |
2518 | (gfc_convert_char_constant): New function. | |
2519 | ||
e7bff0d1 TB |
2520 | 2008-05-18 Steven G. Kargl <kargls@comcast.net> |
2521 | ||
2522 | PR fortran/36251 | |
2523 | * symbol.c (check_conflict): Issue errors for abuse of PUBLIC, PRIVATE, | |
2524 | and BIND(C). | |
2525 | * resolve.c (gfc_verify_binding_labels): Fix NULL pointer dereference. | |
2526 | ||
2527 | 2008-05-17 Tobias Burnus <burnus@net-b.de> | |
7d4cf3d9 TB |
2528 | |
2529 | * intrinsic.texi: Correct description of GET_COMMAND_ARGUMENT | |
2530 | and GET_ENVIRONMENT_VARIABLE; fix keyword= name for GETENV, | |
2531 | GETLOG, GMTIME, HOSTNM, IRAND, ITIME, KILL. | |
2532 | Move LOG_GAMMA after LOG10. | |
2533 | ||
e7bff0d1 | 2534 | 2008-05-17 Tobias Burnus <burnus@net-b.de> |
ca41838c TB |
2535 | |
2536 | * intrinsic.c (add_functions): Change FLUSH(C) to FLUSH(UNIT). | |
2537 | * intrinsic.texi: Change INTEGER(*) to INTEGER; fix keyword= name for | |
2538 | ABS, ADJUSTL, AINT, ALLOCATED, ANINT, ASSOCIATED, C_ASSOCIATED, | |
2539 | CEILING, DBLE, DFLOAT, DOT_PRODUCT, DREAL, FLOAT, FLOOR, GET_COMMAND. | |
2540 | ||
ae772c2d PT |
2541 | 2008-05-16 Paul Thomas <pault@gcc.gnu.org> |
2542 | ||
2543 | PR fortran/35756 | |
2544 | PR fortran/35759 | |
2545 | * trans-stmt.c (gfc_trans_where): Tighten up the dependency | |
2546 | check for calling gfc_trans_where_3. | |
2547 | ||
2548 | PR fortran/35743 | |
2549 | * trans-stmt.c (gfc_trans_where_2): Set the mask size to zero | |
2550 | if it is calculated to be negative. | |
2551 | ||
2552 | PR fortran/35745 | |
2553 | * trans-stmt.c (gfc_trans_where_3, gfc_trans_where_assign): Set | |
2554 | ss->where for scalar right hand sides. | |
2555 | * trans-array.c (gfc_add_loop_ss_code): If ss->where is set do | |
2556 | not evaluate scalars outside the loop. Clean up whitespace. | |
2557 | * trans.h : Add a bitfield 'where' to gfc_ss. | |
2558 | ||
a4cd1610 TB |
2559 | 2008-05-16 Tobias Burnus <burnus@net-b.de> |
2560 | ||
2561 | * libgfortran.h: Increase GFC_MAX_DIMENSIONS to 15. | |
2562 | * array.c (gfc_match_array_spec): Error with -std=f2003 if rank > 7. | |
2563 | ||
c03fc95d DK |
2564 | 2008-04-16 Daniel Kraft <d@domob.eu> |
2565 | ||
2566 | PR fortran/27997 | |
2567 | * gfortran.h: Added field "length_from_typespec" to gfc_charlength. | |
2568 | * aray.c (gfc_match_array_constructor): Added code to parse typespec. | |
2569 | (check_element_type, check_constructor_type, gfc_check_constructor_type): | |
2570 | Extended to support explicit typespec on constructor. | |
2571 | (gfc_resolve_character_array_constructor): Pad strings correctly for | |
2572 | explicit, constant character length. | |
2573 | * trans-array.c: New static global variable "typespec_chararray_ctor" | |
2574 | (gfc_trans_array_constructor): New code to support explicit but dynamic | |
2575 | character lengths. | |
2576 | ||
acb388a0 JD |
2577 | 2008-05-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2578 | ||
c03fc95d DK |
2579 | PR fortran/34325 |
2580 | * decl.c (match_attr_spec): Check for matching pairs of parenthesis. | |
2581 | * expr.c (gfc_specification_expr): Supplement the error message with the | |
2582 | type that was found. | |
2583 | * resolve.c (gfc_resolve_index): Likewise. | |
2584 | * match.c (gfc_match_parens): Clarify error message with "at or before". | |
2585 | (gfc_match_do): Check for matching pairs of parenthesis. | |
acb388a0 | 2586 | |
d1325932 TB |
2587 | 2008-05-16 Tobias Burnus <burnus@net-b.de |
2588 | ||
2589 | * intrinsic.texi: Write Fortran 77/90/95 instead of F77/90/95; | |
2590 | add missing KIND argument to ACHAR and NINT; and state that | |
2591 | the KIND argument is a F2003 extension for ACHAR, COUNT, IACHAR, | |
2592 | ICHAR, INDEX, LBOUND, LEN, LEN_TRIM, SCAN, SIZE, UBOUND, VERIFY. | |
2593 | ||
fa9290d3 DK |
2594 | 2008-05-16 Daniel Kraft <d@domob.eu> |
2595 | ||
2596 | * primary.c: New private structure "gfc_structure_ctor_component". | |
2597 | (gfc_free_structure_ctor_component): New helper function. | |
2598 | (gfc_match_structure_constructor): Extended largely to support named | |
2599 | arguments and default initialization for structure constructors. | |
2600 | ||
d93712d9 SK |
2601 | 2008-05-15 Steven G. Kargl <kargls@comcast.net> |
2602 | ||
2603 | * simplify.c (gfc_simplify_dble, gfc_simplify_float, | |
2604 | simplify_bound, gfc_simplify_nearest, gfc_simplify_real): Plug | |
2605 | possible memory leaks. | |
2606 | (gfc_simplify_reshape): Plug possible memory leaks and dereferencing | |
2607 | of NULL pointers. | |
2608 | ||
2609 | 2008-05-15 Steven G. Kargl <kargls@comcast.net> | |
2610 | ||
2611 | PR fortran/36239 | |
2612 | * simplify.c (gfc_simplify_int, gfc_simplify_intconv): Replaced hand | |
2613 | rolled integer conversion with gfc_int2int, gfc_real2int, and | |
2614 | gfc_complex2int. | |
2615 | (gfc_simplify_intconv): Renamed to simplify_intconv. | |
2616 | ||
2617 | 2008-05-15 Steven G. Kargl, <kargl@comcast.net> | |
2618 | * gfortran.dg/and_or_xor.f90: New test | |
2619 | ||
2620 | * fortran/simplify.c (gfc_simplify_and, gfc_simplify_or, | |
2621 | gfc_simplify_xor): Don't range check logical results. | |
2622 | ||
374929b2 FXC |
2623 | 2008-05-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2624 | ||
2625 | * trans-expr.c (gfc_conv_concat_op): Take care of nondefault | |
2626 | character kinds. | |
2627 | (gfc_build_compare_string): Add kind argument and use it. | |
2628 | (gfc_conv_statement_function): Fix indentation. | |
2629 | * gfortran.h (gfc_character_info): New structure. | |
2630 | (gfc_character_kinds): New array. | |
2631 | * trans-types.c (gfc_character_kinds, gfc_character_types, | |
2632 | gfc_pcharacter_types): New array. | |
2633 | (gfc_init_kinds): Fill character kinds array. | |
2634 | (validate_character): Take care of nondefault character kinds. | |
2635 | (gfc_build_uint_type): New function. | |
2636 | (gfc_init_types): Take care of nondefault character kinds. | |
2637 | (gfc_get_char_type, gfc_get_pchar_type): New functions. | |
2638 | (gfc_get_character_type_len): Use gfc_get_char_type. | |
2639 | * trans.h (gfc_build_compare_string): Adjust prototype. | |
2640 | (gfor_fndecl_compare_string_char4, gfor_fndecl_concat_string_char4, | |
2641 | gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4, | |
2642 | gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4, | |
2643 | gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4, | |
2644 | gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4): New | |
2645 | prototypes. | |
2646 | * trans-types.h (gfc_get_char_type, gfc_get_pchar_type): New | |
2647 | prototypes. | |
2648 | * trans-decl.c (gfor_fndecl_compare_string_char4, | |
2649 | gfor_fndecl_string_len_trim_char4, gfor_fndecl_string_index_char4, | |
2650 | gfor_fndecl_string_scan_char4, gfor_fndecl_string_verify_char4, | |
2651 | gfor_fndecl_string_trim_char4, gfor_fndecl_string_minmax_char4, | |
2652 | gfor_fndecl_adjustl_char4, gfor_fndecl_adjustr_char4, | |
2653 | gfor_fndecl_concat_string_char4): New function decls. | |
2654 | (gfc_build_intrinsic_function_decls): Define new *_char4 function | |
2655 | decls. | |
2656 | * trans-intrinsic.c (gfc_conv_intrinsic_minmax_char, | |
2657 | gfc_conv_intrinsic_len_trim, gfc_conv_intrinsic_ichar, | |
2658 | gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_trim, | |
2659 | gfc_conv_intrinsic_function): Deal with nondefault character kinds. | |
2660 | ||
d06abff5 SL |
2661 | 2008-05-15 Sa Liu <saliu@de.ibm.com> |
2662 | ||
2663 | * iso-c-binding.def: Add standard parameter to macro NAMED_INTCST. | |
2664 | All existing NAMED_INTCST definitions has standard GFC_STD_F2003, | |
2665 | c_int128_t, c_int_least128_t and c_int_fast128_t are added as | |
2666 | GNU extensions. | |
2667 | * iso-fortran-evn.def: Add standard parameter GFC_STD_F2003 | |
2668 | to macro NAMED_INTCST. | |
2669 | * symbol.c (std_for_isocbinding_symbol): New helper function to | |
2670 | return the standard that supports this isocbinding symbol. | |
2671 | (generate_isocbinding_symbol): Do not generate GNU extension symbols | |
2672 | if std=f2003. Add new parameter to NAMED_INTCST. | |
2673 | * module.c (use_iso_fortran_env_module): Add new parameter to | |
2674 | NAMED_INTCST and new field standard to struct intmod_sym. | |
2675 | * gfortran.h: Add new parameter to NAMED_INTCST. | |
2676 | * trans-types.c (init_c_interop_kinds): Add new parameter to | |
2677 | NAMED_INTCST. | |
2678 | * intrinsic.texi: Documented new types C_INT128_T, C_INT_LEASE128_T | |
2679 | and C_INT_FAST128_T. | |
2680 | ||
1c3339af FXC |
2681 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2682 | ||
2683 | PR fortran/36059 | |
2684 | * trans-decl.c (gfc_build_dummy_array_decl): Don't repack | |
2685 | arrays that have the TARGET attribute. | |
2686 | ||
6401bf9c FXC |
2687 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2688 | ||
2689 | PR fortran/36186 | |
2690 | * simplify.c (only_convert_cmplx_boz): New function. | |
2691 | (gfc_simplify_cmplx, gfc_simplify_complex, gfc_simplify_dcmplx): | |
2692 | Call only_convert_cmplx_boz. | |
2693 | ||
16f2a7a4 PT |
2694 | 2008-05-14 Paul Thomas <pault@gcc.gnu.org> |
2695 | ||
6401bf9c FXC |
2696 | PR fortran/36233 |
2697 | * interface.c (compare_actual_formal): Do not check sizes if the | |
2698 | actual is BT_PROCEDURE. | |
16f2a7a4 | 2699 | |
4c7382bb FXC |
2700 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2701 | ||
2702 | PR fortran/35682 | |
2703 | * trans-array.c (gfc_conv_ss_startstride): Any negative size is | |
2704 | the same as zero size. | |
2705 | (gfc_conv_loop_setup): Fix size calculation. | |
2706 | ||
f10827b1 FXC |
2707 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2708 | ||
2709 | PR fortran/35685 | |
2710 | * trans-intrinsic.c (gfc_conv_intrinsic_bound): Correctly | |
2711 | handle zero-size sections. | |
2712 | ||
b0b14c7b FXC |
2713 | 2008-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2714 | ||
2715 | PR fortran/36215 | |
2716 | * scanner.c (preprocessor_line): Allocate enough memory for a | |
2717 | wide string. | |
2718 | ||
b7d36ea3 FXC |
2719 | 2008-05-12 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2720 | ||
2721 | PR fortran/36176 | |
2722 | * target-memory.c (gfc_target_expr_size): Correctly treat | |
2723 | substrings. | |
2724 | (gfc_target_encode_expr): Likewise. | |
2725 | (gfc_interpret_complex): Whitespace change. | |
2726 | ||
8f0aaee5 TK |
2727 | 2008-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> |
2728 | ||
2729 | PR fortran/35719 | |
2730 | * trans.c (gfc_call_malloc): If size equals zero, allocate one | |
2731 | byte; don't return a null pointer. | |
2732 | ||
1ed5323b FXC |
2733 | 2008-05-10 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2734 | ||
2735 | PR fortran/36197 | |
2736 | * module.c (quote_string): Fix sprintf format. | |
2737 | ||
3ee6cb3f FXC |
2738 | 2008-05-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2739 | ||
2740 | PR fortran/36162 | |
2741 | * module.c (quote_string, unquote_string, | |
2742 | mio_allocated_wide_string): New functions. | |
2743 | (mio_expr): Call mio_allocated_wide_string where needed. | |
2744 | ||
becfd6e5 KZ |
2745 | 2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com> |
2746 | ||
2747 | * trans-decl.c (gfc_get_extern_function_decl, build_function_decl): | |
2748 | Rename DECL_IS_PURE to DECL_PURE_P. | |
2749 | ||
00660189 FXC |
2750 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2751 | ||
2752 | * arith.c: (gfc_arith_concat, gfc_compare_string, | |
2753 | gfc_compare_with_Cstring, hollerith2representation, | |
2754 | gfc_hollerith2int, gfc_hollerith2real, gfc_hollerith2complex, | |
2755 | gfc_hollerith2character, gfc_hollerith2logical): Use wide | |
2756 | characters for character constants. | |
2757 | * data.c (create_character_intializer): Likewise. | |
2758 | * decl.c (gfc_set_constant_character_len): Likewise. | |
2759 | * dump-parse-tree.c (show_char_const): Correctly dump wide | |
2760 | character strings. | |
2761 | error.c (print_wide_char): Rename into gfc_print_wide_char. | |
2762 | (show_locus): Adapt to new prototype of gfc_print_wide_char. | |
2763 | expr.c (free_expr0): Representation is now disjunct from | |
2764 | character string value, so we always free it. | |
2765 | (gfc_copy_expr, find_substring_ref, gfc_simplify_expr): Adapt | |
2766 | to wide character strings. | |
2767 | * gfortran.h (gfc_expr): Make value.character.string a wide string. | |
2768 | (gfc_wide_toupper, gfc_wide_strncasecmp, gfc_wide_memset, | |
2769 | gfc_widechar_to_char, gfc_char_to_widechar): New prototypes. | |
2770 | (gfc_get_wide_string): New macro. | |
2771 | (gfc_print_wide_char): New prototype. | |
2772 | * io.c (format_string): Make a wide string. | |
2773 | (next_char, gfc_match_format, compare_to_allowed_values, | |
2774 | gfc_match_open): Deal with wide strings. | |
2775 | * module.c (mio_expr): Convert between wide strings and ASCII ones. | |
2776 | * primary.c (match_hollerith_constant, match_charkind_name): | |
2777 | Handle wide strings. | |
2778 | * resolve.c (build_default_init_expr): Likewise. | |
2779 | * scanner.c (gfc_wide_toupper, gfc_wide_memset, | |
2780 | gfc_char_to_widechar): New functions. | |
2781 | (wide_strchr, gfc_widechar_to_char, gfc_wide_strncasecmp): | |
2782 | Changes in prototypes. | |
2783 | (gfc_define_undef_line, load_line, preprocessor_line, | |
2784 | include_line, load_file, gfc_read_orig_filename): Handle wide | |
2785 | strings. | |
2786 | * simplify.c (gfc_simplify_achar, gfc_simplify_adjustl, | |
2787 | gfc_simplify_adjustr, gfc_simplify_char, gfc_simplify_iachar, | |
2788 | gfc_simplify_ichar, simplify_min_max, gfc_simplify_new_line, | |
2789 | gfc_simplify_repeat): Handle wide strings. | |
2790 | (wide_strspn, wide_strcspn): New helper functions. | |
2791 | (gfc_simplify_scan, gfc_simplify_trim, gfc_simplify_verify): | |
2792 | Handle wide strings. | |
2793 | * symbol.c (generate_isocbinding_symbol): Likewise. | |
2794 | * target-memory.c (size_character, gfc_target_expr_size, | |
2795 | encode_character, gfc_target_encode_expr, gfc_interpret_character, | |
2796 | gfc_target_interpret_expr): Handle wide strings. | |
2797 | * trans-const.c (gfc_conv_string_init): Lower wide strings to | |
2798 | narrow ones. | |
2799 | (gfc_conv_constant_to_tree): Likewise. | |
2800 | * trans-expr.c (gfc_conv_substring_expr): Handle wide strings. | |
2801 | * trans-io.c (gfc_new_nml_name_expr): Likewise. | |
2802 | * trans-stmt.c (gfc_trans_label_assign): Likewise. | |
2803 | ||
1b38192d FXC |
2804 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2805 | ||
2806 | * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, | |
2807 | gfc_simplify_bessel_jn,gfc_simplify_bessel_y0, | |
2808 | gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): Mark arguments | |
2809 | with ATTRIBUTE_UNUSED. | |
2810 | ||
37a2dc42 FXC |
2811 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2812 | ||
2813 | * check.c (gfc_check_sizeof): Switch to ATTRIBUTE_UNUSED. | |
2814 | * simplify.c (gfc_simplify_lgamma): Likewise. | |
2815 | ||
2816 | 2008-05-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
8fc541d3 FXC |
2817 | |
2818 | * openmp.c (gfc_match_omp_eos): Use gfc_next_ascii_char and | |
2819 | gfc_peek_ascii_char. | |
2820 | * decl.c (gfc_match_kind_spec, gfc_match_type_spec, | |
2821 | gfc_match_implicit_none, match_implicit_range, gfc_match_implicit, | |
2822 | match_string_p, match_attr_spec, gfc_match_suffix, | |
2823 | match_procedure_decl, gfc_match_entry, gfc_match_subroutine): | |
2824 | Likewise. | |
2825 | * gfortran.h (gfc_char_t): New type. | |
2826 | (gfc_linebuf): Make line member a gfc_char_t. | |
2827 | (locus): Make nextc member a gfc_char_t. | |
2828 | (gfc_wide_is_printable, gfc_wide_is_digit, gfc_wide_fits_in_byte, | |
2829 | gfc_wide_tolower, gfc_wide_strlen, gfc_next_ascii_char, | |
2830 | gfc_peek_ascii_char, gfc_check_digit): New prototypes. | |
2831 | * error.c (print_wide_char): New function. | |
2832 | (show_locus): Use print_wide_char and gfc_wide_strlen. | |
2833 | * io.c (next_char): Use gfc_char_t type. | |
2834 | (match_io): Use gfc_peek_ascii_char and gfc_next_ascii_char. | |
2835 | * match.c (gfc_match_parens, gfc_match_eos, | |
2836 | gfc_match_small_literal_int, gfc_match_name, gfc_match_name_C, | |
2837 | gfc_match_intrinsic_op, gfc_match_char, gfc_match_return, | |
2838 | gfc_match_common): Likewise. | |
2839 | * match.h (gfc_match_special_char): Change prototype. | |
2840 | * parse.c (decode_specification_statement, decode_statement, | |
2841 | decode_omp_directive, next_free, next_fixed): Use | |
2842 | gfc_peek_ascii_char and gfc_next_ascii_char. | |
2843 | * primary.c (gfc_check_digit): Change name. | |
2844 | (match_digits, match_hollerith_constant, match_boz_constant, | |
2845 | match_real_constant, next_string_char, match_charkind_name, | |
2846 | match_string_constant, match_logical_constant_string, | |
2847 | match_complex_constant, match_actual_arg, match_varspec, | |
2848 | gfc_match_rvalue, match_variable): Use gfc_peek_ascii_char and | |
2849 | gfc_next_ascii_char. | |
2850 | * scanner.c (gfc_wide_fits_in_byte, wide_is_ascii, | |
2851 | gfc_wide_is_printable, gfc_wide_tolower, gfc_wide_is_digit, | |
2852 | gfc_wide_is_digit, wide_atoi, gfc_wide_strlen, wide_strcpy, | |
2853 | wide_strchr, widechar_to_char, wide_strncmp, wide_strncasecmp, | |
2854 | gfc_next_ascii_char, gfc_peek_ascii_char): | |
2855 | New functions. | |
2856 | (next_char, gfc_define_undef_line, skip_free_comments, | |
2857 | gfc_next_char_literal, gfc_next_char, gfc_peek_char, | |
2858 | gfc_error_recovery, load_line, preprocessor_line, include_line, | |
2859 | load_file, gfc_read_orig_filename): Use gfc_char_t for source | |
2860 | characters and the {gfc_,}wide_* functions to manipulate wide | |
2861 | strings. | |
2862 | ||
3c3f4265 TB |
2863 | 2008-05-06 Tobias Burnus <burnus@net-b.de> |
2864 | ||
2865 | PR fortran/36117 | |
2866 | * intrinsic.c (add_functions): Call gfc_simplify_bessel_*. | |
2867 | * intrinsic.h: Add prototypes for gfc_simplify_bessel_*. | |
2868 | * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, | |
2869 | gfc_simplify_bessel_jn,gfc_simplify_bessel_y0, | |
2870 | gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): New. | |
2871 | ||
ed54a884 JW |
2872 | 2008-05-03 Janus Weil <jaydub66@gmail.com> |
2873 | ||
2874 | * misc.c (gfc_clear_ts): Set interface to NULL. | |
2875 | ||
ad7ee6f8 JD |
2876 | 2008-05-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2877 | ||
2878 | PR fortran/33268 | |
2879 | * gfortran.h: Add extra_comma pointer to gfc_dt structure. Add iokind to | |
2880 | gfc_expr value union. Add io_kind enum to here from io.c. | |
2881 | * io.c (gfc_free_dt): Free extra_comma. | |
2882 | (gfc_resolve_dt): If an extra comma was encountered and io_unit is type | |
2883 | BT_CHARACTER, resolve to format_expr and set default unit. Error if | |
2884 | io_kind is M_WRITE. (match_io): Match the extra comma and set new | |
2885 | pointer, extra_comma. | |
2886 | ||
00113de8 BD |
2887 | 2008-05-01 Bud Davis <bdavis9659@sbcglobal.net> |
2888 | ||
2889 | PR35940/Fortran | |
2890 | * simplify.c (gfc_simplify_index): Check for direction argument | |
2891 | being a constant. | |
2892 | ||
32d99e68 JW |
2893 | 2008-05-01 Janus Weil <jaydub66@gmail.com> |
2894 | ||
2895 | * gfortran.h (struct gfc_symbol): Moving "interface" member to | |
2896 | gfc_typespec (plus fixing a small docu error). | |
2897 | * interface.c (gfc_procedure_use): Ditto. | |
2898 | * decl.c (match_procedure_decl): Ditto. | |
2899 | * resolve.c (resolve_specific_f0, | |
2900 | resolve_specific_f0, resolve_symbol): Ditto. | |
2901 | ||
a39fafac FXC |
2902 | 2008-04-30 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
2903 | ||
2904 | * intrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic. | |
2905 | * intrinsic.h (gfc_check_selected_char_kind, | |
2906 | gfc_simplify_selected_char_kind): New prototypes. | |
2907 | * gfortran.h (gfc_isym_id): Add GFC_ISYM_SC_KIND. | |
2908 | * trans.h (gfor_fndecl_sc_kind): New function decl. | |
2909 | * trans-decl.c (gfor_fndecl_sc_kind): Build new decl. | |
2910 | * arith.c (gfc_compare_with_Cstring): New function. | |
2911 | * arith.h (gfc_compare_with_Cstring): New prototype. | |
2912 | * check.c (gfc_check_selected_char_kind): New function. | |
2913 | * primary.c (match_string_constant, match_kind_param): Mark | |
2914 | symbols used as literal constant kind param as referenced. | |
2915 | * trans-intrinsic.c (gfc_conv_intrinsic_sc_kind): New function. | |
2916 | (gfc_conv_intrinsic_function): Call gfc_conv_intrinsic_sc_kind. | |
2917 | * intrinsic.texi (SELECTED_CHAR_KIND): Document new intrinsic. | |
2918 | * simplify.c (gfc_simplify_selected_char_kind): New function. | |
2919 | ||
29d40637 PT |
2920 | 2008-04-28 Paul Thomas <pault@gcc.gnu.org> |
2921 | ||
a39fafac FXC |
2922 | PR fortran/35997 |
2923 | * module.c (find_symbol): Do not return a result for a symbol | |
2924 | that has been renamed in another module. | |
29d40637 | 2925 | |
da69cc91 GH |
2926 | 2008-04-26 George Helffrich <george@gcc.gnu.org> |
2927 | ||
2928 | PR fortran/35892 | |
2929 | PR fortran/35154 | |
2930 | * trans-common.c (create_common): Add decl to function | |
2931 | chain (if inside one) to preserve identifier scope in debug output. | |
2932 | ||
e3b5732b JH |
2933 | 2008-04-25 Jan Hubicka <jh@suse.cz> |
2934 | ||
2935 | * trans-decl.c (trans_function_start): Update. | |
2936 | ||
ccc2ed87 TB |
2937 | 2008-04-25 Tobias Burnus <burnus@net-b.de> |
2938 | Daniel Franke <franke.daniel@gmail.com> | |
2939 | ||
2940 | PR fortran/35156 | |
2941 | * gfortranspec.c (lang_specific_driver): Deprecate | |
2942 | -M option; fix ICE when "-M" is last argument and | |
2943 | make "-M<dir>" work. | |
2944 | * options.c (gfc_handle_module_path_options): | |
2945 | Use -J instead of -M in error messages. | |
2946 | * invoke.texi: Mark -M as depecated. | |
2947 | ||
4e77ad24 JD |
2948 | 2008-04-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2949 | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
2950 | ||
2951 | PR fortran/35994 | |
2952 | * trans-instrinsic.c (gfc_conv_intrinsic_minmaxloc): Correctly adjust | |
2953 | loop counter offset. | |
2954 | ||
51eed280 PB |
2955 | 2008-04-23 Paolo Bonzini <bonzini@gnu.org> |
2956 | ||
2957 | * trans-expr.c (gfc_conv_structure): Don't set TREE_INVARIANT. | |
2958 | * trans-array.c (gfc_build_null_descriptor): Don't set TREE_INVARIANT. | |
2959 | (gfc_trans_array_constructor_value): Don't set TREE_INVARIANT. | |
2960 | (gfc_build_constant_array_constructor): Don't set TREE_INVARIANT. | |
2961 | (gfc_conv_array_initializer): Don't set TREE_INVARIANT. | |
2962 | * trans-common.c (get_init_field): Don't set TREE_INVARIANT. | |
2963 | (create_common): Don't set TREE_INVARIANT. | |
2964 | * trans-stmt.c (gfc_trans_character_select): Don't set TREE_INVARIANT. | |
2965 | * trans-decl.c (gfc_generate_function_code): Don't set TREE_INVARIANT. | |
2966 | ||
6384205f SE |
2967 | 2008-04-21 Steve Ellcey <sje@cup.hp.com> |
2968 | ||
2969 | * f95-lang.c (gfc_init_decl_processing): use ptr_mode instead of Pmode. | |
2970 | ||
3d4cb550 DF |
2971 | 2008-04-21 Daniel Franke <franke.daniel@gmail.com> |
2972 | ||
2973 | PR fortran/35019 | |
2974 | * gfortranspec.c (lookup_option): Properly handle separated arguments | |
2975 | in -J option, print missing argument message when necessary. | |
2976 | ||
f449022d JD |
2977 | 2008-04-20 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
2978 | ||
2979 | PR fortran/35882 | |
2980 | * scanner.c (skip_fixed_comments): Update continue_line when comment is | |
2981 | detected. (gfc_next_char_literal): Likewise. | |
2982 | ||
f40eccb0 PT |
2983 | 2008-04-19 Paul Thomas <pault@gcc.gnu.org> |
2984 | ||
2985 | PR fortran/35944 | |
2986 | PR fortran/35946 | |
2987 | PR fortran/35947 | |
2988 | * trans_array.c (gfc_trans_array_constructor): Temporarily | |
2989 | realign loop, if loop->from is not zero, before creating | |
2990 | the temporary array and provide an offset. | |
2991 | ||
2992 | PR fortran/35959 | |
2993 | * trans-decl.c (gfc_init_default_dt): Add gfc_ prefix to name | |
2994 | and allow for NULL body. Change all references from | |
2995 | init_default_dt to gfc_init_default_dt. | |
2996 | * trans.h : Add prototype for gfc_init_default_dt. | |
2997 | * trans-array.c (gfc_trans_deferred_vars): After nullification | |
2998 | call gfc_init_default_dt for derived types with allocatable | |
2999 | components. | |
3000 | ||
6c0c6ecc JD |
3001 | 2008-04-18 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3002 | ||
766cb661 | 3003 | PR fortran/35892 |
6c0c6ecc JD |
3004 | * trans-common.c (create_common): Revert patch causing regression. |
3005 | ||
554ef027 JD |
3006 | 2008-04-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3007 | ||
3008 | PR fortran/35724 | |
3009 | * iresolve.c (gfc_resolve_eoshift): Check for NULL symtree in test for | |
3010 | optional argument attribute. | |
3011 | ||
c2408681 PT |
3012 | 2008-04-16 Paul Thomas <pault@gcc.gnu.org> |
3013 | ||
3014 | PR fortran/35932 | |
3015 | * trans-intrinsic.c (gfc_conv_intrinsic_char): Even though KIND | |
3016 | is not used, the argument must be converted. | |
3017 | ||
fc207c37 JJ |
3018 | 2008-04-16 Jakub Jelinek <jakub@redhat.com> |
3019 | ||
3020 | PR target/35662 | |
3021 | * f95-lang.c (gfc_init_builtin_functions): Make sure | |
3022 | BUILT_IN_SINCOS{,F,L} types aren't varargs. | |
3023 | ||
05e6ff80 PT |
3024 | 2008-04-15 Paul Thomas <pault@gcc.gnu.org> |
3025 | ||
3026 | PR fortran/35864 | |
3027 | * expr.c (scalarize_intrinsic_call): Reorder identification of | |
3028 | array argument so that if one is not found a segfault does not | |
3029 | occur. Return FAILURE if all scalar arguments. | |
3030 | ||
dfbfb630 JD |
3031 | 2008-04-13 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3032 | Tobias Burnus <burnus@net-b.de> | |
3033 | ||
3034 | PR fortran/35882 | |
3035 | * options.c (gfc_init_options): Set the default maximum continuation | |
3036 | lines to 255 for both free and fixed form source for warnings. | |
3037 | (gfc_handle_option): Set -std=f95 fixed form max continuations to 19 and | |
3038 | the -std=f95 free form max continuations to 39 for warnings. | |
3039 | * scanner.c (gfc_next_char_literal): Adjust the current_line number only | |
3040 | if it is less than the current locus. | |
3041 | ||
d06b3496 JD |
3042 | 2008-04-07 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3043 | ||
3044 | PR fortran/25829 28655 | |
3045 | * io.c (io_tag): Add new tags for decimal, encoding, asynchronous, | |
3046 | round, sign, and id. (match_open_element): Match new tags. | |
3047 | (gfc_resolve_open): Resolve new tags. (gfc_match_open): Enable encoding | |
3048 | for DEFAULT only. Update error messages. (match_dt_element): Fix match | |
3049 | tag for asynchronous. Update error messages. (gfc_free_inquire): Free | |
3050 | new expressions. (match_inquire_element): Match new tags. | |
3051 | (gfc_match_inquire): Add constraint for ID and PENDING. | |
3052 | (gfc_resolve_inquire): Resolve new tags. | |
3053 | * trans-io.c (gfc_trans_inquire): Clean up whitespace and fix setting of | |
3054 | mask for ID parameter. | |
3055 | * ioparm.def: Fix order of parameters for pending, round, and sign. | |
3056 | NOTE: These must line up with the definitions in libgfortran/io/io.h. or | |
3057 | things don't work. | |
3058 | ||
679d9637 PT |
3059 | 2008-04-06 Paul Thomas <pault@gcc.gnu.org> |
3060 | ||
3061 | PR fortran/35780 | |
3062 | * expr.c (scalarize_intrinsic_call): Identify which argument is | |
3063 | an array and use that as the template. | |
3064 | (check_init_expr): Remove tests that first argument is an array | |
3065 | in the call to scalarize_intrinsic_call. | |
3066 | ||
95213750 | 3067 | 2008-04-06 Tobias Schlüter <tobi@gcc.gnu.org> |
9b8d1901 TS |
3068 | |
3069 | PR fortran/35832 | |
3070 | * io.c (io_tag): Add field 'value'. Split 'spec' field in | |
3071 | existing io_tags. | |
3072 | (match_etag, match_vtag, match_ltag): Split parsing in two steps | |
3073 | to give better error messages. | |
3074 | ||
fbe88ffa TB |
3075 | 2008-04-06 Tobias Burnus <burnus@net-b.de> |
3076 | ||
3077 | * io.c (check_io_constraints): Add constrains. ID= requires | |
3078 | asynchronous= and asynchronous= must be init expression. | |
3079 | ||
3135ce84 FXC |
3080 | 2008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3081 | ||
3082 | * f95-lang.c: Set LANG_HOOKS_NAME to "GNU Fortran". | |
3083 | ||
6c1abb5c FXC |
3084 | 2008-04-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3085 | ||
3086 | * dump-parse-tree.c: Use fprintf, fputs and fputc instead of | |
3087 | gfc_status and gfc_status_char. Remove gfc_ prefix of the gfc_show_* | |
3088 | functions and make them static. Add new gfc_dump_parse_tree | |
3089 | function. | |
3090 | * gfortran.h (gfc_option_t): Rename verbose into dump_parse_tree. | |
3091 | (gfc_status, gfc_status_char): Delete prototypes. | |
3092 | * error.c (gfc_status, gfc_status_char): Remove functions. | |
3093 | * scanner.c (gfc_new_file): Use printf instead of gfc_status. | |
3094 | * options.c (gfc_init_options): Rename verbose into dump_parse_tree. | |
3095 | (gfc_handle_module_path_options): Use gfc_fatal_error instead of | |
3096 | gfc_status and exit. | |
3097 | (gfc_handle_option): Rename verbose into dump_parse_tree. | |
daf5afd4 | 3098 | * parse.c (gfc_parse_file): Use gfc_dump_parse_tree. |
6c1abb5c | 3099 | |
6f0f0b2e JD |
3100 | 2008-04-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3101 | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | |
3102 | ||
3103 | PR fortran/25829 28655 | |
3104 | * dump-parse-tree.c (gfc_show_code_node): Show new I/O parameters. | |
3105 | * gfortran.h (gfc_statement): Add ST_WAIT enumerator. | |
3106 | (gfc_open): Add pointers for decimal, encoding, round, sign, | |
3107 | asynchronous. (gfc_inquire): Add pointers for asynchronous, decimal, | |
3108 | encoding, pending, round, sign, size, id. | |
3109 | (gfc_wait): New typedef struct. (gfc_dt): Add pointers for id, pos, | |
3110 | asynchronous, blank, decimal, delim, pad, round, sign. | |
3111 | (gfc_exec_op): Add EXEC_WAIT enumerator. (gfc_code): Add pointer for | |
3112 | wait. (gfc_free_wait), (gfc_resolve_wait): New function prototypes. | |
3113 | * trans-stmt.h (gfc_trans_wait): New function prototype. | |
3114 | * trans.c (gfc_trans_code): Add case for EXEC_WAIT. | |
3115 | * io.c (io_tag): Add new tags for DECIMAL, ENCODING, ROUND, SIGN, | |
3116 | ASYCHRONOUS, ID. (match_open_element): Add matchers for new tags. | |
3117 | (gfc_free_open): Free new pointers. (gfc_resolve_open): Resolve new | |
3118 | tags. (gfc_resolve_open): Remove comment around check for allowed | |
3119 | values and ASYNCHRONOUS, update it. Likewise for DECIMAL, ENCODING, | |
3120 | ROUND, and SIGN. (match_dt_element): Add matching for new tags. | |
3121 | (gfc_free_wait): New function. (gfc_resolve_wait): New function. | |
3122 | (match_wait_element): New function. (gfc_match_wait): New function. | |
3123 | * resolve.c (gfc_resolve_blocks): Add case for EXEC_WAIT. | |
3124 | (resolve_code): Add case for EXEC_WAIT. | |
3125 | * st.c (gfc_free_statement): Add case for EXEC_WAIT. | |
3126 | * trans-io.c (ioparam_type): Add IOPARM_ptype_wait. (gfc_st_parameter): | |
3127 | Add "wait" entry. (iocall): Add IOCALL_WAIT enumerator. | |
3128 | (gfc_build_io_library_fndecls): Add function declaration for st_wait. | |
3129 | (gfc_trans_open): Add mask bits for new I/O tags. | |
3130 | (gfc_trans_inquire): Add mask bits for new I/O tags. | |
3131 | (gfc_trans_wait): New translation function. | |
3132 | (build_dt): Add mask bits for new I/O tags. | |
3133 | * match.c (gfc_match_if) Add matcher for "wait". | |
3134 | * match.h (gfc_match_wait): Prototype for new function. | |
3135 | * ioparm.def: Add new I/O parameter definitions. | |
3136 | * parse.c (decode_statement): Add match for "wait" statement. | |
3137 | (next_statement): Add case for ST_WAIT. (gfc_ascii_statement): Same. | |
3138 | ||
637b5a8e JJ |
3139 | 2008-04-03 Jakub Jelinek <jakub@redhat.com> |
3140 | ||
3141 | PR fortran/35786 | |
3142 | * openmp.c (resolve_omp_clauses): Diagnose if a clause symbol | |
3143 | isn't a variable. | |
3144 | ||
6cba282a TT |
3145 | 2008-04-03 Tom Tromey <tromey@redhat.com> |
3146 | ||
3147 | * Make-lang.in (fortran_OBJS): New variable. | |
3148 | ||
9ff420f1 PB |
3149 | 2008-04-03 Paolo Bonzini <bonzini@gnu.org> |
3150 | ||
6c1abb5c | 3151 | * f95-lang.c (insert_block): Kill. |
9ff420f1 | 3152 | |
7151ffbe GH |
3153 | 2008-04-01 George Helffrich <george@gcc.gnu.org> |
3154 | ||
623f8e39 | 3155 | PR fortran/35154, fortran/23057 |
7151ffbe GH |
3156 | * trans-common.c (create_common): Add decl to function |
3157 | chain to preserve identifier scope in debug output. | |
3158 | ||
7f9766e4 JM |
3159 | 2008-04-01 Joseph Myers <joseph@codesourcery.com> |
3160 | ||
3161 | * gfortran.texi: Include gpl_v3.texi instead of gpl.texi | |
3162 | * Make-lang.in (GFORTRAN_TEXI): Include gpl_v3.texi instead of | |
3163 | gpl.texi. | |
3164 | ||
23d1b451 PT |
3165 | 2008-03-30 Paul Thomas <pault@gcc.gnu.org> |
3166 | ||
3167 | PR fortran/35740 | |
3168 | * resolve.c (resolve_function, resolve_call): If the procedure | |
3169 | is elemental do not look for noncopying intrinsics. | |
3170 | ||
067feae3 PT |
3171 | 2008-03-29 Paul Thomas <pault@gcc.gnu.org> |
3172 | ||
3173 | PR fortran/35698 | |
3174 | * trans-array.c (gfc_array_init_size): Set 'size' zero if | |
3175 | negative in one dimension. | |
3176 | ||
3177 | PR fortran/35702 | |
3178 | * trans-expr.c (gfc_trans_string_copy): Only assign a char | |
3179 | directly if the lhs and rhs types are the same. | |
3180 | ||
01d2a7d7 DF |
3181 | 2008-03-28 Daniel Franke <franke.daniel@gmail.com> |
3182 | Paul Richard Thomas <paul.richard.thomas@gmail.com> | |
3183 | ||
3184 | PR fortran/34714 | |
3185 | * primary.c (match_variable): Improved matching of function | |
3186 | result variables. | |
3187 | * resolve.c (resolve_allocate_deallocate): Removed checks if | |
3188 | the actual argument for STAT is a variable. | |
3189 | ||
b0be8e5c TB |
3190 | 2008-03-28 Tobias Burnus <burnus@net-b.de> |
3191 | ||
3192 | * symbol.c (gfc_get_default_type): Fix error message; option | |
3193 | -fallow_leading_underscore should be -fallow-leading-underscore | |
3194 | ||
97d650cc JD |
3195 | 2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3196 | ||
3197 | PR fortran/35724 | |
3198 | * iresolve.c (gfc_resolve_cshift): Check for NULL symtree in test for | |
3199 | optional argument attribute. | |
3200 | ||
e980df8e TT |
3201 | 2008-03-27 Tom Tromey <tromey@redhat.com> |
3202 | ||
3203 | * Make-lang.in: Revert automatic dependency patch. | |
3204 | ||
2fe3178b TT |
3205 | 2008-03-25 Tom Tromey <tromey@redhat.com> |
3206 | ||
3207 | * Make-lang.in: Remove .o targets. | |
3208 | (fortran_OBJS): New variable. | |
3209 | (fortran/gfortranspec.o): Move to fortran/. Reduce to variable | |
3210 | setting. | |
3211 | (GFORTRAN_D_OBJS): Update. | |
3212 | (GFORTRAN_TRANS_DEPS): Remove. | |
3213 | ||
c1203a70 PT |
3214 | 2008-03-24 Paul Thomas <pault@gcc.gnu.org> |
3215 | ||
3216 | PR fortran/34813 | |
3217 | * resolve.c (resolve_structure_cons): It is an error to assign | |
3218 | NULL to anything other than a pointer or allocatable component. | |
3219 | ||
3220 | PR fortran/33295 | |
3221 | * resolve.c (resolve_symbol): If the symbol is a derived type, | |
3222 | resolve the derived type. If the symbol is a derived type | |
3223 | function, ensure that the derived type is visible in the same | |
3224 | namespace as the function. | |
3225 | ||
95213750 | 3226 | 2008-03-23 Tobias Schlüter <tobi@gcc.gnu.org> |
47056774 TS |
3227 | |
3228 | * trans.h: Use fold_build in build1_v, build2_v and build3_v | |
3229 | macros. | |
3230 | * trans-openmp.c (gfc_trans_omp_critical, gfc_trans_omp_single): | |
3231 | Don't use build2_v macro. | |
3232 | ||
ac05557c DF |
3233 | 2008-03-19 Daniel Franke <franke.daniel@gmail.com> |
3234 | ||
3235 | PR fortran/35152 | |
3236 | * interface.c (gfc_procedure_use): Check for keyworded arguments in | |
3237 | procedures without explicit interfaces. | |
3238 | ||
c52938ec PT |
3239 | 2008-03-16 Paul Thomas <pault@gcc.gnu.org> |
3240 | ||
3241 | PR fortran/35470 | |
3242 | * resolve.c (check_assumed_size_reference): Only visit the | |
3243 | first reference and look directly at the highest dimension. | |
3244 | ||
db5cf0c7 JD |
3245 | 2008-03-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3246 | ||
3247 | PR fortran/35184 | |
3248 | * trans-array.c (gfc_conv_array_index_offset): Remove unnecessary | |
3249 | assert. | |
3250 | ||
ab551054 DF |
3251 | 2008-03-15 Daniel Franke <franke.daniel@gmail.com> |
3252 | ||
3253 | PR fortran/35584 | |
3254 | * resolve.c (resolve_branch): Less strict and pessimistic warning | |
3255 | message. | |
3256 | ||
30e257e5 PB |
3257 | 2008-03-11 Paolo Bonzini <bonzini@gnu.org> |
3258 | ||
ab551054 DF |
3259 | * f95-lang.c (LANG_HOOKS_CLEAR_BINDING_STACK): Delete. |
3260 | (gfc_be_parse_file): Call clear_binding_stack from here. | |
30e257e5 PB |
3261 | (gfc_clear_binding_stack): Rename to clear_binding_stack. |
3262 | ||
81c10953 PT |
3263 | 2008-03-09 Paul Thomas <pault@gcc.gnu.org> |
3264 | ||
3265 | PR fortran/35474 | |
3266 | * module.c (mio_symtree_ref): After providing a symbol for a | |
3267 | missing equivalence member, resolve and NULL the fixups. | |
3268 | ||
802e3f8c RW |
3269 | 2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
3270 | ||
3271 | * invoke.texi (Error and Warning Options): Document | |
3272 | -Wline-truncation. | |
3273 | ||
ba4698e1 FXC |
3274 | 2008-03-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3275 | ||
3276 | PR fortran/34956 | |
3277 | * trans-array.c (gfc_conv_ss_startstride): Fix the logic to avoid | |
3278 | checking bounds of absent optional arguments. | |
3279 | ||
fdc54e88 FXC |
3280 | 2008-03-06 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3281 | ||
3282 | PR fortran/33197 | |
3283 | * intrinsic.c (add_functions): Add simplification routines for | |
3284 | ERF, DERF, ERFC and DERFC. | |
3285 | * decl.c (gfc_match_suffix, gfc_match_subroutine): Change GNU | |
3286 | extensions into Fortran 2008 features. | |
3287 | * intrinsic.h (gfc_simplify_erf, gfc_simplify_erfc): New | |
3288 | prototypes. | |
3289 | * simplify.c (gfc_simplify_erf, gfc_simplify_erfc): New functions. | |
3290 | ||
f489fba1 FXC |
3291 | 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3292 | ||
3293 | PR fortran/33197 | |
3294 | * intrinsic.c (add_functions): Modify intrinsics ACOSH, ASINH, | |
3295 | ATANH, ERF, ERFC and GAMMA. Add intrinsics BESSEL_{J,Y}{0,1,N}, | |
3296 | ERFC_SCALED, LOG_GAMMA and HYPOT. | |
3297 | * intrinsic.h (gfc_check_hypot, gfc_simplify_hypot, | |
3298 | gfc_resolve_hypot): New prototypes. | |
3299 | * mathbuiltins.def: Add HYPOT builtin. Make complex versions of | |
3300 | ACOSH, ASINH and ATANH available. | |
3301 | * gfortran.h (GFC_ISYM_ERFC_SCALED, GFC_ISYM_HYPOT): New values. | |
3302 | * lang.opt: Add -std=f2008 option. | |
3303 | * libgfortran.h: Define GFC_STD_F2008. | |
3304 | * lang-specs.h: Add .f08 and .F08 file suffixes. | |
3305 | * iresolve.c (gfc_resolve_hypot): New function. | |
3306 | * parse.c (parse_contained): Allow empty CONTAINS for Fortran 2008. | |
3307 | * check.c (gfc_check_hypot): New function. | |
3308 | * trans-intrinsic.c (gfc_intrinsic_map): Define ERFC_SCALE builtin. | |
3309 | * options.c (set_default_std_flags): Allow Fortran 2008 by default. | |
3310 | (form_from_filename): Add .f08 suffix. | |
3311 | (gfc_handle_option): Handle -std=f2008 option. | |
3312 | * simplify.c (gfc_simplify_hypot): New function. | |
3313 | * gfortran.texi: Document Fortran 2008 status and file extensions. | |
3314 | * intrinsic.texi: Document new BESSEL_{J,Y}{0,1,N} intrinsics, | |
3315 | as well as HYPOT and ERFC_SCALED. Update documentation of ERF, | |
3316 | ERFC, GAMMA, LGAMMA, ASINH, ACOSH and ATANH. | |
3317 | * invoke.texi: Document the new -std=f2008 option. | |
3318 | ||
0e5997c0 JJ |
3319 | 2008-03-02 Jakub Jelinek <jakub@redhat.com> |
3320 | ||
3321 | * gfortranspec.c (lang_specific_driver): Update copyright notice | |
3322 | dates. | |
3323 | ||
44000dbb JD |
3324 | 2008-02-29 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3325 | ||
3326 | PR fortran/35059 | |
3327 | * expr.c (find_array_element): Modify traversing the constructor to | |
3328 | avoid trying to access NULL memory pointed to by next for the | |
3329 | last element. (find_array_section): Exit while loop if cons->next is | |
3330 | NULL. | |
3331 | * trans-expr.c (gfc_conv_scalar_char_value): Initialize gfc_typespec. | |
3332 | (gfc_conv_function_call): Same. | |
3333 | * decl.c (gfc_match_implicit): Same. | |
3334 | * trans-intrinsic.c (gfc_conv_intrinsic_sr_kind): Same. | |
3335 | ||
766d0c8c DF |
3336 | 2008-02-28 Daniel Franke <franke.daniel@gmail.com> |
3337 | ||
3338 | PR fortran/31463 | |
3339 | PR fortran/33950 | |
3340 | PR fortran/34296 | |
3341 | * lang.opt: Added -Wreturn-type. | |
3342 | * options.c (gfc_handle_option): Recognize -Wreturn-type. | |
3343 | * trans-decl.c (gfc_trans_deferred_vars): Emit warnings for funtions | |
3344 | where the result value is not set. | |
3345 | (gfc_generate_function_code): Likewise. | |
3346 | (generate_local_decl): Emit warnings for funtions whose RESULT | |
3347 | variable is not set. | |
3348 | ||
43e7fd21 FXC |
3349 | 2008-02-28 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3350 | ||
3351 | PR fortran/34868 | |
3352 | * trans-expr.c (gfc_conv_variable): Don't build indirect | |
3353 | references when explicit interface is mandated. | |
3354 | * resolve.c (resolve_formal_arglist): Set attr.always_explicit | |
3355 | on the result symbol as well as the procedure symbol. | |
3356 | ||
b5a4419c FXC |
3357 | 2008-02-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3358 | ||
3359 | PR fortran/33387 | |
3360 | * trans.h: Remove prototypes for gfor_fndecl_math_exponent4, | |
3361 | gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and | |
3362 | gfor_fndecl_math_exponent16. | |
3363 | * f95-lang.c (build_builtin_fntypes): Add new function types. | |
3364 | (gfc_init_builtin_functions): Add new builtins for nextafter, | |
3365 | frexp, ldexp, fabs, scalbn and inf. | |
3366 | * iresolve.c (gfc_resolve_rrspacing): Don't add hidden arguments. | |
3367 | (gfc_resolve_scale): Don't convert type of second argument. | |
3368 | (gfc_resolve_set_exponent): Likewise. | |
3369 | (gfc_resolve_size): Don't add hidden arguments. | |
3370 | * trans-decl.c: Remove gfor_fndecl_math_exponent4, | |
3371 | gfor_fndecl_math_exponent8, gfor_fndecl_math_exponent10 and | |
3372 | gfor_fndecl_math_exponent16. | |
3373 | * trans-intrinsic.c (gfc_intrinsic_map): Remove intrinsics | |
3374 | for scalbn, fraction, nearest, rrspacing, set_exponent and | |
3375 | spacing. | |
3376 | (gfc_conv_intrinsic_exponent): Directly call frexp. | |
3377 | (gfc_conv_intrinsic_fraction, gfc_conv_intrinsic_nearest, | |
3378 | gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing, | |
3379 | gfc_conv_intrinsic_scale, gfc_conv_intrinsic_set_exponent): New | |
3380 | functions. | |
3381 | (gfc_conv_intrinsic_function): Use the new functions above. | |
3382 | ||
e19bb186 TB |
3383 | 2008-02-26 Tobias Burnus <burnus@net-b.de> |
3384 | ||
3385 | PR fortran/35033 | |
3386 | * interface.c (check_operator_interface): Show better line for error | |
3387 | messages; fix constrains for user-defined assignment operators. | |
3388 | (gfc_extend_assign): Fix constrains for user-defined assignment | |
3389 | operators. | |
3390 | ||
2d593c86 TT |
3391 | 2008-02-26 Tom Tromey <tromey@redhat.com> |
3392 | ||
3393 | * trans-io.c (set_error_locus): Remove old location code. | |
3394 | * trans-decl.c (gfc_set_decl_location): Remove old location code. | |
3395 | * f95-lang.c (gfc_init): Remove test of USE_MAPPED_LOCATION. | |
3396 | * scanner.c (gfc_gobble_whitespace): Remove old location code. | |
3397 | (get_file): Likewise. | |
3398 | (preprocessor_line): Likewise. | |
3399 | (load_file): Likewise. | |
3400 | (gfc_new_file): Likewise. | |
3401 | * trans.c (gfc_trans_runtime_check): Remove old location code. | |
3402 | (gfc_get_backend_locus): Likewise. | |
3403 | (gfc_set_backend_locus): Likewise. | |
3404 | * data.c (gfc_assign_data_value): Remove old location code. | |
3405 | * error.c (show_locus): Remove old location code. | |
3406 | * gfortran.h (gfc_linebuf): Remove old location code. | |
3407 | (gfc_linebuf_linenum): Remove old-location variant. | |
3408 | ||
ee37d2f5 FXC |
3409 | 2008-02-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3410 | ||
3411 | PR fortran/34729 | |
3412 | * trans-const.c (gfc_build_string_const): Don't call gettext. | |
3413 | (gfc_build_localized_string_const): New function. | |
3414 | * trans-const.h (gfc_build_localized_string_const): New prototype. | |
3415 | * trans.c (gfc_trans_runtime_check): Use | |
3416 | gfc_build_localized_string_const instead of gfc_build_string_const. | |
3417 | (gfc_call_malloc): Likewise. | |
3418 | (gfc_allocate_with_status): Likewise. | |
3419 | (gfc_allocate_array_with_status): Likewise. | |
3420 | (gfc_deallocate_with_status): Likewise. | |
3421 | (gfc_call_realloc): Likewise. | |
3422 | * trans-io.c (gfc_trans_io_runtime_check): Likewise. | |
3423 | ||
95213750 | 3424 | 2008-02-24 Tobias Schlüter <tobi@gcc.gnu.org> |
835aac92 TS |
3425 | |
3426 | * arith.c: Update copyright years. | |
3427 | * arith.h: Likewise. | |
3428 | * array.c: Likewise. | |
3429 | * bbt.c: Likewise. | |
3430 | * check.c: Likewise. | |
3431 | * data.c: Likewise. | |
3432 | * data.h: Likewise. | |
3433 | * decl.c: Likewise. | |
3434 | * dependency.c: Likewise. | |
3435 | * dependency.h: Likewise. | |
3436 | * dump-parse-tree.c: Likewise. | |
3437 | * error.c: Likewise. | |
3438 | * expr.c: Likewise. | |
3439 | * gfc-internals.texi: Likewise. | |
3440 | * gfortran.h: Likewise. | |
3441 | * gfortran.texi: Likewise. | |
3442 | * gfortranspec.c: Likewise. | |
3443 | * interface.c: Likewise. | |
3444 | * intrinsic.c: Likewise. | |
3445 | * intrinsic.h: Likewise. | |
3446 | * intrinsic.texi: Likewise. | |
3447 | * invoke.texi: Likewise. | |
3448 | * io.c: Likewise. | |
3449 | * iresolve.c: Likewise. | |
3450 | * iso-c-binding.def: Likewise. | |
3451 | * iso-fortran-env.def: Likewise. | |
3452 | * lang-specs.h: Likewise. | |
3453 | * lang.opt: Likewise. | |
3454 | * libgfortran.h: Likewise. | |
3455 | * match.c: Likewise. | |
3456 | * match.h: Likewise. | |
3457 | * matchexp.c: Likewise. | |
3458 | * misc.c: Likewise. | |
3459 | * module.c: Likewise. | |
3460 | * openmp.c: Likewise. | |
3461 | * options.c: Likewise. | |
3462 | * parse.c: Likewise. | |
3463 | * parse.h: Likewise. | |
3464 | * primary.c: Likewise. | |
3465 | * resolve.c: Likewise. | |
3466 | * scanner.c: Likewise. | |
3467 | * simplify.c: Likewise. | |
3468 | * st.c: Likewise. | |
3469 | * symbol.c: Likewise. | |
3470 | * target-memory.c: Likewise. | |
3471 | * target-memory.h: Likewise. | |
3472 | * trans-array.h: Likewise. | |
3473 | * trans-const.h: Likewise. | |
3474 | * trans-stmt.h: Likewise. | |
3475 | * trans-types.c: Likewise. | |
3476 | * trans-types.h: Likewise. | |
3477 | * types.def: Likewise. | |
3478 | ||
c05800b6 JD |
3479 | 2008-02-24 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3480 | ||
3481 | PR fortran/35223 | |
3482 | * simplify.c (gfc_simplify_ibclr), (gfc_simplify_ibits), | |
3483 | (gfc_simplify_ibset): Remove call to range_check. | |
3484 | (simplify_cmplx), (gfc_simplify_dble), (gfc_simplify_float) | |
3485 | (gfc_simplify_real): Add call gfc_clear_ts to initialize the | |
3486 | temporary gfc_typspec variable. | |
3487 | ||
95213750 | 3488 | 2008-02-24 Tobias Schlüter <tobi@gcc.gnu.org> |
0418b811 TS |
3489 | |
3490 | * trans-array.c (gfc_conv_descriptor_data_get, | |
3491 | gfc_conv_descriptor_data_set_internal, | |
3492 | gfc_conv_descriptor_data_addr, gfc_conv_descriptor_offset, | |
3493 | gfc_conv_descriptor_dtype, gfc_conv_descriptor_dimension, | |
3494 | gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound, | |
3495 | gfc_conv_descriptor_ubound, gfc_trans_create_temp_array, | |
3496 | gfc_conv_array_transpose, gfc_grow_array, | |
3497 | gfc_trans_array_constructor_subarray, | |
3498 | gfc_trans_array_constructor_value, gfc_trans_scalarized_loop_end, | |
3499 | gfc_array_init_size, gfc_array_allocate, gfc_array_deallocate, | |
3500 | gfc_conv_array_initializer, gfc_trans_array_bounds, | |
3501 | gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias, | |
3502 | gfc_get_dataptr_offset, gfc_conv_array_parameter, | |
3503 | gfc_trans_dealloc_allocated, get_full_array_size, | |
3504 | gfc_duplicate_allocatable, structure_alloc_comps): Use fold_buildN | |
3505 | instead of buildN. | |
3506 | * trans-expr.c (gfc_conv_expr_present, gfc_conv_missing_dummy, | |
3507 | gfc_conv_component_ref, gfc_conv_cst_int_power, | |
3508 | gfc_conv_function_call, gfc_trans_structur_assign): Likewise. | |
3509 | * trans-common.c (create_common): Likewise. | |
3510 | * trans-openmp.c (gfc_trans_omp_atomic, gfc_trans_omp_do): | |
3511 | Likewise. | |
3512 | * trans-const.c (gfc_conv_constant_to_tree): Likewise. | |
3513 | * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_do, | |
3514 | gfc_trans_integer_select, gfc_trans_character_select, | |
3515 | gfc_trans_forall_loop, compute_overall_iter_number, | |
3516 | gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_allocate, | |
3517 | gfc_trans_deallocate): Likewise. | |
3518 | * trans.c (gfc_build_addr_expr, gfc_trans_runtime_check, | |
3519 | gfc_allocate_with_status, gfc_allocate_array_with_status, | |
3520 | gfc_deallocate_with_status): Likewise. | |
3521 | * f95-lang.c (gfc_truthvalue_conversion): Likewise. | |
3522 | * trans-io.c (set_parameter_const, set_parameter_value, | |
3523 | set_parameter_ref, set_string, set_internal_unit, io_result, | |
3524 | set_error_locus, nml_get_addr_expr, transfer_expr): Likewise. | |
3525 | * trans-decl.c (gfc_build_qualified_array, build_entry_thunks, | |
3526 | gfc_get_fake_result_decl, gfc_trans_auto_character_variable, | |
3527 | gfc_generate_function_code): Likewise. | |
3528 | * convert.c (convert): Likewise. | |
3529 | * trans-intrinsic.c (gfc_conv_intrinsic_conversion, | |
3530 | build_fixbound_expr, build_fix_expr, gfc_conv_intrinsic_aint, | |
3531 | gfc_conv_intrinsic_int, gfc_conv_intrinsic_imagpart, | |
3532 | gfc_conv_intrinsic_conjg, gfc_conv_intrinsic_abs, | |
3533 | gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod, | |
3534 | gfc_conv_intrinsic_dim, gfc_conv_intrinsic_dprod, | |
3535 | gfc_conv_intrinsic_ctime, gfc_conv_intrinsic_fdate, | |
3536 | gfc_conv_intrinsic_ttynam, gfc_conv_intrinsic_minmax, | |
3537 | gfc_conv_intrinsic_minmax_char, gfc_conv_intrinsic_count, | |
3538 | gfc_conv_intrinsic_arith, gfc_conv_intrinsic_dot_product, | |
3539 | gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval, | |
3540 | gfc_conv_intrinsic_btest, gfc_conv_intrinsic_not, | |
3541 | gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft, | |
3542 | gfc_conv_intrinsic_ichar, gfc_conv_intrinsic_size, | |
3543 | gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_transfer, | |
3544 | gfc_conv_allocated, gfc_conv_associated, gfc_conv_intrinsic_trim, | |
3545 | gfc_conv_intrinsic_repeat): Likewise. | |
3546 | ||
37a2dc42 | 3547 | 2008-02-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
fb220235 FXC |
3548 | |
3549 | PR target/25477 | |
3550 | * trans-expr.c (gfc_conv_power_op): Use BUILT_IN_CPOW{F,,L}. | |
3551 | * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_CPOW{F,,L}. | |
3552 | * trans.h (gfor_fndecl_math_cpow, gfor_fndecl_math_cpowf, | |
3553 | gfor_fndecl_math_cpowl10, gfor_fndecl_math_cpowl16): Remove. | |
3554 | * trans-decl.c: Likewise. | |
3555 | ||
c05800b6 JD |
3556 | 2008-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3557 | ||
3558 | PR fortran/35059 | |
3559 | * expr.c (find_array_element): Modify traversing the constructor to | |
3560 | avoid trying to access NULL memory pointed to by next for the | |
3561 | last element. (find_array_section): Exit while loop if cons->next is | |
3562 | NULL. | |
3563 | ||
3564 | 2008-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org> | |
4af63337 JD |
3565 | |
3566 | PR fortran/34907 | |
3567 | * iresolve.c (resolve_mask_arg): Add gfc_clear_ts to initialize | |
3568 | structure. | |
3569 | (gfc_resolve_aint): Likewise. | |
3570 | (gfc_resolve_anint): Likewise. | |
3571 | (gfc_resolve_besn): Likewise. | |
3572 | (gfc_resolve_cshift): Likewise. | |
3573 | (gfc_resolve_ctime): Likewise. | |
3574 | (gfc_resolve_eoshift): Likewise. | |
3575 | (gfc_resolve_index_func): Likewise. | |
3576 | (gfc_resolve_isatty): Likewise. | |
3577 | (gfc_resolve_malloc): Likewise. | |
3578 | (gfc_resolve_rrspacing): Likewise. | |
3579 | (gfc_resolve_scale): Likewise. | |
3580 | (gfc_resolve_set_exponent): Likewise. | |
3581 | (gfc_resolve_spacing): Likewise. | |
3582 | (gfc_resolve_spacing): Likewise. | |
3583 | (gfc_resolve_fgetc): Likewise. | |
3584 | (gfc_resolve_fputc): Likewise. | |
3585 | (gfc_resolve_ftell): Likewise. | |
3586 | (gfc_resolve_ttynam): Likewise. | |
3587 | (gfc_resolve_alarm_sub): Likewise. | |
3588 | (gfc_resolve_mvbits): Likewise. | |
3589 | (gfc_resolve_getarg): Likewise. | |
3590 | (gfc_resolve_signal_sub): Likewise. | |
3591 | (gfc_resolve_exit): Likewise. | |
3592 | (gfc_resolve_flush): Likewise. | |
3593 | (gfc_resolve_free): Likewise. | |
3594 | (gfc_resolve_ctime_sub): Likewise. | |
3595 | (gfc_resolve_fgetc_sub): Likewise. | |
3596 | (gfc_resolve_fputc_sub): Likewise. | |
3597 | (gfc_resolve_fseek_sub): Likewise. | |
3598 | (gfc_resolve_ftell_sub): Likewise. | |
3599 | (gfc_resolve_ttynam_sub): Likewise. | |
3600 | ||
24219f12 RW |
3601 | 2008-02-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> |
3602 | ||
3603 | * gfc-internals.texi: Fix typos and markup nits. | |
3604 | * gfortran.texi: Likewise. | |
3605 | * intrinsic.texi: Likewise. | |
3606 | ||
dedd42d5 RG |
3607 | 2008-02-21 Richard Guenther <rguenther@suse.de> |
3608 | ||
3609 | * trans-expr.c (gfc_conv_expr_op): Expand INTRINSIC_PARENTHESES | |
3610 | as unary PAREN_EXPR for real and complex typed expressions. | |
3611 | (gfc_conv_unary_op): Fold the built tree. | |
3612 | ||
89a5afda TB |
3613 | 2008-02-20 Tobias Burnus <burnus@net-b.de> |
3614 | ||
3615 | PR fortran/34997 | |
3616 | * match.c (gfc_match_name): Improve error message for '$'. | |
3617 | ||
606c2c03 DF |
3618 | 2008-02-19 Daniel Franke <franke.daniel@gmail.com> |
3619 | ||
3620 | PR fortran/35030 | |
3621 | * expr.c (gfc_check_pointer_assign): Add type and kind information | |
3622 | to type-mismatch message. | |
3623 | (gfc_check_assign): Unify error messages. | |
3624 | ||
49309826 FXC |
3625 | 2008-02-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3626 | ||
3627 | PR fortran/34952 | |
3628 | * gfortran.texi: Create new section for unimplemented extensions. | |
3629 | Add "STRUCTURE and RECORD" and "ENCODE and DECODE statements". | |
3630 | Remove "smaller projects" list. Fix a few typos. | |
3631 | ||
6b45fd61 FXC |
3632 | 2008-02-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3633 | ||
3634 | * intrinsic.texi: Rename INDEX node to avoid clashing with | |
3635 | index.html on case-insensitive systems. | |
3636 | ||
750606c6 FXC |
3637 | 2008-02-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3638 | ||
3639 | PR fortran/35150 | |
3640 | * trans-expr.c (gfc_conv_function_call): Force evaluation of | |
3641 | se->expr. | |
3642 | ||
3d39d415 DF |
3643 | 2008-02-10 Daniel Franke <franke.daniel@gmail.com> |
3644 | ||
606c2c03 | 3645 | PR fortran/35019 |
3d39d415 DF |
3646 | * lang.opt: Allow '-J<dir>' next to '-J <dir>', |
3647 | likewise '-I <dir>' and '-I<dir>'. | |
3648 | ||
72fb133f KG |
3649 | 2008-02-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
3650 | ||
3651 | PR other/35107 | |
3652 | * Make-lang.in (f951): Add $(GMPLIBS). | |
3653 | ||
e3ac9b24 FXC |
3654 | 2008-02-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
3655 | ||
3656 | PR fortran/35037 | |
3657 | * trans-common.c (build_field): Mark fields as volatile when needed. | |
3658 | ||
da36ba27 TB |
3659 | 2008-02-05 Tobias Burnus <burnus@net-b.de> |
3660 | ||
3661 | PR fortran/35093 | |
3662 | * data.c (gfc_assign_data_value): Only free "size" if | |
3663 | it has not already been freed. | |
3664 | ||
52f56431 PT |
3665 | 2008-02-05 Paul Thomas <pault@gcc.gnu.org> |
3666 | ||
3667 | PR fortran/34945 | |
3668 | * array.c (match_array_element_spec): Remove check for negative | |
3669 | array size. | |
3670 | (gfc_resolve_array_spec): Add check for negative size. | |
3671 | ||
3969f765 PT |
3672 | 2008-02-05 Paul Thomas <pault@gcc.gnu.org> |
3673 | ||
3674 | PR fortran/32315 | |
3675 | * data.c (gfc_assign_data_value): Add bounds check for array | |
3676 | references. | |
3677 | ||
ba6e57ba DF |
3678 | 2008-02-04 Daniel Franke <franke.daniel@gmail.com> |
3679 | ||
3680 | * resolve.c (resolve_where): Fix typo. | |
3681 | (gfc_resolve_where_code_in_forall): Likewise. | |
3682 | ||
b9332b09 PT |
3683 | 2008-02-03 Paul Thomas <pault@gcc.gnu.org> |
3684 | ||
3685 | PR fortran/32760 | |
3686 | * resolve.c (resolve_allocate_deallocate): New function. | |
3687 | (resolve_code): Call it for allocate and deallocate. | |
3688 | * match.c (gfc_match_allocate, gfc_match_deallocate) : Remove | |
3689 | the checking of the STAT tag and put in above new function. | |
3690 | * primary,c (match_variable): Do not fix flavor of host | |
3691 | associated symbols yet if the type is not known. | |
3692 | ||
db39d0c2 PT |
3693 | 2008-01-31 Paul Thomas <pault@gcc.gnu.org> |
3694 | ||
3695 | PR fortran/34910 | |
3696 | * expr.c (gfc_check_assign): It is an error to assign | |
3697 | to a sibling procedure. | |
3698 | ||
a99d95a2 PT |
3699 | 2008-01-30 Paul Thomas <pault@gcc.gnu.org> |
3700 | ||
3701 | PR fortran/34975 | |
3702 | * symbol.c (gfc_delete_symtree, gfc_undo_symbols): Rename | |
3703 | delete_symtree to gfc_delete_symtree. | |
3704 | * gfortran.h : Add prototype for gfc_delete_symtree. | |
3705 | * module.c (load_generic_interfaces): Transfer symbol to a | |
3706 | unique symtree and delete old symtree, instead of renaming. | |
3707 | (read_module): The rsym and the found symbol are the same, so | |
3708 | the found symtree can be deleted. | |
3709 | ||
3710 | PR fortran/34429 | |
3711 | * decl.c (match_char_spec): Remove the constraint on deferred | |
3712 | matching of functions and free the length expression. | |
3713 | delete_symtree to gfc_delete_symtree. | |
3714 | (gfc_match_type_spec): Whitespace. | |
3715 | (gfc_match_function_decl): Defer characteristic association for | |
3716 | all types except BT_UNKNOWN. | |
3717 | * parse.c (decode_specification_statement): Only derived type | |
3718 | function matching is delayed to the end of specification. | |
3719 | ||
64a96f5b TB |
3720 | 2008-01-28 Tobias Burnus <burnus@net-b.de> |
3721 | ||
3722 | PR libfortran/34980 | |
3723 | * simplify.c (gfc_simplify_shape): Simplify rank zero arrays. | |
3724 | ||
938f31f1 JD |
3725 | 2008-01-27 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3726 | ||
3727 | PR fortran/34990 | |
3728 | * array.c (gfc_check_constructor_type): Revert clearing the expression. | |
3729 | ||
2c80cb0e TB |
3730 | 2008-01-26 Tobias Burnus <burnus@net-b.de> |
3731 | ||
3732 | PR fortran/34848 | |
3733 | * trans-expr.c (gfc_conv_function_call): Don't call | |
3734 | gfc_add_interface_mapping if the expression is NULL. | |
3735 | ||
bdfc46af JD |
3736 | 2008-01-26 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3737 | ||
3738 | PR fortran/31610 | |
3739 | * trans-array.c (gfc_trans_create_temp_array): Remove call to | |
3740 | gcc_assert (integer_zerop (loop->from[n])). | |
3741 | ||
42cd23cb DF |
3742 | 2008-01-25 Daniel Franke <franke.daniel@gmail.com> |
3743 | ||
3744 | PR fortran/34661 | |
3745 | * resolve.c (resolve_where): Added check if user-defined assignment | |
3746 | operator is an elemental subroutine. | |
3747 | (gfc_resolve_where_code_in_forall): Likewise. | |
3748 | ||
79f40de6 DF |
3749 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
3750 | ||
3751 | PR fortran/33375 | |
3752 | PR fortran/34858 | |
3753 | * gfortran.h: Revert changes from 2008-01-17. | |
3754 | * match.c: Likewise. | |
3755 | * symbol.c: Likewise. | |
3756 | (gfc_undo_symbols): Undo namespace changes related to common blocks. | |
3757 | ||
7c8d2703 DF |
3758 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
3759 | ||
3760 | PR fortran/34202 | |
3761 | * data.c (formalize_structure_cons): Skip formalization on | |
3762 | empty structures. | |
3763 | ||
3b303683 DF |
3764 | 2008-01-24 Daniel Franke <franke.daniel@gmail.com> |
3765 | ||
3766 | * gfortran.texi (OpenMP): Extended existing documentation. | |
3767 | (contributors): Added major contributors of 2008 that were | |
3768 | not listed yet. | |
3769 | (proposed extensions): Removed implemented items. | |
3770 | ||
3771 | 2008-01-24 Paul Thomas <pault@gcc.gnu.org> | |
3772 | ||
3773 | PR fortran/34872 | |
3774 | * parse.c (next_statement) : If ST_GET_FCN_CHARACTERISTICS is | |
3775 | seen, check for a statement label and, if present, delete it | |
3776 | and set the locus to the start of the statement. | |
3777 | ||
c63173dd PT |
3778 | 2008-01-22 Paul Thomas <pault@gcc.gnu.org> |
3779 | ||
3780 | PR fortran/34875 | |
3781 | * trans-io.c (gfc_trans_transfer): If the array reference in a | |
3782 | read has a vector subscript, use gfc_conv_subref_array_arg to | |
3783 | copy back the temporary. | |
3784 | ||
b5ca4fd2 TB |
3785 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
3786 | ||
3787 | PR fortran/34848 | |
3788 | * interface.c (compare_actual_formal): Fix adding type | |
3789 | to missing_arg_type for absent optional arguments. | |
3790 | ||
2ddd2871 TB |
3791 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
3792 | ||
3793 | PR fortran/34907 | |
3794 | * parse.c (parse_spec): Change = into ==. | |
3795 | ||
c2916401 DF |
3796 | 2008-01-22 Daniel Franke <franke.daniel@gmail.com> |
3797 | ||
3798 | PR fortran/34915 | |
3799 | * expr.c (check_elemental): Fix check for valid data types. | |
3800 | ||
fd1935d5 TB |
3801 | 2008-01-22 Tobias Burnus <burnus@net-b.de> |
3802 | ||
3803 | PR fortran/34899 | |
3804 | * scanner.c (load_line): Support <tab><digit> continuation lines. | |
3805 | * invoke.texi (-Wtabs): Document this. | |
3806 | ||
87a64f53 PT |
3807 | 2008-01-22 Paul Thomas <pault@gcc.gnu.org> |
3808 | ||
3809 | PR fortran/34896 | |
3810 | * module.c (read_module): Set use_rename attribute. | |
3811 | ||
d68e117b TB |
3812 | 2007-01-21 Tobias Burnus <burnus@net-b.de> |
3813 | ||
3814 | PR fortran/34901 | |
3815 | * interface.c (compare_parameter): Improved error message | |
3816 | for arguments of same type and mismatched kinds. | |
3817 | ||
f5d67ede PT |
3818 | 2008-01-20 Paul Thomas <pault@gcc.gnu.org> |
3819 | ||
3820 | PR fortran/34861 | |
3821 | * resolve.c (resolve_entries): Do not do an array bounds check | |
3822 | if the result symbols are the same. | |
3823 | ||
3824 | PR fortran/34854 | |
3825 | * module.c (read_module) : Hide the symtree of the previous | |
3826 | version of the symbol if this symbol is renamed. | |
3827 | ||
f2d3cb25 PT |
3828 | 2008-01-20 Paul Thomas <pault@gcc.gnu.org> |
3829 | ||
3830 | PR fortran/34784 | |
3831 | * array.c (gfc_check_constructor_type): Clear the expression ts | |
3832 | so that the checking starts from the deepest level of array | |
3833 | constructor. | |
3834 | * primary.c (match_varspec): If an unknown type is changed to | |
3835 | default character and the attempt to match a substring fails, | |
3836 | change it back to unknown. | |
3837 | ||
3838 | PR fortran/34785 | |
3839 | * trans-array.c (gfc_add_loop_ss_code) : If ss->string_length is | |
3840 | NULL for an array constructor, use the cl.length expression to | |
3841 | build it. | |
3842 | (gfc_conv_array_parameter): Change call to gfc_evaluate_now to | |
3843 | a tree assignment. | |
3844 | ||
c613d540 TK |
3845 | 2008-01-19 Thomas Koenig <tkoenig@gcc.gnu.org> |
3846 | ||
3847 | PR fortran/34817 | |
3848 | PR fortran/34838 | |
3849 | * iresolve.c (gfc_resolve_all): Remove conversion of mask | |
3850 | argument to kind=1 by removing call to resolve_mask_arg(). | |
3851 | (gfc_resolve_any): Likewise. | |
3852 | ||
d7e2fcd0 TB |
3853 | 2008-01-19 Tobias Burnus <burnus@net-b.de> |
3854 | ||
3855 | PR fortran/34760 | |
3856 | * primary.c (match_variable): Handle FL_UNKNOWN without | |
3857 | uneducated guessing. | |
3858 | (match_variable): Improve error message. | |
3859 | ||
a0710c29 TB |
3860 | 2008-01-18 Tobias Burnus <burnus@net-b.de> |
3861 | ||
3862 | PR fortran/32616 | |
3863 | * interface.c (get_expr_storage_size): Return storage size | |
3864 | for array element designators. | |
3865 | (compare_actual_formal): Reject unequal string sizes for | |
3866 | assumed-shape dummy arguments. And fix error message for | |
3867 | array-sections with vector subscripts. | |
3868 | ||
207bde5f JD |
3869 | 2008-01-17 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3870 | ||
3871 | PR fortran/34556 | |
3872 | * simplify.c (is_constant_array_expr): New static function that returns | |
3873 | true if the given expression is an array and is constant. | |
3874 | (gfc_simplify_reshape): Use new function. | |
3875 | ||
c0184444 L |
3876 | 2008-01-17 H.J. Lu <hongjiu.lu@intel.com> |
3877 | ||
3878 | PR fortran/33375 | |
3879 | * symbol.c (free_common_tree): Renamed to ... | |
3880 | (gfc_free_common_tree): This. Remove static. | |
3881 | (gfc_free_namespace): Updated. | |
3882 | ||
3883 | * gfortran.h (gfc_free_common_tree): New. | |
3884 | ||
3885 | * match.c (gfc_match_common): Call gfc_free_common_tree () with | |
3886 | gfc_current_ns->common_root and set gfc_current_ns->common_root | |
3887 | to NULL on syntax error. | |
3888 | ||
5cc5439e RS |
3889 | 2008-01-18 Richard Sandiford <rsandifo@nildram.co.uk> |
3890 | ||
3891 | PR fortran/34686 | |
3892 | * trans-expr.c (gfc_conv_function_call): Use proper | |
3893 | type for returned character pointers. | |
3894 | ||
1c8bcdf7 PT |
3895 | 2008-01-17 Paul Thomas <pault@gcc.gnu.org> |
3896 | ||
3897 | PR fortran/34429 | |
3898 | PR fortran/34431 | |
3899 | PR fortran/34471 | |
3900 | * decl.c : Remove gfc_function_kind_locus and | |
3901 | gfc_function_type_locus. Add gfc_matching_function. | |
3902 | (match_char_length): If matching a function and the length | |
3903 | does not match, return MATCH_YES and try again later. | |
3904 | (gfc_match_kind_spec): The same. | |
3905 | (match_char_kind): The same. | |
3906 | (gfc_match_type_spec): The same for numeric and derived types. | |
3907 | (match_prefix): Rename as gfc_match_prefix. | |
3908 | (gfc_match_function_decl): Except for function valued character | |
3909 | lengths, defer applying kind, type and charlen info until the | |
3910 | end of specification block. | |
3911 | gfortran.h (gfc_statement): Add ST_GET_FCN_CHARACTERISTICS. | |
3912 | parse.c (decode_specification_statement): New function. | |
3913 | (decode_statement): Call it when a function has kind = -1. Set | |
3914 | and reset gfc_matching function, as function statement is being | |
3915 | matched. | |
3916 | (match_deferred_characteristics): Simplify with a single call | |
3917 | to gfc_match_prefix. Do appropriate error handling. In any | |
3918 | case, make sure that kind = -1 is reset or corrected. | |
3919 | (parse_spec): Call above on seeing ST_GET_FCN_CHARACTERISTICS. | |
3920 | Throw an error if kind = -1 after last specification statement. | |
3921 | parse.h : Prototype for gfc_match_prefix. | |
3922 | ||
6da0839a TB |
3923 | 2008-01-16 Tobias Burnus <burnus@net-b.de> |
3924 | ||
3925 | PR fortran/34796 | |
3926 | * interface.c (compare_parameter): Allow AS_DEFERRED array | |
3927 | elements and reject attr.pointer array elemenents. | |
3928 | (get_expr_storage_size): Return storage size of elements of | |
3929 | assumed-shape and pointer arrays. | |
3930 | ||
e0e8ce7a SP |
3931 | 2008-01-15 Sebastian Pop <sebastian.pop@amd.com> |
3932 | ||
3933 | * f95-lang.c (gfc_init_builtin_functions): Initialize GOMP builtins | |
3934 | for flag_tree_parallelize_loops. | |
3935 | ||
90469382 TK |
3936 | 2008-01-15 Thomas Koenig <tkoenig@gcc.gnu.org> |
3937 | ||
3938 | PR libfortran/34671 | |
3939 | * iresolve.c (gfc_resolve_all): Call resolve_mask_arg. | |
3940 | (gfc_resolve_any): Likewise. | |
3941 | (gfc_resolve_count): Likewise. Don't append kind of | |
3942 | argument to function name. | |
3943 | ||
5ad6345e TB |
3944 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
3945 | ||
3946 | PR fortran/34665 | |
3947 | * resolve.c (resolve_actual_arglist): For expressions, | |
3948 | also check for assume-sized arrays. | |
3949 | * interface.c (compare_parameter): Move F2003 character checks | |
3950 | here, print error messages here, reject elements of | |
3951 | assumed-shape array as argument to dummy arrays. | |
3952 | (compare_actual_formal): Update for the changes above. | |
3953 | ||
083de129 TB |
3954 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
3955 | ||
3956 | PR fortran/34763 | |
3957 | * decl.c (contained_procedure): Only check directly preceeding state. | |
3958 | ||
86288ff0 TB |
3959 | 2008-01-13 Tobias Burnus <burnus@net-b.de> |
3960 | ||
3961 | PR fortran/34759 | |
3962 | * check.c (gfc_check_shape): Accept array ranges of | |
3963 | assumed-size arrays. | |
3964 | ||
9a528648 JD |
3965 | 2008-01-12 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3966 | ||
9a27aa90 | 3967 | PR fortran/34432 |
9a528648 JD |
3968 | * match.c (gfc_match_name): Don't error if leading character is a '(', |
3969 | just return MATCH_NO. | |
3970 | ||
bc9d9552 JD |
3971 | 2008-01-11 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
3972 | ||
3973 | PR fortran/34722 | |
3974 | * trans-io.c (create_dummy_iostat): Commit the symbol. | |
3975 | ||
d9183bb7 PT |
3976 | 2008-01-11 Paul Thomas <pault@gcc.gnu.org> |
3977 | ||
3978 | PR fortran/34537 | |
3979 | * simplify.c (gfc_simplify_transfer): Return NULL if the size | |
3980 | of the element is unavailable and only assign character length | |
3981 | to the result, if 'mold' is constant. | |
3982 | ||
32be9f94 PT |
3983 | 2008-01-10 Paul Thomas <pault@gcc.gnu.org> |
3984 | ||
3985 | PR fortran/34396 | |
3986 | * trans-array.c (gfc_trans_array_ctor_element): Use gfc_trans_string_copy | |
3987 | to assign strings and perform bounds checks on the string length. | |
3988 | (get_array_ctor_strlen): Remove bounds checking. | |
3989 | (gfc_trans_array_constructor): Initialize string length checking. | |
3990 | * trans-array.h : Add prototype for gfc_trans_string_copy. | |
3991 | ||
416a8af4 RG |
3992 | 2008-01-08 Richard Guenther <rguenther@suse.de> |
3993 | ||
3994 | PR fortran/34706 | |
3995 | PR tree-optimization/34683 | |
3996 | * trans-types.c (gfc_get_array_type_bounds): Use an array type | |
3997 | with known size for accesses if that is known. | |
3998 | ||
0c6ce8b0 PT |
3999 | 2008-01-08 Paul Thomas <pault@gcc.gnu.org> |
4000 | ||
4001 | PR fortran/34476 | |
4002 | * expr.c (find_array_element): Check that the array bounds are | |
4003 | constant before using them. Use lower, as well as upper bound. | |
4004 | (check_restricted): Allow implied index variable. | |
4005 | ||
3672065a PT |
4006 | 2008-01-08 Paul Thomas <pault@gcc.gnu.org> |
4007 | ||
4008 | PR fortran/34681 | |
4009 | * trans_array.c (gfc_trans_deferred_array): Do not null the | |
4010 | data pointer on entering scope, nor deallocate it on leaving | |
4011 | scope, if the symbol has the 'save' attribute. | |
4012 | ||
4013 | PR fortran/34704 | |
4014 | * trans_decl.c (gfc_finish_var_decl): Derived types with | |
4015 | allocatable components and an initializer must be TREE_STATIC. | |
4016 | ||
3a7b9fda PT |
4017 | 2008-01-07 Paul Thomas <pault@gcc.gnu.org> |
4018 | ||
4019 | PR fortran/34672 | |
4020 | * module.c (write_generic): Rewrite completely. | |
4021 | (write_module): Change call to write_generic. | |
4022 | ||
bd5db9de JD |
4023 | 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
4024 | ||
4025 | PR fortran/34659 | |
4026 | * scanner.c (load_line): Do not count ' ' as printable when checking for | |
4027 | continuations. | |
4028 | ||
5989df83 | 4029 | 2008-01-06 Paul Thomas <pault@gcc.gnu.org> |
ac61ba6a | 4030 | |
5989df83 PT |
4031 | PR fortran/34545 |
4032 | * module.c (load_needed): If the namespace has no proc_name | |
4033 | give it the module symbol. | |
ac61ba6a | 4034 | |
9b09c4de JD |
4035 | 2008-01-06 Jerry DeLisle <jvdelisle@gcc.gnu.org> |
4036 | ||
4037 | PR fortran/34387 | |
4038 | * trans-expr.c (gfc_conv_missing_dummy): Use a temporary to type convert | |
4039 | the dummy variable expression, test for NULL, and pass the variable | |
4040 | address to the called function. | |
4041 | ||
346ecba8 TB |
4042 | 2007-01-06 Tobias Burnus <burnus@net-b.de> |
4043 | ||
4044 | PR fortran/34658 | |
4045 | * match.c (gfc_match_common): Remove blank common in | |
4046 | DATA BLOCK warning. | |
4047 | * resolve.c (resolve_common_vars): New function. | |
4048 | (resolve_common_blocks): Move checks to resolve_common_vars | |
4049 | and invoke that function. | |
4050 | (resolve_types): Call resolve_common_vars for blank commons. | |
4051 | ||
cddcf0d4 TB |
4052 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
4053 | ||
4054 | PR fortran/34655 | |
4055 | * resolve.c (resolve_equivalence_derived): Reject derived types with | |
4056 | default initialization if equivalenced with COMMON variable. | |
4057 | ||
89c32b0f TB |
4058 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
4059 | ||
4060 | PR fortran/34654 | |
4061 | * io.c (check_io_constraints): Disallow unformatted I/O for | |
4062 | internal units. | |
4063 | ||
242633d6 TB |
4064 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
4065 | ||
4066 | PR fortran/34660 | |
4067 | * resolve.c (resolve_formal_arglist): Reject dummy procedure in | |
4068 | ELEMENTAL functions. | |
4069 | ||
a5c655e8 TB |
4070 | 2008-01-06 Tobias Burnus <burnus@net-b.de> |
4071 | ||
4072 | PR fortran/34662 | |
4073 | * interface.c (compare_actual_formal): Reject parameter | |
4074 | actual to intent(out) dummy. | |
4075 | ||
3c721513 TB |
4076 | 2008-01-04 Tobias Burnus <burnus@net-b.de> |
4077 | ||
4078 | PR fortran/34557 | |
4079 | * primary.c (match_varspec): Gobble whitespace before | |
4080 | checking for '('. |