]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / gcc / fortran / ChangeLog
CommitLineData
5be014d5
AP
12007-06-15 Andrew Pinski <andrew_pinski@playstation.sony.com>
2
3 * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
4 POINTER_PLUS_EXPR instead of PLUS_EXPR for pointer addition.
5 * trans-expr.c (gfc_trans_string_copy): Create
6 POINTER_PLUS_EXPR instead of a PLUS_EXPR
7 for pointer types.
8
d8158369
PT
92007-06-14 Paul Thomas <pault@gcc.gnu.org>
10
11 PR fortran/32302
12 * trans-common.c (build_common_decl): If resizing of common
13 decl is needed, update the TREE_TYPE.
14
59be8071
TB
152007-06-13 Tobias Burnus <burnus@net-b.de>
16
17 PR fortran/32323
18 * interface.c (has_vector_section): New.
19 (compare_actual_formal): Check for array sections with vector subscript.
20
8c8fa927
DM
212007-06-12 Dirk Mueller <dmueller@suse.de>
22
fc78ca2b 23 * trans-stmt.c (gfc_trans_call): fix gcc_assert to
8c8fa927
DM
24 a comparison, not an assignment.
25
f84c7ed9
PT
262007-06-12 Paul Thomas <pault@gcc.gnu.org>
27
28 * trans-common.c (create_common): Initialize 'field_init'.
29
9d99ee7b
PT
302007-06-12 Paul Thomas <pault@gcc.gnu.org>
31
32 PR fortran/29786
33 PR fortran/30875
34 * trans-common.c (get_init_field): New function.
35 (create_common): Call get_init_field for overlapping
36 initializers in equivalence blocks.
37 * resolve.c (resolve_equivalence_derived, resolve_equivalence):
38 Remove constraints on initializers in equivalence blocks.
39 * target-memory.c (expr_to_char, gfc_merge_initializers):
40 New functions.
41 (encode_derived): Add the bit offset to the byte offset to get
42 the total offset to the field.
43 * target-memory.h : Add prototype for gfc_merge_initializers.
44
b0464c88
RE
452007-06-11 Rafael Avila de Espindola <espindola@google.com>
46
47 * trans-types.c (gfc_signed_type): Remove.
48 * trans-types.h (gfc_signed_type): Remove.
49 * f95-lang.c (LANG_HOOKS_SIGNED_TYPE): Remove.
50
2dbc83d9
FXC
512007-06-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
52
53 * trans-intrinsic.c: Revert Lee's 2007-06-04 patch.
54
a88a266c
SK
552007-06-07 Steven G. Kargl <kargl@gcc.gnu.org>
56 Jerry DeLisle <jvdelisle@gcc.gnu.org>
57
58 PR fortran/32223
59 * match.c (gfc_match_special_char): New function. Match special char.
60 Add handling '\0'.
61 * match.h: Add prototype.
62 * io.c (next_char): Use it.
63 * primary.c (next_string_char): Ditto.
64
66e4ab31
SK
652007-06-06 Steven G. Kargl <kargl@gcc.gnu.org>
66
67 * decl.c: Miscellaneous whitespace fixes.
68 * expr.c: Likewise.
69 * gfortran.h: Likewise.
70 * interface.c : Likewise.
71 * io.c: Likewise.
72 * match.c: Likewise.
73 * match.h: Likewise.
74 * module.c: Likewise.
75 * parse.c: Likewise.
76 * resolve.c: Likewise.
77 * symbol.c: Likewise.
78 * trans-array.c: Likewise.
79 * trans-common.c: Likewise.
80 * trans-decl.c: Likewise.
81 * trans-intrinsic.c: Likewise.
82 * trans-io.c: Likewise.
83 * trans-stmt.c: Likewise.
84 * trans-types.c: Likewise.
85
de893677
JD
862007-06-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
87
88 PR fortran/18923
89 * parse.c (decode_statement): Don't call gfc_undo_symbols on MATCH_ERROR
90 for ST_FUNCTION since it is called in reject_statement.
91 (parse_contained): If error, loop back after reject_statement and try
92 again. Free the namespace if an error occured.
93
8374844f
LM
942007-06-04 Lee Millward <lee.millward@codesourcery.com>
95
96 * trans-intrinsic.c (gfc_conv_intrinsic_function_args): Adjust
97 to operate on a stack allocated array for the intrinsic arguments
98 instead of creating a TREE_LIST. Add two new parameters for the
99 array and the number of elements. Update all callers to allocate
100 an array of the correct length to pass in. Update comment.
101 (gfc_intrinsic_argument_list_length): New function.
102 (gfc_conv_intrinsic_mnimax): Call it.
103 (gfc_conv_intrinsic_merge): Likewise.
104 (gfc_conv_intrinsic_lib_function): Call it. Use new CALL_EXPR
105 constructors.
106 (gfc_conv_intrinsic_cmplx): Likewise.
107 (gfc_conv_intrinsic_ctime): Likewise.
108 (gfc_covn_intrinsic_fdate): Likewise.
109 (gfc_conv_intrinsic_ttynam): Likewise.
110 (gfc_conv_intrinsic_ishftc): Likewise.
111 (gfc_conv_intrinsic_index): Likewise.
112 (gfc_conv_intrinsic_scan): Likewise.
113 (gfc_conv_intrinsic_verify): Likewise.
114 (gfc_conv_intrinsic_trim): Likewise.
115 (gfc_conv_intrinsic_aint): Use new CALL_EXPR constructors.
116 (gfc_conv_intrinsic_exponent): Likewise.
117 (gfc_conv_intrinsic_bound): Likewise.
118 (gfc_conv_intrinsic_abs): Likewise.
119 (gfc_conv_intrinsic_mod): Likewise.
120 (gfc_conv_intrinsic_sign): Likewise.
121 (gfc_conv_intrinsic_len): Likewise.
122 (gfc_conv_intrinsic_adjust): Likewise.
123 (gfc_conv_intrinsic_si_kind): Likewise.
124
bd075cf2
SE
1252007-06-04 Steve Ellcey <sje@cup.hp.com>
126
127 * trans-array.c (gfc_conv_array_parameter): Initialize tmp.
128
ac816b02
RG
1292007-05-31 Richard Guenther <rguenther@suse.de>
130
131 * trans-expr.c (gfc_conv_expr_op): Use zero constant
132 that matches the lse type.
133 (gfc_trans_string_copy): Use sizetype zero constant.
134 * intrinsic.c (add_functions): The sizeof intrinsic has
135 index type result.
136 * trans-types.c (gfc_get_dtype): Convert size to index
137 type before shifting.
138 * trans-array.c (gfc_trans_array_constructor_value): Use
139 index type for offset computation.
140 * trans-intrinsic.c (gfc_conv_associated): Use correct type
141 for zero constant.
142
4fcc9944
AS
1432007-05-31 Paul Thomas <pault@gcc.gnu.org>
144
cba83c6f
PT
145 PR fortran/32156
146 * trans-array.c (gfc_trans_array_constructor): Treat the case
147 where the ss expression charlen is missing.
148
14922007-05-31 Paul Thomas <pault@gcc.gnu.org>
150
4fcc9944
AS
151 PR fortran/32103
152 * module.c (mio_symtree_ref): If an equivalence group member
153 is not used, give it a hidden symbol and set the pointer_info.
154 (load_equiv): Only free the equivalence if none of the members
155 are used.
156
1572007-05-29 Daniel Franke <franke.daniel@gmail.com>
cd5ecab6
DF
158
159 * gfortran.h: Renamed 'enum gfc_generic_isym_id' to 'enum gfc_isym_id',
160 added missing GFC_ISYM_* enumerators, ordered alphabetically.
161 (struct gfc_intrinsic_sym): Renamed 'generic_id' to 'id'.
162 (gfc_find_subroutine): New prototype.
163 * intrinsic.c (add_sym, add_sym_*): Added argument 'id' and changed all callers.
164 (find_subroutine): Renamed to 'gfc_find_subroutine', removed static.
165 * dependency.c: Changed usage of isym->generic_id to isym->id.
166 * openmp.c: Likewise.
167 * resolve.c: Likewise.
168 * trans-array.c: Likewise.
169 * trans-expr.c: Likewise.
170 * trans-intrinsic.c: Likewise.
171 * trans-openmp.c: Likewise.
172
4fcc9944 1732007-05-28 Tobias Schlüter <tobi@gcc.gnu.org>
fd2157ce
TS
174
175 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SIZEOF.
176 * intrinsic.c (add_functions): Add stuff for SIZEOF intrinsic.
177 * intrinsic.h (gfc_check_sizeof): Add prototype of ...
178 * check.c (gfc_check_sizeof): .. new function.
179 * trans-intrinsic.c (gfc_conv_intrinsic_sizeof): New function.
180 (gfc_conv_intrinsic_strcmp): Whitespace fix.
181 (gfc_conv_intrinsic_array_transfer): Remove double initialization,
182 use fold_build. where appropriate.
183 (gfc_conv_intrinsic_function): Add case for SIZEOF.
184 * intrinsic.texi: Add documentation for SIZEOF.
185
3e90ac4e
BM
1862007-05-28 Brooks Moses <brooks.moses@codesourcery.com>
187
188 * trans-array.c (gfc_conv_expr_descriptor): Edit comment.
189
3b45d6c4
BM
1902007-05-28 Brooks Moses <brooks.moses@codesourcery.com>
191
f4297ddc 192 PR fortran/31972
3b45d6c4
BM
193 * target-memory.c (gfc_target_expr_size): Add handling
194 for size of BT_HOLLERITH variables.
195 * check.c (gfc_check_transfer): Reject BT_HOLLERITH
196 variables in MOLD argument of TRANSFER.
197
3366c30b 1982007-05-28 Brooks Moses <brooks.moses@codesourcery.com>
20585ad6
BM
199
200 * gfortran.h (gfc_expr): Remove from_H, add "representation"
201 struct.
202 * primary.c (match_hollerith_constant): Store the representation
203 of the Hollerith in representation, not in value.character.
204 * arith.c: Add dependency on target-memory.h.
205 (eval_intrinsic): Remove check for from_H.
206 (hollerith2representation): New function.
207 (gfc_hollerith2int): Determine value of the new constant.
208 (gfc_hollerith2real): Likewise.
209 (gfc_hollerith2complex): Likewise.
210 (gfc_hollerith2logical): Likewise.
211 (gfc_hollerith2character): Point both representation.string and
212 value.character.string at the value string.
213 * data.c (create_character_initializer): For BT_HOLLERITH
214 rvalues, get the value from the representation rather than
215 value.character.
216 * expr.c (free_expr0): Update handling of BT_HOLLERITH values
217 and values with representation.string.
218 (gfc_copy_expr): Likewise.
219 * intrinsic.c (do_simplify): Remove special treatement of
220 variables resulting from Hollerith constants.
221 * dump-parse-trees.c (gfc_show_expr): Update handling of
222 Holleriths.
223 * trans-const.c (gfc_conv_constant_to_tree): Replace from_H
224 check with check for representation.string; get Hollerith
225 representation from representation.string, not value.character.
226 * trans-expr.c (is_zero_initializer_p): Replace from_H check
227 with check for representation.string.
228 * trans-stmt.c (gfc_trans_integer_select): Use
229 gfc_conv_mpz_to_tree for case values, so as to avoid picking up
230 the memory representation if the case is given by a transfer
231 expression.
232 * target-memory.c (gfc_target_encode_expr): Use the known memory
233 representation rather than the value, if it exists.
234 (gfc_target_interpret_expr): Store the memory representation of
235 the interpreted expression as well as its value.
236 (interpret_integer): Move to gfc_interpret_integer, make
237 non-static.
238 (interpret_float): Move to gfc_interpret_float, make non-static.
239 (interpret_complex): Move to gfc_interpret_complex, make
240 non-static.
241 (interpret_logical): Move to gfc_interpret_logical, make
242 non-static.
243 (interpret_character): Move to gfc_interpret_character, make
244 non-static.
245 (interpret_derived): Move to gfc_interpret_derived, make
246 non-static.
247 * target-memory.h: Add prototypes for newly-exported
248 gfc_interpret_* functions.
249
b16cc039
JD
2502007-05-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
251
252 PR fortran/31812
253 * parse.c (next_statement): Warn for truncated lines if source is free
254 form.
255
c2de0c19
TB
2562007-05-27 Paul Thomas <pault@gcc.gnu.org>
257 Tobias Burnus <burnus@net-b.de>
258
259 PR fortran/32088
260 * symbol.c (gfc_check_function_type): Copy dimensions of
261 result variable.
262 * resolve.c (resolve_contained_fntype): Improve symbol output in
263 the error message.
264
a383cfa3
JD
2652007-05-26 Jerry DeLisle <jvdelisle@gcc.gnu.org>
266
267 PR fortran/31813
268 * io.c (check_format): Add warning for H specifier in format.
269
a0cb58b2
TB
2702007-05-26 Tobias Burnus <burnus@net-b.de>
271
272 * gfortran.texi: Document the GFORTRAN_ERROR_DUMPCORE and
273 GFORTRAN_ERROR_BACKTRACE environment variables.
274
0ee8e250
PT
2752007-05-26 Paul Thomas <pault@gcc.gnu.org>
276
277 PR fortran/31219
278 * trans.h : Add no_function_call bitfield to gfc_se structure.
279 Add stmtblock_t argument to prototype of get_array_ctor_strlen.
280 * trans-array.c (get_array_ctor_all_strlen): New function.
281 (get_array_ctor_strlen): Add new stmtblock_t argument and call
282 new function for character elements that are not constants,
283 arrays or variables.
284 (gfc_conv_array_parameter): Call get_array_ctor_strlen to get
285 good string length.
286 * trans-intrinsic (gfc_conv_intrinsic_len): Add new argument
287 to call of get_array_ctor_strlen.
288
b6dcc314
KH
2892007-05-25 Kazu Hirata <kazu@codesourcery.com>
290
291 * intrinsic.texi: Fix typos.
292
36032710
PT
2932007-05-25 Paul Thomas <pault@gcc.gnu.org>
294
295 PR fortran/32047
296 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Change
297 order in logic under EXPR_FUNCTION to handle functions with
298 no arguments.
299
1505f3b5
JD
3002007-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
301
302 PR fortran/31716
303 * array.c (spec_dimen_size): Test for correct BT_INTEGER type.
304
7c57b2f1
FXC
3052007-05-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
306
307 PR fortran/32046
308 * trans-expr.c (gfc_trans_zero_assign): Convert the result of
309 TYPE_SIZE_UNIT into a signed type.
310 (gfc_trans_array_copy): Likewise.
311 (gfc_trans_array_constructor_copy): Likewise.
312 * trans-array.c (gfc_trans_create_temp_array): Likewise.
313 (gfc_grow_array): Likewise.
314 (gfc_array_init_size): Likewise.
315 (gfc_duplicate_allocatable): Likewise.
316 * trans-stmt.c (allocate_temp_for_forall_nest_1): Likewise.
317
24016fdb
JD
3182007-05-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
319
320 PR fortran/18923
321 * resolve.c (resolve_function): Don't call resolve_global_procedure if
322 there is no name. Delete duplicated statement in ELSE clause.
323
c099916d
FXC
3242007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
325
326 PR fortran/31627
327 * trans-array.c (gfc_trans_array_bound_check): Take extra argument to
328 indicate whether we should check the upper bound in that dimension.
329 (gfc_conv_array_index_offset): Check only the lower bound of the
330 last dimension for assumed-size arrays.
331 (gfc_conv_array_ref): Likewise.
332 (gfc_conv_ss_startstride): Likewise.
333
24016fdb 3342007-05-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1b35264f
DF
335 Daniel Franke <franke.daniel@gmail.com>
336
337 PR fortran/32002
338 * resolve.c (resolve_actual_arglist): Resolve actual argument after
339 being identified as variable.
340
244974bd
FXC
3412007-05-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
342
343 PR fortran/32027
344 * trans-stmt.c (gfc_trans_do): Fix the value of loop variable
345 when the loop ends.
346
76dac339
L
3472007-05-21 H.J. Lu <hongjiu.lu@intel.com>
348
349 * trans-stmt.c (gfc_trans_do): Fix a typo in comment.
350
c4ba8848
PT
3512007-05-21 Paul Thomas <pault@gcc.gnu.org>
352
353 PR fortran/31867
354 PR fortran/31994
355 * trans-array.c (gfc_conv_expr_descriptor): Obtain the stored
356 offset for non-descriptor, source arrays and correct for stride
357 not equal to one before writing to field of output descriptor.
358
6495bc0b
DF
3592007-05-20 Daniel Franke <franke.daniel@gmail.com>
360
361 PR fortran/32001
362 * check.c (check_rest): Improved argument conformance check and
363 fixed error message generation.
364
4e7cb428
FXC
3652007-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
366
367 PR fortran/30820
368 * Make-lang.in: Remove use of -Wno-error for expr.o, resolve.o,
369 simplify.o and trans-common.o.
370
61f70bf2
FXC
3712007-05-19 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
372
373 PR fortran/31974
374 * trans-array.c (gfc_trans_auto_array_allocation): Avoid
375 multiplication of mismatched types.
376
661051aa
DF
3772007-05-18 Daniel Franke <franke.daniel@gmail.com>
378
379 PR fortran/24633
380 * symbol.c (gfc_add_flavor): Add the NAME to error message if
381 available.
382
0881653c
DF
3832007-05-15 Daniel Franke <franke.daniel@gmail.com>
384
385 PR fortran/31919
386 PR fortran/31929
387 PR fortran/31930
388 * intrinsic.c (check_specific): Check elemental intrinsics for
389 rank and shape.
390 (add_functions): Fixed dummy argument names of BESJN and BESYN.
391 Fixed elemental status of MCLOCK and MCLOCK8.
392 * check.c (check_rest): Added check for array conformance.
393 (gfc_check_merge): Removed check for array conformance.
394 (gfc_check_besn): Removed check for scalarity.
395 * intrinsic.texi (CSHIFT, EOSHIFT): Fixed typos.
396 (BESJN, BESYN): Clarified documentation.
397
1941551a
TB
3982007-05-17 Tobias Burnus <burnus@net-b.de>
399
400 * gfortran.texi (GFORTRAN_CONVERT_UNIT): Improve documentation.
401
7433458d
PT
4022007-05-16 Brooks Moses <brooks.moses@codesourcery.com>
403
404 PR fortran/18769
405 PR fortran/30881
406 PR fortran/31194
407 PR fortran/31216
408 PR fortran/31427
409 * target-memory.c: New file.
410 * target-memory.h: New file.
411 * simplify.c: Add #include "target-memory.h".
412 (gfc_simplify_transfer): Implement constant-
413 folding for TRANSFER intrinsic.
414 * Make-lang.in: Add dependencies on new target-memory.* files.
415
5218394a
PB
4162007-05-15 Paul Brook <paul@codesourcery.com>
417
418 * trans-types.c (gfc_type_for_size): Handle signed TImode.
419
1529b8d9
FXC
4202007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
421
422 PR fortran/30723
423 * trans.h (gfor_fndecl_internal_malloc, gfor_fndecl_internal_malloc64,
424 gfor_fndecl_internal_free): Remove prototypes.
425 (gfor_fndecl_os_error, gfc_call_free, gfc_call_malloc): Add prototypes.
426 * trans.c (gfc_call_malloc, gfc_call_free): New functions.
427 * f95-lang.c (gfc_init_builtin_functions): Add __builtin_free
428 and __builtin_malloc builtins.
429 * trans-decl.c (gfor_fndecl_internal_malloc,
430 gfor_fndecl_internal_malloc64, gfor_fndecl_internal_free): Remove.
431 (gfor_fndecl_os_error): Add.
432 (gfc_build_builtin_function_decls): Don't create internal_malloc,
433 internal_malloc64 and internal_free library function declaration.
434 Create os_error library call function declaration.
435 * trans-array.c (gfc_trans_allocate_array_storage,
436 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
437 gfc_conv_array_parameter, gfc_duplicate_allocatable): Use
438 gfc_call_malloc and gfc_call_free instead of building calls to
439 internal_malloc and internal_free.
440 * trans-expr.c (gfc_conv_string_tmp): Likewise.
441 * trans-stmt.c (gfc_do_allocate, gfc_trans_assign_need_temp,
442 gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
443 gfc_trans_where_2: Likewise.
444 * trans-intrinsic.c (gfc_conv_intrinsic_ctime,
445 gfc_conv_intrinsic_fdate, gfc_conv_intrinsic_ttynam,
446 gfc_conv_intrinsic_array_transfer, gfc_conv_intrinsic_trim): Likewise.
447
1af5627c
FXC
4482007-05-14 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
449
450 PR fortran/31725
451 * trans-expr.c (gfc_conv_substring): Evaluate substring bounds
452 only once.
453
ca5ba2a3
RAE
4542007-05-14 Rafael Avila de Espindola <espindola@google.com>
455
456 * f95-lang.c (LANG_HOOKS_UNSIGNED_TYPE): Remove.
457 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use unsigned_type_for
458 instead of gfc_unsigned_type.
459 * trans-stmt.c (gfc_trans_do): Use unsigned_type_for instead of
460 gfc_unsigned_type.
461 * trans-types.c (gfc_unsigned_type): Remove.
462 * trans-types.h (gfc_unsigned_type): Remove.
463
eb77cddf
PT
4642007-05-12 Paul Thomas <pault@gcc.gnu.org>
465
466 PR fortran/30746
467 * resolve.c (check_host_association): New function that detects
468 incorrect host association and corrects it.
469 (gfc_resolve_expr): Call the new function for variables and
470 functions.
471 * match.h : Remove prototype for gfc_match_rvalue.
472 * gfortran.h : Add prototype for gfc_match_rvalue.
473
fc2d8680
PT
4742007-05-11 Paul Thomas <pault@gcc.gnu.org>
475
476 PR fortran/30876
477 * trans-expr.c (gfc_conv_function_call): Reduce indirection for
478 direct assignments of recursive array valued functions.
479 * primary.c (gfc_match_rvalue): Correct error for recursive
480 function calls such that directly recursive calls of scalar
481 function without an explicit result are disallowed.
482
847b053d
PT
4832007-05-11 Paul Thomas <pault@gcc.gnu.org>
484
485 PR fortran/30878
486 * resolve.c (resolve_fl_namelist): It is not an error if the
487 namelist element is the result variable of the enclosing
488 function. Search for the symbol in current and all parent
489 namespaces for a potential conflict.
490 * symbol.c (check_conflict): Remove the conflict between
491 'in_namelist' and 'FL_PROCEDURE' because the symbol info
492 is not available to exclude function result variables.
493 * trans-io.c (nml_get_addr_expr): Use the fake result decl
494 if the symbol is an implicit result variable.
495
6c12686b
PT
4962007-05-11 Paul Thomas <pault@gcc.gnu.org>
497
498 PR fortran/31474
499 * decl.c (get_proc_name): If an entry has already been declared
500 as a module procedure, pick up the symbol and the symtree and
501 use them for the entry.
502
a34437a1
PT
5032007-05-08 Paul Thomas <pault@gcc.gnu.org>
504
505 PR fortran/31630
506 * resolve.c (resolve_symbol): Remove the flagging mechanism from the
507 formal namespace resolution and instead check that the formal
508 namespace is not the current namespace.
509
b2b247f9
PT
5102007-05-08 Paul Thomas <pault@gcc.gnu.org>
511
512 PR fortran/31692
513 * trans-array.c (gfc_conv_array_parameter): Convert full array
514 references to the result of the procedure enclusing the call.
515
a9b43781
PT
5162007-05-08 Paul Thomas <pault@gcc.gnu.org>
517
518 PR fortran/29397
519 PR fortran/29400
520 * decl.c (add_init_expr_to_sym): Expand a scalar initializer
521 for a parameter array into an array expression with the right
522 shape.
523 * array.c (spec_dimen_size): Remove static attribute.
524 * gfortran.h : Prototype for spec_dimen_size.
525
5d148c08
FXC
5262007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
527
528 PR fortran/31399
529 * trans-stmt.c (gfc_trans_do): Handle large loop counts.
530
22aef73f
FXC
5312007-05-07 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
532
533 PR fortran/31764
534 * simplify.c (gfc_simplify_new_line): NEW_LINE can be simplified
535 even for non constant arguments.
536
f96d606f
JD
5372007-05-06 Jerry DeLisle <jvdelisle@gcc.gnu.org>
538 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
539
540 PR fortran/31201
541 * gfortran.h: Add runtime error codes from libgfortran.h. Define
542 MAX_UNIT_NUMBER.
543 * trans.c (gfc_trans_runtime_check): Update the format of runtime error
544 messages to match library runtime errors. Use call to new library
545 function runtime_error_at().
546 * trans.h: Add prototype for new function gfc_trans_io_runtime_check.
547 Add declaration for library functions runtime_error_at and
548 generate_error.
549 * trans_io.c (gfc_trans_io_runtime_check): New function.
550 (set_parameter_value): Add error checking for UNIT numbers.
551 (set_parameter_ref): Initialize the users variable to zero.
552 (gfc_trans_open): Move setting of unit number to after setting of common
553 flags so that runtime error trapping can be detected.
554 (gfc_trans_close): Likewise. (build_filepos): Likewise.
555 (gfc_trans_inquire): Likewise. (build_dt): Likewise.
556 * trans-decl.c: Add declarations for runtime_error_at and
557 generate_error. (gfc_build_builtin_function_decls): Build function
558 declarations for runtime_error_at and generate_error.
559
8111a921
PT
5602007-05-06 Paul Thomas <pault@gcc.gnu.org>
561
562 PR fortran/31540
563 * resolve.c (resolve_fl_procedure): Resolve constant character
564 lengths.
565
16f8ffc8
JD
5662007-05-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>
567
568 PR fortran/31251
569 * decl.c (match_char_spec): Add check for invalid character lengths.
570
7e73a3cb
BM
5712007-05-04 Brooks Moses <brooks.moses@codesourcery.com>
572
573 * intrinsic.texi (CMPLX): Document result kind.
574 (COMPLEX): Add documentation.
575
134b4010
DF
5762007-05-04 Daniel Franke <franke.daniel@gmail.com>
577
578 PR fortran/31760
579 * intrinsic.c (add_functions): Replaced calls to gfc_check_g77_math1
580 by gfc_check_fn_r to avoid checks for scalarity.
581 * check.c (gfc_check_besn): Removed check for scalarity.
582 (gfc_check_g77_math1): Removed.
583 * intrinsic.h (gfc_check_g77_math1): Removed.
584
ec378566
DF
5852007-05-04 Daniel Franke <franke.daniel@gmail.com>
586
587 * check.c (gfc_check_fseek_sub): Fixed typo.
588
dcdc26df
DF
5892007-05-04 Daniel Franke <franke.daniel@gmail.com>
590
134b4010 591 PR fortran/22359
dcdc26df
DF
592 * intrinsic.c (add_subroutines): Added FSEEK.
593 * intrinsic.h (gfc_resolve_fseek_sub, gfc_check_fseek_sub): New.
594 * iresolve.c (gfc_resolve_fseek_sub): New.
595 * check.c (gfc_check_fseek_sub): New.
596 * intrinsic.texi (FSEEK): Updated.
597
b2890f04
TB
5982007-05-04 Tobias Burnus <burnus@net-b.de>
599
600 PR fortran/31803
601 * expr.c (gfc_check_pointer_assign): Check for NULL pointer.
602
26fbc975
JD
6032007-05-04 Jerry DeLisle <jvdelisle@gcc.gnu.org>
604
605 PR fortran/31251
606 * simplify.c (gfc_simplify_len): Only simplify integer lengths.
607
f0fc6ae6
FXC
6082007-05-04 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
609
610 PR fortran/31781
611 * simplify.c (gfc_simplify_repeat): Don't put function call with
612 side effect in a gcc_assert().
613
a0324f7b
TB
6142007-05-04 Tobias Burnus <burnus@net-b.de>
615
616 PR fortran/25071
617 * interface.c (compare_actual_formal): Check character length.
618
3e94065c
TK
6192007-05-01 Thomas Koenig <tkoenig@gcc.gnu.org>
620
a0324f7b 621 PR fortran/31732
3e94065c
TK
622 * dependency.c (gfc_full_array_ref_p): If the reference is
623 to a single element, check that the array has a single
624 element and that the correct element is referenced.
625
42b5a16d
DF
6262007-05-01 Daniel Franke <franke.daniel@gmail.com>
627
628 * intrinsic.c (add_functions): Fixed ELEMENTAL specifications.
629 (add_subroutines): Replaced magic numbers in function calls by
630 ELEMENTAL and NOT_ELEMENTAL respectively.
631 * intrinsic.texi (MVBITS): Changed class to elemental subroutine.
632 (RANDOM_NUMBER): Changed class to subroutine.
633 (HUGE, TINY): Changed class to inquiry function.
634
18452a7d
BM
6352007-04-30 Brooks Moses <brooks.moses@codesourcery.com>
636
637 * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_get_double_int.
638 (gfc_conv_tree_to_mpz): New function.
639 (gfc_conv_mpfr_to_tree): Use real_from_mpfr.
640 (gfc_conv_tree_to_mpfr): New function.
641 * trans-const.h: (gfc_conv_tree_to_mpz): New prototype.
642 (gfc_conv_tree_to_mpfr): New prototype.
643
c4bc65be
DF
6442007-04-30 Daniel Franke <franke.daniel@gmail.com>
645
646 * intrinsic.texi (IERRNO): Changed class to non-elemental function.
647 (LOG10): Removed COMPLEX as accepted argument type.
648 (NEW_LINE): Changed class from elemental to inquiry function.
649 (SIGN): Removed requirement of scalar arguments.
650 (SNGL): Changed class to elemental function.
651
6522007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
fc9f54d5
FXC
653
654 PR fortran/31591
655 * simplify.c (simplify_bound_dim): New function.
656 (simplify_bound): Use the above. Perform simplification of LBOUND
657 and UBOUND when DIM argument is not present.
658
e739dfac
DF
6592007-04-29 Daniel Franke <franke.daniel@gmail.com>
660
661 * gfortran.texi: Cleaned up keyword index.
662 * invoke.texi: Likewise.
663 * intrinsic.texi: Likewise.
664
caef7872
FXC
6652007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
666
667 PR fortran/31645
668 * scanner.c (load_file): Discard the byte order mark if one is
669 found on the first non-preprocessor line of a file.
670
4f06d65b
PT
6712007-04-29 Paul Thomas <pault@gcc.gnu.org>
672
673 PR fortran/31711
674 * trans-array.c (gfc_conv_resolve_dependencies): Create a temp
675 whenever a dependency is found.
676
4fcc9944 6772007-04-28 Tobias Schlüter <tobi@gcc.gnu.org>
27fabb5a
TS
678
679 * options.c (gfc_handle_option): Ensure requested free form line
680 length is not too small.
681
e1535fe0
BM
6822007-04-27 Brooks Moses <brooks.moses@codesourcery.com>
683
684 * intrinsic.texi (Transfer): Improve documentation.
685
67948fd2
BM
6862007-04-27 Brooks Moses <brooks.moses@codesourcery.com>
687
688 * gfortran.texi (Option Index): Add @samp as needed.
689
32864778
DF
6902007-04-27 Daniel Franke <franke.daniel@gmail.com>
691
692 * gfortran.texi: Added node and menu entry for an option index.
693 * invoke.texi: Moved command line option related entries of the concept
694 index to the option index.
695
a56c06d8
DF
6962007-04-27 Daniel Franke <franke.daniel@gmail.com>
697
698 * intrinsic.texi (AND, FPUT, FPUTC, MODULO, OR, SET_EXPONENT,
699 XOR): Fixed examples.
700
1c6ab44e
DF
7012007-04-27 Daniel Franke <franke.daniel@gmail.com>
702
703 * intrinsic.texi (PRODUCT, RESHAPE, SPACING, SPREAD, SUM,
704 SYSTEM_CLOCK, TRANSFER, UNPACK): New.
705 (DATE_AND_TIME, CPU_TIME, RRSPACING): Added cross references.
706
1da90258
DF
7072007-04-26 Daniel Franke <franke.daniel@gmail.com>
708
709 * intrinsic.texi (NULL, PACK, PRESENT, REPEAT, SCAN, SHAPE,
710 SIZE, TRANSPOSE, TRIM, VERIFY): New.
711 (ADJUSTL, ADJUSTR, INDEX): Added cross references.
712 (INT, INT2, INT8, LONG): Enabled section header.
713
c4da1827
JB
7142007-04-25 Janne Blomqvist <jb@gcc.gnu.org>
715
716 * module.c (module_char): Replace fgetc() with
717 getc().
718 (write_char): Replace fputc() with putc().
719 * scanner.c (load_line): Replace fgetc() with getc().
720 (gfc_read_orig_filename): Likewise.
721
29ea08da
TB
7222007-04-25 Tobias Burnus <burnus@net-b.de>
723
724 PR fortran/31668
725 * error.c (error_print): Fix %% support.
726 * intrinsic.c (sort_actual): Improve error message.
727 * resolve.c (resolve_actual_arglist): Allow %VAL for
728 interfaces defined in the module declaration part.
729
3a35ee02
FXC
7302007-04-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
731
732 PR libfortran/31299
733 * intrinsic.texi (GETLOG): Update documentation to reflect
734 library changes.
735
1e9ecf6d
FXC
7362007-04-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
737
738 PR fortran/31587
739 * module.c (write_char): Add character to the MD5 buffer.
740 (read_md5_from_module_file): New function.
741 (gfc_dump_module): Compute MD5 for new module file. Call
742 read_md5_from_module_file. Only overwrite old module file
743 if the new MD5 is different.
744
6e0d7c6e
PT
7452007-04-23 Paul Thomas <pault@gcc.gnu.org>
746
747 PR fortran/31630
748 * resolve.c (resolve_symbol): Allow resolution of formal
749 namespaces nested within formal namespaces coming from modules.
750
751 PR fortran/31620
752 * trans-expr.c (gfc_trans_assignment): Make the call to
753 gfc_trans_zero_assign conditional on the lhs array ref being
754 the only reference.
755
b2458f91
TB
7562007-04-23 Tobias Burnus <burnus@net-b.de>
757
758 * primary.c (match_integer_constant): Mention -fno-range-check
759 in the error message.
760
c284e499
JD
7612007-04-21 Jerry DeLisle <jvdelisle@gcc.gnu.org>
762
763 PR fortran/31495
764 * scanner.c (load_line): Remove check for comment after ampersand and
765 adjust tracking of ampersand.
766
3d95caa4
AP
7672007-04-21 Andrew Pinski <andrew_pinski@playstation.sony.com>
768
769 * f95-lang.c (lang_tree_node): Use GENERIC_NEXT
770 instead of checking GIMPLE_STMT_P in chain_next.
771
4fcc9944 7722007-04-17 Tobias Schlüter <tobi@gcc.gnu.org>
710a179f 773
dcfef7d4
TS
774 * trans-types.h (gfc_packed): New enum.
775 (gfc_get_nodesc_array_type): Change prototype to use new enum.
776 * trans-types.c (gfc_get_nodesc_array): Use gfc_packed for
777 argument packed. Adapt all references to values accordingly.
778 (gfc_sym_type): Use enum values in call to gfc_get_nodesc_array.
779 (gfc_get_derived_type): Likewise.
780 * trans-array.c (gfc_build_constant_array_constructor): Likewise.
781 * trans-expr.c (gfc_get_interface_mapping_charlen): Changed packed
782 argument to type gfc_packed.
783 (gfc_add_interface_mapping): Use enum values in call to
784 gfc_get_interface_mapping.
785 * trans-decl.c (gfc_build_dummy_array_decl): Adapt to use enum
786 values when determining packing.
787
7b715e2e
TS
788 * trans-decl.c (gfc_finish_decl): Remove unused second argument
789 'init'. Simplify code accordingly. Remove calls to
790 gfc_fatal_error in favor of gcc_assert.
791 (create_function_arglist): Remove second argument from calls to
792 gfc_finish-decl.
793 (gfc_trans_dummy_character): Likewise.
794
710a179f
TS
795 * arith.h: Update copyright years.
796 * dependency.h: Likewise.
797 * gfortran.h: Likewise.
798 * lang-specs.h: Likewise.
799 * parse.h: Likewise.
800 * symbol.c: Likewise.
801 * trans.h: Likewise.
802 * trans.c: Likewise.
803 * trans-array.c: Likewise.
804 * trans-common.c: Likewise.
805 * trans-const.h: Likewise.
806 * trans-const.c: Likewise.
807 * trans-decl.c: Likewise.
808 * trans-expr.c: Likewise.
809 * trans-io.c: Likewise.
810 * trans-openmp.c: Likewise.
811 * trans-types.h: Likewise.
812 * types.def: Likewise.
813
4fcc9944 8142007-04-17 Tobias Schlüter <tobi@gcc.gnu.org>
9998ef84
TS
815
816 PR fortran/31144
817 * decl.c (gfc_sym_mangled_identifier): Use capital letters in name
818 mangling.
819 (gfc_sym_mangled_function_id): Likewise.
820
9a3db5a3
PT
8212007-04-15 Paul Thomas <pault@gcc.gnu.org>
822
823 PR fortran/31204
824 * primary.c (check_for_implicit_index): New function to check
825 that a host associated variable is not an undeclared implied
826 do loop index.
827 (gfc_match_rvalue, match_variable): Use it and reset the
828 implied_index attribute.
829 * gfortran.h : Add the implied_index field to symbol_attribute.
830 * match.c (gfc_match_iterator): Mark the iterator variable
831 with the new attribute.
832 * decl.c (build_sym): Reset the new attribute.
833
71172460
KH
8342007-04-15 Kazu Hirata <kazu@codesourcery.com>
835
836 * gfc-internals.texi: Fix typos.
837 * simplify.c: Fix a comment typo.
838
ed5ee445
BRF
8392007-04-14 Bernhard Fischer <aldot@gcc.gnu.org>
840
841 * primary.c: Commentary typo fix; Add question about redundant (?)
842 set.
843
8442007-04-14 Paul Thomas <pault@gcc.gnu.org>
396b2c19
PT
845
846 PR fortran/29507
847 PR fortran/31404
848 * expr.c (scalarize_intrinsic_call): New function to
849 scalarize elemental intrinsic functions in initialization
850 expressions.
851 (check_init_expr): Detect elemental intrinsic functions
852 in initalization expressions and call previous.
853
20f5e278 8542007-04-13 Tobias Burnus <burnus@net-b.de>
1f8e994c
TB
855
856 PR fortran/31559
857 * primary.c (match_variable): External functions
858 are no variables.
859
8602007-04-13 Paul Thomas <pault@gcc.gnu.org>
861
862 PR fortran/31550
863 * trans-types.c (copy_dt_decls_ifequal): Do not get pointer
864 derived type components.
865
4fcc9944 8662007-04-13 Tobias Schlüter <tobi@gcc.gnu.org>
0615f923
TS
867
868 PR fortran/18937
869 * resolve.c: Include obstack.h and bitmap.h. New variable
870 labels_obstack.
871 (code_stack): Add tail and reachable_labels fields.
872 (reachable_labels): New function.
873 (resolve_branch): Rework to use new fields in code_stack.
874 (resolve_code): Call reachable_labels.
875 (resolve_codes): Allocate and free labels_obstack.
876
4fcc9944 8772007-04-12 Tobias Schlüter <tobi@gcc.gnu.org>
5cd09fac
TS
878
879 PR fortran/31250
880 * decl.c (match_char_spec): Move check for negative CHARACTER
881 length ...
882 * resolve.c (resolve_charlen): ... here.
883 (resolve_types): Resolve CHARACTER lengths earlier.
884
5ab5907a
DF
8852007-04-12 Daniel Franke <franke.daniel@gmail.com>
886
887 PR fortran/31234
888 * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.
889
4fcc9944 8902007-04-12 Tobias Schlüter <tobi@gcc.gnu.org>
2f118814 891
e8a25349
TS
892 PR fortran/31266
893 * primary.c (gfc_variable_attr): Don't copy string length if it
894 doesn't make sense.
895 * resolve.c (resolve_code): Clarify error message.
896
690af379
TS
897 PR fortran/31471
898 * decl.c (gfc_match_end): Also check for construct name in END
899 FORALL and END WERE statements.
900 * match.c (match_case_eos): Use uppercase for statement name in
901 error message.
902 (match_elsewhere): Construct name may appear iff construct has a
903 name.
904
eb28fb7d
TS
905 * trans-types.c: Update copyright years. Reformat long comment
906 explaining array descriptor format. Remove obsolete mention of
907 TYPE_SET.
908
2f118814
TS
909 * arith.c (gfc_arith_uplus): Rename to ...
910 (gfc_arith_identity): ... this.
911 (gfc_parentheses): New function.
912 (gfc_uplus): Adapt to renamed function.
913 * arith.h (gfc_parentheses): Add prototype.
914 * expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
915 (simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
916 INTRINSIC_PARENTHESES.
917
d51347f9
TB
9182007-04-12 Tobias Burnus <burnus@net-b.de>
919
920 PR fortran/31472
921 * decl.c (match_attr_spec): Allow PRIVATE/PUBLIC
922 attribute in type definitions.
923 (gfc_match_private): Allow PRIVATE statement only
924 in specification part of modules.
925 (gfc_match_public): Ditto for PUBLIC.
926 (gfc_match_derived_decl): Allow PRIVATE/PUBLIC attribute only in
927 specificification part of modules.
928
3c19e5e1
PT
9292007-04-07 Paul Thomas <pault@gcc.gnu.org>
930
931 PR fortran/31257
932 * intrinsic.c (add_functions): Add ref. to gfc_resolve_achar.
933 * intrinsic.h : Add prototype for gfc_resolve_achar.
934 * iresolve.c (gfc_resolve_achar): New function.
935
145bdc2c
PT
9362007-04-07 Paul Thomas <pault@gcc.gnu.org>
937
938 PR fortran/30880
939 * resolve.c (resolve_fl_variable): Set flag to 2 for automatic
940 arrays. Make condition for automatic array error explicit.
941 If a dummy, no error on an INTENT(OUT) derived type.
942
4c6b3ec7
PT
9432007-04-07 Paul Thomas <pault@gcc.gnu.org>
944
945 PR fortran/30872
946 * expr.c (find_array_element): Correct arithmetic for rank > 1.
947
909a3e38
PT
9482007-04-07 Paul Thomas <pault@gcc.gnu.org>
949
950 PR fortran/31222
951 * check.c (numeric_check): If an expresson has not got a type,
952 see if it is a symbol for which a default type applies.
953
c60a84b8
PT
9542007-04-07 Paul Thomas <pault@gcc.gnu.org>
955
956 PR fortran/31214
957 * trans-decl.c (gfc_get_symbol_decl): Allow unreferenced use
958 associated symbols.
959
e9bd9f7d
PT
9602007-04-07 Paul Thomas <pault@gcc.gnu.org>
961
962 PR fortran/31293
963 * symbol.c (gfc_check_function_type): New function.
964 * gfortran.h : Add prototype for previous.
965 * parse.c (parse_progunit): Call it after parsing specification
966 statements.
967
1f8e994c
TB
9682007-04-05 Paul Thomas <pault@gcc.gnu.org>
969
970 PR fortran/31483
971 * trans-expr.c (gfc_conv_function_call): Give a dummy
972 procedure the correct type if it has alternate returns.
973
9742007-04-05 Paul Thomas <pault@gcc.gnu.org>
975
976 PR fortran/31292
977 * decl.c (gfc_match_modproc): Go up to the top of the namespace
978 tree to find the module namespace for gfc_get_symbol.
979
f1412ca5
FXC
9802007-04-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
981
982 PR fortran/31304
983 * fortran/gfortran.h (gfc_charlen_int_kind): New prototype.
984 * fortran/trans-types.c (gfc_charlen_int_kind): New variable.
985 (gfc_init_types): Define gfc_charlen_int_kind.
986 * fortran/trans.h (gfor_fndecl_string_repeat): Remove prototype.
987 * fortran/trans-decl.c (gfor_fndecl_string_repeat): Delete.
988 (gfc_build_intrinsic_function_decls): Don't set
989 gfor_fndecl_string_repeat.
990 * fortran/trans-intrinsic.c (gfc_conv_intrinsic_repeat): Rewrite
991 so that we don't have to call a library function.
992 * fortran/simplify.c (gfc_simplify_repeat): Perform the necessary
993 checks on the NCOPIES argument, and work with arbitrary size
994 arguments.
995
9fe3100e
TB
9962007-03-31 Tobias Burnus <burnus@net-b.de>
997
998 * intrinsic.c (add_functions): Fix name of dummy argument
999 for new_line and exit intrinsic.
1000
d60e76db
PT
10012007-03-31 Paul Thomas <pault@gcc.gnu.org>
1002
1003 PR fortran/31160
1004 * gfortran.texi: Add a section for the %VAL, %REF and %LOC
1005 extensions.
1006
47ecd38d
RAE
10072007-03-30 Rafael Avila de Espindola <espindola@google.com>
1008
1009 * trans-types.c (gfc_signed_or_unsigned_type): Remove.
1010 (gfc_unsigned_type): Use get_signed_or_unsigned_type instead of
1011 gfc_signed_or_unsigned_type.
1012 (gfc_signed_type): Ditto.
1013 * trans-types.h (gfc_signed_or_unsigned_type): Remove.
1014 * f95-lang.c (LANG_HOOKS_SIGNED_OR_UNSIGNED_TYPE): Remove.
1015
4fcc9944 10162007-03-30 Tobias Schlüter <tobi@gcc.gnu.org>
1a549788
TS
1017
1018 * symbol.c (gfc_find_gsymbol): Simplify, don't unconditionally
1019 descend into all branches.
1020
4fcc9944 10212007-03-29 Tobias Schlüter <tobi@gcc.gnu.org>
b6e2128e
TS
1022
1023 * intrinsic.c (conv_name): Let gfc_get_string handle the format.
1024 (find_conv): Compare pointers instead of calling strcmp.
1025 (find_sym): Likewise, but ensure that the compared pointer is in
1026 the global string table.
1027
4fcc9944 10282007-03-28 Tobias Schlüter <tobi@gcc.gnu.org>
7fc100eb
TS
1029
1030 * gfc-internals.texi: Fix output filename. Merge type index into
1031 concept index. Start documentation of gfc_code structure.
1032
52f2f1d7
BM
10332007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
1034
1035 * gfc-internals.texi: New file,
1036 * Make-lang.in: Add rules to convert it to dvi, pdf, and info.
1037
7b0930d9
BM
10382007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
1039
1040 * error.c (show_locus): Remove always-false test.
1041
0d67a675
BM
10422007-03-26 Brooks Moses <brooks.moses@codesourcery.com>
1043
1044 * lang.opt: Minor edits to descriptions.
1045
27189292
FXC
10462007-03-25 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1047
1048 PR fortran/30877
1049 * fortran/interface.c (check_operator_interface): Implement
1050 the standard checks on user operators extending intrinsic operators.
1051 * fortran/resolve.c (resolve_operator): If the ranks of operators
1052 don't match, don't error out but try the user-defined ones first.
1053
d912240d
FXC
10542007-03-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1055
1056 PR fortran/30655
1057 * expr.c (check_dimension): Fix logic of comparisons.
1058
6a661315
PT
10592007-03-24 Paul Thomas <pault@gcc.gnu.org>
1060
1061 PR fortran/31215
1062 * trans-expr.c (gfc_apply_interface_mapping_to_expr): Return
1063 int result that is non-zero if the expression is the function
1064 result. Only the characteristics of the result expression
1065 can be used in a procedure interface, so simplify LEN in situ
1066 using its character length.
1067
cca64386 1068 PR fortran/31209
6a661315
PT
1069 PR fortran/31200
1070 * trans-expr.c (gfc_conv_function_call): Do not use
1071 gfc_conv_expr_reference for actual pointer function with formal
1072 target because a temporary is created that does not transfer
1073 the reference correctly. Do not indirect formal pointer
1074 functions since it is the function reference that is needed.
1075
d87008f2
BM
10762007-03-24 Brooks Moses <brooks.moses@codesourcery.com>
1077
1078 * gfortran.h: Edit comments on GFC_STD_*.
1079
276419d0
BM
10802007-03-23 Brooks Moses <brooks.moses@codesourcery.com>
1081
1082 * invoke.texi: Misc. small typo fixes.
1083 (-Wcharacter-truncation): Add.
1084 (-Wnonstd-intrinsics): Correct spelling.
1085 (-std=): Edit.
1086 (-fintrinsic-modules-path): Add.
1087
3c2e8043
FXC
10882007-03-23 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1089
1090 PR fortran/30834
1091 * arith.c (complex_pow): Rewrite to handle large power.
1092 (gfc_arith_power): Handle large power in the real and integer
1093 cases.
1094
efa591c5
FXC
10952007-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1096
1097 PR fortran/31262
1098 * trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
1099 larger than twice the width of a HOST_WIDE_INT.
1100
1efd1a2f
PT
11012006-03-22 Paul Thomas <pault@gcc.gnu.org>
1102
1103 PR fortran/31193
1104 * trans-intrinsic.c (gfc_size_in_bytes): Remove function.
1105 (gfc_conv_intrinsic_array_transfer): Remove calls to previous.
1106 Explicitly extract TREE_TYPEs for source and mold. Use these
1107 to calculate length of source and mold, except for characters,
1108 where the se string_length is used. For mold, the TREE_TYPE is
1109 recalculated using gfc_get_character_type_len so that the
1110 result is correctly cast for character literals and substrings.
1111 Do not use gfc_typenode_for_spec for the final cast.
1112
4fcc9944 11132007-03-22 Tobias Schlüter <tobi@gcc.gnu.org>
1e863adf
TS
1114
1115 PR fortran/20897
1116 * decl.c (gfc_match_derived_decl): Reliably reject
1117 'doubleprecision' and 'doublecomplex' as type names.
1118
886c8de1
FXC
11192007-03-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1120
1121 PR fortran/31203
1122 * trans-expr.c (gfc_trans_init_string_length): Length should
1123 never be negative.
1124 (gfc_conv_function_call): Likewise.
1125
7453378e
PT
11262007-03-18 Paul Thomas <pault@gcc.gnu.org>
1127
1128 PR fortran/30531
1129 PR fortran/31086
1130 * symbo.c : Add gfc_derived_types.
1131 (gfc_free_dt_list): Free derived type list gfc_derived_types.
1132 (gfc_free_namespace): Remove call to gfc_free_dt_list.
1133 (gfc_symbol_done_2): Call gfc_free_dt_list.
1134 * gfortran.h : Declare gfc_derived_types to be external. Remove
1135 derived types field from gfc_namespace.
1136 * resolve.c (resolve_fl_derived): Refer to gfc_derived types
1137 rather than namespace derived_types.
1138 (resolve_fntype): Remove special treatment for module
1139 derived type functions.
1140 * trans-types.c (gfc_get_derived_type): Remove search for like
1141 derived types. Finish by copying back end declaration to like
1142 derived types in the derived type list gfc_derived_types.
1143
1144 2007-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
6f85ab62
FXC
1145
1146 PR fortran/31120
1147 * trans-expr.c (gfc_conv_powi): Make n argument unsigned hwi.
1148 (gfc_conv_cst_int_power): Handle integer exponent with care,
1149 since it might be too large for us.
1150
259b41c1
FXC
11512007-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1152
1153 PR fortran/31184
1154 * invoke.texi: Fix typo.
1155
e51333e4
TB
11562007-03-16 Tobias Burnus <burnus@net-b.de>
1157
1158 * trans-decl.c (gfc_generate_function_code): Use all arguments of
1159 set_std.
1160
868d75db
FXC
11612007-03-15 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1162
1163 * gfortran.h (gfc_option_t): Add flag_backtrace field.
1164 * lang.opt: Add -fbacktrace option.
1165 * invoke.texi: Document the new option.
1166 * trans-decl.c (gfc_build_builtin_function_decls): Add new
1167 option to the call to set_std.
1168 * options.c (gfc_init_options, gfc_handle_option): Handle the
1169 new option.
1170
36d3fb4c
PT
11712007-03-15 Tobias Burnus <burnus@gcc.gnu.org>
1172 Paul Thomas <pault@gcc.gnu.org>
1173
1174 PR fortran/30922
1175 * decl.c (gfc_match_import): If the parent of the current name-
1176 space is null, try looking for an imported symbol in the parent
1177 of the proc_name interface.
1178 * resolve.c (resolve_fl_variable): Do not check for blocking of
1179 host association by a same symbol, if the symbol is in an
1180 interface body.
1181
11822007-03-15 Paul Thomas <pault@gcc.gnu.org>
1183
1184 PR fortran/30879
1185 * decl.c (match_data_constant): Before going on to try to match
1186 a name, try to match a structure component.
1187
1188
1189 PR fortran/30870
1190 * resolve.c (resolve_actual_arglist): Do not reject a generic
1191 actual argument if it has a same name specific interface.
1192
1193 PR fortran/31163
1194 * trans-array.c (parse_interface): Do not nullify allocatable
1195 components if the symbol has the saved attribute.
1196
19ee2065
FXC
11972007-03-14 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1198
1199 * trans-array.c (gfc_trans_auto_array_allocation): Replace
1200 fold(convert()) by fold_convert().
1201 (gfc_duplicate_allocatable): Likewise.
1202 * trans-intrinsic.c (gfc_conv_intrinsic_dot_product): Use
1203 build_int_cst instead of converting an integer_zero_node
1204 to the final type.
1205
3ea04f08
JJ
12062007-03-14 Jakub Jelinek <jakub@redhat.com>
1207
1208 * module.c (mio_typespec): Don't look at ts->cl if not BT_CHARACTER.
1209
ec77243f
BM
12102007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
1211
05033949 1212 PR fortran/30933
ec77243f
BM
1213 PR fortran/30948
1214 PR fortran/30953
1215 * intrinsics.texi (CHDIR): Fix argument names, note
1216 that STATUS must be a default integer.
1217 (CTIME): Fix argument names, note that RESULT must
1218 be a default integer.
1219 (EXIT): Note that STATUS must be a default integer.
1220
6f50a76a
BM
12212007-03-13 Brooks Moses <brooks.moses@codesourcery.com>
1222
1223 PR fortran/28068
1224 * intrinsic.texi: General whitespace cleanup, remove
1225 comment about missing intrinsics.
1226 (menu): Add lines for new entries listed below.
1227 (ACOSH): Mention specific function DACOSH, correct
1228 description phrasing.
1229 (ASINH): Mention specific function DASINH, correct
1230 description phrasing.
1231 (ATANH): Mention specific function DATANH, correct
1232 description phrasing.
1233 (COS): Add index entry for CCOS.
1234 (CPU_TIME): Correct "REAL" to "REAL(*)".
1235 (EXP): Add index entry for CEXP.
1236 (INT): Correct argument name to "A".
1237 (INT2): New entry.
1238 (INT8): New entry.
1239 (LONG): New entry.
1240 (MAX): Add index entries for specific variants.
1241 (MCLOCK): New entry.
1242 (MCLOCK8): New entry.
1243 (SECNDS): Adjust to a more standard form.
1244 (SECOND): New entry.
1245 (TIME): Add cross-reference to MCLOCK.
1246 (TIME8): Add cross-reference to MCLOCK8.
1247
f68abf4a
PT
12482007-03-11 Paul Thomas <pault@gcc.gnu.org>
1249
1250 PR fortran/30883
1251 * parse.c (parse_interface): Use the default types from the
1252 formal namespace if a function or its result do not have a type
1253 after parsing the specification statements.
1254
122e35b4
BM
12552007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
1256
1257 * intrinsic.texi: (ICHAR) Improve internal I/O note.
1258 (ACHAR): Reference it.
1259 (CHAR): Reference it.
1260 (IACHAR): Reference it.
1261
435b0aa2
BM
12622007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
1263
1264 * intrinsic.texi: (LINK) Document function form.
1265 (RENAME): Likewise.
1266 (SYMLNK): Likewise.
1267 (SYSTEM): Likewise.
1268 (UNLINK): Likewise.
1269
e3097489
BM
12702007-03-08 Brooks Moses <brooks.moses@codesourcery.com>
1271
1272 * intrinsic.texi: minor typo fixes, removed prologue.
1273 (FSEEK): moved to correct place in alphabetical order.
1274
32af3784
DF
12752007-03-08 Daniel Franke <franke.daniel@gmail.com>
1276
1277 PR fortran/30947
1278 * check.c (gfc_check_alarm_sub): Added check for default integer
1279 kind of status argument.
1280 * iresolve.c (gfc_resolve_alarm_sub): Removed conversion of
1281 status argument.
1282 * intrinsic.texi (ALARM): Extended documentation.
1283
f53e867d
DF
12842007-03-08 Daniel Franke <franke.daniel@gmail.com>
1285
1286 * intrinsic.texi (GERROR, ISATTY, TTYNAM): New.
1287 (ABORT, FLUSH, FNUM, IRAND, MALLOC, SIGNAL, SRAND): Fixed typo.
1288 * intrinsic.c (add_subroutines): Adjusted dummy argument names
1289 of GERROR and TTYNAM.
1290
56bedf42
TB
12912007-07-08 Tobias Burnus <burnus@net-b.de>
1292
1293 * module.c (gfc_match_use): Support renaming of operators
1294 in USE statements.
1295 * gfortran.texi (Fortran 2003 Status): Document support of
1296 renaming of operators.
1297
ac497e6a
TB
12982007-07-08 Tobias Burnus <burnus@net-b.de>
1299
1300 PR fortran/30973
1301 * module.c (read_module): Always import module name as symbol.
1302 (gfc_match_use): Disallow module name in the only clause of
1303 a use statement.
1304
13052007-03-08 Paul Thomas <pault@gcc.gnu.org>
1306
1307 PR fortran/31011
1308 * expr.c (find_array_section): Correct arithmetic for section
1309 size.
1310
a24ff43f
BM
13112007-03-07 Brooks Moses <brooks.moses@codesourcery.com>
1312
1313 * iresolve.c (gfc_resolve_ishftc): Correct s_kind value.
1314
cc71ce20
DF
13152007-03-06 Daniel Franke <franke.daniel@gmail.com>
1316
1317 PR documentation/30950
1318 * intrinsic.texi (AND, CPU_TIME): Fix dummy argument names.
1319 (FREE): Fix call syntax.
1320
db47a442
BM
13212007-03-06 Brooks Moses <brooks.moses@codesourcery.com>
1322
1323 * intrinsic.texi: Limit column widths to a total of .85.
1324
4b4eb648
BM
13252007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
1326
1327 * gfortran.texi (GFortran and G77): Rewrite completely.
1328
090021e9
BM
13292007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
1330
1331 * match.c (gfc_match_name): Expanded comment.
1332
b2b81a3f
BM
13332007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
1334
1335 * gfortran.texi (Old-style kind specifications): Document
1336 special handling of old-style kind specifiers for COMPLEX.
1337 * decl.c (gfc_match_old_kind_spec): Document kind/bytesize
1338 assumptions for COMPLEX in comment.
1339
676a7884
BM
13402007-03-05 Brooks Moses <brooks.moses@codesourcery.com>
1341
1342 PR 31050
1343 * gfortranspec.c (lang_specific_driver): Update program
1344 name and copyright date.
1345
93a12e36
PT
13462007-03-03 Paul Thomas <pault@gcc.gnu.org>
1347
1348 PR fortran/30882
1349 * check.c (dim_rank_check): The shape of subsections of
1350 assumed-size arrays is known.
1351
5115f4aa
PT
13522007-03-02 Paul Thomas <pault@gcc.gnu.org>
1353 Tobias Burnus <burnus@net-b.de>
1354
1355 PR fortran/30873
1356 * decl.c (gfc_match_entry): Remove erroneous entry result check.
1357
b7826893
BM
13582007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
1359
1360 * Make-lang.in: Add install-pdf target as copied from
1361 automake v1.10 rules.
1362
9c3e90e3
TB
13632007-03-01 Tobias Burnus <burnus@net-b.de>
1364
1365 PR fortran/30865
1366 * trans-intrinsic.c (gfc_conv_intrinsic_size): Compare pointers.
1367
7193e30a
TB
13682007-02-28 Tobias Burnus <burnus@net-b.de>
1369 Paul Thomas <pault@gcc.gnu.org>
1370
1371 PR fortran/30888
1372 PR fortran/30887
1373 * resolve.c (resolve_actual_arglist): Allow by-value
1374 arguments and non-default-kind for %VAL().
1375 * trans-expr.c (conv_arglist_function): Allow
1376 non-default-kind for %VAL().
1377
1355d8e7
TB
13782007-02-28 Tobias Burnus <burnus@net-b.de>
1379
1380 PR fortran/30968
1381 * primary.c (next_string_char): Correct reading a character
1382 after the delimiter.
1383 (match_string_constant): Print warning message only once.
1384
d711ed87
RG
13852007-02-27 Richard Guenther <rguenther@suse.de>
1386
1387 * trans-array.c (structure_alloc_comps): Use correct type
1388 for null pointer constant.
1389
7771bb62
BM
13902007-02-26 Brooks Moses <brooks.moses@codesourcery.com>
1391
1392 * gfortran.texi: Standardize title page, remove version number
1393 from copyright page.
1394
88f206a4
TK
13952007-02-26 Thomas Koenig <Thomas.Koenig@online.de>
1396 Paul Thomas <pault@gcc.gnu.org>
1397
1398 PR fortran/30865
1399 * trans-intrinsic.c (gfc_conv_intrinsic_size):
1400 If dim is an optional argument, check for its
1401 presence and call size0 or size1, respectively.
1402
74a5d8b9
PT
14032007-02-23 Paul Thomas <pault@gcc.gnu.org>
1404
1405 PR fortran/30660
1406 * resolve.c (has_default_initializer): New function.
1407 (resolve_fl_variable): Call has_default_initializer to determine if
1408 the derived type has a default initializer to its ultimate
1409 components.
1410
1411
a47eec17
JD
14122007-02-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1413
1414 * options.c (set_default_std_flags): New function to consolidate
1415 setting the flags.
1416 (gfc_init_options): Use new function.
1417 (gfc_handle_option): Use new function.
1418
b69862d1
BM
14192007-02-22 Brooks Moses <brooks.moses@codesourcery.com>
1420
1421 * gfortran.texi (Old-style kind specifications): Document
1422 special handling of old-style kind specifiers for COMPLEX.
1423 * decl.c (gfc_match_old_kind_spec): Documented kind/bytesize
1424 assumptions in comment.
1425
7efeea5e
JJ
14262007-02-21 Bernhard Fischer <aldot@gcc.gnu.org>
1427
1428 * parse.c (next_free): Gooble spaces after OpenMP sentinel.
1429
b241831b
TK
14302007-02-20 Thomas Koenig <Thomas.Koenig@online.de>
1431
1432 PR fortran/30869
7efeea5e 1433 * match.c (gfc_match_iterator): Remove conflict between
b241831b
TK
1434 loop variable and pointer.
1435
77bb16aa
TB
14362007-02-20 Tobias Burnus <burnus@net-b.de>
1437
1438 PR fortran/30522
1439 * symbol.c (gfc_add_volatile): Allow to set VOLATILE
1440 attribute for host-associated variables.
1441 * gfortran.h (symbol_attribute): Save namespace
1442 where VOLATILE has been set.
1443 * trans-decl.c (gfc_finish_var_decl): Move variable
1444 declaration to the top.
1445
1084b6b0
TB
14462007-02-20 Tobias Burnus <burnus@net-b.de>
1447
1448 PR fortran/30783
1449 * resolve.c (resolve_symbol): Add character dummy VALUE check.
1450
567c915b
TK
14512007-02-19 Thomas Koenig <Thomas.Koenig@online.de>
1452
1453 PR libfortran/30533
7efeea5e 1454 * fortran/iresolve.c (gfc_resolve_maxloc): Remove coercion of
567c915b 1455 argument to default integer.
7efeea5e 1456 (gfc_resolve_minloc): Likewise.
567c915b 1457
bb6a1e6d
JD
14582007-02-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1459
1460 PR fortran/30681
1461 * options.c (gfc_init_options): Relax warning level for obsolescent.
1462 * match.c (match_arithmetic_if): Change to obsolescent from deleted.
1463 (gfc_match_if): Same.
1464
61a04b5b
RS
14652007-02-18 Roger Sayle <roger@eyesopen.com>
1466
1467 * trans-array.c (gfc_build_constant_array_constructor): When the
1468 shape of the constructor is known, use that to construct the
1469 gfc_array_spec.
1470 (gfc_trans_constant_array_constructor): Initialize the "info"
1471 information for all of the dimensions of the array constructor.
1472 (constant_array_constructor_loop_size): New function.
1473 (gfc_trans_array_constructor): Use it to determine whether a
1474 loop is suitable for "constant array constructor" optimization.
1475
1476 * trans-intrinsic.c (gfc_conv_intrinsic_anyall): Use fold_build2
1477 instead of build2, to avoid conditions like "(a != b) != 0".
1478
9bffa171
RS
14792007-02-18 Roger Sayle <roger@eyesopen.com>
1480 Paul Thomas <pault@gcc.gnu.org>
1481
1084b6b0
TB
1482 PR fortran/30400
1483 * match.c (match_forall_iterator): Use gfc_match_expr instead
9bffa171
RS
1484 of gfc_match_variable to match the iterator variable. Return
1485 MATCH_NO if not a variable. Remove the reset of the symbol's
1486 flavor in cleanup.
1487
73865312
TB
14882007-02-16 Tobias Burnus <burnus@net-b.de>
1489
1490 PR fortran/30793
1491 * trans-decl.c (gfc_generate_function_code): Do not initialize
61a04b5b 1492 pointers to derived components.
73865312 1493
5039610b
SL
14942007-02-15 Sandra Loosemore <sandra@codesourcery.com>
1495 Brooks Moses <brooks.moses@codesourcery.com>
1496 Lee Millward <lee.millward@codesourcery.com>
1497
1498 * trans-expr.c (gfc_conv_power_op): Use build_call_expr.
1499 (gfc_conv_string_tmp): Likewise.
1500 (gfc_conv_concat_op): Likewise.
1501 (gfc_build_compare_string): Likewise.
1502 (gfc_conv_function_call): Use build_call_list instead of build3.
1503
1504 * trans-array.c (gfc_trans_allocate_array_storage): Use
1505 build_call_expr.
1506 (gfc_grow_array): Likewise.
1507 (gfc_trans_array_ctor_element): Likewise.
1508 (gfc_trans_array_constructor_value): Likewise.
1509 (gfc_array_allocate): Likewise.
1510 (gfc_array_deallocate): Likewise.
1511 (gfc_trans_auto_array_allocation): Likewise.
1512 (gfc_trans_dummy_array_bias): Likewise.
1513 (gfc_conv_array_parameter): Likewise.
1514 (gfc_trans_dealloc_allocated): Likewise.
1515 (gfc_duplicate_allocatable): Likewise.
1516
1517 * trans-openmp.c (gfc_trans_omp_barrier): Use build_call_expr.
1518 (gfc_trans_omp_flush): Likewise.
1519
1520 * trans-stmt.c (gfc_conv_elementel_dependencies): Use build_call_expr.
1521 (gfc_trans_pause): Likewise.
1522 (gfc_trans_stop): Likewise.
1523 (gfc_trans_character_select): Likewise.
1524 (gfc_do_allocate): Likewise.
1525 (gfc_trans_assign_need_temp): Likewise.
1526 (gfc_trans_pointer_assign_need_temp): Likewise.
1527 (gfc_trans_forall_1): Likewise.
1528 (gfc_trans_where_2): Likewise.
1529 (gfc_trans_allocate): Likewise.
1530 (gfc_trans_deallocate): Likewise.
1531
1532 * trans.c (gfc_trans_runtime_check): Use build_call_expr.
1533
1534 * trans-io.c (gfc_trans_open): Use build_call_expr.
1535 (gfc_trans_close): Likewise.
1536 (build_filepos): Likewise.
1537 (gfc_trans_inquire): Likewise.
1538 (NML_FIRST_ARG): Delete.
1539 (NML_ADD_ARG): Delete.
1540 (transfer_namelist_element): Use build_call_expr.
1541 (build_dt): Likewise.
1542 (gfc_trans_dt_end): Likewise.
1543 (transfer_expr): Likewise.
1544 (transfer_array-desc): Likewise.
1545
1546 * trans-decl.c (gfc_generate_function_code): Use build_call_expr.
1547 (gfc_generate_constructors): Likewise.
1548
1549 * trans-intrinsic.c (gfc_conv_intrinsic_ctime): Use build_call_expr.
1550 (gfc_conv_intrinsic_fdate): Likewise.
1551 (gfc_conv_intrinsic_ttynam): Likewise.
1552 (gfc_conv_intrinsic_array_transfer): Likewise.
1553 (gfc_conv_associated): Likewise.
1554 (gfc_conv_intrinsic_si_kind): Likewise.
1555 (gfc_conv_intrinsic_trim): Likewise.
1556 (gfc_conv_intrinsic_repeat: Likewise.
1557 (gfc_conv_intrinsic_iargc): Likewise.
1558
0267ffdc
JD
15592007-02-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1560
1561 PR fortran/30779
1562 * scanner.c (gfc_next_char_literal): Add check for end of file after
1563 call to advance_line.
1564
eb62be44
SK
15652007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
1566
1567 PR fortran/30799
1568 * primary.c (match_logical_constant): Return MATCH_ERROR on invalid
1569 kind.
1570
64e56cf2
SK
15712007-02-14 Steven G. Kargl <kargl@gcc.gnu.org>
1572
1573 * misc.c (gfc_typename): Fix potential buffer overflow.
1574
e8c30b5f
PT
15752007-02-13 Paul Thomas <pault@gcc.gnu.org>
1576
1577 PR fortran/30554
1578 * module.c (read_module): Set pointer_info to referenced if the
1579 symbol has no namespace.
1580
c662432e
NC
15812007-02-12 Nick Clifton <nickc@redhat.com>
1582
7efeea5e 1583 * lang.opt: Add Warning attribute to warning options.
c662432e 1584
013d5907
DF
15852007-02-11 Daniel Franke <franke.daniel@gmail.com>
1586
1587 * intrinsic.texi (HOSTNM): Fix typographical error in syntax.
1588 (SLEEP): Added section and documentation.
1589
4fcc9944 15902007-02-11 Tobias Schlüter <tobi@gcc.gnu.org>
6133c68a
TS
1591
1592 PR fortran/30478
1593 * decl.c (add_init_expr_to_sym): Remove ENUM specific code.
1594 (variable_decl): Likewise. Rewrap comment.
1595 (match_attr_spec): Remove ENUM specific code.
1596 (gfc_match_enum): Fix typo in error message.
1597 (enumerator_decl): New function.
1598 (gfc_match_enumerator_def): Use enumerator_decl instead of
1599 variable_decl. Adapt code accordingly.
1600
dcdc7b6c
PT
16012007-02-11 Paul Thomas <pault@gcc.gnu.org>
1602
1603 PR fortran/30554
1604 * module.c (find_symtree_for_symbol): New function to return
1605 a symtree that is not a "unique symtree" given a symbol.
1606 (read_module): Do not automatically set pointer_info to
1607 referenced because this inhibits the generation of a unique
1608 symtree. Recycle the existing symtree if possible by calling
1609 find_symtree_for_symbol.
1610
1611 PR fortran/30319
1612 * decl.c (add_init_expr_to_sym): Make new charlen for an array
1613 constructor initializer.
1614
8893239d
RH
16152007-02-10 Richard Henderson <rth@redhat.com>, Jakub Jelinek <jakub@redhat.com>
1616
1617 * f95-lang.c (gfc_init_builtin_functions): Add __emutls_get_address
1618 and __emutls_register_common.
1619 * openmp.c (gfc_match_omp_threadprivate): Don't error if !have_tls.
1620 * trans-common.c (build_common_decl): Don't check have_tls.
1621 * trans-decl.c (gfc_finish_var_decl): Likewise.
1622 * types.def (BT_WORD, BT_FN_PTR_PTR): New.
1623 (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
1624
88116029
TB
16252007-02-09 Tobias Burnus <burnus@net-b.de>
1626
1627 PR fortran/30512
1628 * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc,
1629 gfc_conv_intrinsic_minmaxval): Use HUGE-1 for most negative integer.
1630
999ffb1a
FXC
16312007-02-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1632
1633 PR fortran/30720
1634 * trans-array.c (gfc_trans_create_temp_array): Remove use of the
1635 function argument. Always generate code for negative extent.
1636 Simplify said code.
1637 * trans-array.h (gfc_trans_create_temp_array): Change prototype.
1638 * trans-expr.c (gfc_conv_function_call): Remove use of last argument
1639 of gfc_trans_create_temp_array.
1640 * trans-intrinsic.c (gfc_conv_intrinsic_array_transfer): Likewise.
1641 * trans-stmt.c (gfc_conv_elemental_dependencies): Likewise.
1642
e35a0e64
RS
16432007-02-08 Roger Sayle <roger@eyesopen.com>
1644
1645 * trans-stmt.c (gfc_trans_forall_1): Optimize the cases where the
1646 mask expression is a compile-time constant (".true." or ".false.").
1647
a14fb6fa
FXC
16482007-02-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1649
1650 PR fortran/30611
1651 * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Evaluate
1652 arguments only once. Generate check that NCOPIES argument is not
1653 negative.
1654
8135cfa8
SK
16552007-02-04 Steven G. Kargl <kargl@gcc.gnu.org>
1656
9ca6a963 1657 PR fortran/30605
8135cfa8
SK
1658 * fortran/invoke.texi: Update documentation.
1659 * fortran/options.c (gfc_post_options): Deal with tabs with -std=f2003
1660 and -pedantic.
1661
735dfed7
KH
16622007-02-03 Kazu Hirata <kazu@codesourcery.com>
1663
1664 * trans-array.c: Fix a comment typo.
1665
36f7dcae
PT
16662007-02-03 Paul Thomas <pault@gcc.gnu.org>
1667
1668 PR fortran/30514
1669 * array.c (match_array_element_spec): If the length of an array is
1670 negative, adjust the upper limit to make it zero length.
1671
1672 PR fortran/30660
1673 * resolve.c (pure_function, resolve_function): Initialize name to
1674 null to clear up build warnings.
1675 (resolve_fl_variable): Look at components explicitly to check for
1676 default initializer, rather than using gfc_default_initializer.
1677
2e6524ba
SK
16782007-02-02 Steven G. Kargl <kargl@gcc.gnu.org>
1679
1680 PR fortran/30683
1681 * resolve.c (resolve_generic_f): Check for non-NULL sym.
1682
31120e8f
RS
16832007-02-02 Roger Sayle <roger@eyesopen.com>
1684
1685 * trans.c (gfc_build_array_ref): Use STRIP_TYPE_NOPS to eliminate
1686 NON_LVALUE_EXPR nodes and useless type conversions.
1687
d4feb3d3
PT
16882007-02-02 Paul Thomas <pault@gcc.gnu.org>
1689
1690 PR fortran/30284
1691 PR fortran/30626
1692 * trans-expr.c (gfc_conv_aliased_arg): Remove static attribute
1693 from function and make sure that substring lengths are
1694 translated.
1695 (is_aliased_array): Remove static attribute.
1696 * trans.c : Add prototypes for gfc_conv_aliased_arg and
1697 is_aliased_array.
1698 * trans-io.c (set_internal_unit): Add the post block to the
1699 arguments of the function. Use is_aliased_array to check if
1700 temporary is needed; if so call gfc_conv_aliased_arg.
1701 (build_dt): Pass the post block to set_internal_unit and
1702 add to the block after all io activiy is done.
1703
114e4d10
RS
17042007-02-01 Roger Sayle <roger@eyesopen.com>
1705
1706 * trans-array.c (gfc_conv_expr_descriptor): We don't need to use
1707 a temporary array to pass a constant non-character array constructor.
1708 Generalize the descriptor generation code to handle scalarizer
1709 "info" without an array reference.
1710
d4f8b567
RS
17112007-02-01 Roger Sayle <roger@eyesopen.com>
1712
1713 * dependency.c (gfc_check_dependency) <EXPR_ARRAY>: Implement
1714 dependency checking for array constructors.
1715
2ad62c9b
RS
17162007-02-01 Roger Sayle <roger@eyesopen.com>
1717
1718 * trans-stmt.c (compute_overall_iter_number): Document function
1719 arguments. Generalize "unconditional forall nest with constant
1720 bounds" optimization to eliminate unconditional inner loops with
1721 constant bounds.
1722
9bce3c1c
TB
17232007-01-31 Tobias Burnus <burnus@net-b.de>
1724
1725 PR fortran/30520
1726 * interface.c (compare_actual_formal): Check conformance between
1727 actual and VOLATILE dummy arguments.
1728 * symbol.c (gfc_add_volatile): Allow setting of VOLATILE
1729 multiple times in different scopes.
1730 * decl.c (gfc_match_volatile): Search symbol in host association.
1731
65de695f
KH
17322007-01-31 Kazu Hirata <kazu@codesourcery.com>
1733
1734 * simplify.c, trans-array.c: Fix comment typos.
1735
8370304d
RW
17362007-01-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1737
1738 * invoke.texi (Code Gen Options): Fix abbreviation typo.
1739 * intrinsic.texi (ACCESS, LSHIFT, RSHIFT): Fix typos.
1740
884d2e6b
SE
17412007-01-30 Steve Ellcey <sje@cup.hp.com>
1742
1743 PR fortran/30432
7efeea5e 1744 * trans-types.c (gfc_get_function_type): Do not add void_type_node
884d2e6b
SE
1745 to empty arg list.
1746 * trans-decl.c (create_function_arglist): Change assert.
1747
aec78e73
PT
17482007-01-29 Paul Thomas <pault@gcc.gnu.org>
1749
1750 PR fortran/30554
1751 * module.c (read_module): If a symbol is excluded by an ONLY
1752 clause, check to see if there is a symtree already loaded. If
1753 so, attach the symtree to the pointer_info.
1754
34462c28
TK
17552007-01-28 Thomas Koenig <Thomas.Koenig@online.de>
1756
1757 PR libfortran/30389
7efeea5e
JJ
1758 * gfortran.h: Remove gfc_simplify_init_1.
1759 * arith.h: Remove third argument from gfc_compare_string.
1760 * arith.c (gfc_compare_expression): Remove third argument
34462c28 1761 from call to gfc_compare_string.
7efeea5e 1762 (gfc_compare_string): Remove third argument xcoll_table.
34462c28 1763 Remove use of xcoll_table.
7efeea5e
JJ
1764 * misc.c (gfc_init_1): Remove call to gfc_simplify_init_1.
1765 * simplify.c (ascii_table): Remove.
34462c28 1766 (xascii_table): Likewise.
7efeea5e 1767 (gfc_simplify_achar): ICE if extract_int fails. Remove use of
34462c28 1768 ascii_table. Warn if -Wsurprising and value < 0 or > 127.
7efeea5e 1769 (gfc_simplify_char): ICE if extract_int fails. Error if
34462c28 1770 value < 0 or value > 255.
7efeea5e 1771 (gfc_simplify_iachar): Remove use of xascii_table.
34462c28 1772 Char values outside of 0..255 are an ICE.
7efeea5e
JJ
1773 (gfc_simplify_lge): Remove use of xascii_table.
1774 (gfc_simplify_lgt): Likewise.
1775 (gfc_simplify_lle): Likewise.
1776 (gfc_simplify_llt): Likewise.
1777 (invert_table): Remove.
1778 (gfc_simplify_init_1): Remove.
34462c28 1779
e8d366ec
RS
17802007-01-27 Roger Sayle <roger@eyesopen.com>
1781
1782 * trans-stmt.c (forall_info): Replace the next_nest and outer
1783 fields that previously implemented a doubly-linked list with a
1784 single prev_nest field (singly-linked list).
1785 (gfc_trans_nested_forall_loop): The nested_forall_info argument
1786 now denotes the innermost FORALL in the loop nest.
1787 (compute_overall_iter_number): Use prev_nest instead of next_nest.
1788 (gfc_trans_forall_1): Link/cons the new "info" to the head of the
1789 nested_forall_info linked list. Free the current "info" when done.
1790
a00b8d1a
PT
17912007-01-27 Paul Thomas <pault@gcc.gnu.org>
1792
1793 PR fortran/30407
1794 * trans-expr.c (gfc_conv_operator_assign): New function.
1795 * trans.h : Add prototype for gfc_conv_operator_assign.
1796 * trans-stmt.c (gfc_trans_where_assign): Add a gfc_symbol for
1797 a potential operator assignment subroutine. If it is non-NULL
1798 call gfc_conv_operator_assign instead of the first assignment.
1799 ( gfc_trans_where_2): In the case of an operator assignment,
1800 extract the argument expressions from the code for the
1801 subroutine call and pass the symbol to gfc_trans_where_assign.
1802 resolve.c (resolve_where, gfc_resolve_where_code_in_forall,
1803 gfc_resolve_forall_body): Resolve the subroutine call for
1804 operator assignments.
1805
2e6a83a7
SK
18062007-01-26 Steven Bosscher <stevenb.gcc@gmail.com>
1807 Steven G. Kargl <kargl@gcc.gnu.org>
1808
90e7f69d 1809 PR fortran/30278
2e6a83a7
SK
1810 * fortran/io.c (next_char): Deal with backslash escaped characters.
1811 Issue warnings in non -std=gnu cases.
1812 * fortran/primary.c (next_string_char): Issue warnings in non
1813
7befd5d2
TB
18142007-01-26 Tobias Burnus <burnus@net-b.de>
1815
1816 * lang-specs.h: Add support for .f03 and .F03 extensions.
1817 * gfortran.texi: Document .f03 extension.
1818 * options.c (form_from_filename): Recognize .f03.
1819
4428e682
MLI
18202007-01-25 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1821
1822 PR fortran/30437
1823 * lang.opt (Wall): Remove RejectNegative.
1824 * options.c (gfc_handle_option): Wall can be disabled.
1825 (set_Wall): Add a parameter for disabling Wall.
1826
cecc1235
JD
18272007-01-23 Jerry DeLisle <jvdelisle@gcc.gnu.org>
1828
1829 PR fortran/30532
1830 * scanner.c (load_line): Remove check fot ctrl-z and don't gobble.
1831
18322007-01-23 Paul Thomas <pault@gcc.gnu.org>
1833
1834 PR fortran/30481
1835 * match.c (gfc_match_namelist): Add check for assumed size character
1836 in namelist and provide error if found.
1837
7f4e7e0f
BM
18382007-01-21 Brooks Moses <brooks.moses@codesourcery.com>
1839
1840 * intrinsic.texi (ACHAR): Added cross-references.
1841 (CHAR): Put cross-references in alphabetical order.
1842 (IACHAR): Added cross-references.
1843 (ICHAR): Added cross-references.
1844
d565bb3a
BM
18452007-01-20 Brooks Moses <brooks.moses@codesourcery.com>
1846
1847 * intrinsic.texi: Edited all "Syntax" examples to a consistent form.
1848 (MAXVAL): Corrected description of result characteristics.
1849 (MINVAL): Same.
1850 (UMASK): Added documentation.
1851
edf1eac2
SK
18522007-01-20 Steven G. Kargl <kargl@gcc.gnu.org>
1853
1854 * openmp.c, matchexp.c, module.c, scanner.c, resolve.c, st.c,
7efeea5e 1855 parse.c, primary.c, options.c, misc.c, simplify.c: Next installment
edf1eac2
SK
1856 in the massive whitespace patch.
1857
70fadd09
RS
18582007-01-20 Roger Sayle <roger@eyesopen.com>
1859
1860 * module.c (mio_array_ref): The dimen_type fields of an array ref
1861 are an enumerated type and can't be read/written directly with a
1862 call to mio_integer. Instead loop over and cast each element.
1863
b01e2f88
RS
18642007-01-20 Roger Sayle <roger@eyesopen.com>
1865
1866 * dependency.c (gfc_full_array_ref_p): Check that ref->next is NULL,
1867 i.e. that the ARRAY_REF doesn't mention components.
1868 * trans-array.c (gfc_constant_array_constructor_p): Export external
1869 function renamed from constant_array_constructor_p.
1870 (gfc_build_constant_array_constructor): Export.
1871 (gfc_trans_array_constructor): Update call to the renamed function
1872 constant_array_constructor_p.
1873 * trans-array.h (gfc_constant_array_constructor_p): Prototype here.
1874 (gfc_build_constant_array_constructor): Likewise.
1875 * trans-expr.c (gfc_build_memcpy_call): New helper function split
1876 out from gfc_trans_array_copy.
1877 (gfc_trans_array_copy): Use gfc_build_memcpy_call.
1878 (gfc_trans_array_constructor_copy): New function to optimize
1879 assigning an entire array from a constant array constructor.
1880 (gfc_trans_assignment): Call gfc_trans_array_constructor_copy
1881 when appropriate.
1882
0eadc091
RS
18832007-01-20 Roger Sayle <roger@eyesopen.com>
1884
1885 * trans-intrinsic.c (gfc_conv_intrinsic_sign): New branchless
1886 implementation for the SIGN intrinsic with integral operands.
1887 (gfc_conv_intrinsic_minmax): Fix whitespace.
1888
e6472bce
FXC
18892007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1890
1891 * gfortran.h (gfc_options_t): Add flag_allow_leading_underscore.
1892 * lang.opt: Add -fallow-leading-underscore.
1893 * match.c (gfc_match_name): Allow leading underscore in symbol
1894 name if -fallow-leading-underscore is used.
1895 * symbol.c (gfc_get_default_type): Add special case for symbol
1896 names beginning with an underscore.
1897 * trans-decl.c (gfc_get_extern_function_decl,
1898 gfc_build_intrinsic_function_decls): Add _gfortran prefix to
1899 library symbols selected_int_kind, selected_real_kind and
1900 all specifics.
1901 * options.c (gfc_init_options, gfc_handle_option): Handle the
1902 new -fallow-leading-underscore option.
1903
7376d710
FXC
19042007-01-20 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1905
1906 PR fortran/30446
1907 * options.c (gfc_handle_module_path_options): Path used in -J
1908 option is now added to the module search path.
1909
3a53e165
RG
19102007-01-20 Richard Guenther <rguenther@suse.de>
1911
1912 PR fortran/30223
1913 * f95-lang.c (gfc_init_builtin_functions): Provide cbrt and
1914 cexpi builtins if we have TARGET_C99_FUNCTIONS. Provide
1915 sincos builtins if the target has sincos.
1916
d6e25700
BM
19172007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
1918
1919 * intrinsic.texi (MATMUL): Corrected a typo.
1920 (MAX): Separated @var arguments.
1921 (MIN): Separated @var arguments.
1922
d3dfa1fe
BM
19232007-01-19 Brooks Moses <brooks.moses@codesourcery.com>
1924
1925 * intrinsic.texi: general whitespace cleanup.
1926 (menu): Added TIME8, removed UNMASK.
1927 (AINT): Clarified argument requirement.
1928 (ANINT): Clarified argument requirement.
1929 (CEILING): Clarified argument requirement.
1930 (CHAR): Clarified argument requirement.
1931 (CMPLX): Clarified argument requirement.
1932 (DCMPLX): Clarified argument requirement.
1933 (FGET): Line rewrapping.
1934 (FLOOR): Clarified argument requirement.
1935 (GMTIME): Added documentation.
1936 (IAND): Added cross-reference.
1937 (IBCLR): Added cross-reference.
1938 (IBSET): Added cross-reference.
1939 (IEOR): Added cross-reference.
1940 (INT): Collapsed examples, clarified argument requirement.
1941 (IOR): Added cross-references.
1942 (LEN_TRIM): Corrected result kind.
1943 (LINK): Added cross-reference.
1944 (LLT): Removed "documentation pending".
1945 (LOGICAL): Added documentation.
1946 (LSHIFT): Added documentation.
1947 (LTIME): Added documentation.
1948 (MATMUL): Added documentation.
1949 (MAX): Added documentation.
1950 (MAXLOC): Added documentation.
1951 (MAXVAL): Added documentation.
1952 (MERGE): Added documentation.
1953 (MIN): Added documentation.
1954 (MINLOC): Added documentation.
1955 (MINVAL): Added documentation.
1956 (MVBITS): Moved to correct place, added documentation.
1957 (NOT): Added documentation.
1958 (PERROR): Added documentation.
1959 (RAN): Moved to correct place, added documentation.
1960 (REAL): Clarified argument requirement.
1961 (RENAME): Added documentation.
1962 (RSHIFT): Clarified argument requirement.
1963 (SIGN): Corrected table specification.
1964 (SYMLNK): Added documentation.
1965 (SYSTEM): Added documentation.
1966 (TIME): Added documentation.
1967 (TIME8): Added section and documentation.
1968 (UNMASK): Removed erroneous section.
1969
c68b5616
L
19702007-01-18 H.J. Lu <hongjiu.lu@intel.com>
1971
1972 * trans-stmt.c (compute_overall_iter_number): Fix a typo.
1973
150524cd
RS
19742007-01-18 Roger Sayle <roger@eyesopen.com>
1975
1976 * trans-expr.c (copyable_array_p): Consider user derived types without
1977 allocatable components to be copyable.
1978
3bf783b7
RS
19792007-01-18 Roger Sayle <roger@eyesopen.com>
1980
1981 * trans-stmt.c (compute_overall_iter_number): Enhance to precompute
1982 the number of interations in unconditional FORALL nests with constant
1983 bounds.
1984
eedeea04
FXC
19852007-01-18 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1986 Tobias Burnus <burnus@net-b.de>
1987
1988 PR libfortran/29649
1989 * gfortran.h (gfc_option_t): Add flag_dump_core.
1990 * lang.opt: Add -fdump-core option.
1991 * invoke.texi: Document the new options.
1992 * trans-decl.c (gfc_build_builtin_function_decls): Add new
1993 options to the call to set_std.
1994 * options.c (gfc_init_options, gfc_handle_option): Set the
1995 new options.
1996
9dd8004e
PT
19972007-01-17 Paul Thomas <pault@gcc.gnu.org>
1998
1999 PR fortran/30476
2000 * module.c (load_generic_interfaces): Make the marking of the
2001 symbol as ambiguous conditional on the module names being
2002 different.
2003 (write_generic): Ensure that the generic interface has a
2004 non-NULL module field.
2005
bfcabc6c
RS
20062007-01-16 Roger Sayle <roger@eyesopen.com>
2007
2008 PR fortran/30404
2009 * trans-stmt.c (forall_info): Remove pmask field.
2010 (gfc_trans_forall_loop): Remove NVAR argument, instead assume that
2011 NVAR covers all the interation variables in the current forall_info.
2012 Add an extra OUTER parameter, which specified the loop header in
2013 which to place mask index initializations.
2014 (gfc_trans_nested_forall_loop): Remove NEST_FLAG argument.
2015 Change the semantics of MASK_FLAG to only control the mask in the
2016 innermost loop.
2017 (compute_overall_iter_number): Optimize the trivial case of a
2018 top-level loop having a constant number of iterations. Update
2019 call to gfc_trans_nested_forall_loop. Calculate the number of
2020 times the inner loop will be executed, not to size of the
2021 iteration space.
2022 (allocate_temp_for_forall_nest_1): Reuse SIZE as BYTESIZE when
2023 sizeof(type) == 1. Tidy up.
2024 (gfc_trans_assign_need_temp): Remove NEST_FLAG argument from calls
2025 to gfc_trans_nested_forall_loop.
2026 (gfc_trans_pointer_assign_need_temp): Likewise.
2027 (gfc_trans_forall_1): Remove unused BYTESIZE, TMPVAR, SIZEVAR and
2028 LENVAR local variables. Split mask allocation into a separate
2029 hunk/pass from mask population. Use allocate_temp_for_forall_nest
2030 to allocate the FORALL mask with the correct size. Update calls
2031 to gfc_trans_nested_forall_loop.
2032 (gfc_evaluate_where_mask): Update call to
2033 gfc_trans_nested_forall_loop.
2034 (gfc_trans_where_2): Likewise.
2035
9ebe2d22
PT
20362007-01-15 Paul Thomas <pault@gcc.gnu.org>
2037
2038 PR fortran/28172
2039 * trans-stmt.c (gfc_trans_call): If it does not have one, get
2040 a backend_decl for an alternate return.
2041
2042 PR fortran/29389
2043 * resolve.c (pure_function): Statement functions are pure. Note
2044 that this will have to recurse to comply fully with F95.
2045
2046 PR fortran/29712
2047 * resolve.c (resolve_function): Only a reference to the final
2048 dimension of an assumed size array is an error in an inquiry
2049 function.
2050
2051 PR fortran/30283
2052 * resolve.c (resolve_function): Make sure that the function
2053 expression has a type.
2054
c89686a8
PT
20552007-01-14 Paul Thomas <pault@gcc.gnu.org>
2056
2057 PR fortran/30410
2058 * trans-decl.c (gfc_sym_mangled_function_id): Module, external
2059 symbols must not have the module name prepended.
2060
90d715b0
TK
20612007-01-11 Thomas Koenig <Thomas.Koenig@online.de>
2062
2063 PR libfortran/30415
7efeea5e 2064 * iresolve.c (gfc_resolve_maxloc): If the rank
90d715b0
TK
2065 of the return array is nonzero and we process an
2066 integer array smaller than default kind, coerce
2067 the array to default integer.
7efeea5e 2068 * iresolve.c (gfc_resolve_minloc): Likewise.
90d715b0 2069
4d499824
BM
20702007-01-11 Brooks Moses <brooks.moses@codesourcery.com>
2071
2072 * simplify.c: Update copyright to 2007.
2073 * scanner.c: Same.
2074
1bc23383
FXC
20752007-01-11 Francois-Xavier Coudert <coudert@clipper.ens.fr>
2076
2077 PR fortran/30430
2078 * scanner.c (gfc_release_include_path): Free gfc_option.module_dir
2079 only once!
2080
3775c3dc
BM
20812007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
2082
2083 * simplify.c (gfc_simplify_ibclr): Fix POS comparison.
2084 (gfc_simplify_ibset): Same.
2085
f1dcb9bf
BM
20862007-01-09 Brooks Moses <brooks.moses@codesourcery.com>
2087
2088 PR 30381
2089 PR 30420
2090 * simplify.c (convert_mpz_to_unsigned): New function.
2091 (convert_mpz_to_signed): New function, largely based on
2092 twos_complement().
2093 (twos_complement): Removed.
2094 (gfc_simplify_ibclr): Add conversions to and from an
2095 unsigned representation before bit-twiddling.
2096 (gfc_simplify_ibset): Same.
2097 (gfc_simplify_ishftc): Add checks for overly large
2098 constant arguments, only check the third argument if
2099 it's present, carry over high bits into the result as
2100 appropriate, and perform the final conversion back to
2101 a signed representation using the correct sign bit.
2102 (gfc_simplify_not): Removed unnecessary masking.
2103
0b30ba3b
JD
21042007-01-09 Paul Thomas <pault@gcc.gnu.org>
2105
2106 PR fortran/30408
2107 * resolve.c (resolve_code): Use the code->expr character length
2108 directly to set length of llen.
2109
21102007-01-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2111
2112 PR fortran/30408
2113 * lang.opt: Add Wcharacter_truncation option.
2114 * options.c (gfc_init_options): Initialize
2115 gfc_option.warn_character_truncation to zero.
2116 (gfc_handle_option): Add case for OPT_Wcharacter_truncation.
2117
b251af97
SK
21182007-01-08 Steven G. Kargl <kargl@gcc.gnu.org>
2119
2120 * interface.c, intrinsic.c, gfortranspec.c, io.c, f95-lang.c,
7efeea5e 2121 iresolve.c, match.c: Update Copyright years. Whitespace.
b251af97 2122
7fb41a42
RG
21232007-01-08 Richard Guenther <rguenther@suse.de>
2124
2125 * trans-io.c (transfer_array_desc): Use build_int_cst instead
2126 of build_int_cstu.
2127
62511fb1
RS
21282007-01-08 Roger Sayle <roger@eyesopen.com>
2129
2130 * trans-array.c (constant_array_constructor_p): New function to
2131 determine whether an array constructor consists only of constant
2132 elements, and if so return it's size.
2133 (gfc_build_constant_array_constructor): Construct a statically
2134 initialized gfortran array for a given EXPR_ARRAY.
2135 (gfc_trans_constant_array_constructor): Efficiently scalarize
2136 a constant array constructor.
7efeea5e 2137 (gfc_trans_array_constructor): Tidy up use of CONST_STRING.
62511fb1
RS
2138 Special case scalarization of constant array constructors, all of
2139 whose elements are specified, using constant_array_constructor_p
2140 and gfc_trans_constant_array_constructor.
2141 (gfc_conv_scalarized_array_ref): Check whetger info->offset is zero
2142 before adding it to index, to avoid creating a NON_LVALUE_EXPR.
2143
0979f01d
KH
21442007-01-08 Kazu Hirata <kazu@codesourcery.com>
2145
2146 gfortran.texi: Fix typos.
2147
636dff67
SK
21482007-01-07 Steven G. Kargl <kargl@gcc.gnu.org>
2149
2150 * decl.c, dump-parse-tree.c, error.c, data.c, expr.c, dependency.c,
7efeea5e 2151 convert.c: Update Copyright dates. Fix whitespace.
636dff67 2152
cd85e27a
BF
21532007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
2154
2155 * data.c (gfc_assign_data_value): Fix whitespace.
2156
dbfd1e01
BF
21572007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
2158
2159 * trans-array.c (gfc_trans_create_temp_array, gfc_array_init_size):
2160 Commentary typo fix.
2161
be58af47
BF
21622007-01-07 Bernhard Fischer <aldot@gcc.gnu.org>
2163
2164 PR fortran/27698
2165 * match.c (gfc_match_name): Print diagnostics for invalid
2166 character in names.
2167
b7fdd4ed
SK
21682007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
2169
2170 * array.c: Fix whitespace in comment table.
2171
65f8144a
SK
21722007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
2173
7efeea5e 2174 * array.c, bbt.c, check.c: Update copyright years. Whitespace.
65f8144a
SK
2175
21762007-01-06 Steven G. Kargl <kargl@gcc.gnu.org>
74e3459c
SK
2177
2178 * arith.c: Update copyright years. Whitespace.
2179
a3018753
RS
21802007-01-05 Roger Sayle <roger@eyesopen.com>
2181
2182 * trans-expr.c (gfc_trans_assignment_1): New subroutine to scalarize
2183 array assignments split out from gfc_trans_assignment.
2184 (gfc_trans_array_copy): New function to implement array to array
2185 copies via calls to __builtin_memcpy.
2186 (copyable_array_p): New helper function to identify an array of
2187 simple/POD types, that may be copied/assigned using memcpy.
2188 (gfc_trans_assignment): Use gfc_trans_array_copy to handle simple
2189 whole array assignments considered suitable by copyable_array_p.
2190 Invoke gfc_trans_assignment_1 to perform the fallback scalarization.
2191
0f0707d1
RS
21922007-01-05 Roger Sayle <roger@eyesopen.com>
2193
2194 * trans-array.c (gfc_trans_array_constructor_value): Make the
2195 static const "data" array as TREE_READONLY.
2196 * trans-stmt.c (gfc_trans_character_select): Likewise.
2197
c96111c0
RS
21982007-01-05 Roger Sayle <roger@eyesopen.com>
2199
7efeea5e 2200 * trans-array.c (gfc_conv_loop_setup): Test whether the loop
c96111c0
RS
2201 stride is one, to avoid fold_build2 introducing a useless
2202 NON_LVALUE_EXPR node.
2203
ee167bcb
TB
22042007-01-05 Tobias Burnus <burnus@net-b.de>
2205
2206 * symbol.c (check_conflict): Fix error message.
2207
2220652d
PT
22082007-01-05 Paul Thomas <pault@gcc.gnu.org>
2209
2210 PR fortran/23232
2211 * decl.c (gfc_in_match_data, gfc_set_in_match_data): New
2212 functions to signal that a DATA statement is being matched.
2213 (gfc_match_data): Call gfc_set_in_match_data on entry and on
2214 exit.
2215 * gfortran.h : Add prototypes for above.
2216 * expr.c (check_init_expr): Avoid check on parameter or
2217 variable if gfc_in_match_data is true.
2218 (gfc_match_init_expr): Do not call error on non-reduction of
2219 expression if gfc_in_match_data is true.
2220
2221 PR fortran/27996
2222 PR fortran/27998
2223 * decl.c (gfc_set_constant_character_len): Add boolean arg to
2224 flag array constructor resolution. Warn if string is being
2225 truncated. Standard dependent error if string is padded. Set
2226 new arg to false for all three calls to
2227 gfc_set_constant_character_len.
2228 * match.h : Add boolean arg to prototype for
2229 gfc_set_constant_character_len.
2230 * gfortran.h : Add warn_character_truncation to gfc_options.
2231 * options.c (set_Wall): Set warn_character_truncation if -Wall
2232 is set.
2233 * resolve.c (resolve_code): Warn if rhs string in character
2234 assignment has to be truncated.
2235 * array.c (gfc_resolve_character_array_constructor): Set new
2236 argument to true for call to gfc_set_constant_character_len.
2237
f17facac
TB
22382007-01-05 Tobias Burnus <burnus@net-b.de>
2239
2240 PR fortran/29624
2241 * interface.c (compare_parameter_intent): New function.
2242 (check_intents): Support pointer intents.
2243 * symbol.c (check_conflict): Support pointer intents,
2244 better conflict_std message.
2245 * expr.c (gfc_check_assign,gfc_check_pointer_assign):
2246 Support pointer intents.
2247 * resolve.c (resolve_deallocate_expr,resolve_allocate_expr):
2248 Support pointer intents.
2249
c7944152
BM
22502007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2251
2252 PR 30371
2253 * check.c (gfc_check_kill_sub): Add checks for non-scalar
2254 arguments.
2255
ea8dda63
BM
22562007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
2257
2258 * intrinsic.texi: Minor cleanup, reflowing overlong
2259 paragraphs, and correcting whitespace.
2260
bc5b7642
BM
22612007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
2262
2263 * intrinsic.texi (LBOUND): Add documentation.
2264 (LGE): Add documentation.
2265 (LGT): Add documentation.
2266 (LINK): Add documentation.
2267 (LLE): Add documentation.
2268 (LLT): Add documentation.
2269 (LNBLNK): Add documentation.
2270 (UBOUND): Add documentation.
2271 (UNLINK): Add documentation.
2272
6d413586
BM
22732007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
2274
2275 * intrinsic.texi (IAND): Clarify argument specifications.
2276 (IBCLR): Add documentation.
2277 (IBITS): Add documentation.
2278 (IBSET): Add documentation.
2279 (IEOR): Add documentation.
2280 (IERRNO): Add documentation.
2281 (INDEX): Add documentation.
2282 (IOR): Add documentation.
2283 (ISHFT): Add documentation.
2284 (ISHFTC): Add documentation.
2285 (KILL): Add documentation.
2286 (LEN_TRIM): Add documentation.
2287
3ab7b3de
BM
22882007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
2289
2290 PR 30235
2291 * interface.c (compare_actual_formal): check for
2292 alternate returns when iterating over non-present
2293 arguments.
2294
5f9a37a6
BM
22952007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
2296
2297 * invoke.texi: Update manpage copyright to include 2007.
2298
2553e4e0
BM
22992007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
2300
2301 * gfortran.texi: Update copyright to include 2007.
2302 * intrinsic.texi: Update copyright to include 2007.
2303 * invoke.texi: Update copyright to include 2007.
2304
e01f74e0
TB
23052007-01-02 Tobias Burnus <burnus@net-b.de>
2306 Jakub Jelinek <jakub@redhat.com>
2307
2308 PR fortran/30276
2309 * scanner.c (open_included_file): Revert patch.
2310 (gfc_open_included_file): Support absolute pathnames.
2311 (gfc_open_intrinsic_module): Support absolute pathnames.
2312
de43c613
BM
23132007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2314
2315 * gfortran.texi (GNU Fortran and GCC): Rewrite
2316
e6b38f67
BM
23172007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2318
2319 * gfortran.texi (Introduction): Lower "Part I:
2320 Introduction" to a chapter, renumber Parts II and III to
2321 Parts I and II.
2322 * intrinsic.texi (Introduction): Rename to "Introduction
2323 to Intrinsics" to avoid conflict with the new chapter.
2324
e1b4184c
BM
23252007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2326
2327 * intrinsic.texi (Introduction): Rewrite first paragraph.
2328
4e8b3590
BM
23292007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2330
2331 * invoke.texi (OpenMP): Added index entry.
2332 * gfortran.texi (title page): Removed erroneous '*'.
2333
11de78ff
BM
23342007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2335
2336 * gfortran.texi (GFORTRAN_DEFAULT_RECL): Added units
2337 to description.
2338 (Extensions): Miscellaneous minor rewriting and copyediting.
2339 (BOZ-literal constants): Renamed from Hexadecimal constants.
2340 (Hollerith constants support): Added explanation and
2341 suggestions for standard-conforming modern equivalents.
2342
4ba96c02
BM
23432007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2344
2345 * intrinsic.texi: Improvements to index entries; change
2346 @findex entries to @cindex entries.
2347 * invoke.texi: Standardize and improve index entries.
2348 * gfortran.texi: Fix @code in one index entry.
2349
40746dcc
BM
23502007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2351
2352 * invoke.texi: Change @code-type macros to appropriate
2353 variants (@command, @option, etc.)
2354 * gfortran.texi: Same.
2355
0c5a1cbc
BM
23562007-01-03 Brooks Moses <brooks.moses@codesourcery.com>
2357
2358 * intrinsic.texi: Various minor cleanups.
2359
b17a1b93
SK
23602007-01-02 Steven G. Kargl <kargls@comcast.net>
2361
2362 * trans-intrinsic.c (gfc_conv_intrinsic_ibits): Fix call to
2363 build_int_cst.
2364
f1441c81
TB
23652007-01-02 Tobias Burnus <burnus@net-b.de>
2366
2367 PR fortran/30276
2368 * scanner.c (open_included_file): Support full-path filenames.
2369
ff604888
PT
23702007-01-02 Paul Thomas <pault@gcc.gnu.org>
2371
2372 PR fortran/20896
2373 * interface.c (check_sym_interfaces): Remove call to
2374 resolve_global_procedure.
2375 gfortran.h : Remove prototype for resolve_global_procedure.
2376 resolve.c (resolve_global_procedure): Add static attribute
2377 to function declaration.
2378
afdc40f5 23792007-01-01 Steven G. Kargl <kargls@comcast.net>
20a037d5 2380
afdc40f5
SK
2381 * ChangeLog: Copy to ...
2382 * ChangeLog-2006: here.