OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [fortran/] [ChangeLog-2003] - Blame information for rev 753

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 712 jeremybenn
2003-12-26  Feng Wang  
2
 
3
        * dump-parse-tree.c (gfc_show_code_node): Add ASSIGN and ASSIGNED GOTO
4
        dumping.
5
        * gfortran.h (gfc_statement): New ST_LABEL_ASSIGNMENT.
6
        (gfc_exec_op): New EXEC_LABEL_ASSIGN.
7
        (symbol_attribute):New variable attribute: assign.
8
        * io.c (resolve_tag):Integer variable is allowed.
9
        (match_dt_format): Add ASSIGN statement. Set assign flag.
10
        * match.c (gfc_match_if): Change ST_NONE to ST_LABEL_ASSIGNMENT.
11
        (gfc_match_assign): Add ASSIGN statement. Set assign flag.
12
        (gfc_match_goto): Add ASSIGNED GOTO statement. Set assign flag.
13
        * parse.c (decode_statement): Add ST_LABEL_ASSIGNMENT.
14
        (next_statement): Add ST_LABEL_ASSIGNMENT.
15
        (gfc_ascii_statement): Add ST_LABEL_ASSIGNMENT.
16
        * resolve.c (resolve_code): Resolve ASSIGN and ASSIGNED GOTO statement.
17
        (resolve_blocks): Resolve ASSIGNED GOTO statement label list.
18
        * st.c (gfc_free_statement): Add EXEC_LABEL_ASSIGN.
19
        * trans-decl.c (gfc_get_symbol_decl): Create the shadow variable for
20
        assign.  Put them into the stuct lang_decl.
21
        * trans-io.c (set_string): Add the assign statement.
22
        * trans-stmt.c (gfc_trans_label_assign): New function.
23
        (gfc_trans_goto): Translate ASSIGNED GOTO statement.
24
        * trans-stmt.h (gfc_trans_label_assign): Added function prototype.
25
        * trans.c (gfc_trans_code): Add EXEC_LABEL_ASSIGN.
26
        * trans.h (lang_decl):Add shadow variable decl tree needed by assign.
27
        (GFC_DECL_ASSIGN_ADDR(node)): New macro to access this.
28
        (GFC_DECL_ASSIGN(node)): New macro to access flag.
29
 
30
2003-12-31  Huang Chun  
31
 
32
        PR fortran/13434
33
        * trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Fixed bug in
34
        minval/maxval.
35
 
36
2003-12-22  Toon Moene  
37
 
38
        * options.c (gfc_init_options): Set flag_argument_noalias to 2, to indicate
39
        that arguments to subroutines/functions can't alias themselves, nor global
40
        memory.
41
 
42
2003-12-20  Steven Bosscher  
43
 
44
        * trans-expr.c (gfc_conv_expr_op): Fold the result expression.
45
        * trans.c (gfc_add_modify_expr, gfc_add_expr_to_block): Likewise.
46
 
47
2003-12-12  Huang Chun  
48
 
49
        * primary.c (match_substring): Fix substring bug for start point
50
        or end point is NULL.
51
        * trans-expr.c (gfc_conv_substring): Ditto
52
        * trans-types.c (gfc_sym_type): Get correct type of scalar
53
        character variables.
54
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle character in
55
        derived type.
56
 
57
2003-12-10  Richard Henderson  
58
 
59
        * options.c (gfc_post_options): Don't ever use rtl inlining.
60
 
61
2003-12-05  Canqun Yang  
62
 
63
        * trans-common.c: Re-implement COMMON blocks and EQUIVALENCE lists.
64
        * trans-equivalence.c: Remove.
65
        * trans-decl.c (gfc_get_symbol_decl): Update to match.
66
        (gfc_generate_function_code): Ditto.
67
        * trans-array.c (gfc_conv_array_parameter): Ditto.
68
        * Make-lang.in (F95_OBJS): Remove fortran/trans-equivalence.o
69
        (F95_ADDITIONAL_OBJS): Add stor-layout.o
70
        * trans.h (gfc_trans_equivalence): Remove.
71
        * gfortran.h (struct gfc_equiv): Add used field.
72
        (struct gfc_symbol): Remove addr_base, addr_offset, equiv_ring,
73
        equiv_offset fields.
74
 
75
2003-12-05  Richard Henderson  
76
 
77
        * trans.c (gfc_build_addr_expr): New.
78
        (gfc_build_indirect_ref, gfc_build_array_ref): New.
79
        * trans.h: Declare them.
80
        * trans-array.c, trans-expr.c, trans-intrinsic.c, trans-io.c,
81
        trans-stmt.c, trans.c (*): Use them.
82
 
83
        * f95-lang.c (gfc_post_options): Remove dead prototype.
84
        * trans-array.c (gfc_trans_deferred_vars): Remove unused variable.
85
        * trans-stmt.c (gfc_evaluate_where_mask): Fix temporary_list
86
        allocation size.
87
 
88
2003-12-01  Feng Wang  
89
 
90
        * io.c (gfc_match_format): Check for missing format label.
91
 
92
2003-11-30 Huang Chun  
93
 
94
        PR fortran/13155
95
        * trans-decl.c (gfc_sym_mangled_function_id): Don't mangle symbols
96
        from interfaces in modules.
97
 
98
2003-11-30  Paul Brook  
99
 
100
        * trans-array.c (gfc_trans_g77_array): Make non-static.
101
        (gfc_trans_assumed_size): Remove.
102
        (gfc_trans_dummy_array_bias): Explicitly free temporary.
103
        * trans-array.h (gfc_trans_g77_array): Add prototype.
104
        (gfc_trans_assumed_size): Remove.
105
        * trans-decls.c (gfor_fndecl_push_context): Remove.
106
        (gfor_fndecl_pop_context): Remove.
107
        (gfc_build_function)decls): Don't create them.
108
        (gfc_trans_deferred_vars): Update to match. Remove dead code.
109
        * trans-stmt.c (gfc_trans_pointer_assign_need_temp): Free temp.
110
 
111
2003-11-30  Kejia Zhao  
112
 
113
        * trans-array.c (gfc_conv_array_parameter): Simplify
114
        array argument passing for array name actual argument.
115
        * trans-expr.c (gfc_conv_function_call): Ditto
116
        * trans-types.c (gfc_is_nodesc_array):Ditto.
117
 
118
2003-11-30  Paul Brook  
119
 
120
        * f95-lang.c (gfc_post_options): Move ...
121
        * options.c (gfc_post_options): .. to here.  Handle inlining options.
122
        * gfortran.h (gfc_post_options): Add prototype.
123
 
124
2003-11-28  Richard Henderson  
125
 
126
        * trans.c (gfc_create_var_np): Use create_tmp_var_raw.
127
 
128
2003-11-28 Huang Chun  
129
 
130
        * trans.h (has_alternate_specifier): New global variable.
131
        * match.c (gfc_match_call): Handle actual arguments associated with
132
        alternate return indicators.
133
        * trans-expr.c (gfc_conv_function_call): Ditto
134
        * trans-stmt.c (gfc_trans_call): Ditto
135
        (gfc_trans_return): Handle return statement with value.
136
        * trans-decl.c (gfc_generate_function_code): Handle functions with
137
        asterisk dummy.
138
        (gfc_get_fake_result_decl): Ditto
139
        * trans-types.c (gfc_get_function_type): Ditto
140
        * resolve.c (resolve_actual_arglist): Check alternate return indicators.
141
        (resolve_formal_arglist): Check asterisk dummy.
142
 
143
2003-11-27  Paul Brook  
144
 
145
        * trans-array.c (gfc_tran_allocate_array_storage): Use new memory
146
        allocation interface.
147
        (gfc_conv_ array_parameter): Ditto.
148
        (gfc_trans_auto_array_allocation): Ditto. Also free the memory.
149
        * trans-array.c: Update prototype.
150
        * trans-decl.c (gfc_build_builtin_function_decls): Update prototypes.
151
        (gfc_trans_auto_character_variable): Use new memory alloc interface.
152
        * trans-expr.c (gfc_conv_string_tmp): Ditto.
153
        (gfc_conv_function_call): Use gfc_conv_string_tmp.
154
        * trans-stmt.c (gfc_do_allocate):  Use new memory alloc interface.
155
        * trans-intrinsic.c (gfc_conv_intrinsic_trim): Ditto.
156
        * trans.h (gfc_ss_info): Remove unused pdata field.
157
        * trans.c (gfc_create_var_np): Change T to V.
158
 
159
2003-11-26  Richard Henderson  
160
 
161
        * mathbuiltins.def: Move acos, asin, cosh, log10, sinh, tanh from ...
162
        * trans-intrinsic.c (gfc_intrinsic_map): ... here.  Add SCALE,
163
        FRACTION, NEAREST, SET_EXPONENT.
164
        (gfc_intrinsic_map_t): Add libm_name, complex_available, is_constant.
165
        Fix GTY marking.  Remove unnecessary const's.
166
        (LIBM_FUNCTION): Rename from I_LIB.
167
        (LIBF_FUNCTION): New.
168
        (gfc_get_intrinsic_lib_fndecl): Handle libm and libgfortran naming
169
        conventions.  Assume the expr signature is correct.  Mark const.
170
        (gfc_conv_intrinsic_exponent): Use library functions.
171
        (gfc_conv_intrinsic_set_exponent): Remove.
172
        (gfc_conv_intrinsic_scale): Remove.
173
        (gfc_conv_intrinsic_nearest): Remove.
174
        (gfc_conv_intrinsic_fraction): Remove.
175
        (gfc_conv_intrinsic_function): Update.
176
        * trans-decl.c (gfor_fndecl_math_exponent4): New.
177
        (gfor_fndecl_math_exponent8): New.
178
        (gfc_build_intrinsic_function_decls): Set them.
179
        * trans.h: Declare them.
180
 
181
2003-11-25  Canqun Yang  
182
 
183
        * trans-common.c (gfc_layout_global_equiv): Locate the error for
184
        underflow COMMON block.
185
        (gfc_trans_one_common): Fix bug for size of COMMON block containing
186
        EQUIVALENCE object. Also fix typo in an error message.
187
 
188
2003-11-25  Diego Novillo  
189
 
190
        * Make-lang.in: Add check-gfortran to lang_checks.
191
        (check-f95): Alias for check-gfortran.
192
 
193
2003-11-25  Jason Merrill  
194
 
195
        * Make-lang.in (f95.tags): Create TAGS.sub files in each
196
        directory and TAGS files that include them for each front end.
197
 
198
2003-11-24  Paul Brook  
199
 
200
        PR fortran/13154
201
        * trans-decl.c (gfc_greate_module_variable): Skip COMMON blocks.
202
 
203
2003-11-24  Paul Brook  
204
 
205
        * expr.c (simplify_const_ref): Return SUCCESS for things we don't
206
        handle.
207
        * resolve.c (gfc_resolve_expr): Resolve contents before rank/shape.
208
 
209
2003-11-24  Paul Brook  
210
 
211
        PR fortran/13105
212
        * array.c (gfc_array_ref_shape): Handle elemental dimensions.
213
        * trans-array.c (gfc_trans_preloop_setup): Use correct dim lookup.
214
 
215
2003-11-20  Richard Henderson  
216
 
217
        * trans-array.c (gfc_trans_allocate_array_storage): Use convert.
218
        (gfc_conv_array_base): Likewise.
219
        * trans-decl.c (gfc_trans_auto_character_variable): Likewise.
220
        * trans-expr.c (gfc_conv_string_tmp): Likewise.
221
        * trans-intrinsic.c (gfc_conv_intrinsic_trim): Likewise.
222
        * trans-stmt.c (gfc_trans_character_select): Likewise.
223
 
224
2003-11-13  Paul Brook  
225
 
226
        * trans-decl.c (gfc_sym_mangled_function_id): Dont mangle externals.
227
 
228
2003-11-13  Canqun Yang  
229
 
230
        * resolve.c (gfc_resolve): Also resolve EQUIVALENCE objects.
231
        (resolve_equivalence): New function.
232
        (resolve_equivalence_derived): New function.
233
 
234
2003-11-12  Richard Henderson  
235
 
236
        * trans.c (gfc_trans_code): Use annotate_with_locus instead of
237
        annotate_all_with_locus.
238
 
239
2003-11-11  Canqun Yang  
240
 
241
        * options.c (gfc_init_options): Set flag_max_stack_var_size as 32768.
242
        * trans-decl.c (gfc_finish_var_decl): Modified.
243
 
244
2003-11-08  Paul Brook  
245
 
246
        PR fortran/12704
247
        * trans-intrinsic.c (gfc_conv_intrinsics_minmaxloc): Handle zero-size
248
        arrays.
249
 
250
2003-11-06  Paul Brook  
251
 
252
        * trans-intrinsic.c (gfc_conv_intrinsics_minmaxloc): Initialize pos.
253
 
254
2003-11-02  Canqun Yang  
255
 
256
        * match.c (gfc_match_stopcode): Assign '0' to stop_code.
257
 
258
2003-10-27  Anthony Green  
259
 
260
        * Make-lang.in (f95.stageprofile): Use tabs, not spaces.
261
        (f95.stagefeedback): Ditto.
262
 
263
2003-10-27  Andrew Pinski  
264
 
265
        PR fortran/12682
266
        * Make-lang.in (f95.stageprofile): Add.
267
        (f95.stagefeedback): Add.
268
 
269
2003-10-23  Richard Henderson  
270
 
271
        * f96-lang.c (gfc_gimplify_expr): Remove.
272
        (LANG_HOOKS_GIMPLIFY_EXPR): Remove.
273
        (LANG_HOOKS_GIMPLE_BEFORE_INLINING): New.
274
 
275
2003-10-23  Richard Henderson  
276
 
277
        * f95-lang.c (gfc_gimplify_expr): Return gimplify_status.
278
 
279
2003-10-20  Paul Brook  
280
 
281
        * trans-expr.c (gfc_conv_integer_power): Use boolean_type_node.
282
        * trans-stmt.c (gfc_trans_do_while): Ditto.
283
 
284
2003-10-17  Paul Brook  
285
 
286
        * simplify.c (gfc_simplify_shape): Use gfc_array_dimen_size.
287
 
288
2003-10-17  Paul Brook  
289
 
290
        * trans-io.c (gfc_build_io_library_fndecls): Set TREE_PUBLIC.
291
 
292
2003-10-17  Feng Wang  
293
 
294
        * iresolve.c (gfc_resolve_maxloc): Change the result's kind and type.
