]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
re PR fortran/29699 (ICE in trans-decl.c)
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
7114edca
PT
12006-11-09 Paul Thomas <pault@gcc.gnu.org>
2
3 PR fortran/29699
4 * trans-array.c (structure_alloc_comps): Detect pointers to
5 arrays and use indirect reference to declaration.
6 * resolve.c (resolve_fl_variable): Tidy up condition.
7 (resolve_symbol): The same and only add initialization code if
8 the symbol is referenced.
9 * trans-decl.c (gfc_trans_deferred_vars): Call gfc_trans_
10 deferred_array before gfc_trans_auto_array_allocation.
11
12 PR fortran/21730
13 * symbol.c (check_done): Remove.
14 (gfc_add_attribute): Remove reference to check_done and remove
15 the argument attr_intent.
16 (gfc_add_allocatable, gfc_add_dimension, gfc_add_external,
17 gfc_add_intrinsic, gfc_add_optional, gfc_add_pointer,
18 gfc_add_cray_pointer, gfc_add_cray_pointee, gfc_add_result,
19 gfc_add_target, gfc_add_in_common, gfc_add_elemental,
20 gfc_add_pure, gfc_add_recursive, gfc_add_procedure,
21 gfc_add_type): Remove references to check_done.
22 * decl.c (attr_decl1): Eliminate third argument in call to
23 gfc_add_attribute.
24 * gfortran.h : Change prototype for gfc_add_attribute.
25
592600ce
BM
262006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
27
28 * invoke.texi: Added documentation for -fmax-errors option.
29
3f139fcf
BM
302006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
31
32 * lang.opt: Add -fmax-errors= option.
33 * gfortran.h (gfc_option_t): Add max_errors element.
34 * options.c (gfc_init_options): Set max_errors default value
35 to 25.
36 (gfc_handle_options): Assign -fmax_errors value to
37 gfc_option.max_errors.
38 * error.c (gfc_increment_error_count): New function, which
39 also checks whether the error count exceeds max_errors.
40 (gfc_warning): Use it.
41 (gfc_warning_now): Use it.
42 (gfc_notify_std): Use it.
43 (gfc_error): Use it.
44 (gfc_error_now): Use it.
45 (gfc_error_check): Use it.
46
350ff03f
BM
472006-11-08 Brooks Moses <brooks.moses@codesourcery.com>
48
49 * lang.opt: Remove non-working -qkind= option.
50 * gfortran.h (gfc_option_t): Remove q_kind member.
51 * options.c (gfc_init_options): Remove q_kind initialization.
52 (gfc_handle_option): Remove -qkind= option handling.
53 * primary.c: (match_real_constant): Remove 'Q' exponent.
54
08d7f64e
TB
552006-11-08 Tobias Burnus <burnus@net-b.de>
56
57 * gfortran.texi: Add volatile and internal-file
58 namelist to Fortran 2003 status.
59 * intrinsic.texi: Correct CHMOD entry.
60
612006-11-07 Paul Thomas <pault@gcc.gnu.org>
8f81c3c6
PT
62
63 PR fortran/29539
64 PR fortran/29634
65 * decl.c (variable_decl): Add test for presence of proc_name.
66 * error.c (gfc_error_flag_test): New function.
67 * gfortran.h : Prototype for gfc_error_flag_test.
68
775e6c3a
TB
692006-11-07 Tobias Burnus <burnus@net-b.de>
70
71 PR fortran/29601
72 * symbol.c (check_conflict, gfc_add_volatile): Add volatile support.
73 * decl.c (match_attr_spec, gfc_match_volatile): Add volatile support.
74 * gfortran.h (symbol_attribute): Add volatile_ to struct.
75 * resolve.c (was_declared): Add volatile support.
76 * trans-decl.c (gfc_finish_var_decl): Add volatile support.
77 * match.h: Declare gfc_match_volatile.
78 * parse.c (decode_statement): Recognize volatile.
79 * modules.c (ab_attribute, attr_bits, mio_symbol_attribute):
80 Add volatile support.
81 * dump-parse-tree.c (gfc_show_attr): Add volatile support.
82
aa4183d8
TB
832006-11-06 Tobias Burnus <burnus@net-b.de>
84
85 * decl.c (match_attr_spec, gfc_match_enum): Unify gfc_notify_std
86 message for GFC_STD_F2003.
87 * array.c (gfc_match_array_constructor): Unify gfc_notify_std
88 message for GFC_STD_F2003.
89 * io.c (check_io_constraints): Unify gfc_notify_std message for
90 GFC_STD_F2003.
91 * resolve.c (resolve_actual_arglist): Unify gfc_notify_std message
92 for GFC_STD_F2003.
93
61e390b1 942006-11-06 Brooks Moses <brooks.moses@codesourcery.com>
a1758c52
BM
95
96 * intrinsic.texi: Added documentation for FTELL, GETLOG, and
97 HOSTNM intrinsics.
98
abe601c7
EE
992006-11-06 Erik Edelmann <eedelman@gcc.gnu.org>
100
101 PR fortran/29630
102 PR fortran/29679
103 * expr.c (find_array_section): Support vector subscripts. Don't
104 add sizes for dimen_type == DIMEN_ELEMENT to the shape array.
105
f4d4085c
BF
1062006-11-05 Bernhard Fischer <aldot@gcc.gnu.org>
107
108 PR fortran/21061
109 * error.c (gfc_warning): If warnings_are_errors then treat
110 warnings as errors with respect to the exit code.
111 (gfc_notify_std): Ditto.
112 (gfc_warning_now): Ditto.
113
58b6e047
PT
1142006-11-05 Francois-Xavier Coudert <fxcoudert@gcc.gnu,org>
115 Paul Thomas <pault@gcc.gnu.org>
116
117 PR fortran/24518
118 * trans-intrinsic.c (gfc_conv_intrinsic_mod): Use built_in fmod
119 for both MOD and MODULO, if it is available.
120
121 PR fortran/29565
122 * trans-expr.c (gfc_conv_aliased_arg): For an INTENT(OUT), save
123 the declarations from the unused loops by merging the block
124 scope for each; this ensures that the temporary is declared.
125
cb60c134
BM
1262006-11-04 Brooks Moses <brooks.moses@codesourcery.com>
127
128 * error.c (show_locus): Add trailing colon in error messages.
129 (error_print): Avoid leading space in error lines.
130
d6910bb5
FXC
1312006-11-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
132
133 PR fortran/29713
134 * expr.c (gfc_simplify_expr): Correct memory allocation.
135
5d7de335
BM
1362006-11-02 Brooks Moses <brooks.moses@codesourcery.com>
137
138 * error.c (show_locus): Remove "In file" from error messages.
139
5880f14f
GK
1402006-10-31 Geoffrey Keating <geoffk@apple.com>
141
142 * trans-decl.c (gfc_generate_constructors): Update for removal
143 of get_file_function_name.
144
41433497
BF
1452006-11-01 Bernhard Fischer <aldot@gcc.gnu.org>
146
147 PR fortran/29537
148 * trans-common.c (gfc_trans_common): If the blank common is
149 in a procedure or program without a name then proc_name is null, so
150 use the locus of the common.
151 (gfc_sym_mangled_common_id): Fix whitespace.
152 * match.c (gfc_match_common): Emit warning about blank common in
153 block data.
154
5d32fe7f
FXC
1552006-10-31 Francois-Xavier Coudert <coudert@clipper.ens.fr>
156
157 PR fortran/29067
158 * decl.c (gfc_set_constant_character_len): NULL-terminate the
159 character constant string.
160 * data.c (create_character_intializer): Likewise.
161 * expr.c (gfc_simplify_expr): NULL-terminate the substring
162 character constant.
163 * primary.c (match_hollerith_constant): NULL-terminate the
164 character constant string.
165
dd5797cc
PT
1662006-10-31 Paul Thomas <pault@gcc.gnu.org>
167
168 PR fortran/29387
169 * trans-intrinsic.c (gfc_conv_intrinsic_len): Rearrange to have
170 a specific case for EXPR_VARIABLE and, in default, build an ss
171 to call gfc_conv_expr_descriptor for array expressions..
172
173 PR fortran/29490
174 * trans-expr.c (gfc_set_interface_mapping_bounds): In the case
175 that GFC_TYPE_ARRAY_LBOUND is not available, use descriptor
176 values for it and GFC_TYPE_ARRAY_UBOUND.
177
178 PR fortran/29641
179 * trans-types.c (gfc_get_derived_type): If the derived type
180 namespace has neither a parent nor a proc_name, set NULL for
181 the search namespace.
182
9aceacac
TB
1832006-10-30 Tobias Burnus <burnus@net-b.de>
184
185 PR fortran/29452
186 * io.c (check_io_constraints): Fix keyword string comparison.
187
0e697399
AP
1882006-10-30 Andrew Pinski <pinskia@gmail.com>
189
190 PR fortran/29410
191 * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer):
192 Change over to create VIEW_CONVERT_EXPR instead of using an
193 ADDR_EXPR, a cast and then an indirect reference
194
0f8bc3e1
FXC
1952006-10-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
196
197 * trans-intrinsic.c (gfc_conv_intrinsic_loc): Make LOC return a
198 signed integer node.
199
2c693a24
JD
2002006-10-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
201
202 PR fortran/17741
203 * decl.c (get_proc_name): Bump current namespace refs count.
204
a7a53ca5
JJ
2052006-10-29 Jakub Jelinek <jakub@redhat.com>
206
207 PR fortran/29629
208 * trans-openmp.c (gfc_trans_omp_array_reduction): Set attr.flavor
209 of init_val_sym and outer_sym to FL_VARIABLE.
210
37efe9e9
KH
2112006-10-29 Kazu Hirata <kazu@codesourcery.com>
212
213 * intrinsic.texi: Fix a typo.
214
b814a64e 2152006-10-27 Steven G. Kargl <kargl@gcc.gnu.org>
37efe9e9 216
b814a64e
SK
217 * gfortran.h: Remove GFC_MPFR_TOO_OLD.
218 * arith.c (arctangent2): Remove function
219 (gfc_check_real_range): Remove subnormal kludge.
220 * arith.h: Remove arctangent2 prototype.
221 * simplify.c: (gfc_simplify_atan2): Remove use of arctangent2.
222 (gfc_simplify_exponent, gfc_simplify_log, gfc_simplify_nearest,
223 gfc_simplify_rrspacing, gfc_simplify_spacing): Remove mpfr kludges.
224
f1827a8c
TB
2252006-10-28 Tobias Burnus <burnus@net-b.de>
226
227 PR fortran/28224
228 * io.c (check_io_constraints): Allow namelists
229 for internal files for Fortran 2003.
230
a9f6f1f2
JD
2312006-10-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
232
233 PR fortran/27954
234 * decl.c (gfc_free_data_all): New function to free all data structures
235 after errors in DATA statements and declarations.
236 (top_var_list): Use new function.(top_val_list): Use new function.
237 (gfc_match_data_decl): Use new function.
238 * misc.c (gfc_typename): Fixed incorrect function name in error text.
239
b9703d98
EE
2402006-10-24 Erik Edelmann <eedelman@gcc.gnu.org>
241
242 PR fortran/29393
243 * expr.c (simplify_parameter_variable): Keep rank of original
244 expression.
245
c79efc4d
RÁE
2462006-10-23 Rafael Avila de Espindola <rafael.espindola@gmail.com>
247
248 * Make-lang.in (f951$(exeext)): Depend on and link with attribs.o.
249 * trans.h (builtin_function): Rename to gfc_builtin_function.
250 Change the signature.
251 * 95-lang.c (LANG_HOOKS_BUILTIN_FUNCTION): Define as
252 gfc_builtin_function.
253 (builtin_function): Rename to gfc_builtin_function. Move common
254 code to builtin_function.
255 (gfc_define_builtin): Replace calls to builtin_function with
256 gfc_define_builtin.
257
5a0aad31
FXC
2582006-10-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
259
260 PR fortran/26025
261 * lang.opt: Add -fexternal-blas and -fblas-matmul-limit options.
262 * options.c (gfc_init_options): Initialize new flags.
263 (gfc_handle_option): Handle new flags.
264 * gfortran.h (gfc_option): Add flag_external_blas and
265 blas_matmul_limit flags.
266 * trans-expr.c (gfc_conv_function_call): Use new argument
267 append_args, appending it at the end of the argument list
268 built for a function call.
269 * trans-stmt.c (gfc_trans_call): Use NULL_TREE for the new
270 append_args argument to gfc_trans_call.
271 * trans.h (gfc_conv_function_call): Update prototype.
272 * trans-decl.c (gfc_build_intrinsic_function_decls): Add
273 prototypes for BLAS ?gemm routines.
274 * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Generate the
275 extra arguments given to the library matmul function, and give
276 them to gfc_conv_function_call.
277 * invoke.texi: Add documentation for -fexternal-blas and
278 -fblas-matmul-limit.
279
70ec446f
KG
2802006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
281
282 * Make-lang.in (F95_LIBS): Delete.
283 * f951$(exeext): Use $(LIBS) instead of $(F95_LIBS).
284 * config-lang.in (need_gmp): Delete.
285
27ea0360
BM
2862006-10-19 Brooks Moses <bmoses@stanford.edu>
287
288 * invoke.texi: Fixed "denormal" typo.
289
6b591ec0
PT
2902006-10-19 Paul Thomas <pault@gcc.gnu.org>
291
292 PR fortran/29216
293 PR fortran/29314
294 * gfortran.h : Add EXEC_INIT_ASSIGN.
295 * dump-parse-tree.c (gfc_show_code_node): The same.
296 * trans-openmp.c (gfc_trans_omp_array_reduction): Set new
297 argument for gfc_trans_assignment to false.
298 * trans-stmt.c (gfc_trans_forall_1): The same.
299 * trans-expr.c (gfc_conv_function_call, gfc_trans_assign,
300 gfc_trans_arrayfunc_assign, gfc_trans_assignment): The
301 same. In the latter function, use the new flag to stop
302 the checking of the lhs for deallocation.
303 (gfc_trans_init_assign): New function.
304 * trans-stmt.h : Add prototype for gfc_trans_init_assign.
305 * trans.c (gfc_trans_code): Implement EXEC_INIT_ASSIGN.
306 * trans.h : Add new boolean argument to the prototype of
307 gfc_trans_assignment.
308 * resolve.c (resolve_allocate_exp): Replace EXEC_ASSIGN by
309 EXEC_INIT_ASSIGN.
310 (resolve_code): EXEC_INIT_ASSIGN does not need resolution.
311 (apply_default_init): New function.
312 (resolve_symbol): Call it for derived types that become
313 defined but which do not already have an initialization
314 expression..
315 * st.c (gfc_free_statement): Include EXEC_INIT_ASSIGN.
316
02712c16
TB
3172006-10-16 Tobias Burnus <burnus@net-b.de>
318
319 * primary.c: Revert 'significand'-to-'significant' comment change.
320 * invoke.texi (Warning Options): Minor cleanup for
321 -Wimplicit-interface.
322
5b440a1c
PT
3232006-10-17 Paul Thomas <pault@gcc.gnu.org>
324
325 PR fortran/20541
326 * trans-array.c (gfc_trans_array_bounds): Test for and set
327 negative stride of a non-constant bound array to zero.
328
329 PR fortran/29392
330 * data.c (create_character_intializer): Copy and simplify
331 the expressions for the start and end of a sub-string
332 reference.
333
0573fa42
KK
3342006-10-16 Kaz Kojima <kkojima@rr.iij4u.or.jp>
335
336 * io.c (gfc_match_close): Ensure that status is terminated by
337 a NULL element.
338
9aceacac 3392006-10-16 Tobias Burnus <burnus@net-b.de>
fa951694
TB
340
341 * trans-stmt.c: Fix a typo
342 * invoke.texi: Fix typos
343 * resolve.c: Fix a comment typo
344 * trans-decl.c: Fix a comment typo
345 * primary.c: Fix a comment typo
346
ff2c6bbb
SK
3472006-10-15 Steven G. Kargl <kargl@gcc.gnu.org>
348
349 PR fortran/29403
350 * io.c (match_io): Check for a default-char-expr for PRINT format.
351
2e5758e8
BF
3522006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
353
354 PR fortran/24767
355 * lang.opt (Wunused-labels): Remove.
356 * options.c: Remove references to gfc_option.warn_unused_labels.
357 * gfortran.h: Remove variable warn_unused_labels.
358 * resolve.c (warn_unused_fortran_label) : Use warn_unused_label
359 instead of gfc_option.warn_unused_labels.
360 * invoke.texi: Remove documentation of -Wunused-labels.
361
26d29061
TB
3622006-10-14 Tobias Burnus <burnus@net-b.de>
363
364 * gfortran.texi: Add link to GFortran apps
365 * intrinsic.texi: Updated documentation of ACCESS and CHMOD
366
1526c4b5
JD
3672006-10-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
368
369 PR fortran/19261
370 * scanner.c (load_line): Add checks for illegal use of '&' and issue
371 warnings. Issue errors with -pedantic.
372
467f18f3
PT
3732006-10-14 Paul Thomas <pault@gcc.gnu.org>
374
375 PR fortran/29371
376 * trans-expr.c (gfc_trans_pointer_assignment): Add the expression
377 for the assignment of null to the data field to se->pre, rather
378 than block.
379
b2a43373
KH
3802006-10-14 Kazu Hirata <kazu@codesourcery.com>
381
382 * intrinsic.texi: Fix typos.
383 * trans-array.c: Fix a comment typo.
384
cdfd6b4b
BM
3852006-10-13 Brooks Moses <bmoses@stanford.edu>
386
387 * intrinsic.texi (STAT): Reverted a format in example code to
388 octal; noted this in accompanying string.
389
982186b1
PT
3902006-10-13 Paul Thomas <pault@gcc.gnu.org>
391
392 PR fortran/29373
393 * decl.c (get_proc_name, gfc_match_function_decl): Add
394 attr.implicit_type to conditions that throw error for
395 existing explicit interface and that allow new type-
396 spec to be applied.
397
398 PR fortran/29407
399 * resolve.c (resolve_fl_namelist): Do not check for
400 namelist/procedure conflict, if the symbol corresponds
401 to a good local variable declaration.
402
403 PR fortran/27701
404 * decl.c (get_proc_name): Replace the detection of a declared
405 procedure by the presence of a formal argument list by the
406 attributes of the symbol and the presence of an explicit
407 interface.
408
409 PR fortran/29232
410 * resolve.c (resolve_fl_variable): See if the host association
411 of a derived type is blocked by the presence of another type I
412 object in the current namespace.
413
414 PR fortran/29364
415 * resolve.c (resolve_fl_derived): Check for the presence of
416 the derived type for a derived type component.
417
418 PR fortran/24398
419 * module.c (gfc_use_module): Check that the first words in a
420 module file are 'GFORTRAN module'.
421
422 PR fortran/29422
423 * resolve.c (resolve_transfer): Test functions for suitability
424 for IO, as well as variables.
425
426 PR fortran/29428
427 * trans-expr.c (gfc_trans_scalar_assign): Remove nullify of
428 rhs expression.
429
ac677cc8
FXC
4302006-10-13 Francois-Xavier Coudert <coudert@clipper.ens.fr>
431
432 PR fortran/29391
433 * trans-intrinsic.c (gfc_conv_intrinsic_bound): Generate correct
434 code for LBOUND and UBOUND intrinsics.
435
16dbbd99
FXC
4362006-10-13 Francois-Xavier Coudert <coudert@clipper.ens.fr>
437
438 PR fortran/21435
439 * io.c (compare_to_allowed_values): New function.
440 (gfc_match_open): Add checks for constant values of specifiers.
441 (gfc_match_close): Add checks for constant values of the STATUS
442 specifier.
443
68060084
BM
4442006-10-12 Brooks Moses <bmoses@stanford.edu>
445
446 * intrinsic.texi (STAT): Fixed a format typo in sample code.
447
25f32574
BM
4482006-10-12 Brooks Moses <bmoses@stanford.edu>
449
450 * intrinsic.texi (STAT): Shortened lines in sample code.
451
c4632147
TS
4522006-10-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
453
454 * gfortran.h (gfc_show_actual_arglist, gfc_show_array_ref,
455 gfc_show_array_spec, gfc_show_attr, gfc_show_code,
456 gfc_show_components, gfc_show_constructor, gfc_show_equiv,
457 gfc_show_expr, gfc_show_namelist, gfc_show_ref, gfc_show_symbol,
458 gfc_show_typespec): Add prototypes.
459 * dump-parse-tree.c (gfc_show_actual_arglist, gfc_show_array_ref,
460 gfc_show_array_spec, gfc_show_attr, gfc_show_code,
461 gfc_show_components, gfc_show_constructor, gfc_show_equiv,
462 gfc_show_expr, gfc_show_namelist, gfc_show_ref, gfc_show_symbol,
463 gfc_show_typespec): Remove 'static' from declaration.
464
8556236b
BM
4652006-10-10 Brooks Moses <bmoses@stanford.edu>
466
467 * invoke.texi, gfortran.texi: Corrected erronous dashes.
468
b5422ad7
BM
4692006-10-10 Brooks Moses <bmoses@stanford.edu>
470
471 * Make-lang.in: Added "fortran.pdf", "gfortran.pdf" target
472 support.
473
21825fd6
DF
4742006-10-10 Daniel Franke <franke.daniel@gmail.com>
475
476 * intrinsic.texi: added documentation for FSTAT, GETARG,GET_COMMAND,
477 GET_COMMAND_ARGUMENT, GETENV, GET_ENVIRONMENT_VARIABLE, IAND, IARGC,
478 LSTAT and STAT, removed the reference to PR19292 from ACCESS, CHMOD,
479 GMTIME, LSHIFT, LTIME, RSHIFT.
480
be6c4709 4812006-10-10 Brooks Moses <bmoses@stanford.edu>
175ff229 482
be6c4709 483 * gfortran.texi (Standards): Update to current status.
12923cd1
BM
484
4852006-10-09 Brooks Moses <bmoses@stanford.edu>
486
487 * Make-lang.in: Added intrinsic.texi to GFORTRAN_TEXI
2e582661
BM
488 dependences.
489
3d614c74
BM
4902006-10-09 Brooks Moses <bmoses@stanford.edu>
491
be6c4709 492 * intrinsic.texi (MOVE_ALLOC): changed "Options" to "Standards".
3d614c74 493
cc6d3bde
SK
4942006-10-09 Steven G. Kargl <kargl@gcc.gnu.org>
495
496 * gfortran.h: Define GFC_MPFR_TOO_OLD via mpfr version info.
497 * arith.c (arctangent, gfc_check_real_range): Use it.
498 * simplify.c (gfc_simplify_atan2, gfc_simplify_exponent,
499 gfc_simplify_log, gfc_simplify_nearest): Use it.
500
501 PR fortran/15441
502 PR fortran/29312
503 * iresolve.c (gfc_resolve_rrspacing): Give rrspacing library
504 routine hidden precision argument.
505 (gfc_resolve_spacing): Give spacing library routine hidden
506 precision, emin - 1, and tiny(x) arguments.
507 * simplify.c (gfc_simplify_nearest): Remove explicit subnormalization.
508 (gfc_simplify_rrspacing): Implement formula from Fortran 95 standard.
509 (gfc_simplify_spacing): Implement formula from Fortran 2003 standard.
510 * trans-intrinsic.c (gfc_intrinsic_map_t) Declare rrspacing and
511 spacing via LIBF_FUNCTION
512 (prepare_arg_info, call_builtin_clz, gfc_conv_intrinsic_spacing,
513 gfc_conv_intrinsic_rrspacing): Remove functions.
514 (gfc_conv_intrinsic_function): Remove calls to
515 gfc_conv_intrinsic_spacing and gfc_conv_intrinsic_rrspacing.
516 * f95-lang.c (gfc_init_builtin_functions): Remove __builtin_clz,
517 __builtin_clzl and __builtin_clzll
518
a98d4769
RH
5192006-10-09 Richard Henderson <rth@redhat.com>
520
521 Revert emutls patch.
522
8d2c2905
FXC
5232006-10-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
524
525 * intrinsic.c (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s,
526 add_sym_4s, add_sym_5s, add_functions): Use macro ACTUAL_NO,
527 ACTUAL_YES, NOT_ELEMENTAL and ELEMENTAL instead of constants
528 0 and 1 as second and third arguments to add_sym* functions.
529
5046aff5
PT
5302006-10-08 Erik Edelmann <edelmann@gcc.gnu.org>
531 Paul Thomas <pault@gcc.gnu.org>
532
533 PR fortran/20541
534 * interface.c (gfc_compare_derived_types): Add comparison of
535 the allocatable field.
536 * intrinsic.c (add_subroutines): Add MOVE_ALLOC.
537 * trans-expr.c (gfc_conv_aliased_arg, gfc_trans_subarray_assign,
538 gfc_trans_subcomponent_assign, gfc_conv_string_parameter,
539 gfc_trans_scalar_assign): Add extra arguments l_is_temp
540 and r_is_var to references to latter function.
541 (gfc_conv_function_call): Add enum for types of argument and
542 an associated variable parm_kind. Deallocate components of
543 INTENT(OUT) and non-variable arrays.
544 (gfc_trans_subcomponent_assign): Add block to assign arrays
545 to allocatable components.
546 (gfc_trans_scalar_assign): Add block to handle assignments of
547 derived types with allocatable components, using the above new
548 arguments to control allocation/deallocation of memory and the
549 copying of allocated arrays.
550 * trans-array.c (gfc_array_allocate): Remove old identification
551 of pointer and replace with that of an allocatable array. Add
552 nullify of structures with allocatable components.
553 (gfc_conv_array_initializer): Treat EXPR_NULL.
554 (gfc_conv_array_parameter): Deallocate allocatable components
555 of non-variable structures.
556 (gfc_trans_dealloc_allocated): Use second argument of library
557 deallocate to inhibit, without error, freeing NULL pointers.
558 (get_full_array_size): New function to return the size of a
559 full array.
560 (gfc_duplicate_allocatable): New function to allocate and copy
561 allocated data.
562 (structure_alloc_comps): New recursive function to deallocate,
563 nullify or copy allocatable components.
564 (gfc_nullify_alloc_comp, gfc_deallocate_alloc_comp,
565 gfc_copy_alloc_comp): New interface functions to call previous.
566 (gfc_trans_deferred_array): Add the code to nullify allocatable
567 components, when entering scope, and to deallocate them on
568 leaving. Do not call gfc_trans_static_array_pointer and return
569 for structures with allocatable components and default
570 initializers.
571 * symbol.c (gfc_set_component_attr): Set allocatable field.
572 (gfc_get_component_attr): Set the allocatable attribute.
573 * intrinsic.h : Prototype for gfc_check_move_alloc.
574 * decl.c (build_struct): Apply TR15581 constraints for
575 allocatable components.
576 (variable_decl): Default initializer is always NULL for
577 allocatable components.
578 (match_attr_spec): Allow, or not, allocatable components,
579 according to the standard in force.
580 * trans-array.h : Prototypes for gfc_nullify_alloc_comp,
581 gfc_deallocate_alloc_comp, gfc_copy_alloc_comp and
582 gfc_duplicate_allocatable.
583 * gfortran.texi : Add mention of TR15581 extensions.
584 * gfortran.h : Add attribute alloc_comp, add
585 gfc_components field allocatable and add the prototype
586 for gfc_expr_to_initialize.
587 * trans-stmt.c (generate_loop_for_temp_to_lhs,
588 generate_loop_for_rhs_to_temp, gfc_trans_where_assign,
589 gfc_trans_where_3): Add extra arguments to calls to
590 gfc_trans_scalar_assign and set appropriately.
591 (gfc_trans_allocate): Nullify allocatable components.
592 (gfc_trans_deallocate): Deallocate to ultimate allocatable
593 components but stop at ultimate pointer components.
594 * module.c (mio_symbol_attribute, mio_symbol_attribute,
595 mio_component): Add module support for allocatable
596 components.
597 * trans-types.c (gfc_get_derived_type): Treat allocatable
598 components.
599 * trans.h : Add two boolean arguments to
600 gfc_trans_scalar_assign.
601 * resolve.c (resolve_structure_cons): Check conformance of
602 constructor element and the component.
603 (resolve_allocate_expr): Add expression to nullify the
604 constructor expression for allocatable components.
605 (resolve_transfer): Inhibit I/O of derived types with
606 allocatable components.
607 (resolve_fl_derived): Skip check of bounds of allocatable
608 components.
609 * trans-decl.c (gfc_get_symbol_decl): Add derived types
610 with allocatable components to deferred variable.
611 (gfc_trans_deferred_vars): Make calls for derived types
612 with allocatable components to gfc_trans_deferred_array.
613 (gfc_generate_function_code): Nullify allocatable
614 component function result on entry.
615 * parse.c (parse_derived): Set symbol attr.allocatable if
616 allocatable components are present.
617 * check.c (gfc_check_allocated): Enforce attr.allocatable
618 for intrinsic arguments.
619 (gfc_check_move_alloc): Check arguments of move_alloc.
620 * primary.c (gfc_variable_attr): Set allocatable attribute.
621 * intrinsic.texi : Add index entry and section for
622 for move_alloc.
623
6242006-10-08 Paul Thomas <pault@gcc.gnu.org>
625
626 PR fortran/29115
627 * resolve.c (resolve_structure_cons): It is an error if the
628 pointer component elements of a derived type constructor are
629 not pointer or target.
630
631
632 PR fortran/29211
633 * trans-stmt.c (generate_loop_for_temp_to_lhs,
634 generate_loop_for_rhs_to_temp): Provide a string length for
635 the temporary by copying that of the other side of the scalar
636 assignment.
637
bec93d79
TB
6382006-10-08 Tobias Burnus <burnus@net-b.de>
639
640 PR fortran/28585
641 * intrinsic.c (add_functions): Add new_line Fortran 2003 intrinsic.
642 * intrinsic.h: Add gfc_simplify_new_line and gfc_check_new_line
643 prototypes.
644 * check.c (gfc_check_new_line): New function.
645 * simplify.c (gfc_simplify_new_line): New function.
646 * intrinsic.texi: Document new_line intrinsic.
647
0e7e7e6e
FXC
6482006-10-07 Francois-Xavier Coudert <coudert@clipper.ens.fr>
649
650 PR fortran/16580
651 PR fortran/29288
652 * gcc/fortran/intrinsic.c (add_sym): Define the actual_ok when a
653 gfc_intrinsic_sym structure is filled.
654 (gfc_intrinsic_actual_ok): New function.
655 (add_sym_0s, add_sym_1s, add_sym_2s, add_sym_3s, add_sym_4s,
656 add_sym_5s): Intrinsic subroutines are not allowed as actual
657 arguments, so we remove argument actual_ok.
658 (add_functions): Correct the values for actual_ok of all intrinsics.
32a126b2 659 Add comments for gfc_check_access_func and gfc_resolve_index_func.
0e7e7e6e
FXC
660 (add_subroutines): Remove the actual_ok argument, which was never used.
661 * gcc/fortran/intrinsic.h (gfc_intrinsic_actual_ok): New prototype.
662 * gcc/fortran/gfortran.h (gfc_resolve_index_func): New prototype.
663 * gcc/fortran/resolve.c (resolve_actual_arglist): Check whether
664 an intrinsic used as an argument list is allowed there.
665 * gcc/fortran/iresolve.c (gfc_resolve_index_func): New function.
666 (gfc_resolve_len): Change intrinsic function name to agree with
667 libgfortran.
668 * gcc/fortran/trans-decl.c (gfc_get_extern_function_decl): Add
669 new case, because some specific intrinsics take 3 arguments.
670 * gcc/fortran/intrinsic.texi: DIMAG is a GNU extension.
671
0d3abf6f
JJ
6722006-10-06 Jakub Jelinek <jakub@redhat.com>
673
9eccb94d
JJ
674 PR fortran/28415
675 * trans-decl.c (gfc_finish_var_decl): With -fno-automatic, don't
676 make artificial variables or pointer to variable automatic array
677 TREE_STATIC.
678
0d3abf6f
JJ
679 * scanner.c (skip_free_comments): Return bool instead of void.
680 (gfc_next_char_literal): Don't return ' ' if & is missing after
681 !$omp or !$. Use skip_{free,fixed}_comments directly instead
682 of gfc_skip_comments.
683
cf822c04
BM
6842006-10-04 Brooks Moses <bmoses@stanford.edu>
685
686 * gfortran.texi: (Current Status): update and rewrite to reflect
687 actual status more accurately.
688
7fc15ba5
BM
6892006-10-04 Brooks Moses <bmoses@stanford.edu>
690
691 * gfortran.texi: Consistently refer to the compiler as "GNU
692 Fortran".
693 * intrinsic.texi: Ditto.
694 * invoke.texi: Ditto.
695
e701a32a
RH
6962006-10-04 Richard Henderson <rth@redhat.com>
697 Jakub Jelinek <jakub@redhat.com>
698
699 * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
700 and __emutls_register_common.
701 * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
702 * trans-common.c (build_common_decl): Don't check have_tls.
703 * trans-decl.c (gfc_finish_var_decl): Likewise.
704 * types.def (BT_WORD, BT_FN_PTR_PTR): New.
705 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
706
25e8cb2e
PT
7072006-10-04 Paul Thomas <pault@gcc.gnu.org>
708
709 PR fortran/29343
710 * resolve.c (resolve_allocate_expr): Exclude derived types from
711 search for dependences between allocated variables and the
712 specification expressions for other allocations in the same
713 statement.
714
404d8401
PT
7152006-10-04 Paul Thomas <pault@gcc.gnu.org>
716
717 PR fortran/29098
718 * resolve.c (resolve_structure_cons): Do not return FAILURE if
719 component expression is NULL.
720
77726571
PT
7212006-10-03 Paul Thomas <pault@gcc.gnu.org>
722
723 PR fortran/20779
724 PR fortran/20891
725 * resolve.c (find_sym_in_expr): New function that returns true
726 if a symbol is found in an expression.
727 (resolve_allocate_expr): Check whether the STAT variable is
728 itself allocated in the same statement. Use the call above to
729 check whether any of the allocated arrays are used in array
730 specifications in the same statement.
731
77b558e2
SK
7322006-10-03 Steven G. Kargl <kargl@gcc.gnu.org>
733
734 * arith.c (gfc_check_real_range): Use correct exponent range for
735 subnormal numbers.
736
5be38273
PT
7372006-10-03 Paul Thomas <pault@gcc.gnu.org>
738
739 PR fortran/29284
740 PR fortran/29321
741 PR fortran/29322
742 * trans-expr.c (gfc_conv_function_call): Check the expression
743 and the formal symbol are present when testing the actual
744 argument.
745
746 PR fortran/25091
747 PR fortran/25092
748 * resolve.c (resolve_entries): It is an error if the entries
749 of an array-valued function do not have the same shape.
750
c55cebda
FXC
7512006-10-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
752
753 PR middle-end/27478
754 * trans-decl.c (gfc_get_fake_result_decl): Mark var as
755 TREE_ADDRESSABLE.
756
5a06474c
JD
7572006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
758
c55cebda
FXC
759 PR fortran/19262
760 * gfortran.h (gfc_option_t): Add max_continue_fixed and
761 max_continue_free.
762 * options.c (gfc_init_options): Initialize fixed form and free form
763 consecutive continuation line limits.
764 * scanner.c (gfc_scanner_init_1): Initialize continue_line
765 and continue_count. (gfc_next_char_literal): Count the number of
766 continuation lines in the current statement and warn if limit
767 is exceeded.
5a06474c
JD
768
7692006-10-02 Jerry DeLisle <jvdelisle@gcc.gnu.org>
770
c55cebda
FXC
771 PR fortran/19260
772 * scanner.c (gfc_next_char_literal): Add check for missing '&'
773 and warn if in_string, otherwise return ' '.
5a06474c 774
e227ac57
FXC
7752006-10-02 Francois-Xavier Coudert <coudert@clipper.ens.fr>
776
777 PR fortran/29210
778 * primary.c (match_sym_complex_part): Named constants as real or
779 imaginary part of complex a named constant are only allowed in
780 Fortran 2003.
781
3397327c
BM
7822006-10-01 Brooks Moses <bmoses@stanford.edu>
783
784 * gfortran.texi: Corrected references to MALLOC intrinsic.
785 * invoke.texi: Minor cleanup and clarification to the Dialect
786 Options section.
787
da1e2517
BM
7882006-09-30 Brooks Moses <bmoses@stanford.edu>
789
790 * invoke.texi: Add mention of BOZ constants and integer
791 overflow to -fno-range-check.
792 * gfortran.texi: Add mention of -fno-range-check to
793 section on BOZ contants.
794
05c1e3a7
BF
7952006-09-30 Bernhard Fischer <aldot@gcc.gnu.org>
796
797 * resolve.c: Fix commentary typo. Fix whitespace.
798
a40e443f
SK
7992006-09-28 Steven G. Kargl <kargl@gcc.gnu.org>
800
801 fortran/29147
802 * arith.c (gfc_check_integer_range): Disable range checking via
803 -fno-range-check.
804
48c7b142
SK
8052006-09-28 Steven G. Kargl <kargl@gcc.gnu.org>
806
807 * arith.c: Change conditional test for inclusion of arctangent().
808 (gfc_check_real_range): Change conditional test for use of
809 mpfr_subnormalize.
810 * simplify.c (gfc_simplify_atan2): Fix conditional for use of
811 mpfr_atan2() instead of arctangent().
812 (gfc_simplify_exponent): Fix conditional for use of mpfr_get_exp().
813 (gfc_simplify_log): Fix conditional for use of mpfr_atan2() instead
814 of arctangent().
815 (gfc_simplify_nearest): Fix conditional for use of mpfr_nextafter().
816
e48d66a9
SK
8172006-09-27 Steven G. Kargl <kargl@gcc.gnu.org>
818
819 * arith.c: Conditionally include arctangent2().
820 (gfc_check_real_range): Use mpfr_subnormalize in preference to local
821 hack.
822 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl): Append
823 l for long double functions.
824 * simplify.c: Wrap Copyright to new line.
825 (gfc_simplify_atan2): Use mpfr_atan2 in preference to arctangent2().
e701a32a 826 (gfc_simplify_log): Ditto.
e48d66a9
SK
827
828
829 PR fortran/28276
830 * simplify.c (gfc_simplify_exponent): Use mpfr_get_exp in
831 preference to broken local hack.
832
833 PR fortran/27021
834 * simplify.c (gfc_simplify_nearest): Use mpfr_nexttoward and
835 mpfr_subnormalize to handle numbers near zero in preference to broken
836 local hack.
837
9b9e4cd6
JJ
8382006-09-26 Jakub Jelinek <jakub@redhat.com>
839
840 PR fortran/29097
841 * scanner.c (include_line): Handle conditional include.
842
582df53e 8432006-09-25 Tobias Schluter <tobias.schlueter@physik.uni-muenchen.de>
fc29d5c4
TS
844
845 PR fortran/21203
846 * error.c (show_loci): No need to risk an ICE to output a
847 slightly nicer error message.
848
dc6c7714
PT
8492006-09-19 Paul Thomas <pault@gcc.gnu.org>
850 Steven Bosscher <steven@gcc.gnu.org>
851
852 PR fortran/29101
853 * trans-stmt.c (gfc_trans_character_select): Store the label
854 from select_string and then clean up any temporaries from the
855 conversion of the select expression, before branching to the
856 selected case.
857
fd2aa7ad
PT
8582006-09-18 Paul Thomas <pault@gcc.gnu.org>
859
860 PR fortran/28526
861 * primary.c (match_variable): If the compiler is in a module
862 specification block, an interface block or a contains section,
863 reset host_flag to force the changed symbols mechanism.
864
865 PR fortran/29101
866 * trans-stmt.c (gfc_trans_character_select): Add the post block
867 for the expression to the main block, after the call to
868 select_string and the last label.
869
80f2bb6e
PT
8702006-09-18 Paul Thomas <pault@gcc.gnu.org>
871
872 PR fortran/29060
873 * iresolve.c (resolve_spread): Build shape for result if the
874 source shape is available and dim and ncopies are constants.
875
876