]> gcc.gnu.org Git - gcc.git/blame - gcc/fortran/ChangeLog
repairing ChangeLog for my last commit
[gcc.git] / gcc / fortran / ChangeLog
CommitLineData
3afadac3
JW
12009-04-07 Janus Weil <janus@gcc.gnu.org>
2
c22ba5ff 3 PR fortran/38290
3afadac3
JW
4 * expr.c (gfc_check_pointer_assign): Enable interface check for
5 procedure pointers.
6 * gfortran.h: Add copy_formal_args_intr.
7 * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces
8 if second argument is an intrinsic.
9 (compare_intr_interfaces): Correctly set attr.function, attr.subroutine
10 and ts.
11 (compare_parameter): Call gfc_compare_interfaces also for intrinsics.
12 * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve
13 intrinsic interfaces here. Must happen earlier.
14 (resolve_symbol): Resolution of intrinsic interfaces moved here from
15 resolve_specific_..., and formal args are now copied from intrinsic
16 interfaces.
17 * symbol.c (copy_formal_args_intr): New function to copy the formal
18 arguments from an intinsic procedure.
19
ea0a374b
PT
202009-04-06 Paul Thomas <pault@gcc.gnu.org>
21
22 PR fortran/38863
23 * dependency.c (ref_same_as_full_array): New function.
24 (gfc_dep_resolver): Call it.
25
1d146030
JW
262009-04-06 Janus Weil <janus@gcc.gnu.org>
27
28 PR fortran/39414
29 * decl.c (match_procedure_decl): Fix double declaration problems with
30 PROCEDURE statements.
31 * symbol.c (gfc_add_type): Ditto.
32
59e36b72
PT
332009-04-06 Paul Thomas <pault@gcc.gnu.org>
34
35 PR fortran/36091
36 * trans-array.c (gfc_conv_array_ref): If the symbol has the
37 temporary attribute use the array_spec for the bounds.
38 * gfortran.h : Add the temporary field to the structure
39 'symbol_attribute'.
40 * trans-stmt.c (forall_make_variable_temp): Set the symbol's
41 temporary attribute.
42
beb64b4a
DF
432009-04-05 Daniel Franke <franke.daniel@gmail.com>
44
45 PR fortran/29458
46 * trans-array.c (gfc_trans_array_constructor_value): Shadow
47 implied do-loop variable to avoid spurious middle-end warnings.
48
cf7d2eb0
TB
492009-04-04 Tobias Burnus <burnus@net-b.de>
50
51 PR fortran/39577
52 * trans-decl.c (gfc_generate_function_code): Move recursive
53 check to the right position.
54
6f85546f
PT
552009-04-04 Paul Thomas <pault@gcc.gnu.org>
56
57 PR fortran/37614
58 * trans-common.c (translate_common): Do not offset the whole
59 coomon block.
60
6f9c9d6d
TB
612009-04-03 Tobias Burnus <burnus@net-b.de>
62
63 PR fortran/39594
64 * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
65 if it is not a procedure pointer.
66 * primary.c (match_actual_arg): Ditto.
67
47580d22
JM
682009-03-31 Joseph Myers <joseph@codesourcery.com>
69
70 PR preprocessor/15638
71 * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL.
72
3759634f
SK
732009-03-30 Steven G. Kargl <kargls@comcast.net>
74
75 PR fortran/38389
76 * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG.
77 (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale
78 comments. Minor whitespace cleanup.
79 * resolve.c(is_scalar_expr_ptr): Whitespace cleanup.
80 (resolve_deallocate_expr (gfc_expr *e): Update error message.
81 (resolve_allocate_expr): Remove dead code. Update error message.
82 Move error checking to ...
83 (resolve_allocate_deallocate): ... here. Add additional error
84 checking for STAT, ERRMSG, and allocate-objects.
85 * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG.
86 Check for redundant uses of STAT and ERRMSG. Reword error message
87 and add checking for pointer, allocatable, and proc_pointer attributes.
88
71a7778c
PT
892009-03-30 Paul Thomas <pault@gcc.gnu.org>
90
91 PR fortran/22571
92 PR fortran/26227
93 PR fortran/24886
94 * symbol.c : Add gfc_global_ns_list.
95 * decl.c (add_global_entry): Set the namespace ('ns') field.
96 * gfortran.h : Add the resolved field to gfc_namespace. Add the
97 namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to
98 gfc_option_t. Add the prototype for gfc_free_dt_list.
99 * lang.opt : Add the whole-file option.
100 * invoke.texi : Document the whole-file option.
101 * resolve.c (resolve_global_procedure): If the fwhole-file
102 option is set, reorder gsymbols to ensure that translation is
103 in the right order. Resolve the gsymbol's namespace if that
104 has not occurred and then check interfaces.
105 (resolve_function): Move call to resolve_global_procedure.
106 (resolve_call): The same.
107 (resolve_codes): Store the current labels_obstack.
108 (gfc_resolve) : Return if the namespace is already resolved.
109 trans-decl.c (gfc_get_extern_function_decl): If the whole_file
110 option is selected, use the backend_decl of a gsymbol, if it is
111 available.
112 parse.c (add_global_procedure, add_global_program): If the flag
113 whole-file is set, add the namespace to the gsymbol.
114 (gfc_parse_file): On -fwhole-file, put procedure namespaces on
115 the global namespace list. Rearrange to do resolution of all
116 the procedures in a file, followed by their translation.
117 * options.c (gfc_init_options): Add -fwhole-file.
118 (gfc_handle_option): The same.
119
f6d53468
UW
1202009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
121
122 * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL
123 family of intrinsics instead of BUILT_IN_INF family.
124 * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use
125 BUILT_IN_HUGE_VAL instead of BUILT_IN_INF.
126
665733c1
JJ
1272009-03-30 Jakub Jelinek <jakub@redhat.com>
128
129 * trans-types.c (gfc_sym_type, gfc_return_by_reference): For
130 sym->attr.result check sym->ns->proc_name->attr.is_bind_c.
131
8ce94e44
JM
1322009-03-30 Joseph Myers <joseph@codesourcery.com>
133
134 PR rtl-optimization/323
135 * options.c (gfc_post_options): Set
136 flag_excess_precision_cmdline. Give an error for
137 -fexcess-precision=standard for processors where the option is
138 significant.
139
148e4216
JM
1402009-03-29 Joseph Myers <joseph@codesourcery.com>
141
142 PR preprocessor/34695
143 * cpp.c (cb_cpp_error): New.
144 (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings.
145 Don't check cpp_errors (cpp_in).
146 (gfc_cpp_init_0): Set cb->error.
147
6bb62671
SK
1482009-03-29 Steven G. Kargl <kargl@gcc.gnu.org>
149
150 PR fortran/38823
151 * gfortran.h: Add ARITH_PROHIBIT to arith enum.
152 expr.c (gfc_match_init_expr): Add global variable init_flag to
153 flag matching an initialization expression.
154 (check_intrinsic_op): Move no longer reachable error message to ...
155 * arith.c (arith_power): ... here. Remove gfc_ prefix in
156 gfc_arith_power. Use init_flag. Allow constant folding of x**y
157 when y is REAL or COMPLEX.
158 (eval_intrinsic): Remove restriction that y in x**y must be INTEGER
159 for constant folding.
160 * gfc_power: Update gfc_arith_power to arith_power
161
b0e5fa94
DK
1622009-03-29 Daniel Kraft <d@domob.eu>
163
164 PR fortran/37423
165 * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and
166 added a comment explaining DEFERRED binding handling.
167 * decl.c (match_binding_attributes): Really match DEFERRED attribute.
168 (match_procedure_in_type): Really match PROCEDURE(interface) syntax
169 and do some validity checks for DEFERRED and this construct.
170 * module.c (binding_overriding): New string constant for DEFERRED.
171 (mio_typebound_proc): Module-IO DEFERRED flag.
172 * resolve.c (check_typebound_override): Ensure that a non-DEFERRED
173 binding is not overridden by a DEFERRED one.
174 (resolve_typebound_procedure): Allow abstract interfaces as targets
175 for DEFERRED bindings.
176 (ensure_not_abstract_walker), (ensure_not_abstract): New methods.
177 (resolve_fl_derived): Use new `ensure_not_abstract' method for
178 non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED
179 binding is overridden.
180 (check_typebound_baseobject): New method.
181 (resolve_compcall), (resolve_typebound_call): Check base-object of
182 the type-bound procedure call.
183 * gfc-internals.texi (Type-bound procedures): Document a little bit
184 about internal handling of DEFERRED bindings.
185
d80c695f
TS
186