295
        (gfc_resolve_minloc): Ditto.
296
        * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Use correct types.
297
        Return the value after subtracting the lower bound.
298
 
299
2003-10-16  Richard Henderson  
300
 
301
        * f95-lang.c (expand_function_body): Don't check flag_disable_gimple.
302
 
303
2003-10-16  Steven Bosscher  
304
 
305
        * lang.c: Remove -M option for now, it's in the way for C.
306
 
307
2003-10-14  Jason Merrill  
308
 
309
        * Make-lang.in (f95.tags): New rule.
310
 
311
2003-10-13  Richard Henderson  
312
 
313
        * trans.c (gfc_trans_code): Use annotate_all_with_locus.
314
 
315
2003-10-13  Paul Brook  
316
 
317
        * trans-decl.c (generate_local_decl): Don't create junk variables.
318
 
319
2003-10-13  Paul Brook  
320
 
321
        * resolve.c (resolve_formal_arglist): Use function result decl in
322
        preference to function decl.
323
 
324
2003-10-12  Richard Henderson  
325
 
326
        * f95-lang.c (gfc_define_builtin): New const_p argument.  Set
327
        TREE_READONLY.  Update all callers.
328
 
329
2003-10-12  Feng Wang  
330
 
331
        * iresolve.c (gfc_resolve_cshift): Change to match implementation.
332
        * trans-intrinsic.c (gfc_conv_intrinsic_function): Remove CSHIFT.
333
        (gfc_is_intrinsic_libcall): Add CSHIFT.
334
 
335
2003-10-12  Richard Henderson  
336
 
337
        * trans-array.c (gfc_trans_static_array_pointer): Set TREE_INVARIANT.
338
        (gfc_trans_array_constructor_value): Likewise.
339
        (gfc_conv_array_initializer): Likewise.
340
        * trans-stmt.c (gfc_trans_character_select): Likewise.
341
 
342
2003-11-12  Kejia Zhao  
343
 
344
        * trans-intrinsic.c (integer_kind_info, real_kind_info): Remove.
345
 
346
2003-10-11  Huang Chun  
347
 
348
        * check.c (gfc_check_repeat): Check arguments are scalar.
349
        (gfc_check_trim): New function.
350
        * intrinsic.h (gfc_check_trim): Add prototype.
351
        * intrinsic.c (add_functions): Use it.
352
        * trans.h (gfor_fndecl_string_trim, gfor_fndecl_string_repeat):
353
        Decalare.
354
        * trans-decl.c: Ditto.
355
        (gfc_build_intrinsic_fucntion_decls): Set them.
356
        * trans-intrinsic.c (gfc_conv_intrinsic_len): Handle result vars.
357
        (gfc_conv_intrinsic_trim): New function.
358
        (gfc_conv_intrinsic_repeat): New function.
359
        (gfc_conv_intrinsic_function): Use them.
360
 
361
2003-10-11  Huang Chun  
362
 
363
        * trans-types.c (gfc_sym_type): Handle result variables.
364
 
365
2003-10-11  Huang Chun  
366
 
367
        * trans-intrinsic.c (gfc_conv_intrinsic_char): Don't use
368
        gfc_get_character_type.
369
 
370
2003-10-11  Feng Wang  
371
 
372
        * trans-expr.c (gfc_conv_variable): Check sym->ts, not the decl.
373
 
374
2003-10-11  Paul Brook  
375
 
376
        * iresolve.c (gfc_resolve_dint, gfc_resolve_dnint): New functions.
377
        (gfc_resolve_dprod): New function.
378
        (gfc_resolve_aint, gfc_resolve_anint): Only base name on arg type.
379
        * intrinsic.h (gfc_resolve_dint, gfc_resolve_dnint): Declare.
380
        (gfc_resolve_dprod): Declare.
381
        * intrinsic.c (add_functions): Use them.
382
        * trans-decl.c (gfc_get_extern_function_decl): Only pass one arg.
383
 
384
2003-10-06  Richard Henderson  
385
 
386
        * f95-lang.c (gfc_init_builtin_functions): Add clzll.
387
        * trans-intrinsic.c (call_builtin_clz): Use it.
388
 
389
2003-10-05  Paul Brook  
390
 
391
        * f95-lang.c (expand_function_body): Call (push|pop)_function_context.
392
        * trans-decl.c (gfc_generate_function_code): Set
393
        cfun->function_end_locus.
394
 
395
2003-09-24  Jason Merrill  
396
 
397
        * f95-lang.c, trans-decl.c: Use DECL_SOURCE_LOCATION instead of
398
        TREE_LOCUS.
399
 
400
2003-09-21  Lifang Zeng  
401
        Paul Brook  
402
 
403
        * Make-lang.in (F95_OBJS): Add fortran/data.o.
404
        * array.c (gfc_inser_constructor): New function.
405
        (gfc_get_constructor): New function.
406
        (gfc_free_constructor): Initialize offset and repeat.
407
        (iterator_stack): Remove.
408
        (expand_info): Add offset, component and repeat fields.
409
        (expand_constructor): Set them.
410
        (expand): Set new fields.
411
        (gfc_copy_constructor): Ditto. Avoid recursion.
412
        * gfortran.h: Add prototypes for new functions.
413
        (gfc_constructor): Add offset, component and repeat.
414
        (iteratio_stack): Move to here.
415
        * resolve.c (check_data_variable): Convert data values into variable
416
        initializers.
417
        (traverse_data_list): Build implicit loop chain.
418
        (gfc_resolve): Ditto.
419
        * trans-array.c (gfc_conv_array_intializer): Handle repeat count.
420
        * trans-decl.c (gfc_get_symbol_decl): Use gfc_conv_structure.
421
        * trans-expr.c (gfc_conv_structure): Handle array initializers.
422
        (gfc_conv_expr): Update to match.
423
        * trans.h (gfc_conv_structure): Declare.
424
        * data.c: New file.
425
 
426
2003-09-20  Kejia Zhao  
427
 
428
        * trans.h: Add declarations for gfor_fndecl_si_kind and
429
        gfor_fndecl_sr_kind.
430
        * trans-decl.c (g95_build_intrinsic_function_decls): Build them.
431
        * trans-intrinsic.c (g95_conv_intrinsic_si_kind): New function.
432
        (g95_conv_intrinsic_sr_kind): New function.
433
        (g95_conv_intrinsic_function): Add SELECTED_INT_KIND and
434
        SELECTED_REAL_KIND.
435
 
436
2003-09-17  Lars Segerlund  
437
 
438
        * iresolve.c (gfc_resolve_random_number): Generate _r4 & _r8
439
        instead of _4 and _8 as postfix for libgfortran calls.
440
 
441
2003-09-16  Paul Brook  
442
 
443
        * array.c (compare_bounds): New function.
444
        (gfc_compare_array_spec): Use it.
445
 
446
2003-09-14  Paul Brook  
447
 
448
        * primary.c (gfc_match_rvalue): Make sure sym->result is set.
449
        * trans-expr.c (gfc_conv_string_parameter): Also allow PRAM_DECLs.
450
 
451
2003-09-14  Paul Brook  
452
 
453
        * check.c (dim_rank_check): Allow assumed bounds if requested.
454
        (gfc_check_lbound): Call it.
455
        (gfc_check_ubound): Ditto.
456
        (gfc_check_size): Change to match.
457
        * simplify.c (gfc_simplify_bound): New function.
458
        (gfc_simplify_lbound): New function.
459
        (gfc_simplify_ubound): New function.
460
        * intrinsic.h: Declare them.
461
        * intrinsic.c (add_functions): Use them.
462
 
463
2003-09-14  Paul Brook  
464
 
465
        * io.c (format_lex): Initialize negative_flag.
466
        (check_format): Intialize repeat.
467
        * trans-io.c (gfc_new_nml_name_expr): Declare static.
468
        (gfc_new_var_expr): Ditto.
469
 
470
2003-09-14  Paul Brook  
471
 
472
        * trans-array.c (gfc_conv_array_initializer): Handle derived types.
473
        * trans-decl.c (gfc_get_symbol_decl): Only do local scalar values.
474
 
475
2003-09-12  Paul Brook  
476
 
477
        * trans-intrinsic.c (gfc_conv_intrinsic_sign): Call fold.
478
 
479
2003-09-12  Zdenek Dvorak  
480
 
481
        * fortran/trans.c (gfc_finish_block): Call rationalize_compound_expr
482
        for a correct expression.
483
 
484
2003-09-10  Kejia Zhao  
485
 
486
        * trans-intrinsic.c (real_compnt_info): New struct.
487
        (prepare_arg_info): New function.
488
        (gfc_conv_intrinsic_set_exponent): New function.
489
        (gfc_conv_intrinsic_scale): New function.
490
        (gfc_conv_intrinsic_nearest): New function.
491
        (gfc_conv_intrinsic_fraction): New function.
492
        (gfc_conv_intrinsic_exponent): New function.
493
        (gfc_conv_intrinsic_spacing): New function.
494
        (gfc_conv_intrinsic_rrspacing): New function.
495
        (gfc_conv_intrinsic_function): Use them.
496
 
