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