]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
tree-ssa-structalias.c (merge_graph_nodes): Fix uninitialised warnings.
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
32cafd73
MH
12005-07-22 Manfred Hollstein <mh@suse.com>
2
3 * match.c (gfc_match_symbol): Fix uninitialised warnings.
4 * matchexp.c (gfc_match_expr): Likewise.
5
4038c495
GB
62005-07-20 Giovanni Bajo <giovannibajo@libero.it>
7
8 Make CONSTRUCTOR use VEC to store initializers.
9 * trans-array.c (gfc_build_null_descriptor,
10 gfc_trans_array_constructor_value, gfc_conv_array_initializer):
11 Update to cope with VEC in CONSTRUCTOR_ELTS.
12 * trans-common.c (create_common): Likewise.
13 * trans-expr.c (gfc_conv_structure): Likewise.
14 * trans-stmt.c (gfc_trans_character_select): Use
15 build_constructor_from_list instead of build_constructor.
16
24d36d28
PT
172005-07-19 Paul Thomas <pault@gcc.gnu.org>
18
19 PR fortran/16940
20 * resolve.c (resolve_symbol): A symbol with FL_UNKNOWN
21 is matched against interfaces in parent namespaces. If there
22 the symtree is set to point to the interface.
23
7e2eba4b
DE
242005-07-16 David Edelsohn <edelsohn@gnu.org>
25
26 PR fortran/21730
27 * decl.c (do_parm): Adjust character initializer to character length
28 of symbol before assigning.
29
e8f35d4d
SE
302005-07-14 Steve Ellcey <sje@cup.hp.com>
31
32 * trans-types.c (MAX_REAL_KINDS): Increase from 4 to 5.
33
94b00ee4
JJ
342005-07-14 Jakub Jelinek <jakub@redhat.com>
35
d71b89ca
JJ
36 * gfortran.h (MAX_ERROR_MESSAGE): Remove.
37 (gfc_error_buf): Add allocated and index fields. Change message
38 field from array to a pointer.
39 * error.c (use_warning_buffer, error_ptr, warning_ptr): Remove.
40 (cur_error_buffer): New variable.
41 (error_char): Use cur_error_buffer->{message,index} instead of
42 {warning,error}_{buffer.message,ptr}. Reallocate message buffer
43 if too small.
44 (gfc_warning, gfc_notify_std, gfc_error, gfc_error_now): Setup
45 cur_error_buffer and its index rather than {warning,error}_ptr
46 and use_warning_buffer.
47 (gfc_warning_check, gfc_error_check): Don't print anything if
48 message is NULL.
49 (gfc_push_error): Allocate saved message with xstrdup.
50 (gfc_pop_error): Free saved message with gfc_free.
51 (gfc_free_error): New function.
52 * primary.c (match_complex_constant): Call gfc_free_error if
53 gfc_pop_error will not be called.
54 * match.c (gfc_match_st_function): Likewise.
55
94b00ee4
JJ
56 PR fortran/22417
57 * scanner.c (preprocessor_line): Don't treat flag 3 as the start of a new
58 file. Fix file left but not entered warning.
59
4a90ae54
FW
602005-07-14 Feng Wang <fengwang@nudt.edu.cn>
61 Steven G. Kargl <kargls@comcast.net>
62
63 * array.c (resolve_character_array_constructor): Allocate gfc_charlen
64 for the array and attach to namespace list for automatic deallocation.
65
d1f3352f
AS
662005-07-13 Andreas Schwab <schwab@suse.de>
67
68 * Make-lang.in (fortran/dependency.o): Depend on
69 $(GFORTRAN_TRANS_DEPS).
70
fcf3be37
JJ
712005-07-11 Jakub Jelinek <jakub@redhat.com>
72
73 * trans-stmt.c (gfc_trans_forall_loop): Clear maskindex before
74 the outermost loop.
75 (gfc_trans_assign_need_temp, gfc_trans_pointer_assign_need_temp,
76 gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_2):
77 Don't clear maskindexes here.
78
820cc88f
DB
792005-07-08 Daniel Berlin <dberlin@dberlin.org>
80
81 * trans-decl.c (create_function_arglist): DECL_ARG_TYPE_AS_WRITTEN
82 is removed.
83
0921bc44
JJ
842005-07-08 Jakub Jelinek <jakub@redhat.com>
85
86 * primary.c (gfc_match_rvalue): Handle ENTRY the same way
87 as FUNCTION.
88
4c3a6ca1
JJ
892005-07-07 Jakub Jelinek <jakub@redhat.com>
90
d1e3d6ae
JJ
91 * scanner.c (load_line): Add pbuflen argument, don't make
92 buflen static. If maxlen == 0 or preprocessor_flag,
93 don't truncate at buflen, but at maxlen. In xrealloc add
94 1 byte at the end for the terminating '\0'. Don't fill
95 with spaces up to buflen, but gfc_option.fixed_line_length.
96 (load_file): Adjust load_line caller. Add line_len variable.
97
4c3a6ca1
JJ
98 * scanner.c (preprocessor_line): Only set current_file->line when errors
99 have not been encountered. Warn and don't crash if a file leave
100 preprocessor line has no corresponding entering line. Formatting.
101
24bce1fd
SB
1022005-07-07 Steven Bosscher <stevenb@suse.de>
103
104 * primary.c (match_hollerith_constant): Use int, not unsigned int,
105 for the hollerith length. Fix indentation.
106
378f73af
FW
1072005-07-07 Feng Wang <fengwang@nudt.edu.cn>
108
109 PR fortran/16531
110 PR fortran/15966
111 PR fortran/18781
112 * arith.c (gfc_hollerith2int, gfc_hollerith2real,
113 gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
114 New functions.
115 (eval_intrinsic): Don't evaluate if Hollerith constant arguments exist.
116 * arith.h (gfc_hollerith2int, gfc_hollerith2real,
117 gfc_hollerith2complex, gfc_hollerith2character, gfc_hollerith2logical):
118 Add prototypes.
119 * expr.c (free_expr0): Free memery allocated for Hollerith constant.
120 (gfc_copy_expr): Allocate and copy string if Expr is from Hollerith.
121 (gfc_check_assign): Enable conversion from Hollerith to other.
122 * gfortran.h (bt): Add BT_HOLLERITH.
123 (gfc_expr): Add from_H flag.
124 * intrinsic.c (gfc_type_letter): Return 'h' for BT_HOLLERITH.
125 (add_conversions): Add conversions from Hollerith constant to other.
126 (do_simplify): Don't simplify if Hollerith constant arguments exist.
127 * io.c (resolve_tag): Enable array in FORMAT tag under GFC_STD_GNU.
128 * misc.c (gfc_basetype_name): Return "HOLLERITH" for BT_HOLLERITH.
129 (gfc_type_name): Print "HOLLERITH" for BT_HOLLERITH.
130 * primary.c (match_hollerith_constant): New function.
131 (gfc_match_literal_constant): Add match Hollerith before Integer.
132 * simplify.c (gfc_convert_constant): Add conversion from Hollerith
133 to other.
134 * trans-const.c (gfc_conv_constant_to_tree): Use VIEW_CONVERT_EXPR to
135 convert Hollerith constant to tree.
136 * trans-io.c (gfc_convert_array_to_string): Get array's address and
137 length to set string expr.
138 (set_string): Deal with array assigned Hollerith constant and character
139 array.
140 * gfortran.texi: Document Hollerith constants as extention support.
141
9f9d4c5f
FW
1422005-07-07 Feng Wang <fengwang@nudt.edu.cn>
143
144 PR fortran/22327
145 * trans-array.c (gfc_trans_array_constructor_value): Fix index of data.
146
3c2d01f1
JJ
1472005-07-07 Jakub Jelinek <jakub@redhat.com>
148
149 * decl.c (gfc_match_entry): Allow ENTRY without parentheses
150 even in FUNCTIONs.
151
5189dd41
KH
1522005-07-03 Kazu Hirata <kazu@codesourcery.com>
153
9bce667c 154 * gfortran.texi, intrinsic.texi: Fix typos.
5189dd41
KH
155 * symbol.c: Fix a comment typo.
156
0ce0154c
KG
1572005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
158
159 * error.c (error_printf, error_print): Use ATTRIBUTE_GCC_GFC.
160 * gfortran.h (ATTRIBUTE_GCC_GFC): New.
161 (gfc_warning, gfc_warning_now, gfc_error, gfc_error_now,
162 gfc_fatal_error, gfc_internal_error, gfc_notify_std): Use
163 ATTRIBUTE_GCC_GFC.
164
365ff3b9
FXC
1652005-07-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
166
167 PR fortran/20842
168 * io.c (match_dt_element): Do not allow END tag in PRINT or
169 WRITE statement.
170
c85ce869
JM
1712005-07-02 Joseph S. Myers <joseph@codesourcery.com>
172
173 * lang.opt: Remove "." from end of help texts.
174
f60d6481
JD
1752005-07-01 Jerry DeLisle <jvdelisle@verizon.net>
176
365ff3b9
FXC
177 * gfortran.texi: Fix typos and grammar.
178 * invoke.texi: Fix typos and grammar.
179 * intrinsic.texi: Add documentaion for eoshift, epsilon, etime, and
180 exit. Fixed alignment of text for dtime syntax. Fixed a few line
181 lengths.
f60d6481 182
7a1df4e2
JJ
1832005-06-25 Jakub Jelinek <jakub@redhat.com>
184
185 * trans-stmt.c (gfc_trans_forall_1): Prefer to use smaller logical
186 type than boolean_type_node.
187
ab57747b
KC
1882005-06-25 Kelley Cook <kcook@gcc.gnu.org>
189
190 * all files: Update FSF address in copyright headers.
191
1e399e23
JD
1922005-06-24 Jerry DeLisle <jvdelisle@verizon.net>
193
194 PR fortran/21915
ce5d6962
JD
195 * gfortran.h: Add symbols for new intrinsic functions.
196 * intrinsic.c: Add new functions acosh, asinh, and atanh.
197 * intrinsic.h: Add prototypes for the new functions.
198 * iresolve.c (gfc_resolve_acosh): New function.
199 (gfc_resolve_asinh): New function.
200 (gfc_resolve_atanh): New function.
201 * mathbuiltins.def: Add defines.
202 * simplify.c (gfc_simplify_acosh): New function.
203 (gfc_simplify_asinh): New function.
204 (gfc_simplify_atanh): New function.
1e399e23 205
a3504e64
FW
2062005-06-24 Feng Wang <fengwang@nudt.edu.cn>
207
208 * simplify.c (gfc_simplify_modulo): Don't clear before get result.
209
2102005-06-22 Paul Brook <paul@codesourcery.com>
bd83e614
PB
211
212 PR fortran/21034
213 * symbol.c (gfc_is_var_automatic): New function.
214 (save_symbol): Use it.
215
15f9ce29
TS
2162005-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
217 Paul Thomas <pault@gcc.gnu.org>
218
219 PR fortran/22010
220 Port from g95.
221 * module.c (mio_namelist): New function. Correct to set
222 namelist_tail and to give error on renaming namelist by use
223 association.
224 (mio_symbol): Call mio_namelist.
225
131c66cd
FXC
2262005-06-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
227
228 * gfortran.h: Add flag_backslash compile-time option.
229 * lang.opt: Add support for -fbackslash option.
230 * options.c: Likewise.
231 * primary.c: Implement behavior for -fno-backslash.
232 * invoke.texi: Add doc for -fbackslash option.
233 * gfortran.texi: Remove mention of -fno-backslash as a
234 possible extension.
235
2362005-06-20 Steven G. Kargl <kargls@comcast.net>
cb1d4dce
SK
237 (port from g95)
238
239 PR fortran/21257
240 * match.c (gfc_match_label): Detect duplicate labels.
241
242
2432005-06-20 Erik Edelmann <erik.edelmann@iki.fi>
b376133b
EE
244
245 * intrinsic.c (check_intrinsic_standard): Fix spelling error
246 in a warning message.
247
b7263e8f
EE
2482005-06-18 Erik Edelman <eedelman@acclab.helsinki.fi>
249 Steven G. Kargl <kargls@comast.net>
250
251 PR fortran/19926
252 * primary.c (gfc_match_rvalue): expr_type can be EXPR_CONSTANT
253 for an array; check that sym->as is NULL.
254
255
14ceeb32
SK
2562005-06-18 Steven G. Kargl <kargls@comcast.net>
257
258 * intrinsic.c (gfc_intrinsic_func_interface): Enable errors for generic
259 functions whose simplification routine return FAILURE.
260
7bfb5ccc
GK
2612005-06-13 Geoffrey Keating <geoffk@apple.com>
262
263 * Make-lang.in (fortran.install-man): Doesn't depend on installdirs.
264 (rule for installing f95.1 manpage): Does depend on installdirs.
265
a8e12e4d
TS
2662005-06-13 Jakub Jelinek <jakub@redhat.com>
267
268 PR fortran/22038
269 * trans-stmt.c (gfc_trans_forall_loop): Only increment maskindex
270 in the innermost loop.
271
60df4c1c
JJ
272 * trans-expr.c (gfc_conv_function_call): Return int instead of
273 void. Use a local variable for has_alternate_specifier and
274 return it. Avoid modification of function type's return value
275 in place, since it may be shared.
276 * trans.h (has_alternate_specifier): Remove.
277 (gfc_conv_function_call): Change return type.
278 * trans-stmt.c (has_alternate_specifier): Remove.
279 (gfc_trans_call): Add a local has_alternate_specifier variable,
280 set it from gfc_conv_function_call return value.
281
4c73896d
RH
2822005-06-12 Richard Henderson <rth@redhat.com>
283
284 * trans-array.c (gfc_conv_descriptor_data_get): Rename from
285 gfc_conv_descriptor_data. Cast the result to the DATAPTR type.
286 (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): New.
287 (gfc_trans_allocate_array_storage): Use them.
288 (gfc_array_allocate, gfc_array_deallocate): Likewise.
289 (gfc_trans_dummy_array_bias, gfc_conv_expr_descriptor): Likewise.
290 (gfc_trans_deferred_array): Likewise.
291 * trans-expr.c (gfc_conv_function_call): Likewise.
292 (gfc_trans_subcomponent_assign): Likewise.
293 (gfc_trans_pointer_assignment): Likewise.
294 * trans-intrinsic.c (gfc_conv_allocated): Likewise.
295 * trans-types.c (gfc_array_descriptor_base): New.
296 (gfc_get_element_type): Use GFC_TYPE_ARRAY_DATAPTR_TYPE.
297 (gfc_get_array_descriptor_base): Break out from ...
298 (gfc_get_array_type_bounds): ... here. Create type variants.
299 * trans-array.h (gfc_conv_descriptor_data_get): Declare.
300 (gfc_conv_descriptor_data_set, gfc_conv_descriptor_data_addr): Declare.
301
a8e12e4d 3022005-06-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
b49a3de7
TS
303
304 * trans-expr.c (gfc_conv_variable): POINTER results don't need f2c
305 calling conventions. Look at sym instead of sym->result.
306 * trans-types.c (gfc_sym_type): Remove workaround for frontend bug.
307 Remove condition which is always false with workaround removed.
308 (gfc_return_by_reference): Always look at sym, never at sym->result.
309
364667a1 3102005-06-11 Steven G. Kargl <kargls@comcast.net>
4c73896d 311
364667a1
SK
312 PR fortran/17792
313 PR fortran/21375
314 * trans-array.c (gfc_array_deallocate): pstat is new argument
315 (gfc_array_allocate): update gfc_array_deallocate() call.
316 (gfc_trans_deferred_array): ditto.
317 * trans-array.h: update gfc_array_deallocate() prototype.
318 * trans-decl.c (gfc_build_builtin_function_decls): update declaration
319 * trans-stmt.c (gfc_trans_deallocate): Implement STAT= feature.
320
ce677da7 3212005-06-07 Jerry DeLisle <jvdelisle@verizon.net>
3435a71e
JD
322
323 * intrinsic.texi: Add documentation for dcmplx, digits,
324 dim, idim, ddim, dot_product, dprod, dreal, and dtime.
325
b4cbcd1a
TS
3262005-06-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
327
86403f0f
TS
328 PR fortran/21912
329 * trans-array.c (gfc_trans_array_constructor_value): Slightly reorder.
330 Generate correct exit condition in case of negative steps in
331 implied-do loops.
332
b4cbcd1a
TS
333 * invoke.texi: Fix description of flags required for compatibility
334 with g77.
335
8e400578
TS
3362005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
337 Erik Schnetter <schnetter@aei.mpg.de>
338
2d6ea0b4 339 PR fortran/19195
8e400578
TS
340 * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment,
341 remove FIXME comment.
342
29405f94
TS
3432005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
344
345 * match.c (match_forall_iterator): Don't immediately give error if '='
346 is not followed by an expression.
347
3482005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
ab21e272
TS
349 Erik Edelmann <erik.edelmann@iki.fi>
350
351 * array.c (gfc_match_array_constructor): Disallow empty array
352 constructor.
353
323d0f0b
JD
3542005-06-03 Jerry DeLisle <jvdelisle@verizon.net>
355
356 * fortran/intrinsic.texi: Add documentation for
357 command_argument_count, conjg, dconjg, count,
358 cpu_time, cshift, date_and_time, dble, dfloat.
359
c3a29423
RS
3602005-06-01 Roger Sayle <roger@eyesopen.com>
361
362 * intrinsic.c (add_conv): No longer take a "simplify" argument as
363 its always gfc_convert_constant, instead take a "standard" argument.
364 (add_conversions): Change all existing calls of add_conv to pass
365 GFC_STD_F77 as appropriate. Additionally, if we're allowing GNU
366 extensions support integer-logical and logical-integer conversions.
367 (gfc_convert_type_warn): Warn about use the use of these conversions
368 as a extension when appropriate, i.e. with -pedantic.
369 * simplify.c (gfc_convert_constant): Add support for integer to
370 logical and logical to integer conversions, using gfc_int2log and
371 gfc_log2int.
372 * arith.c (gfc_log2int, gfc_int2log): New functions.
373 * arith.h (gfc_log2int, gfc_int2log): Prototype here.
374 * gfortran.texi: Document this new GNU extension.
375
f7f7ac5a
PT
3762005-06-01 Paul Thomas <pault@gcc.gnu.org>
377
378 * fortran/trans-expr.c (gfc_conv_variable): Clean up bracketting.
379 * fortran/trans-expr.c (gfc_conv_function_call): Insert spaces.
380 Correct comments and replace convert of integer_one_node with
381 build_int_cst.
382
cf4d246b
JJ
3832005-06-01 Jakub Jelinek <jakub@redhat.com>
384
385 PR fortran/21729
386 * resolve.c (resolve_contained_fntype): Use sym->attr.untyped
387 to avoid giving error multiple times.
388 (resolve_entries): Don't error about BT_UNKNOWN here.
389 (resolve_unknown_f): Capitalize IMPLICIT for consistency.
390 (resolve_fntype): New function.
391 (gfc_resolve): Call resolve_fntype.
392
bf3ddf8a
FW
3932005-06-01 Feng Wang <fengwang@nudt.edu.cn>
394
395 PR fortran/20883
396 * fortran/io.c (resolve_tag): Fix error message.
397
4c714dd4
KG
3982005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
399
400 * fortran/trans-decl.c: Don't include errors.h.
401 * fortran/Make-lang.in: Updates dependencies.
402
2b052ce2
PT
4032005-05-31 Paul Thomas <pault@gcc.gnu.org>
404
405 PR fortran/18109
406 PR fortran/18283
407 PR fortran/19107
408 * fortran/trans-array.c (gfc_conv_expr_descriptor): Obtain the
409 string length from the expression typespec character length value
410 and set temp_ss->stringlength and backend_decl. Obtain the
411 tree expression from gfc_conv_expr rather than gfc_conv_expr_val.
412 Dereference the expression to obtain the character.
413 * fortran/trans-expr.c (gfc_conv_component_ref): Remove the
414 dereference of scalar character pointer structure components.
415 * fortran/trans-expr.c (gfc_trans_subarray_assign): Obtain the
416 string length for the structure component from the component
417 expression.
418
c0309c74
RS
4192005-05-30 Roger Sayle <roger@eyesopen.com>
420
421 * gfortran.h (GFC_STD_LEGACY): New "standard" macro. Reindent.
422 * options.c (gfc_init_options): By default, allow legacy extensions
423 but warn about them.
424 (gfc_post_options): Make -pedantic warn about legacy extensions
425 even with -std=legacy.
426 (gfc_handle_option): Make -std=gnu follow the default behaviour
427 of warning about legacy extensions, but allowing them. Make the
428 new -std=legacy accept everything and warn about nothing.
429 * lang.opt (std=legacy): New F95 command line option.
430 * invoke.texi: Document both -std=f2003 and -std=legacy.
431 * gfortran.texi: Explain the two types of extensions and document
432 how they are affected by the various -std= command line options.
433
ec09945c
KH
4342005-05-30 Kazu Hirata <kazu@cs.umass.edu>
435
436 * trans-expr.c: Remove trailing ^M.
437
897f1a8b
KH
438 * trans-expr.c: Fix comment typos.
439
5b1a826c
PT
4402005-05-29 Paul Thomas <pault@gcc.gnu.org>
441
442 PR fortran/16939
443 PR fortran/17192
444 PR fortran/17193
445 PR fortran/17202
446 PR fortran/18689
447 PR fortran/18890
448 * fortran/trans-array.c (gfc_conv_resolve_dependencies): Add string
449 length to temp_ss for character pointer array assignments.
450 * fortran/trans-expr.c (gfc_conv_variable): Correct errors in
451 dereferencing of characters and character pointers.
452 * fortran/trans-expr.c (gfc_conv_function_call): Provide string
453 length as return argument for various kinds of handling of return.
454 Return a char[]* temporary for character pointer functions and
455 dereference the temporary upon return.
456
c74a1edd 4572005-05-29 Janne Blomqvist <jblomqvi@vipunen.hut.fi>
4c73896d 458 Steven G. Kargl <kargls@comcast.net>
44998b65
JB
459
460 fortran/PR20846
461 * io.c (gfc_match_inquire): Implement constraints on UNIT and FILE usage.
462
c9330b03
FXC
4632005-05-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
464
465 PR libfortran/20006
466 * io.c (format_item_1): Add check and extension warning for
467 $ edit descriptor.
468
cd66d1a1
SK
4692005-05-28 Steven G. Kargl <kargls@comcast.net>
470
471 * arith.c (gfc_arith_init_1): Fix off by one problem;
472 (gfc_check_integer_range): Chop extra bits in subnormal numbers.
473
eaef357b 4742005-05-28 Jerry DeLisle <jvdelisle@verizon.net>
4c73896d 475 Steven G. Kargl <kargls@comcast.net>
eaef357b
JD
476
477 * intrinsic.texi: added documentation for BIT_SIZE, BTEST, CHAR, CEILING
478 and CMPLX
479
4c1dd580
SK
4802005-05-27 Steven G. Kargl <kargls@comcast.net>
481
482 * trans-array.c (gfc_trans_deferred_array): Use build_int_cst to force
483 like types in comparsion.
484
aa9c57ec
KH
4852005-05-26 Kazu Hirata <kazu@cs.umass.edu>
486
487 * data.c, parse.c, trans-array.c, trans-decl.c,
488 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
489 trans.h: Fix comment typos. Follow spelling conventions.
490
ec8a1940
RS
4912005-05-22 Roger Sayle <roger@eyesopen.com>
492
493 * gfortran.texi: Document some more GNU extensions.
494
e88763d1
FXC
4952005-05-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
496
497 * error.c (gfc_warning): Fix typo in comment.
498
8f4dc7af
TK
4992005-05-18 Thomas Koenig <Thomas.Koenig@online.de>
500
501 PR libfortran/21127
502 * fortran/iresolve.c (gfc_resolve_reshape): Add
503 gfc_type_letter (BT_COMPLEX) for complex to
504 to resolved function name.
505
acc75ae3
EE
5062005-05-18 Erik Edelmann <erik.edelmann@iki.fi>
507
508 * array.c (gfc_match_array_constructor): Support [ ... ]
509 style array constructors.
510
e743d142
TS
5112005-05-18 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
512
513 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_TRUNC
514 and BUILT_IN_TRUNCF instead of BUILT_IN_FLOOR and BUILT_IN_FLOORF.
515 * trans-intrinsic.c (build_fix_expr): Change 'op' argument
516 to correct enum type.
517 (gfc_conv_intrinsic_aint): Likewise. Clarify comment in front of
518 function. Add default case to switch, deal with FIX_TRUNC_EXPR
519 instead of FIX_FLOOR_EXPR.
520
1e7d0a64
FW
5212005-05-18 Feng Wang <fengwang@nudt.edu.cn>
522
523 PR fortran/20954
524 * trans-const.c (gfc_conv_const_charlen): Use gfc_charlen_type_node to
525 build character length.
526
b4838d29
ZD
5272005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
528
529 * trans-types.c (gfc_array_range_type): New variable.
530 (gfc_init_types): Initialize gfc_array_range_type.
531 (gfc_get_array_type_bounds): Use gfc_array_range_type.
532
8de1f441
JJ
5332005-05-17 Jakub Jelinek <jakub@redhat.com>
534
535 PR fortran/15080
536 * trans-stmt.c (generate_loop_for_temp_to_lhs): Remove SIZE and COUNT2
537 arguments. If LSS is gfc_ss_terminator, increment COUNT1 by 1, instead
538 of incrementing COUNT2 and using COUNT1+COUNT2 increment COUNT1 and use
539 just that as index.
540 (generate_loop_for_rhs_to_temp): Likewise.
541 (compute_overall_iter_number): Add INNER_SIZE_BODY argument.
542 It non-NULL, add it to body.
543 (allocate_temp_for_forall_nest_1): New function, split from
544 allocate_temp_for_forall_nest.
545 (allocate_temp_for_forall_nest): Add INNER_SIZE_BODY argument,
546 propagate it down to compute_overall_iter_number. Use
547 allocate_temp_for_forall_nest_1.
548 (gfc_trans_assign_need_temp): Remove COUNT2. Call
549 compute_inner_temp_size into a new stmtblock_t. Adjust calls to
550 allocate_temp_for_forall_nest, generate_loop_for_rhs_to_temp
551 and generate_loop_for_temp_to_lhs.
552 (gfc_trans_pointer_assign_need_temp): Adjust calls to
553 allocate_temp_for_forall_nest.
554 (gfc_evaluate_where_mask): Call compute_inner_temp_size into a new
555 stmtblock_t. Call compute_overall_iter_number just once, then
556 allocate_temp_for_forall_nest_1 twice with the same size.
557 Initialize mask indexes if nested_forall_info != NULL.
558 (gfc_trans_where_2): Initialize mask indexes before calling
559 gfc_trans_nested_forall_loop.
560
b078dfbf
FW
5612005-05-15 Feng Wang <fengwang@nudt.edu.cn>
562 Jerry DeLisle <jvdelisle@verizon.net>
563
564 PR fortran/17432
565 * trans-stmt.c (gfc_trans_label_assign): fix pointer type, to
566 resolve ICE on assign of format label.
567 * trans-io.c (set_string): add fold-convert to properly
568 handle assigned format label in write.
569
cafa34aa
PB
5702005-05-13 Paul Brook <paul@codesourcery.com>
571
572 * trans-stmt.c (gfc_trans_forall_1): Fix comment typo.
573
4588b604
TS
5742005-05-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
575
576 * trans-types.c (gfc_is_nodesc_array): Remove redundant check.
577
b160dd28
TS
5782005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
579
580 PR fortran/21260
581 * io.c (check_format): Look for literal characters inside
582 hollerith constant.
583
09e7f686
TS
5842005-05-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
585
586 * resolve.c (resolve_symbol): Copy 'pointer' and 'dimension'
587 attribute from result symbol to function symbol.
3da7937d
TS
588 * trans-expr.c (gfc_conv_function_call): Look at sym->attr.dimension
589 instead of sym->result->attr.dimension.
09e7f686 590
973ff4c0
TS
5912005-05-10 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
592
593 PR fortran/20178
594 * gfortran.h (gfc_option): Add flag_f2c.
595 * invoke.texi: Document '-ff2c' command line option. Adapt
596 documentation for '-fno-second-underscore' and '-fno-underscoring'.
597 * lang.opt (ff2c): New entry.
598 * options.c (gfc-init_options): Set default calling convention
599 to -fno-f2c. Mark -fsecond-underscore unset.
600 (gfc_post_options): Set -fsecond-underscore if not explicitly set
601 by user.
602 (handle_options): Set gfc_option.flag_f2c according to requested
603 calling convention.
604 * trans-decl.c (gfc_get_extern_function_decl): Use special f2c
605 intrinsics where necessary.
606 (gfc_trans_deferred_vars): Change todo error to assertion.
607 * trans-expr.c (gfc_conv_variable): Dereference access
608 to hidden result argument.
609 (gfc_conv_function_call): Add hidden result argument to argument
610 list if f2c calling conventions requested. Slightly restructure
611 tests. Convert result of default REAL function to requested type
612 if f2c calling conventions are used. Dereference COMPLEX result
613 if f2c cc are used.
614 * trans-types.c (gfc_sym_type): Return double for default REAL
615 function if f2c cc are used.
616 (gfc_return_by_reference): Slightly restructure logic. Return
617 COMPLEX by reference depending on calling conventions.
618 (gfc_get_function_type): Correctly make hidden result argument a
619 pass-by-reference argument for COMPLEX. Remove old code which does
620 this for derived types.
621
7f42f27f
TS
6222005-05-09 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
623
624 * match.c (gfc_match_return): Only require space after keyword when
625 it is obligatory. Only give stdwarn to after matching is successful.
626 * dump-parse-tree.c (gfc_show_symbol): Deal with alternate returns.
627
357877ed
KH
6282005-05-08 Kazu Hirata <kazu@cs.umass.edu>
629
630 * intrinsic.texi: Fix typos.
631
a6334742
SK
6322005-05-07 Steven G. Kargl <kargls@comcast.net>
633
634 * intrinsic.texi: Document ASSOCIATED and ATAN2. Update Bessel function
635 description to include information about scalar arguments.
636
aa990c83
KH
6372005-05-03 Kazu Hirata <kazu@cs.umass.edu>
638
639 * Make-lang.in, dump-parse-tree.c, invoke.texi, lang.opt,
640 match.h, trans-array.h: Update copyright.
641
22e8617b
TT
6422005-04-29 Tom Tromey <tromey@redhat.com>
643
644 * f95-lang.c (poplevel): Updated for change to build_block.
645
d198b59a
JJ
6462005-04-29 Jakub Jelinek <jakub@redhat.com>
647
648 PR fortran/13082
649 PR fortran/18824
650 * trans-expr.c (gfc_conv_variable): Handle return values in functions
651 with alternate entry points.
652 * resolve.c (resolve_entries): Remove unnecessary string termination
653 after snprintf. Set result of entry master.
654 If all entries have the same type, set entry master's type
655 to that common type, otherwise set mixed_entry_master attribute.
656 * trans-types.c (gfc_get_mixed_entry_union): New function.
657 (gfc_get_function_type): Use it for mixed_entry_master functions.
658 * gfortran.h (symbol_attribute): Add mixed_entry_master bit.
659 * decl.c (gfc_match_entry): Set entry->result properly for
660 function ENTRY.
661 * trans-decl.c (gfc_get_symbol_decl): For entry_master, skip over
662 __entry argument.
663 (build_entry_thunks): Handle return values in entry thunks.
664 Clear BT_CHARACTER's ts.cl->backend_decl, so that it is not
665 shared between multiple contexts.
666 (gfc_get_fake_result_decl): Use DECL_ARGUMENTS from
667 current_function_decl instead of sym->backend_decl. Skip over
668 entry master's entry id argument. For mixed_entry_master entries or
669 their results, return a COMPONENT_REF of the fake result.
670 (gfc_trans_deferred_vars): Don't warn about missing return value if
671 at least one entry point uses RESULT.
672 (gfc_generate_function_code): For entry master returning
673 CHARACTER, copy ts.cl->backend_decl to all entry result syms.
674 * trans-array.c (gfc_trans_dummy_array_bias): Don't consider return
675 values optional just because they are in entry master.
676
4c1f4f52
FXC
6772005-04-29 Francois-Xavier Coudert <coudert@clipper.ens.fr>
678
679 * gfortran.h (gfc_namespace): Add seen_implicit_none field,
680 Tobias forgot this in previous commit.
681
1a7bfcc3
PB
6822005-04-29 Paul Brook <paul@codesourcery.com>
683
684 * trans-expr.c (gfc_conv_expr_present): Fix broken assert. Update
685 comment.
686
438e1428
TS
6872005-04-29 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
688
689 * gfortran.h (gfc_namespace): Add seen_implicit_none field.
690 * symbol.c (gfc_set_implicit_none): Give error if there's a previous
691 IMPLICIT NONE, set seen_implicit_none.
692 (gfc_merge_new_implicit): Error if there's an IMPLICIT NONE statement.
693
973a384d
TS
6942005-04-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
695
696 * gfortran.h (gfc_gsymbol): Make name a const char *.
697 * symbol.c (gfc_get_gsymbol): Allocate gsymbol name via
698 gfc_get_string.
699
781e1004
FXC
7002005-04-28 Francois-Xavier Coudert <coudert@clipper.ens.fr>
701
702 PR fortran/20865
703 * resolve.c (resolve_actual_arglist): Issue an error if a statement
704 functions is used as actual argument.
705
90aeadcb
FXC
7062005-04-27 Francois-Xavier Coudert <coudert@clipper.ens.fr>
707
708 PR fortran/21177
709 * interface.c (compare_parameter): Ignore type for EXPR_NULL
710 only if type is BT_UNKNOWN.
711
860c8f3b
PB
7122005-04-25 Paul Brook <paul@codesourcery.com>
713 Steven G. Kargl <kargls@comcast.net>
714
715 PR fortran/20879
716 * check.c (gfc_check_ichar_iachar): New function.
717 * instinsic.h (gfc_check_ichar_iachar): Add prototype.
718 * intrinsic.c (add_functions): Use it.
719 * primary.c (match_varspec, gfc_match_rvalue): Clear incorrect
720 character expression lengths.
721
eb83e811
TS
7222005-04-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
723
724 PR fortran/20059
725 * trans-common.c (translate_common): Cast offset and
726 common_segment->offset to type int for warning message.
727
d4ee4d25
DD
7282005-04-23 DJ Delorie <dj@redhat.com>
729
730 * trans-decl.c: Adjust warning() callers.
731
855a145c
TS
7322005-04-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
733
734 * trans-const.c (gfc_conv_mpfr_to_tree): Use hexadecimal string as
beceb652 735 intermediate representation. Fix typo in comment.
855a145c 736
c41993e8
SK
7372005-04-21 Steven G. Kargl <kargls@comcast.net>
738
739 * trans-const.c (gfc_conv_mpfr_to_tree): Remove unneeded computation;
740 simplify logic; Add a gcc_assert.
741
6c08eb63
SK
7422005-04-19 Steven G. Kargl <kargls@comcast.net>
743
744 * trans-const.c (gfc_conv_mpz_to_tree): Fix comment.
745
3010be13 7462005-04-19 Arnaud Desitter <arnaud.desitter@ouce.ox.ac.uk>
4c73896d 747 Steven G. Kargl <kargls@comcast.net>
3010be13
AD
748
749 * invoke.texi: Update -Waliasing description
750
009e94d4
FXC
7512005-04-19 Francois-Xavier Coudert <coudert@clipper.ens.fr>
752
753 PR fortran/16861
754 * resolve.c (resolve_variable): If e->symtree is not set, this
755 ought to be a FAILURE, and not a segfault.
756
29dc5138
PT
7572005-04-17 Paul Thomas <pault@gcc.gnu.org>
758
759 PR fortran/17472
760 PR fortran/18209
761 PR fortran/18396
762 PR fortran/19467
763 PR fortran/19657
8a731165
TS
764 * fortran/trans-io.c (gfc_build_io_library_fndecls): Create
765 declaration for st_set_nml_var and st_set_nml_var_dim. Remove
766 declarations of old namelist functions.
29dc5138 767 (build_dt): Simplified call to transfer_namelist_element.
8a731165
TS
768 (nml_get_addr_expr): Generates address expression for start of
769 object data. New function.
770 (nml_full_name): Qualified name for derived type components. New
771 function.
772 (transfer_namelist_element): Modified for calls to new functions
773 and improved derived type handling.
29dc5138 774
a34938be
RG
7752005-04-17 Richard Guenther <rguenth@gcc.gnu.org>
776
777 * scanner.c (gfc_next_char_literal): Reset truncation flag
778 for lines ending in a comment for both fixed and free form.
779 (load_line): Do not set truncated flag if only truncating
780 the EOL marker.
781
ba1defa5
RG
7822005-04-15 Richard Guenther <rguenth@gcc.gnu.org>
783
784 PR fortran/14569
785 * gfortran.h (gfc_linebuf): Add truncated field.
786 * parse.c (next_statement): Handle warning for truncated
787 lines.
788 * scanner.c (load_line): Return if line was truncated.
789 No longer warn for truncated lines. Remove unused parameters.
790 (load_file): Store load_line return value to linebuf.
791 (gfc_error_recovery): Do not advance line at the end.
792
2d0aa65f
SK
7932005-04-14 Steven G. Kargl <kargls@comcast.net>
794
795 * gfortran.h (gfc_real_info): Add subnormal struct member.
796 * arith.c (gfc_arith_init_1): Set it.
797 (gfc_check_real_range): Use it.
798 * simplify.c (gfc_simplify_nearest): Fix nearest(0.,1.).
799
c33063e8
KH
8002005-04-12 Kazu Hirata <kazu@cs.umass.edu>
801
802 * simplify.c: Fix a comment typo.
803
0b026622
RS
8042005-04-11 Richard Sandiford <rsandifo@redhat.com>
805
806 * lang.opt: Refer to the GCC internals documentation instead of c.opt.
807
9f32d037
TS
8082005-04-11 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
809
810 * simplify.c (gfc_simplify_nearest): Overhaul.
811
6892757c
KH
8122005-04-10 Kazu Hirata <kazu@cs.umass.edu>
813
814 * interface.c: Fix a comment typo.
815
51c3f0f6
FXC
8162005-04-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
817
818 * match.c (match_arithmetic_if): Arithmetic IF is obsolete in
819 Fortran 95.
820
8e1fa5d6
SK
8212005-04-09 Steven G. Kargl <kargls@comcast.net>
822
823 * simplify.c (gfc_simplify_anint): Use mpfr_round()
824 (gfc_simplify_dnint): ditto.
825 (gfc_simplify_nint): ditto.
826
53d8a8ac
AP
8272005-04-09 Andrew Pinski <pinskia@physics.uc.edu>
828
829 PR fortran/13257
830 * io.c (check_format): Allow an optional comma
831 between descriptors.
832
835d64ab
FXC
8332005-04-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
834
835 * match.c (match_arithmetic_if): Remove gfc_ prefix and correct
836 comment according to GNU coding style.
907d22fd
FXC
837 (gfc_match_if): Remove gfc_ prefix in call to
838 match_arithmetic_if.
835d64ab 839
f55e72ce
DN
8402005-04-08 Diego Novillo <dnovillo@redhat.com>
841
842 * match.c (gfc_match_arithmetic_if): Declare static.
843
43e1c5f7
FXC
8442005-04-08 Francois-Xavier Coudert <coudert@clipper.ens.fr>
845
846 PR fortran/17229
847 * match.c (gfc_match_arithmetic_if): New function to match an
848 arithmetic IF statement.
849 (gfc_match_if): Use gfc_match_arithmetic_if to match an
850 arithmetic IF statement embedded in a simple IF statement.
851
01ae8930
SK
8522005-04-07 Steven G. Kargl <kargls@comcast.net>
853
854 * simplify.c (gfc_simplify_exponent): Fix exponent(tiny(x))
855
53ae8e14
SK
8562005-04-06 Steven G. Kargl <kargls@comcast.net>
857
858 * invoke.texi: Remove documentation of -std=f90
859
ccccdb8d
TS
8602005-04-06 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
861
862 * expr.c (gfc_check_assign): Don't allow NULL as rhs in a
863 non-pointer assignment.
864
bd024745
FW
8652005-04-05 Feng Wang <fengwang@nudt.edu.cn>
866
867 PR fortran/15959
868 PR fortran/20713
869
870 * array.c (resolve_character_array_constructor): New function. Set
871 constant character array's character length.
872 (gfc_resolve_array_constructor): Use it.
873 * decl.c (add_init_expr_to_sym): Set symbol and initializer character
874 length.
875 (gfc_set_constant_character_len): New function. Set constant character
876 expression according the given length.
877 * match.h (gfc_set_constant_character_len): Add prototype.
878
c6db4d01
FXC
8792005-04-04 Francois-Xavier Coudert <coudert@clipper.ens.fr>
880
881 * intrinsic.texi: BES?? functions are not in the f95 standard.
882
a5d58aeb
FXC
8832005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
884
885 * intrinsic.texi: Document COS, EXP, LOG, LOG10, SIN, SQRT, TAN.
886
f7cdcbf1
FXC
8872005-04-03 Francois-Xavier Coudert <coudert@clipper.ens.fr>
888
889 * intrinsic.texi: Document BESJ0, BESJ1, BESJN, BESY0, BESY1,
890 BESYN, ATAN, COSH, ERF, ERC, SINH, TANH.
891
6230d276
SK
8922005-04-02 Steven G. Kargl <kargls@comcast.net>
893
894 * intrinsic.texi: Document ALLOCATED, ANINT, ANY, ASIN; fix typos
895
69de3b83
KH
8962005-04-01 Kazu Hirata <kazu@cs.umass.edu>
897
898 * decl.c, f95-lang.c, interface.c, module.c, trans-stmt.c,
899 trans.h: Fix comment typos.
900
3ae9eb27
SK
9012005-03-29 Steven G. Kargl <kargls@comcast.net>
902
903 * gfortran.h (option_t): Change d8, i8, r8 to flag_default_double,
904 flag_default_integer, flag_default_real
905 * invoke.texi: Update documentation
906 * lang.opt: Remove d8, i8, r8 definitions; Add fdefault-double-8
907 fdefault-integer-8, and fdefault-real-8 definitions.
908 * options.c (gfc_init_options): Set option defaults
909 (gfc_handle_option): Handle command line options.
910 * trans-types.c (gfc_init_kinds): Use options.
911
8bb46326
DN
9122005-03-29 Keith Besaw <kbesaw@us.ibm.com>
913
914 * f95-lang.c (builtin_function): Process the attrs parameter
915 and apply the "const" attribute to the builtin if found.
916
6b32f9fc
SK
9172005-03-27 Steven G. Kargl <kargls@comcast.net>
918
919 * intrinsic.texi: Document AIMAG, AINT, ALL
920
4c54501b
SK
9212005-03-26 Steven G. Kargl <kargls@comcast.net>
922
923 * arith.c (check_result): Fix illogical logic.
924
a3122424
CY
9252005-03-26 Canqun Yang <canqun@nudt.edu.cn>
926
927 * trans-common.c (create_common): Build RECORD_NODE for common blocks
928 contain no equivalence objects.
929 (add_equivalences): New argument saw_equiv.
930 (trans_common): New local variable saw_equiv.
931 (finish_equivalences): Add a local variable dummy, Always pass true
932 for the 3rd parameter to create_common.
933
7b4047a0
SK
9342005-03-25 Steven G. Kargl <kargls@comcast.net>
935
936 * intrinsic.texi: Fix "make dvi"
937
9382005-03-24 Steven G. Kargl <kargls@comcast.net>
8db2ba40
SK
939
940 * intrinsic.texi: New file.
941 * gfortran.texi: Include it; white space change; fix typo.
942
d101034c
JM
9432005-03-23 Joseph S. Myers <joseph@codesourcery.com>
944
945 * f95-lang.c (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove.
946
10c7a96f
SB
9472005-03-23 Steven Bosscher <stevenb@suse.de>
948
949 * convert.c (convert): Replace fold (buildN (...)) with fold_buildN.
950 * trans-array.c (gfc_trans_allocate_array_storage,
951 gfc_trans_allocate_temp_array gfc_trans_array_constructor_value,
952 gfc_conv_array_index_ref, gfc_trans_array_bound_check,
953 gfc_conv_array_index_offset, gfc_conv_scalarized_array_ref,
954 gfc_conv_array_ref, gfc_trans_preloop_setup, gfc_conv_ss_startstride,
955 gfc_conv_loop_setup, gfc_array_init_size, gfc_trans_array_bounds,
956 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
957 gfc_conv_expr_descriptor): Likewise.
958 * trans-expr.c (gfc_conv_powi, gfc_conv_string_tmp,
959 gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
960 * trans-intrinsic.c (build_round_expr, gfc_conv_intrinsic_bound,
961 gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_sign,
962 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
963 gfc_conv_intrinsic_btest, gfc_conv_intrinsic_bitop,
964 gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ibits,
965 gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_ishftc,
966 gfc_conv_intrinsic_merge, prepare_arg_info,
967 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_repeat): Likewise.
968 * trans-stmt.c (gfc_trans_simple_do, gfc_trans_do, gfc_trans_do_while,
969 gfc_trans_forall_loop, gfc_do_allocate, generate_loop_for_temp_to_lhs,
970 generate_loop_for_rhs_to_temp, compute_inner_temp_size,
971 allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
972 gfc_trans_forall_1, gfc_evaluate_where_mask, gfc_trans_where_assign):
973 Likewise.
974 * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Likewise.
975 * trans.c (gfc_add_modify_expr): Likewise.
976
f77b6ca3
FXC
9772005-03-22 Francois-Xavier Coudert <coudert@clipper.ens.fr>
978
979 * check.c (gfc_check_chdir, gfc_check_chdir_sub, gfc_check_kill,
980 gfc_check_kill_sub, gfc_check_link, gfc_check_link_sub,
981 gfc_check_symlnk, gfc_check_symlnk_sub, gfc_check_rename,
982 gfc_check_rename_sub, gfc_check_sleep_sub, gfc_check_gerror,
983 gfc_check_getlog, gfc_check_hostnm, gfc_check_hostnm_sub,
984 gfc_check_perror): new functions to check newly implemented
985 g77 intrinsics.
986 * gfortran.h: adding symbols for new intrinsics.
987 * intrinsic.c (add_functions): adding new intrinsics.
988 (add_subroutines): adding new intrinsics.
989 * intrinsic.h: prototype for all checking and resolving
990 functions.
991 * iresolve.c (gfc_resolve_chdir, gfc_resolve_chdir_sub,
992 gfc_resolve_hostnm, gfc_resolve_ierrno, gfc_resolve_kill,
993 gfc_resolve_link, gfc_resolve_rename, gfc_resolve_symlnk,
994 gfc_resolve_time, gfc_resolve_time8, gfc_resolve_rename_sub,
995 gfc_resolve_kill_sub, gfc_resolve_link_sub,
996 gfc_resolve_symlnk_sub, gfc_resolve_sleep_sub,
997 gfc_resolve_gerror, gfc_resolve_getlog, gfc_resolve_hostnm_sub,
998 gfc_resolve_perror): new functions to resolve intrinsics.
999 * trans-intrinsic.c (gfc_conv_intrinsic_function): add case
1000 for new symbols.
1001
e76d0ec6 10022005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
9439ae41
TS
1003
1004 * dump-parse-tree.c (gfc_show_expr): Dump name of namespace
1005 in which the variable is declared.
1006
1007 PR fortran/18525
1008 * resolve.c (was_declared): Also check for dummy attribute.
1009
e76d0ec6 10102005-03-19 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
0de27aac
TS
1011
1012 * gfortran.h (arith): Remove ARITH_0TO0.
1013 * arith.c (gfc_arith_error): Remove handling of ARITH_0TO0.
1014 (gfc_arith_power): Remove special casing of zero to integral
1015 power zero.
1016
ffee7efd
KG
10172005-03-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1018
1019 * Make-lang.in (fortran-warn): Remove -Wno-error.
1020 (expr.o-warn, resolve.o-warn, simplify.o-warn,
1021 trans-common.o-warn): Specify -Wno-error.
1022
df7df328
TS
10232005-03-17 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1024
1025 * trans-array.c (gfc_trans_static_array_pointer,
1026 get_array_ctor_var_strlen, gfc_conv_array_index_offset): Fix
1027 comment and formatting typos.
1028
d3ec5cb6
FXC
10292005-03-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
1030
1031 * invoke.texi: Fix typos.
1032
a1286ef5
ZW
10332005-03-15 Zack Weinberg <zack@codesourcery.com>
1034
1035 * Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
1036
223c8158
FW
10372005-03-15 Feng Wang <fengwang@nudt.edu.cn>
1038
1039 * trans-stmt.c (gfc_trans_label_assign): Don't set DECL_ARTIFICIAL flag
1040 to zero on label_tree.
1041
ce2df7c6
FW
10422005-03-15 Feng Wang <fengwang@nudt.edu.cn>
1043
1044 PR fortran/18827
1045 * io.c (resolve_tag): Add checking on assigned label.
1046 (match_dt_format): Does not set symbol assign attribute.
1047 * match.c (gfc_match_goto):Does not set symbol assign attribute.
1048 * resolve.c (resolve_code): Add checking on assigned label.
1049 * trans-common.c (build_field): Deals with common variable assigned
1050 a label.
1051 * trans-stmt.c (gfc_conv_label_variable): New function.
1052 (gfc_trans_label_assign): Use it.
1053 (gfc_trans_goto): Ditto.
1054 * trans-io.c (set_string): Ditto.
1055 * trans.h (gfc_conv_label_variable): Add prototype.
1056
2bb02bf0
TS
10572005-03-14 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1058
1059 PR fortran/20467
1060 * symbol.c (check_conflict): A dummy argument can't be a statement
1061 function.
1062
f1b19062
ZD
10632005-03-14 Zdenek Dvorak <dvorakz@suse.cz>
1064
1065 * fortran/trans-intrinsic.c (gfc_conv_intrinsic_ishft): Convert
1066 the argument of the shift to the unsigned type.
1067
ee943062
TS
10682005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1069
1070 PR fortran/16907
1071 * resolve.c (gfc_resolve_index): Allow REAL indices as an extension.
1072
8f9c06ca
TS
10732005-03-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1074
1075 PR fortran/20323
1076 * resolve.c (gfc_resolve): Check if character lengths are
1077 specification expressions.
1078
bae88af6
TS
10792005-03-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1080
1081 PR fortran/20361
1082 * trans-array.c (gfc_stack_space_left): Remove unused variable.
1083 (gfc_can_put_var_on_stack): Move to trans-decl.c, remove #if 0'ed
1084 code.
1085 * trans-array.h (gfc_stack_space_left, gfc_can_put_var_on_stack):
1086 Remove declaration / prototype.
1087 * trans-common.c (build_equiv_decl): Give union a name. Check if
1088 it can be put on the stack.
1089 * trans-decl.c (gfc_stack_space_left): Move function here.
1090 (gfc_build_qualified_array): Fix comment typo.
1091 * trans.h (gfc_put_var_on_stack): Add prototype.
1092
5f42ddb0
KG
10932005-03-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1094
1095 * Make-lang.in (fortran-warn): Set to $(STRICT_WARN) -Wno-error.
1096 * decl.c, trans.c: Don't use C++ style comments.
1097 * gfortran.h (sym_flavor, procedure_type, sym_intent, gfc_access,
1098 ifsrc): Give names to enums and use ENUM_BITFIELD.
1099 (gfc_access): Remove trailing comma.
1100
87ebdf2f
SK
11012005-03-05 Steven G. Kargl <kargls@comcast.net>
1102
1103 PR 19936
1104 * primary.c (match_complex_constant): Mangled complex constant may
1105 be an implied do-loop. Give implied do-loop matcher a chance.
1106
a1286ef5 11072005-03-05 Steven G. Kargl <kargls@comcast.net>
2c5ed587
SK
1108
1109 PR fortran/19754
1110 * resolve.c (compare_shapes): New function.
1111 (resolve_operator): Use it.
1112
19db01bb
TS
11132005-03-05 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1114
1115 * trans-const.c (gfc_conv_constant_to_tree): Use correct tree
1116 type for COMPLEX constants.
1117
3852e8b8
TS
11182005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1119
1120 PR fortran/19673
1121 * trans-expr.c (gfc_conv_function_call): Correctly dereference
1122 argument from a pointer function also if it has a result clause.
1123
11242005-03-04 Steven G. Kargl <kargls@comcast.net>
37e860a2
SK
1125
1126 * expr.c (gfc_copy_shape_excluding): Change && to ||.
1127
4b9b6210
TS
11282005-03-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1129
1130 * trans-intrinsic.c (gfc_get_symbol_for_expr): Fix comment typo,
1131 clarify comment.
1132
2a4a7830
TS
11332005-02-28 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1134 (port from g95)
1135
1136 PR fortran/19479
1137 * simplify.c (gfc_simplify_bound): Rename to ...
1138 (simplify_bound): ... this and overhaul.
1139
d436d3de
SK
11402005-02-28 Steven G. Kargl <kargl@gcc.gnu.org>
1141
1142 * trans-intrinsic.c (gfc_conv_intrinsic_iargc): remove boolean argument.
1143 (gfc_conv_intrinsic_function): update function calls
1144
f4e7375a
SK
11452005-02-27 Steven G. Kargl <kargl@gcc.gnu.org>
1146
1147 PR fortran/20058
1148 * trans-types.c (gfc_max_integer_kind): Declare
1149 (gfc_init_kinds): Initialize it.
1150 * gfortran.h (gfc_max_integer_kind): extern it.
1151 * primary.c (match_boz_constant): Use it; remove gfortran extension
1152 of kind suffixes on BOZ literal constants
1153
1154
5a95dfde
SK
11552005-02-27 Steven G. Kargl <kargls@comcast.net>
1156
1157 * arith.c (gfc_check_real_range): Remove multiple returns
1158 (check_result): New function.
1159 (gfc_arith_uminus,gfc_arith_plus,gfc_arith_times,
1160 gfc_arith_divide,gfc_arith_power,gfc_arith_minus): Use it.
1161
1162
2054fc29
VR
11632005-02-24 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
1164
1165 * decl.c, resolve.c, trans-array.c, trans.h: Fix comment typo(s).
1166
9c6a7ecc
TS
1167
11682005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-meunchen.de>
1169
1170 Unrevert previously reverted patch. Adding this fix:
1171 * module.c (find_true_name): Deal with NULL module.
1172
f5e9e99c
TS
11732005-02-24 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1174
1175 Revert yesterday's patch:
1176 2005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1177
1178 * gfortran.h (gfc_component, gfc_actual_arglist, ...
1179 ... argument. Copy string instead of pointing to it.
1180
0366dfe9
TS
11812005-02-23 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1182
1183 * gfortran.h (gfc_get_namespace): Add second argument to prototype.
1184 * intrinsic.c (gfc_intrinsic_init_1): Pass second argument to
1185 gfc_get_namespace.
1186 * module.c (mio_namespace_ref, load_needed): Likewise.
1187 * parse.c (parse_interface, parse_contained): Likewise. Here the
1188 correct second argument matters.
1189 * symbol.c (gfc_get_namespace): Add parent_types argument, only copy
1190 parent's implicit types if this is set.
1191 (gfc_symbol_init_2): Pass second argument to gfc_get_namespace.
1192 * trans-common.c (build_common_decl): Likewise.
1193
d1303acd
TS
1194 * gfortran.h (symbol_attribute): New 'untyped' field, fix comment
1195 formatting.
1196 * symbol.c (gfc_set_default_type): Issue error only once, by setting
1197 and checking 'untyped' attribute.
1198
58b03ab2
TS
1199 * gfortran.h (gfc_expr): Move 'operator', 'op1', 'op2', and 'uop'
1200 fields into new struct 'op' inside the 'value' union.
1201 * arith.c (eval_intrinsic): Adapt all users.
1202 * dependency.c (gfc_check_dependency): Likewise.
1203 * dump-parse-tree.c (gfc_show_expr): Likewise.
1204 * expr.c (gfc_get_expr): Don't clear removed fields.
1205 (free_expr0, gfc_copy_expr, gfc_type_convert_binary,
1206 gfc_is_constant_expr, simplify_intrinsic_op, check_init_expr,
1207 check_intrinsic_op): Adapt to new field names.
1208 * interface.c (gfc_extend_expr): Likewise. Also explicitly
1209 nullify 'esym' and 'isym' fields of new function call.
1210 * iresolve.c (gfc_resolve_dot_product, gfc_resolve_matmul):
1211 Adapt to renamed structure fields.
1212 * matchexp.c (build_node, match_level_1, match_expr): Likewise.
1213 * module.c (mio_expr): Likewise.
1214 * resolve.c (resolve_operator): Likewise.
1215 (gfc_find_forall_index): Likewise. Only look through operands
1216 if dealing with EXPR_OP
1217 * trans-array.c (gfc_walk_op_expr): Adapt to renamed fields.
1218 * trans-expr.c (gfc_conv_unary_op, gfc_conv_power_op,
1219 gfc_conv_concat_op, gfc_conv_expr_op): Likewise.
1220
f5e9e99c 1221 [ Reverted ]
e9444bd5
TS
1222 * gfortran.h (gfc_component, gfc_actual_arglist, gfc_user_op): Make
1223 'name' a 'const char *'.
1224 (gfc_symbol): Likewise, also for 'module'.
1225 (gfc_symtree): Make 'name' a 'const char *'.
1226 (gfc_intrinsic_sym): Likewise, also for 'lib_name'.
1227 (gfc_get_gsymbol, gfc_find_gsymbol): Add 'const' qualifier to
1228 'char *' argument.
1229 (gfc_intrinsic_symbol): Use 'gfc_get_string' instead of 'strcpy' to
1230 initialize 'SYM->module'.
1231 * check.c (gfc_check_minloc_maxloc, check_reduction): Check for NULL
1232 pointer instead of empty string.
1233 * dump-parse-tree.c (gfc_show_actual_arglist): Likewise.
1234 * interface.c (gfc_compare_types): Adapt check to account for possible
1235 NULL pointer.
1236 (compare_actual_formal): Check for NULL pointer instead of empty
1237 string.
1238 * intrinsic.c (gfc_current_intrinsic, gfc_current_intrinsic_arg):
a1286ef5 1239 Add 'const' qualifier.
e9444bd5
TS
1240 (conv_name): Return a heap allocated string.
1241 (find_conv): Add 'const' qualifier to 'target'.
1242 (add_sym): Use 'gfc_get_string' instead of 'strcpy'.
1243 (make_generic): Check for NULL pointer instead of empty string.
1244 (make_alias): Use 'gfc_get_string' instead of 'strcpy'.
1245 (add_conv): No need to strcpy result from 'conv_name'.
1246 (sort_actual): Check for NULL pointer instead of empty string.
1247 * intrinsic.h (gfc_current_intrinsic, gfc_current_intrinsic_arg):
1248 Adapt prototype.
1249 * module.c (compare_true_names): Compare pointers instead of strings
1250 for 'module' member.
1251 (find_true_name): Initialize string fields with gfc_get_string.
1252 (mio_pool_string): New function.
1253 (mio_internal_string): Adapt comment.
1254 (mio_component_ref, mio_component, mio_actual_arg): Use
1255 'mio_pool_string' instead of 'mio_internal_string'.
1256 (mio_symbol_interface): Add 'const' qualifier to string arguments.
1257 Add level of indirection. Use 'mio_pool_string' instead of
1258 'mio_internal_string'.
1259 (load_needed, read_module): Use 'gfc_get_string' instead of 'strcpy'.
1260 (write_common, write_symbol): Use 'mio_pool_string' instead of
1261 'mio_internal_string'.
1262 (write_symbol0, write_symbol1): Likewise, also check for NULL pointer
1263 instead of empty string.
1264 (write_operator, write_generic): Pass correct type variable to
1265 'mio_symbol_interface'.
1266 (write_symtree): Use 'mio_pool_string' instead of
1267 'mio_internal_string'.
1268 * primary.c (match_keyword_arg): Adapt check to possible
1269 case of NULL pointer. Use 'gfc_get_string' instead of 'strcpy'.
1270 * symbol.c (gfc_add_component, gfc_new_symtree, delete_symtree,
1271 gfc_get_uop, gfc_new_symbol): Use 'gfc_get_string' instead of
1272 'strcpy'.
1273 (ambiguous_symbol): Check for NULL pointer instead of empty string.
1274 (gfc_find_gsymbol, gfc_get_gsymbol): Add 'const' qualifier on string
1275 arguments.
1276 * trans-array.c (gfc_trans_auto_array_allocation): Check for NULL
1277 pointer instead of empty string.
1278 * trans-decl.c (gfc_sym_mangled_identifier,
1279 gfc_sym_mangled_function_id, gfc_finish_var_decl, gfc_get_symbol_decl,
1280 gfc_get_symbol_decl): Likewise.
1281 * trans-io.c (gfc_new_nml_name_expr): Add 'const' qualifier to
1282 argument. Copy string instead of pointing to it.
1283
f439764f
KH
12842005-02-23 Kazu Hirata <kazu@cs.umass.edu>
1285
1286 * intrinsic.h, st.c: Update copyright.
1287
eebc3ee0
SK
12882005-02-20 Steven G. Kargl <kargls@comcast.net>
1289
1290 * symbol.c: Typos in comments.
1291
687fcae7
SK
12922005-02-20 Steven G. Kargl <kargls@comcast.net>
1293
1294 * expr.c (gfc_type_convert_binary): Typo in comment.
1295
145cf79b 12962005-02-19 Steven G. Kargl <kargls@comcast.net>
a1286ef5 1297
145cf79b
SK
1298 * check.c (gfc_check_selected_int_kind): New function.
1299 * intrinsic.h: Prototype it.
1300 * intrinsic.c (add_function): Use it.
1301 * simplify (gfc_simplify_ceiling,gfc_simplify_floor): Change
1302 BT_REAL to BT_INTEGER and use gfc_default_integer_kind.
1303
c60d77d4 13042005-02-19 Steven G. Kargl <kargls@comcast.net>
a1286ef5 1305
c60d77d4
SK
1306 * check.c (gfc_check_int): improve checking of optional kind
1307 * simplify.c (gfc_simplify_int): Change BT_REAL to BT_INTEGER
1308
332e7efe 13092005-02-19 Steven G. Kargl <kargls@comcast.net>
a1286ef5 1310
332e7efe
SK
1311 * check.c (gfc_check_achar): New function
1312 * intrinsic.h: Prototype it.
1313 * intrinsic.c (add_function): Use it.
1314
1ac26262
TS
13152005-02-13 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1316
1317 * trans-stmt.c (generate_loop_for_temp_to_lhs,
1318 generate_loop_for_rhs_to_temp): Remove if whose condition is
1319 always true.
1320
1e6283cb
TS
13212005-02-12 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1322
1323 * symbol.c (gfc_use_ha_derived): Remove, fold functionality into ...
1324 (gfc_use_derived): ... this function.
1325
c6a912da
RH
13262005-02-09 Richard Henderson <rth@redhat.com>
1327
1328 * f95-lang.c (gfc_init_builtin_functions): Call
1329 build_common_builtin_nodes; do not define any functions handled
1330 by it.
1331
eac33acc
TS
13322005-02-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1333
1334 * expr.c (gfc_copy_expr): Don't copy 'op1' and 'op2' for
1335 EXPR_SUBSTRING.
1336 (gfc_is_constant_expr): Check 'ref' to determine if substring
1337 reference is constant.
1338 (gfc_simplify_expr): Simplify 'ref' instead of 'op1' and 'op2'.
1339 (check_init_expr, check_restricted): Check 'ref' instead of 'op1'
1340 and 'op2'.
1341 * module.c (mio_expr): Read / write 'ref' instead of 'op1' and 'op2'.
1342
231b2fcc
TS
13432005-02-07 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1344
1345 * gfortran.h (gfc_add_dimension, gfc_add_result, gfc_add_save,
1346 gfc_add_dummy, gfc_add_generic, gfc_add_in_common, gfc_add_data,
1347 gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
1348 gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
1349 gfc_add_procedure): Add argument.
1350 * array.c (gfc_set_array_spec), decl.c (var_element, get_proc_name,
1351 gfc_match_null, match_type_spec, match_attr_spec,
1352 gfc_match_formal_arglist, match_result, gfc_match_function_decl):
1353 Update callers to match.
1354 (gfc_match_entry) : Likewise, fix comment typo.
1355 (gfc_match_subroutine, attr_decl1, gfc_add_dimension,
1356 access_attr_decl, do_parm, gfc_match_save, gfc_match_modproc,
1357 gfc_match_derived_decl): Update callers.
1358 * interface.c (gfc_match_interface): Likewise.
1359 * match.c (gfc_match_label, gfc_add_flavor,
1360 gfc_match_call, gfc_match_common, gfc_match_block_data,
1361 gfc_match_namelist, gfc_match_module, gfc_match_st_function):
1362 Likewise.
1363 * parse.c (parse_derived, parse_interface, parse_contained),
1364 primary.c (gfc_match_rvalue, gfc_match_variable): Likewise.
1365 * resolve.c (resolve_formal_arglist, resolve_entries): Update callers.
1366 * symbol.c (check_conflict, check_used): Add new 'name' argument,
1367 use when printing error message.
1368 (gfc_add_dimension, gfc_add_result, gfc_add_save, gfc_add_dummy,
1369 gfc_add_generic, gfc_add_in_common, gfc_add_data,
1370 gfc_add_in_namelist, gfc_add_sequence, gfc_add_function,
1371 gfc_add_subroutine, gfc_add_access, gfc_add_flavor, gfc_add_entry,
1372 gfc_add_procedure): Add new 'name' argument. Pass along to
1373 check_conflict and check_used.
1374 (gfc_add_allocatable, gfc_add_external, gfc_add_intrinsic,
1375 gfc_add_optional, gfc_add_pointer, gfc_add_target, gfc_add_elemental,
1376 gfc_add_pure, gfc_add_recursive, gfc_add_intent,
1377 gfc_add_explicit_interface, gfc_copy_attr): Pass NULL for new
1378 argument in calls to any of the modified functions.
1379
706bb773
JM
13802005-02-06 Joseph S. Myers <joseph@codesourcery.com>
1381
1382 * gfortran.texi: Don't give last update date.
1383
61e067cc
RH
13842006-01-30 Richard Henderson <rth@redhat.com>
1385
1386 * options.c (gfc_init_options): Zero flag_errno_math.
1387
985aff9c
PB
13882005-01-29 Paul Brook <paul@codesourcery.com>
1389
1390 PR fortran/18565
1391 * check.c (real_or_complex_check): New function.
1392 (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc): New functions.
1393 * intrinsic.c (add_functions): Use new check functions.
1394 * intrinsic.h (gfc_check_fn_c, gfc_check_fn_r, gfc_check_fn_rc):
1395 Add prototypes.
1396
f240b896
SK
13972005-01-29 Steven G. Kargl <kargls@comcast.net>
1398
1399 PR fortran/19589
1400 * expr.c (gfc_check_assign): Check for conformance of logical operands
1401
c006df4e
SB
14022004-01-27 Steven Bosscher <stevenb@suse.de>
1403
1404 * trans-decl.c (gfc_build_label_decl): Set DECL_ARTIFICAL and
1405 TREE_USED for all labels.
1406 (gfc_trans_entry_master_switch): Use it instead of building a
1407 label by hand.
1408 * trans-io.c (add_case): Likewise.
1409 * trans-stmt.c (gfc_trans_integer_select): Likewise.
1410
69029c61
PB
14112004-01-23 Paul Brook <paul@codesourcery.com>
1412 Steven G. Kargl <kargls@comcast.net>
1413
1414 PR fortran/17941
1415 * arith.c (gfc_convert_real): Remove sign handling.
1416 * primary.c (match_digits): Allow whitespace after initial sign.
1417 (match_real_const): Handle signs here. Allow whitespace after
1418 initial sign. Remove dead code.
1419 (match_const_complex_part): Remove.
1420 (match_complex_part): Use match_{real,integer}_const.
1421 (match_complex_constant): Cross-promote integer types.
1422
58757957
JM
14232005-01-23 James A. Morrison <phython@gcc.gnu.org>
1424
1425 PR fortran/19294
1426 * iresolve.c (gfc_resolve_transpose): Resolve to transpose_c4 or
1427 transpose_c8 for complex types.
1428
e7dc5b4f
KH
14292005-01-23 Kazu Hirata <kazu@cs.umass.edu>
1430
1431 * data.c, dependency.c, f95-lang.c, io.c, trans-array.c,
1432 trans-decl.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
1433 trans-stmt.c, trans-types.c, trans.h: Fix comment typos.
1434 Follow spelling conventions.
1435
dae24534
BD
14362005-01-22 Bud Davis <bdavis9659@comcast.net>
1437
1438 PR fortran/19313
1439 * trans-io.c (gfc_trans_inquire): Added code to support
1440 pad.
1441
19060788
SK
14422005-01-22 Steven G. Kargl <kargls@comcast.net>
1443
a1286ef5 1444 * intrinsic.c (make_alias): Add standard argument.
19060788
SK
1445 (add_functions): Update make_alias calls.
1446
1438a8c9
PB
14472005-01-22 Paul Brook <paul@codesourcery.com>
1448
1449 * trans-expr.c (gfc_conv_function_call): Remove bogus TODO.
1450
af30f793
PB
14512005-01-22 Paul Brook <paul@codesourcery.com>
1452
1453 * gfortran.h (gfc_check_access): Add prototype.
1454 * match.c (gfc_match_namelist): Remove TODO.
1455 * module.c (check_access): Rename ...
1456 (gfc_check_access): ... to this. Boolify. Update callers.
1457 * resolve.c (resolve_symbol): Check for private objects in public
1458 namelists.
1459
0dd973dd
PB
14602005-01-22 Paul Brook <paul@codesourcery.com>
1461
1462 * primary.c (gfc_match_rvalue): Only apply implicit type if variable
1463 does not have an explicit type.
1464 (gfc_match_variable): Resolve implicit derived types in all cases.
1465 Resolve contained function types from their own namespace, not the
1466 parent.
1467 * resolve.c (resolve_contained_fntype): Remove duplicate sym->result
1468 checking. Resolve from the contained namespace, not the parent.
1469
6ba692b4
TS
14702005-01-22 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1471
1472 PR fortran/19543
1473 * trans-const.c (gfc_conv_constant_to_tree): Give logical
1474 constants the correct type.
1475
b8d5e926
TS
1476 PR fortran/19194
1477 * trans-io.c (ADD_STRING): Use gfc_charlen_type_node for string
1478 length parameters.
1479 (gfc_build_io_library_fndecls): 'rec' and 'recl_in' are not
1480 pointer fields.
1481
ec378180
KH
14822005-01-18 Kazu Hirata <kazu@cs.umass.edu>
1483
1484 * arith.c, array.c, check.c, decl.c, expr.c, f95-lang.c,
1485 gfortran.h, interface.c, intrinsic.c, io.c, iresolve.c,
1486 match.c, matchexp.c, misc.c, module.c, options.c, parse.c,
1487 scanner.c, simplify.c, symbol.c, trans-array.c, trans-expr.c,
1488 trans-io.c, trans-stmt.c, trans.c: Update copyright.
1489
33d4098d
SB
14902005-01-17 Ira Rosen <irar@il.ibm.com>
1491
1492 * f95-lang.c (gfc_init_builtin_functions): Call targetm.init_builtins.
1493
dfbb4318
TS
14942005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1495
1496 PR fortran/19182
1497 * error.c (error_char): Line-buffer errors / warnings.
1498
de46b505
TS
14992005-01-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1500
1501 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Fix signed /
1502 unsigned issue. Use build_int_cst instead of converting
1503 integer_zero_node. Remove unnecessary conversion.
1504
5e3b8727
TS
1505 * trans-types.c (gfc_get_character_type_len): : Use
1506 gfc_charlen_type_node as basic type for the range field.
1507
e805a599
TS
1508 * trans-intrinsic.c (build_fixbound_expr,
1509 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_anyall,
1510 gfc_conv_intrinsic_count, gfc_conv_intrinsic_btest,
1511 gfc_conv_intrinsic_singlebitop): Use 'build_int_cst' instead
1512 of converting 'integer_zero_node' or 'integer_one_node'
1513 respectively.
1514 (gfc_conv_intrinsic_ishftc): Same, but store in local variable to
1515 evade re-building.
1516 (gfc_conv_intrinsic_strcmp, gfc_conv_intrinsic_rrspacing,
1517 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_iargc): Use
1518 'build_int_cst' instead of converting 'integer_zero_node' or
1519 'integer_one_node' respectively.
0da87370
TS
1520
1521 * trans-intrinsic.c (gfc_conv_intrinsic_index,
1522 gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify): Remove
1523 'gfc'-prefix from local variable, remove dead code, use correct
1524 type when inserting argument.
1525
ef1b6bcd
TS
1526 * trans-intrinsic.c, trans-types.c: Update copyright years.
1527
5352b89f
SK
15282005-01-16 Steven G. Kargl <kargls@comcast.net>
1529
1530 PR 19168
1531 * resolve.c (check_case_overlap): Typo in comment.
1532 (validate_case_label_expr): Fix up kinds of case values
1533 (resolve_select): Properly handle kind mismatches.
1534
36c028f6
PB
15352004-01-16 Paul Brook <paul@codesourcery.com>
1536
1537 PR fortran/17675
1538 * trans-common.c (translate_common): Remove duplicate function call.
1539 (finish_equivalences): Preserve alignment when biasing offsets.
1540
da8309c6
TS
15412005-01-15 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de
1542
1543 * primary.c (check_digit): Call 'ISXDIGIT' instead of assuming
1544 ASCII-like character encoding.
1545
c224550f
SK
15462005-01-14 Steven G. Kargl <kargls@comcast.net>
1547
1548 * resolve.c (compare_case): Cleanup.
1549
6e06dac5
SK
15502005-01-14 Steven G. Kargl <kargls@comcast.net>
1551
1552 * resolve.c (compare_case): Give arguments correct type.
1553
43a5ef69
KH
15542005-01-13 Kazu Hirata <kazu@cs.umass.edu>
1555
1556 * iresolve.c, trans-common.c, trans-types.c: Fix comment
1557 typos.
1558
832ef1ce
PB
15592005-01-09 Paul Brook <paul@codesourcery.com>
1560
1561 PR fortran/17675
1562 * trans-common.c (current_common, current_offset): Remove.
1563 (create_common): Add head argument.
1564 (align_segment): New function.
1565 (apply_segment_offset): New function.
1566 (translate_common): Merge code from new_segment. Handle alignment.
1567 (new_segment): Remove.
1568 (finish_equivalences): Ensure proper alignment.
1569
92574caf
TS
15702005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1571
1572 * trans-const.c: Don't include unused math.h.
1573
b36cd00b
TS
1574 * trans-intrinsic.c (gfc_get_intrinsic_lib_fndecl,
1575 gfc_conv_intrinsic_bound, gfc_conv_intrinsic_minmaxloc,
1576 gfc_conv_intrinsic_ishft, gfc_conv_intrinsic_len): Remove
1577 trailing whitespace.
1578 (prepare_arg_info): Fix formatting, indenting and remove trailing
1579 whitespace.
1580 (gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_trim): Remove
27dfc9c4
TS
1581 trailing whitespace.
1582
1583 * arith.c (arctangent2, gfc_arith_init_1, gfc_arith_done_1,
1584 gfc_constant_result, gfc_range_check, gfc_arith_power,
1585 eval_type_intrinsic0, eval_intrinsic_f2, gfc_real2real,
1586 gfc_real2complex, gfc_complex2int, gfc_complex2real,
1587 gfc_complex2complex): Fix whitespace issues.
e6edaeb2 1588 * check.c (must_be, type_check, numeric_check, int_or_real_check,
27dfc9c4
TS
1589 logical_array_check, array_check, scalar_check, nonoptional_check,
1590 variable_check, dim_check, check_a_kind, gfc_check_a_ikind,
1591 gfc_check_a_xkind, gfc_check_abs, gfc_check_all_any,
1592 gfc_check_allocated, gfc_check_a_p, gfc_check_besn,
1593 gfc_check_btest, gfc_check_char, gfc_check_cmplx, gfc_check_count,
1594 gfc_check_cshift, gfc_check_dcmplx, gfc_check_dble,
1595 gfc_check_digits, gfc_check_dot_product, gfc_check_eoshift,
1596 gfc_check_fnum, gfc_check_g77_math1, gfc_check_huge, gfc_check_i,
1597 gfc_check_iand, gfc_check_ibclr, gfc_check_ibits, gfc_check_ibset,
1598 gfc_check_idnint, gfc_check_ieor, gfc_check_index, gfc_check_int,
1599 gfc_check_ior, gfc_check_ishft, gfc_check_ishftc, gfc_check_kind,
1600 gfc_check_lbound, gfc_check_logical, min_max_args,
1601 gfc_check_min_max_integer, gfc_check_min_max_real,
1602 gfc_check_min_max_double, gfc_check_matmul,
1603 gfc_check_minval_maxval, gfc_check_merge, gfc_check_nearest,
1604 gfc_check_pack, gfc_check_precision, gfc_check_radix,
1605 gfc_check_range, gfc_check_real, gfc_check_repeat,
1606 gfc_check_scale, gfc_check_scan, gfc_check_selected_real_kind,
1607 gfc_check_set_exponent): Fix formatting issues.
1608 (gfc_check_size, gfc_check_sign): Alphabetize function order,
1609 remove whitespace-only line.
1610 (gfc_check_fstat, gfc_check_fstat_sub, gfc_check_stat,
1611 gfc_check_stat_sub, gfc_check_transfer, gfc_check_transpose,
1612 gfc_check_ubound, gfc_check_unpack, gfc_check_verify, gfc_check_x,
1613 gfc_check_cpu_time, gfc_check_date_and_time, gfc_check_mvbits,
1614 gfc_check_random_number, gfc_check_random_seed,
1615 gfc_check_second_sub, gfc_check_system_clock,
1616 gfc_check_getcwd_sub, gfc_check_exit, gfc_check_flush,
1617 gfc_check_umask, gfc_check_umask_sub, gfc_check_unlink,
1618 gfc_check_unlink_sub): Fix formatting issues.
a1286ef5 1619
779fae71
TS
16202005-01-08 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
1621
1622 * gfortran.h: Remove outdated comment. Don't include stdio.h
1623 explicitly.
1624
12d3e34b
TS
16252005-01-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1626
1627 * gfortranspec.c (lang_specific_driver): Change year to 2005 in
1628 output of 'gfortran --version'.
1629
d22e4895
SK
16302005-01-03 Steven G. Kargl <kargls@comcast.net>
1631
1632 * arith.c: Add system.h; remove string.h
1633 * decl.c: Ditto
1634 * matchexp.c: Ditto
1635 * parse.c: Ditto
1636 * resolve.c: Ditto
1637 * st.c: Ditto
1638 * check.c: Remove stdlib.h and stdarg.h
1639 * error.c: Remove stdlib.h, stdarg.h, stdio.h, string.h
1640 * expr.c: Add system.h; remove stdarg.h, stdio.h, and string.h
1641 * f95-lang.c: Add system.h; remove stdio.h
1642 * interface.c: Add system.h; remove stdlib.h and string.h
1643 * intrinsic.c: Remove stdarg.h, stdio.h, and string.h
1644 * io.c: Remove string.h
1645 * simplify.c: Ditto
1646 * match.c: Remove stdarg.h and string.h
1647 * misc.c: Update copyright; add system.h; remove stdlib.h,
1648 string.h, and sys/stat.h
1649 * module.c: Add system.h; remove string.h, stdio.h, errno.h,
1650 unistd.h, and time.h
1651 * option.c: Remove string.h and stdlib.h
1652 * primary.c: Ditto
1653 * scanner.c: Update copyright; add system.h; remove stdlib.h,
1654 stdio.h, string.h, and strings.h
1655 * symbol.c: Add system.h; remove stdlib.h, stdio.h, and string.h
1656 * trans-array.c: Remove stdio.h and gmp.h
1657 * trans-const.c: Ditto
1658 * trans-expr.c: Ditto
1659 * trans-io.c: Ditto
1660 * trans-stmt.c: Ditto
1661 * trans.c: Ditto
1662 * trans-intrinsic.c: Remove stdio.h and string.h
1663
410d1a45
SK
16642004-12-29 Steven G. Kargl <kargls@comcast.net>
1665
1666 * gfortran.h (gfc_case): fix typo in comment.
1667
a1286ef5 16682004-12-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
56746a07
TS
1669
1670 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Change to
1671 logical shift. Call fold. Remove 0-bit shift shortcut.
1672 (gfc_conv_intrinsic_ishftc): Convert first argument to at least
1673 4 bytes bits. Convert 2nd and 3rd argument to 4 bytes. Convert
1674 result if width(arg 1) < 4 bytes. Call fold.
1675
e98a8b5b
TS
1676 PR fortran/19032
1677 * trans-intrinsic.c (gfc_conv_intrinsic_mod): Update comment
1678 in front of function to match the standard. Correct handling
1679 of MODULO.
1680
16812004-12-27 Andrew Pinski <pinskia@physics.uc.edu>
1682
1683 * trans-expr.c (gfc_conv_cst_int_power): Only check for
1684 flag_unsafe_math_optimizations if we have a float type.
1685
f300468a
SK
16862004-12-23 Steven G. Kargl <kargls@comcast.net>
1687
1688 * gfortran.texi: Fix typo.
1689
4fdb5c71
TS
16902004-12-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1691
1692 * trans-intrinsic.c (build_fixbound_expr): Clarify comment, fix
1693 comment typo.
1694
172b8799
TS
16952004-12-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1696
1697 PR fortran/18993
1698 * match.c (gfc_match_if): Don't explicitly skip optional whitespace.
1699 (gfc_match_nullify): Make sure that ')' is in front of the end of
1700 statement.
1701
e2435498
TS
1702 * scanner.c (skip_fixed_comments): Fix typo in comment preceding
1703 function.
1704
6b25a558
RH
17052004-12-14 Richard Henderson <rth@redhat.com>
1706
1707 * gfortran.h (gfc_expr.function.name): Make const.
1708 (gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
1709 (gfc_get_string): Update prototype.
1710 * iresolve.c: Include tree.h.
1711 (string_node, HASH_SIZE, string_head, hash): Remove.
1712 (gfc_get_string): Use vsnprintf, get_identifier.
1713 (free_strings, gfc_iresolve_init_1, gfc_iresolve_done_1): Remove.
1714 * misc.c (gfc_init_1): Don't call gfc_iresolve_init_1.
1715 (gfc_done_1): Don't call gfc_iresolve_done_1.
1716 * module.c (mio_allocated_string): Take and return const char *,
1717 instead of modifying char**.
1718 (mio_expr): Update to match.
1719 * resolve.c (pure_function): Constify name argument.
1720 (resolve_function): Constify name.
1721 * trans-intrinsic.c (gfc_conv_intrinsic_function): Likewise.
1722
7f68c75f
RH
17232004-12-12 Richard Henderson <rth@redhat.com>
1724
1725 * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
1726 gfc_resolve_cshift, gfc_resolve_dot_product, gfc_resolve_eoshift,
1727 gfc_resolve_matmul, gfc_resolve_maxloc, gfc_resolve_maxval,
1728 gfc_resolve_minloc, gfc_resolve_minval, gfc_resolve_pack,
1729 gfc_resolve_product, gfc_resolve_reshape, gfc_resolve_shape,
1730 gfc_resolve_spread, gfc_resolve_sum, gfc_resolve_transpose,
1731 gfc_resolve_unpack: Use PREFIX.
1732
23acf4d4
TS
17332004-12-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1734
1735 PR fortran/18869
1736 * match.c (gfc_match_common): Skip whitespace.
1737
c3d003d2
SK
17382004-12-12 Steven G. Kargl <kargls@comcast.net>
1739
1740 PR fortran/16581
1741 * check.c (gfc_check_iand, gfc_check_ibclr, gfc_check_ibits,
1742 gfc_check_ibset, gfc_check_ieor, gfc_check_ior): Remove default
1743 integer kind check; Issue error for -std=f95 when needed.
1744 * intrinsic.c (add_functions): Change ieor from GFC_STD_GNU to
1745 GFC_STD_F95.
1746 * iresolve.c (gfc_resolve_iand, gfc_resolve_ieor, gfc_resolve_ior):
1747 Promote arguments to same kind.
1748
8d5cfa27
SK
17492004-12-12 Steven G. Kargl <kargls@comcast.net>
1750 Paul Brook <paul@codesourcery.com>
1751
1752 PR fortran/16222
1753 * resolve.c (gfc_resolve_iterator_expr): New function.
1754 (gfc_resolve_iterator): Use it. Add real_ok argument. Convert
1755 start, end and stride to correct type.
1756 (resolve_code): Pass extra argument.
1757 * array.c (resolve_array_list): Pass extra argument.
1758 * gfortran.h (gfc_resolve): Add prototype.
1759 * trans-stmt.c (gfc_trans_do): Remove redundant type conversions.
1760 Handle real type iterators.
1761
6ee42e01 17622004-12-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
49e4d580
TS
1763
1764 PR fortran/17175
1765 * iresolve.c (gfc_resolve_scale): Convert 'I' argument if not of
1766 same kind as C's 'int'.
6ee42e01 1767 (gfc_resolve_set_exponent): Convert 'I' argument if not of kind 4.
49e4d580 1768
323c74da
RH
17692004-12-08 Richard Henderson <rth@redhat.com>
1770
1771 * intrinsic.c (gfc_convert_type_warn): Propagate the input shape
1772 to the output expression.
1773 * iresolve.c (gfc_resolve_cshift, gfc_resolve_eoshift): Suppress
1774 warning conversion.
1775 (gfc_resolve_reshape): Force convert SHAPE and ORDER parameters
1776 to index kind.
1777
40f2165e
TS
17782004-12-08 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1779
baa8edda 1780 PR fortran/18826
40f2165e
TS
1781 * resolve.c (resolve_code): Impose correct restrictions on
1782 assigned variable.
1783
59ce85b5
TS
1784 * decl.c (gfc_match_end): Use locus of END when eos is an error.
1785
df65f093
SK
17862004-12-02 Steven G. Kargl <kargls@comcast.net>
1787 Paul Brook <paul@codesourcery.com>
1788
1789 * check.c (gfc_check_flush, gfc_check_fnum): New functions.
1790 (gfc_check_fstat, gfc_check_fstat_sub): New functions.
1791 (gfc_check_stat, gfc_check_stat_sub): New functions.
1792 * gfortran.h (GFC_ISYM_FNUM,GFC_ISYM_FSTAT,GFC_ISYM_STAT): New symbols
1793 * intrinsic.c (add_functions,add_subroutines): Add flush, fnum,
1794 fstat, and stat to intrinsics symbol tables.
1795 * intrinsic.h (gfc_check_flush, gfc_resolve_stat_sub): Add prototypes.
1796 (gfc_resolve_fstat_sub, gfc_resolve_stat): Ditto.
1797 * iresolve.c (gfc_resolve_fnum, gfc_resolve_fstat): New functions.
1798 (gfc_resolve_stat, gfc_resolve_flush): New functions.
1799 (gfc_resolve_stat_sub,gfc_resolve_fstat_sub): New functions
1800 * trans-intrinsic.c (gfc_conv_intrinsic_function): Add new intrinsics.
1801
1270d633
SK
18022004-12-02 Steven G. Kargl <kargls@comcast.net>
1803
1804 * intrinsic.c: Fix and add comments, fix function declarations
1805 (OPTIONAL,REQUIRED): New symbols
1806 (add_functions,add_subroutines): Use symbols
1807 (gmp.h): Remove unused include
1808
597cdf4f
JM
18092004-11-25 Joseph S. Myers <joseph@codesourcery.com>
1810
1811 * f95-lang.c, gfortranspec.c, trans-decl.c: Avoid ` as left quote
1812 in diagnostics.
1813
39afeb1a
SB
18142004-11-24 Steven Bosscher <stevenb@suse.de>
1815
1816 * options.c (gfc_post_options): Don't clear flag_inline_functions.
1817
d8fe26b2
SK
18182004-11-20 Steven G. Kargl <kargls@comcast.net>
1819
1820 * check.c (gfc_check_getcwd_sub): Fix seg fault.
1821
1822 * check.c (gfc_check_exit,gfc_check_umask,gfc_check_umask_sub,
1823 gfc_check_unlink,gfc_check_unlink_sub): New functions
1824 * gfortran.h (GFC_ISYM_UMASK,GFC_ISYM_UNLINK): New symbols
1825 * intrinsic.c (add_functions,add_subroutines): Add umask, unlink,
1826 exit to intrinsics symbol tables.
1827 * intrinsic.h (gfc_check_umask,gfc_check_unlink,gfc_check_exit,
1828 gfc_check_umask_sub,gfc_check_unlink_sub,gfc_resolve_umask,
1829 gfc_resolve_unlink,gfc_resolve_exit,gfc_resolve_umask_sub,
1830 gfc_resolve_unlink_sub): Add and sort prototypes.
1831 * iresolve.c (gfc_resolve_umask,gfc_resolve_unlink,gfc_resolve_exit,
1832 gfc_resolve_umask_sub,gfc_resolve_unlink_sub): New functions
1833 * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbols
1834
40b026d8
PB
18352004-11-16 Paul Brook <paul@codesourcery.com>
1836
1837 PR fortran/13010
1838 * trans-array.c (gfc_trans_allocate_temp_array): Use gfc_get_dtype.
1839 (gfc_array_init_size, gfc_conv_expr_descriptor): Ditto.
1840 * trans-types.c (gfc_get_dtype): Accept array type rather than element
1841 type.
1842 (gfc_get_nodesc_array_type): Don't set GFC_TYPE_ARRAY_DTYPE.
1843 (gfc_get_array_type_bounds): Ditto.
1844 (gfc_get_derived_type): Recurse into derived type pointers.
1845 * trans-types.h (gfc_get_dtype): Add prototype.
1846 * trans.h (GFC_TYPE_ARRAY_DTYPE): Add comment.
1847
c4759ce3
PB
18482004-11-15 Paul Brook <paul@codesourcery.com>
1849
1850 * trans-types.c (gfc_get_dtype): Remove obsolete TODO.
1851
96654664
PB
18522004-11-10 Paul Brook <paul@codesourcery.com>
1853
1854 PR fortran/18375
1855 * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
1856 * trans-io.c (transfer_array_component): Ditto.
1857
851739ea
PB
18582004-11-10 Paul Brook <paul@codesourcery.com>
1859
1860 * invoke.texi: Fix typo.
1861
f7b529fa
KH
18622004-11-08 Kazu Hirata <kazu@cs.umass.edu>
1863
1864 * arith.c, array.c, decl.c, expr.c, f95-lang.c, gfortran.h,
1865 gfortranspec.c, interface.c, intrinsic.c, iresolve.c, match.c,
1866 module.c, parse.c, parse.h, primary.c, resolve.c, scanner.c,
1867 trans-array.c, trans-array.h, trans-expr.c, trans-intrinsic.c,
1868 trans-io.c, trans-stmt.c, trans.h: Fix comment formatting.
1869
c1df75d1
TS
18702004-11-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1871
1872 PR fortran/18023
1873 * io.c (resolve_tag): Tighten up exception for assigned FORMAT.
1874
882f2b8e
KH
18752004-11-06 Kazu Hirata <kazu@cs.umass.edu>
1876
1877 * gfortranspec.c: Replace GNU CC with GCC.
1878
20a209b5
TS
18792004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1880
1881 * gfortranspec.c (lang_specific_driver): Change year to 2004.
1882
ca0e9281
TS
18832004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1884
1885 PR fortran/18111
1886 * trans-decl.c (create_function_arglist): Set DECL_ARTIFICIAL for
1887 hidden parameters.
1888
adf3ed3f
TS
18892004-11-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1890
1891 PR fortran/15164
1892 * trans-decl.c (gfc_finish_var_decl): Don't declare arguments to
1893 module procedures as if they were module variables.
1894
36f4d144
TS
18952004-11-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1896
1897 PR fortran/17535
1898 PR fortran/17583
1899 PR fortran/17713
1900 * module.c (write_symbol1): Set module_name for dummy arguments.
1901
9e660c49
PB
19022004-11-02 Paul Brook <paul@codesourcery.com>
1903
1904 * intrinsic.c (check_intrinsic_standard): Include error locus.
1905 Remove VLA.
1906 (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Pass
1907 locus to check_intrinsic_standard.
1908
b7892582
JB
19092004-10-31 Janne Blomqvist <jblomqvi@cc.hut.fi>
1910
1911 PR fortran/17590
1912 * gfortran.h: Change GFC_STD_* flags to more appropriate
1913 ones. (struct gfc_intrinsic_isym): Add field for standard. (struct
1914 gfc_option_t): Add field for warning about use of nonstandard
1915 intrinsics.
1916 * intrinsic.c (add_sym): Add parameter for standard version, check
1917 this against current standard.
1918 (add_sym_0): Pass standard parameter to add_sym.
1919 (add_sym_1, add_sym_0s, add_sym_1s, add_sym_1m, add_sym_2): Ditto.
1920 (add_sym_2s, add_sym_3, add_sym_3ml, add_sym_3red, add_sym_3s): Ditto.
1921 (add_sym_4, add_sym_4s, add_sym_5, add_sym_5s): Ditto.
1922 (make_generic): Add parameter for standard, check this
1923 against currently selected standard.
1924 (add_functions, add_subroutines): Add parameter to tell which
1925 standard an intrinsic belongs to.
1926 (check_intrinsic_standard): New function.
1927 (gfc_intrinsic_func_interface): Add call to check_intrinsic_standard.
1928 (gfc_intrinsic_sub_interface): Ditto.
1929 * lang.opt: Add Wnonstd-intrinsics option.
1930 * options.c (gfc_init_options): Change to use new GFC_STD_* flags,
1931 init new warning.
1932 (set_Wall): Add warning about nonstd intrinsics.
1933 (gfc_handle_option): Change to use new GFC_STD_* flags,
1934 handle new warning.
1935 * invoke.texi: Update manual to include -Wnonstd-intrinsics.
1936
f88cf205
AP
19372004-10-30 Andrew Pinski <pinskia@physics.uc.edu>
1938
1939 * f95-lang.c (lang_tree_node): Add chain_next to be the TREE_CHAIN.
1940
b7398e72
TS
19412004-10-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1942
1943 * simplify.c (twos_complement): Calculate mask in GMP arithmetic.
1944
bf737879
TS
19452004-10-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1946
1947 * trans.c (gfc_trans_code): Set global locus after recursing. Fix
1948 comment typo.
1949
7a003d8e
CY
19502004-10-30 Canqun Yang <canqun@nudt.edu.cn>
1951
a1286ef5 1952 * check.c (gfc_check_rand): Allow missing optional argument.
7a003d8e
CY
1953 (gfc_check_irand): Ditto.
1954 * intrinsic.c (add_functions): Set arg optional flag for {i,}rand.
1955
be3a985e
SRL
19562004-10-28 Scott Robert Ladd <scott.ladd@coyotegulch.com>
1957
1958 PR fortran/13490, PR fortran/17912
1959 * gcc/fortran/gfortran.h: Added pedantic_min_int to gfc_integer_info
1960 * gcc/fortran/gfortran.h: Added ARITH_ASYMMETRIC to arith
7a003d8e 1961 * gcc/fortran/arith.c: Added support for an "asymmetric integer"
be3a985e
SRL
1962 warning when compiling with pedantic.
1963 * gcc/fortran/arith.c: Set minimum integer values to reflect
1964 realities of two's complement signed integers. Added
1965 pedantic minimum.
1966
974ede64
AP
19672004-10-17 Andrew Pinski <pinskia@physics.uc.edu>
1968
1969 * Make-lang.in (F95_ADDITIONAL_OBJS): Kill.
1970 (f951): Do not depend on F95_ADDITIONAL_OBJS and don't
1971 link it in.
1972
19e4c59d
TS
19732004-10-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1974
1975 * trans-decl.c (generate_local_decl): Simplify logic, fix comment
1976 typo.
1977 (gfc_generate_function_code): Fix formatting issue.
1978
711f8369
TS
19792004-10-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1980
1981 * module.c: Fix formatting issues.
1982
5c76089a
TS
19832004-10-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1984
1985 * module.c (mio_interface_rest): Set where member of interface
1986 while loading.
1987
2d0b4bcd
AP
19882004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1989
1990 PR fortran/17901
1991 * options.c (gfc_handle_option): Add break after handing the
1992 J/M option.
1993
26810721
TS
19942004-10-08 Tobias Schlueter <tobias.shclueter@physik.uni-muenchen.de>
1995
1996 * arith.c: Fix formatting issues.
a1286ef5 1997
edbfca8f
TS
19982004-10-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
1999
2000 PR fortran/17676
2001 * resolve.c (resolve_operator): Use correct operator name in message.
2002
5d874166
TS
20032004-10-07 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2004
2005 * primary.c (match_boz_constant): Allow kind parameter suffixes.
2006 Move standard warning further to the front.
2007
54c2d931
KH
20082004-10-07 Kazu Hirata <kazu@cs.umass.edu>
2009
2010 * trans-stmt.c: Fix a comment typo.
2011
2b58638b
PB
20122004-10-07 Paul Brook <paul@codesourcery.com>
2013
2014 PR fortran/17678
2015 * trans-array.c (gfc_trans_deferred_array): Leave use associated
2016 variables alone.
2017
5d24a977
TS
20182004-10-06 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2019
2020 PR fortran/17568
2021 * simplify.c (twos_complement): New function.
2022 (gfc_simplify_ishft, gfc_simplify_ishftc): Revise.
2023
c45abcaf
TS
2024 * simplify.c (gfc_simplify_abs): Use mpfr_hypot for CABS.
2025
fbdad37d
PB
20262004-10-06 Paul Brook <paul@codesourcery.com>
2027
2028 * trans-stmt.c (gfc_trans_simple_do): New function.
2029 (gfc_trans_do): Use it. Evaluate iteration bounds before entering
2030 loop. Update comments.
2031
58c5b409
TS
20322004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2033
2034 PR fortran/17283
2035 * iresolve.c (gfc_resolve_pack): Choose function depending if mask
2036 is scalar.
2037
ee569894
TS
2038 PR fortran/17631
2039 * intrinsic.c (add_sym_5): Remove.
2040 (add_subroutines): Add resolution function for MVBITS.
2041 * intrinsic.h (gfc_resolve_mvbits): Declare resolution function for
2042 MVBITS
2043 * iresolve.c (gfc_resolve_mvbits): New function.
2044 (gfc_resolve_random_number): Remove empty line at end of function.
2045
73a014b5
TS
2046 * trans-const.c (gfc_build_cstring_const): New function.
2047 (gfc_init_cst): Use new function.
2048 * trans-const.h (gfc_build_cstring_const): Add prototype.
2049 * trans-io.c (set_string, set_error_locus): Use new function.
2050 * trans-stmt.c (gfc_trans_goto): Use new function.
a1286ef5 2051
73a014b5
TS
2052 PR fortran/17708
2053 * parse.c (accept_statement): Don't treat END DO like END IF and
2054 END SELECT.
2055 (parse_do_block): Generate possible END DO label inside END DO
2056 block.
2057
5b1374e9
TS
2058 PR fortran/17776
2059 * check.c (gfc_check_system_sub): New function.
2060 * gfortran.h (gfc_generic_isym_id): Add GFC_ISYM_SYSTEM.
2061 * intrinsic.c (add_functions): Add 'system'.
2062 (add_subroutines): Add 'system'.
2063 * intrinsic.h (gfc_check_etime_sub, gfc_check_getcwd_sub):
2064 Move prototypes to other suborutines.
2065 (gfc_check_system_sub, gfc_resolve_system, gfc_resolve_system_sub):
2066 Add prototype.
2067 (gfc_resolve_system_clock): Fix formatting of prototype.
2068 * iresolve.c (gfc_resolve_system, gfc_resolve_system_sub): New
2069 functions.
2070 * trans-intrinsic.c (gfc_conv_intrinsic_function): Deal with
2071 GFC_ISYM_SYSTEM.
2072
d7d528c8
ES
20732004-10-04 Erik Schnetter <schnetter@aei.mpg.de>
2074
2075 * scanner.c (preprocessor_line): Accept preprocessor lines without
2076 file names. Check file names for closing quotes. Handle escaped
2077 quotes in file names.
2078
ca2940c3
TS
20792004-10-04 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2080 Paul Brook <paul@codesourcery.com>
2081
2082 * trans-array.c (gfc_conv_expr_descriptor): Check for substriungs.
2083 Use gfc_get_expr_charlen.
2084 * trans-expr.c (gfc_get_expr_charlen): New function.
2085 * trans.h (gfc_get_expr_charlen): Add prototype.
2086
b805ea17
KH
20872004-10-04 Kazu Hirata <kazu@cs.umass.edu>
2088
2089 * trans-intrinsic.c: Fix a comment typo.
2090
03ddaf35
TS
20912004-10-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2092
2093 * simplify.c (range_check): Remove blank line at beginning of function.
2094 (gfc_simplify_dint): Same at end of function.
2095 (gfc_simplify_exponent, gfc_simplify_fraction): Simplify calculations.
2096 (gfc_simplify_bound): Fix indentation.
2097 (gfc_simplify_log10): Simplify calculation.
2098 (gfc_simplify_min, gfc_simplify_max): Remove blank line at beginning
2099 of function.
2100 (gfc_simplify_nearest): Same at end of function.
2101 (gfc_simplify_nint, gfc_simplify_idnint): Same at beginning of
2102 function.
2103 (gfc_simplify_rrspacing, gfc_simplify_set_exponent,
2104 gfc_simplify_spacing): Simplify calulations.
2105
046dcd57
FW
21062004-10-03 Feng Wang <fengwang@nudt.edu.cn>
2107
2108 * trans-intrinsic.c: Fix comments on spacing and rrspacing
2109 (gfc_conv_intrinsic_rrspacing): Add fold on constant trees.
2110
0f0377f6
JH
21112004-10-01 Jan Hubicka <jh@suse.cz>
2112
2113 * f95-lang.c (gfc_expand_function): Update call of
2114 tree_rest_of_compilation.
2115 * trans-decl.c (gfc_generate_constructors): Likewise.
2116
68629d16
TS
21172004-09-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2118
2119 * trans-intrinsic.c: Comment fixes.
2120
75d17889
TS
21212004-09-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2122
2123 * decl.c (add_init_expr_to_sym, variable_decl): Comment fixes.
2124
206fb0a7
TS
21252004-09-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2126
2127 * trans-types.c (gfc_return_by_reference): Remove superfluous
2128 assertion.
2129
c0c07d7b
TS
2130 * intrinsic.h (gfc_resolve_getcwd): Update prototype.
2131 * iresolve.c (gfc_resolve_getcwd): Add second argument to function.
2132
2133 PR fortran/17615
2134 * trans-expr.c (gfc_trans_arrayfunc_assign): Look at resolved
2135 function to determine return type.
a1286ef5 2136
8f235343
JH
21372004-09-20 Jan Hubicka <jh@suse.cz>
2138
2139 * trans-decl.c (build_entry_thunks): Finalize the function; do not lower
2140 tree.
2141 (gfc_generate_function_code): Likewise.
2142
da89fba8
TS
21432004-09-20 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2144
2145 PR fortran/15957
2146 * simplify.c (gfc_simplify_reshape): Set shape of return value
2147 correctly.
2148
6615c446
JO
21492004-09-17 Jeffrey D. Oldham <oldham@codesourcery.com>
2150 Zack Weinberg <zack@codesourcery.com>
2151
2152 * f95-lang.c, trans-expr.c, trans.c: Update for new tree-class
2153 enumeration constants.
2154
4cdf7223
PB
21552004-09-17 Paul Brook <paul@codesourcery.com>
2156
2157 * gfortran.h (struct gfc_linebuf): Don't use C99 empty arrays.
2158 (gfc_linebuf_header_size): Define.
2159 * scanner.c (load_file): Use it.
2160
1f2959f0
KH
21612004-09-16 Kazu Hirata <kazu@cs.umass.edu>
2162
2163 * array.c, data.c, decl.c, dependency.c, error.c, f95-lang.c,
2164 interface.c, intrinsic.c, io.c, misc.c, module.c, parse.h,
2165 resolve.c, scanner.c, trans-array.c, trans-array.h,
2166 trans-common.c, trans-const.h, trans-decl.c, trans-expr.c,
2167 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.c,
2168 trans.h: Fix comment typos. Follow spelling conventions.
2169
d2ccf6aa
VL
21702004-09-16 Victor Leikehman <lei@il.ibm.com>
2171
2172 PR/15364
2173 * trans-io.c (transfer_array_component): New function.
2174 (transfer_expr): For array fields, call transfer_array_component.
2175
de787a96
KH
21762004-09-16 Kazu Hirata <kazu@cs.umass.edu>
2177
2178 * gfortran.texi: Fix a typo.
2179
f13ab1ee
AL
21802004-09-15 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
2181
2182 * parse.c (eof_buf): Rename eof to eof_buf.
2183 (unexpected_eof): Same.
2184 (gfc_parse_file): Same.
2185
0110c1ec
SK
21862004-09-15 Steven G. Kargl <kargls@comcast.net>
2187
2188 * check.c (gfc_check_getcwd_sub): New function.
2189 * gfortran.h (GFC_ISYM_GETCWD): New symbol.
2190 * intrinsic.c (add_functions): Add function definition;
2191 Use symbol.
2192 * intrinsic.c (add_subroutines): Add subroutine definitions.
2193 * intrinsic.h: Add prototypes.
2194 * iresolve.c (gfc_resolve_getcwd, gfc_resolve_getcwd_sub):
2195 New functions.
2196 * trans-intrinsic.c (gfc_conv_intrinsic_function): Use symbol.
2197
4672f86a
TS
21982004-09-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2199
2200 PR fortran/16485
2201 * module.c (write_symbol): Don't fill in module name here.
2202 (write_symbol0): Fill in here instead.
2203
13795658
KH
22042004-09-14 Kazu Hirata <kazu@cs.umass.edu>
2205
2206 * data.c, decl.c, f95-lang.c, gfortran.h, match.c,
2207 trans-array.c, trans-common.c, trans-expr.c,
2208 trans-intrinsic.c, trans-stmt.c, trans-types.c, trans.h: Fix
2209 comment typos. Follow spelling conventions.
2210
4d28e183
PB
22112004-09-09 Paul Brook <paul@codesourcery.com>
2212
2213 * scanner.c (get_file): Add ATTRIBUTE_UNUSED.
2214
6e45f57b
PB
22152004-09-08 Paul Brook <paul@codesourcery.com>
2216
2217 * array.c: Don't include assert.h.
2218 * data.c: Don't include assert.h. Replace assert and abort with
2219 gcc_assert and gcc_unreachable.
2220 * dependency.c: Ditto.
2221 * f95-lang.c: Ditto.
2222 * iresolve.c: Ditto.
2223 * resolve.c: Ditto.
2224 * simplify.c: Ditto.
2225 * symbol.c: Ditto.
2226 * trans-array.c: Ditto.
2227 * trans-common.c: Ditto.
2228 * trans-const.c: Ditto.
2229 * trans-decl.c: Ditto.
2230 * trans-expr.c: Ditto.
2231 * trans-intrinsic.c: Ditto.
2232 * trans-io.c: Ditto.
2233 * trans-stmt.c: Ditto.
2234 * trans-types.c: Ditto.
2235 * trans.c: Ditto.
2236
c8cc8542
PB
22372004-09-07 Per Bothner <per@bothner.com>
2238 Paul Brook <paul@codesourcery.com>
2239
2240 * error.c (show_locus): Handle mapped locations.
2241 * f95-lang.c (gfc_be_parse_file): Initialize mapped locations.
2242 * gfortran.h: Include input.h.
2243 (struct gfc_linebuf): Use source_location.
2244 * scanner.c (get_file): Initialize linemap.
2245 (preprocessor_line): Pass extra argument to get_file.
2246 (load_file): Ditto. Setup linemap.
2247 (gfc_new_file): Handle mapped locations.
2248 * trans-common.c (build_field, build_equiv_decl, build_common_decl):
2249 Set decl source locations.
2250 (gfc_trans_common): Set blank common block location.
2251 * trans-decl.c (gfc_set_decl_location): New function.
2252 (gfc_get_label_decl, gfc_get_symbol_decl): Use it.
2253 (trans_function_start): Move call to gfc_set_backend_locus..
2254 (build_function_decl): ... to here.
2255 (build_entry_thunks): Set and restore the backend locus.
2256 (gfc_generate_constructors): Remove excess arguments to
2257 init_function_start.
2258 (gfc_generate_block_data): Add comments. Set the decl locus.
2259 * trans-io.c (set_error_locus): Handle mapped locations.
2260 * trans.c (gfc_get_backend_locus, gfc_get_backend_locus): Ditto.
2261 (gfc_trans_code): Use SET_EXPR_LOCATION.
2262 (gfc_generate_code): Override the location of the new symbol.
2263 * trans.h (gfc_set_decl_location): Add prototype.
2264
4c97f95a
PB
22652004-08-31 Paul Brook <paul@codesourcery.com>
2266
2267 * trans-types.c (gfc_type_for_mode): Return NULL for unknown modes.
2268
c3d0559d
TS
22692004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2270
2271 PR fortran/15327
2272 * trans-intrinsic.c (gfc_conv_intrinsic_merge): Do the right thing for
2273 strings.
2274
0e6928d8
TS
22752004-09-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2276
2277 PR fortran/16400
2278 PR fortran/16404
2279 (port from g95)
2280 * resolve.c (resolve_transfer): New function.
2281 (resolve_code): Call resolve_transfer in case of EXEC_TRANSFER.
2282
149a42dd
TS
22832004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2284
2285 PR fortran/16579
2286 * trans-types.c (gfc_init_types): Make gfc_character1_type_node an
2287 unsigned char.
2288
c4dd5a8d
TS
22892004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2290
2291 * CONTRIB, NEWS, README, TODO: Remove obsolete files.
2292
cf73cdac
TS
22932004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2294
2295 PR fortran/17244
2296 * trans-types.c (gfc_return_by_reference): Remove TODO error,
2297 add comment pointing out possible issue WRT compatibility with g77.
2298
d7177ab2
TS
22992004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2300
2301 * trans-decl.c, trans-expr.c, trans-io.c, trans-types.c: Replace
2302 all occurences of 'gfc_strlen_type_node' by
2303 'gfc_charlen_type_node'.
2304 * trans-types.h: Same. Also update comment accordingly.
2305
d1d61a00
TS
23062004-08-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2307
2308 * primary.c: Update copyright boilerplate to say GCC.
f36327db 2309 * f95-lang.c: Change initial comment to say gfortran.
d1d61a00 2310
da17f559
PB
23112004-08-31 Paul Brook <paul@codesourcery.com>
2312
2313 * trans-types.h: Add comments.
2314 (intmax_type_node, string_type_node, const_string_type_node): Remove.
2315
e2cad04b
RH
23162004-08-30 Richard Henderson <rth@redhat.com>
2317
2318 * Make-lang.in (fortran/f95-lang.o): Update dependencies.
2319 (fortran/trans-decl.o, fortran/trans-types.o): Likewise.
2320 * gfortran.h (gfc_integer_info): Add c_char, c_short, c_int,
2321 c_long, c_long_long.
2322 (gfc_logical_info): Add c_bool.
2323 (gfc_real_info): Add mode_precision, c_float, c_double, c_long_double.
2324 * trans-array.c (gfc_array_allocate): Use TYPE_PRECISION
2325 rather than gfc_int[48]_type_node for allocate choice.
2326 * trans-decl.c (gfc_build_intrinsic_function_decls): Cache
2327 local copies of some kind type nodes.
2328 (gfc_build_builtin_function_decls): Likewise.
2329 * trans-expr.c (gfc_conv_power_op): Likewise.
2330 * trans-intrinsic.c (gfc_conv_intrinsic_index,
2331 gfc_conv_intrinsic_scan, gfc_conv_intrinsic_verify,
2332 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat): Likewise.
2333 * trans-stmt.c (gfc_trans_pause, gfc_trans_stop,
2334 gfc_trans_character_select, gfc_trans_allocate): Likewise.
2335 * trans-io.c (gfc_pint4_type_node): Move into ...
2336 (gfc_build_io_library_fndecls): ... here. Cache local copies of
2337 some kind type nodes.
2338 * trans-types.c (gfc_type_nodes): Remove.
2339 (gfc_character1_type_node, gfc_strlen_type_node): New.
2340 (gfc_integer_types, gfc_logical_types): New.
2341 (gfc_real_types, gfc_complex_types): New.
2342 (gfc_init_kinds): Fill in real mode_precision.
2343 (gfc_build_int_type, gfc_build_real_type): New.
2344 (gfc_build_complex_type, gfc_build_logical_type): New.
2345 (c_size_t_size): New.
2346 (gfc_init_types): Loop over kinds.
2347 (gfc_get_int_type, gfc_get_real_type): Use gfc_validate_kind.
2348 (gfc_get_complex_type, gfc_get_logical_type): Likewise.
2349 (gfc_get_character_type_len): Likewise.
2350 (gfc_type_for_size): Loop over kinds; use a reduced set of
2351 unsigned type nodes.
2352 (gfc_type_for_mode): Loop over kinds.
2353 (gfc_signed_or_unsigned_type): Use gfc_type_for_size.
2354 (gfc_unsigned_type, gfc_signed_type): Use gfc_signed_or_unsigned_type.
2355 * trans-types.h (F95_INT1_TYPE, F95_INT2_TYPE, F95_INT4_TYPE,
2356 F95_INT8_TYPE, F95_INT16_TYPE, F95_REAL4_TYPE, F95_REAL8_TYPE,
2357 F95_REAl16_TYPE, F95_COMPLEX4_TYPE, F95_COMPLEX8_TYPE,
2358 F95_COMPLEX16_TYPE, F95_LOGICAL1_TYPE, F95_LOGICAL2_TYPE,
2359 F95_LOGICAL4_TYPE, F95_LOGICAL8_TYPE, F95_LOGICAL16_TYPE,
2360 F95_CHARACTER1_TYPE, NUM_F95_TYPES, gfc_type_nodes,
2361 gfc_int1_type_node, gfc_int2_type_node, gfc_int4_type_node,
2362 gfc_int8_type_node, gfc_int16_type_node, gfc_real4_type_node,
2363 gfc_real8_type_node, gfc_real16_type_node, gfc_complex4_type_node,
2364 gfc_complex8_type_node, gfc_complex16_type_node,
2365 gfc_logical1_type_node, gfc_logical2_type_node,
2366 gfc_logical4_type_node, gfc_logical8_type_node,
2367 gfc_logical16_type_node, gfc_strlen_kind): Remove.
2368 (gfc_character1_type_node): Turn in to a variable.
2369 (gfc_strlen_type_node): Likewise.
2370
0de4325e
TS
23712004-08-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2372
2373 * gfortran.h (gfc_namespace): Add new field is_block_data.
2374 * parse.c (accept_statement): Remove special handling for BLOCK DATA.
2375 (parse_block_data): Record BLOCK DATA name, set is_block_data field.
2376 * trans.c (gfc_generate_code): Handle BLOCK DATA units.
2377 * trans.h (gfc_generate_block_data): Add prototype.
2378 * trans-decl.c (gfc_generate_block_data): New function.
2379
04204c2f
RH
23802004-08-29 Richard Henderson <rth@redhat.com>
2381
2382 * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_export.
2383 * trans-types.c (gfc_init_kinds): Reject integer kinds larger
2384 than two HOST_WIDE_INT.
2385
294fbfc8
TS
23862004-08-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2387
2388 PR fortran/13910
2389 * decl.c (free_variable, free_value, gfc_free_data, var_list,
2390 var_element, top_var_list, match_data_constant, top_val_list,
2391 gfc_match_data): Move here from match.c.
2392 (match_old_style_init): New function.
2393 (variable_decl): Match old-style initialization.
2394 * expr.c (gfc_get_variable_expr): New function.
2395 * gfortran.h (gfc_get_variable_expr): Add prototype.
2396 * gfortran.texi: Start documentation for supported extensions.
2397 * match.c: Remove the functions moved to decl.c.
2398 * match.h (gfc_match_data): Move prototype to under decl.c.
2399 * symbol.c (gfc_find_sym_tree, gfc_find_symbol): Add/correct
2400 comments.
2401
e8525382
SK
24022004-08-29 Steven G. Kargl <kargls@comcast.net>
2403 Paul Brook <paul@codesourcery.com>
2404
2405 * check.c (gfc_check_besn, gfc_check_g77_math1): New functions.
2406 * f95-lang.c (DO_DEFINE_MATH_BUILTIN): Define.
2407 (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
2408 (build_builtin_fntypes): New function.
2409 (gfc_init_builtin_functions): Use it.
2410 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_{J,Y}{0,1,N}
2411 and GFC_ISYM_ERF{,C}.
2412 (gfc_c_int_kind): Declare.
2413 * intrinsic.c (add_functions): Add [d]bes* and [d]erf*.
2414 * intrinsic.h (gfc_check_besn, gfc_check_g77_math1, gfc_resolve_besn,
2415 gfc_resolve_g77_math1): Add prototypes.
2416 * resolve.c (gfc_resolve_besn, gfc_resolve_g77_math1): New functions.
2417 * mathbuiltins.def: Add comment. Change third argument. Use
2418 DEFINE_MATH_BUILTIN_C. Add bessel and error functions.
2419 * trans-intrinsic.c (BUILT_IN_FUNCTION): Define.
2420 (DEFINE_MATH_BUILTIN, DEFINE_MATH_BUILTIN_C): Use it.
2421 * trans-types.c (gfc_c_int_kind): Declare.
2422 (gfc_init_kinds): Set it.
2423
4c0c6b9f
SK
24242004-08-29 Steven G. Kargl <kargls@comcast.net>
2425 Paul Brook <paul@codesourcery.com>
2426
2427 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_GET?ID.
2428 (gfc_check_f, gfc_simplify_f): Add f0.
2429 * intrinsic.c (do_check): Call f0. Flatten.
2430 (add_sym_0): Fix prototype. Set f0.
2431 (add_functions): Add getgid, getgid and getuid.
2432 (resolve_intrinsic): Remove obsolete comment.
2433 (do_simplify): Call f0.
2434 * intrinsic.h (gfc_resolve_getgid, gfc_resolve_getpid,
2435 gfc_resolve_getuid): Add prototypes.
2436 * iresolve.c (gfc_resolve_getgid, gfc_resolve_getpid,
2437 gfc_resolve_getuid): New functions.
2438 * trans-intrinsic.c (gfc_conv_intrinsic_function): Handle
2439 GFC_ISYM_GET?ID.
2440
1f05db63
TS
24412004-08-28 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2442
2443 * error.c (gfc_error_init_1): Remove blank line in front of
2444 function body. Add missing blank.
2445 (gfc_buffer_error, error_char, error_string): Remove blank line in
2446 front of function body.
2447 (show_locus): Add comma in comment.
2448 (gfc_clear_warning, gfc_warning_check, gfc_clear_error,
2449 gfc_push_error, gfc_pop_error): Remove blank line in front of
2450 function body.
2451 (gfc_get_errors): Typo fix in comment in front of function. Remove
2452 blank line in front of function body.
2453
9d64df18
TS
24542004-08-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2455
2456 * gfortran.h (gfc_default_*_kind): Remove prototypes, add extern
2457 variable declaration of same name.
2458 * arith.c, check.c, decl.c, dump_parse_tree.c, expr.c,
2459 intrinsic.c, io.c, iresolve.c, match.c, options.c, primary.c,
2460 resolve.c, simplify.c, symbol.c, trans-const.c, trans-io.c:
2461 Replace all calls to gfc_default_*_kind with variable accesses.
2462 * trans-types.c: Same as above.
2463 (gfc_default_*_kind_1): Rename to gfc_default_*_kind, remove
2464 static qualifier. Replace all occurences.
2465 (gfc_default_*_kind): Remove functions.
2466
5e8e542f
RH
24672004-08-26 Richard Henderson <rth@redhat.com>
2468
6615c446
JO
2469 * arith.c: Include system.h, not real system headers.
2470 (MPZ_NULL, MPF_NULL, DEF_GFC_INTEGER_KIND, DEF_GFC_LOGICAL_KIND,
2471 DEF_GFC_REAL_KIND, GFC_SP_KIND, GFC_SP_PREC, GFC_SP_EMIN, GFC_SP_EMAX,
2472 GFC_DP_KIND, GFC_DP_PREC, GFC_DP_EMIN, GFC_DP_EMAX, GFC_QP_KIND,
2473 GFC_QP_PREC, GFC_QP_EMIN, GFC_QP_EMAX): Remove.
2474 (gfc_integer_kinds, gfc_logical_kinds, gfc_real_kinds,
2475 gfc_index_integer_kind, gfc_default_integer_kind,
2476 gfc_default_real_kind,gfc_default_double_kind,
2477 gfc_default_character_kind, gfc_default_logical_kind,
2478 gfc_default_complex_kind, validate_integer, validate_real,
2479 validate_logical, validate_character,
2480 gfc_validate_kind): Move to trans-types.c.
2481 (gfc_set_model_kind): Use gfc_validate_kind.
2482 (gfc_set_model): Just copy the current precision to default.
2483 (gfc_arith_init_1): Use mpfr precision 128 for integer setup.
2484 * f95-lang.c (gfc_init_decl_processing): Invoke gfc_init_kinds.
2485 * gfortran.h: Update file commentary.
2486 * trans-types.c (MAX_INT_KINDS, MAX_REAL_KINDS): New.
2487 (gfc_default_integer_kind_1, gfc_default_real_kind_1,
2488 gfc_default_double_kind_1, gfc_default_character_kind_1,
2489 gfc_default_logical_kind_1, gfc_default_complex_kind_1): New.
2490 (gfc_init_kinds): New.
2491 (gfc_init_types): Don't set gfc_index_integer_kind here.
2492 * trans-types.h (gfc_init_kinds): Declare.
5e8e542f
RH
2493 * doc/invoke.texi: Clarify DOUBLE PRECISION behaviour wrt -r8.
2494
a1bab9ea
TS
24952004-08-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2496
2497 * check.c (gfc_check_atan2): New function.
2498 * intrinsic.c (add_functions): Use gfc_check_atan2 for ATAN2
2499 * intrinsic.h (gfc_check_atan2): Add prototype.
2500
e7a2d5fb
RH
25012004-08-25 Richard Henderson <rth@redhat.com>
2502
2503 * arith.c (gfc_validate_kind): Add may_fail argument; abort if
2504 false and we don't validate the kind.
2505 (gfc_check_integer_range, gfc_check_real_range): Update to match.
2506 * check.c (kind_check): Likewise.
2507 * decl.c (gfc_match_old_kind_spec, gfc_match_kind_spec): Likewise.
2508 (match_char_spec, match_logical_spec): Likewise.
2509 * gfortran.h (gfc_validate_kind): Likewise.
2510 * options.c (gfc_handle_option): Likewise.
2511 * primary.c (match_integer_constant, match_real_constant,
2512 match_string_constant, match_logical_constant,
2513 match_const_complex_part): Likewise.
2514 * simplify.c (get_kind, gfc_simplify_bit_size, gfc_simplify_digits,
2515 gfc_simplify_epsilon, gfc_simplify_huge, gfc_simplify_ibclr,
2516 gfc_simplify_ibset, gfc_simplify_ishft, gfc_simplify_ishftc,
2517 gfc_simplify_maxexponent, gfc_simplify_minexponent,
2518 gfc_simplify_nearest, gfc_simplify_not, gfc_simplify_precision,
2519 gfc_simplify_radix, gfc_simplify_range, gfc_simplify_rrspacing,
2520 gfc_simplify_scale, gfc_simplify_spacing, gfc_simplify_tan,
2521 gfc_simplify_tiny): Likewise.
2522 * trans-intrinsic.c (gfc_conv_intrinsic_aint, gfc_conv_intrinsic_mod,
2523 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_minmaxval,
2524 prepare_arg_info): Likewise.
2525
6d1c50cc
TS
25262004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2527
2528 * expr.c (gfc_check_assign): Add comment. Add new warning.
2529 * trans-expr.c (gfc_conv_function_call): Correctly dereference
2530 result of pointer valued function when not in pointer assignment.
2531
75101feb
PB
25322004-08-25 Paul Brook <paul@codesourcery.com>
2533
2534 * config-lang.in: Remove dead commented line.
2535 * module.c: Replace g95 with gfortran in comment.
2536
9ca2b0db
PB
25372004-08-25 Paul Brook <paul@codesourcery.com>
2538
2539 PR fortran/17190
2540 * arith.c (gfc_mpfr_to_mpz): Workaround mpfr bug.
2541
40f20186
PB
25422004-08-25 Paul Brook <paul@codesourcery.com>
2543
2544 PR fortran/17144
2545 * trans-array.c (gfc_trans_allocate_temp_array): Remove
2546 string_length argument.
2547 (gfc_trans_array_ctor_element): New function.
2548 (gfc_trans_array_constructor_subarray): Use it.
2549 (gfc_trans_array_constructor_value): Ditto. Handle constant
2550 character arrays.
2551 (get_array_ctor_var_strlen, get_array_ctor_strlen): New functions.
2552 (gfc_trans_array_constructor): Use them.
2553 (gfc_add_loop_ss_code): Update to new gfc_ss layout.
2554 (gfc_conv_ss_descriptor): Remember section string length.
2555 (gfc_conv_scalarized_array_ref): Ditto. Remove dead code.
2556 (gfc_conv_resolve_dependencies): Update to new gfc_ss layout.
2557 (gfc_conv_expr_descriptor): Ditto.
2558 (gfc_conv_loop_setup): Ditto. Spelling fixes.
2559 * trans-array.h (gfc_trans_allocate_temp_array): Update prototype.
2560 * trans-const.c (gfc_conv_constant): Update to new gfc_ss layout.
2561 * trans-expr.c (gfc_conv_component_ref): Turn error into ICE.
2562 (gfc_conv_variable): Set string_length from section.
2563 (gfc_conv_function_call): Remove extra argument.
2564 (gfc_conv_expr, gfc_conv_expr_reference): Update to new gfc_ss layout.
2565 * trans-types.c (gfc_get_character_type_len): New function.
2566 (gfc_get_character_type): Use it.
2567 (gfc_get_dtype): Return zero for internal types.
2568 * trans-types.h (gfc_get_character_type_len): Add prototype.
2569 * trans.h (struct gfc_ss): Move string_length out of union.
2570
923ab88c
TS
25712004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2572
2573 * trans.h (build2_v, build3_v): New macros.
2574 (build_v): Remove.
2575 * f95-lang.c (gfc_truthvalue_conversion): Use build2 instead of
2576 build.
2577 * trans-array.c (gfc_conv_descriptor_data,
2578 gfc_conv_descriptor_offset, gfc_conv_descriptor_dimension,
6615c446 2579 gfc_conv_descriptor_stride, gfc_conv_descriptor_lbound,
923ab88c
TS
2580 gfc_conv_descriptor_ubound, gfc_trans_allocate_array_storage,
2581 gfc_trans_allocate_temp_array,
2582 gfc_trans_array_constructor_subarray,
2583 gfc_trans_array_constructor_value, gfc_conv_array_index_ref,
2584 gfc_trans_array_bound_check, gfc_conv_array_index_offset,
2585 gfc_conv_scalarized_array_ref, gfc_conv_array_ref,
2586 gfc_conv_array_ref, gfc_trans_preloop_setup,
2587 gfc_trans_scalarized_loop_end, gfc_conv_ss_startstride,
2588 gfc_conv_loop_setup, gfc_array_init_size,
2589 gfc_conv_array_initializer, gfc_trans_array_bounds,
2590 gfc_trans_auto_array_allocation, gfc_trans_dummy_array_bias,
2591 gfc_conv_expr_descriptor, gfc_conv_array_parameter,
2592 gfc_trans_deferred_array): Use buildN and buildN_v macros instead
2593 of build and build_v as appropriate.
2594 * trans-common.c (create_common): Same.
2595 * trans-decl.c (gfc_trans_auto_character_variable,
2596 gfc_trans_entry_master_switch, gfc_generate_function_code): Same.
2597 * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
2598 gfc_conv_component_ref, gfc_conv_unary_op, gfc_conv_powi,
2599 gfc_conv_cst_int_power, gfc_conv_string_tmp, gfc_conv_concat_op,
2600 gfc_conv_expr_op, gfc_conv_function_call,
2601 gfc_trans_structure_assign): Same.
2602 * trans-intrinsic.c (build_fixbound_expr, build_round_expr,
2603 gfc_conv_intrinsic_aint, gfc_conv_intrinsic_bound,
2604 gfc_conv_intrinsic_cmplx, gfc_conv_intrinsic_mod,
2605 gfc_conv_intrinsic_dim, gfc_conv_intrinsic_sign,
2606 gfc_conv_intrinsic_dprod, gfc_conv_intrinsic_minmax,
2607 gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
2608 gfc_conv_intrinsic_arith, gfc_conv_intrinsic_minmaxloc,
2609 gfc_conv_intrinsic_minmaxval, gfc_conv_intrinsic_btest,
2610 gfc_conv_intrinsic_bitop, gfc_conv_intrinsic_singlebitop,
2611 gfc_conv_intrinsic_ibits, gfc_conv_intrinsic_ishft,
2612 gfc_conv_intrinsic_merge, gfc_conv_intrinsic_strcmp,
2613 gfc_conv_allocated, gfc_conv_associated, prepare_arg_info,
2614 gfc_conv_intrinsic_spacing, gfc_conv_intrinsic_rrspacing,
2615 gfc_conv_intrinsic_trim, gfc_conv_intrinsic_repeat,
2616 gfc_conv_intrinsic_iargc): Same.
2617 * trans-io.c (set_parameter_value, set_parameter_ref, set_string,
2618 set_flag, add_case, io_result, transfer_namelist_element,
2619 transfer_expr): Same.
2620 * trans-stmt.c (gfc_trans_goto, gfc_trans_return, gfc_trans_if_1,
2621 gfc_trans_arithmetic_if, gfc_trans_do, gfc_trans_do_while,
2622 gfc_trans_integer_select, gfc_trans_logical_select,
2623 gfc_trans_character_select, gfc_trans_forall_loop,
2624 gfc_trans_nested_forall_loop, gfc_do_allocate,
2625 generate_loop_for_temp_to_lhs, generate_loop_for_rhs_to_temp,
2626 compute_inner_temp_size, compute_overall_iter_number,
2627 allocate_temp_for_forall_nest, gfc_trans_pointer_assign_need_temp,
2628 gfc_trans_forall_1, gfc_evaluate_where_mask,
2629 gfc_trans_where_assign, gfc_trans_allocate): Same.
2630 * trans-types.c (gfc_get_dtype, gfc_get_array_type_bounds): Same.
2631 * trans.c (gfc_add_modify_expr, gfc_finish_block,
2632 gfc_build_array_ref, gfc_build_function_call,
2633 gfc_trans_runtime_check): Same.
2634
0cc4be67
TS
26352004-08-25 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2636
6615c446 2637 * trans-const.c (gfc_conv_mpz_to_tree): Change call to
0cc4be67
TS
2638 build_int_cst to build_int_cst_wide in accordance to Nathan's
2639 previous patch.
2640
7d60be94
NS
26412004-08-25 Nathan Sidwell <nathan@codesourcery.com>
2642
2643 * trans-array.c (gfc_trans_array_constructor_value): Adjust
2644 build_int_cst calls.
2645 * trans-const.c (gfc_build_string_const, gfc_init_constants,
2646 gfc_conv_mpz_to_tree, gfc_conv_constant_to_tree): Likewise.
2647 * trans-decl.c (gfc_get_symbol_decl, build_entry_thunks,
2648 gfc_trans_entry_master_switch): Likewise.
2649 * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
2650 gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
2651 * trans-io.c (add_case, set_error_locus,
2652 transfer_namelist_element, transfer_expr): Likewise.
2653 * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
2654 gfc_trans_stop, gfc_trans_character_select): Likewise.
2655 * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
2656 * trans.c (gfc_trans_runtime_check): Likewise.
2657
45ede75e
TS
26582004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2659
6615c446 2660 * trans-decl.c, trans-types.c: Add and remove blank lines as
45ede75e
TS
2661 required.
2662
0c8eb998
RH
26632004-08-24 Richard Henderson <rth@redhat.com>
2664
2665 * trans-const.c (gfc_conv_mpz_to_tree): Fix 64-bit shift warning.
2666
de37af8c
TS
26672004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2668
6615c446 2669 * resolve.c (merge_argument_lists): Revert unintentionally
de37af8c 2670 committed change.
6615c446 2671
7be7d41b
TS
26722004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2673
2674 * trans-decl.c (build_function_decl): Fix spelling in comment.
2675 (build_entry_thunks): Remove code with no function.
2676 (gfc_build_intrinsic_function_decls): Remove empty line.
2677
2678 * resolve.c (resolve_entries): Fix a bunch of comment typos.
2679
8c1d6d62
NS
26802004-08-24 Nathan Sidwell <nathan@codesourcery.com>
2681
7d60be94 2682 * f95-lang.c (gfc_init_decl_processing): Adjust
8c1d6d62
NS
2683 build_common_tree_nodes call.
2684
436529ea
TS
26852004-08-24 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2686
2687 * trans-types.c: Spelling and formatting fixes.
2688
5f0ae953
RH
26892004-08-23 Richard Henderson <rth@redhat.com>
2690
2691 * trans-const.c (gfc_conv_mpz_to_tree): Use mpz_getlimbn instead
2692 of going through an intermediate string. Fix 32/64 int/long bug.
2693
f676971a
EC
26942004-08-23 Eric Christopher <echristo@redhat.com>
2695
2696 * trans-types.c (gfc_type_for_mode): Remove VECTOR_TYPE_SUPPORTED_P
2697 usage. Use build_vector_type_for_mode for vector types.
2698
b8502435
RH
26992004-08-22 Richard Henderson <rth@redhat.com>
2700
2701 PR 13465
6615c446
JO
2702 * data.c (find_con_by_offset): Search ordered list; handle
2703 elements with repeat counts.
2704 (gfc_assign_data_value_range): New.
2705 * gfortran.h (struct gfc_data_value): Make repeat unsigned.
2706 (gfc_assign_data_value_range): Declare.
2707 * match.c (top_val_list): Extract repeat count into a temporary.
2708 * resolve.c (values): Make left unsigned.
2709 (next_data_value): Don't decrement left.
2710 (check_data_variable): Use gfc_assign_data_value_range.
b8502435 2711
f8d0aee5
TS
27122004-08-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2713
2714 * trans-const.c, trans-decl.c, trans-expr.c: Spelling fixes.
2715
617097a3
TS
27162004-08-22 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2717
2718 * check.c (gfc_check_reduction): Rename to ...
f676971a 2719 (check_reduction): ... this. Make static. Don't check type of
617097a3
TS
2720 first argument.
2721 (gfc_check_minval_maxval, gfc_check_prodcut_sum): New functions.
2722 * intrinsic.c (add_functions): Change MAXVAL, MINVAL, PRODUCT and
2723 SUM to use new check functions.
2724 (check_specific): Change logic to call new functions.
2725 * intrinsic.h (gfc_check_minval_maxval, gfc_check_product_sum):
2726 Add prototypes.
2727 (gfc_check_reduction): Remove prototype.
2728
841b0c1f
PB
27292004-08-20 Paul Brook <paul@codesourcery.com>
2730 Canqun Yang <canqun@nudt.edu.cn>
2731
2732 PR fortran/17077
2733 * trans-array.c (gfc_conv_array_parameter): Pass correct pointer
2734 for automatic arrays.
2735 * trans-types.c (gfc_get_nodesc_array_type): Add comment.
2736
c874ae73 27372004-08-19 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
841b0c1f 2738 (Port from g95)
c874ae73 2739
841b0c1f 2740 PR fortran/17074
c874ae73
TS
2741 * match.c (match_simple_forall, match_simple_where): Forward-declare.
2742 (gfc_match_if): Order statement list alphabetically, add WHERE and
841b0c1f 2743 FORALL, remove double PAUSE.
c874ae73 2744 (gfc_match_simple_where, match_forall_header,
841b0c1f 2745 gfc_match_simple_forall): New functions.
c874ae73 2746 (gfc_match_forall): Use match_forall_header.
f676971a 2747
bbef13dc
PB
27482004-08-19 Paul Brook <paul@codesourcery.com>
2749
2750 PR fortran/17091
2751 * gfortran.h (gfc_access): Give ACCESS_UNKNOWN value 0.
2752 * symbol.c (gfc_clear_attr): Use memset.
2753
ec53454b
PB
27542004-08-19 Paul Brook <paul@codesourcery.com>
2755
2756 PR fortran/14976
f676971a 2757 PR fortran/16228
ec53454b
PB
2758 * data.c (assign_substring_data_value): Remove.
2759 (create_character_intializer): New function.
2760 (gfc_assign_data_value): Track the typespec for the current
2761 subobject. Use create_character_intializer.
2762
292e0d3a
ES
27632004-08-19 Erik Schnetter <schnetter@aei.mpg.de>
2764
2765 PR fortran/16946
2766 * check.c (gfc_check_reduction): New function.
2767 (gfc_check_minval_maxval): Removed.
2768 (gfc_check_product): Removed.
2769 (gfc_check_sum): Removed.
2770 * intrinsic.h: Add/remove declarations for these.
2771 * gfortran.h: Add field f3red to union gfc_check_f.
2772 * intrinsic.c (add_sym_3red): New function.
2773 (add_functions): Register maxval, minval, product, and sum intrinsics
2774 through add_sym_3red.
2775 (check_specific): Handle f3red union field.
2776 * iresolve.c: Whitespace change.
2777
1619aa6f
PB
27782004-08-18 Paul Brook <paul@codesourcery.com>
2779
2780 * trans-types.c (gfc_sym_type): Use pointer types for optional args.
2781
3bc268e6
VL
27822004-08-18 Victor Leikehman <lei@il.ibm.com>
2783
2784 PR fortran/13278
2785 * trans-io.c (transfer_namelist_element): New. Recursively handle
2786 derived-type variables. Pass string lengths.
2787 (build_dt): Code moved to build_namelist, with some
2788 changes and additions.
2789 (gfc_build_io_library_fndecls): Declare the fifth
2790 argument in st_set_nml_var_char -- string_length.
2791
3d79abbd
PB
27922004-08-17 Paul Brook <paul@codesourcery.com>
2793 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2794
2795 PR fortran/13082
2796 * decl.c (get_proc_name): Update mystery comment.
2797 (gfc_match_entry): Check for errors earlier. Add entry point to list.
2798 * dump-parse-tree.c (gfc_show_code_node): Print EXEC_ENTRY nodes.
2799 * gfortran.h (symbol_attribute): Add entry_master. Document entry.
2800 (struct gfc_entry_list): Define.
2801 (gfc_get_entry_list): Define.
2802 (struct gfc_namespace): Add refs and entries.
2803 (enum gfc_exec_op): Add EXEC_ENTRY.
2804 (struct gfc_code): Add ext.entry.
2805 * module.c (ab_attribute, attr_bits): Remove AB_ENTRY.
2806 (mio_symbol_attribute): Don't save/reture addr->entry.
2807 (mio_namespace_ref): Refcount namespaces.
2808 * parse.c (accept_statement): Handle ST_ENTRY.
2809 (gfc_fixup_sibling_symbols): Mark symbol as referenced.
2810 (parse_contained): Fixup sibling references to entry points
2811 after parsing the procedure body.
2812 * resolve.c (resolve_contained_fntype): New function.
2813 (merge_argument_lists, resolve_entries): New functions.
2814 (resolve_contained_functions): Use them.
2815 (resolve_code): Handle EXEC_ENTRY.
2816 (gfc_resolve): Call resolve_entries.
2817 * st.c (gfc_free_statement): Handle EXEC_ENTRY.
2818 * symbol.c (gfc_get_namespace): Refcount namespaces.
2819 (gfc_free_namespace): Ditto.
2820 * trans-array.c (gfc_trans_dummy_array_bias): Treat all args as
2821 optional when multiple entry points are present.
2822 * trans-decl.c (gfc_get_symbol_decl): Remove incorrect check.
2823 (gfc_get_extern_function_decl): Add assertion. Fix coment.
2824 (create_function_arglist, trans_function_start, build_entry_thunks):
2825 New functions.
2826 (gfc_build_function_decl): Rename ...
2827 (build_function_decl): ... to this.
2828 (gfc_create_function_decl): New function.
2829 (gfc_generate_contained_functions): Use it.
2830 (gfc_trans_entry_master_switch): New function.
2831 (gfc_generate_function_code): Use new functions.
2832 * trans-stmt.c (gfc_trans_entry): New function.
2833 * trans-stmt.h (gfc_trans_entry): Add prototype.
2834 * trans-types.c (gfc_get_function_type): Add entry point argument.
2835 * trans.c (gfc_trans_code): Handle EXEC_ENTRY.
2836 (gfc_generate_module_code): Call gfc_create_function_decl.
2837 * trans.h (gfc_build_function_decl): Remove.
2838 (gfc_create_function_decl): Add prototype.
2839
ead6d15f
AP
28402004-08-15 Andrew Pinski <apinski@apple.com>
2841
2842 PR fortran/17030
2843 * f95-lang.c (gfc_init_builtin_functions): Initialize the builtins
2844 for cabs{,f} and copysign{,f}.
f676971a
EC
2845 * trans-decl.c (gfor_fndecl_math_cabsf): Delete.
2846 (gfor_fndecl_math_cabs): Delete.
2847 (gfor_fndecl_math_sign4): Delete.
2848 (gfor_fndecl_math_sign8): Delete.
ead6d15f
AP
2849 (gfc_build_intrinsic_function_decls): Remove the
2850 initializing of cabs{,f} and copysign{,f} functions.
2851 * trans-intrinsic.c (gfc_conv_intrinsic_abs): Use the builtins
2852 instead of the functions definitions.
2853 (gfc_conv_intrinsic_sign): Likewise.
f676971a
EC
2854 * trans.h (gfor_fndecl_math_cabsf): Delete.
2855 (gfor_fndecl_math_cabs): Delete.
2856 (gfor_fndecl_math_sign4): Delete.
2857 (gfor_fndecl_math_sign8): Delete.
ead6d15f 2858
4a90aeeb
NS
28592004-08-15 Nathan Sidwell <nathan@codesourcery.com>
2860
2861 * trans-array.c (gfc_trans_array_constructor_value): Use
f676971a 2862 build_int_cst.
4a90aeeb
NS
2863 * trans-const.c (gfc_build_string_const,
2864 gfc_init_constants, gfc_conv_mpz_to_tree,
f676971a 2865 gfc_conv_constant_to_tree): Likewise.
4a90aeeb
NS
2866 * trans-decl.c (gfc_get_symbol_decl): Likewise.
2867 * trans-intrinsic.c (gfc_conv_intrinsic_ibits,
2868 gfc_conv_intrinsic_len, prepare_arg_info): Likewise.
2869 * trans-io.c (add_case, set_error_locus, build_dt,
2870 transfer_expr): Likewise.
2871 * trans-stmt.c (gfc_trans_label_assign, gfc_trans_pause,
2872 gfc_trans_stop, gfc_trans_character_select): Likewise.
2873 * trans-types.c (gfc_init_types, gfc_get_dtype): Likewise.
2874 * trans.c (gfc_trans_runtime_check): Likewise.
2875
1d754240
PB
28762004-08-14 Paul Brook <paul@codesourcery.com>
2877
2878 * trans-decl.c (gfc_build_function_decl): Remove dead code.
2879
3ef059b4
PB
28802004-08-14 Paul Brook <paul@codesourcery.com>
2881
2882 * trans-arry.c (gfc_trans_auto_array_allocation): Remove unused var.
2883
4f613946
TS
28842004-08-13 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
2885
2886 * gfortran.h: Add comments.
2887 * parse.c (parse_contained): Fix comment typo.
2888 * resolve.c (was_declared): Ditto.
2889 * symbol.c: Ditto.
2890
3ec0f302
PB
28912004-08-11 Paul Brook <paul@codeourcery.com>
2892
2893 PR fortran/16917
2894 * intrinsic.c (add_functions): Add dfloat as an alias for dble.
2895
1a186ec5
RH
28962004-08-10 Richard Henderson <rth@redhat.com>
2897
2898 * f95-lang.c (gfc_init_builtin_functions): Remove
2899 __builtin_stack_alloc, add __builtin_alloca.
2900 * trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
2901 * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
2902
2bf26ede
PB
29032004-08-10 Paul Brook <paul@codesourcery.com>
2904
2905 * trans-io.c (transfer_expr): Handle pointters.
2906
e9cfef64
PB
29072004-08-10 Paul Brook <paul@codesourcery.com>
2908
2909 PR fortran/16919
2910 * trans-array.c (gfc_add_loop_ss_code): Handle GFC_SS_COMPONENT.
2911 (gfc_conv_array_index_offset): Allow "temporary" with nonzero delta.
2912 (gfc_trans_preloop_setup, gfc_trans_scalarized_loop_boundary):
2913 Handle GFC_SS_COMPONENT.
2914 (gfc_conv_ss_startstride): Ditto. Set ss->shape.
2915 (gfc_conv_loop_setup): Tweak commends. Remove dead code.
2916 Use ss->shape.
2917 (gfc_conv_array_initializer): Call specific initializer routines.
2918 * trans-expr.c (gfc_trans_structure_assign): New function.
2919 (gfc_trans_subarray_assign): New function.
2920 (gfc_trans_subcomponent_assign): New fucntion
2921 (gfc_conv_structure): Use them.
2922 * trans.h (gfc_ss_type): Add GFC_SS_COMPONENT.
2923 (gfc_ss): Add shape.
2924
94538bd1
VL
29252004-08-08 Victor Leikehman <lei@il.ibm.com>
2926
2927 * simplify.c (gfc_simplify_shape): Bugfix.
2928 * expr.c (gfc_copy_shape_excluding): New function.
2929 * gfortran.h (gfc_get_shape): Bugfix.
2930 (gfc_copy_shape_excluding): Added declaration.
2931 * iresolve.c (gfc_resolve_all, gfc_resolve_any, gfc_resolve_count,
2932 gfc_resolve_cshift, gfc_resolve_eoshift, gfc_resolve_lbound,
2933 gfc_resolve_ubound, gfc_resolve_transpose): Added compile
2934 time resolution of shape.
2935
aa6fc635
JB
29362004-08-06 Janne Blomqvist <jblomqvi@cc.hut.fi>
2937
2938 * intrinsic.c (add_subroutines): Add getenv and
2939 get_environment_variable. (add_sym_5s): New function.
2940 * intrinsic.h (gfc_resolve_get_environment_variable): Add
2941 prototype.
2942 * iresolve.c (gfc_resolve_get_environment_variable): New
2943 function.
2944
c7d78bbe
FW
29452004-08-06 Feng Wang <fengwang@nudt.edu.cn>
2946
2947 * f95-lang.c (gfc_init_builtin_functions): Fix the number of
2948 __builtin_pow[f] arguments.
2949
f8e566e5
SK
29502004-08-06 Steven G. Kargl <kargls@comcast.net>
2951
2952 * arith.c: Add #define for model numbers. Remove global GMP variables.
2953 (natural_logarithm,common_logarithm,exponential,sine,
2954 cosine,arctangent,hypercos,hypersine ): Remove.
2955 (gfc_mpfr_to_mpz,gfc_set_model_kind,gfc_set_model): New functions.
2956 (arctangent2,gfc_arith_init_1,gfc_arith_done_1
2957 gfc_check_real_range, gfc_constant_result, gfc_range_check,
2958 gfc_arith_uminus,gfc_arith_plus, gfc_arith_minus, gfc_arith_times,
2959 gfc_arith_divide,complex_reciprocal,complex_pow_ui,
2960 gfc_arith_power,gfc_compare_expr,compare_complex,gfc_convert_real,
2961 gfc_convert_complex,gfc_int2real,gfc_int2complex,
2962 gfc_real2int,gfc_real2real,gfc_real2complex,
2963 gfc_complex2int,gfc_complex2real,gfc_complex2complex): Convert GMP
2964 to MPFR, use new functions.
2965 * arith.h: Remove extern global variables.
2966 (natural_logarithm,common_logarithm,exponential, sine, cosine,
2967 arctangent,hypercos,hypersine): Remove prototypes.
2968 (arctangent2): Update prototype from GMP to MPFR.
2969 (gfc_mpfr_to_mpz, gfc_set_model_kind,gfc_set_model): Add prototypes.
2970 * dump-parse-tree.c (gfc_show_expr): Convert GMP to MPFR.
2971 * expr.c (free_expr0,gfc_copy_expr): Convert GMP to MPFR.
2972 * gfortran.h (GFC_REAL_BITS): Remove.
2973 (arith): Add ARITH_NAN.
2974 Include mpfr.h. Define GFC_RND_MODE.
2975 Rename GCC_GFORTRAN_H GFC_GFC_H.
2976 (gfc_expr): Convert GMP to MPFR.
2977 * module.c: Add arith.h, correct type in comment.
2978 (mio_gmp_real): Convert GMP to MPFR.
2979 (mio_expr): Use gfc_set_model_kind().
2980 * primary.c: Update copyright date with 2004.
2981 (match_real_constant,match_const_complex_part): Convert GMP to MPFR.
2982 * simplify.c: Remove global GMP variables
2983 (gfc_simplify_abs,gfc_simplify_acos,gfc_simplify_aimag,
2984 gfc_simplify_aint,gfc_simplify_dint,gfc_simplify_anint,
2985 gfc_simplify_dnint,gfc_simplify_asin,gfc_simplify_atan,
2986 gfc_simplify_atan2,gfc_simplify_ceiling,simplify_cmplx,
2987 gfc_simplify_conjg,gfc_simplify_cos,gfc_simplify_cosh,
2988 gfc_simplify_dim,gfc_simplify_dprod,gfc_simplify_epsilon,
2989 gfc_simplify_exp,gfc_simplify_exponent,gfc_simplify_floor,
2990 gfc_simplify_fraction,gfc_simplify_huge,gfc_simplify_int,
2991 gfc_simplify_ifix,gfc_simplify_idint,gfc_simplify_log,
2992 gfc_simplify_log10,simplify_min_max,gfc_simplify_mod,
2993 gfc_simplify_modulo,gfc_simplify_nearest,simplify_nint,
2994 gfc_simplify_rrspacing,gfc_simplify_scale,
2995 gfc_simplify_set_exponent,gfc_simplify_sign,gfc_simplify_sin,
2996 gfc_simplify_sinh,gfc_simplify_spacing,gfc_simplify_sqrt,
2997 gfc_simplify_tan,gfc_simplify_tanh,gfc_simplify_tiny,
2998 gfc_simplify_init_1,gfc_simplify_done_1): Convert GMP to MPFR.
2999 Use new functions.
3000 * trans-const.c (gfc_conv_mpfr_to_tree): Rename from
3001 gfc_conv_mpf_to_tree. Convert it to use MPFR
3002 (gfc_conv_constant_to_tree): Use it.
3003 * trans-const.h: Update prototype for gfc_conv_mpfr_to_tree().
3004 * trans-intrinsic.c: Add arith.h, remove gmp.h
3005 (gfc_conv_intrinsic_aint,gfc_conv_intrinsic_mod): Convert GMP to MPFR.
3006
fc90a8f2
PB
30072004-08-06 Victor Leikehman <lei@il.ibm.com>
3008 Paul Brook <paul@codesourcery.com>
3009
3010 * trans-array.c (gfc_trans_allocate_array_storage,
3011 gfc_trans_allocate_temp_array, gfc_add_loop_ss_code,
3012 gfc_conv_loop_setup): For functions, if the shape of the result
3013 is not known in compile-time, generate an empty array descriptor for
3014 the result and let the callee to allocate the memory.
3015 (gfc_trans_dummy_array_bias): Do nothing for pointers.
3016 (gfc_conv_expr_descriptor): Use function return values directly.
3017 * trans-expr.c (gfc_conv_function_call): Always add byref call
3018 insn to pre chain.
3019 (gfc_trans_pointer_assignment): Add comments.
3020 (gfc_trans_arrayfunc_assign): Don't chain on expression.
3021
fc2d8429
RS
30222004-08-01 Roger Sayle <roger@eyesopen.com>
3023
3024 * options.c (gfc_init_options): Don't warn about the use GNU
3025 extensions by default.
3026 (gfc_post_options): Warn about GNU extensions with -pedantic.
3027 (gfc_handle_option): Don't warn about GNU extensions with -std=gnu.
3028
0534fa56
RH
30292004-07-30 Richard Henderson <rth@redhat.com>
3030
3031 * trans-expr.c (gfc_conv_expr_reference): Create a CONST_DECL
3032 for TREE_CONSTANTs.
3033
b785f485
RH
30342004-07-25 Richard Henderson <rth@redhat.com>
3035
3036 * trans-decl.c (gfc_build_function_decl): Set DECL_ARTIFICIAL
3037 and DECL_IGNORED_P on RESULT_DECL.
3038 (gfc_generate_constructors): Likewise.
3039
f56c5d5d
TS
30402004-07-18 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3041
3042 PR fortran/16465
3043 * lang.opt (ffixed-line-length-none, ffixed-line-length-): New
3044 options.
3045 (ffixed-line-length-80, ffixed-line-length-132): Remove.
3046 * options.c (gfc_handle_options): Deal with changed options.
3047 * scanner.c (load_line): Change second arg to 'char **',
3048 allocate if pointing to NULL. Keep track of buffer's length.
3049 Adapt buffer size to overlong lines. Pad lines to full length
3050 in fixed form.
3051 (load_file): Adapt to new interface of load_line.
3052
6e34d3a3
JM
30532004-07-17 Joseph S. Myers <jsm@polyomino.org.uk>
3054
3055 * trans.h (builtin_function): Declare.
3056
c9583ed2
TS
30572004-07-16 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3058
3059 PR fortran/16404
3060 (parts ported from g95)
3061 * parse.h (gfc_state_data): New field do_variable.
3062 (gfc_check_do_variable): Add prototype.
3063 * parse.c (push_state): Initialize field 'do_variable'.
3064 (gfc_check_do_variable): New function.
3065 (parse_do_block): Remember do iterator variable.
3066 (parse_file): Initialize field 'do_variable'.
3067 * match.c (gfc_match_assignment, gfc_match_do,
3068 gfc_match_allocate, gfc_match_nullify, gfc_match_deallocate):
3069 Add previously missing checks.
3070 (gfc_match_return): Reformat error message.
3071 * io.c (match_out_tag): New function.
3072 (match_open_element, match_close_element,
3073 match_file_element, match_dt_element): Call match_out_tag
3074 instead of match_vtag where appropriate.
3075 (match_io_iterator, match_io_element): Add missing check.
3076 (match_io): Reformat error message.
3077 (match_inquire_element): Call match_out_tag where appropriate.
3078
b38b6477
TS
3079 * parse.c (gfc_check_do_variable): Fix error locus.
3080
d157d978
TS
30812004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3082
3083 PR fortran/15129
3084 * trans-decl.c (gfc_build_function_decl): Create a new chardecl
3085 for every assumed length character dummy argument.
3086
c5a41953
TS
3087 PR fortran/15140
3088 * trans-decl.c (gfc_trans_deferred_vars): Remove bogus assertion.
0c0df4b3
TS
3089
3090 PR fortran/13792
3091 * simplify.c (gfc_simplify_bound): Copy the bound expression.
3092
20c9dc8a
TS
30932004-07-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3094
769d99d9 3095 PR fortran/15324
20c9dc8a
TS
3096 * trans-array.c gfc_trans_g77_array,
3097 gfc_trans_dummy_array_bias): Don't call gfc_trans_string_init
3098 for assumed length characters.
3099 (gfc_conv_expr_descriptor): Set se->string_length if dealing
3100 with a character expression.
3101 (gfc_cvonv_array_parameter): Pass string length when passing
3102 character array according to g77 conventions.
3103
597073ac
PB
31042004-07-12 Paul Brook <paul@codesourcery.com>
3105
3106 * expr.c (gfc_check_assign_symbol): Handle pointer assignments.
3107 * trans-array.c (gfc_trans_auto_array_allocation): Remove
3108 initialization code.
3109 * trans-common.c (create_common): Use gfc_conv_initializer.
3110 * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_initializer.
3111 * trans-expr.c (gfc_conv_initializer): New function.
3112 (gfc_conv_structure): Use it.
3113 * trans.h (gfc_conv_initializer): Add prototype.
3114
682e69e1
PB
31152004-07-11 Paul Brook <paul@codesourcery.com>
3116
3117 PR fortran/15986
3118 * parse.c (gfc_fixup_sibling_symbols): Also look for untyped
3119 variables.
3120 (parse_contained): Mark contained symbols as referenced.
3121
87bdc5f8
TS
31222004-07-11 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3123
953e6630 3124 PR fortran/16455
87bdc5f8
TS
3125 * module.c (gfc_dump_module, gfc_use_module): Print locus
3126 when opening of module file fails.
3127
cdde7b65
TS
3128 PR fortran/16404
3129 * io.c (match_io): Flag 'WRITE(...), ...' as extension.
e08b5a75
TS
3130
3131 PR fortran/16404
3132 * match.c (gfc_match_program): A program name is obligatory.
3133 (gfc_match_return): RETURN in main program is an extension.
3134 (gfc_match_block_data): A space is required before a block data
3135 name.
88199e7c
TS
3136
3137 PR fortran/16433
3138 * primary.c (match_boz_constant): Call gfc_notify_std only if
3139 we actually have a non-standard boz-literal-constant.
3140
f23c5627
TS
3141 PR fortran/15754
3142 * expr.c (gfc_check_assign): Print ranks if incompatible. Issue
3143 warning if assigning NULL().
3144
9dcf6e73
JM
31452004-07-11 Joseph S. Myers <jsm@polyomino.org.uk>
3146
3147 * f95-lang.c (set_block): Remove.
3148 (gfc_clear_binding_stack): New.
3149 (LANG_HOOKS_CLEAR_BINDING_STACK): Define.
3150 (struct binding_level): Remove block_created_by_back_end.
3151 (clear_binding_level): Likewise.
3152 (poplevel): Don't handle block_created_by_back_end.
3153
9cbf8b41
TS
31542004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3155
3156 * trans-decl.c (gfc_create_module_variable): Nothing to do if
3157 symbol is in common, because we ...
3158 (gfc_generate_module_vars): Call gfc_trans_common.
3159
331c72f3
PB
31602004-07-10 Paul Brook <paul@codesourcery.com>
3161
3162 * trans-array.c (gfc_build_null_descriptor): New function.
3163 (gfc_trans_static_array_pointer): Use it.
3164 * trans-array.h (gfc_build_null_descriptor): Add prototype.
3165 * trans-expr.c (gfc_conv_structure): Handle array pointers.
3166
53814b8f 31672004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
f676971a 3168
53814b8f
TS
3169 PR fortran/16336
3170 * decl.c (gfc_match_save): Use-associated common block
3171 doesn't collide.
3172 * gfortran.h (gfc_common_head): Add new field 'name'.
3173 Fix typo in comment after #endif.
3174 * match.c (gfc_get_common): Add new argument from_common,
3175 mangle name if flag is set, fill in new field in structure
3176 gfc_common_head.
3177 (match_common): Set new arg in call to gfc_get_common,
3178 use-associated common block doesn't collide.
3179 * match.h (gfc_get_common): Adapt prototype.
3180 * module.c (load_commons): Set new arg in call to
3181 gfc_get_common.
3182 * symbol.c (free_common_tree): New function.
3183 (gfc_free_namespace): Call new function.
3184 * trans-common.c (several functions): Remove argument
3185 'name', use name from gfc_common_head instead.
3186
7d76d73a
TS
31872004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3188
3189 * expr.c (gfc_check_pointer_assign): Verify that rank of the LHS
3190 and RHS match. Return early if the RHS is NULL().
3191
794ba78b
TS
3192 PR fortran/16336
3193 * match.c (match_common): Fix error reporting for used common.
3194
104b260c
TS
3195 PR fortran/15969
3196 * trans-expr.c (gfc_conv_structure): Handle initialization
3197 of scalar pointer components.
3198
24727d92
TS
3199 * parse.c (decode_statement): Fix matching of BLOCK DATA.
3200
77dc4103
TS
3201 * trans-decl.c (generate_local_decl): Remove workaround obsoleted
3202 by fix for PR 15481.
f676971a 3203
a8a6b603
TS
32042004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3205
3206 * trans-common.c: Fix whitespace issues, make variable names
3207 more readable.
3208 (create_common): Additionally, make loop logic more obvious.
3209
32102004-07-10 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
ad6e2a18
TS
3211 Paul Brook <paul@codesourcery.com>
3212
3213 PR fortran/13415
3214 * trans-common.c (calculate_length): Remove ...
3215 (get_segment_info): Merge into here. Save field type.
3216 (build_field): Use saved type.
3217 (create_common, new_condition, new_segment, finish_equivalences):
3218 Use new get_segment_info.
3219 * trans-types.c: Update comment.
3220
8598a113 32212004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
f676971a 3222
8598a113
TS
3223 PR fortran/14077
3224 * moduele.c (mio_symbol): Don't I/O initial values unless
3225 symbol is a parameter.
3226
4077d207 32272004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
f676971a 3228
4077d207
TS
3229 PR fortran/13201
3230 * resolve.c (resolve_symbol): Verify that the shape of a
3231 parameter array is not only explicit, but also constant.
3232 * array.c (gfc_is_compile_time_shape): New function.
3233 * gfortran.h (gfc_is_compile_time_shape): Add prototype.
3234
51281118
TS
32352004-07-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3236
3237 PR fortran/15481
3238 PR fortran/13372
3239 PR fortran/13575
3240 PR fortran/15978
3241 * module.c (write_symbol, write_symtree): Remove workaround.
3242 * primary.c (match_actual_arglist): Enhance comment.
3243 (gfc_match_rvalue): Handle function call with first argument
3244 a keyword argument correctly.
3245 * resolve.c (resolve_symbol): Change call to
3246 gfc_set_default_type to issue error if no implicit type
3247 can be found.
3248 * trans-decl.c (gfc_create_module_variable): Remove workaround.
f676971a 3249
60c9a35b
PB
32502004-07-08 Paul Brook <paul@codesourcery.com>
3251
3252 * intrinsic.c (add_sym_4s): New function.
3253 (add_subroutines): Change gfc_add_sym_? to gfc_add_sym_?s.
3254
b41b2534
JB
32552004-07-04 Janne Blomqvist <jblomqvi@cc.hut.fi>
3256 Paul Brook <paul@codesourcery.com>
3257
3258 PR fortran/15280
3259 PR fortran/15665
3260 * gfortran.h (enum gfc_generic_isym_id): Add GFC_ISYM_IARGC and
3261 GFC_ISYM_COMMAND_ARGUMENT_COUNT.
3262 * intrinsic.c (add_functions): Identify iargc. Add
3263 command_argument_count.
3264 (add_subroutines): Resolve getarg. Add get_command and
3265 get_command_argument.
3266 * intrinsic.h (gfc_resolve_getarg, gfc_resolve_get_command,
3267 gfc_resolve_get_command_argument): Add prototypes.
3268 * iresolve.c (gfc_resolve_getarg, gfc_resolve_get_command,
3269 gfc_resolve_get_command_argument): New functions.
3270 * trans-decl.c (gfor_fndecl_iargc): New variable.
3271 (gfc_build_intrinsic_function_decls): Set it.
3272 * trans-intrinsic.c (gfc_conv_intrinsic_iargc): New function.
3273 (gfc_conv_intrinsic_function): Use it.
3274 * trans.h (gfor_fndecl_iargc): Declare.
3275
e62be46e
MK
32762004-07-04 Matthias Klose <doko@debian.org>
3277
3278 * Make-lang.in: Generate and install gfortran man page.
3279 * invoke.texi: Remove extra '@c man end'.
3280
8fff4fc1
RH
32812004-07-04 Richard Henderson <rth@redhat.com>
3282
3283 * f95-lang.c (gfc_mark_addressable): Don't put_var_into_stack.
3284
1107b970
PB
32852004-07-04 Paul Brook <paul@codesourcery.com>
3286
3287 * decl.c (gfc_match_implicit_range): Don't use typespec.
3288 (gfc_match_implicit): Handle character selectors.
3289 * gfortran.h (gfc_set_implicit): Remove prototype.
3290 (gfc_add_new_implicit_range, gfc_merge_new_implicit): Update.
3291 * parse.c (accept_statement): Don't call gfc_set_implicit.
3292 * symbol.c (new_ts): Remove.
3293 (gfc_set_implicit_none): Use same loop bounds as other functions.
3294 (gfc_set_implicit): Remove.
3295 (gfc_clear_new_implicit, gfc_add_new_implicit_range): Only set flags.
3296 (gfc_merge_new_implicit): Combine with gfc_set_implicit.
3297
4025c040
RH
32982004-06-30 Richard Henderson <rth@redhat.com>
3299
276b3fab
RH
3300 * match.c (var_element): Remove unused variable.
3301
4025c040
RH
3302 * trans-decl.c (gfc_generate_function_code): Don't set
3303 x_whole_function_mode_p.
3304 (gfc_generate_constructors): Likewise.
3305
6a0bec2c
RH
33062004-06-30 Richard Henderson <rth@redhat.com>
3307
3308 * trans-decl.c (gfc_generate_function_code): Don't set
3309 immediate_size_expand.
3310 (gfc_generate_constructors): Likewise.
3311
e5ddaa24
TS
33122004-06-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3313
3314 PR fortran/16161
3315 * decl.c (gfc_match_type_spec): Rename second argument to
3316 'implicit_flag', reverse meaning. Don't match_char_spec if
3317 'implicit_flag' is set. Rename to ...
3318 (match_type_spec): ... this.
3319 (gfc_match_implicit_none, match_implicit_range): Move here
3320 from match.c.
3321 (gfc_match_implicit): Move here from match.c, try to
3322 match_char_len if match_implicit_range doesn't succeed for
3323 CHARACTER implicits. Call renamed fucntion match_type_spec.
3324 (gfc_match_data_decl, match_prefix): Call renamed function
3325 match_type_spec.
3326 * match.c (gfc_match_implicit_none, match_implicit_range,
3327 gfc_match_implicit): Move to decl.c.
3328 * match.h (gfc_match_implicit_none, gfc_match_implicit):
3329 Move protoypes to section 'decl.c'.
3330 (gfc_match_type_spec): Remove prototype.
3331
ef558756
TS
33322004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3333
f676971a 3334 * decl.c, interface.c, symbol.c, trans-common.c: Add 2004 to
ef558756
TS
3335 copyright years.
3336
7ab92584
SB
33372004-06-29 Steven Bosscher <stevenb@suse.de>
3338
3339 Make sure types in assignments are compatible. Mostly mechanical.
3340 * trans-const.h (gfc_index_one_node): New define.
3341 * trans-array.c (gfc_trans_allocate_array_storage,
3342 gfc_trans_allocate_temp_array, gfc_trans_array_constructor_subarray,
3343 gfc_trans_array_constructor_value, gfc_trans_array_constructor,
3344 gfc_conv_array_ubound, gfc_conv_array_ref,
3345 gfc_trans_scalarized_loop_end, gfc_conv_section_startstride,
3346 gfc_conv_ss_startstride, gfc_conv_loop_setup, gfc_array_init_size,
3347 gfc_trans_array_bounds, gfc_trans_dummy_array_bias,
3348 gfc_conv_expr_descriptor, gfc_trans_deferred_array): Use the correct
3349 types in assignments, conversions and conditionals for expressions.
3350 * trans-expr.c (gfc_conv_expr_present, gfc_conv_substring,
3351 gfc_conv_unary_op, gfc_conv_cst_int_power, gfc_conv_string_tmp,
3352 gfc_conv_function_call, gfc_trans_pointer_assignment,
3353 gfc_trans_scalar_assign): Likewise.
3354 * trans-intrinsic.c (build_fixbound_expr, gfc_conv_intrinsic_bound,
3355 gfc_conv_intrinsic_anyall, gfc_conv_intrinsic_count,
3356 gfc_conv_intrinsic_minmaxloc, gfc_conv_intrinsic_btest,
3357 gfc_conv_intrinsic_singlebitop, gfc_conv_intrinsic_ishft,
3358 gfc_conv_intrinsic_ishftc, gfc_conv_intrinsic_strcmp,
3359 gfc_conv_allocated, gfc_conv_associated,
3360 gfc_conv_intrinsic_rrspacing, gfc_conv_intrinsic_trim): Likewise.
3361 * trans-io.c (set_string): Likewise.
3362 * trans-stmt.c (gfc_trans_do, gfc_trans_forall_loop,
3363 gfc_do_allocate, generate_loop_for_temp_to_lhs,
3364 generate_loop_for_rhs_to_temp, compute_inner_temp_size,
3365 compute_overall_iter_number, gfc_trans_assign_need_temp,
3366 gfc_trans_pointer_assign_need_temp, gfc_trans_forall_1,
3367 gfc_evaluate_where_mask, gfc_trans_where_assign,
3368 gfc_trans_where_2): Likewise.
3369 * trans-types.c (gfc_get_character_type, gfc_build_array_type,
3370 gfc_get_nodesc_array_type, gfc_get_array_type_bounds): Likewise.
3371
3372 * trans.c (gfc_add_modify_expr): Add sanity check that types
3373 for the lhs and rhs are the same for scalar assignments.
3374
fbc9b453
TS
33752004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3376
3377 * dump-parse-tree.c (show_common): New function.
3378 (gfc_show_namespace): Show commons.
3379
9056bd70
TS
33802004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3381 Andrew Vaught <andyv@firstinter.net>
3382
3383 PR fortran/13249
3384 PR fortran/15481
ef558756 3385 * decl.c (gfc_match_save): Adapt to new common structures,
9056bd70
TS
3386 don't allow saving USE-associated common.
3387 * dump-parse-tree (gfc_show_attr): (saved_)common are not
3388 symbol attributes any longer.
3389 (gfc_show_symbol): Don't show old-style commons any longer.
3390 (gfc_show_namespace): Adapt call to gfc_traverse_symtree to new
3391 interface.
3392 * gfortran.h (symbol_attribute): Remove common and saved_common
3393 attributes.
3394 (gfc_symbol): Remove common_head element.
3395 (gfc_common_head): New struct.
3396 (gfc_get_common_head): New macro.
3397 (gfc_symtree): Add field 'common' to union.
3398 (gfc_namespace): Add field 'common_root'; change type of field
3399 'blank_common' to blank_common.
3400 (gfc_add_data): New prototype.
3401 (gfc_traverse_symtree): Expect a symtree as first argument
3402 instead of namespace.
3403 * match.c (gfc_get_common): New function.
3404 (match_common_name): Change to take char * as argument, adapt,
3405 fix bug with empty name.
3406 (gfc_match_common): Adapt to new data structures. Disallow
3407 redeclaration of USE-associated COMMON-block. Fix bug with
3408 empty common.
3409 (var_element): Adapt to new common structures.
3410 * match.h (gfc_get_common): Declare.
3411 * module.c: Add 2004 to copyright years, add commons to module
3412 file layout description.
3413 (ab_attribute, attr_bits, mio_symbol_attributes): Remove code
3414 for removed attributes.
3415 (mio_symbol): Adapt to new way of storing common relations.
3416 (load_commons): New function.
3417 (read_module): Skip common list on first pass, load_commons at
3418 second.
3419 (write_commons): New function.
3420 (write_module): Call write_commons().
3421 * symbol.c (gfc_add_saved_comon, gfc_add_common): Remove
3422 functions related to removed attributes.
3423 (gfc_add_data): New function.
3424 (gfc_clear_attr): Don't set removed attributes.
3425 (gfc_copy_attr): Don't copy removed attributes.
3426 (traverse_symtree): Remove.
f676971a 3427 (gfc_traverse_symtree): Don't traverse symbol
9056bd70
TS
3428 tree of the passed namespace, but require a symtree to be passed
3429 instead. Unify with traverse_symtree.
3430 (gfc_traverse_ns): Call gfc_traverse_symtree according to new
3431 interface.
3432 (save_symbol): Remove setting of removed attribute.
3433 * trans-common.c (gfc_sym_mangled_common_id): Change to
3434 take 'char *' argument instead of 'gfc_symbol'.
3435 (build_common_decl, new_segment, translate_common): Adapt to new
3436 data structures, add new
3437 argument name.
3438 (create_common): Adapt to new data structures, add new
3439 argument name. Fix typo in intialization of derived types.
3440 (finish_equivalences): Add second argument in call to
3441 create_common.
3442 (named_common): take 'gfc_symtree' instead of 'gfc_symbol'.
3443 (gfc_trans_common): Adapt to new data structures.
f676971a 3444 * trans-decl.c (gfc_create_module_variables): Remove test for
e23667c6 3445 removed attribute.
9056bd70 3446
50d78f96
TS
34472004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3448
3449 * io.c: Add 2004 to copyright years.
3450
c9543002
TS
34512004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3452 Andrew Vaught <andyv@firstinter.net>
3453
3454 * gfortran.h (gfc_gsymbol): New typedef.
3455 (gfc_gsym_root): New variable.
3456 (gfc_get_gsymbol, gfc_find_gsym): New prototypes.
3457 * parse.c (global_used): New function.
3458 (parse_block_data): Check for double empty BLOCK DATA,
3459 use global symbol table.
3460 (parse_module): Use global symbol table.
3461 (add_global_procedure, add_global_program): New functions.
3462 (gfc_parse_file): Use global symbol table.
3463 * symbol.c (gfc_gsym_root): New variable.
3464 (gfc_find_gsym, gsym_compare, gfc_get_gsymbol): New
3465 functions.
3466
78f2fb08
TS
34672004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3468
3469 * module.c (mio_gmp_real): Correct writing of negative numbers.
3470
34712004-06-29 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
e063a048
TS
3472
3473 PR fortran/15963
3474 * expr.c (check_intrinsic_op): Allow comparison of characters.
3475 Make logic easier.
3476
ddc9ce91
TS
34772004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3478 Andrew Vaught <andyv@firstinter.net>
3479
3480 * decl.c (contained_procedure): New function.
3481 (match_end): Verify correctness of END STATEMENT in
3482 all cases.
3483
34842004-06-26 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3485 Andrew Vaught <andyv@firstinter.net>
0ff0dfbf
TS
3486
3487 PR fortran/15190
3488 * decl.c (gfc_match_type_spec), io.c (match_io), parse.c
3489 (decode_statement): Enforce required space in free-form.
3490
ddc9ce91 34912004-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
44de5aeb
RK
3492
3493 * f95-lang.c (LANG_HOOKS_GIMPLE_BEFORE_INLINING): Deleted.
3494 * trans-array.c (gfc_conv_descriptor_data): Add operand
3495 for COMPONENT_REF.
3496 (gfc_conv_descriptor_offset, gfc_conv_descriptor_dtype): Likewise.
3497 (gfc_conv_descriptor_dimension, gfc_conv_descriptor_stride): Likewise.
3498 (gfc_conv_descriptor_lbound, gfc_conv_descriptor_ubound): Likewise.
3499 * trans-common.c (create_common): Likewise.
3500 * trans-expr.c (gfc_conv_component_ref): Likewise.
3501 * trans-io.c (set_parameter_value): Likewise.
3502 (set_parameter_ref, set_string, set_flag, io_result): Likewise.
3503 (transfer_expr): Likewise.
3504 * trans-decl.c (gfc_trans_auto_character_variable):
3505 Set up to get DECL_SIZE and DECL_SIZE_UNIT gimplified.
ddc9ce91 3506 (gfc_gimplify_function): New function.
44de5aeb
RK
3507 (gfc_generate_function-code): Properly handle nested functions.
3508 * trans.c (gfc_build_array_ref): Add two new operands for ARRAY_REF.
3509
8750f9cd
JB
35102004-06-22 Janne Blomqvist <jblomqvi@cc.hut.fi>
3511
3512 PR fortran/15750
3513 * io.c (gfc_match_inquire): Bugfix for iolength related stuff.
3514 (gfc_resolve_inquire): Resolve the iolength tag. Return
3515 SUCCESS at end of function if no failure has occured.
3516 * resolve.c (resolve_code): Resolve if iolength is encountered.
3517 * trans-io.c: (ioparm_iolength, iocall_iolength,
3518 iocall_iolength_done): New variables.
3519 (last_dt): Add IOLENGTH.
3520 (gfc_build_io_library_fndecls ): Set iolength related variables.
3521 (gfc_trans_iolength): Implement.
3522 (gfc_trans_dt_end): Treat iolength as a third form of data transfer.
3523
fa841200
TS
35242004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de
3525
3526 PR fortran/15511
3527 * scanner.c (load_line): Don't truncate preprocessor lines.
3528 Reformat error message.
3529 (preprocessor_line): Issue warning in case of malformed
f676971a 3530 preprocessor line.
fa841200 3531
f5e440e1
TS
35322004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3533
3534 * resolve.c (resolve_symbol): Add comment in function body.
3535 (check_data_variable): Change type of mark to ar_type, adapt code
3536 accordingly.
3537
da4f9e3b
TS
35382004-06-21 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3539
3540 * array.c (gfc_insert_constructor): Avoid redundant call to
3541 mpz_comp. Add 2004 to copyright years.
f676971a 3542
b40410b9
JM
35432004-06-21 Joseph S. Myers <jsm@polyomino.org.uk>
3544
3545 * trans.h (stmtblock_t): Change has_scope to unsigned int.
3546
160874e4
SK
35472004-06-20 Steven G. Kargl <kargls@comcast.net>
3548
3549 * arith.c (gfc_range_check): correct complex underflow.
3550
6ef42154
TS
35512004-06-15 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3552
3553 PR fortran/15962
3554 * match.c (match_case_selector): Call gfc_match_init_expr
3555 instead of gfc_match_expr.
3556 * resolve.c (validate_case_label_expr): No need to check for
3557 constant, since it wouldn't have been matched with the fix to
3558 match.c.
3559
f51d8522 35602004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
7031baf4
TS
3561
3562 PR fortran/15211
3563 * trans-intrinsic.c (gfc_conv_intrinsic_len): Deal with arrays
f676971a 3564 of strings.
7031baf4 3565
ce738b86
TS
35662004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3567
3568 PR fortran/15510
3569 * trans-deecl.c (generate_local_decl): Do not issue warning for
3570 unused variables if they're use associated.
3571
35722004-06-14 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
6615c446 3573 Andrew Vaught <andyv@firstinter.net>
f3207b37
TS
3574
3575 PR fortran/14928
3576 * gfortran.h (gfc_check_f): Add new field f3ml.
3577 * check.c (gfc_check_minloc_maxloc): Take argument list instead
3578 of individual arguments, reorder if necessary.
3579 * intrinsic.h (gfc_check_minloc_maxloc): ... adapt prototype.
3580 * intrinsic.c (add_sym_3ml): New function.
3581 (add_functions): Change to add_sym_3ml for MINLOC, MAXLOC.
f676971a 3582 (check_specific): Catch special case MINLOC, MAXLOC.
f3207b37 3583
6956a6f3
PB
35842004-06-14 Paul Brook <paul@codesourcery.com>
3585
3586 * intrinsic.c (add_sym_2s): Use correct function types.
3587
fd528377
TS
35882004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3589
b3b65c9a 3590 * Make-lang.in (F95_OBJS, F95_PARSER_OBJS): Alphabetize. Move data.c
fd528377
TS
3591 * data.c (gfc_get_section_index): Remove dependency on trans.h.
3592
2bd74949
SK
35932004-06-12 Steven G. Kargl <kargls@comcast.net>
3594
3595 * check.c (gfc_check_second_sub, gfc_check_irand, gfc_check_rand
3596 gfc_check_srand, gfc_check_etime, gfc_check_etime_sub): New functions.
3597 * gfortran.h (gfc_generic_isym_id): New symbols GFC_ISYM_ETIME,
3598 GFC_ISYM_IRAND, GFC_ISYM_RAND, GFC_ISYM_SECOND.
3599 * trans-intrinsic.c: Use symbols.
3600 * intrinsic.c (add_sym_2s): New function.
3601 * intrinsic.c: Add etime, dtime, irand, rand, second, srand.
3602 * intrinsic.h: Function prototypes.
f676971a 3603 * iresolve.c (gfc_resolve_etime_sub, gfc_resolve_second_sub
2bd74949
SK
3604 gfc_resolve_srand): New functions.
3605
c52eae8d
TS
36062004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3607
3608 PR fortran/14957
3609 * decl.c (gfc_match_end): Require END {SUBROUTINE|FUNCTION} for
3610 contained procedure.
f676971a 3611
662ef0f5
TS
36122004-06-12 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3613
3614 PR fortran/12841
3615 * interface.c (compare_parameter, compare_actual_formal): Don't
3616 check types and array shapes for NULL()
3617 * trans-expr.c (conv_function_call): No double indirection for
f676971a 3618 NULL()
662ef0f5 3619
293155b0
TM
36202004-06-09 Toon Moene <toon@moene.indiv.nluug.nl>
3621
3622 * trans-expr.c (gfc_conv_cst_int_power): Compute
3623 x**(-n) by converting it to (1/x)**n instead of
3624 1/x**n.
3625
62f1d470
TS
36262004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3627
3628 PR fortran/13372
3629 * module.c (write_symbol, write_symtree): Don't write symbols
3630 wrongly added to namespace.
3631 * trans-decl.c (gfc_create_module_variable): Don't create a
3632 backend decl for a symbol incorrectly added to namespace.
3633
a4ac5dd3
TS
36342004-06-09 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3635
3636 PR fortran/13201
3637 * resolve.c (resolve_symbol): Verify that parameter array has an
3638 explicit shape. Fix typos and coding style issues in surrounding
3639 lines.
3640
36412004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
e0f2a7c6
TS
3642
3643 PR fortran/15478
3644 * gfortran.texi: The documentation doesn't contain infomration on
3645 how to report bugs, and shouldn't, so remove the line which
3646 says it does.
3647
f9fed73b
TS
36482004-06-05 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3649
f676971a 3650 * intrinsic.c (sort_actual): Keep track of type of missing
f9fed73b
TS
3651 arguments. (Missing from previous commit.)
3652
1600fe22
TS
36532004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3654
3655 * gfortran.h (gfc_actual_arglist): New field missing_arg_type.
3656 * interface.c (compare_actual_formal): Keep type of omitted
3657 optional arguments.
3658 * trans-expr.c (gfc_conv_function_call): Add string length
3659 argument for omitted string argument.
3660
36612004-06-03 Paul Brook <paul@codesourcery.com>
7c87eac6
PB
3662
3663 * trans.c (gfc_finish_block, gfc_add_expr_to_block): Build statement
3664 lists instead of compound expr chains.
3665 (gfc_trans_code): Annotate statement lists.
3666
13413760
TS
36672004-06-03 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3668
3669 * trans-array.c: Fix spelling in comments.
3670
2fa54841
TS
36712004-06-02 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3672
3673 PR fortran/15557
3674 * data.c (assign_substring_data_value): New function.
3675 (gfc_assign_data_value): Call the new function if we're dealing
3676 with a substring LHS.
3677
ea0ece09
TS
36782004-06-01 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3679
3680 PR fortran/15477
3681 * gfortran.h (GFC_VERSION): Remove.
3682 * gfortran.texi (version-gfortran): Remove, replace by version-GCC
3683 where used.
3684
c3e8c6b8
TS
36852004-05-31 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3686
3687 * trans-types.c: Fix spelling & layout in comments.
3688
94716287
TS
36892004-05-30 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3690
3691 PR fortran/14067
3692 * trans-const.c (gfc_conv_string_init): Allow variable string
3693 length lower than initialization string length.
3694
7b5b57b7
PB
36952004-05-30 Paul Brook <paul@codesourcery.com>
3696
3697 PR fortran/15620
3698 * trans-decl.c (gfc_shadow_sym, gfc_restore_sym): New functions.
3699 * trans-expr.c (gfc_trans_string_copy): New function.
3700 (gfc_conv_statement_function): Use them. Create temp vars. Enforce
3701 character lengths.
3702 (gfc_conv_string_parameter): Use gfc_trans_string_copy.
3703 * trans-stmt.c (gfc_trans_forall_1): Use gfc_{shadow,restore}_sym.
3704 * trans.h (struct gfc_saved_var): Define.
3705 (gfc_shadow_sym, gfc_restore_sym): Add prototypes.
3706
5f251c26
SK
37072004-05-30 Steven G. Kargl <kargls@comcast.net>
3708
3709 * iresolve.c (gfc_resolve_random_number): Clean up conditional.
3710
e73c80ae
SK
37112004-05-29 Steven G. Kargl <kargls@comcast.net>
3712
3713 * simplify.c (gfc_simplify_log): Remove useless line of code.
3714
353c3b7e
PB
37152004-05-29 Paul Brook <paul@codesourcery.com>
3716
3717 * trans-common.c (find_equivalence): Find multiple rules.
3718
63645982
TS
37192004-05-27 Tobias Schlueter <tobias.schlueter@physik.uni-muenchen.de>
3720
3721 * gfortran.h (gfc_current_locus, gfc_set_locus): Remove.
3722 (gfc_current_locus): Declare new global variable.
3723 * scanner.c (gfc_current_locus, gfc_set_locus): Remove.
3724 (gfc_current_locus1): Rename ...
3725 (gfc_current_locus): ... to this.
3726 (gfc_at_eof, gfc_at_bol, gfc_at_eol, gfc_advance_line, next_char,
3727 skip_fixed_comments, skip_free_comments, gfc_next_char_literal,
3728 gfc_peek_char, gfc_gobble_whitespace, gfc_new_file): Use
3729 gfc_current_locus instead of gfc_current_locus1, gfc_set_locus()
3730 and gfc_current_locus(), respectively.
3731 * array.c (match_subscript, gfc_match_array_ref, match_array_list,
3732 match_array_cons_element, gfc_match_array_constructor):
3733 Read/modify gfc_current_locus instead of calling gfc_set_locus()
3734 and gfc_current_locus().
3735 * decl.c (gfc_match_null, variable_decl, gfc_match_kind_spec,
3736 match_attr_spec, gfc_match_function_decl, gfc_match_end,
3737 attr_decl1, gfc_match_save): Likewise.
3738 * error.c (error_print, gfc_internal_error): Likewise.
3739 * expr.c (gfc_int_expr, gfc_default_logical_kind): Likewise.
3740 * interface.c (gfc_add_interface): Likewise.
3741 * io.c (gfc_match_format, match_dt_format, match_dt_element,
3742 match_io_iterator, match_io): Likewise.
3743 * match.c (gfc_match_space, gfc_match_eos,
3744 gfc_match_small_literal_int, gfc_match_st_label,
3745 gfc_match_strings, gfc_match_name, gfc_match_iterator,
3746 gfc_match_char, gfc_match, gfc_match_assignment,
3747 gfc_match_pointer_assignment, gfc_match_if, gfc_match_do,
3748 gfc_match_nullify, gfc_match_call, match_implicit_range,
3749 gfc_match_implicit, gfc_match_data, match_case_selector,
3750 gfc_match_case, match_forall_iterator): Likewise.
3751 * matchexp.c (gfc_match_defined_op_name, next_operator,
3752 match_level_1, match_mult_operand, match_ext_mult_operand,
3753 match_add_operand, match_ext_add_operand, match_level_2,
3754 match_level_3, match_level_4, match_and_operand, match_or_operand,
3755 match_equiv_operand, match_level_5, gfc_match_expr): Likewise.
3756 * module.c (gfc_match_use, mio_array_ref, mio_expr): Likewise.
3757 * parse.c (match_word, decode_statement, next_free, next_fixed,
3758 add_statement, verify_st_order, parse_if_block, gfc_parse_file):
3759 Likewise.
3760 * primary.c (match_digits, match_integer_constant,
3761 match_boz_constant, match_real_constant, match_substring,
3762 next_string_char, match_charkind_name, match_string_constant,
3763 match_logical_constant, match_const_complex_part,
3764 match_complex_constant, match_actual_arg, match_keyword_arg,
3765 gfc_match_actual_arglist, gfc_match_structure_constructor,
3766 gfc_match_rvalue, gfc_match_variable): Likewise.
3767 * st.c (gfc_get_code): Likewise.
3768 * symbol.c (check_conflict, check_used, check_done,
3769 duplicate_attr, add_flavor, gfc_add_procedure, gfc_add_intent,
3770 gfc_add_access, gfc_add_explicit_interface, gfc_add_type,
3771 gfc_add_component, gfc_reference_st_label, gfc_new_symbol): Likewise.
3772
4eeaf81e
RS
37732004-05-26 Roger Sayle <roger@eyesopen.com>
3774
3775 * io.c (format_asterisk): Silence compiler warnings by correcting
3776 the number of elements of a "locus" initializer.
3777
a2f29587
RS
37782004-05-25 Roger Sayle <roger@eyesopen.com>
3779
3780 PR fortran/13912
3781 * matchexp.c: Allow unary operators after arithmetic operators
3782 as a GNU extension.
3783 (match_ext_mult_operand, match_ext_add_operand): New functions.
3784 (match_mult_operand): Tweak to call match_ext_mult_operand.
3785 (match_add_operand): Tweak to call match_ext_mult_operand.
3786 (match_level_2): Rearrange to call match_ext_add_operand.
3787
45aae8f2
PB
37882004-05-25 Paul Brook <paul@codesourcery.com>
3789
3790 * expr.c (check_inquiry): Remove bogus tests.
3791
40e929f3
PB
37922004-05-23 Paul Brook <paul@codesourcery.com>
3793
3794 PR fortran/13773
3795 * expr.c (restricted_args): Remove redundant checks/argument.
3796 (external_spec_function): Update to match.
3797 (restricted_intrinsic): Rewrite.
3798
5291e69a
PB
37992004-05-23 Paul Brook <paul@codesourcery.com>
3800 Victor Leikehman <lei@haifasphere.co.il>
3801
3802 * gfortran.h (struct gfc_symbol): Add equiv_built.
3803 * trans-common.c: Change int to HOST_WIDE_INT. Capitalize error
3804 messages.
3805 (current_length): Remove.
3806 (add_segments): New function.
3807 (build_equiv_decl): Create initialized common blocks.
3808 (build_common_decl): Always add decl to bindings.
3809 (create_common): Create initializers.
3810 (find_segment_info): Reformat to match coding conventions.
3811 (new_condition): Use add_segments.
3812 (add_condition, find_equivalence, add_equivalences): Move iteration
3813 inside functions. Only process each segment once.
3814 (new_segment, finish_equivalences, translate_common): Simplify.
3815
95d3f567
SK
38162004-05-23 Steven G. Kargl <kargls@comcast.net>
3817
3818 * check.c (gfc_check_random_seed): Issue for too many arguments.
3819
c1c52409
PB
38202004-05-22 Steven G. Kargl <kargls@comcast.net>
3821
3822 * intrinsic.c (add_subroutines): Use add_sym_3s for random_seed.
3823
38242004-05-22 Paul Brook <paul@codesourcery.com>
1854117e
PB
3825
3826 * dump-parse-tree.c (gfc_show_equiv): New function.
3827 (gfc_show_namespace): Use it.
3828
b6720768
VL
38292004-05-22 Victor Leikehman <lei@haifasphere.co.il>
3830
3831 PR fortran/13249
3832 * symbol.c (gfc_add_common): Disable checks to work around other more
3833 fundamental inadequacies.
3834
8c1d6d62 3835