497
2003-08-24 XiaoQiang Zhang  (zhangapache@yahoo.com>
498
 
499
        * trans-const.c (gfc_conv_mpz_to_tree): Fix bug, parameter for
500
        build_int_2 changed from (high, low) to (low, high).
501
        * trans-io.c (ioparm_namelist_name, ioparm_namelist_name_len,
502
        ioparm_namelist_read_mode, iocall_set_nml_val_int,
503
        iocall_set_nml_val_float, iocall_set_nml_val_char,
504
        iocall_set_nml_val_complex, iocall_set_nml_val_log): New declaration.
505
        (gfc_build_io_library_fndecls): Add variable initialization.
506
        (gfc_new_nml_name_expr, get_new_var_expr): New function.
507
        (build_dt): Add namelist support.
508
        * io.c (value): New variable.
509
        (check_format): Support FMT_H now.
510
 
511
2003-09-07  Paul Brook  
512
 
513
        * io.c (gfc_resolve_dt): Error if format label is not defined.
514
 
515
2003-09-07  Kejia Zhao  
516
 
517
        * trans-intrinsic.c (gfc_conv_intrinsic_aint): Fix two bugs. One is
518
        about case_switch's break. The other is about building the condition
519
        statement tree, which judges the argument in the range of the
520
        corresponding integer type.
521
        * trans-intrinsic.c (gfc_conv_intrinsic_mod): MOD and MODULO can work
522
        for the large values.
523
 
524
2003-09-05  Paul Brook  
525
 
526
        * f95-lang.c (expand_function_body): Gimplify the function.
527
 
528
2003-09-04  Jeff Law  
529
 
530
        * f95-lang.c (DEFINE_MATH_BUILTIN): C arrays start at
531
        index zero!
532
 
533
2003-09-04  Paul Brook  
534
 
535
        * f95-lang.c (gfc_define_builtin): Also set implicit_built_in_decls.
536
        (gfc_expand_stmt): New function.
537
        (LANG_HOOKS_RTL_EXPAND_STMT): Define.
538
        (expand_function_body): Use tree_rest_of_compilation.
539
        * trans-decl.c (gfc_generate_function_code): Don't free cfun.
540
 
541
2003-09-03  Jeff Law  
542
 
543
        * f95-lang.c (gfc_init_builtin_functions): C arrays start at
544
        index zero!
545
 
546
2003-08-30  Paul Brook  
547
 
548
        * f95-lang.c (builtin_function): Remove #if 0 code.
549
        (gfc_define_builtin): New function.
550
        (gfc_init_builtin_functions): Use mathbuiltins.def not ../builtins.def.
551
        * mathbuiltins.def: New file.
552
        * trans-intrinsic.c (gfc_intrinsic_map_t): Add builtin code fields.
553
        (gfc_intrinsic_map): Use mathbuiltins.def.
554
        (gfc_intrinsic_builtin_t): Remove.
555
        (gfc_build_intrinsic_lib_fndecls): Update.
556
        * trans-types.c (gfc_init_types): Remove redundant initilaization of
557
        signed_size_type_node.
558
 
559
2003-08-29  Paul Brook  
560
 
561
        * arith.c (gfc_real_kinds): Use correct minimum exponents.
562
 
563
2003-08-22  Kejia Zhao  
564
 
565
        * trans-instinsic.c (gfc_conv_intrinsic_mod): Also do MODULO.
566
        (gfc_conv_intrinsic_function): Add MODULO.
567
 
568
2003-08-22  Jason Merrill  
569
 
570
        * trans-array.c (gfc_conv_expr_descriptor): Update use of predicates.
571
 
572
2003-08-22  Andreas Jaeger  
573
 
574
        * Make-lang.in (f95.install-common): Add DESTDIR support.
575
        * (f95.install-info): Likewise.
576
        (f95.uninstall): Likewise.
577
 
578
2003-08-19  Diego Novillo  
579
 
580
        * trans-types.c (gfc_init_types): Initialize
581
        signed_size_type_node with size_type_node.
582
 
583
2003-08-18  Paul Brook  
584
 
585
        * dependency.c (gfc_dependency): New enum.
586
        (check_another_array_ref): Remove.
587
        (gfc_get_array_from_component): Remove.
588
        (get_x): Remove.
589
        (get_range): Remove.
590
        (get_no_of_elements): Use mpz_t, not mpf_t.
591
        (transform_sections): New function.
592
        (gfc_check_range_range): Rename ...
593
        (gfc_check_section_vs_section): ... to this.  Use new function.
594
        (gfc_is_inside_range): Rewrite to match.
595
        (gfc_check_element_vs_section): Ditto.
596
        (gfc_check_element_vs_element): Ditto.
597
        (get_deps): Ditto.
598
        (gfc_dep_resolver): Ditto.  Remove unused parameter.
599
        * Dependency.h (gfc_check_range_range, gfc_check_element_vs_section,
600
        gfc_check_element_vs_element, gfc_is_inside_range,
601
        gfc_get_array_from_component): Remove prototypes for static functions.
602
        (gfc_dep_resolver): Update prototype.
603
        * trans-array.c (gfc_conv_resolve_dependencies): Change to match.
604
 
605
2003-08-15  Paul Brook  
606
 
607
        * trans-decl.c (gfc_build_qualified_array): Don't add symbols for
608
        return values to parent scope.
609
        (gfc_build_dummy_array_decl): Ditto.
610
 
611
2003-08-14  Paul Brook  
612
 
613
        * trans-stmt.c (gfc_trans_allocate): Handle NULL refs. Allocate the
614
        size of the type, not the pointer.
615
        * resolve.c (resolve_symbol): Give more accurate error message.
616
 
617
2003-08-10  Paul Brook  
618
 
619
        * trans-decl.c (gfc_build_function_decl): Only mangle global symbols.
620
 
621
2003-08-10  Paul Brook  
622
 
623
        * trans-stmt.c (gfc_trans_allocate): Correctly handle non-array derived
624
        type components.
625
 
626
2003-08-10  Chun Huang  
627
 
628
        * resolve.c (resolve_formal_arglist): Resolve STATEMENT function.
629
        (resolve_symbol): Ditto.
630
        * trans-expr.c (gfc_conv_statement_function): New function.
631
        (gfc_conv_function_expr): Use it.
632
 
633
2003-08-10  Paul Brook  
634
 
635
        * trans-array.c (gfc_conv_ss_startstride): Handle functions.
636
        (walk_function_expr): Set section rank.
637
        * trans-intrinsic.c (gfc_walk_intrinsic_libfunc): Ditto.
638
 
639
2003-08-10  Paul Brook  
640
 
641
        * intrinsic.c (add_sym): Prefix names with correct string.
642
        (add_sym_0s): New function.
643
        (add_subroutines): Register abort.
644
 
645
2003-08-10  Erik Schnetter  
646
 
647
        * gfortran.h: Introduce options to control the mangling.
648
        * lang.opt: Likewise.
649
        * options.c (gfc_init_options): Handle the options.
650
        * trans-common.c (gfc_sym_mangled_common_id): New function.
651
        (gfc_build_common_decl): Call it.
652
        * trans-decl.c (gfc_sym_mangled_function_id): New function.
653
        (gfc_get_extern_function_decl, gfc_build_function_decl): Call it.
654
 
655
2003-08-09  Paul Brook  
656
 
657
        * module.c (mio_symbol): Always ouput a namespace for formal args.
658
        (load_needed): Namespace now belong to their proper symbol.
659
        (gfc_dump_module): Change G95=>GFORTRAN.
660
 
661
2003-08-05  Paul Brook  
662
 
663
        * options.c: Force -fg77-calls.
664
 
665
2003-08-02  Paul Brook  
666
 
667
        * Makelang.in: Rename G95_* to GFORTRAN_*.
668
        * All sources: Rename G95_* to GFC_*.
669
 
670
2003-08-01  Paul Brook  
671
 
672
        * fortran/Make-lang.in: Use GMPLIBS.
673
        * fortran/config-lang.in: Set need_gmp.
674
        * trans-expr.c (gfc_conv_variable): Remove incorrect assertion.
675
 
676
2003-07-27  Andreas Jaeger  
677
 
678
        * trans-decl.c (gfc_generate_constructors): Convert prototype to
679
        ISO C90.
680
        * trans-const.c (gfc_init_constants): Likewise.
681
        * trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Likewise.
682
 
683
        * gfortranspec.c: Convert to ISO C90.
684
        (lang_specific_driver): Correct copyright, remove ALT_LIBM usage.
685
 
686
2003-07-26  Paul Brook  
687
 
688
        * lang.opt: Add -fdump-parse-tree.
689
        * options.c (gfc_handle_option): Ditto.
690
        * resolve.c (resolve_forall_iterators): Convert to proper type.
691
        * trans-stmt.c (gfc_trans_forall_1): Create temp var with correct type.
692
 
693
2003-07-26  Paul Brook  
694
 
695
        * Makefile.in: Add build dependencies on files common with rest of gcc.
696
 
697
2003-07-26  Lifang Zeng  
698
 
699
        * trans.h: Declare g95_trans_pointer_assignment.
700
        * trans-expr.c (g95_trans_pointer_assignment): New function.
701
        (g95_trans_pointer_assign): Use it.
702
        * trans-stmt.c (g95_trans_forall_1): Handle pointer assignment.
703
        (g95_trans_pointer_assign_need_temp): New function.
704
 
705
2003-07-26  Paul Brook  
706
 
707
        * gfortran.texi: Replace references to g95.
708
 
709
2003-07-26  Paul Brook  
710
 
711
        Rename g95_* to gfc_*.
712
 
713
2003-07-25  Paul Brook  
714
 
715
        * gfortran.h: Rename from g95.h.
716
        * trans-types.c (boolean_type_node, booelan_true_node,
717
        boolean_false_node): Remove.
718
        * trans-types.h: Ditto.
719
 
720
2003-07-25  Chun Huang  
721
 
722
        * parse.c (accept_statement): Implement BLOCK DATA statement.
723
        * trans-expr.c (g95_conv_variable): Fix bug for dereference pointer
724
        variables.
725
 
726
2003-07-24  Lifang Zeng  
727
 
728
        * trans-stmt.c (temporary_list): Define.
729
        (g95_trans_assign_need_temp): New function.
730
        (g95_trans_forall_1): Modified for WHERE.
731
        (g95_trans_where_assign): Modified.
732
        (g95_trans_where_2): Modified.
733
        (g95_evaluate_where_mask): Modified.
734
        (g95_trans_where): Modified.
735
        (g95_get_temp_expr): Removed.
736
        (g95_add_to_where_stmt_list): Removed.
737
        (compute_overall_iter_number): Modified for WHERE.
738
        * trans.h: Remove where_stmt_list.
739
 
740
2003-07-24  Arnaud Desitter  
741
 
742
        * lang.opt: Correct description of options -J and -M.
743
 
744
2003-07-23  Steven Bosscher   
745
 
746
        * lang.opt: Move help text to here.
747
        * lang-options.h: Remove.
748
 
749
2003-07-23  Arnaud Desitter  
750
        * iresolve.c (g95_resolve_transpose): Proper variable in switch.
751
        * simplify.c (g95_simplify_nearest): Fix typo and use a correct test
752
        on kind.
753
 
754
2003-07-22  Steven Bosscher  
755
        Paul Brook  
756
 
757
        * check.c (check_rest): Use global pedantic flag.
758
        * io.c (data_desc): Ditto.
759
        * error.c (g95_warning, g95_warning_now): Use global flag.
760
        * f95-lang.c (LANG_HOOKS_HANDLE_OPTION): Rename from DECODE.
761
        (expand_function_body): Update to new prototypes.
762
        (g95_init): Use new option names.
763
        * g95.h (g95_option_t): Standardize names.
764
        (g95_init_options, g95_handle_option): Update prototypes.
765
        * interface.c: Use new option names.
766
        * match.c: Ditto.
767
        * module.c: Ditto.
768
        * parse.c: Ditto.
769
        * primary.c: Ditto.
770
        * resolve.c: Ditto.
771
        * scanner.c: Ditto.
772
        * simplify.c: Ditto.
773
        * symbol.c: Ditto.
774
        * trans-array.c: Ditto.
775
        * trans-expr.c: Ditto.
776
        * trans-types.c: Ditto.
777
        * trans-decl.c: Ditto.
778
        (g95_build_library_function_decl): Remove obsolete VPARAMS.
779
        * trans.h: Ditto.
780
        * options.c (g95_display_help): Remove.
781
        (g95_init_options): Convert to new scheme.
782
        (set_Wall): Ditto
783
        (g95module_option): Ditto, rename from g95_parse_arg.
784
        (g95_handle_module_path_options): New function.
785
        * trans-equivalence.c: Fix error message.
786
        * lang.opt: Corrections.
787
 
788
2003-07-21  Steven Bosscher  
789
 
790
        * lang.opt: New file.
791
 
792
2003-07-21  Arnaud Desitter  
793
 
794
        * decl.c (match_attr_spec): Set colon_seen.
795
 
796
2003-07-14  Paul Brook  
797
 
798
        * trans-array.c: Update comment.
799
        (g95_trans_array_constructor_subarray): Cleanup loopinfo data.
800
        * trans-intrinsic.c (g95_conv_intrinsic_anyall,count,arith,
801
        minmaxloc,minmaxval): Ditto.
802
        * trans-io.c (g95_trans_transfer): Ditto.
803
        * trans-stmt.c: Remove unneeded prototypes.
804
        (generate_loop_for_lhs_to_rhs): Rename vars. Add loop post chain.
805
        (generate_loop_for_rhs_to_temp): Rename vars. Don't share loopinfo.
806
        (compute_inner_temp_size): Remove bits of dead code. Add comments.
807
        Don't share loopinfo.
808
        (compute_overall_iter_number): Declare as static.
809
        (allocate_temp_for_forall_nest): Ditto.
810
        (g95_trans_forall_1): Don't pass shared loopinfo.
811
        * trans.c (g95_start_block): Expand comment.
812
 
813
2003-07-12  Paul Brook  
814
 
815
        * arith.c (g95_index_integer_kind): Remove unused initializer.
816
        * trans-stmt.c (generate_loop_for_temp_to_lhs): Don't multiply array
817
        index by size of element.
818
        (generate_loop_for_rhs_to_temp): Ditto.
819
        (allocate_temp_for_forall_nest): Use element size, not index size.
820
 
821
2003-07-11  Arnaud Desitter  
822
 
823
        * arith.c (g95_index_integer_kind): Add a TODO.
824
        * simplify.c (g95_simplify_nearest): Add a TODO.
825
 
826
2003-07-09  Chun Huang  
827
 
828
        * trans.h: Add declarations for gfor_fndecl_string_scan and
829
        gfor_fndecl_string_verify.
830
        * trans-decl.c (g95_build_intrinsic_function_decls): Build them.
831
        * trans-intrinsic.c (g95_conv_intrinsic_scan): New function.
832
        (g95_conv_intrinsic_verify): New function.
833
        (g95_conv_intrinsic_function): Add SCAN and VERIFY.
834
        * simplify.c (g95_simplify_scan, g95_simplify_verify): Fix bug in case
835
        of parameter 'BACK=.TRUE.'
836
 
837
2003-07-05  Lifang Zeng  
838
 
839
        * trans-stmt.c (iter_info, forall_info): Define.
840
        (g95_trans_forall_block): Remove.
841
        (g95_trans_forall_loop): Use forall info blocks.
842
        (g95_trans_nested_forall_loop): New function.
843
        (g95_do_allocate): Handle things other than logical masks.
844
        (generate_loop_for_temp_to_lhs): New function.
845
        (generate_loop_for_rsh_to_temp): New function.
846
        (compute_inner_temp_size): New function.
847
        (compute_overall_iter_number): New function.
848
        (allocate_temp_for_forall_nest): New function.
849
        (g95_trans_forall): Move body ...
850
        (g95_trans_forall_1): ... to here.  Handle loops with temporaries.
851
 
852
2003-07-02  Paul Brook  
853
 
854
        * trans-decl.c (create_index_var, g95_build_qualified_array): Put vars
855
        in correct scope.  Change callers to match.
856
        * trans-types.c (g95_get_dtype_cst): Allow rank 7 arrays.
857
        * iresolve.c (g95_resolve_reshape): Only use constant shapes.
858
 
859
2003-07-02  Paul Brook  
860
 
861
        * trans-array.c (g95_conv_loop_setup): Remove dead var.  Use
862
        expression shape for all expressions.
863
        * trans-decl.c (g95_symbol_init): Allow adding at very end of list.
864
 
865
2003-07-03  Arnaud Desitter  
866
 
867
        * g95.h (g95_option_t), lang-options.h, options.c (g95_init_options,
868
        g95_parse_arg), intrinsic.c (g95_convert_type): support of
869
        -Wconversion.
870
        * intrinsic.c, g95.h: Add g95_convert_type_warn,
871
        * resolve.c (g95_resolve_index): Call it.
872
 
873
2003-07-02  Paul Brook  
874
 
875
        * iresolve.c (g95_resolve_reshape): Set expression shape.
876
        (g95_resolve_shape): Ditto.
877
        * simplify.c (g95_simplify_shape): Move common code outside condition.
878
        * trans-array.c (g95_conv_array_initializer): Teach it how to count.
879
 
880
2003-07-01  Arnaud Desitter  
881
 
882
        * array.c (g95_array_dimen_size): Deal with EXPR_ARRAY to improve
883
        conformance checks.
884
 
885
2003-06-29  Paul Brook  
886
 
887
        * array.c (g95_simplify_iterator_var): Don't bother with return value.
888
        * expr.c (find_array_element, find_component_ref): New functions.
889
        (remove_subobject_ref): New function.
890
        (simplify_const_ref): Use them.  Rename from simplify_component_ref.
891
        (simplify_ref_chain): New function.
892
        (g95_simplify_expr): Use it.  Simplify parameter variable subobjects.
893
        (g95_specification_expr): Simplify the expression.
894
        * resolve.c (resolve_operator): Check simplifications return code.
895
        (g95_resolve_expr): Ditto.
896
 
897
2003-06-26  Paul Brook  
898
 
899
        * expr.c (simplify_component_ref): New function.
900
        (g95_simplify_expr): Use it.
901
        * resolve.c (resolve_structure_cons): Handle references.
902
 
903
2003-06-25  Paul Brook  
904
 
905
        * trans-io.c (build_dt): Handle internal units.
906
 
907
2003-06-25  Canqun Yang  
908
 
909
        * trans-common.c (g95_build_common_decl): Array index range starts at 0.
910
        (g95_build_common_decl, g95_layout_global_equiv, g95_trans_one_common):
911
        Use g95_array_index_type instead of integer_type_node.
912
        (g95_build_common_decl, g95_set_common_master_type): Use
913
        g95_character1_type_node instead of char_type_node.
914
        * trans-equivalence.c (g95_layout_local_equiv): As above.
915
 
916
2003-06-24  Steven G. Kargl  
917
 
918
        * g95.h (g95_option_t), options.c (g95_init_options, g95_parse_arg):
919
        remove last remains of -fquiet.
920
 
921
2003-06-22  Paul Brook  
922
 
923
        * resolve.c (resolve_operator): Don't fail if we can't simplify.
924
        (g95_resolve_expr): Ditto.
925
        (resolce_code): Mark as static.
926
        * trans-stmt.c (g95_trans_chaaracter_select): Mark labels because the
927
        gimplifer doesn't (yet).
928
 
929
2003-06-20  Paul Brook  
930
 
931
        * g95.h: Add ST_PAUSE and EXEC_PAUSE.
932
        * match.c (g95_match_if): Add ST_PAUSE.
933
        (g95_match_stopcode): New function.
934
        (g95_match_pause, g95_match_stop): Use it.
935
        * parse.c (g95_ascii_statement): Handle ST_PAUSE.
936
        (decode_stmt, next_statement, parse_executable): Ditto.
937
        * resolve.c (resolve_code): Ditto.
938
        * st.c (g95_free_statement): Ditto.
939
        * trans-stmt.c (g95_trans_pause): New function.
940
        * trans-stmt.h: Declare it.
941
        * trans.c (g95_trans_code): Use it.
942
        * trans-decl.c (gfor_fndecl_pause_numeric, gfor_fndecl_pause_string):
943
        Declare.
944
        (g95_build_builtin_function_decls): Initialize them.
945
        * trans.h: Ditto.
946
        * dump-parse-tree.c (g95_show_code_node): Handle EXEC_PAUSE.
947
 
948
2003-06-18  Arnaud Desitter  
949
 
950
        * io.c (g95_match_open , g95_match_close, g95_match_inquire,
951
        match_filepos): Fix error handling.
952
 
953
2003-06-18  Arnaud Desitter  
954
 
955
        * array.c (spec_dimen_size, ref_dimen_size, g95_array_dimen_size):
956
        Add assertions on arguments.
957
        * resolve.c (expression_shape): Remove useless &.
958
        * simplify.c (get_kind, g95_simplify_bit_size, g95_simplify_digits,
959
        g95_simplify_ibclr, g95_simplify_ibits, g95_simplify_ibset,
960
        g95_simplify_ishft,g95_simplify_ishftc, g95_simplify_maxexponent,
961
        g95_simplify_minexponent, g95_simplify_radix, g95_simplify_range
962
        g95_simplify_rrspacing, g95_simplify_scale, g95_simplify_spacing,
963
        g95_simplify_tan, g95_simplify_tiny): Clean predicates and assertions.
964
        (g95_simplify_not, g95_simplify_scale): Add assertions.
965
 
966
2003-06-15  Paul Brook  
967
 
968
        Clean up stuff to work with the ssa optimizers.
969
        * convert.c (convert): Handle BOOLEAN_TYPEs.
970
        * f95-lang.c (g95_truthvalue_conversion): Implement.
971
        * trans-array.c (g95_trans_array_constructor_value): Group multiple
972
        scalar values.
973
        * trans.h (g95_truthvalue_conversion): Declare.
974
        * trans-intrinsic.c (g95_conv_intrinsic_anyall): Use bool constants.
975
        * trans-stmt.c (g95_trans_character_select): Don't create array
976
        assignments.  Mark labels as indirect jump targets.
977
        * trans-types.h (g95_init_types): Use BOOLEAN_TYPE nodes.
978
        (g95_get_dtype_cst): Handle LOGICAL types.
979
 
980
2003-06-14  Paul Brook  
981
 
982
        * f95-lang.c (g95_gimplify_expr): New function.
983
        * trans-array.c (g95_trans_array_constructor_value): Don't create
984
        array assignments.
985
        (g95_conv_expr_descriptor): Rename simple->gimple.
986
        * trans-expr.c (conv_expr_op): Use proper logical operators.
987
        * trans-intrinsic.c (build_fixbound_expr): New function.
988
        (build_fix_expr): Ditto.
989
        (g95_conv_intinsic_aint): Use them. Use builtin functions.
990
        (g95_conv_intrinsic_function): Add FLOOR and CEILING.
991
 
992
2003-06-10  Arnaud Desitter  
993
 
994
        * array.c (g95_compare_array_spec): Remove unreachable code.
995
        * expr.c (g95_copy_expr): Likewise.
996
        * intrinsic.c (g95_convert_type): Likewise.
997
        * misc.c (g95_code2string): Likewise.
998
        * simplify.c (g95_simplify_ishft, g95_simplify_real,
999
        g95_simplify_reshape, g95_simplify_sign, g95_simplify_sqrt): Likewise.
1000
        * trans-stmt.c (g95_trans_select): Likewise.
1001
        * primary.c (extend_ref): Add an assertion.
1002
        * simplify.c (g95_convert_constant): Add const.
1003
        * intrinsic.h: Remove g95_check_x_ni.
1004
        * f95-lang.c (g95_finish): Call g95_release_include_path.
1005
 
1006
2003-06-10  Arnaud Desitter  
1007
 
1008
        * resolve.c (resolve_contained_functions): Fix typo introduced on
1009
        2003-01-13.
1010
 
1011
2003-06-09  Paul Brook  
1012
 
1013
        * g95.h: Include system.h not hwint.h.
1014
        * many: use safe-ctype.h not ctype.h.  Change isalpha -> ISALPHA, etc.
1015
        * misc.c (g95_getmem): Use xmalloc/memset instead of calloc.
1016
 
1017
2003-06-09  Paul Brook  
1018
 
1019
        * g95.h (g95_symbol): Add fields for COMMON and EQUIVALENCE variables.
1020
        * Make-lang.in (F95_OBJS): Add files for COMMON and EQUIVALENCE.
1021
        * trans-decl.c (g95_add_decl_to_functions): Make non-static.
1022
        (g95_get_symbol_decl): Handle COMMON and EQUIVALENCE objects.
1023
        (g95_generate_function_code): Translate COMMON and EQUIVALENCE
1024
        objects.
1025
        * trans.h (g95_trans_equivalence, g95_trans_common,
1026
        g95_add_decl_to_function): Declare.
1027
        * trans-common.c, trans-equivalence.c: New files.
1028
 
1029
2003-06-08  Steven Bosscher  
1030
 
1031
        * intrinsic.c (g95_intrinsic_extension): Remove.
1032
        (add_functions): Substitute g95_check_x for g95_check_x_ni
1033
        everywhere.
1034
        (g95_init_expr_extensions): New function.
1035
        (g95_intrinsic_func_interface): Use it.
1036
        * intrinsic.h: Remove extern decl for g95_intrinsic_extension.
1037
        * check.c (g95_check_digit, g95_check_huge, g95_check_kind,
1038
        g95_check_precision, g95_check_present, g95_check_radix,
1039
        g95_check_range, g95_check_selected_real_kind): Do not set
1040
        g95_intrinsic_extension.
1041
        (g95_check_x_ni): Remove now duplicate of g95_check_x.
1042
 
1043
        * expr.c (check_inquiry): Add FIXME, fixup some code style.
1044
 
1045
2003-06-06  Arnaud Desitter  
1046
 
1047
        * g95.h (ref_type): Name this type explicitly.
1048
        * module.c (MIO_NAME): Add specialisations of mio_name.
1049
        (mio_symbol_attribute, mio_typespec, mio_array_ref,
1050
        mio_array_spec, mio_ref, mio_expr, mio_symbol): Use them.
1051
        (ab_attribute): Name this type explicitly.
1052
        (mio_symbol_attribute, mio_expr): Add cast to call to find_enum.
1053
 
1054
2003-06-05  Kejia Zhao  
1055
 
1056
        * trans-intrinsic.c (g95_conv_allocated): New function.
1057
        (g95_conv_intrinsic_function): Make G95_ISYM_ALLOCATED work.
1058
 
1059
2003-06-05  Steven Bosscher  
1060
 
1061
        * f95-lang.c: Don't include g95-support.h
1062
        (g95_mark_addressable): Add prototype.
1063
        (g95_init_decl_processing): Remove C front end hack.
1064
        * f95-tree.c: Remove file.
1065
        * support.c: Remove file.
1066
        * g95-support.h: Remove file.
1067
        * trans-types.c (g95_init_types): Set up boolean
1068
        type related tree nodes.
1069
        * Make-lang.in: Remove rules for dead files and
1070
        dependencies on them.
1071
 
1072
2003-06-05  Steven Bosscher  
1073
 
1074
        * Make-lang.in (F95_ADDITIONAL_OBJS): Remove the final
1075
        C front end dependency.  Also, convert.c does not depend on
1076
        g95-support.h anymore.
1077
        * convert.c: Don't include c-common.h and g95-support.h
1078
        * f95-lang.c: Don't inlude c-common.h and c-common.def (3x).
1079
        (g95_stmt_tree, g95_scope_stmt_stack, anon_aggr_type_p,
1080
        stmts_are_full_exprs_p, current_stmt_tree,
1081
        current_scope_stmt_stack): Remove.
1082
        * g95-support.h (unsigned_conversion_warning): Kill proto.
1083
        (boolean_type_node, boolean_true_node, boolean_false_node):
1084
        Don't define here.  Instead, make then true tree nodes in
1085
        trans-types.
1086
        * support.c (c_global_trees): Die, C front end, die!!!
1087
        (g95_init_c_decl_hacks): Don't touch intmax_type_node,
1088
        uintmax_type_node, string_type_node and const_string_type_node.
1089
        (decl_constant_value, overflow_warning): Make static functions.
1090
        They are in death row too, though.
1091
        (default_conversion, c_expand_asm_operands): Remove.
1092
        * trans-array.c, trans-expr.c, trans-intrinsic.c, trans-stmt.c,
1093
        trans.c: Don't include c-common.h.
1094
        * trans-types.c (boolean_type_node, boolean_true_node,
1095
        boolean_false_node): Make them real tree nodes.
1096
        * trans-types.h (intmax_type_node, string_type_node,
1097
        const_string_type_node): Hack to work around C dependencies
1098
        in builtin-types.def.
1099
 
1100
2003-06-04  Arnaud Desitter  
1101
 
1102
        * decl.c (decl_types): Add some iterators-like sentinels.
1103
        * decl.c (match_attr_spec): Use them.
1104
        Use "decl_types" instead of "int".
1105
        Add cast in call to g95_match_strings.
1106
        * dump-parse-tree.c (g95_show_namespace):  Use "g95_intrinsic_op"
1107
        instead of "int".
1108
        * g95.h (g95_intrinsic_op): Add some iterators-like sentinels.
1109
        (g95_interface_info): Use "g95_intrinsic_op".
1110
        * dump-parse-tree.c (g95_show_namespace): Use them.
1111
        * interface.c (g95_check_interfaces): Use them.
1112
        * module.c (read_module, write_module): Use them.
1113
        * symbol.c (g95_get_namespace, g95_free_namespace): Use them.
1114
        Use "g95_intrinsic_op".
1115
        * interface.c (check_operator_interface): Use "g95_intrinsic_op".
1116
        Add a default case in switch statement.
1117
        * intrinsic.h (g95_generic_isym_id): Moved to...
1118
        * g95.h (g95_generic_isym_id): here.
1119
        (g95_intrinsic_sym): Use "g95_generic_isym_id".
1120
        * intrinsic.c (make_generic): Use "g95_generice_isym_id".
1121
        * trans-intrinsic.c (g95_intrinsic_map_t,
1122
         g95_conv_intrinsic_lib_funtion): Use "g95_generice_isym_id".
1123
        * match.c (g95_match_intrinsic_op): Add cast in call to
1124
        g95_match_strings.
1125
 
1126
2003-06-03  Steven Bosscher  
1127
 
1128
        * support.c (skip_evaluation, warn_conversion, lvalue_p,
1129
        lvalue_or_else, pedantic_lvalue_warning, warn_for_assignment,
1130
        constant_fits_type_p, convert_and_check,
1131
        unsigned_conversion_warning): Remove these ugly remnants
1132
        we inherited from the C front end.
1133
        (function_types_compatible): Remove '#if 0'-edcode.
1134
        (build_modify_expr): Likewise.
1135
        (convert_for_assignment): Don't use the deceased functions.
1136
        The parameter fundecl is now unused.
1137
        (decl_constant_value): Always just return decl.  In fact
1138
        this function is not used at present, but it might be in
1139
        the future, when we start using the tree inliner.
1140
        (overflow_warning, default_conversion, c_expand_asm_operands):
1141
        Abort when these are called, they are part of the C type
1142
        checking implementation and therefore poison to Fortran.
1143
 
1144
2003-06-04  Steven Bosscher  
1145
 
1146
        * Make-lang.in (F95_ADDITIONAL_OBJS): Don't depend on
1147
        c-pretty-print.o and c-dump.o.  Add a comment on why we
1148
        depend on c-semantics.c.
1149
        * f95-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN):
