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