]>
Commit | Line | Data |
---|---|---|
ad41bd84 JM |
1 | 2009-04-21 Joseph Myers <joseph@codesourcery.com> |
2 | ||
3 | * ChangeLog, ChangeLog-2002, ChangeLog-2003, ChangeLog-2004, | |
4 | ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, ChangeLog-2008, | |
5 | ChangeLog.ptr, config-lang.in, ioparm.def, mathbuiltins.def: Add | |
6 | copyright and license notices. | |
7 | * ChangeLog, ChangeLog-2005, ChangeLog-2006, ChangeLog-2007, | |
8 | ChangeLog-2008: Correct dates. | |
9 | ||
47b0b4fa TB |
10 | 2009-04-20 Tobias Burnus <burnus@net-b.de> |
11 | ||
12 | PR fortran/39811 | |
13 | * scanner.c (load_line): Fix bogus "&" compile-time diagnostic. | |
14 | ||
c867b7b6 PT |
15 | 2009-04-20 Paul Thomas <pault@gcc.gnu.org> |
16 | ||
17 | PR fortran/39800 | |
18 | * resolve.c (is_sym_host_assoc): New function. | |
19 | (resolve_fl_derived): Call it when checking PRIVATE components | |
20 | of PUBLIC derived types. Change gfc_error to a gfc_notify_std | |
21 | with std=f2003. | |
22 | (resolve_fl_namelist): Call it twice to check for host | |
23 | association. | |
24 | ||
8fa2df72 ILT |
25 | 2009-04-20 Ian Lance Taylor <iant@google.com> |
26 | ||
27 | * module.c (import_iso_c_binding_module): Add casts to enum type. | |
28 | * trans-intrinsic.c (gfc_conv_intrinsic_minmax): Change op to enum | |
29 | tree_code. | |
30 | (gfc_conv_intrinsic_anyall): Likewise. | |
31 | (gfc_conv_intrinsic_arith): Likewise. | |
32 | (gfc_conv_intrinsic_minmaxloc): Likewise. | |
33 | (gfc_conv_intrinsic_minmaxval): Likewise. | |
34 | (gfc_conv_intrinsic_bitop): Likewise. | |
35 | (gfc_conv_intrinsic_singlebitop): Likewise. | |
36 | (gfc_conv_intrinsic_strcmp): Likewise. | |
37 | ||
34d01e1d VL |
38 | 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com> |
39 | Jakub Jelinek <jakub@redhat.com> | |
40 | ||
41 | PR fortran/35423 | |
42 | * trans.h (OMPWS_WORKSHARE_FLAG, OMPWS_CURR_SINGLEUNIT, | |
43 | OMPWS_SCALARIZER_WS, OMPWS_NOWAIT): Define. | |
44 | (ompws_flags): New extern decl. | |
45 | * trans-array.c (gfc_trans_scalarized_loop_end): Build OMP_FOR | |
46 | for the outer dimension if ompws_flags allow it. | |
47 | * trans.c (gfc_generate_code): Clear ompws_flags. | |
48 | * trans-expr.c (gfc_trans_assignment_1): Allow worksharing | |
49 | array assignments inside of !$omp workshare. | |
50 | * trans-stmt.c (gfc_trans_where_3): Similarly for where statements | |
51 | and constructs. | |
52 | * trans-openmp.c (ompws_flags): New variable. | |
53 | (gfc_trans_omp_workshare): Rewritten. | |
54 | ||
cadb8f42 DK |
55 | 2009-04-11 Daniel Kraft <d@domob.eu> |
56 | ||
57 | PR fortran/37746 | |
58 | * gfortran.h (struct gfc_charlen): New field `passed_length' to store | |
59 | the actual passed string length for dummy arguments. | |
60 | * trans-decl.c (gfc_create_string_length): Formatting fixes and added | |
61 | assertion, moved a local variable into the innermost block it is needed. | |
62 | (create_function_arglist): Removed TODO about the check being | |
63 | implemented and initialize cl->passed_length here. | |
64 | (add_argument_checking): New method. | |
65 | (gfc_generate_function_code): Call the argument checking method. | |
66 | ||
d1e49db4 JW |
67 | 2009-04-11 Janus Weil <janus@gcc.gnu.org> |
68 | ||
69 | PR fortran/39692 | |
70 | * symbol.c (check_conflict): Reject procedure pointers for -std=f95. | |
71 | ||
72 | 2009-04-11 Daniel Franke <franke.daniel@gmail.com> | |
568eecad DF |
73 | |
74 | * resolve.c (resolve_global_procedure): Enable whole-file checking for | |
75 | procedures that are declared later in the file. | |
76 | ||
a862775d PB |
77 | 2009-04-10 Paolo Bonzini <bonzini@gnu.org> |
78 | ||
79 | PR middle-end/39701 | |
80 | * trans.c (gfc_allocate_with_status): Fix type mismatches | |
81 | on "pstat == 0". | |
82 | ||
045ac367 DF |
83 | 2009-04-10 Daniel Franke <franke.daniel@gmail.com> |
84 | ||
85 | PR fortran/38709 | |
86 | * expr.c (find_array_section): Leave early on zero-sized arrays. | |
87 | ||
3070bab4 JW |
88 | 2009-04-09 Janus Weil <janus@gcc.gnu.org> |
89 | ||
90 | PR fortran/36704 | |
91 | * decl.c (add_hidden_procptr_result): New function for handling | |
92 | procedure pointer return values by adding a hidden result variable. | |
93 | (variable_decl,match_procedure_decl,gfc_match_function_decl, | |
94 | gfc_match_subroutine,gfc_match_end,attr_decl1): Handle procedure pointer | |
95 | return values. | |
96 | * parse.c (parse_interface): Add EXTERNAL attribute only after | |
97 | FUNCTION/SUBROUTINE declaration is complete. | |
98 | * primary.c (replace_hidden_procptr_result): New function for replacing | |
99 | function symbol by hidden result variable. | |
100 | (gfc_match_rvalue,match_variable): Replace symbol by hidden result | |
101 | variable. | |
102 | * resolve.c (resolve_contained_fntype,resolve_function,resolve_variable, | |
103 | resolve_symbol): Allow for procedure pointer function results. | |
104 | (resolve_fl_procedure): Conflict detection moved here from | |
105 | 'check_conflict'. | |
106 | * symbol.c (gfc_check_function_type): Allow for procedure pointer | |
107 | function results. | |
108 | (check_conflict): Move some conflict detection to resolution stage. | |
109 | * trans-types.c (gfc_sym_type,gfc_get_function_type): Handle hidden | |
110 | result variables. | |
111 | ||
dead0bae JJ |
112 | 2009-04-08 Jakub Jelinek <jakub@redhat.com> |
113 | ||
114 | * trans-types.c (gfc_init_types): Ensure gfc_integer_types doesn't | |
115 | contain TYPE_STRING_FLAG types. | |
116 | ||
cba2a54e JB |
117 | 2009-04-08 Janne Blomqvist <jb@gcc.gnu.org> |
118 | ||
119 | PR fortran/39670 | |
120 | * invoke.texi (fdollar-ok): Fix typo. | |
121 | ||
f4a55802 DF |
122 | 2009-04-08 Daniel Franke <franke.daniel@gmail.com> |
123 | ||
124 | PR fortran/39670 | |
125 | * invoke.texi (fdollar-ok): Clarify limitations. | |
126 | ||
bafc96b4 PT |
127 | 2009-04-08 Paul Thomas <pault@gcc.gnu.org> |
128 | ||
129 | PR fortran/38863 | |
130 | * trans-array.c (gfc_trans_deferred_array): Return if this | |
131 | is a result variable. | |
132 | ||
13d138bf JW |
133 | 2009-04-07 Janus Weil <janus@gcc.gnu.org> |
134 | ||
135 | PR fortran/38152 | |
136 | * trans-decl.c (gfc_get_symbol_decl): Correctly set decl location for | |
137 | procedure pointer decls. | |
138 | ||
3afadac3 JW |
139 | 2009-04-07 Janus Weil <janus@gcc.gnu.org> |
140 | ||
c22ba5ff | 141 | PR fortran/38290 |
3afadac3 JW |
142 | * expr.c (gfc_check_pointer_assign): Enable interface check for |
143 | procedure pointers. | |
144 | * gfortran.h: Add copy_formal_args_intr. | |
145 | * interface.c (gfc_compare_interfaces): Call gfc_compare_intr_interfaces | |
146 | if second argument is an intrinsic. | |
147 | (compare_intr_interfaces): Correctly set attr.function, attr.subroutine | |
148 | and ts. | |
149 | (compare_parameter): Call gfc_compare_interfaces also for intrinsics. | |
150 | * resolve.c (resolve_specific_f0,resolve_specific_s0): Don't resolve | |
151 | intrinsic interfaces here. Must happen earlier. | |
152 | (resolve_symbol): Resolution of intrinsic interfaces moved here from | |
153 | resolve_specific_..., and formal args are now copied from intrinsic | |
154 | interfaces. | |
155 | * symbol.c (copy_formal_args_intr): New function to copy the formal | |
156 | arguments from an intinsic procedure. | |
157 | ||
ea0a374b PT |
158 | 2009-04-06 Paul Thomas <pault@gcc.gnu.org> |
159 | ||
160 | PR fortran/38863 | |
161 | * dependency.c (ref_same_as_full_array): New function. | |
162 | (gfc_dep_resolver): Call it. | |
163 | ||
1d146030 JW |
164 | 2009-04-06 Janus Weil <janus@gcc.gnu.org> |
165 | ||
166 | PR fortran/39414 | |
167 | * decl.c (match_procedure_decl): Fix double declaration problems with | |
168 | PROCEDURE statements. | |
169 | * symbol.c (gfc_add_type): Ditto. | |
170 | ||
59e36b72 PT |
171 | 2009-04-06 Paul Thomas <pault@gcc.gnu.org> |
172 | ||
173 | PR fortran/36091 | |
174 | * trans-array.c (gfc_conv_array_ref): If the symbol has the | |
175 | temporary attribute use the array_spec for the bounds. | |
176 | * gfortran.h : Add the temporary field to the structure | |
177 | 'symbol_attribute'. | |
178 | * trans-stmt.c (forall_make_variable_temp): Set the symbol's | |
179 | temporary attribute. | |
180 | ||
beb64b4a DF |
181 | 2009-04-05 Daniel Franke <franke.daniel@gmail.com> |
182 | ||
183 | PR fortran/29458 | |
184 | * trans-array.c (gfc_trans_array_constructor_value): Shadow | |
185 | implied do-loop variable to avoid spurious middle-end warnings. | |
186 | ||
cf7d2eb0 TB |
187 | 2009-04-04 Tobias Burnus <burnus@net-b.de> |
188 | ||
189 | PR fortran/39577 | |
190 | * trans-decl.c (gfc_generate_function_code): Move recursive | |
191 | check to the right position. | |
192 | ||
6f85546f PT |
193 | 2009-04-04 Paul Thomas <pault@gcc.gnu.org> |
194 | ||
195 | PR fortran/37614 | |
196 | * trans-common.c (translate_common): Do not offset the whole | |
197 | coomon block. | |
198 | ||
6f9c9d6d TB |
199 | 2009-04-03 Tobias Burnus <burnus@net-b.de> |
200 | ||
201 | PR fortran/39594 | |
202 | * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol | |
203 | if it is not a procedure pointer. | |
204 | * primary.c (match_actual_arg): Ditto. | |
205 | ||
47580d22 JM |
206 | 2009-03-31 Joseph Myers <joseph@codesourcery.com> |
207 | ||
208 | PR preprocessor/15638 | |
209 | * cpp.c (cb_cpp_error): Handle CPP_DL_FATAL. | |
210 | ||
3759634f SK |
211 | 2009-03-30 Steven G. Kargl <kargls@comcast.net> |
212 | ||
213 | PR fortran/38389 | |
214 | * trans-stmt.c(gfc_trans_allocate): Add translation of ERRMSG. | |
215 | (gfc_trans_deallocate): Add translation of ERRMSG. Remove stale | |
216 | comments. Minor whitespace cleanup. | |
217 | * resolve.c(is_scalar_expr_ptr): Whitespace cleanup. | |
218 | (resolve_deallocate_expr (gfc_expr *e): Update error message. | |
219 | (resolve_allocate_expr): Remove dead code. Update error message. | |
220 | Move error checking to ... | |
221 | (resolve_allocate_deallocate): ... here. Add additional error | |
222 | checking for STAT, ERRMSG, and allocate-objects. | |
223 | * match.c(gfc_match_allocate,gfc_match_deallocate): Parse ERRMSG. | |
224 | Check for redundant uses of STAT and ERRMSG. Reword error message | |
225 | and add checking for pointer, allocatable, and proc_pointer attributes. | |
226 | ||
71a7778c PT |
227 | 2009-03-30 Paul Thomas <pault@gcc.gnu.org> |
228 | ||
229 | PR fortran/22571 | |
230 | PR fortran/26227 | |
231 | PR fortran/24886 | |
232 | * symbol.c : Add gfc_global_ns_list. | |
233 | * decl.c (add_global_entry): Set the namespace ('ns') field. | |
234 | * gfortran.h : Add the resolved field to gfc_namespace. Add the | |
235 | namespace ('ns') field to gfc_gsymbol. Add flag_whole_file to | |
236 | gfc_option_t. Add the prototype for gfc_free_dt_list. | |
237 | * lang.opt : Add the whole-file option. | |
238 | * invoke.texi : Document the whole-file option. | |
239 | * resolve.c (resolve_global_procedure): If the fwhole-file | |
240 | option is set, reorder gsymbols to ensure that translation is | |
241 | in the right order. Resolve the gsymbol's namespace if that | |
242 | has not occurred and then check interfaces. | |
243 | (resolve_function): Move call to resolve_global_procedure. | |
244 | (resolve_call): The same. | |
245 | (resolve_codes): Store the current labels_obstack. | |
246 | (gfc_resolve) : Return if the namespace is already resolved. | |
247 | trans-decl.c (gfc_get_extern_function_decl): If the whole_file | |
248 | option is selected, use the backend_decl of a gsymbol, if it is | |
249 | available. | |
250 | parse.c (add_global_procedure, add_global_program): If the flag | |
251 | whole-file is set, add the namespace to the gsymbol. | |
252 | (gfc_parse_file): On -fwhole-file, put procedure namespaces on | |
253 | the global namespace list. Rearrange to do resolution of all | |
254 | the procedures in a file, followed by their translation. | |
255 | * options.c (gfc_init_options): Add -fwhole-file. | |
256 | (gfc_handle_option): The same. | |
257 | ||
f6d53468 UW |
258 | 2009-03-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
259 | ||
260 | * f95-lang.c (gfc_init_builtin_functions): Define BUILT_IN_HUGE_VAL | |
261 | family of intrinsics instead of BUILT_IN_INF family. | |
262 | * trans-intrinsics.c (gfc_conv_intrinsic_nearest): Use | |
263 | BUILT_IN_HUGE_VAL instead of BUILT_IN_INF. | |
264 | ||
665733c1 JJ |
265 | 2009-03-30 Jakub Jelinek <jakub@redhat.com> |
266 | ||
267 | * trans-types.c (gfc_sym_type, gfc_return_by_reference): For | |
268 | sym->attr.result check sym->ns->proc_name->attr.is_bind_c. | |
269 | ||
8ce94e44 JM |
270 | 2009-03-30 Joseph Myers <joseph@codesourcery.com> |
271 | ||
272 | PR rtl-optimization/323 | |
273 | * options.c (gfc_post_options): Set | |
274 | flag_excess_precision_cmdline. Give an error for | |
275 | -fexcess-precision=standard for processors where the option is | |
276 | significant. | |
277 | ||
148e4216 JM |
278 | 2009-03-29 Joseph Myers <joseph@codesourcery.com> |
279 | ||
280 | PR preprocessor/34695 | |
281 | * cpp.c (cb_cpp_error): New. | |
282 | (gfc_cpp_post_options): Don't set cpp_option->inhibit_warnings. | |
283 | Don't check cpp_errors (cpp_in). | |
284 | (gfc_cpp_init_0): Set cb->error. | |
285 | ||
6bb62671 SK |
286 | 2009-03-29 Steven G. Kargl <kargl@gcc.gnu.org> |
287 | ||
288 | PR fortran/38823 | |
289 | * gfortran.h: Add ARITH_PROHIBIT to arith enum. | |
290 | expr.c (gfc_match_init_expr): Add global variable init_flag to | |
291 | flag matching an initialization expression. | |
292 | (check_intrinsic_op): Move no longer reachable error message to ... | |
293 | * arith.c (arith_power): ... here. Remove gfc_ prefix in | |
294 | gfc_arith_power. Use init_flag. Allow constant folding of x**y | |
295 | when y is REAL or COMPLEX. | |
296 | (eval_intrinsic): Remove restriction that y in x**y must be INTEGER | |
297 | for constant folding. | |
298 | * gfc_power: Update gfc_arith_power to arith_power | |
299 | ||
b0e5fa94 DK |
300 | 2009-03-29 Daniel Kraft <d@domob.eu> |
301 | ||
302 | PR fortran/37423 | |
303 | * gfortran.h (struct gfc_typebound_proc): Added new flag `deferred' and | |
304 | added a comment explaining DEFERRED binding handling. | |
305 | * decl.c (match_binding_attributes): Really match DEFERRED attribute. | |
306 | (match_procedure_in_type): Really match PROCEDURE(interface) syntax | |
307 | and do some validity checks for DEFERRED and this construct. | |
308 | * module.c (binding_overriding): New string constant for DEFERRED. | |
309 | (mio_typebound_proc): Module-IO DEFERRED flag. | |
310 | * resolve.c (check_typebound_override): Ensure that a non-DEFERRED | |
311 | binding is not overridden by a DEFERRED one. | |
312 | (resolve_typebound_procedure): Allow abstract interfaces as targets | |
313 | for DEFERRED bindings. | |
314 | (ensure_not_abstract_walker), (ensure_not_abstract): New methods. | |
315 | (resolve_fl_derived): Use new `ensure_not_abstract' method for | |
316 | non-ABSTRACT types extending ABSTRACT ones to ensure each DEFERRED | |
317 | binding is overridden. | |
318 | (check_typebound_baseobject): New method. | |
319 | (resolve_compcall), (resolve_typebound_call): Check base-object of | |
320 | the type-bound procedure call. | |
321 | * gfc-internals.texi (Type-bound procedures): Document a little bit | |
322 | about internal handling of DEFERRED bindings. | |
323 | ||
ad41bd84 | 324 |