1150
        Don't use the C front end tree dumper hook to dump the
1151
        language specific tree representation -- we don't have
1152
        one.  So instead, inherit the default langhook.
1153
 
1154
2003-06-02  Paul Brook  
1155
 
1156
        * trans-expr.c (g95_conv_variable): Remove incorrent assertion.
1157
 
1158
2003-06-02  Arnaud Desitter  
1159
 
1160
        * check.c (g95_check_associated): Use proper types.  Remove
1161
        extraneous argument in call to g95_error().
1162
 
1163
2003-06-02  Kejia Zhao  
1164
 
1165
        * resolve.c (resolve_operator): Make logical operands convert to the
1166
        type with higher kind.
1167
 
1168
2003-06-02  Kejia Zhao  
1169
 
1170
        * check.c (g95_check_associated): Make sure both pointer and target has
1171
        the same type and rank. Null pointer or array section with vector
1172
        subscript as target are not allowed.
1173
        * trans.h: Declare gfor_fndecl_associated.
1174
        * trans-decl.c: (g95_build_builtin_function_decls): Initialize
1175
        gfor_fndecl_associated.
1176
        * trans-intrinsic.c (g95_conv_associated): New function.
1177
        (g95_conv_intrinsic_function): Make G95_ISYM_ASSOCIATED work.
1178
 
1179
2003-06-02  Kejia Zhao  
1180
 
1181
        * trans-array.c (g95_conv_expr_descriptor): Set the base of POINTER
1182
        according to POINTER itself rather than TARGET.
1183
        (g95_conv_expr_descriptor): Make lbound start at 1.
1184
        * trans-expr.c (g95_trans_pointer_assign): Fix a bug for Nullify.
1185
 
1186
2003-06-01  Paul Brook  
1187
 
1188
        * expr.c (g95_type_convert_binary): Make it match the standard.
1189
        * g95.texi: Remove dead link.
1190
 
1191
2003-06-01  Steven Bosscher  
1192
 
1193
        * g95.texi: Cleanup somewhat in preparation for inclusion
1194
        in GCC CVS.
1195
 
1196
2003-05-23  Arnaud Desitter  
1197
            Canqun Yang  
1198
 
1199
        * resolve.c (compare_bound_int, resolve_where_shape): Proper return
1200
        type.
1201
        (g95_find_forall_index): Return proper value.
1202
        (g95_resolve_assign_in_forall, g95_resolve_forall): Use proper type to
1203
        compare the return value from g95_find_forall_index.
1204
 
1205
2003-05-23  Arnaud Desitter  
1206
        * g95.h, io.c (g95_st_label): Remove "length".
1207
        (g95_symtree): Remove "link".
1208
        (g95_case): Remove "code".
1209
        * arith.c, arith.h (g95_compare_string, g95_convert_integer,
1210
        g95_convert_real): Make an argument pointer to const.
1211
        * decl.c (colon_seen): Add a TODO.
1212
        * interface.c (g95_compare_types): Fix typo.
1213
        * interface.c (compare_interfaces): Preserve value of "p".
1214
        * intrinsic.c (sort_actual): Remove "i".
1215
        * match.c (g95_match_assign): Proper type in call to g95_match().
1216
        * parse.c (next_free): Avoid duplicate call due to macro.
1217
        * parse.c (check_statement_label): wrong type in call to g95_error.
1218
        * primary.c (match_real_constant): Add a TODO.
1219
        * resolve.c (resolve_select):  Remove useless conditional.
1220
        * simplify.c (g95_simplify_repeat): Proper assignment to
1221
        "value.character.string".
1222
        * simplify.c (g95_simplify_reshape): Wrong variable in call to
1223
        g95_error.
1224
 
1225
2003-05-20  Canqun Yang  
1226
 
1227
        * trans-stmt.c: Remove unnecessary include file defaults.h.
1228
 
1229
2003-05-19  Lifang Zeng  
1230
 
1231
        * trans-stmt.c (g95_trans_forall_loop): Handle FORALL with negative
1232
        stride.
1233
        (g95_trans_forall): Allow arbitrary number of FORALL indexes and
1234
        actual variables used as FORALL indexes.
1235
 
1236
2003-05-15  Paul Brook  
1237
 
1238
        * trans-array.c (g95_trans_static_array_pointer): Use
1239
        null_pointer_node.
1240
        (g95_trans_deferred_array): Initialize static array pointers.
1241
        * trans-expr.c (g95_conv_function_call): Use formal arglist to
1242
        correctly pass POINTER and absent CHARACTER arguments.
1243
 
1244
2003-05-14  Lifang Zeng  
1245
 
1246
        * resolve.c (g95_resolve_forall): Resolve FORALL construct/statement.
1247
        (g95_resolve_forall_body): Resolve FORALL body.
1248
        (g95_resolve_where_code_in_forall): Resolve WHERE inside FORALL.
1249
        (g95_resolve_assign_in_forall): Resolve assignment inside FORALL.
1250
        (g95_find_forall_index): Check whether the FORALL index appears in
1251
        the expression or not.
1252
        (resolve_code): Modified.
1253
 
1254
2003-05-14  Paul Brook  
1255
 
1256
        * iresolve.c (g95_resolve_spread): Convert ncopies to index_type.
1257
 
1258
2003-05-13  Paul Brook  
1259
 
1260
        * trans-types.c (g95_max_array_element_size): Now a tree node.
1261
        (g95_init_types): Work out max size properly.
1262
        (g95_get_dtype_cst): Modify to match.
1263
 
1264
2003-05-11  Paul Brook  
1265
 
1266
        * trans-io.c (add_case): Create a label decl for case labels.
1267
 
1268
2003-05-11  Paul Brook  
1269
 
1270
        * arith.c (g95_integer_index_kind): New variable.
1271
        * f95-lang.c (g95_init): Move frontend initialization here ...
1272
        (g95_post_options): ... from here.
1273
        * g95.h (g95_index_integer_kind, g95_resolve_index): Declare.
1274
        * intrinsic.c (add_functions): Use index kinds.
1275
        * iresolve.c: Convert to index_kind where needed.
1276
        * resolve.c (g95_resolve_index): Make public, use index_kind.
1277
        (resolve_array_ref): Adjust to match.
1278
        * trans-array.c: Rename g95_array_index_kind to g95_index_integer_kind.
1279
        * trans-stmt.c: Ditto.
1280
        * trans-types.c: Ditto.
1281
        * trans-types.h (g95_array_index_kind): Remove declaration.
1282
        * trans-expr.c (g95_conv_expr_present): Use null_pointer_node.
1283
 
1284
2003-05-07  Paul Brook  
1285
 
1286
        * trans-const.c (g95_conv_mpz_to_tree): Typecast constant.
1287
        * trans-intrinsic.c (g95_conv_intrinsic_bound): Convert type
1288
        of bound indices.
1289
 
1290
2003-05-07  Paul Brook  
1291
 
1292
        * trans-array.c (trans_static_array_pointer,
1293
        g95_trans_array_constructor_value, g95_conv_array_initializer,
1294
        g95_conv_structure): CONSTRUCTOR nodes only have one operand.
1295
        (g95_add_loop_ss_code): Convert subscripts to the correct type.
1296
        * trans-stmt.c (g95_trans_character_select): Ditto.
1297
        * trans-types.c (g95_init_types): Ditto.
1298
 
1299
2003-05-07  Steven Bosscher  
1300
 
1301
        * f95-lang.c (expand_function_body): Use input_line, not lineno.
1302
        * trans-decl.c (g95_generate_function_code,
1303
        g95_generate_constructors): Likewise.
1304
        * trans.c (g95_trans_runtime_check, g95_add_block_to_block,
1305
        g95_get_backend_locus, g95_set_backend_locus, g95_trans_code):
1306
        Likewise.
1307
 
1308
2003-05-07  Kejia Zhao  
1309
        * trans-types.c (g95_get_derived_type): Fix bug for DERIVED type
1310
        with components point to the DERIVED type itself, and two DERIVED
1311
        type with components point to each other.
1312
        * trans-expr.c (g95_conv_componet_ref): Modified
1313
 
1314
2003-05-07  Kejia Zhao  
1315
        * trans-expr.c (g95_conv_expr): Translate EXPR_NULL into
1316
        null_pointer_node.
1317
        (g95_trans_pointer_assign): Implement Nullify.
1318
 
1319
2003-05-01  Paul Brook  
1320
 
1321
        * trans-array.c (g95_walk_function_expr): Cope with NULL esym.
1322
        * trans-decl.c (g95_get_symbol_decl): Don't mangle dummy functions.
1323
 
1324
2003-05-01  Paul Brook  
1325
 
1326
        * trans-array.c, trans.c, trans-expr.c, trans-intrinsic.c,
1327
        trans-stmt.c: Replace empty_stmt_node with build_empty_stmt () and
1328
        IS_EMPTY_STMT.
1329
 
1330
2003-05-01  Canqun Yang  
1331
 
1332
        * trans-stmt.c (g95_trans_integer_select): Add a parameter to build
1333
        CASE_LABEL_EXPR.
1334
 
1335
2003-04-28  Paul Brook  
1336
 
1337
        * iresolve.c (g95_resolve_transpose): COMPLEX types are twice as big
1338
        as their kind suggests.
1339
        (g95_resolve_reshape): Ditto.
1340
 
1341
2003-04-28  Chun Huang  
1342
 
1343
        * trans-expr.c (g95_conv_substring_expr): New function.
1344
        (g95_conv_expr): Use it.
1345
 
1346
2003-04-28  Paul Brook  
1347
 
1348
        * iresolve.c (g95_resolve_transpose): Make it match the
1349
        implementation.
1350
        * trans-intrinsic.c (g95_is_intrinsic_libcall): Add TRANSPOSE.
1351
 
1352
2003-04-18  Steven Bosscher  
1353
 
1354
        * trans-types.c (g95_add_field_to_struct): New function to
1355
        add a field to a UNION_TYPE or RECORD_TYPE.
1356
        * trans-types.h (g95_add_field_to_struct): Prototype.
1357
        (g95_get_derived_type): Use g95_add_field_to_struct to add
1358
        components.
1359
        * trans-io.c (g95_add_field): Remove.
1360
        (ADD_FIELD): Use new g95_add_field_to_struct function.
1361
        (ADD_STRING): Likewise.
1362
        * trans-stmt.c (g95_trans_select): Likewise.
1363
        (g95_add_field): Remove duplicated function.
1364
 
1365
2003-04-18  Canqun Yang  
1366
 
1367
        Port implementation for CHARACTER SELECT from Andy's tree.
1368
        * trans-stmt.c (g95_trans_character_select): Implement character
1369
        select. (g95_add_field): New function.
1370
        * trans-decl.c: Declare 'gfor_gndecl_select_string'.
1371
        (g95_build_builtin_function_decls): Add 'gfor_fndecl_select_string'.
1372
        * g95.h (struct g95_case): Add field 'int n'.
1373
        * trans.h: Declare 'gfor_fndecl_select_string'.
1374
 
1375
2003-04-18  Steven Bosscher  
1376
 
1377
        * bbt.c (duplicate_key, g95_insert_bbt_with_overlap): Remove.
1378
        (g95_insert_bbd): Die on duplicates.
1379
        * g95.h (g95_insert_bbt_with_overlap): Delete prototype.
1380
 
1381
2003-04-14  Steven Bosscher  
1382
 
1383
        * g95.texi: Require GMP 4.0 -- like we actually
1384
        do.  Explain the testsuite and what-goes-where.
1385
        Don't use undefined texinfo symbol.  Break very
1386
        long line.  Remove finished item from the list
1387
        of open projects.
1388
 
1389
2003-04-11  Canqun Yang  
1390
 
1391
        * trans-stmt.c (g95_evaluate_where_mask): Give mask temporaries
1392
        LOGICAL type.
1393
 
1394
2003-04-10  Canqun Yang  
1395
 
1396
        * trans-stmt.c (g95_trans_forall): Implement WHERE inside FORALL.
1397
        (g95_trans_forall_body): New function.
1398
 
1399
2003-04-10  Canqun Yang  
1400
 
1401
        * resolve.c (resove_where): New function.
1402
        (resolve_where_shape): New function.
1403
        (resolve_code): Add call to 'resolve_where'
1404
        * trans-stmt.c (g95_trans_where): Modified.
1405
        (g95_trans_where_2): New function.
1406
        (g95_trans_where_assign): New function.
1407
        (g95_evaluate_where_mask): New function.
1408
        (g95_add_to_stmt_list): New function.
1409
        (g95_get_temp_expr): New function.
1410
        * trans.h (where_stmt_list): New structure.
1411
 
1412
2003-04-10  Paul Brook  
1413
 
1414
        * g95spec.c (DEFAULT_SWITCH_TAKES_ARG): Remove.
1415
        (DEFAULT_WORD_SWITCH_TAKES_ARG): Ditto.
1416
 
1417
2003-04-10  Steven Bosscher  
1418
 
1419
        Update after mainline -> tree-ssa-branch merge.
1420
        * f95-lang.c (g95_mark_addressable): Update put_var_into_stack
1421
        call.
1422
        (g95_init): Update for new lang_hooks definition.
1423
        (g95_post_options): New langhook.
1424
        (LANG_HOOK_POST_OPTIONS): Clear, then define to g95_post_options.
1425
        * scanner.c (g95_new_file): Comment update.
1426
 
1427
2003-04-09  Arnaud Desitter  
1428
 
1429
        * g95.h, lang-options.h: Add -Wimplicit-interface.
1430
        * options.c (g95_init_options, g95_parse_arg): Set it.
1431
        * interface.c (check_intents): Warn about call with implicit
1432
        interface.
1433
        * resolve.c (resolve_unknown_f, resolve_unknown_s): Call
1434
        g95_procedure_use.
1435
 
1436
2003-04-05  Paul Brook  
1437
 
1438
        * iresolve.c (g95_resolve_spread): Don't resole based on type.
1439
        * trans-intrinsic.c (g95_is_intrinsic_libcall): Add G95_ISYM_SPREAD.
1440
 
1441
2003-03-29  Paul Brook  
1442
 
1443
        * iresolve.c (g95_resolve_pack): Don't bother resolving based on type.
1444
        (g95_resolve_unpack): Ditto.
1445
        * trans-intrinsic.c (g95_conv_intrinsic_merge): New Function.
1446
        (g95_conv_intrinsic_function): Use it.  Remove PACK and UNPACK.
1447
        (g95_is_intrinsic_libcall): Add PACK and UNPACK.
1448
 
1449
2003-03-25  Paul Brook  
1450
 
1451
        * arith.c (g95_unary_user, g95_user): Remove dead functions.
1452
        * arith.h: Ditto.
1453
        * array.c (g95_free_array_ref): Ditto.
1454
        * g95.h: Ditto.
1455
        * symbol.c (g95_use_derived_tree): Ditto.
1456
        * intrinsic.c (add_functions): Use simplification for SCALE.
1457
        * primary.c (g95_match_rvalue): Test sym, not symtree.
1458
 
1459
2003-03-25  Paul Brook  
1460
 
1461
        * trans-decl.c (build_function_decl): Add parameter before it gets
1462
        turned into a constant.
1463
        * iresolve.c (g95_resolve_eoshift): Resolve to a useful name.
1464
        * trans-intrinsic.c (g95_is_intrinsic_libcall): Add G95_ISYM_EOSHIFT.
1465
        * trans-decl.c (g95_create_module_variable): Don't pushdecl constants.
1466
 
1467
2003-03-22  Paul Brook  
1468
 
1469
        * trans-array.c (g95_conv_array_initializer): Allow scalar
1470
        expressions.
1471
        * trans-decl.c (g95_finish_var_decl): Result variables are not
1472
        module variables.
1473
        * trans-intrinsic.c (g95_conv_intrinsic_transfer): New function.
1474
        (g95_conv_intrinsic_function): Use it.
1475
        * trans-types.h (g95_type_spec): Remove dead declaration.
1476
 
1477
2003-03-21  Paul Brook  
1478
 
1479
        * trans-decl.c (g95_build_function_decl): Mark string parameters.
1480
 
1481
2003-03-20  Paul Brook  
1482
 
1483
        * trans-decl.c (g95_build_function_decl): Put character length
1484
        parameters at the end of the function declaration.
1485
        * trans-expr.c (g95_conv_function_call): Ditto.
1486
        * trans-types.c (g95_get_function_type): Ditto.
1487
 
1488
2003-03-20  Arnaud Desitter  
1489
 
1490
        * resolve.c (resolve_formal_arglist): Don't impose intent for
1491
        procedure arguments of pure functions.
1492
        (resolve_select): Remove redundant assignment.
1493
 
1494
2003-03-19  Arnaud Desitter  
1495
 
1496
        * arith.c (validate_logical), g95.h, options.c (g95_init_options):
1497
        Remove option l1.
1498
        * g95.h, intrinsic.c(g95_get_intrinsic_sub_symbol): Add const.
1499
        * iresolve.c(g95_resolve_cpu_time, g95_resolve_random_number): Add
1500
        const.
1501
        * lang-options.h: Remove -finline-repack-arrays. Add -fg77-calls.
1502
        Order list.
1503
        * symbol.c (g95_add_type): Fix typo in comment.
1504
 
1505
 
1506
2003-03-16  Paul Brook  
1507
 
1508
        * dump-parse-tree.c (g95_show_code_node): Print resolved sym name.
1509
        * expr.c (g95_build_call): Remove.
1510
        * f95-lang.c (puchdecl_top_level): New function.
1511
        * g95.h (g95_code): Store resolved symbol, not just the name.
1512
        * intrinsic.c (g95_intrinsic_namespace): New global namespace.
1513
        (g95_intirinsic_init_1, g95_intrinsic_done_1): Use it.
1514
        (g95_get_intrinsic_sub_symbol): New function.
1515
        * iresolve.c (g95_resolve_cpu_time): Use it.
1516
        (g95_resolve_random_number): Ditto.
1517
        * resolve.c: Set code->resolved_sym instead of code->sub_name.
1518
        * trans-decl.c (g95_get_extern_function_decl): Give external decls
1519
        the correct DECL_CONTEXT.  Add global symbold to the global scope.
1520
        * trans-stmt.c (g95_trans_code): Remove hacks now the fronted is
1521
        fixed.
1522
 
1523
2003-03-16  Paul Brook  
1524
 
1525
        * g95.h (g95_option_t): Add g77_calls. Remove inline_repack_arrays.
1526
        * options.c (g95_parse_arg): Ditto.
1527
        * module.c (mio_symbol_attribute): Handle the always_explicit bit.
1528
        * resolve.c (resolve_formal_arglist): The always_explicit sould be set
1529
        for the procedure, not the parameter.
1530
        * trans-array.c (g95_trans_g77_array): New function.
1531
        (g95_trans_assumed_size): Use it.
1532
        (g95_trans_dummy_array_bias): Ditto.
1533
        (g95_conv_array_parameter): Handle g77 arrays. Move existing body ...
1534
        (g95_conv_expr_descriptor): ... to here.  Update callers.
1535
        * trans-decl.c (g95_build_dummy_array_decl): Handle g77 arrays.
1536
        (g95_get_symbol_decl): Avoid processing g77 arrays multiple times.
1537
        * trans-expr.c (g95_conv_function_call): Handle g77 arrays.
1538
        * trans-intrinsic.c (g95_get_symbol_for_expr): Never use g77 arrays.
1539
        * trans-types.c (g95_is_nodesc_array): Handle g77 arrays.
1540
        (g95_sym_type): Ditto.
1541
 
1542
2003-03-15  Paul Brook  
1543
 
1544
        * trans-array.c (g95_walk_elemental_function_args): Don't amputate the
1545
        first chain.
1546
        * trans-expr.c (g95_conv_function_call): Use the resolved symbol.
1547
 
1548
2003-03-14  Paul Brook  
1549
 
1550
        * trans-array.c (g95_array_is_packed): Remove.
1551
        (g95_conv_array_base): Correctly handle all descriptorless cases.
1552
        (g95_conv_array_stride): Use descriptorless strides.
1553
        (g95_trans_dummy_array_bias): Don't always repack the array.
1554
        (g95_build_dummy_array_decl): Automatic dummy arrays are only partial
1555
        packed.
1556
        * trans-types.c (g95_get_nodesc_array_type): Differentiate between
1557
        dummy and non-dummy arrays...
1558
        (g95_sym_type, g95_get_derived_type): ... like these.
1559
        (g95_get_array_type_bounds): Allow discontiguous arrays.
1560
 
1561
2003-03-12  Paul Brook  
1562
 
1563
        * array.c (g95_resolve_array_spec): Fix comment.
1564
        * g95.h (symbol_attributes): New flag always_explicit.
1565
        * resolve.c (resolve_formal_arglist): Set it always_explicit.
1566
        * iresolve.c (g95_resolve_lbound, g95_resolve_ubound): Simplify.
1567
        * trans-array.c (g95_conv_descriptor_dimension): Remove dead assert.
1568
        (g95_trans_array_bounds): Allow assumed shape arrays.
1569
        (g95_trans_repack_array): Remove.
1570
        (g95_trans_dummy_array_bias): Rewite to use descriptorless arrays.
1571
        * trans-decl.c (g95_build_qualified_array): Only ignore absent
1572
        bounds for assumed size arrays.
1573
        (g95_build_dummy_array_decl): Use descriptorless arrays.
1574
        * trans-expr.c (g95_conv_expr_present): Allow descriptorless arrays.
1575
        (g95_trans_pointer_assign): Fix typo.
1576
        * trans-intrinsic.c (g95_conv_intrinsic_function_args): Remove dead
1577
        code.
1578
        (g95_conv_intrinsic_bound): Rewrite to handle descriptorless arrays.
1579
        * trans-types.c (g95_get_nodesc_array_type): Allow non-packed arrays.
1580
        Also modify callers.
1581
        * trans-types.h (g95_get_nodesc_array_type): Modify prototype.
1582
 
1583
2003-03-08  Paul Brook  
1584
 
1585
        * trans-array.c (g95_walk_elemental_functions): Don't reverse the SS.
1586
        (g95_conv_array_ubound): Provide dummy value for assumed size arrays.
1587
        * resolve.c (compare_spec_to_ref): Allow full array sections.
1588
 
1589
2003-03-08  Paul Brook  
1590
 
1591
        * expr.c (g95_simplify_expr): Also simplify array index and
1592
        substring expressions.
1593
        * resolve.c (compare_spec_to_ref): Check for assumed size bounds.
1594
        * trans-array.c (g95_trans_array_bounds): New function.
1595
        (g95_trans_auto_array_allocation): Use it.
1596
        (g95_trans_assumed_size): Rewrite.
1597
        * trans-decl.c (gfor_fndecl_in_pack, gfor_fndecl_in_unpack): Declare.
1598
        (gfor_fndecl_repack): Remove.
1599
        (g95_build_qualified_array): Handle absent upper bounds.
1600
        (g95_build_dummy_array_decl): Assumed shape arrays are descriptorless.
1601
        (g95_get_symbol_decl): Update.
1602
        (g95_build_intrinsic_function_decls): Initialize new decls.
1603
        * trans.h (gfor_fndecl_in_pack, gfor_fndecl_in_unpack): Declare.
1604
        (gfor_fndecl_repack): Remove.
1605
        * trans-io.c (g95_build_io_library_fndecls): Correct prototypes.
1606
        * trans-types.c: (g95_build_array_type): Merge duplicated code..
1607
        (g95_get_nodesc_array_type): Handle absent bounds.
1608
        * trans-types.h (g95_get_nodesc_array_type): Declare.
1609
 
1610
2003-03-04  Paul Brook  
1611
 
1612
        * f95-lang.c (DEF_FUNCTION_TYPE_VAR_3): Define before including
1613
        builtin-types.def.
1614
 
1615
2003-03-02  Paul Brook  
1616
 
1617
        * options.c (g95_init_options): Drfault to 1.
1618
        (g95_pasrse_arg): Add -frepack-arrays, use strcmp.
1619
        * trans-array.c (g95_conv_array_data, g95_conv_array_base,
1620
        g95_conv_array_stride,g95_conv_array_lbound, g95_conv_array_ubound):
1621
        Handle non-constant size automatic arrays.
1622
        (g95_conv_section_upper_bound, g95_conv_section_startstride): Use
1623
        generic bound functions.
1624
        (g95_trans_auto_array_allocation): Don't create a descriptor.
1625
        (g95_trans_assumed_size): New function (broken).
1626
        (g95_trans_dummy_array_bias): Remove unused var.
1627
        * trans-array.h (g95_trans_assumed_size): Declare.
1628
        * trans-decl.c (create_index_var): New fuction.
1629
        (g95_build_qualified_array): New function.
1630
        (g95_get_symbol_decl): Use it.
1631
        (g95_trans_deferred_vars): Handle assumed shape seperately.
1632
        * trans-types.c (get_element_type): Handle heap allocated arrays.
1633
        (g95_is_nodesc_array): Include non-const size arrays.
1634
        (g95_get_nodesc_array_type): Ditto.
1635
 
1636
2003-02-23  Paul Brook  
1637
 
1638
        * trans-array.c (g95_array_init_size): Should use stride, not size of
1639
        last dimension.
1640
 
1641
2003-02-18  Paul Brook  
1642
 
1643
        * trans-expr.c (g95_trans_arrayfunc_assign): Nove elemental check
1644
        after intrinsic function check.
1645
 
1646
2003-02-18  Arnaud Desitter  
1647
 
1648
        * io.c (match_io): Fix missing return value and remove useless
1649
        assignment.
1650
        * match.c (g95_match): Remove useless assignment.
1651
        * module.c (parse_string):  Remove useless post increment.
1652
        * simplify.c (g95_simplify_verify): Remove useless assignment.
1653
 
1654
2003-02-15  Paul Brook  
1655
 
1656
        * expr.c (restricted_intrinsic): Handle bad values gracefully.
1657
        * g95.h (symbol_attribute): Add referenced member.
1658
        (g95_symbol): Add dummy_order member.
1659
        (g95_set_sym_referenced): Declare.
1660
        * match.c (g95_match_assignment, g95_match_call): Use it
1661
        * primary.c (match_actual_arg, g95_match_rvalue,
1662
        g95_match_variable): Ditto.
1663
        * symbol.c (next_dummy_order): New variable.
1664
        (g95_set_sym_referenced): New function.
1665
        (check_done): New function.
1666
        (g95_add_*): Use it.
1667
        * trans-decl.c: Make formatting conform to GCC standards.
1668
        (g95_defer_symbol_init): Add dummy variables in the right order.
1669
        (g95_get_symbol_decl): Only accept referenced variables.
1670
        (g95_create_module_variable): Module variables are always required.
1671
        (generatr_local_decls): New function.
1672
        (generate_local_vars): New function.
1673
        (g95_generate_function_code): Use it.
1674
 
1675
2003-02-13  Paul Brook  
1676
 
1677
        * trans-decl.c (g95_conv_struct_cons): Remove.
1678
        (g95_get_symbol_decl): Use g95_conv_expr for structure initializers.
1679
        * trans-expr.c (g95_conv_structure): New function.
1680
        (g95_conv_expr): Use it.
1681
 
1682
2003-02-09  Paul Brook  
1683
 
1684
        * trans-array.c (g95_array_init_size): Don't evaluate the linit
1685
        expressions multiple times.
1686
        (g95_trans_auto_arry_allocation): Use pointer not tmp.
1687
 
1688
2003-02-08  Paul Brook  
1689
 
1690
        * module.c (mio_symtree_ref): Declare as static.
1691
        (mio_expr): Remove dead code.
1692
        (read_module): Set the symtree link for fixups.
1693
        * trans-intrinsic.c (g95_conv_intrinsic_round): Rename...
1694
        (build_round_expr): ... to this.
1695
        (g95_conv_intrinsic_aint): New function.
1696
        (g95_conv_intrinsic_function): Use it.
1697
 
1698
2003-02-08  Paul Brook  
1699
 
1700
        * trans-array.c (g95_trans_array_constructor_value): Use the acutal
1701
        offset after modificaton, not the increment expression.
1702
        * dependency.c: Kill excess whitespace.
1703
 
1704
2003-02-07  Sanjiv Gupta  
1705
 
1706
        * dependency.h: Remove some function declarations.
1707
        * dependency.c (get_no_of_elements): Change this function not to
1708
        return int.
1709
        * other: Add comments for all modified functions.
1710
 
1711
2003-02-06  Paul Brook  
1712
 
1713
        * g95spec.c (lang_specific_functions): Fix initializer warning.
1714
        * dump-parse-tree.c (g95_show_expr): Use typespec instead of symtree
1715
        for structure type names.
1716
        * trans-decl.c (g95_cons_structure_cons): New function.
1717
        (g95_get_symbol_decl): Use it.
1718
        * trans-expr.c (g95_conv_component_ref): Remove duplicate pointer
1719
        referencing code.
1720
 
1721
2003-02-06  Arnaud Desitter  
1722
 
1723
        * resolve.c (compare_cases): Add const to casts.
1724
 
1725
2003-01-30  Arnaud Desitter  
1726
 
1727
        * g95.h (g95_check_f): Change a1 to f1m.
1728
        * intrinsic.c (add_sym_1m, check_specific,
1729
        g95_intrinsic_func_interface): Use it.
1730
 
1731
        * module.c (init_pi_tree): Remove useless cast.
1732
        (fp2): Fix argument type.
1733
 
1734
        * parse.c (parse_select_block): Add comment.
1735
 
1736
2003-02-05  Toon Moene  
1737
 
1738
        * lang-options.h: Fix warning involving C90 concatenated
1739
        strings.
1740
 
1741
2003-02-06  Steven Bosscher  
1742
            Arnaud Desitter  
1743
 
1744
        * io.c (format_asterisk): Complete initializer to kill warning.
1745
        * arith.c (DEF_G95_INTEGER_KIND, DEF_G95_LOGICAL_KIND,
1746
        DEF_G95_REAL_KIND, MPZ_NULL, MPF_NULL): New #defines.
1747
        (g95_integer_kinds, g95_logical_kinds, g95_real_kinds): Use the
1748
        new defines to complete initializers.  Kills all warnings.
1749
 
1750
        * Make-lang.in: Comment cleanup.
1751
 
1752
2003-02-05  Paul Brook  
1753
 
1754
        * array.c (g95_free_constructor): Handle NULL expressions.
1755
        * resolve.c (resolve_structure_cons): Ditto.
1756
        * decl.c (g95_match_null): New Function.
1757
        (variable_decl): Use it.
1758
        * module.c (mio_expr): Don't bother saving symtree for EXPR_STRUCTURE.
1759
        * primary.c (g95_match_runtime): Don't use symtree for EXPR_STRUCTURE.
1760
        * trans-types.c (g95_set_decl_attributes): Remove empty function.
1761
 
1762
2003-02-05  Paul Brook  
1763
 
1764
        * trans.h (build1_v): New macro.
1765
        (build_v): Remove pointless and incorrect prototype.
1766
        * various: Use build1_v for GOTO_EXPR and LABEL_EXPRs.
1767
        * f95-lang.c (g95_init_builtin_decls): DEF_BUILTIN takes 10 args.
1768
 
1769
2003-02-01  Steven Bosscher  
1770
 
1771
        * Make-lang.in (F95_OBJS): Remove one more dead file.
1772
 
1773
2003-02-01  Paul Brook  
1774
 
1775
        * lang-specs.h: Don't pass -ffixed-form to the linker.
1776
        * trans-decl.c (g95_generate_function_code): Clear saved decl chain.
1777
 
1778
2003-02-01  Paul Brook  
1779
 
1780
        * Make-lang.in (F95_OBJS): Remove dead files.
1781
        * trans-array.c (g95_array_init_size): Do the right thing when
1782
        ubound=NULL.
1783
        * trans-decl.c (g95_generate_function_code): Initialize deffered
1784
        symbol list before translating contained subroutines.
1785
        * trans-expr.c (g95_conv_expr, g95_conv_expr_reference): Substitute
1786
        scalar invariant values here...
1787
        (g95_conv_variable, g95_conv_function_call): ... instead of here ...
1788
        * trans-intrinsic.c (g95_conv_intrinsic_function_args): .. and here.
1789
 
1790
2003-01-29  Paul Brook  
1791
 
1792
        * trans-array.c (g95_add_loop_code): Put pre code in the right block.
1793
        (g95_walk_elemental_function_args): Reverse chains before adding.
1794
        (g95_reverse_ss): Move about a bit.
1795
        * trans-expr.c (g95_conv_function_call): Handle scalar intrinsic
1796
        function arguments.
1797
 
1798
2003-01-28  Paul Brook  
1799
 
1800
        * intrinsic.c (resolve_intrinsic): Use correct union member.
1801
        * trans-array.c (g95_trans_dummy_array_bias): Don't touch absent
1802
        parameters.
1803
        * trans-decl.c (g95_get_symbol_decl): Don't translate initializers for
1804
        use associated variables.
1805
        * trans-intrinsic.c (g95_conv_intrinsic_present): Move body ...
1806
        * trans-expr.c (g95_conv_expr_present): ... to here.
1807
        * trans.h: Declare it.
1808
        * trans-types.c (g95_sym_type): Assume subroutine if not specified.
1809
 
1810
2003-01-28  Arnaud Desitter  
1811
 
1812
        * array.c (expand_iterator): Suppress useless assignment.
1813
        * decl.c (match_char_spec): Ditto.
1814
        * io.c (match_io_iterator): Ditto.
1815
        * primary.c (match_real_constant): Ditto.
1816
        * interface.c (fold_unary, g95_free_interface, g95_extend_expr):
1817
        Ditto.  Also, use g95_intrinsic_op not int for intrinsic operators.
1818
        * matchexp.c (match_add_operand, match_level_5): Likewise.
1819
        * module.c (parse_atom, find_enum): Likewise.
1820
        * resolve.c: move #include 
1821
        (resolve_select): Fix serious typo.
1822
 
1823
2003-01-28  Steven Bosscher  
1824
 
1825
        * Make-lang.in: Don't build with broken tree-ssa-pre.
1826
 
1827
2003-01-28  Steven Bosscher  
1828
 
1829
        * resolve.c (resolve_index): Add a TODO.
1830
        * symbol.c: Remove useless "#include ".
1831
 
1832
2003-01-27  Paul Brook  
1833
 
1834
        * check.c (check_rest): Allow different type kinds as an extension.
1835
        * g95.h (g95_resolve_f): Add f1m.
1836
        * intrinsic.c (add_sym_1m, resolve_intrinsic): Use it.
1837
        * intrinsic.h: Chenge prototypes for MIN and MAX.
1838
        * iresolve.c (g95_resolve_minmax): New function.
1839
        (g95_resolve_min, g95_resolve_max): Use it.
1840
        * trans-intrinsic.c (g95_trans_intrinsic_minmax): Only evaluate
1841
        arguments once.
1842
        (g95_conv_intrinsic_present): Fix logic.
1843
 
1844
2003-01-27  Steven Bossche  
1845
 
1846
        * g95.h (g95_case): Don't be a tree, be a double linked list.
1847
        * match.c (match_case_selector): Remove redundant semantics check.
1848
        Clean up a few goto's to make it a tiny little bit faster.
1849
        * resolve.c (case_tree): Die.
1850
        (compare_cases): Accept and compare unbounded cases too.
1851
        (check_case_overlap): Don't build a tree.  Instead, merge-sort the
1852
        whole list of g95_cases passed from resolve_select.
1853
        (sane_logical_select): Die.
1854
        (check_case_expr): Return FAILURE if a CASE label is of the wrong
1855
        type kind.
1856
        (resolve_select): Fixup case expression for computed GOTOs, put it
1857
        in expr, not expr2, for easier handing in the parse tree dumper and
1858
        the code generator.  Rewrite the rest of the function: Kill
1859
        unreachable case labels and unreachable case blocks.
1860
        * dump-parse-tree.c (g95_show_code_node): Always dump expr for
1861
        an EXEC_SELECT, not case2 anymore.
1862
        * trans-const.c (g95_conv_constant_to_tree): New function.
1863
        (g95_conv_constant): Use it.
1864
        * trans-const.h: Declare prototype for the new function.
1865
        * trans-stmt.c (g95_trans_integer_select, g95_trans_logical_select,
1866
        g95_trans_character_select): New static functions.
1867
        (g95_trans_select): Rewrite.
1868
 
1869
2003-01-26  Paul Brook  
1870
 
1871
        * intrinsic.c (add_fnctions): Properly add dreal.
1872
        * trans-intrinsic.c (g95_conv_intrinsic_present): New function.
1873
        (g95_conv_intrinsic_function): Use it.
1874
        * trans-io.c (build_dt): Abort on internal files (unimplemented).
1875
 
1876
2003-01-26  Paul Brook  
1877
 
1878
        Widespread changes to the handling of symbols in expressions.  These
1879
        are now linked via g95_symtree nodes.
1880
        * parse.c (g95_fixup_sibling symbols): New function.
1881
        (parse_contained): Use it.
1882
        * g95.h (symbol_attribute): Add contained.  Indicates a symbol is a
1883
        contained procedure that has bee correctly fixed up.
1884
        (g95_code, g95_expr): Point to a g95_symtree, not a g95_symbol.
1885
 
1886
2003-01-24  Paul Brook  
1887
 
1888
        * trans-array.c (g95_walk_expr): Function result attributes are in
1889
        sym->result.
1890
        * trans-expr.c (g95_conv_function_call,
1891
        g95_trans_arrayfunc_assign): Ditto.
1892
        * trans-decl.c (g95_get_symbol_for_expr): Set sym->result.
1893
 
1894
2003-01-23  Steven Bosscher  
1895
 
1896
        * expr.c (check_restricted): Fix error message.
1897
        * symbol.c (free_st_labels): Plug memleak.
1898
 
1899
2003-01-22  Steven Bosscher  
1900
 
1901
        * arith.c (reduce_unary, reduce_binary_ac, reduce_binary_ca,
1902
        reduce_binary_aa, reduce_binary, eval_intrinsic,
1903
        eval_intrinsic_f2): Use typesafe prototypes for eval functions.
1904
        * g95.h (g95_check_f, g95_simplify_f, g95_resolve_f): New unions
1905
        for typesafe intrinsics helper functions.
1906
        (g95_intrinsic_sym): Use them.
1907
        * intrinsic.c (do_check, add_sym, add_sym_0, add_sym_1,
1908
        add_sym_1s, add_sym_1m, add_sym_2, add_sym_3, add_sym_4,
1909
        add_sym_5, add_conv, resolve_intrinsic, do_simplify,
1910
        check_specific, g95_intrinsic_func_interface,
1911
        g95_intrinsic_sub_interface): Adjust all calls to intrinsics
1912
        helper functions.
1913
        * trans-decl.c (g95_get_extern_function_decl): Likewise.
1914
        * Make-lang.in: Don't disable warnings for strict prototypes
1915
        any longer, everything is typesafe now.
1916
 
1917
2003-01-22  Steven Bosscher  
1918
 
1919
        * bbt.c (duplicate_node): Make static.
1920
        * module.c (module_name): Make static.
1921
        * scanner.c (include_dirs): Make static.
1922
 
1923
2003-01-20  Steven Bosscher  
1924
 
1925
        Hard coded _gfor_'s should not show up anymore.
1926
        * g95.h (PREFIX): New macro.
1927
        * iresolve.c (g95_resolve_cpu_time): Use PREFIX, not
1928
        hard-coded "_gfor".
1929
        (g95_resolve_random_number): Likewise.
1930
        * trans-decl.c (g95_build_intrinsic_function_decls): Likewise.
1931
        * trans-io.c: Remove 'prefix' macro.  Replace all uses with
1932
        the new PREFIX macro from g95.h.
1933
 
1934
2003-01-20  Steven Bosscher  
1935
 
1936
        The troubles of forking... Andy implemented this just now too.
1937
        Let's stick to that and keep the trees close.
1938
        * g95.h (g95_st_label): 'format' member is now a g95_expr.
1939
        * io.c: Revert previous changes.
1940
        (g95_match_format): Match the format string as a character
1941
        literal expression.
1942
        * match.h (g95_statement_label): Declare external.
1943
        * parse.c: Revert previous changes.
1944
        * symbol.c (g95_free_st_label): Free a g95_expr instead
1945
        if a 'char *'.
1946
        * trans-io.c: Revert previous changes.
1947
        (build_dt): Use set_string to set the format string.
1948
 
1949
2003-01-20  Steven Bosscher  
1950
 
1951
        * io.c (format_string): Make non-static.
1952
        (g95_match_format): Remember the format string.
1953
        (terminate_io): Add I/O termination for empty I/O lists.
1954
        * match.h: Declare external format_string.
1955
        * parse.c (check_statement_label): Attack the format string
1956
        to a format label for FORMAT statements.
1957
        * trans-io.c (g95_add_field): Define prefix macro.  Replace
1958
        all uses of PREFIX define with a use of this macro.
1959
        (build_dt): Implement formatted I/O for format labels.
1960
 
1961
2003-01-20  Steven Bosscher  
1962
 
1963
        * lang-options.h: Kill "-std=F".
1964
        * options.c: Remove unimplemented "-std=F".  Modify
1965
        web address.
1966
        * misc.c (g95_terminal_width): New function.
1967
        * error.c (g95_error_init_1): Use g95_terminal_width.
1968
        * g95.h: Add prototype for g95_terminal_width, remove
1969
        fmode flag.
1970
 
1971
2003-01-19  Steven Bosscher  
1972
 
1973
        * Make-lang.in: Fix typo.
1974
 
1975
2003-01-18  Steven Bosscher  
1976
 
1977
        * g95.h (struct g95_case): Remove unused cruft, new member
1978
        'where' to keep track of the locus of the default case.
1979
        * match.c (g95_match_case): Add locus to the current case.
1980
        (match_case_selector): Likewise.
1981
        * parse.c (parse_select_block): Move semantics check for
1982
        multiple DEFAULT cases out of here to...
1983
        * resolve.c (check_case_overlap): ...here.  Return sooner
1984
        when possible.
1985
        (check_case_expr): Take two g95_cases now, use to sure the
1986
        expression kinds are the same.
1987
        (resolve_select): Cleanup.
1988
 
1989
2003-01-18  Paul Brook  
1990
 
1991
        * trans-io.c: Fix typos in ported IO work (set_fla[tg]).
1992
        * trans-decl.c (g95_set_symbol_decl): Handle non-array result
1993
        variables.
1994
        (g95_get_extern_function_decl): Put decls in the correct context.
1995
 
1996
2003-01-18  Steven Bosscher  
1997
 
1998
        * trans-io.c: Port changes from Andy to set ERR flag.
1999
 
2000
2003-01-17  Paul Brook  
2001
 
2002
        * trans-array.c: Add various comments.
2003
        (g95_ss_terminator): Declare as const.
2004
        (g95_walk_expr): Remove first parameter and update all callers.
2005
        (g95_walk_op_expr): Initialize scalar SS properly.
2006
        * trans-array.h (g95_walk_expr): Update prototype.
2007
        * trans-expr.c: Update for new g95_walk_expr.
2008
        * trans-intrinsic.c: Ditto.
2009
        * trans-io.c: Ditto.
2010
        * trans.h: Various comments for SS chains.
2011
 
2012
2003-01-17  Paul Brook  
2013
 
2014
        * intrinsic.h (g95_generic_isym_id): Add G95_ISYM_S?_KIND, SPACING
2015
        and RRSPACING.
2016
        * intrinsic.c (add_functions): Use them.
2017
        * trans-intrinsic.c (g95_conv_intrinsic_function): Ditto.
2018
        * trans-expr.c (g95_conv_expr_lhs): Abort on impossible error.
2019
 
2020
2003-01-17  Steven Bosscher  
2021
 
2022
        Fallout of a small merge conflict:
2023
        * intrinsic.c: Un-revert lost patch (G95_ISYM_SCALE).
2024
 
2025
2003-01-17  Steven Bosscher  
2026
 
2027
        * initrinsic.c: New add_sym_* functions for strong typing.
2028
        (add_conv): Make prototype strict.
2029
        * dump-parse-tree.c, dependency.c: Include config.h
2030
        * resolve.c, trans-io.c: Fix typos.
2031
 
2032
2003-01-17  Steven Bosscher  
2033
 
2034
        * dump-parse-tree.c (g95_show_code_node): Show the
2035
        condition for a computed GOTO that was transformed
2036
        to a SELECT CASE construct.
2037
        * resolve.c (check_case_overlap): Revert previous switch
2038
        to treaps, it was too slow and didn't catch all trouble.
2039
        (resolve_symbol): Be more flexible about module procedures.
2040
        * symbol.c (check_conflict): Point to relevant section in
2041
        the standard for dubious conflict.  Allow procedure
2042
        dummy arguments to be optional again.
2043
        * trans-io (add_field): Rename to g95_add_field.  Change
2044
        all callers.
2045
        * trans-stmt (trans_select): Handle unbounded cases for
2046
        integer SELECT CASE constructs.  Fix/add more comment.
2047
 
2048
2003-01-17  Steven Bosscher  
2049
 
2050
        * g95.h: Uses GCC's function attribute macros.
2051
        * error.c, module.c, parse.c, g95.h: More function attributes.
2052
 
2053
2003-01-16  Steven Bosscher  
2054
        Forgot a file...
2055
        * trans-decl.c (get_label_decl): Use TREE_LINENO instead
2056
        of DECL_SOURCE_LINE, and TREE_FILENAME instead of
2057
        DECL_SOURCE_FILE.
2058
 
2059
2003-01-16  Steven Bosscher  
2060
 
2061
        * f95-lang.c (pushdecl): Use TREE_LINENO instead of
2062
        DECL_SOURCE_LINE.
2063
        * trans.c (g95_trans_code): Use annotate_all_with_file_line
2064
        instead of nowdead wrap_all_with_wfl.
2065
 
2066
2003-01-14  Steven Bosscher  
2067
 
2068
        * parse.c (g95_parse_file): In verbose mode, dump the parse tree
2069
        before generating code, so we can still see it even if the code
2070
        generation phase dies.
2071
 
2072
2003-01-14  Steven Bosscher  
2073
 
2074
        * decl.c (build_sym): Split out initialization expression parts...
2075
        (add_init_expr_to_sym): ...to here.
2076
        (variable_decl): Add the symbol following an attribute list to the
2077
        symbol tree before parsing the optional initialization expression
2078
        if the symbol is not of a derived type.
2079
        * primary.c (g95_match_rvalue): Don't assume a symbol always has
2080
        a value if it is a PARAMETER.
2081
 
2082
2003-01-14  Steven Bosscher  
2083
 
2084
        * misc.c: Don't #include 
2085
        * module.c: Ditto.  Kill uses of mtrace, muntrace.  If there
2086
        ever was a glibc bug, then either this was never reported to
2087
        glibc people, or it has been fixed for so long that there's
2088
        no information you can find about it, anywhere.
2089
 
2090
2003-01-14  Steven Bosscher  
2091
 
2092
        Fix warnings:
2093
        * module.c (attr_bits, bt_types, array_spec_types):
2094
        Switch 'const' and 'static'.
2095
        * iresolve.c (g95_resolve_reshape): Make __resolve0 non-'const'.
2096
 
2097
        GNU'ify source code:
2098
        * trans-io.c: Numerous fixes, one fixed warning and a few
2099
        TODO markers so that we don't forget about them.
2100
 
2101
2003-01-13  Paul Brook  
2102
 
2103
        * intrinsic.c (add_functions): Add G95_ISYM_SCALE.
2104
        * intrinsic.h (g95_generic_isym_id): Remove bogus G95_ISYM_ANINIT.
2105
        Add G95_ISYM_SCALE.
2106
        * trans-intrinsic.c (g95_conv_intrinsic_function): Ditto
2107
        * match.c (g95_match_stop): Fix dumb == -> != error.
2108
 
2109
2003-01-13  Steven Bosscher  
2110
 
2111
        * dump-parse-tree.c (show_indent): Add line breaks.  This
2112
        whole dumping process needs cleanups.
2113
        * f95-lang.c (g95_mark_addressable): Fix prototype to match
2114
        the langhook.  Fix 'return's accordingly.
2115
        * g95-support.h: Adjust prototype.
2116
        * g95.h: Add 'no_backend' member to 'g95_option_t' struct.
2117
        * lang-options.h: Add '-fsyntax-only'.
2118
        * options.c (g95_init_options): Init 'no_backend'.
2119
        (g95_parse_arg): Deal with '-fsyntax-only'.
2120
        * parse.c (g95_parse_file): Do not generate code if 'no_backend'
2121
        is set.
2122
 
2123
2003-01-13  Steven Bosscher  
2124
        Patch from Arnaud
2125
        * resolve.c (resolve_symbol): Assumed shape arrays must be dummy
2126
        arguments.  Also make sure that if a symbol is marked INTRINSIC,
2127
        an intrinsic with the symbol's name actually exists.
2128
        (check_conflict): Make EXTERNAL and DIMENSION attributes conflict.
2129
        Do not allow PROCEDURES to have the SAVE, POINTER, TARGET,
2130
        ALLOCATABLE, RESULT, IN_NAMESPACE, OPTIONAL or FUNCTION attribute.
2131
 
2132
2003-01-13  Steven Bosscher  
2133
 
2134
        * resolve.c (resolve_contained_functions): Fix condition, don't
2135
        throw internal_error if a child namespace has no name.  Apparently
2136
        this can be the case?
2137
 
2138
2003-01-11  Paul Brook  
2139
 
2140
        Port changes from Andy's tree:
2141
        * g95.h (g95_code): Add stop_code.
2142
        * match.c (g95_match_stop): Detter syntax checking.
2143
        * resolve.c (resolve_generic_f0): Return match type.
2144
        (resolve_generic_f): Remove dead/duplicated code.
2145
        (resolve_specific_f): Ditto.
2146
        * dump-parse-tree.c (g95_show_code_node): Handle new STOP format.
2147
        * trans-decl.c (gfor_fndel_stop_*): New fndecl nodes.
2148
        * trans-stmt.c (g95_trans_stop): Handle new STOP format.
2149
 
2150
2003-01-11  Paul Brook  
2151
 
2152
        * trans-array.c: Various documentation/comment changes.
2153
        * trans-stmt.c: Ditto.
2154
 
2155
 
2156
2003-01-10  Paul Brook  
2157
 
2158
        * options.c/h: Add -fdump-parse-tree as alias of -v.
2159
 
2160
2003-01-10  Steven Bosscher  
2161
 
2162
        * dump-parse-tree.c (g95_show_namespace): Fixed another
2163
        typo.  Sorry, it's Friday...
2164
 
2165
2003-01-10  Steven Bosscher  
2166
 
2167
        Spotted by Tobi:
2168
        * trans-array.c, trans-array.h, trans.c, trans-const.c,
2169
        trans-const.h, trans-decl.c, trans-expr.c, trans.h
2170
        trans-intrinsic.c, trans-io.c, trans-stmt.c, trans-stmt.h
2171
        trans-types.c: Fix bogus copyright years, add 2003.
2172
        * trans-types.h: Give copyright header.
2173
 
2174
2003-01-10  Steven Bosscher  
2175
 
2176
        * dump-parse-tree.c (g95_show_namespace): Fixed typo.
2177
        * expr.c, options.c, scanner.c: Add some more 'const' markers.
2178
        * intrinsic.c: Some constant strings moved to read-only memory.
2179
        * io.c (format_asterisk): Move to...
2180
        * g95.h: ...here.
2181
 
2182
2003-01-10  Steven Bosscher  
2183
 
2184
        * dump-parse-tree.c (g95_show_namespace): Dump implicit
2185
        types for ranges instead of per-letter.  Indent the
2186
        'CONTAINS' just like everything else.
2187
        * resolve.c (resolve_contained_functions): Clarify comment.
2188
        Explain non-obvious conditional expression.  Improve
2189
        diagnostics if tyoe cannot be resolved.
2190
        Port semi-fix from Andy's tree:
2191
        (was_declared): Move up before first use.
2192
        (generic_sym, specific_sym): New functions.  Code moved
2193
        out if procedure_kind.
2194
        (procedure_kind): Simplify using new functions.
2195
        (resolve_generic_f): Make sure the functions we find in
2196
        a parent namespace is generic.
2197
        (resolve_specific_f): Ditto for specific functions.
2198
 
2199
2003-01-10  Steven Bosscher  
2200
 
2201
        * trans-stmt.c, trans.c: Fix some code style issues. Add
2202
        some more comment (but still not enough!).
2203
 
2204
2003-01-10  Steven Bosscher  
2205
 
2206
        * symbol.c (flavors, procedures, intents, acces_types,
2207
        access_types, ifsrc_types): Make const.
2208
        * misc.c (g95_string2code): Make 'm' param 'const'.
2209
        * module.c (find_enum, write_atom, mio_name): Make
2210
        'm' param 'const'.
2211
        (attr_bits, bt_types, array_spec_types, array_ref_types,
2212
        ref_types, expr_types): Make const.
2213
        * g95.h: Adjust external decls.
2214
 
2215
2003-01-09  Paul Brook  
2216
 
2217
        * Testsuite: Add a load of new cases.
2218
 
2219
2003-01-08  Steven Bosscher  
2220
 
2221
        * Make-file.in: Add dependency on back end header files;
2222
        a parallel build should work now.
2223
        * f95-lang-c (lang_identifier): Remove bogus comment.
2224
        (g95_be_parse_file): Fix prototype.
2225
        (g95_init): Make static.
2226
        (g95_finish): Make static.
2227
        * error.c (g95_syntax_error): Kill. Make define in...
2228
        * g95.h (g95_syntax_error): Define.
2229
        (g95.options): Make 'source' member 'const'.
2230
        * interface.c (g95_match_interface): Explain
2231
        hard-to-read condition.
2232
        (g95_match_end_interface): Ditto.
2233
        * trans_const.c (g95_build_string_const): Make 's' parameter
2234
        'const'.
2235
        * trans_const.h: Adjust protoype accordingly.
2236
        * trans-decl.c: Include tree-dump.h
2237
        (g95_generate_function_code): Build fixes for recent changes
2238
        in the tree-ssa branch.
2239
 
2240
2003-01-08  Steven Bosscher  
2241
 
2242
        * format.c: Kill, move code from here...
2243
        * io.c: ...to here.
2244
        * Make-lang.in: Adjust.
2245
        * MANIFEST: Ditto.
2246
        * match.h: Ditto.
2247
        * BUGS: Mention where to submit bugs.  Move old content...
2248
        * TODO: ...to here.  New file.
2249
 
2250
2003-01-08  Steven Bosscher  
2251
        Fix most warnings, and suppress the ones we can't fix for now.
2252
        * Make-lang.in: Suppress warnings about bad proto's in g95.h,
2253
        these warnings just clutter the screen and there's not much
2254
        we can do about them for now anyway.
2255
        * check.c, iresolve.c: Mark unused function parameters.
2256
        * dump-parse-tree.c (g95_show_array_spec): Punt on AS_UNKNOWN,
2257
        they should be resolved before they get here.
2258
        * error.c: Remove unused FILE *status_out.
2259
        * f95-lang.c (g95_init): Remove bogus cast.
2260
        * Many files: Make things 'const' where required.
2261
        * g95.h: Fix prototypes for all modified functions above.
2262
        (g95_options): Remove 'object' member.
2263
 
2264
2003-01-07  Steven Bosscher  
2265
 
2266
        * Make-file.in: Cleanup bogus targets.  Add more comment.
2267
        * lang-options.h: New option '-w'.
2268
        * g95.h: add no_options field to struct g95_options.
2269
        * options.c (g95_init_options): Default no_warnings to off.
2270
        (g95_parse_arg): Recognise the '-w' switch and its alias,
2271
        '-fno-warnings'.
2272
        * error.c (g95_warning, g95_warning_now): Don't emit warning if
2273
        no_warning option is set.
2274
        * iresolve.c (g95_resolve_shape): Fix warning.
2275
 
2276
2003-01-07  Steven Bosscher  
2277
 
2278
        * primary.c (g95_next_string_char): Rename next_string_char, and
2279
        make static.  Adjust callers accordingly.
2280
        * resolve.c (resolve_generic_f0): Return try, not match.  Adjust
2281
        callers accordingly.
2282
        * g95.h: Split out all g95_match* functions to...
2283
        * match.h: ...here. New file.
2284
        * array.c, decl.c, expr.c, format.c, interface.c, io.c, match.c,
2285
        matchexp.c, module.c, parse.c, primary.c: Inlcude match.h
2286
 
2287
2003-01-07  Steven Bosscher  
2288
 
2289
        * symbol.c (g95_clear_new_implicit, g95_add_new_implicit_range,
2290
        g95_merge_new_implicit): New functions.
2291
        (g95_match_implicit_none, g95_match_implicit): Move from here...
2292
        * match.c (g95_match_implicit_none, g95_match_implicit): ... to here.
2293
        Modify to use the new functions in symbol.c.
2294
        * g95.h: Add and move prototypes.
2295
 
2296
2003-01-06  Steven Bosscher  
2297
 
2298
        * bbt.c (insert): Use a typedef'ed compare_fn prototype for the
2299
        node compare function.
2300
        (g95_insert_bbt): Likewise.
2301
        (g95_insert_bbt_with_overlap): Likewise.
2302
        (g95_delete_bbt): Likewise.
2303
        (delete_treap): Likewise. Also fix a potential bug when calling it.
2304
        * module.c (compare_pointers): Change proto to compare_fn.
2305
        (compare_integers): Likewise.
2306
        (compare_true_names): Likewise.
2307
        (find_true_name): Adjust call to compare_true_names to match proto.
2308
        (require_atom, write_atom, mio_name): Fix 'const' warnings.
2309
        (init_pi_tree): Make compare a compare_fn instead of (int *).
2310
        * resolve.c (compare_cases): Change proto to compare_fn.
2311
        * symbol.c (g95_compare_symtree): Change proto to compare_fn, make
2312
        it static, and rename to compare_symtree.
2313
        (delete_symtree, g95_undo_symbols, g95_new_symtree): Use renamed
2314
        function.
2315
        * g95.h: Kill g95_compare_symtree prototype. Adjust prototypes
2316
        of g95_insert_bbt, g95_insert_bbt_with_overlap, and g95_delete_bbt.
2317
 
2318
2003-01-06  Steven Bosscher  
2319
        * Make-lang.in: Fix spaces/tabs issues from previous patch.
2320
        * patch.options: Blow away Paul's checkin mistake :-)
2321
        * io.c (terminate_io): Fix memory leak (Arnaud).
2322
 
2323
2003-01-06  Steven Bosscher  
2324
 
2325
        * Make-lang.in: Teach about building DVI, info manual.
2326
        * g95.texi: New file.
2327
 
2328
2003-01-02  Paul Brook  
2329
 
2330
        * trans-array.c (g95_reverse_ss): Make static and don't use.
2331
        (g95_conv_ss_descriptor): Don't use g95_loopinfo
2332
        (g95_conv_array_parameters): Modify for pointer assignments.
2333
        (g95_walk_subexpr): New function.
2334
        (g95_walk_expr*): Use it.
2335
        * trans-array.h (g95_reverse_ss): Remove prototype.
2336
        * trans-expr.c (g95_trans_pointer_assign): Implement.
2337
        (Many): Set se.want_pointer before calling g95_conv_array_parameter.
2338
        * trans-intrinsic.c: Sync with scalarizer changes.
2339
        * trans-io.c: Ditto.
2340
 
2341
 
2342
Copyright (C) 2003 Free Software Foundation, Inc.
2343
 
2344
Copying and distribution of this file, with or without modification,
2345
are permitted in any medium without royalty provided the copyright
2346
notice and this notice are preserved.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.